/* 013_問い合わせフォーム */
.contact-lead {
  max-width: 1200px;
  margin: 56px auto 0;
  font-size: 15px;
  line-height: 2.1;
  color: var(--navy);
}

.form-box {
  max-width: 1200px;
  margin: 56px auto 0;
  background: var(--cream);
  padding: 76px 190px 42px 185px;
}
.form-table { margin-top: 0; }
.form-table--mock th,
.form-table--mock td {
  border: none;
  background: transparent;
  padding: 0;
}
.form-table--mock tr { page-break-inside: avoid; }
.form-table--mock th {
  width: 250px;
  font-weight: 700;
  font-size: 16px;
  color: var(--navy);
}
.form-table--mock td {
  padding-bottom: 32px;
}
.form-table--mock .req {
  display: block;
  width: fit-content;
  margin: 0 0 8px auto;
  background: var(--teal);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  border-radius: 3px;
  padding: 3px 14px;
}
.form-table--mock td.no-req { padding-top: 27px; }
.form-table--mock input[type="text"],
.form-table--mock input[type="email"],
.form-table--mock input[type="tel"],
.form-table--mock textarea,
.form-table--mock select {
  width: 100%;
  font-family: var(--sans);
  font-size: 15px;
  color: var(--navy);
  padding: 11px 14px;
  border: 1px solid #e3e3e0;
  border-radius: 3px;
  background: #fff;
}
.form-table--mock ::placeholder { color: #9a9a9a; }
.form-table--mock textarea { height: 190px; }

.contact-notes {
  max-width: 1200px;
  margin: 58px auto 0;
  font-size: 15px;
  line-height: 2.4;
  color: var(--navy);
}
.contact-notes a { color: var(--teal); }

.agree-check {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-top: 44px;
  font-size: 15px;
  color: var(--navy);
}
.agree-check input {
  width: 16px;
  height: 16px;
  accent-color: var(--teal);
}

.form-submit { margin-top: 40px; }
.form-submit .btn-pill {
  font-size: 16px;
  font-weight: 700;
  padding: 12px 88px;
  letter-spacing: 0.2em;
}

/* 中間幅: 左右 190px padding と auto layout table で入力欄が潰れる */
@media (min-width: 769px) and (max-width: 1199px) {
  .form-box { padding: 56px 60px 42px; }
  .form-table--mock { width: 100%; }
}

@media (max-width: 768px) {
  .contact-lead { margin-top: 36px; font-size: 14px; }
  .form-box { margin-top: 36px; padding: 34px 20px 10px; }
  .form-table--mock th { width: auto; font-size: 15px; display: block; padding: 0 0 10px; border: none; }
  .form-table--mock td { display: block; padding: 0 0 26px; border: none; }
  .form-table--mock tr { border: none; }
  .form-table--mock .req { margin: 0 0 8px auto; }
  .form-table--mock td.no-req { padding-top: 0; }
  .contact-notes { margin-top: 36px; font-size: 14px; line-height: 2.1; }
  .agree-check { font-size: 14px; margin-top: 30px; }
  .form-submit .btn-pill { width: auto; padding: 14px 70px; }
}
