:root{--purple:#5f477d;--deep:#45305f;--wine:#a14456;--ink:#25222b;--muted:#6d6772;--wash:#f7f6f8;--line:#ded9e2;--card-line:#cfc5d8;--max:1120px}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:"Noto Sans JP","Yu Gothic",system-ui,sans-serif;line-height:1.75}a{color:var(--deep)}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:white;padding:.7rem;z-index:20}.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}.topbar{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:5}.header{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{display:block;width:min(340px,42vw);height:auto}.nav{display:flex;align-items:center;gap:20px;font-size:.9rem}.nav a{text-decoration:none;white-space:nowrap}.lang{border-left:1px solid var(--line);padding-left:20px;color:var(--wine);font-weight:700}.hero{background:var(--wash);border-bottom:1px solid var(--line);padding:44px 0 40px}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;font-weight:700}.hero h1,.page-title,.section-head h2{font-family:Georgia,"Yu Mincho",serif;color:var(--deep);line-height:1.3}.hero h1{font-size:clamp(1.5rem,2.8vw,2.2rem);max-width:1000px;margin:.45rem 0 .8rem}.lede{font-size:1rem;max-width:720px;color:#514b58}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.button{display:inline-block;padding:10px 17px;border-radius:2px;text-decoration:none;background:var(--purple);color:#fff;font-weight:700}.button.secondary{background:#fff;color:var(--purple);border:1px solid var(--purple)}main section{padding:52px 0}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:20px}.section-head h2,.page-title{margin:0;font-size:clamp(1.65rem,2.7vw,2.35rem)}.cards{display:grid;gap:16px}.card{border:1px solid var(--card-line);padding:22px;background:#fff}.tag{display:inline-block;background:#f4e6e9;color:#7d3140;padding:2px 8px;font-size:.75rem;font-weight:700}.meta{color:var(--muted);font-size:.88rem}.card h3{font-family:Georgia,serif;font-size:1.2rem;line-height:1.45;margin:.6rem 0}.prose h2{color:var(--deep)}.page-head{padding:40px 0 24px;background:var(--wash);border-bottom:1px solid var(--line)}.prose{max-width:800px}.prose h2{margin-top:2.2rem}.prose dt{font-weight:700;color:var(--deep)}.prose dd{margin:0 0 1rem}.tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 24px}.tools input{font:inherit;min-width:min(420px,100%);padding:9px 12px;border:1px solid #aaa}.notice{padding:14px 17px;margin-bottom:22px;background:#fbf3f4;border:1px solid #dec4ca}.footer{background:var(--deep);color:#eee;padding:38px 0;margin-top:44px}.footer a{color:#fff}.footer-grid{display:flex;justify-content:space-between;gap:30px}.small{font-size:.83rem;color:#d8d0df}@media(max-width:820px){.header{align-items:flex-start;padding:14px 0;flex-direction:column;gap:10px}.logo{width:min(330px,85vw)}.nav{width:100%;overflow-x:auto;padding-bottom:8px;gap:16px}.lang{margin-left:auto}.hero{padding:36px 0}.footer-grid,.section-head{display:block}}@media(max-width:520px){.wrap{width:min(calc(100% - 28px),var(--max))}.nav a:not(.lang){display:none}.hero h1{font-size:1.45rem}main section{padding:40px 0}}
.hero h1{font-size:clamp(1.3rem,2.2vw,1.85rem)}
@media(max-width:520px){.hero h1{font-size:1.25rem}}
.lede{font-size:.9rem}
