/* キラキラ演出（bg_navyセクション用）-------------------- */
section.restaurant.bg_navy{
  position: relative;
}
section.restaurant.bg_navy > .con{
  position: relative;
  z-index: 1;
}

.stars-layer{
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
.stars-layer span{
  position: absolute;
  border-radius: 50%;
  background: #ffffff;
  animation: sparkleTwinkle 3.5s ease-in-out infinite;
}
.stars-layer span.gold{
  background: #f3d99a;
}

@keyframes sparkleTwinkle{
  0%, 100% { opacity: 0.15; transform: scale(0.8); }
  50%      { opacity: 1;    transform: scale(1.15); }
}

@media (prefers-reduced-motion: reduce){
  .stars-layer span{ animation: none; opacity: 0.6; }
}

.drift-layer{
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
.drift-layer span{
  position: absolute;
  top: -10px;
  border-radius: 50%;
  opacity: 0;
  animation: sparkleDriftDown linear infinite;
}

@keyframes sparkleDriftDown{
  0%   { opacity: 0; transform: translate(0, 0) scale(0.6); }
  10%  { opacity: 1; }
  80%  { opacity: 0.8; }
  100% { opacity: 0; transform: translate(var(--drift-x, 0px), var(--drift-distance, 320px)) scale(1); }
}

@media (prefers-reduced-motion: reduce){
  .drift-layer span{ animation: none; opacity: 0; }
}
