@charset "UTF-8";
header {
  height: 250px;
  position: relative;
  margin-bottom: 20px;
}
#maintitle {
  text-align: center;
  width: 100%;
  min-width: 320px;
  height: 250px;
  background: url(../img/contact_img/bg_maintitle.jpg) no-repeat center bottom;
  background-size: auto 250px;
  position: absolute;
  z-index: 0;
  top: 0;
  margin: 0;
}
#maintitle h2 {
  margin-top: 105px;
}
/*----------------------------------form*/
table#contact {
  width: 100%;
  margin: 20px 0;
  border: 1px solid #999;
  border-collapse: separate;
}
table#contact tr th {
  display: block;
  font-weight: 700;
  color: #000;
  padding: 10px;
  border-bottom: 1px solid #999;
  background: #e2eaff;
  line-height: 150%;
  text-align: left;
}
table#contact tr td {
  display: block;
  color: #000;
  padding: 10px;
  border-bottom: 1px solid #999;
  text-align: left;
}
table#contact tr:last-of-type td {
  border-bottom: 0;
}
table#contact tr td.td_child {
  border-right: 1px dotted #999;
  border-bottom: 1px solid #999;
}
table#contact p {
  margin-bottom: 5px;
}
label {}
table#contact tr th span.form_title {
  display: block;
  overflow: hidden;
}
/*必須アイコン*/
table#contact tr th span.txt_required {
  float: left;
  font-size: 11px;
  font-weight: normal;
  text-align: center;
  border-radius: 2px;
  color: #fff;
  background: #cc1414;
  padding: 6px 0;
  margin-right: 10px;
  line-height: 70%;
  width: 40px;
  display: block;
}
/*任意アイコン*/
table#contact tr th span.txt_optional {
  float: left;
  font-size: 11px;
  text-align: center;
  font-weight: normal;
  border-radius: 2px;
  color: #fff;
  background: #666;
  padding: 6px 0;
  margin-right: 10px;
  line-height: 70%;
  width: 40px;
  display: block;
}
/*入力エリア装飾*/
input, select, textarea {
  color: #000;
  padding: 10px;
  background: #f1f5ff;
  border: 1px solid #f1f5ff;
  font-size: 14px;
}
input:focus, select:focus, textarea:focus {
  background: #E2EBF4;
  border: 1px solid #E2EBF4;
}
/*入力エリアサイズ*/
.input_10 {
  width: 10%;
}
.input_30 {
  width: 30%;
}
.input_50 {
  width: 50%;
}
.input_70 {
  width: 70%;
}
.input_100 {
  width: 90%;
}
/*入力例の文字装飾*/ ::-webkit-input-placeholder {
  color: #666;
}
::-moz-placeholder {
  color: #666;
}
:-ms-input-placeholder {
  color: #666;
}
input:focus::-webkit-input-placeholder {
  color: transparent;
}
input:focus:-moz-placeholder {
  color: transparent;
}
input:focus::-moz-placeholder {
  color: transparent;
}
textarea:focus::-webkit-input-placeholder {
  color: transparent;
}
textarea:focus:-moz-placeholder {
  color: transparent;
}
textarea:focus::-moz-placeholder {
  color: transparent;
}
/*ラジオボタン余白調整*/
input[type=radio] {
  margin-right: 5px;
  margin-bottom: 7px;
}
/*チェックボックス余白調整*/
input[type=checkbox] {
  margin-right: 5px;
  margin-left: 15px;
}
/*送信・戻るボタン*/
ul.submit_btn {
  font-size: 0;
  text-align: center;
  margin-bottom: 20px;
}
ul.submit_btn li {
  display: inline-block;
  cursor: pointer
}
ul.submit_btn li.inp_submit01 input {
  color: #fff;
  background: #11338a;
  border: none;
  border-radius: 4px;
  padding: 10px 15px;
  margin: 0 5px;
  cursor: pointer;
}
ul.submit_btn li.inp_submit02 input {
  color: #fff;
  background: #999;
  border: none;
  border-radius: 4px;
  padding: 10px 15px;
  margin: 0 5px;
  cursor: pointer;
}
ul.submit_btn li:hover {
  opacity: 0.7;
}
/*送信完了画面用*/
#thanks {
  margin: 20px 0;
}
#thanks h5 {
  margin: 0 0 15px;
  font-size: 16px;
  font-weight: bold;
}
section.box {
  margin-bottom: 40px;
}
/*----------------------------------エラーメッセージ用*/
.errtop {
  position: relative;
  margin-top: 20px;
  padding:10px;
  text-align: center;
  font-weight: bold;
  color:#c33;
  background: #fcc;
}
.errtop::after {
  position: absolute;
  left:50%;
  bottom:-30px;
  width: 0;
  height: 0;
  margin-left:-15px;
  content: "";
  border:solid 15px transparent;
  border-top:solid 15px #fcc; 
}
.errmsg span {
  position: relative;
  display: inline-block;
  margin-top:10px;
  padding:5px 10px;
  font-weight: bold;
  color:#c33;
  background: #fcc;
}
.errmsg span::after {
  position: absolute;
  left:30px;
  top:-20px;
  width: 0;
  height: 0;
  content: "";
  border:solid 10px transparent;
  border-bottom:solid 10px #fcc; 
}