/* =====================================================================
   v0.24.0 スマホの表示密度・一覧性（MOBILE_CONTENT_REFINEMENT_V3）
   theme.css の後に読み込む。配色・ロゴは変更しない（#101418 / #343E48 / #D62828 / #FFFFFF / #F5F7FA）。
   ===================================================================== */

/* ---------- 全幅共通 ---------- */
/* プロテイン総合：種類別ランキングへの案内カード */
.kdb .hub-lead{font-size:18px;font-weight:700;color:#101418;margin:12px 0 6px}
.kdb .hub-cards,.kdb .kdb-article .hub-cards{list-style:none;margin:16px 0;padding:0!important;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.kdb .hub-card,.kdb .kdb-article a.hub-card{display:flex;flex-direction:column;gap:4px;min-height:44px;height:100%;box-sizing:border-box;padding:14px 16px;border:1px solid #d9dee5;border-left:4px solid #D62828;border-radius:10px;background:#FFFFFF;color:#101418!important;text-decoration:none!important}
.kdb .hub-card strong{font-size:17px}
.kdb .hub-card span{font-size:14px;line-height:1.55;color:#343E48}
.kdb .hub-card em{margin-top:auto;padding-top:4px;font-style:normal;font-size:14px;font-weight:700;color:#b41f1f}
.kdb .hub-cards>li{margin:0!important;padding:0!important}
.kdb .hub-card:hover,.kdb .hub-card:focus-visible{border-color:#101418}
.kdb #body-tabs .tab[aria-selected=true] .tab-name::before,.kdb .product-tabs .tab[aria-selected=true] span::before{content:"✓";margin-right:2px}
/* ランキングのスマホ用補足行（PCでは従来のバッジを表示） */
.kdb .card-meta{display:none}
/* 「自宅」の条件（開閉） */
.kdb .equip-help{margin:4px 0 8px}
.kdb .equip-help>summary{cursor:pointer;display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:#343E48;text-decoration:underline;text-underline-offset:3px}
.kdb .equip-help .equip-note{margin:4px 0 0}
/* トップの評価方法（開閉） */
.kdb .home-method-details>summary{cursor:pointer;display:flex;align-items:center;min-height:44px;font-weight:700;font-size:15px;color:#101418}
.kdb .home-method-details[open]>summary{margin-bottom:8px}
/* メニュー（スマホのドロワー）：分類ごとに開閉 */
.kdb .drawer-group>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;min-height:48px}
.kdb .drawer-group>summary::-webkit-details-marker{display:none}
.kdb .drawer-group>summary::after{content:"＋";margin-left:auto;font-weight:700;color:#D62828}
.kdb .drawer-group[open]>summary::after{content:"－"}
.kdb .drawer-group .side-link{min-height:44px;display:flex;align-items:center;box-sizing:border-box}

@media (prefers-reduced-motion:reduce){
  .kdb *,.kdb *::before,.kdb *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ---------- スマホ（760px以下） ---------- */
@media (max-width:760px){
  .kdb{font-size:15px;line-height:1.6}
  .kdb .wrap{padding:0 14px}
  /* ヘッダー */
  .kdb .header-inner{min-height:56px;padding-top:6px;padding-bottom:6px}
  .kdb .header .brand-logo{height:44px;width:auto}
  .kdb .menu-button{min-height:44px}
  /* パンくず：1行に収め、長い場合は省略 */
  .kdb .breadcrumb{padding:6px 0!important;font-size:12px!important;line-height:1.5}
  .kdb .breadcrumb a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
  /* ヒーロー：高さを圧縮（約160〜220px） */
  .kdb .hero,.kdb[data-home] .hero{min-height:0!important;margin:0 0 16px!important;border-radius:12px;padding:16px 16px 16px 18px!important}
  .kdb .hero .hero-main{padding:0!important}
  .kdb .hero .tag,.kdb .hero .hero-art{display:none!important}
  .kdb .hero h1{font-size:24px!important;line-height:1.3!important;margin:0 0 6px!important}
  .kdb .hero .hero-copy{font-size:14px!important;line-height:1.55!important;margin:0!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .kdb .hero .hero-cta{margin-top:12px!important;gap:8px}
  .kdb .hero .hero-cta .btn-secondary{display:none!important}
  .kdb .hero .hero-cta .btn-primary{min-height:44px;width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center}
  .kdb .hero-meta{margin-top:8px!important;gap:4px 8px!important;font-size:12px!important}
  .kdb .hero-meta span:not(.hero-pr){display:none}
  /* トップのヒーロー（写真あり）：見出しとCTA1つ */
  .kdb[data-home] .hero .hero-brand{display:block;font-size:13px!important;letter-spacing:.08em;margin-bottom:2px}
  .kdb[data-home] .hero h1{font-size:28px!important}
  .kdb[data-home] .hero .hero-line{display:inline!important}
  /* 点数の見方：1行に圧縮（説明は「評価の見方」で全文） */
  .kdb .banner#score-banner{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px!important;margin:0 0 16px!important;min-height:0!important}
  .kdb .banner#score-banner p{display:none}
  .kdb .banner#score-banner strong{font-size:14px!important;margin:0!important}
  .kdb .banner#score-banner button{min-height:44px;padding:0 12px!important;white-space:nowrap;font-size:14px}
  /* 見出し */
  .kdb h2{font-size:21px;line-height:1.4}
  .kdb .section-head{margin:0 0 10px!important;align-items:baseline}
  .kdb .section-head h2{font-size:21px!important}
  .kdb .section-head small{font-size:12px}
  /* 部位タブ：4列×2段のコンパクトなボタン（図は省略。選択中は赤＋✓） */
  .kdb #body-tabs.tabs{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px!important;margin:0 0 10px!important;overflow:visible!important}
  .kdb #body-tabs .tab{min-height:44px!important;height:auto!important;padding:6px 2px!important;border-radius:8px!important;flex-direction:row!important;justify-content:center;align-items:center;gap:2px}
  .kdb #body-tabs .tab .tab-fig,.kdb #body-tabs .tab em{display:none!important}
  .kdb #body-tabs .tab .tab-name{font-size:14px!important;font-weight:700;line-height:1.2;white-space:nowrap}
  .kdb .subtabs{gap:6px!important;margin:0 0 10px!important}
  .kdb .subtabs .subtab{min-height:44px;padding:0 14px!important;font-size:14px}
  /* 部位図：高さ約120px、拡大は従来どおり */
  .kdb .muscle-guide{grid-template-columns:112px minmax(0,1fr)!important;gap:12px!important;padding:10px!important;margin:0 0 10px!important;align-items:start}
  .kdb .muscle-guide figure{margin:0!important}
  .kdb .muscle-guide figure button{padding:0!important;min-height:44px}
  .kdb .muscle-guide #muscle-image{width:112px!important;height:112px!important;object-fit:contain}
  .kdb .muscle-guide figure button span{font-size:12px!important;display:block;margin-top:2px}
  .kdb .muscle-guide figcaption{font-size:12px!important}
  .kdb .muscle-guide .eyebrow{display:none}
  .kdb .muscle-guide h3{font-size:17px!important;margin:0 0 2px!important}
  .kdb .muscle-guide #muscle-description{font-size:13px!important;line-height:1.5;margin:0 0 4px!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .kdb .muscle-guide .muscle-legend{font-size:12px!important;margin:0!important}
  .kdb .muscle-guide small{font-size:12px!important;line-height:1.45;display:block}
  /* 検索・並び順・場所：2行にまとめる */
  .kdb .toolbar#filter-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:8px!important;margin:0 0 8px!important;padding:0!important;border:0!important}
  .kdb .toolbar#filter-toolbar input,.kdb .toolbar#filter-toolbar select{min-height:44px!important;height:44px!important;font-size:16px!important;padding:0 10px!important}
  .kdb .toolbar#filter-toolbar .sort-wrap label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .kdb .toolbar#filter-toolbar select{max-width:132px}
  .kdb .equip-filter{display:flex!important;flex-wrap:nowrap!important;align-items:center;gap:6px!important;margin:0!important}
  .kdb .equip-filter>span{font-size:13px;white-space:nowrap}
  .kdb .equip-filter button{flex:1 1 0;min-height:44px!important;padding:0 6px!important;font-size:13px!important;line-height:1.25;white-space:normal}
  .kdb .equip-help{margin:0 0 6px}
  .kdb .equip-help .equip-note{font-size:13px;line-height:1.55}
  /* 結果の見出し・対象筋の見出し */
  .kdb .result-head{margin:6px 0 8px!important;gap:2px 8px}
  .kdb .result-head h3{font-size:16px!important}
  .kdb .result-head #result-count{font-size:12px}
  .kdb .target-section-head{padding:8px 12px!important;margin:0 0 8px!important}
  .kdb .target-section-head .eyebrow{display:none}
  .kdb .target-section-head h3{font-size:15px!important;margin:0!important}
  .kdb .target-section-head p{font-size:12px!important;margin:0!important}
  /* 種目ランキング：行型カード（順位｜種目名・補足｜点数） */
  .kdb .ranking-list{gap:8px!important}
  .kdb .rank-card{display:grid!important;grid-template-columns:34px minmax(0,1fr) 62px!important;grid-template-rows:auto auto!important;gap:4px 10px!important;padding:10px 12px!important;min-height:0!important;align-items:start;border-radius:10px!important}
  .kdb .rank-card .rank{grid-column:1;grid-row:1;font-size:22px!important;line-height:1.1!important;margin:0!important;padding:0!important;min-width:0!important;text-align:center}
  .kdb .rank-card .rank small{font-size:12px!important}
  .kdb .rank-card .card-content{grid-column:2;grid-row:1;min-width:0;padding:0!important}
  .kdb .rank-card .card-main{grid-column:auto!important;grid-row:auto!important;padding:0!important}
  .kdb .rank-card .card-target,.kdb .rank-card .card-equip,.kdb .rank-card .kdb-badges{display:none!important}
  .kdb .rank-card .card-title{font-size:15px!important;line-height:1.4!important;margin:0 0 2px!important}
  .kdb .rank-card .card-title a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:44px}
  .kdb .rank-card .card-meta{display:flex;flex-wrap:wrap;gap:2px 0;margin:0;font-size:12px;line-height:1.5;color:#343E48}
  .kdb .rank-card .card-meta span+span::before{content:"・";color:#8a939e}
  .kdb .rank-card .card-meta .meta-ev{font-weight:700;color:#101418}
  .kdb .rank-card .card-meta .meta-ev.ev-est{font-weight:400;font-style:normal;text-decoration:underline dotted;text-underline-offset:3px}
  .kdb .rank-card .card-meta .meta-out,.kdb .rank-card .card-meta .meta-top{font-weight:700;color:#b41f1f}
  .kdb .rank-card .score{grid-column:3!important;grid-row:1!important;margin:0!important;padding:0!important;text-align:right;display:block!important;min-width:0!important}
  .kdb .rank-card .score-label{display:block;font-size:12px!important;line-height:1.3;color:#343E48;margin:0!important}
  .kdb .rank-card .score strong{display:block;font-size:24px!important;line-height:1.1!important;white-space:nowrap}
  .kdb .rank-card .score strong small{font-size:12px!important}
  .kdb .rank-card .score-line{display:none!important}
  .kdb .rank-card .card-foot{grid-column:1/-1!important;grid-row:2!important;display:flex!important;flex-wrap:nowrap!important;flex-direction:row!important;align-items:center;justify-content:flex-end;gap:6px!important;margin:0!important;padding:2px 0 0!important;border-top:1px solid #e6e9ee}
  .kdb .rank-card .card-actions{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center;gap:6px!important;margin:0 0 0 auto!important;width:auto!important}
  .kdb .rank-card .card-actions button,.kdb .rank-card .card-actions a{min-height:44px!important;height:44px;padding:0 10px!important;font-size:13px!important;display:inline-flex!important;align-items:center;white-space:nowrap}
  /* ランキング下の注記・バナー */
  .kdb #exercise-view>.notice{font-size:12px;line-height:1.55;margin-top:12px}
  .kdb .bottom-banner{padding:16px!important;margin:24px 0!important;gap:10px!important}
  .kdb .bottom-banner .eyebrow{display:none}
  .kdb .bottom-banner h3{font-size:18px!important;margin:0 0 4px!important}
  .kdb .bottom-banner p{font-size:14px!important;margin:0!important}
  .kdb .bottom-banner a{min-height:44px;display:flex;align-items:center;justify-content:center}
  /* トップ下部の案内 */
  .kdb .home-sections .home-head{margin-bottom:10px!important}
  .kdb .home-sections .home-head p{font-size:14px!important;line-height:1.55}
  .kdb .home-duo{gap:16px!important;margin:24px 0!important}
  .kdb .home-duo>section{padding:16px!important}
  .kdb .home-tiles{gap:8px!important}
  .kdb .home-tile{padding:8px!important;gap:10px!important;min-height:64px}
  .kdb .home-tile img{width:56px!important;height:56px!important}
  .kdb .home-tile strong{font-size:15px!important}
  .kdb .home-tile-body>span{font-size:13px!important;line-height:1.5}
  .kdb .home-links a{min-height:44px;display:inline-flex;align-items:center}
  .kdb .home-section{margin:24px 0!important}
  .kdb .home-cards{gap:8px!important}
  .kdb .home-card{padding:12px 14px!important}
  .kdb .home-card-text{font-size:13px!important;line-height:1.5}
  /* 商品ランキング：1行目＝順位・商品名、2行目＝画像｜1gあたり価格｜支払額、3行目＝容量など（全項目を表示） */
  .kdb .product-ranking{gap:10px!important}
  .kdb .product-card{padding:12px!important}
  .kdb .product-summary{display:grid!important;grid-template-columns:64px minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;align-items:stretch}
  .kdb .product-summary .product-visual,.kdb .product-summary .product-card-body{display:contents!important}
  .kdb .product-summary .product-top{grid-column:1/-1;grid-row:1;display:grid!important;grid-template-columns:40px minmax(0,1fr)!important;gap:6px!important;margin:0!important}
  .kdb .product-rank{min-width:0!important;font-size:22px!important;line-height:1.1}
  .kdb .product-brand{font-size:12px!important;margin:0!important;line-height:1.4}
  .kdb .product-top h3{font-size:15px!important;line-height:1.4!important;margin:0!important}
  .kdb .product-variant{font-size:12px!important;margin:0!important}
  .kdb .product-summary .product-image{grid-column:1;grid-row:2;width:64px!important;height:64px!important;align-self:start}
  /* 商品画像がない（文字で案内する）場合は、案内文を全幅の行に回して読める大きさにする */
  .kdb .product-summary:has(.product-image-text){grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  .kdb .product-summary:has(.product-image-text) .product-unit-price{grid-column:1}
  .kdb .product-summary:has(.product-image-text) .product-total{grid-column:2}
  .kdb .product-summary .product-image-text{grid-column:1/-1!important;grid-row:5!important;width:auto!important;height:auto!important;min-height:0!important;padding:6px 8px!important}
  .kdb .product-summary .product-image-text p{font-size:12px!important;line-height:1.5;margin:0}
  .kdb .product-summary .product-unit-price{grid-column:2;grid-row:2;min-height:0!important;height:auto!important;margin:0!important;padding:6px!important;display:flex;flex-direction:column;justify-content:center}
  .kdb .product-unit-price span{font-size:12px!important;line-height:1.3}
  .kdb .product-unit-price strong{font-size:22px!important;line-height:1.15}
  .kdb .product-summary .product-total{grid-column:3;grid-row:2;min-height:0!important;height:auto!important;margin:0!important;padding:6px 8px!important;font-size:12px!important;line-height:1.4}
  .kdb .product-summary .product-total b{font-size:17px!important;line-height:1.25!important}
  .kdb .product-summary .product-total span,.kdb .product-summary .product-total .price-source,.kdb .product-summary .product-total strong{font-size:12px!important}
  .kdb .product-summary .product-facts{grid-column:1/-1;grid-row:3;display:flex!important;flex-wrap:wrap;gap:2px 12px!important;font-size:12px!important;margin:0!important}
  .kdb .product-summary .product-facts>span{padding:0!important;background:none!important;display:inline!important}
  .kdb .product-summary .product-note{grid-column:1/-1;grid-row:4;font-size:12px!important;line-height:1.5;margin:0!important;color:#5b6570}
  .kdb .product-card .retailer-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;margin:8px 0 0!important}
  .kdb .product-card .retailer-link,.kdb .product-card .affiliate-code{min-height:44px;padding:6px 8px!important;font-size:12px!important;line-height:1.4!important}
  .kdb .product-card .retailer-link small,.kdb .product-card .affiliate-code small,.kdb .product-card .retailer-link span,.kdb .product-card .retailer-link b,.kdb .product-card .retailer-link strong small,.kdb .product-card .retailer-link .offer-unit small{font-size:12px!important;line-height:1.35}
  .kdb .product-card .cheapest-ribbon,.kdb .product-card .pr-mark{font-size:12px!important}
  .kdb .product-card .retailer-link.unavailable{min-height:0;padding:4px 8px!important}
  .kdb .product-card .retailer-link .offer-unit strong{font-size:16px}
  .kdb .product-details>summary{min-height:44px;display:flex;align-items:center;font-size:14px}
  .kdb .product-reference-link{font-size:12px;margin:6px 0 0!important}
  .kdb .product-reference-link a,.kdb .product-card>a[href*="developers.rakuten"]{display:inline-flex!important;align-items:center;min-height:44px}
  .kdb .ranking-lead{gap:6px!important}
  .kdb .ranking-lead p{font-size:13px!important}
  .kdb .ranking-about-button{min-height:44px}
  .kdb .ranking-cheapest-note,.kdb .ranking-stale-note,.kdb .product-scope{font-size:12px!important;line-height:1.55}
  .kdb .affiliate-disclosure{font-size:13px!important;padding:8px 10px!important}
  .kdb .product-tabs{display:flex!important;flex-wrap:wrap!important;gap:6px!important;overflow:visible!important}
  .kdb .product-tabs .tab{flex:0 0 auto!important;width:auto!important;min-width:0!important;min-height:44px!important;height:auto!important;padding:6px 12px!important;flex-direction:row!important;gap:4px!important}
  .kdb .product-tabs .tab .cat-icon{display:none!important}
  .kdb .product-tabs .tab span{font-size:13px!important;line-height:1.3;white-space:normal}
  /* 記事・ガイド */
  .kdb .kdb-article{font-size:15px;line-height:1.65}
  .kdb .kdb-article h2{font-size:20px;margin:28px 0 10px}
  .kdb .kdb-article h3{font-size:17px}
  .kdb .kdb-article p,.kdb .kdb-article li{line-height:1.65}
  .kdb .kdb-toc{padding:10px 12px!important}
  .kdb .kdb-toc h2{font-size:15px!important;margin:0 0 4px!important}
  .kdb .kdb-toc ul{columns:2;column-gap:12px;font-size:13px;margin:0!important;padding-left:1.1em!important}
  .kdb .kdb-toc li{break-inside:avoid;line-height:1.5;margin:0 0 4px}
  .kdb .hub-cards{grid-template-columns:1fr!important;gap:8px;margin:12px 0}
  .kdb .hub-card{padding:10px 12px;min-height:56px}
  .kdb .hub-card strong{font-size:16px}
  .kdb .hub-card span{font-size:13px;line-height:1.5}
  .kdb .hub-card em{padding-top:2px;font-size:13px}
  /* 計算ツール */
  .kdb .calc-form,.kdb .calculator{gap:10px!important}
  .kdb .calculator input,.kdb .calculator select,.kdb .calc-form input,.kdb .calc-form select{min-height:44px;font-size:16px}
  .kdb .rank-jump,.kdb .type-link{min-height:44px!important;display:inline-flex!important;align-items:center}
  /* 下部の一覧・フッター */
  .kdb .kdb-search-guide{padding:16px!important;margin:24px 0!important}
  .kdb .kdb-directory-links a{min-height:44px;box-sizing:border-box;display:inline-flex;align-items:center}
  .kdb .footer-links a{min-height:44px;display:inline-flex;align-items:center}
  /* ドロワー：分類ごとの開閉 */
  .kdb .drawer #drawer-nav .side-section{margin:0!important;padding:0!important;border-bottom:1px solid #e6e9ee}
  .kdb .drawer #drawer-nav .side-title{margin:0!important;padding:0 4px!important;font-size:16px;font-weight:700;color:#101418}
  .kdb .drawer #drawer-nav .side-en{display:none}
  .kdb .drawer #drawer-nav .drawer-group[open]{padding-bottom:8px!important}
}
@media (max-width:360px){
  .kdb .wrap{padding:0 12px}
  .kdb #body-tabs .tab .tab-name{font-size:13px!important}
  .kdb .rank-card{grid-template-columns:30px minmax(0,1fr) 56px!important;gap:4px 8px!important}
  .kdb .rank-card .score strong{font-size:22px!important}
  .kdb .rank-card .card-actions button,.kdb .rank-card .card-actions a{padding:0 8px!important;font-size:12px!important}
  .kdb .rank-card .card-foot{flex-wrap:wrap!important}
  .kdb .hub-cards{grid-template-columns:1fr}
  .kdb .product-card .retailer-links{grid-template-columns:1fr}
}

/* v0.25.0: カード下部は操作ボタンだけ（日付は評価方法ページへ集約） */
.kdb .card-foot{justify-content:flex-end}

/* v0.25.0: おすすめ種目の一覧（部位別・自宅・ダンベル）は、順位・種目名・場所・点数バーだけの行にする */
.kdb .rec-lead{margin:0 0 6px}
.kdb .rec-links{margin:0 0 14px;font-size:14px}
.kdb .rec-list{list-style:none;margin:6px 0 12px;padding:0;display:grid;gap:8px}
.kdb .rec-list li{display:grid;grid-template-columns:44px minmax(0,1fr) 124px;grid-template-areas:"rank name score" "rank badge score";align-items:center;gap:2px 10px;margin:0;padding:10px 12px;border:1px solid #dce2e7;border-radius:10px;background:#fff}
.kdb .rec-list .rec-rank{grid-area:rank;font-weight:800;font-size:22px;line-height:1;text-align:center;color:#101418}
.kdb .rec-list .rec-rank small{font-size:12px;font-weight:700;margin-left:1px}
.kdb .rec-list .rec-name{grid-area:name;font-weight:700;line-height:1.5;overflow-wrap:anywhere}
.kdb .rec-list .setting-badge{grid-area:badge;justify-self:start;display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:700;background:#eef1f4;color:#343e48}
.kdb .rec-list .setting-badge.home{background:#e6f2ea;color:#1d5a35}
.kdb .rec-list .rec-extra{grid-column:2;font-size:12px;color:#4f5c68}
.kdb .rec-list .rec-score{grid-area:score;display:grid;gap:4px;justify-items:end}
.kdb .rec-bar{display:block;width:100%;height:8px;border-radius:4px;background:#e6e9ee;overflow:hidden}
.kdb .rec-bar i{display:block;height:100%;background:#d62828;border-radius:4px}
.kdb .rec-score b{font-size:20px;line-height:1}
.kdb .rec-score b small{font-size:12px;font-weight:700;margin-left:1px}
@media(max-width:560px){.kdb .rec-list li{grid-template-columns:34px minmax(0,1fr) 96px;grid-template-areas:"rank name name" "rank badge score";padding:9px 10px;gap:4px 8px}.kdb .rec-list .rec-rank{font-size:19px}}

/* v0.25.0: 評価方法ページの図（点数の内訳・1gあたり価格の計算）。文字は画面幅に合わせて折り返す */
.kdb-pts{margin:1em 0;padding:16px;border:1px solid #dce2e7;border-radius:12px;background:#fff}
.kdb-pts .g{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 6px;padding:0 0 4px;border-bottom:3px solid #101418;font-size:16px;line-height:1.5}
.kdb-pts .g span{font-weight:800;font-size:18px}
.kdb-pts .g2{margin-top:14px;border-bottom-color:#d62828;color:#d62828}
.kdb-pts ul{list-style:none;margin:0;padding:0}
.kdb-pts li{display:grid;grid-template-columns:minmax(0,12em) minmax(0,1fr) 3.4em;align-items:center;gap:4px 12px;margin:0;padding:6px 0;font-size:15px;line-height:1.5}
.kdb-pts .bar{display:block;height:12px;border-radius:6px;background:#e6e9ee;overflow:hidden}
.kdb-pts .bar i{display:block;height:100%;border-radius:6px;background:#101418}
.kdb-pts .bar i.b{background:#d62828}
.kdb-pts li b{text-align:right;font-size:18px;font-variant-numeric:tabular-nums}
.kdb-pts li b small{font-size:12px;margin-left:1px}
.kdb-pts .t{margin:12px 0 0;font-size:13px;color:#4f5c68;text-align:right}
.kdb-formula{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px;margin:1em 0}
.kdb-formula>div{flex:1 1 170px;padding:14px 12px;border-radius:10px;color:#fff;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:4px}
.kdb-formula>div b{font-size:17px;line-height:1.4}.kdb-formula>div span{font-size:13px;line-height:1.5}
.kdb-formula .f1{background:#101418}.kdb-formula .f2{background:#343e48}.kdb-formula .f3{background:#d62828}
.kdb-formula .op{flex:0 0 auto;align-self:center;font-size:28px;font-weight:800;color:#101418}
@media(max-width:560px){.kdb-pts{padding:12px}.kdb-pts li{grid-template-columns:1fr 3.4em;grid-template-areas:"n pt" "bar pt"}.kdb-pts li .n{grid-area:n;font-size:14px}.kdb-pts li .bar{grid-area:bar}.kdb-pts li b{grid-area:pt}.kdb-formula{flex-direction:column}.kdb-formula>div{flex:0 0 auto}.kdb-formula .op{align-self:center;line-height:1}}
@media(max-width:760px){.kdb .kdb-toc a{display:inline-flex;align-items:center;min-height:44px}}
@media(max-width:760px){.kdb .rec-list .rec-name{display:flex;align-items:center;min-height:44px}}
@media(max-width:760px){.kdb .cheapest-ribbon{font-size:12px!important;padding:3px 10px!important}}

/* v0.26.0: 部位の入口ページ（最初の画面で、狙う筋肉ごとの1位候補を示す） */
.entry-pick h2{margin-top:6px}
.entry-pick ul{list-style:none;margin:8px 0!important;padding:0!important;display:grid;gap:8px}
.entry-pick li{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center;padding:10px 12px;border:1px solid #d7dee7;border-radius:10px;background:#fff}
.entry-pick .pick-part{font-weight:700;min-height:44px;display:inline-flex;align-items:center}
.entry-pick .pick-top{font-weight:600;line-height:1.5}
.entry-pick .pick-meta{grid-column:2;font-size:13px;color:#4b5563}
.entry-others{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0!important;margin:8px 0!important}
.entry-others a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border:1px solid #d7dee7;border-radius:999px;text-decoration:none}
@media (max-width:760px){.kdb-toc a{min-width:44px;justify-content:center}}
