@charset "UTF-8";
/* =========================================================
   DOG LUCK — ブログ「上質レイヤー」
   SWELL標準の構造・目次・ブロックはそのまま活かし、
   トップページの高級感（Noto Serif JP・和紙クリーム・墨/金/朱）を被せる。
   ※ SWELL標準ブログ(dl_is_blog_context)でのみ読み込み。
   ========================================================= */

/* ---- ベース：和紙クリームの地・上質な字面 ---- */
body {
  background: linear-gradient(180deg, #faf7f1 0%, #f3ece0 100%);
  color: var(--ink, #1a1816);
}
.l-mainContent, .post_content, .l-sidebar {
  font-feature-settings: "palt" 1;
}

/* ---- 記事タイトル・ヘッダー ---- */
.p-articleHead .c-postTitle__ttl,
.c-postTitle__ttl,
.c-postTitle .c-postTitle__ttl {
  font-family: var(--font-serif) !important;
  font-weight: 700 !important;
  color: var(--ink) !important;
  letter-spacing: .02em;
  line-height: 1.55 !important;
}
.p-articleHead .c-postTitle__date,
.c-postMeta, .c-postMeta a, .c-postTimes { color: var(--ink-50) !important; letter-spacing: .04em; }
.c-postThumb__figure img, .p-postList__thumb img { border: 1px solid rgba(176,141,87,.28); border-radius: var(--radius); }

/* ---- 本文タイポグラフィ（ゆったり・明朝見出し） ---- */
.post_content {
  font-size: 1.05rem; line-height: 2.15; letter-spacing: .03em; color: var(--ink-85);
}
.post_content > * + * { margin-top: 1.9em; }
.post_content p { line-height: 2.15; }
.post_content > p:first-of-type { font-size: 1.12rem; color: var(--ink); line-height: 2.2; }
.post_content a { color: var(--shika); text-underline-offset: .18em; }
.post_content a:hover { color: var(--shu); }
.post_content strong, .post_content b { color: var(--ink); letter-spacing: .02em; }
.post_content :where(ul, ol) { padding-left: 1.5em; }
.post_content li + li { margin-top: .7em; }
.post_content :where(ul, ol) li::marker { color: var(--gold); }

/* 見出し：SWELL既定装飾を消し、明朝＋金/朱のアクセントへ */
.post_content h2 {
  font-family: var(--font-serif) !important; font-weight: 600 !important;
  color: var(--ink) !important; background: none !important;
  border: 0 !important; border-bottom: 2px solid var(--gold) !important;
  padding: 0 0 .55em !important; margin: 3em 0 1.2em !important;
  letter-spacing: .05em; line-height: 1.5 !important;
  font-size: clamp(1.35rem, 1.1rem + .8vw, 1.65rem) !important;
}
.post_content h3 {
  font-family: var(--font-serif) !important; font-weight: 600 !important;
  color: var(--ink) !important; background: none !important;
  border: 0 !important; border-left: 3px solid var(--shu) !important;
  padding: .1em 0 .1em .7em !important; margin: 2.5em 0 1em !important;
  letter-spacing: .02em; font-size: 1.2rem !important; line-height: 1.6 !important;
}
.post_content h4 {
  font-family: var(--font-serif) !important; color: var(--ink) !important;
  font-weight: 600 !important; margin-top: 2em !important;
}
.post_content :where(h2, h3, h4)::before,
.post_content :where(h2, h3, h4)::after { content: none !important; display: none !important; }

/* 表：濃色ヘッダー・薄ゼブラ・金の細枠で上質に */
.post_content table { border-collapse: collapse; border: 1px solid rgba(176,141,87,.3); }
.post_content th, .post_content td {
  border: 1px solid rgba(176,141,87,.22); padding: .9em 1.1em; line-height: 1.9; letter-spacing: .02em;
}
.post_content thead th, .post_content table th:first-child {
  background: var(--ink) !important; color: var(--washi-warm) !important;
  font-family: var(--font-serif); letter-spacing: .04em; font-weight: 600;
}
.post_content tbody tr:nth-child(even) td { background: #faf6ef; }
.post_content figcaption { color: var(--ink-50); font-size: .82rem; }

/* 引用・区切り */
.post_content blockquote, .post_content .wp-block-quote {
  border-left: 3px solid var(--gold) !important; background: #faf6ef;
  padding: 1em 1.4em !important; color: var(--ink-70); font-style: normal;
}
.post_content hr, .post_content .wp-block-separator { border: 0; border-top: 1px solid rgba(176,141,87,.35); }

/* 本文内ボタン（SWELL/コア）を墨→朱 */
.post_content :where(.wp-block-button__link, .swell-block-button > a) {
  background: var(--ink) !important; color: var(--washi-warm) !important;
  border-radius: 0 !important; letter-spacing: .08em; font-family: var(--font-sans);
}
.post_content :where(.wp-block-button__link, .swell-block-button > a):hover {
  background: var(--shu) !important; color: #fff !important;
}

/* 吹き出し：SWELLのカラーを温色バブルへ寄せる（トップの雰囲気に合わせる） */
.post_content .c-balloon .c-balloon__text {
  background-color: #fbf7ef !important; background-image: none !important;
  border: 1px solid var(--gold, #b08d57) !important; border-radius: 14px !important;
  color: var(--ink-85) !important; box-shadow: 0 12px 30px -22px rgba(26,24,22,.5) !important;
}
.post_content .c-balloon.-bln-left .c-balloon__after { border-right-color: #fbf7ef !important; }
.post_content .c-balloon.-bln-right .c-balloon__after { border-left-color: #fbf7ef !important; }
.post_content .c-balloon__iconImg { border: 1px solid var(--gold) !important; }

/* ---- 目次（p-toc）を上質に ---- */
.p-toc {
  background: #fff !important; border: 1px solid rgba(176,141,87,.3) !important;
  border-radius: var(--radius) !important;
}
.p-toc__ttl { font-family: var(--font-serif) !important; color: var(--ink) !important; letter-spacing: .04em; }
.p-toc a { color: var(--ink-70) !important; }
.p-toc a:hover { color: var(--shika) !important; }
.p-toc ol { --swl-toc-marker-color: var(--gold); }
.p-toc .p-toc__list > li::before,
.p-toc .p-toc__number { color: var(--gold) !important; font-family: var(--font-serif); }

/* ---- 記事一覧・関連記事カード（トップのカードに合わせる） ---- */
.p-postList__item {
  background: #fff; border: 1px solid rgba(176,141,87,.26) !important;
  border-radius: 0; overflow: hidden;
  transition: transform .5s ease, box-shadow .5s ease, border-color .5s ease;
}
.p-postList__item:hover {
  transform: translateY(-6px);
  border-color: var(--gold) !important;
  box-shadow: 0 26px 56px -32px rgba(26,24,22,.28);
}
.p-postList__thumb img { transition: transform 1.1s ease; }
.p-postList__item:hover .p-postList__thumb img { transform: scale(1.05); }
.p-postList__title {
  font-family: var(--font-serif) !important; font-weight: 600 !important;
  color: var(--ink) !important; line-height: 1.6;
}
.p-postList__item:hover .p-postList__title { color: var(--shika) !important; }
.p-postList__excerpt { color: var(--ink-70) !important; line-height: 1.9; }
.p-postList__meta, .p-postList__meta a { color: var(--ink-50) !important; letter-spacing: .04em; }
.p-postList__cat, .c-postList__cat, .category-label { color: var(--shika) !important; }

/* 関連記事の見出し */
.p-relatedPosts__title, .c-postListTitle {
  font-family: var(--font-serif) !important; color: var(--ink) !important; letter-spacing: .04em;
}

/* ---- サイドバー ウィジェット ---- */
.l-sidebar .c-widget__title {
  font-family: var(--font-serif) !important; color: var(--ink) !important;
  border-bottom: 1px solid rgba(176,141,87,.3); letter-spacing: .03em;
}
.l-sidebar a { color: var(--ink-70); }
.l-sidebar a:hover { color: var(--shika); }
.l-sidebar .c-widget { background: transparent; }

/* ---- パンくず ---- */
.c-breadcrumb, .p-breadcrumb { letter-spacing: .03em; }
.c-breadcrumb a, .p-breadcrumb a { color: var(--ink-50); }
.c-breadcrumb a:hover, .p-breadcrumb a:hover { color: var(--shika); }

/* ---- ページネーション ---- */
.c-pagination .c-pagination__item.-current,
.wp-pagenavi .current { background: var(--ink) !important; color: var(--washi-warm) !important; border-color: var(--ink) !important; }
