@import url("default.css");
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;700&family=Noto+Sans+JP:wght@300;400;700&family=Noto+Serif+JP:wght@400;600&family=Shippori+Mincho&display=swap');

* {-webkit-text-size-adjust:100%;}
a:link {text-decoration:none; color:#480508;}
a:visited{text-decoration:none; color:#480508;}
a:hover{text-decoration:none; color:#480508;}
a:active{text-decoration:none; color:#480508;}

.grecaptcha-badge { opacity: 0; }
.full-width { margin-left: calc(-50vw + 50%); margin-right: calc(-50vw + 50%); }
.allWrapper { overflow: hidden; }
.container-fluid { max-width: 1140px; padding-left: 30px; padding-right: 30px; }

body { font-size: 14px; min-width: 1160px; line-height: 2; letter-spacing: .16em; color: #480508; background-color: #fff; font-family: 'Noto Sans JP', sans-serif; font-weight: 400; font-feature-settings: "palt"; }
header { position: fixed; padding-left: 40px; left: 0; top: 0; width: 100%; z-index: 10; }
header .wrap { display: flex; align-items: center; justify-content: space-between; height: 60px; }
header .left { display: flex; align-items: center; }
header .menu-trg-area { width: 40px; height: 8px; cursor: pointer; position: relative; }
header .menu-trigger { position: absolute; top: 0; width: 45px; height: 8px; z-index: 2; left: 0; right: 0; margin: auto; transition: all .4s; }
header .menu-trigger span { position: absolute; left: 0; width: 100%; height: 1px; background-color: #33391a; transition: all .4s; }
header .menu-trigger span:nth-of-type(1) { top: 0;}
header .menu-trigger span:nth-of-type(2) { bottom: 0;}
header .menu-trigger.active span:nth-of-type(1) { -webkit-transform: translateY(20px) rotate(-45deg); transform: translateY(20px) rotate(-45deg); top: -16px;}
header .menu-trigger.active span:nth-of-type(2) { -webkit-transform: translateY(-20px) rotate(45deg); transform: translateY(-20px) rotate(45deg); bottom: -16px;}
footer { background: #480508; color: #fff; padding: 45px 0 30px; letter-spacing: .05em; }
footer .logo { text-align: center; }
footer .logo img { width: 170px; }
footer .sns a { display: block; margin: 10px; }
footer .list1 { display: flex; font-size: 12px; flex-wrap: wrap; }
footer .list1 li { border-left: 1px solid #fff; padding-left: 15px; margin-left: 15px; line-height: 1; margin-bottom: 10px; letter-spacing: .05em; }
footer .list1 li:first-child { border-left: 0; margin-left: 0; padding-left: 0; }
footer .list1 li a { color: #fff; }
footer .list1 li:last-child { padding-left: 0; border-left: 0; margin-left: 0; }
footer .links { padding-bottom: 50px; }
footer .links .title { font-size: 14px; letter-spacing: .05em; margin-bottom: 20px; }
footer .links ._wrapper { text-align: left; }
footer .links ._relo { padding-bottom: 20px; }
footer .links ._sdgs .title { margin-bottom: 10px; }
footer .links ._sdgs .wrap { display: flex; align-items: center; flex-wrap: wrap; }
footer .links ._sdgs .wrap > * { margin-right: 30px; }
footer .links ._sdgs p { font-size: 10px; letter-spacing: .05em; width: 100%; margin-top: 15px; }
footer .bl:before { content: ""; position: absolute; left: -20px; top: 0; height: 100%; width: 1px; background: #fff; }
footer .copyright { font-size: 10px; letter-spacing: .15em; text-align: center; border-top: 1px solid #fff; margin-top: 25px; padding-top: 25px; }
footer .sns-title { width: 100%; }
hr { margin: 10px 0; border-color: rgba(198,176,129,.75); }
hr.short { width: 25px; margin-left: auto; margin-right: auto; }
hr.left { margin-left: 0; }
hr.white { border-color: rgba(255,255,255,.5); }
.menus { display: flex; }
.menus a,
.menus .lang-button { background: #ad8e4b; display: flex; align-items: center; justify-content: center; color: #fff; height: 60px; border-right: 1px solid #fff; width: 130px; font-size: 13px; letter-spacing: .14em; }
.menus .lang-button { background: #33391a; position: relative; cursor: pointer; }
.menus .lang-button:after { content: ""; border-bottom: 1px solid #fff; border-right: 1px solid #fff; transform: rotate(45deg); width: 5px; height: 5px; transform: rotate(45deg); display: block; margin-left: 10px; }
.menus .lang-wrap { opacity: 0; visibility: hidden; position: absolute; right: 10px; width: 200px; top: calc(100% + 10px); background: #fff; border-radius: 0.5em; padding: 15px 15px; font-size: 12px; letter-spacing: .1em; }
.menus .lang-wrap a { display: block; color: #480508; height: auto; font-size: 12px; letter-spacing: .1em; width: 100%; text-align: left; background: none; z-index: 999; }
.menus .lang-button.active .lang-wrap { opacity: 1; visibility: visible; }
.gnav { opacity: 0; visibility: hidden; transition: .3s; position: fixed; left: 0; top: 0; height: 100%; color: #fff; width: 100%; padding: 20px 45px 30px; z-index: 999; text-align: center; }
.gnav.active { opacity: 1; visibility: visible; }
.gnav:before { content: ""; background-image: url(../images/loading_bg.jpg); position: absolute; left: 0; top: 0; width: 100%; height: 100%; opacity: 0.9; pointer-events: none; z-index: -1; }
.gnav a { color: #fff; }
.gnav .wrapper { position: relative; max-width: 490px; margin-left: auto; margin-right: auto; }
.gnav .closed { width: 30px; height: 30px; position: relative; cursor: pointer; }
.gnav .closed:before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; right: 0; margin: auto; width: 100%; height: 1px; background: #fff; transform: rotate(45deg); }
.gnav .closed:after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; right: 0; margin: auto; width: 100%; height: 1px; background: #fff; transform: rotate(-45deg); }
.gnav .img_logo { width: 110px; position: absolute; bottom: 0; right: 0; }
.gnav .buttons a { border: 1px solid #fff; padding: 5px 20px; line-height: 1; margin-right: 15px; font-size: 13px; }
.gnav .link1 { font-size: 17px; letter-spacing: .14em; display: flex; justify-content: center; flex-wrap: wrap; font-weight: 400; line-height: 1; }
.gnav .link1 li { margin-bottom: 20px; padding: 0 20px; border-right: 1px solid #fff; }
.gnav .link1 li.turn,
.gnav .link1 li:last-child { border: none; }
.gnav .link1 a:hover { text-decoration: underline; text-underline-position: under; }
.gnav .link2 { font-size: 13px; letter-spacing: .12em; font-weight: 400; display: flex; justify-content: center; }
.gnav .link2 li { margin-bottom: 10px; padding: 0 10px; line-height: 1; border-right: 1px solid #fff; }
.gnav .link2 li:last-child { border: none; }
.fw300 { font-weight: 300!important; }
.fw400 { font-weight: 400!important; }
.fw500 { font-weight: 500!important; }
.fw600 { font-weight: 600!important; }
.serif { font-family: 'Noto Serif JP', serif; font-weight: 600; }
.cormo { font-family: 'Cormorant Garamond', serif; }
.shippori { font-family: 'Shippori Mincho', serif; }
.sec-title { font-family: 'Cormorant Garamond', serif; font-size: 44px; letter-spacing: .04em; }
.set-title { text-align: center; line-height: 1.2; }
.set-title .jp { font-family: 'Noto Serif JP', serif; font-weight: 300; font-size: 32px; letter-spacing: .34em; margin-bottom: 15px; }
.set-title .en { font-family: 'Cormorant Garamond', serif; font-size: 16px; letter-spacing: .12em; }
.color-black { color: #480508; }
.slick-dots { bottom: 45px; }
.slick-dots li { width: 7px; height: 7px; margin: 4px; }
.slick-dots li button { background: #fff; opacity: .7; width: 100%; height: 100%; border-radius: 100%; padding: 0; }
.dots-dark .slick-dots li button { background: #000; }
.slick-dots li.slick-active button { opacity: 1; }
.slick-dots li button:before { display: none; }
.firstView { position: relative; }
.firstView .contents { width: 100%; height: 100%; position: absolute; top: 0; left: 0; right: 0; margin: 0 auto; text-align: left; display: flex; align-items: center; width: 1080px; color: #fff; padding-bottom: 80px; }
.firstView .bg { height: 100vh; min-height: 600px; max-height: 880px; }
.firstView .scroll { position: absolute; left: -1080px; right: 0; bottom: 0; width: 1px; margin: 0 auto; }
.firstView .scroll img { margin-bottom: 13px; max-width: none; position: relative; }
.firstView .scroll .text { margin-bottom: 10px; line-height: 1; font-size: 12px; color: #fff; font-weight: 300; position: relative; left: -1px; }
.firstView .scroll > div { height: 150px; width: 1px; background: rgba(255,255,255,.3); position: relative; }
.firstView .scroll > div:before { content: ""; position: absolute; top: 0; height: 0; transition: 2.5s; width: 1px; background: #fff; }
.firstView .scroll[style*="opacity: 1"] > div:before { height: 100%; }
.firstView .common-slider { margin-bottom: 0; }
.firstView .common-slider .slide-animation .bg { animation: hero_scroll 15s linear 0s 1 normal forwards; background-size: 120% auto; }
.firstView .title { margin-bottom: 50px; }
.firstView .title p { font-size: 21px; letter-spacing: .33em; font-weight: 400; margin-bottom: 10px; }
.firstView .title .main { font-size: 42px; letter-spacing: .38em; font-weight: 400; }
.firstView .p1 { font-size: 16px; letter-spacing: .42em; text-indent: .42em; }
.firstView .date { font-size: 25px; display: flex; justify-content: center; line-height: 1; letter-spacing: .3em; margin-top: 30px; }
.firstView .date > div { display: flex; border-bottom: 1px solid #fff; padding-bottom: 10px; }
.firstView .date .left { border-right: 1px solid #fff; margin-right: 20px; padding-right: 20px; }
.firstView .bottom { position: absolute; bottom: 0; left: 0; width: 100%; z-index: 1; pointer-events: none; }
.firstView .en { font-size: 10px; margin-top: 40px; }
.concept { background: #480508; color: #c6b081; }
.concept .concept_kv { display: flex; justify-content: center; }
.concept .concept_kv .title { font-size: 22px; letter-spacing: .34em; margin-right: 120px; padding-top: 10px; }
.concept .concept_kv .contents { font-size: 15px; letter-spacing: .2em; line-height: 2.1; }
.concept .caution { border-top: 1px solid rgba(186,180,167,.75); border-bottom: 1px solid rgba(186,180,167,.75); text-align: center; padding: 25px 0; }
.concept .caution .title { font-size: 17px; letter-spacing: .2em; margin-bottom: 20px; }
.concept .caution p { font-size: 13px; letter-spacing: .12em; line-height: 2.2; }
.about { padding: 100px 0 120px; background: #480508; color: #c6b081; }
.about ul li { margin-bottom: 80px; }
.about ul li:last-child { margin-bottom: 0; }
.about ul li .title .en { font-size: 72px; letter-spacing: .12em; line-height: 1; white-space: nowrap; }
.about ul li .title .jp { font-weight: 300; letter-spacing: .34em; }
.about ul li .title hr { margin: 25px 0 25px; }
.about ul li .contents { font-weight: 300; }
.about ul li .catch { font-size: 20px; letter-spacing: .2em; margin-bottom: 30px; }
.facility { background-color: #9d9481; color: #efede5; }
.facility-card .photo { margin-bottom: 30px; }
.facility-card .title { font-size: 22px; letter-spacing: .3em; margin-bottom: 10px; font-weight: 300; }
.facility-card p { font-size: 13px; letter-spacing: .1em; font-weight: 300; }
.rate-box { display: flex; flex-wrap: wrap; background: rgb(240,204,126); background: linear-gradient(135deg, rgba(240,204,126,1) 0%, rgba(232,196,126,1) 17%, rgba(171,105,34,1) 55%, rgba(239,202,132,1) 85%, rgba(244,231,207,1) 100%); padding: 3px; }
.rate-box .photo { width: 43%; }
.rate-box .contents { width: 57%; background: #9d9481; color: #fff; padding: 35px 20px 30px 45px; position: relative; }
.rate-box .top .icon { position: absolute; right: 50px; top: 3px; }
.rate-box .top .title { margin-bottom: 15px; line-height: 1.5; }
.rate-box .top .title span { border-bottom: 1px solid #fff; padding-bottom: 10px; display: inline-block; }
.rate-box .top .title .small { font-weight: 400; font-size: 14px; letter-spacing: .2em; margin-bottom: 7px; }
.rate-box .top .title .main { font-weight: 500; font-size: 25px; letter-spacing: .2em; }
.rate-box .top p { font-size: 13px; letter-spacing: .12em; line-height: 2.15; }
.rate-box .bottom { display: flex; flex-wrap: wrap; justify-content: flex-start; margin-left: -18px; margin-top: 20px; }
.rate-box .bottom .link-button { border: 1px solid #fff; position: relative; padding: 5px 30px; width: 220px; color: #fff; margin: 0 18px; }
.rate-box .bottom .link-button:before { content: ""; position: absolute; right: 20px; top: 0; bottom: 0; margin: auto 0; height: 7px; width: 7px; border-top: 1px solid #fff; border-right: 1px solid #fff; transform: rotate(45deg); }
.access { background: #eef0f3; }
.access-list li { margin-bottom: 60px; padding-bottom: 55px; border-bottom: 1px solid rgba(51,57,26,.75); }
.access-list li:last-child { margin-bottom: 0; padding-bottom: 0; border: none; }
.access-list .title { text-align: center; margin-bottom: 40px; }
.access-list .title .text { font-size: 19px; letter-spacing: .2em; font-weight: 400; margin-top: 20px; }
.access-list .map { text-align: center; }
.gmap iframe { display: block; width: 100%; height: 270px; }

@keyframes arrow {
	0% { height: 0; }
	45% { height: 100%; }
	55% { height: 100%; top: 0; }
	100% { height: 0; top: 100%; }
}
@keyframes hero-arrow {
	0% { height: 0; }
	100% { height: 190px; }
}
@keyframes hero_scroll {
	0% { background-position: left 40% top; }
	100% { background-position: left 70% top; }
}
@media (min-width: 768px) {
	.header1 { padding: 20px 30px; position: absolute; min-width: 1160px; }
	.header1 .right { display: flex; align-items: center; }
	.header1 .menu-trg-area { margin-left: 20px; }
	.header1 .menu-trigger { height: 11px; }
	.header1 .menu-trigger span { background: #fff; }
	.header1 .menu-trigger span:nth-of-type(2) { width: 37px; }
	.header2 { background: #fff; padding: 0 30px; position: fixed; top: -90px; transition: .3s; }
	.header2.active { top: 0; }
	.header2 .wrap { height: 70px; }
	.header2 .right { display: flex; align-items: center; }
	.header2 .cmn-menu { display: flex; align-items: center; margin-right: 20px; font-size: 13px; }
	.header2 .cmn-menu li { line-height: 1; padding-left: 20px; margin-left: 20px; border-left: 1px solid #480508; }
	.header2 .cmn-menu li:first-child { border: none; margin-left: 0; padding-left: 0; }
	.header2 .menus a { border: 1px solid #480508; color: #480508; background: none; height: 23px; width: 100px; font-size: 13px; }
	.header2 .menu-trigger { height: 11px; }
	.header2 .menu-trigger span:nth-of-type(2) { width: 37px; }
	.menus a,
	.menus .lang-button { margin-right: 15px; border: 1px solid #fff; background: none; height: 23px; width: 100px; font-size: 13px; }
	.menus .lang-button { border: none; border-bottom: 1px solid #fff; background: none!important; width: auto; padding-left: 3px; padding-right: 3px; margin-right: 0; }
	.concept .concept_kv .title { -ms-writing-mode: tb-rl; writing-mode: vertical-rl; }
	.about ul li:nth-child(even) .photo { order: 2; }
	.about ul li:nth-child(even) .contents { order: 1; }
}
@media (max-width: 767px) {
	body { min-width: 375px; font-size: 13px; }
	header { padding: 20px 25px; position: absolute; min-width: 375px; transform: none!important; }
	header .wrap { height: 50px; }
	header .logo img { width: 70px; }
	header .menu-trg-area { position: fixed; right: 0; background: #8c5a59; right: 0; bottom: 0; width: 33.3333%; margin-right: 0; height: 60px; color: #fff; }
	header .menu-trigger { top: 17px; }
	header .menu-trigger span { background: #fff; }
	header .menu-trigger span:nth-of-type(1) { width: 30px; }
	header .menu-trigger span:nth-of-type(2) { width: 20px; }
	header .menu-trg-area .name { position: absolute; bottom: 8px; left: 0; right: 0; text-align: center; font-size: 13px; line-height: 1; }
	header .menus .btns { position: fixed; width: 33.33333%; bottom: 0; font-family: 'Shippori Mincho', serif; font-size: 13px; letter-spacing: .13em; flex-wrap: wrap; line-height: 1; padding-bottom: 3px; }
	header .menus .btns .icon { width: 100%; text-align: center; margin-bottom: 5px; }
	header .menus .btn1 { left: 33.33333%; }
	header .menus .btn2 { left: 0; }
	header .menus .lang-button { height: 50px; background: none; border-bottom: 1px solid #fff; height: 20px; padding-left: 3px; padding-right: 3px; padding-bottom: 5px; width: auto; border-right: none; }
	footer { padding-bottom: 90px; text-align: center; }
	footer .logo img { width: 100px; }
	footer .sns a { margin: 7px; }
	footer .list1 { display: block; }
	footer .list1 li { width: 100%; border: none; padding-left: 0; margin-left: 0; margin-bottom: 15px; font-size: 11px; letter-spacing: .2em; }
	footer .links { padding: 30px 0 10px; }
	footer .links ._wrapper { flex-wrap: wrap; }
	footer .links ._relo { width: 100%; border-right: 0; padding-top: 30px; border-top: 1px solid #fff; padding-left: 20px; padding-right: 20px; padding-bottom: 0; margin-bottom: 20px; }
	footer .links ._sdgs { width: 100%; padding-left: 20px; padding-right: 20px; }
	footer .links ._sdgs .wrap { flex-wrap: wrap; }
	footer .links ._sdgs .wrap > * { margin-right: 20px; }
	footer .links ._sdgs .wrap > p { width: 100%; margin-top: 20px; }
	footer .sns { justify-content: center; }
	footer .sns-title { width: auto; }
	footer .copyright { letter-spacing: .05em; }
	main { margin-top: 0; }
	.header2 { display: none; }
	.gnav { width: 100%; padding: 25px; }
	.gnav .wrapper { max-width: 260px; }
	.gnav .logos img { width: 120px; }
	.gnav .tp { justify-content: flex-end!important; }
	.gnav .closed { margin-left: auto; order: 2; margin-left: 35px; }
	.gnav .menus { order: 1; }
	.gnav .menus .lang-button { z-index: 1; height: 20px; background: none; border: none; border-bottom: 1px solid #fff; width: auto; padding-left: 3px; padding-right: 3px; padding-bottom: 5px; }
	.gnav .buttons { position: fixed; left: 0; bottom: 0; width: 100%; display: flex; }
	.gnav .buttons a { width: 50%; display: block; text-align: center; margin-right: 0; border: none; border-right: 1px solid #fff; background: #ad8e4b; padding: 5px 0 8px; }
	.gnav .buttons a:last-child { border-right: 0; }
	.gnav .buttons a .icon { margin-bottom: 5px; }
	.gnav .link1 { font-size: 13px; }
	.gnav .link1 li { margin-bottom: 20px; padding: 0 10px; }
	.gnav .link1 li.turn { border-right: 1px solid #fff; }
	.gnav .link1 li.sp-turn { border: none; }
	.gnav .link2 { display: block; font-size: 12px; }
	.gnav .link2 li { border: none; font-size: 12px; margin-bottom: 15px; }
	.gnav .img_logo { width: 100px; }
	.container-fluid { padding-left: 25px; padding-right: 25px; }
	.sec-title { font-size: 30px; }
	.set-title .en { font-size: 30px; }
	.firstView .contents { width: calc(100% - 50px); }
	.firstView .title p { font-size: 17px; letter-spacing: .35em; }
	.firstView .title .main { font-size: 35px; }
	.firstView .p1 { font-size: 12px; letter-spacing: .34em; }
	.firstView .date { font-size: 14px; letter-spacing: .2em; margin-bottom: 15px; }
	.firstView .en { font-size: 10px; letter-spacing: .16em; margin-top: 30px; }
	.firstView .bg { height: auto; height: calc(100vh - 100px); min-height: 520px; }
	.firstView .common-slider .slide-animation .bg { background-size: auto 100%; }
	.firstView .scroll { right: auto; left: 25px; }
	.firstView .scroll > div { height: 100px; }
	.concept .concept_kv { display: block; }
	.concept .concept_kv .title { padding-top: 0; text-align: center; margin-right: 0; font-size: 18px; margin-bottom: 25px; }
	.concept .concept_kv .contents { font-size: 13px; text-align: center; line-height: 2.7; }
	.concept .caution { padding: 30px 0 30px; }
	.concept .caution .title { font-size: 15px; }
	.concept .caution p { font-size: 12px; }
	.rate-box { display: block; position: relative; }
	.rate-box .photo { width: 100%; padding-top: 40%; }
	.rate-box .contents { width: 100%; position: static; padding: 20px; }
	.rate-box .top .icon { right: 12px; width: 28%; }
	.rate-box .top .icon img { width: 100%; }
	.rate-box .top .title .small { font-size: 11px; letter-spacing: .05em; }
	.rate-box .top .title .main { font-size: 18px; white-space: nowrap; letter-spacing: .17em; }
	.rate-box .top .title span { padding-bottom: 5px; }
	.rate-box .top p { font-size: 12px; }
	.rate-box .bottom { margin-left: -8px; margin-right: -8px; margin-top: 15px; }
	.rate-box .bottom .link-button { width: calc(50% - 16px); margin: 0 8px; font-size:12px; letter-spacing: .07em; padding: 6px 10px; align-items: center; justify-content: center; text-align: center; background: #efede5; color: #9f9079; border: none; font-weight: bold; }
	.rate-box .bottom .link-button:before { display: none; }
	.about { padding: 60px 0 60px; }
	.about ul li { margin-bottom: 60px; }
	.about ul li .title { margin-bottom: 25px; }
	.about ul li .title .en { font-size: 47px; }
	.about ul li .catch { font-size: 17px; }
	.about ul li p { letter-spacing: .16em; line-height: 2.15; }
	.facility-card .title { text-align: center; }
	.facility-card p { letter-spacing: .16em; }
	.access-list li { border-bottom: none; padding-bottom: 0; margin-bottom: 60px; }
	.access-list .title { margin-bottom: 30px; }
	.access-list .title .text { font-size: 16px; }
}
