:root{--color-paper:#f7f5f1;--color-paper-soft:#efece6;--color-surface:#fff;--color-ink:#1c1917;--color-ink-soft:#4a453f;--color-muted:#6e675d;--color-border:#ddd8d0;--color-border-on-dark:#f7f5f138;--color-onsen:#dce4e9;--color-onsen-deep:#b3c4cf;--color-forest:#4a5148;--color-wood:#9c5b2b;--font-ja-serif:"Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;--fs-hero:clamp(2.6rem, 8vw, 7rem);--fs-h2:clamp(1.85rem, 4.2vw, 3.5rem);--fs-h3:clamp(1.15rem, 1.9vw, 1.6rem);--fs-lead:clamp(1.02rem, 1.42vw, 1.28rem);--fs-body:clamp(1rem, 1.25vw, 1.125rem);--fs-copy:clamp(1rem, 1.18vw, 1.0625rem);--fs-note:clamp(.82rem, .98vw, .875rem);--fs-small:var(--fs-note);--fs-label:clamp(.75rem, .85vw, .82rem);--lh-display:1.28;--lh-heading:1.45;--lh-body:1.95;--lh-tight:1.7;--ls-display:.09em;--ls-label:.2em;--ls-body:.045em;--space-2xs:clamp(.25rem, .4vw, .4rem);--space-xs:clamp(.5rem, .8vw, .75rem);--space-sm:clamp(.85rem, 1.3vw, 1.2rem);--space-md:clamp(1.4rem, 2.4vw, 2.2rem);--space-lg:clamp(2.2rem, 4vw, 3.6rem);--space-xl:clamp(3.4rem, 6.5vw, 6rem);--section-y:clamp(4rem, 9vw, 9rem);--container:1280px;--measure:min(100%, 42rem);--measure-body:28em;--measure-short:24em;--gutter:clamp(1.15rem, 4.5vw, 3.5rem);--ease:cubic-bezier(.22, .61, .36, 1);--dur-reveal:.6s;--dur-ui:.26s;--header-h:64px;--z-drawer:200;--z-header:210;--z-sticky-cta:90}html[lang^=en]{--measure-body:38ch;--measure-short:32ch}@media (width>=900px){:root{--header-h:84px}}.is-dark{--color-paper:#1c1917;--color-paper-soft:#262220;--color-surface:#262220;--color-ink:#f2efe9;--color-ink-soft:#cfc9c0;--color-muted:#a29a90;--color-border:#f2efe92e}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-ja-serif);font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:var(--ls-body);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}body.is-locked{overflow:hidden}h1,h2,h3,h4{font-weight:400;line-height:var(--lh-heading);word-break:auto-phrase;line-break:strict;margin:0}p,li,dd{line-break:strict;overflow-wrap:anywhere}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}img,picture,video{max-width:100%;display:block}a{color:inherit}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--color-ink);outline-offset:3px;border-radius:1px}.is-dark :focus-visible{outline-color:var(--color-onsen)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--gutter);z-index:999;background:var(--color-ink);color:var(--color-paper);font-size:var(--fs-small);padding:.8rem 1.4rem;text-decoration:none;position:absolute;top:-100%}.skip-link:focus{top:.75rem}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.measure{max-width:var(--measure)}.section{padding-block:var(--section-y)}:where(section[id],[id].section){scroll-margin-top:calc(var(--header-h) + 1rem)}.section--flush{padding-block:0}.label{font-family:var(--font-ja-serif);font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--color-muted)}.h2{font-family:var(--font-ja-serif);font-size:var(--fs-h2);letter-spacing:.08em;line-height:var(--lh-heading)}.h3{font-family:var(--font-ja-serif);font-size:var(--fs-h3);letter-spacing:.06em}.lead{font-size:var(--fs-lead);line-height:var(--lh-body)}.small{font-size:var(--fs-note);color:var(--color-muted);line-height:var(--lh-tight)}.copy{font-size:var(--fs-copy);line-height:var(--lh-body)}.serif{font-family:var(--font-ja-serif)}.section-head{gap:var(--space-sm);margin-bottom:var(--space-lg);flex-direction:column;display:flex}@media (width>=900px){.section-head{align-items:baseline;gap:var(--space-md);flex-direction:row}.section-head>.h2{flex:none}.section-head>.lead{flex:auto;max-width:40rem}}.link-underline{font-size:var(--fs-small);letter-spacing:.1em;transition:opacity var(--dur-ui) var(--ease);border-bottom:1px solid;padding-bottom:.25rem;text-decoration:none;display:inline-block}@media (hover:hover) and (pointer:fine){.link-underline:hover{opacity:.6}}.btn{background:var(--color-ink);min-height:44px;color:var(--color-paper);border:1px solid var(--color-ink);cursor:pointer;font-size:var(--fs-small);letter-spacing:.12em;transition:opacity var(--dur-ui) var(--ease);justify-content:center;align-items:center;gap:.6rem;padding:.75rem 1.6rem;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.btn:hover{opacity:.82}}.btn--ghost{color:var(--color-ink);background:0 0}.media{background:var(--color-paper-soft);margin:0;position:relative;overflow:hidden}.media>picture{display:contents}.media img{object-fit:cover;width:100%;height:100%;display:block}@media (hover:hover) and (pointer:fine){.media--zoom img{transition:transform .7s var(--ease)}a:hover .media--zoom img,.media--zoom:hover img{transform:scale(1.03)}}.js-reveal [data-reveal]{opacity:0;transform:translateY(20px)}.js-reveal [data-reveal].is-in{opacity:1;transition:opacity var(--dur-reveal) var(--ease), transform var(--dur-reveal) var(--ease);transition-delay:var(--reveal-delay,0s);transform:none}@media (prefers-reduced-motion:reduce){.js-reveal [data-reveal]{opacity:1!important;transition:none!important;transform:none!important}.media--zoom img{transition:none!important}*,:before,:after{animation-duration:.001ms!important;animation-iteration-count:1!important}}
