@layer page {
  body {
    background: #000;
  }
  .l-page {
    --body-color: #000;
    --text-color: #fff;
  }
  @media screen and (min-width: 768px) {
    .l-page {
      --footer-fill: #fff;
      --footer-color: var(--main);
    }
  }
  .access {
    font-family: var(--serif);
  }
  .access-body {
    margin-top: 6.875rem;
  }
  @media screen and (max-width: 767px) {
    .access-body {
      margin-top: 46.1538461538vw;
    }
  }
  @media screen and (max-width: 767px) {
    .access-transport {
      width: 65.811965812vw;
      margin: 0 auto;
    }
  }
  @media screen and (min-width: 768px) {
    .access-transport__row {
      display: grid;
      align-items: flex-end;
      grid-template-columns: 57.5rem 1fr;
      gap: 3.125rem;
    }
  }
  .access-transport__info {
    line-height: 1.4;
  }
  @media screen and (max-width: 767px) {
    .access-transport__info {
      text-align: right;
      font-size: 2.735042735vw;
    }
  }
  @media screen and (min-width: 768px) {
    .access-transport__info p + p {
      margin-top: 0.625rem;
    }
  }
  .access-embed-map {
    aspect-ratio: 958/511;
  }
  @media screen and (max-width: 767px) {
    .access-embed-map {
      aspect-ratio: 1/1;
      margin-top: 0.8547008547vw;
    }
  }
  .access-embed-map {
    filter: grayscale(0.4) brightness(1.05) contrast(0.9) sepia(0.15) hue-rotate(20deg);
  }
  .access-embed-map iframe {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .access-visit {
    margin-top: 4.375rem;
  }
  @media screen and (max-width: 767px) {
    .access-visit {
      margin-top: 25.641025641vw;
    }
  }
  .access-visit__hdr {
    display: grid;
  }
  @media screen and (min-width: 768px) {
    .access-visit__hdr {
      grid-template-columns: 16.25rem 1fr;
      gap: 6.25rem;
    }
  }
  @media screen and (max-width: 767px) {
    .access-visit__hdr {
      grid-template-columns: 19.6581196581vw 1fr;
      gap: 9.4017094017vw;
    }
  }
  .access-visit__ttl {
    writing-mode: vertical-lr;
    font-size: var(--base-ttl-font-size);
    letter-spacing: 0.2em;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: center;
    border-right: 2px solid #fff;
  }
  @media screen and (min-width: 768px) {
    .access-visit__ttl {
      padding-right: 1.25rem;
      min-height: 29.375rem;
    }
  }
  @media screen and (max-width: 767px) {
    .access-visit__ttl {
      border-right-width: 1px;
      font-size: 3.2478632479vw;
      padding-right: 1.5384615385vw;
      height: 40.1709401709vw;
    }
  }
  .access-visit__body {
    margin-left: 16.25rem;
    margin-top: 3rem;
  }
  @media screen and (max-width: 767px) {
    .access-visit__body {
      margin-top: 5.1282051282vw;
      margin-left: 19.6581196581vw;
      font-size: var(--sp-text-size-a);
      padding-right: 7.6923076923vw;
    }
  }
  .access-visit__note {
    margin-top: 2.5rem;
  }
  @media screen and (max-width: 767px) {
    .access-visit__note {
      margin-top: 1.7094017094vw;
    }
  }
  .access-visit__note p + p {
    margin-top: 3rem;
  }
  @media screen and (max-width: 767px) {
    .access-visit__note p + p {
      margin-top: 5.1282051282vw;
    }
  }
  .access-visit__note p {
    text-indent: -1.26em;
    margin-left: 1.26em;
  }
}