/* Contact Form 7 の既定 styles.css を参照に持たないため最小限の近似（推定）。
   ローカル検証用 mock の表示（エラー文・応答欄）に必要な分だけ。 */
.wpcf7 .screen-reader-response { position: absolute; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; width: 1px; margin: -1px; padding: 0; border: 0; word-wrap: normal !important; }
.wpcf7 form .wpcf7-response-output { margin: 2em 0.5em 1em; padding: 0.2em 1em; border: 2px solid #00a0d2; }
.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output { display: none; }
.wpcf7 form.sent .wpcf7-response-output { border-color: #46b450; }
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output { border-color: #dc3232; }
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output { border-color: #ffb900; }
/* 送信結果を確認できなかった状態（assets/contact-submit.js の data-status="unknown"）。CF7 に無い状態のため、
   失敗と断定しない注意喚起として invalid と同じ色にする。 */
.wpcf7 form.unknown .wpcf7-response-output { border-color: #ffb900; }
/* assets/contact-resend.js の追加状態。too-large は入力の見直しを求めるので invalid と同色、rate-limited / closed は
   時間をおけば送れる・受付休止の案内で失敗と断定しないため unknown と同色にする。
   over-limit（送信前の文字数超過）と retry（もう一度の送信を求める案内）も入力の見直し・再操作を求めるので同色。 */
.wpcf7 form.too-large .wpcf7-response-output,
.wpcf7 form.over-limit .wpcf7-response-output,
.wpcf7 form.retry .wpcf7-response-output,
.wpcf7 form.rate-limited .wpcf7-response-output,
.wpcf7 form.closed .wpcf7-response-output { border-color: #ffb900; }.wpcf7-form-control-wrap { position: relative; }
.wpcf7-not-valid-tip { color: #dc3232; font-size: 1em; font-weight: normal; display: block; }
.use-floating-validation-tip .wpcf7-not-valid-tip { position: relative; top: -2ex; left: 1em; z-index: 100; border: 1px solid #dc3232; background: #fff; padding: .2em .8em; width: 24em; }
.wpcf7-spinner { visibility: hidden; display: inline-block; background-color: #23282d; opacity: 0.75; width: 24px; height: 24px; border: none; border-radius: 100%; padding: 0; margin: 0 24px; position: relative; }
form.submitting .wpcf7-spinner { visibility: visible; }
.wpcf7 input[type="file"] { cursor: pointer; }
.wpcf7 input[type="file"]:disabled { cursor: default; }
.wpcf7 .wpcf7-submit:disabled { cursor: not-allowed; }
.wpcf7 input[type="url"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"] { direction: ltr; }

/* D-15: CF7 shortcode由来の size="40" / cols="40" による固有幅（名前・メール 302px、電話 305px、本文 318px、border込み）が
   375px以下の画面で親 dd からはみ出す（2026-10-22 DOM計測: 375pxで4px、320pxで最大31px超過）。
   テーマ flora の mobile breakpoint（max-width: 767px）に限定して親幅で頭打ちにする。768px以上は変更しない。 */
@media only screen and (max-width: 767px) {
  .wpcf7 input[type="text"],
  .wpcf7 input[type="email"],
  .wpcf7 input[type="tel"],
  .wpcf7 textarea {
    max-width: 100%;
    box-sizing: border-box;
  }
}
