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

body { font-size:calc(20 * 0.2vw); }

:target { scroll-margin-top: calc(80vw / 5); }


.fs12vw { font-size:calc(12 * 0.22vw); }
.fs14vw { font-size:calc(14 * 0.21vw); }
.fs16vw { font-size:calc(16 * 0.21vw); }
.fs17vw { font-size:calc(17 * 0.2vw); }
.fs18vw { font-size:calc(18 * 0.2vw); }
.fs20vw { font-size:calc(20 * 0.2vw); }
.fs21vw { font-size:calc(21 * 0.19vw); }
.fs22vw { font-size:calc(22 * 0.19vw); }
.fs23vw { font-size:calc(23 * 0.18vw); }
.fs24vw { font-size:calc(24 * 0.18vw); }
.fs25vw { font-size:calc(25 * 0.18vw); }
.fs26vw { font-size:calc(26 * 0.17vw); }
.fs27vw { font-size:calc(27 * 0.17vw); }
.fs28vw { font-size:calc(28 * 0.17vw); }
.fs29vw { font-size:calc(29 * 0.17vw); }
.fs30vw { font-size:calc(30 * 0.17vw); }
.fs31vw { font-size:calc(31 * 0.17vw); }
.fs32vw { font-size:calc(32 * 0.17vw); }
.fs33vw { font-size:calc(33 * 0.17vw); }
.fs34vw { font-size:calc(34 * 0.17vw); }
.fs35vw { font-size:calc(35 * 0.17vw); }
.fs36vw { font-size:calc(36 * 0.17vw); }
.fs37vw { font-size:calc(37 * 0.16vw); }
.fs38vw { font-size:calc(38 * 0.16vw); }
.fs40vw { font-size:calc(40 * 0.14vw); }
.fs42vw { font-size:calc(42 * 0.14vw); }
.fs45vw { font-size:calc(45 * 0.14vw); }
.fs48vw { font-size:calc(48 * 0.14vw); }
.fs50vw { font-size:calc(50 * 0.14vw); }
.fs52vw { font-size:calc(52 * 0.14vw); }
.fs53vw { font-size:calc(53 * 0.14vw); }
.fs54vw { font-size:calc(54 * 0.14vw); }
.fs55vw { font-size:calc(55 * 0.14vw); }
.fs56vw { font-size:calc(56 * 0.14vw); }
.fs60vw { font-size:calc(60 * 0.14vw); }
.fs62vw { font-size:calc(62 * 0.14vw); }
.fs64vw { font-size:calc(64 * 0.14vw); }
.fs65vw { font-size:calc(65 * 0.14vw); }
.fs66vw { font-size:calc(66 * 0.14vw); }
.fs68vw { font-size:calc(68 * 0.13vw); }
.fs70vw { font-size:calc(70 * 0.13vw); }
.fs72vw { font-size:calc(72 * 0.13vw); }
.fs80vw { font-size:calc(80 * 0.12vw); }
.fs84vw { font-size:calc(84 * 0.095vw); }
.fs100vw { font-size:calc(100 * 0.07vw); }
.fs110vw { font-size:calc(100 * 0.07vw); }
.fs174vw { font-size:calc(174 * 0.053vw); }

.pc { display: none; }
.sp { display: unset; }
.sp_left { text-align:left; }

.more { width: 70%; height: 4em; line-height: 4em; }
.more i { right: 2.4vw; line-height: 2.2em;}
.more.center { margin: 2em auto 2em auto;}

.inner { width: 92%; max-width: unset; }
.middle_inner { width: 92%; max-width: unset; }
.low_inner { width: 92%; max-width: unset; }
.right_inner { width: 100%; }
.left_inner { width: 100%; }

.ttl { margin-block-start: 1em; margin-block-end: 2em;}
.ttl .slug { padding: 0 0 2.7vw 0;}


#home #header { top:0; padding: 0; background-color: #FFF;}
#home #header .right_inner { width: 100%; }
#home #header #header_logo img { -webkit-filter: none; filter: none; }
#home #header .right_menu_box .menu_button {top: 0; right: 0;}



#header { height: calc(80vw / 5); }
#header .right_inner { width: 100%; padding-left:4%; background-color: #FFF; position: relative; z-index: 1003;}

#header .logo { margin: calc(18vw / 5) 0 0 0; width: calc(270vw / 5);}

#google_translate_element { position: absolute; bottom: -3em; margin-right: 0.5em;}
#header .right_menu_box .menu_button { width: 30vw; line-height: calc(80vw / 5); }
#header .right_menu_box .entry { display: none; }

.zdo_drawer_bar { width: 1.5em; height: 2px; margin: 0.3em 0 0 0; }
.zdo_drawer_button.active .zdo_drawer_bar {width: 1.5em;}
.zdo_drawer_button.active .zdo_drawer_bar1 { transform: rotate(16deg);}
.zdo_drawer_button.active .zdo_drawer_bar2 { transform: rotate(-16deg);}


.zdo_drawer_menu .zdo_drawer_nav_wrapper { overflow: scroll; }

#header .grid { display: block; padding: 8em 0 8em 0; }

#header .grid ul { padding: 0 0 2em 0;}

#header .grid ul li.page_name a { padding: 0 0 0 2em; }

#header .grid ul li.section_name a { padding: 0 0 0 2em; }

#ptop { width: 3em; height: 3em; }

.bottom_contact { overflow: hidden; }
.bottom_contact .mail_btn { width: 80%; height: 4em; line-height: 3.7em; margin-block-end: 1em;}
.bottom_contact .mail_btn i { line-height: 2em;}
.bottom_contact .left_img { bottom: 0; left: -10vw; width: calc(377vw / 12.2); }
.bottom_contact .right_img { bottom: 0;right: -5vw; width: calc(377vw / 12.2); }


#footer .site_info { display: block; padding: 0 2em 3em 2em;}
#footer .site_info .box { margin: 1em 0 0 0; }

#footer .office_list { display: block; }
#footer .office_list .box { border-bottom: dotted 2px #CCC; padding: 0 0 1em 0;}

#footer .logo img { width: calc(346vw / 6);}




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

#fv { width: 100%; height: calc(1080vw / 6.08); }

#fv .catch { padding: 0; top: calc(330vw / 5); line-height: 2.5; font-size: calc(38 * 0.14vw); }
#fv .catch em { font-size: calc(44 * 0.14vw); }


#fv .slug { display: none; }


#fv .scroll_btn { width: calc(196vw / 10.2); height: calc(195vw / 10.2); }




#top_about { padding: 5em 0 5.5em 0; }
#top_about .right_inner .text { width: 92%; margin: 0 auto 2em auto; float: none;}
#top_about .right_inner .thumb { width: 100%; border: solid 2px #000000; border-right: none; border-left: none;}
#top_about .link_list { display: block; margin-block-end: 3em; }
#top_about .link_list li { margin-block-end:1em; }

#top_about .link_list .list_btn { width: 100%; height: 3em; line-height: 3em; }
#top_about .link_list .list_btn i {line-height: 1.5em;}

#top_business { height: auto; padding: 1em 0 0 0; overflow: hidden; }
#top_business #top_business_wrapper { width: 100%; position: relative; top: 0;}
#top_business #top_business_wrapper .ttl .slug { color:#FFFFFF; }

#top_business #top_business_wrapper .box .thumb { display: block; width: 100%; height: 100%; float: none;}
#top_business #top_business_wrapper .box { margin-block-start: 0; margin-block-end: 0; height: auto;}
#top_business #top_business_wrapper .box .text { width: 100%; height: 100%; float: none; padding: 0 4% 0 4%;}
#top_business #top_business_wrapper .box .text dt { margin: 0; padding: 4em 0 1em 0; line-height: 1.2;}
#top_business #top_business_wrapper .box .text dd { margin: 0; padding: 1em 0 1em 0;}

#top_business #top_business_wrapper .box .text dd .circle { width: calc(120vw / 10.2); height: calc(120vw / 10.2); right: 0;top: -4em;}
#top_business #top_business_wrapper .box .text dd p { width: auto;}

#top_office { margin: 5em auto 0 auto; padding: 3em 1em 3em 1em; }

#top_office .ttl { writing-mode: unset; }

#top_office .top_office_wrapper {display: block; }
#top_office .top_office_wrapper::after { content: ""; clear: both; display: block; }

#top_office .top_office_wrapper .box { display: block; float: left; width: calc(342vw / 8.5); height: calc(746vw / 8.5); margin: 0 4% 1em 0; }
#top_office .top_office_wrapper .box:nth-of-type(2) { margin: 0 0 1em 0; }
#top_office .top_office_wrapper .box:nth-of-type(4) { margin: 0 0 1em 0; }

#top_office .top_office_wrapper .box .sales_list { padding: 0 0 0 0; list-style-type: none;font-size: calc(32 * 0.12vw);}
#top_office .top_office_wrapper .box .thumb { width: 100%; height: 100%; }

#top_office .top_office_wrapper .box .circle { width: calc(120vw / 10.2); height: calc(120vw / 10.2); }


#top_office .more.center {  }
#top_office .more.center i { line-height: 4em; }



#top_recruit { padding: 4em 0 5em 0;}
#top_recruit .ttl { position: static; margin-block-end: 4em; }

#top_recruit .grid_menu.flex { display: block; }
#top_recruit .box { display: block; width: 100%; height: calc(440vw / 7.2); box-shadow: 10px 10px 0 #000; padding: 1.25em 1.5em 1.25em 1.5em; margin-block-end: 2.25em; }

#top_recruit .box .circle { width: calc(120vw / 10.2); height: calc(120vw / 10.2); bottom: 1.25em; left: 2em;}


#top_recruit .box .thumb { width: calc(520vw / 9.2); z-index: 0; right:-1em; }
#top_recruit .box .slug { position: relative; z-index: 2; }

#top_recruit .box .num { right: 0.2em; top: 0.2em;}
#top_recruit .box i { line-height: 4em; }




.page_header { background: none; height: auto; }
.page_header .ttl { position: relative; padding: 0 1em 0 1em; z-index: 3; width: 100%; margin-block-start: 1.5em;margin-block-end: 1.5em;}
.page_header .ttl .slug { color: #FFF; }
.page_header .thumb { width: 100%; border-left: none; border-right: none; filter: brightness(0.8);}



.page_nav { padding: 3em 0 3em 0;}
.page_nav .link_list { margin: 0 auto;}
.page_nav .link_list li { width: 100%; margin: 0 0 1em 0; float:none;}
.page_nav .link_list li a { display: block; width: 100%; height: 4em; padding-top: 0.2em; }
.page_nav .link_list li a i { line-height: 2.5em; top: 0; }


#greeting .wrapper { padding: 1em 1em 1em 1em; }
#greeting .wrapper .ttl { margin-block-start: 1em; margin-block-end: 2em;}
#greeting .wrapper .thumb { position: static; width: 100%; filter: drop-shadow(0.5em 0.5em 0 #000000); margin-block-end: 1em;}
#greeting .wrapper .representative_name { width: 18em; backface-visibility: hidden;}


#philosophy { padding: 13em 0 13em 0; }
#philosophy .three_philosophies { display: block; }
#philosophy .three_philosophies .circle { width: calc(530vw / 6.5); height: calc(530vw / 6.5); margin: 0 auto 1em auto; }
#philosophy .management_policy_list li { padding: 0.5em 1em 0.5em 1em; border: solid 5px #05CFC6; }


#business_content { margin-block-start: -18em; padding-bottom: 3em;}

#business_content .company_profile .profile { width: 100%; float: none;}
#business_content .company_profile .profile.left,#business_content .company_profile .profile.right { border: none; }
#business_content .company_profile .profile .box { padding: 1em; margin: -1px 0 0 0; border: solid 1px #000; }
#business_content .company_profile .profile .box .field { width: 5em; }




#history .history_wrapper .box { padding: 1.5em 0 1.5em 0; }
#history .history_wrapper .box .since { width: 5em; padding: 1em 0.5em 1em 0.5em;}
#history .history_wrapper .box .text .list { padding: 0 0 0 1em; }


#office .box .middle_inner.flex { display: block; }
#office .box .text { width: 100%; }
#office .box .map { width: 100%; height: 300px; }
#office .box .btn { width: 8em; }
#office .box .btn i { top: 0.1em; }
#office .box .half { width: 100%; }
#office .box .half_map { width: 100%; height: 280px; }



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


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

#feed_order,
#passenger_transport { padding: 2em 0 3em 0; }


#transportation .transportation_wrapper,
#warehousing .warehousing_wrapper,
#feed_order .feed_order_wrapper ,
#dairy_farming .dairy_farming_wrapper,
#passenger_transport .passenger_transport_wrapper { padding: 2em 4% 3em 4%; }


#transportation .transportation_header_thumb,
#warehousing .warehousing_header_thumb,
#feed_order .feed_order_header_thumb,
#dairy_farming .dairy_farming_header_thumb,
#passenger_transport .feed_order_header_thumb { position: static; width: 100%; border: solid 2px #000000; filter: drop-shadow(0.5em 0.5em 0 #000000);margin-block-end: 1em; }


#warehousing .summary.text_right,
#dairy_farming .summary.text_right { text-align: left; }




.office_contents .wrapper { margin-top: -2em; padding: 1em 0 3em 0; clip-path: polygon(95% 0, 100% 3em, 100% 100%, 0 100%, 0 0);}

.office_contents .wrapper .office_contents_header .salse_office {margin-block-end: 3em; display: block;}

.office_contents .wrapper .office_contents_header .salse_office dt { display: block; width: 100%; line-height: 1; position: relative;}
.office_contents .wrapper .office_contents_header .salse_office dt .slug { display: inline-block; line-height: 1; margin-block-end: 0.5em; margin-right: 0.5em;}
.office_contents .wrapper .office_contents_header .salse_office dt .num { display: inline-block; line-height: 0.8;}

.office_contents .wrapper .office_contents_header .salse_office dt::after { right: 0; top: auto; bottom: -1em; display: block; width: 100%; height: 2px;}
.office_contents .wrapper .office_contents_header .salse_office dd { display: block; line-height: 1; padding: 0;}
.office_contents .wrapper .office_access .text { width: 100%;}
.office_contents .wrapper .office_access .map { width: 100%; height: 300px; }

.office_contents .wrapper .office_contents_header .salse_office dd .ttl { margin: 1.5em 0 0 0;}
.office_contents .wrapper .office_thumb_list { padding: 1em 0 1em 0; margin-block-start: 3em; margin-block-end: 1em;}

.office_contents .wrapper .facility { padding: 2em 1em 2em 1em; }


.office_contents .wrapper .facility .facility_header .ttl { width: 100%; margin-block-start: 0;}
.office_contents .wrapper .facility .facility_header .header_img { width: 100%;}

.office_contents .wrapper .facility .facility_header { padding: 0 0 2em 0;}
.office_contents .wrapper .facility .summary { margin-block-start: 1em;}

.office_contents .wrapper .office_contents_header .header_img { filter: drop-shadow(0.5em 0.5em 0 #000000);}



#page_header_recruit.page_header { height: auto; }
#page_nav_recruit { margin-block-start: 0; }



#message .wrapper1 { padding: 2em 0 2em 0; background-size: 150%; }
#message .wrapper1 .message_header .message_header_content { height: 100%;}
#message .wrapper1 .message_header .message_header_content .text { top: 6em; left: 1em; }
#message .wrapper1 .message_header .message_header_content .text p { font-size: calc(40 * 0.12vw); }

#message .wrapper1 .catch { margin-block-start: 4em; }


#message .wrapper2 { padding: 2em 0 2em 0; background-size: 300%;}
#message .wrapper2 .box { display: block; }
#message .wrapper2 .box dt { display: block; }
#message .wrapper2 .box dd { display: block; }

#interview .interview_staff { margin-block-end: 4em; }

#interview .interview_header { background-size: 220%; height: 25em;}
#interview .interview_header .staff_img { width: calc(983vw / 12.8); }

#interview .interview_staff .box .text { top: auto; left: 1em; bottom: 1em; width: 90%; }
#interview .interview_staff .number_box .slug { padding-right: 0; font-size: calc(20 * 0.15vw); }
#interview .interview_staff .qa_box { margin: 0; padding: 0.5em 1em 0.5em 1em; }

#interview .interview_staff .box .staff_area { margin-block-start: 0.5em; }
#interview .bg_interview { margin-block-end: -10em; }



#requirements .requirements_header { background-size: 220%; height: 18em;}
#requirements .requirements_header .staff_img { width: calc(983vw / 12.8); }
#requirements .requirements_header .ttl { margin-block-start: 0; }

#requirements .wrapper { padding: 1em 0 4em 0; top: -3em;}
#requirements .requirements_list .requirements_type { padding: 1em 1em 1em 1em;}
#requirements .requirements_list .requirements_type i { right: 0.5em; }

#requirements .requirements_list .requirements_detail .box { width: 100%; font-size: calc(20 * 0.18vw); margin: 0;}
#requirements .requirements_list .requirements_detail .box dt { width: 6em; padding: 1em 0.5em 1em 0;}
#requirements .requirements_list .requirements_detail .box dd { margin: 0; padding: 1em 0 1em 0;}


#requirements .letters { bottom: 0.5em;}

#mailform { padding: 2em 0 4em 0; }
#mailform .wrapper { padding: 1em 0 4em 0; }


#form .box { display: block; width: 100%;}

#form .box dt { display: block; width: 100%; padding: 1em 0 1em 0; border-bottom: 2px solid #000000; }

#form .box dd { display: block; width: 100%; margin:0; padding: 1em 0 1em 0;}
#form .box dt .required { padding: 0.3em 0.4em 0.3em 0.4em; }
#form.confirm .box dd { padding: 1em 0 1em 0; }

#form .next { width: 80%; height: 4em; margin-block-start: 2em; }
#form .next i {right: 0.5em; line-height: 2.75em;}

#form .back_btn {width: 48%; height: 4em; line-height: 4em; margin: 3.645833vw 0 0 0; }
#form .back_btn i { left: 0.5em; line-height: 2.75em; }

#form .send_btn {width: 48%; height: 4em; margin: 3.645833vw 0 0 0; }
#form .send_btn i { right: 0.5em; line-height: 2.75em; }



