:root{--ink:#1a1d21;--ink-soft:#4a5158;--ink-faint:#757d85;--line:#e3e7ea;--line-soft:#f0f3f5;--bg:#fff;--bg-tint:#f7f9fa;--accent:#1f6f5c;--accent-dark:#175647;--accent-tint:#eaf3f0;--warn-tint:#fdf6e7;--warn-line:#e8d5a3;--radius:10px;--measure:44rem;--font:"Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", Meiryo, system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html{font-family:var(--font);scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{color:var(--ink);background:var(--bg);letter-spacing:.01em;flex-direction:column;min-height:100vh;margin:0;font-size:16.5px;line-height:1.9;display:flex}img{max-width:100%;height:auto}a{color:var(--accent);text-underline-offset:3px}a:hover{color:var(--accent-dark)}.wrap{width:100%;max-width:68rem;margin-inline:auto;padding-inline:1.25rem}.site-header{border-bottom:1px solid var(--line);background:var(--bg);z-index:20;position:sticky;top:0}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;min-height:62px;display:flex}.brand{color:var(--ink);letter-spacing:.02em;font-size:1.02rem;font-weight:700;text-decoration:none}.brand:hover{color:var(--accent)}.site-nav{flex-wrap:wrap;gap:1.15rem;display:flex}.site-nav a{color:var(--ink-soft);font-size:.86rem;text-decoration:none}.site-nav a:hover{color:var(--accent);text-decoration:underline}main{flex:1 0 auto;padding-block:2.5rem 4rem}.prose{max-width:var(--measure);margin-inline:auto}h1{letter-spacing:.005em;margin:0 0 .9rem;font-size:clamp(1.5rem,1.15rem + 1.5vw,2.05rem);line-height:1.5}h2{border-bottom:2px solid var(--accent-tint);margin:3rem 0 1rem;padding-bottom:.5rem;font-size:clamp(1.2rem,1.05rem + .7vw,1.45rem);line-height:1.55}h3{border-left:3px solid var(--accent);margin:2.1rem 0 .7rem;padding-left:.65rem;font-size:1.08rem;line-height:1.6}p{margin:0 0 1.35rem}ul,ol{margin:0 0 1.35rem;padding-left:1.4rem}li{margin-bottom:.45rem}strong{font-weight:700}.table-scroll{margin:0 0 1.6rem;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:30rem;font-size:.92rem;line-height:1.7}th,td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:.6rem .75rem}thead th{background:var(--bg-tint);white-space:nowrap;font-weight:700}tbody tr:nth-child(2n){background:#fbfcfd}.prose>table{max-width:100%;display:block;overflow-x:auto}.article-meta{color:var(--ink-faint);flex-wrap:wrap;gap:1rem;margin:0 0 1.75rem;font-size:.8rem;display:flex}.breadcrumb{color:var(--ink-faint);margin-bottom:1.1rem;font-size:.78rem}.breadcrumb a{color:var(--ink-faint)}.breadcrumb span{margin-inline:.4rem}.toc{background:var(--bg-tint);border:1px solid var(--line);border-radius:var(--radius);margin:0 0 2.5rem;padding:1.15rem 1.35rem}.toc p.toc-title{margin:0 0 .6rem;font-size:.92rem;font-weight:700}.toc ol{counter-reset:toc;margin:0;padding-left:0;list-style:none}.toc li{text-indent:-1.6rem;margin-bottom:.3rem;padding-left:1.6rem;font-size:.9rem}.toc li.lv2{counter-increment:toc}.toc li.lv2:before{content:counter(toc) ". ";color:var(--ink-faint)}.toc li.lv3{text-indent:-1.2rem;padding-left:2.8rem;font-size:.85rem}.toc li.lv3:before{content:"— ";color:var(--ink-faint)}.note{background:var(--warn-tint);border:1px solid var(--warn-line);border-radius:var(--radius);margin:0 0 1.6rem;padding:1rem 1.2rem;font-size:.93rem}.note p:last-child{margin-bottom:0}.cta{border:1px solid var(--accent);background:var(--accent-tint);border-radius:var(--radius);margin:2.75rem 0;padding:1.4rem 1.5rem}.cta h2{border:0;margin:0 0 .6rem;padding:0;font-size:1.08rem}.cta p{margin-bottom:1rem;font-size:.93rem}.cta-button{background:var(--accent);color:#fff;border-radius:6px;padding:.8rem 1.5rem;font-size:.95rem;font-weight:700;text-decoration:none;display:inline-block}.cta-button:hover{background:var(--accent-dark);color:#fff}.pr-label{color:var(--ink-faint);border:1px solid var(--line);background:#fff;border-radius:3px;margin-bottom:.6rem;padding:.1rem .45rem;font-size:.72rem;display:inline-block}.card-grid{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1.1rem;margin:0 0 2rem;padding:0;list-style:none;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:1.15rem 1.25rem;transition:border-color .15s}.card:hover{border-color:var(--accent)}.card .tag{color:var(--accent);background:var(--accent-tint);border-radius:3px;margin-bottom:.55rem;padding:.12rem .5rem;font-size:.72rem;display:inline-block}.card h3{border:0;margin:0 0 .5rem;padding:0;font-size:.99rem;line-height:1.6}.card h3 a{color:var(--ink);text-decoration:none}.card h3 a:hover{color:var(--accent);text-decoration:underline}.card p{color:var(--ink-soft);margin:0;font-size:.85rem}.related{border-top:1px solid var(--line);margin-top:3rem;padding-top:1.75rem}.related h2{border:0;margin:0 0 1rem;padding:0;font-size:1.08rem}.related ul{padding:0;list-style:none}.related li{margin-bottom:.7rem;font-size:.94rem}.site-footer{border-top:1px solid var(--line);background:var(--bg-tint);color:var(--ink-soft);flex-shrink:0;padding-block:2rem;font-size:.83rem}.site-footer nav{flex-wrap:wrap;gap:1.15rem;margin-bottom:.9rem;display:flex}.site-footer a{color:var(--ink-soft)}.site-footer .disclaimer{color:var(--ink-faint);margin:.9rem 0 0;font-size:.78rem;line-height:1.8}.hero{background:var(--bg-tint);border-bottom:1px solid var(--line);margin-top:-2.5rem;margin-bottom:2.75rem;padding-block:2.75rem}.hero h1{margin-bottom:.7rem}.hero p{color:var(--ink-soft);max-width:var(--measure);margin:0}@media (width<=640px){body{font-size:16px;line-height:1.85}main{padding-block:1.75rem 3rem}.hero{margin-top:-1.75rem;padding-block:2rem}h2{margin-top:2.4rem}}
