@charset "UTF-8";

:root {
  --font: 游ゴシック体, YuGothic, 游ゴシック Medium, Yu Gothic, メイリオ, sans-serif;
  --avant-garde: "itc-avant-garde-gothic-pro", sans-serif;
  --pc-width: 1400;
  --tb-width: 768;
  --sp-width: 750;
}

* > .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;
}

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

/* --formulaの補足
  SPの値 × SP→PCの縮小率 × 画面幅に基づく可変値

  例）PC1400px　SP750pxのデザイン
  　　PC共通部分:500px　SP共通部分:750px
  　　PC、SP共通デザインwidth:100pxの場合

  ▼記述 pc表示時に(500/750)を掛ける
  width: calc(100* var(--variable)* var(--ratio));

　▼PC固定幅の計算
　100×0.6666666666666667×1=66.66666666666667px

　▼PC可変の計算
　100×0.6666666666666667×(100vw/1400)=calc(66.66666666666667 * (100vw/1400));

　▼SP可変の計算
　100×1×(100vw/750)=calc(100 * (100vw/750));
*/
/* PC画面幅 1400px以上 固定 */
@media (min-width: 1401px) {
  #MO260618fair {
    --ratio: calc(var(--pc-artboard-width) / var(--sp-artboard-width)); /* PCとSPのデザイン幅の比率 */
    --variable: 1px; /* 固定値（可変しない） */
  }
}
/* PC画面幅 768～1400px 可変 */
@media (min-width: 768px) and (max-width: 1400px) {
  #MO260618fair {
    --ratio: calc(var(--pc-artboard-width) / var(--sp-artboard-width)); /* PCとSPのデザイン幅の比率 */
    --variable: calc(100vw / var(--pc-width)); /* 画面幅に基づく可変値 */
  }
}
/* SP画面幅 767px以下 可変 */
@media (max-width: 767px) {
  #MO260618fair {
    --ratio: 1; /* 比率は1（変わらない） */
    --variable: calc(100vw / var(--sp-width)); /* 画面幅に基づく可変値 */
  }
}
/* ▲ -----------可変設定---------- ▲ */
.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;
  }
}
.js-fadeIn-load {
  opacity: 0;
  transition: opacity 3s;
}

.js-fadeIn-load--02 {
  opacity: 0;
  transition: opacity 1s 0.8s;
}

.js-fadeIn-load.js-active, .js-fadeIn-load--02.js-active {
  opacity: 1;
}

.js-fadeLeft {
  opacity: 0;
  transition: opacity 1s, transform 1s;
  transform: translateX(-30px);
}

.js-fadeRight {
  opacity: 0;
  transition: opacity 1s, transform 1s;
  transform: translateX(30px);
}

.js-fadeLeft.js-active, .js-fadeRight.js-active {
  opacity: 1;
  transform: translateX(0);
}

.js-fadeIn {
  opacity: 0;
  transition: opacity 1s;
}

.js-fadeIn.js-active {
  opacity: 1;
}

.delay01 {
  transition-delay: 0.4s;
  animation-delay: 0.4s;
}

.footer {
  padding: 0;
}

.footer .toTop {
  z-index: 100;
}

#MO260618fair {
  margin: 0 auto;
  padding: 0 0 0 0;
  color: #5e3a0f;
  font-weight: 600;
  letter-spacing: 0;
  font-feature-settings: "palt";
  /* メインビジュアル */
}
#MO260618fair .contents__bottom {
  padding-bottom: calc(200 * var(--formula));
}
#MO260618fair .product__block--movie {
  margin: 0 auto;
  text-align: center;
  z-index: 1;
}
#MO260618fair .intro {
  padding: calc(109 * var(--formula)) 0 0 calc(34 * var(--formula));
}
#MO260618fair .intro .intro__lead {
  width: calc(420 * var(--formula));
  display: block;
  font-family: var(--avant-garde);
  font-size: calc(20 * var(--formula));
  line-height: 1.933;
  text-align: justify;
}
#MO260618fair .lp-video-sec {
  width: calc(640 * var(--formula));
  height: calc(1044 * var(--formula));
  margin: calc(96 * var(--formula)) auto 0;
  position: relative;
}
#MO260618fair .lp-video-sec video {
  width: 100%;
  height: auto;
}

#MO260618fair .video-sound-btn {
  position: absolute;
  z-index: 10;
  bottom: calc(-70 * var(--formula));
  right: calc(15 * var(--formula));
  width: calc(64 * var(--formula));
  cursor: pointer;
}

#MO260618fair .js-video-sound[data-state="off"] .icon-on {
  display: none;
}
#MO260618fair .js-video-sound[data-state="on"] .icon-off {
  display: none;
}

/* 画像とボタンを囲うコンテナ */
#MO260618fair .product__image-box {
  position: relative;
  width: 100%;
}

/* クレジット表示ボタン（プラス/マイナス） */
#MO260618fair .product__credits-button {
  position: absolute;
  right: calc(34 * var(--formula));  /* 画像の右からの距離（適宜調整してください） */
  bottom: calc(0 * var(--formula)); /* 画像の下からの距離（適宜調整してください） */
  z-index: 10;
  width: calc(59 * var(--formula));  /* ボタンの横幅 */
  height: calc(59 * var(--formula)); /* ボタンの縦幅 */
  cursor: pointer;
}

#MO260618fair .product__credits-button.left_btn {
  right: initial;
  left: calc(34 * var(--formula));
}

/* プラス・マイナスの線の共通スタイル（茶色の線） */
#MO260618fair .product__credits-button::before,
#MO260618fair .product__credits-button::after {
  position: absolute;
  content: '';
  background-color: #504131; /* 添付画像の線の色に合わせています */
  transition: transform 0.4s ease, opacity 0.4s ease;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

/* 横線 */
#MO260618fair .product__credits-button::before {
  width: 100%;
  height: 1px;
}

/* 縦線 */
#MO260618fair .product__credits-button::after {
  width: 1px;
  height: 100%;
}

/* 開いたとき（is-active）の縦線の変化 → 回転して横線と重なり、マイナス（一）になる */
#MO260618fair .product__credits-button.is-active::after {
  transform: rotate(90deg);
  opacity: 0; /* 完全に消す、もしくは重ねる */
}
#MO260618fair .product__credits-button.is-active::before {
  transform: rotate(180deg); /* 滑らかなアニメーション用 */
}

/* ==========================================
   クレジットテキストの制御（不透明度と高さでアニメーション）
========================================== */
#MO260618fair .product__credit {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.5s ease, opacity 0.4s ease, padding 0.5s ease;
  padding-top: 0;
}

/* ボタンが押されてアクティブになった時のスタイル */
#MO260618fair .product__credit.is-active {
  max-height: calc(200 * var(--formula)); /* テキストが収まる十分な高さ */
  opacity: 1;
}

#MO260618fair .product__credit a {
  /* display: inline-block; */
  margin-right: calc(10 * var(--formula));
  text-decoration: none;
}

#MO260618fair .product__block {
  width: calc(640 * var(--formula));
  margin: 0 auto;
}
#MO260618fair .product__block .product__image-wrap {
  margin: calc(148 * var(--formula)) 0 0 0;
  position: relative;
}
#MO260618fair .product__block .product__image-wrap.product__image-wrap--01 {
  margin: calc(296 * var(--formula)) 0 0 0;
}

#MO260618fair .product__block .product__image-wrap.product__image-wrap--02 {
  margin: calc(144 * var(--formula)) 0 0 0;
}
#MO260618fair .product__block .product__image-wrap.product__image-wrap--03 {
  margin: calc(212 * var(--formula)) 0 0 0;
}
#MO260618fair .product__block .product__image-wrap--03 .product__title {
  width: calc(439 * var(--formula));
  margin-left: calc(33 * var(--formula));
}
#MO260618fair .product__block .product__image-wrap--03 .product__lead {
  width: calc(421 * var(--formula));
  margin: calc(33 * var(--formula)) auto 0 calc(185 * var(--formula));
}
#MO260618fair .product__block .product__image-wrap.product__image-wrap--04 {
  margin: calc(203 * var(--formula)) 0 0 0;
}
#MO260618fair .product__block .product__image-wrap--04 .product__title {
  width: calc(366 * var(--formula));
  margin-left: calc(31 * var(--formula));
}
#MO260618fair .product__block .product__image-wrap--04 .product__lead {
  width: calc(420 * var(--formula));
  margin: calc(19 * var(--formula)) auto 0 calc(186 * var(--formula));
}

#MO260618fair .product__block .product__image-wrap.product__image-wrap--05 {
  margin: calc(144 * var(--formula)) 0 0 0;
}

#MO260618fair .product__block .product__image {
  width: calc(640 * var(--formula));
  margin: 0 auto;
}

#MO260618fair .product__block .product__image-box {
  position: relative;
}

#MO260618fair .product__block .product__image.product__image--01_1 {
  width: calc(640 * var(--formula));
  margin: calc(36 * var(--formula)) 0 0 auto;
}
#MO260618fair .product__block .product__image.product__image--01_2 {
  width: calc(458 * var(--formula));
  margin: calc(40 * var(--formula)) 0 0 0;
}

#MO260618fair .product__block .product__image.product__image--02_1 {
  width: calc(640 * var(--formula));
  margin: 0 auto;
}
#MO260618fair .product__block .product__image.product__image--02_2 {
  width: calc(366 * var(--formula));
  margin: calc(40 * var(--formula)) 0 0 calc(240 * var(--formula));
}
#MO260618fair .product__block .product__image.product__image--02_3 {
  width: calc(366 * var(--formula));
  margin: 0 0 0 calc(240 * var(--formula));
}
#MO260618fair .product__block .product__image.product__image--03_1 {
  width: calc(640 * var(--formula));
  margin: calc(38 * var(--formula)) auto 0;
}
#MO260618fair .product__block .product__image.product__image--03_2 {
  width: calc(366 * var(--formula));
  margin: calc(40 * var(--formula)) auto 0 calc(33 * var(--formula));
}
#MO260618fair .product__block .product__image.product__image--03_3 {
  width: calc(366 * var(--formula));
  margin: 0 auto 0 calc(33 * var(--formula));
}

#MO260618fair .product__block .product__image.product__image--04_1 {
  width: calc(640 * var(--formula));
  margin: calc(36 * var(--formula)) auto 0;
}
#MO260618fair .product__block .product__image.product__image--04_2 {
  width: calc(366 * var(--formula));
  margin: calc(40 * var(--formula)) 0 0  calc(240 * var(--formula));
}
#MO260618fair .product__block .product__image.product__image--04_3 {
  width: calc(366 * var(--formula));
  margin: 0 0 0  calc(240 * var(--formula));
}
#MO260618fair .product__block .product__image.product__image--05_1 {
  width: calc(640 * var(--formula));
  margin: 0 auto;
}
#MO260618fair .product__block .product__image.product__image--05_2 {
  width: calc(366 * var(--formula));
  margin: calc(42 * var(--formula)) auto 0 calc(33 * var(--formula));
}
#MO260618fair .product__block .product__image.product__image--05_3 {
  width: calc(366 * var(--formula));
  margin: 0 0 0 calc(33 * var(--formula));
}

#MO260618fair .product__block .product__credit {
  width: calc(572 * var(--formula));
  margin: calc(27 * var(--formula)) auto 0;
  font-family: var(--avant-garde);
  font-size: calc(20 * var(--formula));
  font-weight: 300;
  letter-spacing: 0;
  line-height: 1.35;
  text-align: left;
}

#MO260618fair .product__block .product__image-wrap--03 .product__credit {
  width: 100%;
  padding-left: calc(35 * var(--formula));
}

#MO260618fair .product__block .product__image-wrap--04 .product__credit {
  width: 100%;
  padding-left: calc(35 * var(--formula));
}

#MO260618fair .product__block--mv .mv-inner {
  width: 100%;
}
#MO260618fair .product__block--mv .intro__image {
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 0;
}
#MO260618fair .product__block--mv .intro__text {
  width: calc(614 * var(--formula));
  top: calc(18 * var(--formula));
  left: calc(12 * var(--formula));
  position: absolute;
  pointer-events: none;
  z-index: 2;
}
#MO260618fair .product__block--mv .intro__text picture {
  width: 100%;
  height: 100%;
}
#MO260618fair .product__block--mv .intro__text img {
  width: 100%;
  height: 100%;
}
#MO260618fair .product__block--intro {
  position: relative;
  z-index: 0;
}
#MO260618fair .product__block--intro .product__block-inner {
  width: 100%;
}
#MO260618fair .product__block--01 {
  position: relative;
  z-index: 1;
}

#MO260618fair .product__block .product__title {
  width: calc(449 * var(--formula));
  margin-left: calc(35 * var(--formula));
}
#MO260618fair .product__block .product__lead {
  width: calc(420 * var(--formula));
  margin: calc(17 * var(--formula)) auto 0 calc(186 * var(--formula));
  font-family: var(--avant-garde);
  font-size: calc(20 * var(--formula));
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.933;
  text-align: justify;
}

#MO260618fair .lp__bottom-area {
  margin: calc(190 * var(--formula)) auto 0;
}
#MO260618fair .staff__area {
  width: calc(572 * var(--formula));
  margin-left: calc(34 * var(--formula));
  padding-bottom: calc(190 * var(--formula));
}
#MO260618fair .staff__area .staff__name {
  font-family: var(--avant-garde);
  font-size: calc(18 * var(--formula));
  font-weight: 300;
  line-height: 1.5555555556;
  text-align: left;
}

@media only screen and (min-width: 768px) {
  .footer {
    width: 100%;
  }
  #MO260618fair {
    display: flex;
    width: 100%;
  }
  #MO260618fair::-webkit-scrollbar {
    display: none;
  }
  #MO260618fair .contents__left {
    position: sticky;
    top: 0;
    width: 50%;
    height: 100vh;
    z-index: 1;
    overflow: hidden;
  }
  #MO260618fair .contents__right {
    width: 50%;
    position: relative;
    overflow: hidden;
  }
  #MO260618fair .product__block--mv {
    width: auto;
    height: 100svh;
    overflow: hidden;
  }
  #MO260618fair .product__block--mv .mv-inner {
    width: 100%;
    height: 100%;
  }
  #MO260618fair .product__block--mv .intro__image {
    width: 100%;
    height: 100%;
  }
  #MO260618fair .product__block--mv .intro__image a {
    display: block;
    width: 100%;
    height: auto;
  }
  #MO260618fair .product__block--mv .intro__image picture {
    width: 100%;
    height: 100%;
  }
  #MO260618fair .product__block--mv .intro__text_box {
    width: 100%;
    height: auto;
    pointer-events: none;
  }
  #MO260618fair .product__block--mv .intro__text01 {
    width: calc(386 * var(--formula_pc));
    top: calc(33 * var(--formula_pc));
    right: calc(23 * var(--formula_pc));
    position: absolute;
    z-index: 3;
  }
  #MO260618fair .product__block--mv .intro__text02 {
    width: calc(24 * var(--formula_pc));
    bottom: calc(312 * var(--formula_pc));
    left: calc(21 * var(--formula_pc));
    position: absolute;
    z-index: 3;
  }
  #MO260618fair .product__block--mv .intro__text03 {
    width: calc(439 * var(--formula_pc));
    bottom: calc(37 * var(--formula_pc));
    left: calc(39 * var(--formula_pc));
    position: absolute;
    z-index: 3;
  }
  #MO260618fair .product__block--mv .intro__text_box img {
    width: 100%;
    height: auto;
  }
  #MO260618fair .product__block--mv img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
  }
}
@media only screen and (max-width: 767px) {
  .footer {
    z-index: 100;
    position: relative;
  }
  .footer .page-top {
    margin: 0;
    position: absolute;
    top: calc(-120 * (100vw/750));
    right: calc(30 * (100vw/750));
  }
  .contents__right {
    width: calc(640 * var(--formula));
    overflow-x: clip;
  }
}
@media (min-width: 1401px) {
  /* #MO260618fair .product__block {
    margin: 0 auto;
  }
  #MO260618fair .product__block--02 {
    margin: calc(150 * var(--formula)) auto 0;
  } */
}/*# sourceMappingURL=style.css.map */