/* === トップページ専用スタイル === */


/* ヒーロースライダー全画面 */
.hero-swiper-area {
  width: 100vw;
  height: 100dvh;
  min-height: 450px;
  position: relative;
  margin: 0;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 0;
  box-shadow: none;
  background: linear-gradient(115deg, #23293c 60%, #151921 100%);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.hero-swiper { width: 100vw; height: 100dvh; min-height: 450px; }
.swiper-slide img, .swiper-slide video, .swiper-slide .video-embed { width: 100vw; height: 100dvh; min-height: 450px; object-fit: cover; border-radius: 0; box-shadow: none; }
.video-embed, .video-embed iframe { width: 100vw; height: 100dvh; min-height: 450px; aspect-ratio: unset; border-radius: 0; }

/* Swiperカスタム */
.swiper-button-next, .swiper-button-prev { color: #b6f0ff; width: 46px; height: 46px; top: 50%; background: rgba(30, 38, 60, 0.52); border-radius: 50%; box-shadow: 0 2px 14px #1ae5ec28; }
.swiper-pagination-bullets { bottom: 36px !important; }
.swiper-pagination-bullet { width: 18px; height: 18px; }
.swiper-pagination-bullet-active { border-width: 3px; }

@media (max-width:700px) {
  .info-list { max-width: 97vw; }
  .info-list li { padding: 1.05em 0 0.65em 0; gap: 0.55em; }
  .date-day { font-size: 1.12em; }
  .info-date-block { min-width: 47px; }
  section h2 { font-size: 1.01rem; }
  main { margin-top: 1.2rem; }
  .hero-swiper-area, .hero-swiper, .swiper-slide img, .swiper-slide video, .swiper-slide .video-embed, .video-embed iframe { min-height: 220px; height: 100dvh; width: 100vw; }
  .swiper-pagination-bullets { bottom: 18px !important; }
  .swiper-button-next, .swiper-button-prev { width: 38px; height: 38px; }
  .swiper-pagination-bullet { width: 12px; height: 12px; }
}