/* ==================================================
   CONTACTページ専用スタイル
   ================================================== */
#contact-section {
    padding-top: 3rem;
    padding-bottom: 3rem;
    opacity: 0;
    transition: opacity 1s;
}
#contact-section.active { opacity: 1; }
#contact-section h2.page-title {
    font-size: 1.5rem;
    color: #fff;
    font-weight: 600;
    letter-spacing: 0.11em;
    border-bottom: 1.4px solid #444;
    margin-bottom: 3rem;
    padding-bottom: 0.8em;
    text-align: center;
}

/* フォーム全体 */
.contact-form {
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 1.2px solid #333740;
}
.contact-form .form-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border-bottom: 1.2px solid #333740;
  padding: 1.4rem 0 1.08rem 0;
  gap: 0.7em;
}
.contact-form label {
  color: #cceaff;
  font-size: .98em;
  font-weight: 500;
  margin-bottom: 0.12em;
}

/* 入力欄 */
.contact-form input,
.contact-form textarea {
  width: 100%;
  box-sizing: border-box;
  font-size: 1em;
  border: none;
  outline: none;
  background: #232b39;
  color: #f8f9fa;
  border-radius: 0.36em;
  padding: .73em 1.1em;
  box-shadow: none;
  transition: background .17s, color .13s;
  font-family:"Shippori Mincho", serif;
  resize: vertical;
}
.contact-form input:focus,
.contact-form textarea:focus {
  background: #273956;
  color: #fff;
}
span.wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

/* 送信ボタン */
.contact-form input[type="submit"] {
  margin-top: 1.7em;
  float: right;
  width: auto;
  background: linear-gradient(110deg, #67bfff 50%, #a1eafd 120%);
  border: none;
  border-radius: .39em;
  color: #253b50;
  font-size: 1.09em;
  font-weight: 700;
  letter-spacing: .09em;
  padding: 0.74em 2.2em;
  cursor: pointer;
  box-shadow: none;
  transition: filter .16s, background .19s;
}
.contact-form input[type="submit"]:hover {
  filter: brightness(0.92);
  background: linear-gradient(110deg, #79cfff 5%, #b0eaff 84%);
}

/* 送信後のメッセージ */
div.wpcf7-response-output {
    margin: 1.7em 0 0 0 !important;
    padding: 1em 1.3em !important;
    border: none !important;
    background: rgba(36, 90, 120, 0.13) !important;
    color: #a8fcff !important;
    text-align: center;
    border-radius: .4em;
}
/* 送信失敗時のメッセージ */
div.wpcf7-validation-errors {
    background: rgba(120, 36, 36, 0.2) !important;
    color: #ffd0d0 !important;
}

@media (max-width:600px) {
  #contact-section { max-width: 98vw; margin: 0 auto; }
  .contact-form .form-row { padding: 0.82em 0 0.39em 0; }
}