@charset "UTF-8";
html { font-size: 62.5%; }
html { font-size: 10px; }
body {
	font-family: "ゴシックMB101 M", "Gothic MB101 Medium", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif!important;
	font-size: 1.5rem;
	font-size: calc(1.3rem + 2 * ((100vw - 320px) / 960)); /*ベースサイズ最小1.3rem - 最大1.5rem*/
	line-height: 2;
	color: #000000;
	font-weight: 400;
	font-feature-settings: 'palt';
}
input {
	width: 100%;
	font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif!important;
	font-size: 1.5rem;
	line-height: 2;
	color: #000000;
	font-weight: 400;
}



.list-disc li { list-style: disc; }
.list-square li { list-style: square; }



.lh-0 { line-height: 0!important; }
.lh-s { line-height: 1.2!important; }
.lh-sm { line-height: 1.5!important; }



.ls-1em { letter-spacing: -0.1em; }
.ls-2em { letter-spacing: -0.2em; }
.ls-4em { letter-spacing: -0.4em; }
@media (max-width: 575.98px) { .ls-xs { margin-left: -0.5em; } }



.fw-bold {
	font-family: "ゴシックMB101 B", "Gothic MB101 DemiBold", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif!important;
	font-weight: 600!important;
}
.fw-normal {
	font-family: "ゴシックMB101 M", "Gothic MB101 Medium", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif!important;
	font-weight: 400!important;
}
.text-justify {
	text-align: justify!important;
	text-justify: auto!important;
}
.underline {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-decoration-skip-ink: none;
}



a, a:visited {
	color: #000!important;
	text-decoration: none!important;
	transition: all .5s ease!important;
}
a > * { transition: all .5s ease!important; }
a:hover { opacity: .3!important; }



button,
button.navbar-toggler,
button.menu-trigger,
button span,
button.navbar-toggler span,
button.menu-trigger span { color: #000!important; }



img {
	white-space: pre;/**title, alt属性内の「&#13;&#10;」で改行**/
	line-height: 1;
}



.border-top { border-top: 1px solid #000000!important; }
.border-end { border-right: 1px solid #000000!important; }
.border-bottom { border-bottom: 1px solid #000000!important; }
.border-start { border-left: 1px solid #000000!important; }
.border { border: 1px solid #000000!important; }
.border-w3 { border-width: 3px!important; }



.bg-gray { background-color: #f2f2f2 !important; }



.mw-150 { max-width: 15rem!important; }
.mw-320 { max-width: 32rem!important; }
.mw-480 { max-width: 48rem!important; }
.mw-600 { max-width: 60rem!important; }



.sticky-top { top: 5rem!important; }
@media (max-width: 991.98px) {
	.sticky-top { top: 12rem!important; }
}


.fs-12 { font-size: 1.2rem; }
.fs-15 { font-size: 1.5rem; }
.fs-18 { font-size: 1.8rem; }
.fs-16-15 { font-size: calc(1.5rem + 1 * ((100vw - 320px) / 960)); } /*ベースサイズ最小1.5rem - 最大1.6rem*/
.fs-18-15 { font-size: calc(1.5rem + 3 * ((100vw - 320px) / 960)); } /*ベースサイズ最小1.5rem - 最大1.8rem*/
.fs-20-15 { font-size: calc(1.5rem + 5 * ((100vw - 320px) / 960)); } /*ベースサイズ最小1.5rem - 最大2.0rem*/
.fs-18-20 { font-size: calc(2.0rem - 2 * ((100vw - 320px) / 960)); } /*ベースサイズ最小1.8rem - 最大2.0rem*/
.fs-22-20 { font-size: calc(2.0rem + 2 * ((100vw - 320px) / 960)); } /*ベースサイズ最小2.0rem - 最大2.2rem*/
.fs-28-18 { font-size: calc(1.8rem + 10 * ((100vw - 320px) / 960)); } /*ベースサイズ最小1.8rem - 最大2.8rem*/
.fs-30-18 { font-size: calc(1.8rem + 12 * ((100vw - 320px) / 960)); } /*ベースサイズ最小1.8rem - 最大3.0rem*/
.fs-30-26 { font-size: calc(2.6rem + 4 * ((100vw - 320px) / 960)); } /*ベースサイズ最小2.6rem - 最大3.0rem*/
.fs-72-36 { font-size: calc(3.6rem + 36 * ((100vw - 320px) / 960)); } /*ベースサイズ最小3.6rem - 最大7.2rem*/
@media (min-width: 1280px) {
	.fs-16-15 { font-size: 1.6rem; }
	.fs-18-15 { font-size: 1.8rem; }
	.fs-20-15 { font-size: 2.0rem; }
	.fs-18-20 { font-size: 1.8rem; }
	.fs-22-20 { font-size: 2.2rem; }
	.fs-28-18 { font-size: 2.8rem; }
	.fs-30-18 { font-size: 3.0rem; }
	.fs-30-26 { font-size: 3.0rem; }
	.fs-72-36 { font-size: 7.2rem; }
}



@media (min-width: 390px) {
	.d-s-flex { display: flex!important; }
	.d-s-block { display: block!important; }
	.d-s-none { display: none!important; }
}
@media (min-width: 576px) {
	.d-sm-flex { display: flex!important; }
	.d-sm-block { display: block!important; }
	.d-sm-none { display: none!important; }
}
@media (min-width: 640px) {
	.d-m-flex { display: flex!important; }
	.d-m-block { display: block!important; }
	.d-m-none { display: none!important; }
}
@media (min-width: 768px) {
	.d-md-flex { display: flex!important; }
	.d-md-block { display: block!important; }
	.d-md-none { display: none!important; }
}
@media (min-width: 992px) {
	.d-lg-flex { display: flex!important; }
	.d-lg-block { display: block!important; }
	.d-lg-none { display: none!important; }
}




.mt-5 { margin-top: .5rem!important; }
.mt-10 { margin-top: 1rem!important; }
.mt-20 { margin-top: 2rem!important; }
.mt-30 { margin-top: 3rem!important; }
.mt-40 { margin-top: 4rem!important; }
.mt-50 { margin-top: 5rem!important; }
.mt-60 { margin-top: 6rem!important; }
.mt-70 { margin-top: 7rem!important; }
.mt-80 { margin-top: 8rem!important; }
.mt-90 { margin-top: 9rem!important; }
.mt-100 { margin-top: 10rem!important; }
.mt-150 { margin-top: 15rem!important; }

.me-30 { margin-right: 3rem!important; }
.me-40 { margin-right: 4rem!important; }
.me-50 { margin-right: 5rem!important; }

.mb-10 { margin-bottom: 1rem!important; }
.mb-15 { margin-bottom: 1.5rem!important; }
.mb-25 { margin-bottom: 2.5rem!important; }
.mb-30 { margin-bottom: 3rem!important; }
.mb-40 { margin-bottom: 4rem!important; }
.mb-50 { margin-bottom: 5rem!important; }
.mb-60 { margin-bottom: 6rem!important; }
.mb-80 { margin-bottom: 8rem!important; }
.my-50 {
	margin-top: 5rem!important;
	margin-bottom: 5rem!important;
}

.pt-20 { padding-top: 2rem!important; }
.py-10 {
	padding-top: 1rem!important;
	padding-bottom: 1rem!important;
}
.py-40 {
	padding-top: 4rem!important;
	padding-bottom: 4rem!important;
}
.py-60 {
	padding-top: 6rem!important;
	padding-bottom: 6rem!important;
}
.py-140 {
	padding-top: 14rem!important;
	padding-bottom: 14rem!important;
}

.pt-80 { padding-top: 8rem!important; }
.pb-50 { padding-bottom: 5rem!important; }
.pb-60 { padding-bottom: 6rem!important; }

@media (min-width: 390px) {
	.mb-s-0 { margin-bottom: 0!important; }  /*不要*/
}

@media (min-width: 576px) {
	.mt-sm-50 { margin-top: 10rem!important; }
	.mt-sm-60 { margin-top: 6rem!important; }
	.mt-sm-100 { margin-top: 10rem!important; }
	.mb-sm-25 { margin-bottom: 2.5rem!important; }
	.mb-sm-100 { margin-bottom: 10rem!important; }
	.pt-sm-30 { padding-top: 3rem!important; }
	.pt-sm-100 { padding-top: 10rem!important; }
	.pb-sm-80 { padding-bottom: 8rem!important; }
	.py-sm-20 {
		padding-top: 2rem!important;
		padding-bottom: 2rem!important;
	}
	.py-sm-60 {
		padding-top: 6rem!important;
		padding-bottom: 6rem!important;
	}
	.py-sm-80 {
		padding-top: 8rem!important;
		padding-bottom: 8rem!important;
	}
	.py-sm-120 {
		padding-top: 12rem!important;
		padding-bottom: 12rem!important;
	}
}
@media (min-width: 768px) {
	.mt-md-0 { margin-top: 0!important; }
	.mt-md-100 { margin-top: 10rem!important; }
	.me-md-30 { margin-right: 3rem!important; }
	.me-md-50 { margin-right: 5rem!important; }
	.mb-md-0 { margin-bottom: 0!important; }
	.ms-md-50 { margin-left: 5rem!important; }
}
@media (min-width: 992px) {
	.mt-lg-150 { margin-top: 15rem!important; }
	.mt-lg-240 { margin-top: 24rem!important; }
	.mb-lg-150 { margin-bottom: 15rem!important; }
	.pt-lg-150 { padding-top: 15rem!important; }
	.pb-lg-100 { padding-bottom: 10rem!important; }
	.py-lg-100 {
		padding-top: 10rem!important;
		padding-bottom: 10rem!important;
	}
}
@media (min-width: 1200px) {
	.mt-xl-400 { margin-top: 40rem!important; }  /*不要*/
}