:root {
  --red: #141414;
  --yellow: #ffffff;
  --black: #141414;
  --white: #ffffff;
}

.stack-copy.stack-copy-hero {
  display: grid;
  place-items: center;
  padding: 0 6vw;
  background: #ffffff;
  color: #141414;
}

.logo-mark {
  margin: 0;
  color: #141414;
  text-align: center;
  line-height: 0.9;
}

.logo-kana {
  margin: 0 0 0.4em;
  font-size: clamp(1.25rem, 2.2vw, 1.85rem);
  font-weight: 700;
  letter-spacing: 0.48em;
}

.logo-en {
  margin: 0;
  font-size: clamp(4.4rem, 8.6vw, 7.2rem);
  font-weight: 800;
  letter-spacing: 0.06em;
}

.stack-service {
  --sketch: #141414;
}

.site-nav a:hover,
.site-nav a[aria-current="page"] {
  color: #ffffff;
  text-decoration: underline;
  text-underline-offset: 0.22em;
}

.works-home {
  left: 1.4rem;
}

.stack.stack-works,
.works-page-hero {
  --works-card: #ffffff;
}

.works-filter {
  border-color: #ffffff;
  color: #ffffff;
}

.works-filter.is-active,
.works-filter:hover {
  background: #ffffff;
  color: #141414;
}

.works-card.is-current {
  box-shadow: inset 0 0 0 2px #141414;
}

.works-card-number.is-phrase {
  font-size: clamp(1.35rem, 7cqi, 2.2rem);
  letter-spacing: 0.08em;
}

.works-doc thead th {
  background: #141414;
  color: #ffffff;
}

.works-doc tbody th {
  background: #f3f3f3;
}

.works-doc a,
.privacy-doc a {
  color: #141414;
}

@media (max-width: 900px) {
  .works-home {
    left: 1.05rem;
  }

  .stack-hero .stack-visual {
    display: none;
  }

  .stack-hero.stack-split {
    background: #ffffff;
  }

  .stack-hero .stack-copy.stack-copy-hero {
    display: grid;
    place-items: center;
    height: 100%;
    background: #ffffff;
    padding: 0 10vw 7vh;
  }

  .stack-hero .logo-mark {
    color: #141414;
  }
}
