Granite City man charged with kidnapping