/* 採用情報ページ専用スタイル */

/* Hero Floating Images Animation */
.hero-float-image {
  transition: all 1s cubic-bezier(0.34, 1.56, 0.64, 1);
  transform: translateY(-100vh) !important;
}

.hero-float-image.float-in {
  opacity: 0.4 !important;
  transform: translateY(0) !important;
}

.hero-float-image.float-out {
  opacity: 0 !important;
  transform: translateY(-150vh) !important;
  transition: all 0.8s cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

/* Page Top Button */
.page-top-btn {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  width: 3.5rem;
  height: 3.5rem;
  background: linear-gradient(135deg, #14b8a6 0%, #3b82f6 100%);
  color: white;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(20, 184, 166, 0.4);
  transition: all 0.3s ease;
  z-index: 50;
  opacity: 0;
  transform: translateY(100px);
  pointer-events: none;
}

.page-top-btn.visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: all;
}

.page-top-btn:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 30px rgba(20, 184, 166, 0.5);
}

/* Responsive */
@media (max-width: 768px) {
  .page-top-btn {
    width: 3rem;
    height: 3rem;
    bottom: 1.5rem;
    right: 1.5rem;
  }
}


@media screen and (max-width: 768px) {
  .recruit-title{
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }

  .recruit .recruit-arrow{
    bottom: -0.1rem;
    left: 43%;
  }
}
