@charset "utf-8";

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

.Contact__inner{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.Contact-flow{
	width: 19rem;
	counter-reset: number 0;
	position: sticky;
	top: var(--header-height);
	right: 0;
}
.Contact-flow::before{
	content: "";
	display: block;
	width: 2px;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 0;
	bottom: 0;
	z-index: -1;
	transform: translateX(-50%);
	background: #cbcbcb;
}
.Contact-flow__item{
	width: 100%;
	height: 7rem;
	border-radius: 3.5rem;
	padding-bottom: .2rem;
	border: 2px solid #cbcbcb;
	line-height: 1;
	color: #999;
	font-weight: 700;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}
.Contact-flow__item:not(:last-child){
	margin-bottom: 5rem;
}
.Contact-flow__item.-current{
	border-color: var(--maincolor);
	color: var(--maincolor);
}
.Contact-flow__item::before{
	font-family: var(--en);
	counter-increment: number 1;
	content: counter(number,decimal-leading-zero);
	margin-bottom: .5rem;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1;
	display: block;
}

/* お問い合わせ詳細 */
.C-Contact-form-block.-comment{
	align-items: flex-start;
}
.C-Contact-form-block.-comment .C-Contact-form-block__title span{
	height: auto;
}

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

}
@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__inner{
		flex-direction: column-reverse;
	}

	.Contact-flow{
		width: 100%;
		margin-bottom: 6.5rem;
		display: flex;
		align-items: center;
		justify-content: space-between;
		position: static;
	}
	.Contact-flow::before{
		width: 100%;
		height: 2px;
		left: 0;
		top: 50%;
		bottom: unset;
		transform: translate(0,-50%);
	}
	.Contact-flow__item{
		width: calc((100% - (6rem * 2)) / 3);
		height: 11rem;
		padding-bottom: 1.2rem;
		border-radius: 5.5rem;
		border-width: 2px;
	}
	.Contact-flow__item:not(:last-child){
		margin-bottom: 0;
	}
	.Contact-flow__item::before{
		font-size: 2rem;
		margin-bottom: .8rem;
	}

}



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

.Contact__text{
	font-size: 2.2rem;
	margin-bottom: 6.5rem;
	font-weight: 700;
	line-height: calc(4.2 / 2.2);
}

.C-Contact-form-block-wrap{
	margin-bottom: 7.8rem;
}
.C-Contact-form-block{
	width: 100%;
	padding: 2.5rem 2.8rem 2.5rem 3.2rem;
	border-bottom: 1px solid #cbcbcb;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.C-Contact-form-block:first-child{
	border-top: 1px solid #cbcbcb;
}
.C-Contact-form-block__title{
	width: 21.8rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.C-Contact-form-block__title span{
	width: calc(100% - 3.6rem);
	height: 5.2rem;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.C-Contact-form-block__body{
	width: calc(100% - 21.8rem);
	padding-left: 4.8rem;
}

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

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

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

	.C-Contact-form-block{
		padding-left: 2rem;
		padding-right: 2rem;
	}

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

	.C-Contact-form-block{
		flex-direction: column;
	}
	.C-Contact-form-block__title{
		width: 100%;
		justify-content: flex-start;
	}
	.C-Contact-form-block__title.-req::after{
		margin-left: 1.6rem;
	}
	.C-Contact-form-block__title span{
		width: auto;
	}
	.C-Contact-form-block__body{
		width: 100%;
		padding-left: 0;
	}

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

	.Contact__text{
		font-size: 3.2rem;
		margin-bottom: 7rem;
		line-height: calc(6 / 3.2);
	}

	.C-Contact-form-block-wrap{
		margin-bottom: 7.6rem;
	}
	.C-Contact-form-block{
		padding: 5rem 0 5.8rem;
		flex-direction: column;
	}
	.C-Contact-form-block:has(.C-Contact-form-block__checkbox){
		padding-bottom: 4.8rem;
	}
	.C-Contact-form-block__title{
		width: 100%;
		margin-bottom: 3.6rem;
		justify-content: flex-start;
	}
	.C-Contact-form-block__title span{
		width: auto;
		height: auto;
		line-height: 1;
	}
	.C-Contact-form-block__body{
		width: 100%;
		padding-left: 0;
	}

}



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

#Confirm .C-Contact-form-block__title.-req::after{
	display: none;
}
#Confirm .C-Contact-form__button-wrap{
	width: 100%;
	display: flex;
	gap: 2rem;
	align-items: center;
	justify-content: flex-start;
}
#Confirm #cf7msm_admin_mail{
	font-size: 0;
    height: 0;
    display: block;
    visibility: hidden;
}

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

}
@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){

	#Confirm .C-Contact-form__button-wrap{
		flex-direction: column-reverse;
		gap: 5.6rem;
	}

}



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

.Send__title{
	font-size: 4rem;
	margin-bottom: 5rem;
	font-weight: 700;
	line-height: calc(6 / 4);
}
.Send__text{
	color: var(--blackcolor2);
	margin-bottom: 7.5rem;
}

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

}
@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){

	.Send__title{
		font-size: 5rem;
		margin-bottom: 4.5rem;
		line-height: calc(7.5 / 5);
	}
	.Send__text{
		margin-bottom: 8rem;
	}

}