/*
Theme Name: BASE Child
Template: suga-law.jp_theme
Author: Child Theme Configurator
Version: 0.0.1
Updated: 2025-10-08
*/

/* ===============================
   ▼ アコーディオン（details/summary）
   =============================== */
details summary::-webkit-details-marker { display: none; }
.acc-summary{
  display:inline-block; padding:8px 12px; border:1px solid #e5e7eb; border-radius:6px;
  background:#f9fafb; font-weight:700; cursor:pointer; line-height:1.4; user-select:none;
}
.acc-caret{ display:inline-block; transition:transform .2s ease; margin-right:6px; }
details[open] .acc-caret{ transform:rotate(90deg); }
.acc-body{ margin-top:12px; }

/* =======================================================
   ▼ 記事本文ラッパー：.entry-content / .article_detail 両対応
   （特異性強化＋!importantでテーマCSSに勝たせる）
   ======================================================= */

/* --- シンプル表（.table） --- */
:where(.entry-content, .article_detail) .tableWrap{
  overflow-x:auto; -webkit-overflow-scrolling:touch;
}
:where(.entry-content, .article_detail) table.table{
  width:100% !important; border-collapse:separate !important; border-spacing:0 !important;
  font-size:15px !important; line-height:1.6 !important; background:#fff !important;
}
:where(.entry-content, .article_detail) table.table caption{
  caption-side:top !important; text-align:left !important; margin:0 0 8px !important;
  font-size:14px !important; color:#6b7280 !important;
}
:where(.entry-content, .article_detail) table.table th,
:where(.entry-content, .article_detail) table.table td{
  padding:12px 14px !important; border:1px solid #e5e7eb !important;
  vertical-align:top !important; background:#fff !important;
}
:where(.entry-content, .article_detail) table.table thead th{
  background:#f7f7f8 !important; font-weight:700 !important;
}
:where(.entry-content, .article_detail) table.table thead th:first-child{ border-top-left-radius:10px !important; }
:where(.entry-content, .article_detail) table.table thead th:last-child{  border-top-right-radius:10px !important; }
:where(.entry-content, .article_detail) table.table tbody tr:last-child td:first-child{ border-bottom-left-radius:10px !important; }
:where(.entry-content, .article_detail) table.table tbody tr:last-child td:last-child{  border-bottom-right-radius:10px !important; }
@media (max-width:640px){
  :where(.entry-content, .article_detail) table.table{ font-size:14px !important; }
  :where(.entry-content, .article_detail) table.table th,
  :where(.entry-content, .article_detail) table.table td{ padding:10px 12px !important; }
}

/* --- FAQ セクション --- */
:where(.entry-content, .article_detail) .faq-section{
  max-width:880px !important; margin:0 auto 60px !important;
  font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN',Meiryo,sans-serif !important;
  color:#1e293b !important;
}
:where(.entry-content, .article_detail) .faq-section h2{
  font-size:1.8rem !important; font-weight:700 !important;
  border-left:6px solid #3b82f6 !important; padding-left:12px !important; margin-bottom:24px !important;
}
:where(.entry-content, .article_detail) .faq-card{
  border:2px solid #cce5ff !important; background:#f8fbff !important;
  border-radius:12px !important; padding:20px 22px !important; margin-bottom:18px !important;
}
:where(.entry-content, .article_detail) .faq-card:hover{ background:#f0f8ff !important; transition:.25s ease !important; }
:where(.entry-content, .article_detail) .faq-q{
  font-weight:700 !important; font-size:12pt !important; color:#0f172a !important; margin-bottom:8px !important;
}
:where(.entry-content, .article_detail) .faq-q::before{
  content:'Q.' !important; color:#3b82f6 !important; font-weight:800 !important; margin-right:6px !important;
}
:where(.entry-content, .article_detail) .faq-a{
  color:#334155 !important; line-height:1.8 !important; font-size:12pt !important;
}
:where(.entry-content, .article_detail) .faq-a::before{
  content:'A.' !important; color:#2563eb !important; font-weight:700 !important; margin-right:6px !important;
}

/* --- 著者ボックス --- */
:where(.entry-content, .article_detail) .author-box{
  border:1px solid #e5e7eb !important; border-radius:8px !important; background:#f9fafb !important;
  margin:24px 0 !important; padding:16px !important;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif !important;
  color:#0f172a !important;
}
:where(.entry-content, .article_detail) .author-box h3{
  margin:0 0 12px !important; font-size:18px !important; line-height:1.4 !important;
}
:where(.entry-content, .article_detail) .author-row{ display:flex !important; align-items:flex-start !important; gap:16px !important; }
:where(.entry-content, .article_detail) .author-photo{ flex:0 0 auto !important; }
:where(.entry-content, .article_detail) .author-photo img{
  display:block !important; width:160px !important; height:auto !important; border-radius:8px !important;
}
:where(.entry-content, .article_detail) .author-meta p{ margin:0 0 6px !important; }
:where(.entry-content, .article_detail) .author-box .note{ font-size:14px !important; color:#555 !important; margin-top:8px !important; }
@media (max-width:640px){
  :where(.entry-content, .article_detail) .author-box{ padding:14px !important; }
  :where(.entry-content, .article_detail) .author-row{ flex-direction:column !important; gap:12px !important; }
  :where(.entry-content, .article_detail) .author-photo img{ width:100% !important; max-width:220px !important; }
  :where(.entry-content, .article_detail) .author-box h3{ font-size:16px !important; }
}
/* lead-summary / next-action */
.lead-summary{margin:.5rem 0 1rem;color:#0f172a;line-height:1.8}
.lead-summary strong{font-weight:700}
.next-action{border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;padding:12px 14px;margin:14px 0}
.next-action strong{display:block;margin-bottom:6px}
.next-action ul{margin:0;padding-left:1.2em}
.next-action li{margin:.25rem 0}
/* ===== 目次（TOC） ===== */
.toc-box{
  background:#f0f7ff !important;      /* 薄い青の背景 */
  border:1px solid #cfe3ff !important; /* 薄い青の枠線 */
  border-radius:10px !important;
  padding:14px 16px !important;
  margin:16px 0 !important;
  display:block !important;
}
.toc-title{
  margin:0 0 8px !important;
  font-weight:700 !important;
}
.toc-box ol, .toc-box ul{
  margin:0 !important;
  padding-left:1.2em !important;
}
.toc-box li{
  margin:6px 0 !important;
  line-height:1.6 !important;
}
.toc-box a{
  color:#2563eb !important;           /* 明るめの青 */
  text-decoration:none !important;     /* 下線を消す */
  font-weight:600 !important;
}
.toc-box a:hover{
  color:#1d4ed8 !important;            /* 濃い青 */
  text-decoration:underline !important;
}
/* ===== 目次（TOC） ===== */
.toc-box{
  background:#f0f7ff !important;
  border:1px solid #cfe3ff !important;
  border-radius:10px !important;
  padding:14px 16px !important;
  margin:16px 0 !important;
  display:block !important;
}
.toc-title{ margin:0 0 8px !important; font-weight:700 !important; }
.toc-box ol, .toc-box ul{ margin:0 !important; padding-left:1.2em !important; }
.toc-box li{ margin:6px 0 !important; line-height:1.6 !important; }
.toc-box a{ color:#2563eb !important; text-decoration:none !important; font-weight:600 !important; }
.toc-box a:hover{ color:#1d4ed8 !important; text-decoration:underline !important; }

