@charset "UTF-8";
:root {
  --font: 游ゴシック体, YuGothic, 游ゴシック Medium, Yu Gothic, メイリオ, sans-serif;
  --font-mincho: NotoSerifJP, ＭＳ Ｐ明朝, MS PMincho, serif;
}

* > .main-area {
  font-family: var(--font);
  font-weight: var(--fontweight-medium);
  font-feature-settings: normal;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow: unset;
  min-width: auto;
}

/* ▼ -----------可変設定---------- ▼ */
.lp_variable {
  --pc-width: 1400; /*PCデザイン幅*/
  --sp-width: 750; /*SPデザイン幅*/
  --pc-artboard-width: 425; /*SP共通デザイン幅*/
  --sp-artboard-width: 750; /*PC共通デザイン幅*/
  --formula: calc(var(--variable) * var(--ratio)); /*SP→PC 可変設定*/
  --formula_pc: calc(var(--variable) * 1); /*PC 1400以上は固定*/
}

/* PC画面幅 1400px以上 固定 */
@media (min-width: 1401px) {
  .lp_variable {
    --ratio: calc(var(--pc-artboard-width) / var(--sp-artboard-width)); /* PCとSPのデザイン幅の比率 */
    --variable: calc(100vw / var(--pc-width));
    /*--variable: 1px;  固定値（可変しない）*/
  }
}
/* PC画面幅 768～1400px 可変 */
@media (min-width: 768px) and (max-width: 1400px) {
  .lp_variable {
    --ratio: calc(var(--pc-artboard-width) / var(--sp-artboard-width)); /* PCとSPのデザイン幅の比率 */
    --variable: calc(100vw / var(--pc-width)); /* 画面幅に基づく可変値 */
  }
}
/* SP画面幅 767px以下 可変 */
@media (max-width: 767px) {
  .lp_variable {
    --ratio: 1; /* 比率は1（変わらない） */
    --variable: calc(100vw / var(--sp-width)); /* 画面幅に基づく可変値 */
  }
}
/* ▲ -----------可変設定---------- ▲ */

.spOnly {
  display: none;
}
@media screen and (max-width: 767px) {
  .spOnly {
    display: block;
  }
  .pcOnly {
    display: none;
  }
}

.main-area * {
  box-sizing: border-box;
}
.main-area img {
  height: auto;
  opacity: 1;
  width: 100%;
}
.main-area a {
  text-decoration: none;
}
.main-area picture {
  display: block;
}
.main-area p, .main-area ul, .main-area ol, .main-area dl {
  list-style: none;
}
@media only screen and (max-width: 767px) {
  .main-area .pc_only {
    display: none;
  }
  .main-area .sp_only {
    display: block;
  }
}

@media only screen and (min-width: 768px) {
  .main-area .pc_only {
    display: block;
  }
  .main-area .sp_only {
    display: none;
  }
}

#FR251001lespo {
  --font-zen: "zen-kaku-gothic-antique", sans-serif;
  --font-roboto: "roboto", sans-serif;
  --font-ja: var(--font-zen);
  --font-en: var(--font-roboto);
  --fw-thin: 200;
  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-bold: 700;
  --fw-black: 900;
  --color-black: #000000;
  --color-white: #ffffff;
  --color-blue: #F4FAFC;
  --color-pink: #FCF4FB;
  --color-yellow: #F5F1EA;
  font-feature-settings: "palt";
  text-align: center;
  color: var(--color-black);
  overflow: clip;
  --header-container-height: 120px;
}
#FR251001lespo .contents__bottom {
  padding-bottom: calc(200 * var(--formula));
}
#FR251001lespo .mv-inner {
  width: 100%;
  position: relative;
}
#FR251001lespo .mv_txt {
  width: calc(304 * var(--formula));
  position: absolute;
  left: calc(37 * var(--formula));
  top: calc(47 * var(--formula));
  z-index: 5;
}

@media only screen and (min-width: 768px) {
  .footer {
    width: 100%;
  }
  .archive {
    border-top: 1px solid #58595b;
  }
  #FR251001lespo {
    display: flex;
    width: 100%;
    padding-bottom: calc(230 * var(--formula));
  }
  #FR251001lespo::-webkit-scrollbar {
    display: none;
  }
  #FR251001lespo .contents__left {
    position: sticky;
    top: 0;
    width: 50%;
    height: 100vh;
    z-index: 1;
    overflow: hidden;
    height: calc(100vh - (var(--header-container-height, 0px)));
    top: var(--header-container-height, 0);
  }
  #FR251001lespo .product__block--mv {
    width: auto;
    height: calc(100vh - (var(--header-container-height, 0px)));
    overflow: hidden;
  }
  #FR251001lespo .product__block--mv .mv-inner {
    width: 100%;
    height: 100%;
    position: relative;
  }
  #FR251001lespo .product__block--mv .mv_img {
    width: 100%;
    height: 100%;
  }
  #FR251001lespo .product__block--mv .mv_img a {
    display: block;
    width: 100%;
    height: 100%;
  }
  #FR251001lespo .product__block--mv .mv_img a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 80% top;
  }
  #FR251001lespo .product__block--mv .mv_img picture {
    width: 100%;
    height: 100%;
  }
  #FR251001lespo .product__block--mv .title_box {
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0;
      pointer-events: none;
      z-index: 1;
  }
  #FR251001lespo .mv_txt {
    width: calc(292 * (100vw / 1400));
    left: calc(38 * (100vw / 1400));
    bottom: initial;
    top: 5.7dvh;
  }
  #FR251001lespo .contents__right {
    width: 50%;
    position: relative;
    overflow: clip;
  }
}

/* 共通 スタイル */
.FR251001lespo img {
  width: 100%;
  height: 100%;
}
.credit {
  font-size: calc(20 * var(--formula));
  letter-spacing: 0;
  font-family: var(--font-en);
  font-weight: var(--fw-light);
  font-style: italic;
  line-height: 1.75;  
  display: block;
  margin-top: calc(18 * var(--formula));
  /* display: flex;
  flex-direction: column;
  align-items: center; */
}
.credit span {
  font-size: calc(20 * var(--formula));
  letter-spacing: 0;
  font-family: var(--font-en);
  font-weight: var(--fw-light);
  font-style: italic;
  line-height: 1.75;  
  display: block;
}

.credit .style_normal {
  font-style: normal;
}
.credit > a {
  display: inline-block;
}

.credit .main_credit {
    display: flex;
    justify-content: flex-start;
    margin: 0 auto;
  margin-left: calc(192 * var(--formula));
}

.credit .right_space {
    padding-right: calc(15 * var(--formula));
}

.collection__txt img {
  background: none;
}

/*=======================================
  lead_box   
========================================*/
.lead_box {
  width: calc(750 * var(--formula));
  margin: calc(56 * var(--formula)) auto 0;
}
.lead_box .main_lead{
  font-family: var(--font-ja);
  font-size: calc(20 * var(--formula));
  line-height: 2.2;
  letter-spacing: 0;
  font-weight: var(--fw-light);
}

.collection_lead {
  font-family: var(--font-ja);
  font-size: calc(20 * var(--formula));
  line-height: 2.2;
  letter-spacing: 0;
  font-weight: var(--fw-light);
  margin-top: calc(20 * var(--formula));
}

@media screen and (min-width: 768px) {
  .lead_box {
    margin: calc(54 * var(--formula)) auto 0;
  }
  .credit {
    margin-top: calc(22 * var(--formula));
  }
}

/*=======================================
  contents01   
========================================*/
.contents01 {
  width: calc(750 * var(--formula));
  margin: calc(180 * var(--formula)) auto 0;
  background-color: var(--color-blue);
  padding-bottom: calc(95 * var(--formula));
}
.contents01 .collection__shell02 .img0201 {
  width: calc(630 * var(--formula));
  margin: calc(250 * var(--formula)) auto 0;
}
.contents01 .collection__shell02 .img0202 {
  width: calc(750 * var(--formula));
  margin: calc(20 * var(--formula)) auto 0;
}

@media screen and (min-width: 768px) {
  .contents01 {
    padding-bottom: calc(100 * var(--formula));
  }
  .contents01 .collection__shell02 .img0201 {
    margin: calc(255 * var(--formula)) auto 0;
  }
  .contents01 .collection__shell02 .img0202 {
    margin: calc(25 * var(--formula)) auto 0;
  }
}

/*=======================================
  contents02   
========================================*/
/* アニメーション全体のスクロール領域を確保するための親要素 */
#sec02 {
  /* ウィンドウの高さの3倍のスクロール領域を確保します。
     アニメーションの長さに応じてこの値を調整してください。 */
  height: 200vh;
}

/* 3つの画像を画面に固定するためのラッパー */
.contents02 .collection-wrapper {
  position: -webkit-sticky; /* Safari対応 */
  position: sticky;
  /* 画面上部から10%の位置に固定します。中央寄せにしたい場合は調整してください。 */
  top: 13vh;
  width: 100%;
  /* ラッパーの高さ。中の画像の最大サイズに合わせます。 */
  height: calc(910 * var(--formula));
}
.contents02 {
  width: calc(750 * var(--formula));
  margin: 0 auto;
  background-color: var(--color-pink);
}
.contents02 .collection__shell01 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* 中の画像が中央に来るように */
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}
.contents02 .collection__shell02 {
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(630 * var(--formula));
  transform: translate(-50%, -50%);
}
.contents02 .collection__shell03 {
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(630 * var(--formula));
  transform: translate(-50%, -50%);
}

/* z-indexで重ね順を制御 (数字が大きいほど手前) */
.contents02 .collection__shell01 { z-index: 1; }
.contents02 .collection__shell02 { z-index: 2; }
.contents02 .collection__shell03 { z-index: 3; }

.contents02 .collection_lead {
  margin-top: calc(13 * var(--formula));
}

@media screen and (min-width: 768px) {

}

/*=======================================
  contents03   
========================================*/
.contents03 {
  width: calc(750 * var(--formula));
  margin: 0 auto;
  padding-top: calc(284 * var(--formula));
  background-color: var(--color-pink);
  padding-bottom: calc(20 * var(--formula));
}
.contents03 .collection__shell01 {
  width: calc(686 * var(--formula));
  margin: 0 auto;
}

@media screen and (min-width: 768px) {

}

/*=======================================
  contents04   
========================================*/
.contents04 {
  width: calc(750 * var(--formula));
  margin: 0 auto;
  background-color: var(--color-yellow);
}
.contents04 .collection__shell01 {
  width: 100%;
}

@media screen and (min-width: 768px) {

}

/*=======================================
  contents05   
========================================*/
.contents05 {
  width: calc(750 * var(--formula));
  margin: 0 auto;
  background-color: var(--color-yellow);
  padding-top: calc(242 * var(--formula));
}
.contents05 .collection__shell01 {
  width: calc(674 * var(--formula));
  margin: 0 auto;
}
.contents05 .collection__shell02 {
  width: 100%;
  margin: calc(50 * var(--formula)) auto 0;
}

@media screen and (min-width: 768px) {
  .contents05 {
      padding-top: calc(246 * var(--formula));
  }
}

/*=======================================
  contents06   
========================================*/
.contents06 {
  width: calc(750 * var(--formula));
  margin: 0 auto;
  background-color: var(--color-blue);
  padding-top: calc(20 * var(--formula));
}
.contents06 .collection__shell01 {
  width: calc(686 * var(--formula));
  margin: 0 auto;
}
.contents06 .collection__shell02 {
  width: calc(686 * var(--formula));
  margin: 0 auto;
}

@media screen and (min-width: 768px) {

}

/*=======================================
  contents07   
========================================*/
.contents07 {
  width: calc(750 * var(--formula));
  margin: 0 auto;
  background-color: var(--color-blue);
  padding-bottom: calc(20 * var(--formula));
}
.contents07 .collection__shell01 {
  width: calc(630 * var(--formula));
  margin: calc(95 * var(--formula)) auto 0;
}
.contents07 .credit {
  margin-top: 0;
  padding-top: calc(15 * var(--formula));
}

.contents07 .credit .main_credit {
    margin-left: calc(193 * var(--formula));
}
.contents07 .credit .right_space {
    padding-right: calc(10 * var(--formula));
}
@media screen and (min-width: 768px) {

}

/*=======================================
  contents08   
========================================*/
.contents08 {
  width: calc(750 * var(--formula));
  margin: 0 auto;
  background-color: var(--color-pink);
}
.contents08 .collection__shell01 {
  width: 100%;
  margin: 0 auto;
}
.contents08 .collection__shell02 {
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {

}

/*=======================================
  contents09   
========================================*/
.contents09 {
  width: calc(750 * var(--formula));
  margin: 0 auto;
  background-color: var(--color-pink);
}
.contents09 .collection__shell01 {
  width: calc(674 * var(--formula));
  margin: calc(244 * var(--formula)) auto 0;
}
.contents09 .collection__shell02 {
  width: 100%;
  margin: calc(50 * var(--formula)) auto 0;
}
.contents09 .credit {
  margin-top: 0;
  padding-top: calc(18 * var(--formula));
}
.contents09 .credit .main_credit {
    margin-left: calc(193 * var(--formula));
}
.contents09 .credit .right_space {
    padding-right: calc(10 * var(--formula));
}
@media screen and (min-width: 768px) {
  .contents09 .collection__shell01 {
    margin: calc(246 * var(--formula)) auto 0;
  }
  .contents09 .collection__shell02 {
    margin: calc(53 * var(--formula)) auto 0;
  }
}

/*=======================================
  contents10   
========================================*/
.contents10 {
  width: calc(750 * var(--formula));
  margin: 0 auto;
  background-color: var(--color-yellow);
}
.contents10 .collection__shell01 {
  width: calc(686 * var(--formula));
  margin: 0 auto;
  padding-top: calc(20 * var(--formula));
}
.contents10 .collection__shell02 {
  width: calc(686 * var(--formula));
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .contents10 .collection__shell01 {
    padding-top: calc(24 * var(--formula));
  }
}

/*=======================================
  contents11   
========================================*/
.contents11 {
  width: calc(750 * var(--formula));
  margin: 0 auto;
  background-color: var(--color-yellow);
}
.contents11 .collection__shell01 {
  width: calc(674 * var(--formula));
  margin: calc(241 * var(--formula)) auto 0;
}
.contents11 .collection__shell02 {
  width: 100%;
  margin: calc(50 * var(--formula)) auto 0;
}
.contents11 .credit {
  margin-top: 0;
  padding-top: calc(18 * var(--formula));
}
.contents11 .credit .main_credit {
    margin-left: calc(184 * var(--formula));
}
.contents11 .credit .right_space {
    padding-right: calc(15 * var(--formula));
}
@media screen and (min-width: 768px) {
  .contents11 .collection__shell02 {
    margin: calc(52 * var(--formula)) auto 0;
  }
  .contents12 .collection__shell01 {
    padding-top: calc(24 * var(--formula));
  }
}

/*=======================================
  contents12   
========================================*/
.contents12 {
  width: calc(750 * var(--formula));
  margin: 0 auto;
  background-color: var(--color-blue);
}
.contents12 .collection__shell01 {
  width: calc(686 * var(--formula));
  margin: 0 auto;
  padding-top: calc(20 * var(--formula));
}
.contents12 .collection__shell02 {
  width: calc(686 * var(--formula));
  margin: 0 auto;
}
@media screen and (min-width: 768px) {

}

/*=======================================
  contents13   
========================================*/
.contents13 {
  width: calc(750 * var(--formula));
  margin: 0 auto;
  background-color: var(--color-blue);
}
.contents13 .collection__shell01 {
  width: 100%;
  margin: calc(242 * var(--formula)) auto 0;
}
.contents13 .credit {
  margin-top: 0;
  padding-top: calc(18 * var(--formula));
}
.contents13 .collection__shell02 {
  width: 100%;
  background-color: var(--color-pink);
  padding-bottom: calc(92 * var(--formula));
}
.contents13 .credit .main_credit {
    margin-left: calc(184 * var(--formula));
}
.contents13 .credit .right_space {
    padding-right: calc(15 * var(--formula));
}
.contents13 .collection__shell02 .credit .main_credit {
    margin-left: calc(196 * var(--formula));
}
.contents13 .collection__shell02 .credit .right_space {
    padding-right: calc(15 * var(--formula));
}
@media screen and (min-width: 768px) {

}

/*=======================================
  contents14   
========================================*/
/* アニメーション全体のスクロール領域を確保するための親要素 */
#sec14 {
  /* ウィンドウの高さの3倍のスクロール領域を確保します。
     アニメーションの長さに応じてこの値を調整してください。 */
  height: 220vh;
}

/* 3つの画像を画面に固定するためのラッパー */
.contents14 .collection-wrapper {
  position: -webkit-sticky; /* Safari対応 */
  position: sticky;
  /* 画面上部から10%の位置に固定します。中央寄せにしたい場合は調整してください。 */
  top: 13vh;
  width: 100%;
  /* ラッパーの高さ。中の画像の最大サイズに合わせます。 */
  height: calc(1000 * var(--formula));
}
.contents14 {
  width: calc(750 * var(--formula));
  margin: 0 auto;
  background-color: var(--color-pink);
}
.contents14 .collection__shell01 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* 中の画像が中央に来るように */
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}
.contents14 .collection__shell02 {
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(630 * var(--formula));
  transform: translate(-50%, -50%);
}

/* z-indexで重ね順を制御 (数字が大きいほど手前) */
.contents14 .collection__shell01 { z-index: 1; }
.contents14 .collection__shell02 { z-index: 2; }
@media screen and (min-width: 768px) {
  .contents14 {
    padding-top: calc(4 * var(--formula));
  }
}

/*=======================================
  lp__end_area  
========================================*/
.lp__end_area {
  width: calc(750 * var(--formula));
  margin: 0 auto;
  background-color: var(--color-pink);
  padding-bottom: calc(150 * var(--formula));
}
.lp__end_area .credit {
  margin-top: 0;
  padding-top: calc(18 * var(--formula));
}

.lp__end_area .credit .main_credit {
    margin-left: calc(196 * var(--formula));
}
.lp__end_area .credit .main_credit:nth-of-type(2) {
    margin-top: calc(2 * var(--formula));
    margin-left: calc(144 * var(--formula));
}
.lp__end_area .credit .right_space {
    padding-right: calc(15 * var(--formula));
}

.lp__end_area .staff__area {
  width: calc(312 * var(--formula));
  margin: calc(265 * var(--formula)) auto 0;
}
.lp__end_area .staff_txt {
  font-family: var(--font-roboto);
  font-weight: var(--fw-light);
  font-style: italic;
  font-size: calc(20 * var(--formula));
  letter-spacing: 0;
  line-height: 1.75;
}


/* フェード */
.js-fade {
  opacity: 0;
  -webkit-filter: blur(10px);
  filter: blur(10px);
  -webkit-transition: all 0.5s ease-in;
  transition: all 0.5s ease-in;
  -webkit-transition-duration: 0.6s;
  transition-duration: 0.6s;
}

.js-fade.is-active {
  opacity: 1;
  -webkit-filter: blur(0px);
  filter: blur(0px);
}

.js-fade-in {
  opacity: 0;
  -webkit-filter: blur(10px);
  filter: blur(10px);
  -webkit-transition: all 0.5s ease-in;
  transition: all 0.5s ease-in;
  -webkit-transition-duration: 0.6s;
  transition-duration: 0.6s;
}

.js-fade-in.is-active {
  opacity: 1;
  -webkit-filter: blur(0px);
  filter: blur(0px);
}

.fade-bottom-right {
  opacity: 0;
  transform: rotate(-2deg) translate(30px, 30px);
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.fade-bottom-right.is-active {
  opacity: 1;
  transform: rotate(0) translate(0, 0);
}

.js-fade-rotate {
  opacity: 0;
  transform: translate(0, 0) rotate(3deg);
  filter: blur(5px);
  transition: all 1.1s ease;
}

.js-fade-rotate.is-active {
  opacity: 1;
  filter: blur(0px);
  transform: translate(0, 0);
}

.js-fade-rotate02 {
  opacity: 0;
  transform: translate(0, 0) rotate(-3deg);
  filter: blur(5px);
  transition: all 1.1s ease;
}

.js-fade-rotate02.is-active {
  opacity: 1;
  filter: blur(0px);
  transform: translate(0, 0);
}

.js-fade-up {
  opacity: 0;
  transform: translate(0, 20px);
  transition: all 0.8s ease;
}

.js-fade-up.is-active {
  opacity: 1;
  transform: translate(0, 0);
}


#FR251001lespo .delay01 {
  transition-delay: 0.2s;
  animation-delay: 0.2s;
}

#FR251001lespo .delay02 {
  transition-delay: 0.6s;
  animation-delay: 0.6s;
}

#FR251001lespo .delay03 {
  transition-delay: 1s;
  animation-delay: 1s;
}

.model_bg {
  background: #fff;
}
@media screen and (max-width: 767px) {
  .archive {
    width: calc(750 * 100vw / 750) !important;
  }
}

@media screen and (min-width: 768px) {
  #FR251001lespo .delay03 {
    transition-delay: 0.8s;
    animation-delay: 0.8s;
  }

  #FR251001lespo .lead_box .delay01 {
    transition-delay: 1.4s;
    animation-delay: 1.4s;
  }
}

  #FR251001lespo .sticky_item01 {
    position: sticky;
    top: var(--header-container-height, 0);
    left: 0;
    z-index: 1;
  }
  #FR251001lespo .sticky_item02 {
    position: sticky;
    top: var(--header-container-height, 0);
    left: 0;
    z-index: 5;
    transform: translateZ(1px);
  }