@layer page {
  .access-nav {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.625rem;
    margin-bottom: 3.75rem;
  }
  @media screen and (max-width: 767px) {
    .access-nav {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 2.6666666667vw;
      font-size: 3.2vw;
      margin-right: var(--sp-pad-s);
      margin-left: var(--sp-pad-s);
      margin-bottom: 8vw;
    }
  }
  .access-nav__arrow {
    width: 0.625rem;
    height: 0.375rem;
    transition: 0.25s fill;
  }
  .access-nav a {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    border: 1px solid #000;
    padding: 0.25rem 1.25rem;
    border-radius: 6.25rem;
    transition-property: color, background;
    transition-duration: 0.25s;
  }
  @media screen and (max-width: 767px) {
    .access-nav a {
      gap: 1.0666666667vw;
      padding: 1.3333333333vw 2.9333333333vw;
    }
  }
  @media (hover: hover) {
    .access-nav a:hover {
      background: #000;
      color: #fff;
    }
    .access-nav a:hover svg {
      fill: #fff;
    }
  }
  .access-item {
    position: relative;
    z-index: 3;
  }
  .access-item + .access-item {
    margin-top: 7.25rem;
  }
  @media screen and (max-width: 767px) {
    .access-item + .access-item {
      margin-top: 16vw;
    }
  }
  .access-item__hdr, .access-item__hdr-a {
    position: relative;
    z-index: 2;
    display: grid;
    justify-content: center;
  }
  @media screen and (min-width: 768px) {
    .access-item__hdr, .access-item__hdr-a {
      gap: 3.75rem;
      margin-bottom: 2.5rem;
      height: 32vw;
    }
  }
  @media screen and (max-width: 767px) {
    .access-item__hdr, .access-item__hdr-a {
      margin-bottom: 5.3333333333vw;
      justify-content: space-between;
    }
  }
  @media screen and (min-width: 768px) {
    .access-item__hdr {
      grid-template-columns: 1fr 72%;
    }
  }
  @media screen and (max-width: 767px) {
    .access-item__hdr {
      grid-template-columns: 1fr 76%;
      padding-left: 3.2vw;
    }
  }
  @media screen and (min-width: 768px) {
    .access-item__hdr .access-item__img img {
      border-radius: 0.625rem 0 0 0.625rem;
    }
  }
  @media screen and (max-width: 767px) {
    .access-item__hdr .access-item__img img {
      border-radius: 1.3333333333vw 0 0 1.3333333333vw;
    }
  }
  @media screen and (min-width: 768px) {
    .access-item__hdr-a {
      grid-template-columns: 72% 1fr;
    }
  }
  @media screen and (max-width: 767px) {
    .access-item__hdr-a {
      grid-template-columns: 76% 1fr;
      padding-right: 2.6666666667vw;
    }
  }
  @media screen and (min-width: 768px) {
    .access-item__hdr-a .access-item__img img {
      border-radius: 0 0.625rem 0.625rem 0;
    }
  }
  @media screen and (max-width: 767px) {
    .access-item__hdr-a .access-item__img img {
      border-radius: 0 1.3333333333vw 1.3333333333vw 0;
    }
  }
  @media screen and (min-width: 768px) {
    .access-item__wttl {
      display: flex;
      justify-content: flex-end;
    }
  }
  @media screen and (max-width: 767px) {
    .access-item__wttl {
      height: 57.3333333333vw;
    }
  }
  @media screen and (max-width: 767px) {
    .access-item__wttl-a {
      display: flex;
      justify-content: flex-end;
      height: 57.3333333333vw;
    }
  }
  .access-item__ttl {
    padding-top: 1.25rem;
  }
  @media screen and (max-width: 767px) {
    .access-item__ttl {
      padding-top: 2.6666666667vw;
    }
  }
  .access-item__ttl img {
    width: calc(var(--my-width) / 16 * 1rem);
  }
  @media screen and (max-width: 767px) {
    .access-item__ttl img {
      width: calc(var(--my-sp-width) / 750 * 100vw);
    }
  }
  .access-item__wtext {
    position: relative;
    z-index: 2;
  }
  @media screen and (max-width: 767px) {
    .access-item__wtext {
      padding: 0 var(--sp-pad-s);
    }
  }
  @media screen and (min-width: 768px) {
    .access-item__wtext.is-odd {
      padding-left: 9.125rem;
    }
  }
  @media screen and (max-width: 767px) {
    .access-item__wtext.is-odd {
      padding-left: 26.6666666667vw;
    }
  }
  .access-item__lead {
    font-size: 2.75rem;
    font-family: var(--serif);
    font-weight: 600;
    line-height: 1.5909090909;
    margin-bottom: 1.25rem;
  }
  @media screen and (max-width: 767px) {
    .access-item__lead {
      font-size: 5.8666666667vw;
    }
  }
  .access-item__text {
    line-height: 2;
  }
  @media screen and (max-width: 767px) {
    .access-item__text {
      font-size: 3.4666666667vw;
    }
  }
  .access-item__cloud.is-e {
    right: 0;
    top: -5.625rem;
  }
  @media screen and (max-width: 767px) {
    .access-item__cloud.is-e {
      top: -13.3333333333vw;
      width: 41.6vw;
      height: 24vw;
    }
    .access-item__cloud.is-e::before {
      background-size: auto 100%;
    }
  }
  .access-item__cloud.is-c {
    left: 0;
    top: -3.75rem;
  }
  @media screen and (max-width: 767px) {
    .access-item__cloud.is-c {
      top: -10.1333333333vw;
    }
  }
  .access-item__cloud.is-d {
    right: 0;
    top: -3.125rem;
  }
  .access-box {
    background: #fff;
    margin-top: 3.75rem;
    padding: 2.5rem;
    letter-spacing: 0.05em;
  }
  @media screen and (min-width: 768px) {
    .access-box {
      display: grid;
      grid-template-columns: 1fr 11.25rem;
      gap: 2.25rem;
      align-items: center;
    }
  }
  @media screen and (max-width: 767px) {
    .access-box {
      margin: 8vw var(--sp-pad-s) 0 var(--sp-pad-s);
      padding: 4vw;
      font-size: 3.44vw;
    }
  }
  @media screen and (min-width: 768px) {
    .access-box__info {
      border-right: 1px solid #707070;
      padding-right: 1.25rem;
    }
  }
  .access-box__line {
    font-size: 0.875rem;
    text-align: center;
  }
  @media screen and (max-width: 767px) {
    .access-box__line {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 5.3333333333vw;
      font-size: 2.9333333333vw;
      border-top: 1px solid #707070;
      margin-top: 4vw;
      padding-top: 4vw;
    }
  }
  @media screen and (min-width: 768px) {
    .access-box__line-wlink {
      margin-top: 1.25rem;
    }
  }
  .access-box__line-wlink img {
    width: 9.125rem;
  }
  .access-box__tel {
    color: #E60012;
    font-size: 2.375rem;
    font-family: var(--serif);
  }
  @media screen and (max-width: 767px) {
    .access-box__tel {
      font-size: 6.4vw;
    }
  }
  .access-box__tel-note span {
    color: #E60012;
  }
  .access-box__note {
    margin-top: 0.625rem;
    font-size: 0.875rem;
  }
  @media screen and (max-width: 767px) {
    .access-box__note {
      font-size: 2.6666666667vw;
    }
  }
  .access-box__note-a {
    margin-top: 0.375rem;
    color: #E60012;
    font-size: 0.875rem;
  }
  @media screen and (max-width: 767px) {
    .access-box__note-a {
      font-size: 2.6666666667vw;
    }
  }
  .access-map {
    margin-top: 1.25rem;
  }
  @media screen and (max-width: 767px) {
    .access-map {
      margin: 2.6666666667vw var(--sp-pad-s) 0 var(--sp-pad-s);
    }
  }
  @media screen and (min-width: 768px) {
    .access-map__row {
      display: flex;
      height: 18.125rem;
    }
    .access-map__row:has(.access-map__img) {
      height: auto;
    }
    .access-map__row > * {
      flex: 1;
    }
  }
  @media screen and (max-width: 767px) {
    .access-map__row {
      display: flex;
      flex-direction: column-reverse;
    }
  }
  @media screen and (max-width: 767px) {
    .access-map__gmap {
      height: 56vw;
    }
  }
  .access-map__gmap iframe {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
  .access-map__text {
    margin-top: 1.25rem;
    font-size: 0.875rem;
  }
  @media screen and (max-width: 767px) {
    .access-map__text {
      margin-top: 1.8666666667vw;
      font-size: 2.9333333333vw;
    }
  }
}