@charset "utf-8";

html {
	font-size: 62.5%;
}

body,
input,
select,
textarea {
	font-family: "swis721", "nsans";
	color: #333;
	font-size: 1.6rem;
	line-height: 1.75;
}
@media (max-width: 991px) {
	body,
	input,
	select,
	textarea {
		font-size: 1.6rem;
		line-height: 1.5;
	}
}

body {
	min-width: 100%;
	background: #fff;
}

body a,
body a:hover {
	text-decoration: none;
	color: #0779bf;
}
body a:hover img,
body a:active img,
body a:focus img {
	opacity: 0.75;
}
body a,
body a:hover,
body a:active,
body a:focus {
	outline: 0;
}

.anchor-point {
	margin-top: -80px;
	padding-top: 80px;
}
@media (max-width: 991px) {
	.anchor-point {
		margin-top: -50px;
		padding-top: 50px;
	}
}

.lead {
	font-size: 24px;
	margin: 75px 0;
}
@media (max-width: 991px) {
	.lead {
		font-size: 16px;
		line-height: 1.5;
		margin: 30px 0;
	}
}

.lead:first-child {
	margin-top: 0;
}

/* #wrapper */
#wrapper {
	overflow: hidden;
	position: relative;
}
@media (max-width: 991px) {
	#wrapper {
		padding: 0px 0 38px;
	}
}

.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

#outer {
	padding-top: 100lvh;
}
/* section */
section {
	background-color: #fff;
	padding: 75px 0;
}
@media (max-width: 991px) {
	section {
		padding: 45px 0;
	}
}

.bg-gray {
	background: #f9f9f9;
	width: 100%;
}
.bg-d_gray {
	background: #434345;
	color: #fff;
	width: 100%;
}
.bg-black {
	background: #000;
	color: #fff;
	width: 100%;
}

/* phone,fax */
[class*="phone-"] {
	line-height: 0.9;
	font-weight: 700;
}
[class*="phone-"] svg {
	margin-right: 0.33em;
	line-height: 1;
	vertical-align: -10%;
	font-family: "Font Awesome\ 5 Pro";
}
[class*="phone-"] small {
	font-size: 0.75em;
	font-weight: 700;
}
.phone-footer small {
	font-weight: 700;
}

.phone-slash {
	display: inline-block;
	width: 1.5em;
	text-align: center;
}
@media (max-width: 991px) {
	.phone-slash {
		display: block;
		height: 5px;
		color: transparent;
	}
}

.phone-large {
	font-size: 42px;
	line-height: 1;
}
@media (max-width: 991px) {
	.phone-large {
		font-size: 27px;
	}
}

.phone-medium {
	font-size: 24px;
}
@media (max-width: 991px) {
	.phone-medium {
		font-size: 18px;
	}
}
@media (max-width: 575px) {
	.phone-medium {
		font-size: 17px;
	}
}

/* table */
table {
	border-spacing: 0;
	border-collapse: separate;
	width: 100%;
}

th,
td {
	line-height: 1.5;
	padding: 14px;
}
@media (max-width: 991px) {
	th,
	td {
		padding: 9px;
	}
}

th {
	white-space: nowrap;
}
td {
}

/* common table 1 */

.common-tb {
	width: 100%;
	margin: 0 auto;
}

.common-tb th {
	width: 30%;
}
.common-tb td {
	background: #fff;
}

.common-tb th,
.common-tb td {
	border-bottom: 1px solid #ddd;
}
@media (max-width: 991px) {
	.common-tb th,
	.common-tb td {
		display: block;
		width: auto !important;
	}
	.common-tb th {
		background: #efefef;
	}
}

.common-tb td a img {
	vertical-align: middle;
}

.common-tb td hr {
	margin: 9px 0;
}

.common-tb.prf th {
	width: 11em;
}
.common-tb.frm th {
	width: 13em;
}

.common-tb2 {
	width: 100%;
	margin: 0 auto;
}

.common-tb2 th {
	width: 40%;
}
.common-tb2 td {
	background: #fff;
}

.common-tb2 th,
.common-tb2 td {
	border-bottom: 1px solid #ddd;
}
@media (max-width: 991px) {
	.common-tb2 th,
	.common-tb2 td {
		display: block;
		width: auto !important;
	}
}

.common-tb2 td a img {
	vertical-align: middle;
}

.common-tb2 td hr {
	margin: 9px 0;
}

.common-tb2.prf th {
	width: 11em;
}
.common-tb2.frm th {
	width: 16em;
}

.common-tb3 {
	width: 100%;
	margin: 0 auto;
	border-top: 1px solid #ddd;
	border-left: 1px solid #ddd;
}

.common-tb3 th {
	width: 30%;
}
.common-tb3 td {
	background: #fff;
}

.common-tb3 th,
.common-tb3 td {
	border-bottom: 1px solid #ddd;
	border-right: 1px solid #ddd;
}

.common-tb3 td a img {
	vertical-align: middle;
}

.common-tb3 td hr {
	margin: 9px 0;
}

.common-tb3.prf th {
	width: 11em;
}
.common-tb3.frm th {
	width: 13em;
}

#pagetop {
	background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD8AAAA/CAYAAABXXxDfAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAmhJREFUeNrk2jtLA0EQwPHNCDZqoZZiMCApVEQRBDEoARUESwsLv4KlphILG8XaShAsLHx1gmAXiAha2IugtRANmDQRwdnISYh53GNnZ3ddGC4hhMvv39xd7mKrS2nBuOZxbnGKHDsHRvgyziXOFU7nf8JL+DFOO06KKwAww73FEgAMgLMFAEPgLAHAILj2AGAYXGsAMBCuLQAYCtcSAAyGkwcAw+GkAcACOFkAsAROEgAsgisPAJbBlQYAC+HKAoClcCUBwGJ45ABgOTxSAHAAHjoAOAIPFQAcggcOAI7BAwUATnhiMCnWMluio7OLJQBwwjPbe2IyNVvZcgQATrgHrn2vKwBwwkvFD3FydMAWoG00mWCD726ui7tcVhTe82J8ckp09/SK4bEJcXeTFZ/lsurdx3FmcM5wyrV47fDnp8fKZy+45Qjg4dng3uIIIPHyNvEFJ5wpwLTEv+KLOZx+CvzO/qEveKMA8rsP97eqf9YXzobEy6wnOGmKAKVSUSSHRnzBawP0xQfEKR4NCm951fAVnPNY1ZMZ8jBwjTMl3F2/8NrjvHw0ZEH8PCbiPLzeSY6rAf7AG53huRagLrzZub0rARrCW13V2R6gKdzP9bytAVrC/f6TY1sAX3C/eJsC+IYHwdsQIBA8KN7kAIHhYfAmBggFD4s3KUBoeBS8CQEiwaPiOQNEhqvAcwRQAleFrw6QswWuEu8FWCQMoBSuGk8ZQDmcAk8RgAROhVcZgAxOiVcRgBROjY8SgByuAx8mgBa4LnyQANrgOvF+AmiF68Y3C6AdzoGvF4AFzoWvDpDlgsv1LcAAux9G6JakA2YAAAAASUVORK5CYII=) center center / contain no-repeat;
	background: url(../images/common/pagetop.png) center center no-repeat;
	width: 60px;
	height: 60px;
	position: fixed;
	right: 20px;
	bottom: 20px;
	cursor: default;
	z-index: 999;
	opacity: 0;
	transition: 0.6s;
}
@media (max-width: 991px) {
	#pagetop {
		bottom: 50px;
	}
}

#pagetop.is-active {
	opacity: 1;
	transition: 0.6s;
	cursor: pointer;
}

/* order */
@media (max-width: 991px) {
	#footer .row [class*="col-"]:nth-of-type(1) {
		order: 1;
	}
	#footer .row [class*="col-"]:nth-of-type(2) {
		order: 3;
	}
	#footer .row [class*="col-"]:nth-of-type(3) {
		order: 2;
	}
}

/* btn- */

/* size */

.btn,
a.btn:hover,
a.btn:active,
a.btn:focus {
	font-size: 14px;
	line-height: 18px;
	padding: 5px 15px;
	border: none;
	text-decoration: none !important;
	border-radius: 4px;
	margin: 0 auto;
	font-weight: 700;
	text-shadow: none;
}
@media (max-width: 991px) {
	.btn,
	a.btn:hover,
	a.btn:active,
	a.btn:focus {
		font-size: 14px;
		padding: 5px;
	}
}

.btn-lg,
a.btn-lg:hover,
a.btn-lg:active,
a.btn-lg:focus {
	font-size: 21px;
	line-height: 27px;
	padding: 15px 15px;
}
@media (max-width: 991px) {
	.btn-lg,
	a.btn-lg:hover,
	a.btn-lg:active,
	a.btn-lg:focus {
		font-size: 16px;
		line-height: 27px;
		padding: 5px;
	}
}

.btn-sm,
a.btn-sm:hover,
a.btn-sm:active,
a.btn-sm:focus {
	font-size: 14px;
	line-height: 16px;
	padding: 14px 14px;
}
@media (max-width: 991px) {
	[class*="btn-"].btn-sm,
	a[class*="btn-"].btn-sm:hover,
	a[class*="btn-"].btn-sm:active,
	a[class*="btn-"].btn-lg:focus {
		padding: 5px;
	}
}

.btn-xs,
a.btn-xs:hover,
a.btn-xs:active,
a.btn-xs:focus {
	font-size: 14px;
	line-height: 16px;
	padding: 4px 14px;
}
@media (max-width: 991px) {
	[class*="btn-"].btn-sm,
	a[class*="btn-"].btn-sm:hover,
	a[class*="btn-"].btn-sm:active,
	a[class*="btn-"].btn-lg:focus {
		padding: 5px;
	}
}

a[class*="btn-"]:hover,
a[class*="btn-"]:active,
a[class*="btn-"]:focus {
	opacity: 0.75;
	outline: 0;
}
button[class*="btn-"]:hover,
button[class*="btn-"]:active,
button[class*="btn-"]:focus {
	opacity: 0.75;
	outline: 0;
}
span.btn:not(:disabled):not(.disabled) {
	cursor: default;
}

/*[class*="btn-"]:before,[class*="btn-"]:after{font-family: 'Font Awesome\ 5 Pro';width: 1em;display: inline-block;}*/

.btn-solid,
.btn-solid:hover,
.btn-solid:active,
.btn-solid:focus {
	background: #fff;
	color: #861e4b;
	border: 1px solid #861e4b !important;
}
.btn-flat,
a.btn-flat:hover,
a.btn-flat:active,
a.btn-flat:focus {
	background: #0779bf;
	color: #fff;
	border: 1px solid #0779bf;
	position: relative;
	font-size: 16px;
	line-height: 20px;
	padding: 15px 30px;
	min-width: 200px;
}
@media (max-width: 991px) {
	.btn-flat,
	a.btn-flat:hover,
	a.btn-flat:active,
	a.btn-flat:focus {
		line-height: 20px;
		padding: 10px 5px;
	}
}

.btn-service,
a.btn-service:hover,
a.btn-service:active,
a.btn-service:focus {
	background: #0779bf !important;
	color: #fff !important;
	border: 1px solid #0779bf !important;
	position: relative;
	font-size: 24px;
	line-height: 40px;
	padding: 10px 15px;
	max-width: 250px;
	margin: 0 auto;
	border-radius: 30px;
}

.btn-service:before,
.btn-service:after {
	content: "";
	width: 6px;
	height: 6px;
	position: absolute;
	top: 50%;
	bottom: 50%;
}

.btn-service:before {
	background: #fff;
	left: -1px;
	margin: -3px 0;
	display: block;
}
.btn-service:after {
	border-width: 6px;
	border-style: solid;
	border-color: transparent transparent transparent #fff;
	left: 5px;
	margin: -6px 0;
	display: block;
}

.btn-more,
a.btn-more:hover,
a.btn-more:active,
a.btn-more:focus {
	background: #333 !important;
	color: #fff !important;
	border: 1px solid #333 !important;
	position: relative;
	font-size: 16px;
	line-height: 20px;
	padding: 10px 15px;
	max-width: 250px;
	margin: 0 auto;
	border-radius: 30px;
	min-width: 200px;
}

.btn-more:before,
.btn-more:after {
	content: "";
	width: 6px;
	height: 6px;
	position: absolute;
	top: 50%;
	bottom: 50%;
}

.btn-more:before {
	background: #fff;
	left: -1px;
	margin: -3px 0;
	display: block;
}
.btn-more:after {
	border-width: 6px;
	border-style: solid;
	border-color: transparent transparent transparent #fff;
	left: 5px;
	margin: -6px 0;
	display: block;
}

.btn-square,
a.btn-square:hover,
a.btn-square:active,
a.btn-square:focus {
	border-radius: 0;
}

.btn-mini,
a.btn-mini:hover,
a.btn-mini:active,
a.btn-mini:focus {
	background: #666 !important;
	color: #fff !important;
	border: 1px solid #666 !important;
	position: relative;
	min-width: 180px;
	font-size: 16px;
	line-height: 20px;
	padding: 11px 15px 9px;
}

.btn-light,
a.btn-light:hover,
a.btn-light:active,
a.btn-light:focus {
	background: #0093d3 !important;
	color: #fff !important;
	border: 1px solid #0093d3 !important;
	position: relative;
	min-width: 180px;
	font-size: 16px;
	line-height: 20px;
	padding: 11px 15px 9px;
}

.btn-standard,
a.btn-standard:hover,
a.btn-standard:active,
a.btn-standard:focus {
	background: #f4e603 !important;
	color: #fff !important;
	border: 1px solid #f4e603 !important;
	position: relative;
	min-width: 180px;
	font-size: 16px;
	line-height: 20px;
	padding: 11px 15px 9px;
}

.btn-advance,
a.btn-advance:hover,
a.btn-advance:active,
a.btn-advance:focus {
	background: #cc006b !important;
	color: #fff !important;
	border: 1px solid #cc006b !important;
	position: relative;
	min-width: 180px;
	font-size: 16px;
	line-height: 20px;
	padding: 11px 15px 9px;
}

.btn-mini:before,
.btn-light:before,
.btn-standard:before,
.btn-advance:before {
	content: "";
	width: 6px;
	height: 6px;
	background: #fff;
	position: absolute;
	top: 50%;
	left: -1px;
	bottom: 50%;
	margin: -3px 0;
	display: block;
}
.btn-mini:after,
.btn-light:after,
.btn-standard:after,
.btn-advance:after {
	content: "";
	width: 6px;
	height: 6px;
	border-width: 6px;
	border-style: solid;
	border-color: transparent transparent transparent #fff;
	position: absolute;
	top: 50%;
	left: 5px;
	bottom: 50%;
	margin: -6px 0;
	display: block;
}

.btn-arrow {
	color: #000;
	background: #fff;
	padding: 20px 40px 20px 15px;
	font-weight: 700;
	transition: 0.6s;
	position: relative;
	max-width: 360px;
	border-radius: 0px;
	border: 1px solid #000;
	font-size: 16px;
}
a.btn-arrow:hover,
a.btn-arrow:active,
a.btn-arrow:focus {
	color: #fff;
	background: #000;
	padding: 20px 40px 20px 15px;
	transition: 0.6s;
	border-radius: 0px;
	border: 1px solid #000;
	font-size: 16px;
	opacity: 1;
}
.btn-arrow:after {
	font-family: "Font Awesome\ 5 Pro";
	margin-left: 1.5em;
	color: #000;
	content: "\f061";
	position: absolute;
	transition: 0.6s;
	right: 15px;
}
.btn-arrow:hover:after {
	font-family: "Font Awesome\ 5 Pro";
	margin-left: 2.2em;
	color: #fff;
	content: "\f061";
	position: absolute;
	transition: 0.6s;
	right: 10px;
}

.inner.blue .btn-arrow {
	color: #000;
	background: #fff;
	font-weight: 700;
	transition: 0.6s;
	position: relative;
	max-width: 360px;
	border-radius: 0px;
	border: 1px solid #000;
}

.inner.blue a.btn-arrow:hover,
.inner.blue a.btn-arrow:active,
.inner.blue a.btn-arrow:focus {
	color: #fff;
	background: #333;
	transition: 0.6s;
	border-radius: 0px;
	border: 1px solid #333;
}

.btn-envelope,
a.btn-envelope:hover,
a.btn-envelope:active,
a.btn-envelope:focus {
	color: #fff;
	background: #0779bf;
	padding: 15px 20px;
	border-radius: 0;
	font-size: 24px;
	line-height: 28px;
	width: 100%;
	max-width: 470px;
	font-weight: normal;
	text-align: center;
}
@media (max-width: 991px) {
	.btn-envelope,
	a.btn-envelope:hover,
	a.btn-envelope:active,
	a.btn-envelope:focus {
		font-size: 16px;
		line-height: 18px;
		padding: 10px 5px;
	}
}

.btn-envelope:before {
	content: "";
	width: 40px;
	background: url(../images/common/btn-envelope.png) left center no-repeat;
	display: inline-block;
	height: 28px;
	vertical-align: middle;
	text-align: left;
}
@media (max-width: 991px) {
	.btn-envelope:before {
		width: 25px;
		background-size: 20px;
	}
}

.btn-map,
a.btn-map:hover,
a.btn-map:active,
a.btn-map:focus {
	padding: 2px 5px;
	background: #c03;
	color: #fff;
}

.btn-xl {
	height: 120px;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1;
	font-size: 27px;
}
.btn-xl:hover {
	height: 120px;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1 !important;
	font-size: 27px !important;
}
@media (max-width: 991px) {
	.btn-xl,
	.btn-xl:hover {
		font-size: 16px !important;
		height: auto;
		padding: 30px 15px !important;
	}
}

.btn-xl i.fa {
	margin-right: 0.33em;
}

.btn-xl small {
	display: block;
	font-size: 15px;
	margin-top: 15px;
}
@media (max-width: 991px) {
	.btn-xl small {
		font-size: 12px;
		margin-top: 12px;
	}
}

.btn-footer-mail,
a.btn-footer-mail:hover,
a.btn-footer-mail:active,
a.btn-footer-mail:focus {
	border: 1px solid #fff;
	background-color: #fff;
	color: #0779bf !important;
	position: relative;
	transition: border 0.3s, color 0.3s;
	overflow: hidden;
}

a.btn-footer-mail:hover {
	color: #fff !important;
	transition: border 0.3s, color 0.3s;
	opacity: 1;
}

.btn-footer-mail span {
	display: block;
	position: relative;
	z-index: 9;
}

.btn-footer-mail:before,
a.btn-footer-mail:hover:before,
a.btn-footer-mail:active:before,
a.btn-footer-mail:focus:before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	background-color: #0779bf;
	transform: translateX(-100%);
	transition: transform 0.3s;
}

a.btn-footer-mail:hover:before,
a.btn-footer-mail:active:before,
a.btn-footer-mail:focus:before {
	transform: translateX(0);
	transition: transform 0.3s;
}

/* .box */
.box,
.box-narrow,
.box-thin {
	background: #fff;
	display: block;
	width: 100%;
	position: relative;
	border: 1px solid #ddd;
}
a.box:hover,
a.box:focus,
a.box:active {
	opacity: 0.75;
}

.bg-ivory .box {
	background: #fff;
}

.box {
	padding: 29px;
}
@media (max-width: 1199px) {
	.box {
		padding: 24px;
	}
}
@media (max-width: 991px) {
	.box {
		padding: 14px;
	}
}

.box-narrow {
	padding: 19px;
}
@media (max-width: 991px) {
	.box-narrow {
		padding: 14px;
	}
}

.box-thin {
	padding: 14px;
}
@media (max-width: 991px) {
	.box-thin {
		padding: 9px;
	}
}

.box p.kome {
	color: #e60012;
}
.box p.kome:before {
	color: #e60012;
}

.contact-tit-box {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 30px;
	background: #0779bf;
	text-align: center;
	color: #fff;
	margin: -28px -28px 34px;
	padding: 23px 33px;
}
@media (max-width: 991px) {
	.contact-tit-box {
		font-size: 18px;
		font-weight: 700;
		margin-bottom: 30px;
		background: #0779bf;
		text-align: center;
		color: #fff;
		margin: -13px -13px 20px;
		padding: 23px 33px;
	}
}

.tit-box {
	text-align: center;
	background: #efefef;
	color: #000;
	line-height: 20px;
}
@media (max-width: 991px) {
	.tit-box {
	}
}
@media (max-width: 575px) {
	.tit-box {
		line-height: 1.25;
	}
}

h2.tit-box,
h3.tit-box {
	font-weight: normal;
	font-family: "amiri", "nserif", sans-serif;
	letter-spacing: 0;
	text-indent: 0;
}

.tit-box span {
	transform: rotate(0.001deg);
	font-family: "mplus", sans-serif;
}

.tit-box small {
	text-align: center;
	font-size: 14px;
	display: block;
	margin-top: 10px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-indent: 0.1em;
}
@media (max-width: 991px) {
	.tit-box small {
		font-size: 12px;
		margin-bottom: 5px;
	}
}

.tit-box .text-left {
	display: block;
	padding: 0 20px;
}
@media (max-width: 991px) {
	.tit-box .text-left {
		padding: 0 10px;
	}
}

.tit-box-sub {
	font-weight: 700;
	border-left: 4px solid #ff9700;
	line-height: 1.25;
	font-size: 16px;
	margin: 20px 0 10px;
	padding-left: 8px;
}
@media (max-width: 991px) {
	.tit-box-sub {
		font-size: 16px;
		margin: 20px 0 10px;
		padding-left: 8px;
	}
}

.box .tit-box {
	margin: -28px -28px 29px;
	padding: 19px 29px;
	font-size: 21px;
}
@media (max-width: 1199px) {
	.box .tit-box {
		margin: -23px -23px 23px;
		padding: 18px 23px;
	}
}
@media (max-width: 991px) {
	.box .tit-box {
		margin: -13px -13px 13px;
		padding: 13px;
		font-size: 16px;
	}
}

.box .tit-box-over {
	margin: -25px -25px 24px;
	padding: 15px 5px;
}
@media (max-width: 991px) {
	.box .tit-box-over {
		margin: -15px -15px 14px;
		padding: 15px 5px;
	}
}

.box-narrow .tit-box {
	margin: -18px -18px 19px;
	padding: 18px 5px;
	font-size: 21px;
}
@media (max-width: 991px) {
	.box-narrow .tit-box {
		margin: -13px -13px 14px;
		padding: 13px 5px;
		font-size: 15px;
	}
}

.box-narrow .tit-box-over {
	margin: -20px -20px 19px;
	padding: 15px 5px;
}
@media (max-width: 991px) {
	.box-narrow .tit-box-over {
		margin: -10px -10px 9px;
		padding: 10px 5px;
	}
}

.box-thin .tit-box {
	margin: -14px -14px 14px;
	padding: 9px 5px;
	font-size: 18px;
}
@media (max-width: 991px) {
	.box-thin .tit-box {
		margin: -9px -9px 9px;
		padding: 9px;
	}
}

.box-thin .tit-box-over {
	margin: -15px -15px 14px;
	padding: 15px 5px;
}
@media (max-width: 991px) {
	.box-thin .tit-box-over {
		margin: -5px -5px 4px;
		padding: 5px 5px;
	}
}

.box + .box {
	margin-top: 30px;
}
@media (max-width: 991px) {
	.box + .box {
		margin-top: 10px;
	}
}

.box-img img {
	width: 100%;
	height: auto;
}
.box-img-over img {
	width: 100%;
	height: auto;
}

.box .box-img {
	margin: -28px -28px 28px;
}
@media (max-width: 1199px) {
	.box .box-img {
		margin: -23px -23px 23px;
	}
}
@media (max-width: 991px) {
	.box .box-img {
		margin: -13px -13px 13px;
	}
}

.box .box-img:last-child {
	margin: -28px;
}
@media (max-width: 1199px) {
	.box .box-img:last-child {
		margin: -23px;
	}
}
@media (max-width: 991px) {
	.box .box-img:last-child {
		margin: -13px;
	}
}

.box .box-img-over {
	margin: -25px -25px 25px;
}
@media (max-width: 991px) {
	.box .box-img-over {
		margin: -15px -15px 15px;
	}
}

.box .box-img-over:last-child {
	margin: -25px;
}
@media (max-width: 991px) {
	.box .box-img-over:last-child {
		margin: -15px;
	}
}

.box-narrow .box-img {
	margin: -18px -18px 18px;
}
@media (max-width: 991px) {
	.box-narrow .box-img {
		margin: -13px -13px 13px;
	}
}

.box-narrow .box-img:last-child {
	margin: -18px;
}
@media (max-width: 991px) {
	.box-narrow .box-img:last-child {
		margin: -13px;
	}
}

.box-thin .box-img {
	margin: -15px -15px 15px;
}
@media (max-width: 991px) {
	.box-thin .box-img {
		margin: -9px -9px 9px;
	}
}

.box-thin .box-img:last-child {
	margin: -15px;
}
@media (max-width: 991px) {
	.box-thin .box-img:last-child {
		margin: -9px;
	}
}

.box hr,
.box-narrow hr,
.box-thin hr {
	margin: 14px 0;
}
@media (max-width: 991px) {
	.box hr,
	.box-narrow hr,
	.box-thin hr {
		margin: 14px 0;
	}
}

.box p,
.box-narrow p,
.box-thin p {
	line-height: 1.75;
}

.box-reverse {
	background: #f6f6f6;
}

.box .box-reverse {
	margin: 29px -29px;
	padding: 29px;
}
@media (max-width: 1199px) {
	.box .box-reverse {
		margin: 24px -24px;
		padding: 24px;
	}
}
@media (max-width: 991px) {
	.box .box-reverse {
		margin: 14px -14px;
		padding: 14px;
	}
}

.box .box-reverse:last-child {
	margin: 29px -29px -29px;
}
@media (max-width: 1199px) {
	.box .box-reverse:last-child {
		margin: 24px -24px -24px;
	}
}
@media (max-width: 991px) {
	.box .box-reverse:last-child {
		margin: 14px -14px -14px;
	}
}

.box-narrow .box-reverse {
	margin: 19px -19px;
	padding: 19px;
}
@media (max-width: 991px) {
	.box-narrow .box-reverse:last-child {
		margin: 14px -14px;
		padding: 14px;
	}
}

.box-narrow .box-reverse:last-child {
	margin: 19px -19px -19px;
}
@media (max-width: 991px) {
	.box-narrow .box-reverse:last-child {
		margin: 14px -14px -14px;
	}
}

.box-thin .box-reverse {
	margin: 14px -14px;
	padding: 14px;
}
@media (max-width: 991px) {
	.box-thin .box-reverse {
		margin: 9px -9px;
		padding: 9px;
	}
}

.box-thin .box-reverse:last-child {
	margin: 14px -14px -14px;
}
@media (max-width: 991px) {
	.box-thin .box-reverse:last-child {
		margin: 9px -9px -9px;
	}
}

.line-frame {
	background: #fff;
	border: 1px solid #ddd;
}

/* emif */
.er-lg-21by9:before {
	padding-top: 42.857143%;
}
.er-lg-16by9:before {
	padding-top: 56.25%;
}
.er-lg-4by3:before {
	padding-top: 75%;
}
.er-lg-3by2:before {
	padding-top: 66.6666666666%;
}
.er-lg-2by1:before {
	padding-top: 50%;
}
.er-lg-1by1:before {
	padding-top: 100%;
}
@media (max-width: 991px) {
	.er-21by9:before {
		padding-top: 42.857143%;
	}
	.er-16by9:before {
		padding-top: 56.25%;
	}
	.er-4by3:before {
		padding-top: 75%;
	}
	.er-3by2:before {
		padding-top: 66.6666666666%;
	}
	.er-2by1:before {
		padding-top: 50%;
	}
	.er-1by1:before {
		padding-top: 100%;
	}
}

/* margin / padding */
.mt-xxl- {
	margin-top: -75px !important;
}
@media (max-width: 991px) {
	.mt-xxl- {
		margin-top: -45px !important;
	}
}

.mt-xl- {
	margin-top: -45px !important;
}
@media (max-width: 991px) {
	.mt-xl- {
		margin-top: -30px !important;
	}
}

.mt-lg- {
	margin-top: -30px !important;
}
@media (max-width: 991px) {
	.mt-lg- {
		margin-top: -20px !important;
	}
}

.mt-md- {
	margin-top: -20px !important;
}
@media (max-width: 991px) {
	.mt-md- {
		margin-top: -15px !important;
	}
}

.mt-sm- {
	margin-top: -15px !important;
}
@media (max-width: 991px) {
	.mt-sm- {
		margin-top: -10px !important;
	}
}

.mt-xs- {
	margin-top: -10px !important;
}
@media (max-width: 991px) {
	.mt-xs- {
		margin-top: -5px !important;
	}
}

.mt0 {
	margin-top: 0 !important;
}

.mt-xxl {
	margin-top: 75px !important;
}
@media (max-width: 991px) {
	.mt-xxl {
		margin-top: 45px !important;
	}
}

.mt-xl {
	margin-top: 45px !important;
}
@media (max-width: 991px) {
	.mt-xl {
		margin-top: 30px !important;
	}
}

.mt-lg {
	margin-top: 30px !important;
}
@media (max-width: 991px) {
	.mt-lg {
		margin-top: 20px !important;
	}
}

.mt-md {
	margin-top: 20px !important;
}
@media (max-width: 991px) {
	.mt-md {
		margin-top: 15px !important;
	}
}

.mt-sm {
	margin-top: 15px !important;
}
@media (max-width: 991px) {
	.mt-sm {
		margin-top: 10px !important;
	}
}

.mt-xs {
	margin-top: 10px !important;
}
@media (max-width: 991px) {
	.mt-xs {
		margin-top: 5px !important;
	}
}

.mb-xxl- {
	margin-bottom: -75px !important;
}
@media (max-width: 991px) {
	.mb-xxl- {
		margin-bottom: -45px !important;
	}
}

.mb-xl- {
	margin-bottom: -45px !important;
}
@media (max-width: 991px) {
	.mb-xl- {
		margin-bottom: -30px !important;
	}
}

.mb-lg- {
	margin-bottom: -30px !important;
}
@media (max-width: 991px) {
	.mb-lg- {
		margin-bottom: -20px !important;
	}
}

.mb-md- {
	margin-bottom: -20px !important;
}
@media (max-width: 991px) {
	.mb-md- {
		margin-bottom: -15px !important;
	}
}

.mb-sm- {
	margin-bottom: -15px !important;
}
@media (max-width: 991px) {
	.mb-sm- {
		margin-bottom: -10px !important;
	}
}

.mb-xs- {
	margin-bottom: -10px !important;
}
@media (max-width: 991px) {
	.mb-xs- {
		margin-bottom: -5px !important;
	}
}

.mb0 {
	margin-bottom: 0 !important;
}

.mb-xxl {
	margin-bottom: 75px !important;
}
@media (max-width: 991px) {
	.mb-xxl {
		margin-bottom: 45px !important;
	}
}

.mb-xl {
	margin-bottom: 45px !important;
}
@media (max-width: 991px) {
	.mb-xl {
		margin-bottom: 30px !important;
	}
}

.mb-lg {
	margin-bottom: 30px !important;
}
@media (max-width: 991px) {
	.mb-lg {
		margin-bottom: 20px !important;
	}
}

.mb-md {
	margin-bottom: 20px !important;
}
@media (max-width: 991px) {
	.mb-md {
		margin-bottom: 15px !important;
	}
}

.mb-sm {
	margin-bottom: 15px !important;
}
@media (max-width: 991px) {
	.mb-sm {
		margin-bottom: 10px !important;
	}
}

.mb-xs {
	margin-bottom: 10px !important;
}
@media (max-width: 991px) {
	.mb-xs {
		margin-bottom: 5px !important;
	}
}

.mb-xxs {
	margin-bottom: 5px !important;
}
@media (max-width: 991px) {
	.mb-xs {
		margin-bottom: 5px !important;
	}
}

hr {
	margin: 75px 0;
	border-top: 1px solid #ddd;
}
@media (min-width: 992px) {
	.text-lg-left {
		text-align: left !important;
	}
}
@media (max-width: 991px) {
	hr {
		margin: 14px 0;
	}
}

.bleed-left {
	margin-left: calc((100dvw - 1500px) * -0.5 - 15px);
}
.bleed-right {
	margin-right: calc((100dvw - 1500px) * -0.5 - 15px);
}
@media (max-width: 1499px) {
	.bleed-left {
		margin-left: -15px;
	}
	.bleed-right {
		margin-right: -15px;
	}
}

.underlap-left {
	margin-left: -120px;
}
.underlap-right {
	margin-right: -120px;
}
