/* Core business: typography-led composition, deliberately free of service icons. */
.about-v4-business {
  padding-top: 132px;
  padding-bottom: 130px;
  background: #f4f9fd;
}

.about-v7-business-flow {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  row-gap: 0;
  margin-top: 76px;
}

.about-v7-business-flow > a {
  position: relative;
  display: grid;
  grid-template-columns: minmax(180px, .78fr) minmax(220px, 1fr);
  column-gap: clamp(32px, 5vw, 88px);
  align-items: end;
  min-height: 178px;
  padding: 34px 0 33px;
  color: #1b3855;
  border-top: 1px solid #cfdfeb;
  transition: padding .28s ease, background-color .28s ease;
}

.about-v7-business-flow > a:last-child { border-bottom: 1px solid #cfdfeb; }
.about-v7-business-flow > a::before { position: absolute; top: 34px; left: 0; width: 4px; height: 34px; content: ""; background: #1476e8; transform: scaleY(0); transform-origin: top; transition: transform .28s ease; }
.about-v7-business-flow > a:nth-child(1) { grid-column: 1 / span 10; }
.about-v7-business-flow > a:nth-child(2) { grid-column: 3 / -1; }
.about-v7-business-flow > a:nth-child(3) { grid-column: 1 / span 11; }

.about-v7-business-flow strong {
  grid-row: 1 / span 2;
  margin: 0;
  color: #1b3855;
  font-size: clamp(30px, 3.25vw, 49px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -.045em;
}

.about-v7-business-flow p { margin: 0; color: #326a9b; font-size: 16px; font-weight: 700; line-height: 1.6; }
.about-v7-business-flow span { align-self: start; margin-top: 10px; color: #71879d; font-size: 14px; line-height: 1.8; }
.about-v7-business-flow > a:hover { padding-left: 18px; background: rgb(255 255 255 / 44%); }
.about-v7-business-flow > a:hover::before { transform: scaleY(1); }
.about-v7-business-flow > a:hover strong { color: #1476e8; }

.about-v7-business-collaboration {
  display: grid;
  grid-template-columns: minmax(230px, .72fr) minmax(260px, 1fr) minmax(260px, 1fr);
  gap: clamp(30px, 5vw, 82px);
  align-items: start;
  margin-top: 88px;
  padding-top: 30px;
}

.about-v7-business-collaboration > p { margin: 0; color: #4d80aa; font-size: 16px; font-weight: 800; line-height: 1.65; }
.about-v7-business-collaboration div { padding-left: 20px; border-left: 1px solid #bad5e8; }
.about-v7-business-collaboration strong { display: block; color: #25435e; font-size: 18px; font-weight: 800; line-height: 1.45; }
.about-v7-business-collaboration span { display: block; margin-top: 10px; color: #71879d; font-size: 13px; line-height: 1.8; }

@media (max-width: 900px) {
  .about-v7-business-flow { margin-top: 62px; }
  .about-v7-business-flow > a { grid-template-columns: minmax(155px, .75fr) 1fr; min-height: 156px; column-gap: 38px; }
  .about-v7-business-flow p { font-size: 15px; }
  .about-v7-business-collaboration { grid-template-columns: .68fr 1fr 1fr; gap: 29px; margin-top: 67px; }
}

@media (max-width: 620px) {
  .about-v4-business { padding-top: 82px; padding-bottom: 86px; }
  .about-v7-business-flow { display: block; margin-top: 44px; }
  .about-v7-business-flow > a { display: block; min-height: 0; padding: 26px 0 28px; }
  .about-v7-business-flow > a::before { top: 27px; width: 3px; height: 28px; }
  .about-v7-business-flow strong { display: block; font-size: 31px; }
  .about-v7-business-flow p { margin-top: 15px; font-size: 14px; line-height: 1.7; }
  .about-v7-business-flow span { display: block; margin-top: 9px; font-size: 13px; }
  .about-v7-business-flow > a:hover { padding-left: 12px; }
  .about-v7-business-collaboration { grid-template-columns: 1fr; gap: 21px; margin-top: 49px; padding-top: 0; }
  .about-v7-business-collaboration > p { font-size: 15px; }
  .about-v7-business-collaboration div { padding-left: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .about-v7-business-flow > a, .about-v7-business-flow > a::before { transition: none; }
}
