.main_container{background-color:#fff;}
.mainCont{ margin:0 auto; padding:0; max-width:1600px; }
.mainCont:after{ clear: both; content: "."; display: block; height: 0; visibility: hidden; font-size: 0;}
.mainCont h1{margin-bottom:30px; display:block; line-height:1; font-size:30px; font-weight:600; color: #000; }
.mainCont .more {position: absolute; top: 4px; right: 0; font-size:18px; color: #000;}

.mainCont_1{position:relative; margin:26px 0 0 ; padding:0; width:100%; }
.main_sl {position: relative; float: left; width:48%;}
.main_sl .slide-container { position: relative; border-radius: 20px; overflow: hidden; height: 500px; background: #000; touch-action: pan-y;cursor: grab } 
.main_sl .slide-container:active {cursor: grabbing;} 
.main_sl .slide-list { display: flex; height: 100%; } 
.main_sl .slide-list img {-webkit-user-drag: none; user-select: none;pointer-events: none;}
.main_sl .slide-item { min-width: 100%; height: 100%; position: relative; } 
.main_sl .slide-item img { width: 100%; height: 100%; object-fit: cover; opacity: 0.7; } 
.main_sl .slide-text { position: absolute; bottom: 96px; left: 45px;width: 90%; font-size:20px;  line-height: 22px; color: #fff; }  /* 0319 수정 */
.main_sl .slide-text .tit {display: block; margin:0 0 10px; width: 100%;  font-size:40px; line-height: 42px; font-weight:600; color: #fff;text-overflow:ellipsis; white-space:nowrap;  word-wrap:normal;  overflow:hidden; } /* 0319 수정 */
.main_sl .slide-text .txt { display: inline-block; font-size:20px;  line-height: 22px; color: #fff; } 
.main_sl .slide-nav {position: absolute; bottom: 11px; left: 50%; transform: translateX(-50%); padding:17px 26px 17px 28px; border-radius: 30px; overflow: hidden; display: flex; align-items: center; justify-content: center;gap: 0; background:rgba(255,255,255,0.4)} 
.main_sl .fa-chevron-left {display: block; width: 13px; height: 20px; background:url(/img/main/main_prev.png) no-repeat center center;}
.main_sl .fa-pause {display: block; width: 10px; height: 18px; background:url(/img/main/main_pause.png) no-repeat center center;}
.main_sl .fa-play {display: block; width: 11px; height: 20px; background:url(/img/main/bt_play.png) no-repeat center center;}
.main_sl .fa-chevron-right {display: block; width: 13px; height: 20px; background:url(/img/main/main_next.png) no-repeat center center;}
.main_sl .dots { display: flex; gap: 0; margin-right: 30px;} /* 0319 수정 */
.main_sl .dot { width: 80px; height: 2px; background: #fff; } 
.main_sl .dot.active { background: #0cb8cc;} 
.main_sl .ctrl-btns { display: flex;  gap: 30px; color: #444; font-size: 20px; } /* 0319 수정 */

.main_schedule{position: relative; float:right; width:48%;}
.main_schedule .year_month{position:relative; text-align:center; height:58px; line-height:58px; background: linear-gradient(to right, rgba(5,197,200,1) 0%,rgba(76,62,233,1) 100%); }
.main_schedule .year_month .day{font-size:28px; color:#fff; }
.main_schedule .year_month .calendar_prev{position:absolute; left:238px; top:20px; width:13px; height:20px; background:url(../img/main/main_prev.png) no-repeat center center; text-indent:-9999px;}
.main_schedule .year_month .calendar_next{position:absolute; right:252px; top:20px; width:13px; height:20px; background:url(../img/main/main_next.png) no-repeat center center; text-indent:-9999px;}
.main_schedule .year_month .all {position:absolute; right:20px; top:11px; display: block; width:78px; height:34px;font-size:16px; line-height: 34px; color: #fff; text-align: center; border: 1px solid #fff;}
.main_calendar_wrap{overflow: hidden; height: 441px; padding:22px 10px 22px 27px; border: 1px solid #ccc; }/* 0319 수정 */
.main_calendar{float:left; width:52%;}
.main_calendar table{width:100%;}
.main_calendar table th{padding-bottom:15px; text-align:center; font-size:18px;}
.main_calendar table th:first-child{color:#bf1733;}
.main_calendar table td{padding:10px 0;text-align:center; font-size:18px; color:#000; }
.main_calendar table td.pastDay:first-child,
.main_calendar table td.pastDay{color:#ddd; }
.main_calendar table td:first-child{color:#bf1733; }
.main_calendar table td span{margin:0 auto; width:40px; height:40px; text-align:center;font-size:18px; line-height:40px; display:block; font-weight:500;}
.main_calendar table td .today{margin:0 auto; width:40px; height:40px; text-align:center; font-size:18px;line-height:40px; border-radius:50%; display:block; background-color:#c8c8c8; color:#000; }
.main_calendar table td .day_on{margin:0 auto; width:40px; height:40px; text-align:center;font-size:18px; line-height:40px; border-radius:50%; display:block; background-color:#2882d9; color:#fff;}
.main_schedule_list{float:right; padding:0 29px 0 0; max-height:397px; overflow:auto; width:46.5%; background-color:#fff; border-radius:5px; }/* 0319 수정 */
.main_schedule_list::-webkit-scrollbar {width: 9px;}
.main_schedule_list::-webkit-scrollbar-track {background: #f1f1f1;}
.main_schedule_list::-webkit-scrollbar-thumb {background: #ccc}
.main_schedule_list ul {background-color:#f4f4f4;}
.main_schedule_list ul li{padding: 20px 5px 18px 30px;  border-bottom: 1px solid #ccc;}
.main_schedule_list ul li:first-child {padding: 8px 5px 18px 30px;}
.main_schedule_list ul li .date{display:block; margin:0 0 10px; font-size:18px; color:#000; font-weight:600;}
.main_schedule_list ul li .schedule_txt{font-size:18px; color:#000; }
.main_schedule_list ul li .schedule_txt a {position: relative; display: block;margin:0 0 10px; padding: 0 0 0 9px; width: 100%; font-size:18px; color:#000; text-overflow:ellipsis; white-space:nowrap;  word-wrap:normal;  overflow:hidden;}
.main_schedule_list ul li .schedule_txt a:before {content: '•'; display: block; position: absolute; top:-2px; left:-2px;}
.main_schedule_list ul li .schedule_txt a:hover,
.main_schedule_list ul li .schedule_txt a:hover:before {color:#346ddf ;}
.main_schedule_list ul li .schedule_txt a:last-child {margin:0}

.mainCont_2{margin-top:50px; background:#f4f4f4}
.mainCont_2 .mainCont {padding: 49px 0;}
.main_news{position:relative; max-width: 1600px; margin:0 auto;}
.news_list{position:relative;overflow: hidden; display:flex}
.news_list li {position: relative; flex: 1; padding:0 67px 0 39px;}
.news_list li:first-child {padding:0 67px 0 0;}
.news_list li::after {content: ''; display: block; position: absolute; top: 3px; right:0; width: 1px; height: 170px; background-color: #ccc;}
.news_list li:last-child::after {display:none;}
.news_list li a{position:relative; max-width:100%; display:inline-block; }
.news_list li a strong{ display:block; height: 56px; font-size:20px;line-height: 28px; color:#000; letter-spacing: -1px;word-break: break-all; overflow:hidden; text-overflow: ellipsis;   display: -webkit-box;  -webkit-line-clamp: 2;  -webkit-box-orient: vertical }
.news_list li a span{ display:block; height: 48px; margin:14px 0 28px; font-size:16px; line-height: 24px; color:#000; letter-spacing: -1px;word-break: break-all; overflow:hidden; text-overflow: ellipsis;   display: -webkit-box;  -webkit-line-clamp: 2;  -webkit-box-orient: vertical }
.news_list li a:hover strong {color: #346ddf;}
.news_list li .date {display:block; font-size:18px;line-height: 18px; color:#999;}

.mainCont_3{max-width: 1600px; margin:0 auto; margin-top:50px; border-radius:20px;background:#e6edf7}
.mainCont_3 .mainCont {padding: 30px 20px; display: flex; align-items: center; justify-content: center; flex-direction: column;} 
.mainCont_3 .mainCont h1 {margin:0 0 19px;}
.mainCont_3 .mainCont dl dt {display: inline-block; margin:0 28px 0 0 ; font-size: 16px; line-height:18px; color: #000; font-weight: 600;}
.mainCont_3 .mainCont dl dd {display: inline-block;}
.mainCont_3 .mainCont dl dd a {display: inline-block;margin:0 14px 0 0; font-size: 16px; line-height:18px; color: #000; }
.mainCont_3 .mainCont dl dd a:hover {text-decoration: underline;}
.search_area{position:relative; margin-bottom:19px;  display:inline-block; width:990px; }
.search_area:after{ clear: both; content: "."; display: block; height: 0; visibility: hidden; font-size: 0;}
.search_area input[type=text]{padding:0 50px 0 30px; width:100%; height:70px; font-size: 20px; line-height:70px; border-radius:10px; border:none;}
.search_area .btn_search{position:absolute; right:10px; top:10px; width:50px; height:50px; display:block; background:url(../img/main/icon_search.png) no-repeat center center; text-indent:-9999px;}

.mainCont_4 {max-width: 1600px; margin:30px auto 50px;  }
.mainCont_4 ul {display: flex;}
.mainCont_4 li {flex: 1;}
.mainCont_4 li a {position: relative;display:block; width: 100%; height: 119px; padding:30px 0 0 40px;}
.mainCont_4 li a::after {content: ''; position: absolute; top:50px; right: 40px; display: block;width:12px; height:20px; background:url(../img/main/bn_arrow.png) no-repeat center center}
.mainCont_4 li a span {display:block; margin:0 0 18px 0 ; font-size: 16px; line-height:18px; color: #fff; letter-spacing: -1px;}
.mainCont_4 li a strong {display:block;  font-size: 28px; line-height:30px; color: #fff;font-weight: 500}
.mainCont_4 li:nth-child(1) a {background:#3bc25f url(../img/main/bn_icon01.png) no-repeat center right 100px}
.mainCont_4 li:nth-child(2) a {background:#2373ff url(../img/main/bn_icon02.png) no-repeat center right 100px}
.mainCont_4 li:nth-child(3) a {background:#122d5d url(../img/main/bn_icon03.png) no-repeat center right 100px}

.mainCont_5 {position:relative; max-width: 1600px; margin:0 auto;}
.main_snsCont .main_tab_title{position: absolute; top: 0; right: 0;}
.main_snsCont .main_tab_title ul:after{ clear: both; content: "."; display: block; height: 0; visibility: hidden; font-size: 0;}
.main_snsCont .main_tab_title ul li{position: relative; float:left; margin-right:40px;}
.main_snsCont .main_tab_title ul li:after {content: ''; position: absolute; top: 0; right:-21px; display: block; width: 1px; height: 18px; background:#ccc;}
.main_snsCont .main_tab_title ul li:last-child:after { display: none;}
.main_snsCont .main_tab_title ul li:last-child{margin-right:0;}
.main_snsCont .main_tab_title ul li button{font-size:20px; color:#999; font-weight: 500; letter-spacing: -1px;}
.main_snsCont .main_tab_title ul li.active button{color:#000}
.main_snsCont .main_tab_cont>div{position:relative; display:none;}
.main_snsCont .main_tab_cont>div.active{display:block;}

.card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(370px, 1fr));  gap: 40px; }
.card { background: #fff; }
.thumb {display: block; width: 100%; height: 230px; border-radius:20px; overflow: hidden; background-color: #ddd; position: relative; }/* 0319 수정 */
.thumb img {width: 100%; height:100%; object-fit: cover;}/* 0319 추가 */
.play-icon { position: absolute; top: 20px; left: 20px; width: 50px; height: 50px; }
.play-icon.yt {top: 50%; left: 50%; width: 70px; height: 49px; transform: translate(-50%, -50%); background:url(../img/main/icon_yb.png) no-repeat 0 0;}
.play-icon.fb { background:url(../img/main/icon_fb.png) no-repeat 0 0;}
.play-icon.ins { background:url(../img/main/icon_ins.png) no-repeat 0 0;}
.play-icon.x { background:url(../img/main/icon_x.png) no-repeat 0 0;}
.card-info { padding: 28px 0 0; }
.card-title { font-weight: 500; margin-bottom: 8px; min-height:30px; font-size:18px;line-height: 28px; color:#000; letter-spacing: -1px;word-break: break-all; overflow:hidden; text-overflow: ellipsis;   display: -webkit-box !important;  -webkit-line-clamp: 2;  -webkit-box-orient: vertical }
.card-title:hover {color:#346ddf;}

/* 하트 카운트 스타일 */
.card-meta { display: flex; justify-content: space-between; align-items: center; color: #999; font-size: 16px; }
.like-btn { position: relative; overflow: visible;  transition: 0.2s; }
.like-btn::after {content: ''; display: block; position: absolute; top: 1px; left: -23px; width: 16px; height: 14px; background:url(../img/main/bt_like.png) no-repeat 0 0;}
.like-btn .count {font-size:16px;line-height: 18px; color:#333}
.like-btn.active .count { color: #ff4d4d; }

.main_container img{max-width:100%;}

@media screen and (max-width: 1600px){
    .main_container {padding: 0 2% 40px;}
    .main_sl .slide-text .tit { font-size: 30px;} /* 0319 수정 */
    .main_schedule .year_month .calendar_prev{left:110px;}
    .main_schedule .year_month .calendar_next{right:110px;}
    .mainCont_2 .mainCont {padding: 49px 20px;}
    .news_list li {padding: 0 27px 0 19px;}
    .news_list li:first-child { padding: 0 27px 0 0;}
    .mainCont_4 li a {position: relative;display:block; width: 100%; height: 119px; padding:30px 0 0 20px;background-image:none !important}
    .mainCont_4 li a::after {content: ''; position: absolute; top:50px; right: 20px; display: block;width:12px; height:20px; background:url(../img/main/bn_arrow.png) no-repeat center center}
    .thumb {width: 100%; height: 300px;} /* 0319 수정 */
}

@media screen and (max-width: 1200px){
    /* .main_sl .slide-container {height: auto;} 0319 삭제 */
    .main_sl .slide-text .tit { font-size: 30px;} /* 0319 수정 */
    .main_sl, .main_schedule {float:none; width: 100%; margin: 0 0 50px}
    .main_calendar_wrap {height: auto;}

}
@media screen and (max-width: 1100px){

    .search_area {width: 100%; }
    .mainCont_4 li a {padding:20px 0 0 5px; height: 99px;}
    .mainCont_4 li a span {margin:0 0 10px 0; font-size: 12px; line-height:18px;}
    .mainCont_4 li a strong { font-size: 22px; line-height:30px;}

}