.map-link:hover span,
.map-link:hover p {
  color: #1a5fa8; 
  transition: color 0.15s;
}
.hover-card:hover .external-icon {
    display: none;
}
body {
  font-family: "Yu Gothic", "游ゴシック", YuGothic, sans-serif;
}

/* ============================================
   MVヒーローセクション
   ============================================ */
.hero,
.hero-video-wrap {
  min-height: 100vh;
  min-height: 100svh; /* PCは画面いっぱい */
}

/* PC/SP 動画の出し分け */
.hero-video {
  width: 100%;
  height: 100%;
  display: block;
}

/* デフォルト（PC・768px以上）：PC動画だけ表示 */
.hero-video-sp {
  display: none;
}
.hero-video-pc {
  display: block;
  object-fit: cover;
  object-position: center;
}

/* 画面幅が 767px 以下（SP）：SP動画を自然な高さで表示 */
@media screen and (max-width: 767px) {
  /* セクション高さの強制を解除して、動画の高さに追従させる */
  .hero,
  .hero-video-wrap {
    min-height: 0;
    padding-top: 70px;
  }
  /* 動画コンテナ（absolute）を解除して、通常フローに戻す */
  .hero .absolute.inset-0 {
    position: relative;
    inset: auto;
  }

  .hero-video-pc {
    display: none;
  }
  .hero-video-sp {
    display: block;
    width: 100%;
    height: auto;        /* 動画の自然な高さ */
    object-fit: contain; /* 切れずに全体表示 */
  }
}