@charset "UTF-8";
/* =========================================================================
   お問い合わせ CF7 スタイル上書き
   Contact Form 7 同梱の includes/css/styles.css は `.wpcf7 …`（クラスのみ）で
   テーマの素セレクタ（input / .wpcf7-list-item 等）と競合し、参考データ
   （page_contact.html：CF7のCSS非読込）と見た目が変わる。
   本ファイルは #contact（ID）スコープで指定し、詳細度でCF7標準に必ず勝つ。
   ========================================================================= */

/* 文字色を参考データ（既定の黒）に統一 */
#contact .wpcf7 { color: #000; }

/* --- ラベル（項目名）と下の余白 --- */
#contact .wpcf7 label { display: block; margin-bottom: .5em; font-weight: 500; }
#contact .wpcf7 label span { color: rgba(217, 60, 75, 1.00); font-size: 13px; padding-left: 5px; }
#contact .wpcf7 form p,
#contact form p { padding-bottom: 1em; }

/* --- テキスト系入力欄（CF7の .wpcf7 input[...] を上書き） --- */
#contact .wpcf7 input[type="text"],
#contact .wpcf7 input[type="tel"],
#contact .wpcf7 input[type="email"],
#contact .wpcf7 input[type="url"],
#contact .wpcf7 input[type="date"],
#contact .wpcf7 textarea {
  width: 95%;
  margin-bottom: 1em;
  padding: .em;
  border: 1px solid rgba(184, 184, 184, 1.00);
  border-radius: 3px;
  background-color: #fff;
  outline: none;
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 17px;
}
#contact .wpcf7 input[type="text"],
#contact .wpcf7 input[type="tel"],
#contact .wpcf7 input[type="email"],
#contact .wpcf7 input[type="url"] { height: 30px; }

/* --- ラジオ／チェックボックスを縦並びに（CF7標準は inline-block） --- */
#contact .wpcf7 .wpcf7-list-item { display: block; margin: 0 0 .3em 0; }
#contact .wpcf7 .wpcf7-list-item-label { color: #000; }
#contact .wpcf7 input[type="radio"],
#contact .wpcf7 input[type="checkbox"] {
  width: auto;
  height: auto;
  display: inline-block;
  margin-right: 2%;
  transform: scale(1.5);
  accent-color: rgba(43, 173, 227, 1.00);
}

/* --- 同意チェックはチェックボックスと文言を同じ行に --- */
#contact .wpcf7 .wpcf7-acceptance label { display: inline; font-weight: 500; }
#contact .wpcf7 .wpcf7-acceptance .wpcf7-list-item { display: block; margin-left: 0; }
#contact .wpcf7 .wpcf7-acceptance .wpcf7-list-item-label,
#contact .wpcf7 .wpcf7-acceptance label span { color: #000; font-size: inherit; padding-left: 0; }

/* --- ポリシー iframe --- */
#contact .wpcf7 iframe {
  margin-bottom: 1em;
  width: 98%;
  height: 250px;
  border: 1px solid rgba(184, 184, 184, 1.00);
}

/* --- 送信／確認ボタンを中央寄せ（参考データと同一デザイン） --- */
#contact .wpcf7 input[type="submit"],
#contact .wpcf7 input[type="button"] {
  display: block;
  margin: 0 auto;
  width: 50%;
  height: 50px;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 5px;
  cursor: pointer;
  border-radius: 100px;
  color: rgba(253, 253, 253, 1.00);
  background-color: rgba(2, 21, 104, 1.00);
  border: 1px solid rgba(2, 21, 104, 1.00);
}
#contact .wpcf7 input[type="submit"]:hover,
#contact .wpcf7 input[type="button"]:hover {
  background-color: #fff;
  color: rgba(43, 173, 227, 1.00);
  border-color: rgba(43, 173, 227, 1.00);
  transition: all .6s ease;
}

/* CF7スピナーが中央ボタンの右に出て崩れないように */
#contact .wpcf7 .wpcf7-spinner { display: block; margin: .5em auto 0; }

/* CF7標準の応答枠（空でも出る水色ボーダー）を参考データに合わせて除去。
   バリデーション/送信時のメッセージはテキストのみ表示（赤字）。 */
#contact .wpcf7 .wpcf7-response-output {
  margin: 1em .5em;
  padding: 0;
  border: 0;
  color: rgba(207, 0, 20, 1.00);
}
#contact .wpcf7 form:not(.invalid):not(.unaccepted):not(.spam):not(.sent):not(.failed):not(.aborted) .wpcf7-response-output {
  display: none;
}

/* --- 確認画面：値ボックスの余分な高さ（pre-wrapによる空行）を解消 --- */
#contact .box.confirm .confirm-list dd { white-space: normal; }
#contact .box.confirm .confirm-list dd p { margin: 0; padding: 0; line-height: 1.7; }

/* --- 確認画面：戻る／送信を横並び・中央 --- */
#contact .box.confirm .cf7msm-confirm { text-align: center; }
#contact .box.confirm form > p:last-of-type { text-align: center; }
#contact .box.confirm .wpcf7 input[type="submit"],
#contact .box.confirm .wpcf7 input[type="button"] {
  display: inline-block;
  width: auto;
  min-width: 38%;
  margin: .4em .5em;
  letter-spacing: 3px;
}
