:root{--mp-ink:#232527;--mp-muted:#626665;--mp-paper:#f6f6f2;--mp-line:#dedfd9;--mp-accent:#bd4e05;--mp-orange:#f58828;scroll-padding-top:90px;scrollbar-color:#888b83 var(--mp-paper)}
body.mp-site{margin:0;background:var(--mp-paper);color:var(--mp-ink);font-family:"Noto Sans CJK JP","Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:15px;line-height:1.8}
.mp-site *{box-sizing:border-box}
.mp-site img{max-width:100%;height:auto}
.mp-site [hidden]{display:none!important}
.mp-site a{color:inherit;text-underline-offset:4px}
.mp-site a:hover{color:var(--mp-accent)}
.mp-site button,.mp-site input{font:inherit}
.mp-site :focus-visible{outline:3px solid #a74300;outline-offset:4px}
.mp-site ::selection{background:#ffd6b3;color:#232527}
.mp-site input{caret-color:var(--mp-accent)}
.mp-wrap{width:min(1200px,calc(100% - 64px));margin-inline:auto}
.mp-skip{position:fixed;left:16px;top:-100px;z-index:10000;background:white;padding:12px}
.mp-skip:focus{top:12px}
.mp-header{background:linear-gradient(#232527 72px,#fff 72px);border-bottom:1px solid var(--mp-line)}
.mp-masthead{height:72px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.mp-brand{display:flex;align-items:center;gap:12px;color:white!important;font-weight:800;text-decoration:none;letter-spacing:.015em;white-space:nowrap}
.mp-brand b{color:var(--mp-orange)}
.mp-brand img{width:32px;height:32px;object-fit:contain}
.mp-search{display:flex;width:min(450px,48%);background:#fff;border-radius:6px;padding:5px;gap:4px}
.mp-search input{width:100%;min-width:0;border:0!important;background:transparent!important;padding:4px 10px!important;color:#232527!important}
.mp-search button{border:0;background:#efefe9;color:#232527;border-radius:4px;padding:5px 12px;white-space:nowrap;cursor:pointer}
.mp-nav{display:flex;align-items:center;gap:28px;min-height:52px;font-size:13px;font-weight:700}
.mp-nav>a{text-decoration:none;padding-block:14px}
.mp-menu{position:relative;margin-left:auto}
.mp-menu summary{cursor:pointer;white-space:nowrap}
.mp-menu-panel{position:absolute;right:0;top:calc(100% + 12px);width:280px;max-height:65vh;overflow:auto;z-index:500;background:#fff;border:1px solid var(--mp-line);border-radius:8px;padding:20px}
.mp-menu-panel ul{list-style:none;margin:0;padding:0}
.mp-menu-panel a{display:block;padding:7px 0;text-decoration:none}
.mp-site h2{font-size:23px;line-height:1.5;font-weight:800;letter-spacing:-.025em}
.mp-article-row{display:flex;gap:20px;align-items:center;border-bottom:1px solid var(--mp-line);padding:18px 0;text-decoration:none}
.mp-article-row>img{width:104px;height:70px;object-fit:cover;border-radius:6px}
.mp-article-row strong,.mp-article-row time{display:block}
.mp-article-row time,.mp-date{color:var(--mp-muted);font-size:12px;font-variant-numeric:tabular-nums}
.mp-article-row strong{font-size:16px;line-height:1.65}
.mp-footer{background:#232527;color:#ddd;padding:40px 0;margin-top:48px}
.mp-footer p{font-size:13px}
.mp-reading{padding-block:32px 64px;max-width:900px}
.mp-reading h1{font-size:clamp(25px,3vw,38px);line-height:1.55;letter-spacing:-.025em;margin:24px 0 12px;text-wrap:balance}
.mp-prose{max-width:75ch;margin:32px auto;font-size:16px;line-height:1.95}
.mp-prose h2{margin:48px 0 20px;padding-bottom:12px;border-bottom:1px solid var(--mp-line)}
.mp-prose h3{margin-top:32px}
.mp-prose a{text-decoration:underline}
.mp-article-cover{width:100%;max-height:460px;object-fit:contain;background:#eceee7;border-radius:12px}
.mp-prose table{display:block;max-width:100%;overflow-x:auto}
.mp-prose pre{overflow:auto}
@media(max-width:700px){
.mp-wrap{width:calc(100% - 32px)}
.mp-header{background:linear-gradient(#232527 116px,#fff 116px)}
.mp-masthead{height:116px;flex-wrap:wrap;gap:8px;padding-block:14px}
.mp-brand{font-size:15px}
.mp-brand img{width:26px;height:26px}
.mp-search{width:100%;font-size:13px}
.mp-nav{gap:18px;font-size:12px}
.mp-site h2{font-size:21px}
.mp-prose{font-size:15px}
.mp-article-row{gap:14px}
.mp-article-row>img{width:80px;height:64px}
.mp-article-row strong{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
.mp-site *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
.mp-article-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px 42px;padding-block:28px 64px}
.mp-article{min-width:0}
.mp-article h1{font-size:clamp(26px,3vw,38px);line-height:1.5;margin:0 0 16px}
.mp-article-sidebar{min-width:0}
.mp-article-sidebar>section{margin-bottom:28px}
.mp-article-layout .mp-prose{margin:32px 0;max-width:75ch}
@media(max-width:1000px){
.mp-article-layout{grid-template-columns:minmax(0,1fr) 260px;gap:24px}
}
@media(max-width:700px){
.mp-article-layout{display:block}
.mp-article-sidebar{margin-top:44px;padding-top:28px;border-top:1px solid var(--mp-line)}
}
.mp-header{ background:#fff; }
.mp-masthead-surface{ background:#232527; position:relative; padding-top:40px; }
.mp-masthead{ display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,320px); min-height:68px; height:auto; gap:36px; padding:10px 0; }
.mp-network-home{ position:absolute; top:0; left:24px; font-size:12px; min-height:40px; }
.mp-network-home b{ color:#80d5a0; }
.mp-network-home:hover{ text-decoration:none; background:#344139; }
.mp-network-home:focus-visible{ outline-color:#80d5a0; outline-offset:-3px; }
@media(min-width:1600px){
.mp-masthead-surface{ padding-top:0; }
.mp-network-home{ top:50%; transform:translateY(-50%); }
}
.mp-masthead .mp-title-home{ display:flex; align-items:center; flex-wrap:wrap; gap:0 8px; min-height:44px; font-size:18px; line-height:1.5; font-weight:700; color:#ffa250!important; text-decoration:none; justify-self:start; }
.mp-title-home:hover{ text-decoration:none; background:#353637; }
.mp-masthead .mp-search{ width:100%; }
.mp-masthead :focus-visible{ outline-color:#ffa250; }
.mp-search :focus-visible{ outline-color:#853a06; outline-offset:0; }
.mp-nav--shared{ display:flex; flex-wrap:wrap; align-items:stretch; gap:0; position:relative; font-size:13px; }
.mp-nav--shared>a.mp-destination{ display:flex; align-items:center; padding:12px 14px; min-height:48px; }
.mp-nav--shared>a:hover{ color:#853a06; background:#f2ece4; text-decoration:none; }
.mp-nav--shared>.mp-nav-dropdown{ margin:0; position:relative; font-size:13px; }
.mp-nav-dropdown>summary{ padding:12px 14px; min-height:48px; display:flex; align-items:center; gap:12px; list-style:none; font-weight:700; }
.mp-nav-dropdown>summary::-webkit-details-marker{ display:none; }
.mp-nav-dropdown>summary::after{ content:''; width:7px; height:7px; border:solid currentColor; border-width:0 2px 2px 0; transform:rotate(45deg); flex-shrink:0; }
.mp-nav-dropdown[open]>summary{ background:#f2ece4; color:#853a06; }
.mp-nav-dropdown[open]>summary::after{ transform:rotate(225deg); }
.mp-nav-dropdown:not([open])>summary:hover{ background:#f4f4ef; }
.mp-nav-dropdown>.mp-menu-panel{ left:0; right:auto; top:100%; width:280px; max-height:65vh; padding:8px; border-radius:0 0 10px 10px; }
.mp-nav-dropdown:last-child>.mp-menu-panel{ left:auto; right:0; }
.mp-nav--shared .mp-menu-panel a{ padding:11px 12px; min-height:44px; border-radius:5px; line-height:1.6; text-align:left; }
.mp-nav--shared .mp-menu-panel a:hover{ background:#f2ece4; color:#853a06; }
.mp-nav--shared .mp-menu-panel a:focus-visible{ outline-offset:-3px; }
.mp-menu-branch>summary{ padding:11px 12px; font-weight:700; }
.mp-nav--shared .mp-menu-branch ul{ padding-left:14px; border-left:1px solid #d4d7ce; margin-left:12px; }
@media(max-width:1100px){
.mp-masthead{ grid-template-columns:minmax(0,1fr) 230px; gap:20px; }
.mp-masthead .mp-title-home{ font-size:16px; }
.mp-nav--shared>a.mp-destination,.mp-nav-dropdown>summary{ padding-inline:9px; }
.mp-nav--shared,.mp-nav--shared>.mp-nav-dropdown{ font-size:12px; }
}
@media(max-width:900px){
.mp-masthead{ grid-template-columns:1fr; padding:8px 0; gap:4px; }
.mp-masthead .mp-title-home{ grid-column:1/-1; grid-row:1; font-size:16px; }
.mp-masthead .mp-search{ grid-column:1; grid-row:2; font-size:13px; }
}
@media(max-width:1000px){
.mp-nav--shared{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; }
.mp-nav--shared>a.mp-destination{ padding:10px 8px; }
.mp-nav--shared>.mp-nav-dropdown{ position:static; }
.mp-nav--shared .mp-nav-dropdown>summary{ padding:10px 8px; min-height:44px; justify-content:space-between; white-space:normal; }
.mp-nav-dropdown>.mp-menu-panel,.mp-nav-dropdown:last-child>.mp-menu-panel{ left:0; right:0; top:100%; width:auto; max-height:60vh; }
}
@media(max-width:440px){
.mp-masthead{ gap:4px 12px; }
.mp-masthead .mp-title-home{ display:block; font-size:14px; padding-block:4px; }
}
@media(max-width:700px){
.mp-network-home{ left:16px; }
}
