@charset "utf-8";

/*============================
フロアマップ
============================*/
.floor_map {
  padding-bottom: 1.20rem;
}
@media screen and (max-width: 768px) {
  .floor_map {
    padding-bottom: 0.80rem;
  }
}

.floor_map .floor_tab {
  display: flex;
  justify-content: space-between;
  gap: 0 2px;
}

.floor_map .floor_tab .tab {
  width: 100%;
  text-align: center;
  font-size: 0.26rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  padding-bottom: 0.28rem;
  color: #999999;
  border-bottom: 1px solid #999999;
  cursor: pointer;
  transition: all 0.3s;
}
@media screen and (max-width: 768px) {
  .floor_map .floor_tab .tab {
    font-size: 0.18rem;
    padding-bottom: 0.2rem;
  }
}

.floor_map .floor_tab .tab:hover,
.floor_map .floor_tab .tab.active {
  color: #4EC1DD;
  border-bottom: 1px solid #4EC1DD;
}

.floor_map .map_img_wrap {
  padding-top: 0.50rem;
}

.floor_map .map_img_wrap .map_img {
  display: none;
}

.floor_map .map_img_wrap .map_img img {
  display: block;
  margin: auto;
  opacity: 0;
  transition: opacity 2.7s;
}

.floor_map .map_img_wrap .map_img.active {
  display: block;
}

.floor_map .map_img_wrap .map_img.active img {
  opacity: 1;
}

/*============================
館内施設
============================*/
.facilities {
  position: relative;
  padding: 0.60rem 0 1.00rem;
}
@media screen and (max-width: 768px) {
  .facilities {
    padding: 0.40rem 0 0.80rem;
    overflow: hidden;
  }
}

.facilities::before {
  content: "";
  width: calc(50% + 6.60rem);
  height: 100%;
  background-color: #EDF5F7;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -3;
}
@media screen and (max-width: 640px) {
  .facilities::before {
    width: 100%;
  }
}


.facilities::after {
  content: "";
  width: 6.40rem;
  height: 6.40rem;
  background-image: url(../img/common/deco05.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  top: -2.50rem;
  right: -1.50rem;
  position: absolute;
  z-index: -2;
  opacity: 0.5;
}
@media screen and (max-width: 640px) {
  .facilities::after {
    width: 3.00rem;
    height: 3.00rem;
    top: -1.50rem;
    right: -1.00rem;
  }
}


.facilities .list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 0.40rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 640px) {
  .facilities .list {
    gap: 0.30rem 0;
  }
}

.facilities .list .detail {
  width: 100%;
  max-width: 3.40rem;
}
@media screen and (max-width: 640px) {
  .facilities .list .detail {
    max-width: 100%;
  }
}


.facilities .list .detail .ph {
  width: 100%;
  height: 2.30rem;
}

.facilities .list .detail .ttl {
  font-size: 0.18rem;
  font-weight: 600;
  text-align: center;
  padding: 0.20rem 0 0.15rem;
}
@media screen and (max-width: 640px) {
  .facilities .list .detail .ttl {
    font-size: 0.17rem;
    padding: 0.15rem 0 0.10rem;
  }
}

.facilities .list .detail .txt {
  font-size: 0.14rem;
  font-weight: 500;
  text-align: justify;
  line-height: 2;
}
@media screen and (max-width: 640px) {
  .facilities .list .detail .txt {
    font-size: 0.13rem;
  }
}

.facilities .list .detail .small_txt {
  font-size: 0.11rem;
  line-height: 1.875;
  padding-top: 0.05rem;
}