Почему не работает появление элемента?
потому что кнопка не родитель дива, правильно будет так:button:focus + div {
  display: block;
}
Потому что див не является вложенным элементом кнопкиbutton:focus ~ div{
  display: block;
}