/* ========================================
   Front Page Hero - Enterprise Responsive Edition
   ※ style.cssで定義したCSS変数を利用してマージンを制御
======================================== */
.mdt-hero-slider-section {
  position: relative;
  width: 100%;
  height: 90vh;
  min-height: 500px;
  /* style.css の :root 変数を参照し、常にヘッダーの真下からスタートさせる */
  margin-top: var(--mdt-header-h-pc, 60px); 
  background-color: #000;
  overflow: hidden;
}

.mdt-hero-scroll-container {
  display: flex;
  width: 100%;
  height: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  background-color: #000;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.mdt-hero-scroll-container::-webkit-scrollbar {
  display: none;
}

.mdt-hero-video-item {
  position: relative;
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  background: #000;
}

.mdt-hero-video-item video,
.mdt-hero-video-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.mdt-slide-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.52) 0%,
    rgba(0, 0, 0, 0.14) 42%,
    transparent 72%
  );
  pointer-events: none;
}

.mdt-elementor-content {
  position: relative;
  z-index: 2;
}

/* ========================================
   Tablet / Mobile
   16:9固定 ＆ 変数を利用したヘッダー潜り込み防止
======================================== */
@media (max-width: 1024px) {
  .mdt-hero-slider-section {
    margin-top: var(--mdt-header-h-tab, 58px); /* 変数を参照 */
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 9;
  }
}

@media (max-width: 767px) {
  .mdt-hero-slider-section {
    margin-top: var(--mdt-header-h-mob, 54px); /* 変数を参照 */
  }
}

/* aspect-ratio 非対応環境向けの保険(フォールバック) */
@supports not (aspect-ratio: 16 / 9) {
  @media (max-width: 1024px) {
    .mdt-hero-slider-section {
      height: 56.25vw;
      min-height: 0;
    }
  }
}