str.length使うとおかしくなる場合があるので修正