/* Article frame, matching the Link homepage. Styles stay within the article. */
body.sanr-branded-page { display:block; width:100%; max-width:none; margin:0; padding:0; min-width:0; background:#f7f7f2; color:#151515; font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif; font-size:16px; line-height:1.85; }
body.sanr-branded-page #primary { display:block; float:none; width:100%; max-width:none; margin:0; }
.sanr-site-header,.sanr-site-footer { width:100%; max-width:none; margin:0; padding:0; border:0; box-sizing:border-box; text-align:left; }
.sanr-site-header *,.sanr-site-footer * { box-sizing:border-box; }
.sanr-site-header a,.sanr-site-footer a { text-decoration:none; color:inherit; }
.sanr-site-header a:focus-visible,.sanr-site-header summary:focus-visible,.sanr-site-footer a:focus-visible { outline:3px solid #0b58aa; outline-offset:5px; }
.sanr-skip-link { position:absolute; top:8px; left:16px; z-index:100001; padding:12px 18px; background:#123965; color:#fff; transform:translateY(-180%); }
.sanr-skip-link:focus { transform:translateY(0); color:#fff; }
.sanr-site-header { position:sticky; top:0; z-index:30; background:rgba(255,255,255,.97); border-bottom:1px solid #dce5ef; color:#182b43; }
body.admin-bar .sanr-site-header { top:32px; }
.sanr-site-header-inner { max-width:1280px; margin:auto; padding:16px 32px; display:flex; align-items:center; gap:28px; min-height:82px; }
.sanr-brand-logo { display:inline-flex; align-items:center; gap:12px; flex-shrink:0; line-height:1.2; }
.sanr-brand-logo img { display:block; width:46px; height:46px; object-fit:contain; margin:0; border:0; border-radius:0; box-shadow:none; }
.sanr-brand-name { display:flex; align-items:center; font-size:22px; color:#182b43; font-weight:800; white-space:nowrap; }
.sanr-brand-name b { font-size:inherit; font-weight:800; }
.sanr-brand-name .sanr-brand-link { background:#eaf3ff; color:#0b58aa; border-radius:5px; padding:3px 6px; margin-left:4px; font-size:.76em; }
.sanr-desktop-nav { display:flex; align-items:center; gap:26px; margin-left:auto; font-size:14px; font-weight:700; }
.sanr-desktop-nav a { padding-block:8px; border-bottom:2px solid transparent; }
.sanr-desktop-nav a:hover { color:#0b58aa; border-color:#0b58aa; }
.sanr-site-header a.sanr-header-login { border:1px solid #aec5df; color:#0b58aa; border-radius:7px; padding:8px 18px; font-size:14px; font-weight:700; white-space:nowrap; }
.sanr-header-login:hover { background:#f0f6ff; }
.sanr-site-menu { display:none; margin:0; padding:0; border:0; }
.sanr-site-menu summary { list-style:none; }
.sanr-site-menu summary::-webkit-details-marker { display:none; }
.sanr-site-menu summary::marker { content:''; }
.sanr-site-menu summary::after { content:none; }
.sanr-site-menu:not([open]) > nav { display:none; }
.sanr-site-footer { background:#102a48; color:#d6e4f4; padding-block:42px; }
.sanr-footer-inner { width:min(1160px,calc(100% - 64px)); margin-inline:auto; }
.sanr-site-footer .sanr-brand-name { color:#fff; }
.sanr-site-footer p { margin:16px 0 0; font-size:13px; color:#bccfe5; }
.sanr-site-footer nav { display:flex; flex-wrap:wrap; gap:16px 30px; font-size:13px; margin-top:25px; }
.sanr-site-footer nav a { padding-block:8px; }
.sanr-site-footer nav a:hover { text-decoration:underline; }
.sanr-site-footer small { display:block; margin-top:28px; font-size:12px; color:#b4c5d9; }
.sanr-site-footer a:focus-visible { outline-color:#fff; }
/* Retain the existing article design; only its site navigation frame changes. */
body.sanr-branded-page .sanr-article-page { background:linear-gradient(180deg,#fffdf0,#f6f6f1 380px); --sanr-ink:#191919; }
body.sanr-branded-page .sanr-article-main { border-color:#e1e1d8; border-radius:16px; box-shadow:0 14px 36px #1717170a; }
body.sanr-branded-page .sanr-article-header { border-top-color:#ffd600; background:#fff; }
body.sanr-branded-page .sanr-article-header h1 { color:#111 !important; letter-spacing:-.025em; }
body.sanr-branded-page .sanr-category-label { background:#111; color:#ffd600 !important; }
@media(max-width:1050px) {
 .sanr-site-header-inner { gap:20px; }
 .sanr-desktop-nav { gap:18px; }
}
@media(max-width:1100px) {
 .sanr-desktop-nav { display:none; }
 .sanr-site-header-inner { padding:13px 24px; gap:16px; min-height:76px; }
 .sanr-header-login { margin-left:auto; }
 .sanr-site-menu { display:block; }
 .sanr-site-menu summary { display:flex; flex-direction:column; align-items:center; justify-content:center; cursor:pointer; width:46px; min-height:48px; color:#123965; line-height:1.2; font:inherit; }
 .sanr-site-menu summary > span { font-size:24px; line-height:1.2; }
 .sanr-site-menu summary small { font-size:9px; margin-top:4px; }
 .sanr-menu-panel { position:absolute; left:0; right:0; top:100%; padding:14px 24px; background:#fff; border-bottom:1px solid #dce5ef; box-shadow:0 15px 25px #12396512; display:flex; flex-direction:column; max-height:calc(100vh - 130px); max-height:calc(100dvh - 130px); overflow:auto; overscroll-behavior:contain; }
 .sanr-menu-panel a { padding:12px; color:#123965; font-size:15px; border-bottom:1px solid #edf2f8; }
 .sanr-menu-panel a:last-child { border-bottom:0; }
}
@media(max-width:782px) and (min-width:601px) { body.admin-bar .sanr-site-header { top:46px; } }
@media(max-width:600px) {
 .sanr-site-header-inner { padding:10px 16px; gap:10px; min-height:68px; }
 .sanr-brand-logo { gap:7px; }
 .sanr-brand-logo img { width:34px; height:34px; }
 .sanr-brand-name { font-size:18px; }
 .sanr-brand-name .sanr-brand-link { font-size:.72em; padding:3px 4px; margin-left:2px; }
 .sanr-site-header a.sanr-header-login { font-size:11px; padding:8px 10px; min-height:38px; display:flex; align-items:center; }
 .sanr-site-menu summary { width:38px; min-height:44px; }
 .sanr-menu-panel { padding:10px 16px; }
 body.admin-bar .sanr-site-header { top:0; }
 .sanr-footer-inner { width:calc(100% - 36px); }
 .sanr-site-footer { padding-block:32px; }
 .sanr-site-footer nav { gap:8px 20px; font-size:12px; }
}
@media(max-width:350px) { .sanr-site-header-inner { padding-inline:10px; gap:6px; } .sanr-brand-name { font-size:16px; } }
@media print { .sanr-site-header { position:static; } .sanr-site-menu,.sanr-skip-link,.sanr-header-login { display:none; } }
