@charset "UTF-8";


html,body { height: auto; }
#main-content{ overflow: hidden; }
#main-content sup{ font-size: 50%; vertical-align: top; }
#main-content .hero{ position: relative; }
#main-content .hero::before{ content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: linear-gradient(to right, rgba(55,47,29,0.5), rgba(55,47,29,0)); z-index: 5; }
#main-content .hero .ttl-body{ position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 100%; text-align: center; z-index: 50; }
#main-content .hero .ttl-body > *{ color: #ffffff; }
#main-content .hero .ttl-body .en{ font-size: 28px; line-height: 1.2; font-weight: bold; letter-spacing: 0.4em; padding-left: 0.4em; }
#main-content .hero .ttl-body .ttl{ font-size: 16px; line-height: 1.5; font-weight: normal; margin-top: 10px; }
#main-content .hero .split-view{ display: flex; display: -ms-flex; }
#main-content .hero .split-view .item{ width: 50%; overflow: hidden; }
#main-content .hero .split-view .item .photo{ width: 700px; height: auto; position: relative; left: 50%; transform: translate(-50%); }
#main-content .hero .split-view .item .photo img{ width: 100%; height: auto; }
#main-content .hero .split-view .item .caption{ position: absolute; left: 0; bottom: 0; padding: 2px 7px; color: #ffffff; z-index: 10; background-color: rgba(0,0,0,0.8); }
#main-content .hero .split-view .item:nth-child(even) .caption{ left: auto; right: 0; }
#main-content .intro-copy{ font-size: 26px; line-height: 1.5; color: #3d3d3d; text-align: center; padding: 90px 0; }
#main-content > .section{ z-index: 500; position: relative; }
#main-content .section .ttl-body{ display: inline-block; position: relative; }
#main-content .section .ttl-body::before{ content: ""; position: absolute; left: 0; top: 0; width: 1px; height: 44px; transform: rotate(25deg); margin: -30px 0 0 -45px; }
#main-content .section .ttl-body .en{ font-size: 20px; line-height: 1.5; font-weight: bold; letter-spacing: 0.5em; padding-left: 0.5em; }
#main-content .section .ttl-body .ttl{ font-size: 14px; line-height: 1.5; margin-top: 20px; font-weight: normal; letter-spacing: 0.2em; padding-left: 0.2em; }
#main-content .section-access{ padding: 180px 0 220px; padding-top: 70px; text-align: center; background-color: #ffffff; }
#main-content .section-access .ttl-body::before{ background-color: #ffffff; }
#main-content .section-access .ttl-body .en{ color: #ffffff; }
#main-content .section-access .ttl-body .ttl{ color: #ffffff; }
#main-content .section-access .hero{ height: 560px; position: relative; }
#main-content .section-access .hero::before{ content: ""; position: absolute; width: 30%; height: 420px; position: absolute; left: 0; top: 0; margin-top: -70px; background-color: #372f1d; }
#main-content .section-access .hero::after{ content: ""; position: absolute; width: 30%; height: 420px; position: absolute; right: 0; bottom: 0; margin-bottom: -70px; background-color: #e4e2e0; }
#main-content .section-access .hero .bg{ width: 90%; height: 100%; margin: 0 auto; position: relative; background: center center no-repeat; background-size: cover; z-index: 5; }
#main-content .section-access .hero .bg .caption{ position: absolute; right: 0; bottom: 0; padding: 2px 7px; color: #ffffff; }
#main-content .section-access .txt-body{ position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); z-index: 10; width: 100%; }
#main-content .section-access .copy{ font-size: 24px; line-height: 1.9; color: #ffffff; margin-top: 50px; }
#main-content .section-access .route{ max-width: 940px; margin: 120px auto 0; }
#main-content .section-access .route .map{ margin-top: 50px; }
#main-content .section-access .route .caption{ text-align: left; }
#main-content .section-access .access-list{ max-width: 1400px; margin: 150px auto 0; display: -ms-flex; display: flex; justify-content: space-between; }
#main-content .section-access .access-list .item{ width: 50%; }
#main-content .section-access .access-list .item .photo{ position: relative; }
#main-content .section-access .access-list .item .photo img{ width: 100%; height: auto; }
#main-content .section-access .access-list .item .caption{ padding: 0 5px; text-align: right; }
#main-content .section-location{ padding: 180px 0 220px; text-align: center; background-color: #372f1d; position: relative; z-index: 1000; }
#main-content .section-location .ttl-body::before{ background-color: #ffffff; }
#main-content .section-location .ttl-body .en{ color: #ffffff; }
#main-content .section-location .ttl-body .ttl{ color: #ffffff; }
#main-content .section-location .copy{ font-size: 24px; line-height: 1.9; color: #ffffff; margin-top: 64px; }
#main-content .section-location .photo-list{ max-width: 1030px; margin: 60px auto 0; position: relative; }
#main-content .section-location .photo-list .deco{ position: absolute; top: 0; }
#main-content .section-location .photo-list .deco01{ left: 0; width: 30.49%; padding-top: 30.49%; margin: 2.52% 0 0 -5.34%; background-color: #1e0e00; }
#main-content .section-location .photo-list .deco02{ right: 0; width: 30.49%; padding-top: 30.49%; margin: 5.83% -5.34% 0 0; background-color: #1e0e00; }
#main-content .section-location .photo-list .deco03{ left: 0; width: 30.49%; padding-top: 30.49%; margin: 46.99% 0 0 52.91%; background-color: #554e3f; }
#main-content .section-location .photo-list .item{ position: relative; z-index: 5; }
#main-content .section-location .photo-list .item01{ width: 41.46%; margin: 0 1.46% 0 auto; z-index: 6; }
#main-content .section-location .photo-list .item02{ width: 62.14%; margin-top: -20.39%; }
#main-content .section-location .photo-list .item03{ width: 20.87%; margin: -11.26% 0 0 auto; }
#main-content .section-location .photo-list .item04{ width: 50%; margin: -3.3% 0 0 20.78%; }
#main-content .section-location .photo-list .item .caption{ position: absolute; right: 0; top: 100%; color: #ffffff; }
#main-content .section-lifeinfo{ padding-bottom: 140px; }
#main-content .section-lifeinfo .cat{ padding-top: 100px; position: relative; }
#main-content .section-lifeinfo .cat:nth-child(2n+1)::before{ content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: #f4f2ef; transform: translateY(-125px); }
#main-content .section-lifeinfo .cat .cat-body{ max-width: 1112px; width: 100%; margin: 0 auto; position: relative; z-index: 50; }
#main-content .section-lifeinfo .cat .cat-body .split-ttl{ display: flex; display: -ms-flex; align-items: center; }
#main-content .section-lifeinfo .cat .cat-body .split-ttl .en{ font-size: 24px; line-height: 1.2; color: #372f1d; font-weight: bold; position: relative; padding: 25px 0; }
#main-content .section-lifeinfo .cat .cat-body .split-ttl .en::before{ content: ""; position: absolute; left: 0; top: 0; width: 45px; height: 2px; background-color: #a8955b; }
#main-content .section-lifeinfo .cat .cat-body .split-ttl .en .word{ letter-spacing: 0.3em; display: inline-block; margin-right: -0.3em; }
#main-content .section-lifeinfo .cat .cat-body .split-ttl .ttl{ font-size: 14px; line-height: 1.5; color: #3d3d3d; font-weight: normal; padding-left: 20px; }
#main-content .section-lifeinfo .cat:nth-child(2n+1) .cat-body .split-ttl{ flex-direction: row-reverse; }
#main-content .section-lifeinfo .cat:nth-child(2n+1) .cat-body .split-ttl .ttl{ padding-left: 0; padding-right: 20px; }
#main-content .section-lifeinfo .cat:nth-child(2n+1) .cat-body .split-ttl .en::before{ left: auto; right: 0; }
#main-content .section-lifeinfo .cat .cat-body .list-item{ overflow: hidden; }
#main-content .section-lifeinfo .cat .cat-body .list-item .item{ width: 23.38%; display: inline-block; vertical-align: top; }
#main-content .section-lifeinfo .cat .cat-body .list-item .item:nth-child(1){ width: 48.20%; float: left; }
#main-content .section-lifeinfo .cat:nth-child(2n+1) .cat-body .list-item .item:nth-child(1){ float: right; }
#main-content .section-lifeinfo .cat .cat-body .list-item .item:nth-child(2n+3){ margin-left: 1.97%; }
#main-content .section-lifeinfo .cat:nth-child(2n+2) .cat-body .list-item .item:nth-child(2n+2){ margin-left: 3.05%; }
#main-content .section-lifeinfo .cat .cat-body .list-item .item:nth-child(n+4){ margin-top: 1.97%; }
#main-content .section-lifeinfo .cat04 .cat-body .list-item .item:nth-child(n){ width: 48.20%; }
#main-content .section-lifeinfo .cat04 .cat-body .list-item .item:nth-child(1){ float: left; }
#main-content .section-lifeinfo .cat04 .cat-body .list-item .item:nth-child(2){ float: right; margin: 0!important; }
#main-content .section-lifeinfo .cat .cat-body .list-item .item .photo img{ width: 100%; height: auto; }
#main-content .section-lifeinfo .cat .cat-body .list-item .item .name,
#main-content .section-lifeinfo .cat .cat-body .list-item .item .distance{ font-size: 14px; line-height: 1.5; }







/*--レスポンシブ追加プロパティ--------------------------------------*/
@media screen and (min-width: 1400px){ /*1400px以上のcss*/
	#main-content .hero .split-view .item .photo{ width: 100%; left: auto; transform: none; }
}
@media screen and (max-width: 1112px){ /*1112px以下のcss*/
}
@media screen and (max-width: 768px){ /*768px以下のcss*/
	#main-content .hero .ttl-body .en{ letter-spacing: 0.2em; padding-left: 0.2em; }
	#main-content .hero .split-view .item .photo{ width: 180%; }
	#main-content .intro-copy{ font-size: 20px; line-height: 1.7; padding: 10% 5%; }
	#main-content .section .ttl-body .ttl{ margin-top: 10px; }
	#main-content .section-access{ padding: 0 0 29.33%; }
	#main-content .section-access .hero{ height: 150vw; height: calc(var(--vh, 1vh) * 100); }
	#main-content .section-access .hero::before,
	#main-content .section-access .hero::after{ display: none; }
	#main-content .section-access .hero .bg{ width: 100%; }
	#main-content .section-access .copy{ font-size: 20px; margin-top: 10%; }
	#main-content .section-access .route{ margin: 10% auto 0; padding: 0 5%; }
	#main-content .section-access .route .map{ margin-top: 5%; }
	#main-content .section-access .access-list{ margin: 10% auto 0; display: block; }
	#main-content .section-access .access-list .item{ width: 100%; }
	#main-content .section-access .access-list .item:nth-child(1) .caption{ display: none; }
	#main-content .section-access .access-list .item .caption{ text-align: left; }
	#main-content .section-location{ padding: 29.33% 0; }
	#main-content .section-location .copy{ font-size: 20px; margin-top: 10%; }
	#main-content .section-location .photo-list{ margin: 15% auto 0; position: relative; }
	#main-content .section-location .photo-list .deco{ display: none; }
	#main-content .section-location .photo-list .item01{ width: 57.07%; padding-top: 56.67%; margin: 0 0 0 39.73%; }
	#main-content .section-location .photo-list .item02{ width: 85.33%; margin: 0 0 0 7.33%; position: absolute; left: 0; top: 0; }
	#main-content .section-location .photo-list .item03{ width: 28.67%; margin: -17.07% 0 0 3.2%; z-index: 6; }
	#main-content .section-location .photo-list .item04{ width: 68.53%; margin: -5.38% 0 0 26.8%; }
	#main-content .section-location .photo-list .item .caption{ display: none; }
	#main-content .section-location .photo-list .item04 .caption{ display: block; }
	#main-content .section-lifeinfo{ padding-bottom: 15%; }
	#main-content .section-lifeinfo .cat{ padding: 15% 5% 0; }
	#main-content .section-lifeinfo .cat:nth-child(2n+1)::before{ transform: translateY(-22vw); }
	#main-content .section-lifeinfo .cat .cat-body .split-ttl{ display: block; padding-bottom: 5%; }
	#main-content .section-lifeinfo .cat:nth-child(n) .cat-body .split-ttl .en{ padding: 5% 0 0; }
	#main-content .section-lifeinfo .cat:nth-child(n) .cat-body .split-ttl .ttl{ padding: 0; margin-top: 1%; }
	#main-content .section-lifeinfo .cat:nth-child(n) .cat-body .split-ttl .en::before{ left: 0; right: auto; }
	#main-content .section-lifeinfo .cat .cat-body .list-item{ display: flex; display: -ms-flex; flex-wrap: wrap; justify-content: space-between; }
	#main-content .section-lifeinfo .cat .cat-body .list-item .item{ width: 48%; }
	#main-content .section-lifeinfo .cat:nth-child(n) .cat-body .list-item .item:nth-child(1){ width: 100%; float: none; }
	#main-content .section-lifeinfo .cat:nth-child(n) .cat-body .list-item .item:nth-child(n+2){ margin: 5% 0 0; float: none; }
	#main-content .section-lifeinfo .cat04 .cat-body .list-item .item:nth-child(n+2){ width: 100%; margin-top: 5%!important; }
}
@media screen and (max-width: 480px){ /*480px以下のcss*/
	#main-content .section-access .copy{ font-size: 20px; }
	#main-content .section-location .copy{ font-size: 20px; padding: 0 5%; }
}





/*animation*/
#main-content .section .ttl-body .en,
#main-content .section .ttl-body .ttl{ position: relative; opacity: 1; overflow: hidden; }
#main-content .section .ttl-body .en::before,
#main-content .section .ttl-body .ttl::before{ content: ""; position: absolute; right: 0; top: 0; width: 200%; height: 100%; background: linear-gradient(to left, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%); }
#main-content .section .ttl-body.show .en::before,
#main-content .section .ttl-body.show .ttl::before{ transform: translateX(100%); transition: transform 1.2s cubic-bezier(0.645, 0.045, 0.355, 1.000); }
#main-content .section-access .ttl-body .en::before,
#main-content .section-access .ttl-body .ttl::before{ display: none; }
#main-content .section-access .hero .bg{ height: 0; }
#main-content .section-access .hero .bg.show{ height: 100%; transition: height 1.5s ease; }
@media screen and (max-width: 768px){ /*768px以下のcss*/
	#main-content .section-access .hero .bg{ height: 100%; }
	#main-content .section-access .hero .bg::before{ content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; background-color: #ffffff; }
	#main-content .section-access .hero .bg.show::before{ height: 0; transition: height 1.5s ease; }
}
#main-content .section-access .route .map+.caption{ opacity: 0; }
#main-content .section-access .route .map.show+.caption{ opacity: 1; transition: opacity 1s; }
#main-content .section-access .access-list .item .photo::before{ content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 100%; background-color: #ffffff; }
#main-content .section-access .access-list .item .photo.show::before{ height: 0; transition: height 1.5s ease; }
#main-content .section-access .access-list .item .photo+.caption{ opacity: 0; }
#main-content .section-access .access-list .item .photo.show+.caption{ opacity: 1; transition: opacity 1s; }
#main-content .section-location .ttl-body .en::before,
#main-content .section-location .ttl-body .ttl::before{ background: linear-gradient(to left, rgba(55,47,29,1) 50%, rgba(55,47,29,0) 100%); }
#main-content .section-location .photo-list .item .photo{ opacity: 0; filter: blur(10px); }
#main-content .section-location .photo-list .item .photo.show{ opacity: 1; filter: blur(0px); transition: opacity 1.5s ease, filter 1.5s ease; }
#main-content .section-location .photo-list .item .photo+.caption{ opacity: 0; }
#main-content .section-location .photo-list .item .photo.show+.caption{ opacity: 1; transition: opacity 1s; }





