@charset "UTF-8";
body {
  font-family: "Noto Sans JP", sans-serif;
  color: #231815;
  background: #f1f1f1;
  position: relative;
}

img {
  width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
a:hover {
  opacity: 0.7;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
}
@media screen and (max-width: 767px) {
  html {
    scroll-padding-top: 60px;
  }
}

.hidden-pc {
  display: none;
}
@media screen and (max-width: 767px) {
  .hidden-pc {
    display: block;
  }
}
.hidden-pc--lg {
  display: none;
}
@media screen and (max-width: 1023px) {
  .hidden-pc--lg {
    display: block;
  }
}

.hidden-sp {
  display: block;
}
@media screen and (max-width: 767px) {
  .hidden-sp {
    display: none;
  }
}
.hidden-sp--lg {
  display: block;
}
@media screen and (max-width: 1023px) {
  .hidden-sp--lg {
    display: none;
  }
}

.font-helvetica {
  font-family: "helvetica-neue-lt-pro", sans-serif;
}

button {
  color: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

.page {
  padding-top: 80px;
}
@media screen and (max-width: 767px) {
  .page {
    padding-top: 60px;
  }
}

.page__fv {
  padding: 80px 0;
}
@media screen and (max-width: 767px) {
  .page__fv {
    padding: 40px 0;
  }
}

.page__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .page__heading {
    gap: 12px;
  }
}

.page__heading-en {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}
.page__heading-en .bar {
  display: inline-block;
  width: 38px;
  height: 1px;
  background-color: #195ebc;
}
.page__heading-en .text {
  font-family: "helvetica-neue-lt-pro", sans-serif;
  color: #195ebc;
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .page__heading-en .text {
    font-size: 10px;
  }
}

.page__heading-jp {
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #081f68;
  font-size: 70px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 3.5px;
}
@media screen and (max-width: 767px) {
  .page__heading-jp {
    font-size: 34px;
    letter-spacing: 0.68px;
  }
}

.page__breadcrumb {
  max-width: 1120px;
  margin-inline: auto;
  padding: 0 20px;
}

.page__breadcrumb-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.page__breadcrumb-item:not(:first-of-type)::before {
  content: "";
  display: inline-block;
  margin: 0 8px 0 10px;
  background-image: url(../img/icon_breadcrumb-arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  width: 6px;
  height: 10px;
}
@media screen and (max-width: 767px) {
  .page__breadcrumb-item:not(:first-of-type)::before {
    background-image: url(../img/sp/icon_breadcrumb-arrow_sp.svg);
    margin: 0 3px 0 7px;
    width: 5px;
    height: 8px;
  }
}

.page__breadcrumb-link,
.page__breadcrumb-text {
  color: #081f68;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .page__breadcrumb-link,
  .page__breadcrumb-text {
    font-size: 12px;
  }
}

.thanks {
  padding: 100px 0 100px;
}
@media screen and (max-width: 767px) {
  .thanks {
    padding: 60px 0 60px;
  }
}

.thanks__inner {
  max-width: 940px;
  margin-inline: auto;
  padding: 0 20px;
}

.thanks__textarea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1em;
}

.thanks__text {
  color: #081f68;
  font-size: 20px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.4px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .thanks__text {
    font-size: 16px;
    line-height: 1.55;
    letter-spacing: 0.32px;
    text-align: left;
  }
}

.thanks__btn-wrap {
  margin-top: 50px;
  text-align: center;
}

.thanks-btn {
  display: inline-block;
  max-width: 370px;
  width: 100%;
  padding: 20px 10px;
  text-align: center;
  border-radius: 100px;
  background-color: #BEBEBE;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 1.2px;
}
@media screen and (max-width: 767px) {
  .thanks-btn {
    border-radius: 305px;
    padding: 21px 10px;
    border-radius: 264px;
    font-size: 18px;
    line-height: 1;
    letter-spacing: 1.26px;
  }
}

.confirm {
  padding: 100px 0 100px;
}
@media screen and (max-width: 767px) {
  .confirm {
    padding: 60px 0 60px;
  }
}

.confirm__inner {
  max-width: 1120px;
  margin-inline: auto;
  padding: 0 20px;
}

.confirm__label {
  max-width: 562px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .confirm__label {
    min-width: 152px;
  }
}
.confirm__label._textarea {
  padding-right: 42px;
}
@media screen and (max-width: 767px) {
  .confirm__label._textarea {
    padding-right: 0;
  }
}

.confirm__label-text {
  color: #081f68;
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .confirm__label-text {
    font-size: 16px;
  }
}

.header {
  width: 100%;
  background: #f1f1f1;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}

.header__inner {
  max-width: 100%;
  margin-inline: auto;
  padding-inline: 40px 10px;
  height: 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .header__inner {
    height: 60px;
    padding: 0 16px;
  }
}

.header__content-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.header__logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.header__logo a {
  display: block;
  color: var(--blue-500, #081f68);
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-size: 28px;
  font-style: normal;
  font-weight: 900;
  line-height: 105%; /* 29.4px */
  letter-spacing: 0.56px;
}
.header__logo svg {
  width: 97.24px;
  height: auto;
  color: #295b9d;
}
@media screen and (max-width: 767px) {
  .header__logo svg {
    width: 76.851px;
    height: 17px;
  }
}

.header__nav {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 1023px) {
  .header__nav {
    display: none;
  }
}

.header-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 30px;
}
@media screen and (max-width: 1279px) {
  .header-nav {
    gap: 10px;
  }
}

.header-nav__link {
  color: #081f68;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: 0.3px;
  text-decoration: none;
  white-space: nowrap;
}
@media screen and (max-width: 1279px) {
  .header-nav__link {
    font-size: 12px;
  }
}

.header__btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}
@media screen and (max-width: 1023px) {
  .header__btn {
    display: none;
  }
}

.header-tel-btn {
  height: 60px;
  margin-left: 24px;
  padding: 20px 21px 21px 22px;
  background: #195ebc;
  border-radius: 52px;
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.25);
          box-shadow: 0 0 3px rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 1279px) {
  .header-tel-btn {
    margin-left: 12px;
    padding: 20px 18px 21px 18px;
  }
}

.header-tel-btn__icon {
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 32px;
  height: 26px;
}

.header-tel-btn__text-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.header-tel-btn__text-top {
  font-family: "helvetica-neue-lt-pro", sans-serif;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: 0.5px;
  color: #fff;
  white-space: nowrap;
}

.header-tel-btn__text-bottom {
  font-size: 11px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.33px;
  color: #fff;
  white-space: nowrap;
}

.header-estimate-btn {
  gap: 6px;
  margin-left: 10px;
  padding: 18px 28px;
  background: #ffdd01;
  border-radius: 60px;
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.25);
          box-shadow: 0 0 3px rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 1279px) {
  .header-estimate-btn {
    padding: 18px 20px;
  }
}
@media screen and (max-width: 767px) {
  .header-estimate-btn {
    display: none;
  }
}
.header-estimate-btn .header-tel-btn__icon {
  width: 17px;
  height: 24px;
  -webkit-transform: none;
          transform: none;
}

.header-estimate-btn__text {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 17px;
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: 0.34px;
  color: #195ebc;
  white-space: nowrap;
}

.drawer-icon {
  display: none;
}
@media screen and (max-width: 1023px) {
  .drawer-icon {
    display: block;
    position: relative;
    width: 29px;
    height: 18px;
    border-radius: 50%;
    -ms-flex-item-align: center;
        align-self: center;
  }
  .drawer-icon.is-checked .drawer-icon__bar {
    width: 27px;
  }
  .drawer-icon.is-checked .drawer-icon__bar:nth-of-type(1) {
    top: 8px;
    -webkit-transform: translateX(-50%) rotate(45deg);
            transform: translateX(-50%) rotate(45deg);
    -webkit-transform-origin: center;
            transform-origin: center;
  }
  .drawer-icon.is-checked .drawer-icon__bar:nth-of-type(2) {
    display: none;
  }
  .drawer-icon.is-checked .drawer-icon__bar:nth-of-type(3) {
    top: 8px;
    -webkit-transform: translateX(-50%) rotate(-45deg);
            transform: translateX(-50%) rotate(-45deg);
    -webkit-transform-origin: center;
            transform-origin: center;
  }
}

.drawer-icon__bar {
  position: absolute;
  top: 15px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 29px;
  height: 2px;
  border-radius: 6px;
  background: #081f68;
  -webkit-transition: top 0.3s linear, -webkit-transform 0.3s linear;
  transition: top 0.3s linear, -webkit-transform 0.3s linear;
  transition: transform 0.3s linear, top 0.3s linear;
  transition: transform 0.3s linear, top 0.3s linear, -webkit-transform 0.3s linear;
}
.drawer-icon__bar:nth-of-type(1) {
  top: 0;
}
.drawer-icon__bar:nth-of-type(2) {
  top: 8px;
}
.drawer-icon__bar:nth-of-type(3) {
  top: 16px;
}

.drawer-content {
  position: fixed;
  top: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  z-index: 40;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.drawer-content.is-checked {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.drawer-content__inner {
  height: 100%;
  background: #f1f1f1;
  color: #fff;
  padding-inline: 22px;
  padding-block: 108px 82px;
}

.drawer-content__content {
  margin-inline: auto;
  max-width: 644px;
}

.drawer__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 52px;
  -webkit-box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.25);
  height: 60px;
  width: 100%;
  border-radius: 52px;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}

.drawer-tel-btn {
  gap: 10px;
  height: 60px;
  background: #195ebc;
}

.drawer-tel-btn__icon {
  width: 28px;
  height: 28px;
}

.drawer-tel-btn__text-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.drawer-tel-btn__text-top {
  font-family: "helvetica-neue-lt-pro", sans-serif;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: 0.5px;
  color: #fff;
}

.drawer-tel-btn__text-bottom {
  font-size: 11px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.33px;
  color: #fff;
}

.drawer-estimate-btn {
  margin-top: 15px;
  gap: 12px;
  background: #ffdd01;
}

.drawer-estimate__icon {
  width: 20px;
  height: 29px;
}

.drawer-estimate-btn__text {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 1.26px;
  color: #195ebc;
}

.drawer-content__nav {
  margin-top: 35px;
}

.drawer-list__item {
  position: relative;
  padding-bottom: 19px;
}
.drawer-list__item::before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background: #e6e6e6;
}

.drawer-list__item + .drawer-list__item {
  margin-top: 19px;
}

.drawer-list__link {
  position: relative;
  display: block;
  width: 100%;
  color: #081f68;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: 0.3px;
}
.drawer-list__link::after {
  position: absolute;
  content: "";
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0px;
  width: 13px;
  height: 100%;
  background: url(../img/icon_drawer-arrow.svg) no-repeat center center/contain;
}

.drawer-card {
  margin-top: 29px;
}

.footer {
  background: #195ebc;
  color: #fff;
}

.footer__inner {
  margin-inline: auto;
  max-width: 1120px;
  padding-inline: 20px;
  padding-block: 60px 13px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .footer__inner {
    max-width: none;
    padding-block: 40px 8px;
    padding-inline: 26px;
  }
}

.footer__logo svg {
  width: 97.24px;
  height: 21.51px;
}
@media screen and (max-width: 767px) {
  .footer__logo svg {
    width: 76.851px;
    height: 17px;
  }
}

.footer__content {
  margin-top: 25px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .footer__content {
    margin-top: 38px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 50px;
    margin-top: 34px;
  }
}

.footer-info__list {
  font-size: 14px;
  font-weight: 400;
  line-height: 2;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .footer-info__list {
    line-height: 1.7;
  }
}

@media screen and (max-width: 767px) {
  .footer__nav {
    -ms-flex-item-align: center;
        align-self: center;
  }
}

.footer-nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .footer-nav__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: 15px;
       -moz-column-gap: 15px;
            column-gap: 15px;
    row-gap: 5px;
    max-width: 311px;
  }
}

.footer-nav__link {
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: 0.7px;
  white-space: nowrap;
}

.footer__copyright {
  margin-top: 72px;
}
@media screen and (max-width: 767px) {
  .footer__copyright {
    margin-top: 50px;
  }
}
.footer__copyright small {
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.55px;
}
@media screen and (max-width: 767px) {
  .footer__copyright small {
    font-size: 10px;
    letter-spacing: 0.5px;
  }
}

.footer__bottom-bg {
  width: 100%;
  height: 5px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .footer__bottom-bg {
    height: 25px;
  }
}

.section-heading-wrapper {
  text-align: center;
}

.section-heading-en {
  position: relative;
  display: inline-block;
  color: #195ebc;
  font-family: "helvetica-neue-lt-pro", sans-serif;
  font-size: clamp(0.625rem, 0.405rem + 0.94vw, 1.25rem);
  font-style: 1.2;
  font-weight: 400;
  line-height: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .section-heading-en {
    font-weight: 500;
  }
}
.section-heading-en::before, .section-heading-en::after {
  position: absolute;
  content: "";
  width: 38px;
  height: 1px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: #195ebc;
}
@media screen and (max-width: 767px) {
  .section-heading-en::before, .section-heading-en::after {
    height: 0.5px;
  }
}
.section-heading-en::before {
  right: calc(100% + 12px);
}
.section-heading-en::after {
  left: calc(100% + 12px);
}

.fv {
  position: relative;
  height: 810px;
  background: url(../img/img_fv-mainvisual.webp) no-repeat center bottom/contain;
}
@media screen and (max-width: 767px) {
  .fv {
    height: 574px;
    background: url(../img/sp/img_fv-mainvisual-sp.webp) no-repeat center bottom/contain;
  }
}

.fv__inner {
  padding-top: 107px;
}
@media screen and (max-width: 767px) {
  .fv__inner {
    padding-top: 78px;
  }
}

.fv__area-circle {
  position: absolute;
  top: 118px;
  right: 50px;
  width: 140px;
  height: 140px;
  background: -webkit-gradient(linear, left top, right top, from(#0468d3), to(#05a7e6));
  background: linear-gradient(90deg, #0468d3 0%, #05a7e6 100%);
  border: 3px solid #fff;
  border-radius: 50%;
}
@media screen and (max-width: 1023px) {
  .fv__area-circle {
    display: none;
  }
}

.fv__area-text {
  margin-inline: auto;
  text-align: center;
  margin-top: 35px;
  display: block;
  color: #fff;
  text-align: center;
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 1.05px;
}
.fv__area-text .bottom {
  margin-top: 4px;
  display: block;
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 1.54px;
}
.fv__area-text .font-helvetica {
  font-size: 32px;
  font-weight: 700;
}
.fv__area-text img {
  margin-top: 10px;
  display: inline-block;
  width: 18px;
  height: 18px;
}

.fv__text-wrapper {
  text-align: center;
}

.fv__text-top {
  position: relative;
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: clamp(1.09rem, 0.858rem + 0.99vw, 1.75rem);
  font-weight: 900;
  line-height: 1.05;
  -webkit-transform: skew(-10deg);
          transform: skew(-10deg);
  color: transparent;
  background: -webkit-gradient(linear, left top, right top, from(#0468d3), to(#05a7e6));
  background: linear-gradient(90deg, #0468d3 0%, #05a7e6 100%);
  -webkit-background-clip: text;
          background-clip: text;
}
.fv__text-top::before {
  content: "";
  position: absolute;
  top: 60%;
  right: calc(100% + 20px);
  -webkit-transform: translateY(-50%) rotate(-30deg) skewX(10deg);
          transform: translateY(-50%) rotate(-30deg) skewX(10deg);
  width: 3px;
  height: 31px;
  background-color: #2b98f5;
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .fv__text-top::before {
    width: 2px;
    height: 20px;
    right: calc(100% + 10px);
  }
}
.fv__text-top::after {
  content: "";
  position: absolute;
  top: 60%;
  left: calc(100% + 15px);
  -webkit-transform: translateY(-50%) rotate(30deg) skewX(10deg);
          transform: translateY(-50%) rotate(30deg) skewX(10deg);
  width: 3px;
  height: 27px;
  background-color: #2b98f5;
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .fv__text-top::after {
    width: 2px;
    height: 20px;
    left: calc(100% + 13px);
  }
}

.fv__text-bottom--pc {
  margin-inline: auto;
  margin-top: 13.52px;
  padding-inline: 13px;
  padding-block: 6.4px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #f1f1f1;
  text-align: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 20.684px;
  line-height: 1.05;
  letter-spacing: 1.448px;
  background: -webkit-gradient(linear, left top, right top, from(#0468d3), to(#05a7e6));
  background: linear-gradient(90deg, #0468d3 0%, #05a7e6 100%);
  font-weight: 900;
}
.fv__text-bottom--sp {
  margin-top: 13px;
  margin-inline: auto;
  width: 335px;
  height: auto;
}

.fv__text-img {
  margin-inline: auto;
  margin-top: 20px;
  width: clamp(337px, 244.394px + 24.695vw, 600px);
  height: 100%;
}
@media screen and (max-width: 767px) {
  .fv__text-img {
    margin-top: 18px;
  }
}

.fv__work-list {
  margin-inline: auto;
  margin-top: 21px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .fv__work-list {
    margin-top: 23px;
    gap: 4px;
  }
}

.fv__work-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  padding: 8px 20px;
  border-radius: 39px;
  background: -webkit-gradient(linear, left top, right top, from(#0468d3), to(#05a7e6));
  background: linear-gradient(90deg, #0468d3 0%, #05a7e6 100%);
}
@media screen and (max-width: 767px) {
  .fv__work-item {
    gap: 3.4px;
    padding: 3.5px 5.8px;
  }
}

.fv__work-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 17.73px;
  height: auto;
}
@media screen and (max-width: 767px) {
  .fv__work-icon {
    width: 10.16px;
  }
}

.fv__work-text {
  display: block;
  color: #fff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 16px;
  line-height: 1.05;
  white-space: nowrap;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .fv__work-text {
    font-size: 9.17px;
  }
}

.fv__merit-list {
  margin-top: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .fv__merit-list {
    margin-top: 15px;
  }
}

.fv-merit {
  background: url(../img/bg_label-pc.webp) no-repeat center center/contain;
  width: 200px;
  height: 200px;
}
@media screen and (max-width: 767px) {
  .fv-merit {
    background: url(../img/sp/bg_label-sp.webp) no-repeat center center/contain;
    width: 100px;
    height: 100px;
  }
}

.fv-merit__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.fv-merit__title {
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 39.774px;
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: 9.944px;
  color: transparent;
  background: -webkit-gradient(linear, left top, right top, from(#0468d3), to(#05a7e6));
  background: linear-gradient(90deg, #0468d3 0%, #05a7e6 100%);
  -webkit-background-clip: text;
          background-clip: text;
}
@media screen and (max-width: 767px) {
  .fv-merit__title {
    font-size: 20.752px;
    letter-spacing: 5.188px;
  }
}

.fv-merit__text {
  margin-top: 12.69px;
  color: #195ebc;
  text-align: center;
  font-size: 13.11px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 2.622px;
}
@media screen and (max-width: 767px) {
  .fv-merit__text {
    margin-top: 4px;
    font-size: 6.84px;
    letter-spacing: 1.368px;
  }
}

.fv-merit--1 {
  padding-top: 28px;
}
@media screen and (max-width: 767px) {
  .fv-merit--1 {
    padding-top: 17px;
  }
}
.fv-merit--1 img {
  width: 43.629px;
  height: 39.645px;
}
@media screen and (max-width: 767px) {
  .fv-merit--1 img {
    width: 22.763px;
    height: 20.684px;
  }
}
.fv-merit--1 .fv-merit__title {
  margin-left: 10px;
}
@media screen and (max-width: 767px) {
  .fv-merit--1 .fv-merit__title {
    margin-left: 5px;
  }
}

.fv-merit--2 {
  padding-top: 27px;
}
@media screen and (max-width: 767px) {
  .fv-merit--2 {
    padding-top: 17px;
  }
}
.fv-merit--2 img {
  width: 33.648px;
  height: 37.051px;
}
@media screen and (max-width: 767px) {
  .fv-merit--2 img {
    width: 17.555px;
    height: 19.331px;
  }
}
.fv-merit--2 .fv-merit__title {
  margin-top: 6px;
  margin-left: 10px;
}
@media screen and (max-width: 767px) {
  .fv-merit--2 .fv-merit__title {
    margin-top: 2px;
    margin-left: 5px;
  }
}

.fv-merit--3 {
  padding-top: 27px;
}
@media screen and (max-width: 767px) {
  .fv-merit--3 {
    padding-top: 15px;
  }
}
.fv-merit--3 img {
  width: 39.062px;
  height: 39.646px;
}
@media screen and (max-width: 767px) {
  .fv-merit--3 img {
    width: 20.38px;
    height: 20.685px;
  }
}
.fv-merit--3 .fv-merit__title {
  margin-top: 0;
  font-size: 24.211px;
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: 3.632px;
}
@media screen and (max-width: 767px) {
  .fv-merit--3 .fv-merit__title {
    font-size: 12.632px;
    letter-spacing: 1.895px;
  }
}
.fv-merit--3 .fv-merit__text {
  margin-top: 7px;
}
@media screen and (max-width: 767px) {
  .fv-merit--3 .fv-merit__text {
    margin-top: 2px;
  }
}

.fv__bottom-area {
  display: none;
}
@media screen and (max-width: 1023px) {
  .fv__bottom-area {
    padding-block: 9px;
    width: 100%;
    height: 36px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: 3.75px;
    background: -webkit-gradient(linear, left top, right top, from(#0468d3), to(#05a7e6));
    background: linear-gradient(90deg, #0468d3 0%, #05a7e6 100%);
  }
}

.fv__bottom-area-icon {
  width: 15.248px;
  height: 15.248px;
}

.fv__bottom-area-text {
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.42px;
}
.fv__bottom-area-text span {
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 1.05px;
}
.fv__bottom-area-text .font-helvetica {
  font-size: 18px;
  font-weight: 700;
}

.fv-card {
  position: absolute;
  bottom: 16px;
  right: 22px;
  width: 311px;
  height: 193px;
  border-radius: 10px;
  border: 4px solid #fff;
  background: -webkit-gradient(linear, left top, right top, from(#0468d3), to(#05a7e6));
  background: linear-gradient(90deg, #0468d3 0%, #05a7e6 100%);
  color: #fff;
}
@media screen and (max-width: 1279px) {
  .fv-card {
    bottom: -50px;
  }
}
@media screen and (max-width: 1023px) {
  .fv-card {
    margin-inline: auto;
    position: static;
    max-width: 500px;
    width: 100%;
    height: auto;
    border: 2px solid #fff;
  }
}

.fv-card__inner {
  position: relative;
  padding-left: 17px;
  padding-block: 23px 12px;
  width: inherit;
  height: inherit;
}
@media screen and (max-width: 1023px) {
  .fv-card__inner {
    margin-inline: auto;
    padding-inline: 10px;
    padding-block: 9px 11px;
    max-width: 335px;
    width: 100%;
  }
}
.fv-card__inner::before {
  content: "";
  position: absolute;
  bottom: 8px;
  right: -10px;
  background: url(../img/img_fv-cta-woman.webp) no-repeat center center/contain;
  width: 127px;
  height: 200px;
}
@media screen and (max-width: 1023px) {
  .fv-card__inner::before {
    width: 53.868px;
    height: 85px;
    bottom: 30px;
    right: 2px;
  }
}

.fv-card__tag {
  padding: 5px 15px;
  display: grid;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 1.2px;
  border-radius: 27px;
  border: 1px solid #fff;
}
@media screen and (max-width: 1023px) {
  .fv-card__tag {
    font-size: 10px;
    padding: 0 10px;
    border: 0.5px solid #fff;
    letter-spacing: 0.8px;
  }
}

.fv-card__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  margin-top: 8px;
}
@media screen and (max-width: 1023px) {
  .fv-card__text {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 4px;
    gap: 0;
  }
}
.fv-card__text .white {
  font-size: 25px;
  font-weight: 900;
  letter-spacing: 0.75px;
  line-height: 1;
}
@media screen and (max-width: 1023px) {
  .fv-card__text .white {
    font-size: 21px;
    letter-spacing: 0;
  }
}
.fv-card__text .yellow {
  color: #ffe748;
  font-size: 29px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 2px;
}
@media screen and (max-width: 1023px) {
  .fv-card__text .yellow {
    font-size: 23px;
    letter-spacing: 0;
  }
}

.fv-card__btn {
  margin-top: 15px;
  position: relative;
  display: grid;
  place-items: center;
  color: #195ebc;
  background-color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.48px;
  max-width: 266px;
  width: 100%;
  height: 34px;
  text-align: center;
  border-radius: 18.5px;
}
@media screen and (max-width: 1023px) {
  .fv-card__btn {
    margin-top: 10px;
    font-size: 14px;
    max-width: 315px;
  }
}
.fv-card__btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 3px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../img/icon_fv-cta-arrow.svg) no-repeat center center/contain;
  width: 30px;
  height: 30px;
}

@media screen and (max-width: 1023px) {
  .fv__bottom-cta-wrapper {
    padding-block: 13px 18px;
    height: 141px;
    margin-inline: auto;
    background: #f1f1f1;
    padding-inline: 20px;
  }
}

.problem {
  background: url(../img/bg_problem-pc.webp) no-repeat center bottom/cover;
}
@media screen and (max-width: 767px) {
  .problem {
    background: url(../img/sp/bg_problem-sp.webp) no-repeat center bottom/cover;
  }
}

.problem__inner {
  text-align: center;
  padding-block: 120px 97px;
}
@media screen and (max-width: 767px) {
  .problem__inner {
    padding-block: 36px 60px;
  }
}

.problem__heading-sub {
  margin-inline: auto;
  padding-block: 10px;
  padding-inline: 20px;
  display: inline-block;
  border-radius: 39px;
  background: #195ebc;
  color: #fff;
  text-align: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: 1.12px;
}
@media screen and (max-width: 767px) {
  .problem__heading-sub {
    padding-block: 3px;
    padding-inline: 42px;
    font-size: 14px;
    line-height: 1.2;
    letter-spacing: 0;
  }
}

.problem__heading-main {
  margin-top: 31.53px;
  margin-inline: auto;
  display: block;
  color: #081f68;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
@media screen and (max-width: 767px) {
  .problem__heading-main {
    margin-top: 30px;
  }
}
.problem__heading-main .navy-lg {
  font-size: 62.063px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -1.862px;
}
@media screen and (max-width: 1023px) {
  .problem__heading-main .navy-lg {
    line-height: 1.4;
  }
}
@media screen and (max-width: 767px) {
  .problem__heading-main .navy-lg {
    font-size: 35.076px;
    letter-spacing: -1.052px;
    line-height: 1.3;
  }
}
.problem__heading-main .worry-wrapper {
  display: inline-block;
  position: relative;
}
.problem__heading-main .worry-wrapper::before {
  content: "";
  position: absolute;
  bottom: -9px;
  left: 0;
  background-color: #ffdd01;
  width: 245.593px;
  height: 21.279px;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .problem__heading-main .worry-wrapper::before {
    width: 142.809px;
    height: 12.527px;
    bottom: -5.11px;
  }
}
.problem__heading-main .worry-wrapper::after {
  content: "";
  position: absolute;
  top: -11.53px;
  left: 29.26px;
  background-color: #081f68;
  width: 13.299px;
  height: 13.299px;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .problem__heading-main .worry-wrapper::after {
    top: -8px;
    left: 16.63px;
    width: 7.581px;
    height: 7.581px;
  }
}
.problem__heading-main .worry {
  position: relative;
  display: inline-block;
  color: transparent;
  font-size: 79.796px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 5.586px;
  background: -webkit-gradient(linear, left top, right top, from(#0468d3), to(#05a7e6));
  background: linear-gradient(90deg, #0468d3 0%, #05a7e6 100%);
  -webkit-background-clip: text;
          background-clip: text;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .problem__heading-main .worry {
    font-size: 45.098px;
    letter-spacing: 3.157px;
  }
}
.problem__heading-main .worry::before {
  content: "";
  position: absolute;
  top: -11.53px;
  left: 121.47px;
  background-color: #081f68;
  width: 13.299px;
  height: 13.299px;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .problem__heading-main .worry::before {
    top: -8px;
    left: 69.19px;
    width: 7.581px;
    height: 7.581px;
  }
}
.problem__heading-main .worry::after {
  content: "";
  position: absolute;
  top: -11.53px;
  left: 203.04px;
  background-color: #081f68;
  width: 13.299px;
  height: 13.299px;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .problem__heading-main .worry::after {
    top: -8px;
    left: 115.69px;
    width: 7.581px;
    height: 7.581px;
  }
}
.problem__heading-main .navy-sm {
  font-size: 57.63px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -1.729px;
}
@media screen and (max-width: 1023px) {
  .problem__heading-main .navy-sm {
    line-height: 1.4;
  }
}
@media screen and (max-width: 767px) {
  .problem__heading-main .navy-sm {
    font-size: 35.076px;
    letter-spacing: -1.052px;
    line-height: 1.3;
  }
}

.problem__cards {
  margin-inline: auto;
  max-width: 780px;
  margin-top: 51.47px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, auto);
  grid-auto-flow: column;
  gap: 12.98px;
}
@media screen and (max-width: 1023px) {
  .problem__cards {
    max-width: 515px;
    grid-template-columns: repeat(2, 1fr);
    grid-auto-flow: row;
  }
}
@media screen and (max-width: 767px) {
  .problem__cards {
    max-width: 336px;
    margin-top: 28px;
    gap: 10.15px;
  }
}

.problem-card {
  margin-inline: auto;
  padding-top: 17.31px;
  width: 251.016px;
  height: 229.377px;
  border-radius: 17.311px;
  background: #fff;
  -webkit-box-shadow: 0 0 8.656px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 8.656px 0 rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  .problem-card {
    padding-top: 12.18px;
    width: 162.445px;
    height: 148.231px;
    border-radius: 10.153px;
    -webkit-box-shadow: 0 0 5.602px 0 rgba(0, 0, 0, 0.1);
            box-shadow: 0 0 5.602px 0 rgba(0, 0, 0, 0.1);
  }
}

.problem-card__icon {
  margin-inline: auto;
  width: 131.567px;
  height: 131.567px;
}
@media screen and (max-width: 767px) {
  .problem-card__icon {
    width: 85.284px;
    height: 85.284px;
  }
}

.problem-card__text {
  margin-top: 9.52px;
  display: block;
  color: #081f68;
  font-size: 18.177px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 1.272px;
}
@media screen and (max-width: 767px) {
  .problem-card__text {
    margin-top: 5.8px;
    font-size: 12.183px;
    letter-spacing: 0.853px;
  }
}
.problem-card__text--short {
  margin-top: 24.24px;
}
@media screen and (max-width: 767px) {
  .problem-card__text--short {
    margin-top: 14.22px;
  }
}
.problem-card__text span {
  font-size: 21.639px;
  font-weight: 700;
  letter-spacing: 1.515px;
}
@media screen and (max-width: 767px) {
  .problem-card__text span {
    font-size: 14.214px;
    letter-spacing: 0.995px;
  }
}

.problem__text {
  margin-top: 37px;
  font-size: 26px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 4.68px;
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-thickness: 9%;
  text-underline-offset: 9%;
  text-underline-position: from-font;
}
@media screen and (max-width: 767px) {
  .problem__text {
    margin-top: 40px;
    font-size: 16px;
    letter-spacing: 2.88px;
  }
}

.solution {
  position: relative;
  overflow: hidden;
}
.solution::before {
  content: "";
  position: absolute;
  width: 201.616px;
  height: 201.616px;
  -webkit-transform: rotate(44.374deg);
          transform: rotate(44.374deg);
  background: url(../img/deco_circle-gradation.webp) no-repeat center center/contain;
  left: -98px;
  top: -86px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .solution::before {
    width: 70.715px;
    height: 70.715px;
    -webkit-transform: rotate(44.374deg);
            transform: rotate(44.374deg);
    top: -24px;
    left: -16px;
  }
}
.solution::after {
  content: "";
  position: absolute;
  width: 83.449px;
  height: 83.449px;
  -webkit-transform: rotate(34.479deg);
          transform: rotate(34.479deg);
  background: url(../img/deco_circle-stripe--white.webp) no-repeat center center/contain;
  left: 36px;
  top: 24px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .solution::after {
    width: 27.36px;
    height: 27.353px;
    -webkit-transform: rotate(35.959deg);
            transform: rotate(35.959deg);
    top: 16px;
    left: 32px;
  }
}

.solution__heading-bg {
  padding-top: 67px;
  width: 100%;
  height: 340px;
  background: -webkit-gradient(linear, left top, right top, from(#0468d3), to(#05a7e6));
  background: linear-gradient(90deg, #0468d3 0%, #05a7e6 100%);
  /* 上下中央にV字の切れ込みを入れる */
  clip-path: polygon(0% 0%, 45% 0%, 50% 11%, 55% 0%, 100% 0%, 100% 87%, 56% 87%, 50% 100%, 44% 87%, 0% 87%);
}
@media screen and (max-width: 1023px) {
  .solution__heading-bg {
    padding-top: 90px;
  }
}
@media screen and (max-width: 767px) {
  .solution__heading-bg {
    padding-top: 23px;
    height: 180px;
    clip-path: polygon(0% 0%, 45% 0%, 50% 4%, 55% 0%, 100% 0%, 100% 88%, 65% 88%, 50% 100%, 35% 88%, 0% 88%);
  }
}

.solution__deco-outer {
  position: relative;
}
.solution__deco-outer::before {
  content: "";
  position: absolute;
  width: 305.073px;
  height: 305.073px;
  -webkit-transform: rotate(-57.719deg);
          transform: rotate(-57.719deg);
  background: url(../img/deco_circle-gradation.webp) no-repeat center center/contain;
  right: -155px;
  top: 149px;
  z-index: 1;
}
@media screen and (max-width: 1023px) {
  .solution__deco-outer::before {
    width: 200px;
    height: 200px;
  }
}
@media screen and (max-width: 767px) {
  .solution__deco-outer::before {
    width: 79.288px;
    height: 79.288px;
    -webkit-transform: rotate(-57.719deg);
            transform: rotate(-57.719deg);
    top: 102px;
    right: -28px;
  }
}
.solution__deco-outer::after {
  content: "";
  position: absolute;
  width: 142.983px;
  height: 142.929px;
  -webkit-transform: rotate(-150.765deg);
          transform: rotate(-150.765deg);
  background: url(../img/deco_circle-stripe--blue.webp) no-repeat center center/contain;
  right: -70px;
  top: 90px;
  z-index: 1;
}
@media screen and (max-width: 1023px) {
  .solution__deco-outer::after {
    width: 90px;
    height: 90px;
    top: 196px;
    right: -17px;
  }
}
@media screen and (max-width: 767px) {
  .solution__deco-outer::after {
    width: 34.806px;
    height: 34.718px;
    -webkit-transform: rotate(-148.569deg);
            transform: rotate(-148.569deg);
    top: 78px;
    right: -7px;
  }
}

.solution__inner {
  margin-top: -51px;
  padding-top: 96px;
  background: url(../img/bg_stripe-pc.webp) repeat-y center center/cover;
}
@media screen and (max-width: 767px) {
  .solution__inner {
    padding-top: 89px;
    background: url(../img/sp/bg_stripe-sp.webp) repeat-y center center/cover;
  }
}

.solution__heading {
  color: #fff;
  text-align: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.solution-heading-top {
  font-size: clamp(1.563rem, 0.792rem + 3.29vw, 3.75rem);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: 3px;
}
@media screen and (max-width: 767px) {
  .solution-heading-top {
    letter-spacing: 1.25px;
    font-size: 25px;
  }
}

.solution__heading-bottom {
  display: block;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .solution__heading-bottom {
    margin-top: 4px;
  }
}

.solution-heading-bottom--service {
  display: inline-block;
}
.solution-heading-bottom--service svg {
  width: clamp(131px, 83.211px + 12.744vw, 266.721px);
  height: auto;
  color: #ffdd01;
}
@media screen and (max-width: 767px) {
  .solution-heading-bottom--service svg {
    vertical-align: middle;
  }
}
.solution-heading-bottom--white {
  color: #fff;
  font-size: clamp(1.75rem, 1.049rem + 2.99vw, 3.742rem);
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .solution-heading-bottom--white {
    line-height: 1.1;
    font-size: 28px;
    vertical-align: middle;
  }
}
.solution-heading-bottom--white span {
  display: inline-block;
  font-weight: 900;
}
.solution-heading-bottom--lg {
  color: #ffdd01;
  font-size: clamp(2.438rem, 1.602rem + 3.57vw, 4.811rem);
  line-height: 1.1;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .solution-heading-bottom--lg {
    font-size: 39px;
  }
}

.solution__list-heading-wrapper {
  overflow: hidden;
}

.solution-list-heading {
  margin-inline: auto;
  width: 620px;
  height: 100%;
  display: block;
  color: #081f68;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1;
  position: relative;
}
@media screen and (max-width: 767px) {
  .solution-list-heading {
    max-width: 320px;
    width: 100%;
  }
}

.solution-list-heading__top {
  position: absolute;
  top: 5px;
  left: 170px;
  display: block;
  font-size: 32.2px;
  font-weight: 900;
  letter-spacing: 1.61px;
}
@media screen and (max-width: 767px) {
  .solution-list-heading__top {
    font-size: 18px;
    letter-spacing: 0.9px;
    top: 0;
    left: 98px;
  }
}

.solution-list-heading__middle {
  position: absolute;
  top: 56px;
  left: 164px;
  font-size: 32.199px;
  font-weight: 900;
  letter-spacing: 1.61px;
}
@media screen and (max-width: 767px) {
  .solution-list-heading__middle {
    font-size: 18px;
    letter-spacing: 0.9px;
    left: 96px;
    top: 28px;
  }
}
.solution-list-heading__middle span {
  margin-right: 3px;
}
.solution-list-heading__middle span svg {
  width: clamp(85.893px, 57.241px + 7.641vw, 167.265px);
  height: auto;
}
.solution-list-heading__bottom {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  position: relative;
  font-size: 110.586px;
  font-weight: 900;
  letter-spacing: 4.423px;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .solution-list-heading__bottom {
    margin-left: 7px;
    font-size: 54px;
    letter-spacing: 2.16px;
  }
}
.solution-list-heading__bottom img {
  display: inline-block;
  width: 154px;
  height: 206.449px;
}
@media screen and (max-width: 767px) {
  .solution-list-heading__bottom img {
    width: 78px;
    height: 105px;
  }
}
.solution-list-heading__bottom::before {
  content: "";
  position: absolute;
  bottom: -7.62px;
  left: 27.76px;
  background-color: #ffdd01;
  width: 590.943px;
  height: 36.862px;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .solution-list-heading__bottom::before {
    width: 315px;
    height: 18px;
    bottom: -3px;
    left: -7px;
  }
}

.solution__list {
  margin-top: 44px;
  margin-inline: auto;
  max-width: 1120px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-inline: 20px;
}
@media screen and (max-width: 1279px) {
  .solution__list {
    gap: 6px;
  }
}
@media screen and (max-width: 1023px) {
  .solution__list {
    margin-top: 30px;
    max-width: 344px;
    padding-inline: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 12px;
  }
}

.solution-item {
  margin-inline: auto;
  background: url(../img/bg_reason-card.webp) no-repeat center center/contain;
  width: 344px;
  height: 394px;
  color: #fff;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 1279px) {
  .solution-item {
    max-width: 334px;
    width: 100%;
    height: 100%;
  }
}
@media screen and (max-width: 767px) {
  .solution-item {
    background: url(../img/bg_reason-card.webp) no-repeat center center;
    background-size: 335px 100%;
    width: 335px;
    height: 100%;
  }
}

.solution-item {
  position: relative;
}
.solution-item--01::before {
  content: "";
  position: absolute;
  top: 166px;
  left: 268px;
  background: url(../img/deco_solution-card1.svg) no-repeat center center/contain;
  width: 56.619px;
  height: 78.492px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .solution-item--01::before {
    width: 42px;
    height: 57.75px;
    top: 190px;
    left: 284px;
  }
}
.solution-item--02::before {
  content: "";
  position: absolute;
  top: 166px;
  left: 260px;
  background: url(../img/deco_solution-card2.svg) no-repeat center center/contain;
  width: 75px;
  height: 78.749px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .solution-item--02::before {
    width: 61.665px;
    height: 65px;
    top: 190px;
    left: 258px;
  }
}
.solution-item--03::before {
  content: "";
  position: absolute;
  top: 166px;
  left: 270px;
  background: url(../img/deco_solution-card3.svg) no-repeat center center/contain;
  width: 62.502px;
  height: 77.26px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .solution-item--03::before {
    width: 49.998px;
    height: 61.29px;
    top: 181px;
  }
}

.solution-item__inner {
  position: relative;
  padding-block: 50px 16px;
}
@media screen and (max-width: 767px) {
  .solution-item__inner {
    padding-block: 47px 19px;
  }
}

.solution-item__number {
  display: inline-block;
  font-family: "helvetica-neue-lt-pro", sans-serif;
  font-size: 28px;
  font-style: italic;
  font-weight: 700;
  line-height: 1;
  position: absolute;
  top: 13px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 1279px) {
  .solution-item__number {
    font-size: 27.588px;
    top: 18px;
  }
}
@media screen and (max-width: 767px) {
  .solution-item__number {
    top: 14px;
  }
}

.solution-item__img {
  margin-inline: auto;
  width: 281px;
  height: 172px;
}
@media screen and (max-width: 767px) {
  .solution-item__img {
    width: 305px;
    height: 187px;
  }
}
.solution-item__img img {
  border: 5px solid #fff;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .solution-item__img img {
    border: 3px solid #fff;
  }
}

.solution-item__heading {
  margin-top: 19px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 27px;
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: 2.7px;
}
@media screen and (max-width: 767px) {
  .solution-item__heading {
    margin-top: 15px;
    font-size: 26px;
    line-height: 1.15;
    letter-spacing: 2.6px;
  }
}
.solution-item__heading--01 {
  margin-top: 35px;
}
@media screen and (max-width: 767px) {
  .solution-item__heading--01 {
    margin-top: 26px;
  }
}
.solution-item__heading span {
  color: #ffdd01;
  font-weight: 900;
}

.solution-item__description {
  position: relative;
  margin-top: 25px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.98px;
}
@media screen and (max-width: 767px) {
  .solution-item__description {
    margin-top: 30px;
  }
}
.solution-item__description--01 {
  margin-top: 35px;
}
@media screen and (max-width: 767px) {
  .solution-item__description--01 {
    margin-top: 34px;
  }
}
.solution-item__description::before {
  content: "";
  position: absolute;
  top: -12px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 84px;
  height: 2px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .solution-item__description::before {
    top: -16px;
    width: 83px;
    height: 1px;
  }
}

.solution__bottom-text {
  margin-top: 64px;
  margin-inline: auto;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: transparent;
  text-align: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: clamp(1.063rem, 0.82rem + 1.03vw, 1.75rem);
  font-weight: 900;
  line-height: 1.05;
  background: -webkit-gradient(linear, left top, right top, from(#0468d3), to(#05a7e6));
  background: linear-gradient(90deg, #0468d3 0%, #05a7e6 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-transform: skewX(-10deg);
          transform: skewX(-10deg);
  position: relative;
}
@media screen and (max-width: 767px) {
  .solution__bottom-text {
    margin-top: 55px;
    line-height: 1.3;
  }
}
.solution__bottom-text::before {
  content: "";
  position: absolute;
  top: 60%;
  right: calc(100% + 16px);
  -webkit-transform: translateY(-50%) rotate(-30deg) skewX(10deg);
          transform: translateY(-50%) rotate(-30deg) skewX(10deg);
  width: 3px;
  height: 28px;
  background-color: #2b98f5;
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .solution__bottom-text::before {
    right: calc(100% + 10px);
    -webkit-transform: translateY(-50%) rotate(-15deg) skewX(10deg);
            transform: translateY(-50%) rotate(-15deg) skewX(10deg);
    width: 2px;
    height: 40px;
  }
}
.solution__bottom-text::after {
  content: "";
  position: absolute;
  top: 60%;
  left: calc(100% + 10px);
  -webkit-transform: translateY(-50%) rotate(30deg) skewX(10deg);
          transform: translateY(-50%) rotate(30deg) skewX(10deg);
  width: 3px;
  height: 27px;
  background-color: #2b98f5;
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .solution__bottom-text::after {
    left: calc(100% + 8px);
    -webkit-transform: translateY(-50%) rotate(15deg) skewX(10deg);
            transform: translateY(-50%) rotate(15deg) skewX(10deg);
    width: 2px;
    height: 37px;
  }
}

.service {
  background: url(../img/bg_stripe-pc.webp) repeat-y center center/cover;
}
@media screen and (max-width: 767px) {
  .service {
    background: url(../img/sp/bg_stripe-sp.webp) repeat-y center center/cover;
  }
}

.service__inner {
  padding-block: 100px 160px;
}
@media screen and (max-width: 767px) {
  .service__inner {
    padding-block: 32px 54px;
  }
}

.service__heading-ja {
  margin-top: 19px;
  display: block;
  color: #081f68;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: clamp(1.938rem, 1.189rem + 3.19vw, 4.063rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 1.3px;
}
@media screen and (max-width: 767px) {
  .service__heading-ja {
    margin-top: 8px;
    letter-spacing: 0.62px;
  }
}
.service__heading-ja span {
  font-weight: 900;
}
.service__heading-ja .top-navy {
  display: block;
  margin-bottom: 19px;
}
@media screen and (max-width: 767px) {
  .service__heading-ja .top-navy {
    margin-bottom: 12px;
  }
}
.service__heading-ja .small {
  font-size: clamp(1.661rem, 0.925rem + 3.14vw, 3.75rem);
  letter-spacing: 1.2px;
}
@media screen and (max-width: 767px) {
  .service__heading-ja .small {
    letter-spacing: 0.531px;
  }
}
.service__heading-ja .gradation {
  display: inline-block;
  font-size: clamp(2.563rem, 1.924rem + 2.72vw, 4.375rem);
  line-height: 1;
  letter-spacing: -3px;
  background: -webkit-gradient(linear, left top, right top, from(#0468d3), to(#05a7e6));
  background: linear-gradient(90deg, #0468d3 0%, #05a7e6 100%);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
}
@media screen and (max-width: 767px) {
  .service__heading-ja .gradation {
    position: relative;
    letter-spacing: 0;
  }
}
.service__heading-ja .gradation img {
  width: 60px;
  height: 63.22px;
  display: inline-block;
  vertical-align: baseline;
}
@media screen and (max-width: 767px) {
  .service__heading-ja .gradation img {
    position: absolute;
    width: 19.992px;
    height: 21.067px;
    top: 3px;
    right: -17px;
  }
}
.service__heading-ja .bottom-navy {
  font-size: clamp(2.2rem, 1.544rem + 2.8vw, 4.063rem);
  letter-spacing: -1.95px;
}
@media screen and (max-width: 767px) {
  .service__heading-ja .bottom-navy {
    margin-top: 10px;
    display: inline-block;
    letter-spacing: 0.704px;
  }
}

.service__kind-list {
  margin-top: 33px;
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 17px;
}
@media screen and (max-width: 767px) {
  .service__kind-list {
    max-width: 250px;
    width: 100%;
    margin-top: 30px;
    gap: 9px;
  }
}

.service__kind-item {
  width: 169px;
  height: 169px;
  background-color: rgba(71, 164, 255, 0.3);
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .service__kind-item {
    width: 76.404px;
    height: 76.404px;
  }
}
.service__kind-item img {
  margin-inline: auto;
}
.service__kind-item--1 {
  padding-top: 27px;
}
@media screen and (max-width: 767px) {
  .service__kind-item--1 {
    padding-top: 12px;
  }
}
.service__kind-item--1 img {
  width: 50.513px;
  height: 62.029px;
}
@media screen and (max-width: 767px) {
  .service__kind-item--1 img {
    width: 23.254px;
    height: 27.904px;
  }
}
.service__kind-item--2 {
  padding-top: 31px;
}
@media screen and (max-width: 767px) {
  .service__kind-item--2 {
    padding-top: 12px;
  }
}
.service__kind-item--2 img {
  width: 60.856px;
  height: 60.029px;
}
@media screen and (max-width: 767px) {
  .service__kind-item--2 img {
    width: 27.904px;
    height: 27.24px;
  }
}
.service__kind-item--3 {
  padding-top: 43px;
}
@media screen and (max-width: 767px) {
  .service__kind-item--3 {
    padding-top: 19.27px;
  }
}
.service__kind-item--3 img {
  width: 86.78px;
  height: 48px;
}
@media screen and (max-width: 767px) {
  .service__kind-item--3 img {
    width: 39.199px;
    height: 21.26px;
  }
}
.service__kind-item--4 {
  padding-top: 31px;
}
@media screen and (max-width: 767px) {
  .service__kind-item--4 {
    padding-top: 14px;
  }
}
.service__kind-item--4 img {
  width: 50.781px;
  height: 62.176px;
}
@media screen and (max-width: 767px) {
  .service__kind-item--4 img {
    width: 23.253px;
    height: 27.902px;
  }
}
.service__kind-item--5 {
  padding-top: 26.99px;
}
@media screen and (max-width: 767px) {
  .service__kind-item--5 {
    padding-top: 9px;
  }
}
.service__kind-item--5 img {
  width: 68px;
  height: 64.62px;
}
@media screen and (max-width: 767px) {
  .service__kind-item--5 img {
    width: 35px;
    height: 33.26px;
  }
}

.service__kind-text {
  margin-top: 20px;
  display: block;
  color: #081f68;
  font-weight: 700;
  line-height: 1;
  font-size: 16.095px;
  letter-spacing: 0.805px;
}
@media screen and (max-width: 767px) {
  .service__kind-text {
    font-size: 7.973px;
    letter-spacing: 0.399px;
  }
}
@media screen and (max-width: 767px) {
  .service__kind-text--1 {
    margin-top: 11.96px;
  }
}
@media screen and (max-width: 767px) {
  .service__kind-text--2 {
    margin-top: 12.62px;
  }
}
@media screen and (max-width: 767px) {
  .service__kind-text--3 {
    margin-top: 11.29px;
  }
}
.service__kind-text--4 {
  margin-top: 11.85px;
}
@media screen and (max-width: 767px) {
  .service__kind-text--4 {
    margin-top: 6.64px;
  }
}
.service__kind-text--5 {
  margin-top: 19.39px;
}
@media screen and (max-width: 767px) {
  .service__kind-text--5 {
    margin-top: 9.57px;
  }
}

.service__derail-list {
  margin-top: 48px;
  margin-inline: auto;
  max-width: 1120px;
  padding-inline: 20px;
}
@media screen and (max-width: 767px) {
  .service__derail-list {
    margin-top: 20.6px;
  }
}

.service-card {
  padding-bottom: 32px;
  background-color: #fff;
  border-radius: 10px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .service-card {
    padding-bottom: 8px;
    border-radius: 3.101px;
  }
}

.service-card + .service-card {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .service-card + .service-card {
    margin-top: 18px;
  }
}

.service-card__heading {
  padding-block: 13px;
  display: block;
  background: -webkit-gradient(linear, left top, right top, from(#0468d3), to(#05a7e6));
  background: linear-gradient(90deg, #0468d3 0%, #05a7e6 100%);
  color: #fff;
  text-align: center;
  font-size: clamp(0.75rem, 0.398rem + 1.5vw, 1.75rem);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 3.36px;
}
@media screen and (max-width: 767px) {
  .service-card__heading {
    padding-block: 1px;
    letter-spacing: 1.44px;
  }
}

.service-card__img-content {
  margin-top: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .service-card__img-content {
    margin-top: 8px;
    gap: 8px;
  }
}

.service-card__img-tag-before {
  padding-inline: 10px;
  padding-block: 5px;
  position: absolute;
  display: block;
  border-radius: 100px;
  background: #e7e7e7;
  color: #081f68;
  font-family: "helvetica-neue-lt-pro", sans-serif;
  font-size: clamp(0.438rem, 0.151rem + 1.22vw, 1.25rem);
  font-weight: 700;
  line-height: 1.5;
  top: 24px;
  left: 24px;
}
@media screen and (max-width: 767px) {
  .service-card__img-tag-before {
    border-radius: 31.009px;
    padding-inline: 5px;
    padding-block: 0;
    top: 3px;
    left: 4px;
  }
}

.service-card__img-tag-after {
  padding-inline: 10px;
  padding-block: 5px;
  position: absolute;
  display: block;
  border-radius: 100px;
  background: #195ebc;
  color: #fff;
  font-family: "helvetica-neue-lt-pro", sans-serif;
  font-size: clamp(0.438rem, 0.151rem + 1.22vw, 1.25rem);
  font-weight: 700;
  line-height: 1.5;
  top: 24px;
  left: 24px;
}
@media screen and (max-width: 767px) {
  .service-card__img-tag-after {
    border-radius: 31.009px;
    padding-inline: 5px;
    padding-block: 0;
    top: 3px;
    left: 4px;
  }
}

.service-card__img-photo {
  position: relative;
  width: clamp(148px, 38.141px + 29.296vw, 460px);
  height: auto;
  aspect-ratio: 92/91;
}
.service-card__img-photo img {
  display: block;
  border-radius: 5px;
}
@media screen and (max-width: 767px) {
  .service-card__img-photo img {
    border-radius: 3px;
  }
}

.cta {
  background: url(../img/bg_cta-pc.webp) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .cta {
    background: url(../img/sp/bg_cta-sp.webp) no-repeat center top/cover;
  }
}

.cta__inner {
  margin-inline: auto;
  padding-block: 61px;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .cta__inner {
    padding-block: 43px 7.79px;
  }
}

.cta__text-sm {
  text-align: center;
  font-size: clamp(0.875rem, 0.743rem + 0.56vw, 1.25rem);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 1.4px;
}
@media screen and (max-width: 767px) {
  .cta__text-sm {
    line-height: 1.5;
    letter-spacing: 0.98px;
  }
}

.cta__text-lg {
  margin-top: 14px;
  text-align: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: clamp(2.25rem, 1.37rem + 3.76vw, 4.75rem);
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: 6.84px;
}
@media screen and (max-width: 767px) {
  .cta__text-lg {
    margin-top: 5px;
    letter-spacing: 0.72px;
  }
}
.cta__text-lg span {
  font-weight: 900;
  color: #ffdd01;
}

.cta__list {
  margin-top: 10px;
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7.46px;
}
@media screen and (max-width: 767px) {
  .cta__list {
    margin-top: 13px;
    gap: 1.31px;
  }
}
.cta__list li {
  padding-inline: 13.85px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4.15px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 36px;
}
@media screen and (max-width: 767px) {
  .cta__list li {
    padding-inline: 5.25px;
    border-radius: 131.25px;
    gap: 2.62px;
    height: 21px;
  }
}
.cta__list span {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: clamp(0.656rem, 0.491rem + 0.7vw, 1.125rem);
  line-height: 1.05;
  font-weight: 700;
  letter-spacing: 0.9px;
}
@media screen and (max-width: 767px) {
  .cta__list span {
    letter-spacing: 0.525px;
  }
}

.cta__list-icon1 {
  width: 20.769px;
  height: 20.769px;
}
@media screen and (max-width: 767px) {
  .cta__list-icon1 {
    width: 11.813px;
    height: 11.813px;
  }
}

.cta__list-icon2 {
  width: 14.885px;
  height: 21.264px;
}
@media screen and (max-width: 767px) {
  .cta__list-icon2 {
    width: 8.072px;
    height: 11.531px;
  }
}

.cta__list-icon3 {
  width: 14.885px;
  height: 21.264px;
}
@media screen and (max-width: 767px) {
  .cta__list-icon3 {
    width: 13.207px;
    height: 11.74px;
  }
}

.cta__btn-content {
  margin-inline: auto;
  margin-top: 22px;
  padding-inline: 20px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 13px;
  max-width: 1080px;
  width: 100%;
  height: 166px;
  border-radius: 20px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .cta__btn-content {
    margin-top: 21px;
    border-radius: 5.208px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px;
    height: 245px;
  }
}
.cta__btn-content::before {
  content: "";
  position: absolute;
  top: -166px;
  left: -52.93px;
  background: url(../img/deco_cta.webp) no-repeat center center/contain;
  width: 180px;
  height: 180px;
}
@media screen and (max-width: 1279px) {
  .cta__btn-content::before {
    left: 20px;
  }
}
@media screen and (max-width: 1023px) {
  .cta__btn-content::before {
    display: none;
  }
}

.cta-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 333.303px;
  height: 88.707px;
  border-radius: 76.826px;
  -webkit-box-shadow: 0 0 8.864px 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0 0 8.864px 0 rgba(0, 0, 0, 0.25);
  font-size: clamp(1.125rem, 1.004rem + 0.51vw, 1.468rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 1.644px;
}
@media screen and (max-width: 1023px) {
  .cta-btn {
    width: 244px;
    font-size: 1.1rem;
  }
}
@media screen and (max-width: 767px) {
  .cta-btn {
    width: 331px;
    height: 60px;
    border-radius: 264.051px;
    -webkit-box-shadow: 0 0 6.096px 0 rgba(0, 0, 0, 0.25);
            box-shadow: 0 0 6.096px 0 rgba(0, 0, 0, 0.25);
    letter-spacing: 1.26px;
    font-size: clamp(1.125rem, 1.004rem + 0.51vw, 1.468rem);
  }
}
.cta-btn--tel {
  padding-left: 56px;
  gap: 6.95px;
  background: #195ebc;
}
@media screen and (max-width: 1023px) {
  .cta-btn--tel {
    padding-left: 16px;
  }
}
@media screen and (max-width: 767px) {
  .cta-btn--tel {
    padding-left: 53px;
    gap: 9px;
  }
}
.cta-btn--mail {
  padding-left: 43.7px;
  background: -webkit-gradient(linear, left top, right top, from(#0468d3), to(#05a7e6));
  background: linear-gradient(90deg, #0468d3 0%, #05a7e6 100%);
  gap: 13.5px;
}
@media screen and (max-width: 1023px) {
  .cta-btn--mail {
    padding-left: 20px;
  }
}
@media screen and (max-width: 767px) {
  .cta-btn--mail {
    padding-left: 57px;
    gap: 10px;
  }
}
.cta-btn--free {
  padding-left: 33.92px;
  gap: 13.5px;
  background: #ffdd01;
  color: #195ebc;
}
@media screen and (max-width: 1023px) {
  .cta-btn--free {
    padding-left: 14px;
  }
}
@media screen and (max-width: 767px) {
  .cta-btn--free {
    padding-left: 58px;
    gap: 12px;
  }
}

.cta-btn__icon-tel {
  width: 32.711px;
  height: 32.712px;
}
@media screen and (max-width: 767px) {
  .cta-btn__icon-tel {
    width: 28px;
    height: 28px;
  }
}

.cta-btn__icon-mail {
  width: 32.711px;
  height: 26.168px;
}
@media screen and (max-width: 767px) {
  .cta-btn__icon-mail {
    width: 23px;
    height: 18.687px;
  }
}

.cta-btn__icon-free {
  width: 26.938px;
  height: 38.483px;
}
@media screen and (max-width: 767px) {
  .cta-btn__icon-free {
    width: 20px;
    height: 29px;
  }
}

@media screen and (max-width: 1023px) {
  .cta__bottom-text {
    margin-top: 24px;
    display: block;
    color: #fff;
    text-align: center;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.42px;
  }
  .cta__bottom-text .tokyo {
    margin-left: 3px;
    color: #fff;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: 1.05px;
  }
  .cta__bottom-text .font-helvetica {
    font-size: 18px;
    font-weight: 700;
  }
}
@media screen and (max-width: 767px) {
  .cta__bottom-text {
    margin-top: 7px;
  }
}
.cta__bottom-text img {
  margin-top: 3px;
  margin-right: 3px;
  display: inline-block;
  width: 15.248px;
  height: 15.378px;
}

.flow {
  background-color: #eff6fc;
}

.flow__inner {
  margin-inline: auto;
  padding-inline: 20px;
  padding-block: 100px 110px;
  max-width: 940px;
}
@media screen and (max-width: 767px) {
  .flow__inner {
    padding-block: 48px 62px;
  }
}

.flow__heading-balloon-wrapper {
  margin-top: 20px;
  margin-inline: auto;
  background: url(../img/deco_flow-balloon-pc@2x.webp) no-repeat center center/contain;
  width: 440px;
  height: 45px;
}
@media screen and (max-width: 767px) {
  .flow__heading-balloon-wrapper {
    margin-top: 12px;
    background: url(../img/sp/deco_flow-balloon-sp@2x.webp) no-repeat center center/contain;
    max-width: 334px;
    width: 100%;
    height: 31.941px;
  }
}

.flow__heading-balloon-text {
  padding-top: 8px;
  display: block;
  color: #fff;
  text-align: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.05;
}
@media screen and (max-width: 767px) {
  .flow__heading-balloon-text {
    padding-top: 5.5px;
    font-size: 12px;
    font-weight: 700;
  }
}

.flow__heading-ja {
  color: #081f68;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: clamp(2.125rem, 1.333rem + 3.38vw, 4.375rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 3.5px;
}
@media screen and (max-width: 767px) {
  .flow__heading-ja {
    margin-top: 10px;
    letter-spacing: 0;
  }
}
.flow__heading-ja span {
  font-size: clamp(1.821rem, 1.032rem + 3.37vw, 4.063rem);
  font-weight: 900;
  letter-spacing: 3.25px;
}
@media screen and (max-width: 767px) {
  .flow__heading-ja span {
    letter-spacing: 0;
  }
}

.flow__content {
  margin-top: 60px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .flow__content {
    margin-top: 34px;
  }
}

.flow__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 28px;
}
@media screen and (max-width: 767px) {
  .flow__item {
    gap: 9.78px;
  }
}

.flow__item + .flow__item {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .flow__item + .flow__item {
    margin-top: 17px;
  }
}

.flow-head {
  position: relative;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .flow-head {
    -ms-flex-item-align: start;
        align-self: flex-start;
  }
}
.flow-head::after {
  content: "";
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: url(../img/deco_flow-line-pc.svg) no-repeat center top/cover;
  width: 2px;
  height: 25px;
}
@media screen and (max-width: 767px) {
  .flow-head::after {
    background: url(../img/sp/deco_flow-line-sp.svg) no-repeat center top/cover;
    top: calc(100% + 7.78px);
    width: 1px;
    height: 47.806px;
  }
}

.flow-head--last::after {
  display: none;
}

.flow-head__number {
  color: #195ebc;
  font-size: clamp(0.5rem, 0.236rem + 1.13vw, 1.25rem);
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .flow-head__number {
    margin-top: -2px;
    display: block;
  }
}

.flow-head__icon {
  margin-top: 8px;
  width: clamp(38px, 16.169px + 5.822vw, 100px);
  height: auto;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .flow-head__icon {
    margin-top: 2px;
  }
}

.flow-body {
  padding-block: 33px;
  padding-inline: 30px;
  border-radius: 5px;
  background: #fff;
  max-width: 772px;
  width: 100%;
  height: 128px;
}
@media screen and (max-width: 599px) {
  .flow-body {
    padding-block: 19px;
    padding-inline: 21px;
    max-width: 287px;
    max-height: 95px;
    height: 100%;
  }
}

.flow-body__heading {
  color: #081f68;
  font-size: clamp(1rem, 0.824rem + 0.75vw, 1.5rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 1.2px;
}
@media screen and (max-width: 767px) {
  .flow-body__heading {
    letter-spacing: 0.8px;
  }
}

.flow-body__description {
  margin-top: 20px;
  display: inline-block;
  color: #000;
  font-size: clamp(0.75rem, 0.618rem + 0.56vw, 1.125rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.9px;
}
@media screen and (max-width: 767px) {
  .flow-body__description {
    margin-top: 9px;
    line-height: 1.35;
    letter-spacing: 0.6px;
  }
}

.area {
  position: relative;
  overflow: hidden;
}
.area::after {
  position: absolute;
  content: "";
  background: url(../img/deco_area-town.webp) no-repeat center center/cover;
  bottom: 10px;
  left: 0px;
  width: 1440px;
  height: 140px;
}
@media screen and (max-width: 767px) {
  .area::after {
    display: none;
  }
}

.area__inner {
  margin-inline: auto;
  padding-block: 100px 197px;
  position: relative;
  max-width: 1401px;
  padding-inline: 20px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .area__inner {
    padding-block: 20px 106px;
  }
}
.area__inner::before {
  content: "";
  position: absolute;
  background: url(../img/deco_area-map.webp) no-repeat center top/cover;
  width: 97%;
  height: 596px;
  left: 21px;
  top: 160px;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .area__inner::before {
    width: 653.886px;
    height: 305.26px;
    top: 273px;
    left: calc(50% - 430px);
  }
}

.area__area-circle {
  position: absolute;
  top: 140px;
  right: 92px;
  width: 160px;
  height: 160px;
  background: -webkit-gradient(linear, left top, right top, from(#0468d3), to(#05a7e6));
  background: linear-gradient(90deg, #0468d3 0%, #05a7e6 100%);
  border: 3px solid #fff;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .area__area-circle {
    display: none;
  }
}

.area__circle-text {
  margin-inline: auto;
  text-align: center;
  margin-top: 40px;
  display: block;
  color: #fff;
  text-align: center;
  font-size: 17.518px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 1.226px;
}
.area__circle-text .bottom {
  margin-top: 4px;
  display: block;
  font-size: 25.693px;
  font-weight: 900;
  line-height: 1;
}
.area__circle-text .font-helvetica {
  font-size: 37.372px;
  font-weight: 700;
}
.area__circle-text img {
  margin-top: 13px;
  display: inline-block;
  width: 21.022px;
  height: 21.022px;
}

.area__content {
  margin-left: clamp(10px, -138.571px + 19.345vw, 140px);
  max-width: clamp(465px, 255.857px + 27.232vw, 648px);
  width: 100%;
}
@media screen and (max-width: 767px) {
  .area__content {
    margin-inline: auto;
  }
}

.area__heading-en {
  padding-left: 70px;
}
@media screen and (max-width: 767px) {
  .area__heading-en {
    padding-left: 50px;
  }
}
.area__heading-en::before {
  left: 0;
  width: 58px;
}
@media screen and (max-width: 767px) {
  .area__heading-en::before {
    width: 38px;
  }
}
.area__heading-en::after {
  display: none;
}

.area__heading-ja {
  margin-top: 20px;
  color: #081f68;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: clamp(2.133rem, 1.343rem + 3.37vw, 4.375rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 4.9px;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .area__heading-ja {
    margin-top: 12px;
    letter-spacing: 1.706px;
  }
}

.area__lead {
  margin-top: 15px;
  color: #081f68;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: clamp(1.688rem, 1.401rem + 1.22vw, 2.5rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -3px;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .area__lead {
    margin-top: 5.88px;
  }
}
.area__lead .gradation {
  margin-top: 8px;
  position: relative;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: clamp(1.813rem, 1.35rem + 1.97vw, 3.125rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 3.5px;
  color: transparent;
  background: linear-gradient(93deg, #0468d3 0.91%, #05a7e6 99.73%);
  -webkit-background-clip: text;
          background-clip: text;
}
@media screen and (max-width: 767px) {
  .area__lead .gradation {
    letter-spacing: 1.68px;
  }
}
.area__lead .gradation::before {
  content: "";
  position: absolute;
  bottom: 9px;
  left: 0;
  background-color: #ffdd01;
  height: 0.5em;
  width: 98%;
  z-index: -1;
}
.area__lead .font-helvetica {
  font-weight: 700;
  font-size: clamp(2.125rem, 1.465rem + 2.82vw, 4rem);
}

.area__description-wrapper {
  margin-top: 36px;
}
@media screen and (max-width: 767px) {
  .area__description-wrapper {
    margin-top: 16px;
  }
}

.area-description {
  font-size: clamp(0.75rem, 0.618rem + 0.56vw, 1.125rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 1.26px;
}
@media screen and (max-width: 767px) {
  .area-description {
    font-weight: 400;
    letter-spacing: 0.84px;
  }
}

.area-description + .area-description {
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .area-description + .area-description {
    margin-top: 1.3rem;
  }
}

.area__list-content {
  margin-top: 49px;
}
@media screen and (max-width: 767px) {
  .area__list-content {
    margin-top: 20px;
  }
}

.area__list-lead {
  margin-top: 49px;
  display: grid;
  place-items: center;
  max-width: 618px;
  width: 100%;
  height: 46px;
  border-radius: 3px;
  background: #195ebc;
}
@media screen and (max-width: 767px) {
  .area__list-lead {
    margin-top: 30px;
    height: 24.632px;
  }
}

.area__list-lead-text {
  position: relative;
  display: inline-block;
  color: #fff;
  text-align: center;
  font-size: clamp(0.821rem, 0.67rem + 0.64vw, 1.25rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 1.4px;
}
.area__list-lead-text span {
  color: #ffdd01;
  font-size: clamp(1.026rem, 0.904rem + 0.52vw, 1.375rem);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 1.54px;
  letter-spacing: 1.15px;
}
.area__list-lead-text .font-helvetica {
  font-weight: 700;
}
.area__list-lead-text::before {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(100% + 34px);
  -webkit-transform: translateY(-50%) rotate(-30deg);
          transform: translateY(-50%) rotate(-30deg);
  width: 2px;
  height: 28px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .area__list-lead-text::before {
    width: 1px;
    height: 16px;
    top: 60%;
    right: calc(100% + 6px);
  }
}
.area__list-lead-text::after {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(100% + 34px);
  -webkit-transform: translateY(-50%) rotate(30deg);
          transform: translateY(-50%) rotate(30deg);
  width: 2px;
  height: 28px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .area__list-lead-text::after {
    width: 1px;
    height: 16px;
    top: 60%;
    left: calc(100% + 6px);
  }
}

@media screen and (max-width: 767px) {
  .area-list-wrapper {
    margin-inline: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.area-list-heading {
  margin-top: 17px;
  color: #195ebc;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .area-list-heading {
    margin-top: 10px;
  }
}

.area-list {
  margin-top: 8px;
  display: grid;
  grid-template-columns: repeat(6, clamp(48px, 30.394px + 4.695vw, 98px));
  grid-template-rows: repeat(4, clamp(18px, 10.254px + 2.066vw, 40px));
  gap: 6px;
}
@media screen and (max-width: 767px) {
  .area-list {
    gap: 2px;
  }
}
.area-list li {
  border-radius: 3px;
  background: #fff;
  -webkit-box-shadow: 0 4px 10px 0 rgba(25, 94, 188, 0.15);
          box-shadow: 0 4px 10px 0 rgba(25, 94, 188, 0.15);
  display: grid;
  place-items: center;
  text-align: center;
  font-size: clamp(0.563rem, 0.408rem + 0.66vw, 1rem);
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .area-list li {
    border-radius: 0.971px;
    font-weight: 500;
  }
}

.faq {
  background: #eff6fc;
}

.faq__inner {
  max-width: 940px;
  margin-inline: auto;
  padding-block: 100px 116px;
  padding-inline: 20px;
}
@media screen and (max-width: 767px) {
  .faq__inner {
    padding-block: 30px 38px;
  }
}

.faq__heading-ja {
  display: block;
  text-align: center;
  margin-top: 20px;
  color: #081f68;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: clamp(2.125rem, 1.333rem + 3.38vw, 4.375rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 3.5px;
}
@media screen and (max-width: 767px) {
  .faq__heading-ja {
    margin-top: 12px;
    letter-spacing: 0.56px;
  }
}

.faq__lead {
  display: block;
  margin-top: 40px;
  text-align: center;
  font-size: clamp(0.75rem, 0.662rem + 0.38vw, 1rem);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 1.12px;
}
@media screen and (max-width: 767px) {
  .faq__lead {
    margin-top: 15px;
    letter-spacing: 0.84px;
    line-height: 1.4;
  }
}

.faq__content {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .faq__content {
    margin-top: 30px;
  }
}

.faq-box {
  padding-inline: 20px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .faq-box {
    padding-inline: 20px 38px;
  }
}

.faq-box + .faq-box {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .faq-box + .faq-box {
    margin-top: 11px;
  }
}

.faq-box__head {
  padding-block: 21px;
}
@media screen and (max-width: 767px) {
  .faq-box__head {
    padding-block: 14px;
  }
}

.faq-box__body {
  display: none;
}

.faq-box__btn {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.faq-box__btn.is-open .faq-box__question-toggle::before {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
}
.faq-box__btn.is-open .faq-box__question-text::after {
  display: block;
}

.faq-box__question-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .faq-box__question-container {
    gap: 12px;
  }
}

.faq-box__question-icon {
  display: block;
  width: clamp(38px, 32.366px + 1.502vw, 54px);
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background-color: #195ebc;
  color: #fff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: clamp(1.375rem, 1.067rem + 1.31vw, 2.25rem);
  font-weight: 700;
  line-height: 1;
  padding-bottom: 0.1em;
}

.faq-box__question-text {
  position: relative;
  display: block;
  max-width: 667px;
  width: 100%;
  font-size: clamp(0.875rem, 0.721rem + 0.66vw, 1.313rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 1.05px;
  text-align: left;
}
@media screen and (max-width: 599px) {
  .faq-box__question-text {
    max-width: 226px;
    letter-spacing: normal;
    line-height: 1.5;
  }
}
.faq-box__question-text::after {
  content: "";
  position: absolute;
  bottom: -32px;
  left: 0;
  width: 100%;
  height: 1px;
  background: url(../img/deco_faq-line.svg) no-repeat center center/cover;
  display: none;
}

.faq-box__question-toggle {
  position: relative;
  display: block;
  width: 32px;
  height: 32px;
}
@media screen and (max-width: 767px) {
  .faq-box__question-toggle {
    width: 12px;
    height: 12px;
  }
}
.faq-box__question-toggle::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 3px;
  height: 25px;
  background-color: #081f68;
  border-radius: 20px;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
@media screen and (max-width: 767px) {
  .faq-box__question-toggle::before {
    width: 2px;
    height: 15px;
  }
}
.faq-box__question-toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 25px;
  height: 3px;
  background-color: #081f68;
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .faq-box__question-toggle::after {
    width: 15px;
    height: 2px;
  }
}

.faq-box__answer-container {
  padding-block: 32px 21px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 24px;
}
@media screen and (max-width: 767px) {
  .faq-box__answer-container {
    gap: 8px;
  }
}

.faq-box__answer-icon {
  margin-top: -17px;
  display: block;
  width: clamp(38px, 32.366px + 1.502vw, 54px);
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background-color: #ffdd01;
  color: #081f68;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: clamp(1.375rem, 1.067rem + 1.31vw, 2.25rem);
  font-weight: 700;
  line-height: 1;
  padding-bottom: 0.1em;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.faq-box__answer-text {
  max-width: 667px;
  width: 100%;
  font-size: clamp(0.813rem, 0.702rem + 0.47vw, 1.125rem);
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .faq-box__answer-text {
    font-weight: 400;
  }
}

.contact__inner {
  max-width: 1120px;
  width: 100%;
  margin-inline: auto;
  padding-block: 100px 142px;
  padding-inline: 20px;
}
@media screen and (max-width: 1279px) {
  .contact__inner {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 767px) {
  .contact__inner {
    max-width: 940px;
    padding-block: 50px 60px;
    padding-inline: 20px;
  }
}

.contact__heading-ja {
  display: block;
  text-align: center;
  margin-top: 20px;
  color: #081f68;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: clamp(2.125rem, 1.333rem + 3.38vw, 4.375rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 3.5px;
}
@media screen and (max-width: 767px) {
  .contact__heading-ja {
    margin-top: 12px;
    letter-spacing: 0.56px;
  }
}

.contact__lead {
  display: block;
  margin-top: 36px;
  text-align: center;
  font-size: clamp(0.75rem, 0.662rem + 0.38vw, 1rem);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.8px;
  width: 100%;
}
@media screen and (max-width: 599px) {
  .contact__lead {
    margin-inline: auto;
    margin-top: 8px;
    letter-spacing: 0.84px;
  }
}
@media screen and (max-width: 767px) {
  .contact__lead .hidden-pc--lg {
    display: none;
  }
}

.contact__content {
  margin-top: 50px;
  padding-block: 68px 50px;
  background: #fff;
  border-radius: 20px;
}
.contact__content._confirm {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .contact__content {
    margin-top: 27px;
    padding-block: 30px 46px;
    border-radius: 6.204px;
  }
}

.contact__form {
  margin-inline: auto;
  padding-inline: 20px;
  max-width: 940px;
  width: 100%;
}
@media screen and (max-width: 1279px) {
  .contact__form {
    padding-inline: 30px;
  }
}
@media screen and (max-width: 767px) {
  .contact__form {
    max-width: calc(100% + 40px);
    padding-inline: 15px;
  }
}

.form-field {
  padding-bottom: 39px;
  border-bottom: 1px solid #d4d4d4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.form-field._confirm {
  padding-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .form-field._confirm {
    padding-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  .form-field {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-bottom: 17px;
    border-bottom: 0.5px solid #d4d4d4;
    gap: 16px;
  }
}

.form-field + .form-field {
  margin-top: 38px;
}
@media screen and (max-width: 767px) {
  .form-field + .form-field {
    margin-top: 21px;
  }
}
.form-field + .form-field:nth-child(2) {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .form-field + .form-field:nth-child(2) {
    margin-top: 20px;
  }
}

.form-field._confirm + .form-field._confirm {
  margin-top: 61px;
}
@media screen and (max-width: 767px) {
  .form-field._confirm + .form-field._confirm {
    margin-top: 30px;
  }
}

.form-field.form-field__checkbox {
  border-bottom: none;
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  .form-field.form-field__checkbox {
    margin-top: 14px;
  }
}

.form-radio,
.form-checkbox {
  position: relative;
  cursor: pointer;
}

.form-radio__input,
.form-checkbox__input {
  width: 1px;
  height: 1px;
  position: absolute;
  clip: rect(0, 0, 0, 0);
  overflow: hidden;
}

.form-field__radio {
  padding-bottom: 47px;
}
@media screen and (max-width: 767px) {
  .form-field__radio {
    padding-bottom: 16px;
  }
}

.form-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #081f68;
  font-size: clamp(1rem, 0.868rem + 0.56vw, 1.375rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 1px;
  max-width: 238px;
  width: 100%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  gap: 12px;
}
@media screen and (max-width: 767px) {
  .form-label {
    max-width: 100%;
    letter-spacing: 0.5px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.form-label--email, .form-label--message {
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .form-label--email, .form-label--message {
    gap: 9px;
  }
}
.form-label--message {
  margin-top: 20px;
  -ms-flex-item-align: start;
      align-self: flex-start;
}
@media screen and (max-width: 767px) {
  .form-label--message {
    margin-top: 0;
  }
}

.form-radio__input-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 62.19px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 562px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .form-radio__input-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    min-width: 152px;
  }
}

.form-radio__input:checked + .form-radio__text::after {
  opacity: 1;
}

.form-radio__text {
  position: relative;
  display: inline-block;
  padding-left: 35px;
  color: #081f68;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .form-radio__text {
    padding-left: 24.4px;
    font-size: 16px;
  }
}
.form-radio__text::before, .form-radio__text::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-radius: 50%;
}
.form-radio__text::before {
  width: 23.625px;
  height: 23.625px;
  border-radius: 50%;
  border: 2px solid #d4d4d4;
  left: 0;
}
@media screen and (max-width: 767px) {
  .form-radio__text::before {
    width: 17.719px;
    height: 17.719px;
  }
}
.form-radio__text::after {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #081f68;
  left: 7px;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .form-radio__text::after {
    width: 8.4px;
    height: 8.4px;
    left: 4.5px;
  }
}

.form-text__input,
.form-tel__input,
.form-email__input,
.form-textarea__input {
  display: block;
  padding-inline: 21px;
  padding-block: 23px;
  max-width: 562px;
  width: 100%;
  height: 68px;
  border: none;
  border-radius: 5px;
  background: #f0f5f5;
  font-size: 22px;
}
@media screen and (max-width: 767px) {
  .form-text__input,
  .form-tel__input,
  .form-email__input,
  .form-textarea__input {
    padding-inline: 17px 16px;
    max-width: 100%;
    height: 50px;
    border-radius: 2px;
    padding-block: 17px;
    font-size: 16px;
  }
}

::-webkit-input-placeholder {
  color: #ddd;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
}

::-moz-placeholder {
  color: #ddd;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
}

:-ms-input-placeholder {
  color: #ddd;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
}

::-ms-input-placeholder {
  color: #ddd;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
}

::placeholder {
  color: #ddd;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  ::-webkit-input-placeholder {
    font-size: 16px;
    line-height: 1.35;
  }
  ::-moz-placeholder {
    font-size: 16px;
    line-height: 1.35;
  }
  :-ms-input-placeholder {
    font-size: 16px;
    line-height: 1.35;
  }
  ::-ms-input-placeholder {
    font-size: 16px;
    line-height: 1.35;
  }
  ::placeholder {
    font-size: 16px;
    line-height: 1.35;
  }
}

.form-textarea__input {
  min-height: 258px;
  resize: vertical;
}
@media screen and (max-width: 767px) {
  .form-textarea__input {
    min-height: 145px;
  }
}

.tag {
  display: grid;
  place-items: center;
  width: 46px;
  height: clamp(18px, 16.239px + 0.469vw, 23px);
  border-radius: 100px;
  background: #195ebc;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 1.4px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .tag {
    font-size: 12px;
    letter-spacing: 1.2px;
  }
}
.tag--optional {
  color: #6f6f6f;
  background: #f0f5f5;
}

.form-privacy-box {
  margin-top: 40px;
  height: 210px;
  max-width: 855px;
  width: 100%;
  padding-block: 20px;
  border: 1px solid #d9d9dd;
  padding-inline: 39px 14px;
}
@media screen and (max-width: 767px) {
  .form-privacy-box {
    margin-top: 20px;
    padding-block: 13px;
    padding-inline: 20px 14px;
  }
}

.form-privacy-box__content {
  margin-inline: auto;
  max-width: inherit;
  height: 180px;
  overflow-y: scroll;
  border-radius: 5px;
  background: #fff;
  line-height: 1.85;
  font-size: 14.5px;
  color: #000;
}
@media screen and (max-width: 767px) {
  .form-privacy-box__content {
    max-width: 100%;
  }
}

.form-privacy-box__inner {
  padding-right: 25px;
  max-width: 780px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .form-privacy-box__inner {
    padding-right: 15px;
  }
}

.form-privacy-box__title {
  display: block;
  color: #000;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.48px;
}

.form-privacy-box__text {
  color: #000;
  font-size: 14px;
  font-weight: 400;
  line-height: 2;
}
.form-privacy-box__text span {
  display: block;
  margin-left: 3rem;
}

.form-privacy-box__text + .form-privacy-box__text {
  margin-top: 1rem;
}

.form-privacy-box__content::-webkit-scrollbar {
  width: 5px;
}
.form-privacy-box__content::-webkit-scrollbar-track {
  background: #e6e6e6;
  border-radius: 60px;
}
.form-privacy-box__content::-webkit-scrollbar-thumb {
  background-color: #081f68;
  border-radius: 60px;
  height: 31.5px;
}
.form-privacy-box__content::-webkit-scrollbar-thumb:hover {
  background-color: #081f68;
}

.form-field__checkbox {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .form-field__checkbox {
    margin-top: 30px;
  }
}

.form-checkbox {
  margin-inline: auto;
}

.form-checkbox__input:checked + .form-checkbox__text::after {
  display: block;
}

.form-checkbox__text {
  padding-left: 30px;
  position: relative;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .form-checkbox__text {
    padding-left: 19.25px;
    font-size: 14px;
  }
}
.form-checkbox__text::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border: 1.5px solid #000;
  border-radius: 2px;
  width: 18px;
  height: 18px;
}
@media screen and (max-width: 767px) {
  .form-checkbox__text::before {
    width: 14.25px;
    height: 14.25px;
    border-radius: 1px;
  }
}
.form-checkbox__text::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 3px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: #081f68;
  width: 11px;
  height: 11px;
  display: none;
}
@media screen and (max-width: 767px) {
  .form-checkbox__text::after {
    width: 8px;
    height: 8px;
    left: 3px;
  }
}

.form-btn {
  margin-top: 50px;
  margin-inline: auto;
  width: 320px;
  height: 76px;
  display: grid;
  place-items: center;
  border-radius: 100px;
  border: none;
  background: #195ebc;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 1.2px;
  cursor: pointer;
}
.form-btn:disabled {
  cursor: initial;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .form-btn {
    margin-top: 30px;
    max-width: 305px;
    width: 100%;
    height: 60px;
    font-size: 18px;
    line-height: 1;
    letter-spacing: 1.26px;
  }
}/*# sourceMappingURL=style.css.map */