@charset "UTF-8";
/*!  mixin,変数
================================================ */
/*=============================================================
 job_offer
=============================================================*/
#mainImg {
  background-image: url(../img/job/img_main_sp.jpg); }
  @media (min-width: 640px) {
    #mainImg {
      background-image: url(../img/job/img_main_pc.jpg); } }

#job_offer section {
  margin-bottom: 50px; }
  @media (min-width: 640px) {
    #about_haken section {
      margin-bottom: 70px; } }

/* 自動生成される不要パーツ */
.job-listing-meta,
.job_application,
.job_description {
/*	display: none; */
}

#job_offer .sidemenu {
  width:260px;
  float:left;
  margin-bottom:3em;
}

#job_offer .maincontent {
  width:820px;
  float:right;
  margin-bottom:3em;
}

#job_offer .job_information {
  background-color:#fddcc8;
/*  margin-top:70px; */
  margin-bottom:40px;
  text-align:center;
  padding:20px 0;
  font-size:24px;
}
#job_offer .job_information .info_midasi {
  font-size:24px;
  margin:0;
}
.color_orange {
  color:#f38440;
}
.search_result_text {
  height:60px;
  font-size:20px;
  text-align:center;
}
.search_result_text .largetext {
  font-size:30px;
}

.search_box {
  background-color:#d3f1d1;
  padding-top:30px;
}
.search_ttl {
  background-color:#f38440;
  color:#fff;
  position:relative;
  text-align:center;
  font-size:24px;
  height:60px;
  line-height:60px;
}
.search_ttl::after {
  content:url(../img/job/sidemenu_sankakud.png);
  position:absolute;
  bottom:-32px;
  left:50%;
  margin-left:-10px;
}
.search_elm {
  margin:0 15px 20px 15px;
}
.search_elm_head {
  background-color:#73c470;
  color:#fff;
  position:relative;
  height:30px;
  line-height:30px;
  padding-left:1em;
  cursor:pointer;
}
.search_elm_head::after {
  content:"+";
  width:20px;
  height:20px;
  border-radius:50%;
  background-color:#fff;
  color:#bbb;
  position:absolute;
  right:5px;
  top:5px;
  font-size:24px;
  line-height:16px;
  text-align:center;
}
.search_elm_head.open::after {
  content:"-";
}
.search_elm_head.freeword {
  cursor:default;
}
.search_elm_head.freeword::after{
  content:"";
  display:none;
}
.search_elm_body {
  margin:0;
  padding:0;
  background-color:#fff;
  display:none;
}
.search_elm_body.freeword {
  display:block;
}
.search_elm_body li {
  line-height:1.4em;
  height:auto;
  padding:0.5em 1em 0.5em 0;
  position:relative;
}
.search_elm_body li.search_normal {
  padding-left:1em;
}
.search_elm_body li input[type="radio"],
.search_elm_body li input[type="checkbox"] {
  display:none;
  margin:0;
}
.search_elm_body li input[type="radio"] + label,
.search_elm_body li input[type="checkbox"] + label {
  padding-left:2em;
  position:relative;
  display:inline-block;
}
.search_elm_body li input[type="radio"] + label::before,
.search_elm_body li input[type="checkbox"] + label::before {
  content:"";
  position:absolute;
  top:1px;
  left:8px;
  box-sizing:border-box;
  display:block;
  width:20px;
  height:20px;
  background-color:#fff;
  border:1px solid #bbb;
}
.search_elm_body li input[type="radio"] + label::before {
  border-radius:50%;
}
.search_elm_body li input[type="radio"]:checked + label::after,
.search_elm_body li input[type="checkbox"]:checked + label::after {
  content:"";
  position:absolute;
  left:10px;
  box-sizing:border-box;
  display:block;
}
.search_elm_body li input[type="radio"]:checked + label::after {
  width:12px;
  height:12px;
  background-color:#bbb;
  border-radius:50%;
  top:5px;
  left:12px;
}
.search_elm_body li input[type="checkbox"]:checked + label::after {
  width:16px;
  height:8px;
  top:5px;
  border-left:3px solid #bbb;
  border-bottom:3px solid #bbb;
  transform:rotate(-45deg);
}


.search_elm_body li select {
  width:110px;
  height:30px;
  line-height:30px;
  font-size:16px;
}
.search_elm_body li input[type="text"] {
  display:inline-block;
  width:65px;
  height:30px;
  line-height:30px;
  font-size:16px;
}
.search_elm_body li input.freeword_text {
  width:100%;
  height:30px;
  line-height:30px;
  font-size:16px;
}
.search_button {
  margin:40px auto 0 auto;
  padding-bottom:60px;
  position:relative;
  width:150px;
  height:35px;
}
.search_button input {
  background-color:#54b150;
  color:#fff;
  text-align:center;
  width:150px;
  line-height:35px;
  height:35px;
  border:0;
  border-radius:5px;
  font-size:22px;
}
.search_button::after {
  content:url(../job_offer/images/arrow_white1.png);
  position:absolute;
  right:10px;
  top:8px;
}
.jobinfo_detailBtn {
  margin:20px 0 30px 0;
}
  @media (max-width: 640px) {
		.jobinfo_detailBtn {
		  margin:20px 0 10px 0;
		}
	}
.jobinfo_detailBtn a {
  display:block;
  width:200px;
  height:45px;
  text-align:center;
  color:#fff;
  background-color:#f14c75;
  position:relative;
  border-radius:8px;
  margin:0 auto;
  line-height:45px;
}
.jobinfo_detailBtn a::after {
/*
  content:url(../job_offer/images/arrow_white1.png);
  position:absolute;
  right:10px;
  margin-top:3px;
*/
}
.jobinfo_box {
  overflow:hidden;
}
.jobinfo_box .date {
  height:40px;
  line-height:40px;
  display:inline-block;
}
.jobinfo_box .number {
  float:right;
  text-align:right;
  line-height:40px;
}
.jobinfo_box .jobinfo_boxInner {
  padding:30px;
  position:relative;
  border:1px solid #bbb;
}
	@media (max-width: 640px) {
		.jobinfo_box .jobinfo_boxInner {
		  padding:20px;
		}
	}

.jobinfo_box .jobinfo_boxInner .job_categoryImg {
  position:absolute;
  width:65px;
  height:65px;
}
	@media (max-width: 640px) {
		.jobinfo_box .jobinfo_boxInner .job_categoryImg {
			position:static;
			width:100%;
			height:auto;
			margin-bottom:15px;
		}
	}

.jobinfo_box .jobinfo_boxInner .job_categoryImg img {
  width:100%;
  height:auto;
}
	@media (max-width: 640px) {
		.jobinfo_box .jobinfo_boxInner .job_categoryImg img {
			width:15%;
			max-width:50px;
		}
	}
.jobinfo_boxTtl {
  height:auto;
  line-height:1.4em;
  padding-bottom:10px;
  font-size:24px;
  color:#f38440;
  padding-left:80px;
}
.jobinfo_boxTtl a {
  color:#f38440;
}
.jobinfo_iconList {
  display:flex;
  display:-webkit-flex;
  flex-wrap:nowrap;
  -webkit-flex-wrap:nowrap;
  margin:0 0 1em 0;
  padding-left:80px;
}
.jobinfo_iconList li {
  margin-right:20px;
  color:#fff;
  padding:0 15px;
  line-height:20px;
  height:20px;
  font-size:14px;
  box-sizing:border-box;
}
.jobinfo_iconList .new {
  background-color:#f0230e;
}
.jobinfo_iconList .blue {
  background-color:#4c8ef1;
}
.jobinfo_iconList .exp {
  color:#4c8ef1;
  background-color:#fff;
  border:1px solid #4c8ef1;
}
.jobinfo_boxInner .job_table {
  border-left:1px solid #bbb;
  border-right:1px solid #bbb;
  border-bottom:1px solid #bbb;
/*  width:770px;*/
  display:flex;
  display:-webkit-flex;
  flex-wrap:nowrap;
  -webkit-flex-wrap:nowrap;
}
	@media (max-width: 640px) {
		.jobinfo_boxInner .job_table {
			display:block;
		}
}
.jobinfo_boxInner .job_table:first-of-type {
  border-top:1px solid #bbb;
}
.jobinfo_boxInner .job_table dt {
  background-color:#f5f5f5;
  font-weight:bold;
  padding:15px;
  width:130px;
  min-width:130px;
  display:inline-block;
}
	@media (max-width: 640px) {
		.jobinfo_boxInner .job_table dt {
			width:100%;
			display:block;
			padding:10px;
			text-align:center;
		}
		.jobinfo_boxInner .job_table dt br {
			display:none;
		}
}
.jobinfo_boxInner .job_table dd {
/*  width:635px;*/
  padding:15px;
  display:inline-block;
}
	@media (max-width: 640px) {
		.jobinfo_boxInner .job_table dd {
			width:100%;
			display:block;
		}
		.jobinfo_boxInner .job_table dd a {
			color:#f38440;
		}
}
.jobinfo_btngrp {
  margin:30px 0;
  display:flex;
  display:-webkit-flex;
  flex-wrap:nowrap;
  -webkit-flex-wrap:nowrap;
  justify-content:space-around;
  -webkit-justify-content:space-around;
}
.jobinfo_ouboBtn {
  margin:0;
  width:224px;
}
.jobinfo_lineBtn {
  margin:0;
  width:165px;
}
.jobinfo_mailBtn {
  margin:0;
  width:180px;
}
.jobinfo_ouboBtn a,
.jobinfo_lineBtn a,
.jobinfo_mailBtn a {
  display:block;
  height:45px;
  text-align:center;
  border-radius:8px;
  line-height:45px;
  position:relative;
}
.jobinfo_ouboBtn a {
  color:#fff;
  background-color:#f14c75;
}
.jobinfo_lineBtn a {
  color:#fff;
  background-color:#2eab36;
}
.jobinfo_mailBtn a {
  color:#333;
  background-color:#fff;
  border:1px solid #bbb;
}
.jobinfo_lineBtn a img {
  position:absolute;
  width:auto;
  height:22px;
  top:11px;
  margin-left:12px;
}
.jobinfo_mailBtn a img {
  position:absolute;
  width:auto;
  height:20px;
  top:12px;
  margin-left:11px;
}
.jobinfo_ouboBtn a::after,
.jobinfo_lineBtn a::after {
/*
  content:url(../job_offer/images/arrow_white1.png);
  position:absolute;
  right:10px;
  margin-top:3px;
*/
}
.jobinfo_mailBtn a::after {
/*
  content:url(../job_offer/images/arrow_gray1.png);
  position:absolute;
  right:10px;
  margin-top:3px;
*/
}
.jobinfo_recommend {
  border:1px solid #f59b66;
}
.job_recttl {
  background-color:#f59b66;
  font-size:18px;
  color:#fff;
  height:36px;
  line-height:36px;
  box-sizing:border-box;
  padding-left:30px;
}
.job_reclist {
  margin:0;
  padding:1em 1em 1em 30px;
}
.job_reclist li {
  line-height:30px;
  box-sizing:border-box;
  padding-left:30px;
  position:relative;
}
.job_reclist li::before {
  content:url(../img/job/sankaku_s.png);
  position:absolute;
  left:5px;
}

/* -------------------- 追加 */

  #job_offer .job_information {
    margin-top:0;
    padding:30px 20px;
    font-size: 22px;
  }
  #mainbody_container {
    width:95%;
    margin:0 auto;
  }
  #job_offer .maincontent {
    width:100%;
    float:none;
  }
  #job_offer .sidemenu {
    display:none;
  }
  .jobinfo_box {
    font-size:100%;
  }
  .jobinfo_box .jobinfo_boxInner {
    border:1px solid #bbb;
    margin-bottom:60px;
  }

.jobinfo_boxTtl {
    font-size:28px;
    padding-left:110px;
  }
	@media (max-width: 640px) {
	.jobinfo_boxTtl {
		padding-left:0;
		font-size:20px;
	}
}
  .jobinfo_iconList {
    padding-left:0;
    margin-top:15px;
    margin-bottom:15px;
    flex-wrap:wrap;
    -webkit-flex-wrap:wrap;
  }
  	@media (max-width: 640px) {
		.jobinfo_iconList {
			margin-top:0;
		}
	}
.jobinfo_iconList li {
    margin-bottom:10px;
  }
  .jobinfo_boxInner .job_table {
    width:auto;
  }
  .jobinfo_btngrp {
    flex-wrap:wrap;
    -webkit-flex-wrap:wrap;
    justify-content:center;
    -webkit-justify-content:center;
  }
  .jobinfo_ouboBtn {
    width:100%;
    margin-bottom:30px;
  }
  .jobinfo_lineBtn,
  .jobinfo_mailBtn {
    width:190px;
    margin:0;
  }
  .jobinfo_lineBtn {
    margin-right:0px;
	margin-bottom: 15px;}
	@media (min-width: 640px) {
	.jobinfo_lineBtn {
    	margin-right: 20px;
		margin-bottom: 0;}
	}

  .jobinfo_ouboBtn a {
    height:54px;
    line-height:54px;
    font-size:26px;
    margin:0 auto;}
    @media (min-width: 640px) {
	.jobinfo_ouboBtn a {
    	width:320px;}
	}

  .jobinfo_lineBtn a img {
    height:25px;
	margin-left: -40px;    
  }
  .jobinfo_mailBtn a img {
	margin-left: -40px;    
    height:18px;
    top:13px;
  }

/* 検索サイドバーのcheckboxやradioと文字間隔を空ける */
#feas-searchform-0 label {
    padding-left: 35px;
}