@charset "UTF-8";

:root {
  --pw: 1600;
  --sw: 750;
  --artboard-pw: 600;
  --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: #000;
  --color-accent: #c90a21;

  --color-red: #c90a21;
  --color-red-dot: #d3071a;
  --color-balloon-q: #e57878;
  --color-balloon-a: #ecaeb1;

  --radius-dome: 350;
  --radius-balloon: 26;
  --radius-button: 33;
  --radius-checkall: 60;

  --lp-font-en: helvetica-neue-lt-pro, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --lp-font-ja: helvetica-neue-lt-pro, hiragino-kaku-gothic-pron, "Helvetica Neue", Helvetica, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", HiraKakuProN-W3, "Yu Gothic", Meiryo, Arial, sans-serif;

  --transition-timing: cubic-bezier(0.51, 0.21, 0.41, 1);
  --letter-spacing: .07em;

  --z-base: 1;
  --z-sticky: 10;
  --z-modal-overlay: 1000;
  --z-modal: 1010;

  --z-sec-mv: 1;
  --z-sec-serum: 2;
  --z-sec-mask: 3;
  --z-sec-vcshot: 4;
  --z-sec-release: 5;
  --z-sec-footer: 6;
}

.lp_contents {
  position: relative;
  isolation: isolate;
  font-family: var(--lp-font-ja);
  color: var(--base-font-color, #000);
  font-style: normal;
  letter-spacing: var(--letter-spacing);
  background-color: #fff;

  & * {
    font-feature-settings: normal;
  }

  & *,
  & *: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, b) {
    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;
    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), border-color var(--duration) var(--timing);
  }

  & :where(a) {
    color: inherit;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;

    @media (any-hover: hover) {
      &:hover {
        --ani-opacity: .7;
        --ani-duration: .3s;
        --ani-delay: 0s;
        opacity: .7;
      }
    }
  }

  & :where(button) {
    background: none;
    border: none;
    color: inherit;
    cursor: pointer;
    outline: none;
    -webkit-tap-highlight-color: transparent;
  }
}

#Wrap {
  width: 100%;
}

#Contents {
  max-width: unset;
}

#footer,
footer,
#FooterWrap {
  position: relative;
  z-index: 2;
}

.lp_contents {
  & .u-d-lg {
    @media (max-width: 768px) {
      display: none !important;
    }
  }

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

.lp_contents {
  & .ani-inview {
    translate: 0 calc(60 * var(--rem));
    transition:
      opacity var(--ani-duration, 1s) ease var(--ani-delay, 0s),
      translate var(--ani-duration, 1s) ease var(--ani-delay, 0s);

    &.is-active {
      translate: 0 0;
    }
  }

  & .project-qa__question,
  & .project-qa__answer {
    transition: opacity 0s var(--qa-delay, 0s);
  }

  & .project-qa > *:nth-child(2) { --qa-delay: .6s; }
  & .project-qa > *:nth-child(3) { --qa-delay: 1.2s; }
  & .project-qa > *:nth-child(4) { --qa-delay: 1.8s; }
}

html.js .lp_contents {
  & .ani-inview {
    opacity: 0;
  }

  & .ani-inview.is-active {
    opacity: var(--ani-opacity, 1);
  }

  & .project-qa__question,
  & .project-qa__answer {
    opacity: 0;
  }

  & .project-qa.is-active > * {
    opacity: 1;
  }
}

.lp_contents {
  & .layout-columns {
    @media (min-width: 769px) {
      display: grid;
    }

    &.layout-columns--col-3 {
      @media (min-width: 769px) {
        grid-template-columns: 1fr calc(var(--artboard-pw) * var(--rem-pc)) 1fr;
      }
    }
  }

  & .layout-rail {
    display: none;

    @media (min-width: 769px) {
      position: sticky;
      top: 0;
      z-index: var(--z-sticky);
      display: grid;
      place-items: center;
      height: 100dvh;
      padding-top: var(--header-height, 0px);
    }
  }

  & .layout-primary {
    min-width: 0;
  }

  & .layout-inner {
    display: flow-root;
    width: calc(var(--artboard-sw) * var(--rem));
    margin-inline: auto;
    background-color: var(--color-red);
  }
}

@media (min-width: 769px) {
  .lp_contents {
    position: relative;
    &::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 108.6516 108.6516'%3E%3Ccircle cx='27.1629' cy='27.1629' r='3.86955' fill='%23c90a21'/%3E%3Ccircle cx='81.4887' cy='81.4887' r='3.86955' fill='%23c90a21'/%3E%3C/svg%3E");
      background-size: calc(108.6516 * var(--rem-pc)) calc(108.6516 * var(--rem-pc));
      background-repeat: repeat;
      background-attachment: fixed;
    }
    }
}

.lp_contents {
  & .project-section {
    position: relative;
    display: flow-root;
  }

  & .project-section--mv,
  & .project-section--serum,
  & .project-section--mask,
  & .project-section--vcshot {
    position: sticky;
    top: 0;
  }

  & .project-section--mv { z-index: var(--z-sec-mv); padding-top: calc(25 * var(--rem)); padding-bottom: calc(101 * var(--rem)); }
  & .project-section--serum { z-index: var(--z-sec-serum); padding-top: calc(100 * var(--rem)); padding-bottom: calc(100 * var(--rem)); }
  & .project-section--mask { z-index: var(--z-sec-mask); padding-top: calc(100 * var(--rem)); padding-bottom: calc(101 * var(--rem)); }
  & .project-section--vcshot { z-index: var(--z-sec-vcshot); padding-top: calc(100 * var(--rem)); padding-bottom: calc(100 * var(--rem)); }
  & .project-section--release { z-index: var(--z-sec-release); padding-top: calc(100 * var(--rem)); background: linear-gradient(to top, var(--color-red) 0%, var(--color-red) calc(70 * var(--rem)), transparent calc(70 * var(--rem)), transparent 100%); }
  & .project-section--footer { z-index: var(--z-sec-footer); padding-bottom: calc(99 * var(--rem)); background-color: var(--color-red);}

  & .project-panel {
    position: relative;
    display: flow-root;
    width: calc(700 * var(--rem));
    margin-inline: auto;
    padding-bottom: calc(101 * var(--rem));
    border-radius: calc(var(--radius-dome) * var(--rem)) calc(var(--radius-dome) * var(--rem)) calc(60 * var(--rem)) calc(60 * var(--rem));
    background-color: #fff;
  }

  & .project-section--mv > .project-panel,
  & .project-section--serum > .project-panel,
  & .project-section--mask > .project-panel { padding-bottom: calc(101 * var(--rem)); }
}

.lp_contents {
  & .project-flowers {
    display: flex;
    width: calc(431 * var(--rem));
    margin-inline: auto;
  }

  & .project-flowers__item {
    width: calc(41 * var(--rem));
    height: calc(52 * var(--rem));
    background-image: url(../img/flower_row.svg);
    background-repeat: no-repeat;
    background-size: calc(246 * var(--rem)) calc(52 * var(--rem));
    animation: lp-flower-cycle 6s steps(6) infinite;

    &:not(:first-child) {
      margin-left: calc(37 * var(--rem));
    }

    &:nth-child(2) { animation-delay: -5s; }
    &:nth-child(3) { animation-delay: -4s; }
    &:nth-child(4) { animation-delay: -3s; }
    &:nth-child(5) { animation-delay: -2s; }
    &:nth-child(6) { animation-delay: -1s; }
  }
}

@keyframes lp-flower-cycle {
  from { background-position-x: 0; }
  to { background-position-x: calc(-246 * var(--rem)); }
}

.lp_contents {
  & .c-kuten {
    letter-spacing: -.35em;
  }
}

.lp_contents {
  & .project-mv__link {
    display: block;
    transition: opacity .3s ease;

    @media (any-hover: hover) {
      &:hover {
        --ani-opacity: 1;
      }
    }
  }

  & .project-mv__logo {
    width: calc(415 * var(--rem));
    margin: calc(120 * var(--rem)) auto 0;
  }

  & .project-mv__kitty {
    width: calc(600 * var(--rem));
    margin: calc(38 * var(--rem)) auto 0;
  }

  & .project-mv__catch {
    margin-top: calc(77 * var(--rem));
    font-family: var(--lp-font-en);
    font-size: calc(36 * var(--rem));
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: .06em;
    padding-left: .06em;
    color: var(--color-red);
    text-align: center;
    white-space: nowrap;
  }

  & .project-mv__title {
    margin-top: calc(27 * var(--rem));
    font-family: var(--lp-font-en);
    font-size: calc(60 * var(--rem));
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: .061em;
    padding-left: .061em;
    color: var(--color-red);
    text-align: center;
    white-space: nowrap;
  }

  & .project-mv__flower {
    width: calc(52 * var(--rem));
    margin: calc(38 * var(--rem)) auto 0;
  }

  & .project-mv__rule {
    width: calc(606 * var(--rem));
    height: calc(6 * var(--rem));
    margin: calc(61 * var(--rem)) auto 0;
    background-image: radial-gradient(circle at calc(3 * var(--rem)) 50%, var(--color-red-dot) 0 calc(3 * var(--rem)), transparent calc(3 * var(--rem)));
    background-repeat: repeat-x;
    background-size: calc(20 * var(--rem)) calc(6 * var(--rem));
  }

  & .project-mv__dates {
    margin-top: calc(76 * var(--rem));
  }

  & .project-mv__date-row {
    display: flex;
    align-items: center;
    width: calc(503 * var(--rem));
    margin-inline: auto;
    font-family: var(--lp-font-en);
    font-size: calc(34 * var(--rem));
    font-weight: 400;
    line-height: 1.0709;
    letter-spacing: .034em;
    white-space: nowrap;

    & + & {
      margin-top: calc(30 * var(--rem));
    }

    &::after {
      order: 1;
      flex: 1;
      height: 1px;
      margin-inline: calc(20 * var(--rem));
      background-color: #000;
      content: "";
      @media (min-width: 769px) {
        height: 2px;
      }
    }
  }

  & .project-mv__date-label {
    letter-spacing: .059em;
  }

  & .project-mv__date-value {
    order: 2;
    letter-spacing: .053em;
    & .--small {
      font-size: calc(32 * var(--rem));
    }
  }

  & .project-mv__lead {
    font-size: calc(24 * var(--rem));
    line-height: 2.4632;
    letter-spacing: .093em;
    padding-left: .093em;
    text-align: center;
    white-space: nowrap;
  }

  & .project-mv__lead--a { margin-top: calc(54 * var(--rem)); --ani-delay: .9s; }
  & .project-mv__lead--b { margin-top: calc(31 * var(--rem)); --ani-delay: 1s; }
  & .project-mv__lead--c { margin-top: calc(49 * var(--rem)); line-height: 1.1265; --ani-delay: 1.1s; }
  & .project-mv__lead--d { margin-top: calc(50 * var(--rem)); line-height: 2.5264; --ani-delay: 1.2s; }

  & .project-flowers--mv { margin-top: calc(135 * var(--rem)); }
  & .project-flowers--nav { margin-top: calc(64 * var(--rem)); }
}

.lp_contents {
  & .project-nav {
    --ani-delay: 1.3s;
    display: flex;
    justify-content: space-between;
    width: calc(630 * var(--rem));
    margin: calc(27 * var(--rem)) auto 0;
  }

  & .project-nav__item {
    width: calc(190 * var(--rem));
  }

  & .project-nav__link {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  & .project-nav__photo {
    display: block;
    width: 100%;
  }

  & .project-nav__photo--serum,
  & .project-nav__photo--mask {
    margin-top: calc(55 * var(--rem));
  }

  & .project-nav__name {
    display: block;
    width: max-content;
    margin-top: calc(16 * var(--rem));
    font-family: var(--lp-font-en);
    font-size: calc(22 * var(--rem));
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: .065em;
    padding-left: .065em;
    color: var(--color-red);
    text-align: center;
    white-space: nowrap;
  }
}

.lp_contents {
  & .project-section--serum > .project-panel > .project-flowers { margin-top: calc(77 * var(--rem)); }
  & .project-section--mask > .project-panel > .project-flowers { margin-top: calc(91 * var(--rem)); }
  & .project-section--mask .project-item__credit { margin-top: calc(36 * var(--rem)); }
  & .project-section--vcshot .project-qa > :first-child { margin-top: calc(105 * var(--rem)); }
  & .project-section--vcshot > .project-panel > .project-flowers { margin-top: calc(80 * var(--rem)); }

  & .project-item__dome-flower {
    position: absolute;
    top: calc(-39 * var(--rem));
    left: 0;
    right: 0;
    z-index: var(--z-base);
    width: calc(99 * var(--rem));
    margin-inline: auto;

    &.project-item__dome-flower--wide {
      top: calc(-40 * var(--rem));
      width: calc(101 * var(--rem));
    }
  }

  & .project-item__title {
    margin-top: calc(134 * var(--rem));
    font-family: var(--lp-font-en);
    font-size: calc(56 * var(--rem));
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: .06em;
    padding-left: .06em;
    color: var(--color-red);
    text-align: center;
    white-space: nowrap;
  }

  & .project-item__lead {
    margin-top: calc(43 * var(--rem));
    font-size: calc(26 * var(--rem));
    line-height: 2.0422;
    letter-spacing: .07em;
    padding-left: .07em;
    text-align: center;
    white-space: nowrap;
  }

  & .project-item__photo {
    display: block;
    margin-inline: auto;
  }

  & .project-item__photo--serum { width: calc(450 * var(--rem)); margin-top: calc(43 * var(--rem)); }
  & .project-item__photo--mask { width: calc(450 * var(--rem)); margin-top: calc(44 * var(--rem)); }
  & .project-item__photo--vcshot { width: calc(540 * var(--rem)); margin-top: calc(42 * var(--rem)); }

  & .project-item__credit {
    display: block;
    margin-top: calc(44 * var(--rem));
    text-align: center;
  }

  & .project-item__name {
    display: block;
    font-size: calc(24 * var(--rem));
    line-height: 1.1265;
    letter-spacing: .085em;
    padding-left: .085em;
    white-space: nowrap;

    &.project-item__name--two {
      line-height: 1.8764;
    }
  }

  & .project-item__price-num {
    font-size: calc(24 * var(--rem));
    letter-spacing: .147em;
  }

  & .project-item__price-tax {
    font-size: calc(20 * var(--rem));
    letter-spacing: .147em;
    display: inline-block;
    translate: 0 -2px;
    & .text {
      display: inline-block;
      translate: 0 1px;
    }
  }

  & .project-item__price {
    display: block;
    height: calc(24.783 * var(--rem));
    margin-top: calc(26 * var(--rem));
    font-size: calc(22 * var(--rem));
    line-height: 1.1265;
    letter-spacing: .147em;
    padding-left: .147em;
    white-space: nowrap;
  }

  & .project-item__name--two + .project-item__price {
    margin-top: calc(15 * var(--rem));
  }

  & .component-button {
    display: grid;
    place-content: center;
    width: calc(260 * var(--rem));
    height: calc(66 * var(--rem));
    margin: calc(47 * var(--rem)) auto 0;
    border-radius: calc(var(--radius-button) * var(--rem));
    background-color: var(--color-red);
    font-family: var(--lp-font-en);
    font-size: calc(36 * var(--rem));
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: .08em;
    color: #fff;
    white-space: nowrap;
  }

  & .project-item__note sup {
    line-height: 0;
  }

  & .project-item__text,
  & .project-item__note {
    width: calc(600 * var(--rem));
    margin-inline: auto;
    text-align: justify;
    text-align-last: left;
  }

  & .project-item__text {
    margin-top: calc(111 * var(--rem));
    font-size: calc(24 * var(--rem));
    line-height: 2;
    letter-spacing: .083em;
  }

  & .project-item__note {
    margin-top: calc(31 * var(--rem));
    font-size: calc(20 * var(--rem));
    line-height: 1.5;
    letter-spacing: .04em;
  }

  & .project-section--mask .project-item__text {
    letter-spacing: .06em;
  }

  & .project-section--vcshot .project-item__text {
    letter-spacing: .073em;
  }

  & .project-item__note--tail {
    margin-top: calc(60 * var(--rem));
    letter-spacing: .117em;
    line-height: 1.1265;
    text-align-last: left;
    white-space: nowrap;
  }
}

.lp_contents {
  & .project-qa__question,
  & .project-qa__answer {
    position: relative;
    padding-inline: calc(50 * var(--rem));
    border-radius: calc(var(--radius-balloon) * var(--rem));
  }

  & .project-qa__question {
    display: grid;
    align-content: center;
    width: calc(430 * var(--rem));
    min-height: calc(108 * var(--rem));
    margin: calc(60 * var(--rem)) calc(55 * var(--rem)) 0 auto;
    background-color: var(--color-balloon-q);

    &::after {
      position: absolute;
      right: calc(-5 * var(--rem));
      bottom: calc(-10 * var(--rem));
      width: calc(85 * var(--rem));
      height: calc(70 * var(--rem));
      background-image: url(../img/balloon_tail_q.png);
      background-size: 100% 100%;
      content: "";
    }

    &.project-qa__question--tall {
      width: calc(400 * var(--rem));
      min-height: calc(149 * var(--rem));
    }
  }

  & .project-qa__question-text,
  & .project-qa__answer-text,
  & .project-qa__answer-heading,
  & .project-qa__list {
    position: relative;
    z-index: var(--z-base);
  }

  & .project-qa__question-text {
    padding-top: calc(4 * var(--rem));
    font-size: calc(28 * var(--rem));
    font-feature-settings: "palt" 1;
    line-height: 1.4643;
    letter-spacing: .15em;
    color: #fff;
    text-align: justify;
    text-align-last: left;
  }

  & .project-qa__answer {
    width: calc(550 * var(--rem));
    min-height: calc(380 * var(--rem));
    margin: calc(60 * var(--rem)) auto 0 calc(55 * var(--rem));
    padding-top: calc(35 * var(--rem));
    background-color: var(--color-balloon-a);

    &::after {
      position: absolute;
      left: calc(-5 * var(--rem));
      bottom: calc(-10 * var(--rem));
      width: calc(85 * var(--rem));
      height: calc(70 * var(--rem));
      background-image: url(../img/balloon_tail_a.png);
      background-size: 100% 100%;
      content: "";
    }

    &.project-qa__answer--tall {
      min-height: calc(463 * var(--rem));
    }
  }

  & .project-section--mask .project-qa__answer {
    min-height: calc(381 * var(--rem));
  }

  & .project-qa__answer-text {
    font-size: calc(26 * var(--rem));
    font-feature-settings: "palt" 1;
    line-height: 1.5;
    letter-spacing: .14em;
    color: #fff;
    text-align: justify;
    text-align-last: left;
  }

  & .project-qa__answer-heading {
    margin-top: calc(3 * var(--rem));
    font-size: calc(26 * var(--rem));
    line-height: 1.1265;
    letter-spacing: .05em;
    color: #fff;
    white-space: nowrap;
  }

  & .project-qa__list {
    margin-top: calc(28 * var(--rem));
    font-size: calc(24 * var(--rem));
    line-height: 1.5;
    color: #fff;
  }

  & .project-qa__list li {
    letter-spacing: .07em;

    &::before {
      display: inline-block;
      width: calc(12 * var(--rem));
      height: calc(12 * var(--rem));
      margin-right: calc(16 * var(--rem));
      border-radius: 50%;
      background-color: #fff;
      vertical-align: calc(3 * var(--rem));
      content: "";
    }
  }

  & .project-qa__icon {
    position: absolute;
    z-index: var(--z-base);
    width: calc(37 * var(--rem));
  }

  & .project-qa__question .project-qa__icon {
    top: calc(-16 * var(--rem));
    left: calc(-7 * var(--rem));
  }

  & .project-qa__answer .project-qa__icon {
    top: calc(-15 * var(--rem));
    right: calc(-8 * var(--rem));
    width: calc(38 * var(--rem));
  }

  & .project-qa > :first-child {
    margin-top: calc(112 * var(--rem));
  }
}

.lp_contents {
  & .project-release__title {
    margin-top: calc(139 * var(--rem));
    font-family: var(--lp-font-en);
    font-size: calc(56 * var(--rem));
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: .069em;
    padding-left: .069em;
    color: var(--color-red);
    text-align: center;
    white-space: nowrap;
  }

  & .project-release__date {
    margin-top: calc(68 * var(--rem));
    font-size: calc(28 * var(--rem));
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: .132em;
    text-align: center;
    white-space: nowrap;

    &.project-release__date--national {
      margin-top: calc(73 * var(--rem));
    }
  }

  & .project-release__date-num,
  & .project-release__date-day {
    font-weight: 700;
    line-height: .94;
    letter-spacing: .139em;
  }

  & .project-release__date-num {
    font-size: calc(34 * var(--rem));
  }

  & .project-release__date-day {
    font-size: calc(32 * var(--rem));
  }

  & .project-release__store-label {
    margin-top: calc(43 * var(--rem));
    font-family: var(--lp-font-en);
    font-size: calc(26 * var(--rem));
    font-weight: 400;
    line-height: 1.0709;
    letter-spacing: .064em;
    padding-left: .064em;
    text-align: center;
    white-space: nowrap;

    &.project-release__store-label--shop {
      margin-top: calc(37 * var(--rem));
    }
  }

  & .project-release__store {
    margin-top: calc(19 * var(--rem));
    font-size: calc(22 * var(--rem));
    line-height: 1.1265;
    letter-spacing: .099em;
    padding-left: .099em;
    text-align: center;
    white-space: nowrap;

    &.project-release__store--three {
      margin-top: calc(11 * var(--rem));
      line-height: 2;
    }

    &.project-release__store--two {
      margin-top: calc(11 * var(--rem));
      line-height: 1.955;
    }
  }

  & .project-release__store-ja {
    font-size: calc(20 * var(--rem));
  }

  & .project-flowers--release {
    margin-top: calc(69 * var(--rem));
  }
}

.lp_contents {
  & .project-checkall {
    position: relative;
    display: flow-root;
    margin-top: calc(100 * var(--rem));
  }

  & .project-checkall__kitty {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: var(--z-base);
    width: calc(179 * var(--rem));
    margin-inline: auto;
  }

  & .project-checkall__button {
    display: grid;
    place-content: center;
    row-gap: calc(15 * var(--rem));
    width: calc(640 * var(--rem));
    height: calc(120 * var(--rem));
    margin: calc(125 * var(--rem)) auto 0;
    border-radius: calc(var(--radius-checkall) * var(--rem));
    background-color: #fff;
    font-family: var(--lp-font-en);
    font-weight: 500;
    color: var(--color-red);
    text-align: center;
    white-space: nowrap;
  }

  & .project-checkall__brand {
    font-size: calc(24 * var(--rem));
    line-height: 1.0709;
    letter-spacing: .058em;
  }

  & .project-checkall__label {
    font-size: calc(46 * var(--rem));
    line-height: 1;
    letter-spacing: .02em;
  }

  & .project-copyright {
    margin-top: calc(100 * var(--rem));
    font-family: var(--lp-font-en);
    font-size: calc(20 * var(--rem));
    font-weight: 400;
    line-height: 1.0709;
    letter-spacing: .06em;
    padding-left: .06em;
    color: #fff;
    text-align: center;
    white-space: nowrap;
  }
}

@media (min-width: 769px) {
  .lp_contents {
    & .project-rail__logo {
      width: calc(299 * var(--rem-pc));
      margin-inline: auto;
    }

    & .layout-rail--left .project-rail__group {
      width: calc(299 * var(--rem-pc));
      background-color: #fff;
    }

    & .project-rail__dates {
      margin-top: calc(38 * var(--rem-pc));
    }

    & .project-rail__date-row {
      display: flex;
      align-items: center;
      width: calc(240 * var(--rem-pc));
      margin-inline: auto;
      font-family: var(--lp-font-en);
      font-size: calc(16 * var(--rem-pc));
      font-weight: 400;
      line-height: 1.0709;
      letter-spacing: .045em;
      white-space: nowrap;

      & + & {
        margin-top: calc(21 * var(--rem-pc));
      }

      &::after {
        order: 1;
        flex: 1;
        height: 1px;
        margin-inline: calc(9 * var(--rem-pc));
        background-color: #000;
        content: "";
      }
    }

    & .project-rail__date-label {
      letter-spacing: .059em;
    }

    & .project-rail__date-value {
      order: 2;
      letter-spacing: .053em;
      & .--small {
        font-size: calc(15.2 * var(--rem-pc));
      }
    }

    & .project-rail__group {
      position: relative;
    }

    & .layout-rail--right .project-rail__group {
      &::before,
      &::after {
        position: absolute;
        left: 50%;
        z-index: 0;
        translate: -50% 0;
        background-color: #fff;
        content: "";
      }

      &::before {
        top: 0;
        width: calc(136 * var(--rem-pc));
        height: calc(82 * var(--rem-pc));
      }

      &::after {
        bottom: calc(-10 * var(--rem-pc));
        width: calc(372 * var(--rem-pc));
        height: calc(166 * var(--rem-pc));
        /* ▼ 角丸の5角形を作るマスク ▼ */
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 372 166' preserveAspectRatio='none'%3E%3Cpath d='M186,10 L362,70 L362,156 L10,156 L10,70 Z' fill='black' stroke='black' stroke-width='20' stroke-linejoin='round'/%3E%3C/svg%3E");
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 372 166' preserveAspectRatio='none'%3E%3Cpath d='M186,10 L362,70 L362,156 L10,156 L10,70 Z' fill='black' stroke='black' stroke-width='20' stroke-linejoin='round'/%3E%3C/svg%3E");
        -webkit-mask-size: 100% 100%;
        mask-size: 100% 100%;
      }
    }

    & .project-rail__kitty {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      z-index: 5;
      width: calc(108 * var(--rem-pc));
      margin-inline: auto;
    }

    & .project-rail__button {
      position: relative;
      display: grid;
      place-content: center;
      row-gap: calc(8 * var(--rem-pc));
      z-index: var(--z-base);
      width: calc(360 * var(--rem-pc));
      height: calc(72 * var(--rem-pc));
      margin: calc(75 * var(--rem-pc)) auto 0;
      border-radius: calc(36 * var(--rem-pc));
      background-color: var(--color-red);
      font-family: var(--lp-font-en);
      font-weight: 500;
      color: #fff;
      text-align: center;
      white-space: nowrap;
    }

    & .project-rail__brand {
      font-size: calc(13 * var(--rem-pc));
      line-height: 1.0709;
      letter-spacing: .096em;
    }

    & .project-rail__label {
      font-size: calc(25 * var(--rem-pc));
      line-height: 1;
      letter-spacing: .079em;
    }
  }
}

.lp_contents .project-anchor {
  height: 0;
}

@media (prefers-reduced-motion: reduce) {
  .lp_contents .ani-inview,
  .lp_contents .project-qa__question,
  .lp_contents .project-qa__answer {
    opacity: 1;
    translate: 0 0;
    transition: none;
  }

  .lp_contents .project-flowers__item {
    animation-play-state: paused;
  }
}
