@charset "utf-8";

#kv {
	background:url(../images/kv.jpg) center center no-repeat;
	background-size:cover;
}

article#wrap > header > div > h1 {
	background-color:#222;
}

#greeting {
	text-align:center;
	margin-bottom:30px;
}

#greeting p {
	line-height:1.3;
	margin-bottom:5px
}

#greeting img {
	display:block;
	margin:0 auto 3px auto;
	width:80%;
	max-width:320px;
}
#greeting span {
	font-size:16px;
}

#form {
	margin-bottom:150px;
}
	@media(max-width:767px) {
		#form {
			margin-bottom:100px;
		}
	}

#form table {
	width:800px;
	margin:0 auto 50px auto;
	border-collapse:collapse;
}
	@media(max-width:980px) {
		#form table {
			width:720px;
		}
	}
	@media(max-width:767px) {
		#form table {
			width:90%;
			margin:0 auto 30px auto;
		}
	}
	@media(max-width:479px) {
		#form table {
			width:100%;
		}
	}

#form table th, #form table td {
	vertical-align:middle;
	padding:12px 25px;
	border:1px solid #999;
}
	@media(max-width:767px) {
		#form table th, #form table td {
			display:block;
			padding:10px;
			border:0;
		}
	}

#form table th {
	background-color:#F6F6F6;
	font-weight:normal;
	text-align:left;
}
	@media(max-width:767px) {
		#form table th {
			border-top:1px solid #999;
		}
	}

	@media(max-width:767px) {
		#form table td {
			margin-bottom:20px;
		}
		#form table td:last-child {
			margin-bottom:0;
		}
	}

#form table th span {
	font-size:15px;
	display:inline-block;
	background-color:#E83828;
	color:#FFF;
	padding:5px 6px 4px 6px;
	line-height:1;
	float:right;
}
	@media(max-width:767px) {
		#form table th p {
			display:inline;
		}
	}

#form table th span.optical {
	background-color:#0080C0;
}

#form table td p{
	display:inline;
	font-size:11px;
}

input, textarea {
	font-size:18px;
}
.namae {
	width:200px;
}
.post {
	width:60px;
	margin-bottom:15px;
}
.phone {
	width:90%;
	max-width:400px;
}
.mail {
	width:90%;
	max-width:400px;
}
input[type=radio] {
	margin-left:10px;
}
#comment {
	width:90%;
	max-width:400px;
	height:90px;
}
.submit {
	text-align:center;
}
.submit a {
	color:#FFF;
	display:inline-block;
	width:320px;
	background-color:#000;
	line-height:50px;
	font-size:20px;
}
	@media(max-width:480px) {
		.submit a {
			display:block;
			width:auto;
			margin:0 15px;
		}
	}

.submit a:hover {
	opacity:0.8;
}

p.complete {
	text-align:center;
	margin-bottom:100px;
}
p.error {
	width:768px;
	margin:0 auto 50px auto;
	margin-bottom:20px;
	border:1px dotted #FF6262;
	background-color:#FFF4F4;
	padding:15px;
	color:#F00;
	line-height:1.3;
	text-align:left;
}
	@media(max-width:980px) {
		p.error {
			width:688px;
		}
	}
	@media(max-width:767px) {
		p.error {
			width:auto;
			margin:0 auto 30px auto;
		}
	}