@import url(lower.css);

section h2 {
  font: 500 max(2.4vw, 1.5em) var(--weight-variable);
}
section h2::after {
  content: attr(data-en);
  display: block;
  font-size: 1rem;
  font-weight: normal;
}
.site ul {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: max(4vw, 3em) 3%;
}
.site li {
  position: relative;
}
.site li::before {
  position: absolute;
  inset: 0;
  content: "";
  opacity: 0;
  background: linear-gradient(transparent, rgba(255, 255, 255, 0.7));
  transition: .5s;
  pointer-events: none;
}
.site li:hover::before {
  opacity: 1;
}
.site a {
  width: 100%;
  display: block;
}
.site img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  object-position: top;
  margin-bottom: .6em;
}
.site .url {
  text-align: right;
  opacity: .4;
}
.site h3 {
  font: 500 1rem var(--weight-variable);
}

.system {
  background-color: var(--bg-c);
}
.system ul {
  width: min(100%, 1024px);
  margin-inline: auto;
}
.system h3 {
  font: 500 max(1.8vw, 1.3em) var(--weight-variable);
  margin-bottom: .6em;
  padding-bottom: .4em;
  border-bottom: 1px solid;
}
.system li {
  display: flex;
  gap: 6%;
  align-items: center;
}
.system li ~ li {
  margin-top: max(5vw, 50px);
}
.system img {
  width: max(35%, 280px);
  filter: hue-rotate(280deg) ;
}
:nth-child(even of .system li) img {
  order: 1;
}
.system h4 {
  font: 500 1.1em var(--weight-variable);
  color: var(--primary-c);
  margin-bottom: 0.4em;
}
.system .outline {
  margin-bottom: 1em;
}

@media (width < 1024px) {
  .system li {
    flex-direction: column;
    gap: 1em;
  }
  :nth-child(even of .system li) img {
    order: 0;
  }
}