@charset "UTF-8";
/* CSS Document */

main{}

/*コンテンツ枠*/
#conts{
  text-align: center;
  margin: 0 auto;
}
#conts-inner{
  margin: 0 3.9063%;
  /*max-width: 120rem;*/
}
/*メイン画像なしの場合*/
.no-mainvisual{
  margin: 0 auto;
  padding: 2.1186% 0 0 0;
  max-width: 120rem;
  text-align: justify;
}

/*リード文*/
p.inq-lead{
  line-height: 1.5;
}

/*-----------ステップバー-----------*/
.progressbar {
  text-align: center;
    position: relative;
    margin: 0 auto;
    padding: 0 18.2203%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.progressbar li {
  position: relative;
  list-style-type: none;
  text-align: center;
  text-transform: uppercase;
  width: 33.333%;
  color: #CCCCCC;
  font-size: 1.5rem;
  line-height: 1;
}
.progressbar li:before {
  display: block;
  width: 2rem;
  height: 2rem;
  margin: 0.7rem auto 1rem;
  content: '';
  text-align: center;
  border-radius: 50%;
  background-color: #CCCCCC;
}
.progressbar li:after {
    position: absolute;
    z-index: -1;
    top: 1.5rem;
    left: -50%;
    width: 100%;
    height: 0.1rem;
    content: '';
    background-color: #CCCCCC;
}
.progressbar li:first-child:after {
    content: none;
}
.progressbar li.active,
.progressbar li.complete{
    color: #1D50A2;
}
.progressbar li.active:before,
.progressbar li.complete:before {
    background-color: #1D50A2;
}
.progressbar li.active:after,
.progressbar li.complete:after {
    background-color: #1D50A2;
}
/* 装飾 */
ul.progressbar{
  margin: 12.5rem 0 7.5rem !important;
}

/*-----------フォーム-----------*/
.form-table{
}
  .form-table dl{
    font-size: 1.7rem;
    border-bottom: #B3B3B3 1px solid;
    padding: 3.5rem 0;
    margin: 0;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
  }
  .form-table dl:first-child{
    border-top: #B3B3B3 1px solid;
  }
    .form-table dl dt{
      display: flex;
      width: 30%;
      line-height: 2.6rem;
    }
    .form-table dl dd{
      flex: 1;
      margin: 0;
    }

 
/*必須*/
span.req{
  width: 5rem;
  height: 2.6rem;
  margin: 0 0 0 1rem;
  text-align: center;
  font-size: 1.4rem;
  align-items: center;
  border-radius:5px;
  color: #FFFFFF;
  background-color: #FF005C;
}
/*任意*/
span.any{
  width: 5rem;
  height: 2.6rem;
  margin: 0 0 0 1rem;
  text-align: center;
  font-size: 1.4rem;
  align-items: center;
  border-radius:5px;
  color: #FFFFFF;
  background-color: #CCCCCC;
}


/*-----チェックボックス-----*/
.checkbox01-input{
  /*display: none;*/
	opacity: 0;
  margin-left: -1.6rem;
}
.checkbox01-parts{
  padding: 0 0 0 3rem;
  position:relative;
}
.checkbox01-parts::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 2.4rem;
  height: 2.4rem;
	background: #F0F0F0;
  border-radius:5px;
}
.checkbox01-input:checked + .checkbox01-parts{
  color: #1D50A2;
}
.checkbox01-input:checked + .checkbox01-parts::after{
  content: "";
  display: block;
  position: absolute;
  top: 0px;
  left: 0.8rem;
  width: 0.7rem;
  height: 1.4rem;
  transform: rotate(40deg);
  border-bottom: 3px solid #1D50A2;
  border-right: 3px solid #1D50A2;
}

/*-----テキスト入力エリア-----*/
input.hoge,
input.address{
	width: 94.2363%;
	height: 6.4rem;
	padding: 0 2.88185% 0 2.88185%;
	background: #F0F0F0;
	border: none;
  border-radius:5px;
}
input.free,
textarea.free{
	width: 94.2363%;
	height: 26rem;
  vertical-align: top;
	padding: 2.88185%;
	background: #F0F0F0;
	border: none;
	vertical-align:top ;
	resize: none;
  border-radius:5px;
  font-size: 1.7rem;
}
/*-----住所-----*/
dl.address{
  border: none;
  padding: 0 0 2rem;
}
dl.address:first-child{
  border: none;
}
dl.address:last-child{
  padding: 0;
}
  dl.address dt{
    width: 15.8501%;  
  }
/*都道府県*/
.select_wrap {
	position: relative;
	display: inline-block;
}
select{
    /* position:  relative; */
    outline:none;
    -moz-appearance: none;
    text-indent: 0.01px;
    text-overflow: '';
    background: none transparent;
    vertical-align: middle;
    font-size: inherit;
    color: inherit;
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 13em;
    height: 6.4rem;
    padding: 0 2rem;
    border:none;
	  background-color: #F0F0F0;
  	background-image: url(../img/arrow.svg);
  	background-size: 19px;
  	background-repeat: no-repeat;
  	background-position: right 16px center;
    border-radius:5px;
}
select option{
  background-color: #fff;
  color: #333;
}
select::-ms-expand {
  display: none;
}
select:-moz-focusring { 
  color: transparent; 
  text-shadow: 0 0 0 #828c9a;
}
.select-wrap.select-primary:before{
  color:#fff;
}
.select-wrap.select-primary > select{
  background:#EAEFF9;
  color:#fff;
  border-color:#EAEFF9;
}
.select-wrap.select-primary > select:-moz-focusring { 
  color: transparent; 
  text-shadow: 0 0 0 #fff;
}

.select-wrap.select-inverse:before{
  color:#fff;
}
.select-wrap.select-inverse > select{
  color:#fff;
  border-color: #fff;
}

.select-wrap.select-inverse > select:-moz-focusring { 
  color: transparent; 
  text-shadow: 0 0 0 #fff;
}
/*-----テキスト入力エリア内テキスト-----*/
input[type="text"] {
  font-size: 1.7rem;
}
/* Firefox */
::-moz-placeholder {
  color: #D3DEF1;
}
/* IE */
input:-ms-input-placeholder {
  color: #D3DEF1;
}
/*プレースホルダー*/
/* 標準版(http://caniuse.com/#search=placeholder-shown) */
:placeholder-shown {
    color: #A6A6A6; }

/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {
    color: #A6A6A6; }

/* Firefox 18- */
:-moz-placeholder {
    color: #A6A6A6; opacity: 1; }

/* Firefox 19+ */
::-moz-placeholder {
    color: #A6A6A6; opacity: 1; }

/* IE 10+ */
:-ms-input-placeholder {
    color: #A6A6A6; }

/*-----------プライバシーポリシー同意ー-----------*/
.pp_wrap{
  text-align: center;
  margin: 75px 0 55px;
}
.pp_wrap a{
  color: #1D50A2;
}
/*-----------送信ボタン-----------*/
.submit-wrapp {
  text-align: center;
  margin: 0 auto;
  width: 30.7rem;
  height: 7rem;
  position: relative;
}

input#submit_btn {
  width: 30.7rem;
  height: 7rem;
  background: #1D50A2;
  border: none;
  color: #fff;
  font-size: 1.7rem;
  cursor: pointer;
  border-radius: 3.5rem;
  margin: 0 auto;
}

input#submit_btn[disabled] {
  background-color: #ccc;
  cursor: not-allowed;
}

.submit-wrapp::before {
  background: #FFFFFF;
  position: absolute;
  top: 50%;
  right: 2.5rem;
  width: 15px;
  height: 2px;
  margin-top: 0px;
  content: "";
}

.submit-wrapp::after {
  position: absolute;
  top: 50%;
  right: 2.5rem;
  width: 12px;
  height: 12px;
  margin-top: -6px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  border-top: 2px solid #FFFFFF;
  border-right: 2px solid #FFFFFF;
  content: "";
  display: inline-block;
  vertical-align: middle;
}


/*エラー*/
#error{
	display: none;
	font-size: 1.7rem;
	color: #FF005C;
	margin-bottom: 1.5em;
}
.with-errors{
	display: none;
	font-size: 1.5rem;
	color: #FF005C;
	margin-left: 3em;
	opacity: 0;
}

/*-----------完了画面-----------*/
.completed-wrap{
  width: 70rem;
  margin: 25rem auto;
}
.completed-wrap p{
  display: inline-block;
  padding: 0 0 2rem;
}



@media screen and (max-width: 768px){
  #conts-inner{
    font-size: 1.4rem;
    padding: 0 2.4rem;
  }
  /*-----------ステップバー-----------*/
  .progressbar {
    padding: 0;
  }
  .progressbar li {
    font-size: 1.2rem;
  }
  .progressbar li:before {
    width: 1.5rem;
    height: 1.5rem;
  }
  /* 装飾 */
  ul{
    margin: 11.0041% 0 5.5021% !important;
  }
/*-----------フォーム-----------*/
 .form-table dl{
    font-size: 1.4rem;
    padding: 3rem 0;
    margin: 0;
    display: block;
    align-items: baseline;
    justify-content: space-between;
  }
    .form-table dl dt{
      display: block;
      width: 100%;
      line-height: 2.6rem;
      margin: 0 0 0.8rem 0;
    }
  /*必須*/
  span.req{
    width: 4rem;
    height: 1.8rem;
    line-height: 1.8rem;
    margin: 0 0 0.1rem 1rem;
    text-align: center;
    font-size: 1.1rem;
    display: inline-block;
    vertical-align: middle;
  }
  /*任意*/
  span.any{
    width: 4rem;
    height: 1.8rem;
    line-height: 1.8rem;
    margin: 0 0 0.1rem 1rem;
    text-align: center;
    font-size: 1.1rem;
    display: inline-block;
  }
  /*-----チェックボックス-----*/
  .checkbox01-parts::before{
    width: 2rem;
    height: 2rem;
    }
  /*-----テキスト入力エリア-----*/
  input.hoge,
  input.address{
  	height: 5.4rem;
  }
  input.free,
  textarea.free{
  	height: 40rem;
  	padding: 2.88185%;
  	vertical-align:top ;
  	resize: none;
    font-size: 1.4rem;
  }
  /*-----テキスト入力エリア内テキスト-----*/
  input[type="text"] {
    font-size: 1.4rem;
  }
  /*-----住所-----*/
  dl.address{
    border: none;
    padding: 0 0 2rem;
  }
  dl.address:last-child{
    padding: 0;
  }
  select{
    height: 5.4rem;
  }
  /*-----------送信ボタン-----------*/
.button a {
  width: 27.2rem;
}
  /*エラー*/
#error{
	font-size: 1.4rem;
}
.with-errors{
	font-size: 1.3rem;
}
  
/*-----------完了画面-----------*/
.completed-wrap{
  width: 100%;
  margin: 10rem auto;
}
.completed-wrap p{
  display: inline-block;
  padding: 0 0 2rem;
}
}






































