.container {
display: flex;
}
/\* the 'px' values here are just suggested percentages \*/
.container > .checkbox { flex: 1 0 20px; }
.container > .subject { flex: 1 0 400px; }
.container > .date { flex: 1 0 120px; }
This creates columns that have different widths, but size accordingly according
to the circumstances.