L'evento click del mouse non viene gestito dal CSS.
Nel CSS puoi gestire :hover (mouse sopra un oggetto) e :active (mouse tenuto premuto sull'oggetto).
Quindi per gestire il click, devi usare JS (l'evento si chiama onclick). E a quel punto non serve neppure il contenitore c, dato che il JS e` in grado di operare su qualsiasi oggetto della pagina.
In alternativa, per non mettere mano a tutto il sistema, puoi definire (sempre usando un minimo di JS):
<div id="a" ... onclick="document.getElementById('b').className='c lasse2';">
che cambia il nome della classe al contenitore b e gliassegna quaindi formattazione diversa (in cui puoi definire le transizioni)
NOTA: se nel browser dell'utente JS e` disabilitato, la cosa non funziona, per cui la classe iniziale con display:none (oppure visibility:invisible) dovrebbe essere assegnata tramite JS.