/* <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=2789d874a2f9b79f9e81907e65b90f) 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> */

/* 幅 ======== */
#container {
  /*width: 980px;*/
  width: 95%;
  max-width: 1110px;
}
#main {
  /*width: 640px;*/
  width: 100%;
  max-width: 100%;
}

/* レスポンシブデザイン調整 */
/*  */
@media screen and (min-width: 1120px) { /* 1140px がよく使われてそう */
  #wrapper {
    width: calc(75% - 50px); /*calc((100% / 12) * 8);*/
    max-width: calc(1110px - 300px - 50px); /*calc((100% / 12) * 8);*/
  }
  #box2 {
    /*width: 280px;*/
    width: 25%;
    max-width: 300px; /*calc(((100% / 12) * 4) - 50px);*/
    float: right;
  }
  /* ブログタイトルフォントサイズ ======== */
  #title {
    /*font-size: 24px;*/
    font-size: 30px;
  }
  /* ブログ概要フォントサイズ ======== */
  #blog-description {
    /*font-size: 12px;*/
    font-size: 18px;
  }
  /* 記事日付フォントサイズ ======== */
  .date {
    /*font-size: 13px;*/
    font-size: 90%;
  }
  /* 記事タイトルフォントサイズ ======== */
  .entry-title a {
    /*font-size:20px;*/
    font-size:25px;
  }
  /* 全体フォントサイズ ======== */
  .entry-content {
      /*font-size:14px;*/
      font-size:18px;
  }
  /* 章タイトルフォントサイズ ======== */
  .entry-content h3 {
    /*font-size:140%; = 20px*/
    font-size:130%;
  }
  /* コードブロックフォントサイズ ======== */
  pre.code {
    font-size:15px;
  }
}
@media screen and (max-width: 1119px) {
  #wrapper {
    width: calc(100% - 5px);
    max-width: (100% - 5px);
  }
  #box2 {
    width: calc(100% - 5px);
    max-width: (100% - 5px);
    margin-left: auto;
    margin-right: auto;
    float: none;
    font-size: calc(14px * 1.25);
  }
  /* ブログタイトルフォントサイズ ======== */
  #title {
    font-size: calc(30px * 1.25);
  }
  /* ブログ概要フォントサイズ ======== */
  #blog-description {
    font-size: calc(18px * 1.25);
  }
  /* 記事日付フォントサイズ ======== */
  .date {
    font-size: calc(90% * 1.25);
  }
  /* 記事タイトルフォントサイズ ======== */
  .entry-title a {
    font-size: calc(25px * 1.25);
  }
  /* 全体フォントサイズ ======== */
  .entry-content {
      font-size: calc(18px * 1.25);
  }
  /* 章タイトルフォントサイズ ======== */
  .entry-content h3 {
    font-size: calc(130% * 1.25);
  }
  /* コードブロックフォントサイズ ======== */
  pre.code {
    font-size: calc(15px * 1.25);
  }
}

/* ブログタイトルアンダーライン ======== */
#blog-title-content {
  padding-bottom: 1em;
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: hsl(210, 30%, 90%);
}

/* シンタックスハイライトの色設定 ======== */

pre.code {
  position: relative;
  background: hsl(210, 20%, 15%);
  color: white;  /* 背景色が暗い色の場合に必要 */
}

.copy-button {
  position: absolute;
  top: 4px;
  right: 4px;
  display: inline-block;
  padding: 8px 16px;
  border: none;
  border-radius: 4px;
  background-color: #1e90ff;
  color: #ffffff;
  cursor: pointer;
  font-size: 14px;
  font-weight: bold;
  text-decoration: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  transition: background-color 0.3s, box-shadow 0.3s;
  opacity: 0;
  transition: opacity 0.3s;
}
pre.code:hover .copy-button {
  opacity: 0.9;
}
.copy-button:hover {
  background-color: #2980b9;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4);
}
.copy-button:focus {
  outline: none;
}
.copy-button:active {
  box-shadow: none;
  transform: translateY(2px);
}


/* コードブロックに言語ラベルをつける ======== */

/* code block label */
.entry-content pre.code/*[data-label]*/ {
  position: relative;
  margin: 0 0 1.5em 0;
  padding: 2em 0em 1em 1em; /* 1.6em 1em 1em; */
}

.entry-content pre.code[data-label]::before {
  content: attr(data-label);
  background-color: #2980b9; /* #444;*/
  color: #fafafa;
  position: absolute;
  top: 0;
  left: 0;
  padding: 0 0.8em;
}

/* /code block label */


/* コードブロックにカラーコードプレビュー ======== */

/* color code preview */
.color-code-preview {
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  border: 1px solid #d1d5da;
  border-color: rgba(27, 31, 35, 0.15);
  border-radius: 3px;
}

/* /color code preview */

/* コードブロックに行番号表示 ======== */
/* https://note.z0i.net/2018/03/hatena-syntax.html */

  pre.code ol{
    margin-top: 0;
    margin-bottom: 0;
    width: 1980px;  /* 横スクロール対策 */
  }
  pre.code .code-list{
    border-left: 2px solid hsl(50, 60%, 60%); /*縦線 hsl(100, 50%, 30%);*/
    padding-left:10px;
  }
  pre.code .code-list:nth-child(2n+1) {
      background-color: hsl(210, 15%, 20%); /*奇数行の背景色*/
  }

/* コードブロック：シンタックスハイライトのパレット */
/* https://www.taneyats.com/entry/change-embed-code-theme */
/*
.synPreProc     # importなど
.synSpecial     # エスケープ文字、!importなど特別な文字列
.synType        # 型など
.synIdentifier  # 識別子や、JSのvar,letなど
.synStatement   # 予約語
.synConstant    # 文字列、数値など
.synComment     # コメント
(.synError)     # 構文解釈エラー(?)
*/
/* エスケープ文字 */
.entry-content pre.code .synSpecial {
  color: hsl(308, 70%, 75%); /*hsl(308, 59%, 65%);*/
}
/* 識別子 */
.entry-content pre.code .synIdentifier {
  color: hsl(195, 65%, 55%); /*hsl(195, 38%, 52%);*/
}
/* 予約語 */
.entry-content pre.code .synStatement {
  color: hsl(190, 75%, 75%); /*hsl(178, 48%, 74%);*/
}
/* 文字列、数値 */
.entry-content pre.code .synConstant {
  color: hsl(17, 80%, 75%); /*hsl(17, 47%, 64%);*/
}
/* コメント */
.entry-content pre.code .synComment {
  color: hsl(101, 60%, 60%); /*hsl(101, 29%, 47%);*/
}

/* 記事の最終更新日を追加 */
/* https://www.bambi.pro/entry/hatenablog-datemodified */
.lastmod{
  margin-left: 1em;
  padding: 0.2em 1em;
}
.lastmod:before{
  content: "更新日：";
  position: relative;
  font-size: 1em;
  color: #000;
}
.date a:before{
  content: "作成日：";
  position: relative;
  font-size: 1em;
  color: #000;
}

/* 行内引用 */
.entry-content span.code {
  background-color: /*hsl(308, 90%, 95%);*/ hsl(50, 90%, 90%); /*hsl(190, 75%, 90%);*/
  font-family: Monaco, Consolas, Courier New, Courier, monospace, sans-serif;
}


