:root{--bg:#f5f7f6;--surface:#fff;--surface-2:#edf1ef;--ink:#1f2a2c;--sub:#4d5a5c;--line:#d8dfdc;--accent:#2c6b5f;--accent-strong:#1f5248;--accent-ink:#fff;--accent-soft:#e6f0ec;--accent-line:#b9d4ca;--ochre:#83590f;--ochre-soft:#f6eedc;--tint:#e9f2ee;--tint-2:#f3f8f6;--tint-line:#c9ddd5;--ok:#2c6b5f;--ok-soft:#e6f0ec;--soon:#255d9a;--soon-soft:#e3ebf6;--end:#a3392f;--end-soft:#f7e4e1;--unk:#5d6166;--unk-soft:#ecedeb;--serif:"Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;--sans:"Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", sans-serif;--radius:12px;--radius-s:8px;--radius-l:18px;--shadow:0 1px 2px #1f2a2c0d, 0 6px 18px -10px #1f2a2c29;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--bg);scroll-padding-top:16px}body{background:var(--bg);color:var(--ink);font-family:var(--sans);letter-spacing:.01em;-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.9}@media (width<=480px){body{font-size:16px;line-height:1.85}}img{max-width:100%;height:auto}a{color:var(--accent);text-underline-offset:3px}a:hover{color:var(--accent-strong)}h1,h2,h3{font-family:var(--serif);text-wrap:balance;color:var(--ink);margin:0;font-weight:800;line-height:1.45}h1{letter-spacing:.01em;font-size:clamp(26px,4.6vw,38px)}h2{font-size:clamp(21px,3vw,26px)}h3{font-size:19px}p{margin:0}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}[hidden]{display:none!important}.icon{flex:none}.container{max-width:1120px;margin:0 auto;padding-inline:20px}@media (width<=480px){.container{padding-inline:16px}}.narrow{max-width:780px}.site-header{background:var(--surface);border-bottom:1px solid var(--line);border-top:3px solid var(--accent);z-index:2;position:relative}.site-header .bar{justify-content:space-between;align-items:center;gap:16px;padding-block:12px;display:flex}.logo{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:flex}.logo:hover{color:var(--ink)}.logo .mark{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border:1px solid var(--accent-line);border-radius:9px;place-items:center;display:grid}.logo .word{font-family:var(--serif);letter-spacing:.06em;font-size:21px;font-weight:800;line-height:1.1}.logo .word small{font-family:var(--sans);letter-spacing:.08em;color:var(--sub);margin-top:3px;font-size:11.5px;font-weight:500;display:block}.head-cta{color:var(--accent-ink);background:var(--accent);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.head-cta:hover{background:var(--accent-strong);color:var(--accent-ink)}.site-nav{border-top:1px solid var(--line)}.site-nav ul{scrollbar-width:none;gap:2px;margin:0 auto;padding-block:2px;list-style:none;display:flex;overflow-x:auto}.site-nav ul::-webkit-scrollbar{display:none}.site-nav a{color:var(--sub);white-space:nowrap;border-bottom:3px solid #0000;align-items:center;gap:6px;padding:10px 12px;font-size:15px;text-decoration:none;display:flex}.site-nav a:hover{color:var(--ink)}.site-nav a[aria-current=page]{color:var(--accent-strong);border-bottom-color:var(--accent);font-weight:700}.site-nav .icon{width:18px;height:18px;color:var(--accent)}@media (width<=480px){.head-cta span,.logo .word small{display:none}}.pr-bar{background:var(--surface-2);color:var(--sub);border-bottom:1px solid var(--line);font-size:13px}.pr-bar .container{padding-block:6px}main{padding-block:40px 96px}.site-footer{background:var(--tint);color:var(--sub);border-top:1px solid var(--tint-line);font-size:14.5px}.site-footer .container{grid-template-columns:1fr;gap:28px;padding-block:48px 32px;display:grid}@media (width>=800px){.site-footer .container{grid-template-columns:1.3fr 1fr 1fr}}.site-footer h2{font-family:var(--sans);letter-spacing:.12em;color:var(--accent-strong);margin-bottom:10px;font-size:13px;font-weight:700}.site-footer ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.site-footer a{color:var(--ink);text-decoration:none}.site-footer a:hover{color:var(--accent-strong);text-decoration:underline}.site-footer .brand{flex-direction:column;gap:10px;display:flex}.site-footer .brand .logo{color:var(--ink)}.site-footer .brand .logo .mark{background:var(--surface)}.site-footer .copy{border-top:1px solid var(--tint-line);grid-column:1/-1;padding-top:18px;font-size:13px}.stack{flex-direction:column;gap:56px;display:flex}.section{flex-direction:column;gap:18px;display:flex}.sec-head{flex-direction:column;gap:6px;display:flex}.eyebrow{letter-spacing:.14em;color:var(--accent);font-size:13px;font-weight:700}.lead{color:var(--sub);max-width:64ch}.crumb{color:var(--sub);flex-wrap:wrap;gap:4px 8px;margin:0;padding:0;font-size:13.5px;list-style:none;display:flex}.crumb li+li:before{content:"›";margin-right:8px}.crumb a{color:var(--sub);text-decoration:none}.crumb a:hover{color:var(--ink);text-decoration:underline}.note{color:var(--sub);font-size:14px;line-height:1.8}.box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px 24px}.warn{border-left:4px solid var(--end);background:var(--surface);border-radius:0 var(--radius-s) var(--radius-s) 0;padding:14px 18px}.tag{background:var(--unk-soft);color:var(--unk);letter-spacing:.02em;border-radius:999px;align-self:flex-start;padding:2px 10px;font-size:12.5px;font-weight:700}.tag.live{background:var(--accent-soft);color:var(--accent-strong)}.btn{font:inherit;background:var(--accent);color:var(--accent-ink);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:8px;padding:11px 22px;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.btn:hover{background:var(--accent-strong);color:var(--accent-ink)}.btn .icon{width:18px;height:18px}.card-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);flex-direction:column;gap:8px;padding:18px 20px;text-decoration:none;transition:border-color .15s;display:flex}a.card:hover{border-color:var(--accent);color:var(--ink)}.card .sub{color:var(--sub);font-size:14.5px;line-height:1.75}.card b{font-size:17px;line-height:1.6}@media (prefers-reduced-motion:reduce){.card{transition:none}}.article-h2{border-bottom:2px solid var(--accent);padding-bottom:10px}
