.lp h3 {
  font-family: nitalago-ruika, sans-serif;
  font-size: 24px;
  font-weight: 100;
  font-style: normal;
  text-align: center;
  color: #fff;
  padding: 50px 0;
}

.lp h3.fade-up {
  animation-name: fade-up;
  animation-duration: 1s;
  animation-timing-function: ease-out;
  animation-fill-mode: both;
  animation-timeline: view();
  animation-range: entry 10% contain 40%;
}

.fade-in {
  animation-name: fade-in;
  animation-duration: 1s;
  animation-timing-function: ease-out;
  animation-fill-mode: both;
  animation-timeline: view();
  animation-range: entry 0% contain 10%;
}
:root {
  scroll-behavior: smooth;
}

body.lp {
  background: #005781;
  margin: 0;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

::-webkit-scrollbar {
  display: none;
}

/* アニメーション */
@supports (animation-timeline: scroll()) {
  @keyframes slide-in {
    from {
      transform: translate(300px, -300px);
      opacity: 0;
    }
    to {
      transform: translate(0, 0);
      opacity: 1;
    }
  }

  @keyframes fade-up {
    from {
      transform: translateY(50px);
      opacity: 0;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }

  @keyframes fade-in {
    from {
      transform: scale(0.95);
      opacity: 0;
    }
    to {
      transform: scale(1);
      opacity: 1;
    }
  }

  .animated-box {
    width: fit-content;
    padding: 0 30px;
    margin: 0 auto;

    opacity: 0;
    transform: translate(300px, -300px);

    animation-name: slide-in;
    animation-timing-function: ease-out;
    animation-fill-mode: both;
    animation-duration: 1s;

    animation-timeline: scroll();
    animation-range: entry 0% cover 15%;
  }
}
@scroll-timeline main-scroll {
  source: selector(main);
  orientation: block;
}

.video-background {
  position: relative;
  width: 100%;
  height: 100vh; /* 必要に応じて調整 */
  overflow: hidden;
}

.video-background video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  z-index: -1; /* 背景に配置 */
}

.pc {
  display: none;
}

@media screen and (min-width: 1025px) {
  .pc {
    display: block;
  }
}

.tablet {
  display: block;
}