@charset "utf-8";

.sub-visual {position: relative; margin-top: 100px; height: 480px; background-repeat: no-repeat; background-position: center center; background-size: cover;}
.sub-visual01 {background-image: url('../img/sub/sub_visual01.jpg');}
.sub-visual02 {background-image: url('../img/sub/sub_visual02.jpg');}
.sub-visual03 {background-image: url('../img/sub/sub_visual03.jpg');}
.sub-visual04 {background-image: url('../img/sub/sub_visual04.jpg');}
.sub-visual05 {background-image: url('../img/sub/sub_visual05.jpg');}
.sub-visual p {height: 100%; align-content: center; font-family: 'Happiness-Sans'; font-size: 60px; line-height: 1; font-weight: 700; color: #fff; text-align: center; padding: 0 15px; margin: 0 auto;}
.lnb-wrap {width: 100%; background: #fff; border-bottom: 1px solid #ddd;}
.lnb-wrap .wrap {display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; max-width: 1450px; width: 100%; margin: 0 auto;}
.lnb ul {display: flex; height: 80px; margin: 0 -40px;}
.lnb ul li {padding: 0 40px;}
.lnb ul li a {display: inline-block; height: 100%; align-content: center; font-family: "Wanted Sans"; font-size: 20px; font-weight: 500; line-height: 1.4em; color: #888; text-align: center; transition: all 0.5s;}
.lnb ul li.active a {font-weight: 600; color: #132e19;}
.lnb ul li a:hover {color: #132e19;}
.path ul {display: flex; align-items: center; height: 80px; margin: 0 -12px;}
.path ul li {position: relative; padding: 0 12px; font-size: 16px; line-height: 1.4em; color: #999;}
.path ul li.home {width: 42px; height: 18px; background: url('../img/sub/path_icon_home.png') no-repeat center center;}
.path ul li:after {position: absolute; top: 50%; margin-top: -6px; right: -4px; content: ''; width: 8px; height: 13px; background: url('../img/sub/path_icon_arrow.png') no-repeat center center;}
.path ul li:last-child:after {display: none;}
.page-title {margin: 100px 0 85px;}
.page-title h2 {position: relative; font-size: 56px; font-weight: 600; line-height: 1.4em; color: #010101; text-align: center; padding-top: 26px;}
.page-title h2:before {position: absolute; top: 0; left: 50%; transform: translateX(-50%); content: ''; width: 36px; height: 8px; background: #97ac82; border-radius: 4px;}
.page-title h2:after {position: absolute; top: 0; left: 50%; margin-left: -18px; content: ''; width: 8px; height: 8px; background: #132e19; border-radius: 50%;}
.animate .page-title h2:after {animation: title-ani 1.2s both;}

@keyframes title-ani {
    0% {
        margin-left: -18px;
    }
	50% {
        margin-left: 10px;
    }
    100% {
        margin-left: -18px;
    }
}

.sub-cont {padding-bottom: 170px;}
.sub-cont.pb-0 {padding-bottom: 0;}
.real-cont {padding-bottom: 170px;}

/* 회원가입 */
.sub-visual010 {display: none; background-image: url('../img/sub/sub_visual01.jpg');}
.sub-visual0 {display: none;}
.sub_10 {padding-top: 150px;}
.sub_10 .lnb-wrap {display: none;}
.sub_0 h2, 
.sub_10 h2 {display: none;}

/* s101 */
.s101 .text-box {display: flex; margin-bottom: 70px;}
.s101 .text-box .left {max-width: 530px; width: 100%; padding-right: 80px;}
.s101 .text-box .left b {display: block; font-family: "Poppins", sans-serif; font-size: 20px; font-weight: 700; line-height: 1em; color: #97ac82; margin-bottom: 23px;}
.s101 .text-box .left h3 {font-size: 38px; font-weight: 400; line-height: 1.42em; color: #010101; margin-bottom: 67px;}
.s101 .text-box .left h3 strong {font-weight: 700; color: #132e19;}
.s101 .text-box .sig {font-size: 24px; font-weight: 500; line-height: 1.4em; color: #888;}
.s101 .text-box .sig span {color: #666;}
.s101 .text-box .right {width: 1%; flex: 1 1 auto;}
.s101 .text-box .right p {font-size: 18px; line-height: 1.55em; color: #666;}
.s101 .text-box .right p:not(:last-child) {margin-bottom: 27px;}
.s101 .text-box .sig.mob-only {display: none;}
.s101 .img-box {height: 380px; background: url('../img/sub/s101_img.jpg') no-repeat center center/cover; border-radius: 5px; overflow: hidden;} 

/* s102 */
.s102 .img-box {height: 380px; background: url('../img/sub/s102_img.jpg') no-repeat center center/cover; border-radius: 5px; overflow: hidden; margin-bottom: 70px;} 
.s102 .text-box {display: flex;}
.s102 .text-box .left {max-width: 445px; width: 100%; padding-left: 60px;}
.s102 .text-box .left h3 {font-size: 38px; font-weight: 400; line-height: 1.42em; color: #132e19;}
.s102 .text-box .left h3 strong {font-weight: 700;}
.s102 .text-box .right {width: 1%; flex: 1 1 auto; padding-right: 160px;}
.s102 .text-box .right p {font-size: 18px; line-height: 1.55em; color: #666;}
.s102 .text-box .right p:not(:last-child) {margin-bottom: 27px;}
.s102 .text-box .right p b {font-weight: 700; color: #333;}
.s102 .text-box .right .sig {font-size: 24px; font-weight: 600; line-height: 1.4em; color: #333; margin-top: 47px;}

/* s103 */
.s103 .img-box {height: 380px; background: url('../img/sub/s103_img.jpg') no-repeat center center/cover; border-radius: 5px; overflow: hidden; margin-bottom: 72px;} 
.s103 .history {position: relative; padding-bottom: 170px;}
.s103 .history:before {position: absolute; bottom: 0; left: 447px; content: ''; width: 1px; height: calc(100% - 12px); background: #ddd;}
.s103 .history .row {display: flex;}
.s103 .history .row:not(:last-child) {margin-bottom: 60px;}
.s103 .history .year {position: relative; max-width: 447px; width: 100%; text-align: right; padding-right: 60px;}
.s103 .history .year:before {position: absolute; top: 12px; right: -1px; content: ''; width: 3px; height: 50px; background: #fff;}
.s103 .history .year:after {position: absolute; top: 33px; right: -7px; content: ''; width: 12px; height: 12px; border: 4px solid #132e19; border-radius: 50%;}
.s103 .history .year h3 {font-family: "Poppins", sans-serif; font-size: 76px; font-weight: 600; line-height: 1em; color: #132e19; }
.s103 .history .details {width: 1%; flex: 1 1 auto; padding-left: 50px; margin-top: 20px;}
.s103 .history .month-wrap {display: flex;}
.s103 .history .month-wrap .month {max-width: 80px; width: 100%; font-size: 20px; font-weight: 600; line-height: 1.8em; color: #111;}
.s103 .history .month-wrap ul li {font-size: 18px; line-height: 2em; color: #666;}
.s103 .history .month-wrap:not(:last-child) {margin-bottom: 36px;}

/* s301 */
.s301 .arti01 p {font-size: 24px; line-height: 1.42em; color: #111; text-align: center;}
.s301 .arti01 p:not(:last-child) {margin-bottom: 40px;}
.s301 .arti01 p b {font-weight: 700; color: #132e19;}
.s301 .arti01 .img-box {position: relative; height: 480px; background: url('../img/sub/s301_img.jpg') no-repeat center center/cover; border-radius: 5px; margin: 72px 0 80px;} 
.s301 .arti01 .img-box:before {position: absolute; top: -40px; left: 50%; margin-left: -1px; content: ''; width: 2px; height: 80px; background: #132e19;}
.s301 .arti01 .img-box:after {position: absolute; top: 0; left: 50%; margin-left: -1px; content: ''; width: 2px; height: 40px; background: #fff;}
.s301 .arti02 {position: relative; padding-bottom: 170px;} 
.s301 .arti02:before {position: absolute; top: -240px; left: 0; content: ''; width: 100%; height: calc(100% + 240px); background: #f8f8f8; z-index: -1;}
.s301 .arti02 .round-text {margin-bottom: 44px; text-align: center;}
.s301 .arti02 .round-text p {display: inline-block; padding: 18px 40px; font-size: 20px; font-weight: 600; line-height: 1.4em; color: #fff; background: #132e19; border-radius: 32px; text-align: center; }
.s301 .arti02 .text-box p {font-size: 18px; line-height: 1.55em; color: #666; text-align: center;}
.s301 .arti02 .text-box p:not(:last-child) {margin-bottom: 29px;}

/* s401 */
.s401 .arti01 {margin-bottom: 140px;}
.s401 .arti01 p {font-size: 28px; line-height: 1.42em; color: #111; text-align: center;}
.s401 .arti01 p:not(:last-child) {margin-bottom: 40px;}
.s401 .arti01 .img-box {height: 480px; background: url('../img/sub/s401_img.jpg') no-repeat center center/cover; border-radius: 5px; margin: 72px 0 80px;} 
.s401 .arti02 {padding: 112px 0 140px; background: #f8f8f8;}
.s401 .arti02 h3 {font-size: 38px; font-weight: 400; line-height: 1.42em; color: #111; margin-bottom: 70px; text-align: center;}
.s401 .arti02 h3 strong {font-weight: 700; color: #132e19;}
.s401 .arti02 ol {display: flex; margin: 0 10px;}
.s401 .arti02 ol li {flex: 1; padding: 0 10px;}
.s401 .arti02 ol li .inner {height: 100%; background: #fff; border-radius: 5px; text-align: center; padding: 60px 20px 66px;}
.s401 .arti02 ol li .icon {width: 120px; height: 120px; background-repeat: no-repeat; background-position: center center; margin: 0 auto 38px;}
.s401 .arti02 ol li:nth-child(1) .icon {background-image: url('../img/sub/s401_icon01.png');}
.s401 .arti02 ol li:nth-child(2) .icon {background-image: url('../img/sub/s401_icon02.png');}
.s401 .arti02 ol li:nth-child(3) .icon {background-image: url('../img/sub/s401_icon03.png');}
.s401 .arti02 ol li:nth-child(4) .icon {background-image: url('../img/sub/s401_icon04.png');}
.s401 .arti02 ol li .num {font-size: 18px; font-weight: 700; line-height: 1em; color: #97ac82; margin-bottom: 11px;}
.s401 .arti02 ol li b {display: block; font-size: 24px; font-weight: 600; line-height: 1.4em; color: #333; margin-bottom: 8px;}
.s401 .arti02 ol li p {font-size: 18px; line-height: 1.55em; color: #666;}
.s401 .arti03 .wrap {padding: 70px 0 80px;}
.s401 .arti03 .wrap:not(:last-child) {border-bottom: 1px dashed #ddd;}
.s401 .arti03 .wrap:nth-child(1) {padding-top: 110px;}
.s401 .arti03 .wrap:last-child {padding-bottom: 0;}
.s401 .arti03 .title {display: flex; align-items: center; margin-bottom: 26px;}
.s401 .arti03 .title h3 {font-size: 44px; font-weight: 600; line-height: 1.3em; color: #111; margin-right: 10px;}
.s401 .arti03 .title a {display: inline-block; width: 24px; height: 24px; background: url('../img/sub/s401_btn_popup.png') no-repeat center center; transition: all 0.5s;}
.s401 .arti03 .title a:hover {transform: rotate(270deg);}
.s401 .arti03 p {font-size: 18px; line-height: 1.55em; color: #666;}
.s401 .arti03 table {width: 100%;}
.s401 .arti03 table caption {font-size: 18px; font-weight: 600; line-height: 1.4em; color: #fff; background: #132e19; text-align: center; padding: 17px; border-radius: 5px 5px 0 0; overflow: unset; width: auto; height: auto; text-indent: unset;}
.s401 .arti03 table tbody tr {border-bottom: 1px solid #ddd;}
.s401 .arti03 table tbody th {font-size: 18px; font-weight: 600; line-height: 1.4em; color: #333; background: #f6f9f8; border-right: 1px solid #ddd; text-align: center; padding: 10px;}
.s401 .arti03 table tbody td {font-size: 18px; line-height: 1.4em; color: #666; padding: 18px 40px;}
.s401 .arti03 .mb-47 {margin-bottom: 47px;}
.s401 .arti03 .mb-54 {margin-bottom: 54px;}

/* s402 */
.s402 ul {display: flex; flex-wrap: wrap; margin: -10px;}
.s402 ul li {width: 25%; padding: 10px;}
.s402 ul li a {height: 100%; border: 1px solid #ddd; border-radius: 5px; overflow: hidden; transition: all 0.5s;}
.s402 ul li a:hover {border: 1px solid #132e19;}
.s402 ul li .img-box img {width: 100%;}
.s402 ul li .text-box {display: flex; justify-content: space-between; align-items: flex-end; padding: 33px 30px 35px;}
.s402 ul li .text-box b {display: block; font-size: 28px; font-weight: 600; line-height: 1.4em; color: #111; margin-bottom: 9px;}
.s402 ul li .text-box p {font-size: 22px; line-height: 1.2em; color: #666;}
.s402 ul li .text-box .btn {position: relative; width: 55px; height: 55px; border-radius: 50%; background: #eee; transition: all 0.5s;}
.s402 ul li .text-box .btn:before {position: absolute; top: 50%; left: 50%; margin-top: -1px; margin-left: -6px; content: ''; width: 12px; height: 2px; background: #999; transition: all 0.5s;}
.s402 ul li .text-box .btn:after {z-index: 5; position: absolute; top: 50%; left: 50%; margin-top: -6px; margin-left: -1px; content: ''; width: 2px; height: 12px; background: #999; transition: all 0.5s;}
.s402 ul li a:hover .text-box .btn {background: #132e19;}
.s402 ul li a:hover .text-box .btn:after {background: #fff; transform: rotate(90deg);}

.lecturers-popup {display: none; position: fixed; top: 50%; left: 50%; transform: translate(-50%,-50%); max-width: 1423px; width: 90vw; background: #fff; border-radius: 20px; z-index: 600;}
.lecturers-popup .popup-header {position: relative; height: 100px;}
.lecturers-popup .popup-header .btn-close {position: absolute; top: 50%; margin-top: -20px; right: 30px; width: 40px; height: 40px; z-index: 8040; background: #fff url('../img/sub/popup_btn_close.png') 50% 50% no-repeat; background-size: 50%; border: 0;}
.lecturers-popup .popup-cont {padding: 0 40px 50px;}
.lecturers-popup .popup-cont .inner {height: 500px; overflow: auto; border: 1px solid #ddd;}
.lecturers-popup .popup-cont .wrap {display: flex; padding: 56px 0;}
.lecturers-popup .popup-cont .wrap:not(:last-child) {border-bottom: 1px dashed #ddd;}
.lecturers-popup .popup-cont .title {max-width: 235px; width: 100%; font-size: 24px; font-weight: 600; line-height: 1.4em; color: #132e19; padding-left: 60px; border-right: 1px solid #ddd;}
.lecturers-popup .popup-cont ul {width: 1%; flex: 1 1 auto; padding-left: 50px;}
.lecturers-popup .popup-cont ul li {position: relative;	font-size: 18px; line-height: 2em; color: #666; padding-left: 10px;}
.lecturers-popup .popup-cont ul li:before {position: absolute; top: 16px; left: 0; content: ''; width: 6px; height: 2px; background: #666;}
.popup-overlay {display: none; position: fixed; top: 0; right: 0; bottom: 0; left: 0; background: rgba(0,0,0,0.4); z-index: 500; }

/* s501 */
.s501 article:not(:last-child) {margin-bottom: 113px;}
.s501 .arti01 p {font-size: 28px; line-height: 1.42em; color: #111; text-align: center;}
.s501 .arti01 .img-box {position: relative; height: 480px; background: url('../img/sub/s501_img01.jpg') no-repeat center center/cover; border-radius: 5px; margin-top: 72px;} 
.arti-title {display: flex; align-items: flex-end; flex-wrap: wrap; margin-bottom: 33px;}
.arti-title h3 {position: relative; font-size: 44px; font-weight: 600; line-height: 1.2em; color: #111; padding-left: 26px; margin-right: 8px;}
.arti-title h3:before {position: absolute; top: 7px; left: 0; content: ''; width: 6px; height: 40px; border-radius: 3px; background: #97ac82;}
.arti-title span {font-size: 24px; font-weight: 600; line-height: 1.6em; color: #666;}
.text-list {display: flex; border-top: 2px solid #132e19; border-bottom: 1px solid #ddd;}
.text-list li {position: relative; padding: 18px 26px; font-size: 18px; line-height: 1.4em; color: #666; }
.text-list li:after {position: absolute; top: 50%; right: 0; transform: translateY(-50%); content: ''; width: 1px; height: 42%; background: #ddd;}
.text-list li:last-child:after {display: none;}
.text-list li span {font-weight: 600; color: #132e19;}
.s501 .arti03 .cont-box {height: 380px; background: url('../img/sub/s501_img02.jpg') no-repeat center center/cover; border-radius: 5px;}
.s501 .arti03 .cont-box .wrap {display: flex; justify-content: space-between; align-items: flex-end; height: 100%; padding: 68px 50px 60px 60px;}
.s501 .arti03 .cont-box .text {display: flex; flex-direction: column; justify-content: space-between; height: 100%;}
.s501 .arti03 .cont-box .text h4 {font-size: 34px; font-weight: 600; line-height: 1em; color: #111; margin-bottom: 22px;}
.s501 .arti03 .cont-box .text p {font-size: 18px; line-height: 1.55em; color: #666;}
.s501 .arti03 .cont-box .text a {position: relative; display: inline-block; width: 230px; padding: 16px 30px; font-size: 18px; font-weight: 600; color: #fff; background: #132e19; border-radius: 30px;}
.s501 .arti03 .cont-box .text a:after {position: absolute; top: 50%; right: 24px; margin-top: -6px; content: ''; width: 12px; height: 12px; background: url('../img/sub/btn_more.png') no-repeat center center; transition: all 0.5s;}
.s501 .arti03 .cont-box .text a:hover:after {transform: rotate(270deg);}
.s501 .arti03 .cont-box .qr figcaption {font-size: 18px; font-weight: 700; line-height: 1.4em; color: #333; text-align: center; margin-bottom: 6px;}
.s501 .arti04 p {font-size: 18px; line-height: 1.55em; color: #a91515; margin-top: 24px;}

/* 캘린더 */
.calendar .calendar-wrap .calendar-title {display: flex; margin-bottom: 40px; align-items: center; justify-content: center;}
.calendar .calendar-wrap .calendar-title a {display:flex; justify-content:center; align-items:center; width: 30px; height: 30px; border: 1px solid #ddd; border-radius: 50%; text-align: center;}
.calendar .calendar-wrap .calendar-title h4 {font-size: 40px; color: #111; padding: 0 15px;}
.calendar .calendar-wrap .calendar-title h4 span {display: inline-block; font-size: 40px; color: #111;}
.calendar .calendar-wrap table {border-spacing:3px; border-collapse:separate; width: 100%; table-layout: fixed;}
.calendar .calendar-wrap tr th {border-radius:5px; background: #f5f5f5; font-size: 20px; color: #333; line-height: 50px;}
.calendar .calendar-wrap tr td {height: 150px; border: 1px solid #ddd; border-radius:5px; vertical-align: top; font-size: 18px; color: #666; padding: 15px;}
.calendar .calendar-wrap tr td p {text-align: right; padding: 0 5px;}
.calendar .calendar-wrap tr td .date-sat {color: #004ea2;}
.calendar .calendar-wrap tr td .date-sun {color: #ea2404;}
.calendar .calendar-wrap tr td ul {padding-top: 10px;}
.calendar .calendar-wrap tr td ul li a{position: relative; display: block; padding-left: 10px; text-align: left; font-size: 15px; line-height: 22px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
.calendar .calendar-wrap tr td ul li a:before {position: absolute; content:'-'; width: 10px; height: 1px; left: 0; top: 0;}
.calendar .calendar-wrap tr .sun {background: #fde9e5; color: #ea2404;}
.calendar .calendar-wrap tr .sat {background: #e5edf6; color: #004ea2;}  
@media(max-width: 1024px) {
	.calendar .calendar-wrap tr td {height: 120px; padding: 5px;}
}
@media(max-width: 640px) {
	.calendar {padding-bottom: 80px;}
	.calendar .calendar-wrap tr th {font-size: 18px;}
	.calendar .calendar-wrap tr td {font-size: 16px; height: 80px;}
	.calendar .calendar-wrap .calendar-title h4 span {font-size: 30px;}
	.calendar .calendar-wrap tr td ul li a {font-size: 12px;}

}


