.sch_nav{ text-align:center; word-break:keep-all; margin:0 auto 60px; }
.sch_nav > h2{ font-size:32px; font-weight:700; color:#930000; margin:0 auto 30px; }
.sch_nav > ul{ font-size:0; display:flex; gap:10px; justify-content:center; align-items:center; }
.sch_nav > ul > li > a{ display:block; font-size:20px; color:#333; }
.sch_nav > ul > li > a > i{ font-size:28px; color:#333; }

.cal_table{ width:100%; gap:5px; overflow-x:auto; overflow-y:hidden; }
.cal_table, .cal_table *{ box-sizing:border-box; }
.cal_table > ul, .cal_table > ol{ display:flex; flex-flow:row wrap; gap:5px; min-width:800px; }
.cal_table > ul > li, .cal_table > ol > li{ border-radius:8px; }

.cal_table > ul{ margin:0 0 10px; }
.cal_table > ul > li{ border:1px solid #930000; background-color:#930000; }
.cal_table > ul > li{ width:calc(14.28571428571429% - 4.285714285714286px); padding:12px 30px; text-align:center; font-size:16px; font-weight:600; color:#fff; line-height:1em; }

.cal_table > ol > li{ width:calc(14.28571428571429% - 4.285714285714286px); min-height:187px; border:1px solid #ddd; background-color:#fcfcfc; box-shadow:0 0 0 0 rgba(0,0,0,.5); transition:0.2s box-shadow; }
.cal_table > ol > li:first-child.Sun{ margin-left:0; }
.cal_table > ol > li:first-child.Mon{ margin-left:calc(14.28571428571429% + 0.714285714285714px); }
.cal_table > ol > li:first-child.Tue{ margin-left:calc(28.57142857142858% + 1.428571428571428px); }
.cal_table > ol > li:first-child.Wed{ margin-left:calc(42.85714285714287% + 2.142857142857142px); }
.cal_table > ol > li:first-child.Thu{ margin-left:calc(57.14285714285716% + 2.857142857142856px); }
.cal_table > ol > li:first-child.Fri{ margin-left:calc(71.42857142857145% + 3.57142857142857px); }
.cal_table > ol > li:first-child.Sat{ margin-left:calc(85.71428571428574% + 4.285714285714284px); }
.cal_table > ol > li:hover{ box-shadow:2px 2px 5px 0 rgba(0,0,0,.2); }
.cal_table > ol > li > h3{ padding:7px 10px; }
.cal_table > ol > li > h3 > a{ color:inherit; }
.cal_table > ol > li.Sun > h3{ color:#ff0000; }
.cal_table > ol > li.Sat > h3{ color:#0000ff; }

.sch_list{ padding:10px; }
.sch_list > li{ display:flex; align-items:center; gap:3px; }
.sch_list > li > *{ display:flex; align-items:center; gap:3px; color:#333; }
.sch_list > li > *:not(span):hover{ color:#930000; }
.sch_list > li > .sch_name{ display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; flex:1 auto; }

@media(max-width:991px){
    .cal_table > ul > li{ padding:10px 20px; font-size:14px; }
}