/* <system section="theme" selected="reach"> */
@charset "UTF-8";/*!
  Theme: Reach
  Author: Hatena Blog Team
  Responsive: yes
*//*! normalize.css v2.1.0 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}hr{box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"“" "”" "‘" "’"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}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}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}.clearfix{display:block;*zoom: 1}.clearfix:after{display:block;visibility:hidden;font-size:0;height:0;clear:both;content:"."}.inline-block{display:inline-block;*display: inline;*zoom: 1}.border-box{-ms-box-sizing:border-box;box-sizing:border-box}.ellipsis{white-space:nowrap;-webkit-text-overflow:ellipsis;text-overflow:ellipsis;overflow:hidden}html,body{font-family:Helvetica Neue,Helvetica,Arial,Hiragino Kaku Gothic Pro,Meiryo,MS PGothic,sans-serif;color:#555}body{background-color:#e2e2e2;background-image:url(https://cdn.blog.st-hatena.com/css/theme/reach/images/bg.png?version=39e674f3e45049b5e65ae0182424dc);background-repeat:repeat}.customized-background-image{background-size:inherit!important}a{color:#429bb2}a:hover{color:#328094}a:visited{color:#789dae}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a,h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover,h6 a:hover,h1 a:visited,h2 a:visited,h3 a:visited,h4 a:visited,h5 a:visited,h6 a:visited{color:#333;text-decoration:none}a.keyword{text-decoration:none;border-bottom:1px dotted #d5d5d5;color:#555}.btn{display:inline-block;*display: inline;*zoom: 1;padding:4px 10px;margin-bottom:0;line-height:18px;color:#555;background-color:#fff;border:1px solid #d5d5d5;text-align:center;vertical-align:middle;cursor:pointer;font-size:12px;text-decoration:none;font-weight:700;text-decoration:none!important;-webkit-border-top-right-radius:2px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-webkit-border-top-left-radius:0;-moz-border-radius-topright:2px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:0;border-radius:2px;-moz-background-clip:padding;background-clip:padding-box}.btn:hover{text-decoration:none!important;color:#429bb2}.btn-primary{background-color:#429bb2;color:#fff;font-weight:400;border:1px solid transparent}.btn-primary:hover{background-color:#328094;color:#fff}.btn-small{padding:2px 10px!important;font-size:11px!important}.btn-large{padding:13px 19px;font-size:17px;line-height:normal;font-weight:700}#globalheader-container{background-color:#333!important;color:#fff;position:sticky;top:0;width:100%}#container{margin-bottom:30px}#content{width:960px;margin-left:auto;margin-right:auto;display:block;*zoom: 1}#content:after{display:block;visibility:hidden;font-size:0;height:0;clear:both;content:"."}#main{width:620px;float:right}#box2{width:320px;float:left}#blog-title{margin:0 0 20px;padding:30px 0;background:#fff;border-bottom:1px solid #d5d5d5;line-height:1.3}#blog-title-inner{width:960px;margin-left:auto;margin-right:auto}#title{margin:0;font-size:160%}#title a{color:#429bb2}#blog-description{font-weight:400;font-size:80%;margin:5px 0 0;line-height:1.5}.header-image-enable #blog-title{margin:20px auto;padding:0;width:960px;border-bottom:none}.header-image-enable #blog-title-inner{width:958px;background-color:#fff;-webkit-border-top-right-radius:4px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-webkit-border-top-left-radius:0;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:0;border-radius:4px;-moz-background-clip:padding;background-clip:padding-box;border:1px solid #d5d5d5}.header-image-enable #title{padding-top:70px}.header-image-enable #title,.header-image-enable #blog-description{padding-left:20px}#top-box{margin-left:auto;margin-right:auto;font-size:90%;width:960px}.entry{position:relative;margin-bottom:20px;background:#fff;-webkit-border-top-right-radius:4px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-webkit-border-top-left-radius:0;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:0;border-radius:4px;-moz-background-clip:padding;background-clip:padding-box;border:1px solid #d5d5d5}.entry .entry-inner{padding:20px}.entry-header{padding:0 0 10px;margin-bottom:20px;border-bottom:5px solid #d5d5d5;position:relative}.entry-title{margin:0;line-height:1.3;font-size:160%}.date{margin-bottom:10px}.date a{font-weight:700;text-decoration:none;font-size:80%}.date-last-updated{font-size:80%;font-weight:700;color:#789dae}.categories{margin-top:10px;font-size:80%}.categories a{display:inline-block;*display: inline;*zoom: 1;padding:4px 10px;margin-bottom:0;line-height:18px;color:#555;background-color:#fff;border:1px solid #d5d5d5;text-align:center;vertical-align:middle;cursor:pointer;font-size:12px;text-decoration:none;font-weight:700;text-decoration:none!important;-webkit-border-top-right-radius:2px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-webkit-border-top-left-radius:0;-moz-border-radius-topright:2px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:0;border-radius:2px;-moz-background-clip:padding;background-clip:padding-box;background-color:#429bb2;color:#fff;font-weight:400;border:1px solid transparent;padding:1px 7px!important;font-size:11px!important}.categories a:hover{text-decoration:none!important;color:#429bb2}.categories a:hover{background-color:#328094;color:#fff}.categories.no-categories{margin:0}.entry-header-menu{position:absolute;top:0;right:0}.entry-header-menu a{display:inline-block;*display: inline;*zoom: 1;padding:4px 10px;margin-bottom:0;line-height:18px;color:#555;background-color:#fff;border:1px solid #d5d5d5;text-align:center;vertical-align:middle;cursor:pointer;font-size:12px;text-decoration:none;font-weight:700;text-decoration:none!important;-webkit-border-top-right-radius:2px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-webkit-border-top-left-radius:0;-moz-border-radius-topright:2px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:0;border-radius:2px;-moz-background-clip:padding;background-clip:padding-box}.entry-header-menu a:hover{text-decoration:none!important;color:#429bb2}.entry-content{font-size:95%;line-height:1.7;padding-bottom:10px;border-bottom:1px solid #d5d5d5}.entry-content p{margin:0 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:1.3em 0 .8em;line-height:1.5}.entry-content h1{font-size:160%}.entry-content h2{font-size:150%}.entry-content h3{font-size:140%}.entry-content h4{font-size:130%}.entry-content h5{font-size:110%}.entry-content h6{font-size:100%}.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6,.entry-content .footnote-number{scroll-margin-top:56px}.entry-content table{border-collapse:collapse;border-spacing:0;margin-bottom:1em}.entry-content table th,.entry-content table td{border:1px solid #ddd;padding:5px 10px}.entry-content table th{background:#f5f5f5}.entry-content blockquote{border:1px solid #d5d5d5;margin:0 0 10px;padding:20px}.entry-content blockquote p{margin-top:0;margin-bottom:0}.entry-content pre{border:1px solid #ddd;margin:0 0 10px;padding:15px;background:#f0f0f0;font-size:95%;line-height:1.5;-webkit-border-top-right-radius:4px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-webkit-border-top-left-radius:0;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:0;border-radius:4px;-moz-background-clip:padding;background-clip:padding-box}.entry-content pre>code{margin:0;padding:0;white-space:pre;border:0;background:transparent;font-family:Monaco,Consolas,Courier New,Courier,monospace,sans-serif}.entry-content code{font-size:90%;margin:0 2px;padding:0 5px;border:1px solid #eaeaea;background-color:#f8f8f8;border-radius:3px;font-family:Monaco,Consolas,Courier New,Courier,monospace,sans-serif}.entry-content .hatena-asin-detail li{line-height:1.4}.entry-footer{margin-top:10px}.entry-footer-section{font-size:80%;color:#999}.entry-footer-section a{color:#999}.social-buttons,.entry-footer-html{margin:10px 0}.comment-box ul{list-style:none;margin:0 0 15px;padding:0;font-size:90%}.comment-box li{padding:10px 0 10px 60px;border-bottom:1px solid #d5d5d5;position:relative}.comment-box li:first-child{border-top:1px solid #d5d5d5}.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;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-webkit-border-top-left-radius:0;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:0;border-radius:3px;-moz-background-clip:padding;background-clip:padding-box}.comment-user-name{margin:0 0 10px;font-weight:700}.comment-content{font-size:90%;margin:0 0 10px;word-wrap:break-word}.comment-content p{margin:0 0 10px}.comment-metadata{font-size:80%;color:#999;margin:0}.comment-metadata a{color:#999}.leave-comment-title{display:inline-block;*display: inline;*zoom: 1;padding:4px 10px;margin-bottom:0;line-height:18px;color:#555;background-color:#fff;border:1px solid #d5d5d5;text-align:center;vertical-align:middle;cursor:pointer;font-size:12px;text-decoration:none;font-weight:700;text-decoration:none!important;-webkit-border-top-right-radius:2px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-webkit-border-top-left-radius:0;-moz-border-radius-topright:2px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:0;border-radius:2px;-moz-background-clip:padding;background-clip:padding-box}.leave-comment-title:hover{text-decoration:none!important;color:#429bb2}#box2{font-size:85%;line-height:1.5}#box2 .hatena-module{padding:10px;-webkit-border-top-right-radius:4px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-webkit-border-top-left-radius:0;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:0;border-radius:4px;-moz-background-clip:padding;background-clip:padding-box;border:1px solid #d5d5d5}.hatena-module{background:#fff;margin-bottom:20px}.hatena-module-title{font-weight:700;margin:5px 0 15px;font-size:110%;color:#333}.hatena-module-title a{color:#333;text-decoration:none}.hatena-module-title a:hover{text-decoration:underline}.hatena-module-profile .profile-icon{float:left;margin:0 10px 10px 0;-webkit-border-top-right-radius:5px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-webkit-border-top-left-radius:0;-moz-border-radius-topright:5px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:0;border-radius:5px;-moz-background-clip:padding;background-clip:padding-box}.hatena-module-profile .id{display:block;font-weight:700;font-size:110%;margin-bottom:5px}.hatena-module-profile .profile-description{font-size:95%}.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 #d5d5d5;line-height:1.5}.hatena-urllist li:first-child{padding-top:0}.hatena-urllist li a{text-decoration:none}.hatena-urllist li a:hover{text-decoration:underline}.hatena-module-search-box .search-form{border:1px solid #d5d5d5;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-webkit-border-top-left-radius:0;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:0;border-radius:3px;-moz-background-clip:padding;background-clip:padding-box;width:100%;-ms-box-sizing:border-box;box-sizing:border-box;position:relative}.hatena-module-search-box .search-module-input{padding:5px;color:#555;background:none;border:none;outline:none;height:20px;width:90%}.hatena-module-search-box .search-module-button{width:20px;height:20px;background:transparent url(https://cdn.blog.st-hatena.com/images/theme/search.png?version=39e674f3e45049b5e65ae0182424dc) no-repeat right center;border:none;outline:none;text-indent:-9999px;position:absolute;top:5px;right:5px;-moz-opacity:.5;-khtml-opacity:.5;-webkit-opacity:.5;opacity:.5;filter:alpha(opacity=50)}.hatena-module-search-box .search-module-button:hover{-moz-opacity:.85;-khtml-opacity:.85;-webkit-opacity:.85;opacity:.85;filter:alpha(opacity=85)}.pager{margin:20px 0;padding:20px 0;text-align:center;border-top:1px solid #d5d5d5;border-bottom:1px solid #d5d5d5;font-size:80%;font-weight:700}.pager a{color:#555;text-decoration:none}.pager a:hover{text-decoration:underline}.pager .pager-next{margin-left:1em}#top-editarea,#bottom-editarea,.breadcrumb{width:938px;margin-left:auto;margin-right:auto;display:block;*zoom: 1;padding:10px;background:#fff;border:1px solid #d5d5d5;-webkit-border-top-right-radius:4px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-webkit-border-top-left-radius:0;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:0;border-radius:4px;-moz-background-clip:padding;background-clip:padding-box;margin-bottom:20px}#top-editarea:after,#bottom-editarea:after,.breadcrumb:after{display:block;visibility:hidden;font-size:0;height:0;clear:both;content:"."}#footer{padding:30px 0;text-align:center;color:#999;line-height:1.5;font-size:80%}#footer p{margin:0}#footer a{color:#999}.page-about dt{font-size:16px;font-weight:700;border-bottom:1px solid #dfdfdf;margin-bottom:5px}.page-about dd{margin-left:0;margin-bottom:30px}.page-archive #main{padding:20px;background:#fff;margin-bottom:20px;width:578px;-webkit-border-top-right-radius:4px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-webkit-border-top-left-radius:0;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:0;border-radius:4px;-moz-background-clip:padding;background-clip:padding-box;border:1px solid #d5d5d5}.page-archive #main section{margin-bottom:20px}.page-archive #main .entry-title{margin-bottom:5px;text-decoration:none;font-size:80%;color:#333;font-size:100%;font-weight:700}.page-archive #main .entry-title a{color:#429bb2}.page-archive #main ul{list-style:none;margin:0;padding:0}.page-archive #main ul li{padding:8px 0;border-bottom:1px solid #d5d5d5;line-height:1.5}.page-archive #main ul li:first-child{padding-top:0}.page-archive #main ul li a{text-decoration:none}.page-archive #main ul li a:hover{text-decoration:underline}.page-archive .categories{margin:10px 0}.page-archive .categories a{display:inline-block;*display: inline;*zoom: 1;padding:4px 10px;margin-bottom:0;line-height:18px;color:#555;background-color:#fff;border:1px solid #d5d5d5;text-align:center;vertical-align:middle;cursor:pointer;font-size:12px;text-decoration:none;font-weight:700;text-decoration:none!important;-webkit-border-top-right-radius:2px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-webkit-border-top-left-radius:0;-moz-border-radius-topright:2px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;-moz-border-radius-topleft:0;border-radius:2px;-moz-background-clip:padding;background-clip:padding-box;font-weight:400}.page-archive .categories a:hover{text-decoration:none!important;color:#429bb2}@media(-webkit-min-device-pixel-ratio:2){body{background:url(https://cdn.blog.st-hatena.com/css/theme/reach/images/bg@2x.png?version=39e674f3e45049b5e65ae0182424dc);background-size:200px 200px}.hatena-module-search-box .search-module-button{background:transparent url(https://cdn.blog.st-hatena.com/images/theme/search@2x.png?version=39e674f3e45049b5e65ae0182424dc) no-repeat right center;background-size:20px 20px}}@media(min-width:768px)and (max-width:1024px){#content,#blog-title-inner,.header-image-enable #blog-title,.header-image-enable #blog-title-inner,#top-box{width:724px}#top-editarea,#bottom-editarea{width:704px}#main{width:460px}.page-archive #main{width:420px}#box2{width:245px}}@media(max-width:767px){#globalheader-container{position:static}#blog-title{margin-top:0;padding-top:30px}#container{word-wrap:break-word;overflow:hidden}#content,#blog-title-inner,.header-image-enable #blog-title,#top-box,#top-editarea,#bottom-editarea{width:93.75%}#content img,#blog-title-inner img,.header-image-enable #blog-title img,#top-box img,#top-editarea img,#bottom-editarea img{max-width:100%}.header-image-enable #blog-title-inner{width:auto}.header-image-enable #title,.header-image-enable #blog-description{padding-right:20px}#main{width:100%;float:none}.page-archive #main,.page-archive .breadcrumb{width:100%;float:none;box-sizing:border-box}.page-archive #top-box,.page-archive #bottom-editarea{width:93.75%;box-sizing:border-box}#box2{width:100%;float:none}#box2-inner{width:100%}.hatena-module{float:none}}

/* </system> */

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

/* </system> */
/* Ventiaデザイン最適化カラースキーム */
:root {
  --main-color: #2c3e50;
  --accent-color: #3498db;
  --emphasis-color: #e74c3c;
  --bg-color: #f9f9f9;
  --text-color: #333;
  --border-color: #eee;
}

/* ダークモード対応 */
@media (prefers-color-scheme: dark) {
  :root {
    --main-color: #1a2634;
    --accent-color: #2980b9;
    --emphasis-color: #c0392b;
    --bg-color: #1a1a1a;
    --text-color: #eee;
    --border-color: #333;
  }
}

/* タイポグラフィ設定 - 2025年最適化版 */
.entry-title {
  font-family: 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', sans-serif;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.4;
}

.entry-content {
  font-family: 'Helvetica Neue', Arial, 'Hiragino Sans', sans-serif;
  line-height: 1.9;
  font-size: 16px;
  letter-spacing: 0.5px;
  word-spacing: 1px;
}

/* 見出しスタイル - Font Awesome 6対応 */
.entry-content h2 {
  border-left: 5px solid var(--accent-color);
  padding-left: 12px;
  font-size: 1.4rem;
  margin: 2.5em 0 1.2em;
}

.entry-content h3 {
  border-bottom: 2px solid var(--border-color);
  padding-bottom: 6px;
  font-size: 1.2rem;
  margin: 2em 0 1em;
}

.entry-content h4 {
  font-size: 1.1rem;
  margin: 1.8em 0 0.8em;
  color: var(--main-color);
}

/* スマホ表示調整 */
@media screen and (max-width: 768px) {
  .entry-content {
    font-size: 15px;
    line-height: 1.8;
  }
  
  .entry-content h2 {
    font-size: 1.3rem;
  }
  
  .entry-content h3 {
    font-size: 1.1rem;
  }
}

/* テーブルの横スクロール対応 */
.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 1.5em;
}

/* 吹き出しスタイルの改善 */
.balloon-left {
  display: flex;
  align-items: flex-start;
  margin: 2em 0;
}

.balloon-image {
  margin: 0;
  min-width: 60px;
  width: 60px;
}

.balloon-text {
  position: relative;
  background: var(--bg-color);
  border: 2px solid var(--border-color);
  border-radius: 10px;
  padding: 1em;
  margin-left: 15px;
}

.balloon-text:before,
.balloon-text:after {
  content: "";
  position: absolute;
  left: -10px;
  top: 20px;
  border: 5px solid transparent;
}

.balloon-text:before {
  border-right: 10px solid var(--border-color);
  margin-left: -2px;
}

.balloon-text:after {
  border-right: 10px solid var(--bg-color);
}

/* ボックス共通スタイル */
.information-box,
.success-box,
.warning-box,
.solution-box {
  margin: 2em 0;
  padding: 1.5em;
  border-radius: 5px;
  position: relative;
}

/* 情報ボックス */
.information-box {
  background-color: rgba(52, 152, 219, 0.1);
  border-left: 5px solid var(--accent-color);
}

/* 成功ボックス */
.success-box {
  background-color: rgba(46, 204, 113, 0.1);
  border-left: 5px solid #2ecc71;
}

/* 警告ボックス */
.warning-box {
  background-color: rgba(231, 76, 60, 0.1);
  border-left: 5px solid var(--emphasis-color);
}

/* 対策ボックス */
.solution-box {
  background-color: rgba(241, 196, 15, 0.1);
  border-left: 5px solid #f1c40f;
}

/* モバイル最適化 */
@media (max-width: 480px) {
  .entry-content {
    padding: 0 10px;
  }
  
  a, button {
    min-height: 44px;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
  }
  
  .table-responsive table {
    font-size: 14px;
  }
}

/* 引用番号リンクの44pxタップ領域問題の修正（2026-08-07）
   上の a, button は全<a>に inline-flex + 44px を当てるため、
   引用番号 <sup><a href="#refN"> と href 無しのアンカー先 <a id="refN">
   まで44px角の箱になり行送りが壊れる。
   WCAG 2.5.8 はインラインリンクを対象外と定めるため除外してよい。 */
@media (max-width: 480px) {
  .entry-content sup a,
  .entry-content a:not([href]) {
    display: inline;
    min-width: 0;
    min-height: 0;
    line-height: inherit;
    vertical-align: baseline;
  }
  .entry-content sup a { padding: 0 1px; }
}

/* 本文中インラインリンクの44pxタップ領域の解除（2026-08-07）
   上の a, button の inline-flex は行内で分割できない原子的インラインボックスに
   なるため、文中リンクが1行に押し込まれて行送りが壊れる。
   WCAG 2.5.8 はインラインリンクを対象外と定めるので解除してよい。
   タップ領域は上下 padding 6px で確保する（inline 要素の上下 padding は
   行の高さを変えずにヒット領域だけ広げる。17px → 29px）。
   見出しアンカーと画像リンクは箱のままが正しいので除外。
   :has() 非対応ブラウザではブロック全体が無効になり従来表示へ戻るだけ。
   ロールバックはこのブロックの削除のみ。詳細と実測値:
   medical-content/blog/hatena-design-css/patch_inline_link_tap_target.css */
@media (max-width: 480px) {
  .entry-content a[href]:not(.heading-anchor-link):not(:has(img)) {
    display: inline;
    min-width: 0;
    min-height: 0;
    line-height: inherit;
    vertical-align: baseline;
    padding: 6px 0;
  }

  /* 引用番号は上のルールと同詳細度・後置で padding を戻す */
  .entry-content sup a[href]:not(.heading-anchor-link) {
    padding: 0 1px;
  }
}

/* === ichisouzo-home-20261013: reversible homepage layer === */
#blog-title{height:auto!important;max-width:960px;width:calc(100% - 32px);margin:24px auto 16px;border-radius:12px;overflow:hidden;box-sizing:border-box;}
#blog-title-inner{height:168px!important;min-height:0!important;background-size:cover!important;background-position:center 47%!important;display:flex;align-items:center;}
#blog-title-inner:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,36,51,.8),rgba(7,36,51,.18));pointer-events:none;}
#blog-title-content{position:relative!important;top:auto!important;left:auto!important;width:100%;padding:24px!important;box-sizing:border-box;}
#title{margin:0 0 9px!important;line-height:1.45!important;font-size:27px!important;}
#title a{display:block;min-height:0;color:#fff!important;text-shadow:0 1px 3px #123;}
#blog-description{margin:0!important;color:#fff!important;font-size:14px!important;line-height:1.6!important;}
#top-editarea{width:calc(100% - 32px)!important;max-width:960px;box-sizing:border-box;padding:0!important;margin:0 auto 24px!important;border:0!important;background:transparent!important;box-shadow:none!important;}
.ich-nav-wrap{background:#fff;border:1px solid #dce6ec;border-radius:10px;overflow:hidden;}
.ich-primary-nav{display:flex;align-items:center;gap:4px 16px;flex-wrap:wrap;padding:12px 16px;}
.ich-primary-nav>a{font-size:15px;font-weight:700;color:#174c64;text-decoration:none;display:inline-flex;align-items:center;min-height:40px;}
.ich-primary-nav>a:hover,.ich-external-nav a:hover,.ich-topic-nav a:hover{text-decoration:underline;}
.ich-primary-nav .ich-nav-home{color:#23384d;}
.ich-search{display:flex;flex:1 1 255px;gap:6px;max-width:360px;margin-left:auto;}
.ich-search input{box-sizing:border-box;width:0;min-width:0;flex:1;border:1px solid #bbcdd8;border-radius:6px;padding:9px 10px;font:inherit;font-size:14px;background:#fff;color:#23384d;}
.ich-search button{border:0;border-radius:6px;padding:9px 14px;background:#1b607b;color:#fff;font-size:14px;cursor:pointer;min-width:54px;min-height:40px;}
.ich-external-nav{display:flex;flex-wrap:wrap;gap:4px 20px;padding:8px 16px;border-top:1px solid #edf1f4;}
.ich-external-nav a{color:#516879;font-size:13px;text-decoration:none;min-height:28px;display:inline-flex;align-items:center;}
.ich-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.ich-home-only{display:none;}
.page-index .ich-home-only{display:block;}
.ich-home-intro{padding:21px 0 0;color:#23384d;}
.ich-intro{margin:0 0 8px;font-size:17px;line-height:1.9;font-weight:600;}
.ich-author{margin:0 0 16px;font-size:13px;line-height:1.8;color:#526777;}
.ich-author a{color:#1b607b;display:inline;min-height:0;min-width:0;}
.ich-topic-nav{display:flex;flex-wrap:wrap;gap:8px;}
.ich-topic-nav a{background:#fff;border:1px solid #cbdbe4;border-radius:20px;padding:6px 13px;font-size:13px;color:#24536a;text-decoration:none;min-height:30px;box-sizing:border-box;display:inline-flex;align-items:center;}
.ich-all-categories{font-size:13px;margin-top:12px;line-height:1.8;}
.ich-all-categories summary{cursor:pointer;color:#24536a;padding:7px 0;}
#ich-category-list{background:#fff;border:1px solid #dce6ec;border-radius:8px;padding:12px;}
#ich-category-list ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 12px;}
#ich-category-list li{margin:0;padding:0;border:0;overflow-wrap:anywhere;}
#ich-category-list a{display:block;min-height:30px;min-width:0;font-size:13px;line-height:1.6;color:#24536a;text-decoration:none;}
.ich-featured{margin-top:20px;color:#23384d;}
.ich-featured h2,.ich-latest-title{font-size:19px;line-height:1.5;margin:0 0 12px;font-weight:700;}
.ich-featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.ich-feature{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:8px;min-width:0;min-height:0;box-sizing:border-box;padding:16px;background:#fff;border:1px solid #ccdde6;border-top:3px solid #2e8194;border-radius:8px;text-decoration:none!important;color:#253f50;line-height:1.6;}
.ich-feature:hover{border-color:#2e8194;background:#f5fbfd;}
.ich-eyebrow{font-size:11px;color:#2d728a;font-weight:700;letter-spacing:.04em;}
.ich-feature strong{font-size:16px;line-height:1.6;}
.ich-feature>span:last-child{font-size:12px;color:#526777;}
.ich-latest-title{margin:26px 0 0!important;color:#23384d;}
body.page-index{background:#f3f6f8;}
.page-index #content{max-width:960px;width:calc(100% - 32px);margin:0 auto;}
.page-index #wrapper,.page-index #main,.page-index #main-inner{width:100%;max-width:100%;float:none;box-sizing:border-box;margin:0;padding:0;border:0;background:transparent;box-shadow:none;}
.page-index #box2{display:none;}
.page-index .archive-entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.page-index .archive-entry{box-sizing:border-box;min-width:0;display:flex;flex-direction:column;margin:0;padding:0;background:#fff;border:1px solid #dce6ec;border-radius:10px;overflow:hidden;}
.page-index .archive-entry-header{padding:16px 18px 6px;}
.page-index .archive-date{font-size:12px;line-height:1.6;margin:0 0 8px;}
.page-index .archive-entry .entry-title{font-size:21px;line-height:1.55;margin:0;overflow-wrap:anywhere;}
.page-index .archive-entry .entry-title a{color:#203e50;text-decoration:none;display:block;min-width:0;min-height:0;}
.page-index .archive-entry .entry-title a:hover{text-decoration:underline;}
.page-index .archive-entry>.categories{padding:0 18px;margin:0;display:flex;flex-wrap:wrap;gap:5px;}
.page-index .archive-entry>.categories a{font-size:11px;line-height:1.5;padding:3px 7px;min-height:0;min-width:0;margin:0;display:inline-block;border-radius:3px;}
.page-index .entry-thumb-link{order:-1;display:block;min-height:0;min-width:0;}
.page-index .entry-thumb{float:none;width:100%;height:220px;margin:0;background-size:cover;background-position:center;}
.page-index .archive-entry-body{padding:10px 18px 16px;box-sizing:border-box;}
.page-index .entry-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:14px;line-height:1.85;color:#4d6270;margin:0 0 10px;}
.page-index .archive-entry .social-buttons{font-size:11px;}
.page-index .pager{margin:24px 0;}
@media(max-width:700px){
#blog-title{margin-top:16px;width:calc(100% - 24px);}
#blog-title-inner{height:150px!important;}
#blog-title-content{padding:17px!important;}
#title{font-size:21px!important;}
#blog-description{font-size:12px!important;}
#top-editarea,.page-index #content{width:calc(100% - 24px)!important;}
.ich-primary-nav{gap:2px 15px;padding:10px 12px;}
.ich-primary-nav>a{font-size:14px;}
.ich-search{flex-basis:100%;max-width:none;margin:5px 0 0;}
.ich-search input{font-size:16px;}
.ich-external-nav{gap:1px 15px;padding:7px 12px;}
.ich-external-nav a{font-size:12px;}
.ich-intro{font-size:15px;line-height:1.85;}
.ich-author{font-size:12px;}
.ich-topic-nav{gap:6px;}
.ich-topic-nav a{font-size:12px;padding:5px 10px;}
#ich-category-list ul{grid-template-columns:repeat(2,minmax(0,1fr));}
.ich-featured-grid{grid-template-columns:1fr;gap:9px;}
.ich-feature{padding:12px 14px;gap:4px;}
.ich-feature strong{font-size:15px;}
.ich-feature br{display:none;}
.page-index .archive-entries{grid-template-columns:1fr;gap:18px;}
.page-index .entry-thumb{height:200px;}
.page-index .archive-entry .entry-title{font-size:19px;line-height:1.6;}
.page-index .archive-entry-header{padding:14px 15px 7px;}
.page-index .archive-entry>.categories{padding:0 15px;}
.page-index .archive-entry-body{padding:10px 15px 15px;}
}
/* === end ichisouzo-home-20261013 === */

/* Reach theme specificity corrections verified at narrow widths */
#title{padding:0!important;}
#blog-description{padding:0!important;}
.page-index .archive-entry .entry-title{font-size:21px!important;}
.page-index .archive-entry .entry-title a{color:#203e50!important;}
@media(max-width:700px){.page-index .archive-entry .entry-title{font-size:19px!important;}}

/* === ichisouzo-discovery-20261013: reader pathways === */
.ich-external-nav{align-items:center;gap:7px 18px;padding:10px 16px;background:#f3f8fb;}
a.ich-lab-home-cta,.ich-external-nav a.ich-lab-home-cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;box-sizing:border-box;min-height:44px;min-width:0;padding:10px 16px;border-radius:7px;background:#185c72;color:#fff!important;font-size:14px;font-weight:700;line-height:1.5;text-decoration:none!important;}
a.ich-lab-home-cta:hover,.ich-external-nav a.ich-lab-home-cta:hover{background:#10485c;}
.ich-subscribe-inline{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin:14px 0;color:#526777;font-size:13px;line-height:1.7;}
.ich-subscribe-inline iframe{width:150px!important;height:28px!important;max-width:100%;border:0;display:block;}
.ich-popular{margin-top:22px;padding:18px;background:#fff;border:1px solid #d6e3eb;border-radius:10px;color:#23384d;scroll-margin-top:20px;}
.ich-popular-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 16px;margin-bottom:10px;}
.ich-popular-heading h2{margin:0;font-size:19px;line-height:1.6;}
.ich-popular-heading>span{font-size:12px;color:#5a7080;}
.ich-popular ol{padding-left:27px;margin:0;}
.ich-popular li{padding:6px 0 6px 3px;line-height:1.65;border-bottom:1px solid #edf2f5;}
.ich-popular li::marker{color:#2b778f;font-size:13px;font-weight:bold;}
.ich-popular li a{color:#254b61;text-decoration:none;font-size:14px;line-height:1.7;display:block;min-width:0;min-height:0;overflow-wrap:anywhere;}
.ich-popular li a:hover{text-decoration:underline;}
.ich-popular-more summary{cursor:pointer;font-size:13px;color:#24536a;padding:11px 0;}
.ich-popular-note{margin:12px 0 7px;font-size:11px;color:#667d8b;line-height:1.6;}
.ich-hatena-discovery{display:flex;align-items:center;flex-wrap:wrap;gap:4px 16px;font-size:12px;color:#667d8b;}
.ich-hatena-discovery a{display:inline;min-height:0;min-width:0;color:#476c80;font-size:12px;line-height:1.7;text-decoration:underline;}
.ich-reader-cta{margin:28px 0;padding:22px;border:1px solid #c6d8e5;border-radius:10px;background:#f3f8fc;color:#23384d;line-height:1.8;}
.ich-reader-cta p{margin:0 0 12px;font-size:15px;}
.ich-reader-cta .ich-reader-title{font-size:18px;font-weight:bold;}
.ich-reader-cta .ich-reader-links{margin:14px 0 0;font-size:13px;}
.ich-reader-links a{display:inline;min-height:0;min-width:0;color:#24536a;font-size:13px;}
.ich-reader-cta .ich-subscribe-inline{margin-top:18px;}
@media(max-width:700px){
.ich-primary-nav{column-gap:13px;}
.ich-external-nav{padding:10px 12px;gap:7px 14px;}
.ich-external-nav a.ich-lab-home-cta{flex-basis:100%;justify-content:space-between;font-size:14px;}
.ich-popular{padding:14px;}
.ich-popular-heading h2{font-size:18px;}
.ich-popular-heading>span{font-size:11px;}
.ich-reader-cta{padding:18px;}
}
/* === end ichisouzo-discovery-20261013 === */

/* === ichisouzo-home-order-20261015: featured links below the current article list === */
.page-index #bottom-editarea{width:calc(100% - 32px);max-width:960px;box-sizing:border-box;padding:0;margin:28px auto 32px;border:0;background:transparent;box-shadow:none;}
.ich-home-bottom .ich-featured{margin-top:0;}
.ich-home-bottom .ich-hatena-discovery{margin-top:20px;padding:16px 0 0;border-top:1px solid #d7e2e9;}
body:not(.page-index) #bottom-editarea:has(>.ich-home-bottom){display:none;}
@media(max-width:700px){.page-index #bottom-editarea{width:calc(100% - 24px);margin-top:24px;}}
/* === end ichisouzo-home-order-20261015 === */

/* === ichisouzo-group-support-20261015: official banners and save button === */
.page-entry .entry-footer{display:flex;flex-direction:column;}
.page-entry .entry-footer > .customized-footer{order:-1;width:100%;box-sizing:border-box;display:flex;flex-direction:column;}
.page-entry .customized-footer > .entry-footer-html{order:-1;width:100%;box-sizing:border-box;}
.ich-group-support,.ich-save-article{box-sizing:border-box;margin:24px 0;padding:20px;border:1px solid #d8e2e8;border-radius:10px;background:#f5f9fb;color:#274552;}
.ich-group-support h2,.ich-save-article h2{margin:0 0 10px;padding:0;border:0;background:none;font-size:19px;line-height:1.5;}
.ich-group-support p,.ich-save-article p{margin:0 0 14px;font-size:15px;line-height:1.8;}
.ich-group-banner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.ich-group-banner-grid .embed-group{margin:0;width:auto;max-width:none;border:1px solid #b9cdd6;border-radius:8px;background:#fff;overflow:hidden;}
.ich-group-banner-grid .embed-group-link{display:flex;align-items:center;gap:12px;box-sizing:border-box;min-height:84px;width:100%;max-width:none;box-shadow:none;border-radius:0;padding:12px;text-decoration:none;color:#184f63;}
.ich-group-banner-grid .embed-group-link:hover,.ich-group-banner-grid .embed-group-link:focus-visible{background:#eaf5fa;outline:2px solid #26718a;outline-offset:-2px;}
.ich-group-banner-grid .embed-group-icon{flex:0 0 40px;width:40px;margin:0;}
.ich-group-banner-grid .embed-group-icon img{display:block;width:40px;height:40px;margin:0;}
.ich-group-banner-grid .embed-group-content{min-width:0;margin:0;}
.ich-group-banner-grid .embed-group-title-label{display:block;font-size:11px;color:#687f89;line-height:1.5;}
.ich-group-banner-grid .embed-group-title{font-size:15px;font-weight:700;line-height:1.6;white-space:normal;overflow-wrap:anywhere;}
.ich-group-support .ich-group-note{margin:14px 0 0;font-size:12px;color:#62757f;}
.ich-group-note a{margin-left:6px;text-decoration:underline;}
.ich-save-article{background:#fff;border-left:4px solid #00a4de;}
.ich-bookmark-control{min-height:44px;}
.page-entry .entry-footer > .social-buttons .social-button-item:has(iframe.hatena-bookmark-button-frame){display:none;}
@media(max-width:700px){.ich-group-support,.ich-save-article{padding:16px;}.ich-group-banner-grid{grid-template-columns:1fr;}.ich-group-banner-grid .embed-group-link{min-height:76px;}}
/* === end ichisouzo-group-support-20261015 === */

/* Hide only the old ordinary participation module; official ranking banners remain. */
.page-entry #entry-footer-primary-modules > .hatena-module-circles{display:none;}

/* === ichisouzo-home-v2-20261103: Medixpost-style 2-column layout (tropical fish banner preserved) ===
   Rollback: remove this block from Design CSS and restore before/top_editarea_2026-11-03.html + before/bottom_editarea_2026-11-03.html */

/* 1. Fix Hatena mobile control bar stretch bug globally & remove duplicate title bar on index */
.blog-controlls {
  align-items: center !important;
}
.blog-controlls .blog-controlls-subscribe-btn {
  align-self: center !important;
  height: auto !important;
  min-height: 34px !important;
  min-width: 0 !important;
  padding: 6px 10px !important;
  line-height: 1.3 !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.header-image-enable .blog-controlls,
.page-index .blog-controlls {
  display: none !important;
}
.ich-ib {
  display: inline-block;
}

/* 2. Tropical fish banner: preserve image, widen on index, tighten vertical footprint */
#blog-title {
  margin: 12px auto 10px !important;
  border-radius: 10px !important;
}
.page-index #blog-title,
.page-index #top-editarea,
.page-index #content,
.page-index #bottom-editarea {
  max-width: 1180px !important;
  width: calc(100% - 32px) !important;
}
#blog-title-inner {
  height: 112px !important;
  background-position: center 46% !important;
}
#blog-title-inner:before {
  background: linear-gradient(90deg, rgba(7, 34, 51, 0.85) 0%, rgba(7, 34, 51, 0.50) 54%, rgba(7, 34, 51, 0.10) 100%) !important;
}
#blog-title-content {
  padding: 14px 22px !important;
}
#title {
  font-size: 23px !important;
  line-height: 1.35 !important;
  margin: 0 0 4px !important;
}
#blog-description {
  font-size: 12.5px !important;
  line-height: 1.45 !important;
  opacity: 0.92;
}

/* 3. Slim global navigation bar */
#top-editarea {
  margin: 0 auto 14px !important;
}
.ich-nav-wrap {
  border-radius: 9px !important;
  border: 1px solid #d5e2ea !important;
  box-shadow: 0 1px 2px rgba(15, 35, 55, 0.03);
}
.ich-primary-nav {
  padding: 8px 12px !important;
  gap: 6px 10px !important;
}
.ich-primary-nav > a {
  font-size: 14px !important;
  min-height: 34px !important;
  min-width: 0 !important;
  padding: 4px 6px;
  color: #1e4258 !important;
  border-radius: 6px;
  white-space: nowrap;
}
.ich-primary-nav > a.ich-nav-pill {
  padding: 4px 11px !important;
  border-radius: 999px;
  font-size: 13px !important;
  text-decoration: none !important;
}
.ich-primary-nav > a.ich-nav-general {
  background: #e6f6f3;
  color: #0d5c54 !important;
  border: 1px solid #9bd6cb;
}
.ich-primary-nav > a.ich-nav-doctor {
  background: #e8eff7;
  color: #163a5f !important;
  border: 1px solid #adc4de;
}
.ich-primary-nav > a.ich-nav-pill:hover {
  filter: brightness(0.96);
}
.ich-search {
  flex: 1 1 232px !important;
  max-width: 310px !important;
}
.ich-search input {
  padding: 6px 8px !important;
  font-size: 13px !important;
  min-height: 34px;
}
.ich-search button {
  padding: 6px 13px !important;
  min-height: 34px !important;
  min-width: 52px !important;
  font-size: 13.5px !important;
  background: #184e68 !important;
}

/* 4. Slim editorial trust bar on homepage */
.page-index .ich-trust-bar {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-top: 8px;
  padding: 7px 14px;
  background: #ffffff;
  border: 1px solid #dce6ee;
  border-radius: 8px;
  font-size: 12.5px;
  color: #334e62;
}
.ich-trust-profile {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 10px;
  line-height: 1.5;
}
.ich-trust-lead {
  font-weight: 700;
  color: #18354c;
}
.ich-trust-cred {
  color: #52697a;
}
.ich-trust-policy {
  color: #1b607b !important;
  text-decoration: underline !important;
  font-weight: 600;
  display: inline !important;
  min-height: 0 !important;
  min-width: 0 !important;
}
.ich-trust-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
}
.ich-trust-bar .ich-subscribe-inline {
  margin: 0 !important;
}
.ich-portal-chip {
  display: inline-flex !important;
  align-items: center;
  min-height: 30px !important;
  min-width: 0 !important;
  padding: 4px 11px;
  border-radius: 6px;
  background: #184e68;
  color: #ffffff !important;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none !important;
  white-space: nowrap;
}
.ich-portal-chip:hover {
  background: #10394d;
}

/* 5. Medixpost-style 2-column layout on homepage */
.page-index #content-inner::before,
.page-index #content-inner::after {
  content: none !important;
  display: none !important;
}
@media (min-width: 960px) {
  .page-index #content-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 356px;
    gap: 24px;
    align-items: start;
  }
}
.page-index #box2 {
  display: none !important;
}

/* 6. Left main column: section header + uncropped compact article cards */
.page-index .ich-sec-head {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin: 0 0 12px !important;
}
.page-index .ich-latest-title {
  margin: 0 !important;
  font-size: 20px !important;
  line-height: 1.35 !important;
  color: #18354c !important;
  font-weight: 800;
}
.ich-filter-chips {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.ich-chip-current {
  font-size: 12px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 999px;
  background: #18354c;
  color: #ffffff;
}
.ich-chip-link {
  display: inline-flex !important;
  align-items: center;
  min-height: 28px !important;
  min-width: 0 !important;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none !important;
  background: #ffffff;
  border: 1px solid #c9d8e4;
  color: #1e4660 !important;
}
.ich-chip-link:hover {
  background: #eef5fa;
}

.page-index .archive-entries {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px !important;
}
.page-index .archive-entry {
  border-radius: 10px !important;
  border: 1px solid #d7e3ec !important;
  background: #ffffff !important;
  box-shadow: 0 1px 3px rgba(15, 35, 55, 0.04);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.page-index .archive-entry:hover {
  border-color: #8ab3cb !important;
  box-shadow: 0 5px 14px rgba(15, 45, 70, 0.08);
}

/* Fix thumbnail cropping: contain full infographic (both portrait & landscape) */
.page-index .entry-thumb-link {
  order: 1 !important;
  background: #f4f8fb;
  border-bottom: 1px solid #e7eff5;
}
.page-index .entry-thumb {
  height: 184px !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-color: #f4f8fb !important;
}

/* Color-coded category badges above title (Medixpost style) */
.page-index .archive-entry > .categories {
  order: 2 !important;
  padding: 11px 15px 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-wrap: wrap;
  gap: 5px !important;
}
.page-index .archive-entry > .categories a {
  font-size: 11px !important;
  font-weight: 700;
  line-height: 1.4 !important;
  padding: 2px 8px !important;
  border-radius: 4px !important;
  min-height: 0 !important;
  min-width: 0 !important;
  display: inline-block !important;
  text-decoration: none !important;
  background: #f1f5f9 !important;
  color: #334e62 !important;
  border: 1px solid #d5e0ea !important;
}
.page-index .archive-entry > .categories a.category-医学情報:not(:only-child) {
  display: none !important;
}
.page-index .archive-entry > .categories a.category-医師向け {
  order: -3;
  background: #183b5b !important;
  color: #ffffff !important;
  border-color: #183b5b !important;
}
.page-index .archive-entry > .categories a.category-一般向け,
.page-index .archive-entry > .categories a.category-患者さん向け {
  order: -2;
  background: #0f766e !important;
  color: #ffffff !important;
  border-color: #0f766e !important;
}
.page-index .archive-entry > .categories a.category-ツール {
  order: -1;
  background: #fef3c7 !important;
  color: #92400e !important;
  border-color: #f59e0b !important;
}
.page-index .archive-entry > .categories a.category-脳卒中 {
  background: #eef2ff !important;
  color: #3730a3 !important;
  border-color: #c7d2fe !important;
}
.page-index .archive-entry > .categories a.category-認知症,
.page-index .archive-entry > .categories a.category-パーキンソン病 {
  background: #fff2eb !important;
  color: #b93815 !important;
  border-color: #fed7aa !important;
}
.page-index .archive-entry > .categories a.category-てんかん {
  background: #f6eefc !important;
  color: #6b21a8 !important;
  border-color: #e9d5ff !important;
}
.page-index .archive-entry > .categories a.category-頭痛,
.page-index .archive-entry > .categories a.category-その症状大丈夫 {
  background: #ecfdf5 !important;
  color: #065f46 !important;
  border-color: #a7f3d0 !important;
}
.page-index .archive-entry > .categories a.category-薬,
.page-index .archive-entry > .categories a.category-新薬,
.page-index .archive-entry > .categories a.category-処方,
.page-index .archive-entry > .categories a.category-ガイドライン解説 {
  background: #e8f4fb !important;
  color: #0c5478 !important;
  border-color: #bae0f5 !important;
}
.page-index .archive-entry > .categories a.category-感染症 {
  background: #fef7e6 !important;
  color: #92400e !important;
  border-color: #fde68a !important;
}

.page-index .archive-entry-header {
  order: 3 !important;
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 7px 15px 13px !important;
}
.page-index .archive-entry .entry-title {
  order: 1;
  font-size: 16.5px !important;
  line-height: 1.52 !important;
  font-weight: 700 !important;
  margin: 0 !important;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.page-index .archive-entry .entry-title a {
  color: #18354c !important;
  display: inline !important;
  min-height: 0 !important;
  min-width: 0 !important;
}
.page-index .archive-entry .archive-date {
  order: 2;
  margin: auto 0 0 !important;
  padding-top: 8px;
  font-size: 11.5px !important;
  line-height: 1.4 !important;
}
.page-index .archive-entry .archive-date a {
  color: #687d8e !important;
  text-decoration: none !important;
  min-height: 0 !important;
  min-width: 0 !important;
  display: inline !important;
}
.page-index .archive-entry-body {
  display: none !important;
}

/* 7. Right sidebar modules (Medixpost style) */
.ich-sidebar {
  min-width: 0;
}
.page-index .ich-sidebar {
  display: flex !important;
  flex-direction: column;
  gap: 16px;
}
.ich-side-card {
  background: #ffffff;
  border: 1px solid #d7e3ec;
  border-radius: 10px;
  padding: 15px 16px;
  margin: 0 !important;
  box-shadow: 0 1px 3px rgba(15, 35, 55, 0.03);
  scroll-margin-top: 24px;
}
.ich-side-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 11px;
  padding-bottom: 8px;
  border-bottom: 2px solid #eef3f7;
}
.ich-side-head h2 {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  font-size: 16.5px !important;
  line-height: 1.35 !important;
  font-weight: 800;
  color: #18354c;
}
.ich-side-head > span {
  font-size: 11px;
  color: #647b8c;
}

/* Must-read featured cards */
.ich-must-list {
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.ich-must-item {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start !important;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid #dde8f0;
  border-left-width: 4px;
  background: #fafcfe;
  text-decoration: none !important;
  min-height: 0 !important;
  min-width: 0 !important;
}
.ich-must-item:hover {
  background: #f0f7fc;
}
.ich-must-gen { border-left-color: #0f766e; }
.ich-must-doc { border-left-color: #183b5b; }
.ich-must-tool { border-left-color: #d97706; }

.ich-badge {
  display: inline-block;
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1.3;
  padding: 2px 7px;
  border-radius: 4px;
}
.ich-badge-general { background: #0f766e; color: #fff; }
.ich-badge-doctor { background: #183b5b; color: #fff; }
.ich-badge-tool { background: #fef3c7; color: #92400e; border: 1px solid #f59e0b; }

.ich-must-item strong {
  font-size: 13.5px;
  line-height: 1.45;
  color: #18354c;
}
.ich-must-sub {
  font-size: 11.5px;
  color: #546c7d;
  line-height: 1.4;
}

/* Medixpost-style 2-column disease category grid */
.ich-cat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.ich-cat-card {
  display: flex !important;
  align-items: center;
  gap: 7px;
  padding: 8px 9px;
  border-radius: 8px;
  background: #ffffff;
  border: 1.5px solid #cbd5e1;
  text-decoration: none !important;
  min-height: 40px !important;
  min-width: 0 !important;
  box-sizing: border-box;
  transition: background-color 0.12s ease, transform 0.12s ease;
}
.ich-cat-card:hover {
  background: #f8fafc;
}
.ich-cat-dot {
  flex: 0 0 auto;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  padding: 5px 5px;
  border-radius: 6px;
  color: #ffffff;
  background: #334155;
}
.ich-cat-label {
  flex: 1;
  min-width: 0;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.25;
  color: #1e293b;
}
.ich-cat-arrow {
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  opacity: 0.7;
}
.ich-cat-vascular { border-color: #818cf8; }
.ich-cat-vascular .ich-cat-dot { background: #4338ca; }
.ich-cat-vascular .ich-cat-label, .ich-cat-vascular .ich-cat-arrow { color: #312e81; }

.ich-cat-dementia { border-color: #fb923c; }
.ich-cat-dementia .ich-cat-dot { background: #ea580c; }
.ich-cat-dementia .ich-cat-label, .ich-cat-dementia .ich-cat-arrow { color: #9a3412; }

.ich-cat-epilepsy { border-color: #c084fc; }
.ich-cat-epilepsy .ich-cat-dot { background: #7e22ce; }
.ich-cat-epilepsy .ich-cat-label, .ich-cat-epilepsy .ich-cat-arrow { color: #581c87; }

.ich-cat-pd { border-color: #f472b6; }
.ich-cat-pd .ich-cat-dot { background: #be185d; }
.ich-cat-pd .ich-cat-label, .ich-cat-pd .ich-cat-arrow { color: #831843; }

.ich-cat-headache { border-color: #34d399; }
.ich-cat-headache .ich-cat-dot { background: #059669; }
.ich-cat-headache .ich-cat-label, .ich-cat-headache .ich-cat-arrow { color: #065f46; }

.ich-cat-infection { border-color: #fbbf24; }
.ich-cat-infection .ich-cat-dot { background: #b45309; }
.ich-cat-infection .ich-cat-label, .ich-cat-infection .ich-cat-arrow { color: #78350f; }

.ich-cat-drug { border-color: #60a5fa; }
.ich-cat-drug .ich-cat-dot { background: #0284c7; }
.ich-cat-drug .ich-cat-label, .ich-cat-drug .ich-cat-arrow { color: #0c4a6e; }

.ich-cat-resident { border-color: #94a3b8; }
.ich-cat-resident .ich-cat-dot { background: #1e3a5f; }
.ich-cat-resident .ich-cat-label, .ich-cat-resident .ich-cat-arrow { color: #1e3a5f; }

.ich-cat-guideline { border-color: #2dd4bf; }
.ich-cat-guideline .ich-cat-dot { background: #0f766e; }
.ich-cat-guideline .ich-cat-label, .ich-cat-guideline .ich-cat-arrow { color: #115e59; }

.ich-cat-symptom { border-color: #86efac; }
.ich-cat-symptom .ich-cat-dot { background: #15803d; }
.ich-cat-symptom .ich-cat-label, .ich-cat-symptom .ich-cat-arrow { color: #14532d; }

/* Standard compliant <details>/<summary> (preserve native disclosure marker + explicit hint) */
.ich-disclosure,
#ics-updates-host .ics-updates details {
  margin-top: 10px !important;
}
.ich-disclosure > summary,
#ics-updates-host .ics-updates details > summary {
  display: list-item !important;
  cursor: pointer;
  padding: 8px 12px !important;
  border: 1px solid #c9dae6;
  border-radius: 7px;
  background: #f3f8fc;
  color: #18354c;
  line-height: 1.45;
  min-height: 0 !important;
}
.ich-disclosure > summary:hover,
#ics-updates-host .ics-updates details > summary:hover {
  background: #e8f2f9;
}
.ich-sum-title {
  font-size: 12.5px;
  font-weight: 700;
  color: #18354c;
}
.ich-sum-hint {
  display: block;
  margin-top: 2px;
  font-size: 11px;
  font-weight: 500;
  color: #546e80;
}
#ich-category-list {
  margin-top: 8px;
  padding: 10px !important;
  max-height: 260px;
  overflow-y: auto;
}
#ich-category-list ul {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 4px 8px !important;
}
#ich-category-list a {
  font-size: 12px !important;
  min-height: 26px !important;
  min-width: 0 !important;
}

/* Medical Popular Articles with 3-tab filter */
.ich-pop-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
  margin-bottom: 10px;
  background: #f1f5f9;
  padding: 4px;
  border-radius: 7px;
}
.ich-pop-tab {
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: #475569;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 4px !important;
  min-height: 30px !important;
  min-width: 0 !important;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}
.ich-pop-tab.is-active {
  background: #ffffff;
  color: #18354c;
  box-shadow: 0 1px 2px rgba(15, 35, 55, 0.1);
}
.ich-pop-list {
  padding-left: 22px !important;
  margin: 0 !important;
}
.ich-pop-list li {
  padding: 7px 0 !important;
  border-bottom: 1px solid #edf2f6 !important;
}
.ich-pop-list li:last-child {
  border-bottom: 0 !important;
}
.ich-pop-list li a {
  display: block !important;
  min-height: 0 !important;
  min-width: 0 !important;
  text-decoration: none !important;
  color: #1e3a52 !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}
.ich-pop-list li a:hover .ich-pop-title {
  text-decoration: underline;
}
.ich-pop-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  padding: 2px 5px;
  margin-right: 5px;
  border-radius: 3px;
  vertical-align: 1px;
}
.ich-pop-badge.is-doc { background: #183b5b; color: #fff; }
.ich-pop-badge.is-gen { background: #0f766e; color: #fff; }
.ich-pop-rest {
  margin-top: 6px !important;
}

/* Tools & Media banners (Medixpost right-column banner style) */
.ich-promo-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.ich-promo-banner {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 13px;
  border-radius: 8px;
  text-decoration: none !important;
  color: #ffffff !important;
  min-height: 0 !important;
  min-width: 0 !important;
}
.ich-promo-banner strong {
  display: block;
  font-size: 13px;
  line-height: 1.35;
}
.ich-promo-banner div > span {
  display: block;
  font-size: 11px;
  opacity: 0.9;
  margin-top: 2px;
  line-height: 1.35;
}
.ich-promo-navy { background: linear-gradient(135deg, #183b5b, #23587c); }
.ich-promo-teal { background: linear-gradient(135deg, #0f6b63, #17857b); }
.ich-promo-red  { background: linear-gradient(135deg, #991b1b, #be2929); }
.ich-promo-slate { background: linear-gradient(135deg, #334155, #475569); }
.ich-promo-banner:hover {
  filter: brightness(1.06);
}

/* Compact styling for Recent Updates widget in main column below pager */
.page-index #ics-updates-host {
  margin-top: 18px !important;
}
.page-index #ics-updates-host .ics-updates {
  margin: 0 !important;
  padding: 16px 20px !important;
  border-radius: 10px !important;
  border: 1px solid #c7ddd4 !important;
  background: #f6fbf8 !important;
}
.page-index #ics-updates-host .ics-updates h2 {
  font-size: 17.5px !important;
  margin: 0 0 4px !important;
  color: #163d33 !important;
}
.page-index #ics-updates-host .ics-updates > p {
  font-size: 12px !important;
  margin: 0 0 8px !important;
  color: #46665b !important;
}
.page-index #ics-updates-host .ics-updates li {
  padding: 9px 0 !important;
}
.page-index #ics-updates-host .ics-updates time {
  font-size: 11.5px !important;
  font-weight: 700;
}
.page-index #ics-updates-host .ics-updates h3 {
  font-size: 14.5px !important;
  line-height: 1.5 !important;
  margin: 2px 0 !important;
}
.page-index #ics-updates-host .ics-updates h3 a {
  display: inline !important;
  min-height: 0 !important;
  min-width: 0 !important;
}
.page-index #ics-updates-host .ics-updates li > p {
  font-size: 12.5px !important;
  line-height: 1.55 !important;
  margin: 3px 0 0 !important;
  color: #3b534b;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

/* Compact footer links */
.ich-bottom-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 20px;
  padding: 14px 0 4px;
  border-top: 1px solid #d7e2ea;
  font-size: 12.5px;
}
.ich-bottom-links a {
  color: #36586e !important;
  text-decoration: underline;
  display: inline !important;
  min-height: 0 !important;
  min-width: 0 !important;
}

/* Responsive adjustments */
@media (max-width: 959px) {
  .page-index .ich-sidebar {
    margin-top: 22px;
  }
}
@media (max-width: 700px) {
  #blog-title {
    margin: 8px auto 8px !important;
    width: calc(100% - 20px) !important;
  }
  .page-index #blog-title,
  .page-index #top-editarea,
  .page-index #content,
  .page-index #bottom-editarea {
    width: calc(100% - 20px) !important;
  }
  #blog-title-inner {
    height: 92px !important;
  }
  #blog-title-content {
    padding: 12px 15px !important;
  }
  #title {
    font-size: 18px !important;
    line-height: 1.32 !important;
  }
  #blog-description {
    font-size: 11.5px !important;
  }
  .ich-primary-nav {
    padding: 7px 9px !important;
    gap: 5px 6px !important;
  }
  .ich-primary-nav > a {
    font-size: 12px !important;
    min-height: 30px !important;
    padding: 3px 4px;
  }
  .ich-primary-nav > a.ich-nav-pill {
    font-size: 11.5px !important;
    padding: 3px 8px !important;
  }
  .ich-search {
    flex-basis: 100% !important;
    max-width: none !important;
    margin: 2px 0 0 !important;
  }
  .ich-search input {
    font-size: 16px !important;
  }
  .page-index .ich-trust-bar {
    padding: 8px 11px;
    font-size: 11.5px;
    gap: 6px 10px;
  }
  .ich-trust-actions {
    margin-left: 0;
    width: 100%;
    justify-content: space-between;
  }
  .page-index .archive-entries {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .page-index .entry-thumb {
    height: 196px !important;
  }
  .page-index .archive-entry .entry-title {
    font-size: 17px !important;
  }
}
/* === end ichisouzo-home-v2-20261103 === */

/* === ichisouzo-home-v3-stage1-20261114: 16:9 thumbnails, compact mobile list, 12px minimum text, larger tap targets ===
   Append AFTER the ichisouzo-home-v2-20261103 block. Rollback: delete this block only. */

/* 1. Article cards: 16:9 thumbnails (portal thumbs are already 16:9; Hatena fallback shows the top of the image) */
.page-index .archive-entry {
  position: relative;
}
.page-index .entry-thumb {
  height: auto !important;
  aspect-ratio: 16 / 9;
  background-size: cover !important;
  background-position: center top !important;
}
/* Whole card opens the article; category badges stay separately clickable */
.page-index .archive-entry .entry-title-link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: 10px;
}
.page-index .archive-entry > .categories {
  position: relative;
  z-index: 2;
}
.page-index .archive-entry .entry-title-link:focus-visible {
  outline: none;
}
.page-index .archive-entry .entry-title-link:focus-visible::after {
  outline: 3px solid #1d6fa5;
  outline-offset: 2px;
}
.page-index .archive-entry > .categories a:focus-visible {
  outline: 3px solid #1d6fa5;
  outline-offset: 1px;
}
.page-index .archive-entry > .categories a {
  display: inline-flex !important;
  align-items: center;
  min-height: 26px !important;
  font-size: 12px !important;
}
.page-index .archive-entry .archive-date {
  font-size: 12.5px !important;
}
/* The theme shrinks the date link to 80% (.date a) */
.page-index .archive-entry .archive-date a,
.page-index .archive-entry .archive-date time,
.page-index .archive-entry .archive-date span {
  font-size: inherit !important;
}

/* 2. "Next page" as a button */
.page-index .pager {
  display: flex !important;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin: 22px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
.page-index .pager .pager-prev,
.page-index .pager .pager-next {
  float: none !important;
  margin: 0 !important;
}
.page-index .pager a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 48px !important;
  min-width: 200px !important;
  padding: 10px 28px !important;
  border-radius: 999px;
  border: 1.5px solid #184e68;
  background: #ffffff;
  color: #184e68 !important;
  font-size: 15px !important;
  font-weight: 700;
  text-decoration: none !important;
  box-sizing: border-box;
}
.page-index .pager .pager-next a {
  background: #184e68;
  color: #ffffff !important;
}
.page-index .pager a:hover {
  filter: brightness(1.08);
}
.page-index .pager a:focus-visible {
  outline: 3px solid #1d6fa5;
  outline-offset: 3px;
}

/* 3. 12px minimum text in the homepage modules */
#blog-description {
  font-size: 13px !important;
}
.page-index .ich-trust-bar {
  font-size: 13px;
}
.ich-trust-policy {
  display: inline-block !important;
  padding: 3px 0 !important;
}
.ich-portal-chip {
  font-size: 13px;
}
.ich-chip-current,
.ich-chip-link {
  font-size: 13px;
}
.ich-side-head > span {
  font-size: 12px;
}
.ich-badge {
  font-size: 12px;
}
.ich-must-item strong {
  font-size: 14px;
}
.ich-must-sub {
  font-size: 12.5px;
}
.ich-cat-dot {
  font-size: 12px;
}
.ich-cat-label {
  font-size: 13.5px;
}
.ich-sum-title {
  font-size: 13.5px;
}
.ich-sum-hint {
  font-size: 12px;
}
#ich-category-list a {
  font-size: 13px !important;
}
.ich-pop-tab {
  font-size: 13px;
  min-height: 36px !important;
}
.ich-pop-list li a {
  font-size: 14px !important;
  padding: 2px 0 !important;
}
.ich-pop-badge {
  font-size: 12px;
  padding: 1px 5px;
}
.ich-promo-banner strong {
  font-size: 14px;
}
.ich-promo-banner div > span {
  font-size: 12px;
}
.page-index #ics-updates-host .ics-updates > p {
  font-size: 13px !important;
}
.page-index #ics-updates-host .ics-updates time {
  font-size: 12.5px !important;
}
.page-index #ics-updates-host .ics-updates li > p {
  font-size: 13px !important;
}
.page-index #ics-updates-host .ics-updates li a {
  display: inline-block !important;
  padding: 3px 0 !important;
}
.ich-bottom-links {
  font-size: 13.5px;
}
.ich-bottom-links a {
  display: inline-block !important;
  padding: 3px 0;
}

/* 4. Phones: compact list after the first card, larger tap targets */
@media (max-width: 700px) {
  #blog-description {
    font-size: 12.5px !important;
  }
  /* Two tidy rows: audience pills, then the four text links, then search */
  .ich-primary-nav {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
  }
  .ich-primary-nav > a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex: 1 1 auto;
    box-sizing: border-box;
    min-width: auto !important;
    font-size: 13px !important;
    min-height: 40px !important;
    padding: 4px 2px !important;
  }
  .ich-primary-nav > a.ich-nav-pill {
    order: -1;
    flex: 1 1 45%;
    min-width: 0 !important;
    font-size: 13px !important;
    padding: 4px 6px !important;
  }
  .ich-search {
    order: 1;
  }
  .ich-search input,
  .ich-search button {
    min-height: 44px !important;
  }
  .page-index .ich-trust-bar {
    font-size: 13px;
  }
  .ich-trust-policy {
    padding: 6px 0 !important;
  }
  .ich-portal-chip {
    min-height: 40px !important;
    padding: 6px 12px;
  }
  .ich-chip-current,
  .ich-chip-link {
    font-size: 12.5px;
  }
  .ich-chip-current {
    padding: 6px 11px;
  }
  .ich-chip-link {
    min-height: 34px !important;
    padding: 4px 10px;
  }

  .page-index .archive-entries {
    gap: 10px !important;
  }
  .page-index .archive-entry {
    margin: 0 !important;
  }
  .page-index .archive-entry:first-child .entry-thumb {
    height: auto !important;
  }
  .page-index .archive-entry:not(:first-child) {
    display: grid !important;
    grid-template-columns: 128px minmax(0, 1fr);
    grid-template-areas:
      "thumb cats"
      "thumb head";
    grid-template-rows: auto 1fr;
    column-gap: 12px;
    align-items: start;
    padding: 10px !important;
  }
  /* Articles without an eye-catch image have no thumbnail: use the full width */
  .page-index .archive-entry:not(:first-child):not(:has(.entry-thumb-link)) {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "cats"
      "head";
  }
  .page-index .archive-entry:not(:first-child) .entry-thumb-link {
    grid-area: thumb;
    border: 1px solid #e3ebf1;
    border-radius: 6px;
    overflow: hidden;
  }
  .page-index .archive-entry:not(:first-child) .entry-thumb {
    height: auto !important;
  }
  .page-index .archive-entry:not(:first-child) > .categories {
    grid-area: cats;
    padding: 0 !important;
    gap: 4px !important;
  }
  .page-index .archive-entry:not(:first-child) .archive-entry-header {
    grid-area: head;
    padding: 4px 0 0 !important;
  }
  .page-index .archive-entry:not(:first-child) .entry-title {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }
  .page-index .archive-entry:not(:first-child) .archive-date {
    padding-top: 4px;
  }
  .page-index .archive-entry > .categories a {
    padding: 2px 8px !important;
  }

  .ich-cat-card {
    min-height: 48px !important;
  }
  .ich-pop-tab {
    min-height: 44px !important;
  }
  .ich-pop-list li a {
    padding: 4px 0;
  }
  .ich-promo-banner {
    min-height: 52px !important;
  }
  .ich-disclosure > summary,
  #ics-updates-host .ics-updates details > summary {
    padding: 10px 12px !important;
  }
  .ich-bottom-links a {
    display: inline-block !important;
    padding: 10px 2px;
  }
}
@media (max-width: 360px) {
  .ich-primary-nav > a,
  .ich-primary-nav > a.ich-nav-pill {
    font-size: 12px !important;
  }
}
/* === end ichisouzo-home-v3-stage1-20261114 === */

/* === ichisouzo-home-v3-stage2-20261114: phone order, compact editor bar, recent-updates card ===
   Append AFTER the ichisouzo-home-v3-stage1-20261114 block. Rollback: delete this block only. */

/* 1. Recent updates: same card look as the other modules, latest 3 + link to the full list */
.page-index #ics-updates-host .ics-updates {
  background: #ffffff !important;
  border: 1px solid #d7e3ec !important;
  border-radius: 10px !important;
  box-shadow: 0 1px 3px rgba(15, 35, 55, 0.03);
  color: #18354c !important;
  padding: 15px 16px !important;
}
.page-index #ics-updates-host .ics-updates h2 {
  font-size: 16.5px !important;
  font-weight: 800;
  color: #18354c !important;
  margin: 0 0 4px !important;
  padding-bottom: 8px;
  border-bottom: 2px solid #eef3f7;
}
.page-index #ics-updates-host .ics-updates > p {
  display: none !important;
}
.page-index #ics-updates-host .ics-updates > ul > li:nth-child(n+4),
.page-index #ics-updates-host .ics-updates > details {
  display: none !important;
}
.page-index #ics-updates-host .ics-updates li {
  border-top: 0 !important;
  border-bottom: 1px solid #edf2f6;
  padding: 10px 0 !important;
}
.page-index #ics-updates-host .ics-updates time {
  color: #546c7d !important;
  font-weight: 600 !important;
}
.page-index #ics-updates-host .ics-updates h3 a {
  color: #18354c !important;
  text-decoration: none !important;
  font-weight: 700;
}
.page-index #ics-updates-host .ics-updates h3 a:hover {
  text-decoration: underline !important;
}
.page-index #ics-updates-host .ics-updates li > p {
  color: #415a6c !important;
  -webkit-line-clamp: 1 !important;
}
.ich-updates-all {
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 44px !important;
  margin-top: 10px;
  border-radius: 8px;
  background: #f3f8fc;
  border: 1px solid #c9dae6;
  color: #18354c !important;
  font-size: 13.5px;
  font-weight: 700;
  text-decoration: none !important;
}
.ich-updates-all:hover {
  background: #e8f2f9;
}
.ich-updates-all:focus-visible {
  outline: 3px solid #1d6fa5;
  outline-offset: 2px;
}

/* 2. Single-column widths: modules moved by the stage2 script get spacing */
@media (max-width: 959px) {
  .page-index #wrapper > #ich-disease-cats {
    margin-top: 16px !important;
  }
  .page-index #content-inner > #ics-updates-host {
    margin-top: 16px !important;
  }
}

/* 3. Phones: editor bar shows name, policy link and credentials only */
@media (max-width: 700px) {
  .page-index .ich-trust-bar {
    padding: 8px 12px;
  }
  .page-index .ich-trust-profile {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0 8px;
    width: 100%;
  }
  .page-index .ich-trust-lead {
    grid-row: 1;
    grid-column: 1;
  }
  .page-index .ich-trust-policy {
    grid-row: 1;
    grid-column: 2;
    font-size: 12.5px;
  }
  .page-index .ich-trust-cred {
    grid-column: 1 / -1;
    font-size: 12.5px;
    line-height: 1.5;
  }
  /* Subscribe button, moved below the tools card. The portal link is the banner just above, so it is not repeated */
  .ich-follow-card {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .ich-follow-label {
    flex: 1;
    margin: 0 !important;
    font-size: 12.5px;
    line-height: 1.5;
    color: #415a6c;
    word-break: auto-phrase;
  }
  .ich-follow-card .ich-trust-actions {
    margin: 0 !important;
    width: auto;
    flex: 0 0 auto;
  }
  .ich-follow-card .ich-portal-chip {
    display: none !important;
  }
}
.ich-follow-card[hidden] {
  display: none !important;
}
/* === end ichisouzo-home-v3-stage2-20261114 === */

/* === ichisouzo-home-v3-stage3-20261114: same typeface as the portal, two-line banner title, calmer colors, consistent cards and focus rings ===
   Append AFTER the ichisouzo-home-v3-stage2-20261114 block. Rollback: delete this block only.
   Article bodies (.entry-content on article pages) are intentionally not changed. */

/* 1. Typeface: same stack as ichisouzo-lab.com (Hiragino on Apple, BIZ UDPGothic on Windows) */
body.page-index,
body.page-index button,
body.page-index input,
#blog-title,
#top-editarea,
#bottom-editarea {
  font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'BIZ UDPGothic', 'Yu Gothic UI', Meiryo, 'Noto Sans JP', system-ui, sans-serif !important;
}
body.page-index .archive-entry .entry-title,
body.page-index .archive-entry .entry-title a {
  font-family: inherit !important;
}
/* BIZ UDPGothic has a shorter default line height than Meiryo: keep footer links at least 24px tall.
   Phones keep the larger stage1 padding (10px), so the padding change is for wider screens only. */
.ich-bottom-links a {
  line-height: 1.6;
}
@media (min-width: 701px) {
  .ich-bottom-links a {
    padding-top: 4px;
    padding-bottom: 4px;
  }
}

/* 2. Banner: "医知創造ラボ" large, the rest small (split by the stage3 script; the h1 text is unchanged) */
#blog-title-inner {
  height: auto !important;
  min-height: 112px;
  display: flex;
  align-items: center;
}
#blog-title-inner:before {
  background: linear-gradient(90deg, rgba(7, 34, 51, 0.92) 0%, rgba(7, 34, 51, 0.72) 45%, rgba(7, 34, 51, 0.22) 100%) !important;
}
#blog-title-content {
  position: relative;
}
#title .ich-title-main {
  display: block;
  font-size: 28px;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.3;
}
#title .ich-title-sub {
  display: block;
  margin-top: 2px;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.5;
  opacity: 0.95;
}
#blog-description {
  margin-top: 4px !important;
}

/* 3. Calmer colors: audience badges keep navy / teal / amber, topic badges become neutral */
.page-index .archive-entry > .categories a[class*="category-"]:not(.category-医師向け):not(.category-一般向け):not(.category-患者さん向け):not(.category-ツール) {
  background: #f1f5f9 !important;
  color: #334e62 !important;
  border-color: #d5e0ea !important;
}
/* Topic grid: neutral frame, the colored tag on the left keeps the cue */
.ich-cat-card {
  border: 1px solid #d7e3ec !important;
  background: #ffffff;
}
.ich-cat-card:hover {
  border-color: #8ab3cb !important;
  background: #f6f9fc;
}
.ich-cat-card .ich-cat-label,
.ich-cat-card .ich-cat-arrow {
  color: #18354c !important;
}

/* 4. Consistent cards */
.ich-nav-wrap,
.page-index .ich-trust-bar,
.ich-side-card,
.page-index .archive-entry,
.page-index #ics-updates-host .ics-updates {
  border-radius: 10px !important;
}
.ich-nav-wrap,
.page-index .ich-trust-bar {
  border-color: #d7e3ec !important;
  box-shadow: 0 1px 3px rgba(15, 35, 55, 0.03);
}

/* 5. Keyboard focus: one visible ring everywhere on the homepage and the shared navigation */
.page-index #content a:focus-visible,
.page-index #content button:focus-visible,
.page-index #content summary:focus-visible,
.page-index #bottom-editarea a:focus-visible,
#top-editarea a:focus-visible,
#top-editarea button:focus-visible,
#top-editarea input:focus-visible,
#title a:focus-visible {
  outline: 3px solid #1d6fa5 !important;
  outline-offset: 2px;
}

/* 6. Phones */
@media (max-width: 700px) {
  #blog-title-inner {
    min-height: 92px;
  }
  #title .ich-title-main {
    font-size: 22px;
  }
  #title .ich-title-sub {
    font-size: 12.5px;
  }
}
@media (max-width: 360px) {
  #title .ich-title-sub {
    font-size: 12px;
    letter-spacing: 0;
  }
}
/* === end ichisouzo-home-v3-stage3-20261114 === */
