@charset "UTF-8";

/* ==========================
   お問い合わせページ Contact Form 7
========================== */

h1 {
  display: none;
}

/* フォーム全体 */
.wpcf7 form {
  max-width: 650px;
  margin: 0 auto;
  padding: 30px;
  background: #FFFFFF;
  border: 1px solid #E2D6DE;
  border-radius: 8px;
  box-sizing: border-box;    /* ← 追加：paddingが幅に含まれるよう */
}

/* セクションタイトル */
.page-contact h2 {
  text-align: center;
  color: #6594B1;
  font-size: clamp(1.2rem, 3vw, 1.5rem);  /* ← 変更 */
  font-weight: bold;
  margin-bottom: 20px;
}

/* ラベル */
.wpcf7 label {
  display: block;
  margin-bottom: 8px;
  font-weight: bold;
  color: #213C51;
}

/* テキスト入力・メール・テキストエリア */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
  width: 100%;
  padding: 10px 12px;
  margin-bottom: 20px;
  border: 1px solid #E2D6DE;
  border-radius: 4px;
  font-size: 14px;
  color: #213C51;
  box-sizing: border-box;    /* ← 追加：width:100%のはみ出し防止 */
}

/* テキストエリア */
.wpcf7 textarea {
  height: 200px;
  max-height: 200px;
  min-height: 200px;
  resize: none;
}

/* ラジオボタン */
.wpcf7 .wpcf7-radio label {
  display: inline-block;
  margin-right: 20px;
  font-weight: normal;
  color: #213C51;
}

.wpcf7 .wpcf7-radio input[type="radio"] {
  margin-right: 5px;
}

/* 送信ボタン */
.wpcf7 input[type="submit"] {
  background-color: #6594B1;
  color: #FFFFFF;
  padding: 12px 30px;
  font-size: 14px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: block;
  margin: 20px auto 0;
  min-width: 160px;          /* ← 追加：タップ領域を確保 */
}

.wpcf7 input[type="submit"]:hover {
  background-color: #556677;
  color: #EEEEEE;
}

/* エラーメッセージ */
.wpcf7 .wpcf7-not-valid-tip {
  color: #DDAED3;
  font-size: 13px;
  margin-top: 5px;
}

/* placeholder文字色 */
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
  color: #AAAAAA;
}

/* =========================
   Responsive — Desktop (〜1024px)
========================= */
@media (max-width: 1024px) {
  .wpcf7 form {
    max-width: 560px;
    padding: 28px;
  }
}

/* =========================
   Responsive — Tablet (〜768px)
========================= */
@media (max-width: 768px) {
  .wpcf7 form {
    max-width: 100%;         /* 画面幅いっぱいに広げる */
    padding: 24px 20px;
    border-radius: 6px;
  }

  .page-contact h2 {
    margin-bottom: 16px;
  }

  .wpcf7 input[type="text"],
  .wpcf7 input[type="email"],
  .wpcf7 textarea {
    font-size: 16px;         /* iOSの自動ズーム防止（16px未満で発動） */
    margin-bottom: 16px;
  }

  /* ラジオボタン：縦並びに */
  .wpcf7 .wpcf7-radio label {
    display: block;
    margin-right: 0;
    margin-bottom: 8px;
  }
}

/* =========================
   Responsive — Mobile (〜480px)
========================= */
@media (max-width: 480px) {
  .wpcf7 form {
    padding: 20px 16px;
    border-radius: 4px;
  }

  .wpcf7 textarea {
    height: 160px;           /* スマホでは高さを少し抑える */
    min-height: 160px;
    max-height: 160px;
  }

  .wpcf7 input[type="submit"] {
    width: 100%;             /* ボタンを横幅いっぱいに */
    padding: 14px;           /* タップしやすく縦を広げる */
  }
}