Trying to Gradually Increase Motor Speed
If you use a microcontroller, this is a piece of cake. You would just implement a variable PWM drive.
To do it with 'a circuit', you'll probably need a transistor with a capacitor on its gate and a couple of resistors. Piece of cake to put together but the downside is during those 5-7 seconds, the transistor will be sinking a lot of power i.e. it'll get hot. You'll need a big transistor and a heatsink. PWM from a microcontroller would physically be a much smaller implementation and nothing would get hot.
Note that you don't care about the nominal operating current of the motor (3 A). You'll care about the STALL CURRENT. When the motor isn't running at all, and you start to apply voltage, until the motor begins to spin it's basically a short-circuit. It'll probably try to draw several times the nominal i.e. 8-10 A maybe.
The datasheet for the motor will give you the stall current.
Here's a circuit that does a PWM soft-start with no microcontroller.