#schedule h2{
    margin: 80px 0 60px;
    padding-bottom: 1em;
    position: relative;
    font-size: 2.4rem;
}
#schedule h2::after{
    content: "";
    width: 100px;
    height: 2px;
    background: #111;
    position: absolute;
    bottom: 0;
    left: 0;
}
#schedule h3{
    margin: 2.5em 0 1.5em;
    padding: .25em 0 .25em .75em;
    font-size: 2rem;
    color: var(--common-red);
    border-left: 2px solid #111;
}
#schedule p{
    margin: 1em 0;
    font-size: 1.6rem;
    font-family: var(--common-sans-serif);
    color: #666;
}
#schedule .table_wrap{
    margin: 40px 0 80px;
    max-width: 1200px;
    overflow-x: auto;
    border-radius: 8px;
    border: 1px solid #ddd;
}
#schedule .table_wrap table.schedule_table{
    margin: 0;
}
#schedule .table_wrap table.schedule_table :is(th,td):first-child{ border-left: none;}
#schedule .table_wrap table.schedule_table :is(th,td):last-child{ border-right: none;}
#schedule .table_wrap table.schedule_table :is(thead,tbody):first-child tr:first-child :is(th,td){ border-top: none;}
#schedule .table_wrap table.schedule_table :is(tbody,tfoot):last-child tr:last-child :is(th,td){ border-bottom: none;}
#schedule .table_wrap table.schedule_table .noborderbottom{ border-bottom: none;}
#schedule table.schedule_table{
    width: 100%;
    margin: 40px 0;
    border-collapse: collapse;
}
#schedule table.schedule_table :is(th,td){
    padding: 1em .5em;
    font-family: var(--common-sans-serif);
    font-weight: 400;
    border: 1px solid #ddd;
    white-space: nowrap;
}
#schedule table.schedule_table thead th{
    background: rgba(var(--common-blue-rgb),.8);
    color: #fff;
}
#schedule table.schedule_table thead th:first-child{
    background: none;
    background-image: linear-gradient(to right top, transparent calc(50% - 0.5px), #ddd 50%, #ddd calc(50% + 0.5px), transparent calc(50% + 1px));
}
#schedule table.schedule_table tbody th{
    background: rgba(var(--common-blue-rgb),.1);
}
#schedule table.schedule_table tbody tr{
    transition: background .2s;
}
#schedule table.schedule_table.sample :is(thead,tbody) th{
    background: none;
    color: #111;
}
#schedule table.schedule_table.sample :is(th,td){
    padding: .5em;
    text-align: center;
}
#schedule table.schedule_table.sample :is(th,td) strong{
    font-size: 1.8rem;
    font-weight: 500;
    font-family: var(--common-serif);
}
#schedule .bgcolor01{ background-color: #b50f23; color: #fff;}
#schedule .bgcolor02{ background-color: #cd6f56; color: #fff;}
#schedule .bgcolor03{ background-color: #e7bcac;}
#schedule .bgcolor04{ background-color: #f9eae5;}
#schedule .bgcolor05{ background-color: #eee;}
#schedule ul.color_list{
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    gap: 1.5em;
    font-family: var(--common-sans-serif);
    font-size: 1.2rem;
}
#schedule ul.color_list li span{
    width: 1.5em;
    height: 1em;
    margin-right: .5em;
    display: inline-block;
}

@media(pointer:fine){
    #schedule table.schedule_table tbody tr:hover{
        background: rgba(var(--common-blue-rgb),.02);
    }
}
@media screen and (max-width:1023.98px){}
@media screen and (max-width:767.98px){
    #schedule h2{
        padding-bottom: .75em;
        letter-spacing: 0;
    }
    #schedule h2::after{
        width: 80px;
    }
    #schedule h3{
        letter-spacing: 0;
    }
    #schedule table.schedule_table :is(th,td){
        padding: .5em;
        font-size: 1.2rem;
    }
    #schedule table.schedule_table.sample :is(th,td) strong{
        font-size: 1.4rem;
    }
    #schedule .table_wrap{
        margin: 20px 0 60px;
    }
    #schedule ul.color_list{
        flex-direction: column;
        gap: .5em;
    }
    
}