@charset "UTF-8";

.f-serif {
	font-family: "Noto Serif CJK JP", "Noto Serif JP", sans-serif;
	font-weight: 900;
}

/*///////////////////////////////
header
///////////////////////////////*/
.logo{
	display: block ;
	width: 212px;
	margin: 16px auto;
}
@media screen and ( min-width : 896px ){
	.logo{
		width: 589px;
		margin: 40px auto;
	}
}

/*///////////////////////////////
main
///////////////////////////////*/
.main{
	background: #F1EFEF ;
	padding: 32px 0 48px ;
	z-index: 0 ;
}
.main_text1{
	position: relative ;
	text-align: center ;
	z-index: 1 ;
}
.main_text1::before{
	content: "" ;
	position: absolute ;
	width: 214px ;
	height: 14px ;
	background: #DBD9C6 ;
	left: -4px ;
	right: 0 ;
	bottom: -4px ;
	margin: auto ;
	z-index: -1;
}
.main_h1{
	text-align: center ;
	font-size: 2.4rem ;
	margin: 32px 0 ;
}
.h1_wrapper{
	display: flex ;
	align-items: flex-end ;
	justify-content: center ;
}
.main_img{
	width: 257px;
	margin: 0 4px 0 0 ;
}
.main_text2{
	width: calc(100% - 48px );
	font-weight: 400 ;
	margin: 0 auto 32px;
	line-height: 2.5rem ;
}
.main_text2-s{
	margin: 32px auto ;
}
@media screen and ( max-width : 896px ){
	.SP-NON{
		display: none ;
	}
}
@media screen and ( min-width : 896px ){
	.PC-NON{
		display: none ;
	}
	.main{
		padding: 64px 0 ;
	}
	.main_text1{
		font-size: 3rem ;
	}
	.main_text1::before{
		width: 360px;
		height: 21px;
	}
	.main_h1{
		font-size: 3.7rem ;
		margin: 48px 0 ;
	}
	.main_img{
		width: 393px;
		margin: 0 8px 0 0 ;
	}
	.main_text2{
		margin: 0 auto 48px;
		text-align: center ;
		font-size: 2.8rem ;
		line-height: 4.5rem ;
	}
	.main_text2-s{
		margin: 48px 0 ;
		text-align: center ;
		font-size: 2rem ;
	}
}
/*///////////////////////////////
jobex
///////////////////////////////*/
.jobex{
	background: #F1EFEF ;
	padding: 48px 0 ;
}
.job_card{
	background: #fff ;
	padding: 20px 16px 16px 16px ;
	border-top: solid 4px #C81432;
	max-width: 480px;
	margin: 0 auto 32px;
}
.job_card_bx{
	text-align: center;
	border-bottom: solid 1px #EFEFEF ;
	margin: 0 0 16px 0 ;
}
.money{
	font-size: 1.8rem ;
	color: #C81432 ;
	font-weight: 900 ;
}
.job_money{
	font-size: 1.3rem;
	margin: 4px 0 16px 0;
}
.job_icon{
	width: 18px ;
	margin: 0 6px 0 0 ;
}
.job_lii{
	display: flex ;
	align-items: center  ;
	margin: 0 0 20px 0 ;
}
.job_lii-s{
	align-items: flex-start ;
}

.logo_box{
	display: flex ;
	flex-wrap: wrap ;
	justify-content: space-between ;
}
.logo_cp{
	width: 154px ;
	margin: 0 0 16px 0;
}
.job_text2{
	font-size: 1.2rem ;
	margin: 24px auto 48px ;
	text-align: center;

}
@media screen and ( min-width : 896px ){
	.jobex{
		padding: 56px 0 ;
	}
	.job_card{
		width: calc((100% - 64px) / 3) ;
		height: 340px;
		margin: 0 0 32px 0;
	}
	.job_wrapper{
		max-width: 1000px ;
		margin: 0 auto ;
		display: flex ;
		justify-content: space-between;
		align-items: flex-start;
	}
	.logo_box{
		max-width: 1000px ;
		margin: 0 auto ;
	}
	.job_text2{
		text-align: center ;
			margin: 32px 0 56px 0 ;
	}
}
/*///////////////////////////////
strengths
///////////////////////////////*/
.strengths{
	padding: 48px 0 ;
}
.strengths_point{
	max-width: 480px ;
	margin: 0 auto 48px ;
}
.strengths_img{
	width: 100% ;
}
.strengths_stitle{
	width: 100% ;
	text-align: center ;
	background: #EAE9E0 ;
	height: 78px ;
	line-height: 78px ;
	margin: -3px 0 24px 0 ;
}
.strengths_stitle_d{
	line-height: 2.2rem ;
	padding: 16px 0 0 0 ;
	box-sizing: border-box ;
}
.strengths_text{
	line-height: 2.6rem ;
}
.strengths_text a {
	display: inline;
	color: #000;
    text-decoration: none;
    word-break: break-all;
}
.strengths_text a:hover {
    color: #396789;
    text-decoration: underline;
}
@media screen and ( min-width : 896px ){
	.strengths{
		padding: 56px 0 ;
	}
	.strengths_wrapper{
		display: flex ;
		justify-content: space-between ;
		max-width: 1000px ;
		margin: 0 auto ;
	}
	.strengths_point{
		width: calc((100% - 64px) / 3) ;
		margin: 0 0 64px 0 ;
	}
	.strengths_stitle{
		font-size: 1.6rem ;
	}
	.strengths_stitle_d{
		line-height: 2.4rem  ;
	}
}
/*///////////////////////////////
flow
///////////////////////////////*/
.flow{
	padding: 48px 0 ;
	background: #F1EFEF ;
}
.flow_lii{
	position: relative ;
	padding: 28px 22px ;
	border-left: solid 4px #C81432;
	background: #fff ;
	margin: 0 auto 76px ;
	max-width: 480px;
}
.flow_lii:nth-of-type(3){
	margin: 0 auto;
}
.flow_lii::before{
	content: "" ;
	position: absolute ;
	left: 0 ;
	right: 0 ;
	margin: auto ;
	bottom: -52px ;
	width: 0 ;
	height: 0;
	border-top: solid 20px #C81432 ;
	border-right: solid 20px transparent ;
	border-left: solid 20px transparent ;
}
.flow_lii:nth-of-type(3)::before{
	display: none ;
}
.flow_box{
	display: flex ;
	justify-content: space-between ;
	align-items: center ;
}
.flow_stitle{
	font-size: 1.8rem ;
	margin: 0 0 8px 0 ;
}
.flow_img{
	width: 71px;
}
@media screen and ( min-width : 896px ){
	.flow{
		padding: 56px 0 ;
	}
	.flow_li{
		display: flex ;
		justify-content: space-between ;
		max-width: 1000px;
		margin: 0 auto;
	}
	.flow_lii{
		width: calc((100% - 158px) / 3);
		margin: 0 ;
		padding: 28px 12px ;
	}
	.flow_lii:nth-of-type(3){
		margin: 0;
	}
	.flow_lii::before{
		top: 0 ;
		bottom: 0 ;
		right: -135% ;
		border-top: solid 16px transparent ;
		border-bottom: solid 16px transparent ;
		border-left: solid 16px #C81432;
	}
	.flow_img{
		width: 50px;
	}
}
/*///////////////////////////////
contact
///////////////////////////////*/
.contact{
	padding: 48px 0 ;
}
.contact_box{
	background: #F7F7F7 ;
	padding: 24px 16px ;
}
.form_wrapper{
	display: flex ;
	flex-direction: column;
	margin: 0 0 24px 0 ;
}
.form_wrapper:last-child{
	margin: 0;
}
.form_tbox{
	display: flex ;
	flex-wrap: wrap;
	align-items: center;
	margin: 0 0 8px 0;
}
.form_tbox-s{
	justify-content: space-between;
}
.form_tbox .fl.size{
	display: flex;
	align-items: center;
	width: 28%;
	margin: 0 0 0 3%;
}
.form_tbox .fl.size:first-child{
	width: 38%;
	margin: 0;
}
.form_tbox .is-mds{
	margin: 0 0 0 8px;
}
.mandatory{
	font-size: 1.2rem ;
	color: #fff ;
	width: 45px ;
	height: 18px ;
	line-height: 18px ;
	background:  #C81432;
	text-align: center;
	margin: 0 0 0 8px ;
}
.mandatory-s{
	background: transparent ;
	border: solid 1px #C1C1C1 ;
	color: #C1C1C1 ;
}
.form_box{
	width: calc((100% - 16px) / 2);
	height: 44px;
	padding: 0 0 0 16px ;
	border: none ;
}
.form_box-m{
	width: 100% ;
}
.form_box-mm{
	width: 100% ;
}
.form_box-s{
	width: 100% ;
}
.form_box-ss{
	width: 100% ;
}
.form_box-d{
	display: block;
}
.form-check label{
	display: inline-block;
	line-height: 1.6;
	position: relative;
	height: 40px;
	background: #ffffff;
	font-size: 12px;
	padding: 0 45px;
	border-radius: 4px;
	border: 1px solid #000;
	box-shadow: 0 0 20px #9c9c9c1a;
	box-sizing: border-box;
	line-height: 40px;
	text-align: center;
	position: relative;
	margin: 0 20px 0 0;
	cursor: pointer;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
}
.form-check input.required + label{
	background-color: #fff;
}
.form-check input:checked + label{
	border: 1px solid #000;
	background: #000;
	color: #fff;
}
.form-check input{
	display: none;
}
.terms_btn{
	width: 166px ;
	height: 42px ;
	line-height: 42px ;
	border: solid 1px #252525 ;
	text-align: center ;
	margin: 48px auto 32px ;
	cursor: pointer ;
}
.terms_btn a{
	color: #000;
}
.submit{
	display: block ;
	width: calc(100% - 48px);
	height: 74px ;
	line-height: 74px ;
	margin: 0 auto ;
	max-width: 320px ;
	text-decoration: none ;
	border: none;
	outline: none;
	padding: 0 0 4px 0 ;
}
.attention{
	width: calc(100% - 48px);
	margin: 48px auto;
	text-align: center;
	line-height: 2.2rem ;
}
@media screen and ( max-width : 896px ){
  .submit{
	  width: calc(100% - 95px);
  	  height: 60px ;
  	  line-height: 60px ;
  }
}
@media screen and ( max-width : 374px ){
  .submit{
	font-size: 1.6rem ;
  }
}
.form-snttxt {
	font-size: 12px;
	padding: 0 0 8px 0;
}
.js-tgt-addhope.on{
	margin-bottom: 24px !important;
}
.js-tgt-addhope{
	padding: 0 !important;
	margin: 0 !important;
	overflow: hidden;
}
.js-tgt-addhope-in {
	height: 0;
	transition: opacity 1.2s ease-in-out , all 1.2s ease-in-out;
	opacity: 0;
	overflow: hidden;
}
.js-tgt-addhope.on .js-tgt-addhope-in {
	height: auto;
	opacity: 1;
	animation-name: animation-form-check;
	animation-duration: 0.8s;
	animation-fill-mode: forwards;
}
.formbox_ad{
	width: calc(100% - 48px);
	margin: 0 auto;
	padding: 48px 0 10px 0;
	font-size: 14px;
	font-weight: bold;
}
.form-check_hsk{
	font-size: 12px;
	overflow: hidden;
	height: 0;
	transition: opacity 0.8s ease-in-out , all 0.8s ease-in-out;
}
.form-check_hsk .form-check_hsk_in{
	padding: 10px 0 0 0;
	transition: opacity 1.2s ease-in-out , all 1.2s ease-in-out;
	opacity: 0;
}
.form-check_hsk.on{
	height: auto;
}
.form-check_hsk.on .form-check_hsk_in{
	animation-name: animation-form-check;
	animation-duration: 0.8s;
	animation-fill-mode: forwards;
	opacity: 1;
}
.form_upload label{
	width: 200px !important;
	display: block;
	height: 46px;
	background: #ffffff;
	font-size: 12px;
	padding: 0 20px 0 20px;
	border-radius: 4px;
	border: 1px solid #000;
	box-shadow: 0 0 20px #9c9c9c1a;
	box-sizing: border-box;
	line-height: 46px;
	text-align: center;
	position: relative;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
}
.form_upload label input[type="file"]{
	opacity: 0;
	width: 200px;
	height: 46px;
	position: absolute;
	left: 0;
	top: 0;
	cursor: pointer;
}
select{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	outline: none;
	background: transparent;
	border-radius: 0;
	box-sizing: border-box;
	transition: opacity 0.1s ease-in-out,all 0.1s ease-in-out;
}
select{
    background: #fff url(/cmn/svg/icn_arw_down.svg) no-repeat right 18px center;
    background-size: 8px auto;
    border-bottom: none;
    height: 44px;
    box-sizing: border-box;
    padding: 0 16px;
    border-radius: 4px;
}
.js-uploadfile-name{
	padding-top: 5px;
	display: none;
}
.js-tgt-addresume-in{
	height: 0;
	transition: opacity 1.2s ease-in-out , all 1.2s ease-in-out;
	opacity: 0;
	overflow: hidden;
}
.js-tgt-addresume.on .js-tgt-addresume-in{
	height: auto;
	opacity: 1;
	animation-name: animation-form-check;
	animation-duration: 0.8s;
	animation-fill-mode: forwards;
}
.error{
	width: 100%;
	color: #C30000;
	font-size: 14px;
	padding: 8px 0 0;
}
.c-btn a {
    display: table;
    table-layout: fixed;
    letter-spacing: -.4em;
    width: 100%;
    max-width: 180px;
    height: 44px;
    border-radius: 100px;
    box-sizing: border-box;
    background: #396789;
    font-size: 16px;
    line-height: 1;
    font-weight: bold;
    text-decoration: none;
    color: #fff;
    font-family: "Noto Serif CJK JP", "Noto Serif JP", sans-serif;
    font-weight: 900;
    border: 1px solid #396789;
    box-shadow: 0 3px 6px rgb(0 0 0 / 10%);
}
.c-btn.is-ver4 a {
    color: #393939;
    border: 1px solid #393939;
    border-radius: 4px;
    background: #fff;
}
.c-btn.is-ver4 a:hover {
    color: #393939;
    background: rgba(57, 57, 57, 0.1);
}
.is-btn {
    display: table-cell;
    letter-spacing: normal;
    vertical-align: middle;
    text-align: center;
}
.popTm_txt {
	line-height: 1.6;
	font-size: 16px;
	font-weight: 400;
}
.popTm_btn {
    padding: 40px 0 0;
}
.popTm_btn a {
    margin: 0 auto;
}
.ano-txt {
    font-size: 12px;
}
@media screen and ( min-width : 896px ){
	.contact{
		padding: 56px 0 ;
	}
	.contact_box{
		max-width: 760px ;
		margin: 0 auto ;
		padding: 40px ;
	}
	.form_wrapper{
		flex-direction: row ;
		margin: 0 0 32px 0 ;
		align-items: center;
	}
	.form_tbox{
		width: 193px;
		margin: 0 24px 0 0;
	}
	.form_tbox + .form_tbox{
		width: calc(100% - 193px);
		margin: 0;
	}
	.form_tbox-m{
		margin: 0 0 0 193px;
	}
	.form_tbox label{
		width: 120px;
	}
	.form_tbox .fl:first-child{
		margin: 0;
	}
	.form_tbox .fl{
		margin: 0 0 0 24px;
	}
	.form_tbox .is-mds{
		margin: 0 0 0 -16px;
	}
	.form_box{
		width: 207px ;
		margin: 0 24px 0 0 ;
	}
	.form_box-m{
		width: 371px;
	}
	.form_box-s{
		width: 75px;
	}
	.form_box-ss{
		width: 130px;
	}
	.terms_btn{
		width: 219px ;
		height: 50px ;
		line-height: 50px ;
		font-size: 1.6rem ;
	}
	.terms_btn:hover {
		color: #393939;
		background: rgba(57, 57, 57, 0.1);
	}
	.formbox_ad{
		max-width: 760px;
	}
	.form-snttxt {
		font-size: 13px;
		padding: 0 0 5px 0;
	}
	.js-tgt-addhope.on{
		margin-bottom: 32px !important;
	}

}

@media screen and ( max-width : 896px ){
	.form-check label {
		height: 46px;
		border: 1px solid #000;
		box-shadow: 0 0 16px #9c9c9c1a;
		line-height: 46px;
		border-radius: 5px;
		font-size: 12px;
		margin: 0 20px 0 0;
		width: 100px;
		padding: 0;
		float: left;
	}
	.form_upload label {
		height: 46px;
		font-size: 12px;
		padding: 0 20px 0 20px;
		border-radius: 5px;
		border: 1px solid #000;
		box-shadow: 0 0 16px #9c9c9c1a;
		box-sizing: border-box;
		line-height: 46px;
		width: 126px !important;
	}
	.form_upload label input[type="file"] {
		opacity: 0;
		width: 100%;
		height: 46px;
		position: absolute;
		left: 0;
		top: 0;
	}
	select{
		background: #fff url(/cmn/svg/icn_arw_down.svg) no-repeat right 8px center;
		min-width: auto;
		width: 100%;
		padding: 0 16px;
	}
	.js-tgt-addhope .form_tbox{
		margin: 0;
	}
	.c-btn a {
		max-width: 200px;
		height: 50px;
		border-radius: 50px;
		font-size: 16px;
	}
}

@media only screen and (max-width: 374px){
	.logo_box {
		justify-content: center;
	}
	.form_tbox{
		width: -webkit-calc(100%);
		width: calc(100%);
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.form_tbox .fl.size{
		width: 44%;
		margin: 0;
	}
	.form_tbox .fl.size:first-child{
		width: 100%;
		margin: 0 0 8px;
	}
	.form_tbox .fl.size:last-child{
		margin: 0 0 0 3%;
	}
}


/*///////////////////////////////
footer
///////////////////////////////*/
.footer{
	padding: 82px 0 ;
	background: #393939 ;
	color: #fff;
}
.logo_w{
	display: block;
	width: 218px ;
	margin: 0 auto 48px  ;
}
.footer_text,
.footer_text2{
	font-size: 1.2rem ;
	text-align: center;
}
.footer_text2{
	margin: 8px 0 0 0 ;
}

.form_check {
	text-align: center;
	margin-bottom: 50px;
	padding: 50px 0 0 0;
	font-size: 16px;
}
.form_check a {
	display: inline;
}
.form_check input {
	display: none;
}
.form_check input + label {
	display: inline-block;
	position: relative;
	font-size: 16px;
	padding-left: 30px;
	cursor: pointer;
}
.form_check input + label:before {
	content: "";
	position: absolute;
	display: block;
	top: 50%;
	left: 0;
	margin-top: -10px;
	z-index: 10;
	width: 20px;
	height: 20px;
	border: 1px solid #000;
	box-sizing: border-box;
	border-radius: 2px;
}
.form_check input:checked + label:before {
	background: #C81432;
	border: 1px solid #C81432;
}
.form_check input:checked + label:after {
	content: "";
	position: absolute;
	display: block;
	top: 6px;
	left: 3px;
	transform: rotate(-45deg);
	z-index: 10;
	width: 10px;
    height: 5px;
    border-bottom: 3px solid #fff;
    border-left: 3px solid #fff;
}
