/* ============================================================
   PuRuth site-shell.css  v0.1  (2026-09-16)
   lp.css を読まないページ（simulator／ztt-a/s/w/p／philosophy／service）で共通ヘッダー・フッターを
   成立させるための骨格。lp.css の .site-header / .site-footer 関連規則を転記し、
   ページ側の同名クラス（.footer-bottom 等）に勝つよう .site-header / .site-footer を前置している。
   読み込み順: ページ固有CSS → site-shell.css → site-navigation.css → site-brand.css（最後）
   ============================================================ */
html{scroll-padding-top:100px}
.skip-link{position:fixed;top:-100px;left:20px;background:#0b1622;color:#f2f6fa;padding:12px;z-index:100}
.skip-link:focus{top:10px}
.site-header{position:sticky;top:0;z-index:30;border-bottom:1px solid #1c2c3a;color:#bcc9d3}
.site-header .header-inner{max-width:1440px;margin:auto;min-height:80px;padding-inline:48px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.site-header .brand{display:inline-flex;align-items:center;white-space:nowrap;text-decoration:none}
.site-header .brand img{display:block;max-width:100%}
.site-header nav{display:flex;align-items:center;gap:27px;font-size:12px;font-weight:500}
.site-header nav a,.site-footer a{color:inherit;text-decoration:none}
.site-header .menu-toggle{display:none;border:0;background:none;font:inherit;font-size:12px;color:#f2f6fa;cursor:pointer}
.site-header .menu-toggle span{margin-left:8px}
.site-header [hidden]{display:none!important}
.site-header details>summary{list-style:none}
.site-header details>summary::-webkit-details-marker{display:none}
.site-footer{padding-block:45px 25px}
.site-footer .section-shell{max-width:1280px;padding-inline:48px;margin-inline:auto}
.site-footer h2,.site-footer p{margin:0}
.site-footer .footer-bottom{display:flex;justify-content:space-between;align-items:center;text-align:left;border-top:1px solid #1c2c3a;margin-top:27px;padding-top:22px;font:9px/1.8 Arial,sans-serif;letter-spacing:.06em;color:#9fb0bf}
.site-footer .footer-bottom small{font-size:inherit}
@media(max-width:1100px){.site-header .header-inner{padding-inline:28px}.site-header nav{gap:17px}.site-footer .section-shell{padding-inline:32px}}
@media(max-width:900px){.site-header nav{gap:14px;font-size:11px}}
@media(max-width:767px){html{scroll-padding-top:85px}.site-header .header-inner{min-height:68px;padding-inline:20px;flex-wrap:wrap;gap:0}.site-header .menu-toggle{display:block;margin-left:auto;padding:14px 0}.site-header nav{display:flex;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;padding:8px 0 18px;font-size:13px}.site-header nav>a{padding:13px 10px;border-top:1px solid #1c2c3a}.site-header.js-menu nav:not(.is-open){display:none}.site-footer .section-shell{padding-inline:24px}.site-footer .footer-bottom{gap:15px;font-size:8px}}
@media(max-width:370px){.site-footer .section-shell{padding-inline:18px}}
