.form-card{padding:clamp(20px,4vw,34px);background:var(--ns-card-bg,#fff);border:1px solid var(--ns-border,#d9e1e8);border-radius:calc(var(--ns-radius,8px) + 5px);box-shadow:var(--ns-shadow,0 12px 36px rgba(20,45,65,.08))}
.form-section+.form-section{margin-top:32px;padding-top:28px;border-top:1px solid var(--ns-border,#d9e1e8)}.form-section h2{margin:0 0 17px;font-size:1.2rem}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.form-field{min-width:0;margin-bottom:13px}.form-field--full{grid-column:1/-1}
.form-field label,.form-label{display:block;margin-bottom:6px;font-size:.92rem;font-weight:800}.required-badge,.optional-badge{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:4px;font-size:.68rem;vertical-align:2px}
.required-badge{color:#fff;background:#b91c1c}.optional-badge{color:#475569;background:#e2e8f0}
.form-field input,.form-field select,.form-field textarea{width:100%;padding:11px 12px;color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:var(--ns-radius,8px)}
.form-field textarea{min-height:130px;resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:3px solid rgba(31,79,122,.14);border-color:var(--ns-main,#1f4f7a)}
.form-help{margin:5px 0 0;color:#64748b;font-size:.82rem}.form-error{margin:5px 0 0;color:#b91c1c;font-size:.84rem;font-weight:700}.form-counter{text-align:right;color:#64748b;font-size:.78rem}
.form-check{display:flex;align-items:flex-start;gap:10px;margin:12px 0}.form-check input{margin-top:.45em;flex:0 0 auto}.form-check label{font-size:.9rem}
.form-actions{margin-top:28px;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.btn{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:10px 20px;border:1px solid transparent;border-radius:var(--ns-radius,8px);color:var(--ns-button-text,#fff);background:var(--ns-button,#1f4f7a);font-weight:800}
.btn:hover{text-decoration:none;filter:brightness(.96)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--secondary{color:var(--ns-text,#222);background:var(--ns-sub,#edf4f8);border-color:var(--ns-border,#d9e1e8)}.btn--danger{color:#fff;background:#b91c1c}.btn--small{min-height:36px;padding:6px 12px;font-size:.86rem}
.form-message{margin:18px 0;padding:14px;border-radius:var(--ns-radius,8px)}.form-message--success{color:#166534;background:#ecfdf5;border:1px solid #bbf7d0}.form-message--error{color:#9f1239;background:#fff1f2;border:1px solid #fecdd3}.form-message--info{color:#1e3a5f;background:#eff6ff;border:1px solid #bfdbfe}
.image-preview{margin-top:10px;width:min(100%,500px);aspect-ratio:16/9;object-fit:contain;background:#f1f5f9;border:1px solid var(--ns-border,#d9e1e8);border-radius:var(--ns-radius,8px)}
.honeypot-field{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important}.preview-article h1{font-size:1.7rem}.preview-article__lead{padding:15px;background:#f1f5f9;border-left:4px solid var(--ns-main,#1f4f7a);font-weight:700}
@media(max-width:680px){.form-grid{grid-template-columns:1fr}}

/* Cloudflare Turnstile */
.turnstile-widget{
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.turnstile-widget iframe{
  max-width:100%;
}
#captchaHelp{
  margin-top:10px;
  text-align:center;
}
#captchaHelp.is-error{
  color:#b42318;
  font-weight:700;
}
@media(max-width:420px){
  .turnstile-widget{
    justify-content:flex-start;
  }
}


/* お問い合わせフォーム：不正送信防止確認 */
.contact-captcha-section{
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid var(--ns-border,#d9e1e8);
}
#contactCaptchaHelp{
  margin-top:10px;
  text-align:center;
}
#contactCaptchaHelp.is-error{
  color:#b42318;
  font-weight:700;
}
