Without knowing the exact URL and which pages were redirected it is difficult to predict why your rankings have dropped. I've made a laundry list of areas that may be causing the issue.
1. Onsite Factors have Changed
If the content on the website has change significantly then your website may be less relevant to the keywords you are targeting. That could cause an instant drop. I would also check the onsite factors such as Title tags and URL structure.
2. Speed
I personally use WordPress so I know it's quite speedy, however, if your new site has a slower load time that can sometimes lead to a drop in rankings. Did you move to a new host after the redesign? If the new host is slower that could also be causing the problem.
3. Internal Linking Structure
Did your old website has a significant amount of internal links that were passing juice? If the new design doesn't feature internal links that could be the cause.
4. Double check the 301 redirects
I'd ensure that the SEO firm you are working with has actually completed the redirects. It may also be worth while to check your domain authority to ensure that you have actually redirected all of the pages that were passing value. If your domain authority has dropped, that may be an indication that not all of the important pages have been redirected properly.
5. Submit your new sitemap
It may be as simple as Google has not yet had an opportunity to index all of the new pages properly. I'd ensure you do a sitemap submission through the webmasters interface just to make sure.
Once again I don't have enough info to provide you with an exact solution, however, these are common ranking issues and may be worth investigating.