/* ===============================
 Contact セクション（CF7対応）
=============================== */
.contact-section {
 background-color: #000;
 color: #fff;
 padding: 150px 0 100px;
 text-align: center;
}

.contact-section .wrap-l {
 max-width: 800px;
 margin: 0 auto;
}

.contact-title {
 text-align: center;
 font-family: "Montserrat Alternates", sans-serif;
 font-weight: 700;
 font-size: 2.6rem;
 color: #d27a00;
 margin-bottom: 20px;
}

.contact-lead {
 text-align: center;
 font-family: "Noto Sans JP", sans-serif;
 font-size: 1rem;
 color: #ccc;
 line-height: 1.8;
 margin-bottom: 50px;
}

/* -------------------------------
 フォーム全体
-------------------------------- */
.contact-form {
 display: flex;
 flex-direction: column;
 gap: 25px;
 border-top: 1px solid #333;
 border-bottom: 1px solid #333;
 padding: 50px 0;
}

/* Contact Form 7 の基本構造 */
.wpcf7 form {
 width: 100%;
}

.wpcf7-form .contact-form {
 display: flex;
 flex-direction: column;
 gap: 25px;
}

/* 各項目 */
.form-item {
 display: flex;
 align-items: center;
 gap: 20px;
 flex-direction: row;
}

.form-item label {
 width: 30%;
 text-align: left;
 font-family: "Noto Sans JP", sans-serif;
 font-size: 1rem;
 color: #fff;
}

/* 入力欄 */
.form-item input[type="text"],
.form-item input[type="email"],
.form-item input[type="tel"],
.form-item input[type="url"],
.form-item textarea {
 width: 100%;
 padding: 10px;
 border: none;
 border-radius: 5px;
 background-color: #555;
 color: #fff;
 font-family: "Noto Sans JP", sans-serif;
 font-size: 1rem;
 box-sizing: border-box;
 transition: background-color 0.3s ease, outline 0.3s ease;
}

.form-item input:focus,
.form-item textarea:focus {
 outline: 2px solid #d27a00;
 background-color: #666;
}

/* -------------------------------
 送信ボタン
-------------------------------- */
.form-submit {
 display: flex;
 text-align: center;
 margin-top: 40px;
 flex-direction: column;
 align-items: center;
}

.form-submit input[type="submit"],
.form-submit button,
.wpcf7-submit {
 background-color: #d27a00;
 color: #000;
 font-family: "Noto Sans JP", sans-serif;
 font-weight: bold;
 font-size: 1.1rem;
 padding: 12px 80px;
 border: none;
 border-radius: 8px;
 cursor: pointer;
 transition: background-color 0.3s ease;
}

.form-submit input[type="submit"]:hover,
.wpcf7-submit:hover {
 background-color: #f7a800;
}

/* -------------------------------
 エラー・完了メッセージ
-------------------------------- */
.wpcf7-response-output {
 margin-top: 30px;
 font-family: "Noto Sans JP", sans-serif;
 font-size: 0.9rem;
 text-align: center;
 padding: 10px;
 border-radius: 6px;
}

.wpcf7 form.invalid .wpcf7-response-output {
 background: rgba(200, 0, 0, 0.2);
 color: #ffb3b3;
 border: 1px solid #ff6666;
}

.wpcf7 form.sent .wpcf7-response-output {
 background: rgba(0, 150, 0, 0.2);
 color: #a3ffb0;
 border: 1px solid #4cff6e;
}

.wpcf7-not-valid-tip {
 color: #ff9999;
 font-size: 0.85rem;
 margin-top: 4px;
 display: block;
}

/* -------------------------------
 プレースホルダー調整
-------------------------------- */
.form-item input::placeholder,
.form-item textarea::placeholder {
 color: #bbb;
 font-size: 0.95rem;
}

/* -------------------------------
 スマホ対応
-------------------------------- */
@media screen and (max-width: 767px) {
 .contact-section {
  padding: 100px 0px;
 }

 .contact-title {
  font-size: 2rem;
 }

 .contact-lead {
  font-size: 0.95rem;
  margin-bottom: 40px;
 }

 .form-item {
  flex-direction: column;
  align-items: flex-start;
 }

 .form-item label {
  width: 100%;
  margin-bottom: 5px;
 }

 .form-item input[type="text"],
 .form-item input[type="email"],
 .form-item input[type="tel"],
 .form-item input[type="url"],
 .form-item textarea {
  width: 100%;
 }

 .form-submit input[type="submit"],
 .wpcf7-submit {
  padding: 12px 50px;
  font-size: 0.95rem;
 }
}
