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

/*リセットとフォント*/
input, select, textarea {
	outline: none;  border: none;
	color: #686d70;
	background: #f0f0f0;
	
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", MeiRyo, sans-serif;
	font-feature-settings: 'palt' 1;
	letter-spacing: 0.07em;
	font-optical-sizing: auto;
	font-weight: bold;
	font-style: normal;
}

/*全体のフォントサイズ*/
.contact_form {
	font-size: 1.1rem; line-height: 100%; padding: 100px 0;
	max-width: 600px; margin: 0 auto;
}
@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;
}
@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; }
}

/*記入例*/
.wpcf7-form-control::placeholder { color: #999;  }

/*区切り線*/
.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 { position: relative; }
input[type="submit"] {
	appearance: none;
    -webkit-appearance: none;
	display: block;  color: #fff; background: #e50038; width: 200px; margin: 30px auto;
	font-size: 1.3rem; text-align: center; padding: 0;
	line-height: 60px; height: 60px;  border-radius: 30px;
}
@media screen and (min-width: 1025px) {
	input[type="submit"]:hover { cursor: pointer; }
	.form_button input { transition: 0.3s ease; }
	.form_button input:hover { transform: scale(1.1); }
}

/* 送信中（ボタンの下に配置） */
.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; line-height: 160%; padding: 10px 15px;
	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;
	line-height: 160%;
}
.privacy h2 { font-size: 1.5rem;  font-weight: 600; padding: 10px 0; }
.privacy h3 { font-size: 1.2rem;  font-weight: 600; padding: 10px 0; }
.privacy p { font-size: 1rem;  font-weight: 500; line-height: 160%; text-align: justify; }
.privacy p a { color: #666; border-bottom: solid 2px #666; padding:  0 0 1px 0; }

/*送信完了メッセージ*/
.thanks {
	display: grid; place-content: center; width: 100%; height: 100vh;
}
.thanks img { width: 200px; }