@charset "utf-8";

section .inner{
	max-width: 900px;
}
@media screen and (max-width: 768px){
	.u_kvTxt{
		top: 22%;
		left: 20%;
	}
}
/* intro
---------------------------------------------- */
.intro{
	margin-top: 75px;
}
	.introDes{
		font-size: 18px;
	}

	.intro .stepList{
		position: relative;
		max-width: 860px;
		margin-top: 65px;
	}
	.intro .stepList::before{
		content: '';
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		width: 22px;
		height: 50px;
		background: url('../../img/inquiry/pc/icon_arrow_large.svg') center/contain no-repeat;
	}
		.intro .stepList li{
			position: relative;
			width: 46.511628%;
			padding: 39px;
			border: 1px solid #d8d8d8;
			box-sizing: border-box;
		}
			.intro .stepList li .num{
				position: absolute;
				display: flex;
				flex-direction: column;
				justify-content: center;
				align-items: center;
				top: -30px;
				left: -20px;
				width: 90px;
				height: 90px;
				font-size: 18px;
				letter-spacing: 0;
				background: #de8c9a;
				border-radius: 50%;
			}
			.intro .stepList li .num .large{
				font-size: 38px;
			}
			.intro .stepList li .img{
			}
			.intro .stepList li h3{
				font-size: 22px;
				letter-spacing: .05em;
				margin-top: 30px;
				margin-bottom: 12px;
			}
			.intro .stepList li .des{
				font-size: 16px;
				line-height: 1.75;
			}

	.intro .caution{
		font-size: 14px;
		letter-spacing: .05em;
		margin-top: 40px;
	}

@media screen and (max-width: 768px){
	.intro{
		margin-top: 30px;
	}
		.introDes{
			font-size: 12px;
			line-height: 1.8;
			letter-spacing: .05em;
		}

		.intro .stepList{
			display: block;
			margin-top: 23px;
		}
		.intro .stepList::before{
			top: 50%;
			left: 50%;
			transform: translate(-50%,-50%);
			width: 25px;
			height: 11px;
			background: url('../../img/inquiry/sp/icon_arrow_large.svg') center/contain no-repeat;
		}
			.intro .stepList li{
				width: 89.285715%;
				margin: auto;
				padding: 25px 20px;
			}
			.intro .stepList li + li{
				margin-top: 30px;
			}
				.intro .stepList li .num{
					top: -15px;
					left: -15px;
					width: 45px;
					height: 45px;
					font-size: 9px;
				}
				.intro .stepList li .num .large{
					font-size: 19px;
					margin-top: 1px;
				}
				.intro .stepList li .img{
				}
				.intro .stepList li h3{
					font-size: 13px;
					margin-top: 15px;
					margin-bottom: 8px;
				}
				.intro .stepList li .des{
					font-size: 11px;
					line-height: 1.8;
				}

		.intro .caution{
			font-size: 9px;
			line-height: 1.67;
			margin-top: 20px;
		}
}

/* inquiryForm
---------------------------------------------- */
#inquiryForm{
	margin-top: 70px;
	padding-bottom: 80px;
}
	#inquiryForm .ttl{
		font-size: 30px;
	}
	.formInner{
		margin-top: 35px;
	}
		.formInner .tableWrap{
			background: #faf9f7;
			padding: 80px 45px 50px;
		}
	.inquiryForm{
		width: 100%;
		font-family: 'Yu Gothic',Yugothic,sans-serif;
	}
		.inquiryForm th{
			position: relative;
			display: flex;
			justify-content: space-between;
			align-items: center;
			font-size: 16px;
			font-weight: 600;
			letter-spacing: .1em;
			text-align: left;
			padding: 0 15px;
			box-sizing: border-box;
		}
		.inquiryForm th.message{
			display: table-cell;
			vertical-align: top;
		}
			.inquiryForm .required,
			.agreeDes .required{
				display: flex;
				justify-content: center;
				align-items: center;
				width: 50px;
				height: 25px;
				color: #d26478;
				border: 1px solid #de8c9a;
				font-size: 13px;
				letter-spacing: .15em;
				box-sizing: border-box;
			}
			.inquiryForm th.emailTxt .required2{
				position: absolute;
				top: 82px;
				right: 15px;
			}
		.inquiryForm td{
			position: relative;
			width: 580px;
			padding-bottom: 40px;
			font-size: 14px;
			box-sizing: border-box;
		}
			.inquiryForm td .example{
				position: absolute;
				display: block;
				top: -1.5em;
				font-size: 14px;
				letter-spacing: .1em;
				color: #a1a1a1;
				box-sizing: border-box;
			}
			.inquiryForm td .emailConfirm {
			    display: inline-block;
			    color: #a1a1a1;
			    font-size: 14px;
			    letter-spacing: .1em;
			    margin-top: 12px;
			    margin-bottom: 6px;
			    box-sizing: border-box;
			}
			.inquiryForm td .ja{
				vertical-align: -6px;
			}

			input[type="text"],
			input[type="tel"],
			input[type="email"],
			textarea{
				padding: 0;
				width: 100%;
			    height: 50px;
			    font-size: 16px;
			    box-sizing: border-box;
			    border-radius: 5px;
			    outline: none;
			    background: #fff;
			    border: 1px solid #d8d8d8;
			    padding: .5em;
			    -webkit-appearance: none;
			    -moz-appearance: none;
			    appearance: none;
			}

			.wpcf7-text:-webkit-autofill {
			  box-shadow: 0 0 0 1000px #fff inset;
			}
			input[name="age"] {
			    margin-right: 7px;
			    width: 80px;
			}
			textarea{
				height: 250px;
				line-height: 1.4;
			}
			span.wpcf7-list-item{
			    margin-top: 14px;
			    margin-bottom: 5px;
			    margin-left: 0;
			}
			span.wpcf7-list-item + span.wpcf7-list-item{
			    margin-left: 30px;
			}
				span.wpcf7-list-item-label {
				    font-size: 14px;
				    font-weight: 600;
				    line-height: 1;
				    vertical-align: 1px;
				}
			input[type="submit"],
			input[type="button"]{
				display: block;
				width: 100%;
				max-width: 320px;
				height: 60px;
				cursor: pointer;
				transition: .3s ease-in-out;
			    padding: 0;
			    border: none;
			    border-radius: 0;
			    outline: none;
			    color: #fff;
			    font-size: 15px;
			    letter-spacing: .1em;
			    margin-right: auto;
			    margin-left: auto;
				-webkit-appearance: none;
			    -moz-appearance: none;
			    appearance: none;
			    position: relative;
			}
			button:hover,
			input[type="submit"]:hover,
			input[type="button"]:hover{
				opacity: .85;
			}

			.btnWrap{
				position: relative;
				display: flex;
				justify-content: center;
				max-width: 640px;
				margin-right: auto;
				margin-left: auto;
			}

			.btnWrap input[disabled] {
				opacity: .5;
				pointer-events: none;
			}
			.contactBtn{
				background: url('../../img/inquiry/pc/icon_btn_arrow_r.svg') center/contain no-repeat;
				background-color: #de8c9a;
				background-size: 5px;
				background-position: 85%;
			}
			#submit.contactBtn{
				margin-left: 20px;
			}
			#back.contactBtn{
				background: url('../../img/inquiry/pc/icon_btn_arrow_l.svg') center/contain no-repeat;
				background-color: #de8c9a;
				background-size: 5px;
				background-position: 15%;
			}

			/* 確認画面テキスト */
			.confirmTxt {
			    text-align: center;
			    font-size: 18px;
			    line-height: 2;
			    letter-spacing: .05em;
			    margin-bottom: 40px;
			}

			/* 完了画面テキスト */
			.completeTxt {
			    text-align: center;
			    font-size: 18px;
			    line-height: 2;
			    letter-spacing: .08em;
			    padding: 30px 0 0;
			}

			div.wpcf7-response-output{
				margin-left: 0;
				margin-right: 0;
				font-size: 18px;
				color: #d26478;
			}
			div.wpcf7-validation-errors, div.wpcf7-acceptance-missing{
				border-color: #d26478;
				padding: 10px 0;
				text-align: center;
			}
			div.wpcf7-mail-sent-ok{
				color: #398f14;
				padding: 10px 0;
				text-align: center;
			}
			span.wpcf7-not-valid-tip{
				font-size: 1px;
				margin: 5px 0;
			}
			.wpcf7-form {
			    margin-top: -100px;
			    padding-top: 100px;
			}


	.privacyWrap{
	    background: #fcf3f5;
	    margin-top: 40px;
	    padding: 40px 80px 40px;
	    box-sizing: border-box;
	}
	.custom-wpcf7c-confirmed.sent .privacyWrap{
		display: none;
	}
	.privacy{
	}
		.privacy .des{
		    font-size: 16px;
		    letter-spacing: .1em;
		    line-height: 1.8;
		}
			.privacy .des a{
			    letter-spacing: .1em;
			    box-sizing: border-box;
			    color: #d26478;
			}

	div.wpcf7 .ajax-loader{
		position: absolute;
		top: 50%;
		left: -10%;
		transform: translateY(-50%);
	}

	.wpcf7c-conf{
		background: #fff;
		color: #444;
		border: none;
	}
	.wpcf7-text.wpcf7c-conf:-webkit-autofill {
	  box-shadow: 0 0 0 1000px #faf9f7 inset;
	}
	input[type="text"].wpcf7c-conf,
	input[type="tel"].wpcf7c-conf,
	input[type="email"].wpcf7c-conf,
	textarea.wpcf7c-conf {
	    border: none;
	}


	.agreeDes{
		position: relative;
		margin: 26px 0 30px;
		padding-right: 5em;
		user-select: none;
		text-align: center;
	}
		.agreeDes .required{
			position: absolute;
			top: -30%;
			right: 28%;
		}
		.agreeDes span.wpcf7-list-item{
			margin: 0;
		}
		.agreeDes span.wpcf7-list-item-label{
			font-size: 16px;
		}

		.formInner .custom-wpcf7c-confirmed.sent .tableWrap{
			background: none;
			padding: 0;
		}

@media screen and (max-width: 768px){
	#inquiryForm{
		margin-top: 40px;
		padding-bottom: 40px;
	}
		#inquiryForm .ttl{
			font-size: 16px;
		}
		.formInner{
			margin-top: 20px;
		}
			.formInner .tableWrap{
				padding: 20px 25px 25px;
			}
		.inquiryForm{
		}
			.inquiryForm th{
				width: 100%;
				font-size: 12px;
				letter-spacing: .05em;
				padding: 0 0 10px;
			}
			.inquiryForm th.message{
				display: block;
			}
				.inquiryForm .required{
					width: 40px;
					height: 20px;
					font-size: 9px;
					letter-spacing: .1em;
				}
			.inquiryForm td{
				display: block;
				width: 100%;
				padding-bottom: 20px;
				font-size: 12px;
			}
				.inquiryForm td .example{
					position: static;
					font-size: 11px;
					line-height: 1.3;
					margin-bottom: 5px;
					letter-spacing: .05em;
				}
				.inquiryForm td .emailConfirm {
				    font-size: 11px;
				    letter-spacing: .05em;
				    margin-top: 12px;
				    margin-bottom: 6px;
				}
				.inquiryForm td .ja{
					vertical-align: -6px;
				}

				input[type="text"],
				input[type="tel"],
				input[type="email"],
				textarea{
				    height: 40px;
				    font-size: 12px;
				}
				input:-webkit-autofill{
				}
				input[name="age"] {
				    width: 60px;
				}
				textarea{
					height: 180px;
					margin-top: 0;
				}
				span.wpcf7-list-item{
				    margin-top: 10px;
				}
				span.wpcf7-list-item + span.wpcf7-list-item{
				    margin-left: 20px;
				}
					span.wpcf7-list-item-label {
					    font-size: 11px;
					    vertical-align: 2px;
					}
				input[type="submit"],
				input[type="button"]{
					max-width: 280px;
					height: 50px;
				    font-size: 13px;
				    letter-spacing: .05em;
				}

				.confirmTxt{
				    text-align: center;
				    font-size: 11px;
				    line-height: 1.6;
				    letter-spacing: .01em;
				    margin-bottom: 20px;
				}
				.completeTxt{
				    text-align: center;
				    font-size: 12px;
				    line-height: 1.6;
				    padding: 30px 0 0;
				}

				div.wpcf7-response-output{
					margin-left: 0;
					margin-right: 0;
					margin-bottom: 3em;
					font-size: 8px;
					line-height: 1.3;
					padding: 5px;
					text-align: left;
				}
				span.wpcf7-not-valid-tip{
					font-size: 8px;
					margin: 5px 0;
				}
				.wpcf7-form {
				    margin-top: -100px;
				    padding-top: 100px;
				}

		.privacyWrap{
		    margin-top: 20px;
		    padding: 20px 20px;
		    box-sizing: border-box;
		}
			.privacy .des{
			    font-size: 11px;
			    letter-spacing: .05em;
			    text-align: justify;
			    text-justify: inter-ideograph;
			}
				.privacy .des a{
				    letter-spacing: .05em;
				}

		.agreeDes{
			margin: 26px 0 30px;
			padding-right: 0;
			text-align: left;
		}
			.agreeDes .required{
				right: -5%;
				width: 40px;
				height: 20px;
				font-size: 9px;
			}
			.agreeDes span.wpcf7-list-item-label{
				font-size: 12px;
			}

		.btnWrap{
			display: block;
			max-width: 240px;
		}
			#submit.contactBtn {
				margin-top: 20px;
			    margin-left: 0;
			}
}