/* ==========================================================
   EC・店舗運営ナレッジの記事ページ（/blog/〇〇/、body.p-blog）でだけ読み込む
   元ファイル：ss-article.css（2026-10-26 受領）
   読み込み：_/wp/MediaReorg.php → enqueue
   ========================================================== */

/* ==========================================================
   STAFF START /blog/ 記事パーツ用CSS
   対象class: ss-summary / ss-toc / ss-table / ss-faq / ss-cta
   ブランドカラー: ネイビー #0F2143 / イエロー #FDC02D（staff-start.com より）
   ========================================================== */

/* 色・角丸の変数はナレッジ記事のページだけで定義（ほかのページの変数と混ざらないように） */
body.p-blog {
  --ss-navy: #0f2143;
  --ss-yellow: #fdc02d;
  --ss-yellow-light: #fff8e6;
  --ss-gray-bg: #f6f7f9;
  --ss-border: #e3e6eb;
  --ss-text: #1f2633;
  --ss-text-sub: #5a6270;
  --ss-radius: 8px;
}

/* ---------- 共通 ---------- */
.ss-summary,
.ss-toc,
.ss-faq,
.ss-cta {
  margin: 2em 0;
  box-sizing: border-box;
}
.ss-summary *,
.ss-toc *,
.ss-faq *,
.ss-cta * {
  box-sizing: border-box;
}

/* ---------- 要約ボックス ---------- */
.ss-summary {
  padding: 20px 24px;
  background: var(--ss-yellow-light);
  border-left: 4px solid var(--ss-yellow);
  border-radius: 0 var(--ss-radius) var(--ss-radius) 0;
}
.ss-summary__title {
  margin: 0 0 10px;
  font-size: 1rem;
  font-weight: 700;
  color: var(--ss-navy);
}
.ss-summary ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.ss-summary li {
  position: relative;
  margin: 0 0 8px;
  padding-left: 1.4em;
  line-height: 1.8;
  color: var(--ss-text);
}
.ss-summary li:last-child {
  margin-bottom: 0;
}
.ss-summary li::before {
  content: "";
  position: absolute;
  top: 0.75em;
  left: 0.3em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--ss-yellow);
}

/* ---------- 目次 ---------- */
.ss-toc {
  padding: 20px 24px;
  background: var(--ss-gray-bg);
  border: 1px solid var(--ss-border);
  border-radius: var(--ss-radius);
}
.ss-toc__title {
  margin: 0 0 10px;
  font-size: 1rem;
  font-weight: 700;
  color: var(--ss-navy);
}
.ss-toc ol {
  margin: 0;
  padding-left: 1.5em;
  counter-reset: none;
}
.ss-toc li {
  margin: 0 0 6px;
  line-height: 1.7;
  color: var(--ss-navy);
}
.ss-toc li:last-child {
  margin-bottom: 0;
}
.ss-toc li::marker {
  font-weight: 700;
  color: var(--ss-navy);
}
.ss-toc a {
  color: var(--ss-navy);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s;
}
.ss-toc a:hover {
  border-bottom-color: var(--ss-yellow);
}

/* 目次リンクで飛んだときに固定ヘッダーで見出しが隠れないように */
.entry-content h2[id],
.entry-content h3[id],
h2[id^="index"] {
  scroll-margin-top: 100px;
}

/* ---------- 比較表 ---------- */
.ss-table {
  width: 100%;
  margin: 1.5em 0;
  border-collapse: collapse;
  font-size: 0.95rem;
  line-height: 1.6;
}
.ss-table th,
.ss-table td {
  padding: 12px 14px;
  border: 1px solid var(--ss-border);
  text-align: left;
  vertical-align: top;
}
.ss-table thead th {
  background: var(--ss-navy);
  color: #fff;
  font-weight: 700;
}
.ss-table tbody td:first-child {
  font-weight: 700;
  color: var(--ss-navy);
  white-space: nowrap;
}
.ss-table tbody tr:nth-child(even) td {
  background: var(--ss-gray-bg);
}

/* ---------- FAQ ---------- */
.ss-faq dl {
  margin: 0;
}
.ss-faq dt {
  position: relative;
  margin: 0;
  padding: 14px 16px 14px 52px;
  background: var(--ss-gray-bg);
  border-radius: var(--ss-radius) var(--ss-radius) 0 0;
  font-weight: 700;
  line-height: 1.6;
  color: var(--ss-navy);
}
.ss-faq dd {
  position: relative;
  margin: 0 0 16px;
  padding: 14px 16px 16px 52px;
  border: 1px solid var(--ss-border);
  border-top: none;
  border-radius: 0 0 var(--ss-radius) var(--ss-radius);
  line-height: 1.8;
  color: var(--ss-text);
}
.ss-faq dd:last-child {
  margin-bottom: 0;
}
/* 本文の「Q.」「A.」はHTMLに残したまま、アイコン風に見せる */
.ss-faq dt::before,
.ss-faq dd::before {
  position: absolute;
  top: 12px;
  left: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  font-size: 0.85rem;
  font-weight: 700;
  line-height: 1;
}
.ss-faq dt::before {
  content: "Q";
  background: var(--ss-navy);
  color: #fff;
}
.ss-faq dd::before {
  content: "A";
  background: var(--ss-yellow);
  color: var(--ss-navy);
}

/* ---------- CTA ---------- */
.ss-cta {
  padding: 32px 24px;
  background: var(--ss-navy);
  border-radius: var(--ss-radius);
  text-align: center;
  color: #fff;
}
.ss-cta__title {
  margin: 0 0 12px;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
}
.ss-cta p {
  margin: 0 0 20px;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.85);
}
.ss-cta__button {
  display: inline-block;
  min-width: 260px;
  padding: 14px 32px;
  background: var(--ss-yellow);
  border-radius: 999px;
  font-weight: 700;
  color: var(--ss-navy) !important;
  text-decoration: none !important;
  transition: transform 0.2s, box-shadow 0.2s;
}
.ss-cta__button::after {
  content: " →";
}
.ss-cta__button:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
}

/* ---------- スマートフォン ---------- */
@media (max-width: 600px) {
  .ss-summary,
  .ss-toc {
    padding: 16px;
  }
  /* 表は横スクロールで崩れないように */
  .ss-table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    font-size: 0.875rem;
  }
  .ss-table th,
  .ss-table td {
    min-width: 120px;
    padding: 10px;
  }
  .ss-faq dt,
  .ss-faq dd {
    padding-left: 46px;
  }
  .ss-faq dt::before,
  .ss-faq dd::before {
    left: 10px;
  }
  .ss-cta {
    padding: 24px 16px;
  }
  .ss-cta__title {
    font-size: 1.1rem;
  }
  .ss-cta__button {
    display: block;
    min-width: 0;
    width: 100%;
  }
}

/* ---------- 出典・注記 ---------- */
.ss-note {
  margin: -0.5em 0 1.5em;
  font-size: 0.8rem;
  line-height: 1.7;
  color: var(--ss-text-sub);
}
.ss-note a {
  color: var(--ss-text-sub);
}


/* ==========================================================
   既存の記事用CSS（assets/media.css）との調整
   ========================================================== */
/* 既存CSSは記事内の ol の番号を消すので、目次だけ番号を戻す */
.c-article .ss-toc ol {
  list-style: decimal;
}
/* 既存CSSは記事内の h2 に自動で番号（1, 2, …）を振るので、パーツのタイトルには付けない */
.c-article .ss-summary__title,
.c-article .ss-toc__title,
.c-article .ss-cta__title {
  counter-increment: none;
}
.c-article .ss-summary__title::before,
.c-article .ss-toc__title::before,
.c-article .ss-cta__title::before {
  content: none;
}
/* 見出しタグで書かれていても、パーツ内のタイトルは既存の見出しの余白・大きさにしない */
.c-article .ss-summary .ss-summary__title,
.c-article .ss-toc .ss-toc__title {
  margin: 0 0 10px;
  font-size: 1rem;
  line-height: 1.6;
}
.c-article .ss-cta .ss-cta__title {
  margin: 0 0 12px;
  font-size: 1.25rem;
  line-height: 1.5;
}
@media (max-width: 600px) {
  .c-article .ss-cta .ss-cta__title {
    font-size: 1.1rem;
  }
}
/* CTAの説明文・注記は既存の段落リンクの色（下線・グレー）にしない */
.c-article .ss-cta p a.ss-cta__button {
  text-decoration: none;
}
/* 既存CSSのリストの印（•）が黄色の丸と二重に出ないように */
.c-article .ss-summary ul,
.c-article .ss-summary li {
  list-style: none;
  text-indent: 0; /* 既存CSSの「1行目を左へずらす」指定を打ち消す */
}
.c-article .ss-summary li::marker {
  content: none;
}
