/* ==========================================================================
   Post content
   ========================================================================== */

/* --------------------------------------------------------------------------
   SP〜
   -------------------------------------------------------------------------- */
/* 要素の間隔は1行分 */
:is(.c-post-content, .editor-styles-wrapper .is-root-container) > * + * {
  margin-top: calc(var(--lh-body) * 1em);
}

/* h2(Figma: h2) */
:is(.c-post-content, .editor-styles-wrapper .is-root-container) > h2 {
  position: relative;
  margin-top: 40px;
  padding-left: 30px;
  font-family: var(--font-ttl);
  font-size: 2.4rem;
  font-weight: var(--fw-ttl);
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: var(--color-text);
}

:is(.c-post-content, .editor-styles-wrapper .is-root-container) > h2::before {
  position: absolute;
  top: 8px;
  left: 0;
  width: 20px;
  height: 20px;
  content: "";
  background-color: var(--color-key);
  border-radius: 50%;
}

/* h3(Figma: h3) */
:is(.c-post-content, .editor-styles-wrapper .is-root-container) > h3 {
  margin-top: 40px;
  font-family: var(--font-ttl);
  font-size: 1.8rem;
  font-weight: var(--fw-ttl);
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: var(--color-text);
}

:is(.c-post-content, .editor-styles-wrapper .is-root-container) > h2 + h3 {
  margin-top: 10px;
}

/* 見出しの後の本文 */
:is(.c-post-content, .editor-styles-wrapper .is-root-container) > :is(h2, h3) + * {
  margin-top: 40px;
}

:is(.c-post-content, .editor-styles-wrapper .is-root-container) > :first-child {
  margin-top: 0;
}

:is(.c-post-content, .editor-styles-wrapper .is-root-container) a {
  text-decoration: underline;
}

:is(.c-post-content, .editor-styles-wrapper .is-root-container) :is(strong, b) {
  font-weight: var(--fw-bold);
}

:is(.c-post-content, .editor-styles-wrapper .is-root-container) ul {
  padding-left: 1.5em;
  list-style: disc;
}

:is(.c-post-content, .editor-styles-wrapper .is-root-container) ol {
  padding-left: 1.5em;
  list-style: decimal;
}

/* --------------------------------------------------------------------------
   PC(768px〜)
   -------------------------------------------------------------------------- */
@media (min-width: 768px) {
  :is(.c-post-content, .editor-styles-wrapper .is-root-container) > h2 {
    padding-left: 40px;
    font-size: 3rem;
  }

  :is(.c-post-content, .editor-styles-wrapper .is-root-container) > h2::before {
    top: 9px;
    width: 25px;
    height: 25px;
  }

  :is(.c-post-content, .editor-styles-wrapper .is-root-container) > h3 {
    font-size: 2.5rem;
  }

  :is(.c-post-content, .editor-styles-wrapper .is-root-container) > h2 + h3 {
    margin-top: 20px;
  }

  :is(.c-post-content, .editor-styles-wrapper .is-root-container) > :is(h2, h3) + * {
    margin-top: 45px;
  }
}

/* ==========================================================================
   エディタのみ(本文幅・タイトルをフロントに合わせる)
   ========================================================================== */
.editor-styles-wrapper .is-root-container,
.editor-styles-wrapper .editor-post-title {
  max-width: calc(var(--inner-width) + var(--inner-padding) * 2);
  margin-inline: auto;
  padding-inline: var(--inner-padding);
}

.editor-styles-wrapper .editor-post-title {
  padding-block: 40px;
  font-family: var(--font-ttl);
  font-size: 2.8rem;
  font-weight: var(--fw-ttl);
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: var(--color-brown);
}

@media (min-width: 768px) {
  .editor-styles-wrapper .editor-post-title {
    font-size: 4rem;
  }
}
