I'm arriving into Madrid and want to go up to Bilbao. How long will it take for me to get from Madrid to Bilbao or San Sebastian? Is the bus the best way? How expensive is it?

Also, after that I want to head to Seville. Is it possible to do it direct from San Sebastian? Has anyone done an overnight train? How long does it take?

Thanks!

Adam