:root{font-family:Noto Sans JP,Yu Gothic,Hiragino Kaku Gothic ProN,sans-serif;color:#0b2845;background:#eef7fb;font-synthesis:none;text-rendering:optimizeLegibility;--navy: #0b2845;--navy-soft: #435b72;--teal: #079691;--teal-dark: #027c7b;--teal-soft: #d8f2ef;--sky: #eef7fb;--line: #b8c9d8;--muted: #758aa0;--error: #d83b4d}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--sky)}body{margin:0;min-width:320px;min-height:100vh;background:var(--sky);color:var(--navy);-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a,input,label{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid rgba(7,150,145,.3);outline-offset:3px}.site-frame{min-height:100vh}.site-header{height:88px;display:flex;align-items:center;background:#fff;border-bottom:1px solid #dbe7ef}.header-inner{width:min(1160px,calc(100% - 48px));margin:0 auto;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;color:var(--navy);text-decoration:none}.brand-logo{display:block;width:270px;height:auto}.trust-copy{display:grid;justify-items:end;gap:4px;font-size:13px}.trust-copy strong{color:var(--teal-dark);font-size:14px}.trust-copy span{color:#536b81}.registration-main{min-height:calc(100vh - 88px);padding:46px 24px 28px;background:#eef7fb}.registration-shell{width:min(960px,100%);margin:0 auto}.progress-area{margin:0 0 28px}.progress-meta{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:16px}.progress-meta strong{font-size:14px;letter-spacing:.08em}.progress-meta span{display:inline-flex;align-items:center;min-height:32px;padding:6px 15px;border-radius:999px;background:var(--teal-soft);color:var(--teal-dark);font-size:13px;font-weight:700}.progress-track{height:8px;overflow:hidden;border-radius:999px;background:#c9dae6}.progress-track>span{display:block;height:100%;border-radius:inherit;background:var(--teal);transition:width .24s ease}.contact-card,.question-card{background:#fff;border-radius:20px;box-shadow:0 18px 44px #1d4a6912}.contact-card{padding:60px 92px 52px}.contact-heading{margin-bottom:30px;text-align:center}.contact-eyebrow{margin:0 0 8px;color:var(--teal-dark);font-size:12px;font-weight:700;letter-spacing:.18em}.contact-heading h1,.success-card h1{margin:0;font-size:clamp(32px,3vw,42px);line-height:1.35;letter-spacing:.015em}.contact-card form{display:grid;gap:24px}.field-group{margin:0;padding:0;border:0;display:grid;gap:9px;color:var(--navy);font-size:16px;font-weight:700}.field-group>span,.field-group legend{margin:0;padding:0}.name-group{grid-template-columns:1fr 1fr}.name-group legend{grid-column:1 / -1}.name-group label{display:grid;gap:6px}.required-badge{display:inline-flex;align-items:center;min-height:22px;margin-left:7px;padding:2px 7px;border:1px solid #ff6c78;border-radius:4px;color:var(--error);font-size:11px;font-weight:700;vertical-align:middle}.field-group input:not([type=checkbox]){width:100%;min-height:62px;padding:15px 17px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);font-size:16px;font-weight:500;transition:border-color .16s ease,box-shadow .16s ease}.field-group input:not([type=checkbox]):focus{border-color:var(--teal);box-shadow:0 0 0 4px #07969117;outline:none}.field-group input[aria-invalid=true]{border-color:var(--error)}.field-group input::placeholder{color:#a4b4c5}.field-group small{color:#657b91;font-size:12px;font-weight:500}.field-group .field-error,.field-error{color:var(--error)}.consent-row{display:flex;align-items:center;gap:12px;width:fit-content;cursor:pointer;font-size:15px;font-weight:600}.consent-row input{width:24px;height:24px;margin:0;accent-color:var(--teal)}.consent-row a{color:#087dc1;text-underline-offset:3px}.consent-error{margin-top:-18px;font-size:12px}.submit-error{margin:-6px 0 0;padding:12px 14px;border-left:4px solid var(--error);background:#fff1f3;color:#a82135;font-size:13px;font-weight:600}.primary-button{width:100%;min-height:76px;display:flex;align-items:center;justify-content:center;gap:14px;position:relative;border:0;border-radius:9px;background:var(--teal);color:#fff;font-size:24px;font-weight:700;text-decoration:none;cursor:pointer;box-shadow:0 9px 22px #027c7b29;transition:background .16s ease,transform .16s ease,box-shadow .16s ease}.primary-button svg:last-child{position:absolute;right:26px}.primary-button:hover:not(:disabled){background:var(--teal-dark);box-shadow:0 12px 26px #027c7b38;transform:translateY(-1px)}.primary-button:disabled{cursor:wait;opacity:.78}.spinner{animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.redirect-note{margin:-8px 0 0;display:flex;align-items:center;justify-content:center;gap:10px;color:#61768c;font-size:13px;font-weight:500;text-align:center}.redirect-note svg{flex:0 0 auto;color:var(--teal)}.privacy-footnote{margin:24px auto 0;color:#71869a;font-size:12px;text-align:center}.question-card{padding:52px 54px 36px}.question-heading{max-width:720px;margin:0 auto 30px}.question-heading>span{color:var(--teal-dark);font-size:12px;font-weight:700;letter-spacing:.17em}.question-heading h1{max-width:680px;margin:14px 0 12px;font-size:clamp(28px,3.1vw,40px);line-height:1.4;letter-spacing:.01em}.question-heading p{margin:0;color:#61768c;font-size:14px;line-height:1.8}.option-grid{margin:0;padding:0;border:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.option-card{min-height:64px;display:grid;grid-template-columns:32px 1fr 24px;align-items:center;gap:8px;padding:13px 16px;border:1px solid #c9d7e2;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.option-card:hover{border-color:var(--teal);background:#f5fcfb;transform:translateY(-1px)}.option-card:has(input:focus-visible){outline:3px solid rgba(7,150,145,.3);outline-offset:2px}.option-card.is-selected{border-color:var(--teal);background:#effaf9}.option-card input{position:absolute;width:1px;height:1px;opacity:0}.option-card small{color:#8a9daf;font-size:11px;font-weight:700}.option-card span{font-size:14px;font-weight:700}.option-check{color:var(--teal);opacity:0}.option-card.is-selected .option-check{opacity:1}.back-button{margin:26px 0 0;padding:8px 2px;display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:#5f748a;font-size:13px;font-weight:600;cursor:pointer}.back-button:hover{color:var(--teal-dark)}.success-card{min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.success-card>svg{margin-bottom:14px;color:var(--teal)}.success-card>p:not(.contact-eyebrow){margin:14px 0 28px;color:#61768c}.success-card .primary-button{max-width:560px}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:760px){.site-header{height:72px}.header-inner{width:min(100% - 30px,960px)}.brand-logo{width:215px}.trust-copy{display:none}.registration-main{min-height:calc(100vh - 72px);padding:24px 14px 32px}.progress-area{margin-bottom:18px}.progress-meta span{min-height:28px;padding:4px 10px;font-size:11px}.contact-card,.question-card{border-radius:14px}.contact-card{padding:30px 18px 20px}.contact-heading{margin-bottom:24px}.contact-heading h1,.success-card h1{font-size:27px}.contact-card form{gap:20px}.name-group{grid-template-columns:1fr}.field-group input:not([type=checkbox]){min-height:56px}.consent-row{align-items:flex-start;font-size:14px}.primary-button{min-height:64px;font-size:20px}.primary-button svg:last-child{right:18px}.redirect-note{align-items:flex-start;font-size:12px;line-height:1.65}.question-card{padding:32px 18px 22px}.question-heading{margin-bottom:22px}.question-heading h1{margin-top:10px;font-size:26px}.option-grid{grid-template-columns:1fr;gap:9px}.option-card{min-height:58px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
