/*
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;
}

/* ===== ヘッダーロゴ左寄せ強制上書き ===== */
#header .header-container,
#header .header-container-in,
#header .header-in,
#header .header-logo,
#header .site-name,
#header .site-name-text,
.header-container,
.header-container-in,
.header-logo,
.site-name {
  text-align: left !important;
  justify-content: flex-start !important;
  margin-left: 0 !important;
}
#header {
  padding-left: 24px !important;
}
.site-name-text {
  font-size: 26px !important;
  letter-spacing: 0.06em !important;
}
#header .navi,
#header .global-navi {
  margin-left: auto !important;
}

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

/* ===== 記事ページ ===== */
.entry-title {
  font-size: 24px !important;
  font-weight: 500 !important;
  color: #1C1C1C !important;
  line-height: 1.6 !important;
  border-left: 4px solid #E8644A !important;
  padding-left: 14px !important;
  margin-bottom: 24px !important;
}
.entry-content h2 {
  border-left: 4px solid #E8644A !important;
  padding-left: 12px !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  margin: 32px 0 16px !important;
}
.entry-content h3 {
  border-bottom: 1px solid #E8644A !important;
  padding-bottom: 6px !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  margin: 24px 0 12px !important;
}
.entry-content p {
  line-height: 1.9 !important;
  color: #333 !important;
  font-size: 15px !important;
}

/* ===== フッター ===== */
#footer {
  background: #1C1C1C !important;
  color: #AAAAAA !important;
  padding: 32px 24px !important;
  border-top: 1px solid #333 !important;
}
#footer a {
  color: #AAAAAA !important;
}
#footer .footer-title,
#footer .site-name-text {
  color: #FFFFFF !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
}
.copyright {
  color: #666 !important;
  font-size: 11px !important;
}

/* ===== 記事ページ タイトル ===== */
.entry-title {
  font-size: 26px !important;
  font-weight: 500 !important;
  color: #1C1C1C !important;
  line-height: 1.6 !important;
  border-left: 4px solid #E8644A !important;
  padding-left: 16px !important;
  margin-bottom: 28px !important;
}

/* ===== SNSシェアボタンをモノクロに ===== */
.sns-share-buttons .sns-share-button,
.share-button,
.share-buttons a {
  background: #2C2C2C !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 4px !important;
  opacity: 0.85;
}
.sns-share-buttons .sns-share-button:hover,
.share-buttons a:hover {
  opacity: 1;
  background: #1C1C1C !important;
}
.share-button-twitter,
.sns-twitter { background: #1C1C1C !important; }
.share-button-facebook,
.sns-facebook { background: #2A3A5C !important; }
.share-button-hatenabookmark,
.sns-hatenabookmark { background: #2C2C2C !important; }
.share-button-line,
.sns-line { background: #1A4A1A !important; }
.share-button-pinterest,
.sns-pinterest { background: #4A1A1A !important; }

/* ===== サイドバーウィジェットタイトルをチャコール×サーモンに統一 ===== */
.widget_title,
.widget-title,
.widgettitle,
#sidebar .widget-title,
#sidebar .widgettitle {
  background: #F7F5F4 !important;
  color: #1C1C1C !important;
  border-left: 3px solid #E8644A !important;
  border-radius: 0 !important;
  padding: 10px 14px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}
.widget_title::before,
.widgettitle::before {
  display: none !important;
}

/* ===== 不要な要素を非表示 ===== */
.cat-links a[href*="uncategorized"],
.cat-links a[href*="%e6%9c%aa%e5%88%86%e9%a1%9e"],
li.cat-item-1 { display: none !important; }

.author-box,
.author-info,
.author-follow,
.follow-button,
.sns-follow-buttons,
.blogcard-author { display: none !important; }

#ez-toc-container,
.footer-sub-nav,
.footer-post-count,
[class*="post-count"],
.cocoon-block-box { display: none !important; }

.footer-bottom-bar,
.footer-pv { display: none !important; }

/* ===== フッターを充実させる ===== */
#footer {
  background: #1C1C1C !important;
  padding: 48px 24px 24px !important;
  border-top: 1px solid #333 !important;
}
#footer .footer-logo,
#footer .site-name-text {
  font-size: 20px !important;
  font-weight: 500 !important;
  color: #FFFFFF !important;
  letter-spacing: 0.06em !important;
  display: block !important;
  margin-bottom: 8px !important;
}
#footer .footer-description,
#footer .tagline {
  font-size: 12px !important;
  color: #AAAAAA !important;
  line-height: 1.7 !important;
}
.copyright,
#footer .copyright {
  color: #666 !important;
  font-size: 11px !important;
  text-align: center !important;
  margin-top: 32px !important;
  padding-top: 16px !important;
  border-top: 1px solid #333 !important;
}

/* ===== 記事本文のスタイル ===== */
.entry-content {
  font-size: 15px !important;
  line-height: 1.9 !important;
  color: #333333 !important;
}
.entry-content h2 {
  border-left: 4px solid #E8644A !important;
  padding-left: 12px !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  margin: 36px 0 16px !important;
  color: #1C1C1C !important;
}
.entry-content h3 {
  border-bottom: 2px solid #F0F0F0 !important;
  border-left: none !important;
  padding-bottom: 8px !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  margin: 28px 0 12px !important;
  color: #1C1C1C !important;
}
.entry-content p {
  margin-bottom: 1.4em !important;
}

/* ===== 関連記事エリア ===== */
.related-entry-heading {
  border-left: 4px solid #E8644A !important;
  padding-left: 12px !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #1C1C1C !important;
}

/* ===== ヘッダーロゴ左寄せ最終上書き ===== */
/* hlt-center-logo-wrap ボディクラスを直接上書き */
#header * { box-sizing: border-box; }
#header-in,
.header-in,
.hlt-center-logo-wrap #header-in,
.hlt-center-logo-wrap .header-in {
  text-align: left !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 16px 24px !important;
}
#header-in .logo,
#header-in h1,
.header-in .logo {
  text-align: left !important;
  margin: 0 !important;
}
#header .site-name-text,
.site-name-text {
  font-size: 26px !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  text-align: left !important;
}
#header .tagline,
.tagline {
  text-align: left !important;
  font-size: 10px !important;
  color: #E8876A !important;
  letter-spacing: 0.1em !important;
}
/* wrap クラスの中央寄せを解除 */
#header-in.wrap {
  max-width: none !important;
  width: 100% !important;
}
