    @charset "utf-8";

    /* CSS Document */
    html {
      overflow: auto;
    }

    body {
      width: 100%;
      overflow-x: hidden;
      margin: 0 auto;
      padding: 0;
      font-family: Helvetica, "游ゴシック", "Yu Gothic", sans-serif;
      font-size: 16px;
      line-height: 180%;
      -webkit-text-size-adjust: 100%;
    }

    .content {
      width: 100%;
      margin: 0 auto;
      padding: 0;
      overflow: hidden;
      max-width: 750px;
    }

    img,
    video,
    p {
      padding: 0;
      width: 100%;
      margin: 0 auto;
      vertical-align: top;
    }

    .relative {
      position: relative;
      width: 100%;
    }

    /* fv */

    .fv_video01 {
      position: absolute;
      width: 53%;
      aspect-ratio: 1 / 1;
      object-fit: cover;
      top: 10%;
      right: -12%;
      z-index: 1;
      border-radius: 50%;
      border: 5px solid #009ff1;
      box-shadow: 8px 8px 8px rgb(108 102 97 / 20%);
    }

    .fv_video02 {
      position: absolute;
      width: 54%;
      aspect-ratio: 1 / 1;
      object-fit: cover;
      top: 29%;
      left: -12%;
      z-index: 1;
      border-radius: 50%;
      border: 5px solid #003a95;
      box-shadow: 8px 8px 8px rgb(108 102 97 / 20%);
    }

    .fv_video_lptest_1 {
      position: absolute;
      width: 90%;
      top: 23%;
      z-index: 1;
      left: 50%;
      transform: translateX(-50%);
      box-shadow: 8px 8px 8px rgb(108 102 97 / 20%);
    }

    .fv_parts {
      position: absolute;
      width: 38%;
      top: 25.5%;
      left: 35%;
      z-index: 10;
    }

    .fv_parts_lptest_1 {
      position: absolute;
      width: 80%;
      top: 18%;
      left: 50%;
      z-index: 10;
      transform: translateX(-50%);
    }

    .fv_parts02_lptest_1 {
      position: absolute;
      width: 20%;
      top: 46%;
      right: 0;
      z-index: 10;
    }

    @media screen and (max-width: 540px) {
      .fv_video01 {
        border: 3px solid #009ff1;
      }

      .fv_video02 {
        border: 3px solid #003a95;
      }
    }

    /* 動画 */
    .lp_video01 {
      position: absolute;
      width: 90%;
      top: 38%;
      left: 50%;
      z-index: 1;
      transform: translateX(-50%);
      box-shadow: 5px 5px 5px rgb(150 142 135 / 40%);
    }

    .lp_video02 {
      position: absolute;
      width: 83%;
      top: 2.5%;
      left: 50%;
      z-index: 1;
      transform: translateX(-50%);
    }

    .lp_video03 {
      position: absolute;
      width: 91%;
      top: 42.5%;
      left: 50%;
      z-index: 1;
      transform: translateX(-50%);
    }

    .lp_video04 {
      position: absolute;
      width: 85%;
      bottom: 7%;
      left: 50%;
      z-index: 1;
      transform: translateX(-50%);
    }

    .lp_video05 {
      position: absolute;
      width: 28%;
      bottom: 34%;
      left: 6%;
      z-index: 1;
    }

    .lp_video06 {
      position: absolute;
      width: 28%;
      bottom: 34%;
      left: 50%;
      z-index: 1;
      transform: translateX(-50%);
    }

    .lp_video07 {
      position: absolute;
      width: 28%;
      bottom: 34%;
      left: 66%;
      z-index: 1;
    }

    .lp_video08 {
      position: absolute;
      width: 80%;
      bottom: 25%;
      left: 50%;
      z-index: 1;
      transform: translateX(-50%);
    }

    .lp_video09 {
      position: absolute;
      width: 35%;
      bottom: 16%;
      left: 54%;
      z-index: 1;
    }

    .lp_video10 {
      position: absolute;
      width: 35%;
      bottom: 36%;
      left: 54%;
      z-index: 1;
    }

    .lp_video11 {
      position: absolute;
      width: 35%;
      bottom: 23%;
      left: 54%;
      z-index: 1;
    }

    .lp_video12 {
      position: absolute;
      width: 35%;
      bottom: 37%;
      left: 54%;
      z-index: 1;
    }

    .lp_video13 {
      position: absolute;
      width: 85%;
      bottom: 11%;
      left: 50%;
      z-index: 1;
      transform: translateX(-50%);
    }

    .lp_video14 {
      position: absolute;
      width: 34%;
      top: 35%;
      left: 55%;
      z-index: 1;
      border-radius: 50%;
    }

    .lp_video15 {
      position: absolute;
      width: 75%;
      bottom: 10.5%;
      left: 50%;
      z-index: 1;
      transform: translateX(-50%);
    }

    .video_parts01 {
      position: absolute;
      width: 50%;
      top: -1%;
      left: 47%;
      z-index: 10;
    }

    .video_parts02 {
      position: absolute;
      width: 27.5%;
      top: 30%;
      right: 0%;
      z-index: 10;
    }

    .video_parts03 {
      position: absolute;
      width: 75%;
      bottom: 34%;
      left: 50%;
      z-index: 10;
      transform: translateX(-50%);
    }

    .video_parts04 {
      position: absolute;
      width: 45%;
      bottom: 0%;
      left: 57%;
      z-index: 10;
    }

    .video_parts05 {
      position: absolute;
      width: 21%;
      top: 32%;
      right: -1%;
      z-index: 10;
    }

    /* スライダー */
    .slider-8 {
      width: 100%;
      position: absolute;
      overflow: hidden;
      top: 79.5%;
    }

    ul#js-slider-8 {
      margin-left: -40px;
      width: 110%;
    }

    .slider-8 img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .slider-8 li {
      margin: 0 8px;
    }

    @media screen and (max-width: 540px) {
      .slider-8 li {
        margin: 0 5px;
        width: 120px;
      }
    }

    /* 矢印動く */
    .lp_parts01 {
      position: absolute;
      z-index: 2;
      pointer-events: none;
      left: 58%;
      top: 36%;
      width: 35%;
      height: auto;
      transform-origin: 50% 110%;
      animation: arrowGrow 2s ease-in-out infinite;
      will-change: transform, opacity, clip-path;
    }

    .lp_parts02 {
      position: absolute;
      z-index: 2;
      pointer-events: none;
      left: 66%;
      top: 57%;
      width: 35%;
      height: auto;
      transform-origin: 40% 100%;
      animation: arrowGrow 1.8s ease-in-out infinite;
      will-change: transform, opacity, clip-path;
    }


    @supports (clip-path: inset(0 0 0 0)) {
      .hero__arrow {
        clip-path: inset(100% 0 0 0);
      }

      @keyframes arrowGrow {

        /* 待機：消えてる */
        0% {
          transform: scaleY(0.70) translateY(20px);
          opacity: 0;
          clip-path: inset(100% 0 0 0);
        }

        /* 上昇：下→上に徐々に見える（ワイプ） */
        20% {
          transform: scaleY(1.30) translateY(-10px);
          opacity: 1;
          clip-path: inset(0 0 0 0);
        }

        60% {
          transform: scaleY(1.30) translateY(-10px);
          opacity: 1;
          clip-path: inset(0 0 0 0);
        }

        /* ここで“パッと消す” */
        90% {
          transform: scaleY(1.18) translateY(-6px);
          opacity: 0;
          clip-path: inset(0 0 0 0);
        }

        /* 戻り：動いてても見えない（全体的に消える） */
        100% {
          transform: scaleY(0.70) translateY(20px);
          opacity: 0;
          clip-path: inset(100% 0 0 0);
        }
      }
    }

    /* フローティング */
    #floating {
      position: fixed;
      bottom: 1%;
      z-index: 100;
      width: 100%;
      display: none;
      margin: 0 auto;
    }

    #floating img {
      max-width: 750px;
    }

    @media screen and (max-width: 540px) {
      #floating img {
        width: 95%;
      }
    }

    /* 返金保証 */
    .hoshou-txt {
      position: absolute;
      bottom: 16%;
      right: -11%;
      width: 50%;
      font-size: 1.4rem;
      font-weight: 500;
      max-width: 300px;
    }

    .hoshou-txt a:link,
    .hoshou-txt a:visited,
    .hoshou-txt a:hover,
    .hoshou-txt a:active {
      color: #cba14d;
      text-decoration: underline;
    }

    @media screen and (max-width: 600px) {
      .hoshou-txt {
        bottom: 16%;
        right: -20%;
        font-size: 0.8rem;
      }
    }

    /* オファー */
    .cta-btn01 {
      position: absolute;
      top: 0.5%;
      left: 50.5%;
      width: 88%;
      transform: translateX(-50%);
    }

    .cta-btn02 {
      position: absolute;
      top: 24.5%;
      left: 50.5%;
      width: 88%;
      transform: translateX(-50%);
    }

    .cta-btn03 {
      position: absolute;
      bottom: 21.5%;
      left: 50.5%;
      width: 88%;
      transform: translateX(-50%);
    }

    .cta-btn04 {
      position: absolute;
      bottom: 15.5%;
      left: 50.5%;
      width: 88%;
      transform: translateX(-50%);
    }

    .tanpin_btn {
      position: absolute;
      bottom: 23.5%;
      left: 50.5%;
      width: 70%;
      transform: translateX(-50%);
    }

    .tell_btn {
      position: absolute;
      bottom: 9%;
      left: 50.5%;
      width: 88%;
      transform: translateX(-50%);
    }

    /* オファーテキスト */
    .offer_txt01 {
      position: absolute;
      bottom: 11.5%;
      right: 7.5%;
      font-size: 9px;
      letter-spacing: -0.8px;
      width: auto;
    }

    .offer_txt02 {
      position: absolute;
      bottom: 8.5%;
      right: 7.5%;
      font-size: 9px;
      letter-spacing: -0.8px;
      width: auto;
    }

    .offer_txt03 {
      position: absolute;
      bottom: 45.5%;
      right: 7.5%;
      font-size: 9px;
      letter-spacing: -0.8px;
      width: auto;
    }

    .offer_txt01 a,
    .offer_txt02 a,
    .offer_txt03 a {
      color: #686868;
    }

    @media screen and (min-width: 780px) {
      .offer_txt01 {
        font-size: 16px;
        bottom: 13.5%;
      }

      .offer_txt02 {
        font-size: 16px;
        bottom: 10%;
      }

      .offer_txt03 {
        font-size: 16px;
        bottom: 48%;
      }
    }

    /* フッターリンク */
    footer {
      width: 100%;
      max-width: 750px;
      margin: 0 auto;
      padding-bottom: 250px;
    }

    footer ul {
      display: block;
      font-size: 1.6rem;
      text-align: left;
      padding: 20px 12px;
    }

    footer li {
      padding: 15px 60px 15px;
      position: relative;
      list-style: none;
    }

    footer li :before {
      content: "";
      position: absolute;
      display: block;
      left: 4%;
      top: 28%;
      width: 15px;
      height: 25px;
      background-image: url(img/arrow02.png);
      background-size: 100%;
    }

    footer a {
      text-decoration: none;
      color: #000000;
    }

    @media screen and (max-width: 540px) {
      footer ul {
        font-size: 1.4rem;
      }

      footer li {
        padding: 10px 40px 10px;
      }
    }

    /* ローディングGIF */
#loading {
  position: fixed;
  inset: 0;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999999999 !important;
}

#loading img {
    max-width: 550px;
}

/* フェードアウト用 */
#loading.is-hide {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease;
}