@charset "utf-8";
/* CSS Document */
.mainvisual{
  background:url("../img/mv.png")no-repeat;
  background-size: cover;
  background-position: 76%;
}
main {
    padding-bottom: 150px;
}
/* 
------------------------------------------------------*/
/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="reset"],
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="reset"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="reset"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}
.thanks {
    text-align: center;
    padding: 50px 0 150px;
}
.thanks_bt a{
  color: #555;
  border-bottom: 1px solid;
}
.cont_inner{
  max-width: 976px;
  width: 100%;
  margin: auto;
}

.cont_inner,.top_text,.flow_img {
  max-width: 976px;
  width: 100%;
  margin: auto;
}

.flow_img{
  margin-top: 50px;
  text-align: center;
}
.under_mv{
    background: url("../img/mv.png") center;
    -webkit-background-size: cover;
    background-size: cover;
}
input[type="text"], input[type="email"], input[type="password"], textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /* for focus animation */
  -webkit-transition: all .3s;
  transition: all .3s;
  border-radius: 2px;
  border: 1px solid #aaa;
  padding: 5px;
    box-sizing: border-box;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus, textarea:focus {
  box-shadow: 0 0 7px #aaaaff;
}
select {
  padding: 5px;
}
input[type="submit"], input[type="reset"], button {
    padding: 0;
    width: 150px;
    height: 70px;
    color: #fff;
    margin: 30px 35px 0;
    background: #164E90;
    border-radius: 5px;
  font-size: 1.6rem;
}
input[type="reset"], input[type="submit"].ret {
    background: #999;
}
input[type="submit"]:hover, input[type="reset"]:hover, button:hover {
    opacity: .8;
}
input[type="submit"]:active, input[type="reset"]:active, button:active {
    opacity: .8;
}

.top_text {
    margin-top: 40px;
}
.top_caution {
    margin-top: 15px;
}
.msgarea {
    max-width: 976px;
    width: 90%;
    margin: 20px auto 0;
    color: #ff0000;
    padding: 10px 20px 10px 20px;
    background-color: #fff;
    border: 1px solid #000088;
}
p.errmsg {
  color:#ff0000;
  margin:0px;
}
.sub_text {
    margin-top: 10px;
    line-height: 2;
}
.sub_text.mt_0 {
    margin-top: 0px;
}
.btn_box {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    max-width: 450px;
    width: 100%;
    margin: 70px auto ;
    font-weight: bold;
  background: #F4F4F3;
  border-radius: 15px;
  max-width: 590px;
  width: 100%;
  padding: 55px 0;
}
.back_home {
    text-align: center;
    margin: 60px 0 0;
}
.back_home a {
    text-decoration: underline;
}
.top_text .required {
    color: #f00;
}
@media screen and (min-width: 767px) , print {
  .root-container {
    width: 976px;
    margin: 70px auto 0;
  }
  .form-element-container {
    display: table;
    width: 1024px;
    margin: 60px auto 0;
    border-top: 2px solid #5476a8;
  }
  .form-field-input-pair {
    display: table-row;
  }
  .form-field {
    display: table-cell;
    width: 236px;
    padding: 20px 0;
    vertical-align: middle;
    text-align: center;
    border-bottom: 2px solid #5476a8;
    background: #5f7fad;
    color: #fff;
    font-weight: 1.5rem;
  }
  .form-input {
    display: table-cell;
    vertical-align: middle;
    padding: 20px;
    border-bottom: 1px solid #c2cfe0;
    background: #fff;
  }
}
@media screen and (max-width: 767px) {
  .root-container {
      margin: 50px auto 0;
      width: 90%;
  }
  .form-element-container {
    margin: 30px auto 0;
    border-top: 2px solid #5476a8;
    width: 90%;
  }
  .form-field-input-pair {
  }
  .form-field {
    width: 100%;
    padding: 10px;
    border-bottom: 1px solid #5476a8;
    box-sizing: border-box;
    background: #5f7fad;
    color: #fff;
  }
  .cont_inner,.top_text,.flow_img,.btn_box {
    max-width: 90%;
    margin:30px auto 0;
  }
  .form-input {
    width: 100%;
    padding: 10px;
    border-bottom: 1px solid #5476a8;
    box-sizing: border-box;
    background-color: #fff;
  }
.btn_box {
    margin: 40px auto 0;
    padding-bottom: 50px;
}
  .btn_text{
    max-width: 90%;
    margin: auto;
  }
}

.w_all {width: 100%;}
.w_full {width: 80%;}
.w_half {width: 50%;}
.w_25pc {width: 25%;}

.required {color: #fff;}