:root{--bg:#f6f5f1;--card:#fff;--line:#dedfda;--text:#1e3b33;--sub:#5c6661;--primary:#386b5d;--primary-dark:#2c574b;--primary-soft:#eaf1ec;--track:#e1e6e2;--ack-bg:#fcf1dc;--ack-icon:#c9902b;--logo-dot:#e8b54d;--error:#b4473a;--error-bg:#fbeceb;--radius:16px;--font:var(--font-zen-maru), "Hiragino Maru Gothic ProN", "Hiragino Sans", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-text-size-adjust:100%;font-size:16px;line-height:1.7}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}a{color:var(--primary)}:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.page{flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;padding:20px 20px 24px;display:flex}.page-body{flex:1}.page-foot{padding-top:16px;padding-bottom:env(safe-area-inset-bottom);background:linear-gradient(to bottom, #f6f5f100, var(--bg) 24px);position:sticky;bottom:0}.topbar{justify-content:space-between;align-items:center;min-height:40px;margin-bottom:10px;display:flex}.back{width:44px;height:44px;color:var(--text);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin-left:-10px;display:inline-flex}.remaining{color:var(--sub);font-size:14px;font-weight:500}.progress{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:24px;display:grid}.progress-track{background:var(--track);border-radius:3px;height:6px;overflow:hidden}.progress-fill{background:var(--primary);border-radius:3px;height:100%;transition:width .3s}.progress-label{color:var(--sub);margin-top:6px;font-size:13px;display:block}.progress-label.is-current{color:var(--text);font-weight:700}.ack{border-radius:var(--radius);background:var(--ack-bg);gap:10px;margin-bottom:24px;padding:14px 16px;font-size:16px;display:flex}.ack svg{color:var(--ack-icon);flex:none;margin-top:3px}.q-label{background:var(--track);color:var(--text);border-radius:999px;margin-bottom:12px;padding:2px 12px;font-size:14px;font-weight:500;display:inline-block}.q-title{letter-spacing:.02em;margin-bottom:12px;font-size:26px;font-weight:700;line-height:1.45}.q-title:focus{outline:none}.q-why{color:var(--sub);gap:8px;margin-bottom:24px;font-size:16px;display:flex}.q-why svg{flex:none;margin-top:4px}.choices{flex-direction:column;gap:12px;display:flex}.choice{border:1.5px solid var(--line);border-radius:var(--radius);background:var(--card);text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:60px;padding:14px 18px;font-size:17px;font-weight:500;transition:background .15s,border-color .15s;display:flex}.choice[aria-checked=true],.choice[aria-pressed=true]{border-color:var(--primary);background:var(--primary-soft)}.choice-mark{background:var(--card);color:#fff;border:2px solid #b9bdb8;flex:none;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.choice-mark.radio{border-radius:50%}.choice-mark.check{border-radius:6px}.choice[aria-checked=true] .choice-mark,.choice[aria-pressed=true] .choice-mark{border-color:var(--primary);background:var(--primary)}.choice-divider{background:var(--line);height:1px;margin:4px 0}.choices.grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.choices.grid .choice{text-align:center;justify-content:center;min-height:64px;padding:14px 8px}.chips{flex-wrap:wrap;gap:10px;display:flex}.chip{border:1.5px solid var(--line);background:var(--card);border-radius:999px;align-items:center;gap:6px;min-height:44px;padding:8px 16px;font-size:16px;font-weight:500;display:inline-flex}.chip[aria-checked=true]{border-color:var(--primary);background:var(--primary);color:#fff}.chips-break{background:var(--line);flex-basis:100%;height:1px;margin:4px 0}.field{margin-bottom:20px}.field-label{margin-bottom:8px;font-size:16px;font-weight:700;display:block}.input,.textarea{border:1.5px solid var(--line);border-radius:var(--radius);background:var(--card);width:100%;padding:14px 16px;font-size:17px}.input:focus,.textarea:focus{border-color:var(--primary);outline:none}.input::placeholder,.textarea::placeholder{color:#9aa19d}.textarea{resize:vertical;min-height:150px;line-height:1.6}.chips .other-field{flex-basis:100%}.suggestions{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.suggestion{border:1.5px solid var(--line);background:var(--card);border-radius:999px;min-height:44px;padding:8px 16px;font-size:16px;font-weight:500}.hint{color:var(--sub);margin-top:8px;font-size:16px}.hint.is-error{color:var(--error)}.email-suggest{background:var(--ack-bg);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding:10px 14px;font-size:16px;display:flex}.email-suggest button{border:1.5px solid var(--primary);background:var(--card);color:var(--primary);border-radius:999px;padding:4px 14px;font-size:16px;font-weight:700}.consent{border:1.5px solid var(--line);border-radius:var(--radius);background:var(--card);cursor:pointer;gap:12px;padding:16px;font-size:16px;display:flex}.consent input{width:24px;height:24px;accent-color:var(--primary);flex:none;margin-top:2px}.teen-note{color:var(--sub);margin-top:12px;font-size:16px}.btn-row{gap:12px;display:flex}.btn{border:1.5px solid #0000;border-radius:999px;justify-content:center;align-items:center;width:100%;min-height:56px;padding:12px 24px;font-size:17px;font-weight:700;display:inline-flex}.btn-primary{background:var(--primary);color:#fff}.btn-primary:active{background:var(--primary-dark)}.btn-primary:disabled{cursor:not-allowed;background:#b8c6c0}.btn-secondary{background:var(--card);border-color:var(--line);color:var(--text);flex:none;width:auto}.foot-note{text-align:center;color:var(--sub);font-size:16px}.error-box{background:var(--error-bg);color:var(--error);border-radius:12px;margin-bottom:12px;padding:12px 16px;font-size:16px}.logo{letter-spacing:.04em;align-items:center;gap:10px;margin:24px 0 32px;font-size:22px;font-weight:700;display:flex}.logo-dot{background:var(--logo-dot);border-radius:50%;width:22px;height:22px}.welcome-title{margin-bottom:16px;font-size:30px;font-weight:700;line-height:1.5}.welcome-body{color:#3d4a45;margin-bottom:28px;font-size:17px}.points{border:1.5px solid var(--line);background:var(--card);border-radius:20px;padding:4px 20px;list-style:none}.points li{align-items:center;gap:14px;padding:16px 0;font-size:16px;font-weight:500;display:flex}.points li+li{border-top:1px solid #ecedea}.points svg{color:var(--primary);flex:none}.welcome-note{text-align:center;color:var(--sub);margin-bottom:14px;font-size:16px}.done-mark{background:var(--primary-soft);width:64px;height:64px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;margin:40px 0 20px;display:inline-flex}.done-title{margin-bottom:12px;font-size:28px;font-weight:700}.done-body{margin-bottom:12px;font-size:17px}.done-note{color:var(--sub);margin-bottom:28px;font-size:16px}.steps{border:1.5px solid var(--line);background:var(--card);border-radius:20px;padding:20px}.steps h2{margin-bottom:12px;font-size:17px}.steps ol{counter-reset:step;flex-direction:column;gap:12px;list-style:none;display:flex}.steps li{counter-increment:step;gap:12px;font-size:16px;display:flex}.steps li:before{content:counter(step);background:var(--primary);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;margin-top:1px;font-size:14px;font-weight:700;display:inline-flex}.closing{text-align:center;color:var(--sub);margin-top:28px;font-size:16px}.doc h1{margin:8px 0 16px;font-size:26px;line-height:1.45}.doc h2{margin:28px 0 8px;font-size:19px}.doc p,.doc li{font-size:16px}.doc p+p{margin-top:8px}.doc ul,.doc ol{margin:8px 0;padding-left:1.4em}.doc li+li{margin-top:4px}.draft-banner{background:var(--ack-bg);border-radius:12px;margin-bottom:8px;padding:12px 16px;font-size:16px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.trap{width:1px;height:1px;position:absolute;top:auto;left:-10000px;overflow:hidden}
