
body{margin:0;background:#F6F3EC}
h1,h2,h3{text-wrap:balance}
p,dd,li,blockquote{text-wrap:pretty}
a{color:#23241F}a:hover{color:#6E5530}
.fx .sway{transform-box:fill-box;transform-origin:100% 0%;animation:sway 11s ease-in-out infinite alternate}
.fx .sway2{transform-box:fill-box;transform-origin:100% 50%;animation:sway 14s ease-in-out -4s infinite alternate-reverse}
.fx .sway3{transform-box:fill-box;transform-origin:0% 100%;animation:sway 13s ease-in-out -2s infinite alternate}
@keyframes sway{0%{transform:rotate(-1deg) translate(0,0)}35%{transform:rotate(0.4deg) translate(-5px,3px)}70%{transform:rotate(-0.3deg) translate(3px,5px)}100%{transform:rotate(1.2deg) translate(4px,-2px)}}
.fx .tw{animation:tw 7s ease-in-out infinite alternate}
@keyframes tw{0%{opacity:.25}45%{opacity:.95}100%{opacity:.45}}
.fx .kb{animation:kb 28s ease-in-out infinite alternate;transform-origin:60% 40%}
@keyframes kb{from{transform:scale(1.03)}to{transform:scale(1.13) translate(-1.2%,-0.8%)}}
.fx .glow{animation:glow 16s ease-in-out infinite alternate}
@keyframes glow{from{opacity:.75;transform:translate(0,0) scale(1)}to{opacity:1;transform:translate(-30px,20px) scale(1.06)}}
.fx .draw{stroke-dasharray:2600;stroke-dashoffset:2600;animation:draw 4.5s cubic-bezier(.6,.05,.25,1) .4s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.fx .rise{animation:rise 1.4s cubic-bezier(.2,.7,.2,1) both}
.fx .rise.d2{animation-delay:.25s}.fx .rise.d3{animation-delay:.5s}.fx .rise.d4{animation-delay:.75s}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@supports (animation-timeline: view()){
.fx .rv{animation:rv linear both;animation-timeline:view();animation-range:entry 0% entry 70%}
@keyframes rv{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.fx .ph{animation:ph linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
@keyframes ph{from{transform:translateY(24px)}to{transform:translateY(-24px)}}
}
.fx .sticky-head{animation:sdown .6s cubic-bezier(.2,.7,.2,1) both}
@keyframes sdown{from{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:none}}
.artbg{position:relative;isolation:isolate;overflow:hidden}
.abg{position:absolute;inset:0;z-index:-1;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 14%,#000 86%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 14%,#000 86%,transparent 100%)}
.abg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.8)}
.abg-ov{position:absolute;inset:0}
.sw-hint,.rmore,.gtog,.rmore-t{display:none}
.guide-dl dt label{cursor:inherit}
.float-rsv{transition:opacity .45s ease,transform .45s ease,background-color .6s ease}
.float-rsv.is-hidden{opacity:0;transform:translateY(14px);pointer-events:none}
.btn{transition:background-color .6s ease,color .6s ease,border-color .6s ease}
.btn-ink:hover{background:#000000 !important;color:#FFFFFF !important}
.btn-line:hover{background:#23241F !important;color:#FFFFFF !important}
.btn-light:hover{background:#E9E1D2 !important}
.btn-ghost:hover{background:rgba(255,255,255,.12) !important}
.navlink{background-image:linear-gradient(#A8874F,#A8874F);background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .6s ease}
.navlink:hover{background-size:100% 1px}
@media (max-width: 760px){
.pc{display:none}
.ov-hero{background:linear-gradient(180deg,rgba(246,243,236,.9) 0%,rgba(246,243,236,.86) 60%,rgba(246,243,236,.94) 100%) !important}
.ov-band{background:rgba(246,243,236,.86) !important}
.navlink{display:none}
#top header nav{display:none}
.sgal{max-width:none !important}
.swipe{display:flex !important;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px !important;margin:0 -22px !important;padding:0 22px 6px !important;scroll-padding-left:22px;scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:flex-start !important}
.swipe::-webkit-scrollbar{display:none}
.swipe>*{flex:0 0 80% !important;min-width:0;scroll-snap-align:start;margin-top:0 !important}
.rv-swipe>*{flex-basis:86% !important}
.sgal>*{flex-basis:64% !important}
.swipe .rv{opacity:1 !important;transform:none !important}
.sw-hint{display:flex !important;align-items:center;gap:10px;margin:0 0 -8px !important;font-size:11px;letter-spacing:.2em;color:#8A6C3C}
.sw-hint span{display:inline-block;animation:swh 1.8s ease-in-out infinite}
@keyframes swh{0%,100%{transform:none}50%{transform:translateX(6px)}}
.ins-ph{aspect-ratio:1/1 !important}
.ins-swipe h3{font-size:28px !important;white-space:nowrap;flex:0 0 auto}
.ins-swipe h3+span{text-align:right}
.rmore-t:not(:checked)+blockquote{display:-webkit-box !important;-webkit-line-clamp:8;-webkit-box-orient:vertical;overflow:hidden}
.rmore{display:inline-block !important;align-self:flex-start;font-size:12px;letter-spacing:.15em;color:#23241F;border-bottom:1px solid #A8874F;padding-bottom:2px;cursor:pointer;margin-top:-8px}
.rmore::after{content:"続きを読む"}
.rmore-t:checked~.rmore::after{content:"閉じる"}
.m-hide{display:none !important}
.arch-strip{height:130px !important}
.guide-dl{display:block !important}
.guide-dl dt{padding:0 !important}
.guide-dl dt label{display:flex;justify-content:space-between;align-items:center;padding:18px 2px 18px 0;cursor:pointer}
.guide-dl dt label::after{content:"+";font-family:'Cormorant Garamond',serif;font-size:22px;line-height:1;color:#8A6C3C;transition:transform .3s}
.gtog:checked+dt label::after{transform:rotate(45deg)}
.gtog:not(:checked)+dt+dd{display:none}
.gtog:checked+dt{border-bottom:none !important}
.guide-dl dd{padding:0 0 20px !important}
.guide-dl dt br{display:none}

.stu{grid-template-columns:1fr !important;padding:96px 20px 40px !important}
.stu{display:flex !important;flex-direction:column}
.stu-side{display:contents !important}
.qr-block{display:none !important}
.route{max-width:260px !important;align-self:center}
.stu-lab{order:-1;margin-bottom:20px;padding-top:0 !important}
.stu-main{order:0}
.stu-sub{order:1}
.sticky-nav a{flex:0 0 auto;white-space:nowrap !important}
.sticky-nav wbr{display:none}
.stu-sub{margin:-56px 0 0 auto !important;width:62% !important}
.abg-ov{background:rgba(246,243,236,.86) !important}
.sticky-in{padding:10px 16px !important;flex-direction:column;align-items:stretch !important;gap:6px !important}
.sticky-in > a{justify-content:center}
.sticky-nav{overflow-x:auto;gap:4px 20px !important;font-size:12px !important;padding-bottom:2px;scrollbar-width:none}
.sticky-nav::-webkit-scrollbar{display:none}
.sticky-head .navlink{display:inline-block !important}
.sticky-nav .btn{display:none}

section:not(#top) > div:not([aria-hidden]){padding-left:22px !important;padding-right:22px !important}
section:not(#top):not([aria-label]) > div[style*="padding: 1"]{padding-top:88px !important;padding-bottom:88px !important}
section[aria-label] > div[style*="padding: 1"]{padding-top:80px !important;padding-bottom:190px !important}
#top{min-height:0 !important}
#top > div[style*="padding: 96px"]{padding:48px 22px 56px !important}
.hero-line{display:none}
.facts{position:relative !important;background:rgba(246,243,236,.6)}
.facts ul{padding:6px 22px !important}
.facts li{flex:1 1 45% !important;padding:12px 0 !important;font-size:12px;letter-spacing:.06em !important}
#top header > div{padding:20px 22px !important}
h2{font-size:26px !important;line-height:1.7 !important}
dl{grid-template-columns:1fr !important}
dl dt{border-bottom:none !important;padding-bottom:2px !important}
dl dd{padding-top:0 !important}

}
@media (prefers-reduced-motion: reduce){.fx *{animation:none !important}.fx .draw{stroke-dashoffset:0}}

#sticky-wrap[hidden]{display:none}
