/* Blog post */

/* 共通パーツ上書き */
.single_container {
  @media (min-width: 768px) {
    max-width: 920px;
  }
}

/* 投稿記事 */
.single_heading {
text-align: center;
  padding-bottom: 1rem;
  @media (min-width: 768px) {
    padding-bottom: 1.5rem;
  }
}
.single_heading_ttl {
  margin-bottom: 1.2rem;
  @media (min-width: 768px) {
    margin-bottom: 3.3rem;
  }
  .txt {
    font-size: 1.11rem;
    color: #000000;
    font-weight: 500;
    @media (min-width: 768px) {
      font-size: 1.8rem;
    }    
  }
}
.single_heading_subttl {
  margin-bottom: 0.4rem;
  font-size: 0.89rem;
  color: #000000;
  font-weight: 500;
  @media (min-width: 768px) {
    margin-bottom: 0.5rem;
    font-size: 1.2rem;
  }
}
.single_heading_lead {
  margin-bottom: 0.4rem;
  font-size: 0.89rem;
  color: #000000;
  font-weight: 500;
  @media (min-width: 768px) {
    font-size: 1.1rem;
  }     
}
.single_heading_cat_list {
  padding: unset;
  margin: unset;
/*   margin-bottom: 0.89rem; */
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  gap: 0.6rem;
  @media (min-width: 768px) {
    row-gap: 0.78rem;
    column-gap: 1rem;
  }
}
.single_heading_cat_item {
  padding: 0.1rem;
  color: #ffffff;
  font-weight: 400;
  font-size: 0.78rem;
  background-color: #005bac;
  display: inline-block;
  text-align: center;
  a {
    color:#fff;
  }
}

.single_info {
  margin-bottom: 3rem;
  display: grid;
  row-gap: 1rem;
  @media (min-width: 768px) {
    margin-bottom: 3.56em;
    grid-template-columns: 2fr 5fr;
    column-gap: 1.78rem;
    row-gap: unset;
  }
}
.single_info_img {
  margin: unset;
  aspect-ratio: 325 / 237;
  position: relative;
  overflow: hidden;
  img {
    position: absolute;
    margin: auto;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.single_info_content_ttl {
  margin-bottom: 1rem;
  @media (min-width: 768px) {
    margin-bottom: 1.2rem;
  }
  .txt {
    font-size: 1.11rem;
    color: #000000;
    font-weight: 500;
    @media (min-width: 768px) {
      font-size: 1.5rem;
    }    
  }
}
.single_info_content_subttl {
  margin-bottom: 1rem;
  font-size: 0.89rem;
  color: #000000;
  font-weight: 500;
  @media (min-width: 768px) {
    margin-bottom: 2.33rem;
    font-size: 1.2rem;
  }
}
.single_info_content_lead {
  margin-bottom: 0.4rem;
  font-size: 0.89rem;
  color: #000000;
  font-weight: 500;
  @media (min-width: 768px) {
    font-size: 1.1rem;
  }     
}
.single_info_content_cat_list {
  padding: unset;
  margin: unset;
/*   margin-bottom: 0.89rem; */
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  @media (min-width: 768px) {
    row-gap: 0.78rem;
    column-gap: 1rem;
  }
}
.single_info_content_cat_item {
  padding: 0.1rem;
  color: #ffffff;
  font-weight: 400;
  font-size: 0.78rem;
  background-color: #005bac;
  display: inline-block;
  text-align: center;
}

/* 仮入れ */
.hs_cos_wrapper_type_rich_text h3 {
  border-bottom: 3px solid #005bac;
  padding-bottom: 1.2rem;
}

/* .single_img {
  margin: unset;
}
.single_content {
  margin-top: 2.67rem;
  display: flex;
  flex-direction: column;
  row-gap: 2.67rem;
}
.single_content_wrapper {
  display: flex;
  flex-direction: column;
  row-gap: 0.89rem;
}
.single_lead {
  font-size: 0.89rem;
  color: #000000;
  font-weight: 400;
}
.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 {
  padding: unset;
  margin: 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;
  }
}

/* 投稿 */
/* .single_content_wrapper {
  &.single_content_wrapper--gray {
    display: flex;
    flex-direction: column;
    row-gap: 1.78rem;
    background-color: #ececec;
    padding: 1rem;
    @media (min-width: 768px) {
      padding: 2.22rem 0.89rem;
    }
    .single_content_lead {
      @media (min-width: 768px) {
        width: 90%;
        margin-inline: auto;
      }
    }
  }
}
.single_content_h3 {
  margin-bottom: 1rem;
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: center;
  column-gap: 0.4rem;
  padding: 0.4rem;
  background-color: #ffffff;
  @media (min-width: 768px) {
    margin-bottom: 0.89rem;
    padding: 0.89rem 2.67rem;
  }
  &.single_content_h3--01 {
    &::before {
      content: "";
      background: url("https://46923556.fs1.hubspotusercontent-na1.net/hubfs/46923556/fa6-solid_gears.svg") no-repeat center / contain;
      width: 1rem;
      height: 1rem;
      @media (min-width: 768px) {
        width: 1.39rem;
        height: 1.39rem;
      }
    }
  }
  &.single_content_h3--02 {
    &::before {
      content: "";
      background: url("https://46923556.fs1.hubspotusercontent-na1.net/hubfs/46923556/icon-park-outline_caution.svg") no-repeat center / contain;
      width: 1rem;
      height: 1rem;
      @media (min-width: 768px) {
        width: 1.39rem;
        height: 1.39rem;
      }
    }
  }
  &.single_content_h3--03 {
    &::before {
      content: "";
      background: url("https://46923556.fs1.hubspotusercontent-na1.net/hubfs/46923556/hugeicons_idea.svg") no-repeat center / contain;
      width: 1rem;
      height: 1rem;
      @media (min-width: 768px) {
        width: 1.39rem;
        height: 1.39rem;
      }
    }
  }
  &.single_content_h3--04 {
    &::before {
      content: "";
      background: url("https://46923556.fs1.hubspotusercontent-na1.net/hubfs/46923556/gravity-ui_hand-point-up.svg") no-repeat center / contain;
      width: 1rem;
      height: 1rem;
      @media (min-width: 768px) {
        width: 1.39rem;
        height: 1.39rem;
      }
    }
  }
}
.single_content_btn_wrap {
  display: grid;
  row-gap: 1rem;
  @media (min-width: 768px) {
    grid-template-columns: max-content max-content;
    column-gap: 3.11rem;
    row-gap: unset;
    width: 90%;
    margin-inline: auto;
  }
}
.single_content_btn_content {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.single_content_btn_ttl {
  margin-bottom: 0.4rem;
  font-size: 1rem;
  font-weight: 500;
  color: #000000;
  text-align: center;
  display: block;
  width: 100%;
  @media (min-width: 768px) {
    font-size: 1.11rem;
    text-align: left;
  }
}
.single_content_btn {
  padding: 0.72rem;
  width: 100%;
  color: $color_white;
  background: #005bac;
  text-align: center;
  min-width: 238px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  align-items: center;
  justify-content: center;
  place-content: center;
  letter-spacing: 0.05em;
  position: relative;
  opacity: 1;
  transition: 0.3s ease-in-out;
  span {
    color: #ffffff;
    font-size: 0.89rem;
    font-weight: 700;
    transition: 0.3s ease-in-out;
  }
  &::after {
    position: absolute;
    top: 50%;
    right: 0.89rem;
    transform: translateY(-50%);
    display: block;
    content: "";
    width: 0.44rem;
    height: 0.83rem;
    aspect-ratio: 1 / 1;
    background: url("https://46923556.fs1.hubspotusercontent-na1.net/hubfs/46923556/btn_arrow_white.svg") transparent no-repeat center / contain;
    transition: 0.3s right ease-in-out;
  }
  &:hover {
    opacity: 0.75;
    &::after {
      right: 0.91rem;
    }
  }
}
h4 {
  &.select_ttl {
    margin-bottom: 2rem;
    @media (min-width: 768px) {
      margin-bottom: 3.06rem;
    }
    &.type01 {
      display: grid;
      grid-template-columns: max-content 1fr;
      align-items: center;
      row-gap: 1rem;
      &::before {
        display: block;
        content: "";
        width: 6.67rem;
        height: 4px;
        border-radius: 4px;
        background-color: #005bac;
        grid-area: 1 / 1 / 2 / 2;
      }
      &::after {
        display: block;
        content: "";
        width: 100%;
        height: 1px;
        background-color: #cacaca;
        grid-area: 1 / 2 / 2 / 3;
      }
      .txt {
        font-weight: 700;
        font-size: 1.11rem;
        grid-area: 2 / 1 / 3 / 3;
      }
      &.text-align-left {
        .txt {
          text-align: left;
        }
      }
      &.text-align-center {
        .txt {
          text-align: center;
        }
      }
      &.text-align-right {
        .txt {
          text-align: right;
        }
      }
    }
    &.type02 {
      margin-inline: auto;
      width: fit-content;
      text-align: center;
      &::after {
        margin-top: 1rem;
        margin-inline: auto;
        display: block;
        content: "";
        width: 4.44rem;
        height: 4px;
        border-radius: 4px;
        background-color: #005bac;
      }
      .txt {
        font-weight: 700;
        font-size: 1.11rem;
      }
      &.text-align-left {
        width: fit-content;
        margin-left: 0;
        margin-right: auto;
      }
      &.text-align-center {
        width: fit-content;
        margin-inline: auto;
      }
      &.text-align-right {
        width: fit-content;
        margin-left: auto;
        margin-right: 0;
      }
    }
    &.type03 {
      width: 100%;
      padding-bottom: 1.2rem;
      border-bottom: 3px solid #005bac;
      .txt {
        display: block;
        font-weight: 700;
        font-size: 1.11rem;
      }
      &.text-align-left {
        .txt {
          text-align: left;
        }
      }
      &.text-align-center {
        .txt {
          text-align: center;
        }
      }
      &.text-align-right {
        .txt {
          text-align: right;
        }
      }
    }
    &.type04 {
      padding-left: 1.2rem;
      border-left: 3px solid #005bac;
      .txt {
        font-weight: 700;
        font-size: 1.11rem;
      }
      &.text-align-left {
        width: fit-content;
        margin-left: 0;
        margin-right: auto;
      }
      &.text-align-center {
        width: fit-content;
        margin-inline: auto;
      }
      &.text-align-right {
        width: fit-content;
        margin-left: auto;
        margin-right: 0;
      }
    }
  }
}
.single_content_img_wrap {
  margin-bottom: 1.11rem;
  display: grid;
  row-gap: 2rem;
  @media (min-width: 768px) {
    margin-bottom: unset;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 2.33rem;
    row-gap: unset;
  }
}
.single_content_img {
  position: relative;
  width: 100%;
  margin: unset;
  img {
    width: 100%;
    height: auto;
    border-radius: 6px;
  }
  figcaption {
    display: block;
    margin-top: 0.44rem;
    font-weight: 400;
    font-size: 0.78rem;
  }
} */

// 今回ご協⼒いただいたのは
/* .shop {
  position: relative;
  padding-block: 1rem;
  &::after {
    position: absolute;
    left: calc((100vw - 100%) / 2 * -1);
    top: 0;
    width: calc(100% + (100vw - 100%));
    height: 100%;
    content: "";
    background-color: #ececec;
    z-index: -1;
  }
  @media (min-width: 768px) {
    padding-block: 2.11rem;
  }
}
.shop_container {
  display: grid;
  row-gap: 1rem;
  @media (min-width: 768px) {
    margin-bottom: 4rem;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 2rem;
    align-items: center;
    row-gap: unset;
    max-width: 920px;
  }
}
.shop_ttl {
  margin-bottom: 0.4rem;
  font-size: 1.11rem;
  font-weight: 500;
  color: #000000;
}
.shop_subttl {
  margin-bottom: 0.4rem;
  font-size: 1.2rem;
  font-weight: 700;
  color: #000000;
  @media (min-width: 768px) {
    margin-bottom: 1.2rem;
    font-size: 1.33rem;
  }
}
.shop_info_list {
  display: flex;
  flex-direction: column;
  row-gap: 0.4rem;
}
.shop_info_item {
  display: grid;
  grid-template-columns: 2fr 5fr;
  column-gap: 1rem;
  @media (min-width: 768px) {
    grid-template-columns: 1fr 5fr;
    column-gap: 2rem;
  }
  dt {
    font-weight: 500;
    font-size: 0.89rem;
  }
  dd {
    font-weight: 500;
    font-size: 0.89rem;
  }
}
.shop_img {
  margin: unset;
  width: 100%;
  border-radius: 6px;
  overflow: hidden;
  img {
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
  }
} */

// オススメ記事
.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: 100%;
          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_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;
      }
    }
  }
}

// 製品紹介関連製品
.product-relation_slider_wrap {
  overflow: hidden;
  > * {
    min-width: 0;
    min-height: 0;
  }
}
.product-relation_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;
  }
}
.product-relation_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_product-relation {
  overflow: hidden;
  min-height: 0;
  min-width: 0;
  width: 100%;
  .swiper-wrapper {
    /*     margin-right: -12px; */
    max-height: 100% !important;
    height: 100% !important;
    display: flex !important;
    min-height: 0 !important;
    min-width: 0 !important;
    /*     @media(min-width: 768px) {
      margin-right: -16px;
    } */
    .swiper-slide {
      overflow: hidden;
      width: calc(50% - 12px) !important;
      flex-shrink: 0 !important;
      display: flex !important;
      height: 100% !important;
      max-height: 100% !important;
      flex-direction: column;
      row-gap: 0.67rem;
      text-decoration: unset;
      @media (min-width: 768px) {
        width: calc(25% - 12px) !important;
      }
      .product-relation_img {
        margin: unset;
        width: 100%;
        position: relative;
        aspect-ratio: 186 / 270;
        overflow: hidden;
        border-radius: 5px;
        img {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          object-fit: contain;
          object-position: center;
        }
      }
      .product-relation_slide_ttl {
        margin: unset;
        font-size: 0.89rem;
        font-weight: 700;
        color: #000000;
      }
    }
  }
}

/* 前へ戻るボタン */
.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;
  }
}

/* 関連製品・関連記事セクション */
.case_product_relation_sec {
  margin-bottom: 80px;
}
.case_relation_article_sec {
/*   margin-top: 80px; */
}