/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Nov 13 2025 | 15:52:31 */
/** Contact Form7 Stylish Redesign - CF7_table 対応 **/
.CF7_table p {
    margin-block-end: 0rem;
    margin-block-start: 0;
}
.CF7_table {
  margin: 40px auto;
  background: #ffffff;
  box-shadow: none;
  border-radius: 0px;
  padding: 0px;
}

.CF7_table th {
  width: 30%;
  background: none;
  color: #004b8d;
  font-weight: 600;
  border: none;
  vertical-align: middle;
  letter-spacing: 0.03em;
	
  text-align:left;
}

.CF7_table td {
  border: none;
}

/* 入力欄 */
input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea {
  width: 100%;
  padding: 12px 15px;
  border: 1px solid #d0d8e0;
  border-radius: 8px;
  background-color: #f8fafc;
  transition: all 0.25s ease;
}

input.wpcf7-form-control.wpcf7-text:focus,
textarea.wpcf7-form-control.wpcf7-textarea:focus {
  outline: none;
  border-color: #6cb3ff;
  box-shadow: 0 0 8px rgba(108,179,255,0.3);
  background-color: #fff;
}

textarea.wpcf7-form-control.wpcf7-textarea {
  height: 180px;
}

/* 🔸必須ラベル */
.CF7_req {
  display: inline-block;
  font-size: 0.75em;
  padding: 4px 10px;
  background: linear-gradient(135deg, #ff6b6b 0%, #ff9248 100%);
  color: #fff;
  font-weight: 600;
  border-radius: 999px;
  letter-spacing: 0.05em;
  margin-right: 8px;
  box-shadow: 0 2px 4px rgba(255,107,107,0.3);
}

/* 🔹任意ラベル */
.CF7_unreq {
  display: inline-block;
  font-size: 0.75em;
  padding: 4px 10px;
  background: linear-gradient(135deg, #8ab6f9 0%, #5a9fff 100%);
  color: #fff;
  font-weight: 600;
  border-radius: 999px;
  letter-spacing: 0.05em;
  margin-right: 8px;
  box-shadow: 0 2px 4px rgba(138,182,249,0.3);
}

/* ボタン */
.CF7_btn input.wpcf7-submit {
  display: block;
  width: 280px;
  margin: 40px auto 0;
  padding: 15px 0;
  background: linear-gradient(135deg, #007bff 0%, #005bab 100%);
  color: #fff;
  border: none;
  border-radius: 50px;
  transition: all 0.3s ease;
  letter-spacing: 0.05em;
}

.CF7_btn input.wpcf7-submit:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0,91,171,0.25);
  opacity: 0.9;
}

/* エラーメッセージ */
span.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
  color: #d00;
  font-weight: 600;
  background: #ffeaea;
  border-left: 4px solid #ff6b6b;
  padding: 8px 10px;
  border-radius: 4px;
  margin-top: 10px;
}

/* ✅ スマホ対応（1列表示） */
@media screen and (max-width: 767px) {
  .CF7_table {
    width: 95%;
    padding: 25px 15px;
  }

  .CF7_table table,
  .CF7_table tbody,
  .CF7_table tr,
  .CF7_table th,
  .CF7_table td {
    display: block;
    width: 100%;
  }

  .CF7_table th {
    text-align: left;
    padding-bottom: 5px;
  }

  .CF7_table td {
    padding-bottom: 20px;
  }

  .CF7_btn input.wpcf7-submit {
    width: 200px;
  }
}
