/* ========================================
   共通ボタン
   ======================================== */

/* 矢印が右にふわふわ動くボタン */
.recruit-arrow-btn svg {
  transition: transform 0.3s ease;
}
.recruit-arrow-btn:hover svg {
  animation: arrow-move-right 0.8s ease-in-out infinite;
}
@keyframes arrow-move-right {
  0%, 100% { transform: translateX(0); }
  50%      { transform: translateX(5px); }
}

/* ナビリンク ホバー下線 */
.recruit-nav-link {
  position: relative;
  transition: color 0.3s ease;
}
.recruit-nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0;
  height: 1px;
  background: #004086;
  transition: width 0.3s ease;
}
.recruit-nav-link:hover {
  color: #004086;
}
.recruit-nav-link:hover::after {
  width: 100%;
}

/* ========================================
   Swiper 共通
   ======================================== */

/* MVスライダー - 等速スクロール */
.recruit-slides-swiper .swiper-wrapper {
  transition-timing-function: linear !important;
}

/* ページネーション共通 */
.swiper-pagination-bullet-active {
  background: #004086 !important;
}
.swiper-pagination-bullets {
  gap: 0 !important;
}

/* インタビュースライダー ページネーション */
.interview-swiper-pagination .swiper-pagination-bullet,
.interview-swiper-1-pagination .swiper-pagination-bullet {
  width: 90px !important;
  height: 3px !important;
  border-radius: 0 !important;
  margin: 0 !important;
}

/* ========================================
   MV背景 アニメーション
   ======================================== */

/* 背景画像 - ゆっくり拡大縮小 + 左右ふわふわ + 色変化 */
.recruit-mv-wave {
  animation:
    mv-wave 10s ease-in-out infinite,
    mv-color-shift 15s ease-in-out infinite;
  will-change: transform, filter;
}
@keyframes mv-wave {
  0%       { transform: scale(1.12) translateX(0); }
  25%      { transform: scale(1.08) translateX(-10px); }
  50%      { transform: scale(1.05) translateX(0); }
  75%      { transform: scale(1.08) translateX(10px); }
  100%     { transform: scale(1.12) translateX(0); }
}
@keyframes mv-color-shift {
  0%       { filter: hue-rotate(20deg) saturate(1.2) brightness(1.1); }
  25%      { filter: hue-rotate(10deg) saturate(1.1) brightness(1.05); }
  50%      { filter: none; }
  75%      { filter: hue-rotate(-10deg) saturate(1.05) brightness(1.02); }
  100%     { filter: hue-rotate(20deg) saturate(1.2) brightness(1.1); }
}

/* 背景画像の上に重ねるグラデーションオーバーレイ */
.recruit-mv-grad-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(95, 201, 174, 0.5) 0%,
    rgba(17, 191, 236, 0.4) 25%,
    rgba(247, 137, 26, 0.25) 50%,
    rgba(94, 204, 178, 0.45) 75%,
    rgba(17, 150, 236, 0.35) 100%
  );
  background-size: 400% 400%;
  animation: mv-grad-shift 8s ease-in-out infinite;
  mix-blend-mode: multiply;
}
@keyframes mv-grad-shift {
  0%        { background-position: 0% 0%; opacity: 0.95; }
  16%       { background-position: 100% 0%; opacity: 0.65; }
  33%       { background-position: 100% 100%; opacity: 0.85; }
  50%       { background-position: 50% 100%; opacity: 0.55; }
  66%       { background-position: 0% 50%; opacity: 0.8; }
  83%       { background-position: 50% 0%; opacity: 0.6; }
  100%      { background-position: 0% 0%; opacity: 0.95; }
}

