@charset "UTF-8";
/* media query
------------------------------------------ */
/* display
------------------------------------------ */
.is-show-pc {
  display: block;
}
@media (max-width: 767px) {
  .is-show-pc {
    display: none;
  }
}

.is-show-sp {
  display: none;
}
@media (max-width: 767px) {
  .is-show-sp {
    display: block;
  }
}

/* function
------------------------------------------ */
body {
  overflow: clip;
}
@media (max-width: 767px) {
  body {
    overflow: auto;
  }
}

.FPM251224journey {
  /* 可変設定
  ------------------------------------------ */
  /*デザインの値*/
  --pc-width: 1400; /*PCデザイン幅*/
  --sp-width: 750; /*SPデザイン幅*/
  --pc-artboard-width: 450; /*SP共通デザイン幅*/
  --sp-artboard-width: 750; /*PC共通デザイン幅*/
  /*可変率の計算式*/
  --formula: calc(
    var(--variable) * var(--ratio)
  ); /*SP,PC共通箇所の可変割合の計算式*/
  --formula_pc: calc(var(--variable) * 1); /*PCデザインの可変割合の計算式*/
  /* PC画面幅 1400px以上 固定 */
  /* PC画面幅 768～1400px 可変 */
  /* SP画面幅 767px以下 可変 */
  /* mixin
  ------------------------------------------ */
  /* reset
  ------------------------------------------ */
  /* animation
  ------------------------------------------ */
  /* LP style
  ------------------------------------------ */
  background-color: #000050;
}
@media (min-width: 1401px) {
  .FPM251224journey {
    --ratio: calc(
      var(--pc-artboard-width) / var(--sp-artboard-width)
    ); /* PCとSPのデザイン幅の比率 */
    --variable: 1px; /* 固定値（可変しない） */
  }
}
@media (min-width: 768px) and (max-width: 1400px) {
  .FPM251224journey {
    --ratio: calc(
      var(--pc-artboard-width) / var(--sp-artboard-width)
    ); /* PCとSPのデザイン幅の比率 */
    --variable: calc(100vw / var(--pc-width)); /* 画面幅に基づく可変値 */
  }
}
@media (max-width: 767px) {
  .FPM251224journey {
    --ratio: 1; /* 比率は1（変わらない） */
    --variable: calc(100vw / var(--sp-width)); /* 画面幅に基づく可変値 */
  }
}
.FPM251224journey img {
  width: 100%;
  height: auto;
}
@media (max-width: 767px) {
  .FPM251224journey a img {
    -webkit-transition: 0.6s;
    transition: 0.6s;
  }
}
@media (max-width: 767px) {
  .FPM251224journey a:hover img {
    opacity: 0.7;
  }
}
.FPM251224journey * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.FPM251224journey .js-mv {
  opacity: 0;
  -webkit-transform: scale(1.07);
  transform: scale(1.07);
  visibility: hidden;
}
.FPM251224journey .mv-logo {
  position: absolute;
  left: 50%;
  z-index: 1;
  pointer-events: none;
  display: block;
  clip-path: inset(0 0 100% 0);
  -webkit-clip-path: inset(0 0 100% 0);
  opacity: 0;
  visibility: hidden;
  overflow: visible;
}
/* .FPM251224journey .reveal {
  opacity: 0;
  visibility: hidden;
  filter: blur(20px);
  clip-path: inset(0 100% 0 0);
  -webkit-clip-path: inset(0 100% 0 0);
}

.FPM251224journey .reveal-reverse {
  opacity: 0;
  visibility: hidden;
  filter: blur(20px);
  /* clip-path: inset(0% 0% 0% 100%);
  -webkit-clip-path: inset(0% 0% 0% 100%);
}
.FPM251224journey .slide-up {
  opacity: 0;
  visibility: hidden;
} */

.FPM251224journey .txt-anime {
  line-height: 1.8;
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
}
.FPM251224journey .char {
  display: inline-block;
  clip-path: inset(100% 0 0 0);
  transform: translateY(10px);
  white-space: pre;
}
.FPM251224journey .mv {
  position: relative;
}
.FPM251224journey .mv-logo {
  position: absolute;
  left: 50%; /* 基準を left に統一 */
  z-index: 1;
  pointer-events: none;
  display: block;
  /* GSAPで制御するため、初期状態をしっかり記述 */
  clip-path: inset(0 0 100% 0);
  -webkit-clip-path: inset(0 0 100% 0);
  overflow: visible; /* 2行目が切れないように */
}

/* PC版の配置 */
.FPM251224journey .mv-logo {
  bottom: 27%;
  width: calc(352 * var(--formula_pc));
  /* right: 50% は削除します */
}

/* SP版の配置 */
@media (max-width: 767px) {
  .FPM251224journey .mv-logo {
    top: 49.4%;
    bottom: auto;
    width: calc(477 * var(--formula));
  }
}
.FPM251224journey .mv-img {
  width: 100%;
}
@media (max-width: 767px) {
  .FPM251224journey .mv-img {
    width: calc(750 * var(--formula));
  }
}
.FPM251224journey-container {
  display: grid;
  grid-template-columns: 1fr calc(750 * var(--variable) * var(--ratio)) 1fr;
}
@media (max-width: 767px) {
  .FPM251224journey-container {
    display: block;
  }
}
.FPM251224journey-container .fixed-left,
.FPM251224journey-container .fixed-right {
  position: sticky;
  top: 0;
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media (max-width: 767px) {
  .FPM251224journey-container .fixed-left,
  .FPM251224journey-container .fixed-right {
    display: none;
  }
}
.FPM251224journey-container .fixed-left-logo {
  width: calc(203 * var(--formula_pc));
  opacity: 1;
}
.FPM251224journey-container .fixed-right-logo {
  width: calc(58 * var(--formula_pc));
  opacity: 1;
}

.FPM251224journey-container .lp-cont {
  padding: 0 0 calc(225 * var(--formula));
  overflow-x: clip;
}
@media (max-width: 767px) {
  .FPM251224journey-container .lp-cont {
    padding: 0 0 calc(130 * var(--formula));
  }
}
.FPM251224journey-container .photo-01 {
  width: calc(600 * var(--formula));
  margin: calc(115 * var(--formula)) 0 0 calc(44 * var(--formula));
}
@media (max-width: 767px) {
  .FPM251224journey-container .photo-wrapper01 {
    margin: 0;
  }
}
.FPM251224journey-container .photo-02 {
  width: calc(600 * var(--formula));
  margin: calc(101 * var(--formula)) auto 0 calc(104 * var(--formula));
}
.FPM251224journey-container .photo-03 {
  width: calc(750 * var(--formula));
  margin: calc(99 * var(--formula)) calc(29 * var(--formula)) 0 auto;
}
.FPM251224journey-container .photo-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: calc(78 * var(--formula));
}
.FPM251224journey-container .photo-04 {
  margin-top: calc(133 * var(--formula));
  width: calc(600 * var(--formula));
  margin-inline: auto;
}
.FPM251224journey-container .photo-05 {
  width: calc(500 * var(--formula));
  margin: calc(96 * var(--formula)) auto 0;
}
.FPM251224journey-container .photo-06 {
  margin: calc(117 * var(--formula)) auto 0;
  width: calc(600 * var(--formula));
}
.FPM251224journey-container .photo-07 {
  margin: calc(99 * var(--formula)) auto 0;
  width: calc(750 * var(--formula));
}
.FPM251224journey-container .photo-08 {
  margin: 0 auto 0;
  width: calc(750 * var(--formula));
}
.FPM251224journey-container .photo-09 {
  margin: calc(111 * var(--formula)) calc(46 * var(--formula)) 0 auto;
  width: calc(500 * var(--formula));
}
.FPM251224journey-container .photo-10 {
  margin: calc(125 * var(--formula)) 0 0 calc(44 * var(--formula));
  width: calc(600 * var(--formula));
}
.FPM251224journey-container .photo-11 {
  margin: calc(100 * var(--formula)) 0 0 calc(104 * var(--formula));
  width: calc(600 * var(--formula));
}
.FPM251224journey-container .photo-12 {
  margin: calc(101 * var(--formula)) auto 0;
  width: calc(500 * var(--formula));
}
.FPM251224journey-container .photo-13 {
  margin: calc(120 * var(--formula)) 0 0 0;
  width: calc(750 * var(--formula));
}
.FPM251224journey-container .photo-14 {
  margin: calc(80 * var(--formula)) 0 0 calc(50 * var(--formula));
  width: calc(450 * var(--formula));
}
.FPM251224journey-container .photo-15 {
  margin: calc(120 * var(--formula)) auto 0;
  width: calc(750 * var(--formula));
}
.FPM251224journey-container .photo-16 {
  margin: calc(120 * var(--formula)) auto 0;
  width: calc(549 * var(--formula));
  padding-bottom: calc(150 * var(--formula));
}
.FPM251224journey-container .swiper {
  margin-top: calc(120 * var(--formula));
}
.FPM251224journey-container .swiper-wrapper {
  -webkit-transition-timing-function: linear;
  transition-timing-function: linear;
  gap: calc(10 * var(--formula));
}
.FPM251224journey-container .swiper-slide {
  width: calc(409 * var(--formula));
}
.FPM251224journey-container .txt {
  font-family: hiragino-kaku-gothic-pron, 游ゴシック体, YuGothic,
    游ゴシック Medium, Yu Gothic, メイリオ, sans-serif;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  font-size: calc(28 * var(--formula));
  line-height: 1.79;
  letter-spacing: 0.15em;
  color: #fff;
  text-align: center;
  word-break: break-all;
  font-weight: 500;
}
.FPM251224journey-container .txt-01 {
  margin: calc(118 * var(--formula)) calc(-3 * var(--formula)) 0 0;
}

@media (min-width: 768px) {
  .FPM251224journey-container .txt-01 {
    margin: calc(267 * var(--formula)) calc(-3 * var(--formula)) 0 0;
  }
}

.FPM251224journey-container .txt-02 {
  margin-top: calc(114 * var(--formula));
  line-height: 1.8;
}

.FPM251224journey-container .txt-03 {
  margin-top: calc(124 * var(--formula));
  line-height: 1.8;
}

.FPM251224journey-container .txt-04 {
  margin-top: calc(86 * var(--formula));
  line-height: 2;
}
.FPM251224journey-container .special-thanks {
  background: url("../img/bg_thanks.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  padding: calc(32 * var(--formula)) 0 calc(38 * var(--formula));
}
.FPM251224journey-container .special-thanks-ttl-lead {
  display: block;
  width: calc(384 * var(--formula));
  margin: 0 auto;
}
.FPM251224journey-container .special-thanks-ttl-txt {
  display: block;
  margin-top: calc(27 * var(--formula));
  font-family: hiragino-kaku-gothic-pron, 游ゴシック体, YuGothic,
    游ゴシック Medium, Yu Gothic, メイリオ, sans-serif;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  font-weight: 500;
  font-size: calc(30 * var(--formula));
  letter-spacing: 0.07em;
  text-align: center;
}
.FPM251224journey-container .special-thanks-photo {
  width: calc(700 * var(--formula));
  margin: calc(34 * var(--formula)) auto 0;
}
.FPM251224journey-container .special-thanks-address {
  margin-top: calc(36 * var(--formula));
  font-family: hiragino-kaku-gothic-pron, 游ゴシック体, YuGothic,
    游ゴシック Medium, Yu Gothic, メイリオ, sans-serif;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  font-weight: 500;
  font-size: calc(28 * var(--formula));
  line-height: 1.78571429;
  letter-spacing: 0.05em;
  text-align: center;
}
.FPM251224journey-container .special-thanks-url {
  margin-top: calc(12 * var(--formula));
  font-family: hiragino-kaku-gothic-pron, 游ゴシック体, YuGothic,
    游ゴシック Medium, Yu Gothic, メイリオ, sans-serif;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  font-weight: 500;
  font-size: calc(28 * var(--formula));
  line-height: 1.93333333;
  letter-spacing: 0.05em;
  text-align: center;
}
.FPM251224journey-container .special-thanks-insta {
  margin-top: calc(20 * var(--formula));
  margin-left: calc(88 * var(--formula));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(13 * var(--formula));
  font-family: hiragino-kaku-gothic-pron, 游ゴシック体, YuGothic,
    游ゴシック Medium, Yu Gothic, メイリオ, sans-serif;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  font-weight: 500;
  font-size: calc(30 * var(--formula));
  letter-spacing: 0.05em;
  text-align: center;
}
.FPM251224journey-container .special-thanks-insta-icon {
  display: block;
  width: calc(37 * var(--formula));
}

.FPM251224journey .slide-up {
  transition: 1.5s;
  opacity: 0;
  transform: translateY(30px);
}
.FPM251224journey .reveal {
  transition: 1.5s;
  opacity: 0;
  visibility: hidden;
  filter: blur(20px);
  clip-path: inset(0 100% 0 0);
  -webkit-clip-path: inset(0 100% 0 0);
}
.FPM251224journey .reveal-reverse {
  transition: 1.5s;
  opacity: 0;
  visibility: hidden;
  filter: blur(20px);
  clip-path: inset(0% 0% 0% 100%);
  -webkit-clip-path: inset(0% 0% 0% 100%);
}

.FPM251224journey .slide-up.js-scrollIn {
  opacity: 1;
  transform: translateY(0);
}
.FPM251224journey .reveal.js-scrollIn,
.FPM251224journey .reveal-reverse.js-scrollIn {
  clip-path: inset(0%);
  filter: blur(0px);
  opacity: 1;
  visibility: inherit;
}
