:root{--ink:#1d2b36;--muted:#5b6b78;--line:#dbe4ea;--accent:#1f6f9c;--bg:#f7f9fb;--warn:#fff7e8}
*{box-sizing:border-box}body{margin:0;font-family:"Hiragino Sans","Noto Sans JP",sans-serif;color:var(--ink);background:#fff;line-height:1.85}
a{color:var(--accent)}.wrap{max-width:1040px;margin:0 auto;padding:0 18px}
.site-header{border-bottom:1px solid var(--line);background:#fff}.site-header .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:12px 18px}
.brand{font-weight:800;font-size:1.25rem;color:var(--ink);text-decoration:none}.brand small{display:block;font-size:.72rem;color:var(--muted);font-weight:500}
.nav{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.88rem}.nav a{text-decoration:none;color:var(--ink)}
main{padding:24px 0 48px}.crumbs{font-size:.8rem;color:var(--muted);margin-bottom:8px}.crumbs a{color:var(--muted)}
h1{font-size:1.6rem;line-height:1.45;margin:.2em 0 .4em}h2{font-size:1.25rem;border-left:5px solid var(--accent);padding-left:.5em;margin-top:2em}h3{font-size:1.08rem;margin-top:1.6em}
.meta{font-size:.8rem;color:var(--muted)}.risk{background:var(--warn);border-left:5px solid #e69a20;padding:12px 16px;margin:16px 0;font-size:.9rem}
.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem;margin:1em 0}th,td{border:1px solid var(--line);padding:.45em .6em;text-align:left;vertical-align:top}th{background:var(--bg)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin:16px 0}
.card{border:1px solid var(--line);border-radius:10px;padding:14px 16px;background:#fff}.card h3{font-size:1rem;margin:.2em 0 .4em}.card h3 a{text-decoration:none;color:var(--ink)}.card p{font-size:.86rem;color:var(--muted);margin:0}
.cat-tag{display:inline-block;font-size:.72rem;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:0 .6em;color:var(--muted)}
.hero{background:var(--bg);border-radius:12px;padding:32px 22px;margin-bottom:24px}.hero p.lead{color:var(--muted)}
.site-footer{border-top:1px solid var(--line);background:var(--bg);padding:24px 0;font-size:.82rem;color:var(--muted)}.site-footer nav{display:flex;flex-wrap:wrap;gap:6px 14px;margin-bottom:8px}
.site-operator{font-size:.8rem;margin-top:.5rem}.pr-notice{font-size:.8rem;color:#555;background:#f6f6f2;border:1px solid #e3e3dc;border-radius:6px;padding:.4rem .7rem;margin:.6rem 0}
@media(max-width:600px){h1{font-size:1.35rem}}