When multiple words become one word mashed together, they often ignore any standard grammar connection rules.
Black cat in Japanese is くろねこ, not くろいねこ. Of course you could say くろいねこ, and it wouldn’t be “wrong,” but it’s become one word without the grammar to glue it together.
Similarly, we say 日本料理, and not 日本の料理, even though the standard way of connecting nouns is with の.
Once you say something enough times together, it stops being thought of as two separate words that need connecting. Not that it necessarily happens literally like that… but it’s not that different in English. It’s just that with something like “black belt” or “black cat” we don’t have any grammatical difference for “black” the adjective and “black” the noun.