/*
Theme Name: Cocoon Child
Template: cocoon-master
*/
/* ここから追記 */

/* Reset Cocoon defaults for our layout */
.hj-wrap { background:#F7F5F4; }

/* カテゴリナビ */
.hj-cat-nav { display:flex; gap:0; background:#fff; border-bottom:1px solid #E8E4E2; padding:0 20px; overflow-x:auto; }
.hj-cat-nav a { font-size:12px; font-weight:500; color:#666; padding:10px 14px; text-decoration:none; border-bottom:2px solid transparent; white-space:nowrap; display:block; }
.hj-cat-nav a:hover, .hj-cat-active { color:#E8644A !important; border-bottom-color:#E8644A !important; }

/* メインレイアウト */
.hj-layout { display:grid; grid-template-columns:1fr 300px; gap:24px; max-width:1160px; margin:0 auto; padding:24px 20px; }
.hj-main { min-width:0; }

/* フィーチャーカード */
.hj-feat { display:grid; grid-template-columns:320px 1fr; background:#fff; border:0.5px solid #EEE; border-radius:8px; overflow:hidden; margin-bottom:24px; text-decoration:none; transition:border-color .2s,transform .2s; }
.hj-feat:hover { border-color:#E8644A; transform:translateY(-2px); }
.hj-feat-img { overflow:hidden; height:220px; }
.hj-feat-img img { width:100%; height:100%; object-fit:cover; display:block; }
.hj-feat-body { padding:24px; display:flex; flex-direction:column; gap:10px; justify-content:center; }
.hj-feat-body h2 { font-size:18px; font-weight:500; color:#1C1C1C; line-height:1.6; margin:0; }
.hj-feat-body p { font-size:13px; color:#888; line-height:1.8; margin:0; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }

/* セクションタイトル */
.hj-sec-hd { display:flex; align-items:center; gap:8px; margin-bottom:16px; }
.hj-sec-bar { display:block; width:3px; height:18px; background:#E8644A; }
.hj-sec-hd span:last-child { font-size:14px; font-weight:500; color:#1C1C1C; }

/* グリッド */
.hj-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.hj-card { background:#fff; border:0.5px solid #EEE; border-radius:8px; overflow:hidden; text-decoration:none; display:block; transition:border-color .2s,transform .2s; }
.hj-card:hover { border-color:#E8644A; transform:translateY(-3px); }
.hj-card-img { position:relative; aspect-ratio:16/9; overflow:hidden; background:#2C2C2C; }
.hj-card-img img { width:100%; height:100%; object-fit:cover; display:block; }
.hj-card-img .hj-badge { position:absolute; bottom:8px; left:8px; margin:0; }
.hj-card-body { padding:14px; }
.hj-card-body h3 { font-size:13px; font-weight:500; color:#1C1C1C; line-height:1.6; margin:0 0 6px; }
.hj-card-body span { font-size:11px; color:#AAA; }

/* バッジ */
.hj-badge { display:inline-block; font-size:10px; font-weight:500; padding:3px 8px; border-radius:3px; letter-spacing:.04em; margin-bottom:8px; }
.hj-cat-グルメ飲食店, .hj-cat-gourmet { background:#E8644A; color:#fff; }
.hj-cat-イベントおでかけ, .hj-cat-event { background:#7B5EA7; color:#fff; }
.hj-cat-観光スポット, .hj-cat-spot { background:#2E7D52; color:#fff; }
.hj-cat-ニュース地域情報, .hj-cat-news { background:#1A6FAA; color:#fff; }
.hj-cat-ショッピング, .hj-cat-shopping { background:#C4622D; color:#fff; }
.hj-cat-ビジネス経済情報, .hj-cat-business { background:#4A4A4A; color:#fff; }

/* サイドバー */
.hj-side { display:flex; flex-direction:column; gap:16px; }

/* 大和バナー */
.hj-yamato { background:#1C1C1C; border-radius:8px; padding:18px; text-align:center; }
.hj-yamato-label { font-size:10px; color:#E8876A; letter-spacing:.12em; font-weight:500; margin-bottom:6px; }
.hj-yamato-name { font-size:20px; font-weight:500; color:#fff; margin-bottom:6px; }
.hj-yamato-sub { font-size:11px; color:#AAA; line-height:1.6; margin-bottom:14px; }
.hj-yamato-btn { display:block; background:#E8644A; color:#fff; font-size:12px; font-weight:500; padding:10px; border-radius:4px; text-decoration:none; }
.hj-yamato-btn:hover { background:#F0957A; color:#fff; }

/* ウィジェット */
.hj-widget { background:#fff; border:0.5px solid #EEE; border-radius:8px; overflow:hidden; }
.hj-widget-title { background:#F7F5F4; border-left:3px solid #E8644A; padding:10px 14px; font-size:13px; font-weight:500; color:#1C1C1C; }
.hj-widget-body { padding:12px 14px; }

/* 人気記事 */
.hj-rank { display:flex; gap:10px; align-items:flex-start; padding:8px 0; border-bottom:0.5px solid #F0F0F0; }
.hj-rank:last-child { border-bottom:none; }
.hj-rank-n { font-size:18px; font-weight:500; color:#EEE; min-width:26px; line-height:1.2; flex-shrink:0; }
.hj-rank a { font-size:12px; color:#1C1C1C; text-decoration:none; line-height:1.5; font-weight:500; }
.hj-rank a:hover { color:#E8644A; }

/* PVカウンター非表示 */
.post-views, .entry-views, .views-count, .entry-meta-items .views-box { display:none !important; }

/* フロントページ: Cocoonサイドバー非表示・メインフル幅 */
body.front-top-page #sidebar,
body.front-top-page .sidebar-scroll { display:none !important; }
body.front-top-page #main { width:100% !important; max-width:none !important; float:none !important; }
body.front-top-page #content-in { display:block !important; }

/* ===== 細部修正 ===== */

/* 日付の色を修正（赤→グレー） */
.hj-feat-date,
.hj-feat-body span,
.hj-card-body span {
  color: #AAAAAA !important;
  font-size: 11px;
}

/* ヘッダーロゴ左寄せ・大きく */
#header {
  text-align: left !important;
}
#header .site-name-text,
.site-name-text {
  font-size: 26px !important;
  letter-spacing: 0.06em !important;
  text-align: left !important;
}
.header-logo,
.site-name {
  text-align: left !important;
  margin-left: 20px !important;
}
#header .header-in,
.header-in {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  padding: 0 20px !important;
}
/* Cocoonのheader中央揃えを上書き */
#header .header-container,
#header .header-container-in {
  text-align: left !important;
}

/* フィーチャーカードの画像高さ統一 */
.hj-feat-img {
  height: 240px !important;
  min-height: 240px !important;
}
.hj-feat-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* グリッドカードのタイトルが切れないように */
.hj-card-body {
  padding: 12px 14px 14px !important;
}
.hj-card-body h3 {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #1C1C1C !important;
  line-height: 1.6 !important;
  margin: 0 0 6px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  white-space: normal !important;
  word-break: break-all !important;
}

/* カテゴリバッジを画像左下にオーバーレイ */
.hj-card-img {
  position: relative !important;
}
.hj-card-img .hj-badge {
  position: absolute !important;
  bottom: 8px !important;
  left: 8px !important;
  margin: 0 !important;
  z-index: 2 !important;
}

/* フィーチャーカード: バッジを画像内にオーバーレイ */
.hj-feat-img {
  position: relative !important;
}
.hj-feat-badge {
  position: absolute !important;
  bottom: 10px !important;
  left: 10px !important;
  margin: 0 !important;
  z-index: 2 !important;
}
