/* Shared PHP header and footer. HTML preview copies are generated from the same partials. */
.shell-skip{position:absolute;left:12px;top:-90px;z-index:100;background:#fff;color:#182f41;padding:10px 14px}.shell-skip:focus{top:12px}
.shell-anchor{display:block;position:relative;top:-74px;height:0;overflow:hidden}
.shell-header,.shell-header *,.shell-footer,.shell-footer *{box-sizing:border-box}
.shell-header{font-family:'Noto Sans JP',system-ui,sans-serif;position:sticky;top:0;z-index:80;background:rgba(255,255,255,.98);border-bottom:1px solid #dce2e4;color:#182f41;box-shadow:0 5px 20px rgba(24,47,65,.04)}
.shell-header-inner{width:min(100% - 48px,1180px);margin:auto;min-height:74px;display:flex;align-items:center;gap:clamp(15px,2vw,28px)}
.shell-brand{display:flex;align-items:center;flex:0 0 auto}.shell-brand img{display:block;width:110px;height:auto}
.shell-nav{display:flex;align-items:center;margin-left:auto;gap:clamp(4px,.8vw,11px)}
.shell-nav a{color:#405262;text-decoration:none;font-size:13px;line-height:1.4;font-weight:600;white-space:nowrap;padding:11px 5px;border-bottom:2px solid transparent}
.shell-nav a:hover,.shell-nav a:focus-visible{color:#244f78;border-color:#b75b39}
.shell-contact{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;padding:12px 15px;color:#fff!important;background:#244f78;border-radius:4px;text-decoration:none;font-size:13px;font-weight:700;white-space:nowrap;line-height:1.4}
.shell-contact:hover{background:#183c5a}
body[data-page="business"] :is(.shell-nav,.shell-mobile nav) [data-nav="business"]{color:#182f41;border-color:#b75b39}
body[data-page="home"] :is(.shell-nav,.shell-mobile nav) [data-nav="home"],body[data-page="about"] :is(.shell-nav,.shell-mobile nav) [data-nav="about"],body[data-page="service"] :is(.shell-nav,.shell-mobile nav) [data-nav="service"],body[data-page="ai-search"] :is(.shell-nav,.shell-mobile nav) [data-nav="service"],body[data-page="tools"] :is(.shell-nav,.shell-mobile nav) [data-nav="tools"],body[data-page="meishi"] :is(.shell-nav,.shell-mobile nav) [data-nav="tools"],body[data-page="fde"] :is(.shell-nav,.shell-mobile nav) [data-nav="fde"],body[data-page="role"] :is(.shell-nav,.shell-mobile nav) [data-nav="fde"],body[data-page="news"] :is(.shell-nav,.shell-mobile nav) [data-nav="news"],body[data-page="article"] :is(.shell-nav,.shell-mobile nav) [data-nav="news"],body[data-page="recruit"] :is(.shell-nav,.shell-mobile nav) [data-nav="recruit"]{color:#182f41;border-color:#b75b39}
.shell-mobile{display:none;position:relative}.shell-mobile summary{list-style:none;width:44px;height:44px;border:1px solid #cbd6d9;border-radius:5px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.shell-mobile summary::-webkit-details-marker{display:none}.shell-mobile summary span{width:20px;height:2px;background:#244f78;border-radius:2px}.shell-mobile nav{position:absolute;right:0;top:51px;width:min(310px,calc(100vw - 32px));max-height:calc(100vh - 90px);overflow:auto;background:#fff;border:1px solid #cbd6d9;box-shadow:0 18px 36px rgba(24,47,65,.18);padding:10px;border-radius:6px}.shell-mobile nav a{display:block;color:#182f41;text-decoration:none;font-size:15px;font-weight:600;padding:12px 14px;border-bottom:1px solid #edf0ef}.shell-mobile nav a:last-child{border-bottom:0}.shell-mobile nav a:hover,.shell-mobile nav a:focus-visible{background:#edf3f0;color:#244f78}
.shell-footer{background:#172f40;color:#dce8ed;border-top:4px solid #b75b39;padding:42px max(24px,calc((100vw - 1180px)/2)) 26px;font-family:'Noto Sans JP',system-ui,sans-serif}
.shell-footer-main{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:clamp(25px,3vw,54px);max-width:1180px;margin:auto;padding-bottom:37px;border-bottom:1px solid rgba(255,255,255,.2)}
.shell-footer-company{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:14px;line-height:1.6}.shell-footer-company img{display:block;width:170px;height:auto;margin-bottom:9px}.shell-footer-company strong{color:#fff}.shell-footer-company a:not(.shell-footer-cta){color:#eaf2f5;text-decoration:none}.shell-footer-company a:hover{text-decoration:underline;text-underline-offset:4px}.shell-footer-cta{display:inline-flex;margin-top:12px;padding:10px 16px;background:#b75b39;color:#fff;text-decoration:none;border-radius:4px;font-weight:700}.shell-footer-cta:hover{background:#d17450}
.shell-footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.shell-footer-col h2{font-size:13px;color:#e2bd91;line-height:1.5;margin:8px 0 15px;letter-spacing:.04em}.shell-footer-col a{font-size:14px;line-height:1.55;padding:4px 0;text-decoration:none;color:#eef5f8}.shell-footer-col a:hover,.shell-footer-col a:focus-visible{text-decoration:underline;text-underline-offset:4px;color:#fff}
.shell-footer-bottom{max-width:1180px;margin:30px auto 0;display:flex;justify-content:space-between;gap:16px 30px;flex-wrap:wrap;color:#c4d3db;font-size:12px;line-height:1.6}
@media(max-width:1080px){.shell-nav{display:none}.shell-contact{margin-left:auto}.shell-mobile{display:block}}
@media(max-width:760px){.shell-footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px}.shell-footer-company{grid-column:1/-1}.shell-header-inner{width:calc(100% - 32px)}}
@media(max-width:500px){.shell-header-inner{min-height:67px;gap:10px}.shell-brand img{width:93px}.shell-contact{font-size:12px;padding:10px 11px}.shell-footer{padding:38px 20px 25px}.shell-footer-col a{font-size:14px}.shell-footer-bottom{margin-top:24px}}

/* Align all page types against the same content width, including scrollbar space. */
:root{--site-content-width:1180px;--site-gutter:24px}
.wrap,.shell-header-inner{width:min(var(--site-content-width),calc(100% - var(--site-gutter) * 2))}
.shell-footer{padding-inline:max(var(--site-gutter),calc((100% - var(--site-content-width))/2))}
.page>section{padding-inline:max(var(--site-gutter),calc((100% - var(--site-content-width))/2))!important}
.gt-home-hero>div:last-child{padding-left:max(var(--site-gutter),calc((100% - var(--site-content-width))/2))!important}
body[data-page="service"] .gt-hero-sec::after{right:max(var(--site-gutter),calc((100% - var(--site-content-width))/2))}
body[data-page="service"] .gt-hero-sec::before{right:max(calc(var(--site-gutter) + 8px),calc((100% - var(--site-content-width))/2 + 8px))}
@media(max-width:720px){:root{--site-gutter:16px}}
