/* あしらいはみ出し 制御 */
  main {
    overflow: hidden;
  }


/* セカンダリーボタン - 横幅拡大 */
a.button-link {
  max-width: 346px;
}

/* sec01 - IT×OT×AIの力で、ビジネスと社会にイノベーションを */
.sec01 {
  position: relative;
  &::before,
  &::after {
    content: "";
    position: absolute;
  }
  &::before {
    top: 2%;
    left: 55%;
    transform: translate(20%, 0);
    width: 642px;
    height: 642px;
    background: url(/img/special_bg02.png);
    background-size: contain;
    mix-blend-mode: hard-light;
  }
  &::after {
    z-index: 0;
    bottom: -60%;
    right: 50%;
    transform: translate(-20%, 0);
    width: 776px;
    height: 918px;
    background: url(/img/special_bg03.png);
    background-size: contain;
    mix-blend-mode: hard-light;
  }

  .sec01-wrap {
    position: relative;
    overflow: hidden;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-width: 788px;
    min-height: 788px;
    margin: 59px auto 102px;
    text-align: center;
    color: var(--White);
    &::after {
      position: absolute;
      content: "";
      width: 100%;
      width: 788px;
      height: 788px;
      background: url(/img/special_bg01.png) no-repeat center / contain;
    }
  }

  .sec01-title {
    width: 480px;
    max-width: 90vw;
    margin: 0 auto;
  }

  .sec01-text {
    line-height: 270%;
  }

  h2 {
    position: initial;
    z-index: 2;
    font-size: 3rem;
    line-height: 1.6;
  }
  p {
    position: initial;
    z-index: 2;
    margin-top: 46px;
  }
}
@media screen and (max-width: 979px) {
  .sec01 {
    &::before {
      top: -8%;
      width: 320px;
      height: 320px;
    }
    &::after {
      width: 388px;
      height: 459px;
      bottom: -16%;
    }
    .sec01-wrap {
      margin: 87px auto 172px;
    }
    h2 {
      font-size: 2rem;
    }
  }
}
@media screen and (max-width: 449px) {
    .sec01 {
    &::before {
      left: 30%;
    }
    &::after {
      right: 20%;
    }
    .sec01-title {
      width: 320px;
    }
    .sec01-text {
      line-height: 230%;
    }
  }
}

/* h2 センター */
.h2-basis.center {
  width: fit-content;
  margin: 0 auto 32px;
}

/* 富士ソフトの強み */
.on-text-img {
  display: flex;
  flex-direction: column;
  align-items: center;

  img:last-child {
    width: 100%;
    max-width: 485px;
    margin-top: -13%;
  }
  &.type-02 img:last-child {
    margin-top: -8%;
  }
  &.type-03 img:last-child {
    margin-top: -7%;
  }
}
@media screen and (max-width: 979px) {
  .on-text-img img:last-child {
    width: 75vw;
    min-width: 278px;
    max-width: 480px;
  }
}

/* あしらい背景 - 微調整 */
.z-index-1 {
  position: relative;
  z-index: 1;
}


