@charset "utf-8";


form#mail_form * {
	/* margin: 0;
  padding: 0; */
  /* box-sizing: content-box; */
}

form#mail_form {
	/*width: 960px;*/
	margin: 0 auto;
	height: 100%;
  /*background: #fff8ec;*/
	/*border: 1px solid #cccccc;*/
	/*border-radius: 7px;*/
	/*box-shadow: 0 0 7px rgba( 0, 0, 0, 0.2 );*/
	/*font-size: 95%;*/
	border-radius: clamp(0.938rem, 0.586rem + 1.43vw, 1.875rem);
	line-height: 1.8;
}

form#mail_form dl {
	width: 90%;
	margin: 0 auto;
	overflow: hidden;
}

form#mail_form dl dt {
	clear: both;
	width: 35%;
	float: left;
	border-top: 1px solid #cccccc;
	/*padding: 15px 0;*/
  padding: 25px 0 0;
	text-align: right;
	overflow: hidden;
}
  
form#mail_form dl dd {
	width: 65%;
	float: right;
	border-top: 1px solid #cccccc;
	padding: 15px 0 15px 5%;
}

form#mail_form dl dt:first-child,
form#mail_form dl dt:first-child + dd {
	border: none;
}

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

form#mail_form dl dt span { 
  display: none;
}


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

form#mail_form dl dt span.required,
form#mail_form dl dt span.optional {
	/*display: inline-block;
	float: left;
	color: #ffffff;*/
	/*padding: 4px 10px;*/
  /*padding: 4px 8px;
	border-radius: 3px;*/
}

form#mail_form dl dt span.required {
	/*background: #d9534f;
	border: 1px solid #d43f3a;*/
}

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

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: -30px;
	margin-left: -30px;
}

@-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%; */
	padding: 7px 2%;
	border: 1px solid #cccccc;
	border-radius: 3px;
	background: #fafafa;
	-webkit-appearance: none;
	font-size: 100%;
	/*font-family: inherit;*/
	/* margin-top: 7px; */
}

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: 10px;*/
  margin-top: -2px;
}

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

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: 7px 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#name_1,
form#mail_form input#name_2,
form#mail_form input#read_1,
form#mail_form input#read_2,
form#mail_form input#postal,
form#mail_form input#phone,
form#mail_form input#schedule {
	/* width: 30%; */
}

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

form#mail_form input#postal + a {
	display: inline-block;
	padding: 5px 15px;
	border: 1px solid #46b8da;
	border-radius: 3px;
	background: #5bc0de;
	font-size: 100%;
	color: #ffffff;
	text-decoration: none;
  font-size: .8em;
}

form#mail_form input#postal + a::after {
  content: "";
  display: inline-block;
  background: url(../../../img/new-window.svg);
  width: 12px;
  height: 12px;
  background-size: contain;
  vertical-align: middle;
  margin: -3px 0 0 3px;
}

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

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


/* -- button -------------------------------------------------------------------------------- */

form#mail_form p#form_submit {
  width: 90%;
  margin: 0 auto;
  padding: 30px 0;

  display: flex;
  justify-content: center;
}

form#mail_form input[type="button"] {
  padding: 15px 20px;
  /* border: 1px solid #4cae4c; */
  /* border-radius: 3px; */
  /* background: #5cb85c; */
  /* font-size: 16px; */
  border-radius: 50px;
  width: 60%;
  height: 100%;
  background: #cd0023;
  text-align: center;
  font-size: clamp(1.25rem, 0.625rem + 1.04vw, 1.563rem);
  /* 25px */
  color: #ffffff;
  font-family: inherit;
  -webkit-appearance: none;
  transition: 0.5s;
}

form#mail_form input[type="button"]:hover {
  cursor: pointer;
  opacity: 0.7;
  transition: 0.5s;
  /* background: #449d44;
	border: 1px solid #398439; */
}

/* form#mail_form input[type="button"] {
	margin-left: 35%;
} */

form#mail_form .hkm-response-button {
  margin: 0 auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 4% 0;
}

#agree_check {
  margin: 0 auto;
  text-align: center;
}

dt.required::before {
  content: "*";
  margin: 0 5px 0 0;
  font-size: .6em;
  color: #ff0000;
  vertical-align: top;
}

p.form-caution {
  margin: 0 auto;
  padding: 30px 0 15px;
	width: 90%
}

p.form-caution span {
  margin: 0 2px 0 0;
  color: #ff0000;
  vertical-align: top;
}


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

/* 1000pixel start */
@media screen and (max-width: 1000px) {

form#mail_form {
	/*width: 95%;*/
	font-size: 100%;
}

form#mail_form dl {
	overflow: visible;
}

form#mail_form dl dt {
	width: auto;
	float: none;
	text-align: left;
	padding: 15px 0 5px;
	font-weight: bold;
}

form#mail_form dl dt:first-child {
	padding-top: 0;
}

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

form#mail_form dl dt span {
	font-weight: normal;
}

  form#mail_form input#name_1,
  form#mail_form input#name_2,
  form#mail_form input#read_1,
  form#mail_form input#read_2,
  form#mail_form input#postal,
  form#mail_form input#phone,
  form#mail_form input#schedule {
    width: 49%;
  }

	form#mail_form textarea {
		width: 100%;
		max-width: 100%;
	}


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

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

form#mail_form input#postal + a {
  padding: 6px 8px 5px;
}

form#mail_form input#form_submit_button {
  /*margin-left: calc(50% - 100px);
  width: 200px;*/
  /* margin-left: calc(50% - 140px); */
	margin: 0 auto;
  max-width: 280px;
}

form#mail_form select {
	font-size: 16px;
	margin-top: 0;
}

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

}
/* 1000pixel end */


.form_privacy-link {
  text-align: center;
}

.form_privacy-link a {
  color: #000;
  text-decoration: underline;
}

::placeholder {
  font-size: .9em;
}

.maintenance-contents .maintenance-form-img {
  max-width: 700px;
  text-align: center;
  margin: 10px auto!important;
}/* 20200316追加 */
.maintenance-contents .maintenance-form-img img {
  width: 100%;
}/* 20200316追加 */

@media screen and (min-width: 1001px) {
  .form-sn {
    display: none;
  }
  .maintenance-contents form#mail_form dl dt:nth-child(2) {
    padding-top: 15px;
  }
  .maintenance-contents p br {
    display: contents;
  }
}

@media screen and (max-width: 1000px) {
  .form-dn {
    display: none;
  }
  .maintenance-contents form#mail_form ul li input[type="radio"],
  .maintenance-contents form#mail_form ul li input[type="checkbox"] {
    margin-top: -3px;
  }
}

@media screen and (max-width: 414px) {
  .maintenance-contents p {
    font-size: .9em
  }
  form#mail_form input#form_submit_button {
    /*margin-left: calc(50% - 100px);
    width: 200px;*/
    margin-left: auto;
		margin-right: auto;
    max-width: 260px;
  }

	div#agreement {
		width: 70%!important;
	}
}

.maintenance-contents form#mail_form dl dt:nth-child(2),
.maintenance-contents form#mail_form dl dt:nth-child(2) + dd {
  border: none;
}

/* -- original -------------------------------------------------------------------------------- */

.hakajimaiForm {
  font-size: clamp(1rem, 0.953rem + 0.19vw, 1.125rem);
  padding: 20px 0 0;
}

@media screen and (max-width: 568px) {
	form#mail_form input[type="file"] {
		width: 100%!important;
		max-width: 100%!important;
	}
}