﻿/*
Theme Name: Machikane
Theme URI: https://lab.machikane.net/
Description: マチカネ通信（https://lab.machikane.net/）専用の2カラムメディアテーマ。趣味・研究・取材をディレクトリ的に書き込む楽しい系メディア向け。
Version: 1.0.0
Author: マチカネ通信
Author URI: https://lab.machikane.net/
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: machikane
Tags: news, two-columns, right-sidebar, block-styles, custom-background, custom-colors, custom-header, custom-logo, custom-menu, editor-style, featured-images, flexible-header, footer-widgets, theme-options, threaded-comments, translation-ready
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Domain Path: /languages

This theme is based on FreshWP by ThemesDNA (https://themesdna.com/).
FreshWP is licensed under the GNU General Public License v2 or later.
*/

/* CSS Custom Properties (Design Tokens)
-------------------------------------------------------------- */
:root{
    color-scheme: light dark;
    --machikane-accent:#B54848;
    --machikane-accent-rgb:181,72,72;
    --machikane-accent-dark:#a03030;
    --machikane-accent-tint:#fdf5f5;
    --machikane-nav-bg:#1a1a1a;
    --machikane-nav-border:#333333;
    --machikane-sub-menu-bg:#222222;
    --machikane-text:#333333;
    --machikane-text-strong:#111111;
    --machikane-text-emphasis:#222222;
    --machikane-text-dark:#444444;
    --machikane-text-muted:#5e5e5e;
    --machikane-text-light:#666666;
    --machikane-text-secondary:#555555;
    --machikane-border:#e5e5e5;
    --machikane-border-mid:#e0e0e0;
    --machikane-border-light:#e8e8e8;
    --machikane-icon-bg:#555555;
    --machikane-bg:#f8f8f8;
    --machikane-code-bg:#1d1f21;
    /* デフォルト: 日本語システムフォント（OS 標準のみ）。
       「ウェブフォントを有効化する」設定を ON にすると、enqueue.php からの
       inline CSS により Noto Sans JP + size-adjust fallback を含む値で上書きされる。 */
    --machikane-font-base:'Hiragino Sans','Hiragino Kaku Gothic ProN','Yu Gothic UI','Yu Gothic','Meiryo',system-ui,-apple-system,sans-serif;
}

/* Reset
-------------------------------------------------------------- */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,font,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{border:0;font-family:inherit;font-size:100%;font-style:inherit;font-weight:inherit;margin:0;outline:0;padding:0;vertical-align:baseline;}
html{font-family:sans-serif;font-size:62.5%;overflow-y:scroll;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;}
body{background:#fff;line-height:1;}
article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section{display:block;}
audio,canvas,progress,video{display:inline-block;vertical-align:baseline;}
audio:not([controls]){display:none;height:0;}
ol,ul{list-style:none;}
table{border-collapse:separate;border-spacing:0;}
caption,th,td{font-weight:400;text-align:left;}
textarea{overflow:auto;}
optgroup{font-weight:700;}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}
sup{top:-.5em;}
sub{bottom:-.25em;}
blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}
blockquote,q{quotes:none;}
a{background-color:transparent;}
a:hover,a:active{outline:0;}
a img{border:0;}
[hidden]{display:none;}
abbr[title]{border-bottom:1px dotted;}
b,strong{font-weight:700;}
dfn,cite,em,i{font-style:italic;}
small{font-size:80%;}
svg:not(:root){overflow:hidden;}
figure{margin:1em 40px;}
hr{box-sizing:content-box;height:0;}
pre{overflow:auto;}
code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em;}
button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0;}
button{overflow:visible;}
button,select{text-transform:none;}
button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;appearance:button;cursor:pointer;}
button[disabled],html input[disabled]{cursor:default;}
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}
input{line-height:normal;}
input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;}
input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto;}
input[type="search"]{-webkit-appearance:textfield;appearance:textfield;box-sizing:content-box;}
input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;appearance:none;}
fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em;}
html{box-sizing:border-box;}
*,*::before,*::after{box-sizing:inherit;}
img{max-width:100%;height:auto;}
embed,object,video{max-width:100%;}
::selection{background-color:var(--machikane-accent);color:#ffffff;text-shadow:none;}

/* Clearings & Accessibility
-------------------------------------------------------------- */
.clear{clear:both;}
.clearfix:before,.clearfix:after{content:" ";display:table;}
.clearfix:after{clear:both;}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute !important;word-wrap:normal !important;}
.screen-reader-text:focus{background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,0.6);clip:auto !important;clip-path:none;color:#21759b;display:block;font-size:1em;height:auto;width:auto;margin:0;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;z-index:100000;}


/* Typography & Elements
-------------------------------------------------------------- */
body{background:var(--machikane-bg);font-style:normal;font-weight:normal;font-size:16px;font-family:var(--machikane-font-base);line-height:1.8;margin:0;padding:0;word-break:normal;overflow-wrap:break-word;line-break:strict;}
body,button,input,select,textarea{color:var(--machikane-text);}
button,input,select,textarea{font-family:inherit;font-size:inherit;}
button,select{max-width:100%;}
a{color:var(--machikane-text-light);text-decoration:underline;transition:color .2s linear,text-decoration .2s linear;}
a:hover{color:var(--machikane-nav-bg);text-decoration:none;}
a:focus{outline:none;}
a:focus-visible{outline:2px solid var(--machikane-accent);outline-offset:2px;}
h1{font-size:32px;font-weight:700;font-family:var(--machikane-font-base);margin-bottom:20px;margin-top:30px;}
h2{font-size:26px;font-weight:700;font-family:var(--machikane-font-base);margin-bottom:16px;margin-top:28px;}
h3{font-size:22px;font-weight:700;font-family:var(--machikane-font-base);margin-bottom:14px;margin-top:24px;}
h4{font-size:19px;font-weight:700;font-family:var(--machikane-font-base);margin-bottom:12px;margin-top:20px;}
h5{font-size:17px;font-weight:700;font-family:var(--machikane-font-base);margin-bottom:10px;margin-top:18px;}
h6{font-size:16px;font-weight:700;font-family:var(--machikane-font-base);margin-bottom:10px;margin-top:16px;}
h1,h2,h3,h4{clear:both;line-height:1.5;}
h5,h6{clear:both;line-height:1.5;}
h1,h2,h3,h4,h5,h6{color:var(--machikane-text-strong);}
h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{font-weight:inherit;}
p{margin-bottom:1.2em;font-size:16px;font-family:var(--machikane-font-base);line-height:1.8;}
blockquote{font-size:100%;position:relative;border-left:4px solid var(--machikane-accent);text-align:left;padding:10px 15px;margin:10px 0;background:#faf7f7;font-style:normal;}
blockquote p{margin:0!important;font-family:inherit;line-height:1.7;}
blockquote cite{color:var(--machikane-text-light);font-size:14px;display:block;margin-top:5px;text-align:left;}
blockquote cite:before{content:"\2014 \2009";}
address{margin:0 0 1.5em;}
pre{background:var(--machikane-code-bg);color:#ffffff;font-family:'Courier 10 Pitch',Courier,monospace;font-size:15px;line-height:1.6;margin-bottom:1.6em;max-width:100%;overflow:auto;padding:1.6em;}
code,kbd,tt,var{font-family:Monaco,Consolas,'Andale Mono','DejaVu Sans Mono',monospace;font-size:15px;}
abbr,acronym{border-bottom:1px dotted var(--machikane-text-light);cursor:help;}
mark,ins{background:#fff9c0;text-decoration:none;}
sup,sub{font-size:75%;height:0;line-height:0;position:relative;vertical-align:baseline;}
sup{bottom:1ex;}
sub{top:.5ex;}
small{font-size:75%;}
big{font-size:125%;}
hr{background-color:#ccc;border:0;height:1px;margin-bottom:1.5em;}
ul,ol{margin:0 0 1.5em 3em;}
ul{list-style:disc;}
ol{list-style:decimal;}
li > ul,li > ol{margin-bottom:0;margin-left:1.5em;}
dt{font-weight:700;}
dd{margin:0 1.5em 1.5em;}
img{height:auto;max-width:100%;}
figure{margin:0;}
table{margin:0 0 1.5em;width:100%;}
th{font-weight:700;}
thead th{background:var(--machikane-nav-bg);color:#fff;}
th,td,caption{padding:4px 10px 4px 5px;}
tr.even td{background:#CDCFD3;}
tfoot{font-style:italic;}
caption{background:#eee;}
embed,iframe,object{max-width:100%;}

/* Forms
-------------------------------------------------------------- */
button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;}
button,input[type="button"],input[type="reset"],input[type="submit"]{border:1px solid var(--machikane-nav-bg);border-radius:0;background:var(--machikane-text);color:#ffffff;cursor:pointer;-webkit-appearance:button;appearance:button;font-size:12px;line-height:1;padding:.6em 1em .8em;transition:background .2s ease-in-out,border-color .2s ease-in-out,color .2s ease-in-out;}
button:hover,input[type="button"]:hover,input[type="reset"]:hover,input[type="submit"]:hover{background:var(--machikane-nav-bg);}
button:focus,input[type="button"]:focus,input[type="reset"]:focus,input[type="submit"]:focus,button:active,input[type="button"]:active,input[type="reset"]:active,input[type="submit"]:active{background:var(--machikane-nav-bg);}
button:focus-visible,input[type="button"]:focus-visible,input[type="reset"]:focus-visible,input[type="submit"]:focus-visible{outline:2px solid var(--machikane-accent);outline-offset:2px;}
input[type="checkbox"],input[type="radio"]{padding:0;}
input[type="search"]{-webkit-appearance:textfield;appearance:textfield;box-sizing:content-box;}
input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;appearance:none;}
input[type="text"],input[type="email"],input[type="url"],input[type="password"],input[type="search"],input[type="tel"],input[type="number"],textarea{color:var(--machikane-text-light);border:1px solid #ddd;border-radius:4px;}
input[type="text"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="password"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="number"]:focus,textarea:focus{color:var(--machikane-text-strong);box-shadow:0 0 0 3px rgba(var(--machikane-accent-rgb),0.15);border-radius:4px;}
input[type="text"],input[type="email"],input[type="url"],input[type="password"],input[type="search"],input[type="tel"],input[type="number"]{padding:5px;}
textarea{overflow:auto;padding-left:3px;vertical-align:top;width:100%;}

/* Layout
-------------------------------------------------------------- */
.machikane-wrapper{margin:0 auto;background:#f5f0f0;}
.machikane-container{width:98%;max-width:1270px;margin:0 auto 0;padding:0;}
.machikane-container:before,.machikane-container:after{content:" ";display:table;}
.machikane-container:after{clear:both;}
#machikane-content-wrapper:before,#machikane-content-wrapper:after{content:" ";display:table;}
#machikane-content-wrapper:after{clear:both;}
#machikane-content-wrapper{padding:0;}
#machikane-content-inner-wrapper{display:flex;flex-direction:row;justify-content:space-between;align-items:stretch;flex-wrap:wrap;align-content:stretch;}
/* 2カラムレイアウト: メイン74% + 右サイドバー24% */
#machikane-main-wrapper{margin:0;padding:0;word-wrap:break-word;overflow:hidden;background:none;position:relative;flex:0 0 74%;max-width:74%;order:1;}
#machikane-sidebar-two-wrapper{margin:0;padding:0;word-wrap:break-word;overflow:hidden;background:none;position:relative;flex:0 0 24%;max-width:24%;order:2;}
.machikane-main-wrapper-inside{padding:15px 10px;}
.machikane-sidebar-two-wrapper-inside{padding:15px 10px;}
.machikane-content-outer-container{overflow:hidden;}
#machikane-posts-wrapper{margin:0 0 30px 0;}

/* Header
-------------------------------------------------------------- */
.machikane-header-outer-container{overflow:hidden;}
.machikane-header-container{overflow:hidden;}
#machikane-header{clear:both;margin:0 auto;padding:0;border-bottom:none;position:relative;z-index:1;}
#machikane-head-content{margin:0 auto;padding:20px 24px;position:relative;min-height:90px;z-index:98;overflow:hidden;background:var(--machikane-header-bg, #ffffff);border-bottom:1px solid var(--machikane-border);}
.machikane-header-image{margin:0 0 10px 0;}
.machikane-header-img-link{display:block;}
.machikane-header-img{display:block;margin:0 auto;}
.machikane-header-inside{overflow:hidden;}
#machikane-logo{margin:5px 0px 5px 0px;float:left;width:40%;}
.machikane-logo-image-link{display:block;}
.machikane-logo-img{display:block;padding:0;margin:0;}
.machikane-site-title{font-size:26px;font-weight:900;font-family:var(--machikane-font-base);margin:0 0 6px 0;line-height:1.2;letter-spacing:0.02em;color:var(--machikane-header-text, var(--machikane-text-strong));}
.machikane-site-title a{color:var(--machikane-header-text, var(--machikane-text-strong));text-decoration:none;transition:color 0.15s;}
.machikane-site-title a:hover,.machikane-site-title a:focus{color:var(--machikane-accent);text-decoration:none;}
.machikane-site-description{font-size:13px;font-family:var(--machikane-font-base);line-height:1.5;color:var(--machikane-header-text, var(--machikane-text-light));margin:0;letter-spacing:0.02em;margin-top:4px;}
#machikane-header-banner{float:right;width:59%;}
#machikane-header-banner .widget{margin:0 0 10px 0;}
#machikane-header-banner .widget:last-child{margin:0 0 0 0;}
#machikane-header-banner img{display:block;}
@media only screen and (max-width: 781px) {
#machikane-logo{margin:5px 0px 10px 0px;float:none;width:100%;text-align:center;}
.machikane-logo-img{display:block;padding:0;margin:0 auto;}
#machikane-header-banner{float:none;width:100%;text-align:center;}
#machikane-header-banner img{margin:0 auto;}
}

/* Menu
-------------------------------------------------------------- */
.machikane-primary-menu-container.machikane-fixed{position:fixed;width:100%;top:0;left:0;z-index:400;max-width:100%;}
body.admin-bar .machikane-primary-menu-container.machikane-fixed{top:32px;}
@media screen and (max-width: 782px){body.admin-bar .machikane-primary-menu-container.machikane-fixed{top:46px;}}
@media screen and (max-width: 600px){body.admin-bar .machikane-primary-menu-container.machikane-fixed{top:0;}}
.machikane-primary-menu-container.machikane-fixed .machikane-primary-menu-container-inside{margin:0 auto;max-width:1270px;}
/* スティッキーナビ: body.machikane-sticky-nav 時にナビをビューポート上部に固定 */
.machikane-sticky-nav .machikane-primary-menu-container{position:sticky;top:0;z-index:400;width:100%;}
body.admin-bar.machikane-sticky-nav .machikane-primary-menu-container{top:32px;}
@media screen and (max-width: 782px){body.admin-bar.machikane-sticky-nav .machikane-primary-menu-container{top:46px;}}
@media screen and (max-width: 600px){body.admin-bar.machikane-sticky-nav .machikane-primary-menu-container{top:0;}}
/* スティッキーナビ有効時: アンカーリンク先見出しがナビに隠れないようオフセット */
.machikane-sticky-nav h1[id],
.machikane-sticky-nav h2[id],
.machikane-sticky-nav h3[id],
.machikane-sticky-nav h4[id],
.machikane-sticky-nav h5[id],
.machikane-sticky-nav h6[id]{scroll-margin-top:56px;}
body.admin-bar.machikane-sticky-nav h1[id],
body.admin-bar.machikane-sticky-nav h2[id],
body.admin-bar.machikane-sticky-nav h3[id],
body.admin-bar.machikane-sticky-nav h4[id],
body.admin-bar.machikane-sticky-nav h5[id],
body.admin-bar.machikane-sticky-nav h6[id]{scroll-margin-top:88px;}
@media screen and (max-width: 782px){
body.admin-bar.machikane-sticky-nav h1[id],
body.admin-bar.machikane-sticky-nav h2[id],
body.admin-bar.machikane-sticky-nav h3[id],
body.admin-bar.machikane-sticky-nav h4[id],
body.admin-bar.machikane-sticky-nav h5[id],
body.admin-bar.machikane-sticky-nav h6[id]{scroll-margin-top:102px;}
}
.machikane-primary-menu-container-inside{position:relative;}
.machikane-nav-primary:before{content:" ";display:table}
.machikane-nav-primary:after{clear:both;content:" ";display:table}
.machikane-nav-primary{float:none;background:var(--machikane-primary-nav-bg, #ffffff);border-top:1px solid #ececec;border-left:none;border-right:none;border-bottom:2px solid var(--machikane-nav-accent, var(--machikane-accent));box-shadow:0 1px 2px rgba(0,0,0,0.04);}
.machikane-primary-nav-menu{line-height:1;margin:0;padding:0;width:100%;list-style:none;list-style-type:none;}
.machikane-primary-nav-menu li{border-width:0;display:inline-block;margin:0;padding-bottom:0;text-align:left;float:left;}
.machikane-primary-nav-menu a{border:none;color:var(--machikane-text);text-shadow:none;display:block;padding:14px 18px;position:relative;transition:background 0.2s ease,color 0.2s ease,border-color 0.2s ease;}
.machikane-primary-nav-menu a:hover,.machikane-primary-nav-menu a:focus,.machikane-primary-nav-menu .current-menu-item > a,.machikane-primary-nav-menu .current_page_item > a{text-decoration:none;outline:none;}
.machikane-primary-nav-menu a:focus-visible{outline:2px solid var(--machikane-accent);outline-offset:-2px;}
.machikane-primary-nav-menu .sub-menu,.machikane-primary-nav-menu .children{margin:0;padding:0;left:-9999px;opacity:0;position:absolute;transition:opacity .4s ease-in-out;width:190px;z-index:99;background:#ffffff;border:1px solid #ececec;box-shadow:0 6px 20px rgba(0,0,0,0.08);}
.machikane-primary-nav-menu .sub-menu a,.machikane-primary-nav-menu .children a{border:none;border-top:1px solid rgba(0,0,0,0.06);letter-spacing:0;padding:16px 15px;position:relative;width:190px;}
.machikane-primary-nav-menu .sub-menu li:first-child a,.machikane-primary-nav-menu .children li:first-child a{border-top:none;}
.machikane-primary-nav-menu .sub-menu .sub-menu,.machikane-primary-nav-menu .children .children{margin:-47px 0 0 189px;}
.machikane-primary-nav-menu li:hover,.machikane-primary-nav-menu li.machikane-focus{position:static;}
.machikane-primary-nav-menu li:hover > .sub-menu,.machikane-primary-nav-menu li:hover > .children,.machikane-primary-nav-menu li.machikane-focus > .sub-menu,.machikane-primary-nav-menu li.machikane-focus > .children{left:auto;opacity:1;}
.machikane-primary-nav-menu a{font-size:13px;font-family:var(--machikane-font-base);line-height:1;}
.machikane-primary-nav-menu > li > a{text-transform:none;font-weight:500;letter-spacing:0.04em;}
.machikane-primary-nav-menu a:hover,.machikane-primary-nav-menu a:focus,.machikane-primary-nav-menu .sub-menu .current-menu-item > a:hover,.machikane-primary-nav-menu .sub-menu .current-menu-item > a:focus,.machikane-primary-nav-menu .children .current_page_item > a:hover,.machikane-primary-nav-menu .children .current_page_item > a:focus{background:rgba(var(--machikane-accent-rgb),0.06);color:var(--machikane-nav-hover, var(--machikane-accent-dark));}
.machikane-primary-nav-menu .current-menu-item > a,.machikane-primary-nav-menu .current_page_item > a{color:var(--machikane-accent);}
.machikane-primary-nav-menu .sub-menu .current-menu-item > a,.machikane-primary-nav-menu .children .current_page_item > a{color:var(--machikane-accent);}
.machikane-primary-responsive-menu-icon{cursor:pointer;display:none;margin:0;text-align:left;padding:10px 16px;min-height:44px;border:none;background:none;text-shadow:none;font-size:13px;font-family:var(--machikane-font-base);line-height:24px;text-transform:none;letter-spacing:0.04em;border-radius:0;color:var(--machikane-text);}
.machikane-primary-responsive-menu-icon:hover,.machikane-primary-responsive-menu-icon:focus{background:rgba(var(--machikane-accent-rgb),0.06);color:var(--machikane-accent-dark);}
.machikane-primary-responsive-menu-icon:focus-visible{outline:2px solid var(--machikane-accent);outline-offset:-2px;}
.machikane-menu-icon-lines{width:24px;height:18px;margin:0 6px 0 0;display:inline-flex;flex-direction:column;justify-content:space-between;vertical-align:middle;}
.machikane-menu-icon-lines span{display:block;width:100%;height:2px;background:currentColor;border-radius:2px;}
.machikane-primary-nav-menu > li > a{border-right:1px solid rgba(0,0,0,0.06);}
.machikane-primary-nav-menu > li:first-child > a{border-left:none;}
@media only screen and (min-width: 782px) {
/* デスクトップ: メニューを常に表示（モバイルのmax-height制御をリセット） */
.machikane-primary-nav-menu{max-height:none;overflow:visible;transition:none;}
.machikane-primary-nav-menu > li.menu-item-has-children > a:after{content:"▼";font-style:normal;font-weight:normal;text-decoration:none;display:inline-block;margin-left:8px;margin-top:1px;vertical-align:top;font-size:80%;}
.machikane-primary-nav-menu .sub-menu li.menu-item-has-children > a:after,.machikane-primary-nav-menu .children li.menu-item-has-children > a:after{content:"▶";font-style:normal;font-weight:normal;text-decoration:none;display:inline-block;margin-left:8px;margin-top:1px;vertical-align:top;font-size:80%;position:absolute;right:8px;}
}
@media only screen and (max-width: 781px) {
#machikane-primary-navigation{margin-left:0;margin-right:0;}
/* スマホ: ハンバーガーボタン表示 */
.machikane-primary-responsive-menu-icon{display:block;}
/* スマホ: メニューは初期非表示、toggled時に展開（max-heightアニメーション） */
.machikane-primary-nav-menu{max-height:0;overflow:hidden;text-align:left;transition:max-height 0.28s ease;}
#machikane-primary-navigation.machikane-toggled .machikane-primary-nav-menu{max-height:1000px;}
/* メニューアイテムの縦並び */
.machikane-primary-nav-menu li{float:none;display:block;}
.machikane-primary-nav-menu li:hover,.machikane-primary-nav-menu li.machikane-focus{position:static;}
/* リンクのタップ領域確保 */
.machikane-primary-nav-menu li a,
.machikane-primary-nav-menu li a:hover,
.machikane-primary-nav-menu li a:focus{display:block;padding:16px 20px;border:none;border-bottom:1px solid rgba(0,0,0,0.06);}
.machikane-primary-nav-menu > li:first-child > a{border-top:1px solid rgba(0,0,0,0.06);}
/* 子メニュー展開制御 */
.machikane-primary-nav-menu .menu-item-has-children,.machikane-primary-nav-menu .page_item_has_children{cursor:pointer;position:relative;}
.machikane-primary-nav-menu .menu-item-has-children > a,.machikane-primary-nav-menu .page_item_has_children > a{padding-right:60px;}
/* 子メニュー展開矢印 */
.machikane-primary-nav-menu > .menu-item-has-children::before,
.machikane-primary-nav-menu > .page_item_has_children::before{content:"▼";position:absolute;right:0;top:0;font-style:normal;font-weight:normal;font-size:18px;line-height:1;width:50px;height:100%;min-height:50px;display:flex;align-items:center;justify-content:center;color:var(--machikane-text);text-shadow:none;pointer-events:none;}
/* サブメニュー: 初期非表示 */
.machikane-primary-nav-menu > li > .sub-menu,
.machikane-primary-nav-menu > li > .children{display:none;margin:0;padding:0;position:static;background:rgba(0,0,0,0.03);border:none;box-shadow:none;}
.machikane-primary-nav-menu > li.machikane-focus > .sub-menu,
.machikane-primary-nav-menu > li.machikane-focus > .children{display:block;}
.machikane-primary-nav-menu .sub-menu,
.machikane-primary-nav-menu .children{position:static;width:100%;margin:0;padding-left:15px;}
.machikane-primary-nav-menu .sub-menu .sub-menu,
.machikane-primary-nav-menu .children .children{background-color:transparent;margin:0;padding-left:15px;}
.machikane-primary-nav-menu .sub-menu li a,
.machikane-primary-nav-menu .sub-menu li a:hover,
.machikane-primary-nav-menu .sub-menu li a:focus,
.machikane-primary-nav-menu .children li a,
.machikane-primary-nav-menu .children li a:hover,
.machikane-primary-nav-menu .children li a:focus{padding:12px 20px;display:block;width:100%;box-sizing:border-box;}
.machikane-primary-nav-menu .sub-menu li:first-child a,
.machikane-primary-nav-menu .children li:first-child a{border-top:none;}
}

/* Posts
-------------------------------------------------------------- */
.machikane-posts{position:relative;margin:0 0 30px 0;word-break:normal;word-wrap:break-word;overflow:hidden;}
.machikane-posts .machikane-posts-heading{margin:0 0 10px 0;padding:0;border-bottom:1px solid var(--machikane-border);color:#ffffff;font-size:15px;font-weight:700;font-family:var(--machikane-font-base);line-height:1;text-decoration:none;letter-spacing:0.02em;}
.machikane-posts .machikane-posts-heading a,.machikane-posts .machikane-posts-heading a:hover,.machikane-posts .machikane-posts-heading a:focus{color:#ffffff;}
.machikane-posts .machikane-posts-heading span{background:var(--machikane-accent);padding:6px 14px;color:#ffffff;display:inline-block;border-radius:4px;letter-spacing:0.02em;}
.machikane-posts .machikane-posts-content:before,.machikane-posts .machikane-posts-content:after{content:" ";display:table;}
.machikane-posts .machikane-posts-content:after{clear:both;}
.machikane-posts .machikane-posts-content{padding:5px 0 5px;overflow:hidden;}
.machikane-posts .machikane-posts-container{overflow:hidden;}

.page-header{color:var(--machikane-text-secondary);margin:0 0 16px 0;padding:14px 18px;text-align:left;border-bottom:2px solid var(--machikane-accent);border-left:4px solid var(--machikane-accent);background:#fff;border-radius:0;}
.page-header h1{font-size:22px;line-height:1.3;padding:0;margin:0 0 6px 0;color:var(--machikane-nav-bg);font-family:var(--machikane-font-base);font-weight:700;letter-spacing:0.02em;}
.taxonomy-description{text-align:left;font-size:14px;color:var(--machikane-text-light);margin:0;}
.no-results.not-found{padding:0 0 15px 0;}

.machikane-post-singular{position:relative;padding:0;margin:0 0 30px 0;word-break:normal;word-wrap:break-word;overflow:hidden;}
/* アイキャッチ画像（単一記事）
-------------------------------------------------------------- */
.machikane-post-thumbnail-single{
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
    border-radius:8px;
    margin:0 0 28px 0;
    object-fit:cover;
    box-shadow:0 2px 12px rgba(0,0,0,0.10);
}
.machikane-entry-meta-single{margin:0 0 10px 0;text-align:center;color:var(--machikane-text-light);font-size:13px;font-family:var(--machikane-font-base);}
.machikane-entry-meta-single a{color:var(--machikane-text-light);}
.machikane-entry-meta-single a:hover,.machikane-entry-meta-single a:focus{color:var(--machikane-nav-bg);}
.machikane-entry-meta-single-top{margin:0 0 6px 0;padding:10px 0;border-bottom:1px dotted #ddd;}
.machikane-entry-meta-single-cats{margin:0 10px 0 0;display:inline-block;}
.machikane-entry-meta-single-author{margin:0 10px 0 0;display:inline-block;}
.machikane-entry-meta-single-date{margin:0 10px 0 0;display:inline-block;}
.machikane-entry-meta-single-comments{margin:0 10px 0 0;display:inline-block;}
.machikane-entry-meta-single-reading-time{margin:0 10px 0 0;display:inline-block;}

.entry-title{position:relative;font-size:26px;font-weight:700;font-family:var(--machikane-font-base);color:var(--machikane-nav-bg);margin:0 0 10px 0;line-height:1.5;letter-spacing:0.01em;text-align:left;}
@media only screen and (max-width: 768px){
.entry-title{font-size:20px;}
.machikane-site-title{font-size:24px;letter-spacing:0.01em;}
.page-header h1{font-size:18px;}
}
.entry-title a{color:var(--machikane-nav-bg);}
.entry-title a:hover,.entry-title a:focus{color:var(--machikane-accent);}
.entry-content{position:relative;margin:16px 0;line-height:1.8;overflow:hidden;font-size:16px;word-break:normal;overflow-wrap:break-word;line-break:strict;}
/* 記事内 img 全般 */
.entry-content img{
    max-width:100%;
    height:auto;
    display:block;
    border-radius:6px;
    margin:0 auto 1.2em;
    transition:opacity 0.2s ease;
}
/* ライトボックス対象画像: カーソルをズームに */
.entry-content img.machikane-lightbox-img{
    cursor:zoom-in;
}
.entry-content img.machikane-lightbox-img:focus-visible{
    outline:2px solid var(--machikane-accent);
    outline-offset:3px;
}
/* ライトボックスオーバーレイ */
.machikane-lightbox-overlay{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,0.88);
    z-index:9999;
    align-items:center;
    justify-content:center;
    cursor:zoom-out;
    padding:20px;
    box-sizing:border-box;
}
.machikane-lightbox-overlay.is-open{
    display:flex;
}
.machikane-lightbox-overlay img{
    max-width:min(90vw, 1400px);
    max-height:90vh;
    object-fit:contain;
    border-radius:4px;
    box-shadow:0 8px 48px rgba(0,0,0,0.6);
    cursor:default;
    animation:machikane-lb-in 0.18s ease;
    transition:opacity 0.2s ease;
}
.machikane-lightbox-close{
    position:fixed;
    top:12px;
    right:16px;
    color:#fff;
    font-size:32px;
    line-height:1;
    cursor:pointer;
    background:none;
    border:none;
    padding:8px 10px;
    min-width:44px;
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0.8;
    transition:opacity 0.15s;
    z-index:10000;
    font-family:sans-serif;
    border-radius:4px;
}
.machikane-lightbox-close:hover{opacity:1;}
.machikane-lightbox-close:focus-visible{
    outline:3px solid #fff;
    outline-offset:2px;
    opacity:1;
}

/* ライトボックス：前後ナビボタン */
.machikane-lightbox-prev,
.machikane-lightbox-next{
    position:fixed;
    top:50%;
    transform:translateY(-50%);
    color:#fff;
    background:rgba(0,0,0,0.4);
    border:none;
    border-radius:50%;
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    opacity:0.8;
    transition:opacity 0.15s,background 0.15s;
    z-index:10000;
    padding:0;
}
.machikane-lightbox-prev{left:12px;}
.machikane-lightbox-next{right:12px;}
.machikane-lightbox-prev span,
.machikane-lightbox-next span{display:block;font-size:36px;font-weight:700;line-height:1;transform:translateY(-1px);}
.machikane-lightbox-prev:hover,
.machikane-lightbox-next:hover{opacity:1;background:rgba(0,0,0,0.7);}
.machikane-lightbox-prev:focus-visible,
.machikane-lightbox-next:focus-visible{
    outline:3px solid #fff;
    outline-offset:2px;
    opacity:1;
    background:rgba(0,0,0,0.7);
}

/* ライトボックス：画像＋キャプション＋カウンターのラッパー */
.machikane-lightbox-inner{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
    max-width:min(90vw,1000px);
    cursor:default;
}

/* ライトボックス：キャプション */
.machikane-lightbox-caption{
    color:rgba(255,255,255,0.85);
    font-size:13px;
    line-height:1.6;
    text-align:center;
    margin:0;
    max-width:600px;
    font-family:var(--machikane-font-base);
}

/* ライトボックス：カウンター（1/5 など） */
.machikane-lightbox-counter{
    color:rgba(255,255,255,0.5);
    font-size:12px;
    margin:0;
    font-family:var(--machikane-font-base);
}

@keyframes machikane-lb-in{
    from{opacity:0;transform:scale(0.94);}
    to{opacity:1;transform:scale(1);}
}

/* モバイルでの前後ナビ：44px 以上を維持しつつ端に寄せる */
@media only screen and (max-width:556px){
    .machikane-lightbox-prev,
    .machikane-lightbox-next{
        width:44px;
        height:44px;
    }
    .machikane-lightbox-prev{left:4px;}
    .machikane-lightbox-next{right:4px;}
}
.entry-content p{margin-bottom:1.3em;}
.entry-content p:last-child{margin-bottom:0;}
.entry-content h1{font-size:26px;font-weight:bold;line-height:1.5;margin:2em 0 0.9em;color:var(--machikane-text-strong);}
.entry-content h2{font-size:22px;font-weight:bold;line-height:1.5;margin:1.8em 0 0.8em;padding:0.5em 0.8em;border-left:4px solid var(--machikane-accent);background:#f9f9f9;color:var(--machikane-nav-bg);}
.entry-content h3{font-size:19px;font-weight:bold;line-height:1.5;margin:1.6em 0 0.7em;padding:0.4em 0;border-bottom:2px solid var(--machikane-accent);color:var(--machikane-nav-bg);}
.entry-content h4{font-size:17px;font-weight:bold;line-height:1.5;margin:1.4em 0 0.6em;color:var(--machikane-text-emphasis);}
.entry-content h5{font-size:16px;font-weight:bold;line-height:1.5;margin:1.2em 0 0.5em;color:var(--machikane-text);}
.entry-content h6{font-size:15px;font-weight:bold;line-height:1.5;margin:1em 0 0.5em;color:var(--machikane-text-secondary);}
.entry-content ul,.entry-content ol{margin:10px 20px;}
.entry-content ul{list-style:disc outside;}
.entry-content ol{list-style:decimal outside;}
.entry-content ul ul,.entry-content ul ol{margin-top:10px;}
.entry-content ul ul,.entry-content ol ul{list-style:circle outside;}
.entry-content li{line-height:1.8;margin-bottom:0.4em;}
.entry-content li:last-child{margin-bottom:0;}
ruby{ruby-align:center;}
rt{font-size:0.6em;color:var(--machikane-text-secondary);}
.entry-content .table-scroll{overflow-x:auto;margin:15px 0;}
.entry-content .table-scroll table{margin:0;}
.entry-content table{width:100%;margin:15px 0;border:1px solid #ddd;}
.entry-content table a{text-decoration:none;}
.entry-content table a:active,.entry-content table a:hover,.entry-content table a:focus{text-decoration:underline;}
.entry-content table caption{font-weight:bold;padding:8px 10px;}
.entry-content table th{padding:8px 12px;text-shadow:none;background:var(--machikane-nav-bg);color:#fff;font-weight:700;letter-spacing:0.02em;}
.entry-content table tr th{border-right:1px solid var(--machikane-nav-border);}
.entry-content table tr th:last-child{border-right:none;}
.entry-content table tr td{padding:8px 12px;border-top:1px solid #eee;border-right:1px solid #eee;background:#fff;}
.entry-content table tr td:last-child{border-right:none;}
.entry-content table tr:nth-child(2n) td{background:#fdf7f7;}
.entry-content table tr:hover td,.entry-content table tr:focus td{background:rgba(var(--machikane-accent-rgb),0.07);}
.entry-content a{text-decoration:none;color:var(--machikane-accent);}
.entry-content a:hover,.entry-content a:focus{text-decoration:underline;color:var(--machikane-accent-dark);}
.entry-content code{background:#f5f5f5;color:var(--machikane-accent-dark);padding:2px 5px;border-radius:3px;font-family:monospace,Monaco,Courier;font-size:0.9em;}
.entry-content pre{margin:15px 0;overflow:auto;color:#fff;background:var(--machikane-code-bg);padding:0;font-family:monospace,Monaco,Courier;tab-size:2;word-break:normal;hyphens:none;position:relative;border-radius:6px;}
.entry-content pre code{font-family:monospace,Monaco,Courier;background:none;padding:15px;white-space:pre;overflow:auto;display:block;font-size:14px;line-height:1.65;}
/* Gutenberg コードブロック */
.entry-content .wp-block-code{background:var(--machikane-code-bg);border-radius:6px;padding:0;margin:1.5em 0;border:none;overflow:hidden;}
.entry-content .wp-block-code code{display:block;padding:14px 16px;color:var(--machikane-border-light);font-size:14px;line-height:1.65;overflow-x:auto;background:none;border-radius:0;}
/* コードコピーボタン */
.machikane-copy-code-btn{position:absolute;top:8px;right:8px;padding:3px 10px;font-size:12px;line-height:1.5;background:rgba(255,255,255,0.12);color:#ccc;border:1px solid rgba(255,255,255,0.2);border-radius:4px;cursor:pointer;transition:background 0.15s,color 0.15s;font-family:inherit;z-index:1;}
.machikane-copy-code-btn:hover{background:rgba(255,255,255,0.22);color:#fff;}
.machikane-copy-code-btn:focus-visible{outline:2px solid rgba(255,255,255,0.6);outline-offset:2px;}
.machikane-copy-code-btn.is-copied{background:rgba(80,200,120,0.25);color:#5ec87a;border-color:rgba(80,200,120,0.4);}
/* TOC プラグイン互換（Table of Contents Plus / Easy Table of Contents 等）*/
.toc,.ez-toc-v2_0_37,.ez-toc,.widget_ez_toc{background:#f9f4f4;border:1px solid rgba(var(--machikane-accent-rgb),0.2);border-left:4px solid var(--machikane-accent);border-radius:0 4px 4px 0;padding:14px 16px 14px 14px;margin:1.6em 0;display:inline-block;min-width:220px;max-width:100%;}
.toc ul,#ez-toc-container ul,.ez-toc ul{list-style:decimal;margin:8px 0 0 1.2em;padding:0;}
.toc ul li,#ez-toc-container ul li,.ez-toc ul li{font-size:13px;line-height:1.7;margin:0;}
.toc ul li a,#ez-toc-container ul li a,.ez-toc ul li a{color:var(--machikane-accent);text-decoration:none;}
.toc ul li a:hover,#ez-toc-container ul li a:hover,.ez-toc ul li a:hover{text-decoration:underline;color:var(--machikane-accent-dark);}
.toc-title,#ez-toc-container .ez-toc-title{font-weight:700;font-size:14px;color:var(--machikane-nav-bg);margin:0 0 4px;display:block;}

/* 自動目次（machikane-toc）
-------------------------------------------------------------- */
.machikane-toc{background:#f9f4f4;border:1px solid rgba(var(--machikane-accent-rgb),0.2);border-left:4px solid var(--machikane-accent);border-radius:0 4px 4px 0;padding:14px 16px;margin:0 0 1.6em;display:block;}
.machikane-toc-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;}
.machikane-toc-title{font-weight:700;font-size:14px;color:var(--machikane-nav-bg);}
.machikane-toc-toggle{background:none;border:1px solid currentColor;border-radius:3px;padding:2px 8px;font-size:11px;line-height:1.6;cursor:pointer;color:var(--machikane-accent);transition:opacity 0.15s;}
.machikane-toc-toggle:hover{opacity:0.7;}
.machikane-toc-toggle:focus-visible{outline:2px solid var(--machikane-accent);outline-offset:2px;}
.machikane-toc-list{list-style:decimal;margin:0 0 0 1.4em;padding:0;}
.machikane-toc-list[hidden]{display:none;}
.machikane-toc-item{font-size:13px;line-height:1.7;margin:0;}
.machikane-toc-item > a{color:var(--machikane-accent);text-decoration:none;}
.machikane-toc-item > a:hover{text-decoration:underline;color:var(--machikane-accent-dark);}
.machikane-toc-sub{list-style:disc;margin:2px 0 4px 1.2em;padding:0;}
.machikane-toc-sub .machikane-toc-item{font-size:12px;}
.updated:not(.published){display:none;}

/* Page Links
-------------------------------------------------------------- */
.page-links{display:inline-block;background:var(--machikane-accent-dark);margin-top:10px;margin-bottom:10px;overflow:hidden;color:#fff;clear:both;border-radius:3px;}
.page-links > span,.page-links > a{float:left;padding:6px 10px;border-left:1px solid rgba(255,255,255,0.2);color:#fff;}
.page-links span.page-links-title{border-left:0;background:none;color:#fff;}
.page-links > span{background:var(--machikane-accent);color:#fff;}
.page-links a:hover,.page-links a:focus{background:#7a2530;color:#fff;}

/* Posts/Post Navigation
-------------------------------------------------------------- */
.navigation.posts-navigation:before,.navigation.posts-navigation:after{content:" ";display:table;}
.navigation.posts-navigation:after{clear:both;}
.navigation.posts-navigation{padding:15px 0 5px;overflow:hidden;}
.navigation.post-navigation{overflow:hidden;margin:24px 0 8px;}
.navigation.post-navigation .nav-links{display:flex;gap:12px;justify-content:space-between;}
.nav-previous,.nav-next{flex:1;min-width:0;}
.nav-next{text-align:right;}
.nav-previous a,.nav-next a{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:14px 16px;
    background:#fff;
    border:1px solid var(--machikane-border);
    border-top:3px solid var(--machikane-accent);
    border-radius:0 0 4px 4px;
    color:var(--machikane-nav-bg);
    text-decoration:none;
    font-family:var(--machikane-font-base);
    font-weight:700;
    font-size:14px;
    line-height:1.5;
    transition:border-color 0.15s,background 0.15s,box-shadow 0.15s;
    word-break:normal;
    overflow-wrap:break-word;
}
.nav-next a{flex-direction:row-reverse;text-align:right;}
.nav-previous a:hover,.nav-previous a:focus,.nav-next a:hover,.nav-next a:focus{
    border-top-color:var(--machikane-accent-dark);
    background:#fff9f8;
    box-shadow:0 2px 8px rgba(var(--machikane-accent-rgb),0.12);
    color:var(--machikane-accent-dark);
}
.nav-previous a:focus-visible,.nav-next a:focus-visible{outline:2px solid var(--machikane-accent);outline-offset:2px;}
.nav-previous a .nav-subtitle,.nav-next a .nav-subtitle{
    display:block;
    font-size:11px;
    font-weight:400;
    color:var(--machikane-text-light);
    letter-spacing:0.04em;
    text-transform:uppercase;
    margin-bottom:4px;
    white-space:nowrap;
}
.nav-previous a .nav-title,.nav-next a .nav-title{display:block;font-size:14px;font-weight:700;}
.nav-previous p,.nav-next p{margin:0;padding:0;}

/* Sidebar Content
-------------------------------------------------------------- */
.machikane-sidebar-content{margin:0 0 10px 0;color:var(--machikane-text);}
.machikane-sidebar-content a{text-decoration:none;color:var(--machikane-nav-bg);}
.machikane-sidebar-content a:hover,.machikane-sidebar-content a:focus{text-decoration:none;color:var(--machikane-accent);}
/* ウィジェットタイトル: span バッジ（machikane-widget-title は register_sidebar の before/after_title 経由） */
.machikane-sidebar-content .machikane-widget-title,
.machikane-sidebar-content .widget-title{margin:0 0 16px 0;padding:0 0 10px 0;border-bottom:2px solid var(--machikane-border);color:var(--machikane-nav-bg);font-size:15px;font-weight:700;font-family:var(--machikane-font-base);line-height:1;text-decoration:none;letter-spacing:0.02em;}
.machikane-sidebar-content .machikane-widget-title span,
.machikane-sidebar-content .widget-title span{background:var(--machikane-accent);padding:8px 16px;color:#ffffff;display:inline-block;border-radius:4px;letter-spacing:0.02em;}
/* Gutenbergブロックウィジェットは span なしで widget-title を出力する場合がある */
.machikane-sidebar-content .widget-title:not(:has(span)){background:var(--machikane-accent);padding:8px 16px;color:#ffffff;display:inline-block;border-radius:4px;letter-spacing:0.02em;border-bottom:none;margin-bottom:16px;}
.machikane-sidebar-content .machikane-widget-title a,.machikane-sidebar-content .machikane-widget-title a:hover,.machikane-sidebar-content .machikane-widget-title a:focus{color:#ffffff;}
/* ul: リセット後もウィジェット padding 内に収まる */
.machikane-sidebar-content ul{margin:0;padding:0;list-style:none;list-style-type:none;}
.machikane-sidebar-content ol{margin:0;padding:0 0 0 1.2em;}
.machikane-sidebar-content li{margin:0;padding:9px 0;border-bottom:1px solid #eee;font-size:14px;line-height:1.7;}
.machikane-sidebar-content li li{padding:8px 0 8px 10px;line-height:1.7;}
.machikane-sidebar-content li:first-child{padding-top:0;}
.machikane-sidebar-content li:last-child{padding-bottom:0;border-bottom:none;}
/* select: タッチ対象サイズ確保 */
.machikane-sidebar-content select{margin:0;padding:8px 10px;width:100%;max-width:100%;border:1px solid #ddd;border-radius:3px;font-size:14px;min-height:40px;}
.machikane-sidebar-content .widget:before,.machikane-sidebar-content .widget:after{content:" ";display:table;}
.machikane-sidebar-content .widget:after{clear:both;}
/* ウィジェット本体: padding 20px で最低20px の余白を保証 */
.machikane-sidebar-content .widget{margin:0 0 18px 0;padding:20px;color:var(--machikane-text);overflow:hidden;box-sizing:border-box;background:#fff;border:1px solid var(--machikane-border);border-radius:4px;}
.machikane-sidebar-content .widget p{margin:0 0 10px;font-size:14px;line-height:1.75;color:var(--machikane-text-dark);}
.machikane-sidebar-content .widget p:last-child{margin-bottom:0;}
.machikane-sidebar-content .widget img{max-width:100%;height:auto;display:block;}
.machikane-sidebar-content .widget table{width:100%;border-collapse:collapse;font-size:13px;margin:0 0 10px;}
.machikane-sidebar-content .widget table td,.machikane-sidebar-content .widget table th{padding:5px 8px;border:1px solid var(--machikane-border-mid);vertical-align:top;}
.machikane-sidebar-content .widget table:last-child{margin-bottom:0;}
/* カスタムHTML・テキストウィジェット内の textwidget */
.machikane-sidebar-content .widget .textwidget{font-size:14px;line-height:1.75;color:var(--machikane-text-dark);}
.machikane-sidebar-content .widget .textwidget p{margin:0 0 10px;}
.machikane-sidebar-content .widget .textwidget p:last-child{margin-bottom:0;}
/* タグクラウド */
.machikane-sidebar-content .widget .tagcloud{margin-top:4px;}
/* 最近のコメント */
.machikane-sidebar-content .widget_recent_comments li{display:flex;flex-direction:column;gap:2px;}
/* カレンダー */
.machikane-sidebar-content .widget_calendar .calendar_wrap{overflow-x:auto;}
#machikane-footer-widgets .widget p{margin:0 0 8px;font-size:13px;line-height:1.75;color:#95a5a6;font-family:var(--machikane-font-base);}
#machikane-footer-widgets .widget p:last-child{margin-bottom:0;}
#machikane-footer-widgets .widget img{max-width:100%;height:auto;display:block;}
#machikane-footer-widgets .widget table{width:100%;border-collapse:collapse;font-size:12px;margin:0 0 8px;}
#machikane-footer-widgets .widget table td,#machikane-footer-widgets .widget table th{padding:4px 8px;border:1px solid var(--machikane-border-mid);vertical-align:top;color:var(--machikane-text);}
#machikane-footer-widgets .widget table:last-child{margin-bottom:0;}
.machikane-main-widget p{margin:0 0 10px;font-size:14px;line-height:1.75;color:var(--machikane-text-dark);}
.machikane-main-widget p:last-child{margin-bottom:0;}
.machikane-main-widget img{max-width:100%;height:auto;display:block;}
.machikane-main-widget table{width:100%;border-collapse:collapse;font-size:13px;margin:0 0 10px;}
.machikane-main-widget table td,.machikane-main-widget table th{padding:5px 8px;border:1px solid var(--machikane-border-mid);vertical-align:top;}
.machikane-main-widget table:last-child{margin-bottom:0;}

/* 広告スロット
-------------------------------------------------------------- */
.machikane-ad{text-align:center;margin:15px 0;overflow:hidden;}
.machikane-ad-before-content{margin-bottom:20px;}
.machikane-ad-after-content{margin-top:20px;}
.machikane-ad-sidebar{margin-bottom:15px;}
.machikane-ad ins,.machikane-ad iframe,.machikane-ad img{max-width:100%;height:auto;}

/* Box style (machikane-box)
-------------------------------------------------------------- */
.machikane-box{background:#fff;border:1px solid var(--machikane-border);border-radius:4px;padding:20px;margin-bottom:15px;box-shadow:0 1px 4px rgba(0,0,0,0.06);}
.machikane-box:hover{box-shadow:0 2px 6px rgba(0,0,0,0.09);}

/* FOOTER
-------------------------------------------------------------- */
.machikane-footer-outer-container{overflow:hidden;}
.machikane-copyrights-outer-container{overflow:hidden;}
#machikane-copyrights{color:#7f8c8d;background:#17202a;border-top:1px solid #1a252f;text-align:center;padding:14px 0;font-size:12px;letter-spacing:0.04em;}
#machikane-copyrights a{color:#95a5a6;}
#machikane-copyrights a:hover,#machikane-copyrights a:focus{color:var(--machikane-accent);text-decoration:underline;}
#machikane-credits{display:none;}
#machikane-footer-widgets{background:var(--machikane-footer-bg, #2c3e50);padding:36px 20px 32px;border-top:4px solid var(--machikane-accent);color:var(--machikane-footer-text, #ecf0f1);display:flex;gap:3%;flex-wrap:wrap;}
.machikane-footer-widgets-column{flex:1 1 20%;min-width:0;}
#machikane-footer-widgets .widget{color:#ecf0f1;border:none;padding:0;background:none;margin:0 0 15px 0;}
#machikane-footer-widgets .widget a{color:var(--machikane-footer-link, #bdc3c7);text-decoration:none;}
#machikane-footer-widgets .widget a:hover,#machikane-footer-widgets .widget a:focus{color:var(--machikane-accent);text-decoration:none;}
#machikane-footer-widgets .machikane-widget-title,
#machikane-footer-widgets .widget-title{margin:0 0 14px 0;padding:0 0 0 12px;border-bottom:none;position:relative;color:#ffffff;font-size:14px;font-weight:700;font-family:var(--machikane-font-base);line-height:1;text-decoration:none;letter-spacing:0.02em;}
#machikane-footer-widgets .machikane-widget-title::before,
#machikane-footer-widgets .widget-title::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--machikane-accent);border-radius:2px;}
#machikane-footer-widgets .machikane-widget-title span,
#machikane-footer-widgets .widget-title span{background:none;padding:0;color:#ffffff;display:inline;}
#machikane-footer-widgets .machikane-widget-title a,#machikane-footer-widgets .machikane-widget-title a:hover,#machikane-footer-widgets .machikane-widget-title a:focus,
#machikane-footer-widgets .widget-title a,#machikane-footer-widgets .widget-title a:hover,#machikane-footer-widgets .widget-title a:focus{color:#ffffff;}
#machikane-footer-widgets .widget ul{list-style-type:none;list-style:none;margin:0;padding:0;}
#machikane-footer-widgets .widget ul li{padding:7px 0;margin:0 0 0 0;border-bottom:1px solid rgba(255,255,255,0.08);font-size:13px;color:#ecf0f1;line-height:1.7;}
#machikane-footer-widgets .widget ul li a{color:#bdc3c7;font-size:13px;line-height:1.7;}
#machikane-footer-widgets .widget ul li:last-child{border-bottom:none;padding-bottom:0;}
#machikane-footer-widgets .widget ol li{padding:0 0 6px;margin:0 0 6px;}
#machikane-footer-widgets select{margin:0;padding:5px;width:100%;max-width:100%;border:1px solid #34495e;background:#34495e;color:#ecf0f1;}
#machikane-footer-widgets .widget:before,#machikane-footer-widgets .widget:after{content:" ";display:table;}
#machikane-footer-widgets .widget:after{clear:both;}
.machikane-footer-nav-outer-container{background:var(--machikane-footer-nav-bg, #1a252f);border-top:1px solid #2c3e50;overflow:hidden;}
.machikane-footer-nav{margin:0 auto;padding:0;max-width:100%;overflow:hidden;}
.machikane-footer-nav-menu{list-style:none;margin:0;padding:5px 0;text-align:center;display:flex;flex-wrap:wrap;justify-content:center;}
.machikane-footer-nav-menu li{display:inline-block;margin:0;}
.machikane-footer-nav-menu li a{display:inline-block;padding:16px 18px;min-height:44px;color:var(--machikane-footer-nav-link, #7f8c8d);text-decoration:none;font-size:13px;font-family:var(--machikane-font-base);letter-spacing:0.04em;line-height:1;box-sizing:border-box;}
.machikane-footer-nav-menu li a:hover,.machikane-footer-nav-menu li a:focus{color:var(--machikane-accent);background:transparent;}

/* Search
-------------------------------------------------------------- */
.machikane-search-form{display:flex;gap:0;width:100%;}
.machikane-search-form label{flex:1;min-width:0;}
input.machikane-search-field{width:100%;padding:10px 12px;border:1px solid #ddd;border-right:none;border-radius:4px 0 0 4px;box-sizing:border-box;font-size:15px;line-height:1;height:40px;vertical-align:middle;}
input.machikane-search-field:focus{outline:none;border-color:var(--machikane-accent);box-shadow:0 0 0 3px rgba(var(--machikane-accent-rgb),0.2);}
input.machikane-search-submit,button.machikane-search-submit{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;border:1px solid var(--machikane-accent);border-radius:0 4px 4px 0;box-sizing:border-box;font-size:15px;font-weight:700;letter-spacing:0.04em;line-height:1;height:40px;background:var(--machikane-accent);color:#ffffff;cursor:pointer;white-space:nowrap;transition:background 0.15s;flex-shrink:0;}
input.machikane-search-submit:hover,input.machikane-search-submit:focus,button.machikane-search-submit:hover,button.machikane-search-submit:focus{background:var(--machikane-accent-dark);border-color:var(--machikane-accent-dark);}
input.machikane-search-submit:focus-visible,button.machikane-search-submit:focus-visible{outline:2px solid var(--machikane-accent);outline-offset:2px;}
.widget_search .wp-block-search__inside-wrapper,
.widget_search form,
.wp-block-search__inside-wrapper{max-width:100%;min-width:0;}
.widget_search .wp-block-search__inside-wrapper,
.wp-block-search__inside-wrapper,
.widget_search .searchform div{display:flex;align-items:stretch;gap:10px;max-width:100%;min-width:0;}
.widget_search .wp-block-search__input,
.wp-block-search__input,
.widget_search .searchform input[type="text"],
.widget_search .searchform input[type="search"]{min-width:0;width:100%;box-sizing:border-box;}
.widget_search .wp-block-search__button,
.wp-block-search__button,
.widget_search .searchform input[type="submit"]{flex:0 0 auto;max-width:42%;box-sizing:border-box;white-space:nowrap;}
@media only screen and (max-width:480px){
    .widget_search .wp-block-search__inside-wrapper,
    .wp-block-search__inside-wrapper,
    .widget_search .searchform div{flex-direction:column;gap:8px;}
    .widget_search .wp-block-search__button,
    .wp-block-search__button,
    .widget_search .searchform input[type="submit"]{width:100%;max-width:100%;padding-left:12px;padding-right:12px;}
}
@media only screen and (max-width:374px){
    .machikane-search-form,
    .widget_search .wp-block-search__inside-wrapper,
    .wp-block-search__inside-wrapper,
    .widget_search .searchform div{flex-direction:column;}
    input.machikane-search-field,
    .widget_search .wp-block-search__input,
    .wp-block-search__input,
    .widget_search .searchform input[type="text"],
    .widget_search .searchform input[type="search"]{border-right:1px solid #ddd;border-radius:4px;}
    input.machikane-search-submit,
    button.machikane-search-submit,
    .widget_search .wp-block-search__button,
    .wp-block-search__button,
    .widget_search .searchform input[type="submit"]{width:100%;max-width:100%;border-radius:4px;}
}

/* WP-PageNavi
-------------------------------------------------------------- */
.wp-pagenavi{clear:both;text-align:center;margin:10px 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:2px;}
.wp-pagenavi a,.wp-pagenavi span{text-decoration:none;border:1px solid #d0d0d0 !important;padding:10px 14px;margin:0;display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;line-height:1.5;border-radius:4px;transition:background .15s,border-color .15s;}
.wp-pagenavi a:hover,.wp-pagenavi a:focus{border-color:var(--machikane-accent) !important;color:var(--machikane-accent);}
.wp-pagenavi a:focus-visible{outline:2px solid var(--machikane-accent);outline-offset:2px;}
.wp-pagenavi span.current{border-color:var(--machikane-accent) !important;font-weight:700;background:var(--machikane-accent);color:#ffffff;}
.wp-pagenavi span.pages{border:none !important;color:var(--machikane-text-light);}

/* Tag Cloud Widget
-------------------------------------------------------------- */
.widget_tag_cloud a{display:inline-block;color:var(--machikane-text-secondary);background:var(--machikane-accent-tint);font-size:12px;padding:3px 10px;margin:0 4px 6px 0;text-decoration:none;line-height:1.6;border-radius:20px;border:1px solid rgba(var(--machikane-accent-rgb),0.25);transition:background .15s,color .15s,border-color .15s;font-family:var(--machikane-font-base);}
.widget_tag_cloud a:hover,.widget_tag_cloud a:focus{color:#ffffff;background:var(--machikane-accent);border-color:var(--machikane-accent);}

/* Calendar
-------------------------------------------------------------- */
#wp-calendar{width:100%;background:#fff;}
#wp-calendar caption{border-top:1px dotted #ccc;text-align:right;font-weight:700;color:var(--machikane-text);font-size:12px;margin-top:0;padding:10px 10px 0 0;padding-bottom:15px;background:#fff;}
#wp-calendar thead{font-size:11px;}
#wp-calendar tbody{color:var(--machikane-text-light);}
#wp-calendar tbody td{background:#f5f5f5;border:1px solid #eee;text-align:center;padding:8px;}
#wp-calendar tbody td:hover,#wp-calendar tbody td:focus{background:#fff;}
#wp-calendar tbody .pad{background:none;}
#wp-calendar tfoot #next{font-size:11px;text-transform:uppercase;text-align:right;}
#wp-calendar tfoot #prev{font-size:11px;text-transform:uppercase;padding-top:0;}
#wp-calendar thead th{padding-bottom:10px;text-align:center;}

/* Alignments
-------------------------------------------------------------- */
img.centered{clear:both;display:block;padding:0;margin-left:auto;margin-right:auto;margin-bottom:1.4em;}
.alignnone{clear:both;display:block;padding:0;margin:0 0 1.4em 0;}
.alignleft{display:inline;float:left;padding:0;margin:0 1.2em 1em 0;}
.alignright{display:inline;float:right;padding:0;margin:0 0 1em 1.2em;}
.aligncenter{clear:both;display:block;padding:0;margin:0 auto 1.4em auto;}

/* 記事内 align 付き img に角丸を適用 */
.entry-content .aligncenter,
.entry-content .alignleft,
.entry-content .alignright,
.entry-content .alignnone{border-radius:6px;}
.entry-content .alignwide{max-width:min(1100px,100%);margin-left:auto;margin-right:auto;}
.entry-content .alignfull{width:100%;max-width:100%;margin-left:0;margin-right:0;}
.wp-block-quote.is-style-machikane-accent{border-left-color:var(--machikane-accent);background:var(--machikane-accent-tint);}
.machikane-pattern-lead{border-left:4px solid var(--machikane-accent);background:var(--machikane-accent-tint);padding:18px 20px;margin:0 0 1.6em;}
.machikane-pattern-lead h2{margin-top:0;}

/* スマホでは float を解除して全幅表示 */
@media only screen and (max-width:600px){
    .entry-content .alignleft,
    .entry-content .alignright{
        float:none;
        display:block;
        margin:0 auto 1.2em;
        width:100% !important;
        max-width:100%;
    }
}

/* Captions — クラシックエディタ (.wp-caption) + Gutenberg (figure/figcaption)
-------------------------------------------------------------- */
.wp-caption{
    text-align:center;
    background:none;
    padding:0;
    max-width:100%;
    margin:0 0 1.6em 0;
}
.wp-caption img{
    display:block;
    width:100%;
    height:auto;
    margin:0 0 8px 0;
    padding:0;
    border:0;
    border-radius:6px;
}
.wp-caption p.wp-caption-text{
    margin:0;
    padding:5px 12px 7px;
    font-size:13px;
    font-weight:normal;
    line-height:1.5;
    color:var(--machikane-text-muted);
    letter-spacing:0.02em;
    font-family:var(--machikane-font-base);
    text-align:center;
    background:var(--machikane-bg);
    border-radius:0 0 6px 6px;
}
/* Gutenberg figure / figcaption */
.entry-content figure{
    margin:0 0 1.6em 0;
    max-width:100%;
}
.entry-content figure img{
    display:block;
    width:100%;
    height:auto;
    border-radius:6px;
}
.entry-content figcaption{
    margin:8px 0 0 0;
    padding:5px 12px 7px;
    font-size:13px;
    color:var(--machikane-text-muted);
    line-height:1.5;
    letter-spacing:0.02em;
    text-align:center;
    background:var(--machikane-bg);
    border-radius:0 0 6px 6px;
    font-family:var(--machikane-font-base);
}
/* wp-block-image（Gutenbergの画像ブロック）*/
.entry-content .wp-block-image{
    margin:0 0 1.6em 0;
}
.entry-content .wp-block-image img{
    border-radius:6px;
    max-width:100%;
    height:auto;
}

/* Galleries
-------------------------------------------------------------- */
.gallery{margin-bottom:1.5em;}
.gallery-item{display:inline-block;text-align:center;vertical-align:top;width:100%;}
.gallery-columns-2 .gallery-item{max-width:50%;}
.gallery-columns-3 .gallery-item{max-width:33.33%;}
.gallery-columns-4 .gallery-item{max-width:25%;}
.gallery-columns-5 .gallery-item{max-width:20%;}
.gallery-columns-6 .gallery-item{max-width:16.66%;}
.gallery-columns-7 .gallery-item{max-width:14.28%;}
.gallery-columns-8 .gallery-item{max-width:12.5%;}
.gallery-columns-9 .gallery-item{max-width:11.11%;}
.gallery-caption{display:block;}
/* モバイルでギャラリーを最大3カラムに制限 */
@media only screen and (max-width: 480px) {
.gallery-columns-4 .gallery-item,.gallery-columns-5 .gallery-item,
.gallery-columns-6 .gallery-item,.gallery-columns-7 .gallery-item,
.gallery-columns-8 .gallery-item,.gallery-columns-9 .gallery-item{max-width:33.33%;}
}

/* Comments
-------------------------------------------------------------- */
.comments-area{position:relative;padding:0;margin:0 0 30px 0;word-break:normal;word-wrap:break-word;overflow:hidden;}
h2.comments-title{font-size:18px;font-weight:700;color:var(--machikane-nav-bg);border-left:4px solid var(--machikane-accent);padding-left:12px;margin:0 0 20px 0;}
.comment-content a{word-wrap:break-word;}
.comment-content a,.comment-content a:visited{text-decoration:underline;}
.comment-content a:hover,.comment-content a:focus,.comment-content a:active{text-decoration:none;}
.comment-respond,.no-comments{border-top:1px solid var(--machikane-border-light);padding-top:24px;margin-top:8px;}
.comment-respond #cancel-comment-reply-link{font-size:14px;font-weight:400;margin-left:1em;}
.comment-respond .logged-in-as{font-size:13px;}
.comment-form label{display:block;font-size:13px;font-weight:700;color:var(--machikane-text-dark);margin-bottom:4px;min-width:0;padding-right:0;}
.comment-form .required{color:var(--machikane-accent);}
.comment-form .form-allowed-tags,.comment-form .form-allowed-tags code{font-size:12px;}
.comments-area ol{list-style-type:none;margin:1em 0 0;}
.comments-area > ol{margin:0;}
.comments-area ol.children{border:1px solid #eee;border-top:0;margin-bottom:0;box-shadow:0 3px 3px rgba(200,200,200,0.1);}
.comment-list{margin-top:1em;}
.comment-list .comment,.comment-list .pingback{border:1px solid var(--machikane-border-light);border-radius:6px;padding:16px;margin-bottom:16px;background:#fff;}
.comment-list .comment.even,.comment-list .pingback.even{background:#fafafa;}
.comment-list .comment.odd,.comment-list .pingback.odd{background:#fff;}
.comment .comment-metadata{font-size:100%;font-style:italic;color:var(--machikane-text-light);}
.comment .edit-link,.pingback .edit-link{float:right;font-size:100%;font-style:italic;}
.comment .comment-meta .comment-author .avatar{float:left;margin-right:1em;width:48px;height:48px;border-radius:50%;}
.comment .comment-content{margin-top:1em;}
.comment .comment-content p{margin-bottom:1em;}
.comment .reply{font-size:95%;font-style:italic;}
.comment .comment-respond{margin-top:1em;}
.bypostauthor{display:block;}
.sticky{border-left:4px solid var(--machikane-accent);}
.sticky .entry-title,.sticky .machikane-list-post-title{position:relative;}
#reply-title{font-size:18px;font-weight:700;color:var(--machikane-nav-bg);border-left:4px solid var(--machikane-accent);padding-left:12px;margin:0 0 20px 0;}
#respond input[type=text],#respond input[type=email],#respond input[type=url],#respond textarea{border-radius:4px;border:1px solid #ddd;font-size:14px;font-family:var(--machikane-font-base);background:#fafafa;outline:none;padding:10px 8px;margin:5px 1px 3px 0;min-height:44px;box-sizing:border-box;width:100%;}
#respond input[type=text]:focus,#respond input[type=email]:focus,#respond input[type=url]:focus,#respond textarea:focus{background:#fff;border-color:var(--machikane-accent);outline:none;box-shadow:0 0 0 3px rgba(var(--machikane-accent-rgb),0.12);}
#respond textarea{min-height:120px;resize:vertical;}
#respond input[type="submit"],.comment-form input[type="submit"]{background:var(--machikane-accent);border:none;border-radius:4px;color:#fff;font-size:15px;font-weight:700;font-family:var(--machikane-font-base);letter-spacing:0.05em;padding:12px 28px;min-height:48px;cursor:pointer;transition:background 0.15s;display:inline-block;width:auto;}
#respond input[type="submit"]:hover,#respond input[type="submit"]:focus,.comment-form input[type="submit"]:hover,.comment-form input[type="submit"]:focus{background:var(--machikane-accent-dark);}
#respond input[type="submit"]:focus-visible,.comment-form input[type="submit"]:focus-visible{outline:2px solid var(--machikane-accent);outline-offset:2px;}

/* Social Icons
-------------------------------------------------------------- */
.machikane-social-icons{font-size:14px;line-height:1;margin:0;padding:0;text-align:center;background:#fff;color:var(--machikane-text-secondary);text-shadow:none;border-bottom:1px solid var(--machikane-border);border-top:none;}
.machikane-social-icons-inner{margin:0;padding:8px 10px 4px;}
.machikane-social-icons a{display:inline-flex;align-items:center;justify-content:center;margin-right:5px;margin-bottom:4px;width:44px;height:44px;background:var(--machikane-social-icon-bg, var(--machikane-icon-bg));color:#fff;border:none;text-shadow:none;border-radius:50%;transition:opacity 0.2s;}
.machikane-social-icon-text{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;font-size:12px;font-weight:800;line-height:1;letter-spacing:0;}
.machikane-social-icons a:hover,.machikane-social-icons a:focus{color:#fff;opacity:var(--machikane-social-icon-hover-opacity, 0.75);border:none;text-shadow:none;}
.machikane-social-icons a:focus-visible{outline:2px solid var(--machikane-accent);outline-offset:3px;}
.machikane-social-icons a.machikane-social-icon-facebook{background:#3b5998;color:#fff;}
.machikane-social-icons a.machikane-social-icon-twitter{background:#55acee;color:#fff;}
.machikane-social-icons a.machikane-social-icon-x{background:#000000;color:#fff;}
.machikane-social-icons a.machikane-social-icon-pinterest{background:#bd081c;color:#fff;}
.machikane-social-icons a.machikane-social-icon-linkedin{background:#0077b5;color:#fff;}
.machikane-social-icons a.machikane-social-icon-instagram{background:#3f729b;color:#fff;}
.machikane-social-icons a.machikane-social-icon-flickr{background:#ff0084;color:#fff;}
.machikane-social-icons a.machikane-social-icon-youtube{background:#cd201f;color:#fff;}
.machikane-social-icons a.machikane-social-icon-vimeo{background:#1ab7ea;color:#fff;}
.machikane-social-icons a.machikane-social-icon-soundcloud{background:#ff8800;color:#fff;}
.machikane-social-icons a.machikane-social-icon-lastfm{background:#d51007;color:#fff;}
.machikane-social-icons a.machikane-social-icon-github{background:var(--machikane-text-light);color:#fff;}
.machikane-social-icons a.machikane-social-icon-bitbucket{background:#205081;color:#fff;}
.machikane-social-icons a.machikane-social-icon-tumblr{background:#35465c;color:#fff;}
.machikane-social-icons a.machikane-social-icon-reddit{background:#ff4500;color:#fff;}
.machikane-social-icons a.machikane-social-icon-skype{background:#00aff0;color:#fff;}
.machikane-social-icons a.machikane-social-icon-envelope{background:#2c9ab7;color:#fff;}
.machikane-social-icons a.machikane-social-icon-rss{background:#ee802f;color:#fff;}
.machikane-social-icons a.machikane-social-icon-email{background:var(--machikane-accent);color:#fff;}

/* Featured Posts Area Widgets
-------------------------------------------------------------- */
.machikane-featured-posts-area .widget{position:relative;padding:0;margin:0 0 30px 0;word-break:normal;word-wrap:break-word;overflow:hidden;}
.machikane-featured-posts-area .widget .machikane-widget-title{margin:0 0 10px 0;padding:0;border-bottom:1px solid var(--machikane-border);color:var(--machikane-nav-bg);font-size:15px;font-weight:700;font-family:var(--machikane-font-base);line-height:1;text-decoration:none;letter-spacing:0.02em;}
.machikane-featured-posts-area .widget .machikane-widget-title a,.machikane-featured-posts-area .widget .machikane-widget-title a:hover,.machikane-featured-posts-area .widget .machikane-widget-title a:focus{color:#ffffff;}
.machikane-featured-posts-area .widget .machikane-widget-title span{background:var(--machikane-accent);padding:6px 12px;color:#ffffff;display:inline-block;border-radius:4px;letter-spacing:0.02em;}

/* Post Style: Full Posts
-------------------------------------------------------------- */
.machikane-full-post{float:none;width:100%;height:auto;position:relative;padding:0;margin-bottom:20px;overflow:hidden;}
.machikane-full-post:last-child{margin-bottom:0;}
.machikane-full-post a{text-decoration:none;}
.machikane-full-post-thumbnail{width:100%;margin:0 0 10px 0;float:none;position:relative;overflow:hidden;aspect-ratio:16/9;}
.machikane-full-post-thumbnail-link{display:block;height:100%;}
.machikane-full-post-thumbnail img{width:100%;max-width:100%;height:100%;object-fit:cover;display:block;border-radius:4px;transition:transform 0.2s ease-in-out,opacity 0.2s ease-in-out;}
.machikane-full-post-details{width:100%;height:auto;float:none;position:relative;}
.machikane-full-post-details-full{position:relative;}
.machikane-full-post-categories{margin-bottom:6px;text-align:center;}
.machikane-full-post-categories a{display:inline-block;color:#ffffff;background:var(--machikane-accent);padding:3px 10px;font-size:12px;font-weight:700;font-family:var(--machikane-font-base);line-height:1.6;margin:0 5px 2px 0;border-radius:20px;letter-spacing:0.02em;transition:opacity 0.15s,transform 0.15s;}
.machikane-full-post-categories a:last-child{margin:0 0 0 0;}
.machikane-full-post-categories a:hover,.machikane-full-post-categories a:focus{opacity:0.82;color:#fff;transform:translateY(-1px);}
.machikane-full-post-title{font-style:normal;font-weight:700;font-size:20px;font-family:var(--machikane-font-base);color:var(--machikane-nav-bg);margin:0 0 10px 0;line-height:1.4;text-transform:none;text-align:center;letter-spacing:0.01em;}
.machikane-full-post-title a{color:var(--machikane-nav-bg);}
.machikane-full-post-title a:hover,.machikane-full-post-title a:focus{color:var(--machikane-accent);}
.machikane-full-post-snippet{display:block;margin:0 0 6px 0;}
.machikane-full-post-snippet p{margin-bottom:12px;}
.machikane-full-post-snippet p:last-child{margin-bottom:0;}
.machikane-full-post-footer{margin-bottom:6px;font-size:13px;font-family:var(--machikane-font-base);color:var(--machikane-text-light);line-height:1.6;text-align:center;}
.machikane-full-post-footer a{color:var(--machikane-text-light);display:inline-block;}
.machikane-full-post-footer a:hover,.machikane-full-post-footer a:focus{color:var(--machikane-nav-bg);}
.machikane-full-post-author{display:inline-block;line-height:1;margin:0 0 3px 0;}
.machikane-full-post-date{display:inline-block;line-height:1;margin:0 0 3px 0;}
.machikane-full-post-comment{display:inline-block;line-height:1;margin:0 0 3px 0;}
.machikane-full-post-meta:before{content:'\2022';margin-right:5px;margin-left:5px;}
.machikane-full-post-meta:first-child:before{content:'';margin-right:0;margin-left:0;}
@media only screen and (max-width: 419px) {
.machikane-full-post-title{font-size:18px;}
}

/* Post Style: List Posts
-------------------------------------------------------------- */
/* カード全体: flexbox で画像とテキストを横並び、上端揃え */
.machikane-list-post{
    display:flex;
    align-items:flex-start;
    gap:16px;
    width:100%;
    padding:20px 0;
    margin:0;
    overflow:hidden;
    border-bottom:1px solid var(--machikane-border-light);
    transition:background 0.2s ease,box-shadow 0.2s ease,transform 0.2s ease;
    box-sizing:border-box;
}
.machikane-list-post:first-child{padding-top:0;}
.machikane-list-post:last-child{padding-bottom:0;border-bottom:none;}
.machikane-list-post a{text-decoration:none;}

/* サムネイル: 固定幅・上端揃え・flex-shrink:0 で潰れない */
.machikane-list-post-thumbnail{
    flex:0 0 34%;
    max-width:34%;
    position:relative;
    overflow:hidden;
    aspect-ratio:16/9;
    border-radius:4px;
    float:none;
    margin:0;
}
.machikane-list-post-thumbnail-link{display:block;height:100%;}
.machikane-list-post-thumbnail img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.2s ease-in-out,opacity 0.2s ease-in-out;}

/* テキスト側: flex で伸長・縦スタック */
.machikane-list-post-details{
    flex:1;
    min-width:0;
    float:none;
    width:auto;
    display:flex;
    flex-direction:column;
    gap:10px;
    padding:4px 0;
}
.machikane-list-post-details-full{display:flex;flex-direction:column;gap:10px;padding:4px 0;}

.machikane-list-post-categories{margin:0;}
.machikane-list-post-categories a{display:inline-block;color:#ffffff;background:var(--machikane-accent);padding:3px 10px;font-size:12px;font-weight:700;font-family:var(--machikane-font-base);line-height:1.6;margin:0 4px 3px 0;border-radius:20px;letter-spacing:0.02em;transition:opacity 0.15s,transform 0.15s;}
.machikane-list-post-categories a:last-child{margin-right:0;}
.machikane-list-post-categories a:hover,.machikane-list-post-categories a:focus{opacity:0.82;color:#fff;transform:translateY(-1px);}

.machikane-list-post-title{font-style:normal;font-weight:700;font-size:17px;font-family:var(--machikane-font-base);color:var(--machikane-text);margin:0;line-height:1.55;text-transform:none;letter-spacing:0.01em;text-align:left;}
.machikane-list-post-title a{color:var(--machikane-text);text-decoration:none;background-image:linear-gradient(var(--machikane-accent),var(--machikane-accent));background-repeat:no-repeat;background-size:0% 2px;background-position:left bottom;transition:color 0.15s,background-size 0.2s ease;}
.machikane-list-post-title a:hover,.machikane-list-post-title a:focus{color:var(--machikane-accent);text-decoration:none;background-size:100% 2px;}

.machikane-list-post-snippet{display:block;text-align:left;font-size:13px;color:var(--machikane-text-secondary);line-height:1.8;}
.machikane-list-post-snippet p{margin:0;}

.machikane-list-post-footer{margin:0;font-size:13px;font-family:var(--machikane-font-base);color:var(--machikane-text-light);line-height:1.6;}
.machikane-list-post-footer a{color:var(--machikane-text-light);display:inline-block;}
.machikane-list-post-footer a:hover,.machikane-list-post-footer a:focus{color:var(--machikane-accent);}
.machikane-list-post-author{display:inline-block;line-height:1;margin:0 0 3px 0;}
.machikane-list-post-date{display:inline-block;line-height:1;margin:0 0 3px 0;}
.machikane-list-post-comment{display:inline-block;line-height:1;margin:0 0 3px 0;}
.machikane-list-post-meta:before{content:'\2022';margin-right:5px;margin-left:5px;}
.machikane-list-post-meta:first-child:before{content:'';margin-right:0;margin-left:0;}

.machikane-list-post-read-more{margin:4px 0 0 0;}
.machikane-list-post-read-more a{display:inline-block;width:auto;background:var(--machikane-accent);color:#ffffff;padding:6px 16px;font-size:12px;text-decoration:none;text-align:center;border-radius:6px;transition:background 0.2s ease,transform 0.15s ease;}
.machikane-list-post-read-more a::after{content:' →';font-size:0.9em;}
.machikane-list-post-read-more a:hover,.machikane-list-post-read-more a:focus{background:var(--machikane-accent-dark);color:#ffffff;transform:translateY(-1px);}
.machikane-list-post-read-more a:focus-visible{outline:2px solid var(--machikane-accent);outline-offset:2px;}

.machikane-posts.machikane-box .machikane-posts-heading{margin:0 0 16px 0;}

/* カード hover: 背景色 + 浮き上がり shadow */
.machikane-list-post:hover{background:#fff9f8;box-shadow:0 2px 8px rgba(0,0,0,0.08);}
.machikane-posts.machikane-box .machikane-list-post:hover{background:#fff9f8;border-left-color:var(--machikane-border);}

@media only screen and (max-width: 556px) {
/* スマホ: ヘッダーの最小高さ解除 */
#machikane-head-content{min-height:0;padding:12px 16px;}
/* スマホ: 縦積みレイアウト */
.machikane-list-post{flex-direction:column;gap:10px;padding:16px 0;}
.machikane-list-post.machikane-box{padding:16px;}
.machikane-posts.machikane-box .machikane-list-post.machikane-box{padding:16px 0;}
.machikane-list-post-thumbnail{flex:none;max-width:100%;width:100%;aspect-ratio:16/9;border-radius:4px;}
.machikane-list-post-details{width:100%;}
.machikane-list-post-categories{text-align:left;}
.machikane-list-post-title{text-align:left;font-size:16px;}
.machikane-list-post-snippet{text-align:left;}
.machikane-list-post-footer{text-align:left;}
.machikane-list-post-read-more{text-align:left;}
/* スマホhover: ネガティブマージンなし */
.machikane-posts.machikane-box .machikane-list-post:hover{margin-left:0;padding-left:0;border-left:none;}
/* 前後ナビゲーションを縦並びに */
.nav-previous,.nav-next{float:none;width:100%;box-sizing:border-box;margin:8px 0;text-align:left;}
/* machikane-box の内側余白を縮小 */
.machikane-box{padding:16px;}
/* first-child/last-child の上書き余白も縮小 */
.machikane-list-post.machikane-box:first-child{padding-top:16px;}
.machikane-list-post.machikane-box:last-child{padding-bottom:16px;}
/* サイドバーウィジェットの padding を 16px に縮小（最低15px以上を維持） */
.machikane-sidebar-content .widget{padding:16px;}
}
@media only screen and (max-width: 419px) {
.machikane-list-post-title{font-size:15px;}
}

/* Author Bio Box
-------------------------------------------------------------- */
.machikane-author-bio{background:#f9f9f9;border:1px solid var(--machikane-border);border-radius:6px;padding:14px;margin:15px 0 0 0;}
.machikane-author-bio-top{overflow:hidden;}
.machikane-author-bio-gravatar{float:left;margin:0;width:12%;padding:0 12px 5px 0;}
.machikane-author-bio-gravatar img{border-radius:50%;border:2px solid rgba(var(--machikane-accent-rgb),0.3);}
.machikane-author-bio-text{float:left;width:88%;}
.machikane-author-bio-text h4{font-size:17px;line-height:1.3;margin:0 0 5px 0;padding:0;color:var(--machikane-text);}
.machikane-author-bio-text p{margin:0 0 12px 0;padding:6px 0 0 0;font-size:14px;color:var(--machikane-text-secondary);}

/* Related Posts
-------------------------------------------------------------- */
.machikane-related-posts{margin:20px 0 10px;container-type:inline-size;}
.machikane-related-posts-heading{margin:0 0 14px 0;padding:0;border-bottom:3px solid var(--machikane-accent);color:#ffffff;font-size:14px;font-weight:700;font-family:var(--machikane-font-base);line-height:1;letter-spacing:0.03em;}
.machikane-related-posts-heading span{background:var(--machikane-accent);padding:10px 14px;display:inline-flex;align-items:center;gap:6px;border-radius:4px;max-width:100%;white-space:normal;}
.machikane-related-posts-list{list-style:none;margin:0;padding:0;}
.machikane-related-post-item{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid #eeeeee;transition:background .15s;}
.machikane-related-post-item:last-child{border-bottom:none;padding-bottom:0;}
.machikane-related-post-item:hover{background:var(--machikane-bg);}
.machikane-related-post-thumb-link{flex:0 1 120px;width:120px;max-width:100%;overflow:hidden;border-radius:2px;}
.machikane-related-post-thumb{width:120px;height:90px;object-fit:cover;display:block;border-radius:2px;transition:transform 0.2s ease,opacity 0.2s ease;}
.machikane-related-post-thumb-link:hover .machikane-related-post-thumb,
.machikane-related-post-thumb-link:focus .machikane-related-post-thumb{transform:scale(1.07);opacity:0.88;}
.machikane-related-post-thumb-no-image{width:120px;height:90px;background:var(--machikane-border-mid);display:flex;align-items:center;justify-content:center;border-radius:2px;font-size:22px;color:#bbb;}
.machikane-related-post-thumb-no-image::before{content:'📄';}
.machikane-related-post-info{flex:1 1 13em;min-width:min(100%,13em);}
.machikane-related-post-title{display:block;color:var(--machikane-text-emphasis);font-size:14px;line-height:1.5;text-decoration:none;margin-bottom:5px;font-weight:bold;word-break:normal;overflow-wrap:break-word;line-break:strict;background-image:linear-gradient(var(--machikane-accent),var(--machikane-accent));background-repeat:no-repeat;background-size:0% 2px;background-position:left bottom;transition:color 0.15s,background-size 0.2s ease;}
.machikane-related-post-title:hover,.machikane-related-post-title:focus,.machikane-related-post-title:focus-visible{color:var(--machikane-accent);background-size:100% 2px;}
.machikane-related-post-date{font-size:11px;color:var(--machikane-text-light);display:inline-flex;align-items:center;gap:3px;}
@container (max-width: 260px) {
    .machikane-related-post-item{display:block;}
    .machikane-related-post-thumb-link{display:block;flex:none;width:100%;margin:0 0 8px 0;}
    .machikane-related-post-thumb,
    .machikane-related-post-thumb-no-image{width:100%;height:auto;aspect-ratio:4/3;}
    .machikane-related-post-title{overflow-wrap:anywhere;line-break:auto;}
}

/* Author Archive Header
-------------------------------------------------------------- */
.machikane-author-archive-header{display:flex;align-items:flex-start;gap:16px;padding:16px 0 20px;border-bottom:1px solid #eeeeee;margin-bottom:16px;}
.machikane-author-archive-avatar img{width:80px;height:80px;border-radius:50%;display:block;border:2px solid #eeeeee;}
.machikane-author-archive-info{flex:1;min-width:0;}
.machikane-author-archive-name{font-size:20px;font-weight:700;margin:0 0 8px 0;line-height:1.4;display:flex;align-items:center;gap:8px;}
.machikane-author-archive-bio{font-size:14px;line-height:1.7;color:var(--machikane-text-secondary);margin:0 0 8px 0;}
.machikane-author-archive-meta{font-size:13px;color:var(--machikane-text-light);margin:0;}
.machikane-author-archive-count{font-family:var(--machikane-font-base);font-size:13px;}
@media only screen and (max-width:480px){
.machikane-author-archive-header{flex-direction:column;align-items:center;text-align:center;}
.machikane-author-archive-name{justify-content:center;}
/* 著者 bio のグラバター: 幅をピクセル固定で確保 */
.machikane-author-bio-gravatar{width:60px;float:left;}
.machikane-author-bio-text{width:calc(100% - 72px);float:left;}
}

/* Pickup Widget
-------------------------------------------------------------- */
.machikane-pickup-list{list-style:none;margin:0;padding:0;}
.machikane-pickup-item{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid #eeeeee;}
.machikane-pickup-item:last-child{border-bottom:none;padding-bottom:0;}
.machikane-pickup-thumb-link{flex:0 0 70px;overflow:hidden;border-radius:2px;}
.machikane-pickup-thumb{width:70px;height:52px;object-fit:cover;display:block;border-radius:2px;transition:transform 0.2s ease,opacity 0.2s ease;}
.machikane-pickup-thumb-link:hover .machikane-pickup-thumb,
.machikane-pickup-thumb-link:focus .machikane-pickup-thumb{transform:scale(1.07);opacity:0.88;}
.machikane-pickup-info{flex:1;min-width:0;}
.machikane-pickup-title{display:block;color:var(--machikane-text-emphasis);font-size:13px;line-height:1.5;text-decoration:none;font-weight:bold;margin-bottom:4px;word-break:normal;overflow-wrap:break-word;line-break:strict;background-image:linear-gradient(var(--machikane-accent),var(--machikane-accent));background-repeat:no-repeat;background-size:0% 2px;background-position:left bottom;transition:color 0.15s,background-size 0.2s ease;}
.machikane-pickup-title:hover,.machikane-pickup-title:focus,.machikane-pickup-title:focus-visible{color:var(--machikane-accent);background-size:100% 2px;}
.machikane-pickup-date{font-size:11px;color:var(--machikane-text-light);display:block;margin-top:2px;}
.machikane-pickup-cat{display:inline-block;background:var(--machikane-accent);color:#fff;font-size:11px;font-weight:700;padding:1px 6px;border-radius:3px;margin-bottom:3px;line-height:1.6;letter-spacing:0.02em;}

/* Breadcrumb
-------------------------------------------------------------- */
.machikane-breadcrumb{padding:0 0 12px 0;margin:0 0 16px 0;border-bottom:1px solid var(--machikane-border-light);}
.machikane-breadcrumb-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;}
.machikane-breadcrumb-item{display:inline-flex;align-items:center;font-size:12px;color:var(--machikane-text-muted);}
.machikane-breadcrumb-item a,.machikane-breadcrumb-link{color:var(--machikane-text-dark);text-decoration:none;display:inline-flex;align-items:center;gap:3px;transition:color 0.15s;}
.machikane-breadcrumb-home-icon{vertical-align:-1px;flex-shrink:0;}
.machikane-breadcrumb-item a:hover,.machikane-breadcrumb-item a:focus,.machikane-breadcrumb-link:hover,.machikane-breadcrumb-link:focus{color:var(--machikane-accent);}
.machikane-breadcrumb-current{color:var(--machikane-text-muted);max-width:20em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.machikane-breadcrumb-sep{color:#767676;margin:0 2px;}

/* Tags Links (entry-footer)
-------------------------------------------------------------- */
.entry-footer{padding:10px 0 0;border-top:1px dotted var(--machikane-border-mid);margin-top:10px;}
.entry-footer .tags-links{display:block;font-size:13px;color:var(--machikane-text-light);line-height:2;}
.entry-footer .tags-links a{display:inline-block;color:var(--machikane-text-secondary);background:var(--machikane-accent-tint);border:1px solid rgba(var(--machikane-accent-rgb),0.25);padding:2px 8px;margin:2px 3px 2px 0;border-radius:4px;text-decoration:none;font-size:12px;transition:background .15s,color .15s,border-color .15s;}
.entry-footer .tags-links a:hover,.entry-footer .tags-links a:focus{color:#fff;background:var(--machikane-accent);border-color:var(--machikane-accent);text-decoration:none;}

/* SNS Share Buttons
-------------------------------------------------------------- */
.machikane-share-buttons{margin:20px 0 10px;}
.machikane-share-label{margin:0 0 10px 0;font-size:12px;color:#757575;font-weight:bold;text-transform:uppercase;letter-spacing:0.05em;}
.machikane-share-buttons-inner{display:flex;flex-wrap:wrap;gap:8px;}
.machikane-share-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:3px;font-size:13px;font-weight:bold;color:#ffffff;text-decoration:none;transition:opacity .2s;text-shadow:0 1px 1px rgba(0,0,0,.35);}
.machikane-share-mark{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;font-size:11px;font-weight:900;line-height:1;letter-spacing:0;}
.machikane-share-btn:hover,.machikane-share-btn:focus{color:#ffffff;opacity:.85;text-decoration:none;}
.machikane-share-btn:focus-visible{outline:2px solid #fff;outline-offset:2px;}
.machikane-share-twitter{background:#1d9bf0;}
.machikane-share-x{background:#000000;}
.machikane-share-facebook{background:#1877f2;}
.machikane-share-line{background:#06c755;}
.machikane-share-hatena{background:#00a4de;}
/* 更新日メタ */
.machikane-entry-meta-single-modified{font-size:13px;color:var(--machikane-text-light);margin-left:8px;}

/* Scroll to Top Button
-------------------------------------------------------------- */
.machikane-scroll-top{background:var(--machikane-accent);color:#ffffff;border:1px solid var(--machikane-accent-dark);cursor:pointer;display:none;align-items:center;justify-content:center;width:44px;height:44px;opacity:.5;position:fixed;bottom:20px;right:20px;z-index:200;border-radius:4px;text-align:center;transition:opacity .3s,background .2s;}
.machikane-scroll-top.is-visible{display:flex;}
.machikane-scroll-top:hover,.machikane-scroll-top:focus{background:var(--machikane-accent-dark);color:#ffffff;border:1px solid var(--machikane-accent-dark);width:44px;height:44px;opacity:1;}
.machikane-scroll-top:focus-visible{outline:2px solid #ffffff;outline-offset:-4px;}

/* Responsive
-------------------------------------------------------------- */
@media only screen and (max-width: 992px) {
.machikane-wrapper{max-width:100%;margin:0 auto 0;}
.machikane-container{width:100%;padding:0 10px;margin:0 auto;box-sizing:border-box;}
#machikane-main-wrapper{flex:0 0 100%;max-width:100%;order:0;}
#machikane-sidebar-two-wrapper{flex:0 0 100%;max-width:100%;order:1;}
#machikane-footer-widgets{padding:15px;flex-direction:column;gap:0;}
.machikane-footer-widgets-column{width:100%;margin:0 0 15px 0;}
.machikane-footer-widgets-column:last-child{margin-bottom:0;}
#machikane-copyrights{width:100%;padding:5px 0;margin:0;display:block;float:none;text-align:center;height:auto;}
/* 読み込み続きボタン: モバイルでフル幅 */
.machikane-list-post-read-more a{width:100%;}
/* 見出し行間: モバイルで1.3に拡張して読みやすく */
h1,h2,h3,h4,h5,h6{line-height:1.3;}
/* SNSシェアボタン: モバイルでフル幅 */
.machikane-share-buttons-inner{gap:6px;}
.machikane-share-btn{flex:1;justify-content:center;min-width:calc(50% - 3px);}
}

/* 極小デバイス（480px以下）
-------------------------------------------------------------- */
@media only screen and (max-width: 480px) {
/* h1/h2: 320px幅で1行9〜11文字しか入らず詰まるため段階縮小 */
h1{font-size:24px;}
h2{font-size:20px;}
h3{font-size:18px;}
/* 記事タイトルも縮小 */
.entry-title{font-size:22px;}
/* マージンも縮小して縦スクロール量を抑制 */
h1,h2,h3{margin-top:20px;margin-bottom:12px;}
/* コメントフォームラベルの固定幅を解除 */
.comment-form label{min-width:0;display:block;margin-bottom:4px;}
/* テーブルを横スクロール可能に */
.entry-content table{display:block;overflow-x:auto;}
}

/* 最小デバイス（320px〜374px）
-------------------------------------------------------------- */
@media only screen and (max-width: 374px) {
body{font-size:14px;}
.machikane-container{padding:0 8px;}
.machikane-main-wrapper-inside,.machikane-sidebar-two-wrapper-inside{padding:10px 8px;}
/* ヘッダーのコンパクト化 */
#machikane-head-content{padding:10px;}
.machikane-site-title{font-size:20px;letter-spacing:0.01em;}
/* メニューの文字サイズ調整 */
.machikane-primary-nav-menu a{font-size:12px;}
.machikane-primary-responsive-menu-icon{font-size:12px;}
/* フッターのウィジェット列間隔調整 */
.machikane-footer-widgets-column{margin-bottom:10px;}
/* 記事タイトルの最小サイズ */
.entry-title{font-size:18px;}
.machikane-list-post-title{font-size:14px;}
/* 関連記事サムネイルのサイズ調整 */
.machikane-related-post-thumb-link{flex:0 1 96px;width:96px;max-width:100%;}
.machikane-related-post-thumb,.machikane-related-post-thumb-no-image{width:96px;height:72px;}
.machikane-related-posts-widget .machikane-related-post-item{display:block;}
.machikane-related-posts-widget .machikane-related-post-thumb-link{display:block;width:100%;max-width:220px;margin:0 0 8px 0;}
.machikane-related-posts-widget .machikane-related-post-thumb,
.machikane-related-posts-widget .machikane-related-post-thumb-no-image{width:100%;height:auto;aspect-ratio:4/3;}
#machikane-sidebar-two-wrapper .machikane-related-post-item,
.machikane-sidebar-content .machikane-related-post-item,
.machikane-footer-widgets-column .machikane-related-post-item{display:block;}
#machikane-sidebar-two-wrapper .machikane-related-post-thumb-link,
.machikane-sidebar-content .machikane-related-post-thumb-link,
.machikane-footer-widgets-column .machikane-related-post-thumb-link{display:block;flex:none;width:100%;margin:0 0 8px 0;}
#machikane-sidebar-two-wrapper .machikane-related-post-thumb,
#machikane-sidebar-two-wrapper .machikane-related-post-thumb-no-image,
.machikane-sidebar-content .machikane-related-post-thumb,
.machikane-sidebar-content .machikane-related-post-thumb-no-image,
.machikane-footer-widgets-column .machikane-related-post-thumb,
.machikane-footer-widgets-column .machikane-related-post-thumb-no-image{width:100%;height:auto;aspect-ratio:4/3;}
/* ピックアップサムネイルの調整 */
.machikane-pickup-thumb{width:56px;height:42px;}
/* シェアボタンのフル幅 */
.machikane-share-btn{flex:0 0 100%;min-width:100%;}
/* ページリンクのパディング調整 */
.page-links > span,.page-links > a{padding:4px 8px;font-size:12px;}
/* machikane-box の内側余白：最低15px確保 */
.machikane-box{padding:15px;}
/* 記事ループ内カードは上下のみ（左右は外側box依存） */
.machikane-posts.machikane-box .machikane-list-post.machikane-box{padding:14px 0;}
/* sidebar-content のウィジェット余白を縮小（最小15px） */
.machikane-sidebar-content .widget{padding:15px;}
}

/* AdSense
-------------------------------------------------------------- */
ins.adsbygoogle{background:transparent !important;}

/* =====================================================
   コンテンツ内装飾ブロック（楽しい系メディア向け）
   note / tip / warn / point クラスを entry-content 内で使用
   例: <div class="note">...</div>
   ===================================================== */
.entry-content .note,
.entry-content .tip,
.entry-content .warn,
.entry-content .point,
.entry-content .memo,
.entry-content .check {
    position: relative;
    margin: 1.5em 0;
    padding: 14px 16px 14px 52px;
    border-radius: 6px;
    font-size: 15px;
    line-height: 1.7;
}
.entry-content .note::before,
.entry-content .tip::before,
.entry-content .warn::before,
.entry-content .point::before,
.entry-content .memo::before,
.entry-content .check::before {
    font-style: normal;
    font-weight: normal;
    position: absolute;
    left: 14px;
    top: 14px;
    font-size: 20px;
    line-height: 1;
}
/* note: 情報・補足 */
.entry-content .note {
    background: var(--machikane-bg);
    border: 1px solid #d0d0d0;
    border-left: 4px solid var(--machikane-accent);
    color: var(--machikane-text-dark);
}
.entry-content .note::before {
    content: "ℹ️";
}
/* tip: ヒント・コツ */
.entry-content .tip {
    background: #f0faf4;
    border: 1px solid #b8e4c8;
    border-left: 4px solid #3aaa6a;
    color: var(--machikane-text-dark);
}
.entry-content .tip::before {
    content: "✅";
}
/* warn: 注意・警告 */
.entry-content .warn {
    background: #fffbf0;
    border: 1px solid #f0d8a0;
    border-left: 4px solid #e6a817;
    color: var(--machikane-text-dark);
}
.entry-content .warn::before {
    content: "⚠️";
}
/* point: ポイント・重要 */
.entry-content .point {
    background: #f5f0ff;
    border: 1px solid #d0b8f0;
    border-left: 4px solid #8844cc;
    color: var(--machikane-text-dark);
}
.entry-content .point::before {
    content: "⭐";
}
/* memo: メモ・備考 */
.entry-content .memo {
    background: var(--machikane-bg);
    border: 1px solid #dddddd;
    border-left: 4px solid var(--machikane-text-light);
    color: var(--machikane-text-secondary);
}
.entry-content .memo::before {
    content: "✏️";
}
/* check: チェックリスト的強調 */
.entry-content .check {
    background: #f0f8ff;
    border: 1px solid #b8d4f0;
    border-left: 4px solid #3388cc;
    color: var(--machikane-text-dark);
}
.entry-content .check::before {
    content: "🔖";
}
/* ボックス内の p タグのマージン調整 */
.entry-content .note p,
.entry-content .tip p,
.entry-content .warn p,
.entry-content .point p,
.entry-content .memo p,
.entry-content .check p {
    margin: 0;
}

/* =====================================================
   記事リストカード（machikane-box 内の上書き調整）
   ===================================================== */
/* 独立カードとして使われる場合（サイドバー等） */
.machikane-list-post.machikane-box {
    padding: 20px;
    box-sizing: border-box;
    border-bottom: 1px solid var(--machikane-border-light);
}
.machikane-list-post.machikane-box:first-child { padding-top: 20px; }
.machikane-list-post.machikane-box:last-child  { padding-bottom: 20px; border-bottom: none; }

/* 外側ラッパー（machikane-posts.machikane-box）内では独自枠を解除し、上下のみ padding */
.machikane-posts.machikane-box .machikane-list-post.machikane-box {
    border: none;
    border-bottom: 1px solid var(--machikane-border-light);
    border-radius: 0;
    box-shadow: none;
    background: none;
    margin-bottom: 0;
    padding: 20px 0;
}
.machikane-posts.machikane-box .machikane-list-post.machikane-box:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
/* 外側ラッパーのコンテンツ領域: 左右に余白を持たせる */
.machikane-posts.machikane-box .machikane-posts-content {
    padding-left: 0;
    padding-right: 0;
}


/* =====================================================
   検索結果件数表示
   ===================================================== */
.search-results-count {
    font-size: 13px;
    color: var(--machikane-text-light);
    padding: 0 0 8px;
    margin: 0 0 4px;
}

/* =====================================================
   検索結果投稿アイテム
   ===================================================== */
.machikane-search-post {
    margin-bottom: 16px;
}
.machikane-search-post:last-child {
    margin-bottom: 0;
}

/* =====================================================
   固定ページ サムネイル
   ===================================================== */
.machikane-page-thumbnail {
    margin: 0 0 24px;
    overflow: hidden;
    border-radius: 4px;
}
.machikane-page-thumbnail img {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
}

/* =====================================================
   ウィジェットコンテナ基本スタイル
   ===================================================== */
.machikane-side-widget {
    margin: 0 0 20px;
    overflow: hidden;
}
.machikane-side-widget:last-child {
    margin-bottom: 0;
}
.machikane-header-widget {
    display: inline-block;
    vertical-align: middle;
}
.machikane-footer-widget {
    overflow: hidden;
}

/* =====================================================
   テックメディア風 デザイン施策
   ===================================================== */

/* カテゴリーID別色 — WP が post_class に wpcat-{ID}-id を付与
   全色 color:#fff に対して WCAG AA（4.5:1以上）を確保 */
.wpcat-1-id .machikane-list-post-categories a:first-child,
.wpcat-1-id .machikane-full-post-categories a:first-child{ background:#DC2626; } /* 赤: 4.56:1 */
.wpcat-2-id .machikane-list-post-categories a:first-child,
.wpcat-2-id .machikane-full-post-categories a:first-child{ background:#2563EB; } /* 青: 4.71:1 */
.wpcat-3-id .machikane-list-post-categories a:first-child,
.wpcat-3-id .machikane-full-post-categories a:first-child{ background:#047857; } /* 緑: 5.09:1（旧#10B981は2.32:1） */
.wpcat-4-id .machikane-list-post-categories a:first-child,
.wpcat-4-id .machikane-full-post-categories a:first-child{ background:#0369A1; } /* シアン: 5.47:1（旧#0891B2は3.31:1） */
.wpcat-5-id .machikane-list-post-categories a:first-child,
.wpcat-5-id .machikane-full-post-categories a:first-child{ background:#7C3AED; } /* 紫: 4.80:1 */
.wpcat-6-id .machikane-list-post-categories a:first-child,
.wpcat-6-id .machikane-full-post-categories a:first-child{ background:#C2410C; } /* オレンジ: 4.54:1（旧#F97316は2.48:1） */
.wpcat-7-id .machikane-list-post-categories a:first-child,
.wpcat-7-id .machikane-full-post-categories a:first-child{ background:#B45309; } /* 琥珀: 4.67:1（旧#EA580Cは2.97:1） */
.wpcat-8-id .machikane-list-post-categories a:first-child,
.wpcat-8-id .machikane-full-post-categories a:first-child{ background:#374151; } /* グレー: 10.1:1（旧#6B7280は3.76:1） */


/* サムネイルホバー: zoom + 透明度変化
-------------------------------------------------------------- */
.machikane-list-post-thumbnail-link:hover img,
.machikane-list-post-thumbnail-link:focus img{
    opacity:0.88;
    transform:scale(1.04);
}

/* 記事カード全体ホバー時のサムネイル追従
-------------------------------------------------------------- */
.machikane-list-post:hover .machikane-list-post-thumbnail img{
    opacity:0.88;
    transform:scale(1.04);
}

/* 注目記事バナー (machikane-pickup)
-------------------------------------------------------------- */
.machikane-pickup-banner{
    position:relative;
    margin:0 0 24px 0;
    overflow:hidden;
    background:var(--machikane-nav-bg);
    clip-path:polygon(0 0, 100% 0, 100% 92%, 0 100%);
}
.machikane-pickup-banner a{
    display:block;
    text-decoration:none;
    color:inherit;
}
.machikane-pickup-banner a:focus-visible{
    outline:3px solid #fff;
    outline-offset:-3px;
}
.machikane-pickup-banner-img{
    width:100%;
    aspect-ratio:16/6;
    object-fit:cover;
    display:block;
    opacity:0.75;
    transition:opacity 0.3s ease;
}
.machikane-pickup-banner:hover .machikane-pickup-banner-img{
    opacity:0.6;
}
.machikane-pickup-banner-body{
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    padding:16px 20px 18px;
    background:linear-gradient(to top,rgba(0,0,0,0.82) 0%,rgba(0,0,0,0.38) 70%,transparent 100%);
}
.machikane-pickup-label{
    display:inline-block;
    background:var(--machikane-accent);
    color:#fff;
    font-size:11px;
    font-weight:700;
    padding:3px 10px;
    border-radius:20px;
    margin-bottom:8px;
    letter-spacing:0.03em;
    font-family:var(--machikane-font-base);
}
.machikane-pickup-banner-title{
    color:#fff;
    font-size:20px;
    font-weight:900;
    letter-spacing:0.02em;
    line-height:1.45;
    margin:0;
    font-family:var(--machikane-font-base);
    text-shadow:0 2px 8px rgba(0,0,0,0.65);
}
@media only screen and (max-width:768px){
    .machikane-pickup-banner-img{aspect-ratio:16/7;}
    .machikane-pickup-banner-title{font-size:15px;}
}

.comments-area.machikane-box{padding:24px;}

/* =====================================================
   404 ページ ウィジェット
   ===================================================== */
.machikane-posts-content .machikane-side-widget{margin:0 0 20px;}
.machikane-posts-content .machikane-side-widget:last-child{margin-bottom:0;}
.machikane-posts-content .machikane-side-widget .machikane-widget-title{margin:0 0 16px 0;padding:0 0 10px 0;border-bottom:2px solid var(--machikane-border);color:var(--machikane-nav-bg);font-size:15px;font-weight:700;font-family:var(--machikane-font-base);line-height:1;letter-spacing:0.02em;}
.machikane-posts-content .machikane-side-widget .machikane-widget-title span{background:var(--machikane-accent);padding:8px 16px;color:#ffffff;display:inline-block;border-radius:4px;}
.machikane-posts-content .machikane-side-widget ul{list-style:none;margin:0;padding:0;}
.machikane-posts-content .machikane-side-widget ul li{padding:9px 0;border-bottom:1px solid #eee;font-size:14px;line-height:1.7;}
.machikane-posts-content .machikane-side-widget ul li:first-child{padding-top:0;}
.machikane-posts-content .machikane-side-widget ul li:last-child{padding-bottom:0;border-bottom:none;}
.machikane-posts-content .machikane-side-widget ul li a{color:var(--machikane-text-secondary);text-decoration:none;}
.machikane-posts-content .machikane-side-widget ul li a:hover,.machikane-posts-content .machikane-side-widget ul li a:focus{color:var(--machikane-accent);}
.machikane-posts-content .machikane-sidebar-categories li{display:flex;justify-content:space-between;}

/* =====================================================
   404 ページ
   ===================================================== */

/* 404 の大きな数字：赤ソリッド */
.machikane-404-code{
    font-family:var(--machikane-font-base);
    font-size:120px;
    font-weight:900;
    line-height:1;
    letter-spacing:-0.02em;
    color:var(--machikane-accent);
    margin:0 0 12px;
    display:block;
}
.machikane-404-header.page-header{
    text-align:center;
    padding:32px 20px 24px;
}
.machikane-404-header .page-title{
    font-size:22px;
    color:var(--machikane-nav-bg);
    font-family:var(--machikane-font-base);
}
.machikane-404-message{
    text-align:center;
    color:var(--machikane-text-light);
    font-size:14px;
    margin-bottom:24px;
}
@media only screen and (max-width:556px){
    .machikane-404-code{
        font-size:80px;
    }
}

/* =====================================================
   添付ファイルページ（attachment.php）
   ===================================================== */

/* 画像ラッパー */
.machikane-attachment-image-wrap{
    text-align:center;
    background:#000;
    border-radius:4px;
    overflow:hidden;
    margin-bottom:24px;
}
.machikane-attachment-img{
    max-width:100%;
    height:auto;
    display:block;
    margin:0 auto;
    max-height:80vh;
    object-fit:contain;
    cursor:zoom-in;
}
.machikane-attachment-full-link{
    display:block;
}
.machikane-attachment-caption{
    background:rgba(0,0,0,0.6);
    color:#ddd;
    font-size:12px;
    padding:6px 12px;
    margin:0;
    text-align:center;
}

/* タイトル・メタ */
.machikane-attachment-header{
    padding:16px 0 20px;
    border-bottom:1px solid var(--machikane-border);
    margin-bottom:20px;
}
.machikane-attachment-title{
    font-size:20px;
    font-weight:700;
    color:var(--machikane-nav-bg);
    margin:0 0 12px;
    line-height:1.4;
}
.machikane-attachment-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px 20px;
    font-size:13px;
    color:var(--machikane-text-light);
}
.machikane-attachment-meta-item{
    display:flex;
    align-items:center;
    gap:6px;
}
.machikane-attachment-meta-label{
    font-weight:700;
    color:var(--machikane-text);
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:0.05em;
}

/* 説明文 */
.machikane-attachment-description{
    margin-bottom:24px;
    font-size:14px;
    line-height:1.8;
    color:var(--machikane-text-dark);
}

/* 操作ボタン */
.machikane-attachment-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:28px;
    padding-bottom:24px;
    border-bottom:1px solid var(--machikane-border);
}
.machikane-attachment-action-btn{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:8px 16px;
    border-radius:4px;
    font-size:13px;
    font-weight:700;
    text-decoration:none;
    transition:background 0.15s,color 0.15s;
}
.machikane-action-mark{display:inline-flex;align-items:center;justify-content:center;min-width:16px;font-size:16px;font-weight:900;line-height:1;}
.machikane-attachment-download{
    background:var(--machikane-accent);
    color:#fff;
}
.machikane-attachment-download:hover,
.machikane-attachment-download:focus{
    background:var(--machikane-accent-dark);
    color:#fff;
}
.machikane-attachment-download:focus-visible{outline:2px solid #fff;outline-offset:-3px;}
.machikane-attachment-back{
    background:#f5f5f5;
    color:var(--machikane-text);
    border:1px solid var(--machikane-border-mid);
}
.machikane-attachment-back:hover,
.machikane-attachment-back:focus{
    background:var(--machikane-border);
    color:var(--machikane-nav-bg);
}
.machikane-attachment-back:focus-visible{outline:2px solid var(--machikane-accent);outline-offset:2px;}

/* 他の画像グリッド */
.machikane-attachment-siblings{
    margin-top:8px;
}
.machikane-attachment-siblings-heading{
    font-size:15px;
    font-weight:700;
    color:var(--machikane-nav-bg);
    margin:0 0 14px;
    padding-bottom:8px;
    border-bottom:2px solid var(--machikane-accent);
}
.machikane-attachment-siblings-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(80px,1fr));
    gap:8px;
}
.machikane-attachment-sibling-link{
    display:block;
    overflow:hidden;
    border-radius:3px;
    aspect-ratio:1;
    background:#f0f0f0;
}
.machikane-attachment-sibling-img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:opacity 0.15s;
}
.machikane-attachment-sibling-link:hover .machikane-attachment-sibling-img,
.machikane-attachment-sibling-link:focus .machikane-attachment-sibling-img{
    opacity:0.8;
}
.machikane-attachment-sibling-link:focus-visible{outline:2px solid var(--machikane-accent);outline-offset:2px;}

@media only screen and (max-width:556px){
    .machikane-attachment-img{max-height:60vh;}
    .machikane-attachment-actions{flex-direction:column;}
    .machikane-attachment-action-btn{justify-content:center;}
}

/* 前後ナビゲーション */
.machikane-attachment-nav{
    display:flex;
    justify-content:space-between;
    gap:12px;
    margin:24px 0 8px;
    padding:16px 0;
    border-top:1px solid var(--machikane-border);
    border-bottom:1px solid var(--machikane-border);
}
.machikane-attachment-nav-prev,
.machikane-attachment-nav-next{
    flex:1;
    min-width:0;
}
.machikane-attachment-nav-next{
    text-align:right;
}
.machikane-attachment-nav-link{
    display:inline-flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
    color:var(--machikane-text);
    transition:opacity 0.15s;
    max-width:100%;
}
.machikane-attachment-nav-link:hover,
.machikane-attachment-nav-link:focus{
    opacity:0.75;
    color:var(--machikane-text);
}
.machikane-attachment-nav-link:focus-visible{outline:2px solid var(--machikane-accent);outline-offset:2px;}
.machikane-attachment-nav-next .machikane-attachment-nav-link{
    flex-direction:row-reverse;
    justify-content:flex-start;
}
.machikane-attachment-nav-thumb{
    width:64px;
    height:64px;
    object-fit:cover;
    border-radius:4px;
    flex-shrink:0;
    display:block;
}
.machikane-attachment-nav-text{
    display:flex;
    flex-direction:column;
    gap:3px;
    min-width:0;
}
.machikane-attachment-nav-label{
    font-size:11px;
    color:var(--machikane-text-light);
    font-weight:700;
    letter-spacing:0.03em;
    white-space:nowrap;
}
.machikane-attachment-nav-title{
    font-size:13px;
    color:var(--machikane-text);
    font-weight:700;
    line-height:1.4;
    overflow:hidden;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
}
@media only screen and (max-width:480px){
    .machikane-attachment-nav-thumb{width:48px;height:48px;}
    .machikane-attachment-nav-title{font-size:12px;}
}

/* =====================================================
   テックメディア デザイン強化
   ===================================================== */

/* --- 記事ループ: 先頭記事を「注目カード」として強調 --- */
.machikane-posts-container .machikane-list-post:first-child{
    border-bottom:2px solid var(--machikane-accent);
    padding-bottom:20px;
    margin-bottom:4px;
}
.machikane-posts-container .machikane-list-post:first-child .machikane-list-post-title{
    font-size:19px;
    line-height:1.45;
}
.machikane-posts-container .machikane-list-post:first-child .machikane-list-post-thumbnail{
    flex:0 0 40%;
    max-width:40%;
}

/* --- 見出し: 「すべて見る」リンクを右端に表示するラッパー --- */
.machikane-posts-heading-wrap{
    margin-bottom:16px;
}
.machikane-posts-heading-wrap .machikane-posts-heading{
    margin-bottom:0;
}

/* --- ホームtopウィジェットエリア --- */
.machikane-featured-posts-area:first-of-type{
    background:#f5f5f5;
    margin:0 -20px 20px;
    padding:16px 20px;
    border-radius:4px;
}

/* レスポンシブ: 先頭記事強調は556px以下で通常に戻す */
@media only screen and (max-width:556px){
    .machikane-posts-container .machikane-list-post:first-child .machikane-list-post-title{font-size:16px;}
    .machikane-posts-container .machikane-list-post:first-child .machikane-list-post-thumbnail{flex:none;max-width:100%;width:100%;}
    .machikane-featured-posts-area:first-of-type{margin:0 -16px 16px;padding:12px 16px;}
}
@media only screen and (max-width:374px){
    .machikane-posts-container .machikane-list-post:first-child .machikane-list-post-title{font-size:15px;}
    .machikane-featured-posts-area:first-of-type{margin:0 -15px 14px;padding:10px 15px;}
}

/* =====================================================
   NEW バッジ — 投稿日7日以内の記事に自動表示
   ===================================================== */

/* NEW バッジ：サムネイルオーバーレイ */
.machikane-list-post.machikane-is-new .machikane-list-post-thumbnail,
.machikane-full-post.machikane-is-new .machikane-full-post-thumbnail{
    position:relative;
}
.machikane-list-post.machikane-is-new .machikane-list-post-thumbnail::before,
.machikane-full-post.machikane-is-new .machikane-full-post-thumbnail::before{
    content:'NEW';
    position:absolute;
    top:8px;
    left:8px;
    z-index:10;
    background:var(--machikane-accent);
    color:#fff;
    font-size:10px;
    font-weight:900;
    font-family:var(--machikane-font-base);
    letter-spacing:0.06em;
    line-height:1;
    padding:3px 7px 4px;
    border-radius:3px;
    box-shadow:0 1px 4px rgba(0,0,0,0.25);
    pointer-events:none;
}

/* =====================================================
   動作軽減（アクセシビリティ: prefers-reduced-motion）
   ===================================================== */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
    .machikane-lightbox-overlay,
    .machikane-scroll-top,
    .machikane-list-post {
        transition: none !important;
    }
    .machikane-list-post-thumbnail-link:hover img,
    .machikane-list-post-thumbnail-link:focus img,
    .machikane-list-post:hover .machikane-list-post-thumbnail img,
    .machikane-related-post-thumb-link:hover .machikane-related-post-thumb,
    .machikane-related-post-thumb-link:focus .machikane-related-post-thumb,
    .machikane-pickup-thumb-link:hover .machikane-pickup-thumb,
    .machikane-pickup-thumb-link:focus .machikane-pickup-thumb {
        transform:none !important;
    }
}

/* =====================================================
   印刷スタイル
   ===================================================== */
@media print {
    .machikane-social-icons-outer-container,
    .machikane-footer-nav-outer-container,
    .machikane-primary-menu-container,
    .machikane-primary-responsive-menu-icon,
    #machikane-sidebar-two-wrapper,
    .machikane-featured-posts-area,
    .machikane-list-post-read-more,
    .skip-link,
    .machikane-author-bio,
    .machikane-share-buttons,
    .machikane-related-posts,
    .machikane-scroll-top,
    .machikane-breadcrumb,
    #machikane-footer-widgets,
    #machikane-copyrights,
    .comments-area,
    .machikane-lightbox-overlay,
    .navigation.post-navigation,
    .navigation.posts-navigation,
    /* 自動目次・広告・SNSリンクは印刷不要 */
    .machikane-toc,
    .machikane-ad-area,
    .machikane-ad-before-content,
    .machikane-ad-after-content,
    .machikane-ad-sidebar,
    .machikane-social-links,
    /* インタラクティブ UI ボタン */
    .machikane-copy-code-btn,
    .machikane-toc-toggle {
        display: none !important;
    }
    #machikane-main-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }
    body {
        font-size: 12pt;
        color: #000;
        background: #fff;
        line-height: 1.6;
    }
    h1, h2, h3, h4, h5, h6 {
        color: #000;
        page-break-after: avoid;
    }
    p, blockquote {
        orphans: 3;
        widows: 3;
    }
    blockquote {
        page-break-inside: avoid;
        border-left: 3px solid #ccc;
        padding-left: 1em;
    }
    img {
        max-width: 100% !important;
        page-break-inside: avoid;
    }
    a {
        color: #000;
        text-decoration: underline;
    }
    .entry-content a[href]:not([href^="#"]):not([href^="javascript"]):not([href^="Javascript"]):not([href^="mailto:"]):not([href^="tel:"]):after {
        content: " (" attr(href) ")";
        font-size: 10pt;
    }
    .entry-content pre,
    .entry-content code {
        white-space: pre-wrap;
        word-break: break-all;
        border: 1px solid #ccc;
        background: #f5f5f5 !important;
        color: #000 !important;
    }
    .entry-content table {
        border-collapse: collapse;
    }
    .entry-content table th,
    .entry-content table td {
        border: 1px solid #aaa;
        padding: 4pt 8pt;
    }
    .machikane-container {
        max-width: 100%;
        padding: 0;
    }
}

/* =====================================================
   ダークモード — CSS Custom Properties Override + ハードコード色上書き
   NOTE: ライトモードの全スタイルより後に配置することでカスケードが正しく機能する。
   CSS変数は継承で伝播するため位置に依存しないが、ハードコード値の上書きは
   ファイル順序が重要（同詳細度では後のルールが優先）。
   ===================================================== */
@media (prefers-color-scheme: dark) {
    :root {
        /* アクセント: ダーク背景で視認性を上げるため若干明るく */
        --machikane-accent:#d45f5f;
        --machikane-accent-rgb:212,95,95;
        --machikane-accent-dark:#b84040;
        --machikane-accent-tint:#2a1a1a;
        /* ナビ・サブメニュー: 既にダーク系なので微調整のみ */
        --machikane-nav-bg:#111111;
        --machikane-nav-border:#2a2a2a;
        --machikane-sub-menu-bg:#1a1a1a;
        /* テキスト: ライトモードの明暗を反転 */
        --machikane-text:#e0e0e0;
        --machikane-text-strong:#f0f0f0;
        --machikane-text-emphasis:#d8d8d8;
        --machikane-text-dark:#cccccc;
        --machikane-text-muted:#999999;
        --machikane-text-light:#9a9a9a;
        --machikane-text-secondary:#aaaaaa;
        /* ボーダー: 暗背景に合わせて暗く */
        --machikane-border:#3a3a3a;
        --machikane-border-mid:#333333;
        --machikane-border-light:#2e2e2e;
        /* アイコン背景 */
        --machikane-icon-bg:#666666;
        /* ページ背景 */
        --machikane-bg:#1a1a1a;
        /* コードブロック背景: 既にダーク値 (#1d1f21) — 変更不要 */
    }

    /* ページ全体・ラッパー */
    body { background: #1a1a1a; color: var(--machikane-text); }
    .machikane-wrapper { background: #121212; }

    /* カード・ボックス系 */
    .machikane-box,
    .machikane-sidebar-content .widget,
    .machikane-list-post,
    #machikane-head-content,
    .page-header,
    .machikane-social-icons { background: #252525; }

    .machikane-list-post:hover,
    .machikane-posts.machikane-box .machikane-list-post:hover { background: #2d1f1f; }

    /* コメントリスト */
    .comment-list .comment,
    .comment-list .pingback,
    .comment-list .comment.even,
    .comment-list .pingback.even { background: #252525; border-color: #3a3a3a; }
    .comment-list .comment.odd,
    .comment-list .pingback.odd { background: #2a2a2a; }

    /* カレンダーウィジェット */
    #wp-calendar,
    #wp-calendar caption { background: #252525; }
    #wp-calendar tbody td { background: #252525; border-color: #3a3a3a; }
    #wp-calendar tbody td:hover,
    #wp-calendar tbody td:focus { background: #2d2d2d; }

    /* コメントフォーム・汎用入力欄 */
    #respond input[type=text],
    #respond input[type=email],
    #respond input[type=url],
    #respond textarea,
    input.machikane-search-field { background: #252525; border-color: #3a3a3a; color: var(--machikane-text); }
    #respond input[type=text]:focus,
    #respond input[type=email]:focus,
    #respond input[type=url]:focus,
    #respond textarea:focus,
    input.machikane-search-field:focus { background: #2a2a2a; }

    /* 一般フォーム入力欄（#respond 外の input/select/textarea）
       color-scheme: light dark でブラウザ既定色は自動適用されるが、
       ライトモード向けハードコード border:#ddd を暗背景用に上書き */
    input[type="text"],
    input[type="email"],
    input[type="url"],
    input[type="password"],
    input[type="search"],
    input[type="tel"],
    input[type="number"],
    textarea,
    select { background: #252525; border-color: #3a3a3a; color: var(--machikane-text); }

    /* 前後記事ナビゲーション */
    .nav-previous a,
    .nav-next a { background: #252525; color: var(--machikane-text); }
    .nav-previous a:hover,.nav-previous a:focus,
    .nav-next a:hover,.nav-next a:focus { background: #2d1f1f; }

    /* 記事内テーブル */
    .entry-content table tr td { background: #252525; border-color: #3a3a3a; }
    .entry-content table tr:nth-child(2n) td { background: #2d2525; }

    /* 汎用テーブル偶数行 */
    tr.even td { background: #2a2a2a; }

    /* テーブルキャプション */
    caption { background: #2a2a2a; color: var(--machikane-text); }

    /* 引用ブロック */
    blockquote { background: #241f1f; }

    /* インラインコード */
    .entry-content code { background: #2a2a2a; color: #e07070; }

    /* 記事内 h2 見出し背景 */
    .entry-content h2 { background: #252525; color: var(--machikane-text-strong); }

    /* 記事装飾ブロック（ハードコード色をダーク系に上書き） */
    .entry-content .tip  { background: #1a2e22; border-color: #2a5a3a; }
    .entry-content .warn { background: #2e2610; border-color: #5a4a18; }
    .entry-content .point { background: #211a30; border-color: #4a3470; }
    .entry-content .check { background: #1a2535; border-color: #2a4060; }

    /* 目次プラグイン（TOC Plus / Easy TOC） */
    .toc,
    .ez-toc-v2_0_37,
    .ez-toc,
    .widget_ez_toc { background: #241f1f; border-color: rgba(212,95,95,0.3); }

    /* ハイライト・挿入テキスト */
    mark, ins { background: #4a3a00; color: var(--machikane-text-strong); }

    /* 著者プロフィールボックス */
    .machikane-author-bio { background: #252525; border-color: #3a3a3a; }

    /* 添付ファイルページ操作ボタン */
    .machikane-attachment-back { background: #252525; border-color: #3a3a3a; color: var(--machikane-text); }
    .machikane-attachment-back:hover,
    .machikane-attachment-back:focus { background: #2d2d2d; color: var(--machikane-text-strong); }

    /* 添付ファイルページ: 画像グリッドのリンク背景 */
    .machikane-attachment-sibling-link { background: #252525; }

    /* ホームtopウィジェットエリア */
    .machikane-featured-posts-area:first-of-type { background: #252525; }

    /* SNSシェアラベル: #757575 はダーク背景でWCAG AA不合格（3.5:1）のため上書き */
    .machikane-share-label { color: var(--machikane-text-muted); }

    /* ボーダー色: ハードコード #ddd/#eee/#d0d0d0 をダーク用ボーダーに上書き */
    /* 記事メタ区切り */
    .machikane-entry-meta-single-top { border-bottom-color: var(--machikane-border); }
    /* 記事内テーブル全体 */
    .entry-content table { border-color: var(--machikane-border); }
    /* サイドバーリスト・select */
    .machikane-sidebar-content li { border-bottom-color: var(--machikane-border-light); }
    .machikane-sidebar-content select { border-color: var(--machikane-border); }
    /* ページナビ */
    .wp-pagenavi a, .wp-pagenavi span { border-color: var(--machikane-border) !important; }
    /* コメントネスト */
    .comments-area ol.children { border-color: var(--machikane-border-light); }
    /* 関連記事・著者アーカイブ・ピックアップの区切り */
    .machikane-related-post-item { border-bottom-color: var(--machikane-border-light); }
    .machikane-author-archive-header { border-bottom-color: var(--machikane-border); }
    .machikane-author-archive-avatar img { border-color: var(--machikane-border); }
    .machikane-pickup-item { border-bottom-color: var(--machikane-border-light); }
    /* サイドウィジェット内リスト */
    .machikane-posts-content .machikane-side-widget ul li { border-bottom-color: var(--machikane-border-light); }
    /* note ボックス: background は --machikane-bg 変数で対応済み、ボーダーのみ上書き */
    .entry-content .note { border-color: var(--machikane-border); }

    /* --machikane-nav-bg テキスト色修正:
       ダークモードで --machikane-nav-bg は #111111 になるが、これはナビ背景用の値。
       テキスト色として使われている箇所はダーク背景でコントラスト不合格になるため上書き。 */
    .machikane-site-title,
    .machikane-site-title a { color: var(--machikane-text-strong); }

    .page-header h1 { color: var(--machikane-text-strong); }

    .entry-title,
    .entry-title a { color: var(--machikane-text-strong); }

    .machikane-sidebar-content a { color: var(--machikane-text-dark); }
    .machikane-sidebar-content .widget-title { color: var(--machikane-text-strong); }

    h2.comments-title,
    #reply-title { color: var(--machikane-text-strong); }

    .machikane-full-post-title,
    .machikane-full-post-title a { color: var(--machikane-text-strong); }

    .entry-content h3 { color: var(--machikane-text-strong); }

    .toc-title,
    #ez-toc-container .ez-toc-title { color: var(--machikane-text-strong); }
    .machikane-toc { background: #1e1e1e; }
    .machikane-toc-title { color: var(--machikane-text-strong); }

    .machikane-featured-posts-area .widget .machikane-widget-title,
    .machikane-posts-content .machikane-side-widget .machikane-widget-title { color: var(--machikane-text-strong); }

    /* グローバルリンクホバー色: ライトモードでは #1a1a1a だがダークでは不適切 */
    a:hover { color: var(--machikane-accent); }

    /* 記事メタリンクホバー */
    .machikane-entry-meta-single a:hover,
    .machikane-entry-meta-single a:focus { color: var(--machikane-accent); }

    /* フル表示フッターリンクホバー */
    .machikane-full-post-footer a:hover,
    .machikane-full-post-footer a:focus { color: var(--machikane-accent); }

    /* 404ページタイトル・添付ファイルページタイトル・他の画像見出し */
    .machikane-404-header .page-title { color: var(--machikane-text-strong); }
    .machikane-attachment-title { color: var(--machikane-text-strong); }
    .machikane-attachment-siblings-heading { color: var(--machikane-text-strong); }

    /* 一般ボタン（button/input[type="button/reset/submit"]）コントラスト修正:
       ライトモード: background=var(--machikane-text)=#111111 + color:#fff（OK）
       ダークモード: background=var(--machikane-text)=#e0e0e0 + color:#fff → 比約1.4:1（WCAG AA不合格）
       ダークモード用: ダーク背景 #333333 + 明るいテキスト var(--machikane-text-strong) に上書き */
    button,
    input[type="button"],
    input[type="reset"],
    input[type="submit"] {
        background: #333333;
        border-color: #4a4a4a;
        color: var(--machikane-text-strong);
    }

    /* ナビゲーションバー ダーク時上書き:
       ライトでは白基調グラデだが、ダークでは漆黒を避けたやや明るめグラデに。
       --machikane-accent（ライト = #B54848 / ダーク = #d45f5f）
       は両値とも他UI波及防止のため変更しない。
       ダーク時のナビホバー/current は AA PASS 確保のためローカルで #e27575 を直接指定
       （ダークグラデ #1e1e1e〜#1a1a1a 上で AA PASS 5.12:1+）。 */
    .machikane-nav-primary {
        background: #1c1c1c;
        border-top: 1px solid #2a2a2a;
        border-bottom: 2px solid var(--machikane-accent);
        box-shadow: 0 1px 2px rgba(0,0,0,0.3);
    }
    .machikane-primary-nav-menu a { color: rgba(255,255,255,0.92); }
    .machikane-primary-nav-menu a:hover,
    .machikane-primary-nav-menu a:focus {
        background: rgba(226,117,117,0.14);
        color: #e27575;
    }
    .machikane-primary-nav-menu .current-menu-item > a,
    .machikane-primary-nav-menu .current_page_item > a { color: #e27575; }
    .machikane-primary-nav-menu a:focus-visible { outline: 2px solid #e27575; }
    .machikane-primary-nav-menu > li > a { border-right-color: rgba(255,255,255,0.08); }
    .machikane-primary-nav-menu .sub-menu,
    .machikane-primary-nav-menu .children {
        background: #1e1e1e;
        border: 1px solid #2a2a2a;
        box-shadow: 0 6px 20px rgba(0,0,0,0.4);
    }
    .machikane-primary-nav-menu .sub-menu a,
    .machikane-primary-nav-menu .children a { color: rgba(255,255,255,0.92); border-color: rgba(255,255,255,0.06); }

    /* ハンバーガー（スマホ時） */
    .machikane-primary-responsive-menu-icon { color: rgba(255,255,255,0.92); }
    .machikane-primary-responsive-menu-icon:hover,
    .machikane-primary-responsive-menu-icon:focus {
        background: rgba(226,117,117,0.14);
        color: #e27575;
    }
    .machikane-primary-responsive-menu-icon:focus-visible { outline: 2px solid #e27575; }

    /* ▼アイコン色（スマホ時展開、ダーク背景用） */
    .machikane-primary-nav-menu > .menu-item-has-children::before,
    .machikane-primary-nav-menu > .page_item_has_children::before { color: rgba(255,255,255,0.92); }

    /* ヘッダー本体: ライトでは白だが、ダークでは暗背景上書き */
    #machikane-head-content { border-bottom-color: #2a2a2a; }
}

/* ダーク × スマホ展開時のリンク境界線（CSS ネスティング非依存で @media を分離） */
@media (prefers-color-scheme: dark) and (max-width: 781px) {
    .machikane-primary-nav-menu li a,
    .machikane-primary-nav-menu li a:hover,
    .machikane-primary-nav-menu li a:focus { border-bottom-color: rgba(255,255,255,0.08); }
    .machikane-primary-nav-menu > li:first-child > a { border-top-color: rgba(255,255,255,0.08); }
    .machikane-primary-nav-menu > li > .sub-menu,
    .machikane-primary-nav-menu > li > .children { background: rgba(255,255,255,0.04); }
}
