.pc_only {
  display: none;
}

.sp_only {
  display: block;
}

.yumin {
  font-family: 'Noto Serif JP', serif;
}

p {
  margin: 0;
}

img {
  border: none;
  vertical-align: bottom;
  width: 100%;
}

a {
  text-decoration: none;
}

a:hover img {
  opacity: 0.8;
  transition: all .3s;
}

ul,
li {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  line-height: 1em;
  font-weight: 600;
}

.head {
  height: 8vw;
  box-shadow: none;
}

.head img {
  margin-top: 1%;
}

.fv {
  height: 181.73333vw;
  background: url(../img/sp/fv_bg_sp.jpg) center 0 no-repeat;
  background-size: cover;
}

.fv .fvTtl h1 {
  font-size: 4.53333vw;
  left: 18%;
  top: 88%;
}

.fv .speed ul {
  position: static;
  width: 100%;
  padding: 0 5%;
  margin-bottom: 10%;
}

.fv .speed ul li {
  margin: 0;
  width: 22vw;
  height: 6vw;
  box-shadow: 0px 8px 16px -2px rgba(10, 10, 10, 0.1), 8px 9px 15px 1px rgba(0, 0, 0, 0.1);
}

.fv .speed ul li p {
  font-size: 2.93333vw;
  line-height: 6vw;
}

.fv__sTxt {
  width: 42.66667vw;
  left: 50%;
  top: 69%;
  padding-right: 3%;
}

.fv__sTxt p {
  writing-mode: inherit;
  text-align: left;
  font-size: 2.93333vw;
  line-height: 3.46667vw;
}

.fv .cta_wrap {
  margin-top: 35%;
}

.sec02 {
  background: url(../img/sp/sec02_bg_sp.jpg) center 0 no-repeat;
  background-size: cover;
  height: 248.8vw;
  padding-top: 0;
}

.sec02 h2 {
  font-size: 9.06667vw;
  line-height: 13.33333vw;
  padding-top: 9%;
  transform: translateX(-2%);
}

.sec02 h2 .quo_txt {
  font-size: 12vw;
  line-height: 14.93333vw;
  padding: 0 5.86667vw;
}

.sec02 h2 .quo_txt::before, .sec02 h2 .quo_txt::after {
  width: 5.86667vw;
  height: 4.8vw;
}

.sec02 h3 {
  font-size: 6.66667vw;
}

.sec02__txt01 {
  font-size: 3.46667vw;
  line-height: 6.4vw;
}

.sec02__arrow {
  margin-top: 6%;
}

.sec02__flex {
  flex-wrap: wrap;
  padding: 3% 9% 0;
}

.sec02__flex li {
  width: 37.33333vw;
  text-align: center;
}

.sec02__flex li img {
  width: 33.33333vw;
  box-shadow: 2.8vw 2.8vw 6.26667vw -0.8vw rgba(0, 0, 0, 0.3);
}

.sec02__flex li:nth-child(1), .sec02__flex li:nth-child(2) {
  margin-bottom: 8%;
}

.sec02__flex p {
  font-size: 4vw;
  line-height: 6.66667vw;
}

.sec03 {
  background: url(../img/sp/sec03_bg_sp.jpg) center 0 no-repeat;
  background-size: cover;
  height: 187.73333vw;
}

.sec03__conct {
  top: -6%;
}

.sec03__conct_box h2 {
  font-size: 4.8vw;
  line-height: 6.13333vw;
  top: 30%;
}

.sec03__conct_box img {
  width: 18.66667vw;
}

.sec03 .reasonList {
  flex-wrap: wrap;
  transform: translateX(0);
}

.sec03 .reasonList__wrap {
  top: 12%;
  left: 50%;
  width: 80%;
  transform: translateX(-50%);
}

.sec03 .reasonList__wrap h3 {
  font-size: 6.4vw;
}

.sec03 .reasonList__wrap p {
  font-size: 3.46667vw;
  line-height: 5.86667vw;
  margin-top: 6%;
}

.sec04 {
  background: url(../img/sp/sec04_bg_sp.jpg) center 0 no-repeat;
  background-size: cover;
  height: 142.66667vw;
}

.sec04 h2 {
  padding-top: 12%;
}

.sec04__txt {
  font-size: 3.46667vw;
  line-height: 6.4vw;
  width: 56vw;
  padding-top: 0;
}

.sec04__sTxt {
  position: static;
}

.sec04__sTxt p {
  writing-mode: inherit;
  text-align: left;
  font-size: 2.93333vw;
  line-height: 3.46667vw;
  width: 46.66667vw;
  margin: 6% 0 6% 8%;
}

.sec05 {
  background: url(../img/sp/sec05_bg_sp.jpg) center 0 no-repeat;
  background-size: cover;
  height: 470vw;
  padding-top: 7%;
}

.sec05__ttl h2 {
  font-size: 10.4vw;
  top: 20%;
}

.sec05__ttl p {
  bottom: 12%;
  right: 3%;
  font-size: 2.66667vw;
}

.sec05__ttl_b {
  font-size: 12vw;
}

.sec05__ttl_b02 {
  font-size: 21.86667vw;
}

.sec05__ttl sup {
  font-size: 2.66667vw;
}

.sec05__txt {
  margin-top: 0;
}

.sec05__txt h3 {
  font-size: 5.86667vw;
  line-height: 6.93333vw;
}

.sec05__txt02 {
  font-size: 3.46667vw;
  line-height: 6.4vw;
  margin-top: 5%;
}

.sec05 .sampList {
  flex-wrap: wrap;
  margin-top: 5%;
}

.sec05 .sampList li {
  width: 100%;
  margin-bottom: 0;
}

.sec05 .sampList__txt {
  font-size: 6.4vw;
}

.sec05 .sampList__sTxt {
  left: 11%;
  font-size: 20px;
  top: 65%;
}

.sec05 .sampList__txt02 {
  font-size: 3.73333vw;
}

.sec05 .sampList__shadow {
  position: static;
  width: 100%;
}

.sec05 .cta_wrap {
  margin-top: 3%;
}

.sec06_ttl {
  background-color: #0b0e2d;
  height: 21.33333vw;
  text-align: center;
  padding-top: 0;
}

.sec06_ttl h2 {
  top: 49%;
  left: 37%;
  font-size: 6.13333vw;
}

.sec06 {
  background: url(../img/sp/sec06_bg_sp.jpg) center 0 no-repeat;
  background-size: cover;
  height: 476vw;
}

.sec06__wrap {
  width: 84vw;
  margin-left: 8%;
}

.sec06__wrap h2 {
  font-size: 6.13333vw;
  padding-left: 0;
  line-height: 6.93333vw;
}

.sec06__wrap h2::before {
  width: 29.33333vw;
  height: 29.33333vw;
  top: -14vw;
  left: -4vw;
}

.sec06__wrap p {
  font-size: 3.46667vw;
  margin-top: 4%;
  line-height: 6.4vw;
}

.sec06__wrap_txts {
  text-align: right;
  margin-left: 74%;
  font-size: 2.66667vw;
}

.sec06__wrap01 {
  padding-top: 16%;
}

.sec06__wrap01 h2::before {
  background: url(../img/sp/merit_bg01_sp.png) top center no-repeat;
  background-size: contain;
}

.sec06__wrap02 {
  padding-top: 8%;
}

.sec06__wrap02 h2::before {
  background: url(../img/sp/merit_bg02_sp.png) top center no-repeat;
  background-size: contain;
}

.sec06__wrap03 {
  padding-top: 10%;
}

.sec06__wrap03 h2::before {
  background: url(../img/sp/merit_bg03_sp.png) top center no-repeat;
  background-size: contain;
}

.sec06__wrap04 {
  padding-top: 8%;
}

.sec06__wrap04 h2::before {
  background: url(../img/sp/merit_bg04_sp.png) top center no-repeat;
  background-size: contain;
}

.sec07 {
  background: url(../img/sp/sec07_bg_sp.png) center 0 no-repeat;
  background-size: cover;
  height: 165.86667vw;
  margin-top: -17%;
  padding-top: 14%;
}

.sec07__ttl_img {
  left: 8%;
  top: 0;
}

.sec07__ttl_img img {
  width: 14vw;
}

.sec07__ttl_img h2 {
  font-size: 3.33333vw;
}

.sec07__sTxt {
  top: 37%;
  left: 41%;
}

.sec07__sTxt p {
  font-size: 2.93333vw;
  line-height: 3.46667vw;
  writing-mode: inherit;
  text-align: left;
}

.sec07 .telWrap h3 {
  font-size: 5.33333vw;
  margin-bottom: 3%;
}

.contact, #form.step02 {
  padding-bottom: 10%;
}

.contact__ttl h2, #form.step02__ttl h2 {
  font-size: 6.13333vw;
  padding: 10% 0 3%;
}

.contact__ttl h2::before, #form.step02__ttl h2::before {
  width: 5.86667vw;
}

.contact__ttl p, #form.step02__ttl p {
  font-size: 3.46667vw;
  line-height: 5.86667vw;
}

.contact form, #form.step02 form {
  margin: 0 4%;
  padding: 0 0 5%;
}

.contact form .hankaku, #form.step02 form .hankaku {
  font-size: 2.66667vw;
}

.contact form th, #form.step02 form th {
  height: auto;
  font-size: 5.06667vw;
  line-height: 6.93333vw;
  padding-left: 17%;
  height: 8.93333vw;
  border-top: 8vw solid transparent;
}

.contact form th::before, #form.step02 form th::before {
  left: 0;
  top: -1vw;
  transform: none;
  width: 14.13333vw;
  height: 8.93333vw;
}

.contact form td label, #form.step02 form td label {
  font-size: 3.46667vw;
}

.contact form td input[type="radio"], #form.step02 form td input[type="radio"] {
  margin-right: 2%;
}

.contact form td input[type="text"], #form.step02 form td input[type="text"] {
  width: 15.46667vw;
}

.contact form td input[type="text"],
.contact form td input[type="tel"],
.contact form td input[type="email"], #form.step02 form td input[type="text"],
#form.step02 form td input[type="tel"],
#form.step02 form td input[type="email"] {
  height: 8vw;
  font-size: 3.46667vw;
}

.contact form td .error + .error, #form.step02 form td .error + .error {
  color: red;
  font-size: 2.66667vw;
}

.contact form .qa01::before, #form.step02 form .qa01::before {
  background: url(../img/sp/qa01_sp.png) top center no-repeat;
  background-size: contain;
}

.contact form .qa02::before, #form.step02 form .qa02::before {
  background: url(../img/sp/qa02_sp.png) top center no-repeat;
  background-size: contain;
}

.contact form .qa03::before, #form.step02 form .qa03::before {
  background: url(../img/sp/qa03_sp.png) top center no-repeat;
  background-size: contain;
}

.contact form .qa04::before, #form.step02 form .qa04::before {
  background: url(../img/sp/qa04_sp.png) top center no-repeat;
  background-size: contain;
}

.contact form .qa05::before, #form.step02 form .qa05::before {
  background: url(../img/sp/qa05_sp.png) top center no-repeat;
  background-size: contain;
}

.contact form .qa06::before, #form.step02 form .qa06::before {
  background: url(../img/sp/qa06_sp.png) top center no-repeat;
  background-size: contain;
}

.contact form .qa07::before, #form.step02 form .qa07::before {
  background: url(../img/sp/qa07_sp.png) top center no-repeat;
  background-size: contain;
}

.contact form .qa08::before, #form.step02 form .qa08::before {
  background: url(../img/sp/qa08_sp.png) top center no-repeat;
  background-size: contain;
}

.contact form .qa09::before, #form.step02 form .qa09::before {
  background: url(../img/sp/qa09_sp.png) top center no-repeat;
  background-size: contain;
}

.contact form .qa10::before, #form.step02 form .qa10::before {
  background: url(../img/sp/qa10_sp.png) top center no-repeat;
  background-size: contain;
}

.contact form .tableForm02 th, #form.step02 form .tableForm02 th {
  font-size: 3.46667vw;
  line-height: 4.26667vw;
}

.contact form .tableForm02 td input[type="text"], .contact form .tableForm02 td input[type="email"], .contact form .tableForm02 td select, #form.step02 form .tableForm02 td input[type="text"], #form.step02 form .tableForm02 td input[type="email"], #form.step02 form .tableForm02 td select {
  padding-left: 4%;
  height: 6.66667vw;
  background-color: #fff;
  font-size: 3.46667vw;
}

.contact form .tableForm02 .req::after, #form.step02 form .tableForm02 .req::after {
  font-size: 2.66667vw;
  line-height: initial;
  height: 4vw;
  padding: 0 2%;
  left: 19vw;
}

.contact #confirmBtn, #form.step02 #confirmBtn {
  background: url(../img/sp/submit_btn_sp.png) center 0 no-repeat;
  background-size: contain;
  width: 100%;
  height: 18vw;
  transform: translateX(1%);
}

#form.step02 {
  padding: 0 0 12%;
}

#form.step02 h2 {
  text-align: center;
  font-size: 6.13333vw;
  padding: 10% 0 3%;
}

#form.step02 h2::before {
  width: 5.86667vw;
}

#form.step02 form {
  margin: 0 3%;
}

#form.step02 form th {
  padding-right: 2%;
}

#form.step02 form th {
  top: -1vw;
}

#form.step02 form td {
  font-size: 3.46667vw;
  padding-left: 12%;
  padding-bottom: 7%;
}

#form.step02 form tr:nth-child(n+19) th {
  font-size: 3.46667vw;
  line-height: 4.26667vw;
  width: 30%;
}

#form.step02 form tr:nth-child(n+19) td {
  font-size: 3.46667vw;
  width: 70%;
}

#form.step02 form tr:nth-child(19)::before {
  left: 16vw;
  top: -4.5vw;
  font-size: 5.06667vw;
  line-height: 6.93333vw;
}

#form.step02 form tr:nth-child(19)::after {
  width: 14.13333vw;
  height: 8.93333vw;
  left: 0;
  top: -5vw;
}

#form.step02 form tr:nth-child(19) th {
  padding-top: 25%;
}

#form.step02 form tr:nth-child(20) td {
  padding-top: 25%;
}

#form.step02 .submit_wrap #backBtn {
  background: url(../img/sp/btn_back_sp.png) center 0 no-repeat;
  background-size: contain;
  width: 83.46667vw;
  height: 16.66667vw;
}

#form.step02 .submit_wrap #sendBtn {
  background: url(../img/sp/btn_send_sp.png) center 0 no-repeat;
  background-size: contain;
  width: 83.46667vw;
  height: 18.26667vw;
}

.contact.thanks {
  padding: 6% 3%;
  height: auto;
}

.contact.thanks.thanks h2 {
  padding: 10% 0 3%;
  font-size: 6.13333vw;
  line-height: 7.46667vw;
}

.contact.thanks.thanks .contact_ttl02 {
  letter-spacing: 1px;
  font-size: 3.46667vw;
  line-height: 5.86667vw;
}

.contact.thanks.thanks .to_top {
  padding-top: 6%;
}

.contact.thanks.thanks .to_top img {
  width: 71.46667vw;
}
/*# sourceMappingURL=style_sp.css.map */