:root{
  --ink:#1f2d33;--ink-soft:#4a5a60;--muted:#6b7675;
  --primary:#175a77;--primary-dark:#0f3f54;--primary-tint:#e9f2f5;
  --accent:#d9661f;--accent-dark:#b4521a;
  --green:#2f7a5b;--green-tint:#eaf5ef;
  --warn:#9a3b2e;--warn-tint:#fbefec;
  --paper:#fbfaf7;--line:#dde4e6;--white:#fff;
  --shadow:0 6px 24px rgba(15,63,84,.08);
}
*{box-sizing:border-box}
body{margin:0;color:var(--ink);background:var(--paper);
  font-family:"Yu Gothic Medium","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  font-size:16px;line-height:1.85;letter-spacing:.02em;-webkit-text-size-adjust:100%}
a{color:var(--primary)}
h1,h2,h3{line-height:1.45;margin:0;font-weight:700}
p{margin:0 0 1em}
.wrap{max-width:820px;margin:0 auto;padding:0 20px}
.topbar{background:#fff;border-bottom:1px solid var(--line)}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:56px}
.topbar a{text-decoration:none;font-weight:700;color:var(--primary-dark);font-size:.9rem}
.topbar .back::before{content:"← "}
.head{padding:44px 0 24px}
.label{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.12em;color:var(--primary);background:var(--primary-tint);padding:3px 12px;border-radius:999px;margin-bottom:12px}
.head h1{font-size:clamp(1.5rem,4vw,2rem);color:var(--primary-dark);margin-bottom:12px}
.head p{color:var(--ink-soft)}
.card{background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:28px;margin-bottom:24px}
.note{background:var(--primary-tint);border-radius:12px;padding:16px 20px;font-size:.92rem;color:var(--ink-soft);margin:0 0 24px}
.note b{color:var(--primary-dark)}
.warn{background:var(--warn-tint);border-radius:12px;padding:16px 20px;font-size:.92rem;margin:0 0 24px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:10px 24px;border-radius:999px;font-weight:700;text-decoration:none;border:0;cursor:pointer;font-size:1rem;font-family:inherit}
.btn-main{background:var(--accent);color:#fff}
.btn-main:hover{background:var(--accent-dark)}
.btn-sub{background:#fff;color:var(--primary-dark);border:2px solid var(--primary)}
.cta{background:linear-gradient(135deg,#fff4ea,#fde6d4);border-radius:16px;padding:30px 24px;text-align:center;margin:36px 0}
.cta h2{font-size:1.25rem;color:var(--primary-dark);margin-bottom:8px}
.cta p{color:var(--ink-soft);font-size:.95rem}
.sources{font-size:.82rem;color:var(--muted);margin:24px 0}
.sources a{word-break:break-all}
footer{background:var(--primary-dark);color:#dce8ec;padding:30px 0;font-size:.85rem;margin-top:40px}
footer a{color:#fff}
footer .scope{margin-top:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.25);border-radius:10px}
@media (max-width:640px){.wrap{padding:0 16px}.card{padding:20px 16px}.btn{width:100%}}
