/* ==========================================================================
記事本文のデザイン (Typography)
   ========================================================================== */

/* 記事タイトル */
article.sn > .article-header .title {
    font-weight: 700;
    font-size: 1.8rem;
    margin-bottom: 0.5rem;
    color: var(--color-text); 
}

/* 見出し (H2) - 茶色の下線 */
article.sn > .article-body h2 {
    font-weight: 700;
    font-size: 1.5rem;
    color: var(--color-text);
    border-bottom: 3px solid var(--color-text);
    margin-top: 3rem;
    margin-bottom: 1.5rem;
    padding-bottom: 0.3rem;
}

/* 見出し (H3) */
article.sn > .article-body h3 {
    font-weight: 700;
    font-size: 1.3rem;
    color: var(--color-text);
    border-left: 6px solid var(--color-text);
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    padding-left: 0.8rem;
}

/* 見出し (H4) */
article.sn > .article-body h4 {
    margin-top: 0.4rem;
    margin-bottom: 1rem;
    color: var(--color-text);
}

/* 段落・リスト */
article.sn > .article-body ul, 
article.sn > .article-body ol {
    margin: 0 0 0;
    color: var(--color-text);
}

article.sn > .article-body p {
    margin: 0.5rem 0 0.5rem;
    color: var(--color-text);
    line-height: 1.55rem;
}

article.sn > .article-body li {
    padding: 0rem 0.2rem 0.5rem 0rem;
    line-height: 1.5rem;
}

/* 強調 (Strong) - マーカー風 */
article.sn > .article-body strong {
    font-weight: 700;
    background: linear-gradient(transparent 60%, var(--color-header-border) 60%);
    box-shadow: none;
}

/* 太字 */
article.sn > .article-body em {
    color: var(--color-text);
}

/* コードブロック */
article.sn > .article-body pre > code {
    display: block;
    padding: 0rem 2rem;
    font-size: .75rem;
}

/* インラインコード */
article.sn > .article-body p code {
    font-size: 0.9rem;
    color: var(--color-text);
}

/* 画像 (Figure) 調整 */
article.sn > .article-body figure img {
    max-width: 100% !important; 
    height: auto !important; 
    box-shadow: var(--shadow-base),var(--shadow-base);
    display: block;
    margin: 0 auto;
}

/* アコーディオン (Shortcode) */
details.sc-accordion {
    margin: 1.5rem 0;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    background-color: #fff;
    overflow: hidden;
}
details.sc-accordion summary {
    padding: 0.8rem 1.5rem;
    font-weight: 700;
    cursor: pointer;
    background-color: #f9f9f9;
    color: var(--color-text);
    list-style: none;
    transition: background-color 0.2s;
}
details.sc-accordion summary:hover {
    background-color: #f0f0f0;
}
.sc-accordion-content {
    padding: 1.5rem;
    border-top: 1px solid #e0e0e0;
}
.sc-accordion-content table {
    width: 100%;
    margin: 0;
}