@charset "UTF-8";
/* PC*/
/* TABLET*/
/* SP*/
body {
  font-family: "Noto Sans JP", "Meiryo", "メイリオ", sans-serif;
  font-style: normal;
  font-weight: 400;
}

.fv {
  display: flex;
  height: max(166.1333333333vw, 623px);
  align-items: center;
  position: relative;
}
@media screen and (min-width: 769px) {
  .fv {
    height: min(43.2638888889vw, 623px);
    overflow: hidden;
  }
}
.fv__contents {
  display: flex;
  width: 100%;
  height: 100%;
  padding-block: max(10.1333333333vw, 38px);
  flex-direction: column;
  align-items: center;
  position: absolute;
  left: 0;
  right: 0;
}
@media screen and (min-width: 769px) {
  .fv__contents {
    width: min(34.5138888889vw, 497px);
    margin-inline: auto 0;
    padding-block: 0;
    justify-content: center;
    box-sizing: content-box;
  }
}
.fv__title {
  width: 0%;
  margin-right: auto;
  animation: 0.6s slideIn ease-in forwards;
  overflow: hidden;
  animation-delay: 0.8s;
}
.fv__title picture {
  width: max(89.6vw, 336px);
}
@media screen and (min-width: 769px) {
  .fv__title picture {
    width: min(34.5138888889vw, 497px);
  }
}
.fv__subTitle {
  margin: max(5.8666666667vw, 22px) auto auto;
  font-size: max(3.7333333333vw, 14px);
  font-weight: bold;
  text-align: center;
  line-height: 1.8;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .fv__subTitle {
    margin: min(1.5277777778vw, 22px) auto min(2.5vw, 36px);
    font-size: min(1.5277777778vw, 22px);
  }
}
.fv__subTitle .text-wrap {
  margin-inline: auto;
  text-align: left;
}
.fv__subTitle .text-wrap:nth-of-type(1) {
  width: max(65.6vw, 246px);
}
@media screen and (min-width: 769px) {
  .fv__subTitle .text-wrap:nth-of-type(1) {
    width: min(26.5277777778vw, 382px);
  }
}
.fv__subTitle .text-wrap:nth-of-type(1) span {
  animation-delay: 1s;
}
.fv__subTitle .text-wrap:nth-of-type(2) {
  width: max(50.6666666667vw, 190px);
  display: none;
}
@media screen and (min-width: 769px) {
  .fv__subTitle .text-wrap:nth-of-type(2) {
    width: min(20.4166666667vw, 294px);
  }
}
.fv__subTitle .text-wrap:nth-of-type(2) span {
  animation-delay: 1.2s;
}
.fv__subTitle span {
  display: inline-block;
  width: 0%;
  line-height: 1.4;
  background: linear-gradient(269.8deg, #96D0FB -4.06%, #0BC3D1 92.7%);
  overflow: hidden;
  white-space: nowrap;
  text-indent: 0.25em;
  background-repeat: no-repeat;
  animation: 0.6s slideIn ease-in forwards;
}
@keyframes slideIn {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
.fv__bg {
  height: 100%;
}
@media screen and (min-width: 769px) {
  .fv__bg {
    max-width: 1440px;
    margin: 0 auto;
  }
}
.fv .award__list {
  display: flex;
  gap: max(1.0666666667vw, 4px);
}
@media screen and (min-width: 769px) {
  .fv .award__list {
    gap: min(0.5555555556vw, 8px);
  }
}
.fv .award__list .award__item {
  width: max(28.2666666667vw, 106px);
  height: max(28.2666666667vw, 106px);
  transform: translateY(100%);
  animation: 0.8s award ease-in-out forwards;
  opacity: 0;
}
@media screen and (min-width: 769px) {
  .fv .award__list .award__item {
    width: min(9.0277777778vw, 130px);
    height: min(9.0277777778vw, 130px);
  }
}
.fv .award__list .award__item:nth-of-type(1) {
  animation-delay: 1.8s;
}
.fv .award__list .award__item:nth-of-type(2) {
  animation-delay: 2s;
}
.fv .award__list .award__item:nth-of-type(3) {
  animation-delay: 2.2s;
}
@keyframes award {
  0% {
    transform: translateY(100%);
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  90% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
.fv .award__text {
  font-size: max(2.6666666667vw, 10px);
  font-weight: 500;
  color: #242424;
}
@media screen and (min-width: 769px) {
  .fv .award__text {
    color: #fff;
    font-size: min(0.6944444444vw, 10px);
  }
}

.benefits {
  background-color: #EDFCFD;
}
@media screen and (min-width: 769px) {
  .benefits .inner {
    justify-content: center;
    flex-direction: row;
  }
}
.benefits .inner {
  overflow: visible;
}
.benefits__graph {
  display: flex;
  width: 100%;
  height: max(86.4vw, 324px);
  margin-bottom: max(10.6666666667vw, 40px);
  padding: max(9.0666666667vw, 34px) 0 max(15.7333333333vw, 59px) max(49.3333333333vw, 185px);
  background-image: url("../img/benefits_graph-bg.svg");
  background-size: contain;
  background-repeat: no-repeat;
  filter: drop-shadow(max(0.5333333333vw, 2px) max(0.5333333333vw, 2px) max(5.3333333333vw, 20px) rgba(0, 0, 0, 0.2));
  overflow: visible;
  transform: translateZ(0);
}
@media screen and (min-width: 769px) {
  .benefits__graph {
    width: min(23.4722222222vw, 338px);
    height: min(22.5vw, 324px);
    margin: 0 min(2.7777777778vw, 40px) 0 0;
    padding: min(2.3611111111vw, 34px) 0 min(3.9583333333vw, 57px) min(12.8472222222vw, 185px);
    filter: drop-shadow(min(0.1388888889vw, 2px) min(0.1388888889vw, 2px) min(1.3888888889vw, 20px) rgba(0, 0, 0, 0.2));
  }
}
.benefits__graph .graph__line {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.benefits__graph .graph__line .graph__img {
  width: max(25.6vw, 96px);
  height: max(24vw, 90px);
  margin: 0 auto max(2.6666666667vw, 10px);
  filter: drop-shadow(0 max(0.4vw, 1.5px) max(0.4vw, 1.5px) rgba(0, 0, 0, 0.2));
}
@media screen and (min-width: 769px) {
  .benefits__graph .graph__line .graph__img {
    width: min(6.25vw, 90px);
    height: min(6.6666666667vw, 96px);
    margin: 0 auto min(0.5555555556vw, 8px);
    filter: drop-shadow(0 min(0.1041666667vw, 1.5px) min(0.1041666667vw, 1.5px) rgba(0, 0, 0, 0.2));
  }
}
.benefits__graph .graph__line span {
  width: max(25.3333333333vw, 95px);
  height: max(15.2vw, 57px);
  background: linear-gradient(269.8deg, #96D0FB -4.06%, #0BC3D1 92.7%);
  transition: height 1s ease;
}
@media screen and (min-width: 769px) {
  .benefits__graph .graph__line span {
    width: min(6.5972222222vw, 95px);
    height: min(3.9583333333vw, 57px);
  }
}
@media screen and (min-width: 769px) {
  .benefits__details {
    width: min(29.7222222222vw, 428px);
    margin-block: auto;
  }
}
.benefits__cost {
  margin-bottom: max(5.3333333333vw, 20px);
  font-size: max(5.3333333333vw, 20px);
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .benefits__cost {
    margin-bottom: min(1.3888888889vw, 20px);
    font-size: min(1.3888888889vw, 20px);
  }
}
.benefits__cost > em {
  display: block;
  font-size: max(7.4666666667vw, 28px);
  border-bottom: max(1.0666666667vw, 4px) solid #F58D0E;
}
@media screen and (min-width: 769px) {
  .benefits__cost > em {
    font-size: min(2.5vw, 36px);
    border-bottom: min(0.2777777778vw, 4px) solid #F58D0E;
  }
}
.benefits__cost > em em {
  font-size: max(13.3333333333vw, 50px);
}
@media screen and (min-width: 769px) {
  .benefits__cost > em em {
    font-size: min(4.4444444444vw, 64px);
  }
}

.service .inner {
  padding-inline: calc((100vw - max(83.2vw, 312px)) / 2);
}
@media screen and (min-width: 769px) {
  .service .inner {
    padding-inline: calc((100vw - min(53.3333333333vw, 768px)) / 2);
  }
}
.service__caption {
  text-align: center;
}
.service__thumbnail {
  width: max(75.4666666667vw, 283px);
  margin: max(3.2vw, 12px) auto;
}
@media screen and (min-width: 769px) {
  .service__thumbnail {
    width: min(19.6527777778vw, 283px);
    margin: min(0.8333333333vw, 12px) auto;
  }
}
.service .other__title {
  margin-block: max(3.2vw, 12px);
  padding-left: max(1.0666666667vw, 4px);
  border-left: max(1.0666666667vw, 4px) solid #0BC3D1;
}
@media screen and (min-width: 769px) {
  .service .other__title {
    margin-block: min(0.8333333333vw, 12px);
    padding-left: min(0.2777777778vw, 4px);
    border-left: min(0.2777777778vw, 4px) solid #0BC3D1;
  }
}
.service .other__details {
  padding: max(3.2vw, 12px) max(2.1333333333vw, 8px);
  background-color: #F5F5F5;
  font-size: max(3.4666666667vw, 13px);
  line-height: 1.8;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 769px) {
  .service .other__details {
    padding: min(0.8333333333vw, 12px) min(0.5555555556vw, 8px);
    font-size: min(0.9027777778vw, 13px);
  }
}

.cases .sec__title {
  margin-bottom: max(5.3333333333vw, 20px);
}
@media screen and (min-width: 769px) {
  .cases .sec__title {
    margin-bottom: min(1.3888888889vw, 20px);
  }
}
@media screen and (max-width: 768px) {
  .cases .inner {
    padding: 0;
  }
}
.cases__caption {
  margin-bottom: max(5.3333333333vw, 20px);
  text-align: center;
}
@media screen and (min-width: 769px) {
  .cases__caption {
    margin-bottom: min(1.3888888889vw, 20px);
  }
}
.cases__list {
  margin: 0;
}
@media screen and (min-width: 769px) {
  .cases__list {
    display: flex;
    margin-inline: auto;
    flex-wrap: wrap;
    justify-content: center;
    gap: min(0.8333333333vw, 12px);
  }
}
.cases__list, .cases .slick-list {
  width: 100%;
}
.cases .slick-list {
  padding: 0;
  overflow: visible;
}
.cases .slick-track {
  display: flex;
  gap: max(3.2vw, 12px);
}
.cases .slick-dots {
  display: flex;
  margin-top: max(5.3333333333vw, 20px);
  justify-content: center;
  position: static;
  gap: max(3.2vw, 12px);
}
.cases .slick-dots li {
  width: max(2.1333333333vw, 8px);
  height: max(2.1333333333vw, 8px);
  margin: 0;
}
.cases .slick-dots li button {
  width: 100%;
  height: 100%;
  line-height: 1;
}
.cases .slick-dots li button::before {
  width: 100%;
  height: 100%;
  font-size: max(2.1333333333vw, 8px);
  line-height: 1;
}
.cases .slick-arrow {
  display: flex;
  width: max(5.3333333333vw, 20px);
  height: max(5.3333333333vw, 20px);
  font-size: 0;
  position: absolute;
  z-index: 1;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  cursor: pointer;
  border: none;
  outline: none;
}
.cases .slick-arrow::before {
  content: "";
  display: block;
  width: max(3.2vw, 12px);
  height: max(3.2vw, 12px);
  border: 1px solid #09000d;
  border-width: 3px 3px 0 0;
  transform: rotate(45deg);
}
.cases .slick-next {
  right: max(1.0666666667vw, 4px);
}
.cases .slick-prev {
  left: max(1.0666666667vw, 4px);
}
.cases .slick-prev::before {
  border-width: 0 0 3px 3px;
}
.cases__item {
  border-radius: max(4vw, 15px);
  overflow: hidden;
  background-color: #fff;
  filter: drop-shadow(0 0 max(2.1333333333vw, 8px) rgba(0, 0, 0, 0.25));
  transform: translateZ(0);
}
@media screen and (max-width: 768px) {
  .cases__item {
    width: max(89.6vw, 336px) !important;
    height: max(91.2vw, 342px) !important;
  }
}
@media screen and (min-width: 769px) {
  .cases__item {
    width: min(23.3333333333vw, 336px);
    height: auto;
    margin-bottom: auto;
    border-radius: min(1.0416666667vw, 15px);
    filter: drop-shadow(0 0 min(0.5555555556vw, 8px) rgba(0, 0, 0, 0.25));
  }
}
.cases__thumbnail {
  height: max(51.2vw, 192px);
}
@media screen and (min-width: 769px) {
  .cases__thumbnail {
    height: min(13.3333333333vw, 192px);
  }
}
.cases__details {
  padding: max(5.3333333333vw, 20px) max(3.2vw, 12px);
}
@media screen and (min-width: 769px) {
  .cases__details {
    padding: min(1.3888888889vw, 20px) min(0.8333333333vw, 12px);
  }
}
.cases__title {
  font-weight: bold;
  text-align: justify;
}
@media screen and (min-width: 769px) {
  .cases__title em {
    font-size: 1em;
  }
}
.cases__company {
  margin-block: max(3.2vw, 12px) max(1.6vw, 6px);
  font-size: max(3.4666666667vw, 13px);
  font-weight: 500;
  color: #73828B;
  line-height: 1;
}
@media screen and (min-width: 769px) {
  .cases__company {
    margin-block: min(0.8333333333vw, 12px) min(0.4166666667vw, 6px);
    font-size: min(0.9027777778vw, 13px);
  }
}
.cases__category {
  display: inline-block;
  padding: max(0.5333333333vw, 2px) max(2.1333333333vw, 8px);
  font-size: max(3.4666666667vw, 13px);
  font-weight: 500;
  color: #fff;
  line-height: 1;
  background-color: #0BC3D1;
  border-radius: max(0.5333333333vw, 2px);
}
@media screen and (min-width: 769px) {
  .cases__category {
    padding: min(0.1388888889vw, 2px) min(0.5555555556vw, 8px);
    font-size: min(0.9027777778vw, 13px);
    border-radius: min(0.1388888889vw, 2px);
  }
}

.problems {
  background-color: #F5F5F5;
}
.problems__list {
  display: flex;
  gap: max(10.6666666667vw, 40px);
  flex-direction: column;
  counter-reset: problems;
}
@media screen and (min-width: 769px) {
  .problems__list {
    width: min(66.6666666667vw, 960px);
    margin-inline: auto;
    gap: min(2.7777777778vw, 40px);
  }
}
.problems__item {
  padding: max(5.3333333333vw, 20px) max(4.8vw, 18px);
  text-align: center;
  background-color: #fff;
  border-radius: max(2.6666666667vw, 10px);
  counter-increment: problems;
}
@media screen and (min-width: 769px) {
  .problems__item {
    padding: min(1.3888888889vw, 20px) min(6.6666666667vw, 96px);
    border-radius: min(0.6944444444vw, 10px);
  }
}
.problems__item::before {
  content: "課題 " counter(problems, decimal-leading-zero);
  display: inline-flex;
  margin: 0 auto max(3.2vw, 12px);
  padding: max(2.1333333333vw, 8px) max(3.2vw, 12px);
  font-weight: bold;
  color: #0BC3D1;
  line-height: 1;
  border: max(0.5333333333vw, 2px) solid #0BC3D1;
  border-radius: calc(infinity * 1px);
}
@media screen and (min-width: 769px) {
  .problems__item::before {
    margin: 0 auto min(0.8333333333vw, 12px);
    padding: min(0.5555555556vw, 8px) min(1.3888888889vw, 20px);
    border: min(0.1388888889vw, 2px) solid #0BC3D1;
  }
}
.problems__head {
  margin-bottom: max(3.2vw, 12px);
}
@media screen and (min-width: 769px) {
  .problems__head {
    margin-bottom: min(0.8333333333vw, 12px);
  }
}
.problems__case {
  font-size: max(5.8666666667vw, 22px);
  font-weight: bold;
  line-height: 1.6;
}
@media screen and (min-width: 769px) {
  .problems__case {
    font-size: min(1.6666666667vw, 24px);
  }
}
.problems__case::after {
  content: "";
  display: block;
  width: max(8.5333333333vw, 32px);
  height: max(8.5333333333vw, 32px);
  margin: max(1.0666666667vw, 4px) auto 0;
  background-image: url("../img/arrow-double.svg");
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 769px) {
  .problems__case::after {
    width: min(2.2222222222vw, 32px);
    height: min(2.2222222222vw, 32px);
    margin: min(0.2777777778vw, 4px) auto 0;
  }
}
.problems__cause {
  margin-block: max(3.2vw, 12px);
  font-weight: bold;
  color: #F44A37;
}
@media screen and (min-width: 769px) {
  .problems__cause {
    margin-block: min(0.8333333333vw, 12px);
  }
}
@media screen and (min-width: 769px) {
  .problems__thumbnail {
    width: min(20.8333333333vw, 300px);
    height: min(13.8888888889vw, 200px);
    margin-inline: auto;
  }
}

.merit {
  background-color: #EDFCFD;
}

.order__list {
  display: flex;
  gap: max(3.2vw, 12px);
  flex-direction: column;
  counter-reset: order;
}
@media screen and (min-width: 769px) {
  .order__list {
    width: min(66.6666666667vw, 960px);
    margin-inline: auto;
    gap: min(0.8333333333vw, 12px);
  }
}
.order__item {
  padding: max(8.5333333333vw, 32px) max(3.2vw, 12px) max(3.2vw, 12px);
  text-align: center;
  background-color: #fff;
  border-radius: max(2.6666666667vw, 10px);
  counter-increment: order;
}
@media screen and (min-width: 769px) {
  .order__item {
    padding: min(2.2222222222vw, 32px) min(6.6666666667vw, 96px) min(0.8333333333vw, 12px);
    border-radius: min(0.6944444444vw, 10px);
  }
}
@media screen and (max-width: 768px) {
  .order__item:has(.order__result) {
    padding: max(8.5333333333vw, 32px) max(3.2vw, 12px);
  }
}
.order__item:has(.order__result) .order__details {
  text-align: center;
}
.order__item:has(.order__result) .order__details .order__text {
  text-align: center;
}
.order__item:has(.order__result) .order__details .order__num {
  margin-block: max(3.2vw, 12px);
}
@media screen and (min-width: 769px) {
  .order__item:has(.order__result) .order__details .order__num {
    margin-block: min(0.8333333333vw, 12px);
  }
}
.order__item:has(.order__result) .order__details em {
  font-size: max(4.8vw, 18px);
}
@media screen and (min-width: 769px) {
  .order__item:has(.order__result) .order__details em {
    margin-block: min(0.8333333333vw, 12px);
    font-size: min(1.25vw, 18px);
  }
}
.order__item:has(.order__result) .order__details em em {
  font-size: max(11.2vw, 42px);
}
@media screen and (min-width: 769px) {
  .order__item:has(.order__result) .order__details em em {
    font-size: min(2.9166666667vw, 42px);
  }
}
.order__item:has(.order__result) .order__details small {
  display: block;
  font-size: max(2.6666666667vw, 10px);
}
@media screen and (min-width: 769px) {
  .order__item:has(.order__result) .order__details small {
    font-size: min(0.6944444444vw, 10px);
  }
}
.order__item::before {
  content: counter(order, decimal-leading-zero);
  display: inline-flex;
  margin: 0 auto max(4vw, 15px);
  font-weight: bold;
  font-size: max(11.2vw, 42px);
  color: #0BC3D1;
  line-height: 1;
}
@media screen and (min-width: 769px) {
  .order__item::before {
    margin: 0 auto min(1.0416666667vw, 15px);
    font-size: min(2.9166666667vw, 42px);
  }
}
.order__caption {
  margin-bottom: max(3.2vw, 12px);
  font-size: max(4.8vw, 18px);
  font-weight: bold;
  line-height: 1.4;
}
@media screen and (min-width: 769px) {
  .order__caption {
    margin-bottom: min(1.3888888889vw, 20px);
    font-size: min(1.25vw, 18px);
  }
}
@media screen and (min-width: 769px) {
  .order__contents {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media screen and (min-width: 769px) {
  .order__thumbnail {
    width: min(20.8333333333vw, 300px);
    height: min(13.8888888889vw, 200px);
    flex-shrink: 1;
  }
}
.order__details {
  margin-top: max(3.2vw, 12px);
}
@media screen and (min-width: 769px) {
  .order__details {
    width: min(32.5vw, 468px);
    margin-block: auto;
  }
  .feature .order__details {
    width: min(27.7777777778vw, 400px);
  }
}
.order__result {
  margin-top: max(3.2vw, 12px);
  line-height: 1.8;
}
@media screen and (min-width: 769px) {
  .order__result {
    margin-top: min(0.8333333333vw, 12px);
  }
}
.order__count {
  display: inline-flex;
  align-items: center;
  gap: 0.25em;
  margin: 0 auto max(4vw, 15px);
  font-weight: bold;
  color: #0BC3D1;
  font-size: max(7.4666666667vw, 28px);
}
@media screen and (min-width: 769px) {
  .order__count {
    margin: 0 auto min(2.0833333333vw, 30px);
    font-size: min(2.0833333333vw, 30px);
  }
}
.order__count, .order__count > * {
  line-height: 1;
  vertical-align: middle;
}
.order__num {
  font-size: max(11.2vw, 42px);
  transform: translateY(-0.05em);
}
@media screen and (min-width: 769px) {
  .order__num {
    font-size: min(3.125vw, 45px);
  }
}

.comparison {
  background-color: #EDFCFD;
}
@media screen and (min-width: 769px) {
  .comparison__thumbnail {
    width: min(40.2777777778vw, 580px);
    margin-inline: auto;
  }
}
.comparison__text {
  margin-top: max(6.4vw, 24px);
  font-weight: 500;
  text-align: center;
  line-height: 2;
  letter-spacing: 0;
  white-space: nowrap;
}
@media screen and (min-width: 769px) {
  .comparison__text {
    margin-top: min(1.6666666667vw, 24px);
  }
}
.comparison__text em {
  display: inline-block;
  margin-top: -0.25em;
}
@media screen and (min-width: 769px) {
  .comparison__text em em {
    font-size: 2.111em;
  }
}

.feature {
  background-color: #F5F5F5;
}

.step {
  background-color: #EDFCFD;
}
.step__list {
  display: flex;
  padding: max(3.2vw, 12px);
  background-color: #fff;
  border-radius: max(2.6666666667vw, 10px);
  gap: max(8vw, 30px);
  flex-direction: column;
  counter-reset: step;
}
@media screen and (min-width: 769px) {
  .step__list {
    width: min(66.6666666667vw, 960px);
    margin-inline: auto;
    padding: min(0.8333333333vw, 12px);
    border-radius: min(0.6944444444vw, 10px);
    gap: min(2.2222222222vw, 32px);
    flex-direction: row;
  }
}
.step__item {
  display: flex;
  counter-increment: step;
  background-color: #fff;
  gap: max(3.2vw, 12px);
  align-items: center;
  flex-direction: column;
  position: relative;
}
@media screen and (min-width: 769px) {
  .step__item {
    width: min(14.5833333333vw, 210px);
    gap: min(0.8333333333vw, 12px);
  }
}
.step__item::before {
  content: "STEP " counter(step);
  display: flex;
  width: 100%;
  padding-block: max(1.6vw, 6px);
  font-size: max(5.3333333333vw, 20px);
  font-weight: bold;
  text-align: center;
  line-height: 1;
  background-color: #F4DD37;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 769px) {
  .step__item::before {
    padding-block: min(0.4166666667vw, 6px);
    font-size: min(1.3888888889vw, 20px);
  }
}
.step__item:not(:last-of-type)::after {
  content: "";
  display: block;
  width: max(8.5333333333vw, 32px);
  height: max(8.5333333333vw, 32px);
  margin: 0 auto;
  background-image: url("../img/arrow-double-y.svg");
}
@media screen and (min-width: 769px) {
  .step__item:not(:last-of-type)::after {
    width: min(2.2222222222vw, 32px);
    height: min(2.2222222222vw, 32px);
    margin: auto 0;
    position: absolute;
    top: 0;
    right: max(-2.2222222222vw, -32px);
    bottom: 0;
    transform: rotate(-90deg);
  }
}
.step__caption {
  font-weight: bold;
}
@media screen and (min-width: 769px) {
  .step__caption {
    margin-block: auto;
    text-align: center;
  }
}
.step__thumbnail {
  width: max(53.3333333333vw, 200px);
  height: max(26.6666666667vw, 100px);
}
@media screen and (min-width: 769px) {
  .step__thumbnail {
    width: min(13.8888888889vw, 200px);
    height: min(6.9444444444vw, 100px);
  }
}
.step__description {
  font-size: max(3.4666666667vw, 13px);
  text-align: center;
}
@media screen and (min-width: 769px) {
  .step__description {
    font-size: min(0.9027777778vw, 13px);
  }
}

.faq .fap__list {
  display: flex;
  flex-direction: column;
  gap: max(3.2vw, 12px);
}
@media screen and (min-width: 769px) {
  .faq .fap__list {
    width: min(53.3333333333vw, 768px);
    margin: 0 auto;
    gap: min(0.8333333333vw, 12px);
  }
}
.faq .fap__list .faq__item .faq__wrap {
  background-color: #fff;
  border-radius: max(2.1333333333vw, 8px);
  filter: drop-shadow(0 0 max(1.0666666667vw, 4px) rgba(0, 0, 0, 0.1));
}
@media screen and (min-width: 769px) {
  .faq .fap__list .faq__item .faq__wrap {
    border-radius: min(0.5555555556vw, 8px);
    filter: drop-shadow(0 0 min(0.2777777778vw, 4px) rgba(0, 0, 0, 0.1));
  }
}
.faq .fap__list .faq__item .faq__wrap .faq__question {
  display: flex;
  padding: max(3.2vw, 12px);
  align-items: center;
  font-weight: bold;
  text-align: justify;
  cursor: pointer;
}
@media screen and (min-width: 769px) {
  .faq .fap__list .faq__item .faq__wrap .faq__question {
    padding: min(0.8333333333vw, 12px);
  }
}
.faq .fap__list .faq__item .faq__wrap .faq__question span {
  margin-right: auto;
}
.faq .fap__list .faq__item .faq__wrap .faq__question::before {
  content: "Q.";
  margin: auto max(3.2vw, 12px) auto 0;
  font-size: max(5.3333333333vw, 20px);
  font-weight: bold;
  color: #0BC3D1;
  flex-shrink: 0;
}
@media screen and (min-width: 769px) {
  .faq .fap__list .faq__item .faq__wrap .faq__question::before {
    margin: auto min(0.8333333333vw, 12px) auto 0;
    font-size: min(1.3888888889vw, 20px);
  }
}
.faq .fap__list .faq__item .faq__wrap .faq__question::after {
  content: "";
  width: max(8.5333333333vw, 32px);
  height: max(8.5333333333vw, 32px);
  margin: auto 0 auto max(3.2vw, 12px);
  background-image: url("../img/arrow-faq.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  flex-shrink: 0;
  transition: transform 0.4s;
  transform: rotateX(180deg);
}
@media screen and (min-width: 769px) {
  .faq .fap__list .faq__item .faq__wrap .faq__question::after {
    width: min(2.2222222222vw, 32px);
    height: min(2.2222222222vw, 32px);
    margin: auto 0 auto min(0.8333333333vw, 12px);
  }
}
.faq .fap__list .faq__item .faq__wrap .faq__answer {
  display: none;
  margin: 0 max(3.2vw, 12px);
  padding: max(3.2vw, 12px) 0;
  font-size: max(3.4666666667vw, 13px);
  text-align: justify;
  letter-spacing: 0.02em;
  border-top: max(0.2666666667vw, 1px) solid #DCDEE0;
}
@media screen and (min-width: 769px) {
  .faq .fap__list .faq__item .faq__wrap .faq__answer {
    margin: 0 min(0.8333333333vw, 12px);
    padding: min(0.8333333333vw, 12px) 0;
    font-size: min(0.9027777778vw, 13px);
    border-top: min(0.0694444444vw, 1px) solid #DCDEE0;
  }
}
.faq .fap__list .faq__item .faq__wrap.--active .faq__question::after {
  transform: rotateX(0);
}

.form {
  background-color: #F5F5F5;
}

.fv2 {
  display: flex;
  height: max(166.1333333333vw, 623px);
  align-items: center;
  position: relative;
}
.fv2:not(.fv) {
  padding: 0;
}
@media screen and (min-width: 769px) {
  .fv2 {
    height: min(43.2638888889vw, 623px);
    overflow: hidden;
  }
}
.fv2 .inner {
  position: relative;
  padding-inline: 0;
}
.fv2__contents {
  display: flex;
  width: 100%;
  height: 100%;
  padding-block: max(9.6vw, 36px) max(10.1333333333vw, 38px);
  padding-inline: calc((100vw - max(89.6vw, 336px)) / 2);
  flex-direction: column;
  align-items: center;
  position: absolute;
  left: 0;
  right: 0;
}
@media screen and (min-width: 769px) {
  .fv2__contents {
    width: min(39.5833333333vw, 570px);
    margin-inline: auto 0;
    padding-block: 0;
    padding-inline: 0 min(2.2222222222vw, 32px);
    justify-content: center;
    box-sizing: content-box;
  }
}
.fv2__tagline {
  width: 0%;
  margin-right: auto;
  margin-bottom: max(4.2666666667vw, 16px);
  animation: 0.6s slideIn ease-in forwards;
  overflow: hidden;
  animation-delay: 0.8s;
}
@media screen and (min-width: 769px) {
  .fv2__tagline {
    margin-bottom: min(2.2222222222vw, 32px);
  }
}
.fv2__tagline picture {
  width: max(89.6vw, 336px);
}
@media screen and (min-width: 769px) {
  .fv2__tagline picture {
    width: min(39.5833333333vw, 570px);
  }
}
.fv2__title {
  width: 0%;
  margin-right: auto;
  animation: 0.6s slideIn ease-in forwards;
  overflow: hidden;
  animation-delay: 0.8s;
  text-align: center;
}
.fv2__title picture {
  width: max(89.6vw, 336px);
}
@media screen and (min-width: 769px) {
  .fv2__title picture {
    width: min(39.5833333333vw, 570px);
  }
}
.fv2__subTitle {
  margin: max(4.2666666667vw, 16px) auto auto;
  font-size: max(3.7333333333vw, 14px);
  font-weight: bold;
  text-align: center;
  line-height: 1.8;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .fv2__subTitle {
    margin: min(1.25vw, 18px) auto min(1.5277777778vw, 22px);
    font-size: min(1.5277777778vw, 22px);
  }
}
.fv2__subTitle .text-wrap {
  display: block;
  margin-inline: auto;
  text-align: left;
}
.fv2__subTitle .text-wrap > span {
  display: inline-block;
  width: 0%;
  line-height: 1.4;
  overflow: hidden;
  white-space: nowrap;
  animation: 0.6s slideIn ease-in forwards;
}
.fv2__subTitle .text-wrap:nth-of-type(1) {
  width: max(65.6vw, 246px);
}
@media screen and (min-width: 769px) {
  .fv2__subTitle .text-wrap:nth-of-type(1) {
    width: min(26.5277777778vw, 382px);
  }
}
.fv2__subTitle .text-wrap:nth-of-type(1) span {
  animation-delay: 1s;
}
@keyframes slideIn {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
.fv2__bg {
  height: 100%;
}
@media screen and (min-width: 769px) {
  .fv2__bg {
    max-width: 1440px;
    margin: 0 auto;
    transform: translateY(min(4.4444444444vw, 64px)) scale(1.15);
    position: relative;
    z-index: -1;
  }
}
.fv2 .award__list {
  display: flex;
  gap: max(1.0666666667vw, 4px);
}
@media screen and (min-width: 769px) {
  .fv2 .award__list {
    gap: min(0.5555555556vw, 8px);
  }
}
.fv2 .award__list .award__item {
  width: max(28.2666666667vw, 106px);
  height: max(28.2666666667vw, 106px);
  transform: translateY(100%);
  animation: 0.8s award ease-in-out forwards;
  opacity: 0;
}
@media screen and (min-width: 769px) {
  .fv2 .award__list .award__item {
    width: min(9.0277777778vw, 130px);
    height: min(9.0277777778vw, 130px);
  }
}
.fv2 .award__list .award__item:nth-of-type(1) {
  animation-delay: 1.8s;
}
.fv2 .award__list .award__item:nth-of-type(2) {
  animation-delay: 2s;
}
.fv2 .award__list .award__item:nth-of-type(3) {
  animation-delay: 2.2s;
}
@keyframes award {
  0% {
    transform: translateY(100%);
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  90% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
.fv2 .award__text {
  font-size: max(2.6666666667vw, 10px);
  font-weight: 500;
  color: #242424;
}
@media screen and (min-width: 769px) {
  .fv2 .award__text {
    color: #fff;
    font-size: min(0.6944444444vw, 10px);
  }
}
.fv2 .text-mark {
  display: inline-block;
  color: #fff;
  background: linear-gradient(269.8deg, #96D0FB -4.06%, #0BC3D1 92.7%);
  background-repeat: no-repeat;
  text-indent: 0.25em;
}

.service2__caption {
  margin-bottom: max(10.6666666667vw, 40px);
  font-size: max(5.3333333333vw, 20px);
  font-weight: bold;
  line-height: 1.9;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .service2__caption {
    margin-bottom: min(4.1666666667vw, 60px);
    font-size: min(1.5972222222vw, 23px);
  }
}
@media screen and (max-width: 768px) {
  .service2 .sec__title {
    margin-bottom: max(8.5333333333vw, 32px);
  }
}
.service2 .order__list {
  gap: max(10.6666666667vw, 40px);
}
@media screen and (min-width: 769px) {
  .service2 .order__list {
    gap: min(2.7777777778vw, 40px);
  }
}
.service2 .order__item {
  background-color: #EDFCFD;
  border-radius: max(4vw, 15px);
}
@media screen and (min-width: 769px) {
  .service2 .order__item {
    border-radius: min(1.0416666667vw, 15px);
  }
}
.service2 .order__item::before {
  display: none;
}
.service2 .order__item:has(.order__result) .order__details .order__text, .service2 .order__item .order__result {
  text-align: left;
}
.service2 .order__caption {
  font-size: max(5.3333333333vw, 20px);
}
@media screen and (min-width: 769px) {
  .service2 .order__caption {
    font-size: min(1.6666666667vw, 24px);
  }
}
.service2 .order__text {
  line-height: 1.8;
}

.problems2 {
  background-color: #F5F5F5;
}
.problems2 .sec__title {
  color: #F44A37;
}
.problems2 .sec__title::after {
  content: "";
  background-image: url("../img/title_decoration2.svg");
}
.problems2__list {
  display: flex;
  gap: max(10.6666666667vw, 40px);
  flex-direction: column;
  counter-reset: problems2;
}
@media screen and (min-width: 769px) {
  .problems2__list {
    width: min(66.6666666667vw, 960px);
    margin-inline: auto;
    gap: min(2.7777777778vw, 40px);
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }
}
.problems2__item {
  border-radius: max(4vw, 15px);
  padding: max(12.2666666667vw, 46px) max(4.8vw, 18px);
  text-align: center;
  background-color: #fff;
  border-radius: max(2.6666666667vw, 10px);
}
@media screen and (min-width: 769px) {
  .problems2__item {
    width: min(31.9444444444vw, 460px);
    padding: min(3.125vw, 45px) min(3.125vw, 45px);
    border-radius: min(1.0416666667vw, 15px);
  }
}
.problems2__head {
  margin-bottom: max(4.8vw, 18px);
}
@media screen and (min-width: 769px) {
  .problems2__head {
    margin-bottom: min(3.125vw, 45px);
  }
}
.problems2__count {
  display: inline-flex;
  align-items: center;
  gap: 0.25em;
  color: #fff;
  background: #F44A37;
  border-radius: 999px;
  font-weight: bold;
  padding: 0.375em 1.5em;
}
.problems2__num {
  font-size: max(5.3333333333vw, 20px);
}
@media screen and (min-width: 769px) {
  .problems2__num {
    font-size: min(1.5277777778vw, 22px);
  }
}
.problems2__cause {
  font-weight: bold;
  font-size: max(5.3333333333vw, 20px);
  margin-block: max(3.2vw, 12px);
}
@media screen and (min-width: 769px) {
  .problems2__cause {
    font-size: min(1.7361111111vw, 25px);
    margin-block: min(0.5555555556vw, 8px) min(1.1111111111vw, 16px);
  }
}
@media screen and (min-width: 769px) {
  .problems2__thumbnail {
    width: min(20.8333333333vw, 300px);
    height: min(13.8888888889vw, 200px);
    margin-inline: auto;
  }
}

@media screen and (min-width: 769px) {
  .solve {
    padding-block: min(2.0833333333vw, 30px) !important;
  }
}
.solve__contents {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: max(0.8333333333vw, 12px);
}
@media screen and (min-width: 769px) {
  .solve__contents {
    width: min(66.6666666667vw, 960px);
    flex-direction: row-reverse;
    margin-inline: auto;
    gap: min(2.7777777778vw, 40px);
  }
}
.solve__details {
  position: relative;
}
@media screen and (max-width: 768px) {
  .solve__details {
    padding-block: max(10.6666666667vw, 40px) max(21.3333333333vw, 80px);
  }
}
.solve__details::before {
  content: "";
  display: block;
  aspect-ratio: 217/531;
  background: center/contain no-repeat url("../img/solve_arrow.svg");
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
  .solve__details::before {
    height: 90%;
  }
}
@media screen and (min-width: 769px) {
  .solve__details::before {
    width: min(5.625vw, 81px);
    height: max(18.3333333333vw, 264px);
  }
}
.solve__text {
  position: relative;
  text-align: center;
  font-size: max(5.3333333333vw, 20px);
  font-weight: bold;
  -webkit-text-stroke: 5px #fff;
  text-stroke: 5px #fff;
  paint-order: stroke;
}
.solve__text em {
  color: #242424;
  font-size: max(7.4666666667vw, 28px);
}
@media screen and (min-width: 769px) {
  .solve__text {
    font-size: min(1.7361111111vw, 25px);
  }
  .solve__text em {
    font-size: min(2.4305555556vw, 35px);
  }
}
.solve__thumbnail {
  width: max(42.6666666667vw, 160px);
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .solve__thumbnail {
    width: min(12.7083333333vw, 183px);
  }
}

.merit2 {
  background-color: #EDFCFD;
}
.merit2 .order__list {
  gap: max(10.6666666667vw, 40px);
}
@media screen and (min-width: 769px) {
  .merit2 .order__list {
    gap: min(2.7777777778vw, 40px);
  }
}
.merit2 .order__item {
  border-radius: max(4vw, 15px);
}
@media screen and (min-width: 769px) {
  .merit2 .order__item {
    border-radius: min(1.0416666667vw, 15px);
    padding-block: min(3.75vw, 54px);
  }
}
.merit2 .order__item::before {
  display: none;
}
.merit2 .order__item:has(.order__result) .order__details .order__text, .merit2 .order__item .order__result {
  text-align: left;
}
@media screen and (min-width: 769px) {
  .merit2 .order__contents {
    gap: min(2.7777777778vw, 40px);
  }
}
.merit2 .order__caption {
  font-size: max(5.3333333333vw, 20px);
}
@media screen and (min-width: 769px) {
  .merit2 .order__caption {
    font-size: min(1.6666666667vw, 24px);
  }
}/*# sourceMappingURL=index.css.map */