﻿@charset "UTF-8";

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

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

  --icon-arrow: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2036.5%2016.48%22%3E%3Cpath%20d%3D%22m35.75.94-17.5%2014L.75.94%22%20style%3D%22fill%3Anone%3Bstroke%3AcurrentColor%3Bstroke-miterlimit%3A10%3Bstroke-width%3A2.41px%22%2F%3E%3C%2Fsvg%3E');
}

@media (768px <= width) {
  :root {
    --ratio: calc(var(--artboard-pw) / var(--artboard-sw));
    --variable: calc(100vw / var(--pw));
  }
}
@media (1920px <= 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;
}


/* ===================
  Animation
=================== */
.fade {
  opacity: 0;
  transition: opacity 1.8s var(--transition-timing);
  &.is-active {
    opacity: 1;
  }
}
.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);
  }
}
.fade-up {
  opacity: 0;
  translate: 0 calc(50 * var(--rem));
  transition:
    opacity 2s var(--transition-timing),
    translate 2s var(--transition-timing);
  &.is-active {
    opacity: 1;
    translate: 0 0;
  }
}



/* ===================
  LP Contents
=================== */
.lp_contents {
  --letter-spacing: .05em;
  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(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, button, figure, figcaption, span, sup, b) {
    margin: 0;
    padding: 0;
    font-family: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: var(--letter-spacing);
  }
  & ul,
  & li {
    list-style: none;
  }
  & :where(img) {
    display: block;
    width: 100%;
    height: auto;
  }
  & sup {
    top: 0;
    font-size: .6em;
    vertical-align: super;
  }
  & :where(a, a:before, a:after, a img, button) {
    --duration: .3s;
    --timing: ease-in-out;
    transition:
      opacity var(--duration) var(--timing),
      color var(--duration) var(--timing),
      background-color var(--duration) var(--timing),
      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;
  }
}


/* ===================
  Layout
=================== */
.layout-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  &::before {
    position: sticky;
    content: '';
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100vh;
    background: url(../img/bg_pc.jpg) repeat top center/99.5% auto;
  }
}

.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;
  /* 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
=================== */
/* button */
.component-button {
  width: calc(587 * var(--rem));
  margin-inline: auto;
}

.component-float-button {
  /* position: fixed; */
  position: sticky;
  z-index: 10;
  /* bottom: calc(135 * var(--rem)); */
  bottom: 0;
  height: 0;
  /* left: calc(30 * var(--rem)); */
  width: calc(150 * var(--rem));
  margin-left: calc(30 * var(--rem));
  & a {
    position: absolute;
    bottom: calc(135 * var(--rem));
  }
}






/**
 * project-mainvisual
 */
.project-mainvisual {
  aspect-ratio: 750 / 2079;
  background: url(../img/bg_1.jpg) no-repeat top center/100% 100%;
}


/**
 * section-index
 */
.section-index {
  aspect-ratio: 750 / 1246;
  padding-top: calc(58 * var(--rem));
  /* background: url(../img/bg_2.jpg) repeat top calc(-4 * var(--rem)) center/100%; */
  background: url(../img/bg_2.jpg) repeat top center/100% 100%;
}
.section-index__heading {
  margin-bottom: calc(90 * var(--rem));
  margin-left: calc(8 * var(--rem));
  color: #fff;
  font-family: var(--lp-font-en);
  font-size: calc(110 * var(--rem));
  font-weight: 300;
  line-height: 1;
  letter-spacing: .085em;
  text-align: center;
}

.index-list {
  width: calc(660 * var(--rem));
  margin-inline: auto;
}
.index-list__item {
  & + & {
    margin-top: calc(43 * var(--rem));
  }
}
.index-list__link {
  position: relative;
  display: flex;
  align-items: center;
  color: #fff;
  line-height: 1;
  &::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    display: block;
    width: calc(27 * var(--rem));
    height: calc(27 * var(--rem));
    background: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_3%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%203%22%20viewBox%3D%220%200%2029.52%2029.52%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3Anone%3Bstroke%3A%23fff%3Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3Bstroke-width%3A2.83px%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22m8.27%2011.5%206.31%208.21%206.1-7.95%22%20class%3D%22cls-1%22%2F%3E%3Ccircle%20cx%3D%2214.76%22%20cy%3D%2214.76%22%20r%3D%2213.34%22%20class%3D%22cls-1%22%2F%3E%3C%2Fsvg%3E') no-repeat center/100% 100%;
    translate: 0 -50%;
  }
}
.index-list__link-num {
  margin-right: calc(11 * var(--rem));
  font-family: var(--lp-font-en);
  font-size: calc(65 * var(--rem));
  font-weight: 300;
  letter-spacing: .085em;
}
.index-list__link-text {
  font-size: calc(29 * var(--rem));
  font-weight: bold;
  letter-spacing: 0;
  &.--only {
    letter-spacing: -.02em;
  }
}



/**
 * section-concerns
 */
.section-concerns {
  aspect-ratio: 750 / 1284;
  padding-top: calc(65 * var(--rem));
  background: url(../img/bg_3.jpg) no-repeat top center/100% 100%;
}
.section-concerns__head-message {
  width: calc(508 * var(--rem));
  margin-inline: auto;
}
.section-concerns__head-label {
  width: calc(459 * var(--rem));
  margin-top: calc(45 * var(--rem));
  margin-inline: auto;
}
.section-concerns__heading {
  width: calc(509 * var(--rem));
  margin-top: calc(67 * var(--rem));
  margin-inline: auto;
  /* color: #fff; */
  /* font-size: calc(82.87 * var(--rem)); */
  /* font-weight: bold; */
  /* line-height: calc(118.86 / 82.87); */
  /* letter-spacing: 0; */
  /* text-align: center; */
}
.section-concerns__list {
  width: calc(588 * var(--rem));
  margin-top: calc(83 * var(--rem));
  margin-inline: auto;
}
/* .section-concerns__item {
  color: #fff;
  font-size: calc(34 * var(--rem));
  font-weight: bold;
  line-height: calc(76 / 34);
  letter-spacing: .025em;
} */


/**
 * section-protein
 */
.section-protein {
  aspect-ratio: 750 / 2169;
  padding-top: calc(90 * var(--rem));
  background: url(../img/bg_4.jpg) no-repeat top center/100% 100%;
}
.section-protein__heading {
  width: calc(671 * var(--rem));
  margin-inline: auto;
  translate: calc(6 * var(--rem)) 0;
}
.section-protein__fig {
  position: relative;
  left: 50%;
  width: calc(869 * var(--rem));
  margin-top: calc(-1 * var(--rem));
  translate: -50% 0;
}
.section-protein__note {
  width: calc(707 * var(--rem));
  margin-top: calc(27 * var(--rem));
  margin-inline: auto;
}
.section-protein__button {
  margin-top: calc(21 * var(--rem));
}


/**
 * section-key
 */
.section-key {
  aspect-ratio: 750 / 3642;
  background: url(../img/bg_5.jpg) no-repeat top center/100% 100%;
}
.section-key-ingredients {
  padding-top: calc(243 * var(--rem));
  overflow: clip;
}
.section-key-ingredients__label {
  width: calc(521 * var(--rem));
  margin-inline: auto;
}
.section-key-ingredients__heading {
  width: calc(441 * var(--rem));
  margin-top: calc(43 * var(--rem));
  margin-inline: auto;
}
.section-key-ingredients__fig {
  position: relative;
  left: 50%;
  width: calc(869 * var(--rem));
  margin-top: calc(50 * var(--rem));
  margin-inline: auto;
  translate: -50% 0;
}
.section-key-ingredients__text {
  position: relative;
  width: calc(560 * var(--rem));
  margin-top: calc(-34 * var(--rem));
  margin-inline: auto;
}
.section-key-ingredients__note {
  width: calc(561 * var(--rem));
  margin-top: calc(46 * var(--rem));
  margin-inline: auto;
}
.section-key-ingredients__bottom {
  width: calc(331 * var(--rem));
  margin-top: calc(61 * var(--rem));
  margin-inline: auto;
}

.section-formula {
  margin-top: calc(174 * var(--rem));
}
.section-formula__label {
  width: calc(521 * var(--rem));
  margin-inline: auto;
}
.section-formula__heading {
  width: calc(546 * var(--rem));
  margin-top: calc(47 * var(--rem));
  margin-inline: auto;
}
.section-formula__fig {
  position: relative;
  width: calc(659 * var(--rem));
  margin-top: calc(51 * var(--rem));
  margin-inline: auto;
}


/**
 * section-comfortable
 */
.section-comfortable {
  aspect-ratio: 750 / 2459;
  padding-top: calc(110 * var(--rem));
  background: url(../img/bg_6.jpg) no-repeat top center/100% 100%;
}
.section-comfortable__label {
  width: calc(521 * var(--rem));
  margin-inline: auto;
}
.section-comfortable__heading {
  width: calc(573 * var(--rem));
  margin-top: calc(41 * var(--rem));
  margin-inline: auto;
}
.section-comfortable__fig {
  width: calc(565 * var(--rem));
  margin-top: calc(54 * var(--rem));
  margin-inline: auto;
}
.section-comfortable__block--2 {
  margin-top: calc(173 * var(--rem));
  .section-comfortable__fig {
    width: 100%;
    margin-top: 0;
  }
}
.section-comfortable__block--3 {
  margin-top: calc(101 * var(--rem));
  .section-comfortable__fig {
    width: calc(579 * var(--rem));
    margin-top: 0;
  }
}


/**
 * section-column
 */
.section-column {
  aspect-ratio: 750 / 2355;
  padding-top: calc(106 * var(--rem));
  background: url(../img/bg_7.jpg) no-repeat top left calc(-3 * var(--rem))/100.7% 100%;
}
.section-column__label {
  width: calc(521 * var(--rem));
  margin-inline: auto;
}
.section-column__heading {
  width: calc(571 * var(--rem));
  margin-top: calc(45 * var(--rem));
  margin-inline: auto;
}
.section-column__lead {
  width: calc(543 * var(--rem));
  margin-top: calc(63 * var(--rem));
  margin-inline: auto;
}
.section-column__img {
  width: 100%;
  margin-top: calc(50 * var(--rem));
}
.section-column__body {
  margin-top: calc(43 * var(--rem));
}
.section-column__body-heading {
  width: calc(637 * var(--rem));
  margin-inline: auto;
}
.section-column__body-img {
  width: calc(558 * var(--rem));
  margin-top: calc(51 * var(--rem));
  margin-inline: auto;
}
.section-column__body-text {
  width: calc(617 * var(--rem));
  margin-top: calc(39 * var(--rem));
  margin-inline: auto;
}


/**
 * section-voices
 */
.section-voices {
  aspect-ratio: 750 / 1533;
  padding-top: calc(141 * var(--rem));
  background: url(../img/bg_8.jpg) no-repeat top center/100% 100%;
}
.section-voices__label {
  width: calc(521 * var(--rem));
  margin-inline: auto;
}
.section-voices__heading {
  width: calc(605 * var(--rem));
  margin-top: calc(61 * var(--rem));
  margin-inline: auto;
}
.section-voices__list {
  width: calc(674 * var(--rem));
  margin-top: calc(72 * var(--rem));
  margin-inline: auto;
  translate: calc(-6 * var(--rem)) 0;
}


/**
 * section-about
 */
.section-about {
  aspect-ratio: 750 / 1117;
  padding-top: calc(146 * var(--rem));
  background: url(../img/bg_9.jpg) no-repeat top center/100% 100%;
}
.section-about__label {
  width: calc(521 * var(--rem));
  margin-inline: auto;
}
.section-about__img {
  width: calc(228 * var(--rem));
  margin-top: calc(80 * var(--rem));
  margin-inline: auto;
}
.section-about__text {
  width: calc(580 * var(--rem));
  margin-top: calc(93 * var(--rem));
  margin-inline: auto;
}


/**
 * section-line-up
 */
.section-line-up {
  aspect-ratio: 750 / 2415;
  padding-top: calc(265 * var(--rem));
  background: url(../img/bg_10.jpg) no-repeat top center/100% 100%;
}
.section-line-up__label {
  width: calc(521 * var(--rem));
  margin-inline: auto;
}
.section-line-up__heading {
  width: calc(613 * var(--rem));
  margin-top: calc(74 * var(--rem));
  margin-inline: auto;
}

.lineup-slider {
  position: relative;
  margin-top: calc(57 * var(--rem));
}
.lineup-slider__button {
  margin-top: calc(213 * var(--rem));
}
.lineup-slider {
  .swiper-slide {
    width: calc(590 * var(--rem));
    margin-inline: calc(25 * var(--rem));
  }
  .swiper-pagination {
    bottom: calc(229 * var(--rem)) !important;
  }
  .swiper-pagination-bullet {
    width: calc(19 * var(--rem));
    height: calc(19 * var(--rem));
    background: #AFACAB;
    opacity: 1;
    border-radius: calc(10 * var(--rem));
    transition: width 0.3s ease, opacity 0.3s ease, background 0.3s ease;
    margin: 0 calc(25 * var(--rem)) !important;
  }
  .swiper-pagination-bullet-active {
    width: calc(72 * var(--rem));
    opacity: 1;
    background: #524B49;
  }
}


/**
 * section-foot
 */
 .section-foot {
  padding-top: calc(147 * var(--rem));
  padding-bottom: calc(160 * var(--rem));
  background: #fff;
 }
 .section-foot__heading {
  width: calc(565 * var(--rem));
  margin-inline: auto;
 }
 .section-foot__button {
  margin-top: calc(99 * var(--rem));
 }


/**
 * project-logo-box
 */
.project-logo-box {
  width: calc(126 * var(--rem-pc));
  margin-inline: auto;
}


/**
 * project-anchor
 */
.project-anchor {
  width: calc(234 * var(--rem-pc));
}
.project-anchor__item {
  & + & {
    margin-top: calc(83 * var(--rem-pc));
  }
}


/**
 * side-text
 */
.side-text {
  position: absolute;
  top: 50%;
  width: calc(10 * var(--rem-pc));
  translate: 0 -50%;
  &.--left {
    left: calc(32 * var(--rem-pc));
  }
  &.--right {
    right: calc(32 * var(--rem-pc));
  }
}



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

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


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

  /* .archive_area {
    padding-top: calc(200 * var(--rem)) !important;
  } */
}
