/* <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=d422509bd0b39c8cdd48718768287a) 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> */
@charset "UTF-8";
/*
Theme: boilerplate
Author: Negishima
Responsive: yes
Released under the MIT License.
*/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
line-height: 1.15; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers.
*/
body {
margin: 0;
}
/**
* Render the `main` element consistently in IE.
*/
main {
display: block;
}
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 1.5em;
margin: 0.67em 0;
}
/* Grouping content
========================================================================== */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/* Text-level semantics
========================================================================== */
/**
* Remove the gray background on active links in IE 10.
*/
a {
background-color: transparent;
}
/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted; /* 2 */
}
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* Embedded content
========================================================================== */
/**
* Remove the border on images inside links in IE 10.
*/
img {
border-style: none;
}
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers.
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
font-family: inherit; /* 1 */
font-size: 100%; /* 1 */
line-height: 1.15; /* 1 */
margin: 0; /* 2 */
}
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input { /* 1 */
overflow: visible;
}
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
text-transform: none;
}
/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
/**
* Correct the padding in Firefox.
*/
fieldset {
padding: 0.35em 0.75em 0.625em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box; /* 1 */
color: inherit; /* 2 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
white-space: normal; /* 1 */
}
/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
vertical-align: baseline;
}
/**
* Remove the default vertical scrollbar in IE 10+.
*/
textarea {
overflow: auto;
}
/**
* 1. Add the correct box sizing in IE 10.
* 2. Remove the padding in IE 10.
*/
[type="checkbox"],
[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
/* Interactive
========================================================================== */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
display: block;
}
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}
/* Misc
========================================================================== */
/**
* Add the correct display in IE 10+.
*/
template {
display: none;
}
/**
* Add the correct display in IE 10.
*/
[hidden] {
display: none;
}
html,
body {
  font-family: "Source Han Sans Japanese", sans-serif;
  color: #36454F;
  background-color: #F8F8F8;
  line-height: 1.7;
  font-size: 0.88rem;
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
}

*, *::before, *::after {
  box-sizing: inherit;
}

a {
  color: #2F4F4F;
  text-decoration: none;
  transition: color 0.3s ease;
}

a:hover {
  color: #66B2B2;
  text-decoration: underline;
}

a.keyword {
  text-decoration: none;
  border-bottom: 1px dotted #BBBBBB;
  color: #36454F;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Source Han Sans Japanese", sans-serif;
  color: #2F4F4F;
  line-height: 1.3;
  margin-top: 1.5em;
  margin-bottom: 0.8em;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  color: #2F4F4F;
  text-decoration: none;
}

h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
  color: #66B2B2;
}

#container,
#footer {
  margin: 0 auto;
  width: 98%;
}

@media (max-width: 767px) {
  #container,
  #footer {
    width: 98%;
  }
  #content-inner {
    flex-direction: column;
  }
  #wrapper {
    width: 100%;
    margin-right: 0;
    margin-bottom: 10px;
  }
  #box2 {
    width: 100%;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  #container,
  #footer {
    width: 750px;
  }
  #content-inner {
    flex-direction: row;
    gap: 10px;
  }
  #wrapper {
    width: 480px;
    flex-basis: auto;
    margin-right: 0;
  }
  #box2 {
    width: 260px;
    flex-basis: auto;
  }
}

@media (min-width: 992px) {
  #container,
  #footer {
    width: 960px;
  }
  #content-inner {
    flex-direction: row;
    gap: 10px;
  }
  #wrapper {
    width: 672px;
    flex-basis: auto;
    margin-right: 0;
  }
  #box2 {
    width: 278px;
    flex-basis: auto;
  }
}

#content-inner {
  display: flex;
}

@media screen and (max-width: 768px) {
  .header-image-enable #blog-title {
    display: none;
  }
}

/* 元々のCSS */
.header-image-enable #blog-title {
 margin: 0 auto;
}
.header-image-enable #blog-title-inner {
 display: flex;
 flex-direction: row;
 align-items: center;
}
.header-image-enable #blog-title-content {
 margin-left: 10px;
 margin-right: 10px;
}
.header-image-enable #blog-title #blog-title-inner {
 height: 100px;
}
#gnav {
  background-color: #2F4F4F;
  color: #FFFFFF;
  padding: 5px 0;
  text-align: center;
}

#gnav .gnav-inner {
  max-width: 1024px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

#gnav .menu {
  margin: 0 8px;
}

#gnav .menu a {
  color: #FFFFFF;
  text-decoration: none;
  padding: 5px 8px;
  border-radius: 3px;
  font-size: 0.85em;
  display: block;
}

#gnav .menu a:hover {
  background-color: #66B2B2;
}

#gnav .fa {
  margin-right: 5px;
}

#top-editarea {
  margin-bottom: 1.5em;
}

.breadcrumb {
  margin: 1em 0;
  padding: 0;
  list-style: none;
  font-size: 0.75rem;
}

.breadcrumb-inner {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.breadcrumb-link,
.breadcrumb-child-link,
.breadcrumb-child span {
  display: inline-block;
  font-weight: bold;
  text-decoration: none;
  color: #555555;
}

.breadcrumb-gt {
  padding: 0 0.3em;
  color: #BBBBBB;
}

.breadcrumb-link:before {
  font-family: FontAwesome;
  content: "\f015";
  font-weight: normal;
  font-size: 1.0em;
  color: #2F4F4F;
  margin-right: 0.2em;
}

.breadcrumb a:hover {
  text-decoration: underline;
}

.breadcrumb-child:last-child ~ .breadcrumb-gt {
  display: none;
}

.breadcrumb-child:last-child span {
  font-weight: normal;
  color: #36454F;
}

.entry {
  position: relative;
  margin-bottom: 2.5em;
  padding: 1.5em;
  background-color: #FFFFFF;
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}

.entry-header {
  padding-bottom: 1.2em;
  margin-bottom: 1.5em;
  border-bottom: 1px solid #E0E0E0;
  position: relative;
}

.date {
  margin-bottom: 0.6em;
  font-size: 0.8rem;
  color: #777777;
}

.date:before {
  font-family: FontAwesome;
  content: "\f073";
  margin-right: 0.4em;
  color: #66B2B2;
}

.date a {
  color: #66B2B2;
  text-decoration: none;
}

.date a:hover {
  color: #2F4F4F;
  text-decoration: underline;
}

.entry-title {
  margin: 1em 0 1em;
  font-size: 1.6rem;
  line-height: 1.3;
  color: #2F4F4F;
}

.categories {
  margin: 0.5em 0 1em;
  font-size: 0.8rem;
}

.categories a {
  margin-right: 0.8em;
  position: relative;
  color: #66B2B2;
  text-decoration: none;
  border: 1px solid #66B2B2;
  border-radius: 15px;
  padding: 0.3em 0.8em 0.3em 2.0em;
  display: inline-block;
  transition: all 0.3s ease;
}

.categories a:hover {
  background-color: #66B2B2;
  color: #FFFFFF;
}

.categories a:before {
  font-family: FontAwesome;
  content: "\f02c";
  position: absolute;
  left: 0.6em;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.8em;
  color: #66B2B2;
  transition: color 0.3s ease;
}

.categories a:hover:before {
  color: #FFFFFF;
}

.entry-header-menu {
  position: absolute;
  top: 1.5em;
  right: 1.5em;
}

.entry-content {
  font-size: 0.9rem;
  line-height: 1.8;
  color: #36454F;
}

.entry-content img,
.entry-content video {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 1.5em auto;
  border-radius: 5px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
  margin: 1.8em 0 1em 0;
  color: #2F4F4F;
}

.entry-content h1 {
  font-size: 1.4rem;
  border-bottom: 2px solid #66B2B2;
  padding-bottom: 0.5em;
}

.entry-content h2 {
  font-size: 1.25rem;
  border-left: 5px solid #66B2B2;
  padding-left: 0.8em;
}

.entry-content h3 {
  color: #FFFFFF;
  font-size: 1.2rem;
  position: relative;
  background: #2F4F4F;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border: none;
  padding: 0.6em 1em;
  border-radius: 6px;
  margin: 2.5em 0 1.5em 0;
}

.entry-content h4 {
  font-size: 1.1rem;
  margin: 1.5em 0 0.8em 0;
  padding: 0.5em 0.8em;
  border: 1px solid #D3D3D3;
  border-left: 5px solid #2F4F4F;
  color: #2F4F4F;
}

.entry-content h5 {
  font-size: 1rem;
  border-bottom: 1px dotted #BBBBBB;
  padding-bottom: 0.3em;
}

.entry-content h6 {
  font-size: 0.9rem;
  color: #555555;
}

.entry-content ul:not(.table-of-contents) {
    padding: 0.5em 1em 0.5em 2.3em;
    position: relative;
    margin: 0 0 0.4em 0;
    list-style: disc;
}

.entry-content ul:not(.table-of-contents) li {
    line-height: 1.1;
    padding: 0.2em 0;
    list-style-type: disc;
    position: relative;
}

.entry-content ul:not(.table-of-contents) li Li {
    line-height: 1.1;
    padding: 0.2em 0;
    list-style-type: circle;
    position: relative;
}

.entry-content table {
  border-collapse: collapse;
  border-spacing: 0;
  margin-bottom: 1.5em;
  width: 100%;
  overflow-x: auto;
  display: block;
  font-size: 0.85rem;
  border: 1px solid #D3D3D3;
  border-radius: 5px;
}

.entry-content table th,
.entry-content table td {
  border: 1px solid #E0E0E0;
  padding: 8px 12px;
  text-align: left;
  vertical-align: top;
}

.entry-content table th {
  background: #F0F0F0;
  font-weight: bold;
  color: #2F4F4F;
}

.entry-content blockquote {
  position: relative;
  padding: 1.5em 1.5em 1.5em 4em;
  box-sizing: border-box;
  font-style: italic;
  background: #F0F0F0;
  border-left: 5px solid #66B2B2;
  margin: 2em 0;
  border-radius: 5px;
}

.entry-content blockquote:before {
  display: inline-block;
  position: absolute;
  top: 1em;
  left: 1.5em;
  content: "\f10d";
  font-family: FontAwesome;
  color: #66B2B2;
  font-size: 28px;
  line-height: 1;
  z-index: 2;
  font-weight: 900;
}

.entry-content blockquote:after {
  content: none;
}

.entry-content blockquote p {
  position: relative;
  margin: 0;
  padding: 0;
  z-index: 3;
  line-height: 1.7;
}

.entry-content blockquote cite {
  display: block;
  text-align: right;
  color: #555555;
  font-size: 0.85em;
  margin-top: 0.8em;
}

.entry-content pre,
.entry-content code {
  font-family: "Monaco", "Consolas", "Courier New", Courier, monospace, sans-serif;
}

.entry-content pre {
  background: #2D2D2D;
  color: #F8F8F8;
  border: none;
  white-space: pre-wrap;
  word-break: break-all;
  font-size: 0.8rem;
  line-height: 1.5;
  padding: 15px;
  border-radius: 5px;
  overflow-x: auto;
  margin: 2em 0;
}

.entry-content pre > code {
  margin: 0;
  padding: 0;
  white-space: pre;
  border: none;
  background-color: transparent;
  font-family: "Monaco", "Consolas", "Courier New", Courier, monospace, sans-serif;
  display: block;
}

.entry-content code {
  font-size: 0.85em;
  margin: 0 3px;
  padding: 2px 6px;
  background-color: #E0E0E0;
  border-radius: 3px;
  color: #555555;
}

.entry-content hr {
  width: 60%;
  border: 0;
  border-top: 1px solid #BBBBBB;
  margin: 3em auto;
}

.entry-see-more {
  display: block;
  width: fit-content;
  margin: 2em auto 1em;
  color: #FFFFFF !important;
  background-color: #2F4F4F !important;
  padding: 8px 25px;
  font-size: 0.95em;
  border-radius: 5px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
}

.entry-see-more:hover {
  background-color: #66B2B2 !important;
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
}

.entry-footer {
  margin-top: 2em;
  padding-top: 1.5em;
  border-top: 1px solid #E0E0E0;
}

.entry-footer .social-buttons {
  margin-bottom: 1.5em;
}

.entry-footer-section {
  color: #2F4F4F;
  font-size: 0.85rem;
}

.entry-footer-section a {
  color: #2F4F4F;
}

.comment-box {
  margin: 2em 0;
  background-color: #FFFFFF;
  padding: 1.5em;
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}

.comment-box .comment {
  list-style: none;
  margin: 0;
  padding: 0;
  line-height: 1.7;
  font-size: 0.85rem;
}

.comment-box .entry-comment {
  padding: 15px 0 15px 70px;
  border-bottom: 1px solid #EEEEEE;
  position: relative;
}

.comment-box .entry-comment:first-child {
  border-top: 1px solid #EEEEEE;
}

.comment-box .read-more-comments {
  padding: 15px 0;
  text-align: center;
}

.comment-box .hatena-id-icon {
  position: absolute;
  top: 15px;
  left: 0;
  width: 50px !important;
  height: 50px !important;
  border-radius: 50%;
  border: 2px solid #D3D3D3;
}

.comment-user-name {
  margin: 0 0 0.5em 0;
  font-weight: bold;
  color: #2F4F4F;
}

.comment-content {
  margin: 0 0 0.5em 0;
  word-wrap: break-word;
  color: #36454F;
  font-size: 0.85rem;
}

.comment-content p {
  margin: 0 0 0.8em 0;
}

.comment-metadata {
  color: #66B2B2;
  margin: 0;
  font-size: 0.75rem;
}

.comment-metadata a {
  color: #66B2B2;
}

.leave-comment-title {
  padding: 0.8em 1.2em;
  font-size: 0.9rem;
  border: 1px solid #D3D3D3;
  border-radius: 5px;
  background-color: #F0F0F0;
  color: #2F4F4F;
}

.pager {
  margin: 3em 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 1.5em;
}

.pager-prev,
.pager-next {
  flex: 1;
  text-align: center;
}

.pager-prev {
  text-align: left;
}

.pager-next {
  text-align: right;
}

.pager-next a {
  padding: 8px 25px;
  font-size: 0.95em;
  color: #FFFFFF !important;
  background-color: #2F4F4F !important;
  border-radius: 5px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
}

.pager-next a:hover {
  background-color: #66B2B2 !important;
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
}

.hatena-module {
  box-sizing: border-box;
  margin-bottom: 2.5em;
  padding: 1.2em;
  background-color: #FFFFFF;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  font-size: 0.85rem;
}

.hatena-module-title {
  margin-bottom: 0.8em;
  padding-bottom: 0.4em;
  border-bottom: 2px solid #E0E0E0;
  font-size: 1.05rem;
  font-weight: bold;
  color: #2F4F4F;
}

.hatena-module-title a {
  color: #2F4F4F;
  text-decoration: none;
}

.hatena-module-title a:hover {
  text-decoration: underline;
}

.hatena-module-profile .profile-icon {
  float: left;
  margin: 0 12px 10px 0;
  border-radius: 50%;
  border: 2px solid #D3D3D3;
}

.hatena-module-profile .id {
  display: block;
  font-weight: bold;
  margin-bottom: 0.5em;
  color: #2F4F4F;
}

.hatena-module-profile .profile-description p {
  margin-top: 0;
  color: #555555;
}

.hatena-urllist {
  list-style: none;
  margin: 0;
  padding: 0;
}

.hatena-urllist li {
  padding: 0.6em 0;
  border-bottom: 1px dotted #EEEEEE;
}

.hatena-urllist li:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.hatena-urllist li a {
  text-decoration: none;
  color: #36454F;
  transition: color 0.3s ease;
}

.hatena-urllist li a:hover {
  text-decoration: none;
  color: #66B2B2;
}

.hatena-urllist .urllist-category-link {
  font-size: 0.7rem;
  padding: 0.2em 0.5em;
  background-color: #E0E0E0;
  border-radius: 3px;
  color: #555555;
}

.hatena-urllist .urllist-date-link a {
  color: #66B2B2;
}

.hatena-urllist .urllist-entry-body {
  margin-top: 0.5em;
  line-height: 1.5;
}


.hatena-module-search-box .search-module-button:hover {
  opacity: 1;
}


.page-about .entry-content dt {
  font-weight: bold;
  border-bottom: 1px solid #D3D3D3;
  margin-bottom: 0.8em;
  padding-bottom: 0.3em;
  font-size: 1.1rem;
}

.page-about .entry-content dd {
  margin-left: 0;
  margin-bottom: 2.5em;
  line-height: 1.7;
}

.archive-header-category {
  text-align: center;
  margin-bottom: 2em;
}

.page-archive .archive-entry {
  margin-bottom: 2.5em;
  padding: 1.5em;
  background-color: #FFFFFF;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  display: flex;
  gap: 15px;
  align-items: flex-start;
  line-height: 1.4;
}

.page-archive .entry-title {
  margin: 0;
  font-size: 1.1rem;
}

.page-archive .entry-thumb {
  width: 90px;
  height: 90px;
  background-size: cover;
  flex-shrink: 0;
  border-radius: 5px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.page-archive .entry-description {
  margin: 0.5em 0 0;
  font-size: 0.85rem;
  color: #555555;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

.page-archive .social-buttons {
  display: flex;
  gap: 8px;
  margin-top: 1em;
}

#footer {
  margin-top: 3em;
  padding: 2em 0;
  text-align: center;
  font-size: 0.85rem;
  color: #777777;
  border-top: 1px solid #E0E0E0;
}

#footer a {
  color: #66B2B2;
}

#footer p {
  margin: 0.8em auto;
}
.entry-content .table-of-contents {
  position: relative;
  margin: 2.5em 0.5em 4em 0.5em;
  padding: 1.8em 1.5em 1.5em;
  border: solid 2px #66B2B2;
  background: #F8F8F8;
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
}

.entry-content .table-of-contents::before {
  position: absolute;
  content: '\f1ea この記事でわかること';
  font-family: 'Font Awesome 5 Free', sans-serif;
  font-weight: 900;
  display: inline-block;
  top: -1em;
  left: 1.5em;
  padding: 0.2em 0.8em;
  line-height: 1.1;
  font-size: 1.1rem;
  background: #F8F8F8;
  border-radius: 8px;
  border: solid 2px #66B2B2;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
  z-index: 1;
}

.entry-content .table-of-contents ul {
  list-style: none;
  line-height: 1.0;
  padding: 0;
  margin: 0;
}

.entry-content .table-of-contents li {
  position: relative;
  list-style-type: none;
  margin-bottom: 0.3em;
  padding-left: 1.0em;
}

.entry-content .table-of-contents > li {
  font-size: 1.1em;
  font-weight: bold;
  margin-bottom: 1em;
}

.entry-content .table-of-contents li li {
  list-style-type: none;
  font-size: 0.9em;
  font-weight: normal;
  padding-left: 1.5em;
  margin-bottom: 0.2em;
}

.entry-content .table-of-contents li li li {
  list-style-type: none;
  font-size: 0.8em;
  padding-left: 2.0em;
  margin-bottom: 0.1em;
}
.entry-content .table-of-contents li a {
  text-decoration: none;
  line-height: 1.2;
  color: #36454F;
  display: block;
  padding: 2px 0;
  transition: color 0.3s ease;
}

.entry-content .table-of-contents li a:hover {
  color: #66B2B2;
  text-decoration: underline;
}

.entry-content .table-of-contents li:last-child {
  margin-bottom: 0;
}

.entry-content .table-of-contents > li:last-child,
.entry-content .table-of-contents ul > li:last-child {
  margin-bottom: 0;
}

.balloon5 {
  width: 100%;
  margin: 2.5em 0;
  overflow: hidden;
  display: flex;
  align-items: flex-start;
}

.balloon5 .faceicon {
  flex-shrink: 0;
  width: 70px;
  margin-right: 15px;
}

.balloon5 .faceicon img {
  width: 100%;
  height: auto;
  border: solid 3px #66B2B2;
  border-radius: 50%;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.balloon5 .chatting {
  flex-grow: 1;
  min-width: 0;
}

.says {
  display: inline-block;
  position: relative;
  margin: 0;
  padding: 15px 18px;
  border-radius: 12px;
  background: #E6EEF4;
  max-width: 100%;
  word-wrap: break-word;
  line-height: 1.7;
  color: #36454F;
}

.says:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 18px;
  left: -12px;
  border: 8px solid transparent;
  border-right: 8px solid #E6EEF4;
}

.says p {
  margin: 0;
  padding: 0;
}

.btn-horizontal-border {
  position: relative;
  display: inline-block;
  font-weight: bold;
  padding: 12px 0 8px;
  text-decoration: none;
  color: #66B2B2;
  transition: .4s ease;
}

.btn-horizontal-border:before,
.btn-horizontal-border:after {
  position: absolute;
  content: '';
  width: 100%;
  height: 3px;
  border-radius: 3px;
  background: #66B2B2;
  transition: .3s ease;
}

.btn-horizontal-border:before {
  top: 100%;
  left: 0;
}

.btn-horizontal-border:after {
  top: 0;
  left: 0;
}

.btn-horizontal-border:hover:before {
  top: calc(100% - 2px);
}

.btn-horizontal-border:hover:after {
  top: 2px;
}

.box {
  margin: 2.5em 0;
  position: relative;
  padding: 1em 2em;
  border-top: solid 2px #66B2B2;
  border-bottom: solid 2px #66B2B2;
  background-color: #E6EEF4;
  border-radius: 5px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.box:before, .box:after {
  content: '';
  position: absolute;
  top: -8px;
  width: 2px;
  height: calc(100% + 16px);
  background-color: #66B2B2;
}

.box:before {
  left: 8px;
}

.box:after {
  right: 8px;
}

.box p {
  margin: 0;
  padding: 0;
  color: #36454F;
}

table {
  width: 100%;
  border-collapse: collapse;
  margin: 2em 0;
  border: 1px solid #D3D3D3;
  border-radius: 5px;
  overflow: hidden;
}

table th, table td {
  padding: 10px 15px;
  border: 1px solid #E0E0E0;
  text-align: left;
  vertical-align: top;
  white-space: normal;
  word-break: break-word;
  color: #36454F;
}

table th {
  font-weight: bold;
  background-color: #F0F0F0;
  color: #2F4F4F;
}

/* ========================================================= */
/* カテゴリページ（スマホ向けレイアウト調整 - サムネ＆記事本文横並び確定版） */
/* ========================================================= */

@media (max-width: 768px) { /* タブレットとスマホの境界線 */

    /* アーカイブヘッダー（カテゴリ名表示部分） */
    .archive-header-category {
        padding: 15px 10px;
        margin-bottom: 15px;
    }

    .archive-heading {
        font-size: 1.8em;
        padding: 0;
        margin: 0;
        text-align: center;
    }

    /* 記事リスト全体 */
    .archive-entries {
        padding: 0 10px;
        display: block;
    }

    /* 各記事カードの基本設定 */
    .archive-entry {
        display: flex;
        flex-direction: column; /* 要素を上から下に縦積みに並べる */
        margin-bottom: 25px;
        border: 1px solid #eee;
        border-radius: 8px;
        overflow: hidden;
        background-color: #fff;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        padding-bottom: 10px; /* カード下部の余白 */
    }

    /* 日付とタイトルを含むヘッダー部分 */
    .archive-entry-header {
        padding: 10px 15px 5px;
        text-align: left;
    }

    .date.archive-date {
        font-size: 0.8em;
        margin-bottom: 3px;
        color: #777;
    }

    .entry-title {
        font-size: 1.1em;
        line-height: 1.3;
        margin-bottom: 5px;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2; /* 2行で省略 */
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .entry-title-link {
        display: block;
        color: #333;
        text-decoration: none;
    }

    /* カテゴリリンク */
    .categories {
        display: flex;
        flex-wrap: wrap;
        padding: 0 15px 10px;
        margin-top: 0;
        border-bottom: 1px solid #eee;
        margin-bottom: 10px;
    }

    .archive-category-link {
        font-size: 0.75em;
        padding: 3px 7px;
        margin-right: 5px;
        margin-bottom: 5px;
        border-radius: 3px;
        background-color: #e0f2f7;
        color: #007bff;
        text-decoration: none;
        white-space: nowrap;
    }

    /* === archive-entry-body (サムネイルと本文の親要素を含む) === */
    .archive-entry-body {
        display: flex;
        flex-direction: column; /* 子要素を縦に並べる (サムネ+本文のラッパー、タグ、スター) */
        padding: 0 15px; /* 左右のパディング */
    }

    /* === ★サムネイルと記事冒頭を横並びにするラッパー★ === */
    .thumbnail-and-description-wrapper {
        display: flex; /* このラッパーの子要素（サムネイルと記事本文）を横並びにする */
        align-items: flex-start; /* 上端揃え */
        margin-bottom: 10px; /* 下のタグとの間の余白 */
    }

    /* サムネイルのリンク (サイズ変更なし、flexアイテムとしての調整) */
    .entry-thumb-link {
        flex: 0 0 100px; /* サムネイルの固定幅 (例: 100px) */
        height: 63px; /* 100pxに対して12:6.3の比率 */
        border-radius: 4px; /* 角丸 */
        overflow: hidden;
        margin-right: 10px; /* 本文との間隔 */
        display: block; /* Flexアイテムとしてもblockとして振る舞う */
    }
    
    .entry-thumb {
        width: 100%;
        height: 100%;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    /* 記事本文のスタイル (サムネイルの隣) */
    .entry-description {
        flex: 1; /* 残りのスペースを全て占める */
        font-size: 0.9em;
        line-height: 1.5;
        margin-bottom: 0; /* 親要素のmargin-bottomで調整 */
        color: #555;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 4; /* 4行で省略（必要に応じて調整） */
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* === タグのスタイル（単独行） === */
    .archive-entry-tags-wrapper {
        display: block; /* 明示的にブロック要素 */
        padding: 0;
        border-top: 1px solid #eee;
        margin-top: 10px;
        margin-bottom: 10px;
    }

    .archive-entry-tags {
        display: flex;
        flex-wrap: wrap;
        padding: 5px 0;
        margin-top: 0;
    }

    .archive-entry-tag {
        margin-right: 5px;
        margin-bottom: 5px;
    }

    .archive-entry-tag-link {
        font-size: 0.75em;
        padding: 3px 7px;
        border: 1px solid #ddd;
        border-radius: 3px;
        color: #666;
        text-decoration: none;
        white-space: nowrap;
    }
} /* close @media */
/* ame-kurage-override-v1 */
:root{--c-primary:#1e3a5f;--c-accent:#4a90d9;--c-text:#2c3e50;--c-bg:#f0f4f8;--c-nav:#0d2137}
html,body{color:var(--c-text);background-color:var(--c-bg)}
a{color:#1565c0}a:hover{color:var(--c-accent);text-decoration:underline}a.keyword{color:var(--c-text)}
h1,h2,h3,h4,h5,h6{color:var(--c-primary)}
h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{color:var(--c-primary)}
h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover,h6 a:hover{color:var(--c-accent)}
#gnav{background-color:var(--c-nav)}
#gnav .menu a:hover{background-color:var(--c-accent)}
.entry-title{color:var(--c-primary)}
.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6{color:var(--c-primary)}
.entry-content h1{border-bottom-color:var(--c-accent)}
.entry-content h2{border-left-color:var(--c-accent)}
.entry-content h3{background:var(--c-primary);color:#fff!important;padding:8px 16px;border-radius:4px}
.entry-content h4{border-left-color:var(--c-primary);color:var(--c-primary)}
.entry-content blockquote{border-left-color:var(--c-accent)}
.entry-content blockquote:before{color:var(--c-accent)}
.entry-content table th{color:var(--c-primary)}
.categories a{color:var(--c-accent);border-color:var(--c-accent)}
.categories a:hover{background-color:var(--c-accent)}
.categories a:before{color:var(--c-accent)}
.date:before,.date a{color:var(--c-accent)}.date a:hover{color:var(--c-primary)}
.entry-see-more{background-color:var(--c-primary)!important}
.entry-see-more:hover{background-color:var(--c-accent)!important}
.hatena-module-title,.hatena-module-title a{color:var(--c-primary)}
.comment-user-name{color:var(--c-primary)}
.comment-metadata,.comment-metadata a{color:var(--c-accent)}
.leave-comment-title{color:var(--c-primary)}
.entry-footer-section,.entry-footer-section a{color:var(--c-primary)}
.breadcrumb-link:before{color:var(--c-primary)}
@media screen and (max-width:768px){.header-image-enable #blog-title{display:block!important}.header-image-enable #blog-title #blog-title-inner{height:80px!important;background-size:cover!important;background-position:center center!important}.header-image-enable #blog-title #title a{font-size:1.0em;color:#fff;text-shadow:0 0 16px rgba(0,0,0,.85)}}
ul.table-of-contents{background:#f0f4fb;border:1px solid var(--c-accent);border-left:4px solid var(--c-accent);border-radius:8px;padding:14px 20px 14px 32px;margin:24px 0}
ul.table-of-contents a{color:#1565c0!important}
ul.table-of-contents a:hover{color:var(--c-accent)!important;text-decoration:underline}
.scroll-reveal{animation:akReveal .6s cubic-bezier(.4,0,.2,1) both}@keyframes akReveal{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.scroll-reveal{animation:none!important}}
.scroll-reveal.is-visible{opacity:1;transform:translateY(0)}
#gnav.scrolled{box-shadow:0 2px 12px rgba(0,0,0,.35);transition:box-shadow .3s}
/* ─── ブログタイトル背景 #66B2B2 ─── */
#blog-title,
#blog-title-inner,
.header-image-enable #blog-title,
.header-image-enable #blog-title-inner {
  background: #0d2137 !important;
  background-image: none !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 14px 1.2em !important;
  display: block !important;
}
#blog-title #title, #blog-title-inner #title { padding:0; margin:0; line-height:1.35; }
#blog-title #title a, #blog-title h1 a,
.header-image-enable #blog-title #title a {
  color: #fff !important;
  text-shadow: none !important;
  font-size: 1.3rem;
  font-weight: bold;
  text-decoration: none;
}
#blog-description, #blog-title #blog-description {
  background: #14304a !important;
  color: rgba(255,255,255,0.9) !important;
  padding: 0.3em 1.2em 0.55em !important;
  margin: 0 !important;
  font-size: 0.85em;
}
/* ─── 記事タイトル・本文のみ80%（目次・リンクは通常サイズ）─── */
.entry-title { font-size: 1.44rem !important; line-height: 1.35; }
.entry-title a { font-size: 1em !important; }
.entry-content { font-size: 14.4px; }
.entry-content p, .entry-content li, .entry-content td, .entry-content th,
.entry-content dd, .entry-content dt { font-size: 14.4px !important; }
.entry-content ul.table-of-contents { font-size: 1rem; }
.entry-content ul.table-of-contents a { font-size: 1em; }
/* ─── 太字に水色アンダーライン ─── */
.entry-content strong, .entry-content b {
  text-decoration: underline;
  text-decoration-color: #66B2B2;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
  font-weight: bold;
}
/* ─── リンク色修正（詳細度強化）─── */
#main a, #box1 a, .entry a, .entry-content a,
.entry-title a, .breadcrumb a, .pager a {
  color: #1565c0 !important;
}
#main a:hover, #box1 a:hover, .entry a:hover, .entry-content a:hover {
  color: var(--c-accent) !important;
  text-decoration: underline;
}
.entry-content a:visited { color: #5c35a3 !important; }

/* ─── 続きを読む 白抜き ─── */
#main .entry-see-more, #main a.entry-see-more,
.entry a.entry-see-more, .archive-entry .entry-see-more,
.entry-see-more, .entry-see-more:link, .entry-see-more:visited {
  color: #fff !important;
}

/* ak-extra-v2 */
.hatena-module-title { font-size: 1.15rem !important; }
#gnav { position: relative; }
#gnav::before {
  content: "";
  position: absolute;
  top: 0; left: 50%;
  transform: translateX(-50%);
  width: 60%; height: 1px;
  background: rgba(255,255,255,0.85);
  border-radius: 2px;
  z-index: 5; pointer-events: none;
}

/* ak-extra-v3 */
.entry-content h2 { font-size: 22px !important; }
.entry-content h3 { font-size: 20.8px !important; }
.entry-content h4 { font-size: 1.15rem !important; }
.entry-category-link, .categories a, .entry-tags a { padding-left: 22px !important; }

/* ak-pager-flat */
.pager-next a{background:transparent!important;background-color:transparent!important;box-shadow:none!important;}

/* ak-archive-card v1 */
.archive-entry{border-bottom:1px solid #dfe6ee;padding:18px 4px;}
.archive-entry .entry-thumb{background-size:cover!important;background-position:center!important;border-radius:8px;}
.archive-entry .entry-title{margin:0;}
.archive-entry .archive-entry-tags-wrapper{display:none;}
.archive-entry .social-buttons{display:none!important;}
.archive-entry .entry-description{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
@media (min-width:620px){
  .archive-entry{display:grid!important;grid-template-columns:210px 1fr;grid-template-areas:"thumb header" "thumb cats" "thumb body";grid-template-rows:auto auto 1fr;column-gap:20px;row-gap:8px;align-items:start;}
  .archive-entry>.entry-thumb-link{grid-area:thumb;align-self:start;}
  .archive-entry>.archive-entry-header{grid-area:header;display:flex;flex-direction:column-reverse;align-items:flex-start;gap:6px;}
  .archive-entry>.categories{grid-area:cats;margin:0;}
  .archive-entry>.archive-entry-body{grid-area:body;}
  .archive-entry .entry-thumb{width:210px!important;height:140px!important;}
  .archive-entry .entry-title{font-size:1.25rem;line-height:1.4;}
  .archive-entry .date.archive-date{font-size:.78rem;}
  .archive-entry .entry-description{font-size:.82rem;color:#555;line-height:1.6;}
}
@media (max-width:619px){
  .archive-entry{display:grid!important;grid-template-columns:96px 1fr;grid-template-areas:"thumb header";column-gap:12px;align-items:start;padding:12px 2px;}
  .archive-entry>.entry-thumb-link{grid-area:thumb;}
  .archive-entry>.archive-entry-header{grid-area:header;display:flex;flex-direction:column-reverse;gap:5px;}
  .archive-entry>.categories{display:none!important;}
  .archive-entry>.archive-entry-body{display:none!important;}
  .archive-entry .entry-thumb{width:96px!important;height:96px!important;min-height:0;}
  .archive-entry .entry-title{font-size:.9rem;line-height:1.35;}
  .archive-entry .date.archive-date{font-size:.68rem;color:#999;}
}
@media (max-width:559px){
  #blog-title #title a, #blog-title h1 a, .header-image-enable #blog-title #title a{font-size:3.7vw!important;white-space:nowrap;}
  #blog-title #title{white-space:nowrap;overflow:hidden;}
}

/* ak-mobile-tighten */
@media (max-width:619px){
  .archive-entry{align-items:center!important;}
  .archive-entry>.archive-entry-header{margin:0!important;padding:0!important;justify-content:center!important;}
  .archive-entry .entry-title{margin:0!important;}
  .archive-entry .entry-title a{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
}

/* ak-card-v2 */
.archive-entry{position:relative;}
.archive-entry-header{display:flex;flex-direction:column;}
.archive-entry-header .ak-badges{order:0;}
.archive-entry-header .entry-title{order:1;}
.archive-entry-header .date.archive-date{order:2;}
.ak-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;}
.ak-badge{display:inline-block;font-size:.7rem;font-weight:bold;padding:3px 10px;border-radius:5px;line-height:1.4;color:#fff;}
.ak-badge-new{background:#e8453c;}
.ak-badge-popular{background:#ff9900;}
.ak-badge-series{background:#1565c0;}
.ak-date-badge{position:absolute;top:10px;right:10px;background:rgba(13,33,55,.82);color:#fff;font-size:.78rem;font-weight:bold;padding:4px 11px;border-radius:20px;z-index:2;letter-spacing:.5px;}
@media (min-width:620px){
  .archive-entry{display:flex!important;flex-direction:column;grid-template-columns:none!important;grid-template-areas:none!important;column-gap:0!important;row-gap:0!important;border:1px solid #e3e9f0;border-radius:12px;background:#fff;padding:18px;margin-bottom:22px;box-shadow:0 2px 8px rgba(0,0,0,.05);}
  .archive-entry>.archive-entry-header{order:1;display:flex!important;flex-direction:column;align-items:flex-start;gap:4px;}
  .archive-entry>.entry-thumb-link{order:2;position:relative;align-self:stretch!important;margin:12px 0;}
  .archive-entry>.archive-entry-body{order:3;}
  .archive-entry>.categories{order:4;margin-top:10px;}
  .archive-entry-header .entry-title{font-size:1.3rem!important;line-height:1.45;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .archive-entry-header .date.archive-date{display:none!important;}
  .archive-entry .entry-thumb{width:100%!important;height:280px!important;border-radius:10px;}
  .archive-entry .entry-description{font-size:.9rem;color:#555;line-height:1.7;-webkit-line-clamp:3;}
  .archive-entry .ak-date-badge{display:block;}
}
@media (max-width:619px){
  .archive-entry>.archive-entry-header{flex-direction:column!important;}
  .archive-entry .ak-date-badge{display:none!important;}
  .archive-entry-header .ak-badges{margin-bottom:4px;}
  .archive-entry-header .entry-title{order:1;}
  .archive-entry-header .date.archive-date{order:2;}
}

/* ak-popular-style */
@media (min-width:620px){.ak-popular-entry{border-color:#ffcc80!important;box-shadow:0 2px 10px rgba(255,153,0,.12)!important;}}



/* ak-hide-old-amz */
#amz-sticky{display:none!important;}

/* ak-restyle-v1 : やわらかい青系に統一 + Amazonカード統合 */
.archive-entry{border-radius:18px!important;border:1px solid #e6eef8!important;box-shadow:0 4px 18px rgba(40,90,160,.07)!important;}
.archive-entry .entry-thumb{border-radius:12px!important;}
.ak-popular-entry{border-color:#bcd7f0!important;box-shadow:0 4px 18px rgba(40,110,190,.12)!important;}
.categories a,.archive-category-link,.entry-category-link,.entry-tag-link{border-radius:20px!important;background:#eef4fb!important;border:1px solid #d6e4f3!important;color:#1565c0!important;}
.entry-see-more,.pager a{border-radius:24px!important;}
ul.table-of-contents{border-radius:14px!important;}
.entry-content h3{border-radius:10px!important;}
.hatena-module-title{border-bottom:2px solid #eef4fb;padding-bottom:7px;}
.akp-nav{background:#eef4fb!important;border:1px solid #d6e4f3!important;border-radius:16px!important;box-shadow:0 3px 12px rgba(40,90,160,.06)!important;}
.akp-nav .akp-label{color:#173a63!important;}
.akp-nav a.akp-cta{background:#1565c0!important;color:#fff!important;border-radius:22px!important;box-shadow:0 2px 8px rgba(21,101,192,.28);}
.akp-nav a.akp-chip{background:#fff!important;border:1px solid #d6e4f3!important;color:#173a63!important;}
.akp-side .akp-side-list a{background:#f5f9fe!important;border:1px solid #e0eaf7!important;color:#173a63!important;border-radius:12px!important;}
.akp-side .akp-side-list a.akp-hot{background:#e4f0fb!important;border-color:#4a90d9!important;}
#akp-pop{background:linear-gradient(90deg,#0d2137,#1c4576)!important;}
#akp-pop a.akp-pop-btn{background:#4a90d9!important;color:#0d2137!important;border-radius:22px!important;}
.ak-item{display:flex;gap:14px;align-items:center;border:1px solid #e6eef8;border-radius:16px;padding:14px;margin:22px 0;background:#fbfdff;box-shadow:0 3px 12px rgba(40,90,160,.06);}
.ak-item img{width:108px;height:108px;object-fit:contain;border-radius:10px;background:#fff;flex-shrink:0;}
.ak-item .ak-item-body{flex:1;min-width:0;}
.ak-item .ak-item-pr{font-size:10px;color:#aaa;display:block;margin-bottom:3px;letter-spacing:1px;}
.ak-item .ak-item-name{font-weight:bold;color:#173a63;font-size:.95rem;line-height:1.45;margin:0 0 6px;}
.ak-item .ak-item-price{color:#e8453c;font-weight:bold;font-size:1rem;margin:0 0 10px;}
.ak-item a.ak-item-btn{display:inline-block;background:#1565c0;color:#fff!important;font-weight:bold;font-size:.85rem;padding:9px 20px;border-radius:22px;text-decoration:none;}
@media(max-width:480px){.ak-item{padding:10px;gap:10px;}.ak-item img{width:82px;height:82px;}}

/* ak-portal-v1 : au Webポータル風レイアウト */
:root{--pt-blue:#1565c0;--pt-navy:#0d2137;--pt-line:#e3e9f0;--pt-soft:#f3f6fa;--pt-muted:#7a8b9c;}
/* 既存ナビ・タイトル帯を置き換え */
body.ak-portal #gnav{display:none!important;}
body.ak-portal #blog-title{background:#fff!important;padding:0!important;border-bottom:1px solid var(--pt-line)!important;}
body.ak-portal #blog-title-inner{background:#fff!important;padding:0!important;}
body.ak-portal #blog-description{display:none!important;}
body.ak-portal #blog-title #title a{color:var(--pt-navy)!important;font-size:1.15rem!important;}
/* ヘッダー */
.pt-head{display:flex;align-items:center;justify-content:space-between;gap:12px;
  max-width:1000px;margin:0 auto;padding:12px 16px;}
.pt-head .pt-logo{font-weight:700;font-size:1.15rem;color:var(--pt-navy);text-decoration:none;letter-spacing:.01em;}
.pt-burger{background:none;border:none;padding:6px 8px;cursor:pointer;line-height:1;color:var(--pt-navy);font-size:22px;}
/* 検索 */
.pt-searchwrap{background:#fff;border-bottom:1px solid var(--pt-line);}
.pt-search{max-width:1000px;margin:0 auto;padding:10px 16px 12px;display:flex;gap:0;}
.pt-search input{flex:1;min-width:0;border:1px solid var(--pt-line);border-right:none;border-radius:8px 0 0 8px;
  padding:11px 14px;font-size:14px;background:var(--pt-soft);color:inherit;font-family:inherit;}
.pt-search input:focus{outline:2px solid var(--pt-blue);outline-offset:-2px;background:#fff;}
.pt-search button{border:none;background:var(--pt-blue);color:#fff;font-weight:700;font-size:14px;
  padding:0 22px;border-radius:0 8px 8px 0;cursor:pointer;white-space:nowrap;}
/* カテゴリタブ */
.pt-tabs{background:#fff;border-bottom:1px solid var(--pt-line);}
.pt-tabs-inner{max-width:1000px;margin:0 auto;display:flex;gap:0;overflow-x:auto;padding:0 8px;
  scrollbar-width:none;-ms-overflow-style:none;}
.pt-tabs-inner::-webkit-scrollbar{display:none;}
.pt-tab{flex:0 0 auto;border:none;background:none;font-family:inherit;font-size:14px;font-weight:700;
  color:var(--pt-muted);padding:13px 17px;cursor:pointer;white-space:nowrap;position:relative;
  border-bottom:3px solid transparent;transition:color .15s;}
.pt-tab:hover{color:var(--pt-navy);}
.pt-tab.on{color:var(--pt-blue);border-bottom-color:var(--pt-blue);}
/* ドロワー */
.pt-drawer{position:fixed;inset:0;z-index:2147483000;visibility:hidden;opacity:0;transition:opacity .22s,visibility .22s;}
.pt-drawer.open{visibility:visible;opacity:1;}
.pt-drawer .pt-scrim{position:absolute;inset:0;background:rgba(13,33,55,.5);}
.pt-drawer .pt-panel{position:absolute;top:0;right:0;bottom:0;width:min(300px,84vw);background:#fff;
  box-shadow:-4px 0 24px rgba(0,0,0,.18);transform:translateX(100%);transition:transform .26s cubic-bezier(.4,0,.2,1);
  overflow-y:auto;padding:16px 0;}
.pt-drawer.open .pt-panel{transform:translateX(0);}
.pt-panel .pt-ptitle{font-size:11px;letter-spacing:.12em;color:var(--pt-muted);font-weight:700;padding:8px 20px;}
.pt-panel a{display:block;padding:12px 20px;color:var(--pt-navy)!important;text-decoration:none;font-size:14.5px;font-weight:500;border-bottom:1px solid var(--pt-soft);}
.pt-panel a:hover{background:var(--pt-soft);}
.pt-panel .pt-close{position:absolute;top:10px;right:12px;background:none;border:none;font-size:22px;cursor:pointer;color:var(--pt-muted);}
/* 記事カード（一覧） */
body.ak-portal .archive-entry{border:1px solid var(--pt-line)!important;border-radius:12px!important;
  background:#fff!important;box-shadow:none!important;padding:0!important;margin:0!important;overflow:hidden;
  display:grid!important;grid-template-areas:"thumb" "head" "cats"!important;grid-template-columns:1fr!important;
  transition:box-shadow .18s;}
body.ak-portal .archive-entry:hover{box-shadow:0 4px 16px rgba(21,101,192,.13)!important;}
body.ak-portal .archive-entry>.entry-thumb-link{grid-area:thumb;display:block;margin:0!important;position:relative;}
body.ak-portal .archive-entry .entry-thumb{width:100%!important;height:0!important;padding-bottom:56.25%!important;
  border-radius:0!important;background-size:cover!important;background-position:center!important;}
body.ak-portal .archive-entry>.archive-entry-header{grid-area:head;display:flex!important;flex-direction:column!important;
  gap:7px!important;padding:12px 13px 13px!important;}
body.ak-portal .archive-entry .entry-title{order:1;font-size:.95rem!important;line-height:1.5!important;margin:0!important;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
body.ak-portal .archive-entry .entry-title a{color:var(--pt-navy)!important;font-weight:700;}
body.ak-portal .archive-entry .ak-badges{order:0;margin:0!important;}
body.ak-portal .archive-entry .date.archive-date{order:2;display:block!important;font-size:.72rem!important;color:var(--pt-muted)!important;margin:0!important;}
body.ak-portal .archive-entry .date.archive-date a{color:var(--pt-muted)!important;}
body.ak-portal .archive-entry>.categories{grid-area:cats;display:flex!important;flex-wrap:wrap;gap:5px;
  margin:0!important;padding:0 13px 13px!important;align-content:start;}
body.ak-portal .archive-entry>.categories a{font-size:.68rem!important;padding:2px 9px!important;background:var(--pt-soft)!important;
  border:1px solid var(--pt-line)!important;border-radius:99px!important;color:var(--pt-blue)!important;}
body.ak-portal .archive-entry>.archive-entry-body{display:none!important;}
body.ak-portal .archive-entry .ak-date-badge{display:none!important;}
/* グリッド */
body.ak-portal .archive-entries,body.ak-portal .archive-entries.js-archive-entries{display:grid;gap:14px;}
@media(min-width:700px){
  body.ak-portal .archive-entries{grid-template-columns:repeat(3,1fr);}
  body.ak-portal .ak-list-ad,body.ak-portal .pt-full{grid-column:1/-1;}
}
@media(max-width:699px){
  body.ak-portal .archive-entries{grid-template-columns:1fr;}
  body.ak-portal .archive-entry{grid-template-areas:"thumb head" "thumb cats"!important;grid-template-columns:118px 1fr!important;grid-template-rows:auto 1fr!important;align-items:start;}
  body.ak-portal .archive-entry .entry-thumb{padding-bottom:0!important;height:100%!important;min-height:92px!important;}
  body.ak-portal .archive-entry>.entry-thumb-link{height:100%;}
  body.ak-portal .archive-entry>.archive-entry-header{padding:10px 12px 4px!important;}
  body.ak-portal .archive-entry>.categories{padding:0 12px 10px!important;}
  body.ak-portal .archive-entry .entry-title{font-size:.88rem!important;-webkit-line-clamp:3;}
}
body.ak-portal .ak-list-ad{border:1px solid var(--pt-line)!important;border-radius:12px!important;background:#fff!important;padding:14px!important;margin:0!important;}
body.ak-portal .pt-loading{grid-column:1/-1;text-align:center;padding:34px 0;color:var(--pt-muted);font-size:14px;}
/* 記事ページ */
body.ak-portal.page-entry .entry{border:1px solid var(--pt-line);border-radius:14px;}
body.ak-portal.page-entry .entry-title{font-size:1.5rem!important;line-height:1.5!important;}

/* ak-portal-hidetitle */
body.ak-portal #blog-title,body.ak-portal #blog-title-inner{display:none!important;}

/* ak-portal-entry : 記事ページ + 微調整 */
body.ak-portal .archive-entry .date.archive-date:empty{display:none!important;}
body.ak-portal .archive-entry .date.archive-date:empty:before{content:none!important;}
/* 記事ページ */
body.ak-portal.page-entry #main .entry{background:#fff;border:1px solid var(--pt-line);border-radius:14px;padding:22px 24px;}
body.ak-portal.page-entry .entry-header{border-bottom:1px solid var(--pt-line);padding-bottom:14px;margin-bottom:18px;}
body.ak-portal.page-entry .entry-title{font-size:1.55rem!important;line-height:1.55!important;margin:0 0 10px!important;}
body.ak-portal.page-entry .entry-title a{color:var(--pt-navy)!important;}
body.ak-portal.page-entry .entry-header .date{font-size:.78rem!important;color:var(--pt-muted)!important;}
body.ak-portal.page-entry .entry-categories,body.ak-portal.page-entry .entry-header .categories{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
body.ak-portal.page-entry .entry-content{line-height:1.95;}
/* 関連記事 */
.pt-rel{margin:28px 0 8px;}
.pt-rel h2{font-size:1.05rem;color:var(--pt-navy);margin:0 0 14px;padding-left:11px;border-left:4px solid var(--pt-blue);line-height:1.4;}
.pt-rel-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));}
.pt-rel-card{border:1px solid var(--pt-line);border-radius:12px;overflow:hidden;background:#fff;text-decoration:none;display:block;transition:box-shadow .18s;}
.pt-rel-card:hover{box-shadow:0 4px 16px rgba(21,101,192,.13);}
.pt-rel-card .pt-rel-thumb{width:100%;height:0;padding-bottom:56.25%;background-size:cover;background-position:center;background-color:var(--pt-soft);}
.pt-rel-card .pt-rel-body{padding:10px 11px 12px;}
.pt-rel-card .pt-rel-t{font-size:.85rem;font-weight:700;color:var(--pt-navy)!important;line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.pt-rel-card .pt-rel-d{font-size:.7rem;color:var(--pt-muted);margin-top:6px;}
@media(max-width:520px){.pt-rel-grid{grid-template-columns:1fr 1fr;gap:10px;}}

/* ak-portal-v2 : 情報密度アップ + サムネ比率修正(1200:630) */
body.ak-portal .archive-entry .entry-thumb{
  width:100%!important;height:auto!important;padding-bottom:0!important;
  aspect-ratio:1200/630;min-height:0!important;}
.pt-head,.pt-search,.pt-tabs-inner{max-width:960px;}
@media(min-width:1260px){
  .pt-head,.pt-search,.pt-tabs-inner{max-width:1200px;}
  body.ak-portal #container,body.ak-portal #container-inner,
  body.ak-portal #content,body.ak-portal #content-inner{width:1200px!important;}
  body.ak-portal #wrapper{flex:1 1 auto!important;width:auto!important;min-width:0!important;}
  body.ak-portal #main,body.ak-portal #main-inner{width:auto!important;min-width:0!important;}
  body.ak-portal #box2{flex:0 0 274px!important;}
}
body.ak-portal .archive-entries{gap:16px 14px!important;}
body.ak-portal .archive-entry>.archive-entry-header{padding:10px 11px 5px!important;gap:5px!important;}
body.ak-portal .archive-entry>.categories{padding:0 11px 10px!important;gap:4px!important;}
body.ak-portal .archive-entry .entry-title{font-size:1rem!important;line-height:1.5!important;-webkit-line-clamp:3;}
body.ak-portal .archive-entry .date.archive-date{font-size:.78rem!important;}
body.ak-portal .archive-entry .ak-badges{gap:4px!important;}
body.ak-portal .archive-entry .ak-badge{font-size:.64rem!important;padding:2px 8px!important;}
body.ak-portal .archive-entry>.categories a:nth-child(n+3){display:none!important;}
@media(max-width:699px){
  body.ak-portal .archive-entry{grid-template-columns:132px 1fr!important;}
  body.ak-portal .archive-entry>.entry-thumb-link{height:auto!important;align-self:start;}
  body.ak-portal .archive-entry .entry-thumb{aspect-ratio:1200/630;height:auto!important;min-height:0!important;}
  body.ak-portal .archive-entry .entry-title{font-size:.9rem!important;-webkit-line-clamp:3;}
  body.ak-portal .archive-entries{gap:10px!important;}
}

/* ak-smile : 一覧内のAmazonセールPRカード */
.ak-smile{border:1px solid var(--pt-line,#e3e9f0);border-radius:12px;overflow:hidden;background:#fff;
  display:flex;flex-direction:column;transition:box-shadow .18s;}
.ak-smile:hover{box-shadow:0 4px 16px rgba(255,153,0,.22);}
.ak-smile .ak-smile-img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;}
.ak-smile .ak-smile-body{padding:10px 11px 12px;}
.ak-smile .ak-smile-pr{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.08em;
  color:#fff;background:#9a9a9a;padding:1px 7px;border-radius:3px;margin-bottom:5px;}
.ak-smile .ak-smile-t{font-size:.92rem;font-weight:700;color:#173a63;line-height:1.45;}
.ak-smile .ak-smile-d{font-size:.72rem;color:#8298ad;margin-top:5px;}
.ak-smile .ak-smile-btn{display:block;margin-top:9px;background:#FF9900;color:#0F1111;font-weight:700;
  font-size:.8rem;text-align:center;padding:8px 0;border-radius:20px;text-decoration:none;}
@media(max-width:699px){
  .ak-smile{flex-direction:row;align-items:center;}
  .ak-smile .ak-smile-img{width:132px;flex-shrink:0;}
  .ak-smile .ak-smile-body{flex:1;min-width:0;}
}


/* ===== ak-header-dark-v1 : ヘッダーを濃紺+白文字に ===== */
.pt-head{background:#14304A !important;border-bottom:1px solid #14304A !important;}
.pt-head .pt-logo,.pt-head .pt-logo *{color:#FFFFFF !important;}
.pt-head .pt-logo:hover{color:#FFD79A !important;}
.pt-head a{color:#FFFFFF !important;}
.pt-head button,.pt-head svg,.pt-head i{color:#FFFFFF !important;fill:#FFFFFF !important;}
.pt-head span{color:#FFFFFF !important;}
/* ===== /ak-header-dark-v1 ===== */


/* ===== ak-sale-banner-v1 ===== */
.ak-sale-wrap{margin:0 0 18px;}
.ak-sale-pr{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.08em;color:#6B7C8A;background:#EDF1F5;border-radius:4px;padding:1px 7px;margin:0 0 6px 2px;}
.ak-sale-banner{display:block;line-height:0;border-radius:12px;overflow:hidden;box-shadow:0 2px 10px rgba(20,48,74,.16);transition:opacity .2s,transform .2s;}
.ak-sale-banner img{width:100%;height:auto;display:block;}
.ak-sale-banner:hover{opacity:.93;transform:translateY(-1px);}
/* ===== /ak-sale-banner-v1 ===== */


/* ===== ak-sale-size-v2 : バナーを小さく、記事一覧をファーストビューに入れる ===== */
.ak-sale-wrap{max-width:640px;margin:0 auto 16px;}
.ak-sale-pr{margin-left:0;}
@media(max-width:768px){.ak-sale-wrap{max-width:100%;}}
/* ===== /ak-sale-size-v2 ===== */


/* ===== ak-sale-side-v3 ===== */
.ak-sale-side{display:block;text-decoration:none;border-radius:10px;overflow:hidden;background:#14304A;box-shadow:0 2px 8px rgba(20,48,74,.18);}
.ak-sale-side img{width:100%;height:auto;display:block;}
.ak-sale-side-txt{display:block;padding:12px 12px 14px;text-align:center;}
.ak-sale-side-txt b{display:block;color:#fff;font-size:13px;font-weight:700;line-height:1.5;}
.ak-sale-side-txt em{display:block;color:#FFD79A;font-size:11.5px;font-style:normal;margin-top:2px;}
.ak-sale-side-btn{display:block;margin-top:10px;background:#E5901E;color:#fff;font-size:13px;font-weight:700;border-radius:999px;padding:8px 0;}
.ak-sale-side:hover .ak-sale-side-btn{background:#CF7F12;}
/* ===== /ak-sale-side-v3 ===== */


/* ===== ak-list-card-v5 : 一覧内広告を記事カードと同じ１枚分に ===== */
.archive-entries .ak-list-ad{grid-column:auto !important;background:#fff;border:1px solid #E3E9F0;border-radius:12px;padding:12px;overflow:hidden;display:flex;flex-direction:column;min-height:313px;box-sizing:border-box;}
.archive-entries .ak-list-ad>div:first-child{font-size:11px !important;color:#8699A8 !important;letter-spacing:.04em;text-align:left;margin:0 0 8px !important;font-weight:500;}
.archive-entries .ak-list-ad ins.adsbygoogle{display:block !important;width:100% !important;flex:1 1 auto;min-height:250px;}
@media(max-width:768px){.archive-entries .ak-list-ad{min-height:0;}}
/* ===== /ak-list-card-v5 ===== */


/* ===== ak-list-mobile-v6 ===== */
.ak-mob-card{display:block;text-decoration:none;border-radius:10px;overflow:hidden;background:#14304A;}
.ak-mob-card img{width:100%;height:auto;display:block;}
.ak-mob-txt{display:block;padding:12px 12px 14px;text-align:center;}
.ak-mob-txt b{display:block;color:#FFD79A;font-size:13px;font-weight:700;}
.ak-mob-txt em{display:block;color:#fff;font-size:12px;font-style:normal;margin-top:3px;}
.ak-mob-btn{display:block;margin-top:10px;background:#E5901E;color:#fff;font-size:14px;font-weight:700;border-radius:999px;padding:9px 0;}
/* ===== /ak-list-mobile-v6 ===== */


/* ===== ak-polish-v8 ===== */
/* 1. サムネイルの左寄りを修正 */
.archive-entries .entry-thumb{margin:0 !important;width:100% !important;}
.archive-entries .entry-thumb-link{display:block;width:100%;overflow:hidden;}
/* 2. ホバーでの動き */
.archive-entries .archive-entry{transition:transform .22s ease, box-shadow .22s ease;}
.archive-entries .archive-entry:hover{transform:translateY(-3px);box-shadow:0 10px 26px -12px rgba(20,48,74,.38);}
.archive-entries .entry-thumb{transition:transform .45s ease;}
.archive-entries .archive-entry:hover .entry-thumb{transform:scale(1.05);}
/* 3. バッジのアニメーション */
@keyframes ak-pop{0%{transform:scale(.8);opacity:0}60%{transform:scale(1.08)}100%{transform:scale(1);opacity:1}}
@keyframes ak-pulse{0%,70%,100%{box-shadow:0 0 0 0 rgba(232,90,60,.5)}35%{box-shadow:0 0 0 7px rgba(232,90,60,0)}}
@keyframes ak-shine{0%{background-position:-120% 0}100%{background-position:220% 0}}
.ak-badge{animation:ak-pop .5s cubic-bezier(.34,1.56,.64,1) both;}
.ak-badge-popular{animation:ak-pop .5s cubic-bezier(.34,1.56,.64,1) both, ak-pulse 3s ease-out 1.2s infinite;}
.ak-badge-new{position:relative;overflow:hidden;}
.ak-badge-new::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.7) 50%,transparent 60%);background-size:220% 100%;animation:ak-shine 3.4s ease-in-out 1.6s infinite;}
.archive-entry:nth-child(2) .ak-badge{animation-delay:.08s}
.archive-entry:nth-child(3) .ak-badge{animation-delay:.16s}
/* 4. 自前のセールバー */
html.ak-sale-on #akp-pop{display:none !important;}
#ak-salebar{position:fixed;left:0;right:0;bottom:0;z-index:9998;display:flex;align-items:center;gap:10px;padding:9px 14px;background:#14304A;box-shadow:0 -2px 14px rgba(0,0,0,.22);}
.ak-salebar-emoji{font-size:22px;line-height:1;flex:0 0 auto;}
.ak-salebar-txt{flex:1 1 auto;color:#fff;font-size:14px;font-weight:700;line-height:1.35;min-width:0;}
.ak-salebar-pr{display:inline-block;background:rgba(255,255,255,.18);color:#fff;font-size:10px;font-weight:700;border-radius:4px;padding:1px 6px;margin-right:6px;vertical-align:1px;}
.ak-salebar-btn{flex:0 0 auto;background:#E5901E;color:#fff !important;text-decoration:none;font-size:14px;font-weight:700;border-radius:999px;padding:9px 18px;white-space:nowrap;}
.ak-salebar-btn:hover{background:#CF7F12;}
.ak-salebar-close{flex:0 0 auto;background:none;border:0;color:#cfd8e0;font-size:18px;cursor:pointer;padding:4px 6px;line-height:1;}
@media(max-width:520px){.ak-salebar-txt{font-size:12.5px}.ak-salebar-btn{font-size:12.5px;padding:8px 12px}.ak-salebar-emoji{font-size:18px}}
@media(prefers-reduced-motion:reduce){.ak-badge,.ak-badge-popular{animation:none !important}.ak-badge-new::after{animation:none !important;display:none}.archive-entries .archive-entry,.archive-entries .entry-thumb{transition:none !important}.archive-entries .archive-entry:hover{transform:none}.archive-entries .archive-entry:hover .entry-thumb{transform:none}}
/* ===== /ak-polish-v8 ===== */


/* ===== ak-mobile-fix-v9 : スマホ（619px以下）でサムネを全幅化＋アニメ有効化 ===== */
@media (max-width:619px){
  body .archive-entries .archive-entry{display:block !important;}
  body .archive-entries .entry-thumb-link{flex:none !important;width:100% !important;height:auto !important;aspect-ratio:1200/630;margin:0 0 10px 0 !important;border-radius:10px !important;overflow:hidden !important;display:block !important;}
  body .page-archive .entry-thumb, body .archive-entries .entry-thumb{width:100% !important;height:100% !important;margin:0 !important;border-radius:0 !important;box-shadow:none !important;background-size:cover !important;background-position:center !important;}
  body .archive-entries .archive-entry-header{padding:0 12px 12px !important;}
  body .archive-entry .ak-badge{animation:ak-pop .5s cubic-bezier(.34,1.56,.64,1) both;}
  body .archive-entry .ak-badge-popular{animation:ak-pop .5s cubic-bezier(.34,1.56,.64,1) both, ak-pulse 3s ease-out 1.2s infinite;}
  body .archive-entry .ak-badge-new{position:relative;overflow:hidden;}
  body .archive-entry .ak-badge-new::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.7) 50%,transparent 60%);background-size:220% 100%;animation:ak-shine 3.4s ease-in-out 1.6s infinite;}
  body .archive-entries .archive-entry:active{transform:translateY(-2px);transition:transform .15s ease;}
}
/* アクセシビリティ：OSで「動きを減らす」設定の人には全停止（必ず最後に置く） */
@media (prefers-reduced-motion:reduce){
  body .ak-badge, body .archive-entry .ak-badge, body .archive-entry .ak-badge-popular{animation:none !important;}
  body .archive-entry .ak-badge-new::after{animation:none !important;display:none !important;}
  body .archive-entries .archive-entry, body .archive-entries .entry-thumb{transition:none !important;}
  body .archive-entries .archive-entry:hover, body .archive-entries .archive-entry:active{transform:none !important;}
  body .archive-entries .archive-entry:hover .entry-thumb{transform:none !important;}
}
/* ===== /ak-mobile-fix-v9 ===== */


/* ===== ak-aff-slots-v10 ===== */
.ak-aff-card{display:block;position:relative;}
.ak-aff-card>a{display:block;line-height:0;border-radius:8px;overflow:hidden;}
.ak-aff-card img{max-width:100%!important;width:auto;height:auto!important;display:block;margin:0 auto;}
.ak-aff-px{position:absolute!important;left:0;top:0;width:1px!important;height:1px!important;opacity:0;pointer-events:none;}
/* ===== /ak-aff-slots-v10 ===== */


/* ===== ak-label-css-v11 : ラベルをCSSで表示（生成タイミングに左右されない） ===== */
.archive-entries .ak-list-ad>div:first-child{font-size:0 !important;line-height:0 !important;}
.archive-entries .ak-list-ad>div:first-child::before{content:"スポンサーリンク";font-size:11px;line-height:1.4;color:#8699A8;letter-spacing:.04em;font-weight:500;}
@media (max-width:619px){
  .archive-entries .ak-list-ad>div:first-child::before{content:"【PR】";}
}
/* ===== /ak-label-css-v11 ===== */


/* ===== ak-blogmura-v14 ===== */
.ak-mura{margin:28px 0 8px;padding:16px 0 4px;border-top:1px solid #E3E9F0;text-align:center;}
.ak-mura-lead{font-size:12.5px;color:#6B7C8A;margin:0 0 10px;line-height:1.6;}
.ak-mura-banners{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}
.ak-mura-banners a{display:inline-block;line-height:0;opacity:.92;transition:opacity .2s,transform .2s;}
.ak-mura-banners a:hover{opacity:1;transform:translateY(-2px);}
.ak-mura-banners img{display:block;}
/* ===== /ak-blogmura-v14 ===== */
