.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.material-symbols-outlined[data-weight="fill"] {
    font-variation-settings: 'FILL' 1;
}

.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out, padding 0.3s ease-out;
}
.accordion-item.active .accordion-content {
    max-height: 2000px;
    padding-top: 16px;
    padding-bottom: 16px;
}
.accordion-icon {
    transition: transform 0.3s ease;
}
.accordion-item.active .accordion-icon {
    transform: rotate(180deg);
}

/* Editorial Design Accents */
body {
    background-color: #f7f9fb;
}
.hairline-b {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.hairline-t {
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.hairline-l {
    border-left: 1px solid rgba(0, 0, 0, 0.1);
}
.tracking-editorial {
    letter-spacing: 0.15em;
}
.tracking-loose {
    letter-spacing: 0.3em;
}
@keyframes statusPulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.35; transform: scale(0.78); }
}
.status-dot {
    animation: statusPulse 1.8s ease-in-out infinite;
}
.nav-link.is-active {
    color: var(--color-on-surface, #1a1c1e);
    border-bottom-color: currentColor;
}
@keyframes budgetFill {
    from { width: 0; }
}
.budget-bar-fill {
    animation: budgetFill 1.4s cubic-bezier(0.22, 1, 0.36, 1) 0.3s both;
}
/* 中小事業者の定義テーブル: PC=ゼブラ罫線 / スマホ=ラベル付きカード */
#sme-table th:not(:first-child),
#sme-table td:not(:first-child) {
    white-space: nowrap;
}
@media (min-width: 768px) {
    #sme-table tbody tr:nth-child(even) {
        background-color: #f2f4f6; /* surface-container-low */
    }
}
@media (max-width: 767px) {
    #sme-table thead {
        display: none;
    }
    #sme-table,
    #sme-table tbody,
    #sme-table tr,
    #sme-table td {
        display: block;
        width: 100%;
    }
    #sme-table tr {
        padding: 14px 16px;
    }
    #sme-table tbody tr:nth-child(odd) {
        background-color: #f2f4f6;
    }
    #sme-table td {
        padding: 0;
        white-space: normal !important;
    }
    #sme-table td:first-child {
        font-size: 1.0625rem;
        font-weight: 700;
        margin-bottom: 8px;
    }
    #sme-table td:not(:first-child) {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 16px;
        padding: 7px 0;
        border-top: 1px solid rgba(0, 0, 0, 0.07);
        font-weight: 600;
    }
    #sme-table td:not(:first-child)::before {
        content: attr(data-label);
        flex-shrink: 0;
        color: #44474e; /* on-surface-variant */
        font-weight: 600;
        font-size: 0.8125rem;
    }
}
#accordion-container .accordion-content {
    text-indent: -1em;
    padding-left: calc(24px + 1em);
}
#accordion-container .accordion-item > button > span:first-child {
    text-indent: -1.02em;
    padding-left: 1.02em;
}
header .nav-link { white-space: nowrap; }
