/* Layout Spacing & Utilities */
.mt-10 {
  margin-top: 10px;
}

.mt-20 {
  margin-top: 20px;
}

.mt-50 {
  margin-top: 50px;
}

#t01 article {
  margin-bottom: 40px;
}

.sub_title2 p {
  font-size: 1.1rem;
  color: #333;
  margin: 0;
}

.sub_title2 .cate {
  display: inline-block;
  margin-right: 12px;
  padding: 2px 8px;
  background-color: #1a56a3;
  color: #fff;
  border-radius: 4px;
}

.border-top-area {
  margin: 12px 0 20px;
}

.border-line {
  height: 2px;
  background-color: #1a56a3;
  width: 100%;
}

/* Base Image Grid */
.image-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.image-grid.sam-x-e {
  grid-template-columns: repeat(3, 1fr);
}

.image-grid.e-x-e {
  grid-template-columns: repeat(2, 1fr);
}

.image-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 4px;
}

/* Grid Item Modifiers */
.image-item.full-width {
  grid-column: 1 / -1;
}

.image-item.wide {
  grid-column: span 2;
}

.image-item.narrow {
  grid-column: span 1;
}

/* Responsive Styles */
@media (max-width: 768px) {
  .image-grid,
.image-grid.sam-x-e,
.image-grid.e-x-e {
    grid-template-columns: repeat(1, 1fr);
  }
  .image-item.wide,
.image-item.narrow {
    grid-column: span 1;
  }
}
