copyright(c) 2012-2024 toshiyuki hirata