/* ブログの写真（2026-10-30）。一覧はカード、記事は頭に1枚 */
.bl-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 56px 32px; margin-top: 32px; }
.bl-card > a { display: block; color: inherit; }
.bl-card > a:hover { text-decoration: none; }
.bl-card__ph { display: block; aspect-ratio: 3 / 2; overflow: hidden; border-radius: 8px; background: #eef5f6; }
.bl-card__ph img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.bl-card > a:hover .bl-card__ph img { transform: scale(1.03); }
.bl-card .nw-meta { margin-top: 16px; }
.bl-card .nw-ttl { margin-top: 8px; font-size: 16px; line-height: 28px; }
.bl-card > a:hover .nw-ttl { color: var(--c-main); }
.bl-card .nw-ex { margin-top: 8px; font-size: 14px; line-height: 24px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.bl-hero { margin: 0 0 48px; }
.bl-hero img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; object-position: center 35%; border-radius: 8px; }
@media (max-width: 960px) {
  .bl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px 24px; }
}
@media (max-width: 640px) {
  .bl-grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .bl-hero { margin-bottom: 32px; }
}
