.bl_caseDetails_main__title .innerLeft .innerLeft__blogTitle { /* H1ジャンプ率アップ */
  font-size: 40px;
  line-height: 140%;
}

.inner__textArea__company { /* 得意先名色変更 */
  color: #0068b5 !important;
}

.bl_caseDetailTitle__inner .inner__textArea .inner__textArea__assignment .assignmentTitle { /* POINT調整 */
  font-size: 13px;
}

.bl_caseDetailTitle__inner .inner__textArea .inner__textArea__assignment {
  gap: 16px;
}

.bl_caseDetailTitle__inner .inner__textArea .inner__textArea__tagList .tagListItem { /* タグ調整 */
  padding: 6px 16px 8px;
}

.bl_caseDetails_main__title .innerRight .blogFeaturedImage img { /* KV表示アスペクト比指定 */
  border-radius: 0;
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  object-position: center top;
}

.el_caseDetailsText { /* リードモジュールベースカラー設定漏れ対応 */
  color: #121212;
}

.el_caseDetailsText h2 { /* リードモジュール内H2スタイル設定 */
  font-size: 17px;
  font-weight: bold;
  margin: 0 0 0.2rem;
}

.el_caseDetailsStep { /* 概要モジュール（ステップ）最大幅設定 */
  max-width: 880px;
  margin: 0 auto;
}

.el_caseDetailH2Blue { /* 概要モジュール（ステップ）H2調整 */
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
  line-height: 140%;
  padding-top: 32px;
  padding-bottom: 0;
}

.el_caseDetailsStep_heading { /* 概要モジュール（ステップ）丸見出し調整 */
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 600;
  line-height: 120%;
  letter-spacing: .08em;
}

.el_caseDetailsStep_list:nth-of-type(2) .el_caseDetailsStep_heading {
  padding: 8px 0 0 2px;
  letter-spacing: .08em;
}

.el_caseDetailsStep_items li:not(:last-child) { /* 概要モジュール（ステップ）リストタグ行間 */
  margin-bottom: 0.8rem;
}

.bl_postBody { /* ブログコンテンツ（本文）上下余白・最大幅 */
  margin: 0 auto;
  max-width: 920px;
  padding: 80px 20px;
}

.bl_ctaContnt_btn { /* 同一CTAスタイル統一 */
  width: 400px;
}

/*--- ブログコンテンツ（本文）基本設定 ---*/
#blog-content h2 {
  font-size: 32px;
  color: #222;
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 136%;
  background: none;
  width: 100%;
  padding: 4rem 0.6rem 0.4rem 0;
  margin: 0 0 1rem;
  position: relative;
  border-left: none;
  border-bottom: 4px solid #0068b5;
}

#blog-content h2::before {
  content: '';
  position: absolute;
  bottom: -4px;
  width: 8%;
  height: 4px;
  background: #98c2e1;
}

#blog-content h3 {
  font-size: 26px;
  color: #0079b9;
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: normal;
  line-height: 136%;
  width: 100%;
  padding: 2rem 0 0;
  margin: 0 0 0.8rem;
}

#blog-content h4 {
  font-size: 17px;
  font-weight: bold;
  padding: 0.2rem 0;
}

#blog-content h5 {
  color: #0079b9;
  margin-top: -6px;
}

#blog-content h4+h5 {
  margin-top: 4px;
}

#blog-content p {
  margin: 0 0 0.8rem;
}

#blog-content .bl_blogImg {
  margin: 48px 0;
}

.bl_blogImgText_col2_text p { /* 画像モジュールキャプション用 */
  font-size: 13px !important;
  line-height: 140% !important;
  margin: 8px 0 0 !important;
}

.bl_blogImgText_col2_wrap {
  gap: 8%;
}

.add_info { /* 補足情報テキスト欄 */
  margin: 2.4rem 0 0 !important;
}

/*--- その他の事例表示改修 ---*/
.bl_columnOutput_image {
  border-radius: 0;
}

.bl_columnOutput_titleText {
  display: -webkit-box;
  -webkit-box-orient: vertical;
}

.bl_columnOutput_cardItem {
  align-items: flex-start;
}

.bl_columnOutput_cardItemTitle {
  width: fit-content;
  white-space: nowrap;
}

.bl_columnOutput_cardItemDetail,
.bl_columnOutput_cardItemTitle {
  line-height: 140% !important;
}

.bl_columnOutput_cardBodyWrap>div:not(div + div) {
  display: none;
}



/* 画像モジュール表示調整（ブログ詳細_画像テキスト_2カラム） */
.bl_blogImgText_col2_wrap {
  justify-content: center;
  /* 子要素が1つの場合中央配置 */
  width: 100%;
}

.bl_blogImgText_col2 {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.bl_blogImgText_col2:only-child img {
  display: block;
  max-height: 480px;
  width: auto;
  margin: 0 auto;
  object-position: center;
}

.bl_blogImgText_col2:only-child p {
  text-align: center;
}

.bl_blogImgText_col2_img img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  /* 画像全体を収める */
  object-position: left center;
}

#hs_cos_wrapper_post_body>div+div ul.bl_blogImgText_col2_wrap { /* 画像モジュール連続表示時 */
  padding-top: 16px;
}

#hs_cos_wrapper_post_body>div:not(:has(+ div)) ul { /* 最下部画像調整 */
  padding-bottom: 24px !important;
}

/* ===== モバイルスタイル ===== */
@media screen and (max-width: 768px) { /* H1 */
  .bl_caseDetails_main__title .innerLeft .innerLeft__blogTitle {
    font-size: 32px;
    line-height: 136%;
  }

  .bl_caseDetails_main__title .innerLeft { /* H1エリア余白調整 */
    gap: 16px;
  }

  .bl_caseDetails_main__title {
    gap: 32px;
  }

  .bl_caseDetailTitle__inner .inner__textArea {
    gap: 16px;
  }

  .bl_caseDetailTitle__inner .inner__textArea .inner__textArea__company {
    letter-spacing: 0.8px;
    line-height: 120%;
  }

  .bl_caseDetailTitle__inner .inner__textArea .inner__textArea__type { /* 業態調整 */
    align-items: flex-start;
    line-height: 140%;
    gap: 0;
  }

  .bl_caseDetailTitle__inner .inner__textArea .inner__textArea__type .typePreset {
    line-height: 140%;
    white-space: nowrap;
  }

  .bl_caseDetailTitle__inner .inner__textArea .inner__textArea__type .typeText {
    line-height: 140%;
  }

  .bl_caseDetailTitle__inner .inner__textArea .inner__textArea__assignment .assignmentTitle {
    padding: 3px 0 5px;
  }

  .bl_caseDetailTitle__inner .inner__textArea .inner__textArea__assignment {
    gap: 6px;
  }

  .bl_caseDetailTitle__inner .inner__textArea .inner__textArea__assignment .assignmentText {
    font-size: 15px;
    line-height: 136%;
    width: 100%;
  }

  .bl_caseDetailTitle__inner .inner__textArea .inner__textArea__assignment {
    border-top: none;
    border-bottom: none;
    padding-bottom: 0;
  }

  .bl_caseDetailTitle__inner .inner__textArea .inner__textArea__tagList { /* タグ調整 */
    flex-direction: row;
  }
.bl_caseDetails_main__title .innerRight .blogFeaturedImage img { /* KV調整 */
    width: 100%;
    height: auto;
    max-height: 50vh;
    object-fit: contain;
    aspect-ratio: auto;
}

  .el_caseDetailsText p {
    line-height: 160%;
  }

  .el_caseDetailH2Blue {
    font-size: 32px;
    line-height: 140%;
    padding-top: 32px;
    padding-bottom: 0;
  }

  .mt_48 {
    margin-top: 16px;
  }

  .el_caseDetailsStep_list {
    gap: 16px;
    padding: 24px 4px;
  }

  .el_caseDetailsStep_items li {
    padding-left: 12px;
  }

  .el_caseDetailsStep_heading {
    font-size: 17px;
    height: 72px;
    width: 72px;
    padding: 4px 0 0 1px
  }

  .el_caseDetailsStep_list:nth-of-type(2) .el_caseDetailsStep_heading {
    padding: 8px 0 0;
    letter-spacing: 0;
  }

  .bl_postBody {
    padding: 40px 20px;
  }

  #blog-content h2 {
    padding: 1rem 0.6rem 0.4rem 0;
    margin: 0 0 1rem;
  }

  #blog-content h3 {
    font-size: 24px;
    padding: 24px 0 0;
  }

  /*その他の事例*/
  .bl_text {
    text-align: center;
  }

  .bl_columnOutput_wrapper {
    gap: 40px;
  }

  .bl_columnOutput_titleText {
    font-size: 22px;
  }

  .bl_columnOutput_card {
    gap: 0;
  }

  .bl_columnOutput_link {
    gap: 16px;
  }

  /*画像モジュール*/
  .bl_blogImgText_col2 {
    flex: inherit; /* 均等解除 */    
    padding-top: 24px;
    width: 100%;
    margin-bottom: 16px;
  }
	
/*=== スマホ用padding調整保留
  .bl_blogImgText_col2:last-of-type {
    margin-bottom: 40px;
  }
===*/
	
  .bl_blogImgText_col2_wrap {
    padding-top: 0;
  }

  #hs_cos_wrapper_post_body>div+div ul.bl_blogImgText_col2_wrap {
    padding-top: 0;
  }

  .bl_blogImgText_col2:only-child p {
    text-align: left;
  }

  /*CTA*/
  .bl_ctaSection_title {
    text-align: center;
  }

  .bl_ctaContnt_btn { /* 同一CTAスタイル統一 */
    width: 100%;
  }

  .bl_ctaContent_subText span { /* 限定改行でコンテンツ幅縮小への対応 */
    width: 100%;
  }
}