/* ============================================================
   週次ハイライト（公開ページ）
============================================================ */

.hl_list_item{
  display:block;background:#fff;border:1px solid #e5e9f0;border-radius:12px;
  padding:18px 20px;margin-bottom:12px;text-decoration:none;color:inherit;
  transition:border-color .15s, box-shadow .15s, transform .15s;
}
.hl_list_item:hover{border-color:#1e9986;box-shadow:0 4px 14px rgba(0,0,0,.06);transform:translateY(-1px);}
.hl_list_period{font-size:13px;color:#6b7c93;margin-bottom:6px;}
.hl_list_title{font-size:18px;font-weight:700;color:#1a2c4e;margin:0 0 8px;line-height:1.5;}
.hl_list_lead{font-size:14px;color:#475569;line-height:1.8;margin:0;}

/* 詳細ページ */
.hl_article{font-size:16px;color:#334155;line-height:1.9;}
.hl_stats{
  display:grid;grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));gap:10px;
  margin:0 0 24px;padding:16px;background:#eef5ff;border-radius:10px;
}
.hl_stat_cell{display:flex;flex-direction:column;gap:2px;}
.hl_stat_cell strong{font-size:22px;font-weight:800;color:#1a2c4e;line-height:1;}
.hl_stat_cell span{font-size:12px;color:#6b7c93;}

.hl_body h2{
  font-size:22px;font-weight:800;color:#1a2c4e;margin:32px 0 12px;
  padding-bottom:8px;border-bottom:3px solid #1e9986;
}
.hl_body h3{font-size:18px;font-weight:700;color:#1a2c4e;margin:24px 0 10px;}
.hl_body p{margin:0 0 14px;}
.hl_body ul{margin:0 0 18px;padding-left:24px;}
.hl_body li{margin-bottom:6px;}
.hl_body a{color:#1e9986;font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.hl_body a:hover{color:#167a6c;}
.hl_body strong{color:#1a2c4e;}

.hl_related_card{
  display:flex;flex-direction:column;
  padding:14px 16px;background:#fff;border:1px solid #e5e9f0;
  border-radius:10px;text-decoration:none;color:#1a2c4e;
  font-weight:700;font-size:15px;line-height:1.5;
  transition:border-color .15s, transform .15s;
}
.hl_related_card:hover{border-color:#1e9986;transform:translateY(-1px);}
.hl_related_card span{font-weight:500;font-size:12px;color:#6b7c93;margin-top:2px;}

.hl_more_item{
  display:block;padding:10px 14px;background:#f7f9fc;border-radius:8px;
  text-decoration:none;color:#1a2c4e;font-size:14px;font-weight:600;
}
.hl_more_item span{color:#6b7c93;font-weight:500;font-size:12px;display:block;margin-top:2px;}
.hl_more_item:hover{background:#eef5ff;}
