/*
Theme Name: Neve Child
Template: neve
*/

/* =============================================
   Contact Form 7 共通スタイル(.ct-form-box 内)
   126(問い合わせ)・969(求人応募)で共用
   ============================================= */

/* フォーム全体 */
.ct-form-box .wpcf7-form { display: flex; flex-direction: column; gap: 14px; }
.ct-form-box .wpcf7-form p { margin: 0 !important; }

/* 横並び(126用) */
.ct-form-box .ct-row-fields { display: flex; gap: 12px; }
.ct-form-box .ct-field-wrap { flex: 1; }

/* 横並び(969用) */
.ct-form-box .cf7-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ct-form-box .cf7-field { display: flex; flex-direction: column; gap: 4px; }

/* スマホ幅では1列にする */
@media (max-width: 600px) {
  .ct-form-box .cf7-row {
    grid-template-columns: 1fr;
  }
  .ct-form-box .ct-row-fields {
    flex-direction: column;
  }
}

/* ラベル */
.ct-form-box .wpcf7-form label { font-size: 12px !important; font-weight: 500 !important; color: #555 !important; display: block !important; margin-bottom: 5px !important; }
.ct-form-box .cf7-req { color: #e24b4a; }

/* 969用:ラベルと入力欄の間の余分な隙間を詰める */
.ct-form-box .cf7-field br { display: none; }
.ct-form-box .cf7-field label { margin-bottom: 0 !important; }
.ct-form-box .cf7-field .wpcf7-form-control-wrap { display: block; }

/* 入力欄 */
.ct-form-box .wpcf7-form input[type="text"],
.ct-form-box .wpcf7-form input[type="email"],
.ct-form-box .wpcf7-form input[type="tel"],
.ct-form-box .wpcf7-form select { width: 100% !important; border: 0.5px solid #ccc !important; border-radius: 4px !important; padding: 9px 12px !important; font-size: 13px !important; color: #333 !important; background: #fff !important; }

/* テキストエリア */
.ct-form-box .wpcf7-form textarea { width: 100% !important; border: 0.5px solid #ccc !important; border-radius: 4px !important; padding: 9px 12px !important; font-size: 13px !important; color: #333 !important; background: #fff !important; resize: vertical !important; min-height: 140px !important; }

/* ラジオボタン(969用) */
.ct-form-box .wpcf7-form .wpcf7-radio { display: flex; flex-direction: column; gap: 8px; margin-top: 4px; }
.ct-form-box .wpcf7-form .wpcf7-radio .wpcf7-list-item label { font-size: 13px !important; color: #184e86 !important; font-weight: 500 !important; margin-bottom: 0 !important; }

/* 残り文字数 */
.ct-form-box .wpcf7-form .wpcf7-character-count { font-size: 11px !important; color: #aaa !important; display: block !important; text-align: right !important; margin-top: 4px !important; }

/* アップロード欄(969用) */
.ct-form-box .cf7-upload {
  background: #f4f7fb;
  border: 1px dashed #88a6c7;
  border-radius: 8px;
  padding: 16px;
  margin: 8px 0 12px;
}
.ct-form-box .cf7-upload .cf7-upload-title {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #184e86 !important;
  margin-bottom: 8px !important;
}
.ct-form-box .cf7-upload .cf7-upload-note {
  font-size: 11px;
  font-weight: 400;
  color: #666;
  margin-left: 4px;
}
.ct-form-box .cf7-upload input[type="file"] {
  font-size: 13px;
  margin-bottom: 8px;
}
.ct-form-box .cf7-upload .cf7-upload-help {
  font-size: 11px !important;
  color: #666 !important;
  margin: 0 !important;
}

/* アップロード欄内の余分な隙間を詰める */
.ct-form-box .cf7-upload br { display: none; }
.ct-form-box .cf7-upload p { margin: 0 !important; }
.ct-form-box .cf7-upload .wpcf7-form-control-wrap { display: block; margin-bottom: 8px; }
.ct-form-box .cf7-upload .cf7-upload-title { display: block !important; margin-bottom: 8px !important; }

/* 同意チェックボックス(126: wpcf7-acceptance / 969: cf7-check) */
.ct-form-box .wpcf7-form .wpcf7-acceptance,
.ct-form-box .cf7-check { font-size: 11px !important; color: #666 !important; }
.ct-form-box .wpcf7-form .wpcf7-acceptance a,
.ct-form-box .cf7-check a { color: #184e86 !important; }

/* 送信ボタン */
.ct-form-box .wpcf7-form input[type="submit"] { width: 100% !important; background: #184e86 !important; color: #fff !important; border: none !important; border-radius: 6px !important; padding: 13px 0 !important; font-size: 14px !important; font-weight: 500 !important; cursor: pointer !important; }
.ct-form-box .wpcf7-form input[type="submit"]:hover { background: #0d3259 !important; }

/* エラー・送信結果 */
.ct-form-box .wpcf7-not-valid-tip { font-size: 11px !important; color: #e24b4a !important; margin-top: 4px !important; }
.ct-form-box .wpcf7-response-output { font-size: 12px !important; margin-top: 16px !important; padding: 10px 14px !important; border-radius: 4px !important; }