:root{--ink:#171b26;--muted:#687080;--line:#e3e5ea;--paper:#f7f8fa;--accent:#e85c3a;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font-family:"Hiragino Sans","Yu Gothic UI","Noto Sans JP",sans-serif;line-height:1.85}a{color:inherit;text-underline-offset:4px}.info-header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,6vw,88px);border-bottom:1px solid var(--line);background:#fff}.info-header>a:first-child{display:flex;align-items:center;gap:10px;font-weight:900;text-decoration:none}.info-header nav{display:flex;gap:24px;font-size:.85rem;font-weight:700}.info-header nav a{text-decoration:none}.info-main{width:min(880px,calc(100% - 40px));margin:0 auto;padding:82px 0 110px}.info-kicker{margin:0 0 14px;color:var(--accent);font:800 .72rem/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em}.info-main h1{margin:0;font-size:clamp(2.4rem,6vw,4.8rem);line-height:1.16;letter-spacing:-.06em}.info-lead{max-width:720px;margin:24px 0 64px;color:var(--muted);font-size:1.05rem}.info-section{padding:34px 0;border-top:1px solid var(--line)}.info-section h2{margin:0 0 16px;font-size:1.45rem;letter-spacing:-.025em}.info-section h3{margin:26px 0 8px;font-size:1rem}.info-section p{margin:8px 0;color:#3f4654}.info-section ul,.info-section ol{margin:12px 0;padding-left:1.4em}.info-section li{margin:9px 0}.info-note{margin:26px 0 0;padding:20px 22px;border-left:4px solid var(--accent);background:var(--paper);font-size:.9rem}.info-meta{display:grid;grid-template-columns:140px 1fr;margin:10px 0}.info-meta dt,.info-meta dd{padding:11px 0;border-top:1px solid var(--line)}.info-meta dt{color:var(--muted);font-size:.82rem}.info-meta dd{margin:0;font-weight:700}.info-footer{display:flex;justify-content:space-between;gap:20px;padding:38px clamp(20px,6vw,88px);color:#d8dbe3;background:#171b26;font-size:.78rem}.info-footer nav{display:flex;gap:20px;flex-wrap:wrap}@media(max-width:680px){.info-header{height:auto;align-items:flex-start;flex-direction:column;gap:14px;padding-top:18px;padding-bottom:18px}.info-header nav{gap:14px;flex-wrap:wrap}.info-main{padding-top:54px}.info-lead{margin-bottom:44px}.info-meta{grid-template-columns:1fr}.info-meta dd{padding-top:0}.info-footer{flex-direction:column}}
.info-main h1,.info-section h2,.info-section h3{text-wrap:balance;line-break:strict;overflow-wrap:anywhere}.info-main h1{max-width:12em;font-size:clamp(2.5rem,5.3vw,4.55rem);line-height:1.2}
