/* column-style.css
   コラム一覧・詳細ページ専用スタイル
   テーマフォルダ直下に配置してください。
*/
.hs-column-page {
  --navy: #0F2540;
  --gold: #C99A3F;
  --text: #1A1A1A;
  --sub: #5B6472;
  --line: #E1E1E1;
  --box-bg: #F3F5F8;
  font-family: -apple-system, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  color: var(--text) !important;
  background: #FFFFFF !important;
  line-height: 1.9;
}
.hs-column-page * { box-sizing: border-box; color: var(--text); }
.hs-column-page .hs-wrap { max-width: 920px; margin: 0 auto; padding: 0 20px; }
.hs-column-page section { padding: 64px 0; background: #FFFFFF !important; }

.hs-column-page .hs-list-header {
  background: var(--navy) !important; color: #FFFFFF !important; padding: 72px 0 56px;
}
.hs-column-page .hs-list-header * { color: #FFFFFF; }
.hs-column-page .hs-list-header .hs-kicker {
  font-family: Georgia, serif; font-style: italic; color: var(--gold) !important;
  font-size: 15px; letter-spacing: 0.12em; margin-bottom: 14px; display: block;
}
.hs-column-page .hs-list-header h1 { font-size: clamp(26px, 3.8vw, 36px); font-weight: 800; margin: 0 0 16px; }
.hs-column-page .hs-list-header p { font-size: 16px; color: #E9EDF2 !important; margin: 0; line-height: 2; max-width: 600px; }

.hs-column-page .hs-filter-row { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 40px; }
.hs-column-page .hs-filter-chip {
  font-size: 13.5px; font-weight: 700; padding: 8px 16px; border-radius: 999px;
  border: 1px solid var(--line); color: var(--sub) !important; background: #fff !important;
  text-decoration: none; display: inline-block;
}
.hs-column-page .hs-filter-chip.hs-active { background: var(--navy) !important; color: #FFFFFF !important; border-color: var(--navy); }

.hs-column-page .hs-card-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.hs-column-page .hs-article-card {
  display: block; text-decoration: none; background: #FFFFFF !important;
  border: 1px solid var(--line); border-radius: 4px; overflow: hidden;
}
.hs-column-page .hs-article-card .hs-card-top { height: 6px; background: var(--navy) !important; }
.hs-column-page .hs-article-card .hs-card-body { padding: 26px 26px 28px; }
.hs-column-page .hs-article-card .hs-card-tag {
  font-family: Georgia, serif; font-style: italic; font-size: 12.5px; color: var(--gold) !important;
  letter-spacing: 0.05em; font-weight: 700; margin-bottom: 10px; display: block;
}
.hs-column-page .hs-article-card h2 {
  font-size: 17px; font-weight: 800; color: var(--navy) !important; margin: 0 0 12px; line-height: 1.6;
}
.hs-column-page .hs-article-card p.hs-excerpt { font-size: 14.5px; color: var(--sub) !important; margin: 0 0 18px; line-height: 1.85; }
.hs-column-page .hs-card-meta { font-size: 12.5px; color: var(--sub) !important; display: flex; gap: 14px; align-items: center; }
.hs-column-page .hs-card-meta .hs-cat {
  background: var(--box-bg) !important; padding: 4px 10px; border-radius: 3px; font-weight: 700; color: var(--navy) !important;
}

/* 詳細ページ用 */
.hs-column-page .hs-article-header { background: var(--navy) !important; color: #FFFFFF !important; padding: 64px 0 48px; }
.hs-column-page .hs-article-header * { color: #FFFFFF; }
.hs-column-page .hs-article-header .hs-meta { font-size: 13px; color: #C9D2DE !important; margin-bottom: 16px; }
.hs-column-page .hs-article-header .hs-meta span { margin-right: 16px; }
.hs-column-page .hs-article-header h1 { font-size: clamp(22px, 3.4vw, 30px); line-height: 1.55; }

.hs-column-page .hs-content-body { font-size: 16px; line-height: 2; max-width: 760px; margin: 0 auto; }
.hs-column-page .hs-content-body h2 {
  font-size: clamp(20px, 2.6vw, 26px); font-weight: 800; color: #FFFFFF !important; margin: 48px 0 20px;
  background: var(--navy) !important; padding: 12px 20px !important; border-radius: 2px; line-height: 1.5;
  border: none !important; box-shadow: none !important;
}
.hs-column-page .hs-content-body p { margin: 0 0 18px; }
.hs-column-page .hs-content-body ul { margin: 0 0 20px; padding-left: 20px; }
.hs-column-page .hs-content-body li { margin-bottom: 10px; }

.hs-column-page .hs-cta-strip {
  margin-top: 56px; background: var(--navy) !important; border-radius: 4px; padding: 40px; text-align: center;
  max-width: 760px; margin-left: auto; margin-right: auto;
}
.hs-column-page .hs-cta-strip * { color: #FFFFFF !important; }
.hs-column-page .hs-cta-strip h3 { font-size: 19px; font-weight: 800; margin: 0 0 10px; }
.hs-column-page .hs-cta-strip p { font-size: 14.5px; color: #E3E8EF !important; margin: 0 0 20px; }
.hs-column-page .hs-btn {
  display: inline-block; text-decoration: none; font-size: 14.5px; font-weight: 800;
  padding: 14px 28px; border-radius: 3px; background: var(--gold) !important; color: #1A1200 !important;
}

@media (max-width: 720px) {
  .hs-column-page .hs-card-grid { grid-template-columns: 1fr; }
  .hs-column-page section { padding: 44px 0; }
}
