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

.sp_only {
  display: block;
}

.pc_only {
  display: none;
}

.header {
  background: #fff;
}
.header .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2.2135416667vw 2.6041666667vw 2.34375vw;
  box-sizing: border-box;
}
.header .inner .logo01 {
  width: 27.34375vw;
}
.header .inner .logo02 {
  width: 35.546875vw;
}

.fv {
  background: url(../img/sp_fv_bg.jpg) no-repeat top center/100%;
  height: 150.5208333333vw;
  padding-top: 9.1145833333vw;
  box-sizing: border-box;
}
.fv .inner .fv_text01 {
  color: #fff;
  font-size: 4.9479166667vw;
  text-align: center;
  letter-spacing: 0.06em;
}
.fv .inner .fv_text01 strong {
  display: inline-block;
  padding: 0.9114583333vw 1.953125vw 1.0416666667vw;
  background: #02bf89;
}
.fv .inner .fv_text01 strong:first-child {
  margin-bottom: 1.0416666667vw;
}
.fv .inner .fv_text02 {
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.06em;
  margin: 5.2083333333vw 0 3.90625vw;
}
.fv .inner nav .nav {
  display: flex;
  justify-content: center;
  gap: 1.953125vw;
}
.fv .inner nav .nav li a {
  display: block;
  color: #fff;
  font-size: 3.515625vw;
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.02em;
  width: 27.34375vw;
  height: 14.3229166667vw;
  padding-top: 4.1666666667vw;
  border-radius: 1.0416666667vw;
  background: #02bf89;
  box-sizing: border-box;
  position: relative;
}
.fv .inner nav .nav li a::before {
  content: "";
  display: block;
  width: 1.0416666667vw;
  margin: 0 auto;
  border: 1.3020833333vw solid transparent;
  border-left: 2.0833333333vw solid #fff;
  box-sizing: border-box;
  transform: rotate(90deg);
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2.6041666667vw;
}

.brand {
  background: url(../img/sp_brand_bg.jpg) no-repeat top center/100%;
}
.brand .inner {
  height: 136.8489583333vw;
  position: relative;
}
.brand .inner .brand_text {
  color: #fff;
  font-size: 3.515625vw;
  line-height: 1.48;
  letter-spacing: 0.04em;
  text-align: justify;
  width: 58.3333333333vw;
  margin: 23.4375vw auto 0;
}
.brand .inner .brand_text strong {
  font-weight: 700;
}
.brand .inner .brand_img {
  width: 83.3333333333vw;
  margin: 0 auto;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -32.5520833333vw;
}

.feature {
  background: #fff;
}
.feature .inner {
  padding: 25.390625vw 0 15.234375vw;
}
.feature .inner .top_tit {
  width: 13.0208333333vw;
  margin: 0 auto;
  padding-top: 5.5989583333vw;
}
.feature .inner .top_text {
  font-size: 4.6875vw;
  line-height: 1.55;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin: 2.6041666667vw 0 8.4635416667vw;
}
.feature .inner .point_box h2 {
  text-align: center;
  width: 90.625vw;
  margin: 0 auto 7.1614583333vw;
  position: relative;
}
.feature .inner .point_box h2::before, .feature .inner .point_box h2::after {
  content: "";
  display: block;
  width: 28.6458333333vw;
  height: 0.5208333333vw;
  border-top: 0.5208333333vw dotted #1a1a1a;
  position: absolute;
  bottom: 4.5572916667vw;
}
.feature .inner .point_box h2::before {
  left: 0;
}
.feature .inner .point_box h2::after {
  right: 0;
}
.feature .inner .point_box h2 img {
  width: 30.46875vw;
}
.feature .inner .point_box .worries_box {
  width: 82.03125vw;
  margin: 0 auto 7.8125vw;
  background: #e6e6e6;
  position: relative;
}
.feature .inner .point_box .worries_box .head {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 9.1145833333vw;
  background: #808080;
}
.feature .inner .point_box .worries_box .head strong {
  color: #fff;
  font-size: 4.5572916667vw;
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.feature .inner .point_box .worries_box .text {
  line-height: 1.85;
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.06em;
  padding: 3.90625vw 0 5.2083333333vw;
}
.feature .inner .point_box .worries_box .text strong {
  color: #02bf89;
  font-weight: 700;
}
.feature .inner .point_box .worries_box::after {
  content: "";
  width: 0;
  height: 0;
  border-left: 4.9479166667vw solid transparent;
  border-right: 4.9479166667vw solid transparent;
  border-top: 4.296875vw solid #e6e6e6;
  transform: translateX(-50%);
  position: absolute;
  left: 50%;
  bottom: -4.296875vw;
}
.feature .inner .point_box .box h3 {
  font-size: 5.859375vw;
  line-height: 1.5;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin-bottom: 3.90625vw;
}
.feature .inner .point_box .box h3 strong {
  color: #02bf89;
  font-weight: 700;
}
.feature .inner .point_box .box .text {
  line-height: 1.86;
  text-align: justify;
  font-weight: 500;
  letter-spacing: 0.06em;
  width: 78.125vw;
  margin: 0 auto;
}
.feature .inner .point_box .box .text strong {
  font-weight: 700;
}
.feature .inner .point_box .img01 {
  margin: 1.3020833333vw auto 6.5104166667vw;
}
.feature .inner .point_box .img02 {
  margin: 7.8125vw auto 14.9739583333vw;
}
.feature .inner .point_box .img03 {
  margin: 7.8125vw auto 0;
}

.cta {
  color: #fff;
  background: #00b185;
  padding: 11.0677083333vw 0 16.2760416667vw;
}
.cta .inner .request {
  text-align: center;
}
.cta .inner .request .tit {
  width: 24.4791666667vw;
  margin: 0 auto 5.2083333333vw;
}
.cta .inner .request .top_text {
  font-size: 5.078125vw;
  line-height: 1.8;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-bottom: 0.6510416667vw;
}
.cta .inner .request .top_text img {
  vertical-align: middle;
  width: 30.3385416667vw;
  margin-right: 1.953125vw;
  filter: drop-shadow(0.9114583333vw 0.9114583333vw 0.6510416667vw rgba(0, 0, 0, 0.15));
}
.cta .inner .request h3 {
  font-size: 8.7239583333vw;
  font-weight: 700;
  margin-bottom: 5.2083333333vw;
}
.cta .inner .request .cta_btn {
  margin-top: 3.90625vw;
}
.cta .inner .request .cta_btn .btn_box {
  font-size: 5.3385416667vw;
}
.cta .inner .contact {
  text-align: center;
  margin-top: 11.0677083333vw;
}
.cta .inner .contact .tit {
  width: 26.4322916667vw;
  margin: 0 auto 3.2552083333vw;
}
.cta .inner .contact h3 {
  font-size: 7.2916666667vw;
  line-height: 1.37;
  font-weight: 700;
  margin-bottom: 6.5104166667vw;
}
.cta .inner .contact .cta_btn {
  margin-top: 9.765625vw;
}
.cta .inner .cta_btn {
  width: 78.125vw;
  margin: 0 auto;
  position: relative;
}
.cta .inner .cta_btn .circle {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  color: #231f20;
  line-height: 4.4270833333vw;
  font-weight: 500;
  width: 15.625vw;
  height: 15.625vw;
  border-radius: 100%;
  background: #ffff00;
  position: absolute;
  top: -3.90625vw;
  left: -4.4270833333vw;
  z-index: 1;
}
.cta .inner .cta_btn .circle span {
  font-size: 120%;
}
.cta .inner .cta_btn .btn_box {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 4.5572916667vw;
  font-weight: 500;
  width: 78.125vw;
  height: 15.625vw;
  padding-left: 7.8125vw;
  border-radius: 1.8229166667vw;
  background: linear-gradient(to right, #ffb23f 0%, #ff8a50 100%);
  box-sizing: border-box;
}

.case {
  background: url(../img/sp_case_bg.jpg) no-repeat top center/100%, #fff;
}
.case .inner {
  padding: 31.9010416667vw 0 15.625vw;
  position: relative;
}
.case .inner .case_img {
  width: 39.0625vw;
  position: absolute;
  top: -5.5989583333vw;
  left: 0.5208333333vw;
}
.case .inner .top_tit {
  width: 25.78125vw;
  margin: 0 auto;
}
.case .inner h2 {
  font-size: 5.859375vw;
  line-height: 1.5;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin: 4.5572916667vw 0 5.2083333333vw;
}
.case .inner .arrow {
  width: 7.8125vw;
  margin: 0 auto 11.4583333333vw;
}
.case .inner .case_box {
  width: 89.5833333333vw;
  margin: 0 auto;
  padding: 15.234375vw 0 13.0208333333vw;
  background: #f6f6f6;
  position: relative;
  box-sizing: border-box;
}
.case .inner .case_box .name {
  display: flex;
  align-items: center;
  color: #fff;
  font-size: 4.1666666667vw;
  font-weight: 500;
  letter-spacing: 0.06em;
  width: 70.3125vw;
  height: 11.71875vw;
  padding-left: 3.90625vw;
  border-radius: 0 100vw 100vw 0;
  background: #02bf89;
  position: absolute;
  top: -5.859375vw;
  left: 0;
  box-sizing: border-box;
}
.case .inner .case_box .box01 {
  width: 73.4375vw;
  margin: 0 auto 8.4635416667vw;
}
.case .inner .case_box .box01 .img {
  width: 64.5833333333vw;
  margin: 0 auto 7.8125vw;
  filter: drop-shadow(1.3020833333vw 1.3020833333vw 1.3020833333vw rgba(0, 0, 0, 0.15));
}
.case .inner .case_box .box01 .text {
  line-height: 1.85;
  text-align: justify;
  font-weight: 500;
  letter-spacing: 0.04em;
}
.case .inner .case_box .box02 {
  width: 56.5104166667vw;
  margin: 0 auto;
}
.case .inner .case_box .box02 .url {
  font-size: 3.125vw;
  text-align: right;
  letter-spacing: 0.04em;
  margin-top: 3.90625vw;
}
.case .inner .case_more {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 5.3385416667vw;
  font-weight: 500;
  letter-spacing: 0.04em;
  width: 78.125vw;
  height: 15.625vw;
  margin: 9.1145833333vw auto 0;
  border-radius: 1.8229166667vw;
  background: #02bf89;
}

.strengths {
  background: url(../img/sp_strengths_bg.jpg) no-repeat top center/100%, #f6f6f6;
  padding: 27.34375vw 0 13.671875vw;
}
.strengths .inner h2 {
  color: #1a1a1a;
  font-size: 5.46875vw;
  line-height: 1.38;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.strengths .inner .logo {
  width: 57.8125vw;
  margin: 5.2083333333vw auto 2.6041666667vw;
}
.strengths .inner .text {
  line-height: 1.85;
  text-align: center;
  letter-spacing: 0.04em;
  margin-bottom: 4.5572916667vw;
}

.qa {
  background: #fff;
  padding: 10.4166666667vw 0 16.2760416667vw;
}
.qa .inner .top_tit {
  width: 11.0677083333vw;
  margin: 0 auto;
}
.qa .inner h2 {
  font-size: 8.3333333333vw;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin: 3.90625vw 0 7.8125vw;
}
.qa .inner .qa_list {
  width: 94.7916666667vw;
  margin: 0 auto;
}
.qa .inner .qa_list .qa_box:not(:first-child) {
  margin-top: 3.90625vw;
}
.qa .inner .qa_list .qa_box .qa_q {
  display: flex;
  align-items: center;
  color: #fff;
  min-height: 10.4166666667vw;
  padding: 2.34375vw 11.71875vw 2.9947916667vw 3.6458333333vw;
  border-radius: 0.6510416667vw;
  background: #999;
  position: relative;
  box-sizing: border-box;
  cursor: pointer;
}
.qa .inner .qa_list .qa_box .qa_q .text {
  display: flex;
  font-size: 4.1666666667vw;
  line-height: 1.37;
  font-weight: 500;
  letter-spacing: 0.04em;
}
.qa .inner .qa_list .qa_box .qa_q::before, .qa .inner .qa_list .qa_box .qa_q::after {
  content: "";
  width: 5.2083333333vw;
  height: 0.5208333333vw;
  background: #fff;
  position: absolute;
  top: 50%;
  right: 3.90625vw;
  transform: translateY(-50%);
}
.qa .inner .qa_list .qa_box .qa_q::after {
  transform: translateY(-50%) rotate(90deg);
  transition: transform 0.3s;
}
.qa .inner .qa_list .qa_box .qa_a {
  display: none;
  padding: 3.90625vw 3.90625vw 2.6041666667vw;
}
.qa .inner .qa_list .qa_box .qa_a .text {
  line-height: 1.85;
  text-align: justify;
  font-weight: 500;
  letter-spacing: 0.04em;
}
.qa .inner .qa_list .qa_box.active .qa_q::after {
  transform: translateY(-50%) rotate(0);
}

.footer {
  background: #333;
  padding: 10.4166666667vw 0 4.5572916667vw;
}
.footer .inner .footer_link {
  display: flex;
  justify-content: center;
  gap: 5.859375vw;
}
.footer .inner .footer_link a {
  display: block;
  color: #fff;
  font-size: 3.3854166667vw;
  text-decoration: underline;
  letter-spacing: 0.04em;
}
.footer .inner .logo_list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4.5572916667vw;
  margin: 5.859375vw 0 9.1145833333vw;
}
.footer .inner .logo_list .logo01 {
  width: 35.9375vw;
}
.footer .inner .logo_list .logo02 {
  width: 45.3125vw;
}
.footer .inner .copy {
  color: #fff;
  font-size: 3.125vw;
  text-align: center;
  letter-spacing: 0.04em;
}/*# sourceMappingURL=style_sp.css.map */