@charset "utf-8";

/*-------------------------------
	お問い合わせ
-------------------------------*/

.Contact-tel{
	width: 100%;
	padding-bottom: 2rem;
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
}
.Contact-tel-headoffice{
	width: 55rem;
}
.Contact-tel-headoffice__title{
	margin-bottom: .8rem;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Contact-tel-headoffice__title::after{
	content: "：";
	line-height: 1;
	display: block;
}
.Contact-tel-headoffice__tel{
	font-family: var(--en);
	font-size: 7.8rem;
	line-height: 1;
}
.Contact-tel-headoffice__tel a{
	line-height: 1;
	display: inline-block;
}
.Contact-tel-office{
	width: calc(100% - 55rem);
	max-width: 47rem;
	padding-bottom: 1rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
}
.Contact-tel-office__item{
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Contact-tel-office__item:not(:nth-last-of-type(-n+2)){
	margin-bottom: 1rem;
}
.Contact-tel-office__item-title{
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Contact-tel-office__item-title::after{
	content: "：";
	line-height: 1;
	display: block;
}
.Contact-tel-office__item-tel a{
	line-height: 1;
	display: block;
}

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

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

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

	.Contact-tel-office__item:not(:last-child){
		margin-bottom: 1rem;
	}

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

	.Contact-tel{
		flex-direction: column;
		align-items: flex-start;
	}
	.Contact-tel-headoffice{
		margin-bottom: 1.5rem;
	}
	.Contact-tel-office{
		width: 100%;
		max-width: 100%;
		padding-bottom: 0;
	}
	.Contact-tel-office__item{
		width: 50%;
	}
	.Contact-tel-office__item:nth-last-of-type(-n+2){
		margin-bottom: 0;
	}

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

	.Contact-tel{
		padding-bottom: 4rem;
		flex-direction: column;
	}
	.Contact-tel-headoffice{
		width: 100%;
		margin-bottom: 3.2rem;
	}
	.Contact-tel-headoffice__title{
		font-size: 2.4rem;
		margin-bottom: 0;
		line-height: 1;
	}
	.Contact-tel-headoffice__tel{
		font-size: 10rem;
		letter-spacing: -.005em;
	}
	.Contact-tel-office{
		width: 100%;
		max-width: 100%;
		padding-bottom: 0;
	}
	.Contact-tel-office__item{
		width: calc((100% - 5rem) / 2);
		flex-direction: column;
		align-items: flex-start;
	}
	.Contact-tel-office__item:not(:nth-last-of-type(-n+2)){
		margin-bottom: 2.8rem;
	}
	.Contact-tel-office__item-title{
		font-size: 2.4rem;
		margin-bottom: .5rem;
	}
	.Contact-tel-office__item-tel a{
		font-size: 4.4rem;
		letter-spacing: .085em;
	}

}



/*-------------------------------
	お問い合わせフォーム
-------------------------------*/

.Contact-form{
	padding-top: 2.5rem;
	border-top: 1px solid #bbb;
}
.Contact-form__text{
	font-size: 1.2rem;
	margin-bottom: 4.8rem;
	line-height: 1;
}
.Contact-form__inner:not(:last-child){
	margin-bottom: 5.5rem;
}
.Contact-form__title{
	width: 100%;
	margin-bottom: 5rem;
	font-size: 1.8rem;
	letter-spacing: .05em;
	line-height: 1;
	font-weight: 700;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
}
.Contact-form__title[data-number]::before{
	content: attr(data-number) ".";
	display: block;
	line-height: 1;
	margin-right: .8rem;
}
.Contact-form__item{
	width: 100%;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
}
.Contact-form__item:not(:last-child){
	margin-bottom: 2.6rem;
}
.Contact-form__item-title{
	width: 24.5rem;
	min-height: 5.8rem;
	padding-right: 2.5rem;
	font-weight: 400;
	line-height: calc(2.8 / 1.6);
	display: flex;
	align-items: flex-start;
    justify-content: center;
    flex-direction: column;
}
.Contact-form__item-title span{
	line-height: calc(2.8 / 1.6);
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Contact-form__item-title.-req span::after{
	content: "※";
	display: block;
	line-height: 1;
	padding-left: .5em;
}
.Contact-form__item-body{
	width: calc(100% - 24.5rem);
}
.Contact-form-child__item{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Contact-form-child__item:not(:last-child){
	margin-bottom: 2.5rem;
}
.Contact-form-child__item-title{
	width: 20.8rem;
	min-height: 5.8rem;
	font-weight: 400;
}
.Contact-form-child__item-body{
	width: calc(100% - 20.8rem);
}
.Contact-form-child__item-text{
	font-size: 1.2rem;
	line-height: 1;
	margin-top: 1rem;
}

/*----- フォームパーツ */
/* テキスト*/
.Contact-form__field{
	width: 100%;
	/* height: 5.8rem;
	border: 1px solid #bbb; */
	border-radius: 2px;
}
.Contact-form__field input{
	width: 100%;
	height: 5.8rem;
	padding: .5rem 1.6rem;
	border: 1px solid #bbb;
}
/* テキストエリア */
.Contact-form__textarea{
	width: 100%;
	border-radius: 2px;
	position: relative;
	overflow: hidden;
}
.Contact-form__textarea textarea{
	width: 100%;
	height: 24rem;
	padding: 1.5rem 1.6rem;
	border: 1px solid #bbb;
}
.Contact-form__textarea-arrow-wrap{
	width: 2.8rem;
    height: 2.4rem;
	padding: .8rem;
	background: #fff;
	position: absolute;
	right: 0;
	bottom: 0;
}
.Contact-form__textarea-arrow{
	/* width: 1.2rem;
    height: 1.2rem; */
	transform: rotate(45deg);
}
.Contact-form__textarea-arrow::before{
	background: #bbb;
}
.Contact-form__textarea-arrow::after{
	border-right-color: #bbb;
	border-bottom-color: #bbb;
}
/* セレクト */
.Contact-form__select{
	max-width: 36.4rem;
	height: 5.8rem;
	border: 1px solid #bbb;
	border-radius: 2px;
	position: relative;
}
.Contact-form__select select{
	width: 100%;
	height: 100%;
	padding: .5rem 1.6rem;
}
.Contact-form__select-arrow{
	position: absolute;
	right: 1.8rem;
	top: 50%;
	transform: translateY(-50%) rotate(90deg);
}
/* チェックボックス */
.Contact-form__checkbox .wpcf7-checkbox{
	width: 100%;
	row-gap: 2.6rem;
	column-gap: 5rem;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
}
.Contact-form__checkbox input{
	display: none;
}
.Contact-form__checkbox .wpcf7-list-item-label{
	padding-left: 3.6rem;
	height: 2.4rem;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	position: relative;
}
.Contact-form__checkbox .wpcf7-list-item-label::before{
	content: "";
	display: block;
	width: 2.4rem;
	height: 2.4rem;
	border-radius: 2px;
	border: 1px solid #bbb;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
}
.Contact-form__checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::before{
	background: var(--subcolor);
}
/* .Contact-form__checkbox .wpcf7-list-item-label::after{
	border-right: 2px solid var(--blackcolor);
	border-bottom: 2px solid var(--blackcolor);
	content: "";
	display: block;
	width: .8rem;
	height: 1.2rem;
	position: absolute;
	left: .8rem;
	top: .4rem;
	transform: rotate(45deg);
	opacity: 0;
}
.Contact-form__checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::after{
	opacity: 1;
} */
/* 送信ボタン */
.Contact-form__submit{
	max-width: 40rem;
	height: 7.4rem;
	margin-left: auto;
	margin-right: auto;
}
.Contact-form__submit input[type="submit"]{
	transition: var(--transition);
	width: 100%;
	height: 100%;
	font-size: 2rem;
	border: 1px solid #bbb;
	border-radius: 2px;
	font-weight: 500;
	color: #fff;
	background: #9fa0a0;
	text-align: center;
	pointer-events: none;
}
.Contact-form.ok .Contact-form__submit input[type="submit"]{
	background: var(--maincolor);
	border-color: var(--maincolor);
	pointer-events: auto;
}
.Contact-form.ok .Contact-form__submit input[type="submit"]:hover{
	background: var(--subcolor);
	border-color: var(--subcolor);
}

/*----- ご希望対応 */
.Contact-form__item.-type1{
	margin-bottom: 5.6rem;
}
.Contact-form__item.-type1 .Contact-form__item-body{
	max-width: 73.8rem;
}

/*----- ご相談内容 */
.Contact-form__item.-type2{
	margin-bottom: 5.6rem;
}

/*----- その他 ご相談 */
.Contact-form__item.-type3{
	margin-bottom: 5.6rem;
}
.Contact-form__item.-type3 .Contact-form__item-body{
	max-width: 66.4rem;
}


/*----- ご相談詳細 */
.Contact-form__item.-comment .Contact-form__item-title{
	align-items: flex-start;
}

/*----- 担当者様情報 */
.Contact-form__inner.-name{
	padding-bottom: 5.5rem;
	border-bottom: 1px solid #bbb;
}
/*----- 個人情報の取扱について */
.Contact-form__inner.-policy{
	margin-bottom: 5.5rem;
}
.Contact-form__inner.-policy .Contact-form__item{
	align-items: center;
}
.Contact-form__inner.-policy .Contact-form__item-title{
	min-height: auto;
}
.Contact-form__inner.-policy .Contact-form__item-title span{
	line-height: 1;
}
.Contact-form__inner.-policy .wpcf7-list-item-label{
	text-indent: -999rem;
	font-size: 0;
}
.Contact-form__inner.-policy .Contact-form__item-body{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Contact-form__policy-text{
	line-height: 1;
}
.Contact-form__policy-text a{
	line-height: 1;
	font-weight: 700;
	display: inline-block;
	text-decoration: underline;
}

/*----- プレイスホルダー */
.Contact-form ::placeholder{
	color: #bbb;
}

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

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

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

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

	.Contact-form__item-title{
		width: 20rem;
	}
	.Contact-form__item-body{
		width: calc(100% - 20rem);
	}

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

	.Contact-form{
		padding-top: 3rem;
	}
	.Contact-form__text{
		font-size: 2.2rem;
		margin-bottom: 8.8rem;
	}
	.Contact-form__inner:not(:last-child){
		margin-bottom: 8.5rem;
	}
	.Contact-form__title{
		margin-bottom: 4.5rem;
		font-size: 3.6rem;
	}
	.Contact-form__title[data-number]::before{
		margin-right: 2.5rem;
	}
	.Contact-form__item{
		flex-direction: column;
	}
	.Contact-form__item:not(:last-child){
		margin-bottom: 5.5rem;
	}
	.Contact-form__item-title{
		width: 100%;
		min-height: unset;
		margin-bottom: 2.6rem;
		padding-right: 0;
		line-height: 1;
		flex-direction: row;
		justify-content: flex-start;
	}
	.Contact-form__item-title span{
		line-height: 1;
	}
	.Contact-form__item-title.-req span::after{
		padding-left: 1rem;
	}
	.Contact-form__item-body{
		width: 100%;
	}
	.Contact-form-child__item{
		flex-direction: column;
	}
	.Contact-form-child__item:not(:last-child){
		margin-bottom: 6.8rem;
	}
	.Contact-form-child__item-title{
		width: 100%;
		min-height: unset;
		margin-bottom: 3.5rem;
	}
	.Contact-form-child__item-body{
		width: 100%;
	}
	.Contact-form-child__item-text{
		font-size: 2.2rem;
		margin-top: 2rem;
	}

	/*----- フォームパーツ */
	/* テキスト*/
	.Contact-form__field input{
		padding: 1rem 2.2rem 1.5rem;
		height: 7.8rem;
	}
	/* テキストエリア */
	.Contact-form__textarea textarea{
		height: 30rem;
		padding: 2.2rem;
	}
	.Contact-form__textarea-arrow-wrap{
		width: 3.8rem;
		height: 3.2rem;
		padding: 1rem;
	}
	/* セレクト */
	.Contact-form__select{
		max-width: 100%;
		height: 7.8rem;
	}
	.Contact-form__select select{
		padding: 1rem 2.2rem 1.5rem;
	}
	.Contact-form__select-arrow{
		right: 2.4rem;
	}
	/* チェックボックス */
	.Contact-form__checkbox .wpcf7-checkbox{
		row-gap: 3.5rem;
	}
	.Contact-form__checkbox input{
		display: none;
	}
	.Contact-form__checkbox .wpcf7-list-item-label{
		padding-left: 5rem;
		height: 3.4rem;
	}
	.Contact-form__checkbox .wpcf7-list-item-label::before{
		width: 3.4rem;
		height: 3.4rem;
	}
	/* 送信ボタン */
	.Contact-form__submit{
		width: 100%;
		max-width: 100%;
		height: 10rem;
	}
	.Contact-form__submit input[type="submit"]{
		font-size: 2.8rem;
	}

	/*----- ご希望対応 */
	.Contact-form__item.-type1{
		margin-bottom: 7rem;
	}
	.Contact-form__item.-type1 .Contact-form__item-title{
		margin-bottom: 4.5rem;
	}
	.Contact-form__item.-type1 .Contact-form__item-body{
		max-width: 100%;
	}

	/*----- ご相談内容 */
	.Contact-form__item.-type2{
		margin-bottom: 7rem;
	}
	.Contact-form__item.-type2 .Contact-form__item-title{
		margin-bottom: 4.5rem;
	}

	/*----- その他 ご相談 */
	.Contact-form__item.-type3{
		margin-bottom: 7rem;
	}
	.Contact-form__item.-type3 .Contact-form__item-title{
		margin-bottom: 4.5rem;
	}
	.Contact-form__item.-type3 .Contact-form__item-body{
		max-width: 100%;
	}

	/*----- ご相談詳細 */
	.Contact-form__item.-comment .Contact-form__item-title{
		margin-bottom: 4.5rem;
	}

	/*----- 住所 */
	.Contact-form__item.-address .Contact-form__item-title{
		margin-bottom: 6rem;
	}

	/*----- 担当者様情報 */
	.Contact-form__inner.-name{
		margin-bottom: 6.6rem;
		padding-bottom: 7.2rem;
	}

	/*----- 個人情報の取扱について */
	.Contact-form__inner.-policy{
		margin-bottom: 5.5rem;
	}
	.Contact-form__inner.-policy .Contact-form__title{
		margin-bottom: 4.8rem;
	}

}



/*-------------------------------
	確認画面／完了画面
-------------------------------*/

/*----- 戻るボタン */
.Contact-form__back{
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}
.Contact-form__back-inner{
	padding-left: 4rem;
	line-height: 1;
	display: inline-block;
	position: relative;
}
.Contact-form__back-arrow{
	transform: rotate(180deg);
	position: absolute;
	left: 0;
	top: 50%;
}
.Contact-form__back input[type="button"]{
	font-size: 2rem;
	font-weight: 500;
	line-height: 1;
	display: block;
}

/*----- 確認画面 */
.Confirm .Contact-form__item-title{
	min-height: auto;
}
.Confirm .Contact-form__item:not(:last-child){
	margin-bottom: 4.8rem;
}
.Confirm .Contact-form__item-title.-req span::after{
	display: none;
}
.Confirm .Contact-form-child__item:not(:last-child){
	margin-bottom: 4.8rem;
}
.Confirm .Contact-form-child__item-title{
	min-height: auto;
}
.Confirm__text{
	font-size: 1.8rem;
	padding-bottom: 2.5rem;
	font-weight: 700;
	line-height: calc(3.15 / 1.8);
}
.Confirm .Contact-form{
	padding-top: 4.8rem;
}
.Confirm .Contact-form__back{
	margin-top: 6.2rem;
}
.Confirm .Contact-form__submit input[type="submit"]{
	background: var(--maincolor);
	border-color: var(--maincolor);
	pointer-events: auto;
}
.Confirm .Contact-form__submit input[type="submit"]:hover{
	background: var(--subcolor);
	border-color: var(--subcolor);
}

/*----- 完了画面 */
.Send__text{
	font-size: 1.8rem;
	padding-bottom: 2.5rem;
	font-weight: 700;
	line-height: calc(3.15 / 1.8);
}
.Send .Contact-form{
	padding-top: 6.2rem;
}
.Send .Contact-form__back a{
	line-height: 1;
	display: block;
	font-size: 2rem;
    font-weight: 500;
    line-height: 1;
}

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

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

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

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

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

	/*----- 戻るボタン */
	.Contact-form__back-inner{
		padding-left: 5.8rem;
	}
	.Contact-form__back-arrow{
		width: 2.4rem;
	}
	.Contact-form__back-arrow::after{
		width: 1.4rem;
		height: 1.4rem;
	}
	.Contact-form__back input[type="button"]{
		font-size: 2.8rem;
	}

	/*----- 確認画面 */
	.Confirm .Contact-form__item-title,
	.Confirm .Contact-form__item.-type1 .Contact-form__item-title,
	.Confirm .Contact-form__item.-type2 .Contact-form__item-title,
	.Confirm .Contact-form__item.-type3 .Contact-form__item-title,
	.Confirm .Contact-form__item.-comment .Contact-form__item-title{
		min-height: auto;
		margin-bottom: 1.5rem;
	}
	.Confirm .Contact-form__item:not(:last-child){
		margin-bottom: 6.5rem;
	}
	.Confirm .Contact-form__item-body{
		line-height: calc(5.4 / 2.8);
	}
	.Confirm .Contact-form-child__item:not(:last-child){
		margin-bottom: 4.8rem;
	}
	.Confirm .Contact-form-child__item-title{
		min-height: auto;
		margin-bottom: 1.5rem;
	}
	.Confirm .Contact-form-child__item-body{
		line-height: calc(5.4 / 2.8);
	}
	.Confirm__text{
		font-size: 3.6rem;
		padding-bottom: 4rem;
		line-height: calc(6.3 / 3.6);
	}
	.Confirm .Contact-form{
		padding-top: 7rem;
	}
	.Confirm .Contact-form__back{
		margin-top: 7.5rem;
	}

	/*----- 完了画面 */
	.Send__text{
		font-size: 3.6rem;
		padding-bottom: 4rem;
		line-height: calc(6.3 / 3.6);
	}
	.Send .Contact-form{
		padding-top: 7rem;
	}

}