@charset "UTF-8";

/*=======================================================
MV
=======================================================*/
.bl_lower_mv{
	background-image: url("../images/recruit/mv_bg.jpg");
}
.bl_lower_mv_ttl::after{
	width: 73px;
	height: 31px;
	background: url("../images/recruit/mv_ttl__en.svg") center / 70px 16px no-repeat;
}
@media screen and (max-width : 750px){
	.bl_lower_mv{
		background-image: url("../images/recruit/mv_bg_sp.jpg");
	}
	.bl_lower_mv_ttl::after{
		width: 94px;
		height: 36px;
		background-size: 91px 21px;
	}
}

/*=======================================================
info
=======================================================*/
#info .ly_cont_inner{
    padding: 35px 0 200px;
}
/*イントロ*/
#info .bl_media_intro .bl_media_imgWrapper{
    width: 415px;
    height: 268px;
}
#info .bl_media_intro .bl_media_body{
    width: 560px;
	letter-spacing: 0;
    line-height: 1.6;
}
@media screen and (max-width : 750px){
	#info .ly_cont_inner{
	    padding: 75px 0 280px;
	}
/*イントロ*/
	#info .bl_media_intro .bl_media_imgWrapper{
	    width: 670px;
 	   height: 433px;
	}
}

/*=======================================================
job
=======================================================*/
#job{
	background: #fffde9;
}
#job .ly_cont_inner{
	padding: 60px 0;
}
.bl_jobDescriptionList{
	position: relative;
}
/*職種ボタン*/
.bl_jobDescription_radio{
    display: none;
}
.bl_jobDescription_btn{
	width: 420px;
	height: 78px;
	padding: 3px 0 20px;
    box-shadow: 0 0 7px 0 rgba(0,0,0,0.4);
    border-width: 1px;
    border-style: solid;
    border-radius: 10px;
	font-size: 20px;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	position:absolute;
	top: -200px;
	z-index: 5;
    overflow: hidden;
}
.bl_jobDescription_btn::before,
.bl_jobDescription_btn::after{
	content: "";
	display: block;
	position: absolute;
	left: 0;
}
.bl_jobDescription_btn::before{
	content: "▼";
	width: 100%;
	height: 20px;
    color: #fff;
    font-size: 12px;
    display: flex;
    justify-content: center;
    align-items: center;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 5;
}
.bl_jobDescription_btn::after{
	width: 100%;
    height: 100%;
	bottom: 0;
	z-index: 10;
}
.bl_jobDescription_btn:hover::after,
.bl_jobDescription_radio:checked + .bl_jobDescription_btn::after{
	background: rgba(0,0,0,0.2);
}
/*職種見出し*/
.bl_jobDescription_ttl{
    height: 55px;
    margin-bottom: 25px;
    padding-top: 3px;
    color: #fff;
    font-size: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
}
/*職種ボタン・見出し カラー、位置設定*/
#jobBtn + .bl_jobDescription_btn{
	border-color: #e60012;
	left: 65px;
}
#jobBtn + .bl_jobDescription_btn::before{
    background: #e60012;
}
#jobBtn02 + .bl_jobDescription_btn{
	border-color: #ed6c00;
	right: 65px;
}
#jobBtn02 + .bl_jobDescription_btn::before{
    background: #ed6c00;
}
.bl_jobDescription:first-child .bl_jobDescription_ttl{
    background: #e60012;
}
.bl_jobDescription:nth-child(2) .bl_jobDescription_ttl{
    background: #ed6c00;
}
/*テーブル*/
.bl_jobDescription_info{
	display: none;
}
.bl_jobDescription_radio:checked ~ .bl_jobDescription_info{
	display: block;
}
.bl_jobDescription_table{
	width: 100%;
    border: 1px solid #2e2e2e;
    background: #fff;
}
.bl_jobDescription_tbody > tr > th:first-of-type{
    width: 263px;
    padding-left: 55px;
    background: #475763;
    border-right: 1px solid #2e2e2e;
    color: #fff;
    font-size: 18px;
    text-align: left;
}
.bl_jobDescription_tbody > tr + tr > *{
    border-top: 1px solid #2e2e2e;
}
.bl_jobDescription_tbody > tr > th{
    padding-top: 3px;
}
.bl_jobDescription_tbody > tr > td{
    padding: 15px 65px 12px;
    line-height: 1.6;
    letter-spacing: 0;
}
.bl_jobDescription_tbody > tr > td > * + *{
    margin-top: 1.4em;
}
.bl_jobDescription_tbody > tr > td a{
	color: #242424;
}
.bl_jobDescription_tbody .el_att,
.bl_jobDescription_tbody .el_sTxt{
    font-size: 14px;
}
.bl_jobDescription_tbody .place ul + .el_att{
	margin-top: 0;
}
@media screen and (max-width : 750px){
	#job .ly_cont_inner{
		padding: 70px 0;
	}
/*職種ボタン*/
	.bl_jobDescription_btn{
		width: 325px;
		height: 130px;
		padding: 0 0 30px;
		text-align: center;
		font-size: 26px;
		line-height: 1.4;
		top: -250px;
	}
	.bl_jobDescription_btn::before{
		height: 30px;
	    font-size: 20px;
	}
/*職種見出し*/
	.bl_jobDescription_ttl{
	    height: 80px;
	    margin-bottom: 35px;
	    padding-top: 0;
	    font-size: 32px;
	}
/*職種ボタン・見出し カラー、位置設定*/
	#jobBtn + .bl_jobDescription_btn{
		left: 0;
	}
	#jobBtn02 + .bl_jobDescription_btn{
		right: 0;
	}
/*テーブル*/
	.bl_jobDescription_tbody > tr > *{
		display: block;
		width: 100%!important;
	    padding: 20px 25px!important;
		font-size: 1rem!important;
		border: none!important;
	}
	.bl_jobDescription_tbody .el_att,
	.bl_jobDescription_tbody .el_sTxt{
	    font-size: 22px;
	}
}

/*=======================================================
form
=======================================================*/
#form .ly_cont_inner{
    padding: 65px 0 90px;
}
#form .el_mainTtl{
    margin-bottom: 15px;
    font-size: 30px;
    text-align: center;
}
#form .bl_intro_txt{
    margin-bottom: 35px;
    text-align: center;
}
/*テーブル*/
.bl_form{
    padding: 65px 0 70px;
    background: #fdf3ee;
}
.bl_formTable{
    width: 810px;
    margin: 0 0 50px 60px;
    line-height: 1.6;
}
.bl_formTable tbody > tr > *{
    padding-bottom: 30px;
}
.bl_formTable tbody > tr:last-child > *{
    padding-bottom: 0;
}
.bl_formTable th{
    width: 295px;
    padding-top: 11px;
    font-weight: normal;
    text-align: left;
    vertical-align: top;
    position: relative;
}
.bl_formTable th .el_att{
    color: #e05f26;
    font-size: 13px;
}
/*必須*/
.bl_formTable th::after{
	content: "任意";
    width: 52px;
    height: 24px;
    padding-top: 2px;
	background: #9a9a9a;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    display: flex;
	justify-content: center;
	align-items: center;
    position: absolute;
    top: 9px;
    right: 50px;
}
.bl_formTable .el_required::after{
	content: "必須";
    background: #e05f26;
}
.bl_formTable tbody > tr:last-of-type th{
    vertical-align: middle;
}
.bl_formTable tbody > tr:last-of-type th::after{
    margin: auto 0;
    top: 0;
    bottom: 0;
}
/*※未入力です*/
.bl_formTable td .error{
	margin-top: 10px;
    color: #ff0000;
    font-size: 0.7rem;
    font-weight: bold;
}
.bl_formTable td .error::before{
    content: "※";
}
.bl_formTable td .error +.error{
	display: none;
}
/*送信ボタン*/
.el_formBtn__submit{
    width: 252px;
	height: 59px;
    margin: 0 auto;
    background: #e60012;
    border-bottom: 3px solid #b8000e;
	border-radius: 5px;
    position: relative;
}
.el_formBtn__submit input{
    width: 100%;
    height: 100%;
    padding-top: 6px;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
}
.el_formBtn__submit::before{
    content: "";
    display: block;
    width: 0;
    height: 0;
    margin: auto 0;
    border-style: solid;
    border-width: 6px 0 6px 9px;
    border-color: transparent transparent transparent #fff;
    position: absolute;
    top: 3px;
    right: 13px;
    bottom: 0;
}
.bl_form_att {
    text-align: center;
    margin-top: 20px;
    font-size: 14px;
}
@media screen and (max-width : 750px){
	#form .ly_cont_inner{
 	   padding: 85px 0 120px;
	}
	#form .el_mainTtl{
	    margin-bottom: 35px;
	    font-size: 34px;
	}
	#form .bl_intro_txt{
	    margin-bottom: 55px;
		line-height: 1.6;
	}
/*テーブル*/
    .bl_form{
        width: 100%;
        padding: 55px 0 65px;
    }
    .bl_formTable{
        width: 590px;
        margin: 0 auto 30px;
    }
    .bl_formTable tbody > tr > *{
        width: 100%;
        display: block;
    }
    .bl_formTable th{
        padding-top: 0;
        padding-bottom: 15px!important;
    }
    .bl_formTable th::after{
        width: 61px;
        height: 30px;
        padding-top: 0;
        font-size: 22px;
        top: 0;
        right: 0;
    }
    .bl_formTable th .el_att{
        font-size: 22px;
    }
    .bl_formTable td{
        padding-bottom: 40px!important;
    }
    .bl_formTable tr:last-of-type td{
        padding-bottom: 0!important;
    }
/*送信ボタン関係*/
    .el_formBtn__submit{
        width: 450px;
		height: 90px;
	}
	.el_formBtn__submit::before{
		border-width: 9px 0 9px 12px;
		right: 20px;
	}
    .el_formBtn__submit input{
        font-size: 33px;
    }
    .bl_form_att {
        font-size: 24px;
        line-height: 1.5;
    }
}

/*=======================================================
入力パーツ関係
=======================================================*/
/*wpリセット用*/
.mwform-checkbox-field input,
.mwform-radio-field input{
    margin: 0!important;
}
.mwform-checkbox-field input,
.mwform-radio-field input{
    display: none;
	display: initial;
}
/*入力パーツ*/
.bl_formTable input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #fff inset;
}
.bl_formTable input[type="text"],
.bl_formTable input[type="tel"],
.bl_formTable input[type="email"],
.bl_formTable input[type="url"],
.bl_formTable textarea{
    width: 100%;
    padding: 0 20px;
    background: #fff;
    border: 1px solid #969696;
    border-radius: 5px;
}
.bl_formTable input[type="text"],
.bl_formTable input[type="tel"],
.bl_formTable input[type="email"],
.bl_formTable input[type="url"]{
    height: 40px;
}
.bl_formTable input::placeholder,
.bl_formTable textarea::placeholder{
	color: #b2b2b2;
}
.bl_formTable textarea{
    height: 155px;
    padding: 10px 20px;
    line-height: 1.6;
    resize: none;
}
.mwform-checkbox-field {
    margin: 0 30px 10px 0!important;
    display: inline-block;
}
.mwform-checkbox-field label{
    padding-left: 25px;
    display: inline-block;
    position: relative;
}
.mwform-checkbox-field label:hover{
    cursor: pointer;
}
.mwform-checkbox-field input[type="checkbox"]{
	display: none;
}
.mwform-checkbox-field-text::before{
	content: "";
    width: 15px;
    height: 15px;
    margin: auto 0;
    padding: 0;
    background: #fff;
    border: 1px solid #969696;
    border-radius: 5px;
	display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
}
input[type="checkbox"]:checked + .mwform-checkbox-field-text::after{
	content: "";
	display: block;
	border-left: 2px solid #e60012;
	border-bottom: 2px solid #e60012;
	width: 9px;
	height: 5px;
	transform: rotate(-45deg);
	position: absolute;
	left: 3px;
	top: 10px;
}
/*住所*/
.bl_formTable .el_add{
    width:190px!important;
    margin: 0 0 10px 10px;
}
/*勤務する職種*/
.bl_formTable .bl_type_ttl{
    margin-bottom: 3px;
	font-size: 1rem;
}
@media screen and (max-width : 750px){
/*wpリセット用*/
    .mwform-radio-field{
        margin: 0!important;
        display: block;
    }
    .mwform-radio-field + .mwform-radio-field{
        margin-top: 15px!important;
    }
	#info .bl_infoUnit table{
		width: 100%;
	}
/*入力パーツ*/
    .bl_formTable input[type="text"],
	.bl_formTable input[type="tel"],
    .bl_formTable input[type="email"],
    .bl_formTable input[type="url"],
    .bl_formTable textarea{
        height: 66px;
        font-size: 32px;
    }
    .bl_formTable input[type="text"],
	.bl_formTable input[type="tel"],
    .bl_formTable input[type="email"],
    .bl_formTable input[type="url"]{
        padding-right: 25px;
        padding-left: 25px;
    }
	.mwform-checkbox-field{
		margin-bottom: 10px!important;
	}
	.bl_formTable .mwform-checkbox-field-text{
		margin-left: 15px;
	}
    .bl_formTable .mwform-checkbox-field-text::before{
        width: 25px;
        height: 25px;
    }
    .bl_formTable input[type="checkbox"]:checked + .mwform-checkbox-field-text::after{
        width: 13px;
        height: 7px;
        border-left: 3px solid #ff653f;
        border-bottom: 3px solid #ff653f;
        left: 6px;
        top: 15px;
    }
    .bl_formTable td textarea{
        height: 305px;
        padding-top: 25px;
        padding-right: 25px;
        padding-bottom: 20px;
        padding-left: 25px;
    }
/*住所*/
	.bl_formTable .el_add{
	    width: 400px!important;
	    margin-bottom: 15px;
	}
/*勤務する職種*/
	.bl_formTable .bl_type th .el_att{
		display: inline-block;
		margin-left: 20px;
	}
	.bl_formTable .bl_type_ttl{
	    margin-bottom: 5px;
	}
	.bl_formTable input + .bl_type_ttl{
	    margin-top: 15px;
	}
}

/*=======================================================
サンクスページ
=======================================================*/
#thanks .ly_cont_inner{
    padding: 35px 0 90px;
}
#thanks .bl_message{
	width: 865px;
	height: 433px;
	margin: 0 auto;
    padding: 115px 0 40px;
    background: url("../images/recruit/thanks_message_ThankYou.svg") top 40px center / 223px 60px no-repeat,
	url("../images/recruit/thanks_message_bg.png") center / 857px 425px no-repeat;
	border: 1px solid #656565;
	line-height: 1.6;
}
#thanks .bl_message .bl_message_ttl{
    margin-bottom: 15px;
    font-size: 24px;
	text-align: center;
}
#thanks .bl_message .bl_message_txt{
	text-align: center;
}
#thanks .bl_message .bl_message_txt + .bl_message_txt{
	margin-top: 25px;
}
#thanks .bl_message .bl_message_txt .el_sTxt{
	font-size: 15px;
}
#thanks .el_whiteBtn{
    width: 250px;
	height: 40px;
    margin: 35px auto 0;
}
@media screen and (max-width : 750px){
	#thanks .ly_cont_inner{
	    padding-top: 45px;
	}
	#thanks .bl_message{
		width: 100%;
		height: auto;
	    padding: 180px 0 90px;
	    background: url("../images/recruit/thanks_message_ThankYou.svg") top 50px center / 333px 90px no-repeat,
		url("../images/recruit/thanks_message_bg_sp.png") bottom 3px center / 662px 661px no-repeat;
		border-width: 2px;
	}
	#thanks .bl_message .bl_message_ttl{
	    margin-bottom: 25px;
	    font-size: 34px;
	}
	#thanks .bl_message .bl_message_txt + .bl_message_txt{
		margin-top: 45px;
	}
	#thanks .bl_message .bl_message_txt .el_sTxt{
		font-size: 24px;
	}
	#thanks .el_whiteBtn{
	    width: 440px!important;
		height: 74px!important;
		margin-top: 70px;
		padding-right: 50px;
		border-width: 2px;
		font-size: 32px;
	}
}

/**Mac,iPad Safari */
@media only screen and (min-device-width:768px){
    _::-webkit-full-page-media, _:future, :root .bl_jobDescription_btn,
    _::-webkit-full-page-media, _:future, :root .bl_jobDescription_ttl,
    _::-webkit-full-page-media, _:future, :root .bl_formTable th::after{
        padding-top: 0;
    }
    _::-webkit-full-page-media, _:future, :root .el_formBtn__submit input{
        padding-top: 3px;
    }
    _::-webkit-full-page-media, _:future, :root .bl_formTable th{
        padding-top: 9px;
    }
    _::-webkit-full-page-media, _:future, :root .bl_jobDescription_tbody > tr > td{
        padding-top: 12px;
    }
    _::-webkit-full-page-media, _:future, :root .el_formBtn::before{
        top: 0;
    }
    _::-webkit-full-page-media, _:future, :root .check .bl_formTable th::after{
        bottom: 0;
    }
}

/*iPad*/
@media only screen and (min-device-width:768px) and (max-device-width:1024px) {
/*必須・任意*/
    _::-webkit-full-page-media, _:future, :root .bl_formTable th::after{
        padding-top: 0;
    }

}