Элемент с border-radius, обрезанный сверху overflow:hidden, закрытый слева следующим.
Примерно так:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
body{
background: #99f;
}
.cicle{
border-radius:50%;
background: #ddf linear-gradient(#aaf 80px, #ccf 80px, #ccf 160px, #bbf 160px);
background-size: 100% 240px;
background-position: 0 50%;
background-repeat: repeat-x;
border: 2px solid #99f;
position: absolute;
}
.block{
overflow: hidden;
position: absolute;
bottom:0;
left:-255px;
}
.cicle-6{
width: 1800px;
height: 1800px;
z-index: 10;
left:-904px; /* -(width/2 + border*2)*/
bottom:-800px;
}
.cicle-6-block{
width: 900px;
height: 300px;
}
.cicle-5{
width: 1600px;
height: 1600px;
z-index: 11;
left:-804px;
bottom:-700px;
}
.cicle-5-block{
width: 800px;
height: 350px;
}
.cicle-4{
width: 1400px;
height: 1400px;
z-index: 12;
left:-704px;
bottom:-600px;
}
.cicle-4-block{
width: 700px;
height: 350px;
}
.cicle-3{
width: 1200px;
height: 1200px;
z-index: 13;
left:-604px;
bottom:-500px;
}
.cicle-3-block{
width: 600px;
height: 400px;
}
.cicle-2{
width: 1000px;
height: 1000px;
z-index: 14;
left:-504px;
bottom:-400px;
}
.cicle-2-block{
width: 500px;
height: 410px;
}
.cicle-central{
width: 800px;
height: 800px;
z-index: 15;
left:-420px;
bottom:-308px;
border: 10px solid #99f;
}
.cicle-central-block{
width: 900px;
height:500px;
}
.cicle:after{
content: attr(class);
display: block;
right:0;
top:50%;
height:1.5em;
line-height: 1.5em;
margin-top:-0.75em;
position: absolute;
}
</style>
</head>
<body>
<div class="cicle-6-block block">
<div class="cicle-6 cicle">6</div>
</div>
<div class="cicle-5-block block">
<div class="cicle-5 cicle">5</div>
</div>
<div class="cicle-4-block block">
<div class="cicle-4 cicle">4</div>
</div>
<div class="cicle-3-block block">
<div class="cicle-3 cicle">3</div>
</div>
<div class="cicle-2-block block">
<div class="cicle-2 cicle">2</div>
</div>
<div class="cicle-central-block block">
<div class="cicle-central cicle"></div>
</div>
</body>
</html>
А вообще - svg.