/* ========== PAGE HERO ========== */
.hero {
  position: relative;
  margin-top: 75px;
  height: 335px;
  overflow: hidden;
}

.hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-title {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) !important;
  text-align: center;
  color: #fff;
  z-index: 2;
}

.hero-title .section-title-en {
  color: #fff;
}

.hero-title .section-title-ja {
  color: #fff;
  margin-bottom: 0;
}

/*-----------------------------------
    レスポンシブ: PC (max-width: 1500px)
-----------------------------------*/
@media screen and (max-width: 1500px) {
  /* PAGE HERO: 変更なし */
}

/*-----------------------------------
    レスポンシブ: PC小 (max-width: 1280px)
-----------------------------------*/
@media screen and (max-width: 1280px) {
  /* PAGE HERO: 変更なし */
}

/*-----------------------------------
    レスポンシブ: タブレット (max-width: 840px)
-----------------------------------*/
@media screen and (max-width: 840px) {
  /* PAGE HERO: 変更なし */
}

/*-----------------------------------
    レスポンシブ: スマートフォン (max-width: 640px)
-----------------------------------*/
@media screen and (max-width: 640px) {
  .hero {
    margin-top: 60px;
    height: 220px;
  }

  .hero-title .section-title-en {
    font-size: 28px;
  }
}

/* ========== BREADCRUMB ========== */
.breadcrumb {
  display: flex;
  align-items: center;
  gap: 7px;
  justify-content: flex-end;
  padding: 26px 150px 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 12px;
  color: #1d1d1d;
}

.breadcrumb a {
  color: #1d1d1d;
  text-decoration: underline;
  transition: opacity 0.3s;
}

.breadcrumb a:hover {
  opacity: 0.7;
}

.breadcrumb-sep {
  font-size: 11px;
}

/*-----------------------------------
    レスポンシブ: PC (max-width: 1500px)
-----------------------------------*/
@media screen and (max-width: 1500px) {
  /* BREADCRUMB: 変更なし */
}

/*-----------------------------------
    レスポンシブ: PC小 (max-width: 1280px)
-----------------------------------*/
@media screen and (max-width: 1280px) {
  .breadcrumb {
    padding: 20px 32px 0;
  }
}

/*-----------------------------------
    レスポンシブ: タブレット (max-width: 840px)
-----------------------------------*/
@media screen and (max-width: 840px) {
  /* BREADCRUMB: 変更なし */
}

/*-----------------------------------
    レスポンシブ: スマートフォン (max-width: 640px)
-----------------------------------*/
@media screen and (max-width: 640px) {
  .breadcrumb {
    padding: 16px 20px 0;
    justify-content: flex-end;
  }

  .hero-title .section-title-en {
    white-space: nowrap;
  }
}
