.business-flow__section { margin-top: 56px; }
.business-flow__steps { display: grid; gap: 40px; margin: 32px 0 0; padding: 0; list-style: none; }
.business-flow__steps li { padding: 44px 64px; border-radius: 20px; background: #f7f7f7; }
.business-flow__steps h3 { margin: 0 0 20px; font-size: 24px; font-weight: var(--font-weight-bold); }
.business-flow__steps h3 span { color: var(--color-accent); font-size: 18px; }
.business-flow__steps p { margin: 0; font-size: 15px; line-height: 1.9; }
.business-flow__contact { margin-top: 40px; text-align: center; }
.business-flow__contact p { margin: 0 0 28px; font-size: 15px; line-height: 1.9; }

/* 開閉処理はcommon.jsを利用し、法人flowの見た目だけを調整する。 */
.business-flow .business-faq dt { display: block; padding: 0; }
.business-flow .business-faq dd[hidden] + dt { margin-top: 21px; }
.business-flow .business-faq dd { padding: 0; }
.business-flow-faq__trigger { display: flex; align-items: center; gap: 16px; width: 100%; margin: 0; padding: 20px 24px; border: 0; background: #f5f5f5; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.business-flow-faq__trigger > span { display: grid; place-items: center; flex: none; width: 16px; height: 16px; border-radius: 50%; background: var(--color-accent); }
.business-flow-faq__trigger > span::after { content: ""; width: 4px; height: 4px; border-right: 1px solid #fff; border-bottom: 1px solid #fff; transform: translateX(-1px) rotate(-45deg); }
.business-flow-faq__trigger[aria-expanded="true"] > span::after { transform: translateY(-1px) rotate(45deg); }
.business-flow-faq__answer { padding: 20px 56px 8px; }

/* SP共通ブレイクポイント：PCの既存指定は維持する。 */
@media (max-width: 480px) {
  .business-flow__section { margin-top: 40px; }
  .business-flow__steps { gap: 24px; }
  .business-flow__steps li { padding: 24px; }
  .business-flow__steps h3 { font-size: 19px; }
  .business-flow__steps h3 span { font-size: inherit; }
  .business-flow-faq__trigger { padding: 20px 16px; gap: 12px; }
  .business-flow-faq__answer { padding: 20px 16px 8px; }
}
