/*====================================================================
会社DB（/blog/db/）の強化（feature/db-hub-strengthen）
SCSSは使わずプレーンCSSで管理。読み込み：_admin/db-hub.php（/blog/db 配下と都道府県ページのみ）
対象：DBトップ・相談・掲載申込ページ、ハブ・都道府県ページの共通部品
（ラベル・会社カード・無料相談CTA・掲載申込リンク・内部リンク）
※ html の font-size は 62.5%（1rem＝10px）、SPは 2.6666vw
====================================================================*/

/* ---------- ラベル（運営会社・PR） ---------- */
.db-badge {
  display: inline-block;
  margin-left: 0.8rem;
  padding: 0.2rem 0.8rem;
  border-radius: 0.4rem;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
  vertical-align: middle;
  white-space: nowrap;
}

.db-badge--operator {
  background: #eef4fc;
  border: 0.1rem solid #1b75de;
  color: #1b75de;
}

.db-badge--pr {
  background: #fff;
  border: 0.1rem solid #6b7280;
  color: #4b5563;
}

/* ---------- 会社カード（FVキャプチャ・確認済みデータ） ---------- */
.db-company-facts {
  margin: 2rem 0 2.4rem;
}

.db-company-facts__name {
  margin: 0 0 1.2rem;
  font-size: 1.8rem;
  font-weight: 700;
}

.db-company-facts__figure {
  margin: 0 0 1.6rem;
}

.db-company-facts__figure img {
  display: block;
  width: 100%;
  height: auto;
  border: 0.1rem solid #e5e7eb;
  border-radius: 0.6rem;
}

.db-company-facts__caption {
  margin-top: 0.6rem;
  color: #6b7280;
  font-size: 1.2rem;
  line-height: 1.6;
}

.db-company-facts__list {
  margin: 0;
  border-top: 0.1rem solid #e5e7eb;
}

.db-company-facts__row {
  display: grid;
  grid-template-columns: 14rem 1fr;
  gap: 1.6rem;
  padding: 1rem 0;
  border-bottom: 0.1rem solid #e5e7eb;
  font-size: 1.4rem;
  line-height: 1.7;
}

.db-company-facts__row dt {
  color: #4b5563;
  font-weight: 700;
}

.db-company-facts__row dd {
  margin: 0;
  word-break: break-all;
}

.db-company-facts__row a {
  color: #1b75de;
  text-decoration: underline;
}

.db-company-facts.is-pr {
  padding: 1.6rem;
  border: 0.1rem dashed #9ca3af;
  border-radius: 0.8rem;
}

/* ---------- 無料相談CTA ---------- */
.db-consult-cta {
  margin: 3.2rem 0;
  padding: 2.8rem 2.4rem;
  background: #f2f7fd;
  border: 0.1rem solid #cfe0f6;
  border-radius: 1rem;
  text-align: center;
}

.entry-content .db-consult-cta.cta-inline,
.db-article-page__content .db-consult-cta.cta-inline {
  display: block;
  margin: 3.2rem 0;
}

.db-consult-cta__title {
  margin: 0 !important;
  color: #0f4c81;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}

.db-consult-cta__text {
  margin: 1rem auto 2rem !important;
  max-width: 56rem;
  font-size: 1.4rem;
  line-height: 1.8;
}

.db-consult-cta .db-consult-cta__button {
  margin: 0 auto;
}

/* ---------- 掲載申込リンク・掲載方針 ---------- */
.db-listing-link {
  margin: 2.4rem 0 0 !important;
  font-size: 1.3rem;
  text-align: right;
}

.db-listing-link a {
  color: #6b7280;
  text-decoration: underline;
}

.db-policy-note {
  margin: 3.2rem 0 0 !important;
  padding: 1.2rem 1.6rem;
  background: #f9fafb;
  border-radius: 0.6rem;
  color: #4b5563;
  font-size: 1.3rem;
  line-height: 1.8;
}

.db-policy-note a {
  color: #1b75de;
  text-decoration: underline;
}

.db-page-modified {
  margin-top: 1.2rem;
  color: #6b7280;
  font-size: 1.3rem;
}

/* ---------- ハブ：記事・LPへの内部リンク ---------- */
.db-related {
  margin: 5.6rem 0 0;
}

.db-related__title {
  margin: 0 0 2rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
}

.db-related__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(28rem, 1fr));
  gap: 1.2rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.db-related__list > li {
  margin: 0 !important;
  padding: 0 !important;
}

.db-related__list > li::before {
  content: none !important;
}

.db-related__item a {
  display: block;
  height: 100%;
  padding: 1.6rem 2rem;
  background: #fff;
  border: 0.1rem solid #ccc;
  border-radius: 1rem;
  color: #1a1f36;
  text-decoration: none;
  transition: border-color 0.2s ease;
}

.db-related__item a:hover {
  border-color: #1b75de;
}

.db-related__label {
  display: block;
  color: #1b75de;
  font-size: 1.2rem;
  font-weight: 700;
}

.db-related__name {
  display: block;
  margin-top: 0.4rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.6;
}

/* ---------- DBトップ・相談・掲載申込の共通 ---------- */
.db-page-body {
  padding: 3.2rem 4rem 4rem;
  background: #fff;
  border-radius: 1rem;
  font-size: 1.5rem;
  line-height: 1.9;
}

.db-section-title,
.db-top-section__title {
  margin: 0 0 2rem;
  padding-left: 1.2rem;
  border-left: 0.4rem solid #1b75de;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: left;
}

.db-page-body section + section {
  margin-top: 4.8rem;
}

.db-back-link {
  margin-top: 4rem;
  font-size: 1.4rem;
}

.db-back-link a {
  color: #1b75de;
  text-decoration: underline;
}

.db-note-list {
  margin: 0;
  padding-left: 1.8rem;
  list-style: disc;
  font-size: 1.4rem;
}

.db-note-list li,
.db-form-placeholder__list li,
.db-plan__list li {
  display: list-item;
  list-style: disc;
}

.db-note-list li + li {
  margin-top: 0.6rem;
}

.db-note-list a {
  color: #1b75de;
  text-decoration: underline;
}

/* ---------- DBトップ ---------- */
.db-top-jump {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 4rem;
}

.db-top-jump a {
  padding: 0.8rem 1.6rem;
  border: 0.1rem solid #1b75de;
  border-radius: 8rem;
  color: #1b75de;
  font-size: 1.4rem;
  font-weight: 700;
}

.db-top-section__lead {
  margin: -1rem 0 2rem;
  color: #6b7280;
  font-size: 1.3rem;
}

.db-top-services {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr));
  gap: 1.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.db-top-service {
  padding: 2rem;
  border: 0.1rem solid #d9dee5;
  border-radius: 1rem;
}

.db-top-service__name {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
}

.db-top-service__name a {
  color: #1a1f36;
}

.db-top-service__name a:hover {
  color: #1b75de;
}

.db-top-service__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 1.6rem;
  margin: 0.8rem 0 0;
  font-size: 1.3rem;
}

.db-top-service__links a {
  color: #1b75de;
  text-decoration: underline;
}

.db-top-service__prefs {
  margin-top: 1.2rem;
  font-size: 1.3rem;
}

.db-top-service__prefs summary {
  color: #0f4c81;
  font-weight: 700;
  cursor: pointer;
}

.db-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}

.db-chip {
  display: inline-block;
  padding: 0.4rem 1.2rem;
  background: #f2f7fd;
  border-radius: 8rem;
  color: #1a1f36;
  font-size: 1.3rem;
  line-height: 1.6;
}

.entry-content .db-chip-list > li {
  margin: 0 !important;
  padding: 0 !important;
}

.entry-content .db-chip-list > li::before {
  content: none !important;
  display: none !important;
}

.db-chip:hover {
  background: #dbe8fa;
}

.db-top-regions {
  display: grid;
  gap: 3.2rem;
}

.db-top-region__name {
  margin: 0 0 1.2rem;
  color: #0f4c81;
  font-size: 1.7rem;
  font-weight: 700;
}

.db-top-region__list {
  margin: 0;
}

.db-top-pref {
  display: grid;
  grid-template-columns: 10rem 1fr;
  gap: 1.6rem;
  padding: 1.2rem 0;
  border-bottom: 0.1rem solid #eef0f3;
}

.db-top-pref__name {
  font-size: 1.5rem;
  font-weight: 700;
}

.db-top-pref dd {
  margin: 0;
}

.db-top-pref .db-chip-list {
  margin-top: 0;
}

/* ---------- 相談ページ ---------- */
.db-consult-condition {
  margin-bottom: 4rem;
  padding: 1.6rem 2rem;
  background: #f2f7fd;
  border-radius: 0.8rem;
}

.db-consult-condition__label {
  color: #6b7280;
  font-size: 1.2rem;
}

.db-consult-condition__value {
  font-size: 1.7rem;
  font-weight: 700;
}

.db-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.db-steps__item {
  padding: 2rem;
  border: 0.1rem solid #d9dee5;
  border-radius: 1rem;
}

.db-steps__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 3.2rem;
  background: #1b75de;
  border-radius: 50%;
  color: #fff;
  font-weight: 700;
}

.db-steps__title {
  margin-top: 1rem;
  font-size: 1.6rem;
  font-weight: 700;
}

.db-steps__text {
  margin-top: 0.4rem;
  font-size: 1.4rem;
  line-height: 1.8;
}

/* フォーム（formrun 埋め込み・準備中の枠） */
.db-form .formrun-embed {
  max-width: 72rem;
  margin: 0 auto;
}

.db-form-placeholder {
  padding: 2.4rem;
  background: #fffbea;
  border: 0.2rem dashed #e0b400;
  border-radius: 1rem;
}

.db-form-placeholder__title {
  color: #8a6d00;
  font-size: 1.6rem;
  font-weight: 700;
}

.db-form-placeholder__text {
  margin-top: 0.8rem;
  font-size: 1.4rem;
}

.db-form-placeholder__list {
  margin: 1rem 0 0;
  padding-left: 1.8rem;
  list-style: disc;
  font-size: 1.4rem;
}

/* ---------- 掲載申込ページ ---------- */
.db-plans {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.6rem;
}

.db-plan {
  padding: 2.4rem;
  border: 0.1rem solid #d9dee5;
  border-radius: 1rem;
}

.db-plan--pr {
  border-style: dashed;
  border-color: #9ca3af;
}

.db-plan__name {
  font-size: 1.9rem;
  font-weight: 700;
}

.db-plan__name .db-badge {
  margin-left: 0.4rem;
}

.db-plan__price {
  margin-top: 0.4rem;
  color: #0f4c81;
  font-size: 1.5rem;
  font-weight: 700;
}

.db-plan__list {
  margin: 1.2rem 0 0;
  padding-left: 1.8rem;
  list-style: disc;
  font-size: 1.4rem;
  line-height: 1.8;
}

.db-plan__list li + li {
  margin-top: 0.4rem;
}

/* ---------- 鮮度と信頼の表示（最終確認日・掲載社数・確認方法） ---------- */
.db-freshness {
  margin-top: 2rem !important;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem 2rem;
  margin: 0 0 2.4rem;
  padding: 1.2rem 1.6rem;
  background: #f2f7fd;
  border-radius: 0.8rem;
}

.db-freshness__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 2.4rem;
  margin: 0;
}

.db-freshness__item {
  display: flex;
  gap: 0.8rem;
  font-size: 1.3rem;
  line-height: 1.7;
}

.db-freshness__item dt {
  color: #4b5563;
  font-weight: 700;
}

.db-freshness__item dd {
  margin: 0;
}

.db-freshness__link {
  margin: 0 !important;
  font-size: 1.3rem;
}

.db-freshness__link a {
  color: #1b75de;
  text-decoration: underline;
}

/* ---------- 比較表（PCは表・SPはカード型） ---------- */
.db-compare-table .db-compare-table__name {
  font-weight: 700;
}

.db-condition-table {
  margin: 2rem 0 4rem;
}

.db-condition-table__note {
  margin-top: 0.8rem;
  color: #6b7280;
  font-size: 1.2rem;
}

.db-compare-table__name a {
  color: #1b75de;
  text-decoration: underline;
}

/* ---------- 市区の索引 ---------- */
.db-city-index {
  margin: 1.6rem 0 4rem;
}

.db-city-index__jump {
  margin-bottom: 2rem;
}

.db-city-index__groups {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(24rem, 1fr));
  gap: 1.2rem;
}

.db-city-index__group {
  padding: 1.4rem 1.6rem;
  border: 0.1rem solid #d9dee5;
  border-radius: 0.8rem;
  scroll-margin-top: 10rem;
}

.db-city-index__city {
  margin: 0 0 0.6rem !important;
  color: #0f4c81;
  font-size: 1.5rem;
  font-weight: 700;
}

.entry-content .db-city-index__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.entry-content .db-city-index__list > li {
  margin: 0;
  padding: 0;
  font-size: 1.4rem;
}

.entry-content .db-city-index__list > li::before {
  content: none !important;
}

.db-city-index__list a {
  color: #1b75de;
  text-decoration: underline;
}

.entry-content h3[id^="co-"] {
  scroll-margin-top: 10rem;
}

/* ---------- 業種から探す（ハブ） ---------- */
.db-industry-links {
  display: grid;
  gap: 2rem;
  margin-top: 6.4rem;
}

/* ---------- 記事内の会社DBリンク [queryy_db_link] ---------- */
.db-inline-link {
  margin: 3.2rem 0;
  padding: 1.6rem 2rem;
  border: 0.1rem solid #cfe0f6;
  border-left: 0.4rem solid #1b75de;
  border-radius: 0.6rem;
  background: #f7faff;
}

.db-inline-link__label {
  margin: 0 !important;
  color: #1b75de;
  font-size: 1.2rem;
  font-weight: 700;
}

.db-inline-link__anchor {
  display: inline-block;
  margin-top: 0.4rem;
  color: #1a1f36;
  font-size: 1.6rem;
  font-weight: 700;
  text-decoration: underline;
}

/* ---------- 編集方針ページ（監修者・掲載企業バッジ） ---------- */
.db-policy .db-page-body p + p,
.db-policy .db-page-body p + ul {
  margin-top: 1.2rem;
}

.db-policy .db-page-body a {
  color: #1b75de;
  text-decoration: underline;
}

.db-policy .db-top-jump a {
  text-decoration: none;
}

.db-policy section {
  scroll-margin-top: 10rem;
}

.db-supervisor {
  display: flex;
  gap: 2rem;
  padding: 2rem;
  border: 0.1rem solid #d9dee5;
  border-radius: 1rem;
}

.db-supervisor__img {
  flex-shrink: 0;
}

.db-supervisor__img img {
  width: 9.6rem;
  height: 9.6rem;
  border-radius: 50%;
  object-fit: cover;
}

.db-supervisor__name {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  font-size: 1.7rem;
  font-weight: 700;
}

.db-supervisor__position {
  color: #4b5563;
  font-size: 1.3rem;
}

.db-supervisor__desc {
  margin-top: 1rem;
  font-size: 1.4rem;
  line-height: 1.8;
}

.db-badge-picker {
  display: grid;
  gap: 2.4rem;
  margin-top: 2rem;
  padding: 2.4rem;
  background: #f9fafb;
  border-radius: 1rem;
}

.db-badge-picker__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin: 0;
  padding: 0;
  border: 0;
}

.db-badge-picker__legend {
  display: block;
  width: 100%;
  margin-bottom: 1rem;
  font-size: 1.5rem;
  font-weight: 700;
}

.db-badge-option {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
  padding: 1.2rem;
  background: #fff;
  border: 0.2rem solid #e5e7eb;
  border-radius: 0.8rem;
  cursor: pointer;
}

.db-badge-option.is-dark .db-badge-option__img {
  padding: 0.8rem;
  background: #e5e7eb;
  border-radius: 0.6rem;
}

.db-badge-option:has(input:checked) {
  border-color: #1b75de;
}

.db-badge-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.db-badge-option input:focus-visible + .db-badge-option__img {
  outline: 0.2rem solid #1b75de;
  outline-offset: 0.2rem;
}

.db-badge-option__img img {
  display: block;
  max-width: 100%;
  height: auto;
}

.db-badge-option__label {
  font-size: 1.3rem;
}

.db-badge-picker__select {
  width: 100%;
  max-width: 56rem;
  padding: 1rem 1.2rem;
  background: #fff;
  border: 0.1rem solid #ccc;
  border-radius: 0.6rem;
  font-size: 1.6rem;
}

.db-code-box {
  display: block;
  width: 100%;
  padding: 1.2rem;
  background: #1f2937;
  border-radius: 0.6rem;
  color: #f9fafb;
  font-family: Menlo, Consolas, monospace;
  font-size: 1.3rem;
  line-height: 1.6;
  resize: vertical;
}

.db-copy-button {
  margin-top: 1rem;
  padding: 1rem 2.4rem;
  background: #1b75de;
  border-radius: 8rem;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  cursor: pointer;
}

.db-copy-button:focus-visible {
  outline: 0.2rem solid #0f4c81;
  outline-offset: 0.2rem;
}

.db-copy-status {
  margin-left: 1.2rem;
  color: #15803d;
  font-size: 1.3rem;
}

.db-badge-section__note {
  margin-top: 1.2rem;
  color: #6b7280;
  font-size: 1.3rem;
}

/* ---------- SP ---------- */
@media (max-width: 767px) {
  /* 比較表：SPは横スクロールではなくカード型 */
  .entry-content figure.wp-block-table:has(.db-compare-table) {
    overflow: visible;
  }

  .entry-content table.db-compare-table,
  .entry-content table.db-compare-table tbody,
  .entry-content table.db-compare-table tr,
  .entry-content table.db-compare-table th,
  .entry-content table.db-compare-table td {
    display: block;
    width: 100% !important;
    min-width: 0 !important;
  }

  .entry-content table.db-compare-table {
    border: 0;
  }

  .entry-content table.db-compare-table thead,
  .entry-content table.db-compare-table .db-compare-table__head {
    display: none;
  }

  .entry-content table.db-compare-table tr {
    margin-bottom: 1.6rem;
    border: 0.1rem solid #d9dee5;
    border-radius: 0.8rem;
    overflow: hidden;
  }

  .entry-content table.db-compare-table th,
  .entry-content table.db-compare-table td {
    padding: 0.8rem 1.4rem;
    border: 0;
    border-top: 0.1rem solid #eef0f3;
    text-align: left;
  }

  .entry-content table.db-compare-table .db-compare-table__name {
    border-top: 0;
    background: #f2f7fd;
    font-size: 1.6rem;
  }

  .entry-content table.db-compare-table [data-label]:not(.db-compare-table__name)::before {
    content: attr(data-label);
    display: block;
    color: #6b7280;
    font-size: 1.2rem;
    font-weight: 700;
  }

  .db-freshness {
    flex-direction: column;
    align-items: flex-start;
  }

  .db-freshness__list {
    flex-direction: column;
  }

  .db-supervisor {
    flex-direction: column;
  }

  .db-badge-picker {
    padding: 1.6rem;
  }

  .db-page-body {
    padding: 2.4rem 1.6rem 3.2rem;
  }

  .db-section-title,
  .db-top-section__title {
    font-size: 1.9rem;
  }

  .db-company-facts__row {
    grid-template-columns: 1fr;
    gap: 0.2rem;
  }

  .db-consult-cta {
    padding: 2.4rem 1.6rem;
  }

  .db-consult-cta__title {
    font-size: 1.8rem;
  }

  .db-consult-cta .db-consult-cta__button {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .db-related__title {
    font-size: 2rem;
  }

  .db-related__list,
  .db-top-services {
    grid-template-columns: 1fr;
  }

  .db-top-pref {
    grid-template-columns: 1fr;
    gap: 0.6rem;
  }

  .db-steps,
  .db-plans {
    grid-template-columns: 1fr;
  }

  .db-listing-link {
    text-align: left;
  }
}

/* ハブ・費用ページ：掲載会社の公式サイト一覧 */

/* 本文の表：列幅は中身に合わせ、短い語（区名・社名など）は途中で折り返さない（10/4） */
.db-article-entry .entry-content .wp-block-table table {
  table-layout: auto;
}
.db-article-entry .entry-content .wp-block-table th,
.db-article-entry .entry-content .wp-block-table td {
  word-break: keep-all;
  word-break: auto-phrase;
  overflow-wrap: anywhere;
  line-break: strict;
}
.db-article-entry .entry-content .wp-block-table tr > :first-child {
  min-width: 7em;
}

/* 比較表・条件比較表（PC）：列が多い表は本文幅に詰め込まず、読める幅を確保して横スクロール。会社名の列は固定 */
@media (min-width: 768px) {
  .db-article-entry .entry-content table.db-compare-table {
    width: 100%;
    max-width: none;
    font-size: 1.4rem;
    line-height: 1.65;
  }
  .db-article-entry .entry-content table.db-compare-table:has(tr > :nth-child(6)) {
    min-width: 1180px;
  }
  .db-article-entry .entry-content .db-condition-table__table {
    min-width: 1400px;
  }
  .db-article-entry .entry-content table.db-compare-table th,
  .db-article-entry .entry-content table.db-compare-table td {
    padding: 1.1rem 1.4rem;
    vertical-align: top;
  }
  /* どの比較表も、1列が数文字幅までつぶれないように（ハブ・費用ページ含む） */
  .entry-content table.db-compare-table th,
  .entry-content table.db-compare-table td {
    min-width: 6em;
  }
  .db-article-entry .entry-content table.db-compare-table .db-compare-table__name {
    position: sticky;
    left: 0;
    z-index: 1;
    min-width: 10em;
    max-width: 16em;
    overflow-wrap: normal;
    background: #f2f7fd;
    box-shadow: 1px 0 0 #d9dee5;
  }
  .db-article-entry .entry-content table.db-compare-table .db-compare-table__head th,
  .db-article-entry .entry-content table.db-compare-table .db-compare-table__head td,
  .db-article-entry .entry-content table.db-compare-table thead th {
    white-space: nowrap;
  }
  /* 短い値の列は1行で */
  .db-article-entry .entry-content table.db-compare-table td[data-label="法人番号"],
  .db-article-entry .entry-content table.db-compare-table td[data-label="本社"],
  .db-article-entry .entry-content table.db-compare-table td[data-label="税"] {
    white-space: nowrap;
  }
  .db-article-entry .entry-content table.db-compare-table td[data-label="タイプ"] {
    min-width: 8em;
    max-width: 11em;
  }
  /* 文章が入る列は読みやすい幅に */
  .db-article-entry .entry-content table.db-compare-table td[data-label="対応範囲"],
  .db-article-entry .entry-content table.db-compare-table td[data-label^="SEOの料金"],
  .db-article-entry .entry-content table.db-compare-table td[data-label^="料金"],
  .db-article-entry .entry-content table.db-compare-table td[data-label^="最低契約期間"] {
    min-width: 14em;
  }
  .db-article-entry .entry-content table.db-compare-table td[data-label="プラン名"] {
    min-width: 11em;
  }
  .db-article-entry .entry-content table.db-compare-table td[data-label="金額"] {
    min-width: 9em;
  }
  .db-article-entry .entry-content .db-condition-table__table td[data-label="事例数"] {
    min-width: 18em;
  }
}

/* SP：カード型の比較表は会社名を先頭に。4列以上の普通の表は横スクロール */
@media (max-width: 767px) {
  .db-article-entry .entry-content .wp-block-table:has(table:not(.db-compare-table) tr > :nth-child(4)) {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .db-article-entry .entry-content .wp-block-table table:not(.db-compare-table):has(tr > :nth-child(4)) {
    min-width: 600px;
  }
  .entry-content table.db-compare-table tr:not(.db-compare-table__head) {
    display: flex !important;
    flex-direction: column;
  }
  .entry-content table.db-compare-table .db-compare-table__name {
    order: -1;
  }
}

/* 掲載会社の公式サイト一覧（カードのグリッド） 10/3 */
.db-company-gallery { margin: 48px 0; }
.db-company-gallery__title { font-size: 22px; font-weight: 800; line-height: 1.5; margin: 0 0 6px; color: #0d1b45; }
.db-company-gallery__note { font-size: 14px; line-height: 1.7; color: #44527a; margin: 0 0 20px; }
.db-company-gallery__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 24px 20px; }
.db-gallery-card { display: flex; flex-direction: column; margin: 0; border: 1px solid #dde3ee; border-radius: 10px; background: #fff; overflow: hidden; }
.db-gallery-card.is-pr { border-color: #e7c27a; }
.db-gallery-card__figure { margin: 0; border-bottom: 1px solid #e6eaf2; background: #f5f7fb; }
.db-gallery-card__img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; object-position: top center; }
.db-gallery-card__caption { padding: 6px 12px; font-size: 13px; line-height: 1.5; color: #5a6684; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.db-gallery-card__body { display: flex; flex-direction: column; gap: 10px; flex: 1; padding: 16px 16px 18px; }
.db-gallery-card__name { margin: 0; font-size: 19px; font-weight: 800; line-height: 1.45; color: #0d1b45; }
.db-gallery-card__facts { display: grid; gap: 6px; margin: 0; }
.db-gallery-card__facts > div { display: grid; grid-template-columns: 4em minmax(0, 1fr); gap: 8px; padding-top: 6px; border-top: 1px solid #eef1f6; }
.db-gallery-card__facts dt { margin: 0; font-size: 14px; font-weight: 700; color: #5a6684; line-height: 1.7; }
.db-gallery-card__facts dd { margin: 0; font-size: 16px; line-height: 1.7; color: #1d2433; overflow-wrap: anywhere; }
.db-gallery-card__btn { margin-top: auto; display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 0 16px; border: 1.5px solid #0d1b45; border-radius: 999px; font-size: 16px; font-weight: 700; color: #0d1b45; text-decoration: none; transition: background-color .2s, color .2s; }
.db-gallery-card__btn::after { content: "↗"; font-size: 14px; }
.db-gallery-card__btn:hover { background: #0d1b45; color: #fff; }
@media (max-width: 599px) { .db-company-gallery__grid { grid-template-columns: 1fr; } .db-company-gallery__title { font-size: 20px; } }
/* 記事本文の見出し・figcaption のスタイルを打ち消す */
.entry-content .db-gallery-card__name,
.db-company-gallery .db-gallery-card__name { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; font-size: 19px !important; line-height: 1.45 !important; color: #0d1b45 !important; }
.db-company-gallery .db-gallery-card__name::before,
.db-company-gallery .db-gallery-card__name::after { content: none !important; display: none !important; }
.db-company-gallery .db-gallery-card__caption { margin: 0 !important; padding: 6px 12px !important; border: 0 !important; background: none !important; text-align: left !important; font-size: 13px !important; }
.db-company-gallery .db-gallery-card__figure { margin: 0 !important; padding: 0 !important; }
.db-company-gallery .db-gallery-card__facts dd,
.db-company-gallery .db-gallery-card__facts dt { padding: 0 !important; border: 0 !important; background: none !important; }
