/*
 * 電気代チェック サイト全体のCSS（プラグイン dkc-site）
 * 元：docs/hp/05_design.md、docs/hp/mock/top.html の <style> 前半
 * 並び：①変数 ②全体 ③Cocoonの上書き ④自作パーツ（.dkc-*・.hk-pr） ⑤768px／1024px
 * 決まり：ツール（.dks）の中には効かせない。本文の見出し・表は .entry-content の直下で指定する。
 * 外部の @import・Webフォント・CDN は使わない。
 */

/* ① 変数 ---------------------------------------------------------- */
:root {
  --dkc-main: #2f5d62;        /* ツールの主色と同じ */
  --dkc-main-dark: #22464a;
  --dkc-main-pale: #eef4f3;
  --dkc-main-line: #b9d0cd;
  --dkc-accent: #c98a2b;      /* 線・飾り専用。文字には使わない */
  --dkc-accent-text: #8a5a12; /* アクセントを文字に使うとき */
  --dkc-caution-bg: #fff8ec;
  --dkc-caution-line: #e6c793;
  --dkc-bg: #f6f7f5;
  --dkc-line: #d5dad6;
  --dkc-text: #333333;
  --dkc-sub: #5f6b66;
  --dkc-white: #ffffff;
  --dkc-focus: #8fb7b3;
  --dkc-error: #a3361f;
  --dkc-footer-sub: #dbe6e4;
  --dkc-font: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Meiryo", sans-serif;
  --dkc-radius: 6px;
  --dkc-text-width: 720px;
}

/* ② 全体 ---------------------------------------------------------- */
body {
  color: var(--dkc-text);
  font-family: var(--dkc-font);
  overflow-wrap: anywhere;
}
.entry-content {
  font-size: 16px;
  line-height: 1.8;
}
.entry-content a:not([class]),
.dkc-notes a,
.dkc-source-links a,
.dkc-market a,
.dkc-next-box a,
.dkc-byline a,
.dkc-note-box a {
  color: var(--dkc-main);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.entry-content a:not([class]):hover { color: var(--dkc-main-dark); }
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--dkc-focus);
  outline-offset: 2px;
}

/* ③ Cocoon の上書き ------------------------------------------------ */

/* 見出し（05 7-8）。.dks の中の見出しには効かせないため直下だけ */
.article .entry-content > h2,
.article .entry-content h2.dkc-h2,
.article .entry-content > h2.dkc-related-h {
  margin: 40px 0 12px;
  padding: 0 0 8px;
  background: none;
  border: 0;
  border-bottom: 2px solid var(--dkc-main);
  border-radius: 0;
  color: var(--dkc-text);
  font-size: 20px;
  line-height: 1.5;
  font-weight: 700;
  word-break: auto-phrase;
}
.article .entry-content h2.dkc-h2 { margin-top: 0; }
.article .entry-content > h3 {
  margin: 32px 0 12px;
  padding: 0 0 0 10px;
  background: none;
  border: 0;
  border-left: 4px solid var(--dkc-main);
  border-radius: 0;
  color: var(--dkc-text);
  font-size: 18px;
  line-height: 1.5;
  font-weight: 700;
  word-break: auto-phrase;
}
.article h1.entry-title {
  font-size: 22px;
  line-height: 1.45;
  word-break: auto-phrase;
}
.home .article h1.entry-title,
.front-page .article h1.entry-title { font-size: 24px; }

/* 表（05 7-9）。横スクロールにしない */
.entry-content > table,
.entry-content > .scrollable-table > table,
.dkc-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--dkc-white);
  font-size: 15px;
  line-height: 1.6;
}
.entry-content > .scrollable-table { overflow-x: visible; }
/* th・td にも文字の大きさを書く（Cocoon はスマホで `table th, table td` に小さい文字を指定するため。07 中4） */
.entry-content > table th,
.entry-content > table td,
.entry-content > .scrollable-table > table th,
.entry-content > .scrollable-table > table td,
.entry-content > .wp-block-table > table th,
.entry-content > .wp-block-table > table td,
.dkc-table th,
.dkc-table td {
  font-size: 15px;
  line-height: 1.6;
  padding: 10px 8px;
  border: 1px solid var(--dkc-line);
  text-align: left;
  vertical-align: top;
}
.entry-content > table thead th,
.entry-content > .scrollable-table > table thead th,
.dkc-table thead th {
  background: var(--dkc-main-pale);
  color: var(--dkc-text);
  font-weight: 700;
}
.entry-content > table tbody tr:nth-of-type(2n+1),
.entry-content > .scrollable-table > table tbody tr:nth-of-type(2n+1) { background: var(--dkc-white); }
/* 1列目が短い表（トップの世帯人数など）だけ折り返さない */
.dkc-table-short thead th:first-child,
.dkc-table-short th[scope="row"] { white-space: nowrap; }
.dkc-table th[scope="row"] { font-weight: 700; }
.dkc-table td.num { text-align: right; white-space: nowrap; font-weight: 700; }
/* 運営会社などの2列の表：左は項目名 */
.dkc-table-kv th[scope="row"] { width: 7em; background: var(--dkc-main-pale); font-weight: 700; white-space: normal; }

/* パンくず（05 7-12） */
.breadcrumb {
  font-size: 14px;
  line-height: 1.7;
  color: var(--dkc-sub);
}
.breadcrumb a { color: var(--dkc-sub); }

/* 日付・投稿者（更新日だけ。05 8-4） */
.date-tags { font-size: 14px; color: var(--dkc-sub); }

/* 目次（05 8-4） */
.toc {
  background: var(--dkc-white);
  border: 1px solid var(--dkc-line);
  border-radius: var(--dkc-radius);
  font-size: 15px;
}
.toc a { color: var(--dkc-text); }

/* 一覧・関連記事のカード（05 7-11、8-3） */
.entry-card-wrap,
.related-entry-card-wrap {
  background: var(--dkc-white);
  border: 1px solid var(--dkc-line);
  border-radius: var(--dkc-radius);
  color: var(--dkc-text);
}
.entry-card-wrap:hover,
.related-entry-card-wrap:hover {
  border-color: var(--dkc-main);
  background: var(--dkc-white);
}
.entry-card-title,
.related-entry-card-title {
  font-size: 15px;
  line-height: 1.6;
  font-weight: 700;
}
.entry-card-snippet { font-size: 14px; color: var(--dkc-sub); }

/* フッター（色は Cocoon の設定で #22464a・白。ここでは文字とリンクだけ） */
#footer,
.footer {
  font-size: 14px;
  line-height: 1.7;
}
#footer a,
.footer a { text-decoration: underline; }
.dkc-footer-note,
.footer .copyright { color: var(--dkc-footer-sub); font-size: 14px; }

/* ヘッダーの小ボタン（メニュー項目の CSS クラスに dkc-header-cta を付ける。05 6-1・7-2） */
.dkc-header-cta > a,
a.dkc-header-cta {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid var(--dkc-main);
  border-radius: var(--dkc-radius);
  background: var(--dkc-white);
  color: var(--dkc-main);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
  white-space: nowrap;
}
.dkc-header-cta > a:hover,
a.dkc-header-cta:hover { background: var(--dkc-main-pale); color: var(--dkc-main); }
/* グローバルメニューの中：Cocoon の `#navi .navi-in a`（色・幅100%・高さ100%）に勝たせる（07 軽6） */
#navi .navi-in > ul > li.dkc-header-cta {
  display: flex;
  align-items: center;
  width: auto;
  margin-left: 8px;
}
#navi .navi-in .dkc-header-cta > a {
  width: auto;
  height: auto;
  color: var(--dkc-main);
}
#navi .navi-in .dkc-header-cta > a:hover {
  background: var(--dkc-main-pale);
  color: var(--dkc-main);
}
body.dkc-no-header-cta .dkc-header-cta { display: none !important; }

/* 記事のカテゴリー・タグのラベル（Cocoon 既定 12px → 14px。05 4-2・07 軽7） */
.entry-categories-tags .cat-link,
.entry-categories-tags .tag-link { font-size: 14px; }

/* フッターの並び：メニュー → 運営 → 注意書き → ©（05 7-3・07 軽5）
   Cocoon はウィジェット → フッターボトム（メニュー＋©）の順で出すため、ボトムの箱を外して並べ替える */
#footer-in {
  display: flex;
  flex-direction: column;
}
#footer-in > .footer-bottom,
#footer-in > .footer-bottom > .footer-bottom-content { display: contents; }
#footer-in .footer-bottom-logo { display: none; }
#footer-in .navi-footer { order: 1; margin-top: 24px; }
#footer-in > .footer-widgets,
#footer-in > .footer-widgets-mobile { order: 2; margin-top: 16px; }
#footer-in .footer-bottom-content > .copyright {
  order: 3;
  margin: 8px 0 0;
  padding: 8px;
  text-align: center;
}

/* スマホのヘッダー（1023px以下＝Cocoon がモバイル用の帯を出す幅。05 7-2・07 中1・中2）
   - 上の帯（メニュー／ロゴ／検索）だけを使う
   - その下に出る3段のメニュー（ul.menu-mobile）と、帯と重なるロゴの段は出さない
   - 帯は固定しない（05 7-2「固定（追従）しません」）。表示の位置は Cocoon と同じまま */
@media (max-width: 1023px) {
  body #navi .navi-in > .menu-mobile { display: none; }
  body:where(.mblt-header-mobile-buttons, .mblt-header-and-footer-mobile-buttons) #header-container { display: none; }
  body .mobile-header-menu-buttons { position: absolute; }
}

/* スマホのフッターメニュー：縦に並べ、1行44px・区切り線（05 7-3） */
@media (max-width: 767px) {
  #footer .navi-footer-in > .menu-footer { flex-direction: column; }
  #footer .navi-footer-in > .menu-footer li {
    width: 100%;
    border: 0;
    border-bottom: 1px solid var(--dkc-main);
  }
  #footer .navi-footer-in > .menu-footer li:last-child { border-right: 0; }
  #footer .navi-footer-in a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
  }
}

/* ④ 自作パーツ ------------------------------------------------------ */

/* 広告表記 hk-pr（05 7-4。class 名は変えない） */
.hk-pr {
  margin: 12px 0 16px;
  padding: 6px 10px;
  background: var(--dkc-bg);
  border: 1px solid var(--dkc-line);
  border-radius: 4px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--dkc-sub);
}
.hk-pr a { color: var(--dkc-sub); margin-left: .5em; text-decoration: underline; }

/* トップ：導入・安心の1行・出典の1行 */
.dkc-hero-lead { margin: 0 0 8px; font-size: 16px; }
.dkc-safe {
  display: flex;
  gap: 6px;
  align-items: flex-start;
  margin: 0 0 12px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--dkc-sub);
}
.dkc-safe::before {
  content: "";
  flex: 0 0 auto;
  width: 14px;
  height: 14px;
  margin-top: 3px;
  border: 2px solid var(--dkc-main);
  border-radius: 50%;
  background: radial-gradient(circle, var(--dkc-main) 0 2px, transparent 3px);
}
.entry-content .dks { margin-top: 12px; margin-bottom: 12px; }
.dkc-source-line { margin: 0 0 4px; font-size: 14px; line-height: 1.7; color: var(--dkc-sub); }
.dkc-source-links { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 0; font-size: 14px; }

/* トップのセクション */
.dkc-section { padding: 40px 0 0; }
.dkc-section.is-tint {
  margin-top: 40px;
  padding: 24px 16px;
  background: var(--dkc-bg);
  border-radius: var(--dkc-radius);
}
.dkc-section.is-tint + .dkc-section.is-tint { margin-top: 0; padding-top: 0; border-radius: 0 0 var(--dkc-radius) var(--dkc-radius); }
.dkc-section-lead { margin: 0 0 16px; max-width: var(--dkc-text-width); }

/* 記事カード（トップ・[dkc_cards]） */
.entry-content .dkc-cards {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.entry-content .dkc-cards > li { margin: 0; padding: 0; list-style: none; }
.entry-content .dkc-cards > li::before { content: none; }
.dkc-card {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 76px;
  padding: 10px;
  background: var(--dkc-white);
  border: 1px solid var(--dkc-line);
  border-radius: var(--dkc-radius);
  color: var(--dkc-text);
  text-decoration: none;
}
.dkc-card:hover { border-color: var(--dkc-main); color: var(--dkc-text); }
.dkc-card img {
  display: block;
  width: 112px;
  max-width: 100%;
  height: auto;
  aspect-ratio: 1200 / 630;
  object-fit: cover;
  border-radius: 4px;
  margin: 0;
}
.dkc-card-title { font-size: 15px; line-height: 1.6; font-weight: 700; }
.dkc-card-missing { display: block; color: var(--dkc-error); font-size: 14px; }

/* 補足の枠（節約額を出さない理由） */
.dkc-note-box {
  margin: 20px 0 0;
  max-width: var(--dkc-text-width);
  padding: 12px 14px;
  background: var(--dkc-white);
  border: 1px solid var(--dkc-line);
  border-left: 4px solid var(--dkc-accent);
  border-radius: 0 var(--dkc-radius) var(--dkc-radius) 0;
  font-size: 15px;
}
.dkc-note-box p:last-child { margin-bottom: 0; }

/* 注記（05 7-10）。※で始め、2行目以降はぶら下げ */
.entry-content .dkc-notes {
  margin: 8px 0 20px;
  padding: 0;
  list-style: none;
  font-size: 14px;
  line-height: 1.7;
  color: var(--dkc-sub);
}
.entry-content .dkc-notes > li { margin: 0; padding-left: 1em; text-indent: -1em; list-style: none; }
.entry-content .dkc-notes > li::before { content: none; }
.dkc-note { font-size: 14px; line-height: 1.7; color: var(--dkc-sub); }

/* FAQ（開閉式にしない） */
.dkc-faq { margin: 0; }
.dkc-faq-item { padding: 16px 0; border-bottom: 1px solid var(--dkc-line); }
.dkc-faq-item:first-child { padding-top: 0; }
.dkc-faq dt {
  position: relative;
  margin: 0 0 6px;
  padding-left: 2em;
  font-weight: 700;
  line-height: 1.6;
}
.dkc-faq dd { position: relative; margin: 0; padding-left: 2em; }
.dkc-faq dt::before,
.dkc-faq dd::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 1.5em;
  text-align: center;
  font-weight: 700;
}
.dkc-faq dt::before { content: "Q"; color: var(--dkc-main); }
.dkc-faq dd::before { content: "A"; color: var(--dkc-accent-text); }
.dkc-faq dd p { margin: 0 0 4px; }

/* 一覧へのリンク（このサイトについて・/simulator/ の「あわせて確かめる」） */
.entry-content .dkc-trust-links {
  display: grid;
  gap: 8px;
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}
.entry-content .dkc-trust-links > li { margin: 0; padding: 0; list-style: none; }
.entry-content .dkc-trust-links > li::before { content: none; }
.dkc-trust-links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 48px;
  padding: 10px 14px;
  background: var(--dkc-white);
  border: 1px solid var(--dkc-line);
  border-radius: var(--dkc-radius);
  color: var(--dkc-text);
  font-weight: 700;
  text-decoration: none;
}
.dkc-trust-links a::after {
  content: "";
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  margin-left: 12px;
  border-top: 2px solid var(--dkc-main);
  border-right: 2px solid var(--dkc-main);
  transform: rotate(45deg);
}
.dkc-trust-links a:hover { border-color: var(--dkc-main); color: var(--dkc-text); }

/* ツール案内 [dkc_tool_cta]（05 7-5）。広告ではない：薄い青緑の面＋実線 */
.dkc-tool-cta {
  margin: 24px 0;
  padding: 16px;
  background: var(--dkc-main-pale);
  border: 1px solid var(--dkc-main-line);
  border-radius: 8px;
}
.dkc-tool-cta-title {
  margin: 0 0 8px;
  color: var(--dkc-main-dark);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
}
.dkc-tool-cta-text { margin: 0 0 12px; font-size: 15px; }
.dkc-btn,
.entry-content a.dkc-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 48px;
  padding: 12px 16px;
  background: var(--dkc-main);
  border: 1px solid var(--dkc-main);
  border-radius: var(--dkc-radius);
  color: var(--dkc-white);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
}
.dkc-btn::after {
  content: "";
  width: 7px;
  height: 7px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
}
.dkc-btn:hover,
.entry-content a.dkc-btn:hover { background: var(--dkc-main-dark); color: var(--dkc-white); }
.dkc-tool-cta-note { margin: 8px 0 0; font-size: 14px; color: var(--dkc-sub); text-align: center; }
/* サイドバーに置いたとき */
.sidebar .dkc-tool-cta { margin: 0 0 16px; }

/* 市場連動型の案内枠（05 7-6）・注意の枠（お問い合わせの送信前） */
.dkc-market,
.dkc-caution {
  margin: 24px 0;
  padding: 14px 16px;
  background: var(--dkc-caution-bg);
  border: 1px solid var(--dkc-caution-line);
  border-radius: var(--dkc-radius);
}
.dkc-market-title,
.dkc-caution-title { margin: 0 0 6px; font-weight: 700; }
.dkc-market p:last-child,
.dkc-caution p:last-child,
.dkc-caution ul:last-child { margin-bottom: 0; }

/* 次へ・平均の記事の案内（白地・1px枠。ボタンにしない） */
.dkc-next-box {
  margin: 24px 0;
  padding: 14px 16px;
  background: var(--dkc-white);
  border: 1px solid var(--dkc-line);
  border-radius: var(--dkc-radius);
}
.dkc-next-box-title { margin: 0 0 6px; font-weight: 700; }
.dkc-next-box p:last-child { margin-bottom: 0; }
.entry-content .dkc-inline-links,
.dkc-inline-links {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.dkc-inline-links > li { margin: 0; padding: 0; list-style: none; }
.dkc-inline-links > li::before { content: none; }
.dkc-category-next { margin-top: 24px; }

/* 執筆・運営の表記（05 7-7） */
.dkc-byline {
  margin: 24px 0;
  padding: 12px 14px;
  background: var(--dkc-white);
  border: 1px solid var(--dkc-line);
  border-radius: var(--dkc-radius);
  font-size: 15px;
  line-height: 1.7;
}
.dkc-byline p { margin: 0 0 4px; }
.dkc-byline p:last-child { margin-bottom: 0; }

/* 最終更新日など、H1 の下の小さい行 */
.dkc-updated { font-size: 14px; color: var(--dkc-sub); }

/* ［要確認］の目印（下書きの確認用。値が入るまで公開しない） */
.dkc-todo {
  padding: 0 4px;
  background: var(--dkc-caution-bg);
  outline: 2px dashed var(--dkc-accent);
  outline-offset: 1px;
}

/* お問い合わせフォーム（Contact Form 7。05 7-13） */
.wpcf7 .dkc-field { margin: 0 0 20px; }
.wpcf7 .dkc-field > label,
.wpcf7 .dkc-label { display: block; margin: 0 0 6px; font-weight: 700; }
.dkc-req,
.dkc-opt {
  display: inline-block;
  margin-left: 8px;
  padding: 0 6px;
  border: 1px solid var(--dkc-sub);
  border-radius: 4px;
  color: var(--dkc-sub);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  vertical-align: middle;
}
.dkc-help { display: block; margin: 0 0 6px; font-size: 14px; color: var(--dkc-sub); font-weight: 400; }
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 select,
.wpcf7 textarea {
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid var(--dkc-line);
  border-radius: var(--dkc-radius);
  background: var(--dkc-white);
  color: var(--dkc-text);
  font-size: 16px;
  line-height: 1.6;
}
.wpcf7 textarea { min-height: 160px; }
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus { border-color: var(--dkc-main); outline: 3px solid var(--dkc-focus); outline-offset: 0; }
.wpcf7 .wpcf7-list-item { margin: 0; }
/* ラジオ・同意のチェック：ラベル全体を押せる 44px の行にし、印を 22px にする（07 軽2） */
.wpcf7 .wpcf7-radio,
.wpcf7 .wpcf7-acceptance { display: block; }
.wpcf7 .wpcf7-radio .wpcf7-list-item { display: block; }
.wpcf7 .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 4px 0;
  cursor: pointer;
}
.wpcf7 input[type="radio"],
.wpcf7 input[type="checkbox"] {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  margin: 0;
  accent-color: var(--dkc-main);
  cursor: pointer;
}
/* 同意の行：チェックとリンクの文を同じ行に（acceptance の中身は label の中に入る） */
.wpcf7 .wpcf7-acceptance .wpcf7-list-item-label { line-height: 1.6; }
.wpcf7 .wpcf7-not-valid { border-color: var(--dkc-error); }
.wpcf7 .wpcf7-not-valid-tip { margin-top: 4px; color: var(--dkc-error); font-size: 14px; }
.wpcf7 input[type="submit"],
.wpcf7 .wpcf7-submit {
  width: 100%;
  min-height: 48px;
  padding: 12px 16px;
  background: var(--dkc-main);
  border: 1px solid var(--dkc-main);
  border-radius: var(--dkc-radius);
  color: var(--dkc-white);
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
}
.wpcf7 input[type="submit"]:hover,
.wpcf7 .wpcf7-submit:hover { background: var(--dkc-main-dark); }
.wpcf7 form .wpcf7-response-output {
  margin: 16px 0 0;
  padding: 10px 12px;
  border-radius: var(--dkc-radius);
  font-size: 15px;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output { border-color: var(--dkc-error); color: var(--dkc-error); }
.wpcf7 form.sent .wpcf7-response-output { border-color: var(--dkc-main); color: var(--dkc-text); }

/* ⑤ 768px 以上 ------------------------------------------------------ */
@media (min-width: 768px) {
  .article .entry-content > h2,
  .article .entry-content h2.dkc-h2,
  .article .entry-content > h2.dkc-related-h { font-size: 24px; margin-bottom: 16px; }
  .article .entry-content h2.dkc-h2 { margin-top: 0; }
  .article .entry-content > h3 { font-size: 20px; }
  .article h1.entry-title { font-size: 28px; }
  .home .article h1.entry-title,
  .front-page .article h1.entry-title { font-size: 30px; }
  .dkc-section { padding-top: 56px; }
  .dkc-section.is-tint { margin-top: 56px; padding: 32px 24px; }
  .dkc-section.is-tint + .dkc-section.is-tint { margin-top: 0; padding-top: 0; }
  .entry-content .dkc-cards { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 16px; }
  .dkc-card { grid-template-columns: 1fr; align-items: start; padding: 0; overflow: hidden; }
  .dkc-card img { width: 100%; border-radius: 0; }
  .dkc-card-title { padding: 0 14px 14px; font-size: 16px; }
  .entry-content .dkc-trust-links:not(.dkc-trust-links-list) { grid-template-columns: repeat(3, 1fr); gap: 12px; }
  .dkc-btn,
  .entry-content a.dkc-btn { width: auto; min-width: 280px; max-width: 100%; margin: 0 auto; }
  .dkc-tool-cta { padding: 20px 24px; }
  .sidebar .dkc-tool-cta { padding: 16px; }
  .sidebar .dkc-btn { width: 100%; min-width: 0; }
  .wpcf7 input[type="submit"],
  .wpcf7 .wpcf7-submit { width: auto; min-width: 280px; }
}

/* ⑥ 1024px 以上：PC のヘッダー（05 7-2：高さ72px・下に1pxの線。07 軽6） */
@media (min-width: 1024px) {
  #header-container .header-container-in.hlt-top-menu { min-height: 72px; }
  #header-container { border-bottom: 1px solid var(--dkc-line); }
}
