.c-form__bd {
  margin-block-start: clamp(2.125rem, 1.88rem + 1.25vw, 3.125rem);
}
.c-form__row {
  display: block;
  gap: clamp(1.625rem, 1.28rem + 1.72vw, 3rem);
  align-items: center;
  border-block-end: 1px solid var(--cl-gray);
  margin-block-end: 1.25rem;
}
@media screen and (min-width: 769px) {
  .c-form__row {
    display: grid;
    grid-template-columns: 1fr 65%;
  }
}
.c-form__row.--rowSt {
  align-items: start;
}
.c-form__th {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.5rem;
}
.c-form__td {
  margin-block-start: 1em;
}
@media screen and (min-width: 769px) {
  .c-form__td {
    margin-block-start: 0;
  }
}
.c-form__lbl {
  font-size: var(--fs-16);
  line-height: 1.625;
  font-weight: 500;
}
.c-form__privacy {
  margin-block-start: clamp(1.625rem, 1.41rem + 1.09vw, 2.5rem);
}
.c-form__privacy > p {
  font-size: var(--fs-16);
  letter-spacing: 0.08em;
  line-height: 1.5;
  margin-block: 0;
}
.c-form__btn {
  margin-block-start: clamp(1.625rem, 1.41rem + 1.09vw, 2.5rem);
  width: fit-content;
  margin-inline: auto;
}
.c-form__btn > button,
.c-form__btn > a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
  width: min(17.8125rem, calc(180 / 375 * 100vw));
  background: var(--cl-white);
  font-size: var(--fs-15);
  letter-spacing: 0.1em;
  color: var(--cl-white);
  text-decoration: none;
  font-weight: 700;
  padding-inline: 1.4666666667em 1.2em;
  padding-block: 1.25em;
  background: var(--cl-color01);
  cursor: pointer;
  transition: opacity 0.3s;
}
.c-form__btn > button:hover,
.c-form__btn > a:hover {
  opacity: 0.8;
}
.c-form__btn > button,
.c-form__btn > a {
  border: none;
}

.c-req,
.c-opt {
  display: inline-block;
  font-size: var(--fs-12);
  line-height: 1.6666666667;
  letter-spacing: 0.07em;
  background: #e61919;
  color: white;
  border-radius: 999px;
  font-weight: 500;
  padding-inline: 0.5em;
}

.c-opt {
  background: #dbdbdb;
  color: #6a6a6a;
}

.c-inp,
.c-textarea {
  width: 100%;
  font-size: var(--fs-16);
  line-height: 1.625;
  letter-spacing: 0.03em;
  background: white;
  padding-block: 0.5625em;
  padding-inline: 0.875em;
  border: 1px solid #e6e6e6;
}
.c-inp::placeholder,
.c-textarea::placeholder {
  color: #6a6a6a;
}

.c-textarea {
  max-width: 100%;
  height: min(11.1875rem, calc(160 / 375 * 100vw));
}

.p-contact {
  padding-block-start: clamp(2.875rem, 2.5rem + 1.88vw, 4.375rem);
  position: relative;
}
.p-contactBox {
  margin-block-start: clamp(2.125rem, 1.88rem + 1.25vw, 3.125rem);
  background: var(--cl-white);
  filter: drop-shadow(0px 25px 39px rgba(0, 0, 0, 0.16));
  padding-block-start: clamp(2.25rem, 1.97rem + 1.41vw, 3.375rem);
  padding-block-end: clamp(2.375rem, 2.06rem + 1.56vw, 3.625rem);
  position: relative;
}
@media screen and (min-width: 769px) {
  .p-contactBox {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 0;
  }
}

.p-contactBox__card {
  width: 100%;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.p-contactBox__card.--line {
  padding-inline: 3%;
  gap: 1em;
}
.p-contactBox__lead {
  display: block;
  font-size: var(--fs-18);
  letter-spacing: 0.05em;
  line-height: 1.1111111111;
  font-weight: 700;
  background: #dbebff;
  margin-block: 0;
  text-align: center;
  width: fit-content;
  padding-block: 0.25em;
  padding-inline: 1em;
  margin-inline: auto;
}
.p-contactBox__text {
  font-size: var(--fs-28);
  letter-spacing: 0.05em;
  line-height: 0.7857142857;
  color: var(--cl-color02);
  font-weight: 900;
  margin-block: 0.375rem 0;
  text-align: center;
  width: fit-content;
  margin-inline: auto;
}
.p-contactBox__tel {
  font-size: var(--fs-54);
  letter-spacing: 0.05em;
  line-height: 1.2037037037;
  color: var(--cl-color02);
  text-decoration: none;
  font-weight: 700;
  font-family: Helvetica, Arial, sans-serif;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  gap: 2px;
  margin-block: 0;
}
.p-contactBox__lineTtl {
  font-size: var(--fs-26);
  letter-spacing: 0.05em;
  line-height: 1.4230769231;
  font-weight: 700;
  margin-block: 0;
  text-align: center;
}
.p-contactBox__line {
  font-size: var(--fs-18);
  letter-spacing: 0.05em;
  line-height: 1.0555555556;
  background: #03c755;
  color: var(--cl-white);
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  gap: 6px;
  padding-block: 1.1388888889em;
  width: min(25rem, 100%);
  margin-inline: auto;
}

.p-contactForm {
  margin-block-start: clamp(2.125rem, 1.84rem + 1.41vw, 3.25rem);
  padding-block: clamp(2.875rem, 2.5rem + 1.88vw, 4.375rem);
  margin-block-end: clamp(4.125rem, 3.28rem + 4.22vw, 7.5rem);
  background: var(--cl-white);
  filter: drop-shadow(0px 25px 39px rgba(0, 0, 0, 0.16));
}
.p-contactForm__inner {
  width: min(56.25rem, 94%);
  margin-inline: auto;
}
.p-contactForm__head > h2 {
  font-size: var(--fs-36);
  line-height: 1.4444444444;
  letter-spacing: 0.08em;
  font-weight: 700;
  text-align: center;
  margin-block: 0;
}
.p-contactForm__head > p {
  font-size: var(--fs-15);
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: var(--cl-color01);
  background: #dbeaff;
  border-radius: 99999px;
  width: fit-content;
  margin-inline: auto;
  text-align: center;
  font-weight: 700;
  margin-block: 0.5333333333em 0;
  padding-block: 0.4666666667em;
  padding-inline: 3.4666666667em;
}
.p-contactForm__note {
  background: #fafafa;
  margin-block-start: clamp(2.125rem, 1.84rem + 1.41vw, 3.25rem);
  padding-block-start: clamp(1.5rem, 1.41rem + 0.47vw, 1.875rem);
  padding-inline: clamp(1rem, 0.81rem + 0.94vw, 1.75rem);
  padding-block-end: clamp(1.5rem, 1.34rem + 0.78vw, 2.125rem);
}
.p-contactForm__note > p {
  font-size: var(--fs-16);
  letter-spacing: 0.08em;
  line-height: 1.5;
  margin-block: 0;
  text-align: center;
}
.p-contactForm__note p + p {
  margin-block-start: 1.125em;
  text-align: left;
}
