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

.FPM260720worldcup-container {
  /* 可変設定
  ------------------------------------------ */
  /*デザインの値*/
  --pc-width: 1400; /*PCデザイン幅*/
  --sp-width: 750; /*SPデザイン幅*/
  --pc-artboard-width: 487; /*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以下 可変 */
  --font: hiragino-kaku-gothic-pron, 游ゴシック体, YuGothic, 游ゴシック Medium,
    Yu Gothic, メイリオ, sans-serif;
  /* mixin
  ------------------------------------------ */
  /* reset
  ------------------------------------------ */
  /* animation
  ------------------------------------------ */
  /* LP style
  ------------------------------------------ */
}

@media (min-width: 1401px) {
  .FPM260720worldcup-container {
    --ratio: calc(
      var(--pc-artboard-width) / var(--sp-artboard-width)
    ); /* PCとSPのデザイン幅の比率 */
    --variable: 1px; /* 固定値（可変しない） */
  }
}
@media (min-width: 768px) and (max-width: 1400px) {
  .FPM260720worldcup-container {
    --ratio: calc(
      var(--pc-artboard-width) / var(--sp-artboard-width)
    ); /* PCとSPのデザイン幅の比率 */
    --variable: calc(100vw / var(--pc-width)); /* 画面幅に基づく可変値 */
  }
}
@media (max-width: 767px) {
  .FPM260720worldcup-container {
    --ratio: 1; /* 比率は1（変わらない） */
    --variable: calc(100vw / var(--sp-width)); /* 画面幅に基づく可変値 */
  }
}
.FPM260720worldcup-container img {
  width: 100%;
  height: auto;
}
.FPM260720worldcup-container .grid{
  display: grid;
  grid-template-columns: 1fr calc(724 * var(--variable) * var(--ratio)) 1fr;
  background-color: #3b3f48;
}
@media (max-width: 767px) {
  .FPM260720worldcup-container a img {
    -webkit-transition: 0.6s;
    transition: 0.6s;
  }
}
@media (max-width: 767px) {
  .FPM260720worldcup-container a:hover img {
    opacity: 0.7;
  }
}
.FPM260720worldcup-container * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media (max-width: 767px) {
  .FPM260720worldcup-container {
    display: block;
  }
}
.FPM260720worldcup-container .sp-none{
  display: block;
}
.FPM260720worldcup-container .pc-none{
  display: none;
}
@media (max-width: 767px) {
  .FPM260720worldcup-container .sp-none{
    display: none;
  }
  .FPM260720worldcup-container .pc-none{
    display: block;
  }
}

.FPM260720worldcup-container .fixed-left,
.FPM260720worldcup-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) {
  .FPM260720worldcup-container .fixed-left,
  .FPM260720worldcup-container .fixed-right {
    display: none;
  }
}
.FPM260720worldcup-container .fixed-left-txt {
  font-family: "Sofia Sans Extra Condensed", sans-serif;
  font-weight: 600;
  font-style: normal;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.02em;
  opacity: 0;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
  width: calc(250 * var(--formula_pc));
}
.FPM260720worldcup-container .fixed-right {
  font-family: var(--font);
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-weight: 600;
  font-size: calc(15 * var(--formula_pc));
  letter-spacing: 0.08em;
}
.FPM260720worldcup-container .fixed-right-txt {
  opacity: 0;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
  width: calc(108 * var(--formula_pc));
}
.FPM260720worldcup-container .mv-video {
  opacity: 0;
}
.FPM260720worldcup-container .mv-video video {
  width: 100%;
  height: auto;
  height: calc(787 * var(--formula_pc));
  object-fit: cover;
  display: block;
}
@media (max-width: 767px) {
  .FPM260720worldcup-container .mv-video video {
    width: calc(750 * var(--formula));
    height: calc(1333 * var(--formula));
  }
}

.FPM260720worldcup-container .mv-txt {
  margin: calc(96 * var(--formula_pc)) auto calc(58 * var(--formula_pc));
  font-size: calc(18 * var(--formula_pc));
  text-align: center;
  font-family: var(--font);
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  color: white;
  font-weight: 600;
  letter-spacing: 0.075em;
  line-height: 1.75;
}
@media (max-width: 767px) {
  .FPM260720worldcup-container .mv-txt {
    margin: calc(85 * var(--formula)) auto calc(88 * var(--formula));
    font-size: calc(28 * var(--formula));
  }
}
.FPM260720worldcup-container .lp-container {
  width: calc(750 * var(--variable) * var(--ratio));
  margin: 0 auto;
}

.FPM260720worldcup-container .all {
  margin: calc(53 * var(--formula_pc)) 0 0;
  padding-bottom: calc(100 * var(--formula_pc));
}
@media (max-width: 767px) {
  .FPM260720worldcup-container .all {
    margin: calc(85 * var(--formula)) 0 0;
    padding-bottom: calc(75 * var(--formula));
  }
}
.FPM260720worldcup-container .all-link {
  background: url("../img/btn-bg.jpg");
  background-size: cover;
  font-family: var(--font);
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-size: calc(28 * var(--formula));
  color: white;
  font-weight: 500;
  letter-spacing: 0.075em;
  width: calc(400 * var(--formula));
  margin: 0 auto;
  text-align: center;
  height: calc(80 * var(--formula));
  display: flex;
  justify-content: center;
  align-items: center;
}
.FPM260720worldcup-container .product-flex{
  display: flex;
}
.FPM260720worldcup-container .product-flex img{
  width: 50%;
}
.FPM260720worldcup-container .product-flex a{
  width: 50%;
}
.FPM260720worldcup-container .product-flex a img{
  width: 100%;
}
.FPM260720worldcup-container .footer-content{
  margin-top: calc(80 * var(--formula));
}