#wrapper {
  overflow: clip;
}

.main {
  padding: 82px 0 0;
  background: #fff;
}
@media (max-width: 1024px) {
  .main {
    padding: 100px 0 0;
  }
}

.page-container {
  width: 90%;
  max-width: 930px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .page-container {
    width: 85.7142857143%;
    max-width: 600px;
  }
}

.page-header {
  position: relative;
  z-index: 0;
  height: min(49.3707647628vw, 510px);
  display: grid;
  place-content: center;
  color: #fff;
}
@media (max-width: 767px) {
  .page-header {
    height: 106.1428571429vw;
  }
}
.page-header__title {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.page-header__title img {
  width: auto;
  height: min(5.0338818974vw, 52px);
}
@media (max-width: 767px) {
  .page-header__title img {
    height: 9.7142857143vw;
  }
}
.page-header__title span {
  margin-top: 1.5em;
  font-size: min(1.9361084221vw, 20px);
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media (max-width: 767px) {
  .page-header__title span {
    font-size: 3.7142857143vw;
  }
}
.page-header__bg {
  position: absolute;
  z-index: -1;
  inset: 0;
}
.page-header__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-caption {
  margin-top: 1em;
  font-size: 10px;
  letter-spacing: 0.05em;
  line-height: 1;
  text-align: right;
}
.page-caption.--br {
  position: absolute;
  z-index: 1;
  bottom: 1em;
  right: 2em;
}

.page-note {
  margin: 72px 0;
  font-size: 11px;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
@media (max-width: 767px) {
  .page-note {
    margin: 11.4285714286vw 0 7.1428571429vw;
  }
}
.page-note p {
  padding-left: 1em;
  text-indent: -1em;
}

.dummy-text {
  color: magenta;
}

.pc-none {
  display: none;
}
@media (max-width: 767px) {
  .pc-none {
    display: block;
  }
}

.sp-none {
  display: block;
}
@media (max-width: 767px) {
  .sp-none {
    display: none;
  }
}

.location * {
  font-family: "Noto Serif JP", serif;
}

.location-intro {
  padding: min(8.7124878993vw, 90px) 0;
}
@media (max-width: 767px) {
  .location-intro {
    padding: 11.4285714286vw 0;
  }
}
.location-intro__heading, .location-season__heading {
  font-family: "Shippori Mincho", serif;
  font-size: min(3.4849951597vw, 36px);
  font-weight: 600;
  letter-spacing: 0.125em;
  text-align: center;
  color: #1a517b;
}
@media (max-width: 767px) {
  .location-intro__heading, .location-season__heading {
    font-size: 6.7142857143vw;
  }
}
.location-intro__text, .location-season__text {
  margin-top: 3em;
  font-size: min(1.5488867377vw, 16px);
  text-align: center;
  letter-spacing: 0.185em;
}
@media (max-width: 767px) {
  .location-intro__text, .location-season__text {
    margin-top: 2em;
    font-size: 3.7142857143vw;
    letter-spacing: 0;
  }
}

.location-area {
  overflow: hidden;
  z-index: 0;
  position: relative;
  height: 83.7366892546vw;
}
@media (max-width: 767px) {
  .location-area {
    height: 111.4285714286vw;
  }
}
.location-area .location-container {
  position: relative;
  max-width: min(85.1887705712vw, 880px);
  margin-inline: auto;
}
.location-area_copy {
  position: absolute;
  top: 13.2623426912vw;
  left: 50%;
  translate: -50% 0;
  width: min(89.0609874153vw, 920px);
}
@media (max-width: 767px) {
  .location-area_copy {
    top: 22.8571428571vw;
    width: 85.7142857143vw;
  }
}
.location-area_bg {
  position: absolute;
  z-index: -1;
  inset: 0;
}
.location-area_bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
}
.location-area .cap {
  position: absolute;
  right: 15px;
  bottom: 10px;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
}

.location-bgArea {
  overflow: hidden;
  margin-inline: calc(50% - 50vw);
  height: min(73.7657308809vw, 762px);
  max-height: 100vh;
}
@media (max-width: 767px) {
  .location-bgArea {
    height: 142.8571428571vw;
  }
}
.location-bgArea .simpleParallax {
  height: 100%;
}
.location-bgArea img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.location-season {
  padding: min(9.6805421104vw, 100px) 0 min(19.3610842207vw, 200px);
}
@media (max-width: 767px) {
  .location-season {
    padding: 11.4285714286vw 0 35.7142857143vw;
  }
}
.location-season__heading {
  position: relative;
  z-index: 1;
}
.location-season__text {
  position: relative;
  z-index: 1;
}

.location-season-block {
  position: relative;
  z-index: 0;
  display: flex;
  align-items: center;
  gap: min(4.8402710552vw, 50px);
  margin-top: min(11.6166505324vw, 120px);
}
@media (max-width: 767px) {
  .location-season-block {
    flex-direction: column !important;
    align-items: normal;
    gap: 10vw;
    margin-top: 14.2857142857vw;
  }
  .location-season-block + .location-season-block {
    margin-top: 28.5714285714vw;
  }
}
.location-season-block__body {
  position: relative;
  padding-left: min(6.7763794773vw, 70px);
  width: min(40.174249758vw, 415px);
}
@media (max-width: 767px) {
  .location-season-block__body {
    padding-left: 14.2857142857vw;
    width: auto;
  }
}
.location-season-block__body::before {
  position: absolute;
  top: 0;
  left: 0;
  content: attr(data-season);
  font-family: "Times New Roman", Times, "serif";
  font-size: min(4.2594385286vw, 44px);
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.02em;
  transform-origin: left top;
  translate: 1em 0;
  rotate: 90deg;
  color: rgba(26, 81, 123, 0.4);
}
@media (max-width: 767px) {
  .location-season-block__body::before {
    font-size: 8.1428571429vw;
  }
}
.location-season-block__body::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: min(4.8402710552vw, 50px);
  content: "";
  width: 1px;
  background: rgba(26, 81, 123, 0.5);
}
@media (max-width: 767px) {
  .location-season-block__body::after {
    left: 11.4285714286vw;
  }
}
.location-season-block__title {
  font-family: "Shippori Mincho", serif;
  font-size: min(3.3881897386vw, 35px);
  font-weight: 600;
  line-height: 1;
  color: #1a517b;
}
@media (max-width: 767px) {
  .location-season-block__title {
    font-size: 6.5714285714vw;
  }
}
.location-season-block__text {
  margin-top: 1em;
  font-size: min(1.2584704743vw, 13px);
  line-height: 2;
  letter-spacing: 0.18em;
  text-align: justify;
}
@media (max-width: 767px) {
  .location-season-block__text {
    font-size: 3.4285714286vw;
    letter-spacing: 0;
  }
}
.location-season-block__imgWrap {
  position: relative;
  flex-grow: 1;
}
.location-season-block__mainImg {
  width: min(35.0435624395vw, 362px);
}
@media (max-width: 767px) {
  .location-season-block__mainImg {
    width: 67.1428571429vw;
  }
}
.location-season-block__subImg {
  position: absolute;
  bottom: max(-7.7444336883vw, -80px);
  right: 0;
  width: min(22.5556631171vw, 233px);
}
@media (max-width: 767px) {
  .location-season-block__subImg {
    bottom: -20vw;
    width: 42.8571428571vw;
  }
}
.location-season-block__subImg span {
  text-align: right;
}
.location-season-block__mainImg span, .location-season-block__subImg span {
  display: block;
  margin-top: 0.5em;
  font-size: 10px;
  line-height: 1.3;
  letter-spacing: 0.05em;
}
.location-season-block__bg {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  translate: 0 -50%;
  width: 50vw;
}
@media (max-width: 767px) {
  .location-season-block__bg {
    top: 80%;
    left: 50% !important;
    right: initial;
    width: 100vw;
    translate: -50% -50%;
    aspect-ratio: 700/554;
  }
}
.location-season-block__bg img {
  display: block;
  width: min(61.9554695063vw, 640px);
  margin-left: auto;
}
@media (max-width: 767px) {
  .location-season-block__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.location-season-block.--reverse {
  flex-direction: row-reverse;
}
.location-season-block.--reverse .location-season-block__mainImg {
  margin-left: auto;
}
.location-season-block.--reverse .location-season-block__mainImg span {
  text-align: right;
}
.location-season-block.--reverse .location-season-block__subImg {
  right: initial;
  left: 0;
}
.location-season-block.--reverse .location-season-block__subImg span {
  text-align: left;
}
.location-season-block.--reverse .location-season-block__bg {
  left: initial;
  right: 50%;
}
.location-season-block.--reverse .location-season-block__bg img {
  margin-left: 0;
  margin-right: auto;
}

.location-spot {
  padding-bottom: min(7.7444336883vw, 80px);
}
@media (max-width: 767px) {
  .location-spot {
    padding-bottom: 14.2857142857vw;
  }
}

.location-spot-header {
  position: relative;
  z-index: 0;
  height: min(43.6592449177vw, 451px);
  margin-inline: calc(50% - 50vw);
  padding: min(4.8402710552vw, 50px) calc(50vw - 50%);
  color: #fff;
}
@media (max-width: 767px) {
  .location-spot-header {
    height: 114.2857142857vw;
    padding: 11.4285714286vw calc(50vw - 50%);
  }
}
.location-spot-header__inner {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
}
@media (max-width: 767px) {
  .location-spot-header__inner {
    justify-content: flex-start;
  }
}
.location-spot-header__title {
  font-family: "Times New Roman", Times, "serif";
  font-size: min(9.6805421104vw, 100px);
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.4);
}
@media (max-width: 767px) {
  .location-spot-header__title {
    font-size: 17.1428571429vw;
  }
}
.location-spot-header__text {
  margin-top: 2em;
  font-size: min(1.5488867377vw, 16px);
  line-height: 2;
  letter-spacing: 0.185em;
}
@media (max-width: 767px) {
  .location-spot-header__text {
    font-size: 3.7142857143vw;
    letter-spacing: 0;
  }
}
.location-spot-header__button {
  position: absolute;
  bottom: 0;
  right: 0;
  width: min(14.5208131655vw, 150px);
  background: none;
  border-radius: 50%;
}
@media (max-width: 767px) {
  .location-spot-header__button {
    width: 27.8571428571vw;
  }
}
.location-spot-header__button img {
  transition: scale 0.25s ease-out;
}
.location-spot-header__button:hover img {
  scale: 0.95;
}
.location-spot-header__bg {
  overflow: hidden;
  position: absolute;
  z-index: -1;
  inset: 0;
}
.location-spot-header__bg .simpleParallax {
  height: 100%;
}
.location-spot-header__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.location-spot-slider {
  margin-top: min(5.3242981607vw, 55px);
}
@media (max-width: 767px) {
  .location-spot-slider {
    margin-top: 8.5714285714vw;
  }
}
.location-spot-slider__wrapper {
  margin-right: calc(50% - 50vw);
}
@media (max-width: 767px) {
  .location-spot-slider__wrapper {
    margin-right: 0;
  }
}
.location-spot-slider .swiper-slide {
  width: min(30.9777347531vw, 320px);
}
@media (max-width: 767px) {
  .location-spot-slider .swiper-slide {
    width: auto;
  }
}
.location-spot-slider__controls {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: min(2.4201355276vw, 25px);
  margin-top: min(3.8722168441vw, 40px);
}
@media (max-width: 767px) {
  .location-spot-slider__controls {
    gap: 2vw;
    margin-top: 2.8571428571vw;
  }
}
.location-spot-slider .swiper-button-prev,
.location-spot-slider .swiper-button-next {
  position: relative;
  inset: 0;
  margin-top: 0;
  width: min(4.8402710552vw, 50px);
  height: min(4.8402710552vw, 50px);
  border-radius: 50%;
  transition: opacity 0.5s ease;
}
@media (max-width: 767px) {
  .location-spot-slider .swiper-button-prev,
  .location-spot-slider .swiper-button-next {
    width: 9.2857142857vw;
    height: 9.2857142857vw;
  }
}
.location-spot-slider .swiper-button-prev::before,
.location-spot-slider .swiper-button-next::before {
  position: absolute;
  inset: 0;
  content: "";
}
.location-spot-slider .swiper-button-prev:hover,
.location-spot-slider .swiper-button-next:hover {
  opacity: 0.7;
}
.location-spot-slider .swiper-button-prev::before {
  background: url(../img/location/slider_prev.svg) no-repeat center/contain;
}
.location-spot-slider .swiper-button-next::before {
  background: url(../img/location/slider_next.svg) no-repeat center/contain;
}
.location-spot-slider .swiper-pagination {
  position: static;
  display: flex;
  gap: min(0.4840271055vw, 5px);
}
@media (max-width: 767px) {
  .location-spot-slider .swiper-pagination {
    gap: 0.4285714286vw;
  }
}
.location-spot-slider .swiper-pagination .swiper-pagination-bullet {
  position: relative;
  flex-grow: 1;
  display: flex;
  align-items: center;
  width: auto;
  height: min(2.9041626331vw, 30px);
  margin: 0;
  border-radius: 0;
  background: none;
  opacity: 1;
}
@media (max-width: 767px) {
  .location-spot-slider .swiper-pagination .swiper-pagination-bullet {
    height: 5.7142857143vw;
  }
}
.location-spot-slider .swiper-pagination .swiper-pagination-bullet::before {
  content: "";
  width: 100%;
  height: min(0.2904162633vw, 3px);
  background: #e9eaea;
}
@media (max-width: 767px) {
  .location-spot-slider .swiper-pagination .swiper-pagination-bullet::before {
    height: 1vw;
  }
}
.location-spot-slider .swiper-pagination .swiper-pagination-bullet-active::after {
  position: absolute;
  content: "";
  width: 0%;
  height: min(0.2904162633vw, 3px);
  background: #1a517b;
  animation: paginationActive 5s linear forwards;
}
@media (max-width: 767px) {
  .location-spot-slider .swiper-pagination .swiper-pagination-bullet-active::after {
    height: 1vw;
  }
}
@keyframes paginationActive {
  100% {
    width: 100%;
  }
}

.location-spot-card__text {
  margin-top: 1em;
  font-size: min(1.5488867377vw, 16px);
  line-height: 1.25;
  letter-spacing: 0.1em;
  text-align: center;
}
@media (max-width: 767px) {
  .location-spot-card__text {
    font-size: 3.7142857143vw;
  }
}
.location-spot-card__text span {
  font-size: min(1.2584704743vw, 13px);
}
@media (max-width: 767px) {
  .location-spot-card__text span {
    font-size: 2.8571428571vw;
  }
}

.location-spot-pickup {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: min(3.8722168441vw, 40px);
  margin-top: min(4.8402710552vw, 50px);
  padding: min(3.8722168441vw, 40px);
  color: #fff;
  background: #1a517b;
}
@media (max-width: 767px) {
  .location-spot-pickup {
    grid-template-columns: auto;
    gap: 5.7142857143vw;
    margin-top: 10.5714285714vw;
    padding: 7.1428571429vw 3.5714285714vw;
  }
}
.location-spot-pickup__body {
  position: relative;
  padding-left: min(8.7124878993vw, 90px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 767px) {
  .location-spot-pickup__body {
    padding-left: 18.5714285714vw;
  }
}
.location-spot-pickup__body::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "Pick up";
  font-family: "Times New Roman", Times, "serif";
  font-size: min(4.2594385286vw, 44px);
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.02em;
  transform-origin: left top;
  translate: 1em 0;
  rotate: 90deg;
  color: rgba(255, 255, 255, 0.4);
}
@media (max-width: 767px) {
  .location-spot-pickup__body::before {
    font-size: 8.1428571429vw;
  }
}
.location-spot-pickup__body::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: min(5.8083252662vw, 60px);
  content: "";
  width: 1px;
  background: rgba(255, 255, 255, 0.5);
}
@media (max-width: 767px) {
  .location-spot-pickup__body::after {
    left: 12.8571428571vw;
  }
}
.location-spot-pickup__body.piclup_1::before {
  content: "Pick up";
}
.location-spot-pickup__body.piclup_2::before {
  content: "Pick up 2";
}
.location-spot-pickup__title {
  line-height: 1.2;
}
.location-spot-pickup__title h4 {
  font-family: "Shippori Mincho", serif;
  font-size: min(3.0977734753vw, 32px);
  font-weight: 600;
  letter-spacing: 0.125em;
}
@media (max-width: 767px) {
  .location-spot-pickup__title h4 {
    font-size: 6.2857142857vw;
  }
}
.location-spot-pickup__title span {
  font-size: min(1.2584704743vw, 13px);
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .location-spot-pickup__title span {
    font-size: 2.8571428571vw;
  }
}
.location-spot-pickup__text {
  margin-top: 2em;
  font-size: min(1.2584704743vw, 13px);
  line-height: 2;
  letter-spacing: 0.185em;
  text-align: justify;
}
@media (max-width: 767px) {
  .location-spot-pickup__text {
    margin-top: 1.5em;
    font-size: 3.4285714286vw;
    letter-spacing: 0;
  }
}
.location-spot-pickup__text span {
  display: block;
  margin-top: 1em;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.05em;
}
.location-spot-pickup__img {
  position: relative;
  color: #000;
}
.location-spot-pickup__img .cap {
  position: absolute;
  font-size: 10px;
  color: #fff;
  right: 5px;
  bottom: 5px;
}

.location-info {
  background: rgba(154, 201, 220, 0.14);
  margin-inline: calc(50% - 50vw);
  padding: min(7.7444336883vw, 80px) calc(50vw - 50%) min(8.7124878993vw, 90px);
}
@media (max-width: 767px) {
  .location-info {
    padding: 7.1428571429vw calc(50vw - 50%) 10vw;
  }
}
.location-info__title {
  font-family: "Times New Roman", Times, "serif";
  font-size: min(10.6485963214vw, 110px);
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.02em;
  text-align: center;
  color: rgba(26, 81, 123, 0.4);
}
@media (max-width: 767px) {
  .location-info__title {
    font-size: 12.1428571429vw;
  }
}
.location-info__map {
  margin-top: min(4.8402710552vw, 50px);
  display: grid;
}
@media (max-width: 767px) {
  .location-info__map {
    margin-top: vw-ps(50);
  }
}
.location-info__map > * {
  grid-area: 1/1;
  opacity: 0;
  visibility: hidden;
}
.location-info__map > *.is-active {
  opacity: 1;
  visibility: visible;
  z-index: 10;
}

.location-info-tab {
  margin-top: min(3.8722168441vw, 40px);
}
@media (max-width: 767px) {
  .location-info-tab {
    margin-top: 5.7142857143vw;
  }
}
.location-info-tab__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
@media (max-width: 767px) {
  .location-info-tab__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.location-info-tab__link {
  display: block;
  padding: 1em 0;
  font-size: min(1.9361084221vw, 20px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  background: #fff;
  border: 1px solid rgba(26, 81, 123, 0.5);
  cursor: pointer;
  transition: none;
}
@media (max-width: 767px) {
  .location-info-tab__link {
    padding: 1.25em 0;
    font-size: 3.1428571429vw;
    letter-spacing: 0;
  }
}
.location-info-tab__link.is-selected {
  color: #fff;
  background: #1a517b;
}
.location-info-tab__link:hover {
  opacity: 1;
}

.location-map {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: #fff;
  height: min(56.5343659245vw, 584px);
}
@media (max-width: 767px) {
  .location-map {
    grid-template-columns: auto;
    height: auto;
  }
}
.location-map__img {
  display: grid;
}
.location-map__img img[data-map] {
  grid-area: 1/1;
  opacity: 0;
}
.location-map__img img[data-map].is-active {
  opacity: 1;
}
.location-map__body {
  position: relative;
  padding: min(3.3881897386vw, 35px) min(6.7763794773vw, 70px) min(5.3242981607vw, 55px) min(1.9361084221vw, 20px);
}
@media (max-width: 767px) {
  .location-map__body {
    padding: 8.5714285714vw 12.8571428571vw 5.7142857143vw 3.5714285714vw;
  }
}
.location-map__body::before {
  position: absolute;
  top: min(3.3881897386vw, 35px);
  right: min(1.4520813166vw, 15px);
  content: attr(data-map);
  font-family: "Times New Roman", Times, "serif";
  font-size: min(4.2594385286vw, 44px);
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.02em;
  white-space: nowrap;
  transform-origin: left top;
  translate: 100% 0;
  rotate: 90deg;
  color: rgba(26, 81, 123, 0.4);
}
@media (max-width: 767px) {
  .location-map__body::before {
    top: 8.5714285714vw;
    right: 2.8571428571vw;
    font-size: 8.1428571429vw;
    letter-spacing: 0;
  }
}
@media (max-width: 767px) {
  .location-map__body[data-map="Sports / Leisure / Others"]::before {
    right: 5.7142857143vw;
    font-size: 4.5714285714vw;
  }
}
@media (max-width: 767px) {
  .location-map__body[data-map="Medical / Public"]::before {
    right: 4.2857142857vw;
    font-size: 6.8571428571vw;
  }
}
.location-map__scrollable {
  overflow-y: scroll;
  margin-right: -3px;
  padding-right: min(1.4520813166vw, 15px);
  height: calc(min(56.5343659245vw, 584px) - min(8.7124878993vw, 90px));
}
@media (max-width: 767px) {
  .location-map__scrollable {
    padding-right: 2.8571428571vw;
    height: 44.5714285714vw;
  }
}
.location-map__scrollable {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.location-map__scrollable::-webkit-scrollbar {
  display: none;
}
.location-map__scrollable .simplebar-scrollbar::before {
  background: #1a517b;
  border-radius: 0;
  width: 3px;
  top: 0 !important;
  bottom: 0 !important;
  left: 0;
  right: 0;
}
.location-map__scrollable .simplebar-scrollbar.simplebar-visible::before {
  opacity: 1;
}
.location-map__scrollable .simplebar-track {
  background: #e9eaea;
  width: 3px !important;
}
.location-map__scrollable .simplebar-track.simplebar-vertical {
  visibility: visible !important;
}
.location-map__scrollable .simplebar-track.simplebar-horizontal {
  visibility: hidden !important;
}
.location-map__list {
  counter-reset: index 0;
}
.location-map__list li {
  counter-increment: index 1;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: min(0.968054211vw, 10px);
  padding: min(0.968054211vw, 10px) 0;
  font-size: min(1.1616650532vw, 12px);
  line-height: 1;
  letter-spacing: -0.025em;
  border-bottom: 1px solid rgba(26, 81, 123, 0.5);
}
@media (max-width: 767px) {
  .location-map__list li {
    gap: 1.4285714286vw;
    padding: 1.8571428571vw 0;
    font-size: 2.1428571429vw;
    letter-spacing: 0;
  }
}
.location-map__list li:last-child {
  border-bottom: none;
}
.location-map__list li::before {
  content: counter(index);
  width: min(1.9361084221vw, 20px);
  height: min(1.9361084221vw, 20px);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Times New Roman", Times, "serif";
  font-size: min-cp(13);
  color: #fff;
  background: #1a517b;
}
@media (max-width: 767px) {
  .location-map__list li::before {
    width: 3.7142857143vw;
    height: 3.7142857143vw;
  }
}
.location-map__list li[data-index] {
  counter-increment: index 0;
}
.location-map__list li[data-index]::before {
  content: attr(data-index);
}
.location-map__tab {
  position: relative;
  z-index: 11;
  padding-bottom: min(2.4201355276vw, 25px);
  margin-bottom: max(-5.8083252662vw, -60px);
  padding-right: min(1.4520813166vw, 15px);
  padding-top: 1px;
  background: #fff;
}
@media (max-width: 767px) {
  .location-map__tab {
    padding-bottom: 4.2857142857vw;
    margin-bottom: -10.8571428571vw;
    padding-right: 2.8571428571vw;
  }
}
.location-map__tab ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
}
.location-map__tab ul a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: min(3.3881897386vw, 35px);
  border-radius: 100vmax;
  font-size: min(1.1616650532vw, 12px);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-align: center;
  border: 1px solid #1a517b;
  cursor: pointer;
  transition: none;
}
@media (max-width: 767px) {
  .location-map__tab ul a {
    height: 6.5714285714vw;
    font-size: 2.1428571429vw;
  }
}
.location-map__tab ul a.is-selected {
  color: #fff;
  background: #1a517b;
}
.location-map__tab ul a:hover {
  opacity: 1;
}
.location-map__listWrap {
  display: grid;
}
.location-map__listWrap > * {
  grid-area: 1/1;
  opacity: 0;
  visibility: hidden;
}
.location-map__listWrap > *.is-active {
  opacity: 1;
  visibility: visible;
  z-index: 10;
}
.location-map__listWrap .location-map__list {
  margin-top: min(4.8402710552vw, 50px);
}
@media (max-width: 767px) {
  .location-map__listWrap .location-map__list {
    margin-top: 9.4285714286vw;
  }
}

.location-modal {
  overflow: visible;
  position: fixed;
  inset: 0;
  width: 100%;
  max-width: min(90.0290416263vw, 930px);
  max-height: min(56.5343659245vw, 584px);
  padding: 0;
  margin: auto;
  border: none;
  box-sizing: border-box;
  opacity: 0;
  transition: all 0.5s ease-out allow-discrete;
}
@media (max-width: 767px) {
  .location-modal {
    max-width: 85.7142857143vw;
    max-height: 90vh;
  }
}
.location-modal[open] {
  opacity: 1;
}
@starting-style {
  .location-modal[open] {
    opacity: 0;
  }
}
.location-modal::backdrop {
  background: rgba(0, 0, 0, 0.6);
  opacity: 0;
  transition: display 0.5s ease-out allow-discrete, opacity 0.5s ease-out;
}
.location-modal[open]::backdrop {
  opacity: 1;
}
@starting-style {
  .location-modal[open]::backdrop {
    opacity: 0;
  }
}
.location-modal__close {
  position: absolute;
  top: 0;
  right: 0;
  width: min(2.9041626331vw, 30px);
  height: min(2.9041626331vw, 30px);
  translate: 0 -120%;
  background: none;
}
@media (max-width: 767px) {
  .location-modal__close {
    width: 5.7142857143vw;
    height: 5.7142857143vw;
  }
}
.location-modal__close::before, .location-modal__close::after {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 100%;
  height: 1px;
  content: "";
  background: #fff;
}
.location-modal__close::before {
  rotate: -45deg;
}
.location-modal__close:after {
  rotate: 45deg;
}

.js-fadeIn {
  opacity: 0;
  transition: opacity 1s;
}
.js-fadeIn[data-scroll-anima=true] {
  opacity: 1;
}

.js-blurIn {
  opacity: 0;
  filter: blur(10px);
  transition: opacity 1s, filter 1s;
}
.js-blurIn[data-scroll-anima=true] {
  opacity: 1;
  filter: blur(0);
}/*# sourceMappingURL=location.css.map */