Вместо радиального фона на :: before используйте радиус границы с небольшим изменением положения:
Для элемента 2 - ранее существовавший css минус радиальный фон:
section.services .item-2 .text::before{
content:'';
position:absolute;
width:100%;
height:2em;
left:0;right:0;top:-2em;margin:0 auto;
/* background:radial-gradient(ellipse 60% 2em at 50% 0, transparent 100%,#fff 0); */
z-index:-1}
присвойте элементу 2 белый фон, чтобы фон черного цвета :: был расположен напротив него, и уменьшите высоту, чтобы выровнять его по элементам 1 и 3:
section.services .item-2{
background: white;
box-sizing:border-box;
height:163px;
}
поднять текст до уровня, соответствующего тексту в пунктах 1 и 3:
section.services .item-2 .text{
padding-top:1px;
}
радиус нижней границы, шире, чем 100%, и шунтирование влево для создания правильной кривизны:
section.services .item-2 .text::before{
content:'';
position:absolute;
top:-4em;
transform:translateX(-5%);
width:110%;
height:2em;left:0;right:0;margin:0 auto;
display:block;
background:#000;
border-radius: 0 0 100% 100%;
}
Обновлен jsfiddle: http://jsfiddle.net/n0p25hq8/7/