.contact-section {
  padding: 48px 48px 48px 64px;
  margin-bottom: 40px;
  background-color: var(--white);
  border-radius: 10px;
}

.contact-tel, .contact-mail {
  text-align: center;
}

.contact-tel img, .contact-mail img {
  margin-bottom: 20px;
}

.contact-tel__title, .contact-mail__title {
  color: var(--text-color);
  font-family: var(--font-zen-kaku-new-type);
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  margin-bottom: 48px;
}

.contact-tel__list {
  display: flex;
  justify-content: center;
}

.contact-tel__item {
  width: 544px;
  background-color: var(--global-bg-color);
  padding: 32px 0;
  margin-right: 32px;
  border-radius: 8px;
  text-align: center;
}

.contact-tel__item:last-child {
  margin-right: 0;
}

.contact-tel__item_name {
  color: var(--text-color);
  font-family: var(--font-zen-kaku-new-type);
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  margin-bottom: 24px;
}

.contact-tel__item_telNum {
  display: inline-block;
  font-size: 48px;
  color: var(--blue);
  font-family: var(--font-rubik);
  font-style: normal;
  font-weight: 500;
  line-height: 100%;
  margin-bottom: 16px;
  text-decoration: none;
}

.contact-tel__item_time {
  color: var(--text-color);
  font-family: var(--font-zen-kaku-new-type);
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
}

.contact-mail__content {
  color: var(--text-color);
  font-family: var(--font-zen-kaku-new-type);
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 180%;
}

.contact-mail__form {
  text-align: left;
  width: 600px;
  margin: 64px auto 96px auto;
}

.k-contact__form_flex {
  display: flex;

}

.k-contact__form_flex-item {
  margin-right: 16px;
}

.contact-form__control {
  font-family: var(--font-zen-kaku-new-type);
  margin-bottom: 24px;
}

.contact-form__control .require, .contact-form__control .any {
  padding: 4px;
  margin-left: 8px;
  border-radius: 2px;
  font-family: var(--font-zen-kaku-new-type);
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 100%;
}

.k-contact__form_label {
  display: inline-block;
  margin-bottom: 12px;
}

.contact-form__control .require {
  background-color: var(--red);
  color: var(--white);
}

.contact-form__control .any {
  border: 1px solid #DDD;
  color: var(--text-color);
}

.contact-form__control.agree-check {
  text-align: center;
  margin-top: 48px;
  margin-bottom: 32px;
}

.contact-form__control.agree-check input,
.contact-form__control.contact-check input {
  -webkit-appearance: auto!important; /* 1 */
  appearance: auto!important;
}

.contact-form__control.agree-check .wpcf7-form-control,
.contact-form__control.contact-check .wpcf7-form-control {
  border: none;
}

.contact-form__control.contact-check .wpcf7-list-item {
  display: block;
  margin: 0;
}

.contact-form__submit {
  text-align: center;
}

.contact-form__submit .wpcf7-form-control {
  border: none;
  width: 320px;
  background-color: var(--blue);
  color: var(--white);
  padding: 19px 40px;
  border-radius: 90px;
  text-align: center;
}

.wpcf7-form-control {
  width: 100%;
  padding: 15px 12px;
  color: var(--text-color);
  font-family: var(--font-zen-kaku-new-type);
  font-size: 16px;
  font-weight: 500;
  border-radius: 4px;
  border: 1px solid #D3CBB8;
}

.wpcf7-list-item-label {
  text-align: center;
  color: var(--text-color);
  font-family: var(--font-zen-kaku-new-type);
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 160%; /* 25.6px */
  letter-spacing: 0.32px;
}

.wpcf7-spinner {
  display: none!important;
}

.contact-form__note {
  color: #666;
  font-family: var(--font-zen-kaku-new-type);
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 100%;
  margin-bottom: 12px;
}

.contact-form__bottom_content {
  max-width: 1200px;
  margin: 0 auto;
  text-align: left;
  color: var(--text-color);
  font-family: var(--font-zen-kaku-new-type);
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 180%; /* 25.2px */
  letter-spacing: 0.28px;
}

/* thanks */
.k-contactThanks__section {
  text-align: center;
}

.k-contactThanks__message {
  color: var(--base-color);
  font-family: var(--font-zen-kaku-new-type);
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 160%;
  letter-spacing: 0.4px;
  margin-top: 24px;
  margin-bottom: 48px;
}

@media screen and (max-width: 767px) {
  .contact-section {
    padding: 32px 20px;
    margin-bottom: 24px;
  }

  .contact-tel__list {
    display: block;
    max-width: 311px;
    margin: 0 auto;
  }

  .contact-tel__img, contact-mail__img {
    width: 32px;
    height: 32px;
  }

  .contact-tel__title, .contact-mail__title {
    font-size: 24px;
  }

  .contact-tel__item {
    width: 311px;
    margin-bottom: 12px;
    margin-right: 0;
  }

  .contact-tel__item_name {
    font-size: 18px;
  }

  .contact-tel__item_telNum {
    font-size: 32px;
  }

  .contact-form__bottom_content, .contact-tel__item_time {
    font-size: 14px;
  }

  .contact-mail__content {
    font-size: 14px;
    text-align: left;
  }

  .contact-mail__form {
    width: 311px;
  }

  .k-contact__form_flex {
    display: block;
  }

  .k-contact__form_flex-item {
    margin-right: 0;
    margin-bottom: 12px;
  }

  .contact-form__submit .wpcf7-form-control {
    width: 240px;
  }

  .wpcf7-list-item {
    margin-left: 0!important;
  }

  .contact-form__control.agree-check {
    text-align: left;
    margin-top: 20px;
    margin-bottom: 32px;
  }

  .contact-form__control.agree-check .wpcf7-list-item-label {
    font-size: 14px;
  }

  /* thanks */
  .k-contactThanks__message {
    font-size: 18px;
    margin-top: 20px;
    margin-bottom: 32px;
  }
}