@charset "utf-8";

.contact-mainimage {
		width: 100%;
		height: 50vh;
		background-image: url(img/bg-contact.jpg);
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center;
		background-attachment: fixed;
}

#contact, .link {
		background: #dfedff;
}


h2 {
	text-align: center;
}

form {
		width: 60%;
		margin: 0 auto;
}

form div {
		padding-bottom: 50px;
}

textarea, input {
		width: 100%;
		border: none;
		box-sizing: border-box;
		color: #999;
		padding: 20px;
		font-size: 12px;
}

textarea {
		height: 200px;
}

textarea:required:after, input:required:after {
		content: "*は必須項目です。";
		color: red;
		display: inline-block;
}

form p {
		font-size: 12px;
		color: #555;
		line-height: 2em;
		padding-bottom: 20px;
}

form p:last-of-type {
	padding-bottom: 40px;
}

.submit {
		text-align: center;
}

.submit input {
		color: #fff;
		background: #aad277;
		border-radius: 50px;
		width: 300px;
}

/* これは不正なフィールド向けのスタイルです */
input:invalid {
  border-color: #900;
}

input:focus:invalid {
  outline: none;
}

/* これはエラーメッセージ向けのスタイルです */
#error1,  #error2, #error3 {
	display: none;
  width  : 100%;
  padding: 0;

  font-size: 80%;
  color: red;

  box-sizing: border-box;
}

.error.active {
  padding: 0.3em;
}

@media screen and (max-width: 1200px) {
}

@media screen and (max-width: 600px) {
	.contact-mainimage {
		height: 30vh;
		background-position: -100px;
		background-attachment: scroll;
	}

	form {
			width: 100%;
	}

	.submit input {
		width: 100%;
	}

}
