Решил следующим образом, велосипед, но уж как смог)
Для всего section дал dislpay: flex; flex-direction: column; aling-items-center;
Для блоков которые вылазят за края создал блок-обертку, которой дал dislpay: flex; flex-wrap
Для самих этих блоков задал position: relative (чтобы не выпадал из потока при разширении) и спозиционировал как на макете.
Больше всего смущает дополнительный блок обертка, ну да ладно)