@charset "UTF-8";
/* --------------------------------------------------
	section size
-------------------------------------------------- */
/* sec-fv
---------------------------------------------------------------------------- */
.sec-fv {
  background: url("../images/bg_fv.jpg") no-repeat center center;
  background-size: cover !important;
}
@media screen and (max-width: 767px) {
  .sec-fv {
    background: url("../images/bg_fv_sp.jpg") no-repeat center center;
  }
}
.sec-fv .sec-fv__wrapper {
  position: relative;
  width: 100%;
  max-width: 136.6rem;
  margin: 0 auto;
  padding: 4.8rem 0 5.3rem 0;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-fv .sec-fv__wrapper {
    text-align: center;
    max-width: inherit;
    padding: 4rem 3.5rem 5.2rem 3.5rem;
  }
}
.sec-fv .sec-fv__wrapper:after {
  position: absolute;
  right: 5.7rem;
  bottom: 0;
  display: block;
  content: "";
  width: 58.7rem;
  height: 63.1rem;
  background: url("../images/img_fv.png") no-repeat center center;
  background-size: 100% auto !important;
}
@media screen and (max-width: 767px) {
  .sec-fv .sec-fv__wrapper:after {
    right: 0;
    left: 0;
    top: 28rem;
    bottom: auto;
    margin: 0 auto;
    background: url("../images/img_fv_sp.png") no-repeat center center;
    width: 61.2rem;
    height: auto;
    aspect-ratio: 612/616;
    z-index: 1;
  }
}
@media screen and (max-width: 767px) {
  .sec-fv .sec-fv__wrapper .l-wrapper {
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .sec-fv .sec-fv__wrapper .fv-txt {
    position: relative;
    z-index: 2;
  }
}
.sec-fv .sec-fv__wrapper .fv-txt .ttl {
  display: inline-block;
  text-align: center;
  font-size: 2.2rem;
  line-height: 1;
  letter-spacing: 0.02em;
  font-weight: 900;
  color: #fff;
  background: #222;
  padding: 1rem 1.6rem;
  margin-bottom: 1rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-fv .sec-fv__wrapper .fv-txt .ttl {
    font-size: 3rem;
    line-height: 1;
    letter-spacing: 0.02em;
    font-weight: 900;
    padding: 1rem 1.7rem;
    margin-bottom: 0.5rem;
  }
}
.sec-fv .sec-fv__wrapper .fv-txt .lead-txt {
  font-size: 8.8rem;
  line-height: 1.2272727273;
  font-weight: 900;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .sec-fv .sec-fv__wrapper .fv-txt .lead-txt {
    text-align: center;
    font-size: 9.6rem;
    line-height: 1.25;
    font-weight: 900;
    margin-bottom: 51.5rem;
  }
}
.sec-fv .sec-fv__wrapper .fv-txt .lead-txt .small {
  font-size: 80%;
}
@media screen and (max-width: 767px) {
  .sec-fv .sec-fv__wrapper .fv-txt .lead-txt .col01 {
    position: relative;
    text-shadow: 2px 2px 0 rgb(255, 255, 255);
  }
  .sec-fv .sec-fv__wrapper .fv-txt .lead-txt .col01:after {
    position: absolute;
    left: 0;
    top: 0.9rem;
    display: block;
    content: "不確実性";
    font-size: 9.6rem;
    line-height: 1.25;
    font-weight: 900;
    color: transparent;
    text-shadow: 2px 2px 10px rgb(255, 255, 255);
    z-index: -1;
  }
}
.sec-fv .sec-fv__wrapper .fv-txt .subttl {
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 767px) {
  .sec-fv .sec-fv__wrapper .fv-txt .subttl {
    margin-bottom: 2.5rem;
  }
}
.sec-fv .sec-fv__wrapper .fv-txt .subttl span {
  font-size: 3.2rem;
  line-height: 1.40625;
  letter-spacing: 0.02em;
  font-weight: 900;
  border-bottom: 1px solid #9b0720;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-fv .sec-fv__wrapper .fv-txt .subttl span {
    font-size: 4.3rem;
    line-height: 1.3720930233;
    letter-spacing: 0.02em;
    font-weight: 900;
  }
}
.sec-fv .sec-fv__wrapper .fv-txt .txt {
  font-size: 2rem;
  line-height: 1.75;
  font-weight: 700;
}
.sec-fv .sec-fv__wrapper .fv-txt .txt .strong {
  font-weight: 900 !important;
}
@media screen and (max-width: 767px) {
  .sec-fv .sec-fv__wrapper .fv-txt .txt {
    text-align: center;
    font-size: 2.8rem;
    line-height: 1.6071428571;
    font-weight: 700;
  }
}
.sec-fv .sec-fv__wrapper .fv-txt .btn_wrap {
  margin-top: 4rem;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
  align-content: stretch;
  gap: 0 1.3rem;
}
@media screen and (max-width: 767px) {
  .sec-fv .sec-fv__wrapper .fv-txt .btn_wrap {
    margin-top: 3rem;
    gap: 0 1.5rem;
  }
}
.sec-fv .sec-fv__wrapper .fv-txt .btn_wrap .c-button {
  width: 26.5rem;
  height: 6.5rem;
}
@media screen and (max-width: 767px) {
  .sec-fv .sec-fv__wrapper .fv-txt .btn_wrap .c-button {
    width: calc((100% - 1.5rem) / 2);
    height: 9.7rem;
  }
}
.sec-fv .sec-fv__wrapper .fv-txt .btn_wrap .c-button:before {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  content: "";
  background-size: 100% auto !important;
  margin-right: 1.5rem;
}
@media screen and (max-width: 767px) {
  .sec-fv .sec-fv__wrapper .fv-txt .btn_wrap .c-button:before {
    top: 0.2rem;
    margin-right: 1rem;
  }
}
.sec-fv .sec-fv__wrapper .fv-txt .btn_wrap .c-button.-ico_form:before {
  background: url("../images/ico_form.svg") no-repeat center center;
  width: 1.9rem;
  height: 2.5rem;
}
@media screen and (max-width: 767px) {
  .sec-fv .sec-fv__wrapper .fv-txt .btn_wrap .c-button.-ico_form:before {
    width: 2.5rem;
    height: 3.3rem;
  }
}
.sec-fv .sec-fv__wrapper .fv-txt .btn_wrap .c-button.-ico_consultation:before {
  background: url("../images/ico_consultation.svg") no-repeat center center;
  width: 2.2rem;
  height: 2.2rem;
}
@media screen and (max-width: 767px) {
  .sec-fv .sec-fv__wrapper .fv-txt .btn_wrap .c-button.-ico_consultation:before {
    width: 2.8rem;
    height: 2.8rem;
  }
}

/* sec-worries
---------------------------------------------------------------------------- */
.sec-worries {
  padding: 5.6rem 0;
  background: url("../images/bg_worries.jpg") no-repeat center top;
  background-size: cover !important;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-worries {
    padding: 5.5rem 0 6rem 0;
    background: url("../images/bg_worries_sp.jpg") no-repeat center top;
  }
}
.sec-worries .worries-ttl {
  position: relative;
  font-size: 4rem;
  line-height: 1.35;
  letter-spacing: 0.04em;
  font-weight: 900;
  color: #fff;
  padding-left: 3.5rem;
  margin-bottom: 4.5rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-worries .worries-ttl {
    text-align: center;
    font-size: 4.8rem;
    line-height: 1.25;
    letter-spacing: -0.01em;
    font-weight: 900;
    padding-left: 0;
    margin-bottom: 3.6rem;
  }
}
.sec-worries .worries-ttl .small {
  display: block;
  font-size: 2.4rem;
  line-height: 2.25;
  letter-spacing: 0.05em;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .sec-worries .worries-ttl .small {
    text-align: center;
    font-size: 3rem;
    line-height: 2;
    letter-spacing: 0.03em;
    font-weight: 900;
  }
}
.sec-worries .worries-ttl:before {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  margin-top: 0.8rem;
  display: block;
  content: "";
  width: 0.7rem;
  height: 100%;
  background: #9b0720;
}
.sec-worries .worries-box_wrap .worries-box {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  align-content: stretch;
}
@media screen and (max-width: 767px) {
  .sec-worries .worries-box_wrap .worries-box {
    flex-direction: column;
  }
}
.sec-worries .worries-box_wrap .worries-box .box-ttl {
  position: relative;
  width: 23.5rem;
  text-align: center;
  font-size: 2.2rem;
  line-height: 1.6363636364;
  letter-spacing: 0.02em;
  font-weight: 900;
  background: #fff;
  padding: 2.1rem 0;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-worries .worries-box_wrap .worries-box .box-ttl {
    text-align: center;
    width: 100%;
    font-size: 3.2rem;
    line-height: 1.625;
    letter-spacing: 0.02em;
    font-weight: 900;
    padding: 2rem 0;
  }
}
.sec-worries .worries-box_wrap .worries-box .box-ttl .ico {
  display: block;
  margin: 0 auto 0.5rem auto;
}
@media screen and (max-width: 767px) {
  .sec-worries .worries-box_wrap .worries-box .box-ttl .ico {
    position: relative;
    top: -0.5rem;
    display: inline-block;
    margin: 0 1.4rem 0 0;
  }
}
.sec-worries .worries-box_wrap .worries-box .box-ttl:after {
  position: absolute;
  right: -1.3rem;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 0 8px 13px;
  border-color: transparent transparent transparent #fff;
}
@media screen and (max-width: 767px) {
  .sec-worries .worries-box_wrap .worries-box .box-ttl:after {
    right: 0;
    left: 0;
    top: auto;
    bottom: -2rem;
    transform: translateY(0);
    margin: 0 auto;
    border-width: 2rem 1.2rem 0 1.2rem;
    border-color: #fff transparent transparent transparent;
  }
}
.sec-worries .worries-box_wrap .worries-box .box-cnts {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  align-content: stretch;
  width: calc(100% - 23.5rem);
  border: 1px solid #fff;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-worries .worries-box_wrap .worries-box .box-cnts {
    width: 100%;
    padding: 2rem 4.5rem 0 4.5rem;
  }
}
.sec-worries .worries-box_wrap .worries-box .box-cnts .check-list {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  align-content: stretch;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .sec-worries .worries-box_wrap .worries-box .box-cnts .check-list {
    flex-direction: column;
  }
}
.sec-worries .worries-box_wrap .worries-box .box-cnts .check-list li {
  position: relative;
  width: 33.3333333333%;
}
@media screen and (max-width: 767px) {
  .sec-worries .worries-box_wrap .worries-box .box-cnts .check-list li {
    width: 100%;
    padding: 3rem 0;
  }
}
.sec-worries .worries-box_wrap .worries-box .box-cnts .check-list li:after {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  content: "";
  width: 1px;
  height: 9rem;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .sec-worries .worries-box_wrap .worries-box .box-cnts .check-list li:after {
    left: 0;
    top: auto;
    bottom: 0;
    transform: translateY(0);
    margin: 0 auto;
    width: 100%;
    height: 1px;
  }
}
.sec-worries .worries-box_wrap .worries-box .box-cnts .check-list li span {
  position: relative;
  display: inline-block;
  font-size: 1.6rem;
  line-height: 1.4375;
  letter-spacing: 0.02em;
  font-weight: 700;
  color: #fff;
  padding-left: 3rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-worries .worries-box_wrap .worries-box .box-cnts .check-list li span {
    font-size: 2.6rem;
    line-height: 1.2307692308;
    letter-spacing: 0.02em;
    font-weight: 700;
    padding-left: 5.2rem;
  }
}
.sec-worries .worries-box_wrap .worries-box .box-cnts .check-list li span:before {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  content: "";
  background: url("../images/ico01_check.svg") no-repeat center center;
  background-size: 100% 100%;
  width: 1.9rem;
  height: 2.2rem;
}
@media screen and (max-width: 767px) {
  .sec-worries .worries-box_wrap .worries-box .box-cnts .check-list li span:before {
    left: 0.6rem;
    width: 2.6rem;
    height: 2.8rem;
  }
}
.sec-worries .worries-box_wrap .worries-box .box-cnts .check-list li:nth-of-type(1) {
  padding-left: 3.8rem;
}
@media screen and (max-width: 767px) {
  .sec-worries .worries-box_wrap .worries-box .box-cnts .check-list li:nth-of-type(1) {
    padding-left: 0;
  }
}
.sec-worries .worries-box_wrap .worries-box .box-cnts .check-list li:nth-of-type(2) {
  padding-left: 2.8rem;
}
@media screen and (max-width: 767px) {
  .sec-worries .worries-box_wrap .worries-box .box-cnts .check-list li:nth-of-type(2) {
    padding-left: 0;
  }
}
.sec-worries .worries-box_wrap .worries-box .box-cnts .check-list li:nth-of-type(3) {
  padding-left: 2rem;
}
.sec-worries .worries-box_wrap .worries-box .box-cnts .check-list li:nth-of-type(3):after {
  display: none;
}
@media screen and (max-width: 767px) {
  .sec-worries .worries-box_wrap .worries-box .box-cnts .check-list li:nth-of-type(3) {
    padding-left: 0;
  }
}
.sec-worries .worries-box_wrap .worries-box + .worries-box {
  margin-top: 1.8rem;
}
@media screen and (max-width: 767px) {
  .sec-worries .worries-box_wrap .worries-box + .worries-box {
    margin-top: 3rem;
  }
}
.sec-worries .worries-box_wrap .worries-box:nth-of-type(1) .box-ttl .ico {
  width: 1.9rem;
}
@media screen and (max-width: 767px) {
  .sec-worries .worries-box_wrap .worries-box:nth-of-type(1) .box-ttl .ico {
    width: 2.6rem;
  }
}
.sec-worries .worries-box_wrap .worries-box:nth-of-type(2) .box-ttl .ico {
  width: 2.5rem;
}
@media screen and (max-width: 767px) {
  .sec-worries .worries-box_wrap .worries-box:nth-of-type(2) .box-ttl .ico {
    width: 3.4rem;
  }
}
.sec-worries .worries-box_wrap .worries-box:nth-of-type(3) .box-ttl .ico {
  width: 2.6rem;
}
@media screen and (max-width: 767px) {
  .sec-worries .worries-box_wrap .worries-box:nth-of-type(3) .box-ttl .ico {
    width: 3.6rem;
  }
}

/* sec-solution
---------------------------------------------------------------------------- */
.sec-solution {
  position: relative;
  background: #fff;
  padding: 4.5rem 0 3rem 0;
}
@media screen and (max-width: 767px) {
  .sec-solution {
    padding: 5.5rem 0 5rem 0;
  }
}
.sec-solution:after {
  position: absolute;
  right: 0;
  top: 0;
  display: block;
  content: "";
  background: url("../images/bg_solution.png") no-repeat center center;
  background-size: 100% auto;
  width: 136.6rem;
  height: 52.4rem;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .sec-solution:after {
    width: 100%;
    height: auto;
    aspect-ratio: 1366/524;
  }
}
.sec-solution .l-inner {
  position: relative;
  z-index: 2;
}
.sec-solution .solution-ttl {
  text-align: center;
  font-size: 3.4rem;
  line-height: 1.3235294118;
  letter-spacing: 0.04em;
  font-weight: 900;
  margin-bottom: 1.2rem;
}
@media screen and (max-width: 767px) {
  .sec-solution .solution-ttl {
    font-size: 4rem;
    line-height: 1.25;
    letter-spacing: -0.06em;
    font-weight: 900;
    margin-bottom: 1.5rem;
  }
}
.sec-solution .lead-txt {
  text-align: center;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .sec-solution .lead-txt {
    font-size: 2.6rem;
    line-height: 1.5;
    letter-spacing: 0.012em;
    font-weight: 700;
  }
}
.sec-solution .solution-box_wrap {
  margin-top: 3.5rem;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  align-content: stretch;
  gap: 0 4rem;
}
@media screen and (max-width: 767px) {
  .sec-solution .solution-box_wrap {
    flex-direction: column;
    gap: 4.5rem 0;
  }
}
.sec-solution .solution-box_wrap .solution-box01 {
  width: calc(100% - 48rem);
}
@media screen and (max-width: 767px) {
  .sec-solution .solution-box_wrap .solution-box01 {
    width: 100%;
  }
}
.sec-solution .solution-box_wrap .solution-box01 .check-list li {
  position: relative;
  font-size: 1.6rem;
  line-height: 1.375;
  letter-spacing: 0.02em;
  font-weight: 900;
  background: #f2f2f2;
  padding: 1.4rem 1.5rem 1.8rem 7.6rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-solution .solution-box_wrap .solution-box01 .check-list li {
    font-size: 2.2rem;
    line-height: 1.3636363636;
    letter-spacing: 0.02em;
    font-weight: 900;
    padding: 1.8rem 1.5rem 2.4rem 10rem;
  }
}
.sec-solution .solution-box_wrap .solution-box01 .check-list li:before {
  position: absolute;
  left: 2.5rem;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  content: "";
  background: url("../images/ico02_check.svg") no-repeat center center;
  background-size: 100% auto;
  width: 3.1rem;
  height: 3rem;
}
@media screen and (max-width: 767px) {
  .sec-solution .solution-box_wrap .solution-box01 .check-list li:before {
    left: 3.6rem;
    width: 4.1rem;
    height: 3.9rem;
  }
}
.sec-solution .solution-box_wrap .solution-box01 .check-list li .strong {
  font-size: 130%;
}
.sec-solution .solution-box_wrap .solution-box01 .check-list li + li {
  margin-top: 1rem;
}
.sec-solution .solution-box_wrap .solution-box02 {
  width: 44rem;
  background: #fff;
  padding: 3.8rem 3.4rem 3.5rem 3.4rem;
  box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-solution .solution-box_wrap .solution-box02 {
    width: calc(100% - 12.6rem);
    padding: 4.7rem 4rem 4rem 4rem;
    margin: 0 auto;
    box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.1);
  }
}
.sec-solution .solution-box_wrap .solution-box02 .subttl {
  width: 100%;
  margin: 0 auto 2.5rem auto;
}
@media screen and (max-width: 767px) {
  .sec-solution .solution-box_wrap .solution-box02 .subttl {
    margin: 0 auto 3rem auto;
  }
}
.sec-solution .solution-box_wrap .solution-box02 .solution-list {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  align-content: stretch;
  gap: 0.8rem 0.8rem;
}
.sec-solution .solution-box_wrap .solution-box02 .solution-list li {
  width: calc((100% - 0.8rem) / 2);
  text-align: center;
  font-size: 1.9rem;
  line-height: 1.4736842105;
  letter-spacing: -0.05em;
  font-weight: 900;
  color: #fff;
  background-image: linear-gradient(90deg, #222, #424242);
  padding: 2.2rem 0;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-solution .solution-box_wrap .solution-box02 .solution-list li {
    font-size: 2.3rem;
    line-height: 1.4782608696;
    letter-spacing: -0.05em;
    font-weight: 900;
    padding: 2.8rem 0;
  }
}

/* sec-reason
---------------------------------------------------------------------------- */
.sec-reason {
  position: relative;
  background: url("../images/bg_reason.jpg") no-repeat center top;
  background-size: cover !important;
}
@media screen and (max-width: 767px) {
  .sec-reason {
    background: url("../images/bg_reason_sp.jpg") no-repeat center top;
  }
}
.sec-reason:before {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5.8rem 50vw 0 50vw;
  border-color: #fff transparent transparent transparent;
}
@media screen and (max-width: 767px) {
  .sec-reason:before {
    border-width: 3.7rem 50vw 0 50vw;
  }
}
.sec-reason .reason__wrapper {
  position: relative;
  padding: 12rem 0 4.7rem 0;
  width: 100%;
  max-width: 136.6rem;
  margin: 0 auto;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-reason .reason__wrapper {
    padding: 9.4rem 0 6.2rem 0;
    max-width: inherit;
  }
}
.sec-reason .reason__wrapper:after {
  position: absolute;
  left: 5.5rem;
  bottom: 0;
  display: block;
  content: "";
  background: url("../images/img_reason.png") no-repeat center center;
  background-size: 100% auto;
  width: 52rem;
  height: 50.2rem;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .sec-reason .reason__wrapper:after {
    left: 0;
    right: 0;
    bottom: 14.1rem;
    margin: 0 auto;
    width: 32.6rem;
    height: 31.5rem;
  }
}
.sec-reason .l-wrapper {
  position: relative;
  z-index: 2;
}
.sec-reason .txt-wrap {
  width: 64rem;
  margin: 0 0 0 auto;
}
@media screen and (max-width: 767px) {
  .sec-reason .txt-wrap {
    width: 100%;
  }
}
.sec-reason .txt-wrap .ttl {
  font-size: 2.5rem;
  line-height: 1.8;
  letter-spacing: -0.03em;
  font-weight: 900;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .sec-reason .txt-wrap .ttl {
    text-align: center;
    font-size: 2.7rem;
    line-height: 1.6666666667;
    letter-spacing: -0.03em;
    font-weight: 900;
    margin-bottom: 1.5rem;
  }
}
.sec-reason .txt-wrap .lead-txt {
  font-size: 2.7rem;
  line-height: 1.4814814815;
  letter-spacing: -0.03em;
  font-weight: 900;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .sec-reason .txt-wrap .lead-txt {
    text-align: center;
    font-size: 2.9rem;
    line-height: 1.724137931;
    letter-spacing: -0.03em;
    font-weight: 900;
    margin-bottom: 2.5rem;
  }
}
.sec-reason .txt-wrap .lead-txt .strong {
  font-size: 130%;
  font-weight: 900;
  border-bottom: 1px solid #9b0720;
}
.sec-reason .txt-wrap .txt {
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: -0.05em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .sec-reason .txt-wrap .txt {
    font-size: 2.4rem;
    line-height: 1.625;
    font-weight: 500;
    letter-spacing: 0;
  }
}
.sec-reason .txt-wrap .txt .strong {
  font-weight: 900;
  font-size: 120%;
}
.sec-reason .txt-wrap .txt + .txt {
  margin-top: 1rem;
}
.sec-reason .txt-wrap02 {
  margin-top: 2.6rem;
}
@media screen and (max-width: 767px) {
  .sec-reason .txt-wrap02 {
    margin-top: 27.5rem;
  }
}
.sec-reason .txt-wrap02 .txt {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  align-content: stretch;
  flex-direction: column;
  gap: 0.8rem 0;
  text-align: center;
  font-size: 2.4rem;
  line-height: 1.6666666667;
  letter-spacing: 0.01em;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .sec-reason .txt-wrap02 .txt {
    font-size: 2.6rem;
    line-height: 2;
    letter-spacing: 0.01em;
    font-weight: 900;
  }
}
.sec-reason .txt-wrap02 .txt .bg-white {
  position: relative;
  display: inline-block;
  background: #fff;
  padding: 0 1.8rem;
  box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-reason .txt-wrap02 .txt .bg-white {
    padding: 0 2.5rem;
  }
}

/* sec-management
---------------------------------------------------------------------------- */
.sec-management {
  padding: 7.4rem 0 0 0;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-management {
    padding: 6rem 0 0 0;
  }
}
.sec-management .c-title {
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .sec-management .c-title {
    margin-bottom: 3.6rem;
  }
}
.sec-management .c-title .subttl {
  color: rgba(235, 235, 235, 0.5);
}
.sec-management .lead-txt {
  text-align: center;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 700;
  margin-bottom: 3.4rem;
}
@media screen and (max-width: 767px) {
  .sec-management .lead-txt {
    font-size: 2.6rem;
    line-height: 1.5;
    letter-spacing: -0.05em;
    font-weight: 700;
    margin-bottom: 4rem;
  }
}
.sec-management .box-wrap {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  align-content: stretch;
  gap: 2rem 1.9rem;
}
@media screen and (max-width: 767px) {
  .sec-management .box-wrap {
    flex-direction: column;
    gap: 3rem 0;
  }
}
.sec-management .box-wrap .box {
  position: relative;
  width: calc((100% - 1.9rem) / 2);
  padding: 5.4rem 2.5rem 0 2.5rem;
  background: #ebebeb;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-management .box-wrap .box {
    width: 100%;
    padding: 6.5rem 3rem 0 3rem;
  }
}
.sec-management .box-wrap .box-ttl {
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  align-content: stretch;
  width: 12.2rem;
  height: 4rem;
  color: #fff;
  background: #222;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: 0.04em;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .sec-management .box-wrap .box-ttl {
    width: 15.9rem;
    height: 5.1rem;
    font-size: 3.1rem;
    line-height: 1;
    letter-spacing: 0.04em;
    font-weight: 900;
  }
}
.sec-management .box-wrap .box-lead {
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
  font-weight: 900;
  border-bottom: 2px solid #9b0720;
  padding-bottom: 1rem;
  margin-bottom: 1.3rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-management .box-wrap .box-lead {
    font-size: 3.2rem;
    line-height: 1.46875;
    letter-spacing: 0.02em;
    font-weight: 900;
    border-bottom: 0.2rem solid #9b0720;
    padding-bottom: 1rem;
    margin-bottom: 1.8rem;
  }
}
.sec-management .box-wrap .box-txt {
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: -0.01em;
  font-weight: 500;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .sec-management .box-wrap .box-txt {
    font-size: 2.4rem;
    line-height: 1.625;
    font-weight: 500;
  }
}
.sec-management .box-wrap .box-txt .col01 {
  font-weight: 900;
}
.sec-management .box-wrap .box-img {
  margin: 1.8rem auto 0 auto;
  width: 41.9rem;
}
@media screen and (max-width: 767px) {
  .sec-management .box-wrap .box-img {
    width: 47.4rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-management .box-wrap .box:nth-of-type(1) .box-txt {
    text-indent: -1rem;
  }
}
.sec-management .box-wrap .box:nth-of-type(2) .box-img {
  margin-top: 0;
}
.sec-management .box-wrap .box:nth-of-type(3) .box-img {
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .sec-management .box-wrap .box:nth-of-type(3) .box-img {
    margin-top: 0;
  }
}
.sec-management .box-wrap .box:nth-of-type(4) .box-img {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .sec-management .box-wrap .box:nth-of-type(4) .box-img {
    margin-top: 0;
  }
}
.sec-management .reason02 {
  position: relative;
  margin-top: 4rem;
  background: url("../images/bg_reason02.jpg") no-repeat center top;
  background-size: cover !important;
}
@media screen and (max-width: 767px) {
  .sec-management .reason02 {
    margin-top: 6rem;
    background: url("../images/bg_reason02_sp.jpg") no-repeat center top;
  }
}
.sec-management .reason02:before {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5.8rem 50vw 0 50vw;
  border-color: #fff transparent transparent transparent;
}
@media screen and (max-width: 767px) {
  .sec-management .reason02:before {
    border-width: 3.7rem 50vw 0 50vw;
  }
}
.sec-management .reason02 .l-wrapper {
  padding: 10.8rem 0 5rem 0;
}
@media screen and (max-width: 767px) {
  .sec-management .reason02 .l-wrapper {
    padding: 8.8rem 3rem 5.4rem 3rem;
  }
}
.sec-management .reason02 .flex {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  align-content: stretch;
}
@media screen and (max-width: 767px) {
  .sec-management .reason02 .flex {
    flex-direction: column;
    gap: 2.4rem 0;
  }
}
.sec-management .reason02 .flex-txt {
  width: calc(100% - 47.5rem);
  padding-right: 5rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-management .reason02 .flex-txt {
    width: 100%;
    padding-right: 0;
  }
}
.sec-management .reason02 .flex-txt .reason-ttl {
  font-size: 2.6rem;
  line-height: 1.7307692308;
  letter-spacing: 0.02em;
  font-weight: 900;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .sec-management .reason02 .flex-txt .reason-ttl {
    font-size: 4rem;
    line-height: 1.475;
    letter-spacing: -0.08em;
    font-weight: 900;
    margin-bottom: 2rem;
  }
}
.sec-management .reason02 .flex-txt .reason-txt {
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: 0.03em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .sec-management .reason02 .flex-txt .reason-txt {
    font-size: 2.4rem;
    line-height: 1.625;
    letter-spacing: 0.02em;
    font-weight: 500;
  }
}
.sec-management .reason02 .flex-txt .reason-txt .col01 {
  font-weight: 900;
}
.sec-management .reason02 .flex-txt .reason-txt + .reason-txt {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .sec-management .reason02 .flex-txt .reason-txt + .reason-txt {
    margin-top: 4rem;
  }
}
.sec-management .reason02 .flex-txt .lead-txt {
  text-align: left;
  margin: 2rem 0 0 0;
  font-size: 2.6rem;
  line-height: 1.3846153846;
  letter-spacing: 0.04em;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .sec-management .reason02 .flex-txt .lead-txt {
    margin: 2rem 0 0 0;
    font-size: 3.2rem;
    line-height: 1.46875;
    letter-spacing: 0.03em;
    font-weight: 900;
  }
}
.sec-management .reason02 .flex-img {
  width: 47.5rem;
}
@media screen and (max-width: 767px) {
  .sec-management .reason02 .flex-img {
    width: calc(100% - 6rem);
    margin: 0 auto;
  }
}

/* sec-strategy
---------------------------------------------------------------------------- */
.sec-strategy {
  padding: 6.8rem 0 0 0;
}
.sec-strategy .c-title {
  margin-bottom: 5rem;
}
.sec-strategy .c-title .subttl {
  color: rgba(235, 235, 235, 0.5);
}
.sec-strategy #tab_list {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  align-content: stretch;
  gap: 0 0.8rem;
}
@media screen and (max-width: 767px) {
  .sec-strategy #tab_list {
    gap: 1rem 1rem;
  }
}
.sec-strategy #tab_list li {
  width: calc((100% - 2.4rem) / 4);
  border: 0.3rem solid #222;
  border-bottom: none;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-strategy #tab_list li {
    width: calc((100% - 1rem) / 2);
    border-bottom: 0.3rem solid #222;
  }
}
.sec-strategy #tab_list li a {
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  padding: 1.4rem 0;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .sec-strategy #tab_list li a {
    padding: 2.8rem 0;
    font-size: 2.8rem;
    line-height: 1.4285714286;
    letter-spacing: 0.02em;
    font-weight: 700;
  }
}
.sec-strategy #tab_list li.active {
  border-left: none;
  border-right: none;
  background: #ebebeb;
}
@media screen and (max-width: 767px) {
  .sec-strategy #tab_list li.active {
    border-left: 0.3rem solid #222;
    border-right: 0.3rem solid #222;
  }
}
@media screen and (max-width: 767px) {
  .sec-strategy #tab_content {
    margin-top: 1rem;
  }
}
.sec-strategy #tab_content li {
  display: none;
  padding: 3rem 6rem;
  background: #ebebeb;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-strategy #tab_content li {
    padding: 3.5rem 3rem;
  }
}
.sec-strategy #tab_content li.active {
  display: block;
}
.sec-strategy #tab_content li .tab__inner {
  position: relative;
  background: #fff;
  padding: 4rem 4.8rem;
  box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-strategy #tab_content li .tab__inner {
    padding: 3.5rem;
  }
}
.sec-strategy #tab_content li .tab__inner .ttl {
  position: relative;
  font-size: 3rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
  font-weight: 900;
  padding-left: 1.5rem;
  margin-bottom: 1rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-strategy #tab_content li .tab__inner .ttl {
    font-size: 3.2rem;
    line-height: 1.25;
    letter-spacing: 0.02em;
    font-weight: 900;
    padding-left: 2rem;
    margin-bottom: 1.6rem;
  }
}
.sec-strategy #tab_content li .tab__inner .ttl:after {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  content: "";
  width: 0.3rem;
  height: 70%;
  background: #9b0720;
}
@media screen and (max-width: 767px) {
  .sec-strategy #tab_content li .tab__inner .ttl:after {
    height: 90%;
  }
}
.sec-strategy #tab_content li .tab__inner .txt {
  font-size: 1.6rem;
  line-height: 1.875;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .sec-strategy #tab_content li .tab__inner .txt {
    font-size: 2.4rem;
    line-height: 1.625;
    letter-spacing: -0.02em;
    font-weight: 500;
    text-align: justify;
    line-break: strict;
  }
}
.sec-strategy #tab_content li .tab__inner .txt .col01 {
  font-weight: 700;
}
.sec-strategy #tab_content li .tab__inner .gray-box {
  position: relative;
  margin-top: 3.5rem;
  padding: 5rem 0 2.8rem 0;
  background: #f7f7f7;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-strategy #tab_content li .tab__inner .gray-box {
    margin-top: 4.8rem;
    padding: 4.8rem 0 1.8rem 0;
  }
}
.sec-strategy #tab_content li .tab__inner .gray-box .subttl {
  position: absolute;
  left: 0;
  right: 0;
  top: -2rem;
  width: 65rem;
  margin: 0 auto;
  padding: 0.6rem;
  text-align: center;
  color: #fff;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
  font-weight: 900;
  background-image: linear-gradient(90deg, #222, #424242);
}
@media screen and (max-width: 767px) {
  .sec-strategy #tab_content li .tab__inner .gray-box .subttl {
    top: -2.5rem;
    width: 45rem;
    padding: 0.6rem 0.6rem 0.8rem 0.6rem;
    font-size: 2.6rem;
    line-height: 1.5;
    letter-spacing: -0.05em;
    font-weight: 900;
  }
}
.sec-strategy #tab_content li .tab__inner .gray-box img {
  display: block;
  width: 77.2rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .sec-strategy #tab_content li .tab__inner .gray-box img {
    width: 50.4rem;
  }
}
.sec-strategy #tab_content li .tab__inner .gray-box .lead {
  margin-top: 2.5rem;
  text-align: center;
  font-size: 1.8rem;
  line-height: 1.6666666667;
  letter-spacing: 0.03em;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .sec-strategy #tab_content li .tab__inner .gray-box .lead {
    margin-top: 1.5rem;
    font-size: 2.4rem;
    line-height: 1.25;
    letter-spacing: 0.03em;
    font-weight: 900;
  }
}
.sec-strategy #tab_content li .tab__inner .btn-box {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 5rem;
  height: 8rem;
  background: #9b0720;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .sec-strategy #tab_content li .tab__inner .btn-box {
    width: 3.75rem;
    height: 8rem;
  }
}
.sec-strategy #tab_content li .tab__inner .btn-box .btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  align-content: stretch;
  width: 100%;
  height: 100%;
}
.sec-strategy #tab_content li .tab__inner .btn-box .btn:after {
  content: "";
}
.sec-strategy #tab_content li .tab__inner .btn-box.-prev {
  left: -3.6rem;
}
@media screen and (max-width: 767px) {
  .sec-strategy #tab_content li .tab__inner .btn-box.-prev {
    left: -2.2rem;
  }
}
.sec-strategy #tab_content li .tab__inner .btn-box.-prev .btn:after {
  margin-left: 0.8rem;
  border-style: solid;
  border-width: 0 2px 2px 0;
  content: "";
  display: inline-block;
  position: absolute;
  height: 1.5rem;
  width: 1.5rem;
  border-color: #fff;
  transform: rotate(135deg);
}
@media screen and (max-width: 767px) {
  .sec-strategy #tab_content li .tab__inner .btn-box.-prev .btn:after {
    height: 0.75rem;
    width: 0.75rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-strategy #tab_content li .tab__inner .btn-box.-prev .btn:after {
    margin-left: 0.8rem;
    border-style: solid;
    border-width: 0 2px 2px 0;
    content: "";
    display: inline-block;
    position: absolute;
    height: 2.8rem;
    width: 2.8rem;
    border-color: #fff;
    transform: rotate(135deg);
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .sec-strategy #tab_content li .tab__inner .btn-box.-prev .btn:after {
    height: 1.4rem;
    width: 1.4rem;
  }
}
.sec-strategy #tab_content li .tab__inner .btn-box.-next {
  right: -3.6rem;
}
@media screen and (max-width: 767px) {
  .sec-strategy #tab_content li .tab__inner .btn-box.-next {
    right: -2.2rem;
  }
}
.sec-strategy #tab_content li .tab__inner .btn-box.-next .btn:after {
  margin-right: 0.8rem;
  border-style: solid;
  border-width: 0 2px 2px 0;
  content: "";
  display: inline-block;
  position: absolute;
  height: 1.5rem;
  width: 1.5rem;
  border-color: #fff;
  transform: rotate(-45deg);
}
@media screen and (max-width: 767px) {
  .sec-strategy #tab_content li .tab__inner .btn-box.-next .btn:after {
    height: 0.75rem;
    width: 0.75rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-strategy #tab_content li .tab__inner .btn-box.-next .btn:after {
    margin-right: 0.8rem;
    border-style: solid;
    border-width: 0 2px 2px 0;
    content: "";
    display: inline-block;
    position: absolute;
    height: 2.8rem;
    width: 2.8rem;
    border-color: #fff;
    transform: rotate(-45deg);
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .sec-strategy #tab_content li .tab__inner .btn-box.-next .btn:after {
    height: 1.4rem;
    width: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-strategy #tab_content li.tab4 .gray-box {
    padding-top: 9rem;
  }
}

.strategy-lead {
  margin-top: 6rem;
  padding: 5rem 0;
  background: url("../images/bg_strategy_lead.jpg") no-repeat center center;
  background-size: cover !important;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .strategy-lead {
    padding: 5rem 0 5.5rem 0;
    background: url("../images/bg_strategy_lead_sp.jpg") no-repeat center center;
  }
}
.strategy-lead .lead-txt {
  text-align: center;
  font-size: 3.4rem;
  line-height: 1.4411764706;
  letter-spacing: 0.04em;
  font-weight: 900;
  color: #fff;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .strategy-lead .lead-txt {
    margin-bottom: 2.5rem;
  }
}
.strategy-lead .txt {
  text-align: center;
  font-size: 2rem;
  line-height: 2;
  letter-spacing: 0.04em;
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .strategy-lead .txt {
    font-size: 2.4rem;
    line-height: 1.6666666667;
    letter-spacing: 0.04em;
    font-weight: 700;
  }
}

/* sec-comparison
---------------------------------------------------------------------------- */
.sec-comparison {
  position: relative;
  padding: 5.8rem 0 5.5rem 0;
  background: url("../images/bg_comparison.jpg") no-repeat center top;
  background-size: cover !important;
}
@media screen and (max-width: 767px) {
  .sec-comparison {
    padding: 4.5rem 0 5rem 0;
    background: url("../images/bg_comparison_sp.jpg") no-repeat center top;
  }
}
.sec-comparison:after {
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  content: "";
  background: url("../images/bg02_comparison.png") no-repeat center top;
  background-size: 100% auto !important;
  width: 75rem;
  height: 43.7rem;
  opacity: 0.8;
}
@media screen and (max-width: 767px) {
  .sec-comparison:after {
    background: url("../images/bg02_comparison_sp.png") no-repeat center top;
    width: 100%;
    height: auto;
    aspect-ratio: 798/511;
    opacity: 0.4;
  }
}
.sec-comparison .l-wrapper {
  position: relative;
  max-width: 91rem;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .sec-comparison .l-wrapper {
    max-width: inherit;
  }
}
.sec-comparison .tbl {
  position: relative;
  table-layout: fixed;
  margin-bottom: 5rem;
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-comparison .tbl {
    margin-bottom: 5.8rem;
  }
}
.sec-comparison .tbl thead th, .sec-comparison .tbl thead td {
  text-align: center;
  vertical-align: middle;
  color: #fff;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.03em;
  font-weight: 900;
  padding: 1.4rem 0;
  border: 0.3rem solid #e2e2e3;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-comparison .tbl thead th, .sec-comparison .tbl thead td {
    font-size: 1.8rem;
    line-height: 1.3888888889;
    letter-spacing: 0.03em;
    font-weight: 900;
  }
}
.sec-comparison .tbl thead th {
  width: 31rem;
  background: #222;
}
@media screen and (max-width: 767px) {
  .sec-comparison .tbl thead th {
    width: 35.2rem;
    font-size: 2rem;
    line-height: 1;
    letter-spacing: 0.03em;
    font-weight: 900;
  }
}
.sec-comparison .tbl thead td {
  background: #666666;
}
@media screen and (max-width: 767px) {
  .sec-comparison .tbl thead td {
    padding: 1rem 0;
  }
}
.sec-comparison .tbl thead td:nth-of-type(1) {
  position: relative;
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0.03em;
  font-weight: 900;
  background: #9b0720;
}
@media screen and (max-width: 767px) {
  .sec-comparison .tbl thead td:nth-of-type(1) {
    font-size: 2.1rem;
    line-height: 1.1904761905;
    letter-spacing: 0.03em;
    font-weight: 900;
  }
}
.sec-comparison .tbl thead td:nth-of-type(1) span {
  position: relative;
  top: -0.5rem;
  z-index: 2;
}
.sec-comparison .tbl thead td:nth-of-type(1):before {
  position: absolute;
  left: -0.1rem;
  top: -1rem;
  display: block;
  content: "";
  width: calc(100% + 0.2rem);
  height: calc(100% + 1.3rem);
  background: #9b0720;
  border-radius: 1rem 1rem 0 0;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .sec-comparison .tbl thead td:nth-of-type(1):before {
    height: calc(100% + 1.1rem);
  }
}
.sec-comparison .tbl tbody th, .sec-comparison .tbl tbody td {
  vertical-align: middle;
  padding: 1.4rem 0;
  border: 0.3rem solid #e2e2e3;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-comparison .tbl tbody th, .sec-comparison .tbl tbody td {
    padding: 1.5rem 0 1.7rem 0;
  }
}
.sec-comparison .tbl tbody th {
  text-align: left;
  color: #fff;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.01em;
  font-weight: 700;
  background: #222;
  padding-left: 3.5rem;
}
@media screen and (max-width: 767px) {
  .sec-comparison .tbl tbody th {
    font-size: 2rem;
    line-height: 1;
    letter-spacing: 0.01em;
    font-weight: 700;
    padding-left: 2rem;
  }
}
.sec-comparison .tbl tbody td {
  text-align: center;
  background: #fff;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.01em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .sec-comparison .tbl tbody td {
    font-size: 2rem;
    line-height: 1;
    letter-spacing: 0.01em;
    font-weight: 500;
  }
}
.sec-comparison .tbl tbody td:nth-of-type(1) {
  font-weight: 900;
  color: #9b0720;
}
.sec-comparison .tbl:after {
  position: absolute;
  left: 31.1rem;
  top: 0;
  display: block;
  content: "";
  width: 19.15rem;
  height: calc(100% - 0.6rem);
  border: 0.3rem solid #9b0720;
}
@media screen and (max-width: 767px) {
  .sec-comparison .tbl:after {
    left: 35.2rem;
    width: 11rem;
  }
}
.sec-comparison .txt {
  font-size: 1.8rem;
  line-height: 1.6666666667;
  letter-spacing: 0.01em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .sec-comparison .txt {
    font-size: 2.6rem;
    line-height: 1.5384615385;
    letter-spacing: 0.01em;
    font-weight: 500;
  }
}
.sec-comparison .txt .col01 {
  font-weight: 700;
}
.sec-comparison .txt + .txt {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .sec-comparison .txt + .txt {
    margin-top: 3rem;
  }
}

/* sec-cases
---------------------------------------------------------------------------- */
.sec-cases {
  padding: 6.5rem 0 0 0;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-cases {
    padding: 4.5rem 0 0 0;
  }
}
@media screen and (max-width: 767px) {
  .sec-cases .l-inner {
    padding: 0 3rem;
  }
}
.sec-cases .c-title {
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .sec-cases .c-title {
    margin-bottom: 3.5rem;
  }
}
.sec-cases .lead-txt {
  text-align: center;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: -0.02em;
  font-weight: 700;
  margin-left: -2rem;
  margin-right: -2rem;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .sec-cases .lead-txt {
    font-size: 2.6rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-weight: 700;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 2rem;
  }
}
.sec-cases .cases-box__ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  align-content: stretch;
  width: 31.1rem;
  height: 5.1rem;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: 0.03em;
  font-weight: 900;
  color: #fff;
  background: #222;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__ttl {
    width: 40.4rem;
    height: 6.6rem;
    font-size: 3.1rem;
    line-height: 1;
    letter-spacing: 0.03em;
    font-weight: 900;
  }
}
.sec-cases .cases-box__ttl .small {
  display: inline-block;
  margin-right: 1rem;
  font-size: 1.6rem;
  line-height: 1;
  font-weight: 700;
  color: #222;
  background: #fff;
  padding: 0.3rem 0.5rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__ttl .small {
    margin-right: 1.4rem;
    font-size: 2.1rem;
    line-height: 1;
    font-weight: 700;
    padding: 0.8rem 1rem 0.5rem 1rem;
  }
}
.sec-cases .cases-box__inner {
  background: #fff;
  border-top: 0.7rem solid #222;
  padding: 3.5rem 4.5rem 0 4.5rem;
  box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner {
    padding: 3.5rem 3rem 0 3rem;
  }
}
.sec-cases .cases-box__inner .flex {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  align-content: stretch;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .flex {
    flex-direction: column;
    gap: 2.5rem 0;
  }
}
.sec-cases .cases-box__inner .flex-img {
  width: 17.1rem;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .flex-img {
    width: 22.2rem;
    margin: 0 auto;
  }
}
.sec-cases .cases-box__inner .flex-txt {
  width: calc(100% - 17.1rem);
  padding-left: 4.5rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .flex-txt {
    width: 100%;
    padding-left: 0;
  }
}
.sec-cases .cases-box__inner .flex-txt .ttl {
  font-size: 2rem;
  line-height: 1;
  letter-spacing: -0.017em;
  font-weight: 900;
  color: #fff;
  background: #222;
  padding: 1.3rem 0 1.3rem 1.6rem;
  border-left: 0.5rem solid #9b0720;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .flex-txt .ttl {
    font-size: 2.6rem;
    line-height: 1;
    letter-spacing: -0.017em;
    font-weight: 900;
    padding: 1.5rem 0 1.5rem 2.1rem;
    margin-bottom: 1.6rem;
  }
}
.sec-cases .cases-box__inner .flex-txt .lead {
  font-size: 2rem;
  line-height: 1.8;
  letter-spacing: 0.02em;
  font-weight: 900;
  border-bottom: 1px solid #222;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .flex-txt .lead {
    font-size: 2.6rem;
    line-height: 1.8076923077;
    letter-spacing: -0.02em;
    font-weight: 900;
    margin-bottom: 1rem;
  }
}
.sec-cases .cases-box__inner .flex-txt .check-list li {
  position: relative;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.02em;
  font-weight: 700;
  padding-left: 2.4rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .flex-txt .check-list li {
    font-size: 2.2rem;
    line-height: 1.9090909091;
    font-weight: 700;
    letter-spacing: 0;
    padding-left: 2.7rem;
  }
}
.sec-cases .cases-box__inner .flex-txt .check-list li:before {
  position: absolute;
  left: 0;
  top: 1rem;
  display: block;
  content: "";
  background: url("../images/ico02_check.svg") no-repeat center center;
  background-size: 100% auto;
  width: 1.6rem;
  height: 1.5rem;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .flex-txt .check-list li:before {
    top: 1.2rem;
    width: 2rem;
    height: 1.9rem;
  }
}
.sec-cases .cases-box__inner .more-links {
  margin-top: 1.2rem;
  padding-bottom: 1.2rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-links {
    margin-top: 1.2rem;
    padding-bottom: 2.4rem;
  }
}
.sec-cases .cases-box__inner .more-links span {
  position: relative;
  font-size: 2rem;
  line-height: 1.8;
  letter-spacing: 0.02em;
  font-weight: 900;
  padding-right: 3.2rem;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-links span {
    font-size: 2.4rem;
    line-height: 1.5833333333;
    letter-spacing: 0.02em;
    font-weight: 900;
  }
}
.sec-cases .cases-box__inner .more-links span:after {
  position: absolute;
  right: 0;
  top: 0.6rem;
  border-style: solid;
  border-width: 0 2px 2px 0;
  content: "";
  display: inline-block;
  position: absolute;
  height: 1rem;
  width: 1rem;
  border-color: #222;
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-links span:after {
    height: 0.5rem;
    width: 0.5rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-links span:after {
    top: 0.5rem;
    border-style: solid;
    border-width: 0 2px 2px 0;
    content: "";
    display: inline-block;
    position: absolute;
    height: 2rem;
    width: 2rem;
    border-color: #222;
    transform: rotate(45deg);
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-links span:after {
    height: 1rem;
    width: 1rem;
  }
}
.sec-cases .cases-box__inner .more-links.open {
  display: none;
}
.sec-cases .cases-box__inner .more-links.acd_close_btn {
  display: none;
  padding-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-links.acd_close_btn {
    padding-bottom: 2rem;
  }
}
.sec-cases .cases-box__inner .more-links.acd_close_btn span:after {
  top: 1.2rem;
  border-style: solid;
  border-width: 0 2px 2px 0;
  content: "";
  display: inline-block;
  position: absolute;
  height: 1rem;
  width: 1rem;
  border-color: #222;
  transform: rotate(225deg);
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-links.acd_close_btn span:after {
    height: 0.5rem;
    width: 0.5rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-links.acd_close_btn span:after {
    top: 1.5rem;
    border-style: solid;
    border-width: 0 2px 2px 0;
    content: "";
    display: inline-block;
    position: absolute;
    height: 2rem;
    width: 2rem;
    border-color: #222;
    transform: rotate(225deg);
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-links.acd_close_btn span:after {
    height: 1rem;
    width: 1rem;
  }
}
.sec-cases .cases-box__inner .more-links.acd_close_btn.active {
  display: block;
}
.sec-cases .cases-box__inner .more-wrap {
  display: none;
  padding: 3rem 0 0 0;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap {
    padding: 3rem 0 0 0;
  }
}
.sec-cases .cases-box__inner .more-wrap .two-column,
.sec-cases .cases-box__inner .more-wrap .one-column {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  align-content: stretch;
  gap: 1rem 1rem;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap .two-column,
  .sec-cases .cases-box__inner .more-wrap .one-column {
    flex-direction: column;
    gap: 1rem 0;
  }
}
.sec-cases .cases-box__inner .more-wrap .two-column .column-box,
.sec-cases .cases-box__inner .more-wrap .one-column .column-box {
  width: calc((100% - 1rem) / 2);
  border: 0.2rem solid #595959;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap .two-column .column-box,
  .sec-cases .cases-box__inner .more-wrap .one-column .column-box {
    width: 100%;
  }
}
.sec-cases .cases-box__inner .more-wrap .two-column .column-box__ttl,
.sec-cases .cases-box__inner .more-wrap .one-column .column-box__ttl {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  align-content: stretch;
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0.03em;
  font-weight: 900;
  color: #fff;
  background: #595959;
  padding: 0.8rem 0 1.2rem 3.5rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap .two-column .column-box__ttl,
  .sec-cases .cases-box__inner .more-wrap .one-column .column-box__ttl {
    font-size: 2.6rem;
    line-height: 1;
    letter-spacing: 0.03em;
    font-weight: 900;
    padding: 1.2rem 0 2rem 3rem;
  }
}
.sec-cases .cases-box__inner .more-wrap .two-column .column-box__ttl .ico,
.sec-cases .cases-box__inner .more-wrap .one-column .column-box__ttl .ico {
  position: relative;
  margin-right: 1.2rem;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap .two-column .column-box__ttl .ico,
  .sec-cases .cases-box__inner .more-wrap .one-column .column-box__ttl .ico {
    display: inline-block;
    margin-right: 1.5rem;
  }
  .sec-cases .cases-box__inner .more-wrap .two-column .column-box__ttl .ico.-ico01,
  .sec-cases .cases-box__inner .more-wrap .one-column .column-box__ttl .ico.-ico01 {
    top: 0.2rem;
    width: 2.2rem;
  }
  .sec-cases .cases-box__inner .more-wrap .two-column .column-box__ttl .ico.-ico02,
  .sec-cases .cases-box__inner .more-wrap .one-column .column-box__ttl .ico.-ico02 {
    width: 2.6rem;
  }
  .sec-cases .cases-box__inner .more-wrap .two-column .column-box__ttl .ico.-ico03,
  .sec-cases .cases-box__inner .more-wrap .one-column .column-box__ttl .ico.-ico03 {
    width: 2.7rem;
  }
  .sec-cases .cases-box__inner .more-wrap .two-column .column-box__ttl .ico.-ico04,
  .sec-cases .cases-box__inner .more-wrap .one-column .column-box__ttl .ico.-ico04 {
    width: 2.6rem;
  }
  .sec-cases .cases-box__inner .more-wrap .two-column .column-box__ttl .ico.-ico05,
  .sec-cases .cases-box__inner .more-wrap .one-column .column-box__ttl .ico.-ico05 {
    width: 2.8rem;
  }
}
.sec-cases .cases-box__inner .more-wrap .two-column .column-box__inner,
.sec-cases .cases-box__inner .more-wrap .one-column .column-box__inner {
  background: #fff;
  padding: 1.5rem 3.2rem 1.8rem 3.2rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap .two-column .column-box__inner,
  .sec-cases .cases-box__inner .more-wrap .one-column .column-box__inner {
    padding: 2rem;
  }
}
.sec-cases .cases-box__inner .more-wrap .two-column .column-box__inner .txt,
.sec-cases .cases-box__inner .more-wrap .one-column .column-box__inner .txt {
  font-size: 1.6rem;
  line-height: 1.5625;
  letter-spacing: 0.01em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap .two-column .column-box__inner .txt,
  .sec-cases .cases-box__inner .more-wrap .one-column .column-box__inner .txt {
    font-size: 2.2rem;
    line-height: 1.4545454545;
    letter-spacing: 0.01em;
    font-weight: 500;
  }
}
.sec-cases .cases-box__inner .more-wrap .two-column .column-box__inner .check-list li,
.sec-cases .cases-box__inner .more-wrap .one-column .column-box__inner .check-list li {
  position: relative;
  font-size: 1.6rem;
  line-height: 1.5625;
  letter-spacing: 0.01em;
  font-weight: 700;
  padding-left: 2rem;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap .two-column .column-box__inner .check-list li,
  .sec-cases .cases-box__inner .more-wrap .one-column .column-box__inner .check-list li {
    font-size: 2.2rem;
    line-height: 1.4545454545;
    letter-spacing: 0.01em;
    font-weight: 700;
    padding-left: 2.5rem;
  }
}
.sec-cases .cases-box__inner .more-wrap .two-column .column-box__inner .check-list li:before,
.sec-cases .cases-box__inner .more-wrap .one-column .column-box__inner .check-list li:before {
  position: absolute;
  left: 0;
  top: 0.5rem;
  display: block;
  content: "";
  background: url("../images/ico02_check.svg") no-repeat center center;
  background-size: 100% auto;
  width: 1.6rem;
  height: 1.5rem;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap .two-column .column-box__inner .check-list li:before,
  .sec-cases .cases-box__inner .more-wrap .one-column .column-box__inner .check-list li:before {
    top: 0.8rem;
    width: 2rem;
    height: 1.9rem;
  }
}
.sec-cases .cases-box__inner .more-wrap .two-column .column-box.-red,
.sec-cases .cases-box__inner .more-wrap .one-column .column-box.-red {
  border: 0.2rem solid #9b0720;
}
.sec-cases .cases-box__inner .more-wrap .two-column .column-box.-red .column-box__ttl,
.sec-cases .cases-box__inner .more-wrap .one-column .column-box.-red .column-box__ttl {
  background: #9b0720;
}
.sec-cases .cases-box__inner .more-wrap .results-flex {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  align-content: stretch;
  gap: 0 1.8rem;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap .results-flex {
    gap: 0 0;
  }
}
.sec-cases .cases-box__inner .more-wrap .results-flex .number-wrap {
  position: relative;
  width: 14.8rem;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap .results-flex .number-wrap {
    width: 20rem;
  }
}
.sec-cases .cases-box__inner .more-wrap .results-flex .number-wrap .results-number {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
  align-content: stretch;
}
.sec-cases .cases-box__inner .more-wrap .results-flex .number-wrap .results-number__ttl {
  width: 9.3rem;
  font-size: 1.6rem;
  line-height: 1.5625;
  letter-spacing: 0.01em;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap .results-flex .number-wrap .results-number__ttl {
    width: 12rem;
    font-size: 2.2rem;
    line-height: 1.4545454545;
    letter-spacing: 0.01em;
    font-weight: 700;
  }
}
.sec-cases .cases-box__inner .more-wrap .results-flex .number-wrap .results-number__txt {
  width: calc(100% - 9.3rem);
  font-size: 1.6rem;
  line-height: 1.5625;
  letter-spacing: 0.01em;
  font-weight: 500;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap .results-flex .number-wrap .results-number__txt {
    width: calc(100% - 12rem);
    font-size: 2.2rem;
    line-height: 1.4545454545;
    letter-spacing: 0.01em;
    font-weight: 500;
  }
}
.sec-cases .cases-box__inner .more-wrap .results-flex .number-wrap:after {
  position: absolute;
  right: -1.9rem;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  content: "";
  width: 1px;
  height: 90%;
  background: #9b0720;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap .results-flex .number-wrap:after {
    right: -5rem;
  }
}
.sec-cases .cases-box__inner .more-wrap .results-flex .rate-wrap {
  width: calc(100% - 16.6rem);
  padding-left: 2rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap .results-flex .rate-wrap {
    width: calc(100% - 20rem);
    padding-left: 9rem;
  }
}
.sec-cases .cases-box__inner .more-wrap .results-flex .rate-wrap .results-rate {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
  align-content: stretch;
}
.sec-cases .cases-box__inner .more-wrap .results-flex .rate-wrap .results-rate__ttl {
  font-size: 1.8rem;
  line-height: 1.3888888889;
  letter-spacing: 0.01em;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap .results-flex .rate-wrap .results-rate__ttl {
    font-size: 2.6rem;
    line-height: 1.2307692308;
    letter-spacing: 0.01em;
    font-weight: 700;
  }
}
.sec-cases .cases-box__inner .more-wrap .results-flex .rate-wrap .results-rate__txt {
  font-size: 1.8rem;
  line-height: 1.3888888889;
  letter-spacing: 0.01em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap .results-flex .rate-wrap .results-rate__txt {
    font-size: 2.6rem;
    line-height: 1.2307692308;
    letter-spacing: 0.01em;
    font-weight: 500;
  }
}
.sec-cases .cases-box__inner .more-wrap .results-flex02 {
  margin-top: 1rem;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  align-content: stretch;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap .results-flex02 {
    margin-top: 2rem;
  }
}
.sec-cases .cases-box__inner .more-wrap .results-flex02 .flex-img {
  width: 10.9rem;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap .results-flex02 .flex-img {
    width: 14.2rem;
  }
}
.sec-cases .cases-box__inner .more-wrap .results-flex02 .flex-txt {
  position: relative;
  top: -0.3rem;
  width: calc(100% - 8.9rem);
  padding-left: 1.3rem;
  margin-right: -2rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap .results-flex02 .flex-txt {
    top: -0.3rem;
    width: calc(100% - 14.2rem);
    padding-left: 2.5rem;
    margin-right: 0;
  }
}
.sec-cases .cases-box__inner .more-wrap .results-flex02 .flex-txt .txt {
  font-size: 1.6rem;
  line-height: 1.4375;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap .results-flex02 .flex-txt .txt {
    font-size: 2.2rem;
    line-height: 1.3181818182;
    font-weight: 700;
  }
}
.sec-cases .cases-box__inner .more-wrap .results-flex02 .flex-txt .txt .col01 {
  font-weight: 900;
}
.sec-cases .cases-box__inner .more-wrap .arrow {
  position: relative;
  width: 13.6rem;
  margin: 1rem auto 0 auto;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap .arrow {
    width: 17.6rem;
    margin: 1.5rem auto 0 auto;
  }
}
.sec-cases .cases-box__inner .more-wrap .txt_wrap {
  margin-top: -1.2rem;
  background: #f7f7f7;
  padding: 3.8rem 3rem 2.2rem 3rem;
  box-shadow: 5px 5px 3px 0 rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap .txt_wrap {
    margin-top: -2rem;
    padding: 3.4rem 2rem 2rem 2rem;
  }
}
.sec-cases .cases-box__inner .more-wrap .txt_wrap .lead-txt {
  text-align: left;
  font-size: 2.1rem;
  line-height: 1.9523809524;
  letter-spacing: 0.02em;
  font-weight: 900;
  margin: 0 0 1rem 0;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap .txt_wrap .lead-txt {
    font-size: 2.8rem;
    line-height: 1.4285714286;
    letter-spacing: 0.02em;
    font-weight: 900;
    margin: 0 0 1.3rem 0;
  }
}
.sec-cases .cases-box__inner .more-wrap .txt_wrap .flex {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  align-content: stretch;
  gap: 0 0;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap .txt_wrap .flex {
    flex-direction: column;
    gap: 2rem 0;
  }
}
.sec-cases .cases-box__inner .more-wrap .txt_wrap .flex-cnts01 {
  position: relative;
  width: 34rem;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap .txt_wrap .flex-cnts01 {
    width: 100%;
    padding-bottom: 2rem;
  }
}
.sec-cases .cases-box__inner .more-wrap .txt_wrap .flex-cnts01 p {
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.01em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap .txt_wrap .flex-cnts01 p {
    font-size: 2.2rem;
    line-height: 1.4090909091;
    letter-spacing: -0.045em;
    font-weight: 500;
  }
}
.sec-cases .cases-box__inner .more-wrap .txt_wrap .flex-cnts01:after {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  content: "";
  width: 1px;
  height: 8rem;
  background: #222;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap .txt_wrap .flex-cnts01:after {
    left: 0;
    top: auto;
    bottom: 0;
    transform: translateY(0);
    width: 100%;
    height: 1px;
  }
}
.sec-cases .cases-box__inner .more-wrap .txt_wrap .flex-cnts02 {
  width: calc(100% - 34rem);
  padding-left: 2rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap .txt_wrap .flex-cnts02 {
    width: 100%;
    padding-left: 0;
  }
}
.sec-cases .cases-box__inner .more-wrap .txt_wrap .flex-cnts02 .check-list li {
  position: relative;
  font-size: 1.6rem;
  line-height: 2;
  font-weight: 700;
  padding-left: 1.6rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap .txt_wrap .flex-cnts02 .check-list li {
    font-size: 2.2rem;
    line-height: 1.3636363636;
    letter-spacing: 0.02em;
    font-weight: 700;
    padding-left: 2.8rem;
    text-indent: -1rem;
  }
}
.sec-cases .cases-box__inner .more-wrap .txt_wrap .flex-cnts02 .check-list li:before {
  position: absolute;
  left: 0;
  top: 1rem;
  display: block;
  content: "";
  background: url("../images/ico02_check.svg") no-repeat center center;
  background-size: 100% auto;
  width: 1.5rem;
  height: 1.4rem;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box__inner .more-wrap .txt_wrap .flex-cnts02 .check-list li:before {
    top: 1rem;
    width: 2.1rem;
    height: 2rem;
  }
}
.sec-cases .cases-box__inner .more-wrap .one-column {
  margin-top: 2rem;
}
.sec-cases .cases-box__inner .more-wrap .one-column .column-box {
  width: 100%;
  border: 0.2rem solid #222;
}
.sec-cases .cases-box__inner .more-wrap .one-column .column-box__ttl {
  background: #222;
}
.sec-cases .cases-box + .cases-box {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .sec-cases .cases-box + .cases-box {
    margin-top: 4rem;
  }
}
.sec-cases .slider-wrap {
  position: relative;
  margin-left: -1rem;
  margin-right: -1rem;
  width: calc(100% + 2rem);
}
.sec-cases .slider-wrap .case-slider .slick-slide {
  margin: 0 1rem 1rem 1rem;
}
.sec-cases .slider-wrap .slider__nav .slide-arrow {
  position: absolute;
  top: 17.5rem;
  width: 5rem;
  height: 8rem;
  background: #9b0720;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  align-content: stretch;
  cursor: pointer;
}
.sec-cases .slider-wrap .slider__nav .slide-arrow:after {
  content: "";
}
@media screen and (max-width: 767px) {
  .sec-cases .slider-wrap .slider__nav .slide-arrow {
    top: 28rem;
    width: 3.75rem;
    height: 8rem;
  }
}
.sec-cases .slider-wrap .slider__nav .slide-arrow.prev-arrow {
  left: -2.6rem;
}
@media screen and (max-width: 767px) {
  .sec-cases .slider-wrap .slider__nav .slide-arrow.prev-arrow {
    left: -1.2rem;
  }
}
.sec-cases .slider-wrap .slider__nav .slide-arrow.prev-arrow:after {
  margin-left: 0.8rem;
  border-style: solid;
  border-width: 0 2px 2px 0;
  content: "";
  display: inline-block;
  position: absolute;
  height: 1.5rem;
  width: 1.5rem;
  border-color: #fff;
  transform: rotate(135deg);
}
@media screen and (max-width: 767px) {
  .sec-cases .slider-wrap .slider__nav .slide-arrow.prev-arrow:after {
    height: 0.75rem;
    width: 0.75rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-cases .slider-wrap .slider__nav .slide-arrow.prev-arrow:after {
    margin-left: 0.8rem;
    border-style: solid;
    border-width: 0 2px 2px 0;
    content: "";
    display: inline-block;
    position: absolute;
    height: 2.8rem;
    width: 2.8rem;
    border-color: #fff;
    transform: rotate(135deg);
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .sec-cases .slider-wrap .slider__nav .slide-arrow.prev-arrow:after {
    height: 1.4rem;
    width: 1.4rem;
  }
}
.sec-cases .slider-wrap .slider__nav .slide-arrow.next-arrow {
  right: -2.6rem;
}
@media screen and (max-width: 767px) {
  .sec-cases .slider-wrap .slider__nav .slide-arrow.next-arrow {
    right: -1.2rem;
  }
}
.sec-cases .slider-wrap .slider__nav .slide-arrow.next-arrow:after {
  margin-right: 0.8rem;
  border-style: solid;
  border-width: 0 2px 2px 0;
  content: "";
  display: inline-block;
  position: absolute;
  height: 1.5rem;
  width: 1.5rem;
  border-color: #fff;
  transform: rotate(-45deg);
}
@media screen and (max-width: 767px) {
  .sec-cases .slider-wrap .slider__nav .slide-arrow.next-arrow:after {
    height: 0.75rem;
    width: 0.75rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-cases .slider-wrap .slider__nav .slide-arrow.next-arrow:after {
    margin-right: 0.8rem;
    border-style: solid;
    border-width: 0 2px 2px 0;
    content: "";
    display: inline-block;
    position: absolute;
    height: 2.8rem;
    width: 2.8rem;
    border-color: #fff;
    transform: rotate(-45deg);
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .sec-cases .slider-wrap .slider__nav .slide-arrow.next-arrow:after {
    height: 1.4rem;
    width: 1.4rem;
  }
}
.sec-cases .sec-results {
  margin-top: 6.5rem;
  padding: 4rem 0;
  background: url("../images/bg_results.jpg") no-repeat center center;
  background-size: cover !important;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-cases .sec-results {
    margin-top: 6rem;
    padding: 7rem 0;
    background: url("../images/bg_results_sp.jpg") no-repeat center center;
  }
}
@media screen and (max-width: 767px) {
  .sec-cases .sec-results .l-inner {
    padding: 0 6rem;
  }
}
.sec-cases .sec-results .sec-results__ttl {
  text-align: center;
  margin-bottom: 3.5rem;
}
@media screen and (max-width: 767px) {
  .sec-cases .sec-results .sec-results__ttl {
    margin-bottom: 4.5rem;
  }
}
.sec-cases .sec-results .sec-results__ttl span {
  display: inline-block;
  text-align: center;
  color: #fff;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: 0.031em;
  font-weight: 900;
  border: 2px solid #fff;
  padding: 0.9rem 1rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-cases .sec-results .sec-results__ttl span {
    font-size: 3.1rem;
    line-height: 1;
    letter-spacing: 0.03em;
    font-weight: 900;
    padding: 1.4rem 1.6rem;
  }
}
.sec-cases .sec-results .results-list {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  align-content: stretch;
  gap: 0 1.8rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .sec-cases .sec-results .results-list {
    flex-direction: column;
    gap: 0.8rem 0;
    margin-bottom: 2.5rem;
  }
}
.sec-cases .sec-results .results-list li {
  width: 28.8rem;
  text-align: center;
  font-size: 2.2rem;
  line-height: 1.3636363636;
  font-weight: 900;
  background: #fff;
  padding: 1.5rem 0.5rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-cases .sec-results .results-list li {
    width: 100%;
    font-size: 2.8rem;
    line-height: 1.4285714286;
    font-weight: 900;
    padding: 1.8rem 0.5rem;
  }
}
.sec-cases .sec-results .results-txt {
  text-align: center;
  color: #fff;
  font-size: 1.8rem;
  line-height: 1.6666666667;
  letter-spacing: 0.02em;
  font-weight: 700;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 767px) {
  .sec-cases .sec-results .results-txt {
    font-size: 2.4rem;
    line-height: 1.625;
    letter-spacing: 0.02em;
    font-weight: 700;
    margin-bottom: 1.5rem;
  }
}
.sec-cases .sec-results .results-txt02 {
  text-align: center;
  color: #fff;
  font-size: 2.4rem;
  line-height: 1.3333333333;
  letter-spacing: -0.03em;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .sec-cases .sec-results .results-txt02 {
    font-size: 3.1rem;
    line-height: 1.6774193548;
    letter-spacing: -0.01em;
    font-weight: 700;
  }
}
.sec-cases .sec-results .results-txt02 .border {
  border-bottom: 1px solid #fff;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .sec-cases .sec-results .results-txt02 .border {
    border-bottom: none;
  }
}

/* sec-flow
---------------------------------------------------------------------------- */
.sec-flow,
.sec-step,
.sec-flow02 {
  padding: 5.5rem 0 6rem 0;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-flow,
  .sec-step,
  .sec-flow02 {
    padding: 6.5rem 0 7rem 0;
  }
}
.sec-flow .c-title,
.sec-step .c-title,
.sec-flow02 .c-title {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .sec-flow .c-title,
  .sec-step .c-title,
  .sec-flow02 .c-title {
    margin-bottom: 2rem;
  }
}
.sec-flow .c-title .ttl,
.sec-step .c-title .ttl,
.sec-flow02 .c-title .ttl {
  font-size: 3rem;
  line-height: 1.8333333333;
  letter-spacing: 0.04em;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .sec-flow .c-title .ttl,
  .sec-step .c-title .ttl,
  .sec-flow02 .c-title .ttl {
    font-size: 4.4rem;
    line-height: 1.3181818182;
    letter-spacing: 0.034em;
    font-weight: 900;
  }
}
.sec-flow .lead-txt,
.sec-step .lead-txt,
.sec-flow02 .lead-txt {
  text-align: center;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 700;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .sec-flow .lead-txt,
  .sec-step .lead-txt,
  .sec-flow02 .lead-txt {
    font-size: 2.6rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-weight: 700;
    margin-bottom: 4rem;
  }
}
.sec-flow .lead-txt02,
.sec-step .lead-txt02,
.sec-flow02 .lead-txt02 {
  text-align: center;
  font-size: 3.4rem;
  line-height: 1.3235294118;
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .sec-flow .lead-txt02,
  .sec-step .lead-txt02,
  .sec-flow02 .lead-txt02 {
    font-size: 4.4rem;
    line-height: 1.3181818182;
    letter-spacing: 0.026em;
    font-weight: 700;
  }
}
.sec-flow .lead-txt02 .small,
.sec-step .lead-txt02 .small,
.sec-flow02 .lead-txt02 .small {
  display: block;
  font-size: 2.4rem;
  line-height: 1.25;
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .sec-flow .lead-txt02 .small,
  .sec-step .lead-txt02 .small,
  .sec-flow02 .lead-txt02 .small {
    font-size: 3.1rem;
    line-height: 1.2580645161;
    letter-spacing: 0.026em;
    font-weight: 700;
  }
}
.sec-flow .lead-txt02 .col01,
.sec-step .lead-txt02 .col01,
.sec-flow02 .lead-txt02 .col01 {
  font-weight: 900;
}

.sec-flow .flow-box__wrap {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
  align-content: stretch;
  gap: 0 4rem;
  margin-bottom: 3.6rem;
}
@media screen and (max-width: 767px) {
  .sec-flow .flow-box__wrap {
    flex-direction: column;
    gap: 4.5rem 0;
    margin-bottom: 3.5rem;
  }
}
.sec-flow .flow-box__wrap .flow-box {
  position: relative;
  width: calc((100% - 8rem) / 3);
  padding: 1rem 2rem 2.3rem 2rem;
}
@media screen and (max-width: 767px) {
  .sec-flow .flow-box__wrap .flow-box {
    width: 100%;
    padding: 1.8rem 3rem 3.2rem 3rem;
  }
}
.sec-flow .flow-box__wrap .flow-box__subttl {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  align-content: stretch;
  gap: 0 4.5rem;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 767px) {
  .sec-flow .flow-box__wrap .flow-box__subttl {
    gap: 0 6rem;
    margin-bottom: 0.7rem;
  }
}
.sec-flow .flow-box__wrap .flow-box__subttl .num {
  position: relative;
  font-size: 1.8rem;
  line-height: 1.3333333333;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .sec-flow .flow-box__wrap .flow-box__subttl .num {
    top: 0.1rem;
    font-size: 2.8rem;
    line-height: 1.3214285714;
    letter-spacing: 0.05em;
    font-weight: 700;
  }
}
.sec-flow .flow-box__wrap .flow-box__subttl .num:after {
  position: absolute;
  right: -2.2rem;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  content: "";
  width: 1px;
  height: 70%;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .sec-flow .flow-box__wrap .flow-box__subttl .num:after {
    right: -2.4rem;
  }
}
.sec-flow .flow-box__wrap .flow-box__subttl .jp {
  font-size: 1.8rem;
  line-height: 1.1111111111;
  letter-spacing: 0.03em;
  font-weight: 900;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .sec-flow .flow-box__wrap .flow-box__subttl .jp {
    font-size: 2.8rem;
    line-height: 1.1071428571;
    letter-spacing: 0.03em;
    font-weight: 900;
  }
}
.sec-flow .flow-box__wrap .flow-box__ttl {
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.041em;
  font-weight: 900;
  color: #fff;
  margin-bottom: 1.2rem;
}
@media screen and (max-width: 767px) {
  .sec-flow .flow-box__wrap .flow-box__ttl {
    font-size: 3rem;
    line-height: 1.5666666667;
    letter-spacing: 0.05em;
    font-weight: 900;
    margin-bottom: 2rem;
  }
}
.sec-flow .flow-box__wrap .flow-box .step-box__ttl {
  font-size: 1.8rem;
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: #fff;
  padding: 0.7rem 1.2rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-flow .flow-box__wrap .flow-box .step-box__ttl {
    font-size: 2.8rem;
    line-height: 1;
    letter-spacing: 0.045em;
    font-weight: 700;
    padding: 1.4rem 2rem;
  }
}
.sec-flow .flow-box__wrap .flow-box .step-box__inner {
  background: #fff;
  padding: 0.5rem 1.2rem 1.4rem 1.2rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-flow .flow-box__wrap .flow-box .step-box__inner {
    padding: 1rem 2.5rem 2rem 2.5rem;
  }
}
.sec-flow .flow-box__wrap .flow-box .step-box__inner .lead {
  font-size: 1.8rem;
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .sec-flow .flow-box__wrap .flow-box .step-box__inner .lead {
    font-size: 2.8rem;
    line-height: 1.6785714286;
    letter-spacing: 0.05em;
    font-weight: 900;
  }
}
.sec-flow .flow-box__wrap .flow-box .step-box__inner .txt {
  font-size: 1.6rem;
  line-height: 1.5625;
  letter-spacing: -0.018em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .sec-flow .flow-box__wrap .flow-box .step-box__inner .txt {
    font-size: 2.4rem;
    line-height: 1.625;
    font-weight: 500;
    letter-spacing: 0;
  }
}
.sec-flow .flow-box__wrap .flow-box .step-box.step01 .step-box__ttl {
  background: #808080;
}
.sec-flow .flow-box__wrap .flow-box .step-box.step02 .step-box__ttl {
  background: #4d4d4d;
}
.sec-flow .flow-box__wrap .flow-box .step-box.step03 .step-box__ttl {
  background: #222;
}
.sec-flow .flow-box__wrap .flow-box .step-box.step04 {
  border: 2px solid #9b0720;
}
.sec-flow .flow-box__wrap .flow-box .step-box.step04 .step-box__ttl {
  background: #9b0720;
}
.sec-flow .flow-box__wrap .flow-box .step-box.step04 .step-box__inner {
  padding-bottom: 3.5rem;
}
@media screen and (max-width: 767px) {
  .sec-flow .flow-box__wrap .flow-box .step-box.step04 .step-box__inner {
    padding-bottom: 2rem;
  }
}
.sec-flow .flow-box__wrap .flow-box .step-box + .step-box {
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .sec-flow .flow-box__wrap .flow-box .step-box + .step-box {
    margin-top: 1.5rem;
  }
}
.sec-flow .flow-box__wrap .flow-box .flex {
  margin-top: 1rem;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: nowrap;
  align-content: stretch;
  gap: 0 1rem;
}
@media screen and (max-width: 767px) {
  .sec-flow .flow-box__wrap .flow-box .flex {
    margin-top: 1.5rem;
    gap: 0 1.5rem;
  }
}
.sec-flow .flow-box__wrap .flow-box .flex .step-box {
  display: flex;
  flex-direction: column;
  margin-top: 0;
  width: calc((100% - 1rem) / 2);
}
.sec-flow .flow-box__wrap .flow-box .flex .step-box__inner {
  height: 100%;
}
@media screen and (max-width: 767px) {
  .sec-flow .flow-box__wrap .flow-box .flex .step-box {
    width: calc((100% - 1.5rem) / 2);
  }
}
.sec-flow .flow-box__wrap .flow-box.-box01 {
  background-image: linear-gradient(0deg, #f2e4e5, #aa6369);
}
.sec-flow .flow-box__wrap .flow-box.-box02 {
  background-image: linear-gradient(0deg, #f2e4e5, #801428);
}
.sec-flow .flow-box__wrap .flow-box.-box03 {
  background-image: linear-gradient(0deg, #f2f2f2, #222222);
}
.sec-flow .flow-box__wrap .flow-box.-box03:after {
  display: none;
}
.sec-flow .flow-box__wrap .flow-box:after {
  position: absolute;
  right: -2.5rem;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.9rem 0 1.9rem 1.6rem;
  border-color: transparent transparent transparent #222;
}
@media screen and (max-width: 767px) {
  .sec-flow .flow-box__wrap .flow-box:after {
    right: 0;
    left: 0;
    top: auto;
    transform: translateY(0);
    bottom: -3.5rem;
    margin: 0 auto;
    border-width: 2.1rem 2.45rem 0 2.45rem;
    border-color: #222 transparent transparent transparent;
  }
}
.sec-flow .letter-spacing {
  letter-spacing: -0.1em !important;
}
@media screen and (max-width: 767px) {
  .sec-flow .letter-spacing {
    letter-spacing: 0 !important;
  }
}

/* sec-step
---------------------------------------------------------------------------- */
.sec-step .step-box__wrap {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  align-content: stretch;
  gap: 0 4rem;
  margin-bottom: 3.5rem;
}
@media screen and (max-width: 767px) {
  .sec-step .step-box__wrap {
    flex-direction: column;
    gap: 4.5rem 0;
  }
}
.sec-step .step-box__wrap .step-box {
  position: relative;
  width: calc((100% - 8rem) / 3);
  box-shadow: 5px 5px 3px 0 rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  .sec-step .step-box__wrap .step-box {
    width: 100%;
  }
}
.sec-step .step-box__wrap .step-box__ttl {
  padding: 1rem 1.6rem;
  color: #fff;
  font-size: 2.4rem;
  line-height: 1.25;
  letter-spacing: 0.05em;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .sec-step .step-box__wrap .step-box__ttl {
    padding: 1.6rem 2.5rem;
    font-size: 3.1rem;
    line-height: 1.2580645161;
    letter-spacing: 0.05em;
    font-weight: 900;
  }
}
.sec-step .step-box__wrap .step-box__ttl .num {
  position: relative;
  top: -0.3rem;
  margin-right: 1.7rem;
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .sec-step .step-box__wrap .step-box__ttl .num {
    top: -0.5rem;
    margin-right: 2.7rem;
    font-size: 2rem;
    line-height: 1.95;
    letter-spacing: 0.048em;
    font-weight: 700;
  }
}
.sec-step .step-box__wrap .step-box__inner {
  background: #fff;
  padding: 1.7rem 1.7rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-step .step-box__wrap .step-box__inner {
    padding: 2rem 2.5rem;
  }
}
.sec-step .step-box__wrap .step-box__inner .lead {
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 900;
  margin-bottom: 0.8rem;
}
@media screen and (max-width: 767px) {
  .sec-step .step-box__wrap .step-box__inner .lead {
    font-size: 2.8rem;
    line-height: 1.6785714286;
    letter-spacing: 0.05em;
    font-weight: 900;
    margin-bottom: 0;
  }
}
.sec-step .step-box__wrap .step-box__inner .txt {
  font-size: 1.6rem;
  line-height: 1.5625;
  letter-spacing: 0.01em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .sec-step .step-box__wrap .step-box__inner .txt {
    font-size: 2.4rem;
    line-height: 1.625;
    letter-spacing: 0.01em;
    font-weight: 500;
  }
}
.sec-step .step-box__wrap .step-box:after {
  position: absolute;
  right: -2.5rem;
  top: 6.7rem;
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.3rem 0 1.3rem 1.1rem;
  border-color: transparent transparent transparent #222;
}
@media screen and (max-width: 767px) {
  .sec-step .step-box__wrap .step-box:after {
    right: 0;
    left: 0;
    top: auto;
    transform: translateY(0);
    bottom: -3.5rem;
    margin: 0 auto;
    border-width: 2.1rem 2.45rem 0 2.45rem;
    border-color: #222 transparent transparent transparent;
  }
}
.sec-step .step-box__wrap .step-box:nth-of-type(1) .step-box__ttl {
  background: #9e515c;
}
.sec-step .step-box__wrap .step-box:nth-of-type(2) .step-box__ttl {
  background: #932f42;
}
.sec-step .step-box__wrap .step-box:nth-of-type(3):after {
  display: none;
}
.sec-step .step-box__wrap .step-box:nth-of-type(3) .step-box__ttl {
  background: #72142a;
}

/* sec-flow02
---------------------------------------------------------------------------- */
.sec-flow02 .contract-flow {
  padding: 3rem 2.7rem 2.7rem 2.7rem;
  background: #f7f7f7;
  box-shadow: 5px 5px 3px 0 rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-flow02 .contract-flow {
    padding: 4rem 3rem 3.5rem 3.5rem;
  }
}
.sec-flow02 .contract-flow__box {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  align-content: stretch;
}
.sec-flow02 .contract-flow__box .ttl {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  align-content: stretch;
  width: 29.4rem;
  font-size: 1.9rem;
  line-height: 1.2105263158;
  font-weight: 900;
  border-right: 1px solid #222;
}
@media screen and (max-width: 767px) {
  .sec-flow02 .contract-flow__box .ttl {
    width: 100%;
    font-size: 2.8rem;
    line-height: 1.25;
    font-weight: 900;
    border-right: none;
  }
}
.sec-flow02 .contract-flow__box .ttl .num {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  align-content: stretch;
  width: 4.5rem;
  height: 4.5rem;
  margin-right: 1.4rem;
  font-size: 2.5rem;
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: 900;
  color: #fff;
  background: #9b0720;
}
@media screen and (max-width: 767px) {
  .sec-flow02 .contract-flow__box .ttl .num {
    width: 5.8rem;
    height: 5.8rem;
    margin-right: 2rem;
    font-size: 3.2rem;
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: 900;
  }
}
.sec-flow02 .contract-flow__box .ttl .num:after {
  position: absolute;
  left: 50%;
  bottom: -2.5rem;
  transform: translateX(-50%);
  display: block;
  content: "";
  width: 1px;
  height: 2.5rem;
  background: #9b0720;
}
@media screen and (max-width: 767px) {
  .sec-flow02 .contract-flow__box .ttl .num:after {
    bottom: -8.3rem;
    height: 8.3rem;
  }
}
.sec-flow02 .contract-flow__box .txt {
  width: calc(100% - 29.4rem);
  font-size: 1.6rem;
  line-height: 1.9375;
  letter-spacing: 0.01em;
  font-weight: 500;
  padding-left: 2.5rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-flow02 .contract-flow__box .txt {
    width: 100%;
    font-size: 2.4rem;
    line-height: 1.3333333333;
    letter-spacing: 0.01em;
    font-weight: 500;
    padding-left: 7.5rem;
  }
}
.sec-flow02 .contract-flow__box + .contract-flow__box {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .sec-flow02 .contract-flow__box + .contract-flow__box {
    margin-top: 1.5rem;
  }
}
.sec-flow02 .contract-flow__box:last-of-type .ttl .num:after {
  display: none;
}

/* sec-faq
---------------------------------------------------------------------------- */
.sec-faq {
  padding: 5rem 0 5.6rem 0;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-faq {
    padding: 6.5rem 0 6.5rem 0;
  }
}
.sec-faq .faq-box {
  width: 100%;
  max-width: 95rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .sec-faq .faq-box {
    max-width: inherit;
  }
}
.sec-faq .faq-box__q {
  position: relative;
  background: #222;
  padding: 0.8rem 2rem;
  cursor: pointer;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-faq .faq-box__q {
    padding: 2rem 2.5rem;
  }
}
.sec-faq .faq-box__q:after {
  position: absolute;
  right: 2.8rem;
  top: 50%;
  display: block;
  content: "";
  border-style: solid;
  border-width: 0 2px 2px 0;
  content: "";
  display: inline-block;
  position: absolute;
  height: 0.8rem;
  width: 0.8rem;
  border-color: #fff;
  transform: rotate(45deg);
  transform: rotate(45deg) translateY(-50%);
  transition: 0.4s;
}
@media screen and (max-width: 767px) {
  .sec-faq .faq-box__q:after {
    height: 0.4rem;
    width: 0.4rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-faq .faq-box__q:after {
    right: 3.8rem;
    border-style: solid;
    border-width: 0 1px 1px 0;
    content: "";
    display: inline-block;
    position: absolute;
    height: 1.8rem;
    width: 1.8rem;
    border-color: #fff;
    transform: rotate(45deg);
    transform: rotate(45deg) translateY(-50%);
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .sec-faq .faq-box__q:after {
    height: 0.9rem;
    width: 0.9rem;
  }
}
.sec-faq .faq-box__q .txt {
  position: relative;
  color: #fff;
  font-size: 2rem;
  line-height: 2.25;
  letter-spacing: 0.02em;
  font-weight: 900;
  padding-left: 4.4rem;
  padding-right: 3rem;
}
@media screen and (max-width: 767px) {
  .sec-faq .faq-box__q .txt {
    font-size: 2.4rem;
    line-height: 1.3333333333;
    letter-spacing: 0.02em;
    font-weight: 500;
    padding-left: 5.5rem;
    padding-right: 4rem;
  }
}
.sec-faq .faq-box__q .txt:before {
  position: absolute;
  left: 0;
  top: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  align-content: stretch;
  flex-direction: column;
  width: 2.8rem;
  height: 2.8rem;
  content: "Q";
  font-family: "Roboto", sans-serif;
  font-size: 2.2rem;
  line-height: 1;
  letter-spacing: 0.04em;
  font-weight: 700;
  color: #222;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .sec-faq .faq-box__q .txt:before {
    top: 50%;
    transform: translateY(-50%);
    width: 3.6rem;
    height: 3.6rem;
    font-size: 2.9rem;
    line-height: 1;
    letter-spacing: 0.04em;
    font-weight: 700;
  }
}
.sec-faq .faq-box__a {
  background: #fff;
  padding: 1.3rem 2rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-faq .faq-box__a {
    padding: 2.5rem 2.5rem;
  }
}
.sec-faq .faq-box__a .txt {
  position: relative;
  font-size: 1.6rem;
  line-height: 2.1875;
  letter-spacing: 0.02em;
  font-weight: 500;
  padding-left: 4.4rem;
}
@media screen and (max-width: 767px) {
  .sec-faq .faq-box__a .txt {
    font-size: 2.4rem;
    line-height: 1.3333333333;
    letter-spacing: 0.02em;
    font-weight: 500;
    padding-left: 5.5rem;
  }
}
.sec-faq .faq-box__a .txt:before {
  position: absolute;
  left: 0;
  top: 0.4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  align-content: stretch;
  flex-direction: column;
  width: 2.8rem;
  height: 2.8rem;
  content: "A";
  font-family: "Roboto", sans-serif;
  font-size: 2.2rem;
  line-height: 1;
  letter-spacing: 0.04em;
  font-weight: 700;
  color: #fff;
  background: #9b0720;
}
@media screen and (max-width: 767px) {
  .sec-faq .faq-box__a .txt:before {
    top: 0.1rem;
    width: 3.6rem;
    height: 3.6rem;
    font-size: 2.9rem;
    line-height: 1;
    letter-spacing: 0.04em;
    font-weight: 700;
  }
}
.sec-faq .faq-box__a .txt a {
  color: #9b0720;
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  .sec-faq .faq-box__a .txt a:hover {
    text-decoration: none;
  }
}
.sec-faq .faq-box + .faq-box {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .sec-faq .faq-box + .faq-box {
    margin-top: 3rem;
  }
}
.sec-faq .faq-box .acd_btn.open:after {
  top: 50%;
  transform: rotate(225deg) translateY(50%);
}
.sec-faq .faq-box .acd_cnts {
  display: none;
}

/* sec-contact
---------------------------------------------------------------------------- */
.sec-contact {
  background: url("../images/bg_contact.jpg") no-repeat center top;
  background-size: 100% auto !important;
  padding: 6rem 0 6.5rem 0;
  box-sizing: border-box;
  /* confirm 入力内容確認
  ---------------------------------------------------------------------------- */
  /* thanks 送信完了
  ---------------------------------------------------------------------------- */
}
@media screen and (max-width: 767px) {
  .sec-contact {
    padding: 7.5rem 0 6.5rem 0;
    background: url("../images/bg_contact_sp.jpg") no-repeat center top;
  }
}
.sec-contact .js-anime {
  position: relative;
  z-index: 2;
}
.sec-contact .c-title {
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .sec-contact .c-title {
    margin-bottom: 9.5rem;
  }
}
.sec-contact .c-title .ttl {
  color: #fff;
}
.sec-contact .c-title .subttl {
  color: rgba(255, 255, 255, 0.2);
}
.sec-contact .form-wrapper {
  width: 100%;
  max-width: 70rem;
  margin: 0 auto;
  background: #fff;
  padding: 4rem 10.25rem 4.2rem 10.25rem;
  box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  .sec-contact .form-wrapper {
    width: calc(100% - 7rem);
    max-width: inherit;
    padding: 5.5rem 3rem 6rem 3rem;
    margin: 0 auto;
  }
}
.sec-contact .form-wrapper .form-style .form-input__ttl {
  position: relative;
  font-size: 1.6rem;
  line-height: 1.25;
  letter-spacing: 0.02em;
  font-weight: 900;
  margin-bottom: 1.3rem;
  padding-left: 1rem;
}
@media screen and (max-width: 767px) {
  .sec-contact .form-wrapper .form-style .form-input__ttl {
    font-size: 2.4rem;
    line-height: 2.625;
    letter-spacing: 0.02em;
    font-weight: 900;
    margin-bottom: 1rem;
    padding-left: 1.5rem;
  }
}
.sec-contact .form-wrapper .form-style .form-input__ttl:before {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  content: "";
  width: 0.3rem;
  height: 1.8rem;
  background: #9b0720;
}
@media screen and (max-width: 767px) {
  .sec-contact .form-wrapper .form-style .form-input__ttl:before {
    height: 2.8rem;
  }
}
.sec-contact .form-wrapper .form-style .form-input__ttl .required,
.sec-contact .form-wrapper .form-style .form-input__ttl .any {
  display: inline-block;
  margin-left: 0.8rem;
  color: #fff;
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0.02em;
  font-weight: 700;
  background: #9b0720;
  padding: 0.3rem 0.6rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-contact .form-wrapper .form-style .form-input__ttl .required,
  .sec-contact .form-wrapper .form-style .form-input__ttl .any {
    margin-left: 1.5rem;
    font-size: 1.8rem;
    line-height: 1;
    letter-spacing: 0.02em;
    font-weight: 700;
    padding: 0.8rem 1.2rem;
  }
}
.sec-contact .form-wrapper .form-style .form-input__ttl .any {
  background: #222;
}
.sec-contact .form-wrapper .form-style .form-input__cnts input,
.sec-contact .form-wrapper .form-style .form-input__cnts textarea {
  width: 100%;
  font-size: 1.6rem;
  line-height: 1.25;
  letter-spacing: 0.02em;
  font-weight: 500;
  font-family: "Zen Kaku Gothic New", sans-serif;
  background: #f8f8f8;
  padding: 0.9rem 1rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-contact .form-wrapper .form-style .form-input__cnts input,
  .sec-contact .form-wrapper .form-style .form-input__cnts textarea {
    font-size: 2.4rem;
    line-height: 1.5833333333;
    letter-spacing: 0.02em;
    font-weight: 500;
    padding: 1.5rem 1.5rem;
  }
}
.sec-contact .form-wrapper .form-style .form-input__cnts textarea {
  height: 13.5rem;
  resize: vertical;
}
@media screen and (max-width: 767px) {
  .sec-contact .form-wrapper .form-style .form-input__cnts textarea {
    height: 21rem;
  }
}
.sec-contact .form-wrapper .form-style .form-input__cnts .radio_flex {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  align-content: stretch;
  gap: 0 5rem;
  margin-bottom: 3.5rem;
}
@media screen and (max-width: 767px) {
  .sec-contact .form-wrapper .form-style .form-input__cnts .radio_flex {
    gap: 0 7rem;
    margin-bottom: 3.5rem;
  }
}
.sec-contact .form-wrapper .form-style .form-input + .form-input {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .sec-contact .form-wrapper .form-style .form-input + .form-input {
    margin-top: 3rem;
  }
}
.sec-contact .form-wrapper .form-style .input-radio,
.sec-contact .form-wrapper .form-style .input-checkbox {
  position: relative;
  display: inline-block;
  /*　チェックマーク　*/
}
.sec-contact .form-wrapper .form-style .input-radio__label,
.sec-contact .form-wrapper .form-style .input-checkbox__label {
  font-size: 1.6rem;
  line-height: 1.25;
  letter-spacing: 0.02em;
  font-weight: 500;
  font-family: "Zen Kaku Gothic New", sans-serif;
  padding-left: 2.6rem;
  box-sizing: border-box;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .sec-contact .form-wrapper .form-style .input-radio__label,
  .sec-contact .form-wrapper .form-style .input-checkbox__label {
    font-size: 2.4rem;
    line-height: 1.5833333333;
    letter-spacing: 0.02em;
    font-weight: 500;
    padding-left: 4rem;
  }
}
.sec-contact .form-wrapper .form-style .input-radio input[type=radio],
.sec-contact .form-wrapper .form-style .input-checkbox input[type=radio] {
  visibility: hidden;
  width: 1px;
  position: absolute;
  top: 0;
  left: 0;
  padding: 0;
}
.sec-contact .form-wrapper .form-style .input-radio input[type=radio] + span:before,
.sec-contact .form-wrapper .form-style .input-checkbox input[type=radio] + span:before {
  display: block;
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 1.8rem;
  height: 1.8rem;
  background: #fff;
  border-radius: 100%;
  border: 1px solid #cbcbcb;
}
@media screen and (max-width: 767px) {
  .sec-contact .form-wrapper .form-style .input-radio input[type=radio] + span:before,
  .sec-contact .form-wrapper .form-style .input-checkbox input[type=radio] + span:before {
    top: 0.4rem;
    width: 2.8rem;
    height: 2.8rem;
  }
}
.sec-contact .form-wrapper .form-style .input-radio input[type=radio]:checked + span:after,
.sec-contact .form-wrapper .form-style .input-checkbox input[type=radio]:checked + span:after {
  display: block;
  position: absolute;
  top: 0.4rem;
  left: 0.4rem;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 100%;
  background: #9b0720;
  content: "";
}
@media screen and (max-width: 767px) {
  .sec-contact .form-wrapper .form-style .input-radio input[type=radio]:checked + span:after,
  .sec-contact .form-wrapper .form-style .input-checkbox input[type=radio]:checked + span:after {
    top: 1rem;
    left: 0.6rem;
    width: 2rem;
    height: 2rem;
  }
}
.sec-contact .form-wrapper .form-style .input-checkbox {
  /*　チェックマーク　*/
}
.sec-contact .form-wrapper .form-style .input-checkbox input[type=checkbox] {
  visibility: hidden;
  width: 1px;
  position: absolute;
  top: 0;
  left: 0;
  padding: 0;
}
.sec-contact .form-wrapper .form-style .input-checkbox input[type=checkbox] + span:before {
  display: block;
  position: absolute;
  content: "";
  top: 0.7rem;
  left: 0;
  width: 1.8rem;
  height: 1.8rem;
  background: #fff;
  border: 1px solid #cbcbcb;
}
@media screen and (max-width: 767px) {
  .sec-contact .form-wrapper .form-style .input-checkbox input[type=checkbox] + span:before {
    top: 0.4rem;
    width: 2.8rem;
    height: 2.8rem;
  }
}
.sec-contact .form-wrapper .form-style .input-checkbox input[type=checkbox]:checked + span:after {
  display: block;
  position: absolute;
  top: 0.7rem;
  left: 0.5rem;
  width: 1.6rem;
  height: 0.8rem;
  border-left: 2px solid #9b0720;
  border-bottom: 2px solid #9b0720;
  transform: rotate(-45deg);
  content: "";
}
@media screen and (max-width: 767px) {
  .sec-contact .form-wrapper .form-style .input-checkbox input[type=checkbox]:checked + span:after {
    top: 0.4rem;
    left: 0.8rem;
    width: 2.4rem;
    height: 1.2rem;
  }
}
.sec-contact .form-wrapper .form-style .agree-wrap {
  text-align: center;
  margin-top: 3.7rem;
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: 0.02em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .sec-contact .form-wrapper .form-style .agree-wrap {
    font-size: 2.4rem;
    line-height: 1.3333333333;
    letter-spacing: 0.02em;
    font-weight: 500;
  }
}
.sec-contact .form-wrapper .form-style .agree-wrap a {
  color: #9b0720;
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  .sec-contact .form-wrapper .form-style .agree-wrap a:hover {
    text-decoration: none;
  }
}
.sec-contact .form-wrapper .form-style .btn_wrap {
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .sec-contact .form-wrapper .form-style .btn_wrap {
    margin-top: 3.5rem;
  }
}
.sec-contact .form-wrapper .form-style .btn_wrap .form-button {
  position: relative;
  width: 37.5rem;
  height: 5.6rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .sec-contact .form-wrapper .form-style .btn_wrap .form-button {
    width: 100%;
    height: 9.7rem;
  }
}
.sec-contact .form-wrapper .form-style .btn_wrap .form-button:before, .sec-contact .form-wrapper .form-style .btn_wrap .form-button:after {
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  content: "";
  z-index: 2;
  pointer-events: none;
}
.sec-contact .form-wrapper .form-style .btn_wrap .form-button:before {
  width: 2.2rem;
  height: 2.2rem;
  background: #fff;
  border-radius: 100%;
}
@media screen and (max-width: 767px) {
  .sec-contact .form-wrapper .form-style .btn_wrap .form-button:before {
    width: 3.8rem;
    height: 3.8rem;
  }
}
.sec-contact .form-wrapper .form-style .btn_wrap .form-button:after {
  margin-top: -0.1rem;
  margin-right: 0.3rem;
  width: 1.5rem;
  height: 0.7rem;
  background: url("../images/ico_arrow.svg") no-repeat center center;
  background-size: 100% auto !important;
}
@media screen and (max-width: 767px) {
  .sec-contact .form-wrapper .form-style .btn_wrap .form-button:after {
    margin-top: -0.1rem;
    margin-right: 0.9rem;
    width: 1.8rem;
    height: 0.8rem;
  }
}
.sec-contact .form-wrapper .form-style .btn_wrap .form-button .c-button {
  width: 100%;
  height: 100%;
  font-size: 2rem;
  line-height: 1;
  font-weight: 700;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .sec-contact .form-wrapper .form-style .btn_wrap .form-button .c-button {
    font-size: 3.2rem;
    line-height: 1;
    font-weight: 700;
  }
}
.sec-contact .form-wrapper .form-style .btn_wrap .form-button .c-button[disabled] {
  background: #cbcbcb;
  cursor: default;
  opacity: 1 !important;
}
.sec-contact .form-wrapper .form-style .error {
  margin-top: 1rem;
  font-size: 1.6rem;
  line-height: 1.25;
  letter-spacing: 0.02em;
  font-weight: 500;
  color: #9b0720;
}
@media screen and (max-width: 767px) {
  .sec-contact .form-wrapper .form-style .error {
    font-size: 2.4rem;
    line-height: 1.5833333333;
    letter-spacing: 0.02em;
    font-weight: 500;
  }
}
.sec-contact.-confirm .form-wrapper {
  padding-left: 8rem;
  padding-right: 8rem;
}
@media screen and (max-width: 767px) {
  .sec-contact.-confirm .form-wrapper {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}
.sec-contact.-confirm .form-wrapper .confirm-txt {
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: -0.02em;
  font-weight: 900;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .sec-contact.-confirm .form-wrapper .confirm-txt {
    font-size: 2.4rem;
    line-height: 1.625;
    letter-spacing: -0.02em;
    font-weight: 900;
    margin-bottom: 2rem;
  }
}
.sec-contact.-confirm .form-style .form-input__cnts {
  font-size: 1.6rem;
  line-height: 1.25;
  letter-spacing: 0.02em;
  font-weight: 500;
  padding-left: 1rem;
}
@media screen and (max-width: 767px) {
  .sec-contact.-confirm .form-style .form-input__cnts {
    font-size: 2.4rem;
    line-height: 1.5833333333;
    letter-spacing: 0.02em;
    font-weight: 500;
    padding-left: 1.5rem;
  }
}
.sec-contact.-confirm .form-style .btn_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  align-content: stretch;
  gap: 0 2rem;
}
@media screen and (max-width: 767px) {
  .sec-contact.-confirm .form-style .btn_wrap {
    flex-direction: column;
    gap: 2rem 0;
  }
}
.sec-contact.-confirm .form-style .btn_wrap .form-button {
  width: calc((100% - 2rem) / 2);
}
@media screen and (max-width: 767px) {
  .sec-contact.-confirm .form-style .btn_wrap .form-button {
    width: 100%;
  }
}
.sec-contact.-confirm .form-style .btn_wrap .form-button.-back .c-button {
  background: #222;
}
.sec-contact.-confirm .form-style .btn_wrap .form-button.-back:after {
  background: url("../images/ico_arrow_b.svg") no-repeat center center;
}
.sec-contact.-confirm .form-txt {
  display: none;
}
.sec-contact.-thanks .form-wrapper {
  padding-left: 5.2rem;
  padding-right: 5.2rem;
}
@media screen and (max-width: 767px) {
  .sec-contact.-thanks .form-wrapper {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}
.sec-contact.-thanks .thanks-lead_txt {
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.875;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .sec-contact.-thanks .thanks-lead_txt {
    font-size: 2.4rem;
    line-height: 1.625;
    font-weight: 900;
  }
}
.sec-contact.-thanks .thanks-txt {
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.875;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .sec-contact.-thanks .thanks-txt {
    font-size: 2.4rem;
    line-height: 1.625;
    font-weight: 500;
  }
}
.sec-contact.-thanks .thanks-txt + .thanks-txt {
  margin-top: 2rem;
}
.sec-contact.-thanks .btn_wrap {
  margin: 3rem auto 0 auto;
}
.sec-contact.-thanks .btn_wrap .c-button {
  position: relative;
  margin: 0 auto;
  width: 37.6rem;
  height: 5.6rem;
  font-size: 2.2rem;
  line-height: 1;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .sec-contact.-thanks .btn_wrap .c-button {
    width: 100%;
    height: 9.7rem;
    font-size: 3.2rem;
    line-height: 1;
    font-weight: 700;
  }
}
.sec-contact.-thanks .btn_wrap .c-button .arrow {
  right: 1.7rem;
  width: 2.16rem;
  height: 2.16rem;
}
@media screen and (max-width: 767px) {
  .sec-contact.-thanks .btn_wrap .c-button .arrow {
    right: 2rem;
    width: 3.8rem;
    height: 3.8rem;
  }
}
.sec-contact.-thanks .btn_wrap .c-button .arrow:after {
  width: 1.1rem;
}
@media screen and (max-width: 767px) {
  .sec-contact.-thanks .btn_wrap .c-button .arrow:after {
    width: 1.8rem;
  }
}
.sec-contact.-thanks .btn_wrap .c-button + .c-button {
  margin-top: 2rem;
}
.sec-contact.-thanks .btn_wrap .c-button.-ico_consultation {
  padding-left: 4rem;
  padding-bottom: 0.4rem;
}
.sec-contact.-thanks .btn_wrap .c-button.-ico_consultation:before {
  position: absolute;
  left: 7.8rem;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  content: "";
  background: url("../images/ico_consultation.svg") no-repeat center center;
  background-size: 100% auto;
  width: 2.2rem;
  height: 2.2rem;
}
@media screen and (max-width: 767px) {
  .sec-contact.-thanks .btn_wrap .c-button.-ico_consultation:before {
    left: 14rem;
    width: 2.8rem;
    height: 2.8rem;
  }
}
.sec-contact.-thanks .btn_wrap .c-button.-to_top {
  background: #222;
}
.sec-contact.-thanks .btn_wrap .c-button.-to_top .arrow:after {
  background: url("../images/ico_arrow_b.svg") no-repeat center center;
}

/* sec-conmpany
---------------------------------------------------------------------------- */
.sec-conmpany {
  padding: 7rem 0 6rem 0;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-conmpany {
    padding: 6.3rem 6rem 6rem 6rem;
  }
}
.sec-conmpany__inner {
  position: relative;
  width: 100%;
  max-width: 136.6rem;
  min-height: 56.9rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .sec-conmpany__inner {
    max-width: inherit;
    min-height: inherit;
  }
}
.sec-conmpany .img {
  position: absolute;
  left: 0;
  top: 0;
  width: 62.2rem;
}
@media screen and (max-width: 767px) {
  .sec-conmpany .img {
    position: relative;
    width: 100%;
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .sec-conmpany .conmpany-tbl {
    padding: 0;
  }
}
.sec-conmpany .conmpany-tbl__box {
  width: 55rem;
  margin: 0 0 0 auto;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  align-content: stretch;
  border-bottom: 1px solid #989898;
  padding: 1.4rem 0;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-conmpany .conmpany-tbl__box {
    width: 100%;
    padding: 2.5rem 0;
  }
}
.sec-conmpany .conmpany-tbl__box:nth-of-type(1) {
  border-top: 1px solid #989898;
}
.sec-conmpany .conmpany-tbl__ttl {
  width: 13rem;
  font-size: 1.6rem;
  line-height: 2.5;
  letter-spacing: 0.02em;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .sec-conmpany .conmpany-tbl__ttl {
    width: 17.6rem;
    font-size: 2.4rem;
    line-height: 2.2083333333;
    letter-spacing: 0.02em;
    font-weight: 900;
  }
}
.sec-conmpany .conmpany-tbl__txt {
  position: relative;
  font-size: 1.6rem;
  line-height: 1.6875;
  font-weight: 500;
  padding-left: 3.2rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .sec-conmpany .conmpany-tbl__txt {
    font-size: 2.4rem;
    line-height: 1.4583333333;
    letter-spacing: 0.02em;
    font-weight: 500;
    padding-left: 4rem;
  }
}
.sec-conmpany .conmpany-tbl__txt:before {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  content: "";
  width: 2px;
  height: 100%;
  background: #9b0720;
}
@media screen and (max-width: 767px) {
  .sec-conmpany .conmpany-tbl__txt:before {
    width: 0.2rem;
  }
}