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

html {scroll-behavior: smooth;}
:target { scroll-margin-top: calc(80vw / 19.2); }

body {
	color:#000000; font-size:calc(18 * 0.052vw); line-height: 2; letter-spacing: 0;
	font-family: "Noto Sans JP","Yu Gothic", "Meiryo", "Hiragino Kaku Gothic ProN", sans-serif; font-weight:600;
	margin: 0 auto; height: 100%; overflow-x:hidden;
}

*, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box;-o-box-sizing: border-box;  -ms-box-sizing: border-box;box-sizing: border-box;}

.pop { font-family: "Poppins", sans-serif; font-weight: 500; font-style: normal; }

.rl { -ms-writing-mode: tb-rl; writing-mode: vertical-rl;}

button,input,textarea,select { appearance: none; -webkit-appearance: none; border:none; font-family: inherit; font-size: inherit; font-weight:600; letter-spacing: 0.1vw; }

strong { font-weight:900; }


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


img { border: none; vertical-align: middle; }

img.top { vertical-align: top; }
img.bottom { vertical-align: bottom; }
img.banner { border: solid 1px #DDD; }


address, em { font-style: normal; }

a { color: #000000; text-decoration: none; }

a;hover,input[type="submit"]:hover, input[type="reset"]:hover {opacity: 0.9; filter: alpha(opacity=90); -ms-filter: "alpha( opacity=90 )";}


.position_r { position:relative; z-index:1; }
.position_a { position:absolute; z-index:2; }

/*********** class ****************************************/


/********** float ************/
.c-both { clear: both; }
.clearfix::after { content: ""; clear: both; display: block; }
.left { float: left; }
.right { float: right; }
.center { display: block; margin-left: auto; margin-right: auto; text-align: center; }
.txt_right { margin-left:auto; margin-right:0; text-align:right; }


/******* end float **********/

/******* flex box ***********/
.flex {display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex;justify-content: space-between;}
.height { flex-wrap: wrap; align-items: stretch;}

/* image parent cover *******/
.fit { object-fit: cover; font-family: 'object-fit: cover;'; max-width: 100%; }

/****** layout ********/
.inner { width:calc(1720vw / 19.2); margin: 0 auto;}
.inner_right { width:calc(1840vw / 19.2); margin:0 0 0 auto; }
.middle_inner { width:calc(1610vw / 19.2); margin: 0 auto;}
.middle_inner_right { width:calc(1760vw / 19.2); margin:0 0 0 auto; }
.low_inner { width:calc(1340vw / 19.2); margin: 0 auto;}
.minimum_inner {width: 94%; max-width: 1120px; margin: 0 auto;}

.heading { width: 100%; }

/* image parent cover *******/
.fit { object-fit: cover; font-family: 'object-fit: cover;'; max-width: 100%; }

dl.table { display:table; width:100%; }
dl.table dt,dl.table dd { display:table-cell; }

/****** display ********/

.pc { display: unset; }
.sp { display: none; }
.grid { display: grid; }


.black { color:#000000; }
.white { color:#FFFFFF; }
.red { color:#EB1D20; }
.light_red { color:#FCB4B6; }
.gray { color:#AAB4B6; }
.light_gray { color:#E9E8E8; }

.bg_black { background-color:#000000; }
.bg_white { background-color:#FFFFFF; }
.bg_red { background-color:#EC2B30; }
.bg_gray { background-color:#CCD1D2; }
.bg_blue { background-color:#09A4EE; }

.ttl { line-height: 1; margin-block-start: 1em; margin-block-end: 3em; }
.ttl .slug { display:block; padding:0 0 0.9vw 0; }

.ttl .ja { display:inline-block; padding: 0.2em 0 1em 0; border-bottom: solid 2px #EB1D20; font-weight: 900;}

.sub_ttl { width: max-content; padding: 0 0 1em 0; border-bottom: solid 2px #EB1D20; font-weight: 900; }

.more {
	position:relative; width:calc(530vw / 19.2); height:calc(150vw / 19.2); margin:3em 0 3em 0; text-align:center;
	justify-content: center; align-items: center; border:solid 1px #000000;
}
.more.center { margin:1em auto 1em auto;}
.more i { position:absolute; right:1vw; line-height: calc(150vw / 19.2); }
.more:hover { opacity:1; background:#000000; color:#FFFFFF; }
.more:hover i { color:#FFFFFF; }


.scale_in {overflow: hidden;}
.scale_in img { -webkit-transform: scale(1); transform: scale(1); -webkit-transition: .3s ease-in-out; transition: .3s ease-in-out; overflow:hidden; width: 100%; }
.scale_in img:hover { -webkit-transform: scale(1.05); transform: scale(1.05); }


.text_curtain { width: max-content; overflow: hidden;}
.text_curtain .curtain { clip-path: inset(0 100% 0 0); transition: clip-path 1s ease; }
.text_curtain.active .curtain { clip-path: inset(0 0 0 0); }


.fade { opacity:0; transition:opacity 2s ease; }
.fade.active { opacity:1; }
.fade_up {
	opacity:0;
	transform: translateY(3vw);
	transition:opacity 2s ease,transform 2s ease;
}
.fade_up.active { opacity:1; transform: translateY(0); }




#header { position:fixed; top: 0; width: 100%; z-index: 999; height:calc(80vw / 19.2); }

#header .inner_right { justify-content: flex-end; align-items: center; }

#header .logo { position: absolute; left:0; z-index: 1001; margin: 0; line-height: 1; width:calc(310vw / 19.2); }


#header .drawer-menu { justify-content: flex-end; align-items: center; }


#google_translate_element { margin-right:3em; }

#header .contact {
	display:inline-block; width:calc(180vw / 19.2); height:calc(80vw / 19.2); /*line-height:calc(80vw / 19.2);*/ line-height: 1.5; padding-top: 0.5em; text-align:center;
	letter-spacing: 0.1vw;
}
#header .entry {
	display:inline-block; width:calc(180vw / 19.2); height:calc(80vw / 19.2); /*line-height:calc(80vw / 19.2);*/ line-height: 1.5; padding-top: 0.5em; text-align:center;
	letter-spacing: 0.1vw;
}

#header .contact .ja,#header .entry .ja { display:block; }

#header #hamburger {
	z-index: 1001; justify-content: center; align-items: center; width:calc(180vw / 19.2); height:calc(80vw / 19.2); text-align:center; cursor: pointer;
}
#header #hamburger .icon { display: inline-block; margin-right:0.3em; }
#header #hamburger .bar { display: block; height: 2px; margin: 0.5em 0 0.5em 0; width: calc(30vw / 19.2); transform: rotate(0); transition:transform 0.6s ease; }
#header #hamburger.active .bar_1 { transform: translateY(0.3vw) rotate(45deg); }
#header #hamburger.active .bar_2 { transform: translateY(-0.3vw) rotate(-45deg); }



#header .drawer-menu {
	position: fixed;top: 0;left: 0;width: 100%;height: 100%;background: rgba(0,0,0,0.5);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-menu.open {opacity:1; pointer-events:auto;}

#header .drawer-content {width: 100%;height: 100%;transform: translateX(200%);transition: transform 0.3s ease;padding: 20px;}
#header .drawer-menu.open .drawer-content {transform: translateX(0);}

#header .drawer-menu .grid { padding: 6em; position: relative; z-index: 100; }
#header .drawer-menu ul { list-style-type:none; margin:0 0 0 0; padding:0 0 2.447916vw 0; }

#header .drawer-menu .grid1 { grid-column: 1; grid-row: 1 / 2; }
#header .drawer-menu .grid2 { grid-column: 2; grid-row: 1 / 2; }
#header .drawer-menu .grid3 { grid-column: 3; grid-row: 1 / 2; }

#header .drawer-menu .grid4 { grid-column: 1; grid-row: 2 / 2; }

#header .drawer-menu .grid7 { grid-column: 2; grid-row: 2 / 2; }


#header .drawer-menu ul li a .slug { display:block; }

#header .drawer-menu ul li.page_name { margin:0 0 1.3541666vw 0; }
#header .drawer-menu ul li.page_name a { position:relative; display:inline-block; padding:0 0 0 2.239583vw; line-height: 1; }
#header .drawer-menu ul li.page_name a i { position:absolute; top: 0.5vw; left:-0.239583vw; }

#header .drawer-menu ul li.section_name { margin:0 0 1.197916vw 0; }
#header .drawer-menu ul li.section_name a { position:relative; display:inline-block; padding:0 0 0 1.875vw; line-height: 1; }
#header .drawer-menu ul li.section_name a i { position:absolute; top: -0.3vw; left:-0.239583vw; }


.bottom_contact {
	padding:6em 0 1em 0;
	background-image:url(../img/bottom_contact_bg.jpg); background-size:100%; background-position:center top; background-repeat:no-repeat;
}
.bottom_contact .middle_inner { background-color:rgba(255,255,255,0.95); padding:2em; filter:drop-shadow(0 0 3px rgba(90, 100, 103,0.2)); }
.bottom_contact .middle_inner .bottom_contact_ttl {  }
.bottom_contact .middle_inner .bottom_contact_ttl .slug { display:block; line-height: 1.7; }
.bottom_contact .middle_inner .bottom_contact_ttl .ja { font-weight: 700; }

.bottom_contact .middle_inner .summary { margin-block-start: 2em; margin-block-end:3em; }
.bottom_contact .middle_inner .more { border:solid 1px #EC2B30; }
.bottom_contact .middle_inner .more:hover { background-color:#EC2B30; }

#footer { padding:6em 0 0 0; }
#footer .site_name {  }
#footer .site_name .logo { width:calc(340vw / 19.2); margin-block-end: 3em; }

#footer .site_info {  }
#footer .site_info ul { list-style-type:none; padding: 0; }
#footer .site_info ul .page_name { margin-left: calc(70vw / 19.2); }
#footer .site_info ul .page_name .section_name { margin-block-start: 0.5em; }
#footer .site_info ul .page_name .section_name li {  }
#footer .site_info ul .page_name .section_name li .bar { display:inline-block; margin-right:0.4em; }

#footer .copy { padding:0.3em 0 0.3em 0; margin-block-start:6em; }

#ptop {
	width:calc(83vw / 19.2); height:calc(83vw / 19.2); justify-content: center; align-items: center; bottom: 3em; right: 1em;
	opacity: 0; pointer-events: none; transition: opacity 0.4s ease;
}
#ptop.show { opacity: 1; pointer-events: auto; }





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


#fv {
	height:100%; border-bottom:solid calc(42vw / 19.2) #000000;
	background-image:url(../img/home/fv_bg.png); background-size:100%; background-position:center bottom; background-repeat:no-repeat;
}

#fv .swiper { width: 100%; height: 100%; }
#fv .swiper .swiper-pagination { text-align: right; padding-right: 5.7em; bottom: 3.8em; }
#fv .swiper .swiper-pagination-bullet { border-radius: unset; width: calc(54vw / 19.2); height: 4px; caret-color: transparent; cursor: pointer; background-color:rgb(2255, 255, 255); opacity: .8; }
#fv .swiper .swiper-pagination-bullet-active { background-color:rgb(236, 43, 48); }


#fv .logo { width: calc(208vw / 19.2); top: calc(236vw / 19.2); left: calc(55vw / 19.2); }

#fv .catch { top: calc(444vw / 19.2); left: calc(55vw / 19.2); }
#fv .catch span { display:block; width:max-content; padding: 0 0.5em 0 0.5em; margin-block-end: 0.5em; }


.scroll_down { bottom: 10vw; left: 0.88vw; line-height: 1;}
.scroll_down::before { position: absolute; display: block; content: ""; bottom: -6.75vw; left: 0.45vw; width: 2px; height: 6.25vw; background: rgb(0, 0, 0); }
.scroll_down::after {
	position: absolute; display: block; content: ""; bottom: -1vw; left: 0.225vw; width: 0.572916vw; height: 0.572916vw; border-radius: 100vmax; background: rgb(236, 43, 48);
	animation: 1.6s ease-in-out 0s infinite normal none running circlemove, 1.6s ease-out 0s infinite normal none running cirlemovehide;
}
@keyframes circlemove{
	0%{bottom:-1vw;}
	100%{bottom:-6.75vw;}
}
@keyframes cirlemovehide{
	0%{opacity:0}
	50%{opacity:1;}
	80%{opacity:0.9;}
	100%{opacity:0;}
}



#top_about {
	padding:6em 0 0 0;
	background-image:url(../img/home/top_about_bg.jpg); background-size:cover; background-position:center top; background-repeat:no-repeat;
}


#top_about .logo { width:calc(671vw / 19.2); top:0; right:1vw; }
#top_about .catch { margin-block-end:2em; }

#top_about .cat { background-color: #000000; }
#top_about .cat .box { width:calc(100% / 3); height: calc(380vw / 19.2); border: solid 4px #000000;}
#top_about .cat .box .cat_ttl {  display: flex; align-items: center; justify-content: space-between; width: calc(92vw / 19.2); height: 100%; padding: 1.5em 8px 1.5em 0; }
#top_about .cat .box .cat_ttl i { line-height: 1.2; }
#top_about .cat .box .slug { bottom: 0; right: 0.5em;  font-weight: 700; line-height: 1.5; opacity: 0.8; }



#top_business {
	padding:6em 0 6em 0;
	background-image:url(../img/home/top_business_bg.jpg); background-size:cover; background-position:center top; background-repeat:no-repeat;
}

#top_business .box { width:calc(770vw / 19.2); filter:drop-shadow(0 0 3px rgba(88, 98, 101,0.2)); margin: 0 0 4em 0; padding:2em; border-radius:5px; }
#top_business .box .thumb { display: block; width:100%; }
#top_business .box figcaption { margin:0; padding:1em 0 0 0; }
#top_business .box figcaption .slug { font-weight:700; }
#top_business .box figcaption dl { margin:0; padding:0; }
#top_business .box figcaption dl dt { margin:0; padding: 0 0 1em 0; }
#top_business .box figcaption dl dt a.flex { align-items: center; }
#top_business .box figcaption dl dd{ margin:0; padding:1em; }


#top_business .box.left { margin-block-start: 4.16vw; }



#top_recruit {  }
#top_recruit .top_recruit_header {
	padding:6em 0 8em 0;
	background-image:url(../img/home/top_recruit_header_bg.jpg); background-size:cover; background-position:center top; background-repeat:no-repeat;
}


#top_recruit .top_recruit_header .catch { margin-block-end:0; }


#top_recruit .top_recruit_content {
	padding:0 0 2em 0;
	background-image:url(../img/home/top_recruit_content_bg.jpg); background-size:cover; background-position:center bottom; background-repeat:no-repeat;
}

#top_recruit .top_recruit_content .low_inner { position: relative; top: -3.83em; }
#top_recruit .top_recruit_content .low_inner .more { margin-block-start:4em; }

#top_recruit .top_recruit_content .box { padding:2em; margin-block-end:1.38em; filter:drop-shadow(0 0 3px rgba(94, 103, 106,0.2))}
#top_recruit .top_recruit_content .box .text { width:calc(616vw / 19.2); margin:0; padding:0; }
#top_recruit .top_recruit_content .box .text dt { margin:0; padding:0 0 1em 0; }
#top_recruit .top_recruit_content .box .text dt .slug { display:block; font-weight:700; line-height: 1.2; }
#top_recruit .top_recruit_content .box .text dt .link { justify-content: flex-start; align-items: center; }
#top_recruit .top_recruit_content .box .text dt .anchor { margin-right:2em; font-weight: 700; }

#top_recruit .top_recruit_content .box .text dd { margin:0; padding:0; }


#top_recruit .top_recruit_content .box .thumb { width:calc(616vw / 19.2); }




.page_header {
	padding: 3em 0 3em 0; border-bottom:solid 1em #EC2B30;
	background-image:url(../img/page_header_bg.png); background-repeat:repeat-x; background-position:center bottom;
}
.page_header .page_ttl {  }
.page_header .page_ttl .slug { display:block; line-height: 1; }

#page_recruit.page_header {
	background-image:url(../img/recruit/page_recruit_header_bg.jpg); background-size:cover;
}
#page_recruit.page_header .scroll_down::before { background: rgb(255, 255, 255); }









#greething {
	padding: 6em 0 6em 0;
	background-image:url(../img/about/greething_bg.jpg); background-size:100%; background-position:center top; background-repeat:no-repeat;
}
#greething .middle_inner { padding:4em; filter:drop-shadow(0 0 3px rgba(90, 100, 103,0.2)); border-radius:1.5em; }
#greething .middle_inner .logo { width:calc(695vw / 19.2); top:4em; right:5em; z-index: 0; }

#company {
	margin-block-start: calc(-390vw / 19.2); z-index:0;
	padding: calc(500vw / 19.2) 0 6em 0;
	background-image:url(../img/about/company_right_bg.jpg),url(../img/about/company_left_bg.jpg);
	background-size:calc(475vw / 19.2),calc(342vw / 19.2); background-position: right top, left bottom; background-repeat:no-repeat,no-repeat;
}

#company .content {  }
#company .content .half { width:48%; }
#company .content .half .box { margin:0; }
#company .content .half .box dt { width: 7em; margin:0; padding:1em 0 1em 0; border-bottom:solid 2px #EB1D20; }
#company .content .half .box dd { margin:0; padding:1em 0 1em 2em; border-bottom:solid 2px #CCD1D2; }


.company_separater { padding:1.44em 0 1.44em 0; }
.company_separater .thumb { width:calc(652vw / 19.2); }


#access { padding: 6em 0 6em 0; }
#access .text { width:calc(510vw / 19.2); }

#access .text .address { display:block; margin:1.5em 0 1.5em 0; }

#access .text .box { margin:0; }
#access .text .box dt { width: 7em; margin:0; padding:1em 0 1em 0; border-bottom:solid 2px #EB1D20; }
#access .text .box dd { margin:0; padding:1em 0 1em 2em; border-bottom:solid 2px #FFFFFF; }


#access #gmap { margin-block-start: 4em; width:calc(1000vw / 19.2); height:calc(550vw / 19.2); min-height:300px; border:solid 2px #000000; }




#business {
	padding: 6em 0 6em 0;
	background:url(../img/business/business_bg.jpg),#CCD1D2; background-repeat:no-repeat,repeat; background-size:100%,100%; background-position:center top,center bottom;
}


#business .box {
	padding:4em; filter:drop-shadow(0 0 3px rgba(90, 100, 103,0.2)); border-radius:1.5em; margin-block-end:4em;
	background: linear-gradient(to right, #FFFFFF 0%, #FFFFFF 90%, #EC2B30 90%, #EC2B30 100%) no-repeat
	
}
#business .box .content {  }


#business .box .content .summary { margin-block-end:2em; }
#business .box .content .img_box { margin-block-start:2em; }


#business #electrical .content .img_box .thumb { width:calc(458vw / 19.2); }
#business #electrical .en { z-index: 0; margin: 0; top: 0.3em; right: 0.8em; line-height: 1; filter: brightness(0.8); opacity: 0.3; text-align: right; }

#business #telecommunication .content .text { width:calc(680vw / 19.2); }
#business #telecommunication .content .img_box { width:calc(730vw / 19.2); }
#business #telecommunication .content .img_box .thumb { width:calc(344vw / 19.2); }

#business #telecommunication .en { margin: 0; z-index: 0; margin: 0; top: 0.3em; left: 0.3em; line-height: 1; filter: brightness(0.8); opacity: 0.3; }


.business_separater { width:100%; height:calc(390vw / 19.2); z-index: 10; }
.business_separater img { width:calc(1690vw / 19.2); top:calc(50vw / 19.2); left:0; }


#history {
	padding: 8em 0 6em 0;
	background-image:url(../img/business/history_right_bg.jpg),url(../img/business/history_left_bg.jpg);
	background-size:calc(475vw / 19.2),calc(342vw / 19.2); background-position: right top, left bottom; background-repeat:no-repeat,no-repeat;
}

#history .content {  }
#history .content .since_ttl{  }

#history .content .since { position:relative; width:calc(160vw / 19.2); border-right:solid 10px #FCB4B6; padding: 1.5em 0 1.5em 0; }
#history .content .detail { width:calc(1080vw / 19.2); padding: 1em 0 1em 0; }
#history .content .detail .box { margin:0; }
#history .content .detail .box dt { margin:0; padding: 0.5em 2em 0.5em 0; border-right:solid 2px #CCD1D2; width:5em; text-align: right; }
#history .content .detail .box dd { margin:0; padding: 0.5em 0 0.5em 2em; }

#history .logo { width:calc(695vw / 19.2); bottom:2em; right:4%; z-index: 0; }



#hiring_manager {
	padding: 6em 0 6em 0;
	background-image:url(../img/recruit/hiring_manager_bg.jpg);
	background-size:100%; background-position: center bottom; background-repeat:no-repeat;
}

#hiring_manager .catch { margin: 2em 0 2em 0; }
#hiring_manager .en { line-height:1.1; top:-0.5em; right:4%; z-index:0; text-align: right; }
#hiring_manager .box {
	border:solid 2px #EB1D20; padding:2em; margin: 2em 0 2em 0; box-shadow: 0 0 3px rgba(90, 100, 103, 0.2); background-color:rgba(255,255,255,0.9);
}

#hiring_manager .box dt { margin:0; }
#hiring_manager .box dd { margin:0; }
#hiring_manager .box dd ul { margin:0; padding: 0 0 0 2em; list-style: disc; }
#hiring_manager .box dd ul li::marker { color: #EC2B30; }
#hiring_manager .box dd ul li {  }


#interview {
	padding: 6em 0 6em 0;
	background-image:url(../img/recruit/interview_bg.jpg);
	background-size:cover; background-position: left top; background-repeat:no-repeat;
}


#interview .staff {
	margin: 5em 0 5em 0; padding: 4em 4em 1em 4em; filter:drop-shadow(0 0 3px rgba(90, 100, 103,0.2)); margin-block-end:4em;
	background: linear-gradient(to right, #FFFFFF 0%, #FFFFFF 90%, #EC2B30 90%, #EC2B30 100%) no-repeat;
	
}


#interview .staff .text { width:calc(830vw / 19.2); }
#interview .staff .text dt { position:relative; justify-content: flex-start; align-items: center;}
#interview .staff .text dt .staff_name { width: 30%; }
#interview .staff .text dt::after {
	content:""; position:absolute; bottom:0; left:0; width:100%; height:2px;
	background:linear-gradient(to right, #EB1D20 0%, #EB1D20 28%, #000000 28%, #000000 100%);
}

#interview .staff .text dd { margin:0; }
#interview .staff .text dd .num { line-height:1; top:0; right:0; z-index:0; font-weight: 700; }

#interview .staff .text dd .more { margin: 2em 0 2em 0; }

#interview .staff .thumb { display:block; width:calc(606vw / 19.2); top:1.44em; right:1.88em; }


/* 背景の透過黒 */
.modal {
	display: none; position: fixed; inset: 0; background: rgba(0, 0, 0, 0.6);
	justify-content: center; align-items: center; z-index: 9999;
}

/* モーダル本体 */
.modal-content {
	position: relative; max-height: 80vh; overflow-y: auto;
	background-image:url(../img/recruit/staf_detail_bg.png); background-size:100%; background-repeat:repeat-y;
}

/* 閉じるボタン */
.modal-close {
	position: absolute; top: 0; right: 0;
	background: none; border: none; font-size: 3em; cursor: pointer;
}

.hidden { display:none; }


.staff_detail {  }
.staff_detail .staff_detail_header { width:calc(1460vw / 19.2); margin: 6em auto 5em auto; padding:3.33em; }

.staff_detail .staff_detail_header .staff_name { margin-block-start: 0; }
.staff_detail .staff_detail_header .table { width:calc(540vw / 19.2); }
.staff_detail .staff_detail_header .table dt { margin:0; width:6em; }
.staff_detail .staff_detail_header .table dd { margin:0; }

.staff_detail .staff_detail_header .num { bottom:0; left: calc(400vw / 19.2); z-index: 0; line-height: 1.4; font-weight: 700; }

.staff_detail .staff_detail_header .thumb { width:calc(790vw / 19.2); top:calc(-50vw / 19.2); right:0; border:solid 2px #000000; box-shadow:-20px 20px 0 #000000; }

.staff_detail .staff_detail_content {  }
.staff_detail .staff_detail_content .staff_detail_ttl { width:calc(1460vw / 19.2); margin: 2em auto 1em auto; }
.staff_detail .staff_detail_content .staff_detail_box { width:calc(1460vw / 19.2); margin: 2em auto 2em auto; padding:0 3.33em 0 3.33em; border-left: solid 2px #FFF; }
.staff_detail .staff_detail_content .staff_detail_box dt { margin:0; padding:3.33em 3.3em 0 3.3em; justify-content: flex-start; align-items: center;}
.staff_detail .staff_detail_content .staff_detail_box dd { margin:0; padding:2em 3.3em 3.3em 3.3em; justify-content: flex-start; }
.staff_detail .staff_detail_content .staff_detail_box dd p { margin-block-start: 0; }
.staff_detail .staff_detail_content .staff_detail_box .icon { width:2.22em; height:2.22em; margin-right:1em; justify-content: center; align-items: center;}



.staff_detail .img_zone { background-size:calc(636vw / 19.2); background-position:right center; background-repeat:no-repeat; }
#staff01_wrapper .img_zone { background-image:url(../img/recruit/interview/staff01_img_zone.jpg); }
.staff_detail .img_zone .staff_detail_box { width:calc(1020vw / 19.2); margin: 2em auto 2em 4%; }




#requirements {
	padding: 0 0 1em 0;
	background-image:url(../img/recruit/requirements_bg.png);
	background-size:cover; background-position: right bottom; background-repeat:no-repeat;
}

#requirements .requirements_detail { background-color:rgba(255,255,255,0.9); padding:4em 7.5em 4em 7.5em; margin-block-start: -10em; }
#requirements .requirements_detail .sub_ttl { margin-block-end:3em; }

#requirements .requirements_detail .box { margin:0; }
#requirements .requirements_detail .box dt { margin:0; padding:1em 1em 1em 1em; width:12em; border-bottom:solid 2px #FFFFFF; }
#requirements .requirements_detail .box dd { margin:0; padding:1em 1em 1em 1em; border-bottom:solid 2px #CCD1D2; }


#recruit_entry { margin: 6em 0 8em 0; }
#recruit_entry .ttl .ja { border:none; }
#recruit_entry .more.center { margin: 2em auto 2em auto; border:solid 2px #EB1D20; }
#recruit_entry .more.center:hover { background-color:#EB1D20; color:#FFFFFF; border:solid 2px #FFFFFF; }



.loop-slider { width: 100%; overflow: hidden;}
.loop-slider .slider_track { display: flex; width: max-content; gap: 0; }
.loop-slider .slide { flex: 0 0 auto; margin:0 calc(11vw / 19.2) 0 calc(11vw / 19.2); }
.loop-slider .slide img { display: block; }


#entry {
	padding: 4em 0 4em 0;
	background-image:url(../img/recruit/entry_bg.jpg);
	background-size:cover; background-position: right top; background-repeat:no-repeat;
}
#contact {
	padding: 4em 0 4em 0;
	background-image:url(../img/contact/contact_bg.png);
	background-size:cover; background-position: right top; background-repeat:no-repeat;
}

#entry .catch { margin-block-end:2em; }

#entry-form { padding:4em; }

#entry-form .logo { width:calc(695vw / 19.2); bottom:3em; left:3%; z-index: 0; }

#contact .catch { margin-block-end:2em; }

#contact-form { padding:4em; }

#contact-form .logo { width:calc(695vw / 19.2); bottom:3em; left:3%; z-index: 0; }

form .box  { margin-block-start: 0; margin-block-end: 0;}

form .box dt { width:17em; padding: 2em 0 2em 0; vertical-align: top;}
form .box dt .required { display:inline-block; padding:0.1em 0.5em 0.1em 0.5em; border-radius:5px; }
form .box dt .any { display:inline-block; padding:0.1em 0.5em 0.1em 0.5em; border-radius:5px; }

form .box dd { margin:0; padding: 1em 0 1em 3em; }
form .box dd .memo { display:block; }

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


form .box input[type=text],
form .box input[type=tel],
form .box input[type=email],
form .box select { padding: 1em; width: 100%; border:solid 2px #CCD1D2; border-radius:5px; }
form .box textarea { padding: 1em; width: 100%; height:14em; font-size: 1em; font-family: inherit; border:solid 2px #CCD1D2; border-radius:5px; }
form .box select.word_size { width:8em; }

form .box .error { color:#EB1D20; display:block; }

form .box label { display: inline-block; cursor:pointer; margin:1em 2em 1em 0; }

form .box input[type=checkbox] { height: 1.5em; width: 1.5em; margin:0 0.6em 0.15em 0; background-color: #FFF; border:solid 2px #CCD1D2; border-radius: 4px;vertical-align: middle;}
form .box input[type=checkbox]:checked { border: 2px solid #0060df; background-color: #0060df;}
form .box input[type=checkbox]:checked::before {
	content: ""; display: block; position: relative; left: 0.5em; top: 1px; width: 6px; height: 12px; border: solid white; border-width: 0 3px 3px 0; transform: rotate(45deg);
}
form .box input[type=checkbox]:focus-visible { outline: 2px solid #004aaa; outline-offset: 2px;}



form .next,form .send_btn,form .back_btn {
	position:relative; width:calc(530vw / 19.2); height:calc(150vw / 19.2); margin:3em auto 3em auto; text-align:center;
	display: flex; justify-content: center; align-items: center; border: solid 1px #EB1D20; margin-block-start:3em; cursor: pointer;
}
form .next i,form .send_btn i,form .back_btn i { position:absolute; right:1vw; }

form .next:hover,form .send_btn:hover,form .back_btn:hover { background-color:#EB1D20; color:#FFFFFF; }
form .next:hover span,form .send_btn:hover span,form .back_btn:hover span { color:#FFFFFF; }
form .next:hover i,form .send_btn:hover i,form .back_btn:hover i { color:#FFFFFF; }


form .back_btn {
	position:relative; width:calc(530vw / 19.2); height:calc(150vw / 19.2); margin:3em auto 3em auto; text-align:center;
	display: flex; justify-content: center; align-items: center; border: solid 1px #000000; background-color:#FFFFFF; margin-block-start:3em; cursor: pointer;
}
form .back_btn i { position:absolute; left:1vw; }

form .back_btn:hover { background-color:#000000; color:#FFFFFF; }


