@charset "utf-8";

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

.Contact{
	padding-top: 0;
}

/*----- 電話番号 */
.Contact-tel{
	width: 100%;
	margin-bottom: 5.8rem;
	padding-bottom: 7.2rem;
	border-bottom: 1px solid #bababa;
}
.Contact-tel__text-wrap{
	margin-bottom: 3.6rem;
}
.Contact-tel__text{
	text-align: center;
}
.Contact-tel__text:not(:last-child){
	margin-bottom: 2rem;
}
.Contact-tel__button{
	max-width: 32rem;
	height: 7rem;
	margin-bottom: 2rem;
	margin-left: auto;
	margin-right: auto;
}
.Contact-tel__button a{
	font-size: 2.6rem;
	border-radius: 3.5rem;
	padding-bottom: .3rem;
	font-weight: 700;
}
.Contact-tel__button a::after{
	width: 2.9rem;
	height: 2.9rem;
	background-size: .9rem;
	right: 1.2rem;
}
.Contact-tel__button span{
	line-height: 1;
	display: block;
	position: relative;
}
.Contact-tel__button span::before{
	content: "";
	display: block;
	width: 2.7rem;
	height: 2.5rem;
	transform: translate(calc(-100% - .6rem), -50%);
	background-image: url(../images/common/icon_tel-white.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	position: absolute;
    left: 0;
    top: 50%;
}
.Contact-tel__time{
	font-size: 1.5rem;
	line-height: 1;
	text-align: center;
}

/*----- フォーム */
.Contact-block-wrap{
	margin-bottom: 7.2rem;
}
.Contact-block:not(:last-child){
	margin-bottom: 5.2rem;
}
.Contact-block__title{
	width: 100%;
	margin-bottom: 2rem;
	line-height: 1;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Contact-block__title.-req::after{
	content: "必須";
	border: 1px solid var(--maincolor);
	color: var(--maincolor);
	width: 4.2rem;
	height: 2rem;
	font-size: 1.2rem;
	margin-left: .9rem;
	border-radius: 1rem;
	line-height: 1;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}
.Contact-block__body{
	line-height: calc(2.8 / 1.7);
	font-feature-settings: normal;
}

/* テキストフィールド */
.Contact__text{
	width: 100%;
	border-radius: .5rem;
	background: #fff;
}
.Contact__text input{
	width: 100%;
	height: 5rem;
	padding: .7rem 1.5rem;
	line-height: calc(2.8 / 1.7);
}
/* テキストエリア */
.Contact__textarea{
	width: 100%;
	border-radius: .5rem;
	background: #fff;
	
}
.Contact__textarea textarea{
	width: 100%;
	height: 23rem;
	padding: 1.5rem;
	line-height: calc(2.8 / 1.7);
}
/* ラジオボタン */
.Contact__radio > label{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Contact__radio > label:not(:last-child){
	margin-bottom: 1rem;
}
.Contact__radio input{
	display: none;
}
.Contact__radio-text{
	font-size: 1.6rem;
	padding-left: 2.5rem;
	line-height: 1;
	display: block;
	position: relative;
	cursor: pointer;
}
.Contact__radio-text::before{
	border: 1px solid var(--blackcolor);
	content: "";
	display: block;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.Contact__radio input:checked + .Contact__radio-text::before{
	background: var(--maincolor);
	box-shadow: inset 2px 2px #fff,inset -2px -2px #fff,inset 2px -2px #fff,inset -2px 2px #fff;
}
/* ボタン */
.Contact-button{
	margin-left: auto;
	margin-right: auto;
}
.Contact-button + .Contact-button{
	margin-top: 2.2rem;
}
.Contact-button input{
	width: 100%;
	height: 100%;
	text-align: center;
	position: relative;
	z-index: 6000;
}
/* 送信ボタン */
/* .Contact-button.-submit > .a,
.Contact-button.-back > a{
	background: var(--maincolor);
}
.Contact-button.-submit > .a::after,
.Contact-button.-back > a::after{
	background-color: var(--blackcolor);
}
.Contact-button.-submit > .a:hover,
.Contact-button.-back > a:hover{
	background: #4d4d4d;
}
.Contact-button.-submit > .a:hover::after,
.Contact-button.-back > a:hover::after{
	background-color: var(--maincolor);
} */
/* 戻るボタン */
.Contact-button.-reset > .a::after{
	right: unset;
	left: 1rem;
	transform: translateY(-50%) scale(-1,1);
}

/* エラーメッセージ */
.Contact__error:not(:empty){
	width: 100%;
	font-size: 1.2rem;
	line-height: 1;
	margin-top: 1.2rem;
	color: red;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Contact__error:not(:empty)::before{
	content: "※";
	line-height: 1;
	display: block;
}

.Contact ::placeholder{
	color: #bababa;
}

/*----- プライバシーポリシー */
.Contact-policy{
}
.Contact-policy__inner{
	width: 100%;
	margin-bottom: 1.5rem;
	height: 25rem;
	border-radius: .5rem;
	padding: 1.6rem 2rem;
	background: #fff;
	overflow: auto;
}
.Contact-policy__text{
	margin-bottom: 2.2rem;
	line-height: calc(2.8 / 1.7);
}
.Contact-policy__item:not(:last-child){
	margin-bottom: 2.2rem;
}
.Contact-policy__item-title{
	line-height: calc(2.8 / 1.7);
	font-weight: 400;
}
.Contact-policy__item-body{
	line-height: calc(2.8 / 1.7);
}
.Contact-policy__item-text{
	line-height: calc(2.8 / 1.7);
}
.Contact-policy__item-list{
	margin-top: .8rem;
	counter-reset: number 0;
}
.Contact-policy__item-list__text{
	line-height: calc(2.8 / 1.7);
}
.Contact-policy__item-list__text::before{
	content: "（" counter(number) "）";
	counter-increment: number 1;
	line-height: calc(2.8 / 1.7);
}
.Contact-policy__hosoku{
	font-size: 1.6rem;
	line-height: calc(2.8 / 1.7);
}

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

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

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

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

	.Contact{
		padding-top: 0;
	}

	/*----- 電話番号 */
	.Contact-tel{
		margin-bottom: 7.2rem;
		padding-bottom: 9.2rem;
	}
	.Contact-tel__text-wrap{
		margin-bottom: 7.2rem;
	}
	.Contact-tel__text{
		text-align: left;
	}
	.Contact-tel__button{
		max-width: 57.6rem;
		height: 12.6rem;
		margin-bottom: 3rem;
	}
	.Contact-tel__button a{
		font-size: 4.7rem;
		border-radius: 6.3rem;
	}
	.Contact-tel__button a::after{
		width: 5.2rem;
		height: 5.2rem;
		background-size: 1.6rem;
		right: 2rem;
	}
	.Contact-tel__button span::before{
		width: 4.8rem;
		height: 4.5rem;
		transform: translate(calc(-100% - 1.2rem), -50%);
	}
	.Contact-tel__time{
		font-size: 2.6rem;
	}

	/*----- フォーム */
	.Contact-block:not(:last-child){
		margin-bottom: 7.8rem;
	}
	.Contact-block__title{
		margin-bottom: 2.5rem;
	}
	.Contact-block__title.-req::after{
		width: 8.8rem;
		height: 3.5rem;
		font-size: 2.3rem;
		border-radius: 1.8rem;
		margin-left: 2rem;
	}
	.Contact-block__body{
		line-height: calc(4.6 / 3);
	}

	/* テキストフィールド */
	.Contact__text{
		border-radius: 1rem;
	}
	.Contact__text input{
		height: 9rem;
		padding: 1rem 2.5rem;
		line-height: calc(4.6 / 3);
	}
	/* テキストエリア */
	.Contact__textarea{
		border-radius: 1rem;
		
	}
	.Contact__textarea textarea{
		height: 40rem;
		padding: 2.5rem;
		line-height: calc(4.6 / 3);
	}
	/* ラジオボタン */
	.Contact__radio > label:not(:last-child){
		margin-bottom: 3.6rem;
	}
	.Contact__radio-text{
		font-size: 2.9rem;
		padding-left: 4.8rem;
	}
	.Contact__radio-text::before{
		width: 2.8rem;
		height: 2.8rem;
	}
	.Contact__radio input:checked + .Contact__radio-text::before{
		box-shadow: inset .4rem .4rem #fff,inset -.4rem -.4rem #fff,inset .4rem -.4rem #fff,inset -.4rem .4rem #fff;
	}
	/* ボタン */
	.Contact-button + .Contact-button{
		margin-top: 5rem;
	}
	/* 送信ボタン */
	/* .Contact-button.-submit > .a,
	.Contact-button.-back > a{
		background: var(--maincolor);
	}
	.Contact-button.-submit > .a::after,
	.Contact-button.-back > a::after{
		background-color: var(--blackcolor);
	}
	.Contact-button.-submit > .a:hover,
	.Contact-button.-back > a:hover{
		background: #4d4d4d;
	}
	.Contact-button.-submit > .a:hover::after,
	.Contact-button.-back > a:hover::after{
		background-color: var(--maincolor);
	} */
	/* 戻るボタン */
	.Contact-button.-reset > .a::after{
		right: unset;
		left: 2rem;
	}

	/* エラーメッセージ */
	.Contact__error:not(:empty){
		font-size: 2.6rem;
		margin-top: 2rem;
	}

	/*----- プライバシーポリシー */
	.Contact-policy__inner{
		margin-bottom: 3.5rem;
		height: 40rem;
		border-radius: 1rem;
		padding: 2.5rem 3.5rem;
	}
	.Contact-policy__text{
		margin-bottom: 3.5rem;
		line-height: calc(5.6 / 3);
	}
	.Contact-policy__item:not(:last-child){
		margin-bottom: 3.5rem;
	}
	.Contact-policy__item-title{
		line-height: calc(5.6 / 3);
	}
	.Contact-policy__item-body{
		line-height: calc(5.6 / 3);
	}
	.Contact-policy__item-list__text{
		width: 100%;
		display: flex;
		align-items: flex-start;
		justify-content: flex-start;
	}
	.Contact-policy__hosoku{
		font-size: 3rem;
		line-height: calc(5.6 / 3);
	}

}



/*-------------------------------
	お問い合わせ（確認）
-------------------------------*/

.Confirm__text{
	margin-bottom: 6.5rem;
	text-align: center;
}
.Confirm .Contact-block-wrap{
	width: 100%;
	padding: 3.5rem 3rem 4.5rem;
	border-radius: .5rem;
	background: #fff;
}
.Confirm .Contact-block:not(:last-child){
	margin-bottom: 3.8rem;
}
.Confirm .Contact-block__title{
	margin-bottom: 1.4rem;
}
.Confirm .Contact-block__title.-req::after{
	display: none;
}

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

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

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

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

	.Confirm__text{
		margin-bottom: 7.5rem;
	}
	.Confirm .Contact-block-wrap{
		margin-bottom: 9.5rem;
		padding: 7.5rem 3.5rem 6.5rem;
		border-radius: 1rem;
	}
	.Confirm .Contact-block:not(:last-child){
		margin-bottom: 5.5rem;
	}
	.Confirm .Contact-block__title{
		margin-bottom: 1.5rem;
	}

}



/*-------------------------------
	お問い合わせ（完了）
-------------------------------*/

.Finish-block__inner{
	width: 100%;
	padding: 5rem 4.5rem;
	border-radius: .5rem;
	background: #fff;
}
.Finish-block__text-wrap{
	margin-bottom: 4rem;
}
.Finish-block__text{
	text-align: center;
}
.Finish-block__text:not(:last-child){
	margin-bottom: 2.5rem;
}

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

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

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

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

	.Finish-block__inner{
		padding: 6rem 3.5rem 7.8rem;
		border-radius: 1rem;
	}
	.Finish-block__text-wrap{
		margin-bottom: 5rem;
	}
	.Finish-block__text{
		text-align: left;
	}

}