@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&display=swap');

.clear:after { 
    content:""; 
    display:block; 
    clear:both;
}
* { margin:0; padding:0; outline:none; }
body {
line-height:1; font-size:14px; font-weight:400; color:#000; font-family: 'Noto Sans KR', sans-serif; word-wrap: break-word; word-break: keep-all;
}
h1, h2, h3, h4, h5, h6 { margin:0; font-family: 'Noto Sans KR', sans-serif; line-height:1;  }
ul, ol { list-style:none; margin:0; }
a { outline:0; text-decoration:none; }
a:focus { outline:none; }
img { border:none; outline:none; max-width: 100%; }
p { margin:0; padding:0; word-wrap: break-word; word-break: keep-all;  }

/* 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 : 1200px;
	
	--main-color : #2b4d69;/* 남색 */

	--color2 : #daebcf;/* 민트색 */
	
}

/* container */
.containerV1 { width: 100%; margin: 0 auto; max-width: var(--containerV1-width,1400px);}


@media (max-width: 1230px) {
	.containerV1 { padding: 0 15px;}
}


.wrap { padding-top: 0; }
@media (max-width: 991px) {
	.wrap { padding-top: 0;}
}

/*--------------------------------------------------- 해드세팅 ----------------------------------------------------------------------------*/
#header { 
--h-height : 9rem;
position: fixed; left: 0; top: 0; width: 100%; height: var(--h-height); z-index: 1000; transition:0.4s; background: transparent;}

#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%; max-width: 1780px; height: 100%; display:flex; justify-content:space-between; align-items:center; 
position: relative; z-index: 2; margin: 0 auto;}


#logo { width: var(--h-height); transition: all 0.2s; } 
#logo a {font-size: 3rem; display: flex; align-items: center; color: #fff; font-weight: bold;}

/*main_menu---------------------------------------------------------------------------*/
#nav .nav_logo {display: none;}

#nav .nav_inner { display:flex; align-items:center; width: 100%;}
#nav .outer {display: flex; position: relative;}
#nav .outer > li {position: relative; margin-left: max(40px, 5.21vw); /*90px*/}
#nav .outer > li:first-child {margin-left: 0;}
#nav .outer > li > a {
display: block; color: #fff;  font-size: 18px;/*18px*/ height: 100%; line-height: var(--h-height);
position: relative; transition: all 0.3s; 
}
#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: #fff; transition:0.4s; right: 0;
}



/*sub_menu---------------------------------------------------------------------------*/
#nav .inner {
display: block; position: absolute; right: 0; top: 100%; width: 17rem; padding: 10px 0 10px;
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: #333; line-height: 1.3; transition: all 0.3s;}

#nav .inner > li > a { display: block; font-size: 15px; color: inherit; transition: all 0.3s; position: relative; left: 0; padding: 10px 15px;}
#nav .outer > li:nth-child(1) .inner { z-index: 10;}



/* hover */


#nav .outer > li:hover > .inner {opacity: 1; visibility: visible; z-index: 2; top: 110%;}
#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;}



/* 해드 스크롤 했을때 */
#header.scroll {box-shadow: 0px 3px 10px rgba(0,0,0,0.1); background: #333;}



/* 해당페이지 일때 */
#nav .outer > li > a.on > span:after {width: 100%;}


/*모바일에서 피씨 로고 클래스 지움.*/
#logo.logo_hide {opacity: 1; visibility: visible;}



/*반응형-------------------------------------------------------------*/






/*모바일*/
@media all and (max-width: 991px) {
	
	#header {--h-height: 10rem;}
	

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

	#nav {
	background-color: #fff; 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%; height: 70px; background: #333; padding: 20px;}
	#nav .nav_inner .nav_logo {font-size: 3rem; display: flex; align-items: center; color: #fff; font-weight: bold; width: 65px;}
	#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:#fff; text-align:center; line-height:50px; font-size:30px; z-index: 3;}


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

	#nav .outer { display: block; margin-top: 10px; padding: 0 20px;}
	#nav .outer > li { margin-left: 0; width: 100%; overflow: hidden; cursor: pointer; margin-bottom: 10px;}
	#nav .outer > li > a { font-weight: 500; padding:15px 20px 20px 10px; color: #333; position: relative; pointer-events:none; height: auto; line-height: 1; font-size: 18px;
	border-bottom: 1px solid rgba(0,0,0,0.5);}
	#nav .outer > li > a > span:after {display: none;}
	

	#nav .outer > li > a > i {color: #333; 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; visibility: hidden; width: 100%; height: 0;  background: #fff; box-shadow: none;}
	#nav .inner::before {display: none;} 
	#nav .inner > li { margin-bottom:0; position: relative; padding: 0;}


	#nav .inner > li > a {
	color: #333; padding: 12px 25px; position: relative; transition: all 0.3s;
	text-align: left; left: 0; font-size: 15px;
	}

	/*	pc 메뉴 효과 지움*/
	
	#header:hover #nav .inner {opacity: 1; top: 100%;}
	#nav .outer > li > .inner > li:hover > a {left: 5px; color: #333; }



	/* 해드 스크롤 했을때 */
	#header.scroll #nav .outer > li > a {color: #333; line-height: 1;}



	/* hover */
	#nav .outer > li:hover > a {}
	#nav .outer > li > .inner > li:hover > a {background: transparent; color: #333;}
	#nav .outer > li:hover > .inner { display:block; opacity: 1; top: 100%;}
	#nav .inner > li > a:hover {left: 5px;}
	#nav .outer > li > .inner > li:hover {background: #fff;}

	
/*	서브메뉴 inactive*/
	#nav .outer > li.on_sub > .inner {
		opacity: 1;
		visibility: visible;
		height: auto;
	}

	#logo.logo_hide {opacity: 0; visibility: hidden;}
		#nav .outer > li.on_sub > a > i {transform: rotate(90deg); }
	
	



	/* 해당페이지 일때 */
	#nav .outer > li.on_sub > a > span {color: var(--main-color);}


	/* outer 클릭시 inner보이는 효과 */
	#nav .outer > li.on_sub > .inner { display: block; padding: 10px 0;}
	

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



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


/*titleBox*/
.section .titleBox {
 --font-size-pc: 10;
 --font-size-mob: 10;
 font-size: min( calc( var(--font-size-mob) / 500 * 100vw ), calc(var(--font-size-pc) * 1px) );
text-align: center; margin-bottom: 43px;}
.section .titleBox .title-V1 {font-size: 5em; color: #333; font-weight: bold; line-height: 1.3; margin-bottom: 5px;}
.section .titleBox .text1 {font-size: 1.6em; color: #999; line-height: 1.4;}



.section a.item_btn {display: flex; justify-content: center; align-items: center; color: #fff; background: var(--main-color);
width: 100%;  max-width: 125px; height: 35px; font-size: 14px; transition: all 0.3s; gap: 0.5em; border: 2px solid transparent;}
.section a.item_btn i {font-size: 0.3em;}

.section a.item_btn:hover {background: #fff; color: var(--main-color); border-color: var(--main-color);}

@media (max-width: 991px) {
	.section a.item_btn:hover {background: var(--main-color); color: #fff; border-color: transparent;}
}


/*max-width: 8.9285em; height: 2.5em; font-size: 1.4em;*/


/* section1 */

.section1 {
 --font-size-pc: 10;
--font-size-mob: 10;
font-size: min( calc( var(--font-size-mob) / 350 * 100vw ), calc(var(--font-size-pc) * 1px) );
padding: max(50px, 11.4rem) 0 max(50px, 11.8rem) 0;}
.section1 .itemBox {width: 100%; display: grid; grid-template-columns: repeat(4, 1fr); gap: 2.7em;}
.section1 .itemBox .item {border: 1px solid #d2d2d2; box-sizing: border-box; display: grid; justify-items: center; padding: 3.6em 0 2em 0; position: relative; bottom: 0; transition: all 0.5s;}
.section1 .itemBox .item .ani-line {position: absolute; background: var(--main-color); transition: all 0.5s;}
.section1 .itemBox .item .line-left {top: 0; left: 0; width: 5px; height: 0;}
.section1 .itemBox .item .line-top {top: 0; left: 0; width: 0; height: 5px;}
.section1 .itemBox .item .line-right {bottom: 0; right: 0; width: 5px; height: 0;}
.section1 .itemBox .item .line-bottom {bottom: 0; right: 0; width: 0; height: 5px;}
.section1 .itemBox .item .item_img {height: 8.5em;}
.section1 .itemBox .item .item_textBox {margin: 2em 0 2.8em 0; text-align: center; height: 8.4em;}
.section1 .itemBox .item .item_textBox h3.item-text-b {font-weight: bold; font-size: 2em; color: #333; line-height: 1.4; margin-bottom: 5px;}
.section1 .itemBox .item .item_textBox p.text1 {font-size: 1.6em; color: #666; line-height: 1.6;}

.section1 .itemBox .item:hover {bottom: 10px; border-color: transparent;}
.section1 .itemBox .item:hover .line-left {height: 100%;}
.section1 .itemBox .item:hover .line-top {width: 100%;}
.section1 .itemBox .item:hover .line-right {height: 100%;}
.section1 .itemBox .item:hover .line-bottom {width: 100%;}

@media (max-width: 991px) {
	.section1 .itemBox {grid-template-columns: repeat(2, 1fr);}
	.section1 .itemBox .item:hover {bottom: 0; border-color: #d2d2d2;}
	.section1 .itemBox .item .ani-line {display: none;}
}

@media (max-width: 550px) {
	.section1 .itemBox {grid-template-columns: repeat(1, 1fr);}
}
 

/* section2 */
.section2 {
 --font-size-pc: 10;
--font-size-mob: 10;
font-size: min( calc( var(--font-size-mob) / 350 * 100vw ), calc(var(--font-size-pc) * 1px) );
padding: max(60px, 12rem) 0 max(60px, 12rem) 0; background: #fbfbfb;}
.section2 .item_btn {margin: 10rem auto 0 auto;}



/* section3 */
 .section3 { padding: max(10rem, 7.81vw) 0 10rem; background: url(img/sec03_bg.jpg) no-repeat center center / cover; }
 .section3 a { color: inherit; }
 .section3 .containerV1 {max-width: 1400px;}
 .section3 .containerV1 > .itemBox { display:grid; grid-template-columns:repeat(2,1fr); color: #fff; }
 .section3 .containerV1 > .itemBox .titleBox { margin-bottom: 3.5rem; text-align: left;}
 .section3 .containerV1 > .itemBox .titleBox .title-V1 {color: #fff; font-size: 5em; font-weight: bold; font-family: "Poppins";} 
.section3 .containerV1 > .itemBox .titleBox .text1 {color: #fff; line-height: 1.6; font-size: max(12px, 1.6em);}
.section3 .containerV1 > .itemBox .left {padding: 4.5rem 7.6rem 0 0;}
.section3 .containerV1 > .itemBox .left > .textBox1 { margin-bottom: 3.5rem; }
.section3 .containerV1 > .itemBox .left > .textBox1 > .text1 { font-size: max(15px,1.8rem); line-height: 1.4; font-weight: 500; }
.section3 .containerV1 > .itemBox .left > .textBox2 { margin-bottom: 4rem; }
.section3 .containerV1 > .itemBox .left > .linkBox { display:grid; grid-template-columns:repeat(2,1fr); gap:0 3rem; }
.section3 .containerV1 > .itemBox .left > .linkBox > li {max-width: 288px;}
.section3 .containerV1 > .itemBox .left > .linkBox > li > a { 
display: block; color: #fff; height: 10.6rem; position: relative; transform-style:preserve-3d; transition:0.5s;
}
 .section3 .containerV1 > .itemBox .left > .linkBox > li > a > div { 
position: absolute; left: 0; top: 0; width: 100%; height: 100%; backface-visibility:hidden; border: 1px solid #fff; padding: 0 max(15px,1.31vw);
display:grid; grid-template-columns:auto 1fr; gap: 0 3rem; align-items:center;
}
 .section3 .containerV1 > .itemBox .left > .linkBox > li > a > div .icon { display: block; width: 5rem; }
 .section3 .containerV1 > .itemBox .left > .linkBox > li > a > div .textBox > .text1 {
font-size: max(15px,2.3rem); font-weight: bold; margin-bottom: 10px; text-transform: uppercase;
}
 .section3 .containerV1 > .itemBox .left > .linkBox > li > a > div .textBox > .text2 {  
text-transform: uppercase; font-size: max(12px,1.5rem);
}
 .section3 .containerV1 > .itemBox .left > .linkBox > li > a > .inner_back { 
background: var(--color1,#1f4575); border: 1px solid var(--color1,#1f4575); transform:rotateX(-180deg); 
}
 .section3 .containerV1 > .itemBox .left > .linkBox > li > a > .inner_back .textBox > .text1 { display:flex; align-items:center; }
 .section3 .containerV1 > .itemBox .left > .linkBox > li > a > .inner_back .textBox > .text1:after {
content: '\f105'; font-family: fontAwesome; display: inline-block; margin-left: auto; margin-right:0;
}
 .section3 .containerV1 > .itemBox .left > .linkBox > li:hover > a { transform:rotateX(180deg); transition-delay:0.2s; }

@media (max-width: 1430px) {
	.section3 .containerV1 {padding: 0 15px;}
}

@media (max-width: 1230px) {
	.section3 .containerV1 > .itemBox .left {padding: 4.5rem 1rem 0 0;}
	.section3 .containerV1 > .itemBox .left > .linkBox > li {max-width: 100%;}
}

@media (max-width:991px) {
	 .section3 .containerV1 > .itemBox { grid-template-columns:1fr; gap:5rem 0; max-width: 768px; margin: 0 auto; }
	 .section3 .containerV1 > .itemBox .left > .linkBox > li > a {height: 12.6rem;}
}
@media (max-width:768px) {
	.section3 .containerV1 > .itemBox .left {padding: 4.5rem 0 0 0;}
	 .section3 .containerV1 > .itemBox .left > .linkBox { grid-template-columns:1fr; gap:2rem; }
	/* 아이폰에서 후버효과 이상하게 나와서 없앰 */
	 .section3 .containerV1 > .itemBox .left > .linkBox > li:hover > a { transform:rotateX(0); transition-delay:0; }
	 .section3 .containerV1 > .itemBox .left > .linkBox > li > a > .inner_back { visibility:hidden; }
}


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



/*--------------------------------------------------- 푸터세팅 ----------------------------------------------------------------------------*/
/* footer*/
footer { background: #eee;}
footer a { color: inherit; }

footer .item1 {width: 120px;}
footer > .contents_box { padding: 5rem 0; }
footer > .contents_box .info_box {display: flex; justify-content: center; background: #f9f9f9; border-top:1px solid #ebebeb; border-bottom:1px solid #ebebeb;
padding: 1.5rem 0;}
footer > .contents_box .info_box .info {display: flex; text-align: center;}
footer .info > .item { position:relative; }
footer .info > .item:before { content:''; position:absolute; right:7px; top:55%; transform:translateY(-50%); width:1px; height:13px; background:#ddd; }
footer .info > .item:last-child:before { display:none; }
footer .info > .item > a { display:block; color:#bbb; font-size:12px; font-weight:500; line-height:1.8; margin-right:15px;  }  /*211223폰트 사이즈 13에서 14로 수정.*/

footer .contents { display:flex; flex-wrap:wrap; justify-content: center; width: 100%; flex-direction: column; align-items: center; gap: 17px 0;}
footer .item2 {display: flex; flex-direction: column; align-items: center; }


footer .item2 > div { line-height: 1.8; font-size: 16px; color: #333; text-align: center;}  /*211223폰트 사이즈 13에서 14로 수정.*/
footer .item2 > div a { color: inherit; }
footer .item2 > .text > span { position: relative; margin-right:10px; font-weight: inherit;  }
footer .item2 > .text > span:after { content:'|'; position:absolute; right:-8px; top:50%; transform:translateY(-55%); }
footer .item2 > .text > span:last-child:after { display: none; }
footer .item2 > .copy { text-transform: uppercase; font-weight: inherit; color: #777; margin-top: 22px; font-size: 15px;	}
footer .item2 > .copy a { color: inherit; }





@media (max-width:1230px) {
footer .contents > li:nth-child(1) { margin-right: 40px; }
footer .item2 { width: calc( 75% - 40px ); }
}

@media (max-width:991px) {
footer .item1 {display: none;}
footer .item2 > div {display: flex; flex-direction: column; }
footer .item2 > .copy {display: block;}
footer .item2 > .text > span:after { display:none;}
footer {background: #f9f9f9; border-top:1px solid #ebebeb; padding-top: 20px;}
footer .contents > li:nth-child(1) { width: 100%; margin-right: 0; margin-bottom: 20px; }
footer .item2 { width: 100%; }
}

@media (max-width:768px) {
footer .item2 .info {justify-content: center;}
footer .item2 > .text > span { display:block; margin-right:0;}


footer .item2 { margin-top: 0; text-align: center;}

}
/*--------------------------------------------------- 푸터세팅 끝 ----------------------------------------------------------------------------*/



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

@media (max-width: 991px) {
	.tmt_sub_frame { padding: 14rem 0 50px;}
}




/* 게시판 및 게시판헤드 등 기타 버튼들 기본컬러 변경 */
.btn.btn-color {border: 1px solid #2d66d3; background-color: var(--main-color); border-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);}
