/* ============================================================
   キッチンカー車両研究所 — トップページ
   専門メディア × 車両研究所 × ライフスタイル
   ・写真が主役
   ・黒の全面塗りはしない（濃色は修理カルテと最終CTAだけ）
   ・英字モノスペースは小ラベルのみ
   ※ 色・余白・角丸は style.css の変数を使うこと
============================================================ */

/* ============================================================
   01 HERO — 左：コピー ／ 右：実車写真
============================================================ */
.hero{
  background:var(--paper);
  padding:var(--sp-9) 0 var(--sp-9);
  position:relative;overflow:hidden;
}
/* 旧デザインの黒背景・グリッドは無効化（CMSの背景差し替え枠として残す） */
.hero::before,.hero::after{content:none}
.hero__bg{display:none}

.hero .container{
  display:grid;
  grid-template-columns:minmax(0,54fr) minmax(0,46fr);
  gap:clamp(32px,5vw,64px);
  align-items:center;
}
.hero-copy{max-width:none}
.hero .eyebrow{
  font-family:var(--mono);font-size:11px;font-weight:500;
  letter-spacing:.16em;color:var(--muted);text-transform:uppercase;
  display:block;margin:0 0 8px;
}
#heroEn{
  font-size:15px;color:var(--ink);margin:0 0 var(--sp-5);
  letter-spacing:.04em;line-height:1.7;font-weight:700;
}
.hero h1{
  font-size:clamp(26px,3.1vw,38px);
  line-height:1.5;font-weight:700;letter-spacing:.005em;
  margin:0 0 var(--sp-5);color:var(--ink);
  word-break:keep-all;line-break:strict;overflow-wrap:normal;
}
.hero h1 .accent{display:inline;color:inherit}
#heroSub{
  font-size:16.5px;line-height:2;color:var(--muted);
  margin:0 0 var(--sp-6);max-width:520px;
}
#heroSub strong{color:var(--ink);font-weight:700}
.hero-cta{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center}
.hero-cta .btn{min-width:200px}
.hero-cta .link-more{margin-left:var(--sp-2)}

/* 右：写真＋誌面の数字 */
.hero-media{position:relative}
.hero-media .ph{
  --ar:5/4;
  max-height:520px;
  box-shadow:none;
}
.hero-stats{
  display:flex;flex-wrap:wrap;align-items:baseline;
  gap:8px 28px;margin:18px 2px 0;padding:0;
  border:0;background:none;
}
.hero-stats span{
  display:inline-flex;align-items:baseline;gap:8px;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;
  color:var(--muted);
}
.hero-stats b{
  font-family:var(--mono);font-size:22px;font-weight:500;
  color:var(--ink);letter-spacing:0;line-height:1;
}
.hero-stats i{display:none}

/* 旧 hero-index（英字4リンク）は非表示 */
.hero-index{display:none}

/* ============================================================
   02 何を知りたいですか？ — 4つの大型カード
============================================================ */
.guide-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-6)}
.guide-card{
  background:transparent;border:0;border-radius:0;
  overflow:visible;display:flex;flex-direction:column;
  transition:opacity .2s ease;
}
.guide-card:hover{opacity:.92;transform:none;box-shadow:none;border-color:transparent}
.guide-card .ph{--ar:5/4;border-radius:var(--r-lg)}
.guide-card__body{padding:var(--sp-4) 0 0;display:flex;flex-direction:column;flex:1}
.guide-card__no{
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--red);
  display:block;margin-bottom:8px;
}
.guide-card b{display:block;font-size:20px;font-weight:700;line-height:1.5;margin-bottom:10px}
.guide-card ul{list-style:none;margin:0 0 var(--sp-4);padding:0;display:flex;flex-wrap:wrap;gap:0 12px}
.guide-card li{
  font-size:13.5px;color:var(--muted);
  background:none;border-radius:0;padding:0;
}
.guide-card li:not(:last-child)::after{content:""; }
.guide-card .link-more{margin-top:auto;font-size:14px}

/* ============================================================
   03 人気の研究記事 — 編集メディア風カード
============================================================ */
.sec-head--row{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:var(--sp-5);flex-wrap:wrap;max-width:none;
}
.art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-7) var(--sp-6)}
.art-card{display:flex;flex-direction:column;padding-top:var(--sp-4);border-top:1px solid var(--ink)}
.art-card .ph{--ar:16/10;margin:0 0 var(--sp-4);border-radius:var(--r-lg)}
.art-card__meta{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  font-size:12.5px;letter-spacing:.02em;color:var(--muted);
  margin-bottom:10px;font-family:var(--ja);
}
.art-card__cat{color:var(--ink);font-weight:700;font-size:12.5px;letter-spacing:.04em}
.art-card b{
  display:block;font-size:19px;font-weight:700;line-height:1.55;
  margin-bottom:10px;transition:color .18s ease;
}
.art-card:hover b{color:var(--red)}
.art-card p{font-size:14.5px;line-height:1.95;color:var(--muted);margin:0}

/* ============================================================
   04 写真＋本文の2カラム（20項目・研究所について）
============================================================ */
.split{display:grid;grid-template-columns:minmax(0,44fr) minmax(0,56fr);gap:var(--sp-8);align-items:center}
.split--rev .split__media{order:2}
.split__media .ph{--ar:4/3;box-shadow:var(--shadow)}
.split__body{max-width:600px}
.split__body .section-title{margin-bottom:var(--sp-4)}
.split__body p{font-size:15.5px;line-height:2.05;color:var(--muted);margin:0 0 var(--sp-4)}
.split__body p strong{color:var(--ink);font-weight:700}

/* 20項目の抜粋リスト */
.ck-peek{
  display:grid;grid-template-columns:repeat(2,1fr);gap:2px 20px;
  margin:0 0 var(--sp-5);padding:0;list-style:none;
}
.ck-peek li{
  display:flex;gap:10px;align-items:baseline;
  font-size:14px;padding:8px 0;border-bottom:1px solid var(--line);
}
.ck-peek em{
  font-family:var(--mono);font-style:normal;font-size:11px;color:var(--red);min-width:20px;
}
.ck-peek li.is-more{color:var(--muted);border-bottom:0;font-size:13px}

/* 20項目 全件テーブル */
.ck-tbl{min-width:860px}
.lp-sec--check{background:#EEEAE3}
.ck-tbl thead th{
  background:var(--soft2);color:var(--ink);font-size:12px;letter-spacing:.04em;
  font-family:var(--ja);font-weight:700;white-space:nowrap;
}
.ck-tbl tbody th{
  background:var(--soft);font-family:var(--mono);font-size:15px;
  color:var(--red);text-align:center;width:52px;
}
.ck-tbl td b{display:block;font-size:15px;margin-bottom:2px}
.ck-tbl td b a:hover{color:var(--red);text-decoration:underline;text-underline-offset:3px}
.ck-tbl td span{display:block;font-size:12.5px;line-height:1.85;color:var(--muted)}
.ck-tbl td:nth-child(3){white-space:nowrap;color:var(--red);font-size:12px;text-align:center}

/* ============================================================
   05 クラス比較 — 写真つきカード＋表
============================================================ */
.class-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-5);margin:0 0 var(--sp-7)}
.class-card{
  background:transparent;border:0;border-radius:0;overflow:visible;
  display:flex;flex-direction:column;
}
.class-card:hover{border-color:transparent;box-shadow:none;transform:none}
.class-card .ph{--ar:4/3;border-radius:var(--r-lg)}
.class-card__body{padding:var(--sp-4) 0 0;display:flex;flex-direction:column;flex:1}
.class-card__name{
  display:flex;align-items:baseline;gap:8px;margin-bottom:12px;
}
.class-card__name b{font-size:20px;font-weight:700}
.class-card__name i{
  font-family:var(--mono);font-style:normal;font-size:10px;
  letter-spacing:.12em;color:var(--muted);
}
.class-spec{width:100%;font-size:13px;margin-bottom:14px}
.class-spec th{
  text-align:left;padding:7px 0;color:var(--muted);font-weight:400;
  width:76px;vertical-align:top;border-bottom:1px solid var(--soft);
  font-size:12px;
}
.class-spec td{padding:7px 0;border-bottom:1px solid var(--soft);vertical-align:top;line-height:1.75}
.class-card .link-more{margin-top:auto;font-size:13.5px}

/* ============================================================
   06 修理カルテ — ここだけ濃色で研究所感
============================================================ */
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-5)}
.case-card{
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.14);
  border-radius:var(--r);padding:var(--sp-5);
  display:flex;flex-direction:column;
}
.case-card__no{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;
  color:#F08A6E;display:block;margin-bottom:10px;
}
.case-card b{display:block;font-size:18px;font-weight:700;color:#fff;margin-bottom:16px;line-height:1.6}
.case-card dl{margin:0;display:grid;gap:12px}
.case-card dt{
  font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;
  color:rgba(237,233,227,.5);margin-bottom:3px;
}
.case-card dd{margin:0;font-size:13.5px;line-height:1.9;color:rgba(237,233,227,.86)}
.case-card__foot{
  margin-top:var(--sp-5);padding-top:var(--sp-4);
  border-top:1px solid rgba(255,255,255,.12);
}
.case-card__foot a{font-size:13px;color:#F08A6E}
.case-card__foot a:hover{text-decoration:underline;text-underline-offset:3px}

/* ============================================================
   07 研究カテゴリ一覧
============================================================ */
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
.cat-card{
  background:transparent;border:0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);
  border-radius:0;padding:var(--sp-6) var(--sp-5);
  display:flex;gap:var(--sp-4);align-items:flex-start;
  transition:background .18s ease;
}
.cat-card:nth-child(4n){border-right:0}
.cat-card:hover{border-color:var(--line);background:var(--card);transform:none}
.cat-card__icon,.cat-card__no{
  font-family:var(--mono);font-size:13px;letter-spacing:.08em;color:var(--red);
  width:auto;height:auto;border:0;border-radius:0;padding:0;flex-shrink:0;
  display:block;line-height:1.4;
}
.cat-card__icon svg{display:none}
.cat-card__icon::before{content:"01"}
.cat-card:nth-child(2) .cat-card__icon::before{content:"02"}
.cat-card:nth-child(3) .cat-card__icon::before{content:"03"}
.cat-card:nth-child(4) .cat-card__icon::before{content:"04"}
.cat-card:nth-child(5) .cat-card__icon::before{content:"05"}
.cat-card:nth-child(6) .cat-card__icon::before{content:"06"}
.cat-card:nth-child(7) .cat-card__icon::before{content:"07"}
.cat-card:nth-child(8) .cat-card__icon::before{content:"08"}
.cat-card b{display:block;font-size:16.5px;font-weight:700;line-height:1.5;margin-bottom:6px}
.cat-card i{
  display:block;font-family:var(--mono);font-style:normal;font-size:10px;
  letter-spacing:.12em;color:var(--muted);margin-bottom:8px;
}
.cat-card span span{display:block;font-size:13px;color:var(--muted);line-height:1.85}

/* ============================================================
   08 よくある疑問（答えをその場に書く）
============================================================ */
.qa-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-5)}
.qa-card{
  background:transparent;border:0;border-top:1px solid var(--ink);
  border-radius:0;padding:var(--sp-5) 0 var(--sp-6);
}
.qa-card__q{
  position:relative;padding-left:30px;margin:0 0 var(--sp-3);
  font-size:17px;font-weight:700;line-height:1.65;
}
.qa-card__q::before{
  content:"Q";position:absolute;left:0;top:1px;
  font-family:var(--mono);color:var(--red);font-size:15px;
}
.qa-card__a{
  position:relative;padding-left:30px;margin:0;
  font-size:14.5px;line-height:2.05;color:var(--ink);
}
.qa-card__a::before{
  content:"A";position:absolute;left:0;top:1px;
  font-family:var(--mono);color:var(--blue);font-size:15px;
}
.qa-card__a strong{font-weight:700}
.qa-card__links{
  margin:var(--sp-4) 0 0;padding-left:30px;
  font-size:13px;line-height:1.9;
}
.qa-card__links a{color:var(--red)}
.qa-card__links a:hover{text-decoration:underline;text-underline-offset:3px}

/* ============================================================
   09 表（燃料など）
============================================================ */
.tbl-wrap{
  overflow-x:auto;-webkit-overflow-scrolling:touch;
  border:1px solid var(--line);border-radius:var(--r);background:var(--card);
}
.tbl{width:100%;min-width:680px;font-size:13.5px}
.tbl th,.tbl td{
  border-bottom:1px solid var(--line);padding:14px 16px;
  text-align:left;vertical-align:top;line-height:1.85;
}
.tbl thead th{
  background:var(--soft);font-size:12px;letter-spacing:.06em;
  white-space:nowrap;color:var(--ink);font-weight:700;
}
.tbl tbody th{background:var(--card);font-weight:700;white-space:nowrap}
.tbl tr:last-child th,.tbl tr:last-child td{border-bottom:0}
.tbl--fixed{min-width:820px}
.tbl-scroll-hint{font-size:12.5px;color:var(--muted);margin:10px 0 0}

/* ============================================================
   10 費用の内訳／その他の質問（2列リスト）
============================================================ */
.cost-list{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
}
.cost-item{background:var(--card);padding:var(--sp-5) var(--sp-5)}
.cost-item b{display:block;font-size:15.5px;font-weight:700;margin-bottom:8px;line-height:1.6}
.cost-item span{display:block;font-size:13.5px;color:var(--muted);line-height:1.95}
.cost-item a{color:var(--red)}
.cost-item a:hover{text-decoration:underline;text-underline-offset:3px}

/* ============================================================
   11 全研究記事の結論一覧
============================================================ */
.idx-cluster{margin:0 0 var(--sp-7)}
.idx-cluster__hd{
  display:flex;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;
  padding-bottom:var(--sp-3);margin-bottom:var(--sp-4);
  border-bottom:2px solid var(--ink);
}
.idx-cluster__no{font-family:var(--mono);font-size:13px;color:var(--red)}
.idx-cluster__name{font-size:19px;font-weight:700}
.idx-cluster__desc{font-size:13px;color:var(--muted);flex-basis:100%;line-height:1.85}
.idx-item{
  background:transparent;display:grid;grid-template-columns:92px minmax(0,1fr);
  gap:var(--sp-3);align-items:baseline;padding:18px 0;
  border-bottom:1px solid var(--line);transition:none;
}
.idx-list{display:grid;gap:0;background:transparent;border:0;border-radius:0;overflow:visible;border-top:1px solid var(--line)}
.idx-item:hover{background:transparent}
.idx-item__no{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.06em}
.idx-item__ttl{font-size:16.5px;font-weight:700;line-height:1.6}
.idx-item:hover .idx-item__ttl{color:var(--red)}
.idx-item__concl{font-size:14px;color:var(--muted);line-height:1.9;margin:6px 0 0}

/* ============================================================
   12 このサイトの立場（4つの原則）
============================================================ */
.lab-principles{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-4)}
.lab-principle{
  background:transparent;border:0;border-top:1px solid var(--line);
  border-radius:0;padding:var(--sp-5) 0;
}
.lab-principle b{display:block;font-size:16px;font-weight:700;margin-bottom:8px}
.lab-principle span{display:block;font-size:13.5px;color:var(--muted);line-height:1.95}

/* 誌面風レイアウト（研究所について） */
.mag{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--sp-5);margin:0 0 var(--sp-7)}
.mag__lead{grid-column:span 7}
.mag__side{grid-column:span 5;display:grid;gap:var(--sp-4)}
.mag__wide{grid-column:span 12}
.mag__half{grid-column:span 6}
.mag__third{grid-column:span 4}
.mag__lead p{font-size:15.5px;line-height:2.1;color:var(--ink);margin:0 0 var(--sp-4)}
.mag__lead p strong{font-weight:700}

/* ============================================================
   13 運営・信頼性
============================================================ */
.org-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-5)}
.org-card{
  background:transparent;border:0;border-top:1px solid var(--line);
  border-radius:0;padding:var(--sp-5) 0;
}
.org-card i{
  display:block;font-family:var(--mono);font-style:normal;font-size:10px;
  letter-spacing:.14em;color:var(--red);margin-bottom:10px;
}
.org-card b{display:block;font-size:18px;font-weight:700;margin-bottom:12px}
.org-card p{margin:0;font-size:13.5px;color:var(--muted);line-height:2}

.trust{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--sp-7);align-items:center}
.trust__media .ph{--ar:3/2;box-shadow:var(--shadow)}
.trust__body h2{font-size:clamp(20px,2.6vw,28px);font-weight:700;line-height:1.6;margin:0 0 var(--sp-4)}
.trust__body p{font-size:15px;line-height:2.05;color:var(--muted);margin:0 0 var(--sp-4)}
.trust__facts{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
}
.trust__facts div{background:var(--card);padding:14px 18px}
.trust__facts dt{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;color:var(--muted);margin-bottom:4px}
.trust__facts dd{margin:0;font-size:14.5px;font-weight:700;line-height:1.7}

/* ============================================================
   14 CONTACT（最終CTA）
============================================================ */
.contact-strip{
  background:var(--charcoal);color:#EDE9E3;
  padding:var(--sp-9) 0;position:relative;overflow:hidden;
}
.contact-strip .container{position:relative;z-index:2}
.contact-inner{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:var(--sp-8);align-items:center}
.contact-strip .sec-en{color:#F08A6E}
.contact-strip h2{
  margin:0 0 var(--sp-4);font-size:clamp(21px,2.8vw,30px);
  font-weight:700;line-height:1.6;color:#fff;
}
.contact-strip .ct-lead{
  margin:0 0 var(--sp-6);color:rgba(237,233,227,.75);
  font-size:15px;line-height:2.05;
}
.ct-btns{display:flex;flex-wrap:wrap;gap:var(--sp-3)}
.ct-btns .btn{min-width:230px}
.ct-note{
  margin:var(--sp-5) 0 0;font-size:12.5px;
  color:rgba(237,233,227,.45);line-height:1.9;
}
.contact-strip .ph{--ar:4/3;background:rgba(255,255,255,.06);border-radius:var(--r-lg)}
.contact-strip .ph::after{color:rgba(237,233,227,.4)}

/* ============================================================
   15 旧プレースホルダ（互換）
============================================================ */
.ph-box{
  border:1px dashed var(--line-strong);background:var(--soft);border-radius:var(--r-lg);
  min-height:200px;display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--muted);
  background-size:cover;background-position:center;
}

/* ============================================================
   16 レスポンシブ
============================================================ */
@media(max-width:1100px){
  .guide-grid{grid-template-columns:repeat(2,1fr)}
  .class-grid{grid-template-columns:repeat(2,1fr)}
  .cat-grid{grid-template-columns:repeat(2,1fr)}
  .art-grid{grid-template-columns:repeat(2,1fr)}
  .case-grid{grid-template-columns:1fr}
  .org-grid{grid-template-columns:1fr}
  .cat-card:nth-child(2n){border-right:0}
  .cat-card:nth-child(4n){border-right:1px solid var(--line)}
}
@media(max-width:900px){
  .hero{padding:var(--sp-7) 0 var(--sp-8)}
  .hero .container{grid-template-columns:1fr;gap:var(--sp-6)}
  .hero-copy{max-width:none;order:0}
  .hero-media{order:1}
  .hero-cta .btn{width:100%;min-width:0;min-height:48px}
  .split,.trust,.contact-inner{grid-template-columns:1fr;gap:var(--sp-6)}
  .split--rev .split__media{order:0}
  .split__body{max-width:none}
  .qa-grid{grid-template-columns:1fr}
  .cost-list{grid-template-columns:1fr}
  .lab-principles{grid-template-columns:1fr}
  .mag__lead,.mag__side,.mag__half,.mag__third{grid-column:span 12}
  .idx-item{grid-template-columns:72px minmax(0,1fr);gap:var(--sp-2) var(--sp-3)}
  .idx-item__concl{grid-column:2}
  .trust__facts{grid-template-columns:1fr}
  .ck-peek{grid-template-columns:1fr}
  .ct-btns .btn{width:100%}
  .cat-card,.cat-card:nth-child(4n){border-right:0}
}
@media(max-width:600px){
  .guide-grid,.class-grid,.cat-grid,.art-grid{grid-template-columns:1fr}
  .hero-stats{gap:12px 20px}
  .hero h1{font-size:26px;line-height:1.5}
  .contact-strip{padding:var(--sp-8) 0}
  .hero-media .ph{max-height:none;--ar:4/3}
}
.hero h1 .h1-nl{display:inline}
@media(max-width:520px){
  .hero h1 .h1-nl{display:block}
}
