@charset "UTF-8";

/* contact
-----------------------------------*/
.contact_form {
	width: 1000px;
	margin: -19px auto 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.contact_form dt {
	width: 259px;
	font-size: 1.6rem;
	overflow: hidden;
	font-weight: bold;
	margin-bottom: 20px;
}
.contact_form .txt_required {
	font-size: 1.2rem;
	font-weight: normal;
	background: #B40000;
	color: #FFF;
	display: inline-block;
	float: right;
	padding: 0 5px;
	margin-right: 40px;
	margin-top: 3px;
}
.contact_form dd {
	width: calc(100% - 259px);
	color: #3B4043;
	margin-bottom: 20px;
	font-size: 1.6rem;
}
.contact_form dd select {
	-webkit-appearance: none;
	appearance: none;
	border: 1px solid #CDD6DD;
	font-size: 1.6rem;
	height: 50px;
	min-width: 340px;
	font-family: inherit;
	color: inherit;
	padding: 0 30px 0 19px;
	background: #fff url(../img/common/icon_select_arrow.svg) no-repeat right 21px center;
}
.contact_form dd select::-ms-expand {
	display: none;
}
.contact_form dd input[type="text"],
.contact_form dd input[type="tel"],
.contact_form dd input[type="email"],
.contact_form dd textarea {
	-webkit-appearance: none;
	appearance: none;
	border: 1px solid #CDD6DD;
	font-size: 1.6rem;
	height: 50px;
	border-radius: 0;
	padding: 0 19px;
	max-width: 100%;
	font-family: inherit;
}
input::placeholder,
textarea::placeholder {
	color: #CDD6DD;
	opacity: 1;
}
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
	color: #CDD6DD;
}
input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
	color: #CDD6DD;
}
.contact_form dd input.text_input_l {
	width: 484px;
}
.contact_form dd input.text_input_m {
	width: 233px;
}
.contact_form dd .text_area_l {
	width: 100%;
	height: 140px;
	resize: vertical;
	padding: 13px 19px;
}
.contact_form_privacy {
	text-align: center;
	font-size: 1.6rem;
	margin-top: 65px;
}
.contact_form_privacy input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	width: 30px;
	height: 30px;
	border: 1px solid #CDD6DD;
	border-radius: 4px;
	vertical-align: middle;
	margin: 0 10px 3px 0;
}
.contact_form_privacy input[type="checkbox"]:checked::before {
	content: "";
	display: block;
	border-left: 3px solid #1E1E1E;
	border-bottom: 3px solid #1E1E1E;
	width: 14px;
	height: 7px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	left: 6px;
	top: 7px;
}
.contact_form_privacy a {
	text-decoration: underline;
}
.contact_form_btn {
	text-align: center;
	padding: 32px 0 100px;
}
.contact_form_btn button {
	-webkit-appearance: none;
	appearance: none;
	border: 1px solid #1E1E1E;
	background: #1E1E1E;
	color: #FFF;
	font-size: 1.6rem;
	min-width: 235px;
	font-weight: bold;
	font-family: inherit;
	border-radius: 0;
	padding: 12px;
	cursor: pointer;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
}
.contact_form_btn button + button {
	margin-left: 20px;
}
.contact_form_btn .btn_denial {
	background: #FFF;
	color: #1E1E1E;
}
.contact_form_btn button:hover {
	opacity: .6;
}
.contact_form_privacy a[target="_blank"] {
	text-decoration: underline;
	-webkit-transition: opacity 300ms;
	transition: opacity 300ms;
}
.contact_form_privacy a[target="_blank"]:hover {
	opacity: .6;
}
.contact_form_privacy a[target="_blank"]::after {
	content: '';
	width: 15px;
	height: 15px;
	display: inline-block;
	background: url(../img/common/icon_external.svg) no-repeat left top / 15px auto;
	vertical-align: -1px;
	margin-left: 5px;
}
.privacy_block {
	background: #FFF;
	text-align: left;
	padding: 35px;
	width: 1000px;
	max-height: 90vh;
	overflow: auto;
}
.privacy_block h3,
.privacy_block h4 {
	margin-top: 30px;
}
.privacy_block h2 {
	font-size: 1.6rem;
}
.privacy_block h3 {
	font-size: 1.5rem;
}
.privacy_block p + p,
.privacy_block p + ul,
.privacy_block ul + ul,
.privacy_block ul + p {
	margin-top: 1em;
}
.privacy_block ul li {
	margin-left: 1em;
	text-indent: -1em;
}
.privacy_block ul li::before {
	content: "・";
}
.privacy_block a {
	text-decoration: underline;
}
.privacy_block a:hover {
	text-decoration: none;
}
@media only screen and (max-width: 768px) {
	.contact_form {
		width: auto;
		margin: -19px 3.75% 0;
		display: block;
	}
	.contact_form dt {
		width: auto;
		font-size: 1.5rem;
		margin-bottom: 5px;
	}
	.contact_form .txt_required {
		font-size: 1.2rem;
		margin-top: 3px;
		margin-left: 10px;
		float: none;
	}
	.contact_form dd {
		width: auto;
		font-size: 1.5rem;
	}
	.contact_form dd input.text_input_l {
		width: 100%;
	}
	.contact_form_privacy {
		font-size: 1.5rem;
		margin-top: 45px;
	}
	.contact_form_btn button {
		min-width: 120px;
		font-size: 1.5rem;
	}
	.contact_form_btn button + button {
		margin-left: 10px;
	}
	.contact_form_btn button:hover {
		opacity: 1;
	}
	.privacy_block {
		padding: 20px 5%;
		width: auto;
		max-height: 100%;
	}
	.privacy_block a:hover {
		text-decoration: underline;
	}
}