/* KITAGAWA inner-page Hero system — shared structure and alignment */
/* Structure: English title -> Japanese H1 -> Japanese description. Home is intentionally excluded. */
.kgx-hero,
.kg-core-hero,
.kg-sub-hero{
  display:flex;
  align-items:center;
}

/* Shared content block: vertically centered in the hero, left aligned on the site content line. */
.kgx-hero-inner,
.kg-core-hero-inner,
.kg-sub-hero-inner{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:inherit;
  padding-top:80px;
  padding-bottom:0;
  text-align:left;
}

/* Shared English title / kicker. */
.kgx-hero .kgx-kicker,
.kg-core-hero .kg-core-kicker,
.kg-sub-hero .kg-core-kicker{
  margin:0 0 18px;
  font-size:.78rem;
  line-height:1.4;
  font-weight:700;
  letter-spacing:.18em;
  color:rgba(255,255,255,.82);
}

/* Shared Japanese H1. */
.kgx-hero h1,
.kg-core-hero h1,
.kg-sub-hero h1{
  width:100%;
  max-width:920px;
  margin:0;
  font-family:var(--font-serif,serif);
  font-size:clamp(3.05rem,5.3vw,5.4rem);
  font-weight:500;
  line-height:1.12;
  letter-spacing:-.025em;
  color:#fff;
  white-space:normal;
}

/* Shared Japanese description. */
.kgx-hero .kgx-hero-lead,
.kg-core-hero .kg-core-hero-inner>p:last-child,
.kg-sub-hero .kg-sub-hero-inner>p:last-child{
  width:100%;
  max-width:780px;
  margin:26px 0 0;
  font-size:1rem;
  line-height:1.95;
  color:rgba(255,255,255,.9);
}

/* Business-line pages remain the large visual tier. */
.kgx-hero{min-height:clamp(720px,76vh,840px)}

/* Business overview / shared platform use the same large tier. */
.kg-core-business .kg-core-hero,
.kg-core-our-strength .kg-core-hero{min-height:clamp(720px,76vh,840px)}

/* Corporate information pages use the standard inner-page tier. */
.kg-sub-hero{min-height:560px}

/* Keep the unified hierarchy authoritative over legacy wp-custom-css Hero rules. */
body.page .kg-domain-dna .kgx-hero h1,
body.page .kg-core-page .kg-core-hero h1,
body.page .kg-core-page .kg-sub-hero h1{
  width:100%!important;
  max-width:920px!important;
  font-size:clamp(3.05rem,5.3vw,5.4rem)!important;
  line-height:1.12!important;
  white-space:normal!important;
}
body.page .kg-domain-dna .kgx-hero .kgx-hero-lead,
body.page .kg-core-page .kg-core-hero .kg-core-hero-inner>p:last-child,
body.page .kg-core-page .kg-sub-hero .kg-sub-hero-inner>p:last-child{
  width:100%!important;
  max-width:780px!important;
}

/* Hero CTA buttons are deliberately not part of the shared Hero component. */
.kgx-hero-actions{display:none!important}

@media(max-width:1024px){
  .kgx-hero,
  .kg-core-business .kg-core-hero,
  .kg-core-our-strength .kg-core-hero{min-height:600px}
  .kg-sub-hero{min-height:460px}
  .kgx-hero-inner,
  .kg-core-hero-inner,
  .kg-sub-hero-inner{padding-top:72px}
  body.page .kg-domain-dna .kgx-hero h1,
  body.page .kg-core-page .kg-core-hero h1,
  body.page .kg-core-page .kg-sub-hero h1{font-size:clamp(2.85rem,7vw,4.7rem)!important}
}

@media(max-width:700px){
  .kgx-hero,
  .kg-core-business .kg-core-hero,
  .kg-core-our-strength .kg-core-hero{min-height:500px}
  .kg-sub-hero{min-height:380px}
  .kgx-hero-inner,
  .kg-core-hero-inner,
  .kg-sub-hero-inner{padding-top:64px;padding-bottom:0}
  body.page .kg-domain-dna .kgx-hero h1,
  body.page .kg-core-page .kg-core-hero h1,
  body.page .kg-core-page .kg-sub-hero h1{font-size:clamp(2.45rem,10vw,3.55rem)!important;line-height:1.18!important}
  .kgx-hero .kgx-hero-lead,
  .kg-core-hero .kg-core-hero-inner>p:last-child,
  .kg-sub-hero .kg-sub-hero-inner>p:last-child{margin-top:20px;font-size:.92rem;line-height:1.8}
}
