@charset "UTF-8";

.contact_form {

}

	.contact_form dl {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		font-size: 1.1em;
	}

		.contact_form dl dt {
			width: 240px;
			padding: 20px 10px;
			border-bottom: 1px dotted #ccc;
		}

		.contact_form dl dd {
			width: calc(100% - 240px);
			padding: 20px 10px;
			border-bottom: 1px dotted #ccc;
		}

			.contact_form dl dd .asterisk {
				font-size: 0.9em;
				text-indent: -1em;
				padding-left: 1em;
			}

	.btn_row {
		margin: 50px 0 0;
		display: flex;
		justify-content: space-around;
	}

	.contact_form button[type="submit"] {
		font-size: 1.1em;
		border: none;
		border-radius: 5px;
		width: 100%;
		max-width: 200px;
		margin: 50px auto;
		background: #c9360c;
		color: #fff;
		padding: 15px;
		position: relative;
		display: block;
		cursor: pointer;
	}

	#wrap .contact_form a.back_btn {
		font-size: 1.1em;
		border: none;
		border-radius: 5px;
		width: 100%;
		max-width: 200px;
		margin: 50px auto;
		background: #999;
		color: #fff !important;
		padding: 15px;
		position: relative;
		display: block;
		cursor: pointer;
		text-decoration: none !important;
		text-align: center;
	}

	.contact_form button[type="submit"]:before,
	.contact_form a.back_btn:before {
		content: "\f0da";
		font-family: 'FontAwesome';
		position: absolute;
		top: 50%;
		left: 10px;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
	}

.hd02 {
	margin-top: 50px;
}

.form_err {
	border: 1px solid #d10000 !important;
	background: #ffebeb !important;
}

.err_msg {
	color: #d10000;
	border: 1px solid #d10000;
	border-radius: 5px;
	background: #ffebeb;
	padding: 10px;
	display: none;
}

.mail_err {
	color: #d10000;
	display: none;
}

span.required,
span.optional {
	font-size: 0.8em;
	display: inline-block;
	margin: 0 0 0 5px;
	padding: 1px 5px;
}

span.required {
	background: #d10000;
	color: #fff;
}

span.optional {
	background: #777;
	color: #fff;
}


/* input */
#contentsBlock input:not([type="radio"]),
#contentsBlock select,
#contentsBlock textarea {
	font-family: 'Noto Sans Japanese',"Meiryo","MS PGothic", sans-serif;
	width: 100%;
	font-size: inherit;
	border: 1px solid #cccccc;
	border-radius: 5px;
	padding: 8px;
	display: inline;
}

/* 表 */
.table_wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
}

.table_wrap table {
    min-width: 640px;
}
/*---------------------- responsive styles -----------------------*/
@media screen and (max-width:768px) {
	.contact_form dl {
		display: block;
	}

		.contact_form dl dt,
		.contact_form dl dd {
			width: 100%;
			padding: 10px;
		}

		.contact_form dl dt {
			font-weight: 700;
		}

		.contact_form dl dd {
			margin: 0 0 20px;
			border-bottom: none;
		}
}

/*---------------------- responsive styles -----------------------*/
@media screen and (max-width:480px) {
	.btn_row {
		display: block;
	}

		.btn_row button[type="submit"],
		#wrap .btn_row a.back_btn {
			width: 100%;
			max-width: none;
			margin: 0 0 10px;
		}
}
