.p-access-wrapper {
  padding-bottom: 80px;
}

.p-access-mv__title {
  align-items: flex-start;
}
.p-access-mv__ja {
  margin-top: 2.5em;
  font-size: 2.6rem;
}

.p-access-map__header {
  position: relative;
  padding-bottom: 24px;
  background-image: linear-gradient(to bottom, transparent, var(--color-bg-light));
}
.p-access-map__body {
  padding-top: 12px;
  padding-bottom: 60px;
}
.p-access-map__map {
  display: block;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: var(--radius-md);
  box-shadow: var(--box-shadow-out-md);
}
.p-access-map__map > iframe {
  width: 100%;
  height: 100%;
}
.p-access-map__button {
  margin-top: 32px;
}

.p-access-gallery {
  display: grid;
  gap: 26px;
  margin-top: 50px;
}
.p-access-gallery__image {
  display: block;
  width: 400px;
  margin-right: auto;
  margin-left: auto;
}
.p-access-gallery__text {
  margin-top: 20px;
  text-align: center;
}

.p-access-transport {
  --invisible-width: 30px;
  margin-top: 80px;
  container-type: inline-size;
}
.p-access-transport__heading > span:first-child {
  font-size: min(11.2cqw, 5.5rem);
  letter-spacing: -0.025em;
}
.p-access-transport__list {
  display: grid;
  gap: 20px;
  padding-right: 0;
  margin-top: 32px;
  margin-right: calc(var(--invisible-width) * -1);
}
.p-access-transport__item {
  padding-right: calc(var(--invisible-width) + var(--container-padding));
}
.p-access-transport__sub-heading {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  margin-top: 6px;
  font-size: var(--font-size-lg);
}
.p-access-transport__icon {
  flex-grow: 0;
  flex-shrink: 0;
  margin-right: 12px;
  font-size: 1.85em;
  color: var(--color-gradation-secondary-start);
}
.p-access-transport__content {
  margin-top: 20px;
}

.p-access-route {
  --invisible-width: 30px;
  --dot-size: 15px;
  --dot-y-gap: 10px;
  --list-y-gap: 24px;
  margin-top: 60px;
}
.p-access-route__heading > span:first-child {
  font-size: 5.7rem;
  letter-spacing: 0.01em;
}
.p-access-route__list {
  padding-right: 0;
  margin-top: 26px;
  margin-right: calc((var(--container-padding) + var(--invisible-width)) * -1);
}
.p-access-route__item {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  gap: 1em;
  align-items: center;
  padding: calc(var(--list-y-gap) / 2) 0;
  padding-left: calc(var(--dot-size) + 12px);
}
.p-access-route__item::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: var(--dot-size);
  height: var(--dot-size);
  content: "";
  background-image: linear-gradient(to right, var(--color-gradation-secondary-start), var(--color-gradation-secondary-end));
  border-radius: 50%;
  transform: translateY(-50%);
}
.p-access-route__item::after {
  --border: linear-gradient(
    to bottom,
    var(--color-gradation-secondary-start),
    var(--color-gradation-secondary-start)
  );
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: var(--dot-size);
  content: "";
  background-repeat: no-repeat;
  background-size: 1px calc(50% - (var(--dot-size) / 2 + var(--dot-y-gap)));
}
.p-access-route__item:first-of-type::after {
  background-image: var(--border);
  background-position: center bottom;
}
.p-access-route__item:last-of-type::after {
  background-image: var(--border);
  background-position: center top;
}
.p-access-route__item:not(:first-of-type, :last-of-type)::after {
  background-image: var(--border), var(--border);
  background-position: center top, center bottom;
}
.p-access-route__image {
  width: 62%;
  border-right: var(--invisible-width) solid transparent;
}

.p-access-outline {
  container-type: inline-size;
  margin-top: 60px;
}
.p-access-outline__heading > span:first-child {
  font-size: min(12cqw, 5.7rem);
  letter-spacing: -0.01em;
}
.p-access-outline__body {
  padding: 30px 14px;
  margin-top: 32px;
  box-shadow: var(--box-shadow-out-md);
}