/* お申し込みフォーム専用スタイル */
.form-intro{ color:var(--ink-2); font-size:14.5px; margin-bottom:22px; }
.form-intro strong{ color:var(--accent); }

.form-switch{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  background:#F0FAF4; border:1px solid #C9EED9; border-radius:12px;
  padding:12px 16px; margin-bottom:26px; font-size:13.5px; font-weight:700; color:var(--ink-2);
}

.inquiry-form{
  background:#fff; border:1px solid var(--line-color); border-radius:18px;
  padding:24px 22px; box-shadow:var(--shadow-sm);
}
.field{ margin-bottom:18px; }
.field-row{ display:grid; grid-template-columns:1fr; gap:0; }
.field label{ display:block; font-weight:800; font-size:14px; margin-bottom:8px; color:var(--ink); }
.req{ display:inline-block; background:#FEE2E2; color:#DC2626; font-size:11px; font-weight:800; padding:2px 8px; border-radius:6px; margin-left:4px; vertical-align:1px; }
.opt{ display:inline-block; background:var(--bg-soft-2); color:var(--muted); font-size:11px; font-weight:700; padding:2px 8px; border-radius:6px; margin-left:4px; vertical-align:1px; }

.field input[type=text],
.field input[type=email],
.field input[type=tel],
.field textarea,
.field select{
  width:100%; font-family:inherit; font-size:16px; color:var(--ink);
  background:#fff; border:1.5px solid var(--line-color); border-radius:12px;
  padding:13px 14px; transition:border-color .15s, box-shadow .15s; -webkit-appearance:none; appearance:none;
}
.field textarea{ resize:vertical; line-height:1.7; }
.field input:focus,
.field textarea:focus,
.field select:focus{
  outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft);
}
.field input.invalid,
.field textarea.invalid{ border-color:#DC2626; box-shadow:0 0 0 3px #FEE2E2; }

.select-wrap{ position:relative; }
.select-wrap::after{
  content:""; position:absolute; right:16px; top:50%; width:9px; height:9px;
  border-right:2px solid var(--muted); border-bottom:2px solid var(--muted);
  transform:translateY(-70%) rotate(45deg); pointer-events:none;
}

.checks{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.check{ display:flex; align-items:center; gap:9px; font-weight:600; font-size:14px; color:var(--ink-2); cursor:pointer; margin:0; }
.check input{ width:19px; height:19px; accent-color:var(--accent); flex:0 0 auto; }
.check span{ font-weight:600; }
.check-consent{ margin-bottom:20px; }
.check-consent .check{ font-size:13.5px; }
.check-consent a{ color:var(--accent); text-decoration:underline; text-underline-offset:2px; }

.form-note{ text-align:center; color:var(--muted); font-size:12.5px; margin-top:16px; }
.form-note strong{ color:var(--ink-2); }

#submitBtn[disabled]{ opacity:.6; pointer-events:none; }

/* 送信完了 */
.form-success{
  text-align:center; background:#fff; border:1px solid #C9EED9; border-radius:18px;
  padding:40px 24px; box-shadow:var(--shadow); margin-top:8px;
}
.success-ico{
  width:64px; height:64px; margin:0 auto 18px; border-radius:50%;
  background:var(--line); color:#fff; font-size:34px; font-weight:900;
  display:flex; align-items:center; justify-content:center; box-shadow:0 10px 24px rgba(6,199,85,.35);
}
.form-success h2{ font-size:20px; font-weight:900; margin-bottom:10px; }
.form-success p{ color:var(--ink-2); font-size:14.5px; }
.success-cta{ display:flex; flex-direction:column; gap:10px; max-width:320px; margin:24px auto 0; }

@media (min-width:560px){
  .field-row{ grid-template-columns:1fr 1fr; gap:16px; }
  .field-row .field{ margin-bottom:18px; }
  .success-cta{ flex-direction:row; justify-content:center; }
}
