I’ve taken a stab at your requirements as I understand them, but moved out of tables (which are primarily for tabular data, which this doesn’t appear to be).
The requirements: item 6 in your diagram may or may not be present. Item 7 should move up in the absence of item 6. Item 6’s top (or item 7’s top if 6 is absent) should align with top of items 4 and 5.
Here it is with the subTitle in place:
I added a background color overall for contrast in my browser window.
If you remove the .subTitle div, item 6 in your diagram (currently containing ‘Norddeutsches Tiefland’) you’ll see that the longer section below it (item 7 in your diagram) moves up to the top and is even with the tops of the two boxes to the left (items 4 and 5).
Here it is with the .subTitle removed:
* {
box-sizing: border-box;
}
.table-vals {
padding: 1rem;
width: 900px;
background: #FEE;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
margin: 2rem 0 2rem 2rem;
font-size: 14px;
}
.first-row, .second-row {
width: 100%;
display: flex;
flex-direction: row;
align-items: flex-start;
justify-content: center;
margin-bottom: 0.2rem;
}
.second-row {
height: 200px;
}
.table-vals .ath {
text-align: left;
font-size: 13px;
font-weight: normal;
}
.first-column {
display: flex;
align-items: center;
justify-content: flex-start;
width: 200px;
margin: 0 1rem 0 0;
}
.second-column {
width: 180px;
/*border: 1px solid black;*/
display: flex;
align-items: center;
justify-content: flex-start;
margin: 0 1rem 0 0;
}
.table-vals .atd {
font-size: 20px;
font-weight: bold;
height: 50px;
}
.second-row .first-column {
border: 2px solid #192E7B;
justify-content: center;
}
.second-row .second-column {
background: rgb(123, 161, 196);
color: white;
justify-content: center;
}
.third-column {
width: 400px;
font-size: 14px;
font-weight: normal;
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: flex-start;
}
.source-link {
word-break: break-word;
font-size: 10px;
line-height: 1;
color: grey;
position: absolute;
width: 400px;
}
.detailName {
display: block;
font-weight: bold;
line-height: 1;
}
.sources {
width: 400px;
line-height: 1;
}
.second-row .third-column .subTitle {
font-size: 12px;
font-weight: normal;
line-height: 1;
margin-bottom: 1rem;
}
<div class="table-vals">
<div class="first-row">
<div class="ath first-column">ipsum dolor</div>
<div class="ath second-column">ipsum dolor</div>
<div class="ath third-column">ipsum</div>
</div>
<div class="second-row">
<div class="atd first-column">ipsum dolor</div>
<div class="atd second-column" style="">ipsum dolor</div>
<div class="atd third-column"><div class="subTitle">Norddeutsches Tiefland</div>
<div class="sources">
<div class="detailName">Ipsum dolor</div>
<div class="source-link">Ipsum dolor Ipsum dolor Ipsum dolor Ipsum dolor Ipsum dolor Ipsum dolor Ipsum dolor Ipsum dolor</div>
</div>
</div>
</div>
</div>