@charset "UTF-8";
/* フォーム */

/*リセットとフォント*/
input, select, textarea {
	outline: none;  border: none;
	
	font-family: 'Noto Sans JP', sans-serif;
	font-feature-settings: 'palt' 1;
	letter-spacing: 0.07em;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
	
	color: #666;
	background: #f0f0f0;
}

/*全体のフォントサイズ*/
.contact_form {
	font-size: 1.1rem; line-height: 100%; padding: 100px 0; 
}
@media screen and (max-width: 600px) {
	.contact_form {  font-size: 1rem; }
}

/*タイトル*/
.form_title01 {
	font-size: 1.7rem; line-height: 160%; text-align: center; padding: 0 0 30px 0;
}
.form_title02 {
	font-size: 1.5rem; line-height: 160%; padding: 15px 0; margin: 40px 0 20px 0;
	border-top: solid 2px #314b57;
}
.form_title01, .form_title02 { font-weight: 600; }
@media screen and (max-width: 600px) {
	.form_title01 { font-size: 1.5rem; }
	.form_title02 { font-size: 1.3rem; }
}

/*項目*/
.form_copy { padding: 20px 0 10px 0; }
.form_copy a { color: #009fc9; }
.form_copy span {
	font-size: 0.7rem; color:#ff7272; vertical-align: middle;
	position: relative; top: -2px; left: 3px;
}

/*入力スペース*/
.contact_form input, .contact_form textarea {
	padding: 7px 10px; margin: 0; font-size: 1rem; line-height: 160%;
}
.wpcf7-list-item { padding: 0 10px 0 0; vertical-align: middle; line-height: 2em; height: 2em; display: inline-block; }
.wpcf7-list-item input { margin: 6px 0 0 0; }

/*チェックボックスのズレを調整*/
.wpcf7-list-item-label { position: relative;  top: 3px; left: 0; }

/*入力スペースの幅*/
.form_w100 { width: 100%; }
.form_w50 { width: 50%; }
.form_w20 { width: 20%; }
@media screen and (max-width: 600px) {
	.form_w50 { width: 100%; }
	.form_w20 { width: 30%; }
}

/*セレクトボタン*/
select {
	font-size: 1.1rem; width: 100%; padding: 7px; margin: 0 0 5px 0;
	box-sizing: border-box;
	word-break: break-all; white-space: normal;
}
.select01 { width: 50%; }
.select02 { width: 100px; margin: 0 10px 0 0; }
.select03 { width: 160px; margin: 0 10px 0 0; }
@media screen and (max-width: 600px) {
	.select01 { width: 100%; }
	.select02 { width: 30%; }
	.select03 { width: 50%; }
	.yoyaku_time { display: block; padding: 10px 0 0 0; }
}

/*区切り線*/
.form_line { display: block; height: 1px; width: 100%; background: #666; margin: 20px 0 10px 0; }

/*プライバシーポリシーに同意*/
.form_agree { padding: 50px 0; text-align: center; }

/*送信ボタン*/
.form_button { padding: 0 0 30px 0; text-align: center; position: relative; }
input[type="submit"] {
	appearance: none;
    -webkit-appearance: none;
    color: #314b57; background: #fff; border: solid 2px #314b57;
	font-size: 1.3rem; letter-spacing: 0.1em; line-height: 100%; text-align: center;
	width: 200px; padding: 20px 0;
	transition: all 0.3s ease; position: relative;
}
@media screen and (min-width: 1025px) {
	input[type="submit"]:hover { cursor: pointer; }
	
	.form_button { position: relative; }
	.form_button::after {
		display: block; width: 0; height: 5px;
		content: ""; position: absolute; left: 0; right: 0; bottom: 73px; margin: auto;
		transition: all 0.3s ease; background: #314b57;
	}
	.form_button:hover::after { width: 120px; }
}

/* 送信中（ボタンの下に配置） */
.wpcf7-spinner { display: block; margin: 10px auto; }

/*エラーメッセージ個別*/
.wpcf7 span.wpcf7-not-valid-tip { color: #1bb8ce; margin: 5px 0;  display: block; clear: both; font-size: 1rem; }
.wpcf7 .wpcf7-not-valid { background: #cceff4; }

/*エラーメッセージ全体NG*/
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.sent {
	font-size: 1rem; padding: 5px 10px;
	color: #fff; background: #1bb8ce;
	border: solid 5px #1bb8ce !important;	
}

/*プライバシーポリシー*/
iframe { boder: none; }
.privacy_window { width: 100%; height: 200px; margin: 30px 0 0 0; }
.privacy {
	background: #f0f0f0; padding: 10px;
	font-feature-settings: "palt" 1; letter-spacing: normal;
	color: #666;
}
.privacy h3 { font-size: 1.1rem;  font-weight: 600; padding: 0 0 5px 0; }
.privacy p { font-size: 0.8rem;  font-weight: 500; line-height: 160%; text-align: justify; }
.privacy p a { color: #666; border-bottom: solid 2px #666; padding:  0 0 1px 0; }