@charset "UTF-8";

/* ======================================================

  mailform

========================================================= */
.contact_form_blc .txt p {
  line-height: 1.5em;
  font-size: 16px;
}

.contact_form_blc .txt p:not(:nth-child(1)) {
  margin-top: 1em;
}

.contact_form_blc .txt .strong {
  font-weight: bold;
}

.contact_form_blc .site_top a {
  display: block;
  width: 250px;
  height: 60px;
  margin: 1em auto;
  border-width: 0;
  border-style: none;
  background: url(../images/top_button.jpg);
  background-size: 500px 60px;
  text-align: center;
  text-indent: -9999px;
}

.contact_form_blc .button {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  width: 100%;
  margin-top: auto;
  text-align: center;
}

/* 確認ボタン */
.contact_form_blc .submit_confirm_button {
	width:250px;
	height:60px;
	border-width:0;
	border-style:none;
	background:url(../images/submit_button.jpg);
	background-size: 500px 60px; 
  font-size: 0;
}
.contact_form_blc .submit_confirm_button:hover {
	background-position: right bottom;
}

/*送信ボタン*/
.contact_form_blc .submit_send_button {
	width:250px;
	height:60px;
	border-width:0;
	border-style:none;
	background:url(../images/send_button.jpg);
	background-size: 500px 60px; 
  font-size: 0;
}
.contact_form_blc .submit_send_button:hover {
	background-position: right bottom;
}

/*戻るボタン*/
.contact_form_blc .submit_cancel_button {
	width:250px;
	height:60px;
	border-width:0;
	border-style:none;
	background:url(../images/back_button.jpg);
	background-size: 500px 60px; 
  font-size: 0;
}
.contact_form_blc .submit_cancel_button:hover {
	background-position: right bottom;
}

/* mailform */
.mailform {
  width: 100%;
  border-right: #ccc solid 1px;
  border-top: #ccc solid 1px;
  margin-bottom: 30px;
}
.mailform tr th,
.mailform tr td {
  padding: 10px 15px;
  border-left: #ccc solid 1px;
  border-bottom: #ccc solid 1px;
}
.mailform tr tr,.mailform tr th,
.mailform tr td {
  display: block;
  box-sizing: border-box;
}
.mailform tr th {
  color: #024da0;
  font-weight: 500;
  background: #f7f7f7;
}
.mailform tr td ul li,
.mailform tr td ul,
.mailform tr td ol,
.mailform tr td ol li {
	margin: 0px;
	padding: 0px;
	list-style: none;
	font-size: 16px;
}

.mailform tr th .req {
  float: right;
  background: #ED6862;
  border-radius: 2px;
  color: #fff;
  font-size: 12px;
  line-height: 1;
  padding: 2px 4px;
}

.mailform tr td .info {
  color: #009900;
}

.mailform input::placeholder {
  color: #999999;
}
.mailform input[type="text"],
.mailform input[type="tel"],
.mailform input[type="email"],
.mailform input[type="date"],
.mailform textarea,
.mailform select {
  font-size: 16px;
  height: calc(40px - 8px);
  padding: 2px;
  margin: 0;
}

.mailform .size_2 {
  max-width: calc(100px - 8px);
  width: 100%;
}

.mailform .size_3 {
  max-width: calc(150px - 8px);
  width: 100%;
}

.mailform .size_5 {
  max-width: calc(250px - 8px);
  width: 100%;
}

.mailform select {
  height: 40px;
}

.mailform textarea {
  max-width: calc(500px - 8px);
  width: 100%;
  height: 150px;
}

.mailform .wpcf7-checkbox .wpcf7-list-item {
  margin: 0;
}

.mailform .wpcf7-checkbox label {
  border: dashed 1px #CCCCCC;
  clear: both;
  display: block;
  margin: 1px;
  padding: 5px;
  border-radius: 3px;
  width: auto;
  height: auto;
  text-indent: 5px;
}

/* error style */
.wpcf7 form .wpcf7-response-output {
  font-size: 16px;
}

.wpcf7-form.invalid .mailform tr td {
  background-color: #FFEEEE;
}

.wpcf7-form.invalid .wpcf7-not-valid-tip {
  display: block;
  padding: 2px 0px 5px 17px;
  color: #FF0000;
  background-image: url(../images/mfp_error.gif);
  background-repeat: no-repeat;
  background-position: left center;
  font-size: 12px;
}

.wpcf7-spinner {
  display: none!important;
}

@media screen and (min-width: 1025px) {
  .mailform tr th,.mailform tr td {
    padding: 15px 20px;
  }
  .mailform tr tr {
    display: table-row;
  }
  .mailform tr th {
    width: 30%;
  }
  .mailform tr th,.mailform tr td {
    display: table-cell;
  }
}