@charset "utf-8";

/*-------------------------------
	キービジュアル
-------------------------------*/

.Keyvisual{
	background-image: url(../images/contact/bg_keyvisual.jpg);
	background-image: image-set(url(../images/contact/bg_keyvisual.jpg) 1x, url(../images/contact/bg_keyvisual@2x.jpg) 2x);
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1380px) and (min-width: 769px){

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

}



/*-------------------------------
	共通
-------------------------------*/

.Contact-block__text{
	margin-bottom: 5rem;
}

/*----- フォーム */
.Contact-form-block:not(:last-child){
	margin-bottom: 5rem;
}
.Contact-form-block__title{
	width: 100%;
	height: 8rem;
	font-size: 2rem;
	padding: .5rem 2rem;
	line-height: 1;
	background: #eee;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	position: relative;
}
.Contact-form-block.-req .Contact-form-block__title::after{
	content: "必須";
	font-size: 1.4rem;
	margin-left: 1.5rem;
	line-height: 1;
	padding: .5rem .8rem;
	/*border: 1px solid #FF3D00;
	font-weight: 400;*/
	border: 1px solid #FF3D00;
	font-weight: 500;
	color: #FF3D00;
}
.Contact-form-block__title-small{
	font-size: 1.4rem;
	display: block;
	margin-left: 1rem;
}
.Contact-form-block__title-small::before{
	content: "※";
}
.Contact-form-block__body{
	width: 100%;
	padding: 2.5rem 2.5rem 0;
	font-weight: 500;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

/* 郵便番号 */
.Contact-form-block.-zip .Contact-form-block__body::before{
	content: "〒";
	margin-right: 1.5rem;
}

/*----- ボタン */
.Contact-button-wrap{
	width: 100%;
	margin-top: 7.5rem;
	column-gap: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
.Contact-button{
	margin-left: 0;
	margin-right: 0;
}
.Contact-button .Contact-button__inner{
	padding-left: 0;
	padding-right: 0;
}
.Contact-button input{
	width: 100%;
	height: 100%;
	padding-left: 3.8rem;
	padding-right: 4.2rem;
	display: block;
	position: relative;
    z-index: 6000;
}
.Contact-button__arrow{
	position: absolute;
	right: 4.2rem;
	top: calc(50% - 1.7rem);
}

.Contact-button .Contact-button__inner:has(input:disabled){
	background: var(--graycolor);
	border-color: var(--graycolor);
	pointer-events: none !important;
}
.Contact-button .Contact-button__inner:has(input:disabled) input{
	color: #ccc;
}
.Contact-button .Contact-button__inner:has(input:disabled) .Contact-button__arrow{
	background: #ccc;
}
.Contact-button .Contact-button__inner:has(input:disabled) .Contact-button__arrow::before{
	background: var(--graycolor);
}
.Contact-button .Contact-button__inner:has(input:disabled) .Contact-button__arrow::after{
	border-top-color: var(--graycolor);
	border-right-color: var(--graycolor);
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1380px) and (min-width: 769px){

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

	.Contact-block__text{
		margin-bottom: 7.5rem;
	}

	/*----- フォーム */
	.Contact-form-block:not(:last-child){
		margin-bottom: 10rem;
	}
	.Contact-form-block__title{
		height: 10rem;
		font-size: 2.6rem;
		padding: .5rem 3rem;
	}
	.Contact-form-block.-req .Contact-form-block__title::after{
		font-size: 2rem;
		margin-left: 2rem;
		padding: .8rem 1.6rem;
	}
	.Contact-form-block__title-small{
		font-size: 2rem;
		margin-left: 2rem;
	}
	.Contact-form-block__body{
		padding: 4rem 3rem 0;
	}

	/* 郵便番号 */
	.Contact-form-block.-zip .Contact-form-block__body::before{
		margin-right: 2.5rem;
	}

	/*----- ボタン */
	.Contact-button-wrap{
		margin-top: 10rem;
		row-gap: 3.5rem;
		flex-direction: column-reverse;
	}
	.Contact-button input{
		padding-left: 4rem;
		padding-right: 4.3rem;
	}
	.Contact-button__arrow{
		right: 4.3rem;
	}

}



/*-------------------------------
	入力
-------------------------------*/

/*----- 大卒採用はこちら */
.Contact-block.-new{
	/*margin-bottom: 15rem;*/
	margin-bottom: 0;
}
.Contact-block.-career{
	padding-top: 15rem;
}

/*----- ⾼卒・キャリア採⽤・お問い合わせの⽅はこちら */
/*----- テキストフィールド */
.Contact-form__field{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Contact-form__field input{
	width: 100%;
	padding: 1rem 1.5rem;
	border: 1px solid;
}
/* ハーフサイズ */
.Contact-form__field.-half{
	width: 50%;
}

/*----- テキストエリア */
.Contact-form__field textarea{
	width: 100%;
	height: 25rem;
	padding: 1rem 1.5rem;
	border: 1px solid;
}

/*----- セレクト */
.Contact-form__select{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	position: relative;
}
.Contact-form__select::before{
	content: "";
	display: block;
	border-style: solid;
	border-left: .6rem solid transparent;
	border-right: .6rem solid transparent;
	border-top: 1.2rem solid;
	border-bottom: 0;
	position: absolute;
	right: 1.5rem;
	top: 50%;
	transform: translateY(-50%);
	z-index: 4000;
}
.Contact-form__select select{
	width: 100%;
	padding: 1rem 1.5rem;
	border: 1px solid;
	position: relative;
	z-index: 6000;
}
.Contact-form__select.-half{
	width: 50%;
}

/*----- ラジオボタン */
.Contact-form__radio .wpcf7-radio{
	width: 100%;
	column-gap: 4rem;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
}
.Contact-form__radio input[type="radio"]{
	display: none;
}
.Contact-form__radio .wpcf7-list-item-label{
	padding-left: 4rem;
	position: relative;
	cursor: pointer;
}
.Contact-form__radio .wpcf7-list-item-label::before{
	content: "";
	display: block;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	border: 1px solid;
	background: #fff;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.Contact-form__radio .wpcf7-list-item label{
	display: block;
}
.Contact-form__radio input[type="radio"]:checked + .wpcf7-list-item-label{
	font-weight: 700;
}
.Contact-form__radio input[type="radio"]:checked + .wpcf7-list-item-label::before{
	background: var(--subcolor1);
	box-shadow:  inset 0px 0px 0px .7rem rgba(255, 255, 255, 1);
}

/*----- チェックボックス */
.Contact-form__checkbox input[type="checkbox"]{
	display: none;
}
.Contact-form__checkbox .wpcf7-list-item-label{
	padding-left: 4rem;
	position: relative;
	cursor: pointer;
}
.Contact-form__checkbox .wpcf7-list-item-label::before{
	content: "";
	display: block;
	width: 3rem;
	height: 3rem;
	border: 1px solid;
	background: #fff;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.Contact-form__checkbox .wpcf7-list-item label{
	display: block;
}
.Contact-form__checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label{
	font-weight: 700;
}
.Contact-form__checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::before{
	border-color: var(--maincolor);
}
.Contact-form__checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::after{
	content: "";
	border-bottom: 2px solid var(--maincolor);
	border-left: 2px solid var(--maincolor);
	display: block;
	width: 1.5rem;
	height: 1rem;
	position: absolute;
	left: .8rem;
	top: .4rem;
	transform: rotate(-45deg);
}

/*----- プライバシーポリシー */
.Contact-policy{
	margin-top: 10rem;
}
.Contact-policy__first-text{
	margin-bottom: 2.5rem;
	text-align: center;
}
.Contact-policy__inner{
	margin-bottom: 2.5rem;
	padding: 2.5rem 3rem 3.5rem;
	border: 1px solid;
    height: 35rem;
    overflow-y: scroll;
}
.Contact-policy__title{
	padding-bottom: 1rem;
	margin-bottom: 1.5rem;
	border-bottom: 1px dotted;
	font-weight: 700;
}
.Contact-policy__inner .Contact-policy__text{
	margin-bottom: 1em;
}
.Contact-policy__inner .Contact-policy__text:last-of-type{
	margin-bottom: unset;
}
.Contact-policy__check{
	background: var(--graycolor);
	padding: 2rem 2.5rem;
}
.Contact-policy__check .wpcf7-list-item{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.wpcf7-form-control-wrap{
	width: 100%;
	display: block;
}
.wpcf7-not-valid-tip{
	margin-top: 1rem;
	font-size: .8em;
	padding: .5rem 1.5rem;
	background: #fff2f2;
	color: #FF3D00;
	font-weight: 500;
}
.wpcf7-spinner{
	display: none;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1380px) and (min-width: 769px){

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

	/*----- 大卒採用はこちら */
	.Contact-block.-new{
		/*margin-bottom: 15rem;*/
		margin-bottom: 0;
	}
	.Contact-block.-career{
		padding-top: 15rem;
	}

	/*----- ⾼卒・キャリア採⽤・お問い合わせの⽅はこちら */
	/*----- テキストフィールド */
	.Contact-form__field input{
		padding: 1.5rem 3.5rem;
	}
	/* ハーフサイズ */
	.Contact-form__field.-half{
		width: 100%;
	}

	/*----- テキストエリア */
	.Contact-form__field textarea{
		height: 50rem;
		padding: 1.5rem 3.5rem;
	}

	/*----- セレクト */
	.Contact-form__select::before{
		border-left: 1rem solid transparent;
		border-right: 1rem solid transparent;
		border-top: 2rem solid;
		right: 3.5rem;
	}
	.Contact-form__select select{
		padding: 1.5rem 3.5rem;
	}
	.Contact-form__select.-half{
		width: 100%;
	}

	/*----- ラジオボタン */
	.Contact-form__radio .wpcf7-radio{
		column-gap: 10rem;
		row-gap: 2.5rem;
	}
	.Contact-form__radio .wpcf7-list-item-label{
		padding-left: 6.6rem;
	}
	.Contact-form__radio .wpcf7-list-item-label::before{
		width: 4.6rem;
		height: 4.6rem;
	}
	.Contact-form__radio input[type="radio"]:checked + .wpcf7-list-item-label::before{
		box-shadow:  inset 0px 0px 0px 1rem rgba(255, 255, 255, 1);
	}

	/*----- チェックボックス */
	.Contact-form__checkbox .wpcf7-list-item-label{
		padding-left: 6.6rem;
	}
	.Contact-form__checkbox .wpcf7-list-item-label::before{
		width: 4.6rem;
		height: 4.6rem;
	}
	.Contact-form__checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::after{
		border-bottom: 3px solid var(--maincolor);
		border-left: 3px solid var(--maincolor);
		width: 2.5rem;
		height: 1.5rem;
		left: 1.2rem;
		top: .6rem;
	}

	/*----- プライバシーポリシー */
	.Contact-policy__first-text{
		margin-bottom: 5rem;
	}
	.Contact-policy__inner{
		margin-bottom: 5rem;
		padding: 5rem 5rem 4rem;
	}
	.Contact-policy__title{
		padding-bottom: 1rem;
		margin-bottom: 1.5rem;
		border-bottom: 1px dotted;
		font-weight: 700;
	}

	.Contact-policy__check{
		padding: 2.5rem 3.5rem;
	}
	.Contact-policy__check .wpcf7-list-item{
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
	}

}



/*-------------------------------
	確認
-------------------------------*/

.Contact-button.-return .Contact-button__inner{
	border-color: var(--maincolor);
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1380px) and (min-width: 769px){

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

}



/*-------------------------------
	完了
-------------------------------*/

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1380px) and (min-width: 769px){

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

}
@media screen and (max-width:960px) and (min-width: 769px){

}
@media screen and (max-width:768px){

}