@import 'https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap';@import 'https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap';

*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  font-size: 1rem;
}
@media (max-width: 639.98px) {
  html {
    font-size: clamp(0.875rem, 100vw * 16 / 375, 1.5rem);
  }
}
body {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 768px;
  min-height: 100vh;
  margin: 0;
  font-family: "'Noto Sans JP'", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  font-feature-settings: "palt";
  font-kerning: normal;
  line-height: 1.6;
  color: #000;
  letter-spacing: 0.05em;
  overflow-wrap: break-word;
  background-color: #fef8ff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-tap-highlight-color: transparent;
}
@media (max-width: 767.98px) {
  body {
    min-width: unset;
  }
}
img,
video {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
iframe,
object,
embed {
  max-width: 100%;
}
a[class=""],
a:not([class], :has(*)) {
  vertical-align: top;
  color: #000;
  text-decoration: none;
  background-image: linear-gradient(transparent calc(100% - 1px), #d82b90 0);
  background-repeat: no-repeat;
  background-size: 0 100%;
  transition: background-size 0.6s ease;
}
a[class=""][target=_blank]::after,
a:not([class], :has(*))[target=_blank]::after {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.2em;
  vertical-align: bottom;
  content: "";
  background-color: currentcolor;
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWV4dGVybmFsLWxpbmsiPjxwYXRoIGQ9Ik0xNSAzaDZ2NiIvPjxwYXRoIGQ9Ik0xMCAxNCAyMSAzIi8+PHBhdGggZD0iTTE4IDEzdjZhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDYiLz48L3N2Zz4=");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}
a[class=""]:hover,
a:not([class], :has(*)):hover {
  background-size: 100% 100%;
}
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
  background-color: transparent;
}
::-webkit-scrollbar-track {
  background-color: #fff;
}
::-webkit-scrollbar-thumb {
  background-color: #dadce0;
  border-radius: 10px;
}
.u-font-normal {
  font-weight: 400;
}
.u-font-medium {
  font-weight: 500;
}
.u-font-semibold {
  font-weight: 600;
}
.u-font-bold {
  font-weight: 700;
}
.u-pt-0 {
  padding-top: 0 !important;
}
.u-pb-0 {
  padding-bottom: 0 !important;
}
.c-heading {
  font-weight: 700;
  line-height: 1.3;
  color: #d82b90;
}
.c-heading--secondary {
  color: #444e99;
}
.c-heading .c-heading__inner {
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: column;
  gap: 6.8px;
  align-items: center;
}
@media (max-width: 639.98px) {
  .c-heading .c-heading__inner {
    gap: 1.0666666667vw;
  }
}
.c-heading .c-heading__inner::after {
  width: 81.9px;
  height: 6.8px;
  margin-top: 13.7px;
  content: "";
  background-image: radial-gradient(currentcolor 3.4px, transparent 3.4px);
  background-position: center;
  background-size: 17.1px 17.1px;
}
@media (max-width: 639.98px) {
  .c-heading .c-heading__inner::after {
    width: 12.8vw;
    height: 1.0666666667vw;
    margin-top: 2.1333333333vw;
    background-image: radial-gradient(currentcolor 0.5333333333vw, transparent 0.5333333333vw);
    background-size: 2.6666666667vw 2.6666666667vw;
  }
}
.c-heading .c-heading__caption {
  font-size: 25.6px;
  text-align: center;
}
@media (max-width: 639.98px) {
  .c-heading .c-heading__caption {
    font-size: 4vw;
  }
}
.c-heading .c-heading__title {
  font-size: 41px;
  text-align: center;
}
@media (max-width: 639.98px) {
  .c-heading .c-heading__title {
    font-size: 6.4vw;
  }
}
.c-container {
  --gap: 68.3px;
  --margin: 34.1px;
  --container: 1200px;
  display: grid;
  gap: var(--gap);
  margin-inline: max(var(--margin), (100% - var(--container)) / 2);
}
@media (max-width: 639.98px) {
  .c-container {
    --gap: 6.4vw;
    --margin: 5.3333333333vw;
  }
}
.c-container--lg {
  --container: 1440px;
}
.c-container--md {
  --container: 900px;
  --gap: 32px;
}
@media (max-width: 639.98px) {
  .c-container--md {
    --gap: 6.4vw;
  }
}
.l-main {
  z-index: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  width: 640px;
  max-width: 100%;
  margin: 0 auto;
  font-size: 27.3px;
  background-color: #fff;
}
@media (max-width: 639.98px) {
  .l-main {
    margin: unset;
    overflow: unset;
    font-size: 4.2666666667vw;
    border-top-right-radius: unset;
  }
}
.c-balloon {
  position: relative;
  z-index: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 17.1px;
}
@media (max-width: 639.98px) {
  .c-balloon {
    padding-bottom: 2.6666666667vw;
  }
}
.c-balloon .c-balloon__inner {
  padding: 13.7px 30.7px;
  font-size: 20.5px;
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
  color: #fff;
  text-align: center;
  background-color: #d82b90;
  border-radius: 6.8px;
}
@media (max-width: 639.98px) {
  .c-balloon .c-balloon__inner {
    padding: 2.1333333333vw 3.2vw;
    font-size: 3.2vw;
    border-radius: 1.0666666667vw;
  }
}
.c-balloon .c-balloon__inner::before {
  position: absolute;
  bottom: -15.4px;
  left: calc(50% - 17.1px);
  width: 0;
  height: 0;
  content: "";
  border-color: #d82b90 transparent transparent transparent;
  border-style: solid;
  border-width: 17.1px;
}
@media (max-width: 639.98px) {
  .c-balloon .c-balloon__inner::before {
    bottom: -2.4vw;
    left: calc(50% - 2.6666666667vw);
    border-width: 2.6666666667vw;
  }
}
.c-balloon--accent .c-balloon__inner {
  background-color: #f29a08;
}
.c-balloon--accent .c-balloon__inner::before {
  border-color: #f29a08 transparent transparent transparent;
}
.c-cta {
  padding: 41px 0 54.6px;
  background-color: #fff4fa;
}
@media (max-width: 639.98px) {
  .c-cta {
    padding: 6.4vw 0 8.5333333333vw;
  }
}
.c-cta .c-container {
  --gap: 13.7px;
}
@media (max-width: 639.98px) {
  .c-cta .c-container {
    --gap: 2.1333333333vw;
  }
}
.c-cta .c-cta__lead {
  display: flex;
  gap: 13.7px;
  align-items: center;
  justify-content: center;
  font-size: 23.9px;
  font-weight: 700;
  color: #444e99;
  text-align: center;
}
@media (max-width: 639.98px) {
  .c-cta .c-cta__lead {
    gap: 2.1333333333vw;
    font-size: 3.7333333333vw;
  }
}
.c-cta .c-cta__lead-label {
  display: inline-block;
  padding: 3.4px 13.7px;
  font-size: 23.9px;
  font-weight: 700;
  color: #d82b90;
  text-align: center;
  background-color: #fff;
  border-radius: 6.8px;
}
@media (max-width: 639.98px) {
  .c-cta .c-cta__lead-label {
    padding: 0.5333333333vw 2.1333333333vw;
    font-size: 3.7333333333vw;
    border-radius: 1.0666666667vw;
  }
}
.c-cta .c-cta__button {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20.5px 13.7px;
  font-size: 25.6px;
  font-weight: 800;
  color: #fff;
  text-align: center;
  letter-spacing: 0.1em;
  background-color: #f68d33;
  border-radius: 6.8px;
  box-shadow: 0 6.8px 0 0 #9c691d;
  transition: 0.3s;
}
@media (max-width: 639.98px) {
  .c-cta .c-cta__button {
    padding: 3.2vw 2.1333333333vw;
    font-size: 4vw;
    border-radius: 1.0666666667vw;
    box-shadow: 0 1.0666666667vw 0 0 #9c691d;
  }
}
.c-cta .c-cta__button--accent {
  background-color: #f29a08;
  box-shadow: 0 6.8px 0 0 #dd6f00;
}
@media (max-width: 639.98px) {
  .c-cta .c-cta__button--accent {
    box-shadow: 0 1.0666666667vw 0 0 #dd6f00;
  }
}
.c-cta .c-cta__button:hover {
  box-shadow: 0 0 0 0 #9c691d;
  transform: translateY(6.8px);
}
@media (max-width: 639.98px) {
  .c-cta .c-cta__button:hover {
    transform: translateY(1.0666666667vw);
  }
}
.c-cta .c-cta__button:hover--accent {
  box-shadow: 0 0 0 0 #dd6f00;
}
.c-cta .c-cta__desc {
  margin-top: 6.8px;
  font-size: 13.7px;
}
@media (max-width: 639.98px) {
  .c-cta .c-cta__desc {
    margin-top: 1.0666666667vw;
    font-size: 2.1333333333vw;
  }
}
.c-slide-card .c-slide-card__header {
  padding: 13.7px;
  font-size: 23.9px;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  text-align: center;
  background-color: #d82b90;
  border-radius: 13.7px 13.7px 0 0;
}
@media (max-width: 639.98px) {
  .c-slide-card .c-slide-card__header {
    padding: 2.1333333333vw;
    font-size: 3.7333333333vw;
    border-radius: 2.1333333333vw 2.1333333333vw 0 0;
  }
}
.c-slide-card .c-slide-card__body {
  display: flex;
  flex-direction: column;
  gap: 41px;
  padding: 41px 34.1px;
  background-color: #fff4fa;
  border-radius: 0 0 13.7px 13.7px;
}
@media (max-width: 639.98px) {
  .c-slide-card .c-slide-card__body {
    gap: 6.4vw;
    padding: 6.4vw 5.3333333333vw;
    border-radius: 0 0 2.1333333333vw 2.1333333333vw;
  }
}
.c-slide-card .c-slide-card__content {
  display: flex;
  flex-direction: column;
  gap: 13.7px;
}
@media (max-width: 639.98px) {
  .c-slide-card .c-slide-card__content {
    gap: 2.1333333333vw;
  }
}
.c-slide-card .c-slide-card__lead {
  font-size: 17.1px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media (max-width: 639.98px) {
  .c-slide-card .c-slide-card__lead {
    font-size: 2.6666666667vw;
  }
}
.c-slide-card .c-slide-card__lead--md {
  font-size: 20.5px;
}
@media (max-width: 639.98px) {
  .c-slide-card .c-slide-card__lead--md {
    font-size: 3.2vw;
  }
}
.c-slide-card .c-slide-card__lead--lg {
  font-size: 23.9px;
}
@media (max-width: 639.98px) {
  .c-slide-card .c-slide-card__lead--lg {
    font-size: 3.7333333333vw;
  }
}
.c-slide-card .c-slide-card__lead a {
  color: #d82b90;
}
.c-slide-card .c-slide-card__text-sm {
  font-size: 17.1px;
}
@media (max-width: 639.98px) {
  .c-slide-card .c-slide-card__text-sm {
    font-size: 2.6666666667vw;
  }
}
.c-slide-card .c-slide-card__subscript {
  font-size: 13.7px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media (max-width: 639.98px) {
  .c-slide-card .c-slide-card__subscript {
    font-size: 2.1333333333vw;
  }
}
.c-slider-button {
  display: block;
  display: grid;
  place-content: center;
  place-items: center;
  width: 47.8px;
  height: 47.8px;
  color: #fff;
  background-color: #d82b90;
  border-radius: 13.7px;
}
@media (max-width: 639.98px) {
  .c-slider-button {
    width: 6.6666666667vw;
    height: 6.6666666667vw;
    border-radius: 2.1333333333vw;
  }
}
.c-slider-button::before {
  display: block;
  width: 8.5px;
  height: 13.7px;
  content: "";
  background-color: currentcolor;
  mask-image: url("data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDkiPgogIDxwYXRoIGQ9Ik01LjA3NjI2IDMuNzY1ODJjLjM2MTg2LjM2MTg3LjM2MTg2Ljk0ODYgMCAxLjMxMDQ3TDEuNTgxOCA4LjU3MDdjLS4zNjE4Ny4zNjE4Ny0uOTQ4NTM3LjM2MTg3LTEuMzEwNDA4IDAtLjM2MTg2OTktLjM2MTg3LS4zNjE4Njk5LS45NDg1MyAwLTEuMzEwNEwzLjExMDY0IDQuNDIxMDUuMjcxMzkyIDEuNTgxODJjLS4zNjE4Njk5LS4zNjE4Ny0uMzYxODY5OS0uOTQ4NTY0IDAtMS4zMTA0MjguMzYxODcxLS4zNjE4NTc3Ljk0ODUzOC0uMzYxODU3NiAxLjMxMDQwOC4wMDAwMDd6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KPC9zdmc+");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}
@media (max-width: 639.98px) {
  .c-slider-button::before {
    width: 1.3333333333vw;
    height: 2.1333333333vw;
  }
}
.c-slider-button--prev::before {
  transform: scaleX(-1);
}
.c-card {
  display: flex;
  flex-grow: 1;
  flex-direction: column;
}
.c-card .c-card__header {
  padding: 10.2px;
  font-size: 23.9px;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  text-align: center;
  background-color: #d82b90;
  border-radius: 13.7px 13.7px 0 0;
}
@media (max-width: 639.98px) {
  .c-card .c-card__header {
    padding: 1.6vw;
    font-size: 3.7333333333vw;
    border-radius: 2.1333333333vw 2.1333333333vw 0 0;
  }
}
.c-card .c-card__title {
  font-size: 17.1px;
}
@media (max-width: 639.98px) {
  .c-card .c-card__title {
    font-size: 2.6666666667vw;
  }
}
.c-card .c-card__body {
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  gap: 13.7px;
  padding: 10.2px;
  background-color: #fff;
  border: 1.7px solid #d82b90;
  border-radius: 0 0 13.7px 13.7px;
}
@media (max-width: 639.98px) {
  .c-card .c-card__body {
    gap: 2.1333333333vw;
    padding: 1.6vw;
    border: 0.2666666667vw solid #d82b90;
    border-radius: 0 0 2.1333333333vw 2.1333333333vw;
  }
}
.c-card .c-card__content {
  margin-top: auto;
}
.c-button .c-button__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 409.6px;
  padding: 13.7px;
  font-size: 20.5px;
  font-weight: 800;
  color: #fff;
  text-align: center;
  letter-spacing: 0.1em;
  background-color: #f68d33;
  border-radius: 6.8px;
  transition: 0.3s;
}
@media (max-width: 639.98px) {
  .c-button .c-button__inner {
    width: 100%;
    min-width: 64vw;
    padding: 2.1333333333vw;
    font-size: 3.2vw;
    border-radius: 1.0666666667vw;
  }
}
.p-top-header {
  position: fixed;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 640px;
  min-height: 92.2px;
  padding: 13.7px 0;
  background-color: #d82b90;
}
@media (max-width: 639.98px) {
  .p-top-header {
    width: 100%;
    min-height: 14.4vw;
    padding: 2.1333333333vw 0;
  }
}
.p-top-header .p-top-header__inner {
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-top-header .p-top-header__logo {
  width: 170.7px;
}
@media (max-width: 639.98px) {
  .p-top-header .p-top-header__logo {
    width: 26.6666666667vw;
  }
}
.p-top-header .p-top-header__logo img {
  width: 100%;
  vertical-align: middle;
}
.p-top-kv {
  position: relative;
  z-index: 0;
  padding: 122.9px 0 20.5px;
  overflow: hidden;
}
@media (max-width: 639.98px) {
  .p-top-kv {
    padding: 19.2vw 0 3.2vw;
  }
}
.p-top-kv::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 512px;
  pointer-events: none;
  content: "";
  background-color: #fff4fa;
}
@media (max-width: 639.98px) {
  .p-top-kv::before {
    height: 80vw;
  }
}
.p-top-kv::after {
  position: absolute;
  top: 273.1px;
  left: calc(50% - 392.5px);
  z-index: -1;
  width: 785.1px;
  height: 785.1px;
  pointer-events: none;
  content: "";
  background-color: #fff;
  border-radius: 50%;
}
@media (max-width: 639.98px) {
  .p-top-kv::after {
    top: 42.6666666667vw;
    left: calc(50% - 61.3333333333vw);
    width: 122.6666666667vw;
    height: 122.6666666667vw;
  }
}
.p-top-kv .c-container {
  --gap: 20.5px;
}
@media (max-width: 639.98px) {
  .p-top-kv .c-container {
    --gap: 3.2vw;
  }
}
.p-top-kv .p-top-kv__heading {
  display: flex;
  flex-direction: column;
  line-height: 1.5;
  color: #d82b90;
  text-align: center;
}
.p-top-kv .p-top-kv__lead {
  margin-top: 13.7px;
  font-size: 20.5px;
  font-weight: 700;
}
@media (max-width: 639.98px) {
  .p-top-kv .p-top-kv__lead {
    margin-top: 2.1333333333vw;
    font-size: 3.2vw;
  }
}
.p-top-kv .p-top-kv__title {
  font-size: 47.8px;
  font-weight: 900;
}
@media (max-width: 639.98px) {
  .p-top-kv .p-top-kv__title {
    font-size: 7.4666666667vw;
  }
}
.p-top-kv .p-top-kv__subscript {
  font-size: 10.2px;
  font-weight: 400;
  color: #000;
}
@media (max-width: 639.98px) {
  .p-top-kv .p-top-kv__subscript {
    font-size: 1.6vw;
  }
}
.p-top-kv .p-top-kv__lead-sub {
  font-size: 17.1px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media (max-width: 639.98px) {
  .p-top-kv .p-top-kv__lead-sub {
    font-size: 2.6666666667vw;
  }
}
.p-top-kv .p-top-kv__points {
  display: flex;
  gap: 6.8px;
  align-items: center;
}
@media (max-width: 639.98px) {
  .p-top-kv .p-top-kv__points {
    gap: 1.0666666667vw;
  }
}
.p-top-kv .p-top-kv__points-item {
  display: flex;
  flex: 1;
}
.p-top-feature {
  padding: 68.3px 0;
  background-color: #fff4fa;
}
@media (max-width: 639.98px) {
  .p-top-feature {
    padding: 10.6666666667vw 0;
  }
}
.p-top-feature .p-top-feature__block {
  display: flex;
  flex-direction: column;
  gap: 41px;
  padding: 68.3px 34.1px;
  background-color: #fff;
  border: solid #d82b90;
  border-radius: 13.7px;
}
@media (max-width: 639.98px) {
  .p-top-feature .p-top-feature__block {
    gap: 6.4vw;
    padding: 10.6666666667vw 5.3333333333vw;
    border-radius: 2.1333333333vw;
  }
}
.p-top-feature .p-top-feature__lead {
  font-size: 34.1px;
  font-weight: 700;
  color: #d82b90;
  text-align: center;
}
@media (max-width: 639.98px) {
  .p-top-feature .p-top-feature__lead {
    font-size: 5.3333333333vw;
  }
}
.p-top-feature .p-top-feature__img-features {
  display: flex;
  flex-direction: column;
  gap: 27.3px;
}
@media (max-width: 639.98px) {
  .p-top-feature .p-top-feature__img-features {
    gap: 4.2666666667vw;
  }
}
.p-top-feature .p-top-feature__img-main {
  max-width: 443.7px;
  margin: 0 auto;
}
@media (max-width: 639.98px) {
  .p-top-feature .p-top-feature__img-main {
    max-width: 69.3333333333vw;
  }
}
.p-top-feature .p-top-feature__buttons {
  display: flex;
  flex-direction: column;
  gap: 13.7px;
}
@media (max-width: 639.98px) {
  .p-top-feature .p-top-feature__buttons {
    gap: 2.1333333333vw;
  }
}
.p-top-feature .p-top-feature__button {
  display: flex;
  gap: 27.3px;
  align-items: center;
  justify-content: space-between;
  min-height: 81.9px;
  padding: 10.2px;
  color: #fff;
  background-color: #d82b90;
  border-radius: 20.5px;
}
@media (max-width: 639.98px) {
  .p-top-feature .p-top-feature__button {
    gap: 4.2666666667vw;
    min-height: 12.8vw;
    padding: 1.6vw;
    border-radius: 3.2vw;
  }
}
.p-top-feature .p-top-feature__button--accent {
  background-color: #f29a08;
}
.p-top-feature .p-top-feature__button-inner {
  font-size: 17.1px;
  font-weight: 700;
  line-height: 1.5;
}
@media (max-width: 639.98px) {
  .p-top-feature .p-top-feature__button-inner {
    font-size: 2.6666666667vw;
  }
}
.p-top-feature .p-top-feature__button-icon {
  flex-shrink: 0;
  width: 109.2px;
}
@media (max-width: 639.98px) {
  .p-top-feature .p-top-feature__button-icon {
    width: 17.0666666667vw;
  }
}
.p-top-function {
  padding: 68.3px 0;
}
@media (max-width: 639.98px) {
  .p-top-function {
    padding: 10.6666666667vw 0;
  }
}
.p-top-function .c-container {
  --gap: 54.6px;
}
@media (max-width: 639.98px) {
  .p-top-function .c-container {
    --gap: 8.5333333333vw;
  }
}
.p-top-function .p-top-function__slider {
  position: relative;
  z-index: 0;
  contain: inline-size;
}
.p-top-function .p-top-function__slider .swiper-slide {
  padding: 0 27.3px;
}
@media (max-width: 639.98px) {
  .p-top-function .p-top-function__slider .swiper-slide {
    padding: 0 4.2666666667vw;
  }
}
.p-top-function .p-top-function__slider .c-slider-button {
  position: absolute;
  top: calc(50% - 23.9px);
  z-index: 10;
}
@media (max-width: 639.98px) {
  .p-top-function .p-top-function__slider .c-slider-button {
    top: calc(50% - 3.7333333333vw);
  }
}
.p-top-function .p-top-function__slider .c-slider-button--prev {
  left: 0;
}
.p-top-function .p-top-function__slider .c-slider-button--next {
  right: 0;
}
.p-top-point {
  padding: 68.3px 0;
}
@media (max-width: 639.98px) {
  .p-top-point {
    padding: 10.6666666667vw 0;
  }
}
.p-top-point .p-top-point__group {
  display: flex;
  flex-direction: column;
  gap: 20.5px;
}
@media (max-width: 639.98px) {
  .p-top-point .p-top-point__group {
    gap: 3.2vw;
  }
}
.p-top-point .p-top-point__merit {
  display: flex;
  flex-direction: column;
  gap: 27.3px;
}
@media (max-width: 639.98px) {
  .p-top-point .p-top-point__merit {
    gap: 4.2666666667vw;
  }
}
.p-top-point .p-top-point__images {
  display: flex;
  gap: 20.5px;
}
@media (max-width: 639.98px) {
  .p-top-point .p-top-point__images {
    gap: 3.2vw;
  }
}
.p-top-point .p-top-point__images-item {
  display: flex;
  flex: 1;
}
.p-top-point .p-top-point__card-lead {
  font-size: 13.7px;
  font-weight: 700;
  color: #d82b90;
  text-align: center;
}
@media (max-width: 639.98px) {
  .p-top-point .p-top-point__card-lead {
    font-size: 2.1333333333vw;
  }
}
.p-top-reason {
  position: relative;
  z-index: 0;
  padding: 68.3px 0;
  background-color: #fff4fa;
}
@media (max-width: 639.98px) {
  .p-top-reason {
    padding: 10.6666666667vw 0;
  }
}
.p-top-reason .p-top-reason__inner {
  display: flex;
  flex-direction: column;
  gap: 20.5px;
}
@media (max-width: 639.98px) {
  .p-top-reason .p-top-reason__inner {
    gap: 3.2vw;
  }
}
.p-top-reason .p-top-reason__items {
  display: flex;
  flex-wrap: wrap;
  gap: 20.5px;
}
@media (max-width: 639.98px) {
  .p-top-reason .p-top-reason__items {
    gap: 3.2vw;
  }
}
.p-top-reason .p-top-reason__items .c-card__thumbnail img {
  display: block;
  height: 170.7px;
  margin: 0 auto;
}
@media (max-width: 639.98px) {
  .p-top-reason .p-top-reason__items .c-card__thumbnail img {
    height: 26.6666666667vw;
  }
}
.p-top-reason .p-top-reason__item {
  display: flex;
  width: calc((100% - 20.5px) / 2);
}
@media (max-width: 639.98px) {
  .p-top-reason .p-top-reason__item {
    width: calc((100% - 3.2vw) / 2);
  }
}
.p-top-reason .p-top-reason__item--lg {
  width: 100%;
}
.p-top-design {
  padding: 81.9px 0;
}
@media (max-width: 639.98px) {
  .p-top-design {
    padding: 12.8vw 0;
  }
}
.p-top-design .c-container {
  --gap: 20.5px;
}
@media (max-width: 639.98px) {
  .p-top-design .c-container {
    --gap: 3.2vw;
  }
}
.p-top-design .c-cta {
  display: flex;
  flex-direction: column;
  gap: 13.7px;
  padding: unset;
}
@media (max-width: 639.98px) {
  .p-top-design .c-cta {
    gap: 2.1333333333vw;
  }
}
.p-top-design .p-top-design__slider {
  position: relative;
  z-index: 0;
  contain: inline-size;
}
.p-top-design .p-top-design__slider .swiper-slide {
  padding: 0 27.3px;
}
@media (max-width: 639.98px) {
  .p-top-design .p-top-design__slider .swiper-slide {
    padding: 0 4.2666666667vw;
  }
}
.p-top-design .p-top-design__slider .c-slider-button {
  position: absolute;
  top: calc(50% - 23.9px);
  z-index: 10;
}
@media (max-width: 639.98px) {
  .p-top-design .p-top-design__slider .c-slider-button {
    top: calc(50% - 3.7333333333vw);
  }
}
.p-top-design .p-top-design__slider .c-slider-button--prev {
  left: 0;
}
.p-top-design .p-top-design__slider .c-slider-button--next {
  right: 0;
}
.p-top-design .c-slide-card__content {
  gap: 41px;
}
@media (max-width: 639.98px) {
  .p-top-design .c-slide-card__content {
    gap: 6.4vw;
  }
}
.p-top-design .p-top-design__card-button {
  display: flex;
  justify-content: center;
}
.p-top-design .p-top-design__card-info {
  display: flex;
  flex-direction: column;
  gap: 20.5px;
  padding-top: 27.3px;
  border-top: 3.4px dashed #d82b90;
}
@media (max-width: 639.98px) {
  .p-top-design .p-top-design__card-info {
    gap: 3.2vw;
    padding-top: 4.2666666667vw;
    border-top: 0.5333333333vw dashed #d82b90;
  }
}
.p-top-design .p-top-design__info-title {
  padding-left: 10.2px;
  font-size: 20.5px;
  font-weight: 700;
  line-height: 1.3;
  color: #000;
  border-left: 6.8px solid #d82b90;
}
@media (max-width: 639.98px) {
  .p-top-design .p-top-design__info-title {
    padding-left: 1.6vw;
    font-size: 3.2vw;
    border-left: 1.0666666667vw solid #d82b90;
  }
}
.p-top-design .p-top-design__info-type {
  display: flex;
  gap: 20.5px;
  align-items: center;
}
@media (max-width: 639.98px) {
  .p-top-design .p-top-design__info-type {
    gap: 3.2vw;
  }
}
.p-top-design .p-top-design__info-label {
  flex-shrink: 0;
  font-size: 17.1px;
  font-weight: 700;
  line-height: 1.3;
  color: #000;
}
@media (max-width: 639.98px) {
  .p-top-design .p-top-design__info-label {
    font-size: 2.6666666667vw;
  }
}
.p-top-design .p-top-design__info-logo {
  display: inline-flex;
  gap: 17.1px;
  align-items: center;
  padding: 6.8px 20.5px;
  background-color: #fff;
  border-radius: 6.8px;
}
@media (max-width: 639.98px) {
  .p-top-design .p-top-design__info-logo {
    gap: 2.6666666667vw;
    padding: 1.0666666667vw 3.2vw;
    border-radius: 1.0666666667vw;
  }
}
.p-top-design .design__info-logo-item {
  width: 61.4px;
}
@media (max-width: 639.98px) {
  .p-top-design .design__info-logo-item {
    width: 9.6vw;
  }
}
.p-top-design .p-top-design__info-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6.8px;
}
@media (max-width: 639.98px) {
  .p-top-design .p-top-design__info-list {
    gap: 1.0666666667vw;
  }
}
.p-top-design .p-top-design__info-item {
  display: inline-flex;
  gap: 13.7px;
  align-items: center;
  justify-content: center;
  padding: 6.8px 13.7px;
  font-size: 13.7px;
  font-weight: 700;
  color: #d82b90;
  background-color: #fff;
  border-radius: 3.4px;
}
@media (max-width: 639.98px) {
  .p-top-design .p-top-design__info-item {
    gap: 2.1333333333vw;
    padding: 1.0666666667vw 2.1333333333vw;
    font-size: 2.1333333333vw;
    border-radius: 0.5333333333vw;
  }
}
.p-top-caution {
  position: relative;
  z-index: 0;
  padding: 68.3px 0;
}
@media (max-width: 639.98px) {
  .p-top-caution {
    padding: 10.6666666667vw 0;
  }
}
.p-top-caution .c-container {
  --gap: 41px;
}
@media (max-width: 639.98px) {
  .p-top-caution .c-container {
    --gap: 6.4vw;
  }
}
.p-top-caution .p-top-caution__block {
  display: flex;
  flex-direction: column;
  gap: 41px;
  align-items: flex-start;
  padding: 68.3px 34.1px;
  background-color: #fff4fa;
  border-radius: 13.7px;
}
@media (max-width: 639.98px) {
  .p-top-caution .p-top-caution__block {
    gap: 6.4vw;
    padding: 10.6666666667vw 5.3333333333vw;
    border-radius: 2.1333333333vw;
  }
}
.p-top-caution .p-top-caution__group {
  display: flex;
  flex-direction: column;
  gap: 20.5px;
}
@media (max-width: 639.98px) {
  .p-top-caution .p-top-caution__group {
    gap: 3.2vw;
  }
}
.p-top-caution .p-top-caution__title {
  flex-grow: 1;
  align-self: stretch;
  font-size: 23.9px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}
@media (max-width: 639.98px) {
  .p-top-caution .p-top-caution__title {
    font-size: 3.7333333333vw;
  }
}
.p-top-caution .p-top-caution__title-sub {
  display: flex;
  gap: 13.7px;
  align-items: flex-start;
  font-size: 20.5px;
  font-weight: 700;
  line-height: 1.3;
  color: #d82b90;
}
@media (max-width: 639.98px) {
  .p-top-caution .p-top-caution__title-sub {
    gap: 2.1333333333vw;
    font-size: 3.2vw;
  }
}
.p-top-caution .p-top-caution__icon-caution {
  flex-shrink: 0;
  width: 27.3px;
  height: 27.3px;
  background-color: currentcolor;
  mask-image: url("../images/common/icon_caution.png");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}
@media (max-width: 639.98px) {
  .p-top-caution .p-top-caution__icon-caution {
    width: 4.2666666667vw;
    height: 4.2666666667vw;
  }
}
.p-top-caution .p-top-caution__list {
  padding-left: 27.3px;
  list-style: disc;
}
.p-top-caution .p-top-caution__list .p-top-caution__list {
  margin-top: 6.8px;
}
@media (max-width: 639.98px) {
  .p-top-caution .p-top-caution__list .p-top-caution__list {
    margin-top: 1.0666666667vw;
  }
}
@media (max-width: 639.98px) {
  .p-top-caution .p-top-caution__list {
    padding-left: 4.2666666667vw;
  }
}
.p-top-caution .p-top-caution__list-item {
  font-size: 17.1px;
}
@media (max-width: 639.98px) {
  .p-top-caution .p-top-caution__list-item {
    font-size: 2.6666666667vw;
  }
}
.p-top-caution .p-top-caution__list-item + .p-top-caution__list-item {
  margin-top: 6.8px;
}
@media (max-width: 639.98px) {
  .p-top-caution .p-top-caution__list-item + .p-top-caution__list-item {
    margin-top: 1.0666666667vw;
  }
}
.p-top-caution .p-top-caution__list-item a {
  color: #d82b90;
}
.u-opacity-0 {
  opacity: 0;
}
.u-auto-alpha {
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
}
.u-scroll--fadeIn {
  transition: opacity 0.6s, transform 0.6s;
}
.u-scroll--fadeIn:not(.is-active) {
  opacity: 0;
  transform: translateY(40px);
}
.u-scroll--fadeInBlur {
  transition: opacity 0.6s, transform 0.6s, filter 0.6s;
}
.u-scroll--fadeInBlur:not(.is-active) {
  opacity: 0;
  filter: blur(8px);
  transform: translateY(40px);
}
.u-scroll--clipInRight {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  transition: clip-path 0.4s;
}
.u-scroll--clipInRight:not(.is-active) {
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
}
.u-text-body {
  color: #fff;
}
.u-text-text {
  color: #000;
}
.u-text-text-weak {
  color: #9a9a9a;
}
.u-text-primary {
  color: #d82b90;
}
.u-text-secondary {
  color: #444e99;
}
.u-text-accent {
  color: #f29a08;
}
.u-text-bg {
  color: #fff4fa;
}
.u-text-bg-weak {
  color: #fef8ff;
}
.u-text-line {
  color: #c5beb6;
}
.u-text-line-weak {
  color: #e2e2df;
}