Using pattern-matching in Racket:
(define tree
'(("Class: Osteichthyes")
("Class: Chondrichthyes"
(("Order: Squaliformes")
("Order: Rajiformes")))
("Class: Mammalia"
(("Order: Rodentia"
(("Family: Sciuridae")
("Family: Muridae")
("Family: Cricetidae")))
("Order: Carnivora"
(("Family: Felidae")
("Family: Canidae")
("Family: Ursidae")))))))
(define (climate tree)
(map (match-lambda
[(list (? string? x)) (list x)]
[(list (? string? x) more ...)
(list* x ':items (climate more))]
[x (climate x)])
tree))
(climate tree)
'(("Class: Osteichthyes")