@charset "utf-8";
/**************************************************

	Respond.css ( ver 1.0.2 )

**************************************************/
/**************************************************
	Setting Device Width
**************************************************/
#_device_pc{display: block;} #_device_ta{display: none;} #_device_mo{display: none;} .__pc{display: block !important;} .__ta{display: none !important;} .__mo{display: none;}
@media screen and (min-width: 800px) and (max-width: 1200px){#_device_pc{display: none;} #_device_ta{display: block;} #_device_mo{display: none;} .__pc{display: none !important;} .__ta{display: block !important;} .__mo{display: none;}}
@media screen and (max-width: 800px){#_device_pc{display: none;} #_device_ta{display: none;} #_device_mo{display: block;} .__pc{display: none !important;} .__ta{display: none;} .__mo{display: block !important;} }

/**************************************************
	Layout
**************************************************/
@media screen and (max-width: 1200px){

	html{min-width: 320px;padding-top: 75px;overflow-x: hidden;}
    img{max-width:100%;}

	#header{position: fixed;top: 0;left: 0;width: 100%;background: #060707;}
	#header .inner{width: auto;height: 75px;}
    #header .logo{position: absolute;top: 0;left: 30px;height: 100%;line-height: 75px;}
	#header .logo h1 {background:url('/images/layout/logo-on.png') center center no-repeat;background-size: 100% auto}
    #header .logo img{width: auto;height: 35px;opacity: 0;}
    #header:after{content: '';display: block;position: absolute;bottom: -1px;width: 100%;height: 1px;background: #060707;}

	#gnb{display: none;}
    #tnb{display: none;}

    #hd-lan{display: none;}
    #hd-sch{display: none;}


    #ft-fam{display: none;}

    #gotop{display: none;}

    #fnb{text-align: center;}
    #fnb > li{display: inline-block;padding: 0 5px;}
    #fnb > li:first-child{padding-left: 0;background: none;}
    #fnb > li a{font-size: 11px;color: #b3b3b3;letter-spacing: -1px;line-height: 35px;}

    #slide-btn{top: 50%;margin-top: -11px;right: 30px;display: block;width: 25px;height: 22px;}

    #slide-bg{display: none;}
    #slide-close{position: absolute;top: 0;right: 0;width: 50px;height: 50px;background: url('../images/layout/slide-close.png') no-repeat center center;background-size: 20px auto;}

    #slide-menu{display: block;position: fixed;top: 75px;left: 0;width: 100%;height:calc(100% - 75px);z-index: 0;overflow-y: auto;transition: all 0.3s cubic-bezier(0.930, 0.635, 0.650, 0.970);}
    #slide-menu .tit{height: 50px;position: relative;background: #088ac8;}
    #slide-menu.on{right: 0;z-index: 200;}

    #tnb-mo{text-align: center;line-height: 40px;background: #f7f7f7;}
    #tnb-mo > li{display: inline-block;margin: 0 10px;}
    #tnb-mo > li a{font-size: 12px;color: #333;}

	#gnb-mo {display: none;background: #060707;}
    #gnb-mo > li{border-bottom: 1px solid #373838;}
	
    #gnb-mo > li > a{display: block;line-height: 50px;padding: 0 30px;font-size: 14px;letter-spacing: -1px;color: #fff;text-decoration: none;}
    #gnb-mo > li.depth {background: #060707 url('/images/layout/gnb-arrow01.png') 95% 21px no-repeat;}
    #gnb-mo > li.depth.on {background-color: #262727;background-image: url('/images/layout/gnb-arrow01-ac.png');}
	#gnb-mo > li > ul{background: #060707;border-top: 1px solid #373838;display: none;}
	#gnb-mo > li > ul > li + li { border-top: 1px solid #373838;}
	#gnb-mo > li > ul li a{display: block;padding: 0 40px;line-height: 50px;font-size: 14px;color: #fff;text-decoration: none;}
    #gnb-mo > li > ul li a:before {content:'-';margin-right: 5px;}
	#gnb-mo > li.hidden-gnb{display: none;}

    #hd-lan-mo{position: absolute;top: 0;left: 15px;z-index: 92;}
    #hd-lan-mo > a{display: block;line-height: 50px;padding: 0 10px 0 20px;font-size: 12px;color: #fff;text-decoration: none;text-transform: uppercase;background: url('../images/layout/hd-lan-ico-mo.png') no-repeat 0 center / 15px auto, url('../images/layout/hd-lan-spr-mo.png') no-repeat right center / 6px auto;}
    #hd-lan-mo > ul{position: absolute;top: 40px;left: 50%;display: none;width: 80px;margin-left: -40px;padding: 10px 0;border: 1px solid #b8b8b8;background: #fff;}
    #hd-lan-mo > ul:before{position: absolute;top: -7px;left: 50%;content: '';display: block;width: 6px;height: 7px;margin-left: -3px;background: url('../images/layout/hd-lanbox-spr-mo.png');}
    #hd-lan-mo > ul li a{display: block;font-size: 12px;line-height: 20px;color: #666666;text-decoration: none;text-align: center;text-transform: uppercase;}
    #hd-lan-mo.on > ul{display: block;}

    #hd-sch-mo{position: absolute;top: 14px;left: 85px;z-index: 91;}
    #hd-sch-mo .btn{display: block;width: 21px;height: 21px;background: url('../images/layout/hd-sch-btn-mo.png') no-repeat center center;background-size: 16px auto;text-indent: -999em;border: none;}
    #hd-sch-mo form{position: fixed;display: none;top: 50px;right: 0;width: 80%;padding-right: 50px;border: 1px solid #333;border-width: 1px 0 1px 0;overflow: hidden;background: #fff;box-sizing: border-box;}
    #hd-sch-mo legend{display: none;}
    #hd-sch-mo .inp{width: 100%;height: 38px;line-height: 38px;text-indent: 10px;background: none;border: none;font-size: 12px;}
    #hd-sch-mo .sbm{position: absolute;top: 0;right: 0;width: 40px;height: 40px;background: #333 url('../images/layout/hd-sch-btn-mo.png') no-repeat center center;background-size: 18px auto;border: none;text-indent: -999em;}
    #hd-sch-mo.on form{display: block;}

    /* layer popup */
    .sp_pop{position: absolute;top: 80px !important;left: 5% !important;width: 90% !important;z-index: 999 !important;}
    .sp_pop table{width: 100%;}
    .sp_pop table td{height: auto !important;}
    .sp_pop img{width: 100% !important;height: auto !important;}

    /* etc */
    .table1 tr > *{font-size: 11px;line-height: 15px;}
	
	footer {overflow: hidden;}
	footer .footer-row .footer-column._1 {max-width: 100%;}
	footer .footer-row .footer-column._2 {float: right;margin-top: 30px;}
	
}

@media screen and (max-width: 800px){
	footer .footer-row .footer-column._1 .logo {display: block;margin: 0 auto 50px;}
}

/**************************************************
	Ajax Popup
**************************************************/
@media screen and (max-width: 1200px){

    #popup{top: 5%;left: 5%;width: 90%;height: 90%;margin-top: 0;margin-left: 0;padding-top: 41px;}
    #popup .pop-tit{height: 40px;padding: 0 10px;}
    #popup .pop-tit h3{font-size: 13px;line-height: 40px;}
    #popup .pop-tit .close{width: 39px;height: 39px;line-height: 39px;font-size: 13px;}
    #popup .pop-wrap{height: 100%;overflow-y: auto;padding: 15px;box-sizing: border-box;}
    #popup.on{opacity: 1;}
    #popupBG{position: fixed;top: 0;left: 0;width: 100%;height: 100%;z-index: 300;background: rgba(0,0,0,0.5);opacity: 0;transition: all 0.3s;}
    #popupBG.on{opacity: 1;}

    /* sitemap */
    #popup .sitemap > li{width: 49%;}
    #popup .sitemap > li > a{font-size: 12px;line-height: 35px;}
    #popup .sitemap > li ul li a{font-size: 12px;padding: 7px 0;}

}


/**************************************************
	Main
**************************************************/
@media screen and (max-width: 1200px){

    #main #mainWrap{width: auto;margin: 0;padding:0;}

    #main .visual .roll li img{position: static;margin-left: 0;width: 100%;height: auto;}
    #main .visual .bx-pager{bottom: 20px;}
    #main .visual .bx-pager-item{margin: 0 2px;}
    #main .visual .bx-pager-item a{width: 12px;height: 12px;}
	
	.main3 {padding: 90px 30px 80px;}
	.main5 {padding: 90px 30px 70px;}
	.main6 {padding: 40px 30px;}
	.main7 {padding: 40px 30px;}
}

@media screen and (max-width: 800px){
	.main_video {height:calc(100vh - 75px);}

	.main_video .con img {max-width: 70%;}
	.main_video #video {display: none;}
	.main_video .video-bg {display: block;}

	.main1 ul {width: 100%;}
	.main1 ul > li {display: block;width: 100%;padding: 60px 60px 110px;}
	
	.main2 {padding: 20px 0;}
	.main3 h2 {font-size: 6vw;}
	.main2 ul > li {width: 100%;padding: 30px;}
	
	.main3 ul > li {width: 100%;padding: 10px 0;}
	.main4 ul > li .con {width: 100%;padding: 50px;}
	.main4 ul > li .img {position: static;width: 100%;padding-bottom: 65%;}
	.main4 ul > li:nth-child(2n) .con {margin-left: 0;}
	.main4 ul > li .con strong {font-size: 5vw;}
	.work_list {margin-top: 5px;}
	.work_list > li {width: 50%;}
	.main5 h2 {font-size: 6vw;}
	.main6 ul > li {width: 100%;}
	.main7 {display: block;}
	.main7 .con1, .main7 .con2, .main7 .con3 {display: block;width: 100%;}

	.thumb-view .info2 .img {float: none;}
}

@media screen and (max-width: 640px){
	.work_list > li {width: 100%;}
}

/**************************************************
	Sub
**************************************************/
@media screen and (max-width: 1200px){

    #sub #content{ width: auto;padding: 20px 30px; }

 
    #sub .sub-vis {height: 300px;font-size: 0;padding: 0 30px;}
	#sub .sub-vis h2 {margin-top: 0;}
	
	#lnb {width: 100%;}
   #lnb > li {width: 50% !important;}


    #navigator{border-width: 0 0 1px 0;}
    #navigator > ul{width: auto;border-left: none;padding-left: 40px;}
    #navigator > ul > li{width: 50%;box-sizing: border-box;}
    #navigator > ul > li > a{min-width: 0;font-size: 13px;padding: 0 20px 0 10px;line-height: 40px;background-size: 8px auto;}
    #navigator > ul > li:first-child{position: absolute;top: 0;left: 0;width: 40px;}
    #navigator > ul > li:first-child a{width: 40px;background: none;}
    #navigator > ul > li.d2{border: none;}
    #navigator > ul > li > ul{top: 40px;left: -1px;}
    #navigator > ul > li.d2 > ul{border-right: none;}
    #navigator > ul > li > ul li a{padding: 10px;font-size: 13px;}
	
	.his-wrap {padding-left: 0;background: none;}
	.service7 ul > li {width: 25%;}

	.work_foot > li {width: 50%;padding: 10px 0;}
	.work_project {margin:60px -30px 0;padding: 50px 30px;}

	.thumb-wrap .right {display: none;}
	.thumb-list {width: 100%;}

	.thumb-view {width: 100%;}
	.loca ul > li {width: 50%;}
}



@media screen and (max-width: 800px){
	#sub .sub-vis {height: 200px;}
	#sub .sub-vis h2 {font-size: 8vw;} 
	#sub .sub-vis h2 em {font-size: 14px;}
	.sub_tit1 {font-size: 6vw;}
	.about2 .ceo {width: 100%;}
	.about2 .con .name {text-align: center;}
	.about2 .con .name img {display: block;margin: 20px auto 0;}

	.about2 .con {width: 100%;margin-top: 60px;padding-left: 0;}
	.about2 .con .tit {font-size: 6vw;}
	.about3 .img1 {width: 100%;}
	.about3 .img2 {padding: 0;}
	.about3 .con {width: 100%;padding-left: 0;margin-top: 60px;}
	.about4 ul > li {width: 100%;}
	.about4 ul > li + li {margin-top: 30px;}
	.about5 ul > li {width: 31%;margin-right: 3.5%;margin-bottom: 3.5%;}
	.about5 ul > li:nth-child(6n) {margin-right: 3.5%;margin-bottom: 3.5%;}
	.about5 ul > li:nth-child(3n) {margin-right: 0;}

	.service1 > p {line-height: 1.4;}

	.process > img {width: 100%;}
	.process > .con {width: 100%;padding-left: 0;margin-top: 30px;}

	.service4 .inner .video {width: 100%;padding-bottom: 55%;}
	.service4 .inner .img {width: 100%;padding:0 0 109%;margin:30px 0 0;}
	
	.service6 ul > li {width: 100%;}
	.service6 ul > li + li {margin-top: 30px;}
	.service7 ul > li {width: 50%;}
	.work_foot {}
	.work_view h4 {font-size: 5vw;}
	.work_view .vr {height: 300px;}
	.work_view .vr iframe {height: 300px !important;}
	.work_foot > li {width: 100%;text-align: left;padding:10px 30px;}
	
	.work_project h5 {font-size: 5vw;}
	.work_project ul > li {width: 100%;}
	.work_project ul > li + li {margin-top: 30px;}
	.work_project ul > li .tit {margin-top: 20px;font-size: 16px;line-height: 1.4;}
	
	.thumb-view h4 {font-size: 5vw;}

	.thumb-view .info2 .con {padding-left: 0;margin-top: 30px;}
	.comment_form input[type="text"] {width: 100%;margin: 0 0 20px 0;}
	
	#map {height: 300px;}
	.request_form ul > li .tit {width: 100%;}
	.request_form ul > li .con {width: 100%;margin-top: 10px;}
	.loca ul > li {width: 100%;}
}


@media screen and (max-width: 640px){


	.sub_check span {display: block; margin: 0; padding-bottom: 5px; font-size: 13px;}

	.thumb-list > li .img {float: none;}
	.thumb-list > li .img span {width: 100%;padding-bottom: 63%;height: auto;}
	.thumb-list > li .con {padding-left: 0;margin-top: 30px;}
}