:root{--ink:#182132;--muted:#687386;--line:#dfe5ef;--blue:#2864d7;--blue-deep:#12377d;--pale:#f4f7fc;--gold:#e5ae43;--shadow:0 18px 55px rgba(19,45,92,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(180deg,#f8fbff 0,#fff 48%,#f5f8fd 100%);line-height:1.7}.diagnosis-header{height:72px;padding:0 clamp(20px,5vw,80px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid rgba(223,229,239,.75);position:sticky;top:0;z-index:10}.brand{font-size:24px;font-weight:800;letter-spacing:-.06em;color:var(--ink);text-decoration:none}.brand strong{color:var(--blue)}.header-note{font-size:12px;letter-spacing:.12em;color:var(--muted)}.diagnosis-shell{max-width:1080px;margin:0 auto;padding:0 20px 72px}.diagnosis-hero{text-align:center;padding:92px 20px 70px}.eyebrow,.stage-number{margin:0;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.18em}.diagnosis-hero h1{font-size:clamp(31px,5vw,58px);line-height:1.25;letter-spacing:-.05em;margin:18px 0 20px}.diagnosis-hero h1 strong{color:var(--blue)}.diagnosis-hero>p:not(.eyebrow):not(.privacy-hint){max-width:610px;margin:0 auto 28px;color:var(--muted)}.privacy-hint{font-size:11px;color:#8a94a6;margin:15px 0 0}.primary-button,.secondary-button,.text-button{font:inherit;cursor:pointer}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;background:linear-gradient(120deg,var(--blue),#4388ed);color:#fff;padding:14px 28px;font-weight:800;box-shadow:0 10px 25px rgba(40,100,215,.22);text-decoration:none;transition:transform .18s,box-shadow .18s}.primary-button:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(40,100,215,.3)}.primary-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.secondary-button{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);padding:12px 22px;font-weight:700}.text-button{border:0;background:transparent;color:var(--muted);text-decoration:underline;padding:12px}.diagnosis-card{background:#fff;border:1px solid rgba(223,229,239,.9);border-radius:28px;box-shadow:var(--shadow);padding:clamp(24px,5vw,56px);min-height:460px}.progress{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:12px;font-weight:700;margin-bottom:36px}.progress i{display:block;flex:1;height:5px;background:#edf1f7;border-radius:99px;overflow:hidden}.progress b{display:block;height:100%;width:33.333%;background:var(--blue);border-radius:99px;transition:width .25s}.diagnosis-stage{max-width:850px;margin:0 auto}.diagnosis-stage[hidden]{display:none}.stage-number{margin-bottom:5px}.result-star{color:var(--gold);font-size:24px}.diagnosis-stage h2{font-size:clamp(24px,3vw,36px);margin:0 0 7px;letter-spacing:-.04em}.stage-lead{margin:0 0 24px;color:var(--muted)}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.role-option,.symptom-option{position:relative}.role-option button,.symptom-option label{width:100%;min-height:66px;padding:15px 18px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:left;color:var(--ink);font:inherit;font-weight:700;cursor:pointer;transition:border .18s,background .18s,transform .18s}.role-option button:hover,.symptom-option label:hover{border-color:#9ebcf0;transform:translateY(-1px)}.role-option button.selected{border-color:var(--blue);background:#eff5ff;box-shadow:0 0 0 3px rgba(40,100,215,.1)}.role-option small{display:block;color:var(--muted);font-size:11px;font-weight:500;margin-top:2px}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.symptom-option input{position:absolute;opacity:0}.symptom-option label{display:flex;align-items:center;gap:12px}.symptom-option label:before{content:"";width:20px;height:20px;border:1px solid #b8c3d5;border-radius:6px;flex:none}.symptom-option input:checked+label{border-color:var(--blue);background:#eff5ff}.symptom-option input:checked+label:before{border-color:var(--blue);background:var(--blue);box-shadow:inset 0 0 0 4px #fff}.selection-count{display:inline-block;background:var(--pale);color:var(--blue-deep);border-radius:99px;padding:3px 11px;font-size:12px;font-weight:700;margin:0 0 15px}.stage-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:30px}.selected-symptoms{display:grid;gap:10px;margin:0 0 24px}.selected-symptom{padding:12px 15px;border-radius:12px;background:var(--pale);border-left:3px solid var(--blue)}.selected-symptom strong{display:block}.selected-symptom small{color:var(--muted)}.question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.question-field{display:grid;gap:6px;color:#3a4659;font-size:13px;font-weight:700}.question-field input,.question-field select{width:100%;font:inherit;font-weight:500;color:var(--ink);border:1px solid var(--line);border-radius:10px;background:#fff;padding:12px 13px;outline:0}.question-field input:focus,.question-field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(40,100,215,.12)}.input-error{color:#c23b3b;background:#fff2f2;padding:10px 13px;border-radius:8px;font-size:13px}.score-card{padding:24px;border-radius:18px;background:linear-gradient(130deg,#eaf2ff,#f7fbff);display:grid;grid-template-columns:auto auto;column-gap:18px;align-items:center;margin:20px 0}.score-card>span{color:var(--blue-deep);font-weight:800}.score-card>strong{font-size:44px;line-height:1;color:var(--blue)}.score-card>strong small{font-size:14px;color:var(--muted)}.score-card p{grid-column:1/-1;color:var(--muted);font-size:13px;margin:14px 0 0}.result-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:18px}.result-grid section,.result-breakdown{border:1px solid var(--line);border-radius:14px;padding:18px}.result-grid h3,.result-breakdown h3,.result-cta h3{font-size:14px;margin:0 0 7px;color:var(--muted)}.result-type{font-size:20px;font-weight:800;margin:0}.result-grid ol{margin:0;padding-left:21px}.result-grid li{padding:3px 0;font-weight:700}.result-grid li small{display:block;color:var(--muted);font-weight:500;font-size:11px}.result-breakdown{margin-top:18px}.result-breakdown p{margin:0;color:var(--muted);font-size:13px}.before-after{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:24px 0}.before-after div{display:grid;gap:4px;padding:15px;border-radius:13px;background:#f8f9fb}.before-after div:last-child{background:#eef5ff}.before-after span{font-size:11px;color:var(--muted);font-weight:700}.before-after strong{font-size:14px}.before-after small{font-size:11px;color:var(--muted)}.before-after>b{color:var(--blue);font-size:24px}.result-cta{text-align:center;padding:26px 18px;border-radius:18px;background:#f4f8ff;margin-top:5px}.result-cta h3{color:var(--ink);font-size:20px;margin-bottom:3px}.result-cta p{margin:0 0 18px;color:var(--muted);font-size:13px}.diagnosis-promise{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:60px 14px 0}.diagnosis-promise>div{padding:12px}.promise-icon{display:block;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.14em}.diagnosis-promise strong{display:block;margin:5px 0}.diagnosis-promise p{margin:0;color:var(--muted);font-size:12px}.diagnosis-footer{display:flex;justify-content:space-between;gap:15px;max-width:1080px;margin:0 auto;padding:25px 20px 45px;color:#7d8797;font-size:11px}.diagnosis-footer a{color:inherit}.measurement-consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:20;display:flex;justify-content:space-between;gap:18px;align-items:center;background:#172238;color:#fff;border-radius:14px;padding:15px 18px;box-shadow:0 12px 35px rgba(0,0,0,.2);font-size:12px}.measurement-consent[hidden]{display:none}.measurement-consent p{margin:3px 0 0;color:#d2dbeb;font-size:11px}.measurement-consent-actions{display:flex;gap:8px;flex:none}.measurement-consent-actions button{border:1px solid #8ba1c6;border-radius:99px;background:transparent;color:#fff;padding:8px 12px;font:inherit;cursor:pointer}.measurement-consent-actions button:last-child{background:#4b85e7;border-color:#4b85e7}@media(max-width:680px){.diagnosis-header{height:60px}.header-note{font-size:10px}.diagnosis-hero{padding:58px 8px 45px}.diagnosis-card{border-radius:20px;padding:22px 17px}.option-grid,.check-grid,.question-grid,.result-grid,.diagnosis-promise{grid-template-columns:1fr}.stage-actions{justify-content:stretch}.stage-actions .primary-button,.stage-actions .secondary-button{flex:1}.score-card>strong{font-size:35px}.before-after{grid-template-columns:1fr;text-align:center;gap:8px}.before-after>b{transform:rotate(90deg)}.diagnosis-promise{padding-top:38px;gap:8px}.diagnosis-footer{display:block}.diagnosis-footer span{display:block;margin-top:5px}.measurement-consent{display:block}.measurement-consent-actions{margin-top:10px}.measurement-consent-actions button{width:50%}}
.question-card{min-width:0;margin:0;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}
.question-card legend{max-width:100%;padding:0 4px;color:var(--ink);font-size:14px;font-weight:800;line-height:1.6}
.question-choices{display:grid;gap:8px;margin-top:10px}
.question-choice{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;color:var(--ink);font-size:13px;font-weight:500;cursor:pointer}
.question-choice:hover,.question-choice:has(input:checked){border-color:var(--blue);background:#eff5ff}
.question-choice input{margin-top:4px;accent-color:var(--blue);flex:none}
.question-choice span{line-height:1.55}
.deep-question-context .master-question{margin:0 0 14px;color:var(--ink);font-size:16px;font-weight:800;line-height:1.6}
.diagnosis-booking[hidden]{display:none}
@media(max-width:680px){.question-card{padding:13px}.question-card legend{font-size:13px}.question-choice{font-size:12px}}
.before-after{grid-template-columns:1fr;gap:12px}
.before-after>b{justify-self:center}
.improvement-gap{color:#c0392b!important;font-weight:800}
@media(max-width:680px){.before-after{grid-template-columns:1fr;gap:8px}.before-after>b{transform:none}}

/* Result layout: keep the score and each selected symptom easy to scan. */
.score-card{display:block;text-align:center;padding:30px 24px}
.score-display{display:flex;align-items:baseline;justify-content:center;gap:8px;color:var(--blue)}
.score-display span{color:var(--blue-deep);font-size:clamp(18px,2vw,24px);font-weight:800}
.score-display strong{font-size:clamp(44px,6vw,64px);line-height:1;font-weight:900;letter-spacing:-.04em}
.score-display small{color:var(--muted);font-size:clamp(16px,2vw,22px);font-weight:800}
.score-card .improvement-gap{margin:14px 0 0;font-size:clamp(18px,2.4vw,24px);line-height:1.45}
.priority-summary{width:100%;margin-top:18px;border:1px solid var(--line);border-radius:14px;padding:18px}
.priority-summary h3{font-size:14px;margin:0 0 7px;color:var(--muted)}
.priority-summary ol{margin:0;padding-left:21px}
.priority-summary li{padding:3px 0;font-weight:700}
.before-after{display:grid;grid-template-columns:1fr;align-items:stretch;gap:14px;padding:24px 0}
.before-after>b{justify-self:center;color:var(--blue);font-size:24px;line-height:1}
.summary-card{width:100%;border:1px solid var(--line);border-radius:14px;padding:20px;background:#f8f9fb}
.summary-card-future{background:#eef5ff}
.summary-card h3{margin:0 0 14px;color:var(--muted);font-size:14px}
.summary-items{display:grid;gap:10px}
.summary-item{padding:12px 14px;border-left:3px solid var(--blue);border-radius:10px;background:rgba(255,255,255,.76)}
.summary-card-future .summary-item{border-left-color:var(--blue-deep)}
.summary-item h4{margin:0 0 4px;color:var(--ink);font-size:14px;line-height:1.5}
.summary-item p{margin:0;color:var(--ink);font-size:13px;line-height:1.75}
.summary-empty{margin:0;color:var(--muted)}
@media(max-width:680px){.score-card{padding:24px 16px}.score-display{gap:5px}.score-display strong{font-size:40px}.score-display small{font-size:16px}.score-card .improvement-gap{margin-top:11px;font-size:18px}.summary-card{padding:16px}.summary-item p{font-size:12px}}
