@charset "UTF-8";
.textcenter {
    text-align: center !important;
}

form#mail_form dl{
	width: 99%;
    margin: 0 auto;
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border: 1px solid #fff;
}

form#mail_form dl dt{
    clear: both;
    width: 35%;
    border: 1px solid #fff;
    padding: 20px 3% 20px;
    text-align: right;
    overflow: hidden;
    position: relative;
    background-color: rgba(40, 123, 202, 0.16);
    display: flex;
    justify-content: space-between;
	align-items: center;
}

form#mail_form dl dd{
	width : 65%;
	float : right;
	border-top : 1px solid #cccccc;
	padding : 20px 0 20px 5%;
	margin: 0;
	box-sizing: border-box;
	background-color: rgba(40, 123, 202, 0.08);
}

form#mail_form dl dt:nth-of-type(2n) {
	background-color: #cddeeb;
}
form#mail_form dd dt:nth-of-type(2n) {
/*	background-color: rgba(5, 61, 115, 0.04);*/
	background-color: #dee9f1;
}

form#mail_form dl dt span{
	display : block;
	font-size : 85%;
	color : #3377ff;
}


/* -- for JavaScript ここから -------------------------------------------------------------------------------- */

form#mail_form dl dt span.required,
form#mail_form dl dt span.optional{
	display : inline-block;
	float : left;
	color : #ffffff;
	line-height : 1;
	padding : 8px 9px;
	border-radius : 3px;
}

form#mail_form dl dt span.required{
	background : #d9534f;
	border : 1px solid #d43f3a;
    /*position: absolute;*/
    left: 10px;
    top: 30px;
}

form#mail_form dl dt span.optional{
	background : #337ab7;
	border : 1px solid #2e6da4;
	display: none;
}

form#mail_form dl dd span.error_blank,
form#mail_form dl dd span.error_format,
form#mail_form dl dd span.error_match{
	display : block;
	color : #ff0000;
	margin-top : 3px;
}


span.loading{
	width : 50px;
	height : 50px;
	border-radius : 50%;
	border-top : 5px solid rgba( 255, 255, 255, 0.2 );
	border-right : 5px solid rgba( 255, 255, 255, 0.2 );
	border-bottom : 5px solid rgba( 255, 255, 255, 0.2 );
	border-left : 5px solid #ffffff;
	-webkit-transform : translateZ( 0 );
	-ms-transform : translateZ( 0 );
	transform : translateZ( 0 );
	-webkit-animation : load-circle 1.0s linear infinite;
	animation : load-circle 1.0s linear infinite;
	position : absolute;
	top : 50%;
	left : 50%;
	margin-top : -25px;
	margin-left : -25px;
}


@-webkit-keyframes load-circle{
	0%{
		-webkit-transform : rotate( 0deg );
		transform : rotate( 0deg );
	}
	100%{
		-webkit-transform : rotate( 360deg );
		transform : rotate( 360deg );
	}
}

@keyframes load-circle{
	0%{
		-webkit-transform : rotate( 0deg );
		transform : rotate( 0deg );
	}
	100%{
		-webkit-transform : rotate( 360deg );
		transform : rotate( 360deg );
	}
}


/* -- for JavaScript ここまで -------------------------------------------------------------------------------- */


form#mail_form input[type="text"],
form#mail_form input[type="email"],
form#mail_form input[type="tel"]{
	max-width : 90%;
	/*height : 2em;*/
	padding : 2px 2%;
	border : 1px solid #cccccc;
	border-radius : 3px;
	background : #fafafa;
	-webkit-appearance : none;
	font-size : 100%;
	font-family : inherit;
	/*margin-top : 7px;*/
	width : 90%;

}

form#mail_form input[type="text"]:focus,
form#mail_form input[type="email"]:focus,
form#mail_form input[type="tel"]:focus,
form#mail_form textarea:focus{
	box-shadow : 0px 0px 5px #55ccff;
	border : 1px solid #55ccff;
	background : #ffffff;
}

form#mail_form ul li input[type="radio"],
form#mail_form ul li input[type="checkbox"]{
	margin-right : 10px;
	margin-top : 7px;
}

form#mail_form ul li:first-child input[type="radio"],
form#mail_form ul li:first-child input[type="checkbox"]{
	margin-top : 0px;
}

form#mail_form select{
	font-size : 100%;
	font-family : inherit;
	margin-top : 10px;
}

form#mail_form textarea{
	display : block;
	width : 90%;
	max-width : 90%;
	height : 200px;
	padding : 2px 2%;
	resize : vertical;
	border : 1px solid #cccccc;
	border-radius : 3px;
	background : #fafafa;
	-webkit-appearance : none;
	font-size : 100%;
	font-family : inherit;
}


form#mail_form ul{
	list-style-type : none;
}

form#mail_form ul li label:hover{
	cursor : pointer;
}


form#mail_form input#company{
	width : 60%;
}


form#mail_form input#mail_address,
form#mail_form input#mail_address_confirm{
	width : 80%;
}

form#mail_form input#postal+a{
	display : inline-block;
	padding : 9px 15px;
	vertical-align : middle;
	line-height : 1;
	background : #5bc0de;
	border : 1px solid #46b8da;
	border-radius : 3px;
	color : #ffffff;
	font-family : inherit;
	text-decoration : none;
	position : relative;
	top : -1px;
}

form#mail_form input#postal+a:hover{
	cursor : pointer;
	background : #31b0d5;
	border : 1px solid #269abc;
}

form#mail_form input#address{
	width : 98%;
}


form#mail_form p#form_submit{
	width : 99%;
	margin : 0 auto;
	padding : 15px 0;
	/*border-top : 1px solid #cccccc;*/
}


form#mail_form input[type="button"] {
    width: 180px;
    padding: 15px 40px;
    margin: 40px;
    font-size: 1.2em;
    background-color: #3abbcc;
    color: #fff;
    border-style: none;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    transition: .2s;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}



#form_submit_button:disabled {
    cursor: default;
	background-color: #ddd!important;
}


form#mail_form input[type="button"]:hover{
	cursor : pointer;
	background : #3abbcc;
    border-style: none;
}

/*form#mail_form input#form_submit_button{
	margin-left : 35%;
}*/



.Button #form_submit_button {
    width: 90%;
    max-width: 300px;
    overflow: hidden;
    margin: 40px auto 0px;
    padding: 0px;

    display: block;
    position: relative;
    z-index: 100;
    text-align: center;
    background-color: rgb(0, 104, 175);
    color: rgb(255, 255, 255);
    text-decoration: none;
    padding: 14px 0px;
    border-radius: 50px;
    transition: background-color 0.3s, transform 0.3s;
}
.Button form::before {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 25px;
    width: 0px;
    height: 0px;
    margin-top: -8px;
    border-width: 8px;
    border-style: solid;
    border-color: transparent transparent transparent rgb(255, 255, 255);
    border-image: initial;
    border-left: 8px solid rgb(255, 255, 255);
    transition: border-left-color 0.3s, transform 0.3s;
}

form#mail_form input[type="submit"] {
    width: 180px;
    padding: 15px 40px;
    margin: 40px;
    font-size: 1.2em;
    background-color: #013d82;
    color: #fff;
    border-style: none;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    transition: .2s;
}

#contact-privacy {
    border: 2px solid #ccc;
    background-color: #fff;
    /* font-size: 12px; */
    height: 400px;
    margin: 10px 0;
    overflow: auto;
    padding: 8px;
}


/* --responsive----------------------------------------------------------------------------------------------------------------- */

/* 768pixel start */
@media (max-width: 768px) {

	form#mail_form{
		width : 100%;
	}

	form#mail_form dl{
		overflow : visible;
	}

	form#mail_form dl dt{
		width: 100%;
		text-align: left;
		padding: 10px;
		font-weight: bold;
		display: block;
	}

	form#mail_form dl dd{
		width: 100%;
		float: none;
		border-top: none;
		padding: 20px 0 20px 0px;
	}

	form#mail_form dl dt span{
		font-weight : normal;
	}
	form#mail_form dl dd ul li {
		margin-bottom: .75em;
	}
	.checkbox:before {
		top: 22px;
		left: 10px;
	}
	.checkbox:after {
		top: 18px;
		width: 28px;
		height: 28px;
	}

	/* -- for JavaScript ここから -------------------------------------------------------------------------------- */

	form#mail_form dl dt span.required,
	form#mail_form dl dt span.optional{
		margin-right: 1em;
		margin-bottom: 2em;
		top: 9px;
	}


	/* -- for JavaScript ここまで -------------------------------------------------------------------------------- */

	form#mail_form input[type="text"],
	form#mail_form input[type="email"],
	form#mail_form input[type="tel"]{
		margin-top : 0px;
	}



	form#mail_form select{
		margin-top : 0;
	}

	form#mail_form input#phone,
	form#mail_form input#schedule{
		width : 50%;
	}


	form#mail_form .HalfBox33 {
		width: 100%;
	}

}
/* 768pixel end */

.err_area {
    background-color: #ffe6e6;
    border: 1px solid #ff8080;
    padding: 10px 15px;
    margin: 0 auto 40px;
}
.err_area p {
    color: #f00;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 5px;
}
.err_area ul {
    list-style: outside none none;
    margin-bottom: 10px;
    margin-left: 1.5em;
}
.err_area li {
    line-height: 1.3;
    list-style: outside none disc;
}