body {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 12px;
  font-family: 'Noto Sans KR', sans-serif;
}

header {
  margin-top: 4vh;
}

header > span {
  font-size: 2rem;
  font-weight: 800;
}

main {
  width: 80vmin;
  margin-top: 10vh;
  display: flex;
  justify-content: center;
}

section {
  display: grid;
  grid-auto-flow: row;
  grid-template-columns: repeat(4, 1fr);
  gap: 5vmin 3vmin;
}

article {
  width: 30vmin;
  height: 30vmin;
  border: 1px solid black;
  text-align: center;
  font-size: 1.2rem;
}

article img {
  width: 30vmin;
  height: 30vmin;
}

article a {
  text-decoration: none;
  color: black;
}
