In order to make it fully accessible you might want to start from scratch and make a more traditional site that's not doing so much with JS to manage what content is on screen. Which might be more than you have time to deal with. But generally, when showing/hiding/navigating with JS, you are short-circuiting a lot of stuff you get for free with the browser (focus reset, announcing of changes etc.) and you have to reimplement a bunch of stuff in JS to get the same effect.
Sometimes it's worth it if what you are doing with JS is highly interactive & there's a payoff. But in this case, each thing of content could be its own page, and that plus a little more semantic HTML would do wonders.