@charset "UTF-8";

/*
$baseFont: "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;

$baseFont: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
*/
/*thin*/
/*normal*/
/*bold*/
/*
@mixin fontsize($size: 24, $base: 16) {
  font-size: $size + px;
  font-size: ($size / $base) * 1rem;
}
*/
@import url("https://cdn.blog.st-hatena.com/css/theme/media-v2/style.css");
@import url("https://use.fontawesome.com/releases/v5.6.1/css/all.css");
body {
  color: #333;
}

a {
  color: #c50e2f;
  text-decoration: none;
  transition: 0.3s ease-in-out;
}
a:link {
  color: #c50e2f;
}
a:visited {
  color: #c50e2f;
}
a:hover {
  text-decoration: none;
  color: #333;
}
a:active {
  color: #c50e2f;
}
a:focus {
  outline: none !important;
}
a img {
  transition: 0.3s ease-in-out;
  -webkit-backface-visibility: hidden;
  /* マウスオーバー時のズレを防ぐ */
  backface-visibility: hidden;
  /* マウスオーバー時のズレを防ぐ */
}
a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
}
@media only screen and (max-width: 576px) {
  a:hover {
    color: #c50e2f;
  }
  a:hover img {
    opacity: 1;
    filter: alpha(opacity=100);
  }
}
@media only screen and (max-width: 576px) {
  .displayPC {
    display: none;
  }
}

.displaySP {
  display: none;
}
@media only screen and (max-width: 576px) {
  .displaySP {
    display: block;
  }
}
.sw-header {
  position: relative;
  width: 100%;
  height: 200px;
  background: url("https://www.serverworks.co.jp/tech_blog/bg_header.jpg")
    no-repeat center center;
  background-size: cover;
}
@media only screen and (max-width: 576px) {
  .sw-header {
    height: 120px;
  }
}
.sw-header-inner {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 988px;
  margin: 0 auto;
  height: 100%;
  box-sizing: border-box;
}
.sw-header-inner__logo-blog {
  width: 200px;
  line-height: 1em;
  margin: 0;
  padding: 0;
}
.sw-header-inner__logo-blog img {
  width: 100%;
}
@media only screen and (max-width: 576px) {
  .sw-header-inner__logo-blog {
    width: 120px;
  }
}
.sw-header-inner__logo-blog a:hover img {
  opacity: 1;
}
.sw-header-inner__logo-sw {
  position: absolute;
  top: 20px;
  left: 0;
  width: 130px;
  line-height: 1em;
  margin: 0;
}
.sw-header-inner__logo-sw img {
  width: 100%;
}
@media screen and (max-width: 992px) {
  .sw-header-inner__logo-sw {
    left: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .sw-header-inner__logo-sw {
    left: 1rem;
  }
}
@media only screen and (max-width: 576px) {
  .sw-header-inner__logo-sw {
    top: 10px;
    width: 100px;
  }
}
.sw-header-inner__logo-sw a:hover img {
  opacity: 1;
}
.sw-header-search-btn {
  display: none;
}
@media only screen and (max-width: 576px) {
  .sw-header-search-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10;
    width: 40px;
    height: 40px;
    cursor: pointer;
  }
  .sw-header-search-btn img {
    width: 16px;
  }
  .sw-header-search-btn.active {
    display: none;
  }
}
.sw-header-search-box {
  display: flex;
  position: fixed;
  opacity: 0;
  top: -70px;
  left: 0;
  z-index: 20;
  width: 100%;
  height: 70px;
  padding: 10px;
  background: rgba(0, 0, 0, 0.8);
  box-sizing: border-box;
  transition: all 0.5s;
}
.sw-header-search-box.open {
  top: 0;
  opacity: 1;
}
.sw-header-search-box__search {
  width: 100%;
}
.sw-header-search-box__close {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  padding: 0 0 0 10px;
  box-sizing: border-box;
  cursor: pointer;
}
.sw-header-search-box__close img {
  width: 20px;
}

.sw-navi {
  width: 100%;
  height: 50px;
  background: #111;
}
@media only screen and (max-width: 576px) {
  .sw-navi {
    height: 40px;
  }
}
.sw-navi ul {
  display: flex;
  align-items: center;
  max-width: 988px;
  margin: 0 auto;
  padding: 0;
  height: 100%;
  list-style: none;
}
.sw-navi ul li {
  width: 16.66666666666667%;
  height: 100%;
  list-style: none;
}
.sw-navi ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #fff;
  text-decoration: none;
  text-align: center;
}
.sw-navi ul li a:hover {
  background: #c50e2f;
}
.sw-navi ul li a br {
  display: none;
}
@media screen and (max-width: 768px) {
  .sw-navi ul li a:hover {
    background: #111;
  }
}
@media only screen and (max-width: 576px) {
  .sw-navi ul li a {
    font-size: 10px;
  }
  .sw-navi ul li a br {
    display: block;
  }
}
.sw__tag-list {
  display: flex;
  margin: 0;
  padding: 0;
}
.sw__tag-list li {
  margin: 0 8px 0 0;
  padding: 0;
  border: none;
}
.sw__tag-list li a {
  display: block;
  height: 24px;
  padding: 0 4px;
  background: #fff;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 24px;
  color: #333;
}
@media only screen and (max-width: 576px) {
  .sw__tag-list li a {
    font-size: 10px;
    font-size: 0.625rem;
  }
}
.sw-article-list {
  position: relative;
  padding: 2rem 0;
  border-bottom: solid 1px #ddd;
  /*
    &:hover {
      .sw-article-list__img {
        transform: scale(1.04);
      }
      .sw-article-list__title {
        color: $accentColor;
      }
    }
    */
  /*
    &__img-wrap {
      width: 160px;
      height: 120px;
      margin: 0 1rem 0 0;
      border: solid 1px $colorBorder;
      border-radius: 4px;
      box-sizing: border-box;
      overflow: hidden;
      flex-shrink: 0;
      @include responsive(sp) {
        width: 90px;
        height: 90px;
      }
    }
    &__img {
      width: 100%;
      height: 100%;
      background-repeat: no-repeat;
      background-position: center center;
      background-size: cover;
      transition: 0.3s ease;
    }
    */
}
@media only screen and (max-width: 576px) {
  .sw-article-list {
    padding: 1rem 0;
  }
}
.sw-article-list__link {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.sw-article-list__time {
  margin: -3.5px 0 0;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.5em;
  color: #999;
}
@media only screen and (max-width: 576px) {
  .sw-article-list__time {
    font-size: 12px;
    font-size: 0.75rem;
  }
}
.sw-article-list__title {
  margin: 4px 0 0;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.5em;
  font-weight: 700;
}
@media only screen and (max-width: 576px) {
  .sw-article-list__title {
    font-size: 16px;
    font-size: 1rem;
  }
}
.sw-article-list__title a {
  color: #222;
}
.sw-article-list__title a:hover {
  text-decoration: underline;
}
.sw-article-list .urllist-categories-link {
  margin-top: 0.5rem;
}
.sw-article-list .urllist-category-link.recent-entries-category-link {
  height: 24px;
  margin: 0 4px 0 0;
  padding: 0 8px;
  background: #f0f0f0;
  border-radius: 2px;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 24px;
  color: #333;
  transition: 0.3s ease-in-out;
}
@media only screen and (max-width: 576px) {
  .sw-article-list .urllist-category-link.recent-entries-category-link {
    font-size: 10px;
    font-size: 0.625rem;
  }
}
.sw-article-list .urllist-category-link.recent-entries-category-link:hover {
  background: #c50e2f;
  color: #fff;
}
@media only screen and (max-width: 576px) {
  .sw-article-list .urllist-category-link.recent-entries-category-link {
    margin-right: 2px;
    padding: 0 4px;
    height: 20px;
    line-height: 20px;
  }
}
.sw-article-list__contents-wrap {
  display: flex;
  align-items: flex-start;
  margin: 1rem 0 0;
}
.sw-article-list__img {
  display: block;
  width: 160px;
  height: 120px;
  margin: 0 1rem 0 0;
  border: solid 1px #ddd;
  border-radius: 4px;
  box-sizing: border-box;
  overflow: hidden;
  flex-shrink: 0;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  transition: 0.3s ease-in-out;
}
.sw-article-list__img:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
}
@media only screen and (max-width: 576px) {
  .sw-article-list__img {
    width: 90px;
    height: 90px;
  }
}
.sw-article-list__txt {
  width: 100%;
}
.sw-article-list__txt p {
  margin: -4px 0 0;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.8em;
}
@media only screen and (max-width: 576px) {
  .sw-article-list__txt p {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
@media only screen and (max-width: 576px) {
  .sw-article-list__txt p {
    margin-top: -3px;
    font-size: 12px;
    line-height: 1.6em;
  }
  .sw-article-list__txt p br {
    display: none;
  }
}
.sw-article-list-s {
  position: relative;
  display: flex;
  align-items: flex-start;
  /*
    &:hover {
      .sw-article-list-s__img {
        transform: scale(1.04);
      }
      .sw-article-list-s__title {
        color: $accentColor;
      }
    }
    */
  /*
    &__rank {
      position: absolute;
      top: 0;
      left: 0;
      z-index: 5;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 32px 32px 0 0;
      border-color: $accentColor transparent transparent transparent;
    }
    */
  /*
    &__img-wrap {
      width: 108px;
      height: 81px;
      margin: 0 1rem 0 0;
      border: solid 1px $colorBorder;
      border-radius: 2px;
      box-sizing: border-box;
      overflow: hidden;
      flex-shrink: 0;
      @include responsive(sp) {
        width: 60px;
        height: 60px;
      }
    }
    &__img {
      width: 100%;
      height: 100%;
      background-repeat: no-repeat;
      background-position: center center;
      background-size: cover;
      transition: 0.3s ease;
    }
    */
}
.sw-article-list-s__img {
  display: block;
  width: 108px;
  height: 81px;
  margin: 0 1rem 0 0;
  border: solid 1px #ddd;
  border-radius: 2px;
  box-sizing: border-box;
  overflow: hidden;
  flex-shrink: 0;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  transition: 0.3s ease-in-out;
}
.sw-article-list-s__img:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
}
@media only screen and (max-width: 576px) {
  .sw-article-list-s__img {
    width: 60px;
    height: 60px;
  }
}
.sw-article-list-s__txt {
  width: 100%;
}
.sw-article-list-s__time {
  margin: -3px 0 0;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5em;
  color: #999;
}
@media only screen and (max-width: 576px) {
  .sw-article-list-s__time {
    font-size: 10px;
    font-size: 0.625rem;
  }
}
.sw-article-list-s__title {
  margin: 0;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.5em;
  font-weight: normal;
  color: #333;
}
@media only screen and (max-width: 576px) {
  .sw-article-list-s__title {
    font-size: 12px;
    font-size: 0.75rem;
  }
}
.sw-article-list-s__title a {
  color: #222;
}
.sw-article-list-s__title a:hover {
  text-decoration: underline;
}

.sw-bnr {
  list-style: none;
  margin: 0;
  padding: 0;
}
.sw-bnr li {
  margin: 0.5rem 0 0;
}
.sw-bnr li img {
  width: 100%;
}
.sw-bnr li:first-child {
  margin-top: 0;
}

.sw-footer {
  background: #111;
}
.sw-footer-inner {
  display: flex;
  justify-content: space-between;
  max-width: 988px;
  margin: 0 auto;
  padding: 1rem 0;
}
.sw-footer__link {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0 1rem 0 0;
  border-right: solid 1px #333;
}
.sw-footer__link li {
  margin: 0 0 0 1rem;
  padding: 0 0 0 1rem;
  border-left: solid 1px #333;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5em;
  color: #fff;
  /*
        &:first-child {
          margin-left: 0;
          padding-left: 0;
          border-left: none;
        }
        */
}
@media only screen and (max-width: 576px) {
  .sw-footer__link li {
    font-size: 10px;
    font-size: 0.625rem;
  }
}
.sw-footer__link li a {
  color: #fff;
}
.sw-footer__link li a:hover {
  text-decoration: underline;
}
.sw-footer__copyright {
  margin: 0;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5em;
  color: #fff;
}
@media only screen and (max-width: 576px) {
  .sw-footer__copyright {
    font-size: 10px;
    font-size: 0.625rem;
  }
}
.sw-profile {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  padding: 1.5rem;
  background: #f8f8f8;
  border-radius: 4px;
  box-sizing: border-box;
}
.sw-profile__img {
  width: 100px;
  height: 100px;
  background: #eee url("https://www.serverworks.co.jp/tech_blog/nophoto.png")
    no-repeat center center;
  background-size: cover;
  border: solid 1px #ddd;
  border-radius: 2px;
}
.sw-profile__txt-wrap {
  width: calc(100% - 116px);
}
.sw-profile__name {
  margin: 0 !important;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5em;
  font-weight: bold;
}
@media only screen and (max-width: 576px) {
  .sw-profile__name {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
.sw-profile__txt {
  margin: 0.25rem 0 0;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.8em;
}
@media only screen and (max-width: 576px) {
  .sw-profile__txt {
    font-size: 12px;
    font-size: 0.75rem;
  }
}
@media only screen and (max-width: 576px) {
  .sw-profile {
    padding: 1rem;
    border-radius: 2px;
  }
  .sw-profile__img {
    width: 60px;
    height: 60px;
  }
  .sw-profile__txt-wrap {
    width: calc(100% - 76px);
  }
}
.sw-copyBtn {
  float: left;
  width: 240px;
  height: 40px;
  margin: 0;
  padding: 0 0.5rem;
  border: 1px solid #ddd;
  box-sizing: border-box;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 38px;
  font-weight: bold;
  text-align: center;
}
@media only screen and (max-width: 576px) {
  .sw-copyBtn {
    font-size: 10px;
    font-size: 0.625rem;
  }
}
.sw-copyBtn:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  cursor: pointer;
}

.sw-copyBtn.isCopied {
  pointer-events: none;
  background: #f7f7f7;
}

.sw-copyBtn.isCopied:hover {
  cursor: auto;
}

#main .hatena-module-recent-entries .hatena-module-title,
.hatena-module-search-box .hatena-module-title,
.hatena-module-html .hatena-module-title {
  display: none;
}

.profile-cards-list {
  margin: 2rem 0 0;
}
@media only screen and (max-width: 576px) {
  .profile-cards-list {
    margin: 1rem 0 0;
  }
}
.profile-cards-list .profile-card-container {
  border: none;
  padding: 0;
  margin: 0;
}

.search-result-form {
  max-width: 100%;
  border: none;
}
.search-result-form .search-result-input {
  width: 100%;
  height: auto;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 1rem 30px 1rem 0.5rem;
  background-position: right 10px center;
  background-size: auto 14px;
  font-size: 14px;
  font-size: 0.875rem;
  border: solid 1px #ddd !important;
  border-radius: 2px;
}
@media only screen and (max-width: 576px) {
  .search-result-form .search-result-input {
    font-size: 12px;
    font-size: 0.75rem;
  }
}
.search-result-form .search-result-input:focus {
  outline: none;
  background: rgba(197, 14, 47, 0.1) !important;
}
.search-result-form .search-result-input::-webkit-input-placeholder {
  font-size: 14px;
  font-size: 0.875rem;
  color: #999;
}
.search-result-form .search-result-input::-moz-placeholder {
  font-size: 14px;
  font-size: 0.875rem;
  color: #999;
}
.search-result-form .search-result-input:-ms-input-placeholder {
  font-size: 14px;
  font-size: 0.875rem;
  color: #999;
}
.search-result-form .search-result-input::-ms-input-placeholder {
  font-size: 14px;
  font-size: 0.875rem;
  color: #999;
}
.search-result-form .search-result-input::placeholder {
  font-size: 14px;
  font-size: 0.875rem;
  color: #999;
}
@media only screen and (max-width: 576px) {
  .search-result-form .search-result-input::-webkit-input-placeholder {
    font-size: 12px;
    font-size: 0.75rem;
  }
  .search-result-form .search-result-input::-moz-placeholder {
    font-size: 12px;
    font-size: 0.75rem;
  }
  .search-result-form .search-result-input:-ms-input-placeholder {
    font-size: 12px;
    font-size: 0.75rem;
  }
  .search-result-form .search-result-input::-ms-input-placeholder {
    font-size: 12px;
    font-size: 0.75rem;
  }
  .search-result-form .search-result-input::placeholder {
    font-size: 12px;
    font-size: 0.75rem;
  }
}
.search-result-form .search-result-button {
  background: transparent
    url("https://www.serverworks.co.jp/tech_blog/icn_search_g.png") no-repeat
    100%;
  background-size: 16px auto;
  top: 50%;
  right: 11px;
  margin-top: -10px;
  opacity: 0.5 !important;
  cursor: pointer;
}
.search-result-form .search-result-button:hover {
  opacity: 1 !important;
}

#top-box {
  width: 100%;
  max-width: 988px;
  margin: 0 auto !important;
  padding: 1rem 0 0;
  box-sizing: border-box;
}
@media screen and (max-width: 992px) {
  #top-box {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
@media screen and (max-width: 768px) {
  #top-box {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
#top-box .breadcrumb {
  font-size: 14px;
  font-size: 0.875rem;
  color: #666;
}
@media only screen and (max-width: 576px) {
  #top-box .breadcrumb {
    font-size: 12px;
    font-size: 0.75rem;
  }
}
#top-box .breadcrumb-inner {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
#top-box .breadcrumb-gt {
  padding: 0 0.3rem;
}

.pager {
  display: flex;
  width: 100%;
  margin: 1.5em auto 4rem;
  padding: 0 0.5rem;
  border: none;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  box-sizing: border-box;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.5em;
  font-weight: normal;
  text-align: center;
}
@media only screen and (max-width: 576px) {
  .pager {
    font-size: 12px;
    font-size: 0.75rem;
  }
}
@media only screen and (max-width: 576px) {
  .pager {
    padding: 0 30%;
  }
}
.pager .pager-prev,
.pager .pager-next {
  position: relative;
  width: 100%;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pager .pager-prev a,
.pager .pager-next a {
  position: relative;
  display: block;
  padding: 2rem 1rem;
  font-weight: normal;
}
.pager .pager-prev a:hover,
.pager .pager-next a:hover {
  text-decoration: none;
  color: #c50e2f;
}
@media only screen and (max-width: 576px) {
  .pager .pager-prev a,
  .pager .pager-next a {
    font-size: 0;
  }
  .pager .pager-prev a:before,
  .pager .pager-next a:before {
    content: "次の記事";
    position: absolute;
    top: 50%;
    right: 1rem;
    margin-top: -10px;
    display: block;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 20px;
    color: #333;
  }
}
@media only screen and (max-width: 576px) and (max-width: 576px) {
  .pager .pager-prev a:before,
  .pager .pager-next a:before {
    font-size: 12px;
    font-size: 0.75rem;
  }
}
.pager .pager-prev .pager-arrow,
.pager .pager-next .pager-arrow {
  position: absolute;
  width: 20px;
  height: 100%;
  font-size: 0;
  display: flex;
  align-items: center;
}
.pager .pager-prev .pager-arrow::before,
.pager .pager-next .pager-arrow::before {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #666;
  border-right: 1px solid #666;
  transform: rotate(-135deg);
}
.pager .pager-prev a {
  padding-left: 1rem !important;
}
@media only screen and (max-width: 576px) {
  .pager .pager-prev a:before {
    content: "前の記事";
    left: 1rem;
    right: auto;
  }
}
.pager .pager-next a {
  padding-right: 1rem !important;
}
.pager .pager-next .pager-arrow {
  justify-content: flex-end;
}
.pager .pager-next .pager-arrow::before {
  transform: rotate(45deg);
}

#content {
  width: 100%;
  max-width: 988px;
  margin: 2rem auto 0;
  box-sizing: border-box;
}
@media screen and (max-width: 992px) {
  #content {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
@media screen and (max-width: 768px) {
  #content {
    margin-top: 1rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
#content-inner {
  display: flex;
  margin: 0 -1rem;
}
@media screen and (max-width: 768px) {
  #content-inner {
    margin: 0 -0.5rem;
  }
}
@media only screen and (max-width: 576px) {
  #content-inner {
    flex-wrap: wrap;
    margin: 0;
  }
}
.hatena-urllist {
  margin: 0;
  padding: 0;
  border: none;
}

#wrapper {
  width: calc(648px + 2rem);
}
@media screen and (max-width: 768px) {
  #wrapper {
    width: calc(648px + 1rem);
  }
}
@media only screen and (max-width: 576px) {
  #wrapper {
    width: 100%;
  }
}
#main .urllist-item {
  padding-bottom: 0;
  border: none;
}

#main .recent-entries-item {
  margin-bottom: 0;
}
#main .recent-entries-item:first-child .sw-article-list {
  padding-top: 0;
}

#main .recent-entries-see-more {
  max-width: 192px;
  margin: 4rem auto 0;
}
@media only screen and (max-width: 576px) {
  #main .recent-entries-see-more {
    margin-top: 2rem;
  }
}
#main .recent-entries-see-more .recent-entries-see-more-link {
  padding: 1rem;
  background: #fff;
  border: solid 1px #333;
  border-radius: 4px;
  color: #333;
  transition: 0.3s ease-in-out;
}
#main .recent-entries-see-more .recent-entries-see-more-link:hover {
  background: rgba(197, 14, 47, 0.1);
  border-color: #c50e2f;
}

#box2 {
  width: calc(308px + 2rem);
}
@media screen and (max-width: 768px) {
  #box2 {
    width: calc(308px + 1rem);
  }
}
@media only screen and (max-width: 576px) {
  #box2 {
    width: 100%;
  }
}
#box2 img {
  width: 100%;
}
#box2 .hatena-module {
  padding: 0;
  background: transparent;
}
#box2 .hatena-module-title {
  margin: 0 0 1.5rem;
  padding: 0 0 12px;
  border: none;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.5em;
  color: #222;
}
@media only screen and (max-width: 576px) {
  #box2 .hatena-module-title {
    font-size: 16px;
    font-size: 1rem;
  }
}
#box2 .hatena-module-title::before,
#box2 .hatena-module-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 4px;
  border: none;
}
#box2 .hatena-module-title::before {
  width: 100%;
  background: #ddd;
  z-index: 0;
}
#box2 .hatena-module-title::after {
  width: 96px;
  background: #c50e2f;
  z-index: 5;
}
#box2 .hatena-module-title a {
  color: #333;
  text-decoration: none;
}
@media only screen and (max-width: 576px) {
  #box2 .hatena-module-search-box {
    display: none;
  }
}
#box2 .hatena-module-category .hatena-urllist {
  display: flex;
  flex-wrap: wrap;
  margin-top: -8px;
}
#box2 .hatena-module-category .hatena-urllist li {
  margin: 8px 8px 0 0;
}
#box2 .hatena-module-category .hatena-urllist li a {
  display: inline-block;
  height: 24px;
  padding: 0 8px;
  background: #f0f0f0;
  border-radius: 2px;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 24px;
  color: #333;
  transition: 0.3s ease-in-out;
}
@media only screen and (max-width: 576px) {
  #box2 .hatena-module-category .hatena-urllist li a {
    font-size: 10px;
    font-size: 0.625rem;
  }
}
#box2 .hatena-module-category .hatena-urllist li a:hover {
  background: #c50e2f;
  color: #fff;
}
@media only screen and (max-width: 576px) {
  #box2 .hatena-module-category .hatena-urllist {
    margin-top: -4px;
  }
  #box2 .hatena-module-category .hatena-urllist li {
    margin: 4px 4px 0 0;
  }
  #box2 .hatena-module-category .hatena-urllist li a {
    padding: 0 4px;
    height: 20px;
    line-height: 20px;
  }
}
#box2 .hatena-module-entries-access-ranking {
  /*
    .hatena-module-title {
      margin-bottom: 2rem;
    }
    */
}
#box2 .entries-access-ranking li {
  position: relative;
  border-bottom: none;
  background-image: linear-gradient(
    to right,
    #ddd,
    #ddd 1px,
    transparent 1px,
    transparent 3px
  );
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: 3px 1px;
  border-radius: 2px 0 0 0;
  overflow: hidden;
}
#box2 .entries-access-ranking li:last-child {
  background: none;
}
#box2 .entries-access-ranking li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 32px 32px 0 0;
  border-color: #e0c917 transparent transparent transparent;
}
#box2 .entries-access-ranking li::after {
  content: "";
  position: absolute;
  top: 4px;
  left: 6px;
  z-index: 10;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1em;
  color: #fff;
}
@media only screen and (max-width: 576px) {
  #box2 .entries-access-ranking li::after {
    font-size: 10px;
    font-size: 0.625rem;
  }
}
#box2 .entries-access-ranking li.rank-1::after {
  content: "1";
}
#box2 .entries-access-ranking li.rank-2::after {
  content: "2";
}
#box2 .entries-access-ranking li.rank-3::after {
  content: "3";
}
#box2 .entries-access-ranking li.rank-4::after {
  content: "4";
}
#box2 .entries-access-ranking li.rank-5::after {
  content: "5";
}
#box2 .archive-module-year {
  padding-top: 1rem;
  padding-bottom: 1rem;
  background-image: linear-gradient(
    to right,
    #ddd,
    #ddd 1px,
    transparent 1px,
    transparent 3px
  );
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 3px 1px;
}
#box2 .archive-module-year:first-child {
  padding-top: 0;
  background: none;
}
#box2 .archive-module-button {
  color: #111;
  opacity: 1;
}
#box2 .archive-module-months {
  margin-top: 0.5rem;
}
#box2 .archive-module-month {
  margin-left: 1rem;
  padding: 0.2rem 0;
}
#box2 .archive-module-month-title {
  position: relative;
  padding: 0 0 0 1rem;
}
#box2 .archive-module-month-title::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  width: 6px;
  height: 6px;
  border-left: solid 1px #666;
  border-bottom: solid 1px #666;
  box-sizing: border-box;
}

.search-form .search-module-input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 1rem 30px 1rem 0.5rem;
  background-position: right 10px center;
  background-size: auto 14px;
  font-size: 14px;
  font-size: 0.875rem;
  border: solid 1px #ddd !important;
  border-radius: 2px;
}
@media only screen and (max-width: 576px) {
  .search-form .search-module-input {
    font-size: 12px;
    font-size: 0.75rem;
  }
}
.search-form .search-module-input:focus {
  outline: none;
  background: #f9e7ea !important;
}
.search-form .search-module-input::-webkit-input-placeholder {
  font-size: 14px;
  font-size: 0.875rem;
  color: #999;
}
.search-form .search-module-input::-moz-placeholder {
  font-size: 14px;
  font-size: 0.875rem;
  color: #999;
}
.search-form .search-module-input:-ms-input-placeholder {
  font-size: 14px;
  font-size: 0.875rem;
  color: #999;
}
.search-form .search-module-input::-ms-input-placeholder {
  font-size: 14px;
  font-size: 0.875rem;
  color: #999;
}
.search-form .search-module-input::placeholder {
  font-size: 14px;
  font-size: 0.875rem;
  color: #999;
}
@media only screen and (max-width: 576px) {
  .search-form .search-module-input::-webkit-input-placeholder {
    font-size: 12px;
    font-size: 0.75rem;
  }
  .search-form .search-module-input::-moz-placeholder {
    font-size: 12px;
    font-size: 0.75rem;
  }
  .search-form .search-module-input:-ms-input-placeholder {
    font-size: 12px;
    font-size: 0.75rem;
  }
  .search-form .search-module-input::-ms-input-placeholder {
    font-size: 12px;
    font-size: 0.75rem;
  }
  .search-form .search-module-input::placeholder {
    font-size: 12px;
    font-size: 0.75rem;
  }
}
.search-form .search-module-input {
  background-image: url("https://www.serverworks.co.jp/tech_blog/icn_search_g.png");
  background-size: 16px auto;
  background-position: right 10px center;
}

.search-form .search-module-button {
  width: 20px;
  height: 20px;
  background: transparent
    url("https://www.serverworks.co.jp/tech_blog/icn_search_g.png") no-repeat
    100%;
  background-size: 16px auto;
  border: none;
  outline: none;
  text-indent: -9999px;
  position: absolute;
  top: 50%;
  right: 11px;
  margin-top: -10px;
  opacity: 0.5 !important;
  cursor: pointer;
}
.search-form .search-module-button:hover {
  opacity: 1 !important;
}

.page-archive .archive-header-category {
  margin: 0;
}

.page-archive .archive-heading {
  position: relative;
  margin: -4px 0 2rem;
  padding-bottom: 1rem;
  border: none;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.5em;
  color: #222;
}
@media only screen and (max-width: 576px) {
  .page-archive .archive-heading {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.page-archive .archive-heading::before,
.page-archive .archive-heading::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 4px;
  border: none;
}
.page-archive .archive-heading::before {
  width: 100%;
  background: #ddd;
  z-index: 0;
}
.page-archive .archive-heading::after {
  width: 96px;
  background: #c50e2f;
  z-index: 5;
}

.page-archive .archive-entry {
  position: relative;
  margin: 0;
  padding: 2rem 0;
  border-bottom: solid 1px #ddd;
}
@media only screen and (max-width: 576px) {
  .page-archive .archive-entry {
    padding: 1rem 0;
  }
}
.page-archive .archive-entries .archive-entry:first-of-type {
  padding-top: 0;
}

.page-archive .archive-date {
  margin: -3.5px 0 0;
}
.page-archive .archive-date a {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.5em;
  color: #999;
}
@media only screen and (max-width: 576px) {
  .page-archive .archive-date a {
    font-size: 12px;
    font-size: 0.75rem;
  }
}
.page-archive .entry-title {
  margin: 4px 0 0;
}
.page-archive .entry-title .entry-title-link {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.5em;
  font-weight: 700;
  color: #222;
}
@media only screen and (max-width: 576px) {
  .page-archive .entry-title .entry-title-link {
    font-size: 16px;
    font-size: 1rem;
  }
}
.page-archive .entry-title .entry-title-link:hover {
  text-decoration: underline;
}

.page-archive .categories {
  margin: 0.5rem 0 1rem;
}
.page-archive .categories a {
  height: 24px;
  margin: 0 4px 0 0;
  padding: 0 8px;
  background: #f0f0f0;
  border-radius: 2px;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 24px;
  color: #333;
  transition: 0.3s ease-in-out;
}
@media only screen and (max-width: 576px) {
  .page-archive .categories a {
    font-size: 10px;
    font-size: 0.625rem;
  }
}
.page-archive .categories a:hover {
  background: #c50e2f;
  color: #fff;
}
@media only screen and (max-width: 576px) {
  .page-archive .categories a {
    margin-right: 2px;
    padding: 0 4px;
    height: 20px;
    line-height: 20px;
  }
}
.page-archive .entry-thumb {
  width: 160px;
  height: 120px;
  margin: 0 1rem 0 0;
  border: solid 1px #ddd;
  border-radius: 4px;
  box-sizing: border-box;
  overflow: hidden;
  flex-shrink: 0;
}
@media only screen and (max-width: 576px) {
  .page-archive .entry-thumb {
    width: 90px;
    height: 90px;
  }
}
.page-archive .entry-description {
  margin: -4px 0 8px;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.8em;
}
@media only screen and (max-width: 576px) {
  .page-archive .entry-description {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
@media only screen and (max-width: 576px) {
  .page-archive .entry-description {
    margin-top: -3px;
    font-size: 12px;
    line-height: 1.6em;
  }
  .page-archive .entry-description br {
    display: none;
  }
}
.page-archive .social-buttons {
  display: none;
}

.page-entry .entry {
  margin-bottom: 4rem;
}

.page-entry .entry-header {
  padding-bottom: 2rem;
  /*
    .social-buttons {
      margin-top: 1rem;
      @include responsive(sp) {
        margin-top: 0.5rem;
      }
    }
    */
}
@media only screen and (max-width: 576px) {
  .page-entry .entry-header {
    padding-bottom: 0;
  }
}
.page-entry .entry-header .entry-date {
  margin: -3.5px 0 0;
}
.page-entry .entry-header .entry-date a {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.5em;
  color: #999;
}
@media only screen and (max-width: 576px) {
  .page-entry .entry-header .entry-date a {
    font-size: 12px;
    font-size: 0.75rem;
  }
}
.page-entry .entry-header .entry-title {
  margin: 1rem 0 0;
}
.page-entry .entry-header .entry-title a {
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1.5em;
  font-weight: 700;
  color: #222;
  pointer-events: none;
}
@media only screen and (max-width: 576px) {
  .page-entry .entry-header .entry-title {
    margin-top: 0.5rem;
  }
  .page-entry .entry-header .entry-title a {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.page-entry .entry-header .categories {
  margin: 1rem 0 1.5rem;
}
.page-entry .entry-header .categories a {
  height: 24px;
  margin: 0 4px 0 0;
  padding: 0 8px;
  background: #f0f0f0;
  border-radius: 2px;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 24px;
  color: #333;
  transition: 0.3s ease-in-out;
}
@media only screen and (max-width: 576px) {
  .page-entry .entry-header .categories a {
    font-size: 10px;
    font-size: 0.625rem;
  }
}
.page-entry .entry-header .categories a:hover {
  background: #c50e2f;
  color: #fff;
}
@media only screen and (max-width: 576px) {
  .page-entry .entry-header .categories {
    margin: 0.5rem 0;
  }
}
.page-entry .entry-header .entry-header-menu a {
  background: #c50e2f;
  color: #fff;
}

.page-entry .entry-content {
  clear: both;
  line-height: 1.8em;
  /*
    *:first-child {
      margin-top: 0;
    }
    */
  /*
    h2 {
      position: relative;
      margin-top: 4rem;
      padding-left: 1.5rem;
      @include fontLL;
      &::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 0.5rem;
        height: 100%;
        background: $accentColor;
      }
      @include responsive(sp) {
        margin-top: 2rem;
      }
      h3 {
      padding: 0 0.2rem 0.5rem;
      background-image: linear-gradient(to right, $fontColor, $fontColor 2px, transparent 2px, transparent 4px);
      background-repeat: repeat-x;
      background-position: left bottom;
      background-size: 4px 1px;
      @include fontL; //20px
      @include responsive(sp) {
        margin-top: 2rem;
      }
      h4 {
        @include fontL; //20px
        font-size : 1.125rem;
      }
    }
    }
    */
  /*code-lineクラスの数でカウント*/
  /*偶数行のみ背景色を適用*/
  /*
    .code-line:nth-child(even){
      background-color: #222;
    }
    *
    /*行番号を擬似要素として表示*/
}
.page-entry .entry-content a {
  text-decoration: underline;
}
.page-entry .entry-content p {
  margin: 1rem 0 0;
}
.page-entry .entry-content iframe {
  margin: 1rem 0 0;
}
.page-entry .entry-content img {
  /*display: block;*/
  max-width: 100%;
  margin: 2rem 0 0;
  /*margin: 2rem auto;*/
  /*border: solid 1px $colorBorder;*/
  box-sizing: border-box;
}
.page-entry .entry-content table {
  margin: 1rem 0 0;
}
.page-entry .entry-content ul,
.page-entry .entry-content ol {
  margin: 0;
  background-color: rgb(250, 250, 250);
  padding: 10px 30px;
}
.page-entry .entry-content ul li,
.page-entry .entry-content ol li {
  margin: 0.5rem 0 0;
}
.page-entry .entry-content ul li:first-child,
.page-entry .entry-content ol li:first-child {
  margin-top: 0;
}
.page-entry .entry-content ul ul,
.page-entry .entry-content ul ol,
.page-entry .entry-content ol ul,
.page-entry .entry-content ol ol {
  margin-top: 0;
}
.page-entry .entry-content h2,
.page-entry .entry-content h3,
.page-entry .entry-content h4,
.page-entry .entry-content h5 {
  margin: 2rem 0;
  padding: 0;
  border: none;
  line-height: 1.5em;
  font-weight: bold;
  color: #222;
}
@media only screen and (max-width: 576px) {
  .page-entry .entry-content h2,
  .page-entry .entry-content h3,
  .page-entry .entry-content h4,
  .page-entry .entry-content h5 {
    margin-bottom: 1rem;
  }
}
.page-entry .entry-content h2 {
  position: relative;
  margin: 4rem 0 2rem;
  padding: 1rem 0.75rem;
  border-top: solid 4px #c50e2f;
  border-bottom: solid 2px #c50e2f;
  background: rgba(197, 14, 47, 0.02);
  font-size: 24px;
  font-size: 1.5rem;
}
@media only screen and (max-width: 576px) {
  .page-entry .entry-content h2 {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
@media only screen and (max-width: 576px) {
  .page-entry .entry-content h2 {
    margin-top: 2rem;
  }
}
.page-entry .entry-content h3 {
  margin: 2rem 0 1rem;
  padding: 0.8rem 0.2rem;
  border-bottom: solid 2px #c50e2f;
  font-size: 22px;
}
@media only screen and (max-width: 576px) {
  .page-entry .entry-content h3 {
    font-size: 18px;
  }
}
.page-entry .entry-content h4 {
  position: relative;
  margin: 2rem 0 1rem;
  padding-left: 1.5rem;
  font-size: 20px;
  font-size: 1.25rem;
}
@media only screen and (max-width: 576px) {
  .page-entry .entry-content h4 {
    font-size: 16px;
    font-size: 1rem;
  }
}
.page-entry .entry-content h4::before {
  content: "";
  position: absolute;
  top: 7px;
  left: 0;
  width: 1rem;
  height: 1rem;
  background: #c50e2f;
}
.page-entry .entry-content h5 {
  font-size: 16px;
  font-size: 1rem;
}
@media only screen and (max-width: 576px) {
  .page-entry .entry-content h5 {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
.page-entry .entry-content .table-of-contents {
  position: relative;
  margin: 2rem 0;
  padding: 1.5rem 1rem 1rem 2.5rem;
  background: #fafafa;
  border: solid 1px #ddd;
  border-radius: 4px;
  box-sizing: border-box;
  /*
      &::before {
        content: "目次";
        position: absolute;
        top: 1rem;
        left: 1rem;
        line-height: 1.5em;
        color: $fontColorStrong;
        font-weight: bold;
      }
      */
}
.page-entry .entry-content .table-of-contents a {
  text-decoration: none;
}
@media only screen and (max-width: 576px) {
  .page-entry .entry-content .table-of-contents {
    margin-bottom: 2rem;
    padding: 1rem 1rem 1rem 2.5rem;
  }
}
.page-entry .entry-content .table-of-contents ul,
.page-entry .entry-content .table-of-contents ol {
  padding: 0px 30px;
}
.page-entry .entry-content .table-of-contents li {
  margin: 0;
}
.page-entry .entry-content .table-of-contents > li {
  margin-top: 0.5rem;
  list-style: decimal;
}
.page-entry .entry-content .table-of-contents > li:first-child {
  margin-top: 0;
}
.page-entry .entry-content .table-of-contents > li > a {
  color: #222;
  font-weight: bold;
}
.page-entry .entry-content .table-of-contents > li > ul > li {
  list-style: disc;
}
.page-entry .entry-content .table-of-contents > li > ul > li a {
  color: #333;
}
.page-entry .entry-content blockquote {
  position: relative;
  margin: 2rem 0;
  padding: 2rem 1rem 1rem 3rem;
  background: #fafafa
    url("https://www.serverworks.co.jp/tech_blog/icn_blockquote.png") no-repeat
    1rem 1rem;
  background-size: 24px auto;
  border-left: solid 4px #ddd;
  box-sizing: border-box;
  font-style: italic;
  line-height: 2em;
  color: #666;
}
@media only screen and (max-width: 576px) {
  .page-entry .entry-content blockquote {
    padding: 1rem 1rem 1rem 2.5rem;
    background-size: 16px auto;
  }
}
.page-entry .entry-content pre.code {
  margin: 2rem 0;
  background: #000;
  color: #fff;
  white-space: pre;
}
.page-entry .entry-content .movie {
  overflow: hidden;
  position: relative;
  margin: 2rem 0;
  padding: 0 0 56.25% 0 !important;
  width: 100%;
  height: 0;
}
.page-entry .entry-content .movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}
.page-entry .entry-content .txt-border {
  font-size: 14px;
  font-size: 0.875rem;
  padding: 2px 3px 3px;
  background: #f8f8f8;
  border: solid 1px #ddd;
  border-radius: 2px;
}
@media only screen and (max-width: 576px) {
  .page-entry .entry-content .txt-border {
    font-size: 12px;
    font-size: 0.75rem;
  }
}
.page-entry .entry-content .txt-center {
  text-align: center;
}
.page-entry .entry-content .entry-notice {
  display: block;
  margin: 2rem 0;
  padding: 1rem;
  background: #f7f8f9;
  border: solid 1px #ddd;
  border-radius: 4px;
  box-sizing: border-box;
  font-size: 14px;
  font-size: 0.875rem;
}
@media only screen and (max-width: 576px) {
  .page-entry .entry-content .entry-notice {
    font-size: 12px;
    font-size: 0.75rem;
  }
}
.page-entry .entry-content .entry-notice p {
  margin: 0;
}
.page-entry .entry-content .code-line {
  counter-increment: linenumber;
}
.page-entry .entry-content .code-line::before {
  content: counter(linenumber);
  display: inline-block;
  color: #ccc;
  text-align: right;
  width: 1.5rem;
  padding: 0 15px 0 0;
}

.page-entry .entry-header .social-buttons,
.page-entry .entry-footer .social-buttons {
  float: left;
  margin: 0;
}
@media only screen and (max-width: 576px) {
  .page-entry .entry-header .social-buttons,
  .page-entry .entry-footer .social-buttons {
    float: none;
    margin: 1rem 0;
  }
}
.page-entry .entry-header .sw-copyBtn {
  margin-right: 0.5rem;
}
@media only screen and (max-width: 576px) {
  .page-entry .entry-header .sw-copyBtn {
    float: none;
    width: 100%;
    margin: 1rem 0;
  }
}
.page-entry .entry-footer {
  padding-bottom: 2rem;
}
.page-entry .entry-footer .user-name-hatena-id,
.page-entry .entry-footer .user-name-paren {
  display: none;
}
.page-entry .entry-footer .sw-copyBtn {
  margin-left: 0.5rem;
}

.hatena-star-container,
.hatena-star-star-container {
  display: none;
}

input:-internal-autofill-selected,
input:-webkit-autofill {
  background-color: transparent;
  background: rgba(197, 14, 47, 0.1) !important;
  -webkit-text-fill-color: #333 !important;
}

/*
.copyBtn{
  @include fontS; //14px
  font-weight: bold;
  text-align:center;
  margin: 1rem auto;
  padding: 1rem;
  border:1px solid #ddd;
}

.copyBtn:hover{
  opacity: 0.6;
  cursor: pointer;
}
.copyBtn.isCopied{
  pointer-events: none;
  background: #f7f7f7;
}
.copyBtn.isCopied:hover{
  cursor: auto;
}
*/

/*////// WP-to-Hatena Moving mods //////*/

/* add author in hearder */
.entry-author-section {
  font-size: 0.8rem;
}

/* img box-shadow */
.page-entry .entry-content img {
  display: block;
  margin: 0.5rem auto 0.5rem 0;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.25);
}

.hatena-module .more_btn {
  text-align: center;
  margin: 20px auto 0;
}
.hatena-module .more_btn a {
  padding: 0.5rem 1rem;
  background: #fff;
  border: solid 1px #333;
  border-radius: 4px;
  color: #333;
  font-size: 14px;
  transition: 0.3s ease-in-out;
}
@media (max-width: 767px) {
  .hatena-module .more_btn a {
    font-size: 12px;
  }
}
.hatena-module .more_btn a:hover {
  background: rgba(197, 14, 47, 0.1);
  border-color: #c50e2f;
}

.hatena-module-title2 {
  font-weight: 700;
  margin-bottom: 1rem;
  padding-top: 0;
  padding-bottom: 5px;
  font-size: 1.2rem;
  border-top: 0;
  border-bottom: 1px solid #bdccd4;
  color: #5684d7;
  position: relative;
}

#box2 .hatena-module-title2 {
  margin: 0 0 1.5rem;
  padding: 0 0 12px;
  border: none;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.5em;
  color: #222;
}
.hatena-module-title2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 4px;
  border: none;
}
#box2 .hatena-module-title2::before {
  width: 100%;
  background: #ddd;
  z-index: 0;
}

.hatena-module-title2:after {
  content: "";
  position: absolute;
  display: block;
  bottom: -1px;
  left: 0;
  z-index: 1;
  width: 70px;
  border-bottom: 4px solid #5684d7;
}

#box2 .hatena-module-title2::before,
#box2 .hatena-module-title2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 4px;
  border: none;
}
#box2 .hatena-module-title2::after {
  width: 96px;
  background: #c50e2f;
  z-index: 5;
}
@media (max-width: 576px) {
  #box2 .hatena-module-title2 {
    font-size: 16px;
    font-size: 1rem;
  }
}