The idiomatic way of telling that is the option (c)
(c) - How long does your class last? - it clearly asks for the time/period--say 2 hr.
The intransitive verb 'last' is used exactly this way to mean something that continues for a particular period of time. OALD defines it on this page here (#1) with an example of How long does the play last?.
Having this said, the option (a) uses the word take for no reason and it might be considered as redundant if we stick to OALD's use of that phrase.
The option (b) is also out for the same reason. In fact, it even uses an extra word time.
Worth noting is Damkerng's comment that says How long is your class?, which also seems a correct usage.
long (adj-#4) - used for asking or talking about particular periods of time
~ How long is the course? and How long a stay did you have in mind?