/* 반응형 스타일 */
@media screen and (max-width: 1280px) {
	
	.wrap { width: 96%; margin: 0 auto; }

	/* popup */
	.hd_pops { left: 2% !important; top: 80px !important; }	
	.hd_pops { left: 2% !important; max-width: 96%; height: auto; }
	.hd_pops_con { max-width: 100% !important; width: auto !important; height: auto !important; }
	.hd_pops_con a { display: inline-block; }

	/* main */
	.main_vis { height: 700px; }
	.main_text .wrap { align-content: center; justify-content: center; align-items: center; text-align: center; }
	.main_text p br { display: none; }

	/* sub */
	.sidebar .wrap { width: 100%; }

	.greeting_textbox .greeting_title { font-size: 32px; }

	.root_daum_roughmap_landing { max-width: 100%; }

}

@media screen and (max-width: 1024px) {
	
	/* head */
	.head .wrap { height: 70px; }

   .menu { display: none; }

	nav.mobile_menu { position: fixed; top: -100%; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; width: 100%; height: 100%; z-index: 9001; background: rgba(0, 0, 0, 0.9); border-bottom-right-radius: 100%; border-bottom-left-radius: 100%; transition: all 650ms cubic-bezier(1,0,0,1); }
	nav.mobile_menu.open { top: 0; padding: 80px 0px; border-radius: initial; }

	.nav-inner { position: relative; display: flex; width: 100%; flex-wrap: wrap; justify-content: space-between; align-items: center; padding: 0 5%; }
	.nav-list { display: flex; justify-content: center; align-items: center; flex-direction: column; width: 100%; height: 100%; }
	.nav-list li { margin-bottom: 30px; width: 100%; text-align: center; }
	.nav-list li:last-child { margin-bottom: 0px; }
	.nav-list li a { position: relative; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; color: #fff; font-size: 24px; font-weight: 400; }

	.nav-link { padding: 1rem; font-size: 2rem; }
	.nav-link:hover, .nav-link:focus { color: #fff; }

	.menu-toggler { position: absolute; top: 30px; right: 2%; width: 30px; height: 19px; display: flex; flex-direction: column; justify-content: space-between; z-index: 9999; transition: all 650ms ease-out; cursor: pointer; }
	.menu-toggler.open { transform: rotate(-45deg); }

	.bar { background-color: #00c; width: 100%; height: 2px; border-radius: 0.8rem; }
	.open .bar { background-color: #fff; }

	.bar.half { width: 50%; }
	.bar.top { transform-origin: right; transition: transform 650ms cubic-bezier(0.54, -0.81, 0.57, 0.57); }
	.open .bar.top { transform: rotate(-450deg) translateX(0.45rem); }
	.bar.bottom { align-self: flex-end; transform-origin: left; transition: transform 650ms cubic-bezier(0.54, -0.81, 0.57, 0.57); }
	.open .bar.bottom { transform: rotate(-450deg) translateX(-0.45rem); }

	.nav-inner ul ul { display: none; margin-top: 10px; }
	.nav-inner ul ul li { position: relative; margin-bottom:0px; padding-left: 30px; }
	.nav-inner ul ul li:after { content: ''; position: absolute; left: 10px; top: 14px; width: 7px; height: 1px; background: #fff; }
	.nav-inner ul ul li a { display: inline-block; padding: 0px; color: rgba(255, 255, 255, 0.7); font-size: 18px; font-weight: 300; line-height: 1.8; text-decoration: none; -webkit-transition: all 0.5s; -moz-transition: all 0.5s; -o-transition: all 0.5s; -ms-transition: all 0.5s; transition: all 0.5s; }
	.nav-inner ul ul li a:hover { color: rgba(255, 255, 255, 1); }
	.nav-inner ul ul li a:before { display: none; height: 1px; }
	.nav-inner ul ul li a:after { display: none; }

	/* footer */
	.footer_menu { position: relative; display: flex; flex-wrap: wrap; justify-content: center; margin-bottom: 30px; }
	.footer_info { text-align: center; }
	.footer_info span { display: block; padding: 0 0px; }
	.footer_info span:after { display: none; }
	.footer_info br { display: none; }
	
	/* main */
	.main_text h2 { font-size: 72px; }
	.main_text p { font-size: 1.05em; word-break: keep-all; }

	.main_con01 .swiper-slide { flex-direction: column; }
	.main_con01_inr { width: 100%; }
	.main_con01_left { width: 96%; height: 450px; margin-bottom: 50px; }
	.main_con01_arrow { bottom: auto; top: 520px; left: auto; right: 2%; width: 96%; }

	.main_con01_right { padding: 0 2%; }
	.main_con01_right .main_con01_text { text-align: center; width: 100%; }
	.main_con01_right p { text-align: center; word-break: keep-all; }	

	.main_con03 .wrap .main_con03_inr { flex: none; width: 100%; }
	.main_con03 .wrap .main_con03_left { margin-bottom: 50px; }

	/* sub */
	.sub_vis { height: 300px; }
	.sub_text { align-items: center; text-align: center; padding-bottom: 0px; }
	.sub_text p { font-size: 1em; word-break: keep-all; }
	.sub_text p br { display: none; }
	
	.sub_contents { margin: 80px 0; }
	.sub_title { margin-bottom: 50px; }
	
	.greeting { justify-content: center; }
	.greeting_imgbox { margin-bottom: 50px; }
	.greeting_textbox { width: 100%; padding-left: 0px; }
    .greeting_textbox .greeting_title br { display: none; }
	
	.technology_imgbox { width: 560px; margin: 0 auto 50px; }
	.technology_textbox { width: 100%; padding-left: 0px; }
	.technology_inr:nth-child(even) .technology_textbox { padding-right: 0px; }

}

@media screen and (max-width: 768px) {
	
	body { font-size: 16px; }

	/* main */
	.main_vis { height: 500px; }
	.main_text h2 { margin-bottom: 30px; font-size: 52px; }
	.main_vis .swiper-pagingbox { margin-top: 50px; }

	.scrolldown { display: none; }
	
	.main_con { padding: 80px 0; }
	
	.main_con01_arrow { top: 500px; }
	.main_con01_right h3 { margin-bottom: 30px; font-size: 28px; font-weight: 800; }
	.main_con01_right h3 span { margin-bottom: 15px; font-size: 16px; }

	.main_con02 { padding: 80px 2%; }
	.main_con02 h2 { margin-bottom: 30px; font-size: 35px; }
	.main_con02 p { width: 90%; margin: 0 auto 50px; }
	.main_con02 p br { display: none; }

	.main_con03 h3 { font-size: 28px; }

	/* sub */
	.sub_text h2 { font-size: 42px; }

	.greeting_imgbox { width: 300px; }

	.intro-box { padding: 30px; }
	.greeting h3 { font-size: 25px; line-height: 1; }
	
	.root_daum_roughmap .wrap_map { height: 300px !important; }
	.location_info li strong { font-size: 1.1em; }
	.location_info li p { font-size: 1.1em; }

    .technology_imgbox { text-align: center; width: 100%; }
	.technology_textbox h3 { text-align: center; margin-bottom: 30px; font-size: 25px; word-break: keep-all; }

}

@media screen and (max-width: 640px) {
	
	/* main */
    .main_con01_left { height: 300px; }
	.main_con01_arrow { top: 350px; }
	.main_con01_arrow .swiper-button-prev, .main_con01_arrow .swiper-button-next { width: 50px; height: 50px; }

	/* sub */
	.sidebar .home { width: 50px; height: 50px; }
	.sidebar .depth_1, .sidebar .depth_2 { width: calc(50% - 25px); }
	.sidebar .depth_title { height: 50px; padding-left: 20px; padding-right: 20px; }
	.sidebar .depth_title:after { right: 10px; }

}

@media screen and (max-width: 480px) {
	
	/* head */
    .head .wrap { height: 60px; }
	.logo img { height: 26px; }
	.menu-toggler { top: 20px; }

	/* main */
	.main_vis { height: 350px; }
    .main_text h2 { margin-bottom: 20px; font-size: 36px; }
	.main_text p { font-size: 0.9em; line-height: 1.3; }
	.main_vis .swiper-pagingbox { margin-top: 30px; }
	.main_vis .swiper-pagination-fraction { font-size: 14px; }
	
    .main_con { padding: 50px 0; }
    .main_con01_left { height: 200px; }
	.main_con01_right h3 { font-size: 24px; }
    .main_con01_right p { font-size: 0.95em; line-height: 1.4; }
	.main_con01_arrow { top: 225px; }

    .main_con02 h2 { margin-bottom: 20px; font-size: 28px; }
	.main_con02 h2 span { margin-bottom: 10px; font-size: 14px; }
	.main_con02 p { margin: 0 auto 30px; }
	.main_con02_more { width: 160px; height: 50px; }

	.main_con03 h3 { padding-right: 55px; font-size: 24px; }

	/* sub */
	.sub_vis { height: 200px; }
    .sub_text h2 { font-size: 36px; }
	.sub_text p { font-size: 0.9em; line-height: 1.4; }

	.sub_contents { margin: 50px 0; }
	.sub_title h2 { font-size: 36px; line-height: 1; }
	.sub_title p { font-size: 14px; line-height: 1; }
	
	.greeting_imgbox { width: 200px; }
	.greeting_textbox .greeting_title { text-align: center; font-size: 24px; }

	.career_list li { padding-left: 20px; }
	.career_list li strong { position: relative; left: 0px; display: block; width: 100%; }
	
	.location_info li { flex-wrap: wrap; }
	.location_info li strong { width: 100%; }
	.location_info li p { width: 100%; padding-left: 65px; }

}

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

	/* sub */	
	.sub_title h2 { font-size: 32px; }
	
}