@media screen and (max-width: 1600px) {
	
	/* head */
	.nav-list { gap: 0 3%; }
	.nav-list > li { flex: none; flex-direction: column; }
	.nav-list > li > a { font-size: 48px; }
}


@media screen and (max-width: 1280px) {
	
	.wrap { width: 94%; 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; }

	/* head */
	.head .hd-menu .gnb-wrap .gnb > li > a { padding: 0px 40px; }
	.head .hd-menu .gnb-wrap .gnb > li .depth > ul > li > a { padding: 3px 10px; }

	.nav-list > li > a { font-size: 38px; }
	.nav-inner ul ul li a { font-size: 20px; }

}

@media screen and (max-width: 1180px) {
	
	/* head */
	.nav-inner { width: 100%; }

}

@media screen and (max-width: 1024px) {
	
	/* head */
	.head { height: 80px; }
	.hd-menu { display: none; }
	
	.nav-list { height: auto; }
	.nav-list > li { flex: none; justify-content: center; text-align: center; width: 100%; margin: 15px 0; border-left: none; }
	.nav-list > li > a { display: inline-block; width: auto; font-size: 25px; font-weight: 800; }
	.nav-inner ul ul { display: none; height: auto; margin: 15px 0 0; }
	.nav-inner ul ul li { margin-bottom: 5px; }
	.nav-inner ul ul li:last-child { margin-bottom: 0px; }
	.nav-inner ul ul li a { font-size: 16px; }
	.nav-inner ul ul li a:after { display: none; }
	.nav-inner ul ul li a:hover { padding-left: 0px; animation: none; }

	/* footer */
	.footer_menu .wrap { width: 100%; }
	.footer_menu_inr { justify-content: center; }
	.footer_menu_inr li { height: 60px; padding: 0 20px; }
	.footer_menu_inr li:first-child { padding-left: 20px; }
	.footer_info { padding: 30px 0; }
	.footer_info span { justify-content: center; text-align: center; width: 100%; padding: 0px; }
	.footer_info span:after { display: none; }
	.footer_info p { text-align: center; }

	/* main */
	.main_vis { height: 650px; }
	.main_text h2 { margin-bottom: 30px; font-size: 35px; }
	.main_text h2 span { margin-top: 20px; }
	.main_text p { font-size: 1.3em; }
	.main_vis .swiper-pagingbox { margin-top: 50px; }

	.main_con02_banner a { padding: 50px 30px; }
	.main_con02_banner a .stitle { font-size: 1em; }
	.main_con02_banner a h3 { margin: 10px 0 20px; font-size: 28px; }
	.main_con02_banner a p { font-size: 1.1em; }

	/* sub */
	.sub_vis { height: 300px; background: #002d6e url('../image/sub/sub_vis01.jpg') right top no-repeat; background-size: cover; }
	.sub_vis h2 { margin-bottom: 10px; font-size: 24px; }
	.sub_vis p { font-size: 16px; line-height: 1.5; }

	.greetings_inr { width: 100%; }
	.greetings_inr:first-child { margin-bottom: 50px; }

	.service_list li.title { display: none; }
	.service_list li.cont { padding: 20px 0; }
	.service_list li dl dt, .service_list li dl dd { flex: none; width: 100%; min-height: auto; padding: 0 20px; }
	.service_list li dl dt { margin-bottom: 10px; }
	.service_list li dl dt.wh300 { flex: none; width: 100%; }	
	.service_list li dl dd { margin-bottom: 10px; padding-left: 55px; }
	.service_list04 li dl dd { padding-left: 20px; }
	.service_list li dl dd:last-child { margin-bottom: 0px; }
	.service_list li dl dd p { display: block; width: 100%; }
	.service_list li dl dd:last-child p { position: relative; padding-left: 20px; }
	.service_list li dl dd:last-child p:after { content:''; position: absolute; top: 11px; left: 0px; width: 7px; height: 1px; background: #aaa; }

	.service_list03 li dl dd { padding-left: 40px; }
	
}

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

	/* main */
	.main_text p br { display: none; }

	.main_con { padding: 60px 0; }
	
	.main_con_title { margin-bottom: 30px; }
	.main_con_title .stitle { margin-bottom: 15px; font-size: 1.1em; }
	.main_con_title h2 { font-size: 32px; }
	.main_con_title p { margin-left: 10px; font-size: 15px; }

	.main_con01_list { justify-content: center; gap: 20px 2%; }
	.main_con01_list li { width: 32%; }

	.main_con02_banner { flex: none; width: 100%; border-radius: 5px 20px; }

	.tabs li a { font-size: 20px; }
	
	.main_con04 { padding: 80px 0; }
	.main_con04 h2 { margin-bottom: 30px; font-size: 32px; line-height: 1.4; }
	.main_con04 p { font-size: 1.05em; word-break: keep-all; line-height: 1.6; }
	.main_con04 .main_con04_more { margin-top: 30px; height: 45px; font-size: 1.1em; }

	/* sub */
	.sub_contents { padding: 60px 0; }

	.sub_title h2 { margin-bottom: 20px; font-size: 32px; }

	.vision_imgbox { margin-bottom: 80px; }
	.vision_imgbox:last-child { margin-bottom: 0px; }

	#sub_page h3 { margin-bottom: 20px; padding-left: 30px; font-size: 21px; }
	#sub_page h3:after { width: 20px; height: 20px; }
	#sub_page h3:before { width: 10px; height: 10px; }

	#sub_page h4 { font-size: 17px; }

	.our_strength_list { justify-content: center; gap: 20px 2%; }
	.our_strength_list li { width: 32%; padding: 25px 10px; }
	.our_strength_list li .title { font-size: 16px; }

	.our_strength_title, .service_cont_title { padding: 30px; font-size: 1.1em; }
	
	.service_list li dl dt { position: relative; padding-left: 55px; }
	.service_list li.cont dl dt:before { position: absolute; left: 20px; top: 0; }

	.service_list li dl dt.num { padding-left: 20px; }

}

@media screen and (max-width: 640px) {
	
	/* main */
	.alignL { text-align: center; }
	.main_con_title.alignL h2 { justify-content: center; }
	.main_con_title p { width: 100%; margin-left: 0px; margin-top: 15px; }

	.tabs { position: relative; justify-content: center; margin-top: 20px; }

	.main_con04 h2 strong { display: block; }

	/* sub */
	.vision_title { margin-bottom: 50px; padding: 30px 20px; }
	.vision_title p { font-size: 14px; }

	.our_strength_title br { display: none; }
	
	.greetings_imgbox:after { height: 70px; }
	.greetings_imgbox img { width: 130px; }
	.greetings_imgbox .name { bottom: 10px; }

	.service_cont_title { margin-bottom: 50px; padding: 30px; }

}

@media screen and (max-width: 575px) {
	
	/* main */
	.main_vis { height: 550px; }

	.main_vis_bg01 { background: url('../image/main/m_main_vis01.jpg') center top no-repeat; background-size: cover; }
	.main_vis_bg02 { background: url('../image/main/m_main_vis02.jpg') center top no-repeat; background-size: cover; }
	.main_vis_bg03 { background: url('../image/main/m_main_vis03.jpg') center top no-repeat; background-size: cover; }
	
	.main_text { text-align: center; }
	.main_text h2 { font-size: 24px; }
	.main_text h2 span { font-size: 14px; }
	.main_text h2 .mo_br { display: inline-block; }
	.main_text p { font-size: 1.1em; }

	.main_vis .swiper-pagingbox { justify-content: center; }

	/* sub */
	.sub_vis .wrap { justify-content: center; text-align: center; }
	.sub_vis p br { display: none; }

}

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

	/* head */
	.head { height: 60px; }
	.head:after { top: 60px; }

	.logo { top: 10px; }

	.menu-toggler { top: 10px; width: 100px; height: 40px; border-radius: 5px; }
	.menu-toggler span { margin-right: 10px; font-size: 12px; }

	.menu-toggler.open { top: 2%; }

	.nav-list > li > a { font-size: 20px; }

	/* footer */
	.footer_menu { display: none; }

	#top_btn { width: 45px; height: 45px; border-radius: 3px; font-size: 16px; }

	/* main */
	.main_vis { height: 450px; }

	.main_text h2 { margin-bottom: 15px; }
	.main_text h2 span { margin-top: 10px; }

	.main_con01_list li { width: 49%; }

	/* sub */
	.sub_vis { height: 250px; padding-top: 60px; }
	.sub_vis h2 { font-size: 20px; }
	
	.sub_title { margin-bottom: 30px; }
	.sub_title h2 { font-size: 25px; }

	.our_strength_list { gap: 10px 2%; }
	.our_strength_list li { width: 49%; padding: 25px 10px; }

	.vision_title { font-size: 1.5em; }

}

@media screen and (max-width: 430px) {
	
	/* head */
	.logo a { font-size: 20px; }

	/* main */
    .main_con_title .stitle { font-size: 1em; }
	.main_con_title h2 { font-size: 24px; }

	.main_con01_list { gap: 10px 2%; }
	.main_con01_list li { padding: 25px 10px; }
	.main_con01_list li h3 { font-size: 16px; }
	
	.main_con04 { padding: 60px 0; }
	.main_con04 h2 { margin-bottom: 20px; font-size: 25px; }
	
	/* sub */
	.greetings_imgbox .name { left: 20px; bottom: 10px; }

}

@media screen and (max-width: 375px) {
	
	/* main */
    .main_text h2 { font-size: 21px; }
	.main_text h2 span { font-size: 12px; }
	.main_text p { font-size: 1em; line-height: 1.4; }

}