@charset "utf-8";
/* CSS Document */

body { font-size:calc(18 * 0.20vw); line-height: 1.8; }
:target { scroll-margin-top: calc(80vw / 5); }


.pc { display:none; }
.pc_tb { display:none; }
.sp { display:unset; }
.tb_sp { display:unset; }



.sp_left { text-align:left; }

.fs10vw { font-size:calc(10 * 0.23vw); }
.fs12vw { font-size:calc(12 * 0.23vw); }
.fs14vw { font-size:calc(14 * 0.23vw); }
.fs15vw { font-size:calc(15 * 0.22vw); }
.fs16vw { font-size:calc(16 * 0.20vw); }
.fs17vw { font-size:calc(17 * 0.20vw); }
.fs18vw { font-size:calc(18 * 0.20vw); }
.fs20vw { font-size:calc(20 * 0.18vw); }
.fs21vw { font-size:calc(20 * 0.18vw); }
.fs22vw { font-size:calc(22 * 0.15vw); }
.fs23vw { font-size:calc(23 * 0.15vw); }
.fs24vw { font-size:calc(24 * 0.15vw); }
.fs25vw { font-size:calc(25 * 0.15vw); }
.fs26vw { font-size:calc(26 * 0.15vw); }
.fs27vw { font-size:calc(27 * 0.15vw); }
.fs28vw { font-size:calc(28 * 0.14vw); }
.fs29vw { font-size:calc(29 * 0.14vw); }
.fs30vw { font-size:calc(30 * 0.14vw); }
.fs32vw { font-size:calc(32 * 0.13vw); }
.fs34vw { font-size:calc(34 * 0.13vw); }
.fs35vw { font-size:calc(35 * 0.13vw); }
.fs36vw { font-size:calc(36 * 0.13vw); }
.fs37vw { font-size:calc(37 * 0.13vw); }
.fs38vw { font-size:calc(38 * 0.13vw); }
.fs40vw { font-size:calc(40 * 0.13vw); }
.fs45vw { font-size:calc(45 * 0.12vw); }
.fs48vw { font-size:calc(48 * 0.11vw); }
.fs50vw { font-size:calc(50 * 0.11vw); }
.fs52vw { font-size:calc(52 * 0.11vw); }
.fs54vw { font-size:calc(54 * 0.11vw); }
.fs56vw { font-size:calc(56 * 0.11vw); }
.fs58vw { font-size:calc(58 * 0.11vw); }
.fs60vw { font-size:calc(60 * 0.11vw); }
.fs65vw { font-size:calc(65 * 0.11vw); }
.fs66vw { font-size:calc(66 * 0.11vw); }
.fs68vw { font-size:calc(68 * 0.11vw); }
.fs70vw { font-size:calc(70 * 0.11vw); }
.fs72vw { font-size:calc(72 * 0.11vw); }
.fs80vw { font-size:calc(80 * 0.1vw); }
.fs90vw { font-size:calc(90 * 0.1vw); }
.fs100vw { font-size:calc(100 * 0.1vw); }
.fs110vw { font-size:calc(100 * 0.1vw); }
.fs148vw { font-size:calc(148 * 0.06vw); }
.fs180vw { font-size:calc(180 * 0.06vw); }

.inner { width:94%;}
.inner_right { width:94%; }
.middle_inner { width:94%;}
.middle_inner_right { width:94%; }
.low_inner { width:94%;}
.minimum_inner {width: 94%;}

.more { width: 70%; height: 4em; }
.more i { right: 2vw; }



#header { height: calc(80vw / 5); }
#header .logo {  width: calc(310vw / 5); }

#header .contact,
#header .entry { display:none; }
#header #hamburger { width: calc(180vw / 7.2); height: calc(80vw / 5); }
#header #hamburger .bar { width: calc(30vw / 7.2); }
#header #hamburger.active .bar_1 { transform: translateY(1.16vw) rotate(45deg);}
#header #hamburger.active .bar_2 { transform: translateY(-1.16vw) rotate(-45deg);}

#google_translate_element { position: absolute; top: calc(90vw / 5); right: 1em; margin-right: 0; }

#header .drawer-menu .grid { display: block; padding: 4em; }
#header .drawer-menu ul li.page_name a i { left: -1em; }
#header .drawer-menu ul li.section_name a i { left: -1em; }
#header .drawer-menu ul li.page_name { margin: 0 0 0.5em 0;}
#header .drawer-menu ul { padding: 0 0 1.5em 0;}
#header .drawer-menu.open .drawer-content { overflow-y: scroll; }

#footer {padding: 3em 0 0 0;}
#footer .middle_inner { display: block; }
#footer .site_name .logo { width: calc(340vw / 5); }
#footer .site_info ul { display: block; padding: 1em; }
#footer .site_info ul .page_name { margin: 0 0 0.7em 0; }
#footer .site_info ul .page_name .section_name { margin-block-start: 0; padding: 0 0 0.5em 0; }
#footer .site_info ul .page_name .section_name li { margin: 0.5em 0 0.5em 0; }

#ptop { width: calc(83vw / 7.2); height: calc(83vw / 7.2); bottom: 4em; }

.page_header { padding: 1em 0 1em 0; border-bottom: solid 0.5em #EC2B30; }



main { margin-block-start: calc(80vw / 5); }



.scroll_down { display:none; }


#fv .inner_right { width:100%; }
#fv .logo { width: calc(208vw / 9.2); }
#fv .catch { top: calc(444vw / 14.2); }
#fv .swiper .swiper-pagination { text-align: right; padding-right: 1em; bottom: 1em; }


#top_about { padding: 3em 0 3em 0; }
#top_about .more { margin: 2em auto 3em auto; }
#top_about .logo { display: none; }

#top_about .cat { display: block; background:none; }
#top_about .cat .box { display: block; width: 90%; height: calc(380vw / 7.2); border: solid 4px #000000; margin: 0 auto 2em auto; }
#top_about .cat .box .cat_ttl { width: calc(92vw / 7.2); }



#top_business { padding: 3em 0 3em 0; }

#top_business .box {  width: 100%; float: none; }



#top_recruit .top_recruit_content .low_inner { top: -2em; }
#top_recruit .top_recruit_header { padding: 3em 0 3em 0; }


#top_recruit .top_recruit_content .box { display: block; }

#top_recruit .top_recruit_content .box .text { width: 100%; margin: 0; padding: 0 0 1em 0; }





#greething { padding: 3em 0 3em 0; }
#greething .middle_inner { padding: 1.5em;  border-radius: 1em; }


#company .content { display: block;}

#company .content .half { width: 100%;}

.company_separater .thumb {width: 48%;}


#access .middle_inner { display: block; }
#access .text { width: 100%;}
#access #gmap { width: 100%; height: 300px; }





#business { padding: 3em 0 3em 0; }
#business .box { padding: 1.5em; border-radius: 1em; }
#business .box .content .img_box { display: block; margin-block-start: 0; }
#business #electrical .content .img_box .thumb { width:100%; margin-block-start: 2em; }

#business .box .content { display: block; }
#business #telecommunication .content .text { width: 100%;}
#business #telecommunication .content .img_box { display: flex; width: 100%;}
#business #telecommunication .content .img_box .thumb { width: 48%;}

.business_separater { width: 100%; height: auto; padding:0.5em 0 0.5em 0; }
.business_separater img { position:static; width: 100%; }


#history { padding: 3em 0 3em 0; }

#history .content flex.height { display: block; }

#history .content .since { position: relative; width: 100%; border-right: none; border-bottom: solid 5px #FCB4B6; }





#hiring_manager { padding: 3em 0 3em 0; }

#hiring_manager .box { padding: 1.5em; }

#hiring_manager .box dt { padding: 0 0 1em 0;}


#interview { padding: 3em 0 3em 0; }


#interview .staff { margin: 4em 0 3em 0; padding: 1.5em 1.5em 1em 1.5em; }
#interview .staff .text { width: 100%;}
#interview .staff .thumb { position: static; display: block; width: 100%; }


#requirements .requirements_detail { padding: 1.5em 1.5em 1.5em 1.5em; margin-block-start: -2em; }

#requirements .requirements_detail .box { display: block; }
#requirements .requirements_detail .box dt {  display: block; margin: 0; padding: 1em 1em 1em 1em; width: 100%; }
#requirements .requirements_detail .box dd { display: block; background-color: #FFFFFF; margin: 0; padding: 1em 1em 2em 1em; }

.staff_detail .staff_detail_header { width: 90%; margin: 5em auto 3em auto; padding: 1.5em;}
.staff_detail .staff_detail_header .table { width: 100%; margin: 0.5em 0 0.5em 0;}
.staff_detail .staff_detail_header .table dt { width: 4em;}

.staff_detail .staff_detail_header .thumb { position: static; width: 100%; border: solid 4px #000000; box-shadow: none; margin-block-start: 1em;}

.staff_detail .staff_detail_content .staff_detail_box { width: 90%; margin: 1em auto 1em auto; padding: 0; border-left: none;}
.staff_detail .staff_detail_content .staff_detail_box dt { padding: 1.5em 1.5em 0 1.5em; }
.staff_detail .staff_detail_content .staff_detail_box dd { padding: 1.5em 1.5em 1.5em 1.5em; }

.staff_detail .staff_detail_content .staff_detail_box dt p { width: 80%; }
.staff_detail .staff_detail_content .staff_detail_box dd p { width: 80%; }

.staff_detail .staff_detail_content .staff_detail_ttl { width: 90%; }
.staff_detail .img_zone { padding: 15em 0 0 0; background-size: 100%; background-position: right top; }



.loop-slider .slide img { width:calc(456vw / 10.2); }


#contact,
#entry { padding: 3em 0 3em 0; }
#contact-form,
#entry-form { padding: 1.5em; }


form .box { display: block; }
form .box dt { display: block; width: 100%; padding: 1em 0 0.5em 0; vertical-align: middle;}
form .box dd { display: block; width: 100%; margin: 0; padding: 1em 0 1em 0;}

form .next, form .send_btn, form .back_btn { position: relative; width: 70%; height: 4em; float:none; }
form .next i, form .send_btn i { right: 2vw;}
form .back_btn i { left: 2vw; }

form.confirm .box dd { padding: 1em 0 2em 0;}

form .box select.word_size {
    width: 5em;
}


