/* A-CUBE Factory共通外枠。IHIKA本文の承認済みスタイルとは分離する。 */
:root { --ac-navy:#123761; --ac-blue:#1675a9; --ac-line:#d9e3ea; }
.ac-site-header { background:#fff; border-bottom:1px solid var(--ac-line); color:var(--ac-navy); position:relative; z-index:1030; }
.ac-header-inner { min-height:78px; display:flex; align-items:center; gap:32px; }
.ac-brand { display:flex; align-items:center; gap:12px; color:var(--ac-navy); font-size:18px; font-weight:700; line-height:1.15; text-decoration:none; }
.ac-brand:hover { color:var(--ac-navy); }
.ac-brand img { width:58px; height:auto; }
.ac-brand small { display:block; margin-top:5px; color:#70849a; font-size:10px; font-weight:500; letter-spacing:.04em; }
.ac-global-nav { display:flex !important; align-items:center; gap:28px; margin-left:auto; }
.ac-global-nav a { color:var(--ac-navy); font-size:14px; font-weight:700; text-decoration:none; white-space:nowrap; }
.ac-global-nav a:hover { color:var(--ac-blue); }
.ac-menu-toggle { display:none; margin-left:auto; border:1px solid var(--ac-line); border-radius:4px; background:#fff; color:var(--ac-navy); padding:8px 12px; font-size:13px; font-weight:700; }
.ac-breadcrumb { background:#f5f8fa; border-bottom:1px solid var(--ac-line); }
.ac-breadcrumb ol { display:flex; align-items:center; flex-wrap:wrap; gap:0; min-height:43px; margin-bottom:0; padding-top:10px; padding-bottom:10px; list-style:none; font-size:12px; }
.ac-breadcrumb li + li::before { content:"›"; padding:0 10px; color:#8a9baa; }
.ac-breadcrumb a { color:#486782; text-decoration:none; }
.ac-breadcrumb [aria-current="page"] { color:#718397; }
.ac-site-footer { margin-top:64px; padding:52px 0 18px; background:#113653; color:#fff; }
.ac-footer-grid { width:min(860px,100%); margin:0 auto; display:grid; grid-template-columns:1.15fr 1fr .8fr; gap:64px; }
.ac-footer-brand a { display:flex; align-items:center; gap:14px; color:#fff; text-decoration:none; }
.ac-footer-brand img { width:64px; filter:brightness(0) invert(1); }
.ac-footer-brand strong { display:block; font-size:17px; }
.ac-footer-brand small { display:block; margin-top:6px; color:#bbcfdd; font-size:10px; }
.ac-footer-column h2 { margin:0 0 15px; color:#fff; font-size:14px; font-weight:700; }
.ac-footer-column nav { display:flex; flex-direction:column; gap:9px; }
.ac-footer-column a { color:#dce8ef; font-size:12px; text-decoration:none; }
.ac-footer-column a:hover { color:#fff; }
.ac-copyright { margin-top:38px; color:#a9c0cf; font-size:11px; text-align:center; }
@media (max-width:767.98px) {
  .ac-header-inner { min-height:64px; gap:14px; }
  .ac-brand { font-size:15px; }
  .ac-brand img { width:48px; }
  .ac-brand small { display:none; }
  .ac-menu-toggle { display:block; }
  .ac-global-nav { position:absolute; top:100%; right:12px; left:12px; display:none !important; padding:10px 18px; border:1px solid var(--ac-line); background:#fff; box-shadow:0 10px 24px rgba(18,55,97,.12); }
  .ac-global-nav.show { display:flex !important; flex-direction:column; align-items:stretch; gap:0; }
  .ac-global-nav a { padding:11px 2px; border-bottom:1px solid #e8eef2; }
  .ac-global-nav a:last-child { border-bottom:0; }
  .ac-footer-grid { grid-template-columns:1fr; gap:34px; }
  .ac-site-footer { padding-top:40px; }
}
