@charset "utf-8";
/*-------------------------------------------------------
   main
-------------------------------------------------------*/
.contact {
	width: 1020px;
	margin: 0 auto 45px auto;
}
.contact .ttl {
	margin-bottom: 50px;
	display: flex;
	align-items: center;
}
.contact h2 {
	margin-right: 30px;
	font-size: 22px;
	border-bottom: dotted 1px #344C6B;
	line-height: 120%;
	display: inline-block;
}
.contact h3 {
	font-size: 17px;
}
.contact strong {
	margin-bottom: 20px;
	color: #c00;
	font-size: 12px;
	display: block;
}
.contact strong span {
	color: #c00;
	font-size: 14px;
}
.contact .hissu {
	color: #c00;
}
.contact dl {
	margin-bottom: 20px;
	display: flex;
	align-items: center;
}
.contact dt {
	width: 180px;
}
.contact dd {
	width: 662px;
}
.contact dd .err {
	color: #c00;
	background: #FFE8F1;
}
.contact small {
	font-size: 12px;
}
.contact input[type="text"] {
	width: 326px;
	height: 18px;
	padding: 4px 7px;
	border: solid 1px #aaa;
	line-height: 26px;
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
	.contact input[type="text"] {
		width: 340px;
		height: 26px;
		padding: 4px 7px;
	}
}
@media all and (-ms-high-contrast:none) {
	.contact input[type="text"] {
		width: 340px;
		height: 26px;
		padding: 4px 7px;
	}
}
.contact textarea {
	width: 646px;
	height: 288px;
	margin: 4px 0;
	padding: 6px 7px;
	border: solid 1px #aaa;
	line-height: 20px;
	display: block;
}
.contact textarea + span {
	color: #c00;
	font-size: 12px;
	text-align: right;
	display: block;
}
.contact .btn {
	width: 160px;
	margin: 0 auto;	
}
.contact .btn2 {
	width: 360px;
	margin: 40px auto 0 auto;
	display: flex;
	justify-content: space-between;
}
.contact input[type="submit"] {
	width: 160px;
	height: 29px;
	padding-top: 1px;
	background: #496D8C;
	color: #fff;
	font-weight: bold;
	line-height: 30px;
	display: block;
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
	.contact input[type="submit"] {
		height: 29px;
		padding-top: 0;
		padding-bottom: 1px;
	}
}
@media all and (-ms-high-contrast:none) {
	.contact input[type="submit"] {
		height: 28px;
		padding-top: 2px;
	}
}
.contact input[type="submit"]:hover {
	cursor: pointer;
	opacity: 0.7;
}
.contact .thanks {
	margin: 100px auto 245px auto;
	text-align: center;
}

@media screen and (max-width: 768px) {/*-- mobile --*/
.contact {
	width: auto;
	margin: 0 3vw 10vw 3vw;
}
.contact .ttl {
	margin-bottom: 8vw;
}
.contact h2 {
	margin-right: 8vw;
	font-size: 5.5vw;
}
.contact h3 {
	font-size: 4.5vw;
}
.contact strong {
	margin-bottom: 4vw;
	font-size: 3.5vw;
}
.contact strong span {
	font-size: 4vw;
}
.contact dl {
	margin-bottom: 4vw;
	flex-direction: column;
}
.contact dt {
	width: 100%;
	margin-bottom: 1.5vw;
}
.contact .conf dt {
	margin-bottom: 3vw;
	border-bottom: solid 1px #ddd;
}
.contact dd {
	width: 100%;
}
.contact small {
	font-size: 3.5vw;
}
.contact input[type="text"] {
	width: 90.7vw;
	height: auto;
	padding: 1vw 1.5vw;
	line-height: 5vw;
}
.contact textarea {
	width: 90.7vw;
	height: 80.7vw;
	margin: 1vw 0;
	padding: 1vw 1.5vw;
	line-height: 150%;
}
.contact textarea + span {
	margin-bottom: 4vw;
	font-size: 3.5vw;
}
.contact .btn {
	width: 46vw;
}
.contact .btn2 {
	width: auto;
	margin: 8.5vw auto 0 auto;
}
.contact input[type="submit"] {
	width: 45.4vw;
	height: 9vw;
	padding-top: 0.5vw;
	line-height: 5vw;
}
.contact .thanks {
	margin: 50vw auto;
}
}
