JSFiddle - React, Tailwind, and code Playground
HTML
<div class="box">
<div id="ne" class="corner"></div>
<div id="nw" class="corner"></div>
<div id="se" class="corner"></div>
<div id="sw" class="corner"></div>
<div class="box2"></div>
</div>
CSS
body {
background: #D8D8D8;
}
.corner {
background:white;
height:20px;
width:20px;
position:absolute;
}
#sw {
left: -2px;
bottom: -2px;
border-radius: 0px 20px 0px 0px;
border-top: 2px solid white;
border-right: 2px solid white;
background:#D8D8D8;
}
#se {
right: -2px;
bottom: -2px;
border-radius: 20px 0px 0px 0px;
border-top: 2px solid white;
border-left: 2px solid white;
background:#D8D8D8;
}
#nw {
left: -2px;
top: -2px;
border-radius: 0px 0px 20px 0px;
border-bottom: 2px solid white;
border-right: 2px solid white;
background:#D8D8D8;
}
#ne {
right: -2px;
top: -2px;
border-radius: 0px 0px 0px 20px;
border-bottom: 2px solid white;
border-left: 2px solid white;
background:#D8D8D8;
}
.box {
position:relative;
height:200px;
width:200px;
border: solid 2px white;
background:#D8D8D8;
border-radius: 5px -5px 5px 5px;
}
.box2 {
position:relative;
height:160px;
width:160px;
overflow:hidden;
left: 20px;
top: 20px;
}
.box2:before{
content:'';
position:absolute;
left:0;
margin:-20px;
height:40px;
width:40px;
border-radius:100%;
background:#D8D8D8;
box-shadow:160px 0 0 #D8D8D8,
0 160px 0 #D8D8D8,
160px 160px 0 #D8D8D8,
0 0 0 500px white;
}