

/* ========== Flow リッチ (flexbox row-reverse 根治) (v5: 140->110) ========== */
.ds-flow-section{
  padding:110px 24px;
  background:var(--bg);
}
.ds-flow-rich{
  max-width:1100px;
  margin:52px auto 0;
  display:flex;
  flex-direction:column;
  gap:44px;
}
.ds-flow-rich__row{
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:40px;
  position:relative;
  background:#fff;
  border:1px solid var(--line);
  border-radius:6px;
  padding:24px;
  box-shadow:var(--shadow-soft);
}
.ds-flow-rich__row:nth-child(even){
  flex-direction:row-reverse;
}
.ds-flow-rich__photo{
  flex:0 0 340px;
  width:340px;
  aspect-ratio:4/3;
  background-size:cover;
  background-position:center;
  border-radius:4px;
  box-shadow:var(--shadow-soft);
  position:relative;
}
.ds-flow-rich__photo::before{
  content:attr(data-step);
  position:absolute;
  top:-18px; left:-18px;
  width:84px; height:84px;
  background:var(--red);
  color:#fff;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:"Noto Serif JP",serif;
  font-size:26px;
  font-weight:900;
  box-shadow:var(--shadow);
  z-index:2;
}
.ds-flow-rich__row:nth-child(even) .ds-flow-rich__photo::before{
  left:auto; right:-18px;
}
.ds-flow-rich__body{
  flex:1 1 auto;
  padding:8px 24px;
  min-width:0;
}
.ds-flow-rich__row:nth-child(even) .ds-flow-rich__body{
  text-align:right;
}
.ds-flow-rich__kicker{
  font-size:10px;
  letter-spacing:.36em;
  color:var(--red);
  font-weight:800;
  margin-bottom:8px;
}
.ds-flow-rich__h{
  font-family:"Noto Serif JP",serif;
  font-size:26px;
  line-height:1.4;
  color:var(--ink);
  margin:0 0 14px;
  font-weight:900;
}
.ds-flow-rich__d{
  font-size:14px;
  line-height:2;
  color:var(--ink-soft);
  margin-bottom:14px;
}