*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Noto Sans JP",sans-serif;background:#f8f9fc;color:#1f2937;line-height:1.8}header{background:#19243b;color:white;padding:22px 5%}header strong{font-size:1.25rem}nav a{color:#c9d8f1;margin-right:14px}main{max-width:960px;margin:38px auto;padding:0 18px}.hero{background:white;border-radius:18px;padding:32px;border:1px solid #e4e8ef}.tag{font-size:.75rem;color:#526174;font-weight:700;letter-spacing:.08em}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:16px;margin:22px 0}.tile{background:white;padding:22px;border:1px solid #e4e8ef;border-radius:16px}.tile a{color:#234e91}footer{padding:30px 5%;background:#edf0f5;font-size:.85rem}footer a{margin-right:12px;color:#234e91}.notice{padding:14px;background:#fff5de;border-left:4px solid #d6a43e;margin:20px 0}.article{background:white;border-radius:16px;padding:30px;border:1px solid #e4e8ef}.article h2{margin-top:1.6em}a{color:#234e91}#age{position:fixed;inset:0;background:#141a2be8;z-index:20;display:flex;align-items:center;justify-content:center;padding:22px}#age .dialog{max-width:480px;padding:34px;background:white;border-radius:18px;text-align:center}button{background:#203b72;color:white;border:0;border-radius:8px;padding:12px 18px;cursor:pointer;margin:5px}button.alt{background:#64748b}@media(max-width:600px){.hero,.article{padding:20px}}
/* Fail closed: keep content inaccessible until age acknowledgement. */
#age[hidden]{display:none!important}body:has(#age:not([hidden])){overflow:hidden}.no-script{position:fixed;bottom:0;left:0;right:0;z-index:30;background:#fff;padding:16px;text-align:center}:focus-visible{outline:3px solid #d6a43e;outline-offset:4px}
