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;
}
  
body {
    margin:0 auto;
    background: #fbec8e;
    position:relative;
    font-size:16px;
    color:#333;
    font-family: -apple-system, blinkMacSystemFont, 
               'Helvetica Neue',
               'Segoe UI',
               'Hiragino Kaku Gothic ProN',
               Meiryo,
               sans-serif;
    font-weight: 500;
    width:100%;
    max-width:750px;
}

header {
  width:100%;
  margin: 0;
  padding: 0;
  background:#000;
}

.header {
  margin: 0;
  padding: 0;
  width:100%;
}


img {
    width:100%;
    display:block;
    margin: 0 auto;
}

.stage {
  position: relative;
}

.step {
  position: relative;
  width:90%;
  margin:0 auto;
  padding: 20px 5%;
}

.fukidashi {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}

.fukidashi_icon {
  width: 18%;
  margin-right: 2%;
}

.fukidashi_text {
  position: relative;
  width: 80%;
  padding: 1.0em;
  font-size: 1.0em;
  background: #fff;
  border-radius: 20px;
}

.fukidashi_text p {
  margin: 0;
}

.fukidashi_text::before {
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-radius: 50%;
  transform: rotate(225deg);
  left: 15px;
  bottom: -9px;
  border-left: 20px solid #fff;
  border-top: 20px solid #fff;
  border-right: 20px solid transparent;
  border-bottom: 20px solid transparent;
}

.fukidashi_text::after {
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-radius: 50%;
  transform: rotate(225deg);
  left: 16px;
  bottom: -10px;
  border-left: 10px solid #fbec8e;
  border-top: 10px solid #fbec8e;
  border-right: 10px solid transparent;
  border-bottom: 10px solid transparent;
}


.lpFormAnswer {
  padding: 30px 5%;
  background: #fff;
  border-radius: 20px;
}


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:1.0rem;
  text-indent: 10px;
  margin-bottom:20px;
}

select {
  padding:5px 0 10px;
}

input[type="text"],
input[type="tel"],
input[type="email"],
textarea {
  padding:10px 0;
}


input[type="text"].error,
input[type="tel"].error,
input[type="email"].error,
select.error,
textarea.error,
.radio-group input[type="radio"].error + label,
.radio-group input[type="checkbox"].error + label{
    border: 2px solid #ec5840;
    color: #ec5840;
}




.radio-group input[type="radio"],
.radio-group input[type="checkbox"] {
    display: none;
}

.radio-group label {
    border-radius: 20px;
    height:40px;
    border: 2px solid #ddd;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items:center;
    cursor: pointer;
    margin-bottom:20px;
    font-size: 0.8rem;
    color: #888;
}

.radio-group input[type="radio"]:checked + label,
.radio-group input[type="checkbox"]:checked + label {
    border: 2px solid transparent;
    background-color: #f4ba1c;
    color: #fff;
}

.radio-group .radio-item {
  border: 2px solid #f4ba1c;
  color: #333;
  background-repeat: no-repeat;
  position: relative;
}

.radio-group {
  display:flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  margin: 0 auto;
  margin-bottom:-5px;
}

.radio-group-01 .radio-item {
  width:47.5%;
}

.text-group label {
  float:left;
  margin-right:1.0rem;
  margin-bottom:5px;
}



.button:link,
.button:visited,
.button:hover,
.button:active,
.button {
  display: block;
  text-align:center;
  border-radius: 30px;
  border: 0;
  margin: 25px 0 0 0;
  padding: 15px;
  font-size: 110%;
  color:#fff;
  text-decoration: none;
  background: #44a600;
}

.button.btn-disabled {
  background: #ddd;
  color:#333;
}


.error-message {
  color:#ec5840;
  font-size:1.0rem;
  margin-bottom:5px;
}


#step1 .error-message:nth-child(n+2) {
  display:none;
}

.nextBtn {
  position: relative;
}

.nextBtn span {
  position: absolute;
  display:inline-flex;
  justify-content: center;
  align-items: center;
  top: -16px;
  right: 0;
  width:42.9px;
  height:46.2px;
  font-size: 14px;
  line-height:1.1;
  padding:0;
  color:#fff;
  pointer-events: none;
  transform: rotate(20deg);
  background-image:url(../img/nextbtn-span.png);
  background-repeat: no-repeat;
  background-size:contain;
}

.kiyaku {
  margin:0 auto;
  margin-bottom:20px;
  text-align:center;
}

.kiyaku a {
  color:#f4ba1c;
  text-decoration:underline;
}

.kiyaku a:hover {
  color:#f4ba1c;
  text-decoration:none;
}

footer {
  width:100%;
  text-align:center;
  padding-bottom:20px;
}


.lpForm02,
.lpForm03,
.lpForm04,
.lpForm05,
.lpForm06,
.lpForm07,
.lpForm08 {
  display: none;
}
.lpForm01 .fukidashi,
.lpForm01 .lpFormAnswer {
  opacity: 0;
}


.lpFormSubmit .button {
  width: 100%;
}

.text-keymark {
  text-align: center;
  margin-bottom:1.0rem;
  font-size:1.0rem;
  line-height: 1.0;
}

.text-keymark img {
  display: inline-block;
  width:1.0rem;
  padding-bottom:0.1rem;
  margin-right:0.2rem;
}


.form-keymark {
    background-image: url(../img/key.png) !important;
    background-position: center right 0.8rem !important;
    background-repeat: no-repeat !important;
    background-size: 1.0rem !important;
}