@charset "utf-8";

.wpcf7-spinner{
	display: none;
}
.grecaptcha-badge{
	opacity: 1;
}



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

.Conact__text{
	margin-bottom: 7.5rem;
}
.Conact__req-text{
	width: 100%;
	margin-bottom: 2.5rem;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Conact__req-text span{
	width: 4.8rem;
	height: 2.8rem;
	padding-bottom: .2rem;
	line-height: 1;
	margin-right: 1rem;
	font-size: 1.6rem;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	background: #a92224;
}

.Contact__list + .Contact__list{
	margin-top: 10rem;
}
.Contact__list-title{
	width: 100%;
	font-size: 2.4rem;
	margin-bottom: 2.2rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Contact__list-title::before{
	color: var(--subcolor);
	content: "■";
	padding-right: .5rem;
	display: block;
}
.Contact__list-text{
	margin-bottom: 2rem;
	color: #a92224;
}

.Contact-block-wrap{
	border-top: 1px solid #c8c8c8;
	position: relative;
}
.Contact-block-wrap::before{
	background: var(--maincolor);
	content: "";
	display: block;
	width: 24rem;
	height: 1px;
	position: absolute;
	left: 0;
	top: -1px;
}
.Contact-block{
	width: 100%;
	border-bottom: 1px solid #c8c8c8;
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
}
.Contact-block__title{
	color: var(--maincolor);
	width: 24rem;
	padding-right: 2rem;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.Contact-block__title::before{
	background: var(--maincolor);
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	bottom: -1px;
}
.Contact-block__title.-req::after{
	content: "必須";
	width: 4.5rem;
	height: 2.6rem;
	font-size: 1.5rem;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	background: #a92224;
}
.Contact-block__title span{
	width: calc(100% - 4.5rem);
	display: block;
}
.Contact-block__body{
	width: calc(100% - 24rem);
	padding: 3rem;
}
.Contact-block__body > *:not(:first-child){
	margin-top: 2rem;
}

/*----- フォーム */
/* テキスト */
.Contact__field{
	width: 100%;
	max-width: 43rem;
	position: relative;
}
.Contact__field .wpcf7-form-control-wrap{
	display: block;
	line-height: 1;
}
.Contact__field input{
	width: 100%;
	height: 4.6rem;
	padding: 1rem;
	border: 1px solid #c8c8c8;
	border-radius: 3px;
	font-size: 1.8rem;
	background: #fffff0;
}
.Contact__field[data-tag]::after{
	content: attr(data-tag);
	position: absolute;
	right: 0;
	top: 50%;
	transform: translate(calc(100% + 1.5rem),-50%);
	line-height: 1;
	display: block;
}
/* テキストエリア */
.Contact__textarea{
	width: 100%;
}
.Contact__textarea .wpcf7-form-control-wrap{
	display: block;
}
.Contact__textarea textarea{
	width: 100%;
	height: 14rem;
	padding: 1rem;
	border: 1px solid #c8c8c8;
	border-radius: 3px;
	font-size: 1.8rem;
	background: #fffff0;
}
/* カレンダー */
.Contact__date{
	width: 100%;
	max-width: 19rem;
}
.Contact__date .wpcf7-form-control-wrap{
	line-height: 1;
	display: block;
}
.Contact__date input[type="date"]{
	width: 100%;
	height: 4.6rem;
	padding: 1rem;
	border: 1px solid #c8c8c8;
	border-radius: 3px;
	font-size: 1.8rem;
	background: #fffff0;
}
.Contact__date input[type="date"]::-webkit-date-and-time-value{
	text-align: left;
}
/* ラジオボタン */
.Contact__radio .wpcf7-list-item{
	display: block;
}
.Contact__radio input[type="radio"]{
	display: none;
}
.Contact__radio .wpcf7-list-item:not(:last-child){
	margin-bottom: 1.5rem;
}
.Contact__radio .wpcf7-list-item-label{
	width: 100%;
	height: 3rem;
	padding-left: 4.5rem;
	font-size: 1.8rem;
	line-height: 1;
	position: relative;
	z-index: 5000;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Contact__radio .wpcf7-list-item-label::before{
	content: "";
	display: block;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	border: 1px solid #c8c8c8;
	position: absolute;
	left: 0;
	top: 0;
}
.Contact__radio input[type="radio"]:checked + .wpcf7-list-item-label::after{
	background: var(--maincolor);
	content: "";
	display: block;
	width: 3rem;
	height: 3rem;
	border: .7rem solid #fff;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
}
/* チェックボックス */
.Contact__checkbox input[type="checkbox"]{
	display: none;
}
.Contact__checkbox .wpcf7-list-item-label{
	width: 100%;
	height: 2.6rem;
	padding-left: 3rem;
	font-size: 1.8rem;
	line-height: 1;
	position: relative;
	z-index: 5000;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.Contact__checkbox .wpcf7-list-item-label::before{
	content: "";
	display: block;
	width: 2.6rem;
	height: 2.6rem;
	border: 1px solid #c8c8c8;
	background: #fff;
	position: absolute;
	left: 0;
	top: 0;
}
.Contact__checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::after{
	border-bottom: 3px solid var(--maincolor);
	border-right: 3px solid var(--maincolor);
	content: "";
	display: block;
	position: absolute;
	left: .8rem;
	top: .2rem;
	width: 1rem;
	height: 1.6rem;
	transform: rotate(45deg);
}
/* セレクト */
.Contact__select{
	width: 100%;
	max-width: 24rem;
}
.Contact__select .wpcf7-form-control-wrap{
	display: block;
	position: relative;
}
.Contact__select .wpcf7-form-control-wrap::before{
    content: "";
    display: block;
    position: absolute;
    right: 1.6rem;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-right: .6rem solid transparent;
    border-left: .6rem solid transparent;
    border-top: 1rem solid #333333;
    border-bottom: 0;
}
.Contact__select select{
	width: 100%;
	height: 4.6rem;
	padding: 1rem;
	font-size: 1.8rem;
	border-radius: 3px;
	line-height: 1;
	border: 1px solid #c8c8c8;
	background: #fffff0;
}

/* メールアドレス */
.Contact__field.-email2::after{
	content: "確認用に再入力";
	display: block;
	font-size: 1.8rem;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translate(calc(100% + 1.5rem),-50%);
	line-height: 1;
	display: block;
	color: #a92224;
}
/* 人数 */
.Contact-block.-count .Contact__field{
	max-width: 10rem;
}
/* 会員番号 */
.Contact__field.-passport{
	max-width: 27rem;
}
/* 年齢 */
.Contact__field.-age{
	max-width: 10rem;
}
.Contact__field.-age::after{
	content: "歳";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translate(calc(100% + 1.5rem),-50%);
	line-height: 1;
	display: block;
}
/* 電話番号 */
.Contact__field.-tel{
	max-width: 27rem;
}
/* ご住所 */
/* 郵便番号 */
.Contact__field.-zip{
	max-width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.Contact__field.-zip::after{
	content: "※入力すると自動で住所が入力されます。";
    width: 32.5rem;
	font-size: 1.6rem;
    display: block;
}
.Contact__field.-zip .wpcf7-form-control-wrap{
	width: calc(100% - 32.5rem);
	display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
}
.Contact__field.-zip .wpcf7-form-control-wrap::before{
	content: "〒";
    font-size: 1.8rem;
    margin-right: 1.2rem;
    display: block;
}
.Contact__field.-zip .wpcf7-form-control-wrap::after{
	content: "（半角数字） ";
    font-size: 1.6rem;
    margin-left: .8rem;
    display: block;
}
.Contact__field.-zip input[type="text"]{
	max-width: 18rem;
}

/*----- 個人情報の取り扱い */
.Contact-policy{
	margin-top: 8rem;
}
.Contact-policy__title{
	font-size: 2.4rem;
	margin-bottom: 1.5rem;
	font-weight: 700;
	line-height: 1;
}
.Contact-policy__text{
	margin-bottom: 4.5rem;
}
.Contact-policy-block-wrap{
	width: 100%;
	height: 30rem;
	overflow-y: scroll;
}
.Contact-policy-block-wrap__text{
	font-size: 1.8rem;
	margin-bottom: 3rem;
	line-height: calc(3.15 / 1.8);
	text-align: justify;
}
.Contact-policy-block-wrap{
	padding: 2.2rem 2rem 3rem;
	border-top: 2px solid #808080;
	border-bottom: 2px solid #808080;
}
.Contact-policy-block:not(:last-child){
	margin-bottom: 3rem;
}
.Contact-policy-block__title{
	margin-bottom: .4rem;
}
.Contact-policy-block__text{
	font-size: 1.8rem;
	line-height: calc(3.15 / 1.8);
	text-align: justify;
}
.Contact-policy-block__list-item{
	font-size: 1.8rem;
}
.Contact-policy-block__list-item::before{
	content: "・";
}
.Contact-policy-last{
	padding: 2.7rem 2rem;
	background: #f2f2f2;
}
.Contact-policy-last__inner{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

/*----- ボタン */
.Contact-button-wrap{
	margin-top: 8rem;
}
/* 送信ボタン */
.Contact-submit{
	margin-left: auto;
	margin-right: auto;
}
.Contact-submit .a{
	padding-right: 0;
}
.Contact-submit input{
	width: 100%;
	height: 100%;
	color: #fff;
	text-align: center;
	position: relative;
    z-index: 6000;
}

/* エラーメッセージ */
.wpcf7-not-valid-tip{
	width: 100vw;
	font-size: 1.4rem;
	line-height: 1;
	position: absolute;
	left: 0;
	bottom: -1.2em;
	color: #a92224;
}

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

	.Contact__field.-zip{
		flex-direction: column;
		align-items: flex-start;
	}
	.Contact__field.-zip .wpcf7-form-control-wrap{
		width: 100%;
	}
	.Contact__field.-email2::after{
		position: static;
		transform: translate(0,0);
		margin-top: 1rem;
	}

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

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


	.Contact__inner{
		padding-left: 5rem;
		padding-right: 5rem;
	}
	.Conact__text{
		margin-bottom: 5rem;
	}
	.Conact__req-text{
		margin-bottom: 6rem;
	}
	.Conact__req-text span{
		width: 7.2rem;
		height: 4.2rem;
		padding-bottom: 0;
		margin-right: .5rem;
		font-size: 2.4rem;
	}

	.Contact__list + .Contact__list{
		margin-top: 7rem;
	}
	.Contact__list-title{
		font-size: 3.6rem;
		line-height: calc(6.3 / 3.6);
	}
	.Contact__list-text{
		margin-bottom: 2.5rem;
		line-height: calc(4.5 / 3);
	}

	.Contact-block-wrap{
		border-top: 1px solid var(--maincolor);
	}
	.Contact-block-wrap::before{
		display: none;
	}
	.Contact-block{
		border-bottom: 1px solid var(--maincolor);
		padding-top: 5.5rem;
		padding-bottom: 5rem;
		flex-direction: column;
	}
	.Contact-block__title{
		width: 100%;
		margin-bottom: 3.5rem;
		padding-right: 0;
	}
	.Contact-block__title::before{
		display: none;
	}
	.Contact-block__title.-req::after{
		width: 7.2rem;
		height: 4.2rem;
		font-size: 2.4rem;
	}
	.Contact-block__title span{
		width: calc(100% - 7.2rem);
		line-height: 1;
	}
	.Contact-block__body{
		width: 100%;
		padding: 0;
	}
	.Contact-block__body > *:not(:last-child){
		margin-bottom: 2rem;
	}

	/*----- フォーム */
	/* テキスト */
	.Contact__field{
		max-width: 100%;
	}
	.Contact__field input{
		height: 9.8rem;
		padding: 1rem 2rem;
		border-radius: 1rem;
		font-size: clamp(16px, 3rem, 3rem);
	}
	.Contact__field[data-tag]::after{
		transform: translate(calc(100% + 2rem),-50%);
	}
	/* テキストエリア */
	.Contact__textarea textarea{
		height: 36rem;
		padding: 1rem 2rem;
		border-radius: 1rem;
		font-size: clamp(16px, 3rem, 3rem);
	}
	/* カレンダー */
	.Contact__date{
		max-width: 48rem;
	}
	.Contact__date input[type="date"]{
		height: 9.8rem;
		padding: 1rem 2rem;
		border-radius: 1rem;
		font-size: clamp(16px, 3rem, 3rem);
	}
	/* ラジオボタン */
	.Contact__radio .wpcf7-list-item:not(:last-child){
		margin-bottom: 3rem;
	}
	.Contact__radio .wpcf7-list-item-label{
		height: 5.4rem;
		padding-left: 8rem;
		font-size: clamp(16px, 3rem, 3rem);
	}
	.Contact__radio .wpcf7-list-item-label::before{
		width: 5.4rem;
		height: 5.4rem;
	}
	.Contact__radio input[type="radio"]:checked + .wpcf7-list-item-label::after{
		width: 5.4rem;
		height: 5.4rem;
		border: 1.35rem solid #fff;
	}
	/* チェックボックス */
	.Contact__checkbox input[type="checkbox"]{
		display: none;
	}
	.Contact__checkbox .wpcf7-list-item-label{
		height: 4rem;
		padding-left: 7rem;
		font-size: clamp(16px, 3rem, 3rem);
	}
	.Contact__checkbox .wpcf7-list-item-label::before{
		width: 4rem;
		height: 4rem;
	}
	.Contact__checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::after{
		left: 1.3rem;
		top: .4rem;
		width: 1.4rem;
		height: 2.4rem;
	}
	/* セレクト */
	.Contact__select{
		max-width: 35rem;
	}
	.Contact__select .wpcf7-form-control-wrap::before{
		right: 3.5rem;
		border-right: 1.1rem solid transparent;
		border-left: 1.1rem solid transparent;
		border-top: 2rem solid #333333;
	}
	.Contact__select select{
		height: 9.8rem;
		padding: 2rem;
		font-size: clamp(16px, 3rem, 3rem);
		border-radius: 1rem;
	}

	/* メールアドレス */
	.Contact__field.-email2::after{
		font-size: 3rem;
		margin-top: 2.8rem;
		position: static;
		transform: translate(0,0);
	}
	/* 人数 */
	.Contact-block.-count .Contact__field{
		max-width: 18rem;
	}
	/* 会員番号 */
	.Contact__field.-passport{
		max-width: 48rem;
	}
	/* 年齢 */
	.Contact__field.-age{
		max-width: 18rem;
	}
	/* 電話番号 */
	.Contact__field.-tel{
		max-width: 48rem;
	}
	/* ご住所 */
	/* 郵便番号 */
	.Contact__field.-zip::after{
		display: none;
	}
	.Contact__field.-zip .wpcf7-form-control-wrap{
		width: 100%;
	}
	.Contact__field.-zip .wpcf7-form-control-wrap::before{
		font-size: 3rem;
		margin-right: 1.8rem;
	}
	.Contact__field.-zip .wpcf7-form-control-wrap::after{
		font-size: 3rem;
		margin-left: 1rem;
	}
	.Contact__field.-zip input[type="text"]{
		max-width: 31rem;
	}
	/* 都道府県 */
	.Contact__select.-pref{
		max-width: 31rem;
	}

	/*----- 個人情報の取り扱い */
	.Contact-policy{
		margin-top: 10rem;
	}
	.Contact-policy__title{
		font-size: 3.6rem;
	}
	.Contact-policy__text{
		margin-bottom: 4rem;
	}
	.Contact-policy-block-wrap__text{
		font-size: 2.6rem;
		margin-bottom: 3rem;
		line-height: calc(4.55 / 2.6);
	}
	.Contact-policy-block-wrap{
		padding: 2rem 2rem 2rem 0;
		border-top-width: 2px;
		border-bottom-width: 2px;
		height: 44rem;
	}
	.Contact-policy-block__title{
		font-size: 3rem;
		margin-bottom: 1rem;
	}
	.Contact-policy-block__text{
		font-size: 2.6rem;
		line-height: calc(4.55 / 2.6);
	}
	.Contact-policy-block__list-item{
		font-size: 2.6rem;
	}
	.Contact-policy-last{
		padding: 5rem 2rem;
	}
	.Contact-policy .wpcf7-acceptance{
		line-height: 1;
		display: block;
	}
	.Contact-policy .wpcf7-acceptance .wpcf7-list-item{
		line-height: 1;
		display: block;
	}

	/*----- ボタン */
	.Contact-button-wrap{
		margin-top: 10rem;
	}

	/* エラーメッセージ */
	.wpcf7-not-valid-tip{
		font-size: 2.4rem;
		margin-top: 1rem;
		position: static;
	}

}



/*-------------------------------
	お問い合わせの確認
-------------------------------*/

.Confirm .Contact__list-text{
	display: none;
}
.Confirm .Contact__hidden{
	height: 0;
	overflow: hidden;
	visibility: hidden;
}
.Confirm .Contact__confirm-check{
	font-size: 0;
	height: 0;
	visibility: hidden;
}
.Confirm .Contact-block__title.-req::after{
	display: none;
}
.Confirm .Contact__field{
	height: auto;
	border: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
}
.Confirm .Contact__field:not(:last-child){
	margin-bottom: 0;
}
.Confirm .Contact__field[data-tag]::after{
	position: static;
	transform: translate(0,0);
	line-height: var(--line-height);
}
.Confirm .Contact__date{
	height: auto;
	border: none;
}
.Confirm .Contact__field.-count{
	width: auto;
	max-width: unset;
}
.Confirm .Contact__textarea{
	height: auto;
	border: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
}

/* 年齢 */
.Confirm .Contact__field.-age{
    max-width: none;
    width: auto;
	margin-right: 1em;
}
.Confirm .Contact__field.-age::after{
	position: static;
	transform: translate(0,0);
}
.Confirm .Contact__field.-age:has(> span:empty)::after{
	display: none;
}

/* ご住所 */
/* 郵便番号 */
.Confirm .Contact__field.-zip::before{
	content: "郵便番号";
	width: 9rem;
}
.Confirm .Contact__field.-zip:has(> span:empty)::before{
	display: none;
}
.Confirm .Contact__field.-zip::after{
	display: none;
}
/* 都道府県 */
.Confirm .Contact__select.-pref::before{
	content: "都道府県";
	width: 9rem;
	display: inline-block;
}
.Confirm .Contact__select.-pref:has(> span:empty)::before{
	display: none;
}
/* 市区町村 */
.Confirm .Contact__field.-address1::before{
	content: "市区町村";
	width: 9rem;
	display: inline-block;
}
.Confirm .Contact__field.-address1:has(> span:empty)::before{
	display: none;
}
/* 番地 */
.Confirm .Contact__field.-address2::before{
	content: "番地等";
	width: 9rem;
	display: inline-block;
}
.Confirm .Contact__field.-address2:has(> span:empty)::before{
	display: none;
}
/* その他 */
.Confirm .Contact__field.-address3::before{
	content: "建物名";
	width: 9rem;
	display: inline-block;
}
.Confirm .Contact__field.-address3:has(> span:empty)::before{
	display: none;
}

/* 戻るボタン */
.Contact-back{
	margin-top: 8rem;
	margin-left: auto;
	margin-right: auto;
}
.Contact-back .a{
	padding-right: 0;
}
.Contact-back input{
	width: 100%;
	height: 100%;
	text-align: center;
    position: relative;
    z-index: 6000;
}

@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 .Contact-block__title{
		margin-bottom: 2rem;
	}

	/* ご住所 */
	/* 郵便番号 */
	.Confirm .Contact__field.-zip::before{
		width: 15rem;
	}
	/* 都道府県 */
	.Confirm .Contact__select.-pref::before{
		width: 15rem;
	}
	/* 市区町村 */
	.Confirm .Contact__field.-address1::before{
		width: 15rem;
	}
	/* 番地 */
	.Confirm .Contact__field.-address2::before{
		width: 15rem;
	}
	/* その他 */
	.Confirm .Contact__field.-address3::before{
		width: 15rem;
	}

	/* 戻るボタン */
	.Contact-back{
		margin-top: 10rem;
	}

}



/*-------------------------------
	お問い合わせの完了
-------------------------------*/

.Send__text{
	text-align: center;
}
.Send__button{
	margin-top: 7.5rem;
	margin-left: auto;
	margin-right: 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){

	.Send__text{
		text-align: left;
	}
	.Send__button{
		max-width: 60rem;
		margin-top: 9rem;
	}
	.Send__button a{
		padding-right: 6rem;
	}

}