Есть ли возможность без JS, чтобы при нажатии на блок он убирался?
Я вот думаю, а зачем вы иногда придумываете такие сложности?
Код jQuery, 2 строки, сама библиотека почти везде подключена.
На чистом JS будет чуть больше строк, но не суть.
Так зачем измудряться, делать на чистом CSS?
По сабжу, можно. Обернуть блок в label и эмулировать клик.
Как большой чекбокс получается у вас.
https://jsfiddle.net/webirus/a2w1aecb/
Используй label + checkbox , при помощи css у тебя будет свойство <label for="elm">Click</label>
<input id="elm" type="checkbox">
<div> content </div>#elm:cheked + div {
 display:none
}
Примерно как то так