@charset "utf-8";
/* =========================================================
   コラム詳細用 追加モジュール (E-E-A-T & 内部リンク対策)
========================================================= */
.column-add-author__title, .column-add-related__title { font-size: 22px; font-weight: 700; color: #333; margin-bottom: 24px; padding-bottom: 12px; border-bottom: 2px solid #0056b3; }
.column-add-author { background-color: #f8f9fa; border: 1px solid #e2e8f0; border-radius: 8px; padding: 32px; margin: 60px 0 40px; }
.column-add-author__inner { display: flex; align-items: flex-start; gap: 24px; }
.column-add-author__thumb { flex-shrink: 0; margin: 0; }
.column-add-author__thumb img { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; border: 3px solid #fff; box-shadow: 0 2px 8px rgba(0,0,0,0.1); }
.column-add-author__info { flex-grow: 1; }
.column-add-author__name { font-size: 18px; font-weight: bold; color: #333; }
.column-add-author__cert { font-size: 14px; font-weight: bold; display: inline-block; padding: 4px 10px; border-radius: 4px; margin-bottom: 12px; }
.column-add-author__desc { font-size: 15px; line-height: 1.6; color: #555; }
.column-add-related { margin: 0 0 60px; }
.column-add-related__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.column-add-related__card { display: flex; flex-direction: column; background: #fff; border: 1px solid #e2e8f0; border-radius: 6px; overflow: hidden; text-decoration: none; transition: box-shadow 0.3s ease, transform 0.3s ease; }
.column-add-related__card:hover { box-shadow: 0 8px 16px rgba(0,0,0,0.08); transform: translateY(-4px); }
.column-add-related__thumb { width: 100%; aspect-ratio: 16 / 9; margin: 0; overflow: hidden; background-color: #f1f1f1; }
.column-add-related__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.column-add-related__card:hover .column-add-related__thumb img { transform: scale(1.05); }
.column-add-related__text { padding: 16px; display: flex; flex-direction: column; flex-grow: 1; }
.column-add-related__name { font-size: 15px; font-weight: 700; color: #333; line-height: 1.5; margin-bottom: 16px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.column-add-related__date { font-size: 12px; color: #888; margin-top: auto; }
@media screen and (max-width: 768px) {
  .column-add-author__title, .column-add-related__title { font-size: 18px; margin-bottom: 16px; }
  .column-add-author { padding: 24px 16px; margin: 40px 0 30px; }
  .column-add-author__inner { flex-direction: column; align-items: center; text-align: center; gap: 8px; }
  .column-add-author__thumb img { width: 110px; height: 110px; }
  .column-add-author__cert { margin-bottom: 8px; }
  .column-add-author__desc { text-align: left; font-size: 14px; }
  .column-add-related__grid { grid-template-columns: 1fr; gap: 16px; }
  .column-add-related__card { flex-direction: row; align-items: stretch; }
  .column-add-related__thumb { width: 120px; aspect-ratio: 1 / 1; flex-shrink: 0; }
  
  .column-add-related__text { padding: 12px; }
  .column-add-related__name { font-size: 14px; -webkit-line-clamp: 2; margin-bottom: 8px; }
}