6
2 solutions: Creating 3 different elements, or 2 if you don’t mind absolute positioning.
Solution 1:
Element 1 has border-radius on all left banks, and border-right-width: 0;
Element 2 has border: 4px 4px 0 0;
Element 3 is the key: create a div that contains it with the gray background; make Element 3 have background-color: white; and adjust the values of border-radius of the upper margins.
Solution 2: Elements 1 and 2 are one, and 3 is positioned (track position:absolute; bottom:0;right:0;) within.
.container
{
  width:400px;
  height:80px;
  position:relative;
  overflow:hidden;
  }
.principal
{
  border:4px solid black;
  background-color:gray;
  position:absolute;
  left:0;
  right:0;
  top:0;
  bottom:0;
  border-radius:80px 0 0 80px;
  
}
.detalhe
{
  border:4px solid black;
  width:600px;
  height:600px;
  position:absolute;
  bottom:-590px;
  right:-220px;
  border-radius: 100%;
  background-color: white;
}
<div class='container'>
  <div class='principal'>
  </div>
  <div class='detalhe'>
  </div>  
</div>


This way you want I still do not know... I only know the rounding of edges with border-Radius
– Pedro Laini