
@media screen and (max-width: 959.98px) {
  .trains .kv {
    height: 61.48rem;
  }
  .trains .kv picture {
    display: block;
    height: 100%;
  }
  .trains .kv picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.trains .kv .content_ttl {
  line-height: 1.1;
  text-align: center;
  margin-top: 2rem;
}
.trains .content_inner {
  padding-top: 10rem;
}
@media screen and (max-width: 959.98px) {
  .trains .content_inner {
    padding-top: 5rem;
  }
}
.trains .intro > .txt {
  font-size: 2.2rem;
}
@media screen and (max-width: 959.98px) {
  .trains .intro > .txt {
    font-size: 3rem;
  }
}
.trains .intro .img {
  margin: 4rem 0 0;
}
.trains .intro .cards {
  margin: 4rem 0 0;
}
@media screen and (max-width: 959.98px) {
  .trains .intro .cards {
    margin: 0;
  }
}
.trains .intro .cards .img_wrapper {
  aspect-ratio: 380/215;
}
.trains .intro .cards .icn_arrow {
  margin-top: 2rem;
}
.trains .other {
  display: none;
  margin: 4rem 0 0;
}
@media screen and (max-width: 959.98px) {
  .trains .other {
    margin: 0;
  }
}
.trains .block {
  margin: 13rem 0;
}
@media screen and (max-width: 959.98px) {
  .trains .block {
    margin: 10rem 0;
  }
}
.trains .block > .txt {
  font-size: 2.2rem;
  margin: 0 0 4rem;
}
@media screen and (max-width: 959.98px) {
  .trains .block > .txt {
    font-size: 3rem;
  }
}
.trains .block .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16rem;
  cursor: pointer;
  margin: 4rem auto 0;
}
@media screen and (max-width: 959.98px) {
  .trains .block .btn {
    width: 32rem;
    text-align: center;
  }
}

.trains .cards.col--3 .card_item .card_body .ttl.has_blank::before,
.trains .cards.col--3 .card_item .card_body .ttl.has_blank::after {
  display: none;
}

.trains .cards.col--3 .card_item a .card_body .ttl.has_blank::before,
.trains .cards.col--3 .card_item a .card_body .ttl.has_blank::after {
  display: block;
}