:root {
  --ink: #14171c;
  --brand: #0c7c6c;
  --mist: #e8f3f0;
  --paper: #f4f6f5;
}

body {
  background: var(--paper);
}

a {
  text-underline-offset: 0.15em;
}

.wp-site-blocks {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

footer.wp-block-template-part,
.ccl-footer {
  margin-top: auto;
}

.wp-block-site-title a {
  color: #fff !important;
  text-decoration: none;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15px;
  font-weight: 500;
}

.wp-block-navigation a {
  color: #fff !important;
}

.wp-block-navigation .current-menu-item > a {
  box-shadow: inset 0 -2px 0 #fff;
}

.ccl-hero h1,
.ccl-join h2 {
  font-family: "Shippori Mincho", "Yu Mincho", serif;
  font-weight: 600;
}

.ccl-news-grid .wp-block-post-template {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

@media (max-width: 900px) {
  .ccl-news-grid .wp-block-post-template {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .ccl-news-grid .wp-block-post-template {
    grid-template-columns: 1fr;
  }
}

.ccl-news-grid .wp-block-post-featured-image img {
  height: 148px;
  width: 100%;
  object-fit: cover;
  border-radius: 8px;
}

.ccl-news-grid .wp-block-post-title {
  font-size: 15px;
  line-height: 1.35;
  font-family: "Shippori Mincho", "Yu Mincho", serif;
}

.ccl-news-grid .wp-block-post-title a {
  text-decoration: none;
}

.ccl-news-grid .wp-block-post-excerpt p {
  font-size: 13px;
  line-height: 1.5;
  color: #5b6360;
}

.wp-block-button__link {
  padding: 16px 40px !important;
  border-radius: 999px !important;
  font-size: 17px !important;
}

.ccl-page-title {
  background: var(--ink);
  color: #fff;
  margin: 0;
}

.ccl-page-title h1 {
  color: #fff;
}
