@charset "utf-8";

body{
	background-color: #F6F6F6;
}

/*--------------------------------------------------------------------*/

.pagehead{
	max-height: 300px;
	align-items: flex-end;
	padding-bottom: 3em;
	box-sizing: border-box;
}
.pagehead .title{
	color: #333;
	padding-left: 0;
}
@media screen and (min-width: 771px){

}
@media screen and (max-width: 770px){
	.pagehead{
		height: 50vw;
		padding-bottom: 8vw;
	}
	.pagehead .title{
		color: #333;
		padding-left: 0;
	}
}

/*--------------------------------------------------------------------*/

section.contact{
	padding: 60px 0;
}
section.contact .introduction{
	margin-bottom: 60px;
	line-height: 2;
}
@media screen and (min-width: 771px){

}
@media screen and (max-width: 700px){
	section.contact{
		padding: 30px 4vw;
	}
	section.contact .introduction{
		padding: 0 8vw;
		font-size: 1.3rem;
		margin-bottom: 30px;
	}
}
/*--------------------------------------------------------------------*/


section.contact .the_form{
	margin-bottom: 5em;
}
section.contact .the_form .table{
	max-width: 670px;
	margin: 0 auto 3em auto;
	background-color: #fff;
	padding: 2.5em 3em;
	box-sizing: border-box;
}
section.contact .the_form table{
	width: 100%;
}
section.contact .the_form table th,
section.contact .the_form table td{
	padding: .5em 0;
}
section.contact .the_form table th{
	width: 25%;
	text-align: left;
	vertical-align: top;
	padding-right: 1.5em;
	white-space: nowrap;
}
section.contact .the_form table td{
	
}
section.contact .the_form table td .value{
	position: relative;
}
section.contact .the_form table input[type="text"],
section.contact .the_form table input[type="email"],
section.contact .the_form table textarea{
	background-color: #EEEEEE;
	padding: .8em 1em;
	width: 100%;
	font-size: 1.4rem;
	font-family: inherit;
	box-sizing: border-box;
	border-radius: 3px;
}
section.contact .the_form .required{
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
	font-size: 80%;
	color: #fff;
	font-weight: bolder;
	padding: .3em 2em;
	border-radius: 3em;
	background-color: #A51515;
}
@media screen and (max-width: 700px){
	section.contact .the_form .table{
		margin: 0 auto 3em auto;
		background-color: #fff;
		padding: 2em 6vw;
		box-sizing: border-box;
		font-size: 1.3rem;
	}
	section.contact .the_form table th,
	section.contact .the_form table td{
		display: block;
	}
}

/*--------------------------------------------------------------------*/

section.contact .the_form .agreement{
	margin-bottom: 2em;
}
section.contact .the_form .submit{
	
}
section.contact .the_form .submit .button{
	background-color: #FEA218;
	display: inline-block;
	padding-right: 0 !important;
}
section.contact .the_form .submit .button:before{
	border-color: #fff;
	right: 1em;
	max-width: 70%;
}
section.contact .the_form .submit .button [type="submit"]{
	background-color: transparent;
	color: #fff;
	width: 100%;
	height: 100%;
	font-size: 1.6rem;
	padding: 1em 4em;
	font-family: inherit;
	font-weight: bolder;
	box-sizing: border-box;
	cursor: pointer;
}
@media screen and (min-width: 771px){

}
@media screen and (max-width: 770px){
	section.contact .the_form .agreement{
		font-size: 1.3rem;
	}
}

/*--------------------------------------------------------------------*/

section.contact .the_form table td .value span.error{
	display: none;
}
section.contact .the_form table td .value span.error + *{
	border: 1px solid #A51515;
}


/* チェックボックスデザイン */
section.contact .the_form input[type="checkbox"] {
	cursor: pointer;
	padding-left: 30px;
	/*label手前にチェックボックス用の余白を開ける*/
	vertical-align: middle;
	position: relative;
}

section.contact .the_form input[type="checkbox"]::before,
section.contact .the_form input[type="checkbox"]::after {
	content: "";
	display: block;
	position: absolute;
}

section.contact .the_form input[type="checkbox"]::before {
	background-color: #fff;
	border-radius: 0%;
	border: 1px solid #666464;
	width: 20px;
	/*チェックボックスの横幅*/
	height: 20px;
	/*チェックボックスの縦幅*/
	transform: translateY(-50%);
	top: 50%;
	left: 5px;
}

section.contact .the_form input[type="checkbox"]::after {
	border-bottom: 3px solid #3a8153;
	/*チェックの太さ*/
	border-left: 4px solid #3a8153;
	/*チェックの太さ*/
	opacity: 0;
	/*チェック前は非表示*/
	height: 14px;
	/*チェックの高さ*/
	width: 18px;
	/*チェックの横幅*/
	transform: rotate(-45deg);
	top: -14px;
	/*チェック時の位置調整*/
	left: 5px;
	/*チェック時の位置調整*/
}

section.contact .the_form input[type="checkbox"]:checked::after {
	opacity: 1;
	/*チェック後表示*/
}

section.contact .the_form .agreement span.error {
	display: none;
}

section.contact .the_form .agreement span.error ~ .mwform-checkbox-field input[type="checkbox"]::before {
	border: 2px solid #A51515;
}

@media screen and (max-width: 770px) {
	section.contact .the_form input[type="checkbox"]::after {
		top: -8px;
	}
}