/* 2026-09-22: shared navigation and footer requests, confined to newtop4. */
:root{--shell-topbar-height:34px;--shell-main-height:132px;--shell-mobile-bar-height:126px}
.site-shell{position:sticky;top:calc(-1 * var(--shell-topbar-height));z-index:125;background:#fff;box-shadow:0 2px 9px #30230c12}
html{scroll-padding-top:calc(var(--shell-main-height) + 76px)}
.shell-plan-columns{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:20px}
#nav-sub-2{width:860px}
.shell-plan-group h3,.shell-prefecture h3{font-family:inherit;font-weight:700;font-size:17px;margin:0 0 5px}
.shell-plan-group h3 a,.shell-prefecture h3 a{font-weight:700;color:var(--gold);background:#f5f1e7;border-bottom:2px solid #b69b5e}
#nav-sub-2 .shell-plan-group ul{display:block}
#nav-sub-3{width:880px}
.shell-prefecture+.shell-prefecture{margin-top:24px}
.shell-area-group{margin-top:12px}
.shell-area-group h4{font-size:16px;margin:0 0 4px;line-height:1.5}
.shell-area-group h4>a{font-size:16px;font-weight:700;padding:6px 12px;min-height:36px;background:#faf8f2}
.shell-area-group h4:not(:has(a)){padding:6px 12px;color:var(--gold)}
#nav-sub-3 .shell-area-group ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 8px}
#nav-sub-3 .shell-area-group ul a{font-size:16px;padding:8px 12px}
.shell-footer-prefecture{margin-top:16px}
.shell-footer-prefecture h3{font-family:inherit;font-size:15px;font-weight:700;line-height:1.7;margin-bottom:7px}
.shell-footer-area-line{font-size:13px;line-height:2.25}
.shell-footer-area-line a,.shell-footer-area-line strong{display:inline;white-space:nowrap}
.shell-footer-area-line a:hover,.shell-footer-area-line a:focus-visible{text-decoration:underline;color:#a82148}
.site-shell a,.site-footer a{transition:color .18s ease,background-color .18s ease,filter .18s ease}
.site-shell .brand:hover,.site-footer .brand:hover{filter:brightness(1.15)}
.site-shell .brand,.site-footer .brand{isolation:isolate;max-width:400px}
.site-shell .brand img,.site-footer .brand img{width:100%;height:auto}
.site-shell .brand::after,.site-footer .brand::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:var(--gold);-webkit-mask:url("assets/logo-original-red.png") center/100% 100% no-repeat;mask:url("assets/logo-original-red.png") center/100% 100% no-repeat;clip-path:polygon(30% 31%,100% 31%,100% 100%,30% 100%)}
.site-shell .brand>span,.site-footer .brand>span{z-index:2;left:31%;right:0;top:5%;height:29%;line-height:1.4;background:#fff;display:flex;align-items:center;white-space:nowrap}
.toplinks a:hover{color:#a82148;text-decoration:underline}
@media(min-width:1101px){
 .site-shell .nav-wrap{position:relative}
 .site-shell .nav-item:has(>#nav-sub-2),.site-shell .nav-item:has(>#nav-sub-3){position:static}
 .site-shell #nav-sub-2,.site-shell #nav-sub-3{left:50%;right:auto;transform:translateX(-50%)}
 .site-shell .nav-submenu{max-height:calc(100dvh - var(--shell-main-height) - 86px)}
 .site-shell .header-main .brand{max-width:400px}
}
@media(max-width:1100px){
 html{scroll-padding-top:calc(var(--shell-main-height) + 12px)}
 .site-shell .main-nav .wrap{max-height:calc(100dvh - var(--shell-main-height) - var(--shell-mobile-bar-height) - 18px)}
 #nav-sub-2,#nav-sub-3{width:100%}
 .shell-plan-columns{grid-template-columns:1fr 1fr 1.2fr;gap:12px}
 .shell-plan-group h3 a{white-space:normal;font-size:15px}
 #nav-sub-3 .shell-area-group ul{grid-template-columns:repeat(4,minmax(0,1fr))}
 body{padding-bottom:calc(var(--shell-mobile-bar-height) + 12px)}
 .mobile-contact-bar{grid-template-columns:repeat(2,minmax(0,1fr));padding:6px 8px calc(6px + env(safe-area-inset-bottom));gap:5px;background:#53401d;min-height:0;z-index:140}
 .mobile-contact-bar a{min-height:49px;padding:3px 5px;line-height:1.4;border:1px solid transparent}
 .mobile-contact-bar a b{font-size:16px}
 .mobile-contact-bar a span{font-size:10px}
 .mobile-contact-bar a.shell-mobile-phone{background:#fff;color:#53401d}
 .mobile-contact-bar a.shell-mobile-urgent{background:#b4092c;color:#fff}
 .mobile-contact-bar a.shell-mobile-line{background:#2caf04;color:#fff}
 .mobile-contact-bar a.shell-mobile-order{background:#f5c4d3;color:#652435}
 .backtop{bottom:calc(var(--shell-mobile-bar-height) + 10px);z-index:120}
}
@media(max-width:640px){
 .site-shell .header-main{min-height:112px;padding:10px 0;gap:6px 10px}
 .site-shell .header-main .brand{width:250px}
 .site-shell .header-main .brand>span{font-size:11px;top:6px}
 .site-shell .mobile-menu-toggle{top:12px}
 .site-shell .header-phone>span{font-size:9px;margin-bottom:2px}
 .site-shell .header-main .phone{font-size:31px;gap:6px}
 .site-shell .header-main .phone .icon{width:21px;height:21px}
 .shell-plan-columns{grid-template-columns:1fr;gap:15px}
 #nav-sub-2 .shell-plan-group ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .shell-plan-group h3 a{font-size:16px}
 #nav-sub-3 .shell-area-group ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 5px}
 #nav-sub-3 .shell-area-group ul a{font-size:14px;padding:8px 10px}
 .shell-footer-area-line{font-size:12px;line-height:2.3}
 .shell-footer-prefecture h3{font-size:15px}
}
@media(prefers-reduced-motion:reduce){.site-shell a,.site-footer a{transition:none}}
@media print{.site-shell{position:static}.mobile-contact-bar{display:none!important}body{padding-bottom:0}}
.site-shell .brand>span,.site-footer .brand>span{top:0!important;height:35%;padding-top:3%;line-height:1;z-index:3;background:#fff}
