@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}


/* ===== Cloudss Lab ブランドCSS v1（デザインカンプ準拠 2026-08-30） ===== */
:root {
  --cl-navy: #2f4a63; --cl-sky: #dcecf6; --cl-sky-deep: #9ec5dc;
  --cl-cream: #faf6ee; --cl-coral: #e2704e; --cl-coral-soft: #f3c1ad;
  --cl-gold: #e6b54a; --cl-ink: #3b4a58; --cl-muted: #5f7080; --cl-line: #e9e1d3;
}
body { background: var(--cl-cream); color: var(--cl-ink); }
a { color: var(--cl-navy); } a:hover { color: var(--cl-coral); }
.article { font-size: 16px; line-height: 2.0; }
.entry-title, .article h1 { color: var(--cl-navy); font-weight: 800; }
.article h2 { background: none; border: none; border-bottom: 3px solid var(--cl-sky); color: var(--cl-navy); padding: 0 0 8px; font-weight: 800; border-radius: 0; }
.article h3 { border-left: none; border-top: none; border-right: none; border-bottom: 1px dashed var(--cl-sky-deep); color: var(--cl-navy); padding-left: 0; }
.header-container, .header { background: var(--cl-cream); }
#header { border-bottom: 1px solid #eee4d2; }
.entry-card-wrap, .related-entry-card-wrap, .widget { border: 1px solid var(--cl-line); border-radius: 14px; background: #ffffff; }
.entry-card-wrap { overflow: hidden; }
.article table th { background: var(--cl-navy); color: #ffffff; border-color: var(--cl-navy); }
.article table tr:nth-child(even) td { background: var(--cl-cream); }
.cl-point { background: #eaf3f9; border: 1.5px solid #b9d5e6; border-radius: 14px; padding: 20px 24px; margin: 1.5em 0; }
.cl-caution { background: #fdf1ec; border: 1.5px solid var(--cl-coral-soft); border-radius: 14px; padding: 18px 22px; margin: 1.5em 0; }
.cl-pr { background: #fbf7ec; border: 1px solid #ead9ae; border-radius: 8px; padding: 8px 14px; font-size: 12px; color: #8a6a1f; margin: 0 0 22px; }
.cl-btn-rakuten, .cl-btn-amazon, .cl-btn-yahoo { display: inline-block; color: #ffffff !important; font-weight: 700; font-size: 14px; padding: 11px 22px; border-radius: 8px; text-decoration: none; margin: 4px 6px 4px 0; }
.cl-btn-rakuten { background: #bf0000; } .cl-btn-amazon { background: #e88b00; } .cl-btn-yahoo { background: #ff0033; }
.footer { background: var(--cl-navy); color: #ffffff; }
.footer a { color: #cfdde8; }
.sidebar h3, .widget-title { background: none; color: var(--cl-navy); border-bottom: 2px solid var(--cl-sky); border-radius: 0; }


/* ===== Adobe Fonts: DNP秀英丸ゴシック 見出し用（2026-08-30） =====
   配信: use.typekit.net kit(cloudss-lab)。CC解約時はフォールバック側で表示される */
.site-name-text, .entry-title, .article h1, .article h2, .article h3,
.entry-card-title, .widget-title, .sidebar h3 {
  font-family: dnp-shuei-mgothic-std, "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Yu Gothic", sans-serif;
}


/* ===== サイドバー調整 v2（2026-08-30） ===== */
.sidebar .widget { overflow: hidden; padding: 20px 20px 18px; }
.sidebar h2, .sidebar h3, .sidebar .widget-title {
  background: none; padding: 0 0 8px; margin: 0 0 14px;
  color: var(--cl-navy); font-size: 16px; font-weight: 800;
  border-bottom: 2px solid var(--cl-sky); border-radius: 0;
}
.sidebar ul { padding-left: 0; margin: 0; }
.sidebar li { list-style: none; }
.sidebar .wp-block-search__input { border: 1px solid var(--cl-line); border-radius: 8px 0 0 8px; background: #ffffff; padding: 8px 12px; }
.sidebar .wp-block-search__button { background: var(--cl-navy); color: #ffffff; border: none; border-radius: 0 8px 8px 0; margin-left: 0; padding: 8px 16px; cursor: pointer; }
.sidebar .wp-block-latest-posts li { margin-bottom: 14px; overflow: hidden; }
.sidebar .wp-block-latest-posts__featured-image img { border-radius: 8px; }
.sidebar .wp-block-latest-posts__featured-image.alignleft { margin-right: 10px; }
.sidebar .wp-block-latest-posts a { color: var(--cl-navy); font-weight: 600; font-size: 13.5px; line-height: 1.6; text-decoration: none; }
.sidebar .wp-block-latest-posts a:hover { color: var(--cl-coral); }
.sidebar .wp-block-latest-posts__post-date { font-size: 11px; color: var(--cl-muted); display: block; margin-top: 3px; }
.sidebar .wp-block-categories li { margin-bottom: 6px; }
.sidebar .wp-block-categories li a { color: var(--cl-ink); font-size: 14px; text-decoration: none; }
.sidebar .wp-block-categories li a:hover { color: var(--cl-coral); }
.cl-profile { text-align: center; }
.cl-profile-icon { width: 96px; height: 96px; border-radius: 50%; }
.cl-profile-name { font-family: dnp-shuei-mgothic-std, "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif; font-weight: 700; color: var(--cl-navy); font-size: 17px; margin-top: 10px; }
.cl-profile-desc { font-size: 13px; color: var(--cl-ink); line-height: 1.9; text-align: left; margin-top: 8px; }
.cl-profile-x { display: inline-block; margin-top: 12px; background: var(--cl-navy); color: #ffffff !important; font-size: 13px; font-weight: 700; padding: 9px 26px; border-radius: 999px; text-decoration: none; }
.cl-profile-x:hover { opacity: 0.85; }


/* フッターロゴサイズ */
.footer-site-logo-image { max-height: 64px; width: auto; }


/* 非楽天アフィリ用ボタン */
.cl-btn-shop { display: inline-block; background: var(--cl-navy); color: #ffffff !important; font-weight: 700; font-size: 14px; padding: 11px 22px; border-radius: 8px; text-decoration: none; margin: 4px 6px 4px 0; }
.cl-btn-shop:hover { opacity: 0.85; }

/* ===== note風レイアウト v3（2026-09-03 カンプ準拠・記事本文の読みやすさ優先） =====
   PC: 本文680px + 余白56px + サイドバー320px（サイドバー構成は現状維持）
   2026-09-03 記事105で検証後、全記事へ展開 */
@media screen and (min-width: 1256px) {
  body .wrap { width: 1120px; }
  body .content-in { justify-content: space-between; }
  body .main { width: 744px; padding: 40px 32px 60px; }
  body .sidebar { width: 320px; padding: 8px 0 0; }
}
body .main { background: transparent; border: none; }
body .sidebar { background: transparent; border: none; }
body .sidebar .widget { background: #ffffff; }
body .entry-title { font-size: 32px; line-height: 1.5; font-weight: 900; letter-spacing: .01em; margin: 6px 0 18px; }
body .date-tags { font-size: 13px; color: var(--cl-muted); margin-bottom: 8px; }
body .eye-catch-wrap { margin: 0 0 28px; }
body .eye-catch { margin: 0; border-radius: 12px; overflow: hidden; }
body .eye-catch img { border-radius: 12px; display: block; width: 100%; height: auto; }
body .article { font-size: 18px; }
body .article p,
body .entry-content > p { font-size: 18px; line-height: 2.0; margin-bottom: 1.9em; }
body .article li { line-height: 2.0; }
body .article h2 {
  font-size: 26px; line-height: 1.5; font-weight: 900; color: var(--cl-navy);
  background: none; border: none; border-radius: 0; padding: 0; margin: 56px 0 22px;
}
body .article h2::before {
  content: ""; display: block; width: 36px; height: 4px; background: var(--cl-coral);
  border-radius: 2px; margin-bottom: 14px;
}
body .article h3 { font-size: 20px; line-height: 1.5; font-weight: 800; margin: 40px 0 16px; padding: 0 0 6px; }
body .article table { font-size: 15px; }
body .article table th { padding: 12px 14px; text-align: left; }
body .article table td { padding: 12px 14px; line-height: 1.7; border-bottom: 1px solid var(--cl-line); }
body .cl-point { padding: 22px 26px; margin: 0 0 1.9em; }
body .cl-point li { font-size: 16px; }
body .cl-pr { font-size: 13px; padding: 10px 14px; margin: 0 0 28px; line-height: 1.7; }
body .toc { border-radius: 12px; }
@media screen and (max-width: 480px) {
  body .entry-title { font-size: 22px; padding: 0; margin: 4px 0 12px; }
  body .eye-catch, body .eye-catch img { border-radius: 0; }
  body .eye-catch-wrap { margin: 0 0 18px; }
  body .article p, body .entry-content > p { font-size: 17px; line-height: 1.95; margin-bottom: 1.6em; }
  body .article h2 { font-size: 21px; margin: 40px 0 16px; padding: 0; }
  body .article h3 { font-size: 18px; }
  body .article table { font-size: 13px; }
  body .cl-point { padding: 16px 18px; }
  body .cl-point li { font-size: 15px; line-height: 1.9; }
}

/* ===== v4 追加（2026-09-03 ユーザーFB）: 表を白背景＋罪線に／トップの一覧をnote風カードグリッドに ===== */
body .article table { background: #ffffff; border: 1px solid var(--cl-line); border-collapse: separate; border-spacing: 0; border-radius: 10px; overflow: hidden; }
body .article table th { border: none; }
body .article table td { background: #ffffff; border: none; border-bottom: 1px solid var(--cl-line); }
body .article table tr:nth-child(even) td { background: #f7f3ea; }
body .article table tr:last-child td { border-bottom: none; }
body .list.ect-entry-card { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 24px; row-gap: 30px; }
body .list .entry-card-wrap { border: none; border-radius: 0; background: transparent; overflow: visible; margin: 0; padding: 0; }
body .list .entry-card { line-height: 1.5; }
body .list .entry-card-thumb { float: none; width: 100%; margin: 0 0 12px; border-radius: 12px; overflow: hidden; aspect-ratio: 16 / 9; }
body .list .entry-card-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease; }
body .list .entry-card-wrap:hover .entry-card-thumb img { transform: scale(1.03); }
body .list .entry-card-content { margin-left: 0; padding: 0 2px 28px; }
body .list .entry-card-title { font-size: 16px; line-height: 1.6; font-weight: 800; color: var(--cl-navy); margin: 0 0 8px; -webkit-line-clamp: 3; }
body .list .entry-card-wrap:hover .entry-card-title { color: var(--cl-coral); }
body .list .entry-card-snippet { display: none; }
body .list .entry-card-meta { position: absolute; left: 2px; right: auto; bottom: 6px; text-align: left; font-size: 12px; color: var(--cl-muted); }
body .list .entry-card-categorys { display: none; }
body .list .cat-label { top: 10px; left: 10px; border: none; border-radius: 999px; background: rgba(47, 74, 99, .85); font-size: 11px; padding: 3px 10px; }
body .list .pv-count { display: none; }
@media screen and (max-width: 640px) {
  body .list.ect-entry-card { grid-template-columns: 1fr; gap: 26px; }
  body .list .entry-card-title { font-size: 17px; }
}

/* ===== v5（2026-09-03）: 記事下アクションバー（スキ・シェア・サイトに貼る）。Cocoon標準シェアは非表示 ===== */
body.single-post .sns-share { display: none; }
.cl-actions { position: relative; display: flex; align-items: center; gap: 6px; padding: 18px 0 8px; margin: 8px 0 32px; border-top: 1px solid var(--cl-line); }
.cl-act { display: inline-flex; align-items: center; gap: 6px; background: transparent; border: 1px solid var(--cl-line); border-radius: 999px; padding: 8px 14px 8px 10px; color: var(--cl-muted); font-size: 13px; font-weight: 700; cursor: pointer; line-height: 1; transition: color .15s, border-color .15s, background .15s; }
.cl-act:hover { color: var(--cl-navy); border-color: var(--cl-navy); background: #ffffff; }
.cl-act svg { display: block; }
.cl-act-like.is-on { color: var(--cl-coral); border-color: var(--cl-coral); background: #fdf1ec; }
.cl-act-like.is-on svg path { fill: var(--cl-coral); }
.cl-act-wrap { position: relative; }
.cl-pop { position: absolute; left: 0; top: calc(100% + 8px); min-width: 220px; background: #ffffff; border: 1px solid var(--cl-line); border-radius: 12px; box-shadow: 0 10px 30px rgba(47,74,99,.15); padding: 6px; z-index: 50; }
.cl-pop[hidden] { display: none; }
.cl-pop-item { display: block; width: 100%; text-align: left; background: transparent; border: none; border-radius: 8px; padding: 10px 12px; font-size: 14px; color: var(--cl-ink); text-decoration: none; cursor: pointer; }
.cl-pop-item:hover { background: #f3f7fa; color: var(--cl-navy); }
.cl-pop-item[data-act="copy"] { border-bottom: 1px solid var(--cl-line); border-radius: 8px 8px 0 0; margin-bottom: 4px; }
.cl-act-toast { position: absolute; right: 0; top: 22px; background: var(--cl-navy); color: #ffffff; font-size: 12px; padding: 6px 12px; border-radius: 999px; opacity: 0; transform: translateY(4px); transition: opacity .2s, transform .2s; pointer-events: none; }
.cl-act-toast.is-on { opacity: 1; transform: none; }
.cl-modal { position: fixed; inset: 0; background: rgba(30,40,50,.55); z-index: 10000; display: flex; align-items: center; justify-content: center; padding: 20px; }
.cl-modal[hidden] { display: none; }
.cl-modal-box { background: #ffffff; border-radius: 14px; max-width: 560px; width: 100%; padding: 24px 24px 20px; box-shadow: 0 20px 60px rgba(0,0,0,.25); }
.cl-modal-box h2 { font-size: 18px; margin: 0 0 12px; color: var(--cl-navy); }
.cl-modal-box p { font-size: 14px; line-height: 1.7; margin: 0 0 12px; color: var(--cl-ink); }
.cl-modal-code { width: 100%; font-family: Consolas, Menlo, monospace; font-size: 12px; line-height: 1.6; padding: 12px; border: 1px solid var(--cl-line); border-radius: 8px; background: #faf8f3; color: #333; resize: vertical; }
.cl-modal-btns { display: flex; gap: 10px; justify-content: flex-end; margin-top: 12px; }
.cl-btn-copy, .cl-btn-close { border: none; border-radius: 8px; padding: 10px 18px; font-size: 14px; font-weight: 700; cursor: pointer; }
.cl-btn-copy { background: var(--cl-navy); color: #ffffff; }
.cl-btn-close { background: #eef1f4; color: var(--cl-ink); }
body.cl-modal-open { overflow: hidden; }
@media screen and (max-width: 480px) {
  .cl-act-label { display: none; }
  .cl-act { padding: 10px; }
  .cl-actions { gap: 10px; }
}

/* v5.1: シェアメニューのアイコン */
.cl-pop-item { display: flex; align-items: center; gap: 10px; }
.cl-ico { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; flex: 0 0 26px; }
.cl-ico svg { display: block; }

/* ===== v6（2026-09-03）: WP ULike のスキボタンをアクションバーに統合 ===== */
.cl-actions .cl-ulike { margin: 0; padding: 0; display: inline-flex; }
.cl-actions .cl-ulike .wp_ulike_general_class { display: inline-flex; }
.cl-actions .wp_ulike_btn.cl-act { background-image: none !important; width: auto; height: auto; min-width: 0; box-shadow: none; }
.cl-actions .wp_ulike_btn.cl-act .count-box { font-size: 13px; font-weight: 700; margin-left: 2px; color: inherit; }
.cl-actions .wp_ulike_btn.cl-act .count-box:empty::before { content: "0"; }
.cl-actions .wp_ulike_is_liked .wp_ulike_btn.cl-act { color: var(--cl-coral); border-color: var(--cl-coral); background-color: #fdf1ec; }
.cl-actions .wp_ulike_is_liked .wp_ulike_btn.cl-act svg path { fill: var(--cl-coral); }
.cl-actions .wp_ulike_btn.cl-act.wp_ulike_btn_is_active { opacity: .6; }
.cl-actions .wp_ulike_btn.cl-act:focus { outline: 2px solid var(--cl-sky); outline-offset: 2px; }
/* ULike標準の余白・ツールチップ類を抑える */
.cl-actions .wpulike-default .wp_ulike_general_class { padding: 0; }
.cl-actions .wpulike .wp_ulike_click_is_disabled { pointer-events: none; }
/* 一覧・ランキング: [wp_ulike_top] の見た目 */
.wp_ulike_top_list, .wp-ulike-top-content { list-style: none; padding: 0; margin: 0 0 2em; }

/* v6.1: ULike標準CSSの上書き（詳細度対策） */
.cl-actions .wpulike .wp_ulike_btn.cl-act { display: inline-flex !important; align-items: center !important; gap: 6px !important; width: auto !important; height: auto !important; min-height: 0 !important; padding: 8px 14px 8px 10px !important; border: 1px solid var(--cl-line) !important; border-radius: 999px !important; background: transparent !important; color: var(--cl-muted) !important; font-size: 13px !important; font-weight: 700 !important; line-height: 1 !important; white-space: nowrap !important; margin: 0 !important; box-shadow: none !important; transition: color .15s, border-color .15s, background .15s; }
.cl-actions .wpulike .wp_ulike_btn.cl-act:hover { color: var(--cl-navy) !important; border-color: var(--cl-navy) !important; background: #ffffff !important; }
.cl-actions .wpulike .wp_ulike_is_liked .wp_ulike_btn.cl-act { color: var(--cl-coral) !important; border-color: var(--cl-coral) !important; background: #fdf1ec !important; }
.cl-actions .wpulike .wp_ulike_btn.cl-act .count-box { display: inline !important; background: transparent !important; color: inherit !important; padding: 0 !important; margin: 0 0 0 2px !important; border: none !important; border-radius: 0 !important; position: static !important; font-size: 13px !important; line-height: 1 !important; min-width: 0 !important; box-shadow: none !important; }
.cl-actions .wpulike .wp_ulike_btn.cl-act .count-box::before, .cl-actions .wpulike .wp_ulike_btn.cl-act .count-box::after, .cl-actions .wpulike .wp_ulike_btn.cl-act::before, .cl-actions .wpulike .wp_ulike_btn.cl-act::after { display: none !important; content: none !important; }
.cl-actions .wpulike .wp_ulike_general_class { background: transparent !important; padding: 0 !important; border: none !important; box-shadow: none !important; display: inline-flex !important; }

/* v6.2: ランキング表示の調整と .cl-note の定義 */
.wp-ulike-top-content__heading { display: none; }
.wp-ulike-top-content__empty { font-size: 13px; color: var(--cl-muted); margin: 0 0 8px; }
.wp-ulike-top-content ol, .wp-ulike-top-content ul { list-style: none; padding: 0; margin: 0; }
.wp-ulike-top-content li { display: flex; gap: 10px; align-items: flex-start; padding: 10px 0; border-bottom: 1px solid var(--cl-line); font-size: 14px; line-height: 1.6; }
.wp-ulike-top-content li:last-child { border-bottom: none; }
.wp-ulike-top-content li img { width: 72px; height: 48px; object-fit: cover; border-radius: 6px; flex: 0 0 72px; }
.wp-ulike-top-content li a { color: var(--cl-navy); font-weight: 600; text-decoration: none; }
.wp-ulike-top-content li a:hover { color: var(--cl-coral); }
.article .wp-ulike-top-content li { font-size: 16px; padding: 14px 0; }
.article .wp-ulike-top-content li img { width: 120px; height: 68px; flex-basis: 120px; }
.cl-note, p.cl-note, span.cl-note { font-size: 13px; color: var(--cl-muted); line-height: 1.7; }
span.cl-note { display: block; margin-top: 6px; }
.article p.cl-note { margin-bottom: 1.6em; }

/* ===== v7（2026-09-04）: 一覧カードのスキボタン ===== */
body .list.ect-entry-card > .cl-card { position: relative; min-width: 0; }
body .list .cl-card > .entry-card-wrap { display: block; }
.cl-card-like { position: absolute; right: 2px; bottom: 2px; z-index: 2; }
.cl-card-like .wpulike { margin: 0; padding: 0; display: inline-flex; }
.cl-card-like .wpulike .wp_ulike_general_class { display: inline-flex !important; background: transparent !important; padding: 0 !important; border: none !important; box-shadow: none !important; }
.cl-card-like .wpulike .wp_ulike_btn.cl-card-like-btn { display: inline-flex !important; align-items: center !important; gap: 4px !important; width: auto !important; height: auto !important; min-height: 0 !important; padding: 5px 10px 5px 8px !important; border: 1px solid var(--cl-line) !important; border-radius: 999px !important; background: #ffffff !important; color: var(--cl-muted) !important; font-size: 12px !important; font-weight: 700 !important; line-height: 1 !important; margin: 0 !important; box-shadow: none !important; cursor: pointer; }
.cl-card-like .wpulike .wp_ulike_btn.cl-card-like-btn:hover { color: var(--cl-coral) !important; border-color: var(--cl-coral) !important; }
.cl-card-like .wpulike .wp_ulike_is_liked .wp_ulike_btn.cl-card-like-btn { color: var(--cl-coral) !important; border-color: var(--cl-coral) !important; background: #fdf1ec !important; }
.cl-card-like .wpulike .wp_ulike_is_liked .wp_ulike_btn.cl-card-like-btn svg path { fill: var(--cl-coral); }
.cl-card-like .wpulike .wp_ulike_btn.cl-card-like-btn .count-box { display: inline !important; background: transparent !important; color: inherit !important; padding: 0 !important; margin: 0 !important; border: none !important; position: static !important; font-size: 12px !important; line-height: 1 !important; min-width: 0 !important; box-shadow: none !important; }
.cl-card-like .wpulike .wp_ulike_btn.cl-card-like-btn .count-box::before, .cl-card-like .wpulike .wp_ulike_btn.cl-card-like-btn .count-box::after, .cl-card-like .wpulike .wp_ulike_btn.cl-card-like-btn::before, .cl-card-like .wpulike .wp_ulike_btn.cl-card-like-btn::after { display: none !important; content: none !important; }
.cl-card-like .wpulike .wp_ulike_btn.cl-card-like-btn .count-box:empty::before { content: "0" !important; display: inline !important; }
body .list .entry-card-content { padding-bottom: 34px; }
body .list .entry-card-meta { right: auto; left: 2px; }

/* ===== v8（2026-09-04）designerレビュー反映: アクセシビリティ・整列 ===== */
/* 1-2. ECボタンのコントラスト是正 */
.cl-btn-amazon { background: #e88b00; color: #2b1a00 !important; }
.cl-btn-yahoo { background: #c8102e; }
/* 3. Cocoon標準シェアを全ページで停止 */
body .sns-share, body .sns-follow { display: none !important; }
/* 4. 固定ページ本文の中央揃え解除 */
body.page .article p, body .article .wp-ulike-top-content { text-align: left; }
/* 5. タップ領域44px（SP） */
@media screen and (max-width: 480px) {
  .cl-actions .cl-act, .cl-actions .wpulike .wp_ulike_btn.cl-act { min-height: 44px !important; min-width: 44px; justify-content: center; }
  .cl-card-like .wpulike .wp_ulike_btn.cl-card-like-btn { min-height: 32px !important; padding: 8px 12px !important; }
}
/* 6. 表: 横スクロール＋見出し固定 */
body .article figure.wp-block-table { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--cl-line); border-radius: 10px; margin-bottom: 1.9em; }
body .article figure.wp-block-table table { border: none; border-radius: 0; overflow: visible; margin: 0; min-width: 520px; }
body .article table th { position: sticky; top: 0; z-index: 1; }
/* 7. カード高さ・メタ位置の整列 */
body .list.ect-entry-card > .cl-card { display: flex; flex-direction: column; }
body .list .cl-card > .entry-card-wrap { flex: 1 1 auto; display: flex; flex-direction: column; }
body .list .entry-card-content { flex: 1 1 auto; position: relative; }
body .list .entry-card-meta { position: absolute; bottom: 6px; left: 2px; }
/* 8. コーラルはCTA/スキ専用に温存（H2バーはSky-deep） */
body .article h2::before { background: var(--cl-sky-deep); }
/* 9. Mutedの読みやすさ底上げ（5.71:1） */
:root { --cl-muted: #52646f; }
/* 10-12. SPのファーストビュー整理 */
@media screen and (max-width: 480px) {
  .logo-image img, .header .site-logo-image { max-height: 72px; width: auto; }
  body .toc .toc-list > li > ol { display: none; }
  body .pagination-next { display: none; }
}

/* v8.1: 素の表のスクロールラッパー（JSで付与）とカード内部の縦flex */
body .article .cl-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--cl-line); border-radius: 10px; margin: 0 0 1.9em; background: #ffffff; }
body .article .cl-table-wrap table { border: none; border-radius: 0; overflow: visible; margin: 0; width: 100%; }
@media screen and (max-width: 640px) { body .article .cl-table-wrap table { min-width: 560px; } }
body .list .cl-card .entry-card { display: flex; flex-direction: column; flex: 1 1 auto; height: auto; }
body .list .cl-card .entry-card-thumb { flex: 0 0 auto; }
