:root {
  --rifomitsu-teal: #0f8b8d;
  --rifomitsu-orange: #ff6b1a;
  --rifomitsu-soft: #f7fafa;
  --rifomitsu-line: #e5eaea;
  --rifomitsu-text: #333;
}

.single-post .c-postTitle__ttl,
.archive .c-pageTitle,
.blog .c-pageTitle,
.page-template-default .c-postTitle__ttl {
  color: var(--rifomitsu-text);
  letter-spacing: 0;
}

.single-post .p-articleHead,
.archive .l-mainContent__inner,
.blog .l-mainContent__inner {
  border-radius: 18px;
}

.single-post .post_content h2 {
  border-left: 5px solid var(--rifomitsu-teal);
  padding-left: 0.85em;
}

.single-post .post_content h3 {
  color: var(--rifomitsu-teal);
}

.single-post .post_content a {
  color: var(--rifomitsu-teal);
}

.p-postList__item,
.p-postListWrap article {
  border-color: var(--rifomitsu-line);
}

.p-postList__title {
  color: var(--rifomitsu-text);
}

.c-categoryList__link,
.c-tagList__link,
.p-postList__cat {
  background: rgba(15, 139, 141, 0.1);
  color: var(--rifomitsu-teal);
}

.rifomitsu-article-cta {
  margin: 48px 0 24px;
  padding: 28px;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--rifomitsu-teal), #087274);
  color: #fff;
  text-align: center;
}

.rifomitsu-article-cta h2 {
  margin: 0 0 10px;
  color: #fff;
  border: 0;
  padding: 0;
}

.rifomitsu-article-cta p {
  margin: 0 0 18px;
  font-weight: 700;
}

.rifomitsu-article-cta a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 10px 28px;
  border-radius: 999px;
  background: var(--rifomitsu-orange);
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}

@media (max-width: 767px) {
  .rifomitsu-article-cta {
    margin: 36px 0 20px;
    padding: 22px 18px;
    border-radius: 14px;
  }

  .rifomitsu-article-cta h2 {
    font-size: 22px;
  }
}
