* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

body {
  background: #fff;
  color: #333;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Times New Roman", serif;
}

img,
video {
  display: block;
  width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

.lp-wrapper {
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  overflow: hidden;
}

.lp-section {
  position: relative;
  margin: 0;
  padding: 0;
  line-height: 0;
}

.base-img {
  position: relative;
  z-index: 1;
}

.overlay-section {
  position: relative;
}

.overlay-img {
  position: absolute;
  z-index: 3;
  left: 50%;
  pointer-events: none;
}

.overlay-1-1 {
  top: 7%;
  width: 81.2%;
  transform: translateX(-50%);
}

.overlay-2-1 {
  top: 62%;
  width: 78.27%;
  transform: translateX(-50%);
}

.overlay-4-1 {
  top: 3%;
  width: 99.6%;
  transform: translateX(-50%);
}

.overlay-4-2 {
  top: 35%;
  width: 99.6%;
  transform: translateX(-50%);
}

.overlay-4-3 {
  top: 70.5%;
  width: 99.6%;
  transform: translateX(-50%);
}

.overlay-6-1 {
  top: 25%;
  width: 100%;
  transform: translateX(-50%);
}

.overlay-7-1 {
  top: 15%;
  width: 100%;
  transform: translateX(-50%);
}

.overlay-8-1 {
  top: 5.1%;
  width: 100%;
  transform: translateX(-50%);
}

.overlay-9-1 {
  top: 4%;
  width: 100%;
  transform: translateX(-50%);
}

.overlay-10-1 {
  top: 4%;
  width: 100%;
  transform: translateX(-50%);
}

.overlay-11-1 {
  top: 5%;
  width: 100%;
  transform: translateX(-50%);
}

.fade-up {
  opacity: 0;
  transform: translate(-50%, 30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.fade-up.is-show {
  opacity: 1;
  transform: translate(-50%, 0);
}

.delay-01 {
  transition-delay: 0.2s;
}

.delay-02 {
  transition-delay: 0.5s;
}

.delay-03 {
  transition-delay: 0.8s;
}

.lp-btn {
  position: absolute;
  z-index: 4;
  left: 50%;
  display: block;
  line-height: 0;
  transform: translateX(-50%);
}

.btn-1 {
  bottom: 3%;
  width: 95.47%;
}

.btn-6 {
  bottom: 12%;
  width: 94.4%;
}

.btn-7 {
  bottom: 2%;
  width: 94.4%;
}

.btn-8 {
  bottom: 15%;
  width: 94.4%;
}

.btn-9 {
  bottom: 16%;
  width: 94.4%;
}

.btn-10 {
  bottom: 19%;
  width: 94.4%;
}

.btn-11 {
  bottom: 17%;
  width: 94.4%;
}

.btn-13 {
  bottom: 5%;
  width: 95.47%;
}

.overlay-movie {
  position: absolute;
  z-index: 2;
  left: 50%;
  width: 94%;
  height: auto;
  transform: translateX(-50%);
  object-fit: cover;
}

.movie-6 {
  top: 89.5%;
}

.movie-8 {
  top: 87%;
}

.movie-9 {
  top: 86%;
}

.movie-10 {
  top: 83%;
}

.movie-11 {
  top: 85%;
}

.movie-section {
  margin: 0;
  padding: 0;
  line-height: 0;
  background: #000;
}

.movie-section video {
  width: 100%;
}

.float-btn {
  position: fixed;
  z-index: 100;
  left: 50%;
  bottom: 10px;
  width: min(98.8%, 741px);
  max-width: 741px;
  line-height: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, 20px);
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
}

.float-btn.is-show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.footer {
  padding: 36px 20px 40px;
  background: #f7f4ef;
  text-align: center;
  line-height: 1.8;
}

.footer-list {
  display: flex;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-list a {
  font-size: 14px;
  color: #555;
}

@media screen and (max-width: 750px) {
  .float-btn {
    bottom: 8px;
    width: 98.8%;
  }

  .footer-list {
    gap: 10px 16px;
  }

  .footer-list a {
    font-size: 13px;
  }
}