@charset "UTF-8";
/* =============================================================
   TOP / FV
   ============================================================= */
.top-fv {
  position: relative;
  width: 100%;
  height: calc(1243 * var(--fs));
  background: var(--c-bg);
  overflow: hidden;
}
.top-fv__product img,
.top-fv__headline img,
.top-fv__patent img,
.c-fv__bg img,
.c-fv__label img {
  width: 100%;
  height: auto;
}
.top-fv__product {
  position: absolute;
  top: calc(137 * var(--fs));
  left: 0;
  width: 100%;
  pointer-events: none;
}
.top-fv__headline {
  position: absolute;
  top: calc(128 * var(--fs));
  left: 50%;
  transform: translateX(-50%);
  width: calc(606 * var(--fs));
  z-index: 10;
}
.top-fv__patent {
  position: absolute;
  top: calc(586 * var(--fs));
  left: calc(152 * var(--fs));
  width: calc(275 * var(--fs));
  z-index: 10;
}

/* =============================================================
   TOP / STORY
   ============================================================= */
.top-story {
  position: relative;
  z-index: 2;
  padding: 0 calc(20 * var(--s)) calc(122 * var(--s));
  margin-top: calc(-100 * var(--fs));
  text-align: center;
}
.top-story__en {
  font-size: calc(75 * var(--s));
  font-weight: 600;
  letter-spacing: 0.17em;
  line-height: 1.5;
  color: var(--c-ink);
  margin: 0 0 calc(18 * var(--s));
  padding-left: 0.2em;
  /* tracking å³ä½™ç™½ã®è¦–è¦šè£œæ­£ */
}
.top-story__lead {
  font-size: calc(40 * var(--s));
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.5;
  margin: 0 0 calc(28 * var(--s));
}
.top-story__body {
  font-size: calc(17 * var(--s));
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 2;
}
.top-story__body+.top-story__body {
  margin-top: calc(22 * var(--s));
}
.top-story__btns {
  display: flex;
  justify-content: center;
  gap: calc(24 * var(--s));
  margin-top: calc(60 * var(--s));
}
.top-story__btns .lp-btn {
  margin-inline: 0;
}


@media (max-width: 768px) {

  /* FVï¼šç¸¦ç©ã¿ï¼ˆè¦‹å‡ºã—â†’è£½å“ã€ãƒãƒƒã‚¸ã¯è£½å“å·¦ä¸‹ã«é‡ã­ã‚‹ï¼‰ */
  .top-fv {
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 88px 0 28px;
  }
  .top-fv__headline {
    order: 1;
    position: static;
    transform: none;
    width: 80%;
    margin: 0 auto;
  }
  .top-fv__product {
    order: 2;
    position: static;
    width: 180%;
    max-width: none;
    margin: -20vw 0 0;
  }
  .top-fv__patent {
    position: absolute;
    top: auto;
    left: 50%;
    top: 143vw;
    width: 70%;
    transform: translateX(-50%);
    z-index: 10;
  }

  /* STORY */
  .top-story {
    padding: 30px 24px 100px;
  }
  .top-story__en {
    font-size: 40px;
    margin-bottom: 22px;
  }
  .top-story__lead {
    font-size: 22px;
    margin-bottom: 28px;
    line-height: 1.6;
  }
  .top-story__body {
    text-align: left;
    font-size: 15px;
    line-height: 1.95;
  }
  .top-story__body+.top-story__body {
    margin-top: 24px;
  }
  .top-story__btns {
    flex-direction: column;
    align-items: center;
    gap: 14px;
    margin-top: 44px;
  }
  .top-story__btns .lp-btn {
    width: 100%;
    max-width: 320px;
  }
}

/* FVヘッドラインを見出し(h1)化するためのラッパ。
   display:contents でボックスを生成せず、レイアウト（PCの絶対配置・SPのflex order）に影響を与えない。 */
.top-fv__h1 {
  display: contents;
}