@charset "UTF-8";

/* ==========================================================================
   knowledgebase.css  v1.0  2026-10-02
   ナレッジベース (/documentation/ = BasePress プラグイン, プラグイン側テーマ "modern") を
   サイトのデザインシステム v2.0 (base.css 冒頭のパレット) に揃える。
   - HTML はプラグイン任せ。テンプレートはコピーせず CSS だけで上書きする
   - BasePress の CSS (handle: basepress-styles) より後に出力する必要があるため、header.php の
     <link> ではなく functions.php の cf_enqueue_knowledgebase_css() (wp_enqueue_scripts 99) で読み込む
   - 対象: KB トップ (製品ターム一覧) / セクション一覧 / 記事 / KB 内検索結果
   - 旧 _list.css / single_knowledgebase.css (font-size と hero padding の !important 調整) は
     header.php の分岐で KB では読まなくなった。本ファイルが後継
   ========================================================================== */

/* ---------- 0. トークン / ベース ---------- */
.bpress-wrap {
  --kb-navy: #0B2B50;
  --kb-navy-l: #1A4A7A;
  --kb-accent: #2E8BC0;
  --kb-accent-l: #50B5E6;
  --kb-text: #252A2F;
  --kb-muted: #6B7A8D;
  --kb-faint: #9AA5B1;
  --kb-bg: #F5F7FA;
  --kb-tint: #EAF3F9;
  --kb-border: #E2E8F0;
  --kb-line: #EEF2F6;
  --kb-gutter: 5rem;
  --kb-header-h: 65px; /* #header.fixed の高さ (base.css) : サイドバー sticky の基準 */
  padding: 0 var(--kb-gutter) 7rem;
  font-size: 1.6rem;
  color: var(--kb-text);
}
@media screen and (max-width: 767px) {
  .bpress-wrap { --kb-gutter: 20px; padding-bottom: 4rem; font-size: 1.5rem; }
}
.bpress-wrap .bpress-content-wrap { max-width: 1200px; }
.bpress-wrap .bpress-totop-wrap { display: none; } /* サイト側の PAGE TOP があるので非表示 */

/* ---------- 1. ヒーロー (タイトル + 検索) ---------- */
.bpress-wrap .bpress-page-header {
  position: relative;
  width: auto;
  margin: 0 calc(-1 * var(--kb-gutter));     /* .bpress-wrap の左右 padding を打ち消して全幅に */
  padding: 7rem 2rem 6rem;
  background: linear-gradient(135deg, #0B2B50 0%, #1A4A7A 100%);
  color: #fff;
  overflow: hidden;
}
.bpress-wrap .bpress-page-header::before,
.bpress-wrap .bpress-page-header::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.bpress-wrap .bpress-page-header::before {
  top: -40%; right: -8%;
  width: 520px; height: 520px;
  background: radial-gradient(circle, rgba(46,139,192,.22) 0%, transparent 70%);
}
.bpress-wrap .bpress-page-header::after {
  bottom: -60%; left: -6%;
  width: 460px; height: 460px;
  background: radial-gradient(circle, rgba(80,181,230,.12) 0%, transparent 70%);
}
.bpress-wrap .bpress-page-header > .bpress-content-wrap { position: relative; z-index: 1; }
.bpress-wrap .bpress-page-header header { font-size: inherit; text-align: center; }
.bpress-wrap .bpress-page-header header::before {
  content: "DOCUMENTATION";
  display: block;
  margin-bottom: 1.2rem;
  font-family: "Poppins", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: .22em;
  color: var(--kb-accent-l);
}
.bpress-wrap .bpress-page-header h1,
.bpress-wrap .bpress-page-header h2 {
  margin: 0;
  font-family: "Poppins", "Noto Sans JP", sans-serif;
  font-size: 4rem;
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: .02em;
  color: #fff;
}
.bpress-wrap .bpress-page-header h1 br,
.bpress-wrap .bpress-page-header h2 br { display: none; }
.bpress-wrap .bpress-page-header p {
  max-width: 720px;
  margin: 1.2em auto 0;
  font-size: 1.6rem;
  line-height: 1.7;
  text-align: center;
  color: rgba(255,255,255,.75);
}

/* 検索ボックス */
.bpress-wrap .bpress-searchbar-wrap { margin-top: 3.2rem; }
.bpress-wrap .bpress-search { height: 5.6rem; max-width: 640px; }
.bpress-wrap input[type="text"].bpress-search-field {
  height: 100%;
  padding: 0 12rem 0 5.2rem;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 50px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,.18);
  font-size: 1.6rem;
  color: var(--kb-text);
  transition: box-shadow .3s ease, border-color .3s ease;
}
.bpress-wrap input[type="text"].bpress-search-field:focus {
  border-color: var(--kb-accent-l);
  box-shadow: 0 10px 30px rgba(0,0,0,.18), 0 0 0 4px rgba(80,181,230,.35);
  background: #fff;
}
.bpress-wrap .bpress-search input::placeholder { font-size: 1.5rem; font-weight: 400; color: var(--kb-faint); }
/* 虫眼鏡アイコン: BasePress は show-submit で非表示 → 左側に出す */
.bpress-wrap .bpress-search-form.show-submit::before {
  display: block;
  top: 1.8rem; left: 2rem; right: auto;
  font-size: 2rem;
  line-height: 1;
  color: var(--kb-faint);
}
.bpress-wrap .bpress-search-form.show-submit.searching::before {
  top: 1.55rem; left: 2rem; right: auto;
  width: 25px; height: 25px;
  border-color: var(--kb-accent) var(--kb-border) var(--kb-border);
}
.bpress-wrap .bpress-search-submit {
  top: .6rem; right: .6rem;
  width: auto; height: calc(100% - 1.2rem);
  padding: 0;
}
.bpress-wrap .bpress-search-submit input[type="submit"] {
  width: auto; height: 100%;
  padding: 0 2.4rem;
  border: 0;
  border-radius: 50px;
  background: var(--kb-accent);
  color: #fff;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  letter-spacing: .05em;
  text-transform: none !important;
  cursor: pointer;
  transition: background .3s ease;
}
.bpress-wrap .bpress-search-submit input[type="submit"]:hover { background: var(--kb-navy-l); color: #fff; }
/* サジェスト */
.bpress-wrap .bpress-search-suggest {
  top: 6.4rem;
  border: 1px solid var(--kb-border);
  border-radius: 12px;
  box-shadow: 0 16px 40px rgba(11,43,80,.18);
  color: var(--kb-text);
  text-align: left;
}
.bpress-wrap .bpress-search-suggest ul { max-height: 360px; padding: .8rem; }
.bpress-wrap .bpress-search li {
  margin: 0;
  padding: 1.2rem 1.4rem;
  border-bottom: 1px solid var(--kb-line);
  border-radius: 8px;
  font-size: 1.4rem;
}
.bpress-wrap .bpress-search-suggest ul li:hover,
.bpress-wrap .bpress-search-suggest ul li.selected { background: var(--kb-bg); }
.bpress-wrap .bpress-search-suggest ul li b { color: var(--kb-accent); }
.bpress-wrap .bpress-search-suggest-title { color: var(--kb-navy); }
.bpress-wrap .bpress-search-suggest-more {
  padding: .6rem 0;
  border-top: 1px solid var(--kb-border);
  border-radius: 0 0 12px 12px;
  background: var(--kb-bg);
  font-size: 1.3rem;
  color: var(--kb-muted);
}

/* ---------- 2. パンくず ---------- */
.bpress-wrap .bpress-crumbs-wrap {
  margin: 0 0 3.2rem;
  padding: 2rem 0 0;
  background: transparent;
  font-size: 1.3rem;
}
.bpress-wrap .bpress-crumbs li { line-height: 1.6; }
.bpress-wrap .bpress-crumbs li a { color: var(--kb-muted); transition: color .2s; }
.bpress-wrap .bpress-crumbs li a:hover { color: var(--kb-accent); }
.bpress-wrap .bpress-crumbs li:last-child a { color: var(--kb-text); font-weight: 500; pointer-events: none; }
.bpress-wrap .bpress-breadcrumb-arrow { margin: 0 .8em; font-size: 1.1rem; color: #C3CCD6; }

/* ---------- 3. 2 カラム (本文 + 左サイドバー) ---------- */
/* BasePress は float (本文 75% / サイドバー 25%, 両方 float:right → サイドバーが左)。
   flex に置き換えてサイドバーを sticky にする。パンくず直後の .bpress-content-wrap が本文ラッパー */
.bpress-wrap > .bpress-crumbs-wrap + .bpress-content-wrap {
  display: flex;
  flex-direction: row-reverse;   /* DOM 順 (本文 → サイドバー) を保ったまま、サイドバーを左に */
  align-items: flex-start;
  gap: 4rem;
}
.bpress-wrap > .bpress-crumbs-wrap + .bpress-content-wrap > .bpress-content-area {
  float: none;
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0;
}
.bpress-wrap > .bpress-crumbs-wrap + .bpress-content-wrap > .bpress-sidebar {
  float: none;
  flex: 0 0 280px;
  width: 280px;
  position: sticky;
  top: calc(var(--kb-header-h) + 2.4rem);
  max-height: calc(100vh - var(--kb-header-h) - 4.8rem);
  overflow: visible auto;
}
body.admin-bar .bpress-wrap > .bpress-crumbs-wrap + .bpress-content-wrap > .bpress-sidebar {
  top: calc(var(--kb-header-h) + 32px + 2.4rem);
  max-height: calc(100vh - var(--kb-header-h) - 32px - 4.8rem);
}
@media screen and (max-width: 1023px) {
  .bpress-wrap > .bpress-crumbs-wrap + .bpress-content-wrap { gap: 3rem; }
  .bpress-wrap .bpress-col-2 { width: 100%; } /* サイドバー併用時は 2 カラムだとカードが 200px 程度になる */
  .bpress-wrap > .bpress-crumbs-wrap + .bpress-content-wrap > .bpress-sidebar { flex-basis: 240px; width: 240px; }
}
@media screen and (max-width: 767px) {
  .bpress-wrap > .bpress-crumbs-wrap + .bpress-content-wrap { display: block; }
  .bpress-wrap > .bpress-crumbs-wrap + .bpress-content-wrap > .bpress-sidebar {
    width: 100%;
    position: static;
    max-height: none;
    margin-top: 3.2rem;
  }
}

/* ---------- 4. サイドバー ナビ ---------- */
.bpress-wrap .bpress-sidebar .widget {
  margin: 0 0 2rem !important;
  padding: 1.2rem !important;
  border: 1px solid var(--kb-border);
  border-radius: 12px;
  background: #fff;
  font-size: 1.4rem;
}
.bpress-wrap .bpress-sidebar .widget-title {
  margin: .4rem 1rem 1rem !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  color: var(--kb-muted) !important;
  letter-spacing: .06em;
}
.bpress-wrap .bpress-sidebar ul.bpress-nav-accordion { margin: 0; }
.bpress-wrap .bpress-nav-item {
  position: relative;
  display: flex;
  align-items: center;
  gap: .6rem;
  margin-bottom: .2rem;
  padding: .9rem 1rem;
  border-radius: 8px;
  line-height: 1.5;
  color: var(--kb-text);
  transition: background .2s, color .2s;
}
.bpress-wrap .bpress-nav-accordion .bpress-nav-item-title { display: block; flex: 1 1 auto; min-width: 0; }
.bpress-wrap .widget .bpress-nav-accordion .bpress-nav-widget-icon {
  display: block;
  flex: 0 0 1.6em;
  width: 1.6em;
  padding: 0;
  text-align: center;
  font-size: 1.3rem;
  color: var(--kb-faint);
}
.bpress-wrap .bpress-nav-section > .bpress-nav-item {
  padding-right: 2.8rem;
  font-weight: 700;
  color: var(--kb-navy);
  cursor: pointer;
}
.bpress-wrap .bpress-nav-section > .bpress-nav-item::after {
  top: 50%; right: 1.2rem;
  width: .55em; height: .55em;
  border-width: 2px;
  border-color: var(--kb-faint);
}
.bpress-wrap .bpress-nav-section .bpress-nav-item:hover,
.bpress-wrap .bpress-nav-article .bpress-nav-item:hover { background: var(--kb-bg); }
.bpress-wrap .bpress-nav-section.active > .bpress-nav-item { background: transparent; color: var(--kb-accent); }
.bpress-wrap .bpress-nav-section.active > .bpress-nav-item .bpress-nav-widget-icon,
.bpress-wrap .bpress-nav-section.active > .bpress-nav-item::after { color: var(--kb-accent); border-color: var(--kb-accent); }
.bpress-wrap .bpress-nav-article.active > .bpress-nav-item {
  background: var(--kb-tint);
  color: var(--kb-accent);
  font-weight: 700;
}
.bpress-wrap .bpress-nav-article.active .bpress-nav-widget-icon { color: var(--kb-accent); }
/* 階層 (children) */
.bpress-wrap .widget .bpress-nav-accordion li ul {
  margin-left: 1.3rem;
  padding-left: .6rem;
  border-left: 1px solid var(--kb-border);
}
.bpress-wrap .children .bpress-nav-item { padding: .7rem 1rem; font-size: 1.4rem; font-weight: 400; color: var(--kb-text); }
.bpress-wrap .children .bpress-nav-section > .bpress-nav-item { font-weight: 600; color: var(--kb-navy); }
.bpress-wrap .children .bpress-nav-section.active > .bpress-nav-item { color: var(--kb-accent); }
.bpress-wrap .children .bpress-nav-article.active > .bpress-nav-item { font-weight: 700; color: var(--kb-accent); }
.bpress-wrap .children .bpress-nav-section.active > .bpress-nav-item,
.bpress-wrap .children .bpress-nav-section .bpress-nav-item:hover,
.bpress-wrap .children .bpress-nav-article.active > .bpress-nav-item,
.bpress-wrap .children .bpress-nav-article .bpress-nav-item:hover {
  margin-left: 0;
  border-left: 0;
  border-radius: 8px;
}
/* 現在記事: 左の罫線上にアクセントバー */
.bpress-wrap .children .bpress-nav-article.active > .bpress-nav-item::before {
  content: "";
  position: absolute;
  left: calc(-.6rem - 2px);
  top: .7rem; bottom: .7rem;
  width: 3px;
  border-radius: 3px;
  background: var(--kb-accent);
}

/* ---------- 5. KB トップ: セクション カード ---------- */
.bpress-wrap .bpress-grid { margin: 0 -1.2rem; }
.bpress-wrap .bpress-col { padding: 0 1.2rem 2.4rem; }
.bpress-wrap .bpress-section {
  margin: 0;
  padding: 2.4rem 2.4rem 6.8rem;
  border: 1px solid var(--kb-border);
  border-radius: 12px;
  background: #fff;
  box-shadow: none;
  transition: border-color .3s ease, box-shadow .3s ease;
}
.bpress-wrap .bpress-section:hover {
  border: 1px solid var(--kb-accent);
  box-shadow: 0 8px 25px rgba(46,139,192,.10);
}
/* カード見出し (アイコン + h2) */
.bpress-wrap .bpress-section > .bpress-heading {
  display: flex;
  align-items: center;
  min-height: 4.4rem;
  margin: 0 6.4rem 1.6rem 0;
  padding-left: 5.6rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--kb-navy);
}
.bpress-wrap .bpress-section > .bpress-heading h2 { margin: 0; }
.bpress-wrap .bpress-section > .bpress-heading .bpress-heading-icon {
  top: 0; left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.4rem; height: 4.4rem;
  border-radius: 12px;
  background: var(--kb-tint);
  font-size: 1.9rem;
  line-height: 1 !important;
  color: var(--kb-accent);
}
/* 件数バッジ: 右上に重なる黒丸 → 見出し行の右端にピル。
   BasePress は設定由来の inline CSS (#basepress-styles-inline-css) で .bpress-post-count { top: 15px !important } を出すため !important が必要 */
.bpress-wrap .bpress-post-count {
  top: 3.2rem !important; right: 2.4rem !important;
  width: auto; height: auto;
  min-width: 3.2rem;
  padding: .1rem 1rem;
  border: 1px solid var(--kb-border);
  border-radius: 50px;
  background: var(--kb-bg);
  font-family: "Poppins", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 2;
  text-align: center;
  color: var(--kb-muted);
}
/* 記事リンク一覧 (カード内 / セクションページ共通) */
.bpress-wrap .bpress-section-list .bpress-post-link {
  position: relative;
  margin: 0;
  padding: 1.1rem 2.6rem 1.1rem 0;
  border-bottom: 1px solid var(--kb-line);
  background: none;
  font-size: 1.5rem;
  line-height: 1.5;
}
.bpress-wrap .bpress-section-list .bpress-post-link:last-child { border-bottom: 0; }
.bpress-wrap .bpress-section-list .bpress-post-link:hover { background: none; }
.bpress-wrap .bpress-section-list .bpress-post-link::after {
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  top: 50%; right: .6rem;
  transform: translateY(-50%);
  font-size: 1.1rem;
  color: #C3CCD6;
  transition: color .2s, transform .2s;
}
.bpress-wrap .bpress-section-list .bpress-post-link:hover::after { color: var(--kb-accent); transform: translate(3px, -50%); }
.bpress-wrap .bpress-post-link .bpress-heading {
  padding-left: 2.6rem;
  font-size: inherit;
  font-weight: 500;
  color: var(--kb-text);
  transition: color .2s;
}
.bpress-wrap .bpress-post-link:hover .bpress-heading { color: var(--kb-accent); }
.bpress-wrap .bpress-post-link .bpress-heading h3,
.bpress-wrap .bpress-post-link .bpress-heading a { margin: 0; }
.bpress-wrap .bpress-post-link .bpress-heading .bpress-heading-icon {
  left: .2rem;
  width: 1.8rem;
  font-size: 1.4rem;
  color: var(--kb-faint);
}
.bpress-wrap .bpress-post-link .bpress-heading .bpress-heading-icon.colored { color: var(--kb-accent); }
/* 「N エントリー全てを表示」: カード下部に固定 */
.bpress-wrap .bpress-section a.bpress-viewall {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: absolute;
  left: 2.4rem; right: 2.4rem; bottom: 1.8rem;
  margin: 0;
  padding-top: 1.4rem;
  border-top: 1px solid var(--kb-line);
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--kb-accent);
  transition: color .2s;
}
.bpress-wrap .bpress-section a.bpress-viewall::after {
  content: "\f061";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 1.2rem;
  transition: transform .2s;
}
.bpress-wrap .bpress-section a.bpress-viewall:hover { color: var(--kb-navy-l); text-decoration: none; }
.bpress-wrap .bpress-section a.bpress-viewall:hover::after { transform: translateX(4px); }

/* ---------- 6. セクション ページ (記事一覧) ---------- */
.bpress-wrap .bpress-single-section { margin-bottom: 4rem; }
.bpress-wrap .bpress-single-section > .bpress-heading {
  display: flex;
  align-items: center;
  min-height: 5.2rem;
  margin: 0 0 2.4rem;
  padding-left: 6.8rem;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--kb-navy);
}
.bpress-wrap .bpress-single-section > .bpress-heading h1 { margin: 0; }
.bpress-wrap .bpress-single-section > .bpress-heading .bpress-heading-icon {
  top: 0; left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.2rem; height: 5.2rem;
  border-radius: 14px;
  background: var(--kb-tint);
  font-size: 2.2rem;
  line-height: 1 !important;
  color: var(--kb-accent);
}
.bpress-wrap .bpress-single-section .bpress-section-list {
  padding: .6rem 2.4rem;
  border: 1px solid var(--kb-border);
  border-radius: 12px;
  background: #fff;
}
.bpress-wrap .bpress-single-section .bpress-section-list .bpress-post-link { padding: 1.4rem 2.6rem 1.4rem 0; font-size: 1.6rem; }
/* 直下に記事が無いセクション (サブセクションのみ) は空の ul (空白テキストのみ) が出力される → 枠だけのカードを出さない */
.bpress-wrap .bpress-single-section .bpress-section-list:not(:has(li)) { display: none; }
.bpress-wrap .bpress-single-section .bpress-post-link.single-section:last-child { border-bottom: 0; }

/* ---------- 7. 記事 ---------- */
.bpress-wrap .bpress-post-header {
  margin: 0 0 3.2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--kb-border);
}
.bpress-wrap .bpress-post-header h1 {
  margin: 0 0 1.2rem;
  font-family: "Poppins", "Noto Sans JP", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .02em;
  color: var(--kb-navy);
}
.bpress-wrap .bpress-post-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem 2rem;
  margin: 0;
  font-size: 1.3rem;
  color: var(--kb-muted);
}
.bpress-wrap .bpress-post-meta > span { margin: 0; }
.bpress-wrap .bpress-post-meta span[class^="bp-"] { margin-right: .4em; color: var(--kb-faint); }

/* 本文タイポグラフィ */
.bpress-wrap .bpress-article-content {
  font-size: 1.6rem;
  line-height: 1.9;
  color: var(--kb-text);
}
.bpress-wrap .bpress-article-content > :first-child { margin-top: 0; }
.bpress-wrap .bpress-article-content p { margin: 0 0 1.5em; line-height: 1.9; }
.bpress-wrap .bpress-article-content h2 {
  margin: 3em 0 1.2em;
  padding: .55em .9em .55em 1.1em;
  border-left: 4px solid var(--kb-accent);
  border-radius: 0 10px 10px 0;
  background: var(--kb-bg);
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--kb-navy);
}
.bpress-wrap .bpress-article-content h3 {
  position: relative;
  margin: 2.6em 0 1em;
  padding-bottom: .5em;
  border-bottom: 2px solid var(--kb-border);
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--kb-navy);
}
.bpress-wrap .bpress-article-content h3::after {
  content: "";
  position: absolute;
  left: 0; bottom: -2px;
  width: 60px; height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--kb-accent), var(--kb-accent-l));
}
.bpress-wrap .bpress-article-content h4 {
  margin: 2.2em 0 .8em;
  padding-left: .8em;
  border-left: 3px solid var(--kb-accent-l);
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--kb-navy);
}
.bpress-wrap .bpress-article-content h5,
.bpress-wrap .bpress-article-content h6 {
  margin: 2em 0 .6em;
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--kb-navy);
}
.bpress-wrap .bpress-article-content a {
  color: var(--kb-accent);
  text-decoration: underline;
  text-decoration-color: rgba(46,139,192,.35);
  text-underline-offset: 3px;
}
.bpress-wrap .bpress-article-content a:hover { color: var(--kb-navy-l); text-decoration-color: currentColor; }
.bpress-wrap .bpress-article-content strong,
.bpress-wrap .bpress-article-content b { font-weight: 700; color: var(--kb-navy); }
.bpress-wrap .bpress-article-content ul,
.bpress-wrap .bpress-article-content ol { margin: 0 0 1.5em; padding-left: 1.8em; }
.bpress-wrap .bpress-article-content ul > li { list-style: disc; margin: .4em 0; line-height: 1.8; }
.bpress-wrap .bpress-article-content ol > li { list-style: decimal; margin: .4em 0; line-height: 1.8; }
.bpress-wrap .bpress-article-content li > ul,
.bpress-wrap .bpress-article-content li > ol { margin: .4em 0; }
.bpress-wrap .bpress-article-content ul > li::marker { color: var(--kb-accent); }
.bpress-wrap .bpress-article-content ol > li::marker { color: var(--kb-accent); font-weight: 700; }
.bpress-wrap .bpress-article-content hr { margin: 3em 0; height: 1px; border: 0; background: var(--kb-border); }
.bpress-wrap .bpress-article-content blockquote {
  margin: 0 0 1.5em;
  padding: 1em 1.6em;
  border-left: 4px solid var(--kb-border);
  border-radius: 0 8px 8px 0;
  background: var(--kb-bg);
  color: var(--kb-muted);
}
.bpress-wrap .bpress-article-content blockquote p:last-child { margin-bottom: 0; }
/* テーブル (設定項目の説明など) */
.bpress-wrap .bpress-article-content table {
  width: 100%;
  margin: 0 0 2em;
  border-collapse: collapse;
  font-size: 1.4rem;
  line-height: 1.7;
}
.bpress-wrap .bpress-article-content th,
.bpress-wrap .bpress-article-content td {
  padding: 1rem 1.4rem;
  border: 1px solid var(--kb-border);
  vertical-align: top;
  text-align: left;
}
.bpress-wrap .bpress-article-content th { background: var(--kb-bg); font-weight: 700; color: var(--kb-navy); }
.bpress-wrap .bpress-article-content thead th { border-color: var(--kb-navy); background: var(--kb-navy); color: #fff; }
.bpress-wrap .bpress-article-content tbody tr:nth-child(even) td { background: #FAFBFC; }
.bpress-wrap .bpress-article-content .wp-block-table { margin: 0 0 2em; overflow-x: auto; }
.bpress-wrap .bpress-article-content .wp-block-table table { margin: 0; }
/* 画像 / 図版 / 埋め込み */
.bpress-wrap .bpress-article-content img { max-width: 100%; height: auto; border-radius: 8px; }
.bpress-wrap .bpress-article-content figure { margin: 2.4em 0; }
.bpress-wrap .bpress-article-content .wp-block-image img,
.bpress-wrap .bpress-article-content img.alignnone,
.bpress-wrap .bpress-article-content img.aligncenter {
  border: 1px solid var(--kb-border);
  box-shadow: 0 8px 24px rgba(11,43,80,.08);
}
.bpress-wrap .bpress-article-content figcaption {
  margin-top: .8em;
  font-size: 1.3rem;
  line-height: 1.6;
  text-align: center;
  color: var(--kb-muted);
}
.bpress-wrap .bpress-article-content .wp-block-embed .wp-block-embed__wrapper {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(11,43,80,.14);
}
/* コード */
.bpress-wrap .bpress-article-content code {
  padding: .15em .45em;
  border: 1px solid var(--kb-border);
  border-radius: 4px;
  background: var(--kb-bg);
  font-family: Consolas, "SFMono-Regular", Menlo, monospace;
  font-size: .9em;
  color: var(--kb-navy);
}
.bpress-wrap .bpress-article-content pre {
  margin: 0 0 2em;
  padding: 1.6rem 2rem;
  border-radius: 10px;
  background: #0E223D;
  color: #E6EDF3;
  font-size: 1.4rem;
  line-height: 1.7;
  overflow: auto;
}
.bpress-wrap .bpress-article-content pre code { padding: 0; border: 0; background: none; color: inherit; font-size: inherit; }
/* BasePress 通知ブロック */
.bpress-wrap .bpress-notice { border-radius: 10px; }

/* 目次 */
.bpress-wrap .bpress-toc {
  margin: 2.4rem 0 3.2rem;
  padding: 2rem 2.4rem;
  border: 1px solid var(--kb-border);
  border-radius: 12px;
  background: var(--kb-bg);
}
.bpress-wrap .bpress-toc h2 {
  margin: 0 0 1rem;
  padding: 0;
  border: 0;
  background: none;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--kb-navy);
}
.bpress-wrap .bpress-toc li a {
  padding: .5em .8em;
  border: 0;
  border-radius: 6px;
  font-size: 1.4rem;
  color: var(--kb-text);
  transition: background .2s, color .2s;
}
.bpress-wrap .bpress-toc li a:hover,
.bpress-wrap .bpress-toc li a.active { background: #fff; color: var(--kb-accent); }
.bpress-wrap .bpress-toc ol li a::before { color: var(--kb-muted); }

/* ページ送り (複数ページ記事 / 一覧) */
.bpress-wrap .bpress-pagination ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px;
  margin: 3rem 0 0;
}
.bpress-wrap .bpress-pagination .page-numbers,
.bpress-wrap .bpress-pagination .page-numbers.next,
.bpress-wrap .bpress-pagination .page-numbers.prev {
  width: auto;
  min-width: 4rem;
  height: 4rem;
  margin: 0;
  padding: 0 1rem;
  border: 1px solid var(--kb-border);
  border-radius: 8px;
  background: #fff;
  font-size: 1.4rem !important;
  font-weight: 500;
  line-height: 3.8rem;
  color: var(--kb-text);
  transition: all .2s;
}
.bpress-wrap .bpress-pagination .page-numbers:hover,
.bpress-wrap .bpress-pagination .page-numbers.next:hover,
.bpress-wrap .bpress-pagination .page-numbers.prev:hover {
  border: 1px solid var(--kb-accent);
  background: var(--kb-bg);
  color: var(--kb-text);
}
.bpress-wrap .bpress-pagination .page-numbers.current {
  border: 1px solid var(--kb-accent);
  background: var(--kb-accent);
  color: #fff;
}

/* 前後の記事 */
.bpress-wrap .bpress-prev-post,
.bpress-wrap .bpress-next-post {
  margin: 1.6rem 0;
  padding: 1.6rem 2rem;
  border: 1px solid var(--kb-border);
  border-radius: 10px;
  background: #fff;
  transition: border-color .2s, background .2s;
}
.bpress-wrap .bpress-prev-post:hover,
.bpress-wrap .bpress-next-post:hover { border-color: var(--kb-accent); background: var(--kb-bg); }
.bpress-wrap .bpress-adjacent-title { font-size: 1.2rem; color: var(--kb-muted); }
.bpress-wrap .bpress-prev-post h4,
.bpress-wrap .bpress-next-post h4 { margin: .4em 0 0; font-size: 1.5rem; color: var(--kb-navy); }

/* ---------- 8. KB 内検索結果 ---------- */
.bpress-wrap .bpress-main > h1 {
  margin: 0 0 2rem;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--kb-navy);
}
.bpress-wrap .bpress-post-list {
  padding: .4rem 2.4rem;
  border: 1px solid var(--kb-border);
  border-radius: 12px;
  background: #fff;
}
.bpress-wrap .bpress-post-list .bpress-post-link.search {
  margin: 0;
  padding: 2rem 0;
  border-bottom: 1px solid var(--kb-line);
  background: none;
}
.bpress-wrap .bpress-post-list .bpress-post-link.search:last-child { border-bottom: 0; }
.bpress-wrap .bpress-post-link.search .bpress-heading {
  margin-bottom: .6rem;
  padding-left: 2.6rem;
  font-size: 1.7rem;
  font-weight: 700;
  color: var(--kb-navy);
}
.bpress-wrap .bpress-post-link.search:hover .bpress-heading { color: var(--kb-accent); }
.bpress-wrap .bpress-post-link.search p {
  margin: 0 0 1.2rem;
  font-size: 1.4rem;
  line-height: 1.75;
  color: var(--kb-muted);
}
.bpress-wrap .bpress-post-link.search p b {
  padding: 0 .15em;
  border-radius: 3px;
  background: rgba(46,139,192,.12);
  font-weight: 700;
  color: var(--kb-accent);
}
.bpress-wrap .bpress-search-section {
  display: inline-block;
  padding: .1em 1em;
  border: 1px solid var(--kb-border);
  border-radius: 50px;
  background: var(--kb-bg);
  font-size: 1.2rem;
  line-height: 1.9;
  color: var(--kb-muted);
  text-decoration: none;
  transition: all .2s;
}
.bpress-wrap .bpress-search-section:hover { border-color: var(--kb-accent); background: var(--kb-accent); color: #fff; }
.bpress-wrap .bpress-post-link .bpress-post-meta { float: right; margin: .3em 0 0; font-size: 1.2rem; }

/* ---------- 9. レスポンシブ ---------- */
@media screen and (max-width: 767px) {
  .bpress-wrap .bpress-page-header { padding: 4.8rem 2rem 4rem; }
  .bpress-wrap .bpress-page-header h1,
  .bpress-wrap .bpress-page-header h2 { font-size: 2.8rem; }
  .bpress-wrap .bpress-page-header p { font-size: 1.4rem; }
  .bpress-wrap .bpress-searchbar-wrap { margin-top: 2.4rem; }
  .bpress-wrap .bpress-search { height: 5rem; }
  .bpress-wrap input[type="text"].bpress-search-field { padding: 0 9rem 0 4.4rem; font-size: 1.5rem; }
  .bpress-wrap .bpress-search-form.show-submit::before { top: 1.5rem; left: 1.6rem; }
  .bpress-wrap .bpress-search-form.show-submit.searching::before { top: 1.25rem; left: 1.6rem; }
  .bpress-wrap .bpress-search-submit input[type="submit"] { padding: 0 1.6rem; font-size: 1.3rem !important; }
  .bpress-wrap .bpress-crumbs-wrap { margin-bottom: 2.4rem; padding-top: 1.6rem; font-size: 1.2rem; }
  .bpress-wrap .bpress-grid { margin: 0; }
  .bpress-wrap .bpress-col { padding: 0 0 1.6rem; }
  .bpress-wrap .bpress-section { padding: 2rem 2rem 6.4rem; }
  .bpress-wrap .bpress-section > .bpress-heading { font-size: 1.7rem; }
  .bpress-wrap .bpress-post-count { top: 2.8rem !important; right: 2rem !important; }
  .bpress-wrap .bpress-section a.bpress-viewall { left: 2rem; right: 2rem; }
  .bpress-wrap .bpress-single-section > .bpress-heading { min-height: 4.4rem; padding-left: 5.6rem; font-size: 2.2rem; }
  .bpress-wrap .bpress-single-section > .bpress-heading .bpress-heading-icon { width: 4.4rem; height: 4.4rem; font-size: 1.9rem; }
  .bpress-wrap .bpress-single-section .bpress-section-list { padding: .4rem 1.6rem; }
  .bpress-wrap .bpress-post-header h1 { font-size: 2.4rem; }
  .bpress-wrap .bpress-article-content { font-size: 1.5rem; }
  .bpress-wrap .bpress-article-content h2 { font-size: 1.9rem; }
  .bpress-wrap .bpress-article-content h3 { font-size: 1.7rem; }
  .bpress-wrap .bpress-article-content h4 { font-size: 1.6rem; }
  .bpress-wrap .bpress-main > h1 { font-size: 1.9rem; }
  .bpress-wrap .bpress-post-list { padding: .2rem 1.6rem; }
  .bpress-wrap .bpress-post-link .bpress-post-meta { float: none; margin-top: 1rem; }
}
