/* パンくず */
.bread_list{
  padding: 0 10px;
}
.bread_list .bread_item{
  position: relative;
  display: inline-block;
  font-size: 13px;
  color: #2b2b2b;
  letter-spacing: 0.05em;
  line-height: 20px;
}
.bread_list .bread_item:nth-child(n + 2){
  margin-left: 18px;
}
.bread_list .bread_item:nth-child(n + 2):before{
  content: ">";
  position: absolute;
  top: 0;
  left: -17px;
  color: #2b2b2b;
  font-size: 13px;
}

/* 見出し */
.contact_heading{
  margin: 40px 0 20px;
  color: #005bab;
  font-size: 2.25rem;
  font-weight: bold;
  text-align: center;
}

/* エラーメッセージ */
.error-list {
  margin: 20px 0;
  padding: 15px 15px 15px 30px;
  border: 1px solid transparent;
  border-radius: 4px;
  background-color: #f2dede;
  color: #a94442;
  font-size: 14px;
}
.error-list li {
  margin-bottom: 3px;
  list-style-type: disc;
}
.error-list li:last-child {
  margin-bottom: 0;
}
/* 一文だけの場合 */
.error.alert-danger{
  position: absolute;
  top: -4px;
  right: 0;
  margin-bottom: 20px;
  padding: 5px 10px;
  border: 1px solid transparent;
  border-radius: 4px;
  font-size: 14px;
}

.required,
.optional{
  display: inline-block;
  margin-right: 5px;
  padding: 4px 6px 6px;
  color: #fff;
  font-size: .75rem;
  line-height: 1;
  vertical-align: middle;
}
.required{
  background: #ca3131;
}
.optional{
  background: #005bab;
}


/* テーブル設定 */
.formBlock{
  padding: 0 10px;
}
.formBlock .innerBox{
  max-width: 1000px;
}
.formBlock table{
  width: 100%;
  margin: 45px auto;
  border-collapse: collapse;
  table-layout: fixed;
}
.formBlock table th,
.formBlock table td{
  padding: 14px 2%;
  border: solid 1px #bbbbbb;
}
.formBlock table th{
  width: 25.75%;
  background-color: #efefef;
  color: #000000;
  font-size: 16px;
  font-weight: normal;
  text-align: left;
}
.formBlock table td{
  width: 74.25%;
  text-align: left;
}
.formBlock table .txt_desc{
  display: block;
  margin: 2px 0 0 41px;
  font-size: 12px;
}
.formBlock td input[type=text],
.formBlock td input[type=email],
.formBlock td input[type=tel],
.formBlock td textarea{
  width: 100%;
  padding: 5px 10px;
  border: 1px solid #ccc;
  font-size: 16px;
  line-height: 1.5;
}

.formBlock td .input-col2{
  display: flex;
}
.formBlock td .input-col2 input{
  width: calc(50% - 5px);
}
.formBlock td .input-col2 input + input{
  margin-left: 10px;
}

/* 個人情報 */
.agree_area{
  text-align: center; 
}
.checkbox-input{
  display: inline-block;
  margin: 0 5px 0 0;
  opacity: 0;
}
.check_text{
  position: relative;
  font-size: 18px;
}
.check_text:before{
  content: "";
  position: absolute;
  width: 26px;
  height: 26px;
  border: solid 1px #c4c4c4;
  left: -36px;
  top: 0;
}
.agree_area input[type="checkbox"]:checked + .check_text::after{
  content: "";
  position: absolute;
  border-left: 2px solid #ff0000;
  border-bottom: 2px solid #ff0000;
  width: 12px;
  height: 7px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  left: -29px;
  top: calc(50% - 7px);
}
.agree_area label{
  margin: 20px 0 0;
  display: inline-block;
}

.btn_wrap{
  margin: 45px 0 70px;
}
.btn{
  display: block;
  width: 90%;
  max-width: 500px;
  margin: 0 auto;
  padding: 10px 0;
  border: none;
  border-radius: 32px;
  color: #fff;
  font-size: 22px;
  line-height: 40px;
  text-align: center;
}
.btn:hover{
  opacity: .7;
  cursor: pointer;
  transition: all 0.3s;
}
.btn + .btn{
  margin-top: 20px;
}
.btn-submit{
  background-color: #ff9727;
}
.btn-return{
  background-color: #bbb
}

@media (max-width: 1160px) {
	.formBlock .innerBox{
		padding: 0;
	}
}
@media (max-width: 667px) {
  .formBlock table th,
  .formBlock table td{
    display: block;
    width: 100%;
  }
  .formBlock table th,
  .formBlock table td{
    padding: 2%;
  }
}

.formBlock-finish{
  text-align: center;
}
.finish_text + .finish_text{
  margin-top: 30px;
}
.finish_text:last-of-type{
  margin-bottom: 70px;
}