@charset "UTF-8";
/* notoserifjp-el */
@font-face {
	font-family: notoserifjp-el;
	src: url('../fonts/NotoSerifJP-ExtraLight.ttf') format("truetype");
}
html { font-size: 62.5%; }
html { font-size: 10px; }
body {
	font-family: 'adobe caslon pro','notoserifjp-el','EB Garamond', 'Noto Serif JP', 'Noto Serif', -apple-system, BlinkMacSystemFont, serif!important;
	font-size: 1.6rem;
	font-size: calc(1.3rem + 3 * ((100vw - 320px) / 960)); /*ベースサイズ最小1.3rem - 最大1.6rem*/
	line-height: 2;
	letter-spacing: .1rem;
	color: #383838;
	font-weight: 400;
	font-feature-settings: 'palt';
}
.ff-sans-serif { font-family: 'Arial', 'YuGothic', 'Yu Gothic', 'Helvetica Neue', 'Helvetica', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Meiryo', sans-serif;!important }
.tategaki {
	writing-mode: vertical-rl;
	display: inline-block;
}



.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; }



.ls-0 { letter-spacing: 0; }



.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: #383838!important;
	text-decoration: none!important;
	transition: all .5s ease!important;
}
a > * { transition: all .5s ease!important; }
a:hover,
a:focus { 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: #383838	!important;
	-webkit-appearance: none!important;
}



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






.border-top { border-top: 1px solid #383838	!important; }
.border-end { border-right: 1px solid #383838	!important; }
.border-bottom { border-bottom: 1px solid #383838	!important; }
.border-start { border-left: 1px solid #383838	!important; }
.border { border: 1px solid #383838	!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; }
.mw-1920 { max-width: 192rem!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; }
}



.bg-black { background: #000; }
.bg-gray { background: #ccc; }
.bg-beige { background-color: rgba(238,238,235,1); }
.bg-beige75 { background-color: rgba(238,238,235,.75); }



.sticky-top { top: 27rem; }



.fs-10-12 { font-size: calc(1.0rem + 2 * ((100vw - 320px) / 960)); } /*最小1.0rem - 最大1.2rem*/
.fs-12-14 { font-size: calc(1.2rem + 2 * ((100vw - 320px) / 960)); } /*最小1.2rem - 最大1.4rem*/
.fs-13-16 { font-size: calc(1.3rem + 3 * ((100vw - 320px) / 960)); } /*ベースサイズ最小1.3rem - 最大1.6rem*/
.fs-16-22 { font-size: calc(1.6rem + 6 * ((100vw - 320px) / 960)); } /*最小1.6rem - 最大2.2rem*/
.fs-20-30 { font-size: calc(2rem + 10 * ((100vw - 320px) / 960)); } /*最小2rem - 最大3rem*/
.fs-20-40 { font-size: calc(2rem + 20 * ((100vw - 320px) / 960)); } /*最小2rem - 最大4rem*/
.fs-30-40 { font-size: calc(3rem + 10 * ((100vw - 320px) / 960)); } /*最小3rem - 最大4rem*/
.fs-40-80 { font-size: calc(4rem + 40 * ((100vw - 320px) / 960)); } /*最小4rem - 最大8rem*/
.fs-60-80 { font-size: calc(6rem + 20 * ((100vw - 320px) / 960)); } /*最小6rem - 最大8rem*/
@media (min-width: 1280px) {
	.fs-10-12 { font-size: 1.2rem; }
	.fs-12-14 { font-size: 1.4rem; }
	.fs-13-16 { font-size: 1.6rem; }
	.fs-16-22 { font-size: 2.2rem; }
	.fs-20-30 { font-size: 3rem; }
	.fs-20-40,
	.fs-30-40 { font-size: 4rem; }
	.fs-40-80,
	.fs-60-80 { font-size:  8rem; }
}



@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-110 { margin-top: 11rem!important; }
.mt-120 { margin-top: 12rem!important; }
.mt-150 { margin-top: 15rem!important; }
.mt-180 { margin-top: 18rem!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-05 { margin-bottom: -0.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-90 { margin-bottom: 9rem!important; }
.mb-100 { margin-bottom: 10rem!important; }
.mb-120 { margin-bottom: 12rem!important; }
.mb-180 { margin-bottom: 18rem!important; }
.mb-240 { margin-bottom: 24rem!important; }

.ms-075 { margin-left: .75rem!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; }
.ms-70 { margin-left: 7rem!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;
}
.my-180 {
	margin-top: 18rem!important;
	margin-bottom: 18rem!important;
}

.py-050 {
	padding-top: .5rem!important;
	padding-bottom: .5rem!important;
}
.p-30 {
	padding-top: 3rem!important;
	padding-bottom: 3rem!important;
	padding-left: 3rem!important;
	padding-right: 3rem!important;
}
.px-50 {
	padding-left: 5rem!important;
	padding-right: 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-30 {
	padding-top: 3rem!important;
	padding-bottom: 3rem!important;
}
.py-40 {
	padding-top: 4rem!important;
	padding-bottom: 4rem!important;
}
.py-60 {
	padding-top: 6rem!important;
	padding-bottom: 6rem!important;
}
.py-90 {
	padding-top: 9rem!important;
	padding-bottom: 9rem!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;
}
.py-180 {
	padding-top: 18rem!important;
	padding-bottom: 18rem!important;
}
.py-360 {
	padding-top: 36rem!important;
	padding-bottom: 36rem!important;
}

.pt-20 { padding-top: 2rem!important; }
.pt-30 { padding-top: 3rem!important; }
.pt-80 { padding-top: 8rem!important; }
.pt-90 { padding-top: 9rem!important; }
.pt-100 { padding-top: 10rem!important; }
.pt-180 { padding-top: 18rem!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-90 { padding-bottom: 9rem!important; }
.pb-100 { padding-bottom: 10rem!important; }
.pb-180 { padding-bottom: 18rem!important; }
.pb-240 { padding-bottom: 24rem!important; }
.ps-10 { padding-left: 1rem!important; }
.ps-20 { padding-left: 2rem!important; }
.pe-15 { padding-right: 1.5rem!important; }
.pe-5per { padding-right: 5%!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-10 {
		margin-left: 1rem!important;
		margin-right: 1rem!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; }
	.mb-sm-180 { margin-bottom: 18rem!important; }
	.me-sm-40 { margin-right: 4rem!important; }
	.me-sm-100 { margin-right: 10rem!important; }
	.ms-sm-30 { margin-left: 3rem!important; }
	.ms-sm-40 { margin-left: 4rem!important; }
	.ms-sm-50 { margin-left: 5rem!important; }
	.ms-sm-70 { margin-left: 7rem!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; }
	.pb-sm-180 { padding-bottom: 18rem!important; }
	.py-sm-20 {
		padding-top: 2rem!important;
		padding-bottom: 2rem!important;
	}
	.py-sm-30 {
		padding-top: 3rem!important;
		padding-bottom: 3rem!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;
	}
	.py-sm-180 {
		padding-top: 18rem!important;
		padding-bottom: 18rem!important;
	}
	.ps-sm-20 { padding-left: 2rem!important; }
	.pe-sm-30 { padding-right: 3rem!important; }
}
@media (min-width: 768px) {
	.mt-md-0 { margin-top: 0!important; }
	.mt-md-100 { margin-top: 10rem!important; }
	.mt-md-120 { margin-top: 12rem!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; }
	.my-md-180 {
		margin-top: 18rem!important;
		margin-bottom: 18rem!important;
	}
	.py-md-0 { padding-top: 0!important; }
	.py-md-160 {
		padding-top: 16rem!important;
		padding-bottom: 16rem!important;
	}
	.py-md-360 {
		padding-top: 36rem!important;
		padding-bottom: 36rem!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; }
	.mb-lg-180 { margin-bottom: 18rem!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; }
}