@charset "UTF-8";
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}

a {
  display: inline-block;
  text-decoration: none;
  color: inherit;
}

span, picture {
  display: inline-block;
}

button {
  margin: 0;
  padding: 0;
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  background: transparent;
  cursor: pointer;
  color: inherit;
  font: inherit;
}

input,
textarea,
select {
  font: inherit;
}

/*----------------------------------
  レイアウト（単位不要）
----------------------------------*/
/*----------------------------------
  color
----------------------------------*/
/*----------------------------------
  font-family
----------------------------------*/
/*----------------------------------
  z-index
----------------------------------*/
html {
  scroll-behavior: smooth;
}
html:has(#home) {
  scroll-behavior: unset;
}
@media (max-width: 500px) {
  html {
    font-size: 3.2vw;
  }
}
@media (min-width: 1280px) {
  html {
    font-size: 1.1111111111vw;
  }
}
@media (min-width: 1440px) {
  html {
    font-size: 16px;
  }
}

body {
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
  color: #615B6D;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: normal;
}

main:has(#wrapper.is-active) {
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
  }
}
#wrapper {
  position: relative;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: visibility 1.6s, opacity 1.6s;
  transition: visibility 1.6s, opacity 1.6s;
}
#wrapper.is-active, #wrapper.is-lower-page {
  visibility: visible;
  opacity: 1;
}
#wrapper.is-hidden {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: visibility 0.4s ease-out, opacity 0.4s ease-out;
  transition: visibility 0.4s ease-out, opacity 0.4s ease-out;
}

.l-wrapper {
  position: relative;
  width: 100%;
  max-width: 31.25rem;
  background-color: #FFF;
  margin-inline: auto;
  z-index: 0;
}

.l-wrapper--blue {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(17.62%, rgba(179, 213, 255, 0.24)), color-stop(75.7%, rgba(237, 225, 255, 0.24)));
  background: linear-gradient(180deg, rgba(179, 213, 255, 0.24) 17.62%, rgba(237, 225, 255, 0.24) 75.7%);
}

.l-inner {
  width: 100%;
  max-width: 31.25rem;
  padding-inline: 2.1875rem;
  margin-inline: auto;
}
.l-header {
  position: relative;
  z-index: 100;
}
.l-header.is-active .l-header__inner {
  right: 0;
  translate: 0 0;
  opacity: 1;
  visibility: visible;
}

.l-header__inner {
  position: fixed;
  top: calc(50% - 13.875rem - 5rem);
  right: 50%;
  translate: 50% 0;
  width: 29.375rem;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: right 0.8s, translate 0.8s, opacity 0.8s, visibility 0.8s;
  transition: right 0.8s, translate 0.8s, opacity 0.8s, visibility 0.8s;
}
@media screen and (min-width: 1440px) {
  .l-header__inner {
    width: calc(32.6388888889vw + (32.6388888889vw - 29.375rem) / 2);
  }
}

.l-header__head-image {
  width: 19.625rem;
  margin-inline: auto;
}

.l-header__nav {
  display: none;
  margin-top: 3.625rem;
}
@media (min-width: 1280px) {
  .l-header__nav {
    display: block;
  }
}

.l-header__nav-list {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-right: 1rem;
  margin-inline: auto;
}

.l-header__nav-item {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 1.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}
.l-header__nav-item::before {
  content: "";
  width: 0.375rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #d29dfb;
}
.l-header__nav-item::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0.125rem;
  background: linear-gradient(135deg, #fcb1ff 2%, #eda7fc 24%, #a5b4fc 60%, #a6eaff 100%);
  scale: 0;
  -webkit-transform-origin: left center;
          transform-origin: left center;
}
.l-header__nav-item + .l-header__nav-item {
  margin-top: 0.875rem;
}
.l-header__nav-item:nth-of-type(1) .l-header__nav-item-link-image {
  width: 4.0625rem;
}
.l-header__nav-item:nth-of-type(1) .l-header__nav-item-link-image::before {
  background-image: url(../img/top/header-nav-text--01-blue.png);
}
.l-header__nav-item:nth-of-type(2) .l-header__nav-item-link-image {
  width: 7.75rem;
}
.l-header__nav-item:nth-of-type(2) .l-header__nav-item-link-image::before {
  background-image: url(../img/top/header-nav-text--02-blue.png);
}
.l-header__nav-item:nth-of-type(3) .l-header__nav-item-link-image {
  width: 3.625rem;
}
.l-header__nav-item:nth-of-type(3) .l-header__nav-item-link-image::before {
  background-image: url(../img/top/header-nav-text--03-blue.png);
}
.l-header__nav-item:nth-of-type(4) .l-header__nav-item-link-image {
  width: 3.25rem;
}
.l-header__nav-item:nth-of-type(4) .l-header__nav-item-link-image::before {
  background-image: url(../img/top/header-nav-text--04-blue.png);
}
.l-header__nav-item:nth-of-type(5) .l-header__nav-item-link-image {
  width: 2.3125rem;
}
.l-header__nav-item:nth-of-type(5) .l-header__nav-item-link-image::before {
  background-image: url(../img/top/header-nav-text--05-blue.png);
}

.l-header__nav-item-link {
  color: #919191;
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1375rem;
}

.l-header__nav-item-link-image {
  position: relative;
  margin-right: 0.5rem;
}
.l-header__nav-item-link-image::before {
  content: "";
  position: absolute;
  top: -0.0625rem;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  background: center/contain no-repeat;
}
.l-header__nav-item-link-image img {
  vertical-align: baseline;
}

.l-header__nav-button-box {
  scale: 0.87;
  padding-right: 1.3125rem;
  margin: 1.6875rem auto 0;
}

/*----------------------------------
  ドロワーメニュー
----------------------------------*/
.l-drawer-button {
  position: fixed;
  top: 1.25rem;
  right: 1.25rem;
  width: 4.5rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 1px solid #FFF;
  background: linear-gradient(135deg, #fcb1ff 2%, #eda7fc 24%, #a5b4fc 60%, #a6eaff 100%);
  outline: none;
  z-index: 102;
}
@media (min-width: 1280px) {
  .l-drawer-button {
    display: none;
  }
}
.l-drawer-button.is-checked .l-drawer-button__bar {
  top: 2.1875rem;
}
.l-drawer-button.is-checked .l-drawer-button__bar:nth-of-type(1) {
  rotate: 30deg;
}
.l-drawer-button.is-checked .l-drawer-button__bar:nth-of-type(2) {
  opacity: 0;
}
.l-drawer-button.is-checked .l-drawer-button__bar:nth-of-type(3) {
  rotate: -30deg;
}

.l-drawer-button__bar {
  position: absolute;
  left: 50%;
  translate: -50% 0;
  width: 1.875rem;
  height: 0.0625rem;
  background-color: #FFF;
  -webkit-transition: rotate 0.4s, opacity 0.4s;
  transition: rotate 0.4s, opacity 0.4s;
}
.l-drawer-button__bar:nth-of-type(1) {
  top: 1.75rem;
}
.l-drawer-button__bar:nth-of-type(2) {
  top: 2.1875rem;
}
.l-drawer-button__bar:nth-of-type(3) {
  top: 2.625rem;
}

.l-drawer-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100dvh;
  background-color: #FFF;
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.6s, visibility 0.6s;
  transition: opacity 0.6s, visibility 0.6s;
  padding-block: 9.125rem 3.75rem;
  z-index: 101;
}
.l-drawer-menu.is-checked {
  opacity: 1;
  visibility: visible;
}

.l-drawer-menu__logo {
  width: 11.3125rem;
  margin-inline: auto;
}

.l-drawer-menu__list {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 2rem auto 0;
}

.l-drawer-menu__item {
  height: 2.5rem;
  gap: 0.625rem;
}
.l-drawer-menu__item::before {
  width: 0.5rem;
}
.l-drawer-menu__item + .l-drawer-menu__item {
  margin-top: 1.125rem;
}
.l-drawer-menu__item:nth-of-type(1) .l-drawer-menu__item-link-image {
  width: 5.40625rem;
}
.l-drawer-menu__item:nth-of-type(2) .l-drawer-menu__item-link-image {
  width: 11.15625rem;
}
.l-drawer-menu__item:nth-of-type(2) .l-drawer-menu__item-link-image::before {
  top: -0.1875rem;
}
.l-drawer-menu__item:nth-of-type(3) .l-drawer-menu__item-link-image {
  width: 4.84375rem;
}
.l-drawer-menu__item:nth-of-type(4) .l-drawer-menu__item-link-image {
  width: 4.34375rem;
}
.l-drawer-menu__item:nth-of-type(5) .l-drawer-menu__item-link-image {
  width: 3.09375rem;
}

.l-drawer-menu__item-link {
  color: #464646;
  font-size: 0.875rem;
}

.l-drawer-menu__item-link-image {
  translate: 0 0.125rem;
  margin-right: 0.625rem;
}
.l-drawer-menu__item-link-image::before {
  top: -0.125rem;
}

.l-drawer-menu__button-box {
  scale: 1.14;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 3.5625rem auto 0;
}

.l-footer {
  background-color: rgba(237, 225, 255, 0.24);
  padding-block: 9.5rem 5.5rem;
}

.l-footer__body {
  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: 1.625rem;
  margin-top: 2rem;
}
@media screen and (min-width: 600px) {
  .l-footer__body {
    gap: 2rem;
  }
}

.l-footer__logo {
  width: 9.5rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.l-footer__item + .l-footer__item {
  margin-top: 1.25rem;
}

.l-footer__item-link {
  position: relative;
  font-size: max(1rem, 14px);
  line-height: 1.8;
  letter-spacing: 0.2rem;
}
.l-footer__item-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0.125rem;
  background: linear-gradient(135deg, #FCB1FF 2%, #EDA7FC 24%, #A5B4FC 60%, #A6EAFF 100%);
  scale: 0;
  -webkit-transform-origin: left center;
          transform-origin: left center;
}

.l-page-header {
  position: relative;
  z-index: 100;
}
.l-page-header.is-active .l-page-header__inner, .l-page-header.is-lower-page .l-page-header__inner {
  right: 0;
  translate: 0 0;
  opacity: 1;
  visibility: visible;
}
@media screen and (min-width: 1440px) {
  .l-page-header.is-active .l-page-header__inner, .l-page-header.is-lower-page .l-page-header__inner {
    right: calc((100vw - 90rem) / 4);
  }
}

.l-page-header.is-lower-page .l-page-header__inner {
  -webkit-transition: none;
  transition: none;
}

.l-page-header__inner {
  position: fixed;
  top: calc(50% - 15.375rem);
  right: 50%;
  translate: 50% 0;
  width: 29.375rem;
  padding-inline: 5.375rem 5rem;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: right 0.8s, translate 0.8s, opacity 0.8s, visibility 0.8s;
  transition: right 0.8s, translate 0.8s, opacity 0.8s, visibility 0.8s;
}

.l-page-header__nav {
  display: none;
}
@media (min-width: 1280px) {
  .l-page-header__nav {
    display: block;
  }
}

.l-page-header__nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.l-page-header__nav-item {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.66875rem;
}
@media (min-width: 1280px) {
  .l-page-header__nav-item {
    gap: 0.5rem;
  }
}
.l-page-header__nav-item::before {
  content: "";
  width: 0.5rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #d29dfb;
  translate: 0 0.25rem;
}
@media (min-width: 375px) {
  .l-page-header__nav-item::before {
    translate: 0 0.125rem;
  }
}
@media (min-width: 1280px) {
  .l-page-header__nav-item::before {
    width: 0.375rem;
  }
}

.l-page-header__nav-item-link {
  height: 3rem;
  position: relative;
  white-space: nowrap;
  padding-block: 0.25rem;
}
@media (min-width: 1280px) {
  .l-page-header__nav-item-link {
    height: 2.125rem;
  }
}
.l-page-header__nav-item-link span {
  position: absolute;
  top: 0.375rem;
  left: 0;
  font-size: max(1.25rem, 14px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.25rem;
  -webkit-transition: opacity 0.6s ease;
  transition: opacity 0.6s ease;
}
@media (min-width: 1280px) {
  .l-page-header__nav-item-link span {
    font-size: 12px;
    letter-spacing: 0.15rem;
  }
}
.l-page-header__nav-item-link .--black {
  color: #191919;
  pointer-events: auto;
}
.l-page-header__nav-item-link .--gradient {
  opacity: 0;
  pointer-events: none;
  background: -webkit-gradient(linear, left top, right top, from(#8e49ff), to(#f1738e));
  background: linear-gradient(90deg, #8e49ff, #f1738e);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (any-hover: hover) {
  .l-page-header__nav-item-link:hover {
    opacity: 1;
  }
  .l-page-header__nav-item-link:hover .--black {
    opacity: 0;
    pointer-events: none;
  }
  .l-page-header__nav-item-link:hover .--gradient {
    opacity: 1;
    pointer-events: auto;
  }
}

.l-page-header__nav-button-boxes {
  margin-top: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 1.5rem;
  width: 19rem;
}

.l-page-header__btn {
  position: relative;
  height: 5.16875rem;
  padding: 0.83125rem;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.3rem;
  display: grid;
  place-items: center;
}
@media (min-width: 1280px) {
  .l-page-header__btn {
    height: 3.875rem;
    padding: 0.625rem;
    font-size: max(1.125rem, 14px);
    letter-spacing: 0.225rem;
  }
}
.l-page-header__btn.--main-visual {
  height: 4.575rem;
  font-size: 1.33125rem;
  letter-spacing: 0.26875rem;
}
@media screen and (min-width: 768px) {
  .l-page-header__btn.--main-visual {
    height: 3.875rem;
    width: 19rem;
    font-size: max(1.125rem, 14px);
    letter-spacing: 0.225rem;
  }
}
.l-page-header__btn.--main-visual::after {
  content: "";
  position: absolute;
  width: 0.66875rem;
  height: 0.66875rem;
  rotate: -45deg;
  border-bottom: max(0.08125rem, 1px) solid #fff;
  border-right: max(0.08125rem, 1px) solid #fff;
  top: 2rem;
  right: 1.375rem;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .l-page-header__btn.--main-visual::after {
    width: 0.5rem;
    height: 0.5rem;
    border-bottom: 0.0625rem solid #fff;
    border-right: 0.0625rem solid #fff;
    top: 1.75rem;
    right: 1.0625rem;
  }
}
.l-page-header__btn.--request {
  border-radius: 6.25rem;
  border: max(0.08125rem, 1px) solid #f1738e;
  background: #fff;
  -webkit-transition: scale 0.5s ease;
  transition: scale 0.5s ease;
}
@media (min-width: 1280px) {
  .l-page-header__btn.--request {
    border: 0.0625rem solid #f1738e;
  }
}
.l-page-header__btn.--request img {
  width: 13.33125rem;
  translate: 0 -0.1875rem;
}
@media (min-width: 1280px) {
  .l-page-header__btn.--request img {
    width: 10rem;
  }
}
.l-page-header__btn.--request img.--gifting {
  width: 13.58125rem;
}
@media (min-width: 1280px) {
  .l-page-header__btn.--request img.--gifting {
    width: 10.1875rem;
  }
}
.l-page-header__btn.--request::after {
  content: "";
  position: absolute;
  width: 0.66875rem;
  height: 0.66875rem;
  rotate: -45deg;
  border-bottom: max(0.08125rem, 1px) solid #ec738d;
  border-right: max(0.08125rem, 1px) solid #ec738d;
  top: 2.25rem;
  right: 1.41875rem;
  pointer-events: none;
}
@media (min-width: 1280px) {
  .l-page-header__btn.--request::after {
    width: 0.5rem;
    height: 0.5rem;
    border-bottom: 0.0625rem solid #ec738d;
    border-right: 0.0625rem solid #ec738d;
    top: 1.6875rem;
    right: 1.0625rem;
  }
}
@media (any-hover: hover) {
  .l-page-header__btn.--request:hover {
    scale: 1.04;
    opacity: 1;
  }
}
.l-page-header__btn.--pink {
  border-radius: 6.25rem;
  background: -webkit-gradient(linear, left top, right top, from(#fa9bb1), to(#f06f8b));
  background: linear-gradient(90deg, #fa9bb1 0%, #f06f8b 100%);
  -webkit-box-shadow: 0rem 0.25rem 0rem 0rem #ec738d;
          box-shadow: 0rem 0.25rem 0rem 0rem #ec738d;
  overflow: hidden;
  -webkit-transition: translate 0.4s, -webkit-box-shadow 0.4s;
  transition: translate 0.4s, -webkit-box-shadow 0.4s;
  transition: box-shadow 0.4s, translate 0.4s;
  transition: box-shadow 0.4s, translate 0.4s, -webkit-box-shadow 0.4s;
}
.l-page-header__btn.--pink::before {
  content: "";
  position: absolute;
  top: -11.25rem;
  left: 0;
  width: 1.875rem;
  height: 100%;
  display: inline-block;
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-animation: shiny 2.5s ease-in-out infinite;
          animation: shiny 2.5s ease-in-out infinite;
  pointer-events: none;
}
@media (any-hover: hover) {
  .l-page-header__btn.--pink:hover {
    -webkit-box-shadow: unset;
            box-shadow: unset;
    translate: 0 0.25rem;
    opacity: 1;
  }
}
.l-page-header__btn.--purple {
  border-radius: 3.5rem;
  background: -webkit-gradient(linear, left top, right top, from(#9807b4), to(#7551d2));
  background: linear-gradient(90deg, #9807b4 0%, #7551d2 100%);
  -webkit-box-shadow: 0rem 0.25rem 0rem 0rem #9c2ebc;
          box-shadow: 0rem 0.25rem 0rem 0rem #9c2ebc;
  overflow: hidden;
  -webkit-transition: translate 0.4s, -webkit-box-shadow 0.4s;
  transition: translate 0.4s, -webkit-box-shadow 0.4s;
  transition: box-shadow 0.4s, translate 0.4s;
  transition: box-shadow 0.4s, translate 0.4s, -webkit-box-shadow 0.4s;
}
.l-page-header__btn.--purple::before {
  content: "";
  position: absolute;
  top: -11.25rem;
  left: 0;
  width: 1.875rem;
  height: 100%;
  display: inline-block;
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-animation: shiny 2.5s ease-in-out infinite;
          animation: shiny 2.5s ease-in-out infinite;
  pointer-events: none;
}
@media (any-hover: hover) {
  .l-page-header__btn.--purple:hover {
    -webkit-box-shadow: unset;
            box-shadow: unset;
    translate: 0 0.25rem;
    opacity: 1;
  }
}
.l-page-header__btn::after {
  content: "";
  position: absolute;
  width: 0.66875rem;
  height: 0.66875rem;
  rotate: -45deg;
  border-bottom: max(0.08125rem, 1px) solid #fff;
  border-right: max(0.08125rem, 1px) solid #fff;
  top: 2.25rem;
  right: 1.375rem;
  pointer-events: none;
}
@media (min-width: 1280px) {
  .l-page-header__btn::after {
    width: 0.5rem;
    height: 0.5rem;
    border-bottom: 0.0625rem solid #fff;
    border-right: 0.0625rem solid #fff;
    top: 1.75rem;
    right: 1.0625rem;
  }
}

/*----------------------------------
  ドロワーメニュー
----------------------------------*/
.l-page-drawer-button {
  position: fixed;
  top: 1.66875rem;
  right: 1.66875rem;
  width: 4.5rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: max(0.08125rem, 1px) solid #FFF;
  z-index: 102;
  outline: none;
}
@media (min-width: 1280px) {
  .l-page-drawer-button {
    display: none;
  }
}
.l-page-drawer-button.--casting {
  background: -webkit-gradient(linear, left top, right top, from(#8e49ff), to(#f1738e));
  background: linear-gradient(90deg, #8e49ff 0%, #f1738e 100%);
}
.l-page-drawer-button.--gifting {
  background: -webkit-gradient(linear, left top, right top, from(#f1738e), to(#8e49ff));
  background: linear-gradient(90deg, #f1738e 0%, #8e49ff 100%);
}
.l-page-drawer-button.is-checked .l-page-drawer-button__bar {
  top: 2.16875rem;
}
.l-page-drawer-button.is-checked .l-page-drawer-button__bar:nth-of-type(1) {
  rotate: 30deg;
}
.l-page-drawer-button.is-checked .l-page-drawer-button__bar:nth-of-type(2) {
  opacity: 0;
}
.l-page-drawer-button.is-checked .l-page-drawer-button__bar:nth-of-type(3) {
  rotate: -30deg;
}

.l-page-drawer-button__bar {
  position: absolute;
  left: 50%;
  translate: -50% 0;
  width: 1.91875rem;
  height: 0.08125rem;
  background-color: #FFF;
  -webkit-transition: rotate 0.4s, opacity 0.4s;
  transition: rotate 0.4s, opacity 0.4s;
}
.l-page-drawer-button__bar:nth-of-type(1) {
  top: 1.75rem;
}
.l-page-drawer-button__bar:nth-of-type(2) {
  top: 2.16875rem;
}
.l-page-drawer-button__bar:nth-of-type(3) {
  top: 2.58125rem;
}

.l-page-drawer-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100dvh;
  background-color: #FFF;
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.6s, visibility 0.6s;
  transition: opacity 0.6s, visibility 0.6s;
  padding-block: 4.4rem;
  z-index: 101;
}
.l-page-drawer-menu.is-checked {
  opacity: 1;
  visibility: visible;
}

.l-page-drawer-menu__inner {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

.l-page-drawer-menu__logo {
  width: 11.3625rem;
  margin-inline: auto;
}

.l-page-drawer-menu__list {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 1.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 1rem;
  padding-left: 2.5rem;
}

.l-page-drawer-menu__button-box {
  margin-top: 3.0625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 2rem;
  width: 25.33125rem;
}

.l-page-header__logo {
  display: none;
}
@media (min-width: 1280px) {
  .l-page-header__logo {
    display: block;
    position: fixed;
    top: 1.25rem;
    left: 2.1875rem;
    width: 15.75rem;
    height: 2.6875rem;
    -webkit-transition: opacity 0.8s ease, left 0.8s ease;
    transition: opacity 0.8s ease, left 0.8s ease;
  }
  .l-page-header__logo.is-active {
    left: calc((100vw - 90rem) / 4 + 2.1875rem);
  }
}

.l-page-main-visual {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
}
.l-page-main-visual.is-active .l-page-main-visual__body, .l-page-main-visual.is-lower-page .l-page-main-visual__body {
  opacity: 0;
  visibility: hidden;
}
@media (min-width: 1280px) {
  .l-page-main-visual.is-active .l-page-main-visual__body, .l-page-main-visual.is-lower-page .l-page-main-visual__body {
    width: 29.375rem;
    top: 1.25rem;
    left: 0;
    translate: 0;
    opacity: 1;
    visibility: visible;
  }
}
@media screen and (min-width: 1440px) {
  .l-page-main-visual.is-active .l-page-main-visual__body, .l-page-main-visual.is-lower-page .l-page-main-visual__body {
    width: 29.375rem;
    left: calc((100vw - 90rem) / 4);
  }
}
.l-page-main-visual.is-active .l-page-main-visual__body-contents, .l-page-main-visual.is-lower-page .l-page-main-visual__body-contents {
  width: 100%;
}
@media (min-width: 1280px) {
  .l-page-main-visual.is-active .l-page-main-visual__body-wrap, .l-page-main-visual.is-lower-page .l-page-main-visual__body-wrap {
    left: 2.5625rem;
    width: 26.8125rem;
    padding-inline: 0;
    margin-inline: 0;
  }
}
@media (min-width: 1280px) {
  .l-page-main-visual.is-active .l-page-main-visual__body-wrap.--type-gifting, .l-page-main-visual.is-lower-page .l-page-main-visual__body-wrap.--type-gifting {
    left: 2.375rem;
  }
}
.l-page-main-visual.is-active .l-page-main-visual__body-wrap span, .l-page-main-visual.is-lower-page .l-page-main-visual__body-wrap span {
  -webkit-transition: top 0.8s ease, left 0.8s ease;
  transition: top 0.8s ease, left 0.8s ease;
}
@media (min-width: 1280px) {
  .l-page-main-visual.is-active .l-page-main-visual__body-heading, .l-page-main-visual.is-lower-page .l-page-main-visual__body-heading {
    padding: 0.2058125rem 0.9878125rem;
    border-radius: 1.3170625rem;
    background: #2d1f64;
    color: #fff;
    font-size: 12px;
    letter-spacing: 0.12rem;
  }
}
@media (min-width: 1280px) {
  .l-page-main-visual.is-active .l-page-main-visual__body-heading-img, .l-page-main-visual.is-lower-page .l-page-main-visual__body-heading-img {
    width: 6.9375rem;
  }
}
@media (min-width: 1280px) {
  .l-page-main-visual.is-active .l-page-main-visual__body-title, .l-page-main-visual.is-lower-page .l-page-main-visual__body-title {
    margin-top: 0.4375rem;
  }
}
@media (min-width: 1280px) {
  .l-page-main-visual.is-active .l-page-main-visual__body-title span, .l-page-main-visual.is-lower-page .l-page-main-visual__body-title span {
    font-size: 1.375rem;
    letter-spacing: 0.1375rem;
  }
}
@media (min-width: 1280px) {
  .l-page-main-visual.is-active .l-page-main-visual__body-title.--type-gifting, .l-page-main-visual.is-lower-page .l-page-main-visual__body-title.--type-gifting {
    margin-top: 0.375rem;
    font-size: max(1.125rem, 14px);
    letter-spacing: 0.1125rem;
  }
}
.l-page-main-visual.is-active .l-page-main-visual__body-title.is-lower-page, .l-page-main-visual.is-lower-page .l-page-main-visual__body-title.is-lower-page {
  -webkit-transition: none;
  transition: none;
}
@media (min-width: 1280px) {
  .l-page-main-visual.is-active .l-page-main-visual__body-title.is-lower-page, .l-page-main-visual.is-lower-page .l-page-main-visual__body-title.is-lower-page {
    margin-top: calc(50vh - 3.9375rem);
    translate: 0 -1.3125rem;
    text-align: center;
    font-size: 1.75rem;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: 0.175rem;
    background: -webkit-gradient(linear, left top, right top, from(#8e49ff), to(#f1738e));
    background: linear-gradient(90deg, #8e49ff 0%, #f1738e 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}
@media (min-width: 1280px) {
  .l-page-main-visual.is-active .l-page-main-visual__body-description, .l-page-main-visual.is-lower-page .l-page-main-visual__body-description {
    margin-top: 0.6875rem;
    font-size: max(0.875rem, 14px);
    letter-spacing: 0.175rem;
  }
}
@media (min-width: 1280px) {
  .l-page-main-visual.is-active .l-page-main-visual__body-description.--type-gifting, .l-page-main-visual.is-lower-page .l-page-main-visual__body-description.--type-gifting {
    margin-top: 0.75rem;
    font-size: max(1rem, 14px);
    letter-spacing: 0.2rem;
  }
}
.l-page-main-visual.is-active .l-page-main-visual__body-wrap-treat, .l-page-main-visual.is-lower-page .l-page-main-visual__body-wrap-treat {
  opacity: 0;
}
@media (min-width: 1280px) {
  .l-page-main-visual.is-active .l-page-main-visual__body-wrap-treat, .l-page-main-visual.is-lower-page .l-page-main-visual__body-wrap-treat {
    top: 8%;
    right: 52%;
    translate: 0 0;
    width: 30rem;
    opacity: 1;
  }
}
.l-page-main-visual.is-active .l-page-main-visual__body-wrap-treat.is-lower-page, .l-page-main-visual.is-lower-page .l-page-main-visual__body-wrap-treat.is-lower-page {
  width: 23.8125rem;
  aspect-ratio: 381/360;
  right: auto;
  top: 50%;
  left: calc(2.875rem + (100vw - 90rem) / 4);
  translate: 0 -50%;
  -webkit-transition: none;
  transition: none;
}
@media (min-width: 1280px) {
  .l-page-main-visual.is-active .l-page-main-visual__bg-slider, .l-page-main-visual.is-lower-page .l-page-main-visual__bg-slider {
    opacity: 1;
    visibility: visible;
  }
}
@media screen and (min-width: 1440px) {
  .l-page-main-visual.is-active .l-page-main-visual__bg-slider, .l-page-main-visual.is-lower-page .l-page-main-visual__bg-slider {
    width: calc(29.375rem + (100vw - 90rem) / 2);
    translate: calc((100vw - 90rem) * -1 / 4);
  }
}
@media (min-width: 1280px) {
  .l-page-main-visual.is-active .l-page-main-visual__bg-slider-treat-icon, .l-page-main-visual.is-lower-page .l-page-main-visual__bg-slider-treat-icon {
    top: calc(50% - 14.6875rem - 3.4375rem);
    left: 17.625rem;
  }
}
@media (min-width: 1280px) {
  .l-page-main-visual.is-active .l-page-main-visual__bg-slider-treat-icon.--type-gifting1, .l-page-main-visual.is-lower-page .l-page-main-visual__bg-slider-treat-icon.--type-gifting1 {
    top: calc(50% - 14.6875rem - 10.625rem);
    left: 22.5625rem;
    width: 3.5rem;
    height: 3.9375rem;
    rotate: 11.805deg;
  }
}
@media (min-width: 1280px) {
  .l-page-main-visual.is-active .l-page-main-visual__bg-slider-treat-icon.--type-gifting2, .l-page-main-visual.is-lower-page .l-page-main-visual__bg-slider-treat-icon.--type-gifting2 {
    top: calc(50% - 14.6875rem - 5.3125rem);
    left: 1.5rem;
    width: 3.5rem;
    height: 3.9375rem;
  }
}
.l-page-main-visual.is-active .l-page-main-visual__bg-slider-treat-icon.--type-gifting3, .l-page-main-visual.is-lower-page .l-page-main-visual__bg-slider-treat-icon.--type-gifting3 {
  opacity: 0;
  visibility: hidden;
}
.l-page-main-visual.is-active .l-page-main-visual__body-button-box, .l-page-main-visual.is-lower-page .l-page-main-visual__body-button-box {
  opacity: 0;
  pointer-events: none;
}
.l-page-main-visual.is-active .l-page-main-visual__box, .l-page-main-visual.is-lower-page .l-page-main-visual__box {
  opacity: 0;
}
.l-page-main-visual.is-active .l-page-main-visual__main-btn-area, .l-page-main-visual.is-lower-page .l-page-main-visual__main-btn-area {
  opacity: 0;
  pointer-events: none;
}
@media (min-width: 1280px) {
  .l-page-main-visual.is-active .l-page-main-visual__main-btn-area, .l-page-main-visual.is-lower-page .l-page-main-visual__main-btn-area {
    left: 0;
  }
}
.l-page-main-visual.is-active .l-page-main-visual__body-swiper-container, .l-page-main-visual.is-lower-page .l-page-main-visual__body-swiper-container {
  opacity: 0;
  visibility: hidden;
}

.l-page-main-visual.is-lower-page {
  -webkit-transition: none;
  transition: none;
}
.l-page-main-visual .l-page-main-visual__body {
  -webkit-transition: none;
  transition: none;
}

.l-page-main-visual__bg {
  height: 100dvh;
}

.l-page-main-visual__bg-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.l-page-main-visual__body {
  position: absolute;
  width: 31.25rem;
  height: calc(100dvh - 2.1875rem);
  top: 2.1875rem;
  left: 50%;
  translate: -50% 0;
  -webkit-transition: top 0.8s, left 0.8s, scale 0.8s, opacity 0.8s, visibility 0.8s;
  transition: top 0.8s, left 0.8s, scale 0.8s, opacity 0.8s, visibility 0.8s;
}
@media screen and (min-width: 768px) {
  .l-page-main-visual__body {
    height: calc(100dvh - 1.25rem);
    top: 1.25rem;
    width: 100%;
  }
}
@media (min-width: 1280px) {
  .l-page-main-visual__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.l-page-main-visual__body-contents {
  height: 100%;
}
@media (min-width: 1280px) {
  .l-page-main-visual__body-contents {
    width: 66.3194444444vw;
  }
}
@media screen and (min-width: 1440px) {
  .l-page-main-visual__body-contents {
    width: 66.3194444444vw;
  }
}
@media (min-width: 1280px) {
  .l-page-main-visual__body-contents.--type-gifting {
    width: 66.0416666667vw;
  }
}
@media screen and (min-width: 1440px) {
  .l-page-main-visual__body-contents.--type-gifting {
    width: 66.0416666667vw;
  }
}

.l-page-main-visual__body-logo {
  position: relative;
  top: 0;
  left: 1.75rem;
  width: 19rem;
  height: 3.25rem;
}
@media screen and (min-width: 768px) {
  .l-page-main-visual__body-logo {
    left: 2.1875rem;
    width: 15.75rem;
    height: 2.6875rem;
  }
}
@media (min-width: 1280px) {
  .l-page-main-visual__body-logo {
    opacity: 0;
    visibility: hidden;
  }
}

.l-page-main-visual__body-wrap {
  position: relative;
  top: 8vh;
  left: 0.875rem;
  width: 29.5rem;
  -webkit-transition: top 0.8s ease, left 0.8s ease;
  transition: top 0.8s ease, left 0.8s ease;
}
@media (min-width: 375px) {
  .l-page-main-visual__body-wrap {
    left: 1.75rem;
  }
}
@media screen and (min-width: 768px) {
  .l-page-main-visual__body-wrap {
    width: 41.25rem;
    margin-inline: auto;
    left: 0;
  }
}
@media (min-width: 1280px) {
  .l-page-main-visual__body-wrap {
    top: calc(50% - 14.6875rem - 2rem);
    margin-inline: 0;
    left: 11.4583333333vw;
  }
}
@media screen and (min-width: 768px) {
  .l-page-main-visual__body-wrap.--type-gifting {
    width: 39.5rem;
    left: 0;
  }
}
@media (min-width: 1280px) {
  .l-page-main-visual__body-wrap.--type-gifting {
    width: 59.4375rem;
    left: 11.4583333333vw;
  }
}

.l-page-main-visual__body-heading {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0.25rem 1.1983125rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 100vmax;
  background: #2d1f64;
  color: #fff;
  font-size: max(0.9125rem, 10.9px);
  font-weight: 700;
  letter-spacing: 0.14375rem;
  -webkit-transition: top 0.8s ease, left 0.8s ease;
  transition: top 0.8s ease, left 0.8s ease;
  translate: -0.875rem 0;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-page-main-visual__body-heading {
    padding: 0.3125rem 1.5rem;
    border-radius: 2rem;
    background: #2d1f64;
    color: #fff;
    font-size: max(1.125rem, 14px);
    letter-spacing: 0.18rem;
    translate: 0 0;
    margin-inline: 0;
  }
}

.l-page-main-visual__body-heading-img {
  position: relative;
  display: block;
  z-index: 1;
  width: 9.375rem;
  margin-inline: auto;
}
@media (min-width: 375px) {
  .l-page-main-visual__body-heading-img {
    width: 11.125rem;
    padding-right: 1.75rem;
  }
}
@media screen and (min-width: 768px) {
  .l-page-main-visual__body-heading-img {
    width: 9.75rem;
    padding-right: 0;
    margin-inline: 0;
  }
}

.l-page-main-visual__body-title {
  position: relative;
  z-index: 1;
  margin-top: 0.55rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 0.5rem;
  -webkit-transition: top 0.8s ease, left 0.8s ease;
  transition: top 0.8s ease, left 0.8s ease;
  text-align: center;
  white-space: nowrap;
}
@media (min-width: 375px) {
  .l-page-main-visual__body-title {
    padding-right: 1.75rem;
  }
}
@media screen and (min-width: 768px) {
  .l-page-main-visual__body-title {
    margin-top: 0.6875rem;
    row-gap: 0.625rem;
    text-align: left;
    padding-right: 0;
  }
}
.l-page-main-visual__body-title span {
  font-size: 1.66875rem;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: 0.16875rem;
}
@media screen and (min-width: 768px) {
  .l-page-main-visual__body-title span {
    font-size: 2.5rem;
    letter-spacing: 0.25rem;
  }
}
.l-page-main-visual__body-title span:nth-of-type(1) {
  background: -webkit-gradient(linear, left top, right top, from(#8e49ff), to(#f1738e));
  background: linear-gradient(90deg, #8e49ff 0%, #f1738e 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.l-page-main-visual__body-title span:nth-of-type(2) {
  background: -webkit-gradient(linear, left top, right top, from(#f1738e), to(#8e49ff));
  background: linear-gradient(90deg, #f1738e 0%, #8e49ff 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.l-page-main-visual__body-title.--type-gifting {
  margin-top: 0.375rem;
  display: block;
  color: #2d1f64;
  font-size: max(1.375rem, 14px);
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: 0.15rem;
  height: auto;
}
@media screen and (min-width: 768px) {
  .l-page-main-visual__body-title.--type-gifting {
    margin-top: 0.5rem;
    font-size: 1.625rem;
    letter-spacing: 0.1625rem;
  }
}

.l-page-main-visual__body-treat-text {
  position: relative;
  z-index: 1;
  display: block;
  margin-top: 0.75rem;
  font-size: 2.25rem;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: 0.2rem;
  background: -webkit-gradient(linear, left top, right top, from(#8e49ff), to(#f1738e));
  background: linear-gradient(90deg, #8e49ff 0%, #f1738e 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-align: center;
  padding-left: 1rem;
}
@media (min-width: 375px) {
  .l-page-main-visual__body-treat-text {
    padding-inline: 0 0.5rem;
  }
}
@media screen and (min-width: 768px) {
  .l-page-main-visual__body-treat-text {
    margin-top: 1.0625rem;
    font-size: 2.5rem;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: 0.25rem;
    text-align: left;
    padding-right: 0;
  }
}

.l-page-main-visual__body-treat-logo {
  width: 20rem;
  margin: 0.75rem auto 0;
}
@media (min-width: 375px) {
  .l-page-main-visual__body-treat-logo {
    width: 21.75rem;
    padding-right: 1.75rem;
  }
}
@media screen and (min-width: 768px) {
  .l-page-main-visual__body-treat-logo {
    width: 20rem;
    padding-left: 0;
    margin-inline: 0;
  }
}

.l-page-main-visual__body-description {
  position: relative;
  z-index: 1;
  margin-top: 0.85rem;
  color: #191919;
  font-size: max(1rem, 11px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.2rem;
  text-align: center;
}
@media (min-width: 375px) {
  .l-page-main-visual__body-description {
    padding-right: 1.75rem;
  }
}
@media screen and (min-width: 768px) {
  .l-page-main-visual__body-description {
    margin-top: 1.0625rem;
    font-size: max(1.125rem, 14px);
    letter-spacing: 0.225rem;
    text-align: left;
    padding-right: 0;
  }
}
.l-page-main-visual__body-description.--type-gifting {
  margin-top: 0.75rem;
  font-size: max(1.125rem, 12px);
  letter-spacing: 0.225rem;
}
@media screen and (min-width: 768px) {
  .l-page-main-visual__body-description.--type-gifting {
    margin-top: 1.0625rem;
    font-size: 1.375rem;
    letter-spacing: 0.275rem;
  }
}

.l-page-main-visual__body-wrap-treat {
  position: absolute;
  z-index: 0;
  top: 12%;
  right: 0;
  translate: 20%;
  width: 30rem;
  aspect-ratio: 321/304;
  -webkit-transition: top 0.8s, right 0.8s, opacity 0.8s;
  transition: top 0.8s, right 0.8s, opacity 0.8s;
  -webkit-animation: rotate_anime 30s linear infinite;
          animation: rotate_anime 30s linear infinite;
  opacity: 0.8;
}
@media screen and (min-width: 768px) {
  .l-page-main-visual__body-wrap-treat {
    top: 4%;
    translate: 20%;
    width: 40rem;
  }
}
@-webkit-keyframes rotate_anime {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg);
  }
}
@keyframes rotate_anime {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg);
  }
}
.l-page-main-visual__bg-slider {
  position: relative;
  top: 16.7vh;
  left: 0;
  width: 100vw;
  translate: calc((100vw - 31.25rem) * -1 / 2);
  -webkit-transition: opacity 0.8s, visibility 0.8s;
  transition: opacity 0.8s, visibility 0.8s;
}
@media screen and (min-width: 768px) {
  .l-page-main-visual__bg-slider {
    top: 23vh;
    left: 0;
    width: 29.375rem;
    translate: 0;
    opacity: 0;
    visibility: hidden;
    margin-left: 0;
  }
}
@media (min-width: 1280px) {
  .l-page-main-visual__bg-slider {
    top: calc(50% - 14.6875rem);
  }
}
@media screen and (min-width: 1440px) {
  .l-page-main-visual__bg-slider {
    width: calc(29.375rem + (100vw - 90rem) / 2);
    translate: calc((100vw - 90rem) * -1 / 4);
  }
}

.l-page-main-visual__bg-slider-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}

.l-page-main-visual__bg-slide {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 1.0625rem;
     -moz-column-gap: 1.0625rem;
          column-gap: 1.0625rem;
  height: 9.1rem;
}
.l-page-main-visual__bg-slide img {
  width: 9.1rem;
  height: 9.1rem;
}
@media screen and (min-width: 768px) {
  .l-page-main-visual__bg-slide {
    height: 7.5rem;
  }
  .l-page-main-visual__bg-slide img {
    width: 7.5rem;
    height: 7.5rem;
  }
}

.l-page-main-visual__bg-slide-wrap {
  margin-top: auto;
}

.l-page-main-visual__bg-slide-attribute {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0.30625rem 0.75625rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 100vmax;
  background: #fff;
  color: #191919;
  font-size: max(0.9125rem, 10.9px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.09125rem;
}
@media screen and (min-width: 768px) {
  .l-page-main-visual__bg-slide-attribute {
    padding: 0.25rem 0.625rem;
    border-radius: 2rem;
    font-size: 12px;
    letter-spacing: 0.075rem;
  }
}

.l-page-main-visual__bg-slide-follow {
  margin-top: 0.60625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .l-page-main-visual__bg-slide-follow {
    margin-top: 0.5rem;
  }
}
.l-page-main-visual__bg-slide-follow span {
  color: #6f6f6f;
  font-size: max(0.75625rem, 9.1px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.08125rem;
}
@media screen and (min-width: 768px) {
  .l-page-main-visual__bg-slide-follow span {
    font-size: 10px;
    letter-spacing: 0.0625rem;
  }
}

.l-page-main-visual__bg-slide-likes {
  margin-top: 0.30625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 1.2875rem;
     -moz-column-gap: 1.2875rem;
          column-gap: 1.2875rem;
}
@media screen and (min-width: 768px) {
  .l-page-main-visual__bg-slide-likes {
    margin-top: 0.25rem;
    -webkit-column-gap: 1.0625rem;
       -moz-column-gap: 1.0625rem;
            column-gap: 1.0625rem;
  }
}
.l-page-main-visual__bg-slide-likes span {
  color: #6f6f6f;
  font-size: max(0.75625rem, 9.1px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.08125rem;
}
@media screen and (min-width: 768px) {
  .l-page-main-visual__bg-slide-likes span {
    font-size: 10px;
    letter-spacing: 0.0625rem;
  }
}

.l-page-main-visual__bg-slider-treat-icon {
  position: relative;
  z-index: 1;
  top: calc(16.7vh - 3.125rem);
  left: 20.25rem;
  width: 8.75rem;
  height: 8.75rem;
  -webkit-transition: opacity 0.8s, visibility 0.8s;
  transition: opacity 0.8s, visibility 0.8s;
}
@media screen and (min-width: 768px) {
  .l-page-main-visual__bg-slider-treat-icon {
    opacity: 0;
    visibility: hidden;
  }
}
@media (min-width: 1280px) {
  .l-page-main-visual__bg-slider-treat-icon {
    opacity: 1;
    visibility: visible;
    top: -13.6vh;
    left: calc(100% + 10.9375rem);
  }
}
.l-page-main-visual__bg-slider-treat-icon.--type-gifting1 {
  top: calc(14vh - 10.625rem);
  left: 22.5625rem;
  width: 3.5rem;
  height: 3.9375rem;
  rotate: 11.805deg;
}
@media (min-width: 1280px) {
  .l-page-main-visual__bg-slider-treat-icon.--type-gifting1 {
    opacity: 1;
    visibility: visible;
    top: -23rem;
    left: calc(100% + 14.3rem);
  }
}
.l-page-main-visual__bg-slider-treat-icon.--type-gifting2 {
  top: calc(17vh - 5.3125rem);
  left: 1.5rem;
  width: 3.6875rem;
  height: 3.6875rem;
  rotate: -0.97deg;
}
@media (min-width: 1280px) {
  .l-page-main-visual__bg-slider-treat-icon.--type-gifting2 {
    opacity: 1;
    visibility: visible;
    top: -14.8125rem;
    left: calc(100% - 2.5rem);
    z-index: 2;
  }
}
.l-page-main-visual__bg-slider-treat-icon.--type-gifting3 {
  display: none;
  width: 4.1875rem;
  height: 3.375rem;
  rotate: 12.07deg;
}
@media (min-width: 1280px) {
  .l-page-main-visual__bg-slider-treat-icon.--type-gifting3 {
    display: block;
    opacity: 1;
    visibility: visible;
    top: -5.5rem;
    left: calc(100% + 13.7rem);
  }
}

.l-page-main-visual__main-btn-area {
  position: relative;
  top: 10vh;
  width: 21.6875rem;
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 2rem;
  -webkit-transition: opacity 0.8s ease, top 0.8s ease, left 0.8s ease;
  transition: opacity 0.8s ease, top 0.8s ease, left 0.8s ease;
}
@media screen and (min-width: 768px) {
  .l-page-main-visual__main-btn-area {
    top: 15vh;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-column-gap: 1.5rem;
       -moz-column-gap: 1.5rem;
            column-gap: 1.5rem;
    width: 39.5rem;
    translate: 0.3125rem;
  }
}
@media (min-width: 1280px) {
  .l-page-main-visual__main-btn-area {
    top: calc(50% - 14.6875rem + 3rem);
    margin-inline: 0;
    left: 11.1805555556vw;
  }
}
.l-page-main-visual__main-btn-area.--type-gifting {
  -webkit-transition: opacity 0.8s ease, top 0.8s ease, left 0.8s ease;
  transition: opacity 0.8s ease, top 0.8s ease, left 0.8s ease;
}
.l-page-main-visual__body-swiper-container,
.l-page-main-visual__body-swiper,
.l-page-main-visual__body-swiper-wrapper,
.l-page-main-visual__body-swiper-slide {
  position: relative;
}

.l-page-main-visual__body-swiper-container {
  display: none;
}
@media (min-width: 1280px) {
  .l-page-main-visual__body-swiper-container {
    display: block;
    overflow: hidden;
    height: 100vh;
    translate: 0 -1.25rem;
    opacity: 1;
    visibility: visible;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s;
    z-index: 1;
  }
}

.l-page-main-visual__body-swiper {
  height: 100vh;
}

.l-page-main-visual__body-swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}

.l-page-concept {
  padding-block: 21.25rem 4.5rem;
  scroll-margin-top: -0.125rem;
}

.l-page-concept__swiper-container,
.l-page-concept__swiper,
.l-page-concept__swiper-wrapper,
.l-page-concept__swiper-slide {
  position: relative;
}

.l-page-concept__swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}

.l-page-concept__swiper-slide {
  width: 18.875rem;
  height: 2.375rem;
}

.l-page-concept__head {
  margin-top: 1.625rem;
}

.l-page-concept__text {
  text-align: center;
  font-size: max(1.125rem, 14px);
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.1125rem;
  background: -webkit-gradient(linear, left top, right top, from(#8e49ff), to(#f1738e));
  background: linear-gradient(90deg, #8e49ff 0%, #f1738e 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.l-page-concept__title {
  margin-top: 0.625rem;
  color: #1b1311;
  text-align: center;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.275rem;
}

.l-page-concept__body {
  margin-top: 1.5rem;
}

.l-page-concept__img {
  position: relative;
  width: 20.125rem;
  margin-inline: auto;
}
.l-page-concept__img::before {
  content: "";
  position: absolute;
  width: 6.5625rem;
  height: 6.5625rem;
  bottom: -1.5rem;
  right: -1.3125rem;
  background: url(../img/page/page-glass.png) no-repeat center center/contain;
}

.l-page-concept__sub-title {
  margin-top: 4rem;
  color: #1b1311;
  text-align: center;
  font-size: max(1.25rem, 14px);
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.25rem;
}

.l-page-concept__textarea {
  width: max(22.875rem, 260px);
  margin-inline: auto;
  margin-top: 1.5rem;
  color: #1b1311;
  font-size: max(1rem, 14px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.2rem;
}

.p-text--dark-purple {
  display: inline;
  color: #7c40d4;
  font-weight: 700;
}

.l-page-problem {
  padding-block: 3.5rem;
  background: #383838;
}

.l-page-problem__inner {
  padding-inline: 1.1875rem;
}

.l-page-problem__title {
  color: #FFF;
  text-align: center;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.325rem;
}

.l-page-problem__cards {
  margin-top: 2.5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem 1.375rem;
}

.l-page-problem__card {
  position: relative;
  width: 13.75rem;
  min-height: 7.5rem;
  padding-block: 1.5rem;
  padding-inline: 0.375rem;
  border-radius: 2rem 0rem;
  background: #FFF;
  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: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-page-problem__card.--type-gifting {
  min-height: 8.25rem;
  padding-block: 1.125rem;
}
.l-page-problem__card img {
  position: absolute;
  top: -0.6875rem;
  left: 0.5rem;
  width: 2.8125rem;
}
.l-page-problem__card p {
  color: #7c40d4;
  text-align: center;
  font-size: max(0.9375rem, 10px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.1875rem;
}
.l-page-problem__card p.--ls15 {
  letter-spacing: 0.09375rem;
}
.l-page-solution {
  padding-block: 2rem 1.5rem;
}

.l-page-solution__treat-img {
  width: 3.75rem;
  margin-inline: auto;
}

.l-page-solution__head-text {
  position: relative;
  margin-top: 1.75rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding-bottom: 0.1875rem;
  border-bottom: 0.0625rem solid #e66e9b;
}
.l-page-solution__head-text p {
  text-align: center;
  font-size: max(1.125rem, 14px);
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.1125rem;
  background: linear-gradient(341deg, #ff82ae -1.87%, #f08090 51.71%, #cb97ff 100.2%, #edbdff 125.72%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.l-page-solution__title {
  width: 22.9375rem;
  margin-inline: auto;
}

.l-page-proposal {
  padding-block: 3rem;
  background: #f8f2ff;
}

.l-page-proposal__inner {
  padding-inline: 2rem;
  margin-inline: 0.875rem;
}
.l-page-proposal__btn {
  position: relative;
  width: 24.4375rem;
  margin-inline: auto;
  padding-block: 0.5625rem;
  padding-inline: 2rem;
  color: #FFF;
  text-align: center;
  font-size: max(1.25rem, 14px);
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.25rem;
  border-radius: 1rem;
  border: 0.0625rem solid #8e49ff;
  background: -webkit-gradient(linear, left top, right top, from(#8e49ff), to(#f1738e));
  background: linear-gradient(90deg, #8e49ff 0%, #f1738e 100%);
  -webkit-transition: color 0.5s ease, background 0.5s ease;
  transition: color 0.5s ease, background 0.5s ease;
}
.l-page-proposal__btn::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: calc(100% + 0.125rem);
  height: calc(100% + 0.125rem);
  background: -webkit-gradient(linear, left top, right top, from(#8e49ff), to(#f1738e));
  background: linear-gradient(90deg, #8e49ff 0%, #f1738e 100%);
  opacity: 0;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  z-index: -1;
  border-radius: 1rem;
}
.l-page-proposal__wrap {
  position: relative;
}

.l-page-proposal__items {
  position: absolute;
  top: 4.5rem;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 0.4375rem;
}

.l-page-proposal__item {
  width: 0.5625rem;
  height: 2.78125rem;
  border-radius: 0.75rem;
  background: #d9d9d9;
}
.l-page-proposal__item.is-active {
  background: linear-gradient(341deg, #ff82ae -1.87%, #f08090 51.71%, #cb97ff 100.2%, #edbdff 125.72%);
}

.l-page-proposal__cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5rem;
  overflow: auto;
  pointer-events: none;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.l-page-proposal__cards::-webkit-scrollbar {
  display: none;
}

.l-page-proposal__img {
  margin: 2.5rem auto 0;
}
.l-page-proposal__img.--type-casting.--type1 {
  width: 21.625rem;
}
.l-page-proposal__img.--type-casting.--type2 {
  width: 6.6875rem;
}
.l-page-proposal__img.--type-casting.--type3 {
  width: 6.9375rem;
}
.l-page-proposal__img.--type-gifting.--type1 {
  width: 15.4375rem;
}
.l-page-proposal__img.--type-gifting.--type2 {
  width: 8.8125rem;
}
.l-page-proposal__img.--type-gifting.--type3 {
  width: 6.9375rem;
}

.l-page-proposal__textarea {
  margin-top: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 1.25rem;
}

.l-page-proposal__title {
  color: #1b1311;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.3rem;
}

.l-page-proposal__description {
  padding-inline: 1.125rem;
  color: #1b1311;
  font-size: max(1.125rem, 14px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.225rem;
}

#js-proposal-item-2 {
  min-height: 1px;
}

.l-page-cta {
  background: #FFF;
  padding-block: 2rem 4.5rem;
}
.l-page-cta.--type2 {
  padding-block: 4.5rem 3.5rem;
  margin-top: 0;
  background: transparent;
}
.l-page-cta.--type3 {
  padding-block: 3.5rem;
  margin-top: 0;
  background: transparent;
}

.l-page-cta__comparison {
  padding-inline: 0.9375rem;
}

.l-page-cta__comparison-title {
  text-align: center;
}
.l-page-cta__comparison-title img {
  width: 14rem;
}
.l-page-cta__comparison-title span {
  margin-top: -0.125rem;
  position: relative;
  text-align: center;
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.2rem;
  background: -webkit-gradient(linear, left top, right top, from(#8e49ff), to(#f1738e));
  background: linear-gradient(90deg, #8e49ff 0%, #f1738e 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.l-page-cta__comparison-title span::before, .l-page-cta__comparison-title span::after {
  content: "";
  position: absolute;
  top: calc(50% + 0.0625rem);
  translate: 0 -50%;
  width: 2.0435rem;
  height: 0.125rem;
  background: #ff90ab;
}
.l-page-cta__comparison-title span::before {
  rotate: 66.571deg;
  right: 100%;
}
.l-page-cta__comparison-title span::after {
  rotate: -66.571deg;
  left: 100%;
}

.l-page-cta__comparison-table {
  margin-top: 3.5rem;
  border-collapse: collapse;
}
.l-page-cta__comparison-table th,
.l-page-cta__comparison-table td {
  text-align: center;
}
.l-page-cta__comparison-table thead th {
  height: 3.21875rem;
}
.l-page-cta__comparison-table thead th:nth-of-type(1) {
  width: 11.25rem;
}
@media (min-width: 500px) {
  .l-page-cta__comparison-table thead th:nth-of-type(1) {
    width: 8.125rem;
  }
}
.l-page-cta__comparison-table thead th:nth-of-type(2) {
  width: 8.125rem;
}
.l-page-cta__comparison-table thead th:nth-of-type(2) img {
  width: 8.125rem;
}
.l-page-cta__comparison-table thead th:nth-of-type(3) {
  width: 5.3125rem;
  padding-inline: 0.3125rem;
}
@media (min-width: 500px) {
  .l-page-cta__comparison-table thead th:nth-of-type(3) {
    width: 6.875rem;
  }
}
.l-page-cta__comparison-table thead th:nth-of-type(4) {
  width: 4.6875rem;
}
@media (min-width: 500px) {
  .l-page-cta__comparison-table thead th:nth-of-type(4) {
    width: 6.25rem;
  }
}
.l-page-cta__comparison-table thead th:nth-of-type(3) span, .l-page-cta__comparison-table thead th:nth-of-type(4) span {
  translate: 0 0.44375rem;
  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;
  border-radius: 0.625rem 0.625rem 0rem 0rem;
  background: rgba(58, 15, 130, 0.24);
  height: 2.6875rem;
  color: #FFF;
  text-align: center;
  font-size: max(1rem, 14px);
  font-weight: 700;
  letter-spacing: 0.2rem;
}
.l-page-cta__comparison-table tbody tr {
  border-bottom: 0.125rem solid #c8bed9;
  height: 4.375rem;
}
.l-page-cta__comparison-table tbody th,
.l-page-cta__comparison-table tbody td {
  padding-block: 0.3125rem;
  vertical-align: middle;
}
.l-page-cta__comparison-table tbody th {
  color: #1b1311;
  font-size: max(0.875rem, 14px);
  font-weight: 700;
  letter-spacing: 0.175rem;
}
.l-page-cta__comparison-table tbody td {
  padding: 0.625rem;
}
.l-page-cta__comparison-table tbody td img {
  width: 2.5rem;
  height: 2.5rem;
}

.l-page-cta__discount {
  margin-top: 3.5rem;
  padding-block: 3.375rem 3.5rem;
  width: 28.75rem;
  margin-inline: auto;
  border-radius: 2rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#f8f2ff), to(#f2f5ff));
  background: linear-gradient(180deg, #f8f2ff 0%, #f2f5ff 100%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 2.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.l-page-cta__discount-title {
  text-align: center;
}
.l-page-cta__discount-title img {
  width: 18rem;
}

.l-page-cta__discount-title-text {
  position: relative;
  margin-top: 0.3125rem;
  color: #615b6d;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.3rem;
  padding-bottom: 0.375rem;
  background: -webkit-gradient(linear, left top, right top, from(#8e49ff), to(#f1738e));
  background: linear-gradient(90deg, #8e49ff 0%, #f1738e 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.l-page-cta__discount-title-text::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 0.0625rem;
  background: -webkit-gradient(linear, left top, right top, from(#8e49ff), to(#f1738e));
  background: linear-gradient(90deg, #8e49ff 0%, #f1738e 100%);
  left: 0;
  bottom: -0.0625rem;
}
.l-page-cta__discount-title-text .--black {
  background: none;
  background-clip: border-box;
  -webkit-background-clip: border-box;
  -webkit-text-fill-color: initial;
  color: #615b6d;
}

.l-page-cta__discount-head {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding: 0.25rem 1.5rem;
  border-radius: 2rem;
  background: #2d1f64;
  display: grid;
  place-items: center;
}
.l-page-cta__discount-head p {
  color: #FFF;
  font-size: max(1rem, 14px);
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.2rem;
}

.l-page-cta__discount-price {
  margin-top: 2rem;
  width: 15.1875rem;
  margin-inline: auto;
}

.l-page-cta__discount-annotation {
  width: 22.5rem;
  margin-inline: auto;
  color: #1b1311;
  font-size: max(1.125rem, 14px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.225rem;
}

.l-page-reason {
  padding-block: 3.5rem;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(240, 226, 255, 0.72)), to(rgba(233, 227, 255, 0.72)));
  background: linear-gradient(180deg, rgba(240, 226, 255, 0.72) 0%, rgba(233, 227, 255, 0.72) 100%);
}

.l-page-reason__title {
  width: 24.75rem;
  margin-inline: auto;
}

.l-page-reason__cards {
  margin-top: 0.125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 4.25rem;
}

.l-page-reason-card {
  position: relative;
}

.l-page-reason-card__img {
  position: absolute;
  -webkit-clip-path: polygon(0 17%, 0 100%, 100% 83%, 100% 0);
          clip-path: polygon(0 17%, 0 100%, 100% 83%, 100% 0);
  top: 0;
  left: 0;
  width: 31.25rem;
  height: 22rem;
  z-index: 10;
}

.l-page-reason-card__img-area {
  -webkit-clip-path: polygon(0 17%, 0 100%, 100% 83%, 100% 0);
          clip-path: polygon(0 17%, 0 100%, 100% 83%, 100% 0);
  background: #FFF;
  width: 31.25rem;
  height: 22rem;
  background: -webkit-gradient(linear, left top, right top, color-stop(5.86%, #fcb1ff), color-stop(26.63%, #eda7fc), color-stop(61.24%, #a5b4fc), to(#a6eaff));
  background: linear-gradient(90deg, #fcb1ff 5.86%, #eda7fc 26.63%, #a5b4fc 61.24%, #a6eaff 100%);
  mix-blend-mode: overlay;
}

.l-page-reason-card__textarea {
  padding-inline: 4rem;
}

.l-page-reason-card__point {
  margin-top: 1.375rem;
  text-align: center;
}
.l-page-reason-card__point p {
  display: inline-block;
  padding-block: 0.625rem;
  padding-inline: 1.25rem;
  border-radius: 2rem;
  background: #2d1f64;
  text-transform: capitalize;
  color: #FFF;
  text-align: center;
  font-family: "Lato", sans-serif;
  font-size: 1.375rem;
  font-weight: 600;
  letter-spacing: 0.1375rem;
}

.l-page-reason-card__title {
  margin-top: 1.125rem;
  color: #1b1311;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.3rem;
}
.l-page-reason-card__title span.--pink {
  color: #fc4572;
}

.l-page-reason-card__description {
  margin-top: 2rem;
  color: #1b1311;
  font-size: max(1.125rem, 14px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.225rem;
}
.l-page-reason-card__description span {
  display: inline;
}
.l-page-reason-card__description span.--purple {
  color: #7c40d4;
  font-weight: 700;
}

.l-page-introduce {
  padding-block: 6.25rem;
}

.l-page-introduce__title {
  color: #1b1311;
  text-align: center;
  font-size: 1.625rem;
  font-weight: 600;
  letter-spacing: 0.1625rem;
}
.l-page-introduce__title span {
  margin-top: 0.4375rem;
  position: relative;
  text-align: center;
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.2rem;
  background: -webkit-gradient(linear, left top, right top, from(#8e49ff), to(#f1738e));
  background: linear-gradient(90deg, #8e49ff 0%, #f1738e 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.l-page-introduce__title span::before, .l-page-introduce__title span::after {
  content: "";
  position: absolute;
  top: calc(50% + 0.0625rem);
  translate: 0 -50%;
  width: 2.0435rem;
  height: 0.125rem;
  background: #ff90ab;
}
.l-page-introduce__title span::before {
  rotate: 66.571deg;
  right: 100%;
}
.l-page-introduce__title span::after {
  rotate: -66.571deg;
  left: 100%;
}

.l-page-introduce__swiper-container,
.l-page-introduce__swiper,
.l-page-introduce__swiper-wrapper,
.l-page-introduce__swiper-slide {
  position: relative;
}

.l-page-introduce__swiper-container.--type1 {
  margin-top: 3.5rem;
}
.l-page-introduce__swiper-container.--type2 {
  margin-top: 1.5rem;
}

.l-page-introduce__swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}

.l-page-introduce__swiper-slide {
  width: 18.75rem;
  height: 18.75rem;
}
.l-page-introduce__swiper-slide img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.625rem;
}

.l-page-subscriber {
  padding-block: 3.5rem 5.5rem;
  background: #f8f2ff;
}

.l-page-subscriber__inner {
  padding-inline: 2rem;
}

.l-page-subscriber__title {
  text-align: center;
}
.l-page-subscriber__title img {
  width: 10.25rem;
  margin-inline: auto;
}
.l-page-subscriber__title span {
  margin-top: 0.4375rem;
  color: #1b1311;
  font-size: 1.625rem;
  font-weight: 600;
  letter-spacing: 0.1625rem;
}

.l-page-subscriber__head-text {
  margin-top: 2.5rem;
  padding-inline: 2rem;
  color: #1b1311;
  font-size: max(1.125rem, 14px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.225rem;
}
.l-page-subscriber__head-text.--type-gifting {
  margin-top: 2.25rem;
  padding-inline: 1.875rem;
}

.l-page-subscriber__lists {
  margin-top: 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 1rem;
  width: max(23.75rem, 270px);
  margin-inline: auto;
}

.l-page-subscriber__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 1.0625rem;
     -moz-column-gap: 1.0625rem;
          column-gap: 1.0625rem;
}
@media (any-hover: hover) {
  .l-page-subscriber__list:hover {
    opacity: 1;
  }
  .l-page-subscriber__list:hover img {
    scale: 1.1;
  }
}

.l-page-subscriber__img {
  width: max(7.5rem, 95px);
  height: max(7.5rem, 95px);
  overflow: hidden;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-shadow: 0rem 0.125rem 0.625rem 0rem rgba(186, 168, 215, 0.24);
          box-shadow: 0rem 0.125rem 0.625rem 0rem rgba(186, 168, 215, 0.24);
}
.l-page-subscriber__img img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.5s ease;
  transition: scale 0.5s ease;
}

.l-page-subscriber__list-wrap {
  margin-top: 0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 0.5625rem;
}

.l-page-subscriber__attribute-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 0.25rem;
}

.l-page-subscriber__attribute {
  padding-block: 0.1875rem;
  padding-inline: 0.625rem;
  border-radius: 2rem;
  border: 0.0625rem solid #df8ad7;
  background: #FFF;
  display: grid;
  place-items: center;
  min-width: 6.25rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #6f6f6f;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.075rem;
}

.l-page-subscriber__name {
  color: #1b1311;
  font-size: max(1rem, 14px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1rem;
  padding-left: 0.3125rem;
}

.l-page-subscriber__list-text {
  padding-left: 0.25rem;
  color: #6f6f6f;
  font-size: 13px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.08125rem;
}
.l-page-subscriber__list-text span {
  padding-left: 0.625rem;
  color: #7c40d4;
}

.l-page-subscriber__summary {
  margin-top: 2.625rem;
  width: 23.75rem;
  width: max(23.75rem, 270px);
  margin-inline: auto;
}
.l-page-subscriber__summary a {
  position: relative;
  width: 100%;
  height: 3.875rem;
  border-radius: 6.25rem;
  border: 0.0625rem solid #f1738e;
  background: #FFF;
  display: grid;
  place-items: center;
  color: #ec738d;
  font-size: max(1.125rem, 14px);
  font-weight: 500;
  letter-spacing: 0.225rem;
  -webkit-transition: scale 0.5s ease;
  transition: scale 0.5s ease;
}
.l-page-subscriber__summary a::after {
  content: "";
  position: absolute;
  width: 0.5rem;
  height: 0.5rem;
  rotate: -45deg;
  border-bottom: 0.0625rem solid #ec738d;
  border-right: 0.0625rem solid #ec738d;
  top: 1.625rem;
  right: 1.0625rem;
  pointer-events: none;
}
@media (any-hover: hover) {
  .l-page-subscriber__summary a:hover {
    scale: 1.02;
    opacity: 1;
  }
}

.page-gifting .l-page-subscriber__summary {
  display: none;
}

.l-page-subscriber-platform {
  margin-top: 2.5rem;
  padding-block: 3.5rem;
  width: 26.875rem;
  margin-inline: auto;
  border-radius: 2rem;
  background: #e2d7f4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 2.5rem;
  text-align: center;
}

.l-page-subscriber-platform__title {
  color: #1b1311;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.325rem;
}

.l-page-subscriber-platform__text {
  color: #1b1311;
  font-size: max(1.125rem, 14px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.225rem;
  margin-top: 2.5rem;
}

.l-page-subscriber-platform__items {
  margin-top: 2.5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.375rem;
  width: 21.375rem;
  margin-inline: auto;
}

.l-page-subscriber-platform__item {
  padding-block: 1.5rem;
  height: 8.75rem;
  border-radius: 2rem 0rem;
  background: #FFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 0.625rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.l-page-subscriber-platform__img {
  margin-inline: auto;
}
.l-page-subscriber-platform__img.--type1 {
  width: 3.625rem;
}
.l-page-subscriber-platform__img.--type2 {
  width: 3.6875rem;
}
.l-page-subscriber-platform__img.--type3 {
  width: 3.375rem;
}
.l-page-subscriber-platform__img.--type4 {
  width: 3.75rem;
}

.l-page-subscriber-platform__name {
  color: #7c40d4;
  font-size: max(0.9375rem, 14px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.1875rem;
}

.l-page-flow {
  padding-block: 2.875rem 4.5rem;
}

.l-page-flow__inner {
  padding-inline: 1.25rem;
}

.l-page-flow__title {
  position: relative;
  color: #1b1311;
  text-align: center;
  font-size: 1.625rem;
  font-weight: 600;
  letter-spacing: 0.1625rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.l-page-flow__title::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 0.125rem;
  background: -webkit-gradient(linear, left top, right top, from(#8e49ff), to(#f1738e));
  background: linear-gradient(90deg, #8e49ff 0%, #f1738e 100%);
  left: 0;
  bottom: -0.625rem;
}

.l-page-flow__cards {
  margin-top: 1.875rem;
  display: grid;
  grid-template-columns: repeat(2, 14.375rem);
  row-gap: 1.5rem;
}

.l-page-flow__card {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 0.625rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 0.0625rem solid #b19db5;
  padding: 1.4375rem 0.125rem;
  min-height: 13.375rem;
}
@media (min-width: 500px) {
  .l-page-flow__card {
    padding: 1.4375rem 0.75rem;
  }
}
.l-page-flow__card:nth-of-type(1) {
  border-radius: 0.625rem 0 0 0.625rem;
}
.l-page-flow__card:nth-of-type(2) {
  border-left: none;
  border-radius: 0 0.625rem 0.625rem 0;
}
.l-page-flow__card:nth-of-type(3) {
  border-radius: 0.625rem 0 0 0.625rem;
}
.l-page-flow__card:nth-of-type(4) {
  border-left: none;
  border-radius: 0 0.625rem 0.625rem 0;
}
.l-page-flow__card:nth-of-type(5) {
  grid-column: 1/3;
  border-radius: 0.625rem;
}
.l-page-flow__card:nth-of-type(5)::after {
  content: "";
  position: absolute;
  top: -1.8125rem;
  left: 50%;
  translate: -50%;
  width: 1rem;
  height: 2rem;
  background: url(../img/casting/casting-flow-icon.png) no-repeat center center/contain;
  rotate: 90deg;
}
.l-page-flow__card:nth-of-type(1)::after, .l-page-flow__card:nth-of-type(3)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -0.625rem;
  translate: 0 -50%;
  width: 1rem;
  height: 2rem;
  background: url(../img/casting/casting-flow-icon.png) no-repeat center center/contain;
}

.l-page-flow__step {
  padding: 0.3125rem 1.25rem;
  border-radius: 2rem;
  background: #2d1f64;
  display: inline-block;
}
.l-page-flow__step p {
  text-transform: capitalize;
  color: #FFF;
  text-align: center;
  font-family: "Lato", sans-serif;
  font-size: max(0.9375rem, 14px);
  font-weight: 600;
  letter-spacing: 0.09375rem;
}

.l-page-flow__icon {
  width: 3.75rem;
}

.l-page-flow__text p {
  color: #1b1311;
  text-align: center;
  font-size: max(1.125rem, 14px);
  font-weight: 500;
  line-height: 1.6;
}
@media (min-width: 500px) {
  .l-page-flow__text p .--only-sp {
    display: none;
  }
}
.l-page-flow__text p .--except-sp {
  display: none;
}
@media (min-width: 500px) {
  .l-page-flow__text p .--except-sp {
    display: block;
  }
}

.l-page-faq {
  padding-block: 5.375rem;
  background: #f8f2ff;
}

.l-page-faq__inner {
  padding-inline: 2.1875rem;
}

.l-page-faq__title {
  color: #1b1311;
  text-align: center;
  font-size: 1.625rem;
  font-weight: 600;
  letter-spacing: 0.1625rem;
}

.l-page-faq__list {
  position: relative;
  margin-top: 1.75rem;
  padding: 2rem 1.5rem;
  border-radius: 1.125rem;
  background: #FFF;
}

.l-page-faq-accordion + .l-page-faq-accordion {
  margin-top: 1.5rem;
}
.l-page-faq-accordion.is-opened .l-page-faq-summary::after {
  rotate: 180deg;
}

.l-page-faq-summary {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.9375rem;
  cursor: pointer;
  border-bottom: 0.125rem solid #ebc3f2;
  padding: 0.75rem 3.5rem 0.5rem 0;
  color: #1b1311;
  font-size: max(1.125rem, 14px);
  font-style: normal;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.225rem;
}
.l-page-faq-summary::-webkit-details-marker {
  display: none;
}
.l-page-faq-summary::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -50%;
  width: 2.4375rem;
  aspect-ratio: 1/1;
  background: url(../img/casting/casting-faq-arrow.png) center/contain no-repeat;
  -webkit-transition: rotate 0.4s;
  transition: rotate 0.4s;
}
.l-page-faq-summary .--except-sp {
  display: none;
}
@media (min-width: 500px) {
  .l-page-faq-summary .--except-sp {
    display: block;
  }
}

.l-page-faq-summary__icon {
  margin-top: -0.625rem;
  color: #9e97ff;
  font-family: "Lato", sans-serif;
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 2;
}
@media (min-width: 500px) {
  .l-page-faq-summary__icon {
    margin-top: -0.75rem;
  }
}

.l-page-faq-accordion__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.375rem;
  padding-top: 1.3125rem;
}

.l-page-faq-accordion__icon {
  margin-top: -0.625rem;
  color: #f89baf;
  font-family: "Lato", sans-serif;
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 2;
}
@media (min-width: 500px) {
  .l-page-faq-accordion__icon {
    margin-top: -1rem;
  }
}

.l-page-faq-accordion__text {
  color: #1b1311;
  font-size: max(1rem, 14px);
  line-height: 1.8;
  letter-spacing: 0.2rem;
}

.l-page-banner {
  padding-block: 3.5rem;
}

.l-page-banner__main-contents {
  width: 26.875rem;
  margin-inline: auto;
  -webkit-transition: scale 0.5s ease;
  transition: scale 0.5s ease;
}
@media (any-hover: hover) {
  .l-page-banner__main-contents:hover {
    scale: 1.1;
  }
  .l-page-banner__main-contents:hover a {
    opacity: 1;
  }
}

.l-page-footer__wrap {
  padding-block: 3.5rem;
  background: #e2d7f4;
}

.l-page-footer__wrap-inner {
  text-align: center;
}

.l-page-footer__logo {
  width: 10.125rem;
  margin-inline: auto;
}

.l-page-footer__logo-wrap {
  margin-top: 2.5rem;
}

.l-page-footer__sub-logo {
  width: 15.75rem;
  margin-inline: auto;
}
.l-page-footer__sub-logo + .l-page-footer__sub-logo {
  margin-top: 0.625rem;
}

.l-page-footer__items {
  margin-top: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 1.25rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}

.l-page-footer__item:nth-of-type(1) span::before {
  content: "会社概要";
}
.l-page-footer__item:nth-of-type(2) span::before {
  content: "利用規約";
}
.l-page-footer__item:nth-of-type(3) span::before {
  content: "プライバシーポリシー";
}

.l-page-footer__item-link {
  color: #1b1311;
  text-align: center;
  font-size: max(1.125rem, 14px);
  font-weight: 500;
  line-height: 1.6;
}
.l-page-footer__item-link span {
  position: relative;
  opacity: 1;
  -webkit-transition: color 0.5s ease;
  transition: color 0.5s ease;
}
.l-page-footer__item-link span::before {
  position: absolute;
  inset: 0;
  opacity: 0;
  font-size: max(1.125rem, 14px);
  font-weight: 500;
  line-height: 1.6;
  background: -webkit-gradient(linear, left top, right top, from(#8e49ff), to(#f1738e));
  background: linear-gradient(90deg, #8e49ff, #f1738e);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
}
@media (any-hover: hover) {
  .l-page-footer__item-link:hover {
    opacity: 1;
  }
  .l-page-footer__item-link:hover span {
    opacity: 1;
    color: transparent;
  }
  .l-page-footer__item-link:hover span::before {
    opacity: 1;
  }
}

.l-page-footer__copyright {
  padding: 0.625rem;
  background: #383838;
  display: grid;
  place-items: center;
}
.l-page-footer__copyright small {
  color: #FFF;
  font-size: max(0.875rem, 14px);
  line-height: 1.8;
  letter-spacing: 0.175rem;
}
.l-page-footer__copyright small span {
  text-transform: capitalize;
}

.l-page-campaign {
  padding-block: 21.25rem 3.875rem;
}
.l-page-campaign.--type2 {
  padding-block: 4.5rem 3.5rem;
}

.l-page-campaign__box {
  width: 28.75rem;
  margin-inline: auto;
  padding-block: 3.5rem 5.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 2.8125rem;
  border-radius: 2rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#f8f2ff), to(#f2f5ff));
  background: linear-gradient(180deg, #f8f2ff 0%, #f2f5ff 100%);
}

.l-page-campaign__title {
  text-align: center;
  width: 17.6875rem;
  margin-inline: auto;
}
.l-page-campaign__title img {
  width: 16.3125rem;
  margin-inline: auto;
}
.l-page-campaign__title span {
  margin-top: 0.3125rem;
  white-space: nowrap;
  position: relative;
  color: #e26da0;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.3rem;
}
.l-page-campaign__title span::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 0.0625rem;
  background: -webkit-gradient(linear, left top, right top, from(#8e49ff), to(#f1738e));
  background: linear-gradient(90deg, #8e49ff 0%, #f1738e 100%);
  left: 0;
  bottom: -0.375rem;
}

.l-page-campaign__wrap {
  width: 17.6875rem;
  margin-inline: auto;
  text-align: center;
}

.l-page-campaign__head {
  display: inline-block;
  border-radius: 2rem;
  background: #2d1f64;
  padding: 0.25rem 1.5rem;
}
.l-page-campaign__head p {
  color: #FFF;
  font-size: max(1.125rem, 14px);
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.225rem;
}

.l-page-campaign__main {
  position: relative;
  margin-top: 0.4375rem;
}
.l-page-campaign__main img {
  position: relative;
  width: 13.375rem;
}
.l-page-campaign__main span {
  margin-top: -0.5625rem;
  white-space: nowrap;
  color: #2d1f64;
  font-size: 1.8125rem;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: 0.18125rem;
}
.l-page-campaign__main::before {
  content: "";
  z-index: 1;
  position: absolute;
  width: 6.5625rem;
  height: 6.5625rem;
  bottom: 4.1875rem;
  right: -2.5rem;
  background: url(../img/page/page-glass.png) no-repeat center center/contain;
}

.l-page-about {
  padding-bottom: 4.5rem;
  scroll-margin-top: 1rem;
}

.l-page-about__swiper-container,
.l-page-about__swiper,
.l-page-about__swiper-wrapper,
.l-page-about__swiper-slide {
  position: relative;
}

.l-page-about__swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}

.l-page-about__swiper-slide {
  width: 17.875rem;
  height: 2.375rem;
}

.l-page-about__heading {
  margin-top: 0.1875rem;
  width: 15.125rem;
  margin-inline: auto;
  text-align: center;
  white-space: nowrap;
}
.l-page-about__heading p {
  font-size: max(1.125rem, 14px);
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.1125rem;
  background: -webkit-gradient(linear, left top, right top, from(#8e49ff), to(#f1738e));
  background: linear-gradient(90deg, #8e49ff 0%, #f1738e 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.l-page-about__heading p .--PR {
  position: relative;
  padding-inline: 1.125rem 0.5625rem;
  border-radius: 2rem;
  background-clip: border-box;
  -webkit-background-clip: border-box;
  -webkit-text-fill-color: initial;
  background: #c18fc9;
  color: #fff;
  text-align: center;
  letter-spacing: 0.225rem;
  margin-right: 0.3125rem;
}
.l-page-about__heading p .--PR::before {
  content: "";
  position: absolute;
  left: 1.25rem;
  bottom: -0.375rem;
  width: 1.25rem;
  height: 0.9375rem;
  background: url(../img/gifting/gifting-about-icon.png) no-repeat center center/contain;
}
.l-page-about__heading p .--ls-1 {
  letter-spacing: -0.0675rem;
}
.l-page-about__heading p .--voice {
  background: -webkit-gradient(linear, left top, right top, from(#8e49ff), to(#f1738e));
  background: linear-gradient(90deg, #8e49ff 0%, #f1738e 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.l-page-about__title {
  margin-top: 0.625rem;
  color: #1b1311;
  text-align: center;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.325rem;
}

.l-page-about__img {
  margin-top: 1.5rem;
  width: 28.75rem;
  margin-inline: auto;
}

.l-page-about__textarea {
  margin-top: 3.0625rem;
}

.l-page-about__sub-title {
  text-align: center;
  color: #1b1311;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.325rem;
}
.l-page-about__sub-title span {
  font-size: max(1.25rem, 14px);
  background: -webkit-gradient(linear, left top, right top, from(#8e49ff), to(#f1738e));
  background: linear-gradient(90deg, #8e49ff 0%, #f1738e 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: 0.25rem;
}

.l-page-about__description {
  margin-top: 1.375rem;
  max-width: calc(386px + 3.125rem);
  margin-inline: auto;
  color: #1b1311;
  font-size: max(1rem, 14px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.2rem;
  padding-inline: 1.5625rem;
}

.l-page-home {
  padding-block: 7.5rem 10rem;
}

.l-page-home__inner {
  padding-inline: 0.75rem;
}
@media (min-width: 500px) {
  .l-page-home__inner {
    padding-inline: 2rem;
  }
}

.l-page-home__breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  display: flex;
  -webkit-column-gap: 1.8125rem;
     -moz-column-gap: 1.8125rem;
          column-gap: 1.8125rem;
  row-gap: 0.625rem;
}

.l-page-single .l-page-home__breadcrumb .l-page-home__breadcrumb-link {
  translate: -0.5rem;
}

.l-page-home__breadcrumb-link,
.l-page-home__breadcrumb-text {
  font-size: max(1.0625rem, 14px);
  font-weight: 500;
  letter-spacing: 0.10625rem;
}
.l-page-home__breadcrumb-link span,
.l-page-home__breadcrumb-text span {
  display: inline;
}

.l-page-home__breadcrumb-link {
  position: relative;
  color: #c18fc9;
}
.l-page-home__breadcrumb-link::after {
  content: "";
  position: absolute;
  width: 0.5rem;
  height: 1rem;
  left: calc(100% + 0.6875rem);
  top: 50%;
  translate: 0 -50%;
  background: url(../img/common/arrow-icon-purple.png) no-repeat center center/contain;
}

.l-page-home__breadcrumb-text {
  color: #85828c;
}

.l-page-home__head {
  margin-top: 4rem;
  text-align: center;
}

.l-page-home__head-img {
  width: 10.25rem;
  margin-inline: auto;
}

.l-page-home__head-text {
  margin-top: 0.5rem;
  color: #1b1311;
  font-size: 1.625rem;
  font-weight: 600;
  letter-spacing: 0.1625rem;
}

.l-page-home__tag {
  margin-top: 3.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.75rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.l-page-home__tag-link {
  min-width: 6.25rem;
  padding: 0.5625rem 1.125rem;
  border-radius: 2rem;
  border: 1px solid #df8ad7;
  background: #fff;
  text-align: center;
  color: #6f6f6f;
  font-size: max(1.125rem, 14px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1125rem;
  -webkit-transition: background 0.5s ease, color 0.5s ease, opacity 0.5s ease;
  transition: background 0.5s ease, color 0.5s ease, opacity 0.5s ease;
}
.l-page-home__tag-link.--current {
  background: #df8ad7;
  color: #fff;
}
@media (any-hover: hover) {
  .l-page-home__tag-link.--current:hover {
    opacity: 0.7;
  }
}
@media (any-hover: hover) {
  .l-page-home__tag-link:hover {
    opacity: 1;
    background: #df8ad7;
    color: #fff;
  }
}

.l-page-home__cards {
  margin-top: 4rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.875rem;
}
@media (min-width: 500px) {
  .l-page-home__cards {
    gap: 3.25rem;
  }
}

.l-page-home__card {
  width: 100%;
}
.l-page-home__card a {
  width: 100%;
  height: 100%;
}
@media (min-width: 500px) {
  .l-page-home__card a {
    width: 12rem;
  }
}
@media (any-hover: hover) {
  .l-page-home__card a:hover {
    opacity: 1;
  }
  .l-page-home__card a:hover .l-page-home__card-img img {
    scale: 1.1;
  }
}

.l-page-home__card-img {
  width: 13.9375rem;
  height: 13.9375rem;
  margin-inline: auto;
  overflow: hidden;
  border-radius: 0.625rem;
}
@media (min-width: 500px) {
  .l-page-home__card-img {
    width: 12rem;
    height: 12rem;
  }
}
.l-page-home__card-img img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.5s ease;
  transition: scale 0.5s ease;
}

.l-page-home__card-textarea {
  margin-top: 1.0625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 0.5rem;
}

.l-page-home__card-tag-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 0.5rem;
}

.l-page-home__card-tag {
  min-width: 6.25rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.25rem 0.625rem;
  text-align: center;
  border-radius: 2rem;
  border: 1px solid #df8ad7;
  background: #fff;
  color: #6f6f6f;
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.09375rem;
}
.l-page-home__card-tag p {
  display: inline-block;
}

.l-page-home__card-name {
  padding-left: 0.1875rem;
  color: #1b1311;
  font-size: max(1.125rem, 14px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1125rem;
}

.l-page-home__card-follower {
  padding-left: 0.1875rem;
  font-size: max(1rem, 10px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1rem;
  white-space: nowrap;
}
.l-page-home__card-follower p {
  display: inline-block;
  color: #6f6f6f;
}
.l-page-home__card-follower span {
  padding-left: 0.25rem;
  color: #7c40d4;
}

.pagination {
  margin-top: 4rem;
  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-column-gap: 0.75rem;
     -moz-column-gap: 0.75rem;
          column-gap: 0.75rem;
}

.page-numbers {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  border: 0.09375rem solid #c18fc9;
  color: #c18fc9;
  font-family: "Lato", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.125rem;
  display: grid;
  place-items: center;
  -webkit-transition: background 0.5s ease, color 0.5s ease;
  transition: background 0.5s ease, color 0.5s ease;
}
.page-numbers.current {
  background: #c18fc9;
  color: #fff;
  pointer-events: none;
}
@media (any-hover: hover) {
  .page-numbers:hover {
    opacity: 1;
    background: #c18fc9;
    color: #fff;
  }
}

.prev,
.next {
  padding: 0;
  border: none;
  border-radius: 0;
  width: 0.9375rem;
  height: 3rem;
}
.prev img,
.next img {
  -webkit-transition: translate 0.3s ease;
  transition: translate 0.3s ease;
  translate: 0;
}
.prev.is-disabled,
.next.is-disabled {
  pointer-events: none;
}

.first,
.last {
  padding: 0;
  border: none;
  border-radius: 0;
  width: 1.4375rem;
  height: 3rem;
}
.first img,
.last img {
  -webkit-transition: translate 0.3s ease;
  transition: translate 0.3s ease;
  translate: 0;
}
.first.is-disabled,
.last.is-disabled {
  pointer-events: none;
}

@media (any-hover: hover) {
  .prev:hover,
  .first:hover {
    opacity: 1;
    background: none;
  }
  .prev:hover img,
  .first:hover img {
    translate: -0.25rem;
  }
}

@media (any-hover: hover) {
  .next:hover,
  .last:hover {
    opacity: 1;
    background: none;
  }
  .next:hover img,
  .last:hover img {
    translate: 0.25rem;
  }
}

.dots {
  padding: 0;
  width: 1.25rem;
  border: none;
  border-radius: 0;
  display: grid;
  place-items: center;
}
@media (any-hover: hover) {
  .dots:hover {
    background: none;
    color: #c18fc9;
  }
}

.l-page-single {
  padding-block: 7.375rem 10rem;
}

.l-page-single__inner {
  padding-inline: 1.875rem;
}

.l-page-single__head {
  margin-top: 4rem;
  text-align: center;
}

.l-page-single__head-img {
  width: 10.25rem;
  margin-inline: auto;
}

.l-page-single__head-text {
  margin-top: 0.5rem;
  color: #1b1311;
  font-size: 1.625rem;
  font-weight: 600;
  letter-spacing: 0.1625rem;
}

.l-page-single__box {
  margin-top: 3.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 1.0625rem;
}

.l-page-single__box-img {
  width: 27.5rem;
  height: 27.5rem;
  overflow: hidden;
  border-radius: 0.625rem;
}
.l-page-single__box-img img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.l-page-single__box-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 0.5rem;
}

.l-page-single__box-tag-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 0.5rem;
}

.l-page-single__box-tag {
  min-width: 6.25rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.25rem 0.625rem;
  text-align: center;
  border-radius: 2rem;
  border: 1px solid #df8ad7;
  background: #fff;
  color: #6f6f6f;
  font-size: max(0.9375rem, 14px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.09375rem;
}

.l-page-single__box-name {
  padding-left: 0.3125rem;
  color: #1b1311;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.125rem;
}

.l-page-single__box-follower {
  padding-left: 0.3125rem;
  font-weight: 500;
  line-height: 2;
}
.l-page-single__box-follower span {
  color: #7c40d4;
  font-size: 2rem;
  letter-spacing: 0.2rem;
}
.l-page-single__box-follower p {
  display: inline-block;
  text-transform: capitalize;
  padding-left: 0.3125rem;
  color: #6f6f6f;
  font-size: max(1rem, 14px);
  letter-spacing: 0.1rem;
}

.l-page-single__box-description {
  color: #1b1311;
  font-family: "Noto Sans";
  font-size: max(1rem, 14px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.2rem;
}

.l-page-single__box-follower-lists {
  padding: 2rem 1.5rem;
  border-radius: 1.25rem;
  background: #f5f0ff;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.0625rem 0.25rem;
}

.l-page-single__box-follower-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 0.5rem;
     -moz-column-gap: 0.5rem;
          column-gap: 0.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-page-single__box-follower-list img {
  width: 2.5rem;
  height: 2.5rem;
}
.l-page-single__box-follower-list span {
  color: #7c40d4;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1375rem;
}

.l-page-single__btn {
  position: relative;
  margin-top: 4rem;
  margin-inline: auto;
  width: 23.75rem;
  height: 3.875rem;
  padding: 0.625rem;
  color: #fff;
  font-weight: 700;
  display: grid;
  place-items: center;
  font-size: max(1.125rem, 14px);
  letter-spacing: 0.225rem;
  border-radius: 6.25rem;
  background: -webkit-gradient(linear, left top, right top, from(#fa9bb1), to(#f06f8b));
  background: linear-gradient(90deg, #fa9bb1 0%, #f06f8b 100%);
  -webkit-box-shadow: 0rem 0.25rem 0rem 0rem #ec738d;
          box-shadow: 0rem 0.25rem 0rem 0rem #ec738d;
  overflow: hidden;
  -webkit-transition: translate 0.4s, -webkit-box-shadow 0.4s;
  transition: translate 0.4s, -webkit-box-shadow 0.4s;
  transition: box-shadow 0.4s, translate 0.4s;
  transition: box-shadow 0.4s, translate 0.4s, -webkit-box-shadow 0.4s;
}
.l-page-single__btn::before {
  content: "";
  position: absolute;
  top: -11.25rem;
  left: 0;
  width: 1.875rem;
  height: 100%;
  display: inline-block;
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-animation: shiny 2.5s ease-in-out infinite;
          animation: shiny 2.5s ease-in-out infinite;
  pointer-events: none;
}
.l-page-single__btn::after {
  content: "";
  position: absolute;
  width: 0.66875rem;
  height: 0.66875rem;
  rotate: -45deg;
  border-bottom: max(0.08125rem, 1px) solid #fff;
  border-right: max(0.08125rem, 1px) solid #fff;
  top: 1.6875rem;
  right: 1rem;
  pointer-events: none;
}
@media (min-width: 1280px) {
  .l-page-single__btn::after {
    width: 0.5rem;
    height: 0.5rem;
    border-bottom: 0.0625rem solid #fff;
    border-right: 0.0625rem solid #fff;
    top: 1.75rem;
    right: 1.0625rem;
  }
}
@media (any-hover: hover) {
  .l-page-single__btn:hover {
    -webkit-box-shadow: unset;
            box-shadow: unset;
    translate: 0 0.25rem;
    opacity: 1;
  }
}

.l-page-contact {
  padding-top: 6.25rem;
}
.l-page-contact.--thanks {
  padding-block: 6.25rem 7.5rem;
}
.l-page-contact.--request {
  padding-top: 6.25rem;
}

.l-page-contact__logo {
  width: 18.125rem;
  margin-inline: auto;
}

.l-page-contact__title {
  text-align: center;
  margin-top: 0.5rem;
  color: #1b1311;
  font-size: 1.625rem;
  font-weight: 600;
  letter-spacing: 0.1625rem;
}

.l-page-contact__text {
  text-align: center;
  margin-top: 2.5rem;
  color: #1b1311;
  font-size: max(1.125rem, 14px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.225rem;
}
.l-page-contact__text.--thanks {
  width: 24.5rem;
  margin-inline: auto;
  text-align: left;
}

.l-page-contact__form {
  margin-top: 2.5rem;
  padding: 4rem 3rem 5.625rem;
  background: #f5f0ff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 2.5rem;
}

.l-page-contact__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 0.3125rem;
}

.l-page-contact__head {
  color: #1b1311;
  font-size: max(1.125rem, 14px);
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.225rem;
}
.l-page-contact__head.--must span {
  position: relative;
}
.l-page-contact__head.--must span::after {
  content: "*";
  position: absolute;
  color: #f72828;
  font-size: max(1.125rem, 14px);
  font-weight: 500;
  letter-spacing: 0.1875rem;
  width: 0.5625rem;
  height: 1.25rem;
  top: 0.0625rem;
  left: calc(100% + 0.125rem);
}
.l-page-contact__head.--company span {
  position: relative;
}
.l-page-contact__head.--company span::before {
  content: "※競合他社の資料請求はお控えください";
  position: absolute;
  width: max(18.75rem, 220px);
  height: 1rem;
  top: 0.375rem;
  left: calc(100% + 0.9375rem);
  color: #ff0c0c;
  font-size: max(0.75rem, 10px);
  font-weight: 500;
  letter-spacing: 0.15rem;
}

.l-page-contact__data.--name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 0.8125rem;
     -moz-column-gap: 0.8125rem;
          column-gap: 0.8125rem;
}

.l-page-contact__data-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 1rem;
     -moz-column-gap: 1rem;
          column-gap: 1rem;
}
.l-page-contact__data-wrap .l-page-contact__data-wrap-text {
  color: #615b6d;
  font-size: max(1.125rem, 14px);
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.225rem;
  translate: 0 0.5rem;
}

input[type=text],
input[type=email],
input[type=tel],
input[type=url],
select {
  border: none;
  width: 100%;
  border-radius: 0.3125rem;
  background: #fff;
  color: #615b6d;
  font-size: max(1.125rem, 14px);
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.225rem;
  height: 3.125rem;
  padding: 0.4375rem 1.125rem;
}

textarea {
  resize: vertical;
  border: none;
  width: 100%;
  border-radius: 0.3125rem;
  background: #fff;
  color: #615b6d;
  font-size: max(1.125rem, 14px);
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.225rem;
  padding: 0.4375rem 1.125rem;
  height: 10.375rem;
  margin-bottom: -0.3125rem;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  cursor: pointer;
}

.l-page-contact__select-wrap {
  position: relative;
}
.l-page-contact__select-wrap::after {
  content: "";
  position: absolute;
  background: url(../img/page/contact-icon.png) no-repeat center center/contain;
  width: 1.625rem;
  height: 0.75rem;
  top: 1.25rem;
  right: 0.75rem;
  pointer-events: none;
  -webkit-transition: rotate 0.4s;
  transition: rotate 0.4s;
}
.l-page-contact__select-wrap.is-open::after {
  rotate: 180deg;
}

input[type=checkbox] {
  width: 1px;
  height: 1px;
  position: absolute;
  clip: rect(0, 0, 0, 0);
}

input[type=checkbox]:focus-visible + span span::before {
  outline: 0.125rem solid #000;
}

input[type=checkbox]:checked + span .l-page-contact__acceptance-text::before {
  background: url(../img/page/contact-check.png) no-repeat center center/contain;
}

.l-page-contact__data-checkbox .l-page-contact__acceptance-text {
  display: inline-block;
  padding-left: 3.3125rem;
  position: relative;
  color: #1b1311;
  font-size: max(1.125rem, 14px);
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.225rem;
  cursor: pointer;
}
.l-page-contact__data-checkbox .l-page-contact__acceptance-text::before {
  position: absolute;
  content: "";
  border-radius: 0.3125rem;
  width: 2rem;
  height: 2rem;
  left: 0.75rem;
  top: 50%;
  translate: 0 -50%;
  background: url(../img/page/contact-non-check.png) no-repeat center center/contain;
}
.l-page-contact__data-checkbox .l-page-contact__acceptance-text::after {
  content: "*";
  position: absolute;
  color: #f72828;
  font-size: max(0.9375rem, 14px);
  font-weight: 500;
  letter-spacing: 0.1875rem;
  width: 0.5625rem;
  height: 1.25rem;
  top: 0.3125rem;
  left: calc(100% + 0.375rem);
}
.l-page-contact__data-checkbox .l-page-contact__acceptance-text a {
  color: #7c40d4;
  text-decoration-line: underline;
  text-decoration-style: solid;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}

input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  background: transparent;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

.row.jc-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.l-page-contact__submit {
  text-align: center;
  position: relative;
  overflow: hidden;
}
.l-page-contact__submit::before {
  content: "";
  position: absolute;
  top: -11.25rem;
  left: 0;
  width: 1.875rem;
  height: 100%;
  display: inline-block;
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-animation: shiny 2.5s ease-in-out infinite;
          animation: shiny 2.5s ease-in-out infinite;
  pointer-events: none;
}
.l-page-contact__submit::after {
  content: "";
  position: absolute;
  width: 0.66875rem;
  height: 0.66875rem;
  rotate: -45deg;
  border-bottom: max(0.08125rem, 1px) solid #fff;
  border-right: max(0.08125rem, 1px) solid #fff;
  top: 1.6875rem;
  right: 1rem;
  pointer-events: none;
  -webkit-transition: top 0.5s ease;
  transition: top 0.5s ease;
}
@media (min-width: 1280px) {
  .l-page-contact__submit::after {
    width: 0.5rem;
    height: 0.5rem;
    border-bottom: 0.0625rem solid #fff;
    border-right: 0.0625rem solid #fff;
    top: 1.75rem;
    right: 1.0625rem;
  }
}
.l-page-contact__submit input[type=submit] {
  width: 25.25rem;
  height: 3.875rem;
  padding: 0.625rem;
  border-radius: 3.5rem;
  background: -webkit-gradient(linear, left top, right top, from(#9807b4), to(#7551d2));
  background: linear-gradient(90deg, #9807b4 0%, #7551d2 100%);
  -webkit-box-shadow: 0 0.25rem 0 0 #9c2ebc;
          box-shadow: 0 0.25rem 0 0 #9c2ebc;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: max(1.125rem, 14px);
  font-weight: 700;
  letter-spacing: 0.225rem;
  -webkit-transition: translate 0.4s, -webkit-box-shadow 0.4s;
  transition: translate 0.4s, -webkit-box-shadow 0.4s;
  transition: box-shadow 0.4s, translate 0.4s;
  transition: box-shadow 0.4s, translate 0.4s, -webkit-box-shadow 0.4s;
}
@media (any-hover: hover) {
  .l-page-contact__submit:hover::after {
    top: 2.5rem;
  }
}
@media (any-hover: hover) and (min-width: 1280px) {
  .l-page-contact__submit:hover::after {
    top: 2rem;
  }
}
@media (any-hover: hover) {
  .l-page-contact__submit:hover input[type=submit] {
    -webkit-box-shadow: unset;
            box-shadow: unset;
    translate: 0 0.25rem;
    opacity: 1;
  }
}

.wpcf7-form-control-wrap {
  width: 100%;
}

.wpcf7 form .wpcf7-response-output {
  margin: 0;
}

.wpcf7-list-item {
  margin: 0;
}

input.wpcf7-not-valid,
select.wpcf7-not-valid,
textarea.wpcf7-not-valid {
  background: #ffdcdc;
}

.l-page-contact-thanks__btn {
  position: relative;
  margin-top: 3.5rem;
  width: 23.75rem;
  height: 3.875rem;
  margin-inline: auto;
  text-transform: uppercase;
  padding: 0.625rem;
  display: grid;
  place-items: center;
  border-radius: 6.25rem;
  border: 1px solid #f1738e;
  background: #fff;
  color: #ec738d;
  font-size: max(1.125rem, 14px);
  font-weight: 500;
  letter-spacing: 0.225rem;
  scale: 1;
  -webkit-transition: scale 0.5s ease;
  transition: scale 0.5s ease;
}
.l-page-contact-thanks__btn::after {
  content: "";
  position: absolute;
  width: 0.66875rem;
  height: 0.66875rem;
  rotate: -45deg;
  border-bottom: max(0.08125rem, 1px) solid #ec738d;
  border-right: max(0.08125rem, 1px) solid #ec738d;
  top: 1.625rem;
  right: 1rem;
  pointer-events: none;
}
@media (min-width: 1280px) {
  .l-page-contact-thanks__btn::after {
    width: 0.5rem;
    height: 0.5rem;
    border-bottom: 0.0625rem solid #ec738d;
    border-right: 0.0625rem solid #ec738d;
    top: 1.6875rem;
    right: 1.0625rem;
  }
}
@media (any-hover: hover) {
  .l-page-contact-thanks__btn:hover {
    opacity: 1;
    scale: 1.05;
  }
}

.l-page-contact-request__data-area {
  margin-top: 2.5rem;
  padding-inline: 1.875rem;
  padding-bottom: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 2.5rem;
}

.l-page-contact-request__data-main-img {
  width: 100%;
  margin-inline: auto;
  border-radius: 0.7125rem;
  overflow: hidden;
}

.l-page-contact-request__data-wrap {
  padding: 2rem 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 1.0625rem;
  border-radius: 1.25rem;
  background: #f5f0ff;
}

.l-page-contact-request__data-title {
  color: #2d1f64;
  text-align: center;
  font-size: 1.625rem;
  font-weight: 600;
  letter-spacing: 0.1625rem;
}

.l-page-contact-request__data-img-area {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.0625rem 0.875rem;
}

.l-page-contact-request__data-img {
  border-radius: 0.7rem;
  overflow: hidden;
  width: 11.8125rem;
  height: 7.4375rem;
}
.l-page-contact-request__data-img img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.l-page-contact-request__data-description {
  padding-inline: 0.5rem;
  color: #1b1311;
  font-size: max(1rem, 14px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.2rem;
}

.l-page-contact-request-thanks__btn {
  position: relative;
  margin-top: 3.5rem;
  width: 23.75rem;
  height: 3.875rem;
  margin-inline: auto;
  padding: 0.625rem;
  display: grid;
  place-items: center;
  border-radius: 3.5rem;
  background: -webkit-gradient(linear, left top, right top, from(#9807b4), to(#7551d2));
  background: linear-gradient(90deg, #9807b4 0%, #7551d2 100%);
  -webkit-box-shadow: 0 0.25rem 0 0 #9c2ebc;
          box-shadow: 0 0.25rem 0 0 #9c2ebc;
  color: #fff;
  font-size: max(1.125rem, 14px);
  font-weight: 700;
  letter-spacing: 0.225rem;
  -webkit-transition: translate 0.4s, -webkit-box-shadow 0.4s;
  transition: translate 0.4s, -webkit-box-shadow 0.4s;
  transition: box-shadow 0.4s, translate 0.4s;
  transition: box-shadow 0.4s, translate 0.4s, -webkit-box-shadow 0.4s;
  overflow: hidden;
}
.l-page-contact-request-thanks__btn::before {
  content: "";
  position: absolute;
  top: -11.25rem;
  left: 0;
  width: 1.875rem;
  height: 100%;
  display: inline-block;
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-animation: shiny 2.5s ease-in-out infinite;
          animation: shiny 2.5s ease-in-out infinite;
  pointer-events: none;
}
.l-page-contact-request-thanks__btn::after {
  content: "";
  position: absolute;
  width: 0.66875rem;
  height: 0.66875rem;
  rotate: -45deg;
  border-bottom: max(0.08125rem, 1px) solid #fff;
  border-right: max(0.08125rem, 1px) solid #fff;
  top: 1.6875rem;
  right: 1rem;
  pointer-events: none;
}
@media (min-width: 1280px) {
  .l-page-contact-request-thanks__btn::after {
    width: 0.5rem;
    height: 0.5rem;
    border-bottom: 0.0625rem solid #fff;
    border-right: 0.0625rem solid #fff;
    top: 1.75rem;
    right: 1.0625rem;
  }
}
@media (any-hover: hover) {
  .l-page-contact-request-thanks__btn:hover {
    -webkit-box-shadow: unset;
            box-shadow: unset;
    translate: 0 0.25rem;
    opacity: 1;
  }
}

.wpcf7 form.sent .wpcf7-response-output {
  display: none;
}

.c-button {
  position: relative;
  width: 23.375rem;
  height: 3.875rem;
  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: 0.375rem;
  border-radius: 2rem;
  background: -webkit-gradient(linear, left top, right top, from(#E978AC), to(#F06F8B));
  background: linear-gradient(90deg, #E978AC 0%, #F06F8B 100%);
  -webkit-box-shadow: 0px 4px 0px 0px #C47385;
          box-shadow: 0px 4px 0px 0px #C47385;
  color: #FFF;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.225rem;
  margin: -1.25rem auto 0;
  overflow: hidden;
  z-index: -1;
}
.c-button::before {
  content: "";
  position: absolute;
  top: -11.25rem;
  left: 0;
  width: 1.875rem;
  height: 100%;
  display: inline-block;
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-animation: shiny 2.5s ease-in-out infinite;
          animation: shiny 2.5s ease-in-out infinite;
}
.c-button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1rem;
  translate: 0 -50%;
  width: 0.4375rem;
  aspect-ratio: 7/13;
  background: url(../img/common/arrow-icon.png) center/contain no-repeat;
}

@-webkit-keyframes shiny {
  0% {
    scale: 0;
    rotate: 45deg;
    opacity: 0;
  }
  80% {
    rotate: 45deg;
    opacity: 0.5;
  }
  81% {
    scale: 4;
    rotate: 45deg;
    opacity: 1;
  }
  100% {
    scale: 50;
    rotate: 45deg;
    opacity: 0;
  }
}

@keyframes shiny {
  0% {
    scale: 0;
    rotate: 45deg;
    opacity: 0;
  }
  80% {
    rotate: 45deg;
    opacity: 0.5;
  }
  81% {
    scale: 4;
    rotate: 45deg;
    opacity: 1;
  }
  100% {
    scale: 50;
    rotate: 45deg;
    opacity: 0;
  }
}
.c-button--large {
  width: 26.875rem;
  height: 4.5rem;
  border-radius: 2.5rem;
  font-size: 1.375rem;
  letter-spacing: 0.275rem;
  margin-top: -0.25rem;
}
.c-button--large .c-button__icon {
  width: 1.4375rem;
  margin-top: 0.25rem;
}

.c-button-box {
  position: relative;
  z-index: 0;
}
.c-button-box:has(.c-button--large) .c-button-box__text {
  width: 13.625rem;
}

.c-button-box__text {
  width: 10.25rem;
  aspect-ratio: 218/53;
  display: block;
  margin-inline: auto;
}

.c-button__icon {
  width: 1.625rem;
  aspect-ratio: 1/1;
  background: url(../img/common/pen-icon.png) center/contain no-repeat;
}

.c-text--purple {
  color: #C18FC9;
}

.c-text--blue {
  color: #8DABDF;
}

.c-page-button__btn-area {
  padding-inline: 3.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 1.5rem;
}
.c-page-button__btn-area.--type2 {
  margin-top: 2rem;
}
.c-page-button__btn-area.--type3 {
  margin-top: 2.5rem;
}
.c-page-button__btn-area.--type4 {
  margin-top: 0;
}
.c-page-button__btn-area.--type5 {
  margin-top: 0;
}

.c-page-button__btn {
  position: relative;
  height: 3.875rem;
  padding: 0.625rem;
  color: #fff;
  font-size: max(1.125rem, 14px);
  font-weight: 700;
  letter-spacing: 0.225rem;
  display: grid;
  place-items: center;
  overflow: hidden;
  -webkit-transition: translate 0.4s, -webkit-box-shadow 0.4s;
  transition: translate 0.4s, -webkit-box-shadow 0.4s;
  transition: box-shadow 0.4s, translate 0.4s;
  transition: box-shadow 0.4s, translate 0.4s, -webkit-box-shadow 0.4s;
}
.c-page-button__btn.--pink {
  border-radius: 6.25rem;
  background: -webkit-gradient(linear, left top, right top, from(#fa9bb1), to(#f06f8b));
  background: linear-gradient(90deg, #fa9bb1 0%, #f06f8b 100%);
  -webkit-box-shadow: 0rem 0.25rem 0rem 0rem #ec738d;
          box-shadow: 0rem 0.25rem 0rem 0rem #ec738d;
}
.c-page-button__btn.--purple {
  border-radius: 3.5rem;
  background: -webkit-gradient(linear, left top, right top, from(#9807b4), to(#7551d2));
  background: linear-gradient(90deg, #9807b4 0%, #7551d2 100%);
  -webkit-box-shadow: 0rem 0.25rem 0rem 0rem #9c2ebc;
          box-shadow: 0rem 0.25rem 0rem 0rem #9c2ebc;
}
.c-page-button__btn::before {
  content: "";
  position: absolute;
  top: -11.25rem;
  left: 0;
  width: 1.875rem;
  height: 100%;
  display: inline-block;
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-animation: shiny 2.5s ease-in-out infinite;
          animation: shiny 2.5s ease-in-out infinite;
  pointer-events: none;
}
.c-page-button__btn::after {
  content: "";
  position: absolute;
  width: 0.5rem;
  height: 0.5rem;
  rotate: -45deg;
  border-bottom: 0.0625rem solid #fff;
  border-right: 0.0625rem solid #fff;
  top: 1.6875rem;
  right: 1.0625rem;
  pointer-events: none;
}
@media (any-hover: hover) {
  .c-page-button__btn:hover {
    -webkit-box-shadow: unset;
            box-shadow: unset;
    translate: 0 0.25rem;
    opacity: 1;
  }
}

.p-main-visual {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
}
@media screen and (min-width: 768px) {
  .p-main-visual.is-active .p-main-visual__bg-slider {
    top: max(71.6%, 34.375rem);
  }
}
.p-main-visual.is-active .p-main-visual__body {
  opacity: 0;
  visibility: hidden;
}
@media (min-width: 1280px) {
  .p-main-visual.is-active .p-main-visual__body {
    left: 0;
    translate: -3.8% 0;
    scale: 0.88;
    opacity: 1;
    visibility: visible;
  }
}
@media screen and (min-width: 1440px) {
  .p-main-visual.is-active .p-main-visual__body {
    width: calc(35vw + (35vw - 31.5rem) / 2);
  }
}
.p-main-visual.is-active .p-main-visual__body-button-box {
  opacity: 0;
  pointer-events: none;
}
.p-main-visual.is-active .p-main-visual__box {
  opacity: 0;
}

.p-main-visual__bg {
  height: 100dvh;
}

.p-main-visual__bg-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-main-visual__bg-slider {
  position: relative;
  top: 88.3116883117%;
}
@media screen and (min-width: 768px) {
  .p-main-visual__bg-slider {
    top: max(71.6%, 36.375rem);
    -webkit-transition: top 0.8s;
    transition: top 0.8s;
  }
}

.p-main-visual__bg-slider-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}

.p-main-visual__bg-slide {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.p-main-visual__bg-slide-text {
  white-space: nowrap;
  color: #FFF;
  font-family: "Lato", sans-serif;
  font-size: 5.25rem;
  letter-spacing: 0.625rem;
  opacity: 0.32;
}
@media screen and (min-width: 768px) {
  .p-main-visual__bg-slide-text {
    font-size: 6.25rem;
  }
}

.p-main-visual__body {
  position: absolute;
  top: calc(50% - 17.53125rem);
  left: 50%;
  translate: -50% 0;
  -webkit-transition: top 0.8s, left 0.8s, translate 0.8s, scale 0.8s, opacity 0.8s, visibility 0.8s;
  transition: top 0.8s, left 0.8s, translate 0.8s, scale 0.8s, opacity 0.8s, visibility 0.8s;
}
@media screen and (min-width: 768px) {
  .p-main-visual__body {
    top: calc(50% - 13.0625rem - 3rem);
  }
}

.p-main-visual__body-logo {
  width: 9rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-main-visual__body-logo {
    width: 9.6875rem;
  }
}

.p-main-visual__body-text--small {
  text-align: center;
  color: #363636;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.1875rem;
  font-weight: 700;
  letter-spacing: 0.17rem;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-main-visual__body-text--small {
    font-size: 1.0625rem;
  }
}

.p-main-visual__body-text {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 2rem;
  background-color: rgba(255, 255, 255, 0.8);
  color: #727272;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.1125rem;
  padding: 0.3125rem 1rem;
  margin: 0.625rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-main-visual__body-text {
    font-size: 1.125rem;
  }
}
.p-main-visual__body-text::before, .p-main-visual__body-text::after {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
}
.p-main-visual__body-text::before {
  left: -1.4375rem;
  width: 1.8125rem;
  aspect-ratio: 31/26.5;
  background: url(../img/top/main-visual-image--01.png) center/contain no-repeat;
}
@media screen and (min-width: 768px) {
  .p-main-visual__body-text::before {
    width: 1.9375rem;
  }
}
.p-main-visual__body-text::after {
  right: -1rem;
  width: 1.5625rem;
  aspect-ratio: 27/29.5;
  background: url(../img/top/main-visual-image--02.png) center/contain no-repeat;
}
@media screen and (min-width: 768px) {
  .p-main-visual__body-text::after {
    right: -1.25rem;
    width: 1.6875rem;
  }
}

.p-main-visual__body-heading {
  width: 26.8125rem;
  margin: 1.25rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-main-visual__body-heading {
    width: 31.5rem;
  }
}

.p-main-visual__body-list {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.25rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-main-visual__body-list {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}

.p-main-visual__body-list-text {
  border-radius: 0.875rem;
  background-color: rgba(255, 255, 255, 0.8);
  color: #727272;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.08125rem;
  padding: 0.375rem 0.8125rem 0.4375rem;
}
@media screen and (min-width: 768px) {
  .p-main-visual__body-list-text {
    font-size: 0.8125rem;
  }
}
@media screen and (min-width: 768px) {
  .p-main-visual__body-list-text:nth-of-type(1) {
    border-radius: 2rem 0 0 2rem;
  }
}
@media screen and (min-width: 768px) {
  .p-main-visual__body-list-text:nth-of-type(2) {
    border-radius: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-main-visual__body-list-text:nth-of-type(3) {
    border-radius: 0 2rem 2rem 0;
  }
}

.p-main-visual__body-button-box {
  scale: 1.14;
  margin-top: 8rem;
  -webkit-transition: opacity 0.8s;
  transition: opacity 0.8s;
}
@media screen and (min-width: 768px) {
  .p-main-visual__body-button-box {
    scale: 1;
    margin-top: 0.75rem;
  }
}

.p-main-visual__box {
  position: absolute;
  top: calc(50% - 17.53125rem + 23.25rem);
  left: 50%;
  translate: -50% 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2.0625rem;
  width: 100%;
  opacity: 1;
  -webkit-transition: opacity 0.8s;
  transition: opacity 0.8s;
}
@media screen and (min-width: 768px) {
  .p-main-visual__box {
    top: calc(50% - 13.0625rem + 2rem);
    width: clamp(46.25rem, 41.9642857143rem + 8.9285714286vw, 50rem);
  }
}

.p-main-visual__box-icon {
  translate: 0 0;
  -webkit-animation: huwahuwa ease 5s infinite;
          animation: huwahuwa ease 5s infinite;
}
@media screen and (min-width: 768px) {
  .p-main-visual__box-icon {
    position: absolute;
  }
}
.p-main-visual__box-icon:nth-of-type(1) {
  width: 5.75rem;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
@media screen and (min-width: 768px) {
  .p-main-visual__box-icon:nth-of-type(1) {
    top: 0;
    left: -1rem;
    width: 8.0625rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-main-visual__box-icon:nth-of-type(1) {
    left: -3rem;
  }
}
.p-main-visual__box-icon:nth-of-type(2) {
  width: 5rem;
}
@media screen and (min-width: 768px) {
  .p-main-visual__box-icon:nth-of-type(2) {
    top: 11.25rem;
    left: 2.25rem;
    width: 7rem;
  }
}
.p-main-visual__box-icon:nth-of-type(3) {
  width: 4.625rem;
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
}
@media screen and (min-width: 768px) {
  .p-main-visual__box-icon:nth-of-type(3) {
    top: 0;
    right: 0;
    width: 6.5rem;
  }
}
.p-main-visual__box-icon:nth-of-type(4) {
  width: 4.75rem;
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}
@media screen and (min-width: 768px) {
  .p-main-visual__box-icon:nth-of-type(4) {
    top: 13.25rem;
    right: 2.25rem;
    width: 6.6875rem;
  }
}

@-webkit-keyframes huwahuwa {
  0% {
    translate: 0 0;
  }
  60% {
    translate: 0 1rem;
  }
  100% {
    translate: 0 0;
  }
}

@keyframes huwahuwa {
  0% {
    translate: 0 0;
  }
  60% {
    translate: 0 1rem;
  }
  100% {
    translate: 0 0;
  }
}
.p-about {
  position: relative;
  background-color: #FFF;
  padding-block: 25.25rem 6.25rem;
  z-index: 0;
  scroll-margin-top: -0.125rem;
}
.p-about::after {
  content: "";
  position: absolute;
  bottom: -0.0625rem;
  left: 0;
  width: 31.25rem;
  aspect-ratio: 500/146;
  background: url(../img/top/recommend-bg--01.png) center/contain no-repeat;
  z-index: -1;
}

.p-about__head {
  position: relative;
}

.p-about__heading {
  width: 13.125rem;
  margin-inline: auto;
}

.p-about__heading--sub {
  position: absolute;
  bottom: 1.1875rem;
  left: 50%;
  translate: -50% 0;
  opacity: 0.1;
  background: -webkit-gradient(linear, left top, right top, color-stop(4.02%, #be8ec8), color-stop(47.86%, #8c9ad9), to(#95cdde));
  background: linear-gradient(90deg, #be8ec8 4.02%, #8c9ad9 47.86%, #95cdde 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-transform: uppercase;
  font-family: "Lato", sans-serif;
  font-size: 6.25rem;
  letter-spacing: 0.625rem;
}

.p-about__lead {
  white-space: nowrap;
  text-align: center;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.275rem;
  margin: 0.625rem 0 0 -0.625rem;
}

.p-about__image {
  width: 24.9375rem;
  margin-inline: auto;
}

.p-about__list {
  margin-top: 4rem;
}

.p-about__item {
  border-radius: 1.125rem;
  border: 1px solid #a079fc;
  background-color: #FFF;
  padding: 1.4375rem 1.9375rem;
}
.p-about__item + .p-about__item {
  margin-top: 1.5rem;
}
.p-about__item:nth-of-type(1) .p-about__item-point {
  width: 3.75rem;
}
.p-about__item:nth-of-type(1) .p-about__item-image {
  width: 8.9375rem;
}
.p-about__item:nth-of-type(2) .p-about__item-point {
  width: 4.8125rem;
}
.p-about__item:nth-of-type(2) .p-about__item-image {
  width: 9.5rem;
}
.p-about__item:nth-of-type(3) .p-about__item-point {
  width: 4.5rem;
}
.p-about__item:nth-of-type(3) .p-about__item-image {
  width: 9.875rem;
}

.p-about__item-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.875rem;
}

.p-about__item-point {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.p-about__item-title {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.3rem;
}

.p-about__item-image {
  margin-inline: auto;
}

.p-about__item-text {
  width: 20.6875rem;
  font-size: max(1.125rem, 14px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.225rem;
  margin: 1.5rem auto 0;
}

.p-recommend {
  position: relative;
  background: -webkit-gradient(linear, left top, left bottom, from(#DFDFFF), color-stop(48.08%, #F9EEFF), color-stop(99.04%, #DFDFFF));
  background: linear-gradient(180deg, #DFDFFF 0%, #F9EEFF 48.08%, #DFDFFF 99.04%);
  padding-block: 1.5rem;
  z-index: 0;
  scroll-margin-top: 2.5rem;
}
.p-recommend::after {
  content: "";
  position: absolute;
  bottom: -8.875rem;
  left: 0;
  width: 31.25rem;
  aspect-ratio: 500/143;
  background: url(../img/top/recommend-bg--02.png) center/contain no-repeat;
}

.p-recommend__heading {
  width: 26.875rem;
  height: 2.875rem;
  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;
  border-radius: 19.5rem;
  background-color: #FFF;
  -webkit-box-shadow: 0px 0px 11.4px 0px rgba(209, 198, 229, 0.56);
          box-shadow: 0px 0px 11.4px 0px rgba(209, 198, 229, 0.56);
  font-size: 1.625rem;
  font-weight: 600;
  letter-spacing: 0.1625rem;
}

.p-recommend__heading--blue {
  color: #659DC9;
}

.p-recommend__list {
  position: relative;
  border-radius: 1.125rem;
  background-color: #FFF;
  -webkit-box-shadow: 0px 0px 20px 0px rgba(186, 168, 215, 0.24);
          box-shadow: 0px 0px 20px 0px rgba(186, 168, 215, 0.24);
  padding: 2.5rem 2.125rem;
  margin-block: 6.0625rem 1rem;
}
.p-recommend__list::before {
  content: "";
  position: absolute;
  top: -5.1875rem;
  left: 50%;
  translate: -50% 0;
  width: 2.125rem;
  aspect-ratio: 34/73;
  background: url(../img/common/dot-icon.png) center/contain no-repeat;
}

.p-recommend__list-text {
  position: relative;
  border-bottom: 2px solid;
  -o-border-image: linear-gradient(90deg, #FCB1FF 5.86%, #EDA7FC 26.63%, #A5B4FC 61.24%, #A6EAFF 100%) 1;
     border-image: -webkit-gradient(linear, left top, right top, color-stop(5.86%, #FCB1FF), color-stop(26.63%, #EDA7FC), color-stop(61.24%, #A5B4FC), to(#A6EAFF)) 1;
     border-image: linear-gradient(90deg, #FCB1FF 5.86%, #EDA7FC 26.63%, #A5B4FC 61.24%, #A6EAFF 100%) 1;
  color: #9780BD;
  font-size: max(1rem, 14px);
  font-weight: 600;
  letter-spacing: 0.2rem;
  padding: 0.625rem 0.5rem 0.5rem 2.3125rem;
}
.p-recommend__list-text + .p-recommend__list-text {
  margin-top: 1.25rem;
}
.p-recommend__list-text::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0.625rem;
  translate: 0 -40%;
  width: 1.125rem;
  aspect-ratio: 18/14;
  background: url(../img/common/check-icon.png) center/contain no-repeat;
}

.p-recommend__list-text--black {
  color: #515151;
  font-weight: 500;
}

.p-point {
  padding-top: 13.4375rem;
  scroll-margin-top: -8.75rem;
}

.p-point__heading--sub {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-bottom: 4px solid;
  -o-border-image: linear-gradient(90deg, #FCB1FF 5.86%, #EDA7FC 26.63%, #A5B4FC 61.24%, #A6EAFF 100%) 1;
     border-image: -webkit-gradient(linear, left top, right top, color-stop(5.86%, #FCB1FF), color-stop(26.63%, #EDA7FC), color-stop(61.24%, #A5B4FC), to(#A6EAFF)) 1;
     border-image: linear-gradient(90deg, #FCB1FF 5.86%, #EDA7FC 26.63%, #A5B4FC 61.24%, #A6EAFF 100%) 1;
  font-size: 1.375rem;
  font-weight: 600;
  letter-spacing: 0.275rem;
  padding: 0 0.75rem 0.375rem;
  margin-inline: auto;
}
.p-point__heading--sub::before, .p-point__heading--sub::after {
  content: "";
  position: absolute;
  top: 0.25rem;
  width: 0.375rem;
  height: 1.625rem;
  border-radius: 0.375rem;
  border: 2px solid #FFF;
  background-color: #CB9AB9;
}
.p-point__heading--sub::before {
  left: 0rem;
  rotate: -20deg;
}
.p-point__heading--sub::after {
  right: 0rem;
  rotate: 20deg;
}

.p-point__heading {
  width: 24.8125rem;
  margin-inline: auto;
}

.p-point__list {
  max-width: 25rem;
  margin: 1.5rem auto 0;
}

.p-point__item {
  position: relative;
  border-radius: 1.125rem;
  border: 1px solid #A079FC;
  background-color: #FFF;
  padding: 1.9375rem 2.9375rem;
}
.p-point__item + .p-point__item {
  margin-top: 1.5rem;
}
.p-point__item::before {
  content: "";
  position: absolute;
  background: center/contain no-repeat;
}
.p-point__item:nth-of-type(1)::before {
  top: -2rem;
  left: 20.25rem;
  width: 7.125rem;
  aspect-ratio: 213/200;
  background-image: url(../img/common/iine-icon.webp);
}
.p-point__item:nth-of-type(2)::before {
  top: 0.3125rem;
  left: -2rem;
  width: 5.5625rem;
  aspect-ratio: 224/221;
  background-image: url(../img/common/good-icon.webp);
}
.p-point__item:nth-of-type(3)::before {
  top: -1.3125rem;
  left: 20rem;
  rotate: 5deg;
  width: 6.3125rem;
  aspect-ratio: 207/264;
  background-image: url(../img/common/completion-icon.webp);
}

.p-point__item-image {
  width: 13.25rem;
  margin-inline: auto;
}

.p-point__item-title {
  text-align: center;
  font-size: max(1.25rem, 14px);
  font-weight: 600;
  letter-spacing: 0.25rem;
  margin-top: 1.25rem;
}

.p-point__item-text {
  font-size: max(1.125rem, 14px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.225rem;
  margin-top: 1.25rem;
}

.p-cta {
  padding-top: 2.5rem;
}

.p-cta__image {
  width: 24.0625rem;
  margin-inline: auto;
}

.p-cta__heading {
  text-align: center;
  font-size: 1.625rem;
  font-weight: 600;
  letter-spacing: 0.325rem;
  margin-top: 0.625rem;
}

.p-cta__text {
  width: 26.125rem;
  font-size: max(1.125rem, 14px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.225rem;
  margin: 1.5rem auto 2.5rem;
}

.p-flow {
  position: relative;
  padding-block: 6.875rem 5.125rem;
  z-index: 0;
}
.p-flow::after {
  content: "";
  position: absolute;
  bottom: -0.0625rem;
  left: 50%;
  translate: -50% 0;
  width: 31.25rem;
  aspect-ratio: 500/161;
  background: url(../img/top/faq-bg--01.png) center/contain no-repeat;
  z-index: -1;
}

.p-flow__head {
  position: relative;
}

.p-flow__heading {
  text-align: center;
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.2rem;
  margin-top: 0.625rem;
}

.p-flow__heading--small {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-bottom: 4px solid;
  -o-border-image: linear-gradient(90deg, #fcb1ff 5.86%, #eda7fc 26.63%, #a5b4fc 61.24%, #a6eaff 100%) 1;
     border-image: -webkit-gradient(linear, left top, right top, color-stop(5.86%, #fcb1ff), color-stop(26.63%, #eda7fc), color-stop(61.24%, #a5b4fc), to(#a6eaff)) 1;
     border-image: linear-gradient(90deg, #fcb1ff 5.86%, #eda7fc 26.63%, #a5b4fc 61.24%, #a6eaff 100%) 1;
  font-size: 1.375rem;
  font-weight: 600;
  letter-spacing: 0.275rem;
  padding: 0 0.75rem 0.375rem;
  margin-inline: auto;
}
.p-flow__heading--small::before, .p-flow__heading--small::after {
  content: "";
  position: absolute;
  top: 0.75rem;
  width: 0.375rem;
  height: 1.625rem;
  border-radius: 0.375rem;
  border: 2px solid #FFF;
  background-color: #cb9ab9;
}
.p-flow__heading--small::before {
  left: 0rem;
  rotate: -20deg;
}
.p-flow__heading--small::after {
  right: 0rem;
  rotate: 20deg;
}

.p-flow__heading--small-number {
  font-size: 2rem;
  letter-spacing: 0.4rem;
}

.p-flow__heading--sub {
  position: absolute;
  bottom: 3.375rem;
  left: 50%;
  translate: -50% 0;
  opacity: 0.1;
  background: -webkit-gradient(linear, left top, right top, color-stop(4.02%, #be8ec8), color-stop(47.86%, #8c9ad9), to(#95cdde));
  background: linear-gradient(90deg, #be8ec8 4.02%, #8c9ad9 47.86%, #95cdde 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-transform: uppercase;
  font-family: "Lato", sans-serif;
  font-size: 6.25rem;
  letter-spacing: 0.625rem;
}

.p-flow__container {
  height: 121.5625rem;
}

.p-flow__list {
  position: sticky;
  top: 0;
  border-radius: 3.5rem;
  background: url(../img/top/flow-bg.jpg) center top/cover no-repeat;
  -webkit-box-shadow: 0px 4px 11.4px 0px rgba(209, 198, 229, 0.56);
          box-shadow: 0px 4px 11.4px 0px rgba(209, 198, 229, 0.56);
  padding: 3.6875rem 1.5rem 2rem;
  margin-top: 2.5rem;
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
}

.p-flow__guide {
  position: absolute;
  top: 20.375rem;
  left: 2.8125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.25rem;
}

.p-flow__box-dot {
  position: relative;
  width: 0.625rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 1px solid rgba(186, 168, 215, 0.24);
  background-color: #dfdfff;
  opacity: 0.8;
}
.p-flow__box-dot.is-active {
  background: linear-gradient(340deg, #cb97ff -1.86%, #bdcfff 85.71%);
}
.p-flow__box-dot + .p-flow__box-dot::before {
  content: "";
  position: absolute;
  top: -2.3125rem;
  left: 50%;
  translate: -50% 0;
  width: 0.0625rem;
  height: 2.375rem;
  background-color: rgba(186, 168, 215, 0.24);
}

.p-flow__box {
  height: 39.5rem;
  border-radius: 2.5rem;
  background-color: #FFF;
  overflow: auto;
  pointer-events: none;
  padding-block: 3rem;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.p-flow__box::-webkit-scrollbar {
  display: none;
}

.p-flow__item {
  position: relative;
  z-index: 0;
}
.p-flow__item:nth-of-type(1) .p-flow__item-step {
  padding-inline: 2.125rem;
}
.p-flow__item:nth-of-type(1) .p-flow__item-image {
  width: 13.125rem;
}
.p-flow__item:nth-of-type(1) .p-flow__item-title {
  margin-top: 1.125rem;
}
.p-flow__item:nth-of-type(2) .p-flow__item-image {
  width: 13.25rem;
}
.p-flow__item:nth-of-type(2) .p-flow__item-title {
  margin-top: 2.5rem;
}
.p-flow__item:nth-of-type(3) .p-flow__item-image {
  width: 14.4375rem;
}
.p-flow__item:nth-of-type(3) .p-flow__item-title {
  margin-top: 0.5rem;
}
.p-flow__item + .p-flow__item {
  margin-top: 3.5rem;
}

.p-flow__item-step {
  position: relative;
  width: 10.625rem;
  display: block;
  border-radius: 3.5rem;
  background-color: #FFF;
  padding: 0.875rem 1.875rem;
  margin-inline: auto;
}
.p-flow__item-step::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: 3.5rem;
  background: -webkit-gradient(linear, left top, right top, color-stop(5.86%, #fcb1ff), color-stop(26.63%, #eda7fc), color-stop(61.24%, #a5b4fc), to(#a6eaff));
  background: linear-gradient(90deg, #fcb1ff 5.86%, #eda7fc 26.63%, #a5b4fc 61.24%, #a6eaff 100%);
  z-index: -1;
}

.p-flow__item-image {
  margin: 2.5rem auto 0;
}

.p-flow__item-title {
  text-align: center;
  font-size: 1.375rem;
  font-weight: 600;
  letter-spacing: 0.275rem;
  margin-top: 1.125rem;
}

.p-flow__item-text {
  width: 16.5625rem;
  font-size: max(1.125rem, 14px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.225rem;
  margin: 1.375rem auto 0;
}

.p-faq {
  position: relative;
  background: -webkit-gradient(linear, left top, left bottom, from(#F1EAFF), to(#EAF4FF));
  background: linear-gradient(180deg, #F1EAFF 0%, #EAF4FF 100%);
  padding-block: 3.5rem 1.5rem;
}
.p-faq::after {
  content: "";
  position: absolute;
  bottom: -10.5rem;
  left: 50%;
  translate: -50% 0;
  width: 31.25rem;
  aspect-ratio: 500/169;
  background: url(../img/top/faq-bg--02.png) center/contain no-repeat;
}

.p-faq__heading--sub {
  text-transform: uppercase;
  text-align: center;
  color: #FFF;
  font-family: "Lato", sans-serif;
  font-size: 6.25rem;
  letter-spacing: 0.625rem;
}

.p-faq__heading {
  width: 26.125rem;
  height: 2.875rem;
  display: grid;
  place-items: center;
  border-radius: 19.5rem;
  background-color: #FFF;
  font-size: 1.625rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.1625rem;
  margin: 1.5rem auto 0;
}

.p-faq__list {
  position: relative;
  border-radius: 1.125rem;
  background-color: #FFF;
  -webkit-box-shadow: 0px 0px 11.4px 0px rgba(209, 198, 229, 0.56);
          box-shadow: 0px 0px 11.4px 0px rgba(209, 198, 229, 0.56);
  padding: 2rem 1.5rem 3.5rem;
  margin-top: 6.0625rem;
}
.p-faq__list::before {
  content: "";
  position: absolute;
  top: -5.1875rem;
  left: 50%;
  translate: -50% 0;
  width: 2.125rem;
  aspect-ratio: 34/73;
  background: url(../img/common/dot-icon.png) center/contain no-repeat;
}

.p-faq-accordion + .p-faq-accordion {
  margin-top: 1.5rem;
}
.p-faq-accordion.is-opened .p-faq-summary::after {
  rotate: 180deg;
}

.p-faq-summary {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.125rem;
  cursor: pointer;
  border-bottom: 2px solid #EBC3F2;
  font-size: max(1.125rem, 14px);
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.225rem;
  padding: 0.75rem 3.5rem 1.25rem 0;
}
.p-faq-summary::-webkit-details-marker {
  display: none;
}
.p-faq-summary::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -50%;
  width: 2.4375rem;
  aspect-ratio: 1/1;
  background: url(../img/top/faq-arrow.png) center/contain no-repeat;
  -webkit-transition: rotate 0.4s;
  transition: rotate 0.4s;
}

.p-faq-summary__icon {
  color: #9E97FF;
  font-family: "Lato", sans-serif;
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1.2;
}

.p-faq-accordion__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.125rem;
  padding-top: 1.3125rem;
}

.p-faq-accordion__icon {
  color: #F89BAF;
  font-family: "Lato", sans-serif;
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1.2;
}

.p-faq-accordion__text {
  font-size: max(1rem, 14px);
  line-height: 1.8;
  letter-spacing: 0.2rem;
}

.u-hidden-sp {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-hidden-sp {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .u-hidden-pc {
    display: none;
  }
}

@media screen and (max-width: 374px) {
  .u-hidden-xs {
    display: none;
  }
}

@media (any-hover: hover) {
  a {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  a:hover {
    opacity: 0.7;
  }
  .c-button {
    -webkit-transition: translate 0.4s, -webkit-box-shadow 0.4s;
    transition: translate 0.4s, -webkit-box-shadow 0.4s;
    transition: box-shadow 0.4s, translate 0.4s;
    transition: box-shadow 0.4s, translate 0.4s, -webkit-box-shadow 0.4s;
  }
  .c-button:hover {
    -webkit-box-shadow: unset;
            box-shadow: unset;
    translate: 0 0.25rem;
    opacity: 1;
  }
  .l-header__nav-item::after {
    -webkit-transition: scale 0.4s;
    transition: scale 0.4s;
  }
  .l-header__nav-item .l-header__nav-item-link {
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
  }
  .l-header__nav-item .l-header__nav-item-link-image img {
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
  }
  .l-header__nav-item .l-header__nav-item-link-image::before {
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
  }
  .l-header__nav-item:hover .l-header__nav-item-link {
    color: #9DB1FB;
    opacity: 1;
  }
  .l-header__nav-item:hover .l-header__nav-item-link-image img {
    opacity: 0;
  }
  .l-header__nav-item:hover .l-header__nav-item-link-image::before {
    opacity: 1;
  }
  .l-header__nav-item:hover::after {
    scale: 1;
  }
  .l-footer__item-link {
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
  }
  .l-footer__item-link::after {
    -webkit-transition: scale 0.4s;
    transition: scale 0.4s;
  }
  .l-footer__item-link:hover {
    color: #9DB1FB;
    opacity: 1;
  }
  .l-footer__item-link:hover::after {
    scale: 1;
  }
}
.js-in-view {
  translate: 0 3.75rem;
  opacity: 0;
  -webkit-transition: translate 1s, opacity 1s;
  transition: translate 1s, opacity 1s;
}
.js-in-view.is-in-view {
  translate: 0 0;
  opacity: 1;
}/*# sourceMappingURL=style.css.map */