@charset "utf-8";

/* main visual */
.main-visual {position: relative;}
.main-visual .origin {height: 100vh;}
.main-visual .origin .item {position: relative; width: 100%; height: 100vh;}
.main-visual .origin .item .img-box {position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-repeat: no-repeat; background-position: center center; background-size: cover; z-index: -1;}
.main-visual .origin .item:nth-child(1) .img-box {background-image: url('../img/main/main_visual01.jpg');}
.main-visual .origin .item:nth-child(2) .img-box {background-image: url('../img/main/main_visual02.jpg');}
.main-visual .origin .item.slick-active .img-box {transform: scale(1.06); transition: all 4.5s;}
.main-visual .thumb {position: absolute; top: 50%; left: 50%; transform:translate(-50%,-50%); max-width: 1450px; width: 100%; padding: 0 15px; z-index: 2; margin-top: 30px;}
.main-visual .thumb h2 {font-family: "Poppins", sans-serif; font-size: 60px; font-weight: 700; line-height: 1.33em; color: #fff; margin-bottom: 22px;}
.main-visual .thumb p {font-size: 33px; line-height: 1.4em; color: #fff; margin-bottom: 50px;}
.main-visual .thumb .item.slick-active h2 {animation: text-up 1.5s both 0.3s;}
.main-visual .thumb .item.slick-active p {animation: text-up 1.5s both 0.6s;}
@keyframes text-up {0% {transform: translateY(50px); opacity: 0;} 100% {transform: translateY(0px); opacity: 1;}}

.main-visual .controler-wrap {position: relative;}
.main-visual .arrows {display: flex; align-items: center;}
.main-visual .slick-arrow {display: block; width: 10px; height: 17px; background-repeat: no-repeat; font-size: 0; background-color: transparent; border: 0; }
.main-visual .slick-prev {background-image: url('../img/main/main_visual_prev_btn.png'); background-position: left center; margin-right: 150px;}
.main-visual .slick-next {background-image: url('../img/main/main_visual_next_btn.png'); background-position: right center;}
.main-visual .paging {position: absolute; top: 50%; left: 50px; margin-top: -5px;}
.main-visual .slick-dots {display: flex; align-items: center; margin: 0 -10px; }
.main-visual .slick-dots li {padding: 0 10px;}
.main-visual .slick-dots li button {display: block; width: 7px; height: 7px; border: 0; border-radius: 50%; background: #fff; font-size: 0;}
.main-visual .slick-dots li.slick-active button {width: 10px; height: 10px; border: 2px solid #fff; background: none;}
.main-visual .controler {position: absolute; top: 50%; left: 125px; margin-top: -5px;}
.main-visual .controler button {display: block; width: 10px; height: 10px; background-repeat: no-repeat; background-position: center center; background-color: transparent; border: none;} 
.main-visual .controler .stop {background-image: url('../img/main/main_visual_pause_btn.png');}
.main-visual .controler .play {display: none; background-image: url('../img/main/main_visual_play_btn.png');}

.main-visual .scroll-down {position: absolute; bottom: 80px; left: 50%; margin-left: -15px;}
.main-visual .scroll-down img {display: block; animation: bounce 1.2s ease-in-out infinite both;}
@keyframes bounce {0%,100% {transform: translateY(0)} 50% {transform: translateY(8px)};}

.section-title {margin-bottom: 53px;}
.section-title h3 {font-weight: 700; line-height: 1.3em; color: #000;}
.section-title h3 span {color: #144280;}
.section-title p {font-size: 30px; line-height: 1.4em; margin-top: 18px;}
.section-title.white h3 {color: #fff;}
.section-title.white p {color: #fff;}

/* section01 */
.sec01 {background: url('../img/main/section01_bg.jpg') no-repeat center center/cover; padding-bottom: 60px;}
.sec01 .section-title {margin-top: 127px; margin-bottom: 55px;}
.sec01 .section-title h3 {font-size: 50px;}
.sec01 .wrap {display: flex; justify-content: space-between; flex-wrap: wrap;}
.sec01 .left-box {max-width: 600px; width: 100%;}
.sec01 .slide {position: relative; z-index: 2;}
.sec01 .slide .slick-list {overflow: visible;}
.sec01 .slide .item a {height: 100%; border-radius: 15px; overflow: hidden; box-shadow: 0px 5px 21px 0px rgba(131, 131, 131, 0.35);}
.sec01 .slide .item a .img-box {overflow: hidden;} 
.sec01 .slide .item a img {transition: all 0.5s;}
.sec01 .slide .item a:hover img {transform: scale(1.03);}
.sec01 .slide .text-box {position: relative; min-height: 200px; background-color: #144280;}
.sec01 .slide .text-box {padding: 20px 40px 30px;}
.sec01 .slide .text-box .title {display: flex; align-items: center; margin-bottom: 10px;}
.sec01 .slide .text-box .title > span {display: inline-block; width: 75px; line-height: 45px; font-size: 20px; font-weight: 700; background: #fff; color: #144280; text-align: center; border-radius: 28px; margin-right: 15px;}
.sec01 .slide .text-box .title h4 {font-size: 24px; font-weight: 700; line-height: 1.4em; color: #fff;}
.sec01 .slide .text-box .title h4 span {font-weight: 100; padding: 0 5px;}
.sec01 .slide .text-box .description b {display: block; font-size: 20px; font-weight: 700; line-height: 1.6em; color: #fff; margin-bottom: 5px;}
.sec01 .slide .text-box .description p {font-size: 18px; line-height: 1.6em; color: rgba(255,255,255,0.7);}
.sec01 .slide .text-box .icon {position: absolute; bottom: 40px; right: 40px; width: 16px; height: 16px; background: url('../img/main/more_btn_white.png') no-repeat center center; transition: all 0.5s;}
.sec01 .slide a:hover .text-box .icon {transform: rotate(180deg);}
.sec01 .slide .slick-arrow {position: absolute; top: 50%; margin-top: -25px; width: 28px; height: 49px; background-repeat: no-repeat; font-size: 0; background-color: transparent; border: none; z-index: 5;}
.sec01 .slide .slick-prev {left: -55px; background-image: url('../img/main/section01_prev_btn.png'); background-position: left center;}
.sec01 .slide .slick-next {right: -55px; background-image: url('../img/main/section01_next_btn.png'); background-position: right center;}

.sec01 .map {position: relative; max-width: 767px; width: 100%; z-index: 5;}
.sec01 .map .slick-dots li:nth-child(1) {position: absolute; bottom: 58%; left: 33%;}
.sec01 .map .slick-dots li:nth-child(2) {position: absolute; bottom: 40.5%; left: 37%;}
.sec01 .map .slick-dots li:nth-child(3) {position: absolute; bottom: 59%; left: 59%;}
.sec01 .map .slick-dots li:nth-child(4) {position: absolute; bottom: 26%; left: 62%;}
.sec01 .map .slick-dots li:nth-child(5) {position: absolute; bottom: 28%; left: 36%;}
.sec01 .map .slick-dots li:nth-child(6) {position: absolute; bottom: 18%; left: 31%;}
.sec01 .map .slick-dots li:nth-child(7) {position: absolute; bottom: 10%; left: 30%;}
.sec01 .map .slick-dots li:nth-child(8) {position: absolute; bottom: -0.5%; left: 21%;}
.sec01 .map .slick-dots li.slick-active:nth-child(1) {position: absolute; bottom: 58%; left: 8.5%;}
.sec01 .map .slick-dots li.slick-active:nth-child(2) {position: absolute; bottom: 40.5%; left: 24.9%;}
.sec01 .map .slick-dots li.slick-active:nth-child(3) {position: absolute; bottom: 59%; left: 37.8%;}
.sec01 .map .slick-dots li.slick-active:nth-child(4) {position: absolute; bottom: 26%; left: 49.9%;}
.sec01 .map .slick-dots li.slick-active:nth-child(5) {position: absolute; bottom: 28%; left: 20.9%;}
.sec01 .map .slick-dots li.slick-active:nth-child(6) {position: absolute; bottom: 18%; left: 16%;}
.sec01 .map .slick-dots li.slick-active:nth-child(7) {position: absolute; bottom: 10%; left: 11.7%;}
.sec01 .map .slick-dots li.slick-active:nth-child(8) {position: absolute; bottom: -0.5%; left: 8.9%;}
.sec01 .map .slick-dots li .dot-wrap {position: relative; text-align: center;}
.sec01 .map .slick-dots .dot-district {position: relative; display: none; height: 60px; font-size: 24px; background: #fff; border: 1px solid #144280; border-radius: 30px; padding-right: 30px; box-shadow: 0px 5px 21px 0px rgba(131, 131, 131, 0.35); z-index: 3;}
.sec01 .map .slick-dots b {display: inline-block; width: 100px; line-height: 60px; font-weight: 700; color: #fff; background: #144280; border-radius: 28px; text-align: center; margin-right: 15px;} 
.sec01 .map .slick-dots p {display: inline-block; font-weight: 600; line-height: 1.3em; color: #000;}
.sec01 .map .slick-dots li.slick-active .dot-district {display: block;}
.sec01 .map .slick-dots li button {margin-top: 15px; position: relative; font-size: 18px; font-weight: 600; line-height: 1em; color: #6f6f6f; padding-top: 48px; background: transparent; border: 0; transition: all 0.3s;}
.sec01 .map .slick-dots li button:before {position: absolute; top: 0; left: 50%; margin-left: -16px; content: ''; width: 32px; height: 42px; background-image: url('../img/main/section01_course_btn.png'); background-repeat: no-repeat; background-position: center bottom; transition: all 0.3s;}
.sec01 .map .slick-dots li button:after {opacity: 0; position: absolute; top: 50%; left: 50%; margin-top: -50px; margin-left: -50px; content: ''; width: 100px; height: 100px; background: rgba(20,66,128,0.15); border-radius: 50%;}
.sec01 .map .slick-dots li.slick-active button {color: transparent;}
.sec01 .map .slick-dots li.slick-active button:before {background-image: url('../img/main/section01_course_btn_active.png');}
.sec01 .map .slick-dots li.slick-active button:after {animation: scale-fade 1.5s linear infinite both 0.5s}
@keyframes scale-fade {0% {transform: scale(0.25); opacity: 0.3;} 100% {transform: scale(1);opacity: 1;}}
.sec01 .map .slick-dots li button:hover {color: #144280;}
.sec01 .map .slick-dots li button:hover:before {background-image: url('../img/main/section01_course_btn_hover.png');}
.sec01 .map .slick-dots li.slick-active button:hover {color: rgba(0,0,0,0);}
.sec01 .map .slick-dots li.slick-active button:hover:before {background-image: url('../img/main/section01_course_btn_active.png');}

.sec01 .map .text p {font-size: 18px; font-weight: 600; line-height: 1em; color: #6f6f6f;}
.sec01 .map .text p:nth-child(1) {position: absolute; top: 44%;	right: 9%;}
.sec01 .map .text p:nth-child(2) {position: absolute; top: 35%;	right: 0;}

.sec01 .mob-map {display: none;}
/* section02 */
.sec02 {background: #f5f5f5; padding: 117px 0 150px;}
.sec02 .wrap {display: flex; margin: 0 -28px;}
.sec02 .wrap > div {width: 50%; padding: 0 28px;}
.sec02 .section-title {display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px;}
.sec02 .section-title h3 {font-size: 40px;}
.sec02 .btn-more a {position: relative; font-family: "Poppins", sans-serif; font-size: 15px; font-weight: 600; line-height: 1.2em; color: #666; padding-right: 36px;}
.sec02 .btn-more a:after {position: absolute; top: 50%; right: 3px; margin-top: -11px; content: ''; width: 22px; height: 22px; background: url('../img/main/more_btn.png') no-repeat center center; border-radius: 50%; transition: all 0.5s;}
.sec02 .btn-more a:hover:after {transform: rotate(180deg);}
.sec02 .notice .item:not(:last-child) {margin-bottom: 8px;}
.sec02 .notice .item a {display: flex; align-items: center; background: #fff; padding: 23px 30px; border: 1px solid #fff; border-radius: 15px; overflow: hidden; transition: all 0.5s;}
.sec02 .notice .item .date {display: block; font-family: "Poppins", sans-serif; font-weight: 600; color: #000; text-align: center; margin-right: 35px;}
.sec02 .notice .item .day {display: block; font-size: 38px; line-height: 1em; margin-bottom: 2px; transition: all 0.5s;}
.sec02 .notice .item .month {display: block; font-size: 12px; line-height: 1em; transition: all 0.5s;}
.sec02 .notice .item .title {font-size: 20px; line-height: 1.5em; color: #666; height:calc(1.5em * 1 * 1); overflow:hidden; text-overflow:ellipsis; word-break:break-all; white-space:normal; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; transition: all 0.5s;}
.sec02 .notice .item a:hover {border: 1px solid #144280; box-shadow: 0px 5px 21px 0px rgba(131, 131, 131, 0.35);}
.sec02 .notice .item a:hover .date {color: #144280;}
.sec02 .notice .item a:hover .title {font-weight: 600; color: #144280;}

.sec02 .gallery .flex {display: flex; align-items: center;}
.sec02 .gallery .arrows {display: flex; margin-left: 30px;}
.sec02 .gallery .slick-arrow {display: block; width: 12px; height: 18px; background-repeat: no-repeat; background-position: center center; background-color: transparent; border: 0; font-size: 0;}
.sec02 .gallery .slick-prev {background-image: url('../img/main/section02_prev_btn.png'); margin-right: 30px;}
.sec02 .gallery .slick-next {background-image: url('../img/main/section02_next_btn.png');}
.sec02 .gallery .items {margin: 0 -12px;}
.sec02 .gallery .item {padding: 0 12px;}
.sec02 .gallery .item a {border-radius: 10px; overflow: hidden;}
.sec02 .gallery .item .img-box {overflow: hidden;}
.sec02 .gallery .item .pic {position:relative; height:0; padding-bottom:75%; overflow:hidden; transition:all 0.6s;}
.sec02 .gallery .item .pic img {position:absolute; top:50%; left:0; transform:translateY(-50%); width:100% !important; height:100% !important; max-width:100%; min-height:100%; object-fit:cover; transition:0.3s;}
.sec02 .gallery .item .text-box {background: #fff; padding: 38px 30px 40px; transition: all 0.3s;}
.sec02 .gallery .item .text-box .title {display: block; font-size: 20px; font-weight: 600; line-height: 1.5em; color: #000; margin-bottom: 15px; height:calc(1.5em * 1 * 2); overflow:hidden; text-overflow:ellipsis; word-break:break-all; white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; transition: all 0.5s;}
.sec02 .gallery .item .text-box .date {display: block; font-size: 16px; font-weight: 500; line-height: 1.4em; color: #999; transition: all 0.5s;}
.sec02 .gallery .item a:hover {box-shadow: 0px 5px 21px 0px rgba(131, 131, 131, 0.20);}
.sec02 .gallery .item a:hover .pic {transform: scale(1.05);}
.sec02 .gallery .item a:hover .text-box {background: #144280;}
.sec02 .gallery .item a:hover .text-box .title {color: #fff;}
.sec02 .gallery .item a:hover .text-box .date {color: #fff;}

/* section03 */
.sec03 {background: url('../img/main/section03_bg.jpg') no-repeat center center/cover; padding: 143px 0 157px;}
.sec03 .section-title h3 {font-size: 45px;}
.sec03 .section-title p span {display: inline-block; font-size: 18px; font-style: italic; line-height: 1em; color: rgba(255,255,255,0.5); margin-left: 10px; vertical-align: text-bottom;} 
.sec03 .wrap {display: flex; margin: 0 -30px;}
.sec03 .wrap > div {width: 50%; padding: 0 30px;}
.sec03 .wrap a {border-radius: 15px; overflow: hidden;}
.sec03 .wrap .img-box {overflow: hidden;}
.sec03 .wrap .img-box img {transition: all 0.5s;}
.sec03 .wrap .text-box {display: flex; justify-content: space-between; align-items: center; height: 80px; padding: 0 40px 0 35px; background: #fff;}
.sec03 .wrap .text-box h4 {font-size: 30px; font-weight: 700; line-height: 1.3em; color: #000;}
.sec03 .wrap .btn-more {width: 16px; height: 16px; background: url('../img/main/more_btn_blue.png') no-repeat right center; transition: all 0.5s;}

.sec03 .wrap a:hover img {transform: scale(1.05);}
.sec03 .wrap a:hover .btn-more {transform: rotate(180deg);}