@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Gothic+A1:wght@100;200;300;400;500;600;700;800;900&display=swap');
/* reset */
@media all {
    .clear:after { 
        content:""; 
        display:block; 
        clear:both;
    }
    * { margin:0; padding:0; outline:none; box-sizing:border-box; }
    body {
    line-height:1; font-size:14px; font-weight:400; color:#000; font-family: 'Noto Sans KR', sans-serif !important; word-wrap: break-word; word-break: keep-all;
    }
    h1, h2, h3, h4, h5, h6 { margin:0; font-family: 'Noto Sans KR', sans-serif !important; line-height:1; font-size: 1em; }
    ul, ol { list-style:none; margin:0; padding: 0; }
    a { outline:0; text-decoration:none; color: #000; font-family: 'Noto Sans KR', sans-serif !important; }
    a:focus { outline:none; }
    figure,dl,dd,input[type=radio], input[type=checkbox]  { margin: 0; padding: 0;}
    img { border:none; outline:none; max-width: 100%; }
    p { margin:0; padding:0; word-wrap: break-word; word-break: keep-all;  }
    button, input, submit { border: none; background: none; }
    dt { font-weight: normal; }
    ::placeholder { font-family: 'Noto Sans KR', sans-serif !important; }
    input:-webkit-autofill,
    input:-webkit-autofill:hover,
    input:-webkit-autofill:focus,
    input:-webkit-autofill:active {
        transition: background-color 5000s ease-in-out 0s;
        -webkit-transition: background-color 9999s ease-out;
        box-shadow: none !important;
        -webkit-text-fill-color: none !important;
    }
}   

/* 탭 초기화 */
.tabBox1 .nav { border: none; }
.tabBox1 .nav > li { margin: 0; float: none; }
.tabBox1 .nav > li > a { padding: 0; margin: 0; border-radius:0; border: 0; }
.tabBox1 .nav > li:hover > a { background: none; }
.tabBox1 .nav > li.active > a { border: none; background: none; }


/* html 폰트 사이즈 */
@media (max-width:1200px) {
	html { font-size: 8.5px; }
}
@media (max-width:991px) {
	html { font-size: 8px; }
}
@media (max-width:768px) {
	html { font-size: 7.5px; }
}
@media (max-width:580px) {
	html { font-size: 6.5px; }
}
@media (min-width:1200px) and (max-height:800px) {/* 너비 1200이상 높이 800이하 */
html { font-size: 8px; }
}
@media (min-width:1200px) and (max-height:650px) {/* 너비 1200이상 높이 650이하 */
html { font-size: 7.5px; }
}
@media (min-width:1200px) and (max-height:500px) {/* 너비 1200이상 높이 500이하 */
html { font-size: 6.5px; }
}

:root {
	/* 컨텐츠 너비 */
	--containerV1-width : 1400;

	--main-color : #3f5ca0; /* mainColor */		
	--main-color2 : #b5beff; /* mainColor */	
    
    --h-height : 10rem; /* header height */
}

/* container */
.containerV1 { width: 100%; margin: 0 auto; max-width: calc(var(--containerV1-width) * 1px); }
@media (max-width:1430px) {
	.containerV1 { padding: 0 15px; }
}

/* 확대 축소 애니메이션 */
@keyframes ani_scale1 {
	50% { transform:scale(1.005); }
}
@keyframes ani_scale2 {
	50% { transform:scale(1.04); }
}
@keyframes ani_scale3 {
	50% { transform:scale(1.00); }
}

.wrapper { overflow-x: hidden; }

/* 게시판 글 없을 때 */
.post-none { font-size: 16px; }


/* index scorollbar custom */
body::-webkit-scrollbar {
    width: 7px;
}
body::-webkit-scrollbar-thumb  {
    background: var(--main-color);
    border-radius: 20px;
}
body::-webkit-scrollbar-track {
    background: rgba(33, 122, 244, .1);
}
html { scroll-behavior: smooth; }

/* page_animation */
.fade_up {transition: 1s 0.3s;}
.fade_up[data-scroll="out"] {transform: translateY(20%); opacity: 0;}



/*--------------------------------------------------- 해드세팅 ----------------------------------------------------------------------------*/
@media all {
    #header { 
    --menu-font-color : #fff;
    position: fixed; left: 0; top: 0; width: 100%; height: var(--h-height); z-index: 1000; transition:0.4s; background: rgba(0, 0, 0, 0.2);
    }
    
    #header > .containerV1 {height: 100%;}
    
    /*모바일 검은 배경*/
    #header .menuBox_bg {position: fixed; right: 0; top: 0; z-index: 8000; width: 100%; height: 100vh; background: rgba(0,0,0,0.5); display: none;}
    
    
    #header .itemBox {
    width: 100%; height: 100%; display:flex; justify-content:space-between; align-items:center; 
    position: relative; z-index: 2; margin: 0 auto;}
    
    #logo {width: 20.6rem;}
    #logo a {display: flex; align-items: center;}
    #logo a .logo_2 {display: none;}
    
    
    
    /*main_menu---------------------------------------------------------------------------*/
    #nav .nav_logo {display: none;}
    #nav .nav_inner { display:flex; align-items:center; width: 100%; gap: 0 50px;}
    #nav .outer {display: flex; position: relative;}
    #nav .outer > li {position: relative; margin-left: 5rem; height: var(--h-height);}
    #nav .outer > li:first-child {margin-left: 0;}
    #nav .outer > li > a {
    display: flex; color: var(--menu-font-color);  font-size: 18px; height: 100%; line-height: 1.3; align-items: center;
    position: relative; transition: all 0.3s; font-weight: bold;
    }
    #nav .outer > li > a > span {position: relative;}
    #nav .outer > li > a > i {color: var(--main-color); display: none;}
    #nav .outer > li > a > span:after {
    content: ''; position: absolute;  bottom: -10px; width: 0; height: 3px; background: var(--main-color); transition:0.4s; right: 0;
    }
    
    
    
    /*sub_menu---------------------------------------------------------------------------*/
    #nav .inner {
    display: block; position: absolute; right: 0; top: 80%; width: 190px; height: 0; overflow: hidden;
    opacity: 0; transition: all 0.2s; visibility: hidden; z-index: 1;  background: #fff; text-align: right; box-shadow: 3px 2px 10px rgba(0,0,0,0.2);
    }
    #nav .inner::before {content:""; position: absolute; left: 0; top: 0; width: 100%; height: 5px; background: var(--main-color);} 
    #nav .inner > li {position: relative; color: #000; line-height: 1.3; transition: all 0.3s;}
    #nav .inner > li:first-child {margin-top: 10px;}
    #nav .inner > li:last-child {margin-bottom: 10px;}
    
    #nav .inner > li > a { display: block; font-size: 14px; color: inherit; transition: all 0.3s; position: relative; left: 0; padding: 10px 15px;}
    #nav .outer > li:nth-child(1) .inner { z-index: 10;}
    
    
    
    /* hover */
    @media (min-width: 991px) {
        #nav .outer > li:hover > .inner {opacity: 1; visibility: visible; z-index: 2; top: 90%; height: auto;}
        #nav .outer > li:hover > a > span:after {width: 100%; right: auto; left: 0;}
        #nav .outer > li > .inner > li:hover > a {background: var(--main-color); color: #fff;}

        /* 해당페이지 일때 */
        #nav .outer > li > a.on > span::after {width: 100%;}
    }
    
    /* 해드 스크롤 했을때 */
    #header.scroll {
        box-shadow: 0px 3px 10px rgba(0,0,0,0.1); background: #fff;
    }
    #header.scroll #logo a .logo_2 {display: block;}
    #header.scroll #logo a .logo_1 {display: none;}
    #header.scroll #nav .outer > li > a {color: #000;}

    /* 헤드 메뉴에 on 했을때 */
    #header.header_full {background: #fff;}
    #header.header_full #nav .outer > li > a {color: #000;}
    #header.header_full #logo a .logo_2 {display: block;}
    #header.header_full #logo a .logo_1 {display: none;}   
    
    
    
    /*모바일에서 피씨 로고 클래스 지움.*/
    #logo.logo_hide {opacity: 1; visibility: visible;}
    
}    
    
/*반응형-------------------------------------------------------------*/


@media (max-width: 1230px) {
    #nav .outer > li > a {font-size: 15px;}
}



/*모바일*/
@media all and (max-width: 991px) {
    
    #header {--menu-font-color: #222;}

    /* 모바일 열기 버튼 */
    .open_btn { font-size: 40px; color: #fff; cursor:pointer;}

    #nav {
    --mob-bg : #f7f7f7;
    background-color: var(--mob-bg); width: 21.43em; height: 100%;  display: block;
    position: fixed; right:0; top: 0; z-index:9999; margin-right:-21.43em;  transition:margin-right 0.3s;
    }

    #nav .nav_inner .nav_topBox {display: flex; align-items: center; width: 100%; background: var(--mob-bg); padding: 20px; border-bottom: 1px solid #555;}
    #nav .nav_inner .nav_logo {display: flex; align-items: center; color: #fff; font-weight: bold; width: 140px;}
    #nav .nav_inner { 
    width: 21.43em; height: 100%; overflow-x: hidden; overflow-y:auto; position: absolute;  top:0; 
    flex-direction:column; justify-content:flex-start; align-items:stretch;
    }

    /* 모바일닫기버튼 */
    .close_btn { width:50px; height:50px; margin-right:0; margin-left:auto; cursor:pointer; position: absolute; right: 0; top: 10px;}
    .close_btn > i { display:block; color:var(--menu-font-color); text-align:center; line-height:50px; font-size:40px; z-index: 3;}


    #header .menuBox_bg {display: block;}/*	menubox_bg가 메뉴를 연 상태로 바로 pc화면으로 바꿀 경우 그대로 남아서 pc에서 none 처리해둔 걸 모바일에서 푸는 용도*/

    #nav .outer { display: block; margin-top: 10px; padding: 0 20px; order: 3;}
    #nav .outer > li { margin-left: 0; width: 100%; overflow: hidden; cursor: pointer; margin-bottom: 10px; height: auto;}
    #nav .outer > li > a { 
        font-weight: 500; padding:15px 20px 20px 10px; color: var(--menu-font-color); position: relative; 
        pointer-events:none; height: auto; line-height: 1; font-size: 18px; border-bottom: 1px solid #555;
    }
    #nav .outer > li > a > span {transition: 0.5s;}
    #nav .outer > li > a > span:after {
        background: url('img/nav_icon_logo.png') no-repeat center center / cover;
        width: 20px; height: 20px; left: -25px; top: 50%; transform: translateY(-50%);
        opacity: 0; transition: 0.5s;
    }
    

    #nav .outer > li > a > i {color: var(--menu-font-color); display: inline-block; position: absolute; right: 15px; top: 15px; transform: rotate(0deg); transition: all 0.3s;}

    #nav .inner {
        position: relative; padding: 0; display: block; border:0; opacity: 0; padding-left: 10px;
        visibility: hidden; width: 100%; height: 0;  background: var(--mob-bg); box-shadow: none;
    }
    #nav .inner::before {display: none;} 
    #nav .inner > li { margin-bottom:0; position: relative; padding: 0;}


    #nav .inner > li > a {
    color: var(--menu-font-color); padding: 12px 25px 12px 13px; position: relative; transition: all 0.3s;
    text-align: left; left: 0;
    }
    #nav .inner > li > a {border-bottom: 1px solid #3f5ca03b;}

    /*	pc 메뉴 효과 지움*/
    
    #header:hover #nav .inner {opacity: 1; top: 100%;}



    /* 해드 스크롤 했을때 */
    #header.scroll #nav .outer > li > a {color: var(--menu-font-color); line-height: 1;}
    #header.scroll .open_btn {color: #000;}

    /* 헤드 메뉴에 on 했을때 */
    /* #header.header_full {background: ;} */
    #header.header_full #nav .outer > li > a {color: #000;}
	#header #nav .outer > li > a {color: #000;}

    /* hover */
    #nav .outer > li > .inner > li:hover > a {background: transparent; color: var(--menu-font-color);}
    #nav .outer > li:hover > .inner { display:block; opacity: 1; top: 100%;}
    #nav .outer > li > .inner > li:hover {background: #333;}
    #nav .outer > li > .inner > li:hover > a {color: var(--menu-font-color);}
    #nav .inner > li:hover > a span {left: 0;}


    /* 해당페이지 일때 */
    #nav .outer > li > a.on > span {margin-left: 20px;}
    #nav .outer > li > a.on > span::after {opacity: 1;}

    #nav .outer > li.on_sub > a > span {margin-left: 20px;}
    #nav .outer > li.on_sub > a > span::after {opacity: 1;}

    /* outer 클릭시 inner보이는 효과 */
    #nav .outer > li.on_sub > .inner { display: block;}
    #nav .outer > li.on_sub > .inner {
        opacity: 1;
        visibility: visible;
        height: auto;
    }
    #logo.logo_hide {opacity: 0; visibility: hidden;}
    #nav .outer > li.on_sub > .inner > li {background: #f7f7f7;}
    #nav .outer > li.on_sub > a > i {transform: rotate(90deg); }
    

    /* 모바일메뉴박스 보이게 하는 클래스 */
    #nav.inactive { margin-right: -1px; }
}

/*--------------------------------------------------- 해드세팅 끝 ----------------------------------------------------------------------------*/



/*--------------------------------------------------- 인덱스세팅 ----------------------------------------------------------------------------*/
main > .section {
    width: 100%;
    --index-font-size-pc: 10;
    --index-font-size-mob: 10;
    font-size: min( calc( var(--index-font-size-mob) / 1820 * 100vw ), calc(var(--index-font-size-pc) * 1px) );
}

@media (max-width: 1430px) {
    main > .section {font-size: min( calc( var(--index-font-size-mob) / 1230 * 100vw ), calc(var(--index-font-size-pc) * 1px) );}
}

@media (max-width: 991px) {
    main > .section {
        font-size: min( calc( var(--index-font-size-mob) / 500 * 100vw ), calc(var(--index-font-size-pc) * 1px) );
    }
    main > .section2, main > .section3, main > .section4, main > .section5 {padding: 15em 0;}
}

main .titleBox p.sub_title {font-size: 2em; font-weight: bold; line-height: 1.3; color: var(--main-color2);}
main .title-V1 {font-size: 5.5em; color: #4d61f4; font-weight: 900; line-height: 1.2; font-family: 'Gothic A1', sans-serif !important;}
main .titleBox p.sub_text {font-size: 2em; line-height: 1.6; color: #000; margin-top: 0.5em;}

/* plust_btn 공용 */
main > .section a.plus_btn {
    display: flex; align-items: center; justify-content: center; background: var(--main-color);
    color: #fff; width: 4em; height: 4em; transition: all 0.3s;
}
main > .section a.plus_btn span {font-size: 2em; transition: all 0.7s;}

/* item_btn 공용 */
main > .section a.item_btn {
    display: flex; align-items: center; justify-content: center; background: #7595e0; gap: 3px;
    color: #fff; width: 100%; max-width: 150px; height: 45px; transition: all 0.3s;
}
main > .section a.item_btn span:first-child {font-size: 15px;}
main > .section a.item_btn span:last-child {transition: all 0.7s; font-size: 1.2em;}

@media (max-width: 600px) {
    main > .section a.item_btn {max-width: 100%;}
}

/* hover */
@media (min-width: 991px) {
    main > .section a.plus_btn:hover > span {transform: rotate(360deg);}

    main > .section a.item_btn:hover {background: var(--main-color);}
    main > .section a.item_btn:hover span:last-child {transform: rotate(360deg);}
}



/* section2 */
main > .section2 .titleBox {text-align: center; margin-bottom: 7em;}
main > .section2 .itemBox {display: grid; grid-template-columns: repeat(2, 1fr); gap: 6em;}
main > .section2 .itemBox > .item {
    box-sizing: border-box; position: relative; overflow: hidden;
    width: 100%; box-shadow: 4px 6px 3px 0px #d2d2d2;
}

main > .section2 .itemBox > .item .item_img {
    position: absolute; width: 100%; height: 100%; top: 0%; left: 0%;
    transform:  scale(1); transition: all 1s; z-index: 1;
}

main > .section2 .itemBox > .item01 .item_img {background: url(img/sec02_img01.jpg) no-repeat center center / cover;}
main > .section2 .itemBox > .item02 .item_img {background: url(img/sec02_img02.jpg) no-repeat center center / cover;}

main > .section2 .itemBox > .item .text_box {width: 100%; padding: 2.5em 3.5em 3.2em 5em; position: relative; z-index: 2; }
main > .section2 .itemBox > .item .text_box .item_title {display: flex; justify-content: end; align-items: center; padding-bottom: 21em;}

main > .section2 .itemBox > .item .text_box .item_text{display: flex; flex-direction: column; justify-content: end;color: #fff;}

main > .section2 .itemBox > .item .text_box .item_text p.text1 {font-size: 1.8em; color: inherit; line-height: 1.5; font-weight: bold;}
main > .section2 .itemBox > .item .text_box .item_text h3 {font-size: 3em; font-weight: bold; color: inherit; line-height: 1.2; margin-bottom: 0.6em;}

main > .section2 {--active-transition: 1s;}

/* hover */
@media (min-width: 991px) {
    main > .section2 .itemBox > .item:hover .item_img {transform: scale(1.1);}
    main > .section2 .itemBox > .item:hover a.plus_btn {background: var(--main-color);}

    /* active fullpage 991에 빠지면 data-scroll로 대체 */
    main > .section2 .titleBox > .sub_text {transform: translateY(20%); opacity: 0; transition: var(--active-transition);}
    main > .section2 .titleBox > h2 {transform: translateY(-40%); transition: var(--active-transition); opacity: 0; transition-delay: 0.3s;}
    main > .section2.active .titleBox > * {transform: translateY(0); opacity: 1;}
    /* main > .section2 .titleBox .title-V1 {transition-delay: 0.5s;} */
    main > .section2 .titleBox .sub_text {transition-delay: 0.8s;}

    main > .section2 .itemBox > .item {opacity: 0; transition: var(--active-transition); }
    main > .section2 .itemBox > .item01 {transition-delay: 1s; transform: translateX(-5%);}
    main > .section2 .itemBox > .item02 {transition-delay: 1s; transform: translateX(5%);}
    main > .section2.active .itemBox > .item {transform: translateX(0); opacity: 1;}
}

@media (max-width: 991px){
    main > .section2 .itemBox > .item .text_box .item_title {padding-bottom: 5em;}
    main > .section2 .itemBox > .item .text_box .item_text {margin: 0; text-align: center; min-height: 25em; justify-content: start;}
    main > .section2 .itemBox > .item .text_box .item_text p.text1 br{display: none;}
    main > .section2 .itemBox > .item .text_box {padding: 2.5em 2em 3.2em 2em;}
    
    /* data-scroll */
    main > .section2 .titleBox > h2 {transition: var(--active-transition); transition-delay: 0.2s;}
    main > .section2 .titleBox > h2[data-scroll="out"] {transform: translateY(-10%);}

    main > .section2 .titleBox > .sub_text {transition: var(--active-transition); transition-delay: 0.5s;}
    main > .section2 .titleBox > .sub_text[data-scroll="out"] {transform: translateY(10%); opacity: 0;}

    main > .section2 .itemBox .item {transition: 2s; transition-delay: 0.5s;}
    main > .section2 .itemBox .item[data-scroll="out"] {transform: scale(0.9);}
}

@media (max-width: 768px){
    main > .section2 .itemBox{grid-template-columns: repeat(1, 1fr);}
    main > .section2 .itemBox > .item .text_box .item_title {padding-bottom: 0;} 
    main > .section2 .itemBox > .item .text_box .item_text {justify-content: center;}
}


/* section3 */
main > .section3 {position: relative;}
main > .section3::before {
    content:''; position: absolute; top: 0%; left: 0%;  z-index: 1;
    width: 100%; height: 100%; background: url(img/sec03_bg.jpg) no-repeat right center / cover;
}
main > .section3 .containerV1 {position: relative; z-index: 2;}
main > .section3 .itemBox{margin-top: 10%;}
main > .section3 .itemBox .titleBox { margin-bottom: 5.5em; color: #fff;}
main > .section3 .itemBox .titleBox .title-V1 {font-family: 'Noto Sans KR', sans-serif !important; color: inherit;}
main > .section3 .itemBox .titleBox p.sub_title {font-size: 3em; color: inherit; font-weight: bold; line-height: 1.2; margin-top: 1em;}
main > .section3 .itemBox .titleBox p.sub_text {font-size: 1.8em; color: inherit; line-height: 1.6; margin-top: 0.7em;}

main > .section3 .itemBox .unit_box {display: flex; flex-direction: column;}
main > .section3 .itemBox .unit_box > li {width: 100%; display: flex; gap: 1em; align-items: center;}
main > .section3 .itemBox .unit_box > li .text_box {flex: 1;}
main > .section3 .itemBox .unit_box > li .text_box p.text2 {font-size: 2.5em; font-weight: bold; color: var(--main-color2); line-height: 1.3;}
main > .section3 .itemBox .unit_box > li .text_box p.text1 {font-size: 1.6em; color: #fff; line-height: 1.6; margin-top: 0.3em;}

/* section3 btn */
main > .section3 .itemBox .unit_box .item_btn{max-width: 135px; height: 35px; background-color: #3f5ca0; font-weight: normal; margin-left: 70px; margin-top: 1.7em;}
main > .section3 .itemBox .unit_box .unit01_btn{margin-bottom: 4.5em;}

/* hover */
@media (min-width: 991px) {

    /* active fullpage 991에 빠지면 data-scroll로 대체 */
    main > .section3 {--active-transition: all 2s;}
    main > .section3 .titleBox {transform: translateY(40%); transition: 1s;}
    main > .section3.active .titleBox {transform: translateY(0); transition-delay: 0.5s;}
    /* main > .section3.active .titleBox > * {transform: translateY(0);}
    main > .section3 .titleBox .title-V1 {transition-delay: 0.5s;}
    main > .section3 .titleBox .sub_title {transition-delay: 0.8s;}
    main > .section3 .titleBox .sub_text {transition-delay: 0.9s;}
    main > .section3 .titleBox .btn_box {transition-delay: 1.1s;} */

    main > .section3 {overflow: hidden;}
    main > .section3::before {transform: scale(1.1); transition: 2s;}
    main > .section3.active::before {transform: scale(1);}
    main > .section3 .unit_box .unit {transform: translateX(-3%); opacity: 0; transition: var(--active-transition); transition-duration: 1s !important;}
    main > .section3 .itemBox .unit_box .item_btn{transform: translateX(-3%); opacity: 0; transition: var(--active-transition); transition-duration: 1s !important;}

    main > .section3.active .unit_box .unit {transform: translateX(0); opacity: 1;}
    main > .section3.active .itemBox .unit_box .item_btn{transform: translateX(0); opacity: 1;}

    main > .section3.active .unit_box .unit01 {transition-delay: 0.8s;}
    main > .section3.active .itemBox .unit01_btn .item_btn{transition-delay: 0.8s;}
    main > .section3.active .unit_box .unit02 {transition-delay: 1.2s;}
    main > .section3.active .itemBox .unit02_btn .item_btn{transition-delay: 1.2s;}

}

@media (max-width: 991px) {
    /* data-scroll */
    main > .section3 .titleBox > * {transition: 1s;}
    main > .section3 .titleBox > .title-V1[data-scroll="out"] {transform: translateY(20%); opacity: 0;}
    main > .section3 .titleBox > .sub_title[data-scroll="out"] {transform: translateY(20%); opacity: 0; }
    main > .section3 .titleBox > .sub_text[data-scroll="out"] {transform: translateY(20%); opacity: 0; }
    main > .section3 .titleBox > .btn_box[data-scroll="out"] {transform: translateY(20%); opacity: 0; }

    main > .section3 .titleBox > .sub_title {transition-delay: 0.2s;}
    main > .section3 .titleBox > .sub_text {transition-delay: 0.5s;}
    main > .section3 .titleBox > .btn_box {transition-delay: 0.7s;}

    main > .section3 .unit_box .unit {transition: 0.5s;}
    main > .section3 .unit_box .unit[data-scroll="out"] {transform: translateY(15%); opacity: 0;}
    main > .section3 .unit_box .unit02 {transition-delay: 0.3s;}

    main > .section3 .itemBox .unit_box .btn_box{transition: 0.5s;}
    main > .section3 .itemBox .unit_box .btn_box[data-scroll="out"]{transform: translateY(15%); opacity: 0;}
    main > .section3 .itemBox .unit_box .unit02_btn{transition-delay: 0.3s;}
}


@media (max-width: 680px) {
    main > .section3::before {background-position: 83% center;}
    main > .section3 .itemBox {position: relative; z-index: 2;}
    main > .section3 .itemBox .titleBox {
        font-size: min( calc( var(--index-font-size-mob) / 600 * 100vw ), calc(var(--index-font-size-pc) * 1px) );
        text-align: center;
    }
}




/* section4 */
main > .section4 .titleBox {text-align: center; margin-bottom: 3em;}
main > .section4 .widget_box {margin-bottom: 6.5em;}
main > .section4 .widget_box a.item_btn {margin: 5em auto 0;}
/* background: #3f5ca0; */
main > .section4 .gridBox {
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 2.5em;
    grid-auto-rows: minmax(17.3em, auto); 
}
main > .section4 .gridBox > li {position: relative; overflow: hidden;}
main > .section4 .gridBox > li > .li_bg {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: 100%; height: 100%; z-index: 1; transition: all 1s;
}
main > .section4 .gridBox > li.item01 > .li_bg {background: url(img/sec04_img01.jpg) no-repeat center center / cover;}
main > .section4 .gridBox > li.item02 > .li_bg {background: url(img/sec04_img02.jpg) no-repeat center center / cover;}
main > .section4 .text_item {width: 100%; height: 100%; position: relative; z-index: 2;}
main > .section4 .text_item {
    width: 100%; height: 100%; padding: 2.5em 1.5em 0 2.5em; color: #fff;
    display: flex; justify-content: space-between;
}
main > .section4 .text_item .text_box p.text2 {font-size: 3em; font-weight: bold; color: inherit; line-height: 1.3;}
main > .section4 .text_item .text_box p.text1 {color: inherit; font-size: 1.6em; line-height: 1.6; margin-top: 0.7em;}

main > .section4 {--active-transition: all 1s;}

/* hover */
@media (min-width: 991px) {
    main > .section4 .gridBox > li:hover > .li_bg {width: 105%; height: 105%;}
    main > .section4 .text_item a.plus_btn:hover {background: var(--main-color);}
    main > .section4 > .fp-tableCell {padding-top: 50px;}


    /* active fullpage 991에 빠지면 data-scroll로 대체 */
    main > .section4 .titleBox > .sub_text {transform: translateY(20%); opacity: 0; transition: var(--active-transition);}
    main > .section4 .titleBox > h2 {transform: translateY(-40%); transition: var(--active-transition); opacity: 0; transition-delay: 0.3s;}
    main > .section4.active .titleBox > * {transform: translateY(0); opacity: 1;}
    main > .section4 .titleBox .sub_text {transition-delay: 0.8s;}

    main > .section4 .widget_box {transform: translateY(5%); opacity: 0; transition: var(--active-transition); transition-delay: 1.2s;}
    main > .section4.active .widget_box {transform: translateY(0); opacity: 1;}

    main > .section4 .btn_box {transform: translateY(50%); opacity: 0; transition-delay: 1.5s;}
    main > .section4.active .btn_box {transform: translateY(0); opacity: 1;}

    main > .section4 .gridBox{transform: translateY(10%); opacity: 0; transition: var(--active-transition);}
    main > .section4.active .gridBox {transform: translateY(0); opacity: 1; transition-delay: 1.5s;}
    main > .section4.active .gridBox > li {opacity: 1; transform: translate3d(0,0,0);}/* aos 애니메이션이 안 겹치고 그대로 올라와서 따로 걸어줌 */
}

@media (max-width: 1650px) {
    main > .section4 .widget_box {margin-bottom: 2.5em;}   
}

@media (max-width: 991px) {
    main > .section4 .widget_box {margin-bottom: 7em;}

    /* data-scroll */
    main > .section4 .titleBox > h2 {transition: var(--active-transition); transition-delay: 0.2s;}
    main > .section4 .titleBox > h2[data-scroll="out"] {transform: translateY(-10%);}

    main > .section4 .titleBox > .sub_text {transition: var(--active-transition); transition-delay: 0.5s;}
    main > .section4 .titleBox > .sub_text[data-scroll="out"] {transform: translateY(10%); opacity: 0;}

    main > .section4 .widget_box {transition: var(--active-transition);}
    main > .section4 .widget_box[data-scroll="out"] {transform: translateY(10%); opacity: 0;}

    main > .section4 .gridBox > li {transition: 1s;}
    main > .section4 .gridBox > li[data-scroll="out"] {transform: translateY(5%); opacity: 0;}
    main > .section4 .gridBox > li.item02 {transition-delay: 0.5s;}
}

@media (max-width: 880px) {
    main > .section4 .gridBox {grid-template-columns: repeat(1, 1fr);}
    /* main > .section4 .text_item .text_box p.text1 br {display: none;} */
}





/* section5 */
main > .section5 {position: relative;}
main > .section5::before {
    content:''; position: absolute; top: 0; left: 0;  z-index: 1;
    width: 100%; height: 100%; background: url(img/sec05_bg.jpg) no-repeat center center / cover;
}
main > .section5 .containerV1 {position: relative; z-index: 2;}
main > .section5 .titleBox {color: #fff; margin-bottom: 6em;}
main > .section5 .titleBox .sub_title {margin-bottom: 1em; color: #89acff;}
main > .section5 .titleBox .title-V1 {color: inherit; font-size: 4.5em;}
main > .section5 .titleBox .sub_text {color: inherit;}

main > .section5 .grid_box {display: grid; grid-template-columns: repeat(4, 1fr); gap: 2em;}
main > .section5 .grid_box li .li-box {
    --box-transition: all 0.5s;
    padding: 6em 2.4em 4.9em; color: #fff; background: rgba(0,0,0,0.5); 
    display: flex; flex-direction: column; transition: var(--box-transition);
}
main > .section5 .grid_box li .item_title {
    padding-bottom: 2em; border-bottom: 1px solid #fff; position: relative;
}
main > .section5 .grid_box li .item_title::after {
    content:""; position: absolute; bottom: -1px; left: 0; width: 0; height: 1px; background: var(--main-color2);
    transition: var(--box-transition);
}
main > .section5 .grid_box li .item_title h3 {font-size: 3em; font-weight: bold; line-height: 1.3; color: inherit; transition: var(--box-transition);}
main > .section5 .grid_box li .item_text {margin-top: 2.5em; min-height: 9em;}
main > .section5 .grid_box li .item_text p.text1 {font-size: 1.6em; color: #c9c9c9; line-height: 1.6; transition: var(--box-transition);}
main > .section5 .grid_box li .text_btn {display: flex; align-items: center; gap: 3px; font-size: 15px; color: #c9c9c9; transition: var(--box-transition);}
main > .section5 .grid_box li .text_btn i {font-size: 0.5em; transition: var(--box-transition);}

/* hover */
@media (min-width: 991px) {
    main > .section5 .grid_box > li:hover .li-box {background: rgba(0,0,0,0.7);}
    main > .section5 .grid_box > li:hover .item_title h3 {color: var(--main-color2);}
    main > .section5 .grid_box li:hover .item_text p.text1 {color: #fff;}
    main > .section5 .grid_box li:hover .text_btn {color: #fff;}
    main > .section5 .grid_box li .text_btn:hover {margin-left: 5px; color: var(--main-color2);}
    main > .section5 .grid_box li .text_btn:hover i {transform: rotate(360deg);}
    /* main > .section5 .grid_box li:hover .item_title {border-color: transparent;} */
    main > .section5 .grid_box li:hover .item_title::after {width: 100%;}




    /* active fullpage 991에 빠지면 data-scroll로 대체 */
    main > .section5 {overflow: hidden;}
    main > .section5::before {transform: translateY(30%); transition: 1.5s 0.2s;}
    main > .section5.active::before {transform: translateY(0);}

    main > .section5 {--active-transition: all 1.2s;}
    main > .section5 .titleBox > * {transform: translateY(50%); opacity: 0; transition: var(--active-transition);}
    main > .section5.active .titleBox > * {transform: translateY(0); opacity: 1;}
    main > .section5 .titleBox .sub_title {transition-delay: 0.5s;}
    main > .section5 .titleBox .title-V1 {transition-delay: 0.8s;}
    main > .section5 .titleBox .sub_text {transition-delay: 1.2s;}

    main > .section5 .grid_box > * {transform: translateY(5%); opacity: 0; transition: all 1s;}
    main > .section5.active .grid_box > * {transform: translateY(0); opacity: 1;}
    main > .section5 .grid_box > .item01 {transition-delay: 1.4s;}
    main > .section5 .grid_box > .item02 {transition-delay: 1.6s;}
    main > .section5 .grid_box > .item03 {transition-delay: 1.8s;}
    main > .section5 .grid_box > .item04 {transition-delay: 2s;}
}

@media (max-width: 1630px) {
    main > .section5 .grid_box li .li-box {min-height: 38em;}
    main > .section5 .grid_box li .item_text {min-height: 15em;}
}

@media (max-width: 1430px) {
    main > .section5 .grid_box li .item_text p.text1 br {display: none;}
}

@media (max-width: 991px) {
    main > .section5 .grid_box {grid-template-columns: repeat(2, 1fr);}
    main > .section5 .grid_box li .li-box {padding: 3em 2.4em 3.6em; min-height: 30em;}
    main > .section5 .grid_box li .item_text {min-height: 13em;}
    main > .section5 .titleBox .title-V1 {font-size: 4em;}

    /* data-scroll */
    main > .section5 .grid_box > li {transition: 1s;}
    main > .section5 .grid_box > li[data-scroll="out"] {transform: translateY(5%); opacity: 0;}
    main > .section5 .grid_box > li.item02 {transition-delay: 0.3s;}
    main > .section5 .grid_box > li.item03 {transition-delay: 0.6s;}
    main > .section5 .grid_box > li.item04 {transition-delay: 0.9s;}
}

@media (680px <= width <= 991px) {
    main > .section5 .titleBox {transition: 1s;}
    main > .section5 .titleBox[data-scroll="out"] {transform: translateX(-5%); opacity: 0;}
    main > .section5 .grid_box > li.item01 {transition-delay: 0.3s;}
    main > .section5 .grid_box > li.item02 {transition-delay: 0.6s;}
    main > .section5 .grid_box > li.item03 {transition-delay: 0.9s;}
    main > .section5 .grid_box > li.item04 {transition-delay: 1.2s;}
}

@media (max-width: 785px) {
    main > .section5 .titleBox .title-V1 {display: none;}
    main > .section5 .titleBox p.sub_text {font-size: 2.5em; font-weight: 300;}
    main > .section5 .titleBox .sub_text br {
        display: none;
    }
}


/* @media (max-width: 680px) {
    
} */

@media (max-width: 600px) {
    main > .section5 .grid_box {grid-template-columns: repeat(1, 1fr);}
    main > .section5 .grid_box li .text_btn {align-self: flex-end;}
    main > .section5 .grid_box li .item_text p.text1 {font-size: 1.8em;}
}

/*--------------------------------------------------- 인덱스세팅 끝 ----------------------------------------------------------------------------*/



/*--------------------------------------------------- 푸터세팅 ----------------------------------------------------------------------------*/
/* footer.php 참조 */
/*--------------------------------------------------- 푸터세팅 끝 ----------------------------------------------------------------------------*/








/* 서브페이지 패딩 */
.tmt_sub_frame { padding:40px 0 50px; min-height: 75vh; position: relative;}


/* 게시판 및 게시판헤드 등 기타 버튼들 기본컬러 변경 */
.btn.btn-color {border: 1px solid var(--main-color); background-color: var(--main-color);}
.btn.active.btn-color, .btn.btn-color:hover, .btn.btn-color:focus, .btn.btn-color:active {background-color: var(--main-color);}
.border-color, i.border-color, img.border-color {border-color: var(--main-color);}

/* 모달 z-index높이기 (해드에 가려지는 경우 발견해서) */
.modal { z-index: 9999; }
.modal-backdrop { z-index: 9998; }

#style-switcher .widget-setup { top: 155px !important; }
