JSFiddle - React, Tailwind, and code Playground

HTML

<div class="box box_1">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Soluta id cumque tempore cupiditate quod nihil aspernatur animi dolorem ipsa voluptate non deserunt officiis eum ut deleniti ratione sunt minus qui.</div>

<div class="box box_2">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Soluta id cumque tempore cupiditate quod nihil aspernatur animi dolorem ipsa voluptate non deserunt officiis eum ut deleniti ratione sunt minus qui.</div>

<div class="box box_3">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Soluta id cumque tempore cupiditate quod nihil aspernatur animi dolorem ipsa voluptate non deserunt officiis eum ut deleniti ratione sunt minus qui.</div>

CSS

.box {
    width: 800px;
    background-color: #F1F1F1;
    padding: 40px 30px 55px;
    position: relative;
    box-sizing: border-box; /* Для удобства включаем отступы в размер блока*/
    overflow: hidden; /* Обрезаем псевдоэлемент*/
    margin-bottom: 20px;
}
.box:before {
    content: '';
    position: absolute;
    width: 100%; /*Делаем автоматическую ширину*/
    height: 0;
    left: 0;
    box-sizing: border-box; /*Нужно для резиновости, иначе будет вылазить за пределы контейнера*/
}
.box {
    
}
.box_1:before {
    bottom: 0;
    border-top: 20px solid #F1F1F0;
    border-right: 200px solid #999;
    border-bottom: 0px solid transparent;
    border-left: 200px solid #999;
}
.box_2:before {
    bottom: -15px; /*Отрицательный отступ, чтобы лишняя часть обрезалась*/
    border-top: 50px solid #F1F1F0;
    border-right: 200px solid #999;
    border-bottom: 0px solid transparent;
    border-left: 200px solid #999;
}
.box_3:before {
    bottom: -5px; /*Отрицательный отступ, чтобы лишняя часть обрезалась*/
    border-top: 20px solid #F1F1F0;
    border-right: 200px solid #999;
    border-bottom: 0px solid transparent;
    border-left: 200px solid #999;
}