If the data is tabular (and that’s exactly what it looks like to me) then the answer is clear and you must use the html table element in its construction. Never (almost never) use elements that are not the best semantic choice for the job in hand just because it suits your coding purpose.
The problem is that it is not easy to render tables on small devices so designers often cheat and use the wrong elements for the job rather than working out the best way to present the data.
With a little duplication of the headers in data attributes you can make quite a respectable layout for small screen.
Here are a few examples that I knocked up for similar questions in the forums.