http://b.hatena.ne.jp/entry/rbtnn.hateblo.jp/entry/2014/11/30/174749を元に修正