/* <system section="theme" selected="neutral"> */
@charset "UTF-8";@import"https://fonts.googleapis.com/css?family=Inter:300,400,500,700|Noto+Sans+JP&display=swap";/*!
  Theme: Neutral
  Author: Hatena Blog Team
  Description: 文章が読みやすいシンプルなテーマ です
  Responsive: yes
 */*{margin:0;padding:0}html,body{font-family:Inter,Noto Sans JP,Helvetica Neue,Source Han Sans,Segoe UI,sans-serif;font-size:100%;font-style:normal;word-wrap:break-word}a{color:#333;text-decoration:none}a:hover{color:#1a237e}#globalheader-container{background:#fff}#blog-title{margin:32px 0 80px}@media screen and (min-width:992px){#blog-title{margin:72px 0 120px}}#blog-title #blog-title-inner{position:relative}#blog-title #blog-title-content{width:90%;margin:auto;padding:0;text-align:center}#blog-title #blog-title-content #title{line-height:1}#blog-title #blog-title-content #title a{font-size:20px;font-weight:500}@media screen and (min-width:992px){#blog-title #blog-title-content #title a{font-size:32px}}#blog-title #blog-title-content #blog-description{font-size:14px;font-weight:400;color:#888;margin:14px 0 0}@media screen and (min-width:992px){#blog-title #blog-title-content #blog-description{font-size:16px}}.header-image-enable #blog-title-content{position:absolute;top:50%;left:50%;transform:translateY(-50%) translate(-50%)}.header-image-enable #blog-title-inner #title a,.header-image-enable #blog-title-inner #blog-description{text-shadow:0 0 10px #333}.header-image-enable #blog-title-inner #blog-description{color:#fff!important}#top-editarea{margin:0 0 32px}#top-box .breadcrumb-inner a,#top-box .breadcrumb-inner span{font-size:14px;color:#888}#content-inner{display:flex;flex-flow:column;justify-content:center}@media screen and (min-width:992px){#content-inner{flex-flow:row}}#content-inner #main{width:auto;margin:auto}@media screen and (min-width:992px){#content-inner #main{width:620px;margin:0 32px 0 0}}#content-inner #main-inner{margin:0 0 24px}#content-inner #box2{width:auto;margin:0 1em}@media screen and (min-width:992px){#content-inner #box2{width:300px}}#content-inner #box2-inner{padding:80px 0 0}@media screen and (min-width:992px){#content-inner #box2-inner{padding:0}}#bottom-editarea{max-width:960px;margin:24px 16px}@media screen and (min-width:560px){#bottom-editarea{margin:24px auto}}#footer{padding:32px 0;font-size:90%;text-align:center;color:#333}#footer #footer-inner{width:auto;margin:auto 1rem}@media screen and (min-width:992px){#footer #footer-inner{width:1000px;margin:auto}}#footer address,#footer p{margin:0 8px 0 0;display:inline-block}#footer address .footer-address-name,#footer p .footer-address-name{text-align:left}#footer .footer-address a>img{vertical-align:sub}#top-box{margin:0 1em 1em}@media screen and (min-width:992px){#top-box{max-width:960px;margin:16px auto}}#top-box .breadcrumb-link span:hover,#top-box .breadcrumb-child-link span:hover,#top-box .breadcrumb-link span:focus,#top-box .breadcrumb-child-link span:focus{color:#333}.entry{margin:0 0 80px;padding:24px 1em 40px;background:#fff;border-radius:4px}.entry .entry-inner .entry-header{position:relative;margin:0 0 32px}.entry .entry-inner .entry-header .date a{font-size:14px;color:#888}@media screen and (min-width:992px){.entry .entry-inner .entry-header .date{font-size:18px}}.entry .entry-inner .entry-header .date-last-updated{font-size:14px;color:#888}.entry .entry-inner .entry-header .entry-title{font-size:28px;margin:16px 0;padding:0;text-align:left}@media screen and (min-width:992px){.entry .entry-inner .entry-header .entry-title{font-size:30px;margin:24px 0 32px}}.entry .entry-inner .entry-header .entry-categories .entry-category-link{font-size:12px;background:#f5f5f5;padding:.45em;margin:0 0 4px;border-radius:4px;display:inline-block}.entry .entry-inner .entry-header .entry-header-menu{position:absolute;top:0;right:0}.entry .entry-inner .entry-header .entry-header-menu a{font-size:14px;padding:.45em;border:1px solid #d9d9d9;border-radius:4px}.entry .entry-inner .entry-header .entry-header-menu a:hover,.entry .entry-inner .entry-header .entry-header-menu a:focus{background:#f5f5f5;border:1px solid #f5f5f5;color:#1a237e}.entry .entry-inner .entry-content .entry-category-link{display:inline-block;color:#333;background:#e0e0e0;padding:.4rem .8rem;border-radius:4px;margin:0 0 8px;font-size:12px}.entry .entry-inner .entry-content .entry-category-link:hover,.entry .entry-inner .entry-content .entry-category-link:focus{color:#333}@media screen and (min-width:992px){.entry .entry-inner .entry-content .entry-category-link{font-size:14px}}.entry .entry-inner .entry-content .table-of-contents{background:#f5f5f5;border-radius:4px;margin:0;padding:1.6em}.entry .entry-inner .entry-content .table-of-contents li>ul{margin-left:1.5em}.entry .entry-inner .entry-content .table-of-contents ul li{line-height:1.5}.entry .entry-inner .entry-content .table-of-contents li,.entry .entry-inner .entry-content .table-of-contents a{color:#1a237e}.entry .entry-inner .entry-footer{margin:72px 0 0}.entry .entry-inner .entry-footer .entry-footer-section{font-size:14px}.entry .entry-inner p{font-size:18px;line-height:1.8;letter-spacing:.5px;font-style:normal;margin:33px 0;color:#454545}.entry .entry-inner p .keyword{border-bottom:1px dotted #333}.entry .entry-inner p .keyword:hover,.entry .entry-inner p .keyword:focus{border-bottom:1px solid #333;text-decoration:none}.entry .entry-inner p a{color:#1a237e}.entry .entry-inner p a:hover,.entry .entry-inner p a:focus{text-decoration:underline}.entry .entry-inner p code{background:#272822;color:#f8f8f2}.entry .entry-inner h1,.entry .entry-inner h2,.entry .entry-inner h3,.entry .entry-inner h4,.entry .entry-inner h5,.entry .entry-inner h6{margin:33px 0}.entry .entry-inner h1{font-size:28px}@media screen and (min-width:992px){.entry .entry-inner h1{font-size:30px}}.entry .entry-inner h2{font-size:26px}@media screen and (min-width:992px){.entry .entry-inner h2{font-size:28px}}.entry .entry-inner h3{font-size:24px}@media screen and (min-width:992px){.entry .entry-inner h3{font-size:26px}}.entry .entry-inner h4{font-size:22px}@media screen and (min-width:992px){.entry .entry-inner h4{font-size:24px}}.entry .entry-inner h5{font-size:20px}@media screen and (min-width:992px){.entry .entry-inner h5{font-size:22px}}.entry .entry-inner h6{font-size:16px}@media screen and (min-width:992px){.entry .entry-inner h6{font-size:20px}}.entry .entry-inner ul,.entry .entry-inner ol,.entry .entry-inner dl{margin-inline-start:1.5em}.entry .entry-inner ul li,.entry .entry-inner ol li,.entry .entry-inner dl li{line-height:1.8}.entry .entry-inner hr{margin:16px 0;border:none;border-top:1px solid #d9d9d9}.entry .entry-inner dd{margin-inline-start:40px}.entry .entry-inner blockquote{background:#fff;border-left:3px solid #e0e0e0;border-radius:4px;padding:16px;font-size:14px}.entry .entry-inner blockquote p{margin:16px 0;font-size:16px;line-height:1.6;font-style:oblique}.entry .entry-inner blockquote p cite{font-style:initial;font-size:14px}.entry .entry-inner pre{margin:0 0 24px;padding:16px 8px;background:#272822;color:#f8f8f2;border-radius:4px}.entry .entry-inner pre .synComment{color:#75715e}.entry .entry-inner pre .synSpecial{color:#e6db74}.entry .entry-inner pre .synType{color:#66d9ef}.entry .entry-inner pre .synPreProc,.entry .entry-inner pre .synStatement{color:#f92672}.entry .entry-inner pre .synIdentifier{color:#a6e22e}.entry .entry-inner pre .synConstant{color:#ae81ff}.entry .entry-inner table{width:100%;border-collapse:collapse;margin:0 0 16px;font-size:14px;border:1px solid #d9d9d9;border-radius:4px;overflow:hidden;border-collapse:unset;border-spacing:0}.entry .entry-inner table th{background:#d9d9d9;padding:.45em;border-right:1px solid #fff}.entry .entry-inner table th:last-child{border-right:none}.entry .entry-inner table td{padding:.45em;border-right:1px solid #d9d9d9}.entry .entry-inner table td:last-child{border-right:none}.entry .entry-inner table tbody{display:table-row-group;text-align:center}.entry .entry-inner table tbody tr{display:table-row}.entry .entry-inner table tbody tr:nth-child(2n){background:#f5f5f5}.entry .entry-inner table p{font-size:inherit;margin:0;line-height:inherit;letter-spacing:normal}.entry .entry-inner .footnote{font-size:14px}.entry .entry-inner .entry-see-more{color:#333;border:1px solid #d9d9d9;font-size:16px;border-radius:4px;padding:.6em .8em}.entry .entry-inner .entry-see-more:hover{background:#f5f5f5;border:1px solid #f5f5f5;color:#1a237e;transition:color .3s}.entry .entry-inner .entry-footer-ad{margin:8px 0 0;padding:8px 4px;border:1px solid #d9d9d9;border-radius:4px}.entry .entry-inner .hatena-star-container{margin:0 0 24px}.entry .entry-inner .social-buttons{margin:24px 0}.entry .entry-inner .entry-footer-modules .hatena-module-title{font-size:18px;margin:0 0 24px}.entry .entry-inner .entry-footer-modules .hatena-module{margin:0;padding:1em 0}.entry .entry-inner .entry-footer-modules .related-entries,.entry .entry-inner .entry-footer-modules .entries-access-ranking,.entry .entry-inner .entry-footer-modules .recent-entries{margin:0}.entry .entry-inner .comment-box{margin:32px 0 0}.entry .entry-inner .comment-box .comment{margin:0}.entry .entry-inner .comment-box .comment .entry-comment{list-style:none;margin:0 0 32px}.entry .entry-inner .comment-box .comment .comment-user-name{margin:0 0 4px;display:flex;align-items:center}.entry .entry-inner .comment-box .comment .comment-user-name .hatena-id-icon{width:20px;height:20px;border-radius:4px;margin:0 8px 0 0}.entry .entry-inner .comment-box .comment .comment-content{margin:0 0 16px}.entry .entry-inner .comment-box .comment .comment-content p{font-size:16px;line-height:1.6;margin:16px 0}.entry .entry-inner .comment-box .comment .comment-metadata{margin:0;font-size:14px;color:#888}.entry .entry-inner .comment-box .leave-comment-title{border:1px solid #d9d9d9;border-radius:4px;color:#333;padding:8px 16px;font-size:16px}@media screen and (min-width:992px){.entry .entry-inner .comment-box .leave-comment-title{font-size:14px}}.entry .entry-inner .comment-box .leave-comment-title:hover,.entry .entry-inner .comment-box .leave-comment-title:focus{color:#1a237e;background:#f5f5f5;border:1px solid #f5f5f5}.pager .pager-prev,.pager .pager-next{width:100%;position:relative;display:inline-block;background:#fff;border-radius:4px}.pager .pager-prev a,.pager .pager-next a{padding:1em;display:block}.pager .pager-prev:hover,.pager .pager-next:hover,.pager .pager-prev:focus,.pager .pager-next:focus{color:#1a237e}.pager .pager-prev .pager-arrow,.pager .pager-next .pager-arrow{font-size:32px;height:32px;line-height:32px;position:absolute;display:block;top:0;bottom:0;margin:auto;color:#d9d9d9}.pager.permalink{background:#fff;display:flex;justify-content:space-between;align-items:center;border-radius:4px;margin:24px 16px;padding:8px 16px;line-height:1.5}@media screen and (min-width:992px){.pager.permalink{margin:32px auto}}.pager.permalink .pager-prev{margin-right:auto;padding:0 0 0 32px}.pager.permalink .pager-prev a{text-align:left;padding-left:0}.pager.permalink .pager-prev .pager-arrow{left:0}.pager.permalink .pager-next{margin-left:auto;padding:0 32px 0 0}.pager.permalink .pager-next a{text-align:right;padding-right:0}.pager.permalink .pager-next .pager-arrow{right:0}.page-index .pager{border-radius:4px;justify-content:center;text-align:center}.page-index .pager .pager-prev,.page-index .pager .pager-next{display:block}.hatena-module{background:#fff;margin:0 0 32px;padding:16px;border-radius:4px}.hatena-module .hatena-module-title{font-size:20px;font-weight:700;margin:0 0 24px}.hatena-module .hatena-module-title a{color:#333}.hatena-module .hatena-module-body,.hatena-module .hatena-urllist{padding:0}.hatena-module .hatena-module-body .urllist-item,.hatena-module .hatena-urllist .urllist-item{list-style:none;margin:0 0 32px}.hatena-module .hatena-module-body .urllist-item:last-child,.hatena-module .hatena-urllist .urllist-item:last-child{margin-bottom:0}.hatena-module .hatena-module-body .urllist-item .urllist-item-inner .urllist-title-link,.hatena-module .hatena-urllist .urllist-item .urllist-item-inner .urllist-title-link{color:#333;margin:0 0 8px;font-size:16px;line-height:1.6;display:inline;text-align:justify}.hatena-module .hatena-module-body .urllist-item .urllist-item-inner .urllist-title-link:hover,.hatena-module .hatena-urllist .urllist-item .urllist-item-inner .urllist-title-link:hover{color:#1a237e}.hatena-module .hatena-module-body .urllist-item .urllist-item-inner .urllist-date-link,.hatena-module .hatena-urllist .urllist-item .urllist-item-inner .urllist-date-link{margin:0 0 4px}.hatena-module .hatena-module-body .urllist-item .urllist-item-inner .urllist-date-link time,.hatena-module .hatena-urllist .urllist-item .urllist-item-inner .urllist-date-link time{color:#888}.hatena-module .hatena-module-body .urllist-item .urllist-item-inner .urllist-categories,.hatena-module .hatena-urllist .urllist-item .urllist-item-inner .urllist-categories{margin:4px 0 0}.hatena-module .hatena-module-body .urllist-item .urllist-item-inner .urllist-categories .urllist-category-link,.hatena-module .hatena-urllist .urllist-item .urllist-item-inner .urllist-categories .urllist-category-link{display:inline-block;background:#f5f5f5;margin:0 0 8px;padding:.4em;font-size:12px;border-radius:4px}.hatena-module .hatena-module-body .urllist-item .urllist-item-inner .urllist-categories .urllist-category-link:hover,.hatena-module .hatena-urllist .urllist-item .urllist-item-inner .urllist-categories .urllist-category-link:hover{color:#1a237e}.hatena-module .hatena-module-body .urllist-item .urllist-item-inner .urllist-entry-body,.hatena-module .hatena-urllist .urllist-item .urllist-item-inner .urllist-entry-body{color:#888;font-size:14px;margin:0 0 8px;text-align:justify}.hatena-module .hatena-module-body .urllist-image,.hatena-module .hatena-urllist .urllist-image{border-radius:4px}.hatena-module .hatena-module-body .urllist-see-more-link,.hatena-module .hatena-urllist .urllist-see-more-link{border:1px solid #f5f5f5;border-radius:4px;padding:.45em}.hatena-module .hatena-module-body .urllist-see-more-link:hover,.hatena-module .hatena-urllist .urllist-see-more-link:hover,.hatena-module .hatena-module-body .urllist-see-more-link:focus,.hatena-module .hatena-urllist .urllist-see-more-link:focus{color:#1a237e;background:#f5f5f5}.hatena-module .hatena-module-body .archive-module-year,.hatena-module .hatena-urllist .archive-module-year{margin:0 0 16px}.hatena-module .hatena-module-body .archive-module-year:last-child,.hatena-module .hatena-urllist .archive-module-year:last-child{margin:0}.search-form{display:flex;justify-content:center;border:1px solid #d9d9d9;border-radius:4px;overflow:hidden;position:relative}.search-form .search-module-input{width:100%;font-size:.8em;outline:0;border:none;margin:0;padding:.6em}.search-form .search-module-button{width:16px;height:16px;background:transparent url(https://cdn.blog.st-hatena.com/css/theme/neutral/images/search.png?version=ff91aa3f1e8b00d594eed50bf4300b) no-repeat 50%;background-size:16px 16px;position:absolute;top:7px;right:6px;border:none;padding:.6em;outline:0;text-indent:-9999px;opacity:.5;cursor:pointer}.search-form .search-module-button:hover,.search-form .search-module-button:focus{transition:color .3s;opacity:1}.hatena-module-profile .hatena-module-body{display:flex;flex-direction:column;text-align:center}.hatena-module-profile .hatena-module-body .profile-icon{border-radius:4px;margin:0 0 8px}.hatena-module-profile .hatena-module-body .profile-description{margin:8px 0 0}.hatena-module-profile .hatena-module-body .profile-description p{font-size:14px;text-align:left}.hatena-module-profile .hatena-module-body .hatena-follow-button-box{margin:24px auto}.hatena-module-category .hatena-urllist li{list-style:none;margin:0 0 16px}.hatena-module-category .hatena-urllist li:last-child{margin-bottom:0}.hatena-module-category .hatena-urllist li a{color:#333;display:inline-block;background:#f5f5f5;padding:.4rem;border-radius:4px;font-size:14px}.hatena-module-category .hatena-urllist li a:hover,.hatena-module-category .hatena-urllist li a:focus{color:#1a237e}.hatena-module-recent-comments .recent-comments .hatena-id-icon{border-radius:4px}.hatena-module-recent-comments .recent-comments li{list-style:none;margin:0 0 16px}.hatena-module-recent-comments .recent-comments li:last-child{margin-bottom:0}.hatena-module-recent-comments .recent-comments .recent-comment-time{color:#888;font-style:normal}.hatena-module-links .hatena-urllist{list-style:none;line-height:1.8}.hatena-module-authors-list .authors-urllist{margin:0 0 8px}.hatena-module-authors-list .authors-urllist a{display:flex;align-items:center}.hatena-module-authors-list .authors-urllist .authors-user-icon{border-radius:4px;width:32px}.hatena-module-circles .circle-urllist li{display:flex;margin:0 0 16px;align-items:center}.hatena-module-circles .circle-urllist li:last-child{margin-bottom:0}.hatena-module-html ul{margin-inline-start:1.2em}.hatena-module-html p,.hatena-module-html pre{line-height:1.6;margin:16px 0}.hatena-module-html code,.hatena-module-html .code{background:#272822;color:#f8f8f2;padding:.24em;border-radius:4px;font-size:14px}.hatena-module-archive .calendar-day a{color:#888}.page-archive .archive-entries{background:#fff;padding:32px 16px 40px;border-radius:4px}.page-archive .archive-heading{margin:0 0 32px;background:#fff;border-radius:4px;padding:16px}.page-archive .search-result{background:#fff;border-radius:4px;padding:16px 16px 40px}.archive-header-category{background:#fff;border-radius:4px}.archive-header-category .archive-heading{margin:0;padding:16px}.archive-entries-sort{margin-left:1em}.page-archive-category .archive-header-category{margin:0 0 40px}.page-archive-category .archive-header-category .archive-heading{background:#f5f5f5;padding:4px 8px;margin:16px;border-radius:4px;display:inline-block;font-size:16px}.page-archive-category .archive-header-category .archive-heading .archive-entries .archive-entry{margin:0 0 72px}.page-archive-category .archive-header-category .archive-heading .archive-entries .archive-entry:last-child{margin-bottom:0}.page-archive-category .archive-header-category .archive-heading .entry-title{font-size:22px;line-height:1.5em}.page-archive-category .archive-header-category .archive-heading .entry-title a{color:#333}.page-archive-category .archive-header-category .archive-heading .entry-title a:hover,.page-archive-category .archive-header-category .archive-heading .entry-title a:focus{color:#1a237e}.page-archive-category .archive-category-link{color:#333;background-color:#f5f5f5;margin:0 0 8px;padding:.4em;border-radius:4px}.archive-entry{margin:0 0 40px}@media screen and (min-width:992px){.archive-entry{margin:0 0 72px}}.archive-entry:last-child{margin-bottom:0}.archive-entry .archive-entry-header .date{margin:0 0 8px}.archive-entry .archive-entry-header .date time{color:#888;font-size:14px}@media screen and (min-width:992px){.archive-entry .archive-entry-header .date{font-size:18px}}.archive-entry .archive-entry-header .entry-title{margin:0 0 16px}.archive-entry .archive-entry-header .entry-title .entry-title-link{font-size:18px}@media screen and (min-width:992px){.archive-entry .archive-entry-header .entry-title .entry-title-link{font-size:22px;margin:0 0 24px}}.archive-entry .archive-entry-header .highlight,.archive-entry .archive-entry-body .highlight{background:#faeacb;border-radius:4px;border:none}.archive-entry .categories{margin:0 0 8px}.archive-entry .categories .archive-category-link{font-size:12px;background:#f5f5f5;margin:0 0 8px;padding:.45em;border-radius:4px;display:inline-block}.archive-entry .entry-thumb{border-radius:4px;width:80px;height:80px}@media screen and (min-width:992px){.archive-entry .entry-thumb{width:100px;height:100px}}.archive-entry .archive-entry-body .entry-description{font-size:14px;line-height:1.5;margin:0 0 8px}.page-about .entry-content{margin:0 0 24px}.page-about .entry-content img.profile-icon{width:24px;height:24px;border-radius:4px;margin:0 8px 0 0}.page-about .entry-content dl{margin:24px 0 0}.page-about .entry-content dt{font-size:18px;line-height:1.8;margin:0 0 8px}.page-about .entry-content dd{margin-bottom:16px}.page-about .entry-content dd li{list-style:disc;color:#1a237e;font-size:16px}.page-about .entry-content dd li a:hover{text-decoration:underline}

/* </system> */

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

@charset "UTF-8";
* { box-sizing: border-box; }
body { 
    color: #2e2e2e; 
    overflow-x: hidden !important; 
    font-family: "Yu Gothic", "游ゴシック", YuGothic, "Yu Gothic Medium", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", sans-serif !important;
}
a, a:visited { color: #453930; text-decoration: none; }
a:hover { color: inherit; opacity: .85; }
img { display: block; }

/* =========================================
   レイアウト全体幅調整（中央寄せ）
========================================= */
#container, #content, #content-inner, #wrapper, #main {
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 1100px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* =========================================
   ヘッダーの背景画像と色
========================================= */
#blog-title {
    background: url(https://cdn-ak.f.st-hatena.com/images/fotolife/r/recri/20260712/20260712180909.jpg) center/cover no-repeat #ff6400;
    height: 100px;
    padding: 0;
    border: none;
}
@media (min-width: 768px) {
    #blog-title {
        background: url(https://cdn-ak.f.st-hatena.com/images/fotolife/r/recri/20260712/20260712180909.jpg) center/1100px 200px no-repeat #ff6400;
        height: 200px;
    }
}
#blog-title-inner { max-width: 100%; height: 100%; position: relative; }
#title a { position: absolute; top: 0; right: 0; bottom: 0; left: 0; opacity: 0; }

/* 基本レイアウト設定 */
#content-inner { display: flex; flex-direction: column; padding: 1rem; }
.page-entry #main-inner, #box2 { max-width: 40rem; margin: 0 auto; }
#main, #box2 { float: none; width: auto; padding: 0; }
#box2 { margin-top: 3.5rem; }

@media (min-width: 920px) {
    #content-inner { flex-direction: row; }
    .page-entry #main-inner { max-width: unset; }
    #wrapper { flex: 1; }
    #main { padding-right: 2rem; }
    #box2 { width: 320px; padding-left: 0; box-sizing: border-box; margin-top: 0; }
}

#top-box { margin: 0; padding: 0; border: unset; }
#top-box .breadcrumb { max-width: 1100px; width: 100%; margin: 0 auto; padding: 0 1rem; }
.breadcrumb-inner { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: .75rem; }
.breadcrumb-gt { display: none; }
.breadcrumb-child:before { content: "›"; display: inline-block; padding: 0 .5rem; }

/* =========================================
   記事まわりの装飾＆本文・見出し最適化
========================================= */
.entry { margin-bottom: 2rem; }
.entry-title { font-size: 1.35rem; line-height: 1.5; padding-left: 0; }
@media (min-width: 920px) { .entry-title { font-size: 1.5rem; } }

/* 本文テキスト（スタイリッシュな文字サイズ＆行間） */
.entry-content,
.entry-content p {
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
    margin-bottom: 1.2rem !important;
}

/* 見出し（本文の約1.2倍サイズ） */
.entry-content h3 { 
    font-size: 1.25rem !important; 
    color: #2e2e2e !important; 
    background-color: #fff7ed !important; 
    border-left: none !important; 
    border-radius: .4rem !important; 
    padding: .5em .7em !important; 
    margin: 2rem 0 1rem !important; 
}
.entry-content h3:before { display: none !important; }

.entry-content h4 { 
    font-size: 1.2rem !important; 
    padding-left: 0 !important; 
    padding-bottom: .3em !important; 
    border-left: none !important; 
    border-bottom: 2px solid #cdd6dd !important; 
    margin: 1.8rem 0 0.8rem !important; 
    border-image: linear-gradient(to right,#ff6400 0,#ff6400 30%,#cdd6dd 30%,#cdd6dd) !important; 
    border-image-slice: 1 !important; 
}

.entry-content h5 { 
    font-size: 1.15rem !important; 
    padding-left: .5rem !important; 
    border-left: 3px solid transparent !important; 
    border-image: linear-gradient(to bottom,transparent 10%,#ff6400 10%,#ff6400 90%,transparent 90%) !important; 
    border-image-slice: 1 !important; 
    margin: 1.5rem 0 0.8rem !important; 
}

/* 太字強調 */
.entry-content strong,
.entry-content b {
    font-weight: 700 !important;
    color: #111111 !important;
}

iframe[src^="https://www.youtube.com"] { width: 100%; height: auto; aspect-ratio: 16/9; }

/* =========================================
   記事内テーブル（通常表は枠あり／四角囲みは枠なし＆標準太さ）
========================================= */
.entry-content table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid #dcd3cb !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    margin: 2rem 0 !important;
    background: #ffffff !important;
}

.entry-content table th,
.entry-content table td {
    border-bottom: 1px solid #eee5de !important;
}

.entry-content table tr:last-child th,
.entry-content table tr:last-child td {
    border-bottom: none !important;
}

/* 四角囲み（セル1つの表）の枠線完全解除 */
.entry-content table:has(td:only-child) {
    border: none !important;
    box-shadow: none !important;
}

.entry-content table:has(td:only-child) tr,
.entry-content table:has(td:only-child) td {
    border: none !important;
    border-bottom: none !important;
}

/* 通常表の1列目（左側見出し） */
.entry-content table:not(:has(td:only-child)) th,
.entry-content table:not(:has(td:only-child)) td:first-child {
    background-color: #fffaf5 !important;
    color: #2e2e2e !important;
    font-weight: bold !important;
    width: 25% !important;
    border-right: 1px solid #eee5de !important;
    padding: 1rem 0.8rem !important;
    vertical-align: middle !important;
    text-align: left !important;
}

/* 四角囲み（1セル表）は標準の太さ(400)＆マージン調整 */
.entry-content table td:only-child {
    background-color: #fffaf5 !important;
    font-weight: 400 !important;
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
    padding: 1.2rem 1.2rem !important;
    text-align: left !important;
}

.entry-content table td:only-child p,
.entry-content table td:only-child span {
    font-weight: 400 !important;
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
}

.entry-content table td:only-child > *:first-child,
.entry-content table td:only-child h4,
.entry-content table td:only-child h5,
.entry-content table td:only-child p:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* 通常表の2列目データ部分 */
.entry-content table td:nth-child(2) {
    background-color: #ffffff !important;
    color: #2e2e2e !important;
    font-weight: 400 !important;
    padding: 1rem 1.2rem !important;
    vertical-align: middle !important;
    text-align: left !important;
    line-height: 1.65 !important;
}

/* =========================================
   サイドバー（リスト・検索・カテゴリ）装飾
========================================= */
.urllist-with-thumbnails .urllist-item-inner { display: grid; grid-template-columns: 100px 1fr; gap: 0 1rem; }
.urllist-with-thumbnails .urllist-image-link { grid-row: 1/3; grid-column: 1/2; }
.urllist-with-thumbnails .urllist-image { margin: 0 !important; }
.urllist-with-thumbnails .urllist-date-link { align-self: end; font-size: .8rem; }
.urllist-with-thumbnails .urllist-title-link { font-size: .875rem; font-weight: 500; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
@media (min-width: 768px) { .urllist-with-thumbnails .urllist-title-link { font-size: 1rem; } }
#box2 .urllist-with-thumbnails .urllist-item-inner { align-items: center; }
#box2 .urllist-with-thumbnails .urllist-image { aspect-ratio: 1; object-fit: cover; }
#box2 .urllist-with-thumbnails .urllist-image-link { grid-row: 1/2; }
@media (min-width: 920px) {
    #box2 .urllist-with-thumbnails .urllist-item-inner { grid-template-columns: 4.5rem 1fr; gap: .875rem; }
    #box2 .urllist-with-thumbnails .urllist-title-link { font-size: .875rem; }
}

.hatena-module-body a { color: #333; }
.pager-permalink a { text-decoration: none; display: flex; align-items: center; gap: 1rem; }
.pager-permalink .pager-arrow { font-size: 2rem; color: #d9d9d9; }
@media (min-width: 576px) { .hatena-module-custom-script { display: none; } }

#box2 {
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
}

#box2 .hatena-module {
    background-color: #fffaf5 !important;
    border-radius: 12px !important;
    padding: 1.5rem 1.2rem !important;
    margin-bottom: 1.5rem !important;
    box-sizing: border-box !important;
}

#box2 .hatena-module-title {
    font-family: 'Futura', 'Trebuchet MS', Arial, sans-serif !important;
    font-size: 1.1rem !important;
    font-weight: bold !important;
    color: #2e2e2e !important;
    border: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 1rem !important;
    position: relative !important;
    background: none !important;
}

#box2 .hatena-module-title::before { display: none !important; }
#box2 .hatena-module-title::after {
    content: "" !important;
    display: block !important;
    width: 32px !important;
    height: 3px !important;
    background: #ff6400 !important;
    border: none !important;
    border-radius: 2px !important;
    margin-top: 0.4rem !important;
}

#box2 .hatena-module-search-box form,
#box2 .hatena-module-search-box .search-form {
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
}

#box2 .hatena-module-search-box .search-module-input {
    border: 1px solid #ffd0b3 !important;
    border-radius: 20px !important;
    padding: 0.5rem 1rem !important;
    background: #ffffff !important;
    outline: none !important;
}

#box2 .hatena-module-category .hatena-urllist li a,
#box2 .hatena-module-category ul li a {
    background-color: #ffffff !important;
    color: #453930 !important;
    border: 1px solid #ffd0b3 !important;
    border-radius: 20px !important;
    padding: 0.4rem 0.9rem !important;
    font-size: 0.82rem !important;
    font-weight: 500 !important;
    display: inline-block !important;
    margin-bottom: 0.4rem !important;
    transition: all 0.2s ease !important;
}

#box2 .hatena-module-category .hatena-urllist li a:hover,
#box2 .hatena-module-category ul li a:hover {
    background-color: #ff6400 !important;
    color: #ffffff !important;
    border-color: #ff6400 !important;
}

/* =========================================
   フッター全幅指定
========================================= */
.gfooter { 
    background: #453930 !important; 
    color: #fff !important; 
    padding: 2.5rem 0 !important; 
    width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    box-sizing: border-box !important;
}
.gfooter-container { 
    width: 100% !important;
    max-width: 1100px !important; 
    margin: 0 auto !important; 
    padding: 0 1rem !important;
    display: flex !important; 
    gap: 1.5rem !important; 
    flex-direction: column !important; 
    box-sizing: border-box !important;
}
.footer-logo { width: 100%; }
.footer-logo__image { filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(174deg) brightness(99%) contrast(106%); }
.footer-link { display: flex !important; gap: 1.5rem !important; flex-wrap: wrap !important; margin: 0 !important; padding: 0 !important; }
.footer-link__item { list-style: none !important; }
.footer-link__href { color: #ffffff !important; font-size: .85rem !important; text-decoration: none !important; }
.footer-copyright { font-size: .8rem !important; line-height: 1 !important; color: #cccccc !important; }
@media (min-width: 768px) { 
    .gfooter-container { 
        flex-direction: row !important; 
        flex-wrap: wrap !important; 
        align-items: center !important; 
        justify-content: space-between !important; 
    } 
}

/* =========================================
   ALL ARTICLES 見出しデザイン
========================================= */
.archive-header,
.archive-heading,
.archive-carousel .section-header {
    width: 100% !important;
    max-width: 1100px !important;
    margin: 2.5rem auto 1.5rem auto !important; 
    padding: 0 !important;
    text-align: left !important;
    border: none !important;
    background: none !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.4rem !important;
}

.archive-header h1,
.archive-heading h1,
.custom-category-header .main-title-eng,
.archive-carousel .section-header .main-title-eng {
    display: block !important;
    font-family: 'Futura', 'Trebuchet MS', Arial, sans-serif !important;
    font-size: 1.8rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.05em !important;
    color: #2e2e2e !important;
    margin: 0 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.archive-header-text,
.custom-category-header .sub-title-jpn,
.archive-carousel .section-header .sub-title-jpn {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    font-size: 0.75rem !important;
    font-weight: bold !important;
    color: #ff6400 !important; 
    letter-spacing: 0.1em !important;
    margin: 0 !important;
    line-height: 1.2 !important;
}

.archive-header-text::after,
.custom-category-header .sub-title-jpn::after,
.archive-carousel .section-header .sub-title-jpn::after {
    content: "" !important;
    flex: 1 !important;
    height: 1px !important;
    background-color: #e5e7eb !important;
    margin-left: 1rem !important;
}

/* =========================================
   記事一覧（アーカイブ）＆タイトル2段組みデザイン
========================================= */
.page-archive .archive-entries {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    row-gap: 0.3rem !important;
    justify-items: center !important;
}

@media (min-width: 576px) {
    .page-archive .archive-entries {
        grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important;
        gap: 1rem !important;
    }
}

.page-archive .archive-entries .archive-entry {
    width: 100% !important;
    max-width: 500px !important;
    display: flex !important;
    flex-direction: column !important;
    margin: 0 0 0rem 0 !important;
    position: relative !important;
    overflow: hidden !important;
    border-radius: 4px;
}

.page-archive .archive-entries .entry-thumb-link { order: -1 !important; display: block !important; width: 100% !important; margin: 0 !important; float: none !important; }
.page-archive .archive-entries .entry-thumb { width: 100% !important; height: auto !important; aspect-ratio: 16 / 9 !important; object-fit: cover !important; margin: 0 !important; }
.page-archive .archive-entries .archive-entry-header { position: static !important; width: 100% !important; margin-top: 0.2rem !important; padding: 0.3rem 0.2rem !important; background: none !important; }

/* 1段目メインタイトル（文字サイズ強調・直下の余白消去） */
.page-archive .archive-entries .entry-title,
.page-archive .archive-entries .entry-title a,
.entry-title a .custom-main-title {
    font-size: 1.15rem !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    color: #2e2e2e !important;
    margin-top: 0.15rem !important;
    margin-bottom: 0 !important;
    display: block !important;
}

/* 2段目サブタイトル（1段目のすぐ下へ吸い付くよう直近配置） */
.page-archive .archive-entries .entry-title a .sub-title-text,
.entry-title a .sub-title-text {
    font-size: 0.88rem !important;
    font-weight: 500 !important;
    color: #4a4a4a !important;
    display: block !important;
    margin-top: 0.2rem !important;     /* 隙間を極限まで縮小 */
    line-height: 1.35 !important;
}

.page-archive .archive-entries .entry-description,
.page-archive .archive-entries .social-buttons,
.page-archive .archive-entries .categories,
.page-archive .archive-entries .entry-categories { display: none !important; }

/* 日付バッジ */
.page-archive .archive-entries .date,
.date {
    display: inline-block !important;
    background-color: #ff6400 !important;
    color: #ffffff !important;
    font-family: 'Poppins', 'Oswald', 'Helvetica Neue', sans-serif !important;
    font-size: 0.68rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    padding: 2px 7px !important;
    margin: 0.3rem 0 !important;
    border-radius: 2px !important;
}

.page-archive .archive-entries .date *,
.date * { color: #ffffff !important; text-decoration: none !important; }

/* Pagerボタン */
.pager {
    display: flex !important;
    justify-content: center !important;
    gap: 1rem !important;
    margin-top: 1.5rem !important;
    margin-bottom: 0 !important;
    width: 100% !important;
}
.pager .pager-prev a, .pager .pager-next a {
    display: inline-block !important;
    padding: 0.8rem 2.5rem !important;
    background-color: #ff6400 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    border-radius: 50px !important;
    font-weight: bold !important;
    font-size: 0.9rem !important;
}

/* =========================================
   【スマホ専用】見出しサイズ＆間隔強制上書き
========================================= */
@media screen and (max-width: 919px) {
    /* 1. 見出しサイズをスマホでも本文の約1.2倍に固定 */
    .entry-content h3, .entry-content h3 span {
        font-size: 1.2rem !important;
        line-height: 1.4 !important;
        margin: 1.8rem 0 0.8rem !important;
    }
    .entry-content h4, .entry-content h4 span {
        font-size: 1.15rem !important;
        line-height: 1.4 !important;
        margin: 1.5rem 0 0.6rem !important;
    }
    .entry-content h5, .entry-content h5 span {
        font-size: 1.1rem !important;
        line-height: 1.4 !important;
        margin: 1.2rem 0 0.5rem !important;
    }

    /* 2. Pagerとサイドバー間の空白詰め */
    #main, #wrapper, #content-inner,
    .page-archive .archive-entries, .archive-entries {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .pager {
        margin-top: 0.5rem !important;
        margin-bottom: 0 !important;
    }

    #box2 {
        margin-top: -3.5rem !important;
        padding-top: 0 !important;
        position: relative !important;
        z-index: 10 !important;
    }
}

/* =========================================
   【全画面・スマホ共通】記事カード内の不要なタグ要素を完全非表示
========================================= */
.page-archive .archive-entries .categories,
.page-archive .archive-entries .entry-categories,
.page-archive .archive-entries .archive-entry-tags,
.page-archive .archive-entries .entry-tag,
.page-archive .archive-entries [class*="category"],
.page-archive .archive-entries [class*="tag"] {
    display: none !important;
}

/* =========================================
   【スマホ専用】記事カード間の余白（サブタイトル〜次のサムネイル間）を拡張
========================================= */
@media screen and (max-width: 919px) {
    /* 記事カード（1つの記事グループ）全体の下マージンを広げて明確に分離 */
    .page-archive .archive-entries .archive-entry {
        margin-bottom: 2rem !important;       /* カード同士の間隔を拡張 */
        padding-bottom: 0.8rem !important;    /* カード底面の余白調整 */
        border-bottom: 1px solid #f0f0f0 !important; /* うっすら区切り線（不要なら削除可） */
    }

    /* 一番最後の記事カードだけは下余白をリセット */
    .page-archive .archive-entries .archive-entry:last-child {
        margin-bottom: 0.5rem !important;
        border-bottom: none !important;
    }
}

/* =========================================
   サイドバー一番下の空ブロック（不要な枠）を消去
========================================= */
/* 中身が非表示のカスタムスクリプトモジュール枠を削除 */
#box2 .hatena-module-custom-script,
#box2 .hatena-module:empty,
#box2 .hatena-module:has(.hatena-module-body:empty) {
    display: none !important;
}