:root{--color-primary: #09569D;--color-primary-light: #0a6abd;--color-accent: #D6A445;--color-accent-dark: #c4943a;--color-bg: #FAF8FE;--color-card-bg: #FEFAF1;--color-border: #f0ece4;--color-text: #333333;--color-text-light: #666666;--color-success: #0e9245;--color-line: #06C755;--color-line-dark: #0e9245;--color-error: #d9534f;--color-error-bg: #fde8e6;--color-error-border: #f3b9b2;--color-warn: #b07d00;--color-warn-bg: #fff6e0;--color-warn-border: #f0d690;--font-heading: "Zen Old Mincho", "Noto Sans JP", serif;--font-body: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Hiragino Sans", sans-serif;--font-number: "Lato", "Noto Sans JP", sans-serif;font-family:var(--font-body);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);font-size:14px;line-height:1.7;color:var(--color-text)}.font-heading{font-family:var(--font-heading);line-height:1.4;letter-spacing:0}.font-number{font-family:var(--font-number)}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--color-text);margin:0;line-height:1.4;font-weight:700}a{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px}a:hover{opacity:.8}.page{max-width:480px;margin:0 auto;padding:24px 16px}.brandHeader{background:#fff;border-bottom:1px solid var(--color-border);padding:14px 16px;text-align:center}.brandHeader__inner{max-width:480px;margin:0 auto}.brandHeader__img{height:36px;width:auto;display:inline-block;vertical-align:middle}.formHeader{font-family:var(--font-heading);font-size:24px;font-weight:700;color:var(--color-primary);text-align:center;padding:8px 0 4px;margin:0;letter-spacing:.04em}.progress{margin:16px 0 24px}.progress__meta{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.progress__step-label{font-size:12px;color:var(--color-text-light);letter-spacing:.03em}.progress__pct{font-family:var(--font-number);font-size:14px;font-weight:700;color:var(--color-primary)}.progress__rail{width:100%;height:8px;background:#e8e8e8;border-radius:999px;overflow:hidden}.progress__fill{height:100%;background:var(--color-primary);border-radius:999px;transition:width .4s ease}.card,.step,.startForm,.complete{background-color:var(--color-card-bg);border-radius:16px;border:1px solid var(--color-border);box-shadow:0 1px 3px #0000000a;padding:24px 20px}.step{display:grid;gap:10px;animation:pageEnter .3s ease both}@keyframes pageEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.step:before{content:attr(data-step-eyebrow);display:block;font-family:var(--font-number);color:var(--color-accent);font-size:11px;font-weight:700;letter-spacing:.3em;text-align:center;margin-bottom:4px}.step:not([data-step-eyebrow]):before{display:none}.step h2{color:var(--color-primary);font-family:var(--font-heading);font-size:18px;font-weight:700;line-height:1.4;text-align:center;margin:0 0 16px}.step h3{font-family:var(--font-body);font-size:14px;font-weight:700;margin:14px 0 4px;color:var(--color-text)}.step p{margin:0 0 8px;font-size:14px;line-height:1.7;color:var(--color-text)}.step p.lead{font-size:13px;color:var(--color-text-light);text-align:center;margin:-4px 0 16px}.step label,.startForm label{font-size:12px;color:var(--color-text-light);font-weight:500;margin-top:10px;letter-spacing:.04em;display:block}.step label.req:after{content:"必須";display:inline-block;font-size:9px;color:#fff;background:#d9534f;padding:2px 6px;border-radius:3px;margin-left:8px;letter-spacing:.08em;vertical-align:2px;font-weight:700}.step input[type=text],.step input[type=email],.step input[type=tel],.step input:not([type]),.step select,.step textarea,.startForm input[type=text],.startForm input[type=email],.startForm input[type=tel],.startForm input:not([type]),.startForm select,.startForm textarea{width:100%;padding:12px 14px;border:2px solid #e5e5e5;border-radius:8px;font-size:15px;font-family:inherit;color:var(--color-text);background:#fff;transition:border-color .15s}.step input:focus,.step select:focus,.step textarea:focus,.startForm input:focus,.startForm select:focus,.startForm textarea:focus{outline:none;border-color:var(--color-primary)}.step .row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.step .row>*{flex:1}.step .row>span{flex:0;color:var(--color-text-light)}.step .row--birthdate{gap:4px}.step .row--birthdate>select{flex:1;min-width:0;padding:12px 8px}.step .row--birthdate>select:first-of-type{flex:1.6}.step .row--birthdate>span{flex:0;padding:0 2px;font-size:13px}.step hr{border:none;border-top:1px solid var(--color-border);margin:18px 0}.terms{padding:14px 16px 14px 34px;font-size:13px;line-height:1.8;color:var(--color-text);background:#09569d0a;border-radius:8px}.terms li{margin-bottom:6px}.nav{display:flex;gap:10px;margin-top:24px}button.primary,button.secondary,button.cta,button.line{font-family:inherit;font-weight:700;font-size:15px;letter-spacing:.04em;border-radius:999px;min-height:48px;padding:12px 24px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;border:none}button.primary{background:linear-gradient(135deg,#09569d,#0a6abd);color:#fff;flex:1}button.primary:hover:not(:disabled){opacity:.9;transform:translateY(3px);box-shadow:0 4px 12px #09569d4d}button.primary:active:not(:disabled){transform:translateY(0)}button.primary:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:#fff;color:var(--color-primary);border:2px solid var(--color-primary)}button.secondary:hover:not(:disabled){opacity:.85}button.secondary:disabled{opacity:.5;cursor:not-allowed}button.cta{background:linear-gradient(135deg,#d6a445,#c4943a);color:#fff;min-height:56px;flex:1}button.cta:hover:not(:disabled){opacity:.9;transform:translateY(3px);box-shadow:0 4px 12px #d6a44566}button.cta:active:not(:disabled){transform:translateY(0)}button.cta:disabled{opacity:.5;cursor:not-allowed}button.line{background:linear-gradient(135deg,#27e476,#0fa94f,#0e9245);color:#fff}button.line:hover{opacity:.9;transform:translateY(3px);box-shadow:0 4px 12px #0e92454d}.error{background:var(--color-error-bg);color:var(--color-error);border:1px solid var(--color-error-border);padding:12px 14px;border-radius:8px;font-size:13px;line-height:1.6;margin:12px 0}.warn{background:var(--color-warn-bg);color:var(--color-warn);border:1px solid var(--color-warn-border);padding:12px 14px;border-radius:8px;font-size:13px;line-height:1.6;margin:12px 0}.summary{background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:14px 16px;margin:6px 0 10px;display:grid;gap:8px}.summary__row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;line-height:1.6}.summary__label{color:var(--color-text-light);flex-shrink:0}.summary__value{color:var(--color-text);text-align:right}.summary__row--emphasis{border-top:1px dashed var(--color-border);padding-top:8px;margin-top:2px;font-size:14px}.summary__row--emphasis .summary__value strong{font-family:var(--font-number);font-size:18px;color:var(--color-primary);font-weight:700;margin-right:2px}.summary__note{font-size:12px;line-height:1.7;color:var(--color-text-light);background:#09569d0a;border-radius:8px;padding:10px 12px;margin-top:4px}.summary__note strong{color:var(--color-primary);font-weight:700}.cardContainer{border:2px solid #e5e5e5;border-radius:8px;padding:14px;min-height:80px;background:#fff}.priceTag{background:#09569d0d;border-radius:12px;padding:16px 20px;display:flex;align-items:baseline;justify-content:space-between;margin:10px 0 16px}.priceTag__label{font-size:12px;color:var(--color-text-light)}.priceTag__value{font-family:var(--font-number);font-weight:700;font-size:28px;color:var(--color-primary);letter-spacing:.02em}.priceTag__value small{font-size:12px;font-weight:400;color:var(--color-text);margin-left:4px}.startForm{display:grid;gap:14px;margin-top:8px;animation:pageEnter .3s ease both}.complete{text-align:center;padding:48px 24px;animation:pageEnter .3s ease both}.complete h1{font-family:var(--font-heading);color:var(--color-primary);font-size:22px;font-weight:700;margin-bottom:12px;letter-spacing:.04em}.complete h1:after{content:"";display:block;width:36px;height:1px;background:var(--color-accent);margin:12px auto 0}.center{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:16px;background:var(--color-bg)}.trustFooter{max-width:480px;margin:32px auto 24px;padding:0 16px}.trustFooter__inner{background:#fff;border:1px solid var(--color-border, #e5e5e5);border-radius:12px;padding:20px 18px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}.trustFooter__heading{font-family:var(--font-heading);font-size:15px;font-weight:700;color:var(--color-primary);margin:0 0 8px;letter-spacing:.04em}.trustFooter__body{font-size:11px;line-height:1.7;color:var(--color-text, #333);margin:0}.trustFooter__badge{width:84px;height:auto;display:block}@media (max-width: 380px){.trustFooter__inner{grid-template-columns:1fr;justify-items:center;text-align:center}.trustFooter__badge{width:120px}}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}
