:root{--ink:#102033;--text:#1e293b;--muted:#64748b;--line:#dce5ee;--soft:#f5f8fb;--blue:#245c8d;--navy:#12334f;--green:#2f7d68;--max:900px}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic",sans-serif;color:var(--text);background:var(--soft);line-height:1.9}
a{color:inherit;text-decoration:none}.container{width:min(100% - 32px,var(--max));margin:0 auto}
header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.header-inner{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:18px}.logo{display:grid;line-height:1.2}.logo strong{color:var(--navy);font-size:1.18rem}.logo span{color:var(--muted);font-size:.72rem;font-weight:700}nav{display:flex;gap:18px;font-size:.9rem;font-weight:700;color:#38506a}nav a:hover{color:var(--blue)}
.hero{background:linear-gradient(120deg,var(--navy),var(--blue));color:#fff;padding:56px 0}.breadcrumb{color:#c7d6e4;font-size:.88rem;margin-bottom:14px}.breadcrumb a{color:#fff;font-weight:800}.category{display:inline-block;margin-bottom:10px;color:#d8f2e8;font-weight:800;font-size:.82rem}h1{margin:0;font-size:clamp(2rem,4vw,3rem);line-height:1.3}.lead{margin:14px 0 0;color:#dbe7f0;max-width:780px}
main{padding:48px 0 76px}.article{background:#fff;border:1px solid var(--line);border-radius:8px;padding:38px}.article h2{margin:34px 0 10px;color:var(--ink);font-size:1.35rem}.article h2:first-child{margin-top:0}.article p{margin:0 0 16px}.article ul{margin:0 0 18px;padding-left:1.35em}.article li{margin:6px 0}.article li::marker{color:var(--green)}.note{background:#eef6f3;border:1px solid #c9e1d9;border-radius:8px;padding:16px 18px;color:#2f5d51;font-weight:700;margin:22px 0}.pager{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:28px}.pager a{color:var(--blue);font-weight:800}
.visual{margin:0 0 30px;background:linear-gradient(135deg,#f8fbfd,#eef6f3);border:1px solid var(--line);border-radius:8px;overflow:hidden}.visual svg{display:block;width:100%;height:auto}.visual figcaption{padding:12px 16px;color:var(--muted);font-size:.9rem;border-top:1px solid var(--line);background:#fff}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:22px 0}.detail-card{background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:16px}.detail-card b{display:block;color:var(--ink);margin-bottom:6px}.detail-card p{margin:0;color:var(--muted);font-size:.95rem}.case-box{border-left:4px solid var(--blue);background:#f8fafc;padding:16px 18px;margin:22px 0}.case-box p:last-child{margin-bottom:0}.check-panel{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:18px 20px;margin:22px 0}.check-panel b{display:block;color:#7c2d12;margin-bottom:8px}.check-panel ul{margin-bottom:0}
.decision-table{width:100%;border-collapse:collapse;margin:18px 0 24px;font-size:.95rem}.decision-table th,.decision-table td{border:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top}.decision-table th{background:#f8fafc;color:var(--ink)}.action-list{counter-reset:action;display:grid;gap:12px;margin:18px 0}.action-item{counter-increment:action;border:1px solid var(--line);border-radius:8px;padding:14px 16px;background:#fff}.action-item::before{content:counter(action);display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;font-size:.82rem;margin-right:8px}.action-item b{color:var(--ink)}
.ad-box{border:1px solid var(--line);border-radius:8px;background:#f8fafc;padding:14px;margin:28px 0;text-align:center}.ad-label{display:block;margin:0 0 10px;color:var(--muted);font-size:.76rem;font-weight:800;letter-spacing:.04em}.ad-box a{display:inline-block;max-width:100%}.ad-box img{max-width:100%;height:auto;vertical-align:middle}
footer{background:#0b1622;color:#91a3b5;padding:34px 0;font-size:.9rem}.footer-note{margin:0 0 16px;color:#7f93a8;font-size:.78rem;line-height:1.7}.footer-note a{color:#a9bbcc;text-decoration:underline;text-underline-offset:3px}.footer-row{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.footer-row a:hover{color:#fff}
@media (max-width:720px){nav{display:none}.article{padding:26px 20px}.detail-grid{grid-template-columns:1fr}}
