Julia 1.0, 93(削除) 93 (削除ここまで) 92 bytes
l->sort(l,by=x->findlast.(collect(x)i for i=x,"CcJOoSsUabDdefGghjLlnPpQqrTtuVvXxyABFHIiKkNRYZzEMmWw"))
works with Julia > 1.3
uses as input and output a list of the words
based on this answer by @Noodle9
Try it online! edit: replace collect(x) with i for i=x (-1 byte)