@charset "utf-8";
/* CSS Document */





/* スマホ・タブレットリセット
*****************************************************/
@media only screen and ( max-width:768px ) {
input[type="submit"],
input[type="button"] {
	-webkit-appearance: none;
}
}



/* お問い合わせ
*****************************************************/
.contact h1 {
	margin-top: 50px;
}
.contact p {
	text-align: center;
}
.contact form table {
	width: 800px;
	margin: 0 auto;
	border-collapse: separate;
	border-spacing: 0 40px;
	letter-spacing: 0.05em;
}
.contact form table th {
	width: 260px;
	padding: 0;
	font-size: 15px;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
	line-height: 40px;
	white-space: nowrap
}
/* 必須マーク */
.contact form table th span.hissu {
	/*background-color: #7090ca;*/
	padding: 4px 6px;
	margin-left: 10px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	-o-border-radius: 5px;
	-ms-border-radius: 5px;
	border-radius: 5px;
	font-size: 13px;
	font-weight: normal;
	color: var(--red-color);
	letter-spacing: 0.1em;
}
.contact form table td {
	width: 540px;
	padding: 0;
}
.contact form table td input,
.contact form table td textarea {
	width: 100%;
	height: 40px;
	padding: 10px;
	/*background-color: #fff;
	border: 1px solid #ccc;*/
	background-color: var(--key-color-10);
	font-size: 16px;
	letter-spacing: 0.05em;
	color: #333333;
	border-radius: 3px;
}
.contact form table td input[type="radio"] {
	width: 20px;
	height: 20px;
}
.contact form table td textarea {
	height: 200px;
	resize: vertical;/* 横方向のみサイズを固定する */
}
.contact form .button_wrap input {
	display: block;
	width: 240px;
	height: 60px;
	/*background-color: #333333;*/
	/*border: none;*/
	background-color: var(--key-color);
	border: 1px solid var(--key-color);
	color: #ffffff;
	letter-spacing: 0.2em;
	font-size: 16px;
	cursor: pointer;
}
.contact form .button_wrap input:hover {
	color: rgba(255,255,255,0.6);
}
.contact form .wpcf7-submit:disabled {
	background-color: darkgray;
	border: 1px solid darkgray;
}
/*#contact form .wpcf7-submit {
	background-color: var(--key-color);
	border: 1px solid var(--key-color);
	text-align: center;
}
#contact form .wpcf7-submit {
  border: 1px solid #fff;
	text-align: center;
}*/
.contact form p.kome {
	display: block;
	margin: 8px;
	font-size: 13px;
	text-align: left;
}
.contact form #error_message {
	width: 100%;
	text-align: center;
}
.contact form #privacy_error {
	text-align: center;
}
.contact form label.error {
	color: #f39055;
	font-weight: bold;
}
.contact .privacy_consent {
	text-align: center;
	margin-bottom: 50px;
}
.contact .privacy_consent a {
	color: var(--key-color);
	text-decoration: none;
}
@media only screen and (max-width:768px) {
	.contact form table {
		width: 100%;
	}
	.contact form table th { width: 30%; }
	.contact form table td { width: 70%; }
}
@media only screen and (max-width:480px) {
	.contact p a[href^="tel:"] {
		text-decoration: underline;
	}
	.contact form table {
		border-spacing: 0 20px;
	}
	.contact form table th,
	.contact form table td,
		form table td textarea {
		width: 100%;
		display: block;
		font-size: 14px;
	}
	.contact form table th {
		margin-bottom: 8px;
	}
	.contact form .button_wrap input {
		width: 100%;	
	}
	.contact form p.kome {
		text-align: center;
	}
}





/* お問い合わせフォーム内サンプルテキスト表示
*****************************************************/
/* 各ベンダープレフィックスが取れた標準版 */
:placeholder-shown {
	font-size:16px;
}

/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {
	font-size:16px;
}

/* Firefox 18- */
:-moz-placeholder {
	font-size:16px;
}

/* Firefox 19+ */
::-moz-placeholder {
	font-size:16px;
}

/* IE 10+ */
:-ms-input-placeholder {
	font-size:16px;
}






/* contact form 7 調整
*****************************************************/
.button_wrap {
	display: flex;
	margin: 0 auto;
	width: 540px;
	justify-content: center;
	border-radius: 3px;
}
.button_wrap .wpcf7-submit {
	margin: 0 0 0 60px;
}
.button_wrap .ajax-loader {
	display: none;
}
#wpcf7-f8-o1 {
	margin: 0 0 80px 0;
}
.wpcf7c-conf {
	background-color: #dddddd;
	border: 1px solid #ccc;
}
div.wpcf7-response-output {
  margin: 15px auto !important;
  padding: 15px 10px !important;
  width: 800px;
	background-color: #fff0f5;
	text-align: center;
	border: none !important;
	color: #dc3232;
	font-weight: bold;
	font-size: 14px;
	letter-spacing: 0.05em;
}
span.wpcf7-form-control-wrap {
	text-align: left;
	letter-spacing: 0.05em;
}
span.wpcf7-not-valid-tip {
	font-weight: bold;
	font-size: 14px;
	letter-spacing: 0.05em;
}
div.wpcf7 .ajax-loader {
	width: auto;
	height: auto;
}
span.wpcf7-list-item {
	margin: 0 10px 0 0;
}

@media only screen and ( max-width:768px ) {
	div.wpcf7-response-output {
	  width: auto;
	}
}
@media only screen and ( max-width:480px ) {
	.button_wrap {
		width: 100%;
		flex-direction: column;
	}
	.button_wrap .wpcf7-submit {
		margin: 20px 0 0 0;
	}
	span.wpcf7-not-valid-tip {
		text-align: center;
	}
}

/* reCAPTCHAテキスト
*****************************************************/
.contact p.captcha {
	margin-top: 2em;
	text-align: center;
}
.contact p.captcha a {
	text-decoration: underline;
	color: var(--key-color-70);
	font-size: 95%;
}
.contact p.captcha i {
	margin-right: 5px;	
}
@media only screen and ( max-width:768px ) {
	.contact p.captcha {
		margin-bottom: 3rem;
	}
}
@media only screen and ( max-width:480px ) {
	.contact p.captcha {
		margin-top: 0.5em;
	}
}