/* =========================
   ベース
========================= */

body {
  background: #D8DAD2;
  font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont,
    "Hiragino Sans", "Yu Gothic", sans-serif;
  color: #28332e;
  font-size: 14px;          /* pタグは14px */
  line-height: 1.9;
}

.contact p,
.contact input,
.contact textarea,
.contact button {
  font-size: 14px;
  font-family: "A-OTF Shuei Mincho Pro", "Hiragino Mincho ProN",
    "Yu Mincho", "游明朝", serif;
  color:#1F1B13;
}

/* タイトル系フォント（h2など） */
.contact h2,
.contact .contact-title__main,
.contact-links__eyebrow {
  font-family: "A-OTF Shuei Mincho Pro", "Hiragino Mincho ProN",
    "Yu Mincho", "游明朝", serif;
}

/* =========================
   CONTACT タイトル
========================= */

.contact-title {
  text-align: center;
  padding: 80px 0 40px;
}

.contact-title__main {
  font-size: 42px;                  /* 指定どおり 42px */
  letter-spacing: 0.16em;
  margin-bottom: 12px;
}

.contact-title__lead {
  font-size: 14px;
}

/* =========================
   フォーム
========================= */

.contact-section {
  margin: 0 10vw 120px;
}

.contact-section__inner {
  max-width: 900px;
  margin: 0 auto;
}

.contact-form__row {
  margin-bottom: 32px;
}

.contact-form__label {
  display: block;
  font-size: 16px;
  margin-bottom: 10px;
  font-family: "A-OTF Shuei Mincho Pro", "Hiragino Mincho ProN",
    "Yu Mincho", "游明朝", serif;
  color:#1F1B13;
}

.required {
  color: #c70000;
  font-size: 12px;
  margin-left: 4px;
}

/* 下線タイプの入力フィールド */
.contact-form__field input,
.contact-form__field textarea {
  width: 100%;
  border: none;
  border-bottom: 1px solid rgba(40, 51, 46, 0.35);
  background: transparent;
  padding: 12px 10px;
  outline: none;
  font-family: inherit;
  resize: vertical;
}

.contact-form__row--textarea textarea {
  min-height: 200px;
}

/* 個人情報保護方針テキスト */
.contact-form__notice {
  text-align: center;
  margin: 40px 0 32px;
  font-size: 12px;
}

.contact-form__notice a {
  text-decoration: underline;
}

/* 送信ボタン */
.contact-form__submit {
  text-align: center;
}

.btn-submit {
  min-width: 200px;
  padding: 12px 150px;
  border: 1px solid #28332e;
  background: transparent;
  cursor: pointer;
  letter-spacing: 0.16em;
  text-align: center;
  margin-top: 50px;
  border-radius: 4px;
}

.btn-submit:hover {
  background: #28332e;
  color: #fff;
}


/* =========================
   SP調整（768px以下）
========================= */
@media (max-width: 768px) {


  /* CONTACT タイトル */
  .contact-title {
    padding: 48px 0 28px;
    text-align: center;
  }

  .contact-title__main {
    font-size: 28px;
    letter-spacing: 0.1em;
    margin-bottom: 10px;
  }

  .contact-title__lead {
    font-size: 14px;
    letter-spacing: 0;
  }

  /* フォーム全体の余白 */
  .contact-section {
    margin: 0 6vw 72px;
  }

  .contact-section__inner {
    margin: 0;
  }

  .contact-form__row {
    margin-bottom: 24px;
  }

  .contact-form__label {
    font-size: 16px;
    margin-bottom: 15px;
  }

  .contact-form__field input,
  .contact-form__field textarea {
    padding: 10px 6px;
  }

  .contact-form__row--textarea textarea {
    min-height: 160px;
  }

  /* 個人情報保護方針の注意書き */
  .contact-form__notice {
    margin: 32px 0 24px;
    font-size: 13px !important;
  }

  /* 送信ボタン：横幅いっぱい＆中央配置 */
  .contact-form__submit {
    text-align: center;
  }

  .btn-submit {
    width: 100%;
    max-width: 320px;
    min-width: 0;
    padding: 12px 0;
    box-sizing: border-box;
    margin-top: 24px;
  }

  /* 下の CONTACT バナー＆FIRST ORDER / ORDER FLOW まわり */
  .contact-links__inner {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .contact-links__item {
    height: 260px;
  }
}
