:root{--brand-teal:#00aca0;--brand-teal-dark:#008c82;--brand-teal-light:#a4d1c1;--brand-mint:#c8e3da;--brand-orange:#eb763a;--brand-orange-hover:#d65f25;--brand-cream:#f5f3ed;--text-dark:#333;--text-muted:#78716c;--surface:#fff;--border:#e5e1d8;--error:#c0392b;--warn-bg:#fff4ec;--shadow-soft:0 4px 20px -2px #0000000d;--shadow-card:0 10px 30px -5px #00000014;--tap-target:52px;--radius:16px}*{box-sizing:border-box}[hidden]{display:none!important}body{color:var(--text-dark);background:var(--brand-cream);margin:0;padding-bottom:170px;font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,sans-serif;font-size:18px;line-height:1.8}.site-header{background:var(--surface);border-bottom:3px solid var(--brand-teal)}.header-inner{max-width:680px;margin:0 auto;padding:20px 20px 16px}.brand-row{align-items:center;gap:10px;display:flex}.logo-icon{width:auto;height:34px}.logo{width:auto;height:28px;display:block}.site-header h1{margin:6px 0 0;font-size:1.35rem;font-weight:700}.progress-nav{background:var(--surface);box-shadow:var(--shadow-soft)}.progress-steps{counter-reset:step;justify-content:space-between;max-width:680px;margin:0 auto;padding:14px 12px;list-style:none;display:flex}.progress-steps li{text-align:center;color:var(--text-muted);flex:1;font-size:.72rem;position:relative}.progress-steps li:before{counter-increment:step;content:counter(step);background:var(--brand-mint);width:32px;height:32px;color:var(--text-dark);border-radius:50%;margin:0 auto 4px;font-size:.9rem;font-weight:700;line-height:32px;display:block}.progress-steps li:not(:first-child):after{content:"";background:var(--brand-mint);width:calc(100% - 32px);height:3px;position:absolute;top:16px;left:calc(16px - 50%)}.progress-steps li.active{color:var(--brand-teal-dark);font-weight:700}.progress-steps li.active:before{background:var(--brand-teal);color:#fff}.progress-steps li.done:before{content:"✓";background:var(--brand-teal-light);color:#fff}.progress-steps li.done:not(:first-child):after,.progress-steps li.active:not(:first-child):after{background:var(--brand-teal-light)}main{max-width:680px;margin:0 auto;padding:24px 20px}h2{margin:0 0 16px;font-size:1.25rem}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-soft);margin-bottom:16px;padding:20px}.field{margin-bottom:22px}.field:last-child{margin-bottom:0}.field>label{margin-bottom:8px;font-size:.95rem;font-weight:700;display:block}.field label em{color:#fff;background:var(--brand-orange);vertical-align:middle;border-radius:999px;margin-left:8px;padding:1px 10px;font-size:.7rem;font-style:normal}input[type=text],input[type=email],input[type=tel],input[type=date],select,textarea{width:100%;min-height:var(--tap-target);border:1.5px solid var(--border);background:var(--surface);color:var(--text-dark);border-radius:12px;padding:12px 14px;font-family:inherit;font-size:1.05rem}input:focus,select:focus,textarea:focus{outline:3px solid var(--brand-teal-light);border-color:var(--brand-teal)}.help{color:var(--text-muted);margin:8px 0 0;font-size:.85rem}.help.warn{background:var(--warn-bg);border-left:4px solid var(--brand-orange);color:var(--text-dark);border-radius:8px;padding:10px 12px}.note{color:var(--text-muted);font-size:.9rem}.choices{flex-direction:column;gap:16px;display:flex}.choice{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);cursor:pointer;align-items:flex-start;gap:14px;padding:18px;transition:border-color .15s,box-shadow .15s;display:flex}.choice:has(input:checked){border-color:var(--brand-teal);box-shadow:var(--shadow-card);background:#f2faf8}.choice input{width:24px;height:24px;accent-color:var(--brand-teal);flex-shrink:0;margin-top:6px}.choice-body{display:block}.choice-title{font-size:1.1rem;font-weight:700;display:block}.choice-price{color:var(--brand-teal-dark);font-size:1.15rem;font-weight:700;display:block}.choice-price small{color:var(--text-muted);font-size:.85rem;font-weight:400}.badge{color:#fff;background:var(--brand-orange);border-radius:999px;margin-bottom:6px;padding:2px 12px;font-size:.72rem;font-weight:700;display:inline-block}.consent-item{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:flex-start;gap:14px;margin-bottom:14px;padding:16px 18px;font-size:.92rem;transition:border-color .15s;display:flex}.consent-item:has(input:checked){border-color:var(--brand-teal);background:#f2faf8}.consent-item input{width:24px;height:24px;accent-color:var(--brand-teal);flex-shrink:0;margin-top:3px}.consent-item a{color:var(--brand-teal-dark);font-weight:700}.confirm-table{border-collapse:collapse;width:100%}.confirm-table th,.confirm-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:12px 8px;font-size:.95rem}.confirm-table tr:last-child th,.confirm-table tr:last-child td{border-bottom:none}.confirm-table th{width:38%;color:var(--text-muted);font-weight:700}.turnstile{min-height:70px;margin:20px 0}.done-card{text-align:center;padding:36px 24px}.done-mark{background:var(--brand-teal);color:#fff;border-radius:50%;width:64px;height:64px;margin:0 auto 12px;font-size:2rem;font-weight:900;line-height:64px}.done-card p{text-align:left}#line-copy-note{color:var(--brand-teal-dark);font-weight:700}.actions{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-top:1px solid var(--border);background:#f5f3edf5;justify-content:center;gap:12px;padding:14px 20px;display:flex;position:fixed;bottom:64px;left:0;right:0}.btn{min-height:var(--tap-target);cursor:pointer;border:none;border-radius:999px;padding:12px 34px;font-family:inherit;font-size:1.05rem;font-weight:700;transition:background .15s,transform .1s}.btn.primary{background:var(--brand-orange);color:#fff;box-shadow:var(--shadow-soft)}.btn.primary:hover{background:var(--brand-orange-hover)}.btn.primary:active{transform:translateY(1px)}.btn.primary:disabled{cursor:not-allowed;box-shadow:none;background:#d6d3cb}.btn.secondary{background:var(--surface);color:var(--text-dark);border:1.5px solid var(--border)}.price-bar{background:var(--brand-teal);color:#fff;justify-content:center;align-items:baseline;gap:10px;padding:12px 16px;display:flex;position:fixed;bottom:0;left:0;right:0}.price-bar-label{opacity:.9;font-size:.8rem}.price-bar-amount{letter-spacing:.02em;font-size:1.15rem;font-weight:900}body.survey{padding-bottom:40px}.survey .site-header h1{font-size:1.2rem}.survey-count{color:var(--text-muted);margin:0 0 14px;font-size:.9rem;font-weight:700}.survey .card{margin-bottom:20px}.survey .field>label{margin-bottom:12px;font-size:1rem}.qnum{background:var(--brand-teal);color:#fff;border-radius:8px;margin-right:8px;padding:1px 9px;font-size:.8rem;display:inline-block}.survey .choices{gap:10px}.survey .choice{box-shadow:none;border-radius:12px;padding:12px 14px}.survey .choice input{width:22px;height:22px;margin-top:3px}.survey .choice-title{font-size:1rem;font-weight:500}.scale{flex-wrap:wrap;gap:8px;display:flex}.scale button{border:1.5px solid var(--border);background:var(--surface);min-height:44px;color:var(--text-dark);cursor:pointer;border-radius:12px;padding:8px 14px;font-family:inherit;font-size:.95rem;transition:background .15s,border-color .15s}.scale button.selected{background:var(--brand-teal);border-color:var(--brand-teal);color:#fff;font-weight:700}.survey .turnstile iframe{border:0}.survey .btn.primary{width:100%}.survey .help{text-align:center;margin-top:12px}.error{color:var(--error);font-weight:700}.field-error{color:var(--error);margin:6px 0 0;font-size:.85rem;font-weight:700}input.invalid,select.invalid,textarea.invalid{border-color:var(--error)}
