@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
html, body, div, span, iframe, h1, h2, h3, h4, h5, h6, p, img, small, strong, b, dl, dt, dd, ol, ul, li,
form, label, legend, table, tbody, tfoot, thead, tr, th, td, footer, header, menu, nav, section, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: bottom;
  background: transparent;
}

body {
  line-height: 1;
  -webkit-text-size-adjust: 100%;
}

ul li {
  list-style: none;
}

img {
  width: 100%;
}

a {
  margin: 0;
  padding: 0;
  color: #666;
  text-decoration: none;
  vertical-align: baseline;
}

a:hover {
  opacity: 0.7;
}

table {
  border-spacing: 0;
}

/* ===================================================================================
  resetここまで
=================================================================================== */
body {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", "Yu Gothic Medium", "メイリオ", Meiryo, sans-serif;
  color: #000;
  font-size: 3.6458333333vw;
}

.pc_none {
  display: block;
}

.sp_none {
  display: none;
}

.box01 {
  background: url("../img/sp_bg01.jpg") no-repeat top center/100%;
  height: 100.2604166667vw;
}
.box01 .fv_text {
  font-size: 3.6458333333vw;
  line-height: 1.82;
  font-weight: bold;
  letter-spacing: 0.04em;
  margin: 3.2552083333vw 0 0 3.90625vw;
}

.box02 {
  background: url("../img/sp_bg02.jpg") no-repeat top center/100%;
  height: 55.9895833333vw;
}
.box02 h2 {
  font-size: 6.5104166667vw;
  text-align: center;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.04em;
  padding-top: 5.2083333333vw;
  margin-bottom: 2.6041666667vw;
}
.box02 .text {
  font-size: 3.6458333333vw;
  text-align: center;
  line-height: 1.71;
  font-weight: 500;
  letter-spacing: 0.04em;
}

.box03 {
  background: url("../img/sp_bg03.jpg") no-repeat top center/100%;
  height: 106.7708333333vw;
  position: relative;
}
.box03 .point_list li {
  position: absolute;
}
.box03 .point_list li .text {
  font-size: 3.6458333333vw;
  text-align: center;
  line-height: 1.53;
  letter-spacing: 0.04em;
  position: absolute;
  top: 30.5989583333vw;
  left: 0;
  right: 0;
}
.box03 .point_list li .text strong {
  font-weight: bold;
  background: linear-gradient(transparent 60%, #FFF000 60% 90%, transparent 90%);
}
.box03 .point_list .point1 {
  width: 52.0833333333vw;
  margin: 0 auto;
  top: 2.34375vw;
  left: 0;
  right: 0;
}
.box03 .point_list .point2 {
  width: 51.0416666667vw;
  top: 47.7864583333vw;
  left: 0;
}
.box03 .point_list .point3 {
  width: 51.5625vw;
  top: 47.7864583333vw;
  right: 0;
}

.box04 {
  background: url("../img/sp_bg04.jpg") no-repeat top center/100%;
  height: 205.078125vw;
}
.box04 .top_text {
  font-size: 4.6875vw;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.04em;
  margin-bottom: 1.953125vw;
  padding-top: 11.71875vw;
}
.box04 h2 {
  text-align: center;
  margin-bottom: 14.9739583333vw;
}
.box04 h2 span {
  font-size: 6.9010416667vw;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.04em;
  border-bottom: solid 0.2604166667vw #000;
}
.box04 .text_area {
  width: 82.8125vw;
  margin: 5.859375vw auto 0;
}
.box04 .text_area .text {
  font-size: 3.6458333333vw;
  line-height: 1.71;
  letter-spacing: 0.06em;
}
.box04 .text_area .reduction {
  line-height: 2.18;
  margin: 2.6041666667vw 0 -3.90625vw;
}
.box04 .text_area .reduction span {
  color: #fff;
  font-size: 4.1666666667vw;
  font-weight: 500;
  letter-spacing: 0.06em;
  padding: 0.6510416667vw 1.3020833333vw 0.9114583333vw 1.3020833333vw;
  background: #000;
}
.box04 .text_area .reduction span strong {
  color: #FFF000;
  font-weight: normal;
}
.box04 .text_area .kome {
  display: flex;
  color: #808080;
  font-size: 2.0833333333vw;
  line-height: 1.5;
  letter-spacing: 0.02em;
  width: 37.109375vw;
  margin-left: 44.2708333333vw;
}
.box04 .text_area .kome span {
  color: #808080;
}

.box05 {
  background: url("../img/sp_bg05.jpg") no-repeat top center/100%;
  height: 164.5833333333vw;
}
.box05 h2 {
  color: #fff;
  font-size: 4.9479166667vw;
  text-align: center;
  font-weight: bold;
  line-height: 8.4635416667vw;
  letter-spacing: 0.08em;
  width: 83.0729166667vw;
  height: 11.71875vw;
  margin: 0 auto;
  padding-bottom: 3.2552083333vw;
  background: url(../img/sp_tit_reco.png) no-repeat 0 0/100%;
  box-sizing: border-box;
}
.box05 .reco_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 92.578125vw;
  margin: 4.4270833333vw auto 0;
}
.box05 .reco_list li {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 28.7760416667vw;
  height: 41.9270833333vw;
  margin-top: 3.3854166667vw;
  padding-top: 27.34375vw;
  box-shadow: 0.2604166667vw 0.9114583333vw 0.78125vw rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
}
.box05 .reco_list li:nth-child(-n+3) {
  margin-top: 0;
}
.box05 .reco_list li .text {
  font-size: 3.125vw;
  text-align: center;
  line-height: 1.41;
  font-weight: bold;
  letter-spacing: 0.04em;
}
.box05 .reco_list .reco01 {
  background: url(../img/img_reco01.png) no-repeat 0 0/100%;
}
.box05 .reco_list .reco02 {
  background: url(../img/img_reco02.png) no-repeat 0 0/100%;
}
.box05 .reco_list .reco03 {
  background: url(../img/img_reco03.png) no-repeat 0 0/100%;
}
.box05 .reco_list .reco04 {
  background: url(../img/img_reco04.png) no-repeat 0 0/100%;
}
.box05 .reco_list .reco05 {
  background: url(../img/img_reco05.png) no-repeat 0 0/100%;
}
.box05 .reco_list .reco06 {
  background: url(../img/img_reco06.png) no-repeat 0 0/100%;
}
.box05 .text01 {
  font-size: 4.6875vw;
  text-align: center;
  font-weight: bold;
  line-height: 1.52;
  letter-spacing: 0.04em;
  margin: 7.8125vw 0 2.6041666667vw;
}
.box05 .text02 {
  font-size: 3.6458333333vw;
  line-height: 1.71;
  letter-spacing: 0.04em;
  width: 90.8854166667vw;
  margin: 0 auto;
}

.box06 {
  background: url("../img/sp_bg06.jpg") no-repeat top center/100%;
  height: 210.9375vw;
}
.box06 .merit_list li {
  position: relative;
}
.box06 .merit_list li .text {
  line-height: 1.62;
  text-align: center;
  position: absolute;
  top: 19.7916666667vw;
  left: 42.3177083333vw;
}
.box06 .merit_list li .text span {
  display: block;
  font-size: 4.1666666667vw;
  line-height: 5.5989583333vw;
  font-weight: 500;
  letter-spacing: 0.04em;
  width: 50.6510416667vw;
  margin: 0 auto 1.171875vw;
  background: #fff;
  box-shadow: 0.2604166667vw 0.6510416667vw 1.3020833333vw rgba(0, 0, 0, 0.2);
}

.box07 {
  background: url("../img/sp_bg07.jpg") no-repeat top center/100%;
  height: 160.15625vw;
}
.box07 h2 {
  text-align: center;
  margin-bottom: 13.0208333333vw;
  padding-top: 15.625vw;
}
.box07 h2 span {
  font-size: 5.9895833333vw;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.08em;
  padding: 0 1.3020833333vw 1.953125vw;
  border-bottom: solid 0.2604166667vw #000;
}
.box07 .flow_list li {
  display: flex;
  align-items: center;
  margin-bottom: 3.515625vw;
}
.box07 .flow_list li .num {
  width: 18.6197916667vw;
}
.box07 .flow_list li .flow_box {
  width: 77.4739583333vw;
  padding: 3.90625vw 0 3.2552083333vw 5.2083333333vw;
  background: #000;
  box-sizing: border-box;
}
.box07 .flow_list li .flow_box h3 {
  display: flex;
  align-items: center;
  margin-bottom: 2.6041666667vw;
}
.box07 .flow_list li .flow_box h3::before {
  content: "";
  display: block;
  width: 14.84375vw;
  height: 11.328125vw;
}
.box07 .flow_list li .flow_box h3 span {
  color: #fff;
  font-size: 4.6875vw;
  font-weight: bold;
  line-height: 1.25;
  margin-left: 3.90625vw;
}
.box07 .flow_list li .flow_box .text {
  color: #fff;
  font-size: 3.6458333333vw;
  line-height: 1.71;
  letter-spacing: 0.04em;
  width: 68.359375vw;
}
.box07 .flow_list .flow01 .flow_box h3::before {
  background: url(../img/flow_icon01.png) no-repeat 0 0/100%;
}
.box07 .flow_list .flow02 .flow_box h3::before {
  background: url(../img/flow_icon02.png) no-repeat 0 0/100%;
}
.box07 .flow_list .flow03 .flow_box h3::before {
  background: url(../img/flow_icon03.png) no-repeat 0 0/100%;
}

.contact {
  background: url("../img/sp_bg_contact.jpg") no-repeat top center/100%, #FBFBFB;
  padding-top: 13.28125vw;
}
.contact h2 {
  color: #fff;
  font-size: 4.4270833333vw;
  font-weight: bold;
  text-align: center;
  line-height: 8.4635416667vw;
  letter-spacing: 0.08em;
  width: 53.90625vw;
  margin: 0 auto 11.71875vw;
  background: #000;
}
.contact .text_area {
  width: 92.1875vw;
  margin: 0 auto 5.859375vw;
  padding-bottom: 6.5104166667vw;
  border-bottom: solid 1px #F2F2F2;
}
.contact .text_area p {
  display: flex;
  font-size: 3.6458333333vw;
  line-height: 1.71;
}
.contact input[type=text] {
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none;
}
.contact select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent;
}
.contact textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  resize: none;
  padding: 0;
  border: 0;
  outline: none;
  background: transparent;
}
.contact button,
.contact input[type=submit],
.contact input[type=button] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
}
.contact .form_area {
  width: 92.3177083333vw;
  margin: 0 auto;
  padding-bottom: 16.9270833333vw;
}
.contact .form_area .formTable th, .contact .form_area .formTable td {
  display: block;
  text-align: left;
}
.contact .form_area .formTable th {
  font-size: 3.90625vw;
  font-weight: bold;
  line-height: 1.33;
  padding-bottom: 2.0833333333vw;
}
.contact .form_area .formTable th.req span {
  position: relative;
}
.contact .form_area .formTable th.req span::after {
  content: "必須";
  display: inline-block;
  font-size: 2.8645833333vw;
  line-height: 4.4270833333vw;
  text-align: center;
  font-weight: normal;
  background: #FFF333;
  width: 7.9427083333vw;
  height: 4.4270833333vw;
  margin-left: 2.2135416667vw;
}
.contact .form_area .formTable td {
  padding-bottom: 4.5572916667vw;
}
.contact .form_area .formTable td input[type=text] {
  font-size: 3.125vw;
  line-height: 10.9375vw;
  width: 92.3177083333vw;
  padding: 0 3.6458333333vw;
  background: #F2F2F2;
  box-sizing: border-box;
}
.contact .form_area .formTable td .select_box {
  width: 39.84375vw;
  position: relative;
}
.contact .form_area .formTable td .select_box::before {
  content: "";
  display: block;
  width: 2.2135416667vw;
  height: 1.4322916667vw;
  margin-top: -0.6510416667vw;
  background: url(../img/form_select_arrow.png) no-repeat 0 0/100%;
  position: absolute;
  top: 50%;
  right: 3.90625vw;
}
.contact .form_area .formTable td .select_box select {
  color: #000;
  font-size: 3.125vw;
  width: 39.84375vw;
  height: 10.9375vw;
  padding: 0 5.2083333333vw;
  border: solid 1px #999;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}
.contact .form_area .formTable td .select_box select::-ms-expand {
  display: none;
}
.contact .form_area .formTable td textarea {
  font-size: 3.125vw;
  line-height: 1.7;
  width: 92.3177083333vw;
  height: 30.9895833333vw;
  padding: 2.6041666667vw 3.515625vw;
  background: #F2F2F2;
  box-sizing: border-box;
}
.contact .form_area .form_btn {
  text-align: center;
}
.contact .form_area .form_btn input[type=submit],
.contact .form_area .form_btn input[type=button] {
  text-indent: -99999px;
  width: 75.5208333333vw;
  height: 11.71875vw;
}
.contact .form_area .form_btn.conf input[type=submit] {
  background: url(../img/sp_form_btn_conf.png) no-repeat 0 0/100%;
}
.contact .form_area .form_btn.fix input[type=button] {
  background: url(../img/sp_form_btn_fix.png) no-repeat 0 0/100%;
}
.contact .form_area .form_btn.send {
  margin-top: 3.125vw;
}
.contact .form_area .form_btn.send input[type=submit] {
  background: url(../img/sp_form_btn_send.png) no-repeat 0 0/100%;
}

.confirmation {
  min-height: 100vh;
}
.confirmation .text_area {
  margin: 0 auto 10.4166666667vw;
  padding-bottom: 9.1145833333vw;
  padding-left: 0 !important;
}
.confirmation .text_area p {
  justify-content: center;
  text-align: center;
}
.confirmation .form_area {
  width: 92.0572916667vw;
  margin: 0 auto;
}
.confirmation .form_area .err {
  margin-bottom: 11.71875vw;
}
.confirmation .form_area .err .error_messe {
  color: #FF0000;
  font-size: 3.6458333333vw;
  text-align: center;
  line-height: 1.4;
  margin-bottom: 6.5104166667vw;
}
.confirmation .form_area .formTable {
  width: 92.0572916667vw;
  margin: 0 auto;
}
.confirmation .form_area .formTable th {
  padding-bottom: 5.859375vw !important;
}
.confirmation .form_area .formTable td {
  line-height: 2;
  padding-bottom: 5.2083333333vw;
  margin-bottom: 9.1145833333vw;
  border-bottom: solid 2px #000;
}
.confirmation .form_area .formTable tr:last-of-type td {
  border-bottom: none;
}

.thanks {
  height: 100vh;
}
.thanks .text_area {
  margin: 0 auto 9.1145833333vw;
}
.thanks .text_area p {
  justify-content: center;
  text-align: center;
}
.thanks .btn_top {
  width: 66.1458333333vw;
  margin: 0 auto;
}/*# sourceMappingURL=style_sp.css.map */