.facility[class*='item'] {
  /*  */
  & + .facility[class*='item'] {
    margin-top: 40px;
  }

  & h4 {
    margin-bottom: 1.25rem;
    color: var(--ai_02-500);
    font-weight: 700;

    &::before {
      content: '';
      display: inline-block;
      width: 10px;
      height: 10px;
      margin-top: 5px;
      margin-right: 12px;
      vertical-align: top;
      background-color: var(--ai_02-500);
      border: 3px solid var(--ai_02-50);
      border-radius: 10px;
      box-sizing: content-box;
    }
  }
}
.facility.item1 {
  /*  */
  & table td {
    padding: 0.75rem 0.5rem;
  }
  & table td span {
    display: block;
    font-size: 1rem;
  }
}
.facility.item2 {
  & dl {
    display: flex;
    gap: 0 0.75rem;
  }
  & dt {
    flex-shrink: 0;
    width: 5.5rem;
    height: calc(2rem + 1px);
    color: var(--ai_02-500);
    font-weight: 400;
    font-size: calc(1rem + 2px);
    text-align: center;
    line-height: calc(2rem + 1px);
    white-space: pre;
    background-color: var(--ai_02-50);
  }
  & dd {
    padding: 3px 0;
    font-size: calc(1rem + 2px);
    line-height: 1.5;
  }
  & dl:not(:first-of-type) {
    margin-top: 10px;
  }
  & dl:last-of-type {
    margin-bottom: 1rem;
  }
}
.facility.item3 {
  /*  */
  & .bx {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 20px;
  }

  & > article:not(:last-of-type) {
    margin-bottom: 2rem;
  }
  & .sub_tit2 {
    padding-left: 1rem;
    margin-bottom: 1.25rem;
  }

  .facility_img {
    width: 100%;

    > .img_bx {
      width: 100%;
      height: 100%;
    }
  }
}

.facility_img_ul {
  list-style: none;
  /* display: grid; */
  /* grid-template-columns: repeat(3, 1fr); */
  gap: 1rem;
  /* margin-top: 2rem; */

  & > li {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 4px;
    max-width: 100%;
    margin-bottom: 0;
    border: 1px solid var(--light-normal);

    & span {
      padding: 10px;
    }

    & .img_bx {
      width: 100%;
    }
  }

  & + p {
    position: relative;
    padding-left: 20px;
    margin-top: -0.25rem;
    margin-top: 1.25rem;
    margin-bottom: 0;
    font-size: calc(1rem + 2px);

    &::before {
      content: '';
      position: absolute;
      top: 0;
      left: 2px;
      width: 8px;
      height: 0;
      margin-top: 0.75rem;
      border-top: 1px solid var(--ai_primary-500);
    }
  }
}
@media screen and (max-width: 700px) {
  .facility_img_ul {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 499px) {
  .facility_img_ul + p {
    word-break: keep-all;
  }
}
