The other answers showed a pixelated checkbox, while I wanted something beautiful. The result looks like this:
Even though this version is more complicated I think it's worth giving it a try.
.checkbox-list__item {_x000D_
position: relative;_x000D_
padding: 10px 0;_x000D_
display: block;_x000D_
cursor: pointer;_x000D_
margin: 0 0 0 34px;_x000D_
border-bottom: 1px solid #b4bcc2;_x000D_
}_x000D_
.checkbox-list__item:last-of-type {_x000D_
border-bottom: 0;_x000D_
}_x000D_
_x000D_
.checkbox-list__check {_x000D_
width: 18px;_x000D_
height: 18px;_x000D_
border: 3px solid #b4bcc2;_x000D_
position: absolute;_x000D_
left: -34px;_x000D_
top: 50%;_x000D_
margin-top: -12px;_x000D_
transition: border .3s ease;_x000D_
border-radius: 5px;_x000D_
}_x000D_
.checkbox-list__check:before {_x000D_
position: absolute;_x000D_
display: block;_x000D_
width: 18px;_x000D_
height: 22px;_x000D_
top: -2px;_x000D_
left: 0px;_x000D_
padding-left: 2px;_x000D_
background-color: transparent;_x000D_
transition: background-color .3s ease;_x000D_
content: '\2713';_x000D_
font-family: initial;_x000D_
font-size: 19px;_x000D_
color: white;_x000D_
}_x000D_
_x000D_
input[type="checkbox"]:checked ~ .checkbox-list__check {_x000D_
border-color: #5bc0de;_x000D_
}_x000D_
input[type="checkbox"]:checked ~ .checkbox-list__check:before {_x000D_
background-color: #5bc0de;_x000D_
}
_x000D_
<label class="checkbox-list__item">_x000D_
<input class="checkbox_buttons" type="checkbox" checked="checked" style="display: none;">_x000D_
<div class="checkbox-list__check"></div>_x000D_
</label>
_x000D_
JSFiddle: https://jsfiddle.net/asbd4hpr/