@charset "utf-8";

/*----------------------------------------------------
	RESET
----------------------------------------------------*/

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

/* form style */

dl dd input , 
dl dd textarea , 
dl dd select , 
dl dd label {
 /* border: 1px #d1cdcd solid;*/
  padding: 3px 0;
  border: none;
  font-size: 14px;
}

dl dd input , 

dl dd textarea , 
dl dd select {
  border: 1px #d1cdcd solid;
}

input[type="checkbox"] {
    position: relative;
    z-index: 2;
}
input[type="checkbox"]:checked + label {
   /* background: #ff0000;*/
    border: none;
}

input::-webkit-input-placeholder {
  font-family:'Noto Sans JP', "游ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "游ゴシック", YuGothic, sans-serif;
}
input:-moz-placeholder {
  font-family:'Noto Sans JP', "游ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "游ゴシック", YuGothic, sans-serif;
}
input::-moz-placeholder {
  font-family:'Noto Sans JP', "游ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "游ゴシック", YuGothic, sans-serif;
}
input:-ms-input-placeholder {
  font-family:'Noto Sans JP', "游ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "游ゴシック", YuGothic, sans-serif;
}

/*============================
form
============================*/

div.contents_container.contact {
  position: relative;
}

div.contents_container.contact div.inner {
  width: 960px;
  margin: 0 auto;
  padding: 100px 0 150px 0;
  position: relative;
}


div.contents_container.contact div.inner h2 {
  width: auto;
  padding: 0 0 50px 0;
  text-align: center;
}

div.contents_container.contact div.inner h2 span {
  width: auto;
  display: inline-block;
  padding: 0 0 15px 0;
  font-size: 30px;
  font-weight: bold;
  letter-spacing: 0.05em;
  border-bottom: 2px #555555 dashed;
}




/*========================
step_container
========================*/

div.contents_container div.step_container {
  width: 620px;
  margin: 0 auto;
  padding: 35px 0 100px 0;
}

div.contents_container div.step_container div.step_inner {
  width: auto;
}

div.contents_container div.step_container div.step_inner ul {
  width: auto;
  margin: 0 auto;

  display: -webkit-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -moz-flex;
  display: flex;
  justify-content: space-between;
  position: relative;
}

div.contents_container div.step_container div.step_inner ul:before {
  content: "";
  width: 550px;
  height: 1px;
  display: block;
  margin: 0 auto;
  background-color: #cdcdcd;
  position: absolute;
  top: 28px;
  left: 0;
  right: 0;
}

div.contents_container div.step_container div.step_inner ul li:nth-child(1) {
  width: 70px;
}

div.contents_container div.step_container div.step_inner ul li:nth-child(2) {
  width: 100px;
}

div.contents_container div.step_container div.step_inner ul li:nth-child(3) {
  width: 70px;
}

div.contents_container div.step_container div.step_inner ul li dl {
  width: auto;
}

div.contents_container div.step_container div.step_inner ul li dl dt {
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  align-items: center;
}

div.contents_container div.step_container div.step_inner ul li dl dt span {
  width: auto;
  display: block;
  font-size: 16px;
  color: #cdcdcd;
  text-align: center;
  line-height: 1.0em;
  letter-spacing: 0.025em;
  font-weight: bold;
}

div.contents_container div.step_container div.step_inner ul li.active dl dt span {
  color: #161616;
}

div.contents_container div.step_container div.step_inner ul li dl dd {
  width: auto;
  padding: 30px 0 0 0;
  position: relative;
}

div.contents_container div.step_container div.step_inner ul li dl dd:before {
  content: "";
  width: 10px;
  height: 10px;
  display: block;
  margin: 0 auto;
  border-radius: 50%;
  background-color: #cdcdcd;
  position: absolute;
  top: 8px;
  left: 0;
  right: 0;
}

div.contents_container div.step_container div.step_inner ul li.active dl dd:before {
  background-color: #161616;
}

div.contents_container div.step_container div.step_inner ul li dl dd span {
  width: auto;
  display: block;
  font-size: 16px;
  color: #cdcdcd;
  text-align: center;
  line-height: 1.0em;
  letter-spacing: 0.025em;
  font-weight: bold;
}

div.contents_container div.step_container div.step_inner ul li.active dl dd span {
  color: #161616;
}








/*============================
form_container
============================*/

div.contents_container div.form_container {
  width: auto;
  margin: 0 auto;
}


div.contents_container div.form_container ul {
  width: auto;
  border-top: 1px #e0e0e0 solid;
}

div.contents_container .icon_require {
  width: auto;
  margin: 0 0 0 5px;
  padding: 3px;
  text-align: center;
  font-weight: normal;
  font-style: normal;
  color: #fff;
  font-size: 11px;
  background-color: #dd0000;
  vertical-align: middle;
}








div.contents_container div.form_container ul.form_list li {
  width: auto;
  padding: 25px 0;
  border-bottom: 1px #cdcdcd solid;
}

div.contents_container div.form_container ul.form_list li:last-child {
  border: none;
}

div.contents_container div.form_container ul li dl {
  width: 96%;
  margin: 0 auto;
  padding: 5px 0;

  display: -webkit-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -moz-flex;
  display: flex;
  justify-content: space-between;
}

div.contents_container div.form_container ul li dl dt {
  width: 34%;
  font-size: 15px;
  text-align: left;
  font-weight: bold;
  letter-spacing: 0.1em;
  position: relative;
}

div.contents_container div.form_container ul li dl dt span.kome {
  width: auto;
  display: block;
  font-size: 13px;
  letter-spacing: 0.1em;
}

div.contents_container div.form_container ul li dl dd {
  width: 60%;
  font-size: 14px;
  text-align: left;
}


div.contents_container.confirm div.form_container ul li dl dd {
  font-size: 18px;
  letter-spacing: 0.05em;
}



div.contents_container div.form_container .exe_text {
  width: auto;
  padding: 3px 0 0 0;
  line-height: 1.6em;
  color: #666;
  font-size: 13px;
  font-weight: normal;
  font-style: normal;
}



div.contents_container.Confirm div.form_container ul li dl dd {
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.05em;
}




div.contents_container div.form_container ul li dl dd div.call_box {
  width: auto;

  display: -webkit-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -moz-flex;
  display: flex;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}

div.contents_container div.form_container ul li dl dd div.call_box p {
  width: 20%;
}

div.contents_container div.form_container ul li dl dd div.call_box p.icon {
  width: auto;
  display: inline-block;
  padding: 0 15px;
}




/* comp page */


div.contents_container.Comp div.text_container {
  width: auto;
}


div.contents_container.Comp div.text_container div.done_inner {
  width: auto;
}

div.contents_container.Comp div.text_container div.done_inner h3 {
  width: auto;
  padding: 0 0 50px 0;
}

div.contents_container.Comp div.text_container div.done_inner h3 span {
  width: auto;
  display: block;
  font-size: 55px;
  font-weight: bold;
  line-height: 1.0em;
  ltter-spacing: 0.05em;
  text-align: center;
}


div.contents_container.Comp div.text_container div.done_inner p {
  width: auto;
  font-size: 16px;
  line-height: 1.8em;
  ltter-spacing: 0.05em;
  text-align: center;
}



/*


*/


/* error page */
div.contents_container.Error div.form_container p {
  width: 640px;
  margin: 0 auto;
  padding: 0 0 15px 0;
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 1.8em;
}

div.contents_container.Error div.form_container p.error_text_exe {
  color: #dd0000;
}




/* ************ bt style ****************** */

/*** indexページ bt ***/
div.contents_container div.form_container div.bt_area {
  width: auto;
  padding: 100px 0 0 0;
  text-align: center;
  border-top: 1px #cdcdcd solid;
}

div.contents_container div.form_container div.bt_area ul {
  width: auto;
  border-top: none;
}

div.contents_container div.form_container div.bt_area ul li {
  width: 280px;
  margin: 0 auto;
  position: relative;
}

div.contents_container div.form_container div.bt_area ul li .submit {
  width: 280px;
  padding: 20px 0;
  font-size: 16px;
  color: #fff;
  text-align: center;
  letter-spacing: 0.1em;
  border: 1px solid #161616;
  box-sizing: border-box;
  background: #00BD79;
  font-weight: bold;
  position: relative;
  transition: 0.3s;
}

div.contents_container div.form_container div.bt_area ul li .submit:hover {
  color: #161616; 
  background: #fff;
  opacity: 0.7;
}



div.contents_container div.form_container div.bt_area ul li:hover.submBt:before {
  background-color: #161616;
}

div.contents_container div.form_container div.bt_area ul li:hover.submBt:after {
  background-color: #161616;
}





/*** confirmページ bt ***/
div.contents_container div.form_container div.bt_area ul.clearfix {
  width: 600px;
  margin: 0 auto;
  border-top: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  flex-flow: row-reverse;
}

div.contents_container div.form_container div.bt_area ul li.send {
  padding: 0 0 20px 0;
}


div.contents_container div.form_container div.bt_area ul li.back a:link,
div.contents_container div.form_container div.bt_area ul li.back a:visited {
  width: 280px;
  display: block;
  padding: 20px 0;
  font-size: 16px;
  color: #161616;
  text-align: center;
  letter-spacing: 0.1em;
  border: 1px solid #cdcdcd;
  box-sizing: border-box;
  background: #cdcdcd;
  font-weight: bold;
  position: relative;
  transition: 0.3s;
}

div.contents_container div.form_container div.bt_area ul li.back a:link:hover,
div.contents_container div.form_container div.bt_area ul li.back a:visited:hover {
  opacity: 0.7;
}

div.contents_container div.form_container div.bt_area ul li.back span {
  width: auto;
}


/*** errorページ bt ***/
div.contents_container.Error div.form_container p.error_back_form {
  width: auto;
  padding: 45px 0 0 0;
  text-align: center;
}

div.contents_container.Error div.form_container p.error_back_form span {
  width: 260px;
  display: block;
  margin: 0 auto;
}


div.contents_container.Error div.form_container p.error_back_form span a:link,
div.contents_container.Error div.form_container p.error_back_form span a:visited {
  width: 280px;
  display: block;
  padding: 20px 0;
  font-size: 16px;
  color: #161616;
  text-align: center;
  letter-spacing: 0.1em;
  border: 1px solid #cdcdcd;
  box-sizing: border-box;
  background: #cdcdcd;
  font-weight: bold;
  position: relative;
  transition: 0.3s;
}

div.contents_container.Error div.form_container p.error_back_form span a:link:hover,
div.contents_container.Error div.form_container p.error_back_form span a:visited:hover {
  opacity: 0.7;
}



/*** doneページ bt ***/
div.contents_container.Comp div.text_container div.done_inner p.backTop {
  width: auto;
  padding: 125px 0 0 0;
  text-align: center;
}

div.contents_container.Comp div.text_container div.done_inner p.backTop span {
  width: 280px;
  display: block;
  margin: 0 auto;
}


div.contents_container.Comp div.text_container div.done_inner p.backTop span a:link,
div.contents_container.Comp div.text_container div.done_inner p.backTop span a:visited {
  width: auto;
  display: block;
  padding: 20px 0;
  font-size: 16px;
  color: #fff;
  text-align: center;
  letter-spacing: 0.1em;
  border: 1px solid #161616;
  box-sizing: border-box;
  background: #161616;
  font-weight: bold;
  position: relative;
  transition: 0.3s;
}

div.contents_container.Comp div.text_container div.done_inner p.backTop span a:link,
div.contents_container.Comp div.text_container div.done_inner p.backTop span a:visited {

}

div.contents_container.Comp div.text_container div.done_inner p.backTop span a:link:hover,
div.contents_container.Comp div.text_container div.done_inner p.backTop span a:visited:hover {
  opacity: 0.7;
}



/*----------------------------------------------------
	FORM STYLE
----------------------------------------------------*/


input.ssshort_text {
  width: 20%;
  height: 26px;
  padding: 5px 5px;
  margin-bottom: 5px;
  font-size: 15px;
}

input.sshort_text {
  width: 30%;
  height: 26px;
  padding: 5px 5px;
  margin-bottom: 5px;
  font-size: 15px;
}

input.short_text {
  width: 40%;
  height: 26px;
  padding: 5px 5px;
  margin-bottom: 5px;
  font-size: 15px;
}


input.mid_text {
  width: 90%;
  height: 26px;
  padding: 3px;
  margin-bottom: 5px;
  font-size: 16px;
}

input.long_text {
  width: 80%;
  height: 26px;
  padding: 5px 5px;
  margin-bottom: 5px;
  font-size: 15px;
}


input.tel_text {
  width: 90%;
  height: 26px;
  padding: 5px 5px;
  margin-bottom: 5px;
  font-size: 15px;
}


textarea.areaM {
  width: calc(100% - 10px);
  height: 120px;
  padding: 5px;
  margin-bottom: 5px;
  font-size: 15px;
}


select {
  vertical-align:middle;
}
select::-ms-expand {
  display: none;
}


dl dd select {
  width: auto;
  padding: 7px;
  font-size: 15px;
  border: 1px solid #aaa;
}


/* error style */

dl dd.error {
  font-size: 13px;
}

dl dd input{
  position:relative;
  z-index:2;
}



dl dd.error input , 
dl dd.error textarea , 
dl dd.error select , 
div.error option/* , 
dl dd.error label */ {
  background: #F1D1D5;
}



* html dl dd.error label {
  background:none;
}
*+html dl dd.error label{
  background:none;
}
dl dd p.error{
  margin:0 0 8px 0;
  color: #CB4E5A;
  font-weight:bold;
}
/* end error style */







