<div id="sample">
    <div class="halloween">
        <div class="hull">
            <div class="hull-1"></div>
            <div class="hull-2"></div>
            <div class="hull-3"></div>
        </div>
        <div class="pumpkin">
            <div class="pumpkin-item left-2"></div>
            <div class="pumpkin-item left-1"></div>
            <div class="pumpkin-item center"></div>
            <div class="pumpkin-item right-1"></div>
            <div class="pumpkin-item right-2"></div>
        </div>
        <div class="mark eye-r"></div>
        <div class="mark eye-l"></div>
        <div class="mark mouth"></div>
    </div>
</div>
body {
    display: flex;
    justify-content: center;
    align-items: center;
}

#sample{
    --pumpkin-color: #f83;
    --pumpkin-abyss-color: #fb5;
    --hull-color: #363;
    --mark-color: #333;

    width: 300px;
    height: 300px;
    background-color: #999;
    display: flex;
    justify-content: center;
    align-items: center;
}

.halloween {
    display: grid;
    grid-template-rows: 30px 160px;
    position: relative;
}

/* ヘタ */
.hull {
    justify-self: center;
    z-index: 5;
    display: grid;
}

.hull-1 {
    clip-path: polygon(20% 5%, 0 100%, 100% 100%, 80% 0);
    width: 50px;
    height: 30px;
    background-color: var(--hull-color);
    justify-self: center;
    margin-bottom: -10px;
}

.hull-2 {
    border-radius: 50% / 100% 100% 0 0;
    width: 70px;
    height: 10px;
    background-color: var(--hull-color);
}

.hull-3 {
    border-radius: 50% / 0 0 100% 100%;
    width: 70px;
    height: 15px;
    background-color: var(--hull-color);
}

/* カボチャ */
.pumpkin {
    display: flex;
    align-items: center;
}

.pumpkin-item {
    border-radius: 50%;
    background-color: var(--pumpkin-color);
    border: 3px solid var(--pumpkin-abyss-color);
    box-sizing: border-box;
}

.pumpkin-item.center {
    height: 180px;
    width: 120px;
    z-index: 2;
    margin-left: -60px;
    margin-right: -60px;
}

.pumpkin-item.left-1,
.pumpkin-item.right-1 {
    width: 100px;
    height: 170px;
    z-index: 1;
}

.pumpkin-item.left-2,
.pumpkin-item.right-2 {
    width: 70px;
    height: 150px;
    z-index: 0;
}

.pumpkin-item.left-2 {
    margin-right: -50px;
}

.pumpkin-item.right-2 {
    margin-left: -50px;
}

/* 顔の模様 */
.mark {
    position: absolute;
    background-color: var(--mark-color);
    z-index: 10;
}

.eye-r {
    clip-path: polygon(0 0, 0 100%, 100% 100%);
    border-radius: 30% 0 30% 50%;
    width: 50px;
    height: 50px;
    top: 50px;
    left: 50px;
}

.eye-l {
    clip-path: polygon(100% 0, 0 100%, 100% 100%);
    border-radius: 0 30% 50% 30%;
    width: 50px;
    height: 50px;
    top: 50px;
    right: 50px;
}

.mouth {
    border-radius: 50% / 0 0 100% 100%;
    width: 150px;
    height: 50px;
    top: 125px;
    left: 50%;
    transform: translate(-50%);
}

.mouth::before,
.mouth::after {
    content: "";
    position: absolute;
    clip-path: polygon(0 0, 50% 100%, 100% 0);
    width: 20px;
    height: 20px;
    background-color: var(--pumpkin-color);
}

.mouth::before {
    top: 0px;
    left: 30px;
}

.mouth::after {
    top: 0px;
    right: 30px;
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.