main.news section {
  max-width: 960px;
  margin: 40px auto;
}

main.news time {
  color: var(--parimary);
  font-size: 13px;
  font-weight: bold;
}

main.news .image-grid {
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr;
}

main.news img {
  max-width: 100%;
  height: auto;
}

@media screen and (min-width: 768px) {
  main.news .ttl-section {
    font-size: 1.5rem;
  }

  main.news .image-grid {
    margin-bottom: 40px;
  }

  main.news .image-grid:has(img:nth-child(2)) {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 767px) {
  main.news section {
    padding: 24px 16px;
  }

  main.news .ttl-section {
    font-size: 1.45rem;
    padding-bottom: 1rem;
  }

  main.news .image-grid {
    margin-bottom: 32px;
  }
}