/******************************************************************************************************************************************** 
common
*********************************************************************************************************************************************/
* {box-sizing:border-box; margin:0; padding:0; border:0; white-space:nowrap; -webkit-tap-highlight-color: transparent; outline: none;}
html {width:100%; max-width:2560px; min-width:1440px; margin:0 auto; scroll-behavior: smooth; font-size:16px}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Pretendard,Apple SD Gothic Neo,Noto Sans KR,sans-serif;color:#111;background:#fff}
html,body,div,span,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,blockquote,p,address,pre,cite,form,fieldset,table,th,td,legend,label,button {font-family:-apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Pretendard Variable", "Malgun Gothic","맑은 고딕", Roboto, "Noto Sans KR", "Segoe UI", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif; font-size-adjust: 0.5; font-size:16px; letter-spacing:-.05em; font-display: swap;}
body {width:100%; height:100%; margin:0 auto; -webkit-text-size-adjust:none; font-family:"Pretendard Variable"}
a, button {cursor:pointer; background:transparent}
a {display: block; text-decoration:none; white-space: nowrap; color:inherit; height: fit-content; text-decoration:none;color:inherit}
h1,h2,h3,h4,h5,h6 {font-size:100%;font-weight:normal; line-height:1.5}
fieldset,img,abbr,acronym,label {border:0 none}
blockquote:before,blockquote:after,q:before,q:after {content:''}
ol,ul,dl {list-style:none}
hr {display:none}
label,select,input,textarea {vertical-align:middle}
img {display:block; width:100%; height:auto; max-width:100%; display:block}
.container{max-width:var(--maxw); margin:0 auto;padding:0 var(--gap)}
.HIDDEN {display:none !important;}



/******************************************************************************************************************************************** 
폰트
*********************************************************************************************************************************************/
/*G마켓 BOLD*/
@font-face {
  font-family: 'GmarketSansBold';
  src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansBold.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}


/******************************************************************************************************************************************** 
기타 설정
*********************************************************************************************************************************************/
/* 공통 설정 */
:root {
	--color-main1: #0a104a;
	--color-main2: #00abc5;
	--color-main3: #8f8976;
	--color-yellow: #ffff00;
  --pc-header-height: 80px;
  --mo-header-height: 13vw;

  --maxw:60rem;
  --gap:1rem; 
  --border:#eee; 
  --muted:#666; 
  --bg:#fff; 
  --bg2:#fafafa; 
  --pc-gnb-width:60rem;
}	
svg {fill:currentColor; stroke-width:0;}
video {width: 100%; height:auto}

/* 해상도 맞춤 */
/* 모바일, 991px이하 */
@media (max-width: 991px) {
  }  
  
  /* 울트라 와이트 해상도 */
  @media (min-width: 3440px) {
  }  
    
  /* QHD해상도 */
  @media (min-width: 2560px) {
  }
    
  /* WSXGA해상도 */
  @media (max-width: 1681px) {
    header .logo {left:10px !important}
    header .number {right:10px !important;}
  }
  
  /*LAPTOP 해상도*/
  @media (max-width: 1441px) {
  }






/******************************************************************************************************************************************** 
내부 컨텐츠
*********************************************************************************************************************************************/
/* 홈-pc */
.home_pc {position:relative; width:100%; height:calc(100vh - var(--pc-header-height));}
.home_pc .home_bg {position:absolute; width:100%; height:100%; object-fit: cover; left:0;}
.home_pc .home_title {position: absolute; background: rgb(255 255 255 / 80%); min-width: 380px; padding: 50px 30px; border-radius: 20px; text-align:center; cursor:default;
                      gap: .5rem; display: flex; flex-direction: column; top: 30%; left:68%; z-index: 1;} /* ✅텍스트 박스 위치 */
.home_pc .home_title .sub_title {font-size:1.8rem; font-weight: 700; color: var(--color-main1);}
.home_pc .home_title .main_title {font-weight: 700; font-size: 1.75rem; line-height: 1.2;}
.home_pc .home_title .main_title span {font-size: 2.5rem;}
.home_pc .home_title img {width: 200px; margin: 0 auto;}
.home_pc .home_title .txt_box {width:100%; background-color: var(--color-main1); font-weight: 700; color: #fff; font-size: 1.75rem; padding: 15px 20px; border-radius: 8px;}

/* 홈-모바일 */
.home_mo {display:flex; flex-direction: column; width:100%;} 
.home_mo #db_box {background-color: color-mix(in srgb, var(--color-main1) 60%, black 40%); padding: 10px;}
.home_mo #db_box iframe {width:100%;}

/* 모바일 하단 퀵버튼 */
.footer .mo_quick_bottom {display: none;}
.footer .mo_quick_bottom.arni .mo_quick_bottom_btn {display:flex; flex-direction: column; width: fit-content; cursor:pointer; pointer-events: all; margin-left:1.5vw; margin-bottom: 3vw;; gap:1.5vw;}
.footer .mo_quick_bottom.arni .mo_quick_bottom_btn a:hover, .mo_quick_bottom_btn div:hover {transition:0.2s; transform:scale(1.05)}

/*모바일 하단 퀵 배너 */
.footer .mo_quick_bottom_banner {pointer-events: all; cursor:grab}

@media(min-width:991px){
  .home_mo {position:absolute; width: 340px; margin:50px; top:150px; height:70%; overflow:scroll; overflow-x: hidden;
            border-radius: 20px; border: 8px solid #111; background:#eee; box-shadow: rgba(255, 255, 255, 0.8) 0px 5px 15px;
            display:none} /* PC에서 모바일 보이게(숨겨둠) */
  .home_mo::-webkit-scrollbar {width:4px;}
  .home_mo::-webkit-scrollbar-track {background: transparent; margin: 0px; }
  .home_mo::-webkit-scrollbar-thumb {background-color: rgba(0,0,0,0.5); border-radius: 4px;}
}
@media(max-width:990px){
  .home_pc {display:none}
  .home_mo {display:block}
  .home_mo #db_box {padding: 2.5vw;}

  /* 모바일 하단 퀵버튼 */
  .footer .mo_quick_bottom {position:fixed; display: block; bottom:-1px; left:0; width:100%; z-index:1000;}
  .footer .mo_quick_bottom.arni  {pointer-events: none; } 
  .footer .mo_quick_bottom.arni .mo_quick_bottom_btn img {width:20vw; height:auto;}
  .footer .mo_quick_bottom.arni .mo_quick_bottom_Bubble {position:absolute; width:70vw; right:0vw; bottom: 15vw; pointer-events: none; }  /* ✅ 하단 퀵버튼 사이즈 조절 */
}




/******************************************************************************************************************************************** 
common
*********************************************************************************************************************************************/

@media(min-width:991px){
  page-view {min-height: calc(100vh - 30rem);position: relative;display: block;}

}
@media(max-width:990px){
  page-view {position: relative; display: block; min-height:400px; }
    
}



/******************************************************************************************************************************************** 
헤더
*********************************************************************************************************************************************/

/* 💻 PC 991px 이상일 시 */
@media(min-width:991px){
/* 헤더 */
.site-header {position:fixed; top:0; width:100%; background: rgb(0 0 0 / 8%);; height: var(--pc-header-height); transition:0.3s 0.4s; z-index:50}
.site-header:hover {background:#fff;transition:0s 0s}

header .bar{display:flex; align-items:center; justify-content:center; max-width: 1400px; margin: 0 auto; height:var(--pc-header-height)}

/*로고*/
header .logo {position:absolute; left:10rem; width:11rem}
header .logo .header-logo-white {display: none;}
header .logo img {width:100%}

/*gnb*/
header .nav {display:flex; width: 100%; max-width: var(--pc-gnb-width); height: var(--pc-header-height);}
header .nav a {display: flex; align-items: center; justify-content: center; width:100%; text-align: center; height: 100%; }
header .nav a:hover {color: var(--color-main1);}
header .nav a.active {font-weight:700;}

/*대표번호*/
header .number {position:absolute; right:10rem; white-space:nowrap; background-color: var(--color-main1); border-radius: 100px; padding: 6px 22px;}
header .number .feather {width: 22px; height: 22px; margin-top: 3px;}
header .number p {display: flex; align-items: center; gap:5px; font-weight: 600; font-size:1.5rem; color:#fff; }

/* 메가 드롭다운 */
.mega-wrap {position:relative; z-index: 1;}
.mega {position:absolute; left:0;right:0;top:100%; background:#f5f5f5; max-height:0; overflow: hidden; transition:0.5s;}
.site-header:hover .mega {max-height: 1000px; border-bottom:1px solid var(--border); }
.mega .inner {margin:0 auto; display:grid; max-width: var(--pc-gnb-width);}
.mega .col {border-left: 1px solid #ebebeb;}
.mega .col:last-child {border-right: 1px solid #ebebeb;}
.mega .col li {width: 100%;}
.mega .col h4{margin:0 0 8px;font-size:14px;color:#333; display: none;} /*1뎁스 카테고리명 숨김*/
.depth2,.depth3{list-style:none;padding:0;margin:0}
.depth2>li:hover {background-color: var(--color-main1); color:#fff}
.depth2>li a {padding:16px 12px}
.depth3 {margin-top:6px;padding-left:12px;border-left:2px solid #ddd; display:none} /*✅ 3뎁스 숨겨둠*/
.depth3 a{font-size:14px;color:#444}


/*백그라운드*/
.site-header .header-bg {background: #000; height: 100vh; opacity: 0; pointer-events: none; transition: 0.3s;}
.site-header:hover .header-bg {opacity:0.5; }

/*모바일용 숨김*/
.mo_gnb, .mo_quick_top {display: none;}
}

/* 📱 MO 990px 이하일 시 */
@media(max-width:990px){

  /*PC 스타일 초기화 */
  html {min-width:initial;}
  header .pc_quick_top, .site-header .header-bg {display: none !important}

  /* 모바일 헤더 */
  header {background: var(--color-main1);}
  .site-header {position:sticky; top:0; z-index: 99;}
  header .bar {position:relative; height:var(--mo-header-height+5px); display: flex; justify-content: center; align-items: center;}
  .mega-wrap {position:absolute; transform: translateX(-100%); transition: 0.5s;padding:3vw 3vw 80vw 3vw; transition:.3s ease; width:100%; height:100vh; overflow-y: auto; background: #383A38; scrollbar-width: none; z-index: 1;}
  .open  .mega-wrap  {transform: translateX(0%)}

  .nav{display:none}
  .mega .inner{display:block}
  .mega .col {border-bottom: 1px solid #555}
  .mega .col a {position:relative; padding:4vw 8vw; color:#C8B9AF; font-size: 3.8vw;}
  .mega .col a:hover {background: rgb(0 0 0 / 10%);}
  .mega .col h4 > a:after {content: ""; position: absolute; right: 6vw; top:5vw; width: 1.8vw; height: 1.8vw; border-top: 0.6vw solid #C8B9AF; border-right: 0.6vw solid #C8B9AF; transform: rotate(135deg); transition:0.3s}
  .mega .col.mo-open h4 a:after {transform: rotate(-45deg);}
  
  /*로고*/
  header .logo {width:32vw; height:auto; margin-right:8vw;}
  header .logo .header-logo-color {display: none;}
  header .logo img {width:100%}
  header .logo .logo_color {display:none}
  header .number {position: absolute; display:flex; align-items: center; width:24vw; right: 2vw !important; transition:0.2s}
  header .number:hover {transform:scale(1.05)}
  header .number img {width: 100%;}

  /*뎁스*/
  header .depth2 {background: rgb(0 0 0 / 20%); display: none;}
  header .depth3 {display: none;}

  /*모바일 depth2 오픈*/
  header .col.mo-open .depth2 {display:block;}

  /*모바일 메뉴버튼*/
  header .menu_btn {position:absolute; display:block; top:50%; transform:translateY(-50%);left:4vw; width: 28px; height: 22px; transition:0.2s}
  header .menu_btn:hover {transform: translateY(-50%) scale(1.2);}
  header .menu_btn div {position: absolute; left: 0; width: 100%; height: 2px; background-color: #fff; border-radius: 4px;}
  header .menu_btn div:nth-child(1) { top: 0; transform-origin: top left; transition: transform 0.2s ease; }
  header .menu_btn div:nth-child(2) { top: 10px; }
  header .menu_btn div:nth-child(3) { bottom: 0; transform-origin: bottom left; transition: transform 0.2s ease; }
  header.open .menu_btn div {position: absolute; }
  header.open .menu_btn div:nth-child(1) { transform: rotate(45deg); }
  header.open .menu_btn div:nth-child(2) { opacity: 0; }
  header.open .menu_btn div:nth-child(3) { transform: rotate(-45deg); }

  /*모바일용 gnb*/
  .mo_gnb li {position: relative; display:flex; width: 100%; }
  .mo_gnb li a, .mo_gnb li span {text-align:center !important; color:#fff; font-size:4vw; font-weight:600; padding: 4vw 0; width:100%; }
  .m_number {margin-top:60px; background: #4B5055;}
  .m_registration {background: var(--color-main1);}
  #menu_btn_close {top: auto; transform:none; left: inherit; height:auto; background:#222; margin-top: 10px; border-radius: 10px; cursor:pointer;}

  /*MO 퀵상단*/
  .mo_quick_top {display: block; top:0; width: 100%; background-color: #ffe303; cursor:pointer}
  .mo_quick_top .mo-quick-top-img {display: flex; align-items: center;}
  .mo_quick_top .mo-quick-top-img img {width:100%}
}


/******************************************************************************************************************************************** 
서브 페이지
*********************************************************************************************************************************************/
/*서브 페이지 상단 */
.subtop {position:relative; display: flex; flex-direction: column; justify-content: center; width:100%; height:30rem; text-align:center; overflow:hidden} 
.subtop-wrap {display: flex; flex-direction: column; gap: 1rem; cursor: default; z-index: 1;}
.subtop-wrap .subtop-crumb {display: flex; justify-content: center; gap: 10px; opacity: 0.5;}
.subtop h1 {color:#333; font-size:3.5rem; font-weight:bold; letter-spacing: 50px; animation: spacing-change 1.5s forwards; animation-delay:0.4s; }
.subtop p {font-size:1.25rem; color:#666; }
.subtop-img { position:absolute; animation: sub_top 1.5s 0s both; animation-delay:0.5s; background:url(/img/sub-page/nav-bg.jpg); width:100%; height:100%; }


@keyframes sub_top {
  0% {transform: scale(1.1);}
  100% {}

}

@keyframes spacing-change {
  from {letter-spacing: 40px;}
  to {letter-spacing: 5px;}
}

/* 서브페이지 탭버튼 */
.tab {display:flex; flex-wrap: wrap; justify-content:center; width:100%; height:44px;}
.tab .tab-btn {display:flex; align-items: center; justify-content: center;width:50%; max-width:200px; height:100%; border:1px solid #dbdbdb; padding:8px 12px; background:#fff; transition:0.2s; }
.tab .tab-btn:hover {background: #f5f5f5;}
.tab .tab-btn:nth-child(2),
.tab .tab-btn:nth-child(3) {border-left:0;}
.tab .tab-btn:hover {font-weight: bold;}
.tab .tab-btn.on {background:var(--color-main1); pointer-events: none;}
.tab .tab-btn a {display:flex; align-items:center; justify-content:center; height:100%; }
.tab .tab-btn.on a {color:#fff;}

.subnav-wrap {margin: 3rem 0;}
.tab-btn.active,.tab-btn[aria-current="page"] {background:var(--color-main1) !important; color:#fff}

/*3뎁스*/
.subnav--depth3 .tab {margin-top: 10px;}

/*서브페이지 */
.contents_wrap {display:flex; flex-wrap:wrap; width:100%; max-width:1000px; margin:0 auto; }
.contents_wrap .img_box {display: flex; flex-direction: column; width:100%; height:auto; margin:0 auto;}
.contents_wrap .img_box img {width:100%; height:auto;}
.contents_wrap .img_box h3 {width:100%; font-size:2rem; margin-bottom:10px;}
.contents_wrap .img_box ul,
.contents_wrap .img_box ul li {width:100%; height:auto; display:flex; flex-wrap:wrap; align-content:flex-start;}
.contents_wrap .img_box h2 {font-size: 1.5rem; font-weight: bold; padding: 3%; text-align: center; color: #3a3a3a; background-color: #ebebeb; margin-top: 5px; margin-bottom: 5px;}

/* 언론보도 */
.contents_wrap .news-board .title {justify-content:flex-start; font-size:18px; word-break: keep-all; line-height:1.2em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.contents_wrap .news-board li {position:relative; border-bottom:1px solid #dbdbdb; padding:18px; cursor:pointer}
.contents_wrap .news-board li::after {content:''; position:absolute; right:30px; display:block; width:8px; height:8px; border-right: 1px solid #333; border-top: 1px solid #333; top: 50%; transform: translateY(-50%) rotate(135deg); transition:.3s; }
.contents_wrap .news-board li.on::after  {transform:translateY(-50%) rotate(315deg);}
.contents_wrap .news-board li:first-child {border-top:1px solid #dbdbdb;}
.contents_wrap .news-board li .acd_body {display:inline-block; width:100%; height:0; overflow:hidden; transition:.3s;}
.contents_wrap .news-board li .acd_body:hover {opacity: 0.5;}
.contents_wrap .news-board li.on .acd_body {height:fit-content; padding:22px 10px 0px; }
.contents_wrap .news-board li .acd_body a {font-size:16px; font-weight:400; color:#555; line-height:1em;}


/* 유튜브 영상 */
.contents_wrap .video-container {position: relative; width: 100%; max-width: 1000px;  aspect-ratio: 16 / 9; }
.contents_wrap .video-container iframe {position: relative; width: 100%; height: 100%; top: 0; left: 0; }

/* 관심고객 */
.contents_wrap .db_box {position: relative; width: 100%; max-width:600px; margin:0 auto; padding-bottom: 100%; height: 0; overflow: hidden;}
.contents_wrap .db_box iframe {position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;}


/* 모바일 : 990px 이하일 시 */
@media(max-width:990px){
  .subtop {margin-bottom:0;  height:50vw;}
  .subtop-wrap {gap:0.5rem}
  .subtop h1 {font-size:8vw; color: #353535; padding-top:0}
  .subtop p {font-size: 3.2vw; color:#555}
  .subtop-img {background-position: right; background-size: cover;}

  /* 언론보도 */
  .contents_wrap .news-board .title {width:90%;}

  /* 관심고객 */
  .contents_wrap .db_box {position: relative; width: 100%; padding-bottom: 150%; height: 0; overflow: hidden;}
}


/******************************************************************************************************************************************** 
Footer
*********************************************************************************************************************************************/
.footer {width:100%; background:#0a104a; cursor:default}
.footer .ft_wrap {display:flex; width:1400px; margin:0 auto; padding:3rem 0 4rem; color:#fff;}
.footer .ft_box1 {display:flex; flex-direction: column; width: 70%;}
.footer .ft_box1 .logo-white {width:9rem; margin-bottom: 1.25rem;}
.footer .ft_box1 .logo-color {display: none;}
.footer .ft_box1 .title {font-size:1.75rem; font-weight:700; padding-bottom:20px;}
.footer .ft_box1 .copyright .title {font-size:revert; font-weight:revert}
.footer .ft_box1 table  {font-size: 1rem; font-weight: 500; line-height: 1.75; margin-bottom:1.25rem}
.footer .ft_box1 tr td:nth-child(1) {width:120px; font-weight:bold;}
.footer .ft_box1 p {font-size:0.75rem; font-weight:300; line-height:1.75; opacity:0.8}

.footer .ft_box2 {display:flex; justify-content: space-between; align-items: flex-end; flex-direction: column; padding: 10px 0 0; width: 30%; height:100%;}
.footer .ft_box2 .ft_number {display: flex; align-items: center; font-size: 24px}
.footer .ft_box2 .ft_number a b {font-size:1.8rem; font-family: 'GmarketSansBold';}
.footer .ft_box2 .info {cursor:pointer}
  
.footer .company-link {position:relative; display:flex; align-items:center; border:1px solid #dbdbdb; background:#fff; width:fit-content; padding-left:40px;
                      margin:20px 0;margin: 0 auto; cursor:pointer; border-radius: 50px; display:none}  /* 숨겨둠 */
.footer .company-link img {padding: 0 0.8rem;}
.footer .company-link p {font-weight:500; font-size:16px; padding-right:5px; letter-spacing: 1px;}
.footer .company-link b {font-size:1.5rem; margin:0 1.5rem 0 0;}
.footer .company-link_number {display:flex; align-items: center; border-radius: 100px; color:#fff; padding: 5px 38px; margin-left:1rem;
                         background:linear-gradient(127deg, rgb(83 99 114) 0%, rgba(34, 43, 52, 1) 100%)}

/*모바일 해상도*/
@media(max-width:990px) {
  .footer {padding-bottom:48vw; cursor:default; background: #f2f2f2;}
  .footer .ft_wrap {flex-direction: column-reverse; width: initial; padding: 0; color:#333;}
  .footer .ft_box1 {width: initial; padding:3vw 0 0 3vw}
  .footer .ft_box1 .logo-color {width:12rem; display:block}
  .footer .ft_box1 .logo-white {display: none;}
  .footer .ft_box1 .title {font-size:5vw; padding-bottom:1rem}
  .footer .ft_box1 table {line-height: 1.5; margin: 1rem 0;}
  .footer .ft_box1 table tr td {font-size:2.8vw}
  .footer .ft_box1 table tr td:nth-child(1) {width:16vw}
  .footer .ft_box1 p {font-size: clamp(12px, 2vw, 14px); text-wrap: auto; white-space: normal; word-break: auto-phrase;}
  .footer .ft_box1 .copyright {padding-top:0; padding-bottom:20px}
  .footer .ft_box2 {width:initial; align-items: initial; padding: 8vw 2.5vw 2.5vw; border-bottom: 1px solid #cdcdcd; flex-direction: row;}
  .footer .ft_box2 .ft_number {font-weight: 600; line-height:1}
  .footer .ft_box2 #scrollTopBtn {width: 10vw; height: 10vw; background:var(--color-main1); border-radius: 100px;}
  .footer .ft_box2 #scrollTopBtn .feather {width: 22px; height: 22px; color: #fff; fill: transparent; stroke-width:3px; padding-top:0.5vw}
}


/* PC, MO 숨기기 */
@media(min-width:991px){
  .pc {display:block}
  .mo {display: none;}
}
@media(max-width:990px){
  .pc {display:none}
  .mo {display: block;}
}  