@charset "utf-8";

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

.Keyvisual-title::before{
	width: 8.9rem;
	height: 8rem;
	background-image: url(../images/contact/icon_keyvisual.svg);
}

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

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

	.Keyvisual-title::before{
		width: 12.5rem;
		height: 11.3rem;
	}

}



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

.Contact__text{
	font-size: 2.4rem;
	margin-bottom: 6.5rem;
	line-height: calc( 4.2 / 2.4 );
	font-weight: 500;
	text-align: center;
}

.Contact-block:not(:last-child){
	margin-bottom: 7.8rem;
}

.Contact-block__item{
	width: 100%;
	padding: 2.5rem 2rem;
	border-bottom: 1px solid #D6D2D0;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
}
.Contact-block__item:first-child{
	border-top: 1px solid #D6D2D0;
}
.Contact-block__item__title{
	width: 22.4rem;
	font-weight: 500;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.Contact-block__item__title p{
	width: 100%;
	min-height: 5rem;
	line-height: calc( 2.4 / 1.8 );
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Contact-block__item__title.-req p{
	width: calc( 100% - 4.8rem );
}
.Contact-block__item__title.-req::after{
	width: 4.8rem;
	height: 2.8rem;
	border-radius: .4rem;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #D51C24;
	content: "必須";
}
.Contact-block__item__body{
	width: calc( 100% - 22.4rem );
	padding-left: 1.8rem;
}
.Contact-block__item__hosoku{
	width: 100%;
	padding-left: .5rem;
	line-height: calc( 2.6 / 1.8 );
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	color: #D51C24;
}
.Contact-block__item__hosoku::before{
	line-height: calc( 2.6 / 1.8 );
	content: "※";
}

/*----- フォーム */

.Contact *::placeholder{
	color: #9E948F;
}
.Contact *::-ms-input-placeholder{
	color: #9E948F;
}
.Form__textarea__placeholder{
	line-height: calc( 2.8 / 1.8 );
	color: #9E948F;
}

/* テキスト */
.Form__text{
	width: 100%;
	max-width: 50rem;
}
.Form__text .wpcf7-form-control-wrap{
	display: block;
}
.Form__text input[type="text"],
.Form__text input[type="email"]{
	width: 100%;
	height: 5rem;
	padding: 1rem 1.8rem;
	line-height: calc( 2.8 / 1.8 );
	border: 1px solid #DFDBDA;
}

/* セレクト */
.Form__select{
	width: 100%;
	max-width: 24rem;
	z-index: 5000;
	position: relative;
}
.Form__select .wpcf7-form-control-wrap{
	display: block;
}
.Form__select::before{
	width: 0;
	height: 0;
	border-style: solid;
	position: absolute;
	z-index: -1;
	right: 1.5rem;
	top: 50%;
	border-right: .4rem solid transparent;
	border-left: .4rem solid transparent;
	transform: translateY(-50%);
	border-top: .4rem solid var(--maincolor);
	border-bottom: 0;
	display: block;
	content: "";
}
.Form__select select{
	width: 100%;
	height: 5rem;
	padding: 1rem 1.8rem;
	line-height: calc( 2.8 / 1.8 );
	border: 1px solid #DFDBDA;
}

/* テキストエリア */
.Form__textarea{
	width: 100%;
	position: relative;
}
.Form__textarea .wpcf7-form-control-wrap{
	display: block;
}
.Form__textarea textarea{
	width: 100%;
	height: 30rem;
	padding: 1rem 1.8rem;
	border: 1px solid #DFDBDA;
	line-height: calc( 2.8 / 1.8 );
	resize: none;
}
.Form__textarea .Form__textarea__placeholder{
	padding: 1rem 1.8rem;
	left: 0;
	top: 0;
	position: absolute;
	background: #fff;
}
.Form__textarea .Form__textarea__placeholder.on{
	opacity: 0;
}

/* チェックボックス */
.Form__checkbox .wpcf7-form-control-wrap,
.Form__checkbox .wpcf7-form-control,
.Form__checkbox .wpcf7-list-item,
.Form__checkbox label{
	display: block;
}
.Form__checkbox .wpcf7-form-control{
	width: 100%;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.Form__checkbox .wpcf7-list-item:not(:last-child){
	margin-right: 2.8rem;
}
.Form__checkbox input[type="checkbox"]{
	display: none;
}
.Form__checkbox input[type="checkbox"] + .wpcf7-list-item-label{
	padding-left: 2rem;
	position: relative;
	display: block;
}
.Form__checkbox input[type="checkbox"] + .wpcf7-list-item-label::before{
	width: 1.4rem;
	height: 1.4rem;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	position: absolute;
	display: block;
	content: "";
	border: 1px solid var(--maincolor);
}
.Form__checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::after{
	width: .6rem;
	height: 1rem;
	transform: rotate(45deg);
	left: .4rem;
	top: .3rem;
	position: absolute;
	display: block;
	content: "";
	border-bottom: 2px solid var(--maincolor);
	border-right: 2px solid var(--maincolor);
}

/* お問い合わせ項目 */
.Contact-block__item.-type .Contact-block__item__title p{
	min-height: auto;
}
.Contact-block__item.-type .Form__checkbox .wpcf7-list-item{
	margin-bottom: 1.2rem;
}

/* お問い合わせ詳細 */
.Contact-block__item.-comment .Contact-block__item__title p{
	min-height: auto;
}

/* 氏名・フリガナ */
.Contact-block__item__name-kana{
	max-width: 22.8rem;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Contact-block__item__name-kana:not(:last-child){
	margin-right: 3.6rem;
}
.Contact-block__item__name-kana::before{
	width: 2.8rem;
	content: attr(data-tag);
}
.Contact-block__item__name-kana__inner{
	width: calc( 100% - 2.3rem );
}
.Contact-block__item.-name .Contact-block__item__body{
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Contact-block__item.-kana .Contact-block__item__body{
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

/* E-mail（確認用） */
.Contact-block__item.-mail2 .Contact-block__item__hosoku{
	margin-top: .8rem;
}

/* 住所 */
.Contact-block__item__address{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Contact-block__item__address:not(:last-child){
	margin-bottom: 2rem;
}
.Contact-block__item__address::before{
	width: 9rem;
	content: attr(data-tag);
}
/* 郵便番号（住所） */
.Contact-block__item__address__zip{
	width: calc( 100% - 9rem );
}
.Contact-block__item__address__zip__body{
	width: 27.4rem;
	margin-right: 1.8rem;
	position: relative;
}
.Contact-block__item__address__zip__body::before{
	font-weight: 500;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	position: absolute;
	content: "ー";
}
.Contact-block__item__address__zip__body .Form__text{
	width: calc( (100% - 3.5rem) / 2 );
}
.Contact-block__item__address__zip__body .Form__text input[type="text"]{
	height: 4.4rem;
}
.Contact-block__item__address__zip__button{
	width: 13.6rem;
	height: 4rem;
	border-radius: .4rem;
	background: #808080;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: var(--transition);
}
.Contact-block__item__address__zip__button:hover{
	opacity: var(--opacity);
}
/* 都道府県（住所） */
.Contact-block__item__address.-pref .Form__select{
	width: 24rem;
	max-width: calc( 100% - 9rem );
}
.Contact-block__item__address.-pref .Form__select select{
	height: 4.4rem;
}
/* 住所（住所） */
.Contact-block__item__address.-address .Form__text{
	max-width: calc( 100% - 9rem );
}
.Contact-block__item__address.-address .Form__text input[type="text"]{
	height: 4.4rem;
}

/* 個人情報保護方針 */
.Contact-policy{
	height: 30rem;
	margin-bottom: 2rem;
	padding: 2.5rem 2.6rem 3.5rem;
	border: 1px solid #DFDBDA;
	overflow: auto;
}
.Contact-policy__text{
	margin-bottom: 3rem;
}
.Contact-policy-block-wrap{
	counter-reset: number 0;
}
.Contact-policy-block:not(:last-child){
	margin-bottom: 3rem;
}
.Contact-policy-block__title{
	font-weight: 400;
}
.Contact-policy-block__title p::before{
	margin-right: .25rem;
	counter-increment: number 1;
	content: counter(number) ".";
}
.Contact-policy-block__list-wrap{
	margin-top: 3rem;
	counter-reset: number 0;
}
.Contact-policy-block__item__title{
	font-weight: 400;
}
.Contact-policy-block__item__title p::before{
	margin-right: .25rem;
	counter-increment: number 1;
	content: "(" counter(number) ")";
}
.Contact-policy-block__list__item{
	width: 100%;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
}
.Contact-policy-block__list__item::before{
	content: "・";
	line-height: var(--letter-main-spacing);
}
.Contact-policy-block__list__item p{
	line-height: var(--letter-main-spacing);
}

/* リキャプチャ */
.Contact-recaptcha{
	margin-bottom: 7.5rem;
}

/* 送信ボタン */
.Form__submit{
	width: 100%;
	max-width: 36rem;
	margin-left: auto;
	margin-right: auto;
	color: #fff;
	position: relative;
}
.Form__submit::after{
	width: 1rem;
    height: 1rem;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: translate(-50%,-50%) rotate(-45deg);
	right: 3.5rem;
	top: 50%;
	position: absolute;
    display: block;
    content: "";
    transition: var(--transition);
}
.Form__submit input[type="submit"]{
	width: 100%;
	height: 8rem;
	padding: 1rem 3rem 1rem 3.5rem;
	font-weight: 700;
	border-radius: 4rem;
	background: var(--maincolor);
	transition: var(--transition);
	border: 1px solid var(--maincolor);
}
.Form__submit:hover::after{
    border-right: 2px solid var(--maincolor);
    border-bottom: 2px solid var(--maincolor);
}
.Form__submit:hover input[type="submit"]{
	background: transparent;
	color: var(--maincolor);
}
.Form__submit:has(input[type="submit"]:disabled)::after{
	border-right: 2px solid #fff !important;
	border-bottom: 2px solid #fff !important;
}
.Form__submit input[type="submit"]:disabled{
	opacity: .6;
	color: #fff !important;
	background: var(--maincolor) !important;
}

/* CF7導入後 */
.wpcf7-list-item{
	margin-left: 0;
}
.wpcf7-spinner{
    left: 0;
    bottom: -6.5rem;
    right: 0;
	margin: 0 auto;
	position: absolute;
}
.wpcf7-not-valid-tip{
	font-size: 85%;
	margin-top: 1rem;
}

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

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

	/* 郵便番号（住所） */
	.Contact-block__item__address.-zip{
		align-items: flex-start;
	}
	.Contact-block__item__address.-zip::before{
		height: 4.4rem;
		display: flex;
        align-items: center;
        justify-content: flex-start;
	}
	.Contact-block__item__address__zip{
		flex-direction: column;
		align-items: flex-start;
	}
	.Contact-block__item__address__zip__body{
		max-width: 100%;
		margin-right: 0;
	}
	.Contact-block__item__address__zip__button{
		margin-top: 1rem;
	}

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

	.Contact__text{
		font-size: 3.4rem;
		margin-bottom: 5.5rem;
		line-height: calc( 5.4 / 3.4 );
	}

	.Contact-block:not(:last-child){
		margin-bottom: 9.5rem;
	}
	.Contact-block:nth-of-type(2) .sec-title{
		font-size: 4rem;
	}
	
	.Contact-block__item{
		padding: 3rem 0 4.5rem;
		border-bottom: 2px solid #D6D2D0;
		flex-direction: column;
	}
	.Contact-block__item:first-child{
		border-top: 2px solid #D6D2D0;
	}
	.Contact-block__item__title{
		width: 100%;
		margin-bottom: 2.6rem;
		justify-content: flex-start;
	}
	.Contact-block__item__title p{
		min-height: auto;
		line-height: calc( 3.6 / 2.4 );
	}
	.Contact-block__item__title.-req p{
		width: auto;
	}
	.Contact-block__item__title.-req::after{
		width: 6.4rem;
		height: 3.8rem;
		border-radius: .6rem;
		margin-left: 2rem;
	}
	.Contact-block__item__body{
		width: 100%;
		padding-left: 0;
	}
	.Contact-block__item__hosoku{
		padding-left: 0;
		line-height: calc( 3.6 / 2.4 );
	}
	.Contact-block__item__hosoku::before{
		line-height: calc( 3.6 / 2.4 );
	}
	
	/*----- フォーム */
	
	/* テキスト */
	.Form__text{
		max-width: 100%;
	}
	.Form__text input[type="text"],
	.Form__text input[type="email"]{
		height: 8rem;
		padding: 1.5rem 2rem;
		line-height: calc( 2.8 / 2.4 );
		border: 2px solid #DFDBDA;
	}
	
	/* セレクト */
	.Form__select{
		max-width: 100%;
	}
	.Form__select::before{
		right: 1.5rem;
		top: 50%;
		border-right: .4rem solid transparent;
		border-left: .4rem solid transparent;
	}
	.Form__select select{
		height: 8rem;
		padding: 1.5rem 2rem;
		line-height: calc( 2.8 / 2.4 );
		border: 2px solid #DFDBDA;
	}
	
	/* テキストエリア */
	.Form__textarea textarea{
		padding: 1.5rem 2rem;
		line-height: calc( 2.8 / 2.4 );
		border: 2px solid #DFDBDA;
	}
	
	/* チェックボックス */
	.Form__checkbox .wpcf7-form-control{
		flex-wrap: wrap;
	}
	.Form__checkbox .wpcf7-list-item:not(:last-child){
		margin-right: 4.5rem;
	}
	.Form__checkbox input[type="checkbox"] + .wpcf7-list-item-label{
		padding-left: 3rem;
	}
	.Form__checkbox input[type="checkbox"] + .wpcf7-list-item-label::before{
		width: 2rem;
		height: 2rem;
		border: 2px solid var(--maincolor);
	}
	.Form__checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::after{
		width: .8rem;
		height: 1.2rem;
		left: .6rem;
		top: .4rem;
	}
	
	/* お問い合わせ項目 */
	.Contact-block__item.-type .Contact-block__item__title p{
		min-height: auto;
	}
	.Contact-block__item.-type .Form__checkbox .wpcf7-list-item{
		margin-bottom: 3rem;
	}
	
	/* 氏名・フリガナ */
	.Contact-block__item__name-kana{
		max-width: none;
	}
	.Contact-block__item__name-kana:not(:last-child){
		margin-right: 4rem;
	}
	.Contact-block__item__name-kana::before{
		width: 4rem;
	}
	.Contact-block__item__name-kana__inner{
		width: 24rem;
	}
	
	/* E-mail（確認用） */
	.Contact-block__item.-mail2 .Contact-block__item__hosoku{
		margin-top: 2rem;
	}
	
	/* 住所 */
	.Contact-block__item__address:not(:last-child){
		margin-bottom: 2.5rem;
	}
	.Contact-block__item__address::before{
		width: 12rem;
	}
	/* 郵便番号（住所） */
	.Contact-block__item__address__zip{
		width: calc( 100% - 12rem );
	}
	.Contact-block__item__address__zip__body{
		width: calc( 100% - 20rem );
	}
	.Contact-block__item__address__zip__body .Form__text{
		width: calc( (100% - 3.5rem) / 2 );
	}
	.Contact-block__item__address__zip__body .Form__text input[type="text"]{
		height: 8rem;
	}
	.Contact-block__item__address__zip__button{
		width: 17rem;
		height: 8rem;
		border-radius: .6rem;
	}
	/* 都道府県（住所） */
	.Contact-block__item__address.-pref .Form__select{
		width: 100%;
		max-width: calc( 100% - 12rem );
	}
	.Contact-block__item__address.-pref .Form__select select{
		height: 8rem;
	}
	/* 住所（住所） */
	.Contact-block__item__address.-address .Form__text{
		max-width: calc( 100% - 12rem );
	}
	.Contact-block__item__address.-address .Form__text input[type="text"]{
		height: 8rem;
	}
	
	/* 個人情報保護方針 */
	.Contact-policy{
		margin-bottom: 2.5rem;
		padding: 1.5rem 2rem;
		border: 2px solid #DFDBDA;
	}
	.Contact-policy__text{
		margin-bottom: 2.5rem;
	}
	.Contact-policy-block:not(:last-child){
		margin-bottom: 2.5rem;
	}

	.Contact-policy-block__list__item::before{
		line-height: var(--sp-letter-main-spacing);
	}
	.Contact-policy-block__list__item p{
		line-height: var(--sp-letter-main-spacing);
	}

	/* リキャプチャ */
	.Contact-recaptcha{
		margin-bottom: 8rem;
	}
	
	/* 送信ボタン */
	.Form__submit{
		max-width: 50rem;
	}
	.Form__submit::after{
		width: 1.4rem;
		height: 1.4rem;
		right: 4.6rem;
		border-right: .4rem solid #fff;
		border-bottom: .4rem solid #fff;
	}
	.Form__submit input[type="submit"]{
		height: 11rem;
		padding: 1rem 5rem;
		border-radius: 5.5rem;
		font-size: 2.6rem;
		border: 2px solid var(--maincolor);
	}
	.Form__submit:hover::after{
		border-right: .4rem solid var(--maincolor);
		border-bottom: .4rem solid var(--maincolor);
	}

}



/*-------------------------------
	確認画面
-------------------------------*/

.Confirm .Contact-block__item__title.-req::after{
	display: none;
}
.Confirm .Contact-block__item__title p{
	min-height: auto;
	line-height: var(--letter-main-spacing);
}
.Confirm .Contact-block__item{
	padding-top: 3.2rem;
	padding-bottom: 3.8rem;
}
.Confirm .Contact-block__item__body,
.Confirm .Contact-block__item__body p{
	line-height: var(--letter-main-spacing);
}
.Confirm .Contact-block__item__name-kana{
	line-height: var(--letter-main-spacing);
}
.Confirm .Contact-block__item.-corp .Contact-block__item__title p{
	line-height: calc( 2.4 / 1.8 );
}

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

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

	/* 郵便番号（住所） */
	.Confirm .Contact-block__item__address.-zip{
		align-items: center;
	}
	.Confirm .Contact-block__item__address.-zip::before{
		height: auto;
		display: block;
	}

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

	.Confirm .Contact-block__item__title p{
		min-height: auto;
		line-height: var(--sp-letter-main-spacing);
	}
	.Confirm .Contact-block__item{
		padding-top: 3.2rem;
		padding-bottom: 3.8rem;
	}
	.Confirm .Contact-block__item__body{
		line-height: var(--sp-letter-main-spacing);
	}
	.Confirm .Contact-block__item__name-kana{
		line-height: var(--sp-letter-main-spacing);
	}
	.Confirm .Contact-block__item.-corp .Contact-block__item__title p{
		line-height: calc( 2.8 / 2.4 );
	}

}



/*-------------------------------
	完了画面
-------------------------------*/

.Send__title{
	font-size: 3.6rem;
	margin-bottom: 3rem;
	font-weight: 700;
	text-align: center;
}
.Send__text{
	margin-bottom: 6.5rem;
	text-align: center;
}
.Send .Button{
	margin-left: auto;
	margin-right: auto;
}
.Send .Button a{
	border: 1px solid var(--maincolor);
}

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

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

	.Send__title{
		font-size: 4.8rem;
	}
	.Send__text{
		margin-bottom: 7rem;
	}
	.Send .Button a{
		border: 2px solid var(--maincolor);
	}

}