@charset "UTF-8";
.facility__inner {
  padding-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .facility__inner {
    padding-bottom: 13.3333333333vw;
  }
}

.facility-map {
  height: 505px;
  margin-top: 35px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .facility-map {
    height: 80vw;
    margin-top: 8vw;
  }
}
.facility-map iframe {
  margin-top: -60px;
}
@media screen and (max-width: 767px) {
  .facility-map iframe {
    width: 100%;
    height: calc(80vw + 60px);
    aspect-ratio: 16/9;
  }
}

.facility-container {
  max-width: 890px;
  margin-inline: auto;
}

.facility-lead {
  margin-top: 45px;
  font-size: 20px;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .facility-lead {
    margin-top: 5.3333333333vw;
    font-size: 3.7333333333vw;
  }
}

.facility-items {
  margin-top: 65px;
  border-top: 1px solid #fff;
}
@media screen and (max-width: 767px) {
  .facility-items {
    margin-top: 13.3333333333vw;
  }
}

.facility-item {
  display: grid;
  grid-template-columns: 50% 1fr;
  gap: 30px;
  padding-block: 46px;
  border-bottom: 1px solid #fff;
}
@media screen and (max-width: 767px) {
  .facility-item {
    grid-template-columns: 1fr;
    gap: 4vw;
    padding-block: 8vw;
  }
}
.facility-item__img {
  overflow: hidden;
}
.facility-item__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (any-hover: hover) {
  .facility-item__img a img {
    transition: 0.5s;
    transition-property: transform;
  }
  .facility-item__img a:hover img {
    transform: scale(1.1);
  }
}
.facility-item__lead {
  font-size: 18px;
  font-weight: 500;
  color: var(--main);
}
@media screen and (max-width: 767px) {
  .facility-item__lead {
    font-size: 3.7333333333vw;
  }
}
.facility-item__ttl {
  margin-top: 10px;
  font-size: 25px;
  font-weight: 600;
  color: var(--main);
}
@media screen and (max-width: 767px) {
  .facility-item__ttl {
    margin-top: 2.6666666667vw;
    font-size: 6vw;
  }
}
.facility-item__address, .facility-item__tel {
  font-size: 16px;
  font-weight: 500;
  color: var(--main);
}
@media screen and (max-width: 767px) {
  .facility-item__address, .facility-item__tel {
    font-size: 3.7333333333vw;
  }
}
.facility-item__address *, .facility-item__tel * {
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}
.facility-item__address {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .facility-item__address {
    margin-top: 5.3333333333vw;
  }
}
.facility-item__tel {
  display: grid;
  grid-template-columns: auto 1fr;
  margin-top: 10px;
  color: var(--main);
}
@media screen and (max-width: 767px) {
  .facility-item__tel {
    margin-top: 4vw;
  }
}
.facility-item__tel dt::after {
  content: "：";
}
.facility-item__info {
  display: flex;
  gap: 16px;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .facility-item__info {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4vw;
    margin-top: 4vw;
  }
}
.facility-item__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .facility-item__tags {
    gap: 2.6666666667vw;
    margin-top: 5.3333333333vw;
  }
}
.facility-item__tag {
  padding: 0.5em;
  font-size: 14px;
  font-weight: 500;
  color: #fff;
  background-color: var(--main);
  border-radius: 5px;
}
@media screen and (max-width: 767px) {
  .facility-item__tag {
    font-size: 3.2vw;
  }
}
.facility-item__txt {
  margin-top: 25px;
  font-size: 15px;
  line-height: 1.4;
  color: var(--main);
}
@media screen and (max-width: 767px) {
  .facility-item__txt {
    margin-top: 5.3333333333vw;
    font-size: 3.7333333333vw;
  }
}
.facility-item__txt * {
  font-size: inherit;
  color: inherit;
}
.facility-item__btn-wrap {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .facility-item__btn-wrap {
    grid-column: span 2;
  }
}

.facility-info {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  min-width: 200px;
  min-height: 62px;
  padding: 10px;
  text-align: center;
  background-color: #fff;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .facility-info {
    min-width: 100%;
    min-height: 8vw;
    padding: 2.6666666667vw;
    border-radius: 5px;
  }
}
@media screen and (max-width: 767px) {
  .facility-info__icon img[src$="icon_parking.svg"] {
    height: 10vw;
    aspect-ratio: 44/48;
  }
}
@media screen and (max-width: 767px) {
  .facility-info__icon img[src$="icon_apartment_room.svg"] {
    height: 5.3333333333vw;
    aspect-ratio: 74/25;
  }
}
.facility-info__label {
  font-size: 18px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .facility-info__label {
    font-size: 3.7333333333vw;
  }
}
.facility-info__value {
  margin-top: 7px;
  font-size: 23px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .facility-info__value {
    margin-top: 1.3333333333vw;
    font-size: 4.8vw;
  }
}