/* =====================================================================
   DOUする？ A案（プレイフル・エディトリアル）
   - トークン / 全体 / SWELLヘッダー・フッター再スタイル
   - トップページ（.dg- プレフィックス、front-page.php 専用）
   - 記事・固定ページ（SWELL標準DOM .post_content 等の上書き）
   ===================================================================== */

:root{
  --dg-bg:#fffdf8; --dg-ink:#1b1820; --dg-muted:#8a8492;
  --dg-coral:#ff5a4e; --dg-blue:#3565f0;
  --dg-line:#e4e0d6;
  --dg-disp:'Zen Maru Gothic',sans-serif; --dg-body:'Noto Sans JP',sans-serif;
  --dg-r:16px; --dg-bd:2px solid var(--dg-ink);
  --dg-ease:cubic-bezier(.22,1,.36,1);
}

/* ===== 全体 ===== */
body{
  background:var(--dg-bg);
  color:var(--dg-ink);
  font-family:var(--dg-body);
}
.l-content{background:transparent}

/* ===== 独自ヘッダー（wp_body_open で出力。モックの .site-head を移植） ===== */
.dg-head{border-bottom:var(--dg-bd);position:sticky;top:0;background:var(--dg-bg);z-index:50}
.dg-head .dg-wrap{display:flex;align-items:center;gap:28px;height:72px}
.dg-logo{display:inline-flex;align-items:center;
  background:#fff;border:var(--dg-bd);border-radius:12px;padding:3px 12px;box-shadow:3px 3px 0 var(--dg-ink);
  transform:rotate(-2deg);transition:transform .3s var(--dg-ease);flex-shrink:0;text-decoration:none}
.dg-logo img{height:38px;width:auto;display:block}
.dg-logo:hover{transform:rotate(0deg) scale(1.04)}
/* padding:4pxはホバー時の枠と影(2px+2px)がスクロールコンテナに縦クリップされないための余白 */
.dg-gnav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;flex:1;padding:4px 2px}
.dg-gnav::-webkit-scrollbar{display:none}
.dg-gnav a{font-weight:700;font-size:.85rem;white-space:nowrap;padding:6px 12px;border-radius:999px;border:2px solid transparent;transition:all .25s var(--dg-ease);color:var(--dg-ink);text-decoration:none}
.dg-gnav a:hover{border-color:var(--dg-ink);background:#fff;box-shadow:2px 2px 0 var(--dg-ink)}
.dg-head-cta{font-family:var(--dg-disp);font-weight:700;font-size:.75rem;border:var(--dg-bd);border-radius:999px;padding:6px 14px;background:var(--dg-ink);color:var(--dg-bg);flex-shrink:0;transition:all .25s var(--dg-ease);text-decoration:none;cursor:pointer}
.dg-head-cta:hover{background:var(--dg-coral);color:#fff;box-shadow:2px 2px 0 var(--dg-ink)}
/* ハンバーガー（モバイル限定・SWELLドロワーを開く） */
.dg-menu-btn{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;flex-shrink:0;
  background:#fff;border:var(--dg-bd);border-radius:12px;box-shadow:2px 2px 0 var(--dg-ink);cursor:pointer;padding:0 10px}
.dg-menu-btn span{display:block;height:2.5px;border-radius:2px;background:var(--dg-ink)}

/* SWELLドロワー（SPメニュー）をA案トーンに */
.p-spMenu__inner{background:var(--dg-bg);padding-top:56px}  /* --logo_size_sp（SWELLヘッダー由来の変数）に依存しない明示値。上部見切れ対策 */
.p-spMenu__closeBtn{height:56px;width:56px}
/* ヘッダーレイアウト設定に関わらず右からせり出す */
.p-spMenu.-left .p-spMenu__inner{left:auto;right:0;transform:translateX(88vw)}
.p-spMenu.-left .p-spMenu__closeBtn{left:auto;right:0}
[data-spmenu=opened] .p-spMenu.-left .p-spMenu__inner{transform:translateX(0)}
.c-widget__title.-spmenu{font-family:var(--dg-disp);font-weight:900;color:var(--dg-ink)}
.c-widget__title.-spmenu::before{content:"✳ ";color:var(--dg-coral)}
.p-spMenu .c-spnav a,.p-spMenu .c-listMenu a{font-weight:700;color:var(--dg-ink);border-bottom:1.5px dashed var(--dg-line);position:relative}
/* 行頭のicomoon矢印（＞）を消して、右端にコーラルの✳ */
.p-spMenu .c-listMenu a::before{content:none}
.p-spMenu .c-listMenu a::after{content:"✳";font-family:var(--dg-disp);font-size:.9em;color:var(--dg-coral);position:absolute;right:8px;top:50%;transform:translateY(-50%)}

/* ===== 独自フッター（wp_footer で出力。モックの .foot を移植） ===== */
.dg-foot{border-top:var(--dg-bd);padding:64px 0 40px;background:#fff}
.dg-foot .dg-wrap{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start}
.dg-foot .dg-logo img{height:28px}
.dg-foot-tag{font-size:.85rem;color:var(--dg-muted);max-width:320px;margin:0}
.dg-foot-nav{margin-left:auto}
.dg-foot-nav ul{display:flex;gap:8px 24px;flex-wrap:wrap;list-style:none;margin:0;padding:0;font-size:.82rem;font-weight:500}
.dg-foot-nav a{color:var(--dg-ink);text-decoration:none}
.dg-foot-nav a:hover{text-decoration:underline;text-decoration-color:var(--dg-blue);text-decoration-thickness:2px}
.dg-foot-copy{width:100%;margin:36px 0 0;font-family:var(--dg-disp);font-size:.7rem;color:var(--dg-muted);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}

/* ===== パンくず（記事ページのみ出力） ===== */
#breadcrumb{background:transparent;font-family:var(--dg-disp);font-size:.72rem;color:var(--dg-muted)}

/* =====================================================================
   トップページ（front-page.php）
   ===================================================================== */

/* SWELLは front-page.php の出力を #content.l-content.l-container で包む
   → 全幅デザインのため枠を解除（#content のID込みで指定しないと padding が残る） */
#content.l-content.l-container:has(> .dg-front){max-width:none;padding:0}

.dg-front{overflow-x:hidden;font-size:16px;line-height:1.8}
.dg-front a{color:inherit;text-decoration:none}
.dg-wrap{max-width:1140px;margin:0 auto;padding:0 24px}

/* --- hero --- */
.dg-hero{position:relative;overflow:hidden;padding:clamp(3.5rem,8vw,6.5rem) 0 clamp(3rem,6vw,5rem)}
.dg-hero .dg-wrap{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:32px;align-items:center}
.dg-hero-label{font-family:var(--dg-disp);font-size:.78rem;letter-spacing:.08em;color:var(--dg-muted);margin-bottom:20px}
.dg-front .dg-hero h1{font-family:var(--dg-disp);font-weight:900;font-size:clamp(1.95rem,6.2vw,3.7rem);line-height:1.3;letter-spacing:-.01em;margin:0}
.dg-hero h1 .q{color:var(--dg-coral)}
.dg-hero h1 .q2{color:var(--dg-blue)}
.dg-hero-sub{margin-top:26px;font-size:clamp(.9rem,1.6vw,1.02rem);color:#4c4653;max-width:34em}
.dg-hero-fig{position:relative;height:470px}
.dg-blob{position:absolute}
.dg-blob-a{width:min(360px,80%);aspect-ratio:1;background:var(--dg-coral);left:0;top:2%;
  border-radius:58% 42% 47% 53% / 52% 44% 56% 48%;animation:dgMorphA 14s ease-in-out infinite}
.dg-blob-b{width:min(320px,70%);aspect-ratio:1;background:var(--dg-blue);left:38%;top:34%;
  box-shadow:0 0 0 14px var(--dg-bg);
  border-radius:44% 56% 58% 42% / 48% 54% 46% 52%;animation:dgMorphB 17s ease-in-out infinite}
.dg-mascot{position:absolute;left:50%;bottom:2px;transform:translateX(-50%);width:min(430px,96%);height:auto;z-index:2;filter:drop-shadow(0 4px 0 rgba(27,24,32,.10))}
@keyframes dgMorphA{50%{border-radius:47% 53% 42% 58% / 44% 56% 48% 52%;transform:translate(8px,-10px)}}
@keyframes dgMorphB{50%{border-radius:56% 44% 48% 52% / 58% 42% 54% 46%;transform:translate(-10px,8px)}}
@media (prefers-reduced-motion:reduce){
  .dg-blob-a,.dg-blob-b,.dg-marquee-in{animation:none}
}

/* --- marquee --- */
.dg-marquee{border-top:var(--dg-bd);border-bottom:var(--dg-bd);overflow:hidden;background:#fff}
.dg-marquee-in{display:flex;width:max-content;animation:dgMq 26s linear infinite;padding:12px 0}
.dg-marquee-in span{font-family:var(--dg-disp);font-weight:900;font-size:1.05rem;white-space:nowrap;padding-right:.6em}
.dg-marquee-in .ast{color:var(--dg-coral)}
.dg-marquee-in .ast2{color:var(--dg-blue)}
@keyframes dgMq{to{transform:translateX(-50%)}}

/* --- section label --- */
.dg-sec-label{display:flex;align-items:baseline;gap:16px;margin-bottom:clamp(2rem,4vw,3rem)}
.dg-sec-label .en{font-family:var(--dg-disp);font-weight:700;font-size:1.7rem;line-height:1}
.dg-sec-label .jp{font-family:var(--dg-disp);font-weight:900;font-size:clamp(1.7rem,3.6vw,2.6rem);letter-spacing:.01em}
.dg-sec-label .cnt{font-family:var(--dg-disp);font-size:.75rem;color:var(--dg-muted);margin-left:auto}

/* --- 新着記事 --- */
.dg-news{padding:clamp(6rem,12vw,10rem) 0}
.dg-feat{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:52px}
.dg-feat-card{border:var(--dg-bd);border-radius:var(--dg-r);background:#fff;overflow:hidden;box-shadow:5px 5px 0 var(--dg-ink);transition:all .3s var(--dg-ease)}
.dg-feat-card:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--dg-ink)}
.dg-feat-thumb{aspect-ratio:16/8.5;position:relative;border-bottom:var(--dg-bd);
  background-image:radial-gradient(rgba(27,24,32,.13) 1.5px,transparent 1.5px);background-size:18px 18px}
.dg-feat-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.dg-feat-body{padding:22px 24px 26px}
.dg-meta{display:flex;align-items:center;gap:12px;font-family:var(--dg-disp);font-size:.72rem;color:var(--dg-muted);margin:0}
.dg-chip{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--dg-ink);border-radius:999px;padding:1px 10px;font-family:var(--dg-body);font-weight:700;font-size:.72rem;color:var(--dg-ink);background:#fff;line-height:1.8}
.dg-chip i{width:8px;height:8px;border-radius:50%;display:inline-block}
.dg-feat-body h3{font-family:var(--dg-disp);font-weight:900;font-size:1.25rem;line-height:1.55;margin:12px 0 0;padding:0;background:none;border:none}
.dg-feat-card:hover h3{text-decoration:underline;text-decoration-thickness:3px;text-decoration-color:var(--dg-coral);text-underline-offset:5px}
.dg-art-row{display:grid;grid-template-columns:176px auto minmax(0,1fr) auto;gap:18px;align-items:center;border-top:1.5px solid var(--dg-line);padding:16px 8px;transition:all .25s var(--dg-ease)}
.dg-art-row:last-of-type{border-bottom:1.5px solid var(--dg-line)}
.dg-art-row .th{display:block;aspect-ratio:1024/538;border:1.5px solid var(--dg-ink);border-radius:12px;overflow:hidden;background:#fff}
.dg-art-row .th img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s var(--dg-ease)}
.dg-art-row:hover .th img{transform:scale(1.06)}
.dg-art-row .ttl{font-weight:700;font-size:.98rem;line-height:1.6}
.dg-art-row .date{font-family:var(--dg-disp);font-size:.72rem;color:var(--dg-muted)}
.dg-art-row:hover{background:#fff;padding-left:20px}
.dg-art-row:hover .ttl{text-decoration:underline;text-decoration-thickness:2.5px;text-decoration-color:var(--dg-blue);text-underline-offset:4px}
.dg-more{margin-top:40px;text-align:right}
.dg-more a{font-family:var(--dg-disp);font-weight:900;font-size:1rem;border:var(--dg-bd);border-radius:999px;background:#fff;padding:12px 28px;box-shadow:4px 4px 0 var(--dg-ink);display:inline-block;transition:all .25s var(--dg-ease)}
.dg-more a:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--dg-ink);background:var(--dg-coral);color:#fff}

/* --- まずここから読む --- */
.dg-pillars{background:#e9eefb;padding:clamp(6rem,12vw,10rem) 0}
.dg-pil-row{display:block;border-top:2px solid #c6d1f0;padding:30px 8px;transition:background .3s var(--dg-ease)}
.dg-pil-row:last-of-type{border-bottom:2px solid #c6d1f0}
.dg-pil-top{display:flex;align-items:baseline;gap:18px}
.dg-pil-top .h{font-family:var(--dg-disp);font-weight:900;font-size:clamp(1.3rem,3.2vw,2.1rem);line-height:1.4;flex:1}
.dg-pil-top .arw{font-family:var(--dg-disp);font-size:1.3rem;transition:transform .3s var(--dg-ease)}
.dg-pil-row .desc{display:block;font-size:.85rem;color:#5c6178;margin-top:6px}
.dg-pil-row:hover{background:#fff}
.dg-pil-row:hover .arw{transform:translateX(10px);color:var(--dg-coral)}
.dg-pil-row:hover .h{text-decoration:underline;text-decoration-color:var(--dg-coral);text-decoration-thickness:3px;text-underline-offset:6px}

/* --- カテゴリからさがす --- */
.dg-cats{padding:clamp(6rem,12vw,10rem) 0}
.dg-cat-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 56px}
.dg-cat-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;border-top:1.5px solid var(--dg-line);padding:20px 8px;transition:all .25s var(--dg-ease)}
.dg-cat-grid .dg-cat-row:nth-last-child(-n+2){border-bottom:1.5px solid var(--dg-line)}
.dg-cat-row i{width:12px;height:12px;border-radius:50%;border:1.5px solid var(--dg-ink)}
.dg-cat-row .jp{font-family:var(--dg-disp);font-weight:900;font-size:1.2rem}
.dg-cat-row .en{font-family:var(--dg-disp);font-size:.68rem;letter-spacing:.12em;color:var(--dg-muted);margin-left:10px}
.dg-cat-row .n{font-family:var(--dg-disp);font-size:.78rem;color:var(--dg-muted)}
.dg-cat-row:hover{padding-left:20px;background:#fff}

/* --- reveal（JSが有効なときだけ隠す） --- */
html.dg-js .dg-rv{opacity:0;transform:translateY(22px);transition:all .8s var(--dg-ease)}
html.dg-js .dg-rv.on{opacity:1;transform:none}

/* --- front mobile --- */
@media (max-width:768px){
  .dg-wrap{padding:0 30px}
  .dg-head .dg-wrap{gap:14px;height:62px;justify-content:space-between}
  .dg-logo img{height:28px}
  .dg-gnav{display:none}   /* 案1(b): モバイルはピルナビを消してハンバーガーに集約 */
  .dg-head-cta{display:none}
  .dg-menu-btn{display:flex}
  .dg-foot-nav{margin-left:0}
  .dg-hero{padding-bottom:clamp(2.2rem,5vw,3rem)}
  .dg-hero .dg-wrap{display:block}
  .dg-hero-fig{width:100%;max-width:340px;height:300px;margin:30px auto 0}
  .dg-hero-fig .dg-blob-a{width:62%;left:3%;top:2%}
  .dg-hero-fig .dg-blob-b{width:55%;left:41%;top:32%;box-shadow:0 0 0 10px var(--dg-bg)}
  .dg-hero-fig .dg-mascot{width:88%;bottom:0}
  .dg-feat{grid-template-columns:1fr;gap:24px}
  .dg-art-row{grid-template-columns:128px minmax(0,1fr);gap:8px 14px;padding:16px 0}
  .dg-art-row .th{grid-row:1/3;align-self:start}
  .dg-art-row .date{display:none}
  .dg-art-row .ttl{grid-column:2;margin-top:0;font-size:.92rem;line-height:1.55}
  .dg-art-row .dg-chip{justify-self:start}
  .dg-art-row:hover{padding-left:0}
  .dg-cat-grid{grid-template-columns:1fr;gap:0}
  .dg-cat-grid .dg-cat-row:nth-last-child(2){border-bottom:1.5px solid var(--dg-line)}
}

/* =====================================================================
   記事・固定ページ（SWELL標準DOMの上書き）
   ===================================================================== */

/* --- 記事タイトル部（parts/single/post_head.php を子テーマでオーバーライド済み） --- */
.c-postTitle__ttl{font-family:var(--dg-disp);font-weight:900;line-height:1.5;letter-spacing:-.01em}
.dg-postHead{display:block}  /* SWELLの.c-postTitle(flex)のレイアウトを打ち消す */
.dg-postHead .c-postTitle__ttl{font-size:clamp(1.65rem,4.2vw,2.7rem);margin:14px 0 6px}
.dg-art-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-family:var(--dg-disp);font-size:.75rem;color:var(--dg-muted);margin:0}
.dg-postHead .c-prNotation{font-size:.72rem;color:var(--dg-muted);margin-top:8px}

/* --- アイキャッチ --- */
.p-articleThumb{border:var(--dg-bd);border-radius:var(--dg-r);overflow:hidden;box-shadow:5px 5px 0 var(--dg-ink)}
.p-articleThumb img{display:block;width:100%}

/* --- 本文タイポグラフィ --- */
.post_content{line-height:1.95}
.post_content h2{
  font-family:var(--dg-disp);font-weight:900;font-size:clamp(1.3rem,3vw,1.7rem);line-height:1.5;
  background:transparent;color:var(--dg-ink);
  margin:72px 0 26px;padding:0 0 12px;
  border:none;border-bottom:3px solid var(--dg-ink);border-radius:0;position:relative;
}
.post_content h2::before{content:none}
.post_content h2::after{content:"";position:absolute;left:0;bottom:-3px;width:72px;height:3px;background:var(--dg-coral)}
.post_content h3{
  font-family:var(--dg-disp);font-weight:900;font-size:1.15rem;
  background:transparent;color:var(--dg-ink);
  margin:44px 0 18px;padding:2px 0 2px 20px;
  border:none;border-radius:0;position:relative;
}
.post_content h3::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:4px;background:var(--dg-coral);border-radius:2px}
.post_content h3::after{content:"";position:absolute;left:6px;top:4px;bottom:4px;width:4px;background:var(--dg-blue);border-radius:2px}
.post_content h4{font-family:var(--dg-disp);font-weight:900}
.post_content strong{background:linear-gradient(transparent 65%,rgba(53,101,240,.22) 65%);font-weight:700}
.post_content a:not([class]){color:var(--dg-blue);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}

/* --- 表（記事はHTML直書きテーブル） --- */
.post_content table{
  width:100%;border-collapse:separate;border-spacing:0;
  border:var(--dg-bd);border-radius:14px;overflow:hidden;
  background:#fff;font-size:.9rem;
}
.post_content th,.post_content td{padding:11px 16px;text-align:left;border:none;border-top:1.5px solid var(--dg-line)}
/* 実記事の表は<thead>なしの<tr><th>形式なので先頭行thも対象にする */
.post_content thead th,
.post_content table tr:first-child th{background:var(--dg-ink);color:var(--dg-bg);font-family:var(--dg-disp);font-weight:700;font-size:.85rem;border-top:none}
.post_content tbody tr:nth-child(even) td{background:#faf7ef}
.post_content tfoot td{border-top:2px solid var(--dg-ink);font-weight:700;background:#fff3f2}
@media (max-width:600px){
  .post_content table{display:block;overflow-x:auto}
}

/* --- 引用（ポイント風） --- */
.post_content blockquote{
  border:var(--dg-bd);border-left:8px solid var(--dg-coral);border-radius:10px;
  background:#fff;padding:18px 22px;margin:30px 0 36px;
}
.post_content blockquote::before,.post_content blockquote::after{content:none}

/* --- SWELL目次（モックの「✳もくじ」カードを再現） --- */
/* #main_content .p-toc{width:92%;max-width:800px}のID指定に勝つため#main_content併記。
   スタイル修飾（-simple/-border/-capbox/-double）はどれが選ばれていても同じ見た目に落とす */
#main_content .p-toc,
.p-toc.-simple,.p-toc.-border,.p-toc.-capbox,.p-toc.-double{
  border:var(--dg-bd);border-radius:var(--dg-r);background:#fff;background-image:none;
  padding:22px 28px;margin:36px auto 56px;width:100%;max-width:none;overflow:visible;
}
#main_content .p-toc .p-toc__ttl,
.p-toc.-simple .p-toc__ttl,.p-toc.-border .p-toc__ttl,.p-toc.-capbox .p-toc__ttl,.p-toc.-double .p-toc__ttl{
  text-align:left;font-family:var(--dg-disp);font-weight:900;font-size:1.05rem;line-height:1.4;
  background:transparent;color:var(--dg-ink);border:none;margin:0 0 12px;padding:0;
}
.p-toc__ttl::before{content:"✳";font-family:var(--dg-disp);color:var(--dg-blue);margin-right:.6em;padding:0;vertical-align:baseline}
.p-toc__list{list-style:none;padding:0;margin:0;counter-reset:dgtoc}
.post_content .p-toc__list{padding-left:0}
.p-toc__list>li{border-top:1.5px dashed var(--dg-line);padding:9px 4px;counter-increment:dgtoc}
.p-toc__list>li+li{margin-top:0}
.p-toc__list>li::before{content:counter(dgtoc,decimal-leading-zero);font-family:var(--dg-disp);font-weight:700;font-size:.75rem;color:var(--dg-coral);margin-right:14px}
.p-toc__link{font-weight:700;font-size:.92rem}
.p-toc__link:hover{opacity:1;color:var(--dg-blue);text-decoration:underline;text-underline-offset:4px}
.p-toc__childList{list-style:none;padding-left:2em}
.p-toc__childList li{border-top:none;padding:4px 0}
.p-toc__childList li::before{content:none}

/* --- SWELL FAQブロック（wp-post --faq-swell の出力） --- */
.swell-block-faq{border:var(--dg-bd);border-radius:var(--dg-r);background:#fff;padding:6px 22px;margin:28px 0}
.swell-block-faq__item{border-bottom:1.5px dashed var(--dg-line);padding:14px 0}
.swell-block-faq__item:last-child{border-bottom:none}
.swell-block-faq .faq_q{font-family:var(--dg-disp);font-weight:900;border:none}
.swell-block-faq .faq_a{border:none}

/* --- SWELLボタン --- */
.swell-block-button__link{
  font-family:var(--dg-disp);font-weight:900;
  border:var(--dg-bd);border-radius:999px;
  background:var(--dg-coral);color:#fff;
  box-shadow:4px 4px 0 var(--dg-ink);
  transition:all .25s var(--dg-ease);
}
.swell-block-button__link:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--dg-ink)}

/* --- アフィリCTAボックス（dousei-article の出力） --- */
.post_content .affiliate-cta{
  border:var(--dg-bd);border-radius:var(--dg-r);background:#fff;
  box-shadow:5px 5px 0 var(--dg-ink);padding:20px 24px;margin:36px 0;text-align:center;
}
.post_content .affiliate-cta a{
  display:inline-block;font-family:var(--dg-disp);font-weight:900;font-size:1.02rem;
  border:var(--dg-bd);border-radius:999px;background:var(--dg-coral);color:#fff;
  padding:13px 28px;box-shadow:4px 4px 0 var(--dg-ink);text-decoration:none;
  transition:all .25s var(--dg-ease);
}
.post_content .affiliate-cta a:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--dg-ink)}

/* --- 前後記事ナビ（.p-pnLinks — SWELL 2.17.1実装準拠） --- */
.p-pnLinks{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:44px 0 0;padding:0}
.p-pnLinks__item a{display:block;border:var(--dg-bd);border-radius:14px;background:#fff;padding:14px 16px;color:var(--dg-ink);font-weight:700;font-size:.88rem;line-height:1.55;transition:all .25s var(--dg-ease)}
.p-pnLinks__item a:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--dg-ink)}
.p-pnLinks__item.-next{text-align:right}
.p-pnLinks .c-postThumb{display:none}
@media (max-width:768px){
  .p-pnLinks{grid-template-columns:1fr}
}

/* --- 記事下エリア（かいた人・関連記事） --- */
.l-articleBottom__title{background:transparent;border:none;padding:0}
.c-secTitle{font-family:var(--dg-disp);font-weight:900;color:var(--dg-ink)}
.l-articleBottom__title.c-secTitle::before{content:"✳ ";color:var(--dg-coral)}
.p-authorBox{border:var(--dg-bd);border-radius:var(--dg-r);background:#fff}
.p-authorBox .avatar{border:var(--dg-bd);border-radius:50%}
.p-authorBox__name{font-family:var(--dg-disp);font-weight:900}
/* 関連記事リスト: モックの「あわせて読みたい記事」＝サムネなしのテキスト行方式 */
.l-articleBottom ul.p-postList{display:block;padding:0;list-style:none}
.l-articleBottom .p-postList__thumb{display:none}
.l-articleBottom .p-postList__item{border-top:1.5px solid var(--dg-line)}
.l-articleBottom .p-postList__item:last-child{border-bottom:1.5px solid var(--dg-line)}
.l-articleBottom .p-postList__link{display:block;padding:15px 6px;transition:all .25s var(--dg-ease)}
.l-articleBottom .p-postList__link:hover{background:#fff;padding-left:18px}
.l-articleBottom .p-postList__title{font-weight:700;font-size:.93rem;line-height:1.55}
.l-articleBottom .p-postList__link:hover .p-postList__title{text-decoration:underline;text-decoration-thickness:2.5px;text-decoration-color:var(--dg-blue);text-underline-offset:4px}

/* --- サイドバーウィジェット --- */
.c-widget{border:var(--dg-bd);border-radius:var(--dg-r);background:#fff;overflow:hidden}
.c-widget__title{
  font-family:var(--dg-disp);font-weight:900;font-size:.95rem;
  background:transparent;color:var(--dg-ink);
  padding:10px 18px;margin:0;border:none;border-bottom:var(--dg-bd);border-radius:0;
}
.c-widget__title::before,.c-widget__title::after{content:none}
.c-widget__title.-side::before{content:"✳ ";color:var(--dg-coral)}
.c-widget .wp-block-latest-posts,.c-widget ul{padding:8px 14px}

/* --- サイドバーの記事リスト（人気記事・新着記事）: サムネなしのタイトなテキスト行方式 --- */
/* SWELLは .c-widget .-type-card .p-postList__item{margin-bottom:2em} 等の3クラスで余白を足すため、
   同詳細度（3クラス）＋後読みで打ち消す。カード型/リスト型どちらの設定でも同じ見た目に落とす */
.c-widget ul.p-postList{display:block;padding:2px 0 4px;margin:0;list-style:none}
/* SWELLの負マージン（.-type-cardのmargin-bottom:-1.5em）が残ると最下行がoverflow:hiddenで見切れる */
.c-widget .p-postList.-type-card,.c-widget .p-postList.-type-list{margin-bottom:0}
.c-widget .p-postList .p-postList__thumb{display:none}
.c-widget .p-postList .p-postList__item{border-top:1.5px dashed var(--dg-line);margin:0;padding:0;width:100%}
.c-widget .p-postList .p-postList__item:first-child{border-top:none}
.c-widget .p-postList .p-postList__link{display:block;padding:10px 14px;transition:background .2s}
.c-widget .p-postList .p-postList__link:hover{background:#faf7ef}
.c-widget .p-postList .p-postList__body{padding:0;margin:0}
.c-widget .p-postList .p-postList__title{font-weight:700;font-size:.8rem;line-height:1.55}
#sidebar .c-widget .p-postList__title{font-size:.8rem;line-height:1.55}  /* SWELLの#sidebar指定(ID詳細度)対策 */
.c-widget .p-postList .p-postList__meta{margin-top:2px}
.c-widget .p-postList__date,.c-widget .c-postTimes{font-family:var(--dg-disp);font-size:.68rem;color:var(--dg-muted)}

/* --- 人気記事（ランキング型 -w-ranking）: モックの番号付きランク行 --- */
/* SWELL標準の金銀銅リボンバッジ（.p-postList__item:before, counter:number）は消して自前番号に一本化 */
.c-widget .-w-ranking .p-postList__item::before{content:none}
.c-widget .-w-ranking{counter-reset:dgrank}
.c-widget .-w-ranking .p-postList__item{counter-increment:dgrank}
.c-widget .-w-ranking .p-postList__link{display:grid;grid-template-columns:38px minmax(0,1fr);gap:8px;align-items:center;padding:10px 14px}
.c-widget .-w-ranking .p-postList__link::before{
  content:counter(dgrank);
  font-family:var(--dg-disp);font-weight:700;font-size:1.3rem;line-height:1;
  color:transparent;-webkit-text-stroke:1.5px var(--dg-ink);
}
.c-widget .-w-ranking .p-postList__item:first-child .p-postList__link::before{color:var(--dg-coral);-webkit-text-stroke:0}

/* --- カテゴリーウィジェット: 色ドット付きの行 --- */
.c-widget ul > li.cat-item{list-style:none;border-top:1.5px dashed var(--dg-line);margin:0}
.c-widget ul > li.cat-item:first-child{border-top:none}
.c-widget .cat-item a{display:inline-flex;align-items:center;gap:10px;padding:10px 4px;font-weight:700;font-size:.85rem;color:var(--dg-ink)}
.c-widget .cat-item a::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--dg-muted);flex-shrink:0}
/* カテゴリID→ブランドカラー（prepare=2 rule=3 money=4 housework=5 future=6 breakup=7 relationship=8） */
.c-widget .cat-item-2 a::before{background:#f5a623}
.c-widget .cat-item-3 a::before{background:#8a5cf5}
.c-widget .cat-item-4 a::before{background:#17b26a}
.c-widget .cat-item-5 a::before{background:#3565f0}
.c-widget .cat-item-6 a::before{background:#f04f9b}
.c-widget .cat-item-7 a::before{background:#8a8492}
.c-widget .cat-item-8 a::before{background:#ff5a4e}

/* --- 検索フォーム --- */
.c-searchForm{border:var(--dg-bd);border-radius:999px;overflow:hidden;background:#fff}
.c-searchForm__s{border:none;background:transparent;font-family:var(--dg-body)}
.c-searchForm__submit{background:var(--dg-ink)}
