:root{--bg:#f5f2ea;--paper:#fff;--ink:#211d17;--soft:#5f5a50;--line:#ddd6c8;--gold:#b0904e;--dark:#16130f}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:"Noto Sans JP",sans-serif;line-height:1.9}a{color:#67552f}header{background:var(--dark);color:#fff;padding:18px 5vw;display:flex;align-items:center;justify-content:space-between;gap:20px}header img{width:auto;height:30px}header a{color:#fff;text-decoration:none;font-size:.82rem}.hero{background:var(--dark);color:#fff;padding:72px 6vw 82px}.hero-inner,main{max-width:920px;margin:auto}.eyebrow{color:var(--gold);letter-spacing:.16em;font-size:.72rem}.hero h1{font-family:"Noto Serif JP",serif;font-weight:400;font-size:clamp(1.8rem,5vw,3.2rem);line-height:1.5;margin:18px 0}.hero .lead{max-width:760px;color:#d3d0c8}.date{margin-top:22px;color:#9e9a90;font-size:.78rem}main{background:var(--paper);padding:56px clamp(22px,6vw,72px);margin-top:-24px;position:relative}article h2{font-family:"Noto Serif JP",serif;font-weight:500;font-size:1.45rem;line-height:1.6;margin:46px 0 14px;padding-top:4px;border-top:1px solid var(--line)}article h2:first-of-type{margin-top:0;border-top:0}article h3{font-size:1.02rem;margin:26px 0 8px}article p,article li{font-size:1rem;color:#3f3b34}article p+p{margin-top:16px}article ul,article ol{padding-left:1.4em;margin:14px 0}article .note{background:#f4efe4;border-left:3px solid var(--gold);padding:16px 18px;margin:24px 0}.toc{background:#f8f6f0;border:1px solid var(--line);padding:20px 24px;margin-bottom:38px}.toc strong{display:block;margin-bottom:8px}.cta{background:var(--dark);color:#fff;padding:30px;margin-top:48px}.cta h2{border:0;margin:0 0 10px;color:#fff}.cta p{color:#cbc7bd}.buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.button{display:inline-block;background:var(--gold);color:#15120d;text-decoration:none;font-weight:700;padding:12px 20px}.button.sub{background:transparent;border:1px solid #777;color:#fff}footer{max-width:920px;margin:auto;padding:34px 22px 70px;color:var(--soft);font-size:.78rem}footer nav{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:12px}@media(max-width:600px){header{align-items:flex-start}.hero{padding-top:54px}main{margin-top:0;padding-top:38px}article p,article li{font-size:.96rem}}
