I've worked this out now. Here is the solution, which is rather straightforward. I should have seen it sooner:
~/.ssh/config:
Host B
HostName 1.2.3.4
User myuser
IdentityFile ~/.ssh/rsa_key
ControlMaster auto
ControlPath ~/.ssh/socket/master-%l-%r@%h:%p
Host C.*
User customer_username
Port customer_port
IdentityFile remote/path/to/ssh/key
ForwardAgent yes
ProxyCommand ssh accessable.server nc %h %p
Host C.server-1
HostName 2.3.4.5
'B' is the Proxy server that you are jumping through. It should be configured as you normally would configure access to a server.
'C' is the destination host. It needs to be configured to use 'B' in the connection process. The identity file in 'C' is the path to the ssh-key on 'B'. The ProxyCommand uses Netcat to open the connection to 'C' from 'B'. Netcat, or nc, will need to be installed on 'B'.
Hope this helps others.