/* 共通ヘッダー・フッター。ここを編集すると全ページに反映されます。 */
.site-header{ padding: 20px 24px; border-bottom: 1px solid var(--line); }
.header-inner, .footer-inner{ width: min(var(--content), calc(100% - 40px)); margin: auto; }
.brand{ font-size: 19px; font-weight: 750; letter-spacing: .04em; }
.brand small{ display: block; color: var(--muted); font-size: 10px; font-weight: 400; letter-spacing: .14em; }
.site-footer{ background: #f3f5f7; padding: 28px 20px; font-size: 13px; color: var(--muted); }
.footer-inner a{ margin-right: 18px; text-decoration: none; }
@media  (max-width: 680px) {.header-inner, .footer-inner{ width: calc(100% - 32px); }}
.brand-logo{ display:block; width:211px; max-width:100%; height:auto; }
@media (max-width:600px){.brand-logo{width:165px;}}
@media  (min-width:981px) {.site-header .header-inner{ justify-content:flex-start; gap:clamp(12px,1.5vw,22px); }
.site-header .brand{ flex:0 0 auto; }
.site-header .global-nav{ margin-left:auto; gap:clamp(8px,1.05vw,17px); }
.global-nav .header-consultation{ margin-left:clamp(14px,2vw,28px); }}
.global-nav .header-consultation{ background:#FF6C6C; color:#fff; border:1px solid #FF6C6C; box-shadow:0 2px 6px rgba(255,108,108,.12); }
.global-nav .header-consultation:hover{ background:#E85858; border-color:#E85858; color:#fff; }
@media (max-width:980px) {.global-nav .header-consultation{ margin-left:0; }}
.site-header{position:sticky;top:0;z-index:1000;background:#fff;box-shadow:0 2px 12px rgba(22,44,62,.10);padding:0!important;border-bottom:1px solid #e4e9ed}
.site-header .header-inner{width:min(1180px,calc(100% - 36px));min-height:78px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.site-header .brand{text-decoration:none;color:#183b59;font-weight:750;font-size:20px;white-space:nowrap;line-height:1.2}
.site-header .brand small{display:block;font-size:10px;letter-spacing:.19em;color:#84909c;margin-top:5px}
.global-nav{display:flex;align-items:center;gap:clamp(9px,1.5vw,23px)}
.global-nav a{text-decoration:none;font-size:13px;font-weight:600;color:#384c5e;white-space:nowrap;padding:27px 0 23px;border-bottom:3px solid transparent}
.global-nav a:hover, .global-nav a[aria-current=page]{color:#1e658e;border-bottom-color:#1e658e}
.menu-toggle{display:none;border:1px solid #dce5ed;background:white;border-radius:5px;width:44px;height:42px;padding:9px;cursor:pointer}
.menu-toggle span{display:block;height:2px;background:#23465f;margin:5px 0}
.site-footer{background:#263b4c!important;color:#e7edf3!important;border:0!important;padding:48px 20px 18px!important}
.site-footer-inner{width:min(1080px,100%);margin:auto}
.footer-top{padding-bottom:25px;border-bottom:1px solid rgba(255,255,255,.18)}
.footer-brand{font-size:21px;font-weight:700;color:white!important;text-decoration:none}
.footer-brand small{display:block;font-size:10px;letter-spacing:.2em;font-weight:400;color:#bdcbd6}
.footer-top p{font-size:12px;color:#cbd5dd;margin:12px 0 0}
.footer-columns{display:grid;grid-template-columns:2fr 1.5fr 1fr;gap:36px;padding:27px 0 32px}
.footer-columns nav{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.footer-columns h2{font-size:14px;margin:0 0 8px;color:#fff}
.footer-columns a{font-size:13px;color:#d9e3eb!important;text-decoration:none}
.footer-columns a:hover{text-decoration:underline}
.site-footer .copyright{border-top:1px solid rgba(255,255,255,.18);padding-top:17px;font-size:11px;color:#b9c9d5;text-align:center}
@media (max-width:980px){.menu-toggle{display:block}
.global-nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;box-shadow:0 9px 16px rgba(22,44,62,.13);padding:8px 22px 16px;flex-direction:column;align-items:stretch;gap:0}
.global-nav.is-open{display:flex}
.global-nav a{padding:12px 5px;border-bottom:1px solid #edf0f3}
.site-header .header-inner{min-height:68px}}
@media (max-width:600px){.site-header .brand{font-size:17px}
.footer-columns{grid-template-columns:1fr 1fr;gap:28px}
.footer-columns nav:first-child{grid-column:1/-1}}
.global-nav .header-consultation{ display:inline-flex; align-items:center; justify-content:center; text-align:center; padding:10px 14px; background:#214e73; color:#fff; border-radius:6px; font-size:13px; font-weight:700; line-height:1.45; text-decoration:none; }
.global-nav .header-consultation:hover{ background:#163951; color:#fff; }
@media (max-width:980px) {.global-nav .header-consultation{ margin-top:12px; padding:13px 12px; border-bottom:0; }}
.global-nav a.header-consultation, .global-nav a.header-consultation:visited{background:#FF6C6C;color:#fff;border-color:#FF6C6C;}
.global-nav a.header-consultation:hover, .global-nav a.header-consultation:focus-visible{background:#E85858;color:#fff;border-color:#E85858;}
.brand-logo{width:173px!important;height:auto!important;}
@media (max-width:600px){.brand-logo{width:135px!important;}}
.site-header{position:relative;z-index:10;background:white}
.site-footer{background:#071F50!important;color:#e9f0fc!important}
.site-footer a{color:#f2f6ff!important}
.footer-top p, .footer-columns, .copyright{color:#c9d6ed!important}





.site-header .header-inner{width:min(1000px,calc(100% - 64px))!important;gap:14px!important}
.site-header .brand-logo{max-width:100%!important}
.global-nav{gap:clamp(7px,1vw,14px)!important}
.global-nav a{font-size:12px!important}
.site-footer-inner{width:min(1000px,calc(100% - 64px))!important;max-width:1000px!important}
.site-footer{padding-left:0!important;padding-right:0!important}
@media (max-width:980px){.site-header .header-inner, .site-footer-inner{width:calc(100% - 48px)!important}
.global-nav a{font-size:13px!important}}
@media (max-width:600px){.site-header .header-inner, .site-footer-inner{width:calc(100% - 36px)!important}}





.site-header{position:sticky!important;top:0!important;z-index:1000!important}
.site-footer{background:#071F50!important;color:#e9f0fc!important}
.site-footer a, .site-footer a:link, .site-footer a:visited, .site-footer .footer-brand{color:#f2f6ff!important}
.site-footer .footer-top p, .site-footer .footer-columns, .site-footer .copyright, .site-footer small{color:#c9d6ed!important}



.site-header{background:rgba(255,255,255,.91)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
@media  (min-width:1101px){.site-header .global-nav{gap:16px!important;}}
@media  (min-width:981px) and (max-width:1100px){.site-header .global-nav{gap:12px!important;}}

