.pg-header { /* 表のヘッダー */
    width: 22%;
    color: #ffffff;
    text-align: center;  /* テキストを中央揃えにする */
    background: #5591af;
    font-weight: 600;
    letter-spacing: 0.025em;
    padding: 12px 8px;
}

.table-leftmost-column { /* 表の左端の列 */
    min-width: 100px;
    color: #ffffff;
    text-align: center;
    background: linear-gradient(135deg, #718096 0%, #4a5568 100%);
    font-weight: 500;
}

.table-leftmost-column1 { /* 表の左端の列、併催行事ハッカソン用 */
    min-width: 1px;
    color: #ffffff;
    text-align: center;
    background-color: #44546a;
}


.exhibition-hall-schedule{ /* 展示会場のスケジュール */
    text-align: center;
    vertical-align: bottom;  /* テキストを下揃えにする */
    background-color: #d9d9d9;
}

.service-time{ /* サービス時間 */
    text-align: center;
    vertical-align: bottom;  /* テキストを下揃えにする */
    background-color: #bdd7ed;
}

.blank-cell { /* 空白のセル */
    background-color: #f2f2f2;
}

.spotlight-session { /* スポットライトセッション */
    min-width: 120px;
    text-align: center;
    vertical-align: top;
    background-color: #f8cbad;
}

.spotlight-session-keynote { /* スポットライトセッション with keynote */
    min-width: 120px;
    text-align: center;
    vertical-align: top;
    background-color: #ffba8c;
}

.interactive-session { /* インタラクティブセッション */
    min-width: 120px;
    text-align: center;
    background-color: #f4a1b1;
}

.lanchon-seminar { /* ランチョンセミナー */
    text-align: center;
    background-color: #c2ffd7;
}

.concurrent-event1 { /* 併催イベント1 */
    min-width: 120px;
    text-align: center;
    background-color: #d29bff;
}

.concurrent-event2 { /* 併催イベント2 */
    min-width: 120px;
    text-align: center;
    background-color: #c6e0b4;
}

.invited-talk { /* 招待講演 */
    text-align: center;
    background-color: #92d051;
}

.awards-ceremony{ /* 表彰式 */
    text-align: center;
    background-color: #37b9ff;
}

.banquet { /* 技術交流会 */
    text-align: center;
    background-color: #fbc000;
}

.program-table { /* プログラムの表 */
    /* min-width: 600px;  表の最小幅を600pxに設定 */

    overflow: auto;  /* 横方向のオーバーフローをスクロール可能にする */
    font-size: 0.8em; /* テキストサイズを小さくする */
}

.scroll {
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    background: linear-gradient(90deg, rgba(255,255,255,0.1) 0%, transparent 5%, transparent 95%, rgba(255,255,255,0.1) 100%);
    border-radius: 8px;
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.1);
}

/* Mobile responsive breakpoints for .scroll */
@media screen and (max-width: 768px) {
    .scroll {
        margin: 0 -15px;
        padding: 0 15px;
        border-radius: 0;
    }
    
    .scroll table {
        min-width: 600px;
    }
}

@media screen and (max-width: 480px) {
    .scroll {
        margin: 0 -10px;
        padding: 0 10px;
    }
    
    .scroll table {
        min-width: 500px;
        font-size: 0.85em;
    }
}

