Making a GameObject's rotation follow the mouse's position?

I am trying to rotate a road to follow the mouse’s position. The closest to what I wanted was

Created with this code

Quaternion FromToRote = Quaternion.FromToRotation(Vector3.right, new Vector3(roadEnd.x, roadEnd.y, roadEnd.z) - road.position);

but the X rotation defaults to 90 degrees whenever it goes to Vector3.right. I’m trying to achieve something similar to Simcity or Cities:Skylines. I have been cracking at this for days now and I still have no clue how to approach this.

If you mean for a top down movement sort of thing in 2d, Brackeys has a tutorial on it here: TOP DOWN SHOOTING in Unity - YouTube

basically:

road.transform.LookAt(road.transform.position, mouseposition, 2 )