/* ============================================
   ブログ一覧 B
   ============================================ */

/* --- モジュール配置エリア --- */
.blog-b__module-area {
  max-width: 100%;
}

.blog-b__module-area .dnd-section {
  max-width: 100%;
  padding: 0;
}
.blog-b__module-area .dnd-section .dnd-column,
.blog-b__module-area .dnd-section .content-wrapper,
.blog-b__module-area .dnd-section > .row-fluid {
  max-width: 100%;
  padding: 0;
}

.blog-b__module-area:first-child {
  margin-top: 116px;
}

/* --- メインレイアウト --- */
.blog-b {
  max-width: calc(1248px + 80px);
  width: 100%;
  margin: 0 auto;
  padding: 80px 40px;
}

.blog-b__inner {
  display: flex;
  gap: 48px;
}

.blog-b__main {
  flex: 1;
  min-width: 0;
}

/* --- タグフィルター --- */
.blog-b__filter {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 40px;
}

.blog-b__filter-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 15px 23px;
  border: 1px solid #E9E9EA;
  border-radius: 0;
  background: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1;
  color: #1a1c1e;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
  border-radius: 8px;
}

.blog-b__filter-btn:hover {
  background: #4C4F50;
  color: #fff;
  text-decoration: none;
  font-family: "Noto Sans JP", sans-serif;
}

.blog-b__filter-btn--active {
  background: #4C4F50;
  border-color: #4C4F50;
  color: #fff;
}

.blog-b__filter-btn--active:hover {
  background: #333;
  color: #fff;
}

/* --- 記事カードグリッド --- */
.blog-b__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 72px 40px;
}

/* --- 記事カード --- */
.blog-b__card {
  display: flex;
  flex-direction: column;
  gap: 24px;
  text-decoration: none;
  color: inherit;
  transition: opacity 0.2s ease;
}

.blog-b__card:hover {
  opacity: 0.8;
  text-decoration: inherit;
}

.blog-b__card-thumb {
  position: relative;
  width: 100%;
  aspect-ratio: 400 / 225;
  overflow: hidden;
  background: #f4f5f5;
}

.blog-b__card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.blog-b__card-body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}


.blog-b__card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.blog-b__card-tag {
  display: inline-flex;
  align-items: center;
  padding: 8px 17px;
  border-radius: 4px;
  background: #f4f5f5;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1;
  color: #25282a;
  white-space: nowrap;
}

.blog-b__card-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 32px;
  color: #1a1c1e;
  margin: 0;
}

/* --- Pagination --- */

.blog-b__pagination {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 16px;
  margin-top: 48px;
}

.blog-b__pagination-pages {
  display: flex;
  align-items: center;
}

.blog-b__page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 48px;
  height: 48px;
  font-family: "Yantramanav", sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: var(--color-text-default, #25282a);
  text-decoration: none;
  transition: background-color 0.3s;
}

.blog-b__page-link:hover {
  background-color: var(--color-primary, #e60012);
  text-decoration: none;
  color: #fff;
  font-family: "Yantramanav", sans-serif;
}

.blog-b__page-link--current {
  background-color: var(--color-primary, #e60012);
  color: #fff;
}

.blog-b__page-link--arrow {
  border: 1px solid var(--Border-Default, #E5E5E5);
}

.blog-b__page-link--arrow:hover {
  background-color: var(--color-primary, #e60012);
  border: 1px solid var(--color-primary, #e60012);
}

.blog-b__page-link--arrow:hover img {
  filter: brightness(0) invert(1);
}

.blog-b__page-link--arrow.is-disabled {
  pointer-events: none;
}

/* ============================================
   サイドバー
   ============================================ */
.blog-b__sidebar {
  width: 320px;
  flex-shrink: 0;
}

/* --- メルマガ登録 --- */
.blog-b__newsletter {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 32px 20px;
  text-decoration: none;
  color: #1a1c1e;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 32px;
  transition: all 0.3s ease;
  justify-content: center;
  background-color: #F9FAFA;
}

.blog-b__newsletter:hover {
  background: #E60012;
  color: #fff;
  text-decoration: none;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 32px;
}

.blog-b__newsletter-icon {
  flex-shrink: 0;
  transition: all 0.3s ease;
}

.blog-b__newsletter:hover .blog-b__newsletter-icon{
  filter: brightness(0) invert(1);
}

/* サイドバー記事スタイルは blog_side_article.module/module.css に移動 */

/* ============================================
   ブログ詳細 B
   ============================================ */

/* --- ヘッダー分の余白 --- */
.blog-post-b__body-wrapper {
  margin-top: 116px;
}

/* --- メインレイアウト --- */
.blog-post-b {
  max-width: calc(1248px + 80px);
  width: 100%;
  margin: 0 auto;
  padding: 80px 40px 80px;
}

.blog-post-b .blog-post-b__inner {
  display: flex;
  gap: 48px;
}

.blog-post-b .blog-post-b__main {
  flex: 1;
  min-width: 0;
}

/* --- メタ情報（日付 + タグ） --- */
.blog-post-b .blog-post-b__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin-bottom: 40px;
}

.blog-post-b .blog-post-b__date {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1;
  color: #25282a;
  margin: 0;
}

.blog-post-b .blog-post-b__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.blog-post-b .blog-post-b__tag {
  align-items: center;
  background: #f4f5f5;
  border-radius: 4px;
  color: #25282a;
  display: inline-flex;
  font-family: Noto Sans JP, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  padding: 8px 16px;
  text-decoration: none;
  white-space: nowrap;
}

.blog-post-b .blog-post-b__tag:hover {
  background: #e9e9ea;
  color: #25282a;
}

/* --- タイトル --- */
.blog-post-b .blog-post-b__title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 32px;
  line-height: 48px;
  color: #1a1c1e;
  margin: 0;
}

.blog-post-b .blog-post-b__subtitle-wrap {
  margin-top: 24px;
}

.blog-post-b .blog-post-b__subtitle-wrap p{
  font-size: 18px;
  margin: 0;
}

/* --- 目次 --- */
.blog-post-b__toc {
  background-color: #F9FAFA;
  padding: 24px;
  margin-bottom: 40px;
}

.blog-post-b__toc-heading {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 32px;
  color: #1a1c1e;
  margin: 0 0 8px;
}

.blog-post-b .blog-post-b__toc-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.blog-post-b__toc-link {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  text-decoration: none;
  color: #1a1c1e;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 32px;
  transition: opacity 0.2s ease;
  align-items: center;
}

.blog-post-b__toc-link:visited {
  color: #1a1c1e;
}

.blog-post-b__toc-link:hover,
.blog-post-b__toc-link:active {
  opacity: 0.7;
  color: #1a1c1e;
  text-decoration: none;
}

.blog-post-b__toc-link-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.blog-post-b ul li .blog-post-b__toc-sublist {
  margin: 0 0 0 30px;
  padding: 0 0 0 32px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.blog-post-b .blog-post-b__toc-sublist .blog-post-b__toc-link {
  font-size: 16px;
}

.blog-post-b .blog-post-b__toc-link, .blog-post-b .blog-post-b__toc-sublist .blog-post-b__toc-link:hover{
  font-family: "Noto Sans JP", sans-serif;
}

/* --- アイキャッチ画像 --- */
.blog-post-b .blog-post-b__featured {
  margin-top: 40px;
  margin-bottom: 40px;
  overflow: hidden;
}

.blog-post-b .blog-post-b__featured img {
  display: block;
  width: 100%;
  height: auto;
}

/* --- 記事本文 --- */
.blog-post-b__body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 28px;
  color: #25282a;
}

.blog-post-b__body h1 {
  font-weight: 700;
  font-size: 24px;
  line-height: 36px;
  color: #1a1c1e;
  margin: 48px 0 20px;
  padding-bottom: 12px;
  border-bottom: 2px solid #1a1c1e;
}

.blog-post-b__body h2 {
  font-weight: 700;
  font-size: 20px;
  line-height: 32px;
  color: #1a1c1e;
  margin: 40px 0 16px;
}

.blog-post-b__body h3 {
  font-weight: 700;
  font-size: 18px;
  line-height: 28px;
  color: #1a1c1e;
  margin: 32px 0 12px;
}

.blog-post-b__body h5 {
  font-weight: 700;
  font-size: 16px;
  line-height: 26px;
  color: #1a1c1e;
  margin: 28px 0 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e0e0e0;
}

.blog-post-b__body p {
  margin: 0 0 20px;
}

.blog-post-b__body img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 24px 0;
}

.blog-post-b__body ul,
.blog-post-b__body ol {
  margin: 20px 0;
  padding-left: 24px;
}

.blog-post-b__body li {
  margin-bottom: 8px;
}

.blog-post-b__body table {
  width: 100%;
  border-collapse: collapse;
  margin: 24px 0;
  font-size: 14px;
  line-height: 1.5;
}

.blog-post-b__body th {
  background: #f4f5f5;
  font-weight: 500;
  text-align: center;
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
}

.blog-post-b__body td {
  padding: 12px 16px;
  border: 1px solid #e0e0e0;
  text-align: center;
}

.blog-post-b__body .toc,
.blog-post-b__body [class*="toc"] {
  background: #f9fafa;
  border: 1px solid #e0e0e0;
  padding: 24px 32px;
  margin: 32px 0;
}

.blog-post-b__body a {
  color: #cc0000;
  text-decoration: underline;
}

.blog-post-b__body a:hover {
  opacity: 0.8;
}

.blog-post-b__body blockquote {
  border-left: 4px solid #cc0000;
  margin: 24px 0;
  padding: 16px 24px;
  background: #f9fafa;
  color: #25282a;
}

.blog-post-b__body .hs-cta-wrapper {
  display: flex;
  justify-content: center;
  margin: 40px 0;
}

/* ============================================
   ブログ詳細 B > 関連記事
   ============================================ */
ul{
  list-style: none;
  padding: 0;
}

figure{
  margin: 0;
}

.related-posts{
  max-width: 1248px;
  padding-block: 80px;
  margin: 0 auto;
}
@media (max-width: 767px){
  .related-posts{
    max-width: 100%;
    padding-block: 40px;
    padding-inline: 16px;
  }
}

.related-posts__heading{
  color: var(--Text-Strong, #1A1C1E);
  font-family: var(--font-family-sans);
  font-size: var(--fontSize-Heading-Heading-2, 36px);
  font-style: normal;
  font-weight: 500;
  line-height: var(--fontSize-Heading-lh-Heading-2, 54px);
}
@media (max-width: 767px){
  .related-posts__heading{
  font-size: var(--fontSize-Heading-Heading-2, 27px);
  line-height: var(--fontSize-Heading-lh-Heading-2, 40px);
  }
}

.related-posts__list{
  display: flex;
  align-items: center;
  align-content: center;
  gap: 36px;
  flex-wrap: wrap;
}
@media (max-width: 767px){
  .related-posts__list{
    flex-direction: column;
    flex-wrap: nowrap;
  }
}

.related-posts__item{
  min-width: var(--Min-Width-Grid-3-Grid, 392px);
  max-width: 392px;
}
@media (max-width: 767px){
  .related-posts__item{
    min-width: 100%;
    max-width: 100%;
  }
}

.related-posts__item .related-posts__link{
  display: block;
  text-decoration: none;
  width: 100%;
  height: 100%;
}

.related-posts__item .related-posts__link:hover{
  opacity: .8;
}

.related-posts__visual{
  width: 100%;
  height: 220px;
  overflow: hidden;
  margin-bottom: 24px;
}
@media (max-width: 767px){
  .related-posts__visual{
    height: 192.5px;
    margin-bottom: 16px;
  }
}

.related-posts__visual img{
  width:100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.related-posts__date{
  display: flex;
  align-items: center;
  margin-bottom: 16px;
}
@media (max-width: 767px){
  .related-posts__date{
    margin-bottom: 12px;
  }
}

.related-posts__desc,
.related-posts__time{
  color: var(--Text-Default, #25282A);
  font-family: var(--font-family-sans);
  font-size: var(--fontSize-Body-S, 14px);
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  margin: 0;
}
@media (max-width: 767px){
  .related-posts__desc,
  .related-posts__time{
    font-size: 12px;
  }
}

.related-posts__title{
  color: var(--Text-Strong, #1A1C1E);
  font-family: var(--font-family-sans);
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 32px;
  margin-bottom: 0;
}
@media (max-width: 767px){
  .related-posts__title{
    font-size: 16px;
    line-height: 28px;
  }
}

/* ============================================
   関連記事 - もっと見るリンク
   ============================================ */
.related-posts__more {
  display: flex;
  margin-top: 40px;
}
@media (max-width: 767px) {
  .related-posts__more {
    margin-top: 30px;
  }
}

.related-posts__more-link {
  align-items: center;
  border-bottom: 2px solid var(--Border-TextColor, #25282a);
  display: flex;
  gap: 8px;
  padding: 16px 0;
  text-decoration: none;
}

.related-posts__more-arrow{
  align-items: center;
  border: 1px solid #e9e9ea;
  background-color: #fff;
  display: flex;
  flex-shrink: 0;
  height: var(--Icon-Square_Button_32, 32px);
  justify-content: center;
  width: var(--Icon-Square_Button_32, 32px);¥
  transition: opacity 0.2s ease;
  padding: 4px;
}
@media (max-width: 767px){
  .related-posts__more-arrow{
    width: 28px;
    height: 28px;
    padding: 2px;
  }
}
.related-posts__more-link:hover .related-posts__more-arrow{
  background-color: #E60012
}

.related-posts__more-text{
  color: var(--Text-Strong, #1a1c1e);
  font-family: var(--font-family-sans);
  font-size: var(--fontSize-Body-XL, 20px);
  font-weight: 500;
  line-height: 160%;
  margin: 0;
}
@media (max-width: 767px){
  .related-posts__more-text{
    font-size: 18px;
    height: 28px;
  }
}

.related-posts__more-link:hover {
  border-color: #E60012;
  text-decoration: none;
}

.related-posts__more-link:hover .related-posts__more-icon{
    filter: brightness(0) invert(1);
}
.related-posts__more-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}


/* ============================================
h2
============================================ */
.blog-post-b__body h1 {
  color: var(--Text-Strong, #1A1C1E);
  font-family: var(--font-family-sans);
  font-size: var(--fontSize-Heading-Heading-2, 36px);
  font-style: normal;
  font-weight: 500;
  line-height: var(--fontSize-Heading-lh-Heading-2, 54px); /* 150% */
  letter-spacing: var(--LetterSpacing-JP-Heading, 0);
}

/* ============================================
h3
============================================ */
.blog-post-b__body h2 {
  padding: var(--Spacing_ratio_075-__200, 16px) var(--Spacing_ratio_075-__300, 24px);
  background: var(--Surface-Sunken, #F9FAFA);
  color: var(--Text-Strong, #1A1C1E);
  font-family: var(--font-family-sans);
  font-size: var(--fontSize-Heading-Heading-5, 24px);
  font-style: normal;
  font-weight: 500;
  line-height: var(--fontSize-Heading-lh-Heading-5, 38px); /* 158.333% */
  letter-spacing: var(--LetterSpacing-JP-Heading, 0);
}

/* ============================================
h4
============================================ */
.blog-post-b__body h3{
  color: var(--Text-Strong, #1A1C1E);
  font-family: var(--font-family-sans);
  font-size: var(--fontSize-Heading-Heading-5, 24px);
  font-style: normal;
  font-weight: 500;
  line-height: var(--fontSize-Heading-lh-Heading-5, 38px); /* 158.333% */
  letter-spacing: var(--LetterSpacing-JP-Heading, 0);
}

/* ============================================
h5
============================================ */
.blog-post-b__body h5{
  border-bottom: 1px solid var(--Border-TextColor, #25282A);
  padding-bottom: var(--Spacing_ratio_075-__200, 16px);
  color: var(--Text-Strong, #1A1C1E);
  font-family: var(--font-family-sans);
  font-size: var(--fontSize-Body-XL, 20px);
  font-style: normal;
  font-weight: 500;
  line-height: var(--fontSize-Body-lh-XL, 32px); /* 160% */
  letter-spacing: var(--LetterSpacing-JP-Body, 0);
}

/* ============================================
引用文
============================================ */
.blog-post-b__body blockquote{
  background: var(--surface-sunken-1, #F4F5F5);
  padding: 16px;
  margin: 0;
}
.blog-post-b__body blockquote > p{
  margin: 0;
  padding: 0 var(--Spacing_ratio_075-__200, 16px);
  border-left: 2px solid var(--Border-Strong, #A1A3A3);
  color: var(--Text-Default, #25282A);
  font-family: var(--font-family-sans);
  font-size: var(--fontSize-Body-M, 16px);
  font-style: normal;
  font-weight: 400;
  line-height: var(--fontSize-Body-lh-M, 28px); /* 175% */
  letter-spacing: var(--LetterSpacing-JP-Body, 0);
}

/* ============================================
コードブロック
============================================ */
.blog-post-b__body code{
  display: block;
  padding: 16px 24px;
  background: var(--surface-sunken-1, #F4F5F5);
  color: var(--Text-Default, #25282A);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: var(--LetterSpacing-JP-Body, 0);
  overflow-x: auto;
  white-space: pre-wrap;
  word-break: break-all;
}

/* ============================================
本文
============================================ */
.blog-post-b__body p {
  font-size: 16px;
  line-height: 175%;
}


/* ============================================
リスト共通
============================================ */
.blog-post-b__body ul,
.blog-post-b__body ol {
  margin: 0 0 24px;
  padding-left: 1.5em;
}

.blog-post-b__body li {
  font-size: 16px;
  line-height: 1.75;
}

/* ============================================
リスト（チェックマーク）
============================================ */
/* circle（○）が指定された時 → チェックマークSVGに置き換え */
.blog-post-b__body ul[style*="circle"] {
  list-style: none;
  padding-left: 0;
}

.blog-post-b__body ul[style*="circle"] li{
  padding-left: 1.5em;
  position: relative;
  font-size: 18px;
  font-weight: 400;
  line-height: 32px;
  color: var(--Text-Default, #25282A);
  margin-bottom: 8px;
}

.blog-post-b__body ul[style*="circle"] li p {
  margin: 0 0 8px 0;
  padding: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
}

/*デフォルトのmakerを非表示*/
.blog-post-b__body ul[style*="circle"] li::marker {
  content: none;
}

.blog-post-b__body ul[style*="circle"] li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.4em;
  width: 24px;
  height: 24px;
  background-image: url("/hubfs/241931904/ryoden-dev/check_primary.svg");
  background-size: contain;
  background-repeat: no-repeat;
}

/* ============================================
リスト（中黒）
============================================ */
.blog-post-b__body ul li{
  font-size: 16px;
  line-height: 175%;
  font-weight: 400;
  color: var(--Text-Default, #25282A);
  margin: 0;
}

.blog-post-b__body ul li p{
  margin: 0;
}

/* リスト中黒のネストも黒へ */
.blog-post-b__body ul li ul {
  list-style-type: disc;
  margin: 0;
}

.blog-post-b__body ul li ul li::marker {
  color: var(--Text-Default, #25282A);
}

/* ============================================
数字リスト
============================================ */

/* 数字リストのネストを英字へ */
.blog-post-b__body ol li ol {
  list-style-type: lower-alpha;
  margin: 0;
}
.blog-post-b__body ol li p{
  margin: 0;
}

/* ============================================
リッチテキスト内テーブル
============================================ */
.blog-post-b__body tbody{
  border: none;
}

/* テーブル全体 */
.blog-post-b__body table {
  width: 100%;
  max-width: 936px;
  border-collapse: collapse;
  border: none;
}

.blog-post-b table tr{
  border: none !important;
}

/* 全セル共通 */
.blog-post-b table td {
  padding: 24px !important;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 175%;
  color: var(--Text-Default, #25282A);
  border-bottom: 1px solid #E5E5E5;
  vertical-align: top;
  background-color: #fff !important;  /* インラインスタイルを上書き */
}

/* 左列（見出し）*/
.blog-post-b table td:first-child {
  width: 160px !important;
  height: 100%;
  min-width: 140px;
  font-weight: 500;
  background-color: var(--color-surface-sunken, #F4F5F5) !important;
  white-space: nowrap;
}

/* 最初の行の上にもボーダー */
.blog-post-b table tr:first-child td {
  border-top: 1px solid #E5E5E5;
}

/* 最初の行の上にもボーダー */
.blog-post-b div:has(> .cta-button_black) {
  text-align: center;
}

/* モジュールを全幅に */
.blog-post-b .contact-cta {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: 100vw;
}

/* ============================================
   レスポンシブ
   ============================================ */
   @media (max-width: 1024px) {
    .blog-b__inner,
    .blog-post-b__inner {
      flex-direction: column;
      gap: 36px;
    }
  
    .blog-b__sidebar {
      width: 100%;
    }
  }
  
  @media (max-width: 767px) {
  
    .blog-b__newsletter {
      font-size: 16px;
      line-height: 28px;
      padding: 24px 20px;
    }
  
    .blog-b__module-area:first-child {
      margin-top: 64px;
    }
  
    .blog-b {
      padding: 40px 16px;
    }
  
    .blog-b__filter {
      flex-wrap: nowrap;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      gap: 12px;
      margin-bottom: 30px;
      scrollbar-width: none;
    }

    .blog-b__filter::-webkit-scrollbar {
      display: none;
    }

    .blog-b__filter-btn {
      padding: 8px 16px;
      font-size: 15px;
      flex-shrink: 0;
      padding: 15px 23px;
    }
  
    .blog-b__grid {
      grid-template-columns: 1fr;
      gap: 30px;
    }
  
    .blog-b__card {
      gap: 16px;
    }
  
    .blog-b__card-body {
      gap: 12px;
    }
  
    .blog-b__card-tags {
      gap: 6px;
    }
  
    .blog-b__card-tag {
      font-size: 12px;
      padding: 6px 13px;
    }
  
    .blog-b__card-title {
      font-size: 16px;
      line-height: 28px;
    }
  
    .blog-b__pagination {
      margin-top: 40px;
    }

    /*--------------- 
    
    ブログ詳細B
    
    ---------------*/

    .blog-post-b {
      padding: 40px 16px 60px;
    }

    .blog-post-b .blog-post-b__date {
      font-size: 12px;
    }

    .blog-post-b .blog-post-b__meta {
      gap: 18px;
      margin-bottom: 30px;
    }
  
    .blog-post-b .blog-post-b__title {
      font-size: 27px;
      line-height: 40px;
    }

    .blog-post-b .blog-post-b__subtitle-wrap {
      margin-top: 16px;
    }

    .blog-post-b .blog-post-b__subtitle-wrap p{
      font-size: 16px;
      line-height: 28px;
      margin: 0;
    }
    .blog-post-b .blog-post-b__featured {
      margin: 30px 0;
    }

    .blog-post-b .blog-post-b__toc {
      padding: 16px;
      margin-bottom: 30px;
    }

    .blog-post-b .blog-post-b__toc-heading {
      font-size: 16px;
      line-height: 28px;
    }
    .blog-post-b .blog-post-b__toc-link {
      font-size: 16px;
      line-height: 28px;
    }
    .blog-post-b ul li .blog-post-b__toc-sublist {
      margin: 0 0 0 20px;
    }
    .blog-post-b .blog-post-b__toc-sublist .blog-post-b__toc-link {
      font-size: 14px;
      line-height: 22px;
    }
    .blog-post-b .blog-post-b__inner {
      gap: 36px;
    }

    /*--------------- 
    
    詳細ページ パーツ
    
    ---------------*/
  
    .blog-post-b__body h1 {
      font-size: 20px;
      line-height: 30px;
      margin: 36px 0 16px;
    }
  
    .blog-post-b__body h2 {
      font-size: 18px;
      line-height: 28px;
      margin: 28px 0 12px;
    }
  
    .blog-post-b__body table {
      font-size: 12px;
    }
  
    .blog-post-b__body th,
    .blog-post-b__body td {
      padding: 8px 10px;
    }

  .blog-post-b__body table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  
  .blog-post-b__body table tbody{
    display: table;
    min-width: 936px;
    width: 100%;
  }

  .blog-post-b table td:first-child {
    width:160px!important;
    min-width: 140px;
    white-space:nowrap;                                                                                                                                                                                
  }
}