body {
  background-color: #fff;
  font-size: 16px;
  line-height: 1.6em;
  padding: 0 1.5em;
  margin: 0 auto;
  max-width: 750px;
  word-break: break-word;
}
@media screen and (min-width: 750px) {
  body {
    margin-left: calc((100vw - 3em - 750px) / 2);
  }
}
.header {
  display: flex;
  margin: 0 auto;
  padding: 1em;
  padding-bottom: 0.5em;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}
.header .blog-title .logo {
  font-family: 'Noto Serif SC', serif;
  color: #000;
  font-size: 1.2em;
  text-decoration: none;
}
.header .blog-title {
  height: 26.5;
}
.header .menu {
  margin: 0 auto;
  vertical-align: text-top;
  padding-left: 0;
}
.header .menu .menu-item {
  display: inline-block;
  padding: 0.25em;
}
.header .menu .menu-item-link {
  color: #818181;
  text-decoration: none;
  font-size: 1em;
}
.header .menu .menu-item-link:hover {
  color: #111;
}
.header .menu .current-menu-item-link {
  color: #111;
  text-decoration: none;
}
@media screen and (max-width: 320px) {
  .header .menu {
    display: inline-flex;
  }
}
.post {
  padding: 1.3em 2em;
  border: 1px #ddd;
  border-style: solid none;
}
.post h1.title {
  margin: 0;
  display: flex;
  justify-content: center;
  line-height: 1.2em;
  text-align: center;
}
.post h2,
.post h3,
.post h4,
.post h5,
.post h6 {
  font-size: 1.2em;
  line-height: 1.2em;
}
.post a {
  color: #616161;
  text-decoration: underline;
}
.post ul {
  padding-left: 30px;
}
.post ol {
  padding-left: 20px;
}
.post blockquote {
  border-left: 2px solid #616161;
  padding-left: 20px;
  margin: 1rem 0;
}
.post p code {
  padding: 0.2em;
}
.post code,
.post pre {
  font-size: 16px;
  background-color: #f7f7f7;
  font-family: 'Fantasque Sans Mono', 'PT Mono', 'Source Code Pro', monospace;
}
.post .highlight {
  position: relative;
  margin: 1em 0;
  border-radius: 2px;
  line-height: 1.1em;
  background-color: #f8f8f8;
  overflow-x: auto;
}
.post .highlight table,
.post .highlight tr,
.post .highlight td {
  width: 100%;
  border-collapse: collapse;
  padding: 0;
  margin: 0;
}
.post .highlight .gutter {
  display: none;
}
.post .highlight .code pre {
  line-height: 1em;
  margin: 0;
}
.post .highlight .code pre .line {
  width: auto;
  height: 18px;
}
.post pre {
  padding: 0.3em;
  color: #525252;
}
.post img {
  height: auto;
  margin: auto;
  display: flex;
  justify-content: center;
  max-width: 100%;
  box-sizing: content-box;
  width: 100%;
}
.post .shk {
  margin: 1em 0;
}
@media screen and (max-width: 320px) {
  .post {
    padding: 30px 16px;
  }
}
@media screen and (max-width: 500px) {
  .post {
    padding: 1.3em 1em;
  }
}
#prev_next {
  display: flex;
  flex-direction: row;
  margin-top: 15px;
  margin-bottom: 15px;
  margin-left: 2em;
  margin-right: 2em;
  font-size: 16px;
  justify-content: space-between;
}
#prev_next a {
  color: #616161;
  transition: color linear 200ms;
}
#prev_next .article-nav-title {
  display: inline-block;
  color: #616161;
  text-decoration: underline;
}
#prev_next p {
  margin: 0;
}
#prev_next .next {
  display: inline-block;
  text-align: right;
  margin-left: 5px;
  box-sizing: border-box;
  width: 50%;
}
#prev_next .prev {
  display: inline-block;
  margin-right: 5px;
  box-sizing: border-box;
  width: 50%;
}
@media screen and (max-width: 500px) {
  #prev_next {
    margin-left: 1em;
    margin-right: 1em;
  }
}
.page-nav {
  display: flex;
  justify-content: center;
  border-style: solid none none none;
  border: 1px #ddd;
}
.page-nav .more {
  margin-top: 1em;
  text-decoration: none;
  color: #808080;
}
.license {
  display: flex;
  justify-content: center;
  border-style: solid none none none;
  border: 1px #ddd;
}
.posts .post-title {
  font-size: 1.5em;
  line-height: 1.2em;
  justify-content: center;
  display: flex;
  text-align: center;
}
.posts .post-title .post-title-link {
  color: #000;
  font-weight: bold;
  text-decoration: none;
}
.posts .post-content {
  margin-bottom: 1em;
}
.posts .post-content a {
  color: #616161;
  text-decoration: underline;
}
.posts .post-content .More {
  padding: 1em 0;
}
.posts .post-meta {
  color: #000;
}
.archive {
  padding: 0 10%;
  border: 1px #ddd;
  border-style: solid none none none;
}
.archive .post-archive {
  list-style: none;
  padding: 0;
}
.archive .post-archive .years {
  border: 1px #ddd;
  border-style: none none solid none;
  padding-bottom: 0.5em;
}
.archive .post-archive .post-item .post-date {
  display: inline-block;
  margin-right: 10px;
}
.archive .post-archive .post-item .post-title {
  color: #000;
  text-decoration: none;
}
/* normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
/* 1 */
  -webkit-text-size-adjust: 100%;
/* 2 */
}
main {
  display: block;
}
h1 {
  margin: 0.67em 0;
}
hr {
  box-sizing: content-box;
/* 1 */
  height: 0;
/* 1 */
  overflow: visible;
/* 2 */
}
pre {
  font-family: monospace, monospace;
/* 1 */
  font-size: 1em;
/* 2 */
}
a {
  background-color: transparent;
}
abbr[title] {
  border-bottom: none;
/* 1 */
  text-decoration: underline;
/* 2 */
  text-decoration: underline dotted;
/* 2 */
}
b,
strong {
  font-weight: bolder;
}
code,
kbd,
samp {
  font-family: monospace, monospace;
/* 1 */
  font-size: 1em;
/* 2 */
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
img {
  border-style: none;
}
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
/* 1 */
  font-size: 100%;
/* 1 */
  line-height: 1.15;
/* 1 */
  margin: 0;
/* 2 */
}
button,
input {
/* 1 */
  overflow: visible;
}
button,
select {
/* 1 */
  text-transform: none;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}
fieldset {
  padding: 0.35em 0.75em 0.625em;
}
legend {
  box-sizing: border-box;
/* 1 */
  color: inherit;
/* 2 */
  display: table;
/* 1 */
  max-width: 100%;
/* 1 */
  padding: 0;
/* 3 */
  white-space: normal;
/* 1 */
}
progress {
  vertical-align: baseline;
}
textarea {
  overflow: auto;
}
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
/* 1 */
  padding: 0;
/* 2 */
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
[type="search"] {
  -webkit-appearance: textfield;
/* 1 */
  outline-offset: -2px;
/* 2 */
}
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
/* 1 */
  font: inherit;
/* 2 */
}
details {
  display: block;
}
summary {
  display: list-item;
}
template {
  display: none;
}
[hidden] {
  display: none;
}
@media (prefers-color-scheme: dark) {
  body {
    background-color: #2f2f2f;
    color: #fff;
  }
  .header .blog-title .logo {
    color: #fff;
  }
  .header .menu .current-menu-item-link {
    color: #fff;
  }
  .header .menu .menu-item-link:hover {
    color: #fff;
  }
  .posts .post-title .post-title-link {
    color: #fff;
  }
  .posts .post-meta {
    color: #fff;
  }
  .posts .post-content a {
    color: #e5e5e5;
  }
  .post {
    border-color: #616161;
  }
  .post code,
  .post pre {
    background-color: #000;
    color: #fff;
  }
  .post .highlight {
    background-color: #000;
  }
  .post a {
    color: #e5e5e5;
  }
  #prev_next a {
    color: #e5e5e5;
  }
  #prev_next .article-nav-title {
    color: #e5e5e5;
  }
  .archive .post-archive .post-item .post-title {
    color: #fff;
  }
}
@media screen and (min-width: 320px) {
  body {
    font-size: calc(16px + 2 * ((100vw - 320px) / 960));
  }
}
