@charset "utf-8";

/* ==================================================================
 * index
 * ================================================================== */

 

/* layout
==================================================== */
/* section ----------------------------- */
div[class*="l-inner--"] {
  margin: 0 auto;
}
.l-section,
.l-section--m {
  position: relative;
}
.l-section--b {
  margin-top: var(--size-m);
  border: 1px solid var(--color-bl);
  & .m-list--item02.--belt .__item,
  & .m-list--item02.--pct .__item {
    background: var(--color-lgry);
  }
}
.l-section--bt {
  margin-top: var(--size-4l);
  padding-top: var(--size-4l);
  border-top: 1px solid var(--color-gry);
  & .m-list--item02.--belt .__item,
  & .m-list--item02.--pct .__item {
    border: 1px solid var(--color-bl);
  }
}

/* inner ----------------------------- */
.l-inner--s {
  width: var(--width-s);
}
.l-inner--m {
  width: var(--width-m);
}
.l-inner--l {
  width: var(--width-l);
}


/* module
==================================================== */
/* link ----------------------------- */
.m-link--line {
  text-decoration: underline;
}
.m-link--more {
  position: relative;
  display: inline-block;
  margin-left: var(--size-l);
  color: var(--color-bl);
  &::before {
    content: "\f105";
    display: inline-block;
    margin-right: 0.5em;
    font-weight: 700;
    font-family: "Font Awesome 7 free";
  }
  & span {
    text-decoration: underline;
  }
  &:hover span {
    text-decoration: none;
  }
}


/* text ----------------------------- */
.m-text--balloon {
  position: relative;
  width: min(680px, 100%);
  margin: 0 auto var(--size-l);
  padding: var(--size-s) var(--size-m);
  line-height: var(--lheight-s);
  color: var(--color-wh);
  text-align: center;
  background: var(--color-bl);
  &::after {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    bottom: calc(var(--size-m) * 0.75 * -1 + 1px);
    width: calc(var(--size-m) * 1.5);
    height: calc(var(--size-m) * 0.75);
    background: var(--color-bl);
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
    transform: translateX(-50%);
  }
}

/* box ----------------------------- */
.m-box--line,
.m-box--lgry,
.m-box--lbg,
.m-box--lbl,
.m-box--rd {
  margin-bottom: var(--size-base);
  padding: var(--size-2l);
}
.m-box--line {
  border: 1px solid var(--color-bl);
}
.m-box--lgry {
  background: var(--color-lgry);
}
.m-box--lbg {
  background: var(--color-lbg);
}
.m-box--lbl {
  background: var(--color-lbl);
  border: 1px solid var(--color-bl);
}
.m-box--rd {
  color: var(--color-wh);
  background: var(--color-rd);
  border: 1px solid var(--color-rd);
  & *[class*="m-title"] {
    color: inherit !important;
  }
}
.m-box--flex__img {
  display: block;
}

/* list / dlist ----------------------------- */
.m-list--item02 {
  margin-bottom: var(--size-2l);
  & .__item {
    margin-bottom: var(--size-base);
  }
  &.--pct .__item {
    display: flex;
    justify-content: space-between;
    & .__img {
      width: 90px;
    }
    & .__text {
      width: calc(100% - 90px - var(--size-2l));
    }
  }
  &.--belt .__item {
    & .__title {
      padding: var(--size-min);
      color: var(--color-wh);
      font-size: var(--size-m);
      font-weight: 500;
      text-align: center;
      background: var(--color-bl);
    }
    & .__text {
      padding: 0 var(--size-m) var(--size-m);
    }
    & .__img {
      display: block;
      margin: var(--size-base) var(--size-base) var(--size-m);
    }
  }
  &.--pct .__item {
    padding: var(--size-2l);
  }
}
.m-list--flow {
  counter-reset: counter;
  & .__item {
    position: relative;
    & + .__item::before {
      position: absolute;
      content: "";
      display: block;
      background: var(--color-bl);
    }
    & .m-title--ml::before {
      display: inline-block;
      counter-increment: counter;
    }
  }
}
.m-dlist {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  line-height: var(--lheight-s);
  & .__name {
    position: relative;
    top: 0.05em;
    margin-right: var(--size-base);
    padding: var(--size-base) 0;
    line-height: 1;
    color: var(--color-wh);
    font-size: var(--size-s);
    font-weight: 500;
    text-align: center;
    background: var(--color-bl);
  }
  & .__detail {
    margin-right: var(--size-l);
    font-weight: 700;
  }
}

*[class*="m-label"] {
  display: inline-block;
  margin-right: var(--size-base);
  padding: var(--size-base) 0;
  line-height: 1;
  color: var(--color-wh);
  font-size: var(--size-s);
  font-weight: 500;
  text-align: center;
  background: var(--color-bl);
}
dt.m-label {
  width: 8em;
}
span[class*="m-label"] {
  position: relative;
  top: -0.1em;
}
.m-label--s {
  width: calc(var(--size-base) * 7);
}
.m-label--m {
  width: var(--size-max);
}


/* state
==================================================== */
.s-fs--s {
  font-size: 0.8em;
}
.s-fw--b {
  font-weight: 700;
}
.s-fc--bl {
  color: var(--color-bl);
}
.s-fc--rd {
  color: var(--color-rd);
}
.s-ff--en {
  font-weight: 400;
  font-family: var(--family-en);
}
.s-ta--r {
  text-align: right;
}
.s-ta--c {
  text-align: center;
}

.s-mb--s {
  margin-bottom: var(--size-base) !important;
}
.s-mb--m {
  margin-bottom: var(--size-m) !important;
}
.s-mb--l {
  margin-bottom: var(--size-2l) !important;
}
.s-mb--0 {
  margin-bottom: 0 !important;
}
.s-bg--lgry {
  background: var(--color-lgry);
}
.s-bg--lgrn {
  background: var(--color-lgrn);
}
.s-bg--lbl {
  background: var(--color-lbl);
}
.s-bg--dbl {
  background: var(--color-dbl);
}
.s-bg--wh {
  background: var(--color-wh);
}

.s-dot--rd {
  background: radial-gradient(circle at center, var(--color-rd) 20%, transparent 20%) top right repeat-x;
  background-size: 1em 0.3em;
  padding-top: 0.25em;
}

/* js
==================================================== */
.js-slider__area {
  position: relative;
  & .js-slider__wrapper,
  & .js-slider__item {
    box-sizing: border-box;
  }
  & .js-slider__item {
    height: auto;
  }
  & .swiper-pagination {
    position: static;
    display: flex;
    align-items: center;
    width: fit-content;
    margin: var(--size-min) auto 0;
    & .swiper-pagination-bullet {
      background: var(--color-mgry);
      opacity: 1;
    }
    & .swiper-pagination-bullet-active {
      background: var(--color-bl);
    }
  }
  & .swiper-button-next,
  & .swiper-button-prev {
    top: 50%;
    width: var(--size-3l);
    height: var(--size-3l);
    margin: 0;
    color: var(--color-bl);
    transform: translateY(calc(-50% - var(--size-m)));
    transition: color 0.2s, opacity 0.2s;
    &::after {
      font-size: var(--size-4l);
    }
    &:not(.swiper-button-disabled):hover {
      opacity: 0.6;
    }
    &.swiper-button-disabled {
      color: var(--color-mgry);
      opacity: 1;
    }
  }
  & .swiper-button-next {
    right: calc(var(--size-4l) * -1);
  }
  & .swiper-button-prev {
    left: calc(var(--size-4l) * -1);
  }
}

.js-tab {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: var(--size-2l) 0 calc(var(--size-m) * -1 - 1px);
  & .js-tab__link {
    display: block;
    width: 15em;
    margin: 0 var(--size-min);
    padding: var(--size-base) 0;
    font-weight: 700;
    text-align: center;
    background: var(--color-mgry);
    border-radius: var(--size-base) var(--size-base) 0 0;
    transition: all 0.2s;
    &:hover,
    &.is-active {
      color: var(--color-wh);
      background: var(--color-sbl);
    }
    &:not(.is-active) {
      position: relative;
      z-index: 0;
      opacity: 0.4;
    }
    &:hover {
      opacity: 1;
    }
    &.is-active {
      pointer-events: none;
    }
  }
  & + * {
    position: relative;
    z-index: 1;
  }
}
.js-tab__content {
  transition: opacity 0.2s;
  &:not(.is-display) {
    position: absolute;
    opacity: 0;
    height: 0;
    visibility: hidden;
    z-index: -1;
  }
}

/* header--mainvisual
==================================================== */
.header--mainvisual {
  position: relative;
  overflow: hidden;
  height: min(680px, 90dvh);
  color: #fff;
  background: #001C35;
  & .l-inner--m {
    position: relative;
    transform: translateY(-50%);
    z-index: 1;
  }
  & .m-title,
  & .m-title--l {
    color: #fff;
  }
  & .m-title {
    margin-bottom: var(--size-s);
    letter-spacing: 0.05em;
  }
  & .m-title--l {
    letter-spacing: 0.01em;
  }
  & .m-medal {
    display: flex;
    align-items: center;
  }
  & .m-video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
    opacity: 0.3;
    z-index: 0;
    & video {
      object-fit: cover;
      height: 100%;
      width: 100%;
    }
  }
}

/* 各コンテンツ
==================================================== */
/* first ----------------------------- */
.--first {
  & .m-list .__item {
    background: var(--color-bl);
    & .__img {
      display: block;
    }
    & .__text {
      color: #fff;
      font-weight: 500;
    }
  }
}

/* case ----------------------------- */
.--case {
  & .js-slider .js-slider__wrapper {
    align-items: center;
    transition-timing-function: linear;
    & .__item {
      text-align: center;
      & img {
        max-width: 100%;
      }
    }
  }
  & .m-list--case {
    margin-top: var(--size-4l);
    & .__item {
      position: relative;
      background: var(--color-lbg);
      border: 1px solid var(--color-bl);
      & .l-flex {
        margin-bottom: var(--size-l);
      }
      & > .m-link--opacity:not(.l-flex) {
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        right: 0;
        bottom: 0;
        width: var(--size-4l);
        line-height: 1;
        color: #fff;
        background: var(--color-bl);
        aspect-ratio: 1 / 1;
        & .fa-solid {
          margin: 0;
        }
      }
    }
  }
}

/* strengths ----------------------------- */
.--strengths {
  counter-reset: counter;
  & .l-section--m {
    &::before {
      position: absolute;
      top: -0.5em;
      left: var(--size-4l);
      display: block;
      line-height: 1;
      letter-spacing: 0.05em;
      content: counter(counter, decimal-leading-zero);
      counter-increment: counter;
      color: var(--color-lbl);
      font-weight: 400;
      font-family: var(--family-en);
    }
  }
}
.--strengths01-support {
  & .m-list .__item {
    color: #fff;
    text-align: center;
    background: var(--color-bl);
  }
}
.--strengths01-service {
  & .m-title--ml span {
    position: relative;
    top: -0.15em;
    display: inline-block;
    margin-right: 2.25em;
    padding: var(--size-base) var(--size-s);
    line-height: 1;
    color: #fff;
    font-size: var(--size-s);
    background: var(--color-sbl);
    &::after {
      position: absolute;
      top: 50%;
      right: -1.5em;
      content: "＋";
      display: inline-block;
      color: var(--color-sbl);
      font-size: var(--size-m);
      font-weight: 500;
      transform: translateY(calc(-50% - 0.05em));
    }
  }
}
.--strengths01-results {
  & .m-box--line {
    & .l-flex__title {
      & .__img {
        overflow: hidden;
        display: block;
        width: 160px;
        margin: 0 auto var(--size-m);
      }
      & .m-title--ml {
        margin-bottom: var(--size-l);
        text-align: center;
      }
      & .m-dlist {
        & .__name,
        & .__detail {
          margin-bottom: var(--size-base);
        }
        & .__detail {
          width: calc(100% - 7em);
          margin-right: 0;
        }
      }
    }
    & .l-flex__detail {
      & .m-box {
        margin-bottom: var(--size-l);
        color: #fff;
        & .__name,
        & .__detail {
          line-height: var(--lheight-s);
        }
        & .__name {
          background: var(--color-bl);
        }
        & .__detail {
          background: var(--color-sbl);
          & span {
            font-size: 1.5em;
            font-weight: 700;
          }
        }
      }
    }
  }
  & .s-fs--s {
    margin: calc(var(--size-base) * -1) 0 var(--size-base);
  }
}
.--strengths02-callan {
  & .m-list--item02.--belt {
    & p {
      & span {
        position: relative;
        display: block;
        padding: var(--size-base) 0;
        line-height: var(--lheight-s);
        font-size: var(--size-s);
        font-weight: 500;
        text-align: center;
        &.--how::before,
        &.--after::before,
        &.--after::after {
          content: "";
          position: absolute;
          left: calc(50% - 1px);
          display: block;
          width: 2px;
        }
        &.--how {
          background: #fff;
          border: 1px solid var(--color-bl);
          &::before {
            background: var(--color-bl);
          }
        }
        &.--after {
          color: #fff;
          background: var(--color-sbl);
          &::before,
          &::after {
            top: calc(var(--size-base) * 1.5 * -1 - var(--size-min));
            height: calc(var(--size-base) * 1.5);
            border-radius: 2px;
            background: var(--color-bl);
            transform-origin: 50% calc(100% - 1px);
          }
          &::before {
            transform: rotate(45deg);
          }
          &::after {
            transform: rotate(-45deg);
          }
        }
      }
    }
  }
}
.--strengths02-aigc {
  & .m-title--m {
    line-height: var(--lheight-m);
    margin-bottom: var(--size-min);
  }
  & .m-list--item02.--pct .__item .__img {
    background: #fff;
    border-radius: 50%;
  }
  & .m-box--lgry {
    position: relative;
    & + .m-box--lgry::before {
      position: absolute;
      content: "";
      display: block;
      background: var(--color-bl);
    }
    & .__img {
      margin-bottom: var(--size-m);
    }
    & .m-label--m {
      display: block;
      margin: 0 0 var(--size-min) 0;
    }
  }
}
.--strengths03-process {
  &::after {
    content: "";
    position: absolute;
    right: var(--size-max);
    bottom: calc(var(--size-base) * 23 * -1);
    display: block;
    width: 280px;
    aspect-ratio: 14 / 11;
    background: url("/assets2/images/corporate/index/strengths_img.png") no-repeat 50% 50%;
    background-size: contain;
  }
  & .m-list--flow {
    &  .__item {
      & .m-title--ml {
        margin: 0;
        color: var(--color-base--bk);
        &::before {
          content: counter(counter);
          display: inline-block;
          font-size: var(--size-2l);
        }
      }
    }
  }
}

/* flow ----------------------------- */
.--flow {
  & .m-list--flow .__item {
    &.m-box--rd {
      & .m-title--ml {
        margin-bottom: 0;
        &::before {
          color: var(--color-rd);
          font-weight: 600;
          background: #fff;
        }
      }
    }
    & + .__item {
      margin-top: var(--size-2l);
      &::before {
        top: calc(var(--size-2l) * -1 - 2px);
        left: 50%;
        width: calc(var(--size-m) * 2);
        height: var(--size-m);
        clip-path: polygon(0 0, 100% 0%, 50% 100%);
        transform: translateX(-50%);
      }
    }
    & .m-title--ml::before {
      content: "STEP " counter(counter);
      width: var(--size-max);
      height: var(--size-2l);
      margin-right: var(--size-base);
      line-height: var(--size-2l);
      color: #fff;
      font-size: var(--size-s);
      font-weight: 500;
      text-align: center;
      background: var(--color-bl);
      vertical-align: text-bottom;
    }
  }
}

/* faq ----------------------------- */
.--faq {
  & .js-accordion__title:not(.is-active) + .js-accordion__content {
    opacity: 0;
    display: none;
  }
  & .js-accordion__title.is-active::after {
    content: "\f068";
  }
  & .js-accordion__title,
  & .js-accordion__content {
    position: relative;
    &::before {
      position: absolute;
      display: block;
      width: calc(var(--size-m) * 2);
      height: calc(var(--size-m) * 2);
      padding-top: 0.2em;
      line-height: 1;
      font-size: var(--size-l);
      font-weight: 700;
      font-family: var(--family-ja--zenkaku);
      text-align: center;
      border-radius: 50%;
      transform: translateY(-0.1em);
    }
  }
  & .js-accordion__title {
    margin: calc(var(--size-2l) * -1);
    cursor: pointer;
    &::before {
      content: "Q";
      color: var(--color-sbl);
      background: #fff;
    }
    &::after {
      content: "\2b";
      position: absolute;
      top: 50%;
      display: block;
      color: var(--color-sbl);
      font-weight: 700;
      font-family: "Font Awesome 7 free";
      transform: translateY(-50%);
    }
  }
  & .js-accordion__content {
    padding: var(--size-m) 0 0 calc(32px + var(--size-base));
    transition: all 0.2s;
    &::before {
      content: "A";
      left: 0;
      color: #fff;
      background: var(--color-sbl);
    }
  }
}

/* download-contact ----------------------------- */
.--download-contact {
  & .download-contact--nav a {
    width: 100%;
  }
}


/* レスポンシブ
====================================================*/
@media screen and (min-width: 768px) {
  .header--nav {
    & .nav--menu {
      &:not(.is-dark) {
        color: #fff;
        & .__item.--qqtop::before {
          background: rgba(255, 255, 255, 0.3);
        }
      }
      &.is-dark {
        color: var(--color-base--bk);
        background: #fff;
        border-bottom: 1px solid var(--color-gry);
        & .__item {
          font-weight: 500;
          &.--qqtop::before {
            background: rgba(0, 0, 0, 0.1);
          }
        }
      }
    }
    & .nav--cta {
      top: 50%;
      right: 0;
      transform: translateY(-50%);
      & .m-link--opacity {
        width: 50px;
        height: 200px;
        writing-mode: vertical-rl;
        letter-spacing: 0.1em;
        &::before {
          margin-bottom: calc(var(--size-base) / 4);
        }
      }
    }
  }
  .header--mainvisual {
    padding-top: 100px;
    & .l-inner--m {
      top: 48%;
    }
    & .m-title {
      font-size: 50px;
    }
    & .m-medal {
      margin: var(--size-l) 0 var(--size-base) calc(var(--size-base) * -1);
      & .__item {
        width: 180px;
        & + .__item {
          margin-left: var(--size-base);
        }
      }
    }
  }

  /* 各コンテンツ ----------------------------- */
  .--first {
    padding: var(--size-max) 0;
    & .l-area {
      align-items: center;
    }
    & .m-title {
      font-size: var(--size-4l);
    }
    & .m-list {
      display: flex;
      justify-content: space-between;
      & .__item {
        width: calc(33.33% - var(--size-min));
        background: var(--color-bl);
        & .__img {
          width: 85.5%;
          margin: calc(var(--size-3l) * -1 - 3px) auto 0;
        }
        & .__text {
          margin: var(--size-base) var(--size-l) var(--size-l);
          text-align: center;
        }
      }
    }
  }

  .--case {
    & .js-slider {
      margin: 0 calc(var(--size-m) * -1);
      & .js-slider__wrapper .__item {
        width: 16.66vw;
      }
    }
    & .m-list--case {
      & .__item {
        padding: var(--size-4l);
        & .l-flex {
          align-items: flex-start;
        }
        & .m-img {
          width: calc(var(--size-max) * 3);
        }
        & .m-detail {
          width: calc(100% - var(--size-max) * 3 - var(--size-l));
        }
      }
    }
  }

  .--strengths .l-section--m::before {
    font-size: 96px;
  }
  .--strengths01-support {
    align-items: center;
    &  .m-list .__item {
      display: flex;
      align-items: center;
      justify-content: center;
      width: calc(33.33% - var(--size-base));
      line-height: var(--lheight-s);
      border-radius: 50%;
      &::before {
        content: "";
        display: block;
        padding-top: 100%;
      }
    }
  }
  .--strengths01-results {
    & .m-box--line {
      display: flex;
      align-items: center;
      & .l-flex__title {
        width: 280px;
      }
      & .l-flex__detail {
        width: calc(100% - 280px - var(--size-3l));
        height: 100%;
        & .m-box {
          display: flex;
          & .__name,
          & .__detail {
            padding: var(--size-m);
          }
          & .__name {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 10em;
            padding: calc(var(--size-m) * 1.1) var(--size-m) var(--size-m);
            text-align: center;
          }
          & .__detail {
            width: calc(100% - 10em);
            padding: calc(var(--size-m) * 0.8) var(--size-m) var(--size-m);
          }
        }
      }
    }
  }
  .--strengths02-callan {
    & .m-list--item02.--belt {
      & .__title {
        margin-bottom: var(--size-l);
      }
      & p {
        width: calc(50% - var(--size-min));
        & span.--how {
          margin-bottom: var(--size-3l);
          &::before {
            bottom: calc(var(--size-3l) * -1 + var(--size-min));
            height: calc(var(--size-3l) - var(--size-min));
          }
        }
      }
    }
  }
  .--strengths02-aigc {
    & .m-box--lgry + .m-box--lgry::before {
      left: calc(var(--size-m) * -1);
      top: 50%;
      width: var(--size-2l);
      height: calc(var(--size-2l) * 2);
      clip-path: polygon(0 0, 0 100%, 100% 50%);
      transform: translateY(-50%);
    }
  }
  .--strengths03-process {
    &::after {
      right: var(--size-max);
      bottom: calc(var(--size-base) * 23 * -1);
      width: 280px;
    }
    & .m-list--flow {
      display: flex;
      justify-content: space-between;
      &  .__item {
        display: flex;
        align-items: center;
        width: calc(12.5% - var(--size-l));
        margin: 0;
        writing-mode: vertical-rl;
        & + .__item::before {
          left: calc(var(--size-2l) * -1);
          top: 50%;
          width: var(--size-m);
          height: calc(var(--size-m) * 2);
          clip-path: polygon(0 0, 0 100%, 100% 50%);
          transform: translateY(-50%);
        }
        & .m-title--ml::before,
        & .__num {
          text-combine-upright: all;
        }
        & .m-title--ml::before {
          margin-bottom: var(--size-m);
        }
      }
    }
  }
  .--faq {
    & .js-accordion__title {
      padding: var(--size-2l) var(--size-5l) var(--size-2l) calc(var(--size-2l) + 32px + var(--size-base));
      &::before {
        left: var(--size-2l);
      }
      &::after {
        right: var(--size-2l);
      }
    }
  }
  .--download-contact {
    & .download-contact--nav {
      display: block;
      & a {
        display: flex;
        align-items: center;
        width: 100%;
        height: 240px;
        & .m-title--3l {
          display: block;
          &::after {
            position: absolute;
            top: 50%;
            right: calc(var(--size-base) * 9);
            width: calc(var(--size-base) * 7);
            height: calc(var(--size-base) * 7);
            font-size: var(--size-l);
            transform: translateY(-50%);
          }
          & + p {
            text-align: justify;
          }
        }
        & .__img {
          width: 270px;
          margin: 0 32px 0 -48px;
        }
        & + a {
          margin-top: var(--size-m);
        }
      }
    }
  }
}

@media screen and (max-width: 767px) {
  .header--nav {
    & .m-logo {
    width: 160px;
    }
    & .nav--menu {
      height: calc(var(--size-m) * 2 + 50px);
    }
  }
  .header--mainvisual {
    padding-top: calc(var(--size-m) * 2 + 50px);
    & .l-inner--m {
      top: 50%;
    }
    & .m-title {
      font-size: 34px;
    }
    & .m-title--l {
      margin-bottom: var(--size-3l);
    }
    & .m-medal {
      margin-bottom: var(--size-base);
      & .__item {
        width: 33.33%;
      }
    }
  }

  /* 各コンテンツ ----------------------------- */
  .--first {
    padding: var(--size-5l) 0;
    & .m-title {
      margin-bottom: var(--size-l);
      font-size: var(--size-3l);
      text-align: center;
    }
    & .m-list .__item {
      background: var(--color-bl);
      & + .__item {
        margin-top: var(--size-base);
      }
      & figure {
        display: flex;
        align-items: center;
        padding: var(--size-m);
        & .__img {
          display: block;
          width: 30%;
          margin-right: var(--size-m);
        }
      }
    }
  }
  .--case {
    & .js-slider .js-slider__wrapper .__item {
      width: 50vw;
    }
    & .m-list--case {
      & .__item {
        padding: var(--size-2l) var(--size-m);
        & .l-flex {
          display: block;
        }
        & .m-img {
          margin-bottom: var(--size-m);
        }
      }
    }
  }
  .--strengths .l-section--m::before {
    font-size: var(--size-max);
  }
  .--strengths01-support .m-list  {
    margin-top: var(--size-l);
    & .__item {
      padding: var(--size-base);
      & + .__item {
        margin-top: var(--size-base);
      }
    }
  }
  .--strengths01-service .m-title--ml span {
    margin-bottom: var(--size-min);
  }
  .--strengths01-results .m-box--line .l-flex__detail .m-box {
    margin-top: var(--size-m);
    & .__name,
    & .__detail {
      padding: var(--size-base) var(--size-m);
    }
  }
  .--strengths02 .m-title--sub {
    margin-left: calc(var(--size-m) * -1);
    margin-right: calc(var(--size-m) * -1);
  }
  .--strengths02-callan {
    & .m-list--item02.--belt {
      & .__title {
        margin-bottom: var(--size-m);
      }
      & p {
        & + p {
          margin-top: var(--size-m);
        }
        & span.--how {
          margin-bottom: var(--size-l);
          &::before {
            bottom: calc(var(--size-l) * -1 + var(--size-min));
            height: calc(var(--size-l) - var(--size-min));
          }
        }
      }
    }
  }
  .--strengths02-aigc {
    & .m-box--lgry + .m-box--lgry::before {
      left: 50%;
      top: calc(var(--size-m) * -1);
      width: calc(var(--size-2l) * 2);
      height: var(--size-2l);
      clip-path: polygon(0 0, 100% 0%, 50% 100%);
      transform: translateX(-50%);
    }
  }
  .--strengths03-process {
    &::after {
      right: var(--size-m);
      bottom: calc(var(--size-max) * -1 - 5vw);
      width: 40%;
    }
    & .m-list--flow .__item {
      padding: var(--size-base) var(--size-l) calc(var(--size-base) + 0.1em);
      & + .__item {
        margin-top: var(--size-l);
        &::before {
          left: 50%;
          top: calc(var(--size-l) * -1 - 1px);
          width: calc(var(--size-m) * 2);
          height: var(--size-m);
          clip-path: polygon(0 0, 100% 0%, 50% 100%);
          transform: translateX(-50%);
        }
      }
      & .m-title--ml::before {
        position: relative;
        top: 0.05em;
        margin-right: var(--size-base);
      }
    }
  }
  .--strengths03-ph .m-title--l {
    margin-right: calc(var(--size-m) * -1);
  }
  .--flow {
    & .m-list--flow .__item:not(.m-box--rd) .m-title--ml::before {
      display: block;
      margin-bottom: var(--size-min);
    }
  }
  .--faq {
    & .js-accordion__title {
      padding: var(--size-l) var(--size-5l) var(--size-l) calc(var(--size-l) + 32px + var(--size-base));
      &::before {
        left: var(--size-l);
      }
      &::after {
        right: var(--size-l);
      }
    }
  }
}
