/* HEADER */
.header_contact{
	position: relative;
	width: 100%;
	overflow: hidden;
}
.contact_head{
	position: relative;
	width: 100%;
	height: auto;
}
.header_contact .inner{
	position: absolute;
	top: 0;
	left: 0;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	padding: 0 5%;
	margin: 0 auto;
}
.header_contact h1{
	position: absolute;
	width: 12vw;
	margin: 3vw 0 0;
	padding: 0;
	z-index: 9999;
}
.header_contact h1 img{
	width: 100%;
	height: auto;
}
@media screen and (min-width: 768px) { /* PC用 メディアクエリー */
	/* HEADER PC */
	.header_contact{
		overflow: inherit;
	}
	.header_contact .inner{
		padding: 0 5%;
	}
	.header_contact h1{
		width: 8.59vw;
		margin-top: 20px;
	}
}
@media screen and (min-width: 769px) and (max-width: 1280px) { /* Tablet用 メディアクエリー */
	/* HEADER TAB */
}
@media screen and (min-width: 1921px) { /* 高解像度用 メディアクエリー */
	/* HEADER 高解像度 */
}
@media screen and (min-width: 1280px) and (-webkit-min-device-pixel-ratio: 1.5) { /* レティーナ用 メディアクエリー */
	/* HEADER 高解像度 */
}

/* FOOTER */
.contact_footer  {
	position: relative;
	background-color: #d9e9d8;
	padding: 16vw 5% 8vw;
	margin-top: 100px;
}
.contact_footer  .inner{
	margin: 0 auto;
}
.footer_Illust{
	position: absolute;
	top: -28vw;
	left: 2vw;
	width: 28vw;
	height: auto;
}

.footer_logo{
	width: 22vw;
	margin: 0 auto;
}
.footer_logo img{
	width: 100%;
	height: auto;
}

.contact_footer .site_info{
	flex-direction: column;
	gap: 0;
	text-align: center;
	margin-top: 20px;
}
.contact_footer .site_info span{
	display: block;
	font-size: 0.687rem;
}

.contact_footer .footer_link{
	text-align: center;
	margin-top: 20px;
	font-size: 0.75rem;
}

.contact_footer .copy {
	text-align: center;
	margin-top: 10px;
	font-size: 0.625rem;
	letter-spacing: 0.05em;
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	/* FOOTER */
	.contact_footer {
		padding: 50px 40px 40px;
		margin-top: 140px;
	}
	.contact_footer a:hover{
		text-decoration: underline;
	}
	.contact_footer .inner{
		max-width: 100%;
	}
	.footer_Illust{
		top: -145px;
		left: 40px;
		width: 136px;
	}

	.footer_logo{
		width: 120px;
		margin: 60px auto 0;
	}

	.contact_footer .site_info{
		flex-direction: inherit;
		justify-content: center;
		gap: 12px 1em;
		margin-top: 20px;
	}
	.contact_footer .site_info span{
		display: inline-block;
		font-size: 1rem;
		line-height: 1;
	}
	.contact_footer .site_info .company_name{
		display: block;
		width: 100%;
	}

	.contact_footer .footer_link{
		margin-top: 40px;
		font-size: 1rem;
	}

	.contact_footer .copy {
		text-align: center;
		margin-top: 10px;
		font-size: 0.875rem;
	}
}
@media screen and (min-width: 769px) and (max-width: 1180px) { /* Tablet用 メディアクエリー */ 
	/* FOOTER TABLET */
	.footer_nav_wrap{
		gap: 10px 40px;
		max-width: 100%;
		margin: 0 auto;
	}
	.footer_nav{
		width: 100%;
	}
	.contact_footer .sns_ico{
		width: 100%;
		margin: 20px auto 0;
	}
}


/* CONTENTS */
.contact_contents{}
.contact_ex{
	padding: 25px 0 40px;
}
.contact_ex h2{
	text-align: center;
	font-size: 1rem;
}
.contact_ex .info{
	margin-top: 10px;
	font-size: .75rem;
	color: var(--color_main);
}
.contact_ex .txt01{
	margin-top: 10px;
	font-size: .625rem;
}
@media screen and (min-width: 768px) { /* PC用 メディアクエリー */
	/* CONTENTS PC */
	.contact_contents .inner{
		max-width: 100%;
		padding: 0 20px;
	}
	.contact_ex{
		width: 750px;
		max-width: 100%;
		margin: 0 auto;
		padding: 45px 0;
	}
	.contact_ex h2{
		font-size: 1.875rem;
	}
	.contact_ex .info{
		font-size: 1.75rem;
	}
	.contact_ex .info .sub{
		font-size: 1.5rem;
	}
	.contact_ex .txt01{
		text-align: center;
		margin-top: 15px;
		font-size: 1rem;
	}
}


/* FORM */
.contact_form{
	padding-top: 20px;
	padding-bottom: 40px;
}
.contact_form h2{
	text-align: center;
	font-size: 1rem;
}
.contact_form .required_txt{
	text-align: center;
	margin-top: 5px;
	font-size: 0.75rem;
}
.contact_form form{
	margin-top: 20px;
}
.form_items{
	gap: 15px 0;
	width: 100%;
}
.form_items .item{
	width: 100%;
	margin: 0;
}
.form_items .item label{
	width: 100%;
}
.form_items .item .form_parts{
	width: 100%;
	margin-top: 10px;
}
.form_items .item_select:not(:first-of-type){
	margin-top: 10px;
}
.form_items .item .form_parts_select{
	justify-content: flex-start;
	gap: 5px;
	margin-bottom: 0;
}
.form_items .item select{
	width: max-content;
	padding: 8px 4px;
	flex: 1;
}
.form_items .item .holiday{
	margin-top: 5px;
	margin-left: auto;
	font-size: .875rem;
}
@media screen and (min-width: 768px) { /* PC用 メディアクエリー */
	/* FORM PC */
	.contact_form{
		padding-top: 50px;
		padding-bottom: 100px;
	}
	.contact_form .inner{
		width: 980px;
		max-width: 100%;
		margin: 0 auto;
	}
	.contact_form h2{
		font-size: 2.375rem;
	}
	.contact_form .required_txt{
		margin-top: 10px;
		font-size: 1rem;
	}
	.contact_form form{
		margin-top: 60px;
	}
	.form_items{
		gap: 35px 0;
	}
	.form_items .item{
		gap: 0 20px;
		width: 100%;
		padding: 0 140px 0 0;
	}
	.form_items .item label{
		width: 200px;
		font-size: 22px;
	}
	.form_items .item .form_parts{
		width: 100%;
		margin-top: 0;
		flex: 1;
	}
	.form_items .item_select_wrap{
		width: 100%;
	}
	.form_items .item_select:not(:first-of-type){
		margin-top: 30px;
	}
	.form_items .item_select{
		padding-right: 0;
	}
	.form_items .item .form_parts_select{
		align-items: center;
		gap: 5px;
		margin-bottom: 0;
	}
	.form_items .item select{
		padding: 8px 10px;
		font-size: 1.25rem;
		flex: 1;
	}
	.form_items .item .holiday{
		margin: 0 0 0 10px;
		font-size: 1rem;
	}
}

/* 送信確認 */
.contact_confirm_table{
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
}
.contact_confirm_table th,
.contact_confirm_table td{
	border: solid 1px var(--color_main);
	padding: 10px;
	font-size: 12px;
}
.contact_confirm_table th{
	background-color: #f6f8f4;
}
.contact_confirm_table td{}
@media screen and (min-width: 768px) { /* PC用 メディアクエリー */
	/* 送信確認 PC */
	.form_confirm{
		max-width: 100%;
	}
	.contact_confirm_table{
		width: 800px;
	}
	.contact_confirm_table th,
	.contact_confirm_table td{
		padding: 15px;
		font-size: 16px;
	}
}