I feel like I need to start all of my answers with “I’m just a novice, so don’t laugh at me if I’m wrong…” but…I think you need to put the main content area and the sidebar into a div together, so that they relate to each other. Right now I think they are just positioning relative to the larger container that you have wrapped around all of your divs.
I keep looking back at the Twentyten theme, and it has a wrapper that surrounds the header, main, and footer divs. The main div surrounds the content and sidebar divs.