@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&display=swap');
/*google font*/
@import url('https://fonts.googleapis.com/css2?family=Jost:wght@200;300;400;500;600&family=Lexend:wght@300;400;500;600;700;900&display=swap');
/*
font-family: 'Jost', sans-serif;
Jost medium - 500

font-family: 'Lexend', sans-serif;
Lexend bold - 700
*/

/* 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 : #000; /* mainColor */		
}

/* 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; }


/*--------------------------------------------------- 해드세팅 ----------------------------------------------------------------------------*/
@media all {
    #header {
    --h-height : 11rem;
    --menu-font-color : #7d7d7d;
    position: fixed; left: 0; top: 0; width: 100%; height: var(--h-height); z-index: 1000; transition:0.4s;}

    #header::before {
        content:''; position: absolute; top: 0; left: 0; background: rgba(255,255,255,0.8); transition: all 0.3s;
        z-index: 1; width: 100%; height: 100%; backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
    }
    
    #header > .containerV1 {height: 100%; position: relative; z-index: 2;}
    
    /*모바일 검은 배경*/
    #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 {
    --gap : 10rem;
    width: 100%; max-width: 1017px; height: 100%; display:flex; gap: var(--gap); justify-content:center; align-items:center; 
    position: relative; z-index: 2; margin: 0 auto;}
    
    #logo a {display: block;}
    #logo a > svg {width: 25px; height: 27px;}
    #header.sitemap_mode #logo a > svg polygon {transition: all 0.3s;}
    #logo a > img {display: none;}

    /* open_btn */
    #header .itemBox > .bar_btn {
        --bar-height: 3px;
        --bar-color: #7d7d7d;
        width: 24px; height: 13px; position: relative;
        display: flex; align-items: center;
        cursor: pointer; transition: all 0.3s;
    }
    #header .itemBox > .bar_btn > span {
        display: block; width: 100%; height: var(--bar-height); background: var(--bar-color);
        transition: all 0.3s;
    }
    #header .itemBox > .bar_btn::before,
    #header .itemBox > .bar_btn::after {
        content:''; position: absolute; width: 100%; height: var(--bar-height);
        background: var(--bar-color); transition: all 0.3s;
    }
    #header .itemBox > .bar_btn::before {top: 0; left: 0;}
    #header .itemBox > .bar_btn::after {bottom: 0; right: 0;}

    #header .itemBox > .open_btn {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; transition: 0.3s;}
    #nav .outer > li {
        display: flex; align-items: center; height: 100%;
        position: relative; margin-left: var(--gap); height: var(--h-height);
    }
    #nav .outer > li:first-child {margin-left: 0;}
    #nav .outer > li > a {
    color: var(--menu-font-color); font-size: 18px; line-height: 1.3; 
    position: relative; transition: all 0.3s; font-weight: bold;
    }
    #nav .outer > li > a > span {position: relative; transition: 0.3s;}
    #nav .outer > li > a > i {color: var(--main-color); display: none;}
    
    
    
    /*sub_menu---------------------------------------------------------------------------*/
    #nav .inner {
        display: block; position: absolute; left: 50%; transform: translateX(-50%); top: 80%; width: 180px; padding: 10px 0 10px;
        opacity: 0; transition: all 0.2s; visibility: hidden; z-index: 1; background: #fff;
        text-align: center; box-shadow: 3px 2px 10px rgba(0,0,0,0.2); overflow: hidden; border-radius: 15px;
    }
    #nav .inner > li {position: relative; color: var(--menu-font-color); line-height: 1.3; transition: all 0.3s;}
    
    #nav .inner > li > a {
        display: block; font-size: 15px; color: inherit; 
        font-weight: 400; transition: color 0.3s; position: relative; left: 0; padding: 10px 15px;
    }
    #nav .outer > li:nth-child(1) .inner { z-index: 10;}

    /* site_map */
    #header .site_map {
        position: absolute; width: 100%; z-index: 2000; background: rgb(143 143 143 / 50%);
        backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); left: 0; top: -500%; transition: all 0.7s;
    }
    #header .site_map .site_outer {display: flex; gap: 10rem; justify-content: center; padding-bottom: 8rem;}
    #header .site_map .site_outer > li {
        display: flex; align-items: center; height: 100%; gap: 30px;
        position: relative; flex-direction: column; text-align: center;
    }
    #header .site_map .site_outer > li:first-child {margin-left: 0;}
    #header .site_map .site_outer > li > a {
    color: #fff; font-size: 30px; line-height: 1.3; transition: all 0.2s;
    position: relative; transition: all 0.3s; font-weight: bold; padding: 10px 5px;
    }
    #header .site_map .site_outer > li > a > span {position: relative;}

    #header .site_map .site_outer .inner {display: flex; flex-direction: column; gap: 15px;}
    #header .site_map .site_outer .inner > li > a {font-size: 16px; color: #fff; transition: all 0.3s;}

    /* 사이트맵 버튼 눌렀을 때 */
    #header .site_map.sitemap_on {top: 100%;}
	
	/* sitemap_mode 991이상에서만 나오게. */
	@media (min-width: 991px) {
		#header.sitemap_mode .itemBox > .sitemap_btn {
        --bar-color: #fff;
        width: 24px; height: 24px;
		}
		/* 버튼 */
		#header.sitemap_mode .itemBox > .bar_btn::before {top: 11px; transform: rotate(45deg);}
		#header.sitemap_mode .itemBox > .bar_btn::after {bottom: 10px; transform: rotate(-45deg);}
		#header.sitemap_mode .itemBox > .sitemap_btn span {opacity: 0; visibility: hidden;}

		#header.scroll.sitemap_mode {box-shadow: none !important; border-bottom: none !important;}
		#header.sitemap_mode::before {background: rgb(143 143 143 / 50%);}	
		#header.sitemap_mode #logo a > svg polygon {fill: #fff !important;}
		#header.sitemap_mode #nav .outer {opacity: 0; visibility: hidden; transition: 0.3s;}
	}
    
    #header .site_map .site_outer > li:hover > a {color: #000;}
    #header .site_map .site_outer .inner > li > a:hover {color: #000;}

    
    /* 해드 스크롤 했을때 */
    #header.scroll {
        --h-height : 7rem;
        box-shadow: 0px 0px 7px 1px rgba(0,0,0,0.1);
    }
    
    
    
    /* 해당페이지 일때 */
    #nav .outer > li > a.on > span {color: var(--main-color);}
    
    
    /*모바일에서 피씨 로고 클래스 지움.*/
    #logo.logo_hide {opacity: 1; visibility: visible;}
    
}


/* hover */
@media (min-width: 991px) {
    #nav .outer > li:hover > .inner {opacity: 1; visibility: visible; z-index: 2; top: 90%;}
    #nav .outer > li.on_outer > a > span {color: #000;}
    #nav .outer > li.op_outer > a > span {opacity: 0.3;}
    #nav .outer > li > .inner > li:hover > a {color: #000; font-weight: 600;}
}


@media (max-width: 991px) {

    #logo a > svg {display: none;}
    #logo a > img {display: block; width: 8rem; transition: all 0.3s;}

    /* 모바일 열기 버튼 */
    #header .itemBox > .sitemap_btn {display: none;}
    #header .itemBox > .open_btn {
        display: flex; font-size: 40px; color: #fff; cursor:pointer;
    }


    #header .itemBox {justify-content: space-between;}

    #nav {
        --mob-bg : rgba(255,255,255,0.9);
        background-color: var(--mob-bg); width: 21.43em; height: 100%;  display: block;
        backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
        position: fixed; right:0; top: 0; z-index:9999; margin-right:-21.43em;  transition:margin-right 0.3s;
    }
    
    #nav .inner {background: none;}
    #nav .nav_inner .nav_topBox {
        display: flex; align-items: center; width: 100%; padding: 50px 20px 20px; border-bottom: 1px solid #bfbfbf;
        justify-content: center;
    }
    #nav .nav_inner .nav_logo {font-size: 3rem; display: flex; align-items: center; width: 80px;}
    #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;
    }

    #header .site_map {display: none;}

    /* 모바일닫기버튼 */
    .close_btn { width: 40px; height: 40px; margin-right:0; margin-left:auto; cursor:pointer; position: absolute; right: 0; top: 0;}
    .close_btn > i { display:block; color: var(--main-color); text-align:center; line-height: 40px; font-size: 35px; 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;
        flex-direction: column;
    }
    #nav .outer > li > a {
        font-weight: 300; padding: 15px 20px 20px 10px; color: var(--main-color); position: relative;
        pointer-events:none; height: auto; line-height: 1; font-size: 16px;
        border-bottom: 1px solid #bfbfbf7d; width: 100%;
    }
    #nav .outer > li:nth-child(4) > a {pointer-events: unset; }
    #nav .outer > li > a > span {transition: all 0.3s;}
    #nav .outer > li > a > span:after {display: none;}
    

    #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; border-radius: 0;
        visibility: hidden; width: 100%; height: 0; box-shadow: none;
    }
    #nav .inner::before {display: none;} 
    #nav .inner > li { margin-bottom:0; position: relative; padding: 0;}


    #nav .inner > li > a {
    color: #000; padding: 12px 25px 12px 13px; position: relative; transition: all 0.3s;
    text-align: left; left: 0;
    }
    #nav .inner > li > a {border-bottom: 1px solid #dbdbdb; font-weight: 300;}

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



    /* 해드 스크롤 했을때 */
    #header.scroll #logo a > img {display: block; width: 6rem;}

    /* 헤드 메뉴에 on 했을때 */
    #header.header_full #nav .outer > li > a {color: var(--main-color);}
	#header #nav .outer > li > a {color: var(--main-color);}


    /* 해당페이지 일때 */
    #nav .outer > li > a.on > span {font-weight: bold;}


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

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

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


#index > .section {
    --font-size-pc: 10;
    --font-size-mob: 10;
    font-size: min( calc( var(--font-size-mob) / 500 * 100vw ), calc(var(--font-size-pc) * 1px) );
}

/* section1 */
#index .section1 {padding: 20em 0 12em; display: flex; align-items: center; justify-content: center;}

#index .section1 .sec_img {position: relative;}
#index .section1 .sec_img > img {animation: float_ani 1s infinite alternate; position: relative;}

@keyframes float_ani {
    0%{top: 0;}
    100%{top: 10px;}
    0%{top: 0;}
}

@media (max-width: 1630px) {
    #index .section1 {padding: 20em 15px 21em;}
}


/* section2 */
#index .section2 {padding: 10em 0;}
#index .section2 .titleBox {text-align: center;}
#index .section2 .titleBox .title-V1 {font-size: 8em; color: #000; line-height: 1.2;}
#index .section2 .titleBox p.text1 {
    font-size: 1.6em; color: #535353; line-height: 1.4; margin-top: 1em;
    font-weight: 500;
}

#index .section2 .tabBox1 { 
--transition:0.4s;
--tab-color:#000;
--circle-size:5px;
padding-top: 3em;
}

/* section2 - nav */
#index .section2 .tabBox1 .nav { 
    display:flex; font-size: 1.8em;
    gap:3.33em; 
    font-weight: 500; color: #a0a0a0;
    justify-content: center;
    margin-bottom: 2.22em;
}
#index .section2 .tabBox1 .nav > li { 
    position: relative; padding-left: 1.2em;
}
#index .section2 .tabBox1 .nav > li:before {
    content: ''; position: absolute; left: 0; top: 50%; transform:translateY(-50%);
    width: var(--circle-size); height: var(--circle-size); 
    background: var(--tab-color); border-radius: 50%; opacity: 0;
}
#index .section2 .tabBox1 .nav > li > a { color: inherit; display: block; position: relative; padding: 0.5em 0; transition:var(--transition); }

#index .section2 .tabBox1 .nav > li > a span { position: relative; z-index: 1; color: inherit;}

/* section2 - tab-content */
#index .section2 .tabBox1 .tab-content > li { font-size: min(3.71vw,16px); }

/* active & hover */
#index .section2 .tabBox1 .nav > li > a:hover { color: var(--tab-color); }
#index .section2 .tabBox1 .nav > li.active > a { color: var(--tab-color); }
#index .section2 .tabBox1 .nav > li.active:before { opacity: 1; }

@media (max-width:768px) {
    #index .section2 .titleBox .title-V1 { font-size: 4.5em; }
    #index .section2 .tabBox1 .nav { 
        gap:1em; font-size: 1.6em; margin-bottom: 1em; 
    }
    #index .section2 .tabBox1 .nav > li { padding: 0.5em; padding-left: 1em; }
}





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



/*--------------------------------------------------- 푸터세팅 ----------------------------------------------------------------------------*/
footer {
    --index-font-size-pc: 10;
    --index-font-size-mob: 10;
    --footer-font-color: #000;
    font-size: min( calc( var(--index-font-size-mob) / 450 * 100vw ), calc(var(--index-font-size-pc) * 1px) );
    background: #fff; border-top: 1px solid #dcdcdc; position: relative;
}


footer .contents { display:flex; width: 100%; gap: 30px 0; padding: 40px 0;}
footer .item1 {display: flex; align-items: center; padding-right: 10rem;}
footer .item2 {flex: 0.94;}
footer .item-info {
    --margin-gap: 1.2em;
    display: flex; flex-direction: column; flex: 1;
}
footer .item-info .title-text {margin-bottom: var(--margin-gap);}


footer .item-info > div {line-height: 1.6; font-size: 1.5em; color: var(--footer-font-color); margin-bottom: 5px;}
footer .item-info > div a { color: inherit;}
footer .item-info > .text > span { position: relative; margin-right:10px; font-weight: inherit; color: #707070; padding-left: 6em;}
footer .item-info > .text > span .text-name {color: var(--footer-font-color); position: absolute; top: 0; left: 0;} 
footer .item-info > .text > span:after { content:'|'; position:absolute; right:-8px; top:50%; transform:translateY(-55%);}
footer .item-info > .text > span:last-child:after { display: none;}
footer .item-info > .text_last {margin-bottom: var(--margin-gap);}
footer .item-info > .copy { text-transform: uppercase; font-weight: inherit; color: #707070; font-size: 1.6em;}
footer .item-info > .copy a { color: inherit;}

@media (max-width:1430px) {
    footer .contents {flex-wrap: wrap; justify-content: unset; gap: 20px;}
    footer .item1 {width: 100%;}
}


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

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








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


/* 게시판 및 게시판헤드 등 기타 버튼들 기본컬러 변경 */
.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; }
