/* Blog post */

/* 投稿記事 */
.single_ttl {
  margin-bottom: 0.78rem;
  font-size: 1.33rem;
  color: #000000;
  font-weight: 500;
}
.single_date {
  display: block;
  margin-bottom: 0.61rem;
  font-size: 0.89rem;
  font-weight: 400;
}
.single_cat_list {
  margin-top: unset;
  margin-inline: unset;
  margin-bottom: 0.89rem;
  padding: unset;
  display: flex;
  flex-wrap: wrap;
  gap: 0.44rem;
}
.single_cat_item {
  padding: 0.33rem 1.22rem;
  color: #ffffff;
  font-weight: 400;
  font-size: 0.78rem;
  background-color: #4cb2ce;
  display: inline-block;
  &.cat01 {
    background-color: #4cb2ce;
  }
  &.cat02 {
    background-color: #29bb83;
  }
  &.cat03 {
    background-color: #1bb39a;
  }
}
.single_content {
  display: flex;
  flex-direction: column;
  row-gap: 2.67rem;
}
.single_content_wrapper {
  display: flex;
  flex-direction: column;
  row-gap: 0.89rem;
}
.single_img {
  margin: unset;
  @media (min-width: 768px) {
    margin-right: auto;
    width: 80%;
    &.single_img--left {
      margin-right: auto;
    }
    &.single_img--center {
      margin-inline: auto;
    }
    &.single_img--right {
      margin-left: auto;
      margin-right: 0;
    }
  }
}
.single_lead {
  font-size: 0.89rem;
  color: #000000;
  font-weight: 400;
}
.single_content_img {
  margin-left: unset;
  margin-top: unset;
  margin-bottom: unset;
  width: 60%;
  margin-right: auto;
  figcaption {
    display: block;
    margin-top: 0.44rem;
    font-weight: 400;
    font-size: 0.78rem;
  }
}
.single_ttl--h3 {
  padding-bottom: 1.2rem;
  border-bottom: 3px solid #005bac;
  .txt {
    display: block;
    font-weight: 700;
    font-size: 1.33rem;
  }
}
.single_ttl--h4 {
  padding-left: 1.2rem;
  border-left: 3px solid #005bac;
  .txt {
    font-weight: 700;
    font-size: 1.11rem;
  }
}
.single_ttl--h5 {
  .txt {
    font-weight: 700;
    font-size: 1.11rem;
  }
}

/* 目次 */
.index_ttl {
  // margin-bottom: 0.83rem;
  padding-bottom: 0.83rem;
  font-size: 1.11rem;
  font-weight: 500;
  color: #000000;
  border-bottom: 1px solid #dedede;
}
.index_list {
  margin: unset;
  padding: unset;
  display: flex;
  flex-direction: column;
  row-gap: 0.33rem;
  list-style: decimal;
}
.index_item {
  display: flex;
  flex-direction: column;
  row-gap: 0.33rem;
}
.index_item_list_link {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 0.4rem;
  color: #1658a0;
  font-weight: 700;
  &::before {
    display: block;
    content: "・";
    color: #1658a0;
    font-size: 0.89rem;
  }
}
.index_item_list_child_list {
  padding-left: 1.3rem;
  display: flex;
  flex-direction: column;
  row-gap: 0.33rem;
}
.index_item_list_child_list_item_link {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 0.4rem;
  color: #1658a0;
  &::before {
    display: block;
    content: "ー";
    color: #1658a0;
    font-size: 0.89rem;
  }
}

/* オススメ記事 */
.recommend-news_slider_wrap {
  overflow: hidden;
  > * {
    min-width: 0;
    min-height: 0;
  }
}
.recommend-news_slider {
  overflow: hidden;
}
.recommend-news_slider_swiper-button-next {
  right: 0 !important;
  width: 1.94rem !important;
  height: 1.94rem !important;
  z-index: 10;
  opacity: 1;
  transition: 0.3s all ease-in-out;
  &::after {
    content: "" !important;
    width: 1.94rem;
    height: 1.94rem;
    background: url("https://46923556.fs1.hubspotusercontent-na1.net/hubfs/46923556/ep_arrow-right.svg") no-repeat center / contain !important;
  }
  &:hover {
    opacity: 0.75;
  }
}
.recommend-news_slider_swiper-button-prev {
  left: 0 !important;
  width: 1.94rem !important;
  height: 1.94rem !important;
  z-index: 10;
  opacity: 1;
  transition: 0.3s all ease-in-out;
  &::after {
    content: "" !important;
    width: 1.94rem;
    height: 1.94rem;
    background: url("https://46923556.fs1.hubspotusercontent-na1.net/hubfs/46923556/ep_arrow-left.svg") no-repeat center / contain !important;
  }
  &:hover {
    opacity: 0.75;
  }
}
.swiper_recommend-news {
  overflow: hidden;
  min-height: 0;
  min-width: 0;
  width: 100%;
  .swiper-wrapper {
    max-height: 100% !important;
    height: 100% !important;
    display: flex !important;
    min-height: 0 !important;
    min-width: 0 !important;
    .swiper-slide {
      overflow: hidden;
      width: calc(50% - 6px) !important;
      flex-shrink: 0 !important;
      display: flex !important;
      height: 100% !important;
      max-height: 100% !important;
      flex-direction: column;
      row-gap: 0.44rem;
      text-decoration: unset;
      @media (min-width: 768px) {
        width: calc(33.3% - 14px) !important;
      }
      .recommend-news_img {
        margin: unset;
        width: 100%;
        position: relative;
        aspect-ratio: 256 / 184;
        overflow: hidden;
        border-radius: 5px;
        img {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: auto;
          object-fit: contain;
          object-position: center;
        }
      }
      .recommend-news_slide_cat {
        padding: 0.11rem 1.22rem;
        display: block;
        width: fit-content;
        margin: unset;
        font-size: 0.78rem;
        font-weight: 400;
        color: #ffffff;
        background-color: #4cb2ce;
        &.cat01 {
          background-color: #4cb2ce;
        }
        &.cat02 {
          background-color: #29bb83;
        }
        &.cat03 {
          background-color: #1bb39a;
        }
      }
      .recommend-news_slide_cat_list {
        display: flex;
        gap: 0.33rem;
        flex-wrap: wrap;
        .recommend-news_slide_cat {
/*           flex: 1; */
/*           white-space: nowrap; */
/*           text-align: center; */
        }
      }
      .recommend-news_slide_date {
        margin: unset;
        font-size: 0.83rem;
        font-weight: 400;
        color: #000000;
      }
      .recommend-news_slide_ttl {
        margin: unset;
        font-size: 1rem;
        font-weight: 500;
        color: #000000;
      }
    }
  }
}

/* ページネーション */
.news__nav {
  margin-top: 2rem;
  &:empty {
    margin-top: 0;
    padding: 0 !important;
    border: 0 !important;
  }
  @media (min-width: 768px) {
    margin-left: auto;
    margin-right: auto;
    margin-top: 6.67rem;
    &:empty {
      margin-top: 0rem;
    }
  }
}
.nav-links {
  position: relative;
  width: 100%;
  margin: auto;
  display: grid;
  justify-content: center;
  align-items: center;
  grid-auto-flow: column;
  column-gap: 0.67rem;
  @include mq(min_pc) {
    column-gap: 0.84rem;
  }
}
.page-numbers {
  color: #333333;
  font-weight: 400;
  width: 2.22rem;
  height: 2.22rem;
  padding: 0.2rem;
  border-radius: 2px;
  font-size: 1rem;
  display: grid;
  place-content: center;
  grid-auto-flow: column;
  position: relative;
  @include mq(min_pc) {
    font-size: 1.11rem;
  }
  &:not(.current):not(.dots):not(.next):not(.last):not(.prev):not(.first):hover {
    &:hover {
      background: #0c4191;
      color: #ffffff;
    }
  }
  &.current {
    background: #0c4191;
    color: #ffffff;
  }
  .nav-arrow {
    display: grid;
    place-content: center;
    font-size: 1rem;
    font-weight: 400;
    @include mq(min_pc) {
      font-size: 1.11rem;
    }
  }
  &.prev {
    margin-right: 1.6rem;
    width: 0.44rem;
    height: 0.78rem;
    background: url("https://46923556.fs1.hubspotusercontent-na1.net/hubfs/46923556/arrow_blue_04.svg") no-repeat center / contain;
    transform: scale(-1);
    opacity: 1;
    transition: all 0.3s ease-in-out;
    @media (min-width: 768px) {
      margin-right: 2.72rem;
    }
  }
  &.next {
    margin-left: 1.6rem;
    width: 0.44rem;
    height: 0.78rem;
    background: url("https://46923556.fs1.hubspotusercontent-na1.net/hubfs/46923556/arrow_blue_04.svg") no-repeat center / contain;
    opacity: 1;
    transition: all 0.3s ease-in-out;
    @media (min-width: 768px) {
      margin-left: 2.72rem;
    }
  }
  &.prev,
  &.next {
    &::after {
      display: none;
    }
  }
  &.prev:hover {
    opacity: 0.75;
  }
  &.next:hover {
    opacity: 0.75;
  }

  &.dots {
    border: 0;
    color: $color_black;
  }

  &.next,
  &.prev {
    padding: 0 !important;
  }
}
.screen-reader-text {
  border: 0;
  clip: (1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

/* 前へ戻るボタン */
.back_btn {
  position: relative;
  border: 1px solid #005bac;
  padding: 0.44rem 1rem 0.44rem 2.33rem;
  width: unset;
  max-width: unset;
  min-width: 10.56rem;
  .txt {
    display: grid;
    place-content: center;
    color: #005bac;
    font-weight: 500;
    font-size: 0.89rem;
  }
  &::before {
    position: absolute;
    top: 50%;
    left: 0.39rem;
    transform: translateY(-50%) scale(-1);
    display: block;
    content: "";
    background: url("https://46923556.fs1.hubspotusercontent-na1.net/hubfs/46923556/arrow_blue_04.svg") no-repeat center / contain;
    width: 1.33rem;
    height: 0.83rem;
  }
}