@charset "UTF-8";
html { font-size: 62.5%; }
html { font-size: 10px; }
body {
	font-family: 'YuGothic', 'Yu Gothic', 'Helvetica Neue', 'Helvetica', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Arial', 'Meiryo', sans-serif;
	font-size: 1.5rem;
	font-size: calc(1.4rem + 3 * ((100vw - 320px) / 1280)); /*ベースサイズ最小1.4rem - 最大1.7rem*/
	line-height: 3;
	letter-spacing: .15rem;
	color: #6f6662;
	font-weight: 500;
	font-feature-settings: 'palt';
}
input {
	width: 100%;
	font-family: 'YuGothic', 'Yu Gothic', 'Helvetica Neue', 'Helvetica', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Arial', 'Meiryo', sans-serif;
	font-size: 1.5rem;
	line-height: 2;
	color: #6f6662;
	font-weight: 400;
}


.list-none li { list-style: none; }
.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; }
.lh-m { line-height: 1.8!important; }
.lh-l { line-height: 2.4!important; }


.ls-075 { letter-spacing: .075em; }
.ls-1 { letter-spacing: .1em; }
@media (max-width: 575.98px) { .ls-xs { margin-left: -0.5em; } }

@media (min-width: 576px) {
.text-sm-left { text-align: left!important; }
}



.fw-bold { font-weight: 700!important; }
.fw-normal { 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: #6f6662!important;
	text-decoration: none!important;
	transition: all .5s ease!important;
}
a > * { transition: all .5s ease!important; }
a:hover {
	opacity: .3!important;
	cursor: pointer!important;
}



button,
[type=button],
[type=reset],
[type=submit],
button.navbar-toggler,
button.menu-trigger,
button span,
button.navbar-toggler span,
button.menu-trigger span {
	color: #6f6662!important;
	-webkit-appearance: none!important;
}

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



.border-top { border-top: 1px solid #6f6662!important; }
.border-end { border-right: 1px solid #6f6662!important; }
.border-bottom { border-bottom: 1px solid #6f6662!important; }
.border-start { border-left: 1px solid #6f6662!important; }
.border { border: 1px solid #6f6662!important; }
.border-gray { border-color: #ccc!important; }


.w-40 { width: 40%!important; }
.w-50 { width: 50%!important; }
.w-70 { width: 70%!important; }
.w-80 { width: 80%!important; }
.w-85 { width: 85%!important; background: #ccc; }
.w-90 { width: 90%!important; }
.w-95 { width: 95%!important; }
.mw-70 { max-width: 7rem!important; }
.mw-90 { max-width: 9rem!important; }
.mw-320 { max-width: 32rem!important; }
.mw-420 { max-width: 42rem!important; }
.mw-720 { max-width: 72rem!important; }
.mw-960 { max-width: 96rem!important; }
.mw-1024 { max-width: 102.4rem!important; }
.mw-1280 { max-width: 128rem!important; }
.mw-1440 { max-width: 144rem!important; }

@media (min-width: 576.98px) {
	.w-sm-36 { width: 36%!important; }
	.mw-sm-90 { max-width: 9rem!important; }
	.w-sm-80 { width: 80%!important; }
	.w-sm-100 { width: 100%!important; }
}
@media (min-width: 767.98px) {
	.w-md-90 { width: 90%!important; }
	.w-md-100 { width: 100%!important; }
	.mw-md-320 { max-width: 32rem!important; }
	.mw-md-full { max-width: auto!important; }
}





.fs-10 { font-size: 1.0rem; }
.fs-11 { font-size: 1.1rem; }
.fs-12 { font-size: 1.2rem; }
.fs-13 { font-size: 1.3rem; }
.fs-15 { font-size: 1.5rem; }
.fs-16 { font-size: 1.6rem; }
.fs-18 { font-size: 1.8rem; }
.fs-20 { font-size: 2rem; }
.fs-22 { font-size: 2.2rem; }
.fs-13-10 { font-size: calc(1rem + 3 * ((100vw - 320px) / 960)); } /*ベースサイズ最小1.1rem - 最大1.3rem*/
.fs-14-12 { font-size: calc(1.2rem + 2 * ((100vw - 320px) / 960)); } /*ベースサイズ最小1.2rem - 最大1.4rem*/
.fs-15-13 { font-size: calc(1.3rem + 2 * ((100vw - 320px) / 960)); } /*ベースサイズ最小1.3rem - 最大1.5rem*/
.fs-16-13 { font-size: calc(1.3rem + 3 * ((100vw - 320px) / 960)); } /*ベースサイズ最小1.3rem - 最大1.6rem*/
.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-20-16 { font-size: calc(1.6rem + 4 * ((100vw - 320px) / 960)); } /*ベースサイズ最小1.6rem - 最大2.0rem*/
.fs-18-20 { font-size: calc(2.0rem - 2 * ((100vw - 320px) / 960)); } /*ベースサイズ最小1.8rem - 最大2.0rem*/
.fs-22-15 { font-size: calc(1.5rem + 7 * ((100vw - 320px) / 960)); } /*ベースサイズ最小1.5rem - 最大2.2rem*/
.fs-22-18 { font-size: calc(1.8rem + 4 * ((100vw - 320px) / 960)); } /*ベースサイズ最小1.8rem - 最大2.4rem*/
.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: 576px) {
	.fs-sm-12 { font-size: 1.2rem; }
}
@media (min-width: 1280px) {
	.fs-15-13 { font-size: 1.5rem; }
	.fs-16-15 { font-size: 1.6rem; }
	.fs-18-15 { font-size: 1.8rem; }
	.fs-20-15,
	.fs-20-16 { font-size: 2.0rem; }
	.fs-18-20 { font-size: 1.8rem; }
	.fs-22-18 { 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-25 { margin-top: 2.5rem!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-120 { margin-top: 12rem!important; }
.mt-150 { margin-top: 15rem!important; }

.me-15 { margin-right: 1.5rem!important; }
.me-20 { margin-right: 2rem!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-20 { margin-bottom: 2rem!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; }
.mb-100 { margin-bottom: 10rem!important; }

.ms-10 { margin-left: 1rem!important; }
.ms-15 { margin-left: 1.5rem!important; }
.ms-20 { margin-left: 2rem!important; }
.ms-30 { margin-left: 3rem!important; }
.ms-40 { margin-left: 4rem!important; }
.ms-50 { margin-left: 5rem!important; }
.mx-75 {
	margin-left: .75rem!important;
	margin-right: .75rem!important;
}
.mx-10 {
	margin-left: 1rem!important;
	margin-right: 1rem!important;
}
.mx-15 {
	margin-left: 1.5rem!important;
	margin-right: 1.5rem!important;
}
.mx-30 {
	margin-left: 3rem!important;
	margin-right: 3rem!important;
}
.my-20 {
	margin-top: 2rem!important;
	margin-bottom: 2rem!important;
}
.my-50 {
	margin-top: 5rem!important;
	margin-bottom: 5rem!important;
}

.pt-20 { padding-top: 2rem!important; }
.py-050 {
	padding-top: .5rem!important;
	padding-bottom: .5rem!important;
}
.py-10 {
	padding-top: 1rem!important;
	padding-bottom: 1rem!important;
}
.py-15 {
	padding-top: 1.5rem!important;
	padding-bottom: 1.5rem!important;
}
.py-20 {
	padding-top: 2rem!important;
	padding-bottom: 2rem!important;
}
.py-40 {
	padding-top: 4rem!important;
	padding-bottom: 4rem!important;
}
.py-60 {
	padding-top: 6rem!important;
	padding-bottom: 6rem!important;
}
.py-100 {
	padding-top: 10rem!important;
	padding-bottom: 10rem!important;
}
.py-140 {
	padding-top: 14rem!important;
	padding-bottom: 14rem!important;
}
.py-240 {
	padding-top: 24rem!important;
	padding-bottom: 24rem!important;
}

.pt-30 { padding-top: 3rem!important; }
.pt-80 { padding-top: 8rem!important; }
.pt-100 { padding-top: 10rem!important; }
.pt-240 { padding-top: 24rem!important; }
.pb-10 { padding-bottom: 1rem!important; }
.pb-20 { padding-bottom: 2rem!important; }
.pb-30 { padding-bottom: 3rem!important; }
.pb-40 { padding-bottom: 4rem!important; }
.pb-50 { padding-bottom: 5rem!important; }
.pb-60 { padding-bottom: 6rem!important; }
.pb-100 { padding-bottom: 10rem!important; }
.pb-240 { padding-bottom: 24rem!important; }

@media (min-width: 576px) {
	.mt-sm-0 { margin-top: 0!important; }
	.mt-sm-20 { margin-top: 2rem!important; }
	.mt-sm-30 { margin-top: 3rem!important; }
	.mt-sm-40 { margin-top: 4rem!important; }
	.mt-sm-50 { margin-top: 5rem!important; }
	.mt-sm-60 { margin-top: 6rem!important; }
	.mt-sm-80 { margin-top: 8rem!important; }
	.mt-sm-100 { margin-top: 10rem!important; }
	.mx-sm-40 {
		margin-left: 4rem!important;
		margin-right: 4rem!important;
	}
	.mb-sm-0 { margin-bottom: 0!important; }
	.mb-sm-25 { margin-bottom: 2.5rem!important; }
	.mb-sm-30 { margin-bottom: 3rem!important; }
	.mb-sm-60 { margin-bottom: 6rem!important; }
	.mb-sm-100 { margin-bottom: 10rem!important; }
	.me-sm-40 { margin-right: 4rem!important; }
	.me-sm-100 { margin-right: 10rem!important; }
	.ms-sm-40 { margin-left: 4rem!important; }
	.ms-sm-50 { margin-left: 5rem!important; }
	.pt-sm-30 { padding-top: 3rem!important; }
	.pt-sm-100 { padding-top: 10rem!important; }
	.pb-sm-0 { padding-bottom: 0!important; }
	.pb-sm-60 { padding-bottom: 6rem!important; }
	.pb-sm-80 { padding-bottom: 8rem!important; }
	.pb-sm-160 { padding-bottom: 16rem!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;
	}
	.py-sm-160 {
		padding-top: 16rem!important;
		padding-bottom: 16rem!important;
	}
}
@media (min-width: 768px) {
	.mt-md-0 { margin-top: 0!important; }
	.mt-md-100 { margin-top: 10rem!important; }
	.mb-md-0 { margin-bottom: 0!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; }
	.py-md-0 { padding-top: 0!important; }
	.py-md-160 {
		padding-top: 16rem!important;
		padding-bottom: 16rem!important;
	}
	.pb-md-0 { padding-bottom: 0!important; }
	.pb-md-160 { padding-bottom: 16rem!important; }
}
@media (min-width: 992px) {
	.mx-lg-10 {
		margin-left: 1rem!important;
		margin-right: 1rem!important;
	}
	.mt-lg-60 { margin-top: 6rem!important; }
	.mt-lg-80 { margin-top: 8rem!important; }
	.mt-lg-120 { margin-top: 12rem!important; }
	.mt-lg-240 { margin-top: 24rem!important; }
	.mb-lg-150 { margin-bottom: 15rem!important; }
	.pt-lg-150 { padding-top: 15rem!important; }
	.pb-lg-80 { padding-bottom: 8rem!important; }
	.pb-lg-100 { padding-bottom: 10rem!important; }
	.pb-lg-200 { padding-bottom: 20rem!important; }
	.py-lg-100 {
		padding-top: 10rem!important;
		padding-bottom: 10rem!important;
	}
	.py-lg-200 {
		padding-top: 20rem!important;
		padding-bottom: 20rem!important;
	}
}
@media (min-width: 1200px) {
	.mx-xl-15 {
		margin-left: 1.5rem!important;
		margin-right: 1.5rem!important;
	}
	.mt-xl-100 { margin-top: 10rem!important; }
	.py-lg-240 {
		padding-top: 24rem!important;
		padding-bottom: 24rem!important;
	}
	.pb-xl-100 { padding-bottom: 10rem!important; }
	.pb-lg-240 { padding-bottom: 24rem!important; }
}
@media (min-width: 1400px) {
	.mt-xxl-0 { margin-top: 0rem!important; }
	.ms-xxl-30 { margin-left: 3rem!important; }
	.me-xxl-30 { margin-right: 3rem!important; }
}