/*
Theme Name: Silence
Theme URI: https://blog.hatena.ne.jp/-/store/theme/17680117126967939259
Description: レスポンシブに対応したシンプルなデザインテーマです。HTMLが苦手な人でも、簡単にカスタマイズできるのが特徴です。<a href="https://theme-silence.hateblo.jp/" target="_blank">デモサイト</a>注意事項もご確認ください。<a href="https://theme-silence.hateblo.jp/entry/2019/02/18/174516" target="_blank">デザインテーマ「Silence」利用の注意事項とカスタマイズについて - Silence</a>カスタマイズ一覧<a href="https://theme-silence.hateblo.jp/entry/2019/02/18/011844" target="_blank">デザインテーマ「Silence」にグローバルナビを設置する - Silence</a><a href="https://theme-silence.hateblo.jp/entry/2019/02/18/014751" target="_blank">デザインテーマ「Silence」にフォローボタンを設置する - Silence</a><a href="https://theme-silence.hateblo.jp/entry/2019/02/18/151417" target="_blank">デザインテーマ「Silence」にシェアボタンを設置 - Silence</a><a href="https://theme-silence.hateblo.jp/entry/2019/02/18/170643" target="_blank">デザインテーマ「Silence」にコピーライトを表示 - Silence</a><a href="https://theme-silence.hateblo.jp/entry/2019/02/18/141507" target="_blank">デザインテーマ「Silence」でできるテキストのカスタマイズ一覧 - Silence</a>【免責事項】本テーマの利用に関するいかなる被害・損害について、制作者は責任を負わないものとします。【2019年2月21日】一覧表示でのカテゴリー表記デザインを変更しました。【2019年2月26日】サイドバーのデフォルト追従配置をやめました。サイドバーの一番下のモジュールを追従配置したい場合は、以下の記事をご覧ください。https://theme-silence.hateblo.jp/entry/2019/02/18/174516
Author: shiromatakumi
Author URI: https://blog.hatena.ne.jp/shiromatakumi/
*/

@charset "UTF-8";

/*!
  Theme: Silence
  Author: shiromatakumi
  Responsive: yes
  Description:
    白と黒でシンプルに。
  Released under the GPL.
*/


/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */

button, hr, input {
  overflow: visible
}

audio, canvas, progress, video {
  display: inline-block
}

progress, sub, sup {
  vertical-align: baseline
}

html {
  line-height: 1.15;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%
}

body {
  margin: 0
}

article, aside, details, figcaption, figure, footer, header, main, menu, nav, section {
  display: block
}

h1 {
  font-size: 2em;
  margin: .67em 0
}

figure {
  margin: 1em 40px
}

hr {
  box-sizing: content-box;
  height: 0
}

code, kbd, pre, samp {
  font-family: monospace, monospace;
  font-size: 1em
}

a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects
}

abbr[title] {
  border-bottom: none;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted
}

b, strong {
  font-weight: bolder
}

dfn {
  font-style: italic
}

mark {
  background-color: #ff0;
  color: #000
}

small {
  font-size: 80%
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative
}

sub {
  bottom: -.25em
}

sup {
  top: -.5em
}

audio:not([controls]) {
  display: none;
  height: 0
}

img {
  border-style: none
}

svg:not(:root) {
  overflow: hidden
}

button, input, optgroup, select, textarea {
  font-family: sans-serif;
  font-size: 100%;
  line-height: 1.15;
  margin: 0
}

button, select {
  text-transform: none
}

[type=reset], [type=submit], button, html [type=button] {
  -webkit-appearance: button
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0
}

[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
  outline: ButtonText dotted 1px
}

fieldset {
  padding: .35em .75em .625em
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal
}

textarea {
  overflow: auto
}

[type=checkbox], [type=radio] {
  box-sizing: border-box;
  padding: 0
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px
}

[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration {
  -webkit-appearance: none
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}

summary {
  display: list-item
}

[hidden], template {
  display: none
}

html, body {
  font-family: -apple-system, BlinkMacSystemFont, San Fransisco, Segoe UI, Helvetica Neue, Helvetica, Arial, "游ゴシック Medium", Yu Gothic Medium, "游ゴシック体", YuGothic, Yu Gothic, "メイリオ", Meiryo, MS PGothic, sans-serif;
  color: #111;
  line-height: 1.6;
  letter-spacing: .04em
}

* {
  box-sizing: border-box
}

a {
  color: #0a6bc3;
  transition: all .3s
}

a:hover {
  color: #aaa
}

a.keyword {
  text-decoration: none;
  border-bottom: 1px dotted #ddd;
  color: #454545
}

h1, h2, h3, h4, h5, h6 {
  color: #111;
  line-height: 1.4
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  color: #111;
  text-decoration: none
}

h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
  color: #aaa
}

#globalheader-container {
  background-color: #111;
  color: #fff
}

#container {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  background-color: #fff
}

@media(min-width:768px) {
  #container {
    width: 96%;
    max-width: 1080px;
    border-left: 1px solid #f0f0f0;
    border-right: 1px solid #f0f0f0
  }
}

#content {
  padding: 20px 4%
}

@media(min-width:480px) {
  #content {
    padding: 40px 4%
  }
}

@media(min-width:768px) {
  #content {
    padding: 40px
  }
}

@media(min-width:992px) {
  #content-inner {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
}

#wrapper {
  width: 100%
}

@media(min-width:992px) {
  #wrapper {
    width: calc(100% - 320px)
  }
}

#box2 {
  width: 100%
}

@media(min-width:992px) {
  #box2 {
    width: 300px
  }
}

#box2-inner {
  height: 100%
}

#blog-title {
  padding: 40px 0;
  text-align: center;
  position: relative
}

@media(min-width:768px) {
  #blog-title {
    padding: 60px
  }
}

#blog-title:after {
  content: "";
  position: absolute;
  bottom: 20px;
  left: 50%;
  margin-left: -20px;
  width: 40px;
  height: 3px;
  border-top: 1px solid #111;
  border-bottom: 1px solid #111;
  z-index: 1
}

#title {
  margin: 0;
  font-size: 22.4px;
  font-size: 1.4rem;
  text-align: center
}

@media(min-width:768px) {
  #title {
    font-size: 2rem
  }
}

#title a {
  color: #111
}

#blog-description {
  font-weight: 400;
  font-size: 12.8px;
  font-size: .8rem;
  color: #666;
  margin: 1em 0 0
}

.header-image-enable #blog-title, .header-image-only #blog-title {
  margin: 0;
  padding: 0
}

.header-image-enable #blog-title:after, .header-image-only #blog-title:after {
  display: none
}

.header-image-enable #blog-title #blog-title-inner, .header-image-only #blog-title #blog-title-inner {
  height: 0;
  padding-top: 30%;
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
  background-position: center!important;
  background-size: cover
}

.header-image-enable #blog-title-content {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 800px;
  z-index: 1
}

.header-image-only #blog-title #blog-description {
  display: none
}

.si-global-nav-wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 40px;
  border-bottom: 1px solid #111;
  background-color: #fff;
  z-index: 13
}

@media(min-width:768px) {
  .si-global-nav-wrap {
    height: 60px
  }
}

.si-global-nav-wrap .search-box {
  position: absolute;
  right: 0;
  top: 0;
  width: 40px;
  height: 40px;
  z-index: 1
}

@media(min-width:768px) {
  .si-global-nav-wrap .search-box {
    width: 60px;
    height: 60px
  }
}

.sp-menu-toggle, .searchform-toggle {
  display: none
}

.si-search-module {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
  top: 40px;
  background-color: rgba(255, 255, 255, .98);
  text-align: center;
  padding-top: 100px;
  transition: all .6s;
  z-index: 20
}

@media(min-width:768px) {
  .si-search-module {
    top: 60px
  }
}

.searchform-toggle:not(:checked)~.si-search-module {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  visibility: hidden
}

.searchform-toggle:not(:checked)+.si-search-button .searchform-hidden {
  display: none
}

.searchform-toggle:checked~.si-search-module {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  visibility: visible
}

.searchform-toggle:checked+.si-search-button .searchform-show {
  display: none
}

.si-search-button {
  text-align: center;
  line-height: 40px;
  font-size: 20px;
  cursor: pointer;
  display: block;
  font-size: 14px
}

@media(min-width:768px) {
  .si-search-button {
    line-height: 60px;
    font-size: 16px
  }
}

.si-search-module .search-form {
  margin-bottom: 10px
}

.si-search-module .search-module-input {
  -webkit-appearance: none;
  width: 200px;
  height: 36px;
  line-height: 36px;
  padding: 0 8px;
  border: 1px solid #ccc;
  border-radius: 0
}

@media(min-width:768px) {
  .si-search-module .search-module-input {
    width: 300px
  }
}

.si-search-module .search-module-button {
  -webkit-appearance: none;
  height: 34px;
  background-color: #444;
  box-shadow: 0 2px #111;
  border: none;
  color: #fff;
  border-radius: 4px;
  vertical-align: top;
  width: 80px;
  cursor: pointer
}

.searchform-close-button {
  cursor: pointer
}

.si-global-nav {
  background-color: rgba(255, 255, 255, .98);
  position: fixed;
  top: 40px;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 30;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  visibility: hidden;
  transition: all .3s
}

@media(min-width:768px) {
  .si-global-nav {
    background-color: transparent;
    position: static;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    visibility: visible
  }
}

.si-global-nav-list {
  list-style: none;
  margin: 0;
  padding: 40px 0 0;
  display: block;
  text-align: center
}

@media(min-width:768px) {
  .si-global-nav-list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 0 0 0 14px
  }
}

.si-global-nav-item {
  position: relative;
  margin-right: 0;
  height: 40px;
  line-height: 40px;
  font-size: 14.4px;
  font-size: .9rem
}

@media(min-width:768px) {
  .si-global-nav-item {
    height: 60px;
    line-height: 60px;
    margin-right: 24px
  }
}

@media(min-width:768px) {
  .si-global-nav-item.has-child {
    padding-right: 17px;
    margin-right: 18px;
    position: relative
  }
  .si-global-nav-item.has-child:after {
    content: "";
    position: absolute;
    right: 6px;
    top: 50%;
    margin-top: -3px;
    width: 4px;
    height: 4px;
    border: 1px solid #ccc;
    border-bottom: none;
    border-right: none;
    -webkit-transform: rotate(225deg);
    -ms-transform: rotate(225deg);
    transform: rotate(225deg);
    z-index: 1
  }
}

.si-global-nav-item a {
  text-decoration: none;
  color: #111;
  font-weight: 700;
  display: block;
  position: relative
}

@media(min-width:768px) {
  .si-global-nav-item>a:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 10px;
    width: 0;
    height: 1px;
    background-color: #111;
    transition: all .3s;
    z-index: 1
  }
  .si-global-nav-item>a:hover:after {
    width: 80%;
    left: 10%
  }
}

.si-global-nav-children {
  position: absolute;
  top: 100%;
  left: 0;
  width: 200px;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  visibility: hidden;
  transition: opacity .3s;
  padding: 0;
  list-style: none;
  background-color: rgba(255, 255, 255, .9);
  border: 1px solid #ccc;
  border-top: none;
  z-index: 10
}

@media(min-width:768px) {
  .si-global-nav-item:hover .si-global-nav-children {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    visibility: visible
  }
}

.si-global-nav-children li {
  line-height: 38px;
  padding: 0 8px;
  transition: all .3s
}

.si-global-nav-children li a {
  display: block;
  border-bottom: 1px solid #eee
}

.si-global-nav-children li:last-child a {
  border-bottom: none
}

.si-global-nav-children li:hover {
  background-color: #eee
}

.sp-menu-button {
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  display: block;
  cursor: pointer;
  z-index: 1
}

@media(min-width:768px) {
  .sp-menu-button {
    display: none
  }
}

.sp-menu-button span {
  position: absolute;
  width: 16px;
  height: 1px;
  background-color: #111;
  left: 12px;
  transition: all .3s
}

.sp-menu-button span:first-child {
  top: 14px
}

.sp-menu-button span:nth-child(2) {
  top: 19px
}

.sp-menu-button span:nth-child(3) {
  top: 24px
}

.sp-menu-toggle:checked+.sp-menu-button span:first-child {
  top: 13px;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform-origin: 0 100%;
  -ms-transform-origin: 0 100%;
  transform-origin: 0 100%
}

.sp-menu-toggle:checked+.sp-menu-button span:nth-child(2) {
  width: 0
}

.sp-menu-toggle:checked+.sp-menu-button span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  top: 25px
}

.sp-menu-toggle:checked~.si-global-nav {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  visibility: visible
}

.sp-menu-toggle:checked+.si-search-button .searchform-show {
  display: none
}

.si-global-nav-item.nav-item-close {
  display: block;
  margin-top: 10px
}

@media(min-width:768px) {
  .si-global-nav-item.nav-item-close {
    display: none
  }
}

.nav-item-close-button {
  display: inline-block;
  background-color: rgba(0, 0, 0, .4);
  color: #fff;
  padding: 0 15px;
  line-height: 30px;
  border-radius: 4px;
  cursor: pointer
}

.breadcrumb {
  margin: 2em 0;
  padding: 6px 4%;
  border-top: 1px solid #f0f0f0;
  border-bottom: 1px solid #f0f0f0;
  font-size: 12.8px;
  font-size: .8rem;
  color: #666
}

@media(min-width:768px) {
  .breadcrumb {
    padding: 6px 40px
  }
}

.breadcrumb a {
  color: #666
}

.breadcrumb a:hover {
  color: #bbb
}

.entry {
  position: relative;
  margin-bottom: 4em
}

.entry-header {
  padding-bottom: 1em;
  margin-bottom: 2em;
  border-bottom: 1px solid #f0f0f0;
  position: relative
}

.date {
  margin-bottom: .5em;
  font-size: 12.8px;
  font-size: .8rem
}

.date a {
  color: #999;
  text-decoration: none
}

.entry-header .date a {
  display: inline-block;
  background-color: #111;
  padding: 0 6px 1px;
  color: #fff;
  -webkit-transform: rotate(-3deg) translate(-6px, -8px);
  -ms-transform: rotate(-3deg) translate(-6px, -8px);
  transform: rotate(-3deg) translate(-6px, -8px)
}

.date a:hover {
  text-decoration: underline
}

.date a:before {
  font-family: blogicon;
  content: "\f043";
  color: #999;
  vertical-align: top
}

.entry-header .date a:before {
  color: #fff
}

.entry-title {
  margin: 0 0 .3em;
  font-size: 24px;
  font-size: 1.5rem
}

@media(min-width:992px) {
  .entry-title {
    font-size: 1.6rem
  }
}

.categories {
  margin: .5em 0;
  font-size: 12.8px;
  font-size: .8rem
}

.categories a {
  margin-right: .5em
}

.entry-categories {
  margin: 1em 0 .5em
}

.entry-categories a {
  color: #888
}

.entry-categories a:hover {
  color: #bbb
}

.entry-header-menu {
  position: absolute;
  top: 0;
  right: 0
}

.entry-header .social-buttons {
  margin: 20px 0 0
}

.entry-content p {
  line-height: 1.8
}

.entry-content img, .entry-content video {
  max-width: 100%;
  height: auto
}

.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 {
  margin: 1em 0 .8em
}

.entry-content h1 {
  font-size: 24px;
  font-size: 1.5rem
}

@media(min-width:992px) {
  .entry-content h1 {
    font-size: 1.7rem
  }
}

.entry-content h2 {
  margin-top: 3em;
  font-size: 22.4px;
  font-size: 1.4rem;
  background-color: #f9f9f9;
  border-bottom: 4px solid #ccc;
  border-left: 4px solid #111;
  padding: 8px 12px
}

@media(min-width:992px) {
  .entry-content h2 {
    font-size: 1.5rem
  }
}

.entry-content h3 {
  margin-top: 3em;
  padding: 0 0 8px 10px;
  font-size: 19.2px;
  font-size: 1.2rem;
  border-bottom: 1px solid #ccc;
  border-left: 4px solid #111;
  position: relative
}

.entry-content h3:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  left: 0;
  bottom: 2px;
  background-color: #ccc
}

@media(min-width:992px) {
  .entry-content h3 {
    font-size: 1.3rem
  }
}

.entry-content h4 {
  margin-top: 3em;
  font-size: 19.2px;
  font-size: 1.2rem;
  border-left: 4px solid #111;
  padding: 2px 0 2px 10px
}

.entry-content h5 {
  margin-top: 3em;
  font-size: 17.6px;
  font-size: 1.1rem;
  border-left: 4px solid #ccc;
  padding: 2px 0 2px 10px
}

.entry-content h6 {
  margin-top: 3em;
  font-size: 16px;
  font-size: 1rem
}

.entry-content ul, .entry-content ol, .entry-content dd {
  margin: 0 0 1em 1.5em;
  padding: 0
}

.entry-content>ul, .entry-content>ol, .entry-content .section>ul, .entry-content .section>ol {
  margin: 1.2em 0;
  padding: 16px 16px 12px 40px;
  background-color: #f9f9f9
}

.entry-content ul li ul, .entry-content ul li ol, .entry-content ol li ul, .entry-content ol li ol, .entry-content dd li ul, .entry-content dd li ol {
  margin-bottom: 0;
  margin-top: 4px
}

.entry-content li {
  margin-bottom: 4px
}

.entry-content dt {
  padding: 6px 10px;
  background-color: #f9f9f9;
  font-weight: 700;
  margin-bottom: 10px
}

.entry-content dd {
  margin-bottom: 2em
}

.entry-content table {
  border-collapse: collapse;
  border-spacing: 0;
  border-bottom: 1em;
  margin-bottom: 1em;
  width: 100%;
  overflow: auto;
  display: block;
  font-size: 12.8px;
  font-size: .8rem
}

@media(min-width:992px) {
  .entry-content table {
    font-size: .9rem
  }
}

.entry-content table th, .entry-content table td {
  border: 1px solid #ddd;
  padding: 5px 10px
}

.entry-content table th {
  background: #f5f5f5
}

.entry-content blockquote {
  margin: 0 0 10px;
  padding: 30px 20px;
  background-color: #f9f9f9;
  border-radius: 4px;
  position: relative;
  z-index: 1
}

.entry-content blockquote:before, .entry-content blockquote:after {
  position: absolute;
  font-family: blogicon;
  color: #ddd;
  font-size: 20px;
  line-height: 1;
  z-index: -1
}

.entry-content blockquote:before {
  content: "\f704";
  left: 12px;
  top: 12px
}

.entry-content blockquote:after {
  content: '\f704';
  position: absolute;
  bottom: 12px;
  right: 12px;
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg)
}

.entry-content blockquote p:first-child {
  margin-top: 0
}

.entry-content blockquote p:last-child {
  margin-bottom: 0
}

.entry-content pre, .entry-content code {
  font-family: Monaco, Consolas, Courier New, Courier, monospace, sans-serif;
  color: #e3e3e3
}

.entry-content pre {
  background: #3f3f3f;
  border: none;
  line-height: 1.5;
  font-size: 12.8px;
  font-size: .8rem;
  padding: 14px;
  border-radius: 4px
}

.entry-content pre>code {
  margin: 0;
  padding: 0;
  white-space: pre;
  border: none;
  background-color: transparent;
  font-family: Monaco, Consolas, Courier New, Courier, monospace, sans-serif
}

.entry-content code {
font-size: .8rem;
margin: 1.5rem 0;
padding: 1.5rem 0.5rem;
background-color: #7f7f7f;
}

.entry-content hr {
  width: 50%;
  border: 0;
  border: none;
  border-top: 1px solid #ddd;
  margin: 2em auto
}

.entry-content .table-of-contents {
  padding: 20px 20px 20px 36px;
  margin: 1em 0;
  background-color: #f9f9f9;
  border-radius: 4px;
  font-size: 14.4px;
  font-size: .9rem
}

.entry-content .table-of-contents:before {
  content: "目次";
  display: block;
  text-align: center;
  margin-bottom: 16px;
  font-weight: 700
}

.entry-content .table-of-contents li {
  margin-bottom: 8px
}

.entry-content .table-of-contents li ul {
  margin-top: 6px
}

.entry-content .table-of-contents li ul li {
  margin-bottom: 4px
}

.entry-content .si-box {
  border: 1px solid #666;
  background-color: #f5f5f5;
  padding: 16px 12px;
  position: relative;
  margin: 40px 0 1em
}

.entry-content .si-box:before {
  content: attr(title);
  position: absolute;
  left: -1px;
  bottom: 100%;
  border: 1px solid #666;
  display: inline-block;
  padding: 1px 10px;
  font-size: 12.8px;
  font-size: .8rem;
  color: #111
}

.entry-content .si-box.red {
  border: 1px solid #cc2828;
  background-color: #fff9f9
}

.entry-content .si-box.red:before {
  color: #cc2828;
  border-color: #cc2828
}

.entry-content .si-box.blue {
  border: 1px solid #395cd0;
  background-color: #f5f7ff
}

.entry-content .si-box.blue:before {
  color: #395cd0;
  border-color: #395cd0
}

.entry-content .si-box.orange {
  border: 1px solid #d3612c;
  background-color: #fff6f2
}

.entry-content .si-box.orange:before {
  color: #d3612c;
  border-color: #d3612c
}

.entry-content .si-list-box, .entry-content .section .si-list-box {
  border: 1px solid #666;
  background-color: #f5f5f5;
  padding: 20px 14px 20px 30px;
  position: relative;
  margin: 40px 0 1em
}

.entry-content .si-list-box:before {
  content: attr(title);
  position: absolute;
  left: -1px;
  bottom: 100%;
  border: 1px solid #666;
  display: inline-block;
  padding: 1px 10px;
  font-size: 12.8px;
  font-size: .8rem;
  color: #666
}

.entry-content .si-list-box li {
  margin-bottom: 12px
}

.entry-content .si-list-box li:last-child {
  margin-bottom: 0
}

.entry-content .si-list-box.red {
  border-color: #cc2828;
  background-color: #fff9f9
}

.entry-content .si-list-box.red:before {
  color: #cc2828;
  border-color: #cc2828
}

.entry-content .si-list-box.blue {
  border-color: #395cd0;
  background-color: #f5f7ff
}

.entry-content .si-list-box.blue:before {
  color: #395cd0;
  border-color: #395cd0
}

.entry-content .si-list-box.orange {
  border-color: #d3612c;
  background-color: #fff6f2
}

.entry-content .si-list-box.orange:before {
  color: #d3612c;
  border-color: #d3612c
}

.entry-footer .social-buttons {
  margin-bottom: 1em
}

.entry-footer-section {
  color: #999;
  font-size: 14.4px;
  font-size: .9rem
}

.entry-footer-section a {
  color: #999
}

.customized-footer {
  margin: 20px 0;
  padding: 20px 0;
  border-top: 1px solid #eee
}

.si-share-area {
  margin: 20px 0 0;
  padding: 16px 0
}

.si-share-text {
  text-align: center;
  color: #777;
  font-size: 12.8px;
  font-size: .8rem;
  margin: 0 0 10px
}

.si-share-list {
  margin: 0;
  padding: 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex
}

.si-share-item {
  list-style: none;
  width: 24%;
  text-align: center;
  margin-right: 1.33%;
  font-size: 20px
}

.si-share-item:last-child {
  margin-right: 0
}

.si-share-item a {
  display: block;
  position: relative;
  line-height: 32px;
  border: 1px solid #111;
  color: #111;
  border-radius: 4px;
  box-shadow: 0 2px #111;
  padding-bottom: 16px
}

@media(min-width:768px) {
  .si-share-item a {
    line-height: 36px
  }
}

.si-share-item a:hover {
  background-color: #f5f5f5;
  -webkit-transform: translateY(1px);
  -ms-transform: translateY(1px);
  transform: translateY(1px);
  box-shadow: 0 0 #111
}

.si-share-count {
  position: absolute;
  font-size: 12px;
  line-height: 1;
  text-align: center;
  bottom: 6px;
  left: 0;
  width: 100%;
  display: inline-block;
  color: #111
}

.si-follow {
  margin: 20px 0;
  padding: 20px 0;
  background-color: #f9f9f9
}

.si-follow-text {
  text-align: center;
  margin: 0 0 8px;
  font-size: 12.8px;
  font-size: .8rem;
  color: #999
}

.si-follow-btns {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center
}

.si-follow-btn {
  display: inline-block;
  color: #111;
  width: 56px;
  text-align: center;
  line-height: 50px;
  border-radius: 4px;
  background-color: #fff;
  box-shadow: 0 2px #eee;
  margin-right: 8px;
  font-size: 20px
}

.si-follow-btn:last-child {
  margin-right: 0
}

.si-follow-btn i {
  line-height: 50px
}

#box2 .si-follow {
  background-color: transparent
}

#box2 .si-follow-btn {
  margin-right: 4px;
  border: 1px solid #f0f0f0
}

#box2 .si-follow-btn:last-child {
  margin-right: 0
}

.related-entries-entry-body {
  color: #666;
  font-size: 12.8px;
  font-size: .8rem
}

.comment-box ul {
  list-style: none;
  margin: 0 0 15px;
  padding: 0;
  font-size: 95%;
  line-height: 1.7
}

.comment-box li {
  padding: 10px 0 10px 60px;
  border-bottom: 1px solid #eee;
  position: relative
}

.comment-box .read-more-comments {
  padding-left: 0
}

.comment-box .hatena-id-icon {
  position: absolute;
  top: 26px;
  left: 0;
  width: 50px!important;
  height: 50px!important;
  border-top-right-radius: 3px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
  border-radius: 3px;
  background-clip: padding-box
}

.comment-user-name {
  margin: 0 0 10px;
  font-weight: 700
}

.comment-content {
  margin: 0 0 10px;
  word-wrap: break-word;
  font-size: 14.4px;
  font-size: .9rem;
  position: relative;
  padding: 16px;
  background-color: #f0f0f0;
  border-radius: 6px;
  z-index: 1;
  color: #111
}

.comment-content:after {
  content: "";
  position: absolute;
  right: 100%;
  top: 16px;
  border: 8px solid transparent;
  border-right-color: #f0f0f0
}

.comment-content p {
  margin: 0 0 10px
}

.comment-metadata {
  font-size: 80%;
  color: #999;
  margin: 0
}

.comment-metadata a {
  color: #999
}

.leave-comment-title {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  padding: 4px 10px;
  margin-bottom: 0;
  line-height: 18px;
  color: #454545;
  background-color: #fff;
  text-align: center;
  vertical-align: middle;
  border-top-right-radius: 2px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
  border-radius: 2px;
  background-clip: padding-box;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  border: 1px solid rgba(0, 0, 0, .2);
  text-decoration: none!important
}

.leave-comment-title:hover {
  background-color: #f5f5f5;
  text-decoration: none!important
}

@media screen and (max-width:767px) {
  .comment-box ul {
    line-height: 1.5
  }
  .comment-box .hatena-id-icon {
    top: 26px
  }
}

.pager {
  margin: 2em 0;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between
}

.pager-prev, .pager-next {
  font-size: 14.4px;
  font-size: .9rem;
  max-width: 49%
}

@media(min-width:768px) {
  .pager-prev, .pager-next {
    font-size: 1rem
  }
}

#box2 .hatena-module {
  margin-bottom: 50px;
  font-size: 13.6px;
  font-size: .85rem
}

@media(min-width:768px) {
  #box2 .hatena-module {
    font-size: .9rem
  }
}

#box2 .hatena-module:last-of-type {
  position: static;
  top: 20px;
  margin-bottom: 0
}

.hatena-module-title {
  margin-bottom: 20px;
  padding: 0 0 10px;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  z-index: 2;
  background-color: #fff;
  border-bottom: 1px solid #111
}

.hatena-module-title:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  border: 6px solid transparent;
  border-top: 6px solid #111;
  -webkit-transform: translate(-50%, 1px);
  -ms-transform: translateX(-50%, 1px);
  transform: translateX(-50%, 1px);
  z-index: -1
}

.hatena-module-title a {
  color: #111;
  text-decoration: none
}

.hatena-module-title a:hover {
  text-decoration: underline
}

.hatena-module-profile .profile-icon {
  float: left;
  margin: 0 10px 10px 0
}

.hatena-module-profile .id {
  display: block;
  font-weight: 700;
  margin-bottom: .5em
}

.hatena-module-profile .profile-description p {
  margin-top: 0
}

.archive-module-button {
  color: #ddd;
  font-size: 12px;
  margin-right: 4px
}

.hatena-urllist {
  list-style: none;
  margin: 0;
  padding: 0
}

.hatena-urllist li {
  padding: .5em 0
}

.hatena-urllist li:last-child {
  padding-bottom: 0
}

.hatena-urllist li a {
  color: #111
}

.hatena-urllist li a:hover {
  text-decoration: underline
}

.hatena-urllist .urllist-category-link {
  font-size: 11.2px;
  font-size: .7rem;
  padding: .1em .3em
}

.urllist-image-link img {
  transition: opacity .3s
}

.urllist-image-link img:hover {
  opacity: .6;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"
}

.hatena-urllist .urllist-date-link a {
  color: #999
}

.hatena-urllist .urllist-entry-body {
  margin-top: .3em
}

.hatena-urllist .archive-module-year .archive-module-month {
  margin-top: 4px
}

.hatena-module-category .hatena-urllist li {
  padding: .3em 0
}

.hatena-module-search-box .search-form {
  border: 1px solid #ddd;
  width: 100%;
  box-sizing: border-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center
}

.hatena-module-search-box .search-module-input {
  -ms-flex: 1 0;
  -webkit-flex: 1 0;
  flex: 1 0;
  padding: 0 5px;
  color: #454545;
  background: none;
  border: none;
  outline: none;
  height: 34px;
  line-height: 34px
}

.hatena-module-search-box .search-module-button {
  width: 24px;
  height: 24px;
  margin-right: 5px;
  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cdefs%3E%3Cstyle%3E.a%7Bfill:none;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3Esearch%3C/title%3E%3Cpath d='M16.7,15l-3.4-3.3h-.1a5.4,5.4,0,0,0,.9-3.1,5.6,5.6,0,1,0-5.6,5.6,5.4,5.4,0,0,0,3.1-.9.1.1,0,0,0,.1.1L15,16.7a1.1,1.1,0,0,0,.8.3,1.6,1.6,0,0,0,.9-.3,1.4,1.4,0,0,0,0-1.7M8.5,12.3A3.8,3.8,0,0,1,4.8,8.5,3.8,3.8,0,0,1,8.5,4.7a3.9,3.9,0,0,1,3.8,3.8,3.8,3.8,0,0,1-3.8,3.8'/%3E%3Crect class='a' width='20' height='20'/%3E%3C/svg%3E") no-repeat center;
  background-size: 20px 20px;
  border: none;
  outline: none;
  color: transparent;
  overflow: hidden;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  cursor: pointer
}

.hatena-module-search-box .search-module-button:hover {
  opacity: .5;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"
}

.entry-footer-modules .hatena-module-related-entries {
  margin-bottom: 20px
}

.entry-footer-modules .related-entries-item {
  border-bottom: 1px solid #f0f0f0;
  padding: 20px 0 14px
}

.entry-footer-modules .related-entries-item:last-child {
  padding: 20px 0 10px
}

.entry-footer-modules .hatena-urllist a {
  font-size: 16px;
  font-size: 1rem;
  color: #0a6bc3;
  text-decoration: underline
}

.entry-footer-modules .hatena-urllist a:hover {
  color: #999
}

.entry-footer-modules .hatena-urllist .related-entries-date-link a {
  font-size: 12.8px;
  font-size: .8rem;
  color: #666;
  text-decoration: none
}

.entry-footer-modules .related-entries-entry-body {
  color: #888;
  margin: 12px 0 10px
}

.page-about .entry-content dt {
  font-weight: 700;
  border-bottom: 1px solid #ddd;
  margin-bottom: .5em
}

.page-about .entry-content dd {
  margin-left: 0;
  margin-bottom: 2em
}

.archive-header-category {
  text-align: center
}

.archive-entries {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-align-items: start;
  -ms-flex-align: start;
  align-items: start
}

.page-archive .archive-entry {
  width: 100%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
  margin-bottom: 40px
}

@media(min-width:768px) {
  .page-archive .archive-entry {
    width: 49%
  }
}

.archive-entry .categories {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 0 2px;
  -webkit-order: 3;
  -ms-flex-order: 3;
  order: 3
}

.archive-entry .archive-category-link {
  display: inline-block;
  background-color: #f0f0f0;
  color: #111;
  padding: 1px 4px;
  margin: 0 4px 4px 0;
  font-size: 12.8px;
  font-size: .8rem;
  text-decoration: none
}

.archive-entry .archive-category-link:hover {
  background-color: #ddd
}

.archive-entry-header {
  -webkit-order: 2;
  -ms-flex-order: 2;
  order: 2;
  width: 100%
}

.page-archive .archive-date {
  margin: 8px 0 0;
  width: 100%
}

.page-archive .entry-title {
  font-size: 19.2px;
  font-size: 1.2rem;
  margin: .3em auto;
  width: 100%
}

.page-archive .entry-thumb {
  background-size: cover;
  background-position: center;
  width: 100%;
  height: 0;
  padding-top: 66%;
  float: none;
  margin-right: 0
}

.entry-thumb-link {
  width: 100%;
  height: auto;
  -webkit-order: 1;
  -ms-flex-order: 1;
  order: 1;
  display: block;
  position: relative
}

.entry-thumb-link:before {
  content: "read more";
  color: #111;
  position: absolute;
  top: 50%;
  left: 50%;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  visibility: hidden;
  transition: all .4s;
  -webkit-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  z-index: 2;
  font-size: 20px
}

.entry-thumb-link:hover:before {
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  visibility: visible
}

.entry-thumb-link:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  visibility: hidden;
  transition: all .4s;
  background-color: rgba(255, 255, 255, .8);
  z-index: 1
}

.entry-thumb-link:hover:after {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  visibility: visible
}

.archive-entry-body {
  -webkit-order: 4;
  -ms-flex-order: 4;
  order: 4;
  width: 100%
}

.page-archive .entry-description {
  margin: 0;
  font-size: 12.8px;
  font-size: .8rem;
  color: #999;
  line-height: 1.4
}

.page-archive .social-buttons {
  display: block;
  margin-top: .3em
}

.entry-see-more {
  display: block;
  background-color: #f0f0f0;
  color: #111;
  text-decoration: none;
  text-align: center;
  font-weight: 700;
  padding: 10px 0;
  margin: 2em 0;
  border-radius: 4px;
  border-bottom: 2px solid #ddd
}

.entry-see-more:after {
  font-family: blogicon;
  content: "\f006";
  margin-left: 8px;
  font-weight: 400;
  font-size: 12px
}

#footer {
  margin-top: 0;
  padding: 40px 0;
  text-align: center;
  font-size: 12.8px;
  font-size: .8rem;
  color: #999;
  border-top: 1px solid #f0f0f0;
  background-color: #fff
}

#footer a {
  color: #999
}

#footer p {
  margin: .5em auto
}

.si-footer {
  border-top: 1px solid #eee;
  padding: 20px 10px
}

.si-copyright {
  font-size: 14.4px;
  font-size: .9rem;
  margin: 0;
  color: #666;
  text-align: center
}