@charset "UTF-8";

#header{
	width:100%;
	height:100px;
	position:fixed;
	top:0;
	left:0;
	z-index:1000000;
	transition:0.3s;
}

#header.on{
	background-color:var(--white);
}

#header .large_wrapper{
	display:flex;
	align-items:center;
	justify-content:space-between;
	height:100%;
}

#header .large_wrapper .logo a{
	display:flex;
	width:183px;
}

#header .large_wrapper .logo a img{
	width:100%;
	height:auto;
}

#header .large_wrapper .logo a .basic_logo{
	display:none;
}

#header.on .large_wrapper .logo a .basic_logo{
	display:block;
}

#header.on .large_wrapper .logo a .w_logo{
	display:none;
}

#header .headerMenu{
	display:flex;
	align-items:center;
	gap:50px;
	height:100%;
}

#header .headerMenu nav{
	height:100%;
}

#header .headerMenu nav .pcMenu{
	display:flex;
	align-items:center;
	/* gap:50px; */
	height:100%;
}

#header .headerMenu nav .pcMenu .gnb_item{
	height:100%;
}

#header .headerMenu nav .pcMenu .gnb_item .depth01{
	font-size:1.125rem;
	color:var(--white);
	height:100%;
	padding:0 25px;
	display:flex;
	align-items:center;
	position:relative;
}

#header.on .headerMenu nav .pcMenu .gnb_item .depth01{
	color:var(--black01);
}

#header .headerMenu nav .pcMenu .gnb_item .depth01:after{
	content:'';
	position:absolute;
	height:2px;
	width:0;
	bottom:0;
	left:0;
	transition:1s;
}

#header .headerMenu nav .pcMenu .gnb_item .depth01.hover{
	font-weight:700;
	color:var(--point-color);
}

#header .headerMenu nav .pcMenu .gnb_item .depth01.hover:after{
	width:100%;
	background-color:var(--point-color);
}

#header .headerMenu nav .pcMenu .gnb_item .subMenu{
	position:absolute;
	top:100%;
	left:0;
	width:100%;
	align-items:center;
	background-color:var(--gray01);
	box-sizing:border-box;
	display:none;
	border-top:1px solid #edf1f4;
}

#header .headerMenu nav .pcMenu .gnb_item .subMenu .subMenulist{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:30px;
}

#header .headerMenu nav .pcMenu .gnb_item .subMenu .subMenulist li .depth02{
	padding:20px 20px;
	font-size:1rem;
	color:var(--black01);
	display:flex;
}

#header .headerMenu nav .pcMenu .gnb_item .subMenu .subMenulist li .depth02:hover{
	color:var(--point-color);
	font-weight:700;
}

#header .headerMenu .lang_Menu{
	padding:7px 20px;
	border-radius:20px;
	border:1px solid var(--white);
	display:flex;
	align-items:center;
}

#header.on .headerMenu .lang_Menu{
	border:1px solid var(--black01);
}

#header .headerMenu .lang_Menu .lang_img{
	border-right:1px solid var(--white);
	padding-right:20px;
	margin-right:20px;
	position:relative;
	display:flex;
	cursor:pointer;
}

#header.on .headerMenu .lang_Menu .lang_img{
	border-right:1px solid var(--black01);
}

#header .headerMenu .lang_Menu .lang_img figure img{
	filter:invert(100%) sepia(99%) saturate(2%) hue-rotate(111deg) brightness(104%) contrast(100%);
}

#header.on .headerMenu .lang_Menu .lang_img figure img{
	filter:none;
}

#header .headerMenu .lang_Menu .lang_img .lang{
	position:absolute;
	display:none;
	flex-direction:column;
	border-radius:5px;
	/* border:1px solid var(--white); */
	top:calc(100% + 10px);
	background-color:var(--white);
	transform:translateX(-30%);
	cursor:pointer;
	box-shadow:0 0 10px rgba(0,0,0,.2);
}

#header .headerMenu .lang_Menu .lang_img.on .lang{
	display:flex;
}

#header .headerMenu .lang_Menu .lang_img .lang li a{
	font-size:0.875rem;
	color:var(--gray02);
	padding:10px 15px;
	display:block;
}

#header .headerMenu .lang_Menu .lang_img .lang li a:hover{
	color:var(--point-color);
	font-weight:700;
}

#header .headerMenu .lang_Menu .lang_img .lang li:first-child a{
	border-bottom:1px solid var(--gray01);
}

/* #header.on .headerMenu .lang_Menu .lang_img .lang li a{
	color:var(--black01);
} */

/* #header.on .headerMenu .lang_Menu .lang_img .lang li:first-child a{
	border-bottom:1px solid var(--black01);
} */

/* #header .headerMenu .lang_Menu .allMenu .menu{
	font-size:1.125rem;
	color:var(--white);
}

#header.on .headerMenu .lang_Menu .allMenu .menu{
	color:var(--black01);
}

#header .headerMenu .lang_Menu .allMenu .ham{
	display:none;
} */

#header .headerMenu .lang_Menu .allMenu .ham{
	display:flex;
	gap:5px;
	width:28px;
	flex-direction:column;
	cursor:pointer;
}

#header .headerMenu .lang_Menu .allMenu .ham span{
	width:100%;
	height:2px;
	background-color:var(--white);
}

#header.on .headerMenu .lang_Menu .allMenu .ham span{
	background-color:var(--black01);
}

@media screen and (max-width:1400px){
	#header{
		height:90px;
	}

	#header .large_wrapper .logo a{
		width:160px;
	}
}

@media screen and (max-width:1200px){
	#header .headerMenu nav{
		display:none;
	}

	#header{
		height:80px;
	}

	#header .large_wrapper .logo a {
        width: 140px;
    }

	#header .headerMenu .lang_Menu .lang_img{
		display:none;
	}

	#header.on .headerMenu .lang_Menu{
		border:0;
	}

	#header .headerMenu .lang_Menu{
		padding:0;
		border-radius:0;
		border:0;
	}
}

@media screen and (max-width:640px){
	#header {
        height: 70px;
    }

	#header .large_wrapper .logo a{
		width:120px;
	}

	#header .headerMenu .lang_Menu .allMenu .ham{
		width:25px;
		gap:5px;
	}
}

.allMenuNav{
	z-index:1000000;
	width:35%;
	height:100vh;
	position:fixed;
   
	background: url(/kr/img/sec05_bg.png) var(--white) no-repeat;
    background-position: center;
    background-size: cover;
	background-repeat:no-repeat;
	right:-100%;
	top:0;
	transition:0.8s;
}

.allMenuNav.on{
	right:0;
	box-shadow: 0 0 30px rgb(202 202 205 / 75%);
}

.allMenuNav .close{
	position:absolute;
	right:50px;
	top:50px;
	display:flex;
	width:28px;
	flex-direction:column;
	cursor:pointer;
}

.allMenuNav .close span{
	width:100%;
	height:2px;
	background-color:var(--black01);
}

.allMenuNav .close span:first-child{
	transform: rotate(30deg) translateY(1px);
}

.allMenuNav .close span:last-child{
	transform: rotate(-30deg) translateY(-1px);
}

.allMenuNav .allMenuList{
	position:absolute;
	top:100px;
	left:50%;
	transform:translateX(-50%);
	width:90%;
	display:flex;
	justify-content:center;
	flex-direction:column;
	gap:10px;
}

.allMenuNav .allMenuList .allMenuDepth{
	width:100%;
}

.allMenuNav .allMenuList .allMenuDepth .menuTit span{
	font-size:1rem;
	font-weight:700;
	color:var(--point-color);
}

.allMenuNav .allMenuList .allMenuDepth .menuTit .depth01{
	margin-top:10px;
	font-size:1.5rem;
	font-weight:800;
}

.allMenuNav .allMenuList .allMenuDepth .depth02List{
	margin-top:15px;
	display:flex;
}

.allMenuNav .allMenuList .allMenuDepth .depth02List li{
	padding-right:10px;
	margin-right:10px;
	border-right:1px solid #edf1f4;
}

.allMenuNav .allMenuList .allMenuDepth .depth02List li:last-child{
	border-right:0;
	margin-right:0;
	padding-right:0;
}

.allMenuNav .allMenuList .allMenuDepth .depth02List li a{
	font-size:1rem;
	color:var(--gray02);
}

@media screen and (max-width:1200px){
	.allMenuNav .allMenuList .allMenuDepth .menuTit .depth01{
		font-size:1.333rem;
		margin-top:10px;
	}

	.allMenuNav .close{
		right:10%;
	}

	.allMenuNav .allMenuList{
		top:80px;
	}

	.allMenuNav{
		width:40%;
	}
}

@media screen and (max-width:1024px){
	.allMenuNav .allMenuList .allMenuDepth .menuTit .depth01{
		font-size:1.142rem;
	}

	.allMenuNav{
		width:55%;
	}
}

@media screen and (max-width:767px){
	.allMenuNav{
		width:100%;
	}

	.allMenuNav .close{
		right:5%;
	}

	.allMenuNav .allMenuList .allMenuDepth .menuTit .depth01{
		font-size:1.384rem;
	}
}

@media screen and (max-width:640px){
	.allMenuNav .close{
		width:25px;
	}

	.allMenuNav .allMenuList .allMenuDepth .menuTit .depth01{
		margin-top:5px;
	}

	.allMenuNav .allMenuList .allMenuDepth .depth02List{
		margin-top:10px;
	}
}

/* footer */
#footer{
	padding:60px 0;
	background-color:var(--black02);
}

#footer .f_top{
	display:flex;
	justify-content:space-between;
}

#footer .f_top figure{
	width:183px;
}

#footer .f_top figure img{
	width:100%;
}

#footer .f_top .f_btn{
	display:flex;
	align-items:center;
	gap:20px;
}

#footer .f_top .f_btn li a {
	padding:15px 30px;
	font-size:1rem;
	color:var(--white);
	font-weight:700;
	background-color:var(--black03);
	border-radius:25px;
	display:block;
}

#footer .f_bottom{
	margin-top:25px;
	display:flex;
	justify-content:space-between;
}

#footer .f_bottom .f_bottom_info{
	display:flex;
	flex-direction:column;
	gap:10px;
}

#footer .f_bottom .f_bottom_info .f_info{
	display:flex;
	gap:40px;
	align-items:center;
}

#footer .f_bottom .f_bottom_info .f_info li,
#footer .f_bottom .f_bottom_info .f_info li a{
	font-size:0.875rem;
	color:#eee;
	font-weight:300;
}

#footer .f_bottom .f_bottom_info .f_info li strong,
#footer .f_bottom .f_bottom_info .f_info li a strong{
	font-size:inherit;
	font-weight:700;
	color:var(--white);
}

#footer .f_bottom .copyright{
	font-size:0.875rem;
	color:#eee;
	font-weight:300;
	word-break: keep-all;
	line-height: 1.5;
	margin-top:30px;
}

#footer .f_bottom .copyright a{
	color:var(--white);
	font-weight:500;
}

#footer .f_bottom .copyright a:hover{
	opacity:0.6;
}

#footer .f_bottom .sns .snsIcn{
	display:flex;
	gap:10px;
}

@media screen and (min-width:970px){
	/* 우측 하단 고정 퀵버튼(문의하기/애플리케이션 보기)에 SNS 아이콘이 가려지지 않도록 여백 확보 */
	/* f_top의 "개인정보처리방침" 버튼 시작 위치와 맞춤 */
	#footer .f_bottom .sns{
		margin-right:150px;
	}
}

#footer .f_bottom .sns .snsIcn li a{
	display:flex;
	flex-direction:column;
	gap:10px;
	align-items:center;
}

#footer .f_bottom .sns .snsIcn li a figure{
	display:flex;
	justify-content:center;
	align-items:center;
	width:40px;
	height:40px;
	background-color:var(--black03);
	border-radius:50%;
}

#footer .f_bottom .sns .snsIcn li a figure i{
	font-size:1.25rem;
	color:var(--white);
	text-align:center;
}

#footer .f_bottom .sns .snsIcn li a .snsTit{
	font-size:0.875rem;
	color:var(--white);
	font-weight:700;
	text-align:center;
}

@media screen and (max-width:1400px){
	#footer .f_top figure{
		width:160px;
	}
}

@media screen and (max-width:1200px){
	#footer .f_top figure{
		width:140px;
	}
}

@media screen and (max-width:1024px){
	#footer .f_top .f_btn li a{
		padding:10px 15px;
	}

	#footer .f_bottom .f_bottom_info .f_info li, 
	#footer .f_bottom .f_bottom_info .f_info li a{
		font-size:1rem;
	}

	#footer .f_bottom{
		gap:30px;
	}
}

@media screen and (max-width:969px){
	#footer .f_bottom{
		flex-direction:column-reverse;
	}

	#footer .f_bottom .copyright{
		margin-top:20px;
	}
}

@media screen and (max-width:640px){
	#footer .f_top figure{
		width:120px;
	}

	#footer .f_bottom .copyright{
		font-size:1rem;
	}

	#footer .f_top{
		flex-direction:column;
		gap:20px;
	}

	#footer .f_top .f_btn{
		gap:20px;
	}

	#footer .f_bottom .f_bottom_info .f_info{
		gap:10px;
		align-items:flex-start;
		flex-direction:column;
	}
}

@media screen and (max-width:500px){
	

	#footer .f_top .f_btn{
		gap:10px;
	}
}

.modal{
	width:100%;
	height:100vh;
	background:rgba(0,0,0,.5);
	display:none;
	transition:0.3s;
	position:fixed;
	z-index:10000000;
	top:0;
	left:0;
}

.modal.on{
	display:block;
	
}

.modal .modal_cont{
	width:60%;
	box-shadow:0 0 20px rgba(0,0,0,.1);
	background-color:var(--white);
	border:1px solid #edf1f4;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
	position:absolute;
}

.modal .modalTop{
	width:100%;
	background-color:var(--gray01);
	padding:20px;
	box-sizing:border-box;
	display:flex;
	justify-content:space-between;
	align-items:center;
}

.modal .modalTop .modalTit{
	font-size:1.5rem;
	font-weight:700;
}

.modal .modalTop .closeBtn{
	display:flex;
	flex-direction:column;
	cursor:pointer;
}

.modal .modalTop .closeBtn span{
	width:28px;
	height:2px;
	background-color:var(--black02);
}

.modal .modalTop .closeBtn span:first-child{
	transform: rotate(30deg) translateY(1px);
}

.modal .modalTop .closeBtn span:last-child{
	transform: rotate(-30deg) translateY(-1px);
}

.modal .modalTxt{
	height:500px;
	overflow-y:scroll;
}

.modal .modalTxt pre{
	font-size: 1rem;
    line-height: 1.5;
    color: var(--gray02);
    word-break: keep-all;
    overflow: auto;
    white-space: break-spaces;
	padding:30px;
	box-sizing:border-box;
}

@media screen and (max-width:767px){
	.modal .modal_cont{
		width:90%;
	}

	.modal .modalTop .closeBtn span{
		width:25px;
	}
}


  /* ── 퀵버튼 고정 래퍼 ── */
  .quick-btns {
    position: fixed;
    right: 20px;
    bottom: 40px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-end;
    z-index: 998;
  }

  /* ── 공통 버튼 ── */
  .qbtn {
    display: flex;
    align-items: center;
    gap: 0;
    cursor: pointer;
    border-radius: 28px;
    overflow: hidden;
    text-decoration: none;
    transition: transform 0.18s, opacity 0.18s;
    box-shadow: 0 4px 14px rgba(0,0,0,0.18);
  }
  .qbtn:hover { transform: translateY(-2px); opacity: 0.92; }
  .qbtn:active { transform: scale(0.97); }

  /* 텍스트 영역 */
  .qbtn-text {
    height: 46px;
    display: flex;
    align-items: center;
    padding: 0 14px 0 18px;
    font-size: 12px;
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    color: #fff;
    white-space: nowrap;
    letter-spacing: 0.4px;
  }

  /* 아이콘 원형 영역 */
  .qbtn-icon {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }

  /* 문의하기 — 보라 */
  .qbtn-contact .qbtn-text { background: #AD5D9B; }
  .qbtn-contact .qbtn-icon { background: #8f4880; }
  .qbtn-contact { box-shadow: 0 4px 14px rgba(173,93,155,0.35); }

  /* 애플리케이션 보기 — 블랙 */
  .qbtn-app .qbtn-text { background: #000000; }
  .qbtn-app .qbtn-icon { background: #2a2a2a; }
  .qbtn-app { box-shadow: 0 4px 14px rgba(0,0,0,0.3); }

  /* SVG 아이콘 */
  .ico {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: #fff;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  /* 모바일 대응 */
  @media (max-width: 480px) {
    .quick-btns {
      right: 16px;
      bottom: 24px;
      gap: 8px;
    }
    .qbtn-text {
      font-size: 11px;
      padding: 0 12px 0 14px;
      height: 42px;
    }
    .qbtn-icon {
      width: 42px;
      height: 42px;
    }
  }