.scene {
  position: relative;
  width: 80%;
  height: 200px;
  margin: auto;
}

.runway {
  position: absolute;
  bottom: 40px;
  width: 100%;
  height: 40px;
  background: linear-gradient(to right, #555 0%, #666 50%, #555 100%);
  box-shadow: 0 -2px 10px rgba(0,0,0,0.3) inset;
}

.plane {
  position: absolute;
  bottom: 20px;
  left: -100px;
  width: 100px;
  animation: takeoff 3s ease-in-out infinite;
  transform-origin: center center;
}


/* 飛行機の離陸アニメーション */
@keyframes takeoff {
  0% {
    left: -120px;
    bottom: 60px;
    transform: rotate(0deg);
  }
  40% {
    left: 40%;
    bottom: 80px;
    transform: rotate(-5deg);
  }
  100% {
    left: 120%;
    bottom: 250px;
    transform: rotate(-20deg);
  }
}

@media (max-width: 599px){
  .scene {
    width: 100%;
  }
  .sib {
    display: block;
  }
}

/*20251022*/
.cont-box {
  display: flex;
}
.home_main .scroll-wrapper {
  bottom: 0;
}
.home_main .scroll-wrapper .scroll {
  background: rgba(0,0,0,0.58);
}
.scroll .l-img {
  margin: 8px auto 2px;
}

@media (max-width: 1024px){
  .home_main .scroll-wrapper {
    bottom: -340px;
  }
  .home2 {
    padding: 360px 0 80px 0;
  }
}

@media (max-width: 599px){
  .home_main .scroll-wrapper {
    bottom: -240px;
  }
  .scroll .l-img {
    margin: 2px auto;
  }
  .home_main .scroll-wrapper .scroll {
    width: 70px;
    height: 30px;
    font-size: 10px;
    padding: 25px 10px 35px;
  }
  .home2 {
    padding-top: 280px;
  }
}

/*2025/11/07*/
.li-h18 {
  line-height: 1.8;
}
.anim-box {
  width: 180px;
  position: relative;
  /* display: inline-block; */
  margin: 50px auto;
}
.anim-box::after {
  content: '';
  position: absolute;
  bottom: -45px; /* 画像より少し下 */
  left: 40%;
  transform: translateX(-40%);
  width: 80%;
  height: 20px;
  background: #c6c6c6;
  border-radius: 50%;
  filter: blur(3px);
  z-index: 0;
}
.anim-box .p-logo {
  width: 100%;
  animation: p-logo 1s ease-in-out infinite;
}

@keyframes p-logo {
  0%   { transform: scale(1.0) translate(0, 0); }
  15%  { transform: scale(0.95, 0.85) translate(0, 15px); }
  30%  { transform: scale(1.05, 1.0) translate(0, 25px); }
  50%  { transform: scale(0.95, 1.1) translate(0, -25px); }
  70%  { transform: scale(1.0, 0.9) translate(0, 15px); }
  100% { transform: scale(1.0) translate(0, 0); }
  0%, 100% { opacity: 1; }
}

@media (max-width: 599px){
  .anim-box {
    width: 140px;
  }
  .up-ofi-30.opt100:after {
    padding-top: 100%;
  }
}
