# Why do different materials have different specific heat capacities?

This is probably a stupid question, but why do different materials have different specific heat capacities?

To better understand my question let's say that I have $$1$$ kg of copper and $$1$$ kg of water. The amount of heat required to raise the temperature of the water by $$1$$ degree is about $$10.8$$ times that of copper (see footnote). Where is this extra energy that's required to increase the water's temperature by one degree compared to the copper "stored"?

Moreover, suppose if I have $$1$$ kg of ice and $$1$$ kg of liquid water where both substances are made up of the same molecules. Even though it is the same "substance" they still have different specific heat capacities. Is it simply because the numbers of atoms per kg in the substances are different?

Footnote: $$C_{\text{Cu}}=385$$ J/(kg K), $$C_{\text{H_2O}}=4.19\cdot 10^{3}$$ J/(kg K).

For ordinary solids at or above room temperature, the molar heat capacity is approximately the same (Dulong and Petit's law), three times the gas constant, about 25 J/K. It is because the sum of potential and kinetic energy per atom is $$3k_BT$$ in the harmonic approximation.