/*
 * 目次（2026-10-02）
 * サイトの見出し（差し色の縦線・こげ茶の本文）に合わせた、装飾を抑えたデザイン。
 * テーマ側の丸アイコン・丸い連番・三角の印は打ち消す。目次の HTML は変えず CSS だけで上書きする。
 */
html body #toc_container {
    --toc-accent: #f18500;
    --toc-text: #231d15;
    --toc-muted: #6b6157;
    --toc-line: #e8e1d5;
    display: block !important;
    box-sizing: border-box;
    width: 100% !important;
    margin: 2.5em 0 !important;
    padding: 1.6em 1.8em 1.1em !important;
    background: #fbf9f5 !important;
    border: 0 !important;
    border-top: 3px solid var(--toc-accent) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 15px;
    line-height: 1.6;
    color: var(--toc-text);
}
html body #toc_container .toc_title {
    display: flex !important;
    align-items: baseline;
    gap: .9em;
    margin: 0 0 .9em !important;
    padding: 0 !important;
    text-align: left !important;
    font-size: 1.07em !important;
    font-weight: 700 !important;
    letter-spacing: .14em;
    color: var(--toc-text) !important;
}
html body #toc_container .toc_title::before {
    content: none !important;
    display: none !important;
}
html body #toc_container .toc_title::after {
    content: "CONTENTS";
    order: 2;
    font-size: .66em;
    font-weight: 600;
    letter-spacing: .24em;
    color: var(--toc-accent);
}
html body #toc_container .toc_toggle {
    order: 3;
    margin-left: auto;
    font-size: .72em;
    font-weight: 400;
    letter-spacing: 0;
    color: var(--toc-muted);
}
html body #toc_container .toc_toggle a {
    padding: 0 !important;
    font-size: 1em !important;
    color: var(--toc-muted) !important;
}
html body #toc_container ul.toc_list {
    counter-reset: toc-num;
    margin: 0 !important;
    padding: 0 !important;
    border-top: 1px solid var(--toc-line) !important;
    list-style: none !important;
}
html body #toc_container ul.toc_list ul {
    list-style: none !important;
}
html body #toc_container ul.toc_list li {
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: none !important;
}
html body #toc_container ul.toc_list li::before,
html body #toc_container ul.toc_list li::after {
    content: none !important;
    display: none !important;
}
html body #toc_container ul.toc_list > li {
    counter-increment: toc-num;
    padding: .72em 0 .78em !important;
    border-bottom: 1px solid var(--toc-line) !important;
}
html body #toc_container ul.toc_list > li > a {
    display: grid !important;
    grid-template-columns: 2.5em 1fr;
    align-items: baseline;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 1em !important;
    font-weight: 700 !important;
    line-height: 1.6 !important;
    color: var(--toc-text) !important;
    text-decoration: none !important;
    box-shadow: none !important;
}
html body #toc_container ul.toc_list > li > a::before {
    content: counter(toc-num, decimal-leading-zero);
    font-size: .8em;
    font-weight: 700;
    letter-spacing: .06em;
    font-variant-numeric: tabular-nums;
    color: var(--toc-accent);
}
html body #toc_container ul.toc_list > li > ul {
    margin: .3em 0 0 2.5em !important;
    padding: 0 !important;
}
html body #toc_container ul.toc_list ul ul {
    margin: 0 0 0 1em !important;
    padding: 0 !important;
}
html body #toc_container ul.toc_list ul li a {
    display: block !important;
    margin: 0 !important;
    padding: .16em 0 !important;
    font-size: .87em !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    color: var(--toc-muted) !important;
    text-decoration: none !important;
    box-shadow: none !important;
}
html body #toc_container .toc_number {
    display: none !important;
}
html body #toc_container ul.toc_list a:hover,
html body #toc_container ul.toc_list a:focus-visible {
    color: var(--toc-accent) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}
@media (max-width: 767px) {
    html body #toc_container {
        margin: 2em 0 !important;
        padding: 1.2em 1.1em .8em !important;
        font-size: 14px;
    }
}
