/* ========================================
   セクション: S09_ご利用の流れ
   Figma node: 1038:4984 / 393×956
   ======================================== */

.flow {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding: 0 0 60px 0;
  gap: 40px;
  background: #F2F5FB;
}

/* ── 見出し ── */
.flow-heading-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 40px 0 30px;
  background: var(--color-navy);
}

.flow-sub {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 15px;
  height: 24px;
  background: #ffffff;
  border-radius: 30px;
  font-family: var(--font-jp);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-navy);
  white-space: nowrap;
}

.flow-heading {
  font-family: var(--font-jp);
  font-size: 32px;
  font-weight: 700;
  line-height: 1.5;
  color: #ffffff;
  text-align: center;
}

.flow-heading .sm {
  font-size: 24px;
}

.flow-heading-yellow {
  color: #ffffff;
}

/* ── ステップ群 ── */
.flow-steps {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 10px;
  padding: 0 15px;
}

/* ── ステップラッパー（カード＋矢印） ── */
.flow-step-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

/* ── ステップカード ── */
.flow-step {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 15px;
  gap: 19px;
  background: #ffffff;
  border: 1px solid var(--color-navy);
  border-radius: 8px;
}

/* ── アイコン ── */
.flow-step-icon {
  width: 50px;
  height: 50px;
  flex-shrink: 0;
  object-fit: contain;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.25));
}

/* ── ステップ内容 ── */
.flow-step-info {
  flex: 1;
  min-width: 0;
}

.flow-step-number {
  display: inline-block;
  font-family: var(--font-en);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-navy);
  letter-spacing: 0.05em;
  margin-right: 5px;
  vertical-align: baseline;
}

.flow-step-title {
  display: inline;
  font-family: var(--font-jp);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-navy);
}

.flow-step-desc {
  margin-top: 3px;
}

.flow-step-title-text {
  background: linear-gradient(transparent calc(100% - 11px), #FCE173 calc(100% - 11px), #FCE173 calc(100% - 3px), transparent calc(100% - 3px));
  padding-bottom: 2px;
}

.flow-step-desc {
  font-family: var(--font-jp);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.75;
  color: var(--text-body);
}

/* ── カード間矢印（インラインSVG） ── */
.flow-step-arrow {
  display: block;
  width: 20px;
  height: 12px;
  flex-shrink: 0;
}

/* ── 最終ステップ（縦構造） ── */
.flow-step--last {
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}

.flow-step--last .flow-step-row {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 19px;
}

/* ── 決済ロゴ ── */
.flow-step-payment {
  width: 100%;
  height: auto;
  display: block;
}
