@charset "utf-8";
/*---------------------------------
| under_mv
---------------------------------*/
.main-visual {
	background-image: url('../img/contact/main.jpg');
}
@media screen and (max-width: 960px) {
	.main-visual {
		background-image: url('../img/contact/sp/main.jpg');
	}
}
/*---------------------------------
| title
---------------------------------*/
#contact .title {
	max-width: 1200px;
	margin: 0 auto 30px;
	text-align: left;
}
@media screen and (max-width: 1024px) {
	#contact .title {
		margin: 0 4%;
	}
}

/*---------------------------------
| mail
---------------------------------*/
#contact #mail .form_wrap > p {
	text-align: center;
}
#contact #mail .form_wrap > p span {
	color: #f00;
	font-weight: 700;
}
#contact #mail .form_wrap .attention {
	padding: 20px 30px;
	margin: 20px 0 40px;
	border-radius: 10px;
	background-color: #ececec;
}
#contact #mail .form_wrap .attention h4 {
	font-weight: 700;
}
#contact #mail .form_wrap .attention ul li::before {
	content: '・';
}
#contact textarea {
	height: 200px;
}
#contact .number_area{
	padding-bottom: 50px;
	text-align: center;
	margin-top: 70px;
}
#contact .number_message,
#contact .reception{
	font-size: 1.4rem;
	font-family: 'heisei-kaku-gothic-std';
	font-weight: 300;
}
#contact .number_area p.number{
	line-height: 1;
	font-size: 4rem;
	font-family: 'museo-sans';
	font-weight: 700;
	color: #fff;
	width: 400px;
	padding: 10px 0;
	margin: 30px auto 10px;
	background-color: #abba54;
}
@media screen and (max-width: 1024px) {
	#contact #mail .form_wrap .attention {
		padding: 20px 10px;
	}
	#contact .sec_inner{
		margin-bottom:0;
	}
	#contact .number_area{
		padding-bottom: 8%;
		border-bottom: 1px dotted #ccc;
	}
	#contact .number_area p.number{
		font-size: 3rem;
		width: auto;
		padding: 3% 0;
		margin: 5% 4% 2%;
	}
}

.btn-area {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 30px;
	margin-bottom: 30px;
	border: none;
	position: static;
	cursor: pointer;
}
#contact .btn-area {
	margin-bottom: 0;
}
#contact .btn:hover {
	opacity: 1.0;
}
#contact .submit,
#contact .reset {
	position: relative;
}
#contact .submit::before,
#contact .reset::before {
	content: "";
	position: absolute;
	top:45%;
	left: 30%;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#submit {
	width: 300px;
	height: 50px;
	color: #fff;
	margin: 0 15px;
	background-color: #1c8acc;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 0;
	border: none;
	outline: none;
}
@media screen and (max-width: 1024px) {
	.btn-area {
		flex-direction: column;
	}
	#submit {
		margin-bottom: 20px;
	}
}
#reset,
#return {
	width: 300px;
	height: 50px;
	color: #fff;
	margin: 0 15px;
	background-color: #333333;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 0;
	border: none;
	outline: none;
}

.intro_wrap{
}
.intro_wrap p.desc{
	text-align: center;
	font-size: 1.4rem;
	font-family: 'heisei-kaku-gothic-std';
	font-weight: 300;
}
.caution {
	color: #ff0000;
}
.intro_wrap .desc_box{
	background-color: #ececec;
	border-radius: 10px;
	padding:15px 64px;
	margin:30px 0 0;
}
.intro_wrap .desc_box p{
	font-size: 1.4rem;
	font-family: 'heisei-kaku-gothic-std';
	font-weight: 300;
}
.intro_wrap .desc_box strong{
	font-weight: bold;
}
@media screen and (max-width: 1024px) {
	.intro_wrap p.desc{
		margin: 0;
		width: auto;
		text-align: left;
	}
	.intro_wrap .desc_box{
		margin:8% 0;
		padding: 15px 30px;
	}
	.btn_area .btn {
		max-width: 300px;
	}
}

.form_wrap{
	position: relative;
	width:1200px;
	margin: 0 auto;
}
.form_wrap .table {
	border-bottom: 1px solid #ccc;
	border-collapse: collapse;
	width: 100%;
	margin: 0;
	background: #fff;
}

.form_wrap .table tr{
	border-top: 1px solid #ccc;
}

.form_wrap .table th {
	width: 25%;
	padding: 0 0 0 20px;
	vertical-align: middle;
	font-weight: bold;
	text-align: left;
}
.form_wrap .table td {
	width: 75%;
	padding: 10px 15px 10px;
}
.form_wrap .table .radio {
	height: auto;
	width: auto;
	margin: auto;
	box-shadow: none;
	margin-right: 6px;
	margin-left: 20px;
}
.form_wrap .table .check {
	height: auto;
	width: auto;
	margin: auto;
	box-shadow: none;
}
.form_wrap .table input,
.form_wrap .table textarea{
	background-clip: padding-box;
	background-color: #fff;
	border: 1px solid #ced4da;
	border-radius: 0.25rem;
	box-shadow: inset 1px 1px 1px #828282;
	color: #495057;
	display: inline-block;
	font-size: 1.4rem;
	line-height: 1.5;
	padding: 0.375rem 0.75rem;
	margin: 5px 0;
	width: 100%;
	font-size: 1.4rem;
}
.form_wrap .table input::placeholder{
	color: #ccc;
	font-size:1.2rem;
}
.form_wrap .table input.postalcode{
	width: 20%;
	margin: 5px 2%;
}
.form_wrap .table input.postalcode:first-child {
	margin-left:0;
}
.form_wrap .table input.postalcode:nth-child(2) {
	margin-right:0;
}
.form_wrap .table input.half {
	width: 25%;
	margin: 5px 2%;
}
.form_wrap .table input.half:first-child {
	margin-left:0;
}
.form_wrap .table input.half:last-child {
	margin-right:0;
}
.form_wrap .table select{
	display: inline-block;
	height: 4rem;
	font-size: 1.4rem;
	padding: 0rem 0.75rem;
	line-height: 1.5;
	color: #495057;
	border: 1px solid #ced4da;
	border-radius: 0.25rem;
	width: 40%;
	box-shadow: inset 1px 1px 1px #828282;
	vertical-align: middle;
}
.form_wrap .table select#jobtype{
	width: 100%;
}
.form_wrap .table .align-item {
	display: flex;
	align-items: center;
}
.form_wrap .table .state{
	width: 60%;
}
.form_wrap .table .align-item label {
	display: inline;
	width: 25%;
	margin-left: 4%;
	margin-bottom: 0;
	font-size: 1.4rem;
}
.form_wrap .table .align-item select {
	width: 100%;
	margin-right: 0;
}
.form_wrap .table .inline {
	display: flex;
	align-items: center;
}
.form_wrap .table textarea.inquiry{
	height: auto;
}
@media screen and (max-width: 1024px) {
	.form_wrap{
		width:auto;
	}
	.form_wrap .table{
		border-bottom: 0 none;
	}
	.form_wrap .table tr{
		border: none;
		display: flex;
		flex-direction: column;
	}
	.form_wrap .table th {
		display: block;
		width: 100%;
		border: none;
		background: #f3f3f3;
		padding: 4% 2%;
		text-align: center;
	}
	.form_wrap .table td {
		display: block;
		width: 100%;
	}
	.form_wrap .table td p{
		margin-top: 3%;
	}
	.form_wrap .table .align-item input, .form_wrap .table .align-item select{
		width: 100%;
	}
	.form_wrap .table select{
		width: 100%;
		height:auto;
		padding: 1rem 0.75rem;
	}
	.form_wrap .table input, .form_wrap .table textarea{
		margin:5px 0;
	}
	.form_wrap .table input.half{
		width: 28%;
		margin: 0 2%;
	}
	.form_wrap .table input.postalcode{
		width: 47%;
	}
	.form_wrap .table .state{
		width: 100%;
		margin-top:6px;
	}
	.form_wrap .table .inline{
		display: block;
	}
}

.form_wrap .privacy {
	border: 1px solid #000;
	height: 200px;
	overflow-y: scroll;
	overflow-x: auto;
	background: #fff;
	margin: 48px 30px 0;
}
.form_wrap .privacy > .inner {
	padding: 15px;
}
.form_wrap .privacy h2{
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 10px;
}
.form_wrap .privacy p {
	margin: 0 2%;
	width: auto;
	font-size:1.4rem;
	color: #333;
}
.form_wrap .privacy li{
	font-size: 1.4rem;
}
.form_wrap .privacy .heading {
	font-weight: bold;
	margin:15px 0 5px;
	text-align: left;
	font-size:1.4rem;
}
.form_wrap .privacy-check-wrapper {
	text-align: center;
	margin: 30px 0 0;
}
.form_wrap .privacy-check-wrapper label {
	vertical-align: middle;
}
@media screen and (max-width: 1024px) {
	.form_wrap .privacy {
		margin: 3% 6% 0;
	}
	.form_wrap .privacy > .inner {
		padding:2%;
	}
}
form p {
	text-align: left;
	color: red;
}
.box {
	margin-top: 50px;
	margin-bottom: 50px;
	text-align: center;
}
.box h2 {
	margin-bottom: 30px;
}
.box .btn {
	margin: 0 auto;
}
/*---------------------------------
| site_policy
---------------------------------*/
#site_policy h4 {
	max-width: 100%;
	padding: 10px 0;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1;
	color: #fff;
	background: #1978c1; /* Old browsers */
	background: -moz-linear-gradient(left,  #1978c1 0%, #70dff0 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left,  #1978c1 0%,#70dff0 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right,  #1978c1 0%,#70dff0 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1978c1', endColorstr='#70dff0',GradientType=1 ); /* IE6-9 */
	box-shadow: 6px 6px 0px 0px #2a2d72 ;
	margin-top: 75px;
	margin-bottom: 20px;
}
#site_policy h4::before {
	content: '';
	position: relative;
	top: -8px;
	display: inline-block;
	width: 30px;
	height: 1px;
	margin-right: 4px;
	background-color: #fff;
}
#site_policy .policy_list ul li {
	display: flex;
	margin: 10px 20px 30px;
	line-height: 1.7;
	font-size: 1.8rem;
}
#site_policy .policy_list ul li:nth-child(1)::before {
	content: '1.';
}
#site_policy .policy_list ul li:nth-child(2)::before {
	content: '2.';
}
#site_policy .policy_list ul li:nth-child(3)::before {
	content: '3.';
}
#site_policy .policy_list li p {
	display: block;
	margin: 10px 20px 30px;
	line-height: 1.7;
	font-size: 1.8rem;
}
/*---------------------------------
| calling
---------------------------------*/
#contact #calling{
	background-color: #f9f9f9;
}
#contact #calling .inner {
	border-bottom: dotted 1px #333;
}
#contact .calling {
	text-align: center;
}
#contact .calling p {
	line-height: 1.7;
}
#contact .calling ul {
	display: flex;
	justify-content: center;
	align-items: center;
}
#contact .calling ul li {
	padding: 10px 20px;
	margin: 20px 15px;
	line-height: 1;
	font-size: 3.8rem;
	/* font-weight: 700; */
	color: #fff;
}
#contact .calling ul li small {
	font-size: 2.5rem;
}
#contact .calling ul li.tel p {
	display: block;
	background-color: #1c8acc;
	padding: 0 30px;
}
#contact .calling ul li.tel span {
	display: block;
	margin-top: 10px;
	font-size: 1.4rem;
	color: #333;
}
#contact .calling ul li.fax {
	background-color: #333;
}
@media screen and (max-width: 1024px) {
	#contact .calling ul {
		flex-direction: column;
	}
	#contact .calling ul li {
		font-size: 3.2rem;
	}
	#contact .calling ul li small {
		font-size: 1.8rem;
	}
}