Copyright (C) hajime , All rights reserved.