@charset "utf-8";
/*!
 * form CSS
 * ---------------------------------------------
 *
 *
 */

/*===================================
	form 	
=====================================*/
/* input
--------------------------- */
input[type="submit"],input[type="text"],input[type="email"],input[type="tel"],input[type="number"],textarea {
  display: inline-block;
  border: none;
  background: none;
  border-radius: 0 !important;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
button, input, select, textarea {
  font-size: 100%;
}
select {
  display: inline-block;
  border: none;
  background: none;
}
input[type="submit"] {
  cursor: pointer;
}
.btn input[type="submit"] {
  height: 54px;
  font-size: 24px;
}
input[type="text"],input[type="email"],input[type="tel"],input[type="number"],select,textarea {
  border: solid 1px #a0a0a0;
  background: #fff;
}
input[type="text"],input[type="email"],input[type="tel"],input[type="number"],select {
  height: 27px;
  line-height: 27px;
}
input[type="text"],input[type="email"],input[type="tel"],input[type="number"] {
  padding: 0 0.5em;
}
input[type="checkbox"] {
  display: inline-block;
  vertical-align: middle;
  position: relative;
    transform:scale(1.5);
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
  input[type="checkbox"] {
    margin: -5px 3px 0 0;
  }
}
select {
  border: 0;
  outline: 1px solid #a0a0a0;
  outline-offset: -1px;
}
input[type="text"].inputError,input[type="email"].inputError {
  border-color: #ff0000;
  color: #ff0000;
}
input + select {
   width: 5em;
}
/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {
	color: #000;
}
/* Firefox 18- */
:-moz-placeholder {
	color: #000;
	opacity: 1;
}
/* Firefox 19+ */
::-moz-placeholder {
	color: #000;
	opacity: 1;
}
/* IE 10+ */
:-ms-input-placeholder {
	color: #000;
}
/* header
--------------------------- */
.ver2.form .header h1 {
    position: relative;
    top: inherit;
    left: inherit;
    width: 650px;
    margin: 65px auto 20px;
}
.ver2.form  .header h1 img {
    width: auto;
}

/*  form__cont
---------------------------------*/
.form__cont {
    width: 920px;
    margin: auto auto 104px;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.8rem;
    line-height: 1.52;
}
.form__cont h2 {
    margin-bottom: 2.5em;
    font-size: 3.0rem;
    font-weight: bold;
}

/*  form
---------------------------------*/
.form__cont form {
  margin: 3em 0 0;
  text-align: center;
}
.form__cont dl {
    position: relative;
    margin-bottom: 2.5em;
    text-align: left;
    line-height: 1.4;
}
.form__cont dl:before {
    display: block;
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 310px;
    height: 100%;
    background: #f9f4ee;
}
.form__cont fieldset > dl {
    margin-bottom: 2.5em;
    border: none;
    letter-spacing: -.40em;
    border-top:  solid 1px #ddd;
    border-bottom: dashed 1px #ccc;
}
.form__cont fieldset > dl > dt,.form__cont fieldset > dl > dd {
    position: relative;
	display: inline-block;
	vertical-align: top;
	letter-spacing: .05em;
    border-top: dashed 1px #ccc;
}
.form__cont fieldset > dl > dt {
  width: 310px;
  padding: 1em 0 0 1em;
  font-size: 1.8rem;
}
.form__cont fieldset > dl > dd {
    width: calc( 100% - 310px );
    padding: 1em;
    font-size: 1.8rem;
}
.form__cont fieldset > dl > dt:nth-of-type(1),
.form__cont fieldset > dl > dd:nth-of-type(1) {
    border: none;
}

.form__cont fieldset dd li {
  margin-bottom: 1em;
}
.form__cont fieldset dd li span + input {
    display: inline-block;
    margin-top: .5em;
}
.form__cont fieldset dd li div {
    margin-top: .7em;
}
.form__cont fieldset dd li span.ind {
    padding-left: 1.1em;
}
.form__cont .btn input {
  width: 254px;
}
.txt1 {
  width: 300px;
}
.txt2 {
  width: 469px;
}
.txt3 {
  width: 138px;
}
.txt4 {
  width: 407px;
}
textarea {
  width: 573px;
  height: 157px;
}
.form__cont form input + select {
    width: 7em;
    margin-left: .5em;
}
.form__cont form dd dd select {
  width: 51px;
}
.formbtn input[type="submit"] {
    width: 300px;
    height: 80px;
    margin: 35px auto 0;
    border-radius: 5px !important;
    background: #b28146;
    color: #fff;
    font-size: 3.0rem;
    font-weight: bold;
    transition: .5s;
}
.formbtn input[type="submit"]:hover {
    opacity: .7;
}
.mandatory {
    display: inline-block;
    vertical-align: middle;
    margin: -4px 0 0 5px;
    padding: .1em .6em;
    border-radius: 3px;
    background: #ed514e;
    color: #fff;
    font-size: 80%;
}
.form__cont form p:not(:nth-last-of-type(1)) {
    margin-bottom: 1.6em;
}
.form__cont a.undeline {
    color: #006ab4;
    text-decoration: underline;
}
.form__cont a.undeline:hover {
    text-decoration: none;
}
/*  thanks
---------------------------------*/
.thanks {
  text-align: center;
}
.thanks h3 {
    margin-top: 2.5em;
    font-size: 3.2rem;
}
.thanks h3 + p {
  margin: 3.5em 3em 6em;
  font-size: 1.8rem;
  text-align: left;
}
.thanks .btn a {
  padding: 0 2em;
}
.backbtn a {
    display: inline-block;
    width: 300px;
    height: 80px;
    line-height: 80px;
    margin: 35px auto 0;
    border-radius: 5px !important;
    background: #b28146;
    color: #fff;
    font-size: 3.0rem;
    font-weight: bold;
    transition: .5s;
}
.backbtn a:hover {
    opacity: .7;
}

/************************************************************************************
smaller than 750px
*************************************************************************************/
@media screen and (max-width: 750px) {
  /*===================================
    form
  =====================================*/
  /*  input
  ---------------------------------*/
  .btn input[type="submit"] {
    height: 64px;
    font-size: 34px;
  }
  input[type="text"],input[type="email"],input[type="tel"],input[type="number"],select {
    height: 50px;
    line-height: 50px;
  }
    
    /*  form__cont
---------------------------------*/
.form__cont {
    width: 750px;
    padding-left: 40px;
    padding-right: 40px;
    font-size: 2.8rem;
}
.form__cont h2 {
    margin-bottom: 2.5em;
    font-size: 4.0rem;
    font-weight: bold;
}
    
  /*  form
  ---------------------------------*/
  .form__cont form {
    margin: 1em 0 0;
  }
  .form__cont form p:not(:nth-last-of-type(1)) {
    text-align: left;
  }
  .form__cont .btn input {
    width: 384px;
  }
    .form__cont dl:before {
        display: none;
    }
    .form__cont fieldset > dl > dt,.form__cont fieldset > dl > dd {
	    display: block;
        width: auto;
    }
  .form__cont fieldset > dl > dt {
    width: auto;
    margin-bottom: 1em;
      padding: .5em;
    font-size: 2.9rem;
    background: #f9f4ee;
  }
  .form__cont fieldset > dl > dd {
    margin: 0 0 1em;
    padding: 0 .5em 1em;
    border-top: none;
    border-bottom: dashed 2px #ddd;
    font-size: 2.9rem;
  }
  .form__cont fieldset dd li {
    font-size: 3.0rem;
  }
    .form__cont fieldset dd li span.ind {
        padding-left: .8em;
    }
    .form__cont form input + select {;
        margin: .8em 0 0 1em;
    }
  .form__cont form dd dd select {
    width: 60px;
  }
    .txt1 {
      width: 70%;
    }
  .txt2, .txt3, .txt4, textarea, .form__cont form select {
    width: 100%;
  }
    .formbtn input[type="submit"] {
        width: 400px;
        height: 120px;
        margin: 50px auto 0;
        font-size: 4.0rem;
    }
    
  /*  thanks
  ---------------------------------*/
    .thanks h3 {
        font-size: 4.0rem;
    }
  .thanks h3 + p {
    margin: 2em 0 4em;
    font-size: 3.0rem;
  }
    .backbtn a {
        width: 400px;
        height: 120px;
        line-height: 120px;
        margin: 50px auto 0;
        font-size: 4.0rem;
    }
}