@charset "UTF-8";
/* cormorant-garamond-regular - latin */
@font-face {
	font-family: 'Cormorant Garamond';
	font-style: normal;
	font-weight: 400;
	src: local(''),
		url('../fonts/cormorant-garamond-v15-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
		url('../fonts/cormorant-garamond-v15-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* CaslonPro - latin */
@font-face {
	font-family: 'CaslonPro';
	font-style: normal;
	font-weight: 400;
	src: local(''),
	url('../fonts/ACaslonPro-Regular.woff') format('woff');
}

html { font-size: 62.5%; }
body {
	font-family: 'CaslonPro', '游明朝', YuMincho, 'Hiragino Mincho ProN W3', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif!important;
	font-size: calc(1.3rem + 2 * (100vw - 320px)/1600); /*ベースサイズ最小1.3rem - 最大1.5rem*/
	line-height: 2;
	letter-spacing: 0.15rem;
	color: #000;
	background: #dbdbdb;
	overflow-x: hidden!important;
}
span.fs-serif { font-family: 'CaslonPro', '游明朝', YuMincho, 'Hiragino Mincho ProN W3', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif!important; }
.fs-Garamond { font-family: 'Cormorant Garamond', 'CaslonPro', '游明朝', YuMincho, 'Hiragino Mincho ProN W3', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif!important; }



@media (prefers-reduced-motion: no-preference) {
	:root { scroll-behavior: auto!important; }
}



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





h2 { font-size: calc(4.6rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小4.6rem - 最大4.8rem*/
h3 { font-size: calc(3.4rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小3.4rem - 最大3.6rem*/
h4 { font-size: calc(1.4rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小1.4rem - 最大1.6rem*/
@media (max-width: 991.98px) {
	h2 { font-size: calc(4.8rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小5.8rem - 最大6rem*/
}
@media (max-width: 575.98px) {
	h2 { font-size: calc(3.2rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小5.8rem - 最大6rem*/
}





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

a.hover-zoom,
a.hover-zoom .img {
	display: block!important;
	overflow: hidden;
}
a.hover-zoom .img img { transition: all 2s ease!important; }
a.hover-zoom:hover .img img { transform: scale(1.1)!important; }
a.hover-zoom:hover { opacity: 1!important; }
a.hover-zoom .plus {
	position: absolute;
	width: 2rem;
	height: 2rem;
	top: .8rem;
	left: 2rem;
}
a.hover-zoom .plus img {
	width: 2rem;
	height: 2rem;
}
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 #000!important; }
.border-black { border-color: #000!important; }
.border-gray { border-color: #ccc!important; }


.w-95 { width: 95%!important; }
.mw-1200 { max-width: 120rem!important; }
.mw-1920 { max-width: 192rem!important; }

@media (min-width: 576px) {
	.w-sm-95 { width: 95%!important; }
}



.bg-black { background-color: #000!important; }
.bg-white { background-color: #fff!important; }



.fc-white { color: #fff!important; }
.fc-gray { color: #7f7f7f!important; }

.lh-0 { line-height: 0!important; }
.lh-75 { line-height: 0.75!important; }
.lh-s { line-height: 1.2!important; }
.lh-sm { line-height: 1.5!important; }
.lh-m { line-height: 1.8!important; }
.lh-23 { line-height: 2.3!important; }

.ls-005 { letter-spacing: .05rem!important; }
.ls-palt { font-feature-settings: "palt"; }

.fs-italic { font-style: italic; }

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-20 { font-size: calc(1.8rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小1.8rem - 最大2.0rem*/
.fs-21 { font-size: calc(1.9rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小1.9rem - 最大2.1rem*/
.fs-22 { font-size: calc(2.0rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小2.0rem - 最大2.2rem*/
.fs-23 { font-size: calc(2.1rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小2.1rem - 最大2.3rem*/
.fs-24 { font-size: calc(2.2rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小2.2rem - 最大2.4rem*/
.fs-25 { font-size: calc(2.3rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小2.3rem - 最大2.5rem*/
.fs-26 { font-size: calc(2.4rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小2.4rem - 最大2.6rem*/
.fs-27 { font-size: calc(2.5rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小2.5rem - 最大2.7rem*/
.fs-28 { font-size: calc(2.6rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小2.6rem - 最大2.8rem*/
.fs-29 { font-size: calc(2.7rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小2.7rem - 最大2.8rem*/
.fs-30 { font-size: calc(2.8rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小2.8rem - 最大3.0rem*/
.fs-31 { font-size: calc(2.9rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小2.9rem - 最大3.1rem*/
.fs-32 { font-size: calc(3.0rem + 2 * (100vw - 320px)/1600); } /*ベースサイズ最小3.0rem - 最大3.2rem*/



@media (min-width: 576px) {
}
@media (min-width: 768px) {
}
@media (min-width: 992px) {
}






.mt-50 { margin-top: 5rem!important; }
.mt-80 { margin-top: 8rem!important; }
.mt-100 { margin-top: 10rem!important; }
.mt-120 { margin-top: 12rem!important; }

.mb-50 { margin-bottom: 5rem!important; }
.mb-80 { margin-bottom: 8rem!important; }

.ms-50 { margin-left: 5rem!important; }


@media (min-width: 576px) {
	.mt-sm-50 { margin-top: 5rem!important; }
	.mt-sm-120 { margin-top: 12rem!important; }
	.mt-sm-180 { margin-top: 18rem!important; }
}

@media (min-width: 768px) {
	.mt-md-0 { margin-top: 0!important; }
}

@media (min-width: 992px) {
	.mt-lg-50 { margin-top: 5rem!important; }
}

@media (min-width: 1200px) {
}