.route-preloader{position:fixed;inset:0;z-index:2850;display:grid;place-items:center;align-content:center;gap:clamp(22px,3vh,34px);background:var(--color-white,#ffffff);opacity:1;pointer-events:auto;transition:opacity .62s cubic-bezier(.16,1,.3,1),visibility .62s step-end}.route-preloader.is-exiting{opacity:0;visibility:hidden;pointer-events:none}.route-preloader-logo{width:clamp(86px,10vw,126px);height:auto}.route-preloader-track{width:clamp(78px,9vw,116px);height:1px;overflow:hidden;background:rgba(58,50,41,.14)}.route-preloader-track span{display:block;width:100%;height:100%;background:var(--color-dark-cocoa,#3a3229);transform-origin:left center;transition:transform .35s cubic-bezier(.16,1,.3,1)}html.is-route-preloading,html.is-route-preloading body{overflow:hidden}@media (prefers-reduced-motion:reduce){.route-preloader,.route-preloader-track span{transition-duration:1ms}}.quantized-scrollbar{display:none}@media (any-pointer:fine),(min-width:881px){html.has-quantized-scrollbar{scrollbar-width:none}html.has-quantized-scrollbar body::-webkit-scrollbar,html.has-quantized-scrollbar::-webkit-scrollbar{width:0;height:0}.quantized-scrollbar{position:fixed;z-index:10020;top:0;right:0;bottom:0;display:grid;grid-template-rows:14px minmax(0,1fr) 14px;width:12px;opacity:0;pointer-events:none;background:rgba(248,247,242,.92);transition:opacity .18s ease}.quantized-scrollbar.is-scrollable{opacity:1;pointer-events:auto}html.lenis-stopped .quantized-scrollbar{opacity:0;pointer-events:none}.quantized-scrollbar__track{position:relative;min-height:0;cursor:pointer;touch-action:none}.quantized-scrollbar__thumb{position:absolute;inset:0 0 auto;display:block;min-height:64px;cursor:grab;touch-action:none;border-radius:999px;background:rgba(58,50,41,.42);transition:background-color .16s ease}.quantized-scrollbar__thumb.is-dragging,.quantized-scrollbar__thumb:hover{background:rgba(58,50,41,.62)}.quantized-scrollbar__thumb.is-dragging{cursor:grabbing}.quantized-scrollbar__arrow{position:relative;display:grid;place-items:center;width:100%;min-width:0;padding:0;border:0;border-radius:0;cursor:pointer;color:rgba(58,50,41,.62);background:rgba(248,247,242,.92)}.quantized-scrollbar__arrow:focus-visible,.quantized-scrollbar__arrow:hover{color:rgba(58,50,41,.92);background:rgba(230,226,216,.96);outline:none}.quantized-scrollbar__arrow span{width:4px;height:4px;border-top:1px solid;border-left:1px solid}.quantized-scrollbar__arrow--up span{transform:translateY(1px) rotate(45deg)}.quantized-scrollbar__arrow--down span{transform:translateY(-1px) rotate(225deg)}.quantized-scrollbar:focus-visible{outline:1px solid rgba(58,50,41,.58);outline-offset:-1px}}@media (prefers-reduced-motion:reduce){.quantized-scrollbar,.quantized-scrollbar__thumb{transition:none}}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent-horizontal],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}.topbar{--topbar-ease:cubic-bezier(0.22,1,0.36,1);--topbar-color:#ffffff;position:fixed;top:0;left:0;right:0;z-index:1500;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;padding:clamp(18px,2.5vh,28px) clamp(24px,4vw,56px);color:var(--topbar-color);opacity:1;transform:translateZ(0);animation:topbar-in 2.2s cubic-bezier(.16,1,.3,1) 1.65s both;transition:color .85s var(--topbar-ease),opacity .22s ease,transform .56s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.topbar.is-intro-complete,.topbar.is-page{animation:none}.topbar-languages{position:relative;z-index:3;grid-column:1;justify-self:start;display:inline-flex;align-items:center;gap:clamp(10px,1.3vw,18px);min-width:0}.topbar-languages a{color:var(--topbar-color);font-size:clamp(.62rem,.75vw,.72rem);font-weight:500;letter-spacing:.16em;line-height:1;text-decoration:none;opacity:.62;transition:color .85s var(--topbar-ease),opacity .32s var(--topbar-ease)}.topbar-languages a:focus-visible,.topbar-languages a:hover,.topbar-languages a[aria-current=true]{opacity:1}.topbar.is-menu-open,.topbar.is-scrolled{--topbar-color:var(--color-dark-cocoa,#3A3229)}.topbar.is-over-dark:not(.is-menu-open){--topbar-color:var(--color-white,#FFFFFF)}.topbar.is-footer-hidden,.topbar.is-scroll-hidden{opacity:0;pointer-events:none;transform:translate3d(0,calc(-100% - 36px),0);transition:opacity .18s ease .2s,transform .5s cubic-bezier(.55,0,.2,1)}@keyframes topbar-in{0%{opacity:0;filter:blur(8px);transform:translate3d(0,-120%,0)}to{opacity:1;filter:blur(0);transform:translateZ(0)}}.topbar-brand{position:absolute;left:50%;top:50%;z-index:3;display:inline-flex;align-items:center;transform:translate(-50%,-50%)}.topbar-brand img{height:clamp(24px,3vh,34px);width:auto;filter:brightness(0) invert(1);opacity:.95;transition:filter .85s var(--topbar-ease),opacity .85s var(--topbar-ease)}.topbar.is-menu-open .topbar-brand img,.topbar.is-scrolled .topbar-brand img{filter:none;opacity:1}.topbar.is-over-dark:not(.is-menu-open) .topbar-brand img{filter:brightness(0) invert(1);opacity:.95}.topbar.is-info-logo-hidden .topbar-brand{opacity:0;pointer-events:none}.topbar-right{z-index:3;grid-column:3;justify-self:end;gap:clamp(14px,1.8vw,26px)}.topbar-right,.topbar-tour{position:relative;display:inline-flex;align-items:center}.topbar-tour{box-sizing:border-box;min-height:44px;padding:12px 16px;border:1px solid;color:var(--topbar-color);font-size:.65rem;font-weight:500;letter-spacing:.18em;line-height:1;text-decoration:none;text-transform:uppercase;white-space:nowrap;opacity:.82;transition:color .85s var(--topbar-ease),opacity .32s var(--topbar-ease)}.topbar-tour:focus-visible,.topbar-tour:hover{opacity:1}.topbar-toggle{appearance:none;position:relative;z-index:3;grid-column:3;justify-self:end;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:44px;padding:0;margin:0;border:0;background:transparent;color:var(--topbar-color);cursor:pointer;transition:opacity .32s var(--topbar-ease),color .85s var(--topbar-ease)}.topbar-toggle:focus-visible,.topbar-toggle:hover{opacity:.7}.topbar-toggle-line{display:block;width:24px;height:1px;background:currentColor;transform-origin:center;transition:transform .4s var(--topbar-ease),opacity .3s var(--topbar-ease)}.topbar[data-menu-open=true] .topbar-toggle-line:first-child{transform:translate3d(0,6px,0) rotate(45deg)}.topbar[data-menu-open=true] .topbar-toggle-line:nth-child(2){opacity:0;transform:scaleX(.4)}.topbar[data-menu-open=true] .topbar-toggle-line:nth-child(3){transform:translate3d(0,-6px,0) rotate(-45deg)}.topbar-drawer-portal{--drawer-ease:cubic-bezier(0.22,1,0.36,1);position:fixed;inset:0;z-index:1600;pointer-events:none}.topbar-drawer-portal:before{content:"";position:fixed;inset:0;z-index:0;background:rgba(58,49,40,.18);opacity:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);pointer-events:none;transition:opacity .66s var(--drawer-ease),-webkit-backdrop-filter .66s var(--drawer-ease);transition:opacity .66s var(--drawer-ease),backdrop-filter .66s var(--drawer-ease);transition:opacity .66s var(--drawer-ease),backdrop-filter .66s var(--drawer-ease),-webkit-backdrop-filter .66s var(--drawer-ease)}.topbar-drawer-portal.is-open:before{opacity:1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.topbar-drawer-portal.is-closing:before{opacity:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}.topbar-drawer-backdrop{position:fixed;inset:0;z-index:1;border:0;padding:0;background:transparent;pointer-events:none;cursor:pointer}.topbar-drawer-portal.is-open .topbar-drawer-backdrop{pointer-events:auto}.topbar-drawer,.topbar-drawer-portal.is-closing .topbar-drawer-backdrop{pointer-events:none}.topbar-drawer{--drawer-closed-transform:translate3d(100%,0,0);--drawer-open-transform:translateZ(0);position:fixed;top:0;right:0;bottom:0;z-index:2;width:min(340px,82vw);display:grid;align-content:start;gap:24px;padding:34px 38px 40px;overflow-y:auto;overscroll-behavior:contain;background:var(--color-cream-bg,#F8F7F2);color:var(--color-dark-cocoa,#3A3229);opacity:0;transform:var(--drawer-closed-transform)}.topbar-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:26px;border-bottom:1px solid var(--color-dark-cocoa-10,rgba(58,50,41,.1));opacity:0;filter:blur(8px);will-change:opacity,filter}.topbar-drawer-portal.is-open .topbar-drawer-head{animation:drawer-static-in .58s var(--drawer-ease) .22s both}.topbar-drawer-portal.is-closing .topbar-drawer-head{animation:drawer-item-out .32s var(--drawer-ease) both}.topbar-drawer-phone{display:inline-flex;align-items:center;gap:10px;min-width:0;color:var(--color-dark-cocoa-65,rgba(58,50,41,.65));font-size:.72rem;font-weight:500;letter-spacing:.14em;line-height:1;text-decoration:none;transition:color .32s var(--drawer-ease),opacity .32s var(--drawer-ease)}.topbar-drawer-phone:focus-visible,.topbar-drawer-phone:hover{color:var(--color-dark-cocoa,#3A3229)}.topbar-drawer-phone svg{flex:0 0 auto;opacity:.72}.topbar-drawer-portal.is-open .topbar-drawer{animation:drawer-panel-in .66s var(--drawer-ease) both;pointer-events:auto}.topbar-drawer-portal.is-closing .topbar-drawer{animation:drawer-panel-out .66s var(--drawer-ease) both;pointer-events:none}.topbar-drawer-close{position:relative;width:44px;height:44px;display:grid;place-items:center;border:0;padding:0;background:transparent;color:var(--color-dark-cocoa,#3A3229);cursor:pointer;opacity:.82;transition:opacity .32s var(--drawer-ease)}.topbar-drawer-close:focus-visible,.topbar-drawer-close:hover{opacity:1}.topbar-drawer-close span{grid-area:1/1;width:17px;height:1px;background:currentColor}.topbar-drawer-close span:first-child{transform:rotate(45deg)}.topbar-drawer-close span:last-child{transform:rotate(-45deg)}.topbar-drawer-nav{display:grid;gap:0;width:100%;margin:0}.topbar-drawer-nav:before{content:"";display:none;width:100%;height:1px;margin:0 0 22px;background:rgba(58,50,41,.12);opacity:0;filter:blur(8px);will-change:opacity,filter}.topbar-drawer-nav a{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:18px;padding:10px 0;border:0;color:var(--color-dark-cocoa,#3A3229);text-decoration:none;opacity:0;filter:blur(10px);transform:translate3d(18px,0,0);transition:color .32s var(--drawer-ease),opacity .32s var(--drawer-ease);will-change:opacity,filter,transform}.topbar-drawer-portal.is-open .topbar-drawer-nav:before{animation:drawer-static-in .58s var(--drawer-ease) .26s both}.topbar-drawer-portal.is-open .topbar-drawer-nav a{animation:drawer-item-in .68s var(--drawer-ease) calc(.34s + var(--menu-item-index, 0) * .07s) both}.topbar-drawer-portal.is-closing .topbar-drawer-nav a,.topbar-drawer-portal.is-closing .topbar-drawer-nav:before{animation:drawer-item-out .32s var(--drawer-ease) both}.topbar-drawer-nav a:focus-visible,.topbar-drawer-nav a:hover,.topbar-drawer-nav a[aria-current=page]{color:var(--color-dark-cocoa,#3A3229)}.topbar-drawer-nav a:not([aria-current=page]) .topbar-drawer-label{opacity:.68}.topbar-drawer-nav a:not([aria-current=page]) .topbar-drawer-index{opacity:.72}.topbar-drawer-nav a:focus-visible .topbar-drawer-label,.topbar-drawer-nav a:hover .topbar-drawer-label{opacity:1}.topbar-drawer-actions{display:grid;gap:10px;width:100%}.topbar-drawer-contact{appearance:none;display:flex;align-items:center;justify-content:center;width:100%;margin-top:0;padding:13px 18px 14px;border:1px solid rgba(58,50,41,.36);background:transparent;color:var(--color-dark-cocoa,#3A3229);cursor:pointer;font:inherit;font-size:.68rem;font-weight:600;letter-spacing:.18em;line-height:1.2;text-align:center;text-decoration:none;text-transform:uppercase;opacity:0;filter:blur(10px);transform:translate3d(18px,0,0);transition:background .32s var(--drawer-ease),border-color .32s var(--drawer-ease),color .32s var(--drawer-ease),opacity .32s var(--drawer-ease);will-change:opacity,filter,transform}.topbar-drawer-contact:focus-visible,.topbar-drawer-contact:hover{border-color:var(--color-dark-cocoa,#3A3229);background:var(--color-dark-cocoa,#3A3229);color:var(--color-white,#fff)}.topbar-drawer-tour{border-color:var(--color-blue,#506D85);background:var(--color-blue,#506D85);color:var(--color-white,#fff)}.topbar-drawer-newsletter{border-color:var(--color-blue,#506D85);min-height:44px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}.topbar-drawer-newsletter:focus-visible,.topbar-drawer-newsletter:hover{border-color:var(--color-dark-cocoa,#3A3229);background:var(--color-dark-cocoa,#3A3229);color:var(--color-white,#fff)}.topbar-drawer-tour:focus-visible,.topbar-drawer-tour:hover{border-color:var(--color-blue,#506D85);background:transparent;color:var(--color-blue,#506D85)}.topbar-drawer-portal.is-open .topbar-drawer-contact:first-child{animation:drawer-item-in .68s var(--drawer-ease) .9s both}.topbar-drawer-portal.is-open .topbar-drawer-contact:last-child{animation:drawer-item-in .68s var(--drawer-ease) .97s both}.topbar-drawer-portal.is-closing .topbar-drawer-contact{animation:drawer-item-out .32s var(--drawer-ease) both}.topbar-drawer-index{font-size:.58rem;line-height:1;letter-spacing:.16em;color:var(--color-dark-cocoa-55,rgba(58,50,41,.55))}.topbar-drawer-label{font-family:var(--font-work-sans),"Work Sans","Noto Sans JP",sans-serif;font-size:.82rem;font-weight:500;line-height:1.2;letter-spacing:.08em;text-transform:uppercase}@keyframes drawer-static-in{0%{opacity:0;filter:blur(8px)}to{opacity:1;filter:blur(0)}}@keyframes drawer-backdrop-in{0%{opacity:0;backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0)}to{opacity:1;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}}@keyframes drawer-backdrop-out{0%{opacity:1;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}to{opacity:0;backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0)}}@keyframes drawer-panel-in{0%{opacity:0;transform:var(--drawer-closed-transform)}to{opacity:1;transform:var(--drawer-open-transform)}}@keyframes drawer-panel-out{0%{opacity:1;transform:var(--drawer-open-transform)}to{opacity:0;transform:var(--drawer-closed-transform)}}@keyframes drawer-item-in{0%{opacity:0;filter:blur(10px);transform:translate3d(18px,0,0)}to{opacity:1;filter:blur(0);transform:translateZ(0)}}@keyframes drawer-item-out{0%{opacity:1;filter:blur(0);transform:translateZ(0)}to{opacity:0;filter:blur(8px);transform:translate3d(14px,0,0)}}@media (max-width:960px){.topbar-tour{display:none}}@media (max-width:720px){.topbar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);padding:14px 16px}.topbar-languages{gap:8px}.topbar-languages a{display:inline-flex;align-items:center;min-height:44px;font-size:.58rem;letter-spacing:.12em}.topbar-brand img{height:clamp(22px,6.2vw,28px)}.topbar-drawer{--drawer-closed-transform:translate3d(0,-100%,0);top:0;left:0;right:0;bottom:auto;width:auto;max-height:100vh;max-height:100dvh;padding:clamp(32px,8vw,42px) clamp(34px,8vw,48px) clamp(28px,7vw,40px)}.topbar-drawer-head{position:relative;justify-content:center;padding-bottom:24px;text-align:center}.topbar-drawer-phone{justify-content:center;font-size:.7rem}.topbar-drawer-close{position:absolute;top:50%;right:-10px;transform:translateY(calc(-50% - 12px))}.topbar-drawer-nav{width:100%;max-width:420px;margin-inline:auto;justify-self:stretch;text-align:center}.topbar-drawer-nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:11px 0}.topbar-drawer-index{display:none}.topbar-drawer-label{text-align:center}.topbar-drawer-actions{max-width:420px;margin-inline:auto}.topbar-drawer-contact{min-height:44px}}:root{--color-dark-cocoa:#3A3229;--color-dark-cocoa-10:rgba(58,50,41,0.1);--color-dark-cocoa-20:rgba(58,50,41,0.2);--color-dark-cocoa-40:rgba(58,50,41,0.4);--color-dark-cocoa-55:rgba(58,50,41,0.55);--color-dark-cocoa-65:rgba(58,50,41,0.65);--color-dark-cocoa-80:rgba(58,50,41,0.8);--color-cocoa:#4B433A;--color-coral:#E26663;--color-blue:#4F6C89;--color-taupe:#B8B5AE;--color-taupe-light:#D7D2CB;--color-sage:#8E9375;--color-content-frame:#868C72;--color-white:#FFFFFF;--color-offwhite:#D7D2CB;--color-cream-bg:#F8F7F2;--color-placeholder-bg:#f0ece6;--color-placeholder-text:#a09080;--map-water:#3B6887;--map-land:#B4BAAE;--map-coast:rgba(110,105,95,0.28);--map-label:#6F6A62;--map-dot-primary:#AD473C;--map-dot-dark:#2E2A25;--map-route:#E2665C;--map-woods:#C6D2C5;--map-woods-stroke:#BACAB9;--map-parks:#AEC3B0;--map-roads-major:#CEC6B8;--map-roads-local:rgba(209,202,190,0.9);--map-context-highlight:#8A7868;--motion-ease:cubic-bezier(0.22,0.61,0.36,1);--motion-ease-out:cubic-bezier(0.22,1,0.36,1);--motion-slow:2s;--motion-slower:2.6s;--motion-line:1.45s;--motion-stagger:140ms;--motion-text-blur:14px;--motion-copy-blur:12px}@font-face{font-family:Ogg;src:url(/fonts/Ogg-Regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:block;unicode-range:u+0000-024f,u+1e??,u+2000-206f,u+2070-209f,u+20a0-20cf,u+2100-214f}@font-face{font-family:Ogg;src:local("Noto Serif JP"),local("NotoSerifJP-Regular");font-weight:400;font-style:normal;font-display:swap;unicode-range:u+3000-303f,u+3040-309f,u+30a0-30ff,u+4e00-9fff,u+ff00-ffef}@font-face{font-family:Work Sans;src:local("Noto Sans JP"),local("NotoSansJP-Regular");font-weight:400;font-style:normal;font-display:swap;unicode-range:u+3000-303f,u+3040-309f,u+30a0-30ff,u+4e00-9fff,u+ff00-ffef}.motion-lines.reveal,.motion-lines.reveal.is-visible{opacity:1;transform:none;filter:none;transition:none}.motion-line{display:block;margin:-.55em -.7em;padding:.55em .7em;opacity:0;transform:translateX(44px);filter:blur(var(--motion-copy-blur));transition:opacity var(--motion-line) var(--motion-ease-out),transform var(--motion-line) var(--motion-ease-out),filter var(--motion-line) var(--motion-ease-out);transition-delay:0s;will-change:opacity,transform,filter;overflow:visible}.motion-lines.is-visible .motion-line{opacity:1;transform:translateX(0);filter:blur(0);transition-delay:var(--line-delay,0s)}@media (prefers-reduced-motion:reduce){.motion-line{transition:none;opacity:1;transform:none;filter:none}}