/* SS Survey — 通常フォームスタイル */

/* ── テーマ非依存リセット ── */
.ss-survey,.ss-survey * { box-sizing:border-box; }

.ss-survey { width:100%; max-width:680px; margin:2rem auto; font-family:-apple-system,BlinkMacSystemFont,'Hiragino Sans','Yu Gothic UI',sans-serif; color:#1a1a1a; line-height:1.7; }
.ss-survey__title { font-size:1.5rem; font-weight:700; margin-bottom:1.25rem; padding-bottom:.75rem; border-bottom:2px solid #0073aa; }

.ss-survey__progress { position:relative; background:#e5e7eb; border-radius:99px; height:8px; margin-bottom:1.75rem; overflow:hidden; }
.ss-survey__progress-bar { height:100%; background:#0073aa; border-radius:99px; transition:width .35s ease; }
.ss-survey__progress-label { position:absolute; right:0; top:-1.5rem; font-size:.8rem; color:#6b7280; }

.ss-survey__errors { background:#fef2f2; border:1px solid #fca5a5; border-left:4px solid #ef4444; border-radius:6px; padding:.875rem 1rem; margin-bottom:1.25rem; color:#991b1b; font-size:.9rem; }
.ss-survey__errors p { margin:0; }

.ss-survey__question { background:#fff; border:1px solid #e5e7eb; border-radius:8px; padding:1.25rem 1.5rem; margin-bottom:1.125rem; transition:border-color .2s; }
.ss-survey__question:focus-within { border-color:#0073aa; box-shadow:0 0 0 3px rgba(0,115,170,.12); }
.ss-survey__question--error { border-color:#ef4444; background:#fff9f9; }
.ss-survey__question fieldset { border:none; margin:0; padding:0; }
.ss-survey__question-text { font-size:1rem; font-weight:600; margin:0 0 .875rem; padding:0; color:#111827; }
.ss-required { color:#ef4444; margin-left:4px; }
.ss-survey__question-body { display:flex; flex-direction:column; gap:.5rem; }
.ss-survey__question-error { margin:.5rem 0 0; font-size:.85rem; color:#ef4444; }

.ss-survey__option { display:flex; align-items:center; gap:.625rem; cursor:pointer; padding:.5rem .75rem; border-radius:6px; transition:background .15s; }
.ss-survey__option:hover { background:#f0f9ff; }
.ss-survey__option input[type="radio"], .ss-survey__option input[type="checkbox"] { width:1.1rem; height:1.1rem; accent-color:#0073aa; flex-shrink:0; cursor:pointer; }

.ss-survey__text, .ss-survey__textarea { width:100%; padding:.625rem .875rem; border:1px solid #d1d5db; border-radius:6px; font-size:1rem; font-family:inherit; transition:border-color .2s,box-shadow .2s; box-sizing:border-box; }
.ss-survey__text:focus, .ss-survey__textarea:focus { outline:none; border-color:#0073aa; box-shadow:0 0 0 3px rgba(0,115,170,.15); }
.ss-survey__textarea { resize:vertical; min-height:100px; }

.ss-survey__rating { display:flex; flex-direction:row-reverse; justify-content:flex-end; gap:4px; }
.ss-survey__star { cursor:pointer; font-size:2rem; color:#d1d5db; transition:color .15s,transform .1s; user-select:none; }
.ss-survey__star input[type="radio"] { position:absolute; opacity:0; width:0; height:0; }
.ss-survey__star:hover, .ss-survey__star--hover, .ss-survey__star--selected { color:#f59e0b; }
.ss-survey__star:hover { transform:scale(1.15); }

.ss-survey__consent { background:#f8fafc; border:1px solid #e2e8f0; border-radius:8px; padding:1rem 1.25rem; margin:1.25rem 0; }
.ss-survey__consent-label { display:flex; align-items:flex-start; gap:.625rem; cursor:pointer; font-size:.95rem; color:#1a1a1a; }
.ss-survey__consent-check { width:1.1rem; height:1.1rem; accent-color:#0073aa; margin-top:2px; flex-shrink:0; }
.ss-survey__consent a { color:#0073aa; text-decoration:underline; }
.ss-survey__consent-note { margin:.5rem 0 0 1.75rem; font-size:.8rem; color:#6b7280; }

.ss-survey__nav { display:flex; justify-content:space-between; align-items:center; margin-top:1.5rem; gap:.75rem; }
.ss-survey__btn { display:inline-flex; align-items:center; justify-content:center; padding:.75rem 2rem; border-radius:6px; font-size:1rem; font-weight:600; cursor:pointer; border:none; transition:background .2s,opacity .2s,transform .1s; }
.ss-survey__btn:active { transform:scale(.98); }
.ss-survey__btn--next, .ss-survey__btn--submit { background:#0073aa; color:#fff; margin-left:auto; }
.ss-survey__btn--next:hover, .ss-survey__btn--submit:hover:not(:disabled) { background:#005d8c; }
.ss-survey__btn--submit:disabled { opacity:.45; cursor:not-allowed; }
.ss-survey__btn--prev { background:#f3f4f6; color:#374151; }
.ss-survey__btn--prev:hover { background:#e5e7eb; }

.ss-survey__complete { text-align:center; padding:3rem 1rem; }
.ss-survey__complete-icon { display:inline-flex; align-items:center; justify-content:center; width:64px; height:64px; border-radius:50%; background:#0073aa; color:#fff; font-size:2rem; margin-bottom:1.25rem; }
.ss-survey__complete-msg { font-size:1.1rem; color:#374151; white-space:pre-line; }

@media(max-width:600px) {
	.ss-survey { margin:1rem; }
	.ss-survey__question { padding:1rem; }
	.ss-survey__btn { padding:.75rem 1.25rem; font-size:.95rem; }
	.ss-survey__star { font-size:1.75rem; }
}
