@charset "utf-8";

/* background fixed 사용시 버그 대응용 * 한 번 스크롤로 페이지 전체 넘김을 할 때는 html스타일에서 height속성 제거하기 */
/* html {overflow: hidden; height: 100%;} */
/* body {overflow: auto; height: 100%;} */

/* ************************ 셋팅 ************************ */
a {text-decoration:none !important; outline:none !important; selector-dummy:expression(this.hideFocus=true) !important; transition:all .3s;color:inherit;}
a:link {text-decoration:none; color:inherit;}
a:visited {text-decoration:none; color:inherit;}
a:hover {text-decoration:none; color:inherit;}
a:active {text-decoration:none; color:inherit;}
			
body {font-family: 'NotoSansJP', sans-serif; font-size:16px; font-weight:400; line-height:1.6; color:#666; word-break:keep-all; overflow-x:hidden;}
.hidden {position:absolute; left:-99999px;}
:root {
	--navy:#0d258c;
	--green:#007853;
	--blue:#6074f1;
	--border1:#e5e5e5;
}

.c_navy {color:var(--navy) !important;}
.c_blue {color:var(--blue) !important;}
.c_green {color:var(--green) !important;}
.c_red {color:#e20000 !important;}


/* 폼 */

:focus {outline:0;}
/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* Firefox */
input[type=number] {-moz-appearance: textfield;}

input[type="radio" i] {margin:0 5px 0 0;}

select {
	 -webkit-appearance:none; /* 크롬 화살표 없애기 */
    -moz-appearance:none; /* 파이어폭스 화살표 없애기 */
    appearance:none; /* 화살표 없애기 */
	height:50px; line-height:48px;
	padding:0 60px 0 12px !important; border:1px solid var(--border1); cursor:pointer; background:#fff url(../images/common/i-arrowDown.png)calc(100% - 20px) 50% /auto no-repeat;
	min-width:200px; max-width:100%;
}
textarea {padding:10px 12px; line-height:1.4; height:50px; border:1px solid #e5e5e5;resize:none; width:100%;}
input[type=text],input[type=password],input[type=number] {padding:0 12px; height:50px; line-height:48px; border:1px solid var(--border1);}
input[readonly] {background-color:#f1f1f1; border:1px solid transparent;}
button {border:0; cursor:pointer; background:transparent; padding:0;}

/* 파일박스 */
.filebox {display:flex; gap:0 !important;}
.filebox input[type="file"] {
    position: absolute;
    width: 0;
    height: 0;
    padding: 0;
    overflow: hidden;
    border: 0; visibility:hidden;
}
.filebox label {
    display: inline-block;
    padding:0 20px; border-radius:5px;
    color: #fff; text-align:center;
    vertical-align: middle;
    background-color:var(--c_purple);
    cursor: pointer; width:100px;
    height: 40px; line-height:40px;
    margin-left: 5px;
}
.filebox .upload-name {
    display: inline-block;
    height: 40px; border-radius:5px;
    padding: 0 10px;
    vertical-align: middle;
    border: 1px solid var(--border1);
	width:70%;
    color: #000;
}

/* radioBox */
.radioBox span {margin-right:20px; display:inline-block;}
.radioBox input[type="radio"] {position:absolute; left:-99999px;}
.radioBox input[type="radio"]+label {padding:0 0 0 20px; position:relative; vertical-align:middle; cursor:pointer;}
.radioBox input[type="radio"]+label:before {width:16px; height:16px; border:2px solid var(--c_purple); border-radius:50%; content:''; display:block; position:absolute; left:0; top:50%; transform:translateY(-50%);}
.radioBox input[type="radio"]:checked+label:after {width:8px; height:8px; background:var(--c_purple); border-radius:50%; content:''; display:block; position:absolute; left:4px; top:50%; transform:translateY(-50%);}


/* ************************ 데스크탑 (1025~) ************************ */
@media screen and (min-width: 1025px), print {

	/* 공통 */
	.mobile {display:none !important;}
	.w1720 {width:1720px; margin:0 auto; max-width:100%;}
	.w1400 {width:1400px; margin:0 auto; max-width:100%;}
	

	/* 헤더 */
	header {z-index:999; position:absolute; width:100%; height:100px;}
	header .head {position:absolute; left:50%; top:0; transform:translateX(-50%); z-index:9;}
	header .head h1 {position:absolute; left:0; top:0;}
	header .head h1 a {height:100px; display:flex; align-items:center;}
	header .head h1 img {}
	
	header aside {position:absolute; right:0; top:35px;}
	header aside.lang>a {color:#fff; font-weight:700; padding:13px 15px 13px 38px; font-size:11px; border-radius:3rem; background:var(--navy) url(../images/common/i-lang.png)no-repeat left 10px center;}
	header aside.lang ul {position:absolute; top:50px; left:50%; transform:translate(-50%); width:120%; text-align:center; display:none; background-color:#fff; border-radius:20px; padding:12px 0; box-shadow:0px 1px 10px rgba(0,0,0,.2);}
	header aside.lang ul li {}
	header aside.lang ul li a {display:block; padding:5px 0; width:100%; color:#000; font-size:11px; font-weight:500; transition:0.1s; opacity:0.7;}
	header aside.lang ul li a:hover {color:#0d258c; opacity:1;}
	
	.headerH {height:100px;}

	/* gnb */
	nav.pc {height:100px; position:relative; margin:0 auto; overflow:hidden; background:#fff;}
	nav.pc .gnb {display:flex; justify-content:flex-end; padding-right:260px;}
	nav.pc .gnb>ul {height:100px; display:flex; gap:5vw;}
	nav.pc .gnb>ul>li {position:relative;}
	nav.pc .gnb>ul>li>a {display:block; height:100px; padding:35px 0; color:#000; font-weight:500; font-size:20px; transform:rotate(-0.03deg);}
	nav.pc .gnb>ul>li.on>a,
	nav.pc .gnb>ul>li>a:hover {color:#384cc9;}
	nav.pc .gnb>ul>li>ul {padding:35px 0 30px; position:absolute; gap:10px; display:flex; flex-direction:column;}
	nav.pc .gnb>ul>li>ul>li {}
	nav.pc .gnb>ul>li>ul>li a {display:inline-block; color:#333; white-space:nowrap; position:relative; transform:rotate(-0.03deg); transition:0.2s;}
	nav.pc .gnb>ul>li>ul>li a:after {content:""; display:block; width:0%; height:1px; position:absolute; bottom:0px; transition:0.3s;}
	nav.pc .gnb>ul>li>ul>li a:hover,
	nav.pc .gnb>ul>li>ul>li.on a {color:#384cc9; border-color:inherit; font-weight:500;}
	nav.pc .gnb>ul>li>ul>li a:hover:after, nav.pc .gnb>ul>li>ul>li.on a:after {background:#384cc9; width:100%;}
	nav.pc .navbg {width:100%; position:absolute; left:0; top:0;}
	nav.pc .navbg .dep1 {height:101px; border-bottom:1px solid var(--border1);}
	nav.pc .navbg .dep2 {}
	
	/*서브메뉴*/
	.lnb {position:relative;}
	.lnbBg {height:270px; color:#fff; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center;}
	.lnb.intro .lnbBg {background:url(../images/common/subBg01.webp)no-repeat center/cover;}
	.lnb.business .lnbBg {background:url(../images/common/subBg02.jpg)no-repeat center/cover;}
	.lnb.product .lnbBg {background:url(../images/common/subBg03.jpg)no-repeat center/cover;}
	.lnb.management .lnbBg {background:url(../images/common/subBg04.jpg)no-repeat center/cover;}
	.lnb.recruitment .lnbBg {background:url(../images/common/subBg05.jpg)no-repeat center/cover;}
	.lnb.customer .lnbBg {background:url(../images/common/subBg06.jpg)no-repeat center/cover;}
	.lnbBg h2 {font-family:'NotoSansJP'; font-size:48px; font-weight:700; position:relative; margin:0 0 15px; transform:rotate(.03deg); line-height:1.2;}
	.lnbBg p {font-family:'NotoSansJP'; font-size:18px;}
	
	.lnbMenu {left:0; top:270px; width:100%; height:70px; border-bottom:1px solid #eee; position:absolute; background:#fff; z-index:5;}
	.lnbMenu.fixOn {top:0; position:fixed;}
	.lnb .lnb-wrap {position:relative; max-width:1400px; margin:0 auto; height:100%; background: #fff; z-index: 2;}
	.lnb .lnb-wrap>* {float:left;}
	.lnb .lnb-wrap:after {clear:both; content:''; display:block;}
	.lnb .lnb-wrap a {color:#000;}
	.lnb .lnb-wrap .home {position:relative; display:block; width:70px; height:100%; font-weight:300; background:url(../images/common/i-home-lnb.png)center top 25px no-repeat;}
	.lnb .lnb-wrap .home:before {display:block; position:absolute; content:''; width:1px; height:20px; background-color:#ddd; top:25px; right:0;}
	.lnb .lnb-wrap .lnb-depth {position:relative; width:315px; padding:0 30px;}
	.lnb .lnb-wrap .lnb-depth .onmenu {position:relative; display:block; font-size:18px; font-weight:500; color:#222; cursor:pointer; line-height:70px; background:url(../images/common/btn-view.png)100% center no-repeat; transform:rotate(.3deg);}
	.lnb .lnb-wrap .lnb-depth .onmenu:before {display:block; position:absolute; content:''; width:1px; height:20px; background-color:#ddd; top:25px; right:-30px;}
	.lnb .lnb-wrap .lnb-depth>ul {display:none; position:absolute; left:0; top:70px; width:100%; background:#fff; border:1px solid #e5e5e5; border-top:none; z-index:999; box-shadow:3px 3px 3px rgba(0, 0, 0, .05)}
	.lnb .lnb-wrap .lnb-depth>ul li {background:#fff; border-bottom:1px solid #f1f1f1; transition:0.2s;}
	.lnb .lnb-wrap .lnb-depth>ul li:last-child {border-bottom:none;}
	.lnb .lnb-wrap .lnb-depth>ul li:hover {background:#f0f0f0;}
	.lnb .lnb-wrap .lnb-depth>ul li a {display:block; padding:10px 20px; transition:0s;}
	/* .lnb .lnb-wrap .lnb-depth>ul li:hover a {background:#f0f0f0;} */
	.lnb .lnb-wrap .lnb-depth>ul li.on a {background:#384cc9; color:#fff;}
	.lnb .lnb-wrap .lnb-depth.on>ul {display:block;}
	.lnb #gotop {position:absolute; right:0; top:0; display:block; line-height:70px; width:70px; height:100%; font-size:12px !important; color:#888; background:url(../images/common/i-gotop.png) no-repeat 60% 50%/10px;}
	
	.lnbTit {padding:190px 0 70px; display:flex; align-items:end; justify-content:space-between;}
	.lnbTit h3 {font-size:32px; color:#000; font-weight:700; font-family:'NotoSansJP'; border-left:5px solid #dee0ec; padding-left:15px; transform: rotate(.03deg);}
	
	
	
	
	/*컨텐츠*/
	.contents {padding:0 0 100px; display:block !important;}
	.contents-wrap {}
	
	/* 하단 */
	footer {padding:38px 0 35px; background:#fff; border-top:1px solid #e5e7f0;}
	footer .footerWrap {font-size:14px; display:flex; position:relative;}
	footer .footerWrap .f_logo {padding-right:20px; transform:translateY(5px);}
	footer .footerWrap .f_logo img {width:auto;}
	footer .footerWrap .f_con {}
	footer .footerWrap .f_con p.companyName {font-size:16px; color:#000;}
	footer .footerWrap .f_con p {line-height:1.8;}
	footer .footerWrap .f_con p span {padding-right:15px; display:inline-block;}
	footer .footerWrap .f_con p.copy {padding:0px 0 0;}
	footer .footerWrap .right {position:absolute; right:0; top:28px;}
	footer .footerWrap .right a.indi_info {color:#000; font-weight:500;}

	
}


/* ************************ 테블릿 (~1024) ************************ */
@media screen and (max-width: 1024px) {
	
	.pc {display:none !important;}
	
	/*공통*/
	
	
	/*헤더*/
	header {z-index:999; width:100%; left:0; top:0;height:60px; position:absolute;}
	header .head {z-index:100; position:absolute; left:0; top:0; width:100%; height:60px; overflow:hidden; line-height:1; background-color:#fff; box-shadow:0 3px 3px 3px rgba(0,0,0,.1);}
	header .head .gnbView {display:block; position:absolute; display:table; right:0; top:0; width:60px; height:60px; text-align:center; background:url(../images/common/i-allView2.png) no-repeat 50%; background-size:35%;}
	header .head h1 {display:block; margin:0 !important;}
	header .head h1 a {display:inline-block; padding:15px 20px; text-align:center;}
	header .head h1 a img {display:block; height:30px; font-size:0; line-height:0;}
	header .head .lang {z-index:2; position:absolute; top:0; right:60px; display:Block;line-height:62px; font-size:13px; width:40px; text-align:right; font-weight:400;}
	header .head .lang img {display:none;}

	.headerH {height:60px;}
	
	/*gnb*/
	header nav.mobile {z-index:9999; position:fixed; visibility:hidden; left:0; top:0; width:80%; overflow:hidden; background-color:#fff;}
	header nav.mobile .closeWrap {z-index:1; position:relative; height:60px; background-color:#fff; color:#000; box-shadow:0 3px 5px rgba(0,0,0,.1);}
	header nav.mobile .closeWrap .gnbClose {display:block; float:left; width:60px; height:100%; background:url(../images/common/icon_x2.png) 50% 50% no-repeat; background-size:30%; border-left:1px solid #e0e0e0;}
	header nav.mobile .closeWrap aside {display:flex; float:right; height:100%; align-items:center; gap:15px;}
	header nav.mobile .closeWrap aside a {position:relative;}
	header nav.mobile .closeWrap aside a.on:after {content:""; display:block; width:100%; height:2px; background:var(--navy); position:absolute; bottom:-2px;}
	header nav.mobile .closeWrap aside a.on {color:var(--navy); font-weight:700;}	
	.gnbCover {z-index:9998; position:fixed; left:0; top:0; display:none; width:100%; height:100%; background:rgba(0,0,0,.5);}
	header nav.mobile .closeWrap a.home {width:60px; height:60px; display:inline-block;border-right:1px solid #e0e0e0; background-size: 22px !important; line-height:60px; text-align:center; font-size:13px; color:#999; background: url(../images/common/i_home.png) no-repeat 50%;}

	header nav.mobile .gnb {position:relative; width:100%; height:100%; overflow-y:auto; text-align:left !important;}
	header nav.mobile .gnb * {width:100% !important;}
	header nav.mobile .gnb .home {display:block; width:100%; background-color:#f0f0f0; padding:12px 20px; border-bottom:1px solid #333;}
	header nav.mobile .gnb>ul {position:absolute; top:0; right:0;}
	header nav.mobile .gnb>ul>li {clear:both; position:relative;}
	header nav.mobile .gnb>ul>li>a {display:block; padding:15px 20px; font-size:16px; color:#000; border-bottom:1px solid #ddd; background:#fff; letter-spacing:-.5px; font-weight:500; transition:all 0.3s; transform:rotate(-0.03deg);}
	header nav.mobile .gnb>ul>li>a:hover {color:#000;}
	header nav.mobile .gnb>ul>li.on>a {color:#384cc9; background:#fff; border-bottom:2px solid #384cc9;}
	header nav.mobile .gnb>ul>li ul{border-bottom:5px solid #eee}
	header nav.mobile .gnb>ul>li ul>li {position:relative;}
	header nav.mobile .gnb>ul>li ul>li>a {display:block; padding:13px 20px 13px 20px; font-size:15px; color:#555; letter-spacing:-.5px; border-top:1px dotted #ddd; font-weight:400; transform:rotate(-0.03deg);}
	header nav.mobile .gnb>ul>li ul>li:first-child>a {border:0;}
	header nav.mobile .gnb>ul>li ul>li>ul>li.on a {color:#384cc9;}
	header nav.mobile .gnb>ul>li ul>li:last-child:after {display:block; height:7px; background:#eee; box-shadow: 3px 3px 3px #ddd inset;}
	header nav.mobile .gnb>ul>li ul>li>a:hover {color:#000; background-color:#f5f5f5;}
	header nav.mobile .gnb>ul>li ul>li.on>a {color:#384cc9;}
	
	/*서브메뉴*/
	.lnb {position:relative;}
	.lnbBg {height:230px; color:#fff; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center;}
	.lnb.intro .lnbBg {background:url(../images/common/subBg01.webp)no-repeat center/cover;}
	.lnb.business .lnbBg {background:url(../images/common/subBg02.jpg)no-repeat center/cover;}
	.lnb.product .lnbBg {background:url(../images/common/subBg03.jpg)no-repeat center/cover;}
	.lnb.management .lnbBg {background:url(../images/common/subBg04.jpg)no-repeat center/cover;}
	.lnb.recruitment .lnbBg {background:url(../images/common/subBg05.jpg)no-repeat center/cover;}
	.lnb.customer .lnbBg {background:url(../images/common/subBg06.jpg)no-repeat center/cover;}\
	
	.lnbBg h2 {font-family:'NotoSansJP'; font-size:36px; font-weight:700; position:relative; padding:0 0 15px;}
	.lnbBg p {font-family:'NotoSansJP'; font-size:17px;}
	
	.lnbTit {padding:100px 20px 50px; display:flex;}
	.lnbTit h3 {font-size:24px; color:#000; font-weight:700; font-family:'NotoSansJP'; border-left:5px solid #dee0ec; padding-left:10px;}
	
	
	/*컨텐츠*/
	.contents {padding:0px 20px 80px; display:block !important;}
	
	
	/* 하단 */
	footer {padding:38px 20px 55px; background:#fff; border-top:1px solid #e5e7f0;}
	footer .footerWrap {font-size:14px; display:flex; position:relative;}
	footer .footerWrap .f_logo {padding-right:20px; transform:translateY(5px);}
	footer .footerWrap .f_logo img {width:auto;}
	footer .footerWrap .f_con {}
	footer .footerWrap .f_con p.companyName {font-size:16px; color:#000;}
	footer .footerWrap .f_con p {line-height:1.8;}
	footer .footerWrap .f_con p span {padding-right:15px; display:inline-block;}
	footer .footerWrap .f_con p.copy {padding:0px 0 0;}
	footer .footerWrap .right {position:absolute; left:115px; bottom:-25px;}
	footer .footerWrap .right a.indi_info {color:#000; font-weight:500;}
	
		
	
}


/* ************************ 모바일 (0~767) ************************ */
@media screen and (max-width: 767px) {
	body {font-size:15px; line-height:1.6;}
	
	/*서브메뉴*/	
	.lnb {}
	.lnbBg {padding:0 20px; height:150px;}
	.lnbBg h2 {font-size:24px; padding:0 0 10px;}
	.lnbBg p {font-size:16px;}
	
	.lnbTit {padding:40px 20px 35px;}
	.lnbTit h3 {font-size:20px;}
	
	/*컨텐츠*/
	.contents {padding:0px 20px 60px;}
	
	/* 하단 */
	footer .footerWrap {flex-direction:column; align-items:center; text-align:center; gap:10px;}
	footer .footerWrap .f_logo {padding-right:0; transform:translateY(0);}
	footer .footerWrap .f_con p span {padding-right:0px;}
	footer .footerWrap .right {position:absolute; left:50%; transform:translateX(-50%); bottom:-25px;}
	
	
	
	

}
