It should all fit and work.
Based on your motherboard specs, you should have just enough PCIe slots to fill in these parts even though your M.2 slot (as well as the motherboard's USB 3.1) share lanes with some of the PCIe slots.
As always, you plug your GPU into the first PCIe x16 slot (i.e., PCIEX16_1).
Your M.2 SSD, of course, should be plugged into the M.2 socket just above the GPU. You should enable M.2 in BIOS (as it is, by default, set to disable).
For the Soundcard, your motherboard provides you with 4 remaining options to plug it in: either of the two PCIe x1 slots (i.e., PCIEX1_1 or PCIEX1_2) or either of the two PCIe x16 slots (i.e., PCIEX16_2 or PCIEX16_3). However, since according to your motherboard's specifications, the M.2 socket shares lanes with both PCIEX1_1 and PCIEX1_2 and enabling the M.2 socket *might* disable both PCIe x1 slots, you are left with choosing either of the two PCIe x16 slots below it. Note also that the specs state that the bottom-most PCIe x16 slot (i.e., PCIEX16_3) is set to disabled by default in BIOS as it shares bandwidth with USB3.1. Furthermore, if you plug in any card at the second PCIe x16 slot (i.e., PCIEX16_2), your top PCIe x16 slot (the GPU) will run at x8 speed instead of x16 (but no real-world noticeable performance difference).
So, with a GPU and an M.2 installed, your Soundcard can either plug it at:
1) Second PCIe x16 slot (PCIEX16_2). Effect is GPU at PCIEX16_1 will run at x8 (no performance difference though).
2) Bottom-most PCIe x16 slot (PCIEX16_3). Must be enabled in BIOS. Cannot use with USB3.1 simultaneously.
Hope this helps.