/* ============================================================
   Beauty Orbs — Re:Body ぼかしオーブ装飾
   accent: #E8729A / soft: #F5D7D2
   ============================================================ */

.deco-orb {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  animation: orb-float 8s ease-in-out infinite;
}

/* ローズピンクオーブ(大) */
.deco-orb-rose-lg {
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(232,114,154,0.18) 0%, transparent 70%);
  filter: blur(60px);
}

/* ローズピンクオーブ(中) */
.deco-orb-rose-md {
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(232,114,154,0.22) 0%, transparent 70%);
  filter: blur(40px);
}

/* シェルピンクオーブ(大) */
.deco-orb-shell-lg {
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(245,215,210,0.35) 0%, transparent 70%);
  filter: blur(80px);
}

/* シェルピンクオーブ(中) */
.deco-orb-shell-md {
  width: 350px;
  height: 350px;
  background: radial-gradient(circle, rgba(245,215,210,0.4) 0%, transparent 70%);
  filter: blur(50px);
}

/* FV用 — 左上配置 */
.deco-orb-fv-tl {
  top: -120px;
  left: -80px;
  animation-delay: 0s;
}

/* FV用 — 右下配置 */
.deco-orb-fv-br {
  bottom: -80px;
  right: -60px;
  animation-delay: -3s;
}

/* セクション中央 */
.deco-orb-center {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation-delay: -5s;
  opacity: 0.6;
}

/* 右端オーブ */
.deco-orb-right {
  top: 20%;
  right: -100px;
  animation-delay: -2s;
}

/* 左端オーブ */
.deco-orb-left {
  top: 30%;
  left: -100px;
  animation-delay: -4s;
}

@keyframes orb-float {
  0%, 100% { transform: translateY(0px) scale(1); }
  33%       { transform: translateY(-18px) scale(1.03); }
  66%       { transform: translateY(10px) scale(0.97); }
}

/* モバイル: オーブを縮小・透過 */
@media (max-width: 768px) {
  .deco-orb-rose-lg  { width: 250px; height: 250px; opacity: 0.7; }
  .deco-orb-shell-lg { width: 300px; height: 300px; opacity: 0.6; }
}
