:root{--navy:#071b31;--blue:#087cf0;--cyan:#16c4dd;--pale:#eff8ff;--line:#d9e7f3;--muted:#586b7d;--white:#fff;--shadow:0 20px 55px rgba(18,76,124,.13)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,#f8fcff 0,#fff 45%);color:var(--navy);font-family:"Noto Sans JP",sans-serif;-webkit-font-smoothing:antialiased}
button,a{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.site-header{height:72px;padding:0 max(22px,calc((100vw - 860px)/2));display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.92);border-bottom:1px solid #edf2f6;position:sticky;top:0;z-index:10;backdrop-filter:blur(10px)}
.brand{display:flex;align-items:center;gap:11px;color:var(--navy);font-weight:900;text-decoration:none;letter-spacing:.03em}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:#fff;background:linear-gradient(145deg,var(--blue),var(--cyan));font-size:21px}.header-note{font-size:13px;font-weight:700;color:var(--blue);background:#e9f5ff;padding:7px 12px;border-radius:99px}
main{min-height:calc(100vh - 130px)}
.hero{max-width:760px;margin:0 auto;text-align:center;padding:72px 24px 56px}.eyebrow,.question-kicker{color:var(--blue);font-size:14px;font-weight:800;letter-spacing:.08em}.hero h1{font-size:clamp(40px,7vw,66px);line-height:1.23;letter-spacing:-.045em;margin:16px 0 20px;font-weight:900}.hero h1 span{color:var(--blue)}.hero-copy{max-width:650px;margin:0 auto;color:var(--muted);line-height:2;font-size:17px}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:34px 0}.benefits div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 10px;box-shadow:0 8px 22px rgba(36,104,153,.06)}.benefits b{display:block;color:var(--cyan);font-size:12px;letter-spacing:.1em;margin-bottom:7px}.benefits span{font-size:14px;font-weight:700}
.primary-button{border:0;border-radius:16px;background:linear-gradient(120deg,#087cf0,#0a9eea);color:#fff;font-weight:800;font-size:18px;padding:19px 30px;min-width:min(100%,360px);box-shadow:0 14px 32px rgba(8,124,240,.25)}.primary-button span{margin-left:12px}.primary-button:active{transform:translateY(1px)}.microcopy{font-size:12px;color:#8292a1;margin-top:14px}
.diagnosis{max-width:700px;margin:0 auto;padding:48px 22px 70px}.progress-row{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;font-weight:700}.progress-track{height:7px;border-radius:10px;background:#e5eff7;margin:10px 0 28px;overflow:hidden}.progress-bar{height:100%;width:12.5%;border-radius:10px;background:linear-gradient(90deg,var(--blue),var(--cyan));transition:width .3s ease}.question-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:38px;box-shadow:var(--shadow)}.question-kicker{margin:0 0 8px}.question-card h2{font-size:29px;line-height:1.5;margin:0;letter-spacing:-.02em}.question-help{margin:10px 0 28px;color:var(--muted);font-size:14px;line-height:1.8}.options{display:grid;gap:11px}.option{position:relative;width:100%;text-align:left;border:2px solid #e3edf5;border-radius:15px;background:#fff;padding:16px 44px 16px 17px;color:var(--navy);font-weight:650;line-height:1.55}.option::after{content:"";position:absolute;right:17px;top:50%;width:18px;height:18px;border:2px solid #bfd0df;border-radius:50%;transform:translateY(-50%)}.option.selected{border-color:var(--blue);background:#f2f9ff;color:#066bd0}.option.selected::after{border:5px solid var(--blue)}.option small{display:block;color:var(--muted);font-weight:400;margin-top:3px}.nav-buttons{display:flex;gap:10px;margin-top:28px}.back-button,.next-button,.retry-button{border-radius:13px;padding:14px 18px;font-weight:750}.back-button{border:1px solid var(--line);background:#fff;color:var(--muted)}.next-button{margin-left:auto;border:0;background:var(--navy);color:#fff;min-width:130px}.next-button:disabled{opacity:.28;cursor:not-allowed}
.result{max-width:780px;margin:0 auto;padding:48px 22px 75px}.result-heading{text-align:center;margin-bottom:26px}.result-heading>p{font-size:14px;font-weight:800;color:var(--blue);letter-spacing:.12em;margin:0 0 10px}.result-heading h2{font-size:32px;line-height:1.4;margin:0 0 12px}.difficulty{display:inline-block;padding:7px 13px;border-radius:99px;background:#eaf6ff;color:#0778df;font-size:13px;font-weight:800}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:25px;box-shadow:0 10px 30px rgba(20,77,120,.07)}.metric-card.accent{background:linear-gradient(145deg,#087cf0,#08a9d7);color:#fff;border:0}.metric-card p{min-height:42px;margin:0 0 12px;font-size:13px;font-weight:700;line-height:1.6}.metric-card strong{display:block;font-size:32px;letter-spacing:-.04em}.metric-card>span{font-size:13px;opacity:.76}.difference-card{margin:14px 0;background:var(--navy);color:#fff;border-radius:22px;padding:25px}.difference-card>div{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.17);padding-bottom:17px}.difference-card span{font-size:13px}.difference-card strong{font-size:30px;color:#52dded}.difference-card p{font-size:14px;line-height:1.9;margin:17px 0 0;color:#d6e5f3}.detail-card,.prompt-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:27px;margin-top:14px}.detail-card h3,.prompt-card h3{margin:0 0 18px;font-size:20px}.detail-card ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-card li{position:relative;padding:11px 8px 11px 30px;background:#f6faff;border-radius:10px;font-size:14px;font-weight:650}.detail-card li::before{content:"✓";position:absolute;left:10px;color:var(--blue);font-weight:900}.prompt-heading{display:flex;justify-content:space-between;gap:10px;align-items:center}.prompt-heading p{margin:0 0 3px;color:var(--blue);font-size:12px;font-weight:800}.prompt-heading h3{margin:0}.prompt-heading button{border:1px solid var(--blue);background:#fff;color:var(--blue);font-weight:800;border-radius:10px;padding:9px 15px}.prompt-card pre{white-space:pre-wrap;word-break:break-word;max-height:360px;overflow:auto;margin:20px 0 0;padding:20px;background:#f2f6fa;border-radius:14px;color:#263b4e;font:13px/1.85 "Noto Sans JP",sans-serif}.result-actions{text-align:center;margin-top:26px}.link-button{display:inline-block;text-decoration:none}.retry-button{display:block;margin:15px auto 0;border:0;background:transparent;color:var(--muted);text-decoration:underline}.estimate-note{color:#7a8c9d;font-size:11px;line-height:1.7;text-align:center;margin:25px 10px}.result-actions+.estimate-note{margin-bottom:0}
footer{text-align:center;color:#8998a5;border-top:1px solid #eef2f5;padding:26px;font-size:12px;background:#fff}
@media(max-width:600px){.site-header{height:62px;padding:0 17px}.brand{font-size:14px}.brand-mark{width:34px;height:34px}.hero{padding:48px 19px 46px}.hero h1{font-size:41px}.hero-copy{font-size:15px;line-height:1.9}.benefits{gap:7px;margin:28px 0}.benefits div{padding:15px 4px;border-radius:14px}.benefits span{font-size:11px}.primary-button{width:100%;font-size:16px;padding:18px}.diagnosis{padding:30px 14px 55px}.question-card{padding:27px 18px;border-radius:21px}.question-card h2{font-size:23px}.option{font-size:14px;padding:14px 40px 14px 14px}.result{padding:34px 14px 55px}.result-heading h2{font-size:25px}.metric-card{padding:20px 16px}.metric-card p{font-size:11px}.metric-card strong{font-size:25px}.difference-card,.detail-card,.prompt-card{padding:21px 18px}.difference-card strong{font-size:25px}.detail-card ul{grid-template-columns:1fr}.prompt-card pre{font-size:12px;padding:16px}.header-note{font-size:11px}}
