copyright(c) 2012-2023 toshiyuki hirata