@charset "utf-8";

.table-scroll {
    overflow-x: auto;
    margin: 1.5em 0;
    -webkit-overflow-scrolling: touch;
}

.goji-table {
    border-collapse: collapse;
    min-width: 900px;
    width: 100%;
    font-family: var(--font-mincho);
    font-size: 0.95em;
}

.goji-table caption {
    margin-bottom: 0.8em;
    font-family: var(--font-brush-mincho);
    font-size: 1.2em;
    font-weight: 500;
    text-align: center;
}

.goji-table th,
.goji-table td {
    border: 1px solid #999;
    padding: 0.7em 0.8em;
    vertical-align: middle;
}

.goji-table th {
    font-family: var(--font-brush-mincho);
    background: #f3f5f8;
    font-weight: bold;
    white-space: nowrap;
}

.goji-table .sticky-col {
    position: sticky;
    left: 0;
    z-index: 2;
    min-width: 8em;
    background: #f3f5f8;
}

.goji-table thead .sticky-col {
    z-index: 3;
}

.goji-table .teaching-type {
    background: #fafcff;
    font-weight: bold;
}

.table-scroll-wrap {
    position: relative;
    margin: 1.5em 0;
}

.chapter-content p.scroll-hint {
    display: none;
}

.scroll-hint::after {
    content: " →";
}

.table-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

@media all and (max-width: 768px) {
    .goji-table {
        min-width: 760px;
        font-size: 0.85em;
        margin-right: 2.5em;
    }

    .goji-table th,
    .goji-table td {
        padding: 0.55em 0.6em;
    }

    .goji-table .sticky-col {
        min-width: 5.5em;
        width: 5.5em;
        white-space: nowrap;
    }

    .chapter-content p.scroll-hint {
        display: block;
        margin: 0 0 0.4em;
        font-family: var(--font-gothic);
        font-size: 0.75em;
        color: #666;
        text-align: right;
    }

    .table-scroll-wrap::after {
        content: "";
        position: absolute;
        top: 1.8em;
        right: 0;
        bottom: 0;
        width: 2.5em;
        pointer-events: none;
        background: linear-gradient(to right, rgba(255, 255, 255, 0), #fff);
    }
}