

/* 각 섹션에 대한 css */




/* section01 start*/
.sec_01 {
  width:100%;
  height:0vh;
  padding-bottom:48%;
  max-width:1920px;
  position:relative;
  margin:auto;
}
.sec_01 .slider_ch {
  visibility: hidden;
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  opacity:0;
    transition: all 0.5s ease-in-out;
}
.sec_01 .slider_ch.active{
  visibility: visible;
  opacity: 1;

}
.sec_01 .slider_ch img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.sec_01 .slider_progress {
  display:flex;
  gap:14px;
  position:absolute;
  bottom:40px;
  left:50%;
  transform: translateX(-50%);
  z-indeX:1;
}
.sec_01 .slider_progress span{
  width: 12px;
  height:12px;
  border-radius: 999px;
  background-color: #fff;
  display:block;
  transition:all 0.5s ease;
  &.active{
    background-color:var(--color-sky_blue);
    width: 22px;
  }
}

/* section01 end */

/* section02  start*/

.sec_02 {
  max-width:1600px;
  width: 90%;
  margin:auto;
  position:relative;
  overflow: hidden;
}

.sec_02 .img_list{
  display:flex;
  gap:22px;
  width:300%;
  /* height:40vh; */
  margin-bottom:140px;
  animation: marquee 30s linear infinite;
}
.sec_02 .img_list .imgs{
  flex:1;
  width:100%;
  
  padding-bottom:7.7%;
  position:relative;
}
.sec_02 .img_list .imgs img{
  width:100%;
  position:absolute;
  height:100%;
  object-fit:cover;
  top:0;
  left:0;
}
.sec_02 .img_list .imgs .over_txt{
  font-size:26px;
  position:absolute;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;;
  top:0;
  left:0;
  height:100%;
  color:#fff;
  background-color: rgba(0,0,0,0.3);
}

@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* section02 end */

/* section03 start*/


.sec_03{
  background-color:var(--color-light_blue);
  padding:140px 12.5vw 200px;
}

.sec_03_intro {
  display:flex;
  justify-content: space-between;
  margin-bottom:165px;
}

.sec_03_intro .left_title{
  flex:1;
}
.sec_03_intro .left_title h2 {
  font-size: 46px;
  font-weight:300;
  line-height:66px;
  margin-bottom:50px;
}
.sec_03_intro .left_title h2 .blue{
  color:var(--color-sky_blue_dark);
  font-weight:500;
}
.sec_03_intro .left_title p {
  font-size: 28px;
  font-weight:300;
    line-height: 1.5;
}
.sec_03_intro .tit_img{
  flex:1;
  max-width:700px;

}
.sec_03_intro .tit_img img{
  width:100%;
}

.sec_03_cont h3{
  font-size:46px;
  font-weight:300;
  line-height:66px;
    margin-bottom:54px;
}
.sec_03_cont .cont_tit{
  text-align:right;
  margin-bottom:80px;
}

.sec_03_cont .cont_tit .blue{
  color:var(--color-sky_blue_dark);
  font-weight:500;
}

.sec_03_cont .cont_tit p{
  font-size:28px;
  font-weight:300;
}

.sec_03_cont .img_list{
  display:flex;
  width:100%;
  gap:24px;
  margin-bottom:132px;
}

.sec_03_cont .img_list .img_box{
  flex:1;
}
.sec_03_cont .img_list .img_box img{
  width:100%;
}

.sec_03_cont .sub_tit{
  font-size:28px;
  font-weight:300;
  margin-bottom: 38px;
  display:flex;
  align-items:center;
  gap:8px
}

.sec_03_cont .img_announce_list{
  display:flex;
  gap:50px;
  align-items:center;
}

.sec_03_cont .img_announce_list .imb_box{
  flex:1;

}
.sec_03_cont .img_announce_list .imb_box img{
  width:100%;
}

/* section03 end */
/* section04 start */

  .sec_04{
    max-width:1600px;
    margin:auto;
    overflow:hidden;
  }

  .sec_04 .slide_sec{
    display:flex;
      background-color:#f9f9f9;
      align-items:center;
  }
  .sec_04_slide{
    position:Relative;
    height:450px;
  }
.sec_04_slide .nav_box{
  position:absolute;
  bottom:0;
  z-index:1;
  display:flex;
  gap:4px;
  left:50%;
  transform:translateX(-50%);
}
.sec_04_slide .navi{
  cursor:pointer;
}
  .sec_04 .slide_sec .img_area{
    max-width:360px;
  }

  .sec_04 .slide_sec .img_area img{
    width:100%;
  }

  .sec_04 .text_area{
    display:flex;
    flex-direction:column;
    justify-content:center;
  }

    .sec_04 .text_area .en_name{
      font-size:19px;
      font-weight:400;
      margin-bottom:34px;
    }
    .sec_04 .text_area h3{
      font-size:32px;
      font-weight:700;
      line-height:44px;
      margin-bottom:42px;
    }
    .sec_04 .text_area p{
      font-size:18px;
      font-weight:400;
      line-height:28px;;
      color:#777;
    }


/* section04 end */
  

/* section05 start */
.sec_05{
  padding-bottom:140px;
  position:relative;
}
.sec_05 .view_slide{
  width:100%;
  margin:auto;
  
}
.sec_05 .view_slide .slide_sec img{
  width:100%;
}

.sec_05 .view_slide .slide_sec{
  opacity:0.5;
  transition: opacity 0.5s ease-in-out;
}

.sec_05 .view_slide .slide_sec.swiper-slide-active{
  opacity:1;
}
.sec_05 .navi{
  --half: calc(100vw / 2 - 25vw + 0.5vw );
  position:absolute;
  top:50%;
  width:80px;
  height:80px;
  left:var(--half);
  z-index:10;
}
.sec_05 .navi.btn-next{
  left:auto;
  right:var(--half);
}
.sec_05 .navi svg{
  width:100%;
  height:100%;
}


/* section05 end */

/* section06 start */

.sec_06{
  padding:140px 0;
  background:#fafafa;
}


.sec_06 .fa_box{
  max-width:1300px;
  margin:auto;

}

.sec_06 .fa_box .sm_tit{
  font-size:28px;
  font-weight:700;
  margin-bottom:60px;
}

.sec_06 .fa_box .faq_list li{
  padding: 44px 50px;
  background-color:#fff;
  margin-bottom:20px;
}
.sec_06 .fa_box .faq_list li .q_tit {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:20px;
  font-weight:400;
  margin-bottom:8px;
  cursor:pointer;
}
.sec_06 .fa_box .faq_list li .q_tit .btn_toggle{
  width:24px;
  height:24px;
  position:relative;
  cursor:pointer;
}
.sec_06 .fa_box .faq_list li .q_tit .btn_toggle span{
  position:absolute;
  height:2px;
  width:19px;
  background-color:#000;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  transition:all 0.5s ease;
}
.sec_06 .fa_box .faq_list li .q_tit .btn_toggle span:nth-child(2){
  transform:translate(-50%,-50%) rotate(90deg);
}


.sec_06 .fa_box .faq_list li .a_desc{
  max-height: 0; /* height 대신 max-height */
  overflow: hidden;
  transition: all 0.5s ease;
  padding:0 40px;
  font-size:18px;
  font-weight:400;
  line-height:28px;
}


.sec_06 .fa_box .faq_list li.active .q_tit{
  color:#777;
}

.sec_06 .fa_box .faq_list li.active .q_tit .btn_toggle span:nth-child(2){
  transform:translate(-50%,-50%);
}

.sec_06 .fa_box .faq_list li.active .a_desc{
    padding:20px 40px;
  max-height: 500px; /* 내용보다 충분히 큰 값 */
}
/* section06 end */



/* section07 start */

.sec_07 {
  margin:Auto;
  background:url(../img/snu_logo.svg) no-repeat bottom right;
}
.sec_07 .sec_07_wrap{
  max-width:1300px;
  margin:auto;
}

.sec_07 .map_area{
  margin-top:160px;
  width:100%;
  height:480px;
  background-color:#ddd;
  margin-bottom:94px;
}
.sec_07 .text_tit{
  font-size: 26px;
  font-weight:700;
  margin-bottom:50px;
}

/* 테이블 스타일에 맞춘 수정 */
.sec_07 table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 60px;
border:none;
background:none;
}
.sec_07 th.header_flex{
  display:flex;
  align-items:center;
}
.sec_07 th, .sec_07 td {
  font-size: 18px;
  font-weight: 400;
  padding: 18px 0px;
  /* border-bottom: 1px solid #e0e0e0; */
  text-align: left;
  vertical-align: middle;
}
.sec_07 th {
  /* background: #f7f7f7; */
  font-weight: 500;
  font-size: 20px;
  width: 160px;
}
.sec_07 td .plus_text {
  color: #7e7e7e;
  margin-left: 8px;
}
.sec_07 td img {
  margin-right: 8px;
  vertical-align: middle;
}
.sec_07 .line_2 {
  display: block;
  margin-top: 8px;
}
.sec_07 .line_2 .plus_text {
  margin-top: 8px;
  display: inline-block;
}



/* section07 end */

/* count_secstart */

.count_sec{
  display:none;
  background:#48B3E8;
  color:#fff;
  padding: 120px 0;
}

.count_sec h2 {
  font-size:40px;
  font-weight: 300;
  text-align:center;
  margin-bottom:115px;
}
.count_sec h2 strong{
  font-weight:700;
}

.count_list{
  display:flex;
  max-width:1324px;
  margin:Auto;
}
.count_list .count_box{
  flex:1;
  text-align:center;
  border-right:1px solid #fff;
}
.count_list .count_box:last-child{
  border-right:none;
}
.count_box .count_tit{
  font-size:20px;
  font-weight:400;
  margin-bottom:68px;
}
.count_box .count_num {
  font-size:78px;
  font-weight:500;
}


