@charset "UTF-8";

:root {
  --pw: 1600;
  --sw: 750;
  --artboard-pw: 500;
  --artboard-sw: 750;
  --rem: calc(var(--variable) * var(--ratio));
  --rem-pc: var(--variable);
  --ratio: 1;
  --variable: calc(100vw / var(--sw));
}

@media (min-width: 769px) {
  :root {
    --ratio: calc(var(--artboard-pw) / var(--artboard-sw));
    --variable: calc(100vw / var(--pw));
  }
}
@media (min-width: 1601px) {
  :root {
    --variable: 1px;
  }
}

.p-feature {
  --base-font-color: #69676e;
  --color-accent: #8a91ce;

  --lp-font-ja: "Roboto", hiragino-kaku-gothic-pron, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, HiraKakuProN-W3, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, Verdana, Helvetica, Arial, sans-serif;
  --lp-font-en: "century-gothic", hiragino-kaku-gothic-pron, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, HiraKakuProN-W3, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, Verdana, Helvetica, Arial, sans-serif;
  --lp-font-rn: helvetica-lt-pro, hiragino-kaku-gothic-pron, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, HiraKakuProN-W3, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, Verdana, Helvetica, Arial, sans-serif;

  --transition-timing: cubic-bezier(0.51, 0.21, 0.41, 1);

  --z-base: 1;
  --z-sticky: 10;
}

@media (min-width: 769px) {
  #Wrap,
  .wrapBottom,
  .wrapTop,
  #Contents {
    width: 100%;
  }
}
#Contents {
  max-width: unset;
}
#footer,
footer,
#FooterWrap {
  position: relative;
  z-index: 2;
}

html.js .lp_contents .fade {
  opacity: 0;
  transition: opacity 2s var(--transition-timing);
  &.is-active {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  html.js .lp_contents .fade {
    opacity: 1;
    transition: none;
  }
  .lp_contents :is(.blinking-anim, .p-item-block__hero-list__item) {
    animation: none;
  }
}
html:not(.js) .lp_contents :is(.p-mainvisual__image, .p-mainvisual__badge) {
  opacity: 1;
  filter: none;
}
.lp_contents .blinking-anim {
  animation: blinking 1s ease-out infinite alternate;
}

@keyframes blinking {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes floatY {
  0% {
    transform: translateY(calc(-10 * var(--rem)));
  }
  50% {
    transform: translateY(calc(10 * var(--rem)));
  }
  100% {
    transform: translateY(calc(-10 * var(--rem)));
  }
}
@keyframes floatY2 {
  0% {
    transform: translateY(calc(10 * var(--rem)));
  }
  50% {
    transform: translateY(calc(-10 * var(--rem)));
  }
  100% {
    transform: translateY(calc(10 * var(--rem)));
  }
}

.lp_contents {
  .c-accordion-body {
    max-height: calc(320 * var(--rem));
    overflow: hidden;
    transition: max-height .6s ease-in-out;
    will-change: max-height;
    &.--mask {
      mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 40%, rgba(0, 0, 0, .1) 80%, rgba(0, 0, 0, 0) 100%);
      &.is-open {
        mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 1) 100%);
      }
    }
    &.p-section-concept__body {
      max-height: calc(196 * var(--rem));
      &.is-open {
        & +.c-viewmore {
          margin-top: calc(30 * var(--rem));
        }
      }
    }
    &.p-points-list__item-body,
    &.p-routine-accordion__body {
      max-height: 0;
      transition: max-height .6s ease-in-out, margin .6s ease-in-out;
      will-change: max-height, margin-top;
    }
    &.p-comment-body {
      max-height: calc(417 * var(--rem));
    }
    & + .c-viewmore {
      transition: margin-top .6s ease-in-out;
      will-change: margin-top;
    }
  }
}

.lp_contents {
  --letter-spacing: .075em;
  position: relative;

  font-family: var(--lp-font-ja);
  color: var(--base-font-color, #000);
  font-size: calc(24 * var(--rem));
  font-style: normal;
  letter-spacing: var(--letter-spacing);
  & * {
    font-feature-settings: "palt";
  }
  & *,
  & *:before,
  & *:after {
    box-sizing: border-box;
  }
  & :where(h1, h2, h3, h4, h5, p, ul, ol, li, dl, dt, dd, a, button, figure, figcaption, span, sup) {
    margin: 0;
    padding: 0;
    font-family: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: var(--letter-spacing);
  }
  & ul,
  & li {
    list-style: none;
  }
  & :where(img) {
    display: block;
    max-width: 100%;
    height: auto;
  }
  & sup {
    top: 0;
    font-size: .6em;
    vertical-align: super;
  }
  & :where(a, a:before, a:after, a img, button) {
    --duration: .3s;
    --timing: ease-in-out;
    transition:
      opacity var(--duration) var(--timing),
      color var(--duration) var(--timing),
      background-color var(--duration) var(--timing),
      background-image var(--duration) var(--timing),
      border-color var(--duration) var(--timing),
      text-shadow var(--duration) var(--timing),
      text-weight var(--duration) var(--timing)
    ;
  }
  & :where(a) {
    color: inherit;
    text-decoration: none;
    text-underline-offset: calc(4 * var(--rem));
    @media (any-hover: hover) {
      &:hover {
        opacity: .7;
      }
    }
  }
  & :where(button) {
    background: none;
    border: none;
    color: inherit;
    cursor: pointer;
  }
}
.lp_contents {
  .l-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    &::before {
      position: sticky;
      content: '';
      top: 0;
      left: 0;
      display: block;
      width: 100%;
      height: 100vh;
      background : linear-gradient(-30deg, rgba(235, 236, 247, 1) 0%, rgba(238, 250, 254, 1) 100%);
    }
  }

  .l-mobile-first {
    position: relative;
    @media (min-width: 769px) {
      display: flex;
    }
  }
  .l-mobile-first__left,
  .l-mobile-first__right {
    position: relative;
    width: calc((100% - (var(--artboard-pw) * var(--rem-pc))) / 2);
  }
  .l-mobile-first__sticky {
    position: sticky;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100dvh;
    padding-top: var(--header-height, 0px);
  }
  .l-mobile-first__main {
    overflow-x: clip;

    @media (min-width: 769px) {
      width: calc(var(--artboard-pw) * var(--rem-pc));
    }
  }

  .c-viewmore {
    position: relative;
    display: block;
    margin-top: calc(30 * var(--rem));
    margin-inline: auto;
    padding-right: calc(28 * var(--rem));
    padding-bottom: calc(2 * var(--rem));
    background: none;
    border: none;
    border-bottom: 1px solid currentColor;
    color: #a9aaaa;
    font-family: var(--lp-font-en);
    font-size: calc(20 * var(--rem));
    line-height: 1;
    letter-spacing: .1em;
    cursor: pointer;
    &::before,
    &::after {
      position: absolute;
      top: 50%;
      right: calc(4 * var(--rem));
      content: "";
      display: block;
      width: calc(14 * var(--rem));
      height: 1px;
      background: currentColor;
      translate: 0 -50%;
    }
    &::after {
      rotate: 90deg;
    }
    &.is-open {
      &::after {
        rotate: 0deg;
      }
    }
  }

  .c-button {
    display: flex;
    white-space: nowrap;
    align-items: center;
    justify-content: center;
    width: calc(510 * var(--rem));
    height: calc(119 * var(--rem));
    margin-inline: auto;
    background : linear-gradient(-30deg, rgba(151, 160, 233, 1) 0%, rgba(206, 183, 240, 1) 100%);
    border-bottom: calc(9 * var(--rem)) solid var(--color-accent);
    color: #fff;
    font-size: calc(36 * var(--rem));
    line-height: 1;
  }

  .c-number {
    position: relative;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(102 * var(--rem));
    height: calc(102 * var(--rem));
    margin-inline: auto;
    background: rgba(255, 255, 255, .7);
    border: calc(2 * var(--rem)) solid currentColor;
    border-radius: 50%;
    color: var(--color-accent);
    font-family: var(--lp-font-en);
    font-size: calc(50 * var(--rem));
    line-height: 1;
  }

  .c-cart-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(41 * var(--rem));
    width: calc(510 * var(--rem));
    height: calc(90 * var(--rem));
    margin-inline: auto;
    padding-right: calc(4 * var(--rem));
    background: #303030;
    color: #fff;
    font-family: var(--lp-font-rn);
    font-size: calc(34 * var(--rem));
    line-height: 1;
    white-space: nowrap;
    &::before {
      content: "";
      flex-shrink: 0;
      width: calc(31 * var(--rem));
      height: calc(32 * var(--rem));
      background: url(../img/icon_cart.png) no-repeat center/contain;
    }
  }

  .c-floating-anchor {
    position: fixed;
    & .c-floating-anchor__text {
      letter-spacing: .025em;
    }
    z-index: var(--z-sticky);
    right: calc(10 * var(--rem));
    bottom: calc(20 * var(--rem));
    display: flex;
    flex-direction: column;
    align-items: center;
    width: calc(160 * var(--rem));
    height: calc(160 * var(--rem));
    padding-top: calc(30 * var(--rem));
    background: var(--color-accent);
    border-radius: 50%;
    color: #fff;
    font-family: var(--lp-font-en);
    font-size: calc(30 * var(--rem));
    font-weight: bold;
    line-height: calc(37.5 / 30);
    letter-spacing: .025em;
    text-align: center;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: opacity .6s ease-in-out, visibility .6s ease-in-out;
    &.is-show {
      opacity: 1;
      visibility: visible;
    }
    &::after {
      content: "";
      width: calc(32 * var(--rem));
      height: calc(32 * var(--rem));
      margin-top: calc(6 * var(--rem));
      background: url(../img/icon_anchor_white.png) no-repeat center/contain;
    }
  }

  .p-mainvisual__container {
    background: #e4f6fa url(../img/bg_mv.jpg) no-repeat top center/100% auto;
  }
  .p-mainvisual {
    position: relative;
  }
  .p-mainvisual__visual {
    position: relative;
  }
  .p-mainvisual__image {
    width: 100%;
    opacity: 0;
    filter: blur(calc(8 * var(--rem)));
    transition: opacity 1s var(--transition-timing) .3s, filter 1s var(--transition-timing) .3s;
    will-change: opacity, filter;
    .is-active & {
      opacity: 1;
      filter: blur(0);
    }
    & img {
      width: 100%;
    }
  }

  .p-mainvisual__badge {
    position: absolute;
    top: calc(431 * var(--rem));
    left: calc(16 * var(--rem));
    width: calc(261 * var(--rem));
    opacity: 0;
    filter: blur(calc(8 * var(--rem)));
    transition: opacity 1s var(--transition-timing) .3s, filter 1s var(--transition-timing) .3s;
    will-change: opacity, filter;
    .is-active.is-loaded & {
      opacity: 1;
      filter: blur(0);
    }
    & img {
      width: 100%;
    }
  }
  .p-mainvisual__body {
    padding-top: calc(78 * var(--rem));
    text-align: center;
  }
  @media (prefers-reduced-motion: reduce) {
    .p-mainvisual__image,
    .p-mainvisual__badge {
      opacity: 1;
      filter: none;
      transition: none;
    }
  }
  .p-mainvisual__body-label {
    font-family: var(--lp-font-rn);
    font-weight: bold;
    font-size: calc(36 * var(--rem));
    line-height: calc(81 / 36);
    letter-spacing: .1em;
    white-space: nowrap;
  }
  .p-mainvisual__body-text {
    margin-top: calc(16 * var(--rem));
    & sup {
      letter-spacing: .1em;
    }
    font-size: calc(30 * var(--rem));
    line-height: calc(60 / 30);
    letter-spacing: .1em;
    white-space: nowrap;
  }

  .p-section-concept {
    position: relative;
    padding-block: calc(69 * var(--rem)) calc(119 * var(--rem));
    text-align: center;
  }
  .p-section-concept__body {
    position: relative;
  }
  .p-section-concept__body-text {
    font-size: calc(26 * var(--rem));
    line-height: calc(58.5 / 26);
    letter-spacing: .1em;
    white-space: nowrap;
    & + & {
      margin-top: calc(28 * var(--rem));
    }
  }
  .p-section-concept__body-note {
    margin-top: calc(33 * var(--rem));
    color: #a9aaaa;
    font-size: calc(20 * var(--rem));
    line-height: calc(40 / 20);
  }

  .p-main-section {
    padding-block: calc(3 * var(--rem)) calc(109 * var(--rem));
    background: #f1f1f8 url(../img/bg_main.jpg) no-repeat top center/100% auto;
  }

  .p-campaign {
    position: relative;
    z-index: var(--z-base);
    padding-top: calc(161 * var(--rem));
  }
  .p-campaign__card {
    position: relative;
    z-index: var(--z-base);
    width: calc(680 * var(--rem));
    margin-inline: auto;
    padding-block: calc(77 * var(--rem)) calc(60 * var(--rem));
    background: #fff;
    box-shadow: 0 0 calc(15 * var(--rem)) rgba(100, 118, 160, .12);
    text-align: center;
  }
  .p-campaign__heading {
    position: absolute;
    top: calc(-36 * var(--rem));
    left: calc(98 * var(--rem));
    width: calc(482 * var(--rem));
    & img {
      width: 100%;
    }
  }
  .p-campaign__lead {
    font-family: var(--lp-font-rn);
    & .wrap {
      letter-spacing: .05em;
    }
    font-weight: bold;
    font-size: calc(30 * var(--rem));
    line-height: calc(47.37 / 30);
    letter-spacing: .05em;
    white-space: nowrap;
    .wrap {
      position: relative;
      &::before,
      &::after {
        content: "";
        position: absolute;
        top: 50%;
        width: calc(27 * var(--rem));
        height: calc(2 * var(--rem));
        background: currentColor;
      }
      &::before {
        left: calc(-38 * var(--rem));
        rotate: 54deg;
      }
      &::after {
        right: calc(-38 * var(--rem));
        rotate: -54deg;
      }
    }
  }
  .p-campaign__text {
    margin-top: calc(21 * var(--rem));
    font-family: var(--lp-font-en);
    font-size: calc(32 * var(--rem));
    line-height: 1;
    letter-spacing: .05em;
    white-space: nowrap;
  }
  .p-campaign__main {
    margin-top: calc(20 * var(--rem));
    color: var(--color-accent);
    font-family: var(--lp-font-en);
    font-weight: bold;
    font-size: calc(80 * var(--rem));
    line-height: 1;
    letter-spacing: .05em;
    white-space: nowrap;
  }
  .p-campaign__main-sub {
    font-size: calc(62 / 80 * 1em);
    letter-spacing: .05em;
  }
  .p-campaign__period {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(502 * var(--rem));
    height: calc(52 * var(--rem));
    margin-top: calc(29 * var(--rem));
    margin-inline: auto;
    border: calc(2 * var(--rem)) solid currentColor;
    border-radius: calc(26 * var(--rem));
    font-family: var(--lp-font-en);
    font-size: calc(30 * var(--rem));
    line-height: 1;
    letter-spacing: .1em;
    white-space: nowrap;
  }
  .p-campaign__image {
    width: calc(500 * var(--rem));
    margin-top: calc(29 * var(--rem));
    margin-inline: auto;
    & img {
      width: 100%;
    }
  }
  .p-campaign__button {
    margin-top: calc(30 * var(--rem));
  }
  .p-campaign__button-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(420 * var(--rem));
    height: calc(72 * var(--rem));
    margin-inline: auto;
    background: linear-gradient(90deg, rgba(151, 160, 233, 1) 0%, rgba(206, 183, 240, 1) 100%);
    color: #fff;
    font-family: var(--lp-font-rn);
    font-weight: bold;
    font-size: calc(30 * var(--rem));
    line-height: 1;
    letter-spacing: .1em;
    white-space: nowrap;
  }

  .p-check-block {
    position: relative;
    width: calc(640 * var(--rem));
    margin-top: calc(100 * var(--rem));
    margin-inline: auto;
    padding-block: calc(70 * var(--rem)) calc(70 * var(--rem));
    background: rgba(255, 255, 255, .5);
    border-radius: calc(50 * var(--rem));
    &::before {
      position: absolute;
      top: calc(9 * var(--rem));
      right: calc(9 * var(--rem));
      bottom: calc(9 * var(--rem));
      left: calc(9 * var(--rem));
      content: "";
      background: url(../img/border_1.png) no-repeat top left/100% 100%;
      pointer-events: none;
    }
  }
  .p-check-block__deco {
    position: absolute;
    top: calc(-255 * var(--rem));
    right: calc(-230 * var(--rem));
    width: calc(410 * var(--rem));
    pointer-events: none;
    & img {
      width: 100%;
    }
  }
  .p-check-block__heading {
    position: relative;
    color: var(--color-accent);
    font-size: calc(36 * var(--rem));
    line-height: 1;
    text-align: center;
  }
  .p-check-block__list {
    margin-top: calc(50 * var(--rem));
    padding-left: calc(102 * var(--rem));
  }
  .p-check-block__list-item {
    display: flex;
    align-items: center;
    gap: calc(25 * var(--rem));
    height: calc(42 * var(--rem));
    white-space: nowrap;
    & + & {
      margin-top: calc(50 * var(--rem));
    }
  }
  .p-check-block__list-item__icon {
    width: calc(42 * var(--rem));
    & img {
      width: 100%;
    }
  }
  .p-check-block__list-item__text {
    font-size: calc(26 * var(--rem));
    line-height: calc(43.75 / 26);
    &.--secondary {
      font-size: calc(25 * var(--rem));
      line-height: calc(43.75 / 25);
    }
  }

  .p-item-block {
    margin-top: calc(90 * var(--rem));
  }
  .p-item-block__heading {
    color: var(--color-accent);
    font-family: var(--lp-font-en);
    font-size: calc(40 * var(--rem));
    line-height: calc(60 / 40);
    text-align: center;
  }
  .p-item-block__hero {
    position: relative;
  }
  .p-item-block__hero-list__item {
    position: absolute;
    width: calc(330 * var(--rem));
    height: calc(330 * var(--rem));
    background: url(../img/bg_foam_1.png) no-repeat top left/100% 100%;
    &.--1 {
      top: calc(71 * var(--rem));
      left: calc(27 * var(--rem));
      transform: translateY(calc(-10 * var(--rem)));
      animation: floatY 6s infinite var(--transition-timing);
      animation-delay: 2s;
    }
    &.--2 {
      top: calc(283 * var(--rem));
      right: calc(6 * var(--rem));
      transform: translateY(calc(10 * var(--rem)));
      animation: floatY2 5s infinite var(--transition-timing);
      animation-delay: 2.3s;
      .p-item-block__hero-list__item-label {
        margin-right: calc(8 * var(--rem));
      }
    }
    &.--3 {
      top: calc(462 * var(--rem));
      left: calc(13 * var(--rem));
      transform: translateY(calc(10 * var(--rem)));
      animation: floatY2 5.5s infinite var(--transition-timing);
      animation-delay: 2.6s;
      .p-item-block__hero-list__item-label {
        margin-left: calc(16 * var(--rem));
      }
    }
  }
  .p-item-block__hero-list__item-inner {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    margin-top: calc(-2 * var(--rem));
  }
  .p-item-block__hero-list__item-label {
    color: var(--color-accent);
    font-size: calc(26 * var(--rem));
    font-weight: bold;
    line-height: calc(45.5 / 26);
    text-align: center;
  }
  .p-item-block__hero-list__item-text {
    margin-top: calc(9 * var(--rem));
    font-size: calc(22 * var(--rem));
    line-height: calc(33 / 22);
    text-align: center;
  }
  .p-item-block__hero-image {
    position: relative;
    z-index: var(--z-base);
    width: calc(300 * var(--rem));
    padding-top: calc(117 * var(--rem));
    margin-inline: auto;
    & img {
      width: 100%;
    }
  }

  .p-item-block__body {
    margin-top: calc(87 * var(--rem));
  }
  .p-item-block__body-name {
    font-family: var(--lp-font-en);
    font-size: calc(36 * var(--rem));
    font-weight: bold;
    line-height: calc(63 / 36);
    text-align: center;
  }
  .p-item-block__body-price {
    margin-top: calc(34 * var(--rem));
    font-family: var(--lp-font-en);
    font-size: calc(26 * var(--rem));
    line-height: 1;
    text-align: center;
  }
  .p-item-block__body-button {
    margin-top: calc(60 * var(--rem));
  }
  .p-item-block__body-note {
    width: calc(562 * var(--rem));
    margin-top: calc(51 * var(--rem));
    margin-inline: auto;
    color: #a9aaaa;
    font-size: calc(20 * var(--rem));
    line-height: calc(40 / 20);
    text-align: justify;
  }

  .p-points-section {
    position: relative;
    padding-block: calc(121 * var(--rem)) calc(120 * var(--rem));
    background-image: url(../img/bg_4.png), linear-gradient(-30deg, rgba(235, 236, 247, 1) 0%, rgba(238, 250, 254, 1) 100%);
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: top center;
  }
  .p-points-section__head {
    text-align: center;
  }
  .p-points-section__heading {
    font-size: calc(24 * var(--rem));
    line-height: 1;
  }
  .p-points-section__heading-en {
    margin-top: calc(14 * var(--rem));
    font-family: var(--lp-font-en);
    font-size: calc(60 * var(--rem));
    line-height: 1;
  }

  .p-points-list {
    margin-top: calc(79 * var(--rem));
  }
  .p-points-list__item {
    & + & {
      margin-top: calc(99 * var(--rem));
    }
    .c-viewmore {
      margin-top: calc(28 * var(--rem));
      &.is-open {
        margin-top: calc(29 * var(--rem));
      }
    }
    &.--4 {
      .c-viewmore {
        margin-top: calc(32 * var(--rem));
        &.is-open {
          margin-top: calc(27 * var(--rem));
        }
      }
    }
    &.--4 {
      background-image: url(../img/points_item_deco_1.png), url(../img/points_item_deco_2.png);
      background-repeat: no-repeat;
      background-position: top calc(33 * var(--rem)) left calc(25 * var(--rem)), top calc(33 * var(--rem)) right calc(25 * var(--rem));
      background-size: calc(230 * var(--rem));
    }
  }
  .p-points-list__item-heading {
    position: relative;
    width: fit-content;
    margin-inline: auto;
    margin-top: calc(52 * var(--rem));
    padding-inline: calc(25 * var(--rem));
    font-size: calc(40 * var(--rem));
    line-height: 1;
    text-align: center;
    &::before {
      position: absolute;
      top: 50%;
      left: 0;
      width: 100%;
      height: calc(24 * var(--rem));
      background : linear-gradient(90deg, rgba(175, 228, 223, 1) 0%, rgba(151, 160, 233, 1) 100%);
      content: "";
      opacity: .6;
      pointer-events: none;
    }
    .wrap {
      position: relative;
    }
  }
  .p-points-list__item-lead {
    margin-top: calc(28 * var(--rem));
    color: var(--color-accent);
    font-size: calc(30 * var(--rem));
    line-height: calc(52.5 / 30);
    text-align: center;
    .c-number + & {
      margin-top: calc(40 * var(--rem));
    }
  }
  .p-points-list__item-body {
    margin-inline: auto;
    &.is-open {
      margin-top: calc(27 * var(--rem));
      .p-points-list__item.--4 & {
        margin-top: calc(32 * var(--rem));
      }
    }
    .p-item-block__body-note {
      margin-top: calc(20 * var(--rem));
      .p-points-list__item-fig__block + & {
        margin-top: calc(70 * var(--rem));
      }
    }
  }
  .p-points-list__item-text {
    width: calc(560 * var(--rem));
    margin-inline: auto;
    font-size: calc(24 * var(--rem));
    line-height: calc(48 / 24);
    text-align: justify;
    & sup {
      &.--only {
        letter-spacing: 0.02em;
      }
    }
  }
  .p-points-list__item-fig__block {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: calc(38 * var(--rem));
    .p-points-list__item.--3 & {
      margin-top: calc(36 * var(--rem));
    }
  }
  .p-points-list__item-fig__box {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: calc(312 * var(--rem));
    height: calc(312 * var(--rem));
    background: var(--box-background);
    border: 1px solid var(--color);
    border-radius: 50%;
    text-align: center;
    &.--image {
      &::after {
        position: absolute;
        width: calc(120 * var(--rem));
        height: calc(120 * var(--rem));
        background: var(--fig-image) no-repeat center/contain;
        content: "";
      }
    }
    &.--purple {
      --box-background: rgba(160, 141, 224, .1);
      --color: #a08de0;
      --fig-image: url(../img/img_fig_grape.png);
      &::after {
        bottom: calc(-34 * var(--rem));
        left: calc(-15 * var(--rem));
      }
    }
    &.--green {
      --box-background: rgba(124, 173, 113, .1);
      --color: #7cad71;
      --fig-image: url(../img/img_fig_apple.png);
      &::after {
        top: calc(-57 * var(--rem));
        right: calc(12 * var(--rem));
      }
    }
    &.--blue {
      --box-background: rgba(117, 178, 188, .1);
      --color: #75b2bc;
    }
    &.--pink {
      --box-background: rgba(207, 138, 197, .1);
      --color: #cf8ac5;
      --fig-image: url(../img/img_fig_resin.png);
      &::after {
        bottom: calc(-16 * var(--rem));
        right: calc(-54 * var(--rem));
      }
    }
    &:first-child {
      margin-right: calc(-13 * var(--rem));
    }
    &:last-child {
      margin-left: calc(-13 * var(--rem));
    }
  }
  .p-points-list__item-fig__box-label {
    position: relative;
    & span {
      letter-spacing: .05em;
    }
    margin-top: calc(-10 * var(--rem));
    color: var(--color);
    font-family: var(--lp-font-rn);
    font-size: calc(30 * var(--rem));
    line-height: calc(45 / 30);
    letter-spacing: .05em;
    .--blue & {
      margin-top: calc(38 * var(--rem));
    }
    &::before,
    &::after {
      position: absolute;
      width: calc(25 * var(--rem));
      height: calc(18 * var(--rem));
      background-color: var(--color);
      mask: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024.78%2018%22%3E%3Cpath%20d%3D%22M1.12%2016.99A3.681%203.681%200%200%201%200%2014.56c-.07-1.55.39-3.15%201.36-4.8C2.34%208.11%203.55%206.52%205%205.01c1.45-1.52%203.15-3.12%205.11-4.8l.2-.2.71.81C8.59%202.84%206.55%204.78%204.9%206.63c-1.65%201.86-2.75%203.69-3.29%205.51H1.1c.54-.47.98-.79%201.32-.96s.74-.25%201.21-.25c1.01%200%201.84.35%202.48%201.06.64.71.96%201.57.96%202.58%200%20.88-.34%201.67-1.01%202.38-.67.71-1.48%201.06-2.43%201.06-1.01%200-1.86-.34-2.53-1.01Zm13.75%200c-.67-.67-1.05-1.48-1.11-2.43-.07-1.55.39-3.15%201.36-4.8.98-1.65%202.19-3.24%203.64-4.75%201.45-1.52%203.15-3.12%205.11-4.8l.2-.2.71.81c-2.43%202.02-4.47%203.96-6.12%205.81-1.65%201.86-2.75%203.69-3.29%205.51h-.51c.54-.47.98-.79%201.32-.96.34-.17.74-.25%201.21-.25%201.01%200%201.84.35%202.48%201.06.64.71.96%201.57.96%202.58%200%20.88-.34%201.67-1.01%202.38-.67.71-1.48%201.06-2.43%201.06-1.01%200-1.86-.34-2.53-1.01Z%22%20style%3D%22fill%3AcurrentColor%22%2F%3E%3C%2Fsvg%3E') no-repeat center / contain;
      content: "";
    }
    &::after {
      rotate: 180deg;
    }
    &.--primary {
      &::before,
      &::after {
        top: calc(4 * var(--rem));
      }
      &::before {
        left: calc(-24 * var(--rem));
        translate: -100% 0;
      }
      &::after {
        right: calc(-24 * var(--rem));
        translate: 100% 0;
      }
    }
    &.--secondary {
      &::before,
      &::after {
        top: calc(-6 * var(--rem));
        translate: 0 -100%;
      }
      &::before {
        left: calc(5 * var(--rem));
      }
      &::after {
        right: calc(10 * var(--rem));
      }
    }
    .--green & {
      &::before {
        left: calc(7 * var(--rem));
      }
      &::after {
        right: calc(7 * var(--rem));
      }
    }
    &.--only {
      margin-top: calc(58 * var(--rem));
      font-size: calc(28 * var(--rem));
      line-height: calc(42 / 28);
      &::before {
        top: calc(-9 * var(--rem));
        left: calc(-1 * var(--rem));
      }
      &::after {
        top: calc(-9 * var(--rem));
        right: calc(-1 * var(--rem));
      }
    }
  }
  .p-points-list__item-fig__box-text {
    & sup {
      letter-spacing: .05em;
    }
    margin-top: calc(13 * var(--rem));
    .--only + & {
      margin-top: calc(8 * var(--rem));
    }
    color: #a9aaaa;
    font-size: calc(22 * var(--rem));
    line-height: calc(33 / 22);
    letter-spacing: .05em;
  }

  .p-comment-section {
    padding-block: calc(122 * var(--rem)) calc(160 * var(--rem));
    background: #ebecf7;
  }
  .p-comment-section__head {
    text-align: center;
  }
  .p-comment-section__head-sub {
    display: block;
    font-size: calc(28 * var(--rem));
    line-height: 1;
    .wrap {
      position: relative;
      &::before,
      &::after {
        content: '';
        position: absolute;
        top: 50%;
        width: calc(23 * var(--rem));
        height: 1px;
        background-color: var(--color-accent);
      }
      &::before {
        left: calc(-30 * var(--rem));
        rotate: 240deg;
      }
      &::after {
        right: calc(-30 * var(--rem));
        rotate: 300deg;
      }
    }
  }
  .p-comment-section__head-main {
    display: block;
    margin-top: calc(40 * var(--rem));
    color: var(--color-accent);
    font-family: var(--lp-font-rn);
    font-size: calc(32 * var(--rem));
    font-weight: bold;
    line-height: 1;
    letter-spacing: .1em;
    .wrap {
      position: relative;
      letter-spacing: .1em;
      &::before,
      &::after {
        content: '';
        position: absolute;
        top: calc(-23 * var(--rem));
        width: calc(44 * var(--rem));
        height: calc(42 * var(--rem));
        background: url(../img/deco_comment_1.svg);
        opacity: .5;
      }
      &::before {
        left: calc(-27 * var(--rem));
      }
      &::after {
        right: calc(-27 * var(--rem));
        rotate: 180deg;
      }
    }
  }

  .p-comment-block {
    position: relative;
    margin-top: calc(58 * var(--rem));
  }
  .p-comment-block__image {
    width: calc(220 * var(--rem));
    margin-inline: auto;
    & img {
      width: 100%;
    }
  }
  .p-comment-block__body {
    margin-top: calc(36 * var(--rem));
    text-align: center;
  }
  .p-comment-block__body-label {
    font-size: calc(20 * var(--rem));
    line-height: 1;
  }
  .p-comment-block__body-name {
    margin-top: calc(20 * var(--rem));
    font-size: calc(30 * var(--rem));
    line-height: 1;
  }

  .p-comment-body__container {
    position: relative;
    width: calc(652 * var(--rem));
    margin-top: calc(34 * var(--rem));
    margin-inline: auto;
    padding-block: calc(68 * var(--rem)) calc(79 * var(--rem));
    background : rgba(255, 255, 255, 0.4);
    border: 1px solid #aaafd6;
    border-radius: calc(20 * var(--rem));
  }
  .p-comment-body__deco {
    position: absolute;
    width: calc(44 * var(--rem));
    &.--1 {
      top: calc(-13 * var(--rem));
      left: calc(39 * var(--rem));
    }
    &.--2 {
      bottom: calc(-13 * var(--rem));
      right: calc(39 * var(--rem));
      rotate: 180deg;
    }
    & img {
      width: 100%;
    }
  }
  .p-comment-body {
    width: calc(542 * var(--rem));
    margin-inline: auto;
  }
  .p-comment-body__text {
    font-size: calc(24 * var(--rem));
    & sup {
      letter-spacing: .1em;
    }
    line-height: calc(48 / 24);
    letter-spacing: .1em;
    text-align: justify;
    & + & {
      margin-top: calc(30 * var(--rem));
    }
    .--em {
      color: #9096c9;
      font-size: calc(28 * var(--rem));
      font-weight: bold;
      line-height: calc(48 / 28);
      letter-spacing: .1em;
    }
  }
  .p-comment-body__note {
    margin-top: calc(45 * var(--rem));
    color: #a9aaaa;
    font-size: calc(20 * var(--rem));
    line-height: calc(40 / 20);
    text-align: justify;
  }

  .p-profile {
    width: calc(680 * var(--rem));
    margin-top: calc(100 * var(--rem));
    margin-inline: auto;
    padding-block: calc(60 * var(--rem)) calc(50 * var(--rem));
    padding-inline: calc(70 * var(--rem));
    background: #b4b6cc;
    color: #fff;
  }
  .p-profile__label {
    font-size: calc(26 * var(--rem));
    line-height: 1;
    text-align: center;
  }
  .p-profile__detail {
    margin-top: calc(33 * var(--rem));
    font-size: calc(22 * var(--rem));
    line-height: calc(38.5 / 22);
    letter-spacing: .1em;
    text-align: justify;
  }

  .p-review-limited {
    padding-bottom: calc(120 * var(--rem));
    background: #dceaef;
  }

  .p-review-section {
    padding-top: calc(120 * var(--rem));
  }
  .p-review-section__head {
    text-align: center;
  }
  .p-review-section__heading {
    font-size: calc(24 * var(--rem));
    line-height: 1;
  }
  .p-review-section__heading-en {
    margin-top: calc(25 * var(--rem));
    font-family: var(--lp-font-en);
    font-size: calc(50 * var(--rem));
    line-height: 1;
    letter-spacing: .09em;
  }

  .p-review-slider {
    position: relative;
    margin-top: calc(50 * var(--rem));
  }

  .p-review-slider__slide {
    width: calc(650 * var(--rem));
    height: auto;
    padding-inline: calc(15 * var(--rem));
  }
  .p-review-card {
    height: 100%;
    min-height: calc(1260 * var(--rem));
    padding-top: calc(60 * var(--rem));
    background: rgba(255, 255, 255, .7);
    border-radius: calc(20 * var(--rem));
  }
  .p-review-card__photo {
    width: calc(540 * var(--rem));
    margin-inline: auto;
    & img {
      width: 100%;
    }
  }
  .p-review-card__head {
    display: flex;
    align-items: center;
    gap: calc(40 * var(--rem));
    margin-top: calc(60 * var(--rem));
    padding-left: calc(65 * var(--rem));
  }
  .p-review-card__head-image {
    flex-shrink: 0;
    width: calc(140 * var(--rem));
    & img {
      width: 100%;
    }
  }
  .p-review-card__head-shop {
    font-family: var(--lp-font-en);
    font-size: calc(22 * var(--rem));
    line-height: calc(38.5 / 22);
    white-space: nowrap;
  }
  .p-review-card__head-name {
    margin-top: calc(-6 * var(--rem));
    font-family: var(--lp-font-en);
    font-size: calc(34 * var(--rem));
    line-height: calc(59.5 / 34);
    white-space: nowrap;
  }
  .p-review-card__body {
    width: calc(500 * var(--rem));
    margin-top: calc(39 * var(--rem));
    margin-inline: auto;
    padding-top: calc(27 * var(--rem));
    border-top: calc(2 * var(--rem)) solid var(--color-accent);
    font-family: var(--lp-font-rn);
    font-size: calc(24 * var(--rem));
    line-height: calc(48 / 24);
    letter-spacing: .1em;
    white-space: nowrap;
  }
  .p-review-slider__arrow {
    &::after {
      content: "";
      position: absolute;
      inset: calc(-20 * var(--rem));
    }
    position: absolute;
    z-index: var(--z-base);
    top: calc(632 * var(--rem));
    width: calc(60 * var(--rem));
    height: calc(60 * var(--rem));
    background: rgba(169, 170, 170, .7);
    border-radius: 50%;
    &::before {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      width: calc(12 * var(--rem));
      height: calc(24 * var(--rem));
      background-color: #fff;
      mask: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2014.12%2025.41%22%3E%3Cpath%20d%3D%22m.71%2024.71%2012-12-12-12%22%20style%3D%22fill%3Anone%3Bstroke%3AcurrentColor%3Bstroke-miterlimit%3A10%3Bstroke-width%3A2px%22%2F%3E%3C%2Fsvg%3E') no-repeat center / contain;
      translate: -50% -50%;
    }
    &.--prev {
      left: calc(25 * var(--rem));
      &::before {
        left: 45%;
        rotate: 180deg;
      }
    }
    &.--next {
      right: calc(25 * var(--rem));
      &::before {
        left: 55%;
      }
    }
  }

  .p-review-slider__pagination {
    display: flex;
    justify-content: center;
    gap: calc(12 * var(--rem));
    margin-top: calc(30 * var(--rem));
    &.swiper-pagination-bullets .swiper-pagination-bullet {
      display: block;
      box-sizing: content-box;
      width: calc(100 * var(--rem));
      height: calc(8 * var(--rem));
      padding-block: calc(20 * var(--rem));
      background-clip: content-box;
      margin: 0;
      background-color: #c7cee0;
      border-radius: 0;
      opacity: 1;
      &.swiper-pagination-bullet-active {
        background-color: var(--color-accent);
      }
    }
  }

  .p-limited-section {
    padding-top: calc(161 * var(--rem));
  }
  .p-limited-section__card {
    position: relative;
    width: calc(700 * var(--rem));
    margin-inline: auto;
    padding-block: calc(83 * var(--rem)) calc(79 * var(--rem));
    background: rgba(255, 255, 255, .7);
    border-radius: calc(50 * var(--rem));
    text-align: center;
  }
  .p-limited-section__heading {
    position: absolute;
    top: calc(-36 * var(--rem));
    left: calc(48 * var(--rem));
    width: calc(606 * var(--rem));
    & img {
      width: 100%;
    }
  }
  .p-limited-section__lead {
    font-family: var(--lp-font-en);
    font-size: calc(36 * var(--rem));
    line-height: calc(63 / 36);
    letter-spacing: .05em;
    white-space: nowrap;
  }

  .p-limited-section__divider {
    height: calc(2 * var(--rem));
    margin-top: calc(78 * var(--rem));
    background: linear-gradient(90deg, var(--color-accent) calc(3 * var(--rem)), transparent 0) 0 0 / calc(12 * var(--rem)) 100% repeat-x;
  }
  .p-limited-item {
    margin-top: calc(37 * var(--rem));
    &.--2 {
      margin-top: calc(59 * var(--rem));
    }
  }
  .p-limited-item__edition {
    display: flex;
    flex-direction: column;
    align-items: center;
    & img {
      width: calc(84 * var(--rem));
    }
  }
  .p-limited-item__edition-number {
    margin-top: calc(3 * var(--rem));
    color: var(--color-accent);
    font-family: var(--lp-font-en);
    font-weight: bold;
    font-size: calc(60 * var(--rem));
    line-height: 1;
  }
  .p-limited-item__balloon {
    position: relative;
    width: fit-content;
    height: calc(80 * var(--rem));
    margin-top: calc(30 * var(--rem));
    margin-inline: auto;
    padding-inline: calc(40 * var(--rem));
    background: var(--color-accent);
    border-radius: calc(24 * var(--rem));
    color: #fff;
    font-family: var(--lp-font-rn);
    font-size: calc(32 * var(--rem));
    line-height: calc(80 / 32);
    letter-spacing: .05em;
    white-space: nowrap;
    &::after {
      content: "";
      position: absolute;
      top: 100%;
      left: 50%;
      width: calc(28 * var(--rem));
      height: calc(14 * var(--rem));
      background: var(--color-accent);
      clip-path: polygon(0 0, 100% 0, 50% 100%);
      translate: -50% 0;
    }
  }
  .p-limited-item__catch {
    margin-top: calc(31 * var(--rem));
    font-family: var(--lp-font-en);
    font-size: calc(34 * var(--rem));
    line-height: calc(59.5 / 34);
    letter-spacing: .05em;
    white-space: nowrap;
  }
  .p-limited-item__image {
    position: relative;
    margin-inline: auto;
    & img {
      width: 100%;
    }
    &.--1 {
      width: calc(400 * var(--rem));
      margin-top: calc(39 * var(--rem));
    }
    &.--2 {
      width: calc(600 * var(--rem));
      margin-top: calc(37 * var(--rem));
      translate: calc(8 * var(--rem)) 0;
    }
  }

  .p-limited-item__shipping {
    position: absolute;
    top: calc(-8 * var(--rem));
    left: calc(-125 * var(--rem));
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(200 * var(--rem));
    height: calc(200 * var(--rem));
    background: #dceaef;
    border-radius: 50%;
    color: var(--color-accent);
    font-family: var(--lp-font-rn);
    font-size: calc(32 * var(--rem));
    line-height: calc(43.56 / 32);
    letter-spacing: .05em;
    white-space: nowrap;
  }
  .p-limited-item__name {
    margin-top: calc(26 * var(--rem));
    .--2 > & {
      margin-top: calc(28 * var(--rem));
    }
    font-family: var(--lp-font-en);
    font-weight: bold;
    font-size: calc(30 * var(--rem));
    line-height: calc(60 / 30);
    white-space: nowrap;
  }
  .p-limited-item__price {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(14 * var(--rem));
    margin-top: calc(3 * var(--rem));
    font-family: var(--lp-font-en);
    font-size: calc(26 * var(--rem));
    line-height: calc(45.5 / 26);
    white-space: nowrap;
  }
  .p-limited-item__tag {
    display: flex;
    white-space: nowrap;
    align-items: center;
    justify-content: center;
    width: calc(132 * var(--rem));
    height: calc(38 * var(--rem));
    border: calc(2 * var(--rem)) solid currentColor;
    font-size: calc(24 * var(--rem));
    line-height: 1;
  }
  .p-limited-item__button {
    margin-top: calc(30 * var(--rem));
  }

  .p-limited-set {
    position: relative;
    width: calc(602 * var(--rem));
    margin-top: calc(91 * var(--rem));
    margin-inline: auto;
    padding-block: calc(41 * var(--rem)) calc(30 * var(--rem));
    &.--2 {
      padding-bottom: calc(33 * var(--rem));
    }
    border: calc(2 * var(--rem)) solid var(--color-accent);
    border-radius: calc(30 * var(--rem));
  }
  .p-limited-set__label {
    position: absolute;
    top: 0;
    left: 50%;
    padding-inline: calc(20 * var(--rem));
    background: #f5f9fa;
    font-family: var(--lp-font-en);
    font-size: calc(24 * var(--rem));
    line-height: 1;
    letter-spacing: .05em;
    white-space: nowrap;
    translate: -50% -50%;
  }
  .p-limited-set__image {
    width: calc(260 * var(--rem));
    margin-inline: auto;
    & img {
      width: 100%;
    }
    .--2 > & {
      width: calc(420 * var(--rem));
    }
  }
  .p-limited-set__list {
    width: fit-content;
    margin-top: calc(29 * var(--rem));
    margin-inline: auto;
    text-align: left;
  }
  .p-limited-set__list-item {
    position: relative;
    padding-left: calc(40 * var(--rem));
    font-family: var(--lp-font-en);
    font-size: calc(24 * var(--rem));
    line-height: calc(45.5 / 24);
    letter-spacing: .05em;
    white-space: nowrap;
    &::before {
      content: "";
      position: absolute;
      top: calc(11 * var(--rem));
      left: 0;
      width: calc(20 * var(--rem));
      height: calc(20 * var(--rem));
      background: var(--color-accent);
      border-radius: 50%;
    }
  }

  .p-simplebar {
    &.is-native-scroll {
      overflow-x: auto;
    }
    --bar-height: calc(6 * var(--rem));
    --inline-pos: calc(70 * var(--rem));
    --bar-base-color: rgba(255, 255, 255, .7);
    --bar-pos-color: #abbabf;
    --simpleba-padding-bottom: calc(56 * var(--rem));
    padding-bottom: var(--simpleba-padding-bottom);
    padding-left: var(--inline-pos);
    user-select: none;
    &.is-dragging {
      cursor: grabbing;
    }
    .simplebar-content {
      display: flex;
    }
    .p-simplebar__body {
      padding-right: var(--inline-pos);
    }
    .simplebar-track {
      &.simplebar-horizontal {
        left: var(--inline-pos);
        right: var(--inline-pos);
        height: var(--bar-height);
        background-color: var(--bar-base-color);
        .simplebar-scrollbar {
          top: 0;
          height: var(--bar-height);
        }
      }
    }
    .simplebar-scrollbar {
      &::before {
        background: var(--bar-pos-color);
      }
      &.simplebar-visible {
        &::before {
          opacity: 1;
        }
      }
    }
  }

  .p-routine-section {
    padding-block: calc(120 * var(--rem)) calc(110 * var(--rem));
    background: #ebecf7 url(../img/bg_routine.jpg) no-repeat top center/100% auto;
  }
  .p-routine-section__heading {
    text-align: center;
    white-space: nowrap;
  }
  .p-routine-section__heading-sub {
    display: block;
    font-size: calc(32 * var(--rem));
    line-height: 1;
  }
  .p-routine-section__heading-main {
    display: block;
    margin-top: calc(30 * var(--rem));
    font-size: calc(40 * var(--rem));
    line-height: 1;
  }
  .p-routine-section__image-container {
    --inline-pos: calc(60 * var(--rem));
    --simpleba-padding-bottom: calc(56 * var(--rem));
    margin-top: calc(53 * var(--rem));
    .simplebar-track {
      &.simplebar-horizontal {
        left: calc(70 * var(--rem));
        right: calc(70 * var(--rem));
      }
    }
  }
  .p-routine-section__image-wrap {
    position: relative;
    padding-top: calc(37 * var(--rem));
  }
  .p-routine-section__blinking {
    position: absolute;
    top: 0;
    left: calc(557 * var(--rem));
    width: calc(196 * var(--rem));
    & img {
      width: 100%;
    }
  }
  .p-routine-section__image {
    width: calc(1325 * var(--rem));
    & img {
      width: 100%;
      pointer-events: none;
    }
  }

  .p-routine-section__labels {
    display: flex;
    margin-top: calc(40 * var(--rem));
  }
  .p-routine-section__label {
    flex-shrink: 0;
    font-size: calc(28 * var(--rem));
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    &.--1 { width: calc(264 * var(--rem)); }
    &.--2 { width: calc(220 * var(--rem)); margin-left: calc(44 * var(--rem)); }
    &.--3 { width: calc(220 * var(--rem)); margin-left: calc(17 * var(--rem)); }
    &.--4 { width: calc(220 * var(--rem)); margin-left: calc(13 * var(--rem)); }
    &.--5 { width: calc(264 * var(--rem)); margin-left: calc(63 * var(--rem)); }
    &.--accent {
      color: var(--color-accent);
      font-weight: bold;
    }
  }

  .p-routine-section__body {
    width: calc(540 * var(--rem));
    margin-top: calc(100 * var(--rem));
    margin-inline: auto;
  }
  .p-routine-accordion {
    & + & {
      margin-top: calc(79 * var(--rem));
    }
    &:has(.is-open) + & {
      margin-top: calc(67 * var(--rem));
    }
  }
  .p-routine-accordion__label {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding-bottom: calc(29 * var(--rem));
    border-bottom: calc(2 * var(--rem)) solid currentColor;
    font-size: calc(36 * var(--rem));
    line-height: 1;
    text-align: center;
    &::before,
    &::after {
      position: absolute;
      bottom: calc(46 * var(--rem));
      right: calc(30 * var(--rem));
      content: "";
      display: block;
      width: calc(30 * var(--rem));
      height: calc(2 * var(--rem));
      background: currentColor;
    }
    &::after {
      rotate: 90deg;
      transition: rotate .6s;
    }
    &.is-open {
      &::after {
        rotate: 0deg;
      }
    }
  }
  .p-routine-accordion__body {
    width: calc(484 * var(--rem));
    margin-inline: auto;
    &.is-open {
      margin-top: calc(19 * var(--rem));
    }
  }
  .p-routine-accordion__body-text {
    font-size: calc(24 * var(--rem));
    line-height: calc(48 / 24);
    text-align: center;
    & + & {
      margin-top: calc(16 * var(--rem));
    }
  }
  .p-routine-accordion__body-list {
    margin-top: calc(14 * var(--rem));
  }
  .p-routine-accordion__body-list__item {
    display: flex;
    gap: calc(20 * var(--rem));
    & + & {
      margin-top: calc(18 * var(--rem));
    }
  }
  .p-routine-accordion__body-list__item-number {
    margin-top: .125em;
    color: var(--color-accent);
    font-family: var(--lp-font-en);
    font-weight: bold;
    font-size: calc(24 * var(--rem));
    letter-spacing: .05em;
  }
  .p-routine-accordion__body-list__item-text {
    font-size: calc(24 * var(--rem));
    line-height: calc(48 / 24);
    text-align: justify;
  }
  .p-routine-section__note {
    margin-top: calc(69 * var(--rem));
    .p-routine-accordion:has(.is-open) + & {
      margin-top: calc(57 * var(--rem));
    }
    color: #a9aaaa;
    font-size: calc(20 * var(--rem));
    line-height: calc(40 / 20);
    text-align: center;
  }

  .p-staple {
    padding-block: calc(140 * var(--rem)) calc(160 * var(--rem));
    background: #fff;
  }
  .p-staple__button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(650 * var(--rem));
    height: calc(80 * var(--rem));
    margin-inline: auto;
    background: #787878;
    color: #fff;
    font-family: var(--lp-font-en);
    font-size: calc(36 * var(--rem));
  }

  .p-logo-box {
    margin-top: calc(3 * var(--rem-pc));
  }
  .p-logo-box__main {
    width: calc(113 * var(--rem-pc));
    margin-inline: auto;
    & img {
      width: 100%;
    }
  }
  .p-logo-box__text {
    margin-top: calc(32 * var(--rem-pc));
    font-family: var(--lp-font-en);
    font-size: calc(20 * var(--rem-pc));
    line-height: calc(35 / 20);
    text-align: center;
  }

  .p-anchor-nav {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: end;
    column-gap: calc(28 * var(--rem-pc));
    width: 100%;
    &::before {
      content: "";
      grid-column: 2;
      grid-row: 1;
      align-self: start;
      width: calc(2 * var(--rem-pc));
      margin-top: calc(15 * var(--rem-pc));
      height: calc(120 * var(--rem-pc));
      background: var(--color-accent);
    }
  }
  .p-anchor-nav__item {
    grid-row: 1;
    &.--campaign {
      grid-column: 1;
      justify-self: end;
    }
    &.--limited {
      grid-column: 3;
      justify-self: start;
    }
  }
  .p-anchor-nav__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: var(--color-accent);
    font-family: var(--lp-font-en);
    font-weight: bold;
    white-space: nowrap;
    &::after {
      content: "";
      width: calc(26 * var(--rem-pc));
      height: calc(26 * var(--rem-pc));
      margin-top: calc(14 * var(--rem-pc));
      background: url(../img/icon_anchor.png) no-repeat center/contain;
    }
  }
  .p-anchor-nav__badge {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: calc(140 * var(--rem-pc));
    height: calc(64 * var(--rem-pc));
    background: var(--color-accent);
    border-radius: calc(8 * var(--rem-pc));
    color: #fff;
    font-size: calc(22 * var(--rem-pc));
    line-height: 1;
    letter-spacing: .05em;
    &::after {
      content: "";
      position: absolute;
      top: 100%;
      left: 50%;
      width: calc(16 * var(--rem-pc));
      height: calc(8 * var(--rem-pc));
      background: var(--color-accent);
      clip-path: polygon(0 0, 100% 0, 50% 100%);
      translate: -50% 0;
    }
  }
  .p-anchor-nav__badge-main {
    letter-spacing: .05em;
    margin-top: calc(5 * var(--rem-pc));
  }
  .p-anchor-nav__badge-sub {
    font-size: calc(14 * var(--rem-pc));
    font-weight: normal;
    letter-spacing: .005em;
  }
  .p-anchor-nav__image {
    width: calc(155 * var(--rem-pc));
    & img {
      width: 100%;
    }
  }
  .p-anchor-nav__label {
    .p-anchor-nav__badge + & {
      margin-top: calc(23 * var(--rem-pc));
    }
    .p-anchor-nav__image + & {
      margin-top: calc(15 * var(--rem-pc));
    }
    font-size: calc(24 * var(--rem-pc));
    line-height: 1;
    letter-spacing: .025em;
  }

  @media (min-width: 769px) {
    .u-d-md {
      display: none !important;
    }
  }

  @media not all and (min-width: 769px) {
    .u-d-lg {
      display: none !important;
    }
  }
}
