:root{--ink: #1f2933;--ink-soft: #52606d;--line: #e4e7eb;--bg: #ffffff;--bg-soft: #f5f7fa;--primary: #2b6cb0;--primary-dark: #234e7d;--on-primary: #ffffff;--band-high: #2f855a;--band-mid: #b7791f;--band-low: #b05a52;--advisory-bg: #fbf8f1;--advisory-line: #e6d8bd;--radius: 10px;--maxw: 760px;font-family:system-ui,-apple-system,Segoe UI,Hiragino Sans,Noto Sans JP,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);line-height:1.7}main{max-width:var(--maxw);margin:0 auto;padding:2rem 1.25rem 5rem}h1{font-size:1.9rem;line-height:1.35;margin:.5rem 0 1rem}h2{font-size:1.3rem;margin:2rem 0 .75rem}h3{font-size:1.1rem;margin:1.5rem 0 .5rem}p{margin:0 0 1rem}a{color:var(--primary)}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;background:var(--bg);padding:.5rem 1rem;z-index:10}.eyebrow{display:inline-block;font-size:.85rem;font-weight:600;color:var(--primary-dark);background:var(--bg-soft);padding:.2rem .7rem;border-radius:999px;margin:0 0 .5rem}.lead{font-size:1.1rem;color:var(--ink-soft)}.btn{display:inline-block;cursor:pointer;border:0;border-radius:var(--radius);font-size:1.05rem;font-weight:600;padding:.85rem 1.6rem;text-decoration:none}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover{background:var(--primary-dark)}.btn-primary:disabled{background:var(--line);color:var(--ink-soft);cursor:not-allowed}.countdown{font-size:1.15rem;font-weight:700;color:var(--primary-dark);margin:1rem 0}.reassure{color:var(--ink-soft);font-size:.95rem}.lp-note,.strength-note{font-size:.92rem;color:var(--ink-soft);background:var(--bg-soft);border-radius:var(--radius);padding:.9rem 1.1rem;border:1px solid var(--line)}.intro{color:var(--ink-soft)}.privacy-inline{font-size:.9rem;color:var(--ink-soft)}.pillar-block{margin:2.25rem 0}.pillar-block>h2 .basis,.question legend .basis{font-size:.8rem;color:var(--ink-soft);font-weight:500}.question{border:1px solid var(--line);border-radius:var(--radius);margin:.85rem 0;padding:1rem 1.1rem}.question legend{font-weight:600;padding:0}.options{display:flex;gap:.5rem;margin-top:.7rem;flex-wrap:wrap}.options label{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--line);border-radius:999px;padding:.4rem .9rem;cursor:pointer}.options label:has(input:checked){border-color:var(--primary);background:var(--bg-soft)}.form-footer{position:sticky;bottom:0;background:var(--bg);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-top:1px solid var(--line);margin-top:1.5rem}.progress{margin:0;font-weight:600}.results{margin-top:2.5rem;scroll-margin-top:1rem}.overall-score{font-size:2rem;font-weight:800;margin:.25rem 0}.framing{font-size:1.15rem;color:var(--primary-dark);font-weight:600}.pillar-row{display:grid;grid-template-columns:1fr;gap:.25rem;margin:.6rem 0}.pillar-label{font-weight:600;font-size:.95rem}.bar{background:var(--bg-soft);border-radius:999px;height:12px;overflow:hidden}.bar-fill{height:100%;border-radius:999px;transition:width .4s ease}.bar-fill[data-band=high]{background:var(--band-high)}.bar-fill[data-band=mid]{background:var(--band-mid)}.bar-fill[data-band=low]{background:var(--band-low)}.pillar-pct{font-size:.9rem;color:var(--ink-soft)}.gaps ol{padding-left:0;list-style:none}.gap{border:1px solid var(--line);border-left:4px solid var(--band-mid);border-radius:var(--radius);padding:.9rem 1.1rem;margin:.7rem 0}.gap-fail{border-left-color:var(--band-low)}.gap-badge{display:inline-block;font-size:.78rem;font-weight:700;color:#fff;background:var(--band-mid);border-radius:999px;padding:.1rem .6rem;margin-bottom:.4rem}.gap-fail .gap-badge{background:var(--band-low)}.gap-text{font-weight:600;margin:.2rem 0}.gap-advice{margin:.2rem 0}.gap-basis{font-size:.8rem;color:var(--ink-soft)}.advisory{background:var(--advisory-bg);border:1px dashed var(--advisory-line);border-radius:var(--radius);padding:1.1rem 1.25rem;margin:2rem 0}.advisory h3{margin-top:0}.advisory-badge{display:inline-block;font-size:.75rem;font-weight:700;color:var(--band-mid);border:1px solid var(--advisory-line);border-radius:999px;padding:.1rem .6rem;margin-left:.5rem;vertical-align:middle}.advisory-note{font-size:.92rem;color:var(--ink-soft)}.cta{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.25rem;margin:2rem 0}.cta h2,.cta h3{margin-top:0}.definition{margin:2.5rem 0}.definition h3{margin:1.25rem 0 .4rem}.definition ul,.definition ol{margin:.4rem 0;padding-left:1.3rem}.definition li{margin:.3rem 0}.def-note{font-size:.92rem;color:var(--ink-soft)}
