﻿@charset "UTF-8";

/* ========================================================
                      * Variable *
========================================================= */
:root {
  --pw: 1600; /* PC幅 */
  --sw: 750; /* SP幅 */
  --artboard-pw: 600; /* 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: #727171;

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

  --font-helvetica-light: 300;
  --font-helvetica-roman: 400;

  --icon-arrow: url('data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0A%3Csvg%20id%3D%22_%E7%B7%A8%E9%9B%86%E3%83%A2%E3%83%BC%E3%83%89%22%20data-name%3D%22%E7%B7%A8%E9%9B%86%E3%83%A2%E3%83%BC%E3%83%89%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2042%2022%22%3E%0A%20%20%3Cdefs%3E%0A%20%20%20%20%3Cstyle%3E%0A%20%20%20%20%20%20.cls-1%20%7B%0A%20%20%20%20%20%20%20%20fill%3A%20none%3B%0A%20%20%20%20%20%20%20%20stroke%3A%20%23727171%3B%0A%20%20%20%20%20%20%20%20stroke-linecap%3A%20round%3B%0A%20%20%20%20%20%20%20%20stroke-linejoin%3A%20round%3B%0A%20%20%20%20%20%20%20%20stroke-width%3A%202px%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%3C%2Fstyle%3E%0A%20%20%3C%2Fdefs%3E%0A%20%20%3Cpolyline%20class%3D%22cls-1%22%20points%3D%2241%201%2021%2021%201%201%22%2F%3E%0A%3C%2Fsvg%3E');
}

@media (768px <= width) {
  :root {
    --ratio: calc(var(--artboard-pw) / var(--artboard-sw));
    --variable: calc(100vw / var(--pw));
  }
}
@media (1600px <= 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: .15em;
  position: relative;
  /* background: var(--lp-background-color, transparent); */
  font-family: var(--lp-font-ja);
  color: var(--base-font-color, #000);
  font-size: calc(24 * var(--rem));
  font-style: normal;
  letter-spacing: var(--letter-spacing);
  & * {
    font-feature-settings: "palt";
  }
  & *,
  & *:before,
  & *:after {
    box-sizing: border-box;
  }
  & :where(h1, h2, h3, h4, h5, p, ul, ol, li, dl, dt, dd, a, span, button, figure, figcaption) {
    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: calc(20 * var(--rem));
    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
=================== */
.l-mobile-first {
  position: relative;
  @media (768px <= width) {
    display: flex;
  }
}
.l-mobile-first__left,
.l-mobile-first__right {
  position: relative;
  width: calc((100% - (var(--artboard-pw) * var(--rem-pc))) / 2);
}
.l-mobile-first__sticky {
  position: sticky;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100vh;
}
.l-mobile-first__main {
  overflow-x: clip;
  /* padding-block: calc(80 * var(--rem)) calc(205 * var(--rem)); */
  /* background: url(../img/bg_1.jpg) no-repeat top center/cover; */
  @media (768px <= width) {
    width: calc(var(--artboard-pw) * var(--rem-pc));
  }
}


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


/* ===================
  Component
=================== */
/* link point */
.c-link-point {
  width: calc(32 * var(--rem));
  height: calc(32 * var(--rem));
  background: #fff;
  border-radius: 50%;
  opacity: .6;
  animation: blinking 2s linear 2s infinite;
}

/* button */
.c-button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: calc(280 * var(--rem));
  height: calc(64 * var(--rem));
  margin-inline: auto;
  background: var(--base-font-color);
  border-radius: 99px;
  color: #fff;
  font-size: calc(32 * var(--rem));
  font-weight: var(--font-helvetica-light);
}

/* viewmore */
.c-viewmore {
  position: relative;
  display: block;
  margin-inline: auto;
  padding-block: 0 calc(32 * var(--rem));
  font-size: calc(24 * var(--rem));
  line-height: 1;
  cursor: pointer;
  &::before,
  &::after {
    content: "";
    position: absolute;
    left: 50%;
    width: calc(32 * var(--rem));
    height: calc(16 * var(--rem));
    background: var(--icon-arrow) no-repeat center / contain;
    translate: -50% 0;
  }
  &::before {
    top: 0;
    rotate: 180deg;
    opacity: 0;
  }
  &::after {
    bottom: 0;
  }
  &.is-open {
    padding-block: calc(32 * var(--rem)) 0;
    &::before {
      opacity: 1;
    }
    &::after {
      opacity: 0;
    }
  }
}


/* ===================
  Animation
=================== */
.fade {
  opacity: 0;
  transition: opacity 1.8s var(--transition-timing);
  &.is-active {
    opacity: 1;
  }
}

/* keyframes */
@keyframes blinking {
  0% {
    opacity: .6;
    scale: 1;
  }
  24% {
    opacity: .6;
    scale: 1.2;
  }
  48% {
    opacity: 0;
    scale: 1.2;
  }
  52% {
    opacity: 0;
    scale: .8;
  }
  76% {
    opacity: .6;
    scale: .9;
  }
  100% {
    opacity: .6;
    scale: 1;
  }
}


/* ===================
  Accordion
=================== */
.js-accordion--body {
  max-height: calc(297 * var(--rem));
  overflow: hidden;
  transition: max-height .6s ease-in-out;
  will-change: max-height;
  transform: translate3d(0,0,0);
}


/* ===================
  Modal
=================== */
/* body.is-modal-open {
  overflow: hidden;
  scrollbar-gutter: stable;
} */
.p-modal {
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  margin: auto;
  background: none;
  border: none;
  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: fade-out 0.3s ease-out forwards;
  }
  &.is-closing::backdrop {
    animation: fade-out-backdrop 0.3s ease-out forwards;
  }
}
dialog::backdrop {
  background-color: rgba(114, 113, 113, 0);
  cursor: pointer;
  transition: background-color 0.3s;
  will-change: background-color;
}
dialog.is-open::backdrop {
  background-color: rgba(114, 113, 113, 0.4);
}
@keyframes fade-out {
  from {
    opacity: 1;
    scale: 1;
  }
  to {
    opacity: 0;
    scale: 0.95;
  }
}
@keyframes fade-out-backdrop {
  from { background-color: rgba(114, 113, 113, 0.4); }
  to { background-color: rgba(114, 113, 113, 0); }
}

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


/* ===================
  .p-modal-content
=================== */
.p-modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: calc(880 * var(--rem));
  background: no-repeat top center / cover;
  border-radius: calc(60 * var(--rem));
  &.--1 {
    padding-bottom: calc(12 * var(--rem));
    background-image: url(../img/bg_modal_1.jpg);
  }
  &.--2 {
    background-image: url(../img/bg_modal_2.jpg);
  }
}
.p-modal-content__body {
  padding-inline: calc(58 * var(--rem));
  color: #fff;
  text-align: center;
}
.p-modal-content__body-heading {
  margin-bottom: calc(54 * var(--rem));
  font-size: calc(30 * var(--rem));
  line-height: calc(52.5 / 30);
}
.p-modal-content__body-text {
  font-size: calc(24 * var(--rem));
  line-height: calc(48 / 24);
  text-align: justify;
}
.p-modal-content__body-note {
  margin-top: calc(44 * var(--rem));
  font-size: calc(20 * var(--rem));
  line-height: calc(30 / 20);
  text-align: justify;
}


/* ===================
  .p-mainvisual
=================== */
.p-mainvisual {
  position: relative;
  height: calc(938 * var(--rem));
  background: #fff;
}
.p-mainvisual__image {
  opacity: 0;
  transition: opacity 1.8s var(--transition-timing) .5s;
  .is-active & {
    opacity: 1;
  }
  & img {
    width: 100%;
  }
}
.p-mainvisual__body {
  position: absolute;
  top: calc(67 * var(--rem));
  left: 0;
  width: 100%;
  color: #fff;
  text-align: center;
  opacity: 0;
  transition: opacity 1.8s var(--transition-timing) 1s;
  .is-active & {
    opacity: 1;
  }
}
.p-mainvisual__heading-sub {
  margin-bottom: calc(22 * var(--rem));
  font-size: calc(27 * var(--rem));
  font-weight: var(--font-helvetica-roman);
  line-height: 1;
  letter-spacing: .22em;
}
.p-mainvisual__heading {
  width: calc(334.660 * var(--rem));
  margin-inline: auto;
  & img {
    width: 100%;
  }
}


/* ===================
  .p-section-top
=================== */
.p-section-top {
  padding-block: calc(137 * var(--rem)) calc(137 * var(--rem));
  background: url(../img/bg_1.jpg) no-repeat top center / 100% auto;
  text-align: center;
  mask-image: linear-gradient(to top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 10%);
  &:has(.is-open) {
    mask-image: none;
  }
}
.p-section-top__head {
  margin-bottom: calc(112 * var(--rem));
  font-size: calc(30 * var(--rem));
  font-weight: var(--font-helvetica-light);
  line-height: 1;
}
.p-section-top__heading-sub {
  display: block;
  margin-bottom: calc(22 * var(--rem));
  font-size: calc(26 * var(--rem));
  font-weight: var(--font-helvetica-roman);
  line-height: 1;
}
.p-section-top__heading-main {
  display: block;
  font-size: calc(46 * var(--rem));
  font-weight: var(--font-helvetica-light);
  line-height: 1;
}
.p-section-top__body {
  .c-viewmore {
    transition: margin-top .6s ease-in-out;
    will-change: margin-top;
    &.is-open {
      margin-top: calc(59 * var(--rem));
    }
  }
}
.p-section-top__text {
  margin-top: calc(79 * var(--rem));
  font-size: calc(22 * var(--rem));
  line-height: calc(52.8 / 22);
  letter-spacing: .2em;
  & + & {
    margin-top: calc(69 * var(--rem));
  }
}


/* ===================
  .p-section
=================== */
.p-section {
  position: relative;
  padding-block: calc(101 * var(--rem));
  & + & {
    &::before {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      display: block;
      width: 0;
      height: 1px;
      background: var(--base-font-color);
      translate: -50% 0;
      transition: width 1.2s var(--transition-timing);
    }
  }
  &.is-active {
    &::before {
      width: calc(700 * var(--rem));
    }
  }
}
.p-section__visual {
  width: calc(660 * var(--rem));
  margin-inline: auto;
  border-radius: calc(60 * var(--rem));
  overflow: clip;
  & img {
    width: 100%;
  }
}
.p-section__head {
  margin-block: calc(94 * var(--rem)) calc(45 * var(--rem));
  text-align: center;
  .p-section-petalfloateyes & {
    margin-bottom: calc(51 * var(--rem));
  }
}
.p-section__heading {
  font-size: calc(44 * var(--rem));
  font-weight: var(--font-helvetica-light);
  line-height: 1;
}
.p-section__lead {
  margin-top: calc(41 * var(--rem));
  font-size: calc(26 * var(--rem));
  line-height: calc(52 / 26);
}

.p-section-look {
  padding-top: calc(95 * var(--rem));
  padding-bottom: 0;
}


/* ===================
  .p-section-anchor
=================== */
.p-section-anchor__head {
  margin-block: calc(56 * var(--rem)) calc(57 * var(--rem));
  text-align: center;
}
.p-section-anchor__heading {
  font-size: calc(28 * var(--rem));
  font-weight: var(--font-helvetica-roman);
  line-height: 1;
}


/* ===================
  .p-anchor-box
=================== */
.p-anchor-box__list {
  width: calc(660 * var(--rem));
  margin-inline: auto;
}
.p-anchor-box__list-item {
  &:nth-child(even) {
    .p-anchor-box {
      flex-direction: row-reverse;
    }
    .p-anchor-box__body {
      padding-left: calc(79 * var(--rem));
    }
  }
}
.p-anchor-box {
  display: flex;
  align-items: center;
}
.p-anchor-box__image {
  width: calc(330 * var(--rem));
  height: calc(440 * var(--rem));
  border-radius: calc(60 * var(--rem));
  overflow: clip;
  & img {
    width: 100%;
  }
}
.p-anchor-box__body {
  flex-grow: 1;
  padding-left: calc(52 * var(--rem));
  padding-bottom: calc(18 * var(--rem));
}
.p-anchor-box__body-inner {
  width: fit-content;
}
.p-anchor-box__body-label {
  font-size: calc(46 * var(--rem));
  font-weight: var(--font-helvetica-light);
  line-height: calc(73.6 / 46);
}
.p-anchor-box__arrow {
  width: calc(72 * var(--rem));
  margin-top: calc(20 * var(--rem));
  margin-inline: auto;
  & img {
    width: 100%;
  }
}


/* ===================
  .p-item
=================== */
.p-item__image {
  width: calc(400 * var(--rem));
  margin-inline: auto;
  & img {
    width: 100%;
  }
}
.p-item__body {
  margin-top: calc(31 * var(--rem));
  text-align: center;
  .p-section-petalfloateyes & {
    margin-top: calc(25 * var(--rem));
  }
}
.p-item__name {
  font-size: calc(24 * var(--rem));
  line-height: 1;
}
.p-item__price {
  margin-top: calc(31 * var(--rem));
  font-size: calc(24 * var(--rem));
  line-height: 1;
  .--small {
    margin-right: calc(18 * var(--rem));
    font-size: calc(22 * var(--rem));
  }
  .--smaller {
    font-size: calc(20 * var(--rem));
  }
}
.p-item__button {
  margin-top: calc(45 * var(--rem));
}


/* ===================
  .p-item-modal-block
=================== */
.p-item-modal-block {
  position: relative;
  width: calc(660 * var(--rem));
  height: calc(880 * var(--rem));
  margin-top: calc(120 * var(--rem));
  margin-inline: auto;
}
.p-item-modal-block__image {
  width: 100%;
  border-radius: calc(60 * var(--rem));
  overflow: clip;
  & img {
    width: 100%;
  }
}
.p-item-modal-block__box {
  position: absolute;
  &.--1 {
    top: calc(77 * var(--rem));
    right: calc(52 * var(--rem));
  }
  &.--2 {
    top: calc(692 * var(--rem));
    left: calc(59 * var(--rem));
  }
}
.p-item-modal-block__box-text__container {
  position: relative;
  width: fit-content;
  padding-bottom: calc(1 * var(--rem));
}
.p-item-modal-block__box-text {
  font-size: calc(24 * var(--rem));
  line-height: calc(48 / 24);
}
.p-item-modal-block__box-text__border {
  position: absolute;
  z-index: 5;
  pointer-events: none;
  &.--1 {
    top: 100%;
    right: 0;
    svg {
      width: calc(500 * var(--rem));
      height: calc(120 * var(--rem));
    }
  }
  &.--2 {
    bottom: calc(-12 * var(--rem));
    left: 0;
    svg {
      width: calc(489 * var(--rem));
      height: calc(171 * var(--rem));
    }
  }
}
.p-item-modal-block__box-text__border-path {
  &.--1 {
    stroke-dashoffset: 525.6016235351562px;
    stroke-dasharray: 525.6016235351562px;
    -webkit-transition: stroke-dashoffset 2s cubic-bezier(0.455, 0.03, 0.515, 0.955) .8s;
    transition: stroke-dashoffset 2s cubic-bezier(0.455, 0.03, 0.515, 0.955) .8s;
  }
  &.--2 {
    stroke-dashoffset: 563.921142578125px;
    stroke-dasharray: 563.921142578125px;
    -webkit-transition: stroke-dashoffset 2s cubic-bezier(0.455, 0.03, 0.515, 0.955) 1s;
    transition: stroke-dashoffset 2s cubic-bezier(0.455, 0.03, 0.515, 0.955) 1s;
  }
  .p-item-modal-block.is-active & {
    stroke-dashoffset: 0;
  }
}
.p-item-modal-block__trigger {
  position: absolute;
  &.--1 {
    top: calc(277 * var(--rem));
    left: calc(100 * var(--rem));
  }
  &.--2 {
    top: calc(606 * var(--rem));
    left: calc(529 * var(--rem));
  }
}


/* ===================
  .p-colors-image
=================== */
.p-colors-image__block {
  margin-top: calc(140 * var(--rem));
  .p-section-petalfloateyes & {
    margin-top: calc(120 * var(--rem));
  }
}
.p-colors-image {
  position: relative;
  display: block;
  & img {
    width: 100%;
  }
}
.p-colors-image__label {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: calc(46 * var(--rem));
  font-weight: var(--font-helvetica-light);
  line-height: 1;
}


/* ===================
  .p-color-look
=================== */
.p-color-look {
  padding-top: calc(115 * var(--rem));
  &.p-color-look-softreverie {
    padding-top: calc(108 * var(--rem));
  }
}
.p-color-look__heading {
  position: relative;
  width: fit-content;
  margin-bottom: calc(63 * var(--rem));
  padding-bottom: calc(9 * var(--rem));
  &.--left {
    margin-left: calc(59 * var(--rem));
  }
  &.--right {
    margin-left: auto;
    margin-right: calc(52 * var(--rem));
  }
}
.p-color-look__heading-main {
  font-size: calc(40 * var(--rem));
  font-weight: var(--font-helvetica-light);
  line-height: 1;
}
.p-color-look__heading-border {
  position: absolute;
  top: 100%;
  z-index: 5;
  pointer-events: none;
  .--left & {
    left: -1px;
  }
  .--right & {
    right: calc(6 * var(--rem));
  }
  svg {
    width: calc(534 * var(--rem));
    height: calc(154 * var(--rem));
  }
}
.p-color-look__heading-path {
  -webkit-transition: stroke-dashoffset 2s cubic-bezier(0.455, 0.03, 0.515, 0.955) .8s;
  transition: stroke-dashoffset 2s cubic-bezier(0.455, 0.03, 0.515, 0.955) .8s;
  &.--1 {
    stroke-dashoffset: 605.9017333984375px;
    stroke-dasharray: 605.9017333984375px;
  }
  &.--2 {
    stroke-dashoffset: 579.7785034179688px;
    stroke-dasharray: 579.7785034179688px;
  }
  &.--3 {
    stroke-dashoffset: 583.61474609375px;
    stroke-dasharray: 583.61474609375px;
  }
  &.--4 {
    stroke-dashoffset: 583.5493774414062px;
    stroke-dasharray: 583.5493774414062px;
  }
  &.--5 {
    stroke-dashoffset: 597.7247924804688px;
    stroke-dasharray: 597.7247924804688px;
  }
  &.--6 {
    stroke-dashoffset: 584.4251708984375px;
    stroke-dasharray: 584.4251708984375px;
  }
  &.--7 {
    stroke-dashoffset: 584.231201171875px;
    stroke-dasharray: 584.231201171875px;
  }
  &.--8 {
    stroke-dashoffset: 587.2422485351562px;
    stroke-dasharray: 587.2422485351562px;
  }
  .p-color-look__head.is-active & {
    stroke-dashoffset: 0;
  }
}


/* ===================
  .p-item-row
=================== */
.p-item-row {
  display: flex;
  align-items: center;
  gap: calc(40 * var(--rem));
  margin-top: calc(60 * var(--rem));
  margin-inline: calc(40 * var(--rem));
  .p-color-look-glassprism & {
    margin-top: calc(53 * var(--rem));
  }
}
.p-item-row__image {
  width: calc(260 * var(--rem));
  & img {
    width: 100%;
  }
}
.p-item-row__body {
  flex: 1;
  padding-bottom: calc(8 * var(--rem));
}
.p-item-row__text {
  font-size: calc(24 * var(--rem));
  line-height: calc(42 / 24);
}
.p-item-row__button {
  margin-top: calc(34 * var(--rem));
  .c-button {
    margin-left: 0;
  }
}


/* ===================
  .p-look-section
=================== */
.p-look-section {
  padding-bottom: calc(114 * var(--rem));
  background: no-repeat bottom calc(-6 * var(--rem)) center / 100% auto;
  &.--1 {
    background-image: url(../img/bg_look_1.jpg);
  }
  &.--2 {
    background-image: url(../img/bg_look_2.jpg);
  }
  &.--3 {
    background-image: url(../img/bg_look_3.jpg);
  }
  &.--4 {
    padding-bottom: calc(139 * var(--rem));
    background-image: url(../img/bg_look_4.jpg);
    background-position: bottom calc(-20 * var(--rem)) center;
  }
}
.p-look-section__heading {
  margin-bottom: calc(55 * var(--rem));
  font-size: calc(44 * var(--rem));
  font-weight: var(--font-helvetica-light);
  line-height: 1;
  text-align: center;
}
.p-look-section__image {
  position: relative;
  width: calc(660 * var(--rem));
  margin-inline: auto;
}


/* ===================
  .p-look-slider
=================== */
.p-look-slider {
  width: 100%;
  height: calc(880 * var(--rem));
  &.slick-dotted {
    margin-bottom: 0;
  }
}
.p-look-slider__item {
  width: 100%;
  & img {
    width: 100%;
    border-radius: calc(60 * var(--rem));
  }
}
.p-look-slider__navigation-container {
  position: relative;
  width: fit-content;
  margin-top: calc(60 * var(--rem));
  margin-inline: auto;
}
.p-look-slider__dots {
  .slick-dots {
    position: static;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: calc(20 * var(--rem));
    & li {
      width: auto;
      height: auto;
      margin: 0;
    }
    & button {
      width: calc(100 * var(--rem));
      height: calc(4 * var(--rem));
      padding: 0;
      background: #bfbfbf;
      &::before {
        content: none;
      }
      .slick-active & {
        background: var(--base-font-color);
      }
    }
  }
}


/* ===================
  .p-look-items
=================== */
.p-look-items {
  margin-top: calc(80 * var(--rem));
}
.p-look-items__item {
  & + & {
    margin-top: calc(53 * var(--rem));
  }
}
.p-look-items__item-image__container {
  display: flex;
  justify-content: center;
  gap: calc(20 * var(--rem));
}
.p-look-items__item-image {
  &.--small {
    width: calc(200 * var(--rem));
  }
  &.--medium {
    width: calc(230 * var(--rem));
  }
  &.--large {
    width: calc(260 * var(--rem));
  }
  & img {
    width: 100%;
  }
}
.p-look-items__item-name {
  margin-top: calc(20 * var(--rem));
  font-size: calc(20 * var(--rem));
  line-height: calc(30 / 20);
  letter-spacing: .1em;
  text-align: center;
}
.p-look-items__button {
  margin-top: calc(53 * var(--rem));
  .c-button {
    width: calc(416 * var(--rem));
  }
}


/* ===================
  .p-section-release-day
=================== */
.p-section-release-day__visual {
  & img {
    width: 100%;
  }
}
.p-section-release-day__body {
  padding-block: calc(94 * var(--rem)) calc(120 * var(--rem));
  text-align: center;
}
.p-section-release-day__heading {
  font-size: calc(44 * var(--rem));
  font-weight: var(--font-helvetica-light);
  line-height: 1;
}
.p-section-release-day__date {
  margin-top: calc(52 * var(--rem));
  font-size: calc(30 * var(--rem));
  font-weight: var(--font-helvetica-roman);
  line-height: 1;
}
.p-section-release-day__content {
  margin-top: calc(73 * var(--rem));
}
.p-section-release-day__block {
  & + & {
    margin-top: calc(37 * var(--rem));
  }
}
.p-section-release-day__block-label {
  margin-bottom: calc(10 * var(--rem));
  font-size: calc(24 * var(--rem));
  font-weight: var(--font-helvetica-roman);
  line-height: 1;
}
.p-section-release-day__block-content__text {
  font-size: calc(22 * var(--rem));
  line-height: calc(44 / 22);
  letter-spacing: .1em;
  .--ja {
    font-size: calc(20 * var(--rem));
    letter-spacing: inherit;
  }
}
.p-section-release-day__button {
  margin-top: calc(106 * var(--rem));
  .c-button {
    width: calc(600 * var(--rem));
    height: calc(120 * var(--rem));
    padding-top: calc(4 * var(--rem));
    padding-left: calc(6 * var(--rem));
    font-size: calc(44 * var(--rem));
    font-weight: var(--font-helvetica-roman);
    line-height: calc(48 / 44);
    .--small {
      margin-bottom: calc(4 * var(--rem));
      font-size: calc(24 * var(--rem));
    }
    & span {
      letter-spacing: .14em;
    }
  }
}


/* ===================
  p-footer-nav
=================== */
.p-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;
  &.is-visible {
    opacity: 1;
    translate: 0 0;
  }
}
.p-footer-nav__list {
  display: flex;
  flex-wrap: wrap;
  background-color: #fff;
}
.p-footer-nav__item {
  width: calc(100% - (434 * var(--rem)));
  border-top: 1px solid var(--base-font-color);
  &:has(.p-footer-nav__item-image) {
    width: calc(434 * var(--rem));
  }
  &:nth-child(even) {
    border-left: 1px solid var(--base-font-color);
  }
}
.p-footer-nav__item-body {
  position: relative;
  display: flex;
  align-items: center;
  gap: calc(30 * var(--rem));
  height: calc(109 * var(--rem));
  padding-left: calc(50 * var(--rem));
  background: #fff;
  font-size: calc(23 * var(--rem));
  line-height: calc(28.75 / 23);
   &:has(.p-footer-nav__item-image) {
    padding-left: calc(30 * var(--rem));
  }
  &::after {
    content: "";
    position: absolute;
    top: 50%;
    right: calc(40 * var(--rem));
    width: calc(20 * var(--rem));
    height: calc(10 * var(--rem));
    background: var(--icon-arrow) no-repeat center / contain;
    translate: 0 -50%;
  }
}
.p-footer-nav__item-image {
  width: calc(80 * var(--rem));
  height: calc(80 * var(--rem));
  & img {
    width: 100%;
  }
}
.p-footer-nav__item-label {
  letter-spacing: .12em;
}


/* ===================
  .p-logo-box
=================== */
.p-logo-box__main {
  width: calc(192 * var(--rem-pc));
  margin-inline: auto;
  .p-logo-box__text + & {
    margin-top: calc(22 * var(--rem-pc));
  }
  & img {
    width: 100%;
  }
}
.p-logo-box__text {
  font-size: calc(16 * var(--rem-pc));
  font-weight: var(--font-helvetica-light);
  line-height: 1;
  letter-spacing: .22em;
  text-align: center;
  &.--small {
    font-size: calc(14 * var(--rem-pc));
    letter-spacing: .15em;
  }
  .p-logo-box__main + & {
    margin-top: calc(40 * var(--rem-pc));
  }
}


/* ===================
  .p-current-nav
=================== */
.p-current-nav__list {
  width: calc(287 * var(--rem-pc));
}
.p-current-nav__item {
  & + & {
    margin-top: calc(38 * var(--rem-pc));
    &:has(.p-current-nav__item-image) {
      margin-top: calc(20 * var(--rem-pc));
    }
  }
}
.p-current-nav__item-body {
  position: relative;
  display: flex;
  align-items: center;
  column-gap: calc(20 * var(--rem-pc));
  &:not(:has(.p-current-nav__item-image)) {
    padding-left: calc(10 * var(--rem-pc));
  }
  &::after {
    content: "";
    position: absolute;
    top: 50%;
    right: calc(30 * var(--rem-pc));
    width: calc(12 * var(--rem-pc));
    height: calc(6 * var(--rem-pc));
    background: var(--icon-arrow) no-repeat center / contain;
    translate: 0 -50%;
  }
}
.p-current-nav__item-image {
  width: calc(60 * var(--rem-pc));
  & img {
    width: 100%;
  }
}
.p-current-nav__item-label {
  font-size: calc(16 * var(--rem-pc));
  font-weight: var(--font-helvetica-light);
  line-height: calc(24 / 16);
  &:only-child {
    line-height: 1;
    letter-spacing: .22em;
  }
}


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

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


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