/* 予約フォームの入力しやすさ改善 */
.kc-reserve .form-control, .kc-reserve select.form-control { min-height: 48px; font-size: 16px; }
.kc-reserve textarea.form-control { font-size: 16px; }
.kc-reserve .powermail_fieldset { margin-bottom: 28px; }
.kc-reserve .powermail_legend { font-size: 1.25rem; font-weight: 700; border-bottom: 0; margin-bottom: 8px; width: 100%; }
.kc-reserve .powermail_fieldwrap { margin-bottom: 18px; }
.kc-reserve .input-name { font-weight: 700; margin-bottom: 6px; }
.kc-help { display: block; margin-top: 4px; font-size: 13px; line-height: 1.5; color: #666; }
.kc-intro { line-height: 1.9; }
/* ラジオはタップしやすいボタン風に */
.kc-reserve .radio { display: inline-block; margin: 0 10px 10px 0; }
.kc-reserve .radio label { display: inline-block; padding: 10px 18px; border: 1px solid #bbb; border-radius: 999px; cursor: pointer; background: #fff; margin: 0; }
.kc-reserve .radio label:hover { border-color: #009966; }
.kc-reserve .radio input[type=radio] { margin-right: 6px; }
.kc-reserve .radio label:has(input:checked) { background: #e6f5ef; border-color: #009966; color: #006b47; font-weight: 700; }
/* 手順表示 */
#kc-steps { display: flex; gap: 8px; margin: 0 0 24px; padding: 0; list-style: none; }
#kc-steps li { flex: 1; text-align: center; padding: 10px 4px; background: #eee; color: #777; border-radius: 6px; font-size: 14px; }
#kc-steps li.on { background: #009966; color: #fff; font-weight: 700; }
/* ボタン */
.kc-reserve input[type=submit].btn, #kc-confirm .btn { min-height: 52px; font-size: 17px; padding: 0 28px; }
.kc-reserve input[type=submit].btn { width: 100%; max-width: 420px; }
#kc-confirm th { background: #f6f7f8; vertical-align: top; }
#kc-confirm td, #kc-confirm th { padding: 12px; }
@media (max-width: 767px) {
  #kc-confirm .btn { display: block; width: 100%; margin: 0 0 12px 0 !important; }
  .kc-reserve input[type=submit].btn { max-width: none; }
}
