/* お役立ち記事(2026-10-27): templates/default/column/ */
.column { max-width: 820px; margin: 0 auto; font-size: 16px; line-height: 1.9; color: #333; }
.column-title { font-size: 1.7rem; line-height: 1.5; font-weight: 700; margin-bottom: .5rem; }
.column-meta { font-size: .85rem; color: #687188; margin-bottom: 2rem; }
.column-body h2 { font-size: 1.35rem; line-height: 1.5; font-weight: 700; margin: 2.5rem 0 1rem; padding: .4rem 0 .4rem .8rem; border-left: 5px solid #FF324D; background: #fafafa; }
.column-body h3 { font-size: 1.12rem; font-weight: 700; margin: 1.8rem 0 .8rem; padding-bottom: .3rem; border-bottom: 1px solid #e5e5e5; }
.column-body p { margin: 0 0 1.2em; }
.column-body ul, .column-body ol { margin: 0 0 1.2em; padding-left: 1.4em; }
.column-body li { margin-bottom: .3em; }
.column-body table { width: 100%; margin: 0 0 1.5em; border-collapse: collapse; font-size: .92rem; line-height: 1.6; }
.column-body th, .column-body td { border: 1px solid #ddd; padding: .55em .7em; vertical-align: top; text-align: left; }
.column-body th { background: #f5f5f7; white-space: nowrap; }
.column-body .table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.column-summary { padding: 1rem 1.2rem; margin-bottom: 2rem; background: #fff7f8; border: 1px solid #ffd2d9; border-radius: 6px; }
.column-summary p { font-weight: 700; margin-bottom: .4rem; }
.column-summary ul { margin: 0; }
.column-note { font-size: .88rem; color: #666; padding: .8rem 1rem; background: #f7f7f7; border-radius: 6px; }
.column-toc { padding: 1rem 1.2rem; margin-bottom: 2rem; border: 1px solid #e5e5e5; border-radius: 6px; }
.column-toc p { font-weight: 700; margin-bottom: .4rem; }
.column-toc ol { margin: 0; padding-left: 1.3em; }
.column-faq dt { margin-top: 1rem; font-weight: 700; }
.column-faq dd { margin: .3rem 0 0; padding-left: 1.4em; }
.column-sources { font-size: .82rem; color: #777; }
.column-sources li { word-break: break-all; }
.consult-cta-h { font-weight: 700; font-size: 1.1rem; color: #222; }
.column-related { margin-top: 2.5rem; }
.column-related h2 { font-size: 1.15rem; font-weight: 700; margin-bottom: .8rem; }
.column-related ul { padding-left: 1.2em; }

/* 一覧(/column とトップ) */
.column-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.column-list a { display: flex; gap: 14px; align-items: flex-start; height: 100%; padding: 14px; border: 1px solid #e5e5e5; border-radius: 8px; color: #333; background: #fff; transition: border-color .15s, box-shadow .15s; }
.column-list a:hover { border-color: #FF324D; box-shadow: 0 4px 12px rgba(0, 0, 0, .08); }
.column-card-img { flex: 0 0 38%; max-width: 180px; }
.column-card-img img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 6px; }
.column-card-text { flex: 1; min-width: 0; }
.column-eyecatch { margin: 0 0 1.5rem; }
.column-eyecatch img { display: block; width: 100%; height: auto; border-radius: 8px; }
.column-list strong { display: block; font-size: 1rem; line-height: 1.5; margin-bottom: .4rem; }
.column-card-text > span { display: block; font-size: .85rem; color: #687188; line-height: 1.6; }
@media (max-width: 767px) {
  .column { font-size: 15px; }
  .column-title { font-size: 1.35rem; }
  .column-body h2 { font-size: 1.15rem; }
  .column-list { grid-template-columns: 1fr; }
}
