@charset "UTF-8";
/* CSS Document */

/*----------
 contact mv
----------*/
#contact #mv {
	position: relative;
	padding-top: 350px;
	background: url("../img/contact/mv_bg_pc.png") no-repeat;
	background-position: center;
	background-size: cover;
}
#contact #mv h1 {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	width: 322px;
	height: 51px;
	margin: auto;
}
#contact #mv h1 img {
	width: 100%;
}

@media (max-width: 768px) {
	#contact #mv {
		padding-top: 39.0625vw;
		background: url("../img/contact/mv_bg_sp.png") no-repeat;
		background-position: center;
		background-size: cover;
	}
	#contact #mv h1 {
		width: 54.6875vw;
		height: 8.125vw;
	}
}

/*----------
 contact sec_01
----------*/

#contact #sec_01 {
	position: relative;
	background: url(../img/global/pattern_03.png) center;
}
#contact #sec_01 .inner {
	width: 1100px;
	margin: 0 auto;
	padding: 50px 0;
}
#contact #sec_01 .inner:before {
	content: "";
	position: absolute;
	top: 0;
	width: 1050px;
	height: 100%;
	-webkit-transform: translateX(-100%);
	-ms-transform: translateX(-100%);
	-o-transform: translateX(-100%);
	transform: translateX(-100%);
	background: url(../img/global/pattern_02.png);
}

@media (max-width: 768px) {
	#contact #sec_01 .inner {
		width: 100%;
		padding: 7.8125vw 9.375vw;
	}
	#contact #sec_01 .inner:before {
		content: none;
	}
}

/*----------
 contact form
----------*/

#form {
	width: 840px;
	margin: 0 auto;
}
#form .required {
	color: #fff;
	font-size: 14px;
	margin-right: 5px;
	padding: 3px 6px;
	background: #003149;
}
#form .txt_01 {
	font-weight: bold;
	margin-bottom: 30px;
}
#form .txt_02 {
	font-weight: bold;
	margin-bottom: 50px;
}
#form .txt_03 {
	color: #0059ab;
	font-weight: bold;
	margin-bottom: 10px;
}
#form .txt_04 {
	font-weight: bold;
	margin-bottom: 50px;
}
#form .txt_05 {
	font-weight: bold;
	text-align: center;
	line-height: 1.7;
	margin-bottom: 30px;
}

#form input,
#form textarea,
#form label {
	display: block;
	font-size: 14px;
}
#form input[type="file"] {
	display: none;
}
#form input[type="text"],
#form input[type="tel"],
#form input[type="email"] {
	width: 100%;
	margin-bottom: 40px;
	padding: 14px;
	border: 1px solid #626262;
}
#form textarea {
	resize: vertical;
	width: 100%;
	padding: 14px;
	margin-bottom: 40px;
	border: 1px solid #626262;
}
#form label {
	color: #0059ab;
	font-weight: bold;
	margin-bottom: 10px;
}
#form label.file_upload {
	display: inline-block !important;
	margin-bottom: 30px;
}
#form label.file_upload span {
	color: #fff;
	border-radius: 2px;
	padding: 3px 5px;
	background: #d19826;
}
#form label.file_upload:hover {
	opacity: .3;
	cursor: pointer;
}

#form h2 {
	color: #0059ab;
	font-size: 24px;
	margin-bottom: 30px;
}
#form ul {
	margin-bottom: 50px;
}
#form ul li {
	font-weight: bold;
	line-height: 1.7;
	text-indent: -1em;
	padding-left: 1em;
	margin-bottom: 20px;
	font-feature-settings: normal;
}
#form ul li:before {
	content: "・";
}


#form label.checkbox {
	text-align: center;
	margin-bottom: 50px;
}
#form .checkbox_input {
	display: none !important;
}
#form .checkbox_parts {
	color: #333;
	padding: 2px 0 2px 30px;
	position:relative;
	margin-right: 20px;
}
#form .checkbox_parts:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 15px;
	height: 15px;
	border: 2px solid #434343;
	background: #fff;
}
#form .checkbox_input:checked + .checkbox_parts {
	color: #003149;
}
#form .checkbox_input:checked + .checkbox_parts:after {
	content: "";
	display: block;
	position: absolute;
	top: -3px;
	left: 6px;
	width: 7px;
	height: 14px;
	transform: rotate(40deg);
	border-bottom: 3px solid #003149;
	border-right: 3px solid #003149;
}

#form .btn_check.disabled {
	cursor: default;
	pointer-events: none;
	background: url(../img/contact/btn_check_disabled_pc.png) no-repeat center;
}
#form .btn_check.disabled:hover {
	background: url(../img/contact/btn_check_disabled_pc.png) no-repeat center;
}
#form .btn_check {
	display: block;
	width: 260px;
	height: 40px;
	margin: 0 auto 10px;
	padding: 0;
	border: none;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background: url(../img/contact/btn_check_off_pc.png) no-repeat center;
}
#form .btn_check:hover {
	cursor: pointer;
	background: url(../img/contact/btn_check_on_pc.png) no-repeat center;
}
#form .inp_error {
	background: #fac9cd;
}
#form .error_m {
	position: relative;
	top: -30px;
	color: #e50202;
	font-weight: bold;
}
#form .error_txt_02 {
	text-align: center;
	color: #e50202;
	font-weight: bold;
}

@media (max-width: 768px) {
	#form {
		width: 100%;
		font-size: 3.4375vw;
		line-height: 1.7;
	}
	#form .required {
		font-size: 3.4375vw;
		margin-right: 1.5625vw;
		padding: 0.625vw 1.56251.5625w;
		background: #003149;
	}
	#form .txt_01 {
		margin-bottom: 4.16667vw;
	}
	#form .txt_02 {
		margin-bottom: 7.8125vw;
	}
	#form .txt_03 {
		margin-bottom: 4.16667vw;
	}
	#form .txt_04 {
		margin-bottom: 6.25vw;
	}
	#form .txt_05 {
		text-align: left;
		margin-bottom: 6.25vw;
	}

	#form input,
	#form textarea,
	#form label {
		display: block;
		font-size: 3.4375vw;
	}
	#form input[type="file"] {
		display: none;
	}
	#form input[type="text"],
	#form input[type="email"] {
		margin-bottom: 9.375vw;
		padding: 3.125vw;
	}
	#form textarea {
		padding: 4.16667vw;
		margin-bottom: 9.375vw;
	}
	#form .textarea_01 {
		height: 12.5vw;
	}
	#form .textarea_02 {
		height: 46.875vw;
	}
	#form label {
		margin-bottom: 4.16667vw;
	}
	#form label.file_upload {
		margin-bottom: 7.8125vw;
	}
	#form label.file_upload span {
		border-radius: 0.625vw;
		padding: 0.9375vw 1.5625vw;
	}
	#form label.file_upload:hover {
		opacity: 1;
	}
	#form label.file_upload:active {
		opacity: .3;
	}
	#form h2 {
		font-size: 4.6875vw;
		margin-bottom: 4.6875vw;
	}
	#form ul {
		margin-bottom: 7.8125vw;
	}
	#form ul li {
		margin-bottom: 6.25vw;
	}
	#form label.checkbox {
		text-align: left;
		margin-bottom: 9.375vw;
	}
	#form .checkbox_parts {
		padding: 0.625vw 0 0.625vw 9.375vw;
		position:relative;
		margin-right: 7.8125vw;
	}
	#form .checkbox_parts:before {
		width: 4.6875vw;
		height: 4.6875vw;
		border: 0.625vw solid #434343;
	}
	#form .checkbox_input:checked + .checkbox_parts:after {
		top: -0.9375vw;
		left: 1.875vw;
		width: 1.875vw;
		height: 4.6875vw;
		border-bottom: 0.9375vw solid #003149;
		border-right: 0.9375vw solid #003149;
	}
	
	#form .btn_check.disabled {
		background: url(../img/contact/btn_submit_disabled_sp.png) no-repeat center;
		background-size: cover;
	}
	#form .btn_check.disabled:hover {
		background: url(../img/contact/btn_submit_disabled_pc.png) no-repeat center;
	}
	#form .btn_check {
		width: 100%;
		height: 9.375vw;
		background: url(../img/contact/btn_check_off_sp.png) no-repeat center;
		background-size: cover;
	}
	#form .btn_check:hover {
		background: url(../img/contact/btn_submit_off_sp.png) no-repeat center;
		background-size: cover;
	}
	#form .btn_check:active {
		background: url(../img/contact/btn_submit_on_sp.png) no-repeat center;
		background-size: cover;
	}
	#form .error_txt_01 {
		top: -7.8125vw;
	}
}

/*----------
 contact check
----------*/

#check {
	width: 840px;
	margin: 0 auto;
}
#check .txt_01 {
	margin-bottom: 50px;
	font-weight: bold;
	line-height: 1.7;
}
#check table {
	width: 100%;
	margin-bottom: 50px;
	border-top: 5px solid #003149;
	border-bottom: 5px solid #003149;
}
#check table tr:not(last-child) {
	border-bottom: 2px solid #626262;
}
#check table tr.bbn {
	border-bottom: none;
}
#check table th {
	width: 180px;
	padding: 20px 30px;
	color: #0059ab;
	font-weight: bold;
	text-align: left;
	line-height: 1.7;
}
#check table td {
	padding: 20px 30px;
	font-weight: bold;
	line-height: 1.7;
}
#check table td.bb1 {
	border-bottom: 1px solid #626262;
}

#check .btn {
	width: 550px;
	margin: 0 auto;
}
#check .btn li:not(:last-child) {
	float: left;
	margin-right: 30px;
}

#check .btn_back {
	display: block;
	width: 260px;
	height: 40px;
	padding: 0;
	border: none;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background: url(../img/contact/btn_back_off_pc.png) no-repeat center;
}
#check .btn_back:hover {
	cursor: pointer;
	background: url(../img/contact/btn_back_on_pc.png) no-repeat center;
}

#check .btn_submit {
	display: block;
	width: 260px;
	height: 40px;
	padding: 0;
	border: none;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background: url(../img/contact/btn_submit_off_pc.png) no-repeat center;
}
#check .btn_submit:hover {
	cursor: pointer;
	background: url(../img/contact/btn_submit_on_pc.png) no-repeat center;
}

@media (max-width: 768px) {
	#check {
		width: 100%;
	}
	#check .txt_01 {
		font-size: 3.75vw;
		margin-bottom: 7.8125vw;
	}
	#check table {
		margin-bottom: 7.8125vw;
	}
	#check table th {
		width: 37.5vw;
		padding: 1.5625vw 3.125vw;
		font-size: 3.75vw;
	}
	#check table td {
		padding: 1.5625vw 3.125vw;
		font-size: 3.75vw;
	}

	#check .btn {
		width: 100%;
	}
	#check .btn li:not(:last-child) {
		float: none;
		margin-right: 0;
		margin-bottom: 4.6875vw;
	}

	#check .btn_back {
		width: 100%;
		height: 9.375vw;
		background: url(../img/contact/btn_back_off_sp.png) no-repeat center;
		background-size: cover;
	}
	#check .btn_back:hover {
		background: url(../img/contact/btn_back_off_sp.png) no-repeat center;
		background-size: cover;
	}
	#check .btn_back:active {
		background: url(../img/contact/btn_back_on_sp.png) no-repeat center;
		background-size: cover;
	}

	#check .btn_submit {
		width: 100%;
		height: 9.375vw;
		background: url(../img/contact/btn_submit_off_sp.png) no-repeat center;
		background-size: cover;
	}
	#check .btn_submit:hover {
		background: url(../img/contact/btn_submit_off_sp.png) no-repeat center;
		background-size: cover;
	}
	#check .btn_submit:active {
		background: url(../img/contact/btn_submit_on_sp.png) no-repeat center;
		background-size: cover;
	}
}

/*----------
 contact result
----------*/

#result {
	width: 840px;
	margin: 0 auto;
}
#result .ico_contact {
	width: 100px;
	margin: 0 auto 60px;
}
#result .ico_contact img {
	width: 100%;
}
#result .txt_01 {
	color: #003149;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	line-height: 1.7;
	margin-bottom: 90px;
}
#result .btn_contact {
	display: block;
	width: 260px;
	height: 40px;
	margin: 0 auto;
	padding: 0;
	border: none;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background: url(../img/contact/btn_contact_off_pc.png) no-repeat center;
}
#result .btn_contact:hover {
	cursor: pointer;
	background: url(../img/contact/btn_contact_on_pc.png) no-repeat center;
}

@media (max-width: 768px) {
	#result {
		width: 100%;
	}
	#result .ico_contact {
		width: 15.625vw;
		margin: 0 auto 9.375vw;
	}
	#result .ico_contact img {
		width: 100%;
	}
	#result .txt_01 {
		font-size: 4.375vw;
		margin-bottom: 15.625vw;
	}
	#result .btn_contact {
		display: block;
		width: 100%;
		height: 9.375vw;
		background: url(../img/contact/btn_contact_off_sp.png) no-repeat center;
		background-size: cover;
	}
	#result .btn_contact:hover {
		background: url(../img/contact/btn_contact_off_sp.png) no-repeat center;
		background-size: cover;
	}
	#result .btn_contact:active {
		background: url(../img/contact/btn_contact_on_sp.png) no-repeat center;
		background-size: cover;
	}
}

/*----------
 contact error
----------*/

#error {
	width: 840px;
	margin: 0 auto;
}
#error .txt_01 {
	color: #003149;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	line-height: 1.7;
	margin-bottom: 90px;
}
#error .btn_contact {
	display: block;
	width: 260px;
	height: 40px;
	margin: 0 auto;
	padding: 0;
	border: none;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background: url(../img/contact/btn_contact_off_pc.png) no-repeat center;
}
#error .btn_contact:hover {
	cursor: pointer;
	background: url(../img/contact/btn_contact_on_pc.png) no-repeat center;
}

@media (max-width: 768px) {
	#error {
		width: 100%;
	}
	#error .txt_01 {
		font-size: 4.375vw;
		margin-bottom: 15.625vw;
	}
	#error .btn_contact {
		display: block;
		width: 100%;
		height: 9.375vw;
		background: url(../img/contact/btn_contact_off_sp.png) no-repeat center;
		background-size: cover;
	}
	#error .btn_contact:hover {
		background: url(../img/contact/btn_contact_off_sp.png) no-repeat center;
		background-size: cover;
	}
	#error .btn_contact:active {
		background: url(../img/contact/btn_contact_on_sp.png) no-repeat center;
		background-size: cover;
	}
}
}