/*===========================================================================*/
/*  function  */
/*===========================================================================*/
/*===========================================================================*/
/*  mixin  */
/*===========================================================================*/
.mv {
  background-color: #e0f2fe;
}
.mv__inner {
  max-width: clamp(770px, 273.6227045075px + 55.0918196995vw, 1100px);
  margin: 0 auto;
  padding-top: clamp(28.7px, 10.1986644407px + 2.0534223706vw, 41px);
  padding-bottom: clamp(12.6px, 4.4774624374px + 0.9015025042vw, 18px);
}
@media (max-width: 900px) {
  .mv__inner {
    max-width: 375px;
    padding: 21px 20px 12px;
  }
}
.mv__title-row {
  position: relative;
  display: flex;
  align-items: center;
  gap: 4px;
  margin-left: clamp(8.4px, 2.9849749583px + 0.6010016694vw, 12px);
}
@media (max-width: 900px) {
  .mv__title-row {
    display: block;
    margin-left: 0;
  }
}
.mv__title {
  font-size: clamp(28px, 9.9499165275px + 2.0033388982vw, 40px);
  font-weight: 900;
  color: #333;
  line-height: 1.4;
  white-space: nowrap;
  display: inline-block;
}
@media (max-width: 900px) {
  .mv__title {
    font-size: 23px;
    white-space: normal;
    display: block;
  }
}
.mv__title-highlight {
  display: inline-block;
  background-color: #333;
  color: #fff;
  padding-left: clamp(9.8px, 3.4824707846px + 0.7011686144vw, 14px);
  padding-right: clamp(9.8px, 3.4824707846px + 0.7011686144vw, 14px);
  margin-left: clamp(9.8px, 3.4824707846px + 0.7011686144vw, 14px);
  margin-right: clamp(9.8px, 3.4824707846px + 0.7011686144vw, 14px);
}
@media (max-width: 900px) {
  .mv__title-highlight {
    font-size: 25px;
    padding: 0 4px;
    margin: 0 4px;
  }
}
@media (max-width: 900px) {
  .mv__title-sub {
    display: block;
    text-align: left;
    font-size: 25px;
  }
}
.mv__car {
  width: clamp(98.7px, 35.0734557596px + 7.061769616vw, 141px);
  height: auto;
}
@media (max-width: 900px) {
  .mv__car {
    position: absolute;
    right: 0;
    top: 20px;
    width: 70px;
  }
}
.mv__body {
  display: flex;
  align-items: flex-start;
  gap: clamp(17.5px, 6.2186978297px + 1.2520868114vw, 25px);
  margin-top: clamp(15.4px, 5.4724540902px + 1.101836394vw, 22px);
}
@media (max-width: 900px) {
  .mv__body {
    flex-direction: column;
    margin-top: 11px;
    gap: 0;
  }
}
.mv__heading {
  font-size: clamp(42px, 14.9248747913px + 3.0050083472vw, 60px);
  font-weight: 900;
  color: #208ef4;
  line-height: 1.35;
}
@media (max-width: 900px) {
  .mv__heading {
    font-size: 27px;
    line-height: 1.6;
    text-align: left;
  }
}
.mv__heading-line {
  display: block;
}
.mv__heading-line + .mv__heading-line {
  margin-top: clamp(14px, 4.9749582638px + 1.0016694491vw, 20px);
}
@media (max-width: 900px) {
  .mv__heading-line + .mv__heading-line {
    margin-top: 0;
  }
}
.mv__heading-bg {
  display: inline;
  background-color: #fff;
  padding: 0 5px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.mv__heading-accent {
  color: #ec5c34;
}
.mv__desc {
  font-size: clamp(15.4px, 5.4724540902px + 1.101836394vw, 22px);
  font-weight: 700;
  color: #333;
  line-height: 1.5;
  margin-top: clamp(20.3px, 7.2136894825px + 1.4524207012vw, 29px);
  white-space: nowrap;
}
@media (max-width: 900px) {
  .mv__desc {
    font-size: 14px;
    line-height: 1.4;
    margin-top: 8px;
    white-space: normal;
    text-align: center;
  }
}
.mv__desc2 {
  font-size: clamp(15.4px, 5.4724540902px + 1.101836394vw, 22px);
  font-weight: 700;
  color: #333;
  line-height: 1.5;
  margin-top: 4px;
  white-space: nowrap;
}
@media (max-width: 900px) {
  .mv__desc2 {
    font-size: 14px;
    line-height: 1.36;
    margin-top: 9px;
    white-space: normal;
    text-align: center;
  }
}
.mv__emphasis {
  font-size: clamp(19.6px, 6.9649415693px + 1.4023372287vw, 28px);
  color: #ec5c34;
  line-height: 1.38;
}
@media (max-width: 900px) {
  .mv__emphasis {
    font-size: 18px;
    line-height: 1.36;
  }
}
.mv__graph {
  width: clamp(233.8px, 83.081803005px + 16.7278797997vw, 334px);
}
@media (max-width: 900px) {
  .mv__graph {
    width: 247px;
    margin: 20px auto 0;
  }
}
.mv__badges {
  display: flex;
  gap: clamp(27.3px, 9.7011686144px + 1.9532554257vw, 39px);
  margin-top: clamp(28.7px, 10.1986644407px + 2.0534223706vw, 41px);
  list-style: none;
  padding: 0;
}
@media (max-width: 900px) {
  .mv__badges {
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px 10px;
    margin-top: 25px;
  }
}
.mv__badge {
  display: flex;
  align-items: center;
  background-color: #fff6a6;
  border-radius: 100px;
  height: clamp(45.5px, 16.1686143573px + 3.2554257095vw, 65px);
  padding-left: clamp(9.8px, 3.4824707846px + 0.7011686144vw, 14px);
  padding-right: clamp(22.4px, 7.959933222px + 1.6026711185vw, 32px);
}
@media (max-width: 900px) {
  .mv__badge {
    height: 34px;
    padding: 0 15px 0 7px;
  }
}
.mv__badge-icon {
  width: clamp(30.8px, 10.9449081803px + 2.203672788vw, 44px);
  height: clamp(30.8px, 10.9449081803px + 2.203672788vw, 44px);
  flex-shrink: 0;
  margin-right: clamp(16.8px, 5.9699499165px + 1.2020033389vw, 24px);
}
@media (max-width: 900px) {
  .mv__badge-icon {
    width: 23px;
    height: 23px;
    margin-right: 10px;
  }
}
.mv__badge-text {
  font-size: clamp(19.6px, 6.9649415693px + 1.4023372287vw, 28px);
  font-weight: 700;
  color: #ec5c34;
  letter-spacing: 2.8px;
  white-space: nowrap;
}
@media (max-width: 900px) {
  .mv__badge-text {
    font-size: 16px;
    letter-spacing: 2.08px;
  }
}
.mv__note {
  font-size: clamp(9.1px, 3.2337228715px + 0.6510851419vw, 13px);
  font-weight: 700;
  color: #8c8c8c;
  line-height: 1.5;
  margin-top: clamp(9.8px, 3.4824707846px + 0.7011686144vw, 14px);
  text-align: center;
}
@media (max-width: 900px) {
  .mv__note {
    font-size: 8px;
    margin-top: 13px;
  }
}

/*===========================================================================*/
/*  form-section  */
/*===========================================================================*/
.form-section {
  padding-block: 71px;
}
@media (max-width: 900px) {
  .form-section {
    padding-block: 52px;
  }
}
.form-section__inner {
  max-width: clamp(602px, 213.9232053422px + 43.0717863105vw, 860px);
  margin: 0 auto;
}
@media (max-width: 900px) {
  .form-section__inner {
    max-width: 500px;
  }
}
.form-section__sub {
  color: #fff;
  text-align: center;
  font-size: clamp(17.5px, 6.2186978297px + 1.2520868114vw, 25px);
  max-width: clamp(176.4px, 62.6844741235px + 12.6210350584vw, 252px);
  padding-top: 2px;
  padding-bottom: 5px;
  font-weight: 500;
  line-height: 1.4;
  border-radius: 100px;
  background: #208ef4;
  margin: 0 auto;
}
@media (max-width: 900px) {
  .form-section__sub {
    font-size: 18px;
    padding-top: 1px;
    padding-bottom: 2px;
    width: 181px;
  }
}
.form-section__title {
  color: #333;
  text-align: center;
  font-size: clamp(35px, 12.4373956594px + 2.5041736227vw, 50px);
  margin-top: clamp(10.5px, 3.7312186978px + 0.7512520868vw, 15px);
  margin-bottom: clamp(28.7px, 10.1986644407px + 2.0534223706vw, 41px);
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 900px) {
  .form-section__title {
    font-size: 25px;
    margin-top: 13px;
    margin-bottom: 26px;
  }
}
.form-section__title span {
  color: #208ef4;
}
.form-section {
  /*===========================================================================*/
  /*  formrun  */
  /*===========================================================================*/
}
.form-section .formrun {
  padding-top: clamp(16.1px, 5.7212020033px + 1.1519198664vw, 23px);
  padding-inline: clamp(56px, 19.8998330551px + 4.0066777963vw, 80px);
  padding-bottom: clamp(55.3px, 19.6510851419px + 3.9565943239vw, 79px);
  border-radius: 20px;
  background: #f2f2f2;
}
@media (max-width: 900px) {
  .form-section .formrun {
    padding-top: 21px;
    padding-inline: 24px;
    padding-bottom: 26px;
  }
}
.form-section .formrun__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  width: 100%;
}
.form-section .formrun__item {
  width: 100%;
}
.form-section .formrun__item__num {
  font-family: "Helvetica", "Inter", "Arial", sans-serif;
  font-size: clamp(35px, 12.4373956594px + 2.5041736227vw, 50px);
  font-weight: 700;
  color: #208ef4;
  text-align: center;
  line-height: 1.4;
}
@media (max-width: 900px) {
  .form-section .formrun__item__num {
    font-size: 22px;
  }
}
.form-section .formrun__item__title {
  font-size: clamp(16.8px, 5.9699499165px + 1.2020033389vw, 24px);
  margin-bottom: clamp(24.5px, 8.7061769616px + 1.7529215359vw, 35px);
  color: #333;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}
@media (max-width: 900px) {
  .form-section .formrun__item__title {
    font-size: 20px;
    margin-bottom: 21px;
  }
}
.form-section .formrun__item__title span {
  color: #f00;
}
.form-section .formrun__input__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px 13px;
}
@media (max-width: 900px) {
  .form-section .formrun__input__list {
    grid-template-columns: 1fr;
    gap: 13px;
  }
}
.form-section .formrun__input__item {
  background: #fff;
  padding-top: clamp(15.4px, 5.4724540902px + 1.101836394vw, 22px);
  padding-bottom: clamp(15.4px, 5.4724540902px + 1.101836394vw, 22px);
  padding-left: clamp(12.6px, 4.4774624374px + 0.9015025042vw, 18px);
  padding-right: clamp(12.6px, 4.4774624374px + 0.9015025042vw, 18px);
}
@media (max-width: 900px) {
  .form-section .formrun__input__item {
    padding-top: 22px;
    padding-bottom: 22px;
    padding-left: 18px;
    padding-right: 18px;
  }
}
.form-section .formrun__input__item label {
  display: flex;
  align-items: center;
  gap: 16px;
  cursor: pointer;
}
.form-section .formrun__input__item label input[type=radio] {
  -webkit-appearance: none;
  appearance: none;
  width: 24px;
  height: 24px;
  border: 2px solid #208ef4;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  flex-shrink: 0;
  position: relative;
  margin: 0;
}
.form-section .formrun__input__item label input[type=radio]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #208ef4;
}
.form-section .formrun__input__item label span {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  color: #333;
}
.form-section .formrun__input__text input {
  width: 100%;
  height: clamp(46.2px, 16.4173622705px + 3.305509182vw, 66px);
  background: #fff;
  border: 1px solid #969696;
  border-radius: 0;
  padding-left: clamp(14px, 4.9749582638px + 1.0016694491vw, 20px);
  padding-right: clamp(14px, 4.9749582638px + 1.0016694491vw, 20px);
  font-size: 16px;
  font-weight: 700;
  color: #333;
  font-family: inherit;
}
@media (max-width: 900px) {
  .form-section .formrun__input__text input {
    height: 68px;
    padding-left: 23px;
    padding-right: 23px;
  }
}
.form-section .formrun__input__text input::placeholder {
  color: #969696;
}
.form-section .formrun__input__text input::-webkit-calendar-picker-indicator {
  display: none;
}
.form-section .formrun__input__textarea textarea {
  width: 100%;
  height: clamp(119px, 42.2871452421px + 8.5141903172vw, 170px);
  background: #fff;
  border: 1px solid #969696;
  border-radius: 0;
  padding: clamp(14px, 4.9749582638px + 1.0016694491vw, 20px);
  font-size: 16px;
  font-weight: 700;
  color: #333;
  font-family: inherit;
  resize: vertical;
}
@media (max-width: 900px) {
  .form-section .formrun__input__textarea textarea {
    height: 287px;
    padding: 20px;
  }
}
.form-section .formrun__input__textarea textarea::placeholder {
  color: #969696;
}
.form-section .formrun__annotation {
  text-align: center;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
  margin-top: 10px;
}
@media (max-width: 900px) {
  .form-section .formrun__annotation {
    font-size: 14px;
    margin-top: 5px;
  }
}
.form-section .formrun__error {
  display: none;
  color: #f00;
  font-size: 13px;
  font-weight: 500;
  margin-top: 8px;
  text-align: left;
}
@media (max-width: 900px) {
  .form-section .formrun__error {
    font-size: 10px;
    margin-top: 4px;
  }
}
.form-section .formrun__error.is-visible {
  display: block;
}
.form-section .formrun__contact {
  background: #fff;
  padding-top: clamp(35px, 12.4373956594px + 2.5041736227vw, 50px);
  padding-bottom: clamp(35px, 12.4373956594px + 2.5041736227vw, 50px);
  padding-left: clamp(25.2px, 8.9549248748px + 1.8030050083vw, 36px);
  padding-right: clamp(25.2px, 8.9549248748px + 1.8030050083vw, 36px);
  font-family: "Noto Sans JP", sans-serif;
}
@media (max-width: 900px) {
  .form-section .formrun__contact {
    padding-top: 20px;
    padding-bottom: 26px;
    padding-left: 20px;
    padding-right: 20px;
  }
}
.form-section .formrun__contact__title {
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  color: #323232;
  line-height: 1.8;
}
@media (max-width: 900px) {
  .form-section .formrun__contact__title {
    font-size: 16px;
  }
}
.form-section .formrun__contact__row {
  display: flex;
  gap: 27px;
  margin-top: 30px;
}
@media (max-width: 900px) {
  .form-section .formrun__contact__row {
    gap: 17px;
    margin-top: 14px;
  }
}
.form-section .formrun__contact__field {
  flex: 1;
}
.form-section .formrun__contact__field label {
  display: block;
  font-size: 15px;
  font-weight: 500;
  color: #242424;
  letter-spacing: 0.45px;
  line-height: 1.85;
  font-feature-settings: "palt";
}
@media (max-width: 900px) {
  .form-section .formrun__contact__field label {
    font-size: 13px;
  }
}
.form-section .formrun__contact__field label span {
  color: red;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.3px;
  margin-left: 2px;
}
.form-section .formrun__contact__field input {
  width: 100%;
  height: 58px;
  background: #f2f2f2;
  border: none;
  border-radius: 5px;
  padding: 0 17px;
  font-size: 15px;
  font-weight: 500;
  color: #333;
  font-family: inherit;
  margin-top: 4px;
}
.form-section .formrun__contact__field input::placeholder {
  color: #969696;
}
.form-section .formrun__contact__field--full {
  margin-top: 30px;
}
.form-section .formrun__contact__field--full label {
  display: block;
  font-size: 15px;
  font-weight: 500;
  color: #242424;
  letter-spacing: 0.45px;
  line-height: 1.85;
  font-feature-settings: "palt";
}
.form-section .formrun__contact__field--full label span {
  color: red;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.3px;
  margin-left: 2px;
}
.form-section .formrun__contact__field--full input {
  width: 100%;
  height: 58px;
  background: #f2f2f2;
  border: none;
  border-radius: 5px;
  padding: 0 19px;
  font-size: 15px;
  font-weight: 500;
  color: #333;
  font-family: inherit;
  margin-top: 4px;
}
.form-section .formrun__contact__field--full input::placeholder {
  color: #969696;
}
.form-section .formrun__contact__privacy {
  margin-top: 30px;
}
@media (max-width: 900px) {
  .form-section .formrun__contact__privacy {
    margin-top: 27px;
  }
}
.form-section .formrun__contact__privacy-title {
  font-size: 15px;
  font-weight: 700;
  color: #242424;
  letter-spacing: 0.45px;
  line-height: 1.85;
  font-feature-settings: "palt";
}
@media (max-width: 900px) {
  .form-section .formrun__contact__privacy-title {
    font-size: 14px;
  }
}
.form-section .formrun__contact__privacy-text {
  font-size: 15px;
  font-weight: 400;
  color: #242424;
  letter-spacing: 0.45px;
  line-height: 1.85;
  font-feature-settings: "palt";
}
@media (max-width: 900px) {
  .form-section .formrun__contact__privacy-text {
    font-size: 11px;
    margin-top: 7px;
  }
}
.form-section .formrun__submit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 363px;
  height: 56px;
  margin: 30px auto 0;
  background: #ec5c34;
  border: none;
  border-radius: 64px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.96px;
  font-feature-settings: "palt";
  cursor: pointer;
  font-family: inherit;
  transition: opacity 0.3s;
}
@media (max-width: 900px) {
  .form-section .formrun__submit {
    width: 100%;
    height: 52px;
    margin-top: 25px;
    font-size: 14px;
  }
}
.form-section .formrun__submit::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
  margin-left: 12px;
}
@media (max-width: 900px) {
  .form-section .formrun__submit::after {
    margin-left: 10px;
    width: 8px;
    height: 8px;
  }
}
.form-section .formrun__submit:hover {
  opacity: 0.8;
}
.form-section .formrun__submit:disabled {
  background: #a3a3a3;
  cursor: not-allowed;
}
.form-section .formrun__submit:disabled:hover {
  opacity: 1;
}

/*===========================================================================*/
/*  thanks  */
/*===========================================================================*/
.thanks {
  position: relative;
  overflow: hidden;
}
.thanks__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.thanks__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.thanks__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(32, 142, 244, 0.9);
}
.thanks__inner {
  position: relative;
  z-index: 2;
  padding-top: clamp(70px, 24.8747913189px + 5.0083472454vw, 100px);
  padding-bottom: clamp(30.8px, 10.9449081803px + 2.203672788vw, 44px);
  padding-left: clamp(28px, 9.9499165275px + 2.0033388982vw, 40px);
  padding-right: clamp(28px, 9.9499165275px + 2.0033388982vw, 40px);
  text-align: center;
  color: #fff;
}
@media (max-width: 900px) {
  .thanks__inner {
    padding: 41px 20px 26px;
  }
}
.thanks__heading {
  font-size: clamp(36.4px, 12.9348914858px + 2.6043405676vw, 52px);
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 900px) {
  .thanks__heading {
    font-size: 27px;
  }
}
.thanks__message {
  margin-top: clamp(28px, 9.9499165275px + 2.0033388982vw, 40px);
  font-size: clamp(12.6px, 4.4774624374px + 0.9015025042vw, 18px);
  font-weight: 500;
  line-height: 1.8;
}
@media (max-width: 900px) {
  .thanks__message {
    margin-top: 20px;
    font-size: 15px;
    line-height: 1.69;
  }
}
.thanks__message p + p {
  margin-top: clamp(14px, 4.9749582638px + 1.0016694491vw, 20px);
}
@media (max-width: 900px) {
  .thanks__message p + p {
    margin-top: 12px;
  }
}
.thanks__office {
  margin-top: clamp(35px, 12.4373956594px + 2.5041736227vw, 50px);
  font-size: clamp(17.5px, 6.2186978297px + 1.2520868114vw, 25px);
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 900px) {
  .thanks__office {
    margin-top: 30px;
    font-size: 20px;
  }
}
.thanks__phones {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(8.4px, 2.9849749583px + 0.6010016694vw, 12px);
  max-width: clamp(490px, 174.1235392321px + 35.0584307179vw, 700px);
  margin: 20px auto 0;
}
@media (max-width: 900px) {
  .thanks__phones {
    grid-template-columns: 1fr;
    gap: 0;
    max-width: 280px;
    margin-top: 10px;
  }
}
.thanks__phone {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 6px;
  line-height: 1.8;
}
@media (max-width: 900px) {
  .thanks__phone {
    gap: 4px;
  }
}
.thanks__phone-label {
  font-size: clamp(14px, 4.9749582638px + 1.0016694491vw, 20px);
  font-weight: 500;
}
@media (max-width: 900px) {
  .thanks__phone-label {
    font-size: 15px;
  }
}
.thanks__phone-tel {
  font-size: clamp(14px, 4.9749582638px + 1.0016694491vw, 20px);
  font-weight: 500;
  margin-left: 4px;
}
@media (max-width: 900px) {
  .thanks__phone-tel {
    font-size: 15px;
    margin-left: 2px;
  }
}
.thanks__phone-num {
  font-size: clamp(21px, 7.4624373957px + 1.5025041736vw, 30px);
  font-weight: 700;
}
@media (max-width: 900px) {
  .thanks__phone-num {
    font-size: 25px;
  }
}
.thanks__hours {
  margin-top: clamp(21px, 7.4624373957px + 1.5025041736vw, 30px);
  font-size: clamp(14px, 4.9749582638px + 1.0016694491vw, 20px);
  font-weight: 500;
  line-height: 1.4;
}
@media (max-width: 900px) {
  .thanks__hours {
    margin-top: 20px;
    font-size: 13px;
  }
}