/* flow固有の本文配置。幅・書体・基本色は共通CSSを使用する。 */
.flow-content { padding-block: 72px 100px; font-size: 15px; line-height: 1.9; }
.flow-intro { margin: 0 0 40px; }
.flow-steps { display: grid; gap: 48px; margin: 0; padding: 0; list-style: none; }
.flow-step {
  display: grid;
  grid-template-columns: 227px 1fr;
  align-items: center;
  gap: 48px;
  min-height: 245px;
  padding: 32px 60px;
  border-radius: 20px;
  background: #f7f7f7;
}
.flow-step__image { width: 227px; height: 177px; object-fit: cover; }
.flow-step__heading { margin: 0 0 14px; font-size: 24px; line-height: 1.5; font-weight: var(--font-weight-bold); }
.flow-step__heading > span { color: var(--color-accent); }
.flow-step__body > p { margin: 0; }
.flow-registration { margin-top: 100px; }
.flow-registration__english { margin: 0 0 12px; color: var(--color-accent); font-size: 13px; }
.flow-registration__heading { margin: 0; font-size: 26px; line-height: 1.6; font-weight: var(--font-weight-bold); }
.flow-registration__intro { margin: 16px 0 40px; }
.flow-registration__columns { display: grid; grid-template-columns: 450px 450px; gap: 60px; }
.flow-identity__heading {
  margin: 0 0 24px;
  padding: 16px;
  border-radius: 12px;
  background: #f7f7f7;
  font-size: 22px;
  line-height: 1.5;
  font-weight: var(--font-weight-bold);
  text-align: center;
}
.flow-identity__image { width: auto; height: 278px; margin-inline: auto; }
.flow-identity__description { margin: 24px 0 0; }
.flow-identity__list { margin: 24px 0 0; padding-left: 18px; }
.flow-identity__list > li::marker { color: var(--color-accent); }
.flow-identity__list > li + li { margin-top: 24px; }
.flow-identity__note { margin: 24px 0 0; }

/* SP共通ブレイクポイント：PCの既存指定は維持する。 */
@media (max-width: 480px) {
  .flow-content { padding-block: 40px 56px; }
  .flow-steps { gap: 24px; }
  .flow-step { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 24px; min-height: 0; }
  .flow-step__image { max-width: 100%; height: auto; margin-inline: auto; }
  .flow-step__heading { font-size: 22px; }
  .flow-registration { margin-top: 56px; }
  .flow-registration__heading { font-size: 24px; }
  .flow-registration__columns { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .flow-identity__image { max-width: 100%; height: auto; max-height: 278px; object-fit: contain; }
}
