@charset "UTF-8";
/* リキッドな余白 */
/********************************************************/
/* -------------------------------------------
 * 追従サイドメニュー
 * -------------------------------------------*/
/* 追従コンテンツエリア */
.js-location01 {
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  gap: 1rem 18%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width: 1240px) {
  .js-location01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.js-location-contents {
  width: 100%;
}

.js-location-nav {
  position: sticky;
  top: 13rem;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  z-index: 1;
}
@media (max-width: 1240px) {
  .js-location-nav {
    top: 0;
    position: static;
    width: 100%;
    display: none;
  }
}

.js-location-nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5em;
}

.js-location-nav__link {
  position: relative;
  display: inline-block;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: color 0.45s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  transition: color 0.45s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  transition: color 0.45s cubic-bezier(0.22, 1, 0.36, 1), transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  transition: color 0.45s cubic-bezier(0.22, 1, 0.36, 1), transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
.js-location-nav__link::before {
  content: "";
  position: absolute;
  left: -1.6em;
  top: 50%;
  width: 0.9em;
  aspect-ratio: 1;
  -webkit-transform: translateY(-50%) scale(0.8);
          transform: translateY(-50%) scale(0.8);
  -webkit-transform-origin: center;
          transform-origin: center;
  background: center/contain no-repeat url("../img/common/mark-circle.webp");
  opacity: 0;
  -webkit-transition: opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1), transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1), transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
.js-location-nav__link.active {
  color: var(--pink);
}
.js-location-nav__link.active::before {
  opacity: 0.9;
  -webkit-transform: translateY(-50%) scale(1);
          transform: translateY(-50%) scale(1);
}
@media (max-width: 1240px) {
  .js-location-nav__link.active {
    color: inherit;
    -webkit-transform: none;
            transform: none;
  }
}
@media (max-width: 1240px) {
  .js-location-nav__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-left: 0;
    -webkit-transform: none;
            transform: none;
    gap: 0.5em;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.js-location-content + .js-location-content {
  margin-top: clamp(50 * var(--px), 132 / 1680 * 100vw, 132 * var(--px));
}/*# sourceMappingURL=sticky-side.css.map */