@charset "UTF-8";
/* --------------------------------------------------
Shuttle Bus
-------------------------------------------------- */
.shuttleBus {
  position: relative;
  padding-block: 20rem 12rem;
  padding-inline: var(--contents-pd);
  font-weight: 300;
  font-size: 2rem;
  line-height: 1.7;
}
.shuttleBus > * {
  position: relative;
  z-index: 2;
}
.shuttleBus::after {
  display: block;
  content: "";
  position: fixed;
  inset: 0;
  background: url(../images/shuttle-bus/bg@sp.webp) center/cover;
}

.pageLogo {
  position: absolute;
  left: var(--contents-pd);
  top: 1.8rem;
  width: 12.5rem;
}

.title {
  margin-block: 0 4rem;
  font-weight: 600;
  font-size: 3.2rem;
  line-height: 1.25;
}

.lead {
  margin-block: 0 6.4rem;
}
.lead__bodyText {
  font-size: 1.6rem;
  line-height: 1.69;
  text-align: justify;
}
.lead__bodyTextHighlight {
  color: #D35061;
}
.lead__bodyText:not(:last-child) {
  margin-block: 0 1.69em;
}

.roundTrip {
  display: grid;
  gap: 6.4rem;
  margin-block: 0 6.4rem;
}
.roundTrip__unitLabel {
  margin-block: 0 calc(2rem - var(--leading-trim) * 2);
}
.roundTrip__unitRoute {
  margin-block: 0 calc(3.2rem - var(--leading-trim) * 2);
}
.roundTrip__unitSchedule {
  margin-block: 0 calc(3.2rem - var(--leading-trim) * 2);
}
.roundTrip__unitScheduleGrid {
  font-size: 1.6rem;
  line-height: 2.5;
  text-align: center;
}
.roundTrip__unitScheduleGrid--value {
  border: 2px solid;
}
.roundTrip__unitScheduleGridItem {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.roundTrip__unitScheduleGrid--value .roundTrip__unitScheduleGridItemDate {
  border-right: 1px solid;
}
.roundTrip__unitScheduleGrid--value .roundTrip__unitScheduleGridItem:not(:last-child) {
  border-bottom: 1px solid;
}
.roundTrip__unitScheduleNote {
  margin-block: 1.2rem 0;
  font-size: 1.4rem;
  line-height: 1.71;
  text-align: right;
}
.roundTrip__unitLocationLabel {
  margin-block: 0 calc(2rem - var(--leading-trim) * 2);
}
.roundTrip__unitLocationValue {
  margin-block: 0 6.4rem;
}

.information {
  display: grid;
  gap: 6.4rem;
  margin-block: 0 6.4rem;
}
.information__unitLabel {
  margin-block: 0 calc(2rem - var(--leading-trim) * 2);
}
.information__unitContentData {
  display: inline-grid;
  grid-template-columns: auto auto;
}
.information__unitContentDataValue {
  text-align: right;
}
.information__unitContentNote {
  margin-block: calc(2.4rem - var(--leading-trim)) 0;
}
.information__unitContentNoteListItem {
  position: relative;
  padding-inline: 1.5em 0;
  font-size: 1.4rem;
  line-height: 1.71;
  text-align: justify;
}
.information__unitContentNoteListItem--highlight {
  color: #D35061;
}
.information__unitContentNoteListItem::before {
  display: block;
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}

.notes {
  display: grid;
  gap: 4.8rem;
  margin-block: 0 6.4rem;
  font-size: 1.4rem;
  line-height: 1.71;
}
.notes__unitBodyListItem {
  position: relative;
  padding-inline: 1.5em 0;
  text-align: justify;
}
.notes__unitBodyListItemLink {
  text-decoration: underline;
}
.notes__unitBodyListItem::before {
  display: block;
  content: "■";
  position: absolute;
  left: 0;
  top: 0;
}

.totop {
  font-size: 1.4rem;
}
.totop__link {
  text-decoration: underline;
}

.footer {
  position: relative;
  padding-top: 4rem;
  z-index: 2;
  background: var(--white-color);
}

@media screen and (min-width: 768px) {
  .shuttleBus {
    padding-block: 18rem 16rem;
  }
  .shuttleBus::after {
    background: url(../images/shuttle-bus/bg.webp) center/cover;
  }
  .pageLogo {
    top: 3.2rem;
    left: 2.92%;
    width: 14rem;
  }
  .constrained {
    width: min(96%, 80rem);
    margin-inline: auto;
  }
  .title {
    margin-block: 0 3.8rem;
    line-height: 1.5;
  }
  .roundTrip__unitScheduleGridItem {
    grid-template-columns: 24rem 1fr;
  }
  .notes__unitBodyListItemLink {
    transition: opacity 0.2s var(--easeout) 0s;
  }
  .notes__unitBodyListItemLink:hover {
    opacity: 0.5;
  }
  .footer {
    padding-top: 8rem;
  }
}
