@charset "utf-8";

.q-pass-txt {
  vertical-align: middle;
}

.sec-function .btn-yellow {
  color: var(--clr-neutral-100);
  background-color: var(--clr-cta-400);
}

.sec-function .function-wrap {
  justify-content: center;
  align-items: center;
  padding-block: var(--space-120) var(--space-140);
  gap: var(--space-55);
}

.sec-function .function-txt .q-pass-txt {
  width: 7rem;
}

.sec-function .btn-wrap {
  width: fit-content;
}

.sec-improvement {
  padding-block: var(--space-90) 9.6875rem;
  background-color: var(--clr-secondary);
}

.sec-improvement .improvement-img {
  margin-block: var(--space-60) 7.8125rem;
  justify-content: center;
}

.sec-improvement .img-wrap {
  padding: var(--space-45) var(--space-55);
  background-color: var(--clr-neutral-100);
}

.sec-improvement .improvement-img img {
  width: 100%;
  height: 100%;
}

.sec-improvement .support {
  padding-block: var(--space-50) var(--space-70);
  padding-inline: 4.0625rem;
  background-color: var(--clr-neutral-100);
}

.sec-improvement .support ul {
  padding-left: unset;
}

.sec-improvement .support .support-item:nth-of-type(2n) {
  display: flex;
  flex-direction: row-reverse;
}

.sec-improvement .support .support-item {
  margin-bottom: 4.0625rem;
  padding: var(--space-35);
  column-gap: 1.375rem;
  background-color: var(--clr-secondary);
}

.sec-improvement .support .support-item:last-of-type {
  margin-bottom: 0;
}

.sec-improvement .support .support-item-img {
  display: flex;
  max-width: 30rem;
}

.sec-improvement .support-item-txt .h-underline {
  position: relative;
  min-height: 6.125rem;
  padding-bottom: var(--space-25);
  z-index: 1;
  line-height: 1.27;
}

.sec-improvement .support-item-txt .h-underline.same-ptop {
  padding-top: var(--space-140);
}

.sec-improvement .support .support-item .number {
  position: absolute;
  top: 0;
  right: -0.625rem;
  line-height: 1;
  color: var(--clr-neutral-600);
  font-family: var(--font-secondary);
  font-size: 9.375rem;
  z-index: -1;
}

.sec-improvement .visitor-support .support-item .number {
  top: -1.5625rem;
  right: -1.5625rem;
}

.sec-improvement .support .support-item:nth-of-type(even) .number {
  left: -0.625rem;
}

.sec-improvement .support .support-txt-wrap {
  width: 24.75rem;
}

.sec-improvement .support-txt-wrap p {
  width: 21.5625rem;
  line-height: 2;
}

.sec-improvement .support .support-item-txt .h-underline::after {
  width: 100%;
  height: 0.125rem;
}

.sec-feature {
  padding-block: 5.75rem;
  background-color: var(--clr-secondary);
}

.sec-feature h2 {
  padding-bottom: 3.4375rem;
}

.sec-feature.visitor-feature h2 {
  padding-bottom: 9rem;
}

.sec-feature .wrap h3 {
  padding-inline: var(--space-30);
}

.sec-feature .feature-list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--space-25);
}

.sec-feature .feature-list:not(:last-of-type) {
  padding-bottom: var(--space-50);
}

.sec-feature .feature-list li {
  display: grid;
  padding: 3.5rem 0 1.3125rem;
  text-align: center;
  place-items: center;
  grid-template-rows: auto 1fr;
  background-color: var(--clr-neutral-100);
}

.sec-feature .feature-list .feature-img {
  display: flex;
  min-height: 5.125rem;
  justify-content: center;
  align-items: center;
}

.sec-feature .feature-list .pc-title {
  background-color: var(--clr-primary);
  padding-block: var(--space-100);
  line-height: 1.4;
}

.sec-feature .feature-list p {
  color: var(--clr-primary);
  font-size: var(--fs-22);
  font-weight: bold;
}

.sec-feature .feature-list p,
h4 {
  line-height: 1.4;
}

.sec-feature .sp-title {
  margin-bottom: 1.5625rem;
  text-align: center;
  align-items: center;
  background-color: var(--clr-primary);
}

.sec-feature.visitor-feature .sp-title {
  margin-bottom: var(--space-35);
}

.sec-feature.visitor-feature .sp-title h3 {
  font-size: 1.625rem;
}

.sec-feature .title-pc-none {
  display: none;
}

.nav-button .btn-view-more {
  color: var(--clr-neutral-100);
  background-color: var(--clr-primary);
  column-gap: var(--space-35);
  padding-inline: 4.125rem 2.5rem;
}

.nav-button .btn-view-more:hover {
  color: var(--clr-primary);
  background-color: var(--clr-neutral-100);
}

@media (max-width: 68.75em) {
  .sec-function .function-txt h1 {
    font-size: 4.182vw;
  }

  .sec-function .function-txt p {
    font-size: 2.545vw;
  }

  .sec-improvement .sec-wrap {
    --padding: 0;
  }

  .sec-improvement .support {
    padding-block: 4.727vw 6.545vw;
    padding-inline: 5.909vw;
  }

  .sec-improvement .support h2 {
    font-size: 3.273vw;
  }

  .sec-improvement .support h2+p {
    font-size: 1.636vw;
  }

  .sec-improvement .support .support-item {
    padding: 3.182vw;
  }

  .sec-improvement .support .support-item-img {
    max-width: 43.636vw;
    flex-shrink: 0;
  }

  .sec-improvement .support-item-txt .h-underline,
  .sec-improvement .support-item-txt .h-underline.same-ptop {
    padding-top: 12.727vw;
    padding-bottom: 2.273vw;
    font-size: 3.273vw;
  }

  .sec-improvement .visitor-support .support-item-txt .h-underline {
    padding-top: 9.091vw;
  }

  .sec-improvement .support .support-item .number {
    top: 0.615vw;
    font-size: 13.636vw;
  }

  .sec-improvement .visitor-support .support-item .number {
    right: -2.273vw;
  }

  .sec-improvement .support .support-txt-wrap {
    width: 36vw;
  }

  .sec-improvement .support-txt-wrap p {
    width: 31.364vw;
    font-size: 1.455vw;
  }

  .sec-improvement .support .support-item-txt .h-underline::after {
    height: 0.182vw;
  }

  .sec-feature .title-pc-none {
    display: block;
  }

  .sec-feature .feature-list {
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-25);
  }

  .sec-feature .feature-list .pc-title {
    display: none;
  }

  .sec-feature .feature-list li p {
    font-size: 2vw;
  }
}

@media (max-width: 48em) {
  .sec-function .sec-wrap {
    --padding: 0;
  }

  .sec-function .function-wrap .function-img,
  .sec-function .btn-wrap {
    width: 100%;
  }

  .sec-function .function-img img {
    width: 100%;
  }

  .function-wrap .function-txt {
    padding-inline: 5.128vw;
  }

  .sec-function .function-wrap {
    padding-block: var(--space-50) 0;
    flex-direction: column;
    align-items: normal;
    padding-inline: 0;
  }

  .sec-function .function-txt .btn-wrap h4 {
    margin-bottom: 1.846vw;
  }

  .sec-function .function-txt h1,
  .sec-function .function-txt p {
    font-size: 6.154vw;
    text-align: center;
  }

  .sec-function .btn-wrap p span {
    font-size: 3.59vw;
  }

  .sec-improvement {
    padding-block: 11.538vw 16.667vw;
  }

  .sec-improvement .improvement-img {
    margin: 9.487vw var(--space-20) var(--space-60);
  }

  .sec-improvement .q-pass-txt,
  .sec-function .function-txt .q-pass-txt {
    width: 25.128vw;
    height: auto;
  }

  .sec-improvement h2 {
    font-size: 6.154vw;
  }

  .sec-improvement .img-wrap {
    padding: var(--space-20) var(--space-40);
  }

  .sec-improvement .support {
    padding-block: 8.462vw 15.385vw;
    padding-inline: 3.846vw;
    margin-inline: 5.128vw;
  }

  .sec-improvement .support ul {
    padding-left: 0;
  }

  .sec-improvement .support .support-item:nth-of-type(2n) {
    display: flex;
    flex-direction: column;
  }

  .sec-improvement .support li.support-item,
  .sec-improvement ul.support>li:first-of-type {
    margin-bottom: var(--space-50);
    flex-direction: column;
  }

  .sec-improvement .support .support-item {
    padding: 7.692vw;
  }

  .sec-improvement .support .support-item:last-of-type {
    margin-bottom: 0;
  }

  .sec-improvement .support .support-item-img {
    max-width: 100%;
  }

  .sec-improvement .support .support-item-img img {
    width: 100%;
    height: auto;
  }

  .sec-improvement .support-item-txt .h-underline {
    display: flex;
    min-height: 34.615vw;
    font-size: 6.154vw;
    padding-block: 11.538vw 6.667vw;
    align-items: flex-end;
  }

  .sec-improvement .support-item-txt .h-underline.same-ptop {
    padding-top: unset;
    padding-bottom: var(--space-20);
    font-size: 6.154vw;
  }

  .sec-improvement .support .support-item .number {
    display: flex;
    top: unset;
    right: -5.128vw;
    bottom: -0.375rem;
    font-size: 38.362vw;
  }

  .sec-improvement .support .support-item:nth-of-type(even) .number {
    justify-content: right;
  }

  .sec-improvement .support .support-txt-wrap {
    width: 100%;
    padding-left: 5.128vw;
  }

  .sec-improvement .support h2 {
    font-size: 6.154vw;
  }

  .sec-improvement .support .small-ttl {
    font-size: 3.077vw;
  }

  .sec-improvement .support-txt-wrap p {
    width: 100%;
    line-height: 2;
    font-size: 3.59vw;
  }

  .sec-improvement .support .support-item-txt .h-underline::after {
    width: 100%;
    height: 0.125rem;
  }

  .sec-feature {
    padding-block: var(--space-80) var(--space-50);
  }

  .sec-feature h2 {
    padding-bottom: 2.9375rem;
  }

  .sec-feature.visitor-feature h2 {
    padding-bottom: var(--space-50);
  }

  .sec-feature.visitor-feature .sp-title h3 {
    line-height: 1.8;
    font-size: var(--fs-20);
  }

  .sec-feature.visitor-feature .sp-title {
    margin-bottom: 1.5625rem;
    padding-block: unset;
  }

  .sec-feature .feature-list {
    grid-template-columns: repeat(2, 1fr);
  }

  .sec-feature .feature-list .feature-img {
    min-height: 17.949vw;
    margin-bottom: 2.564vw;
  }

  .sec-feature .feature-list .icon {
    scale: 0.805;
  }

  .sec-feature .feature-list .pc-title {
    display: none;
  }

  .sec-feature .feature-list li {
    padding: 4.615vw 2.564vw;
  }

  .sec-feature .feature-list li p {
    font-size: 3.59vw;
  }

  .sec-feature .sp-title h3 {
    font-size: 5.128vw;
  }

  .btn-wrap {
    width: 100%;
  }

  .sec-improvement h2 + p {
    font-size: 3.077vw;
  }
}