@charset "UTF-8";
@font-face {
	font-family: notoserifjp;
	src: url('../fonts/NotoSerifJP-VariableFont_wght.ttf') format("truetype");
}
html { font-size: 62.5%; }
html { font-size: 10px; }
body {
	font-family: "ten-mincho", "notoserifjp", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 1.35vw;
	line-height: 1.8;
	letter-spacing: 0;
	color: #231815;
	font-weight: 400;
	font-feature-settings: 'palt' off;
}
.fs-h2 { font-size: 1.65vw; }
.fs-body { font-size: 1.35vw; }
.fs-sm { font-size: 1.15vw; }
.fs-s { font-size: 0.95vw; }
@media (max-width: 767.98px) {
	.fs-s { font-size: 1.15vw; }
}
@media (max-width: 575.98px) {
	.fs-h2 { font-size: 3vw; }
	body, .fs-body { font-size: 2.7vw; }
	.fs-sm, .fs-s { font-size: 2.3vw; }
}
.lh-0 { line-height: 0!important; }
.lh-1 { line-height: 1!important; }
.lh-s { line-height: 1.3!important; }

.fw-bold { font-weight: 700!important; }
.fw-normal { font-weight: 400!important; }
.text-justify {
	text-align: justify!important;
	text-justify: auto!important;
}

.fc-white { color: #fff!important; }
.fc-red { color: #79171b!important; }
.fc-blue { color: #141f3f!important; }
.fc-brown { color: #3e3a39; }

a {
	color: #231815!important;
	text-decoration: none!important;
	opacity: 1!important;
	transition: opacity .5s ease!important;
}
a > * { transition: opacity .5s ease!important; }
a:hover { opacity: .5!important; }

a.hover-inversion { transition: color .5s ease, background .5s ease!important; }
a.hover-inversion:hover {
	opacity: 1!important;
	color: #231815!important;
	background: #fff!important;
}

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

ul { list-style: none!important; }

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

.w-5vw { width: 5vw!important; }
.w-13 { width: 13%!important; }
.w-45 { width: 45%!important; }
.w-50 { width: 50%!important; }
.w-60 { width: 60%!important; }
.w-70 { width: 70%!important; }
.w-80 { width: 80%!important; }
.w-925 { width: 92.5%!important; }
.w-975 { width: 97.5%!important; }
.mw-20em { max-width: 20em!important; }
.mw-90vw { max-width: 90vw!important; }

@media (min-width: 575.98px) {
	.w-sm-40 { width: 40%!important; }
	.w-sm-45 { width: 45%!important; }
	.w-sm-50 { width: 50%!important; }
	.w-sm-55 { width: 55%!important; }
	.w-sm-60 { width: 60%!important; }
	.w-sm-70 { width: 70%!important; }
	.w-sm-925 { width: 92.5%!important; }
	.mw-sm-80vw { max-width: 80vw!important; }
}




.bg-black { background-color: #231815!important; }
.bg-blue { background-color: #141f3f!important; }

.border { border: .1em solid #141f3f!important; }
.border-bottom { border-bottom: .1em solid #141f3f!important; }
.border-radius-10 { border-radius: 1em!important; }
.border-radius-20 { border-radius: 2em!important; }

.mt-05 { margin-top: .5em!important; }
.mt-10 { margin-top: 1em!important; }
.mt-20 { margin-top: 2em!important; }
.mt-25 { margin-top: 2.5em!important; }
.mt-30 { margin-top: 3em!important; }
.mt-50 { margin-top: 5em!important; }
.mt-11vw { margin-top: 11vw!important; }
.mt-minus-05 { margin-top: -.5em!important; }

.mb-05 { margin-bottom: .5em!important; }
.mb-075 { margin-bottom: .75em!important; }
.mb-10 { margin-bottom: 1em!important; }
.mb-15 { margin-bottom: 1.5em!important; }
.mb-20 { margin-bottom: 2em!important; }
.mb-25 { margin-bottom: 2.5em!important; }
.mb-30 { margin-bottom: 3em!important; }
.mb-50 { margin-bottom: 5em!important; }

.my-30 {
	margin-top: 3em!important;
	margin-bottom: 3em!important;
}

.mx-025per {
	margin-left: 2.5%!important;
	margin-right: 2.5%!important;
}

.ms-10 { margin-left: 1em!important; }

.py-025 {
	padding-top: .25em!important;
	padding-bottom: .25em!important;
}
.py-05 {
	padding-top: .5em!important;
	padding-bottom: .5em!important;
}
.py-10 {
	padding-top: 1em!important;
	padding-bottom: 1em!important;
}

.pt-10vw { padding-top: 10vw!important; }
.pt-15vw { padding-top: 15vw!important; }
.pt-20vw { padding-top: 20vw!important; }

.pb-10 { padding-bottom: 1em!important; }

.px-05 {
	padding-left: .5em!important;
	padding-right: .5em!important;
}
.px-10 {
	padding-left: 1em!important;
	padding-right: 1em!important;
}
.px-15 {
	padding-left: 1.5em!important;
	padding-right: 1.5em!important;
}
.px-20 {
	padding-left: 2em!important;
	padding-right: 2em!important;
}


@media (min-width: 575.98px) {
	.mt-sm-30 { margin-top: 3em!important; }
	.mt-sm-7vw { margin-top: 7vw!important; }
	.mb-sm-10 { margin-bottom: 1em!important; }
	.mb-sm-20 { margin-bottom: 2em!important; }
	.my-sm-0 {
		margin-top: 0!important;
		margin-bottom: 0!important;
	}
	.pt-sm-10vw { padding-top: 10vw!important; }
}
@media (min-width: 599.98px) {
	.mt-sm-10 { margin-top: 1em!important; }
	.ps-sm-20 { padding-left: 2em!important; }
}
@media (min-width: 767.98px) {
	.mt-md-50 { margin-top: 5em!important; }
}
@media (min-width: 1023.98px) {
	.mb-lg-10 { margin-bottom: 1em!important; }
}









.w-90 { width: 90%; }
.mw-960 { max-width: 96rem!important; }
.my-80 {
	margin-top: 8rem!important;
	margin-bottom: 8rem!important;
}
#regist * {
    font-size: calc(1.3rem + 3 * ((100vw - 320px) / 960))!important;
    line-height: 1.8!important;
	letter-spacing: .25em!important;
	color: #00114a!important;
	font-feature-settings: 'palt'!important;
}



