/*---------------------------------------------------------------

                        全画面共通

---------------------------------------------------------------*/
@media only screen and (min-width: 1024px){
	.l-contents_common .c-contents {
		max-width:none;
	}
	.l-contents_common {
    	padding-top: 47px;
    	padding-bottom: 0px;
	}
}

.global_menu{
	height:100px;
}

.panel-has-style{
	margin-bottom:0 !important;
}

.first_contents{
	position: relative;
	z-index: 999;
	width:100%;
}

.container{
	margin-left:0;
	margin-right:0;
	width:100%;
}

.relative {
    position: relative;
}

.absolute {
    position: absolute;
}

.title_view {
  position: relative;
  background: #fff;
  height: 30vh;
}

.top_wave {
  position: absolute;
  height: 151px;
  width: 100%;
  background: #fff;
  bottom: 0;
}

.top_wave::before, .top_wave::after {
  content: "";
  display: block;
  position: absolute;
  border-radius: 50% 100%;
}

.top_wave::before {
  width: 55%;
  height: 100%;
  background-color: #fff;
  right: -1.5%;
  top: 40%;
}
.top_wave::after {
  width: 55%;
  height: 109%;
  background-color: #f7f7f7;
  left: -1.5%;
  top: 60%;
}

#subtitle{
	margin-top: -17vh;
	position: relative;
	z-index: 100;
}

.l-contents_page{
	margin-top:0;
}

.l-keyvisual{
	display:none;
}

.l-breadcrumb{
	display:none;
}

.l-footer_top{
	display:none;
}

#footer_top {
	width:100%;
}

.curved {
  margin-top: -30vh;
  position: relative;
  z-index: 100;
  background: #fff;
  height: 50vh;
  border-bottom-left-radius: 50% 25%;
  border-bottom-right-radius: 50% 25%;
}

#first_contents{
	position: relative;
	z-index: 999;
}

#last_contents{
	position: relative;
	z-index: 999;
}

.wp-block-columns{
	margin-bottom:0;
}

.tl {
	text-align:left;
}

.tr {
	text-align:right;
}

.flow-list {
  display: flex;
  justify-content: center;
  align-items: center;
}

.flow-list ul{
	padding: 0;
}

.flow-list dd {
  margin-left: 0;
}

.flow > li {
  position: relative;
  list-style: none;
}

.flow > li:not(:last-child) {
  margin-bottom: 40px;
}

.flow > li dl {
  box-sizing: border-box;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 10px;
  position: relative;
}

.flow > li:not(:last-child) dl::before,
.flow > li:not(:last-child) dl::after {
  content: "";
  border: solid transparent;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.flow > li:not(:last-child) dl::before {
  border-width: 22px;
  border-top-color: #F88400;
}

.flow > li:not(:last-child) dl::after {
  border-width: 20px;
  border-top-color: #fff;
}

.flow > li dl dt {
  font-size: 1.2em;
  font-weight: 600;
  -ms-flex-preferred-size: 20%;
  flex-basis: 20%;
  text-align: center;
}

.flow-list1{
    width:700px;
	margin-left:auto;
	margin-right:auto;
}


.flow-list1 dl {
  display: flex;
  flex-wrap: wrap;
}
.flow-list1 dt {
  width: 10%;
  padding: 20px;
  background-color: #FFC82F;
  margin: 0 0 10px 0;
	border-top-left-radius: 10px;
	border-bottom-left-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;

}
.flow-list1 dd {
  width: 90%;
  padding: 20px;
  background-color: #F3F3F3;
	text-align:left;
  margin: 0 0 10px 0;
	border-top-right-radius: 10px;
	border-bottom-right-radius: 10px;
}

.flow-list1 dd span {
	font-weight:bold;
	font-size: 2.5vh;
	margin-left:15px;
}

.pt30{
	padding-top:30px;
}

.pb30{
	padding-bottom:30px;
}

.pb50{
	padding-bottom:50px;
}

.mb100{
	margin-bottom:100px;
}

.mb200{
	margin-bottom:220px;
}


/*---------------------------------------------------------------

                        給与ページ

---------------------------------------------------------------*/
.salary_contents {
	width:100%;
}

.salary_contents .textwidget{
	text-align: center;
}

.salary_footer_view {
  position: relative;
  background: #2c3e50;
  height: 50vh;
}

.salary_footer_wave {
  position: absolute;
  height: 50px;
  width: 100%;
  background: #2c3e50;
  bottom: 0;
}

.salary_footer_wave::before, .salary_footer_wave::after {
  content: "";
  display: block;
  position: absolute;
  border-radius: 50% 100%;
}

.salary_footer_wave::before {
  width: 55%;
  height: 100%;
  background-color: #2c3e50;
  right: -1.5%;
  top: 40%;
}
.salary_footer_wave::after {
  width: 55%;
  height: 109%;
  background-color: #fff;
  left: -1.5%;
  top: 60%;
}

/*---------------------------------------------------------------

                        Q&Aページ

---------------------------------------------------------------*/
.arrow-down-red {
    background-image: url('/wp_ins/wp-content/uploads/2024/03/arrow_down_red.png');
	background-size:32px;
	background-repeat:no-repeat;
	background-position: right center;
	margin-right:40px;
}
.arrow-up-red {
    background-image: url('/wp_ins/wp-content/uploads/2024/03/arrow_up_red.png');
	background-size:32px;
	background-repeat:no-repeat;
	background-position: right center;
	margin-right:40px;
}

.arrow-down-yellow {
    background-image: url('/wp_ins/wp-content/uploads/2024/03/arrow_down_yellow.png');
	background-size:32px;
	background-repeat:no-repeat;
	background-position: right center;
	margin-right:40px;
	padding-bottom:0;
}
.arrow-up-yellow {
    background-image: url('/wp_ins/wp-content/uploads/2024/03/arrow_up_yellow.png');
	background-size:32px;
	background-repeat:no-repeat;
	background-position: right center;
	margin-right:40px;
	padding-bottom:0;
}

summary::-webkit-details-marker {
    display: none;
}

summary{
	padding-bottom:20px;
}

.question{
	width:850px;
	margin-left:auto;
	margin-right:auto;
}

/*---------------------------------------------------------------

                        トップページ

---------------------------------------------------------------*/
.top_view{
	position:relative;
	width:100%;
	height:780px;
}

.top_view_image{
	z-index:200;
	position:absolute;
}

.top_view_coment{
	padding-top:50px;
	left:calc(100% - 48%);
	z-index:300;
	position:absolute;
}

.top_background{
	background-color:white;
	width:100%;
	position:absolute;
	height:500px;
	top:300px;
	padding-bottom:50px;
}

.top_background_footer{
	position:absolute;
	z-index:400;
	top:750px;
	width:100%;
}

.top_salary_bottom_view_image{
	position:absolute;
	left:15%;
	z-index:400;
}

.top_salary_bottom_view_background{
	margin-top:-13.2%;
	width:100%;
}

.top_excavator_car{
	position:absolute;
	margin-top:-250px;
	z-index:400;
	padding-top:50px;
	left:70%;
}

.top_job_stripe{
	margin-top:-100px;
	width:100%;
	height:1000px;
	position:absolute;
	z-index:100;
}

.top_job_top_view{
	position:relative;
	width:100%;
}

.top_contents{
	width:100%;
}

.top_job_bottom_view_background{
	margin-top:-240px;
	width:100%;
}

.top_operator{
	position:absolute;
	margin-top:-140px;
	z-index:400;
	padding-top:50px;
	left:70%;
}

.top_job_bottom_view_image{
	position:absolute;
	left:15%;
	z-index:400;
	margin-top:-100px;
}

.top_recruite_contents{
	margin-top:-130%;
}

/*---------------------------------------------------------------

                        応募ページ

---------------------------------------------------------------*/
.apply_form_contents {
	width:640px;
	margin-left:auto;
	margin-right:auto;
}

.apply_form_contents .textwidget{
	text-align: left;
}

form label{
	font-weight:bold;
}

form span{
	display:block;
	width:640px;
}

form span input{
	width:640px;
	margin-bottom:20px;
	border-width:2px;
	padding:5px;
}

#send_button{
	text-align:center;
}

.bg-white{
	background-color:#fff;
	width:480px;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:30px;
	padding-left:30px;
    border-radius: 20px;
}

.bg-white p{
	padding-top:10px;
	padding-bottom:10px;
}

/*---------------------------------------------------------------

                        スマホ対応

---------------------------------------------------------------*/
@media only screen and (max-width: 767px){
	.pc_size{
		display:none !important;
	}
	.sp_size{
		display:block !important;
	}
	.title_view {
	    height: 10vh;
    }
	.top_wave {
  		height: 50px;
	}
	.top_wave::before {
		right: -5%;
	}
	#subtitle{
		margin-top: -10vh;
	}
	form{
		padding-left:5vh;
	}
	form span input{
		width:50%;
	}
	.apply_form_contents{
		width:100%;
	}
	#send_button{
		text-align:left;	
		padding-left:5vh;
		padding-top:2vh;
	}
	#send_button p input{
		width:70%;
	}
}
@media only screen and (min-width: 768px){
	.pc_size{
		display:block !important;
	}
	.sp_size{
		display:none !important;
	}
}
