/* 採用ロゴA。画像・読み方・寸法は全ページで共通にする。 */
.brand.qz-brand{display:inline-flex;align-items:center;gap:0;flex-shrink:0;margin:0;padding:0;border:0;background:transparent;text-decoration:none;line-height:1;vertical-align:middle}
.qz-brand>.qz-brand-logo{display:block;width:240px;height:52px;max-width:none;object-fit:cover;object-position:center;border:0;border-radius:0}
.qz-brand:focus-visible{outline:3px solid #245e4c;outline-offset:4px;border-radius:4px}
.qz-footer-brand{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;flex-shrink:0;text-align:left}
.qz-footer-brand .qz-brand-logo{width:220px;height:48px}
.qz-footer-brand .qz-brand-reading{display:block;margin:0 0 0 14px;padding:0;width:auto;order:0;font:12px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI","Yu Gothic",Meiryo,sans-serif;letter-spacing:0;color:#536272;white-space:nowrap}
.qz-footer-standalone{border-top:1px solid #dce3e0;padding:24px max(24px,calc((100% - 1152px)/2));background:#fff}
.qz-footer-stacked>.qz-footer-brand{margin-bottom:16px}
.qz-page-label{font-size:12px;color:#536272;white-space:nowrap}
/* 全ページ共通のヘッダー。本文やデモ内のナビゲーションには適用しない。 */
html:has(.qz-site-header){scroll-padding-top:100px}
.qz-site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);color:#13223c;border-bottom:1px solid #dce2e9}
.qz-header-inner{box-sizing:border-box;width:min(1184px,calc(100% - 96px));min-height:86px;margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.qz-site-header .qz-header-menu{position:static;display:flex;align-items:center;gap:30px;margin:0;padding:0;background:transparent;box-shadow:none}
.qz-site-header .qz-header-menu,.qz-site-header .qz-header-menu>a,.qz-site-header .qz-header-menu>button{font:700 .875rem/1.85 "Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,system-ui,sans-serif;letter-spacing:0}
.qz-site-header .qz-header-menu>a{box-sizing:border-box;color:#13223c;text-decoration:none;white-space:nowrap;padding:0}
.qz-site-header .qz-header-menu>a:not(.nav-contact):hover{color:#245e4c;text-decoration:underline;text-underline-offset:5px}
.qz-site-header .qz-header-menu>.nav-contact{display:flex;align-items:center;justify-content:space-between;gap:22px;border:0;border-radius:5px;margin:0;padding:11px 19px;background:var(--qz-action,#245e4c);color:#fff}
.qz-site-header .qz-header-menu>.nav-contact:hover{background:var(--qz-action-hover,#194735);color:#fff;text-decoration:none}
.qz-site-header .qz-header-menu>a:focus-visible,.qz-site-header button:focus-visible{outline:3px solid #245e4c;outline-offset:4px}
.qz-site-header .qz-menu-toggle{display:none;box-sizing:border-box;flex-direction:column;gap:6px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;border:1px solid #dce2e9;border-radius:5px;background:#fff;cursor:pointer}
.qz-site-header .qz-menu-toggle span{display:block;width:19px;height:2px;background:#13223c}
@media(max-width:960px){
  html:has(.qz-site-header){scroll-padding-top:86px}
  .qz-header-inner{width:calc(100% - 40px);min-height:72px}
  .qz-site-header .qz-menu-toggle{display:flex;flex-shrink:0}
  .qz-site-header .qz-header-menu{position:absolute;top:100%;left:0;right:0;display:none;align-items:stretch;flex-direction:column;gap:0;padding:20px;background:#fff;box-shadow:0 15px 25px #13223c15;max-height:calc(100dvh - 73px);overflow-y:auto}
  .qz-site-header .qz-header-menu.open{display:flex}
  .qz-site-header .qz-header-menu>a{padding:13px 10px}
  .qz-site-header .qz-header-menu>.nav-contact{margin-top:8px;padding:13px 16px}
}
@media print{.qz-site-header{display:none}}
@media(max-width:600px){
  .qz-brand>.qz-brand-logo{width:180px;height:40px}
  .qz-footer-brand .qz-brand-logo{width:210px;height:46px}
  .header:has(>.qz-brand),.site-head:has(>.qz-brand),.app-header:has(>.qz-brand){height:auto;min-height:70px;flex-wrap:wrap;row-gap:8px;padding-top:12px;padding-bottom:12px}
  .qz-footer-standalone{padding:24px 18px}
}
@media(max-width:360px){.qz-brand>.qz-brand-logo{width:160px;height:36px}.qz-footer-brand .qz-brand-logo{width:210px;height:46px}}
