.demoSideArea {
  width: 100%;
  max-width: 500px;
  height: 100vh;
  background-color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
  opacity: 0;
  padding: 80px 40px 40px;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 99;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: all .8s;
  transition: all .8s;
}

.demoSideArea.show {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1;
}

.demoSideArea .demoSideBox {
  height: calc(100% - 90px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.demoSideArea .demoSideBox::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.3);
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.3);
  background-color: #f1f1f1;
  border-radius: 5px;
}

.demoSideArea .demoSideBox::-webkit-scrollbar {
  width: 5px;
  background-color: #f1f1f1;
}

.demoSideArea .demoSideBox::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background: #9b8d77;
}

.demoSideArea .itemBox {
  width: 100%;
  margin-bottom: 30px;
}

.demoSideArea .title {
  position: relative;
  padding-bottom: 12px;
  margin-bottom: 20px;
  font-size: 18px;
  letter-spacing: .05em;
}

.demoSideArea .title:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 30px;
  height: 1px;
  background-color: #9b8d77;
}

.demoSideArea .menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.demoSideArea .menu li {
  width: 25%;
  margin-bottom: 15px;
}

.demoSideArea .menu a {
  padding: 0;
}

.demoSideArea .demoSideMenuClose {
  position: absolute;
  right: 40px;
  top: 20px;
  font-size: 24px;
  color: #555;
}

.demoSideMenu {
  display: block;
  width: 90px;
  height: 110px;
  font-size: 24px;
  line-height: 110px;
  color: #fff;
  text-align: center;
  background-color: #9b8d77;
}

.demoSideMenu:hover {
  color: #fff;
}

.demoSideAreaMask {
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 98;
  background-color: rgba(255, 255, 255, 0.5);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: all .5s;
  transition: all .5s;
}

.demoSideAreaMask.show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
