@charset "UTF-8";
/*--------------------------------
common
--------------------------------*/
.text-center {
	text-align: center;
}
.text-right {
	text-align: right;
}
.text-left {
	text-align: left;
}
.en-font{
	font-family: garamond-premier-pro-display, serif;
}
.trajan-font{
	font-family: trajan-pro-3, serif;
}
.small-text {
	font-size: 75%;
}
.large-text{
	font-size: 150%;
}
.fit-img {
	width: 100%;
	height: auto;
	vertical-align: middle;
}
.flex-wrapper {
	display: flex;
	flex-wrap: wrap;
}
.img-wrapper{
	position: relative;
}
.inline-block{
	display: inline-block;
}


/*--------------------------------
componet
--------------------------------*/
.primary-heading{
	font-size: 4.2rem;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: .2em;
}
.secondary-heading{
	margin-bottom: 48px;
	font-size: 3.6rem;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: .2em;
}
.tertiary-heading{
	margin-bottom: 24px;
	font-size: 2.8rem;
	font-weight: 400;
	line-height: 1.4;
}
.page-heading{
	margin-bottom: .8em;
	font-size: 3.4rem;
	line-height: 1.3;
}
@media screen and (max-width: 767px){
	.primary-heading{
		font-size: 3.6rem;
	}
	.secondary-heading{
		font-size: 2.8rem;
	}
	.tertiary-heading{
		font-size: 2rem;
	}
	.page-heading{
		font-size: 2.4rem;
	}
}
.note{
	margin: 1em 0;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2;
	letter-spacing: .3em;
	text-indent: 1em; /* ※マークの幅に合わせて調整 */
}
.lead{
	font-size: 1.8rem;
	font-weight: 400;
	line-height: 1.6;
}
@media screen and (max-width: 767px){
	/* .note{
		font-size: 1.4rem;
	} */
	.lead{
		font-size: 1.8rem;
	}
}
.caption{
	margin: .4em 0;
	font-weight: 400;
	font-size: 1.2rem;
	line-height: 1.4;
}
/*--------------------------------
header
--------------------------------*/
/*--------------------------------
footer
--------------------------------*/
/*--------------------------------
home
--------------------------------*/
/*--------------------------------
layout
--------------------------------*/
.general-section .inner{
	margin: 0 auto;
	padding: 0 0 124px 0;
	width: min(calc(100% - 32px),1634px);
}
.general-section .inner-min{
	width: min(calc(100% - 32px),1200px);
}
@media screen and (max-width: 767px){
	.general-section .inner{
		/* padding: 76px 0; */
	}
}
/*--------------------------------
state
--------------------------------*/
@media screen and (max-width: 767px){
	.sp-none{
		display: none;
	}
	.slick-slide img.sp-none{
		display: none;
	}
}
@media screen and (min-width: 768px){
	.pc-none{
		display: none;
	}
	.slick-slide img.pc-none{
		display: none;
	}
}