@charset "UTF-8";
/* =====================
  記事詳細（お知らせ・ブログ共通）
 ======================= */
.single-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8rem 0;
}
.single-container .single-main {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 77.67%;
          flex: 0 1 77.67%;
}
.single-container .single-taxonomy {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 100%;
          flex: 0 1 100%;
}

.single-header {
  margin-bottom: 1.6rem;
  gap: 1.6rem 2.4rem;
}

.single-cat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.8rem;
  margin-bottom: 1.6rem;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.43;
}
.single-cat > span {
  border-radius: 100px;
  min-width: 8.4rem;
  text-align: center;
  padding: 0 0.4rem;
}

.single-facility {
  font-weight: 500;
  line-height: 1.5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 2em;
  margin-bottom: 1.6rem;
}
.single-facility > *:before {
  content: "#";
}
.single-facility .senior {
  color: var(--c_senior);
}
.single-facility .disabled {
  color: var(--c_disabled);
}
.single-facility .child {
  color: var(--c_child);
}

.single-header-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-column-gap: 2.4rem;
     -moz-column-gap: 2.4rem;
          column-gap: 2.4rem;
}

.single-date {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-weight: 500;
  letter-spacing: -0.041em;
  line-height: 1;
}
.single-date span {
  font-size: 4rem;
}

.single-ttl {
  font-size: 4rem;
  font-weight: 500;
  line-height: 1.45;
}

.single-eyecatch {
  max-width: 82.6rem;
  margin-bottom: 2.5rem;
}
.single-eyecatch img {
  height: auto;
}

.single-body {
  font-weight: 500;
  line-height: 1.75;
}
.single-body > * + * {
  margin-top: 1.6rem;
}
.single-body a {
  color: var(--c_green);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.single-body img.aligncenter {
  margin-right: auto;
  margin-left: auto;
}
.single-body img.alignright {
  margin-left: auto;
}
.single-body img.alignleft {
  margin-right: auto;
}
.single-body table th, .single-body table td {
  padding: 0.8rem;
  border: 1px solid var(--c_border);
}

.single-gallery {
  margin-top: 4rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1.6rem 1fr 1.6rem 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.6rem;
}
.single-gallery img {
  aspect-ratio: 300/200;
  -o-object-fit: cover;
     object-fit: cover;
}

.single-footer {
  margin: 11rem auto 0;
}
.single-footer .ifw_wrap {
  margin-bottom: 1.2rem;
}

.single-footer-back {
  width: 36.8rem;
  max-width: 100%;
  margin: 0 auto;
}

/* タブレット
  ------------------------ */
@media (max-width: 1200px) {
  .single-container .single-main {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 calc(100% - 200px);
            flex: 0 1 calc(100% - 200px);
  }
}
/* スマホ
  ------------------------ */
@media (max-width: 699px) {
  .single-container {
    gap: 60px 0;
  }
  .single-container .single-main {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 100%;
            flex: 0 1 100%;
  }
  .single-container .single-sidenav {
    margin: 0;
    padding: 0;
  }
  .single-header-flex {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    row-gap: 8px;
  }
  .single-date span {
    font-size: 24px;
  }
  .single-ttl {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 100%;
            flex: 0 1 100%;
    font-size: 24px;
  }
  .single-gallery {
    margin-top: 24px;
    -ms-grid-columns: 1fr 8px 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
  .single-footer {
    margin-top: 40px;
  }
  .single-footer-back {
    width: 240px;
    max-width: 80%;
  }
}