You need to compare the year value between the current post and the previous post and based on that display your h3 tag with your year-based content
I’m not going to reproduce your code, only the important parts. Note that I may need to strip some tags in order to add my section of code
if ( $query_case_studies->have_posts() ) {
// Define the variable to hold the year value from the post date
$date_variable="";
while ( $query_case_studies->have_posts() ) {
$query_case_studies->the_post();
// Get the post date, but only the year part
$year = get_the_date( 'Y' );
// Now lets compare $year with $date_variable and display the year accordingly
if ( $date_variable != $year ) // Year values are not the same
echo '<div class="heading"><h3 class="normalh3">' . $year . '@apos; Case Studies</h3></div>';
// Set $date_variable to $year
$date_variable = $year;
// Rest of what you need to do