upd:
@serzhei не хочу делать работу за Вас, просто лень разбираться с каждым блоком. Но в голову приходит следующее решение — помимо
width:100%;
этим блокам, в которых фон, надо задать
min-width: XXXpx;
, где XXX — минимальная ширина, при которой появляется скролл. Отпишитесь по результату.
У Вас там есть такой
<div class="blue-block-main">
Вот ему и задан этот background, а ширина у него 100%, что значит — равна ширине видимой области. Так что все логично.