@charset "utf-8";
.main_section_bg {
  background-color: #f1f1f1;
  padding: var(--space-ml) 0;
}

.utility_main_heading {
  letter-spacing: 0;
  line-height: 1.5;
}
.border-bottom_color {
  border-bottom: 1px solid var(--primary-color-dark);
  padding-bottom: 0.4em;
  margin-bottom: 0.8em;
}
.border-bottom_utility {
  padding-bottom: 0.4em;
}

/*facility_list*/
.facility_list {
  display: grid;
  row-gap: var(--space-lg);
}
.facility_item {
  display: grid;
  gap: var(--space-md) 0;
}
.facility_list--second .facility_body {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .facility_list--second .facility_item {
    display: grid;
    align-items: start;
    grid-template-columns: 50% 1fr;
  }
  .facility_list--second .facility_item:nth-child(even) {
    direction: rtl;
  }
  .facility_list--second .facility_item:nth-child(even) > * {
    direction: ltr;
  }
}
@media screen and (min-width: 1024px) {
  .facility_item--primary {
    position: relative;
  }
  .facility_item--primary .facility_body {
    position: absolute;
    width: 40%;
    min-width: 500px;
    top: 0;
    left: 0;
    text-shadow: 0 0 20px #fff;
    padding: var(--space-md);
    background-color: rgba(255, 255, 255, 0.9);
    margin: 0;
  }
  .facility_list--second {
    width: 90%;
    margin-right: auto;
    margin-left: auto;
  }
  .facility_list--second .facility_item {
    grid-template-columns: 60% 1fr;
    gap: var(--space-md);
  }
  .facility_list--second .facility_body {
    width: 100%;
  }
}

@media screen and (min-width: 1280px) {
  .facility_item--primary .facility_body {
    width: 38%;
    left: var(--space-md);
    min-width: unset;
    container: initial;
  }
  .facility_item--primary:nth-child(even) .facility_body {
    left: var(--space-md);
    right: initial;
  }
}

.info_table_wrap {
  border-block: 1px solid #e5e5e5;
}

.info_table__row > * {
  padding: var(--space-md) 1em;
  text-align: left;
}
.info_table {
  display: grid;
  grid-template-columns: auto auto;
}
.info_table > tbody,
.info_table__row {
  display: contents;
}
.info-_table__term {
  font-weight: normal;
}
@media screen and (min-width: 1024px) {
  .info_table__row > * {
    padding: var(--space-md);
  }
}

/*gallery_list*/
.gallery_list {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.gallery_list img {
  aspect-ratio: 1/1;
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  .gallery_list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: var(--space-xs);
  }
}
@media screen and (min-width: 1024px) {
  .gallery_list img {
    aspect-ratio: initial;
  }
}
