:root{color-scheme:light;--ink:#283c31;--paper:#f4f0e9;--sage:#e3e9df;--line:#b9c5b8;--rose:#ac6e79}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}a{color:inherit}.skip{position:absolute;top:-80px;left:12px;z-index:10;padding:10px;background:#fff}.skip:focus{top:8px}.site-header{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,64px);border-bottom:1px solid var(--line)}.brand{font-family:"Yu Mincho",serif;font-size:1.15rem;letter-spacing:.1em;text-decoration:none}.brand small{font:.67rem sans-serif;letter-spacing:0}nav{display:flex;gap:28px}nav a{font-size:.78rem;text-decoration:none}.hero{position:relative;min-height:780px;isolation:isolate}.hero-photo{position:absolute;top:0;left:0;width:100%;height:720px;object-fit:cover;object-position:44% 50%}.hero-photo-label{position:absolute;left:22px;top:680px;z-index:1;background:rgba(244,240,233,.87);font-size:.65rem;padding:6px 10px}.hero-card{position:relative;z-index:1;top:150px;margin:0 clamp(26px,6vw,90px) 0 auto;width:min(570px,43%);min-height:610px;padding:clamp(28px,3.5vw,58px);background:rgba(244,240,233,.97);box-shadow:0 18px 44px rgba(35,54,43,.12)}.eyebrow,.section-index{font-size:.68rem;letter-spacing:.19em;color:var(--rose)}.hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(2.8rem,4.4vw,5.4rem);font-weight:500;letter-spacing:.025em;line-height:1.27;margin:38px 0 26px}.hero h1 span{font-size:1.18em;letter-spacing:.2em}.hero-phrase{font-family:"Yu Mincho",serif;font-size:clamp(1.3rem,1.8vw,1.9rem);line-height:1.7;letter-spacing:.12em;margin:0 0 18px}.hero-lead{max-width:390px;font-size:.82rem;line-height:2;color:#506453}.hero-card a{display:inline-block;margin-top:12px;padding:0 0 9px;border-bottom:1px solid var(--ink);text-decoration:none;font-size:.81rem;letter-spacing:.09em}.hero-card a span{margin-left:18px}.scene{padding:clamp(90px,10vw,145px) clamp(20px,6vw,95px);display:grid;grid-template-columns:minmax(260px,34%) 1fr;gap:clamp(30px,6vw,95px);background:var(--sage)}.scene h2,.closing h2{font-family:"Yu Mincho",serif;font-size:clamp(2.5rem,4.2vw,5rem);font-weight:500;line-height:1.35;letter-spacing:.06em;margin:20px 0 28px}.scene-intro>p:nth-of-type(2){font-size:.86rem;line-height:2;max-width:370px}.scene-controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}.scene-controls button{font:inherit;font-size:.78rem;background:transparent;color:var(--ink);border:1px solid var(--ink);padding:12px 15px;cursor:pointer}.scene-controls button[aria-pressed=true],.scene-controls button:hover,.scene-controls button:focus-visible{background:var(--ink);color:var(--paper)}.scene-figure{margin:0;align-self:center}.scene-figure img{display:block;width:100%;aspect-ratio:1.48;object-fit:cover}.scene-figure figcaption{padding:15px 0;font-family:"Yu Mincho",serif;font-size:.88rem}.closing{text-align:center;padding:clamp(90px,10vw,160px) 22px}.closing>p:nth-of-type(2){max-width:650px;margin:0 auto 34px;font-size:.84rem;line-height:2.2;color:#5e6a5e}.closing a{display:inline-block;padding:9px;border-bottom:1px solid;text-decoration:none;font-size:.8rem}footer{text-align:center;font-size:.7rem;color:#69786b;border-top:1px solid var(--line);padding:26px}@media(max-width:900px){.hero{min-height:0;padding-bottom:30px}.hero-photo{position:relative;height:auto;aspect-ratio:1.42;display:block}.hero-photo-label{top:calc(100vw / 1.42 - 31px);left:10px}.hero-card{top:0;margin:-38px 24px 0 auto;width:min(630px,calc(100% - 48px));min-height:0;padding:35px 38px}.hero h1{margin:20px 0;font-size:clamp(3rem,6vw,4.4rem)}.scene{grid-template-columns:1fr}.scene-intro>p:nth-of-type(2){max-width:none}}@media(max-width:520px){.site-header{height:60px;padding:0 16px}.brand{font-size:1rem}nav a:first-child{display:none}.hero-photo{aspect-ratio:1.18;object-position:45% center}.hero-photo-label{top:calc(100vw / 1.18 - 29px);font-size:.58rem}.hero-card{margin:-24px 14px 0;width:calc(100% - 28px);padding:27px 24px 30px}.hero h1{font-size:clamp(2.45rem,9vw,3.2rem);margin:15px 0}.hero-phrase{font-size:1.25rem}.hero-lead{font-size:.78rem}.scene{padding:85px 16px}.scene h2{font-size:2.55rem}.scene-figure img{aspect-ratio:1.08}.closing h2{font-size:2.6rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
