/* =====================================================================
   carheart.jp ジャーナル（読みもの）
   記事ページは施工実績（single-ch-works.php）と同じ部品を使い、ここでは一覧と参考情報の部品だけ足す
   ===================================================================== */
.chw .chj-sec,.chw .chj-ref{ margin:0 !important; }

/* タイトル */
.chj-ttl{ padding-block:32px 24px; max-width:860px; gap:16px; }
.chj-lead{ font-size:14px; line-height:2.05; color:var(--chw-sub); letter-spacing:.04em; max-width:42em; }
.chj-art-ttl{ max-width:900px; }
.chj-art-ttl .chw-meta{ font-family:var(--chw-en); font-stretch:112%; font-size:12px; letter-spacing:.1em; color:var(--chw-grey); }

/* まとめページのセクション */
.chj-sec{ padding-block:40px 56px; }
.chj-sec + .chj-sec{ border-top:1px solid var(--chw-line); }

/* カード */
.chj-cards{ display:grid; grid-template-columns:1fr; gap:28px; }
.chw .chj-card{ display:grid; grid-template-columns:120px minmax(0,1fr); gap:16px; align-items:start; color:var(--chw-fg) !important; transition:opacity .2s; }
.chw .chj-card:hover{ opacity:.82; }
.chj-card__ph{ display:block; aspect-ratio:4 / 3; background:var(--chw-ph); overflow:hidden; }
.chj-card__ph img{ width:100% !important; height:100% !important; object-fit:cover; display:block; transition:transform .5s; }
.chj-card:hover .chj-card__ph img{ transform:scale(1.03); }
.chj-card__body{ display:flex; flex-direction:column; gap:6px; }
.chj-card__nm{ font-size:15px; line-height:1.6; letter-spacing:.02em; }
.chj-card__tx{ font-size:12px; line-height:1.8; color:var(--chw-grey); }

/* 参考情報（施工実績・記事ページの下部） */
.chj-ref{ padding-block:64px; border-top:1px solid var(--chw-line); background:var(--chw-surf); }
.chj-ref--art{ background:var(--chw-bg); }

/* 記事本文の補正（AFFINGER の目次やボックスを控えめに） */
.chj-content .st-toc,.chj-content #toc_container,.chj-content .toc{ display:none !important; }
.chj-content table{ width:100%; border-collapse:collapse; margin:24px 0; font-size:14px; }
.chj-content table th,.chj-content table td{ border:0 !important; border-bottom:1px solid var(--chw-line) !important; padding:12px 10px !important; text-align:left; background:none !important; vertical-align:top; line-height:1.7; }
.chj-content table th{ font-weight:500 !important; color:var(--chw-sub) !important; white-space:nowrap; width:1%; }
.chj-content table thead th{ border-bottom:1px solid var(--chw-fg) !important; color:var(--chw-fg) !important; }
.chj-content .st-box-btn,.chj-content .st-mcbtn-box{ border:1px solid var(--chw-line) !important; background:var(--chw-surf) !important; box-shadow:none !important; border-radius:0 !important; }
.chj-content a.st-cardbox,.chj-content .st-cardbox{ border:1px solid var(--chw-line) !important; box-shadow:none !important; border-radius:0 !important; }

/* ---- 本文に残る AFFINGER のパーツを現行デザインに寄せる ---- */
/* ボタン（.st-mybtn） */
.chj-content .st-mybtn{ display:inline-block !important; width:auto !important; max-width:100% !important; margin:16px 8px 16px 0 !important; padding:0 !important; background:var(--chw-bg) !important; background-image:none !important; border:1px solid var(--chw-fg) !important; border-radius:2px !important; box-shadow:none !important; animation:none !important; text-align:center; }
.chj-content .st-mybtn a{ display:block !important; padding:14px 24px !important; background:transparent !important; color:var(--chw-fg) !important; font-family:var(--chw-jp) !important; font-size:13px !important; font-weight:400 !important; letter-spacing:.1em !important; text-decoration:none !important; text-shadow:none !important; box-shadow:none !important; border:0 !important; line-height:1.6 !important; transition:background .2s,color .2s; }
.chj-content .st-mybtn:hover{ background:var(--chw-fg) !important; }
.chj-content .st-mybtn:hover a{ color:var(--chw-bg) !important; }
.chj-content .st-mybtn-mini{ margin:6px 6px 6px 0 !important; }
.chj-content .st-mybtn-mini a{ padding:8px 14px !important; font-size:12px !important; letter-spacing:.06em !important; }
.chj-content .st-mybtn::before,.chj-content .st-mybtn::after,.chj-content .st-reflection::before,.chj-content .st-reflection::after,.chj-content .st-mybtn a::before,.chj-content .st-mybtn a::after{ display:none !important; content:none !important; }
.chj-content .st-mybtn .st-fa{ display:none !important; }
/* 末尾のCTA（.st-mcbtn-box） */
.chj-content .st-mcbtn-box{ margin:40px 0 !important; padding:28px 24px !important; background:var(--chw-surf) !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; text-align:center; }
.chj-content .st-mcbtn-box .st-mcbox-title{ font-family:var(--chw-jp) !important; font-size:16px !important; font-weight:500 !important; letter-spacing:.04em !important; color:var(--chw-fg) !important; margin:0 0 16px !important; background:none !important; }
.chj-content .st-mcbtn-box .st-mcbox-text{ font-size:12px !important; color:var(--chw-grey) !important; margin:12px 0 0 !important; }
.chj-content .st-mcbtn-box .st-mybtn{ margin:0 auto !important; }
/* 囲み（.st-mybox） */
.chj-content .st-mybox{ margin:28px 0 !important; padding:0 !important; background:var(--chw-bg) !important; border:1px solid var(--chw-line) !important; border-width:1px !important; border-radius:0 !important; box-shadow:none !important; }
.chj-content .st-mybox::before,.chj-content .st-mybox::after{ display:none !important; content:none !important; }
.chj-content .st-mybox .st-mybox-title{ position:static !important; transform:none !important; display:block !important; width:auto !important; text-shadow:none !important; margin:0 !important; padding:12px 20px !important; background:var(--chw-surf) !important; border:0 !important; border-bottom:1px solid var(--chw-line) !important; border-radius:0 !important; color:var(--chw-fg) !important; font-family:var(--chw-jp) !important; font-size:13px !important; font-weight:500 !important; letter-spacing:.06em !important; line-height:1.6 !important; }
.chj-content .st-mybox .st-mybox-title .st-fa{ color:var(--chw-wine) !important; margin-right:6px; }
.chj-content .st-mybox .st-in-mybox{ margin:0 !important; padding:18px 20px !important; font-size:14px; line-height:1.9; color:var(--chw-sub); }
.chj-content .st-mybox .st-in-mybox > :last-child{ margin-bottom:0 !important; }
/* ステップ見出し（.st-step-title の中に「step 1」の箱） */
.chj-content .st-step-title{ display:flex !important; align-items:baseline; gap:14px; margin:36px 0 12px !important; padding:0 0 10px !important; background:none !important; border:0 !important; border-bottom:1px solid var(--chw-line) !important; color:var(--chw-fg) !important; font-family:var(--chw-jp) !important; font-size:17px !important; font-weight:500 !important; letter-spacing:.04em !important; line-height:1.6 !important; }
.chj-content .st-step-box{ position:static !important; top:auto !important; left:auto !important; display:inline-flex !important; flex:none; margin:0 !important; padding:0 !important; background:none !important; border:0 !important; box-shadow:none !important; width:auto !important; height:auto !important; }
.chj-content .st-step{ position:static !important; display:inline-flex !important; align-items:baseline; gap:5px; margin:0 !important; padding:0 !important; background:none !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; width:auto !important; height:auto !important; font-family:var(--chw-en) !important; font-stretch:112%; font-size:11px !important; font-weight:600 !important; letter-spacing:.16em !important; text-transform:uppercase; color:var(--chw-wine) !important; line-height:1 !important; }
.chj-content .st-step br{ display:none !important; }
.chj-content .st-step-no{ display:inline !important; font-family:var(--chw-en) !important; font-size:15px !important; font-weight:500 !important; letter-spacing:.02em !important; color:var(--chw-wine) !important; background:none !important; border:0 !important; padding:0 !important; margin:0 !important; width:auto !important; height:auto !important; line-height:1 !important; }
/* 画像リンクの並び（.st-box-btn）とカードリンク（.st-cardlink） */
.chj-content ul.st-box-btn{ display:grid !important; grid-template-columns:1fr 1fr; gap:14px !important; margin:28px 0 !important; padding:0 !important; list-style:none; }
.chj-content ul.st-box-btn li{ margin:0 !important; padding:0 !important; border:1px solid var(--chw-line) !important; border-radius:0 !important; box-shadow:none !important; background:var(--chw-bg) !important; transition:border-color .2s; }
.chj-content ul.st-box-btn li:hover{ border-color:var(--chw-fg) !important; }
.chj-content ul.st-box-btn li a{ display:flex !important; flex-direction:column; background:none !important; color:var(--chw-fg) !important; border:0 !important; text-decoration:none !important; }
.chj-content ul.st-box-btn li img{ width:100% !important; aspect-ratio:3 / 2; object-fit:cover; display:block; border-radius:0 !important; margin:0 !important; }
.chj-content .st-box-btn-text-wrap{ padding:12px 14px 14px !important; }
.chj-content .st-box-btn-text{ font-size:13px !important; font-weight:400 !important; letter-spacing:.03em; line-height:1.6; color:var(--chw-fg) !important; margin:0 !important; }
.chj-content .st-box-btn-memo{ font-size:11px !important; color:var(--chw-grey) !important; margin:4px 0 0 !important; letter-spacing:.04em; }
.chj-content .st-cardlink,.chj-content a.st-cardlink{ border:1px solid var(--chw-line) !important; border-radius:0 !important; box-shadow:none !important; background:var(--chw-bg) !important; }
/* 小さなふきだし（.st-minihukidashi） */
.chj-content .st-minihukidashi{ display:inline-block !important; padding:4px 12px !important; background:var(--chw-fg) !important; color:var(--chw-bg) !important; border-radius:2px !important; font-size:12px !important; letter-spacing:.06em !important; font-weight:400 !important; }
.chj-content .st-minihukidashi-arrow,.chj-content .st-minihukidashi::before,.chj-content .st-minihukidashi::after{ display:none !important; }
.chj-content .st-minihukidashi .st-fa{ color:var(--chw-rose) !important; margin-right:6px; }
/* メモ（.st-memobox2） */
.chj-content .st-memobox2{ margin:28px 0 !important; padding:18px 20px !important; background:var(--chw-surf) !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; font-size:14px; line-height:1.9; color:var(--chw-sub); }
.chj-content .st-memobox2 .st-memobox-title{ display:block; margin:0 0 8px !important; font-family:var(--chw-jp) !important; font-size:13px !important; font-weight:500 !important; letter-spacing:.06em; color:var(--chw-fg) !important; background:none !important; border:0 !important; padding:0 !important; }
.chj-content .st-memobox2 .st-memobox-title .st-fa{ color:var(--chw-wine) !important; margin-right:6px; }
/* マーカー（.st-mymarker-s）とアイコン */
.chj-content .st-mymarker-s{ background:linear-gradient(transparent 62%, rgba(110,43,73,.16) 62%) !important; font-weight:400 !important; }
.chj-content .st-fa{ color:inherit; }
/* ====================== PC ====================== */
@media (min-width:960px){
  .chj-ttl{ padding-block:48px 40px; gap:20px; }
  .chj-lead{ font-size:15px; }
  .chj-sec{ padding-block:64px 88px; }
  .chj-cards{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 28px; }
  .chj-cards--3{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 28px; }
  .chw .chj-card{ grid-template-columns:1fr; gap:14px; }
  .chj-card__ph{ aspect-ratio:3 / 2; }
  .chj-card__nm{ font-size:16px; }
  .chj-card__tx{ font-size:13px; }
  .chj-ref{ padding-block:112px; }
  .chj-content ul.st-box-btn{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px !important; }
}
