* {
  margin: 0;
  padding: 0;
  list-style: none;
  vertical-align: bottom;
}

html {
  scroll-behavior: smooth;
}

.lp-content {
  width: 100%;
  max-width: 750px;
  font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  margin: 0 auto;
  text-align: center;
}

.lp-img {
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
}

.cta-box {
  position: relative;
}

.cta-box .cta-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  padding: 0 2.5% 0;
}

.cta-box .cta-btn img {
  height: auto;
}


/*
 * Btn Bounce
*/
.btn_bounce {
  animation: beat 1.5s infinite;
  max-width: 100% !important;
  display: block;
  margin: 0 auto;
}

@keyframes beat {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(1);
  }

  60% {
    transform: scale(1.05);
  }

  70% {
    transform: scale(1);
  }

  80% {
    transform: scale(1.05);
  }

  100% {
    -webkit-transform: scale(1);
  }
}


.floating {
  width: 180px;
  z-index: 10;
  position: fixed;
  bottom: 2%;
  right: 2%;
}

@media screen and (max-width:640px) {
  .floating {
    width: 25%;
  }
}

/* stepの画像非表示 */
#titleImg {
  display: none;
}

.tradelaw {
  margin: 20px 0 100px;
  font-size: 12px;
}

.tradelaw a {
  color: #aaa;
  text-decoration: none;
}

/*
 * フォーム
*/
.form-wrap {
  margin: 10px 10px 150px;
  padding: 20px;
  background-color: rgba(255, 255, 255, 0.8);
}

.btn-wrap {
  margin-left: -10px;
  margin-right: -10px;
}

button {
  background: none;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.submit_btn {
  border: 0;
  width: 100%;
  height: calc(100vw / 3.6);
  background: url("https://d2w53g1q050m78.cloudfront.net/yunthjp/uploads/_lp/crm/07/img/btn-eco.png") no-repeat scroll 0 0;
  background-size: cover;
  color: transparent;
}

@media screen and (min-width: 640px) {
  .submit_btn {
    width: 640px;
    height: 200px;
  }
}

.form-check-input {
  width: 30px;
  height: 20px;
  margin-left: -1.75rem;
  margin-top: 0;
}

.form-check {
  font-size: 12px;
}

.readonly-input {
  height: 140px;
  overflow: auto;
  margin: 0 auto;
  padding: 10px 20px;
  border: 1px solid #ccc;
  line-height: 24px;
  font-size: 12px;
}

.regal-checkbox {
  margin: 15px 0 15px 20px;
}

.regal-checkbox label {
  margin: 3px 0 0 10px;
}

@media screen and (min-width: 640px) {
  .readonly-input {
    height: 100px;
    padding: 10px 15px;
    font-size: 12px;
  }
}