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

/* COJIRO DESIGN COMPLETE WARM v1 START */
/* 「デザインCSS」欄の全文を、このコード全体で置き換えます。 */
/* ブログ全体のレイアウト */
/* Responsive: yes */

body { background: #f6f7f8; color: #202a35; min-width: 0; font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; }
body #container { --cojiro-ink: #202a35; --cojiro-blue: #175a86; --cojiro-line: #dce3e9; box-sizing: border-box; width: calc(100% - 40px); max-width: 1120px; min-width: 0; margin: 28px auto; padding: 32px; background: #fff; border: 1px solid var(--cojiro-line); border-radius: 8px; }
body #container-inner, body #content, body #content-inner { box-sizing: border-box; width: 100%; min-width: 0; margin: 0; padding: 0; }
body #content-inner { display: grid; grid-template-columns: minmax(0, 1fr) 240px; align-items: start; gap: 40px; }
body #wrapper, body #main, body #main-inner, body #box2, body #box2-inner { box-sizing: border-box; width: 100%; min-width: 0; margin: 0; padding: 0; float: none; }
body #blog-title { margin: 0 0 24px; padding: 12px 0 0; text-align: left; }
body #blog-title-inner { width: auto; }
body #title { margin: 0; padding: 0; width: auto; border: 0; font-size: 30px; line-height: 1.55; }
body #title a { color: var(--cojiro-ink); text-decoration: none; }
body #blog-description { margin: 8px 0 0; padding: 0; color: #5b6774; font-size: 14px; line-height: 1.7; font-weight: normal; }
body #top-editarea { margin: 0 0 32px; }

/* メニューと検索：外部ライブラリー・JavaScript不要 */
#cojiro-navigation, #cojiro-navigation * { box-sizing: border-box; }
#cojiro-navigation { color: #202a35; font-size: 14px; line-height: 1.6; border-top: 3px solid #175a86; border-bottom: 1px solid #dce3e9; text-align: left; }
#cojiro-navigation .cojiro-nav-top { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; padding: 12px 0; }
#cojiro-navigation ul { display: flex; flex-wrap: wrap; gap: 4px; list-style: none; margin: 0; padding: 0; }
#cojiro-navigation li { list-style: none; margin: 0; padding: 0; }
#cojiro-navigation a { display: block; padding: 10px 12px; min-height: 44px; border-radius: 5px; color: #263646; font-weight: 600; text-decoration: none; }
#cojiro-navigation a:hover { background: #edf4f9; color: #175a86; text-decoration: underline; text-underline-offset: 4px; }
#cojiro-navigation a:focus-visible, #cojiro-navigation input:focus-visible, #cojiro-navigation button:focus-visible, #cojiro-navigation summary:focus-visible { outline: 3px solid #175a86; outline-offset: 3px; }
#cojiro-navigation .cojiro-search { display: flex; gap: 0; flex: 1 1 260px; max-width: 420px; margin: 0 0 0 auto; }
#cojiro-navigation input { appearance: auto; font: inherit; font-size: 16px; flex: 1; min-width: 0; width: 100%; height: 44px; margin: 0; padding: 9px 12px; border: 1px solid #a6b5c3; border-radius: 5px 0 0 5px; background: #fff; color: #202a35; }
#cojiro-navigation input::placeholder { color: #637181; opacity: 1; }
#cojiro-navigation button { appearance: none; flex: 0 0 auto; min-width: 58px; min-height: 44px; margin: 0; padding: 8px 12px; border: 1px solid #175a86; border-radius: 0 5px 5px 0; background: #175a86; color: #fff; font: inherit; font-weight: bold; cursor: pointer; }
#cojiro-navigation button:hover { background: #103e5d; }
#cojiro-navigation .cojiro-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }

/* キャラクターから探す：暖色・大きな開閉ボタン */
#cojiro-navigation .cojiro-characters { margin: 12px 0; padding: 0; border: 0; }
#cojiro-navigation .cojiro-characters > summary { box-sizing: border-box; display: list-item; list-style-position: inside; list-style-type: disclosure-closed; min-height: 56px; margin: 0; padding: 15px 18px; border: 2px solid #db9537; border-radius: 8px; background: #ffcc80; color: #59320d; font-size: 18px; font-weight: 700; line-height: 1.6; text-align: left; white-space: normal; overflow-wrap: anywhere; box-shadow: 0 3px 8px rgba(150, 85, 20, 0.15); cursor: pointer; }
#cojiro-navigation .cojiro-characters > summary::marker { color: #59320d; }
#cojiro-navigation .cojiro-characters[open] > summary { list-style-type: disclosure-open; }
#cojiro-navigation .cojiro-characters > summary:hover { background: #ffe1ad; border-color: #db9537; color: #59320d; }
#cojiro-navigation .cojiro-characters > summary:focus-visible { outline: 3px solid #59320d; outline-offset: 3px; }
#cojiro-navigation .cojiro-characters > ul { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 14px 0 2px; list-style: none; }
#cojiro-navigation .cojiro-characters > ul > li > a { box-sizing: border-box; min-height: 44px; padding: 10px 16px; border: 1px solid #a6bfce; border-radius: 6px; background: #f1f6fa; color: #175a86; font-size: 15px; font-weight: 700; text-align: center; }
#cojiro-navigation .cojiro-characters > ul > li > a:hover { background: #dfeef7; border-color: #175a86; }
@media (max-width: 540px) {
  #cojiro-navigation .cojiro-characters > summary { padding: 14px 12px; font-size: 16px; }
}

/* 記事一覧 */
body #main .archive-entry { display: flow-root; margin: 0 0 28px; padding: 0 0 28px; border: 0; border-bottom: 1px solid #dce3e9; background: transparent; }
body #main .entry-title { margin: 8px 0 12px; padding: 0; border: 0; background: none; box-shadow: none; font-size: 26px; line-height: 1.65; overflow-wrap: anywhere; }
body #main .archive-entry .entry-title { font-size: 21px; }
body #main .entry-title a { color: #202a35; text-decoration: none; }
body #main .entry-title a:hover { color: #175a86; text-decoration: underline; text-underline-offset: 5px; }
body #main .date { font-size: 13px; line-height: 1.6; color: #617080; }
body #main .date a { color: #617080; text-decoration: none; }
body #main .categories { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; }
body #main .categories a { display: inline-block; margin: 0; padding: 3px 8px; border-radius: 4px; background: #edf4f9; color: #175a86; font-size: 12px; line-height: 1.7; text-decoration: none; }
body #main .entry-thumb { width: 112px; height: 84px; background-position: center; background-size: cover; border-radius: 4px; }
body #main .entry-thumb-link { float: left; margin: 0 16px 12px 0; }
body #main .entry-description { margin: 0 0 10px; color: #475565; font-size: 15px; line-height: 1.85; overflow-wrap: anywhere; }

/* 本文：画像の縦横比、表の横スクロール、読みやすい目次 */
body #main .entry-content { font-size: 17px; line-height: 1.95; overflow-wrap: anywhere; }
body #main .entry-content p { margin: 0 0 1.5em; }
body #main .entry-content h2, body #main .entry-content h3, body #main .entry-content h4 { color: #202a35; line-height: 1.65; scroll-margin-top: 24px; }
body #main .entry-content h2 { margin: 2.3em 0 1em; padding: .3em 0 .3em .7em; border: 0; border-left: 4px solid #175a86; background: #f4f7fa; font-size: 24px; }
body #main .entry-content h3 { margin: 2em 0 .8em; padding: 0 0 .35em; border: 0; border-bottom: 1px solid #dce3e9; background: none; font-size: 21px; }
body #main .entry-content h4 { font-size: 18px; }
body #main .entry-content a { color: #175a86; text-underline-offset: 3px; }
body #main .entry-content img { max-width: 100%; height: auto; }
body #main .entry-content iframe[src*="youtube.com/embed/"], body #main .entry-content iframe[src*="youtube-nocookie.com/embed/"] { max-width: 100%; aspect-ratio: 16 / 9; height: auto; }
body #main .entry-content table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; font-size: 15px; line-height: 1.7; }
body #main .entry-content th, body #main .entry-content td { padding: .65em .9em; border: 1px solid #dce3e9; vertical-align: top; }
body #main .entry-content th { background: #f1f5f8; font-weight: bold; }
body #main .entry-content pre { max-width: 100%; overflow-x: auto; white-space: pre; }
body #main .entry-content .table-of-contents { box-sizing: border-box; margin: 1.5em 0 2em; padding: 20px 24px 20px 40px; border: 1px solid #dce3e9; border-radius: 6px; background: #f7f9fb; font-size: 15px; line-height: 1.9; }
body #main .entry-content .table-of-contents li { margin: .35em 0; }
body #box2 .hatena-module { margin: 0 0 28px; padding: 0; font-size: 14px; line-height: 1.8; }
body #box2 .hatena-module-title { margin: 0 0 12px; padding: 0 0 8px; border-bottom: 2px solid #dce3e9; font-size: 15px; font-weight: bold; }
body #box2 .hatena-module a { color: #365773; overflow-wrap: anywhere; }

@media (max-width: 900px) {
  body #container { width: calc(100% - 24px); margin: 12px auto; padding: 24px; }
  body #content-inner { display: block; }
  body #box2 { margin-top: 40px; padding-top: 24px; border-top: 1px solid #dce3e9; }
  body #box2 .hatena-module-category ul { display: flex; flex-wrap: wrap; gap: 8px 16px; list-style: none; margin: 0; padding: 0; }
}
@media (max-width: 540px) {
  body #container { width: 100%; margin: 0; padding: 20px 16px; border: 0; border-radius: 0; }
  body #blog-title { padding-top: 0; margin-bottom: 20px; }
  body #title { font-size: 23px; }
  body #top-editarea { margin-bottom: 24px; }
  #cojiro-navigation .cojiro-nav-top { gap: 8px; }
  #cojiro-navigation a { padding: 10px; }
  #cojiro-navigation .cojiro-search { flex-basis: 100%; max-width: none; margin-left: 0; }
  body #main .entry-title { font-size: 23px; }
  body #main .archive-entry .entry-title { font-size: 19px; }
  body #main .entry-content { font-size: 16px; line-height: 1.95; }
  body #main .entry-content h2 { font-size: 21px; }
  body #main .entry-content h3 { font-size: 19px; }
  body #main .entry-thumb { width: 88px; height: 66px; }
  body #main .entry-thumb-link { margin-right: 12px; }
}

/* 既存の見出し装飾と重ならないように調整 */
body #main .entry-title::before,
body #main .entry-title::after,
body #main .entry-content h3::before,
body #main .entry-content h3::after { content: none; }
body #main .entry-content h3 { z-index: auto; }
body #main .entry-content h4 { padding: .2em 0; border: 0; background: none; }

/* 既存記事用の装飾・吹き出し：保持 */
.entry-content { color: #000000; font-size:17px; }
.entry-title { font-weight: bold; font-size: 20px; position: relative; padding: 1em 0; }
.entry-title::before,
.entry-title::after { position: absolute; left: 0; content: ''; width: 100%; height: 6px; box-sizing: border-box; }
.entry-title::before { top: 0; border-top: 2px solid #ccc; border-bottom: 1px solid #ccc; }
.entry-title::after { bottom: 0; border-top: 1px solid #ccc; border-bottom: 2px solid #ccc; }

.entry-content h3 { position: relative; color: #fff; padding: 6px 10px; z-index: 2; }
.entry-content h3::before,
.entry-content h3::after { position: absolute; width: 98%; height: 100%; content: ''; }
.entry-content h3::before { top: 0px; left: 0px; z-index: -1; background-color: #2a9ca2; }
.entry-content h3::after { top: 4px; left: 4px; z-index: -2; background-color: #111; }
.entry-content h5 { position: relative; padding: 6px 0 6px 34px; color: #111; border-bottom: 2px solid #ce0d55; }
.entry-content h5::before,
.entry-content h5::after { position: absolute; background-color: #ce0d55; content: ''; }
.entry-content h5::before { top: 0; left: 14px; width: 12px; height: 12px; -webkit-transform: rotate(50deg); transform: rotate(50deg); }
.entry-content h5::after { top: 18px; left: 8px; width: 8px; height: 8px; -webkit-transform: rotate(20deg); transform: rotate(20deg); }
.entry-content h4 { padding: 4px 10px; color: #111; background-color: #f0f0f0; border-left: 8px solid #1056a2; border-bottom: 1px solid #1056a2; }
.entry-header .category-tree { list-style: none; margin: 0px; margin-top: 0.7em; }
.categories a { display: inline-block; float: none; margin-right: 0; }
#result [class*="hidden-"] { display: none; }
#select { margin-bottom: 1em; }
#select label.selected { background-color: #fcc; }
#result section { border: 1px solid #888; padding: 5px; }

/* 吹き出しのCSS */
.entry-content .l-fuki,
.entry-content .r-fuki { position: relative; width: 80%; box-sizing: border-box; -webkit-box-sizing: border-box; padding: 20px; border-radius: 6px; border: 2px solid #999; box-shadow: 1px 1px 5px #aaa; background-color: #fff; z-index: 1; }
.entry-content .l-fuki { margin: 20px 20% 40px 0; }
.entry-content .r-fuki { margin: 20px 0 40px 19%; }
.entry-content .l-fuki::before,
.entry-content .r-fuki::before { position: absolute; content: ""; top: 16px; width: 10px; height: 10px; border-right: 2px solid #999; border-bottom: 2px solid #999; background-color: #fff; z-index: 2; }
.entry-content .l-fuki::before { right: -7px; transform: rotate(-45deg); -webkit-transform: rotate(-45deg); }
.entry-content .r-fuki::before { left: -7px; transform: rotate(135deg); -webkit-transform: rotate(135deg); }
.entry-content .l-fuki::after,
.entry-content .r-fuki::after { position: absolute; content: ""; width: 80px; height: 80px; top: -10px; border-radius: 40px; border: 3px solid #fff; background-size: cover; background-position: center center; background-repeat: no-repeat; box-shadow: 1px 1px 5px #aaa; }
.entry-content .l-fuki::after { right: -110px; }
.entry-content .r-fuki::after { left: -110px; }
@media screen and (max-width: 620px) {
  .entry-content .l-fuki,
  .entry-content .r-fuki { width: 70%; }
  .entry-content .l-fuki { margin-right: 30%; }
  .entry-content .r-fuki { margin-left: 30%; }
}
@media screen and (max-width: 478px) {
  .entry-content .l-fuki::after,
  .entry-content .r-fuki::after { width: 60px; height: 60px; border-radius: 30px; }
  .entry-content .l-fuki::after { right: -84px; }
  .entry-content .r-fuki::after { left: -84px; }
}
.rojico::after { background-image:url(https://cdn-ak.f.st-hatena.com/images/fotolife/c/cojiro2015/20211212/20211212143654.png); }
.cojiro::after { background-image:url(https://cdn-ak.f.st-hatena.com/images/fotolife/c/cojiro2015/20230129/20230129210302_120.jpg); }

/* サイドバーのTwitch埋め込み・リンクを非表示 */
body #box2 iframe[src^="https://player.twitch.tv"],
body #box2 iframe[src^="https://clips.twitch.tv"],
body #box2 a[href^="https://www.twitch.tv/"],
body #box2 a[href^="https://twitch.tv/"] { display: none !important; }

/* COJIRO DESIGN COMPLETE WARM v1 END */