/* フォーム全体 */
.wpcf7 {
  background-color: #f3f7fb !important; /* 淡いブルー系 */
  padding: 48px !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 30px rgba(26, 42, 80, 0.10) !important;
  max-width: 640px !important;
  margin: 60px auto !important;
  font-family: 'Noto Sans JP', sans-serif !important;
  border: 1px solid #dbe6f3 !important; /* ブルーグレーの枠線 */
}

/* ラベル */
.wpcf7-form label {
  margin-bottom: 10px !important;
  color: #1a2a50 !important; /* ネイビー */
  font-size: 15px !important;
  font-weight: 600 !important;
}

/* 入力欄（text, email, tel, textarea共通） */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
  width: 100% !important;
  padding: 0 40px 0 16px !important;
  font-size: 16px !important;
  border: 1.5px solid #b6c6dd !important; /* 青みグレー */
  border-radius: 8px !important;
  background-color: #fff !important;
  color: #21243b !important;
  box-sizing: border-box !important;
  appearance: none !important;
}

/* input の高さ */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"] {
  height: 48px !important;
  line-height: 48px !important;
}

/* textarea 専用設定 */
.wpcf7 textarea {
  height: 144px !important;
  line-height: 1.5 !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  resize: vertical !important;
}

/* select 専用 */
body .wpcf7 form select.wpcf7-select {
  width: 100% !important;
  height: 48px !important;
  padding: 12px 40px 12px 16px !important;
  font-size: 16px !important;
  border: 1.5px solid #b6c6dd !important;
  border-radius: 8px !important;
  background-color: #fff !important;
  color: #21243b !important;
  background-image: url("data:image/svg+xml,%3Csvg%20fill='%231a2a50'%20height='20'%20viewBox='0%200%2024%2024'%20width='20'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M7%2010l5%205%205-5z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 16px !important;
  appearance: none !important;
}

/* プレースホルダー */
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
  color: #95a2b8 !important;
  font-style: italic !important;
}

/* フォーカス時 */
.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
  border-color: #1a2a50 !important; /* ネイビー */
  box-shadow: 0 0 0 3px rgba(26, 42, 80, 0.10) !important;
  outline: none !important;
}

/* 送信ボタン */
.wpcf7 input[type="submit"] {
  background: linear-gradient(135deg, #1a2a50, #375694) !important;
  color: #fff !important;
  border: none !important;
  padding: 14px 36px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  border-radius: 32px !important;
  cursor: pointer !important;
  margin-top: 32px !important;
  box-shadow: 0 6px 12px rgba(26, 42, 80, 0.16) !important;
  transition: all 0.3s ease !important;
}

.wpcf7 input[type="submit"]:hover {
  background: #264080 !important;
  box-shadow: 0 8px 16px rgba(26, 42, 80, 0.20) !important;
}

.wpcf7 .required-mark {
  color: #e60033 !important;
  font-weight: bold !important;
  margin-left: 4px !important;
}