@charset "utf-8";

.train {
  padding-top: 100px;
  padding-bottom: 200px;
}
.train__content {
  position: relative;
  z-index: 1;
  grid-template-columns: max(2.5%, calc((100% - 1620px) / 2)) min(calc(690 / 1920 * 100%), 690px) min(calc(120 / 1920 * 100%), 120px) minmax(0, 1fr);
  grid-template-rows: 80px auto;
  align-items: start;
}
.train__content::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -90px;
  left: 0;
  width: calc(1600 / 1920 * 100%);
  height: calc(100% - 80px + 90px);
  background: url(../img/bg_train.jpg) no-repeat center right/cover;
}
.train__content__group1 {
  grid-column: 4 / 5;
  grid-row: 1 / 3;
}
.train__content__group2 {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
  padding-top: 120px;
}
.train__content__group2__enheading {
  color: #DBD3C6;
}
.train__content__group2__heading {
  --margin-top: 50px;
}
.train__content__group2__copy {
  --margin-top: 45px;
}
.train__map {
  margin-top: 190px;
}
/* .train__map__photo {
} */
.train__map__photo__link {
  pointer-events: none;
}
.train__list {
  margin-top: 100px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 40px calc(40 / 1620 * 100%);
}
.train__list__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
  box-sizing: border-box;
  border: 1px solid #ccc;
  padding-bottom: 20px;
  background: #fff;
}
.train__list__item:nth-child(5),
.train__list__item:nth-child(6),
.train__list__item:nth-child(7) {
  position: relative;
  left: calc(50% + 20px);
}
.train__list__item__photo {
  margin-bottom: 20px;
}
.train__list__item__copy {
  align-self: end;
  font-size: clamp(14px, calc(18 / 1400 * 100vw), 18px);
  margin-inline: -.5em;
}
.train__list__item__copy em {
  font-size: 150%;
  display: inline-block;
}
.train__list__item__copy em:nth-of-type(2) {
  padding-inline: .2em;
}
.train__list__item__copy small {
  font-size: 70%;
  display: inline-block;
}
.train__list__item__caution {
  align-self: start;
  font-size: clamp(10px, calc(12 / 1400 * 100vw), 12px);
  line-height: 1.666666667;
  --margin-top: 20px;
  box-sizing: border-box;
  padding-inline: 20px;
}
.train__list__item__caution.grid {
  font-size: 10px;
  line-height: 1.6;
  grid-template-columns: auto minmax(0, 1fr);
}
@media screen and (min-width: 620px) and (max-width: 1200px) {
  .train__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .train__list__item:nth-child(5),
  .train__list__item:nth-child(6),
  .train__list__item:nth-child(7) {
    left: 0;
  }
}
@media screen and (max-width: 619px){
  .train {
    padding-top: 80px;
    padding-bottom: 100px;
  }
  .train__content {
    grid-template-columns: minmax(0, 1fr) calc(45 / 375 * 100%) calc(270 / 375 * 100%) minmax(0, 1fr);
    grid-template-rows: auto 50px auto;
    background: none;
  }
  .train__content::before {
    bottom: 0;
    left: 0;
    width: 100%;
    height: auto;
    background: url(../img/bg_train-sp.jpg) no-repeat center right/cover;
    top: 50px;
  }
  .train__content__group1 {
    grid-column: 3 / 5;
    grid-row: 1 / 2;
  }
  .train__content__group2 {
    grid-column: 2 / 4;
    grid-row: 3 / 4;
    padding-top: 0;
    padding-bottom: 60px;
  }
  .train__content__group2__heading {
    --margin-top: 40px;
  }
  .train__content__group2__copy {
    --margin-top: 35px;
  }
  .train__map {
    margin-top: 40px;
  }
  .train__map__photo__link {
    pointer-events: auto;
  }
  .train__modal .photo {
    width: calc(750 / 375 * 100vw);
    box-sizing: border-box;
    padding: 20px;
  }
  .train__list {
    margin-top: 40px;
    grid-template-columns: 100%;
    gap: 20px 0;
  }
  .train__list__item {
    display: block;
  }
  .train__list__item:nth-child(5),
  .train__list__item:nth-child(6),
  .train__list__item:nth-child(7) {
    left: 0;
  }
  .train__list__item__copy {
    font-size: min(calc(18 / 375 * 100vw), 18px);
    margin-inline: 0;
  }
  .train__list__item__caution {
    font-size: min(calc(12 / 375 * 100vw), 12px);
  }
}



.other {
  padding-bottom: 100px;
}
.other__kv {
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
}
/* .other__kv__item {
} */
.other__airport {
  padding-top: 150px;
  padding-bottom: 120px;
  background: url(../img/bg_airport.jpg) no-repeat top right/cover;
}
.other-content {
  gap: 100px calc(180 / 1620 * 100%);
}
.other-content-desc {
  width: calc(690 / 1620 * 100%);
}
/* .other-content-desc-enheading {
} */
.other-content-desc-heading {
  --margin-top: 60px;
}
.other-content-desc-copy {
  --margin-top: 40px;
}
.other-content-photo {
  flex: 1;
  box-sizing: border-box;
  padding-right: calc(100 / 1620 * 100%);
}
/* .other-content-photo-caution {
} */
/* .other__airport__content {
}
.other__airport__content__desc {
}
.other__airport__content__desc__enheading {
}
.other__airport__content__desc__heading {
}
.other__airport__content__desc__copy {
}
.other__airport__content__photo {
} */
.other__taxi {
  padding-block: 120px;
  background: rgba(var(--color-beige2), .15);
}
/* .other__taxi__content {
}
.other__taxi__content__desc {
}
.other__taxi__content__desc__enheading {
}
.other__taxi__content__desc__heading {
}
.other__taxi__content__desc__copy {
}
.other__taxi__content__photo {
}
.other__taxi__content__photo__caution {
} */
@media screen and (max-width: 619px){
  .other {
    padding-bottom: 50px;
  }
  .other__kv__item img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
  }
  .other__airport {
    padding-top: 80px;
    padding-bottom: 80px;
    background: url(../img/bg_airport-sp.jpg) no-repeat top center/cover;
  }
  .other-content {
    gap: 40px 0;
  }
  .other-content-desc {
    width: 100%;
  }
  .other-content-desc-heading {
    --margin-top: 40px;
  }
  .other-content-desc-copy {
    --margin-top: 35px;
  }
  .other-content-photo {
    flex: 1 0 100%;
    padding-right: 0;
  }
  .other__taxi {
    padding-block: 80px;
  }
}