The side of your template *is* straight, however the image you are using for your page background (body.png) contains a section at the top which extends downwards 100px or so that is one or two pixels wider than the lower section. Have a look at the image and you'll see what he means.
For a first website, well done. Getting your first creation completed is very satisfying.
A couple of things to consider, however - Firstly you've used transparent PNG files for many of the graphics in your site. These won't display with proper transparency for anyone who is using IE6 still.
Also if you view the website with CSS disabled, you will see that your main piece of information - your page title - disappears. This is because your page has been written using a mixture of tables and CSS.
My advice on making sure a site looks good no matter who views it is to start with semantic HTML. Write each page using nothing but div, h1/2/3/4/5/6, p, ul, ol, li, a, span tags, and other basic html tags. Once you have a page written in plain HTML, then create your CSS stylesheet and style the page from the ground up.
If you'd been designing sites for a long time I would have had some more feedback for you, but I think it's great that you've got yourself a finished project. Welcome to the world of web design.