﻿@charset "UTF-8";

/* ========================================================
                      * Variable *
========================================================= */
:root {
  --pw: 1400; /* PC幅 */
  --sw: 750; /* SP幅 */
  --artboard-pw: 462; /* PCアートボード幅 */
  --artboard-sw: 750; /* SPアートボード幅 */
  --rem: calc(var(--variable) * var(--ratio));
  --rem-pc: var(--variable);
  --transition-timing: cubic-bezier(0.51, 0.21, 0.41, 1);

  --base-font-color: #000;

  --lp-font-ja: "articulat-cf", "Noto Sans JP", hiragino-kaku-gothic-pron, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, HiraKakuProN-W3, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, Verdana, Helvetica, Arial, sans-serif;
  --lp-font-noto: "Noto Sans JP", hiragino-kaku-gothic-pron, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, HiraKakuProN-W3, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, Verdana, Helvetica, Arial, sans-serif;
  --lp-font-en: "articulat-cf", sans-serif;

  --font-thin: 100;
  --font-light: 300;
  --font-regular: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;
  --font-heavy: 800;

  --font-articulat-normal: 400;
  --font-articulat-regular: 500;
  --font-articulat-medium: 600;

  --icon-arrow-right: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.96 19.88' preserveAspectRatio='none'><path d='M1.53 19.88 0 18.59l7.34-8.65L0 1.29 1.53 0l8.43 9.94z'/></svg>");
  --icon-arrow-down: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19.88 9.96' preserveAspectRatio='none'><path d='M9.94 9.96 0 1.52 1.29 0l8.65 7.34L18.59 0l1.29 1.52z'/></svg>");
}

@media (768px <= width) {
  :root {
    --ratio: calc(var(--artboard-pw) / var(--artboard-sw));
    --variable: calc(100vw / var(--pw));
  }
}
@media (1400px <= width) {
  :root {
    --variable: 1px;
  }
}
@media (width < 768px) {
  :root {
    --ratio: 1;
    --variable: calc(100vw / var(--sw));
  }
}

/* ========================================================
                      * Layout style *
========================================================= */
/* html {
  scroll-behavior: smooth;
  font-size: 62.5%
} */
main {
  max-width: 100%;
}

@media (768px <= width) {
  #Wrap,
  .wrapBottom,
  .wrapTop,
  #Contents {
    width: 100%;
  }
}
#FooterWrap {
  position: relative;
}



/* ===================
  LP Contents
=================== */
.lp_contents {
  --letter-spacing: .08em;
  position: relative;
  color: var(--base-font-color, #000);
  font-family: var(--lp-font-ja);
  font-optical-sizing: auto;
  font-weight: var(--font-medium);
  font-size: calc(28 * 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;
    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;
      }
    }
    @media (width < 768px) {
      &:hover {
        opacity: 1;
      }
    }
  }
  & :where(button) {
    background: none;
    border: none;
    color: inherit;
    cursor: pointer;
    outline: none;
    -webkit-tap-highlight-color: transparent;
  }
  & em {
    font-style: normal;
  }
}



/* ===================
  Animation
=================== */
.fade-blur {
  opacity: 0.4;
  filter: blur(10px);
  transition:
  opacity .8s var(--transition-timing),
  filter .8s var(--transition-timing);
  will-change: opacity, filter;
  &.is-active {
    opacity: 1;
    filter: blur(0);
  }
}



/* ===================
  Layout
=================== */
.layout-background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background : linear-gradient(30deg, rgba(244, 240, 236, 1) 0%, rgba(255, 255, 255, 1) 66%, rgba(244, 240, 236, 1) 100%);
}
.layout-mobile-first {
  position: relative;
  @media (768px <= width) {
    display: flex;
  }
}
.layout-mobile-first__left,
.layout-mobile-first__right {
  position: relative;
  width: calc((100% - (var(--artboard-pw) * var(--rem-pc))) / 2);
}
.layout-mobile-first__sticky {
  position: sticky;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100vh;
}
.layout-mobile-first__main {
  overflow-x: clip;
  @media (768px <= width) {
    width: calc(var(--artboard-pw) * var(--rem-pc));
  }
}


/* ===================
  Utility
=================== */


/* ===================
  Component
=================== */
/* button */
.component-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: var(--width, calc(204 * var(--rem)));
  margin-inline: auto;
  padding-bottom: var(--padding-bottom, calc(15 * var(--rem)));
  border-bottom: 1px solid currentColor;
  &::after {
    content: "";
    display: block;
    width: calc(10 * var(--rem));
    height: calc(20 * var(--rem));
    background: currentColor;
    mask: var(--icon-arrow-right) no-repeat center/100% 100%;
  }
  &.--large {
    --width: calc(224 * var(--rem));
    --padding-bottom: calc(16 * var(--rem));
    --font-size: calc(32 * var(--rem));
  }
}
.component-button__text {
  font-size: var(--font-size, calc(28 * var(--rem)));
  font-weight: var(--font-regular);
  line-height: 1;
  letter-spacing: .08em;
  &.--en {
    font-family: var(--lp-font-en);
    font-weight: var(--font-articulat-regular);
  }
}

/* viewmore */
.component-viewmore {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-inline: auto;
  font-family: var(--lp-font-en);
  font-size: calc(12 * var(--rem));
  font-weight: var(--font-medium);
  line-height: calc(20 / 12);
  letter-spacing: .02em;
  .icon {
    position: relative;
    display: block;
    width: calc(20 * var(--rem));
    height: calc(20 * var(--rem));
    margin-top: calc(27 * var(--rem));
    &::before,
    &::after {
      content: "";
      position: absolute;
      display: block;
      background: currentColor;
    }
    &::before {
      width: 100%;
      height: 1px;
      top: 50%;
      left: 0;
      translate: 0 -50%;
    }
    &::after {
      width: 1px;
      height: 100%;
      top: 0;
      left: 50%;
      translate: -50% 0;
    }
    .is-open &::after {
      opacity: 0;
    }
  }
}
.component-viewmore__text {
  font-family: var(--lp-font-en);
  font-size: calc(32 * var(--rem));
  font-weight: var(--font-articulat-regular);
  line-height: 1;
}

.component-tag-new {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--width, calc(68 * var(--rem)));
  height: var(--height, calc(28 * var(--rem)));
  padding-bottom: 1px;
  background: var(--bg, linear-gradient(140deg, rgba(230, 196, 179, 1) 0%, rgba(175, 128, 120, 1) 60%));
  color: var(--color, #fff);
  font-family: var(--lp-font-en);
  font-size: var(--font-size, calc(22 * var(--rem)));
  font-weight: var(--font-articulat-regular);
  &.--color-black {
    --bg: #000;
  }
  &.--color-eyeshadow {
    --bg: linear-gradient(140deg, rgba(177, 134, 118, 1) 0%, rgba(153, 93, 80, 1) 90%);
  }
  &.--color-shading-stick {
    --bg: linear-gradient(140deg, rgba(107, 90, 78, 1) 40%, rgba(230, 207, 188, 1) 100%);
  }
  &.--color-lip {
    --bg: linear-gradient(140deg, rgba(150, 72, 38, 1) 30%, rgba(204, 156, 138, 1) 100%);
  }
  &.--color-eyebrows {
    --bg: linear-gradient(140deg, rgba(163, 137, 120, 1) 20%, rgba(206, 186, 161, 1) 100%);
  }
}
.component-tag-new--color {
  --width: calc(166 * var(--rem));
  --height: calc(36 * var(--rem));
}




/* ===================
  Accordion
=================== */
.js-accordion--body {
  max-height: var(--max-height, calc(300 * var(--rem)));
  overflow: hidden;
  transition: max-height .6s ease-in-out, padding-bottom .6s ease-in-out;
  will-change: max-height, padding-bottom, mask-image;
  transform: translate3d(0,0,0);
  &.--mask {
    mask-image: linear-gradient(to top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) calc(94 * var(--rem)), rgba(0, 0, 0, 1) 100%);
    &.is-open {
      mask-image: linear-gradient(to top, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 1) 100%);
    }
  }
}


/* ===================
  Modal
=================== */
/* body.is-modal-open {
  overflow: hidden;
  scrollbar-gutter: stable;
  } */
  .project-modal {
  --backdrop-rgb: 0, 0, 0;
  --backdrop-alpha: 0.4;
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  margin: auto;
  background: none;
  border: none;
  color: var(--base-font-color, #000);
  opacity: 0;
  scale: 0.95;
  /* overflow: visible; */
  transition: opacity .3s, scale .3s;
  will-change: opacity, scale;
  &.is-open {
    opacity: 1;
    scale: 1;
  }
  &.is-closing {
    animation: 0.3s ease-out forwards fade-out;
  }
  &.is-closing::backdrop {
    animation: 0.3s ease-out forwards fade-out-backdrop;
  }
}
dialog::backdrop {
  background-color: rgba(var(--backdrop-rgb), 0);
  cursor: pointer;
  transition: background-color 0.3s;
  will-change: background-color;
}
dialog.is-open::backdrop {
  background-color: rgba(var(--backdrop-rgb), var(--backdrop-alpha));
}
@keyframes fade-out {
  from {
    opacity: 1;
    scale: 1;
  }
  to {
    opacity: 0;
    scale: 0.95;
  }
}
@keyframes fade-out-backdrop {
  from { background-color: rgba(var(--backdrop-rgb), var(--backdrop-alpha)); }
  to { background-color: rgba(var(--backdrop-rgb), 0); }
}

.project-modal__container {
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(670 * var(--rem));
  max-width: 100vw;
  max-height: calc(100dvh - (60 * var(--rem)));
  /* background-color: #fff; */
  translate: -50% -50%;
  transition: transform 0.3s ease-out;
  overflow-y: scroll;
  scrollbar-width: none;
  overscroll-behavior: contain;
}
.project-modal__close-button {
  position: absolute;
  top: calc(18 * var(--rem));
  right: calc(18 * var(--rem));
  z-index: 10;
  width: calc(50 * var(--rem));
  height: calc(50 * var(--rem));
  border: none;
  cursor: pointer;
  &::before,
  &::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(66 * var(--rem));
    height: 1px;
    background-color: var(--base-font-color);
  }
  &::before {
    translate: -50% -50%;
    rotate: 45deg;
  }
  &::after {
    translate: -50% -50%;
    rotate: -45deg;
  }
}

/* ===================
  .project-modal-content
=================== */
.project-modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.project-modal-content__body {
  .project-movie {
    width: calc(670 * var(--rem));
  }
}

.project-movie {
  position: relative;
}
/* .component-sound-button {
  position: absolute;
  bottom: calc(20 * var(--rem));
  right: calc(20 * var(--rem));
  width: calc(40 * var(--rem));
  height: calc(40 * var(--rem));
  &:not(.is-mute) {
    .--off {
      display: none;
    }
  }
  &.is-mute {
    .--on {
      display: none;
    }
  }
}
.component-sound-button__icon {
  position: absolute;
  inset: 0;
} */



.project-swiper {
  .swiper-slide,
  .swiper-slide img {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: transform;
  }
  .swiper-slide {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  /* pagination */
  /* --swiper-pagination-bullet-horizontal-gap: calc(10 * var(--rem));
  --swiper-pagination-bullet-width: calc(6 * var(--rem));
  --swiper-pagination-bullet-height: calc(6 * var(--rem));
  --swiper-pagination-bullet-inactive-color: var(--color-green);
  --swiper-pagination-bullet-inactive-opacity: 0.3;
  --swiper-pagination-color: var(--color-green);
  .swiper-pagination {
    display: flex;
    justify-content: center;
  }
  .swiper-pagination-bullet {
    display: block;
  } */
  /* navigation */
  --swiper-navigation-size: calc(126 * var(--rem));
  .swiper-button-next,
  .swiper-button-prev {
    width: var(--swiper-navigation-size);
    height: calc(8 * var(--rem));
    margin-top: calc(-4 * var(--rem));
    z-index: 10 !important;
    -webkit-transform: translateZ(1px);
    transform: translateZ(1px);
  }
  /* .swiper-button-prev {
    left: calc(15 * var(--rem));
  }
  .swiper-button-next {
    right: calc(15 * var(--rem));
  } */
  .swiper-button-next:after,
  .swiper-button-prev:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    /* background: url(../img/icon_navigation.png) no-repeat center / contain; */
  }
  .swiper-button-prev:after {
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='92' height='8' viewBox='0 0 92 7.8' preserveAspectRatio='none'><path d='M92 6.8H3l8-6' fill='none' stroke='%23000' stroke-miterlimit='10' stroke-width='2px'/></svg>") no-repeat center/100% 100%;
  }
  .swiper-button-next:after {
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='92' height='8' viewBox='0 0 92 7.8' preserveAspectRatio='none'><path d='M0 6.8h89l-8-6' fill='none' stroke='%23000' stroke-miterlimit='10' stroke-width='2px'/></svg>") no-repeat center/100% 100%;
  }
  /* .swiper-button-prev:after {
    rotate: 180deg;
  } */
  /* .swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
    bottom: calc(0 * var(--rem));
  } */
}
.project-swiper__navigation {
  position: absolute;
  top: calc(960 * var(--rem));
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding-inline: calc(41 * var(--rem));
  .swiper-pagination,
  .swiper-button-next,
  .swiper-button-prev {
    position: static;
  }
  .swiper-pagination {
    font-family: var(--lp-font-en);
    font-size: calc(28 * var(--rem));
    font-weight: var(--font-articulat-regular);
  }
}



/**
 * project-top
 */
.project-top {
  background : linear-gradient(30deg, rgba(255, 255, 255, 1) 10%, rgba(244, 240, 236, 1) 100%);
}


/**
 * section-intro
 */
.section-intro {
  padding-top: calc(118 * var(--rem));
}
.section-intro__head {
  font-family: var(--lp-font-en);
  font-weight: var(--font-articulat-regular);
  text-align: center;
}
.section-intro__heading-sub {
  margin-bottom: calc(20 * var(--rem));
  font-size: calc(28 * var(--rem));
  line-height: 1;
}
.section-intro__heading {
  font-size: calc(50 * var(--rem));
  line-height: 1;
}
.section-intro__lead {
  margin-top: calc(56 * var(--rem));
  padding-bottom: calc(120 * var(--rem));
}
.section-intro__text-container {
  --max-height: calc(204 * var(--rem));
}
.section-intro__text-wrap {
  padding-bottom: calc(48 * var(--rem));
}
.section-intro__text {
  font-weight: var(--font-regular);
  line-height: calc(49 / 28);
  text-align: center;
  & + & {
    margin-top: 1lh;
  }
}
.section-intro__info {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: calc(168 * var(--rem));
  background: #f4f0ec;
  font-size: calc(32 * var(--rem));
  font-weight: var(--font-regular);
  line-height: calc(56 / 32);
  letter-spacing: 0;
  .en {
    font-weight: var(--font-articulat-regular);
    &:not(.--normal) {
      padding-inline: .18em;
    }
    &.--normal {
      padding-inline: .15em;
    }
  }
  .spacer {
    display: inline-block;
    width: 1em;
  }
}


/**
 * project-anchor-nav
 */
.project-anchor-nav {
  padding-top: calc(134 * var(--rem));
  padding-bottom: calc(122 * var(--rem));
}
.project-anchor-nav__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: calc(30 * var(--rem)) calc(41 * var(--rem));
}
.project-anchor-nav__link {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: calc(196 * var(--rem));
  height: 100%;
  &:not(:has(.project-anchor-nav__image)) {
    .project-anchor-nav__label {
      margin-top: 0;
    }
  }
}
.project-anchor-nav__image {
  position: relative;
  width: calc(170 * var(--rem));
  margin-inline: auto;
}
.project-anchor-nav__tag {
  position: absolute;
  top: calc(-14 * var(--rem));
  left: calc(-13 * var(--rem));
}
.project-anchor-nav__label {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-top: calc(29 * var(--rem));
  &::after {
    content: "";
    display: block;
    width: calc(20 * var(--rem));
    height: calc(10 * var(--rem));
    margin-top: calc(34 * var(--rem));
    background: currentColor;
    mask: var(--icon-arrow-down) no-repeat center/100% 100%;
  }
}
.project-anchor-nav__label-text {
  font-family: var(--lp-font-en);
  font-size: calc(28 * var(--rem));
  line-height: 1;
  text-align: center;
}


/**
 * project-main
 */
.project-main {
  position: relative;
  background: #fff;
}


/**
 * project-section
 */
.project-section {
  padding-bottom: calc(200 * var(--rem));
}
.project-section__visual {
  position: relative;
}
.project-section--eyeshadow {
  .project-section__heading {
    right: calc(33 * var(--rem));
    bottom: calc(23 * var(--rem));
    text-align: right;
  }
}
.project-section--shading-stick {
  .project-section__heading {
    left: calc(40 * var(--rem));
    bottom: calc(21 * var(--rem));
    background-image: linear-gradient(130deg, #6b5a4e 0%, #6b5a4e 40%, #e6cfbc 90%);
  }
  .project-section__button {
    margin-top: calc(118 * var(--rem));
  }
}
.project-section--lip {
  padding-bottom: calc(186 * var(--rem));
  .project-section__heading {
    left: calc(40 * var(--rem));
    bottom: calc(23 * var(--rem));
    background-image: linear-gradient(130deg, #964826 0%, #964826 30%, #cc9c8a 100%);
  }
}
.project-section--eyebrows {
  padding-top: calc(175 * var(--rem));
  background : linear-gradient(30deg, rgba(244, 240, 236, 1) 0%, rgba(255, 255, 255, 1) 16%, rgba(255, 255, 255, 1) 84%, rgba(244, 240, 236, 1) 100%);
}
.project-section--makeuplook {
  padding-top: calc(174 * var(--rem));
  padding-bottom: calc(190 * var(--rem));
  .project-section__heading--secondary {
    background-image: linear-gradient(130deg, #e6c4b3 0%, #af8078 60%, #af8078 100%);
  }
  & + .project-section--release-day {
    padding-top: 0;
  }
}
.project-section--release-day {
  padding-top: calc(177 * var(--rem));
  padding-bottom: calc(193 * var(--rem));
  .project-section__heading--secondary {
    background-image: linear-gradient(130deg, #e6c4b3 0%, #af8078 60%, #af8078 100%);
  }
}
.project-section__heading {
  position: absolute;
  z-index: 5;
  background-image: linear-gradient(130deg, #b18676 0%, #995d50 90%, #995d50 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  font-family: var(--lp-font-en);
  font-size: calc(84 * var(--rem));
  font-weight: var(--font-articulat-medium);
  line-height: calc(105 / 84);
  opacity: .7;
}
.project-section__heading--secondary {
  background-image: linear-gradient(130deg, #a38978 0%, #a38978 20%, #cebaa1 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  font-family: var(--lp-font-en);
  font-size: calc(84 * var(--rem));
  font-weight: var(--font-articulat-medium);
  line-height: calc(105 / 84);
  text-align: center;
}


/**
 * project-section__button
 */
.project-section__button {
  margin-top: calc(110 * var(--rem));
}
.project-section__button-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(670 * var(--rem));
  height: var(--height, calc(114 * var(--rem)));
  margin-inline: auto;
  background: #f4f0ec;
  &.--high {
    --height: calc(162 * var(--rem));
  }
}
.project-section__button-text {
  font-size: calc(32 * var(--rem));
  font-weight: var(--font-regular);
  line-height: calc(49 / 32);
  text-align: center;
  &::after {
    content: "";
    display: inline-block;
    width: calc(10 * var(--rem));
    height: calc(20 * var(--rem));
    margin-left: calc(55 * var(--rem));
    background: currentColor;
    mask: var(--icon-arrow-right) no-repeat center/100% 100%;
  }
}


/**
 * project-item-top
 */
.project-item-top {
  padding-top: calc(80 * var(--rem));
}
.project-item-top__image {
  width: calc(670 * var(--rem));
  margin-inline: auto;
}
.project-item-top__body {
  margin-top: calc(69 * var(--rem));
  text-align: center;
}
.project-item-top__button {
  margin-top: calc(73 * var(--rem));
}
.project-item-top__lead {
  margin-top: calc(68 * var(--rem));
  font-size: calc(32 * var(--rem));
  font-weight: var(--font-regular);
  line-height: calc(56 / 32);
  text-align: center;
  .en {
    font-weight: var(--font-articulat-regular);
  }
}
.project-item-top__detail {
  margin-top: calc(34 * var(--rem));
  .project-box__item-lead {
    margin-top: calc(23 * var(--rem));
  }
}
.project-item-top__price {
  margin-top: calc(4 * var(--rem));
}
.project-item-top__list-item {
  padding-top: calc(78 * var(--rem));
  & + & {
    margin-top: calc(31 * var(--rem));
  }
  &:nth-child(even) {
    .project-box__item {
      flex-direction: row-reverse;
    }
  }
  .project-box__item-body {
    margin-bottom: 0;
  }
  .project-box__item-button {
    margin-top: calc(50 * var(--rem));
  }
}

.component-name {
  font-size: calc(28 * var(--rem));
  font-weight: var(--font-regular);
  line-height: calc(49 / 28);
  text-align: center;
}
.component-price {
  display: inline-flex;
  align-items: center;
  line-height: calc(49 / 28);
}
.component-price__tag {
  --width: calc(80 * var(--rem));
  --height: calc(36 * var(--rem));
  --font-size: calc(28 * var(--rem));
  margin-right: calc(20 * var(--rem));
  &.component-tag-new--color {
    --width: calc(166 * var(--rem));
    --height: calc(36 * var(--rem));
  }
}
.component-price__value {
  margin-right: calc(12 * var(--rem));
  font-family: var(--lp-font-en);
  font-size: calc(28 * var(--rem));
  font-weight: var(--font-articulat-regular);
  line-height: calc(49 / 28);
}
.component-price__label {
  font-size: calc(28 * var(--rem));
  font-weight: var(--font-regular);
  line-height: calc(49 / 28);
}


/**
 * color-list
 */
.color-list {
  margin-top: calc(70 * var(--rem));
}
.color-list--row {
  display: flex;
  justify-content: center;
  gap: calc(41 * var(--rem));
  margin-top: calc(69 * var(--rem));
  .color-list__item-image {
    margin-bottom: calc(30 * var(--rem));
  }
}
.color-list__item--row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(40 * var(--rem));
  &:nth-child(2n) {
    flex-direction: row-reverse;
  }
  & + & {
    margin-top: calc(80 * var(--rem));
  }
  .color-list__item-image {
    margin-inline: 0;
  }
}
.color-list__item-image {
  width: calc(315 * var(--rem));
  margin-inline: auto;
}
.color-list__item-body {
  width: calc(315 * var(--rem));
  padding-bottom: calc(10 * var(--rem));
}
.color-list__item-name {
  font-family: var(--lp-font-en);
  font-size: calc(28 * var(--rem));
  font-weight: var(--font-articulat-regular);
  line-height: calc(45 / 28);
  text-align: center;
}
.color-list__item-text {
  margin-top: calc(29 * var(--rem));
  font-size: calc(22 * var(--rem));
  font-weight: var(--font-regular);
  line-height: calc(38.5 / 22);
  text-align: justify;
}
.color-list__item-button {
  margin-top: calc(52 * var(--rem));
}
.color-list__item-tag {
  --width: calc(210 * var(--rem));
  --height: calc(36 * var(--rem));
  --font-size: calc(28 * var(--rem));
  margin-inline: auto;
  margin-bottom: calc(20 * var(--rem));
}


/**
 * project-box
 */
.project-box {
  position: relative;
  width: calc(670 * var(--rem));
  margin-inline: auto;
  margin-bottom: calc(10 * var(--rem));
  padding-top: calc(72 * var(--rem));
  padding-bottom: calc(70 * var(--rem));
  background: #fff;
  border: 1px solid #000;
  &::before {
    content: '';
    position: absolute;
    top: calc(12 * var(--rem));
    right: calc(-12 * var(--rem));
    width: 100%;
    height: 100%;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
    pointer-events: none;
  }
}
.project-box--1 {
  margin-top: calc(120 * var(--rem));
}
.project-box--2 {
  margin-top: calc(109 * var(--rem));
}
.project-box--3 {
  padding-bottom: calc(72 * var(--rem));
}
.project-box__heading {
  position: relative;
  width: fit-content;
  margin-inline: auto;
  text-align: center;
  &::before {
    content: '';
    position: absolute;
    bottom: calc(-14 * var(--rem));
    left: 0;
    width: 100%;
    height: calc(22 * var(--rem));
    background: #f4f0ec;
    translate: 0 -50%;
  }
}
.project-box__heading-text {
  position: relative;
  padding-inline: calc(12 * var(--rem));
  font-family: var(--lp-font-en);
  font-size: calc(50 * var(--rem));
  font-weight: var(--font-articulat-medium);
  line-height: 1;
  text-align: center;
}
.project-box__heading-sub {
  margin-top: calc(32 * var(--rem));
  font-size: calc(22 * var(--rem));
  font-weight: var(--font-regular);
  line-height: calc(49 / 22);
  text-align: center;
}


/**
 * project-box__item
 */
.project-box__item {
  display: flex;
  align-items: center;
  gap: calc(10 * var(--rem));
  margin-top: calc(66 * var(--rem));
  margin-left: calc(28 * var(--rem));
}
.project-box__item-image {
  width: calc(250 * var(--rem));
}
.project-box__item-body {
  width: calc(350 * var(--rem));
  margin-bottom: calc(8 * var(--rem));
}
.project-box__item-price {
  display: flex;
  justify-content: center;
  margin-top: calc(2 * var(--rem));
}
.project-box__item-button {
  margin-top: calc(54 * var(--rem));
}
.project-box__item-lead {
  margin-top: calc(49 * var(--rem));
  font-size: calc(28 * var(--rem));
  font-weight: var(--font-regular);
  line-height: calc(49 / 28);
  text-align: center;
}
.project-box__item-detail__tag {
  --width: calc(204 * var(--rem));
  --height: calc(36 * var(--rem));
  --font-size: calc(28 * var(--rem));
  margin-inline: auto;
  margin-bottom: calc(6 * var(--rem));
}
.project-item-top {
  .project-box__item {
    justify-content: center;
    gap: 0;
    margin: 0;
  }
  .project-box__item-image {
    width: calc(335 * var(--rem));
  }
  .project-box__item-body {
    width: calc(335 * var(--rem));
  }
  .project-box__item-detail {
    text-align: center;
  }
}


/**
 * project-item-fig
 */
.project-item-fig {
  width: calc(532 * var(--rem));
  margin-top: calc(70 * var(--rem));
  margin-inline: auto;
}


/**
 * project-look-slider
 */
.project-look-slider {
  margin-top: calc(77 * var(--rem));
}
.project-look-slider__item,
.project-look-slider__image {
  width: 100%;
}


/**
 * look-items
 */
.look-items {
  margin-top: calc(175 * var(--rem));
}
.look-items__list {
  display: flex;
  justify-content: space-evenly;
  margin-left: calc(10 * var(--rem));
}
.look-items__list-item {
  &:nth-child(2) {
    margin-inline: calc(20 * var(--rem));
  }
}
.look-items__list-item__image {
  width: calc(170 * var(--rem));
  margin-inline: auto;
}
.look-items__list-item__name {
  margin-top: calc(32 * var(--rem));
  font-size: calc(22 * var(--rem));
  font-weight: var(--font-regular);
  line-height: calc(38.5 / 22);
  text-align: center;
  .en {
    font-family: var(--lp-font-en);
    font-weight: var(--font-articulat-regular);
  }
}


/**
 * look-steps
 */
.look-steps {
  margin-top: calc(58 * var(--rem));
  margin-left: calc(40 * var(--rem));
}
.look-steps__item {
  display: flex;
  font-size: calc(28 * var(--rem));
  font-weight: var(--font-regular);
  line-height: calc(49 / 28);
  .num {
    width: calc(22 * var(--rem));
    margin-right: calc(18 * var(--rem));
  }
  .en {
    font-family: var(--lp-font-en);
    font-weight: var(--font-articulat-regular);
  }
}


/**
 * section-campaign
 */
.section-campaign__image {
  width: 100%;
  margin-top: calc(50 * var(--rem));
}
.section-campaign__date {
  display: flex;
  align-items: center;
  justify-content: center;
  height: calc(70 * var(--rem));
  margin-top: calc(60 * var(--rem));
  background: #f4f0ec;
  font-size: calc(32 * var(--rem));
  font-weight: var(--font-articulat-medium);
  .ja {
    margin-inline: calc(16 * var(--rem));
    font-weight: var(--font-regular);
  }
}
.section-campaign__body {
  padding-top: calc(49 * var(--rem));
  text-align: center;
}
.section-campaign__body-heading {
  font-size: calc(28 * var(--rem));
  font-weight: var(--font-regular);
  line-height: calc(49 / 28);
  .en {
    font-family: var(--lp-font-en);
    font-weight: var(--font-articulat-regular);
  }
}
.section-campaign__body-text {
  margin-top: calc(40 * var(--rem));
  color: #757575;
  font-size: calc(22 * var(--rem));
  font-weight: var(--font-regular);
  line-height: calc(38.5 / 22);
  .en {
    font-family: var(--lp-font-en);
    font-weight: var(--font-articulat-regular);
  }
}


/**
 * section-release
 */
.section-release__date {
  margin-top: calc(77 * var(--rem));
}
.section-release__note {
  margin-top: calc(52 * var(--rem));
}
.section-release__note-item {
  color: #757575;
  font-size: calc(22 * var(--rem));
  font-weight: var(--font-regular);
  line-height: calc(38.5 / 22);
  text-align: center;
  .en {
    font-family: var(--lp-font-en);
    font-weight: var(--font-articulat-regular);
  }
}

.component-release-date {
  display: flex;
  width: calc(670 * var(--rem));
  margin-inline: auto;
  border: 1px solid #f4f0ec;
  & + & {
    margin-top: calc(10 * var(--rem));
  }
}
.component-release-date__label,
.component-release-date__detail {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(335 * var(--rem));
  height: calc(108 * var(--rem));
  font-size: calc(32 * var(--rem));
  font-weight: var(--font-regular);
  .en {
    font-family: var(--lp-font-en);
    font-weight: var(--font-articulat-regular);
  }
}
.component-release-date__label {
  background: #f4f0ec;
}


/**
 * section-bottom
 */
.section-bottom {
  position: relative;
}
.section-bottom__body {
  position: absolute;
  top: 50%;
  width: 100%;
  margin-top: calc(-8 * var(--rem));
  color: #fff;
  font-family: var(--lp-font-en);
  font-weight: var(--font-articulat-regular);
  text-align: center;
  translate: 0 -50%;
}
.section-bottom__heading-sub {
  margin-bottom: calc(-8 * var(--rem));
  font-size: calc(28 * var(--rem));
  line-height: calc(49 / 28);
}
.section-bottom__heading {
  font-size: calc(50 * var(--rem));
  line-height: calc(87.5 / 50);
}
.section-bottom__button {
  --width: calc(313 * var(--rem));
  --font-size: calc(32 * var(--rem));
  margin-top: calc(65 * var(--rem));
}


/**
 * project-footer-nav
 */
.project-footer-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  background : linear-gradient(30deg, rgba(244, 240, 236, 1) 0%, rgba(255, 255, 255, 1) 16%, rgba(255, 255, 255, 1) 84%, rgba(244, 240, 236, 1) 100%);
  opacity: 0;
  translate: 0 100%;
  transition: opacity 0.6s .2s ease, translate 0.6s .2s ease;
  will-change: opacity, translate;
  &.is-visible {
    opacity: 1;
    translate: 0 0;
  }
  .project-anchor-nav__list {
    gap: 0;
  }
  .project-anchor-nav__item {
    width: calc(100% / 5);
    & + & {
      border-left: 1px solid rgba(0, 0, 0, .2);
    }
  }
  .project-anchor-nav__link {
    position: relative;
    width: 100%;
    height: calc(285 * var(--rem));
    padding-top: calc(39 * var(--rem));
    padding-bottom: calc(20 * var(--rem));
    &:not(:has(.project-anchor-nav__image)) {
      .project-anchor-nav__label {
        margin-top: calc(-14 * var(--rem));
        &::after {
          margin-top: auto;
        }
      }
      .project-anchor-nav__label-text {
        margin-top: auto;
      }
    }
  }
  .project-anchor-nav__image {
    position: static;
    width: calc(110 * var(--rem));
  }
  .project-anchor-nav__tag {
    --width: calc(68 * var(--rem));
    --height: calc(28 * var(--rem));
    --font-size: calc(22 * var(--rem));
    top: 0;
    left: 0;
  }
  .project-anchor-nav__label {
    flex-grow: 1;
    justify-content: space-between;
    margin-top: calc(11 * var(--rem));
    &::after {
      width: calc(20 * var(--rem));
      height: calc(10 * var(--rem));
      margin-top: calc(22 * var(--rem));
    }
  }
  .project-anchor-nav__label-text {
    font-size: calc(22 * var(--rem));
    line-height: calc(38.5 / 22);
  }
}


/**
 * project-logo-box
 */
.project-logo-box {
  font-family: var(--lp-font-en);
  font-weight: var(--font-articulat-regular);
  text-align: center;
}
.project-logo-box__logo {
  width: calc(360 * var(--rem-pc));
  margin-inline: auto;
}
.project-logo-box__subtitle {
  margin-top: calc(32 * var(--rem-pc));
  margin-bottom: calc(-6 * var(--rem-pc));
  font-size: calc(17 * var(--rem-pc));
  line-height: calc(29.75 / 17);
}
.project-logo-box__title {
  font-size: calc(30 * var(--rem-pc));
  line-height: calc(52.5 / 30);
}


/**
 * project-menu
 */
.project-menu {
  width: calc((120 * 3) * var(--rem-pc));
  margin-left: calc(19 * var(--rem-pc));
  .project-anchor-nav__list {
    gap: calc(34 * var(--rem-pc)) 0;
  }
  .project-anchor-nav__item {
    &:not(:nth-child(3n+1)) {
      border-left: 1px solid rgba(0, 0, 0, .2);
    }
  }
  .project-anchor-nav__link {
    width: calc(119 * var(--rem-pc));
    padding-top: calc(8 * var(--rem-pc));
    padding-bottom: calc(12 * var(--rem-pc));
    &:not(:has(.project-anchor-nav__image)) {
      .project-anchor-nav__label {
        &::after {
          margin-top: auto;
        }
      }
      .project-anchor-nav__label-text {
        margin-top: auto;
      }
    }
  }
  .project-anchor-nav__image {
    width: calc(60 * var(--rem-pc));
  }
  .project-anchor-nav__tag {
    --width: calc(32 * var(--rem-pc));
    --height: calc(14 * var(--rem-pc));
    --font-size: calc(12 * var(--rem-pc));
    top: calc(-10 * var(--rem-pc));
    left: calc(-17 * var(--rem-pc));
  }
  .project-anchor-nav__label {
    flex-grow: 1;
    justify-content: space-between;
    margin-top: calc(5 * var(--rem-pc));
    &::after {
      width: calc(12 * var(--rem-pc));
      height: calc(6 * var(--rem-pc));
      margin-top: calc(18 * var(--rem-pc));
    }
  }
  .project-anchor-nav__label-text {
    font-size: calc(15 * var(--rem-pc));
    line-height: calc(26.25 / 15);
  }
}


/* ===================
  Share
=================== */
#share {
  transition: bottom 0.6s 0.2s ease;
  .footer-nav-visible & {
    bottom: calc(2% + calc(285 * var(--rem)));
  }
}



/*=======================================
               Responsive
========================================*/

/*=======================================
                    PC
========================================*/
@media (768px <= width) {
  .u-d-md {
    display: none !important;
  }
}


/*=======================================
                    SP
========================================*/
@media (width < 768px) {
  .u-d-lg {
    display: none !important;
  }
}
