/* =========================================================
   社長ブログ：最新3件カード（トップ用）
   ========================================================= */
.kk-latest-blog-title{
  margin: 0 0 12px;
}
.kk-latest-blog-title a{
  color: #0b7a0b;
  text-decoration: none;
}
.kk-latest-blog-title a:hover{
  text-decoration: underline;
}

.latest-blogs{
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  margin: 0 0 20px;
}

.latest-blog-card{
  flex: 1 1 calc(33.333% - 20px);
  box-shadow: 0 2px 6px rgba(0,0,0,0.10);
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  text-decoration: none;
  color: #333;
  display:flex;
  flex-direction:column;
}

.latest-blog-card img{
  width:100%;
  aspect-ratio: 16 / 9;   /* 高さを揃える */
  object-fit: cover;
  display:block;
}

.latest-blog-noimg{
  width:100%;
  aspect-ratio: 16 / 9;
  background:#e9e9e9;
  display:block;
}

.latest-blog-card h3{
  font-size: 1em;
  margin: 10px 12px 6px;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.7em; /* 2行分確保 */
}

.latest-blog-card p{
  font-size: 0.9em;
  margin: 0 12px 12px;
  color:#555;
  line-height: 1.55;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 4.6em; /* 3行分確保 */
}

/* タブレット：2列 */
@media (max-width: 1024px){
  .latest-blog-card{ flex: 1 1 calc(50% - 20px); }
}

/* スマホ：1列 */
@media (max-width: 768px){
  .latest-blog-card{ flex: 1 1 100%; }
}