@charset "utf-8";
#page_area.post_type_structure .area_title h1{
	font-size:2.4rem;
	line-height: 1;
}
#page_area.post_type_structure .area_title p{
	font-size:1.3rem;
	line-height: 1;
}
.post_type_structure #page_cont{
	padding: 10vw 0 15vw;
}
.top_free_cont{
	padding:0 0 10vw;
}


.construction_job_area{
  width:100%;
  margin:0 auto;
}
.construction_job_area .ic_size{
	position: relative;
	top:-0.15625vw;
	width:3.75vw;
	height:auto;
}
.construction_job_area .job_title{
	font-size: 1.2rem;
	line-height: 1;
	text-align: center;
	padding: 3.125vw 0;
	margin:0 0 5vw;
	color:#ffffff;
	background:#45b5c1;
}
.construction_job_area .construction_job_cont{
	padding:0 3.125vw 10vw;
}
.construction_job_area .construction_job_cont{
}
.construction_job_area table{
	border-collapse: separate;
	border-spacing: 0;
	font-size:1rem;
	margin:0;
}
.construction_job_cont th,
.construction_job_cont td{
  border:none;
}
.construction_job_cont th,
.construction_job_cont td{
	display: block;
	width:100%;
	padding:3.75vw;
	vertical-align: top;
}
.construction_job_cont th{
	background:#e4e4e4;
	font-weight: normal;
}
.message_box{
	width: 100%;
    padding: 4.6875vw;
	margin: -6.25vw auto 0 4.6875vw;
	color:#fff;
	background:#45b5c1;
}
.message_box h3 {
    display: inline-block;
    color: #ffffff;
    font-size: 1.3rem;
    font-style: italic;
    padding-left: 6.25vw;
    padding-bottom: 1.875vw;
    margin-left: -4.6875vw;
    margin-bottom: 5vw;
    border-bottom: 0.15625vw solid #ffffff;
}
.post_type_structure .apply_btn {
    display: block;
    width: 77.5vw;
    height: 15vw;
    margin: 13.75vw auto 0;
    text-indent: -99999px;
    background: url(../img/recruit/recruit_sp_btn_entry.png) no-repeat;
    background-size: 100% auto;
}
.bottom_free_cont{
	padding:13.75vw 0 0;
}

/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
スタッフ
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/
.company_staff_area{
	
}
.company_staff_area h2{
	font-size: 2.2rem;
	line-height: 1;
	text-align: center;
	margin:10vw 0 15vw;
}
.company_staff_area h2 span{
	display: block;
	font-size: 1rem;
	padding-top:0;
}
.company_staff_area li {
  position: relative;
  margin-bottom: 18.75vw;
  list-style: none;
}
.company_staff_area .company_staff_cont{
  position: relative;
  width: 90vw;
  margin-left: -4.6875vw;
  padding: 8.4375vw 4.6875vw 5.3125vw;
  background: #ffffff;
  z-index: 1000;
}
.company_staff_cont h3{
  position: absolute;
  top: -5vw;
  color: #d8d8d8;
  font-size: 2.8rem;
  font-style: italic;
  line-height: 1;
}
.company_staff_cont .catch{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  overflow: hidden;
}
.company_staff_cont .catch p{
  display: inline-block;
  color: #ffffff;
  font-size: 1.4rem;
  padding: 1.25vw;
  margin-bottom: 1.25vw;
  background: #2bb5c1;
  opacity: 0;
  -webkit-transition: opacity .5s ease .1s;
  transition: opacity .5s ease .1s;
  overflow: hidden;
  position: relative;
}
.company_staff_cont .catch.loaded p{
  opacity: 1;
}
.company_staff_cont .catch.loaded p::after{
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #fff;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  z-index: 3;
}
.company_staff_cont .catch.loaded p:first-child::after {
  -webkit-animation: .6s ease-in-out .1s forwards bandAnimeLast;
  animation: .6s ease-in-out .1s forwards bandAnimeLast;
}
.company_staff_cont .catch.loaded p:nth-child(2)::after {
  -webkit-animation: .6s ease-in-out .5s forwards bandAnimeLast;
  animation: .6s ease-in-out .5s forwards bandAnimeLast;
}
.company_staff_cont .catch.loaded p:nth-child(3)::after {
  -webkit-animation: .6s ease-in-out .8s forwards bandAnimeLast;
  animation: .6s ease-in-out .8s forwards bandAnimeLast;
}
.company_staff_cont .catch p strong {
  font-size: 1.8rem;
}
.company_staff_cont .single_line1{
  width: 43.75vw;
  height: 0.3125vw;
  margin: 8.59375vw auto 6.5625vw;
  background: #e4e4e4;
}
.company_staff_cont h4 {
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.4;
}
.company_staff_cont .txt {
  font-size: 1rem;
  line-height: 1.4;
  margin: 3.75vw 0 5vw;
}

.company_staff_area .company_staff_img{
  width: 87.1875vw;
  padding: 28.59375vw 5.15625vw 8.125vw 7.03125vw;
  margin: -22.1875vw -4.6875vw 0 auto;
  background: rgba(239, 239, 239, 0.7);
}
.company_staff_area .company_staff_img p:first-child{
	margin:0 0 8.125vw 0;
}
.company_staff_img .img_box{
  height: 43.75vw;
}

.company_staff_area .deza1{
  position: absolute;
  top: -5.78125vw;
  right: -4.6875vw;
  width: 53.90625vw;
  height: 64%;
  z-index: -1;
}

/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
選考プロセス
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/
.process {
  padding: 11.71875vw 0 0;
}
.process h2 {
  font-size: 1.6rem;
  margin-bottom: 8.75vw;
  text-align: center;
}
.process ul {
  position: relative;
  width: 90.625vw;
  margin: 0 auto;
  z-index: 10;
  padding: 0;
  list-style: none;
}
.process li {
  width: 100%;
  margin-bottom: 8.75vw;
  background: #ffffff;
  position: relative;
  z-index: 2;
}
.process li .step {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  width: 100%;
  height: 10vw;
  padding: 0 0 2.5vw;
  color: #ffffff;
  font-size: 1.2rem;
  font-style: italic;
  line-height: 0.8;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
  background: #49aeac;
}
.process li .step span {
  font-size: 2rem;
  padding: 0 1.25vw;
}
.process li .entry {
  padding: 5vw;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}
.process li .entry h3 {
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 3.125vw;
}
.process li .entry p {
  font-size: 1rem;
  line-height: 1.4;
}
.process li.z_index {
  z-index: -2;
}
.process li.z_index .entry {
  border-left: 0.625vw solid #49aeac;
  border-right: 0.625vw solid #49aeac;
  border-bottom: 0.625vw solid #49aeac;
}
.process li.arw {
  position: absolute;
  top: 0;
  left: 4.6875vw;
  width: 9.375vw;
  height: calc(100% - 24vw);
  overflow: hidden;
  margin: 0;
  padding: 0px;
  z-index: 1;
  text-align: center;
  background: none;
}
.process li.arw .bou {
  width: 5vw;
  height: calc(100% - 5vw);
  margin: 0 auto;
  background: #8fdad9;
}
.process li.arw img {
  width: 9.375vw;
  height: auto;
  position: relative;
  top: -1.8vw;
}
.process .apply_btn {
  display: block;
  width: 77.5vw;
  height: 15vw;
  margin: 0 auto;
  text-indent: -99999px;
  background: url(../img/recruit/recruit_sp_btn_entry.png) no-repeat;
  background-size: 100% auto;
}

/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
企業情報
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/
.company_info_area{
	width:100%;
	margin:15vw auto 0;
}
.company_info_area .job_title {
    font-size: 1.2rem;
    line-height: 1;
    text-align: center;
    padding: 3.125vw 0;
    margin: 0 0 5vw;
    color: #ffffff;
}
.company_info_cont{
	padding: 0 3.125vw 10vw;
}
.company_info_cont .tablepress{
	border-collapse: separate;
	border-spacing: 0;
	font-size:1rem;
	margin:0;
	overflow: hidden;
}
.company_info_cont .tablepress td{
	display: block;
	width:100%;
	padding:3.75vw;
	background:#e4e4e4;
	font-weight: normal;
	vertical-align: top;
}
.company_info_cont .tablepress td + td{
	background:none;
}

/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
関連記事
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/
.hiring_area{
	padding: 10vw 0 0;
}
.hiring_area h2 {
	font-size: 1.6rem;
	margin-bottom: 7.5vw;
	text-align: center;
}
.hiring_area ul{
	    padding: 0;
    list-style: none;
}
.hiring_area li{
	margin-bottom:7.5vw;
	border-top:1px solid #2bb5c1;
}
.hiring_area li a{
	display: block;
	padding:3.75vw;
}
.hiring_area li h3{
	margin-bottom:2.5vw;
	border-bottom:1px solid #f7f7f7;
}
.hiring_area li .box{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
	margin-bottom:2.5vw;
}
.hiring_area li .box span{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	color:#2bb5c1;
	font-size:0.6rem;
	font-weight: normal;
	width:10vw;
}
.hiring_area li .box .box2{
	width:calc(100% - 12vw);
}
.hiring_area li .txt1{
	position: relative;
	font-size: 1rem;
	font-weight: bold;
}
.hiring_area li .txt2{
	font-size: 0.8rem;
}

/*アイコン*/
.hiring_area li .ic_salary::before{
	content:'\f4f2';
	font-family: "Ionicons";
	font-size: 1rem;
}
.hiring_area li .ic_add::before{
	content:'\f455';
	font-family: "Ionicons";
	font-size: 1.2rem;
}
.hiring_area li .ic_time::before{
	content:'\f402';
	font-family: "Ionicons";
	font-size: 1rem;
}



































@media only screen and (min-width:1000px) {
/*ここから====================*/
#page_area.post_type_structure .area_title h1{
	font-size:4rem;
}
#page_area.post_type_structure .area_title p{
	font-size:2.2rem;
}
.post_type_structure #page_cont{
	padding: 64px 0 96px;
}
.top_free_cont{
	width:800px;
	padding:0 0 64px;
	margin: 0 auto;
}

.construction_job_area{
	width:800px;
	margin:0 auto;
}
.construction_job_area .ic_size{
	position: relative;
	top:-1px;
	width:20px;
	height:auto;
}
.construction_job_area .job_title{
	font-size: 2rem;
	text-align: center;
	padding: 15px 0 13px;
	margin:0;
	color:#ffffff;
	background:#45b5c1;
}
.construction_job_area .construction_job_cont{
	padding:0 20px 134px;
}
.construction_job_area table{
	border-collapse: separate;
	border-spacing: 0;
	font-size:1.6rem;
}
.construction_job_cont th,
.construction_job_cont td{
	display: table-cell;
	padding:24px;
	vertical-align: top;
	border-top:1px solid #eee;
}
.construction_job_cont tr:first-child th,
.construction_job_cont tr:first-child td{
	border-top:none;
}
.construction_job_cont th{
	font-weight: bold;
	width:30%;
	background:none;
}
.construction_job_cont td{
	width:70%;
}
.message_box{
	width: 800px;
    padding: 26px 40px;
    margin: -133px 26px auto auto;
}
.message_box h3 {
    display: inline-block;
    color: #ffffff;
    font-size: 2rem;
    font-style: italic;
    padding-left: 40px;
    padding-bottom: 14px;
    margin-left: -40px;
    margin-bottom: 24px;
    border-bottom: 1px solid #ffffff;
}
.post_type_structure .apply_btn {
    display: block;
    width: 496px;
    height: 96px;
    margin: 88px auto 0;
    text-indent: -99999px;
    background: url(../img/recruit/recruit_pc_btn_entry.png) no-repeat;
    background-size: 100% auto;
}
.bottom_free_cont{
	width:800px;
	padding:88px 0 0;
	margin:0 auto;
}

/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
スタッフ
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/
.company_staff_area{
	
}
.company_staff_area h2{
	font-size: 3.6rem;
	text-align: center;
	margin:120px 0 64px;
}
.company_staff_area h2 span{
	display: block;
	font-size: 1.8rem;
	padding-top: 6px;
}
.company_staff_area li{
	position: relative;
	margin-bottom: 96px;
}
.company_staff_area li:last-child{
	margin-bottom: 0px;
}

.company_staff_area .company_staff_cont{
	width: 496px;
	padding: 32px 30px 26px 40px;
	margin-left: 0;
}
.company_staff_cont h3{
	top: -24px;
	font-size: 4rem;
}
.company_staff_cont .catch p{
	font-size: 2.2rem;
	padding: 6px 7px;
	margin-bottom: 8px;
}
.company_staff_cont .catch p strong{
	font-size: 3rem;
}
.company_staff_cont .single_line1{
	width: 152px;
	height: 1px;
	margin: 28px auto 20px;
}
.company_staff_cont h4{
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.6;
}
.company_staff_cont .txt {
	font-size: 1.4rem;
	line-height: 1.4;
	margin: 16px 0 32px;
}

.company_staff_area .company_staff_img{
	position: absolute;
	top:0;
	bottom: 0;
	right:0;
	width: 480px;
	height:592px;
	padding: 0;
	margin:auto;
	background: rgba(239, 239, 239, 0.7);
}
.company_staff_area .company_staff_img p:first-child{
	margin:0 0 32px 0;
}
.company_staff_img .img_box{
	width: 100%;
	height: 280px;
}
.company_staff_area .deza1{
	position: absolute;
	top: 170px;
	left: -19px;
	right: auto;
	width: 499px;
	height: 80.5%;
	z-index: -1;
}

/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
選考プロセス
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/
.process {
padding: 120px 0 0;
}
.process h2 {
font-size: 3rem;
margin-bottom: 48px;
text-align: center;
}

.process ul {
position: relative;
width: 960px;
margin: 0 auto 98px;
z-index: 10;
}

.process li {
position: relative;
width: 100%;
padding: 30px 0 0;
margin-bottom: 53px;
background: none;
}

.process li .step {
position: absolute;
top: 0;
left: 0;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
width: 118px;
height: 120px;
padding: 4px 0 0;
color: #ffffff;
font-size: 2.4rem;
font-style: italic;
line-height: 1;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}

.process li .step span {
font-size: 4rem;
padding: 10px 0 0;
}

.process li .entry {
position: relative;
width: 907px;
min-height: 120px;
padding: 17px 26px 18px 112px;
margin: 0 0 0 auto;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
background: #ffffff;
z-index: -3;
}

.process li .entry h3 {
font-size: 2.4rem;
font-weight: bold;
margin-bottom: 8px;
}

.process li .entry p {
font-size: 1.8rem;
line-height: 1.4;
}

.process li.z_index {
position: relative;
z-index: -2;
}

.process li.z_index .entry {
border: 4px solid #49aeac;
}

.process li.arw {
position: absolute;
top: 0;
left: 30px;
width: 60px;
height: calc(100% - 130px);
overflow: hidden;
margin: 0;
padding: 0px;
z-index: -1;
background: none;
}

.process li.arw .bou {
width: 32px;
height: calc(100% - 30px);
margin: 0 auto;
background: #8fdad9;
}

.process li.arw img {
width: 60px;
height: auto;
position: static;
}

.process .apply_btn {
display: block;
width: 496px;
height: 96px;
margin: 0 auto;
text-indent: -99999px;
background: url(../img/recruit/recruit_pc_btn_entry.png) no-repeat;
background-size: 100% auto;
}

/*企業情報*/
.company_info_area{
    width: 800px;
    margin: 96px auto 0;
}
.company_info_area .job_title {
    font-size: 2rem;
    text-align: center;
    padding: 15px 0 13px;
    margin: 0;
    color: #ffffff;
    background: #45b5c1;
}
.company_info_cont{
	padding:0 20px 0;
}
.company_info_cont .tablepress{
	border-collapse: separate;
	border-spacing: 0;
	font-size:16px;
	margin:0;
}
.company_info_cont .tablepress td{
	display: table-cell;
	width:30%;
	padding:24px;
	background:none;
	font-weight: normal;
	vertical-align: top;
	border-top: 1px solid #eee;
}
.company_info_cont .tablepress td + td{
	width:70%;
	background:none;
}


/*関連記事*/
.hiring_area{
	width:840px;
	padding-top:96px;
	margin:0 auto;
}
.hiring_area h2 {
	font-size: 2.6rem;
	margin-bottom: 48px;
	text-align: center;
}
.hiring_area ul{
	display: flex;
	flex-wrap: wrap;
}
.hiring_area li{
	width:380px;
	margin:0 20px 48px;
	border-top:3px solid #2bb5c1;
}
.hiring_area li a{
	display: block;
	padding:24px;
}
.hiring_area li h3{
	padding:8px 0;
	margin-bottom:20px;
	border-bottom:1px solid #f7f7f7;
}
.hiring_area li .box{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
	margin-bottom:24px;
}
.hiring_area li .box span{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	color:#2bb5c1;
	font-size:12px;
	font-weight: normal;
	width:56px;
}
.hiring_area li .box .box2{
	width:calc(100% - 64px);
}
.hiring_area li .txt1{
	position: relative;
	font-size: 16px;
	font-weight: bold;
}
.hiring_area li .txt2{
	color:#666666;
	font-size: 14px;
}

/*アイコン*/
.hiring_area li .ic_salary::before{
	content:'\f4f2';
	font-family: "Ionicons";
	font-size: 20px;
}
.hiring_area li .ic_add::before{
	content:'\f455';
	font-family: "Ionicons";
	font-size: 24px;
}
.hiring_area li .ic_time::before{
	content:'\f402';
	font-family: "Ionicons";
	font-size: 20px;
}





/*ここまで====================*/
}/*END media*/
