@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Overpass:ital,wght@0,100..900;1,100..900&display=swap");
.icv__control .icv__control-line {
  background: #001F3E !important;
}
.icv__control .icv__circle {
  background: rgba(255, 255, 255, 0.4) !important;
  border-color: #001F3E !important;
}
.icv__control .icv__arrow-wrapper svg path {
  stroke: #001F3E !important;
}
.icv__control .icv__arrow-wrapper:nth-child(1) {
  -webkit-transform: translateX(5px) !important;
          transform: translateX(5px) !important;
}
.icv__control .icv__arrow-wrapper:nth-child(1) svg {
  -webkit-transform: scale(0.7, 1) rotateZ(180deg) !important;
          transform: scale(0.7, 1) rotateZ(180deg) !important;
}
.icv__control .icv__arrow-wrapper:nth-child(2) {
  -webkit-transform: translateX(-5px) !important;
          transform: translateX(-5px) !important;
}
.icv__control .icv__arrow-wrapper:nth-child(2) svg {
  -webkit-transform: scale(0.7, 1) rotateZ(0deg) !important;
          transform: scale(0.7, 1) rotateZ(0deg) !important;
}

.after-image-pool img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: auto;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: 2;
}

.after-image-pool img.active {
  opacity: 1;
  pointer-events: auto;
}

.after-text-pool .after-text {
  display: none;
}

.after-text-pool .after-text.active {
  display: block;
}

.image-compare-under {
  margin-bottom: calc(100vw * (8 / 375));
}
@media (min-width: 768px), print {
  .image-compare-under {
    margin-bottom: 0;
  }
}
.image-compare-under .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.image-compare-under .flex > div {
  text-align: center;
  width: 50%;
}
.image-compare-under .flex > div.left, .image-compare-under .flex > div.right {
  color: #001F3E;
  background: #fff;
  padding: calc(100vw * (2.5 / 375)) calc(100vw * (4 / 375)) calc(100vw * (20 / 375));
  position: relative;
}
@media (min-width: 768px), print {
  .image-compare-under .flex > div.left, .image-compare-under .flex > div.right {
    padding: 5px 5px 40px;
  }
}
.image-compare-under .flex > div.left .midashi, .image-compare-under .flex > div.right .midashi {
  font-size: 22px;
  font-weight: bold;
  line-height: 1.8;
}
@media (max-width: 767.98px) {
  .image-compare-under .flex > div.left .midashi, .image-compare-under .flex > div.right .midashi {
    font-size: calc(100vw * (15 / 375));
  }
}
.image-compare-under .flex > div.left .text, .image-compare-under .flex > div.right .text {
  line-height: 1.5;
  margin-bottom: calc(100vw * (2.5 / 375));
}
@media (min-width: 768px), print {
  .image-compare-under .flex > div.left .text, .image-compare-under .flex > div.right .text {
    margin-bottom: 0.5em;
  }
}
@media (min-width: 768px), print {
  .image-compare-under .flex > div.left .flex, .image-compare-under .flex > div.right .flex {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 15px;
  }
}
.image-compare-under .flex > div.left .flex button, .image-compare-under .flex > div.right .flex button {
  color: #fff;
  text-align: center;
  width: calc(100vw * (68 / 375));
  height: calc(100vw * (22 / 375));
  background: #001F3E;
  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;
  -webkit-filter: drop-shadow(3px 3px 2px #4E7193);
          filter: drop-shadow(3px 3px 2px #4E7193);
}
@media (min-width: 768px), print {
  .image-compare-under .flex > div.left .flex button, .image-compare-under .flex > div.right .flex button {
    width: 170px;
    height: 30px;
  }
}
.image-compare-under .flex > div.left .flex button[disabled], .image-compare-under .flex > div.right .flex button[disabled] {
  opacity: 0;
}
.image-compare-under .flex > div.left .flex button.arrow-left svg, .image-compare-under .flex > div.left .flex button.arrow-right svg, .image-compare-under .flex > div.right .flex button.arrow-left svg, .image-compare-under .flex > div.right .flex button.arrow-right svg {
  width: calc(100vw * (15 / 375));
  height: auto;
}
@media (min-width: 768px), print {
  .image-compare-under .flex > div.left .flex button.arrow-left svg, .image-compare-under .flex > div.left .flex button.arrow-right svg, .image-compare-under .flex > div.right .flex button.arrow-left svg, .image-compare-under .flex > div.right .flex button.arrow-right svg {
    width: 22px;
  }
}
.image-compare-under .flex > div.left .flex button.arrow-left, .image-compare-under .flex > div.right .flex button.arrow-left {
  border-radius: 50vw 0 0 50vw;
}
.image-compare-under .flex > div.left .flex button.arrow-left svg, .image-compare-under .flex > div.right .flex button.arrow-left svg {
  -webkit-transform: scale(0.7, 1) rotateZ(180deg);
          transform: scale(0.7, 1) rotateZ(180deg);
}
.image-compare-under .flex > div.left .flex button.arrow-right, .image-compare-under .flex > div.right .flex button.arrow-right {
  border-radius: 0 50vw 50vw 0;
}
.image-compare-under .flex > div.left .flex button.arrow-right svg, .image-compare-under .flex > div.right .flex button.arrow-right svg {
  -webkit-transform: scale(0.7, 1) rotateZ(0deg);
          transform: scale(0.7, 1) rotateZ(0deg);
}
.image-compare-under .flex > div.left:before, .image-compare-under .flex > div.left:after, .image-compare-under .flex > div.right:before, .image-compare-under .flex > div.right:after {
  width: 100%;
  height: calc(100vw * (16 / 375));
  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;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media (min-width: 768px), print {
  .image-compare-under .flex > div.left:before, .image-compare-under .flex > div.left:after, .image-compare-under .flex > div.right:before, .image-compare-under .flex > div.right:after {
    height: 30px;
  }
}
.image-compare-under .flex > div.left:before, .image-compare-under .flex > div.right:before {
  content: "";
  background: #4E88B6;
}
.image-compare-under .flex > div.left:after, .image-compare-under .flex > div.right:after {
  color: #fff;
  font-size: 26px;
  font-family: "Oswald";
  font-weight: bold;
  letter-spacing: 0.1em;
}
@media (max-width: 767.98px) {
  .image-compare-under .flex > div.left:after, .image-compare-under .flex > div.right:after {
    font-size: calc(100vw * (13 / 375));
  }
}
.image-compare-under .flex > div.left {
  border-right: 1px solid #001F3E;
}
.image-compare-under .flex > div.left:after {
  content: "BEFORE";
}
.image-compare-under .flex > div.right {
  border-left: 1px solid #001F3E;
}
.image-compare-under .flex > div.right:after {
  content: "AFTER";
}

.home main {
  display: -ms-grid;
  display: grid;
}
.home main .mv {
  background: -webkit-gradient(linear, left top, left bottom, from(#5693cd), to(#0d151d));
  background: linear-gradient(180deg, #5693cd 0%, #0d151d 100%);
}
.home main .mv .l-container {
  --container: 1280px;
}
@media (max-width: 1023.98px) {
  .home main .mv .l-container {
    margin-inline: unset;
  }
}
.home main .mv .mv__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.home main .case-overview {
  padding-bottom: 58px;
  color: #fff;
  background-color: #001f3e;
}
@media (max-width: 767.98px) {
  .home main .case-overview {
    padding-bottom: calc(100vw * (24 / 375));
  }
}
.home main .case-overview .l-container {
  --container: 700px;
}
.home main .case-overview .case-overview__slider--mobile .swiper-slide img {
  width: 94px;
}
@media (max-width: 767.98px) {
  .home main .case-overview .case-overview__slider--mobile .swiper-slide img {
    width: calc(100vw * (94 / 375));
  }
}
.home main .case-overview .case-overview__slider--desktop .swiper-slide img {
  width: 270px;
}
@media (max-width: 767.98px) {
  .home main .case-overview .case-overview__slider--desktop .swiper-slide img {
    width: calc(100vw * (270 / 375));
  }
}
.home main .case-overview .case-overview__title {
  padding: 40px 0;
  margin-top: 60px;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.1em;
}
@media (max-width: 767.98px) {
  .home main .case-overview .case-overview__title {
    padding: calc(100vw * (40 / 375)) 0;
    margin-top: unset;
    font-size: calc(100vw * (20 / 375));
  }
}
.home main .case-overview .case-overview__title strong {
  font-size: 40px;
  color: #f9b90f;
}
@media (max-width: 767.98px) {
  .home main .case-overview .case-overview__title strong {
    font-size: calc(100vw * (32 / 375));
  }
}
.home main .case-overview .case-overview__graph {
  margin-top: 60px;
  color: currentColor;
}
@media (max-width: 767.98px) {
  .home main .case-overview .case-overview__graph {
    margin-top: calc(100vw * (60 / 375));
  }
}
.home main .case-image {
  color: #f3f4f8;
  background-color: #001f3e;
}
.home main .case-image .l-container {
  padding-top: 80px;
  padding-bottom: 80px;
}
@media (max-width: 767.98px) {
  .home main .case-image .l-container {
    padding-top: calc(100vw * (60 / 375));
    padding-bottom: calc(100vw * (60 / 375));
  }
}
.home main .case-image .icv__label {
  bottom: 20px;
  padding: unset;
  font-family: Oswald;
  font-size: 28px;
  font-weight: 500;
  line-height: 1;
  color: #001f3e;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  background-color: unset;
}
@media (max-width: 767.98px) {
  .home main .case-image .icv__label {
    bottom: calc(100vw * (10 / 375));
    font-size: calc(100vw * (14 / 375));
  }
}
.home main .case-image .icv__label-before {
  left: 25%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.home main .case-image .icv__label-after {
  right: 25%;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
}
.home main .case-image .case-image__title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-align: center;
  letter-spacing: 0.1em;
}
@media (max-width: 767.98px) {
  .home main .case-image .case-image__title {
    font-size: calc(100vw * (16 / 375));
  }
}
.home main .case-image .case-image__title strong {
  display: inline-block;
  margin-top: 18px;
  font-size: 32px;
}
@media (max-width: 767.98px) {
  .home main .case-image .case-image__title strong {
    margin-top: calc(100vw * (10 / 375));
    font-size: calc(100vw * (24 / 375));
  }
}
.home main .case-image .case-image__tab {
  position: relative;
  z-index: 0;
  margin-top: 60px;
}
@media (max-width: 767.98px) {
  .home main .case-image .case-image__tab {
    margin-top: calc(100vw * (60 / 375));
  }
}
.home main .case-image .case-image__tab-content {
  position: relative;
  z-index: 0;
}
.home main .case-image .case-image__tab-content .image-compare-wrapper:not(.is-active) {
  position: absolute;
  top: 0;
  display: none;
  width: 100%;
}
.home main .case-image .case-image__block-header {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: -30px;
}
@media (max-width: 767.98px) {
  .home main .case-image .case-image__block-header {
    gap: calc(100vw * (10 / 375));
    margin-bottom: calc(100vw * (-30 / 375));
  }
}
.home main .case-image .case-image__block-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
  padding: 74px 50px 40px;
  border: 1px solid #fff;
}
@media (max-width: 767.98px) {
  .home main .case-image .case-image__block-body {
    gap: calc(100vw * (20 / 375));
    padding: calc(100vw * (55 / 375)) calc(100vw * (16 / 375)) calc(100vw * (16 / 375));
  }
}
.home main .case-image .case-image__block-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 767.98px) {
  .home main .case-image .case-image__block-footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(100vw * (20 / 375));
  }
}
.home main .case-image .case-image__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 767.98px) {
  .home main .case-image .case-image__info {
    gap: calc(100vw * (10 / 375));
  }
}
.home main .case-image .case-image__avatar {
  width: 85px;
  -webkit-filter: drop-shadow(0px 5px 10px rgba(0, 0, 0, 0.2));
          filter: drop-shadow(0px 5px 10px rgba(0, 0, 0, 0.2));
}
@media (max-width: 767.98px) {
  .home main .case-image .case-image__avatar {
    width: calc(100vw * (85 / 375));
    -webkit-filter: drop-shadow(0px calc(100vw * (5 / 375)) calc(100vw * (10 / 375)) rgba(0, 0, 0, 0.2));
            filter: drop-shadow(0px calc(100vw * (5 / 375)) calc(100vw * (10 / 375)) rgba(0, 0, 0, 0.2));
  }
}
.home main .case-image .case-image__profile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
}
@media (max-width: 767.98px) {
  .home main .case-image .case-image__profile {
    gap: calc(100vw * (10 / 375));
  }
}
.home main .case-image .case-image__col--shrink {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.home main .case-image .case-image__name {
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-align: center;
  letter-spacing: 0.05em;
}
@media (max-width: 767.98px) {
  .home main .case-image .case-image__name {
    font-size: calc(100vw * (14 / 375));
  }
}
.home main .case-image .case-image__overview {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
  max-width: 240px;
}
@media (max-width: 767.98px) {
  .home main .case-image .case-image__overview {
    gap: calc(100vw * (10 / 375));
    max-width: calc(100vw * (230 / 375));
  }
}
.home main .case-image .case-image__desc {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #fff;
  letter-spacing: 0.071em;
}
@media (max-width: 767.98px) {
  .home main .case-image .case-image__desc {
    font-size: calc(100vw * (14 / 375));
  }
}
.home main .case-image .case-image__desc-title {
  display: inline;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  letter-spacing: 0.071em;
}
@media (max-width: 767.98px) {
  .home main .case-image .case-image__desc-title {
    font-size: calc(100vw * (9 / 375));
  }
}
.home main .case-image .case-image__desc-lead {
  display: inline;
  font-size: 14px;
}
@media (max-width: 767.98px) {
  .home main .case-image .case-image__desc-lead {
    font-size: calc(100vw * (9 / 375));
  }
}
.home main .case-image .case-image__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 80px;
}
@media (max-width: 767.98px) {
  .home main .case-image .case-image__button {
    margin-top: calc(100vw * (80 / 375));
  }
}
.home main .case-image .table-info {
  color: #fff;
  width: 100%;
}
.home main .feature {
  padding-top: 80px;
  padding-bottom: 80px;
  color: #fff;
  background-color: #4e88b6;
}
@media (max-width: 767.98px) {
  .home main .feature {
    padding-top: calc(100vw * (60 / 375));
    padding-bottom: calc(100vw * (60 / 375));
  }
}
.home main .feature .feature__title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.1em;
}
.home main .feature .feature__title strong {
  display: inline-block;
  margin-top: 18px;
  font-size: 32px;
  font-weight: 700;
  color: #f9b90f;
  letter-spacing: 0.1em;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__title strong {
    margin-top: calc(100vw * (18 / 375));
    font-size: calc(100vw * (32 / 375));
  }
}
@media (max-width: 767.98px) {
  .home main .feature .feature__title {
    font-size: calc(100vw * (24 / 375));
  }
}
.home main .feature .feature__container-img {
  position: relative;
  z-index: 0;
  max-width: 900px;
  margin: 60px auto 0;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__container-img {
    padding-top: calc(100vw * (170 / 375));
    margin-top: calc(100vw * (60 / 375));
  }
}
.home main .feature .feature__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 25px;
  max-width: 900px;
  padding: 25px;
  margin: 60px auto 0;
  color: #001f3e;
  background-color: #fff;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(100vw * (25 / 375));
    max-width: calc(100vw * (900 / 375));
    padding: calc(100vw * (25 / 375));
    margin: calc(100vw * (40 / 375)) auto 0;
  }
}
.home main .feature .feature__col-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__col-block {
    display: contents;
    gap: calc(100vw * (20 / 375));
  }
}
.home main .feature .feature__col-block--img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.home main .feature .feature__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 60px;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__button {
    margin-top: calc(100vw * (60 / 375));
  }
}
.home main .feature .feature__inner {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  margin-top: 100px;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(100vw * (30 / 375));
    margin-top: calc(100vw * (100 / 375));
  }
}
.home main .feature .feature__inner--lg {
  gap: 40px;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__inner--lg {
    gap: unset;
  }
}
.home main .feature .feature__inner--pt {
  padding-top: 40px;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__inner--pt {
    padding-top: calc(100vw * (60 / 375));
  }
}
.home main .feature .feature__inner + .feature__inner {
  margin-top: 80px;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__inner + .feature__inner {
    margin-top: calc(100vw * (80 / 375));
  }
}
.home main .feature .feature__col {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 430px;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__col {
    width: 100%;
  }
}
@media (max-width: 767.98px) {
  .home main .feature .feature__col--contents-mobile {
    display: contents;
  }
}
.home main .feature .feature__col .l-container-image-caption {
  margin-top: 40px;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__col .l-container-image-caption {
    padding-left: calc(100vw * (36 / 375));
    margin-top: unset;
  }
}
.home main .feature .feature__title-col {
  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;
  width: min(350px, 100%);
  padding: 8px;
  margin: 0 auto;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-align: center;
  letter-spacing: 0.1em;
  background-color: #001f3e;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__title-col {
    position: absolute;
    top: 0;
    left: 0;
    width: auto;
    padding: calc(100vw * (5 / 375));
    font-size: calc(100vw * (16 / 375));
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
  }
}
.home main .feature .feature__title-block {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  color: #f45d2e;
  letter-spacing: 0.1em;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__title-block {
    font-size: calc(100vw * (16 / 375));
    text-align: center;
  }
}
.home main .feature .feature__title-block strong {
  color: #f45d2e;
}
.home main .feature .feature__video video {
  max-width: 100%;
}
.home main .feature .feature__img {
  max-width: 472.5px;
  margin: 0 auto;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__img {
    max-width: calc(100vw * (315 / 375));
  }
}
.home main .feature .feature__img--caption {
  position: absolute;
  top: 127px;
  left: -90px;
  max-width: 353px;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__img--caption {
    top: calc(100vw * (40 / 375));
    left: 0;
    max-width: calc(100vw * (235 / 375));
  }
}
.home main .feature .feature__img img {
  width: 100%;
}
.home main .feature .feature__accordion {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.home main .feature .feature__accordion:not(.is-active) .feature__desc {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  white-space: unset;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__accordion {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
}
.home main .feature .feature__accordion--sm {
  margin-top: 20px;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__accordion--sm {
    padding: 0 calc(100vw * (16 / 375));
    margin-top: calc(100vw * (20 / 375));
  }
}
.home main .feature .feature__accordion--sm:not(.is-active) .feature__desc {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  white-space: unset;
}
.home main .feature .feature__desc {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__desc {
    font-size: calc(100vw * (14 / 375));
  }
}
.home main .feature .feature__desc--sm {
  margin-top: 20px;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__desc--sm {
    margin-top: calc(100vw * (20 / 375));
  }
}
.home main .feature .feature__button-more {
  width: 100%;
  margin-top: 20px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  color: #4e88b6;
  text-align: center;
  letter-spacing: 0.05em;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__button-more {
    margin-top: calc(100vw * (20 / 375));
    font-size: calc(100vw * (14 / 375));
  }
}
.home main .feature .feature__button-more--sm {
  width: auto;
  margin-top: unset;
  margin-top: 8px;
  margin-left: auto;
  color: currentColor;
  text-align: right;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__button-more--sm {
    margin-top: calc(100vw * (8 / 375));
  }
}
.home main .feature .feature__accordion.is-active .feature__label--open,
.home main .feature .feature__desc.is-active .feature__label--open {
  display: none;
}
.home main .feature .feature__accordion:not(.is-active) .feature__label--close,
.home main .feature .feature__desc:not(.is-active) .feature__label--close {
  display: none;
}
.home main .feature .feature__col-img {
  width: 382px;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__col-img {
    width: calc(100vw * (255 / 375));
    margin: 0 auto;
  }
}
.home main .feature .feature__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: 10px;
  margin-top: 80px;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__list {
    gap: calc(100vw * (10 / 375));
    width: calc(100% - 100vw * (100 / 375));
    margin-top: calc(100vw * (80 / 375));
    margin-left: calc(100vw * (-16 / 375));
  }
}
.home main .feature .feature__list-item {
  width: min(360px, 100%);
}
.home main .feature .feature__list .feature__list-item:nth-of-type(even) {
  margin-left: auto;
}
.home main .feature .feature__bg {
  position: absolute;
  top: 0;
  z-index: -1;
  font-size: 52px;
  font-weight: 700;
  line-height: 1;
  color: #a4c8e2;
  text-align: center;
  letter-spacing: 0.1em;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__bg {
    font-size: calc(100vw * (52 / 375));
  }
}
.home main .feature .feature__bg--left {
  left: -140px;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__bg--left {
    left: calc(100vw * (-20 / 375));
  }
}
.home main .feature .feature__bg--right {
  right: -30px;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__bg--right {
    right: 0;
  }
}
.home main .feature .feature__bg--number {
  width: 178px;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__bg--number {
    width: calc(100vw * (90 / 375));
  }
}
.home main .feature .feature__bg--caption {
  width: 120px;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__bg--caption {
    width: calc(100vw * (74 / 375));
  }
}
.home main .feature .feature__bg--text {
  font-size: 48px;
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
  letter-spacing: 0;
  white-space: nowrap;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__bg--text {
    font-size: calc(100vw * (32 / 375));
  }
}
.home main .feature .feature__bg--text-right {
  top: 0;
  right: -90px;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__bg--text-right {
    right: calc(100vw * (-10 / 375));
  }
}
.home main .feature .feature__text--lg {
  font-size: 108px;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__text--lg {
    font-size: calc(100vw * (72 / 375));
  }
}
.home main .feature .feature__text--md {
  font-size: 52px;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__text--md {
    font-size: calc(100vw * (32 / 375));
  }
}
.home main .feature .feature__captions {
  width: calc(100% + 90px);
  font-size: 48px;
  font-weight: 700;
  line-height: 1.15;
  color: #a4c8e2;
  text-align: right;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__captions {
    position: absolute;
    top: 0;
    right: calc(100vw * (-10 / 375));
    z-index: -1;
    width: auto;
    font-size: calc(100vw * (32 / 375));
    text-align: left;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
  }
}
.home main .feature .feature__captions-text-lg {
  font-size: 108px;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__captions-text-lg {
    font-size: calc(100vw * (72 / 375));
  }
}
.home main .feature .feature__lead {
  margin-top: 50px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media (max-width: 767.98px) {
  .home main .feature .feature__lead {
    margin-top: unset;
    font-size: calc(100vw * (14 / 375));
  }
}
.home main .information {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #f3f4f8;
}
@media (max-width: 767.98px) {
  .home main .information {
    padding-top: calc(100vw * (60 / 375));
    padding-bottom: calc(100vw * (60 / 375));
  }
}
.home main .information .l-container {
  --container: 1000px;
}
.home main .information .information__title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  color: #001f3e;
  text-align: center;
  letter-spacing: 0.1em;
}
@media (max-width: 767.98px) {
  .home main .information .information__title {
    font-size: calc(100vw * (16 / 375));
  }
}
.home main .information .information__title strong {
  display: inline-block;
  margin-top: 18px;
  font-size: 32px;
}
@media (max-width: 767.98px) {
  .home main .information .information__title strong {
    margin-top: calc(100vw * (10 / 375));
    font-size: calc(100vw * (24 / 375));
  }
}
.home main .information .information__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: 60px;
}
@media (max-width: 767.98px) {
  .home main .information .information__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: calc(100vw * (40 / 375));
  }
}
.home main .information .information__col-table {
  width: 100%;
}
.home main .information .information__table {
  width: 100%;
  margin-top: -3px;
  line-height: 1.5;
  color: #000;
  text-align: center;
  border-spacing: 0 3px;
  border-collapse: separate;
}
@media (max-width: 767.98px) {
  .home main .information .information__table {
    margin-top: calc(100vw * (-2 / 375));
    border-spacing: 0 calc(100vw * (2 / 375));
  }
}
.home main .information .information__table th,
.home main .information .information__table td {
  text-align: center;
  vertical-align: middle;
}
.home main .information .information__table thead {
  font-size: 18px;
  font-weight: 700;
}
@media (max-width: 767.98px) {
  .home main .information .information__table thead {
    font-size: calc(100vw * (18 / 375));
  }
}
.home main .information .information__table thead th,
.home main .information .information__table thead td {
  height: 72px;
  background-color: #dfdede;
}
@media (max-width: 767.98px) {
  .home main .information .information__table thead th,
  .home main .information .information__table thead td {
    height: calc(100vw * (47 / 375));
  }
}
.home main .information .information__table tbody {
  font-size: 15px;
  font-weight: 500;
}
@media (max-width: 767.98px) {
  .home main .information .information__table tbody {
    font-size: calc(100vw * (10 / 375));
  }
}
.home main .information .information__table tbody th {
  width: 90px;
}
@media (max-width: 767.98px) {
  .home main .information .information__table tbody th {
    width: calc(100vw * (60 / 375));
  }
}
.home main .information .information__table tbody td.v_top {
  vertical-align: top;
}
.home main .information .information__table tbody td img {
  width: 70%;
  margin-bottom: 0.5em;
}
.home main .information .information__table tbody th,
.home main .information .information__table tbody td {
  min-height: 80px;
  background-color: #eee;
  padding: 0.8em 0;
}
@media (max-width: 767.98px) {
  .home main .information .information__table tbody th,
  .home main .information .information__table tbody td {
    height: calc(100vw * (54 / 375));
  }
}
.home main .information .information__table tbody.hidden {
  display: none;
}
.home main .information .information__table tbody.buttons td {
  color: #fff;
  font-size: 4.8vw;
  font-weight: normal;
  text-align: center;
  background: #001f3e;
  position: relative;
  cursor: pointer;
}
.home main .information .information__table tbody.buttons td:after {
  content: "▼";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 10px;
}
@media (min-width: 768px), print {
  .home main .information .information__table tbody.buttons td {
    font-size: 27px;
  }
}
.home main .information .information__table tbody.buttons.active td:after {
  content: "▲";
}
.home main .information .information__table-head--primary {
  font-size: 27px;
  color: #4e88b6;
}
@media (max-width: 767.98px) {
  .home main .information .information__table-head--primary {
    font-size: calc(100vw * (18 / 375));
  }
}
.home main .information .information__table-primary {
  background-color: #fffe00 !important;
}
.home main .information .information__text-md {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5; /* 36px */
  text-align: center;
}
@media (max-width: 767.98px) {
  .home main .information .information__text-md {
    font-size: calc(100vw * (16 / 375));
  }
}
.home main .information .information__block {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  width: min(486px, 100%);
  min-height: 320px;
  padding: 0 20px;
}
@media (max-width: 767.98px) {
  .home main .information .information__block {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-height: unset;
    padding: unset;
  }
}
@media (min-width: 768px), print {
  .home main .information .information__block {
    margin-top: 30px;
  }
}
.home main .information .information__block::before {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: calc(100% - 42px);
  content: "";
  background-color: #fff;
}
@media (max-width: 767.98px) {
  .home main .information .information__block::before {
    content: none;
  }
}
.home main .information .information__img {
  position: relative;
  z-index: -1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 210px;
  margin-right: -48px;
}
@media (max-width: 767.98px) {
  .home main .information .information__img {
    margin-right: unset;
    margin-left: calc(100vw * (-48 / 375));
  }
}
.home main .information .information__desc {
  max-width: 275px;
  padding: 54px 0;
  margin-left: auto;
}
@media (max-width: 767.98px) {
  .home main .information .information__desc {
    max-width: calc(100vw * (225 / 375));
    padding: unset 0 calc(100vw * (40 / 375));
    margin-left: unset;
  }
}
.home main .information .information__title-block {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.25;
  color: #001f3e;
}
@media (max-width: 767.98px) {
  .home main .information .information__title-block {
    font-size: calc(100vw * (24 / 375));
  }
}
.home main .information .information__title-block strong {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.5;
  color: #f45d2e;
  letter-spacing: 0.1em;
}
@media (max-width: 767.98px) {
  .home main .information .information__title-block strong {
    font-size: calc(100vw * (32 / 375));
  }
}
.home main .information .information__title-block small {
  font-size: 16px;
}
@media (max-width: 767.98px) {
  .home main .information .information__title-block small {
    font-size: calc(100vw * (16 / 375));
  }
}
.home main .information .information__lead {
  margin-top: 20px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.8;
  color: #001f3e;
}
@media (max-width: 767.98px) {
  .home main .information .information__lead {
    margin-top: calc(100vw * (20 / 375));
    font-size: calc(100vw * (9 / 375));
  }
}
.home main .plan {
  padding-top: 80px;
  padding-bottom: 80px;
  color: #fff;
  background-color: #001f3e;
}
@media (max-width: 767.98px) {
  .home main .plan {
    padding-top: calc(100vw * (60 / 375));
    padding-bottom: calc(100vw * (60 / 375));
  }
}
.home main .plan .l-container {
  --container: 694px;
}
.home main .plan .plan__title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.01em;
}
@media (max-width: 767.98px) {
  .home main .plan .plan__title {
    font-size: calc(100vw * (24 / 375));
  }
}
.home main .plan .plan__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px 48px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 60px;
}
@media (max-width: 767.98px) {
  .home main .plan .plan__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(100vw * (40 / 375)) calc(100vw * (48 / 375));
    margin-top: calc(100vw * (40 / 375));
  }
}
.home main .plan .plan__col {
  padding: 8px;
}
@media (max-width: 767.98px) {
  .home main .plan .plan__col {
    padding: calc(100vw * (8 / 375));
  }
}
.home main .plan .plan__col .card-info {
  margin-top: 20px;
}
@media (max-width: 767.98px) {
  .home main .plan .plan__col .card-info {
    margin-top: calc(100vw * (20 / 375));
  }
}
.home main .plan .plan__col .tab-course {
  margin-top: 8px;
}
@media (max-width: 767.98px) {
  .home main .plan .plan__col .tab-course {
    margin-top: calc(100vw * (8 / 375));
  }
}
.home main .plan .plan__caption {
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  color: #f9b90f;
  text-align: center;
  letter-spacing: 0.01em;
}
@media (max-width: 767.98px) {
  .home main .plan .plan__caption {
    font-size: calc(100vw * (16 / 375));
  }
}
.home main .plan .plan__img img {
  width: 100%;
}
.home main .plan .plan__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 60px;
}
@media (max-width: 767.98px) {
  .home main .plan .plan__button {
    margin-top: calc(100vw * (40 / 375));
  }
}
.home main .feature-intro .feature-intro__container-block {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
}
@media (max-width: 767.98px) {
  .home main .feature-intro .feature-intro__container-block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(100vw * (40 / 375));
    padding: calc(100vw * (60 / 375)) 0;
  }
}
.home main .feature-intro .feature-intro__block {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 50%;
  min-height: 400px;
}
@media (max-width: 767.98px) {
  .home main .feature-intro .feature-intro__block {
    width: calc(100% - 100vw * (30 / 375));
    min-height: unset;
    margin: 0 auto;
  }
}
@media (max-width: 767.98px) {
  .home main .feature-intro .feature-intro__block--img {
    position: unset;
  }
}
.home main .feature-intro .feature-intro__block--desc {
  gap: 10px;
  padding: 20px 0;
  background-color: rgba(255, 255, 255, 0.8);
}
@media (max-width: 767.98px) {
  .home main .feature-intro .feature-intro__block--desc {
    gap: calc(100vw * (10 / 375));
    padding: calc(100vw * (20 / 375)) 0;
    border-radius: calc(100vw * (10 / 375));
  }
}
.home main .feature-intro .feature-intro__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.home main .feature-intro .feature-intro__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.home main .feature-intro .feature-intro__title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  text-align: center;
  letter-spacing: 0.1em;
}
@media (max-width: 767.98px) {
  .home main .feature-intro .feature-intro__title {
    font-size: calc(100vw * (24 / 375));
  }
}
.home main .feature-intro .feature-intro__label-answer {
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
  color: #f45d2e;
  text-align: center;
  letter-spacing: 0.1em;
}
@media (max-width: 767.98px) {
  .home main .feature-intro .feature-intro__label-answer {
    font-size: calc(100vw * (20 / 375));
  }
}
.home main .feature-intro .feature-intro__desc {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  color: #001f3e;
  text-align: center;
  letter-spacing: 0.1em;
}
@media (max-width: 767.98px) {
  .home main .feature-intro .feature-intro__desc {
    font-size: calc(100vw * (12 / 375));
  }
}
.home main .feature-plan {
  padding-top: 80px;
  padding-bottom: 80px;
  color: #fff;
  background-color: #4e88b6;
}
@media (max-width: 767.98px) {
  .home main .feature-plan {
    padding-top: calc(100vw * (60 / 375));
    padding-bottom: calc(100vw * (60 / 375));
  }
}
.home main .feature-plan .l-container {
  --container: 1000px;
}
.home main .feature-plan .feature-plan__title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.05em;
}
@media (max-width: 767.98px) {
  .home main .feature-plan .feature-plan__title {
    font-size: calc(100vw * (16 / 375));
  }
}
.home main .feature-plan .feature-plan__divider-arrow {
  max-width: 150px;
  margin: 20px auto 0;
}
@media (max-width: 767.98px) {
  .home main .feature-plan .feature-plan__divider-arrow {
    max-width: calc(100vw * (100 / 375));
    margin: calc(100vw * (20 / 375)) auto 0;
  }
}
.home main .feature-plan .feature-plan__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  margin-top: 60px;
}
@media (max-width: 767.98px) {
  .home main .feature-plan .feature-plan__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(100vw * (40 / 375));
    margin-top: calc(100vw * (40 / 375));
  }
}
.home main .feature-plan .feature-plan__inner-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
@media (max-width: 767.98px) {
  .home main .feature-plan .feature-plan__inner-card {
    gap: calc(100vw * (10 / 375));
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.home main .feature-plan .feature-plan__col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
}
@media (max-width: 767.98px) {
  .home main .feature-plan .feature-plan__col {
    gap: calc(100vw * (24 / 375));
  }
}
.home main .feature-plan .feature-plan__title-col {
  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;
  min-height: 95px;
  padding: 22px 45px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.05em;
  border: 3px solid #fff;
}
@media (max-width: 767.98px) {
  .home main .feature-plan .feature-plan__title-col {
    min-height: calc(100vw * (46 / 375));
    padding: calc(100vw * (15 / 375)) calc(100vw * (30 / 375));
    font-size: calc(100vw * (16 / 375));
    line-height: 1.25;
  }
}
.home main .feature-plan .feature-plan__caption {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  letter-spacing: 0.05em;
}
@media (max-width: 767.98px) {
  .home main .feature-plan .feature-plan__caption {
    font-size: calc(100vw * (12 / 375));
  }
}
.home main .feature-plan .feature-plan__caption strong {
  display: block;
  font-size: 42px;
  color: #f9b90f;
}
@media (max-width: 767.98px) {
  .home main .feature-plan .feature-plan__caption strong {
    font-size: calc(100vw * (28 / 375));
  }
}
.home main .feature-plan .feature-plan__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  padding-top: 30px;
  padding-bottom: 22px;
  color: #001f3e;
  background-color: #fff;
  border-top: 8px solid #001f3e;
}
@media (max-width: 767.98px) {
  .home main .feature-plan .feature-plan__card {
    -webkit-box-flex: unset;
        -ms-flex: unset;
            flex: unset;
    gap: calc(100vw * (10 / 375));
    min-width: calc(100vw * (154 / 375));
    padding-top: calc(100vw * (20 / 375));
    padding-bottom: calc(100vw * (22 / 375));
  }
}
.home main .feature-plan .feature-plan__title-card {
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
@media (max-width: 767.98px) {
  .home main .feature-plan .feature-plan__title-card {
    font-size: calc(100vw * (16 / 375));
  }
}
.home main .feature-plan .feature-plan__img {
  margin: 0 auto;
}
.home main .feature-plan .feature-plan__img--sm {
  width: 135px;
}
@media (max-width: 767.98px) {
  .home main .feature-plan .feature-plan__img--sm {
    width: calc(100vw * (90 / 375));
  }
}
.home main .feature-plan .feature-plan__col-price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.home main .feature-plan .feature-plan__label-count {
  font-family: Oswald;
  font-size: 30px;
  font-weight: 500;
  line-height: 1;
}
@media (max-width: 767.98px) {
  .home main .feature-plan .feature-plan__label-count {
    font-size: calc(100vw * (20 / 375));
  }
}
.home main .feature-plan .feature-plan__label-count small {
  font-size: 18px;
  font-weight: 700;
}
@media (max-width: 767.98px) {
  .home main .feature-plan .feature-plan__label-count small {
    font-size: calc(100vw * (12 / 375));
  }
}
.home main .feature-plan .feature-plan__price {
  font-family: Oswald;
  font-size: 51px;
  font-weight: 500;
  line-height: 1;
  color: #f45d2e;
}
@media (max-width: 767.98px) {
  .home main .feature-plan .feature-plan__price {
    font-size: calc(100vw * (34 / 375));
  }
}
.home main .feature-plan .feature-plan__label-yen {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  color: #001f3e;
}
@media (max-width: 767.98px) {
  .home main .feature-plan .feature-plan__label-yen {
    gap: calc(100vw * (3 / 375));
    font-size: calc(100vw * (12 / 375));
  }
}
.home main .feature-plan .feature-plan__label-yen small {
  font-size: 9px;
  font-weight: 400;
}
@media (max-width: 767.98px) {
  .home main .feature-plan .feature-plan__label-yen small {
    font-size: calc(100vw * (6 / 375));
  }
}
.home main .feature-plan .feature-plan__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 24px;
  color: #333;
  background-color: #fff;
}
@media (max-width: 767.98px) {
  .home main .feature-plan .feature-plan__block {
    gap: calc(100vw * (16 / 375));
    padding: calc(100vw * (24 / 375));
  }
}
.home main .feature-plan .feature-plan__title-block {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.05em;
}
@media (max-width: 767.98px) {
  .home main .feature-plan .feature-plan__title-block {
    font-size: calc(100vw * (15 / 375));
  }
}
.home main .feature-plan .feature-plan__title-block strong {
  color: #f45d2e;
}
.home main .feature-plan .feature-plan__subscript {
  font-size: 10.5px;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.05em;
}
@media (max-width: 767.98px) {
  .home main .feature-plan .feature-plan__subscript {
    font-size: calc(100vw * (7 / 375));
  }
}
.home main .feature-plan .feature-plan__subscript--center {
  text-align: center;
}
.home main .feature-needle {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #f3f4f8;
}
@media (max-width: 767.98px) {
  .home main .feature-needle {
    padding-top: calc(100vw * (60 / 375));
    padding-bottom: calc(100vw * (60 / 375));
  }
}
.home main .feature-needle .l-container {
  --container: 1000px;
}
.home main .feature-needle .feature-needle__title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  color: #001f3e;
  text-align: center;
  letter-spacing: 0.1em;
}
@media (max-width: 767.98px) {
  .home main .feature-needle .feature-needle__title {
    font-size: calc(100vw * (16 / 375));
  }
}
.home main .feature-needle .feature-needle__title strong {
  display: inline-block;
  margin-top: 18px;
  font-size: 32px;
}
@media (max-width: 767.98px) {
  .home main .feature-needle .feature-needle__title strong {
    margin-top: calc(100vw * (18 / 375));
    font-size: calc(100vw * (24 / 375));
  }
}
.home main .feature-needle .feature-needle__title--sm {
  font-size: 24px;
  line-height: 1.5;
  text-align: left;
}
@media (max-width: 767.98px) {
  .home main .feature-needle .feature-needle__title--sm {
    font-size: calc(100vw * (16 / 375));
    line-height: 1.25;
    text-align: center;
  }
}
.home main .feature-needle .feature-needle__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 50px;
  margin-top: 60px;
}
@media (max-width: 767.98px) {
  .home main .feature-needle .feature-needle__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(100vw * (50 / 375));
    margin-top: calc(100vw * (60 / 375));
  }
}
.home main .feature-needle .feature-needle__col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
@media (max-width: 767.98px) {
  .home main .feature-needle .feature-needle__col {
    gap: calc(100vw * (20 / 375));
    padding: 0 calc(100vw * (16 / 375));
  }
}
.home main .feature-needle .feature-needle__img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 500px;
}
@media (max-width: 767.98px) {
  .home main .feature-needle .feature-needle__img {
    width: 100%;
  }
}
.home main .feature-needle .feature-needle__accordion {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.home main .feature-needle .feature-needle__accordion:not(.is-active) .feature-needle__desc {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  white-space: unset;
}
.home main .feature-needle .feature-needle__desc {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
  color: #001f3e;
  letter-spacing: 0.05em;
}
@media (max-width: 767.98px) {
  .home main .feature-needle .feature-needle__desc {
    font-size: calc(100vw * (9 / 375));
  }
}
.home main .feature-needle .feature-needle__button-more {
  margin-left: auto;
}
.home main .feature-needle .feature-needle__label {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.8;
  color: #001f3e;
  text-align: right;
  letter-spacing: 0.05em;
}
@media (max-width: 767.98px) {
  .home main .feature-needle .feature-needle__label {
    font-size: calc(100vw * (9 / 375));
  }
}
.home main .feature-needle .feature-needle__button-more.is-active .feature-needle__label--open {
  display: none;
}
.home main .feature-needle .feature-needle__button-more:not(.is-active) .feature-needle__label--close {
  display: none;
}
.home main .feature-needle .feature-needle__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: auto;
}
.home main .merit {
  padding-top: 80px;
  padding-bottom: 80px;
  color: #fff;
  background-color: #4e88b6;
}
@media (max-width: 767.98px) {
  .home main .merit {
    padding-top: calc(100vw * (60 / 375));
    padding-bottom: calc(100vw * (60 / 375));
    overflow: hidden;
  }
}
.home main .merit .l-container {
  --container: 1000px;
}
.home main .merit .swiper {
  overflow: visible;
}
.home main .merit .merit__title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.1em;
}
.home main .merit .merit__title strong {
  display: inline-block;
  margin-top: 18px;
  font-size: 32px;
  color: #f9b90f;
}
@media (max-width: 767.98px) {
  .home main .merit .merit__title strong {
    margin-top: calc(100vw * (18 / 375));
    font-size: calc(100vw * (24 / 375));
  }
}
@media (max-width: 767.98px) {
  .home main .merit .merit__title {
    font-size: calc(100vw * (16 / 375));
  }
}
.home main .merit .merit__container {
  position: relative;
  z-index: 0;
  margin-top: 60px;
  color: #001f3e;
}
@media (max-width: 767.98px) {
  .home main .merit .merit__container {
    margin-top: calc(100vw * (40 / 375));
  }
}
.home main .merit .merit__list-item {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: auto;
  min-height: 440px;
  padding: 40px 20px;
  background-color: #fff;
}
@media (max-width: 767.98px) {
  .home main .merit .merit__list-item {
    min-width: calc(100vw * (310 / 375));
    min-height: calc(100vw * (320 / 375));
    padding: calc(100vw * (40 / 375)) calc(100vw * (20 / 375));
  }
}
.home main .merit .merit__list .merit__list-item:first-child {
  z-index: 2;
  border-radius: 10px 0px 0px 10px;
}
@media (max-width: 767.98px) {
  .home main .merit .merit__list .merit__list-item:first-child {
    border-radius: calc(100vw * (10 / 375)) 0px 0px calc(100vw * (10 / 375));
  }
}
.home main .merit .merit__list .merit__list-item:last-child {
  z-index: 0;
  border-radius: 0px 10px 10px 0px;
}
@media (max-width: 767.98px) {
  .home main .merit .merit__list .merit__list-item:last-child {
    border-radius: 0px calc(100vw * (10 / 375)) calc(100vw * (10 / 375)) 0px;
  }
}
.home main .merit .merit__list .merit__list-item:nth-child(even) {
  z-index: 1;
  background-color: #f3f4f8;
}
.home main .merit .merit__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
@media (max-width: 767.98px) {
  .home main .merit .merit__card {
    gap: calc(100vw * (16 / 375));
  }
}
.home main .merit .merit__card-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
}
@media (max-width: 767.98px) {
  .home main .merit .merit__card-body {
    gap: calc(100vw * (16 / 375));
  }
}
.home main .merit .merit__card-footer {
  position: relative;
  z-index: 0;
  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-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  min-height: 146px;
  margin-top: auto;
}
@media (max-width: 767.98px) {
  .home main .merit .merit__card-footer {
    min-height: calc(100vw * (146 / 375));
  }
}
.home main .merit .merit__price {
  font-family: Oswald;
  font-size: 40px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
}
@media (max-width: 767.98px) {
  .home main .merit .merit__price {
    font-size: calc(100vw * (40 / 375));
  }
}
.home main .merit .merit__price small {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.1;
  color: #001f3e;
}
@media (max-width: 767.98px) {
  .home main .merit .merit__price small {
    font-size: calc(100vw * (16 / 375));
  }
}
.home main .merit .merit__price--accent {
  font-size: 52px;
  color: #f45d2e;
}
@media (max-width: 767.98px) {
  .home main .merit .merit__price--accent {
    font-size: calc(100vw * (52 / 375));
  }
}
.home main .merit .merit__price--flex-center {
  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;
}
.home main .merit .merit__desc {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media (max-width: 767.98px) {
  .home main .merit .merit__desc {
    font-size: calc(100vw * (10 / 375));
  }
}
.home main .merit .merit__container-price {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  padding-bottom: 8px;
}
@media (max-width: 767.98px) {
  .home main .merit .merit__container-price {
    gap: calc(100vw * (12 / 375));
    padding-bottom: calc(100vw * (8 / 375));
  }
}
.home main .merit .merit__container-price::before {
  position: absolute;
  bottom: 0;
  left: calc(50% - 80px);
  width: 160px;
  height: 2px;
  content: "";
  background-color: #f45d2e;
}
@media (max-width: 767.98px) {
  .home main .merit .merit__container-price::before {
    width: calc(100vw * (160 / 375));
    height: calc(100vw * (2 / 375));
  }
}
.home main .merit .merit__label-price {
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
@media (max-width: 767.98px) {
  .home main .merit .merit__label-price {
    font-size: calc(100vw * (18 / 375));
  }
}
.home main .merit .merit__label-price--lg {
  font-size: 28px;
  color: #001f3e;
}
@media (max-width: 767.98px) {
  .home main .merit .merit__label-price--lg {
    font-size: calc(100vw * (28 / 375));
  }
}
.home main .merit .merit__image-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 767.98px) {
  .home main .merit .merit__image-list {
    gap: calc(100vw * (5 / 375));
  }
}
.home main .merit .merit__caption-img {
  position: absolute;
  right: 0;
  bottom: 0;
}
.home main .merit .merit__icon {
  position: absolute;
  z-index: 1;
}
@media (min-width: 768px), print {
  .home main .merit .merit__icon {
    display: none;
  }
}
@media (max-width: 767.98px) {
  .home main .merit .merit__icon {
    right: calc(100vw * (-25 / 375));
    bottom: calc(100vw * (10 / 375));
  }
}
.home main .faq {
  padding-top: 80px;
  padding-bottom: 80px;
  color: #fff;
  background-color: #001f3e;
}
@media (max-width: 767.98px) {
  .home main .faq {
    padding-top: calc(100vw * (80 / 375));
    padding-bottom: calc(100vw * (80 / 375));
  }
}
.home main .faq .faq__title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.1em;
}
@media (max-width: 767.98px) {
  .home main .faq .faq__title {
    font-size: calc(100vw * (24 / 375));
  }
}
.home main .faq .faq__tab {
  margin-top: 60px;
}
@media (max-width: 767.98px) {
  .home main .faq .faq__tab {
    margin-top: calc(100vw * (40 / 375));
  }
}
.home main .faq .faq__tab .faq__tab-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 767.98px) {
  .home main .faq .faq__tab .faq__tab-header {
    gap: calc(100vw * (6 / 375));
  }
}
.home main .faq .faq__tab .faq__tab-body {
  position: relative;
  z-index: 0;
  margin-top: 40px;
}
@media (max-width: 767.98px) {
  .home main .faq .faq__tab .faq__tab-body {
    margin-top: calc(100vw * (40 / 375));
  }
}
.home main .faq .faq__tab .faq__tab-content:not(.is-active) {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.home main .faq .faq__button-tab {
  width: min(160px, 100%);
  min-height: 40px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  color: #001f3e;
  text-align: center;
  background-color: #fff;
  -webkit-transition: background 0.3s;
  transition: background 0.3s;
}
@media (max-width: 767.98px) {
  .home main .faq .faq__button-tab {
    min-height: calc(100vw * (40 / 375));
    font-size: calc(100vw * (10 / 375));
  }
}
.home main .faq .faq__button-tab.is-active {
  min-height: 50px;
  background-color: #a4c8e2;
}
@media (max-width: 767.98px) {
  .home main .faq .faq__button-tab.is-active {
    min-height: calc(100vw * (50 / 375));
  }
}
.home main .faq .faq__faq + .faq__faq {
  margin-top: 20px;
}
@media (max-width: 767.98px) {
  .home main .faq .faq__faq + .faq__faq {
    margin-top: calc(100vw * (20 / 375));
  }
}
.home main .faq .faq__title-faq {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 16px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media (max-width: 767.98px) {
  .home main .faq .faq__title-faq {
    gap: calc(100vw * (16 / 375));
    padding: 0 calc(100vw * (16 / 375));
    font-size: calc(100vw * (12s / 375));
  }
}
.home main .faq .faq__title-faq--question {
  color: #a4c8e2;
}
.home main .faq .faq__title-faq--question::before {
  font-family: Overpass;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  content: "Q";
}
@media (max-width: 767.98px) {
  .home main .faq .faq__title-faq--question::before {
    font-size: calc(100vw * (20 / 375));
  }
}
.home main .faq .faq__title-faq--answer::before {
  font-family: Overpass;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  content: "A";
}
@media (max-width: 767.98px) {
  .home main .faq .faq__title-faq--answer::before {
    font-size: calc(100vw * (20 / 375));
  }
}
.home main .faq .faq__faq-body {
  margin-top: 10px;
}
@media (max-width: 767.98px) {
  .home main .faq .faq__faq-body {
    margin-top: calc(100vw * (10 / 375));
  }
}
.home main .faq .faq__accordion {
  margin-top: 10px;
}
@media (max-width: 767.98px) {
  .home main .faq .faq__accordion {
    margin-top: calc(100vw * (10 / 375));
  }
}
.home main .faq .faq__desc {
  padding: 10px 16px 20px;
  font-size: 12px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.6px;
  letter-spacing: 0.05em;
}
@media (max-width: 767.98px) {
  .home main .faq .faq__desc {
    padding: calc(100vw * (10 / 375)) calc(100vw * (16 / 375)) calc(100vw * (20 / 375));
    font-size: calc(100vw * (9 / 375));
  }
}
.home main .faq .faq__desc a {
  color: #f9b90f;
}
.home main .faq .faq__more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  font-size: 12px;
  font-weight: 500;
  line-height: 2;
  text-align: center;
  letter-spacing: 0.05em;
}
@media (max-width: 767.98px) {
  .home main .faq .faq__more {
    gap: calc(100vw * (8 / 375));
    font-size: calc(100vw * (12 / 375));
  }
}
.home main .faq .faq__more::before, .home main .faq .faq__more::after {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  height: 0.5px;
  content: "";
  background-color: currentColor;
}
@media (max-width: 767.98px) {
  .home main .faq .faq__more::before, .home main .faq .faq__more::after {
    height: calc(100vw * (0.5 / 375));
  }
}
.home main .faq .faq__label-more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 767.98px) {
  .home main .faq .faq__label-more {
    gap: calc(100vw * (8 / 375));
  }
}
.home main .faq .faq__label-more::after {
  display: block;
  width: 12px;
  height: 8px;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
  background-color: currentColor;
}
@media (max-width: 767.98px) {
  .home main .faq .faq__label-more::after {
    width: calc(100vw * (12 / 375));
    height: calc(100vw * (8 / 375));
  }
}
.home main .faq .faq__label-more--close::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.home main .faq .faq__more.is-active .faq__label-more--open {
  display: none;
}
.home main .faq .faq__more:not(.is-active) .faq__label-more--close {
  display: none;
}
.home main .faq .faq__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 60px;
}
@media (max-width: 767.98px) {
  .home main .faq .faq__button {
    margin-top: calc(100vw * (60 / 375));
  }
}
.home main .flow {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #4e88b6;
}
@media (max-width: 767.98px) {
  .home main .flow {
    padding-top: calc(100vw * (60 / 375));
    padding-bottom: calc(100vw * (60 / 375));
  }
}
.home main .flow .flow__inner {
  margin-top: 40px;
  overflow: hidden;
}
@media (max-width: 767.98px) {
  .home main .flow .flow__inner {
    margin-top: calc(100vw * (40 / 375));
  }
}
.home main .flow .l-container {
  -webkit-margin-end: unset;
          margin-inline-end: unset;
}
.home main .flow .flow__title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-align: center;
  letter-spacing: 0.1em;
}
@media (max-width: 767.98px) {
  .home main .flow .flow__title {
    font-size: calc(100vw * (24 / 375));
  }
}
.home main .flow .flow__slider {
  overflow: unset;
  counter-reset: counter;
}
.home main .flow .flow__slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 250px;
  height: auto;
}
@media (max-width: 767.98px) {
  .home main .flow .flow__slide {
    width: calc(100vw * (250 / 375));
  }
}
.home main .flow .flow__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
@media (max-width: 767.98px) {
  .home main .flow .flow__card {
    gap: calc(100vw * (10 / 375));
  }
}
.home main .flow .flow__card .flow__card-number {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: -24px;
  margin-left: -16px;
  font-family: oswald;
  font-size: 80px;
  font-style: normal;
  font-weight: 500;
  line-height: 1;
  color: #a4c8e2;
  counter-increment: counter;
}
@media (max-width: 767.98px) {
  .home main .flow .flow__card .flow__card-number {
    width: calc(100vw * (90 / 375));
    height: calc(100vw * (80 / 375));
    margin-bottom: calc(100vw * (-24 / 375));
    margin-left: calc(100vw * (-16 / 375));
    font-size: calc(100vw * (80 / 375));
  }
}
.home main .flow .flow__card .flow__card-number--counter-increment::before {
  font-family: oswald;
  font-size: 80px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  color: #a4c8e2;
  content: counter(counter, decimal-leading-zero);
}
@media (max-width: 767.98px) {
  .home main .flow .flow__card .flow__card-number--counter-increment::before {
    font-size: calc(100vw * (80 / 375));
  }
}
.home main .flow .flow__card .flow__card-number img {
  width: 100%;
}
.home main .flow .flow__card .flow__card-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -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;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  padding: 16px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.8;
  color: #001f3e;
  letter-spacing: 0.05em;
  background-color: #fff;
  border-radius: 10px;
}
@media (max-width: 767.98px) {
  .home main .flow .flow__card .flow__card-body {
    gap: calc(100vw * (10 / 375));
    padding: calc(100vw * (16 / 375));
    font-size: calc(100vw * (12 / 375));
    border-radius: calc(100vw * (10 / 375));
  }
}
.home main .flow .flow__card .flow__card-title {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media (max-width: 767.98px) {
  .home main .flow .flow__card .flow__card-title {
    font-size: calc(100vw * (16 / 375));
  }
}
.home main .flow .flow__img {
  overflow: hidden;
  border-radius: 10px;
}
@media (max-width: 767.98px) {
  .home main .flow .flow__img {
    border-radius: calc(100vw * (10 / 375));
  }
}
.home main .flow .flow__img img {
  width: 100%;
}
.home main .clinic {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #f3f4f8;
}
@media (max-width: 767.98px) {
  .home main .clinic {
    padding-top: calc(100vw * (60 / 375));
    padding-bottom: calc(100vw * (60 / 375));
  }
}
.home main .clinic .l-container {
  --container: 800px;
}
.home main .clinic .slider-carousel .swiper-slide img {
  width: 408px;
}
@media (max-width: 767.98px) {
  .home main .clinic .slider-carousel .swiper-slide img {
    width: calc(100vw * (236 / 375));
  }
}
.home main .clinic .clinic__inner {
  margin-top: 40px;
}
@media (max-width: 767.98px) {
  .home main .clinic .clinic__inner {
    margin-top: calc(100vw * (40 / 375));
  }
}
.home main .clinic .clinic__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  padding: 16px;
  background-color: #fff;
  border-radius: 5px;
}
@media (max-width: 767.98px) {
  .home main .clinic .clinic__block {
    gap: calc(100vw * (10 / 375));
    padding: calc(100vw * (16 / 375));
    border-radius: calc(100vw * (5 / 375));
  }
}
.home main .clinic .clinic__block + .clinic__block {
  margin-top: 10px;
}
@media (max-width: 767.98px) {
  .home main .clinic .clinic__block + .clinic__block {
    margin-top: calc(100vw * (10 / 375));
  }
}
.home main .clinic .clinic__block-title {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
  color: #4e88b6;
  text-align: center;
}
@media (max-width: 767.98px) {
  .home main .clinic .clinic__block-title {
    font-size: calc(100vw * (16 / 375));
  }
}
.home main .clinic .clinic__list-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px 4px;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 767.98px) {
  .home main .clinic .clinic__list-button {
    gap: calc(100vw * (4 / 375));
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.home main .clinic .clinic__button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-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;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 100px;
  min-height: 40px;
  padding: 5px 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
  color: #fff;
  background-color: #4e88b6;
  border-radius: 100vmax;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (max-width: 767.98px) {
  .home main .clinic .clinic__button {
    min-width: calc(100vw * (98 / 375));
    min-height: calc(100vw * (40 / 375));
    padding: calc(100vw * (5 / 375)) 0;
    font-size: calc(100vw * (12 / 375));
  }
}
.home main .clinic .clinic__button:hover {
  background-color: #001f3e;
}
.home main .clinic .clinic__button small {
  font-size: 10px;
}
@media (max-width: 767.98px) {
  .home main .clinic .clinic__button small {
    font-size: calc(100vw * (8 / 375));
  }
}
.home main .message {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #4e88b6;
}
@media (max-width: 767.98px) {
  .home main .message {
    padding-top: calc(100vw * (60 / 375));
    padding-bottom: calc(100vw * (60 / 375));
  }
}
.home main .message .l-container {
  --container: 800px;
}
.home main .message .swiper-slide {
  width: auto;
  max-width: 100%;
}
@media (min-width: 768px), print {
  .home main .message .swiper-slide {
    display: contents;
  }
}
@media (max-width: 767.98px) {
  .home main .message .swiper-slide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: auto;
  }
}
@media (min-width: 768px), print {
  .home main .message .message__block-container {
    display: -ms-grid;
    display: grid;
        grid-template-areas: "img heading" "img lead";
    -ms-grid-rows: auto 0px auto;
    grid-template-rows: auto auto;
    -ms-grid-columns: auto 20px 1fr;
    grid-template-columns: auto 1fr;
    grid-auto-flow: row;
    gap: 0px 20px;
  }
}
.home main .message .message__block-container .area-img {
  grid-area: img;
}
.home main .message .message__block-container .area-heading {
  grid-area: heading;
}
@media (min-width: 768px), print{
  .home main .message .message__block-container .area-img {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }
  .home main .message .message__block-container .area-heading {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
}
.home main .message .message__block-container .area-lead {
  grid-area: desc;
}
.home main .message .message__container-desc {
  position: relative;
  z-index: 1;
}
@media (max-width: 767.98px) {
  .home main .message .message__inner-scroll {
    padding: 0 calc(100vw * (16 / 375));
    overflow-x: scroll;
  }
}
.home main .message .message__block {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  padding: 50px;
  color: #001f3e;
  background-color: #fff;
  border-radius: 10px;
}
@media (max-width: 767.98px) {
  .home main .message .message__block {
    display: block;
    padding: unset;
    overflow: hidden;
    border-radius: calc(100vw * (10 / 375));
  }
}
.home main .message .message__col-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-pack: distribute;
      justify-content: space-around;
}
.home main .message .message__col-block--img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 92px;
}
@media (max-width: 767.98px) {
  .home main .message .message__col-block--img {
    width: calc(100vw * (108 / 375));
    padding: calc(100vw * (40 / 375)) 0 calc(100vw * (40 / 375)) calc(100vw * (16 / 375));
  }
}
.home main .message .message__desc {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 14px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width: 767.98px) {
  .home main .message .message__desc {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    gap: calc(100vw * (14 / 375));
    padding: calc(100vw * (40 / 375)) calc(100vw * (16 / 375)) calc(100vw * (40 / 375)) 0;
    background-color: #fff;
  }
}
.home main .message .message__title {
  font-family: Oswald;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.25;
  color: #f45d2e;
  letter-spacing: 0.05em;
}
@media (max-width: 767.98px) {
  .home main .message .message__title {
    font-size: calc(100vw * (16 / 375));
  }
}
.home main .message .message__caption {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media (max-width: 767.98px) {
  .home main .message .message__caption {
    font-size: calc(100vw * (20 / 375));
  }
}
.home main .message .message__name {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.05em;
}
@media (max-width: 767.98px) {
  .home main .message .message__name {
    font-size: calc(100vw * (16 / 375));
  }
}
.home main .message .message__name small {
  font-size: 10px;
}
@media (max-width: 767.98px) {
  .home main .message .message__name small {
    font-size: calc(100vw * (10 / 375));
  }
}
@media (max-width: 767.98px) {
  .home main .message .message__container-mobile {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: calc(100vw - 100vw * (32 / 375));
    padding: calc(100vw * (40 / 375));
    background-color: #a4c8e2;
  }
}
.home main .message .message__lead {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media (max-width: 767.98px) {
  .home main .message .message__lead {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: calc(100vw * (20 / 375));
    font-size: calc(100vw * (14 / 375));
    background-color: #a4c8e2;
  }
}
@media (min-width: 768px), print {
  .home main .message .message__icon {
    display: none;
  }
}
@media (max-width: 767.98px) {
  .home main .message .message__icon {
    position: absolute;
    right: calc(100vw * (-25 / 375));
    bottom: calc(100vw * (20 / 375));
    z-index: 1;
  }
}
.home main .knowledge {
  min-width: 0;
  padding-top: 80px;
  padding-bottom: 80px;
  overflow: hidden;
  color: #fff;
  background-color: #4e88b6;
}
@media (max-width: 767.98px) {
  .home main .knowledge {
    padding-top: calc(100vw * (60 / 375));
    padding-bottom: calc(100vw * (60 / 375));
  }
}
.home main .knowledge .l-container {
  --container: 1080px;
}
@media (max-width: 767.98px) {
  .home main .knowledge .l-container {
    margin-inline: unset;
  }
}
.home main .knowledge .knowledge__title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.1em;
}
.home main .knowledge .knowledge__title strong {
  display: inline-block;
  margin-top: 18px;
  font-size: 32px;
}
@media (max-width: 767.98px) {
  .home main .knowledge .knowledge__title strong {
    margin-top: calc(100vw * (18 / 375));
    font-size: calc(100vw * (32 / 375));
  }
}
@media (max-width: 767.98px) {
  .home main .knowledge .knowledge__title {
    font-size: calc(100vw * (24 / 375));
  }
}
.home main .knowledge .knowledge__slider .slider-loop-pagination {
  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;
  margin-top: 60px;
}
@media (max-width: 767.98px) {
  .home main .knowledge .knowledge__slider .slider-loop-pagination {
    margin-top: calc(100vw * (30 / 375));
  }
}
.home main .knowledge .knowledge__slider .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background-color: rgba(255, 255, 255, 0);
  border: solid 1px #fff;
}
.home main .knowledge .knowledge__slider .swiper-pagination-bullet-active {
  position: unset !important;
  width: 12px !important;
  height: 12px !important;
  background-color: #fff !important;
  background-image: unset !important;
}
.home main .knowledge .knowledge__list {
  margin-top: 60px;
}
@media (max-width: 767.98px) {
  .home main .knowledge .knowledge__list {
    margin-top: calc(100vw * (40 / 375));
  }
}
.home main .knowledge .knowledge__list-item {
  width: 275px;
}
@media (max-width: 767.98px) {
  .home main .knowledge .knowledge__list-item {
    width: calc(100vw * (275 / 375));
  }
}
.home main .knowledge .knowledge__title-col {
  margin-top: 20px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.1em;
}
@media (max-width: 767.98px) {
  .home main .knowledge .knowledge__title-col {
    margin-top: calc(100vw * (20 / 375));
    font-size: calc(100vw * (16 / 375));
  }
}
.home main .knowledge .knowledge__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 84px;
}
@media (max-width: 767.98px) {
  .home main .knowledge .knowledge__button {
    margin-top: calc(100vw * (40 / 375));
  }
}
.home main .knowledge .knowledge__breadcrumb {
  margin-top: 90px;
}
@media (max-width: 767.98px) {
  .home main .knowledge .knowledge__breadcrumb {
    padding: 0 calc(100vw * (16 / 375));
    margin-top: calc(100vw * (60 / 375));
  }
}

.price main {
  display: -ms-grid;
  display: grid;
}
.price main .plan {
  padding: 120px 0;
  color: #fff;
  background-color: #001f3e;
}
@media (max-width: 767.98px) {
  .price main .plan {
    padding: calc(100vw * (80 / 375)) 0;
  }
}
.price main .plan .l-container {
  --container: 1080px;
}
.price main .plan .plan__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px 48px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 60px;
}
@media (max-width: 767.98px) {
  .price main .plan .plan__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(100vw * (40 / 375)) calc(100vw * (48 / 375));
    margin-top: calc(100vw * (40 / 375));
  }
}
.price main .plan .plan__col {
  position: relative;
  z-index: 0;
  display: -ms-grid;
  display: grid;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  gap: 8px;
  padding: 20px;
}
@media (max-width: 767.98px) {
  .price main .plan .plan__col {
    gap: calc(100vw * (8 / 375));
    padding: calc(100vw * (12 / 375));
  }
}
.price main .plan .plan__col--bg-white {
  color: #333;
  background-color: #fff;
}
.price main .plan .plan__campaign-icon {
  position: absolute;
  top: -20px;
  right: -5px;
  z-index: 1;
}
@media (max-width: 767.98px) {
  .price main .plan .plan__campaign-icon {
    top: calc(100vw * (-10 / 375));
    right: calc(100vw * (-5 / 375));
  }
}
.price main .plan .plan__col-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 30px;
}
@media (max-width: 767.98px) {
  .price main .plan .plan__col-footer {
    margin-top: calc(100vw * (4 / 375));
  }
}
.price main .plan .plan__caption {
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  color: #f9b90f;
  text-align: center;
  letter-spacing: 0.01em;
}
@media (max-width: 767.98px) {
  .price main .plan .plan__caption {
    font-size: calc(100vw * (16 / 375));
  }
}
.price main .plan .plan__img img {
  width: 100%;
}
.price main .plan .plan__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 60px;
}
@media (max-width: 767.98px) {
  .price main .plan .plan__button {
    margin-top: calc(100vw * (40 / 375));
  }
}
.price main .plan .plan__lead {
  font-size: 16px;
  font-weight: 400;
  line-height: 2;
  text-align: center;
}
@media (max-width: 767.98px) {
  .price main .plan .plan__lead {
    font-size: calc(100vw * (12 / 375));
  }
}
.price main .plan .plan__subscript-item {
  font-size: 10px;
  font-weight: 400;
  line-height: 1.5;
}
@media (max-width: 767.98px) {
  .price main .plan .plan__subscript-item {
    font-size: calc(100vw * (8 / 375));
  }
}
.price main .plan .plan__add-plan {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 9px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
}
@media (max-width: 767.98px) {
  .price main .plan .plan__add-plan {
    gap: calc(100vw * (5 / 375));
  }
}
.price main .plan .plan__add-plan-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  color: #f45d2e;
}
@media (max-width: 767.98px) {
  .price main .plan .plan__add-plan-title {
    font-size: calc(100vw * (14 / 375));
  }
}
.price main .plan .plan__sub-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 10px;
  font-size: 14px;
  font-weight: 700;
  color: #333;
  border: 1px solid #f45d2e;
}
@media (max-width: 767.98px) {
  .price main .plan .plan__sub-block {
    gap: calc(100vw * (5 / 375));
    padding: calc(100vw * (10 / 375)) calc(100vw * (3 / 375));
    font-size: calc(100vw * (10 / 375));
  }
}
.price main .plan .plan__price strong {
  margin: 0 4px;
  font-family: Oswald;
  font-size: 28px;
  font-weight: 500;
  color: #f45d2e;
}
@media (max-width: 767.98px) {
  .price main .plan .plan__price strong {
    margin: 0 calc(100vw * (2 / 375));
    font-size: calc(100vw * (16 / 375));
  }
}
.price main .plan .optionArea {
  padding-top: calc(100vw * (40 / 375));
}
@media (max-width: 767.98px) {
  .price main .plan .optionArea {
    width: calc(100vw * (319 / 375));
    margin: 0 auto;
  }
}
@media (min-width: 768px), print {
  .price main .plan .optionArea {
    padding-top: 120px;
  }
  .price main .plan .optionArea .pc_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .price main .plan .optionArea .section-title {
    margin-bottom: 48px;
  }
}
@media (min-width: 768px), print {
  .price main .plan .optionArea .assurance__section {
    width: 480px;
  }
}
.price main .plan .optionArea .assurance__section.noseOption .assurance__img {
  width: 125px;
  margin: 0 auto;
  cursor: pointer;
}
@media (max-width: 767.98px) {
  .price main .plan .optionArea .assurance__section.noseOption .assurance__img {
    width: calc(100vw * (100 / 375));
  }
}
.price main .plan .optionArea .assurance__section.noseOption .overlay_nose_option {
  background-color: rgba(0, 0, 0, 0.6);
  bottom: 0;
  display: none;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1003;
}
@media (min-width: 768px), print {
  .price main .plan .optionArea .assurance__section.noseOption .overlay_nose_option {
    border: 2px solid #fff;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
  }
}
.price main .plan .optionArea .assurance__section.noseOption .overlay_nose_option .whiteBox {
  color: #222;
  width: 90%;
  background: #fff;
  padding: calc(100vw * (20 / 375)) calc(100vw * (16 / 375));
  position: relative;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border-radius: calc(100vw * (8 / 375));
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
}
@media (min-width: 768px), print {
  .price main .plan .optionArea .assurance__section.noseOption .overlay_nose_option .whiteBox {
    width: 275px;
    height: 285px;
    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;
    padding: 15px;
    top: 50%;
    border-radius: 10px;
  }
}
.price main .plan .optionArea .assurance__section.noseOption .overlay_nose_option .whiteBox .inner {
  margin: 0;
}
.price main .plan .optionArea .assurance__section.noseOption .overlay_nose_option .whiteBox .popup-img {
  width: 100%;
  height: auto;
  text-align: center;
}
.price main .plan .optionArea .assurance__section.noseOption .overlay_nose_option .whiteBox .popup-img .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.price main .plan .optionArea .assurance__section.noseOption .overlay_nose_option .whiteBox .popup-img img {
  width: 50%;
}
.price main .plan .optionArea .assurance__section.noseOption .overlay_nose_option .whiteBox .popup-txt {
  font-weight: bold;
  line-height: 1.7;
}
.price main .plan .optionArea .assurance__section.noseOption .overlay_nose_option .whiteBox .popup-txt .font-midashi {
  color: #001F3E;
  font-size: 24px;
  text-align: center;
  margin: 20px auto;
}
@media (min-width: 768px), print {
  .price main .plan .optionArea .assurance__section.noseOption .overlay_nose_option .whiteBox .popup-txt .font-midashi {
    font-size: 20px;
  }
}
.price main .plan .optionArea .assurance__section.noseOption .overlay_nose_option .whiteBox .popup-txt p {
  font-size: 16px;
}
@media (min-width: 768px), print {
  .price main .plan .optionArea .assurance__section.noseOption .overlay_nose_option .whiteBox .popup-txt p {
    font-size: 12px;
  }
}
.price main .plan .optionArea .assurance__section.noseOption .overlay_nose_option .whiteBox .close {
  width: calc(100vw * (40 / 375));
  height: calc(100vw * (40 / 375));
  border-radius: 50vw;
  background: #fff;
  position: absolute;
  top: -21%;
  right: 0;
  z-index: 3;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  cursor: pointer;
}
@media (min-width: 768px), print {
  .price main .plan .optionArea .assurance__section.noseOption .overlay_nose_option .whiteBox .close {
    width: 40px;
    height: 40px;
    top: -44px;
    right: -96px;
  }
}
.price main .plan .optionArea .assurance__section.noseOption .overlay_nose_option .whiteBox .close:before, .price main .plan .optionArea .assurance__section.noseOption .overlay_nose_option .whiteBox .close:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background: #001F3E;
}
.price main .plan .optionArea .assurance__section.noseOption .overlay_nose_option .whiteBox .close:before {
  width: calc(100vw * (3 / 375));
  height: calc(100vw * (12 / 375));
}
@media (min-width: 768px), print {
  .price main .plan .optionArea .assurance__section.noseOption .overlay_nose_option .whiteBox .close:before {
    width: 3px;
    height: 15px;
  }
}
.price main .plan .optionArea .assurance__section.noseOption .overlay_nose_option .whiteBox .close:after {
  width: calc(100vw * (12 / 375));
  height: calc(100vw * (3 / 375));
}
@media (min-width: 768px), print {
  .price main .plan .optionArea .assurance__section.noseOption .overlay_nose_option .whiteBox .close:after {
    width: 15px;
    height: 3px;
  }
}
.price main .plan .optionArea .assurance__section.noseOption .ttl_aco {
  color: #fff;
  font-size: calc(100vw * (15 / 375));
  line-height: calc(100vw * (30 / 375));
  margin-top: calc(100vw * (17 / 375));
  border-bottom: 2px solid #fff;
  position: relative;
  cursor: pointer;
}
@media (min-width: 768px), print {
  .price main .plan .optionArea .assurance__section.noseOption .ttl_aco {
    font-size: 15px;
    line-height: 40px;
    margin-top: 26px;
  }
}
.price main .plan .optionArea .assurance__section.noseOption .ttl_aco span {
  width: calc(100vw * (25 / 375));
  height: calc(100vw * (25 / 375));
  border-radius: 50vw;
  background: #F9B90F;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
  pointer-events: none;
}
@media (min-width: 768px), print {
  .price main .plan .optionArea .assurance__section.noseOption .ttl_aco span {
    width: 30px;
    height: 30px;
  }
}
.price main .plan .optionArea .assurance__section.noseOption .ttl_aco span:before, .price main .plan .optionArea .assurance__section.noseOption .ttl_aco span:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background: #000;
}
.price main .plan .optionArea .assurance__section.noseOption .ttl_aco span:before {
  width: calc(100vw * (2 / 375));
  height: calc(100vw * (12 / 375));
}
@media (min-width: 768px), print {
  .price main .plan .optionArea .assurance__section.noseOption .ttl_aco span:before {
    width: 3px;
    height: 15px;
  }
}
.price main .plan .optionArea .assurance__section.noseOption .ttl_aco span:after {
  width: calc(100vw * (12 / 375));
  height: calc(100vw * (2 / 375));
}
@media (min-width: 768px), print {
  .price main .plan .optionArea .assurance__section.noseOption .ttl_aco span:after {
    width: 15px;
    height: 3px;
  }
}
.price main .plan .optionArea .assurance__section.noseOption .ttl_aco.active span:before {
  display: none;
}
.price main .plan .optionArea .assurance__section.noseOption .body_aco {
  padding-top: calc(100vw * (20 / 375));
  display: none;
}
@media (min-width: 768px), print {
  .price main .plan .optionArea .assurance__section.noseOption .body_aco {
    padding-top: 15px;
  }
}
@media (min-width: 768px), print {
  .price main .plan .optionArea .assurance__section.noseOption .body_aco .beforeafter {
    width: 400px;
    margin: 0 auto;
  }
}
.price main .plan .optionArea .assurance__section.noseOption .body_aco .beforeafter .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.price main .plan .optionArea .assurance__section.noseOption .body_aco .beforeafter .flex div {
  width: 48%;
}
.price main .plan .optionArea .assurance__section.noseOption .body_aco .beforeafter .flex div figure {
  position: relative;
  margin-bottom: 20px;
}
.price main .plan .optionArea .assurance__section.noseOption .body_aco .beforeafter .flex div figure figcaption {
  color: #fff;
  font-size: calc(100vw * (18 / 375));
  text-align: center;
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  padding: 0.2em 0;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media (min-width: 768px), print {
  .price main .plan .optionArea .assurance__section.noseOption .body_aco .beforeafter .flex div figure figcaption {
    font-size: 18px;
  }
}
.price main .plan .optionArea .assurance__section.noseOption .body_aco .beforeafter dl {
  color: #fff;
  font-size: calc(100vw * (15 / 375));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: calc(100vw * (10 / 375)) 0;
  border-bottom: 2px solid #fff;
}
@media (min-width: 768px), print {
  .price main .plan .optionArea .assurance__section.noseOption .body_aco .beforeafter dl {
    font-size: 15px;
    padding: 10px 0;
  }
}
.price main .plan .optionArea .assurance__section.noseOption .body_aco .beforeafter dl.first {
  border-top: 2px solid #fff;
}
.price main .plan .optionArea .assurance__section.noseOption .body_aco .beforeafter dl dt {
  text-align: center;
  font-weight: normal;
  width: calc(100vw * (88 / 375));
}
@media (min-width: 768px), print {
  .price main .plan .optionArea .assurance__section.noseOption .body_aco .beforeafter dl dt {
    width: 100px;
  }
}
@media (max-width: 767.98px) {
  .price main .plan .optionArea .assurance__section.faceOption {
    padding-top: calc(100vw * (40 / 375));
  }
}
.price main .plan .optionArea .assurance__section.faceOption .assurance__img {
  margin-bottom: calc(100vw * (28 / 375));
}
@media (min-width: 768px), print {
  .price main .plan .optionArea .assurance__section.faceOption .assurance__img {
    margin-bottom: 49px;
  }
}
.price main .plan .optionArea .assurance__title {
  font-size: calc(100vw * (18 / 375));
  margin-bottom: calc(100vw * (18 / 375));
}
@media (min-width: 768px), print {
  .price main .plan .optionArea .assurance__title {
    font-size: 20px;
    margin-bottom: 23px;
  }
}
.price main .plan .optionArea .assurance__title strong {
  font-size: calc(100vw * (18 / 375));
  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.8vw;
}
@media (min-width: 768px), print {
  .price main .plan .optionArea .assurance__title strong {
    font-size: 20px;
    gap: 12px;
  }
}
@media (min-width: 768px), print {
  .price main .plan .optionArea .assurance__title strong .assurance__badge {
    font-size: 12px;
    padding: 8px 30px;
  }
}
.price main .plan .optionArea .assurance__info {
  font-size: 10px;
  text-align: center;
  margin: 15px 0 22px;
}
@media (max-width: 767.98px) {
  .price main .plan .optionArea .assurance__info {
    font-size: calc(100vw * (10 / 375));
    margin: calc(100vw * (15 / 375)) 0 calc(100vw * (23 / 375));
  }
}
.price main .plan .optionArea .assurance__subCaption {
  font-size: 10px;
  margin-top: 13px;
}
@media (max-width: 767.98px) {
  .price main .plan .optionArea .assurance__subCaption {
    font-size: calc(100vw * (10 / 375));
    margin-top: calc(100vw * (6 / 375));
  }
}
.price main .plan .optionArea .assurance__badge {
  display: inline-block;
  padding: 8px 40px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  color: currentColor;
  text-align: center;
  letter-spacing: 0.01em;
  border: 1px solid currentColor;
  border-radius: 100vmax;
}
@media (max-width: 767.98px) {
  .price main .plan .optionArea .assurance__badge {
    padding: calc(100vw * (7 / 375)) calc(100vw * (20 / 375));
    font-size: calc(100vw * (10 / 375));
  }
}
.price main .assurance {
  padding: 120px 0;
  color: #fff;
  background-color: #4e88b6;
}
@media (max-width: 767.98px) {
  .price main .assurance {
    padding: calc(100vw * (80 / 375)) 0 calc(100vw * (40 / 375));
  }
}
.price main .assurance .l-container {
  --container: 1080px;
}
.price main .assurance .assurance__section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 60px;
}
@media (max-width: 767.98px) {
  .price main .assurance .assurance__section {
    gap: calc(100vw * (40 / 375));
  }
}
.price main .assurance .assurance__section--center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.price main .assurance .assurance__section + .assurance__section {
  margin-top: 120px;
}
@media (max-width: 767.98px) {
  .price main .assurance .assurance__section + .assurance__section {
    margin-top: calc(100vw * (60 / 375));
  }
}
.price main .assurance .assurance__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px 20px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 40px;
  color: #001f3e;
  background-color: #fff;
}
@media (max-width: 767.98px) {
  .price main .assurance .assurance__block {
    gap: calc(100vw * (10 / 375)) calc(100vw * (20 / 375));
    padding: calc(100vw * (24 / 375));
  }
}
.price main .assurance .assurance__block--row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
@media (max-width: 767.98px) {
  .price main .assurance .assurance__block--row {
    padding: calc(100vw * (20 / 375)) calc(100vw * (18 / 375));
  }
}
.price main .assurance .assurance__img {
  max-width: 620px;
}
.price main .assurance .assurance__img--sm {
  max-width: 200px;
}
@media (max-width: 767.98px) {
  .price main .assurance .assurance__img--sm {
    max-width: calc(100vw * (150 / 375));
  }
}
.price main .assurance .assurance__block-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  color: #001f3e;
  text-align: center;
  letter-spacing: 0.05em;
}
@media (max-width: 767.98px) {
  .price main .assurance .assurance__block-title {
    font-size: calc(100vw * (12 / 375));
  }
}
.price main .assurance .assurance__block-title strong {
  color: #f45d2e;
}
.price main .assurance .assurance__block-title--lg {
  font-size: 24px;
  text-align: center;
}
@media (max-width: 767.98px) {
  .price main .assurance .assurance__block-title--lg {
    font-size: calc(100vw * (16 / 375));
  }
}
.price main .assurance .assurance__title strong {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 18px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 767.98px) {
  .price main .assurance .assurance__title strong {
    gap: calc(100vw * (18 / 375));
  }
}
.price main .assurance .assurance__badge {
  display: inline-block;
  padding: 8px 40px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  color: currentColor;
  text-align: center;
  letter-spacing: 0.01em;
  border: 1px solid currentColor;
  border-radius: 100vmax;
}
@media (max-width: 767.98px) {
  .price main .assurance .assurance__badge {
    padding: calc(100vw * (7 / 375)) calc(100vw * (20 / 375));
    font-size: calc(100vw * (10 / 375));
  }
}
.price main .assurance .assurance__caption {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  text-align: center;
}
@media (max-width: 767.98px) {
  .price main .assurance .assurance__caption {
    gap: calc(100vw * (20 / 375));
    text-align: left;
  }
}
.price main .assurance .assurance__lead {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.01em;
}
@media (max-width: 767.98px) {
  .price main .assurance .assurance__lead {
    font-size: calc(100vw * (14 / 375));
  }
}
.price main .assurance .assurance__subscript {
  font-size: 10px;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.01em;
}
@media (max-width: 767.98px) {
  .price main .assurance .assurance__subscript {
    font-size: calc(100vw * (8 / 375));
    letter-spacing: 0;
  }
}
.price main .assurance .assurance__subscript--center {
  text-align: center;
}
.price main .assurance .assurance__desc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.price main .assurance .assurance__price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  font-family: "Noto Sans JP";
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  color: #001f3e;
}
@media (max-width: 767.98px) {
  .price main .assurance .assurance__price {
    font-size: calc(100vw * (16 / 375));
  }
}
.price main .assurance .assurance__price-main {
  font-family: Oswald;
  font-size: 48px;
  font-weight: 500;
  color: #f45d2e;
}
@media (max-width: 767.98px) {
  .price main .assurance .assurance__price-main {
    font-size: calc(100vw * (32 / 375));
  }
}
.price main .assurance .assurance__price-main small {
  margin: 0 3px;
  font-family: "Noto Sans JP";
  font-size: 28px;
  font-weight: 700;
}
@media (max-width: 767.98px) {
  .price main .assurance .assurance__price-main small {
    font-size: calc(100vw * (16 / 375));
  }
}
.price main .assurance .assurance__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px 40px;
}
@media (max-width: 767.98px) {
  .price main .assurance .assurance__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(100vw * (20 / 375)) calc(100vw * (40 / 375));
  }
}
.price main .assurance .assurance__tab {
  min-width: 480px;
}
@media (max-width: 767.98px) {
  .price main .assurance .assurance__tab {
    width: 100%;
    min-width: unset;
  }
}
.price main .plan-parts {
  padding: 120px 0;
  background-color: #f3f4f8;
}
@media (max-width: 767.98px) {
  .price main .plan-parts {
    padding: calc(100vw * (80 / 375)) 0 calc(100vw * (40 / 375));
  }
}
.price main .plan-parts .plan-parts__title strong {
  color: #f45d2e;
}
.price main .plan-parts .plan-parts__container {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 60px;
}
.price main .plan-parts .plan-parts__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}
@media (max-width: 767.98px) {
  .price main .plan-parts .plan-parts__buttons {
    position: absolute;
    z-index: 1;
    gap: calc(100vw * (15 / 375));
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    min-height: calc(100vw * (138 / 375));
  }
  .price main .plan-parts .plan-parts__buttons:first-child {
    left: 0;
  }
  .price main .plan-parts .plan-parts__buttons:last-child {
    right: 0;
  }
}
.price main .plan-parts .plan-parts__button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 200px;
  min-height: 40px;
  padding: 4px 12px;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  color: #fff;
  text-align: center;
  letter-spacing: 0.01em;
  background-color: #4e88b6;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (max-width: 767.98px) {
  .price main .plan-parts .plan-parts__button {
    min-width: calc(100vw * (120 / 375));
    min-height: calc(100vw * (36 / 375));
    padding: calc(100vw * (4 / 375));
    font-size: calc(100vw * (12 / 375));
    border-radius: 100vmax;
  }
}
.price main .plan-parts .plan-parts__button:hover {
  background-color: #f45d2e;
}
.price main .plan-parts .plan-parts__img {
  position: relative;
  max-width: 440px;
}
.price main .plan-parts .plan-parts__img img {
  width: 100%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.price main .plan-parts .plan-parts__img img:not(:first-child) {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
.price main .plan-parts .plan-parts__img img:not(:first-child).is-active {
  pointer-events: initial;
  opacity: 1;
}
.price main .discount {
  padding: 120px 0;
  background-color: #f3f4f8;
}
@media (max-width: 767.98px) {
  .price main .discount {
    padding: calc(100vw * (80 / 375)) 0 calc(100vw * (40 / 375));
  }
}
.price main .discount .l-container {
  --container: 1080px;
}
.price main .discount .discount__title strong {
  color: #f45d2e;
}
.price main .discount .discount__section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 60px;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  margin-top: 60px;
}
@media (max-width: 767.98px) {
  .price main .discount .discount__section {
    gap: calc(100vw * (60 / 375));
  }
}
.price main .discount .discount__img {
  max-width: 864px;
  margin: 0 auto;
}
@media (max-width: 767.98px) {
  .price main .discount .discount__img {
    max-width: calc(100vw * (375 / 375));
  }
}
.price main .discount .discount__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width: 767.98px) {
  .price main .discount .discount__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
.price main .discount .discount__block {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  background: #fff;
  border-radius: 10px;
  -webkit-box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
}
.price main .discount .discount__block-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  padding: 40px 20px;
}
@media (max-width: 767.98px) {
  .price main .discount .discount__block-body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: calc(100vw * (8 / 375));
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: calc(100vw * (20 / 375));
  }
}
@media (max-width: 767.98px) {
  .price main .discount .c-balloon {
    -ms-flex-item-align: initial;
        -ms-grid-row-align: initial;
        align-self: initial;
    padding-bottom: unset;
  }
}
@media (max-width: 767.98px) {
  .price main .discount .c-balloon .c-balloon__inner {
    min-width: calc(100vw * (160 / 375));
  }
}
@media (max-width: 767.98px) {
  .price main .discount .c-balloon .c-balloon__inner::before {
    content: none;
  }
}
.price main .discount .discount__heading-discount {
  min-width: 160px;
  padding-bottom: 12px;
  margin: 0 auto;
  font-family: Oswald;
  font-size: 70px;
  font-weight: 500;
  line-height: 1;
  color: #001f3e;
  border-bottom: solid 2px currentColor;
}
@media (max-width: 767.98px) {
  .price main .discount .discount__heading-discount {
    min-width: unset;
    font-size: calc(100vw * (60 / 375));
  }
}
.price main .discount .discount__heading-discount--secondary {
  color: #4e88b6;
}
.price main .discount .discount__heading-discount--orange {
  color: #f45d2e;
}
.price main .discount .discount__heading-discount small {
  font-size: 40px;
  font-weight: 500;
}
@media (max-width: 767.98px) {
  .price main .discount .discount__heading-discount small {
    font-size: calc(100vw * (36 / 375));
  }
}
.price main .discount .discount__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  padding: 20px;
  font-size: 16px;
}
@media (max-width: 767.98px) {
  .price main .discount .discount__contents {
    gap: calc(100vw * (8 / 375));
    padding: calc(100vw * (20 / 375));
    font-size: calc(100vw * (14 / 375));
  }
}
.price main .discount .discount__subscript {
  font-size: 12px;
}
@media (max-width: 767.98px) {
  .price main .discount .discount__subscript {
    font-size: calc(100vw * (12 / 375));
  }
}
.price main .discount .discount__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.price main .discount .discount__info-title {
  padding: 4px 8px;
  font-size: 16px;
  color: #fff;
  text-align: center;
  background-color: #001f3e;
  border-radius: 4px;
}
@media (max-width: 767.98px) {
  .price main .discount .discount__info-title {
    font-size: calc(100vw * (14 / 375));
  }
}
.price main .discount .discount__info-title--secondary {
  background-color: #4e88b6;
}
.price main .discount .discount__info-title--orange {
  background-color: #f45d2e;
}
.price main .discount .discount__info-desc {
  font-size: 14px;
  line-height: 1.5;
}
.price main .discount .discount__info-desc a {
  color: #4e88b6;
  text-decoration: underline;
}
.price main .discount .discount__block-more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  min-height: 40px;
  padding: 5px;
  margin-top: auto;
  background-color: #f9b90f;
}
@media (max-width: 767.98px) {
  .price main .discount .discount__block-more {
    gap: calc(100vw * (20 / 375));
    min-height: calc(100vw * (32 / 375));
  }
}
.price main .discount .discount__block-more::before, .price main .discount .discount__block-more::after {
  display: block;
  width: 16px;
  height: 12px;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
  background-color: currentColor;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (max-width: 767.98px) {
  .price main .discount .discount__block-more::before, .price main .discount .discount__block-more::after {
    width: calc(100vw * (12 / 375));
    height: calc(100vw * (8 / 375));
  }
}
.price main .discount .discount__block-more.is-active::before, .price main .discount .discount__block-more.is-active::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.price main .discount .discount__label {
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.01em;
}
@media (max-width: 767.98px) {
  .price main .discount .discount__label {
    font-size: calc(100vw * (14 / 375));
  }
}
.price main .discount .discount__block-more.is-active .discount__label--open {
  display: none;
}
.price main .discount .discount__block-more:not(.is-active) .discount__label--close {
  display: none;
}
.price main .feature {
  padding: 120px 0;
  color: #fff;
  background-color: #4e88b6;
}
@media (max-width: 767.98px) {
  .price main .feature {
    padding: calc(100vw * (60 / 375)) 0;
  }
}
.price main .feature .l-container {
  --container: 1080px;
}
.price main .feature .feature__title .text-emphasis {
  margin: 0 6px;
  font-size: 32px;
}
.price main .feature .feature__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 767.98px) {
  .price main .feature .feature__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(100vw * (40 / 375));
  }
}
.price main .feature .feature__section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 60px;
}
@media (max-width: 767.98px) {
  .price main .feature .feature__section {
    gap: calc(100vw * (40 / 375));
  }
}
.price main .feature .feature__section--center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.price main .feature .feature__section + .feature__section {
  margin-top: 120px;
}
@media (max-width: 767.98px) {
  .price main .feature .feature__section + .feature__section {
    margin-top: calc(100vw * (60 / 375));
  }
}
.price main .feature .feature__info-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: min(285px, 100%);
}
@media (max-width: 767.98px) {
  .price main .feature .feature__info-block {
    gap: calc(100vw * (20 / 375));
    width: 100%;
  }
}
.price main .feature .feature__info-block .feature__info-block-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  height: 215px;
}
@media (max-width: 767.98px) {
  .price main .feature .feature__info-block .feature__info-block-body {
    gap: calc(100vw * (20 / 375));
    height: auto;
  }
}
.price main .feature .feature__info-block-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 48px;
  height: 42px;
  margin: 0 auto;
  background-color: #f9b90f;
  -webkit-mask-image: url('data:image/svg+xml;charset=UTF-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 42"><path d="M12.25.5C5.76165.5.5 5.65705.5 12.0196c0 5.1361 2.05625 17.3259 22.2968 29.6484.363.2172.7791.332 1.2032.332.4241 0 .8402-.1148 1.2032-.332C45.4461 29.3455 47.5 17.1557 47.5 12.0196 47.5 5.65705 42.2383.5 35.75.5 29.2616.5 24 7.48156 24 7.48156S18.7383.5 12.25.5Z"/></svg>');
          mask-image: url('data:image/svg+xml;charset=UTF-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 42"><path d="M12.25.5C5.76165.5.5 5.65705.5 12.0196c0 5.1361 2.05625 17.3259 22.2968 29.6484.363.2172.7791.332 1.2032.332.4241 0 .8402-.1148 1.2032-.332C45.4461 29.3455 47.5 17.1557 47.5 12.0196 47.5 5.65705 42.2383.5 35.75.5 29.2616.5 24 7.48156 24 7.48156S18.7383.5 12.25.5Z"/></svg>');
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media (max-width: 767.98px) {
  .price main .feature .feature__info-block-icon {
    width: calc(100vw * (47 / 375));
    height: calc(100vw * (41.5 / 375));
  }
}
.price main .feature .feature__info-block-headline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.price main .feature .feature__info-block-caption {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
@media (max-width: 767.98px) {
  .price main .feature .feature__info-block-caption {
    font-size: calc(100vw * (16 / 375));
  }
}
.price main .feature .feature__info-block-title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
@media (max-width: 767.98px) {
  .price main .feature .feature__info-block-title {
    font-size: calc(100vw * (32 / 375));
  }
}
.price main .feature .feature__info-block-title--year {
  font-family: Oswald;
  font-size: 80px;
  font-weight: 500;
  line-height: 1;
}
@media (max-width: 767.98px) {
  .price main .feature .feature__info-block-title--year {
    font-size: calc(100vw * (80 / 375));
  }
}
.price main .feature .feature__info-block-title--year small {
  margin-left: 5px;
  font-size: 32px;
  letter-spacing: 0.01em;
}
@media (max-width: 767.98px) {
  .price main .feature .feature__info-block-title--year small {
    margin-left: calc(100vw * (5 / 375));
    font-size: calc(100vw * (32 / 375));
  }
}
.price main .feature .feature__lead {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.8;
  text-align: center;
  letter-spacing: 0.01em;
}
@media (max-width: 767.98px) {
  .price main .feature .feature__lead {
    font-size: calc(100vw * (14 / 375));
    text-align: left;
  }
}
.price main .feature .feature__subscript {
  font-size: 10px;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.005em;
}
@media (max-width: 767.98px) {
  .price main .feature .feature__subscript {
    font-size: calc(100vw * (8 / 375));
    letter-spacing: 0;
  }
}
.price main .feature .feature__subscript--center {
  text-align: center;
}
.price main .feature .feature__balloon {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  width: 590px;
  margin-top: 20px;
  font-size: 16px;
  color: #333;
  background-color: #fff;
  border-radius: 20px;
}
@media (max-width: 767.98px) {
  .price main .feature .feature__balloon {
    width: 100%;
    margin-top: calc(100vw * (20 / 375));
    font-size: calc(100vw * (14 / 375));
    border-radius: calc(100vw * (20 / 375));
  }
}
.price main .feature .feature__balloon--center {
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
}
.price main .feature .feature__balloon--right {
  -ms-flex-item-align: end;
      align-self: flex-end;
}
.price main .feature .feature__balloon .feature__balloon-inner {
  padding: 40px;
}
@media (max-width: 767.98px) {
  .price main .feature .feature__balloon .feature__balloon-inner {
    padding: calc(100vw * (20 / 375));
  }
}
.price main .feature .feature__balloon .feature__balloon-arrow {
  position: absolute;
  top: -19px;
  left: 130px;
  width: 30px;
  height: 20px;
  -webkit-clip-path: polygon(50% 0, 100% 100%, 0 100%);
          clip-path: polygon(50% 0, 100% 100%, 0 100%);
  background-color: #fff;
}
@media (max-width: 767.98px) {
  .price main .feature .feature__balloon .feature__balloon-arrow {
    left: calc((100% - 100vw * (30 / 375)) / 2);
  }
}
.price main .feature .feature__balloon--center .feature__balloon-arrow {
  left: calc((100% - 30px) / 2);
}
@media (max-width: 767.98px) {
  .price main .feature .feature__balloon--center .feature__balloon-arrow {
    left: calc((100% - 100vw * (30 / 375)) / 2);
  }
}
.price main .feature .feature__balloon--right .feature__balloon-arrow {
  right: 130px;
  left: unset;
}
@media (max-width: 767.98px) {
  .price main .feature .feature__balloon--right .feature__balloon-arrow {
    left: calc((100% - 100vw * (30 / 375)) / 2);
  }
}
.price main .feature .feature__button {
  position: relative;
  z-index: 0;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 110px;
  padding: 5px 20px;
  margin: auto auto 0;
  background-color: #001f3e;
  border: 1px solid #001f3e;
  border-radius: 100vmax;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (max-width: 767.98px) {
  .price main .feature .feature__button {
    min-width: calc(100vw * (110 / 375));
    padding: calc(100vw * (5 / 375)) calc(100vw * (20 / 375));
    margin: 0 auto;
  }
}
.price main .feature .feature__button.is-open {
  background-color: transparent;
  border: 1px solid #fff;
}
.price main .feature .feature__button .feature__button__inner {
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  text-align: center;
}
@media (max-width: 767.98px) {
  .price main .feature .feature__button .feature__button__inner {
    font-size: calc(100vw * (12 / 375));
  }
}
.price main .feature .feature__button.is-open .feature__button__inner--open {
  display: none;
}
.price main .feature .feature__button .feature__button__inner--close {
  color: #fff;
}
.price main .feature .feature__button:not(.is-open) .feature__button__inner--close {
  display: none;
}
.price main .feature .feature__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 20px 40px;
  color: #001f3e;
  background-color: #fff;
  border-radius: 10px;
}
@media (max-width: 767.98px) {
  .price main .feature .feature__container {
    padding: calc(100vw * (20 / 375)) calc(100vw * (16 / 375));
    border-radius: calc(100vw * (10 / 375));
  }
}
@media (max-width: 767.98px) {
  .price main .feature .feature__container--sm {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
.price main .feature .feature__container--lg {
  padding: 40px 16px;
  border-radius: unset;
}
@media (max-width: 767.98px) {
  .price main .feature .feature__container--lg {
    padding: calc(100vw * (40 / 375)) calc(100vw * (16 / 375));
  }
}
.price main .feature .feature__container-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 767.98px) {
  .price main .feature .feature__container-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(100vw * (20 / 375));
  }
}
.price main .feature .feature__badge-list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 10px 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px 10px;
}
@media (max-width: 767.98px) {
  .price main .feature .feature__badge-list {
    gap: calc(100vw * (40 / 375)) calc(100vw * (10 / 375));
  }
}
.price main .feature .feature__badge {
  min-width: 210px;
  min-height: 40px;
  padding: 5px 20px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  text-align: center;
  letter-spacing: 0.005em;
  background-color: #4e88b6;
  border-radius: 100vmax;
}
@media (max-width: 767.98px) {
  .price main .feature .feature__badge {
    min-width: calc(100vw * (150 / 375));
    min-height: calc(100vw * (30 / 375));
    padding: calc(100vw * (5 / 375)) calc(100vw * (16 / 375));
    font-size: calc(100vw * (14 / 375));
  }
}
.price main .feature .feature__img {
  max-width: 430px;
}
@media (max-width: 767.98px) {
  .price main .feature .feature__img {
    max-width: calc(100vw * (290 / 375));
  }
}
.price main .feature .feature__payment-list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 40px 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
@media (max-width: 767.98px) {
  .price main .feature .feature__payment-list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: calc(100vw * (20 / 375));
  }
}
.price main .feature .feature__payment-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto;
  font-size: 24px;
  font-weight: 500;
  line-height: 1;
  color: #001f3e;
  text-align: center;
}
@media (max-width: 767.98px) {
  .price main .feature .feature__payment-title {
    gap: calc(100vw * (10 / 375));
    font-size: calc(100vw * (18 / 375));
  }
}
.price main .feature .feature__payment-title small {
  font-size: 16px;
}
@media (max-width: 767.98px) {
  .price main .feature .feature__payment-title small {
    font-size: calc(100vw * (12 / 375));
  }
}
.price main .feature .feature__payment-img {
  margin: 0 auto;
}

.price .plan-parts-modal .plan-parts-modal__title {
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  color: #001f3e;
  text-align: center;
  letter-spacing: 0.1em;
}
@media (max-width: 767.98px) {
  .price .plan-parts-modal .plan-parts-modal__title {
    font-size: calc(100vw * (22 / 375));
  }
}
.price .plan-parts-modal .plan-parts-modal__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 40px;
}
@media (max-width: 767.98px) {
  .price .plan-parts-modal .plan-parts-modal__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(100vw * (20 / 375));
    margin-top: calc(100vw * (20 / 375));
  }
}
.price .plan-parts-modal .plan-parts-modal__img {
  max-width: 240px;
}
@media (max-width: 767.98px) {
  .price .plan-parts-modal .plan-parts-modal__img {
    max-width: calc(100vw * (120 / 375));
  }
}
.price .plan-parts-modal .plan-parts-modal__desc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.price .plan-parts-modal .plan-parts-modal__lead {
  margin-top: 20px;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.8;
  text-align: center;
  letter-spacing: 0.01em;
}
@media (max-width: 767.98px) {
  .price .plan-parts-modal .plan-parts-modal__lead {
    font-size: calc(100vw * (14 / 375));
  }
}
.price .plan-parts-modal .plan-parts-modal__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 40px;
}
@media (max-width: 767.98px) {
  .price .plan-parts-modal .plan-parts-modal__button {
    margin-top: calc(100vw * (20 / 375));
  }
}
.price .plan-parts-modal .plan-parts-modal__campaign-icon {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 1;
}
@media (max-width: 767.98px) {
  .price .plan-parts-modal .plan-parts-modal__campaign-icon {
    position: initial;
    margin-bottom: calc(100vw * (-30 / 375));
    margin-left: auto;
  }
}

.u-opacity-0 {
  opacity: 0;
}

.u-auto-alpha {
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
}

.u-scroll--fadeIn {
  -webkit-transition: opacity 0.6s, -webkit-transform 0.6s;
  transition: opacity 0.6s, -webkit-transform 0.6s;
  transition: opacity 0.6s, transform 0.6s;
  transition: opacity 0.6s, transform 0.6s, -webkit-transform 0.6s;
}
.u-scroll--fadeIn:not(.is-active) {
  opacity: 0;
  -webkit-transform: translateY(40px);
          transform: translateY(40px);
}

.u-scroll--fadeInBlur {
  -webkit-transition: opacity 0.6s, -webkit-transform 0.6s, -webkit-filter 0.6s;
  transition: opacity 0.6s, -webkit-transform 0.6s, -webkit-filter 0.6s;
  transition: opacity 0.6s, transform 0.6s, filter 0.6s;
  transition: opacity 0.6s, transform 0.6s, filter 0.6s, -webkit-transform 0.6s, -webkit-filter 0.6s;
}
.u-scroll--fadeInBlur:not(.is-active) {
  -webkit-filter: blur(8px);
          filter: blur(8px);
  opacity: 0;
  -webkit-transform: translateY(40px);
          transform: translateY(40px);
}

.u-scroll--fadeInBlurToLeft {
  -webkit-transition: opacity 0.6s, -webkit-transform 0.6s, -webkit-filter 0.6s;
  transition: opacity 0.6s, -webkit-transform 0.6s, -webkit-filter 0.6s;
  transition: opacity 0.6s, transform 0.6s, filter 0.6s;
  transition: opacity 0.6s, transform 0.6s, filter 0.6s, -webkit-transform 0.6s, -webkit-filter 0.6s;
}
.u-scroll--fadeInBlurToLeft:not(.is-active) {
  -webkit-filter: blur(8px);
          filter: blur(8px);
  opacity: 0;
  -webkit-transform: translateX(40px);
          transform: translateX(40px);
}

.u-scroll--clipInRight {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  -webkit-transition: -webkit-clip-path 0.4s;
  transition: -webkit-clip-path 0.4s;
  transition: clip-path 0.4s;
  transition: clip-path 0.4s, -webkit-clip-path 0.4s;
}
.u-scroll--clipInRight:not(.is-active) {
  -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
          clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
}

.u-text-xs {
  font-size: 0.75rem;
}

.u-text-sm {
  font-size: 0.875rem;
}

.u-text-md {
  font-size: 1rem;
}

.u-text-lg {
  font-size: 1.125rem;
}

.u-text-xl {
  font-size: 1.25rem;
}

.u-text-2xl {
  font-size: 1.5rem;
}

.u-text-3xl {
  font-size: 1.875rem;
}

.u-text-4xl {
  font-size: 2.25rem;
}

.u-text-5xl {
  font-size: 3rem;
}

.u-text-6xl {
  font-size: 3.75rem;
}

.u-text-7xl {
  font-size: 4.5rem;
}

.u-text-8xl {
  font-size: 6rem;
}

.u-text-9xl {
  font-size: 8rem;
}

.u-text-body {
  color: #fff;
}

.u-text-text {
  color: #161616;
}

.u-text-text-weak {
  color: #9a9a9a;
}

.u-text-primary {
  color: #9dd9d2;
}

.u-text-accent {
  color: #ff8811;
}

.u-text-bg {
  color: #f2fafb;
}

.u-text-line {
  color: #c5beb6;
}

.u-text-line-weak {
  color: #e2e2df;
}

.btn {
  display: inline-block;
  line-height: 1;
  text-align: center;
}

.btn__inner {
  position: relative;
  z-index: 0;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 310px;
  min-height: 60px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  text-align: center;
  letter-spacing: 0.05em;
  cursor: pointer;
  background-color: #001f3e;
  border: solid 1px transparent;
  border-radius: 100vmax;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (max-width: 767.98px) {
  .btn__inner {
    min-width: calc(100vw * (310 / 375));
    min-height: calc(100vw * (60 / 375));
    font-size: calc(100vw * (14 / 375));
  }
}
.btn__inner:hover {
  color: #001f3e;
  background-color: #fff;
  border: solid 1px currentColor;
}

.btn--sm .btn__inner {
  min-height: 50px;
}
@media (max-width: 767.98px) {
  .btn--sm .btn__inner {
    min-height: calc(100vw * (50 / 375));
  }
}

.btn--white .btn__inner {
  color: #001f3e;
  background-color: #fff;
}
.btn--white .btn__inner:hover {
  color: #fff;
  background-color: #001f3e;
}

.btn--secondary .btn__inner {
  background-color: #4e88b6;
}
.btn--secondary .btn__inner:hover {
  color: #fff;
  background-color: #f45d2e;
}

.button-toggle {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 100px;
  min-height: 70px;
  color: #fff;
  background-color: #001f3e;
  border: 1px solid #fff;
}
@media (max-width: 767.98px) {
  .button-toggle {
    gap: calc(100vw * (8 / 375));
    min-width: calc(100vw * (70 / 375));
    min-height: calc(100vw * (70 / 375));
  }
}

.button-toggle.is-active {
  color: #001f3e;
  background-color: #fff;
  border: 1px solid #fff;
}

.button-toggle__en {
  font-family: Oswald;
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
  text-align: center;
}
@media (max-width: 767.98px) {
  .button-toggle__en {
    font-size: calc(100vw * (20 / 375));
  }
}

.button-toggle__ja {
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
@media (max-width: 767.98px) {
  .button-toggle__ja {
    font-size: calc(100vw * (9 / 375));
  }
}

.icon-campaign {
  width: 80px;
  height: 80px;
}
@media (max-width: 767.98px) {
  .icon-campaign {
    width: calc(100vw * (60 / 375));
    height: calc(100vw * (60 / 375));
  }
}

.graph-case {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}

.graph-case__title {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media (max-width: 767.98px) {
  .graph-case__title {
    position: unset;
    text-align: center;
  }
}

.graph-case__count {
  font-family: "Oswald";
  font-size: 72px;
  font-weight: 400;
  line-height: 1;
  color: #f9b90f;
}
.graph-case__count small {
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
}
.graph-case__count .odometer {
  font-family: "Oswald" !important;
}

.graph-case__graph {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3px;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-left: auto;
}
@media (max-width: 767.98px) {
  .graph-case__graph {
    gap: 1px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-right: auto;
  }
}

.graph-case__col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.graph-case__col--current {
  color: #f9b90f;
}

.graph-case__label {
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  text-align: center;
}
@media (max-width: 767.98px) {
  .graph-case__label {
    font-size: 9px;
  }
}
.graph-case__label small {
  font-size: 10px;
}
.graph-case__bar {
  width: 48px;
  height: var(--bar);
  background-color: currentColor;
}
@media (max-width: 767.98px) {
  .graph-case__bar {
    width: 27.5px;
    height: var(--bar-mobile);
  }
}

.graph-case__ad {
  font-size: 10px;
  font-weight: 400;
  line-height: 1;
  text-align: center;
}
@media (max-width: 767.98px) {
  .graph-case__ad {
    font-size: 6px;
  }
}

.graph-case__subscript {
  font-size: 10px;
  font-weight: 400;
  line-height: 1;
  text-align: right;
  letter-spacing: 0.1em;
}
@media (max-width: 767.98px) {
  .graph-case__subscript {
    font-size: 8px;
  }
}

.table-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.table-info__title {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 5px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 50px;
  min-height: 15px;
  font-size: 8px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  border: 1px solid currentColor;
}

.table-info__desc {
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  letter-spacing: 0.05em;
}
@media (max-width: 767.98px) {
  .table-info__desc {
    font-size: 10px;
  }
}
.table-info__desc--lg {
  font-size: 20px;
}
@media (max-width: 767.98px) {
  .table-info__desc--lg {
    font-size: 18px;
  }
}

.image-caption {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.image-caption + .image-caption {
  margin-top: -16px;
}

.l-container-image-caption .image-caption {
  width: calc(100% - 46px);
}

.l-container-image-caption .image-caption:nth-child(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  margin-left: auto;
}

.image-caption__img {
  width: calc(100% - 90px);
  min-width: 180px;
}

.l-container-image-caption .image-caption:nth-child(even) {
  right: unset;
  left: 0;
}

.image-caption__title {
  position: absolute;
  right: 0;
  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: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.l-container-image-caption .image-caption:nth-child(even) .image-caption__title {
  right: unset;
  left: 0;
}

.image-caption__label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 8px;
  font-family: "Noto Sans JP";
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%; /* 24px */
  color: #001f3e;
  text-align: center;
  letter-spacing: 2.4px;
  background-color: #fff;
}
@media (max-width: 767.98px) {
  .image-caption__label {
    padding: 5px;
    font-size: 10px;
  }
}
.image-caption__label--lg {
  font-size: 24px;
}
@media (max-width: 767.98px) {
  .image-caption__label--lg {
    font-size: 16px;
  }
}
.image-caption__label + .image-caption__label {
  margin-top: -8px;
}
@media (max-width: 767.98px) {
  .image-caption__label + .image-caption__label {
    margin-top: -5px;
  }
}

.card-info {
  position: relative;
  z-index: 0;
  overflow: hidden;
  background-color: #f0f0f0;
  border-radius: 5px;
}
@media (max-width: 767.98px) {
  .card-info {
    border-radius: calc(100vw * (5 / 375));
  }
}

.card-info__header {
  padding: 5px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-align: center;
  background-color: #4e88b6;
}
@media (max-width: 767.98px) {
  .card-info__header {
    padding: calc(100vw * (5 / 375));
    font-size: calc(100vw * (14 / 375));
  }
}
.card-info__header--lg {
  padding: 10px;
  font-size: 20px;
}
@media (max-width: 767.98px) {
  .card-info__header--lg {
    padding: calc(100vw * (8 / 375));
    font-size: calc(100vw * (14 / 375));
  }
}

.card-info__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.card-info__caption {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 5px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 4px 16px;
  margin-left: auto;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background-color: #f45d2e;
}
@media (max-width: 767.98px) {
  .card-info__caption {
    gap: calc(100vw * (5 / 375));
    padding: calc(100vw * (4 / 375)) calc(100vw * (16 / 375));
    font-size: calc(100vw * (10 / 375));
  }
}

.tab-course {
  position: relative;
}

.tab-course__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width: 767.98px) {
  .tab-course__list {
    gap: calc(100vw * (2 / 375));
  }
}

.tab-course__button {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 30px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  letter-spacing: 0.05em;
  background-color: #666;
  border-radius: 5px 5px 0px 0px;
}
@media (max-width: 767.98px) {
  .tab-course__button {
    min-height: calc(100vw * (30 / 375));
    font-size: calc(100vw * (12 / 375));
    border-radius: calc(100vw * (5 / 375)) calc(100vw * (5 / 375)) 0px 0px;
  }
}
.tab-course__button.is-active {
  color: #333;
  background-color: #f0f0f0;
}
.tab-course__button.is-active::before {
  position: absolute;
  bottom: 0;
  width: 32px;
  height: 1px;
  content: "";
  background-color: #333;
}
@media (max-width: 767.98px) {
  .tab-course__button.is-active::before {
    width: calc(100vw * (32 / 375));
    height: calc(100vw * (1 / 375));
  }
}

.tab-course__button-number {
  font-size: 20px;
}
@media (max-width: 767.98px) {
  .tab-course__button-number {
    font-size: calc(100vw * (18 / 375));
  }
}

.tab-course__content {
  position: relative;
  z-index: 0;
}

.tab-course__content-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 767.98px) {
  .tab-course__content-inner {
    gap: calc(100vw * (10 / 375));
  }
}

.tab-course__block {
  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;
  padding: 20px 12px;
  color: #333;
  background-color: #f0f0f0;
  border-radius: 0px 0px 5px 5px;
}
@media (max-width: 767.98px) {
  .tab-course__block {
    padding: calc(100vw * (20 / 375)) calc(100vw * (12 / 375));
    border-radius: 0px 0px calc(100vw * (5 / 375)) calc(100vw * (5 / 375));
  }
}
.tab-course__block--center {
  gap: 20px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 767.98px) {
  .tab-course__block--center {
    gap: calc(100vw * (10 / 375));
  }
}
.tab-course__block--col {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
@media (max-width: 767.98px) {
  .tab-course__block--col {
    gap: calc(100vw * (20 / 375));
  }
}

.tab-course__block:not(.is-active) {
  position: absolute;
  top: 0;
  width: 100%;
}

.tab-course__price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6px;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  font-family: Oswald;
  font-size: 48px;
  font-weight: 500;
  line-height: 1;
  color: #f45d2e;
}
@media (max-width: 767.98px) {
  .tab-course__price {
    gap: calc(100vw * (6 / 375));
    font-size: calc(100vw * (48 / 375));
  }
}
.tab-course__price--lg {
  font-size: 60px;
}
@media (max-width: 767.98px) {
  .tab-course__price--lg {
    font-size: calc(100vw * (44 / 375));
  }
}
.tab-course__price--md {
  font-size: 40px;
  color: #333;
}
@media (max-width: 767.98px) {
  .tab-course__price--md {
    font-size: calc(100vw * (24 / 375));
  }
}
.tab-course__price--sm {
  font-size: 20px;
  color: #333;
}
@media (max-width: 767.98px) {
  .tab-course__price--sm {
    font-size: calc(100vw * (20 / 375));
  }
}

.tab-course__label-price {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.1;
  color: #333;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media (max-width: 767.98px) {
  .tab-course__label-price {
    font-size: calc(100vw * (10 / 375));
  }
}

.tab-course__label-plus {
  font-size: 48.5px;
  font-weight: 500;
  line-height: 1;
  color: #333;
}
@media (max-width: 767.98px) {
  .tab-course__label-plus {
    font-size: calc(100vw * (32 / 375));
  }
}

.tab-course__label-en {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.1;
  color: #333;
  text-align: center;
}
.tab-course__label-en small {
  font-size: 10px;
}
@media (max-width: 767.98px) {
  .tab-course__label-en small {
    font-size: calc(100vw * (8 / 375));
  }
}
@media (max-width: 767.98px) {
  .tab-course__label-en {
    font-size: calc(100vw * (16 / 375));
  }
}

.tab-course__payment {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
  text-align: center;
}
@media (max-width: 767.98px) {
  .tab-course__payment {
    gap: calc(100vw * (5 / 375));
  }
}

.tab-course__monthly {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  font-weight: 600;
  line-height: 1;
  color: #333;
}
.tab-course__monthly small {
  font-size: 10px;
}
@media (max-width: 767.98px) {
  .tab-course__monthly small {
    font-size: calc(100vw * (10 / 375));
  }
}
.tab-course__monthly--md small {
  font-size: 14px;
}
@media (max-width: 767.98px) {
  .tab-course__monthly--md small {
    font-size: calc(100vw * (10 / 375));
  }
}

.tab-course__desc-payment {
  padding-top: 5px;
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
  color: #333;
  border-top: 1px solid currentColor;
}
@media (max-width: 767.98px) {
  .tab-course__desc-payment {
    padding-top: calc(100vw * (5 / 375));
    font-size: calc(100vw * (10 / 375));
    border-top: calc(100vw * (1 / 375)) solid currentColor;
  }
}

.tab-course__desc-badge {
  padding: 4px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  color: #333;
  border: 1px solid currentColor;
  border-radius: 5px;
}
@media (max-width: 767.98px) {
  .tab-course__desc-badge {
    padding: calc(100vw * (4 / 375));
    font-size: calc(100vw * (10 / 375));
    border: calc(100vw * (1 / 375)) solid currentColor;
    border-radius: calc(100vw * (5 / 375));
  }
}

.tab-course__icon {
  position: absolute;
  right: 20px;
  width: 60px;
  height: 60px;
}
@media (max-width: 767.98px) {
  .tab-course__icon {
    width: calc(100vw * (60 / 375));
    height: calc(100vw * (60 / 375));
  }
}

.c-modal .modal__overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 100;
  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;
  background: rgba(0, 0, 0, 0.6);
}
.c-modal .modal__container {
  position: relative;
  z-index: 0;
}
@media (max-width: 767.98px) {
  .c-modal .modal__container {
    width: 100%;
  }
}
.c-modal .modal__inner {
  position: relative;
  z-index: 0;
  overflow: hidden;
  background-color: #fff;
  border-radius: 5px;
}
@media (max-width: 767.98px) {
  .c-modal .modal__inner {
    border-radius: calc(100vw * (5 / 375));
  }
}
.c-modal .modal__content {
  max-height: 65vh;
  padding: 32px;
  overflow-y: scroll;
}
@media (max-width: 767.98px) {
  .c-modal .modal__content {
    padding: calc(100vw * (20 / 375)) calc(100vw * (8 / 375));
  }
}
.c-modal .modal__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.c-modal .modal__close {
  position: absolute;
  top: -40px;
  right: 8px;
  display: -ms-grid;
  display: grid;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  place-content: center;
  place-items: center;
  color: #fff;
  cursor: pointer;
}
@media (max-width: 767.98px) {
  .c-modal .modal__close {
    top: calc(100vw * (-40 / 375));
    right: calc(100vw * (8 / 375));
  }
}
.c-modal .modal__close:focus-visible {
  outline: none;
}
.c-modal .modal__close:before {
  font-size: 24px;
  content: "✕";
}
@media (max-width: 767.98px) {
  .c-modal .modal__close:before {
    font-size: calc(100vw * (20 / 375));
  }
}

@-webkit-keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes mmslideIn {
  from {
    -webkit-transform: translateY(15%);
            transform: translateY(15%);
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes mmslideIn {
  from {
    -webkit-transform: translateY(15%);
            transform: translateY(15%);
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes mmslideOut {
  from {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(-10%);
            transform: translateY(-10%);
  }
}
@keyframes mmslideOut {
  from {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(-10%);
            transform: translateY(-10%);
  }
}
.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
}

.micromodal-slide[aria-hidden=false] .modal__overlay {
  -webkit-animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=false] .modal__container {
  -webkit-animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] .modal__overlay {
  -webkit-animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] .modal__container {
  -webkit-animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
  will-change: transform;
}

.fixed-bg {
  position: sticky;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100vh;
  margin-bottom: -100vh;
  background-color: #fff;
}

@media (min-width: 768px), print {
  .hidden-desktop {
    display: none;
  }
}
@media (max-width: 767.98px) {
  .hidden-mobile {
    display: none;
  }
}

.l-container {
  --container: 900px;
  margin-inline: max(16px, (100% - var(--container)) / 2);
}
@media (max-width: 767.98px) {
  .l-container {
    margin-inline: max(100vw * (16 / 375), (100% - var(--container)) / 2);
  }
}
.l-container--lg {
  --container: 1000px;
}

.bg-navy {
  background-color: #001f3e;
}

.text-emphasis {
  -webkit-text-emphasis: dot filled currentColor;
          text-emphasis: dot filled currentColor;
}

.section-title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  color: #001f3e;
  text-align: center;
  letter-spacing: 0.01em;
}
@media (max-width: 767.98px) {
  .section-title {
    font-size: calc(100vw * (16 / 375));
  }
}
.section-title--white {
  color: #fff;
}
.section-title strong {
  display: block;
  margin-top: 10px;
  font-size: 32px;
  color: #f9b90f;
}
@media (max-width: 767.98px) {
  .section-title strong {
    margin-top: calc(100vw * (10 / 375));
    font-size: calc(100vw * (24 / 375));
  }
}

.slider-carousel .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}
.slider-carousel .swiper-slide {
  width: auto;
}

.c-balloon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-bottom: 8px;
}
@media (max-width: 767.98px) {
  .c-balloon {
    padding-bottom: calc(100vw * (8 / 375));
  }
}
.c-balloon .c-balloon__inner {
  position: relative;
  z-index: 0;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 40px;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-align: center;
  background-color: #001f3e;
  border-radius: 100vmax;
}
@media (max-width: 767.98px) {
  .c-balloon .c-balloon__inner {
    min-height: calc(100vw * (40 / 375));
    padding: calc(100vw * (8 / 375)) calc(100vw * (16 / 375));
    font-size: calc(100vw * (14 / 375));
  }
}
.c-balloon .c-balloon__inner::before {
  position: absolute;
  bottom: -7.5px;
  left: calc(50% - 7.5px);
  width: 15px;
  height: 8px;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
  background-color: #001f3e;
}
@media (max-width: 767.98px) {
  .c-balloon .c-balloon__inner::before {
    bottom: calc(100vw * (-7.5 / 375));
    left: calc(50% - 100vw * (7.5 / 375));
    width: calc(100vw * (15 / 375));
    height: calc(100vw * (8 / 375));
  }
}
.c-balloon--text-lg .c-balloon__inner {
  font-size: 18px;
}
@media (max-width: 767.98px) {
  .c-balloon--text-lg .c-balloon__inner {
    font-size: calc(100vw * (18 / 375));
  }
}
.c-balloon--full {
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
}
@media (max-width: 767.98px) {
  .c-balloon--full {
    -ms-flex-item-align: stretch;
        -ms-grid-row-align: stretch;
        align-self: stretch;
  }
}
.c-balloon--full .c-balloon__inner {
  width: 100%;
}
.c-balloon--lg .c-balloon__inner {
  height: 70px;
  font-size: 32px;
}
@media (max-width: 767.98px) {
  .c-balloon--lg .c-balloon__inner {
    height: calc(100vw * (50 / 375));
    font-size: calc(100vw * (20 / 375));
  }
}
.c-balloon--secondary .c-balloon__inner {
  background-color: #4e88b6;
}
.c-balloon--secondary .c-balloon__inner::before {
  background-color: #4e88b6;
}
.c-balloon--orange .c-balloon__inner {
  background-color: #f45d2e;
}
.c-balloon--orange .c-balloon__inner::before {
  background-color: #f45d2e;
}
.c-balloon--accent .c-balloon__inner {
  color: #001f3e;
  background-color: #f9b90f;
}
.c-balloon--accent .c-balloon__inner::before {
  background-color: #f9b90f;
}

.scrollable-icon {
  width: 50px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media (max-width: 767.98px) {
  .scrollable-icon {
    width: calc(100vw * (50 / 375));
  }
}

.breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.breadcrumb .breadcrumb__item {
  font-size: 12px;
}
@media (max-width: 767.98px) {
  .breadcrumb .breadcrumb__item {
    font-size: calc(100vw * (10 / 375));
  }
}
.breadcrumb .breadcrumb__item:not(:last-child)::after {
  margin: 0 6px;
  content: ">";
}
@media (max-width: 767.98px) {
  .breadcrumb .breadcrumb__item:not(:last-child)::after {
    margin: 0 calc(100vw * (6 / 375));
  }
}
.breadcrumb .breadcrumb__item a:hover {
  text-decoration: underline;
}

.header-breadcrumb--white {
  color: #fff;
}
.header-breadcrumb .l-container {
  --container: 1080px;
}
.header-breadcrumb .header-breadcrumb__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 50px;
  overflow-x: scroll;
}
.header-breadcrumb .header-breadcrumb__inner::-webkit-scrollbar {
  display: none;
}
@media (max-width: 767.98px) {
  .header-breadcrumb .header-breadcrumb__inner {
    min-height: calc(100vw * (50 / 375));
  }
}
.header-breadcrumb .header-breadcrumb__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 767.98px) {
  .header-breadcrumb .header-breadcrumb__list {
    gap: calc(100vw * (5 / 375));
  }
}
.header-breadcrumb .header-breadcrumb__list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  gap: 15px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 767.98px) {
  .header-breadcrumb .header-breadcrumb__list-item {
    gap: calc(100vw * (5 / 375));
  }
}
.header-breadcrumb .header-breadcrumb__list-item:not(:last-child)::after {
  content: ">";
}
.header-breadcrumb .header-breadcrumb__list-item a,
.header-breadcrumb .header-breadcrumb__list-item span {
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
  color: #fff;
}
@media (max-width: 767.98px) {
  .header-breadcrumb .header-breadcrumb__list-item a,
  .header-breadcrumb .header-breadcrumb__list-item span {
    font-size: calc(100vw * (12 / 375));
  }
}
.header-breadcrumb .header-breadcrumb__list-item a:hover {
  text-decoration: underline;
}
.lower {
  position: relative;
  z-index: 0;
  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;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 390px;
}
@media (max-width: 767.98px) {
  .lower {
    min-height: calc(100vw * (200 / 375));
  }
}
.lower .lower__bg {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.lower .lower__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.lower .lower__title {
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-align: center;
}
@media (max-width: 767.98px) {
  .lower .lower__title {
    font-size: calc(100vw * (24 / 375));
  }
}

.price-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.price-info .price-info__title {
  padding: 4px 8px;
  font-size: 16px;
  color: #fff;
  text-align: center;
  background-color: #001f3e;
  border-radius: 4px;
}
@media (max-width: 767.98px) {
  .price-info .price-info__title {
    font-size: calc(100vw * (14 / 375));
  }
}
.price-info .price-info__title--secondary {
  background-color: #4e88b6;
}
.price-info .price-info__title--orange {
  background-color: #f45d2e;
}
.price-info .price-info__desc {
  font-size: 14px;
  line-height: 1.5;
}
.price-info .price-info__desc--center {
  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;
}
.price-info .price-info__desc a {
  color: #4e88b6;
  text-decoration: underline;
}