@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: #910718;
  --color-red: #910718;
  --color-white: #fff;
  --color-circle: #efdbdd;
  --color-circle-dark: #a73946;

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

  --ease-sway: ease-in-out;
  --duration-fade: 1s;
  --duration-slide: 1s;
  --duration-arc-line: 1s;
  --delay-arc-line: .15s;
  --duration-char: .2s;
  --delay-char: 0s;
  --duration-circle: 1s;
  --delay-circle: .5s;
  --duration-sway: 3.4s;
  --letter-spacing: .075em;

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

.lp_contents {
  position: relative;
  background-color: var(--color-red);
  font-family: var(--lp-font-base);
  color: var(--base-font-color, #000);
  font-style: normal;
  letter-spacing: var(--letter-spacing);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  & * {
    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, 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;
  }

  & :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 {
        opacity: .7;
      }
    }

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

  & :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 {
    transition: opacity var(--duration-fade) ease;
  }
}

html.js .lp_contents {
  & .project-item__name-line {
    visibility: hidden;
  }

  & .ani-inview {
    opacity: 0;

    &.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;
    overflow: hidden;
  }

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

.lp_contents {
  & .component-release {
    font-family: var(--lp-font-en);
    font-weight: 500;
    letter-spacing: .06em;
    text-align: center;
    white-space: nowrap;
  }

  & .component-release__title {
    letter-spacing: .06em;
    line-height: 1;
  }

  & .component-release__row {
    display: flex;
    align-items: flex-start;
    margin-inline: auto;
    line-height: 1;
    letter-spacing: .06em;
  }

  & .component-release__label,
  & .component-release__line,
  & .component-release__date {
    letter-spacing: .06em;
  }

  & .component-release__line {
    flex: 1;
    background-color: currentColor;
  }

  & .component-release__day {
    letter-spacing: .06em;
  }
}

.lp_contents {
  & .project-mv {
    display: flow-root;
    padding-bottom: calc(95 * var(--rem));
    background-color: var(--color-white);
  }

  & .project-mv__visual {
    position: relative;
    width: calc(700 * var(--rem));
    margin-top: calc(25 * var(--rem));
    margin-inline: auto;
  }

  & .project-mv__link {
    display: block;
  }

  & .project-mv__photo {
    border-radius: calc(60 * var(--rem));
  }

  & .project-mv__logo-kitty,
  & .project-mv__logo-toone {
    position: absolute;
    inset-inline: 0;
    margin-inline: auto;
  }

  & .project-mv__logo-kitty {
    top: calc(60 * var(--rem));
    width: calc(413 * var(--rem));
  }

  & .project-mv__logo-toone {
    top: calc(926 * var(--rem));
    width: calc(234 * var(--rem));
  }

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

  & .project-mv__release .component-release__title {
    font-size: calc(38 * var(--rem));
  }

  & .project-mv__release .component-release__row {
    gap: calc(20 * var(--rem));
    width: calc(400 * var(--rem));
    font-size: calc(34 * var(--rem));
  }

  & .project-mv__release .component-release__row--1st {
    margin-top: calc(36 * var(--rem));
  }

  & .project-mv__release .component-release__row--2nd {
    margin-top: calc(32 * var(--rem));
  }

  & .project-mv__release .component-release__line {
    height: 1px;

    @media (min-width: 769px) {
      height: 2px;
    }
  }

  & .project-mv__release .component-release__row--1st .component-release__line {
    margin-top: calc(20 * var(--rem));
  }

  & .project-mv__release .component-release__row--2nd .component-release__line {
    margin-top: calc(15 * var(--rem));
  }

  & .project-mv__release .component-release__day {
    font-size: calc(32 * var(--rem));
  }
}

.lp_contents {
  & .project-lead {
    display: flow-root;
    padding-bottom: calc(80 * var(--rem));
    background-color: var(--color-red);
  }

  & .project-lead__card {
    position: relative;
    width: calc(660 * var(--rem));
    margin-top: calc(271 * var(--rem));
    margin-inline: auto;
    padding: calc(106 * var(--rem)) 0 calc(61 * var(--rem));
    border-radius: calc(60 * var(--rem));
    background-color: var(--color-white);
    text-align: center;
  }

  & .project-lead__kitty {
    position: absolute;
    top: calc(-151 * var(--rem));
    inset-inline: 0;
    width: calc(169 * var(--rem));
    margin-inline: auto;
  }

  & .project-lead__title {
    font-family: var(--lp-font-en);
    font-size: calc(52 * var(--rem));
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 1;
    white-space: nowrap;
  }

  & .project-lead__text {
    font-size: calc(24 * var(--rem));
    letter-spacing: .15em;
    line-height: 2;
    white-space: nowrap;
  }

  & .project-lead__text--1 {
    margin-top: calc(64 * var(--rem));
  }

  & .project-lead__text--2 {
    margin-top: calc(37 * var(--rem));
  }

  & .project-lead__text--3 {
    margin-top: calc(37 * var(--rem));
  }

  & .project-lead__cake {
    width: calc(101 * var(--rem));
    margin-top: calc(66 * var(--rem));
    margin-inline: auto;
  }
}

.lp_contents {
  & .project-look {
    display: flow-root;
    overflow: hidden;
  }

  & .project-look--01 {
    padding-bottom: calc(75 * var(--rem));
    background: linear-gradient(var(--color-red) calc(745 * var(--rem)), var(--color-white) 0) no-repeat var(--color-white);
  }

  & .project-look--02 {
    margin-top: -1px;
    padding-top: 1px;
    padding-bottom: calc(160 * var(--rem));
    background: linear-gradient(var(--color-white) calc(753 * var(--rem) + 1px), var(--color-red) 0) no-repeat var(--color-red);
  }

  & .project-look__title {
    width: calc(295 * var(--rem));
  }

  & .project-look--01 .project-look__title {
    margin-top: calc(79 * var(--rem));
    margin-left: calc(244 * var(--rem));
  }

  & .project-look--02 .project-look__title {
    width: calc(302 * var(--rem));
    margin-top: calc(85 * var(--rem));
    margin-left: calc(233 * var(--rem));
  }

  & .project-look__slider {
    width: calc(700 * var(--rem));
    margin-inline: auto;
    overflow: hidden;
  }

  & .project-look--01 .project-look__slider {
    margin-top: calc(40 * var(--rem));
  }

  & .project-look--02 .project-look__slider {
    margin-top: calc(40 * var(--rem));
  }

  & .project-look__dots {
    display: flex;
    justify-content: center;
    gap: calc(20 * var(--rem));
  }

  & .project-look--01 .project-look__dots {
    margin-top: calc(40 * var(--rem));
  }

  & .project-look--02 .project-look__dots {
    margin-top: calc(40 * var(--rem));
  }

  & .project-look__dot {
    display: block;
    position: relative;
    width: calc(72 * var(--rem));
    height: calc(60 * var(--rem));
    padding: 0;
    background: url(../img/look-dot.png) center / contain no-repeat;
    cursor: pointer;
  }

  & .project-look__dot::before {
    position: absolute;
    inset: calc(-12 * var(--rem)) calc(-10 * var(--rem));
    content: "";
  }

  & .project-look__dot:focus-visible {
    outline: calc(2 * var(--rem)) solid currentColor;
    outline-offset: calc(4 * var(--rem));
  }

  & .project-look__dot::after {
    position: absolute;
    inset: 0;
    background: url(../img/look-dot-current.png) center / contain no-repeat;
    opacity: 0;
    transition: opacity var(--duration-slide) ease;
    content: "";
  }

  & .project-look__dot--current::after {
    opacity: 1;
  }

  & .project-look--02 .project-look__dots {
    color: var(--color-white);
  }

  & .project-look__howto {
    font-family: var(--lp-font-en);
    font-size: calc(64 * var(--rem));
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
  }

  & .project-look--01 .project-look__howto {
    margin-top: calc(116 * var(--rem));
  }

  & .project-look--02 .project-look__howto {
    margin-top: calc(116 * var(--rem));
    color: var(--color-white);
  }

  & .project-look__all {
    display: grid;
    place-items: center;
    width: calc(560 * var(--rem));
    height: calc(76 * var(--rem));
    margin-inline: auto;
    border-radius: calc(38 * var(--rem));
    background-color: var(--color-red);
    font-family: var(--lp-font-en);
    font-size: calc(40 * var(--rem));
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 1;
    color: var(--color-white);
    white-space: nowrap;
  }

  & .project-look--01 .project-look__all {
    margin-top: calc(100 * var(--rem));
  }

  & .project-look--02 .project-look__all {
    margin-top: calc(100 * var(--rem));
    background-color: var(--color-white);
    color: var(--color-red);
  }
}

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

    &::before {
      position: absolute;
      top: 0;
      left: 50%;
      width: var(--size-circle);
      height: var(--size-circle);
      border: calc(3 * var(--rem)) solid var(--color-circle);
      border-radius: 50%;
      translate: -50% 0;
      content: "";
    }
  }

  & .project-look--02 .project-item::before {
    border-color: var(--color-circle-dark);
  }

  & .project-item__name {
    position: relative;
    width: calc(750 * var(--rem));
    height: calc(150 * var(--rem));

    & svg {
      display: block;
      width: 100%;
      height: 100%;
      overflow: visible;
    }

    & text {
      font-family: var(--lp-font-en);
      font-weight: 500;
      letter-spacing: .05em;
      fill: var(--color-red);
    }
  }

  & .project-item__name-line--1,
  & .project-item__name-char--1 {
    font-size: 40px;
  }

  & .project-item__name-line--2,
  & .project-item__name-char--2 {
    font-size: 32px;
  }

  & .project-look--02 .project-item__name text {
    fill: var(--color-white);
  }

  & .project-item__image {
    position: relative;
    background-color: var(--color-white);

    & a {
      display: block;
    }
  }

  & .project-look--02 .project-item__image {
    background-color: var(--color-red);
  }

  & .project-item__credit {
    display: block;
    position: relative;
    text-align: center;
    white-space: nowrap;
    letter-spacing: .15em;
  }

  & .project-item__jp {
    display: block;
    font-size: calc(24 * var(--rem));
    letter-spacing: .15em;
    line-height: 1.6;
  }

  & .project-item__price {
    display: block;
    font-size: calc(24 * var(--rem));
    letter-spacing: .15em;
    line-height: calc(32 * var(--rem));
  }

  & .project-item__price-yen {
    letter-spacing: .15em;
  }

  & .project-item__price-tax {
    font-size: calc(20 * var(--rem));
    letter-spacing: .15em;
    line-height: 1;
  }

  & .project-item__button {
    display: grid;
    position: relative;
    place-items: center;
    width: calc(280 * var(--rem));
    height: calc(76 * var(--rem));
    margin-inline: auto;
    border-radius: calc(38 * var(--rem));
    background-color: var(--color-red);
    font-family: var(--lp-font-en);
    font-size: calc(40 * var(--rem));
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 1;
    color: var(--color-white);
    white-space: nowrap;
  }

  & .project-item__button--soon {
    width: calc(440 * var(--rem));
  }

  & .project-look--02 .project-item__button {
    background-color: var(--color-white);
    color: var(--color-red);
  }

  & .project-item__text {
    position: relative;
    font-size: calc(24 * var(--rem));
    letter-spacing: .15em;
    line-height: 1.75;
    text-align: center;
    white-space: nowrap;
  }

  & .project-look--02 .project-item__credit,
  & .project-look--02 .project-item__text {
    color: var(--color-white);
  }

  & .project-look--01 .project-item--eye {
    --size-circle: calc(1327 * var(--rem));
    margin-top: calc(51 * var(--rem));
    padding-bottom: calc(138 * var(--rem));
  }

  & .project-look--01 .project-item--eye .project-item__name {
    margin-top: calc(60 * var(--rem));
  }

  & .project-look--01 .project-item--eye .project-item__image {
    width: calc(560 * var(--rem));
    margin-top: calc(54 * var(--rem));
    margin-inline: auto;
  }

  & .project-look--01 .project-item--eye .project-item__credit {
    margin-top: calc(40 * var(--rem));
  }

  & .project-look--01 .project-item--eye .project-item__price {
    margin-top: calc(18 * var(--rem));
  }

  & .project-look--01 .project-item--eye .project-item__button {
    margin-top: calc(41 * var(--rem));
  }

  & .project-look--01 .project-item--eye .project-item__text {
    margin-top: calc(74 * var(--rem));
  }

  & .project-look--01 .project-item--layered {
    --size-circle: calc(1327 * var(--rem));
    margin-top: calc(60 * var(--rem));
    padding-bottom: calc(138 * var(--rem));
  }

  & .project-look--01 .project-item--layered .project-item__name {
    margin-top: calc(60 * var(--rem));
  }

  & .project-look--01 .project-item--layered .project-item__image {
    width: calc(632 * var(--rem));
    margin-top: calc(54 * var(--rem));
    margin-left: calc(41 * var(--rem));
  }

  & .project-look--01 .project-item--layered .project-item__credit {
    margin-top: calc(15 * var(--rem));
  }

  & .project-look--01 .project-item--layered .project-item__price {
    margin-top: calc(18 * var(--rem));
  }

  & .project-look--01 .project-item--layered .project-item__button {
    margin-top: calc(41 * var(--rem));
  }

  & .project-look--01 .project-item--layered .project-item__text {
    margin-top: calc(74 * var(--rem));
  }

  & .project-look--01 .project-item--gloss {
    --size-circle: calc(1284 * var(--rem));
    margin-top: calc(59 * var(--rem));
    padding-bottom: calc(137 * var(--rem));
  }

  & .project-look--01 .project-item--gloss .project-item__name {
    margin-top: calc(60 * var(--rem));
  }

  & .project-look--01 .project-item--gloss .project-item__image {
    width: calc(467 * var(--rem));
    margin-top: calc(14 * var(--rem));
    margin-left: calc(156 * var(--rem));
  }

  & .project-look--01 .project-item--gloss .project-item__credit {
    margin-top: calc(40 * var(--rem));
  }

  & .project-look--01 .project-item--gloss .project-item__price {
    margin-top: calc(18 * var(--rem));
  }

  & .project-look--01 .project-item--gloss .project-item__button {
    margin-top: calc(41 * var(--rem));
  }

  & .project-look--01 .project-item--gloss .project-item__text {
    margin-top: calc(74 * var(--rem));
  }

  & .project-look--02 .project-item--eye {
    --size-circle: calc(1327 * var(--rem));
    margin-top: calc(51 * var(--rem));
    padding-bottom: calc(138 * var(--rem));
  }

  & .project-look--02 .project-item--eye .project-item__name {
    margin-top: calc(60 * var(--rem));
  }

  & .project-look--02 .project-item--eye .project-item__image {
    width: calc(560 * var(--rem));
    margin-top: calc(54 * var(--rem));
    margin-inline: auto;
  }

  & .project-look--02 .project-item--eye .project-item__credit {
    margin-top: calc(40 * var(--rem));
  }

  & .project-look--02 .project-item--eye .project-item__price {
    margin-top: calc(18 * var(--rem));
  }

  & .project-look--02 .project-item--eye .project-item__button {
    margin-top: calc(41 * var(--rem));
  }

  & .project-look--02 .project-item--eye .project-item__text {
    margin-top: calc(74 * var(--rem));
  }

  & .project-look--02 .project-item--layered {
    --size-circle: calc(1368 * var(--rem));
    margin-top: calc(60 * var(--rem));
    padding-bottom: calc(137 * var(--rem));
  }

  & .project-look--02 .project-item--layered .project-item__name {
    margin-top: calc(60 * var(--rem));
  }

  & .project-look--02 .project-item--layered .project-item__image {
    width: calc(632 * var(--rem));
    margin-top: calc(54 * var(--rem));
    margin-left: calc(41 * var(--rem));
  }

  & .project-look--02 .project-item--layered .project-item__credit {
    margin-top: calc(15 * var(--rem));
  }

  & .project-look--02 .project-item--layered .project-item__price {
    margin-top: calc(18 * var(--rem));
  }

  & .project-look--02 .project-item--layered .project-item__button {
    margin-top: calc(41 * var(--rem));
  }

  & .project-look--02 .project-item--layered .project-item__text {
    margin-top: calc(74 * var(--rem));
  }

  & .project-look--02 .project-item--gloss {
    --size-circle: calc(1285 * var(--rem));
    margin-top: calc(59 * var(--rem));
    padding-bottom: calc(138 * var(--rem));
  }

  & .project-look--02 .project-item--gloss .project-item__name {
    margin-top: calc(60 * var(--rem));
  }

  & .project-look--02 .project-item--gloss .project-item__image {
    width: calc(467 * var(--rem));
    margin-top: calc(14 * var(--rem));
    margin-left: calc(156 * var(--rem));
  }

  & .project-look--02 .project-item--gloss .project-item__credit {
    margin-top: calc(40 * var(--rem));
  }

  & .project-look--02 .project-item--gloss .project-item__price {
    margin-top: calc(18 * var(--rem));
  }

  & .project-look--02 .project-item--gloss .project-item__button {
    margin-top: calc(41 * var(--rem));
  }

  & .project-look--02 .project-item--gloss .project-item__text {
    margin-top: calc(74 * var(--rem));
  }
}

.lp_contents {
  & .project-lineup {
    display: flow-root;
    padding-bottom: calc(140 * var(--rem));
    background-color: var(--color-white);
  }

  & .project-lineup__logo {
    width: calc(644 * var(--rem));
    margin-top: calc(140 * var(--rem));
    margin-inline: auto;
  }

  & .project-lineup__title {
    margin-top: calc(35 * var(--rem));
    font-family: var(--lp-font-en);
    font-size: calc(64 * var(--rem));
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
  }

  & .project-lineup__photo {
    width: calc(660 * var(--rem));
    margin-top: calc(51 * var(--rem));
    margin-inline: auto;
    background-color: var(--color-white);

    & a {
      display: block;
    }

    & img {
      border-radius: calc(60 * var(--rem));
    }
  }

  & .project-lineup__button {
    display: grid;
    place-items: center;
    width: calc(520 * var(--rem));
    height: calc(76 * var(--rem));
    margin-top: calc(80 * var(--rem));
    margin-inline: auto;
    border-radius: calc(38 * var(--rem));
    background-color: var(--color-red);
    font-size: calc(34 * var(--rem));
    font-weight: 700;
    letter-spacing: .15em;
    line-height: 1;
    color: var(--color-white);
    white-space: nowrap;
  }
}

.lp_contents {
  & .project-release {
    display: flow-root;
    padding-bottom: calc(100 * var(--rem));
    background-color: var(--color-red);
    color: var(--color-white);
    text-align: center;
  }

  & .project-release__title {
    margin-top: calc(129 * var(--rem));
    font-family: var(--lp-font-en);
    font-size: calc(56 * var(--rem));
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 1.25;
    white-space: nowrap;
  }

  & .project-release__date {
    font-size: calc(34 * var(--rem));
    font-weight: 700;
    letter-spacing: .15em;
    line-height: 1;
    white-space: nowrap;
  }

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

  & .project-release__date--1st {
    margin-top: calc(48 * var(--rem));
  }

  & .project-release__date--2nd {
    margin-top: calc(87 * var(--rem));
  }

  & .project-release__head {
    font-family: var(--lp-font-en);
    font-size: calc(26 * var(--rem));
    letter-spacing: .06em;
    line-height: 1;
    white-space: nowrap;
  }

  & .project-release__head--web1 {
    margin-top: calc(40 * var(--rem));
  }

  & .project-release__head--web2 {
    margin-top: calc(40 * var(--rem));
  }

  & .project-release__head--store1 {
    margin-top: calc(37 * var(--rem));
  }

  & .project-release__head--store2 {
    margin-top: calc(37 * var(--rem));
  }

  & .project-release__shops {
    font-size: calc(22 * var(--rem));
    letter-spacing: .1em;
    line-height: 2;
    white-space: nowrap;
  }

  & .project-release__shops--web1 {
    margin-top: calc(13 * var(--rem));
  }

  & .project-release__shops--web2 {
    margin-top: calc(13 * var(--rem));
  }

  & .project-release__shops--store1 {
    margin-top: calc(13 * var(--rem));
  }

  & .project-release__shops--store2 {
    margin-top: calc(13 * var(--rem));
  }

  & .project-release__ja {
    font-size: calc(20 * var(--rem));
    letter-spacing: .1em;
  }

  & .project-release__all {
    display: block;
    position: relative;
    width: calc(257 * var(--rem));
    margin-top: calc(219 * var(--rem));
    margin-inline: auto;
  }

  & .project-release__all-arc {
    position: absolute;
    top: calc(-110 * var(--rem));
    left: calc(-151 * var(--rem));
    width: calc(560 * var(--rem));
    height: calc(560 * var(--rem));
    overflow: visible;
    pointer-events: none;

    & text {
      pointer-events: auto;
      font-family: var(--lp-font-en);
      font-size: 52px;
      font-weight: 500;
      letter-spacing: .02em;
      fill: var(--color-white);
    }
  }

  & .project-release__copy {
    margin-top: calc(101 * var(--rem));
    font-family: var(--lp-font-en);
    font-size: calc(20 * var(--rem));
    letter-spacing: .06em;
    line-height: 1;
    white-space: nowrap;
  }
}

.lp_contents {
  & .project-calendar {
    width: calc(660 * var(--rem));
    margin-top: calc(105 * var(--rem));
    margin-inline: auto;
    padding: calc(58 * var(--rem)) 0 calc(80 * var(--rem));
    border-radius: calc(60 * var(--rem));
    background-color: var(--color-white);
    color: var(--color-red);
    font-family: var(--lp-font-en);
  }

  & .project-calendar__month {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: calc(8 * var(--rem));
    letter-spacing: 0;
  }

  & .project-calendar__num {
    font-size: calc(110 * var(--rem));
    letter-spacing: 0;
    line-height: 1;
  }

  & .project-calendar__year {
    display: block;
    margin-top: calc(8 * var(--rem));
    letter-spacing: 0;
  }

  & .project-calendar__year-num {
    display: block;
    font-size: calc(36 * var(--rem));
    letter-spacing: 0;
    line-height: 1;
    text-align: left;
  }

  & .project-calendar__november {
    width: calc(158 * var(--rem));
    margin-top: calc(8 * var(--rem));
  }

  & .project-calendar__days {
    display: grid;
    grid-template-columns: repeat(7, calc(78 * var(--rem)));
    grid-auto-rows: calc(32 * var(--rem));
    justify-content: center;
    row-gap: calc(40 * var(--rem));
    margin-top: calc(41 * var(--rem));
  }

  & .project-calendar__day {
    position: relative;
    font-size: calc(32 * var(--rem));
    letter-spacing: 0;
    line-height: 1;
    text-align: center;
  }

  & .project-calendar__mark {
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(63 * var(--rem));
    height: calc(63 * var(--rem));
    translate: -50% -50%;
    letter-spacing: 0;
  }

  & .project-calendar__circle {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
    rotate: -90deg;

    & circle {
      fill: none;
      stroke: var(--color-red);
      stroke-width: 3;
    }
  }

  & .project-calendar__bow {
    position: absolute;
    top: calc(-10 * var(--rem));
    left: calc(32 * var(--rem));
    width: calc(41 * var(--rem));
    transform-origin: 50% 45%;
  }
}

.lp_contents {
  & .project-rail--left {
    width: calc(299 * var(--rem-pc));
    color: var(--color-white);
  }

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

  & .project-rail__release .component-release__title {
    font-size: calc(18 * var(--rem-pc));
  }

  & .project-rail__release .component-release__row {
    gap: calc(10 * var(--rem-pc));
    width: calc(191 * var(--rem-pc));
    font-size: calc(16 * var(--rem-pc));
  }

  & .project-rail__release .component-release__row--1st {
    margin-top: calc(21 * var(--rem-pc));
  }

  & .project-rail__release .component-release__row--2nd {
    margin-top: calc(16 * var(--rem-pc));
  }

  & .project-rail__release .component-release__line {
    height: 1px;
  }

  & .project-rail__release .component-release__row--1st .component-release__line {
    margin-top: calc(7 * var(--rem-pc));
  }

  & .project-rail__release .component-release__row--2nd .component-release__line {
    margin-top: calc(6 * var(--rem-pc));
  }

  & .project-rail__release .component-release__day {
    font-size: calc(15 * var(--rem-pc));
  }

  & .project-rail--right {
    width: calc(414 * var(--rem-pc));
    color: var(--color-white);
  }

  & .project-pcnav__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }

  & .project-pcnav__item {
    height: calc(140 * var(--rem-pc));
  }

  & .project-pcnav__item + .project-pcnav__item {
    border-left: calc(2 * var(--rem-pc)) solid var(--color-white);
  }

  & .project-pcnav__link {
    display: block;
    padding-top: calc(10 * var(--rem-pc));
    text-align: center;
    letter-spacing: .06em;
  }

  & .project-pcnav__thumb {
    width: calc(55 * var(--rem-pc));
    margin-inline: auto;
  }

  & .project-pcnav__name {
    display: block;
    margin-top: calc(8 * var(--rem-pc));
    font-family: var(--lp-font-en);
    font-size: calc(11 * var(--rem-pc));
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 1.2;
    white-space: nowrap;
  }

  & .project-pcnav__button {
    display: grid;
    place-items: center;
    width: calc(82 * var(--rem-pc));
    height: calc(18 * var(--rem-pc));
    margin-top: calc(8 * var(--rem-pc));
    margin-inline: auto;
    border-radius: calc(9 * var(--rem-pc));
    background-color: var(--color-white);
    font-family: var(--lp-font-en);
    font-size: calc(11 * var(--rem-pc));
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 1;
    color: var(--color-red);
    white-space: nowrap;
  }

  & .project-pcnav__button--soon {
    width: calc(114 * var(--rem-pc));
  }

  & .project-pccheck {
    display: block;
    position: relative;
    width: calc(118 * var(--rem-pc));
    margin-top: calc(135 * var(--rem-pc));
    margin-inline: auto;
  }

  & .project-pccheck__arc {
    position: absolute;
    top: calc(-61 * var(--rem-pc));
    left: calc(-71 * var(--rem-pc));
    width: calc(260 * var(--rem-pc));
    height: calc(260 * var(--rem-pc));
    overflow: visible;
    pointer-events: none;

    & text {
      pointer-events: auto;
      font-family: var(--lp-font-en);
      font-size: 24px;
      font-weight: 500;
      letter-spacing: .02em;
      fill: var(--color-white);
    }
  }
}

.lp_contents {
  & .project-fixmenu {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: var(--z-base);
    width: 100%;
    border-block: calc(4 * var(--rem)) solid var(--color-white);
    background-color: var(--color-red);
    color: var(--color-white);
    opacity: 0;
    transform: translateY(100%);
    transition: transform .6s ease .3s, opacity 1.8s cubic-bezier(.51, .21, .41, 1);

    &.is-scrolled-up {
      transform: translateY(0);
    }

    &.is-hidden {
      transform: translateY(100%);
    }

    &.is-show {
      opacity: 1;
    }
  }

  & .project-fixmenu__list {
    display: grid;
    grid-template-columns: 248fr 246fr 248fr;
    gap: calc(4 * var(--rem));
    background-color: var(--color-white);
  }

  & .project-fixmenu__item {
    background-color: var(--color-red);
  }

  & .project-fixmenu__link {
    display: block;
    padding: calc(16 * var(--rem)) 0 calc(21 * var(--rem));
    text-align: center;
    letter-spacing: .06em;
  }

  & .project-fixmenu__thumb {
    width: calc(100 * var(--rem));
    margin-inline: auto;
  }

  & .project-fixmenu__name {
    display: block;
    margin-top: calc(12 * var(--rem));
    font-family: var(--lp-font-en);
    font-size: calc(20 * var(--rem));
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 1.2;
    white-space: nowrap;
  }

  & .project-fixmenu__button {
    display: grid;
    place-items: center;
    width: calc(150 * var(--rem));
    height: calc(32 * var(--rem));
    margin-top: calc(15 * var(--rem));
    margin-inline: auto;
    border-radius: calc(16 * var(--rem));
    background-color: var(--color-white);
    font-family: var(--lp-font-en);
    font-size: calc(20 * var(--rem));
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 1;
    color: var(--color-red);
    white-space: nowrap;
  }
  & .project-fixmenu__button--soon {
    width: calc(206 * var(--rem));
  }

}

.lp_contents {
  & .ani-arc-char {
    clip-path: inset(-30% 100% -30% 0);
    transition: clip-path var(--duration-char) linear var(--delay-char);
  }

  & .is-active.is-play .ani-arc-char,
  & .ani-arc-char.is-active {
    clip-path: inset(-30% -20% -30% 0);
  }

  & .ani-draw {
    stroke-dasharray: 189;
    stroke-dashoffset: 189;
    transition: stroke-dashoffset var(--duration-circle) ease-out var(--delay-circle);
  }

  & .is-active .ani-draw,
  & .ani-draw.is-active {
    stroke-dashoffset: 0;
  }

  & .is-active .ani-sway,
  & .ani-sway.is-active {
    animation: lp-sway var(--duration-sway) var(--ease-sway) calc(var(--delay-circle) + var(--duration-circle)) infinite;
  }
}

@keyframes lp-sway {
  0%,
  40% {
    rotate: 0deg;
  }

  55% {
    rotate: 15deg;
  }

  70% {
    rotate: -15deg;
  }

  75%,
  100% {
    rotate: 0deg;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lp_contents .ani-inview,
  html.js .lp_contents .ani-inview {
    opacity: 1;
    transition: none;
  }

  .lp_contents .ani-arc-char {
    clip-path: none;
    transition: none;
  }

  .lp_contents .project-look__dot::after {
    transition: none;
  }

  .lp_contents .ani-draw {
    stroke-dashoffset: 0;
    transition: none;
  }

  .lp_contents .is-active .ani-sway,
  .lp_contents .ani-sway.is-active {
    animation: none;
  }

  .lp_contents .project-fixmenu {
    transition: none;
  }
}
