.body{
    margin: 0;
    padding: 0;
}

.circle{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 150px;
    height: 150px;
    background: #ccc;
    border: 5px solid #fff;
    box-shadow: 0 0 0 5px #4973ff;
    border-radius: 50%;
    overflow: hidden;
}

.wave{
    position: relative;
    width: 100%;
    height: 100%;
    background: #4973ff;
    border: 50%;
    box-shadow: inset 0 0 50px rgba(0, 0, 0, 0.5);
}

.value{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    font-size: 45px;
}

.wave:before,.wave:after{
    content: '';
    position: absolute;
    width: 200%;
    height: 200%;
    top:-30%;
    /* ここで%の高さ調節を行う max = -55% min = 50% */
    content: attr(data-item);
    left: 50%;
    transform: translate(-50%,-75%);
    background: #000;
}

.wave:before{
    border-radius: 45%;
    background: rgba(255, 255, 255, 1);
    animation: animate 5s linear infinite;
}

.wave:after{
    border-radius: 40%;
    background: rgba(255,255,255,0.5);
    animation: animate 10s linear infinite;
}

@keyframes animate {
    0% {
    transform: translate(-50%, -75%) rotate(0deg);
    }
    100% {
    transform: translate(-50%, -75%) rotate(360deg);
    }
}

.python-icon {
    width: 120px;
    height: 120px;
    background-color: white;
    background-size: cover;
    border: 5px solid grey;
    border-radius: 50%;
    margin: auto;
    margin-top: 40px;
    position: relative;
}
.python-icon img{
    width: 90px;
    height: 90px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
    margin: auto;
}

.circle {
    margin-top: 60px;
}

.wave-90:before,.wave-90:after {
    top: -40%;
}

.wave-70:before,.wave-70:after {
    top: -30%;
}

.wave-60:before,.wave-60:after {
    top: -20%;
}

.wave-50:before,.wave-50:after {
    top: -1.1%;
}

.wave-40:before,.wave-40:after {
    top: 10%;
}

.wave-30:before,.wave-30:after {
    top: 21.5%;
}

.wave-20:before,.wave-20:after {
    top: 30.44%;
}

.wave-2:before,.wave-2:after {
    top: 30%;
}