Building a theme from scratch is pretty time consuming but it gives you ultimate control. You won’t need to override any styles from a parent theme or worry about them updates breaking your customization.
I’ve found that using a bare bones starter theme like underscores (_s) is a great head start (A 1000-Hour Head Start: Introducing The _s Theme). When you create a new theme using underscores, the package that you will download will include all the files required for a WordPress theme, including a functions.php, template files and a really nice stylesheet with resets and a bunch of empty selectors. It also includes the navigation.js to make your menus responsive.
If you don’t have a lot of experience with CSS, it might be good to start with something that is a little more baked but it’s really good practice if you are up for it, and you will learn exactly how the menus you see on many sites are created and how responsive design actually works.
Make a point of naming your theme something unique so updates to a theme of the same name won’t overwrite your theme.