﻿@charset "UTF-8";


/*//////////////////////////////////////////////////

Title : LP CSS MAIN

//////////////////////////////////////////////////*/

/* ========================================================
                      * Variable *
========================================================= */
:root {
  --pw: 1200; /* PC幅 */
  --sw: 750; /* SP幅 */
  --artboard-pw: 430; /* 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);

  --lp-background-color: #f7f4f1;
  --base-font-color: #000;
  --color-accent: #ecafbe;

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

  --font-helvetica-oblique: 400;
  --font-helvetica-bold: 700;
}

@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;
}
@media (width < 768px) {
  #Contents {
    overflow: unset;
  }
}


/* ===================
  Animation
=================== */
.fade-blur {
  opacity: 0;
  filter: blur(5px);
  transition:
  opacity 2s var(--transition-timing),
  filter 2s var(--transition-timing);
  &.is-active {
    opacity: 1;
    filter: blur(0);
  }
}
.move-up-image {
  & img {
    opacity: 0;
    clip-path: inset(94% 0 0 0);
    filter: blur(30px) brightness(1.1);
    will-change: opacity, clip-path, filter;
  }
  &.is-active img {
    animation: move-up-image .95s ease-out forwards;
  }
}

/* keyframes */
@keyframes move-up-image {
  0% {
    opacity: 0;
    clip-path: inset(100% 0 0 0);
  }
  50% {
    opacity: 1;
    filter: blur(30px) brightness(1.1);
  }
  100% {
    opacity: 1;
    clip-path: inset(0 0 0 0);
    filter: blur(0) brightness(1);
  }
}



/* ===================
  LP Contents
=================== */
.lp_contents {
  --letter-spacing: .02em;
  position: relative;
  background: var(--lp-background-color, transparent);
  color: var(--base-font-color, #000);
  font-family: var(--lp-font-ja);
  font-weight: 500;
  font-size: calc(20 * var(--rem));
  font-style: normal;
  letter-spacing: var(--letter-spacing);
  /* & * {
    font-feature-settings: "palt";
  } */
  & *,
  & *:before,
  & *:after {
    box-sizing: border-box;
  }
  & :where(h1, h2, h3, h4, h5, p, ul, ol, li, dl, dt, dd, a, button, figure, figcaption, span, sup) {
    margin: 0;
    padding: 0;
    font-family: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: var(--letter-spacing);
  }
  & ul,
  & li {
    list-style: none;
  }
  & :where(img) {
    display: block;
    max-width: 100%;
    height: auto;
  }
  & sup {
    top: 0;
    font-size: .6em;
    vertical-align: super;
  }
  & :where(a, a:before, a:after, a img, button) {
    --duration: .3s;
    --timing: ease-in-out;
    transition:
      opacity var(--duration) var(--timing),
      color var(--duration) var(--timing),
      background-color var(--duration) var(--timing),
      background-image var(--duration) var(--timing),
      border-color var(--duration) var(--timing),
      text-shadow var(--duration) var(--timing),
      text-weight var(--duration) var(--timing)
    ;
  }
  & :where(a) {
    color: inherit;
    text-decoration: none;
    text-underline-offset: calc(4 * var(--rem));
    @media (any-hover: hover) {
      &:hover {
        opacity: .7;
      }
    }
    /* @media (width < 768px) {
      &:hover {
        opacity: 1;
      }
    } */
  }
  & :where(button) {
    background: none;
    border: none;
    color: inherit;
    cursor: pointer;
    outline: none;
  }
}


/* ===================
  Layout
=================== */
.layout-mobile-first {
  position: relative;
  background: var(--lp-background-color);
  @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;
  /* padding-block: calc(80 * var(--rem)) calc(205 * var(--rem)); */
  background: #fff;
  @media (768px <= width) {
    width: calc(var(--artboard-pw) * var(--rem-pc));
  }
}


/* ===================
  Utility
=================== */
.u-bg {
  background: #fff;
}


/* ===================
  Component
=================== */
/* label */
.component-label {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-inline: auto;
  border: calc(3 * var(--rem)) solid var(--border-color, #000);
  border-radius: 999px;
  color: var(--label-color, #000);
  font-family: var(--lp-font-en);
  letter-spacing: 0;
  &:where(.--primary) {
    --border-color: #f3ccd6;
    --label-color: #0a0a0a;
    width: fit-content;
    height: calc(59 * var(--rem));
    padding-top: calc(4 * var(--rem));
    padding-inline: calc(21 * var(--rem));
    background: #fff;
    font-size: calc(30 * var(--rem));
    font-weight: var(--font-helvetica-bold);
    &.--italic {
      font-style: italic;
      font-size: calc(23.9 * var(--rem));
      font-weight: var(--font-helvetica-oblique);
    }
  }
  &:where(.--secondary) {
    width: calc(222 * var(--rem));
    height: calc(58 * var(--rem));
    background: #faebef;
    font-style: italic;
    font-size: calc(26.1 * var(--rem));
    font-weight: var(--font-helvetica-oblique);
  }
  &:where(.--tertiary) {
    width: fit-content;
    height: calc(58 * var(--rem));
    padding-inline: calc(21 * var(--rem));
    background: #e7ded3;
    font-size: calc(35 * var(--rem));
  }
}

/* button */
.component-button {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-inline: auto;
  width: calc(222 * var(--rem));
  height: calc(58 * var(--rem));
  padding-bottom: calc(6 * var(--rem));
  background: #e7ded3;
  border: calc(3 * var(--rem)) solid #000;
  border-radius: 999px;
  color: #000;
  font-family: var(--font-stinger);
  font-size: calc(35 * var(--rem));
  font-weight: 700;
  letter-spacing: .04em;
}

/* read more */
.component-read-more {
  width: calc(112 * var(--rem));
  height: calc(30 * var(--rem));
  margin-left: 0;
  border-width: 1px;
  font-size: calc(15.26 * var(--rem));
}

/* insta */
.component-insta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(24 * var(--rem));
}
.component-insta__icon {
  width: calc(37 * var(--rem));
  height: calc(37 * var(--rem));
  background: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20data-name%3D%22%E7%B7%A8%E9%9B%86%E3%83%A2%E3%83%BC%E3%83%89%22%20viewBox%3D%220%200%2037.33%2037.22%22%3E%3Cpath%20d%3D%22M0%2018.58c.11-3.06.1-6.11.35-9.14C.79%204.31%204.37.76%209.49.23A48.1%2048.1%200%200%201%2014.44%200c4.13%200%208.26.03%2012.39.12%202.23.05%204.35.63%206.2%201.95%202.5%201.8%203.76%204.32%204.07%207.32.17%201.68.24%203.38.24%205.07%200%204.07-.03%208.14-.13%2012.21-.06%202.4-.7%204.66-2.23%206.59-1.82%202.3-4.28%203.44-7.14%203.72-1.76.17-3.54.24-5.31.24-3.69%200-7.38-.03-11.06-.12-1.18-.03-2.38-.15-3.53-.43C3.61%2035.63.75%2032.34.37%2027.8c-.26-3.07-.25-6.16-.36-9.22ZM18.71%203.46v-.1c-1.51%200-3.02-.03-4.53%200-1.53.04-3.07.07-4.58.26-3.01.37-5.02%202.18-5.7%205.05a10.3%2010.3%200%200%200-.29%202.21c-.06%204.15-.11%208.3-.11%2012.45%200%201.45.07%202.9.25%204.34.37%203.05%202.19%205.07%205.08%205.74.74.17%201.51.28%202.27.29%203.24.07%206.49.13%209.73.12%202.29-.01%204.6-.04%206.88-.26%203.12-.31%205.15-2.13%205.84-5.03.18-.76.29-1.55.3-2.33.07-3.22.14-6.45.12-9.67-.01-2.33-.04-4.68-.27-7-.33-3.27-2.4-5.34-5.63-5.9-.57-.1-1.16-.17-1.74-.18-2.54-.02-5.08%200-7.61%200Z%22%2F%3E%3Cpath%20d%3D%22M18.72%209.03c5.29-.01%209.57%204.27%209.57%209.56%200%205.3-4.27%209.57-9.57%209.57-5.29%200-9.57-4.28-9.57-9.57%200-5.3%204.26-9.56%209.57-9.57Zm-.05%2015.75c3.44.01%206.22-2.72%206.24-6.14.02-3.44-2.72-6.22-6.14-6.23-3.44-.01-6.22%202.72-6.24%206.14-.01%203.44%202.72%206.22%206.14%206.24ZM28.62%2010.89c-1.27-.02-2.22-1.02-2.19-2.3.03-1.23%201.04-2.2%202.27-2.17%201.22.02%202.21%201.03%202.2%202.25%200%201.26-1.02%202.24-2.29%202.22Z%22%2F%3E%3C%2Fsvg%3E') no-repeat center / 100%;
}
.component-insta__text {
  font-size: calc(18 * var(--rem));
  line-height: 1;
  letter-spacing: 0;
}

.component-deco {
  position: absolute;
  z-index: 5;
  pointer-events: none;
}
.component-deco--1 {
  width: calc(48 * var(--rem));
  height: calc(48 * var(--rem));
  background: url(../img/main/deco_1.png) no-repeat center/100%;
}
.component-deco--2 {
  background: url(../img/main/deco_2.png) no-repeat center/100%;
}


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


.js-sticky-section {
  position: sticky;
  top: 0;
  background: #fff;
}
.project-layer {
  position: relative;
}


/* ===================
  .project-hero
=================== */
.project-hero {
  position: sticky;
  top: 0;
  aspect-ratio: 1200 / 720;
  & img {
    width: 100%;
  }
}


/* ===================
  .project-mainvisual
=================== */
.project-mainvisual {
  aspect-ratio: 750 / 1125;
}
.project-mainvisual__image {
  & img {
    width: 100%;
  }
}


/* ===================
  .project-section-top
=================== */
.project-section-top {
  position: relative;
  padding-block: calc(72 * var(--rem)) calc(58 * var(--rem));
  .component-deco {
    right: calc(10 * var(--rem));
    bottom: calc(145 * var(--rem));
  }
}
.project-section-top__heading {
  width: calc(284 * var(--rem));
  margin-inline: auto;
  & img {
    width: 100%;
  }
}
.project-section-top__body {
  margin-top: calc(34 * var(--rem));
  text-align: center;
}
.project-section-top__text {
  line-height: calc(55 / 20);
  & + & {
    margin-top: calc(25 * var(--rem));
  }
}
.project-section-top__foot {
  margin-top: calc(53 * var(--rem));
  text-align: center;
}
.project-section-top__foot-date {
  color: var(--color-accent);
  font-family: var(--lp-font-en);
  font-size: calc(41.25 * var(--rem));
  font-weight: var(--font-helvetica-bold);
  letter-spacing: -.02em;
  line-height: 1;
  .--small {
    margin-left: calc(4 * var(--rem));
    font-size: calc(32.33 * var(--rem));
  }
}
.project-section-top__foot-label {
  margin-top: calc(4 * var(--rem));
  font-size: calc(32.03 * var(--rem));
  line-height: 1;
}
.project-section-top__note {
  margin-top: calc(20 * var(--rem));
  font-size: calc(16 * var(--rem));
  .--small {
    font-size: calc(14 * var(--rem));
  }
}


/* ===================
  .project-anchor
=================== */
.project-anchor__block {
  position: relative;
  padding-bottom: calc(118 * var(--rem));
  .component-deco {
    &.--1 {
      top: calc(67 * var(--rem));
      left: calc(50 * var(--rem));
    }
    &.--2 {
      right: calc(24 * var(--rem));
      bottom: calc(46 * var(--rem));
    }
    &.--3 {
      left: calc(346 * var(--rem));
      bottom: calc(14 * var(--rem));
      width: calc(183 * var(--rem));
      height: calc(125 * var(--rem));
    }
  }
}
.project-anchor__block-heading {
  width: calc(165.478 * var(--rem));
  margin-inline: auto;
  margin-bottom: calc(41 * var(--rem));
  translate: calc(1 * var(--rem)) calc(4 * var(--rem));
  & img {
    width: 100%;
  }
}
.project-anchor {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: calc(25 * var(--rem)) calc(29 * var(--rem));
}
.project-anchor__item {
  width: calc(301 * var(--rem));
  & a {
    display: block;
  }
  & img {
    width: 100%;
  }
}
.project-anchor__link {
  position: relative;
  &::after {
    position: absolute;
    content: '';
    inset: 0;
    display: block;
    border: calc(3 * var(--rem)) solid #000;
    pointer-events: none;
  }
}


/* ===================
  .project-visual-slider
=================== */
.project-visual-slider {
  --swiper-pagination-bullet-horizontal-gap: calc(4 * var(--rem));
  --swiper-pagination-bullet-size: calc(15 * var(--rem));
  --swiper-pagination-bullet-inactive-color: transparent;
  --swiper-pagination-bullet-inactive-opacity: 1;
  --swiper-pagination-color: #fff;
  .swiper-pagination-bullet {
    border: 1px solid #fff;
  }
  .swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
    bottom: calc(18 * var(--rem));
  }
}


/* ===================
  .project-section
=================== */
.project-section {
  padding-block: calc(70 * var(--rem));
}
.project-section__heading {
  margin-bottom: calc(39 * var(--rem));
  .project-section-snidel-face-stylist-n & {
    margin-bottom: calc(22 * var(--rem));
    padding-inline: calc(36 * var(--rem));
  }
  .project-section-snidel-melting-color-balm & {
    margin-bottom: calc(22 * var(--rem));
    padding-inline: calc(36 * var(--rem));
  }
}
.project-section__button {
  margin-top: calc(36 * var(--rem));
  .project-section-snidel-face-stylist-n & {
    margin-top: calc(27 * var(--rem));
  }
  .project-section-snidel-melting-color-balm & {
    margin-top: calc(28 * var(--rem));
  }
}


/* ===================
  .project-item-data
=================== */
.project-item-data__text {
  font-size: calc(35 * var(--rem));
  line-height: calc(44.33 / 35);
  text-align: center;
}
.project-item-data__price {
  margin-top: calc(22 * var(--rem));
  font-size: calc(25 * var(--rem));
  line-height: 1;
  text-align: center;
  .project-section-snidel-face-stylist-n & {
    margin-top: calc(16 * var(--rem));
  }
  .--small {
    font-size: calc(20 * var(--rem));
  }
}
.project-item-data__note {
  margin-top: calc(13 * var(--rem));
  font-size: calc(16 * var(--rem));
  line-height: 1;
  text-align: center;
}


/* ===================
  .project-item-box
=================== */
.project-item-box {
  width: calc(670 * var(--rem));
  margin-inline: auto;
  padding-top: calc(47 * var(--rem));
  background: #fcf2f4;
  border-radius: calc(31 * var(--rem));
  .project-section-limited-kit & {
    margin-top: calc(44 * var(--rem));
    padding-top: calc(31 * var(--rem));
    padding-bottom: calc(30 * var(--rem));
  }
  .project-section-snidel-face-stylist-n & {
    margin-top: calc(29 * var(--rem));
  }
  .project-section-snidel-melting-color-balm & {
    margin-top: calc(46 * var(--rem));
    padding-top: calc(30 * var(--rem));
  }
}
.project-item-box__label {
  font-family: var(--lp-font-en);
  font-style: italic;
  font-size: calc(28 * var(--rem));
  font-weight: var(--font-helvetica-oblique);
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
}
.project-item-box__image {
  width: calc(625 * var(--rem));
  & img {
    width: 100%;
  }
}
.project-item-box__caption {
  font-size: calc(18 * var(--rem));
  line-height: calc(37 / 18);
  letter-spacing: .08em;
  text-align: center;
  .project-section-snidel-face-stylist-n & {
    margin-top: calc(19 * var(--rem));
  }
  .project-section-snidel-melting-color-balm & {
    margin-top: calc(16 * var(--rem));
    letter-spacing: 0;
  }
}
.project-item-box--1 {
  .project-item-box__image {
    margin-top: calc(-17 * var(--rem));
    margin-inline: auto;
    translate: calc(-2 * var(--rem));
  }
}
.project-item-box--2 {
  .project-item-box__image {
    margin-top: calc(-8 * var(--rem));
    margin-inline: auto;
  }
}


/* ===================
  .project-pack-item
=================== */
.project-pack-item--1 {
  .project-pack-item__name {
    margin-top: calc(6 * var(--rem));
  }
  .project-pack-item__color {
    margin-top: calc(12 * var(--rem));
  }
}
.project-pack-item--2 {
  .project-pack-item__name {
    margin-top: calc(3 * var(--rem));
  }
  .project-pack-item__color {
    margin-top: calc(23 * var(--rem));
  }
}
.project-pack-item--3 {
  margin-top: calc(58 * var(--rem));
  .project-pack-item__name {
    margin-top: calc(24 * var(--rem));
  }
}
.project-pack-item__image {
  margin-inline: auto;
  & img {
    width: 100%;
  }
}
.project-pack-item__image--1 {
  width: calc(405 * var(--rem));
}
.project-pack-item__image--2 {
  width: calc(340 * var(--rem));
}
.project-pack-item__image--3 {
  width: calc(317.573 * var(--rem));
  translate: calc(-6 * var(--rem));
}
.project-pack-item__name {
  font-size: calc(25 * var(--rem));
  line-height: calc(32.33 / 25);
  text-align: center;
  .--small {
    font-size: calc(23 * var(--rem));
  }
}
.project-pack-item__color {
  width: fit-content;
  margin-inline: auto;
  padding-inline: calc(10 * var(--rem));
  padding-bottom: calc(4 * var(--rem));
  border-bottom: 1px solid currentColor;
  font-family: var(--lp-font-en);
  font-style: italic;
  font-size: calc(23 * var(--rem));
  font-weight: var(--font-helvetica-oblique);
  line-height: 1;
  text-align: center;
}
.project-pack-item__note {
  margin-top: calc(13 * var(--rem));
  color: #d95f7d;
  text-align: center;
}
.project-pack-item__note-label {
  font-size: calc(18 * var(--rem));
  line-height: calc(26.33 / 18);
  letter-spacing: -.06em;
}
.project-pack-item__note-text {
  font-size: calc(12 * var(--rem));
  line-height: calc(16.33 / 12);
  letter-spacing: -.025em;
}


/* ===================
  .project-item-content
=================== */
.project-item-content {
  display: flex;
}
.project-item-content__text {
  font-size: calc(16 * var(--rem));
  line-height: calc(23 / 16);
}

.project-item-content--1 {
  margin-top: calc(39 * var(--rem));
  margin-left: calc(31 * var(--rem));
  .project-item-content__image {
    width: calc(238 * var(--rem));
    & img {
      width: 100%;
    }
  }
  .project-item-content__body {
    width: calc(410 * var(--rem));
    margin-top: calc(18 * var(--rem));
    margin-left: calc(36 * var(--rem));
    .js-accordion--body {
      max-height: calc(117 * var(--rem));
    }
    .project-item-content__text {
      letter-spacing: -.14em;
      & + & {
        margin-top: calc(10 * var(--rem));
      }
    }
    .component-read-more {
      margin-top: calc(27 * var(--rem));
    }
  }
}
.project-item-content--2 {
  align-items: center;
  margin-top: calc(20 * var(--rem));
  margin-left: calc(194 * var(--rem));
  .project-item-content__image {
    width: calc(120 * var(--rem));
    & img {
      width: 100%;
    }
  }
  .project-item-content__body {
    width: calc(250 * var(--rem));
    margin-left: calc(24 * var(--rem));
    .project-item-content__text {
      letter-spacing: -.04em;
    }
  }
}


/* ===================
  .project-item-image
=================== */
.project-item-image {
  position: relative;
  width: calc(502 * var(--rem));
  margin-inline: auto;
  .project-section-snidel-face-stylist-n & {
    margin-top: calc(185 * var(--rem));
  }
  .project-section-snidel-melting-color-balm & {
    margin-top: calc(130 * var(--rem));
  }
  &::after {
    position: absolute;
    inset: 0;
    z-index: 10;
    content: '';
    display: block;
    border: calc(3 * var(--rem)) solid #000;
  }
  & img {
    width: 100%;
  }
}
.project-item-image--1 {
  .component-deco {
    top: calc(244 * var(--rem));
    right: calc(-27 * var(--rem));
  }
}
.project-item-image--2 {
  .component-deco {
    &.--1 {
      top: calc(-87 * var(--rem));
      left: calc(-54 * var(--rem));
    }
    &.--2 {
      top: calc(201 * var(--rem));
      right: calc(-50 * var(--rem));
    }
    &.--3 {
      bottom: calc(-88 * var(--rem));
      left: calc(372 * var(--rem));
      width: calc(341 * var(--rem));
      height: calc(228 * var(--rem));
    }
  }
}


/* ===================
  .project-item-detail
=================== */
.project-item-detail {
  .project-item-image + & {
    margin-top: calc(34 * var(--rem));
    .project-item-detail__text {
      letter-spacing: -.02em;
    }
  }
  .project-section-limited-kit & {
    margin-top: calc(28 * var(--rem));
  }
  .project-section-snidel-melting-color-balm & {
    margin-top: calc(34 * var(--rem));
  }
}
.project-item-detail__text {
  font-size: calc(21 * var(--rem));
  line-height: calc(55 / 21);
  text-align: center;
}


/* ===================
  .project-section-look
=================== */
.project-section-look {
  padding-top: calc(100.5 * var(--rem));
}
.project-section-look--2 {
  padding-top: calc(102 * var(--rem));
}
.project-section-look__top {
  background : linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(250, 235, 239, 1) 100%);
}
.project-section-look__head-label {
  font-size: calc(23.9 * var(--rem));
}
.project-section-look__head-heading {
  width: calc(205 * var(--rem));
  margin-top: calc(25 * var(--rem));
  margin-inline: auto;
  & img {
    width: 100%;
  }
}
.project-section-look__head-lead {
  margin-top: calc(44 * var(--rem));
  font-size: calc(35 * var(--rem));
  line-height: calc(44.33 / 35);
  text-align: center;
}


/* ===================
  .project-section-look__detail
=================== */
.project-section-look__detail {
  margin-top: calc(84 * var(--rem));
  padding-bottom: calc(97 * var(--rem));
  .project-section-look--2 & {
    margin-top: calc(66 * var(--rem));
    padding-bottom: calc(100 * var(--rem));
  }
}
.project-section-look__detail-text {
  font-size: calc(20 * var(--rem));
  line-height: calc(55 / 20);
  text-align: center;
}
.project-section-look__detail-item {
  margin-top: calc(84 * var(--rem));
  font-size: calc(16 * var(--rem));
  line-height: calc(30.33 / 16);
  text-align: center;
  .project-section-look--2 & {
    margin-top: calc(71 * var(--rem));
  }
}


/* ===================
  .project-movie
=================== */
.project-movie {
  position: relative;
  width: calc(632 * var(--rem));
  margin-inline: auto;
}
.project-movie__sound-button {
  position: absolute;
  bottom: calc(31 * var(--rem));
  right: calc(31 * var(--rem));
  z-index: 10;
  color: var(--color-accent);
  font-family: var(--lp-font-en);
  font-style: italic;
  font-size: calc(18 * var(--rem));
  font-weight: var(--font-helvetica-oblique);
  line-height: 1;
  letter-spacing: 0;
  &.is-mute {
    color: #fff;
  }
}


/* ===================
  .project-section-look__image
=================== */
.project-section-look__image {
  width: 100%;
  &.--bg {
    background : linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(250, 235, 239, 1) 100%);
  }
  & img {
    width: 100%;
  }
}


/* ===================
  .project-section-look__contents
=================== */
.project-section-look__contents {
  padding-top: calc(139 * var(--rem));
  padding-bottom: calc(176 * var(--rem));
}
.project-section-look__contents--2 {
  padding-top: calc(42 * var(--rem));
  padding-bottom: calc(44 * var(--rem));
}
.project-section-look__contents-label {
  font-size: calc(28 * var(--rem));
}


/* ===================
  .project-item-list
=================== */
.project-item-list {
  display: flex;
}
.project-item-list__image {
  & img {
    width: 100%;
  }
}
.project-item-list__name {
  margin-top: calc(17 * var(--rem));
  font-size: calc(16 * var(--rem));
  line-height: 1;
  text-align: center;
}

.project-item-list--1 {
  margin-top: calc(22 * var(--rem));
  margin-left: calc(59 * var(--rem));
  .project-item-list__item {
    &.--1 {
      .project-item-list__name {
        translate: calc(-6 * var(--rem));
      }
    }
    &.--2 {
      margin-left: calc(17 * var(--rem));
    }
  }
  .project-item-list__image {
    &.--1 {
      width: calc(350 * var(--rem));
    }
    &.--2 {
      width: calc(250 * var(--rem));
    }
  }
}
.project-item-list--2 {
  flex-wrap: wrap;
  justify-content: center;
  row-gap: calc(15 * var(--rem));
  .project-item-list__item {
    &.--1 {
      .project-item-list__name {
        translate: calc(-6 * var(--rem));
      }
    }
    &.--2 {
      margin-left: calc(35 * var(--rem));
    }
    &.--3,
    &.--4 {
      > a {
        display: flex;
        flex-direction: column;
        align-items: center;
      }
      .project-item-list__name {
        text-align: center;
      }
    }
    &.--3 {
      margin-left: calc(30 * var(--rem));
    }
    &.--4 {
      margin-left: calc(104 * var(--rem));
    }
  }
  .project-item-list__image {
    &.--1 {
      width: calc(315 * var(--rem));
    }
    &.--2 {
      width: calc(225 * var(--rem));
      translate: calc(16 * var(--rem));
    }
    &.--3,
    &.--4 {
      width: calc(178 * var(--rem));
    }
  }
  .project-item-list__name {
    margin-top: calc(8 * var(--rem));
  }
}


/* ===================
  .project-section-look__how-to-use
=================== */
.project-section-look__how-to-use {
  margin-top: calc(157 * var(--rem));
}
.project-section-look__how-to-use--2 {
  margin-top: calc(52 * var(--rem));
}
.project-how-to-use {
  margin-top: calc(35 * var(--rem));
  .project-section-look__how-to-use--2 & {
    margin-top: calc(30 * var(--rem));
  }
}
.project-how-to-use__item {
  font-size: calc(18 * var(--rem));
  line-height: calc(37 / 18);
  letter-spacing: 0;
  text-align: center;
}


/* ===================
  .project-section-info
=================== */
.project-section-info {
  position: relative;
  padding-bottom: calc(225 * var(--rem));
  background: #fff;
}


/* ===================
  .project-behind
=================== */
.project-behind {
  padding-block: calc(70 * var(--rem)) calc(99 * var(--rem));
}
.project-behind__heading {
  padding-inline: calc(46 * var(--rem));
}
.project-behind__body {
  margin-top: calc(42 * var(--rem));
}
.project-behind__text {
  line-height: calc(45 / 20);
  letter-spacing: -.04em;
  text-align: center;
  & + & {
    margin-top: calc(45 * var(--rem));
  }
}


/* ===================
  .project-profile
=================== */
.project-profile {
  padding-block: calc(102.5 * var(--rem)) calc(102.5 * var(--rem));
}
.project-profile__heading {
  padding-inline: calc(42 * var(--rem));
}
.project-profile__body {
  margin-top: calc(44 * var(--rem));
}
.project-profile__text {
  line-height: calc(45 / 20);
  letter-spacing: 0;
  text-align: center;
  & + & {
    margin-top: calc(45 * var(--rem));
  }
}
.project-profile__insta {
  margin-top: calc(52 * var(--rem));
}
.project-profile__logo {
  margin-top: calc(93 * var(--rem));
  width: calc(335 * var(--rem));
  margin-inline: auto;
  & img {
    width: 100%;
  }
}


/* ===================
  .project-schedule
=================== */
.project-schedule {
  padding-block: calc(139.5 * var(--rem)) calc(102.5 * var(--rem));
}
.project-schedule__heading {
  padding-inline: calc(67 * var(--rem));
}
.project-schedule__body {
  margin-top: calc(50 * var(--rem));
}
.project-schedule__image {
  width: calc(685 * var(--rem));
  margin-inline: auto;
  & img {
    width: 100%;
  }
}
.project-schedule__note {
  width: fit-content;
  margin-top: calc(43 * var(--rem));
  margin-inline: auto;
  font-size: calc(14 * var(--rem));
  line-height: calc(27.66 / 14);
  letter-spacing: .04em;
}


/* ===================
  .project-guideline
=================== */
.project-guideline {
  position: relative;
  padding-top: calc(62 * var(--rem));
  background: #fff;
}
.project-guideline--2 {
  padding-top: calc(80 * var(--rem));
}
.project-guideline--3 {
  padding-top: calc(68 * var(--rem));
  .project-guideline__heading {
    padding-inline: calc(55 * var(--rem));
  }
  .project-guideline__list {
    width: calc(679 * var(--rem));
  }
  .project-guideline__item {
    &.--2 {
      letter-spacing: -.02em;
    }
    &.--3 {
      letter-spacing: .04em;
    }
  }
}
.project-guideline__heading {
  padding-top: calc(6 * var(--rem));
  padding-inline: calc(35 * var(--rem));
}
.project-guideline__list {
  width: calc(672 * var(--rem));
  margin-inline: auto;
  margin-top: calc(50 * var(--rem));
  translate: calc(2 * var(--rem));
}
.project-guideline__item {
  line-height: calc(39 / 20);
  letter-spacing: 0;
  & + & {
    margin-top: calc(39 * var(--rem));
  }
  &.--thin {
    letter-spacing: -.06em;
  }
  & a {
    padding-inline: calc(4 * var(--rem));
    padding-bottom: calc(2 * var(--rem));
    background: linear-gradient(to bottom, transparent 0%, transparent 65%, #F3CCD6 65%, #F3CCD6 100%);
  }
}


/* ===================
  .project-footer-nav
=================== */
.project-footer-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 100;
  width: 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-footer-nav__list {
  display: flex;
}
.project-footer-nav__item {
  position: relative;
  &.--1 {
    width: calc(165 * var(--rem));
  }
  &.--2 {
    width: calc(181 * var(--rem));
  }
  &.--3 {
    width: calc(221 * var(--rem));
  }
  &.--4 {
    width: calc(183 * var(--rem));
  }
  &.--2,
  &.--3,
  &.--4 {
    &::before {
      position: absolute;
      content: '';
      top: calc(21 * var(--rem));
      left: 0;
      display: block;
      width: 1px;
      height: calc(35 * var(--rem));
      background: currentColor;
      pointer-events: none;
    }
  }
}
.project-footer-nav__item-body {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: calc(70 * var(--rem));
  padding-top: calc(10 * var(--rem));
  background : linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(245, 214, 222, 0.8) 89.63%);
  font-family: var(--lp-font-en);
  font-style: italic;
  font-size: calc(12 * var(--rem));
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
}


/* ===================
  .project-logo-box
=================== */
.project-logo-box {
  margin-top: calc(-4 * var(--rem-pc));
  margin-right: calc(14 * var(--rem-pc));
}
.project-logo-box__main {
  width: calc(171 * var(--rem-pc));
  margin-inline: auto;
  & img {
    width: 100%;
  }
}
.project-logo-box__text {
  margin-top: calc(19 * var(--rem-pc));
  margin-right: calc(5 * var(--rem-pc));
  font-family: var(--lp-font-en);
  font-style: italic;
  font-size: calc(8.55 * var(--rem-pc));
  font-weight: var(--font-helvetica-oblique);
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
}


/* ===================
  .project-side-nav
=================== */
.project-side-nav {
  margin-left: calc(8 * var(--rem-pc));
}
.project-side-nav__item {
  & + & {
    margin-top: calc(20 * var(--rem-pc));
  }
  .component-label {
    width: calc(93 * var(--rem-pc));
    height: calc(24 * var(--rem-pc));
    padding-top: calc(2 * var(--rem-pc));
    font-size: calc(10.03 * var(--rem-pc));
    font-weight: var(--font-helvetica-oblique);
    &.--large {
      width: calc(133 * var(--rem-pc));
    }
  }
}


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


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

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


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