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

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

.sp_only {
  display: block;
}

.pc_only {
  display: none;
}

#header {
  box-shadow: 0 0.6666666667vw 0.6666666667vw rgba(33, 94, 59, 0.2);
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
}
#header .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2.5333333333vw 3.3333333333vw 2.5333333333vw 1.8666666667vw;
}
#header .inner .logo {
  width: 42.2666666667vw;
}
#header .inner .head_right {
  display: flex;
  align-items: center;
}
#header .inner .head_right .head_tel {
  color: #47a47a;
  text-align: center;
}
#header .inner .head_right .head_tel .num a {
  color: #47a47a;
  font-size: 4.9333333333vw;
  font-weight: 700;
  padding-left: 4.9333333333vw;
  position: relative;
}
#header .inner .head_right .head_tel .num a::before {
  content: "";
  display: block;
  width: 4.4vw;
  height: 4.4vw;
  background: url(../img/tel_icon.svg) no-repeat top left/100%;
  transform: translateY(-50%);
  position: absolute;
  top: 55%;
  left: 0;
}
#header .inner .head_right .head_tel .time {
  font-size: 2.8vw;
  letter-spacing: 0.075em;
  margin-top: 1.3333333333vw;
}
#header .inner .head_right .head_tel .time span {
  display: inline-block;
  font-size: 2.4vw;
  letter-spacing: 0.04em;
  vertical-align: 0;
  padding: 0.2666666667vw 0.9333333333vw 0.4vw;
  margin-right: 0.9333333333vw;
  border: 1px solid #47a47a;
}

.float_area {
  display: flex;
  justify-content: center;
  gap: 2.6666666667vw;
  padding: 3.7333333333vw 0;
  background: #fff;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999999;
}
.float_area .tel {
  width: 13.4666666667vw;
}
.float_area .line {
  width: 35.0666666667vw;
}
.float_area .contact {
  width: 35.0666666667vw;
}

#fv {
  background: url("../img/sp_fv_bg.jpg") no-repeat top center/100%;
  height: 259.4666666667vw;
}
#fv .inner {
  padding-top: 25.0666666667vw;
  position: relative;
}
#fv .inner .fv_circle {
  width: 24vw;
  position: absolute;
  top: 17.3333333333vw;
  left: 9.0666666667vw;
}
#fv .inner .fv_text_area {
  width: 86.5333333333vw;
  height: 52.8vw;
  padding-top: 6.9333333333vw;
  margin-left: 7.2vw;
  margin-bottom: 41.2vw;
  box-sizing: border-box;
}
#fv .inner .fv_text_area .top_text {
  text-align: center;
  letter-spacing: 0.02em;
  width: 48.6666666667vw;
  height: 8.6666666667vw;
  margin-left: 26vw;
  background: #47a47a;
  transform: skewX(-27deg);
}
#fv .inner .fv_text_area .top_text span {
  display: inline-block;
  color: #fff;
  font-size: 5.6vw;
  line-height: 8.4vw;
  font-weight: 500;
  transform: skewX(27deg);
}
#fv .inner .fv_text_area .fv_text_img {
  width: 76.5333333333vw;
  margin: 4.5333333333vw auto 2.6666666667vw;
}
#fv .inner .fv_text_area .bot_text {
  color: #58bc00;
  font-size: 4.4vw;
  line-height: 1.57;
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.02em;
}
#fv .inner .fv_list {
  margin-bottom: 6.4vw;
}

.cta_box {
  width: 93.4666666667vw;
  height: 101.0666666667vw;
  margin: 0 auto;
  border-radius: 3.3333333333vw;
  background: #fff;
  filter: drop-shadow(2vw 2vw 2vw rgba(0, 155, 74, 0.3));
}
.cta_box .top_text_area {
  display: flex;
  justify-content: center;
  align-items: center;
}
.cta_box .top_text_area .text_box {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 21.2vw;
  height: 14.8vw;
  background: url(../img/sp_cta_text_bg.png) no-repeat top left/100%;
}
.cta_box .top_text_area .text_box span {
  color: #fff;
  font-size: 3.7333333333vw;
  line-height: 1.14;
  font-weight: 700;
  letter-spacing: 0.06em;
}
.cta_box .top_text_area .text_box.box02 {
  margin: 0 4.6666666667vw 0 1.4666666667vw;
}
.cta_box .top_text_area .top_text {
  color: #47a47a;
  font-size: 4.2666666667vw;
  line-height: 1.37;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.cta_box h2 {
  font-size: 6.2666666667vw;
  text-align: center;
  font-weight: 600;
  letter-spacing: 0.04em;
  margin: 5.3333333333vw 0 4vw;
}
.cta_box .bot_text {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 84.5333333333vw;
  padding: 2vw 0;
  margin: 0 auto;
  position: relative;
}
.cta_box .bot_text .line {
  display: block;
  width: 100%;
  height: 0.2666666667vw;
  position: absolute;
  left: 0;
}
.cta_box .bot_text .line::before, .cta_box .bot_text .line::after {
  content: "";
  display: block;
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.cta_box .bot_text .line::before {
  height: 0.2666666667vw;
  background: linear-gradient(90deg, rgb(88, 188, 0) 0%, rgb(85, 210, 101) 50%, rgb(82, 203, 206) 100%);
}
.cta_box .bot_text .line::after {
  height: 0.2666666667vw;
  background-image: linear-gradient(to right, transparent, transparent 0.2666666667vw, #fff 0.2666666667vw, #fff 0.5333333333vw);
  background-size: 0.5333333333vw 0.2666666667vw;
  z-index: 1;
}
.cta_box .bot_text .line.top {
  top: 0;
}
.cta_box .bot_text .line.bot {
  bottom: 0;
}
.cta_box .bot_text .tit {
  color: #fff;
  font-size: 3.7333333333vw;
  line-height: 4.6666666667vw;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.06em;
  width: 26vw;
  height: 4.9333333333vw;
  margin-right: 2.6666666667vw;
  border-radius: 2.6666666667vw;
  background: linear-gradient(90deg, rgb(88, 188, 0) 0%, rgb(85, 210, 101) 50%, rgb(82, 203, 206) 100%);
}
.cta_box .bot_text .text {
  color: #5ab16f;
  font-size: 3.7333333333vw;
  letter-spacing: 0.04em;
}
.cta_box .tel_area {
  margin: 2.2666666667vw 0 4.9333333333vw;
  color: #188d61;
}
.cta_box .tel_area .tel {
  text-align: center;
}
.cta_box .tel_area .tel a {
  color: #188d61;
  font-size: 10.6666666667vw;
  font-weight: 700;
  padding-left: 8.9333333333vw;
  position: relative;
}
.cta_box .tel_area .tel a::before {
  content: "";
  display: block;
  width: 7.4666666667vw;
  height: 7.4666666667vw;
  background: url(../img/tel_icon.svg) no-repeat top left/100%;
  transform: translateY(-50%);
  position: absolute;
  top: 55%;
  left: 0;
}
.cta_box .tel_area .time {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4vw;
  width: 61.4666666667vw;
  height: 6vw;
  padding-top: 0.5333333333vw;
  margin: 2.6666666667vw auto 0;
  box-sizing: border-box;
  position: relative;
}
.cta_box .tel_area .time::before, .cta_box .tel_area .time::after {
  content: "";
  display: block;
  width: 1.2vw;
  height: 6vw;
  border-top: 0.2666666667vw solid #47a47a;
  border-bottom: 0.2666666667vw solid #47a47a;
  position: absolute;
  top: 0;
}
.cta_box .tel_area .time::before {
  border-left: 0.2666666667vw solid #47a47a;
  left: 0;
}
.cta_box .tel_area .time::after {
  border-right: 0.2666666667vw solid #47a47a;
  right: 0;
}
.cta_box .tel_area .time p {
  letter-spacing: 0.1em;
}
.cta_box .cta_btn_area p {
  width: 81.2vw;
  margin: 3.7333333333vw auto 0;
}
.cta_box .cta_btn_area p.line {
  filter: drop-shadow(0 0.5333333333vw 0 rgba(12, 12, 12, 0.1));
}
.cta_box .cta_btn_area p.contact {
  filter: drop-shadow(0 0.5333333333vw 0 rgba(54, 58, 60, 0.1));
}

#worries {
  background: #fff;
  padding-bottom: 9.3333333333vw;
}
#worries .inner .worries_box {
  width: 93.3333333333vw;
  height: 98.5333333333vw;
  margin: 0 auto;
  background: url(../img/sp_worries_bg.png) no-repeat top left/100%;
}
#worries .inner .worries_box h2 {
  padding: 8.6666666667vw 0 16vw 4.6666666667vw;
}
#worries .inner .worries_box h2 strong {
  display: inline-block;
  font-size: 5.3333333333vw;
  line-height: 1.8;
  font-weight: 600;
  letter-spacing: 0.04em;
  background-image: linear-gradient(to right, #696d71, #696d71 0.2666666667vw, transparent 0.2666666667vw);
  background-size: 0.8vw 0.2666666667vw;
  background-position: left bottom;
  background-repeat: repeat-x;
}
#worries .inner .worries_box .worries_list_area {
  margin-bottom: 7.0666666667vw;
}
#worries .inner .worries_box .worries_list_area .worries_list {
  margin-left: 4.5333333333vw;
}
#worries .inner .worries_box .worries_list_area .worries_list:first-child {
  margin-bottom: 4.4vw;
}
#worries .inner .worries_box .worries_list_area .worries_list li {
  font-size: 3.6vw;
  padding-left: 5.3333333333vw;
  position: relative;
}
#worries .inner .worries_box .worries_list_area .worries_list li:not(:first-child) {
  margin-top: 4.4vw;
}
#worries .inner .worries_box .worries_list_area .worries_list li::before {
  content: "";
  display: block;
  width: 3.8666666667vw;
  height: 3.8666666667vw;
  background: url(../img/worries_check01.svg) no-repeat top left/100%;
  transform: translateY(-50%);
  position: absolute;
  top: 60%;
  left: 0;
}
#worries .inner .worries_bot_text {
  margin-top: 13.3333333333vw;
}
#worries .inner .worries_bot_text .text01 {
  font-size: 4vw;
  line-height: 1.66;
  text-align: center;
  letter-spacing: 0.04em;
}
#worries .inner .worries_bot_text .text02 {
  text-align: center;
  margin: 4vw 0 7.0666666667vw;
}
#worries .inner .worries_bot_text .text02 strong {
  font-size: 4.8vw;
  font-weight: 700;
  letter-spacing: 0.04em;
  background: linear-gradient(transparent 70%, rgba(249, 109, 76, 0.3) 70% 100%, transparent 100%);
}
#worries .inner .worries_bot_text .worries_bot_box {
  width: 93.4666666667vw;
  height: 29.6vw;
  margin: 0 auto;
  padding-top: 7.3333333333vw;
  background: url(../img/sp_worries_box.png) no-repeat top left/100%;
  box-sizing: border-box;
}
#worries .inner .worries_bot_text .worries_bot_box .text {
  color: #188d61;
  font-size: 5.0666666667vw;
  font-weight: 700;
  margin-left: 11.4666666667vw;
  padding-left: 6vw;
  position: relative;
}
#worries .inner .worries_bot_text .worries_bot_box .text::before {
  content: "";
  display: block;
  width: 4.2666666667vw;
  height: 4.2666666667vw;
  background: url(../img/worries_check02.svg) no-repeat top left/100%;
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  left: 0;
}
#worries .inner .worries_bot_text .worries_bot_box .text:not(:first-child) {
  margin-top: 4vw;
}
#worries .inner .worries_bot_text .text03 {
  font-size: 4.5333333333vw;
  text-align: center;
  font-weight: 700;
  margin-top: 7.0666666667vw;
}

#merit {
  background: url("../img/sp_merit_bg.jpg") no-repeat top center/100%;
  height: 383.6vw;
}
#merit .inner .merit_top_text {
  font-size: 3.4666666667vw;
  line-height: 1.8;
  text-align: center;
  letter-spacing: 0.04em;
  margin: 4.9333333333vw 0 16vw;
}
#merit .inner h3 {
  color: #fff;
  font-size: 4.5333333333vw;
  line-height: 1.5;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 7.3333333333vw;
}
#merit .inner .merit_list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4vw;
  margin-bottom: 33.3333333333vw;
}
#merit .inner .merit_list li {
  display: flex;
  align-items: center;
  gap: 6.4vw;
  width: 93.4666666667vw;
  padding-top: 4.6666666667vw;
  padding-left: 6.4vw;
  padding-bottom: 5.3333333333vw;
  background: #fff;
  box-shadow: 0 0.8vw 0.8vw rgba(0, 155, 74, 0.2);
  box-sizing: border-box;
}
#merit .inner .merit_list li .icon {
  width: 14.8vw;
}
#merit .inner .merit_list li .text_area h4 {
  color: #47a47a;
  font-size: 4.2666666667vw;
  line-height: 1.21;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin-bottom: 1.7333333333vw;
}
#merit .inner .merit_list li .text_area .text {
  line-height: 1.5;
  width: 61.7333333333vw;
}
#merit .inner .merit_list li:first-child .text_area .text {
  width: 63.2vw;
}

#feature {
  background: #fff;
  padding: 16vw 0 12.6666666667vw;
}
#feature .top_bubble {
  color: #fff;
  font-size: 4.6666666667vw;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.1em;
  width: 85.3333333333vw;
  height: 12vw;
  margin: 0 auto 3.0666666667vw;
  padding-top: 1.6vw;
  background: url(../img/feature_tit_bubble.png) no-repeat top left/100%;
  box-sizing: border-box;
}
#feature .tit_area {
  text-align: center;
  margin-bottom: 11.3333333333vw;
}
#feature .tit_area .tit01 span {
  display: inline-block;
  font-size: 4.6666666667vw;
  font-weight: 500;
  padding-bottom: 2vw;
  border-bottom: 1px solid #44484e;
}
#feature .tit_area .tit02 {
  font-size: 6.4vw;
  font-weight: 500;
  margin-top: 4vw;
  position: relative;
}
#feature .tit_area .tit02::before {
  content: "";
  display: block;
  width: 47.4666666667vw;
  height: 3.2vw;
  background: url(../img/feature_tit_line.png) no-repeat top left/100%;
  position: absolute;
  left: 4vw;
  bottom: -3.4666666667vw;
}
#feature .feature_box {
  margin-bottom: 8vw;
}
#feature .feature_box .inner {
  position: relative;
}
#feature .feature_box .inner .num {
  width: 18.5333333333vw;
  position: absolute;
  top: 0;
}
#feature .feature_box .inner .text_area .tit {
  color: #188d61;
  font-size: 5.0666666667vw;
  line-height: 1.57;
  font-weight: 600;
  letter-spacing: 0.075em;
}
#feature .feature_box .inner .text_area .text,
#feature .feature_box .inner .text_area .bot_text {
  line-height: 1.84;
  letter-spacing: 0.02em;
}
#feature .feature_box .inner .text_area .text strong,
#feature .feature_box .inner .text_area .bot_text strong {
  color: #f96d4c;
  font-weight: 500;
}
#feature .feature_box.feature01 {
  background: url("../img/sp_feature01_bg.jpg") no-repeat top center/100%;
  height: 97.6vw;
}
#feature .feature_box.feature01 .num {
  left: 10.2666666667vw;
}
#feature .feature_box.feature01 .text_area {
  padding: 21.3333333333vw 0 0 7.6vw;
}
#feature .feature_box.feature01 .text_area .text {
  width: 84.2666666667vw;
  margin-top: 21.3333333333vw;
}
#feature .feature_box.feature01 .name_area {
  display: flex;
  flex-direction: column-reverse;
  color: #47a47a;
  position: absolute;
  top: 44vw;
  left: 30.6666666667vw;
}
#feature .feature_box.feature01 .name_area .name01 {
  font-size: 3.2vw;
  font-weight: 600;
  margin-top: 1.3333333333vw;
}
#feature .feature_box.feature01 .name_area .name01 strong {
  font-size: 3.4666666667vw;
  font-weight: 600;
  vertical-align: 0;
}
#feature .feature_box.feature01 .name_area .name02 {
  font-size: 2.6666666667vw;
  letter-spacing: 0.06em;
}
#feature .feature_box.feature02 {
  background: url("../img/sp_feature02_bg.jpg") no-repeat top center/100%;
  height: 105.3333333333vw;
}
#feature .feature_box.feature02 .num {
  left: 45.8666666667vw;
}
#feature .feature_box.feature02 .feature_img {
  width: 32.6666666667vw;
  box-shadow: 2vw 2vw 0.9333333333vw rgba(0, 155, 74, 0.2);
  position: absolute;
  top: 11.7333333333vw;
  left: 8vw;
}
#feature .feature_box.feature02 .text_area {
  padding: 24vw 0 0 9.6vw;
}
#feature .feature_box.feature02 .text_area .tit {
  margin-left: 37.7333333333vw;
}
#feature .feature_box.feature02 .text_area .text {
  width: 83.8666666667vw;
  margin-top: 9.3333333333vw;
}
#feature .feature_box.feature02 .text_area .kome_area {
  margin-top: 2.6666666667vw;
}
#feature .feature_box.feature02 .text_area .kome_area p {
  display: flex;
  color: #696d71;
  font-size: 2.6666666667vw;
  line-height: 1.55;
  letter-spacing: 0.04em;
}
#feature .feature_box.feature02 .text_area .bot_text {
  margin-top: 3.3333333333vw;
}
#feature .feature_box.feature03 {
  background: url("../img/sp_feature03_bg.jpg") no-repeat top center/100%;
  height: 85.0666666667vw;
}
#feature .feature_box.feature03 .num {
  left: 10.2666666667vw;
}
#feature .feature_box.feature03 .text_area {
  padding: 28vw 0 0 7.6vw;
}
#feature .feature_box.feature03 .text_area .text {
  width: 84.2666666667vw;
  margin-top: 16vw;
}
#feature .feature_box.feature04 {
  background: url("../img/sp_feature04_bg.jpg") no-repeat top center/100%;
  height: 73.8666666667vw;
  margin-bottom: 0;
}
#feature .feature_box.feature04 .num {
  left: 45.8666666667vw;
}
#feature .feature_box.feature04 .text_area {
  padding: 23.3333333333vw 0 0 9.6vw;
}
#feature .feature_box.feature04 .text_area .tit {
  margin-left: 37.7333333333vw;
}
#feature .feature_box.feature04 .text_area .text {
  width: 83.8666666667vw;
  margin-top: 8.6666666667vw;
}

#flow {
  background: #fff;
  padding-bottom: 8.6666666667vw;
}
#flow .inner {
  background: url("../img/sp_flow_bg.jpg") no-repeat top center/100%;
  height: 271.4666666667vw;
  padding-top: 18.6666666667vw;
  box-sizing: border-box;
}
#flow .inner h2 {
  font-size: 6vw;
  text-align: center;
  font-weight: 600;
  letter-spacing: 0.06em;
  margin-bottom: 8.6666666667vw;
}
#flow .inner .flow_list .flow_box {
  width: 83.4666666667vw;
  margin: 0 auto;
  position: relative;
}
#flow .inner .flow_list .flow_box:not(:first-child) {
  margin-top: 19.3333333333vw;
}
#flow .inner .flow_list .flow_box::before {
  content: "";
  display: block;
  width: 20.5333333333vw;
  height: 5.2vw;
  margin: 0 auto;
  background: url(../img/step_arrow.svg) no-repeat top left/100%;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -12vw;
}
#flow .inner .flow_list .flow_box:first-child .text_area .tit_area {
  padding: 7.3333333333vw 0 12vw;
}
#flow .inner .flow_list .flow_box:first-child .text_area .tit_area h3 {
  font-size: 5.8666666667vw;
}
#flow .inner .flow_list .flow_box:nth-child(2) .text_area .tit_area {
  padding: 4vw 0 9.3333333333vw;
}
#flow .inner .flow_list .flow_box:last-child::before {
  content: none;
}
#flow .inner .flow_list .flow_box:last-child .text_area .tit_area {
  padding: 1.8666666667vw 0 6vw;
}
#flow .inner .flow_list .flow_box .img {
  width: 52.6666666667vw;
  position: absolute;
  top: 0;
  left: -5.4666666667vw;
}
#flow .inner .flow_list .flow_box .text_area .tit_area {
  margin-left: 47.0666666667vw;
}
#flow .inner .flow_list .flow_box .text_area .tit_area .step {
  width: 15.3333333333vw;
  position: relative;
}
#flow .inner .flow_list .flow_box .text_area .tit_area .step::after {
  content: "";
  display: block;
  width: 6vw;
  height: 1px;
  background: #7ebfa2;
  position: absolute;
  top: 50%;
  right: -8vw;
}
#flow .inner .flow_list .flow_box .text_area .tit_area h3 {
  color: #188d61;
  font-size: 4.8vw;
  line-height: 1.55;
  font-weight: 600;
  margin-top: 2.2666666667vw;
}
#flow .inner .flow_list .flow_box .text_area .text {
  line-height: 1.88;
  letter-spacing: 0.02em;
  width: 83.4666666667vw;
}

#cta {
  background: url("../img/sp_cta_bg.jpg") no-repeat top center/100%;
  height: 131.6vw;
  padding-top: 19.8666666667vw;
  box-sizing: border-box;
}

#faq {
  background: #fff;
  padding: 10.6666666667vw 0 14.6666666667vw;
}
#faq .inner .tit_area {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 9.3333333333vw;
}
#faq .inner .tit_area .tit_img {
  width: 27.4666666667vw;
}
#faq .inner .tit_area .tit {
  font-size: 5.0666666667vw;
  font-weight: 600;
  margin-left: 5.3333333333vw;
  padding-bottom: 1.3333333333vw;
}
#faq .inner .faq_list .box {
  width: 93.3333333333vw;
  margin: 6.6666666667vw auto 0;
}
#faq .inner .faq_list .box:first-child {
  margin-top: 0;
}
#faq .inner .faq_list .box .faq_q {
  display: flex;
  background: #58bc00;
  background: linear-gradient(90deg, rgb(88, 188, 0) 0%, rgb(85, 210, 101) 50%, rgb(82, 203, 206) 100%);
  cursor: pointer;
  position: relative;
}
#faq .inner .faq_list .box .faq_q::before, #faq .inner .faq_list .box .faq_q::after {
  content: "";
  display: block;
  width: 3.8666666667vw;
  height: 0.5333333333vw;
  margin-top: -0.2666666667vw;
  background: #fff;
  position: absolute;
  top: 50%;
  right: 3.0666666667vw;
}
#faq .inner .faq_list .box .faq_q::after {
  transform: rotate(90deg);
}
#faq .inner .faq_list .box .faq_q.open::after {
  content: none;
}
#faq .inner .faq_list .box .faq_q .num {
  width: 14.4vw;
  height: 8.6666666667vw;
  padding: 1.2vw 0 0 2.8vw;
  border-radius: 0 0 5.3333333333vw 0;
  background: #fff;
  box-sizing: border-box;
}
#faq .inner .faq_list .box .faq_q .num img {
  width: 8.2666666667vw;
}
#faq .inner .faq_list .box .faq_q .q_text {
  color: #fff;
  font-size: 4.2666666667vw;
  line-height: 1.37;
  font-weight: 500;
  letter-spacing: 0.02em;
  padding: 2vw 0 2.6666666667vw 2.9333333333vw;
}
#faq .inner .faq_list .box .faq_a {
  display: none;
}
#faq .inner .faq_list .box .faq_a .a_text {
  line-height: 1.88;
  letter-spacing: 0.05em;
  width: 76vw;
  padding: 4.9333333333vw 0 2.6666666667vw 13.3333333333vw;
  position: relative;
}
#faq .inner .faq_list .box .faq_a .a_text::before {
  content: "";
  display: block;
  width: 4.9333333333vw;
  height: 4vw;
  background: url(../img/faq_icon_a.png) no-repeat top left/100%;
  position: absolute;
  top: 5.3333333333vw;
  left: 3.4666666667vw;
}

#contact {
  background: url("../img/sp_contact_bg.jpg") no-repeat top center/100%, #f1fcf3;
  padding: 14.6666666667vw 0 16vw;
  box-sizing: border-box;
}
#contact.thanks {
  min-height: 100vh;
}
#contact .inner h2 {
  color: #47a47a;
  font-size: 6vw;
  text-align: center;
  font-weight: 600;
  padding-bottom: 2vw;
  position: relative;
}
#contact .inner h2::after {
  content: "";
  display: block;
  width: 30.6666666667vw;
  height: 0.2666666667vw;
  margin: 0 auto;
  background-image: linear-gradient(to right, #47a47a 0.2666666667vw, transparent 0.2666666667vw);
  background-size: 0.8vw 0.2666666667vw;
  background-repeat: repeat-x;
  background-position: left bottom;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}
#contact .inner .top_text {
  font-size: 2.9333333333vw;
  line-height: 2.04;
  text-align: center;
  margin: 6.6666666667vw 0 10.6666666667vw;
}
#contact .inner .form_area .form_table {
  width: 93.3333333333vw;
  margin: 0 auto;
}
#contact .inner .form_area .form_table tr:last-of-type td {
  padding-bottom: 0;
}
#contact .inner .form_area .form_table tr:nth-of-type(1) th::before, #contact .inner .form_area .form_table tr:nth-of-type(2) th::before, #contact .inner .form_area .form_table tr:nth-of-type(3) th::before, #contact .inner .form_area .form_table tr:nth-of-type(4) th::before {
  content: "必須";
  background: #ef704d;
}
#contact .inner .form_area .form_table tr:nth-of-type(5) th::before {
  content: "任意";
  background: #b3b3b3;
}
#contact .inner .form_area .form_table tr th,
#contact .inner .form_area .form_table tr td {
  display: block;
  text-align: left;
  font-weight: 400;
  vertical-align: top;
  letter-spacing: 0.06em;
  box-sizing: border-box;
}
#contact .inner .form_area .form_table tr th {
  font-size: 3.0666666667vw;
  padding-left: 3.0666666667vw;
  padding-bottom: 2vw;
  position: relative;
}
#contact .inner .form_area .form_table tr th::before {
  display: block;
  color: #fff;
  font-size: 2.5333333333vw;
  text-align: center;
  width: 7.3333333333vw;
  height: 3.7333333333vw;
  padding-top: 0.5333333333vw;
  box-sizing: border-box;
  position: absolute;
  top: -0.2666666667vw;
  left: 29.7333333333vw;
}
#contact .inner .form_area .form_table tr td {
  font-size: 2.9333333333vw;
  padding-bottom: 4.6666666667vw;
}
#contact .inner .form_area .form_table tr td input,
#contact .inner .form_area .form_table tr td textarea {
  color: #44484e;
  font-size: 2.9333333333vw;
  line-height: 1.4;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", "Yu Gothic Medium", "メイリオ", Meiryo, sans-serif;
  letter-spacing: 0.04em;
  width: 93.3333333333vw;
  border-radius: 0;
  border: 1px solid #a1a3a6;
  background: #fff;
  box-sizing: border-box;
}
#contact .inner .form_area .form_table tr td input::placeholder,
#contact .inner .form_area .form_table tr td textarea::placeholder {
  color: #ccc;
}
#contact .inner .form_area .form_table tr td input {
  height: 8vw;
  padding: 0 2.6666666667vw;
}
#contact .inner .form_area .form_table tr td textarea {
  height: 29.7333333333vw;
  padding: 1.3333333333vw 2.6666666667vw;
}
#contact .inner .form_area .privacy {
  text-align: center;
  margin: 7.0666666667vw 0 10.2666666667vw;
}
#contact .inner .form_area .privacy label {
  cursor: pointer;
}
#contact .inner .form_area .privacy label input[type=checkbox] {
  vertical-align: -0.4vw;
  width: 4.4vw;
  height: 4.4vw;
  margin: 0;
  border-radius: 0;
  border: 1px solid #a1a3a6;
  background: #fff;
  cursor: pointer;
  position: relative;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
#contact .inner .form_area .privacy label input[type=checkbox]:checked::before {
  content: "";
  width: 1.3333333333vw;
  height: 2.4vw;
  border-right: 0.4vw solid #ef704d;
  border-bottom: 0.4vw solid #ef704d;
  transform: rotate(50deg);
  position: absolute;
  top: 0.1333333333vw;
  left: 1.0666666667vw;
}
#contact .inner .form_area .privacy label span {
  vertical-align: 0.1333333333vw;
  margin-left: 2.2666666667vw;
}
#contact .inner .form_area .privacy label span a {
  text-decoration: underline;
}
#contact .inner .form_btn {
  text-align: center;
}
#contact .inner .form_btn input,
#contact .inner .form_btn a {
  display: block;
  width: 84.8vw;
  height: 14.1333333333vw;
  margin: 0 auto;
  cursor: pointer;
}
#contact .inner .form_btn input:hover,
#contact .inner .form_btn a:hover {
  opacity: 0.8;
}
#contact .inner .form_btn input:disabled,
#contact .inner .form_btn a:disabled {
  opacity: 0.5;
  cursor: default;
}
#contact .inner .form_btn input:disabled:hover,
#contact .inner .form_btn a:disabled:hover {
  opacity: 0.5;
}
#contact .inner .form_btn.conf input {
  background: url(../img/sp_form_btn_submit.png) no-repeat top left/100%;
}
#contact .inner .form_btn.back input {
  background: url(../img/sp_form_btn_back.png) no-repeat top left/100%;
}
#contact .inner .form_btn.submit input {
  background: url(../img/sp_form_btn_submit.png) no-repeat top left/100%;
}
#contact .inner .form_btn.back_page a {
  background: url(../img/sp_form_btn_top.png) no-repeat top left/100%;
}
#contact .inner .privacy_box {
  overflow-y: auto;
  width: 93.3333333333vw;
  height: 72.8vw;
  margin: 9.3333333333vw auto 0;
  background: #fff;
}
#contact .inner .privacy_box .privacy_in {
  padding: 4.6666666667vw 6vw;
}
#contact .inner .privacy_box .privacy_in h3 {
  font-size: 3.2vw;
  text-align: center;
  margin-bottom: 6.6666666667vw;
}
#contact .inner .privacy_box .privacy_in .text {
  font-size: 3.2vw;
  line-height: 1.66;
}
#contact.conf_wrap {
  min-height: 100vh;
}
#contact.conf_wrap .inner .top_text {
  margin: 6.6666666667vw 0 23.3333333333vw;
}
#contact.conf_wrap .inner .form_area {
  width: 93.3333333333vw;
  margin: 0 auto;
}
#contact.conf_wrap .inner .form_area .form_table {
  width: 100%;
  margin: 0;
}
#contact.conf_wrap .inner .form_area .form_table tr:first-of-type th {
  padding-top: 0;
}
#contact.conf_wrap .inner .form_area .form_table tr:first-of-type th::before {
  top: -0.2666666667vw;
}
#contact.conf_wrap .inner .form_area .form_table tr th,
#contact.conf_wrap .inner .form_area .form_table tr td {
  padding: 0;
  box-sizing: border-box;
}
#contact.conf_wrap .inner .form_area .form_table tr th {
  padding: 4.6666666667vw 0 4vw 3.2vw;
}
#contact.conf_wrap .inner .form_area .form_table tr th::before {
  top: 4.2666666667vw;
}
#contact.conf_wrap .inner .form_area .form_table tr td {
  line-height: 2.22;
  padding: 0vw 0 2.6666666667vw 3.2vw;
  border-bottom: 1px solid #a1a3a6;
}
#contact.conf_wrap .inner .form_area .btn_area {
  margin-top: 10.6666666667vw;
}
#contact.conf_wrap .inner .form_area .btn_area .form_btn:not(:first-child) {
  margin-top: 4.4vw;
}

#footer {
  background: url("../img/sp_footer_bg.jpg") no-repeat top center/100%;
  height: 163.0666666667vw;
  padding-top: 12vw;
  box-sizing: border-box;
}
#footer .inner .foot_img {
  width: 76.4vw;
  margin: 0 auto;
}
#footer .inner .foot_info {
  margin-top: 3.3333333333vw;
  position: relative;
}
#footer .inner .foot_info h2 {
  writing-mode: vertical-rl;
  color: #fff;
  font-size: 4.5333333333vw;
  font-weight: 400;
  letter-spacing: 0.2em;
  position: absolute;
  top: 0;
  left: 5.7333333333vw;
}
#footer .inner .foot_info .foot_table {
  display: flex;
  flex-wrap: wrap;
  width: 76.6666666667vw;
  margin-left: 17.3333333333vw;
}
#footer .inner .foot_info .foot_table dt,
#footer .inner .foot_info .foot_table dd {
  color: #fff;
  font-size: 3.4666666667vw;
  line-height: 1.69;
  letter-spacing: 0.04em;
  padding: 2.6666666667vw 0 2.6666666667vw 1.3333333333vw;
  border-bottom: 1px solid #85d6c8;
  box-sizing: border-box;
}
#footer .inner .foot_info .foot_table dt:last-of-type,
#footer .inner .foot_info .foot_table dd:last-of-type {
  border-bottom: none;
}
#footer .inner .foot_info .foot_table dt a,
#footer .inner .foot_info .foot_table dd a {
  color: #fff;
  position: relative;
}
#footer .inner .foot_info .foot_table dt a::before,
#footer .inner .foot_info .foot_table dd a::before {
  content: "";
  display: block;
  position: absolute;
  transform: translateY(-50%);
  top: 55%;
}
#footer .inner .foot_info .foot_table dt a.link::before,
#footer .inner .foot_info .foot_table dd a.link::before {
  width: 3.0666666667vw;
  height: 3.0666666667vw;
  background: url(../img/foot_icon_link.svg) no-repeat top left/100%;
  right: -4.9333333333vw;
}
#footer .inner .foot_info .foot_table dt a.tel,
#footer .inner .foot_info .foot_table dd a.tel {
  padding-left: 2.6666666667vw;
}
#footer .inner .foot_info .foot_table dt a.tel::before,
#footer .inner .foot_info .foot_table dd a.tel::before {
  width: 3.3333333333vw;
  height: 3.3333333333vw;
  background: url(../img/foot_icon_tel.svg) no-repeat top left/100%;
  left: -1.3333333333vw;
}
#footer .inner .foot_info .foot_table dt a.mail,
#footer .inner .foot_info .foot_table dd a.mail {
  padding-left: 6.9333333333vw;
}
#footer .inner .foot_info .foot_table dt a.mail::before,
#footer .inner .foot_info .foot_table dd a.mail::before {
  width: 4vw;
  height: 2.9333333333vw;
  background: url(../img/foot_icon_mail.svg) no-repeat top left/100%;
  left: 1.3333333333vw;
}
#footer .inner .foot_info .foot_table dt {
  width: 27.3333333333vw;
  margin-right: 3.2vw;
}
#footer .inner .foot_info .foot_table dd {
  width: 46.1333333333vw;
}
#footer .copy {
  width: 93.3333333333vw;
  margin: 0 auto;
  border-top: 1px solid #85d6c8;
  margin-top: 6.6666666667vw;
  padding-top: 4.6666666667vw;
}
#footer .copy p {
  color: #fff;
  font-size: 2.6666666667vw;
  text-align: center;
  letter-spacing: 0.06em;
}/*# sourceMappingURL=style_sp.css.map */