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

.FPM260420GT {
  /* 可変設定
  ------------------------------------------ */
  /*デザインの値*/
  --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以上 固定 */
}
@media (min-width: 1401px) {
  .FPM260420GT {
    --ratio: calc(
      var(--pc-artboard-width) / var(--sp-artboard-width)
    ); /* PCとSPのデザイン幅の比率 */
    --variable: 1px; /* 固定値（可変しない） */
  }
}
.FPM260420GT {
  /* PC画面幅 768～1400px 可変 */
}
@media (min-width: 768px) and (max-width: 1400px) {
  .FPM260420GT {
    --ratio: calc(
      var(--pc-artboard-width) / var(--sp-artboard-width)
    ); /* PCとSPのデザイン幅の比率 */
    --variable: calc(100vw / var(--pc-width)); /* 画面幅に基づく可変値 */
  }
}
.FPM260420GT {
  /* SP画面幅 767px以下 可変 */
}
@media (max-width: 767px) {
  .FPM260420GT {
    --ratio: 1; /* 比率は1（変わらない） */
    --variable: calc(100vw / var(--sp-width)); /* 画面幅に基づく可変値 */
  }
}
.FPM260420GT {
  /* mixin
  ------------------------------------------ */
  /* reset
  ------------------------------------------ */
}
.FPM260420GT img {
  width: 100%;
  height: auto;
}
@media (max-width: 767px) {
  .FPM260420GT a img {
    -webkit-transition: 0.6s;
    transition: 0.6s;
  }
}
@media (max-width: 767px) {
  .FPM260420GT a:hover img {
    opacity: 0.7;
  }
}
.FPM260420GT * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.FPM260420GT {
  /* animation
  ------------------------------------------ */
}
.FPM260420GT .js-smooth {
  opacity: 0;
  clip-path: inset(0 100% 0 0);
  -webkit-transition:
    clip-path 1.2s ease,
    visibility 1.2s ease,
    opacity 1.2s ease;
  transition:
    clip-path 1.2s ease,
    visibility 1.2s ease,
    opacity 1.2s ease;
}
.FPM260420GT .js-smooth.is-active {
  opacity: 1;
  clip-path: inset(0);
}
.FPM260420GT .js-slide {
  opacity: 0;
  -webkit-transition:
    visibility 1.5s ease,
    opacity 1.5s ease,
    -webkit-transform 1.5s ease;
  transition:
    visibility 1.5s ease,
    opacity 1.5s ease,
    -webkit-transform 1.5s ease;
  transition:
    transform 1.5s ease,
    visibility 1.5s ease,
    opacity 1.5s ease;
  transition:
    transform 1.5s ease,
    visibility 1.5s ease,
    opacity 1.5s ease,
    -webkit-transform 1.5s ease;
  -webkit-transform: translateX(50px);
  transform: translateX(50px);
  -webkit-transition-delay: 0.25s;
  transition-delay: 0.25s;
}
.FPM260420GT .js-slide.is-active {
  opacity: 1;
  -webkit-transform: translateX(0);
  transform: translateX(0);
}
.FPM260420GT .js-title,
.FPM260420GT .js-fade-up {
  opacity: 0;
  -webkit-transform: translateY(20px);
  transform: translateY(20px);
  -webkit-transition: 1s;
  transition: 1s;
}

.FPM260420GT .js-title.is-active,
.FPM260420GT .js-fade-up.is-active {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
.FPM260420GT .js-title {
  overflow: hidden;
}
.FPM260420GT .js-title [class*="mv-logo"] img {
  opacity: 0;
  -webkit-transform: translateY(130%);
  transform: translateY(130%);
  -webkit-transition: 1.2s;
  transition: 1.2s;
}
.FPM260420GT .js-title.is-active [class*="mv-logo"] img {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.FPM260420GT .js-title .mv-logo2 img {
  transition-delay: 0.6s;
}

.FPM260420GT .js-mv {
  opacity: 0;
  -webkit-transition: 1s;
  transition: 1s;
}
.FPM260420GT .js-mv.is-active {
  opacity: 1;
}
.FPM260420GT {
  /* LP style
  ------------------------------------------ */
  background-color: #698a78;
}
.FPM260420GT .mv {
  position: relative;
}
.FPM260420GT .mv a {
  position: relative;
  display: block;
  z-index: 0;
}
.FPM260420GT .mv-img {
  height: calc(900 * var(--formula_pc));
  overflow: hidden;
}
.FPM260420GT .mv-img img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center top;
  object-position: center top;
}
@media (max-width: 767px) {
  .FPM260420GT .mv-img {
    height: auto;
  }
  .FPM260420GT .mv-img img {
    -o-object-fit: fill;
    object-fit: fill;
  }
}
.FPM260420GT .mv-logo {
  position: absolute;
  top: calc(521 * var(--formula_pc));
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1;
  width: calc(250 * var(--formula_pc));
}
.FPM260420GT .mv-logo2 {
  position: absolute;
  top: calc(790 * var(--formula_pc));
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1;
  width: calc(226 * var(--formula_pc));
}
.FPM260420GT .mv-logo img {
  -webkit-transition-delay: 1.3s;
  transition-delay: 1.3s;
}
.FPM260420GT .mv-logo2 img {
  -webkit-transition-delay: 1.3s;
  transition-delay: 1.3s;
}
@media (max-width: 767px) {
  .FPM260420GT .mv-logo {
    top: calc(132 * var(--formula));
    width: calc(324 * var(--formula));
  }
}
.FPM260420GT .mv-lead {
  margin-top: calc(117 * var(--formula_pc));
}
.FPM260420GT .mv-lead span {
  display: block;
  font-family:
    "Hiragino Kaku Gothic ProN W7", "ヒラギノ角ゴ ProN W7", "Hiragino Sans",
    "ヒラギノ角ゴシック", "Meiryo", "メイリオ", sans-serif;
  font-weight: 600;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  font-size: calc(15.6 * var(--formula_pc));
  line-height: calc(24 / 16);
  letter-spacing: 0.05em;
  text-align: center;
  color: white;
}

.FPM260420GT .mv-lead span:nth-child(2) {
  margin-top: calc(8 * var(--formula_pc));
}
@media (max-width: 767px) {
  .FPM260420GT .mv-lead {
    margin-top: calc(96 * var(--formula));
    width: 100%;
  }
  .FPM260420GT .mv-lead span {
    font-size: calc(26 * var(--formula));
  }
}
.FPM260420GT .lp-cont {
  width: calc(750 * var(--variable) * var(--ratio));
  margin: 0 auto;
  overflow: clip;
}
.FPM260420GT .hero {
  margin: calc(82 * var(--formula)) auto 0;
  width: calc(650 * var(--formula));
}
.FPM260420GT .hero-ttl {
  width: calc(365 * var(--formula));
  margin: 0 auto;
}
.FPM260420GT .hero-txt-en {
  margin-top: calc(77 * var(--formula));
  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(23 * var(--formula));
  line-height: 1.73913043;
  letter-spacing: 0.1em;
  text-align: left;
}
.FPM260420GT .hero-txt-jp {
  margin-top: calc(63 * var(--formula));
  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(23 * var(--formula));
  line-height: 1.73913043;
  letter-spacing: 0.1em;
  text-align: justify;
}
.FPM260420GT .hero-detail dt {
  font-family: "Sofia Sans Extra Condensed", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-size: calc(40 * var(--formula));
  letter-spacing: 0.04em;
  position: relative;
}
.FPM260420GT .hero-detail dd {
  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(23 * var(--formula));
  line-height: 1.73913043;
  letter-spacing: 0.1em;
  text-align: justify;
}
.FPM260420GT .hero-detail-fpm {
  margin-top: calc(130 * var(--formula));
  padding-inline: calc(49 * var(--formula));
}
.FPM260420GT .hero-detail-fpm dt::after {
  content: "";
  width: calc(478 * var(--formula));
  height: 1px;
  background-color: #000;
  position: absolute;
  top: calc(20 * var(--formula));
  right: 0;
  -webkit-transition: 1s;
  transition: 1s;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: left;
  transform-origin: left;
  -webkit-transition-delay: 1s;
  transition-delay: 1s;
}
.FPM260420GT .hero-detail-fpm dt.is-active::after {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}
.FPM260420GT .hero-detail-fpm dd {
  margin-top: calc(5 * var(--formula));
}
.FPM260420GT .hero-detail-glove {
  margin-top: calc(87 * var(--formula));
  padding-inline: calc(49 * var(--formula));
  padding-bottom: calc(128 * var(--formula_pc));
}
.FPM260420GT .hero-detail-glove dt::after {
  content: "";
  width: calc(422 * var(--formula));
  height: 1px;
  background-color: #000;
  position: absolute;
  top: calc(19 * var(--formula));
  right: 0;
  -webkit-transition: 1s;
  transition: 1s;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: left;
  transform-origin: left;
  -webkit-transition-delay: 1s;
  transition-delay: 1s;
}
.FPM260420GT .hero-detail-glove dt.is-active::after {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}
.FPM260420GT .hero-detail-glove dd {
  margin-top: calc(4 * var(--formula));
}
.FPM260420GT .photo {
  position: relative;
}
.FPM260420GT .photo-01 {
  width: calc(700 * var(--formula));
  margin: calc(83 * var(--formula_pc)) auto 0;
}
.FPM260420GT .photo-02 {
  width: calc(600 * var(--formula));
  margin: calc(120 * var(--formula)) calc(74 * var(--formula)) 0 auto;
}
.FPM260420GT .photo-03 {
  width: calc(600 * var(--formula));
  margin: calc(129 * var(--formula)) calc(119 * var(--formula)) 0 auto;
}
.FPM260420GT .photo-04 {
  width: calc(600 * var(--formula));
  margin: calc(130 * var(--formula)) calc(74 * var(--formula)) 0 auto;
}
.FPM260420GT .photo-05 {
  width: calc(600 * var(--formula));
  margin: calc(130 * var(--formula)) calc(29 * var(--formula)) 0 auto;
}
.FPM260420GT .photo-06 {
  width: calc(600 * var(--formula));
  margin: calc(130 * var(--formula)) 0 0 calc(31 * var(--formula));
}
.FPM260420GT .photo-07 {
  width: calc(600 * var(--formula));
  margin: calc(130 * var(--formula)) 0 0 calc(120 * var(--formula));
}
.FPM260420GT .photo-08 {
  width: calc(600 * var(--formula));
  margin: calc(128 * var(--formula)) 0 0 calc(76 * var(--formula));
}
.FPM260420GT .all {
  padding: calc(200 * var(--formula)) 0 calc(200 * var(--formula));
}
.FPM260420GT .all-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";
  margin: 0 auto;
  font-size: calc(30 * var(--formula));
  line-height: 1.73913043;
  letter-spacing: 0.1em;
  text-align: center;
}
@media (max-width: 767px) {
  .FPM260420GT .all-txt {
    font-size: calc(25 * var(--formula));
  }
}
.FPM260420GT .all-btn {
  display: block;
  width: calc(580 * var(--formula));
  margin: calc(100 * var(--formula)) auto 0;
  padding: calc(25 * var(--formula)) 0;
  border: 2px solid #000;
  font-size: calc(30 * var(--formula));
  color: #000;
  text-align: center;
}
@media (max-width: 767px) {
  .FPM260420GT .all-btn {
    font-size: calc(25 * var(--formula));
  }
  .FPM260420GT .mv-lead span:nth-child(2) {
    margin-top: calc(12 * var(--formula));
  }
  .FPM260420GT .photo-01 {
    margin: calc(90 * var(--formula)) auto 0;
  }
  .FPM260420GT .hero-detail-glove {
    padding-bottom: calc(156 * var(--formula));
  }
  .FPM260420GT .mv-logo2 {
    position: absolute;
    top: calc(490 * var(--formula));
    left: calc(16 * var(--formula));
    right: 0;
    margin: auto;
    z-index: 1;
    width: calc(343 * var(--formula));
  }
}
