@charset "utf-8";
/*=============================================

00. 共通 margin

===============================================*/
img { width: 100%; height: auto; vertical-align: top; }

.w100 { width: 100%!important; }
.w90 { width: 90%!important; }
.w80 { width: 80%!important; }


.mb0 { margin-bottom: 0 !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb60 { margin-bottom: 60px !important; }

.mt0 { margin-top: 0px !important; }
.mt10 { margin-top: 10px !important; }
.mt20 { margin-top: 20px !important; }
.mt30 { margin-top: 30px !important; }
.mt40 { margin-top: 40px !important; }
.mt50 { margin-top: 50px !important; }
.mt60 { margin-top: 60px !important; }

.al_left { text-align: left; }
.al_right { text-align: right; }
.al_center { text-align: center; }

.sp { display: none;} 
.pc { display: block; }
@media screen and (max-width: 640px){
	.sp { display: block;} 
	.pc { display: none; }	
}
/*=============================================

00. 共通

===============================================*/
.flex_s_b {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.flex_s_a {
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
}
.flex_c {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.align_c { align-items: center; }

.box_1_2 {
	width: 49%; margin-bottom: 10px;
}
.box_1_3 {
	width: 32%; margin-bottom: 10px;
}
.box_2_3 {
	width: 66%;
}
.box_1_4 {
	width: 25%;
}
.box_3_4 {
	width: 73%;
}
.box_1_5 {
	width: 20%;
}
.box_4_5 {
	width: 78%;
}
.box_3_7 {
	width: 41.71%;
}
.box_4_7 {
	width: 56.28%;
}


@media screen and (max-width: 640px){
	.box_1_2,
	.box_1_3,
	.box_2_3,
	.box_1_4,
	.box_3_4,
	.box_1_5,
	.box_4_5,
	.box_3_7,
	.box_4_7 {
		width: 100%; margin-bottom: 10px;
	}
}
/*==========================================================================================

article

============================================================================================*/
@media screen and (max-width: 640px){
	article { padding: 70px 0 0; }
}
/*==========================================================================================

SLD

============================================================================================*/
.sld {
	position: relative;
	display: flex;
	flex-flow: column;
	justify-content: center;
	height: 14rem;
	margin: 0 0;	
	background: linear-gradient(135deg, #E1F3FE 44.27%, #FFFFFF 100%);
	background-image: url("../images/bg_index__intro.png");
	background-attachment: fixed;
	background-size: 100% auto;
}
.sld .sld__bg {
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;	
}
.sld__bg img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  margin: auto;
  transform: translate(-50%, -50%);
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover;";
}
.sld#recruitment .sld__bg img {
  position: absolute;
  width: 100%;
  height: 100%;
  bottom: 0; top: auto;
  left: 50%;
  margin: auto;
  transform: translate(-50%, 0);
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover;";
}
.sld#recruitment .sld__bg::after {
	content: "";
	background-color: rgba(0,0,0,.3);
	position: absolute; left: 0; top: 0;
	width: 100%; height: 100%;
}
 .sld .inner {
	position: relative;
	max-width: 1080px;
	width: 95%;
	margin: auto;
  }
.sld__ttl { 
	color: #333; 
	/* text-shadow: 0 0 10px rgba(0,0,0,.5); */
	font-size: 2.8em;
	font-weight: 400;
	line-height: 1.4;
	text-align: left;
}
.sld__ttl.__white { 
	color: #fff; 
	text-shadow: 0 0 10px rgba(0,0,0,.5);
}
.sld__ttl .eng { 
	display: block;
	font-size: .5em;
	font-weight: 400;
}
.sld__ttl::before {
  content: attr(data-ttl-en);
  display: block;
  line-height: 1.2;
  font-family: "Open Sans", sans-serif;
  font-size: 1.25em;
}

@media screen and (max-width: 640px){
	.sld {
		height: 8rem;
	}	
	.sld__ttl { 
		font-size: 2.0em;
		text-align: center;
	}
}


/*=============================================

.inner

===============================================*/
.inner {
	position: relative;
	max-width: 1080px;
	width: 95%;
	margin: 0 auto;
}

/*=============================================

h2.head_section_01

===============================================*/
h2.head_section_01 {
	margin-bottom:60px;
	font-size: 2.5em;
	font-weight: 600;
	line-height: 1;
}
h2.head_section_01 .jp {
	color: #333;
	font-weight: 400;
	display: block;
	font-size: .5em;
	position: relative;
	margin: .5em auto 0;
}
h2.head_section_01 .jp::after {
	content: "";
	display: block; width: 8em; height: 5px;
	background-image: linear-gradient(90deg, rgba(89, 173, 241, 1), rgba(207, 253, 157, 1));
	position: absolute; left: 50%; bottom: -1.5em; transform: translateX(-50%);
}

/*==========================================================================================

会社概要

============================================================================================*/
.tbl_about th,
.tbl_about td {
	padding:1em 1em;
	border-bottom: solid 1px #ccc; 
	text-align: left;
	vertical-align: middle;
}
.tbl_about {
	width: 100%;
	margin: 0 auto;
	border-collapse: collapse;
}
.tbl_about th { width: 20%; border-bottom: solid 2px #68C9F2; font-weight: bold;  }
.tbl_about td { width: 80%; }

#philosophy {
	margin: 0 auto 3em;
}
#philosophy dt,
#philosophy dd {
	padding:1em 1em;
	display: inline-block;
	text-align: left;
	margin: 0;
}
#philosophy dl {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto 1em;
	border: solid 2px #68C9F2;
	border-radius: 10px;
	overflow: hidden;
}
#philosophy dt { width: 20%; font-weight: bold; background-color: #68C9F2; color: #fff;  }
#philosophy dd { width: 80%; }

.access iframe {
	width: 100%; height: 400px;
}

@media screen and (max-width: 640px){
	.tbl_about th { width: 100%; color: #0068B7; border-bottom: none; padding-bottom: 0; display: block; }
	.tbl_about td { width: 100%; padding-top: 0; display: block; }	
	#philosophy dt { width: 100%; }
	#philosophy dd { width: 100%; }	
}
/*=============================================

about__message

===============================================*/

#about__message {
	padding:80px 0;
	background-color:#f2f4f4;
	background: url("../images/bg_check_pattern.png");
}

#about__message .inner {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#about__message .inner .txt_box > p {
	font-size: 1.125em;
	text-align: left;
}
.profile {
	text-align: left;
	border-top: solid 1px #68C9F2;
	border-bottom: solid 1px #68C9F2;
	padding: 1.5em 0;
	margin: 2em 0 0;
}
.profile h3 {
	display: inline-block;
	background-color: #68C9F2;
	border-radius: 50vh;
	color: #fff;
	padding: .5em 1em;
	line-height: 1;
	margin: 0 0 1em;
}
.profile p {
	margin: 0;
}
.profile .tbl_profile th,
.profile .tbl_profile td {
	vertical-align: top;
}
.profile .tbl_profile th {
	white-space: nowrap;
	position: relative;
	padding-right: 1em;
}
.profile .tbl_profile th::after {
	content:"：";
	position: absolute; right: 0;
}

@media screen and (max-width: 640px){
	#about__message .inner .img_box {
		text-align: center;
	}
	#about__message .inner .img_box img {
		max-width: 150px;
	}	
}


/*==========================================================================================

事業内容　business

============================================================================================*/
body.business article#business-contents {
	background-color: #fff;
}
/*=============================================
business__system
===============================================*/
.business__system {
	background-color: #E1F3FE;
	background: linear-gradient(135deg, #E1F3FE 44.27%, #FFFFFF 100%);
	background-image: url("../images/bg_index__intro.png");
	background-attachment: fixed;
	background-size: 100% auto;

	font-size: 1.15em;
	font-weight: 500;
	padding: 80px 2.5%;
	position: relative;
}
.business__system::after {
	content: "";
	width: 100%; height: 80px;
	position: absolute; left: 0; bottom: 0;
	background-image: url("../images/sec_btm_arrow.png");
	background-size: 100% 80px;
	background-position: center bottom;
}
.business__system .inner {
	/*  -webkit-box-shadow: 2px 2px 10px 0px rgba(34, 111, 138, 0.16) inset, 2px 2px 9px 0 rgba(255, 255, 255, 0.26) inset;
          box-shadow: 2px 2px 10px 0px rgba(34, 111, 138, 0.16) inset, 2px 2px 9px 0 rgba(255, 255, 255, 0.26) inset; */
	/* background: url("../images/bg_check_pattern.png"); */
	display: inline-block;
	padding: 0;
	margin: 0 auto;
	border-radius: 30px;
}
.business__system h2 {
  font-size: 1.5em;
	font-weight: 500;
	color: #333;
	margin: 0 0 1em;
}
.business__system h3 {
	font-size: 1.5em;
	font-weight: 500;
	color: #333;
	margin: 3em 0 1em;
}
.business__system p {
	font-weight: 400;

}


ul.recruitment_ability {
	background-color: #fff;
	border-radius: 15px;
	display: flex;
	flex-wrap: wrap;
	box-shadow: 0 0 10px rgba(0,0,0,.15);
	margin: 0 auto 2em; padding: 0;
}
ul.recruitment_ability li {
	width: calc(100% / 6);
	padding: 1em 1em;
	text-align: left;
	font-size: 1rem;
	border-right: dotted 1px #ccc;
	list-style: none;
}
ul.recruitment_ability li:last-child {
	border-right: none;
}
ul.recruitment_ability li p {
	line-height: 1.5;
}
ul.recruitment_ability li p.head_box {
	background-color: #6bc7f1;
	border-radius: 50vh;
	text-align: center;
	padding: 5px; margin-bottom: 1em;
	line-height: 1;
}

.business__outsourcing {
	padding: 1em 0 6em;
	background-color: #fff;
}
.business__outsourcing h2 {
	background-color: #FF9FB2;
	border-radius: 50vh;
	font-size: 1.5em;
	font-weight: 500;
	color: #333;
	margin: 0 0 1em;
	line-height: 1.2;
 	padding: 10px;
}
.business__outsourcing h3 {
	font-size: 1.25em;
	font-weight: 500;
	color: #333;
	margin: 0 0 1em;
	text-align: left;
	padding: 0 2em;
}
.business__outsourcing .inner > p {
	text-align: left;
	padding: 0 2em;
}
.outsourcing_case {
	background-color: #F4F4F4;
	border-radius: 30px;
	padding: 2em; margin: 2em auto 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	/* align-items: flex-start; */
}
.outsourcing_case .problem {
    padding: 20px 20px;
    background-color:  #F4F4F4;
    box-shadow: -5px -5px 10px #fff inset,-5px -5px 10px #ddd;
    width: 49%; 
	text-align: left;
	border-radius: 15px;
	display: flex;
	justify-content: space-between;
	
}
.outsourcing_case .problem .img_box,
.outsourcing_case .solution .img_box {
	width: 80px; height: 80px;
	border-radius: 50px;
	overflow: hidden;
	background-color: #fff;
	text-align: center;
}
.outsourcing_case .problem .img_box img,
.outsourcing_case .solution .img_box img {
	width: 100%; height: auto;
}
.outsourcing_case .problem .txt_box,
.outsourcing_case .solution .txt_box {
	width: calc(100% - 100px);
}

.outsourcing_case .problem .txt_box p,
.outsourcing_case .solution .txt_box p {
	margin: 0;
}
.outsourcing_case .problem .txt_box p:nth-child(2){
	margin: 10px 0 0; padding: 10px 0 0;
	border-top: dotted 2px #ccc;
}

.outsourcing_case .solution {
	padding: 10px 0;
    width: 49%; 
	text-align: left;
	display: flex;
	justify-content: space-between;	
}
.outsourcing_case .problem strong {
	color: #1C5253;
	font-size: 1.125em;
	font-weight: 500;
}
.outsourcing_case .solution strong {
	color: #E76F51;
	font-size: 1.5em;
	font-weight: 500;
	line-height: 1.2;
}
@media screen and (max-width: 640px){
	ul.recruitment_ability li {
		width: calc(100% / 2);
		border-bottom: dotted 1px #ccc;
	}	
	ul.recruitment_ability li:nth-child(2n) {
		border-right: none;
	}	
	
	.outsourcing_case {
		border-radius: 20px;
		padding: 0; margin: 2em auto 0;
		background-color: transparent;
	}
	.outsourcing_case .problem .img_box,
	.outsourcing_case .solution .img_box {
		width: 60px; height: 60px;
	}
	.outsourcing_case .problem .txt_box,
	.outsourcing_case .solution .txt_box {
		width: calc(100% - 80px);
	}	
	.outsourcing_case .problem,	
	.outsourcing_case .solution {
		width: 100%; 
		padding: 10px 10px;
	}
	.outsourcing_case .solution strong {
		color: #E76F51;
		font-size: 1.25em;
		margin: 0 0 .5em;
	}	
}


.wrap_business {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	padding-bottom: 6em;
	margin: 3em auto 0;
}
.wrap_business.__sub {
	align-items:flex-start;
}
.wrap_business .inner_left {
	width: 66.6%;
	display: flex;
	justify-content: flex-end;
}
.wrap_business .inner_left .txt_box {
	width: 100%; max-width: 800px;
	text-align: left;
	font-size: 1.125em;
}
.wrap_business .img_box {
	width: 30%;
}
.wrap_business .img_box img { width: 100%; height: auto; }

.wrap_business .inner_left .txt_box .head_box {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
}
.wrap_business .inner_left .txt_box .head_box.__center {
	justify-content: center;
	margin-bottom: 1em;
}
.wrap_business .inner_left .txt_box .head_box h2 {
	font-size: 2.0em;
	width: 100%;
	margin-right: 5%;
	position: relative;
	text-align: center;
	padding-bottom: .5em;
}
.wrap_business .inner_left .txt_box .head_box.__center h2 {
	width: auto;
	margin-right: 0;
}

.wrap_business .inner_left .txt_box .head_box h2::after {
	content: "";
	display: block;
	width: 100%;
	height: 5px;
	background-image: linear-gradient(90deg, rgba(89, 173, 241, 1), rgba(207, 253, 157, 1));
	position: absolute;
	left: 0;
	bottom:0;
}
.wrap_business .inner_left .txt_box .head_box.__center h2::after {
	content: "";
	display: block;
	width: 100px;
	height: 5px;
	position: absolute;
	left: 50%;
	bottom:0;
	transform: translateX(-50%);
}
.wrap_business .inner_left .txt_box .head_box p {
	font-size: 1.25em;
	width: 70%;
}
.wrap_business .inner_left .txt_box h3 {
	font-size: 1.25em;
	padding: 0 15px;
	border-left: solid 5px #0086d1;
	margin: 0 auto 2em;
	line-height: 1;
}
.wrap_business .inner {
	margin-top: 3em;
	text-align: left;
}
.box_business_year {
	background-color: #fff;
	overflow: hidden;
	padding: 0;
}
.box_business_year h3 {
	border-left:solid 5px var(--primary);
	color: #333;
	font-size: 1.125em;
	line-height: 1;
	position: relative;
	margin: 0 auto 1em;
	padding: 0 1em;
	/* border-top-left-radius: .2vw;
	border-top-left-radius: .2vw; */
}
.box_business_year h3::after {
	content: "";
	width: 100%; height: 2px;
	border-bottom:dotted 1px #000;
	position: absolute; left: 0; bottom: -1em;
}
.box_business_year p {
	padding: 0 1.125em;
	margin: 2em 0 3em;
}

@media screen and (max-width: 640px){
	.wrap_business {
		width: 95%;
		margin: 1em auto 0;
		padding-bottom: 2em;
	}	
	.wrap_business .inner_left {
		width: 100%;
	}	
	.wrap_business .img_box {
		width: 100%;
	}	
	.wrap_business .inner_left .txt_box .head_box {
		width: 100%;
	}	
	.wrap_business .inner_left .txt_box .head_box h2 {
		font-size: 1.5em;
		width: 100%;
		margin: 0;
	}
	.wrap_business .inner_left .txt_box .head_box p {
		font-size: 1.0em;
		width: 100%;
	}
	.wrap_business .inner_left .txt_box h3 {
		font-size: 1.25em;
		padding-left: 15px;
		margin: 1em auto .5em;
	}	
	.wrap_business .inner_left .txt_box p {
		font-size: 1.0em;
	}	
}

.wrap_business .fee {
	background-color: #edeccf;
	border-radius: 3px;
	padding: 3px 10px;
	margin-right: 10px;
}
 .box_business_fee {
    position: relative;
    width: 100%;
    padding: 30px 30px;
    border: solid .5vw #edeccf;
    border-radius: .2vw;
  }
.box_business_fee h3 {
	font-size: 1.25rem !important;
	border-left:solid 5px #B1AE43 !important;
}
.box_business_fee p {
	margin: 0;
}

/*==========================================================================================

採用について　recruitment

============================================================================================*/
body.recruitment article {
	background-color: #fff;
}

.recruitment__intro {
	font-size: 1.25em;
	padding: 2em 0;
	background-color: #fff;
}

@media screen and (max-width: 640px){
	.recruitment__intro {
		font-size: 1.0em;
	}	
	.recruitment__intro .t-gradation {
		margin-bottom: 10px;
	}
}

#shinsotsu,
#mid-career { margin-bottom: 5em; }

#shinsotsu .shinsotsu--intro {
	background-color: #6ec7dc;	
	padding: 3em 0;
}
#mid-career .mid-career--intro {
	background-color: #cfe885;	
	padding: 3em 0;
}

#shinsotsu .shinsotsu--intro .inner,
#mid-career .mid-career--intro .inner {
	width: 100%; max-width: 1080px;
	margin: 0 auto;
	background-color: #666;
}

/* #shinsotsu .shinsotsu--intro .inner .box {
	margin-right: calc(50% - 50vw);
	display: flex;
	justify-content: space-between;
}
#shinsotsu .shinsotsu--intro .inner .txt_box {
	width: 66.6%;
	max-width: 720px;
	border: solid 1px #ff0000;
}
#shinsotsu .shinsotsu--intro .inner .img_box {
	border: solid 1px #ff0000;
}
#shinsotsu .shinsotsu--intro .inner .img_box img {
	margin-right: calc(50% - 50vw);
	display: block;
	height: 200px;
	object-fit: cover;
	width: 100%;
}
*/

#shinsotsu .shinsotsu--intro .wrap_box,
#mid-career .mid-career--intro .wrap_box {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	padding-bottom: 6em;
}
#shinsotsu .shinsotsu--intro .wrap_box .inner_left,
#mid-career .mid-career--intro .wrap_box .inner_left {
	width: 66.6%;
	display: flex;
	justify-content: flex-end;
}
#shinsotsu .shinsotsu--intro .wrap_box .inner_left .txt_box,
#mid-career .mid-career--intro .wrap_box .inner_left .txt_box {
	width: 100%; max-width: 800px;
	text-align: left;
}
#shinsotsu .shinsotsu--intro .wrap_box .img_box,
#mid-career .mid-career--intro .wrap_box .img_box {
	width: 30%;
}
#shinsotsu .shinsotsu--intro .wrap_box .img_box img,
#mid-career .mid-career--intro .wrap_box .img_box img { width: 100%; height: auto; }

#shinsotsu .shinsotsu--intro .wrap_box .inner_left .txt_box h2,
#mid-career .mid-career--intro .wrap_box .inner_left .txt_box h2 {
	color: #fff;
	font-size: 2.5em;
	font-weight: 900;
	text-align: left;
	line-height: 1.0;
	text-shadow: 0 0 10px rgba(0,0,0,.25);
	margin: 0;
	letter-spacing: .1em;
}
#shinsotsu .shinsotsu--intro .wrap_box .inner_left .txt_box h3,
#mid-career .mid-career--intro .wrap_box .inner_left .txt_box h3 {
	font-size: 1.5em;
}
#shinsotsu .shinsotsu--intro .wrap_box .inner_left .txt_box p,
#mid-career .mid-career--intro .wrap_box .inner_left .txt_box p {
	font-size: 1.125em;
}
#shinsotsu .inner,
#mid-career .inner {
	background: #fff;
	position: relative;
	margin: -6em auto 0;
	padding: 0;
}
#shinsotsu .inner .outsourcing,
#mid-career .inner .outsourcing {
	background: #fff;
	margin-right: calc(50% - 50vw);
}
#shinsotsu .inner .outsourcing .in--outsourcing,
#mid-career .inner .outsourcing .in--outsourcing {
	width: 100%; max-width: 1080px;
	padding: 40px 40px;
	box-sizing: border-box;
	text-align: left;
}
#shinsotsu .inner .outsourcing .in--outsourcing h3,
#mid-career .inner .outsourcing .in--outsourcing h3 {
	font-size: 1.5em;
	padding-left: 15px;
	border-left:solid 5px #0086d1;
	margin: 0 auto 1em;
}
#shinsotsu .inner .outsourcing .in--outsourcing .img_box,
#mid-career .inner .outsourcing .in--outsourcing .img_box {
	width:100%;
	margin-bottom: 3em;
}

.outsourcing .in--outsourcing .flex_s_b {
	margin-bottom: 3em;
}


.box_outsource_menu {
	border: solid 2px var(--primary);
	margin-bottom: 1em;
	border-radius: 10px;
	overflow: hidden;
	padding: 0;
}
.box_outsource_menu h3 {
	background-color: var(--primary);
	color: #fff;
	padding-left: 10px;
	border-left:none;
	margin: 0 auto 1em;
}

#mid-career .box_outsource_menu {
	border: solid 2px #8CC63F;
}
#mid-career .box_outsource_menu h3 {
	background-color: #8CC63F;
	font-size: 1.25rem !important;
	border-left: none !important;
}

.box_outsource_menu ul {
	margin: 0 0 1em;
	padding: 0 1em 0 2em;
}
a.btn_box_case,
#shinsotsu .inner .outsourcing .in--outsourcing a.btn_box,
#mid-career .inner .outsourcing .in--outsourcing a.btn_box {
	border: solid 3px #ffcccc;
	border-radius: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.5em;
	text-decoration: none;
	padding: .5em;
} 
a.btn_box_case i,
#shinsotsu .inner .outsourcing .in--outsourcing a.btn_box i,
#mid-career .inner .outsourcing .in--outsourcing a.btn_box i {
	color: #ffcccc;
	margin-left: 1em;
}


@media screen and (max-width: 640px){
	#shinsotsu,
	#mid-career { margin-bottom: 3em; }

	#shinsotsu .shinsotsu--intro {
		background-color: #6ec7dc;	
		padding: 1.5em 0;
	}
	#mid-career .mid-career--intro {
		background-color: #cfe885;	
		padding: 1.5em 0;
	}	
	
	#shinsotsu .shinsotsu--intro .wrap_box,
	#mid-career .mid-career--intro .wrap_box {
		justify-content: center;
		padding-bottom: 3em;
	}	
	#shinsotsu .shinsotsu--intro .wrap_box .inner_left,
	#mid-career .mid-career--intro .wrap_box .inner_left {
		width: 95%;
		display: flex;
		justify-content: flex-end;
	}
	#shinsotsu .shinsotsu--intro .wrap_box .inner_left .txt_box,
	#mid-career .mid-career--intro .wrap_box .inner_left .txt_box {
		width: 100%;
		text-align: left;
	}

	#shinsotsu .shinsotsu--intro .wrap_box .inner_left .txt_box h2,
	#mid-career .mid-career--intro .wrap_box .inner_left .txt_box h2 {
		font-size: 2.0em;
		text-align: left;
		margin: 0;
	}
	#shinsotsu .shinsotsu--intro .wrap_box .inner_left .txt_box h3,
	#mid-career .mid-career--intro .wrap_box .inner_left .txt_box h3 {
		font-size: 1.25em;
	}	
	#shinsotsu .shinsotsu--intro .wrap_box .img_box,
	#mid-career .mid-career--intro .wrap_box .img_box {
		width: 95%;
	}
	#shinsotsu .inner .outsourcing,
	#mid-career .inner .outsourcing {
		background: #fff;
		margin-right: auto;
	}	
	#shinsotsu .inner .outsourcing .in--outsourcing,
	#mid-career .inner .outsourcing .in--outsourcing {
		padding: 20px 10px;
	}
	#shinsotsu .inner .outsourcing .in--outsourcing h3,
	#mid-career .inner .outsourcing .in--outsourcing h3 {
		font-size: 1.25em;
	}	
}



/*==========================================================================================

採用事例　case

============================================================================================*/
#case {
	background-color: #fff;
}
#case .inner {
	padding-top: 3em;
}
#case .box_case {
	background: #fff;
	border:solid 3px #68C9F2;
	line-height: 1.5;
	padding: 1.0em 1.0em;
	margin-bottom: 3em;
	border-radius: 20px;
	color: #333;
  -webkit-box-shadow: -5px -5px 15px 0px rgba(255, 255, 255, 0.56), -3px -3px 20px 0px rgba(255, 255, 255, 0.76), 5px 5px 12px 0 rgba(90, 125, 136, 0.16), 3px 3px 24px 0 rgba(90, 125, 136, 0.32);
          box-shadow: -5px -5px 15px 0px rgba(255, 255, 255, 0.56), -3px -3px 20px 0px rgba(255, 255, 255, 0.76), 5px 5px 12px 0 rgba(90, 125, 136, 0.16), 3px 3px 24px 0 rgba(90, 125, 136, 0.32);	
	text-align: left;
}
#case .box_case h3 {
    display: inline-block;
    position: relative;
    padding: .5em 1.4em .5em 1em;
	margin: 0;
    background-color: #68C9F2;
    color: #fff;
	width: 100%;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	text-align: center;
}

#case .box_case h3::before {
    position: absolute;
    bottom: -1px;
    right: 9px;
    z-index: -1;
    transform: rotate(5deg);
    width: 70%;
    height: 50%;
    background-color: #a5a5a5;
    content: "";
    filter: blur(4px);
}

#case .box_case dl {
  display: flex;
  flex-wrap: wrap;
}
#case .box_case dl dt,
#case .box_case dl dd {
	border-bottom:dotted 1px #0086D1;
	padding: 10px 10px;
	margin: 0;
	box-sizing: border-box;
}
#case .box_case dl dt {
  width: 30%;
	border-right: solid 1px #0086D1;
	font-weight: bold;
}
#case .box_case dl dd {
  width: 70%;
}
#case .tbl_case {
	width: 100%;
	margin: 0 auto;
	border-collapse: collapse;	
}
#case .tbl_case th,
#case .tbl_case td {
	padding:.5em .5em;
	border: solid 1px #ccc; 
	text-align: left;
	vertical-align: middle;
	width: 20%;
	text-align: center;
}
#case .tbl_case thead th {
	background-color: #DFF2FC;
}
#case .tbl_case thead th:last-child {
	background-color: #0068B7;
	color: #fff;
}
#case .tbl_case tbody span {
	color: #0068B7;
}
#case .tbl_case th { }
#case .tbl_case td { }

/*==========================================================================================

よくあるご質問　faq

============================================================================================*/
section#faq {
	margin: 3em auto 0;
	padding-bottom: 3em;
}

.faq-item {
	margin-top: 2em;
	width: 95%;
	max-width: 960px;
	margin-left: auto;
	margin-right: auto;

	border: 1px solid #0C89B7;
	text-align: left;
}

.faq-question__wrap {
  position: relative;
  background: #0C89B7;
  padding: 10px 55px 10px 55px;
  cursor: pointer;

}
h3.faq-question__title {
	margin: 0;
}

.minus-icon {
  position: absolute;
  content: "";
  width: 20px;
  height: 3px;
  background: #fff;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
.plus-icon {
  position: absolute;
  content: "";
  width: 20px;
  height: 3px;
  background: #fff;
  right: 20px;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  transition: ease all 0.5s; /* 擬似要素のトランジションを追加 */
}

.plus-icon.active {
  transform: translateY(-50%);
}

.faq-question__title {
  font-weight: bold;
  color: #FFF;
  font-size: 20px;
  position: relative;
}
.faq-question__title::before {
    position: absolute;
    color: #fff;
    content: "Q";
    top: 50%;
    left: -35px;
    transform: translateY(-50%);
  }

.faq-answer__wrap {
  background: #fff;
  padding: 10px 5px 10px 55px;
  transition: ease all 0.5s; /* 擬似要素のトランジションを追加 */
  height: 0;
  overflow: hidden;
  padding-top: 0;
  padding-bottom: 0;
}

.faq-answer__wrap.active {
  height: auto;
  padding: 10px 5px 10px 55px;
}
.faq-answer__wrap {
  background: #fff;
  opacity: 0;
  padding: 10px 5px 10px 55px;
  padding-top: 0;
  padding-bottom: 0;
  overflow: hidden;
  transition: ease all 0.7s; /* 擬似要素のトランジションを追加 */
}

.faq-answer__wrap.active {
  opacity: 1;
  padding: 10px 5px 10px 55px;
}

.faq-answer__title {
  position: relative;
  font-weight: bold;
  color: #0C89B7;
  font-size: 20px;
  color: #0C89B7;
}

.faq-answer__title::before {
    position: absolute;
    color: #0C89B7;
    content: "A";
    top: 50%;
    left: -35px;
    transform: translateY(-50%);
  }

.faq-answer__text {
  	margin-top: 5px;
	position: relative;
}
.faq-answer__text::before {
    position: absolute;
    color: #B6174B;
	font-size: 1.125em;
	font-weight: bold;
    content: "A";
    top: 15px;
    left: -35px;
    transform: translateY(-50%);
  }

.faq--contact {
	background: #fff;
	border:solid 3px #68C9F2;
	line-height: 1.5;
	width: 30%;
	padding: 1.5em 1.5em;
	margin: 5em auto 5em !important;
	border-radius: 20px;
	color: #333;
  -webkit-box-shadow: -5px -5px 15px 0px rgba(255, 255, 255, 0.56), -3px -3px 20px 0px rgba(255, 255, 255, 0.76), 5px 5px 12px 0 rgba(90, 125, 136, 0.16), 3px 3px 24px 0 rgba(90, 125, 136, 0.32);
          box-shadow: -5px -5px 15px 0px rgba(255, 255, 255, 0.56), -3px -3px 20px 0px rgba(255, 255, 255, 0.76), 5px 5px 12px 0 rgba(90, 125, 136, 0.16), 3px 3px 24px 0 rgba(90, 125, 136, 0.32);	
}
.faq--contact .box_1_3 { 
	border-radius: 10px;
	overflow: hidden;
	margin: 0; 
}
.faq--contact .box_1_3 img{
	vertical-align:top;
}

.faq--contact p {
	font-size: 1.125em;
	line-height: 1.8;
	margin: 0 0 2em;
}

@media screen and (max-width: 640px){
	.faq-question__title {
	  font-size: 1em;
		line-height: 1.4;
	}	
	.faq-answer__title {
	  font-size: 1em;
	}
}



.button001 a {
    background: #eee;
	border:solid 2px #68C9F2;
    border-radius: 50px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 260px;
    padding: 10px 25px;
    color: #313131;
    transition: 0.3s ease-in-out;
    font-weight: 500;
	text-decoration: none;
}
.button001 a:hover {
    background: linear-gradient(to right, #048bf8, #18ca9c);
    color: #FFF;
}
.button001 a::after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid #313131;
    border-right: 3px solid #313131;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}
.button001 a:hover:after {
    border-color: #FFF;
}


/*==========================================================================================

お問い合わせ　contact

============================================================================================*/
section.wrap_contact {
	background-color:#fff;
	padding:5em 0;
}
table.CF7_table {
  width:80%;
  margin:0 auto;
  border:3px solid #e5e5e5;
}
table.CF7_table tr {
  border-top:1px solid #e5e5e5;
}
table.CF7_table td {
  text-align: left;
}

.CF7_table input,
.CF7_table textarea {
  border:1px solid #d8d8d8;
	padding:.5em 1em;
	margin: 3px 0;
}
.CF7_table::placeholder {
  color:#797979;
}
.CF7_req {
  font-size:.9em;
  padding:5px;
  background:#dc143c;
  color:#fff;
  border-radius:3px;
  margin-right:1em;
}
.CF7_unreq {
  font-size:.9em;
  padding:5px;
  background:#bdbdbd;
  color:#fff;
  border-radius:3px;
  margin-right:1em;
}
@media screen and (min-width:768px) {
  .CF7_table th {
    width:30%;
    background-color:#f0f2f5;
    text-align:left;
	  padding: 1em 1em;
  }
  .CF7_table td {
	  padding: 1em 1em;
  }	
}
@media screen and (max-width:768px) {
  table.CF7_table {
    width:95%;
  }
  .CF7_table tr,
  .CF7_table td,
  .CF7_table th {
    display:block;
    width:100%;
    line-height:2.5em;
  }
  .CF7_table th {
    background-color:#ebedf5;
  }
}
.wpcf7 input.wpcf7-submit {
  background-color:#df3b5e;
  border:0;
  color:#fff;
  font-size:1.3em;
  margin:0 auto;
}
.CF7_btn {
  text-align:center;
  margin-top:20px;
}
.wpcf7-spinner {
  width:0;
  margin:0;
}
.wpcf7 input[type="submit"] {
  width:50%;
  padding:15px;
  border-radius:10px;
  -webkit-border-radius:10px;
  -moz-border-radius:10px;
  border:none;
  box-shadow:0 3px 0 #ddd;
  background:#1e5aa0;
  transition:0.3s;
}
.wpcf7-submit:hover {
  background:#1e5aa0 !important;
  transform:translate3d(0px, 3px, 1px);
  -webkit-transform:translate3d(0px, 3px, 1px);
  -moz-transform:translate3d(0px, 3px, 1px);
}
.wpcf7-spinner {
  display:none !important;
}