@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;600;700&family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap');
:root{--ink:#1b3835;--sage:#e8eee7;--cream:#f8f5ec;--line:#b5c7bd;--accent:#557963}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Noto Sans JP',sans-serif}h1,h2,p{margin-top:0}h1,h2{line-break:strict}p{line-break:strict;text-wrap:pretty}a{color:inherit}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #cb824a;outline-offset:4px}.skip{position:absolute;top:-5rem;left:1rem;background:white;padding:.7rem;z-index:5}.skip:focus{top:1rem}
.mast{height:68px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 clamp(20px,4vw,64px);background:var(--cream)}.mast a{text-decoration:none}.brand{font-weight:800;letter-spacing:.06em}.brand span{font-size:.6rem;font-weight:500;letter-spacing:.02em}.back{font-size:.78rem;font-weight:700}.hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(390px,.9fr);min-height:min(780px,calc(100svh - 68px));background:var(--sage)}.hero-photo{position:relative;min-height:640px;overflow:hidden}.hero-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 45%}.photo-mark{position:absolute;left:clamp(20px,3vw,48px);bottom:24px;padding:.55rem .8rem;background:rgba(248,245,236,.95);font-size:.65rem;font-weight:700;letter-spacing:.04em}.hero-copy{display:flex;flex-direction:column;align-items:flex-end;text-align:right;padding:clamp(34px,5vw,78px) clamp(26px,5vw,78px) clamp(34px,5vw,78px) clamp(18px,3vw,52px);border-left:1px solid var(--line)}.eyebrow,.section-num,.scene-kicker,footer{font:700 .7rem/1.7 'DM Sans','Noto Sans JP',sans-serif;letter-spacing:.16em}.eyebrow{color:var(--accent)}.hero-heading{margin:auto 0}.tiny-label{font-size:.76rem;font-weight:700;color:var(--accent);letter-spacing:.04em;margin-bottom:24px}.hero h1{font-size:clamp(3.1rem,4.7vw,5.6rem);line-height:1.28;letter-spacing:-.075em;margin:0;white-space:nowrap}.hero h1 span{font-size:.75em;letter-spacing:-.055em}.lead{font-size:clamp(1.02rem,1.35vw,1.25rem);line-height:1.8;margin:32px 0 0}.text-link{display:inline-block;width:max-content;max-width:100%;text-decoration:none;border-bottom:1px solid currentColor;padding:0 0 8px;font-weight:700;font-size:.84rem}.intro,.outro{max-width:1600px;margin:auto;display:grid;grid-template-columns:19% 1fr minmax(260px,.8fr);gap:clamp(24px,4vw,65px);padding:clamp(75px,9vw,140px) clamp(22px,5vw,80px)}.section-num{color:var(--accent)}.intro h2,.scene h2,.outro h2{font-size:clamp(2.6rem,4.2vw,5rem);line-height:1.35;letter-spacing:-.07em;margin:0}.intro div{max-width:35em}.intro p:not(.section-num),.outro p:not(.section-num){font-size:.92rem;line-height:2.15}.fine{font-size:.72rem!important;line-height:1.8!important;color:#4d6861}.scene{background:#dce8de;padding:clamp(70px,8vw,120px) clamp(22px,5vw,80px)}.scene-head{display:flex;justify-content:space-between;gap:30px;align-items:start;max-width:1450px;margin:0 auto 44px}.scene-head h2{text-align:right}.scene-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);max-width:1450px;margin:auto;background:var(--cream)}.scene-figure{margin:0;position:relative;min-height:550px}.scene-figure img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.scene-figure figcaption{position:absolute;bottom:18px;left:20px;background:var(--cream);padding:.5rem .7rem;font-size:.7rem;font-weight:700}.scene-note{padding:clamp(25px,4vw,60px);display:flex;flex-direction:column;justify-content:center}.scene-kicker{color:var(--accent)}.scene-note>p:not(.scene-kicker,.fine){line-height:2;font-size:.95rem}.scene-note button{border:0;border-bottom:1px solid var(--ink);background:transparent;color:var(--ink);padding:10px 0;text-align:left;font-weight:800;cursor:pointer;width:max-content;max-width:100%;margin:25px 0}.outro{grid-template-columns:19% 1fr;max-width:1200px}.outro div{max-width:700px}.outro p{margin-top:28px}.outro .text-link{margin-top:14px}footer{display:flex;justify-content:space-between;gap:18px;background:var(--ink);color:var(--cream);padding:24px clamp(20px,4vw,64px)}footer a{text-decoration:none}
@media(max-width:980px){.hero{grid-template-columns:minmax(0,1fr) minmax(340px,.9fr)}.hero-photo{min-height:610px}.hero h1{font-size:clamp(2.8rem,5vw,4rem)}.intro{grid-template-columns:1fr 1fr}.intro .section-num{grid-column:1/-1}.scene-figure{min-height:470px}}
@media(max-width:700px){.mast{height:60px}.brand span{display:none}.hero{display:flex;flex-direction:column;min-height:0}.hero-photo{min-height:0;aspect-ratio:4/3}.hero-photo img{position:static;height:auto;aspect-ratio:4/3;display:block}.photo-mark{left:14px;bottom:14px;font-size:.55rem}.hero-copy{align-items:flex-start;text-align:left;border:0;padding:32px 24px 40px;min-height:360px}.hero-heading{margin:26px 0 24px}.tiny-label{margin-bottom:12px}.hero h1{font-size:clamp(2.85rem,9.5vw,4.4rem)}.lead{margin:20px 0 0;font-size:1rem}.intro,.outro{display:block;padding:78px 24px}.intro h2,.scene h2,.outro h2{font-size:clamp(2.55rem,8.4vw,3.8rem);margin:20px 0 24px}.scene{padding:78px 18px}.scene-head{display:block;margin-bottom:26px}.scene-head h2{text-align:left}.scene-grid{display:block}.scene-figure{aspect-ratio:4/3;min-height:0}.scene-figure img{position:static;display:block;aspect-ratio:4/3}.scene-note{padding:30px 24px}.outro p{margin-top:0}footer{font-size:.55rem;line-height:1.6}}
@media(max-width:380px){.hero h1{font-size:2.75rem}.mast a{font-size:.75rem}.intro h2,.scene h2,.outro h2{font-size:2.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
