@charset "utf-8";

/*
Theme Name:株式会社エイジェックO＆Mインテグレート
Version: 1.1
Author:エイジェック広報部
Author URI:https://www.agekke.co.jp/

/*============================
固定ページ共通
============================*/
/*----- トップ画像 -----*/
.bl_mainVisual {
    position: relative;
    margin: 70px 0 0;
}
.bl_mainVisual_cont {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}
.bl_mainVisual_ttl {
    background-image: url(images/bg-kotei.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    color: #fff;
}
.bl_mainVisual_txt {
    line-height: 2;
    margin: 10px 0 0;
    padding: 0 30px;
}
.bl_mainVisual_img img {
    height: 300px;
    object-fit: cover;
    width: 100%;
}
.bl_mainVisual_ttl h1 {
    font-size: 1.875rem;
    font-weight: 700;
    padding: 0 30px;
}
@media screen and (max-width: 767px) {	
	.bl_mainVisual {
    	margin: 60px 0 0;
	}
	.bl_mainVisual_cont {
    	display: block;
	}
	.bl_mainVisual_img {
		display: none;
	}
	.bl_mainVisual_ttl {
    	padding: 80px 0;
	}
	.bl_mainVisual_ttl h1 {
    	font-size: 1.125rem;
	}
}
/* ----- パンくず -----*/
.bread {
    margin: 15px 0;
}
.bread ul {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.bread ul li,
.bread ul li a {
    font-size: .875rem;
}
.bread ul li:after {
    content: "/";
    margin: 0 15px;
}
.bread ul li:last-child::after {
    display: none;
}
.bread ul li a {
    color: #034B9E;
}
@media screen and (max-width: 767px) {
    .bread ul li,
    .bread ul li a {
        font-size: .75rem;
    }
    .bread ul li:after {
        margin: 0 7px;
    }
}
/*============================
募集要項
============================*/
.bl_job_req_wrap {
    max-width: 1080px;
    margin: 0 auto;
}
.bl_job_req_type {
    font-size: 1.375rem;
    font-weight: 700;
    color: #034B9E;
    padding: 0 0 10px;
    border-bottom: 1px solid #034B9E;
}
.bl_job_req_desc {
    font-size: 1.125rem;
    line-height: 1.9;
    margin: 20px 0 0;
}
.bl_job_req_item {
    margin: 45px 0 0;
}
.bl_job_req_item h3 {
    background: #F0F4F7;
    padding: 5px 0;
    margin: 0 0 20px;
}
.bl_job_req_item h3 span {
    margin: 0 0 0 28px;
    line-height: 1;
    position: relative;
    font-weight: 600;
    display: inline-block;
}
.bl_job_req_item h3 span:before {
    content: '';
    width: 20px;
    height: 2px;
    background: #034B9E;
    position: absolute;
    left: -28px;
    top: 50%;
    transform: translateY(-50%);
}
.bl_job_req_list p {
    position: relative;
    margin: 0 0 0 20px;
    line-height: 2;
}
.bl_job_req_list p:before {
    content: '';
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #034B9E;
    position: absolute;
    left: -20px;
    top: 12px;
}
.bl_job_career_cont {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: end;
    margin: 50px 0 0;
}
.bl_job_career_ttl {
    position: relative;
}
.bl_job_career_img {
    max-width: 70px;
    position: absolute;
    bottom: -3px;
    left: 50%;
    transform: translateX(-50%);
}
.bl_job_career_ttl p {
    font-weight: 600;
    padding: 0 0 8px;
}
.bl_job_career_item.hp_step1 .bl_job_career_ttl p {
    color: #1EA2DD;
}
.bl_job_career_item.hp_step2 .bl_job_career_ttl p {
    color: #3376C3;
}
.bl_job_career_item.hp_step3 .bl_job_career_ttl p {
    color: #065ABA;
}
.bl_job_career_item.hp_step4 .bl_job_career_ttl p {
    color: #034B9E;
}
.bl_job_career_txt p {
    color: #fff;
    font-weight: 600;
    font-size: .875rem;
}
.bl_job_career_item.hp_step1 .bl_job_career_txt {
    background: #1EA2DD;
    padding: 8px 12px;
}
.bl_job_career_item.hp_step2 .bl_job_career_txt {
    background: #3376C3;
    padding: 15px 12px;
}
.bl_job_career_item.hp_step3 .bl_job_career_txt {
    background: #065ABA;
    padding: 30px 12px;
}
.bl_job_career_item.hp_step4 .bl_job_career_txt {
    background: #034B9E;
    padding: 45px 12px;
}
.bl_job_info {
    background: #F0F4F7;
}
.bl_job_info_cont {
    background: #fff;
    padding: 0 100px 100px;
}
.bl_job_info_ttl {
    text-align: center;
}
.bl_job_info_ttl span {
    position: relative;
    font-size: 1.5rem;
    font-weight: 600;
    display: inline-block;
    margin: 30px 0 0;
    color: #034B9E;
}
.bl_job_info_ttl span:before {
    content: '';
    width: 100%;
    height: 7px;
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    background: #034B9E;
}
.bl_job_info_cont table {
    margin: 50px 0 0;
}
.bl_job_info_cont table th,
.bl_job_info_cont table td {
    padding: 24px 0;
    border-bottom: 1px solid #CECDCD;
    vertical-align: top;
}
.bl_job_info_cont table th {
    width: 200px;
    color: #034B9E;
}
.bl_job_info_cont table td {
    width: calc(100% - 200px);
}
.bl_job_info_flow {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 60px;
    max-width: 690px;
}
.bl_job_info_flow_item {
    position: relative;
}
.bl_job_info_flow_item p {
    text-align: center;
    color: #034B9E;
    font-weight: 600;
    margin: 12px 0 0;
    font-size: .875rem;
}
.bl_job_info_flow_item::before {
    content: '';
    width: 10px;
    height: 10px;
    border-top: solid 2px #034B9E;
    border-right: solid 2px #034B9E;
    position: absolute;
    right: -30px;
    top: 32%;
    transform: rotate(45deg);
}
.bl_job_info_flow .bl_job_info_flow_item:last-of-type::before {
    content: none;
}
.bl_job_info .el_btn {
    margin: 50px auto 0;
}
@media screen and (max-width:1023px) {
	.bl_job_info_cont {
    	padding: 0 30px 30px;
	}	
	.bl_job_career_img {
   		left: 80%;
    	transform: translateX(-80%);
	}
	.bl_job_info_cont table th {
    	width: 120px;
	}
	.bl_job_info_flow {
    	gap: 26px;
	}
	.bl_job_info_flow_item::before {
    	right: -15%;
	}
}
@media screen and (max-width:767px) {
	.bl_job_req_desc {
    	font-size: 1rem;
    	line-height: 1.6;
	}
	.bl_job_req_type {
    	font-size: 1.125rem;
	}
	.bl_job_req_item {
    	margin: 30px 0 0;
	}
	.bl_job_career_cont {
    	display: block;
		margin: 0;
	}
	.bl_job_career_img {
    	max-width: 30px;
	}
	.bl_job_career_item.hp_step1 .bl_job_career_img {
        left: 60%;
        transform: translateX(-60%);
    }
	.bl_job_career_item.hp_step2 .bl_job_career_img {
        left: 70%;
        transform: translateX(-70%);
    }
	.bl_job_career_item.hp_step3 .bl_job_career_img {
        left: 80%;
        transform: translateX(-80%);
    }
	.bl_job_career_item.hp_step4 .bl_job_career_img {
        left: 90%;
        transform: translateX(-90%);
    }
	.bl_job_career_txt p {
    	font-size: .9375rem;
	}
	.bl_job_career_txt {
		padding: 15px !important;
	}
	.bl_job_career_item {
		margin: 0 0 20px;
	}
	.bl_job_career_item.hp_step4 {
		margin: 0;
	}
	.bl_job_req_list p {
    	line-height: 1.6;
		margin: 0 0 10px 20px;
	}
	.bl_job_req_list p:before {
    	top: 8px;
	}
	.bl_job_req_list p:last-of-type {
		margin: 0 0 0 20px;
	}
	.bl_job_info_cont table th,
	.bl_job_info_cont table td {
		display: block;
		width: 100%;
	}
	.bl_job_info_cont table th {
		padding: 24px 0 0;
		border-bottom: none;
	}
	.bl_job_info_cont table td {
		padding: 5px 0 24px;
		border-bottom: 1px solid #CECDCD;
	}
	.bl_job_info_flow {
    	display: block;
    	max-width: 120px;
		margin: 30px auto 0;
	}
	.bl_job_info_flow_item::before {
		top: 108%;
		right: 50%;
		transform: translateX(50%) rotate(135deg);
	}
	.bl_job_info_flow .bl_job_info_flow_item:not(:last-of-type) {
		margin: 0 0 50px;
	}
	.bl_job_info_flow_item p {
    	margin: 8px 0 0;
    	font-size: 1rem;
	}
	.bl_job_info .el_btn {
    	margin: 30px auto 0;
	}
}
/* ----- 先輩インタビュー -----*/
.bl_interview_cont {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}
.bl_interview_inner {
    display: grid;
    grid-template-columns: 33% 1fr;
    gap: 20px;
    align-items: end;
}
.bl_interview_img img {
    display: block;
    margin: 0 0 -30px;
    padding: 18px 0 0;
}
.bl_interview_item {
    position: relative;
    background: #fff;
    padding: 20px 20px 30px;
    box-shadow: 0 3px 10px #00000029;
    border-radius: 4px;
}
.bl_interview_arrow {
    position: absolute;
    bottom: 14px;
    right: 14px;
    width: 26px;
}
.bl_interview_ctgr span {
    display: inline-block;
    line-height: 1;
    background: #F0F4F7;
    color: #034B9E;
    font-weight: 600;
    font-size: .875rem;
    padding: 4px 7px;
}
.bl_interview_item h3 {
    color: #034B9E;
    font-weight: 600;
    margin: 10px 0;
}
.bl_interview_business {
    font-size: .875rem;
    line-height: 1.5;
}
@media screen and (max-width: 767px) {

}
/*============================
お問い合わせ
============================*/
.bl_contact_notes {
	border: 2px solid #019B47;
	background: #F1F9F5;
	border-radius: 20px;
	padding: 50px;
	margin: 50px 0;
}
.bl_contact_desc {
	text-align: center;
	line-height:1.8;
	margin: 0 0 30px;
}
.bl_contact_notes ul li {
	color: #112953;
	font-weight: 600;
	line-height: 1.8;
}
input[type="button"],
input[type="email"],
input[type="text"],
input[type="submit"],
input[type="image"],
input[type="tel"],
textarea,
select,
input[type="number"] {
	outline: none;
	font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	letter-spacing: .1em;
}
.bl_contact_form_box th {
	padding: 20px 0;
	border-bottom: 2px solid #757D92;
	width :380px;
	border-right: transparent 20px solid;
}
.bl_contact_form_box  td{
	padding: 20px 0;
	border-bottom: 2px solid #BBBEC5;
	width: calc(100% - 380px);
}
.bl_contact_form_box th,
.bl_contact_form_box td {
	vertical-align: middle;
}
.bl_contact_ttl {
	display: grid;
	grid-template-columns: 1fr 50px;
	gap: 15px;
}
.bl_contact_form .bl_contact_txt {
	width: 100%;
	padding: 10px 8px;
	font-size: 1rem;
	border: none !important;
	background: #F5F5F5;
	border-radius: 5px;
}
.bl_contact_txt_20 {
	width: 20%;
	padding: 10px 8px;
	font-size: 1rem;
	border: none !important;
	background: #F5F5F5;
	border-radius: 5px;
}
.bl_recaptcha {
	text-align: center;
	font-size: .875rem;
	margin: 35px 0 0;
}
.bl_recaptcha a {
    margin: 0 5px;
    border-bottom: 1px solid #00a1e9;
    color: #00a1e9;
	padding-bottom: 2px;
}
.bl_recaptcha a:hover {
    border-bottom: 1px solid #005bac;
    color: #005bac;
}
.title-contactform7 {
	color: #123B4D;
	font-weight: 600;
}
.bl_contact_form .wpcf7-form label {
  border: none !important;
  padding: 6px 10px 8px 8px;
  display: inline-block;
  cursor: pointer;
  background: #fff;
  margin: 0 6px 6px 0;
}
.bl_contact_form .wpcf7-form label input,
.bl_contact_form .wpcf7-form label span {
  vertical-align: middle;
}
.bl_contact_form .wpcf7-form-control.select {
	background: #fff;
    padding: 6px 10px 8px 8px;
    width: 60%;
    font-size: 1rem;
    border: none;
    border: #ddd solid 1px !important;
    border-radius: 5px;
}
.bl_contact_pp {
    text-align: center;
	margin: 50px 0 0;
}
.bl_contact_pp_txt {
    font-weight: 600;
    font-size: .9375rem;
}
.bl_contact_pp .bl_contact_input {
    margin: 12px 0 0;
}
.bl_contact_input .hp_unit {
	display: inline-block; 
	margin: 0 0 0 10px;
}
.bl_contact_submit {
	max-width: 500px;
	text-align: center;
	margin: 40px auto 0;
}
.bl_contact_btn,
div.wpcf7cp-btns .wpcf7-form-control {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  appearance: none;
  cursor: pointer;
  background: #034B9E;
  display: inline-block;
  width: 46%;
  outline: none;
  border-radius: 30px;
  font-size: 1.125rem;
  font-weight: bold;
  border: none;
  padding: 12px 0;
  margin: 0 2%;
  letter-spacing: .1em;
  transition: .5s;
  color: #fff;
}
.bl_contact_btn:hover,
div.wpcf7cp-btns .wpcf7-form-control:hover {
  background: #EF287C;
}
.bl_contact_his {
	text-align: center;
}
.bl_contact_his span {
    background: #FF0900;
    color: #fff;
    border-radius: 5px;
	font-size: .875rem;
    display: block;
    padding: 2px;
}

.wpcf7-list-item {
    margin: 0 !important;;
}
@media screen and (max-width: 1279px) {
	.bl_contact_form_box th {
		width :300px;
	}
	.bl_contact_form_box  td{
		width: calc(100% - 300px);
	}
}
@media screen and (max-width: 1023px) {
	.bl_contact_form_box th {
		width :230px;
	}
	.bl_contact_form_box  td{
		width: calc(100% - 230px);
	}
	.bl_contact_desc {
		text-align: left;
	}
	.bl_contact_notes {
		margin: 30px 0;
		padding: 30px;
	}
}
@media screen and (max-width: 767px) {
	.bl_contact_notes {
		padding: 20px;
	}
	.bl_contact_form_box th,
	.bl_contact_form_box td {
		display: block;
		width: 100%;
	}
	.bl_contact_form_box th {
		border: none;
		padding: 20px 0 0;
	}
	.bl_contact_form_box td {
		padding: 10px 0 20px;
	}
	.bl_contact_pp {
		margin: 30px 0 0;
		text-align: left;
	}
	.bl_contact_pp_txt {
    	line-height: 1.9;
	}
	.bl_contact_submit {
    	margin: 20px auto 0;
	}
	.bl_recaptcha {
		text-align: left;
	}
	.bl_contact_form .wpcf7-form-control.select {
    	width: 100%;
	}
}
/*============================
送信完了しました
============================*/
.bl_completion {
	line-height: 1.9;
	text-align: center;
}
.bl_completion .bl_top {
	margin: 50px auto 0;
}
@media screen and (max-width: 767px){
	.bl_completion {
		text-align: left;
	}	
	.bl_completion .bl_top {
    	margin: 30px auto 0;
	}
}
/* ----- 募集要項一覧・応募 -----*/
.bl_entry_cont {
    max-width: 900px;
    display: grid;
    grid-template-columns: 1fr 500px;
    gap: 60px;
    margin: 0 auto;
}
.bl_entry_btn {
    position: relative;
}
.bl_entry_btn a {
    line-height: 50px;
    display: block;
    font-size: .875rem;
    padding: 10px 30px;
    font-weight: 600;
    letter-spacing: .1em;
}
.bl_entry_btn.hp_entry a {
    background: #EF287C;
    color: #fff;
    border: 1px solid #EF287C;
    margin: 0 0 20px;
}
.bl_entry_btn.hp_shin a {
    background: #41B468;
    color: #fff;
    border: 1px solid #41B468;
    margin: 0 0 20px;
}
.bl_entry_btn.hp_come a {
    color: #fff;
    border: 1px solid #fff;
}
.bl_entry_btn .el_arrow {
    right: 30px;
}
.bl_entry_btn .el_arrow span,
.bl_entry_btn .el_arrow span::before,
.bl_entry_btn .el_arrow span::after {
    background: #fff;
}
.bl_entry_btn a:hover {
    background: #fff;
}
.bl_entry_btn.hp_entry a:hover {
    color: #EF287C;
}
.bl_entry_btn.hp_shin a:hover {
    color: #41B468;
}
.bl_entry_btn.hp_come a:hover {
    color: #034B9E;
}
.bl_entry_btn a:hover .el_arrow {
    right: 40px;
}
.bl_entry_btn.hp_entry a:hover .el_arrow span,
.bl_entry_btn.hp_entry a:hover .el_arrow span::before,
.bl_entry_btn.hp_entry a:hover .el_arrow span::after {
    background: #EF287C;
}

.bl_entry_btn.hp_shin a:hover .el_arrow span,
.bl_entry_btn.hp_shin a:hover .el_arrow span::before,
.bl_entry_btn.hp_shin a:hover .el_arrow span::after {
    background: #41B468;
}
.bl_entry_btn.hp_come a:hover .el_arrow span,
.bl_entry_btn.hp_come a:hover .el_arrow span::before,
.bl_entry_btn.hp_come a:hover .el_arrow span::after {
    background: #034B9E;
}
@media screen and (max-width: 1080px) {
    .bl_entry_cont {
        max-width: 100%;
        gap: unset;
        grid-template-columns: auto;
    }
}
/* ----- 数字で見るO＆M -----*/
.data_txt {
    line-height: 2;
}
#data ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 80px 0 60px;
}
#data ul li {
    width: 32%;
    margin: 0 0 60px;
    background: #F0F4F7;
    text-align: center;
    position: relative;
}
#data ul li:nth-child(4),
#data ul li:nth-child(5),
#data ul li:nth-child(9),
#data ul li:nth-child(10) {
    width: 49%;
}
.data_inner1 {
    padding: 40px 1% 30px;
}
.data_inner1 p {
    margin: 0 0 20px;
}
.data_inner2 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    padding: 60px 1% 40px;
}
.data_inner2 p {
    width: 45%;
}
#data h3 {
    color: #fff;
    background: #034B9E;
    font-size: 1.25rem;
    border-radius: 22px;
    padding: 5px 30px;
    position: absolute;
    left: 0;
    right: 0;
    top: -20px;
    margin: auto;
    width: fit-content;
}
#data ul li p {
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.2;
}
#data ul li p strong {
    font-size: 4.25rem;
    color: #EF287C;
    font-weight: 600;
    font-family: "Barlow", sans-serif;
}
#data ul li p strong small {
    font-size: 2.875rem;
}
#data ul li p span {
    display: block;
    font-size: 1rem;
}
#data ul li img {
    display: block;
    width: 100%;
    max-width: 260px;
    margin: auto;
}
@media screen and (max-width: 767px) {
    .data_txt {
        font-size: .875rem;
    }
    #data ul {
        margin: 60px 0 20px;
    }
    #data ul li {
        width: 100% !important;
        margin: 0 0 50px;
    }
    #data h3 {
        font-size: 1rem;
        padding: 3px 20px;
        top: -15px;
    }
    #data ul li p {
        font-size: 1rem;
    }
    #data ul li p strong {
        font-size: 3.25rem;
    }
    #data ul li p strong small {
        font-size: 2.5rem;
    }
    #data ul li p span {
        font-size: .75rem;
    }
    .data_inner1,
    .data_inner2 {
        padding: 30px 1% 20px;
        display: block;
    }
    .data_inner1 p,
    .data_inner2 p {
        margin: 0 0 10px;
        width: 100%;
    }
    #data ul li img {
        max-width: 150px;
    }
}
/* 福利厚生・支援・制度 */
.benefits_intro_inner {
	display: grid;
	grid-template-columns: 42% 1fr;
    align-items: center;
}
.benefits_intro_item p {
    font-size: 1.125rem;
    line-height: 2;
	max-width: 630px;
	padding: 0 30px 0 0;
}
@media screen and (max-width: 1279px) {
	.benefits_intro_inner {
		grid-template-columns: 50% 1fr;
	}
	.benefits_intro_item p {
    	font-size: 1rem;
    	line-height: 1.8;
	}
}
@media screen and (max-width: 767px) {
	.benefits_intro_inner{
		display: block;
		padding: 20px 15px;
	}
	.benefits_intro_inner img {
		display: block;
		margin: 0 0 15px;
	}
	.benefits_intro_item p {
    	padding: 0;
	}
}
/* ----- 福利厚生 -----*/
.welfare {
    background: #F0F4F7;
}
.welfare_table {
    max-width: 960px;
    margin: auto;
}
.welfare_table td {
    padding: 0 3% 40px;
    width: 33%;
}
.welfare_table tr:last-child td {
    padding: 40px 3%;
}
.welfare_table tr td:nth-child(1) {
    padding: 0 3% 40px 0;
}
.welfare_table tr td:nth-child(3) {
    padding: 0 0 40px 3%;
}
.welfare_table td:not(:last-child) {
    border-right: 1px dashed #CECDCD;
}
.welfare_table tr:not(:last-child) td {
    border-bottom: 1px dashed #CECDCD;
}
.welfare_table img {
    display: block;
    max-width: 140px;
    margin: auto;
}
.welfare_table h3 {
    text-align: center;
    font-size: 1.25rem;
    font-weight: 700;
    color: #034B9E;
    margin: 20px 0;
}
@media screen and (max-width: 767px) {
    .welfare_table td {
        width: 100%;
        display: block;
        padding: 30px 5% !important;
        border: 1px dashed #CECDCD !important;
    }
    .welfare_table img {
        max-width: 100px;
    }
    .welfare_table h3 {
		font-size: 1.125rem;
        margin: 10px 0;
    }
    .welfare_table p {
        font-size: 1rem;
		line-height: 1.5;
    }
}
/* ----- 支援・制度 -----*/
.support ul {
    margin: 40px 0 0;
}
.support ul li {
    padding: 30px 0 40px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    border-top: 1px dashed #CECDCD;
    border-bottom: 1px dashed #CECDCD;
}
.support ul li img {
    display: block;
    width: 35%;
    object-fit: contain;
}
.support_cont {
    width: 60%;
}
.support_cont h3 {
    font-size: 1.25rem;
    font-weight: 700;
    color: #034B9E;
    margin: 0 0 20px;
}
.support_cont p {
	line-height: 1.7;
}
@media screen and (max-width: 767px) {
	.support ul li {
    	padding: 22px 0 30px;
	}
    .support_txt,
    .support_cont p {
        font-size: 1rem;
		line-height: 1.6;
    }
    .support ul li img {
        width: 100%;
        margin: 20px 0 0;
		height: 150px;
        object-fit: cover;
    }
    .support_cont {
        width: 100%;
    }
    .support_cont h3 {
        font-size: 1.0625rem;
        margin: 0 0 10px;
    }
}