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

body { font-size:calc(20 * 0.17vw); }
:target { scroll-margin-top: calc(130vw / 7.2); }


.fs12vw { font-size:calc(12 * 0.21vw); }
.fs14vw { font-size:calc(14 * 0.2vw); }
.fs15vw { font-size:calc(15 * 0.2vw); }
.fs16vw { font-size:calc(16 * 0.2vw); }
.fs17vw { font-size:calc(17 * 0.19vw); }
.fs18vw { font-size:calc(18 * 0.19vw); }
.fs20vw { font-size:calc(20 * 0.17vw); }
.fs21vw { font-size:calc(21 * 0.17vw); }
.fs22vw { font-size:calc(22 * 0.17vw); }
.fs23vw { font-size:calc(23 * 0.17vw); }
.fs24vw { font-size:calc(24 * 0.16vw); }
.fs25vw { font-size:calc(25 * 0.16vw); }
.fs26vw { font-size:calc(26 * 0.16vw); }
.fs27vw { font-size:calc(27 * 0.16vw); }
.fs28vw { font-size:calc(28 * 0.16vw); }
.fs29vw { font-size:calc(29 * 0.16vw); }
.fs30vw { font-size:calc(30 * 0.16vw); }
.fs31vw { font-size:calc(31 * 0.16vw); }
.fs32vw { font-size:calc(32 * 0.16vw); }
.fs33vw { font-size:calc(33 * 0.16vw); }
.fs34vw { font-size:calc(34 * 0.16vw); }
.fs35vw { font-size:calc(35 * 0.16vw); }
.fs36vw { font-size:calc(36 * 0.15vw); }
.fs37vw { font-size:calc(37 * 0.15vw); }
.fs38vw { font-size:calc(38 * 0.15vw); }
.fs40vw { font-size:calc(40 * 0.14vw); }
.fs42vw { font-size:calc(42 * 0.14vw); }
.fs44vw { font-size:calc(44 * 0.12vw); }
.fs45vw { font-size:calc(45 * 0.12vw); }
.fs46vw { font-size:calc(46 * 0.12vw); }
.fs48vw { font-size:calc(48 * 0.11vw); }
.fs50vw { font-size:calc(50 * 0.11vw); }
.fs52vw { font-size:calc(52 * 0.11vw); }
.fs53vw { font-size:calc(53 * 0.11vw); }
.fs54vw { font-size:calc(54 * 0.11vw); }
.fs55vw { font-size:calc(55 * 0.11vw); }
.fs56vw { font-size:calc(56 * 0.11vw); }
.fs58vw { font-size:calc(58 * 0.11vw); }
.fs60vw { font-size:calc(60 * 0.11vw); }
.fs62vw { font-size:calc(62 * 0.11vw); }
.fs64vw { font-size:calc(64 * 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.1vw); }
.fs72vw { font-size:calc(72 * 0.095vw); }
.fs80vw { font-size:calc(80 * 0.095vw); }
.fs84vw { font-size:calc(84 * 0.095vw); }
.fs90vw { font-size:calc(90 * 0.095vw); }
.fs98vw { font-size:calc(98 * 0.08vw); }
.fs100vw { font-size:calc(100 * 0.08vw); }
.fs105vw { font-size:calc(105 * 0.08vw); }
.fs110vw { font-size:calc(100 * 0.08vw); }
.fs140vw { font-size:calc(140 * 0.08vw); }
.fs160vw { font-size:calc(160 * 0.08vw); }

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

.more { width: 60vw; height: 13vw; line-height: 13vw; margin: 2em auto 2em auto; }
.more i { right: 4.5vw; line-height: 13vw;}
.more.center {  margin: 2em auto 2em auto;}



.bottom_contact .inner .email_btn { width: 60vw; height: 13vw; line-height: 13vw; margin: 2.5em auto 2em auto; }


.inner { width: 92%; max-width: unset; }
.middle_inner { width: 90%; max-width: unset; }
.inner_right { width: 90%; max-width: unset; margin-right:auto; margin-left:auto; }
.inner_left { width: 90%; max-width: unset; margin-right:auto; margin-left:auto; }

.low_inner { width: 90%; max-width: unset; }
.minimum_inner { width: 90%; max-width: unset; }




.ttl.infinity_bg { width: calc(700vw / 10.2); height: calc(357vw / 10.2); }





#header { height: calc(130vw / 7.2); padding:0; }
#header .header_inner { width:100%; }

#header .logo { width: calc(300vw / 6.5); height: auto; }
#header .logo a.flex .logo_thumb { width: calc(94vw / 7.2); }

#google_translate_element { position: static; margin-block-start: 1em; }
#google_translate_element .goog-te-gadget-simple { font-size: inherit; }

#header .header_nav .link_list { width: 100%; }

#header #hamburger { background: none; z-index: 9999; }
#header #hamburger .bar {
	display: block; width: calc(60vw / 6.2); height: 2px;
	transition: transform 0.3s ease, opacity 0.3s ease;transform-origin: center center; transform: none;
}

#header.is_scrolled .bar { background-color:#044396; }

#header #hamburger .bar_1 { margin-block-end:calc(15.25vw / 6.2); }

#header:has(#hamburger.active) .logo a.flex { color:#044396; }

#header #hamburger.active .bar_1 { transform: translateY(var(--offset)) rotate(45deg); background-color:#044396; }
#header #hamburger.active .bar_2 { transform: translateY(calc(var(--offset) * -1)) rotate(-45deg); background-color:#044396; }


#header .header_nav.right { float:none; }



#header #drawer {
	position: fixed;top: 0;left: 0;width: 100%; height: 100%; display: flex; opacity:0;transition: opacity 0.3s ease; pointer-events:none;
	justify-content: flex-start; align-items: flex-start; z-index: 1000;
}
#header #drawer.open {opacity:1; pointer-events:auto;}

#header #drawer .drawer_content { width: 100%;height: 100%;transform: translateX(200%);transition: transform 0.3s ease; padding: 5em 2em 4em 2em; grid-template-rows: 20em; background-color:#FFFFFF; }
#header #drawer.open .drawer_content { transform: translateX(0); overflow-y: scroll; }
#header .drawer_menu .drawer_content .drawer_content_wrapper { display: block; }

#header .header_nav .link_list.flex { display:block; margin: 2em 0 3em 0; }

#header .header_nav .link_list .page { margin: 0; padding: 0.75em 0 0.75em 0; }
#header .header_nav .link_list .page a { font-size:calc(40 * 0.15vw); color: #2D2F3B; }

#header .header_nav .email_btn { display:none; }


#header .contact_block {  }
#header .contact_block .contact_block_ttl {  }
#header .contact_block .contact_block_ttl .slug { position: relative; display:block; width:max-content; margin: 0 auto; }
#header .contact_block .contact_block_ttl .slug::before {
	content: ""; position: absolute; z-index: 0; border: solid 2px #177D4A; border-radius: 100vmax;
	inset: -0.05em auto 0 -1em; clip-path: inset(0 0.4em 0 0); width: calc(47vw / 6.2); height: calc(47vw / 6.2);
}



#header .contact_block .btn { width: 100%; aspect-ratio: 17 / 4; align-items: center; margin: 1.5em 0 1.5em 0; border: solid 1px #044396; }
#header .contact_block .btn .icon { display: grid; place-content: center; width: calc(166vw / 7.2); height:calc(120vw / 7.2); border-right:solid 1px #044396; }
#header .contact_block .btn dl { width: calc(440vw / 7.2); }
#header .contact_block .btn dl dt {  }
#header .contact_block .btn dl dd { margin:0; }







.bottom_contact { padding: 1em 0 3em 0; background-size: cover; }
.bottom_contact .middle_inner.flex { display:block; }

.bottom_contact .bottom_contact_ttl { width: calc(100% - 3em); }
.bottom_contact .bottom_contact_ttl::before { inset: 0 auto 0 -3em; clip-path: inset(0 0.3em 0 0);  width: calc(290vw / 7.2); height: calc(290vw / 7.2); }
.bottom_contact .bottom_contact_ttl .slug { margin-block-end: 0.5em; }

.bottom_contact .text { width: 100%; padding: 3em 0 0 0; }
.bottom_contact .btn_box { display:block; width: 100%; }
.bottom_contact .btn_box .btn .icon { width: calc(166vw / 7.2); height: calc(120vw / 7.2); }
.bottom_contact .btn_box .btn dl { width: calc(440vw / 7.2); }





#footer .middle_inner.flex { display:block; }
#footer .site_info { width: 100%; }
#footer .logo { width: calc(300vw / 6.5); height: auto; }
#footer .logo a.flex .logo_thumb { width: calc(94vw / 7.2); }


#footer .footer_nav { width: 100%; }
#footer .footer_nav ul.flex { display:block; }
#footer .footer_nav ul.flex li { margin:1em 0 1em 0; }


#footer .copy { padding: 2em 0 2em 0; margin: 0 auto; text-align: center; }

#page_top {  width: calc(70vw / 7.2); height: calc(70vw / 7.2); inset: auto 2em 5em auto; }



#fv { aspect-ratio: 9 / 12; height: 100%; }
#fv .slide { width:100%; overflow: hidden; }
#fv .text { inset: auto auto 1em 4%; }
#fv .fv_recruit { inset: auto 1em 18em auto; width: calc(320vw / 10.2); }
#fv .slide::before {
	content:""; position:absolute; inset:0; z-index:1; width:100%; height:100%;
	background: linear-gradient(to bottom,transparent 0, transparent 60%,#000000 100%);
}


#fv .recruit_banner { width: 80%; inset: auto 0 -11em 0; margin: auto; }





#top_about { z-index: 0; padding: 12em 0 12em 0; }
#top_about .inner_right{ display: block; }

#top_about .text { width:100%; float:none; }
#top_about .thumb { display: block; width:100%; height:auto; aspect-ratio: 351 / 239; float:none; margin-block-start: 3em; }



#top_business .business_content .box { width: 100%; height: calc(550vw / 5.9); margin: 0 auto 1em auto; }
#top_business .business_content .box .text dl dt .slug .icon { width: calc(50vw / 10); }



#top_our_fleet { padding:1.5em 0 1.5em 0; }
#top_our_fleet .inner_right { display:block; }
#top_our_fleet .text { width:100%; padding-top:0; }
#top_our_fleet .thumb { display: block; width: 100%; clip-path: unset; }



#top_recruit { padding: 6em 0 6em 0; }
#top_recruit .content { display:block; }
#top_recruit .text { }

#top_recruit .top_recruit_banner { width: 100%; }
#top_recruit .thumb { margin-block-start: 3em; display: block; width: 100%; clip-path: unset; }







.page_header { height: calc(760vw /12.2); overflow:hidden; }
.page_header .page_header_ttl { margin: 1.75em 0 0 0; }





#message {
	padding-bottom: calc(150vw / 7.2);
}

#message .content .text { width:100%; float:none; }
#message .content .thumb { width: 100%; float: none; margin: 0 0 2em 0; }


.sepalate { height: calc(850vw / 7.2); }


#company .content { display:block; }
#company .profile { width: 100%; }
#company .profile .box dt { width: 6em; }
#company .thumb { margin-block-start: 3em; width: 100%; }

#location_access { padding: 5em 0 4em 0; }
#location_access .location_access { display:block; }
#location_access .box { width: 100%; margin-block-end: 3em; }
#location_access .box .label { display: block; }
#location_access .box .label .address { display: block; }



#the_cycle { padding: 8em 0 4em 0;  background-size: cover; }


#business {
	
}

#business .content .text { width:100%; float:none; box-shadow: 0 0 3px #EEEEEE; }
#business .content .thumb { display: block; width:100%; float:none; margin-block-end: 3em; }
#business .content .thumb figcaption { inset: auto auto calc(36vw / 7.2) calc(36vw / 7.2); }
#business .content .text .lead dt .slug .icon { width: calc(50vw / 12.2); }



#transportation_network .transportation_network_wrapper { display: block; }

#transportation_network .text { width: 100%; }
#transportation_network .thumb { width: 100%; clip-path: unset; margin-block-start: 3em; }
#transportation_network .text .stats_ttl .icon { width: calc(44vw / 7.2); height: calc(44vw / 7.2); }

#transportation_network .text .stats { display: block; }


#our_fleet .fleet_group .group_ttl::before { width: calc(6vw / 7.2); height: calc(50vw / 7.2); }


#our_fleet .fleet_group .thumbs { display: block; }
#our_fleet .fleet_group .thumbs .thumb { margin-block-end: 2em; }



#our_work { padding: 8em 0 12em 0; }
#our_work .lead .summary { width: 100%; }

#our_work .illust_left { width: calc(412vw / 16.2); }
#our_work .illust_right { width: calc(346vw / 16.2); }




.our_strengths_bg { background-size: calc(40vw / 7.2) calc(40vw / 7.2); }
#our_strengths {  }
#our_strengths .strengths .text { width: 100%;  float: none; padding: 0 0 3em 0;}
#our_strengths .strengths .thumb { width: 100%; float: none; }
#our_strengths .strengths .text .watermark { position: static; font-size: calc(120 * 0.12vw); }
#our_strengths .strengths .text .label::after { inset: auto 0 calc(-28vw / 7.2) 0; width: calc(28vw / 7.2); height: calc(30vw / 7.2); }

#our_strengths .strengths .thumb .illust { width: calc(354vw / 10.2); }


#our_strengths .catch_box { width: 100%; }
#our_strengths .catch_box .catch_box_text { width: 100%; }
#our_strengths .catch_box .tab::after { inset: auto 0 calc(-28vw / 7.2) 0; width: calc(28vw / 7.2); height: calc(30vw / 7.2); }



#our_strengths .catch_box .illust { width: calc(596vw / 12.2); }
#our_strengths .catch_box .arrow { width: calc(80vw / 7.2); inset: calc(-22vw / 7.2) calc(40vw / 7.2) auto auto; }
#our_strengths .catch_box .arrow.arrow.flip { inset: auto auto calc(-22vw / 7.2) calc(40vw / 7.2); }

#our_strengths .catch_box .tab { display: flex; text-align: center; justify-content: center; }

#our_strengths .catch_box .box { padding: 1.75em 1.75em 9em 1.75em; }




#requirements .box { display: block; }
#requirements .box dt { display: block; width: 100%; }
#requirements .box dd { display: block; width: 100%; padding: 1.2em 0 1.75em 0; border-bottom: none; }


#requirements .requirements_entry { height: auto; padding: 0 0 3em 0; }



#requirements .entry_box { width: 90%; margin: 0 auto; }
#requirements .entry_box .ttl { width: max-content; padding: 0.4em 1em; }
#requirements .entry_box .ttl::after { inset: auto 0 calc(-28vw / 7.2) 0; width: calc(28vw / 7.2); height: calc(30vw / 7.2); }

#requirements .entry_box .btn_box .btn { height: calc(160vw / 8.2); }
#requirements .entry_box .btn_box .btn .icon { width: calc(166vw / 8.2); height: calc(110vw / 8.2); }
#requirements .entry_box .btn_box .btn dl { width: calc(440vw / 8.2); }

#requirements .entry_illust { display: none; }



#contact_hero { padding: 8em 0 5em 0; }
#contact_hero .tel_box { display: block; }
#contact_hero .tel_box dt { display: block; width: 100%; height: calc(140vw / 7.2); border-right: none; border-bottom: solid 1px #044396; }
#contact_hero .tel_box dd { display: block; width: 100%; }

#form .contact_wrapper { width:100%; }
#form .box { display:block; }
#form .box dt .required { padding: 0.5em; }
#form .box dt .any { padding: 0.5em; }
#form .box dt { display:block;width: 100%; padding: 2em 0 0.5em 0; }
#form .box dd{ display: block; margin:0; padding: 1em 0 1.5em 0; }




#form .next {width: 90%; height: calc(90vw / 7.2); }
#form .back_btn {width: 90%; height: calc(90vw / 7.2); line-height: calc(90vw / 7.2); float:none; margin:0 auto;}
#form .send_btn {width: 90%; height: calc(90vw / 7.2); float:none; margin: 0 auto 3em auto; }

#form .send_box { width:100%; }



#entry_hero { padding: 8em 0 5em 0; }
#entry_hero .tel_box { display: block; }
#entry_hero .tel_box dt { display: block; width: 100%; height: calc(140vw / 7.2); border-right: none; border-bottom: solid 1px #044396; }
#entry_hero .tel_box dd { display: block; width: 100%; }


#entry .contact_wrapper { width:100%; }




.entry_form .tab_btns { display: block; }
#form .tab_btns .tab_btn { display: block; width: 100%; margin: 0 0 1.5em 0; }
.entry_form .tab_btn .upload_icon { width: calc(42vw / 7.2); }
.entry_form .tab_btn .pen_icon { width: calc(28vw / 7.2); }

.entry_form .tab_btn .tab_btn_inner { font-size: calc(20 * 0.18vw); }


