@charset "UTF-8";
html { font-size: 62.5%; }
body {
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	font-size: calc(1.2rem + 2 * (100vw - 320px)/1600); /*ベースサイズ最小1.2rem - 最大1.4rem*/
	line-height: 2.1;
	color: #000000;
	background-image: url("../img/common/backpaper.jpg");
/*	background-image: image-set(url("../img/common/backpaper.jpg") 1x, url("../img/common/backpaper@2x.jpg") 2x);
	background-image: -webkit-image-set(url("../img/common/backpaper.jpg") 1x, url("../img/common/backpaper@2x.jpg") 2x);*/
	background-position: top center;
	background-size: contain;
	background-repeat: repeat-y;
}
h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1,p,ol,ul,dl {
	margin: 0;
	padding: 0;
	margin-block-start: 0!important;
	margin-block-end: 0!important;
	margin-inline-start: 0!important;
	margin-inline-end: 0!important;
	padding-inline-start: 0!important;
	font-weight: 400;
	list-style: none;
}
a {
	color: #000!important;
	text-decoration: none!important;
	transition: all .5s ease!important;
}
a > * { transition: all .5s ease!important; }
a:hover { opacity: .3!important; }
a.op-50:hover { opacity: 1!important; }

a.hover-zoom,
a.hover-zoom .img {
	display: block!important;
	overflow: hidden!important;
}
a.hover-zoom .img img { transition: all .5s ease!important; }
a.hover-zoom:hover .img img { transform: scale(1.1)!important; }
a.hover-zoom:hover { opacity: 1!important; }

a.hover-mask {
	display: block;
	position: relative;
	overflow: hidden;
}
a.hover-mask .hover-text {
	opacity: 0;
	width: 100%;
	height: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	background: rgba(0,0,0,.75);
	display: flex;
	justify-content: center;
	align-items: center;
	letter-spacing: .1rem!important;
}
a.hover-mask:hover,
a.hover-mask:hover img,
a.hover-mask:hover .hover-text {
	opacity: 1!important;
}

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

.border-top { border-top: 1px solid #A8A8A8!important; }
.border-end { border-right: 1px solid #A8A8A8!important; }
.border-bottom { border-bottom: 1px solid #A8A8A8!important; }
.border-start { border-left: 1px solid #A8A8A8!important; }
.border { border: 1px solid #A8A8A8!important; }
.border-black { border-color: #000!important; }
.border-lightgray { border-color: #D8D8D8!important; }
.border-gray { border-color: #D6D6D6!important; }
.border-dark-gray { border-color: #312E2E!important; }
.border-5 { border-width: .5rem!important; }
.border-9 { border-width: .9rem!important; }

.w-90 { width: 90%!important; }
.w-70 { width: 70%!important; }
.w-83 { width: 83%!important; }

.bg-black { background-color: #000!important; }
.bg-black.op-81 { background-color: rgba(0,0,0,.81)!important; }
.bg-white.op-72 { background-color: rgba(255,255,255,.72)!important; }

.op-10 { opacity: 10%!important; }
.op-34 { opacity: 34%!important; }
.op-50 { opacity: 50%!important; }



.sans-serif { font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif!important; }

.fc-white { color: #fff!important; }
.fc-gray { color: #A8A8A8!important; }
.fc-dark-gray { color: #5C5C5C!important; }
.fc-red { color: red!important; }

.lh-0 { line-height: 0!important; }
.lh-sm { line-height: 1.5!important; }
.lh-m { line-height: 1.8!important; }
.lh-23 { line-height: 2.3!important; }
@media (min-width: 576px) {
	.lh-sm-1 {
		line-height: 1!important;
	}
}

.ls-13 { letter-spacing: 0.13rem!important; }
b, strong, .fw-bold { font-weight: 600!important; }
.text-justify {
	text-align: justify!important;
	text-justify: auto!important;
}



.fs-10 { font-size: 1rem!important; }
.fs-11 { font-size: calc(1rem + 1 * (100vw - 320px)/1600); }   /*ベースサイズ最小1rem - 最大1.1rem*/
.fs-12 { font-size: calc(1rem + 2 * (100vw - 320px)/1600); }   /*ベースサイズ最小1rem - 最大1.2rem*/
.fs-13 { font-size: calc(1.1rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小1.1rem - 最大1.3rem*/
.fs-14 { font-size: calc(1.2rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小1.2rem - 最大1.4rem*/
.fs-15 { font-size: calc(1.3rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小1.3rem - 最大1.5rem*/
.fs-16 { font-size: calc(1.4rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小1.4rem - 最大1.6rem*/
.fs-17 { font-size: calc(1.5rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小1.5rem - 最大1.7rem*/
.fs-18 { font-size: calc(1.6rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小1.6rem - 最大1.8rem*/
.fs-19 { font-size: calc(1.7rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小1.7rem - 最大1.9rem*/
.fs-21 { font-size: calc(1.9rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小1.9rem - 最大2.1rem*/
.fs-23 { font-size: calc(2.1rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小2.1rem - 最大2.3rem*/
.fs-25 { font-size: calc(2.3rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小2.3rem - 最大2.5rem*/
.fs-31 { font-size: calc(2.9rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小2.9rem - 最大3.1rem*/
@media (min-width: 576px) {
	.fs-sm-15 { font-size: calc(1.3rem + 2 * (100vw - 576px)/1600); } /*ベースサイズ最小1.3rem - 最大1.5rem*/
	.fs-sm-16 { font-size: calc(1.4rem + 2 * (100vw - 576px)/1600); } /*ベースサイズ最小1.4rem - 最大1.6rem*/
	.fs-sm-18 { font-size: calc(1.6rem + 2 * (100vw - 576px)/1600); } /*ベースサイズ最小1.6rem - 最大1.8rem*/
	.fs-sm-20 { font-size: calc(1.8rem + 2 * (100vw - 576px)/1600); } /*ベースサイズ最小1.8rem - 最大2.0rem*/
	.fs-sm-22 { font-size: calc(2.0rem + 2 * (100vw - 576px)/1600); } /*ベースサイズ最小2.0rem - 最大2.2rem*/
}
@media (min-width: 768px) {
	.fs-md-23 { font-size: calc(2.1rem + 2 * (100vw - 768px)/1600); } /*ベースサイズ最小2.1rem - 最大2.3rem*/
	.fs-md-27 { font-size: calc(2.5rem + 2 * (100vw - 768px)/1600); } /*ベースサイズ最小2.5rem - 最大2.7rem*/
}
@media (min-width: 992px) {
	.fs-lg-19 { font-size: calc(1.7rem + 2 * (100vw - 992px)/1600); } /*ベースサイズ最小1.7rem - 最大1.9rem*/
	.fs-lg-31 { font-size: calc(2.9rem + 2 * (100vw - 992px)/1600); } /*ベースサイズ最小2.9rem - 最大3.1rem*/
}



.m-1col { margin: 8.33333%!important; }
.m-50 { margin: 5rem!important; }
.mx-025col {
	margin-left: 2.083333%!important;
	margin-right: 2.083333%!important;
}
.mx-05col {
	margin-left: 4.166666%!important;
	margin-right: 4.166666%!important;
}
.mx-1col {
	margin-left: 8.33333%!important;
	margin-right: 8.33333%!important;
}

.my-50 {
	margin-top: 5rem!important;
	margin-bottom: 5rem!important;
}
.my-10 {
	margin-top: 10rem!important;
	margin-bottom: 10rem!important;
}

.mt-20 { margin-top: 2rem!important; }
.mt-40 { margin-top: 4rem!important; }
.mt-50 { margin-top: 5rem!important; }
.mt-55 { margin-top: 5.5rem!important; }
.mt-60 { margin-top: 6rem!important; }
.mt-10 { margin-top: 10rem!important; }
.mt-15 { margin-top: 15rem!important; }
.mt-n18 { margin-top: -18rem!important; }

.me-1col { margin-right: 8.33333%!important; }

.mb-20 { margin-bottom: 2rem!important; }
.mb-50 { margin-bottom: 5rem!important; }
.mb-8 { margin-bottom: 8rem!important; }
.mb-10 { margin-bottom: 10rem!important; }

.p-05col { padding: 4.166666%!important; }
.p-1col { padding: 8.33333%!important; }
.p-40 { padding: 4rem!important; }

.px-1col {
	padding-left: 8.33333%!important;
	padding-right: 8.33333%!important;
}
.px-50 {
	padding-left: 5rem!important;
	padding-right: 5rem!important;
}

.py-1col {
	padding-top: 8.33333%!important;
	padding-bottom: 8.33333%!important;
}
.py-20 {
	padding-top: 2rem!important;
	padding-bottom: 2rem!important;
}
.py-40 {
	padding-top: 4rem!important;
	padding-bottom: 4rem!important;
}
.py-50 {
	padding-top: 5rem!important;
	padding-bottom: 5rem!important;
}
.py-7 {
	padding-top: 7rem!important;
	padding-bottom: 7rem!important;
}
.py-75 {
	padding-top: 7.5rem!important;
	padding-bottom: 7.5rem!important;
}

.pt-50 { padding-top: 5rem!important; }
.pt-6 { padding-top: 6rem!important; }
.pt-65 { padding-top: 6.5rem!important; }
.pt-75 { padding-top: 7.5rem!important; }
.pt-8 { padding-top: 8rem!important; }
.pt-10 { padding-top: 10rem!important; }

.pb-50 { padding-bottom: 5rem!important; }
.pb-8 { padding-bottom: 8rem!important; }



@media (min-width: 576px) {
	.mx-sm-025col {
		margin-left: 2.083333%!important;
		margin-right: 2.083333%!important;
	}
	.mx-sm-1col {
		margin-left: 8.33333%!important;
		margin-right: 8.33333%!important;
	}
	.mt-sm-n10 { margin-top: -10rem!important; }
	.mt-sm-50 { margin-top: 5rem!important; }
	.mt-sm-55 { margin-top: 5.5rem!important; }
	.mt-sm-60 { margin-top: 6rem!important; }
	.mt-sm-10 { margin-top: 10rem!important; }

	.mb-sm-0 { margin-bottom: 0rem!important; }
	.mb-sm-5 { margin-bottom: 3rem!important; }
	.mb-sm-75 { margin-bottom: 7.5rem!important; }
	.mb-sm-10 { margin-bottom: 10rem!important; }

	.p-sm-05col { padding: 4.151515%!important; }

	.py-sm-40 {
		padding-top: 4rem!important;
		padding-bottom: 4rem!important;
	}
}
@media (min-width: 768px) {
	.mx-md-0 {
		margin-left: 0!important;
		margin-right: 0!important;
	}
	.my-md-10 {
		margin-top: 10rem!important;
		margin-bottom: 10rem!important;
	}

	.mt-md-0 { margin-top: 0!important; }
	.mt-md-50 { margin-top: 5rem!important; }
	.mt-md-75 { margin-top: 7.5rem!important; }
	.mt-md-10 { margin-top: 10rem!important; }
	.mt-md-15 { margin-top: 15rem!important;}

	.mb-md-0 { margin-bottom: 0!important; }
	.mb-md-5 { margin-bottom: 3rem !important; }
	.mb-md-50 { margin-bottom: 5rem!important; }
	.mb-md-75 { margin-bottom: 7.5rem!important; }
	.mb-md-15 { margin-bottom: 15rem!important; }
	.mb-md-25 { margin-bottom: 25rem!important; }

	.p-md-05col { padding: 4.166666%!important; }

	.px-md-1col {
		padding-left: 8.33333%!important;
		padding-right: 8.33333%!important;
	}

	.py-md-50 {
		padding-top: 5rem!important;
		padding-bottom: 5rem!important;
	}
	.py-md-75 {
		padding-top: 7.5rem!important;
		padding-bottom: 7.5rem!important;
	}

	.pt-md-0 { padding-top: 0!important; }
	.pt-md-10 { padding-top: 10rem!important; }
	.pt-md-75 { padding-top: 7.5rem!important; }

	.pb-md-50 { padding-bottom: 5rem!important; }
}

@media (min-width: 992px) {
	.mx-lg-05col {
		margin-left: 4.166666%!important;
		margin-right: 4.166666%!important;
	}
	.mx-lg-1col {
		margin-left: 8.33333%!important;
		margin-right: 8.33333%!important;
	}

	.mt-lg-n6 { margin-top: -6rem!important; }

	.mb-lg-0 { margin-bottom: 0!important; }
	.mb-lg-50 { margin-bottom: 5rem!important; }

	.p-lg-0 { padding:0 !important; }

	.px-lg-0 {
		padding-left: 0!important;
		padding-right: 0!important;
	}
	.px-lg-1col {
		padding-left: 8.33333%!important;
		padding-right: 8.33333%!important;
	}

	.ps-lg-2col { padding-left: 16.66666%!important; }
}