/* ケア食ラボ 共通CSS（外部フォント・外部ライブラリ不使用） */
:root{
  --ink:#2f2a26;
  --sub:#6f6459;
  --accent:#bf5b21;
  --accent-dark:#9c4a18;
  --bg:#fffcf7;
  --card:#fff;
  --line:#eadfce;
  --note-bg:#faf0e2;
}
*{box-sizing:border-box}
html{font-size:16px}
body{
  margin:0;
  font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.8;
}
a{color:var(--accent-dark)}
a:hover{text-decoration:none}
img{max-width:100%;height:auto}

/* ヘッダー */
.site-header{background:var(--card);border-bottom:1px solid var(--line)}
.site-header .inner{
  max-width:960px;margin:0 auto;padding:14px 16px;
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;
}
.site-title{font-size:1.4rem;font-weight:700;margin:0}
.site-title a{color:var(--ink);text-decoration:none}
.site-tagline{color:var(--sub);font-size:.85rem;margin:0}
.main-nav{width:100%}
.main-nav ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 14px}
.main-nav a{font-size:.92rem;text-decoration:none}
.main-nav a:hover{text-decoration:underline}

/* レイアウト */
.container{max-width:960px;margin:0 auto;padding:24px 16px 48px}
.breadcrumb{font-size:.82rem;color:var(--sub);margin-bottom:12px}
.breadcrumb a{color:var(--sub)}

/* ヒーロー */
.hero{margin:0 0 8px}
.hero img{width:100%;height:340px;object-fit:cover;border-radius:12px;display:block}
.hero .hero-caption{
  background:var(--note-bg);border:1px solid var(--line);border-radius:12px;
  padding:18px 20px;margin-top:14px;
}
.hero .hero-caption p{margin:0}
.hero .hero-title{font-size:1.35rem;font-weight:700;margin:0 0 6px}

/* 見出し・本文 */
h1{font-size:1.7rem;line-height:1.45;margin:0 0 12px}
h2{
  font-size:1.3rem;line-height:1.5;margin:36px 0 12px;
  background:var(--note-bg);border-left:5px solid var(--accent);
  padding:8px 12px;border-radius:0 8px 8px 0;
}
h3{font-size:1.08rem;margin:24px 0 8px}
p{margin:0 0 14px}
ul,ol{margin:0 0 14px;padding-left:1.4em}
li{margin-bottom:4px}
.lead{font-size:1.02rem}
.meta{color:var(--sub);font-size:.85rem;margin-bottom:16px}
.eyecatch{margin:0 0 20px}
.eyecatch img{width:100%;border-radius:12px;display:block}

/* PR表記 */
.pr-notice{
  background:var(--note-bg);border:1px solid var(--line);border-radius:6px;
  padding:10px 14px;font-size:.88rem;margin:0 0 20px;
}

/* カード・一覧 */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:16px 0}
.card{
  background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:16px;box-shadow:0 2px 6px rgba(90,60,20,.06);
}
.card h3{margin-top:0}
.card p{font-size:.92rem;color:var(--sub)}
.article-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin:16px 0}
.article-card{
  background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;
  box-shadow:0 2px 6px rgba(90,60,20,.06);display:flex;flex-direction:column;
}
.article-card img{width:100%;height:160px;object-fit:cover;display:block}
.article-card .card-body{padding:14px 16px}
.article-card .date{color:var(--sub);font-size:.82rem}
.article-card a.title{font-weight:700;text-decoration:none;font-size:1.0rem;line-height:1.55;display:block;margin:4px 0 6px}
.article-card a.title:hover{text-decoration:underline}
.article-card p{margin:0;font-size:.9rem;color:var(--sub)}
.cat-label{
  display:inline-block;background:var(--accent);color:#fff;
  font-size:.72rem;border-radius:3px;padding:1px 8px;margin-right:8px;vertical-align:middle;
}

/* 比較表 */
.table-wrap{overflow-x:auto;margin:16px 0}
table.compare{border-collapse:collapse;width:100%;min-width:640px;background:var(--card);font-size:.92rem}
table.compare th,table.compare td{border:1px solid var(--line);padding:9px 10px;text-align:left;vertical-align:top}
table.compare th{background:var(--note-bg);white-space:nowrap}
table.compare td:first-child{font-weight:700;background:#fdf8ef;white-space:nowrap}

/* CTAボタン（アフィリエイトリンクのプレースホルダー） */
.cta-box{background:var(--note-bg);border:1px solid var(--line);border-radius:8px;padding:16px;margin:20px 0;text-align:center}
.cta-box p{margin-bottom:10px;font-size:.92rem}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:11px 26px;border-radius:6px;text-decoration:none;font-weight:700}
.btn:hover{background:var(--accent-dark);text-decoration:none}

/* 注意書き・脚注 */
.note{font-size:.85rem;color:var(--sub)}
.footer-note{border-top:1px solid var(--line);margin-top:36px;padding-top:14px;font-size:.85rem;color:var(--sub)}
.faq dt{font-weight:700;margin-top:14px}
.faq dd{margin:4px 0 0}

/* フッター */
.site-footer{background:#3a3129;color:#efe7da;margin-top:0}
.site-footer .inner{max-width:960px;margin:0 auto;padding:28px 16px}
.site-footer ul{list-style:none;padding:0;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:6px 18px}
.site-footer a{color:#efe7da;font-size:.9rem}
.site-footer .copy{font-size:.8rem;color:#c4b8a6}

@media (max-width:600px){
  h1{font-size:1.4rem}
  h2{font-size:1.15rem}
  .container{padding:18px 12px 40px}
  .btn{display:block;text-align:center}
  .hero img{height:auto;aspect-ratio:16/9}
  .article-cards{grid-template-columns:1fr}
}
