@charset "utf-8";

/*MV*/

img {
  height: auto;
}

.l-header__logo {
  color: #fff;
}
body.color_change .l-header__logo {
  color: var(--primary);
}

.l-header__nav__btn .bar.top,
.l-header__nav__btn .bar.bottom {
  background-color: #fff;
}
.l-header__nav__btn .bar.middle {
  border-top: calc(1 / 1366 * 100vw) dotted #fff;
}
body.color_change .l-header__nav__btn .bar.middle {
  border-top: calc(1 / 1366 * 100vw) dotted var(--text);
}
.l-header__nav__btn .txt::before {
  color: #fff;
}

body.color_change .l-header__nav__btn .bar.top,
body.color_change .l-header__nav__btn .bar.bottom {
  background-color: var(--text);
}

body.color_change .l-header__nav__btn .txt::before {
  color: var(--text);
}

#business .mv {
  background: #00428e;
  margin-top: 0;
  margin-bottom: 0;
  position: relative;
  z-index: 0;
  padding: calc(238 / 1366 * 100vw) calc(130 / 1366 * 100vw) calc(34 / 1366 * 100vw) calc(92 / 1366 * 100vw);
  &.adjust_mv {
    padding: calc(222 / 1366 * 100vw) calc(130 / 1366 * 100vw) calc(34 / 1366 * 100vw) calc(92 / 1366 * 100vw);
    .mv_img {
      margin-top: calc(-81 / 1366 * 100vw);
    }
  }
  &::after {
    content: "";
    display: block;
    position: absolute;
    z-index: -2;
    background-color: #4279b9;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    width: calc(1 / 1366 * 100vw);
    height: 100%;
  }
  .mv_img .mv_text01 {
    bottom: -0.6em;
    width: calc(368 / 1366 * 100vw);
    left: -0.15em;
    &.rc {
      bottom: -0.6em;
      width: calc(368 / 1366 * 100vw);
    }
    &.infra {
      bottom: -0.6em;
      width: calc(460 / 1366 * 100vw);
    }
    &.industrial {
      bottom: -0.6em;
      width: calc(598 / 1366 * 100vw);
    }
    &.environment {
      bottom: -0.6em;
      width: calc(737 / 1366 * 100vw);
    }
    &.insurance {
      bottom: -0.6em;
      width: calc(552 / 1366 * 100vw);
    }
    &.salesenable {
      bottom: -0.6em;
      width: calc(414 / 1366 * 100vw);
    }
    &.constru {
      bottom: -0.6em;
      width: calc(645 / 1366 * 100vw);
    }
    &.production {
      bottom: -0.6em;
      width: calc(552 / 1366 * 100vw);
    }
  }
  .mv_ttl {
    color: #fff;
  }
  .mv_ttl .en.size_l {
    margin: calc(9 / 1366 * 100vw) 0 calc(15 / 1366 * 100vw);
  }
  .mv_ttl .en.size_s {
    color: #fff;
  }
  .mv_img {
    margin-top: calc(-179 / 1366 * 100vw);
  }

  .dec_text {
    top: calc(153 / 1366 * 100vw);
    left: calc(90 / 1366 * 100vw);
    color: #fff;
    .en {
      border-right: 1px solid #fff;
    }
  }
  .breadcrumbs {
    top: calc(172 / 1366 * 100vw);
    right: calc(85 / 1366 * 100vw);
  }

  .breadcrumbs li {
    color: #fff;
  }
  .breadcrumbs li + li::before {
    border-top: 1px dotted #fff;
  }
  @media screen and (max-width: 768px) {
    padding: calc(248 / 375 * 100vw) calc(30 / 375 * 100vw) calc(80 / 375 * 100vw);
    &.adjust_mv {
      padding: calc(248 / 375 * 100vw) calc(30 / 375 * 100vw) calc(80 / 375 * 100vw);
    }
    &::after {
      content: "";
      display: block;
      position: absolute;
      z-index: -2;
      background-color: #4279b9;
      top: 0;
      left: 50%;
      transform: translate(-50%, 0);
      width: 1px;
      height: 100%;
    }
    .mv_img .mv_text01 {
      bottom: -0.6em;
      width: calc(368 / 1366 * 100vw);
      left: -0.15em;
    }
    .mv_ttl {
      font-size: calc(19 / 375 * 100vw);
    }
    .mv_ttl .en.size_l {
      margin: calc(14 / 375 * 100vw) 0 calc(16 / 375 * 100vw);
      font-size: calc(36 / 375 * 100vw);
      white-space: nowrap;
    }
    .mv_img {
      width: 89.5%;
      margin: calc(-6 / 375 * 100vw) auto 0;
      .mv_text01 {
        /* width: calc(200 / 375 * 100vw); */
        right: auto;
        top: auto;
        bottom: calc(-47 / 375 * 100vw);
        left: calc(-17 / 375 * 100vw);
        &.rc {
          width: calc(200 / 375 * 100vw);
          bottom: calc(-47 / 375 * 100vw);
        }
        &.infra {
          width: calc(235 / 375 * 100vw);
          bottom: calc(-43 / 375 * 100vw);
        }
        &.industrial {
          width: calc(226 / 375 * 100vw);
          bottom: calc(-78 / 375 * 100vw);
        }
        &.environment {
          width: calc(310 / 375 * 100vw);
          bottom: calc(-78 / 375 * 100vw);
          left: calc(-16 / 375 * 100vw);
        }
        &.insurance {
          width: calc(283 / 375 * 100vw);
          bottom: calc(-44 / 375 * 100vw);
        }
        &.salesenable {
          width: calc(225 / 375 * 100vw);
          bottom: calc(-45 / 375 * 100vw);
        }
        &.constru {
          width: calc(276 / 375 * 100vw);
          bottom: calc(-78 / 375 * 100vw);
        }
        &.production {
          width: calc(226 / 375 * 100vw);
          bottom: calc(-79 / 375 * 100vw);
        }
      }
    }

    .dec_text {
      top: calc(160 / 375 * 100vw);
      left: calc(56 / 675 * 100vw);
    }
    .breadcrumbs {
      top: calc(106 / 375 * 100vw);
      right: calc(32 / 375 * 100vw);
    }

    .breadcrumbs li {
      color: #fff;
    }
    .breadcrumbs li + li::before {
      border-top: 1px dotted #fff;
    }
  }
}

.ttl03 {
  font-weight: bold;
  font-size: calc(36 / 1366 * 100vw);
  letter-spacing: 0.05em;
  line-height: calc(60 / 36);
  color: #fff;
  @media screen and (max-width: 768px) {
    font-size: calc(20 / 375 * 100vw);
  }
  .size_s {
    display: block;
    font-size: calc(20 / 1366 * 100vw);
    line-height: calc(33 / 20);
    margin-bottom: calc(25 / 1366 * 100vw);
    @media screen and (max-width: 768px) {
      font-size: calc(12 / 375 * 100vw);
      line-height: calc(33 / 12);
      margin-bottom: calc(3 / 375 * 100vw);
    }
  }
  .size_m {
    display: block;
    font-size: calc(25 / 1366 * 100vw);
    line-height: calc(77 / 25);
    margin-top: calc(10 / 1366 * 100vw);
    @media screen and (max-width: 768px) {
      font-size: calc(18 / 375 * 100vw);
      line-height: calc(52 / 18);
      margin-top: calc(10 / 375 * 100vw);
    }
  }
}

.ttl04 {
  font-weight: bold;
  font-size: calc(30 / 1366 * 100vw);
  letter-spacing: 0.05em;
  line-height: calc(60 / 36);
  color: #fff;
  /* margin-bottom: calc(33 / 1366 * 100vw); */
  margin-bottom: calc(18 / 1366 * 100vw);

  @media screen and (max-width: 768px) {
    font-size: calc(18 / 375 * 100vw);
    /* margin-bottom: calc(20 / 375 * 100vw); */
    margin-bottom: calc(15 / 375 * 100vw);
  }
}
.ttl_service {
  font-weight: bold;
  font-size: calc(12 / 1366 * 100vw);
  letter-spacing: 0.05em;
  line-height: calc(30 / 12);
  color: #fff;
  display: flex;
  align-items: center;
  margin-bottom: calc(10 / 1366 * 100vw);
  padding-left: calc(42 / 1366 * 100vw);
  &::before {
    content: "・";
    color: #8bc2ff;
  }

  @media screen and (max-width: 768px) {
    font-size: calc(12 / 375 * 100vw);
    margin-bottom: calc(10 / 375 * 100vw);
    padding-left: 0;
  }
}

.text00 {
  font-weight: 500;
  font-size: calc(14 / 1366 * 100vw);
  letter-spacing: 0.05em;
  line-height: calc(32 / 14);
  color: #fff;
  @media screen and (max-width: 768px) {
    font-size: calc(14 / 375 * 100vw);
  }
}
.text01 {
  font-weight: normal;
  font-size: calc(13 / 1366 * 100vw);
  line-height: calc(28 / 13);
  color: #fff;

  @media screen and (max-width: 768px) {
    font-size: calc(13 / 375 * 100vw);
  }
}

.bi_01 {
  position: relative;
  z-index: 0;
  background: #00428e;
  &::after {
    content: "";
    display: block;
    position: absolute;
    z-index: -2;
    background-color: #4279b9;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    width: calc(1 / 1366 * 100vw);
    height: 100%;
  }
  @media screen and (max-width: 768px) {
    &::after {
      width: 1px;
    }
  }
}

.introduction {
  padding: calc(81 / 1366 * 100vw) 0 calc(95 / 1366 * 100vw);
  .inner {
    margin: 0 auto;
    width: 73.21%;

    display: flex;
    justify-content: space-between;
  }
  .text00 {
    margin-top: calc(7 / 1366 * 100vw);
    width: 40.4%;
  }
  @media screen and (max-width: 768px) {
    padding: calc(80 / 375 * 100vw) 0 calc(81 / 375 * 100vw);
    .inner {
      width: 84%;
      flex-flow: column;
    }
    .text00 {
      margin: calc(31 / 375 * 100vw) 0 0 auto;
      width: 89.5%;
    }
  }
}

.features {
  padding-bottom: calc(279 / 1366 * 100vw);
  .inner {
    margin: 0 auto;
    width: 72.8%;
  }
  .ttl03 {
    margin-bottom: calc(91 / 1366 * 100vw);
    + .text00 {
      width: calc(419 / 1366 * 100vw);
      margin-left: calc(43 / 1366 * 100vw);
      margin-bottom: calc(85 / 1366 * 100vw);
      margin-top: calc(-54 / 1366 * 100vw);
    }
  }

  .text00.no_ttl03 {
    width: calc(419 / 1366 * 100vw);
    margin-left: calc(43 / 1366 * 100vw);
    margin-bottom: calc(85 / 1366 * 100vw);
    margin-top: calc(-54 / 1366 * 100vw);
  }

  .block00 {
    position: relative;
    z-index: 0;
    display: flex;
    flex-flow: wrap;
    justify-content: space-between;

    &::before {
      content: "";
      display: block;
      position: absolute;
      z-index: -1;
      background-image: url("../img/business/dec_ring.svg");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center;
      top: calc(122 / 1366 * 100vw);
      left: 50%;
      transform: translate(-50%, 0);
      width: 120.2%;
      aspect-ratio: 1196 / 307;
    }
    & + .block00 {
      margin-top: calc(213 / 1366 * 100vw);
    }
  }
  .box_img {
    width: 45.2%;
  }
  .box_text {
    margin-top: calc(20 / 1366 * 100vw);
    width: 44.75%;
  }
  .text01 {
    padding-left: calc(42 / 1366 * 100vw);
    margin-bottom: calc(28 / 1366 * 100vw);
  }

  .dec_no {
    position: absolute;
    top: calc(-26 / 1366 * 100vw);
    left: -3.9%;
    font-weight: 900;
    font-size: calc(59 / 1366 * 100vw);
    line-height: 1;
    color: #fff;
  }

  .list_service {
    padding-left: calc(42 / 1366 * 100vw);
    display: flex;
    flex-flow: wrap;
    gap: calc(8 / 1366 * 100vw);

    font-weight: bold;
    font-size: calc(12 / 1366 * 100vw);
    letter-spacing: 0.05em;
    line-height: calc(31 / 1366 * 100vw);
    text-align: center;
    color: #fff;

    /* &.insudtrial01 {
      li:nth-of-type(1) {
        order: 1;
      }
      li:nth-of-type(2) {
        order: 3;
      }
      li:nth-of-type(3) {
        order: 4;
      }
      li:nth-of-type(4) {
        order: 2;
      }
    } */

    li {
      background: #2e7ed5;
      border-radius: calc(99 / 1366 * 100vw);
      padding: 0 calc(18 / 1366 * 100vw);
    }
  }
  @media screen and (max-width: 768px) {
    padding-bottom: calc(143 / 375 * 100vw);
    .inner {
      margin: 0 8% 0 15.2%;
      width: 76.8%;
    }
    .ttl03 {
      margin: 0 0 calc(64 / 375 * 100vw) calc(-27 / 375 * 100vw);
      + .text00 {
        width: calc(285 / 375 * 100vw);
        margin-left: 0;
        margin-bottom: calc(60 / 375 * 100vw);
        margin-top: calc(-25 / 375 * 100vw);
      }
    }

    .text00.no_ttl03 {
      width: calc(285 / 375 * 100vw);
      margin-left: 0;
      margin-bottom: calc(60 / 375 * 100vw);
      margin-top: calc(-25 / 375 * 100vw);
    }
    .block00 {
      flex-flow: column;

      &::before {
        background-image: url(../img/business/dec_ring_sp.svg);
        top: auto;
        bottom: calc(-51 / 375 * 100vw);
        width: 123.26%;
        left: -16%;
        transform: translate(0, 0);
        aspect-ratio: 356 / 114;
      }
      & + .block00 {
        margin-top: calc(119 / 375 * 100vw);
      }

      &.block03::before {
        bottom: calc(56 / 375 * 100vw);
      }
    }
    .box_img {
      width: 91.31%;
    }
    .box_text {
      margin-top: calc(41 / 375 * 100vw);
      width: 100%;
    }
    .text01 {
      padding-left: 0;
      margin-bottom: calc(18 / 375 * 100vw);
    }

    .dec_no {
      top: calc(-19 / 375 * 100vw);
      left: -10%;
      font-size: calc(48 / 375 * 100vw);
    }

    .list_service {
      padding-left: 0;
      display: flex;
      gap: calc(8 / 375 * 100vw);

      font-weight: bold;
      font-size: calc(12 / 375 * 100vw);
      letter-spacing: 0.05em;
      line-height: calc(31 / 375 * 100vw);
      text-align: center;
      color: #fff;

      li {
        background: #2e7ed5;
        border-radius: calc(16 / 375 * 100vw);
        padding: calc(4.5 / 375 * 100vw) calc(15 / 375 * 100vw);
        text-align: left;
        line-height: calc(22 / 12);
      }
    }
  }
}
.reason {
  padding-bottom: calc(139 / 1366 * 100vw);
  .inner {
    margin: 0 auto;
    width: 72.77%;
    display: flex;
    justify-content: space-between;
  }

  .text00 {
    width: 40.64%;
    margin-top: calc(64 / 1366 * 100vw);
  }
  @media screen and (max-width: 768px) {
    padding-bottom: calc(57 / 375 * 100vw);
    .inner {
      width: 84%;
      flex-flow: column;
    }

    .text00 {
      margin: calc(29 / 375 * 100vw) 0 0 auto;
      width: 89.5%;
    }
  }
}
.casestudies {
  padding-bottom: calc(125 / 1366 * 100vw);
  .ttl_case {
    margin-left: calc(85 / 1366 * 100vw);
    font-size: calc(50 / 1366 * 100vw);
    line-height: calc(60 / 50);
    color: #fff;
    letter-spacing: 0;
    margin-bottom: calc(48 / 1366 * 100vw);
    .en {
      font-weight: 900;
    }
    .size_s {
      display: block;
      font-weight: bold;
      letter-spacing: 0.05em;
      font-size: calc(25 / 1366 * 100vw);
      line-height: 1;
      color: #fff;
      margin-top: calc(16 / 1366 * 100vw);
    }
  }
  .wrapper_slide {
    position: relative;
    z-index: 0;
    margin: 0 auto calc(30 / 1366 * 100vw);
    width: 50%;
    .swiper_cs {
      overflow: hidden;
      border-radius: calc(16 / 1366 * 100vw);
    }
    .swiper-slide {
      border-radius: calc(16 / 1366 * 100vw);
    }

    .slide_ttl {
      position: absolute;
      bottom: calc(30 / 1366 * 100vw);
      left: calc(30 / 1366 * 100vw);

      font-weight: 500;
      font-size: calc(12 / 1366 * 100vw);
      letter-spacing: 0.05em;
      line-height: calc(32 / 12);
      color: #fff;
      h3 {
        font-size: calc(18 / 1366 * 100vw);
        line-height: calc(40 / 18);
        margin-bottom: calc(10 / 1366 * 100vw);
      }
      .area {
        display: flex;
        line-height: 1;
        h4 {
          margin-right: calc(15 / 1366 * 100vw);
          padding-right: calc(15 / 1366 * 100vw);
          border-right: 1px solid #ffff;
        }
      }
    }

    .swiper-button_cs {
      position: absolute;
      z-index: 1;
      top: 50%;
      transform: translateY(-50%);
      width: calc(58 / 1366 * 100vw);
      aspect-ratio: 1;
      filter: invert(100%);
      &.swiper-button-prev_cs {
        left: calc(-108 / 1366 * 100vw);
      }
      &.swiper-button-next_cs {
        right: calc(-108 / 1366 * 100vw);
        transform: translateY(-50%) scale(-1, 1);
      }
    }
  }

  .box_control {
    display: contents;
    justify-content: center;
    gap: 0 calc(49 / 1366 * 100vw);

    .swiper-button_cs {
      display: none;
      width: calc(32 / 375 * 100vw);
      aspect-ratio: 1;
      filter: invert(100%);
      &.swiper-button-next_cs {
        right: calc(-108 / 1366 * 100vw);
        transform: translateY(-50%) scale(-1, 1);
      }
    }
  }

  .swiper-pagination_cs {
    margin: 0 auto;
    width: fit-content;
    display: flex;
    align-items: center;
    gap: 0 calc(38 / 1366 * 100vw);
    .swiper-pagination-bullet {
      position: relative;
      z-index: 0;
      margin: 0;
      width: calc(12 / 1366 * 100vw);
      height: auto;
      aspect-ratio: 1;
      align-self: center;
      background: radial-gradient(circle at center, #fff 0, #fff 46%, transparent 46%, transparent 100%);
      opacity: 0.46;
      svg {
        width: 200%;
        position: absolute;
        top: calc(-6 / 1366 * 100vw);
        left: 50%;
        transform: translate(-50%, 0);
        opacity: 0;
      }
      &.swiper-pagination-bullet-active {
        background: rgba(255 255 255 /1);
        opacity: 1;
        svg {
          opacity: 1;
        }
        .svg-elem-1 {
          animation: animate-svg-stroke-1 3s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both;
        }

        .svg-elem-2 {
          animation: animate-svg-stroke-2 3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.12s both;
        }
      }
    }
  }

  @media screen and (max-width: 768px) {
    padding-bottom: calc(99 / 375 * 100vw);
    .ttl_case {
      margin: 0 auto;
      width: 84%;
      font-size: calc(38 / 375 * 100vw);
      line-height: calc(44 / 38);
      margin-bottom: calc(39 / 375 * 100vw);
      .size_s {
        font-size: calc(18 / 375 * 100vw);
        margin-top: calc(19 / 375 * 100vw);
      }
    }
    .wrapper_slide {
      margin: 0 auto calc(30 / 375 * 100vw);
      width: 84%;
      .swiper_cs {
        border-radius: 0;
        img {
          border-radius: calc(11 / 375 * 100vw);
        }
      }

      .slide_ttl {
        position: static;
        font-size: calc(10 / 375 * 100vw);
        line-height: calc(32 / 10);
        margin-top: calc(8 / 375 * 100vw);
        h4 {
          font-size: calc(15 / 375 * 100vw);
          line-height: calc(40 / 15);
          margin-bottom: 0;
        }
        .area {
          display: flex;
          line-height: 1;
          h5 {
            margin-right: calc(12 / 375 * 100vw);
            padding-right: calc(12 / 375 * 100vw);
          }
        }
      }

      .swiper-button_cs {
        display: none;
      }
    }

    .box_control {
      display: flex;

      .swiper-button_cs {
        display: block;
        position: static;
        width: calc(32 / 375 * 100vw);
        aspect-ratio: 1;
        filter: invert(100%);
        &.swiper-button-next_cs {
          transform: translateY(0) scale(-1, 1);
        }
      }
    }

    .swiper-pagination_cs {
      margin: 0;
      gap: 0 calc(22 / 375 * 100vw);
      .swiper-pagination-bullet {
        width: calc(10 / 375 * 100vw);
        svg {
          top: calc(-5 / 375 * 100vw);
        }
      }
    }
  }
}

@keyframes animate-svg-stroke-1 {
  0% {
    stroke-dashoffset: 77.39822368615503px;
    stroke-dasharray: 77.39822368615503px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 77.39822368615503px;
  }
}

@keyframes animate-svg-stroke-2 {
  0% {
    stroke-dashoffset: 71.11503837897544px;
    stroke-dasharray: 71.11503837897544px;
  }

  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 71.11503837897544px;
  }
}

.vision {
  padding: calc(124 / 1366 * 100vw) 0 calc(60 / 1366 * 100vw);
  .inner {
    position: relative;
    z-index: 0;
    margin: 0 auto;
    width: 87.56%;
  }
  .ttl_vision {
    font-weight: bold;
    font-size: calc(25 / 1366 * 100vw);
    color: #000;
    margin-bottom: calc(137 / 1366 * 100vw);

    .en {
      display: block;
      font-weight: 900;
      font-size: calc(50 / 1366 * 100vw);
      margin-bottom: calc(15 / 1366 * 100vw);
      line-height: 1.2;
    }
  }

  .box_text {
    width: 50%;
    margin: 0 0 0 8.5%;
    h3 {
      font-weight: bold;
      font-size: calc(35 / 1366 * 100vw);
      line-height: calc(60 / 35);
      margin-bottom: calc(29 / 1366 * 100vw);
    }

    .text00 {
      color: #000;
      font-size: calc(16 / 1366 * 100vw);
      line-height: calc(40 / 16);
    }
  }
  figure {
    position: absolute;
    z-index: -1;

    &.rc {
      width: 59.28%;
      top: calc(14 / 1366 * 100vw);
      right: calc(-44 / 1366 * 100vw);
      aspect-ratio: 1420 / 1735;
    }
    &.infra {
      width: 61.48%;
      top: calc(14 / 1366 * 100vw);
      right: calc(-69 / 1366 * 100vw);
      aspect-ratio: 1471 / 1626;
    }
    &.industrial {
      width: 59.3%;
      top: calc(-5 / 1366 * 100vw);
      right: calc(-43 / 1366 * 100vw);
      aspect-ratio: 1418 / 1664;
    }
    &.environment {
      width: 63.18%;
      top: calc(-20 / 1366 * 100vw);
      right: calc(-90 / 1366 * 100vw);
      aspect-ratio: 1512 / 1694;
    }
    &.insurance {
      width: 61.9%;
      top: calc(14 / 1366 * 100vw);
      right: calc(-75 / 1366 * 100vw);
      aspect-ratio: 1483 / 1690;
    }
    &.salesenable {
      width: 58.98%;
      top: calc(-12 / 1366 * 100vw);
      right: calc(-39 / 1366 * 100vw);
      aspect-ratio: 1410 / 1677;
    }
    &.constru {
      width: 59.9%;
      top: calc(1 / 1366 * 100vw);
      right: calc(-50 / 1366 * 100vw);
      aspect-ratio: 1431 / 1653;
    }
    &.production {
      width: 57.89%;
      top: calc(-66 / 1366 * 100vw);
      right: calc(-26 / 1366 * 100vw);
      aspect-ratio: 1383 / 1786;
    }
  }
  @media screen and (max-width: 768px) {
    padding: calc(102 / 375 * 100vw) 0 0;
    .inner {
      width: 84%;
    }
    .ttl_vision {
      font-size: calc(18 / 375 * 100vw);
      margin-bottom: calc(45 / 375 * 100vw);

      .en {
        font-size: calc(38 / 375 * 100vw);
        margin-bottom: calc(20 / 375 * 100vw);
        line-height: calc(44 / 38);
      }
    }

    .box_text {
      width: 100%;
      margin: calc(27 / 375 * 100vw) 0 0;
      h4 {
        font-size: calc(20 / 375 * 100vw);
        line-height: calc(35 / 20);
        margin-bottom: calc(26 / 375 * 100vw);
      }

      .text00 {
        color: #000;
        font-size: calc(14 / 375 * 100vw);
        line-height: calc(32 / 14);
      }
    }
    figure {
      position: static;
      z-index: -1;

      &.rc {
        width: 110.15%;
        margin: 0 0 0 -5.8%;
        aspect-ratio: unset;
      }
      &.infra {
        width: 109.8%;
        margin: 0 0 0 -5.8%;
        aspect-ratio: unset;
      }
      &.industrial {
        width: 107.4%;
        margin: 0 0 0 -5.8%;
        aspect-ratio: unset;
      }
      &.environment {
        width: 113.8%;
        margin: calc(-46 / 375 * 100vw) 0 0 -5.8%;
        aspect-ratio: unset;
      }
      &.insurance {
        width: 105.6%;
        margin: 0 0 0 -5.8%;
        aspect-ratio: unset;
      }
      &.salesenable {
        width: 111.8%;
        margin: calc(-10 / 375 * 100vw) 0 0 -5.8%;
        aspect-ratio: unset;
      }
      &.constru {
        width: 110.4%;
        margin: 0 0 0 -5.8%;
        aspect-ratio: unset;
      }
      &.production {
        width: 109.8%;
        margin: 0 0 0 -5.8%;
        aspect-ratio: unset;
      }
    }
  }
}

.btn_pdf {
  position: relative;
  z-index: 0;
  margin: calc(174 / 1920 * 100vw) auto 0;
  width: calc(235 / 1920 * 100vw);
  font-weight: bold;
  font-size: calc(14 / 1920 * 100vw);
  line-height: calc(8 / 1920 * 100vw);
  color: #fff;
  padding: calc(12 / 1920 * 100vw) 0 calc(23 / 1920 * 100vw) calc(35 / 1920 * 100vw);
  border-bottom: 2px solid #fff;
  &::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 0;
    background-image: url("../img/business/icon_pdf.svg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    top: 0;
    left: 0;
    transform: translate(0, 0);
    width: 1.571em;
    aspect-ratio: 22 / 27;
  }
  &::after {
    content: "";
    display: block;
    position: absolute;
    z-index: 0;
    background-image: url("../img/business/icon_arrow.svg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    top: 0;
    right: 0;
    transform: translate(0, 0);
    width: 1.785em;
    aspect-ratio: 1;
  }
  @media screen and (max-width: 768px) {
    margin: calc(48 / 375 * 100vw) auto 0 0;
    width: calc(235 / 375 * 100vw);
    font-size: calc(14 / 375 * 100vw);
    line-height: calc(8 / 375 * 100vw);
    padding: calc(12 / 375 * 100vw) 0 calc(23 / 375 * 100vw) calc(35 / 375 * 100vw);
  }
}
