#wrap{overflow: hidden; }
.container{max-width: 1400px; width: 100%; margin: 0 auto; box-sizing: border-box; }
.sub_cont_wrap{padding: 80px 0 120px; }
.sub_cont_title{position: relative; padding-bottom: 50px; margin-bottom: 80px; }
/*.sub_cont_title::before{content: ""; position: absolute; top: 0; right: -146px; z-index: -1; width: 602px; height: 254px; background: url("/assets/img/title_logo.svg") no-repeat 0 0; background-size: cover; }*/
.sub_cont_title.no_bg::before{display: none;}
.sub_cont_title h3{font-size: 60px; font-weight: 700; line-height: 1.2; }
.sub_cont_title p{font-size: 18px; line-height: 1.6; word-break: keep-all; margin-top: 20px;}
.sub_cont_title span{display: block; font-size: 30px; color: #7d7f85; margin-bottom: 20px;}

.top_area{padding-bottom: 50px; margin-bottom: 80px;}
.top_area::before{content: ""; position: absolute; bottom: -63px; right: -146px; z-index: -1; width: 602px; height: 254px; background: url("/assets/img/title_logo.svg") no-repeat 0 0; background-size: cover; }
.top_area .sub_cont_title{padding-bottom: 0; margin-bottom: 50px;}
.top_area .sub_cont_title::before{display: none;}

.bd_b{border-bottom: 1px solid #ddd;}
.bd_b:last-of-type{border-bottom: 0;}
.navy_line{position: relative;}
.navy_line::after{content: ""; position: absolute; bottom: -6px; left: 0; width: 150px; height: 6px; background-color: var(--navy);}

.cn *{font-family: "Noto Sans SC", sans-serif;}

.program_list .swiper-slide{position: relative; width: 334px; height: 480px; border-radius: 46px; background-color: #222; overflow: hidden; }
.calendar_list .swiper-slide{height: 180px; }
.calendar_list .swiper-button-next,
.calendar_list .swiper-button-prev{display: none; }
.calendar_list ~ .swiper-button-disabled{opacity: .3; }
.calendar_banner_list .swiper-slide{position: relative; height: 270px; }
.calendar_banner_list .swiper-pagination{position: absolute; bottom: 25px !important; left: 40px !important; z-index: 10; width: auto !important; }
.calendar_banner_list .swiper-pagination-bullet{width: 40px; height: 4px; border-radius: 20px; background-color: #fff; opacity: .2; }
.calendar_banner_list .swiper-pagination-bullet-active{opacity: 1; }
.department_list .swiper-slide{width: 390px; }
.department_progressbar{position: absolute; top: inherit !important; bottom: -40px; height: 6px !important; background-color: #efefef !important; }
.department_progressbar .swiper-pagination-progressbar-fill{background-color: var(--point_color) !important; }

.calendar{position: relative;}
.calendar .calendar_type{position: absolute; top: 0; right: 0; display: flex; gap: 30px; }
.calendar .calendar_type button{display: flex; align-items: center; gap: 10px; font-size: 22px; font-weight: 600;}
.calendar .calendar_type button.on{color: var(--point_color);}
.calendar .calendar_type button img{width: 30px; }
.calendar .calendar_type button img.on{display: none;}
.calendar .calendar_type button.on img.off{display: none;}
.calendar .calendar_type button.on img.on{display: block;}
.calendar .fc-toolbar-chunk{display: flex; align-items: center; gap: 12px;}
.calendar .fc-direction-ltr .fc-toolbar > * > :not(:first-child){margin-left: 0;}
.calendar .fc .fc-button{padding: 0;}
.calendar .fc .fc-button .fc-icon{font-size: 32px;}
.calendar .fc .fc-button-primary{background-color: transparent; border: none; color: #b1b1b1;}
.calendar .fc .fc-toolbar-chunk .fc-button:focus{box-shadow: none; background-color: transparent; color: #b1b1b1;}
.calendar .fc .fc-toolbar-title{font-size: 34px; font-weight: 700;}
.calendar .fc-col-header-cell{height: 70px; vertical-align: middle; background-color: #f7f7f8; }
.calendar .fc-col-header-cell a{font-size: 22px; font-weight: 600;}
.calendar .fc-day-sun a{color: #ff0000; }
.calendar .fc-day-sat a{color: #4f67ec; }
.calendar .fc .fc-daygrid-day-top{margin-bottom: 4px;}
.calendar .fc .fc-daygrid-day-top a{width: 35px; height: 35px; border-radius: 50%; font-size: 20px; color: #7c7c7c; text-align: center;}
.calendar .fc .fc-daygrid-day.fc-day-today{background-color: transparent;}
.calendar .fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-top a{background-color: var(--point_color); color: #fff; margin: 4px;}
.calendar .fc-h-event{border-radius: 20px; background-color: #def3f8; border-color: #def3f8; }
.calendar .fc .fc-daygrid-event{margin-bottom: 4px;}
.calendar .fc-direction-ltr .fc-daygrid-event.fc-event-start{margin-left: 8px;}
.calendar .fc-direction-ltr .fc-daygrid-event.fc-event-end{margin-right: 8px;}
.calendar .fc-h-event .fc-event-title{padding: 2px 12px; font-size: 16px; font-weight: 600; color: var(--point_color);}
.calendar .fc-daygrid-day{height: 180px;}

.gallery_slide .swiper-button-prev,
.gallery_slide .swiper-button-next{color: #fff;}

.kv .kv_half{display: flex; gap: 0 10px; }
.kv .kv_half>div{flex: 1 1 50%;}
.kv .kv_col{display: flex; flex-direction: column; gap: 20px; padding: 70px 0;}
.kv .kv_row{display: flex; justify-content: space-between; gap: 20px; padding: 70px 0;}
.kv .kv_row.pd_0,
.kv .kv_col.pd_0{padding: 0;}
.kv .kv_row .kv_key{width: 360px; }
.kv .kv_row .kv_value{width: calc(100% - 380px);}
.kv .kv_col .kv_key{width: 100%;}
.kv .kv_col .kv_value{width: 100%;}
.kv .kv_key h3{font-size: 24px; font-weight: 600; word-break: keep-all;}
.kv .kv_key h3.icon{display: flex; align-items: center; gap: 6px;}
.kv .kv_key h3.icon img{width: 24px; height: 24px;}
.kv .kv_key span{display: inline-block; font-size: 16px; margin-top: 5px; }
.kv .kv_value .kv_section{margin-bottom: 40px;}
.kv .kv_value .kv_section:last-of-type{margin-bottom: 0;}
.kv .kv_value p{font-size: 18px; word-break: keep-all; margin-bottom: 20px;}
.kv .kv_value.txt_big p{font-size: 20px;}
.kv .kv_value p:last-of-type{margin-bottom: 0;}
.kv .kv_value p strong{font-weight: 600;}
.kv .kv_value h5{font-size: 20px; font-weight: 600; margin-bottom: 14px;}
.kv .kv_value.txt_big h5{font-size: 22px;}
.kv .kv_value h5 strong{font-weight: 600; color: var(--point_color);}
.kv .kv_value span{display: inline-block; font-size: 16px; font-weight: 600; word-break: keep-all; margin-top: 5px;}
.kv .kv_value span strong{font-weight: 600; color: var(--point_color);}
.kv .kv_value ol{display: flex; flex-direction: column; gap: 20px; counter-reset: number 0; }
.kv .kv_value ol>li{position: relative; padding-left: 40px; font-size: 18px; line-height: 1.6; word-break: keep-all; }
.kv .kv_value.txt_big ol>li{font-size: 20px;}
.kv .kv_value ol>li::before{content: counter(number); counter-increment: number 1; position: absolute; top: 0; left: 0; width: 26px; height: 26px; border-radius: 50%; background-color: #222; font-size: 16px; font-weight: 500; color: #fff; text-align: center; line-height: 26px;}
.kv .kv_value.txt_big ol>li::before{top: 2px;}
.kv .kv_value ol>li h3{font-size: 20px; font-weight: 600;}
.kv .kv_value.txt_big ol>li h3{font-size: 22px;}
.kv .kv_value ol>li strong{font-weight: 600;}
.kv .kv_value ol>li ul{margin-top: 10px;}
.kv .kv_value ul>li{font-size: 18px; word-break: keep-all; margin-bottom: 10px;}
.kv .kv_value.txt_big ul>li{font-size: 20px;}
.kv .kv_value ul>li:last-of-type{margin-bottom: 0;}
.kv .kv_value ul>li strong{font-weight: 600;}
.kv .kv_value ul>li.dot{position: relative; padding-left: 15px;}
.kv .kv_value ul>li.dot::before{content: ""; position: absolute; top: 10px; left: 0; width: 5px; height: 5px; border-radius: 50%; background-color: #222; }
.kv .kv_value.txt_big ul>li.dot::before{top: 13px;}
.kv .kv_value ul.dot>li{position: relative; padding-left: 15px;}
.kv .kv_value ul.dot>li::before{content: ""; position: absolute; top: 10px; left: 0; width: 5px; height: 5px; border-radius: 50%; background-color: #222; }
.kv .kv_value ul.dot>li.inner::before{display: none;}
.kv .kv_value.txt_big ul.dot>li::before{top: 13px;}
.kv .kv_value .cont_box_wrap{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px 60px;}
.kv .kv_value .cont_box{border: 1px solid #bebebe; border-top: 6px solid var(--point_color); border-bottom-right-radius: 30px; padding: 16px 20px; box-sizing: border-box;}
.kv .kv_value .cont_box_wrap.col-2{grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 40px;}
.kv .kv_value .cont_box h3{font-size: 20px; font-weight: 600; margin-bottom: 10px;}
.kv .kv_value .tb_style_1 th{background-color: var(--navy);}

.tb_style_1 tr{border-bottom: 1px solid var(--border_color); }
.tb_style_1 th{padding: 12px 2px; background-color: var(--point_color); border-right: 1px solid var(--border_color); font-size: 20px; font-weight: 600; color: #fff; word-break: keep-all;}
.tb_style_1 th:last-of-type{border-right: 0;}
.tb_style_1 td{padding: 12px 4px; border-right: 1px solid var(--border_color); font-size: 18px; text-align: center; word-break: keep-all; }
.tb_style_1 td:last-of-type{border-right: 0;}
.tb_style_1 td.txt_l{padding-left: 8px; text-align: left;}
.tb_style_1 td strong{font-weight: 600;}
.tb_style_1 td em{color: #ff0000;}
.tb_style_1 td table{text-align: center;}
.tb_style_1 td th{padding: 6px 4px; font-size: 16px;}
.tb_style_1 td td{padding: 6px 4px; font-size: 16px;}
.kv .kv_value .tb_style_1 td ol{gap: 10px;}
.kv .kv_value .tb_style_1 td ol>li::before{width: 26px; height: 26px; font-size: 16px; line-height: 26px;}

.tb_style_1.scrollX{width: 100%; overflow-x: auto;}

.tb_style_2 tr{border-bottom: 1px solid var(--border_color); }
.tb_style_2 tr:first-child{border-top: 1px solid var(--border_color); }
.tb_style_2 th{padding: 12px 2px; background-color: var(--gray); font-size: 20px; font-weight: 600; color: #fff; word-break: keep-all;}
.tb_style_2.gold th{background-color: var(--gold);}
.tb_style_2 td{padding: 12px 20px; border-right: 1px solid var(--border_color); font-size: 18px; word-break: keep-all; }
.tb_style_2 td:last-child{border-right: 0;}
.tb_style_2 td.txt_c{text-align: center; padding: 12px 2px;}


@media screen and (max-width: 1400px) {
    .container{padding: 0 20px; }
}

@media screen and (max-width: 1200px) {
    .sub_cont_title h3{font-size: 52px; }
    .sub_cont_title span{font-size: 24px;}

    .kv .kv_half{flex-wrap: wrap;}
    .kv .kv_half>div{flex-basis: 100%;}
    .kv .kv_row .kv_key{width: 300px;}
    .kv .kv_row .kv_value{width: calc(100% - 320px);}
    .kv .kv_key h3{font-size: 22px;}
    .kv .kv_value .cont_box_wrap{grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 40px;}

    .tb_style_1 th{font-size: 18px;}
    .tb_style_1 td{font-size: 16px;}
    .tb_style_1 td th{font-size: 14px;}
    .tb_style_1 td td{font-size: 14px;}
    .kv .kv_value .tb_style_1 td ol>li{padding-left: 34px; font-size: 16px;}
    .kv .kv_value .tb_style_1 td ol>li::before{width: 22px; height: 22px; font-size: 14px; line-height: 22px;}
    .kv .kv_value .tb_style_1 td ol>li h3{font-size: 18px;}

    .tb_style_2 th{font-size: 18px;}
    .tb_style_2 td{padding: 12px 10px; font-size: 16px;}
}

@media screen and (max-width: 768px) {
    .top_area::before{display: none;}
    .sub_cont_title::before{display: none;}
    .sub_cont_title h3{font-size: 46px; }
    .sub_cont_title p{font-size: 16px;}
    .sub_cont_title span{font-size: 20px;}

    .kv .kv_row{flex-direction: column; gap: 40px;}
    .kv .kv_row .kv_key,
    .kv .kv_row .kv_value{width: 100%;}
    .kv .kv_value p{font-size: 16px;}
    .kv .kv_value h5{font-size: 18px;}
    .kv .kv_value span{font-size: 14px;}
    .kv .kv_value ol>li{padding-left: 34px; font-size: 16px;}
    .kv .kv_value ol>li::before{width: 26px; height: 26px; font-size: 14px; line-height: 26px;}
    .kv .kv_value ol>li h3{font-size: 18px;}
    .kv .kv_value ul>li{font-size: 16px;}
    .kv .kv_value ul.dot>li{padding-left: 12px;}
    .kv .kv_value ul.dot>li::before{top: 8px;}
    .kv .kv_value .cont_box_wrap,
    .kv .kv_value .cont_box_wrap.col-2{grid-template-columns: repeat(1, minmax(0, 1fr)); }

    .calendar{padding-top: 80px;}
    .calendar .calendar_type{justify-content: center; width: 100%; }
    .calendar .fc .fc-toolbar{justify-content: center;}
    .calendar .fc .fc-toolbar-title{font-size: 28px; }
    .calendar .fc-col-header-cell a{font-size: 20px;}
    .calendar .fc .fc-daygrid-day-top a{width: 28px; height: 28px; font-size: 16px;}
    .calendar .fc-direction-ltr .fc-daygrid-event.fc-event-start{margin-left: 2px;}
    .calendar .fc-direction-ltr .fc-daygrid-event.fc-event-end{margin-right: 2px;}
    .calendar .fc-h-event .fc-event-title{padding: 2px 4px; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}

@media screen and (max-width: 500px) {
    .kv .kv_key h3{font-size: 20px;}
    .kv .kv_key h3.icon img{width: 22px; height: 22px;}
    .kv .kv_value .cont_box h3{font-size: 18px;}

    .tb_style_1 th{font-size: 16px;}
    .tb_style_1 td{font-size: 14px;}
    .tb_style_1 td ul.dot>li{font-size: 14px;}
    .kv .kv_value .tb_style_1 td ol>li{font-size: 14px;}
    .kv .kv_value .tb_style_1 td ul.dot>li::before{top: 6px;}

    .tb_style_1.scrollX table{width: 600px;}

    .tb_style_2 th{font-size: 16px;}
    .tb_style_2 td{font-size: 14px;}

    .calendar_banner_list .swiper-slide{height: 420px; }
    .calendar_banner_list .swiper-pagination{left: 20px !important; }

    .sub_cont_title h3{font-size: 36px; }
    .sub_cont_title span{font-size: 18px;}
}