/* 全ページ共通。Wix内の枠スクロールを通常のページスクロールに変更。 */
html,body{height:auto!important;min-height:100%;max-height:none!important;position:static!important;overflow-y:visible!important;overflow-x:clip!important;scroll-behavior:smooth}
body{margin:0;min-width:0!important}
#page-scroll{position:static!important;inset:auto!important;height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;transform:none!important;padding-top:0!important;touch-action:auto!important}
#page-scroll>main,#page-scroll>footer,main{min-width:0!important;max-width:100%}
#site-top.sgsc-header{position:sticky!important;top:0!important;inset:auto!important;top:0!important;transform:none!important}
[hidden]{display:none!important}
html.menu-open{overflow-y:hidden!important}
html.menu-open body{overflow-y:hidden!important}
html{scroll-padding-top:calc(var(--header-height,80px) + 18px)}
main section[id],main h2[id],main h3[id]{scroll-margin-top:calc(var(--header-height,80px) + 18px)}
main a{overflow-wrap:anywhere}
img{max-width:100%;height:auto}
input,textarea,select{max-width:100%;min-width:0}
/* Header / menu / contents share one navigation script. */
.support-toc{position:fixed!important;z-index:1001;top:var(--header-height,80px)!important;right:24px!important;left:auto!important;width:min(420px,calc(100% - 32px))!important;max-height:calc(100dvh - var(--header-height,80px) - 24px)!important;height:auto!important;margin:0!important;padding:12px 22px!important;overflow-y:auto!important;background:#fff!important;border:1px solid #ded9d6;box-shadow:0 12px 30px #24342914}
.support-toc-links{display:flex!important;flex-direction:column!important;gap:0!important}
.support-toc-links>a{display:block;min-height:44px;padding:10px 0;font:400 13px/1.8 var(--sans,sans-serif);color:#29483e;border-bottom:1px solid #e6e8e1;text-decoration:none}
.support-toc-links>a:last-child{border-bottom:0}
#mobile-menu.sgsc-menu{top:var(--header-height,80px)!important;max-height:calc(100dvh - var(--header-height,80px))!important;bottom:0!important;overflow-y:auto!important}
#site-top.sgsc-header .sgsc-header-contents{border:0;border-bottom:1px solid #b88d99;padding:6px 1px;background:transparent;font:400 11px/1.8 var(--sans,sans-serif);color:#293832;min-height:44px;white-space:nowrap;cursor:pointer}
#sgsc-common-footer{padding-bottom:calc(23px + env(safe-area-inset-bottom))}
html[data-layout=mobile] #site-top.sgsc-header .desktop-categories{display:none}
html[data-layout=mobile] #site-top.sgsc-header .s-header-row{min-height:66px;padding:10px 14px;gap:7px}
html[data-layout=mobile] #site-top.sgsc-header .s-brand{gap:6px}
html[data-layout=mobile] #site-top.sgsc-header .s-brand-mark{font-size:24px}
html[data-layout=mobile] #site-top.sgsc-header .s-brand-name{font-size:12px;letter-spacing:0}
html[data-layout=mobile] #site-top.sgsc-header .s-brand-name small{font-size:6.5px;letter-spacing:.025em}
html[data-layout=mobile] #site-top.sgsc-header .s-header-links{gap:7px;margin-left:auto}
html[data-layout=mobile] #site-top.sgsc-header .sgsc-mobile-reserve{display:inline-flex;align-items:center;min-height:44px;padding:8px 7px;background:#293832;color:white;font-size:10px;white-space:nowrap}
html[data-layout=mobile] #site-top.sgsc-header .s-menu-button{display:flex;flex-direction:column;justify-content:center;align-items:center;width:30px;height:44px;gap:5px}
html[data-layout=mobile] #site-top.sgsc-header .s-menu-button i{display:block;width:19px;height:1px;background:currentColor}
html[data-layout=mobile] #site-top.sgsc-header .s-menu-button small{font:7px/1 sans-serif}
html[data-layout=mobile] #page-scroll{width:100%!important}
html[data-layout=mobile] main{overflow-wrap:break-word}
/* スマホ全ページ：ヘッダーを通常の配置順に置き、本文への重なりを防ぎます。 */
html[data-layout=mobile] #site-top.sgsc-header{
 position:sticky!important;
 inset:auto!important;
 top:0!important;
 transform:none!important;
 margin-inline:auto!important;
}
/* 本文前の追加余白は設けず、ヘッダーの直後から配置します。 */
html[data-layout=mobile] body>#page-scroll{
 padding-top:0!important;
}
html[data-layout=mobile] .center-news-grid{grid-template-columns:1fr!important}
html[data-layout=mobile] .center-news .shell{width:calc(100% - 40px)}
@media(max-width:350px){
 html[data-layout=mobile] #site-top.sgsc-header .s-header-row{padding-inline:8px;gap:4px}
 html[data-layout=mobile] #site-top.sgsc-header .s-brand-mark{font-size:19px}
 html[data-layout=mobile] #site-top.sgsc-header .s-brand-name{font-size:10px}
 html[data-layout=mobile] #site-top.sgsc-header .s-brand-name small{font-size:5.7px}
 html[data-layout=mobile] #site-top.sgsc-header .s-header-links{gap:5px}
 html[data-layout=mobile] #site-top.sgsc-header .sgsc-mobile-reserve{font-size:9px;padding-inline:5px}
}
@media(max-width:1100px){
 #site-top.sgsc-header .desktop-categories{display:none}
 #site-top.sgsc-header .s-menu-button{display:flex;flex-direction:column;align-items:center;justify-content:center;width:32px;height:44px;gap:5px;padding:0;border:0;background:transparent}
 #site-top.sgsc-header .s-menu-button i{display:block;width:20px;height:1px;background:currentColor}
 #site-top.sgsc-header .s-menu-button small{display:block;font:7px/1 sans-serif}
}
@media(prefers-reduced-motion:reduce){html,body,*{scroll-behavior:auto!important}}
@media print{#site-top,#mobile-menu,#contents{display:none!important}}
