Food delivery is labor intensive. 20-30% is probably unreasonably high for a big order, but if you're only ordering a couple of dishes that percentage probably makes sense.
This. Every "expensive" service can largely be traced back to the sheer cost of having someone on their feet all the time to perform it. 20% of my typical takeaway order price would require one complete delivery every ~30 mins to earn a living wage in my city - that sounds pretty reasonable.