﻿/* お問い合わせ */
.contact {
	padding: 0 40px;
}
.contact .inner{
	max-width: 100%;
}

.contact_img{
	width: 100%;
	height: auto;
}
.contact_info_txt{
	margin-top: 120px;
}
.contact_info_txt h3{
	font-size: 0.875rem;
}
.contact_info_txt p{
	margin-top: 1.5em;
	font-size: 0.75em;
	line-height: 2;
}

.contact_promise{
	justify-content: flex-start;
	align-items: center;
	background-color: #ccc;
	padding: 30px;
	margin-top: 80px;
}
.contact_promise .item{
	width: 100%;
}
.contact_promise .item_left{
	width: 220px;
}
.contact_promise .item h3{
	border-right: solid 1px #000;
	margin: 0 25px 0 0;
	padding: 12px 30px 12px 0;
	font-size: 1rem;
	font-weight: 700;
}
.contact_promise .item_right{
	width: calc((100% - 220px));
}
.contact_promise .item p{
	font-size: 0.875em;
}

.contact_form .attention{
	margin: 30px 0 0 270px;
}
.contact_form .attention h4{
	font-size: 0.875rem;
}
.contact_form .attention p{
	margin-top: 1.5em;
	font-size: 0.75rem;
}

.contact_form{
	margin-top: 100px;
}
.contact_form .sub{
	font-size: 0.875rem;
}
.form_items{
	gap: 30px 0;
	width: 100%;
	margin-top: 20px;
}
.form_items fieldset{
	align-items: start;
	gap: 30px;
	width: 100%;
}
.form_items fieldset p{
	/*CF7が勝手に生成するので無効化*/
	display: contents;
}
.form_items .form_name{
	background-color: #ccc;
	text-align: center;
	width: 240px;
	padding: 10px 0;
	margin: 0;
	font-size: 14px;
}
.form_items .form_parts{
	width: calc(100% - 240px - 30px);
	margin: 0;
}
.form_items .form_parts .part:not(:first-of-type){
	display: block;
	margin-top: 30px;
}
.form_items .acceptance_btn{
	margin-top: 40px;
	margin-left: 270px;
	font-size: 0.875rem;
}
.contact_form .submit_btn_wrap{
	justify-content: center;
	gap: 20px 40px;
	width: 80%;
	max-width: 100%;
	margin: 100px auto 0;
}
.contact_form .submit_btn_item{
	width: 320px;
}
.contact_form .submit_btn_item p{
	/*CF7が勝手に生成するので無効化*/
	display: contents;
}
.contact_form .submit_btn_item input{
	display: block;
	text-align: center;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
	background-color: #333;
	border: none;
	width: 100%;
	padding: 15px 10px;
	margin: 0 auto;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	color: #fff;
	outline: none;
	-webkit-font-feature-settings: "palt";
			font-feature-settings: "palt";
	-webkit-appearance: none;
}
.contact_form .submit_btn_item input:hover{
	background-color: #888;
}
.contact_form .submit_btn_item input[disabled]{
	background-color: #aaa;
}
.contact_form .submit_btn_return input{
	background-color: #666;
}

.contact_form fieldset input{
	font-weight: 400;
	font-size: 0.875rem;
}
.contact_form fieldset input[type=text],
.contact_form fieldset input[type=email],
.contact_form fieldset textarea {
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
	width: 100%;
	padding: 15px;
	font-size: 0.875rem;
}
.contact_form fieldset .form_parts label{
	display: inline-block;
	width: max-content;
	margin: 5px 0;
	padding-right: 40px;
	font-size: 0.875rem;
}
.contact_form input[type=radio],
.contact_form input[type=checkbox]{
	margin: 0 5px 0 0;
	vertical-align: -1px;
	accent-color: #000;
}

.wpcf7-spinner{
	/* CF7 LOADING */
	display: block !important;
	margin: 20px auto 0 !important;
}
.wpcf7-not-valid-tip{
	/* CF7 各項目のエラーテキスト */
	color: #ff0000 !important;
	font-size: 0.875rem !important;
}

.confirm .form_parts{
	font-size: 0.875rem;
}
.confirm fieldset{
	align-items: center;
}

/* CF7のCSSリセット */
.contact_form .wpcf7-list-item{
	margin: 0;
}
.wpcf7 form .wpcf7-response-output {
	text-align: center;
	border: none !important;
	color: #ff0000 !important;
	font-size: 0.875rem !important;
}

@media screen and (max-width: 896px) { /* スマホ用 メディアクエリー */
	/* お問い合わせ SP */
	.contact{
		padding: 0;
	}
	.contact .inner{
		max-width: none;
	}

	.contact_info_txt{
		margin-top: 60px;
	}
	.contact_info_txt p{
		line-height: normal;
	}

	.contact_promise{
		padding: 25px;
		margin-top: 40px;
	}
	.contact_promise .item_left,
	.contact_promise .item_right{
		width: 100%;
	}
	.contact_promise .item h3{
		border-right: none;
		border-bottom: solid 1px #000;
		margin: 0 0 10px;
		padding: 0 0 10px;
		font-size: 0.875rem;
	}
	.contact_promise .item p{
		font-size: 0.75em;
	}

	.contact_form .attention{
		margin: 20px 0 0;
	}
	.contact_form .attention p{
		font-size: 0.75em;
	}

	.contact_form{
		margin-top: 60px;
	}
	.contact_form .sub{
		font-size: 0.687rem;
	}
	.form_items{
		gap: 0;
		margin-top: 15px;
	}
	.form_items fieldset{
		align-items: stretch;
		gap: 0;
	}
	.form_items .form_name{
		background-color: transparent;
		text-align: left;
		width: 100%;
		padding: 0;
		font-size: 1rem;
	}
	.form_items .form_parts{
		width: 100%;
		margin: 5px 0 0;
	}
	.form_items .form_parts .part:not(:first-of-type){
		margin-top: 10px;
	}
	.form_items .acceptance_btn{
		margin-left: 0;
		font-size: inherit;
	}
	.contact_form .submit_btn_wrap{
		width: 100%;
		margin: 40px 0 0;
	}
	.contact_form .submit_btn_item{
		width: 100%;
	}
	.contact_form .submit_btn_item input{
		width: 80%;
		font-size: 0.75rem;
	}
	.contact_form .submit_btn_item input:hover{
		background-color: #333;
	}

	.contact_form fieldset input{
		font-size: 0.75rem;
	}
	.contact_form fieldset input[type=text],
	.contact_form fieldset input[type=email],
	.contact_form fieldset textarea {
		padding: 10px;
		font-size: 0.75rem;
	}
	.contact_form fieldset .form_parts label{
		width: 42vw;
		padding-right: 0;
		font-size: 0.75rem;
	}
	.contact_form input[type=radio],
	.contact_form input[type=checkbox]{
		vertical-align: -2px;
	}

	.confirm fieldset{
		align-items: stretch;
	}
}
