/* ==========================================================
   swell-skin.css — SWELL の機能（ヘッダー・SPメニュー・フッター・パンくず・FAQ・投稿リスト・タブ・ページ送り・
   記事ページ・目次・著者情報・フォーム）に、静的版（05_coding）の見た目を当てる（手で書いたファイル）

   - 値は tokens.css の var(--kk-*) だけを使う。対応する静的版の部品を各ブロックの見出しに書いた
   - SWELL のクラス名（.l-header .c-gnav .p-spMenu .p-postList .swell-block-faq …）は SWELL 2.x の構造にもとづく。
     【未検証】SWELL を入れた環境で確認し、ずれたらこのファイルだけを直す（静的版の CSS・SWELL 本体は直さない）
   - !important は SWELL の表示切り替え（PC/SP）を上書きする2か所だけ
   ========================================================== */

/* ---------- 全体：本文の書体・色（SWELL のカスタマイザーの色と同じ値） ---------- */
.kk-wp {
  font-family: var(--kk-ff-base);
  color: var(--kk-color-text);
  background: var(--kk-color-base);
  -webkit-font-smoothing: antialiased;
}

/* =========================================================
   ヘッダー・SP メニュー・フッター（2026-10-23〜）
   子テーマの header.php / footer.php が静的版と同じ HTML（.kk-c-header・.kk-c-sp-menu・.kk-c-footer）を出すので、
   見た目は components.css がそのまま効く。SWELL のカスタマイザー・メニュー・ウィジェットの設定は不要。
   ここには WordPress だけの差（固定の仕方・管理バー・SWELL の要素を出さない）だけを書く
   ========================================================= */
/* 下層のヘッダーも fixed（静的版は sticky。SWELL の #body_wrap などに overflow が付くと sticky が効かないため） */
.kk-wp .kk-c-header--lower {
  position: fixed;
  top: var(--kk-adminbar-h, 0px);
  left: 0;
  right: 0;
  width: 100%;
}
.kk-wp .kk-c-header--top { top: var(--kk-adminbar-h, 0px); }
/* 固定にした分だけ本文を下げる（トップはヒーローに重ねるので下げない） */
#body_wrap.kk-wp:not(.home) { padding-top: var(--kk-header-h); }
/* ログイン中の管理バーの分だけ下げる（600px 以下は管理バーがスクロールで消えるので下げない） */
.kk-wp.admin-bar { --kk-adminbar-h: 32px; }
@media (max-width: 782px) { .kk-wp.admin-bar { --kk-adminbar-h: 46px; } }
@media (max-width: 600px) { .kk-wp.admin-bar { --kk-adminbar-h: 0px; } }
.kk-wp.admin-bar .kk-c-sp-menu { top: var(--kk-adminbar-h, 0px); }
/* ページ内リンクで見出しが固定ヘッダーに隠れないように */
.kk-wp [id] { scroll-margin-top: calc(var(--kk-header-h) + var(--kk-adminbar-h, 0px) + 24px); }
.kk-wp.home [id] { scroll-margin-top: calc(var(--kk-header-h-top) + var(--kk-adminbar-h, 0px) + 24px); }

/* SWELL のヘッダー・追従ヘッダー・SP メニュー・フッターの部品・ページトップボタン・固定フッターメニュー・サイドバーは
   子テーマの header.php / footer.php では出さない。キャッシュなどで残っていても見えないように隠す */
.kk-wp .l-header,
.kk-wp #fix_header,
.kk-wp #sp_menu,
.kk-wp .l-footer,
.kk-wp .p-fixBtnWrap,
.kk-wp #fix_bottom_menu,
.kk-wp #sidebar,
.kk-wp .l-sidebar { display: none; }
/* サイドバーの分の幅を空けない（全ページ1カラム） */
.kk-wp .l-mainContent { width: 100%; }

/* =========================================================
   パンくず（静的版 4. .kk-c-breadcrumb）— 記事・アーカイブなど、下層ページヘッダーの枠がないページ
   （枠のあるページは wp.js が中身を移し、components.css の .kk-c-breadcrumb がそのまま効く）
   ========================================================= */
.kk-wp .p-breadcrumb {
  position: relative;
  margin: 0;
  padding: 16px 0;
  background: transparent;
  border: 0;
}
.kk-wp .p-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  max-width: calc(var(--kk-container-max) + var(--kk-gutter) * 2);
  margin-inline: auto;
  padding-inline: var(--kk-gutter);
  font-size: var(--kk-fs-caption);
  line-height: var(--kk-lh-label);
  letter-spacing: var(--kk-ls-caption);
  color: var(--kk-color-text-faint);
}
.kk-wp .p-breadcrumb__item { display: flex; align-items: center; gap: 10px; margin: 0; padding: 0; }
.kk-wp .p-breadcrumb__item::after { content: none; display: none; }
.kk-wp .p-breadcrumb__item + .p-breadcrumb__item::before { content: "/"; }
.kk-wp .p-breadcrumb__text { color: inherit; }
.kk-wp .p-breadcrumb__text .__home::before,
.kk-wp .p-breadcrumb__text[class*="icon-"]::before { display: none; }
.kk-wp .p-breadcrumb a:hover { color: var(--kk-color-accent-light); }
.kk-wp .p-breadcrumb__item:last-child .p-breadcrumb__text { color: var(--kk-color-text-muted); }
/* 下層ページヘッダーの枠に移したあと（幅・余白は枠＝.kk-l-container 側） */
.kk-wp .kk-c-breadcrumb .p-breadcrumb__list { max-width: none; margin: 0; padding: 0; }

/* =========================================================
   FAQ（静的版 17. .kk-c-faq）— SWELL の FAQ ブロック（FAQPage の構造化データは SWELL が出す）
   SWELL の FAQ は開閉しないので、静的版の「＋／×」は付けない（常に開いた状態）
   ========================================================= */
.kk-wp .kk-root .swell-block-faq.kk-c-faq,
.kk-wp .swell-block-faq.kk-c-faq {
  padding: 0; /* 外側の余白は静的版の CSS（.kk-c-entry の中の FAQ など）に任せる */
  border: 0;
  border-top: 1px solid var(--kk-color-border-strong);
  background: none;
}
.kk-wp .swell-block-faq.kk-c-faq .swell-block-faq__item {
  margin: 0;
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--kk-color-border-strong);
  background: none;
  box-shadow: none;
}
.kk-wp .swell-block-faq.kk-c-faq .swell-block-faq__item .faq_q {
  position: static;
  display: flex;
  align-items: flex-start;
  gap: 24px;
  margin: 0;
  padding: 24px 0;
  background: none;
  border: 0;
  font-family: var(--kk-ff-heading);
  font-size: var(--kk-fs-h4);
  font-weight: var(--kk-fw-heading);
  letter-spacing: var(--kk-ls-card);
  line-height: 1.6;
  color: var(--kk-color-text);
}
.kk-wp .swell-block-faq.kk-c-faq .swell-block-faq__item .faq_a {
  position: static;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 24px;
  row-gap: 0; /* 「A」を全行にまたがらせるので行の間は 0。段落の間は下の margin */
  margin: 0;
  padding: 0 0 28px;
  background: none;
  border: 0;
}
.kk-wp .swell-block-faq.kk-c-faq .swell-block-faq__item .faq_q::before,
.kk-wp .swell-block-faq.kk-c-faq .swell-block-faq__item .faq_a::before {
  position: static;
  flex: none;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  transform: none;
  font-family: var(--kk-ff-en);
  font-size: var(--kk-fs-number);
  font-weight: var(--kk-fw-en-medium);
  letter-spacing: 0.04em;
  line-height: 1.52;
}
.kk-wp .swell-block-faq.kk-c-faq .swell-block-faq__item .faq_q::before { content: "Q"; color: var(--kk-color-accent); }
.kk-wp .swell-block-faq.kk-c-faq .swell-block-faq__item .faq_a::before {
  content: "A";
  grid-column: 1;
  grid-row: 1 / span 20;
  color: var(--kk-color-label-gold);
  line-height: 1.5;
}
.kk-wp .swell-block-faq.kk-c-faq .swell-block-faq__item .faq_q::after { content: none; display: none; }
.kk-wp .swell-block-faq.kk-c-faq .swell-block-faq__item .faq_a > * {
  grid-column: 2;
  margin: 0;
  font-size: var(--kk-fs-body);
  letter-spacing: var(--kk-ls-body);
  line-height: var(--kk-lh-body);
  color: var(--kk-color-text-sub);
}
.kk-wp .swell-block-faq.kk-c-faq .swell-block-faq__item .faq_a > * + * { margin-top: 16px; }
.kk-wp .swell-block-faq.kk-c-faq .faq_a a { color: var(--kk-color-text-link); border-bottom: 1px solid var(--kk-color-text-link-line); text-decoration: none; }
.kk-wp .swell-block-faq.kk-c-faq .faq_a a:hover { color: var(--kk-color-accent-light); }
@media (max-width: 760px) {
  .kk-wp .swell-block-faq.kk-c-faq .swell-block-faq__item .faq_q { gap: 14px; }
  .kk-wp .swell-block-faq.kk-c-faq .swell-block-faq__item .faq_a { column-gap: 14px; }
}

/* =========================================================
   投稿リスト：カード型（静的版 14. .kk-c-post-card）
   パターンの中（.kk-root）と、アーカイブ・関連記事の両方に当てる
   ========================================================= */
.kk-wp .p-postList.-type-card {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--kk-space-grid-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}
.kk-wp .p-postList.-type-card > .p-postList__item {
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
}
.kk-wp .p-postList.-type-card .p-postList__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 0;
  color: inherit;
  text-decoration: none;
  background: none;
  box-shadow: none;
}
.kk-wp .p-postList.-type-card .p-postList__thumb {
  position: relative;
  width: 100%;
  margin: 0;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-top: 1px solid var(--kk-color-accent);
  background: linear-gradient(145.89deg, #2D231C 14.184%, #171614 85.106%); /* 静的版 .kk-c-post-card__thumb と同じ */
}
.kk-wp .p-postList.-type-card .p-postList__thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: var(--kk-gradient-post-thumb-overlay);
  pointer-events: none;
}
.kk-wp .p-postList.-type-card .c-postThumb__figure {
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
}
.kk-wp .p-postList.-type-card .c-postThumb__figure::before { content: none; display: none; }
.kk-wp .p-postList.-type-card .c-postThumb__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: none;
}
.kk-wp .p-postList.-type-card .c-postThumb__cat {
  position: absolute;
  left: 20px;
  right: auto;
  top: auto;
  bottom: 20px;
  z-index: 2;
  margin: 0;
  padding: 0;
  background: none;
  font-family: var(--kk-ff-en);
  font-size: var(--kk-fs-label);
  font-weight: var(--kk-fw-en-medium);
  letter-spacing: var(--kk-ls-label);
  line-height: var(--kk-lh-label);
  color: var(--kk-color-label-gold);
}
.kk-wp .p-postList.-type-card .c-postThumb__cat::before { display: none; }
.kk-wp .p-postList.-type-card .p-postList__body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
  margin: 0;
  padding: 20px 0 24px;
  border-bottom: 1px solid var(--kk-color-border);
  text-align: left;
}
.kk-wp .p-postList.-type-card .p-postList__title {
  order: 1;
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  font-family: var(--kk-ff-heading);
  font-size: var(--kk-fs-h4);
  font-weight: var(--kk-fw-heading);
  letter-spacing: var(--kk-ls-card);
  line-height: 1.6;
  color: var(--kk-color-text);
}
.kk-wp .p-postList.-type-card .p-postList__title::before,
.kk-wp .p-postList.-type-card .p-postList__title::after { content: none; display: none; }
.kk-wp .p-postList.-type-card .p-postList__excerpt { display: none; }
.kk-wp .p-postList .p-postList__meta {
  order: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  margin: 0;
  font-family: var(--kk-ff-en);
  font-size: var(--kk-fs-label);
  font-weight: var(--kk-fw-en-medium);
  letter-spacing: var(--kk-ls-label);
  line-height: var(--kk-lh-label);
  color: var(--kk-color-text-faint);
  opacity: 1;
}
.kk-wp .p-postList .p-postList__meta [class*="icon-"]::before { display: none; }
.kk-wp .p-postList .p-postList__cat { color: var(--kk-color-accent); }
.kk-wp .p-postList.-type-card .p-postList__link:hover .p-postList__title { color: var(--kk-color-accent-light); }
.kk-wp .p-postList.-type-card .p-postList__link:hover .c-postThumb__img { transform: none; }
@media (max-width: 1000px) {
  .kk-wp .p-postList.-type-card { gap: 16px; }
}
@media (max-width: 760px) {
  .kk-wp .p-postList.-type-card { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}

/* =========================================================
   投稿リスト：テキスト型（静的版 19. .kk-c-news-item）— お知らせ
   ========================================================= */
.kk-wp .p-postList.-type-simple { margin: 0; padding: 0; border: 0; list-style: none; }
.kk-wp .p-postList.-type-simple > .p-postList__item { margin: 0; padding: 0; border: 0; }
.kk-wp .p-postList.-type-simple .p-postList__link {
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 28px 0;
  border: 0;
  border-bottom: 1px solid var(--kk-color-border-strong);
  background: none;
  color: inherit;
  text-decoration: none;
}
.kk-wp .p-postList.-type-simple .p-postList__link::after {
  content: "→";
  flex: none;
  font-size: 18px;
  line-height: 1.7;
  color: var(--kk-color-label-gold);
  transition: transform var(--kk-dur-base) var(--kk-ease-base);
}
.kk-wp .p-postList.-type-simple .p-postList__link:hover::after { transform: translateX(4px); }
.kk-wp .p-postList.-type-simple .p-postList__body {
  display: flex;
  align-items: center;
  gap: 28px;
  flex: 1;
  min-width: 0;
  margin: 0;
  padding: 0;
}
.kk-wp .p-postList.-type-simple .p-postList__meta { order: 0; flex: none; gap: 28px; font-size: 12px; color: var(--kk-color-text-muted); }
.kk-wp .p-postList.-type-simple .p-postList__title {
  order: 1;
  flex: 1;
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  font-family: var(--kk-ff-base);
  font-size: var(--kk-fs-body);
  font-weight: var(--kk-fw-regular);
  letter-spacing: var(--kk-ls-body);
  line-height: var(--kk-lh-body);
  color: var(--kk-color-text);
}
.kk-wp .p-postList.-type-simple .p-postList__title::before,
.kk-wp .p-postList.-type-simple .p-postList__title::after { content: none; display: none; }
.kk-wp .p-postList.-type-simple .p-postList__link:hover .p-postList__title { color: var(--kk-color-accent-light); }
@media (max-width: 760px) {
  .kk-wp .p-postList.-type-simple .p-postList__link { padding-block: 22px; }
  .kk-wp .p-postList.-type-simple .p-postList__link::after { display: none; }
  .kk-wp .p-postList.-type-simple .p-postList__body { flex-direction: column; align-items: flex-start; gap: 8px; }
  .kk-wp .p-postList.-type-simple .p-postList__meta { gap: 16px; font-size: 11px; }
}
/* 投稿リストの「もっと見る」ボタン（静的版 .kk-c-button--text に寄せる） */
.kk-wp .p-postList__more,
.kk-wp .is-style-more_btn { margin-top: 32px; text-align: left; }

/* =========================================================
   タブ（静的版 31. .kk-c-tabs）— SWELL のタブブロック（/blog/ のカテゴリ別の記事一覧など）
   ========================================================= */
.kk-wp .swell-block-tab .c-tabList {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0;
  max-width: 100%;
  margin: 0 0 var(--kk-space-block);
  padding: 0;
  overflow-x: auto;
  border: 0;
  list-style: none;
  scrollbar-width: none;
}
.kk-wp .swell-block-tab .c-tabList::-webkit-scrollbar { display: none; }
.kk-wp .swell-block-tab .c-tabList__item { flex: none; width: auto; margin: 0; padding: 0; }
.kk-wp .swell-block-tab .c-tabList__button {
  display: flex;
  align-items: center;
  width: auto;
  margin: 0;
  padding: 14px 20px;
  background: none;
  border: 0;
  border-bottom: 1px solid var(--kk-color-border-strong);
  border-radius: 0;
  box-shadow: none;
  font-size: 14px;
  letter-spacing: var(--kk-ls-body);
  line-height: var(--kk-lh-small);
  white-space: nowrap;
  color: var(--kk-color-text-muted);
  transition: color var(--kk-dur-fast) var(--kk-ease-base);
}
.kk-wp .swell-block-tab .c-tabList__button::before,
.kk-wp .swell-block-tab .c-tabList__button::after { content: none; display: none; }
.kk-wp .swell-block-tab .c-tabList__button:hover { color: var(--kk-color-accent-light); }
.kk-wp .swell-block-tab .c-tabList__button[aria-selected="true"] {
  background: var(--kk-color-base-sub);
  border-bottom: 2px solid var(--kk-color-main);
  color: var(--kk-color-text);
}
.kk-wp .swell-block-tab .c-tabBody { margin: 0; padding: 0; border: 0; background: none; }
.kk-wp .swell-block-tab .c-tabBody__item { padding: 0; }

/* =========================================================
   ページ送り（静的版 32. .kk-c-pagination）— SWELL のアーカイブ（カテゴリ一覧など）
   ========================================================= */
.kk-wp .c-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 8px;
  margin: var(--kk-space-block) 0 0;
}
.kk-wp .c-pagination .page-numbers {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--kk-color-border-strong);
  border-radius: 0;
  background: none;
  box-shadow: none;
  font-family: var(--kk-ff-en);
  font-size: var(--kk-fs-label);
  font-weight: var(--kk-fw-en-medium);
  letter-spacing: var(--kk-ls-label);
  text-indent: var(--kk-ls-label);
  line-height: 1;
  color: var(--kk-color-text-sub);
  transition: border-color var(--kk-dur-fast) var(--kk-ease-base), color var(--kk-dur-fast) var(--kk-ease-base);
}
.kk-wp .c-pagination a.page-numbers:hover { border-color: var(--kk-color-accent); color: var(--kk-color-accent-light); }
.kk-wp .c-pagination .page-numbers.current {
  background: var(--kk-color-main);
  border-color: var(--kk-color-main);
  color: var(--kk-color-button-text);
}
.kk-wp .c-pagination .page-numbers.dots { border: 0; }

/* =========================================================
   記事（投稿）ページ（静的版 pages/post.css）— SWELL の投稿ページに当てる
   本文の列 680（tokens container.text）。記事本文の SWELL ブロック（ボックス・ボタンなど）は SWELL のまま
   ========================================================= */
.kk-wp.single .l-content { padding-top: 0; }
.kk-wp.single .l-mainContent__inner { max-width: calc(var(--kk-container-text) + var(--kk-gutter) * 2); margin-inline: auto; }
.kk-wp.single .p-articleHead,
.kk-wp.single .c-postTitle { margin: 0 0 var(--kk-space-element); }
.kk-wp.single .c-postTitle__ttl {
  margin: 0;
  font-family: var(--kk-ff-heading);
  font-size: var(--kk-fs-h3);
  font-weight: var(--kk-fw-heading);
  letter-spacing: var(--kk-ls-card);
  line-height: var(--kk-lh-heading);
  color: var(--kk-color-text);
}
.kk-wp.single .c-postTitle__date { display: none; } /* 日付はメタの行に出す（静的版） */
.kk-wp.single .p-articleMetas {
  font-family: var(--kk-ff-en);
  font-size: var(--kk-fs-label);
  font-weight: var(--kk-fw-en-medium);
  letter-spacing: var(--kk-ls-label);
  line-height: var(--kk-lh-label);
  color: var(--kk-color-text-faint);
}
.kk-wp.single .p-articleMetas a { color: var(--kk-color-accent); }

/* 目次（静的版 .kk-p-post-toc）。SWELL の目次タイトルは「CONTENTS」に（setup_guide.md） */
.kk-wp .p-toc {
  max-width: none;
  margin: var(--kk-space-element) 0;
  padding: 28px 32px;
  background: var(--kk-color-base-sub);
  border: 1px solid var(--kk-color-border-strong);
  border-radius: 0;
  box-shadow: none;
}
.kk-wp .p-toc::before,
.kk-wp .p-toc::after { content: none; display: none; }
.kk-wp .p-toc__ttl {
  display: block;
  margin: 0 0 10px;
  padding: 0;
  text-align: left;
  font-family: var(--kk-ff-en);
  font-size: var(--kk-fs-label);
  font-weight: var(--kk-fw-en-medium);
  letter-spacing: var(--kk-ls-label);
  line-height: var(--kk-lh-label);
  color: var(--kk-color-label-gold);
}
.kk-wp .p-toc__ttl::before { display: none; }
.kk-wp .p-toc__list li { font-size: var(--kk-fs-small); letter-spacing: var(--kk-ls-body); line-height: var(--kk-lh-small); }
.kk-wp .p-toc__list a,
.kk-wp .p-toc__link { color: var(--kk-color-text-sub); text-decoration: none; border: 0; }
.kk-wp .p-toc__list a:hover { color: var(--kk-color-accent-light); }
@media (max-width: 760px) {
  .kk-wp .p-toc { padding: 20px; }
}

/* 本文（記事本文の直下の見出し・段落・リスト・引用だけ。SWELL のブロックの中は触らない） */
.kk-wp.single .post_content { color: var(--kk-color-text-sub); }
.kk-wp.single .post_content > p,
.kk-wp.single .post_content > ul > li,
.kk-wp.single .post_content > ol > li {
  font-size: var(--kk-fs-body);
  letter-spacing: var(--kk-ls-body);
  line-height: var(--kk-lh-body);
}
.kk-wp.single .post_content > p strong { font-weight: var(--kk-fw-bold); color: var(--kk-color-text); background: none; }
.kk-wp.single .post_content > p a,
.kk-wp.single .post_content > ul a,
.kk-wp.single .post_content > ol a {
  color: var(--kk-color-text-link);
  text-decoration: underline;
  text-decoration-color: var(--kk-color-text-link-line);
  text-underline-offset: 4px;
}
.kk-wp.single .post_content > h2 {
  margin: 64px 0 24px;
  padding: 24px 0 16px;
  background: none;
  border: 0;
  border-bottom: 1px solid var(--kk-color-border-strong);
  border-radius: 0;
  box-shadow: none;
  font-family: var(--kk-ff-heading);
  font-size: var(--kk-fs-h3-card);
  font-weight: var(--kk-fw-heading);
  letter-spacing: var(--kk-ls-card);
  line-height: var(--kk-lh-card);
  color: var(--kk-color-text);
  scroll-margin-top: calc(var(--kk-header-h) + 24px);
}
.kk-wp.single .post_content > h3 {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 48px 0 16px;
  padding: 0;
  background: none;
  border: 0;
  font-family: var(--kk-ff-heading);
  font-size: var(--kk-fs-h4);
  font-weight: var(--kk-fw-heading);
  letter-spacing: var(--kk-ls-card);
  line-height: 1.6;
  color: var(--kk-color-text);
  scroll-margin-top: calc(var(--kk-header-h) + 24px);
}
.kk-wp.single .post_content > h2::before,
.kk-wp.single .post_content > h2::after,
.kk-wp.single .post_content > h3::after { content: none; display: none; }
.kk-wp.single .post_content > h3::before {
  content: "";
  position: static;
  display: block;
  flex: none;
  width: 16px;
  height: 1px;
  margin: 0;
  background: var(--kk-color-main);
  border: 0;
  transform: none;
}
.kk-wp.single .post_content > ul { padding-left: 0; list-style: none; }
.kk-wp.single .post_content > ul > li { position: relative; margin: 0 0 8px; padding-left: 18px; }
.kk-wp.single .post_content > ul > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: calc(var(--kk-lh-body) * 0.5em);
  width: 6px;
  height: 1px;
  background: var(--kk-color-accent);
  border-radius: 0;
}
.kk-wp.single .post_content > blockquote {
  margin: 24px 0;
  padding: 16px 0 16px 24px;
  background: none;
  border: 0;
  border-left: 1px solid var(--kk-color-gold);
}
.kk-wp.single .post_content > blockquote::before,
.kk-wp.single .post_content > blockquote::after { content: none; display: none; }
.kk-wp.single .post_content > blockquote p { font-size: var(--kk-fs-body-small); color: var(--kk-color-text-muted); }

/* 著者情報（静的版 .kk-p-post-author） */
.kk-wp .p-authorBox {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  margin: var(--kk-space-element) 0 0;
  padding: 32px;
  background: var(--kk-color-base-sub);
  border: 1px solid var(--kk-color-border-strong);
  border-radius: 0;
  box-shadow: none;
}
.kk-wp .p-authorBox .avatar,
.kk-wp .p-authorBox__l img { width: 96px; height: 120px; border-radius: 0; object-fit: cover; }
.kk-wp .p-authorBox__name {
  font-family: var(--kk-ff-heading);
  font-size: var(--kk-fs-h4);
  font-weight: var(--kk-fw-heading);
  letter-spacing: var(--kk-ls-card);
  line-height: 1.6;
  color: var(--kk-color-text);
}
.kk-wp .p-authorBox__desc,
.kk-wp .p-authorBox__description { font-size: var(--kk-fs-small); letter-spacing: var(--kk-ls-body); line-height: var(--kk-lh-small); color: var(--kk-color-text-muted); }
@media (max-width: 760px) {
  .kk-wp .p-authorBox { flex-direction: column; padding: 24px 20px; }
}

/* 記事下の見出し（関連記事など）：英字ラベルなしの見出しを静的版の見出しに寄せる */
.kk-wp .l-articleBottom__title,
.kk-wp .c-secTitle {
  margin: 0 0 32px;
  padding: 0;
  background: none;
  border: 0;
  text-align: left;
  font-family: var(--kk-ff-heading);
  font-size: var(--kk-fs-h3-card);
  font-weight: var(--kk-fw-heading);
  letter-spacing: var(--kk-ls-card);
  line-height: var(--kk-lh-card);
  color: var(--kk-color-text);
}
.kk-wp .l-articleBottom__title::before,
.kk-wp .l-articleBottom__title::after,
.kk-wp .c-secTitle::before,
.kk-wp .c-secTitle::after { content: none; display: none; }

/* ブログのカテゴリータブ（リンク型。inc/nav.php。2026-10-24）
   /blog/ は本文の「記事一覧」の見出しの下、カテゴリーの一覧はページの上（パンくずの下）に出る。見た目は components.css の .kk-c-tabs */
.kk-wp .kk-root.kk-wp-cat-tabs { padding-top: var(--kk-space-block); background: none; }
.kk-wp .kk-c-tabs--links { margin: 0; padding: 0; }
.kk-wp .kk-c-tabs--links .kk-c-tabs__item { text-decoration: none; }

/* アーカイブ（カテゴリ一覧）のタイトル */
.kk-wp.archive .c-pageTitle {
  margin: 0 0 var(--kk-space-block);
  padding: 0;
  background: none;
  border: 0;
  font-family: var(--kk-ff-heading);
  font-size: var(--kk-fs-h3);
  font-weight: var(--kk-fw-heading);
  letter-spacing: var(--kk-ls-card);
  line-height: var(--kk-lh-heading);
  color: var(--kk-color-text);
}
.kk-wp.archive .c-pageTitle::before,
.kk-wp.archive .c-pageTitle::after { content: none; display: none; }

/* =========================================================
   お問い合わせフォーム（静的版 18. .kk-c-form）— Contact Form 7 / MW WP Form の出力に合わせる
   フォームの中身は setup_guide.md のテンプレート（.kk-c-field などのクラスをタグに付ける）
   ========================================================= */
.kk-wp .kk-root .kk-c-form .wpcf7-form-control-wrap { display: block; }
.kk-wp .kk-root .kk-c-form .kk-c-checkbox .wpcf7-form-control-wrap,
.kk-wp .kk-root .kk-c-form .kk-c-checkbox .wpcf7-list-item { display: contents; margin: 0; }
.kk-wp .kk-root .wpcf7-not-valid-tip,
.kk-wp .kk-root .kk-c-form .error {
  display: block;
  margin-top: 8px;
  font-size: 12px;
  letter-spacing: var(--kk-ls-caption);
  line-height: var(--kk-lh-label);
  color: var(--kk-color-error);
}
.kk-wp .kk-root .wpcf7-not-valid { border-color: var(--kk-color-error); }
.kk-wp .kk-root .wpcf7 form .wpcf7-response-output {
  margin: 24px 0 0;
  padding: 16px 20px;
  border: 1px solid var(--kk-color-border-strong);
  font-size: var(--kk-fs-small);
  line-height: var(--kk-lh-small);
  color: var(--kk-color-text-sub);
}
.kk-wp .kk-root .wpcf7 form.invalid .wpcf7-response-output,
.kk-wp .kk-root .wpcf7 form.failed .wpcf7-response-output { border-color: var(--kk-color-error); }
.kk-wp .kk-root .wpcf7-spinner { margin-left: 12px; }
/* 送信ボタンが <input type="submit"> のとき（中に矢印の span を入れられない） */
.kk-wp .kk-root input[type="submit"].kk-c-button { cursor: pointer; border: 0; }

/* =========================================================
   404（子テーマの 404.php）
   ========================================================= */
.kk-wp.error404 .l-content,
.kk-wp.error404 #content { width: 100%; max-width: none; margin: 0; padding: 0; }
.kk-wp.error404 .l-sidebar { display: none; }

/* =========================================================
   /info/（投稿ページ＝ブログ一覧。案A）：パターン（ページヘッダー・テーマ・「記事一覧」の見出し）の下に、
   SWELL の home.php が記事一覧とページ送りを出す。見出しのセクションと続けて見えるようにする
   ========================================================= */
.kk-wp.kk-posts-page .post_content > .kk-root:last-child { padding-bottom: var(--kk-space-block); }
.kk-wp.kk-posts-page .p-homeContent {
  box-sizing: border-box;
  max-width: none;
  margin: 0;
  padding: 0 0 var(--kk-space-section);
  background: var(--kk-color-base-sub);
}
.kk-wp.kk-posts-page .p-homeContent > * {
  box-sizing: border-box;
  max-width: calc(var(--kk-container-max) + var(--kk-gutter) * 2);
  margin-inline: auto;
  padding-inline: var(--kk-gutter);
}
.kk-wp.kk-posts-page .p-homeContent .c-tabList { display: none; } /* SWELL の「新着／人気」タブは使わない（カテゴリ別のタブは記事一覧の上に置く場合だけ） */
