@charset "UTF-8";
body,
html {
  height: 100%
}
body {
  background: #fff;
  line-height: 1.4;
  -webkit-text-size-adjust: none;
  font: 14px sans-serif
}
body img {
  width: 100%;
  vertical-align: bottom;
  display: block
}
body a {
  text-decoration: none;
  color: #474b50
}
li,
ol,
ul {
  list-style-type: none
}
.modal-open {
  overflow: hidden
}
.fv-area {
  position: relative
}
.fv-area h1 {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto
}
.fv-area img {
  width: 100%
}
.fv-animated-img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto
}
.fv-content {
  width: 89.333vw;
  position: relative;
  z-index: 100;
  margin: -90vw auto 7.0666vw
}
.fv-sec-note {
  position: absolute;
  top: 85vw;
  right: 3vw;
  color: #fff;
  font-size: 2.3vw
}
.uni-formarea--all .uni-formarea--confirm,
.uni-formarea--all .uni-formarea--second,
.uni-formarea--all .uni-formarea--submit {
  display: none
}
.uni-formarea--all.is-valide .uni-formarea--confirm,
.uni-formarea--all.is-valide .uni-formarea--second,
.uni-formarea--all.is-valide .uni-formarea--submit {
  display: block
}
.point-btn {
  display: flex;
  justify-content: center;
  flex-wrap: nowrap;
  margin: 0 auto;
  position: absolute;
  top: 37vw;
  left: 0;
  right: 0;
  gap: 2vw
}
.point-btn li {
  width: 28.8vw
}
.point-modal {
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  overflow: scroll;
  background: rgba(51,51,51,.85)
}
.point-modal-close {
  width: 5.133vw;
  height: 5.133vw;
  position: absolute;
  top: 9.333vw;
  right: 5vw;
  z-index: 100
}
.point-modal-wrap {
  background: #fff;
  border-radius: 5vw;
  border: 1.866vw solid #157847;
  padding: 4.333vw
}
.point-modal-wrap .point {
  margin-bottom: 2.666vw
}
.point-evi {
  font-size: 2.7vw;
  letter-spacing: -.1vw
}
.point-evi.last {
  margin-bottom: 3.333vw
}
.btn-cta01 {
  display: block;
  margin-bottom: 5.2vw
}
.point-modal-cta {
  display: block;
  width: 78.666vw;
  margin: 5.333vw auto 3.333vw
}
.point-modal-close-text {
  position: relative;
  font-size: 3.733vw;
  font-weight: 500;
  top: inherit;
  right: inherit;
  width: fit-content;
  height: inherit;
  border-bottom: 1px solid #333;
  margin: 0 auto 5.333vw
}
.modaal-close {
  display: none!important
}
.modaal-inner-wrapper {
  padding: 0
}
.modaal-container {
  width: 90.4%;
  background: 0 0;
  box-shadow: none
}
.modaal-content-container {
  padding: 5vw 0
}
.modaal-overlay {
  background: rgba(51,51,51,.85)!important
}
.solution-sec {
  position: relative
}
.solution-img {
  position: relative;
  z-index: -1
}
.solution-evi {
  position: absolute;
  width: 80vw;
  font-size: 2.7vw;
  margin: 0 auto;
  bottom: 121vw;
  left: 50%;
  transform: translateX(-50%)
}
.step-sec {
  margin-top: -.533vw
}
.step01 {
  margin-top: -.1vw
}
.faq-sec {
  width: 100%;
  padding: 35px 5.333vw 45px;
  box-sizing: border-box;
  background: linear-gradient(-90deg,#157847,#2d8e5e,#157847)
}
.faq-ttl {
  width: 89%;
  transform: translateX(-5.333vw)
}
.faq-list {
  width: 100%;
  margin: -3.333vw auto 0
}
.faq-list li {
  background-color: #fff;
  border-radius: .8vw;
  margin-bottom: 10px
}
.faq-list li:last-child {
  margin-bottom: 0
}
.q-btn {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 2.133vw;
  width: 100%;
  margin: 0 auto;
  color: #333;
  font-weight: 700;
  padding: 2.933vw 4vw;
  box-sizing: border-box;
  position: relative;
  transition: .5s
}
.q-btn:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 4.266vw;
  height: .533vw;
  background-color: #333;
  transform: rotate(0);
  transition: .5s;
  opacity: 1
}
.q-btn:after {
  content: "";
  position: absolute;
  width: 4.266vw;
  height: .533vw;
  background-color: #333;
  transition: .5s;
  top: 50%;
  right: 15px;
  transform: rotate(90deg);
  transition: .5s
}
.faq-ico {
  width: 6.4vw;
  text-align: center;
  box-sizing: border-box
}
.faq-txt {
  width: 85%;
  text-align: left;
  box-sizing: border-box;
  font-size: 4.266vw
}
.faq-txt-a {
  font-size: 3.733vw
}
.faq-txt-a span {
  font-size: 4.266vw;
  position: relative;
  display: inline;
  z-index: 1;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone
}
.faq-txt-a span::before {
  content: '';
  position: absolute;
  top: 80%;
  left: 50%;
  width: 95%;
  height: 30%;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  background-color: #fdea0f;
  transform: translate(-50%,-50%) skewX(-28deg);
  z-index: -1
}
.faq-txt-a span.asterisk {
  display: inline-block;
  position: relative;
  margin-right: 1vw;
  font-size: 3.733vw
}
.faq-txt-a span.asterisk::before {
  content: none
}
.faq-txt-a span.asterisk::after {
  content: '※';
  position: absolute;
  top: -.5vw;
  right: -1.5vw;
  font-size: 2vw
}
.q-btn.on {
  border-radius: 3px 3px 0 0;
  transition: .5s
}
.q-btn.on:before {
  opacity: 0
}
.q-btn.on:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 4.266vw;
  height: .533vw;
  background-color: #333;
  transform: rotate(0);
  transition: .5s
}
.a-content {
  display: none;
  color: #333;
  font-weight: 700;
  box-sizing: border-box;
  padding: 10px 0;
  padding: 2.933vw 4vw
}
.a-content-inner {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 2.133vw
}
.faq-img {
  margin: 2vw 0;
  width: 81.333vw;
  transform: translateX(-8.533vw)
}
.faq-note {
  font-size: 3vw;
  margin-top: 1.5vw
}
.error-txt {
  color: red;
  margin-left: -30%
}
.uni-formbox {
  background-color: #fff;
  padding: 3% 3% 5%;
  display: grid;
  grid-gap: 3vw 0;
  grid-template-columns: 1fr;
  margin: 0 2.656vw
}
.uni-formarea--confirm {
  background-color: #fff;
  margin: 0 2.656vw
}
.uni-formarea--submit {
  background-color: #fff;
  padding: 2% 0;
  margin: 0 2.656vw
}
.uni-formbox--area {
  display: block
}
.uni-formbox--ttl {
  width: 100%;
  font-size: 5.153vw;
  font-weight: 700;
  color: #000;
  box-sizing: border-box;
  text-align: left
}
.uni-formbox--desc {
  width: 100%
}
.is-valide .uni-formbox--desc select {
  width: 100%;
  height: 17vw;
  border: .468vw solid #d1d1d1;
  border-radius: 1.562vw;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #fff;
  background: url(/assets/img/nlp/common/form/check.webp) right 2% top 50% no-repeat;
  background-size: 6%,100%;
  padding-left: 2%;
  font-size: 4.531vw;
  box-sizing: border-box;
  margin-top: 1vw
}
.is-error .uni-formbox--desc select {
  width: 100%;
  height: 17vw;
  border: .468vw solid #d1d1d1;
  border-radius: 1.562vw;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #eee;
  background: url(/assets/img/nlp/common/form/arrow.webp) right 2% top 50% no-repeat,-webkit-linear-gradient(top,#fff 0,#e9e9e9 100%);
  background: url(/assets/img/nlp/common/form/arrow.webp) right 2% top 50% no-repeat,linear-gradient(to bottom,#fff 0,#e9e9e9 100%);
  background-size: 3%,100%;
  padding-left: 2%;
  font-size: 4.531vw;
  box-sizing: border-box;
  margin-top: 1vw
}
.vl-nameWithoutSymbol,
.vl-tellNumber {
  display: block
}
.vl-nameWithoutSymbol .uni-formbox--ttl,
.vl-tellNumber .uni-formbox--ttl {
  border: none;
  background: 0 0;
  line-height: 1;
  justify-content: inherit;
  margin: 2% 0;
  width: 100%;
  height: auto
}
.vl-nameWithoutSymbol .uni-colbox {
  width: 100%;
  display: flex;
  justify-content: space-between;
  list-style: none
}
.vl-nameWithoutSymbol .uni-colbox .uni-col {
  width: 48%
}
span.first-name,
span.last-name {
  display: none
}
input:-webkit-autofill {
  background-color: #fff!important;
  -webkit-box-shadow: 0 0 0 1000px #fff inset;
  box-shadow: 0 0 0 1000px #fff inset;
  color: #000
}
input:-webkit-autofill:focus {
  background-color: #fff!important
}
input:-webkit-autofill {
  background: url('/assets/img/nlp/common/form/check.webp') no-repeat right 2% top 50%!important;
  background-size: 6%,100%;
  color: #000;
  -webkit-box-shadow: 0 0 0 1000px #fff inset;
  box-shadow: 0 0 0 1000px #fff inset
}
.uni-formbox--area.is-valide .uni-formbox--desc input {
  background: url('/assets/img/nlp/common/form/check.webp') no-repeat right 2% top 50%;
  background-size: 6%,100%;
  font-size: 4.531vw;
  padding-left: 2%;
  border: .468vw solid #d1d1d1;
  border-radius: 1.562vw;
  width: 100%;
  height: 17vw;
  margin-bottom: 1.5%;
  box-sizing: border-box
}
.uni-formbox--area.is-valide .uni-formbox--desc .uni-colbox.col-2 .uni-col input {
  width: 100%;
  height: 17vw;
  border: .468vw solid #d1d1d1;
  border-radius: 1.562vw;
  padding-left: 2%;
  background: #fff;
  background: url(/assets/img/nlp/common/form/check.webp) right 5% top 50% no-repeat;
  background-size: 12.5%,100%;
  font-size: 4.531vw;
  margin-bottom: 1.5%;
  box-sizing: border-box
}
.uni-formbox--area.is-error .uni-formbox--desc input {
  width: 100%;
  height: 17vw;
  border: .468vw solid #d1d1d1;
  border-radius: 1.562vw;
  padding-left: 2%;
  background: #eee;
  background: right 50% no-repeat,-webkit-linear-gradient(top,#e9e9e9 0,#fff 100%);
  background: right 50% no-repeat,linear-gradient(to bottom,#e9e9e9 0,#fff 100%);
  font-size: 4.531vw;
  margin-bottom: 1.5%;
  box-sizing: border-box
}
.vl-nameWithoutSymbol .uni-formbox--desc,
.vl-tellNumber .uni-formbox--desc {
  width: 100%;
  font-size: 2.656vw
}
.uni-checkbox + .error-txt,
.vl-nameWithoutSymbol .error-txt,
.vl-tellNumber .error-txt {
  margin-left: 30px
}
.vl-nameWithoutSymbol input {
  width: 100%
}
.uni-formarea--desc {
  padding: 3% 3% 0;
  font-size: 2.533vw
}
.uni-checkbox {
  display: block;
  text-align: center;
  margin: 3% 0 0
}
.submit-btn--satei {
  background: url("/assets/img/nlp/common/form/btn-form_sp.webp") no-repeat center top;
  background-size: 100% auto;
  background-position: -1vw 0;
  border: none;
  color: transparent;
  width: 95%;
  margin: 2% auto;
  padding: 24% 0 0;
  display: block
}
.submit-btn--satei .ttl-inner {
  display: none
}
.uni-formbox .uni-formbox {
  padding: 0
}
.uni-formbox .uni-formbox .uni-formbox--desc {
  width: 100%
}
.uni-formarea--inner {
  text-align: center
}
.uni-checkbox {
  display: inline-block;
  padding: 0 0 0 35px;
  position: relative;
  font-size: 0;
  cursor: pointer
}
.uni-checkbox:before {
  display: block;
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  transition: opacity .2s ease-out
}
.uni-checkbox:before {
  background-image: url(/assets/img/nlp/common/form/sprite.webp);
  background-position: -387px -193px;
  width: 24px;
  height: 24px
}
.uni-checkbox.is-checked:before {
  background-position: -415px -193px
}
.uni-checkbox-inner {
  display: inline-block;
  font-size: initial;
  padding: 0 5px 0 0
}
input.uni-formcheckbox--input {
  position: absolute;
  left: 0;
  opacity: 0
}
.form {
  padding: 2%;
  text-align: right;
  font-size: 2.4vw
}
@media (-webkit-min-device-pixel-ratio:0) and (min-resolution:0.001dpcm) and (max-width:480px) {
  header {
    margin-bottom: -1px
  }
}
section#form-assessment-bg {
  border-radius: 0;
  margin: 0;
  position: relative
}
.form {
  position: absolute;
  text-align: center;
  text-shadow: #fff 1px 1px 0,#fff -1px -1px 0,#fff -1px 1px 0,#fff 1px -1px 0,#fff 0 1px 0,#fff 0-1px 0,#fff -1px 0 0,#fff 1px 0 0;
  bottom: 14vw;
  left: 4vw
}
.txt-white {
  color: #fff
}
.bg-white {
  background-color: #fff
}
.bg-mint {
  background-color: #ccf0e0
}
.pb-3per {
  padding-bottom: 3%
}
.px-1vw {
  padding: 0 1vw
}
ins {
  background: inherit
}
.ls-minus1 {
  letter-spacing: -1px
}
.marker {
  background: #fffbbf;
  color: #008a51
}
.form-bg {
  background-color: #c7e4d7;
  padding-bottom: 9vw;
  padding-top: 5vw;
  position: relative;
  z-index: 10
}
.form-bg #form-assessment-bg {
  position: relative
}
.uni-formarea--first .uni-formarea--ttl {
  width: 100%;
  height: 16.095vw;
  background: url(/assets/img/nlp/common/form/form-ttl01_sp.webp) no-repeat center;
  background-size: cover
}
.uni-formarea--first .uni-formarea--ttl .ttl {
  display: none
}
.uni-formarea--second .uni-formarea--ttl {
  width: 100%;
  height: 15.937vw;
  background: url(/assets/img/nlp/common/form/form-ttl02_sp.webp) no-repeat center;
  background-size: cover
}
.uni-formarea--second .uni-formarea--ttl .ttl {
  display: none
}
.telarea {
  margin-top: 3vw
}
.telarea h4 {
  display: flex;
  align-items: center;
  color: #1b915d;
  font-size: 4vw;
  margin-bottom: 2vw
}
.telarea h4:after,
.telarea h4:before {
  border-top: 1px solid;
  content: "";
  flex-grow: 1
}
.telarea h4:before {
  margin-right: .5rem
}
.telarea h4:after {
  margin-left: .5rem
}
.telarea a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border: 1px solid #5c5c5c;
  border-radius: 5px;
  width: 90%;
  padding: 1.5vw;
  margin: auto;
  box-shadow: 1px 1px 3px #aaa
}
.telarea a::before {
  content: "";
  background: url(/assets/img/nlp/common/ico-tel.webp) no-repeat;
  background-size: contain;
  width: 11vw;
  height: 6vw
}
.telarea a img {
  width: 50%
}
.italic {
  font-style: italic;
  font-size: 114%;
  vertical-align: middle
}
footer {
  clear: both;
  text-align: center;
  padding: 0 0 6px 0
}
.cp {
  padding: 10px 2% 8px;
  text-shadow: none;
  font-size: 10px;
  color: #444
}
a#privacy {
  display: block;
  background-color: #ececec;
  margin-bottom: 5px;
  padding: 10px 0;
  text-align: center;
  text-decoration: none;
  width: 100%;
  font-size: 12px;
  color: #000
}
#ft {
  margin-top: 5vw;
  padding: 15px 0 25vw;
  position: relative;
  background: #fff;
  border-top: 5px solid #008b4f
}
.ftlogo {
  text-align: center;
  width: 32%;
  margin: 0 auto 10px
}
.ftlogo img {
  width: 100%;
  max-width: 168px
}
.ftlink {
  position: absolute;
  top: 0;
  right: 0;
  padding: 2%;
  width: 15%
}
.fix-btn {
  left: 0;
  bottom: -.5vw;
  width: 100vw;
  margin: 0 auto;
  z-index: 1000;
  position: fixed;
  opacity: 0;
  -moz-transition: all .5s;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  -ms-transition: all .5s;
  transition: all .5s
}
.fix-btn a {
  display: block;
  width: 100vw;
  margin: 0 auto
}
.fix-btn a img {
  width: 101%;
  transform: translateX(-.5%)
}


