body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,textarea,p,blockquote,th,td,img,div,span {

  margin: 0;

  padding: 0;

  border:0;

  vertical-align:middle;

  box-sizing: border-box;

}



body {

  margin:0 auto;

  background: #fff;

  position:relative;

  font-size: calc(16px + 8 * (100vw - 375px) / 375);

  color:#333;

  font-family: "Helvetica Neue",

    Arial,

    "Hiragino Kaku Gothic ProN",

    "Hiragino Sans",

    Meiryo,

    sans-serif;

  font-weight: 500;

  width:100%;

  overflow-x: hidden;

  overflow-y: scroll;

  min-height:100vh;

  padding-bottom:30px;

  box-sizing: border-box;

}



img {

  width:100%;

  display:block;

  margin: 0 auto;

}







.widthset {

  width:86.6%;

  max-width:325px;

  margin:0 auto;

  overflow-x: hidden;

}

  

header {

  position: relative;

  width:100%;

  margin: 0;

  padding: 0;

  /*background:rgba(	208, 	227, 	126, 0.3);*/
  border-bottom: 4px solid rgba(	208, 	227, 	126, 0.3);;

}

  

header .widthset {

  padding:15px 0; 



}

  

header .logo {

    max-width:400px;

    width:61.5%;

    margin:0;

    margin-bottom:10px;

}

  

header .sholder {

    width:100%;

}







#stage {

  position: relative;

  width:86.6%;

  max-width:325px;

  height:140vw;

  min-height:620px;

  max-height:680px;

  margin:0 auto;

  overflow-x: hidden;

  margin:0 auto;

  overflow: hidden;

  display:flex;

  flex-wrap: wrap;

}



#stage_policy {

  position: relative;

  width:86.6%;

  max-width:650px;

  margin:0 auto;

}



.step {

  position: absolute;

  top:0%;

  left:0%;

  width:100% !important;

  z-index: 999;

}





.active {

  display:block !important;

}







.stepblock {

  align-items: center;

  margin-bottom:20px;

  width:100% !important;

}



.step-flow {

  width:66%;

  display: flex;

  justify-content: space-between;

  align-items: center;

  margin: 0 auto;

  margin-top:15px;

  margin-bottom: 15px;

}



.step-flow p {

  display: block;

  color: #48A600;

  font-weight: bold;

  font-size: calc(9px + 1 * (100vw - 375px) / 375);

  text-align: center;

  line-height: 1.1;

}



.step-flow p span {

  font-size: calc(14px + 1 * (100vw - 375px) / 375);

  vertical-align: bottom;

  line-height: 1.0;

}



.step-flow ul {

  display: flex;

  justify-content: space-between;

  list-style-type: none;

  width:64.9%;

  max-width: 135px;

}



.step-flow ul li {

  display: flex;

  justify-content: center;

  align-items: center;

  background: #ccc;

  color:#fff;

  font-size: calc(16px + 1 * (100vw - 375px) / 375);

  font-weight: bold;

  aspect-ratio: 1 / 1;

  max-width:30px;

  width: 22.2%;

  border-radius: 50%;

}



.step-flow ul li.now {

  background: #C2DB56;

}



.stepblock_text {

  text-align: center;

  font-size: calc(15px + 1 * (100vw - 375px) / 375);

  font-weight: bold;

  background:rgba(	208, 	227, 	126, 0.3);

  padding:10px 0;

}





.stepblock_text p {

text-align: center;

}



.stepblock_text p span {

  font-size: calc(12px + 1 * (100vw - 375px) / 375);

}



.lpFormAnswer {

  width:100%;

  margin:0 auto;

}





input[type="text"],

input[type="tel"],

input[type="email"],

select,

textarea {

display:block;

border-radius: 5px;

border: 2px solid #ddd;

background-color: #fff;

width:100%;

font-size: calc(15px + 1 * (100vw - 375px) / 375);

text-indent: 0.8rem;

margin-bottom:1.0rem;

box-sizing: border-box;

}



select {

padding:0.6rem 0;

}



input[type="text"],

input[type="tel"],

input[type="email"],

textarea {

padding:0.6rem 0;

}





input[type="text"].error,

input[type="tel"].error,

input[type="email"].error,

select.error,

textarea.error,

.radio-group input[type="radio"].error + label,

.checkbox-group input[type="checkbox"].error + label {

  border: 1px solid #ec5840;

  color: #ec5840;

}









.radio-group input[type="radio"],

.checkbox-group input[type="checkbox"] {

  display: none;

}



.radio-group label,

.checkbox-group label {

  display: flex;

  flex-wrap: wrap;

  justify-content: center;

  align-content:space-between;

  border: 1px solid #999999;

  background-color: #fff;

  padding:5px 0;

  text-align: center;

  font-weight: bold;

  font-size: calc(14px + 1 * (100vw - 375px) / 375);

  cursor: pointer;

  margin-bottom:10px;

  border-radius: 5px;

  box-sizing: border-box;

}





.radio-group input[type="radio"]:checked + label,

.checkbox-group input[type="checkbox"]:checked + label {

  border:4px solid #48A600;

  box-sizing: border-box;

}



.radio-group,

.checkbox-group {

  position: relative;

  width: 100%;

  margin: 0 auto;

  display:flex;

  justify-content: space-between;

  flex-wrap: wrap;

  margin-top:5px;

}



.checkbox-area,

.radio-area {

  position: relative;

  padding-top:20px;

  margin-top: -20px;

}



.div02 label {

  max-width:314px;

  width: 48.3%;

}



.div02 label img {

  margin-bottom:-5px;

}



.div02 label span {

  display: block;

  width:100%;

}



.item-license01 img {

  max-width: 180px;

  width: 57.3%;

}



.item-license02 img {

  max-width: 208px;

  width: 66.2%;

}



.item-license03 img {

  max-width: 212px;

  width: 67.5%;

}



.item-license04 img {

  max-width: 160px;

  width: 50.9%;

}



.item-license05 img {

  max-width: 200px;

  width: 63.6%;

}



.item-license06 img {

  max-width: 220px;

  width: 70.0%;

}



.item-license07 {

  max-width: 650px !important;

  width: 100% !important;

  align-items: center !important;

  justify-content: center !important;

  padding:0 0 4px 0 !important;

}



.item-license07 img {

  max-width: 152px;

  width: 23.3%;

  margin:0;

}



.item-license07 span {

  width: auto !important;

}



.item-timing01 img {

  max-width: 192px;

  width: 61.1%;

}



.item-timing02 img {

  max-width: 196px;

  width: 62.4%;

}



.item-timing03 img {

  max-width: 140px;

  width: 44.5%;

}



.item-timing04 img {

  max-width: 168px;

  width: 53.5%;

}



.item-timing05 {

  max-width: 325px !important;

  width: 100% !important;

  align-items: center !important;

  justify-content: center !important;

  padding:0 0 4px 0 !important;

}



.item-timing05 img {

  max-width: 35px;

  width: 10.7%;

  margin:0;

}



.item-timing05 span {

  width: auto !important;

}



.text-group {

  display: flex;

  flex-wrap: wrap;

  align-items: center;

  justify-content: flex-start;

}



.text-group label {

float:left;

margin-right:5px;

margin-bottom:5px;

color:#000;

font-size: calc(14px + 1 * (100vw - 375px) / 375);

}



.privacy-text {

margin:0 auto;

margin-bottom:15px;

text-align: center;

}



.privacy-text img {

display:inline-block !important;

width:1.0rem !important;

}



.privacy-text span {

display:inline-block;

font-size:0.9rem;

padding-left:0.1rem;

}



.form-keymark {

background-image: url(../img/key-brack.png) !important;

background-position: center right 1.4rem !important;

background-repeat: no-repeat !important;

background-size: 14px !important;

}



.buttons-wrap {

  position: relative;

  margin-top:20px;

  display: flex;

  flex-wrap: wrap;

  justify-content: space-between;

  align-items: center;

}



#step1 .buttons-wrap {

  justify-content: flex-end;

}



.nextBtn {

  width: 67.7%;

}



.prevBtn {

  width: 12%;

}







.button img {

  width:100%;

display: block;

}



.back {

width:11.75% !important;

max-width:94px;

}



.required {

color:#ec5840;

font-size:0.9rem;

}



.error-message {

  display:inline-block;

  color:#ec5840;

  font-size: calc(12px + 1 * (100vw - 375px) / 375);

}



.checkbox-area .error-message,

.radio-area .error-message {

  position: absolute;

  top:5px;

}



.checkbox-area .error-message:nth-child(n+2) {

  display: none;

}





.policylink {

  position: relative;

  margin:0 auto;

  margin-bottom:20px;

  text-align:center;

}



.policylink a {

  color:#48A600;

  text-decoration:underline;

  font-size: calc(12px + 1 * (100vw - 375px) / 375);

}



.policylink a:hover {

  color:#48A600;

  text-decoration:none;

}





footer {

  position: absolute;

  bottom: 0;

width:100%;

height:30px;

display: flex;

align-items: center;

justify-content:center;

background-color: #707070;

}



footer p {

color:#fff;

font-weight: 400;

font-size: calc(10px + 1 * (100vw - 375px) / 375);

}





.lpForm02,

.lpForm03,

.lpForm04,

.lpForm05,

.lpForm06,

.lpForm07,

.lpForm08 {

display: none;

}

.lpForm01 .stepblock,

.lpForm01 .lpFormAnswer {

opacity: 0;

}



.lpFormSubmit {

  padding-bottom:30px;

  position: relative;

}



.lpFormSubmit .button {

  width: 100%;

  margin:0 auto;

  background:none;

  border:none;

  cursor: pointer;

  padding:0;

  margin-bottom:15px;

  box-sizing: border-box;

}



.lpFormSubmit .button img {

  width:100%;

}



.lpFormSubmit a.prevBtn {

  position: absolute;

  bottom: 0;

}



.img.btn-ng {

display:none !important;

}



.btn-disabled img.btn-ok {

display:none !important;

}



.btn-disabled img.btn-ng {

display:block;

}







.thanks,

.policy {

  padding:20px 0;

  font-size: calc(12px + 1 * (100vw - 375px) / 375);

}



.policy h1 {

  font-size: calc(16px + 1 * (100vw - 375px) / 375);

  margin-bottom:20px;

}



.policy p {

  margin-bottom: 20px;

  text-align: left;

}



.policy dl {

  margin-bottom:20px;

}



.policy dl dt {

  font-weight: bold;

  text-align: left;

}



.policy dl dd {

  text-align: left !important;

}