html,
body {
  width: 100%;
  min-height: 100%;
  margin: 0;
}

body {
  background-color: #fde03e;
  overflow: hidden;
}

.main-bg-base {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
}

.main-bg-inner {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: url("images/bg.jpg") no-repeat center / cover;
}

.float-01,
.float-02,
.float-03 {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.float-01 {
  z-index: 2;
  background: url("images/mate_flot-3.png") no-repeat center / cover;
}

.float-02 {
  z-index: 3;
  background: url("images/mate_flot-5.png") no-repeat center / cover;
  animation: float01-scale 8s ease-in-out infinite;
}

.float-03 {
  z-index: 4;
  background: url("images/mate_flot-4.png") no-repeat center / cover;
  animation: float01-scale 5s ease-in-out infinite;
}

.fukisashi {
  position: absolute;
  top: 45%;
  left: 65%;
  z-index: 2;
  width: 40%;
  height: 50%;
  transform: translate(-50%, -50%);
  background: url("images/mate_flot-2.png") no-repeat center / contain;
}

.comment {
  position: absolute;
  top: 0;
  left: 20%;
  z-index: 1;
  width: 500px;
  height: 100%;
  background: url("images/mate_flot-1.png") repeat 0 0 / 500px 1088px;
  animation: comment-scroll-up 15s linear infinite;
}

.text-image {
  position: absolute;
  z-index: 2;
  width: 100%;
  height: 10px;
  background: url("images/mate_flot-6.png") repeat-x 0 0 / cover;
}

.text-image.text-top {
  top: 2px;
  right: 0;
  animation: comment-scroll-side 60s linear infinite;
}

.text-image.text-bottom {
  bottom: 2px;
  left: 0;
  animation: comment-scroll-side 60s linear reverse infinite;
}

@media screen and (max-width: 601px) {
  .main-bg-inner {
    background-image: url("images/bg_sp.jpg");
  }

  .float-01 {
    background-image: url("images/mate_flot-3_sp.png");
    background-position: top;
  }

  .float-02 {
    background-image: url("images/mate_flot-5_sp.png");
  }

  .float-03 {
    background-image: url("images/mate_flot-4_sp.png");
  }

  .fukisashi {
    width: 270px;
    height: 200px;
  }

  .comment {
    left: 10%;
    width: 200px;
    background-size: 200px 435px;
  }

  .text-image {
    height: 8px;
  }
}

@keyframes float01-scale {
  0%,
  100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.05);
  }
}

@keyframes comment-scroll-up {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: 0 -1088px;
  }
}

@keyframes comment-scroll-side {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: -2555px 0;
  }
}
