あまりご興味はないかと思いますので,独り言みたいなものです。
body直下に置かれ,おそらくbody全体に敷かれていると思われる div のスタイル属性ですが,
<div style="margin-left:0px; width:80%; padding:0em;">
ここで width:80% を指定しているため,無意味な余白ができています。
縦表示の携帯端末では非常に影響が大きいので指定は害でしかありません。
せっかく viewport を指定しているのに,おじゃんです。
(PCのブラウザでも拡大率を数百%にしてみるとわかります)
(以下蛇足)
また,どこかの野良サイトから拾ってきたかと思われるものですが,
style要素で指定した以下のクラスは意味がないと思われます。
.d1 存在しないので不要
.tbody 存在しないので不要(tbody要素にしたいなら先頭のドットは不要)
.num 存在しないので不要
.obi 存在しないので不要
.m 存在しないので不要
.ruler 存在しないので不要
.cuter 存在しないので不要
_:lang(x)::-moz-placeholder, .selector {font-size:-2;} 無意味
なお,文字サイズを指定したいから tbody が必要とのことでしたが,
それこそ CSS で一発指定すれば CGI での無駄な出力は必要ありませんし,
なんなら <tbody style='font-size:100%'> という指定に意味はないでしょう。
そもそも thead と tfoot がないわけですから tbody は本来不要(省略可能)であり,
文字サイズは table に対して指定してやればよいことだと思われます。