/* <system section="theme" selected="8599973812276234164"> */
@charset "utf-8";/*Responsive:yes*//*! normalize.css v3.0.1 | MIT License | git.io/normalize */img,legend{border:0}legend,td,th{padding:0}.btn,a.keyword{text-decoration:none}#container #content:after,.clearfix:after{height:0;content:"."}#title,body{margin:0}.entry-content table,table{border-collapse:collapse;border-spacing:0}#container #content:after,.clearfix:after,.pager:after{visibility:hidden;clear:both}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}.clearfix,article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0;color:#1487bd}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{font-size:1em;margin:.67em 0}mark{background:#ff0;color:#000}.btn,.entry-header-menu a{background-clip:padding-box}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}.btn,.btn-large{font-weight:700}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}#main,ul.table-of-contents{-moz-box-sizing:border-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{margin:0 2px;padding:.35em .625em .75em;border:1px solid silver}.clearfix:after{display:block;font-size:0}.btn,.inline-block{display:inline-block}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body,html{font-family:'Helvetica Neue',Helvetica,Arial,'Hiragino Kaku Gothic Pro',Meiryo,'MS PGothic',sans-serif;color:#454545;font-size:17px}a:visited{color:#789dae}a:hover{color:#0f5373}h1 a,h1 a:hover,h1 a:visited,h2 a,h2 a:hover,h2 a:visited,h3 a,h3 a:hover,h3 a:visited,h4 a,h4 a:hover,h4 a:visited,h5 a,h5 a:hover,h5 a:visited,h6 a,h6 a:hover,h6 a:visited{color:#333;text-decoration:none}#title a,.btn,a.keyword{color:#454545}a.keyword{border-bottom:1px dotted #ddd}.btn{margin-bottom:0;padding:4px 10px;border:1px solid rgba(0,0,0,.2);border-radius:2px;background-color:#fff;font-size:12px;line-height:18px;text-align:center;text-decoration:none!important;vertical-align:middle;cursor:pointer}#blog-title,#main{margin-bottom:10px}.btn:hover{background-color:#f5f5f5;text-decoration:none!important}.btn-small{padding:2px 10px!important;font-size:11px!important}.btn-large{padding:13px 19px;font-size:17px;line-height:normal}#globalheader-container{position:static;top:0;left:0;width:100%;background-color:#333;color:#fff}#blog-title,#main,.entry-header-menu a{background-color:#fff}#container{margin-bottom:30px;overflow:hidden;word-wrap:break-word}#container #content{display:block}#container #content:after{display:block;font-size:0}.entry-header-menu a,.leave-comment-title{display:inline-block;text-align:center;vertical-align:middle;cursor:pointer}.globalheader-off #container{padding-top:0}#main{float:none;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;padding:30px 3.125%;border-top:1px solid #aaa;border-bottom:1px solid #aaa}#box2{float:none;width:93.75%;padding:0 3.125%;font-size:85%;line-height:1.5}#box2-inner{width:100%;overflow:hidden}#blog-title{-webkit-box-shadow:0 1px 7px #aaa;box-shadow:0 1px 7px #aaa}#blog-title-inner{padding:10px 3.125%}#blog-description{margin:5px 0 0;font-weight:400;font-size:80%}.header-image-enable #title{padding-top:70px}.header-image-enable #blog-description,.header-image-enable #title{padding-left:20px}#top-box{margin-top:20px;font-size:80%}#top-box .breadcrumb{margin:20px 0 5px;padding:0 3.125%}.entry{position:relative;margin-bottom:30px}.entry-header{position:relative;margin-bottom:20px;padding:0 0 10px;border-bottom:1px solid #ddd}.entry-title{margin:0;font-size:130%;line-height:1.3}.date{margin-bottom:10px;font-weight:700}.date a{color:#1487bd;font-size:90%;text-decoration:none}.categories{margin-top:10px;font-size:80%}.categories a{color:#999}.categories.no-categories{margin:0}.entry-header-menu{position:absolute;top:-2px;left:95px}.entry-header-menu a{margin-bottom:0;padding:4px 10px;border:1px solid rgba(0,0,0,.2);border-radius:2px;line-height:18px;color:#454545;font-size:12px;font-weight:700;text-decoration:none;text-decoration:none!important}.entry-header-menu a:hover{background-color:#f5f5f5;text-decoration:none!important}.entry-content{padding-bottom:10px;border-bottom:1px solid #ddd;color:#000;line-height:1.7}.entry-content p{margin:0 0 1.5em}.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:1.8em 0 .8em;padding:10px 0;line-height:1.5;font-size:120%}.entry-content h2{padding-left:10px;border-left:2px solid #454545;background-color:#f5f5f5}.entry-content h3{border-bottom:5px solid #f5f5f5}.entry-content h4::before{margin-right:10px;color:#22b24c;font-family:blogicon;text-shadow:1px 1px 3px #666;content:"\f029"}.comment-metadata,.comment-metadata a,.entry-footer-section a{color:#999}.entry-content code,.entry-content pre>code{font-family:Monaco,Consolas,'Courier New',Courier,monospace,sans-serif}.entry-content h5,.entry-content h6{font-size:110%}.entry-content table{margin-bottom:1em}.entry-content table img{max-width:none}.entry-content table td,.entry-content table th{padding:5px 10px;border:1px solid #ddd}.entry-content table th{background:#f5f5f5}.entry-content blockquote{margin:0 0 10px;padding:20px;border:1px solid #ddd}.entry-content blockquote p{margin-top:0;margin-bottom:0}.entry-content ol,.entry-content ul{padding-left:20px}.entry-content pre{margin:0 0 10px;padding:20px;border:1px solid #ddd;white-space:pre}.entry-content pre>code{margin:0;padding:0;border:0;background:0 0;white-space:pre}.entry-content code{margin:0 2px;padding:0 5px;border:1px solid #eaeaea;border-radius:3px;background-color:#f8f8f8;font-size:90%}.entry-content .hatena-asin-detail li{line-height:1.4}.entry-footer{margin-top:10px}.entry-footer-section{color:#999;font-size:80%}.entry-footer-html,.social-buttons{margin:10px 0}.table-of-contents:before{font-size:120%;font-weight:700;content:"【目次】"}ul.table-of-contents{list-style-type:decimal;list-style-position:inside;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;padding:3%;border:1px solid #aaa;background:#f5f5f5;font-size:90%;line-height:2}.comment-box ul{list-style:none;margin:0 0 15px;padding:0;font-size:95%;line-height:1.7}.comment-box li{position:relative;padding:10px 0 10px 60px;border-bottom:1px solid #ddd}.comment-box li:first-child{border-top:1px solid #ddd}.comment-box .read-more-comments{padding-left:0}.comment-box .hatena-id-icon{position:absolute;top:10px;left:0;width:50px!important;height:50px!important;border-radius:3px;background-clip:padding-box}.comment-user-name{margin:0 0 10px;font-weight:700}.comment-content{margin:0 0 10px;font-size:90%;word-wrap:break-word}.comment-content p{margin:0 0 10px}.comment-metadata{margin:0;font-size:80%}.leave-comment-title{margin-bottom:0;padding:4px 10px;border:1px solid rgba(0,0,0,.2);border-radius:2px;color:#454545;background-color:#fff;background-clip:padding-box;font-size:12px;font-weight:700;text-decoration:none;text-decoration:none!important;line-height:18px}.leave-comment-title:hover{background-color:#f5f5f5;text-decoration:none!important}.hatena-module{float:none;margin-bottom:30px;width:100%}.hatena-module-title{margin-bottom:15px;font-size:130%;font-weight:700;line-height:2.5em}.hatena-module-title a{color:#454545;text-decoration:none}.hatena-module-title a:hover{text-decoration:underline}.hatena-module-profile .profile-icon{float:left;margin:0 10px 10px 0;border-radius:5px;background-clip:padding-box}.hatena-module-profile .id{display:block;margin-bottom:5px;font-size:110%;font-weight:700}.hatena-module-profile .profile-description{clear:both;font-size:90%}.hatena-module-profile .profile-description p{margin-top:0}.hatena-urllist{list-style:none;margin:0;padding:0}.hatena-urllist li{padding:8px 0;border-bottom:1px solid #ddd;line-height:1.5}.hatena-urllist li a{text-decoration:none}.hatena-module-search-box .search-form{position:relative;-moz-box-sizing:border-box;box-sizing:border-box;width:100%;border:1px solid #ddd;border-radius:3px;background:#fff;background-clip:padding-box}.hatena-module-search-box .search-module-input{width:90%;height:20px;padding:5px;border:none;color:#454545;outline:0}.hatena-module-search-box .search-module-button{position:absolute;top:5px;right:5px;width:20px;height:20px;border:none;background:url(https://cdn.blog.st-hatena.com/images/theme/search.png?version=c9b53794dc2c21dcf5ca3c7d4faf84) right center no-repeat;text-indent:-9999px;opacity:.5;outline:0}.hatena-module-search-box .search-module-button:hover{opacity:.85}.pager{display:block;margin:1em 0}.pager:after{display:block;height:0;font-size:0;content:"."}.pager .pager-prev{float:left;width:45%;text-align:left}.pager .pager-next{float:right;width:45%;text-align:right}#footer{-webkit-box-shadow:0 1px 7px #aaa;box-shadow:0 1px 7px #aaa;padding:30px 0;background-color:#fff;color:#454545;font-size:80%;text-align:center;line-height:1.5}#footer p{margin:0}#footer a{color:#454545}.page-about dt{margin-bottom:5px;border-bottom:1px solid #dfdfdf;font-size:16px;font-weight:700}.page-about dd{margin-bottom:30px;margin-left:0}.page-archive .archive-entries .archive-entry{margin-bottom:3em}.page-archive .archive-entries .entry-title{font-size:130%;margin:0 0 .5em}.page-archive .archive-entries .categories{margin:0 0 .5em}.page-archive .archive-entries .entry-description{margin:0 0 1em;font-size:95%;line-height:1.7em}.page-archive .categories a{display:inline-block;margin-right:2px;padding:3px 5px;border-radius:3px;background:#aaa;color:#fff;font-size:70%;text-decoration:none}@media (-webkit-min-device-pixel-ratio:2){.hatena-module-search-box .search-module-button{background:url(https://cdn.blog.st-hatena.com/images/theme/search@2x.png?version=c9b53794dc2c21dcf5ca3c7d4faf84) right center no-repeat;background-size:20px 20px}}@media (min-width:768px){h1{font-size:150%}#globalheader-container{position:fixed}#container{padding-top:37px;overflow:auto;word-wrap:normal}#container #content{width:100%;max-width:800px;margin:0 auto}#main{margin-bottom:30px;padding:60px 7.375%;border-left:1px solid #aaa;border-right:1px solid #aaa}#box2{width:92.5%;padding:0 0 0 7.5%}#blog-title-inner{width:97.5%;max-width:800px;margin:0 auto;padding:10px 1.25%}#top-box{width:100%;max-width:800px;margin:20px auto 0;font-size:90%}#top-box .breadcrumb{padding:0 1.25%}.entry-title{font-size:150%}.page-archive .archive-entries .entry-title{font-size:150%}.entry-content h1{padding:20px 0;font-size:160%}.entry-content h2{font-size:150%;padding:20px 0 20px 20px}.entry-content h3{font-size:140%}.entry-content h4{font-size:130%}.entry-content h5{font-size:120%}.entry-content ol,.entry-content ul{padding-left:40px}#box2-inner .hatena-module:nth-child(2n+1){clear:both}.hatena-module{float:left;width:40.541%;margin:0 9.460% 60px 0}}@media (min-width:1024px){#container #content,#top-box{max-width:1130px}#main{float:left;width:70.797%;margin-bottom:0;padding:60px 5.222%}#box2{float:right;width:26.549%;padding-left:2.655%}#box2-inner{width:100%;overflow:hidden}.hatena-module{float:none;width:100%;margin-right:0}#blog-title-inner{width:98.231%;max-width:1110px;padding:10px .885%}#top-box .breadcrumb{padding:0}.entry{margin-bottom:100px}.entry-title{font-size:180%}.page-archive .archive-entries .entry-title{font-size:180%}}
/* </system> */

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

/*
 * 失敗観測所 | ブログ全体の共通デザイン CSS v1.0
 * 対象: はてなブログ（PC + レスポンシブ表示）
 * 配置: デザイン -> カスタマイズ -> デザインCSS の既存テーマ記述の末尾
 * 注: 既存の @import / <system section="..."> は削除しない。
 * 追加画像・Webフォント・JavaScript不要。記事HTMLの変更も原則不要。
 * 記事内の既存の <style> やインラインstyleがある場合、そちらの優先度が上がる場合がある。
 */

/* ---- 01. メディア共通色・基礎組版 ---- */
:root {
  --sh-accent: #df561e;
  --sh-accent-deep: #9a3c1c;
  --sh-ink: #202329;
  --sh-body: #333943;
  --sh-muted: #69717a;
  --sh-line: #e9e3dc;
  --sh-paper: #ffffff;
  --sh-canvas: #faf8f5;
  --sh-tint: #fff5ea;
  --sh-soft: #f6f6f4;
  --sh-reading-width: 740px;
}
html { scroll-padding-top: 22px; }
body {
  background: var(--sh-canvas);
  color: var(--sh-body);
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN",
    "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "palt" 1;
}
body a { color: var(--sh-accent-deep); text-underline-offset: 3px; }
body a:hover { color: var(--sh-accent); }
body a:focus-visible { outline: 3px solid #f6a67d; outline-offset: 3px; }

/* ---- 02. サイト名・ヘッダー ---- */
#blog-title {
  background: linear-gradient(110deg, #ffffff 0%, #fffdfb 62%, #fff5eb 100%);
  border-bottom: 3px solid var(--sh-accent);
  padding: 26px 24px 22px;
  margin-bottom: 28px;
}
#blog-title-inner { max-width: 1100px; margin: 0 auto; }
#title {
  margin: 0;
  font-size: clamp(27px, 3vw, 39px);
  line-height: 1.3;
  letter-spacing: .025em;
  font-weight: 850;
}
#title a { color: var(--sh-ink); text-decoration: none; }
#blog-description {
  margin: 8px 0 0;
  font-size: 13px;
  line-height: 1.7;
  font-weight: 500;
  color: #666b70;
}
/* テーマのナビゲーションがある場合のみ装飾。表示・機能は維持する。 */
#global-menu, .global-menu { border-bottom-color: var(--sh-line); }
#global-menu a, .global-menu a { text-decoration: none; }

/* ---- 03. コンテンツ領域・記事カード ---- */
#content {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}
#main, #box2 { min-width: 0; }
.entry {
  box-sizing: border-box;
  margin-bottom: 30px;
  padding: 30px clamp(22px, 3.7vw, 42px) 38px;
  background: var(--sh-paper);
  border: 1px solid var(--sh-line);
  border-radius: 13px;
  box-shadow: 0 8px 30px rgba(55, 42, 27, .035);
}
.entry-header { margin: 0 0 22px; }
.entry-title {
  margin: 8px 0 13px;
  padding: 0 0 0 16px;
  border-left: 5px solid var(--sh-accent);
  color: var(--sh-ink);
  font-size: clamp(25px, 2.45vw, 35px);
  font-weight: 850;
  line-height: 1.48;
  letter-spacing: -.018em;
  overflow-wrap: anywhere;
}
.entry-title a, .entry-title a:visited {
  color: var(--sh-ink);
  text-decoration: none;
}
.entry-title a:hover { color: var(--sh-accent-deep); }
.entry-date, .entry-date a, .date, .entry-header .date {
  color: var(--sh-muted);
  font-size: 12px;
  font-weight: 600;
}
.entry-categories { margin-top: 9px; }
.entry-categories a, a.entry-category-link {
  display: inline-block;
  margin: 2px 6px 2px 0;
  padding: 4px 9px;
  border: 1px solid #f1d4c4;
  border-radius: 100px;
  color: var(--sh-accent-deep);
  background: var(--sh-tint);
  font-size: 12px;
  line-height: 1.5;
  font-weight: 650;
  text-decoration: none;
}
.entry-categories a:hover, a.entry-category-link:hover {
  background: #ffe8d8;
}

/* ---- 04. 研究解説記事の本文 ---- */
.entry-content {
  color: var(--sh-body);
  font-size: 16.5px;
  line-height: 1.94;
  letter-spacing: .015em;
  font-weight: 400;
  overflow-wrap: break-word;
}
.entry-content p {
  margin: 0 0 1.45em;
  line-height: inherit;
}
.entry-content strong, .entry-content b {
  color: var(--sh-ink);
  font-weight: 750;
}
.entry-content h2 {
  position: relative;
  margin: 2.2em 0 .84em;
  padding: .06em 0 .08em 17px;
  border: 0;
  background: transparent;
  color: var(--sh-ink);
  font-size: clamp(22px, 2.3vw, 29px);
  font-weight: 820;
  line-height: 1.48;
  letter-spacing: -.01em;
}
.entry-content h2::before {
  content: "";
  position: absolute;
  top: .23em;
  bottom: .19em;
  left: 0;
  width: 4px;
  border-radius: 4px;
  background: var(--sh-accent);
}
.entry-content h3 {
  margin: 2em 0 .8em;
  padding: 0 0 9px;
  border: 0;
  border-bottom: 1px solid var(--sh-line);
  background: transparent;
  color: var(--sh-ink);
  font-size: clamp(19px, 2vw, 23px);
  font-weight: 800;
  line-height: 1.55;
}
.entry-content h4 {
  margin: 1.7em 0 .6em;
  font-size: 17px;
  font-weight: 750;
  line-height: 1.6;
  color: var(--sh-ink);
}
.entry-content a:not(.keyword) {
  color: var(--sh-accent-deep);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.entry-content a:hover { color: var(--sh-accent); }
.entry-content > p > img,
.entry-content > figure img,
.entry-content > p > a > img,
.entry-content .hatena-fotolife {
  box-sizing: border-box;
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}
.entry-content img { max-width: 100%; height: auto; }
.entry-content figure {
  max-width: 100%;
  margin: 1.8em auto;
}
.entry-content figcaption,
.entry-content .caption,
.entry-content .image-caption {
  margin: 10px 0 0;
  font-size: 13px;
  line-height: 1.75;
  color: var(--sh-muted);
}
.entry-content blockquote {
  margin: 1.65em 0;
  padding: 17px 21px;
  background: var(--sh-tint);
  border: 0;
  border-left: 4px solid var(--sh-accent);
  border-radius: 0 9px 9px 0;
  color: #493c34;
}
.entry-content blockquote p:last-child { margin-bottom: 0; }
.entry-content ul, .entry-content ol { margin: 0 0 1.45em; padding-left: 1.55em; }
.entry-content li { margin: .3em 0; line-height: 1.8; }
.entry-content li::marker { color: var(--sh-accent-deep); }
.entry-content hr {
  margin: 2.4em 0;
  border: 0;
  border-top: 1px solid var(--sh-line);
}

/* ---- 05. 目次・表・データを読みやすく ---- */
.entry-content ul.table-of-contents,
.entry-content .table-of-contents {
  box-sizing: border-box;
  margin: 1.8em 0 2.3em;
  padding: 16px 20px 16px 37px;
  border: 1px solid #eee0d2;
  border-radius: 10px;
  background: #fffaf4;
  font-size: 14.5px;
  line-height: 1.75;
}
.entry-content .table-of-contents li { margin: .32em 0; }
.entry-content .table-of-contents ul { margin: 5px 0 0; }
.entry-content .table-of-contents a { text-decoration: none; }
.entry-content .table-of-contents a:hover { text-decoration: underline; }
.entry-content table {
  display: block;
  box-sizing: border-box;
  max-width: 100%;
  width: max-content;
  overflow-x: auto;
  border-collapse: collapse;
  margin: 1.6em 0;
  font-size: 14.5px;
  line-height: 1.7;
  background: #fff;
  -webkit-overflow-scrolling: touch;
}
.entry-content th, .entry-content td {
  border: 1px solid #e5e0d9;
  padding: 10px 13px;
  text-align: left;
  vertical-align: top;
  min-width: 85px;
}
.entry-content th { background: var(--sh-tint); color: #593724; font-weight: 750; }
.entry-content tr:nth-child(even) td { background: #fdfcfb; }
.entry-content pre {
  max-width: 100%;
  overflow-x: auto;
  margin: 1.5em 0;
  padding: 17px;
  background: #252831;
  color: #fafafa;
  border-radius: 9px;
  font-size: 13.5px;
  line-height: 1.6;
  -webkit-overflow-scrolling: touch;
}
.entry-content :not(pre) > code {
  padding: .15em .34em;
  border-radius: 4px;
  background: #f3eee8;
  color: #6a3829;
  overflow-wrap: anywhere;
}
.entry-content iframe, .entry-content video { max-width: 100%; }

/* ---- 06. 記事末尾・一覧・サイドバー ---- */
.entry-footer {
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid var(--sh-line);
  color: var(--sh-muted);
}
.entry-footer .entry-footer-section, .entry-footer .entry-footer-time { color: var(--sh-muted); }
.read-more a, a.entry-see-more {
  display: inline-block;
  border: 1px solid #f0d0bd;
  border-radius: 8px;
  background: var(--sh-tint);
  padding: 8px 17px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}
.read-more a:hover, a.entry-see-more:hover { background: #ffe8d7; }
.hatena-module {
  box-sizing: border-box;
  margin-bottom: 22px;
  padding: 18px 18px 20px;
  background: var(--sh-paper);
  border: 1px solid var(--sh-line);
  border-radius: 11px;
}
.hatena-module-title {
  margin: 0 0 14px;
  padding-left: 11px;
  border-left: 3px solid var(--sh-accent);
  color: var(--sh-ink);
  font-size: 16px;
  font-weight: 800;
  line-height: 1.5;
}
.hatena-module-body { font-size: 14px; line-height: 1.75; }
.hatena-module li { margin-bottom: 7px; }
.pager, .pagination { margin: 26px 0; }
.pager a, .pagination a {
  border: 1px solid var(--sh-line);
  border-radius: 8px;
  padding: 8px 12px;
  background: #fff;
  text-decoration: none;
}

/* ---- 07. 必要な記事だけで使える任意の共通パーツ ----
   以下のクラスは記事に指定しない限り何も表示せず、
   自動的に数字や根拠・カードを生成することはありません。 */
.entry-content .sh-evidence,
.entry-content .sh-answer {
  box-sizing: border-box;
  margin: 1.7em 0;
  padding: 17px 21px;
  border: 1px solid #f0dacb;
  border-radius: 10px;
  background: var(--sh-tint);
}
.entry-content .sh-answer { border-left: 4px solid var(--sh-accent); }
.entry-content .sh-evidence strong,
.entry-content .sh-answer strong { color: var(--sh-accent-deep); }
.entry-content .sh-evidence p:last-child,
.entry-content .sh-answer p:last-child { margin-bottom: 0; }
.entry-content .sh-stat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 1.6em 0;
}
.entry-content .sh-stat-card {
  box-sizing: border-box;
  min-width: 0;
  padding: 17px 20px;
  border: 1px solid #f0dacb;
  border-radius: 11px;
  background: #fff7ef;
  line-height: 1.6;
}
.entry-content .sh-stat-card .sh-value {
  display: block;
  margin: 4px 0 5px;
  color: var(--sh-accent);
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.22;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
}
.entry-content .sh-stat-card p:last-child { margin-bottom: 0; }

/* ---- 08. 小さい画面 ---- */
@media screen and (max-width: 767px) {
  #blog-title { padding: 18px 17px 16px; margin-bottom: 18px; }
  #title { font-size: 29px; }
  #blog-description { font-size: 12px; }
  #content { box-sizing: border-box; max-width: 100%; padding: 0 10px; }
  .entry {
    margin-bottom: 20px;
    padding: 20px 17px 25px;
    border-radius: 9px;
  }
  .entry-header { margin-bottom: 17px; }
  .entry-title { font-size: clamp(24px, 6.3vw, 30px); line-height: 1.46; padding-left: 12px; border-left-width: 4px; }
  .entry-content { font-size: 16px; line-height: 1.87; letter-spacing: .005em; }
  .entry-content p { margin-bottom: 1.35em; }
  .entry-content h2 { font-size: 23px; margin: 2em 0 .7em; }
  .entry-content h3 { font-size: 19px; }
  .entry-content ul.table-of-contents,
  .entry-content .table-of-contents { padding: 14px 12px 14px 30px; font-size: 13.5px; }
  .entry-content th, .entry-content td { padding: 8px 9px; font-size: 13px; }
  .entry-content blockquote { padding: 14px 16px; }
  .entry-content .sh-stat-grid { grid-template-columns: 1fr; }
  .entry-content .sh-stat-card .sh-value { font-size: 40px; }
  .hatena-module { padding: 16px; }
}

/* ---- 09. OS側のアクセシビリティ設定 ---- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* ================================================================
  10. 知的雑誌型・研究記事ビジュアルの共通コンポーネント v1.1
  .sh-story を含む記事だけに適用。B観測ノート/C対比/Dデータを選択利用。
  記事毎に必須の枠・図・点数は設けない。追加画像・JS・外部フォント不要。
  ================================================================ */
.entry-content .sh-story {
  --sh-story-ink: #232325;
  --sh-story-muted: #716d68;
  --sh-story-accent: #d95b35;
  --sh-story-line: #e9e4dd;
  box-sizing: border-box;
  color: var(--sh-story-ink);
  width: 100%;
  min-width: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
}
.entry-content .sh-story *,
.entry-content .sh-story *::before,
.entry-content .sh-story *::after {box-sizing: border-box;}
.entry:has(.sh-story) .entry-title {
  border-left: 0;
  padding: 0;
  margin: 8px 0 18px;
  max-width: 920px;
  font-size: clamp(29px,3.4vw,44px);
  line-height: 1.43;
  letter-spacing: -.035em;
  font-weight: 860;
}
.entry:has(.sh-story) .entry-title::before {
  display:block;
  content: "";
  width:54px;
  height:5px;
  border-radius:2px;
  margin-bottom:18px;
  background: var(--sh-accent);
}
.entry:has(.sh-story) .entry-content {font-size: 16.5px;line-height: 1.92;}
.entry-content .sh-story > section {max-width: 860px; margin-left:auto; margin-right:auto;}
.entry-content .sh-story p {margin: 0 0 1.25em;}
.entry-content .sh-story a {text-decoration-thickness:1px;}
.entry-content .sh-story .sh-story-opening {margin-top:20px; padding:23px 0 10px; border-top:1px solid var(--sh-story-line);}
.entry-content .sh-story .sh-story-eyebrow {
  color:#8a4b32; font-size:12px; letter-spacing:.12em; font-weight:750;
  display:flex; align-items:center; gap:12px; margin-bottom:22px;
}
.entry-content .sh-story .sh-eyebrow-symbol {width:20px;height:20px;border:2px solid var(--sh-story-accent);border-radius:50%;position:relative;flex:none;}
.entry-content .sh-story .sh-eyebrow-symbol:after {content:"";position:absolute;width:6px;height:6px;right:5px;top:5px;background:var(--sh-story-accent);border-radius:50%;}
.entry-content .sh-story .sh-eyebrow-divide {color:#c3b8ae;font-weight:400;}
.entry-content .sh-story .sh-story-lead {
  font-size:clamp(22px,2.85vw,32px);line-height:1.6;
  font-weight:820;letter-spacing:-.025em;color:var(--sh-story-ink);margin-bottom:14px;
}
.entry-content .sh-story .sh-story-lead-follow {font-size:17.5px;line-height:1.95;max-width:730px;margin-bottom:22px;}
.entry-content .sh-story .sh-story-issue {
  border-left:3px solid var(--sh-story-accent);
  background:#faf6f1; padding:13px 17px 12px; max-width:730px;
  margin:26px 0 12px; border-radius:0 7px 7px 0;
}
.entry-content .sh-story .sh-story-issue-label {display:block;color:#955338;font-size:12px;font-weight:790;letter-spacing:.07em;margin-bottom:5px;}
.entry-content .sh-story .sh-story-issue p {font-size:15px;line-height:1.75;margin:0;font-weight:680;color:#3c3430;}
.entry-content .sh-story .sh-story-data {margin-top:34px;margin-bottom:46px;}
.entry-content .sh-story .sh-story-section-tag {display:flex;align-items:center;gap:14px;color:#706860;font-weight:750;font-size:13px;letter-spacing:.035em;margin-bottom:13px;}
.entry-content .sh-story .sh-story-section-num {color:var(--sh-story-accent);font-size:11px;letter-spacing:.18em;font-weight:900;}
.entry-content .sh-story .sh-story-data-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.entry-content .sh-story .sh-story-data-card {
  min-width:0;display:flex;flex-direction:column;align-items:start;
  padding:25px 24px 20px; min-height:250px;
  border:1px solid #e5dbd0;border-top:4px solid var(--sh-story-accent);
  border-radius:2px;background:#fdfbf7;
}
.entry-content .sh-story .sh-story-data-card-b {border-top-color:#5f6d68;background:#f8faf8;border-color:#dfe5de;}
.entry-content .sh-story .sh-story-data-card-b {border-top-color:#5f6d68;}
.entry-content .sh-story .sh-story-data-type {font-size:14px;line-height:1.5;font-weight:770;min-height:2.5em;color:#403a35;}
.entry-content .sh-story .sh-story-data-value {display:block;font-size:clamp(49px,7vw,75px);line-height:1.2;color:#c95632;font-weight:870;font-variant-numeric:tabular-nums;letter-spacing:-.065em;margin:9px 0 7px;white-space:nowrap;}
.entry-content .sh-story .sh-story-data-card-b .sh-story-data-value {color:#4e6660;}
.entry-content .sh-story .sh-story-data-value small {font-size:.4em;letter-spacing:0;margin-left:3px;}
.entry-content .sh-story .sh-story-data-context {font-size:13px;color:#47443e;line-height:1.7;font-weight:610;}
.entry-content .sh-story .sh-story-data-context b {font-weight:800;}
.entry-content .sh-story .sh-story-data-metric {display:block;margin-top:7px;font-size:12.8px;color:#615c55;line-height:1.65;}
.entry-content .sh-story .sh-story-data-source {font-size:11.5px;color:#89817b;margin-top:auto;padding-top:18px;}
.entry-content .sh-story .sh-story-caution {margin:14px 0 0;padding-left:14px;border-left:2px solid #d2c7bc;font-size:13px;line-height:1.8;color:#655e57;}
.entry-content .sh-story .sh-story-caution strong {color:#4e4640;}
.entry-content .sh-story .sh-story-chapter {margin:47px auto 0;}
.entry-content .sh-story .sh-story-chapter-index {display:flex;align-items:center;gap:12px;font-size:12px;color:#8a7b70;letter-spacing:.05em;font-weight:750;margin-bottom:6px;}
.entry-content .sh-story .sh-story-chapter-index > span {display:grid;place-items:center;width:35px;height:35px;border:1px solid #d3b7a4;border-radius:50%;color:#a94e2b;font-size:13px;letter-spacing:0;font-weight:850;}
.entry-content .sh-story h2 {
  padding:0;border:0;background:transparent;margin:5px 0 23px;
  font-size:clamp(23px,2.75vw,30px);line-height:1.52;letter-spacing:-.025em;
}
.entry-content .sh-story h2::before {display:none;}
.entry-content .sh-story .sh-story-chapter > p:not(.sh-story-chapter-index) {max-width:730px;}
.entry-content .sh-story .sh-story-logic {
  margin:25px 0 30px;padding:27px 26px 23px;background:#f7f5f0;
  border:1px solid #e6ded3;border-radius:4px;max-width:100%;
}
.entry-content .sh-story .sh-story-logic-head {margin-bottom:19px;}
.entry-content .sh-story .sh-story-logic-category {display:block;color:#9b553a;font-size:11px;font-weight:820;letter-spacing:.09em;margin-bottom:5px;}
.entry-content .sh-story .sh-story-logic h3 {border:0;padding:0;margin:0;font-size:clamp(17px,2vw,22px);line-height:1.5;}
.entry-content .sh-story .sh-story-logic-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;}
.entry-content .sh-story .sh-story-logic-panel {padding:19px 17px;border:1px solid #e7e1d9;background:#fff;min-width:0;}
.entry-content .sh-story .sh-story-logic-panel-emphasis {border-color:#e6c5b5;background:#fffaf5;}
.entry-content .sh-story .sh-story-logic-panel-label {font-size:13px;color:#45403b;font-weight:750;text-align:center;}
.entry-content .sh-story .sh-story-logic-symbols {display:flex;align-items:center;justify-content:center;gap:10px;min-height:61px;padding:12px 0;}
.entry-content .sh-story .sh-story-logic-symbols span {display:block;width:25px;height:25px;border-radius:50%;background:#d1d6d0;border:1px solid #acbcb2;}
.entry-content .sh-story .sh-story-logic-panel-emphasis .sh-story-logic-symbols span {background:#e9bd9b;border-color:#d99c75;}
.entry-content .sh-story .sh-story-logic-rates {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;border-top:1px solid #eee8e1;padding-top:13px;}
.entry-content .sh-story .sh-story-logic-rates > div {min-width:0;}
.entry-content .sh-story .sh-story-logic-rates > div + div {border-left:1px solid #eee8e1;padding-left:12px;}
.entry-content .sh-story .sh-story-logic-rates small {display:block;color:#7c7269;line-height:1.55;font-size:11px;min-height:3.1em;}
.entry-content .sh-story .sh-story-logic-rates strong {display:block;color:#5a5958;font-size:clamp(22px,3vw,33px);line-height:1.35;white-space:nowrap;letter-spacing:-.04em;}
.entry-content .sh-story .sh-story-logic-rates em {font-size:.55em;font-style:normal;margin-left:3px;}
.entry-content .sh-story .sh-story-logic-key strong {color:#c4512e;}
.entry-content .sh-story .sh-story-logic figcaption {font-size:12.5px;line-height:1.9;color:#6d665f;margin-top:14px;}
.entry-content .sh-story .sh-story-formula {font-weight:750;white-space:normal;color:#49392f;}
.entry-content .sh-story .sh-story-conclusion {
  max-width:860px;margin-top:48px;padding:34px 35px 31px;
  background:#252728;color:#fefdfb;border-radius:3px;
}
.entry-content .sh-story .sh-story-conclusion-label {display:block;font-size:11.5px;letter-spacing:.1em;color:#e2a782;font-weight:800;margin-bottom:10px;}
.entry-content .sh-story .sh-story-conclusion h2 {color:#fff;margin:0 0 16px;font-size:clamp(19px,2.4vw,25px);}
.entry-content .sh-story .sh-story-conclusion-answer {font-size:clamp(29px,3.3vw,40px);color:#f7aa7d;letter-spacing:-.03em;font-weight:850;line-height:1.35;margin-bottom:19px;}
.entry-content .sh-story .sh-story-conclusion p {color:#f0eeeb;font-size:15px;line-height:1.9;margin-bottom:13px;}
.entry-content .sh-story .sh-story-conclusion strong {color:#fff;font-weight:800;}
.entry-content .sh-story .sh-story-sources {margin:52px auto 0;padding-top:20px;border-top:1px solid var(--sh-story-line);}
.entry-content .sh-story .sh-story-sources-eyebrow {font-size:11px;font-weight:800;color:#b35635;letter-spacing:.16em;}
.entry-content .sh-story .sh-story-sources h2 {font-size:23px;margin:3px 0 15px;}
.entry-content .sh-story .sh-story-sources-list {margin:0;padding:0;list-style:none;}
.entry-content .sh-story .sh-story-sources-list li {margin:0;padding:12px 0;border-bottom:1px solid #ece7e0;line-height:1.75;font-size:14px;}
.entry-content .sh-story .sh-story-sources-list li::marker {content:none;}
.entry-content .sh-story .sh-story-source-meta {font-size:12px;color:#7c756e;margin-top:18px;}
@media screen and (max-width:767px) {
  .entry:has(.sh-story) .entry-title {font-size:clamp(26px,6.7vw,32px);line-height:1.5;margin-bottom:17px;}
  .entry-content .sh-story .sh-story-opening {margin-top:12px;padding-top:19px;}
  .entry-content .sh-story .sh-story-lead {font-size:clamp(21px,6.1vw,27px);line-height:1.65;}
  .entry-content .sh-story .sh-story-lead-follow {font-size:16px;line-height:1.85;}
  .entry-content .sh-story .sh-story-issue {padding:12px 14px;}
  .entry-content .sh-story .sh-story-data {margin:25px 0 37px;}
  .entry-content .sh-story .sh-story-data-grid {grid-template-columns:1fr;gap:10px;}
  .entry-content .sh-story .sh-story-data-card {padding:18px 20px 17px;min-height:0;}
  .entry-content .sh-story .sh-story-data-type {min-height:0;}
  .entry-content .sh-story .sh-story-data-value {font-size:55px;margin:5px 0 3px;}
  .entry-content .sh-story .sh-story-data-source {padding-top:10px;}
  .entry-content .sh-story .sh-story-chapter {margin-top:39px;}
  .entry-content .sh-story h2 {font-size:23px;}
  .entry-content .sh-story .sh-story-logic {padding:18px 14px;}
  .entry-content .sh-story .sh-story-logic-grid {grid-template-columns:1fr;}
  .entry-content .sh-story .sh-story-logic-panel {padding:15px 16px;}
  .entry-content .sh-story .sh-story-logic-rates strong {font-size:31px;}
  .entry-content .sh-story .sh-story-logic-rates small {min-height:auto;}
  .entry-content .sh-story .sh-story-conclusion {padding:26px 21px 24px;margin-top:36px;}
  .entry-content .sh-story .sh-story-conclusion-answer {font-size:31px;}
  .entry-content .sh-story .sh-story-sources {margin-top:39px;}
}
@media screen and (max-width:340px) {
  .entry-content .sh-story .sh-story-data-value {font-size:47px;}
  .entry-content .sh-story .sh-story-logic-rates strong {font-size:28px;}
  .entry-content .sh-story .sh-story-logic-panel {padding:12px;}
}
