@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;
  }
}

.FPM260128BONSAI {
  /* 可変設定
  ------------------------------------------ */
  /*デザインの値*/
  --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: #3a4258;
}
@media (min-width: 1401px) {
  .FPM260128BONSAI {
    --ratio: calc(
      var(--pc-artboard-width) / var(--sp-artboard-width)
    ); /* PCとSPのデザイン幅の比率 */
    --variable: 1px; /* 固定値（可変しない） */
  }
}
@media (min-width: 768px) and (max-width: 1400px) {
  .FPM260128BONSAI {
    --ratio: calc(
      var(--pc-artboard-width) / var(--sp-artboard-width)
    ); /* PCとSPのデザイン幅の比率 */
    --variable: calc(100vw / var(--pc-width)); /* 画面幅に基づく可変値 */
  }
}
@media (max-width: 767px) {
  .FPM260128BONSAI {
    --ratio: 1; /* 比率は1（変わらない） */
    --variable: calc(100vw / var(--sp-width)); /* 画面幅に基づく可変値 */
  }
}
.FPM260128BONSAI img {
  width: 100%;
  height: auto;
}
@media (max-width: 767px) {
  .FPM260128BONSAI a img {
    -webkit-transition: 0.6s;
    transition: 0.6s;
  }
}
@media (max-width: 767px) {
  .FPM260128BONSAI a:hover img {
    opacity: 0.7;
  }
}
.FPM260128BONSAI * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.FPM260128BONSAI .js-slide-to-left {
  position: relative;
  overflow: hidden;
}
.FPM260128BONSAI .js-slide-to-left img {
  opacity: 0;
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  -webkit-transition: 0.8s ease 0.3s;
  transition: 0.8s ease 0.3s;
  clip-path: inset(0 0 0 100%);
}
.FPM260128BONSAI .js-slide-to-left.is-active img {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
  clip-path: inset(0 0 0 0);
}
.FPM260128BONSAI .js-slide-to-right {
  position: relative;
  overflow: hidden;
}
.FPM260128BONSAI .js-slide-to-right img {
  opacity: 0;
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  -webkit-transition: 0.8s ease 0.3s;
  transition: 0.8s ease 0.3s;
  clip-path: inset(0 100% 0 0);
}
.FPM260128BONSAI .js-slide-to-right.is-active img {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
  clip-path: inset(0 0 0 0);
}
.FPM260128BONSAI .js-fade-up {
  opacity: 0;
  filter: alpha(opacity=0);
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  -webkit-transition: opacity 1.4s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.7s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: opacity 1.4s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.7s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: opacity 1.4s cubic-bezier(0.165, 0.84, 0.44, 1), transform 0.7s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: opacity 1.4s cubic-bezier(0.165, 0.84, 0.44, 1), transform 0.7s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.7s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.FPM260128BONSAI .js-fade-up.is-active {
  opacity: 1;
  -webkit-filter: none;
          filter: none;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.FPM260128BONSAI-container {
  display: grid;
  grid-template-columns: 1fr calc(750 * var(--variable) * var(--ratio)) 1fr;
  background-color: #3a4258;
}
@media (max-width: 767px) {
  .FPM260128BONSAI-container {
    display: block;
  }
}
.FPM260128BONSAI .fixed-left,
.FPM260128BONSAI .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) {
  .FPM260128BONSAI .fixed-left,
  .FPM260128BONSAI .fixed-right {
    display: none;
  }
}
.FPM260128BONSAI .mv {
  position: relative;
}
.FPM260128BONSAI .mv a {
  position: relative;
  display: block;
  z-index: 0;
}
.FPM260128BONSAI .mv-img {
  height: calc(852 * var(--formula_pc));
  overflow: hidden;
}
.FPM260128BONSAI .mv-img img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
  opacity: 0;
  -webkit-transition: opacity 2s cubic-bezier(0.77, 0, 0.175, 1), -webkit-transform 3.8s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: opacity 2s cubic-bezier(0.77, 0, 0.175, 1), -webkit-transform 3.8s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: opacity 2s cubic-bezier(0.77, 0, 0.175, 1), transform 3.8s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: opacity 2s cubic-bezier(0.77, 0, 0.175, 1), transform 3.8s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 3.8s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.FPM260128BONSAI .mv-img.is-active img {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
@media (max-width: 767px) {
  .FPM260128BONSAI .mv-img {
    height: auto;
  }
  .FPM260128BONSAI .mv-img img {
    -o-object-fit: fill;
       object-fit: fill;
  }
}
.FPM260128BONSAI .mv-logo {
  position: absolute;
  top: calc(104 * var(--formula_pc));
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1;
  width: calc(231 * var(--formula_pc));
  -webkit-transition: opacity 1.4s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: opacity 1.4s cubic-bezier(0.39, 0.575, 0.565, 1);
  opacity: 0;
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}
.FPM260128BONSAI .mv-logo.is-active {
  opacity: 1;
}
@media (max-width: 767px) {
  .FPM260128BONSAI .mv-logo {
    top: calc(84 * var(--formula));
    width: calc(259 * var(--formula));
  }
}
.FPM260128BONSAI .mv-ttl {
  position: absolute;
  bottom: calc(54 * var(--formula_pc));
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1;
  width: calc(517 * var(--formula_pc));
  -webkit-transition: opacity 1.4s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: opacity 1.4s cubic-bezier(0.39, 0.575, 0.565, 1);
  opacity: 0;
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}
.FPM260128BONSAI .mv-ttl.is-active {
  opacity: 1;
}
@media (max-width: 767px) {
  .FPM260128BONSAI .mv-ttl {
    bottom: calc(46 * var(--formula));
    width: calc(571 * var(--formula));
  }
}
.FPM260128BONSAI .fixed-left-logo {
  width: calc(216 * var(--formula_pc));
}
.FPM260128BONSAI .fixed-right-txt {
  width: calc(246 * var(--formula_pc));
}
.FPM260128BONSAI .lp-container {
  width: calc(750 * var(--variable) * var(--ratio));
  margin: 0 auto;
}
.FPM260128BONSAI .txt {
  font-family: "Hiragino Kaku Gothic ProN W5", "ヒラギノ角ゴ ProN W5", "Hiragino Sans", "ヒラギノ角ゴシック", "Meiryo", "メイリオ", sans-serif;
  font-weight: 500;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-size: calc(26 * var(--formula));
  line-height: 1.73076923;
  letter-spacing: 0.03em;
  color: #fff;
  text-align: center;
}
.FPM260128BONSAI .txt-01 {
  margin-top: calc(122 * var(--formula));
}
.FPM260128BONSAI .txt-02 {
  margin-top: calc(126 * var(--formula));
}
.FPM260128BONSAI .txt-03 {
  margin-top: calc(125 * var(--formula));
}
.FPM260128BONSAI .photo {
  position: relative;
}
.FPM260128BONSAI .photo-01 {
  width: calc(640 * var(--formula));
  margin: calc(252 * var(--formula)) auto 0;
}
@media (max-width: 767px) {
  .FPM260128BONSAI .photo-01 {
    margin: calc(150 * var(--formula)) auto 0;
  }
}
.FPM260128BONSAI .photo-02 {
  width: calc(510 * var(--formula));
  margin: calc(126 * var(--formula)) calc(50 * var(--formula)) 0 auto;
}
.FPM260128BONSAI .photo-03 {
  width: calc(640 * var(--formula));
  margin: calc(135 * var(--formula)) auto 0 0;
}
.FPM260128BONSAI .photo-04 {
  width: calc(600 * var(--formula));
  margin: calc(135 * var(--formula)) 0 0 auto;
}
.FPM260128BONSAI .photo-05 {
  width: calc(750 * var(--formula));
  margin: calc(118 * var(--formula)) auto 0;
}
.FPM260128BONSAI .photo-06 {
  width: calc(650 * var(--formula));
  margin: calc(128 * var(--formula)) auto 0;
}
.FPM260128BONSAI .photo-07 {
  width: calc(750 * var(--formula));
  margin: calc(132 * var(--formula)) auto 0;
}
.FPM260128BONSAI .photo-08 {
  width: calc(750 * var(--formula));
  margin: calc(45 * var(--formula)) auto 0;
}
.FPM260128BONSAI .photo-09 {
  width: calc(640 * var(--formula));
  margin: calc(118 * var(--formula)) auto 0;
}
.FPM260128BONSAI .photo-10 {
  width: calc(510 * var(--formula));
  margin: calc(140 * var(--formula)) auto 0 calc(60 * var(--formula));
}
.FPM260128BONSAI .photo-11 {
  margin: calc(134 * var(--formula)) auto 0;
}
.FPM260128BONSAI .footer {
  padding: calc(80 * var(--formula)) 0 calc(130 * var(--formula));
  background-color: #000;
  text-align: center;
}
.FPM260128BONSAI .footer-ttl {
  width: calc(450 * var(--formula));
  margin: 0 auto;
}
.FPM260128BONSAI .footer-txt {
  width: calc(650 * var(--formula));
  margin: calc(34 * var(--formula)) auto 0;
  font-family: "Hiragino Kaku Gothic ProN W5", "ヒラギノ角ゴ ProN W5", "Hiragino Sans", "ヒラギノ角ゴシック", "Meiryo", "メイリオ", sans-serif;
  font-weight: 500;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  text-align: justify;
  font-size: calc(23 * var(--formula));
  line-height: 1.86956522;
  letter-spacing: 0.075em;
  color: #fff;
}
.FPM260128BONSAI .footer-link {
  font-family: "trebuchet-ms", sans-serif;
  font-weight: 400;
  font-style: normal;
  margin-top: calc(52 * var(--formula));
  display: inline-block;
  font-size: calc(25 * var(--formula));
  letter-spacing: 0.074em;
  text-align: center;
  color: #fff;
}