@charset "UTF-8";
/*!
Theme Name: Cocoon Child
Description: 治療家キャリアLab - AI Lab風リデザイン
Template: cocoon-master
Version: 6.0.0
*/

/* ==========================================================================
   0. Reset & Base
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, sans-serif;
  color: #333;
  line-height: 1.8;
  font-size: 16px;
  background: #f8f8f8;
  margin: 0;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

a { color: #2E7D32; text-decoration: none; }
a:hover { opacity: 0.8; }
img { max-width: 100%; height: auto; }

/* ==========================================================================
   1. Header — AI Lab style (pill shape, clean)
   ========================================================================== */
#header-container {
  position: static;
  background: #fff;
  border-bottom: 1px solid #eee;
  padding: 0;
}
#header-container-in { max-width: 1200px; margin: 0 auto; }
#header-in, .header-in {
  display: flex !important;
  align-items: center !important;
  padding: 12px 24px !important;
  gap: 24px;
}
.logo-header { margin: 0 !important; padding: 0 !important; flex-shrink: 0; }
.logo-image img,
.header-site-logo-image,
.site-logo-image {
  max-height: 60px !important;
  width: auto !important;
  height: auto !important;
}
/* ナビ */
#navi { margin-left: auto; }
.navi-in > ul { display: flex; gap: 24px; list-style: none; margin: 0; padding: 0; }
.navi-in > ul > li > a {
  font-size: 14px;
  font-weight: 700;
  color: #333;
  padding: 8px 0;
  white-space: nowrap;
}
.navi-in > ul > li > a:hover { color: #2E7D32; }
/* feedlyとRSS非表示 */
a[class*="feedly"], a[class*="rss-button"],
.sns-follow, .sns-follow-buttons, .follow-button-area, .sns-follow-message {
  display: none !important;
}
/* スマホ */
@media screen and (max-width: 834px) {
  #header-in, .header-in { padding: 10px 16px !important; }
  .logo-image img, .header-site-logo-image, .site-logo-image {
    max-height: 40px !important;
  }
  #navi, .navi-in { display: none !important; }
  #header-container { position: static !important; }
}

/* ==========================================================================
   2. Layout — 2 Column
   ========================================================================== */
.wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; overflow: hidden; }
.content-in {
  display: flex !important;
  gap: 40px;
}
#main {
  flex: 1;
  min-width: 0;
  padding: 0 !important;
}
#sidebar {
  width: 300px;
  flex-shrink: 0;
}
@media screen and (max-width: 1023px) {
  .content-in { flex-direction: column !important; }
  #sidebar { width: 100%; }
  .wrap { padding: 0 16px; }
}

/* ==========================================================================
   3. Front Page
   ========================================================================== */
/* タイトル・日付・目次・SNS — 全非表示 */
.front-top-page .entry-title,
.front-top-page .date-tags,
.front-top-page .post-date,
.front-top-page .post-update,
.front-top-page .toc,
.front-top-page #toc,
.page .toc,
.page .table-of-contents,
.sns-share, .sns-share-buttons {
  display: none !important;
}

.hero-section {
  text-align: center;
  padding: 40px 24px;
  background: linear-gradient(135deg, #F1F8F2 0%, #F9FAFB 100%);
  border-radius: 16px;
  margin-bottom: 40px;
}
.hero-catch {
  font-size: 1.05em;
  color: #555;
  line-height: 2;
  margin: 0;
}
.section-heading {
  font-size: 1.2em;
  font-weight: 700;
  color: #333;
  margin-bottom: 24px;
  padding-bottom: 12px;
  border-bottom: 2px solid #2E7D32;
}
.category-section { margin-bottom: 40px; }
.category-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}
.category-card {
  padding: 10px 20px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  color: #333;
  font-weight: 600;
  font-size: 14px;
  transition: all 0.2s;
}
.category-card:hover { background: #2E7D32; color: #fff; border-color: #2E7D32; }
.latest-section { margin-bottom: 40px; }
.about-section {
  background: #fff;
  border: 1px solid #e5e7eb;
  padding: 32px;
  border-radius: 16px;
  margin-bottom: 40px;
}
.text-link { color: #2E7D32; font-weight: 600; }
.text-link:hover { text-decoration: underline; }

/* ==========================================================================
   4. Article Cards — AI Lab style grid
   ========================================================================== */
/* トップページの[new_list]出力 */
.new-entry-cards.widget-entry-cards {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}
@media screen and (max-width: 834px) {
  .new-entry-cards.widget-entry-cards {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media screen and (max-width: 480px) {
  .new-entry-cards.widget-entry-cards {
    grid-template-columns: 1fr !important;
  }
}
.new-entry-card.widget-entry-card,
.widget-entry-card {
  display: flex !important;
  flex-direction: column !important;
  background: #fff !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
  border: 1px solid #eee !important;
  transition: box-shadow 0.2s, transform 0.2s !important;
  margin-bottom: 0 !important;
}
.widget-entry-card:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.12) !important;
  transform: translateY(-3px) !important;
}
/* サムネイル */
.widget-entry-card .entry-card-thumb,
.new-entry-card .entry-card-thumb {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  aspect-ratio: 3/2 !important;
  overflow: hidden !important;
  position: relative !important;
}
.widget-entry-card .entry-card-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
/* カテゴリバッジ */
.widget-entry-card .cat-label,
.entry-card .cat-label {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  font-size: 11px !important;
  padding: 3px 10px !important;
  border-radius: 4px !important;
  background: #2E7D32 !important;
  color: #fff !important;
  font-weight: 700 !important;
  z-index: 1 !important;
}
/* コンテンツ */
.new-entry-card-content.card-content,
.widget-entry-card-content {
  padding: 16px !important;
  flex: 1 !important;
}
.new-entry-card-title.card-title,
.widget-entry-card-title {
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
  color: #333 !important;
  margin-bottom: 8px !important;
}
/* 日付表示 */
.widget-entry-card-date,
.new-entry-card-date {
  display: block !important;
  font-size: 12px !important;
  color: #999 !important;
}

/* カテゴリ・アーカイブページのカード */
.ect-entry-card .entry-card-wrap,
.entry-card-wrap {
  margin-bottom: 20px !important;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  border: 1px solid #eee;
}
.entry-card {
  background: #fff !important;
}
.entry-card-thumb {
  position: relative;
}

/* ==========================================================================
   5. Single Article Page
   ========================================================================== */
.article {
  background: #fff;
  border-radius: 16px;
  padding: 40px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  margin-bottom: 32px;
}
@media screen and (max-width: 768px) {
  .article { padding: 20px 16px; }
}
.entry-title {
  font-size: 1.6em;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 16px;
  color: #111;
}
/* 見出し */
.article h2 {
  font-size: 1.4em;
  font-weight: 700;
  color: #111;
  padding: 0 0 12px;
  margin: 48px 0 24px;
  border-bottom: 2px solid #2E7D32;
  background: none !important;
}
.article h3 {
  font-size: 1.15em;
  font-weight: 700;
  color: #222;
  padding: 10px 0 10px 16px;
  margin: 36px 0 20px;
  border-left: 4px solid #2E7D32;
  background: none !important;
}
.article h4 {
  font-size: 1.05em;
  font-weight: 700;
  color: #333;
  margin: 28px 0 16px;
}

/* ==========================================================================
   6. FAQ — Q上 A下 縦並び
   ========================================================================== */
.faq-item {
  margin-bottom: 24px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  display: block !important;
}
.faq-question {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 20px !important;
  background: #f9fafb !important;
  font-weight: 700 !important;
  border-bottom: 1px solid #e5e7eb !important;
  float: none !important;
  width: 100% !important;
}
.faq-answer {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 20px !important;
  background: #fff !important;
  float: none !important;
  width: 100% !important;
}
.faq-badge {
  flex-shrink: 0 !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  font-weight: 800 !important;
  font-size: 15px !important;
}
.faq-question .faq-badge { background: #2E7D32 !important; color: #fff !important; }
.faq-answer .faq-badge { background: #F59E0B !important; color: #fff !important; }
.faq-text { flex: 1 !important; line-height: 1.8 !important; }
.faq-question::before, .faq-answer::before,
.faq-question::after, .faq-answer::after {
  display: none !important; content: none !important;
}

/* ==========================================================================
   7. CTA Box
   ========================================================================== */
.cta-box {
  background: #F1F8F2;
  border: 2px solid #2E7D32;
  border-radius: 12px;
  padding: 28px;
  margin: 32px 0;
  text-align: center;
}
.cta-box h3 { font-size: 1.1em; border: none; margin: 0 0 12px; padding: 0; color: #266B2A; }
.cta-box .btn {
  display: inline-block;
  padding: 14px 32px;
  background: #D8F26B !important;
  color: #fff !important;
  border-radius: 8px;
  font-weight: 700;
  font-size: 15px;
  margin-top: 12px;
  text-decoration: none !important;
  box-shadow: none;
  transition: background 0.2s;
}
.cta-box .btn:hover { background: #C6E52E !important; color: #fff !important; }

/* ==========================================================================
   8. Service Card
   ========================================================================== */
.service-card {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 20px;
  position: relative;
}
.service-rank {
  background: #2E7D32;
  color: #fff;
  font-weight: 800;
  font-size: 14px;
  padding: 4px 12px;
  border-radius: 4px;
  display: inline-block;
  margin-bottom: 8px;
}
.service-name { font-size: 1.1em; font-weight: 700; margin-bottom: 8px; }
.service-btn {
  display: inline-block;
  padding: 12px 28px;
  background: #D8F26B !important;
  color: #fff !important;
  border-radius: 8px;
  font-weight: 700;
  font-size: 14px;
  margin-top: 12px;
  text-decoration: none !important;
  box-shadow: none;
  transition: background 0.2s;
}
.service-btn:hover {
  background: #C6E52E !important;
  color: #fff !important;
}

/* ==========================================================================
   9. Author Box
   ========================================================================== */
.author-profile-box {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 24px;
  background: #f9fafb;
  border-radius: 12px;
  margin: 32px 0;
  border: 1px solid #eee;
}
.author-avatar img { width: 72px; height: 72px; border-radius: 50%; }
.author-label { font-size: 12px; color: #999; margin-bottom: 4px; }
.author-name { font-weight: 700; font-size: 15px; margin-bottom: 4px; }
.author-bio { font-size: 13px; color: #666; line-height: 1.7; }

/* ==========================================================================
   10. Sidebar
   ========================================================================== */
.sidebar { background: transparent; }
.widget {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
  border: 1px solid #eee;
  padding: 20px;
  margin-bottom: 20px;
}
.widget-title {
  font-size: 14px;
  font-weight: 700;
  border-bottom: 2px solid #2E7D32;
  padding-bottom: 8px;
  margin-bottom: 12px;
}

/* ==========================================================================
   11. Text Decoration
   ========================================================================== */
.highlight-positive {
  background: linear-gradient(transparent 60%, #FEF08A 60%);
  font-weight: 700;
  padding: 0 2px;
}
.highlight-negative {
  color: #DC2626;
  font-weight: 700;
}

/* ==========================================================================
   12. Hide Unwanted Elements
   ========================================================================== */
.related-list > p { display: none !important; }
.no-related-entries, .related-entry-none { display: none !important; }
.widget_recent_comments, .wp-block-latest-comments { display: none !important; }
.sns-share, .sns-share-buttons { display: none !important; }

/* ==========================================================================
   13. Footer
   ========================================================================== */
#footer {
  background: #222;
  color: #ccc;
}
#footer a { color: #ccc; }
.footer-bottom { font-size: 13px; }

/* ==========================================================================
   14. Responsive
   ========================================================================== */
@media screen and (max-width: 768px) {
  .article h2 { font-size: 1.2em; }
  .article h3 { font-size: 1.05em; }
  .entry-title { font-size: 1.3em; }
}

/* ==========================================================================
   15. Table
   ========================================================================== */
.article table {
  width: 100%;
  border-collapse: collapse;
  margin: 24px 0;
  font-size: 14px;
}
.article th {
  background: #333;
  color: #fff;
  padding: 12px 16px;
  font-weight: 700;
  text-align: left;
}
.article td {
  padding: 12px 16px;
  border-bottom: 1px solid #eee;
}
.article tr:nth-child(even) td { background: #fafafa; }

/* ==========================================================================
   v6.1 — スマホ修正 + 目次アコーディオン + カード強制縦型
   ========================================================================== */

/* スマホで白カード背景を解除（二重パディング防止） */
@media screen and (max-width: 768px) {
  .article {
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
  }
  #main {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* カードを強制的に縦型（サムネ上+テキスト下） */
.entry-card-wrap .entry-card,
.ect-entry-card .entry-card,
.ect-vertical-card .entry-card-wrap .entry-card,
.widget-entry-card {
  display: flex !important;
  flex-direction: column !important;
}
.entry-card-thumb,
.widget-entry-card-thumb,
.new-entry-card-thumb {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
.entry-card-content,
.widget-entry-card-content,
.new-entry-card-content {
  margin-left: 0 !important;
  padding: 16px !important;
}

/* 目次をデフォルトで閉じる（アコーディオン） */
.toc-content {
  display: none;
}
.toc-checkbox:checked ~ .toc-content {
  display: block;
}
.toc-title {
  cursor: pointer;
}

/* スマホ: 全面白背景、カードの浮きなし */
@media screen and (max-width: 768px) {
  body {
    background: #fff !important;
  }
  .entry-card-wrap,
  .widget-entry-card,
  .new-entry-card.widget-entry-card,
  .widget,
  .about-section,
  .hero-section {
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
  }
  .content-in, .wrap, #content {
    padding: 0 !important;
  }
}

/* ==========================================================================
   v6.2 — プロフィール画像・関連記事バッファ・段差修正
   ========================================================================== */

/* ライタープロフィール画像を正方形に固定 */
.author-profile-box .author-avatar img,
.author-box .author-photo img,
.author-thumb img {
  width: 72px !important;
  height: 72px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}

/* 関連記事セクションのバッファと段差修正 */
.related-entries {
  padding: 20px !important;
  margin-top: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.related-entry-heading {
  padding-left: 0 !important;
  margin-bottom: 16px !important;
}
/* 関連記事の前後のナビ（前の記事/次の記事）も段差なし */
.pager-post-navi {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
/* 記事下の余計な区切り線・段差を消す */
.under-entry-content {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* アーカイブウィジェット非表示 */
.widget_archive, .wp-block-archives {
  display: none !important;
}

/* カテゴリページのバッファ */
.archive .entry-header,
.archive .archive-title {
  padding-left: 20px !important;
}
.archive #main .entry-card-wrap {
  margin-left: 20px !important;
  margin-right: 20px !important;
}

/* サイドバー: アーカイブ完全非表示 + 重複カテゴリの2つ目を非表示 */
.widget_archive,
.wp-block-archives,
.widget_categories + .widget_categories {
  display: none !important;
}

/* サイドバー最新記事の各項目に区切り線 */
.widget_recent_entries ul li,
.widget.widget_recent_entries li {
  padding-bottom: 12px !important;
  margin-bottom: 12px !important;
  border-bottom: 1px solid #eee !important;
}
.widget_recent_entries ul li:last-child {
  border-bottom: none !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}


/* フロントページだけ段差を消す（記事ページ・固定ページは白背景維持） */
}

.front-top-page .article {
  margin-bottom: 0 !important;
  border-bottom: none !important;
}
.front-top-page .under-entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 記事ページの段差修正：articleの影を消して、全体を1つの白背景に統合 */
.single .article {
  box-shadow: none !important;
  border-radius: 16px 16px 0 0 !important;
  margin-bottom: 0 !important;
}
.single .under-entry-content {
  background: #fff !important;
  padding: 20px 40px 40px !important;
  border-radius: 0 0 16px 16px !important;
  box-shadow: none !important;
}
/* 全体を包むmainに影をつける */
.single #main > .article-container {
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  border-radius: 16px;
}
@media screen and (max-width: 768px) {
  .single .under-entry-content {
    padding: 16px !important;
  }
}

/* サイドバーカテゴリの区切り線 */
.widget_categories ul li {
  padding-bottom: 12px !important;
  margin-bottom: 12px !important;
  border-bottom: 1px solid #eee !important;
}
.widget_categories ul li:last-child {
  border-bottom: none !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* アバター画像を正円に強制 */
.author-profile-box .author-avatar img,
.author-box img.avatar,
img.avatar,
img.local-avatar {
  width: 72px !important;
  height: 72px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  aspect-ratio: 1/1 !important;
}

/* アバター正円 — 最強セレクタ */
body .author-profile-box .author-avatar img.avatar,
body .author-profile-box .author-avatar img.local-avatar,
body .author-profile-box .author-avatar img,
body .author-box .author-photo img,
body img.avatar.local-avatar {
  width: 72px !important;
  height: 72px !important;
  max-width: 72px !important;
  max-height: 72px !important;
  min-width: 72px !important;
  min-height: 72px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  clip-path: circle(50%) !important;
}

/* === 横スクロールテーブル === */
.scrollable-table {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 24px;
}
.scrollable-table table {
  min-width: 700px;
  white-space: nowrap;
}
.scrollable-table td, .scrollable-table th {
  padding: 12px 16px !important;
}
/* イチオシ行 */
.recommend-row {
  background-color: #F1F8F2 !important;
}
.recommend-badge {
  display: inline-block;
  background: #2E7D32;
  color: #fff;
  font-size: 0.75em;
  padding: 2px 8px;
  border-radius: 4px;
  margin-left: 8px;
  font-weight: bold;
}
/* CTAボタン */
.cta-button-wrap {
  text-align: center;
  margin: 24px 0;
}
.cta-button-wrap a {
  display: inline-block;
  padding: 16px 48px;
  background: #D8F26B !important;
  color: #fff !important;
  font-weight: bold;
  font-size: 1.1em;
  border-radius: 8px;
  text-decoration: none !important;
  transition: background 0.2s;
  box-shadow: none;
}
.cta-button-wrap a:hover {
  background: #C6E52E !important;
  color: #fff !important;
}
.cta-button-wrap .cta-sub {
  font-size: 0.85em;
  color: #6B7280;
  margin-top: 8px;
}
/* まとめボックス */
.summary-box {
  background: #F1F8F2;
  border-left: 4px solid #2E7D32;
  padding: 20px 24px;
  margin: 24px 0;
  border-radius: 0 8px 8px 0;
}
.summary-box h4 {
  color: #1F5723;
  margin: 0 0 12px 0;
  font-size: 1.1em;
}
/* ポイントボックス */
.point-box {
  background: #F0FDF4;
  border: 1px solid #86EFAC;
  border-radius: 8px;
  padding: 20px 24px;
  margin: 24px 0;
}
.point-box h4 {
  color: #166534;
  margin: 0 0 12px 0;
}

/* ==========================================================================

/* ==========================================================================
   NEW DESIGN ALIGNMENT (2026-04-26)
   トップページの新デザインに合わせたヘッダー・フッタースタイル
   ========================================================================== */

/* --- Header Override: sticky glass effect --- */
.header-container,
#header-container,
div.header-container {
  position: sticky !important;
  top: 0 !important;
  z-index: 40 !important;
  background: rgba(255,255,255,0.95) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border-bottom: 1px solid #F3F4F6 !important;
  box-shadow: none !important;
}

/* Logo size */
.header-site-logo-image,
img.site-logo-image.header-site-logo-image {
  max-height: 36px !important;
  width: auto !important;
}

/* Global nav styling */
#navi, .navi, .navi-in {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
#navi .navi-in > ul > li > a,
.navi-in > ul > li > a {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #374151 !important;
  padding: 8px 14px !important;
  transition: color 0.2s !important;
  background: transparent !important;
}
#navi .navi-in > ul > li > a:hover,
.navi-in > ul > li > a:hover {
  color: #2E7D32 !important;
  opacity: 1 !important;
  background: transparent !important;
}
#navi .navi-in > ul > li.current-menu-item > a,
#navi .navi-in > ul > li.current_page_item > a {
  color: #2E7D32 !important;
}

/* --- Footer Override: dark theme --- */
.footer,
.footer-container,
div.footer,
div.footer-container,
footer.footer {
  background: #1F2937 !important;
  color: #D1D5DB !important;
  padding-top: 48px !important;
  padding-bottom: 32px !important;
  border-top: none !important;
}
.footer a,
.footer-container a,
.footer-in a {
  color: #D1D5DB !important;
}
.footer a:hover,
.footer-container a:hover,
.footer-in a:hover {
  color: #fff !important;
  opacity: 1 !important;
}
/* Footer logo */
.footer-site-logo-image,
img.site-logo-image.footer-site-logo-image {
  max-height: 30px !important;
  width: auto !important;
  filter: brightness(10) !important;
}
.logo-footer .site-name-text-link {
  color: #fff !important;
}
/* Footer bottom */
.footer-bottom,
.footer-bottom-content,
.copyright,
.source-org,
.nwa .footer-bottom-logo,
.footer-bottom-content p {
  color: #9CA3AF !important;
  font-size: 11px !important;
}
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.1) !important;
  margin-top: 32px !important;
  padding-top: 24px !important;
}
/* Footer widget */
.footer .widgettitle,
.footer-container .widgettitle {
  color: #fff !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  margin-bottom: 12px !important;
  border-bottom: 1px solid rgba(255,255,255,0.15) !important;
  padding-bottom: 8px !important;
}
.footer .widget_nav_menu li a,
.footer .widget_categories li a,
.footer .widget_meta li a,
.footer .widget_recent_entries li a {
  font-size: 11.5px !important;
  padding: 4px 0 !important;
  color: #D1D5DB !important;
}
/* Footer menu links */
.footer-bottom-menu li a,
.nwa .footer-bottom-menu li a {
  color: #9CA3AF !important;
  font-size: 11px !important;
}
.footer-bottom-menu li a:hover {
  color: #fff !important;
}

/* --- Breadcrumb --- */
.breadcrumb,
div.breadcrumb {
  background: #F9FAFB !important;
  border-bottom: 1px solid #F3F4F6 !important;
  padding: 8px 0 !important;
  font-size: 12px !important;
  color: #6B7280 !important;
}
.breadcrumb a { color: #6B7280 !important; }
.breadcrumb a:hover { color: #2E7D32 !important; }

/* --- Archive / Category page headings --- */
.archive-title,
.list-title,
h1.archive-title,
h1.list-title {
  font-size: 22px !important;
  font-weight: 900 !important;
  color: #1F2937 !important;
  letter-spacing: -0.02em !important;
  padding: 24px 0 16px !important;
}

/* --- Brand green accent for category labels --- */
.cat-label { background: #2E7D32 !important; color: #fff !important; font-size: 9.5px !important; font-weight: 700 !important; padding: 2px 6px !important; border-radius: 3px !important; }

/* --- Entry card --- */
.entry-card-wrap,
a.entry-card-wrap {
  border: 1px solid #E5E7EB !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  transition: all 0.2s !important;
}
.entry-card-wrap:hover,
a.entry-card-wrap:hover {
  box-shadow: 0 2px 8px rgba(15,23,42,0.08) !important;
  border-color: #2E7D32 !important;
}

/* --- Article page entry title --- */
.entry-title,
h1.entry-title {
  font-size: 26px !important;
  font-weight: 900 !important;
  color: #1F2937 !important;
  line-height: 1.4 !important;
  letter-spacing: -0.02em !important;
}

/* --- Sidebar --- */
.sidebar .widgettitle,
aside .widgettitle {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #1F2937 !important;
  border-bottom: 2px solid #1F2937 !important;
  padding-bottom: 8px !important;
  margin-bottom: 12px !important;
}

/* --- Mobile menu --- */
.menu-drawer-content { background: #fff !important; }
.menu-drawer-content a { color: #374151 !important; font-size: 14px !important; }

/* --- Links in article (green accent, but not buttons) --- */
/* 記事内リンク色（ボタン系は全て除外） */
.article .entry-content a { color: #2E7D32 !important; }
.article .entry-content a:hover { color: #1F5723 !important; opacity: 1 !important; }

/* ボタン系は全て白文字 — 上記を確実に上書き */
.article .entry-content .cta-button-wrap a,
.article .entry-content .cta-box a,
.article .entry-content .cta-box .btn,
.article .entry-content a.btn,
.article .entry-content .service-btn,
.article .entry-content .service-card a.service-btn,
body .cta-button-wrap a,
body .cta-box a.btn,
body .cta-box .btn,
body a.service-btn,
body .service-card .service-btn {
  color: #fff !important;
  background: #D8F26B !important;
  text-decoration: none !important;
}
body .cta-button-wrap a:hover,
body .cta-box a.btn:hover,
body a.service-btn:hover {
  color: #fff !important;
  background: #C6E52E !important;
  opacity: 1 !important;
}

/* ALL buttons in article must have white text — highest specificity */
.article .btn,
.article a.btn,
.article .cta-box .btn,
.article .cta-box a.btn,
.article .cta-button-wrap a,
.article .service-btn,
.article .service-card .service-btn,
.entry-content .btn,
.entry-content a.btn,
.entry-content .cta-box .btn,
.entry-content .cta-button-wrap a,
.entry-content .service-btn,
body .article .btn,
body .article .service-btn,
body .article .cta-button-wrap a,
body .entry-content .btn,
body .entry-content .service-btn,
body .entry-content .cta-button-wrap a {
  color: #fff !important;
  text-decoration: none !important;
}

/* --- Page body background --- */
body { background: #F9FAFB !important; }

/* --- Content area white card --- */
.main,
.content,
.article {
  background: #fff !important;
  border-radius: 8px !important;
}
.sidebar .widget {
  background: #fff !important;
  border-radius: 8px !important;
  padding: 16px !important;
  margin-bottom: 16px !important;
  border: 1px solid #E5E7EB !important;
}

/* ==========================================================================
   MOBILE OVERFLOW FIX + CTA REDESIGN (2026-04-26)
   ========================================================================== */

/* Prevent horizontal scroll on all pages */
html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

/* Header/footer inner containers must not exceed viewport */
.ck-header-inner,
.ck-footer-inner,
.ck-util-inner,
.ck-footer-bottom {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Mobile fix for custom header */
@media (max-width: 767px) {
  .ck-header-inner {
    padding: 0 16px !important;
    gap: 8px !important;
  }
  .ck-logo-text {
    font-size: 16px !important;
  }
  .ck-util-inner {
    padding: 0 16px !important;
    font-size: 11px !important;
  }
  .ck-footer-inner {
    padding: 0 16px !important;
  }
  .ck-footer-bottom {
    padding: 24px 16px 0 !important;
  }
}

/* Cocoon wrap/main/sidebar must not overflow */
.wrap, .content, .main, .sidebar {
  max-width: 100% !important;
  box-sizing: border-box !important;
}
@media (max-width: 834px) {
  .wrap { padding: 0 16px !important; }
  .main, .sidebar { width: 100% !important; float: none !important; margin: 0 !important; }
}

/* --- CTA Box Redesign --- */
.cta-box {
  background: #F1F8F2 !important;
  border: 2px solid #2E7D32 !important;
  border-radius: 12px !important;
  padding: 28px 24px !important;
  text-align: center !important;
}
.cta-box h3 {
  color: #1F2937 !important;
  font-size: 1.15em !important;
  font-weight: 800 !important;
  border: none !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
}
.cta-box p {
  color: #374151 !important;
  font-size: 14px !important;
  margin: 0 0 16px !important;
}
.cta-box .btn {
  display: inline-block !important;
  padding: 14px 32px !important;
  background: #D8F26B !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  text-decoration: none !important;
  transition: background 0.2s !important;
  box-shadow: none !important;
}
.cta-box .btn:hover {
  background: #C6E52E !important;
  color: #fff !important;
}

/* ==========================================================================
   FAQ HTML直書き型 スタイル（Cocoon親テーマを完全上書き）
   12記事で使用。Cocoon親テーマの CSS変数・色指定を全て !important で上書き
   ========================================================================== */

/* Cocoon CSS変数をリセット */
.faq-wrap,
body .faq-wrap,
.article .faq-wrap,
.entry-content .faq-wrap {
  --cocoon-custom-question-color: #0F241A !important;
  --cocoon-custom-answer-color: #4B9464 !important;
  --cocoon-custom-border-color: #E5E7EB !important;
  --cocoon-custom-background-color: transparent !important;
  margin: 24px 0 !important;
}

/* FAQカード */
body .faq-wrap .faq,
.article .faq-wrap .faq,
.entry-content .faq-wrap .faq {
  margin-bottom: 20px !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  display: block !important;
}

/* Q行 — block + float でstrongが分断されない */
body .faq-wrap .faq-question,
.article .faq-wrap .faq-question,
.entry-content .faq-wrap .faq-question {
  display: block !important;
  padding: 16px 20px !important;
  background: #F9FAFB !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  color: #1F2937 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

/* A行 — block + float でstrongが分断されない */
body .faq-wrap .faq-answer,
.article .faq-wrap .faq-answer,
.entry-content .faq-wrap .faq-answer {
  display: block !important;
  padding: 16px 20px !important;
  font-size: 14px !important;
  color: #374151 !important;
  line-height: 1.8 !important;
  border-top: 1px solid #F3F4F6 !important;
  background: #fff !important;
  margin: 0 !important;
  overflow: hidden !important;
}

/* Q/Aラベルバッジ — float left で配置 */
body .faq-question-label,
body .faq-answer-label,
.article .faq-question-label,
.article .faq-answer-label,
.entry-content .faq-question-label,
.entry-content .faq-answer-label,
.faq-wrap .faq-question-label,
.faq-wrap .faq-answer-label {
  float: left !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  margin-right: 10px !important;
  margin-top: 2px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  line-height: 28px !important;
  text-align: center !important;
}
body .faq-question-label,
.article .faq-question-label,
.entry-content .faq-question-label,
.faq-wrap .faq-question-label {
  background: #0F241A !important;
  color: #D8F26B !important;
}
body .faq-answer-label,
.article .faq-answer-label,
.entry-content .faq-answer-label,
.faq-wrap .faq-answer-label {
  background: #D8F26B !important;
  color: #0F241A !important;
}

/* ==========================================================================
   HOTFIX: インラインスタイル付きCTAボタンの視認性修正 (2026-05-05)
   根本原因: .article .entry-content a { color: #2E7D32 !important; } が
   インラインstyleのcolor:#fffを上書きしていた
   ========================================================================== */
.article .entry-content a[style*="background"],
.entry-content a[style*="background"],
body .article .entry-content a[style*="background"],
body .entry-content a[style*="background"] {
  color: #fff !important;
  text-decoration: none !important;
}
.article .entry-content a[style*="background"]:hover,
.entry-content a[style*="background"]:hover {
  color: #fff !important;
  opacity: 0.9 !important;
}

/* === サービスキャプチャ画像 === */
.service-screenshot {
  margin: 1.2em auto 1.5em;
  max-width: 600px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
}
.service-screenshot img {
  display: block;
  width: 100%;
  height: auto;
}
.service-screenshot figcaption {
  padding: 8px 12px;
  font-size: 0.85em;
  color: #64748b;
  background: #F7FAF3;
  text-align: center;
}


/* ==========================================================================
   v7.0 — 記事ページデザイン強化 (2026-07-04)
   - スマホ全テーブル横スクロール
   - 箇条書き装飾強化
   - Cocoonボックス類ブランドトーン上書き
   - h2背景帯追加
   - 吹き出し洗練
   - 本文フォント・行間最適化
   - 画像角丸
   ========================================================================== */

/* ------------------------------------------------------------------
   1. 本文フォント・行間・段落最適化
   ------------------------------------------------------------------ */
.article .entry-content,
.article .entry-content p {
  font-size: 16px;
  line-height: 1.9;
}
.article .entry-content p {
  margin-bottom: 1.4em;
}

/* ------------------------------------------------------------------
   2. 見出し強化 (h2: 背景帯 / h3: 左ボーダー維持+サブカラー)
   ------------------------------------------------------------------ */
.article h2 {
  font-size: 1.4em !important;
  font-weight: 700 !important;
  color: #fff !important;
  background: #0F241A !important;
  padding: 14px 20px !important;
  margin: 48px 0 24px !important;
  border-bottom: none !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}
.article h3 {
  font-size: 1.15em !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  padding: 10px 0 10px 16px !important;
  margin: 36px 0 20px !important;
  border-left: 4px solid #D8F26B !important;
  background: #F7FAF3 !important;
  border-radius: 0 4px 4px 0 !important;
}

/* ------------------------------------------------------------------
   3. テーブル強化（スマホ全テーブル横スクロール + ヘッダー濃色）
   ------------------------------------------------------------------ */
.article table {
  width: 100%;
  border-collapse: collapse;
  margin: 24px 0;
  font-size: 14px;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}
.article th {
  background: #0F241A !important;
  color: #fff !important;
  padding: 14px 16px !important;
  font-weight: 700 !important;
  text-align: left !important;
  border-bottom: none !important;
}
.article td {
  padding: 12px 16px;
  border-bottom: 1px solid #E3E8E0;
  vertical-align: middle;
}
.article tr:nth-child(even) td { background: #F7FAF3; }
.article tr:hover td { background: #EDF2E8; transition: background 0.15s; }

/* スマホ: 全テーブル横スクロール */
@media screen and (max-width: 768px) {
  .article table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    border-radius: 6px;
  }
  .article th,
  .article td {
    min-width: 100px;
  }
}

/* ------------------------------------------------------------------
   4. 箇条書き (ul / ol) 装飾強化
   ------------------------------------------------------------------ */
.article .entry-content ul {
  padding-left: 0;
  list-style: none;
  margin: 16px 0 24px;
}
.article .entry-content ul li {
  position: relative;
  padding: 8px 8px 8px 32px;
  margin-bottom: 6px;
  line-height: 1.8;
  background: #F7FAF3;
  border-radius: 6px;
}
.article .entry-content ul li::before {
  content: '✓';
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: #4B9464;
  font-weight: 700;
  font-size: 14px;
}
.article .entry-content ol {
  padding-left: 0;
  list-style: none;
  counter-reset: ol-counter;
  margin: 16px 0 24px;
}
.article .entry-content ol li {
  position: relative;
  padding: 8px 8px 8px 40px;
  margin-bottom: 6px;
  line-height: 1.8;
  background: #F7FAF3;
  border-radius: 6px;
  counter-increment: ol-counter;
}
.article .entry-content ol li::before {
  content: counter(ol-counter);
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  background: #0F241A;
  color: #D8F26B;
  border-radius: 50%;
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ------------------------------------------------------------------
   5. Cocoonボックス類 ブランドトーン上書き
   ------------------------------------------------------------------ */
/* memo-box（青系・情報） */
.memo-box,
.body .memo-box,
.entry-content .memo-box {
  background: #EDF2E8 !important;
  border-left: 5px solid #4B9464 !important;
  border-radius: 0 8px 8px 0 !important;
  padding: 16px 20px !important;
  margin: 24px 0 !important;
  box-shadow: none !important;
}
.memo-box .box-label,
.memo-box .box-title,
.body .memo-box .box-label {
  color: #2E4A38 !important;
  font-weight: 700 !important;
  font-size: 0.9em !important;
}
/* alert-box（オレンジ・注意） */
.alert-box,
.body .alert-box,
.entry-content .alert-box {
  background: #fff7ed !important;
  border-left: 5px solid #f97316 !important;
  border-radius: 0 8px 8px 0 !important;
  padding: 16px 20px !important;
  margin: 24px 0 !important;
  box-shadow: none !important;
}
.alert-box .box-label,
.alert-box .box-title,
.body .alert-box .box-label {
  color: #c2410c !important;
  font-weight: 700 !important;
  font-size: 0.9em !important;
}
/* blank-box（汎用・グレー境界） */
.blank-box,
.body .blank-box,
.entry-content .blank-box {
  background: #F7FAF3 !important;
  border: 1.5px solid #E3E8E0 !important;
  border-radius: 8px !important;
  padding: 16px 20px !important;
  margin: 24px 0 !important;
  box-shadow: none !important;
}
/* information-box（情報・緑系） */
.information-box,
.body .information-box,
.entry-content .information-box {
  background: #f0fdf4 !important;
  border-left: 5px solid #22c55e !important;
  border-radius: 0 8px 8px 0 !important;
  padding: 16px 20px !important;
  margin: 24px 0 !important;
  box-shadow: none !important;
}

/* ------------------------------------------------------------------
   6. 吹き出し (speech-wrap) 洗練
   ------------------------------------------------------------------ */
.speech-wrap {
  margin: 28px 0 !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
}
.speech-balloon {
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  padding: 14px 18px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.07) !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
  position: relative !important;
}
/* 右向き吹き出し（専門家側） */
.speech-wrap.speech-left .speech-balloon {
  border-radius: 0 12px 12px 12px !important;
}
.speech-wrap.speech-right .speech-balloon {
  border-radius: 12px 0 12px 12px !important;
}
/* アバター画像 */
.speech-wrap .speech-person {
  flex-shrink: 0 !important;
}
.speech-wrap .speech-person img {
  width: 60px !important;
  height: 60px !important;
  border-radius: 50% !important;
  border: 2px solid #e2e8f0 !important;
  object-fit: cover !important;
}
/* 吹き出しの名前ラベル */
.speech-wrap .speech-name {
  font-size: 0.78em !important;
  color: #64748b !important;
  text-align: center !important;
  margin-top: 4px !important;
  font-weight: 600 !important;
}
@media screen and (max-width: 768px) {
  .speech-balloon {
    font-size: 14px !important;
    padding: 12px 14px !important;
  }
  .speech-wrap .speech-person img {
    width: 50px !important;
    height: 50px !important;
  }
}

/* ------------------------------------------------------------------
   7. 記事内画像 角丸・影
   ------------------------------------------------------------------ */
.article .entry-content img:not(.speech-person img):not(.avatar):not([class*="logo"]) {
  border-radius: 8px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  max-width: 100%;
  height: auto;
}

/* ------------------------------------------------------------------
   8. アフィリCTAボタン タップ最適化
   ------------------------------------------------------------------ */
.article .entry-content a.btn,
.article .entry-content .btn,
.cta-button-wrap a {
  min-height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 14px 32px !important;
  font-size: 1em !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  text-decoration: none !important;
}

/* ------------------------------------------------------------------
   9. スマホ本文最適化
   ------------------------------------------------------------------ */
@media screen and (max-width: 768px) {
  .article .entry-content,
  .article .entry-content p {
    font-size: 15px;
    line-height: 1.85;
  }
  .article .entry-content p {
    margin-bottom: 1.2em;
  }
  .article .entry-content img {
    border-radius: 6px;
  }
  .article h2 {
    font-size: 1.2em !important;
    padding: 12px 16px !important;
  }
  .article h3 {
    font-size: 1.08em !important;
  }
}


/* ==========================================================
   CVページ専用CSS — .cv-page スコープ
   対象: /judo-therapist-job-sites/ / /acupuncturist-job-agents/
   前提: body に class="cv-page" が付与されていること
   最終更新: 2026-07-04 by ハナ
   ========================================================== */

/* ----------------------------------------------------------
   CSS変数（カラーパレット確定値）
   ---------------------------------------------------------- */
.cv-page {
  --cv-primary:       #0F241A;
  --cv-primary-light: #EDF2E8;
  --cv-cta:           #D8F26B;
  --cv-cta-hover:     #C6E52E;
  --cv-text:          #1C1C1C;
  --cv-text-sub:      #6B7280;
  --cv-bg:            #FAFBF7;
  --cv-card-bg:       #FFFFFF;
  --cv-border:        #E3E8E0;
  --cv-gold:          #F59E0B;
  --cv-silver:        #9CA3AF;
  --cv-bronze:        #B45309;
  --cv-shadow:        0 2px 12px rgba(15, 36, 26, 0.08);
  --cv-shadow-hover:  0 6px 24px rgba(15, 36, 26, 0.14);
  --cv-radius:        8px;
  --cv-radius-sm:     4px;
  background-color: var(--cv-bg);
}

/* ----------------------------------------------------------
   コンポーネント1: 編集部監修バー
   ---------------------------------------------------------- */
.cv-page .cv-author-bar {
  background: var(--cv-primary-light);
  border-left: 4px solid var(--cv-primary);
  border-radius: var(--cv-radius-sm);
  padding: 12px 16px;
  margin: 0 0 24px;
}

.cv-page .cv-author-bar__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
}

.cv-page .cv-author-bar__item {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 200px;
}

.cv-page .cv-author-bar__avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  background: var(--cv-primary);
  display: flex;
  align-items: center;
  justify-content: center;
}

.cv-page .cv-author-bar__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cv-page .cv-author-bar__avatar-initials {
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}

.cv-page .cv-author-bar__info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.cv-page .cv-author-bar__role {
  font-size: 10px;
  color: var(--cv-primary);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  background: rgba(26, 107, 107, 0.12);
  padding: 1px 6px;
  border-radius: 2px;
  width: fit-content;
}

.cv-page .cv-author-bar__name {
  font-size: 14px;
  font-weight: 700;
  color: var(--cv-text);
  line-height: 1.3;
}

.cv-page .cv-author-bar__credential {
  font-size: 11px;
  color: var(--cv-text-sub);
  line-height: 1.3;
}

.cv-page .cv-author-bar__divider {
  width: 1px;
  height: 40px;
  background: var(--cv-border);
  flex-shrink: 0;
}

.cv-page .cv-author-bar__meta {
  margin-left: auto;
  font-size: 11px;
  color: var(--cv-text-sub);
  white-space: nowrap;
}

@media (max-width: 600px) {
  .cv-page .cv-author-bar__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .cv-page .cv-author-bar__divider {
    width: 100%;
    height: 1px;
  }
  .cv-page .cv-author-bar__meta {
    margin-left: 0;
  }
}

/* ----------------------------------------------------------
   コンポーネント2: 結論早見ブロック
   ---------------------------------------------------------- */
.cv-page .cv-quick-pick {
  background: var(--cv-card-bg);
  border: 2px solid var(--cv-primary);
  border-radius: var(--cv-radius);
  padding: 24px 20px;
  margin: 0 0 32px;
  box-shadow: var(--cv-shadow);
}

.cv-page .cv-quick-pick__header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.cv-page .cv-quick-pick__icon {
  color: var(--cv-gold);
  font-size: 20px;
  line-height: 1;
}

.cv-page .cv-quick-pick__title {
  font-size: 17px;
  font-weight: 700;
  color: var(--cv-primary);
  line-height: 1.4;
  margin: 0;
  border: none !important;
  padding: 0 !important;
  background: none !important;
}

.cv-page .cv-quick-pick__lead {
  font-size: 13px;
  color: var(--cv-text-sub);
  margin: 0 0 16px;
  line-height: 1.6;
}

.cv-page .cv-quick-pick__list {
  list-style: none;
  margin: 0 0 12px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.cv-page .cv-quick-pick__item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-radius: var(--cv-radius-sm);
  background: var(--cv-bg);
}

.cv-page .cv-quick-pick__item--1st {
  background: rgba(245, 158, 11, 0.06);
  border: 1px solid rgba(245, 158, 11, 0.3);
}

.cv-page .cv-quick-pick__rank {
  font-size: 13px;
  font-weight: 700;
  color: var(--cv-text-sub);
  min-width: 28px;
  text-align: center;
}

.cv-page .cv-quick-pick__item--1st .cv-quick-pick__rank {
  color: var(--cv-gold);
}

.cv-page .cv-quick-pick__item--2nd .cv-quick-pick__rank {
  color: var(--cv-silver);
}

.cv-page .cv-quick-pick__item--3rd .cv-quick-pick__rank {
  color: var(--cv-bronze);
}

.cv-page .cv-quick-pick__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.cv-page .cv-quick-pick__service-name {
  font-size: 14px;
  font-weight: 700;
  color: var(--cv-text);
  line-height: 1.3;
}

.cv-page .cv-quick-pick__reason {
  font-size: 12px;
  color: var(--cv-text-sub);
  line-height: 1.4;
}

.cv-page .cv-quick-pick__cta {
  font-size: 12px;
  font-weight: 700;
  color: var(--cv-primary);
  text-decoration: none;
  white-space: nowrap;
  padding: 4px 10px;
  border: 1px solid var(--cv-primary);
  border-radius: var(--cv-radius-sm);
  transition: background 0.2s, color 0.2s;
}

.cv-page .cv-quick-pick__cta:hover {
  background: var(--cv-primary);
  color: #FFFFFF;
}

.cv-page .cv-quick-pick__disclaimer {
  font-size: 11px;
  color: var(--cv-text-sub);
  margin: 0;
  line-height: 1.5;
}

@media (max-width: 480px) {
  .cv-page .cv-quick-pick__item {
    flex-wrap: wrap;
  }
  .cv-page .cv-quick-pick__cta {
    margin-left: auto;
  }
}

/* ----------------------------------------------------------
   コンポーネント3: ランキングカード
   ---------------------------------------------------------- */
.cv-page .cv-rank-card {
  position: relative;
  background: var(--cv-card-bg);
  border-radius: var(--cv-radius);
  box-shadow: var(--cv-shadow);
  padding: 28px 24px 20px;
  margin: 0 0 24px;
  transition: box-shadow 0.25s;
}

.cv-page .cv-rank-card:hover {
  box-shadow: var(--cv-shadow-hover);
}

.cv-page .cv-rank-card--1st {
  border: 2px solid var(--cv-gold);
  padding-top: 36px;
}

.cv-page .cv-rank-card--2nd {
  border: 1px solid var(--cv-border);
}

.cv-page .cv-rank-card--3rd {
  border: 1px solid var(--cv-border);
}

.cv-page .cv-rank-card__badge {
  position: absolute;
  top: -1px;
  left: 20px;
  display: flex;
  align-items: baseline;
  gap: 1px;
  background: var(--cv-gold);
  color: #FFFFFF;
  padding: 4px 12px 6px;
  border-radius: 0 0 var(--cv-radius-sm) var(--cv-radius-sm);
  font-weight: 700;
  line-height: 1;
}

.cv-page .cv-rank-card__badge--2nd {
  background: var(--cv-silver);
}

.cv-page .cv-rank-card__badge--3rd {
  background: var(--cv-bronze);
}

.cv-page .cv-rank-card__badge-num {
  font-size: 22px;
}

.cv-page .cv-rank-card__badge-label {
  font-size: 12px;
}

.cv-page .cv-rank-card__pr-label {
  position: absolute;
  top: 8px;
  right: 12px;
  font-size: 10px;
  color: var(--cv-text-sub);
  background: transparent;
  border: 1px solid var(--cv-border);
  padding: 1px 4px;
  border-radius: 2px;
  letter-spacing: 0.05em;
}

.cv-page .cv-rank-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  gap: 12px;
}

.cv-page .cv-rank-card__logo img {
  max-height: 48px;
  width: auto;
  display: block;
}

.cv-page .cv-rank-card__rating {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

.cv-page .cv-rank-card__stars {
  color: var(--cv-gold);
  font-size: 14px;
  letter-spacing: -0.5px;
}

.cv-page .cv-rank-card__rating-score {
  font-size: 13px;
  font-weight: 700;
  color: var(--cv-text);
}

.cv-page .cv-rank-card__summary {
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
  border-top: 1px solid var(--cv-border);
  border-bottom: 1px solid var(--cv-border);
}

.cv-page .cv-rank-card__summary-item {
  display: flex;
  padding: 9px 0;
  gap: 12px;
  border-bottom: 1px solid var(--cv-border);
  font-size: 14px;
  line-height: 1.5;
}

.cv-page .cv-rank-card__summary-item:last-child {
  border-bottom: none;
}

.cv-page .cv-rank-card__summary-label {
  font-weight: 700;
  color: var(--cv-primary);
  min-width: 40px;
  flex-shrink: 0;
}

.cv-page .cv-rank-card__summary-value {
  color: var(--cv-text);
}

.cv-page .cv-rank-card__cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  width: 100%;
  min-height: 52px;
  border-radius: var(--cv-radius-sm);
  text-decoration: none;
  transition: background 0.2s, transform 0.15s;
  cursor: pointer;
}

.cv-page .cv-rank-card__cta--primary {
  background: var(--cv-cta);
  color: #FFFFFF;
  box-shadow: 0 3px 10px rgba(217, 119, 6, 0.35);
}

.cv-page .cv-rank-card__cta--primary:hover {
  background: var(--cv-cta-hover);
  transform: translateY(-1px);
  box-shadow: 0 5px 16px rgba(217, 119, 6, 0.45);
  color: #FFFFFF;
}

.cv-page .cv-rank-card__cta--primary:active {
  transform: translateY(0);
}

.cv-page .cv-rank-card__cta--secondary {
  background: var(--cv-primary);
  color: #FFFFFF;
  box-shadow: 0 2px 8px rgba(26, 107, 107, 0.25);
}

.cv-page .cv-rank-card__cta--secondary:hover {
  background: #145858;
  transform: translateY(-1px);
  color: #FFFFFF;
}

.cv-page .cv-rank-card__cta-main {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
}

.cv-page .cv-rank-card__cta-sub {
  font-size: 11px;
  opacity: 0.85;
  line-height: 1;
}

.cv-page .cv-rank-card__cta-text {
  display: block;
  text-align: center;
  margin-top: 10px;
  font-size: 12px;
  color: var(--cv-text-sub);
  text-decoration: underline;
}

.cv-page .cv-rank-card__cta-text:hover {
  color: var(--cv-primary);
}

/* ----------------------------------------------------------
   コンポーネント4: 比較一覧表
   ---------------------------------------------------------- */
.cv-page .cv-comparison-wrap {
  margin: 0 0 32px;
}

.cv-page .cv-comparison-wrap__note {
  font-size: 12px;
  color: var(--cv-text-sub);
  margin: 0 0 6px;
  display: none;
}

.cv-page .cv-comparison-table-outer {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: var(--cv-radius);
  box-shadow: var(--cv-shadow);
}

.cv-page .cv-comparison-table {
  width: 100%;
  min-width: 540px;
  border-collapse: collapse;
  font-size: 13px;
  background: var(--cv-card-bg);
}

.cv-page .cv-comparison-table__caption {
  font-size: 11px;
  color: var(--cv-text-sub);
  text-align: left;
  padding: 8px 12px 4px;
  caption-side: top;
}

.cv-page .cv-comparison-table__th {
  background: var(--cv-primary-light);
  color: var(--cv-primary);
  font-weight: 700;
  font-size: 12px;
  padding: 10px 12px;
  text-align: center;
  border-bottom: 2px solid var(--cv-primary);
  white-space: nowrap;
}

.cv-page .cv-comparison-table__th--1st,
.cv-page .cv-comparison-table__td--1st {
  background: rgba(245, 158, 11, 0.06);
}

.cv-page .cv-comparison-table__th--label {
  text-align: left;
  background: var(--cv-bg);
  color: var(--cv-text-sub);
}

.cv-page .cv-comparison-table__td {
  padding: 10px 12px;
  text-align: center;
  border-bottom: 1px solid var(--cv-border);
  color: var(--cv-text);
  vertical-align: middle;
}

.cv-page .cv-comparison-table__td--label {
  text-align: left;
  font-weight: 600;
  color: var(--cv-text-sub);
  font-size: 12px;
  white-space: nowrap;
  background: var(--cv-bg);
}

.cv-page .cv-comparison-table__rank-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  background: var(--cv-gold);
  color: #FFFFFF;
  padding: 2px 6px;
  border-radius: 2px;
  margin-right: 4px;
}

.cv-page .cv-comparison-table__rank-badge--2nd {
  background: var(--cv-silver);
}

.cv-page .cv-comparison-table__rank-badge--3rd {
  background: var(--cv-bronze);
}

.cv-page .cv-comparison-table__check {
  color: var(--cv-primary);
  font-size: 16px;
  font-weight: 700;
}

.cv-page .cv-comparison-table__stars {
  color: var(--cv-gold);
  font-size: 13px;
  letter-spacing: -0.5px;
}

.cv-page .cv-comparison-table__cta {
  display: inline-block;
  background: var(--cv-cta);
  color: #FFFFFF;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: var(--cv-radius-sm);
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.2s;
}

.cv-page .cv-comparison-table__cta:hover {
  background: var(--cv-cta-hover);
  color: #FFFFFF;
}

.cv-page .cv-comparison-table__cta--sub {
  background: var(--cv-primary);
}

.cv-page .cv-comparison-table__cta--sub:hover {
  background: #145858;
}

@media (max-width: 600px) {
  .cv-page .cv-comparison-wrap__note {
    display: block;
  }
}

/* ----------------------------------------------------------
   コンポーネント5: FAQアコーディオン
   ---------------------------------------------------------- */
.cv-page .cv-faq {
  margin: 0 0 32px;
}

.cv-page .cv-faq__heading {
  font-size: 20px;
  font-weight: 700;
  color: var(--cv-text);
  margin: 0 0 16px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--cv-primary);
}

.cv-page .cv-faq__list {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--cv-border);
  border-radius: var(--cv-radius);
  overflow: hidden;
}

.cv-page .cv-faq__item {
  border-bottom: 1px solid var(--cv-border);
}

.cv-page .cv-faq__item:last-child {
  border-bottom: none;
}

.cv-page .cv-faq__question {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  color: var(--cv-text);
  background: var(--cv-card-bg);
  list-style: none;
  user-select: none;
  transition: background 0.15s;
}

.cv-page .cv-faq__question::-webkit-details-marker {
  display: none;
}

.cv-page .cv-faq__question:hover {
  background: var(--cv-primary-light);
}

.cv-page .cv-faq__item[open] .cv-faq__question {
  background: var(--cv-primary-light);
  color: var(--cv-primary);
}

.cv-page .cv-faq__q-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--cv-primary);
  color: #FFFFFF;
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
  line-height: 1;
}

.cv-page .cv-faq__toggle-icon {
  margin-left: auto;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  position: relative;
}

.cv-page .cv-faq__toggle-icon::before,
.cv-page .cv-faq__toggle-icon::after {
  content: '';
  position: absolute;
  background: var(--cv-primary);
  border-radius: 1px;
  transition: transform 0.2s, opacity 0.2s;
}

.cv-page .cv-faq__toggle-icon::before {
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  transform: translateY(-50%);
}

.cv-page .cv-faq__toggle-icon::after {
  top: 0;
  left: 50%;
  width: 2px;
  height: 100%;
  transform: translateX(-50%);
}

.cv-page .cv-faq__item[open] .cv-faq__toggle-icon::after {
  transform: translateX(-50%) rotate(90deg);
  opacity: 0;
}

.cv-page .cv-faq__answer {
  display: flex;
  gap: 10px;
  padding: 12px 16px 16px;
  background: var(--cv-bg);
}

.cv-page .cv-faq__a-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--cv-cta);
  color: #FFFFFF;
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
  line-height: 1;
  margin-top: 1px;
}

.cv-page .cv-faq__answer p {
  font-size: 13px;
  color: var(--cv-text);
  line-height: 1.7;
  margin: 0;
}

/* ----------------------------------------------------------
   コンポーネント6: スマホ追従CTAバー
   ---------------------------------------------------------- */
.cv-sticky-bar {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: var(--cv-card-bg);
  border-top: 2px solid var(--cv-primary);
  box-shadow: 0 -4px 20px rgba(26, 107, 107, 0.15);
  padding: 8px 12px 10px;
  transform: translateY(100%);
  transition: transform 0.3s ease;
}

.cv-sticky-bar--visible {
  transform: translateY(0);
}

.cv-sticky-bar--hidden {
  transform: translateY(100%);
  pointer-events: none;
}

.cv-sticky-bar__inner {
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: 480px;
  margin: 0 auto;
}

.cv-sticky-bar__text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  overflow: hidden;
}

.cv-sticky-bar__rank {
  font-size: 10px;
  font-weight: 700;
  color: var(--cv-gold);
  line-height: 1;
}

.cv-sticky-bar__name {
  font-size: 12px;
  font-weight: 700;
  color: var(--cv-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
}

.cv-sticky-bar__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--cv-cta);
  color: #FFFFFF;
  font-size: 13px;
  font-weight: 700;
  padding: 8px 16px;
  border-radius: var(--cv-radius-sm);
  text-decoration: none;
  white-space: nowrap;
  min-height: 40px;
  transition: background 0.2s;
  flex-shrink: 0;
}

.cv-sticky-bar__cta:hover {
  background: var(--cv-cta-hover);
  color: #FFFFFF;
}

.cv-sticky-bar__close {
  background: none;
  border: none;
  padding: 4px;
  cursor: pointer;
  color: var(--cv-text-sub);
  font-size: 14px;
  flex-shrink: 0;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  transition: background 0.15s;
}

.cv-sticky-bar__close:hover {
  background: var(--cv-border);
}

@media (max-width: 768px) {
  .cv-sticky-bar {
    display: block;
  }
}

/* ----------------------------------------------------------
   Cocoon上書き
   ---------------------------------------------------------- */
.cv-page .entry-content h2 {
  border-left-color: var(--cv-primary) !important;
  color: var(--cv-text) !important;
}

.cv-page .entry-content h3 {
  border-color: var(--cv-primary) !important;
}

.cv-page .entry-content .is-style-info-box {
  border-color: var(--cv-primary) !important;
  background: var(--cv-primary-light) !important;
}

.cv-page .entry-content a:not([class]) {
  color: var(--cv-primary);
}

.cv-page .entry-content a:not([class]):hover {
  color: #145858;
}

.cv-page #content,
.cv-page .site-content {
  background-color: var(--cv-bg);
}

/* ============================================================
   記事ページ リニューアル デザイン 2026-07-05
   カラー: Dark Green #0F241A × Lime #D8F26B × BG #FAFBF7
   ============================================================ */

/* ----- サイト全体: フォント・背景・文字色 ----- */
body {
  font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', system-ui, sans-serif !important;
  background: #FAFBF7 !important;
  color: #14261B !important;
}

/* ----- Cocoonヘッダー → ダークグリーン ----- */
/* front-page.php は独自ヘッダーのため影響なし */
#header-container,
.header-container,
div.header-container,
#header-in,
#header {
  background: #0F241A !important;
  border-bottom: none !important;
}
/* Cocoon スティッキーヘッダー */
#header-container-in,
.header-container-in {
  background: #0F241A !important;
}
/* カスタムCKヘッダー（全ページ共通で使われる場合に備え） */
.ck-header,
.ck-header-wrap {
  background: #0F241A !important;
  border-bottom: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
/* ヘッダー内テキスト */
#header a,
#header-container a,
.ck-header a {
  color: #BCCDBF !important;
}
#header a:hover,
#header-container a:hover,
.ck-header a:hover {
  color: #D8F26B !important;
}
/* サイト名 */
#site-name a,
.site-name a,
.ck-site-name {
  color: #FFFFFF !important;
}
/* グローバルナビゲーション */
#navi,
.navi,
.global-navi {
  background: transparent !important;
}
#navi .navi-in > ul > li > a,
.navi-in a {
  color: #BCCDBF !important;
}
#navi .navi-in > ul > li > a:hover {
  color: #D8F26B !important;
  background: transparent !important;
}

/* ----- パンくずリスト ----- */
#breadcrumb,
.breadcrumb,
.entry-breadcrumb {
  background: #FAFBF7 !important;
  font-size: 12px !important;
  color: #93A296 !important;
  font-weight: 700 !important;
  padding: 12px 0 !important;
}
#breadcrumb a,
.breadcrumb a {
  color: #93A296 !important;
}
#breadcrumb a:hover,
.breadcrumb a:hover {
  color: #4B9464 !important;
}

/* ----- カテゴリラベル ----- */
.cat-label,
.entry-cat-label,
.label-cat,
a.cat-label {
  background: #0F241A !important;
  color: #D8F26B !important;
  border-radius: 7px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  padding: 5px 13px !important;
  border: none !important;
}

/* ----- 記事本文全体 ----- */
.entry-content,
.article-body {
  color: #3A473E !important;
  font-size: 15.5px !important;
  line-height: 2.0 !important;
}

/* ----- h2: ライム左ボーダー ----- */
.entry-content h2 {
  font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', system-ui, sans-serif !important;
  font-weight: 900 !important;
  font-size: 24px !important;
  line-height: 1.5 !important;
  padding: 0 0 0 18px !important;
  border-left: 5px solid #D8F26B !important;
  border-bottom: none !important;
  border-top: none !important;
  border-right: none !important;
  background: none !important;
  color: #0F241A !important;
  margin: 52px 0 20px !important;
  box-shadow: none !important;
}
.entry-content h2::before,
.entry-content h2::after {
  display: none !important;
}

/* ----- h3: ライム四角ドット ----- */
.entry-content h3 {
  font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', system-ui, sans-serif !important;
  font-weight: 900 !important;
  font-size: 19px !important;
  line-height: 1.5 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  color: #0F241A !important;
  margin: 40px 0 16px !important;
  box-shadow: none !important;
}
.entry-content h3::before {
  content: '' !important;
  display: inline-block !important;
  width: 10px !important;
  min-width: 10px !important;
  height: 10px !important;
  border-radius: 3px !important;
  background: #D8F26B !important;
  flex-shrink: 0 !important;
}
.entry-content h3::after {
  display: none !important;
}

/* ----- h4: グリーン細ボーダー ----- */
.entry-content h4 {
  font-weight: 900 !important;
  font-size: 16px !important;
  color: #0F241A !important;
  border-left: 3px solid #4B9464 !important;
  padding: 0 0 0 12px !important;
  border-bottom: none !important;
  border-top: none !important;
  background: none !important;
  margin: 32px 0 12px !important;
}
.entry-content h4::before,
.entry-content h4::after {
  display: none !important;
}

/* ----- テーブル: ダークグリーンヘッダー ----- */
.entry-content table {
  width: 100% !important;
  border-collapse: collapse !important;
  border: 1.5px solid #E3E8E0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  font-size: 14px !important;
  background: #fff !important;
}
.entry-content table th {
  background: #0F241A !important;
  color: #D8F26B !important;
  font-weight: 900 !important;
  padding: 14px 18px !important;
  border: none !important;
  text-align: left !important;
}
.entry-content table td {
  padding: 12px 18px !important;
  border: none !important;
  border-bottom: 1px solid #E3E8E0 !important;
  color: #3A473E !important;
  line-height: 1.8 !important;
  background: #fff !important;
}
.entry-content table tr:nth-child(even) td {
  background: #F7FAF3 !important;
}
.entry-content table tr:last-child td {
  border-bottom: none !important;
}

/* ----- リンク（本文内） ----- */
.entry-content a:not(.a8-cta-btn):not(.btn):not(.button):not([class*="rank"]):not([class*="cta"]):not([style*="background"]) {
  color: #4B9464 !important;
  text-underline-offset: 3px !important;
}
.entry-content a:not(.a8-cta-btn):not(.btn):not(.button):not([class*="rank"]):not([class*="cta"]):not([style*="background"]):hover {
  color: #0F241A !important;
}

/* ----- マーカー（ハイライト） ----- */
.entry-content mark {
  background: linear-gradient(transparent 65%, rgba(216, 242, 107, 0.55) 65%) !important;
  color: inherit !important;
  padding: 0 !important;
}

/* ----- 目次 (Cocoon TOC) ----- */
#toc,
.toc {
  background: #FFFFFF !important;
  border: 1.5px solid #E3E8E0 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  padding: 20px 24px !important;
}
.toc-title,
#toc .toc-title {
  background: none !important;
  color: #0F241A !important;
  font-weight: 900 !important;
  font-size: 15px !important;
  border: none !important;
  padding: 0 0 12px !important;
  margin: 0 !important;
}
.toc ol > li > a,
.toc ul > li > a {
  color: #4B9464 !important;
  font-weight: 900 !important;
  font-size: 14px !important;
}
.toc ol li a,
.toc ul li a {
  color: #0F241A !important;
  font-weight: 700 !important;
}

/* ----- サイドバー ----- */
.widget-title,
.sidebar .widget-title,
#sidebar .widget-title {
  background: #0F241A !important;
  color: #D8F26B !important;
  font-weight: 900 !important;
  border-radius: 8px 8px 0 0 !important;
  border: none !important;
  padding: 10px 16px !important;
}
.widget-title::before,
.widget-title::after {
  display: none !important;
}

/* ----- タグ ----- */
.tag-box .tag,
.tag-list a,
.tagcloud a {
  background: #EDF2E8 !important;
  color: #14261B !important;
  border: 1px solid #E3E8E0 !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
}
.tag-box .tag:hover,
.tag-list a:hover,
.tagcloud a:hover {
  background: #E3E8E0 !important;
}

/* ----- ページネーション ----- */
.pagination .current,
.page-numbers.current {
  background: #0F241A !important;
  color: #D8F26B !important;
  border-color: #0F241A !important;
}
.pagination a:hover,
.page-numbers a:hover {
  background: #EDF2E8 !important;
  color: #0F241A !important;
  border-color: #E3E8E0 !important;
}

/* ----- フッター ----- */
#footer,
.footer,
.footer-container,
.site-footer {
  background: #0F241A !important;
  color: #A9BFAC !important;
}
.footer a,
#footer a {
  color: #A9BFAC !important;
}
.footer a:hover,
#footer a:hover {
  color: #FFFFFF !important;
}
.footer-copyright,
#footer .copyright,
.copyright {
  color: #6E8273 !important;
  border-top: 1px solid #24402E !important;
  padding-top: 20px !important;
}

/* ----- モバイル調整 ----- */
@media (max-width: 768px) {
  .entry-content h2 {
    font-size: 20px !important;
    margin: 40px 0 16px !important;
    padding-left: 14px !important;
  }
  .entry-content h3 {
    font-size: 17px !important;
    margin: 32px 0 12px !important;
  }
  .entry-content h4 {
    font-size: 15px !important;
  }
  .entry-content table {
    font-size: 12px !important;
    display: block !important;
    overflow-x: auto !important;
  }
  .entry-content table th,
  .entry-content table td {
    padding: 10px 12px !important;
  }
}

/* ============================================================ 終 */

/* ============================================================
   記事ページ TOPデザイン統一 v2 2026-07-05
   （h1 / CTA / 著者 / 関連記事 / サイドバー白カード / 一覧カード）
   ============================================================ */

/* ----- h1: 記事タイトル ----- */
.entry-title,
h1.entry-title,
.article .entry-title {
  font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', system-ui, sans-serif !important;
  font-weight: 900 !important;
  font-size: 32px !important;
  line-height: 1.55 !important;
  color: #14261B !important;
}

/* ----- 日付メタ ----- */
.date-tags,
.entry-date,
.post-date {
  color: #93A296 !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
}

/* ----- アイキャッチ ----- */
.eye-catch,
.eye-catch img,
.entry-content .eye-catch-wrap img {
  border-radius: 18px !important;
  overflow: hidden !important;
}

/* ----- CTAボックス: ダークグリーン×ライム ----- */
.cta-box {
  background: #0F241A !important;
  border: none !important;
  border-radius: 18px !important;
  padding: 30px 36px !important;
  box-shadow: none !important;
}
.cta-box h3,
.entry-content .cta-box h3 {
  display: block !important;
  color: #FFFFFF !important;
  font-weight: 900 !important;
  font-size: 19px !important;
  line-height: 1.6 !important;
  border: none !important;
  background: none !important;
  padding: 0 !important;
  margin: 0 0 10px !important;
}
.cta-box h3::before,
.cta-box h3::after {
  display: none !important;
}
.cta-box p {
  color: #A9BFAC !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  line-height: 1.9 !important;
  margin: 0 0 18px !important;
}
.cta-box a.btn,
.cta-box .btn {
  display: inline-block !important;
  background: #D8F26B !important;
  color: #0F241A !important;
  font-weight: 900 !important;
  font-size: 15px !important;
  padding: 16px 30px !important;
  border-radius: 12px !important;
  border: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
  transition: opacity .2s !important;
}
.cta-box a.btn:hover,
.cta-box .btn:hover {
  opacity: .88 !important;
  background: #C6E52E !important;
  color: #0F241A !important;
}

/* ----- 著者ボックス ----- */
.author-box {
  background: #FFFFFF !important;
  border: 1.5px solid #E3E8E0 !important;
  border-radius: 18px !important;
  padding: 24px 28px !important;
  box-shadow: none !important;
}
.author-box .author-name,
.author-box .author-name a {
  font-weight: 900 !important;
  font-size: 16px !important;
  color: #14261B !important;
}
.author-box .author-description {
  font-size: 13px !important;
  line-height: 1.95 !important;
  color: #5A6B5E !important;
}

/* ----- 関連記事 ----- */
.related-entry-heading,
.related-entries .related-entry-heading h2,
h2.related-entry-heading {
  font-weight: 900 !important;
  font-size: 24px !important;
  color: #0F241A !important;
  padding-left: 16px !important;
  border-left: 5px solid #D8F26B !important;
  background: none !important;
  border-bottom: none !important;
  border-top: none !important;
  border-right: none !important;
}
.related-entry-card-wrap,
a.related-entry-card-wrap {
  background: #FFFFFF !important;
  border: 1.5px solid #E3E8E0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: none !important;
  transition: border-color .2s, transform .2s !important;
}
.related-entry-card-wrap:hover {
  border-color: #C6D4BC !important;
  transform: translateY(-2px) !important;
}
.related-entry-card-title {
  font-weight: 900 !important;
  font-size: 13.5px !important;
  line-height: 1.7 !important;
  color: #14261B !important;
}
.related-entry-card-thumb img {
  border-radius: 0 !important;
}

/* ----- ナビカード（前後記事） ----- */
.navi-prev-box,
.navi-next-box,
.pager-post-navi a {
  background: #FFFFFF !important;
  border: 1.5px solid #E3E8E0 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}
.pager-post-navi a:hover {
  border-color: #C6D4BC !important;
  background: #F7FAF3 !important;
}

/* ----- サイドバー: 白カード化（TOPと統一） ----- */
#sidebar .widget,
.sidebar .widget {
  background: #FFFFFF !important;
  border: 1.5px solid #E3E8E0 !important;
  border-radius: 18px !important;
  padding: 24px 26px !important;
  margin-bottom: 22px !important;
  box-shadow: none !important;
}
/* ウィジェットタイトル: ダークグリーンバー→カード内太字 */
#sidebar .widget-title,
.sidebar .widget-title,
.widget-title {
  background: none !important;
  color: #14261B !important;
  font-weight: 900 !important;
  font-size: 16px !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 0 14px !important;
  margin: 0 !important;
}

/* サイドバー 最新記事リスト */
#sidebar .widget_recent_entries ul li,
.widget_recent_entries ul li {
  padding: 12px 0 !important;
  border-bottom: 1px dashed #E3E8E0 !important;
  margin: 0 !important;
}
#sidebar .widget_recent_entries ul li:last-child {
  border-bottom: none !important;
}
#sidebar .widget_recent_entries ul li a,
.widget_recent_entries ul li a {
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.65 !important;
  color: #3A473E !important;
  text-decoration: none !important;
}
#sidebar .widget_recent_entries ul li a:hover {
  color: #4B9464 !important;
}

/* サイドバー カテゴリ: チップ型 */
#sidebar .widget_categories ul,
.widget_categories ul {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}
#sidebar .widget_categories ul li,
.widget_categories ul li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}
#sidebar .widget_categories ul li a,
.widget_categories ul li a {
  display: inline-block !important;
  background: #EDF2E8 !important;
  color: #14261B !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  padding: 8px 13px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  transition: background .2s !important;
}
#sidebar .widget_categories ul li a:hover {
  background: #E3E8E0 !important;
  color: #0F241A !important;
}
#sidebar .widget_categories .post-count,
.widget_categories .post-count {
  color: #93A296 !important;
  font-weight: 900 !important;
}

/* サイドバー 検索ボックス */
#sidebar .search-edit,
.widget_search input[type="text"],
.widget_search .search-edit {
  border: 1.5px solid #E3E8E0 !important;
  border-radius: 10px !important;
  background: #FAFBF7 !important;
  font-size: 14px !important;
  padding: 11px 14px !important;
}
#sidebar .search-submit,
.widget_search .search-submit {
  background: #0F241A !important;
  color: #D8F26B !important;
  border-radius: 10px !important;
  border: none !important;
}

/* ----- 記事一覧カード（カテゴリ/アーカイブページ） ----- */
.entry-card-wrap,
a.entry-card-wrap {
  background: #FFFFFF !important;
  border: 1.5px solid #E3E8E0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: none !important;
  margin-bottom: 20px !important;
  padding: 0 !important;
  transition: border-color .2s, transform .2s !important;
}
.entry-card-wrap:hover {
  border-color: #C6D4BC !important;
  transform: translateY(-2px) !important;
}
.entry-card {
  padding: 18px 20px !important;
}
.entry-card-title {
  font-weight: 900 !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: #14261B !important;
}
.entry-card-snippet {
  font-size: 13px !important;
  line-height: 1.8 !important;
  color: #5A6B5E !important;
}
.entry-card-meta .post-date,
.entry-card-meta {
  color: #93A296 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

/* アーカイブタイトル */
.archive-header,
.archive-title,
h1.archive-title {
  font-weight: 900 !important;
  color: #0F241A !important;
  background: none !important;
  border: none !important;
}

/* ----- コメント欄・その他ボックス ----- */
.comment-respond,
#comment-area {
  background: #FFFFFF !important;
  border: 1.5px solid #E3E8E0 !important;
  border-radius: 18px !important;
  padding: 24px !important;
}

/* Cocoon 汎用ボックス類をカード風に */
.entry-content .blank-box,
.entry-content .information-box,
.entry-content .memo-box {
  background: #FFFFFF !important;
  border: 1.5px solid #E3E8E0 !important;
  border-radius: 16px !important;
}
.entry-content .alert-box,
.entry-content .warning-box {
  border-radius: 16px !important;
}
.entry-content blockquote {
  background: #F7FAF3 !important;
  border-left: 5px solid #C6D4BC !important;
  border-radius: 0 12px 12px 0 !important;
  color: #5A6B5E !important;
}

/* ----- モバイル調整 v2 ----- */
@media (max-width: 768px) {
  .entry-title,
  h1.entry-title {
    font-size: 23px !important;
  }
  .cta-box {
    padding: 24px 22px !important;
  }
  .cta-box h3 {
    font-size: 17px !important;
  }
  #sidebar .widget,
  .sidebar .widget {
    padding: 20px 20px !important;
  }
}

/* ============================================================ v2終 */

/* ============================================================
   v3: CTA/ボタン ライム統一（旧オレンジ系の高詳細度ルールを上書き）
   ============================================================ */
body .cta-box a.btn,
body .cta-box .btn,
.article .entry-content .cta-box a,
.article .entry-content .cta-box .btn,
.article .entry-content a.btn,
body .cta-button-wrap a,
.article .entry-content .cta-button-wrap a,
body a.service-btn,
body .service-card .service-btn,
.article .entry-content .service-btn,
.article .entry-content .service-card a.service-btn {
  background: #D8F26B !important;
  color: #0F241A !important;
  font-weight: 900 !important;
  border-radius: 12px !important;
  border: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
body .cta-box a.btn:hover,
body .cta-box .btn:hover,
body .cta-button-wrap a:hover,
body a.service-btn:hover,
.article .entry-content .cta-box a:hover,
.article .entry-content a.btn:hover {
  background: #C6E52E !important;
  color: #0F241A !important;
  opacity: 1 !important;
}

/* 旧cta-box（薄緑borderバージョン）の残骸対策: 背景・枠を最終確定 */
body .cta-box,
.article .entry-content .cta-box {
  background: #0F241A !important;
  border: none !important;
  border-radius: 18px !important;
  text-align: center !important;
}
body .cta-box h3,
.article .entry-content .cta-box h3 {
  color: #FFFFFF !important;
  background: none !important;
  border: none !important;
}
body .cta-box p,
.article .entry-content .cta-box p {
  color: #A9BFAC !important;
}
/* ============================================================ v3終 */

/* ============================================================
   v4: 記事一覧グリッド（アーカイブ/カテゴリ/検索結果）TOP準拠
   ============================================================ */
.list.ect-vertical-card {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 20px !important;
}
.list.ect-vertical-card .entry-card-wrap {
  width: 100% !important;
  margin: 0 !important;
}
.entry-card-thumb {
  margin: 0 !important;
}
.entry-card-thumb img {
  border-radius: 0 !important;
  width: 100% !important;
}
.entry-card-content {
  padding: 16px 20px 18px !important;
  margin: 0 !important;
}
/* アーカイブタイトル行 */
.archive-header {
  margin-bottom: 24px !important;
}
h1.archive-title {
  font-size: 24px !important;
  padding-left: 16px !important;
  border-left: 5px solid #D8F26B !important;
}
@media (max-width: 768px) {
  .list.ect-vertical-card {
    grid-template-columns: 1fr !important;
  }
}
/* ============================================================ v4終 */

/* ============================================================
   v5: カテゴリラベル最終上書き（旧#2E7D32→ダークグリーン×ライム）
   ============================================================ */
body .cat-label,
body .entry-card .cat-label,
body .widget-entry-card .cat-label,
body .entry-card-thumb .cat-label,
body .related-entry-card-thumb .cat-label {
  background: #0F241A !important;
  color: #D8F26B !important;
  font-weight: 900 !important;
  border-radius: 6px !important;
  padding: 4px 10px !important;
  font-size: 10.5px !important;
  border: none !important;
}
/* ============================================================ v5終 */

/* ============================================================
   v6: cv-* コンポーネント TOPパレット統一（旧オレンジ×teal→ダークグリーン×ライム）
   ============================================================ */

/* --- CTA共通: 文字色の旧緑継承を遮断 --- */
body .cv-cta {
  font-weight: 900 !important;
  text-decoration: none !important;
  border: none !important;
}

/* --- プライマリCTA: ライム --- */
body .cv-rank-card__cta--primary,
body .cv-quick-pick__cta,
body .cv-sticky-bar__cta,
body .cv-comparison-table__cta {
  background: #D8F26B !important;
  color: #0F241A !important;
  box-shadow: none !important;
}
body .cv-rank-card__cta--primary:hover,
body .cv-quick-pick__cta:hover,
body .cv-sticky-bar__cta:hover,
body .cv-comparison-table__cta:hover {
  background: #C6E52E !important;
  color: #0F241A !important;
  opacity: 1 !important;
}
body .cv-rank-card__cta--primary .cv-rank-card__cta-main,
body .cv-rank-card__cta--primary .cv-rank-card__cta-sub,
body .cv-rank-card__cta--primary .cv-rank-card__cta-text {
  color: #0F241A !important;
}

/* --- セカンダリCTA: ダークグリーン --- */
body .cv-rank-card__cta--secondary,
body .cv-comparison-table__cta--sub {
  background: #0F241A !important;
  color: #D8F26B !important;
}
body .cv-rank-card__cta--secondary:hover,
body .cv-comparison-table__cta--sub:hover {
  background: #1B3A28 !important;
  color: #D8F26B !important;
}
body .cv-rank-card__cta--secondary .cv-rank-card__cta-main,
body .cv-rank-card__cta--secondary .cv-rank-card__cta-sub,
body .cv-rank-card__cta--secondary .cv-rank-card__cta-text {
  color: #D8F26B !important;
}

/* --- ランクバッジ: 1位=ライム / 2位3位=ダークグリーン --- */
body .cv-rank-card__badge,
body .cv-quick-pick__rank,
body .cv-comparison-table__rank-badge {
  background: #D8F26B !important;
  color: #0F241A !important;
  border: none !important;
}
body .cv-rank-card__badge--2nd,
body .cv-rank-card__badge--3rd,
body .cv-comparison-table__rank-badge--2nd,
body .cv-comparison-table__rank-badge--3rd {
  background: #0F241A !important;
  color: #D8F26B !important;
}
body .cv-rank-card__badge-num,
body .cv-rank-card__badge-label {
  color: inherit !important;
}

/* --- ランクカード枠 --- */
body .cv-rank-card {
  border: 1.5px solid #E3E8E0 !important;
  border-radius: 18px !important;
  box-shadow: none !important;
}
body .cv-rank-card--1st {
  border: 2px solid #C6E52E !important;
}

/* --- クイックピック --- */
body .cv-quick-pick {
  border: 1.5px solid #E3E8E0 !important;
  border-radius: 18px !important;
  background: #FFFFFF !important;
}
body .cv-quick-pick__header {
  background: #0F241A !important;
  color: #FFFFFF !important;
}
body .cv-quick-pick__header .cv-quick-pick__title,
body .cv-quick-pick__title {
  color: #FFFFFF !important;
}
body .cv-quick-pick__icon {
  background: #D8F26B !important;
  color: #0F241A !important;
}
body .cv-quick-pick__item--1st {
  background: #F7FAF3 !important;
  border-color: #C6E52E !important;
}
body .cv-quick-pick__service-name {
  color: #0F241A !important;
}

/* --- 比較表 --- */
body .cv-comparison-table__th,
body .cv-comparison-table__th--label {
  background: #0F241A !important;
  color: #FFFFFF !important;
}
body .cv-comparison-table__th--1st {
  background: #0F241A !important;
  color: #D8F26B !important;
}
body .cv-comparison-table__td--1st {
  background: #F7FAF3 !important;
}
body .cv-comparison-table__check {
  color: #4B9464 !important;
}

/* --- 追従バー --- */
body .cv-sticky-bar {
  background: #0F241A !important;
  box-shadow: 0 -4px 16px rgba(15,36,26,.25) !important;
}
body .cv-sticky-bar__text,
body .cv-sticky-bar__name {
  color: #FFFFFF !important;
}
body .cv-sticky-bar__rank {
  background: #D8F26B !important;
  color: #0F241A !important;
}
body .cv-sticky-bar__close {
  color: #A9BFAC !important;
}

/* --- 著者バー --- */
body .cv-author-bar__avatar--placeholder {
  background: #0F241A !important;
  color: #D8F26B !important;
}
body .cv-author-bar__credential {
  background: #EDF2E8 !important;
  color: #4B9464 !important;
}

/* --- FAQ --- */
body .cv-faq__q-icon {
  background: #0F241A !important;
  color: #D8F26B !important;
}
body .cv-faq__a-icon {
  background: #D8F26B !important;
  color: #0F241A !important;
}
body .cv-faq__item {
  border: 1.5px solid #E3E8E0 !important;
  border-radius: 14px !important;
}

/* --- PRラベル・評価 --- */
body .cv-rank-card__pr-label {
  background: #EDF2E8 !important;
  color: #5A6B5E !important;
}
body .cv-rank-card__rating-score {
  color: #0F241A !important;
}
/* ============================================================ v6終 */

/* v7: 比較表ヘッダー内の2位3位バッジ同化対策 */
body .cv-comparison-table__rank-badge--2nd,
body .cv-comparison-table__rank-badge--3rd {
  background: #2E4A38 !important;
  color: #D8F26B !important;
}

/* ============================================================
   v8: 目次リデザイン（TOP準拠白カード）+ 目次内リストのボックス化解除
   ============================================================ */

/* 目次カード本体 */
#toc.toc,
.toc.border-element {
  display: block !important;
  width: 100% !important;
  background: #FFFFFF !important;
  border: 1.5px solid #E3E8E0 !important;
  border-radius: 16px !important;
  padding: 26px 32px !important;
  margin: 32px 0 40px !important;
  box-shadow: none !important;
  text-align: left !important;
}

/* 目次タイトル */
#toc .toc-title,
.toc .toc-title {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: none !important;
  color: #0F241A !important;
  font-weight: 900 !important;
  font-size: 15px !important;
  padding: 0 0 14px !important;
  margin: 0 !important;
  border: none !important;
  text-align: left !important;
}
#toc .toc-title::before {
  content: '' !important;
  display: inline-block !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 3px !important;
  background: #D8F26B !important;
}

/* 目次内リスト: 記事本文のli装飾を完全リセット */
.article .entry-content #toc ol,
.article .entry-content #toc ul,
#toc .toc-list,
#toc .toc-content ol {
  list-style: none !important;
  counter-reset: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.article .entry-content #toc ol li,
.article .entry-content #toc ul li,
#toc .toc-list li {
  background: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  counter-increment: none !important;
}
.article .entry-content #toc ol li::before,
.article .entry-content #toc ul li::before,
#toc .toc-list li::before {
  display: none !important;
  content: none !important;
}

/* 第1階層リンク */
#toc .toc-list > li > a {
  display: block !important;
  padding: 10px 0 !important;
  border-bottom: 1px dashed #E3E8E0 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #14261B !important;
  line-height: 1.7 !important;
  text-decoration: none !important;
}
#toc .toc-list > li > a:hover {
  color: #4B9464 !important;
}

/* 第2階層 */
#toc .toc-list > li > ol {
  margin: 0 0 4px 18px !important;
}
#toc .toc-list > li > ol > li > a {
  display: block !important;
  padding: 6px 0 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #5A6B5E !important;
  text-decoration: none !important;
  line-height: 1.6 !important;
}
#toc .toc-list > li > ol > li > a:hover {
  color: #4B9464 !important;
}

/* 目次番号(Cocoon tnt-number)をグリーンに */
#toc.tnt-number .toc-list > li::before {
  display: none !important;
}
#toc .toc-checkbox ~ .toc-content {
  margin: 0 !important;
}

/* 「この記事でわかること」等 本文ulのチェックをグリーンに統一済み(v7.0改)。
   liの角丸カード風は維持しつつ余白を整える */
.article .entry-content ul li {
  border-radius: 8px !important;
}

/* quick-pickタイトル(div化後)の見た目維持 */
.cv-quick-pick__title {
  font-weight: 900 !important;
  font-size: 18px !important;
  color: #FFFFFF !important;
  margin: 0 !important;
}
.cv-quick-pick__header p:empty {
  display: none !important;
}
/* ============================================================ v8終 */

/* ============================================================
   v9: インライン背景付きリンクの文字色確定
   （ライム背景=ダーク文字 / それ以外のinline背景=白のままHOTFIX適用）
   ============================================================ */
body .article .entry-content a[style*="#D8F26B"][style*="background"],
body .entry-content a[style*="#D8F26B"][style*="background"] {
  color: #0F241A !important;
  font-weight: 900 !important;
}
body .article .entry-content a[style*="#D8F26B"][style*="background"]:hover,
body .entry-content a[style*="#D8F26B"][style*="background"]:hover {
  color: #0F241A !important;
  opacity: .88 !important;
}
/* ============================================================ v9終 */

/* v10: cv-pageラッパーの背景を透明化（記事本体は白地に統一） */
body .cv-page,
.entry-content .cv-page {
  background-color: transparent !important;
  background: transparent !important;
}

/* ============================================================
   v11: アイキャッチ画像 — サムネ上部バッジ切れ修正
   object-fit:fill(ブラウザデフォルト)が画像を引き伸ばし、
   border-radius:18px+overflow:hidden で上部コーナーが切れるため
   contain に変更して縦横比を保持したまま全体を表示する
   ============================================================ */
.eye-catch img.eye-catch-image,
.eye-catch img,
.entry-content .eye-catch-wrap img {
  object-fit: contain !important;
  width: 100% !important;
  height: auto !important;
}

/* ============================================================
   v12: 上部著者欄（footer-meta内の.author-info）非表示
   「この記事を書いた人」（.author-profile-box）は末尾に残す。
   footer-meta内の小さいペンシルアイコン+著者名は非表示とする
   ============================================================ */
.footer-meta .author-info {
  display: none !important;
}
/* footer-meta自体も空になるため非表示 */
.footer-meta:not(:has(.entry-date)):not(:has(.entry-tags)):not(:has(.entry-categories)) {
  display: none !important;
}

/* ============================================================
   v13: アイキャッチ バッジ位置修正 & img display:block
   border-radius 18px のコーナーでバッジが切れる問題を解消。
   display:inline の底辺余白問題も解消（overflow:hidden で切れ防止）
   ============================================================ */
.eye-catch .cat-label {
  inset: 20px auto auto 20px !important;
}
.eye-catch img {
  display: block !important;
}
