JSFiddle - React, Tailwind, and code Playground
HTML
<!DOCTYPE html>
<html lang="ja" xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://ogp.me/ns/fb#" xmlns:og="http://ogp.me/ns#">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<link href="/assets/css/style.css" rel="stylesheet">
</head>
<body>
<div class="logo">
<div class="logo__C">
<span class="logo__C__top"></span>
<span class="logo__C__bottom"></span>
</div>
<div class="logo__O">
<div class="logo__O__eyelid anime--blink"></div>
</div>
<div class="logo__O">
<div class="logo__O__eyelid anime--blink"></div>
</div>
<div class="logo__S">
<span class="logo__S__top"></span>
<span class="logo__S__middle"></span>
<span class="logo__S__bottom"></span>
</div>
<div class="logo__Y"></div>
<div class="logo__nose anime--nose"></div>
<div class="logo__mouth anime--mouse">
<div class="logo__mouth__upper"></div>
<span class="logo__mouth__tooth"></span>
<span class="logo__mouth__tooth"></span>
<span class="logo__mouth__tooth"></span>
<span class="logo__mouth__tooth"></span>
<span class="logo__mouth__tooth"></span>
<span class="logo__mouth__tooth"></span>
<span class="logo__mouth__tooth"></span>
<div class="logo__mouth__lower"></div>
</div>
</div>
</body>
</html>
CSS
body {
margin: 10px;
}
.logo {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: end;
-ms-flex-align: end;
align-items: flex-end;
position: relative;
}
.logo__C {
height: 39px;
width: 24px;
border-left: 13px solid #393a34;
border-radius: 100%;
position: relative;
}
.logo__C:before, .logo__C:after {
content: "";
display: inline-block;
position: absolute;
border-radius: 10px 0 0 10px;
background-color: #393a34;
}
.logo__C:before {
width: 3px;
height: 9px;
top: 2px;
left: 22px;
-webkit-transform: rotate(200deg);
transform: rotate(200deg);
}
.logo__C:after {
width: 3px;
height: 10px;
top: 28px;
left: 21px;
-webkit-transform: rotate(162deg);
transform: rotate(162deg);
}
.logo__C__top, .logo__C__bottom {
border: solid 10px;
border-color: transparent transparent #393a34 transparent;
position: absolute;
}
.logo__C__top {
width: 42px;
height: 64px;
top: -3px;
left: -12px;
border-radius: 0 0 50% 50%;
-webkit-transform: rotate(-204deg);
transform: rotate(-204deg);
}
.logo__C__bottom {
width: 42px;
height: 74px;
bottom: -5px;
left: -8px;
border-radius: 0 0 50% 50%;
-webkit-transform: rotate(29deg);
transform: rotate(29deg);
}
.logo__O {
background-color: #393a34;
border-radius: 50%;
height: 40px;
width: 43px;
position: relative;
left: 10px;
}
.logo__O:nth-of-type(2) {
left: 6px;
}
.logo__O::before {
content: "";
display: inline-block;
position: absolute;
background-color: #fff;
border-radius: 50%;
width: 20px;
height: 22px;
top: 50%;
left: 50%;
-webkit-transform: translateY(-50%) translateX(-50%);
transform: translateY(-50%) translateX(-50%);
}
.logo__O::after {
content: "";
display: inline-block;
position: absolute;
background-color: #393a34;
border-radius: 50%;
width: 14px;
height: 13px;
top: 50%;
left: 50%;
-webkit-transform: translateY(-50%)...