/* <system section="theme"> */
/*@import url("/css/theme/hbm-simple-p1/style.css");*/
/* </system> */

/* <system section="background" selected="default"> */
/* default */
/* </system> */

/* PC/SP切り替え */
.pc-block {
    display: block;
}
@media only screen and (max-width: 769px) {
    .pc-block {
        display: none;
    }
}
.pc-inline {
    display: inline;
}
@media only screen and (max-width: 769px) {
    .pc-inline {
        display: none;
    }
}
.sp-block {
    display: none;
}
@media only screen and (max-width: 768px) {
    .sp-block {
        display: block;
    }
}
.sp-inline {
    display: none;
}
@media only screen and (max-width: 768px) {
    .sp-inline {
        display: inline;
    }
}


/* ---------------------
   調整css
--------------------- */
body, html {
    color: #000;
}
figure {
    margin: 30px auto;
    text-align: center;
}
figcaption {
    opacity: .7;
    margin: 0;
    font-size: 1.4rem;
}
@media (min-width: 601px) {
    figcaption {
        font-size: 1.6rem;
    }
}

/* blog-header */
@media (min-width: 769px) {
    .blog-header {
        padding-bottom: 0;
    }
}
@media (min-width: 769px) {
    .blog-header-inner {
        padding-left: 0;
        padding-right: 0;
    }
}
@media (max-width: 768px) {
    .navbar.-open {
        transform: translateY(0);
    }
}
.blog-header-navbar-list.sp-block {
    list-style: none;
    padding-left: 15px;
}
.blog-header-navbar-list.sp-block li {
    font-size: 1.4rem;
    margin-top: 12px;
}
.blog-header-navbar-list.sp-block li a {
    text-decoration: none;
}
.blog-header-navbar.pc-block .blog-header-navbar-list {
    display: flex;
    gap: 0 20px;
    justify-content: flex-end;
    list-style: none;
    margin-top: 0;
}
.blog-header-navbar.pc-block .blog-header-navbar-list li {
    font-size: 1.1rem;
}
.blog-header-navbar.pc-block .blog-header-navbar-list li a {
    color: #666;
}
.blog-title-heading img {
    max-width: 80%;
}
@media (min-width: 769px) {
    .blog-title-heading img {
        max-width: 410px;
    }
}
@media (min-width: 769px) {
    .navbar {
        background: #fff;
        box-shadow: 0 1px 2px 1px rgb(0 0 0 / 5%);
    }
}
@media (min-width: 769px) {
    .navbar-inner:before {
        content: " ";
        position: absolute;
        right: 0;
        top: 0;
        bottom: 1px;
        width: 4rem;
        background: linear-gradient(90deg,rgba(255,255,255,0) 0%,#FFFFFF 100%);
        z-index: 1;
    }
}
@media (min-width: 769px) {
    .navbar-list {
        overflow-x: scroll;
        flex-wrap: nowrap;
        justify-content: left;
        /* スクロールバー対策 */
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    /* スクロールバー対策 */
    .navbar-list::-webkit-scrollbar {  
        display: none;
    }
}
@media (min-width: 1024px) {
    .navbar-list {
        justify-content: center;
    }
}
@media (min-width: 769px) {
    .navbar-list>li {
        display: flex;
        align-items: center;
    }
}
@media (min-width: 769px) {
    .navbar-list a {
        font-size: 1.8rem;
        white-space: nowrap;
        display: inline-block;
        height: auto;
        padding: 1em 1.5em;
    }
}
.navbar-list a:hover {
    background-color: #3cab3f21;
}
.spot-news {
    background: #3BAB3F;
    text-align: center;
}
.spot-news p {
    margin-top: 0;
    padding: 8px 0;
    font-size: 14px;
}
@media (min-width: 769px) {
    .spot-news p {
        font-size: 16px;
    }
}
.spot-news a {
    text-decoration: none;
    color: #fff;
}
@media (min-width: 901px) {
    #content-inner {
        gap: 30px 60px;
        grid-template-columns: 1fr 336px;
    }
}

/* bottom-editarea */
#bottom-editarea .box-ad-banner.sp-block { /* 下部固定バナー */
    position: fixed;
    width: 320px;
    height: 50px;
    z-index: 10;
    bottom: 0;
    margin: auto;
    left: 0;
    right: 0;
}

.page-archive .archive-heading,
.hatena-module-title {
    font-size: 2.4rem;
    border-bottom: 3px solid #3BAB3F;
    margin-bottom: 1em;
    padding-bottom: 12px;
}
.page-archive .archive-heading:after,
.hatena-module-title:after {
    content: none;
}

/* hatena-module */
.urllist-date-link a {
    font-size: 1.3rem;
    color: #666;
}
@media (min-width: 601px) {
    .urllist-date-link a {
        font-size: 1.4rem;
    }
}
#main .urllist-title-link {
    font-size: 1.6rem;
}
@media (min-width: 601px) {
    #main .urllist-title-link {
        font-size: 2rem;
    }
}
.urllist-categories,
.entry-categories {
    margin-top: 8px;
}
.entry-category-link,
.urllist-category-link,
.archive-category-link {
    margin: 0 8px 4px 0;
}
.urllist-entry-body {
    color: #333;
}

/* #box2 */
#box2 .urllist-title-link {
    font-size: 1.6rem;
    margin-top: 4px;
}
#box2 .entries-access-ranking-date-link {
    margin-top: 0;
}
#box2 .about-blog-logo {
    background: transparent;
    height: auto;
}
#box2 .hatena-module-title,
#box2 .about-blog-title {
    font-size: 2.2rem;
    border-bottom: 1px solid #ccc;
    padding-bottom: 12px;
}
#box2 .about-blog-title:after {
    content: none;
}
#box2 .about-blog-description {
    font-size: 1.6rem;
    line-height: 1.75;
}
#box2 .about-blog-description a {
    color: #3BAB3F;
}
#box2 .entries-access-ranking-item {
    padding-bottom: 16px;
    border-bottom: 1px solid #ccc;
}
.follow-sns-title {
    border: none;
    margin-bottom: 10px;
}
.archive-module-year {
    font-size: 1.6rem;
}
.archive-module-year a {
    color: #3BAB3F;
}
.hatena-urllist .archive-module-year .archive-module-month {
    margin-top: 4px;
}

/* .footer */
.footer {
    background: transparent;
    border-top: 1px solid #ddd;
}
.footer-logo {
    width: 80%;
}
@media (min-width: 901px) {
    .footer-logo {
        width: 400px;
    }
}
.footer-link > ul {
    gap: 8px 0;
}
.footer-link>ul > li {
    margin-left: 1em;
    padding-left: 1em;
    border-left: 1px solid #B5B5B5;
}
.footer-link>ul > li:last-child {
    padding-right: 1em;
    border-right: 1px solid #B5B5B5;
}
.btn-back-top {
    width: 60px;
    height: 60px;
    background: #000;
    border-radius: 50%;
}
@media (min-width: 901px) {
    .btn-back-top {
        top: -20px;
    }
}

/* .contact-button */
.contact-button {
    width: 100%;
    max-width: 290px;
    margin: 50px auto 0;
}
.contact-button a {
    display: block;
    padding: 12px 1em;
    font-weight: 600;
    text-decoration: none;
    text-align: center;
    transition: all .2s ease;
    background: #ff3164 url(https://cdn.blog.st-hatena.com/files/4207112889963685954/4207112889969650347) no-repeat 95% 50%;
    color: #fff;
    border-radius: 100px;
    font-size: 1.6rem;
}
.contact-button a:hover {
    background-position: 96% 50%;
}

/* #main */
#main .recent-entries > li {
    border-bottom: 1px solid #ddd;
    padding-bottom: 16px;
}
#main .recent-entries > li:first-child {
    border-top: 1px solid #ddd;
}

.entries-list-recent-textonly .hatena-module-title,
.entries-list-recentB .hatena-module-title {
    display: none;
}

/* entries-list-recent-textonly */
#main .entries-list-recent-textonly .recent-entries {
    flex-direction: column;
    margin: 0;
}
#main .entries-list-recent-textonly .recent-entries > li {
    width: 100%;
    margin: 0;
    padding-bottom: 12px;
    background: url(https://cdn.blog.st-hatena.com/files/4207112889963685954/4207112889969650345) no-repeat 98% 50%;
    padding-right: 30px;
    transition: all .2s ease;
}
#main .entries-list-recent-textonly .recent-entries > li:hover {
    background-position: 99% 50%;
}
@media (min-width: 901px) {
    #main .entries-list-recent-textonly .recent-entries > li {
        width: 100%;
        margin: 0;
        padding-right: 40px;
    }
}
#main .entries-list-recent-textonly .recent-entries .urllist-inbody {
    display: flex;
    flex-direction: column;
}
@media (min-width: 901px) {
    #main .entries-list-recent-textonly .recent-entries .urllist-inbody {
        flex-direction: row;
        gap: 0 20px;
    }
}
#main .entries-list-recent-textonly .recent-entries .urllist-inbody .urllist-date-link {
    font-size: 1.6rem;
}
@media (min-width: 901px) {
    #main .entries-list-recent-textonly .recent-entries .urllist-inbody .urllist-date-link {
        white-space: nowrap;
        line-height: 1.5;
        margin-top: 12px;
    }
}
#main .entries-list-recent-textonly .recent-entries .urllist-inbody .urllist-title-link {
    font-size: 1.6rem;
    margin-top: 4px;
}
@media (min-width: 901px) {
    #main .entries-list-recent-textonly .recent-entries .urllist-inbody .urllist-title-link {
        margin-top: 12px;
    }
}

/* .urllist-see-more */
.urllist-see-more a {
    border: none;
    background: #3BAB3F url(https://cdn.blog.st-hatena.com/files/4207112889963685954/4207112889969650347) no-repeat 95% 50%;
    color: #fff;
    border-radius: 100px;
    font-size: 1.6rem;
    transition: .2s;
}
.urllist-see-more a:hover {
    background-position: 96% 50%;
    opacity: .7;
}
@media (min-width: 901px) {
    .urllist-see-more a {
        font-size: 1.8rem;
    }
}

/* .entries-list-recentB */
#main .entries-list-recentB .recent-entries > li {
    width: 100%;
    margin-bottom: 16px;
}
#main .entries-list-recentB .recent-entries > li:first-child {
    padding-top: 16px;
}
#main .entries-list-recentB .recent-entries .urllist-item-inner {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
}
#main .entries-list-recentB .recent-entries .urllist-image-link {
    flex: 0 0 auto;
    width: 100px;
    margin-right: 12px;
}
@media (min-width: 901px) {
    #main .entries-list-recentB .recent-entries .urllist-image-link {
        width: 240px;
        margin-right: 16px;
    }
}
#main .entries-list-recentB .recent-entries .urllist-date-link {
    margin-top: 0;
}
#main .entries-list-recentB .recent-entries .urllist-title-link {
    font-size: 1.6rem;
    margin-top: 4px;
}
@media (min-width: 901px) {
    #main .entries-list-recentB .recent-entries .urllist-title-link {
        font-size: 2rem;
        margin-top: 10px;
    }
}
#main .entries-list-recentB .recent-entries .urllist-entry-body {
    display: none;
}
@media (min-width: 901px) {
    #main .entries-list-recentB .recent-entries .urllist-entry-body {
        display: block;
    }
}

/* #header-modules */
#header-modules .hatena-module-html {
    visibility: visible;
}

#top-box {
    padding-top: 0;
    padding-bottom: 0;
}
@media (min-width: 901px) {
    #top-box {
        padding-top: 0;
        padding-bottom: 0;
    }
}

/* .page-entry */
.page-entry .entry-content img {
    display: block;
    margin: 0 auto;
}
.page-entry .entry-content figure img {   /* 移行時の画像の扱いを調整 */
    margin-bottom: 10px;
}
.page-entry .entry-date a {   /* モジュール追加でスタイルが外れるため追加 */
    color: #666;
    text-decoration: none;
}
.page-entry .entry-title {
    font-size: 2.4rem;
}
@media (min-width: 601px) {
    .page-entry .entry-title {
        font-size: 3.2rem;
    }
}
.page-entry .entry-title a {  /* モジュール追加でスタイルが外れるため追加 */
    color: inherit;
    text-decoration: none;
}
.entry-content {
    font-size: 1.8rem;
}
.entry-content .table-of-contents {
    line-height: 1.75;
    font-size: 1.6rem;
}
.entry-content li + li {
    margin-top: 4px;
}
.entry-content dt {
    color: #3BAB3F;
}
.entry-content dd + dt {
    margin-top: 12px;
}
.entry-content blockquote {
    font-size: 1.8rem;
}
.entry-content h1 {
    position: relative;
    font-size: 2.4rem;
    border-top: 4px solid #000;
    padding: 24px 10px;
}
.entry-content h1:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    content: '';
    background-image: -webkit-repeating-linear-gradient(135deg, #000, #000 1px, transparent 2px, transparent 5px);
    background-image: repeating-linear-gradient(-45deg, #000, #000 1px, transparent 2px, transparent 5px);
    background-size: 4px 8px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
} 
.entry-content h2 {
    font-size: 2.2rem;
    border-bottom: 2px solid #3BAB3F;
    padding-bottom: 20px;
}
.entry-content h3 {
    font-size: 2rem;
    color: #3BAB3F;
}
.entry-content h4 {
    font-size: 1.8rem;
}
.entry-content h5 {
    font-size: 1.8rem;
    border-bottom: 1px solid #707070;
    padding-bottom: 16px;
}
.entry-content h6 {
    font-size: 1.8rem;
    background-color: #F5F5F5;
    padding: 6px 12px;
}
@media (min-width: 601px) {
    .entry-content h1 {
        font-size: 2.8rem;
        padding: 20px;
    }
    .entry-content h2 {
        font-size: 2.4rem;
        border-width: 3px;
        padding-bottom: 12px;
    }
    .entry-content h3 {
        font-size: 2.2rem;
    }
    .entry-content h4 {
        font-size: 2rem;
    }
}
.entry-content a[href$=".pdf"]::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 2px;
    background-image: url("https://cdn.blog.st-hatena.com/files/4207112889963685954/4207112889971291856");
    background-size: contain;
    vertical-align: middle;
}
.entry-footer-section {
    display: none;
}

/* .page-archive */
.page-archive .archive-entry {
    position: relative;
    margin-bottom: 16px;
    padding-bottom: 12px;
    width: 100%;
    padding-left: calc(30% + 0.7rem);
    min-height: calc((100vw - 20px)*.3);
    border-bottom: 1px solid #ddd;
}
@media (min-width: 601px) {
    .page-archive .archive-entry {
        margin-bottom: 1rem;
        min-height: 190px;
        padding-left: 0;
    }
}
@media (min-width: 601px) {
    .page-archive .archive-entry:before {
        content: "";
        width: 30%;
        height: 0;
        padding-bottom: 20%;
        display: block;
        float: left;
        margin-right: 3%;
    }
}
.page-archive .entry-thumb {
    width: 30%;
    height: 0;
    padding-bottom: calc((100vw - 20px)*.19);
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    margin: auto;
    padding-top: initial;
}
@media (min-width: 768px) {
    .page-archive .entry-thumb {
        width: 30%;
        padding-bottom: 20%;
    }
}
.page-archive .archive-date {
    margin-top: 0;
}
.page-archive .archive-date a {
    font-size: 1.3rem;
    color: #666;
}
.page-archive .entry-title {
    font-size: 1.6rem;
    margin-top: 4px;
}
@media (min-width: 601px) {
    .page-archive .entry-title {
        font-size: 2rem;
    }
}
@media (min-width: 601px) {
    .page-archive .archive-entry-body,
    .page-archive .categories {
        display: flex;
        flex-wrap: wrap;
    }
}
@media (min-width: 601px) {
    .page-archive .archive-entry-body,
    .page-archive .categories {
        display: flex;
        flex-wrap: wrap;
    }
}
.page-archive .entry-description {
    font-size: 1.5rem;
}
@media (min-width: 601px) {
    .page-archive .entry-description {
        display: block;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
    }
}

/* page reset */
@media (min-width: 601px) {
    .page-static_page #content-inner,
    .page-about #content-inner,
    .page-archive-category-name #content-inner,
    .page-archive #content-inner {
        margin-top: 60px;
    }
}
.page-about .entry-content,
.page-about #content-inner h1,
.page-archive-category-name .entry-content,
.page-archive-category-name #content-inner h1 {
    margin-top: 0;
}

/* page-static_page */
.page-static_page .entry-header h1 {
    position: relative;
    font-size: 2.4rem;
    border-top: 4px solid #000;
    padding: 24px 10px;
}
@media (min-width: 601px) {
    .page-static_page .entry-header h1 {
        font-size: 2.8rem;
        padding: 20px;
    }
}
.page-static_page .entry-header h1:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    content: '';
    background-image: -webkit-repeating-linear-gradient(135deg, #000, #000 1px, transparent 2px, transparent 5px);
    background-image: repeating-linear-gradient(-45deg, #000, #000 1px, transparent 2px, transparent 5px);
    background-size: 4px 8px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

/* .ad-banner */
.ad-banner {
    text-align: center;
    margin: auto;
}
.ad-banner + .ad-banner {
    margin-top: 20px;
}
.page-entry .entry-header .box-ad-banner {
    margin-bottom: 20px;
}
@media (min-width: 901px) {
    .page-entry .entry-header .box-ad-banner {
        margin-bottom: 40px;
    }
}
@media (min-width: 601px) {
    .ad-column-banner {
        display: flex;
        justify-content: center;
    }
    .ad-column-banner .ad-banner + .ad-banner {
        margin-top: 0;
    }
}
.box-ad-banner + .ad-popin,
.ad-popin + .box-ad-banner {
    margin-top: 20px;
}

/* 市議選レスポンシブ用 */
/* レスポンシブ表のスタイル */
.my-table {
  width: 100%;
  border-collapse: collapse;
}

.my-table td {
  padding: 10px;
  box-sizing: border-box;
  vertical-align: top;
}

.my-table td img {
  max-width: 100%;
  height: auto;
}

/* PCの場合は4列 */
@media (min-width: 769px) {
  .my-table tr {
    display: flex;
    flex-wrap: nowrap;
  }
  
  .my-table td {
    width: 25%;
  }
}

/* スマホの場合は2列 */
@media (max-width: 768px) {
  .my-table tr {
    display: flex;
    flex-wrap: wrap;
  }
  
  .my-table td {
    width: 50%;
  }
}

/* 市議選開票速報用テーブル */

.election-results {
  width: 100%;
  border-collapse: collapse;
}
.election-results th,
.election-results td {
  padding: 8px;
  text-align: center;
  border-bottom: 1px solid #ddd;
}
.election-results th {
  background-color: #f2f2f2;
}
.election-results img {
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 600px) {
  .election-results {
    font-size: 14px;
  }
  .election-results th,
  .election-results td {
    padding: 6px;
  }
  .election-results img {
    max-width: 60px;
  }
}
.election-results td:last-child {
  text-align: right;
}

/* youtube埋め込みCSS */
iframe.youtube-16-9 {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}

/* 角丸ボタン(塗りつぶし)オレンジ色 */
.button-fill.button-rounded {
    display: flex;
    /* ボタンを中央そろえにする場合 */
}

.button-fill.button-rounded a {
    display: inline-block;
    min-width: 100px;
    text-align: center;
    background: #f26f2f;
    /* 任意の背景色 */
    color: #ffffff;
    /* 任意の文字色 */
    text-decoration: none;
    transition: all .2s;
    margin: 4px auto;
    padding: 12px 20px;
    border-radius: 100px;
    font-weight: bold;

}

.button-fill.button-rounded a:hover {
    opacity: .7;
}

<!-- 折り畳み展開 -->
details > summary:first-of-type {
    cursor: pointer;
    text-decoration: underline;
    color: #1487bd;
    display: list-item;
    counter-increment: list-item 0;
    list-style: inside disclosure-closed;
}

details[open] > summary:first-of-type {
    list-style-type: disclosure-open;
}
<!-- 折り畳み展開 -->

.has-inline-color.has-vivid-red-color {
    color: #f00; /* vivid red color */
}

