/*//////////////////////////////////////////////////////////////
	media-queries
//////////////////////////////////////////////////////////////*/

@media (prefers-reduced-motion:reduce){
  .petal{animation:none;opacity:.4}
}

@media (prefers-reduced-motion:reduce){
  .maru-text{animation:none}
}

@media (prefers-reduced-motion:reduce){
  .fade{opacity:1;transform:none;transition:none}
}

@media (max-width:880px){
  .hero{padding-top:48px}
  /* スマホの並び順： ロゴ → MV → リボン → 放送時間 */
  .hero-grid{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }
  /* hero-copy を透過させ、中の要素を hero-grid の直接の flex アイテムにする */
  .hero-copy{display:contents}
  .hero-logo{order:1;width:min(92%,460px);margin:0 auto 20px}
  .hero-photo{order:2;max-width:560px;width:100%;margin:0 auto}
  .hero-photo img{width:100%;max-width:100%;margin:0}
  .hero-ribbons{order:3;margin-top:28px}
  .onair{order:4;margin:28px auto 0;width:min(64vw,280px);font-size:clamp(18px,5vw,22px)}

  /* 円形英字（SP）：円の中心をボックス上辺に。上半分が見える／横は中央 */
  .maru-text{
    position:absolute;
    top:0;
    left:50%;
    right:auto;
    transform:translate(-50%,-50%);
    margin-left:100px;
    width:min(50vw,200px);
    z-index:1;
    animation:spin-sp 60s linear infinite;
  }
  @keyframes spin-sp{to{transform:translate(-50%,-50%) rotate(360deg)}}
  /* 円の上半分がボックス上に出るぶん、上の楕円と重ならないよう余白を確保 */
  .intro{padding-top:100px}
  .br-sp{display:inline}
  /* SP：ズレ枠の飛び出しを控えめに */
  .intro-box::before{top:8px;left:8px;right:-8px;bottom:-8px}
  /* SP：文字を少し小さめ・行間を詰める・横幅をほんの少し狭く */
  .intro-wrap{max-width:340px}
  .intro-box{
    padding:30px 8%;
    font-size:clamp(14px,3.9vw,17px);
    line-height:1.8;
  }

  /* スマホは LAB を縦1列に・横幅を少し広げる */
  .lab-grid{
    grid-template-columns:1fr;
    max-width:400px;
    gap:24px;
    padding:0 4%;
  }

  .cast-grid{grid-template-columns:1fr}
  .cast-photo{max-width:280px;margin:0 auto}
}

@media (max-width:480px){
  .tnc-menu{right:12px;width:60px}
  .check-badge{margin-bottom:52px}
  .intro-box{line-height:1.75;letter-spacing:.03em}
}
