@charset "utf-8";
@import url("../common/reset.css");
@import url("../common/common.css");
@import url("../common/common_sp.css") (max-width: 768px);
@import url("../common/common_pc.css") (min-width: 769px);
@import url("./sp.css") only screen and (max-width: 768px);
@import url("./pc.css") only screen and (min-width: 769px);


/*================================
	Color
================================*/
:root {
	--w-bsc-max: 1190px;
	--col-text : #454544;
	--col-main: #80746B;
	--col-hlt: #A39890;
	--col-bg-main: #F8F8F8;
	--col-bd: #D9D9D9;
	--fnt-en-main: "Playfair Display", serif;
	--fnt-min: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E","ＭＳ Ｐ明朝", "MS PMincho", serif;
	--fnt-go: "游ゴシック体", "Yu Gothic", YuGothic,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','Noto Sans Japanese','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
}




/*================================
	Common
================================*/
main *{
	box-sizing: border-box;
	font-family: var(--fnt-min);
	font-size: 13px;
}
main p.note,
main .note p,
main .summary{
	line-height: 2;
	letter-spacing: 0;
}
main > section:not(.intro):not(.fair){
	margin-top: 0;
}
main > section:not(.intro) h3{
	font-family: var(--fnt-min);
	font-size: 12px;
	letter-spacing: 0;
	color: var(--col-hlt);
}
main > section:not(.intro) h3 em{
	display: block;
	margin-bottom: 7px;
	font-family: var(--fnt-en-main);
	font-size: 24px;
	letter-spacing: .1em;
	color: var(--col-main);
}
main > section:not(.intro):not(.fair) h3{
	margin-bottom: 40px;
}




/*================================
	Intro
================================*/
main .intro .mv img{
	display: block;
	width: 100%;
}
@media screen and (min-width: 769px) {
	main .intro .details{
		width: 95%;
		max-width: 900px;
		margin: 70px auto;
	}
}
@media screen and (max-width: 768px) {
	main .intro .details{
		padding: 0 7%;
		margin-top: 50px;
		margin-bottom: 50px;
	}
}
main .intro h3{
	font-size: 20px;
	letter-spacing: .1em;
}
@media screen and (min-width: 769px) {
	main .intro h3{
		line-height: 2.3;
	}
}
@media screen and (max-width: 768px) {
	main .intro h3{
		line-height: 2;
	}
}
main .intro .note p{
	margin-top: 25px;
}





/*================================
	Features
================================*/
main .features{
	padding: 100px 0;
	background: var(--col-bg-main);
}
@media screen and (min-width: 769px) {
	main .features{
		padding: 100px 0;
	}
}
@media screen and (max-width: 768px) {
	main .features{
		padding: 100px 5% 100px 0;
	}
}

@media screen and (min-width: 1261px) {
	main .features h3{
		margin: 0 calc((100vw - var(--w-bsc-max)) / 2) 50px;
	}
}
@media screen and (max-width: 1260px) {
	main .features h3{
		margin: 0 2.5% 50px;
	}
}
@media screen and (max-width: 768px) {
	main .features h3{
		margin: 0 0 40px 7%;
	}
}

main .features .chapter h4{
		font-size: 20px;
		line-height: 1.8;
}
main .features .chapter h4 em{
	display: block;
	font-family: var(--fnt-en-main);
	letter-spacing: .1em;
	color: var(--col-main);
}
@media screen and (min-width: 769px) {
	main .features .chapter {
		display:flex;
		display: -webkit-flex;
		-webkit-align-items: center;
		align-items: center;
	}
	main .features .chapter:not(:first-of-type){
		margin-top: 80px;
	}
	main .features .chapter figure{
		width: 60%;
	}
	main .features .chapter .details{
		width: 28%;
	}
	main .features .chapter h4 em{
		margin-bottom: 25px;
		font-size: 40px;
	}
	main .features .chapter .note{
		margin-top: 20px;
	}
	main .features .chapter:nth-of-type(odd) figure{
		margin-right: 5%;
	}
	main .features .chapter:nth-of-type(even){
		-webkit-justify-content: flex-end;
		justify-content: flex-end;
	}
	main .features .chapter:nth-of-type(even) figure{
		margin-left: 5%;
	}
	main .features .chapter:nth-of-type(even) .details{
		-webkit-order:-1;
		order:-1;
	}
}
@media screen and (max-width: 768px) {
	main .features .chapter:not(:first-of-type){
		margin-top: 60px;
	}
	main .features .chapter .details{
		padding: 25px 0 0 7%;
	}
	main .features .chapter h4 em{
		margin-bottom: 5px;
		font-size: 30px;
	}
	main .features .chapter .note{
		margin-top: 15px;
	}
}





/*================================
	Recommend
================================*/
@media screen and (min-width: 769px) {
	main .recommend {
		width: 95%;
		max-width: var(--w-bsc-max);
		margin-left: auto;margin-right: auto;
	}
}
@media screen and (max-width: 768px) {
	main .recommend {
		padding: 0 7%;
	}
}

main .recommend .recommendlist li .note{
	margin-top: 25px;
	font-size: 16px;
}
@media screen and (min-width: 769px) {
	main .recommend .recommendlist {
		display:flex;
		display: -webkit-flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
	}
	main .recommend .recommendlist li{
		width: 31%;
	}
}
@media screen and (max-width: 768px) {
	main .recommend .recommendlist li:not(:first-of-type){
		margin-top: 40px;
	}
}






/*================================
	Reason
================================*/
main .reason {
	
}
@media screen and (max-width: 1260px) {
	main .reason {
		margin-left: 2.5%;
	}
}
@media screen and (min-width: 1261px) {
	main .reason {
		margin-left: calc((100vw - var(--w-bsc-max)) / 2);
	}
}
@media screen and (max-width: 768px) {
	main .reason {
		margin-left: 7%;
	}
}

main .reason .reasonlist h4{
	margin-top: 30px;
	font-size: 16px;
}
main .reason .reasonlist .note {
	margin-top: 15px;
}
@media screen and (min-width: 769px) {
	main .reason .reasonlist .slick-slide{
		margin-right: 40px;
	}
}
@media screen and (max-width: 768px) {
	main .reason .reasonlist .slick-slide{
		margin-right: 20px;
	}
}

main .reason .reasonlist .slidepager {
	position: absolute;
	top: -55px;
	text-align: right;
}
@media screen and (min-width: 1261px) {
	main .reason .reasonlist .slidepager {
		right: calc((100vw - var(--w-bsc-max)) / 2);
	}
}
@media screen and (max-width: 1260px) {
	main .reason .reasonlist .slidepager {
		right: 2.5%;
	}
}
@media screen and (max-width: 768px) {
	main .reason .reasonlist .slidepager {
		right: 7%;
	}
}
main .reason .reasonlist .slidepager li{
	display: inline-block;
}
main .reason .reasonlist .slidepager button{
	display: block;
	width: 6px;height: 6px;
	background: #DCDCDD;
	border-radius: 50%;
	border: 0;
	margin: 0;padding: 0;
	text-indent: -9999px;
	font-size: 0;
}
main .reason .reasonlist .slidepager li:not(:first-of-type){
	margin-left: 10px;
}
main .reason .reasonlist .slidepager .slick-active button{
	background: var(--col-hlt);
}





/*================================
	Free
================================*/
main .free h3 {
	width: 100%;
}
@media screen and (min-width: 769px) {
	main .free {
		width: 95%;
		max-width: var(--w-bsc-max);
		display:flex;
		display: -webkit-flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		-webkit-flex-wrap:wrap;
		flex-wrap:wrap;
		margin-left: auto;margin-right: auto;
	}
	main .free h3 {
		width: 100%;
	}
}
@media screen and (max-width: 768px) {
	main .free {
		padding: 0 7%;
	}
}

main .free .chapter h4{
	margin-top: 15px;
	font-size: 16px;
	line-height: 1.8;
	letter-spacing: .1em;
}
main .free .chapter h4 em{
	display: block;
	margin-bottom: 5px;
	font-family: var(--fnt-en-main);
	font-size: 20px;
	color: var(--col-main);
}
main .free .chapter .note{
	margin-top: 15px;
}
@media screen and (min-width: 769px) {
	main .free .chapter {
		width: 47%;
	}
}
@media screen and (max-width: 768px) {
	main .free .chapter:not(:first-of-type) {
		margin-top: 60px;
	}
}





/*================================
	Photo Gallery
================================*/
@media screen and (min-width: 769px) {
	main .photogallery h3{
		width: 95%;
		max-width: var(--w-bsc-max);
		margin-left: auto;margin-right: auto;
	}
	main .photogallery .gallerylist .slick-slide{
		padding: 0 15px;
	}
}
@media screen and (max-width: 768px) {
	main .photogallery h3{
		padding: 0 7%;
	}
	main .photogallery .gallerylist .slick-slide{
		padding: 0 10px;
	}
}





/*================================
	Info
================================*/
main .info {
	background: var(--col-bg-main);
}
@media screen and (min-width: 769px) {
	main .info {
		padding: 100px 0;
	}
	main .info > *{
		width: 95%;
		max-width: var(--w-bsc-max);
		margin-left: auto;margin-right: auto;
	}
}
@media screen and (max-width: 768px) {
	main .info {
		padding: 100px 7%;
	}
}

main .info .infolist {
	border-bottom: 1px solid var(--col-bd);
}
main .info .infolist dt,
main .info .infolist dd,
main .info .infolist li{
	font-family: var(--fnt-go);
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0;
}
main .info .infolist dt{
	font-weight: 700;
}
main .info .infolist dd.present span{
	font-size: 18px;
}
main .info .infolist .sublist li{
	text-indent: -1.5em;
	padding-left: 1.5em;
}
main .info .infolist .sublist li::before{
	content: "・";
	margin-right: .5em;
}
@media screen and (min-width: 769px) {
	main .info .infolist {
		display:flex;
		display: -webkit-flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		-webkit-flex-wrap:wrap;
		flex-wrap:wrap;
	}
	main .info .infolist dt,
	main .info .infolist dd{
		padding-top: 20px;padding-bottom: 20px;
		border-top: 1px solid var(--col-bd);
	}
	main .info .infolist dt{
		width: 15em;
	}
	main .info .infolist dd{
		width: calc(100% - 15em);
		padding-right: 30px;
	}
}
@media screen and (max-width: 768px) {
	main .info .infolist dt{
		padding-top: 25px;
		border-top: 1px solid var(--col-bd);
	}
	main .info .infolist dd{
		margin-top: 20px;
		padding-bottom: 25px;
	}
}






/*================================
	Fair
================================*/
main .fair {
	position: relative;
}
main .fair picture img{
	display: block;
	width: 100%;
}
main .fair .details {
	width: 90%;
	position:absolute;
	left:50%;top:50%;
	-webkit-transform:translate(-50%,-50%);
	-moz-transform:translate(-50%,-50%);
	transform:translate(-50%,-50%);
}
main .fair .details *{
	color: #fff;
}
main .fair .details h3{
	text-align: center;
	font-family: var(--fnt-min);
	font-size: 26px;
	line-height: 1.6;
}
main .fair .details h3 em{
	display: block;
	margin-bottom: 15px;
	font-family: var(--fnt-en-main);
	font-size: 18px;
}
@media screen and (min-width: 769px) {
	main .fair .details h3{
		font-size: 26px;
		line-height: 1.6;
	}
	main .fair .details h3 em{
		margin-bottom: 15px;
	}
}
@media screen and (max-width: 768px) {
	main .fair .details h2{
		font-size: 20px;
		line-height: 1.6;
	}
	main .fair .details h2 em{
		margin-bottom: 10px;
	}
}

main .fair .details .more{
	max-width: 275px;
	margin: 40px auto 0;
}
main .fair .details .more a{
	display: block;
	background: #fff;
	text-align: center;
	font-family: var(--fnt-go);
	font-size: 12px;
	line-height: 50px;
	letter-spacing: 0;
	color: var(--col-main);
}





