@charset "utf-8";

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

.main:has(#Confirm),
.main:has(#Send){
	padding-top: var(--padding-topbottom);
}
.Contact__title{
	margin-bottom: 1.5rem;
}
.Contact-form__bottom{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.grecaptcha-badge{
	display: block !important;
}

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

	.main:has(#Confirm),
	.main:has(#Send){
		padding-top: 10rem;
	}

	.Contact__title{
		margin-bottom: 4rem;
	}
	.Contact-form__bottom{
		padding-right: 4.4rem;
		justify-content: flex-end;
	}
}



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

/*----- お電話でのお問い合わせ */
.Contact-tel{
	border-top: 1px solid var(--blackcolor);
	border-bottom: 1px solid var(--blackcolor);
	padding-top: 10rem;
	padding-bottom: 10rem;
}
.Contact-tel__inner{
	padding-left: 5rem;
}
.Contact-tel__text{
	font-size: 2rem;
	letter-spacing: .01em;
	margin-bottom: 4.2rem;
}
.Contact-tel-block{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Contact-tel-block__tag{
	border: 2px solid var(--blackcolor);
	font-family: var(--en);
	width: 10rem;
	height: 10rem;
	border-radius: 1rem;
	font-size: 3rem;
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: center;
}
.Contact-tel-block__body{
	padding-left: 2.4rem;
}
.Contact-tel-block__number{
	font-family: var(--en);
	font-size: 8rem;
	font-weight: 600;
	line-height: .7;
	letter-spacing: .01em;
	margin-bottom: 1rem;
	padding-bottom: .2rem;
	overflow: hidden;
}
.Contact-tel-block__number a{
	line-height: 1;
	display: block;
}
.Contact-tel-block__time{
	width: 100%;
	padding-left: .8rem;
	display: flex;
	align-items: baseline;
	justify-content: flex-start;
	font-feature-settings: "palt";
}
.Contact-tel-block__time-data{
	font-size: 2rem;
	line-height: calc(3.2 / 2);
	letter-spacing: .01em;
}
.Contact-tel-block__corpName{
	font-weight: 700;
	line-height: calc(3.2 / 2);
}
.Contact-tel-block__time-holiday{
	font-size: 1.4rem;
	letter-spacing: .01em;
	line-height: calc(3.2 / 1.4);
	margin-left: 1em;
	letter-spacing: .01em;
}

/*----- お問い合わせフォーム */
.Contact-form{
	padding-top: 10rem;
}
.Contact-form__inner{
	padding-left: 5rem;
}
.Contact-form__message{
	margin-bottom: 6.5rem;
}
.Contact-form__text{
	font-size: 2rem;
	letter-spacing: .01em;
}
.Contact-form__req{
	letter-spacing: .05em;
	color: #f00;
}
.Contact-form__inner-wrap{
	margin-bottom: var(--padding-topbottom);
}
.Contact-form__item-wrap{
	border-top: 1px dotted var(--blackcolor);
	padding-top: 5rem;
}
.Contact-form__item-wrap:last-child{
	margin-top: 5rem;
}
.Contact-form__item-wrap:not(:last-child){
	padding-bottom: 5rem;
}
.Contact-form__item{
	width: 100%;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
}
.Contact-form__item:not(:last-child){
	margin-bottom: 5rem;
}
.Contact-form__item:has(.Contact-form__item-body > .Contact-form__hosoku){
	margin-bottom: 2.6rem;
}
.Contact-form__item-title{
	width: 21.6rem;
	height: 10rem;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Contact-form__item:has(.Contact-form__item-body > .Contact-form__hosoku) .Contact-form__item-title{
	padding-bottom: 2rem;
}
.Contact-form__item-title-text{
	width: 100%;
	font-size: 1.4rem;
	font-weight: 400;
	display: block;
}
.Contact-form__item-title-text span{
	width: 100%;
	font-size: 2rem;
	font-weight: 700;
	line-height: calc(2.8 / 2);
	letter-spacing: .05em;
	display: flex;
    align-items: center;
    justify-content: flex-start;
}
.Contact-form__item-title-text.-req span::after{
	content: "●";
	display: block;
	font-size: 1.6rem;
	margin-left: .25em;
	line-height: 1;
	color: #f00;
}
.Contact-form__item-body{
	width: calc(100% - 21.6rem);
}
.Contact-form-child__item{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Contact-form-child__item:not(:last-child){
	margin-bottom: 3rem;
}
.Contact-form-child__item:has(.Contact-form__hosoku){
	margin-bottom: 1rem;
}
.Contact-form-child__item-title{
	width: 12rem;
	font-weight: 700;
	letter-spacing: .05em;
}
.Contact-form-child__item:has(.Contact-form__hosoku) .Contact-form-child__item-title{
	padding-bottom: 2rem;
}
.Contact-form-child__item-body{
	width: calc(100% - 12rem);
}
.Contact-form__hosoku{
	margin-top: .6rem;
	font-size: 1.4rem;
	line-height: 1;
	font-feature-settings: "palt";
}

/* フィールド */
::placeholder{
	color: #b2b2b2;
}

/* テキスト */
.Contact-form__field{
	width: 100%;
}
.Contact-form__field > span{
	display: block;
}
.Contact-form__field input{
	width: 100%;
	height: 10rem;
	padding: .5rem 3rem;
	border-radius: 1rem;
	font-size: 1.8rem;
	letter-spacing: .05em;
	background: #e5e5e5;
}
/* セレクト */
.Contact-form__select{
	width: 100%;
	position: relative;
}
.Contact-form__select > span{
	display: block;
}
.Contact-form__select::after{
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 1.2rem solid transparent;
	border-left: 1.2rem solid transparent;
	border-top: 1.2rem solid var(--blackcolor);
	border-bottom: 0;
	position: absolute;
	right: 3rem;
	top: 50%;
	transform: translateY(-50%);
	z-index: 6000;
}
.Contact-form__select select{
	width: 100%;
	height: 10rem;
	padding: .5rem 3rem;
	border-radius: 1rem;
	font-size: 1.8rem;
	letter-spacing: .05em;
	background: #e5e5e5;
	position: relative;
	z-index: 4000;
}
/* テキストエリア */
.Contact-form__textarea{
	width: 100%;
}
.Contact-form__textarea > span{
	display: block;
}
.Contact-form__textarea textarea{
	width: 100%;
	height: 30rem;
	padding: 1.5rem 3rem;
	border-radius: 1rem;
	font-size: 1.8rem;
	letter-spacing: .05em;
	background: #e5e5e5;
}
/* チェックボックス */
.Contact-form__checkbox .wpcf7-checkbox{
	max-width: 71rem;
	width: 100%;
	display: flex;
	gap: 2.5rem 3.8rem;
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: wrap;
	font-feature-settings: "palt";
}
.Contact-form__checkbox input{
	display: none;
}
.Contact-form__checkbox .wpcf7-list-item-label{
	font-size: 1.8rem;
	letter-spacing: .05em;
	padding-left: 2.2rem;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	position: relative;
}
.Contact-form__checkbox .wpcf7-list-item-label::before{
	transition: var(--transition);
	border: 1px solid var(--blackcolor);
	content: "";
	display: block;
	width: 1.4rem;
	height: 1.4rem;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.Contact-form__checkbox input:checked + .wpcf7-list-item-label::before{
	background: var(--maincolor);
}
/* 送信ボタン */
.Contact-form__submit{
	margin-left: auto;
	margin-right: auto;
}
.Contact-form__submit .a{
	padding: 0;
}
.Contact-form__submit .a span{
	display: block;
	width: 100%;
	height: 100%;
}
.Contact-form__submit input{
	width: 100%;
	height: 100%;
	padding: .5rem 3.5rem;
	letter-spacing: .2em;
}
.Contact-form__submit:has(input:disabled)::after{
	animation: none !important;
}
.Contact-form__submit:has(input:disabled) span{
	color: var(--blackcolor) !important;
}
.Contact-form__submit:has(input:disabled) span::before{
	transform: scaleX(0) !important;
}
.Contact-form__submit:has(input:disabled){
	opacity: .3 !important;
}

/* ご希望対応 */
.Contact-form__item.-connect .Contact-form__item-title{
	height: auto;
}
/* ご相談内容 */
.Contact-form__item.-type .Contact-form__item-title{
	height: auto;
}
/* ご住所 */
.Contact-form__item.-address .Contact-form__item-title{
	align-items: flex-start;
}
/* お問い合わせ詳細 */
.Contact-form__item.-comment .Contact-form__item-title{
	height: 30rem;
}
/* 個人情報保護方針 */
.Contact-form__item.-policy .Contact-form__item-title{
	height: auto;
}
.Contact-form__policy{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Contact-form__policy .wpcf7-list-item-label{
	width: 1.4rem;
	height: 1.4rem;
	font-size: 0;
}
.Contact-form__policy-text{
	font-size: 1.8rem;
	letter-spacing: .05em;
	line-height: 1;
}
.Contact-form__policy-text a{
	line-height: 1;
	text-decoration: underline;
}

/*----- エラーメッセージ */
.wpcf7-not-valid-tip{
	width: 100%;
	margin-top: 1rem;
	font-size: 1.4rem;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	color: #f00;
}
.wpcf7-not-valid-tip::before{
	content: "\26A0";
	margin-right: .3rem;
	line-height: 1;
	display: block;
	/* animation: contact_error_tip 3s infinite; */
}
/* @keyframes contact_error_tip{
    0%, 50%, 100%{
        opacity: 1;
    }
    25%, 75%{
        opacity: 0;
    }
} */
.Contact-form__field:has(.wpcf7-not-valid-tip) + .Contact-form__hosoku{
	margin-top: 1rem;
}

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

	.Contact-form__inner{
		padding-left: 0;
	}

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

	/*----- お電話でのお問い合わせ */
	.Contact-tel{
		padding-top: 9.5rem;
		padding-bottom: 9.5rem;
	}
	.Contact-tel__inner{
		padding-left: 8rem;
	}
	.Contact-tel__text{
		font-size: 2.8rem;
		letter-spacing: .05em;
		margin-bottom: 4rem;
		line-height: calc(5 / 2.8);
	}
	.Contact-tel-block{
		flex-wrap: wrap;
		align-items: flex-start;
	}
	.Contact-tel-block__tag{
		width: 15rem;
		height: 5rem;
		border-radius: 1rem;
		margin-bottom: 2.8rem;
		padding-top: .2rem;
		font-size: 3rem;
		border-width: 1px;
		letter-spacing: .04em;
	}
	.Contact-tel-block__body{
		padding-left: 0;
	}
	.Contact-tel-block__number{
		line-height: .7;
		margin-bottom: 2rem;
		padding-bottom: .4rem;
	}
	.Contact-tel-block__time{
		padding-left: 0;
	}
	.Contact-tel-block__time-data{
		font-size: 3rem;
		line-height: 1;
	}
	.Contact-tel-block__corpName{
		font-size: 3rem;
		padding-left: 2.2rem;
		line-height: 1;
		height: 5rem;
		display: flex;
		align-items: center;
		justify-content: flex-start;
	}
	.Contact-tel-block__time-holiday{
		font-size: 2.4rem;
		line-height: 1;
		margin-left: .5em;
	}

	/*----- お問い合わせフォーム */
	.Contact-form__inner{
		padding-left: 8rem;
	}
	.Contact-form__message{
		margin-bottom: 5rem;
	}
	.Contact-form__text{
		font-size: 2.8rem;
		margin-bottom: 1.5rem;
	}
	.Contact-form__req{
		line-height: 1;
	}
	.Contact-form__item-wrap{
		padding-top: 5rem;
	}
	.Contact-form__item-wrap:last-child{
		margin-top: 0;
	}
	.Contact-form__item-wrap:not(:last-child){
		padding-bottom: 5rem;
	}
	.Contact-form__item{
		flex-direction: column;
	}
	.Contact-form__item:not(:last-child){
		margin-bottom: 5rem;
	}
	.Contact-form__item:has(.Contact-form__item-body > .Contact-form__hosoku){
		margin-bottom: 5rem;
	}
	.Contact-form__item-title{
		width: 100%;
		margin-bottom: 2rem;
		height: auto;
		align-items: flex-start;
	}
	.Contact-form__item:has(.Contact-form__item-body > .Contact-form__hosoku) .Contact-form__item-title{
		padding-bottom: 2rem;
	}
	.Contact-form__item-title-text{
		font-size: 2.4rem;
		line-height: 1;
		display: flex;
		align-items: center;
		justify-content: flex-start;
	}
	.Contact-form__item-title-text span{
		width: fit-content;
		font-size: 3rem;
		line-height: 1;
	}
	.Contact-form__item-title-text.-req span::after{
		font-size: 3rem;
	}
	.Contact-form__item-body{
		width: 100%;
	}
	.Contact-form-child__item:not(:last-child){
		margin-bottom: 5rem;
	}
	.Contact-form-child__item:has(.Contact-form__hosoku){
		margin-bottom: 2.5rem;
	}
	.Contact-form-child__item-title{
		width: 15rem;
	}
	.Contact-form-child__item:has(.Contact-form__hosoku) .Contact-form-child__item-title{
		padding-bottom: 2rem;
	}
	.Contact-form-child__item-body{
		width: calc(100% - 15rem);
	}
	.Contact-form__hosoku{
		margin-top: 1rem;
		font-size: 2rem;
		letter-spacing: .01em;
	}

	/* テキスト */
	.Contact-form__field input{
		height: 12rem;
		font-size: 3rem;
	}
	/* セレクト */
	.Contact-form__select::after{
		border-right: 1.9rem solid transparent;
		border-left: 1.9rem solid transparent;
		border-top: 1.8rem solid var(--blackcolor);
	}
	.Contact-form__select select{
		height: 12rem;
		font-size: 3rem;
	}
	/* テキストエリア */
	.Contact-form__textarea textarea{
		padding: 2.5rem 3rem;
		font-size: 3rem;
	}
	/* チェックボックス */
	.Contact-form__checkbox .wpcf7-checkbox{
		max-width: 100%;
		gap: 3.6rem 0;
		flex-direction: column;
	}
	.Contact-form__checkbox .wpcf7-list-item-label{
		font-size: 3rem;
		padding-left: 3.6rem;
		letter-spacing: 0;
	}
	.Contact-form__checkbox .wpcf7-list-item-label::before{
		width: 2.2rem;
		height: 2.2rem;
	}
	.Contact-form__checkbox input:checked + .wpcf7-list-item-label::before{
		background: var(--maincolor);
	}
	/* 送信ボタン */
	.Contact-form__submit{
		width: calc(100% + 8rem);
		max-width: calc(100% + 8rem);
		margin-left: auto;
		margin-right: auto;
		flex-shrink: 0;
	}
	.Contact-form__submit .a{
		padding: 0;
	}
	.Contact-form__submit .a span{
		display: block;
		width: 100%;
		height: 100%;
	}
	.Contact-form__submit input{
		padding: .5rem 6rem;
	}

	/* ご希望対応 */
	.Contact-form__item.-connect .Contact-form__item-title{
		margin-bottom: 3.5rem;
	}
	/* ご相談内容 */
	.Contact-form__item.-type .Contact-form__item-title{
		margin-bottom: 3.5rem;
	}
	/* お問い合わせ内容 */
	.Contact-form__item.-comment .Contact-form__item-title{
		height: auto;
	}

	/* 個人情報保護方針 */
	.Contact-form__item.-policy .Contact-form__item-title{
		margin-bottom: 3.5rem;
	}
	.Contact-form__policy .wpcf7-list-item-label{
		width: 2.2rem;
		height: 2.2rem;
		font-size: 0;
	}
	.Contact-form__policy-text{
		font-size: 2.8rem;
	}
	
	.wpcf7-not-valid-tip{
		font-size: 2rem;
		margin-top: 1.5rem;
	}
	.Contact-form__field:has(.wpcf7-not-valid-tip) + .Contact-form__hosoku{
		margin-top: 1.5rem;
	}

}



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

#Confirm{
	padding-top: 15rem;
}
.Confirm__text{
	font-size: 2rem;
	letter-spacing: .01em;
}
#Confirm .Contact-form__inner{
	padding-left: 0;
}
#Confirm .Contact-form__item-wrap:last-child{
	margin-top: 0;
	padding-bottom: 5rem;
	border-bottom: 1px dotted #fff;
}
#Confirm .Contact-form__item-wrap{
	border-top-color: #fff;
}
#Confirm .Contact-form__item{
	align-items: center;
}
#Confirm .Contact-form__item-title{
	height: auto;
}
#Confirm .Contact-form__item-body{
	font-size: 1.8rem;
	letter-spacing: .05em;
}
.Contact-form__prev{
	width: fit-content;
	height: 5rem;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.Contact-form__prev .C-Arrow{
	position: absolute;
	left: 0;
	top: 0;
}
.Contact-form__prev input{
	font-family: var(--en);
	padding-left: 7.8rem;
	width: 100%;
	height: 100%;
	font-size: 3rem;
	font-weight: 500;
	letter-spacing: .05em;
	line-height: .75;
}

@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{
		padding-top: 9rem;
	}
	.Confirm__text{
		font-size: 2.8rem;
		letter-spacing: .05em;
		line-height: calc(5 / 2.8);
	}
	#Confirm .Contact-form{
		padding-top: 8.5rem;
	}
	#Confirm .Contact-form__item-title{
		margin-bottom: 1rem;
	}
	#Confirm .Contact-form__item-body{
		font-size: 2.8rem;
	}
	#Confirm .Contact-form__bottom{
		flex-direction: column-reverse;
	}
	.Contact-form__prev{
		width: fit-content;
		height: 5rem;
		position: static;
		transform: translateY(0);
		align-self: flex-start;
	}
	.Contact-form__prev input{
		padding-left: 9.5rem;
		font-size: 3.6rem;
	}

	#Confirm .Contact-form__submit{
		width: 100%;
		max-width: 100%;
		margin-bottom: 5rem;
	}

}



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

#Send{
	padding-top: 15rem;
}
.Send__title{
	font-size: 3.2rem;
	margin-bottom: 2.8rem;
	line-height: calc(5 / 3.2);
	letter-spacing: .05em;
	font-weight: 700;
}
.Send__text{
	font-size: 2rem;
	letter-spacing: .01em;
}

@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{
		padding-top: 9rem;
	}
	.Send__title{
		font-size: 4rem;
		margin-bottom: 2.5rem;
		line-height: calc(6 / 4);
		letter-spacing: .01em;
	}
	.Send__text{
		font-size: 2.8rem;
		letter-spacing: .05em;
		line-height: calc(5 / 2.8);
	}

}