<!DOCTYPE html>
<html class="no-js" lang="">

<head>
  <meta charset="utf-8" />
  <title></title>
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <link rel="stylesheet" href="main.css" />
</head>

<body>
  <div class="container">
    <div class="mini-mini-totoro">
      <div class="ear ear-l"></div>
      <div class="ear ear-r"></div>
      <div class="eye eye-l"></div>
      <div class="eye eye-r"></div>
    </div>

    <div class="mini-totoro">
      <div class="head">
        <div class="ear ear-l"></div>
        <div class="ear ear-r"></div>
        <div class="eye eye-l"></div>
        <div class="eye eye-r"></div>
        <div class="nose"></div>
      </div>
      <div class="arm arm-l"></div>
      <div class="arm arm-r"></div>
      <div class="belly">
        <div class="arrow arrow-1"></div>
        <div class="arrow arrow-2"></div>
        <div class="arrow arrow-3"></div>
      </div>
      <div class="foot foot-l"></div>
      <div class="foot foot-r"></div>
    </div>

    <div class="totoro">
      <div class="head">
        <div class="ear ear-l"></div>
        <div class="ear ear-r"></div>
        <div class="whisker whisker-l"></div>
        <div class="whisker whisker-r"></div>
        <div class="eye eye-l"></div>
        <div class="eye eye-r"></div>
        <div class="nose"></div>
        <div class="mouth">
          <div class="under"></div>
        </div>
      </div>
      <div class="arm arm-l"></div>
      <div class="finger finger-l"></div>
      <div class="finger finger-r"></div>

      <div class="arm arm-r"></div>
      <div class="belly">
        <div class="arrow arrow-1"></div>
        <div class="arrow arrow-2"></div>
        <div class="arrow arrow-3"></div>
        <div class="arrow arrow-4"></div>
        <div class="arrow arrow-5"></div>
        <div class="arrow arrow-6"></div>
        <div class="arrow arrow-7"></div>
      </div>
      <div class="foot foot-l"></div>
    </div>
  </div>
</body>

</html>
html,
body {
  margin: 0px;
  padding: 0px;
}
body {
  background: url(https://www.wallpaperflare.com/static/619/548/909/fantasy-art-anime-studio-ghibli-my-neighbor-totoro-wallpaper.jpg);
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100vh;
  width: 100vw;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.container {
  width: 825px;
  height: 410px;
  position: relative;
}
.totoro {
  display: block;
  width: 299px;
  height: 275px;
  background-color: #a78d82;
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  position: absolute;
  bottom: 9px;
  left: 436px;
  .head {
    display: block;
    width: 217px;
    height: 156px;
    background-color: #a78d82;
    border-radius: 50% 50% 0% 0% / 100% 100% 20% 20%;
    position: absolute;
    top: -65px;
    left: 0;
    right: 0;
    margin: 0 auto;
    .nose {
      width: 25px;
      height: 9px;
      display: block;
      background: #000;
      position: absolute;
      left: 96px;
      top: 45px;
      border-radius: 50%;
    }
    .ear {
      width: 0;
      height: 0;
      border: 16px solid transparent;
      border-bottom: 50px solid #a78d82;
      position: relative;
      left: 39px;
      top: -77px;
      -webkit-transform: rotate(350deg);
      transform: rotate(355deg);
      z-index: 5;
      &:before {
        content: "";
        width: 14px;
        height: 20px;
        background: #a78d82;
        display: block;
        position: absolute;
        top: 52px;
        left: -6px;
      }
      &:after {
        content: "";
        position: absolute;
        left: -16px;
        top: 50px;
        width: 0;
        height: 0;
        border: 16px solid transparent;
        border-top: 20px solid #a78d82;
      }
      &-l {
      }
      &-r {
        left: 150px;
        top: -143px;
        transform: rotate(370deg);
      }
    }
    .mouth {
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 20px 80px 0 80px;
      border-color: #fff transparent transparent transparent;
      position: absolute;
      top: 74px;
      left: 29px;
      z-index: 3;
      &:before {
        content: "";
        width: 164px;
        height: 10px;
        background: #fff;
        border-radius: 100% 100% 100% 100% / 100% 100% 100% 100%;
        -webkit-transform-origin: 0 100%;
        z-index: 4;
        position: absolute;
        left: -83px;
        top: -25px;
      }
      .under {
        &:before {
          content: "";
          width: 84px;
          height: 10px;
          background: #fff;
          border-radius: 100% 100% 100% 100% / 100% 100% 100% 100%;
          transform: rotate(14deg);
          -webkit-transform-origin: 0 100%;
          z-index: 5;
          position: absolute;
          left: -83px;
          top: -25px;
        }
        &:after {
          content: "";
          width: 88px;
          height: 10px;
          background: #fff;
          border-radius: 100% 100% 100% 100% / 100% 100% 100% 100%;
          -webkit-transform: rotate(14deg);
          transform: rotate(-13deg);
          -webkit-transform-origin: 0 100%;
          z-index: 5;
          position: absolute;
          left: -4px;
          top: -5px;
        }
      }
    }
    .whisker {
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 3px 68px 3px 0;
      border-color: transparent black transparent transparent;
      position: absolute;
      left: -39px;
      top: 36px;
      transform: rotate(14deg);
      &-r {
        transform: rotate(180deg);
        right: -44px;
        left: unset;
        top: 65px;
      }
      &:before {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 3px 68px 3px 0;
        border-color: transparent black transparent transparent;
        position: absolute;
        left: 0px;
        top: 15px;
        -webkit-transform: rotate(14deg);
        transform: rotate(-13deg);
      }
      &:after {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 3px 68px 3px 0;
        border-color: transparent black transparent transparent;
        position: absolute;
        left: 4px;
        top: 30px;
        -webkit-transform: rotate(14deg);
        transform: rotate(-22deg);
      }
    }
    .eye {
      width: 25px;
      height: 25px;
      display: block;
      background: #fff;
      border-radius: 50%;
      position: absolute;
      z-index: 9;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      border: 2px solid #000;
      &:before {
        content: "";
        display: block;
        width: 12px;
        height: 12px;
        background: #000;
        border-radius: 50%;
      }
      &:after {
        content: "";
        display: block;
        width: 5px;
        height: 5px;
        background-color: #fff;
        position: absolute;
        border-radius: 50%;
      }
      &-l {
        top: 33px;
        left: 42px;
        &:after {
          right: 5px;
        }
      }
      &-r {
        top: 33px;
        right: 42px;
        &:after {
          left: 5px;
        }
      }
    }
  }
  .arm {
    &-l {
      width: 112px;
      height: 190px;
      background: #a78d82;
      border-radius: 200% 0% 100% 83% / 94% 46% 49% 74%;
      position: absolute;
      top: -4px;
      -webkit-transform: rotate(38deg);
      transform: rotate(33deg);
      left: -9px;
    }
    &-r {
      width: 80px;
      height: 300px;
      background: #a78d82;
      border-radius: 200% 200% 200% 200%;
      transform: rotate(75deg);
      top: -85px;
      left: 175px;
      position: absolute;
      &:before {
        content: "";
        display: block;
        width: 50px;
        height: 30px;
        background-color: #a78d82;
        transform: rotate(103deg);
        position: absolute;
        left: -9px;
        top: 79px;
      }
    }
  }
  .finger {
    width: 0;
    height: 0;
    border-left: 16px solid transparent;
    border-right: 20px solid transparent;
    border-top: 40px solid #d3b3a6;
    position: absolute;
    z-index: -1;

    &-l {
      left: -25px;
      transform: rotate(23deg);
      bottom: 95px;
    }
    &-r {
      right: -67px;
      transform: rotate(-107deg);
      top: 8px;
    }
    &:before {
      content: "";
      width: 0;
      height: 0;
      border-left: 16px solid transparent;
      border-right: 20px solid transparent;
      border-top: 40px solid #d3b3a6;
      position: absolute;
      bottom: 3px;
      -webkit-transform: rotate(-10deg);
      transform: rotate(6deg);
      left: -25px;
    }
    &:after {
      content: "";
      width: 0;
      height: 0;
      border-left: 16px solid transparent;
      border-right: 20px solid transparent;
      border-top: 40px solid #d3b3a6;
      position: absolute;
      bottom: 3px;
      -webkit-transform: rotate(-10deg);
      transform: rotate(-10deg);
      left: -6px;
    }
  }
  .belly {
    width: 268px;
    height: 220px;
    border-radius: 50%;
    background: #fff;
    position: absolute;
    bottom: 6px;
    left: 15px;
    position: absolute;
    z-index: 2;

    .arrow {
      position: absolute;

      &-1 {
        top: 29px;
        left: 66px;
      }
      &-2 {
        left: 126px;
        top: 29px;
      }
      &-3 {
        left: 185px;
        top: 29px;
      }
      &-4 {
        left: 36px;
        top: 68px;
      }
      &-5 {
        left: 94px;
        top: 68px;
      }
      &-6 {
        left: 153px;
        top: 68px;
      }
      &-7 {
        left: 215px;
        top: 68px;
      }

      &:before,
      &:after {
        position: absolute;
        content: "";
        width: 10px;
        height: 30px;
        background: #6187c5;
        border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;
        transform: rotate(-60deg);
        -webkit-transform-origin: 0 100%;
        transform-origin: 0 0%;
      }

      &:after {
        transform: rotate(60deg);
        -webkit-transform-origin: 100% 100%;
        transform-origin: 93% 0%;
      }
    }
  }
  .foot {
    display: block;
    width: 299px;
    height: 155px;
    background-color: #a78d82;
    border-radius: 20% 20% 45% 45% / 30% 30% 100% 100%;
    position: absolute;
    bottom: -9px;
    left: 0px;
    overflow: hidden;
    &:before {
      content: "";
      width: 35px;
      height: 120px;
      border-radius: 50% 50% 0% 0% / 100% 100% 0% 0%;
      background: teal;
      position: absolute;
      bottom: -110px;
      left: 127.5px;
    }
  }
}
.mini-totoro {
  display: block;
  width: 168px;
  height: 183px;
  background-color: #6187c5;
  border-radius: 40% 40% 30% 30% / 60% 60% 40% 40%;
  position: absolute;
  bottom: 6px;
  left: 200px;
  .head {
    display: block;
    width: 131px;
    height: 92px;
    background-color: #6187c5;
    border-radius: 40% 40% 0% 0% / 100% 100% 20% 20%;
    position: absolute;
    top: -22px;
    left: 0;
    right: 0;
    margin: 0 auto;
    .ear {
      width: 44px;
      height: 120px;
      border-radius: 50% 50% 0% 0% / 100% 100% 0% 0%;
      background: #6187c5;
      position: absolute;

      &-l {
        top: -25px;
        left: 19px;
        transform: rotate(-15deg);
      }
      &-r {
        top: -25px;
        right: 18px;
        transform: rotate(15deg);
      }
    }
    .eye {
      width: 23px;
      height: 18px;
      display: block;
      background: #fff;
      border-radius: 50%;
      position: absolute;
      z-index: 9;
      display: flex;
      justify-content: center;
      align-items: center;
      border: 2px solid #000;

      &:before {
        content: "";
        display: block;
        width: 12px;
        height: 9px;
        background: #000;
        border-radius: 50%;
      }

      &-l {
        transform: rotate(-50deg);
        top: 37px;
        left: 24px;
      }
      &-r {
        transform: rotate(50deg);
        top: 37px;
        right: 24px;
      }
    }
    .nose {
      width: 5px;
      height: 3px;
      display: block;
      background: #000;
      position: absolute;
      left: 63px;
      top: 51px;
      border-radius: 50%;
    }
  }
  .arm {
    width: 40px;
    height: 100px;
    background: #6187c5;
    border-radius: 65% 33% 45% 72% / 84% 36% 30% 39%;
    position: absolute;
    top: 7px;
    &-l {
      transform: rotate(38deg);
      left: 1px;
    }
    &-r {
      transform: scaleX(-1) rotate(38deg);
      right: 1px;
    }
  }
  .belly {
    width: 130px;
    height: 112px;
    background: #fff;
    border-radius: 50%;
    bottom: 14px;
    position: absolute;
    left: 19px;
    z-index: 1;
    .arrow {
      position: absolute;

      &-1 {
        left: 36px;
        top: 25px;
      }
      &-2 {
        left: 74px;
        top: 13px;
      }
      &-3 {
        right: 18px;
        top: 25px;
      }

      &:before,
      &:after {
        position: absolute;
        content: "";
        width: 15px;
        height: 30px;
        background: #6187c5;
        border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-35deg);
        -webkit-transform-origin: 0 100%;
        transform-origin: 0 100%;
      }

      &:after {
        -webkit-transform: rotate(45deg);
        transform: rotate(35deg);
        -webkit-transform-origin: 100% 100%;
        transform-origin: -6% -65%;
      }
    }
  }
  .foot {
    width: 0;
    height: 0;
    border-left: 16px solid transparent;
    border-right: 20px solid transparent;
    border-top: 40px solid #6187c5;
    position: absolute;
    bottom: -9px;
    transform: rotate(35deg);
    &-l {
      left: 15px;
    }
    &-r {
      right: 15px;
      transform: scaleX(-1) rotate(35deg);
      left: unset;
    }
    &:before {
      content: "";
      width: 0;
      height: 0;
      border-left: 16px solid transparent;
      border-right: 20px solid transparent;
      border-top: 20px solid #6187c5;
      position: absolute;
      bottom: 8px;
      -webkit-transform: rotate(35deg);
      transform: rotate(-9deg);
      left: -6px;
    }
    &:after {
      content: "";
      width: 0;
      height: 0;
      border-left: 16px solid transparent;
      border-right: 20px solid transparent;
      border-top: 20px solid #6187c5;
      position: absolute;
      bottom: 16px;
      -webkit-transform: rotate(35deg);
      transform: rotate(-9deg);
      left: 7px;
    }
  }
}
.mini-mini-totoro {
  display: block;
  width: 126px;
  height: 141px;
  background-color: #fff;
  border-radius: 40% 40% 40% 40% / 60% 60% 40% 40%;
  position: absolute;
  bottom: 0px;
  left: 20px;
  .ear {
    width: 50px;
    height: 120px;
    border-radius: 50% 50% 0% 0% / 100% 100% 0% 0%;
    background: #fff;
    position: absolute;
    // z-index: 1;

    &-l {
      top: -25px;
      left: 9px;
    }
    &-r {
      top: -25px;
      right: 9px;
    }
  }

  .eye {
    width: 18px;
    height: 18px;
    background: #fff;
    border-radius: 50%;
    z-index: 2;
    position: absolute;
    border: 2px solid #000;

    &:before {
      content: "";
      display: block;
      width: 10px;
      height: 10px;
      background: #000;
      border-radius: 50%;
      margin-left: 4px;
      margin-top: 4px;
    }

    &-l {
      left: 33px;
      top: 28px;
    }
    &-r {
      right: 33px;
      top: 28px;
    }
  }
}
View Compiled

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.