/* <system section="theme" selected="report"> */
@charset "UTF-8";html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}nav ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}ins{background-color:#ff9;color:#000;text-decoration:none}mark{background-color:#ff9;color:#000;font-style:italic;font-weight:700}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #cccccc;margin:1em 0;padding:0}input,select{vertical-align:middle}body{font-family:Helvetica Neue,Helvetica,Arial,ヒラギノ角ゴ Pro W3,Hiragino Kaku Gothic Pro,メイリオ,Meiryo,ＭＳ Ｐゴシック,MS PGothic,sans-serif;background:transparent;color:#222}a{color:#456898}a:hover{color:#073472}.clearfix{display:block;*zoom: 1}.clearfix:after{display:block;visibility:hidden;font-size:0;height:0;clear:both;content:"."}#globalheader-container{background:#fff;border-bottom:1px solid #ccc;position:sticky;top:0}#container{width:810px;text-align:center;margin:0 auto;background:#fff;padding:0 30px}#container-inner{text-align:left}#blog-title{padding:70px 0}#title{display:inline-block;*display: inline;*zoom: 1;font-size:24px}#title a{text-decoration:none;color:#222}#blog-description{display:inline-block;*display: inline;*zoom: 1;font-size:12px;margin-left:1em}.header-image-enable #blog-title #title{padding:20px 0 0 20px}.header-image-enable #blog-title,.header-image-only #blog-title{padding:30px 0}#content-inner:after{content:".";display:block;clear:both;height:0;visibility:hidden}#wrapper{width:560px;float:left}.entry{margin-bottom:80px}.entry-header{margin-bottom:20px;position:relative}.date{font-size:13px;font-weight:700;padding-bottom:5px;border-bottom:1px solid #ccc;margin-bottom:15px}.date a{color:#000;text-decoration:none}.entry-title{margin-bottom:15px;line-height:1.3}.entry-title a{font-size:20px;color:#222;text-decoration:none}.categories{font-size:12px}.categories a{margin-right:.5em}.entry-header-menu{position:absolute;top:0;right:0;font-size:13px}.entry-footer{margin-top:20px;font-size:13px}.entry-footer-section,.social-buttons{margin-bottom:15px}.pager{font-size:14px;margin:15px 0;text-align:left;display:block;*zoom: 1}.pager:after{display:block;visibility:hidden;font-size:0;height:0;clear:both;content:"."}.pager-next,.pager-prev{display:inline-block;max-width:250px;line-height:1.5}.pager-next{float:right}.pager-prev{float:left}#footer{width:830px;margin:0 auto;text-align:center;padding:10px 20px;background:#fff;line-height:1.3;font-size:13px}#footer img{vertical-align:middle}.entry-comment{border-bottom:1px solid #dfdfdf;list-style:none;padding-bottom:15px;margin-bottom:15px}.comment-user-name .hatena-id-icon{vertical-align:middle;margin-right:.2em}.comment-user-name{margin-bottom:7px}.comment-user-name a{color:#222;font-weight:700}.comment-content{line-height:1.5em;margin-bottom:7px;word-wrap:break-word}.comment-user-name,.comment-content{font-size:14px}.comment-metadata,.comment-metadata a{color:#aaa}.leave-comment-title{font-size:13px;font-weight:700;margin:10px 0}.leave-comment-title:hover{text-decoration:underline}.entry-content{font-size:15px;line-height:1.7}.entry-content p{margin:.7em 0 1em}.entry-content img{max-width:100%}.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6{margin:1em 0 .5em;line-height:1.7}.entry-content h1{font-size:160%}.entry-content h2{font-size:150%}.entry-content h3{font-size:140%}.entry-content h4{font-size:120%}.entry-content h5{font-size:110%}.entry-content h6{font-size:100%}.entry-content h1,.entry-content h2,.entry-content h3{border-bottom:1px dotted #999}.entry-content ul,.entry-content ol,.entry-content dd{margin:0 0 0 1.5em;padding:0}.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6,.footnote-number{scroll-margin-top:56px}.entry blockquote{padding:10px;margin:1em 0;border:1px solid #ccc}.entry blockquote p{margin-top:0;margin-bottom:0}.entry-content table{border-collapse:collapse;border-spacing:0}.entry-content table th,.entry-content table td{border:1px solid #ddd;padding:5px 10px}.entry-content table th{background:#fafafa}pre{font-size:12px;padding:10px;border:1px solid #ccc}.entry-content a:visited{color:#aaa}a.keyword{text-decoration:none;border-bottom:1px solid #DEDEDE;color:#222}pre.lang-aa{font-size:14px;line-height:15px}.hatena-asin-detail li{line-height:1.4}#box2{width:220px;float:right;font-size:14px;word-wrap:break-word}.hatena-module{margin-bottom:30px}.hatena-module-title{font-size:15px;font-weight:700;margin-bottom:20px}.hatena-module-title a{color:#222;text-decoration:none}.hatena-module-title a:hover{text-decoration:underline}.hatena-module .profile-icon{margin-bottom:5px}.hatena-module .id{display:block;margin-bottom:5px}.profile-description{font-size:12px;margin-bottom:5px}.hatena-module-body li{list-style:none;margin-bottom:.7em}.hatena-module-body{line-height:1.5}.urllist-item{padding-bottom:10px;border-bottom:1px solid #ddd}form.search-form input{border:1px solid #ccc;vertical-align:middle}.search-form .search-module-input{width:180px;padding:3px;margin:0;font-size:12px}.search-form .search-module-button{height:23px;width:23px;border:none;text-indent:-999px;cursor:pointer;background:url(https://cdn.blog.st-hatena.com/images/theme/search_g.png?version=4f1cb770a72175570fc55ef0e22b7c) 50% 50% no-repeat}.page-about dt{font-size:16px;font-weight:700;border-bottom:1px solid #ccc;margin-bottom:5px;padding-bottom:2px}.page-about dd{margin-left:0;margin-bottom:30px}.page-about .entry-content img.profile-icon{height:16px;width:16px}.page-archive #main{padding:0;margin:0 auto;text-align:center}.page-archive #main-inner{font-size:14px;text-align:left}.page-archive .date{border:none;margin-bottom:10px;padding-bottom:0}.page-archive .categories{margin-bottom:10px}.page-archive .entry-title{font-size:18px;border-bottom:1px solid #ccc;padding-bottom:2px;margin-bottom:10px}.page-archive .entry-title a{color:#000;text-decoration:none}.page-archive .entry-title a:hover{text-decoration:underline}.page-archive p{line-height:1.5;margin-bottom:1em}.page-archive #main-inner section{margin-bottom:30px}.page-archive #main-inner .entry-title{font-size:14px;line-height:1.5;color:#000;text-decoration:none}.page-archive #main-inner .entry-title:hover{text-decoration:underline}.page-archive #main-inner ul{list-style:none;margin:0;padding:0}.page-archive #main-inner li{margin:0;padding:0 0 10px}.page-archive #main-inner li .categories{margin-top:10px}.breadcrumb{margin-bottom:20px;font-size:14px}

/* </system> */

/* <system section="background" selected="default"> */
/* default */
/* </system> */

:root {
  --background-color: #fff;
  --bg-inline-code: rgba(0, 0, 0, 0.03);
  --bg-table-header: #fafafa;
  --border-inline-code: #ccc;
  --text-inline-code: #222;
  --text: #222;
  --text-h3: #444;
  --text-h4: #555;
  --text-h5: #666;
  --text-link: #456898;
  --text-link-hover: #073472;
  --text-tag: #888;
}

@media (prefers-color-scheme: dark) {
  :root {
    --background-color: #191d21;
    --bg-inline-code: rgba(232, 232, 232, 0.03);
    --bg-table-header: rgba(232, 232, 232, 0.05);
    --border-inline-code: #3c3e42;
    --text: #fafafa;
    --text-h3: #fff;
    --text-h4: #fff;
    --text-h5: #fff;
    --text-inline-code: #e8912d;
    --text-link: #1d9bd1;
    --text-link-hover: #1d9bd1;
    --text-tag: var(--text);
  }

  img {
    filter: brightness(80%) !important;
  }
}

html {
  font-size: 16px;
}

body {
  color: var(--text);
  font-family: "Hiragino Mincho Pro", "YuMincho", "Open Sans","Hiragino Kaku Gothic ProN",Meiryo,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing: antialiased;
}

a {
  text-decoration: none;
}

#globalheader-container , #container {
  background-color: var(--background-color);
}

a:hover {
  text-decoration: none !important;
}

@media screen and (min-resolution: 2dppx) {
  body {
    -webkit-font-smoothing: antialiased;
  }
}

#blog-title {
  display: none;
}

#container {
  box-sizing: border-box;
  padding: 100px 80px 0;
  width: 100%;
}

#content-inner {
  display: flex;
  justify-content: center;
}

#wrapper {
  width: unset;
  flex-grow: 1;
  max-width: 1080px;
  min-width: 600px;
}

#box2 {
  min-width: 220px;
  max-width: 300px;
  margin-left: 40px;
}

.entry-date {
  font-size: 1rem;
}

.entry-date a {
  color: var(--text);
}

.entry-title a {
  color: var(--text);
  font-size: 1.4rem;
}

.entry-categories {
  text-align: left;
}

.entry-category-link {
  border-radius: 4px;
  border: #bbb solid 1px;
  color: var(--text-tag);
  display: inline-block;
  margin-bottom: 4px;
  margin-right: 4px;
  padding: 2px 4px;
}

.entry-category-link::before {
  content: '#';
}

.categories a {
  margin-right: 2px;
}

.categories a:hover {
  color: var(--text-tag);
  text-decoration: none;
}

a.entry-see-more {
  border: solid var(--text) 1px;
  color: var(--text) !important;
  display: block;
  font-size: 1rem;
  height: 40px;
  line-height: 40px;
  margin: auto;
  text-align: center;
  text-decoration: none;
  width: 260px;
}

a.entry-see-more {
  margin-top: 24px;
  transition: background-color 0.1s ease-out;
}

a.entry-see-more:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

.entry-content {
  font-size: 1.3rem;
}

.entry-content h2 {
  background-color: var(--background-color);
  border-bottom-style: dashed;
  font-size: 1.8rem;
  position: sticky;
  position: -webkit-sticky;
  top: 0;
  z-index: 1;
}

.entry-content h3 {
  color: var(--text-h3);
  font-size: 1.2rem;
}

div.section h4 {
  color: var(--text-h4);
  font-size: 1.1em;
}

div.section h5 {
  color: var(--text-h5);
  font-size: 1em;
}

div.section p {
  text-indent: 1em;
}

.entry-content code:not(pre) {
  background-color: var(--bg-inline-code);
  border-color: var(--border-inline-code);
  color: var(--text-inline-code)
}

pre.code {
  background-color: #333;
  border-style: none;
  color: white;
  font-size: 1rem;
  position: relative;
}

pre.code + pre.code {
  margin-top: 1em;
}

pre.code:not([data-lang=''])::before {
  background-color: #333;
  border-bottom: solid 1px white;
  border-left: solid 1px white;
  color: white;
  content: attr(data-lang);
  font-size: 11px;
  padding: 1px 4px;
  position: absolute;
  right: 0;
  top: 0;
  opacity: 1;
  transition: opacity ease-in .1s;
}

pre.code:not([data-lang='']):hover::before {
  opacity: 0;
}

.entry-content table {
  margin-bottom: 1rem;
}

.entry-content table th {
  background-color: var(--bg-table-header);
}

.synComment {
  color: #888;
}

.synConstant {
  color: #e6db74;
}

.synIdentifier {
  color: #66d9ef;
}

.synPreProc {
  color: #a6e22e;
}

.synSpecial {
  color: #ccc;
}

.synStatement {
  color: #f92672;
}

.synType {
  color: #66d9ef;
}

.lang-diff .synStatement {
  color: #66d9ef;
}

.lang-diff .synSpecial {
  color: #f92672;
}

.lang-diff .synIdentifier {
  color: #a6e22e;
}

.lang-diff .synPreProc {
  color: white;
}

.entry {
  font-feature-settings: 'palt';
  text-align: justify;
}

.entry-content a,
.entry-content a:visited,
.entry-footer a,
.entry-footer a:visited,
#box2 a:visited,
#box2 a {
  color: var(--text-link);
}

.entry-content a:hover, .entry-footer a:hover, #box2 a:hover {
  color: var(--text-link-hover);
}

.entry-content blockquote {
  display: block;
  position: relative;
}

.entry-content blockquote::before {
  color: #bbb;
  content: '”';
  font-size: 4rem;
  height: 100%;
  line-height: 100%;
  position: absolute;
  right: 8px;
  top: 4px;
}

.embed-card + .hatena-citation {
  display: none;
}

div.footnote::before {
  background-color: var(--background-color);
  border-bottom: #999 dashed 1px;
  content: '脚注';
  display: block;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.7;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1;
}

a[name] {
  margin-top: -60px;
  padding-top: 60px;
}

.profile-description {
  font-size: 0.8rem;
}

.profile-description p {
  text-align: justify;
}

.profile-description p::before {
  content: '亀岡亮太（かめおか　りょうた）';
  font-size: 0.9rem;
  display: block;
  margin-bottom: 4px;
}

.hatena-module-title {
  font-size: 1rem;
  font-weight: normal;
}

.hatena-module:not(:last-of-type) {
  border-bottom: #ddd solid 1px;
  margin-bottom: 28px;
  padding-bottom: 20px;
}

.urllist-item {
  border-bottom: #ddd dashed 1px;
}

.herp-ad {
  border: #ddd solid 1px;
  line-height: 2rem;
  padding: 16px;
}

a.keyword {
  border-bottom-style: none;
}

a:hover {
  text-decoration: underline;
}

article:first-of-type:last-of-type .social-buttons {
  margin-bottom: 100px;
}

article:first-of-type:last-of-type .social-buttons::after {
  content: 'もしこの記事がおもしろいと思っていただけましたら，是非ブックマークやシェアをお願いします．筆者の励みになり，別のおもしろい記事が読める蓋然性が高くなります．';
  display: block;
  font-size: 1rem;
  margin-top: 8px;
  line-height: 1.3;
}

.page-archive .entry-title a,
.date.archive-date a {
  color: var(--text);
}
