.diagnosis-offer{padding:72px 0;background:linear-gradient(135deg,#eef5ff 0%,#fff 62%);border-top:1px solid #dbe8fb;border-bottom:1px solid #dbe8fb}
.diagnosis-offer .diagnosis-offer-inner{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:32px;align-items:center}
.diagnosis-kicker{display:inline-block;color:#1254a1;font-size:.8rem;font-weight:800;letter-spacing:.08em}
.diagnosis-offer h2{margin:12px 0 16px;font-size:clamp(1.55rem,3vw,2.35rem);line-height:1.35;color:#102d50}
.diagnosis-offer p{line-height:1.85;color:#42566f}
.diagnosis-offer ul{padding-left:1.25em;line-height:1.9;color:#223d5b}
.diagnosis-offer .diagnosis-note{font-size:.78rem;color:#63758b;margin:12px 0 0}
.diagnosis-offer-aside{background:#fff;border:1px solid #d6e5f5;border-radius:20px;padding:28px;box-shadow:0 16px 38px rgba(18,66,119,.08)}
.diagnosis-offer-aside strong{display:block;color:#103b70;font-size:1.1rem;margin-bottom:12px}
.diagnosis-button,.diagnosis-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px;border:0;border-radius:10px;background:#1356aa;color:#fff!important;font:inherit;font-weight:800;text-decoration:none!important;cursor:pointer;box-shadow:0 6px 14px rgba(19,86,170,.18)}
.diagnosis-button:hover,.diagnosis-primary:hover{background:#0c4388}
.diagnosis-button:focus-visible,.diagnosis-primary:focus-visible,.diagnosis-option:focus-visible,.diagnosis-secondary:focus-visible,.diagnosis-close:focus-visible{outline:3px solid #f7b543;outline-offset:3px}
.diagnosis-button[disabled],.diagnosis-primary[disabled]{cursor:not-allowed;opacity:.55}
.diagnosis-page{min-height:100vh;background:#edf4fb;color:#172f4a;font-family:"Noto Sans JP",sans-serif}
.diagnosis-page .diagnosis-page-header{background:#fff;border-bottom:1px solid #dbe5ef;padding:18px 0}
.diagnosis-page .diagnosis-page-header a{color:#174b86;text-decoration:none;font-weight:800}
.diagnosis-page-main{width:min(100% - 32px,780px);margin:36px auto 72px}
.diagnosis-page-intro{margin-bottom:20px}
.diagnosis-page-intro h1{font-size:clamp(1.6rem,3vw,2.3rem);margin:8px 0;color:#103b70}
.diagnosis-root{background:#fff;border:1px solid #d9e6f3;border-radius:20px;padding:clamp(22px,4vw,42px);box-shadow:0 18px 45px rgba(14,54,98,.1);min-height:420px}
.diagnosis-root h2{font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.45;margin:8px 0 20px;color:#102d50}
.diagnosis-root p{line-height:1.85;color:#455b74}
.diagnosis-root .diagnosis-eyebrow{font-size:.82rem;font-weight:800;color:#16589f;letter-spacing:.08em}
.diagnosis-root .diagnosis-lead{font-size:1.04rem}
.diagnosis-root .diagnosis-progress{font-size:.8rem;font-weight:700;color:#526c87;margin-bottom:12px}
.diagnosis-root .diagnosis-progress-track{height:7px;background:#e5edf5;border-radius:999px;overflow:hidden;margin:0 0 26px}
.diagnosis-root .diagnosis-progress-track span{display:block;height:100%;background:#1c6cc3;border-radius:999px;transition:width .2s}
.diagnosis-options{display:grid;gap:10px;margin:24px 0}
.diagnosis-option{width:100%;text-align:left;background:#f7fbff;border:1px solid #cddff0;border-radius:11px;padding:15px 18px;font:inherit;font-weight:700;color:#183a5d;cursor:pointer}
.diagnosis-option:hover,.diagnosis-option[aria-pressed="true"]{background:#e8f3ff;border-color:#3c83d1}
.diagnosis-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px}
.diagnosis-secondary{border:0;background:transparent;color:#195796;font:inherit;font-weight:700;cursor:pointer;padding:10px}
.diagnosis-result-badge{display:inline-block;padding:7px 12px;border-radius:999px;background:#e4f3e9;color:#17623e;font-weight:800;font-size:.83rem}
.diagnosis-summary{border-left:4px solid #2a78c4;padding:12px 18px;background:#f2f8ff;border-radius:0 8px 8px 0}
.diagnosis-email{margin-top:28px;border-top:1px solid #e0e9f3;padding-top:24px}
.diagnosis-email label{display:block;font-weight:800;color:#173b62;margin-bottom:8px}
.diagnosis-email input[type="email"]{width:100%;box-sizing:border-box;min-height:48px;padding:10px 14px;border:1px solid #aebfd0;border-radius:8px;font:inherit;font-size:1rem}
.diagnosis-email input[type="email"]:focus{outline:3px solid #c6e0ff;border-color:#2877c8}
.diagnosis-consent{font-size:.83rem!important;color:#566a7e!important;background:#f7f9fc;padding:14px;border-radius:8px}
.diagnosis-form-notice{margin-top:12px;color:#9b3a19!important;font-weight:700;font-size:.88rem}
.diagnosis-disclosure{font-size:.76rem!important;color:#65788a!important}
.diagnosis-modal{border:0;padding:0;border-radius:20px;width:min(760px,calc(100% - 32px));max-height:min(92vh,860px);box-shadow:0 28px 70px rgba(4,27,52,.35)}
.diagnosis-modal::backdrop{background:rgba(7,29,51,.7)}
.diagnosis-modal-inner{position:relative;max-height:min(92vh,860px);overflow:auto}
.diagnosis-modal .diagnosis-root{border:0;box-shadow:none;border-radius:20px;padding:clamp(22px,4vw,42px)}
.diagnosis-close{position:absolute;right:14px;top:12px;z-index:2;width:36px;height:36px;border:0;border-radius:50%;background:#eaf1f8;color:#24415c;font-size:1.4rem;cursor:pointer}
.diagnosis-mobile-cta{display:none}
@media(max-width:760px){.diagnosis-offer{padding:48px 0}.diagnosis-offer .diagnosis-offer-inner{grid-template-columns:1fr;gap:18px}.diagnosis-offer-aside{padding:22px}.diagnosis-modal{width:100vw;max-width:none;box-sizing:border-box;height:100dvh;max-height:100dvh;border-radius:0;margin:0}.diagnosis-modal-inner{max-height:100dvh;height:100dvh}.diagnosis-modal .diagnosis-root{min-height:100%;box-sizing:border-box;border-radius:0;padding:62px 20px 28px}.diagnosis-mobile-cta{display:block;position:fixed;bottom:0;left:0;right:0;z-index:35;background:rgba(255,255,255,.96);border-top:1px solid #dce6f0;padding:9px 12px calc(9px + env(safe-area-inset-bottom));box-shadow:0 -4px 18px rgba(9,43,76,.12)}.diagnosis-mobile-cta .diagnosis-button{width:100%;box-sizing:border-box;min-height:42px;padding:8px 16px;font-size:.9rem}body:has(.diagnosis-modal[open]) .diagnosis-mobile-cta{display:none}}
