/* CF7が追加するラッパー・エラー表示をSNSフォームに合わせる。 */
.sns-page #contact .wpcf7 { max-width:760px; }
.sns-page #contact .wpcf7-form-control-wrap { display:block; }
.sns-page #contact .sp-form-row > p { margin:0; }
.sns-page #contact .sp-form-row br { display:none; }
.sns-page #contact .sp-form-row:has(.sp-submit) { margin-bottom:0; }
.sns-page #contact input.sp-submit { appearance:none; border:0; background:var(--brand, #ce2415); color:#fff; cursor:pointer; font:inherit; font-weight:700; }
.sns-page #contact .wpcf7-not-valid-tip { margin-top:8px; color:#9e1b0f; font-size:13px; }
.sns-page #contact .wpcf7-form-control.wpcf7-not-valid { border-color:#9e1b0f; }
/* 旧Webフォームの白文字・枠色をSNSの白背景に合わせて上書きする。
   初期状態・送信中の非表示はCF7に任せ、結果が返ったときだけ表示する。 */
.sns-page #contact .wpcf7 form .wpcf7-response-output { margin:16px 0 0 !important; padding:14px 18px !important; font-size:14px; line-height:1.8; border-radius:8px; color:#252a30; background:#f4f6fb; border:1px solid #687382 !important; }
.sns-page #contact .wpcf7 form.sent .wpcf7-response-output { color:#155b35; background:#edf8f1; border-color:#287a49 !important; }
.sns-page #contact .wpcf7 form.invalid .wpcf7-response-output,
.sns-page #contact .wpcf7 form.unaccepted .wpcf7-response-output,
.sns-page #contact .wpcf7 form.failed .wpcf7-response-output,
.sns-page #contact .wpcf7 form.aborted .wpcf7-response-output,
.sns-page #contact .wpcf7 form.spam .wpcf7-response-output { color:#9e1b0f; background:#fff2ef; border-color:#9e1b0f !important; }
.sns-page #contact .wpcf7-spinner { vertical-align:middle; }
.sns-page #contact .sp-form-row:has(.wpcf7-recaptcha) { overflow:visible; }
