copyright(c) 2012-2022 toshiyuki hirata