To go to 105 you would have to do the following:
- Front + Rear Derailleur
- Cassette, Chain Rings
- Chain
- STI Lever (at least the right one) - This alone is like $150 per lever if I recall correctly.
- Possibly new rear wheel
Overall most people will not make a jump from Claris to 105 because the costs usually end up being almost the same price as 50% or more of the value of the bike.
Now 105 to Ultegra/Dura-Ace is more common and cost effective (e.g. As I wear out components in the drivetrain I am replacing them to Ultegra).
What you can do or at least what I would do is this:
Check your current number of teeth on your largest gear on your cassette and count the teeth on your chain ring. If you are struggling on climbs I would try the follow in this order:
- If your cassette is not 11-34 Claris I would spend the $20 or so and try that: Link
- If you are still struggling on climbs replace your chain ringings to 46-34T. This will not necessarily make the climb easier because you still have a 34 T chain ring and max 34 T cog in the back, but it will make flatter portions feel easier, which can make the climb feel more doable: Claris Chain Ring
- Save the money you would have otherwise spent on a 105 upgrade and use it towards a full carbon bike with 105 or Ultegra (e.g. Trek Domane SL5 and I think Specialized Roubaix not sure of which trim though).
Here is the important thing to realize though it will not get easier even with 105 or another bike (assuming both bikes are of equal weight/aero/etc.) if your cassette already is 11-34. The reason being is that 34T is the max size rear gear you can get whether it is 105 or claris and the smallest inner chain ring on both sets is 34T.
Also, are you sure the gradient is 20%. That is pretty steep for a bike - Link. Many cyclist will have to walk that:
Here is what 7% or so looks like as a reference near the end:
In that clip, I am in a 34 T chain ring and the 4th cog of a 105 11-34 cassette. So to your other point with training climbing 7-10% is possible even for an amateur.
Hope that helps.