モーダルウィンドウに必要なブロック要素を1層少なく
アニメーション中にクリックすると誤動作するバグも修正
変更点
- div.container-back の役割を div#modal に持たせた
- div#modal
  上でモーダルウィンドウのスクロールをするようになったので、div.background
  を消し、div#modal に背景を任せるように変更。
- div#modal に背景色を設定するので、opacity
  を使った透過ができなくなり(モーダルウィンドウ自体も透過されてしまう)、rgba を使った透過に変更
- IE8 では rgba に対応していないため、-ms-filter を追加。IE9 で rgba と
  -ms-filter の両方が効くのを防ぐために div#modal.fade:not(:target)
  のハックを使用
- また、div#modal に背景色を任せたことにより、背景のフェードに jQuery
  の fadeIn/Out
  が使えなくなる(モーダルウィンドウまでフェードしてしまう)ので、モーダルウィンドウのスライドイン/アウトと同様に
  CSS3 と jQuery (IE8/9) を使う方法に変更
- フェードアウト時のコールバック関数で実行していた処理は setTimeout
  でアニメーションが終わる頃に実行するように変更
- Firefox でスライドのアニメーションが効かなくなったので、とりあえず
  setTimeout で 20ms の待ち時間を入れた