:root{--color-text:#1a1a1a;--color-muted:#4a4a4a;--color-bg:#fff;--color-surface:#f4f6f8;--color-border:#6b6b6b;--color-primary:#0b5cad;--color-primary-dark:#084886;--color-error:#b00020;--color-error-bg:#fdecee;--color-info-bg:#e8f1fb;--color-required:#b00020;--font-body:20px;--font-small:18px;--font-heading:28px;--control-height:56px;--radius:8px;font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,Meiryo,sans-serif;font-size:var(--font-body);color:var(--color-text);background:var(--color-bg);line-height:1.7}*{box-sizing:border-box}body{margin:0}.demo-notice{background:#fff4cc;border-bottom:4px solid #8a6d00}.demo-notice__text{max-width:720px;font-size:var(--font-body);color:var(--color-text);margin:0 auto;padding:12px 16px;font-weight:700;line-height:1.6}.site-header{background:var(--color-surface);border-bottom:2px solid var(--color-border)}.site-header__inner{max-width:720px;margin:0 auto;padding:12px 16px}.site-header__center{font-size:var(--font-small);margin:0}.site-header__title{margin:0;font-size:24px;font-weight:700}.site-header__phone{flex-wrap:wrap;align-items:center;gap:4px 12px;margin:8px 0 0;display:flex}.site-header__phone-lead{font-size:var(--font-small)}.phone-link{color:var(--color-primary);font-size:24px;font-weight:700}.main{max-width:720px;margin:0 auto;padding:16px 16px 64px}.step__heading{font-size:var(--font-heading);margin:16px 0;line-height:1.4}.step__lead{margin:0 0 16px}.step__note{background:var(--color-surface);border-radius:var(--radius);margin:0 0 16px;padding:12px 16px}.field{border:none;margin:0 0 28px;padding:0}.field__label{margin-bottom:4px;padding:0;font-weight:700;display:block}.field__hint{color:var(--color-muted);font-size:var(--font-small);margin:0 0 8px}.field__error{color:var(--color-error);margin:0 0 8px;font-weight:700}.field__error:before{content:"⚠ "}.badge{vertical-align:middle;border-radius:4px;margin-left:8px;padding:0 8px;font-size:16px;font-weight:700;display:inline-block}.badge--required{background:var(--color-required);color:#fff}.badge--optional{color:var(--color-text);background:#ddd}.input{width:100%;min-height:var(--control-height);font:inherit;color:inherit;border:2px solid var(--color-border);border-radius:var(--radius);background:#fff;padding:8px 12px;display:block}.input--short{max-width:20em}.input--textarea{resize:vertical;min-height:160px}.input--code{letter-spacing:.2em;text-align:center;max-width:10em;font-size:32px}.input[readonly]{background:var(--color-surface)}.input:focus,.choice:focus-within,.checkbox:focus-within,.button:focus{outline-offset:2px;outline:4px solid #ffbf47}.field--error .input{border-color:var(--color-error);border-width:3px}.choices{flex-wrap:wrap;gap:12px;display:flex}.choice,.checkbox{min-height:var(--control-height);border:2px solid var(--color-border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:12px;padding:8px 16px;display:inline-flex}.checkbox{margin-bottom:8px}.choice input,.checkbox input{width:28px;height:28px;margin:0}.choice:has(input:checked){background:var(--color-info-bg);border-color:var(--color-primary)}.actions{flex-direction:column;gap:16px;margin:32px 0;display:flex}.button{min-height:64px;font:inherit;border-radius:var(--radius);cursor:pointer;padding:12px 24px;font-weight:700}.button--primary{background:var(--color-primary);color:#fff;border:2px solid var(--color-primary)}.button--primary:hover:not(:disabled){background:var(--color-primary-dark)}.button--secondary{color:var(--color-primary);border:2px solid var(--color-primary);background:#fff}.button:disabled{opacity:.55;cursor:not-allowed}.error-summary{color:var(--color-error);background:var(--color-error-bg);border-left:6px solid var(--color-error);margin:0 0 24px;padding:16px;font-weight:700}.info-box{background:var(--color-info-bg);border-left:6px solid var(--color-primary);margin:0 0 24px;padding:16px}.phone-callout{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius);margin:24px 0;padding:16px}.phone-callout__message{margin:0 0 8px;font-weight:700}.phone-callout__number{color:var(--color-primary);font-size:28px;font-weight:700}.confirm-list{border-top:2px solid var(--color-border);margin:0 0 24px}.confirm-list__row{border-bottom:1px solid var(--color-border);padding:12px 0}.confirm-list__row dt{font-weight:700;font-size:var(--font-small);color:var(--color-muted)}.confirm-list__row dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.resend{margin:0 0 24px}.resend .button{width:100%}.resend__wait{color:var(--color-muted);margin:8px 0 0}.reception-no{text-align:center;background:var(--color-info-bg);border-radius:var(--radius);margin:0 0 16px;padding:24px}.reception-no--emphasis{border:4px solid var(--color-error);background:#fff8e1}.reception-no__label{margin:0;font-weight:700}.reception-no__value{letter-spacing:.08em;margin:0;font-size:44px;font-weight:700}.turnstile{min-height:70px;margin:0 0 8px}
