/* 目次の一覧。絞り込みと検索は toc-tools.css */
.sec_toc {
    .wrap {
        margin: 0 auto;
        padding: 72px 40px;
        max-width: 1280px;
        @media (max-width: 1000px) {
            padding-block: 56px;
        }
        @media (max-width: 600px) {
            padding: 48px 24px;
        }
        @media (max-width: 370px) {
            padding-inline: 16px;
        }
    }
    .ttl_ptn_1 {
        margin-bottom: 32px;
        @media (max-width: 600px) {
            margin-bottom: 24px;
        }
    }
    .list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: repeat(var(--rows, 1), auto);
        grid-auto-flow: column;
        column-gap: 64px;
        border-top: 1px solid var(--color-line);
        list-style: none;
        @media (max-width: 1000px) {
            column-gap: 40px;
        }
        @media (max-width: 800px) {
            grid-template-columns: minmax(0, 1fr);
            grid-template-rows: none;
            grid-auto-flow: row;
        }
    }
    .item {
        min-width: 0;
        &[hidden] {
            display: none;
        }
    }
    .item > a {
        padding: 24px 0;
        display: grid;
        grid-template-columns: 72px minmax(0, 1fr) 24px;
        align-items: center;
        gap: 24px;
        color: var(--color-ink);
        border-bottom: 1px solid var(--color-line);
        @media (max-width: 1000px) {
            grid-template-columns: 60px minmax(0, 1fr) 24px;
            gap: 16px;
        }
        @media (max-width: 600px) {
            padding: 20px 0;
            grid-template-columns: 56px minmax(0, 1fr) 20px;
        }
        @media (hover: hover) {
            &:hover {
                .ttl {
                    color: var(--color-accent);
                }
                .arrow_ptn_1 {
                    transform: translateX(4px);
                }
            }
        }
    }
    .no {
        color: var(--color-accent);
        font-family: var(--font-serif);
        font-size: 40px;
        font-weight: 600;
        line-height: 1em;
        letter-spacing: 0.02em;
        font-variant-numeric: tabular-nums;
        @media (max-width: 1000px) {
            font-size: 36px;
        }
        @media (max-width: 600px) {
            font-size: 32px;
        }
    }
    .text {
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 4px;
    }
    .ttl {
        font-size: 18px;
        font-weight: 500;
        line-height: 1.6em;
        transition: color 0.3s;
        @media (max-width: 600px) {
            font-size: 16px;
        }
    }
    .label {
        color: var(--color-ink-soft);
        font-size: 14px;
        line-height: 1.5em;
        letter-spacing: 0.06em;
    }
    .arrow_ptn_1 {
        color: var(--color-ink-soft);
        transition: transform 0.3s;
    }
}

/* 最終更新: 2026-10-25 19:15 */
