@charset "UTF-8";
/* ==========================================================================
  Home
========================================================================== */
.logo a {
  display: inline-block;
  opacity: 1;
  transition: all 0.5s;
}
.logo a:hover, .logo a:focus-visible {
  opacity: 0.5;
}
.logo img {
  width: max(70.4vw, 264px);
}
@media (800px <= width) {
  .logo img {
    width: min(22vw, 264px);
  }
}

.section {
  padding-block: max(12.8vw, 48px);
}
@media (800px <= width) {
  .section {
    padding-block: min(10.5833333333vw, 127px) min(14.1666666667vw, 170px);
  }
}
.section__header {
  margin-bottom: max(12.8vw, 48px);
}
@media (800px <= width) {
  .section__header {
    margin-bottom: min(9.6666666667vw, 116px);
  }
}
.section__title {
  position: relative;
  padding-top: calc(max(21.3333333333vw, 80px) + max(4.2666666667vw, 16px));
  font-size: max(7.2vw, 27px);
  font-weight: 700;
  line-height: 1.3;
  color: #5c3b0f;
  text-align: center;
}
.section__title::before {
  aspect-ratio: 1/1;
  content: "";
  background: center/contain no-repeat;
  position: absolute;
  top: 0;
  left: 50%;
  width: max(21.3333333333vw, 80px);
  transform: translateX(-50%);
}
@media (800px <= width) {
  .section__title {
    padding-top: calc(min(11.5833333333vw, 139px) + min(2.5vw, 30px));
    font-size: min(3.6666666667vw, 44px);
    line-height: 1.65;
  }
  .section__title::before {
    width: min(11.5833333333vw, 139px);
  }
}
.section__lead {
  margin-top: max(6.4vw, 24px);
  line-height: 1.5;
  text-align: center;
}
.section__lead p + p {
  margin-top: 1.5em;
}
@media (800px <= width) {
  .section__lead {
    margin-top: min(4.6666666667vw, 56px);
    line-height: 1.88;
  }
  .section__lead p + p {
    margin-top: 1.88em;
  }
}

strong {
  color: #cb191d;
}

.cta {
  padding-block: min(2vw, 24px);
  background: #f7e7c3;
}
@media (width < 800px) {
  .cta {
    display: none;
  }
}
.cta .container {
  display: flex;
  gap: min(4.6666666667vw, 56px);
  align-items: center;
  justify-content: center;
}
.cta__catch {
  display: block;
  width: fit-content;
  margin-inline: auto;
  margin-bottom: min(2vw, 24px);
  font-size: min(2.5vw, 30px);
  font-weight: 900;
  line-height: 1.2;
  border-bottom: min(0.0833333333vw, 1px) solid currentColor;
}
.cta__brand {
  display: flex;
  flex-direction: column;
  gap: min(1.3333333333vw, 16px);
  align-items: center;
}
.cta__logo {
  width: min(9.1666666667vw, 110px);
}
.cta__note {
  font-size: min(1.6666666667vw, 20px);
  font-weight: 700;
  line-height: 1.3;
}
.cta__list {
  display: flex;
  flex-direction: column;
  gap: max(4.2666666667vw, 16px);
  align-items: center;
  justify-content: center;
}
@media (800px <= width) {
  .cta__list {
    gap: min(1.3333333333vw, 16px);
  }
}
.cta__link {
  width: max(67.7333333333vw, 254px);
  padding: max(3.2vw, 12px);
  font-size: max(5.3333333333vw, 20px);
  font-weight: 900;
  line-height: 1.5;
  color: #fff;
  text-align: center;
  letter-spacing: 0.06em;
  background: #cb191d;
  border: max(0.5333333333vw, 2px) solid #cb191d;
  border-radius: 100vmax;
  box-shadow: 0 max(1.0666666667vw, 4px) 0 #a30004;
  transition: all 0.5s;
}
@media (800px <= width) {
  .cta__link {
    flex-direction: row;
    gap: min(0.6666666667vw, 8px);
    width: min(40vw, 480px);
    padding: min(1.3333333333vw, 16px);
    font-size: min(2vw, 24px);
    border-width: min(0.1666666667vw, 2px);
    box-shadow: 0 min(0.3333333333vw, 4px) 0 #a30004;
  }
}
.cta__link:hover, .cta__link:focus-visible {
  box-shadow: none;
  transform: translateY(max(1.0666666667vw, 4px));
}
@media (800px <= width) {
  .cta__link:hover, .cta__link:focus-visible {
    transform: translateY(min(0.3333333333vw, 4px));
  }
}
.cta__link--document {
  color: #cb191d;
  background: #fff;
}

.cta2 {
  padding-block: max(4.2666666667vw, 16px);
  background: #f7e7c3;
}
@media (800px <= width) {
  .cta2 {
    padding-block: min(1.3333333333vw, 16px);
  }
}
.cta2__list {
  display: flex;
  flex-direction: column;
  gap: max(4.2666666667vw, 16px);
  align-items: center;
  justify-content: center;
  margin-inline: auto;
}
@media (800px <= width) {
  .cta2__list {
    gap: min(1.3333333333vw, 16px);
  }
}
.cta2__link {
  width: max(67.7333333333vw, 254px);
  padding: max(3.2vw, 12px);
  font-size: max(5.3333333333vw, 20px);
  font-weight: 900;
  line-height: 1.5;
  color: #fff;
  text-align: center;
  letter-spacing: 0.06em;
  background: #cb191d;
  border: max(0.5333333333vw, 2px) solid #cb191d;
  border-radius: 100vmax;
  box-shadow: 0 max(1.0666666667vw, 4px) 0 #a30004;
  transition: all 0.5s;
}
@media (800px <= width) {
  .cta2__link {
    flex-direction: row;
    gap: min(0.6666666667vw, 8px);
    width: min(40vw, 480px);
    padding: min(1.3333333333vw, 16px);
    font-size: min(2vw, 24px);
    border-width: min(0.1666666667vw, 2px);
    box-shadow: 0 min(0.3333333333vw, 4px) 0 #a30004;
  }
}
.cta2__link:hover, .cta2__link:focus-visible {
  box-shadow: none;
  transform: translateY(max(1.0666666667vw, 4px));
}
@media (800px <= width) {
  .cta2__link:hover, .cta2__link:focus-visible {
    transform: translateY(min(0.3333333333vw, 4px));
  }
}
.cta2__link--document {
  color: #cb191d;
  background: #fff;
}

@media (width < 800px) {
  #spCta {
    opacity: 0;
    transition: all 0.5s;
  }
  #spCta.is-fix {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 5;
    width: 100%;
    opacity: 1;
  }
}
@media (800px <= width) {
  #spCta {
    display: none;
  }
}

.hero {
  width: 100%;
  margin-inline: auto;
  background: center/cover no-repeat;
  background-image: url("../img/hero_image-sp.webp");
}
@media (800px <= width) {
  .hero {
    max-width: 1920px;
    background-image: url("../img/hero_image-pc.webp");
  }
}
.hero__inner {
  position: relative;
  height: 100%;
  aspect-ratio: 375/516;
  margin-inline: auto;
}
@media (800px <= width) {
  .hero__inner {
    width: 100%;
    max-width: 1200px;
    aspect-ratio: 1200/612;
  }
}
.hero__tagline, .hero__catch,
.hero .heroBenefit {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.hero__tagline {
  top: 13.37%;
  width: max(93.8666666667vw, 352px);
}
@media (800px <= width) {
  .hero__tagline {
    top: 20%;
    width: min(61.75vw, 741px);
  }
}
.hero__catch {
  top: 38.76%;
  width: max(66.6666666667vw, 250px);
}
@media (800px <= width) {
  .hero__catch {
    top: 52.4%;
    width: min(20.8333333333vw, 250px);
  }
}
.hero .heroBenefit {
  bottom: 3.1%;
  display: flex;
  flex-wrap: wrap;
  gap: max(2.1333333333vw, 8px);
  justify-content: center;
  width: max(66.1333333333vw, 248px);
}
.hero .heroBenefit li {
  flex-basis: calc((100% - max(2.1333333333vw, 8px)) / 2);
}
@media (800px <= width) {
  .hero .heroBenefit {
    bottom: 7.8%;
    gap: min(1.3333333333vw, 16px);
    width: min(44vw, 528px);
  }
  .hero .heroBenefit li {
    flex-basis: calc((100% - min(1.3333333333vw, 16px) * 3) / 4);
  }
}
.hero .heroBenefit__item {
  display: block;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 100vmax;
  box-shadow: 0 max(1.0666666667vw, 4px) max(3.2vw, 12px) rgba(0, 0, 0, 0.25);
}
@media (800px <= width) {
  .hero .heroBenefit__item {
    box-shadow: 0 min(0.3333333333vw, 4px) min(1vw, 12px) rgba(0, 0, 0, 0.25);
  }
}

.problem {
  position: relative;
  background: #f5f5f5;
}
.problem::after {
  position: absolute;
  top: calc(100% - 1px);
  left: 50%;
  display: block;
  aspect-ratio: 314/76;
  content: "";
  clip-path: polygon(50% 100%, 100% 0, 0 0);
  transform: translateX(-50%);
  width: max(31.4666666667vw, 118px);
  background: #f5f5f5;
}
@media (800px <= width) {
  .problem::after {
    width: min(26.1666666667vw, 314px);
  }
}
.problem .section__title::before {
  background-image: url("../img/sec_title-problem.png");
}
.problem__list {
  display: flex;
  flex-direction: column;
  gap: max(6.4vw, 24px);
}
@media (800px <= width) {
  .problem__list {
    gap: min(4.8333333333vw, 58px);
  }
}
.problem__item {
  display: flex;
  flex-direction: column;
  gap: max(6.4vw, 24px);
  align-items: center;
  padding: max(6.6666666667vw, 25px) max(6.4vw, 24px);
  background: #fff;
}
@media (800px <= width) {
  .problem__item {
    flex-direction: row;
    gap: min(4vw, 48px);
    padding: min(1.3333333333vw, 16px) min(1.3333333333vw, 16px);
  }
}
.problem__contents {
  flex: 1;
}
.problem__title {
  margin-bottom: max(6.4vw, 24px);
  font-size: max(7.2vw, 27px);
  font-weight: 700;
  line-height: 1.3;
  color: #5c3b0f;
  text-align: center;
}
@media (800px <= width) {
  .problem__title {
    margin-bottom: min(2.6666666667vw, 32px);
    font-size: min(2.3333333333vw, 28px);
    text-align: left;
  }
}
.problem__text {
  line-height: 1.5;
}
@media (800px <= width) {
  .problem__text {
    line-height: 1.88;
  }
}
.problem__image {
  order: -1;
  text-align: center;
}
.problem__image:nth-of-type(1) img {
  width: max(33.0666666667vw, 124px);
}
.problem__image:nth-of-type(2) img {
  width: max(37.6vw, 141px);
}
.problem__image:nth-of-type(3) img {
  width: max(30.4vw, 114px);
}
.problem__image:nth-of-type(4) img {
  width: max(29.6vw, 111px);
}
@media (800px <= width) {
  .problem__image {
    flex-basis: 20%;
  }
  .problem__image:nth-of-type(1) img {
    width: min(14.9166666667vw, 179px);
  }
  .problem__image:nth-of-type(2) img {
    width: min(16.9166666667vw, 203px);
  }
  .problem__image:nth-of-type(3) img {
    width: min(13.75vw, 165px);
  }
  .problem__image:nth-of-type(4) img {
    width: min(13.4166666667vw, 161px);
  }
}

.service {
  position: relative;
  z-index: 1;
}
@media (800px <= width) {
  .service::after {
    aspect-ratio: 1/1;
    content: "";
    background: center/contain no-repeat;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: -1;
    width: 100%;
    width: min(160vw, 1920px);
    max-width: 1920px;
    background-image: url("../img/service_bg-pc.png");
    transform: translate(-50%, -50%);
  }
}
.service .section__title::before {
  background-image: url("../img/sec_title-service.png");
}
@media (width < 800px) {
  .service .section__lead {
    font-size: max(4vw, 15px);
  }
}
.service__article:not(:first-of-type) {
  margin-top: max(12.8vw, 48px);
}
@media (800px <= width) {
  .service__article:not(:first-of-type) {
    margin-top: min(15.8333333333vw, 190px);
  }
}
.service .article__title {
  position: relative;
  display: flex;
  gap: max(4vw, 15px);
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: max(2.4vw, 9px);
  font-size: max(4.2666666667vw, 16px);
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background: #cb191d;
  border-radius: max(4.2666666667vw, 16px);
}
.service .article__title::after {
  position: absolute;
  top: calc(100% - 1px);
  left: 50%;
  display: block;
  aspect-ratio: 314/76;
  content: "";
  clip-path: polygon(50% 100%, 100% 0, 0 0);
  transform: translateX(-50%);
  height: max(4.8vw, 18px);
  background: #cb191d;
}
@media (800px <= width) {
  .service .article__title::after {
    height: min(2.5833333333vw, 31px);
  }
}
@media (800px <= width) {
  .service .article__title {
    gap: min(3.8333333333vw, 46px);
    padding: min(0.8333333333vw, 10px);
    font-size: min(2.3333333333vw, 28px);
    line-height: 1.2;
    border-radius: min(2.0833333333vw, 25px);
  }
}
.service .article__count {
  position: relative;
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  align-items: center;
  font-size: max(1.8666666667vw, 7px);
  font-weight: 900;
  line-height: 1;
}
.service .article__count::after {
  position: absolute;
  top: 0;
  right: calc(-1 * max(1.8666666667vw, 7px));
  display: block;
  width: max(0.2666666667vw, 1px);
  height: 100%;
  content: "";
  background-color: #fff;
}
@media (800px <= width) {
  .service .article__count {
    font-size: min(0.8333333333vw, 10px);
  }
  .service .article__count::after {
    right: calc(-1 * min(1.5vw, 18px));
    width: min(0.0833333333vw, 1px);
  }
}
.service .article__num {
  font-size: max(8vw, 30px);
}
@media (800px <= width) {
  .service .article__num {
    font-size: min(3.6666666667vw, 44px);
  }
}
.service .article__lead {
  margin-block: max(12.8vw, 48px);
  line-height: 1.5;
  text-align: center;
}
@media (width < 800px) {
  .service .article__lead {
    font-size: max(4vw, 15px);
  }
}
@media (800px <= width) {
  .service .article__lead {
    margin-block: min(6.4166666667vw, 77px) min(7.3333333333vw, 88px);
    line-height: 1.88;
  }
}
.service__caseList {
  display: flex;
  flex-direction: column;
  gap: max(6.4vw, 24px);
}
@media (800px <= width) {
  .service__caseList {
    flex-direction: row;
    gap: min(5.4166666667vw, 65px);
  }
  .service__caseList li {
    flex-basis: 33.3333333333%;
  }
}
.service .serviceCase {
  display: flex;
  flex-direction: column;
  gap: max(6.4vw, 24px);
  align-items: center;
  padding: max(6.6666666667vw, 25px) max(6.4vw, 24px);
  overflow: hidden;
  background: #fff;
  border: max(1.3333333333vw, 5px) solid #cb191d;
  border-radius: max(4.2666666667vw, 16px);
}
@media (800px <= width) {
  .service .serviceCase {
    gap: min(2.9166666667vw, 35px);
    height: 100%;
    padding: min(2.5vw, 30px) min(2.3333333333vw, 28px) min(3.1666666667vw, 38px);
    border-width: min(0.5833333333vw, 7px);
    border-radius: min(2.8333333333vw, 34px);
  }
}
.service .serviceCase__icon {
  order: -1;
  width: max(29.8666666667vw, 112px);
}
@media (800px <= width) {
  .service .serviceCase__icon {
    width: min(15.4166666667vw, 185px);
  }
}
.service .serviceCase__title {
  font-size: max(6.4vw, 24px);
  font-weight: 900;
  line-height: 1.3;
  color: #5c3b0f;
  text-align: center;
}
@media (800px <= width) {
  .service .serviceCase__title {
    font-size: min(2.1666666667vw, 26px);
  }
}
.service .serviceCase__text {
  line-height: 1.5;
}
.service .serviceCase__text strong {
  color: #ffa800;
}
@media (800px <= width) {
  .service .serviceCase__text {
    flex-grow: 1;
    line-height: 1.88;
  }
}
.service__flowList {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: max(10.6666666667vw, 40px);
}
.service__flowList::before {
  position: absolute;
  display: block;
  content: "";
  background: #d8d8d8;
  border-radius: 100vmax;
}
@media (width < 800px) {
  .service__flowList {
    width: max(74.4vw, 279px);
    padding-block: max(4.2666666667vw, 16px);
    margin-left: auto;
  }
  .service__flowList::before {
    top: 0;
    left: calc(-1 * max(7.4666666667vw, 28px));
    width: max(2.1333333333vw, 8px);
    height: 100%;
  }
}
@media (800px <= width) {
  .service__flowList {
    flex-direction: row;
    gap: min(0vw, 0px);
    margin-inline: min(2.1666666667vw, 26px);
  }
  .service__flowList::before {
    top: min(5.6666666667vw, 68px);
    left: 0;
    width: 100%;
    height: min(1vw, 12px);
  }
}
@media (800px <= width) {
  .service__flowList > li {
    flex: 1;
    flex-basis: calc((100% - min(5vw, 60px) * 3) / 4);
    text-align: center;
  }
}
.service__flowList .serviceFlow {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
}
.service__flowList .serviceFlow::before {
  aspect-ratio: 1/1;
  content: "";
  background: center/contain no-repeat;
  position: absolute;
  top: 50%;
  left: calc(-1 * max(10.6666666667vw, 40px));
  width: max(8.5333333333vw, 32px);
  background: center/contain no-repeat url("../img/service-flow_icon.png");
  transform: translateY(-50%);
}
@media (width < 800px) {
  .service__flowList .serviceFlow {
    gap: max(2.6666666667vw, 10px);
  }
}
@media (800px <= width) {
  .service__flowList .serviceFlow {
    align-items: center;
  }
  .service__flowList .serviceFlow::before {
    top: min(3.5833333333vw, 43px);
    left: 50%;
    width: min(5.3333333333vw, 64px);
    transform: translateX(-50%);
  }
}
.service__flowList .serviceFlow__num {
  font-size: max(5.3333333333vw, 20px);
  font-weight: 900;
  line-height: 1;
  color: #5c3b0f;
  letter-spacing: 0.04em;
}
@media (800px <= width) {
  .service__flowList .serviceFlow__num {
    margin-bottom: min(8.6666666667vw, 104px);
    font-size: min(2.3333333333vw, 28px);
  }
}
.service__flowList .serviceFlow__title {
  font-size: max(5.3333333333vw, 20px);
  font-weight: 900;
  line-height: 1.2;
  color: #5c3b0f;
  letter-spacing: 0.04em;
}
@media (800px <= width) {
  .service__flowList .serviceFlow__title {
    height: min(7.3333333333vw, 88px);
    font-size: min(2vw, 24px);
    line-height: 1.4;
  }
}
.service__flowList .serviceFlow__text {
  font-size: max(4vw, 15px);
  line-height: 1.5;
}
@media (800px <= width) {
  .service__flowList .serviceFlow__text {
    width: min(18.1666666667vw, 218px);
    font-size: min(1.5vw, 18px);
    line-height: 1.88;
  }
}

.reason {
  background: center/cover no-repeat;
  background-image: url("../img/reason_bg-sp.webp");
}
@media (800px <= width) {
  .reason {
    background-image: url("../img/reason_bg-pc.webp");
  }
}
.reason .section__title::before {
  background-image: url("../img/sec_title-reason.png");
}
.reason__list {
  display: flex;
  flex-direction: column;
  gap: max(6.4vw, 24px);
}
@media (800px <= width) {
  .reason__list {
    gap: min(2vw, 24px);
  }
}
.reason__item {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: max(6.6666666667vw, 25px) max(6.4vw, 24px);
  background: #fff;
  box-shadow: 0 0 max(2.6666666667vw, 10px) rgba(0, 0, 0, 0.25);
}
@media (800px <= width) {
  .reason__item {
    flex-direction: row;
    gap: min(5vw, 60px);
    padding: min(4.5833333333vw, 55px) min(1.25vw, 15px) min(2.8333333333vw, 34px) min(11.1666666667vw, 134px);
    border-top: min(0.25vw, 3px) solid #c3c3c3;
    box-shadow: none;
  }
}
.reason__num {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: max(12.8vw, 48px);
  aspect-ratio: 1/1;
  font-size: max(4.8vw, 18px);
  line-height: 1;
  color: #042156;
  content: counter(reason, decimal-leading-zero);
  counter-increment: reason;
  background: center/contain no-repeat url("../img/reason_num_bg.png");
}
@media (800px <= width) {
  .reason__num {
    position: absolute;
    top: min(2.8333333333vw, 34px);
    left: min(2vw, 24px);
    width: min(6.1666666667vw, 74px);
    font-size: min(2.8333333333vw, 34px);
  }
}
@media (width < 800px) {
  .reason__header {
    display: flex;
    gap: max(2.4vw, 9px);
    margin-bottom: max(6.4vw, 24px);
  }
  .reason__header .reason__num {
    flex-shrink: 0;
  }
}
.reason__title {
  font-size: max(6.9333333333vw, 26px);
  font-weight: 700;
  line-height: 1.2;
  color: #5c3b0f;
}
@media (800px <= width) {
  .reason__title {
    margin-bottom: min(2.5vw, 30px);
    font-size: min(2.3333333333vw, 28px);
    line-height: 1;
  }
}
@media (800px <= width) {
  .reason__graph {
    flex-shrink: 0;
    width: min(47vw, 564px);
  }
}
@media (800px <= width) {
  .reason li:first-of-type .reason__item {
    padding-block: min(2.3333333333vw, 28px) min(2.4166666667vw, 29px);
  }
  .reason li:first-of-type .reason__title {
    margin-top: min(2.75vw, 33px);
  }
}
.reason .cost__details {
  display: flex;
  flex-direction: column;
}
@media (800px <= width) {
  .reason .cost__details {
    flex-direction: row-reverse;
    align-items: center;
    margin-bottom: min(2.6666666667vw, 32px);
  }
}
.reason .cost__details .cost__graph {
  display: flex;
  width: max(82.4vw, 309px);
  height: max(62.6666666667vw, 235px);
  padding: 0 0 max(8.5333333333vw, 32px) max(12.8vw, 48px);
  margin-bottom: max(10.6666666667vw, 40px);
  background-image: url("../img/tool_graph-bg.png");
  background-size: contain;
}
@media (800px <= width) {
  .reason .cost__details .cost__graph {
    width: min(25.75vw, 309px);
    height: min(19.5833333333vw, 235px);
    padding: 0 0 min(2.6666666667vw, 32px) min(4vw, 48px);
    margin: 0 min(2.6666666667vw, 32px) 0 0;
  }
}
.reason .cost__details .cost__graph .graph__line {
  display: flex;
  flex-direction: column;
}
.reason .cost__details .cost__graph .graph__line.-before {
  margin: auto max(11.2vw, 42px) 0 0;
}
@media (800px <= width) {
  .reason .cost__details .cost__graph .graph__line.-before {
    margin: auto min(3.5vw, 42px) 0 0;
  }
}
.reason .cost__details .cost__graph .graph__line.-before p {
  display: flex;
  align-items: center;
  justify-content: center;
  width: max(25.6vw, 96px);
  height: max(46.4vw, 174px);
  font-size: max(3.2vw, 12px);
  font-weight: bold;
  color: #b3b3b3;
  text-align: center;
  background: #dadada;
}
@media (800px <= width) {
  .reason .cost__details .cost__graph .graph__line.-before p {
    width: min(8vw, 96px);
    height: min(14.5vw, 174px);
    font-size: min(1vw, 12px);
  }
}
.reason .cost__details .cost__graph .graph__line.-before p em {
  font-size: max(5.3333333333vw, 20px);
}
@media (800px <= width) {
  .reason .cost__details .cost__graph .graph__line.-before p em {
    font-size: min(1.6666666667vw, 20px);
  }
}
.reason .cost__details .cost__graph .graph__line.-after {
  margin: auto auto 0 0;
}
.reason .cost__details .cost__graph .graph__line.-after .graph__img {
  width: max(25.6vw, 96px);
  height: max(24vw, 90px);
  margin-bottom: 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 (800px <= width) {
  .reason .cost__details .cost__graph .graph__line.-after .graph__img {
    width: min(8vw, 96px);
    height: min(7.5vw, 90px);
    margin-bottom: min(0.8333333333vw, 10px);
    filter: drop-shadow(0 min(0.125vw, 1.5px) min(0.125vw, 1.5px) rgba(0, 0, 0, 0.2));
  }
}
.reason .cost__details .cost__graph .graph__line.-after span {
  width: max(25.6vw, 96px);
  height: max(5.3333333333vw, 20px);
  background: #cb191d;
  transition: height 1s ease;
}
@media (800px <= width) {
  .reason .cost__details .cost__graph .graph__line.-after span {
    width: min(8vw, 96px);
    height: min(1.6666666667vw, 20px);
  }
}

.comparison {
  position: relative;
  padding-bottom: calc(min(14.1666666667vw, 170px) + min(15.4166666667vw, 185px));
  background: #fff3da;
}
.comparison::after {
  aspect-ratio: 1/1;
  content: "";
  background: center/contain no-repeat;
  position: absolute;
  bottom: 0;
  left: 50%;
  max-width: 1200px;
  aspect-ratio: 1200/185;
  background-image: url("../img/comparison_bg.png");
  transform: translateX(-50%);
}
@media (width < 800px) {
  .comparison {
    padding-bottom: calc(max(12.8vw, 48px) + max(25.3333333333vw, 95px));
  }
  .comparison::after {
    height: max(25.3333333333vw, 95px);
  }
}
@media (800px <= width) {
  .comparison {
    padding-bottom: calc(min(10.8333333333vw, 130px) + min(15.4166666667vw, 185px));
  }
  .comparison::after {
    width: 100%;
  }
}
.comparison .section__title::before {
  background-image: url("../img/sec_title-comparison.png");
}
.comparison__chart {
  padding-top: max(1.8666666667vw, 7px);
  margin-inline: auto;
}
@media (800px <= width) {
  .comparison__chart {
    max-width: min(83.25vw, 999px);
    padding-top: min(1.6666666667vw, 20px);
  }
}
.comparison__chart .chart {
  position: relative;
  width: 100%;
  font-size: max(2.9333333333vw, 11px);
  color: #5c3b0f;
}
.comparison__chart .chart::after {
  position: absolute;
  top: 0;
  right: 0;
  width: calc(max(22.9333333333vw, 86px) - max(0.5333333333vw, 2px));
  height: 100%;
  content: "";
  border: max(0.5333333333vw, 2px) solid #cb191d;
}
@media (800px <= width) {
  .comparison__chart .chart::after {
    width: calc(min(22.5vw, 270px) + min(0.1666666667vw, 2px));
    border-width: min(0.1666666667vw, 2px);
  }
}
.comparison__chart .chart th,
.comparison__chart .chart td {
  height: max(8.8vw, 33px);
  vertical-align: middle;
  text-align: center;
  background: #fff;
  border: max(0.2666666667vw, 1px) solid #c1c1c1;
}
@media (800px <= width) {
  .comparison__chart .chart th,
  .comparison__chart .chart td {
    height: min(6vw, 72px);
    border-width: min(0.0833333333vw, 1px);
  }
}
.comparison__chart .chart th {
  width: max(19.4666666667vw, 73px);
  font-size: max(2.9333333333vw, 11px);
}
@media (800px <= width) {
  .comparison__chart .chart th {
    width: min(17.5vw, 210px);
  }
}
@media (800px <= width) {
  .comparison__chart .chart th {
    font-size: min(1.5vw, 18px);
  }
}
.comparison__chart .chart th.chart--first {
  background: transparent;
  border-top-color: transparent;
  border-left-color: transparent;
}
.comparison__chart .chart th.chart--employee {
  background: #ffdadb;
}
.comparison__chart .chart th.chart--temporary {
  background: #feb1b3;
}
.comparison__chart .chart th.chart--makev {
  position: relative;
  z-index: 1;
  width: max(22.9333333333vw, 86px);
  color: #fff;
  background: #cb191d;
}
@media (800px <= width) {
  .comparison__chart .chart th.chart--makev {
    width: min(22.5vw, 270px);
  }
}
.comparison__chart .chart th.chart--makev::after {
  position: absolute;
  bottom: 100%;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: max(1.8666666667vw, 7px);
  content: "";
  background: #cb191d;
  border-radius: max(2.1333333333vw, 8px) max(2.1333333333vw, 8px) 0 0;
}
@media (800px <= width) {
  .comparison__chart .chart th.chart--makev::after {
    width: calc(100% + min(0.0833333333vw, 1px));
    height: min(1.6666666667vw, 20px);
    border-radius: min(1.5vw, 18px) min(1.5vw, 18px) 0 0;
  }
}
.comparison__chart .chart th.chart--makev span {
  display: inline-block;
  transform: translateY(-0.25em);
}
@media (800px <= width) {
  .comparison__chart .chart th.chart--makev span {
    transform: translateY(-0.5em);
  }
}
.comparison__chart .chart th.chart__item {
  width: max(26.1333333333vw, 98px);
}
@media (800px <= width) {
  .comparison__chart .chart th.chart__item {
    width: min(25.5vw, 306px);
  }
}
.comparison__chart .chart td {
  font-size: max(4.2666666667vw, 16px);
}
@media (800px <= width) {
  .comparison__chart .chart td {
    font-size: min(2.75vw, 33px);
  }
}
.comparison__chart .chart td.chart--makev {
  font-size: max(6.4vw, 24px);
  color: #cb191d;
}
@media (800px <= width) {
  .comparison__chart .chart td.chart--makev {
    font-size: min(5vw, 60px);
  }
}

.case {
  background: center/cover no-repeat;
  background-image: url("../img/case_bg-sp.png");
}
@media (800px <= width) {
  .case {
    background-image: url("../img/case_bg-pc.png");
  }
}
.case .section__title::before {
  background-image: url("../img/sec_title-case.png");
}
.case .container {
  max-width: 1920px;
}
@media (width < 800px) {
  .case .container {
    width: calc(87.2% + max(2.6666666667vw, 10px) * 2);
  }
}
.case__item {
  display: flex;
  flex-direction: column;
  padding: max(6.6666666667vw, 25px) max(6.4vw, 24px);
  overflow: hidden;
  background: #fff;
  border-radius: max(4.2666666667vw, 16px);
  box-shadow: 0 0 max(2.6666666667vw, 10px) rgba(0, 0, 0, 0.25);
}
@media (800px <= width) {
  .case__item {
    height: 100%;
    padding: min(4.8333333333vw, 58px) min(9.6666666667vw, 116px);
    border-radius: min(5vw, 60px);
    box-shadow: 0 0 min(0.8333333333vw, 10px) rgba(0, 0, 0, 0.25);
  }
}
.case__title {
  display: flex;
  gap: max(1.0666666667vw, 4px);
  align-items: center;
  order: 3;
  margin-bottom: max(6.4vw, 24px);
  font-size: max(4.2666666667vw, 16px);
  line-height: 1.2;
}
.case__title::before {
  width: max(5.8666666667vw, 22px);
  aspect-ratio: 34/38;
  content: "";
  background: center/contain no-repeat url("../img/case_icon-title.png");
}
@media (800px <= width) {
  .case__title {
    gap: min(1.1666666667vw, 14px);
    margin-bottom: min(3.6666666667vw, 44px);
    font-size: min(2vw, 24px);
    line-height: 1.4;
  }
  .case__title::before {
    width: min(2.8333333333vw, 34px);
  }
}
.case__body {
  display: flex;
  flex-direction: column;
  gap: max(6.4vw, 24px);
  order: 4;
}
@media (800px <= width) {
  .case__body {
    gap: min(4.5vw, 54px);
  }
}
.case__heading {
  width: fit-content;
  padding: max(1.0666666667vw, 4px) max(3.2vw, 12px);
  margin-bottom: max(2.1333333333vw, 8px);
  font-size: max(2.9333333333vw, 11px);
  line-height: 1;
  border: max(0.5333333333vw, 2px) solid #cb191d;
  border-radius: 100vmax;
}
.case__details .case__heading {
  color: #fff;
  background: #cb191d;
}
.case__result .case__heading {
  color: #cb191d;
  background: #fff;
}
@media (800px <= width) {
  .case__heading {
    padding: min(0.6666666667vw, 8px) min(2.5vw, 30px);
    margin-bottom: min(2vw, 24px);
    font-size: min(1.6666666667vw, 20px);
    border-width: min(0.25vw, 3px);
  }
}
.case__list {
  margin-left: max(4.2666666667vw, 16px);
  font-size: max(4vw, 15px);
}
.case__list > li::before {
  line-height: 1.66;
  content: "●";
}
@media (800px <= width) {
  .case__list {
    margin-left: min(3.3333333333vw, 40px);
    font-size: min(2vw, 24px);
  }
  .case__list > li {
    line-height: 1.5;
  }
}
.case__place {
  display: flex;
  gap: max(1.0666666667vw, 4px);
  align-items: center;
  order: 1;
  margin-bottom: max(2.1333333333vw, 8px);
  font-size: max(3.2vw, 12px);
  line-height: 1.2;
}
.case__place::before {
  width: max(3.2vw, 12px);
  aspect-ratio: 28/38;
  content: "";
  background: center/contain no-repeat url("../img/case_icon-place.png");
}
@media (800px <= width) {
  .case__place {
    gap: min(1.1666666667vw, 14px);
    margin-bottom: min(3vw, 36px);
    font-size: min(2vw, 24px);
    line-height: 1.4;
  }
  .case__place::before {
    width: min(2.3333333333vw, 28px);
  }
}
.case__images {
  order: 2;
  margin-bottom: max(6.4vw, 24px);
}
@media (800px <= width) {
  .case__images {
    display: flex;
    gap: min(1.6666666667vw, 20px);
    margin-bottom: min(7vw, 84px);
  }
}
@media (width < 800px) {
  .case__image:not(:first-of-type) {
    display: none;
  }
}
@media (800px <= width) {
  .case__image {
    width: min(38vw, 456px);
  }
}
.case .splide__slide {
  padding: max(2.6666666667vw, 10px);
}
@media (800px <= width) {
  .case .splide__slide {
    padding: min(0.8333333333vw, 10px);
  }
}
.case .splide__arrow {
  width: max(12.8vw, 48px);
  height: max(12.8vw, 48px);
  background: transparent;
  opacity: 1;
}
.case .splide__arrow--prev {
  left: calc(-1 * max(3.7333333333vw, 14px));
  content: url("../img/case_icon-prev.svg");
}
.case .splide__arrow--next {
  right: calc(-1 * max(3.7333333333vw, 14px));
  content: url("../img/case_icon-next.svg");
}
@media (800px <= width) {
  .case .splide__arrow {
    width: min(6vw, 72px);
    height: min(6vw, 72px);
  }
  .case .splide__arrow--prev {
    left: calc(-1 * min(3vw, 36px) + 1%);
  }
  .case .splide__arrow--next {
    right: calc(-1 * min(3vw, 36px) + 1%);
  }
}

.faq .section__title::before {
  background-image: url("../img/sec_title-faq.png");
}
.faq__item {
  border-bottom: max(0.2666666667vw, 1px) solid #cb191d;
}
.faq__item:first-of-type {
  border-top: max(0.2666666667vw, 1px) solid #cb191d;
}
@media (800px <= width) {
  .faq__item {
    border-width: min(0.1666666667vw, 2px);
  }
  .faq__item:first-of-type {
    border-width: min(0.1666666667vw, 2px);
  }
}
.faq__q, .faq__a {
  display: flex;
  gap: max(3.7333333333vw, 14px);
  align-items: center;
  justify-content: space-between;
  font-size: max(4vw, 15px);
  line-height: 1.4;
}
@media (800px <= width) {
  .faq__q, .faq__a {
    gap: min(1.1666666667vw, 14px);
    font-size: min(2.3333333333vw, 28px);
  }
}
.faq__q::after, .faq__a::after {
  aspect-ratio: 1/1;
  content: "";
  background: center/contain no-repeat;
  flex-shrink: 0;
  width: max(4.2666666667vw, 16px);
  margin-block: auto;
}
@media (800px <= width) {
  .faq__q::after, .faq__a::after {
    width: min(1.5vw, 18px);
  }
}
.faq__q {
  align-items: center;
  width: 100%;
  padding: max(4.2666666667vw, 16px);
}
@media (800px <= width) {
  .faq__q {
    padding: min(4.5vw, 54px);
  }
}
.faq__q::after {
  background-image: url("../img/icon_faq-close.png");
}
.faq__a {
  align-items: flex-start;
  padding: max(4.2666666667vw, 16px);
  background: #fffbf4;
  border: max(0.2666666667vw, 1px) solid #cb191d;
  border-bottom: 0;
}
.faq__a::after {
  background-image: url("../img/icon_faq-open.png");
}
@media (800px <= width) {
  .faq__a {
    padding: min(4.5vw, 54px);
    border-width: min(0.1666666667vw, 2px);
  }
}
.faq__a__body {
  flex: 1;
}
.faq__a__body p {
  line-height: 1.4;
}
.faq .accordion__panel[aria-hidden=true] .faq__a {
  padding-block: 0;
}

.contact {
  background: #f7e7c3;
}
.contact .section__title::before {
  background-image: url("../img/sec_title-contact.png");
}
@media (800px <= width) {
  .contact .section__header {
    margin-bottom: min(4vw, 48px);
  }
}