/*よくある質問*/
.faq_head{
	text-align: center;
	margin-top: 40px;
}
.faq_head h2{
	margin: 0;
	font-size: .9375rem;
	line-height: 1.5;
}
.faq_head p{
	text-align: left;
}

.faq_accordion{
	margin-top: 40px;
}
.faq_accordion_inner{
	gap: 10px 0;
	width: 100%;
}
.faq_accordion dl{
	position: relative;
	width: 1160px;
	max-width: 100%;
	margin: 0 auto;
}
.faq_accordion dt{
	position: relative;
	background-color: rgb(var(--color_beige));
	padding: 8px 70px 10px 50px;
	font-size: 1.0625rem;
	line-height: 1.5;
}
.faq_accordion dt::before{
	position: absolute;
	top: -10px;
	bottom: 0;
	right: 25px;
	margin: auto 0;
	border-top: solid 1px rgb(var(--color_text));
	border-right: solid 1px rgb(var(--color_text));
	width: 14px;
	height: 14px;
	transform: rotateZ(135deg);
	content: "";
	transition: 0.3s ease-in-out;
}
.faq_accordion dl.js-open dt::before{
	top: 0;
	transform: rotateZ(-45deg);
}
.faq_accordion dd{
	position: relative;
	top: 5px;
	margin: 0;
	padding: 0 10px 0 0;

	/* アコーディオン用 */
	display: grid; 
	grid-template-rows: 0fr;
	transition: 250ms all ease;
}
.faq_accordion dl.js-open dd{
	/* アコーディオン用 */
	grid-template-rows: 1fr;
}
.faq_accordion dd .wrap{
	position: relative;
	padding: 0;
	/* アコーディオン用 */
	overflow: hidden;
}
.faq_accordion dd .wrap p{
	margin-top: 0;
	padding: 4px 0 10px 70px;
	line-height: 1.5;
	font-size: .875rem;
}
.faq_accordion dt .q{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 10px;
	height: max-content;
	margin: auto 0;
	font-size:1.875rem;
	color: rgb(var(--color_gold));
}
.faq_accordion dd .a{
	position: absolute;
	top: 5px;
	left: 8px;
	font-size:30px;
	line-height: 1;
	color: rgb(var(--color_gold));
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	/*よくある質問 PC*/
	.faq_head{
		margin-top: 60px;
		padding-left: 60px;
		padding-right: 60px;
	}
	.faq_head h2{
		margin: 0;
		font-size: 1.375rem;
		line-height: 1.5;
	}
	.faq_head p{
		text-align: center;
		font-size: 1rem;
	}

	.faq_accordion{
		box-sizing: content-box;
		margin-top: 60px;
		padding-left: 60px;
		padding-right: 60px;
	}
	.faq_accordion_inner{
		gap: 20px 0;
	}
	.faq_accordion dl{}
	.faq_accordion dt{
		padding: 10px 65px 15px 80px;
		font-size: 1.375rem;
	}
	.faq_accordion dt::before{
		position: absolute;
		top: 14px;
		right: 25px;
		margin: 0;
		border-top: solid 1px rgb(var(--color_text));
		border-right: solid 1px rgb(var(--color_text));
		width: 20px;
		height: 20px;
		transform: rotateZ(135deg);
		content: "";
		transition: 0.3s ease-in-out;
	}
	.faq_accordion dl.js-open dt::before{
		top: 25px;
		transform: rotateZ(-45deg);
	}
	.faq_accordion dd{
		top: 5px;
		margin: 0;
		padding: 0 10px 0 0;
	}
	.faq_accordion dd .wrap{
		padding: 0 15px;
	}
	.faq_accordion dd .wrap p{
		padding: 25px 0 40px 66px;
		font-size: .875rem;
	}
	.faq_accordion dt .q{
		top: 0;
		left: 25px;
		font-size: 2.3125rem;
	}
	.faq_accordion dd .a{
		top: 20px;
		left: 20px;
		font-size: 2.3125rem;
	}
}

@media screen and (min-width: 769px) and (max-width: 959px) { /* Tablet用 メディアクエリー */
	/* よくある質問 TAB */

}
@media (orientation: landscape) and (min-width: 519px) and (max-width: 896px) { /*スマホ横向き用*/
	/* よくある質問 スマホ横向き */

}


/* お問い合わせフォーム*/
.contact{
	background-color: rgb(var(--color_gray));
	margin-top: 60px;
	padding: 40px 0 60px;
}
.contact_inner{}

.contact_head{
	text-align: center;
}
.contact_head p{
	text-align: left;
}

.form_items{
	gap: 10px 0;
	border: 0;
	padding: 0;
	margin: 40px 0 0;
}
.form_items .item{
	width: 100%;
}
.form_items label{
	text-align: center;
	width: 100%;
	font-size: 1.0625rem;
	line-height: 1.6;
}
.form_items .form_parts{
	position: relative;
	width: 100%;
	margin-top: 5px;
	font-size: 0.75rem;
}
.form_items .form_parts .sub{
	margin: 0 0 10px;
	font-size: 12px;
	line-height: 1.5;
}
.form_items .form_parts select{
	appearance: none;
}
.form_items .form_parts select,
.form_items .form_parts input,
.form_items .form_parts textarea{
	background-color: #fff;
	border: none;
	border-radius: 0;
}
.item_select_wrap{
	gap: 10px 0;
	margin: 20px 0;
}
.form_items .form_parts_select::before{
	position: absolute;
	top: 12px;
	right: 25px;
	margin: 0;
	border-top: solid 1px rgb(var(--color_text));
	border-right: solid 1px rgb(var(--color_text));
	width: 14px;
	height: 14px;
	transform: rotateZ(135deg);
	content: "";
	transition: 0.3s ease-in-out;
}
.form_items .form_parts_select.open::before{
	top: 20px;
	transform: rotateZ(-45deg);
}
.item_select_wrap label{
	text-align: left;
	line-height: 1.6;
}

.submit_wrap{
	justify-content: center;
	gap: 20px 40px;
	text-align: center;
	margin-top: 40px;
}
.submit_item{
	position: relative;
}
.submit_item::before{
	position: absolute;
	top: 4px;
	bottom: 0;
	right: 0;
	background-color: #7b714e;
	width: 100px;
	height: 1px;
	margin: auto 0;
	content: "";
}
.submit_item::after{
	position: absolute;
	top: -4px;
	bottom: 0;
	right: 0;
	background-color: #7b714e;
	width: 15px;
	height: 1px;
	margin: auto 0;
	transform: rotate(210deg);
	content: "";
}
.submit_item input{
	border: none;
	background-color: transparent;
	appearance: none;
	padding: 0 110px 0 0;
	font-size: 1rem;
	color: #7b714e;
	font-family: var(--font_jp);
	font-weight: 400;
	font-variation-settings: "wght" 400;
}
.submit_item a{
	border: none;
	background-color: transparent;
	appearance: none;
	padding: 0 110px 0 0;
	font-size: 1rem;
	color: #7b714e;
	font-family: var(--font_jp);
	font-weight: 400;
	font-variation-settings: "wght" 400;
	text-decoration: none;
}
.submit_item a:hover{
	text-decoration: none;
	color: #7b714e;
}

.contact_confirm{
	background-color: rgb(var(--color_gray));
}
.contact_confirm .contact{
	margin-top: 0;
}
.contact_confirm_table{
	max-width: 660px;
	margin: 0 auto;
}
.contact_confirm_table th{
	font-weight: 400;
	font-variation-settings: "wght" 500;
}
.contact_confirm_table a{
	pointer-events: none;
	text-decoration: none;
	color: rgb(var(--color_text));
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	/* お問い合わせフォーム PC*/
	.contact{
		margin-top: 100px;
		padding: 80px 60px 130px;
	}
	.contact_inner{}
	/* .contact_head p{
		font-size: 1rem;
	} */

	.contact_head p{
		text-align: center;
		font-size: 1rem;
	}

	.form_items{
		gap: 20px 0;
		width: 665px;
		margin: 100px auto 0;
	}
	.form_items .item{
		justify-content: space-between;
		gap: 0;
	}
	.form_items label{
		text-align: left;
		width: 210px;
		padding-top: 4px;
		font-size: 1rem;
	}
	.form_items .form_parts{
		flex: 1;
		margin-top: 0;
		font-size: 0.875rem;
	}

	.item_select_wrap{
		gap: 20px 60px;
	}
	.form_items .item_select label{
		width: 100%;
	}
	.form_items .item_select .form_parts{
		margin-top: 5px;
	}
	.form_items .form_parts_select::before{
		top: 13px;
	}
	.form_items .form_parts_select.open::before{
		top: 22px;
	}

	.submit_wrap{
		margin-top: 80px;
	}
	.submit_item{}
	.submit_item input{
		padding: 0 140px 0 0;
		font-size: 1rem;
	}
	.submit_item::before{
		position: absolute;
		top: 1px;
		bottom: 0;
		right: 0;
		background-color: #7b714e;
		width: 120px;
		height: 2px;
		margin: auto 0;
		content: "";
	}
	.submit_item::after{
		position: absolute;
		top: -7px;
		bottom: 0;
		right: 0;
		background-color: #7b714e;
		width: 15px;
		height: 2px;
		margin: auto 0;
		transform: rotate(210deg);
		content: "";
	}
	.submit_item::before,
	.submit_item::after{
		transition: right 0.3s ease;
	}
	.submit_item:hover::before,
	.submit_item:hover::after{
		right: -10px;
	}
	.submit_item a{
		padding: 0 130px 0 0;
	}
}

/* プライバシーポリシー*/
.policy{
	margin-top: 60px;
}
.policy_head{
	text-align: center;
	margin-top: 40px;
}
.policy_head h2{
	margin: 0;
	font-size: .9375rem;
	line-height: 1.5;
}
.policy_head p{
	text-align: left;
}

.policy_lists{
	gap: 30px 0;
	margin: 40px 0 0;
	padding: 0;
}
.policy_lists li{
	list-style-type: none;
}
.policy_lists h3{
	margin: 0;
	font-size: .9375rem;
}
.policy_lists p{
	margin: 5px 0 0;
}
.policy_lists .box_info{
	margin: 10px 0 0;
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	/* プライバシーポリシー PC*/
	.policy{
		width: 665px;
		max-width: 100%;
		margin: 80px auto 0;
	}
	.policy_head{
		margin-top: 60px;
		padding-left: 60px;
		padding-right: 60px;
	}
	.policy_head h2{
		margin: 0;
		font-size: 1.375rem;
		line-height: 1.5;
	}
	.policy_head p{
		text-align: center;
		font-size: 0.875rem;
	}

	.policy_lists{
		margin: 60px 0 0;
	}
	.policy_lists li{
		width: 100%;
	}
	.policy_lists h3{
		margin: 0;
		font-size: 1rem;
	}
	.policy_lists p{
		margin: 5px 0 0;
		font-size: .875rem;
	}
	.policy_lists .box_info{
		justify-content: flex-start;
		align-items: flex-start;
		gap: 0 40px;
		width: 100%;
	}
	.policy_lists .box_info h3{
		font-size: .875rem;
	}
	.policy_lists .box_info p{
		margin: 0;
	}
}