/* <system section="theme" selected="smooth"> */
@charset "UTF-8";/*!
Theme: Smooth
Author: Hatena Blog Team
Responsive: yes
*//*!
 * Bootstrap Reboot v4.2.1 (https://getbootstrap.com/)
 * Copyright 2011-2018 The Bootstrap Authors
 * Copyright 2011-2018 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
 */*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-original-title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):hover,a:not([href]):not([tabindex]):focus{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}pre,code,kbd,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}html,body{background:#f9fafb;font-family:helvetica,Segoe UI,游ゴシック体,YuGothic,游ゴシック Medium,Yu Gothic Medium,游ゴシック,Yu Gothic,メイリオ,Meiryo,sans-serif;color:#293030}html{line-height:1}body{font-size:17px;line-height:1.6}img{vertical-align:baseline}a{color:#293030}a:hover{color:#586767;transition:all .3s}.date{margin:0 0 .7em;font-size:.9rem}.date a{color:#6f8383}.date a:hover{color:#a5b3b3}.date-last-updated{color:#6f8383;font-size:.9rem}#globalheader-container{position:sticky;top:0;background:#f9fafb}#container{word-wrap:break-word}#blog-title{max-width:1280px;margin:auto;padding:4% 5%;text-align:center}#title{font-size:150%;font-family:Times New Roman,游明朝体,YuMincho,游明朝,Yu Mincho,serif;font-weight:400}@media(min-width:768px){#title{font-size:215%}}#blog-description{font-size:90%;font-weight:400}#content-inner{width:100%;display:flex;flex-direction:column}@media(min-width:768px){#content-inner{flex-direction:row;margin:auto;padding:0 20px}}@media(min-width:1200px){#content-inner{width:1200px}}#wrapper{flex:0 0 100%;max-width:100%}@media(min-width:768px){#wrapper{flex:0 0 75%;max-width:75%}}@media(min-width:1020px){#main{padding:0 3% 0 0}}.header-image-enable #blog-title,.header-image-only #blog-title{padding:0 0 1.5em}@media(min-width:1200px){.header-image-enable #blog-title,.header-image-only #blog-title{width:1160px}}.header-image-enable #blog-title #blog-title-inner,.header-image-only #blog-title #blog-title-inner{display:flex;align-items:center;justify-content:center;height:50vw;max-height:200px}@media(min-width:1200px){.header-image-enable #blog-title #blog-title-inner,.header-image-only #blog-title #blog-title-inner{background-size:100%}}.header-image-enable #blog-title-content,.header-image-only #blog-title-content{margin:0 .5em}.breadcrumb{font-size:.9rem}.categories{margin-bottom:2em}.categories a{display:inline-block;background:#e9f0f2;margin:0 .3em 0 0;padding:0 10px;font-size:12px}.pager{text-align:center;margin:3em .8em}@media(min-width:1020px){.pager{margin:0}}.pager a{display:inline-block;width:100%;background:#eff1f5;padding:.7em 1.2em;border:none;font-weight:400;font-size:.9rem;color:#293030}.pager a:hover{background-color:#e9ecf1;text-decoration:none}.pager .pager-next,.pager .pager-prev{width:100%;padding:.5em 0}.pager .pager-prev+.pager-next{margin-left:1em;padding-left:1em}@media(min-width:768px){.pager .pager-prev+.pager-next{margin-left:1.5em;padding-left:1.5em}}.pager.permalink{display:flex;justify-content:center;align-items:center;text-align:center}.hatena-urllist{padding-left:0;list-style:none}.hatena-urllist li{border-top:1px dotted #cfd8d8;padding-top:10px;padding-bottom:10px}.hatena-urllist .archive-module-year,.hatena-urllist .archive-module-month{line-height:2}.hatena-urllist .urllist-date-link a{color:#6f8383}.hatena-urllist .urllist-category-link{display:inline-block;background:#e9f0f2;margin:.5em .3em 0 0;padding:3px 10px;font-size:12px;line-height:1.3}.hatena-urllist .urllist-category-link:hover{background:#d9e5e9;text-decoration:none;transition:background .3s}.hatena-urllist .urllist-entry-body{margin-top:10px}.hatena-module{margin-bottom:3em;padding-left:20px;padding-right:20px;font-size:.85rem}.hatena-module:last-child{margin-bottom:0}.hatena-module-title{margin-bottom:12px;font-family:Times New Roman,游明朝体,YuMincho,游明朝,Yu Mincho,serif;font-size:20px}.hatena-module-body{font-size:15px}.hatena-module-body .urllist-title-link{font-size:100%}.hatena-module-body .archive-module-button{display:inline-block;width:15px;height:15px}.hatena-module-body .archive-module-hide-button,.hatena-module-body .archive-module-show-button{position:absolute;overflow:hidden;width:15px;height:15px;text-indent:-15px}.hatena-module-body .archive-module-hide-button:after,.hatena-module-body .archive-module-show-button:after{content:"";top:50%;display:inline-block;position:absolute;width:8px;height:8px;margin-top:-.1em;border-top:1px solid #6f8383;border-right:1px solid #6f8383}.hatena-module-body .archive-module-hide-button{transform:rotate(135deg);margin-top:.2em}.hatena-module-body .archive-module-show-button{transform:rotate(45deg);margin-top:.2em}@media(min-width:481px){.search-result-form{margin:0 1em}}.search-result+p{background:#fff;border:1px solid #f0f1f1;margin:0 0 3em;padding:8% 0;font-weight:700;text-align:center}.search-form,.search-result-form{position:relative;width:100%;background:#fff;margin:auto;border:1px solid #eee;box-sizing:border-box}.search-form:hover,.search-result-form:hover{border-color:#ddd}.search-module-input,.search-result-form .search-result-input{width:90%;height:30px;padding:5px;background:#fff;border:none;outline:none}.search-module-input::-webkit-input-placeholder,.search-result-form .search-result-input::-webkit-input-placeholder,.search-module-input::-placeholder,.search-result-form .search-result-input::-placeholder{color:#9faba9}.search-module-button,.search-result-form .search-result-button{width:20px;height:20px;background:transparent url(https://cdn.blog.st-hatena.com/images/theme/search@2x.png?version=d422509bd0b39c8cdd48718768287a) no-repeat right center;background-size:20px 20px;border:none;outline:none;text-indent:-9999px;position:absolute;top:5px;right:5px;opacity:.5;cursor:pointer}.search-module-button:hover,.search-result-form .search-result-button:hover{opacity:.85}#top-box{margin:0 auto;padding:0 10px}@media(min-width:768px){#top-box{padding:0 20px}}@media(min-width:1200px){#top-box{max-width:1200px}}.entry{background:#fff;border:1px solid #f0f1f1;margin-bottom:2em;padding:8% 5%}@media(min-width:768px){.entry{padding:8% 9% 5%}}.entry-header{position:relative;margin-bottom:1.5em}@media(min-width:481px){.entry-header{margin-bottom:3em}}.entry-header-menu{position:absolute;top:0;right:0;margin-bottom:1em}.entry-header-menu a{background:#f9fafb;border:1px solid #cfd8d8;padding:5px 10px;font-size:.9rem}.entry-header-menu a:hover{background:#f3f5f7;text-decoration:none}.entry-title{margin-bottom:.5em;font-family:Times New Roman,游明朝体,YuMincho,游明朝,Yu Mincho,serif;font-size:130%;font-weight:400;line-height:1.5}@media(min-width:768px){.entry-title{font-size:190%}}.entry-content{line-height:1.85}.entry-content a{color:#119e4d}.entry-content a:hover{color:#0c7037}.entry-content a.keyword{-webkit-text-decoration:underline dotted #cfd8d8;text-decoration:underline dotted #cfd8d8}.entry-content a.keyword:hover{color:#586767;-webkit-text-decoration:underline dotted #ffffff;text-decoration:underline dotted #ffffff}.entry-content img,.entry-content video{max-width:100%;height:auto}.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6{margin:1.5em 0 .8em;line-height:1.3}.entry-content h1{padding-bottom:15px;font-size:190%;border-bottom:1px solid #cfd8d8}.entry-content h2{font-size:165%}.entry-content h3{padding-bottom:10px;font-size:140%;border-bottom:1px solid #cfd8d8}.entry-content h4{font-size:130%}.entry-content h5{padding-bottom:10px;font-size:120%;border-bottom:1px solid #cfd8d8}.entry-content h6{font-size:100%}.entry-content ul,.entry-content ol,.entry-content dd{margin:0 0 1em 1.5em;padding:0;line-height:1.7}.entry-content ul li ul,.entry-content ol li ul,.entry-content dd li ul,.entry-content ul li ol,.entry-content ol li ol,.entry-content dd li ol{margin-bottom:0}.entry-content dl{margin-top:2em}.entry-content dl dt{margin-bottom:.8em}.entry-content p{margin:0 0 .7em}.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6,.entry-content .footnote-number{scroll-margin-top:56px}.entry-content blockquote{position:relative;padding:9px 15px 9px 40px;border:1px solid #f0f1f1}@media(min-width:1020px){.entry-content blockquote{padding:20px 20px 20px 60px}}.entry-content blockquote:before{display:inline-block;position:absolute;top:10px;left:10px;vertical-align:middle;content:"“";font-size:40px;font-family:Times New Roman,游明朝体,YuMincho,游明朝,Yu Mincho,serif;color:#6f8383;line-height:1}@media(min-width:1020px){.entry-content blockquote:before{left:15px;font-size:70px}}.entry-content blockquote p{margin-bottom:0}.entry-content blockquote cite{display:block;margin-top:.5rem;text-align:right;font-size:85%;line-height:1.3}.entry-content table{border-collapse:collapse;border-spacing:0;border-bottom:1em;margin-bottom:1em;width:100%;overflow:auto;display:block}.entry-content table th,.entry-content table td{border:1px solid #f0f1f1;padding:5px 10px}.entry-content table th{background:#f9fafb}.entry-content pre,.entry-content code{font-family:Monaco,Consolas,Courier New,Courier,monospace,sans-serif}.entry-content pre{background:#293030;border:none;white-space:pre-wrap;text-overflow:ellipsis ellipsis;font-size:100%;font-size:.9rem;padding:10px;color:#ccc}@media(min-width:768px){.entry-content pre{font-size:.85rem;padding:15px}}.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}.entry-content code{font-size:90%;margin:0 .1em;padding:0 5px;border-radius:3px}.entry-content .table-of-contents{background:#f9fafb;margin-left:0;padding:15px 10px 15px 35px;font-size:16px}@media(min-width:768px){.entry-content .table-of-contents{padding:20px 20px 20px 50px}}.entry-footer{margin-top:1em}.entry-footer-modules .hatena-module{padding:0}.entry-footer-section{margin-bottom:8px;color:#6f8383;font-size:.9rem}.entry-footer-section a{color:#6f8383}.entry-footer-ad{margin-left:-9%;margin-right:-9%}.comment-box{margin:0 -5%;padding:5% 5% 0;border-top:1px solid #f0f1f1}@media(min-width:768px){.comment-box{margin:0 -11%;padding:20px 11% 0}}.comment-box .leave-comment-title{background:#f9fafb;border:1px solid #cfd8d8;padding:.5rem 1rem;font-size:.9rem}.comment-box .leave-comment-title:hover{background:#f3f5f7}.comment-box .comment{list-style:none;padding-left:0}.comment-box .comment a{color:#119e4d}.comment-box .comment a:hover{color:#0c7037}.comment-box .comment .comment-user-id{font-size:14px;font-weight:700}.comment-box .comment .entry-comment{padding:20px 0 0;border-top:1px solid #f0f1ff;color:#6f8383}.comment-box .comment .entry-comment:first-child{padding-top:0;border-top:none}.comment-box .comment .entry-comment .comment-content{word-wrap:break-word}.comment-box .comment .entry-comment .comment-content p{font-size:14px}.comment-box .comment .entry-comment time{font-size:12px}.comment-box .comment .read-more-comments{font-size:14px}@media(min-width:1020px){.comment-box .comment .read-more-comments{margin-right:25px}}.comment-box .comment .read-more-comments a{position:relative;display:inline-block}.comment-box .comment .read-more-comments a:after{content:"";top:20%;left:-20px;display:inline-block;position:absolute;width:8px;height:8px;border-top:1px solid #119e4d;border-right:1px solid #119e4d;transform:rotate(135deg);margin-top:1px}#box2{flex:0 0 100%;max-width:100%;background:#fff3;padding:1em 0}@media(min-width:768px){#box2{flex:0 0 25%;max-width:25%}}#box2 .hatena-urllist>li:last-child{border-bottom:1px dotted #cfd8d8}.hatena-module-profile .profile-icon-link{display:inline;float:left;margin-right:.7em}.hatena-module-profile .profile-icon-link .profile-icon{border-radius:400px}@media(min-width:1020px){.hatena-module-profile .profile-icon-link{display:block;float:none;margin-right:0}}.hatena-module-profile .id{display:block}.hatena-module-profile .id a{color:#119e4d;font-weight:700}.hatena-module-profile .id a:hover{color:#0c7037}.hatena-module-profile .profile-description p{font-size:80%}.archive-module-calendar .calendar-day a{color:#119e4d;font-weight:700}.archive-module-calendar .calendar-day a:hover{color:#0c7037}.hatena-module-recent-comments .user-id span{font-size:12px;opacity:.7}#footer{background:#fff;margin-top:2em;padding-top:2rem;padding-bottom:2rem;text-align:center;font-size:.9rem;color:#6f8383}#footer a{color:#6f8383}#footer p{margin:.5em auto}.archive-header-category{margin-bottom:.3em}.page-archive .archive-heading{margin:.5em .7em 1.3em;line-height:1.5}@media(min-width:1020px){.page-archive .archive-heading{margin:.5em 0 1.3em}}.page-archive .archive-entries-sort{margin-left:1.2em}@media(min-width:768px){.page-archive .archive-entries-sort{margin-left:0}}.page-archive .archive-entry{background:#fff;border:1px solid #f0f1f1;margin-bottom:30px;padding:9% 6% 6%}@media(min-width:768px){.page-archive .archive-entry{padding:6%}}@media(min-width:768px){.page-archive .archive-entry .entry-title{font-size:150%}}

/* </system> */

/*
 * 整理済みCSS（2026-09-16・最終完成版）
 * プロフィール・カテゴリーを含めて重複指定・旧コードを整理し、現行コードに統合。
 * グローバルナビのライセンス表記は原文のまま保持しています。
 */

/* ==================================================
   カラーパレット
   新ヘッダーに合わせた アイボリー × セージ × ブラウン
   色を変えたい時は基本的にここだけ変更
================================================== */
:root {
    --tsuki-main: #78907C;
    --tsuki-main-hover: #91A594;
    --tsuki-light: #E4ECE5;
    --tsuki-accent: #A8B9AA;
    --tsuki-ivory: #F7F3EA;
    --tsuki-text: #55483E;
    --tsuki-border: #D8D2CA;
    --tsuki-bubble: #F3EFE8;
}



/* スマホ・タブレット：固定ボトムナビ分だけフッターを底上げ */
@media screen and (max-width: 1000px) {
    #footer {
        margin-bottom: calc(75px + env(safe-area-inset-bottom));
    }
}


/*コピーライト*/
#copyright {
padding: 20px;
text-align: center;
background: var(--tsuki-main);
font-size: 13px;
color:#fff;
}


/* 本文 */
body {
    font-size: 16px;
    font-family: "メイリオ", sans-serif;
    color: var(--tsuki-text);
}


/* 記事タイトル */
.entry-title a {
    font-size: 22.4px;
    font-family: "メイリオ", sans-serif;
}




/* ==================================================
   ヘッダー画像
   現在の見た目を保ちながら重複指定を統合
================================================== */
#blog-title {
    margin: 0 auto;
    padding: 0;
}

.header-image-enable #blog-title,
.header-image-enable #blog-title #blog-title-inner,
.header-image-only #blog-title,
.header-image-only #blog-title #blog-title-inner {
    height: 240px !important;
}

.header-image-enable #blog-title #blog-title-inner,
.header-image-only #blog-title #blog-title-inner {
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

@media screen and (max-width: 767px) {
    .header-image-only #blog-title,
    .header-image-only #blog-title #blog-title-inner {
        width: 100vw !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .header-image-enable #blog-title,
    .header-image-enable #blog-title #blog-title-inner,
    .header-image-only #blog-title,
    .header-image-only #blog-title #blog-title-inner {
        height: 185px !important;
    }

    .header-image-enable #blog-title #blog-title-inner,
    .header-image-only #blog-title #blog-title-inner {
        background-size: auto 110% !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
    }
}


/*記事下のランキング参加写真３つ横並び*/
#my-footer a {
    display: inline-block;
    margin-right: 10px; /* 画像間の余白 */
}

/* スマホサイズの場合 */
@media screen and (max-width: 768px) {
    #my-footer a {
        display: inline-block; /* ブロックレベル要素に変更 */
        margin-right: 0; /* 画像間の余白をリセット */

    }
}


/* ==================================================
   目次
================================================== */
.entry-content .table-of-contents {
    position: relative;
    margin: 0;
    padding: .5em 1.2em 1em;
    background: #fff;
    font-size: 100%;
    border-top: solid 40px var(--tsuki-main) !important;
    border-right: solid 2px var(--tsuki-main) !important;
    border-bottom: solid 2px var(--tsuki-main) !important;
    border-left: solid 2px var(--tsuki-main) !important;
    border-radius: 8px;
    color: var(--tsuki-text);
}

.entry-content .table-of-contents::before {
    content: "目次";
    position: absolute;
    top: -33px;
    left: 38px;
    margin: 0;
    color: #fff;
    border: 0;
    font-size: 120%;
    font-weight: bold;
}

.entry-content .table-of-contents::after {
    content: "\f039";
    font-family: blogicon;
    position: absolute;
    top: -35px;
    left: 13px;
    color: #fff;
    font-weight: bold;
    font-size: 120%;
}

.entry-content .table-of-contents li {
    margin: .2em 0 1em 1em;
    list-style-type: decimal;
    line-height: 1.6em;
    font-weight: bold;
    color: var(--tsuki-text);
}

.entry-content .table-of-contents li ul {
    margin: 0 0 1em .5em;
    padding: 0;
}

.entry-content .table-of-contents li ul li {
    margin: .2em 0 0 1em;
    font-weight: normal;
    font-size: 100%;
}

.entry-content .table-of-contents li ul li ul li {
    font-size: 90%;
}

.entry-content .table-of-contents a {
    color: var(--tsuki-text) !important;
    display: block;
    text-decoration: none;
    border-bottom: solid 2px var(--tsuki-light);
}

.entry-content .table-of-contents ul li a {
    border-bottom: dashed 1px var(--tsuki-accent);
}

/* 見出し */
 h2 {
  background: var(--tsuki-light);
  padding: 0.5em;/*文字周りの余白*/
  color: var(--tsuki-text);
  border-radius: 0.5em;
    font-size: 22.4px!important;
}


h3 {
  color: var(--tsuki-main);
  font-size: 21px!important;
  padding: 0.5em 0;
  border-top: solid 3px var(--tsuki-accent);
  border-bottom: solid 3px var(--tsuki-accent)!important;
}

h4 {
  padding: 0.25em 0.5em;
  color: var(--tsuki-main);
  background: transparent;
  font-size: 19px!important;
  border-left: solid 5px var(--tsuki-accent);
}


/* サイドバーの文字色 */
.hatena-module-title{
   text-align: center; 
   font-size: 16px; 
   font-weight: bold; 
   font-family: "メイリオ", sans-serif; 
}


/* ==================================================
   グローバルナビ
   著作権表示は削除しない
==================================================
Zarigani Design Office Drawer Menu
Copyright 2018 Zarigani Design Office
Customized by minimalgreen

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/

.drawer_menu a {
	color: inherit;
	text-decoration: none;
}

.drawer_menu a:visited {
	color: inherit;
}


/* PC用ナビゲーション */
.drawer_menu .drawer_nav_wrapper {
	transform: translate(0);
	width: 100%;
	height: 50px;
	/* PC用メニュー高さ */
	position: relative;
	top: auto;
	right: auto;
	z-index: 100;
	background-color: var(--tsuki-main);
	/* PC用メニュー背景色 */
}

.drawer_menu .drawer_nav {
	max-width: 1000px;
	padding: 0;
	margin: 0 auto;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	list-style-type: none;
}

.drawer_menu .drawer_nav li {
	font-size: 15px;
	margin: 0;
	padding: 0;
	width: 100%;
	height: 50px;
	line-height: 50px;
	background-color: var(--tsuki-main);
	text-align: center;
	list-style-type: none;
}

.drawer_menu .drawer_nav li:hover {
	background-color: var(--tsuki-main-hover);
}

.drawer_menu .drawer_nav li a {
	color: #fff;
	font-family: "Arial-BoldMT";
}

/* PC非表示 ２階層目のデザイン */

@media screen and (min-width: 1001px) {
	.pc-hidden {
		display: none;
		text-align: center;
	}

	/* ドロップダウンメニュー2階層目 */
	.drawer_menu .drawer_nav li ul.second-level {
		visibility: hidden;
		list-style-type: none;
		position: absolute;
		z-index: -1;
		top: 0;
		margin: 0;
		padding-left: 0;
	}

	.drawer_menu .drawer_nav li:hover ul.second-level,
	.drawer_menu .drawer_nav li:focus-within ul.second-level {
		visibility: visible;
		z-index: 1;
		top: 50px;
		transition: all .3s;
	}

	.drawer_menu .drawer_nav li:hover ul.second-level li {
		width: 200px;
		height: 50px;
		text-align: center;
	}

	.drawer_menu .drawer_nav li:hover ul.second-level li a {
		display: block;
		background-color: var(--tsuki-main);
		color: #fff;
		font-size: 100%;
		text-decoration: none;
		line-height: 50px;
		text-align: center;
	}

	.drawer_menu .drawer_nav li:hover ul.second-level li a:hover {
		background-color: var(--tsuki-main-hover);
	}

	.touch-btn {
		color: #fff;
		margin-left: 5px;
	}
}

/*スマホメニューここから*/

.drawer_menu .drawer_button {
	color: #fff;
	/* ハンバーガーメニュー文字色 */
	display: none;
}

.drawer_menu .drawer_button .drawer_bar {
	background-color: #fff;
	margin-top: 1px; 
}

.drawer_menu .drawer_button::after {
    content: "menu"; 
    font-size: 10px;
    display: block;
    margin-top: -5px; 

}


/* 1000px以下 */
@media screen and (max-width: 1000px) {
.drawer_menu .drawer_bg {
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 999;
    background-color: rgba(51, 51, 51, 0.5); 
    display: none;
    top: 0;
    left: 0;
}


	.drawer_menu .drawer_button {
	 display: block;
    background-color: var(--tsuki-accent);
    color: #fff;
    padding: 5px;
    width: 50px;
    height: 50px; 
    letter-spacing: 0.1em;
    cursor: pointer;
    position: fixed;
    top: 45px;
    right: 10px;
    z-index: 1001;
    text-align: center;
    outline: none;
    border-radius: 12%; 
    border: 2px solid #fff; 
	}

	.drawer_menu .drawer_button.active .drawer_bar {
		width: 40px;
	}

	.drawer_menu .drawer_button.active .drawer_bar1 {
		transform: rotate(30deg);
	}

	.drawer_menu .drawer_button.active .drawer_bar2 {
		opacity: 0;
	}

	.drawer_menu .drawer_button.active .drawer_bar3 {
		transform: rotate(-30deg);
	}

	.drawer_menu .drawer_button.active .drawer_menu_text {
		display: none;
	}

	.drawer_menu .drawer_button.active .drawer_close {
		display: block;
	}

	.drawer_menu .drawer_bar {
		display: block;
		height: 2px;
		margin: 8px 2px;
		transition: all 0.2s;
		transform-origin: 0 0;
	}

	.drawer_menu .drawer_text {
		text-align: center;
		font-size: 10px;
	}

	.drawer_menu .drawer_close {
		letter-spacing: 0.08em;
		display: none;
	}

	.drawer_menu .drawer_menu_text {
		display: block;
	}

	.drawer_menu .drawer_nav_wrapper {
		width: 250px;
		height: 100%;
		transition: all 0.2s;
		transform: translate(250px);
		position: fixed;
		top: 0;
		right: 0;
		z-index: 1000;
		background-color: var(--tsuki-ivory);
		/* ドロワーメニュー内背景色 */
		overflow-x: hidden;
		overflow-y: auto;
	}

	.drawer_menu .drawer_nav {
		display: block;
		position: relative;
		margin-top: 40px;
	}

	.drawer_menu .drawer_nav li {
		background-color: #fff;
		/*  どこの色？ */
		height: auto;
		line-height: 50px;
		position: relative;
		border-bottom: 1px solid var(--tsuki-border);
	}

	.drawer_menu .drawer_nav li a {
		background-color: var(--tsuki-ivory);
		/* ドロワーメニューリスト背景色 */
		color: var(--tsuki-text);
		display: block;
		text-align: left;
		padding-left: 20px;
		
	}

	/* スマートフォン2階層目 */
	.drawer_menu .drawer_nav li:hover ul.second-level {
		display: block;
	}

	.drawer_menu .drawer_nav li ul.second-level {
		display: none;
		position: relative;
		padding: 0;
		z-index: 1001;
	}

	.drawer_menu .drawer_nav li ul.second-level li a {
		padding-left: 40px;
	}

	.drawer_menu .drawer_nav_wrapper.open {
		transform: translate(0);
	}

	.drawer_menu.left .drawer_button {
		right: auto;
		left: 32px;
	}

	.drawer_menu.left .drawer_nav_wrapper {
		transform: translate(-250px);
		right: auto;
		left: 0;
	}

	.drawer_menu.left .drawer_nav_wrapper.open {
		transform: translate(0);
	}

	.pc-hidden {
		text-align: center;
	}

	.touch-btn {
		color: var(--tsuki-text);
		position: absolute;
		top: .25rem;
		right: 2%;
		display: block;
		z-index: 10;
		width: 50px;
		height: 50px;
		text-align: center;
		vertical-align: middle;
	}
}

/*  ウィジェットタイトル */
.drawer-title {
    text-align: center;
    width: 80%;
    height: 50px;
    line-height: 50px;
    background-color: var(--tsuki-accent);
    color: #fff;
    font-family: "Arial", sans-serif;
    font-size: 15px;
    font-weight: bold;
}

/* ==================================================
   サイドバー／スマホドロワー共通プロフィール
   CSSはここ1か所だけで管理
================================================== */
.taremimi-profile-source {
    margin: 0;
    padding: 0;
}

.design10-profile-wrap {
    margin: 0 auto;
    padding: 0;
    max-width: 350px;
    background: #fff;
    overflow: hidden;
    color: var(--tsuki-text);
}

.design10-icon-link,
.design10-icon-link:hover {
    color: var(--tsuki-text) !important;
    text-decoration: none;
}

.design10-profile_icon {
    margin: 20px 0 0;
    padding: 0;
    position: relative;
    z-index: 2;
}

.design10-profile_icon::before {
    content: "";
    display: block;
    width: 120px;
    height: 80px;
    position: absolute;
    left: 200px;
    bottom: -15px;
    background-color: transparent;
    background-image: radial-gradient(circle, var(--tsuki-light) 30%, transparent 30%);
    background-size: 10px 10px;
    background-position: 0 0;
    z-index: 3;
}

.design10-profile_icon img {
    display: block;
    width: 170px;
    max-width: 100%;
    height: auto;
    margin: 0;
}

.design10-name {
    color: var(--tsuki-text);
    font-weight: bold;
    font-size: 18px;
    text-decoration: none;
    line-height: 1.4;
    z-index: 2;
}

.design10-profile-body {
    padding: 0 1em;
    border-left: solid 4px var(--tsuki-accent);
    color: var(--tsuki-text);
    text-align: left;
}

.design10-profile-body p {
    font-size: 14px;
    line-height: 1.6;
}

.design10-text-center {
    text-align: center;
    margin-bottom: 1em;
}

.design10-about-link {
    display: inline-block;
    color: #fff !important;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
    font-size: 15px;
    padding: .5em 1em;
    background: var(--tsuki-main);
    border-radius: 30px;
    box-shadow: 0 4px 5px -5px rgba(0, 0, 0, .5);
    transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.design10-about-link:hover {
    background: var(--tsuki-main-hover);
    box-shadow: 0 4px 12px rgba(0, 0, 0, .1), 0 10px 20px -10px rgba(0, 0, 0, .25);
}

.follow-label {
    color: var(--tsuki-text);
    font-weight: bold;
    font-size: 1em;
    text-align: center;
    line-height: 1.5;
}

.follow-btn-list {
    list-style: none;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0 auto;
    padding: 0 0 1em;
}

.follow-btn-item a {
    display: inline-block;
    text-align: center;
    width: 40px;
    height: 40px;
    margin: .15em;
    padding: .1em;
    color: #fff !important;
    font-size: 26px;
    line-height: 40px;
    border-radius: 50%;
    box-sizing: border-box;
    transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.follow-btn-item a:hover {
    transform: translateY(-4px);
    box-shadow: 1px 10px 8px -4px rgba(0, 0, 0, .2);
    opacity: .8;
    color: #fff !important;
}

.follow-btn-item .hatena {
    background: #333;
}

.follow-btn-item .x {
    background: #000;
}

.follow-btn-item .youtube {
    background: #f00;
}

.follow-btn-item .instagram {
    background: linear-gradient(125deg, #427eff 0%, #f13f79 70%) no-repeat;
    position: relative;
    overflow: hidden;
}

.follow-btn-item .instagram::before {
    content: "";
    position: absolute;
    top: 20px;
    left: -14px;
    width: 53px;
    height: 53px;
    background: radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, .65) 55%, rgba(255, 88, 96, 0) 70%);
}

.blogicon-instagram {
    position: relative;
    z-index: 1;
}

.follow-btn-item i {
    vertical-align: 7%;
}

.follow-btn-item img {
    vertical-align: middle;
}




/* カテゴリの色 */
.categories a{
  background: var(--tsuki-light);
  color: var(--tsuki-text);
}


/* リンクの色*/
.entry-content a {
    color: var(--tsuki-main); 
    text-decoration: underline; 
}


/*****記事一覧の枠のスタイル*****/
.page-archive .archive-entry {
border: 1px var(--tsuki-main) solid; 
align-items: center;
padding: 15px; 
box-sizing: border-box;
justify-content: space-around;
border-radius: 10px; 
}


/*更新日時*/
.entry-content .updated{
	display:none;
}
.page-entry .entry-header .updated{
    display:inline-block;
}

/*更新日時のアイコン*/
.page-entry .entry-header .updated:before {
    font-family: "blogicon";
    content: "\f02b";
    left: 0;
    font-size: 95% !important;
    top: 0;
    color: #111111;
    padding-left: 20px;
    padding-right: 8px;
}


/* 太文字マーカー */
.entry-content strong {
    background: linear-gradient(transparent 60%, #FFFF99 40%); /* 黄色系の背景色 */
}


/* 吹き出しのCSS　*/
.entry-content .l-fuki,
.entry-content .r-fuki {
  position: relative;
  width: calc(100% - 82px);
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  padding: 20px;
  border-radius: 6px;
  border: 2px solid var(--tsuki-border);
  box-shadow: 0 3px 8px -2px rgba(0,0,0,.16);
  background-color: #F3EFE8; 
  z-index: 1;
}
.entry-content .l-fuki {
  margin: 20px auto 36px 0;
}
.entry-content .r-fuki {
  margin: 20px 0 36px auto;
}
.entry-content .l-fuki::before,
.entry-content .r-fuki::before {
  position: absolute;
  content: "";
  top: 16px;
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--tsuki-border);
  border-bottom: 2px solid var(--tsuki-border);
  background-color: var(--tsuki-bubble);
  z-index: 2;
}
.entry-content .l-fuki::before {
  right: -7px;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
.entry-content .r-fuki::before {
  left: -7px;
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
}
.entry-content .l-fuki::after,
.entry-content .r-fuki::after {
  position: absolute;
  content: "";
  width: 60px;
  height: 60px;
  top: -6px;
  border-radius: 50%;
  border: 3px solid #fff;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  box-shadow: 1px 1px 5px var(--tsuki-border);
  box-sizing: border-box;
}
.entry-content .l-fuki::after {
  right: -82px;
}
.entry-content .r-fuki::after {
  left: -82px;
}
@media screen and (min-width: 478px) {
  .entry-content .l-fuki::after,
  .entry-content .r-fuki::after {
    width: 80px;
    height: 80px;
  }
  .entry-content .l-fuki,
  .entry-content .r-fuki {
    width: calc(100% - 106px);
  }
  .entry-content .l-fuki::after {
    right: -106px;
  }
  .entry-content .r-fuki::after {
    left: -106px;
  }
}
.tsuki::after {background-image:url(https://cdn-ak.f.st-hatena.com/images/fotolife/u/usagitonokurashi/20240328/20240328125715.jpg?changed=1711598248);}
.yukari::after {background-image:url(https://cdn-ak.f.st-hatena.com/images/fotolife/u/usagitonokurashi/20200410/20200410121846_120.jpg);}


/* 記事下シェアボタン */
.sns-tag-cloud {
    padding-inline-start: 0;
    font-size: 12px;
    font-weight: bold;
}

.sns-tag-cloud-under {
    margin: 0 0 30px 0;
    padding-inline-start: 0;
    font-size: 12px;
    font-weight: bold;
    text-align: center;
}

a.sns-tag-cloud-hatenab {
	display: inline-block;
padding: 10px;
margin:3px;
	line-height: 1;
	text-decoration: none;
color: #00A4DE;
border: 1.5px solid;
border-color: #00A4DE;
border-radius: 3px;
}
a.sns-tag-cloud-hatenab:hover {
background: #00A4DE; 
color: #fff; 
}

a.sns-tag-cloud-facebook {
	display: inline-block;
padding: 10px;
margin:3px;
	line-height: 1;
	text-decoration: none;
	color: #4064AC;
border: 1.5px solid;
border-color: #4064AC;
border-radius: 3px;
}
a.sns-tag-cloud-facebook:hover {
background: #4064AC; 
color: #fff; 
}

a.sns-tag-cloud-x {
	display: inline-block;
padding: 10px;
margin:3px;
	line-height: 1;
	text-decoration: none;
	color: #000000;
border: 1.5px solid;
border-color: #000000;
background: #fff;
border-radius: 3px;
}
a.sns-tag-cloud-x:hover {
background: #000000; 
color: #fff; 
}



a.sns-tag-cloud-line {
	display: inline-block;
padding: 10px;
margin:3px;
	line-height: 1;
	text-decoration: none;
	color: #21BA4E;
border: 1.5px solid;
border-color: #21BA4E;
border-radius: 3px;
}
a.sns-tag-cloud-line:hover {
background: #21BA4E; 
color: #fff; 
}


/* topに戻るボタン */
#page_top{
width: 50px;
height: 50px;
position: fixed;
    right: 13px; 
    bottom: 13px;
background: var(--tsuki-main);
opacity: 0.6;
border-radius: 50%;
}
#page_top a{
position: relative;
display: block;
width: 50px;
height: 50px;/*横幅縦幅大きくするならここも変える*/
text-decoration: none;
}
#page_top a::before{
font-family: 'blogicon';
font-weight: 900;
content: '\f007';
font-size: 25px;
color: #fff;
position: absolute;
width: 25px;
height: 25px;
top: 1px;
bottom: 0;
right: 0;
left: 0;
margin: auto;
text-align: center;
}

#page_top a::after{
content: 'TOP';
font-size: 13px;
color: #fff;
position: absolute;
top: 4px;
bottom: 0;
right: 0;
left: 0;
margin: auto;
text-align: center;
} 

/* 1000px以下の画面幅（スマートフォン） */
@media screen and (max-width: 1000px) {
    #page_top {
        display: none; /* スマートフォンで非表示にする */
    }
}

    
/* =====================================
   スマホ ボトムナビ
   正しいリスト構造＋検索ポップアップ対応
===================================== */

.bottom-nav-wrap {
    display: none;
}

@media screen and (max-width: 1000px) {

    .bottom-nav-wrap {
        display: block;
    }

    /* ボトムメニュー本体 */
    ul.bottom-menu {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 900;
        display: flex;
        width: 100%;
        height: calc(57px + env(safe-area-inset-bottom));
        margin: 0;
        padding: 0 0 env(safe-area-inset-bottom);
        box-sizing: border-box;
        background: var(--tsuki-ivory);
        border-top: 2px solid var(--tsuki-main);
        list-style: none;
    }

    ul.bottom-menu > li {
        position: relative;
        flex: 1 1 20%;
        width: 20%;
        height: 55px;
        margin: 0;
        padding: 0;
        background: var(--tsuki-ivory);
        list-style: none;
        text-align: center;
    }

    /* リンクとボタンを同じ見た目に */
    ul.bottom-menu > li > a,
    ul.bottom-menu > li > button {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        width: 100%;
        height: 55px;
        margin: 0;
        padding: 5px 2px 3px;
        border: 0;
        background: var(--tsuki-ivory);
        color: var(--tsuki-main);
        font-family: inherit;
        text-decoration: none;
        cursor: pointer;
        touch-action: manipulation;
        -webkit-appearance: none;
        appearance: none;
    }

    ul.bottom-menu > li > a:hover,
    ul.bottom-menu > li > button:hover {
        color: var(--tsuki-main-hover);
    }

    ul.bottom-menu > li > a i,
    ul.bottom-menu > li > button i {
        display: block;
        margin: 0 0 4px;
        font-size: 24px;
        line-height: 24px;
    }

    .bottom-menu .mini-text {
        display: block;
        font-size: 10px;
        line-height: 12px;
        white-space: nowrap;
    }

    /* はてなブログアイコン */
    .bottom-menu .blogicon-hatenablog::before {
        font-family: 'blogicon';
        content: "\f050";
    }

    /* おすすめ記事パネル */
    .bottom-menu .menu-second-level {
        display: none;
        position: fixed;
        left: 0;
        right: 0;
        bottom: calc(57px + env(safe-area-inset-bottom));
        z-index: 920;
        width: 100%;
        max-height: 60vh;
        overflow-y: auto;
        box-sizing: border-box;
        margin: 0;
        padding: 0;
        background: var(--tsuki-ivory);
        border-top: 2px solid var(--tsuki-main);
        box-shadow: 0 -4px 12px rgba(0, 0, 0, .12);
        list-style: none;
    }

    .bottom-menu .menu-width-max.is-open .menu-second-level {
        display: block;
    }

    .bottom-menu .menu-second-level li {
        width: 100%;
        margin: 0;
        padding: 0;
        border: 0;
        border-bottom: 1px solid var(--tsuki-border);
        list-style: none;
    }

    .bottom-menu .menu-second-level li a {
        display: block;
        padding: 12px 18px;
        background: var(--tsuki-ivory);
        color: var(--tsuki-text);
        font-size: 14px;
        line-height: 1.5;
        text-align: left;
        text-decoration: none;
    }

    .bottom-menu .menu-second-level li a:hover {
        background: var(--tsuki-light);
    }

    /* 検索ポップアップ */
    #bottom-search-panel {
        display: none;
        position: fixed;
        left: 15px;
        right: 15px;
        bottom: calc(72px + env(safe-area-inset-bottom));
        z-index: 950;
        box-sizing: border-box;
        padding: 18px 16px 16px;
        background: var(--tsuki-ivory);
        border: 2px solid var(--tsuki-main);
        border-radius: 12px;
        box-shadow: 0 4px 18px rgba(0, 0, 0, .20);
    }

    #bottom-search-panel.is-open {
        display: block;
    }

    .bottom-search-title {
        margin: 0 0 12px;
        color: var(--tsuki-text);
        font-size: 16px;
        font-weight: bold;
        text-align: center;
    }

    .bottom-search-title i {
        margin-right: 5px;
        color: var(--tsuki-main);
    }

    .bottom-search-form {
        display: flex;
        width: 100%;
        margin: 0;
        border: 2px solid var(--tsuki-main);
        border-radius: 20px;
        background: #fff;
        overflow: hidden;
        box-sizing: border-box;
    }

    .bottom-search-form .search-module-input {
        flex: 1 1 auto;
        min-width: 0;
        box-sizing: border-box;
        padding: 10px 14px;
        border: 0;
        outline: 0;
        background: #fff;
        color: var(--tsuki-text);
        font-size: 16px;
    }

    .bottom-search-form .search-module-button {
        flex: 0 0 auto;
        width: 46px;
        border: 0;
        background: var(--tsuki-main);
        color: #fff;
        font-size: 0;
        cursor: pointer;
        -webkit-appearance: none;
        appearance: none;
    }

    .bottom-search-form .search-module-button::before {
        content: "\f003";
        font-family: 'blogicon';
        font-size: 18px;
    }

    #bottom-search-close {
        position: absolute;
        top: -12px;
        right: -10px;
        width: 32px;
        height: 32px;
        margin: 0;
        padding: 0;
        border: 0;
        border-radius: 50%;
        background: var(--tsuki-main);
        color: #fff;
        font-size: 22px;
        line-height: 32px;
        text-align: center;
        cursor: pointer;
        -webkit-appearance: none;
        appearance: none;
    }
}

/* 検索窓 */
.hatena-module-search-box  .search-form{
   overflow: hidden; /* 内容がはみ出た分を隠す */
   width: 100%;
   margin-left: auto; 
   margin-right: 0; 
   margin-bottom: 30px;
   border: 2px solid var(--tsuki-main); 
   border-radius: 20px;
   background: #FFFFFF; 
   }


/* 検索窓スマホ表示 */
@media screen and (max-width:767px){

  .hatena-module-search-box .search-form {
    overflow: hidden;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 10px;
    margin-bottom: 20px;
    border: 2px solid var(--tsuki-main);
    border-radius: 20px;
    background: #FFFFFF;
  }



}



/* 検索結果ページの検索窓を非表示にする　ダブり防止 */
.search-result-form {
    display: none;
    }

/* =====================================
   たれみみ日和 サイドバーカテゴリー
   開閉式
===================================== */

.taremimi-category {
  margin: 0 0 30px;
  font-size: 15px;
}

/* タイトル */
.taremimi-category-title {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  color: #333;
  margin: 0 0 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid #ddd;
}


/* 各カテゴリーグループ */
.taremimi-cat-group {
  margin: 0;
  padding: 0;
  border-bottom: 1px dotted #d6d6d6;
}


/* 開閉部分 */
.taremimi-cat-group summary {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  width: 100%;
  padding: 12px 30px 12px 8px;
  color: #333;
  font-weight: 500;
  cursor: pointer;
  list-style: none;
  transition: background-color 0.2s ease;
}


/* Chrome / Safari の標準三角を消す */
.taremimi-cat-group summary::-webkit-details-marker {
  display: none;
}


/* Firefox等 */
.taremimi-cat-group summary::marker {
  display: none;
  content: "";
}


/* マウスを乗せた時 */
.taremimi-cat-group summary:hover {
  background-color: #EEEAE4;
}


/* 右側の矢印 */
.taremimi-cat-group summary::after {
  content: "▼";
  position: absolute;
  right: 9px;
  top: 50%;
  transform: translateY(-50%) rotate(-90deg);
  font-size: 11px;
  color: #78907C;
  transition: transform 0.2s ease;
}


/* 開いた時 */
.taremimi-cat-group[open] summary::after {
  transform: translateY(-50%) rotate(0deg);
}


/* アイコン＋文字 */
.taremimi-category .cat-label {
  display: flex;
  align-items: center;
  gap: 7px;
}


/* blogicon */
.taremimi-category .cat-label i {
  width: 20px;
  text-align: center;
  color: #78907C;
}


/* ☆など文字アイコン */
.taremimi-category .cat-text-icon {
  display: inline-block;
  width: 20px;
  text-align: center;
  color: #78907C;
  font-size: 18px;
}


/* 開いた中のリスト */
.taremimi-cat-group ul {
  list-style: none;
  margin: 0;
  padding: 0 0 7px;
}


/* 子カテゴリー */
.taremimi-cat-group li {
  margin: 0;
  padding: 0;
}


/* 子カテゴリーのリンク */
.taremimi-cat-group li a {
  position: relative;
  display: block;
  padding: 8px 10px 8px 38px;
  color: #555;
  font-size: 14px;
  line-height: 1.5;
  text-decoration: none;
}


/* 小さい点 */
.taremimi-cat-group li a::before {
  content: "›";
  position: absolute;
  left: 21px;
  color: #78907C;
}


/* 子カテゴリー hover */
.taremimi-cat-group li a:hover {
  color: #78907C;
  background-color: #EEEAE4;
  text-decoration: none;
}


/* スマホ・タブレットでも押しやすく */
@media screen and (max-width: 1000px) {

  .taremimi-cat-group summary {
    padding-top: 13px;
    padding-bottom: 13px;
  }

  .taremimi-cat-group li a {
    padding-top: 10px;
    padding-bottom: 10px;
  }

}

/* スマホ・タブレットのドロワー内：カテゴリー／プロフィール */
#mobile-category-menu {
  margin: 10px 15px 20px;
}

#mobile-profile-menu {
  margin: 0 15px 20px;
}

.mobile-drawer-extra {
  padding-bottom: 20px;
}

/* PCではスマホ用コピーを表示しない */
@media screen and (min-width: 1001px) {
  #mobile-category-menu,
  #mobile-profile-menu,
  .mobile-drawer-extra {
    display: none !important;
  }
}

/* =====================================
   PC・スマホ グローバルナビ切り替え
===================================== */

/* PCでは通常のグローバルナビを表示 */
.desktop-global-nav {
  display: flex;
}

/* スマホではPC用グローバルナビを非表示 */
@media screen and (max-width: 1000px) {

  .desktop-global-nav {
    display: none !important;
  }

}

/* スマホメニュー HOME */
.mobile-menu-home {
  border-bottom: 1px solid #ddd;
}

.mobile-menu-home a {
  display: block;
  padding: 13px 8px;
  color: #333;
  font-size: 16px;
  text-decoration: none;
  text-align: left !important;
}

.mobile-menu-home i {
  margin-right: 7px;
  color: #78907C;
}



/* =====================================
   シニアうさぎ・直接リンク
===================================== */
.taremimi-cat-direct {
    margin: 0;
    padding: 0;
    border-bottom: 1px dotted #d6d6d6;
}

.taremimi-cat-direct > a {
    display: block;
    box-sizing: border-box;
    width: 100%;
    padding: 12px 30px 12px 8px;
    color: #333;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    transition: background-color .2s ease;
}

.taremimi-cat-direct > a:hover {
    background-color: #EEEAE4;
    color: #333;
    text-decoration: none;
}

.taremimi-cat-direct .cat-label {
    display: flex;
    align-items: center;
    gap: 7px;
}

.taremimi-cat-direct .cat-text-icon {
    display: inline-block;
    width: 20px;
    text-align: center;
    color: var(--tsuki-main);
    font-size: 17px;
}

@media screen and (max-width: 1000px) {
    .taremimi-cat-direct > a {
        padding-top: 13px;
        padding-bottom: 13px;
    }
}

/* キーボード操作時のフォーカスを見やすくする */
.taremimi-cat-group summary:focus-visible,
.taremimi-cat-direct > a:focus-visible,
.drawer_menu a:focus-visible,
.drawer_menu button:focus-visible,
.bottom-menu a:focus-visible,
.bottom-menu button:focus-visible {
    outline: 2px solid var(--tsuki-main);
    outline-offset: 2px;
}

/* =====================================
   トップページ「知りたいことから探す」
===================================== */
.top-category-area {
    display: none;
}

.page-index .top-category-area {
    display: block;
    max-width: 1000px;
    margin: 18px auto 28px;
    padding: 0 14px;
    box-sizing: border-box;
}

.top-category-heading {
    margin-bottom: 14px;
    color: #586c60;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: .06em;
    text-align: center;
}

.top-category-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.top-category-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 105px;
    padding: 16px 12px;
    box-sizing: border-box;
    background: #f8f6ef;
    border: 1px solid #b8c9be;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 2px 7px rgba(70, 90, 78, .08);
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.top-category-card::before {
    content: "";
    width: 30px;
    height: 3px;
    margin: 0 auto 10px;
    background: #88a090;
    border-radius: 10px;
}

.top-category-card:hover {
    transform: translateY(-2px);
    background: #f3f6f1;
    box-shadow: 0 5px 12px rgba(70, 90, 78, .12);
}

.top-category-main {
    display: block;
    text-decoration: none !important;
}

.top-category-title {
    display: block;
    color: #43574b;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
}

.top-category-text {
    display: block;
    margin-top: 6px;
    color: #75827a;
    font-size: 12px;
    line-height: 1.6;
}

.top-category-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    margin-top: 10px;
}

.top-category-links a {
    display: inline-block;
    padding: 5px 9px;
    background: #eef3ee;
    border: 1px solid #d7e1d8;
    border-radius: 20px;
    color: #506659;
    font-size: 11px;
    line-height: 1.4;
    text-decoration: none !important;
}

.top-category-links a:hover {
    background: #e4ede5;
}

.top-category-main-links {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 10px;
}

.top-category-main-links a {
    flex: 1;
    display: block;
    padding: 8px 5px;
    background: #e8efe9;
    border: 1px solid #cbd8cd;
    border-radius: 8px;
    color: #475c50;
    font-size: 13px;
    font-weight: 600;
    text-align: center;
    text-decoration: none !important;
}

.top-category-main-links a:hover {
    background: #dde9df;
}

@media screen and (max-width: 767px) {
    .page-index .top-category-area {
        margin: 14px auto 22px;
        padding: 0 10px;
    }

    .top-category-heading {
        margin-bottom: 10px;
        font-size: 16px;
    }

    .top-category-cards {
        grid-template-columns: repeat(2, 1fr);
        gap: 9px;
    }

    .top-category-card {
        min-height: 0;
        padding: 12px 8px 10px;
        border-radius: 10px;
    }

    .top-category-card::before {
        width: 24px;
        margin-bottom: 7px;
    }

    .top-category-title {
        margin-bottom: 4px;
        font-size: 16px;
    }

    .top-category-text {
        margin-top: 4px;
        margin-bottom: 7px;
        font-size: 11px;
        line-height: 1.45;
    }

    .top-category-links {
        gap: 5px;
        margin-top: 7px;
    }

    .top-category-links a {
        padding: 4px 7px;
        font-size: 11px;
    }

    .top-category-main-links {
        gap: 6px;
        margin-top: 7px;
    }

    .top-category-main-links a {
        padding: 6px 4px;
        font-size: 12px;
    }
}

/* =====================================
   広告・PR表記
===================================== */
.manual-ad-wrap,
.ad-infeed {
    margin: 24px 0;
}

.ad-label {
    margin: 0 0 6px;
    color: #a9a9a9;
    font-size: 80%;
    text-align: center;
}

.promotion-notice {
    color: #AAAAAA;
    font-size: 90%;
}

/* 記事下 */
#my-footer {
    text-align: center;
}

#my-footer .ranking-message {
    margin-bottom: 10px;
}

.share-heading {
    color: #2196f3;
    font-size: 150%;
}
