.p-map {
  margin-top: var(--section-gap);
}
.p-map__inner {
  container: inner/inline-size;
}
@container inner (width > 850px) {
  .p-map__grid {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    column-gap: 5cqw;
  }
}
@container inner (width > 850px) {
  .p-map__heading {
    margin-left: auto;
    letter-spacing: 0.2em;
    writing-mode: vertical-rl;
    text-orientation: upright;
  }
}
@container inner (width <= 850px) {
  .p-map__heading {
    margin-bottom: var(--section-gap-xs);
  }
}
.p-map__map {
  position: relative;
  max-width: 100%;
  min-height: 320px;
  aspect-ratio: 1/0.66;
  margin-inline: auto;
  overflow: hidden;
  border-radius: var(--radius-md);
}
@container inner (width > 850px) {
  .p-map__map {
    width: min(800px, 75cqw);
  }
}
.p-map__map > iframe {
  position: absolute;
  width: 100%;
  height: 100%;
}
.p-map__link {
  margin-inline: auto;
  margin-top: 2.5em;
}
.p-map__exterior {
  margin-top: 80px;
}
.p-map__exterior__list {
  --column-count: 3;
  --column-gap: min(50px, 5cqw);
  --row-gap: 3em;
}
@container inner (width <= 800px) {
  .p-map__exterior__list {
    --column-count: 2;
  }
}
@container inner (width <= 500px) {
  .p-map__exterior__list {
    --column-count: 1;
  }
}
.p-map__exterior__image {
  max-width: 380px;
  margin-inline: auto;
}

.p-trans-section {
  margin-top: var(--section-gap);
}
.p-trans-section__inner {
  container: inner/inline-size;
}
.p-trans-section__grid {
  display: flex;
  column-gap: 5cqw;
  margin-top: var(--section-gap-sm);
}
@container inner (width <= 900px) {
  .p-trans-section__grid {
    flex-direction: column;
    row-gap: var(--section-gap-xs);
    margin-top: var(--section-gap-xs);
  }
}
@container inner (width > 900px) {
  .p-trans-section__header {
    display: flex;
    justify-content: center;
    min-width: 3em;
  }
}
@container inner (width > 900px) {
  .p-trans-section__heading {
    letter-spacing: 0.2em;
    writing-mode: vertical-rl;
    text-orientation: upright;
  }
}
.p-trans-section__list {
  container: list/inline-size;
  flex: 1;
}

.p-trans {
  --padding-y: max(2em, 4cqw);
  display: flex;
  padding-block: var(--padding-y);
}
@container list (width > 700px) {
  .p-trans {
    column-gap: 5cqw;
    align-items: center;
  }
}
@container list (width <= 700px) {
  .p-trans {
    flex-direction: column;
    row-gap: 1em;
  }
}
.p-trans:nth-child(n+2) {
  border-top: 1px solid rgba(var(--color-text-rgb), 30%);
}
.p-trans:first-child {
  padding-top: calc(var(--padding-y) / 2);
}
.p-trans:last-child {
  padding-bottom: calc(var(--padding-y) / 2);
}
.p-trans__heading {
  --max-size: 2.2rem;
  width: 11em;
  padding: 0.2em 1em;
  line-height: 1.7;
  background-color: rgba(var(--color-primary-rgb), 18%);
}
.p-trans__body {
  flex: 1;
}

.p-route-section {
  --arrow-size: 15px;
  margin-top: var(--section-gap);
}
.p-route-section__inner {
  container: inner/inline-size;
}
.p-route-section__grid {
  display: flex;
  column-gap: 5cqw;
  margin-top: var(--section-gap-sm);
}
@container inner (width <= 900px) {
  .p-route-section__grid {
    flex-direction: column;
    row-gap: 4em;
    margin-top: var(--section-gap-xs);
  }
}
@container inner (width > 900px) {
  .p-route-section__header {
    display: flex;
    justify-content: center;
    min-width: 3em;
  }
}
@container inner (width > 900px) {
  .p-route-section__heading {
    letter-spacing: 0.2em;
    writing-mode: vertical-rl;
    text-orientation: upright;
  }
}
.p-route-section__list {
  --column-count: 2;
  --column-gap: calc(var(--arrow-size) * 3.5);
  counter-reset: route-list;
}
@container inner (width > 700px) {
  .p-route-section__list {
    --row-gap: 4em;
    padding-right: calc(var(--arrow-size) * 2);
  }
}
@container inner (width <= 700px) {
  .p-route-section__list {
    --row-gap: calc(var(--arrow-size) * 4.5);
    --column-count: 1;
  }
}

.p-route {
  --arrow-border-width: 2px;
  display: flex;
  counter-increment: route-list;
}
@container inner (width <= 700px) {
  .p-route {
    max-width: 500px;
    margin-inline: auto;
  }
}
.p-route::before {
  display: block;
  margin-right: 0.25em;
  font-size: clamp(5rem, 5 * var(--vw), 6rem);
  font-weight: bold;
  line-height: 1;
  color: var(--color-primary);
  letter-spacing: 0.1em;
  content: counter(route-list, decimal-leading-zero);
}
.p-route__inner {
  position: relative;
  flex: 1;
}
@container inner (width <= 700px) {
  .p-route__inner:is(.p-route:not(:last-child) *)::after {
    position: absolute;
    top: calc(100% + var(--arrow-size) * 1.5);
    left: 50%;
    display: inline-block;
    padding: calc(var(--arrow-size) / 2);
    content: "";
    border: solid var(--color-primary);
    border-width: 0 var(--arrow-border-width) var(--arrow-border-width) 0;
    transform: rotate(45deg) translateX(-50%);
  }
}
.p-route__header {
  position: relative;
}
@container inner (width > 700px) {
  .p-route__header:is(.p-route:not(:last-child) *)::after {
    position: absolute;
    top: 50%;
    left: calc(100% + var(--arrow-size) * 1.5);
    display: inline-block;
    padding: calc(var(--arrow-size) / 2);
    content: "";
    border: solid var(--color-primary);
    border-width: 0 var(--arrow-border-width) var(--arrow-border-width) 0;
    transform: rotate(-45deg) translateY(-50%);
  }
}
.p-route__image {
  aspect-ratio: var(--image-aspect-ratio, 1/0.73);
  object-fit: cover;
}
.p-route__content {
  margin-top: 1em;
}

.p-nap-section {
  margin-top: var(--section-gap);
}
.p-nap-section__inner {
  container: inner/inline-size;
}
.p-nap-section__grid {
  display: flex;
  column-gap: 5cqw;
  margin-top: var(--section-gap-sm);
}
@container inner (width <= 900px) {
  .p-nap-section__grid {
    flex-direction: column;
    row-gap: 2.5em;
    margin-top: var(--section-gap-xs);
  }
}
@container inner (width > 900px) {
  .p-nap-section__header {
    display: flex;
    justify-content: center;
    min-width: 3em;
  }
}
@container inner (width > 900px) {
  .p-nap-section__heading {
    letter-spacing: 0.2em;
    writing-mode: vertical-rl;
    text-orientation: upright;
  }
}
.p-nap-section__body {
  flex: 1;
  padding: clamp(1em, 5 * var(--vw), 3em);
  background-color: var(--color-secondary);
  border-radius: var(--radius-md);
}
.p-nap-section__sns {
  margin-top: var(--section-gap-sm);
}
.p-nap-section__sns .l-sns {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  justify-content: center;
  font-size: 30px;
}
.p-nap-section__sns .l-sns__link {
  --size: 2em;
  box-sizing: content-box;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  padding: 5px;
  text-align: center;
  transition: color 0.2s;
}
.p-nap-section__sns .l-sns__link:hover {
  color: var(--color-primary);
}
.p-nap-section__sns .l-sns__text {
  display: none;
}
.p-nap-section__box {
  container: inline-size;
  margin-top: var(--section-gap-sm);
}
.p-nap-section__box .l-outline-box {
  --column-count: 3;
  --column-gap: 3cqw;
  --row-gap: max(3cqw, 16px);
  display: flex;
  flex-wrap: wrap;
  gap: var(--row-gap) var(--column-gap);
  justify-content: center;
}
@container (width < 900px) {
  .p-nap-section__box .l-outline-box {
    --column-count: 2;
  }
}
@container (width < 750px) {
  .p-nap-section__box .l-outline-box {
    --column-count: 1;
  }
}
.p-nap-section__box .l-outline-box__item {
  width: calc((100% - var(--column-gap) * (var(--column-count) - 1)) / var(--column-count));
  max-width: 500px;
  padding: 1.5em 2em;
  font-size: var(--font-size-sm);
  background-color: rgba(var(--color-primary-rgb), 15%);
  border-radius: var(--radius-md);
}
.p-nap-section__box .l-outline-box__heading {
  margin-bottom: 0.75em;
  font-size: var(--font-size-xl);
  font-weight: bold;
  color: var(--color-heading);
  text-align: center;
  letter-spacing: 0.15em;
}


/*  追記   */
.c-tile {
  justify-content: center;
}