/* ==========================================================================
   ポイ活ライフ v2（アンバー・デザインシステム）
   正本: docs/design-impl/dc-src/*.dc.html（Claude Design handoff）
   スコープ: body.pkn-v2 配下のみ（恒久namespace・v1ページ非干渉）
   レスポンシブ: dcプロトタイプの renderVals(isDesktop=min-width:900px) を @media に翻訳
   ========================================================================== */

body.pkn-v2 {
  /* ---- tokens（design-spec / dc-src :root 準拠） ---- */
  --amber: #FFB300; --amber-deep: #FFA000; --champagne: #FFF8E1;
  --gold-line: #FFECB3; --gold-hi: #FFE7A6; --gold: #F3D24A;
  --espresso: #4E342E; --brown-ink: #3E2723; --ivory: #FFFCF2;
  --coral: #E85D4E; --coral-deep: #C74334; --coral-tint: #FDECE9;
  --muted: #8A7F6F; --line: #ECE2CF; --line-2: #F4EDE0;
  --ok: #3AA76D; --down: #B0563F;
  --disp: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", sans-serif;
  --v2body: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;

  background: #F0E9DB;
  color: var(--brown-ink);
  font-family: var(--v2body);
  line-height: 1.65;
  font-variant-numeric: tabular-nums;
  -webkit-font-smoothing: antialiased;
}
body.pkn-v2 b, body.pkn-v2 strong,
body.pkn-v2 h1, body.pkn-v2 h2, body.pkn-v2 h3, body.pkn-v2 h4 { font-family: var(--disp); }
body.pkn-v2 a { color: var(--amber-deep); text-decoration: none; }
body.pkn-v2 a:hover { color: var(--coral); }
@keyframes pknv2-livepulse { 0%,100% { opacity: 1; } 50% { opacity: .35; } }

/* ---- ページシェル（モバイル=480px中央 / PC=フル幅） ---- */
body.pkn-v2 .pkn-v2-shell {
  max-width: 480px; margin: 0 auto; background: var(--ivory);
  box-shadow: 0 0 0 1px #ECE2CF; min-height: 100vh;
}
@media (min-width: 900px) {
  body.pkn-v2 .pkn-v2-shell { max-width: none; margin: 0; box-shadow: none; }
}

/* ---- 既存共通ヘッダのアンバー再スキン（構造・ロジックは header.php のまま） ---- */
body.pkn-v2 .pkn-disclosure-bar { background: #FAF1DD; color: #8A6D2F; font-size: 11px; text-align: center; padding: 6px 8px; }
body.pkn-v2 .pkn-disclosure-bar-link { color: #8A6D2F; text-decoration: underline; }
body.pkn-v2 .pkn-header { background: #fff; border-bottom: 2px solid var(--amber); box-shadow: none; }
body.pkn-v2 .pkn-header-inner { display: flex; align-items: center; gap: 10px; padding: 12px 14px; max-width: none; }
body.pkn-v2 .pkn-logo-mark {
  width: 34px; height: 34px; border-radius: 10px;
  background: linear-gradient(140deg, #FFF8E1, #FFECB3);
  display: grid; place-items: center; box-shadow: inset 0 0 0 1px #FFECB3;
}
body.pkn-v2 .pkn-logo-mark img { width: 22px; height: 22px; }
body.pkn-v2 .pkn-logo-text { font-family: var(--disp); font-weight: 800; font-size: 17px; color: var(--espresso); }
body.pkn-v2 .pkn-logo-tag { color: var(--muted); }
body.pkn-v2 .pkn-nav-link { font-family: var(--disp); font-weight: 700; font-size: 13px; color: var(--espresso); }
body.pkn-v2 .pkn-nav-link.is-active { color: var(--amber-deep); }
body.pkn-v2 .pkn-hdr-login, body.pkn-v2 .pkn-hdr-logout { color: var(--espresso); border-color: var(--line); }
body.pkn-v2 .pkn-mm-btn { border: 1px solid var(--line); border-radius: 9px; color: var(--muted); background: #fff; }
/* v1ヘッダの absolute 配置を flex 内に戻す（PC幅の横スクロール防止） */
body.pkn-v2 .pkn-hdr-right { position: static; margin-left: auto; transform: none; }
/* dc設計のナビ密度（4項目相当）へ間引き: ホーム=ロゴが担い、マイページ/リマインダーは右上アイコン・メニューに残る。
   v1ナビ7項目(701px)が960px容器から溢れる横スクロールの根治。 */
body.pkn-v2 .pkn-header-inner > * { min-width: 0; }
body.pkn-v2 .pkn-nav .pkn-nav-link:nth-child(1),
body.pkn-v2 .pkn-nav .pkn-nav-link:nth-child(4),
body.pkn-v2 .pkn-nav .pkn-nav-link:nth-child(5),
body.pkn-v2 .pkn-nav .pkn-nav-link-blog:nth-child(6) { display: none; }
@media (min-width: 900px) {
  body.pkn-v2 .pkn-header-inner { max-width: 960px; margin: 0 auto; gap: 16px; padding: 14px 32px; }
}

/* ---- 信頼帯（partials/trust-band-v2.php） ---- */
body.pkn-v2 .pkn-v2-trust { background: #fff; border-bottom: 1px solid var(--line); }
body.pkn-v2 .pkn-v2-trust-in { display: flex; }
body.pkn-v2 .pkn-v2-trust-cell {
  flex: 1; padding: 9px 6px; text-align: center;
  border-right: 1px solid var(--line-2); color: var(--muted); font-size: 11px;
}
body.pkn-v2 .pkn-v2-trust-cell:last-child { border-right: 0; }
body.pkn-v2 .pkn-v2-trust-cell b { display: block; font-weight: 700; font-size: 12.5px; color: var(--espresso); margin-top: 1px; }
body.pkn-v2 .pkn-v2-live {
  display: inline-block; width: 6px; height: 6px; border-radius: 50%;
  background: var(--ok); margin-right: 5px; animation: pknv2-livepulse 2s infinite;
}
@media (min-width: 900px) {
  body.pkn-v2 .pkn-v2-trust-in { max-width: 960px; margin: 0 auto; padding: 0 32px; }
}

/* ---- コンテンツ容器 ---- */
body.pkn-v2 .pkn-v2-content { padding: 16px 16px 40px; }
@media (min-width: 900px) {
  body.pkn-v2 .pkn-v2-content { max-width: 820px; margin: 0 auto; padding: 22px 32px 60px; }
}

/* ---- 見出し・パンくず ---- */
body.pkn-v2 .pkn-v2-crumb { font-size: 11px; color: var(--muted); margin-bottom: 10px; }
body.pkn-v2 .pkn-v2-crumb a { color: var(--espresso); font-weight: 700; }
body.pkn-v2 .pkn-v2-h1 {
  display: flex; align-items: center; gap: 10px;
  font-weight: 800; font-size: 20px; color: var(--espresso); margin: 2px 0 6px;
}
body.pkn-v2 .pkn-v2-sec {
  display: flex; align-items: center; gap: 9px;
  font-weight: 800; font-size: 15px; color: var(--espresso); margin: 26px 0 12px;
}
body.pkn-v2 .pkn-v2-bar { width: 4px; height: 18px; background: var(--amber); border-radius: 2px; flex: none; }
body.pkn-v2 .pkn-v2-lead { font-size: 12.5px; color: #8A7F6F; margin-bottom: 14px; }
@media (min-width: 900px) {
  body.pkn-v2 .pkn-v2-h1 { font-size: 26px; }
  body.pkn-v2 .pkn-v2-sec { font-size: 17px; }
  body.pkn-v2 .pkn-v2-bar { height: 22px; }
}

/* ---- 数値ストリップ（シャンパン地の4枚） ---- */
body.pkn-v2 .pkn-v2-strip {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px;
  background: var(--champagne); border: 1px solid var(--gold-line);
  border-radius: 16px; padding: 14px; margin-bottom: 16px;
}
body.pkn-v2 .pkn-v2-strip > div { text-align: center; }
body.pkn-v2 .pkn-v2-strip b { display: block; font-weight: 800; font-size: 20px; color: var(--amber-deep); }
body.pkn-v2 .pkn-v2-strip small { font-size: 9.5px; color: #8A7F6F; }

/* ---- カード ---- */
body.pkn-v2 .pkn-v2-card {
  background: #fff; border: 1px solid var(--gold-line); border-radius: 16px;
  padding: 15px; box-shadow: 0 1px 2px rgba(80, 60, 20, .06); margin-bottom: 12px;
}
body.pkn-v2 .pkn-v2-card h3 { font-size: 13.5px; color: var(--espresso); margin-bottom: 5px; }
body.pkn-v2 .pkn-v2-card p { font-size: 12.5px; color: #3E2723; }
body.pkn-v2 .pkn-v2-cardgrid { display: grid; gap: 11px; grid-template-columns: 1fr; margin-bottom: 4px; }
@media (min-width: 900px) {
  body.pkn-v2 .pkn-v2-cardgrid { grid-template-columns: 1fr 1fr 1fr; }
}

/* ---- データ表 ---- */
body.pkn-v2 .pkn-v2-tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
body.pkn-v2 .pkn-v2-table { width: 100%; border-collapse: collapse; font-size: 13px; }
body.pkn-v2 .pkn-v2-table th {
  text-align: left; color: var(--muted); font-size: 11px; font-weight: 700; padding: 6px 4px;
}
body.pkn-v2 .pkn-v2-table td { padding: 8px 4px; border-top: 1px solid var(--line-2); }
body.pkn-v2 .pkn-v2-table td:last-child { text-align: right; }
body.pkn-v2 .pkn-v2-table strong { color: var(--espresso); }
body.pkn-v2 .pkn-v2-note { font-size: 11px; color: var(--muted); margin-top: 8px; }

/* ---- フッタリンク行 ---- */
body.pkn-v2 .pkn-v2-foot {
  font-size: 11.5px; color: var(--muted); text-align: center;
  padding: 20px 6px 2px; border-top: 1px solid var(--line); margin-top: 22px;
}
body.pkn-v2 .pkn-v2-foot a { margin: 0 6px; }

/* ---- コーラルの階層（design-spec: 塗り=primary行動 1画面1つ / 小面積=強調アクセント） ---- */
body.pkn-v2 .pkn-v2-cta {
  display: block; width: 100%; max-width: 480px; margin: 22px auto 0;
  text-align: center; font-family: var(--disp); font-weight: 800; font-size: 15px;
  color: #fff; background: var(--coral); border: 0; border-radius: 12px; padding: 14px;
  box-shadow: 0 3px 11px rgba(232, 93, 78, .30);
}
body.pkn-v2 .pkn-v2-cta:hover { color: #fff; background: var(--coral-deep); }
body.pkn-v2 .pkn-v2-accent { color: var(--coral); }

/* ==========================================================================
   offers（案件一覧）v2 再スキン — JSフック(クラス/データ属性)とレイアウトは不変、色・枠のみ
   ========================================================================== */
body.pkn-v2 .pkn-offers-page { background: var(--ivory); }
/* 検索ヒーロー */
body.pkn-v2 .pkn-search-hero { background: linear-gradient(180deg, #FFF8E1, var(--ivory)); border-bottom: 1px solid var(--line); }
body.pkn-v2 .pkn-search-hero-h1 { color: var(--espresso); font-family: var(--disp); }
body.pkn-v2 .pkn-search-hero-h1 .is-q { color: var(--amber-deep); }
body.pkn-v2 .pkn-search-hero-meta { color: var(--muted); }
body.pkn-v2 .pkn-search-hero-input, body.pkn-v2 .pkn-search-sp-input { border-color: var(--line); background: #fff; color: var(--brown-ink); }
body.pkn-v2 .pkn-search-hero-btn, body.pkn-v2 .pkn-search-sp-btn { background: var(--amber); color: #fff; font-family: var(--disp); font-weight: 800; }
body.pkn-v2 .pkn-breadcrumb, body.pkn-v2 .pkn-breadcrumb a { color: var(--muted); }
body.pkn-v2 .pkn-breadcrumb .is-current { color: var(--espresso); }
/* カテゴリチップ・絞り込み */
body.pkn-v2 .pkn-cat-btn { background: var(--line-2); color: #8A7F6F; border: 0; }
body.pkn-v2 .pkn-cat-btn.is-active { background: var(--amber); color: #fff; }
body.pkn-v2 .pkn-filter, body.pkn-v2 .pkn-sp-filter-panel { background: #fff; border: 1px solid var(--gold-line); border-radius: 16px; }
body.pkn-v2 .pkn-filter-title, body.pkn-v2 .pkn-sp-filter-title, body.pkn-v2 .pkn-filter-label { color: var(--espresso); }
body.pkn-v2 .pkn-filter-item .pkn-filter-check { border-color: var(--line); }
body.pkn-v2 .pkn-filter-item.is-on .pkn-filter-check { background: var(--amber); border-color: var(--amber); }
body.pkn-v2 .pkn-reward-slider, body.pkn-v2 .pkn-reward-slider-max { accent-color: var(--amber); }
body.pkn-v2 .pkn-reward-filter-value { color: var(--amber-deep); }
/* 並び順・件数 */
body.pkn-v2 .pkn-results-count { color: var(--muted); }
body.pkn-v2 .pkn-results-count .is-num { color: var(--espresso); }
body.pkn-v2 .pkn-sort-btn { background: var(--line-2); color: #8A7F6F; border: 0; }
body.pkn-v2 .pkn-sort-btn.is-active { background: var(--amber); color: #fff; }
/* 初心者ガイド */
/* 結果ヘッダ行・カード（JS描画 .pkn-offer） */
body.pkn-v2 .pkn-offer { background: #fff; border: 1px solid var(--gold-line); border-radius: 12px; box-shadow: 0 1px 2px rgba(80,60,20,.06); }
body.pkn-v2 .pkn-offer:hover { border-color: var(--amber); }
body.pkn-v2 .pkn-offer-media { background: var(--champagne); color: var(--espresso); border-radius: 10px; }
body.pkn-v2 .pkn-offer-title, body.pkn-v2 .pkn-offer a { color: var(--espresso); }
body.pkn-v2 .pkn-money, body.pkn-v2 .pkn-offer-money { color: var(--espresso); font-family: var(--disp); }
body.pkn-v2 .pkn-offer-best-badge, body.pkn-v2 .pkn-badge-highest { background: var(--coral); color: #fff; }
body.pkn-v2 .pkn-offer-best-site { color: var(--muted); }
/* サイト別バー: 1位=ゴールド地+アンバーバー、他=ニュートラル */
body.pkn-v2 .pkn-bar-row.is-best { background: var(--gold-hi); border-radius: 8px; }
body.pkn-v2 .pkn-bar-fill { background: var(--line); }
body.pkn-v2 .pkn-bar-row.is-best .pkn-bar-fill { background: var(--amber); }
body.pkn-v2 .pkn-bar-site, body.pkn-v2 .pkn-bar-val { color: var(--espresso); }
body.pkn-v2 .pkn-bar-rank { background: var(--line-2); color: #8A7F6F; }
body.pkn-v2 .pkn-bar-row.is-best .pkn-bar-rank { background: var(--gold); color: #8A6D2F; }
/* ページャ・空状態 */
body.pkn-v2 .pkn-pager-btn { background: #fff; border: 1px solid var(--gold-line); color: var(--espresso); }
body.pkn-v2 .pkn-pager-btn.is-active, body.pkn-v2 .pkn-pager-btn:hover { background: var(--amber); color: #fff; border-color: var(--amber); }
body.pkn-v2 .pkn-empty-title { color: var(--espresso); }

/* ---- ヘッダ: ログイン文字は白（アンバー地で沈まないように） ---- */
body.pkn-v2 .pkn-hdr-login { color: #fff; background: var(--amber-deep); border-color: var(--amber-deep); }

/* ---- offers: dcカードグリッド（renderCardsV2 .pkn-oc） ---- */
 /* 行テーブル用ヘッダはカードグリッドでは不要 */
body.pkn-v2 .pkn-results-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
@media (min-width: 900px) { body.pkn-v2 .pkn-results-list { grid-template-columns: repeat(3, 1fr); gap: 12px; } }
body.pkn-v2 .pkn-oc {
  position: relative; display: block; background: #fff; border: 1px solid var(--gold-line);
  border-radius: 8px; overflow: hidden; box-shadow: 0 1px 3px rgba(120,90,20,.06);
  color: inherit; padding: 12px 12px 26px;
}
body.pkn-v2 .pkn-oc:hover { border-color: var(--amber); }
body.pkn-v2 .pkn-oc-head { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; margin-bottom: 8px; }
body.pkn-v2 .pkn-oc-hbadge {
  font-family: var(--disp); font-weight: 800; font-size: 9.5px; color: var(--amber-deep);
  background: var(--champagne); border: 1px solid var(--gold-line); border-radius: 6px; padding: 3px 9px;
}
body.pkn-v2 .pkn-oc-status, body.pkn-v2 .pkn-oc-cat {
  font-family: var(--disp); font-weight: 700; font-size: 9px; color: #8A7F6F;
  background: var(--line-2); border-radius: 6px; padding: 3px 8px;
}
body.pkn-v2 .pkn-oc-title {
  font-family: var(--disp); font-weight: 800; font-size: 12.5px; line-height: 1.35;
  color: var(--espresso); min-height: 34px; margin: 0;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
body.pkn-v2 .pkn-oc-adimg {
  height: 66px; margin: 9px 0; border: 1px solid var(--gold-line); border-radius: 8px;
  background: linear-gradient(135deg, #FFF8E1, #FFECB3); display: grid; place-items: center; overflow: hidden;
}
body.pkn-v2 .pkn-oc-adimg img { width: 100%; height: 100%; object-fit: contain; }
body.pkn-v2 .pkn-oc-adimg .pkn-offer-media { width: 100%; height: 100%; display: grid; place-items: center; background: transparent; }
body.pkn-v2 .pkn-oc-adimg .pkn-offer-media-label { font-family: var(--disp); font-weight: 800; font-size: 10px; color: #8A6D2F; letter-spacing: .5px; }
body.pkn-v2 .pkn-oc-amount { text-align: center; margin: 10px 0 7px; }
body.pkn-v2 .pkn-oc-amount b { font-family: var(--disp); font-weight: 800; font-size: 21px; color: var(--espresso); line-height: 1; }
body.pkn-v2 .pkn-oc-amount span { font-size: 10px; color: var(--muted); font-weight: 700; }
body.pkn-v2 .pkn-oc-divider { border-bottom: 1px solid var(--line-2); margin: 9px 0; }
body.pkn-v2 .pkn-oc-ranks { display: flex; flex-direction: column; gap: 4px; }
body.pkn-v2 .pkn-oc-rk { display: flex; align-items: center; gap: 6px; font-size: 11.5px; padding: 3px 5px; border-radius: 6px; }
body.pkn-v2 .pkn-oc-rk.is-top { background: var(--gold-hi); box-shadow: 0 1px 4px rgba(200,150,20,.18); }
body.pkn-v2 .pkn-oc-cr {
  flex: none; font-family: var(--disp); font-weight: 800; font-size: 9.5px; color: #8A7F6F;
  background: #ECE2CF; border-radius: 6px; padding: 2px 0; min-width: 18px; text-align: center;
}
body.pkn-v2 .pkn-oc-rk.is-top .pkn-oc-cr { background: var(--amber); color: #fff; }
body.pkn-v2 .pkn-oc-nm { flex: 1; color: var(--espresso); font-family: var(--disp); font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.pkn-v2 .pkn-oc-best { font-family: var(--disp); font-weight: 800; font-size: 8px; color: #fff; background: var(--coral); border-radius: 5px; padding: 1px 5px; flex: none; }
body.pkn-v2 .pkn-oc-val { font-family: var(--disp); font-weight: 800; font-size: 12px; color: var(--espresso); flex: none; }
body.pkn-v2 .pkn-oc-rk.is-top .pkn-oc-val { color: var(--amber-deep); }
body.pkn-v2 .pkn-oc-more { position: absolute; bottom: 8px; right: 12px; font-size: 9.5px; color: var(--coral); font-family: var(--disp); font-weight: 800; }
body.pkn-v2 .pkn-oc-ended { text-align: center; font-size: 11.5px; color: var(--muted); padding: 14px 0 6px; }
body.pkn-v2 .pkn-oc .pkn-offer-id { position: absolute; bottom: 8px; left: 12px; font-size: 9px; color: #ECE2CF; }

/* ---- FB修正(2026-07-10): 広告見切れ / モバイルのサイト名視認性 / 30日最高フッタ ---- */
/* 広告バナーはトリミングせず全体表示（v1 .pkn-offer-media の cover/固定寸を打ち消し） */
body.pkn-v2 .pkn-oc-adimg .pkn-offer-media,
body.pkn-v2 .pkn-oc-adimg .pkn-offer-media img {
  width: 100%; height: 100%; max-width: 100%; max-height: 100%;
  object-fit: contain; border-radius: 0; background: transparent;
}
/* 30日間の最高（dcモックのfootmax） */
body.pkn-v2 .pkn-oc-footmax {
  text-align: center; font-size: 9.5px; color: var(--muted);
  margin-top: 9px; padding-top: 8px; border-top: 1px solid var(--line-2);
}
body.pkn-v2 .pkn-oc-footmax b { color: var(--espresso); font-family: var(--disp); }
/* モバイル(2カラムで幅が細い): サイト名の視認性を最優先。
   dcモックからの変更: 「最高」コーラルバッジをモバイルでは非表示にする。
   理由: 414px・2カラムではバッジがサイト名を潰す(ユーザー指摘)。1位はゴールド地+アンバー順位+
   アンバー額で既に判別でき、情報は失われない。PC(>=900px)はモック通りバッジ表示。 */
@media (max-width: 899px) {
  body.pkn-v2 .pkn-oc-best { display: none; }
  body.pkn-v2 .pkn-oc-rk { gap: 4px; font-size: 11px; }
  body.pkn-v2 .pkn-oc-cr { min-width: 15px; font-size: 9px; }
  body.pkn-v2 .pkn-oc-val { font-size: 11px; }
}

/* ---- ♡ワンタップ保存（機能ボタン・2026-07-10ユーザー確認済み仕様） ---- */
body.pkn-v2 .pkn-oc-save {
  position: absolute; top: 8px; right: 9px; width: 26px; height: 26px;
  border: 1px solid var(--line); border-radius: 7px; display: grid; place-items: center;
  font-size: 12px; color: var(--muted); background: #fff; z-index: 2; cursor: pointer;
}
body.pkn-v2 .pkn-oc-save:hover { border-color: var(--coral); color: var(--coral); }
body.pkn-v2 .pkn-oc-save.is-saved { color: var(--coral); border-color: var(--coral); background: var(--coral-tint); }
body.pkn-v2 .pkn-oc-save.is-busy { opacity: .5; pointer-events: none; }

/* ---- モバイル下部 絞り込み/並び替えバー（dcモック準拠・v1ボトムナビの直上） ---- */
body.pkn-v2 .pkn-oc-stickybar {
  display: none;
}
@media (max-width: 899px) {
  body.pkn-v2 .pkn-oc-stickybar {
    display: flex; gap: 9px; position: fixed; left: 0; right: 0;
    bottom: calc(58px + env(safe-area-inset-bottom, 0px)); /* v1 .pkn-bottomnav の直上 */
    max-width: 480px; margin: 0 auto; padding: 8px 12px;
    background: rgba(255, 252, 242, .96); border-top: 1px solid var(--line);
    backdrop-filter: blur(4px); z-index: 40;
  }
  body.pkn-v2 .pkn-oc-stickybar button {
    flex: 1; font-family: var(--disp); font-weight: 800; font-size: 13px;
    color: var(--espresso); background: #fff; border: 1px solid var(--line);
    border-radius: 8px; padding: 11px; cursor: pointer;
  }
  body.pkn-v2 .pkn-oc-stickybar button.is-primary { color: #fff; background: var(--amber-deep); border: 0; }
  /* バーの分だけ本文最下部に余白 */
  body.pkn-v2 .pkn-offers-page { padding-bottom: 64px; }
}

/* ---- offers モック完全準拠(2026-07-10監査): サイドバー検索/縦ソート/結果バー/⌄循環 ---- */
body.pkn-v2 .pkn-v2-offers-head { padding-bottom: 0; }
body.pkn-v2 .pkn-v2-side-search {
  display: flex; background: #fff; border: 1px solid var(--line); border-radius: 8px;
  overflow: hidden; box-shadow: 0 1px 2px rgba(80,60,20,.05); margin-bottom: 14px;
}
body.pkn-v2 .pkn-v2-side-search input {
  flex: 1; border: 0; outline: 0; font-size: 12.5px; background: transparent;
  padding: 12px 13px; color: var(--brown-ink); min-width: 0;
}
body.pkn-v2 .pkn-v2-side-search button {
  font-family: var(--disp); font-weight: 800; font-size: 13px; color: #fff;
  background: var(--amber); border: 0; padding: 0 18px; cursor: pointer;
}
body.pkn-v2 .pkn-v2-side-sorts { display: flex; flex-direction: column; gap: 6px; }
body.pkn-v2 .pkn-v2-side-sorts .pkn-sort-btn { text-align: left; border-radius: 8px; padding: 8px 10px; }
body.pkn-v2 .pkn-v2-results-bar {
  display: flex; align-items: center; justify-content: space-between; margin: 0 2px 12px;
}
body.pkn-v2 .pkn-v2-count { font-size: 12.5px; color: var(--muted); }
body.pkn-v2 .pkn-v2-count b { color: var(--espresso); }
body.pkn-v2 .pkn-v2-sort-cycle {
  display: none; font-family: var(--disp); font-weight: 700; font-size: 12px;
  color: var(--espresso); background: #fff; border: 1px solid var(--line);
  border-radius: 8px; padding: 7px 12px; cursor: pointer;
}
@media (max-width: 899px) {
  body.pkn-v2 .pkn-v2-sort-cycle { display: inline-block; } /* モバイル=⌄循環 */
}

/* ---- FB修正2(2026-07-10): 広告見切れ根治 + SP絞り込みボトムシート ---- */
/* 広告: 絶対配置+insetで他ルールの高さ計算に依存せず枠内contain(natural 250x250でも縦切れしない) */
body.pkn-v2 .pkn-oc-adimg { position: relative; }
body.pkn-v2 .pkn-oc-adimg img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: contain; padding: 4px; background: transparent;
}
body.pkn-v2 .pkn-oc-adimg .pkn-offer-media { position: static; }
/* SP絞り込み: 既定は畳む→stickyの「絞り込み」でボトムシート表示 */
@media (max-width: 899px) {
  body.pkn-v2 .pkn-sp-filter-panel { display: none; }
  body.pkn-v2 .pkn-sp-filter-panel.is-open {
    display: block; position: fixed; left: 12px; right: 12px;
    bottom: calc(112px + env(safe-area-inset-bottom, 0px)); /* stickyバー+ボトムナビの上 */
    max-height: 60vh; overflow-y: auto; -webkit-overflow-scrolling: touch;
    background: #fff; border: 1px solid var(--gold-line); border-radius: 16px;
    box-shadow: 0 -8px 30px rgba(60, 40, 10, .18); padding: 14px; z-index: 45;
    max-width: 456px; margin: 0 auto;
  }
}

/* ---- FB修正3(2026-07-10): v1ボトムナビ非表示 + 画像有りカードは色付きボックス無し ---- */
/* dcモックにボトムナビは存在しない→v2ページでは非表示(機能はヘッダ/メニュー/stickyが担う) */
body.pkn-v2 .pkn-bottomnav { display: none; }
@media (max-width: 899px) {
  /* ボトムナビ消滅に合わせstickyバー/シートを下端へ */
  body.pkn-v2 .pkn-oc-stickybar { bottom: calc(8px + env(safe-area-inset-bottom, 0px)); border-top: 0; border-radius: 12px; margin: 0 12px; left: 0; right: 0; }
  body.pkn-v2 .pkn-sp-filter-panel.is-open { bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
}
/* 案件画像がある場合は素の白枠(色付き=シャンパン地はfallbackのみ) */
body.pkn-v2 .pkn-oc-adimg:has(.pkn-offer-media.has-image) {
  background: transparent; border: 0;
}

/* ==========================================================================
   offer-detail v2（カナリア・dc-src/offer.dc.html準拠）
   v1マークアップ+構造置換(acc/履歴/関連)への再スキン
   ========================================================================== */
body.pkn-v2 .pkn-v2-detail { background: var(--ivory); }
body.pkn-v2 .pkn-detail-title { background: var(--champagne); border-bottom: 1px solid var(--gold-line); }
body.pkn-v2 .pkn-detail-h1 { color: var(--espresso); font-family: var(--disp); }
body.pkn-v2 .pkn-breadcrumb, body.pkn-v2 .pkn-breadcrumb a { color: var(--muted); }
body.pkn-v2 .pkn-detail-card { background: #fff; border: 1px solid var(--gold-line); border-radius: 16px; box-shadow: 0 1px 2px rgba(80,60,20,.06); }
body.pkn-v2 .pkn-detail-card-title { color: var(--espresso); font-family: var(--disp); }
body.pkn-v2 .pkn-sec-eyebrow { color: var(--muted); }
/* ヒーロー(今日の最高還元) */
body.pkn-v2 .pkn-mobile-best-card { background: linear-gradient(180deg,#FFFCF2,#fff); border: 1px solid var(--gold-line); border-radius: 16px; }
body.pkn-v2 .pkn-mobile-best-label { color: var(--amber-deep); font-family: var(--disp); font-weight: 800; }
body.pkn-v2 .pkn-mobile-best-value { color: var(--espresso); font-family: var(--disp); }
body.pkn-v2 .pkn-mobile-best-sub, body.pkn-v2 .pkn-mobile-best-note { color: var(--muted); }
body.pkn-v2 .pkn-mobile-best-apply,
body.pkn-v2 .pkn-mobile-best-apply:visited, body.pkn-v2 .pkn-mobile-best-apply:hover, body.pkn-v2 .pkn-mobile-best-apply:focus {
  background: var(--coral); border-color: var(--coral); color: #fff; box-shadow: 0 3px 11px rgba(232,93,78,.30);
  font-family: var(--disp); font-weight: 800; border-radius: 12px;
}
body.pkn-v2 .pkn-mobile-best-tool { border: 1px solid var(--line); color: var(--espresso); background: #fff; border-radius: 10px; }
/* 7サイト比較(1位=gold-hi+コーラル最高/行内申込=小面積コーラルoutline) */
body.pkn-v2 .pkn-cmp-row { border-color: var(--line-2); }
body.pkn-v2 .pkn-cmp-row.is-best { background: #FFF8E1; border: 1px solid #F2E2BA; border-radius: 12px; }
body.pkn-v2 .pkn-cmp-rank-badge { background: var(--line-2); color: #8A7F6F; }
body.pkn-v2 .pkn-cmp-rank-badge.is-r1 { background: var(--gold); color: #8A6D2F; }
body.pkn-v2 .pkn-cmp-site-name { color: var(--espresso); font-family: var(--disp); }
body.pkn-v2 .pkn-cmp-val, body.pkn-v2 .pkn-money { color: var(--espresso); font-family: var(--disp); }
body.pkn-v2 .pkn-cmp-row.is-best .pkn-cmp-val { color: var(--amber-deep); }
body.pkn-v2 .pkn-cmp-row-cta { color: var(--coral); border: 1px solid var(--coral); background: #fff; border-radius: 9px; font-family: var(--disp); font-weight: 800; }
body.pkn-v2 .pkn-badge-highest { background: var(--coral); color: #fff; }
/* アコーディオン(共通) */
body.pkn-v2 .pkn-v2-acc { background: #fff; border: 1px solid var(--gold-line); border-radius: 16px; margin: 0 0 12px; overflow: hidden; }
body.pkn-v2 .pkn-v2-acc-btn {
  width: 100%; display: flex; align-items: center; gap: 10px; padding: 13px 15px;
  background: transparent; border: 0; cursor: pointer; text-align: left;
  font-family: var(--disp); font-weight: 700; font-size: 13.5px; color: var(--espresso);
}
body.pkn-v2 .pkn-v2-acc-sub { font-family: var(--v2body); font-weight: 400; font-size: 11px; color: var(--muted); }
body.pkn-v2 .pkn-v2-acc-cv { margin-left: auto; color: var(--muted); transition: .2s; }
body.pkn-v2 .pkn-v2-acc.is-open .pkn-v2-acc-cv { transform: rotate(180deg); }
body.pkn-v2 .pkn-v2-acc-in { display: none; padding: 0 15px 15px; }
body.pkn-v2 .pkn-v2-acc.is-open .pkn-v2-acc-in { display: block; }
body.pkn-v2 .pkn-v2-acc-in .pkn-detail-card, body.pkn-v2 .pkn-v2-acc-in .pkn-site-history { border: 0; box-shadow: none; padding: 0; margin: 0; background: transparent; }
body.pkn-v2 .pkn-v2-acc-in .pkn-flow-card .pkn-detail-card-head { display: none; } /* accボタンと重複する見出しを隠す */
body.pkn-v2 .pkn-v2-acc-in .pkn-site-history-head { display: none; }
/* 履歴(要約+変化日のみ既定・全実測行はDOM保持) */
body.pkn-v2 .pkn-v2-histsum { font-size: 12px; color: #3E2723; background: #FFFCF2; border-radius: 10px; padding: 11px; margin-bottom: 11px; }
body.pkn-v2 .pkn-v2-histsum b { color: var(--espresso); }
body.pkn-v2 .pkn-v2-src { font-size: 8.5px; color: #8A7F6F; background: #F4EDE0; border-radius: 4px; padding: 1px 5px; margin-left: 3px; }
body.pkn-v2 .pkn-v2-htable { width: 100%; border-collapse: collapse; font-size: 12px; }
body.pkn-v2 .pkn-v2-htable th, body.pkn-v2 .pkn-v2-htable td { padding: 7px 4px; border-top: 1px dashed var(--line); text-align: left; }
body.pkn-v2 .pkn-v2-htable thead th { border-top: 0; color: var(--muted); font-size: 10.5px; }
body.pkn-v2 .pkn-v2-hrow-same { display: none; } /* 変化なし日: DOMには保持(SEO)・表示のみ省略 */
body.pkn-v2 .pkn-v2-hrow-same.is-shown { display: table-row; }
body.pkn-v2 .pkn-v2-hist-all { margin-top: 10px; font-family: var(--disp); font-weight: 700; font-size: 11.5px; color: var(--amber-deep); background: #fff; border: 1px solid var(--gold-line); border-radius: 8px; padding: 7px 12px; cursor: pointer; }
/* 関連案件→2カラムカード */
body.pkn-v2 .pkn-related-offer-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
body.pkn-v2 .pkn-related-offer { display: block; background: #fff; border: 1px solid var(--gold-line); border-radius: 8px; padding: 11px 12px; box-shadow: 0 1px 3px rgba(120,90,20,.06); }
body.pkn-v2 .pkn-related-offer-rank { background: var(--champagne); color: var(--amber-deep); border-radius: 6px; font-family: var(--disp); font-weight: 800; }
body.pkn-v2 .pkn-related-offer-value { color: var(--amber-deep); font-family: var(--disp); font-weight: 800; }
@media (min-width: 900px) { body.pkn-v2 .pkn-related-offer-list { grid-template-columns: 1fr 1fr 1fr; } }
/* sticky申込バー */
body.pkn-v2 .pkn-mobile-action-sticky { background: #fff; border-top: 1px solid var(--line); box-shadow: 0 -6px 16px rgba(16,22,29,.07); }
body.pkn-v2 .pkn-mobile-action-apply,
body.pkn-v2 .pkn-mobile-action-apply:visited, body.pkn-v2 .pkn-mobile-action-apply:hover, body.pkn-v2 .pkn-mobile-action-apply:focus {
  background: var(--coral); border-color: var(--coral); color: #fff; font-family: var(--disp); font-weight: 800; border-radius: 11px;
}
/* 監修/応援 */
body.pkn-v2 .pkn-support-inline { border-top: 1px solid var(--line); }
body.pkn-v2 .pkn-support-inline a { color: var(--coral); }

/* ==========================================================================
   home（トップ・dc案A）
   ========================================================================== */
body.pkn-v2 .pkn-v2-hero { padding: 8px 2px 4px; }
body.pkn-v2 .pkn-v2-hero-h1 { font-family: var(--disp); font-weight: 800; font-size: 24px; line-height: 1.4; color: var(--espresso); margin: 6px 0 8px; }
body.pkn-v2 .pkn-v2-hero-h1 mark { background: linear-gradient(transparent 62%, var(--gold-hi) 62%); color: var(--amber-deep); padding: 0 2px; }
body.pkn-v2 .pkn-v2-hero-sub { font-size: 12.5px; color: #8A7F6F; margin-bottom: 12px; }
body.pkn-v2 .pkn-v2-hero-search { display: flex; background: #fff; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; box-shadow: 0 1px 2px rgba(80,60,20,.05); }
body.pkn-v2 .pkn-v2-hero-search input { flex: 1; border: 0; outline: 0; font-size: 13px; padding: 13px 14px; background: transparent; color: var(--brown-ink); min-width: 0; }
body.pkn-v2 .pkn-v2-hero-search button { font-family: var(--disp); font-weight: 800; font-size: 13px; color: #fff; background: var(--coral); border: 0; padding: 0 20px; cursor: pointer; }
body.pkn-v2 .pkn-v2-hero-tags { display: flex; gap: 7px; flex-wrap: wrap; margin: 10px 0 12px; }
body.pkn-v2 .pkn-v2-hero-tags a { font-family: var(--disp); font-weight: 700; font-size: 11px; color: #8A7F6F; background: var(--line-2); border-radius: 999px; padding: 5px 12px; }
body.pkn-v2 .pkn-v2-hero-voice { display: flex; gap: 9px; align-items: center; background: var(--champagne); border: 1px solid var(--gold-line); border-radius: 12px; padding: 9px 12px; }
body.pkn-v2 .pkn-v2-hero-av { width: 34px; height: 34px; border-radius: 50%; overflow: hidden; flex: none; background: #4E342E; display: grid; place-items: center; }
body.pkn-v2 .pkn-v2-hero-av img { width: 100%; height: 100%; object-fit: cover; }
body.pkn-v2 .pkn-v2-hero-voice p { font-size: 11.5px; color: #8A7F6F; margin: 0; }
body.pkn-v2 .pkn-v2-hero-voice b { color: var(--espresso); font-family: var(--disp); }
/* カテゴリタイル */
body.pkn-v2 .pkn-v2-cats { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
body.pkn-v2 .pkn-v2-cat-tile { display: block; background: #fff; border: 1px solid var(--gold-line); border-radius: 12px; padding: 12px 13px; box-shadow: 0 1px 2px rgba(80,60,20,.05); }
body.pkn-v2 .pkn-v2-cat-tile b { display: block; font-family: var(--disp); font-weight: 800; font-size: 12.5px; color: var(--espresso); }
body.pkn-v2 .pkn-v2-cat-tile small { font-size: 10px; color: var(--muted); }
/* ランキング行 */
body.pkn-v2 .pkn-v2-ranklist { display: flex; flex-direction: column; gap: 8px; }
body.pkn-v2 .pkn-v2-rankrow { display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid var(--gold-line); border-radius: 12px; padding: 11px 13px; color: inherit; box-shadow: 0 1px 2px rgba(80,60,20,.05); }
body.pkn-v2 .pkn-v2-rankrow.is-first { background: var(--gold-hi); border-color: #F2E2BA; box-shadow: 0 1px 5px rgba(200,150,20,.2); }
body.pkn-v2 .pkn-v2-rankno { flex: none; width: 24px; height: 24px; border-radius: 7px; background: var(--line-2); color: #8A7F6F; font-family: var(--disp); font-weight: 800; font-size: 12px; display: grid; place-items: center; }
body.pkn-v2 .pkn-v2-rankrow.is-first .pkn-v2-rankno { background: var(--gold); color: #8A6D2F; }
body.pkn-v2 .pkn-v2-rankbody { flex: 1; min-width: 0; }
body.pkn-v2 .pkn-v2-rankbody b { display: block; font-family: var(--disp); font-weight: 700; font-size: 12.5px; color: var(--espresso); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.pkn-v2 .pkn-v2-rankbody small { font-size: 10px; color: var(--muted); }
body.pkn-v2 .pkn-v2-rankbest { flex: none; font-family: var(--disp); font-weight: 800; font-size: 8.5px; color: #fff; background: var(--coral); border-radius: 5px; padding: 2px 6px; }
body.pkn-v2 .pkn-v2-rankval { flex: none; font-family: var(--disp); font-weight: 800; font-size: 14px; color: var(--espresso); }
body.pkn-v2 .pkn-v2-rankrow.is-first .pkn-v2-rankval { color: var(--amber-deep); }
body.pkn-v2 .pkn-v2-upbadge { flex: none; font-family: var(--disp); font-weight: 800; font-size: 9px; color: #fff; background: var(--ok); border-radius: 5px; padding: 3px 7px; }
body.pkn-v2 .pkn-v2-morelink { display: block; text-align: center; font-family: var(--disp); font-weight: 800; font-size: 13px; color: var(--amber-deep); background: #fff; border: 1px solid var(--gold-line); border-radius: 12px; padding: 12px; margin-top: 10px; }
@media (min-width: 900px) {
  body.pkn-v2 .pkn-v2-hero-h1 { font-size: 34px; }
  body.pkn-v2 .pkn-v2-cats { grid-template-columns: repeat(3, 1fr); }
}

/* ---- home モック準拠修正(2026-07-10): hero中央/amber検索/白ピル/絵文字タイル/2カラム/UP行/sticky ---- */
body.pkn-v2 .pkn-v2-hero-h1 .is-em { color: var(--amber-deep); }
body.pkn-v2 .pkn-v2-hero-h1 mark { background: none; } /* 旧mark撤去 */
body.pkn-v2 .pkn-v2-hero-search button { background: var(--amber); } /* モック=検索はamber(コーラルはCTA専用) */
body.pkn-v2 .pkn-v2-hero-tags a { background: #fff; border: 1px solid var(--line); color: var(--espresso); font-size: 11.5px; font-weight: 400; font-family: var(--v2body); padding: 6px 13px; }
body.pkn-v2 .pkn-v2-hero-cta { display: none; } /* SPは非表示(sticky担当) */
body.pkn-v2 .pkn-v2-sechead { display: flex; align-items: center; gap: 9px; margin: 26px 2px 12px; }
body.pkn-v2 .pkn-v2-sec-h2 { font-family: var(--disp); font-weight: 800; font-size: 15px; color: var(--espresso); margin: 0; }
body.pkn-v2 .pkn-v2-seclink { margin-left: auto; font-size: 11.5px; color: var(--amber-deep); font-family: var(--disp); font-weight: 700; }
body.pkn-v2 .pkn-v2-cats { grid-template-columns: 1fr 1fr 1fr; }
body.pkn-v2 .pkn-v2-cat-tile { text-align: center; padding: 15px 6px; }
body.pkn-v2 .pkn-v2-cat-ico { font-size: 23px; display: block; margin-bottom: 6px; }
body.pkn-v2 .pkn-v2-cat-tile b { font-size: 11.5px; }
body.pkn-v2 .pkn-v2-rankright { flex: none; text-align: right; }
body.pkn-v2 .pkn-v2-rankright .pkn-v2-rankbest { display: inline-block; margin-bottom: 3px; }
body.pkn-v2 .pkn-v2-rankright .pkn-v2-rankval { display: block; }
body.pkn-v2 .pkn-v2-rankbody small .is-site { color: var(--espresso); font-weight: 700; font-family: var(--disp); }
body.pkn-v2 .pkn-v2-rankrow { margin-bottom: 9px; }
body.pkn-v2 .pkn-v2-uprow { display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 11px 12px; margin-bottom: 8px; color: inherit; }
body.pkn-v2 .pkn-v2-upbadge { font-family: var(--disp); font-weight: 800; font-size: 11px; color: var(--ok); background: #E7F5EE; border-radius: 6px; padding: 4px 8px; flex: none; }
body.pkn-v2 .pkn-v2-upval { font-family: var(--disp); font-weight: 800; font-size: 14px; color: var(--espresso); flex: none; }
body.pkn-v2 .pkn-v2-strip-lg b { font-size: 22px; line-height: 1.1; }
/* モバイルsticky */
body.pkn-v2 .pkn-v2-homesticky { position: sticky; bottom: 0; background: #fff; border-top: 1px solid var(--line); padding: 9px 14px 12px; box-shadow: 0 -6px 16px rgba(120,90,20,.08); z-index: 40; }
body.pkn-v2 .pkn-v2-homesticky-in { max-width: 480px; margin: 0 auto; }
body.pkn-v2 .pkn-v2-homesticky-row { display: flex; justify-content: space-between; align-items: center; font-size: 11px; color: var(--muted); background: var(--champagne); border-radius: 8px; padding: 6px 11px; margin-bottom: 7px; }
body.pkn-v2 .pkn-v2-homesticky-row b { font-family: var(--disp); font-weight: 800; font-size: 14px; color: var(--espresso); }
body.pkn-v2 .pkn-v2-homesticky-btns { display: flex; gap: 8px; }
body.pkn-v2 .pkn-v2-homesticky-cta { flex: 1; text-align: center; font-family: var(--disp); font-weight: 800; font-size: 14px; color: #fff; background: var(--coral); border: 1px solid var(--coral-deep); border-radius: 11px; padding: 13px; box-shadow: 0 5px 14px -6px rgba(232,93,78,.5); }
body.pkn-v2 .pkn-v2-homesticky-save { font-family: var(--disp); font-weight: 700; font-size: 13px; color: var(--espresso); background: #fff; border: 1px solid var(--line); border-radius: 11px; padding: 13px 16px; }
@media (min-width: 900px) {
  body.pkn-v2 .pkn-v2-hero { text-align: center; margin: 16px 0 8px; }
  body.pkn-v2 .pkn-v2-hero-sub { max-width: 560px; margin: 12px auto 18px; font-size: 14px; }
  body.pkn-v2 .pkn-v2-hero-searchwrap { max-width: 620px; margin: 0 auto; }
  body.pkn-v2 .pkn-v2-hero-tags { justify-content: center; }
  body.pkn-v2 .pkn-v2-hero-cta { display: inline-block; margin-top: 16px; font-family: var(--disp); font-weight: 800; font-size: 14px; color: #fff; background: var(--coral); border: 1px solid var(--coral-deep); border-radius: 12px; padding: 13px 30px; box-shadow: 0 6px 16px -6px rgba(232,93,78,.5); }
  body.pkn-v2 .pkn-v2-cats { grid-template-columns: repeat(6, 1fr); }
  body.pkn-v2 .pkn-v2-twocol { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: start; }
  body.pkn-v2 .pkn-v2-sechead { margin: 30px 2px 13px; }
  body.pkn-v2 .pkn-v2-sec-h2 { font-size: 17px; }
  body.pkn-v2 .pkn-v2-homesticky { display: none; } /* PC=hero CTAが担当 */
}
/* home hscroll修正: グリッド子のmin-width:0(モック準拠)+home容器はPC1080px(モックcontentStyle) */
body.pkn-v2 .pkn-v2-twocol > .pkn-v2-col { min-width: 0; }
@media (min-width: 900px) {
  body.pkn-v2 .pkn-v2-content.pkn-v2-home { max-width: 1080px; }
}
body.pkn-v2 .pkn-v2-hero { display: block; } /* v1のsection gridルールを打ち消し(PC中央寄せ=モック) */
/* home: 案件カードをoffersと同一UIで(SP2列/PC3列・統一感) */
 }
/* home 階層表示: 表彰台3カード+4位以下コンパクト行(PC2列/SP1列) */
 }
 /* grid子のnowrap溢れ防止(恒例のmin-width:0) */

/* ---- W2: changes/point-exchange/support/legal/mypage/reminders 軽量v2 ---- */
body.pkn-v2 .pkn-v2-chgchips { display: flex; gap: 7px; margin: 0 0 12px; }
body.pkn-v2 .pkn-v2-chgchips button { font-family: var(--disp); font-weight: 700; font-size: 11.5px; color: #8A7F6F; background: var(--line-2); border: 0; border-radius: 999px; padding: 6px 14px; cursor: pointer; }
body.pkn-v2 .pkn-v2-chgchips button.is-active { background: var(--amber); color: #fff; }
body.pkn-v2 .pkn-v2-chgday { font-family: var(--disp); font-weight: 800; font-size: 12.5px; color: var(--espresso); background: var(--champagne); border: 1px solid var(--gold-line); border-radius: 10px; padding: 8px 12px; margin-bottom: 10px; }
body.pkn-v2 .pkn-v2-chglist { display: flex; flex-direction: column; gap: 8px; margin-bottom: 8px; }
body.pkn-v2 .pkn-v2-chgrow { display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid var(--gold-line); border-radius: 12px; padding: 10px 12px; color: inherit; min-width: 0; }
body.pkn-v2 .pkn-v2-chgdir { flex: none; font-family: var(--disp); font-weight: 800; font-size: 11px; border-radius: 6px; padding: 4px 8px; }
body.pkn-v2 .pkn-v2-chgdir.is-up { color: var(--ok); background: #E7F5EE; }
body.pkn-v2 .pkn-v2-chgdir.is-down { color: var(--down); background: #FDECE9; }
body.pkn-v2 .pkn-v2-chgdir.is-new { color: var(--amber-deep); background: var(--champagne); }
/* 汎用: v2ページのレガシー配色を淡く上書き(インラインstyleの旧色は残るが背景/カードは統一) */
body.pkn-v2 .pkn-main { background: transparent; }
body.pkn-v2 .pkn-detail-card h2, body.pkn-v2 .pkn-main h1 { color: var(--espresso); }

/* ===== point-exchange（dcモック準拠・W2深掘り） ===== */
/* 残置セクション（使い方/ルート表/β開示/収録状況/関連導線）は旧CSSのままアンバーへ再着色 */
body.pkn-v2 .pkn-exchange-v2 {
  background: none;
  --px-ink: #3E2723; --px-muted: #8A7F6F; --px-soft: #FFF8E1; --px-panel: #fff;
  --px-line: #ECE2CF; --px-indigo: #FFA000; --px-green: #3AA76D; --px-amber: #8A6D2F; --px-coral: #E85D4E;
  --px-shadow: 0 1px 2px rgba(80,60,20,.06);
}
body.pkn-v2 .pkn-v2-content.pkn-v2-exwide { padding-bottom: 92px; }
@media (min-width: 900px) {
  body.pkn-v2 .pkn-v2-content.pkn-v2-exwide { max-width: 1064px; padding-bottom: 60px; }
}

body.pkn-v2 .pkn-exv2-h1 { font-weight: 800; font-size: 20px; color: var(--espresso); margin: 2px 0 4px; }
@media (min-width: 900px) { body.pkn-v2 .pkn-exv2-h1 { font-size: 26px; } }
body.pkn-v2 .pkn-exv2-layout { display: block; margin-top: 4px; }
@media (min-width: 900px) {
  body.pkn-v2 .pkn-exv2-layout { display: grid; grid-template-columns: 340px minmax(0,1fr); gap: 28px; align-items: start; }
  body.pkn-v2 .pkn-exv2-selwrap { position: sticky; top: 22px; }
}

body.pkn-v2 .pkn-exv2-selcard { background: #fff; border: 1px solid var(--gold-line); border-radius: 16px; padding: 14px; box-shadow: 0 1px 2px rgba(80,60,20,.06); margin: 0 0 8px; }
body.pkn-v2 .pkn-exv2-pick { display: block; width: 100%; text-align: left; background: #fff; border: 1px solid #ECE2CF; border-radius: 12px; padding: 11px 13px; cursor: pointer; font: inherit; }
body.pkn-v2 .pkn-exv2-pick-cap { font-size: 10px; color: #8A7F6F; font-weight: 700; }
body.pkn-v2 .pkn-exv2-pick-val { display: flex; align-items: center; gap: 8px; margin-top: 3px; min-width: 0; }
body.pkn-v2 .pkn-exv2-mark { width: 26px; height: 26px; border-radius: 8px; background: var(--champagne); color: var(--espresso); display: grid; place-items: center; font-weight: 800; font-size: 11px; flex: none; }
body.pkn-v2 .pkn-exv2-pick-val b { font-weight: 700; font-size: 15px; color: var(--espresso); flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.pkn-v2 .pkn-exv2-chev { color: #8A7F6F; }
body.pkn-v2 .pkn-exv2-swapline { display: grid; place-items: center; margin: 8px 0; }
body.pkn-v2 .pkn-exv2-swap { width: 38px; height: 38px; border-radius: 50%; background: #fff; border: 1px solid #ECE2CF; color: var(--espresso); font-size: 16px; display: grid; place-items: center; box-shadow: 0 1px 2px rgba(80,60,20,.06); text-decoration: none; }
body.pkn-v2 .pkn-exv2-submit { display: block; width: 100%; text-align: center; font-weight: 800; font-size: 15px; color: #fff; background: var(--coral); border: 1px solid #C74334; border-radius: 12px; padding: 14px; margin-top: 12px; cursor: pointer; box-shadow: 0 3px 11px rgba(232,93,78,.3); }

body.pkn-v2 .pkn-exv2-about { background: #fff; border: 1px solid var(--gold-line); border-radius: 16px; padding: 14px; margin-top: 16px; box-shadow: 0 1px 2px rgba(80,60,20,.06); }
body.pkn-v2 .pkn-exv2-about h2 { font-size: 12.5px; color: var(--espresso); margin: 0 0 6px; }
body.pkn-v2 .pkn-exv2-about > p { font-size: 11px; color: #8A7F6F; margin: 0; }
body.pkn-v2 .pkn-exv2-stats { display: flex; gap: 8px; margin-top: 10px; }
body.pkn-v2 .pkn-exv2-stats > div { flex: 1; min-width: 0; background: var(--champagne); border-radius: 9px; padding: 8px; text-align: center; }
body.pkn-v2 .pkn-exv2-stats b { display: block; font-weight: 800; font-size: 13px; color: var(--espresso); }
body.pkn-v2 .pkn-exv2-stats small { font-size: 9px; color: #8A7F6F; }
body.pkn-v2 .pkn-exv2-proof { margin-top: 10px; }
body.pkn-v2 .pkn-exv2-proof img { max-width: 100%; height: auto; border-radius: 9px; border: 1px solid #F4EDE0; }
body.pkn-v2 .pkn-exv2-proof p { font-size: 10px; color: #8A7F6F; margin: 6px 0 0; }
body.pkn-v2 .pkn-exv2-proof strong { display: block; font-size: 11px; color: var(--espresso); }

body.pkn-v2 .pkn-exv2-reshead { display: flex; align-items: baseline; justify-content: space-between; margin: 16px 2px 4px; }
@media (min-width: 900px) { body.pkn-v2 .pkn-exv2-reshead { margin-top: 0; } }
body.pkn-v2 .pkn-exv2-reshead h2 { font-weight: 800; font-size: 15px; color: var(--espresso); margin: 0; }
body.pkn-v2 .pkn-exv2-reshead span { font-size: 11px; color: #8A7F6F; }

body.pkn-v2 .pkn-exv2-card { background: #fff; border: 1px solid var(--gold-line); border-radius: 16px; margin-bottom: 12px; overflow: hidden; box-shadow: 0 1px 2px rgba(80,60,20,.06); }
body.pkn-v2 .pkn-exv2-card.is-best { border-color: #F2E2BA; }
body.pkn-v2 .pkn-exv2-card summary { display: block; cursor: pointer; list-style: none; }
body.pkn-v2 .pkn-exv2-card summary::-webkit-details-marker { display: none; }
body.pkn-v2 .pkn-exv2-card-head { display: flex; align-items: center; gap: 8px; padding: 12px 14px 4px; }
body.pkn-v2 .pkn-exv2-badge { font-weight: 800; font-size: 10px; padding: 2px 9px; border-radius: 999px; }
body.pkn-v2 .pkn-exv2-badge.is-best { background: #FDECE9; color: var(--coral); }
body.pkn-v2 .pkn-exv2-badge.is-rank { background: #F4EDE0; color: #55606C; }
body.pkn-v2 .pkn-exv2-badge.is-ok { margin-left: auto; background: #E7F5EE; color: #227A4E; }
body.pkn-v2 .pkn-exv2-badge.is-check { margin-left: auto; background: #FFF4E0; color: #8A6D2F; }
body.pkn-v2 .pkn-exv2-card-route { display: block; padding: 6px 14px 0; font-weight: 700; font-size: 13.5px; color: var(--espresso); line-height: 1.5; }
body.pkn-v2 .pkn-exv2-arw { color: #8A7F6F; margin: 0 5px; font-weight: 400; }
body.pkn-v2 .pkn-exv2-card-yield { display: flex; align-items: baseline; justify-content: space-between; padding: 10px 14px 12px; }
body.pkn-v2 .pkn-exv2-card-yield small { font-size: 11px; color: #8A7F6F; }
body.pkn-v2 .pkn-exv2-card-yield b { font-weight: 800; font-size: 23px; color: var(--espresso); }
body.pkn-v2 .pkn-exv2-card-toggle { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-top: 1px solid #F4EDE0; font-weight: 700; font-size: 12.5px; color: var(--espresso); }
body.pkn-v2 .pkn-exv2-card-toggle .pkn-exv2-chev { margin-left: auto; transition: transform .2s; }
body.pkn-v2 .pkn-exv2-card[open] .pkn-exv2-card-toggle .pkn-exv2-chev { transform: rotate(180deg); }
body.pkn-v2 .pkn-exv2-card-body { padding: 0 14px 14px; }
body.pkn-v2 .pkn-exv2-step { display: flex; justify-content: space-between; gap: 10px; font-size: 11.5px; padding: 7px 2px; border-bottom: 1px dashed #ECE2CF; }
body.pkn-v2 .pkn-exv2-step > span:first-child { color: var(--espresso); font-weight: 700; }
body.pkn-v2 .pkn-exv2-step-meta { color: #8A7F6F; text-align: right; }
body.pkn-v2 .pkn-exv2-notebox { font-size: 11px; color: #6A5A3A; background: #FBF5E6; border-radius: 9px; padding: 9px 11px; margin-top: 9px; }
body.pkn-v2 .pkn-exv2-notebox p { margin: 0 0 4px; }
body.pkn-v2 .pkn-exv2-notebox p:last-child { margin-bottom: 0; }
body.pkn-v2 .pkn-exv2-src { font-size: 10.5px; color: #8A7F6F; margin-top: 8px; }
body.pkn-v2 .pkn-exv2-src a { text-decoration: underline; margin-right: 8px; }

body.pkn-v2 .pkn-exv2-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; display: flex; align-items: center; justify-content: space-between; gap: 10px; background: #fff; border-top: 1px solid #ECE2CF; padding: 9px 14px 12px; box-shadow: 0 -6px 16px rgba(16,22,29,.07); }
body.pkn-v2 .pkn-exv2-sticky span { font-size: 11px; color: #8A7F6F; }
body.pkn-v2 .pkn-exv2-sticky span b { font-weight: 800; font-size: 16px; color: var(--espresso); margin-left: 6px; }
body.pkn-v2 .pkn-exv2-sticky a { font-weight: 800; font-size: 13px; color: #fff; background: var(--espresso); border-radius: 11px; padding: 12px 16px; text-decoration: none; }
@media (min-width: 900px) { body.pkn-v2 .pkn-exv2-sticky { display: none; } }

body.pkn-v2 .pkn-exv2-modal { position: fixed; inset: 0; z-index: 60; display: flex; justify-content: center; align-items: flex-end; }
body.pkn-v2 .pkn-exv2-modal[hidden] { display: none; }
body.pkn-v2 .pkn-exv2-modal-ov { position: absolute; inset: 0; background: rgba(16,22,29,.4); }
body.pkn-v2 .pkn-exv2-sheet { position: relative; background: #fff; width: 100%; max-width: 480px; border-radius: 20px 20px 0 0; max-height: 78vh; display: flex; flex-direction: column; overflow: hidden; }
@media (min-width: 900px) {
  body.pkn-v2 .pkn-exv2-modal { align-items: center; }
  body.pkn-v2 .pkn-exv2-sheet { max-width: 460px; border-radius: 18px; }
}
body.pkn-v2 .pkn-exv2-sheet-head { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-bottom: 1px solid #ECE2CF; }
body.pkn-v2 .pkn-exv2-sheet-head b { font-size: 14px; font-weight: 800; color: var(--espresso); flex: 1; }
body.pkn-v2 .pkn-exv2-close { border: 0; background: #F1F3F6; border-radius: 8px; width: 30px; height: 30px; font-size: 15px; cursor: pointer; color: #8A7F6F; }
body.pkn-v2 .pkn-exv2-sheet-search { padding: 12px 16px; border-bottom: 1px solid #F4EDE0; }
body.pkn-v2 .pkn-exv2-sheet-search input { width: 100%; border: 1px solid #ECE2CF; border-radius: 11px; padding: 11px 13px; font-size: 13px; outline: 0; }
body.pkn-v2 .pkn-exv2-sheet-list { overflow-y: auto; padding: 6px 8px; flex: 1; }
body.pkn-v2 .pkn-exv2-group-name { font-weight: 700; font-size: 10px; color: #8A7F6F; padding: 9px 10px 4px; letter-spacing: .4px; }
body.pkn-v2 .pkn-exv2-opt { display: flex; width: 100%; align-items: center; gap: 10px; padding: 11px 10px; border-radius: 10px; cursor: pointer; border: 0; background: none; text-align: left; font: inherit; }
body.pkn-v2 .pkn-exv2-opt:hover { background: #F6F4EF; }
body.pkn-v2 .pkn-exv2-opt b { font-weight: 700; font-size: 13.5px; color: var(--espresso); }
body.pkn-v2 .pkn-exv2-none { font-weight: 700; font-size: 11px; color: #8A7F6F; padding: 14px 10px; }

/* ===== 統一感監査(2026-07-11): 共通h1/crumbパターンの横断適用 ===== */
/* content/コンポーネント由来でclass付与できないh1へ、.pkn-v2-h1と同一の見た目を適用 */
body.pkn-v2 .pkn-support-hero h1,
body.pkn-v2 .pkn-legal-article h1,
body.pkn-v2 .pkn-loginprompt-title {
  display: flex; align-items: center; gap: 10px;
  font-weight: 800; font-size: 20px; color: var(--espresso);
  letter-spacing: 0; margin: 2px 0 10px;
  border-bottom: 0; padding-bottom: 0;
}
body.pkn-v2 .pkn-support-hero h1::before,
body.pkn-v2 .pkn-legal-article h1::before,
body.pkn-v2 .pkn-loginprompt-title::before {
  content: ""; width: 4px; height: 18px; background: var(--amber); border-radius: 2px; flex: none;
}
@media (min-width: 900px) {
  body.pkn-v2 .pkn-support-hero h1,
  body.pkn-v2 .pkn-legal-article h1,
  body.pkn-v2 .pkn-loginprompt-title { font-size: 26px; }
  body.pkn-v2 .pkn-support-hero h1::before,
  body.pkn-v2 .pkn-legal-article h1::before,
  body.pkn-v2 .pkn-loginprompt-title::before { height: 22px; }
}
/* ゲート面(ログイン誘導)は中央寄せカードのため、バー+見出しを中央でまとめる */
body.pkn-v2 .pkn-loginprompt-title { justify-content: center; }
/* v1コンテナ(.pkn-container)直下に置くcrumb行 */
body.pkn-v2 .pkn-v2-crumbrow { padding-top: 14px; }
body.pkn-v2 .pkn-container > .pkn-v2-crumb { margin: 14px 0 0; }
/* offer-detailのパンくずリンクをv2標準(espresso)へ統一 */
body.pkn-v2 .pkn-breadcrumb a { color: var(--espresso); font-weight: 700; }

/* ===== support応援ページ: v1残色(緑#11715B系・青グレー系)をv2パレットへ再着色 ===== */
body.pkn-v2 .pkn-support-kicker { color: var(--amber-deep); }
body.pkn-v2 .pkn-support-card-icon { background: var(--champagne); color: var(--espresso); }
body.pkn-v2 .pkn-support-card-icon svg { color: var(--espresso); }
body.pkn-v2 .pkn-support-btn { background: #fff; border: 1px solid var(--gold-line); color: var(--espresso); }
body.pkn-v2 .pkn-support-btn:hover { background: var(--champagne); }
/* v1側が !important のため対で上書き（body.pkn-v2内に限定） */
body.pkn-v2 .pkn-support-btn.pkn-support-btn-secondary { background: #fff; color: var(--espresso) !important; }
body.pkn-v2 .pkn-support-submit { background: var(--espresso); border-color: var(--espresso); color: #fff; }
body.pkn-v2 .pkn-support-page h2 { color: var(--espresso); }
body.pkn-v2 .pkn-support-page p,
body.pkn-v2 .pkn-support-page label,
body.pkn-v2 .pkn-support-page span:not(.pkn-support-kicker) { color: #8A7F6F; }
body.pkn-v2 .pkn-support-page input,
body.pkn-v2 .pkn-support-page select,
body.pkn-v2 .pkn-support-page textarea { color: var(--brown-ink); border-color: #ECE2CF; }

/* ===== 層A: offer-detail 監修ボックス+応援共有行（dcモック offer.dc） ===== */
body.pkn-v2 .pkn-v2-author-row { display: flex; gap: 12px; align-items: center; }
body.pkn-v2 .pkn-v2-author-avatar { width: 54px; height: 54px; border-radius: 50%; background: var(--espresso); display: grid; place-items: center; font-size: 27px; flex: none; }
body.pkn-v2 .pkn-v2-author-body b { font-weight: 800; font-size: 14.5px; color: var(--espresso); }
body.pkn-v2 .pkn-v2-author-tag { font-size: 10px; color: #fff; background: var(--espresso); border-radius: 999px; padding: 2px 9px; margin-left: 7px; font-weight: 700; }
body.pkn-v2 .pkn-v2-author-body p { font-size: 12px; color: #8A7F6F; margin: 3px 0 0; }
body.pkn-v2 .pkn-v2-author-link { display: block; margin-top: 12px; font-size: 12px; color: var(--espresso); font-weight: 700; }
body.pkn-v2 .pkn-v2-sharewrap { margin-top: 10px; padding-top: 10px; border-top: 1px solid #F4EDE0; font-weight: 700; font-size: 12.5px; color: var(--espresso); }
body.pkn-v2 .pkn-v2-sharewrap a { color: var(--coral); font-size: 11.5px; margin: 0 6px; font-weight: 700; }

/* ===== 層A/B: ログイン後 mypage/reminders + 共通部品のv1寒色をv2暖色へ ===== */
/* h1標準化（ログイン後ビュー） */
body.pkn-v2 .pkn-mp-h1,
body.pkn-v2 .pkn-rem-hero-h1 {
  display: flex; align-items: center; gap: 10px;
  font-weight: 800; font-size: 20px; color: var(--espresso); letter-spacing: 0;
}
body.pkn-v2 .pkn-mp-h1::before,
body.pkn-v2 .pkn-rem-hero-h1::before {
  content: ""; width: 4px; height: 18px; background: var(--amber); border-radius: 2px; flex: none;
}
@media (min-width: 900px) {
  body.pkn-v2 .pkn-mp-h1, body.pkn-v2 .pkn-rem-hero-h1 { font-size: 26px; }
  body.pkn-v2 .pkn-mp-h1::before, body.pkn-v2 .pkn-rem-hero-h1::before { height: 22px; }
}
/* 紺ボタン(#4E342E)→espresso（コーラルは主CTA予約のため強ニュートラル） */
body.pkn-v2 .pkn-btn { background: var(--espresso); border-color: var(--espresso); color: #fff; }
body.pkn-v2 .pkn-btn:hover { background: var(--brown-ink); }
/* インク/スレート系テキスト→ブラウン階調 */
body.pkn-v2 .pkn-sec-title, body.pkn-v2 .pkn-mono,
body.pkn-v2 .pkn-mp-kpi-val, body.pkn-v2 .pkn-rem-kpi-val { color: var(--espresso); }
body.pkn-v2 .pkn-mp-hello, body.pkn-v2 .pkn-mp-kpi-label,
body.pkn-v2 .pkn-rem-hero-eyebrow, body.pkn-v2 .pkn-rem-hero-lead,
body.pkn-v2 .pkn-sort-btn { color: #8A7F6F; }
body.pkn-v2 .pkn-rem-empty, body.pkn-v2 .pkn-empty-desc { color: #8A7F6F; }
/* 寒色グレー地→暖色 */
body.pkn-v2 .pkn-mp-hero, body.pkn-v2 .pkn-rem-hero { background: var(--ivory); }
body.pkn-v2 .pkn-hdr-iconbtn { background: #F6F4EF; }
body.pkn-v2 .pkn-hdr-avatar { background: var(--champagne); border-color: #ECE2CF; }
body.pkn-v2 .pkn-mp-kpi, body.pkn-v2 .pkn-rem-kpi, body.pkn-v2 .pkn-rem-empty { border-color: #ECE2CF; }
/* フッターの寒色残り */
body.pkn-v2 .pkn-footer { border-color: #ECE2CF; }
body.pkn-v2 .pkn-footer-brand { color: var(--espresso); }
body.pkn-v2 .pkn-footer-copy { color: #8A7F6F; }
/* 残り: KPI単位/差分・reminders空状態アイコン・フッター説明文 */
body.pkn-v2 .pkn-money-unit, body.pkn-v2 .pkn-mp-kpi-delta,
body.pkn-v2 .pkn-rem-kpi-label, body.pkn-v2 .pkn-footer-text { color: #8A7F6F; }
body.pkn-v2 span.pkn-mono, body.pkn-v2 .pkn-mp-kpi span.pkn-mono { color: var(--espresso); }
body.pkn-v2 .pkn-rem-empty div, body.pkn-v2 .pkn-rem-empty .pkn-ui-icon { color: #8A7F6F; }
/* v1トークンをv2ページ上で暖色系に再マップ（インラインstyleのvar()参照・v1ルール残りを一括解決） */
body.pkn-v2 {
  --c-indigo: #4E342E; --c-indigo-dark: #3E2723; --c-indigo-soft: #FFF8E1; --c-indigo-pale: #F6F4EF;
  --c-ink: #3E2723; --c-ink-sub: #8A7F6F; --c-ink-muted: #8A7F6F;
  --c-line: #ECE2CF; --c-line-soft: #F4EDE0; --c-cream: #FFFCF2; --c-sand: #F4EDE0;
  --c-coral: #FFB300; --c-coral-dark: #FFA000; --c-coral-soft: #FFF8E1;
  --c-success: #3AA76D; --c-success-soft: #E7F5EE;
  --c-yellow: #FFB300; --c-yellow-soft: #FFF8E1; --c-warm: #FFF8E1;
}
/* ゲートCTA(v1山吹#FFB300)→espresso・特徴アイコン→amber-deep */
body.pkn-v2 .pkn-loginprompt-cta { background: var(--espresso); border-color: var(--espresso); color: #fff; }
body.pkn-v2 .pkn-loginprompt-feat-icon { color: var(--amber-deep); }
/* detail内の応援インラインボックス(緑系)→v2暖色（/support/と同方針） */
body.pkn-v2 .pkn-support-inline-label { color: var(--amber-deep); }
body.pkn-v2 .pkn-support-inline .pkn-support-mini-btn,
body.pkn-v2 .pkn-support-mini-btn { background: var(--champagne); color: var(--espresso) !important; }

/* ===== solレビュー採用修正(2026-07-11) ===== */
/* supportボタン: v1のcolor:#fff!importantへの対抗（body.pkn-v2限定） */
body.pkn-v2 .pkn-support-btn { color: var(--espresso) !important; }
/* offersカードの更新日ラベル（.pkn-oc-upd 未定義だった） */
body.pkn-v2 .pkn-oc-upd { font-size: 10px; color: #8A7F6F; margin-left: auto; font-weight: 400; }
/* 還元額スライダー上限値の色（下限のみだった） */
body.pkn-v2 .pkn-reward-filter-value-max { color: var(--amber-deep); }
/* changes さらに表示ボタン */
body.pkn-v2 .pkn-v2-chgmore { display: block; width: 100%; margin: 10px 0 0; padding: 11px; background: #fff; border: 1px solid var(--gold-line); border-radius: 12px; font-weight: 700; font-size: 12.5px; color: var(--espresso); cursor: pointer; }
body.pkn-v2 .pkn-v2-chgmore[hidden] { display: none; }
/* exchange残置セクションの淡青ハードコードを暖色へ */
body.pkn-v2 .pkn-v2-route-table-row.is-head { background: var(--champagne); color: var(--espresso); }
/* legal小見出しの左線をアンバーへ（モック準拠・その他はトークン再マップ済み） */
body.pkn-v2 .poikatsu-legal-doc h2 { border-left-color: var(--amber); }
/* reminders設定サイドバー: トグルが表示のみ(機能なし)のためPhase2まで非表示 */
body.pkn-v2 .pkn-rem-settings { display: none; }
/* 769-899px: モック基準(900px)へ調和 — ヘッダーをモバイル状態に */
@media (min-width: 769px) and (max-width: 899.98px) {
  body.pkn-v2 .pkn-nav { display: none; }
  body.pkn-v2 .pkn-hdr-blog-desktop { display: none; }
  body.pkn-v2 .pkn-mm-btn { display: inline-flex; }
  body.pkn-v2 .pkn-logo-tag { display: none; }
}
/* 900-1023px: detailの2カラムをモック通り900pxから維持（v1は1024px切替） */
@media (min-width: 900px) and (max-width: 1023.98px) {
  body.pkn-v2 .pkn-detail-body { flex-direction: row; }
}

/* ================================================================
   v3 企業構造スキン（2026-07-11 ユーザー確定・全面適用）
   見た目の正: docs/design-impl/v3-corporate/*.html（CD指定トークンのみ）
   v2土台の上に後段優先で適用: 地色/リンク/クローム/角丸4・3px/密度
   ================================================================ */
/* 地色=アイボリー全面・基調リンク=amber-deep（CD: dcモックのa色） */
body.pkn-v2 { background: var(--ivory); }
body.pkn-v2 .pkn-exchange-v2 { background: none; }
body.pkn-v2 a { color: var(--amber-deep); }
body.pkn-v2 .pkn-v2-crumb a, body.pkn-v2 .pkn-breadcrumb a { color: var(--espresso); }

/* ヘッダー: 白地+アンバー3px下線・ログインは枠線ボタン */
body.pkn-v2 .pkn-header { background: #fff; border-bottom: 3px solid var(--amber); }
body.pkn-v2 .pkn-hdr-login { color: var(--espresso); font-weight: 700; font-size: 12px; border: 1px solid var(--espresso); border-radius: 4px; padding: 6px 12px; background: #fff; }

/* フッター: 濃色（brown-ink）+ゴールドラインのリンク */
body.pkn-v2 .pkn-footer { background: var(--brown-ink); border-top: 0; color: #F4EDE0; }
body.pkn-v2 .pkn-footer-brand, body.pkn-v2 .pkn-footer .pkn-logo-text { color: #fff; }
body.pkn-v2 .pkn-footer-text { color: #F4EDE0; }
body.pkn-v2 .pkn-footer-copy { color: var(--muted); }
body.pkn-v2 .pkn-legal-nav { background: var(--brown-ink); margin: 0; max-width: none; padding-top: 0; }
body.pkn-v2 .pkn-legal-nav a { color: var(--gold-line); }
body.pkn-v2 .pkn-legal-nav span { color: #8A7F6F; }

/* 角丸: カード=4px・ボタン=4px・チップ/バッジ=3px/2px（企業構造） */
body.pkn-v2 :is(.pkn-detail-card, .pkn-card, .pkn-v2-acc, .pkn-exv2-selcard, .pkn-exv2-about,
  .pkn-exv2-card, .pkn-v2-chgrow, .pkn-v2-chgday, .pkn-loginprompt-main, .pkn-mp-kpi, .pkn-rem-kpi,
  .pkn-support-card, .pkn-support-hero, .pkn-support-feedback, .pkn-legal-article, .pkn-v2-empty,
  .pkn-v2-warning, .pkn-exv2-proof img, .pkn-v2-authorbox) { border-radius: 4px; }
body.pkn-v2 :is(.pkn-v2-cta, .pkn-exv2-submit, .pkn-btn, .pkn-loginprompt-cta, .pkn-support-btn,
  .pkn-support-submit, .pkn-v2-chgmore, .pkn-exv2-pick, .pkn-exv2-sticky a) { border-radius: 4px; }
body.pkn-v2 :is(.pkn-v2-chgchips button, .pkn-tag-btn, .pkn-exv2-hop) { border-radius: 3px; }
body.pkn-v2 :is(.pkn-v2-chgdir, .pkn-exv2-badge, .pkn-oc-badge, .pkn-badge-highest, .lvl) { border-radius: 2px; }
body.pkn-v2 .pkn-exv2-sheet { border-radius: 4px 4px 0 0; }
@media (min-width: 900px) { body.pkn-v2 .pkn-exv2-sheet { border-radius: 4px; } }
body.pkn-v2 .pkn-exv2-mark { border-radius: 3px; }

/* ---- v3 home: 帯ヒーロー+KPI+罫線リスト+カテゴリチップ ---- */
body.pkn-v2 .pkn-v2-hero { display: block; background: linear-gradient(135deg, var(--amber), var(--amber-deep)); border: 1px solid var(--amber-deep); border-radius: 4px; padding: 16px; text-align: left; margin-bottom: 12px; min-height: 0; }
body.pkn-v2 .pkn-v2-hero-h1 { font-size: 16px; color: var(--espresso); margin: 0 0 4px; line-height: 1.5; }
body.pkn-v2 .pkn-v2-hero-h1 .is-em { color: inherit; }
body.pkn-v2 .pkn-v2-hero-h1 br { display: none; }
body.pkn-v2 .pkn-v2-hero-sub { color: var(--espresso); opacity: .85; font-size: 11px; margin: 0 0 10px; }
body.pkn-v2 .pkn-v2-hero-searchwrap { margin: 0; }
body.pkn-v2 .pkn-v2-hero-search { display: flex; background: #fff; border: 0; border-radius: 4px; overflow: hidden; max-width: 640px; box-shadow: none; }
body.pkn-v2 .pkn-v2-hero-search input { flex: 1; border: 0; padding: 11px 13px; font-size: 13.5px; outline: 0; background: #fff; border-radius: 0; }
body.pkn-v2 .pkn-v2-hero-search button { border: 0; background: var(--espresso); color: #fff; font-weight: 800; font-size: 13.5px; padding: 0 22px; border-radius: 0; }
@media (min-width: 900px) { body.pkn-v2 .pkn-v2-hero { padding: 20px 24px; } body.pkn-v2 .pkn-v2-hero-h1 { font-size: 20px; } }
/* KPI帯 → 白カードグリッド */
body.pkn-v2 .pkn-v2-strip { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; background: none; border: 0; padding: 0; margin: 0 0 14px; box-shadow: none; }
body.pkn-v2 .pkn-v2-strip > div { background: #fff; border: 1px solid var(--gold-line); border-radius: 4px; padding: 10px 12px; text-align: center; }
body.pkn-v2 .pkn-v2-strip b { display: block; font-size: 17px; color: var(--espresso); }
body.pkn-v2 .pkn-v2-strip small { font-size: 10px; color: var(--muted); }
@media (min-width: 900px) { body.pkn-v2 .pkn-v2-strip { grid-template-columns: repeat(4, 1fr); } }
/* 2カラム→縦積み・行→罫線リスト */
body.pkn-v2 .pkn-v2-twocol { display: block; }
body.pkn-v2 :is(.pkn-v2-rankrow, .pkn-v2-uprow) { background: #fff; border: 1px solid var(--gold-line); border-radius: 0; margin: 0 0 -1px; padding: 9px 12px; box-shadow: none; }
body.pkn-v2 :is(.pkn-v2-rankrow, .pkn-v2-uprow):first-of-type { border-radius: 4px 4px 0 0; }
body.pkn-v2 :is(.pkn-v2-rankrow, .pkn-v2-uprow):last-of-type { border-radius: 0 0 4px 4px; margin-bottom: 14px; }
body.pkn-v2 .pkn-v2-rankrow.is-first { background: var(--champagne); }
body.pkn-v2 .pkn-v2-rankno { width: 34px; height: 18px; line-height: 18px; border-radius: 2px; background: var(--line-2); color: var(--muted); font-size: 10px; font-weight: 800; text-align: center; flex: none; }
body.pkn-v2 .pkn-v2-rankno::after { content: "位"; }
body.pkn-v2 .pkn-v2-rankrow.is-first .pkn-v2-rankno { background: var(--coral); color: #fff; }
body.pkn-v2 .pkn-v2-rankrow:nth-of-type(2) .pkn-v2-rankno { background: var(--muted); color: #fff; }
body.pkn-v2 .pkn-v2-rankright .pkn-v2-rankbest { display: none; }
body.pkn-v2 .pkn-v2-rankval { color: var(--espresso); }
body.pkn-v2 .pkn-v2-rankrow.is-first .pkn-v2-rankval { color: var(--coral); }
body.pkn-v2 .pkn-v2-upbadge { background: none; border: 0; color: var(--ok); font-weight: 800; padding: 0; }
body.pkn-v2 .pkn-v2-upval { color: var(--espresso); }
/* カテゴリタイル→チップ */
body.pkn-v2 .pkn-v2-cats { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 4px; }
body.pkn-v2 .pkn-v2-cat-tile { flex: none; display: block; background: #fff; border: 1px solid var(--line); border-radius: 3px; padding: 5px 12px; box-shadow: none; text-align: center; }
body.pkn-v2 .pkn-v2-cat-ico { display: none; }
body.pkn-v2 .pkn-v2-cat-tile small { display: none; }
body.pkn-v2 .pkn-v2-cat-tile b { font-size: 11.5px; font-weight: 700; color: var(--espresso); }

/* ---- v3 offers: カード=ヘッダ行+サイト別罫線テーブル+フッタ行 ---- */
body.pkn-v2 .pkn-results-list { display: grid; grid-template-columns: 1fr; gap: 10px; background: none; border: 0; border-radius: 0; box-shadow: none; overflow: visible; }
@media (min-width: 900px) { body.pkn-v2 .pkn-results-list { grid-template-columns: 1fr 1fr; } }
body.pkn-v2 .pkn-oc { display: block; background: #fff; border: 1px solid var(--gold-line); border-radius: 4px; box-shadow: 0 1px 2px rgba(80,60,20,.06); overflow: hidden; position: relative; padding: 0; }
body.pkn-v2 .pkn-oc-hd { display: flex; gap: 10px; padding: 10px 12px 8px; align-items: flex-start; }
body.pkn-v2 .pkn-oc-adimg { width: 76px; height: 57px; flex: none; border: 1px solid var(--line-2); border-radius: 3px; background: var(--ivory); overflow: hidden; position: relative; margin: 0; }
body.pkn-v2 .pkn-oc-t { min-width: 0; flex: 1; }
body.pkn-v2 .pkn-oc-hbadge { display: inline-block; background: var(--champagne); color: #8A6D2F; border: 1px solid var(--gold-line); font-size: 10px; font-weight: 700; padding: 1px 7px; border-radius: 2px; margin-bottom: 3px; }
body.pkn-v2 .pkn-oc-title { font-size: 13.5px; font-weight: 700; color: var(--espresso); line-height: 1.45; margin: 0; }
body.pkn-v2 .pkn-oc-meta { font-size: 10.5px; color: var(--muted); margin-top: 2px; }
body.pkn-v2 .pkn-oc-max { flex: none; text-align: right; }
body.pkn-v2 .pkn-oc-max small { display: block; font-size: 10px; color: var(--muted); }
body.pkn-v2 .pkn-oc-max b { font-size: 19px; color: var(--coral); font-weight: 800; }
body.pkn-v2 .pkn-oc-max b i { font-style: normal; font-size: 11px; font-weight: 700; }
body.pkn-v2 .pkn-v3-tbl { width: 100%; border-collapse: collapse; border-top: 1px solid var(--line-2); }
body.pkn-v2 .pkn-v3-tbl th, body.pkn-v2 .pkn-v3-tbl td { font-size: 12px; padding: 6px 12px; border-bottom: 1px solid var(--line-2); text-align: left; }
body.pkn-v2 .pkn-v3-tbl th { background: var(--champagne); color: var(--muted); font-size: 10.5px; font-weight: 700; padding: 4px 12px; }
body.pkn-v2 .pkn-v3-tbl td.v { text-align: right; font-weight: 700; color: var(--espresso); white-space: nowrap; }
body.pkn-v2 .pkn-v3-tbl tr.is-r1 td { background: var(--champagne); }
body.pkn-v2 .pkn-v3-tbl tr.is-r1 td.v { color: var(--coral); font-size: 14px; }
body.pkn-v2 .pkn-v3-tbl tr:last-child td { border-bottom: 0; }
body.pkn-v2 .pkn-v3-rk { display: inline-block; width: 34px; text-align: center; font-size: 10px; font-weight: 800; border-radius: 2px; padding: 1px 0; margin-right: 7px; }
body.pkn-v2 .pkn-v3-rk.rk1 { background: var(--coral); color: #fff; }
body.pkn-v2 .pkn-v3-rk.rk2 { background: var(--muted); color: #fff; }
body.pkn-v2 .pkn-v3-rk.rk3 { background: var(--line-2); color: var(--muted); }
body.pkn-v2 .pkn-oc-ft { display: flex; align-items: center; gap: 12px; padding: 7px 12px; font-size: 11px; color: var(--muted); background: var(--ivory); border-top: 1px solid var(--line-2); }
body.pkn-v2 .pkn-oc-save { position: static; font-size: 14px; color: var(--muted); background: none; border: 0; width: auto; height: auto; }
body.pkn-v2 .pkn-oc-save.is-saved { color: var(--coral); }
body.pkn-v2 .pkn-oc-more { margin-left: auto; font-weight: 700; color: var(--amber-deep); }
body.pkn-v2 .pkn-oc-ended { padding: 10px 12px; font-size: 12px; color: var(--muted); border-top: 1px solid var(--line-2); }

/* ---- v3 detail: 比較行を罫線テーブル調に ---- */
body.pkn-v2 .pkn-cmp-row { border-radius: 0; margin: 0 0 -1px; border: 1px solid var(--line-2); background: #fff; }
body.pkn-v2 .pkn-cmp-row.is-best { background: var(--champagne); }
body.pkn-v2 .pkn-cmp-rank-badge { width: 34px; height: 18px; line-height: 18px; border-radius: 2px; background: var(--line-2); color: var(--muted); font-size: 10px; font-weight: 800; }
body.pkn-v2 .pkn-cmp-rank-badge.is-r1 { background: var(--coral); color: #fff; }

/* ---- v3 changes: 日付バー+結合罫線リスト ---- */
body.pkn-v2 .pkn-v2-chgday { background: #fff; border: 1px solid var(--gold-line); border-bottom: 0; border-radius: 4px 4px 0 0; margin-bottom: 0; }
body.pkn-v2 .pkn-v2-chglist-main { background: #fff; border: 1px solid var(--gold-line); border-radius: 0 0 4px 4px; overflow: hidden; display: block; }
body.pkn-v2 .pkn-v2-chglist-news { background: #fff; border: 1px solid var(--gold-line); border-radius: 4px; overflow: hidden; display: block; }
body.pkn-v2 .pkn-v2-chgrow { border: 0; border-bottom: 1px solid var(--line-2); border-radius: 0; margin: 0; box-shadow: none; background: #fff; }
body.pkn-v2 :is(.pkn-v2-chglist-main, .pkn-v2-chglist-news) .pkn-v2-chgrow:last-child { border-bottom: 0; }
body.pkn-v2 .pkn-v2-chgdir.is-up { color: var(--ok); background: none; }
body.pkn-v2 .pkn-v2-chgdir.is-down { color: var(--down, #B0563F); background: none; }

/* ---- v3色統一: v1由来の残色をCDトークンへ（サイトブランドチップ/広告画像=機能色は除外） ---- */
body.pkn-v2 .pkn-chip-btn { color: var(--espresso); border-color: var(--line); }
body.pkn-v2 .pkn-offer-id { color: var(--line); }
body.pkn-v2 .pkn-offer-media-label { color: var(--muted); }
body.pkn-v2 .pkn-cmp-diff-col { color: #8A6D2F; }
body.pkn-v2 .pkn-v2-note, body.pkn-v2 .pkn-v2-note br { color: var(--muted); }
body.pkn-v2 .pkn-v2-table, body.pkn-v2 .pkn-v2-table tbody, body.pkn-v2 .pkn-v2-table tr { color: var(--brown-ink); border-color: var(--line); }
body.pkn-v2 .pkn-v2-warning { background: var(--champagne); border-color: var(--gold-line); }
body.pkn-v2 .pkn-v2-warning strong, body.pkn-v2 .pkn-v2-warning span { color: #8A6D2F; }
body.pkn-v2 .pkn-v2-beta { background: var(--champagne); border-color: var(--gold-line); }
body.pkn-v2 .pkn-v2-beta-badge, body.pkn-v2 .pkn-v2-beta-toggle { color: #8A6D2F; }
body.pkn-v2 .pkn-v2-answer-note { color: #8A6D2F; background: var(--champagne); }
body.pkn-v2 .pkn-exv2-badge.is-rank { background: var(--line-2); color: #55606C; }
body.pkn-v2 .pkn-support-card-note { color: #8A6D2F; }
body.pkn-v2 .pkn-support-page input, body.pkn-v2 .pkn-support-page select, body.pkn-v2 .pkn-support-page textarea { background: #fff; }
body.pkn-v2 .pkn-legal-article hr, body.pkn-v2 .poikatsu-legal-doc hr { border-color: var(--line); background: var(--line); color: var(--line); }
/* exchange残置セクション: v1側の高特異度に対抗（.pkn-exchange-v2スコープで上書き） */
body.pkn-v2 .pkn-exchange-v2 .pkn-v2-warning { background: var(--champagne); border-color: var(--gold-line); color: #8A6D2F; }
body.pkn-v2 .pkn-exchange-v2 .pkn-v2-warning strong,
body.pkn-v2 .pkn-exchange-v2 .pkn-v2-warning span { color: #8A6D2F; }
body.pkn-v2 .pkn-exchange-v2 .pkn-v2-answer-note { color: #8A6D2F; background: var(--champagne); }
body.pkn-v2 .pkn-exchange-v2 .pkn-v2-stat-grid span { background: var(--champagne); color: var(--espresso); }
body.pkn-v2 .pkn-support-card-note { color: #8A6D2F !important; /* v1が!important */ }
/* detail残り: v1ハードコード色→CDトークン */
body.pkn-v2 :is(.pkn-history-stat, .pkn-history-recent-item, .pkn-mobile-action-best) { border-color: var(--gold-line); }
body.pkn-v2 .pkn-pill { color: #8A6D2F; }
body.pkn-v2 .pkn-support-inline { background: var(--ivory); }
body.pkn-v2 .pkn-support-inline p { color: var(--muted); }
body.pkn-v2 .pkn-exchange-v2 .pkn-v2-answer .pkn-v2-answer-note { color: #8A6D2F; background: var(--champagne); }
body.pkn-v2 :is(.pkn-history-stat, .pkn-history-recent-item) { background: var(--ivory); }
body.pkn-v2 .pkn-v2-answer-note { color: #8A6D2F !important; /* v1が!important */ background: var(--champagne); border-radius: 4px; }

/* ================================================================
   v3 記事系(JIN)スキン — body.pkn-v3-blog（blogコンテキストのみ付与）
   正: dc-src/article.dc.html 等のCD指定 + v3企業構造粒度(角丸4/罫線)
   JINテーマのDOM（本番スナップショット準拠）をCDトークンで再スキン
   ================================================================ */
body.pkn-v3-blog { background: var(--ivory); }
/* JINヘッダー: 白地+アンバー3px下線 */
body.pkn-v3-blog .header-box { background: #fff; border-bottom: 3px solid var(--amber); box-shadow: none; }
body.pkn-v3-blog .header-box a, body.pkn-v3-blog .global-nav a { color: var(--espresso); }
body.pkn-v3-blog .cps-info-bar { background: #FAF1DD; color: #8A6D2F; }
body.pkn-v3-blog .cps-info-bar a { color: #8A6D2F; }
/* パンくず */
body.pkn-v3-blog .breadcrumbs { font-size: 11px; color: var(--muted); }
body.pkn-v3-blog .breadcrumbs a { color: var(--espresso); font-weight: 700; }
/* 記事コンテナ: 白カード+ゴールドライン+角丸4 */
body.pkn-v3-blog .cps-post-box, body.pkn-v3-blog .post-entry {
  background: #fff; border: 1px solid var(--gold-line); border-radius: 4px; box-shadow: 0 1px 2px rgba(80,60,20,.06);
}
/* 記事タイトル(CD: 20/28px espresso)+アンバーバー */
body.pkn-v3-blog .cps-post-title {
  display: flex; align-items: flex-start; gap: 10px;
  font-weight: 800; font-size: 20px; line-height: 1.4; color: var(--espresso);
}
body.pkn-v3-blog .cps-post-title::before { content: ""; width: 4px; height: 22px; background: var(--amber); border-radius: 2px; flex: none; margin-top: 3px; }
@media (min-width: 900px) { body.pkn-v3-blog .cps-post-title { font-size: 28px; } }
body.pkn-v3-blog .cps-post-meta, body.pkn-v3-blog .post-date { color: var(--muted); }
/* 本文見出し: h2=アンバー左線・h3=下線・h4=素 */
body.pkn-v3-blog .post-content h2 {
  background: none; border: 0; border-left: 4px solid var(--amber); border-radius: 0;
  padding: 2px 0 2px 10px; color: var(--espresso); box-shadow: none;
}
body.pkn-v3-blog .post-content h2::before, body.pkn-v3-blog .post-content h2::after { display: none; }
body.pkn-v3-blog .post-content h3 {
  background: none; border: 0; border-bottom: 2px solid var(--gold-line); border-radius: 0;
  padding: 2px 0 6px; color: var(--espresso); box-shadow: none;
}
body.pkn-v3-blog .post-content h3::before, body.pkn-v3-blog .post-content h3::after { display: none; }
body.pkn-v3-blog .post-content h4 { color: var(--espresso); border-color: var(--line); }
/* 本文の表: v3罫線テーブル */
body.pkn-v3-blog .post-content table { border: 1px solid var(--line); border-radius: 0; border-collapse: collapse; }
body.pkn-v3-blog .post-content th { background: var(--champagne); color: var(--espresso); border: 1px solid var(--line); font-size: 12px; }
body.pkn-v3-blog .post-content td { border: 1px solid var(--line-2); font-size: 13px; }
/* 目次(RTOC) */
body.pkn-v3-blog .rtoc-mokuji-content { background: #fff; border: 1px solid var(--gold-line); border-radius: 4px; box-shadow: none; }
body.pkn-v3-blog .rtoc-mokuji-content a { color: var(--espresso); }
/* CTAボタン(JINショートコード): コーラル角丸4 */
body.pkn-v3-blog .jin-shortcode-button a, body.pkn-v3-blog a.jin-button-shiny, body.pkn-v3-blog .jsb-visual-shiny {
  background: var(--coral) !important; background-image: none !important; border: 1px solid var(--coral-deep) !important;
  border-radius: 4px !important; color: #fff !important; box-shadow: 0 3px 11px rgba(232,93,78,.3) !important; text-shadow: none !important;
}
/* 吹き出し・引用 */
body.pkn-v3-blog .balloon-content { background: var(--champagne); border-color: var(--gold-line); }
body.pkn-v3-blog .post-content blockquote { background: var(--ivory); border-left: 4px solid var(--line); }
/* 関連・人気記事カード */
body.pkn-v3-blog .new-entry-item { background: #fff; border: 1px solid var(--gold-line); border-radius: 4px; box-shadow: none; overflow: hidden; }
body.pkn-v3-blog .new-entry-item-title { color: var(--espresso); font-weight: 700; }
body.pkn-v3-blog .cps-post-date { color: var(--muted); }
/* サイドバー */
body.pkn-v3-blog .widget { background: #fff; border: 1px solid var(--gold-line); border-radius: 4px; box-shadow: none; }
body.pkn-v3-blog .widget .widget-title, body.pkn-v3-blog .widget h3 {
  background: none; border: 0; border-left: 4px solid var(--amber); border-radius: 0; padding-left: 10px;
  color: var(--espresso); box-shadow: none;
}
/* ページャ */
body.pkn-v3-blog .pagination a, body.pkn-v3-blog .pagination span {
  border: 1px solid var(--line); background: #fff; border-radius: 3px; color: var(--espresso);
}
body.pkn-v3-blog .pagination .current { background: var(--espresso); color: #fff; border-color: var(--espresso); }
/* フッター: 濃色 */
body.pkn-v3-blog .footer-widget, body.pkn-v3-blog footer#footer, body.pkn-v3-blog .footer-box {
  background: var(--brown-ink); color: #F4EDE0;
}
body.pkn-v3-blog .footer-widget a, body.pkn-v3-blog .legal-links a { color: var(--gold-line); }
body.pkn-v3-blog .legal-links { background: var(--brown-ink); }
/* JIN記事内ボックス(concept-box1〜6=ピンク/青等の既定色)→シャンパン/ゴールドライン統一 */
body.pkn-v3-blog :is(.concept-box1,.concept-box2,.concept-box3,.concept-box4,.concept-box5,.concept-box6) {
  background: var(--champagne) !important; border-color: var(--gold-line) !important;
  border-radius: 4px !important; color: var(--brown-ink);
}
body.pkn-v3-blog :is(.concept-box1,.concept-box2,.concept-box3,.concept-box4,.concept-box5,.concept-box6)::before {
  background: var(--amber) !important; color: var(--espresso) !important; border-radius: 2px !important;
}
/* サイドバーwidgetタイトル(JINカスタマイザ色対策で!important) */
body.pkn-v3-blog .widget h3, body.pkn-v3-blog .widget .widget-title, body.pkn-v3-blog .sidebar-box h3 {
  background: none !important; color: var(--espresso) !important;
  border: 0 !important; border-left: 4px solid var(--amber) !important; border-radius: 0 !important;
}
/* JIN widgetタイトルの実クラスは .widgettitle */
body.pkn-v3-blog .widgettitle {
  background: none !important; color: var(--espresso) !important;
  border: 0 !important; border-left: 4px solid var(--amber) !important; border-radius: 0 !important;
  padding-left: 10px !important;
}
