:root{--washi: #f3eee4;--washi-deep: #e6dfd1;--paper: #faf7f1;--ink: #1c1915;--ink-soft: #3f3a33;--muted: #5c564c;--indigo: #1b3048;--indigo-deep: #122033;--indigo-soft: #2e4a68;--persimmon: #8d3b2c;--persimmon-wash: #f3e4d8;--line: rgba(28, 25, 21, .16);--line-strong: rgba(28, 25, 21, .32);--serif-en: "Cormorant Garamond", "Noto Serif JP", "Iowan Old Style", Palatino, serif;--serif-ja: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;--sans: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;--header: 4.5rem;--page: clamp(1.15rem, 4vw, 3.25rem);--measure: 68rem;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.nowrap{white-space:nowrap}body{margin:0;min-height:100vh;overflow-x:clip;color:var(--ink);background-color:var(--washi);background-image:radial-gradient(rgba(28,25,21,.035) .55px,transparent .55px),radial-gradient(rgba(28,25,21,.03) .55px,transparent .55px);background-size:7px 7px,13px 13px;background-position:0 0,3px 5px;font-family:var(--sans);font-size:1.0625rem;font-weight:400;line-height:1.7;text-rendering:optimizeLegibility;font-synthesis:none}html[lang=ja] body{line-height:1.9;font-feature-settings:"palt" 1}body.nav-open{overflow:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:.18em}a:hover{color:var(--indigo-soft)}:focus-visible{outline:2px solid var(--indigo);outline-offset:3px}::selection{background:#d5dde6;color:var(--indigo-deep)}h1,h2,h3,p{overflow-wrap:break-word;text-wrap:pretty}h1,h2,h3{font-family:var(--serif-en);font-weight:500;letter-spacing:-.02em;line-height:1.05;margin:0;white-space:pre-line;text-wrap:balance}html[lang=ja] h1,html[lang=ja] h2,html[lang=ja] h3,html[lang=ja] .pull p,html[lang=ja] .gate-title{font-family:var(--serif-ja);font-weight:500;letter-spacing:.04em;line-height:1.45;line-break:strict}p{margin:0}.skip{position:absolute;left:var(--page);top:-4rem;z-index:80;background:var(--paper);color:var(--ink);padding:.6rem .9rem;border:1px solid var(--ink)}.skip:focus{top:.75rem}.wrap{width:min(var(--measure),calc(100% - var(--page) * 2));margin-inline:auto}.wrap-wide{width:min(76rem,calc(100% - var(--page) * 2));margin-inline:auto}.site-header{position:sticky;top:0;z-index:40;height:var(--header);display:flex;align-items:center;background:#f3eee4eb;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-inner{width:min(76rem,calc(100% - var(--page) * 2));margin-inline:auto;display:flex;align-items:center;gap:1rem}.wordmark{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink);margin-right:auto}.wordmark:hover{color:var(--ink)}.seal{width:2.15rem;height:2.15rem;border-radius:50%;border:1px solid var(--indigo);color:var(--indigo);display:grid;place-items:center;font-family:var(--serif-ja);font-size:1rem;line-height:1;flex:none}.wordmark-text{display:flex;flex-direction:column;line-height:1;gap:.18rem}.wordmark-text strong{font-family:var(--serif-en);font-weight:600;font-size:clamp(.95rem,2.4vw,1.15rem);letter-spacing:.14em;text-transform:uppercase}.wordmark-text span{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.nav-panel{display:flex;align-items:center;gap:1.15rem}.nav-panel a{text-decoration:none;font-size:.92rem;letter-spacing:.04em;color:var(--ink-soft)}.nav-panel a:hover{color:var(--indigo)}.lang-switch{display:flex;align-items:center;gap:.35rem;margin-left:.4rem;font-size:.82rem;letter-spacing:.08em}.lang-switch a,.lang-switch span{text-decoration:none;min-height:2.75rem;display:inline-flex;align-items:center;padding-inline:.15rem}.lang-switch .is-current{color:var(--indigo);border-bottom:1px solid var(--indigo);font-weight:500}.lang-switch .divider{color:var(--line-strong);min-height:0;padding:0}.nav-toggle{display:none;width:2.75rem;height:2.75rem;border:1px solid var(--line-strong);background:transparent;color:var(--ink);padding:0;cursor:pointer}.nav-toggle .burger,.nav-toggle .burger:before,.nav-toggle .burger:after{display:block;width:1.1rem;height:1px;background:currentColor;position:relative;margin-inline:auto}.nav-toggle .burger:before,.nav-toggle .burger:after{content:"";position:absolute;left:0}.nav-toggle .burger:before{top:-6px}.nav-toggle .burger:after{top:6px}.hero{padding:clamp(2.5rem,6vw,5rem) 0 clamp(3rem,7vw,5.5rem)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(260px,.9fr);gap:clamp(1.5rem,4vw,4rem);align-items:end}.kicker,.section-index{font-family:var(--sans);font-size:.78rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--persimmon);margin-bottom:1rem}html[lang=ja] .kicker,html[lang=ja] .section-index,html[lang=ja] .card-kicker,html[lang=ja] .byline{letter-spacing:.12em;text-transform:none;line-height:1.7}.hero h1{font-size:clamp(3.1rem,6.4vw,5.6rem);max-width:11ch}html[lang=ja] .hero h1{font-size:clamp(2.15rem,4.6vw,3.7rem);max-width:12em;line-height:1.4}.deck{margin-top:1.4rem;max-width:38rem;color:var(--ink-soft);font-size:1.05rem}html[lang=ja] .deck{line-height:2;font-size:1.02rem}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.8rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:2.9rem;padding:.55rem 1.15rem;text-decoration:none;border:1px solid var(--indigo);font-size:.95rem;letter-spacing:.04em;cursor:pointer;background:transparent;color:var(--indigo);font-family:inherit}.button.primary{background:var(--indigo);color:var(--washi)}.button.primary:hover,.button.ghost:hover{background:var(--indigo-deep);color:var(--washi)}.button.light{border-color:#f3eee4b3;color:var(--washi)}.button.light:hover{background:var(--washi);color:var(--indigo-deep)}.hero-figure{margin:0}.frame{position:relative;padding:0 .8rem .8rem 0}.frame img,.hero-figure img,.opener-figure img{width:100%;height:min(72vh,760px);object-fit:cover}.frame:after{content:"";position:absolute;inset:.8rem 0 0 .8rem;border:1px solid rgba(27,48,72,.42);pointer-events:none}.figure-meta{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-top:.85rem}.figure-meta figcaption,.hero-figure .caption,.opener-figure .caption{margin-top:.75rem}.caption{color:var(--muted);font-size:.82rem;line-height:1.6}html[lang=ja] .caption,html[lang=ja] figcaption{line-height:1.8}.vertical-label{writing-mode:vertical-rl;font-family:var(--serif-ja);letter-spacing:.45em;font-size:.95rem;color:var(--indigo);margin:0;position:absolute;z-index:1;left:0;top:1.5rem;background:var(--washi);padding:.45rem .2rem .7rem}.section{padding:clamp(3.2rem,7vw,5.5rem) 0}.section-head{display:grid;grid-template-columns:minmax(0,16rem) minmax(0,1fr);gap:1.5rem 2rem;margin-bottom:clamp(1.8rem,4vw,2.8rem);align-items:end}html[lang=ja] .section-head{grid-template-columns:minmax(0,26rem) minmax(0,1fr)}.section-head h2{font-size:clamp(2.1rem,4vw,3.3rem);max-width:16ch}html[lang=ja] .section-head h2{font-size:clamp(1.7rem,3.2vw,2.45rem);max-width:none}.section-head p,.lede{color:var(--ink-soft);max-width:40rem}html[lang=ja] .section-head p,html[lang=ja] .lede{line-height:2}.rule{border:0;border-top:1px solid var(--line);margin:0}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem 1.2rem}.card{display:flex;flex-direction:column;min-width:0;background:transparent}.card a{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}.card a:hover h3{color:var(--indigo-soft)}.card img{width:100%;aspect-ratio:4 / 5;object-fit:cover;background:var(--washi-deep)}.card-kicker{margin-top:.9rem;color:var(--persimmon);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500}.card h3{font-size:clamp(1.55rem,2vw,1.9rem);margin-top:.4rem;line-height:1.15}html[lang=ja] .card h3{font-size:1.45rem;line-height:1.5}.card p{margin-top:.55rem;color:var(--ink-soft);font-size:.98rem}html[lang=ja] .card p{line-height:1.9}.card-more{margin-top:auto;padding-top:.9rem;font-size:.86rem;letter-spacing:.08em;text-transform:uppercase;color:var(--indigo)}html[lang=ja] .card-more{text-transform:none;letter-spacing:.08em}.makers{background:var(--indigo);color:var(--washi);position:relative;overflow:hidden}.makers a{color:var(--washi)}.makers .section-index,.makers .kicker{color:#e7b5a6}.makers .section-head p{color:#f3eee4db}.ghost-kanji{position:absolute;right:-.5rem;top:-2.5rem;font-family:var(--serif-ja);font-size:clamp(10rem,28vw,22rem);line-height:.8;color:#f3eee40f;pointer-events:none;user-select:none}.services{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.service{border-top:1px solid rgba(243,238,228,.35);padding-top:1rem}.service-num{font-family:var(--serif-en);font-style:italic;font-size:1.4rem;color:#e7b5a6}.service h3{font-family:var(--serif-en);font-size:1.7rem;margin:.4rem 0 .7rem;color:var(--washi)}html[lang=ja] .service h3{font-family:var(--serif-ja);font-size:1.35rem;line-height:1.55}.service p{color:#f3eee4e0;font-size:.98rem}html[lang=ja] .service p{line-height:1.95}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}.step{border-top:1px solid var(--line-strong);padding-top:.9rem}.step-num{font-family:var(--serif-en);font-style:italic;font-size:1.8rem;color:var(--indigo);line-height:1}.step h3{font-size:1.45rem;margin:.7rem 0 .55rem}html[lang=ja] .step h3{font-size:1.2rem;line-height:1.55}.step p{color:var(--ink-soft);font-size:.98rem}html[lang=ja] .step p{line-height:1.95}.about-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(240px,.85fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start}.about-grid h2{font-size:clamp(2.4rem,5vw,4rem)}html[lang=ja] .about-grid h2{font-size:clamp(2rem,4vw,3.2rem)}.role{margin-top:.4rem;color:var(--persimmon);letter-spacing:.08em;font-size:.92rem}.about-copy p+p{margin-top:1rem}.about-copy p{color:var(--ink-soft);max-width:40rem}html[lang=ja] .about-copy p{line-height:2}.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1.6rem 0 0;padding:0}.facts div{border-top:1px solid var(--line);padding-top:.55rem}.facts dt{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}html[lang=ja] .facts dt{text-transform:none;letter-spacing:.1em}.facts dd{margin:.25rem 0 0;font-family:var(--serif-en);font-size:1.25rem}html[lang=ja] .facts dd{font-family:var(--serif-ja);font-size:1.05rem;line-height:1.6}.about-figure{margin:0}.about-figure img{width:100%;aspect-ratio:5 / 4;object-fit:cover}.contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start}.contact-copy h2{font-size:clamp(2.2rem,4vw,3.4rem);max-width:12ch}html[lang=ja] .contact-copy h2{font-size:clamp(1.8rem,3.4vw,2.6rem);max-width:14em}.contact-copy .lede{margin-top:1rem}.address-block{margin-top:1.6rem;padding-top:1rem;border-top:1px solid var(--line)}.address-block p{color:var(--muted);font-size:.92rem;line-height:1.7}.address-block a{font-family:var(--serif-en);font-size:1.35rem;font-style:italic;text-decoration-thickness:1px}.form{background:#faf7f1b8;border:1px solid var(--line);padding:clamp(1.1rem,3vw,1.8rem)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:.3rem 1.2rem}.field{display:flex;flex-direction:column;gap:.2rem;padding-top:.7rem}.field.wide{grid-column:1 / -1}.field span,.field label{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}html[lang=ja] .field span,html[lang=ja] .field label{text-transform:none;letter-spacing:.08em;font-size:.86rem}input,select,textarea{width:100%;border:none;border-bottom:1px solid var(--line-strong);background:transparent;color:var(--ink);font:inherit;font-size:1rem;line-height:1.6;padding:.55rem 0 .45rem;border-radius:0}textarea{min-height:8rem;resize:vertical}select{cursor:pointer}.form-note,.form-status{color:var(--muted);font-size:.88rem;margin-top:.8rem;line-height:1.7}.form-status{color:var(--indigo);border-left:2px solid var(--indigo);padding-left:.75rem}.form .button{margin-top:1.1rem}.site-footer{border-top:1px solid var(--line);padding:2.5rem 0 3rem;color:var(--ink-soft);font-size:.86rem;line-height:1.7}html[lang=ja] .site-footer{line-height:1.9}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1.4fr;gap:1.5rem 2rem}.footer-word{font-family:var(--serif-en);font-size:1.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);font-weight:600}.footer-grid h2{font-family:var(--sans);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:.55rem}html[lang=ja] .footer-grid h2{font-family:var(--sans);text-transform:none;letter-spacing:.12em;font-size:.85rem}.credits{list-style:none;margin:0;padding:0}.credits li+li{margin-top:.45rem}.credits a{color:var(--indigo)}.sample-banner{background:var(--persimmon-wash);color:#6d2f24;border-bottom:1px solid rgba(141,59,44,.25)}.sample-banner p{padding:.75rem 0;font-size:.95rem;line-height:1.7}html[lang=ja] .sample-banner p{line-height:1.9}.opener{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.86fr);gap:clamp(1.4rem,4vw,3.5rem);align-items:end;padding:clamp(2rem,5vw,3.6rem) 0 1.2rem}.story-title{font-size:clamp(2.8rem,6vw,5.1rem);max-width:12ch}html[lang=ja] .story-title{font-size:clamp(2rem,4.8vw,3.5rem);max-width:14em;line-height:1.4}.standfirst{margin-top:1.15rem;font-size:1.12rem;color:var(--ink-soft);max-width:38rem}html[lang=ja] .standfirst{line-height:2;font-size:1.05rem}.byline{margin-top:1.1rem;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.story-layout{display:grid;grid-template-columns:minmax(0,42rem) minmax(14rem,18rem);gap:clamp(1.5rem,4vw,3.5rem);align-items:start;padding-bottom:clamp(3rem,6vw,5rem)}.story-body p{font-size:1.08rem;margin-bottom:1.15em}html[lang=ja] .story-body p{font-size:1.05rem;line-height:2.05}.story-body .first:first-letter{font-family:var(--serif-en);float:left;font-size:3.4rem;line-height:.8;padding:.35rem .45rem 0 0;color:var(--indigo)}html[lang=ja] .story-body .first:first-letter{float:none;font-size:inherit;line-height:inherit;padding:0;color:inherit;font-family:inherit}.notice{background:var(--washi-deep);padding:.9rem 1rem;margin:.4rem 0 1.4rem;font-size:.95rem;color:var(--ink-soft)}.pull{margin:2rem 0 2.2rem;padding:.2rem 0 .2rem 1.1rem;border-left:2px solid var(--indigo)}.pull p{font-family:var(--serif-en);font-size:clamp(1.6rem,3vw,2.15rem);line-height:1.25;color:var(--indigo-deep);margin:0}html[lang=ja] .pull p{font-size:clamp(1.35rem,2.6vw,1.8rem);line-height:1.7}.pull span{display:block;margin-top:.7rem;font-family:var(--sans);font-size:.82rem;letter-spacing:.04em;color:var(--muted);line-height:1.6}.detail-figure{margin:1.5rem 0 1.8rem}.detail-figure img{width:100%;max-height:520px;object-fit:contain;background:#e4e0d8}.process{margin-top:2rem}.process h2{font-size:clamp(1.8rem,3vw,2.4rem)}html[lang=ja] .process h2{font-size:1.6rem}.process .lede{margin:.7rem 0 1.2rem}.process-list{list-style:none;margin:0;padding:0}.process-list li{display:grid;grid-template-columns:auto 1fr;gap:.9rem;padding:.9rem 0;border-top:1px solid var(--line)}.process-list strong{font-family:var(--serif-en);font-weight:500;font-size:1.2rem}html[lang=ja] .process-list strong{font-family:var(--serif-ja);font-weight:500}.process-list p{margin:.25rem 0 0;color:var(--ink-soft);font-size:.98rem}.studio{position:sticky;top:calc(var(--header) + 1.25rem);background:var(--washi-deep);padding:1.2rem 1.15rem 1.3rem}.studio h2{font-size:1.45rem;margin-bottom:.8rem}html[lang=ja] .studio h2{font-size:1.2rem;line-height:1.55}.studio dl{margin:0}.studio dt{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:.85rem}html[lang=ja] .studio dt{text-transform:none;letter-spacing:.08em;font-size:.82rem}.studio dd{margin:.2rem 0 0;line-height:1.65}html[lang=ja] .studio dd{line-height:1.9}.related{padding-bottom:clamp(3rem,6vw,5rem)}.gate{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.gate a{display:flex;flex-direction:column;justify-content:flex-end;min-height:100vh;padding:clamp(1.5rem,5vw,4rem);text-decoration:none;position:relative}.gate-en{background:var(--washi);color:var(--ink)}.gate-ja{background:var(--indigo);color:var(--washi)}.gate a:hover{color:inherit}.gate-en:hover{background:#efe8da}.gate-ja:hover{background:var(--indigo-deep)}.gate-kicker{letter-spacing:.18em;text-transform:uppercase;font-size:.78rem;margin-bottom:auto;padding-top:2.5rem}.gate-ja .gate-kicker{text-transform:none;letter-spacing:.16em}.gate-place{position:absolute;top:1.4rem;letter-spacing:.18em;text-transform:uppercase;font-size:.75rem;color:var(--muted)}.gate-ja .gate-place{color:#f3eee4b3}.gate-title{font-family:var(--serif-en);font-size:clamp(2.6rem,5vw,4.6rem);font-weight:500;line-height:1.02;letter-spacing:-.02em;max-width:10ch}.gate-ja .gate-title{font-family:var(--serif-ja);font-size:clamp(1.8rem,3.2vw,2.8rem);line-height:1.45;letter-spacing:.06em;max-width:12em}.gate-dek{margin-top:1rem;max-width:28rem;font-size:1.05rem;line-height:1.7}.gate-ja .gate-dek{line-height:1.95}.gate-go{margin-top:1.6rem;letter-spacing:.14em;text-transform:uppercase;font-size:.82rem;border-bottom:1px solid currentColor;align-self:flex-start;padding-bottom:.2rem}.gate-ja .gate-go{text-transform:none;letter-spacing:.12em}.missing{min-height:calc(100vh - var(--header));display:grid;align-content:center;padding:4rem 0 5rem}.missing h1{font-size:clamp(2.6rem,6vw,4.5rem)}.missing p{margin-top:.8rem;color:var(--ink-soft)}.missing .actions{margin-top:1.6rem}@media(max-width:980px){.nav-toggle{display:inline-grid;place-items:center}.nav-panel{display:none}.site-header.is-open .nav-panel{display:flex;flex-direction:column;align-items:flex-start;position:fixed;inset:var(--header) 0 0 0;background:var(--washi);padding:1.5rem var(--page) 2.5rem;gap:.35rem;z-index:30;overflow:auto}.site-header.is-open .nav-panel a{font-family:var(--serif-en);font-size:2rem;line-height:1.2;color:var(--ink);min-height:2.75rem;display:inline-flex;align-items:center}html[lang=ja] .site-header.is-open .nav-panel a{font-family:var(--serif-ja);font-size:1.7rem;line-height:1.5}.hero-grid,.section-head,.cards,.services,.steps,.about-grid,.contact-grid,.footer-grid,.opener,.story-layout,.gate{grid-template-columns:1fr}.hero h1,.story-title,.section-head h2,.contact-copy h2{max-width:none}.frame img,.hero-figure img,.opener-figure img{height:min(62vh,520px)}.frame{padding:0 .55rem .55rem 0}.frame:after{inset:.55rem 0 0 .55rem}.studio{position:static}.facts{grid-template-columns:1fr}.gate a{min-height:50vh}.gate-kicker{padding-top:2.2rem}}@media(max-width:640px){.fields{grid-template-columns:1fr}.figure-meta{flex-direction:column}.vertical-label{writing-mode:horizontal-tb;letter-spacing:.28em;top:.7rem;left:.15rem;padding:.2rem .45rem .25rem}.header-inner{gap:.5rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
