/* ==========================================================================
   Group Company — nav (hamburger menu) & footer additions
   v1.0.3
   - Nav "Group Company" links are explicit block-level items so their
     border-bottom (inherited from the site's `#site-nav a` rule, which
     matches every <a> under #site-nav, nested or not) spans the full
     row width instead of only the text width — matching the underline
     length of the main nav items above (ご挨拶 / 理念・ビジョン etc).
   - Extra top padding above the muramasa logo row in the nav, since the
     logo mark is taller than a text line.
   - Footer rebuilt as three columns (brand / page navigation / group
     companies), matching the layout reference the client sent, with the
     existing colours/typography kept as-is.
   Colour tokens are the site's real ones from style.css:
     --blue (#6C9BD2)        nav / footer background
     --blue-deeper (#1C3350) footer link hover colour
     --accent-light (#F4DE7A) nav link hover / active + label colour
   ========================================================================== */

:root{
  --gc-font: "Shippori Mincho", serif;
}

/* Shared external-link icon */
.ext-icon{
  width: 0.7em;
  height: 0.7em;
  margin-left: 0.4em;
  vertical-align: -0.05em;
  fill: currentColor;
  opacity: 0.8;
  transition: opacity 0.25s ease, transform 0.25s ease;
}
a:hover > .ext-icon{
  opacity: 1;
  transform: translate(1px, -1px);
}

/* Muramasa logo mark (replaces text label) */
.muramasa-logo{
  display: inline-block;
  height: 2.05em;
  width: auto;
  vertical-align: -0.15em;
}

/* ---------------- Nav (hamburger menu) ---------------- */
#site-nav .nav-group{
  width: 100%;
  margin-top: 56px;
  padding-top: 26px;
  border-top: 1px solid rgba(255, 255, 255, 0.22);
}

#site-nav .nav-group-label{
  display: block;
  font-family: var(--gc-font);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: .14em;
  color: var(--accent-light);
  margin-bottom: 14px;
}

#site-nav .nav-group-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}

#site-nav .nav-group-list li{
  padding: 0;
}

/* display:block makes the inherited `#site-nav a` border-bottom stretch
   across the full row (same visual length as ご挨拶 / 理念・ビジョン etc.)
   instead of only under the text itself. */
#site-nav .nav-group-list a{
  display: block;
  width: 100%;
  font-family: var(--gc-font);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .04em;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.78);
  padding: 10px 0;
  transition: color .3s ease;
}

#site-nav .nav-group-list a:hover{
  color: var(--accent-light);
}

/* Extra breathing room above the taller logo mark */
#site-nav .nav-group-list a.muramasa-link{
  padding-top: 12px;
}

/* ---------------- Footer: 3-column layout ---------------- */
footer .footer-columns{
  display: flex;
  flex-wrap: wrap;
  gap: 200px;
  padding-bottom: 36px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.28);
}

footer .footer-col-brand{
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
}

footer .footer-col-nav,
footer .footer-col-group{
  flex: 1 1 180px;
  min-width: 160px;
}

footer .footer-col-label{
  display: block;
  font-family: var(--gc-font);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: .1em;
  color: var(--accent-light);
  margin-bottom: 16px;
}

footer .footer-nav-list,
footer .footer-group-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

footer .footer-nav-list a{
  font-family: var(--gc-font);
  font-size: 14px;
  letter-spacing: .1em;
  color: rgba(255, 255, 255, 0.85);
  transition: color .3s ease;
}

footer .footer-nav-list a:hover{
  color: var(--blue-deeper);
}

footer .footer-group-list a{
  font-family: var(--gc-font);
  font-size: 14px;
  letter-spacing: .06em;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.85);
  transition: color .3s ease;
}

footer .footer-group-list a:hover{
  color: var(--blue-deeper);
}

@media (max-width: 860px){
  footer .footer-columns{
    flex-direction: column;
    gap: 32px;
    padding-bottom: 28px;
  }
}