@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ — Washi Editorial "Quiet Luxury" デザイン
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ============================================================
   DESIGN SYSTEM: Washi Editorial — Quiet Luxury
   哲学: 現代日本のミニマリズム × 高級フードマガジン
   カラー: ウォームパーチメント (#FAFAF7), ディープチャコール (#1F1F1F), アンティークゴールド (#B8962E)
   タイポグラフィ: Cormorant Garamond (見出し) + Lora (本文) + Noto Serif JP (日本語)
   アニメーション: ゆっくりとした遷移 (400–600ms), フェードアップ
   ============================================================ */

/* ──────────────────────────────────────────────────────────
   1. GOOGLE FONTS IMPORT
   ────────────────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Lora:ital,wght@0,400;0,500;1,400&family=Noto+Serif+JP:wght@300;400&display=swap');

/* ──────────────────────────────────────────────────────────
   2. CSS CUSTOM PROPERTIES (デザイントークン)
   ────────────────────────────────────────────────────────── */
:root {
  /* カラーパレット */
  --washi-bg:           #FAFAF7;   /* ウォームパーチメント */
  --washi-bg-warm:      #F2EDE4;   /* ウォームクリーム（セクション交互背景） */
  --washi-dark:         #1F1F1F;   /* ディープチャコール */
  --washi-dark-deep:    #0F0C0A;   /* ヒーロー背景 */
  --washi-gold:         #B8962E;   /* アンティークゴールド */
  --washi-gold-light:   #D4AD3A;   /* ゴールドホバー */
  --washi-gold-muted:   #E8D5A3;   /* ゴールドクリーム */
  --washi-text:         #1F1F1F;
  --washi-text-muted:   rgba(31, 31, 31, 0.60);
  --washi-text-faint:   rgba(31, 31, 31, 0.35);
  --washi-border:       rgba(31, 31, 31, 0.10);
  --washi-gold-border:  rgba(184, 150, 46, 0.25);

  /* フォント */
  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-body:    'Lora', Georgia, serif;
  --font-jp:      'Noto Serif JP', serif;

  /* SWELL 変数オーバーライド */
  --body-color:   #1F1F1F;
  --color_link:   #B8962E;

  /* トランジション */
  --transition-base:   0.4s cubic-bezier(0.22, 1, 0.36, 1);
  --transition-slow:   0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

/* ──────────────────────────────────────────────────────────
   3. ベース & ボディ
   ────────────────────────────────────────────────────────── */
body,
#body_wrap {
  background-color: var(--washi-bg) !important;
  color: var(--washi-text) !important;
  font-family: var(--font-body) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* リンク */
a {
  color: var(--washi-gold);
  transition: color var(--transition-base), opacity var(--transition-base);
}
a:hover {
  color: var(--washi-gold-light);
  text-decoration: none;
}

/* ──────────────────────────────────────────────────────────
   4. タイポグラフィ
   ────────────────────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6,
.l-header__logo .c-siteName,
.l-header__logo .c-logo {
  font-family: var(--font-display) !important;
  font-weight: 300 !important;
  letter-spacing: 0.05em;
  color: var(--washi-dark);
  line-height: 1.15;
}

/* 記事内見出し */
.p-entry-content h2 {
  font-family: var(--font-display) !important;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 300 !important;
  color: var(--washi-dark);
  border-left: 3px solid var(--washi-gold);
  padding-left: 1rem;
  margin-top: 3em;
  margin-bottom: 1em;
  line-height: 1.2;
  letter-spacing: 0.04em;
}
.p-entry-content h3 {
  font-family: var(--font-display) !important;
  font-size: clamp(1.3rem, 2.5vw, 1.9rem);
  font-weight: 300 !important;
  color: var(--washi-dark);
  border-bottom: 1px solid var(--washi-gold-border);
  padding-bottom: 0.5em;
  margin-top: 2.5em;
  margin-bottom: 0.8em;
}
.p-entry-content h4 {
  font-family: var(--font-display) !important;
  font-size: 1.2rem;
  font-weight: 400 !important;
  color: var(--washi-gold);
  letter-spacing: 0.08em;
  margin-top: 2em;
  margin-bottom: 0.6em;
}

/* 本文 */
.p-entry-content p,
.p-entry-content li {
  font-family: var(--font-body) !important;
  line-height: 1.9;
  color: var(--washi-text-muted);
  font-size: 1rem;
}

/* ──────────────────────────────────────────────────────────
   5. ヘッダー (l-header)
   ────────────────────────────────────────────────────────── */
#header.l-header {
  background-color: var(--washi-bg) !important;
  border-bottom: 1px solid var(--washi-gold-border) !important;
  box-shadow: none !important;
}

/* 透過ヘッダー（SWELLカスタマイザー設定時） */
#header.l-header.is-transparent {
  background-color: transparent !important;
  border-bottom-color: transparent !important;
}
#header.l-header.is-transparent.is-scrolled,
#header.l-header.l-fixHeader {
  background-color: rgba(250, 250, 247, 0.96) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--washi-gold-border) !important;
}

.l-header__inner.l-container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ─── ロゴ ─── */
.l-header__logo .c-siteName {
  font-family: var(--font-display) !important;
  font-size: 1.8rem !important;
  font-weight: 300 !important;
  color: var(--washi-dark) !important;
  letter-spacing: 0.1em !important;
}
.l-header__logo .c-siteName a {
  color: var(--washi-dark) !important;
}
.l-header__logo .c-siteName a:hover {
  opacity: 0.65;
}

/* キャッチフレーズ */
.l-header__logo .c-catchphrase {
  font-family: var(--font-body) !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.25em !important;
  color: var(--washi-gold) !important;
  text-transform: uppercase;
  margin-top: 0.15em !important;
}

/* ─── グローバルナビ ─── */
#gnav.l-header__gnav {
  font-family: var(--font-body) !important;
}

/* PC ナビリンク */
.c-gnavWrap .c-gnav__item > a,
.c-gnavWrap .c-gnav__item > span {
  font-family: var(--font-body) !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase;
  color: var(--washi-dark) !important;
  position: relative;
  padding-bottom: 2px;
  transition: color var(--transition-base);
}

/* ゴールドアンダーラインホバー */
.c-gnavWrap .c-gnav__item > a::after,
.c-gnavWrap .c-gnav__item > span::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;
  background-color: var(--washi-gold);
  transition: width var(--transition-base);
}
.c-gnavWrap .c-gnav__item > a:hover::after,
.c-gnavWrap .c-gnav__item > a:hover,
.c-gnavWrap .c-gnav__item.current_page_item > a {
  color: var(--washi-gold) !important;
}
.c-gnavWrap .c-gnav__item > a:hover::after,
.c-gnavWrap .c-gnav__item.current_page_item > a::after {
  width: 100%;
}

/* ドロップダウン */
.c-gnav__subMenu {
  background-color: var(--washi-bg) !important;
  border: 1px solid var(--washi-gold-border) !important;
  border-top: 2px solid var(--washi-gold) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
}
.c-gnav__subMenu .c-gnav__item > a {
  font-family: var(--font-body) !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.12em !important;
  color: var(--washi-text-muted) !important;
}
.c-gnav__subMenu .c-gnav__item > a:hover {
  color: var(--washi-gold) !important;
  background-color: var(--washi-bg-warm) !important;
}

/* ─── ヘッダーバー (Head Bar) ─── */
.l-headBar {
  background-color: var(--washi-dark) !important;
  border-bottom: 1px solid var(--washi-gold-border) !important;
}
.l-headBar a,
.l-headBar span {
  font-family: var(--font-body) !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.15em !important;
  color: rgba(250, 250, 247, 0.60) !important;
}
.l-headBar a:hover {
  color: var(--washi-gold) !important;
}

/* ─── SP（スマートフォン）メニュー ─── */
.p-spMenu__inner {
  background-color: var(--washi-bg) !important;
}
.p-spMenu__item > a {
  font-family: var(--font-body) !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase;
  color: var(--washi-dark) !important;
  border-bottom: 1px solid var(--washi-border) !important;
}
.p-spMenu__item > a:hover {
  color: var(--washi-gold) !important;
  background-color: var(--washi-bg-warm) !important;
}

/* ──────────────────────────────────────────────────────────
   6. メインビジュアル (MV)
   ────────────────────────────────────────────────────────── */
.p-mainVisual {
  position: relative;
  overflow: hidden;
  background-color: var(--washi-dark-deep);
}

/* MV オーバーレイ */
.p-mainVisual::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(15, 12, 10, 0.65) 0%,
    rgba(15, 12, 10, 0.30) 50%,
    transparent 100%
  );
  z-index: 1;
  pointer-events: none;
}

/* MV テキスト */
.p-mainVisual .p-mvContent {
  position: relative;
  z-index: 2;
}
.p-mainVisual .p-mvContent__title,
.p-mainVisual .c-mvTitle {
  font-family: var(--font-display) !important;
  font-weight: 300 !important;
  color: var(--washi-bg) !important;
  line-height: 1.0;
  letter-spacing: 0.06em;
}
.p-mainVisual .p-mvContent__desc,
.p-mainVisual .c-mvDesc {
  font-family: var(--font-body) !important;
  color: rgba(250, 250, 247, 0.70) !important;
  line-height: 1.85;
}

/* MV ボタン */
.c-mvBtn__btn,
.p-mainVisual .wp-block-button__link {
  background-color: var(--washi-gold) !important;
  color: var(--washi-dark) !important;
  font-family: var(--font-body) !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase;
  border: none !important;
  padding: 0.9em 2em !important;
  transition: background-color var(--transition-base) !important;
  border-radius: 0 !important;
}
.c-mvBtn__btn:hover,
.p-mainVisual .wp-block-button__link:hover {
  background-color: var(--washi-gold-light) !important;
  color: var(--washi-dark) !important;
}

/* ──────────────────────────────────────────────────────────
   7. ピックアップバナー & スライダー
   ────────────────────────────────────────────────────────── */
.p-pickupBanner {
  background-color: var(--washi-bg-warm) !important;
  border-bottom: 1px solid var(--washi-gold-border);
}
.p-pickupBanner__item a {
  background-color: var(--washi-bg) !important;
  border: 1px solid var(--washi-border) !important;
  transition: border-color var(--transition-base), box-shadow var(--transition-base) !important;
}
.p-pickupBanner__item a:hover {
  border-color: var(--washi-gold) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
}
.p-pickupBanner__item .c-catLabel {
  background-color: var(--washi-gold) !important;
  color: var(--washi-dark) !important;
  font-family: var(--font-body) !important;
  font-size: 0.6rem !important;
  letter-spacing: 0.15em !important;
  border-radius: 0 !important;
}
.p-pickupBanner__item .c-title {
  font-family: var(--font-display) !important;
  font-weight: 300 !important;
  color: var(--washi-dark) !important;
}

/* ──────────────────────────────────────────────────────────
   8. 記事カード & アーカイブ一覧
   ────────────────────────────────────────────────────────── */

/* 投稿カード共通 */
.p-postCardWrap,
.p-postCard {
  background-color: var(--washi-bg) !important;
  border: 1px solid var(--washi-border) !important;
  border-radius: 0 !important;
  overflow: hidden;
  transition: border-color var(--transition-base), box-shadow var(--transition-base) !important;
}
.p-postCardWrap:hover,
.p-postCard:hover {
  border-color: var(--washi-gold-border) !important;
  box-shadow: 0 8px 30px rgba(0,0,0,0.07) !important;
}

/* サムネイル */
.p-postCard__img,
.p-postCardWrap .c-postCard__img {
  overflow: hidden;
}
.p-postCard__img img,
.p-postCardWrap .c-postCard__img img {
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1) !important;
}
.p-postCard:hover .p-postCard__img img,
.p-postCardWrap:hover .c-postCard__img img {
  transform: scale(1.05);
}

/* タイトル */
.p-postCard__title,
.c-postCard__title,
.c-postCard__ttl {
  font-family: var(--font-display) !important;
  font-weight: 300 !important;
  font-size: 1.15rem !important;
  color: var(--washi-dark) !important;
  line-height: 1.3 !important;
  letter-spacing: 0.03em;
  transition: color var(--transition-base) !important;
}
.p-postCard:hover .p-postCard__title,
.p-postCardWrap:hover .c-postCard__title,
.p-postCardWrap:hover .c-postCard__ttl {
  color: var(--washi-gold) !important;
}

/* 抜粋 */
.p-postCard__excerpt,
.c-postCard__excerpt {
  font-family: var(--font-body) !important;
  font-size: 0.85rem !important;
  color: var(--washi-text-muted) !important;
  line-height: 1.75 !important;
}

/* カテゴリラベル */
.c-catLabel,
.p-postCard__cat {
  background-color: transparent !important;
  color: var(--washi-gold) !important;
  border: 1px solid var(--washi-gold-border) !important;
  font-family: var(--font-body) !important;
  font-size: 0.6rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase;
  padding: 0.2em 0.7em !important;
  border-radius: 0 !important;
}

/* 日付 */
.p-postCard__date,
.c-postMeta__date,
.c-time {
  font-family: var(--font-body) !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.08em !important;
  color: var(--washi-text-faint) !important;
}

/* ──────────────────────────────────────────────────────────
   9. サイドバー
   ────────────────────────────────────────────────────────── */
.l-sidebar {
  border-left: 1px solid var(--washi-border);
}

/* ウィジェットタイトル */
.widget-title,
.c-widgetTitle {
  font-family: var(--font-display) !important;
  font-weight: 300 !important;
  font-size: 1rem !important;
  letter-spacing: 0.1em !important;
  color: var(--washi-dark) !important;
  border-bottom: 1px solid var(--washi-gold-border) !important;
  padding-bottom: 0.6em !important;
  margin-bottom: 1.2em !important;
}
/* ゴールドアクセントライン */
.widget-title::before,
.c-widgetTitle::before {
  content: '';
  display: inline-block;
  width: 24px;
  height: 1px;
  background-color: var(--washi-gold);
  vertical-align: middle;
  margin-right: 0.6em;
}

/* サイドバー内リンク */
.widget a {
  font-family: var(--font-body) !important;
  color: var(--washi-text-muted) !important;
  font-size: 0.85rem !important;
  transition: color var(--transition-base) !important;
}
.widget a:hover {
  color: var(--washi-gold) !important;
}

/* ──────────────────────────────────────────────────────────
   10. 記事本文 (シングル投稿)
   ────────────────────────────────────────────────────────── */

/* 記事タイトル */
.p-entry__title,
.l-single__title {
  font-family: var(--font-display) !important;
  font-size: clamp(2rem, 5vw, 3.5rem) !important;
  font-weight: 300 !important;
  color: var(--washi-dark) !important;
  line-height: 1.15 !important;
  letter-spacing: 0.04em;
  margin-bottom: 0.6em !important;
}

/* 記事メタ */
.p-entry__meta,
.l-single__meta {
  font-family: var(--font-body) !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.12em !important;
  color: var(--washi-text-faint) !important;
  border-bottom: 1px solid var(--washi-gold-border);
  padding-bottom: 1.2em;
  margin-bottom: 2.5em;
}

/* ゴールドセパレーター */
.p-entry__meta::after {
  content: '';
  display: block;
  width: 48px;
  height: 1px;
  background: linear-gradient(90deg, var(--washi-gold), transparent);
  margin-top: 0.8em;
  opacity: 0.7;
}

/* 本文リード */
.p-entry-content > p:first-of-type {
  font-size: 1.05rem;
  color: var(--washi-dark);
  line-height: 2.0;
}

/* 引用 */
.p-entry-content blockquote {
  border-left: 3px solid var(--washi-gold) !important;
  background-color: var(--washi-bg-warm) !important;
  padding: 1.5em 2em !important;
  margin: 2em 0 !important;
  font-family: var(--font-display) !important;
  font-style: italic;
  font-size: 1.1rem;
  color: var(--washi-text-muted) !important;
  border-radius: 0 !important;
}

/* コード */
.p-entry-content code {
  background-color: var(--washi-bg-warm) !important;
  color: var(--washi-dark) !important;
  font-size: 0.85em;
  padding: 0.1em 0.4em;
  border: 1px solid var(--washi-border);
}

/* テーブル */
.p-entry-content table {
  border-collapse: collapse;
  width: 100%;
  font-family: var(--font-body) !important;
  font-size: 0.9rem;
}
.p-entry-content table th {
  background-color: var(--washi-dark) !important;
  color: var(--washi-bg) !important;
  font-family: var(--font-body) !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase;
  padding: 0.8em 1.2em !important;
  font-weight: 400 !important;
  border: none !important;
}
.p-entry-content table td {
  border: 1px solid var(--washi-border) !important;
  padding: 0.7em 1.2em !important;
  color: var(--washi-text-muted) !important;
}
.p-entry-content table tr:nth-child(even) td {
  background-color: var(--washi-bg-warm) !important;
}

/* ──────────────────────────────────────────────────────────
   11. 目次 (Table of Contents — SWELL TOC)
   ────────────────────────────────────────────────────────── */
.swell-block-toc,
#toc_container,
.l-toc {
  background-color: var(--washi-bg-warm) !important;
  border: 1px solid var(--washi-gold-border) !important;
  border-top: 3px solid var(--washi-gold) !important;
  border-radius: 0 !important;
  padding: 1.5em 2em !important;
  margin: 2.5em 0 !important;
}

.swell-block-toc__title,
#toc_container .toc_title,
.l-toc__title {
  font-family: var(--font-body) !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase;
  color: var(--washi-gold) !important;
  font-weight: 400 !important;
  margin-bottom: 1em !important;
}

.swell-block-toc ol,
.swell-block-toc ul,
#toc_container ul,
.l-toc__list {
  font-family: var(--font-body) !important;
  font-size: 0.88rem !important;
  line-height: 1.8 !important;
}

.swell-block-toc a,
#toc_container a,
.l-toc__list a {
  color: var(--washi-text-muted) !important;
  transition: color var(--transition-base) !important;
}
.swell-block-toc a:hover,
#toc_container a:hover,
.l-toc__list a:hover {
  color: var(--washi-gold) !important;
}

/* ──────────────────────────────────────────────────────────
   12. ボタン
   ────────────────────────────────────────────────────────── */
.wp-block-button__link,
.swell-block-btn,
.c-btn {
  background-color: var(--washi-dark) !important;
  color: var(--washi-bg) !important;
  font-family: var(--font-body) !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase;
  padding: 0.9em 2.4em !important;
  border: none !important;
  border-radius: 0 !important;
  transition: background-color var(--transition-base), color var(--transition-base) !important;
}
.wp-block-button__link:hover,
.swell-block-btn:hover,
.c-btn:hover {
  background-color: var(--washi-gold) !important;
  color: var(--washi-dark) !important;
}

/* ゴールドボタン（is-style-outline 等） */
.wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent !important;
  color: var(--washi-gold) !important;
  border: 1px solid var(--washi-gold) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background-color: var(--washi-gold) !important;
  color: var(--washi-dark) !important;
}

/* ──────────────────────────────────────────────────────────
   13. ページネーション
   ────────────────────────────────────────────────────────── */
.c-pagination {
  font-family: var(--font-body) !important;
}
.c-pagination__item,
.c-pagination a,
.c-pagination span {
  border: 1px solid var(--washi-border) !important;
  color: var(--washi-text-muted) !important;
  border-radius: 0 !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.05em !important;
  transition: border-color var(--transition-base), color var(--transition-base) !important;
}
.c-pagination__item:hover,
.c-pagination a:hover {
  border-color: var(--washi-gold) !important;
  color: var(--washi-gold) !important;
  background-color: transparent !important;
}
.c-pagination .current,
.c-pagination__item.is-active {
  background-color: var(--washi-dark) !important;
  border-color: var(--washi-dark) !important;
  color: var(--washi-bg) !important;
}

/* ──────────────────────────────────────────────────────────
   14. ブログカード (SWELL Blog Card)
   ────────────────────────────────────────────────────────── */
.p-blogCard {
  border: 1px solid var(--washi-gold-border) !important;
  border-radius: 0 !important;
  background-color: var(--washi-bg) !important;
  transition: border-color var(--transition-base) !important;
}
.p-blogCard:hover {
  border-color: var(--washi-gold) !important;
}
.p-blogCard__title {
  font-family: var(--font-display) !important;
  font-weight: 300 !important;
  color: var(--washi-dark) !important;
}
.p-blogCard__label {
  font-family: var(--font-body) !important;
  font-size: 0.6rem !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase;
  color: var(--washi-gold) !important;
  background-color: transparent !important;
  border-bottom: 1px solid var(--washi-gold-border) !important;
}

/* ──────────────────────────────────────────────────────────
   15. フッター (l-footer)
   ────────────────────────────────────────────────────────── */
#footer.l-footer {
  background-color: var(--washi-dark) !important;
  color: rgba(250, 250, 247, 0.60) !important;
  border-top: none !important;
  /* ゴールドルール */
  box-shadow: inset 0 1px 0 0 var(--washi-gold-border) !important;
}

.l-footer__inner {
  padding-top: 4rem !important;
  padding-bottom: 0 !important;
}

/* フッターウィジェット */
.l-footer__widgets .widget-title,
.l-footer__widgets .c-widgetTitle {
  font-family: var(--font-body) !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase;
  color: var(--washi-gold) !important;
  border-bottom: 1px solid rgba(184, 150, 46, 0.25) !important;
  padding-bottom: 0.7em !important;
}
.l-footer__widgets .widget-title::before,
.l-footer__widgets .c-widgetTitle::before {
  display: none;
}

.l-footer__widgets .widget a {
  font-family: var(--font-body) !important;
  font-size: 0.82rem !important;
  color: rgba(250, 250, 247, 0.55) !important;
  transition: color var(--transition-base) !important;
}
.l-footer__widgets .widget a:hover {
  color: var(--washi-bg) !important;
}

/* フッター下部 */
.l-footer__foot {
  background-color: transparent !important;
  border-top: 1px solid rgba(250, 250, 247, 0.08) !important;
  margin-top: 3rem;
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

/* フッターナビ */
.l-footer__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0 2rem;
  list-style: none;
  margin: 0 0 0.8rem !important;
  padding: 0 !important;
}
.l-footer__nav li a {
  font-family: var(--font-body) !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase;
  color: rgba(250, 250, 247, 0.45) !important;
  transition: color var(--transition-base) !important;
}
.l-footer__nav li a:hover {
  color: var(--washi-gold) !important;
}

/* コピーライト */
.l-footer .copyright,
.copyright {
  font-family: var(--font-body) !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.08em !important;
  color: rgba(250, 250, 247, 0.25) !important;
}

/* SNSアイコンリスト */
.l-footer .c-iconList__item a {
  color: rgba(250, 250, 247, 0.45) !important;
  transition: color var(--transition-base) !important;
}
.l-footer .c-iconList__item a:hover {
  color: var(--washi-gold) !important;
}

/* ──────────────────────────────────────────────────────────
   16. 記事一覧 アーカイブヘッダー
   ────────────────────────────────────────────────────────── */
.l-archiveHead,
.p-archiveHead {
  background-color: var(--washi-bg-warm) !important;
  border-bottom: 1px solid var(--washi-gold-border);
  padding: 3rem 0 !important;
}
.l-archiveHead__title,
.p-archiveHead__title {
  font-family: var(--font-display) !important;
  font-weight: 300 !important;
  font-size: clamp(1.8rem, 4vw, 3rem) !important;
  color: var(--washi-dark) !important;
  letter-spacing: 0.06em;
}
.l-archiveHead__desc,
.p-archiveHead__desc {
  font-family: var(--font-body) !important;
  color: var(--washi-text-muted) !important;
  line-height: 1.8 !important;
}

/* ──────────────────────────────────────────────────────────
   17. SWELL 専用ブロック (装飾ブロック)
   ────────────────────────────────────────────────────────── */

/* チェックボックスリスト */
.swell-block-check-list li::before {
  color: var(--washi-gold) !important;
}

/* ボックス装飾 */
.wp-block-group.is-style-washi-box,
.swell-block-box {
  border: 1px solid var(--washi-gold-border) !important;
  border-radius: 0 !important;
  background-color: var(--washi-bg-warm) !important;
}

/* 吹き出し */
.swell-block-balloon__icon {
  border-radius: 0 !important;
}
.swell-block-balloon__content {
  font-family: var(--font-body) !important;
  font-size: 0.9rem !important;
  line-height: 1.8 !important;
  border-radius: 0 !important;
}

/* ステップ */
.swell-block-step__head {
  background-color: var(--washi-dark) !important;
  color: var(--washi-bg) !important;
  font-family: var(--font-body) !important;
  border-radius: 0 !important;
}

/* アコーディオン */
.swell-block-faq__q {
  font-family: var(--font-display) !important;
  font-weight: 400 !important;
  background-color: var(--washi-bg-warm) !important;
  color: var(--washi-dark) !important;
  border-left: 3px solid var(--washi-gold) !important;
}

/* ──────────────────────────────────────────────────────────
   18. 関連記事 & ランキング
   ────────────────────────────────────────────────────────── */
.p-relatedPosts__title,
.l-relatedPosts__title {
  font-family: var(--font-body) !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase;
  color: var(--washi-gold) !important;
  border-bottom: 1px solid var(--washi-gold-border) !important;
  padding-bottom: 0.6em;
}
.p-relatedPosts__title::after,
.l-relatedPosts__title::after {
  display: none;
}

/* ランキングナンバー */
.c-rankNum {
  background-color: var(--washi-dark) !important;
  color: var(--washi-bg) !important;
  font-family: var(--font-display) !important;
  font-size: 1.1rem !important;
  border-radius: 0 !important;
}
.c-rankNum--1st {
  background-color: var(--washi-gold) !important;
  color: var(--washi-dark) !important;
}

/* ──────────────────────────────────────────────────────────
   19. 通知バー (Info Bar)
   ────────────────────────────────────────────────────────── */
.c-infoBar {
  background-color: var(--washi-dark) !important;
  color: var(--washi-bg) !important;
  font-family: var(--font-body) !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.1em !important;
}
.c-infoBar a {
  color: var(--washi-gold) !important;
}

/* ──────────────────────────────────────────────────────────
   20. パンくずリスト
   ────────────────────────────────────────────────────────── */
.c-breadcrumb {
  background-color: var(--washi-bg-warm) !important;
  border-bottom: 1px solid var(--washi-border) !important;
  padding: 0.8em 0 !important;
}
.c-breadcrumb__item,
.c-breadcrumb a {
  font-family: var(--font-body) !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.1em !important;
  color: var(--washi-text-faint) !important;
}
.c-breadcrumb a:hover {
  color: var(--washi-gold) !important;
}
.c-breadcrumb__sep {
  color: var(--washi-gold-border) !important;
}

/* ──────────────────────────────────────────────────────────
   21. 検索フォーム
   ────────────────────────────────────────────────────────── */
.c-searchForm input[type="text"],
.c-searchForm input[type="search"] {
  font-family: var(--font-body) !important;
  border: 1px solid var(--washi-border) !important;
  border-radius: 0 !important;
  background-color: var(--washi-bg) !important;
  color: var(--washi-dark) !important;
  padding: 0.7em 1em !important;
  font-size: 0.85rem !important;
}
.c-searchForm input:focus {
  border-color: var(--washi-gold) !important;
  outline: none !important;
  box-shadow: none !important;
}
.c-searchForm button,
.c-searchForm [type="submit"] {
  background-color: var(--washi-dark) !important;
  color: var(--washi-bg) !important;
  border: none !important;
  border-radius: 0 !important;
  transition: background-color var(--transition-base) !important;
}
.c-searchForm button:hover,
.c-searchForm [type="submit"]:hover {
  background-color: var(--washi-gold) !important;
}

/* ──────────────────────────────────────────────────────────
   22. タグクラウド & カテゴリー一覧
   ────────────────────────────────────────────────────────── */
.c-tagList__item a,
.widget_tag_cloud a {
  font-family: var(--font-body) !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.1em !important;
  color: var(--washi-text-muted) !important;
  border: 1px solid var(--washi-border) !important;
  background-color: transparent !important;
  border-radius: 0 !important;
  padding: 0.25em 0.8em !important;
  transition: border-color var(--transition-base), color var(--transition-base) !important;
}
.c-tagList__item a:hover,
.widget_tag_cloud a:hover {
  border-color: var(--washi-gold) !important;
  color: var(--washi-gold) !important;
  background-color: transparent !important;
}

/* ──────────────────────────────────────────────────────────
   23. シェアボタン
   ────────────────────────────────────────────────────────── */
.p-shareBtn__title {
  font-family: var(--font-body) !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase;
  color: var(--washi-text-faint) !important;
}
.c-shareBtn {
  border-radius: 0 !important;
  font-family: var(--font-body) !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.08em !important;
}

/* ──────────────────────────────────────────────────────────
   24. 著者プロフィール
   ────────────────────────────────────────────────────────── */
.p-authorCard {
  background-color: var(--washi-bg-warm) !important;
  border: 1px solid var(--washi-gold-border) !important;
  border-radius: 0 !important;
  padding: 2rem !important;
}
.p-authorCard__name {
  font-family: var(--font-display) !important;
  font-weight: 300 !important;
  font-size: 1.4rem !important;
  color: var(--washi-dark) !important;
}
.p-authorCard__desc {
  font-family: var(--font-body) !important;
  font-size: 0.875rem !important;
  color: var(--washi-text-muted) !important;
  line-height: 1.85 !important;
}
.p-authorCard__img img {
  border-radius: 0 !important;
  border: 1px solid var(--washi-gold-border) !important;
}

/* ──────────────────────────────────────────────────────────
   25. フェードアップ アニメーション
   ────────────────────────────────────────────────────────── */
@keyframes washi-fadeUp {
  from {
    opacity: 0;
    transform: translateY(28px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes washi-fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* スクロール時アニメーション（JS なしフォールバック） */
.p-postCardWrap,
.p-postCard,
.p-entry__title,
.l-archiveHead__title {
  animation: washi-fadeUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* ──────────────────────────────────────────────────────────
   26. ユーティリティ
   ────────────────────────────────────────────────────────── */

/* ゴールドルールセパレーター */
.washi-divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--washi-gold) 20%, var(--washi-gold) 80%, transparent);
  opacity: 0.5;
  margin: 3rem 0;
}

/* セクションラベル（英語 + 日本語） */
.washi-label {
  display: inline-flex;
  align-items: center;
  gap: 0.6em;
  font-family: var(--font-body);
  font-size: 0.65rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--washi-gold);
  margin-bottom: 1rem;
}
.washi-label::before {
  content: '';
  display: inline-block;
  width: 24px;
  height: 1px;
  background-color: var(--washi-gold);
}

/* ゴールドアンダーラインホバーリンク */
.washi-link {
  position: relative;
  font-family: var(--font-body);
  font-size: 0.72rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--washi-gold);
}
.washi-link::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;
  background-color: var(--washi-gold);
  transition: width var(--transition-base);
}
.washi-link:hover::after {
  width: 100%;
}

/* ──────────────────────────────────────────────────────────
   27. レスポンシブ補正
   ────────────────────────────────────────────────────────── */
@media (max-width: 767px) {
  .l-header__logo .c-siteName {
    font-size: 1.5rem !important;
  }

  .p-entry__title,
  .l-single__title {
    font-size: clamp(1.6rem, 7vw, 2.5rem) !important;
  }

  .p-entry-content h2 {
    font-size: 1.4rem;
  }

  .swell-block-toc,
  #toc_container,
  .l-toc {
    padding: 1.2em 1.4em !important;
  }

  .l-sidebar {
    border-left: none;
    border-top: 1px solid var(--washi-border);
    padding-top: 2rem;
    margin-top: 2rem;
  }
}

/* ──────────────────────────────────────────────────────────
   28. WordPress ブロックエディター共通
   ────────────────────────────────────────────────────────── */

/* セパレーター */
.wp-block-separator {
  border-color: var(--washi-gold-border) !important;
  margin: 2.5rem auto !important;
}
.wp-block-separator.is-style-wide {
  border-color: var(--washi-gold) !important;
  opacity: 0.4 !important;
}

/* プルクォート */
.wp-block-pullquote {
  border-top: 3px solid var(--washi-gold) !important;
  border-bottom: 3px solid var(--washi-gold) !important;
  padding: 2em !important;
}
.wp-block-pullquote blockquote {
  font-family: var(--font-display) !important;
  font-size: 1.4rem !important;
  font-style: italic;
  font-weight: 300 !important;
  color: var(--washi-dark) !important;
  border: none !important;
  background: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ギャラリー */
.wp-block-gallery .wp-block-image {
  border: 1px solid var(--washi-gold-border) !important;
}

/* カラム */
.wp-block-columns {
  gap: 2rem !important;
}

/* カバー */
.wp-block-cover {
  border-radius: 0 !important;
}
.wp-block-cover__inner-container h1,
.wp-block-cover__inner-container h2,
.wp-block-cover__inner-container h3 {
  font-family: var(--font-display) !important;
  font-weight: 300 !important;
  letter-spacing: 0.06em;
}