/*-----------------------------------
side-bar
-----------------------------------*/
#main .flexmain aside {
  width: 27%;
}

#main .flexmain aside .sec-title {
  text-align: center;
  height: 45px;
  width: 100%;
  color: white;
  background-color: #52d0dd;
}

#main .flexmain aside .sec-title h3 {
  font-size: 18px;
  font-weight: bold;
  line-height: 45px;
}

#main .flexmain aside #recent .content {
  padding: 20px 10px;
  border-bottom: 1px solid #333;
}

#main .flexmain aside #recent .content .post-image {
  text-align: center;
  width: 100%;
}

#main .flexmain aside #recent .content .post-image>img {
  height: 120px;
  width: 180px;
}

#main .flexmain aside #recent .content .post-text-box {
  margin-top: 20px;
  font-weight: bold;
}

#main .flexmain aside #recent .content .post-text-box .post-vol,
#main .flexmain aside #recent .content .post-text-box .post-date {
  font-size: 14px;
}

#main .flexmain aside #recent .content .post-text-box .post-vol {
  width: 63px;
  height: 21px;
  padding: 6px 7px 4px;
  border-radius: 3px;
  background-color: #52d0dd;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: white;
}

#main .flexmain aside #recent .content .post-text-box .post-detail {
  font-size: 13px;
  margin-top: 10px;
}

#main .flexmain aside #recent .content .post-text-box .post-date {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: end;
  margin-top: 5px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

#main .flexmain aside #recent .content .post-text-box .post-date .date-icon {
  height: 14px;
  width: auto;
  margin-right: 7px;
}

#main .flexmain aside .side-category {
  margin-top: 45px;
}

/*  */
#main .flexmain aside .side-category .inner-content {
  height: 50px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: auto;
}

#main .flexmain aside .side-category .inner-content .right-arrow-icon {
  height: 20px;
  width: 16px;
  margin-right: 18px;
}

#main .flexmain aside .side-archive {
  margin-top: 38px;
}

#main .flexmain aside .side-archive .inner-content {
  height: 50px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: auto;
}

#main .flexmain aside .side-archive .inner-content .right-arrow-icon {
  height: 20px;
  width: 16px;
  margin-right: 18px;
}


#main .flexmain aside .inner-content {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: auto;
  padding-left: 70px;
  cursor: pointer;
}

#main .flexmain aside .inner-content .right-arrow-icon {
  height: 20px;
  width: 16px;
  margin-right: 18px;
}

#main .flexmain aside .inner-content .contents-title {
  font-size: 18px;
}

#main #sidebar a {
  color: #333;
}

/* アコーディオン */
.accordion-single-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease-in-out;
}

.accordion-single-item {
  border-bottom: 1px solid #efefef;
}

.accordion-single-item.is-open .accordion-single-content {
  max-height: 150px;
}

.accordion-single-item.is-open .accordion-single-title>img {
  transform: translateY(0) rotate(90deg);
  transition: all .2s ease-in-out;
}

@media screen and (max-width: 767px) {

  /*-----------------------------------
  side-bar
  -----------------------------------*/
  #main .flexmain aside {
    width: 100%;
    margin-top: 40px;
  }

  #main .flexmain aside .sec-title {
    height: 30px;
  }

  #main .flexmain aside .sec-title h3 {
    font-size: 13px;
    line-height: 30px;
  }

  #main .flexmain aside #recent .content {
    padding: 10px;
  }

  #main .flexmain aside #recent .content a {
    display: flex;
    justify-content: space-between;
  }

  #main .flexmain aside #recent .content .post-image {
    margin-right: 10px;
    flex: 1;
  }

  #main .flexmain aside #recent .content .post-image>img {
    height: auto;
    width: 100%;
  }

  #main .flexmain aside #recent .content .post-text-box {
    margin-top: 0;
    width: 60%;
  }

  #main .flexmain aside #recent .content .post-text-box .post-vol,
  #main .flexmain aside #recent .content .post-text-box .post-date {
    font-size: 14px;
  }

  #main .flexmain aside #recent .content .post-text-box .post-vol {
    width: 63px;
    height: 21px;
    padding: 6px 7px 4px;
    border-radius: 3px;
    background-color: #52d0dd;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: white;
  }

  #main .flexmain aside #recent .content .post-text-box .post-detail {
    font-size: 13px;
    margin-top: 10px;
  }

  #main .flexmain aside #recent .content .post-text-box .post-date {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: end;
    margin-top: 5px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  #main .flexmain aside #recent .content .post-text-box .post-date .date-icon {
    height: 14px;
    width: auto;
    margin-right: 7px;
  }

  /*-----------------------------------
  カテゴリー＆アーカイブ-accordion
  -----------------------------------*/
  #main .flexmain aside .side-category .inner-content {
    height: 50px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: auto;
  }

  #main .flexmain aside .side-category .inner-content .right-arrow-icon {
    height: 20px;
    width: 16px;
    margin-right: 18px;
  }

  #main .flexmain aside .side-archive {
    margin-top: 38px;
  }

  #main .flexmain aside .side-archive .inner-content {
    height: 50px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: auto;
  }

  #main .flexmain aside .side-archive .inner-content .right-arrow-icon {
    height: 20px;
    width: 16px;
    margin-right: 18px;
  }


  #main .flexmain aside .inner-content {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: auto;
    padding-left: 70px;
    cursor: pointer;
  }

  #main .flexmain aside .inner-content .right-arrow-icon {
    height: 20px;
    width: 16px;
    margin-right: 18px;
  }

  #main .flexmain aside .inner-content .contents-title {
    font-size: 18px;
  }

  #main #sidebar a {
    color: #333;
  }

  /* アコーディオン個別 */
  .accordion-single-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease-in-out;
  }

  .accordion-single-item {
    border-bottom: 1px solid #efefef;
  }

  .accordion-single-item.is-open .accordion-single-content {
    max-height: 150px;
  }

  .accordion-single-item.is-open .accordion-single-title>img {
    transform: translateY(0) rotate(90deg);
    transition: all .2s ease-in-out;
  }

}
