.bg-follow-layer {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: #fff;
  overflow: hidden;
}

.bg-sprite {
  position: absolute;
  will-change: transform;
  filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.08));
  opacity: 0;
  /* 初期は透明、JSでランダム値に */
  transition: opacity .6s ease;
  transform: translate3d(0, 0, 0) scale(1);
}

/* ===== nav 背景（動きなし・ランダム配置） ===== */
/* ★ menu.css の .nav と競合しないように nav-bg にリネーム */
.nav-bg {
  position: relative;
  background: transparent;
}

.nav-bg-layer {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: #fff; /* メニュー面の白背景 */
  overflow: hidden;
}

.nav-bg-content {
  position: relative;
  z-index: 1; /* メニュー本文が前面 */
}

.nav-bg-sprite {
  position: absolute;
  will-change: transform;
  filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.08));
  opacity: 0; /* JSで0.3〜0.6にフェード */
  transform: translate3d(0, 0, 0);
  transition: opacity .6s ease;
}