.p-map-section {
  max-width: 112.8rem;
  margin: 7.2rem auto 0;
}
@media (max-width: 1024px) {
  .p-map-section {
    max-width: 100%;
    margin: 2rem auto 0;
  }
}
.p-map-section__heading .c-heading01__main {
  font-size: 16rem;
  background: linear-gradient(to right, var(--color-primary), var(--color-secondary));
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 1024px) {
  .p-map-section__heading .c-heading01__main {
    font-size: 6.5rem;
    text-align: center;
  }
}
.p-map-section__inner {
  position: relative;
}

.p-map {
  position: relative;
  z-index: 1;
}
.p-map__iframe {
  margin-top: 8rem;
}
@media (max-width: 1024px) {
  .p-map__iframe {
    margin-top: 3.2rem;
    overflow: hidden;
    border-radius: 0.5rem;
  }
}
.p-map__iframe iframe {
  width: 100%;
  height: 64rem;
}
@media (max-width: 1024px) {
  .p-map__iframe iframe {
    height: 45rem;
  }
}
@media (max-width: 525px) {
  .p-map__iframe iframe {
    height: 31.5rem;
  }
}
.p-map__buttons {
  margin-top: 6rem;
  text-align: center;
}
@media (max-width: 1024px) {
  .p-map__buttons {
    margin-top: 4rem;
  }
}
.p-map__exteriors {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7.2rem;
  margin-top: 10rem;
}
@media (max-width: 1024px) {
  .p-map__exteriors {
    gap: 3.6rem;
    margin-top: 5.7rem;
  }
}
@media (max-width: 525px) {
  .p-map__exteriors {
    display: block;
  }
}
.p-map__deco {
  position: absolute;
  inset-inline: calc(var(--current-container-padding) * -1);
  z-index: 0;
  --c-deco-gradient: var(--deco-gradient-secondary);
  --c-deco-path: var(--deco-path-ltr);
}
@media (min-width: 1025px) {
  .p-map__deco {
    top: 24rem;
    right: -16rem;
    left: -16rem;
    aspect-ratio: 1.7;
  }
}
@media (max-width: 1024px) {
  .p-map__deco {
    top: 17rem;
    right: calc(var(--current-container-padding) * -1);
    left: calc(var(--current-container-padding) * -1);
    aspect-ratio: 1.6;
  }
}
@media (max-width: 525px) {
  .p-map__deco {
    top: 22rem;
    aspect-ratio: 1.2;
  }
}

@media (max-width: 525px) {
  .p-exterior:not(:first-of-type) {
    margin-top: 1.9rem;
  }
}
.p-exterior__image .c-image {
  border-radius: 0.5rem;
}
.p-exterior__content {
  margin-top: 2rem;
}
.p-exterior__content:not(:first-of-type) {
  margin-top: 1.5rem;
}

.p-info-section {
  max-width: 112.8rem;
  margin: 11.6rem auto 0;
}
@media (max-width: 1024px) {
  .p-info-section {
    max-width: 100%;
    margin: 7.7rem auto 0;
  }
}
.p-info-section__heading .c-heading01__main {
  font-size: 16rem;
  background: linear-gradient(to right, var(--color-primary), var(--color-secondary));
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 1024px) {
  .p-info-section__heading .c-heading01__main {
    font-size: 6.5rem;
    letter-spacing: -0.08em;
  }
}
.p-info-section__list {
  display: grid;
  grid-template-columns: 11.6rem max-content minmax(0, 1fr);
  gap: 1.2rem 3rem;
  margin-top: 9rem;
}
@media (max-width: 1024px) {
  .p-info-section__list {
    display: block;
    margin-top: 5.4rem;
  }
}

.p-info {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: 1/-1;
  align-items: center;
  min-height: 14rem;
  padding: 2.6rem;
  color: var(--color-white);
  border-radius: 0.5rem;
}
@media (max-width: 1024px) {
  .p-info:not(:first-of-type) {
    margin-top: 1.2rem;
  }
}
@media (max-width: 1024px) {
  .p-info {
    display: grid;
    grid-template-areas: "lead lead" "icon content";
    grid-template-columns: 7.5rem minmax(0, 1fr);
    gap: 0.4rem 2.8rem;
    min-height: 17rem;
    padding: 1.5rem 2rem 1.8rem 2.5rem;
  }
}
.p-info:nth-of-type(odd) {
  /* background: color-mix(in srgb, var(--color-primary-e) 75%, transparent); */
  background: color-mix(in srgb, var(--color-primary-base) 75%, transparent);
}
.p-info:nth-of-type(even) {
  /* background: color-mix(in srgb, var(--color-secondary-e) 75%, transparent); */
  background: color-mix(in srgb, var(--color-secondary-base) 75%, transparent);
}
.p-info__icon {
  display: block;
  text-align: center;
}
@media (max-width: 1024px) {
  .p-info__icon {
    grid-area: icon;
  }
}
.p-info__icon .icomoon-train {
  font-size: 7.5rem;
}
@media (max-width: 1024px) {
  .p-info__icon .icomoon-train {
    font-size: 6.4rem;
  }
}
.p-info__icon .icomoon-car {
  font-size: 5.2rem;
}
@media (max-width: 1024px) {
  .p-info__icon .icomoon-car {
    font-size: 4.3rem;
  }
}
.p-info__icon .icomoon-bus {
  font-size: 8rem;
}
@media (max-width: 1024px) {
  .p-info__icon .icomoon-bus {
    font-size: 6.5rem;
  }
}
.p-info__icon .icomoon-bicycle {
  font-size: 6.2rem;
}
@media (max-width: 1024px) {
  .p-info__icon .icomoon-bicycle {
    font-size: 4.9rem;
  }
}
.p-info__lead {
  font-size: 3.4rem;
  font-weight: var(--font-weight-normal);
  white-space: nowrap;
}
@media (max-width: 1024px) {
  .p-info__lead {
    grid-area: lead;
    font-size: 2.4rem;
    text-align: center;
  }
}
.p-info__content {
  min-width: 0;
  font-size: 2rem;
  font-weight: var(--font-weight-normal);
}
@media (max-width: 1024px) {
  .p-info__content {
    grid-area: content;
    font-size: 1.6rem;
  }
}
.p-info__content .c-paragraph {
  line-height: 1.7;
}
@media (max-width: 1024px) {
  .p-info__content .c-paragraph {
    line-height: 1.875;
  }
}

.p-route-section {
  max-width: 112.8rem;
  padding-bottom: 8rem;
  margin: 13rem auto 0;
}
@media (max-width: 1024px) {
  .p-route-section {
    max-width: 100%;
    padding-bottom: 7rem;
    margin: 8rem auto 0;
  }
}
.p-route-section__heading .c-heading01__main {
  font-size: 16rem;
  background: linear-gradient(to right, var(--color-primary), var(--color-secondary));
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 1024px) {
  .p-route-section__heading .c-heading01__main {
    font-size: 6.5rem;
    letter-spacing: -0.03em;
  }
}
.p-route-section__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7.8rem 7.2rem;
  margin-top: 8rem;
}
@media (max-width: 1024px) {
  .p-route-section__list {
    display: block;
    margin-top: 6.5rem;
  }
}

.p-route {
  position: relative;
  counter-increment: route;
}
@media (max-width: 1024px) {
  .p-route {
    display: grid;
    grid-template-columns: 18rem auto;
    gap: 1.7rem;
  }
}
@media (max-width: 1024px) {
  .p-route:not(:first-of-type) {
    margin-top: 3.5rem;
  }
}
.p-route:nth-of-type(odd) .p-route__number {
  color: var(--color-secondary);
}
.p-route:nth-of-type(even) .p-route__number {
  color: var(--color-primary);
}
.p-route__number {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 9rem;
  font-weight: var(--font-weight-bold);
  transform: translate(-49%, -56%);
}
@media (max-width: 1024px) {
  .p-route__number {
    font-size: 4rem;
    transform: translate(-30%, -68%);
  }
}
.p-route__number::before {
  content: counter(route, decimal-leading-zero);
}
.p-route__image .c-image {
  border-radius: 0.5rem;
}
.p-route__content {
  margin-top: 1.6rem;
}
@media (max-width: 1024px) {
  .p-route__content {
    margin-top: 0;
    line-height: 1.875;
  }
}