JSFiddle - React, Tailwind, and code Playground

HTML

<div class="block">Кнопка</div><br>
<div class="block">Кнопка, которая поменяла ширину</div>

CSS

.block{
    position: relative;
    display: inline-block;
    padding: 30px 0;
    margin: 50px;
    color: #222;
    text-shadow: 0 1px 1px #888;
    font-family: Arial;
    font-size: 16px;
    font-weight: bold;
}

.block:before, .block:after{
    content:'';
    position: absolute;
    left: 0;
    background: #777;
    z-index: -1;
    padding: 50%;
}

.block:before, .block:after {
    top: 0;
    border-radius: 10% 10% 0 0;
    clip: rect(0, auto, 40px, 0);
}

.block:after {
    -webkit-transform: scaleY(-1);
    -moz-transform: scaleY(-1);
    -ms-transform: scaleY(-1);
    -o-transform: scaleY(-1);
    transform: scaleY(-1);
    top: auto;
    bottom: 0;
}