.top-hero-wrap_202602 {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.5;
  font-size: clamp(15px, 1.04vw, 20px);
  overflow: hidden;
  background: url("../img/Top-Hero-bg-sp.jpg") center / cover no-repeat;
  padding: 15px 10px 37px 10px;

  @media (min-width: 768px) {
    background-image: url("../img/Top-Hero-bg.jpg");
    padding: 3.2%;
  }

  img,
  video {
    width: 100%;
  }

  .top-hero-wrap__row {
    display: flex;
    flex-direction: column;
    gap: 25px;
    position: relative;
    z-index: 1;

    @media (min-width: 768px) {
      flex-direction: row;
      gap: 60px;
    }

    .top-hero-wrap_inner-copy {
      display: flex;
      justify-content: space-around;
      gap: 30px;
      order: 1;

      @media (min-width: 768px) {
        order: 2;
        gap: 7.5%;
        flex: 0 0 auto;
        width: calc((100% - 60px) / 2);
        justify-content: center;
      }

      > h2 {
        order: 3;

        @media (min-width: 768px) {
          order: 2;
          max-width: 155px;
        }
      }

      > h3 {
        order: 2;

        @media (min-width: 768px) {
          order: 1;
          max-width: 66px;
        }
      }

      > p {
        order: 1;

        @media (min-width: 768px) {
          order: 3;
          max-width: 117px;
        }
      }
    }

    .top-hero-wrap_inner-movie {
      display: flex;
      flex-direction: column;
      order: 2;

      @media (min-width: 768px) {
        order: 1;
        flex: 0 0 auto;
        width: calc((100% - 60px) / 2);
      }

      .modal-capture {
        position: relative;
        max-width: 720px;
        margin-bottom: 25px;

        > img {
          max-width: 720px;
        }

        > p {
          position: absolute;
          bottom: 6.9%;
          left: 0;
          width: 100%;
          text-align: center;
          padding: 3%;
          color: #fff;
          font-size: 16px;

          @media (min-width: 900px) {
            font-size: 18px;
          }

          @media (min-width: 1200px) {
            font-size: 23px;
          }
        }
      }

      .modal {
        position: relative;
        z-index: 1;

        .modal__container {
          padding: 12px;
          position: relative;
          overflow: visible;
          max-width: 1340px;

          .modal__close {
            position: absolute;
            top: -40px;
            right: 8px;

            img {
              width: 60px;
            }
          }

          .modal__content {
            margin: 0 0 10px;
          }

          .modal__footer {
            p {
              @media (min-width: 768px) {
                text-align: center;
              }
            }
          }
        } /*modal__container*/
      } /*modal*/
    } /*top-hero-wrap_inner-movie*/
  } /*top-hero-wrap__row*/

  .top-hero-footer {
    font-weight: bold;
    background-color: transparent;

    h3 {
      font-size: 25px;
      color: #fff;
      margin-bottom: 22px;
    }

    .top-hero-footer-row {
      display: flex;
      flex-direction: column;
      gap: 15px;

      @media (min-width: 768px) {
        flex-direction: row;
        flex-wrap: wrap;
      }

      > div {
        @media (min-width: 768px) {
          flex: 0 0 auto;
        }
      }

      h4 {
        font-size: 20px;
        color: #fff;
      }

      dl {
        background-color: #ffeedb;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        gap: 10px;
        padding: 19px 40px;
        margin-top: 9px;
        position: relative;

        @media (min-width: 768px) {
          gap: 18px;
        }

        &::before {
          content: "";
          position: absolute;
          top: 0;
          left: 0;
          width: 63px;
          height: 65px;
          background: url("../img/angle-wh.png") left top / cover no-repeat;
        }

        &::after {
          content: "";
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          width: calc(100% - 16px);
          height: calc(100% - 16px);
          border: 1px solid #ea5718;
          pointer-events: none;
        }

        dt {
          width: 10em;
          flex: 0 0 auto;
          color: #ea5718;
          font-size: 16px;
        }

        dd {
          margin-bottom: 0;
        }
        dd a {
          display: block;
          padding: 4px 20px;
          border: 1px solid #ea5718;
          background-color: #fff199;
          border-radius: 100vmax;
          font-size: 15px;
          text-decoration: none;
          color: #111;
        }
      }
    }
  }
} /*top-hero-wrap_202602*/
