@charset "UTF-8";
body {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", "Yu Gothic Medium", "メイリオ", Meiryo, sans-serif !important;
  color: #333;
  font-size: 3.7333333333vw;
}

.sp_only {
  display: block;
}

.pc_only {
  display: none;
}

.float_area {
  background: #FFE0E3;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999;
}
.float_area .inner {
  display: flex;
  justify-content: center;
  gap: 1.3333333333vw;
  padding: 1.6vw 0;
}
.float_area .inner .tel_box a {
  display: block;
  color: #fff;
  width: 41.2vw;
  height: 20vw;
  padding-top: 2.9333333333vw;
  border-radius: 1.3333333333vw;
  background: #FC3334;
  box-sizing: border-box;
}
.float_area .inner .tel_box a .tel_text {
  font-size: 4.8vw;
  text-align: center;
  font-weight: 700;
  padding-left: 4vw;
  pointer-events: none;
  position: relative;
}
.float_area .inner .tel_box a .tel_text::before {
  content: "";
  display: block;
  width: 3.7333333333vw;
  height: 3.7333333333vw;
  background: url(../img/tel_icon_w.svg) no-repeat top left/100%;
  position: absolute;
  top: 0.9333333333vw;
  left: 1.2vw;
}
.float_area .inner .tel_box a .time {
  font-size: 2.9333333333vw;
  line-height: 4vw;
  text-align: center;
  margin-top: 1.3333333333vw;
}
.float_area .inner .tel_box a .time span {
  font-size: 2.4vw;
}
.float_area .inner .btn_list {
  display: flex;
  gap: 1.3333333333vw;
}
.float_area .inner .btn_list li a {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.08em;
  width: 26.6666666667vw;
  height: 20vw;
  padding-bottom: 5.0666666667vw;
  border-radius: 1.3333333333vw;
  box-sizing: border-box;
  position: relative;
}
.float_area .inner .btn_list li a::before {
  content: "";
  display: block;
  width: 3.7333333333vw;
  height: 3.7333333333vw;
  margin: 0 auto;
  background: url(../img/btn_arrow_r.svg) no-repeat top left/100%;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 1.3333333333vw;
}
.float_area .inner .btn_list li.line_btn a {
  font-size: 4vw;
  line-height: 1.26;
  background: #27CE00;
}
.float_area .inner .btn_list li.contact_btn a {
  font-size: 3.2vw;
  line-height: 1.33;
  background: #004D9C;
}

.header {
  background: #E84039;
}
.header .inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2.9333333333vw 3.6vw;
}
.header .inner .logo {
  width: 36.5333333333vw;
}
.header .inner .time {
  color: #fff;
  font-size: 3.2vw;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
.header .inner .time strong {
  font-weight: 500;
  letter-spacing: 0.12em;
}
.header .inner .time span {
  font-size: 3.4666666667vw;
}

.fv {
  background: url("../img/sp_fv_bg.jpg") no-repeat top center/100%;
  padding-top: 63.2vw;
  height: 158.5333333333vw;
  box-sizing: border-box;
}
.fv .inner .fv_box .fv_list {
  display: flex;
  justify-content: center;
  gap: 1.3333333333vw;
}
.fv .inner .fv_box .fv_list li {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 4.2666666667vw;
  font-weight: 500;
  height: 8vw;
  padding: 0 2.4vw;
  border-radius: 1.8666666667vw;
  background: #fff;
  box-sizing: border-box;
}
.fv .inner .fv_box .fv_list li span {
  color: #E65542;
}
.fv .inner .fv_box .fv_tit {
  width: 67.3333333333vw;
  margin: 4vw auto;
}
.fv .inner .fv_box .fv_text {
  font-size: 4.2666666667vw;
  line-height: 1.56;
  text-align: center;
  letter-spacing: 0.08em;
}
.fv .inner .fv_box .fv_area {
  display: flex;
  align-items: center;
  gap: 4vw;
  width: 73.6vw;
  height: 9.3333333333vw;
  margin: 6vw auto 1.7333333333vw;
  padding-left: 4vw;
  background: url(../img/fv_area_bg.png) no-repeat top left/100%;
  box-sizing: border-box;
}
.fv .inner .fv_box .fv_area p {
  color: #1F3889;
  font-size: 3.7333333333vw;
  font-weight: 700;
}
.fv .inner .fv_box .fv_area .tit {
  color: #fff;
  font-size: 3.2vw;
  margin-right: 1.0666666667vw;
}
.fv .inner .fv_box .fv_pay {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 73.6vw;
  height: 9.3333333333vw;
  padding-left: 5.3333333333vw;
  margin: 0 auto;
  border: 0.2666666667vw solid #1F3889;
  background: #fff;
  box-sizing: border-box;
  position: relative;
}
.fv .inner .fv_box .fv_pay .tomato {
  width: 13.4666666667vw;
  position: absolute;
  top: -3.3333333333vw;
  left: -6.8vw;
}
.fv .inner .fv_box .fv_pay .pay {
  color: #1F3889;
  font-size: 3.7333333333vw;
  font-weight: 700;
}
.fv .inner .fv_box .fv_pay .pay strong {
  color: #E65542;
  font-size: 4vw;
  font-weight: 700;
}

.cta {
  width: 86.6666666667vw;
  margin: 10.6666666667vw auto 12vw;
  padding: 4.6666666667vw 0 6.6666666667vw;
  background: #fff;
  border: 0.6666666667vw solid #FC3334;
  filter: drop-shadow(0.9333333333vw 0.9333333333vw 0.9333333333vw rgba(145, 10, 10, 0.2));
  box-sizing: border-box;
}
.cta .tel .top_text {
  color: #FC3334;
  font-size: 5.2vw;
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.1em;
  width: 36.6666666667vw;
  margin: 0 auto;
  position: relative;
}
.cta .tel .top_text::before, .cta .tel .top_text::after {
  content: "";
  display: block;
  width: 0.2666666667vw;
  height: 6.6666666667vw;
  background: #FC3334;
  position: absolute;
  top: 0;
}
.cta .tel .top_text::before {
  left: 0;
  transform: rotate(-40deg);
}
.cta .tel .top_text::after {
  right: 0;
  transform: rotate(40deg);
}
.cta .tel .tel_text {
  text-align: center;
  margin: 3.3333333333vw 0 2vw;
}
.cta .tel .tel_text a {
  display: inline-block;
  color: #FC3334;
  font-size: 8.9333333333vw;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding-left: 10.6666666667vw;
  pointer-events: none;
  position: relative;
}
.cta .tel .tel_text a::before {
  content: "";
  display: block;
  width: 8.9333333333vw;
  height: 8.6666666667vw;
  background: url(../img/tel_icon_r.svg) no-repeat top left/100%;
  position: absolute;
  top: 0.9333333333vw;
  left: 0;
}
.cta .tel .time {
  color: #FC3334;
  font-size: 3.4666666667vw;
  text-align: center;
}
.cta .btn_list {
  margin-top: 4vw;
}
.cta .btn_list li a {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 4.2666666667vw;
  text-align: center;
  font-weight: 500;
  line-height: 1.36;
  letter-spacing: 0.08em;
  width: 61.3333333333vw;
  height: 15.7333333333vw;
  margin: 0 auto;
  border-radius: 2vw;
  position: relative;
}
.cta .btn_list li a::before {
  content: "";
  display: block;
  width: 4vw;
  height: 4vw;
  margin-top: -8px;
  background: url(../img/btn_arrow_r.svg) no-repeat top left/100%;
  position: absolute;
  top: 50%;
  right: 4.4vw;
}
.cta .btn_list li.line_btn {
  margin-bottom: 2.4vw;
}
.cta .btn_list li.line_btn a {
  background: #27CE00;
}
.cta .btn_list li.contact_btn a {
  background: #004D9C;
}

.scene {
  width: 86.6666666667vw;
  margin: 0 auto;
  padding: 10.6666666667vw 0 12vw;
  margin-bottom: 21.3333333333vw;
  border-radius: 8vw;
  background: #FCEBE8;
}
.scene .tit_area .top_text {
  font-size: 5.3333333333vw;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 2vw;
}
.scene .tit_area .tit {
  width: 70.5333333333vw;
  height: 36.9333333333vw;
  margin: 0 auto;
  padding-top: 3.4666666667vw;
  background: url(../img/sp_scene_frame.svg) no-repeat top left/100%;
  box-sizing: border-box;
}
.scene .tit_area .tit .top {
  color: #fff;
  font-size: 4.5333333333vw;
  line-height: 6.2666666667vw;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.02em;
  width: 32.8vw;
  height: 6.5333333333vw;
  margin: 0 auto 1.3333333333vw;
  background: #FC3334;
}
.scene .tit_area .tit h2 {
  color: #FC3334;
  font-size: 6.6666666667vw;
  line-height: 1.4;
  text-align: center;
  font-weight: 700;
}
.scene .scene_list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4.6666666667vw 0;
  margin-top: 1.3333333333vw;
}
.scene .scene_list li {
  width: 43.3333333333vw;
  text-align: center;
}
.scene .scene_list li .img {
  display: flex;
  align-items: center;
  height: 29.3333333333vw;
  margin: 0 auto;
}
.scene .scene_list li h3 {
  color: #1F3889;
  font-size: 4.2666666667vw;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.04em;
  margin-bottom: 2vw;
}
.scene .scene_list li .text {
  font-size: 3.6vw;
  line-height: 1.5;
}
.scene .scene_list li:nth-child(1) .img {
  width: 29.7333333333vw;
}
.scene .scene_list li:nth-child(2) .img {
  width: 8.5333333333vw;
}
.scene .scene_list li:nth-child(3) .img {
  width: 36vw;
}
.scene .scene_list li:nth-child(4) .img {
  width: 17.7333333333vw;
}

.point {
  background: url(../img/sp_point_bg_top.jpg) no-repeat top center/100%, url(../img/sp_point_bg_bot.jpg) no-repeat top center/100%, #E54C4C;
  padding: 12vw 0 14vw;
  position: relative;
}
.point .inner .tomato {
  width: 14.9333333333vw;
  margin: 0 auto;
  position: absolute;
  top: -9.3333333333vw;
  left: 0;
  right: 0;
}
.point .inner .tit_area .top {
  color: #1A1A1A;
  font-size: 5.8666666667vw;
  line-height: 10.1333333333vw;
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.08em;
  width: 71.7333333333vw;
  height: 10.4vw;
  margin: 0 auto;
  border-radius: 1.3333333333vw;
  background: #fff;
  position: relative;
}
.point .inner .tit_area .top::before {
  content: "";
  display: block;
  width: 1.7333333333vw;
  height: 2.8vw;
  margin: 0 auto;
  border-radius: 0 0 100vw 100vw;
  background: #fff;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2.8vw;
}
.point .inner .tit_area h2 {
  width: 84.5333333333vw;
  margin: 5.6vw auto 8.6666666667vw;
}
.point .inner .point_list .point_box {
  width: 86.6666666667vw;
  margin: 0 auto;
  border: 0.8vw solid #CE363E;
  box-shadow: 1.3333333333vw 1.3333333333vw 0 #CE363E;
  background: #fff;
  box-sizing: border-box;
  position: relative;
}
.point .inner .point_list .point_box .img {
  width: 100%;
  position: absolute;
}
.point .inner .point_list .point_box .num {
  width: 24.2666666667vw;
  position: absolute;
}
.point .inner .point_list .point_box .text_area {
  padding-top: 58.6666666667vw;
  position: relative;
}
.point .inner .point_list .point_box .text_area h3 {
  line-height: 1;
  margin-left: 4.6666666667vw;
}
.point .inner .point_list .point_box .text_area h3 strong {
  display: inline-block;
  color: #fff;
  font-size: 6.6666666667vw;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 0.8vw 2.2666666667vw 1.0666666667vw;
  background: #FC3334;
}
.point .inner .point_list .point_box .text_area h3 strong:not(:first-child) {
  margin-top: 0.8vw;
}
.point .inner .point_list .point_box .text_area h3 strong span {
  color: #FFFF8D;
}
.point .inner .point_list .point_box .text_area .text {
  font-size: 3.7333333333vw;
  line-height: 8vw;
  letter-spacing: 0.04em;
  width: 77.3333333333vw;
  margin: 3.3333333333vw auto 0;
}
.point .inner .point_list .point_box .text_area .text span {
  color: #FC3334;
  font-size: 4vw;
  vertical-align: 0;
}
.point .inner .point_list .point_box .text_area .eradication {
  width: 80vw;
  margin: 6.6666666667vw auto 0;
}
.point .inner .point_list .point_box:nth-child(odd) .num {
  top: 49.3333333333vw;
  right: 2.2666666667vw;
}
.point .inner .point_list .point_box:nth-child(even) .text_area {
  padding-top: 58.6666666667vw;
}
.point .inner .point_list .point_box:nth-child(even) .num {
  top: 37.3333333333vw;
  left: 0.8vw;
}
.point .inner .point_list .point_box:nth-child(1) {
  padding-bottom: 8.6666666667vw;
}
.point .inner .point_list .point_box:nth-child(1) .img {
  top: -1.6vw;
}
.point .inner .point_list .point_box:nth-child(2) {
  margin: 13.3333333333vw auto 12vw;
  padding-bottom: 6.6666666667vw;
}
.point .inner .point_list .point_box:nth-child(2) .img {
  top: -3.3333333333vw;
}
.point .inner .point_list .point_box:nth-child(3) {
  padding-bottom: 6.6666666667vw;
}
.point .inner .point_list .point_box:nth-child(3) .img {
  top: -5.0666666667vw;
}

.pricearea {
  background: #fff;
  padding: 13.3333333333vw 0;
}
.pricearea .tit_area h2 {
  font-size: 6.6666666667vw;
  line-height: 1;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.06em;
}
.pricearea .tit_area .tit_img {
  width: 33.6vw;
  margin: 2.6666666667vw auto 8.6666666667vw;
}
.pricearea .pricearea_box .pricearea_table {
  width: 94.6666666667vw;
  border-spacing: 1.3333333333vw 0;
  margin: 0 auto;
}
.pricearea .pricearea_box .pricearea_table tr th, .pricearea .pricearea_box .pricearea_table tr td {
  vertical-align: middle;
}
.pricearea .pricearea_box .pricearea_table tr th {
  background: #DD4E4E;
  width: 24vw;
}
.pricearea .pricearea_box .pricearea_table tr th p {
  color: #fff;
  font-size: 4vw;
  text-align: center;
  font-weight: 700;
}
.pricearea .pricearea_box .pricearea_table tr td {
  background: #FDF3EF;
  padding: 5.3333333333vw 0 5.3333333333vw 2.6666666667vw;
}
.pricearea .pricearea_box .pricearea_table tr td .text {
  font-size: 3.6vw;
  line-height: 6.6666666667vw;
}
.pricearea .pricearea_box .pricearea_table tr td .text .font_24 {
  font-size: 4.5333333333vw;
  vertical-align: 0;
}
.pricearea .pricearea_box .pricearea_table tr:not(:first-of-type) th {
  border-top: 1px solid #fff;
}
.pricearea .pricearea_box .pricearea_table tr:not(:first-of-type) td {
  border-top: 1px dashed rgba(252, 51, 52, 0.5);
}
.pricearea .pricearea_box .pricearea_table tr:nth-of-type(2) td {
  padding: 4vw 0 4vw 2vw;
}
.pricearea .pricearea_box .pricearea_table tr:first-of-type th {
  border-radius: 2.6666666667vw 0 0 0;
}
.pricearea .pricearea_box .pricearea_table tr:first-of-type td {
  border-radius: 0 2.6666666667vw 0 0;
}
.pricearea .pricearea_box .pricearea_table tr:last-of-type th {
  border-radius: 0 0 0 2.6666666667vw;
}
.pricearea .pricearea_box .pricearea_table tr:last-of-type td {
  border-radius: 0 0 2.6666666667vw 0;
}

#contact {
  background: url(../img/sp_contact_bg.jpg) no-repeat top center/100%, #FBE3D7;
  padding: 12vw 0 16vw;
  min-height: calc(100vh - 10.4vw);
  box-sizing: border-box;
}
#contact .tit_area h2 {
  font-size: 6.6666666667vw;
  line-height: 1.4;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.06em;
}
#contact .tit_area .tit_img {
  width: 20.5333333333vw;
  margin: 4.6666666667vw auto 13.3333333333vw;
}
#contact input[type=text],
#contact input[type=tel] {
  padding: 0;
  border: none;
  border-radius: 0;
  background: none;
}
#contact textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  resize: none;
  padding: 0;
  border: 0;
  background: transparent;
}
#contact button,
#contact input[type=submit],
#contact input[type=button] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  background: transparent;
}
#contact .form_area {
  width: 86.6666666667vw;
  margin: 0 auto;
}
#contact .form_area .form_table tr th, #contact .form_area .form_table tr td {
  display: block;
  vertical-align: middle;
}
#contact .form_area .form_table tr th {
  text-align: left;
  font-weight: 400;
  letter-spacing: 0.04em;
  padding-left: 12.6666666667vw;
  box-sizing: border-box;
  position: relative;
}
#contact .form_area .form_table tr th::before {
  display: block;
  font-size: 2.8vw;
  line-height: 5.3333333333vw;
  text-align: center;
  letter-spacing: 0.04em;
  width: 9.3333333333vw;
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  left: 0;
}
#contact .form_area .form_table tr th span {
  font-size: 3.2vw;
  margin-left: 2.6666666667vw;
}
#contact .form_area .form_table tr td {
  padding: 2.2666666667vw 0 7.3333333333vw;
}
#contact .form_area .form_table tr td input,
#contact .form_area .form_table tr td textarea {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", "Yu Gothic Medium", "メイリオ", Meiryo, sans-serif;
  color: #333;
  font-size: 3.4666666667vw;
  letter-spacing: 0.04em;
  width: 86.6666666667vw;
  height: 9.3333333333vw;
  padding: 0 2.6666666667vw;
  border: 1px solid #AAA39C;
  background: #fff;
  border-radius: 1.3333333333vw;
  box-sizing: border-box;
}
#contact .form_area .form_table tr td input::placeholder,
#contact .form_area .form_table tr td textarea::placeholder {
  color: #ccc;
}
#contact .form_area .form_table tr td textarea {
  height: 48vw;
  padding: 1.3333333333vw 2.6666666667vw;
}
#contact .form_area .form_table tr td .min {
  width: 59.7333333333vw;
}
#contact .form_area .form_table tr td .dai {
  line-height: 9.3333333333vw;
  margin-left: 1.6vw;
}
#contact .form_area .req_area .form_table tr th::before {
  content: "必須";
  color: #fff;
  background: #E54C4C;
}
#contact .form_area .any_area .form_table tr th::before {
  content: "任意";
  color: #E54C4C;
  border: 1px solid #E54C4C;
}
#contact .form_area .any_area .sub_tit {
  margin: 6.6666666667vw 0 7.3333333333vw;
}
#contact .form_area .any_area .sub_tit h3 {
  font-size: 4.8vw;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.01em;
  margin-bottom: 3.3333333333vw;
}
#contact .form_area .any_area .sub_tit .kome {
  font-size: 3.2vw;
}
#contact .form_area .agree_area {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.3333333333vw;
  margin: 1.3333333333vw 0 16vw;
}
#contact .form_area .agree_area input[type=checkbox] {
  width: 4.5333333333vw;
  height: 4.5333333333vw;
}
#contact .form_area .agree_area label {
  font-size: 3.7333333333vw;
}
#contact .form_area .agree_area label a {
  text-decoration: underline !important;
}
#contact .form_area .contact_btn {
  display: block;
  color: #fff;
  font-size: 4.5333333333vw;
  line-height: 15.7333333333vw;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.14em;
  width: 86.6666666667vw;
  height: 16vw;
  margin: 0 auto;
  border-radius: 100vw;
  cursor: pointer;
  box-sizing: border-box;
  position: relative;
}
#contact .form_area .contact_btn:hover {
  opacity: 0.8;
}
#contact .form_area .conf_btn {
  background: url(../img/btn_arrow_r.svg) no-repeat #E84039;
  background-position: center right 4vw;
  background-size: 4.8vw;
}
#contact .form_area .conf_btn:disabled {
  opacity: 0.3;
  pointer-events: none;
}
#contact .form_area .back_btn {
  background: url(../img/btn_arrow_l.svg) no-repeat, #1F3889;
  background-position: center left 4vw;
  background-size: 4.8vw;
}
#contact .form_area .submit_btn {
  background: url(../img/btn_arrow_r.svg) no-repeat, #E84039;
  background-position: center right 4vw;
  background-size: 4.8vw;
  margin-top: 4vw;
}
#contact .form_area .top_btn {
  background: url(../img/btn_arrow_r.svg) no-repeat, #1F3889;
  background-position: center right 4vw;
  background-size: 4.8vw;
}
#contact .form_area {
  /*======================================================
    内容確認ページ
  ======================================================*/
}
#contact .form_area .form_table {
  width: 100%;
}
#contact .form_area .form_table tr td {
  display: flex;
  align-items: center;
}
#contact .form_area .form_table tr td p {
  line-height: 1.4;
  width: 100%;
  padding: 3.3333333333vw 0;
  border-bottom: 1px solid #AAA39C;
}
#contact .form_area .form_table tr td p.min {
  width: 26.6666666667vw;
}
#contact .form_area .agree {
  text-align: center;
  margin: 6.6666666667vw 0 16.6666666667vw;
}
#contact .form_area {
  /*======================================================
    サンクスページ
  ======================================================*/
}
#contact .form_area .thanks_text {
  line-height: 2.14;
  text-align: center;
  letter-spacing: 0.02em;
  margin-bottom: 14vw;
}

.copy {
  background: #DD4E4E;
  padding: 3.3333333333vw 0;
}
.copy.lp_copy {
  padding: 3.3333333333vw 0 26.6666666667vw;
}
.copy .copy_text {
  text-align: center;
}
.copy .copy_text small {
  color: #fff;
  font-size: 2.9333333333vw;
  letter-spacing: 0.08em;
}/*# sourceMappingURL=style_sp.css.map */