/* ========== Article Hero (Blog) ========== */
  .blog-article-hero {
    padding: 50px 20px 30px;
  }
  .blog-article-hero__date {
    font-family: var(--font-serif);
    font-weight: 300;
    font-size: 13px;
    color: var(--gold);
    letter-spacing: 0.08em;
    line-height: 1;
  }
  .blog-article-hero__title {
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 22px;
    color: var(--heading);
    letter-spacing: 0.03em;
    line-height: 1.5;
    margin: 14px 0 22px;
  }
  .blog-article-hero__image {
    position: relative;
    width: 100%;
    margin-bottom: 22px;
  }
  .blog-article-hero__image img {
    width: 100%;
    height: auto;
    display: block;
  }

  /* ========== Article Body ========== */
  .blog-article-body {
    padding: 0 20px 60px;
    font-family: var(--font-sans);
    font-size: 14px;
    line-height: 1.95;
    color: var(--heading);
    letter-spacing: 0.03em;
  }
  .blog-article-body p { margin: 0 0 1em; }
  .blog-article-body h2,
  .blog-article-body h3,
  .blog-article-body h4 {
    font-family: var(--font-sans);
    font-weight: 700;
    color: var(--heading);
    letter-spacing: 0.03em;
    margin: 1.8em 0 0.6em;
  }
  .blog-article-body h2 { font-size: 18px; color: var(--gold); }
  .blog-article-body h3 { font-size: 16px; }
  .blog-article-body h4 { font-size: 14px; }
  .blog-article-body img {
    width: 100%;
    height: auto;
    display: block;
    margin: 1em 0;
  }
  .blog-article-body ul,
  .blog-article-body ol {
    padding-left: 1.4em;
    margin: 0.6em 0 1em;
  }
  .blog-article-body li + li { margin-top: 4px; }
  .blog-article-body blockquote {
    margin: 1.5em 0;
    padding: 0 1em;
    border-left: 3px solid var(--gold);
    font-style: italic;
    color: var(--heading);
  }

  /* ========== Back to Blog ========== */
  .blog-back {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    padding: 10px 22px;
    margin: 20px auto 60px;
    background: var(--white);
    color: var(--heading);
    font-family: var(--font-sans);
    font-size: 13px;
    text-decoration: none;
    border: 1px solid var(--gray-300);
    border-radius: 99px;
  }

/* ========== サブメニュー（記事下の採用ブログ内導線） ========== */
.news-submenu {
  max-width: 360px;
  margin: 0 auto;
  padding: 6px 20px 56px;
  display: flex;
  flex-direction: column;
}
.news-submenu__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  padding: 16px 0;
  text-decoration: none;
  border-bottom: 1px solid var(--gray-300);
}
.news-submenu__item:first-child { border-top: 1px solid var(--gray-300); }
.news-submenu__en {
  font-family: var(--font-en);
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.1em;
  color: var(--heading);
}
.news-submenu__ja {
  font-family: var(--font-sans);
  font-size: 11px;
  letter-spacing: 0.05em;
  color: var(--gray-500);
}
