Du kan bruke overflow-x: hidden; for å fjerne bare den horisontale scrollbaren, men problemet ser ut til å være at den ikke følger width:auto; settingen, noe som kommer av at man ikke kan posisjonere noe som er static, det dukker opp i gitt rekkefølge.
Prøv først å legg til display: inline; og position:relative; på body, så tenker jeg den posisjonerer seg riktig.