/* Mobile first-view lock: loaded after the legacy stylesheet. */
@media (max-width: 720px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .site-header {
    width: 100vw !important;
    max-width: 100vw !important;
    min-height: 76px !important;
    padding: 12px 14px !important;
    gap: 8px !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  .brand,
  .brand-lockup {
    min-width: 0 !important;
  }

  .brand-logo-old {
    width: 148px !important;
    max-width: calc(100vw - 174px) !important;
    height: auto !important;
  }

  .lang-switch-header {
    flex: 0 0 82px !important;
    width: 82px !important;
    min-width: 82px !important;
  }

  .nav-toggle {
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
  }

  .hero {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    padding: 34px 0 34px !important;
    overflow: hidden !important;
  }

  .hero-grid {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
  }

  .hero-copy,
  .hero-content,
  .hero h1,
  .hero-lede,
  .hero-actions {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .japan-cue,
  .hero-jp-line,
  .hero-proof-line,
  .hero-scope,
  .signal-row,
  .hero-bridge-visual,
  .hero-media,
  .gtm-visual-old {
    display: none !important;
  }

  .hero .eyebrow {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 18px !important;
    color: #a94739 !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    letter-spacing: 0.16em !important;
    white-space: normal !important;
  }

  .hero h1 {
    display: block !important;
    margin: 0 0 18px !important;
    color: #0c1422 !important;
    font-size: clamp(39px, 10.2vw, 43px) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.045em !important;
    text-wrap: balance !important;
    overflow-wrap: normal !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(34px, 9.1vw, 38px) !important;
    line-height: 1.2 !important;
    letter-spacing: -0.04em !important;
    word-break: keep-all !important;
  }

  .hero-title-line {
    display: block !important;
    max-width: calc(100vw - 48px) !important;
    white-space: normal !important;
  }

  .hero-lede,
  html[lang="ja"] .hero-lede {
    width: calc(100vw - 48px) !important;
    max-width: calc(100vw - 48px) !important;
    margin: 0 !important;
    color: #5e6672 !important;
    font-size: 15.5px !important;
    line-height: 1.58 !important;
    font-weight: 650 !important;
    letter-spacing: -0.01em !important;
    overflow-wrap: break-word !important;
  }

  .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 22px 0 0 !important;
  }

  .hero-actions .button {
    width: 100% !important;
    max-width: calc(100vw - 48px) !important;
    min-width: 0 !important;
    min-height: 52px !important;
    justify-content: center !important;
    padding: 0 12px !important;
    font-size: 12px !important;
    letter-spacing: 0.08em !important;
  }

  .hero-actions .button-secondary {
    display: none !important;
  }
}

/* 2026-06-08 mobile conversion final. Keep at EOF. */
@media (max-width: 720px) {
  .hero {
    padding: 34px 0 30px !important;
    background: linear-gradient(180deg, #fffefa 0%, #f8fbf3 100%) !important;
  }

  .hero-grid {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 22px !important;
  }

  .hero-copy {
    display: flex !important;
    flex-direction: column !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .hero .eyebrow {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 16px !important;
    color: #a94739 !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    letter-spacing: 0.2em !important;
    font-weight: 900 !important;
  }

  .hero .eyebrow::before {
    content: "" !important;
    width: 30px !important;
    height: 1px !important;
    background: #6cab45 !important;
  }

  .japan-cue {
    display: none !important;
  }

  .hero-jp-line,
  html[lang="ja"] .hero-jp-line {
    display: block !important;
    order: 1 !important;
    margin: 0 0 12px !important;
    color: #18325b !important;
    font-size: 20px !important;
    line-height: 1.35 !important;
    letter-spacing: -0.025em !important;
    font-weight: 850 !important;
  }

  .hero h1,
  html[lang="ja"] .hero h1 {
    order: 2 !important;
    display: block !important;
    max-width: 100% !important;
    margin: 0 0 18px !important;
    color: #0c1422 !important;
    font-size: clamp(39px, 10.3vw, 46px) !important;
    line-height: 1.06 !important;
    letter-spacing: -0.045em !important;
    font-weight: 900 !important;
    text-wrap: balance !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(34px, 9.1vw, 39px) !important;
    line-height: 1.18 !important;
    letter-spacing: -0.035em !important;
    word-break: keep-all !important;
  }

  .hero-title-line {
    display: block !important;
  }

  .hero-lede,
  html[lang="ja"] .hero-lede {
    order: 3 !important;
    max-width: 100% !important;
    margin: 0 !important;
    color: #5e6672 !important;
    font-size: 16px !important;
    line-height: 1.58 !important;
    font-weight: 650 !important;
    letter-spacing: -0.01em !important;
  }

  .hero-proof-line,
  .hero-scope,
  .signal-row,
  .hero-bridge-visual,
  .hero-media,
  .gtm-visual-old,
  .hero-proof-card {
    display: none !important;
  }

  .hero-actions {
    order: 4 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 22px 0 0 !important;
  }

  .hero-actions .button {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 52px !important;
    justify-content: center !important;
    border-radius: 10px !important;
    padding: 0 14px !important;
    font-size: 12px !important;
    letter-spacing: 0.08em !important;
  }

  .hero-actions .button-primary {
    background: #18325b !important;
    color: #ffffff !important;
  }

  .hero-actions .button-secondary {
    display: none !important;
  }

  .hero-mobile-proof {
    order: 5 !important;
    display: block !important;
    position: relative !important;
    width: 100% !important;
    margin: 18px 0 0 !important;
    border: 1px solid rgba(24, 50, 91, 0.12) !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    box-shadow: 0 16px 36px rgba(16, 34, 58, 0.12) !important;
  }

  .hero-mobile-proof img {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
  }

  .hero-mobile-proof figcaption {
    position: absolute !important;
    left: 10px !important;
    bottom: 10px !important;
    padding: 8px 11px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    color: #18325b !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
  }
}

@media (max-width: 390px) {
  .hero-grid {
    padding-inline: 20px !important;
  }

  .hero h1 {
    font-size: clamp(36px, 9.7vw, 41px) !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(32px, 8.7vw, 37px) !important;
  }
}

/* 2026-06-11 company9 mobile final pass. Keep this last. */
@media (max-width: 720px) {
  body {
    background: #fffefa !important;
  }

  .site-header {
    min-height: 76px !important;
    padding: 12px 18px !important;
    gap: 10px !important;
    align-items: center !important;
    background: rgba(255, 255, 252, 0.97) !important;
    box-shadow: 0 10px 28px rgba(12, 20, 34, 0.06) !important;
  }

  .brand {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 154px) !important;
  }

  .brand-lockup-combo {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .brand-mark-old {
    display: block !important;
    width: 164px !important;
    height: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    object-fit: contain !important;
    object-position: left center !important;
    filter: none !important;
  }

  .brand-wordmark,
  .brand-lockup-combo small {
    display: none !important;
  }

  .lang-switch-header {
    flex: 0 0 auto !important;
    width: 82px !important;
    height: 46px !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    padding: 4px !important;
    transform: none !important;
    border-radius: 999px !important;
  }

  .lang-switch-header button {
    min-width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    font-size: 12px !important;
    letter-spacing: 0.05em !important;
  }

  .nav-toggle {
    flex: 0 0 54px !important;
    width: 54px !important;
    height: 54px !important;
    border-radius: 999px !important;
    margin-left: 6px !important;
    background: #ffffff !important;
    border: 1px solid rgba(24, 50, 91, 0.13) !important;
    box-shadow: 0 8px 18px rgba(12, 20, 34, 0.05) !important;
  }

  .nav-toggle span:not(.sr-only) {
    width: 22px !important;
    height: 2px !important;
    background: #0c1422 !important;
  }

  .hero {
    min-height: auto !important;
    padding: 34px 0 46px !important;
    background:
      radial-gradient(circle at 88% 18%, rgba(126, 188, 84, 0.14), transparent 34%),
      linear-gradient(180deg, #fffefa 0%, #fbfaf4 100%) !important;
  }

  .hero-grid {
    display: block !important;
    padding: 0 24px !important;
  }

  .hero .eyebrow {
    margin-bottom: 18px !important;
    font-size: 11px !important;
    letter-spacing: 0.15em !important;
    line-height: 1.45 !important;
  }

  .japan-cue {
    margin-bottom: 24px !important;
    padding: 12px 15px !important;
    box-shadow: 0 12px 24px rgba(24, 50, 91, 0.05) !important;
  }

  .japan-cue span {
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  .hero-jp-line {
    margin-bottom: 14px !important;
    font-size: 18px !important;
    line-height: 1.45 !important;
    letter-spacing: -0.02em !important;
  }

  .hero h1,
  html[lang="ja"] .hero h1 {
    margin: 0 0 18px !important;
    max-width: 100% !important;
    color: #0c1422 !important;
    letter-spacing: -0.045em !important;
    text-wrap: balance !important;
  }

  .hero h1 {
    font-size: clamp(38px, 10vw, 46px) !important;
    line-height: 1.08 !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(32px, 8.55vw, 38px) !important;
    line-height: 1.24 !important;
    letter-spacing: -0.025em !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }

  .hero-lede,
  .hero-proof-line {
    max-width: 100% !important;
    color: #5d6570 !important;
    font-size: 16px !important;
    line-height: 1.62 !important;
    font-weight: 650 !important;
  }

  .hero-proof-line {
    margin-top: 15px !important;
  }

  .hero-scope {
    margin-top: 18px !important;
    gap: 8px !important;
  }

  .hero-scope span {
    padding: 8px 11px !important;
    font-size: 10px !important;
  }

  .hero-actions {
    margin-top: 22px !important;
  }

  .hero-actions .button {
    min-height: 50px !important;
    border-radius: 12px !important;
  }

  .proof-strip {
    width: calc(100% - 36px) !important;
    margin: 0 auto 48px !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    border-radius: 22px !important;
    overflow: hidden !important;
  }

  .proof-strip div {
    min-height: 104px !important;
    padding: 18px 16px !important;
  }

  .proof-strip strong {
    font-size: 28px !important;
    line-height: 1 !important;
  }

  .proof-strip span {
    font-size: 12px !important;
    line-height: 1.25 !important;
  }

  .network-grid,
  html[lang="ja"] .network-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .network-grid a,
  html[lang="ja"] .network-grid a {
    min-height: auto !important;
    padding-bottom: 24px !important;
    text-align: left !important;
  }

  .network-grid img,
  .network-grid a img {
    height: 190px !important;
    object-fit: cover !important;
    object-position: top center !important;
  }

  .network-grid strong,
  html[lang="ja"] .network-grid strong,
  .network-grid span,
  html[lang="ja"] .network-grid a span,
  .network-grid p,
  .network-grid a p {
    margin-left: 22px !important;
    margin-right: 22px !important;
    text-align: left !important;
  }

  .network-grid strong,
  html[lang="ja"] .network-grid strong {
    margin-top: 22px !important;
    font-size: 24px !important;
    line-height: 1.12 !important;
  }

  .network-grid p,
  .network-grid a p {
    max-width: 100% !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
  }
}

@media (max-width: 390px) {
  .brand-mark-old {
    width: 150px !important;
  }

  .brand {
    max-width: calc(100% - 144px) !important;
  }

  .hero-grid {
    padding-inline: 22px !important;
  }

  .hero h1 {
    font-size: clamp(36px, 9.5vw, 42px) !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(30px, 8vw, 35px) !important;
  }
}

/* 2026-06-11 final company mobile override. Keep this at EOF. */
@media (max-width: 720px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .site-header {
    min-height: 64px !important;
    padding: 10px 14px !important;
    gap: 8px !important;
    align-items: center !important;
  }

  .brand {
    flex: 1 1 auto !important;
    max-width: calc(100% - 150px) !important;
    min-width: 0 !important;
  }

  .brand-lockup-combo {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .brand-mark-old {
    width: 148px !important;
    max-width: 100% !important;
    height: auto !important;
    flex: 0 1 148px !important;
    object-fit: contain !important;
    object-position: left center !important;
    filter: none !important;
  }

  .brand-wordmark,
  .brand-lockup-combo small {
    display: none !important;
  }

  .lang-switch-header {
    flex: 0 0 auto !important;
    transform: scale(0.66) !important;
    transform-origin: right center !important;
    margin-left: auto !important;
    margin-right: -12px !important;
  }

  .nav-toggle {
    width: 42px !important;
    height: 42px !important;
    flex: 0 0 42px !important;
    border-radius: 50% !important;
  }

  .hero {
    min-height: auto !important;
    padding: 30px 0 34px !important;
    background: linear-gradient(180deg, #fffefa 0%, #fbfaf4 100%) !important;
  }

  .hero-grid {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 22px !important;
  }

  .hero-copy {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .japan-cue,
  .signal-row,
  .hero-scope,
  .hero-proof-line,
  .hero-company-proof,
  .hero-mobile-proof,
  .hero-bridge-visual,
  .hero-media,
  .gtm-visual-old,
  .hero-proof-card {
    display: none !important;
  }

  .hero .eyebrow {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    margin: 0 0 18px !important;
    font-size: 9px !important;
    line-height: 1.35 !important;
    letter-spacing: 0.15em !important;
    color: #a33a31 !important;
  }

  .hero .eyebrow::before {
    content: "" !important;
    display: block !important;
    width: 24px !important;
    flex: 0 0 24px !important;
    height: 1px !important;
    background: #7fbd55 !important;
  }

  .hero-jp-line {
    margin: 0 0 12px !important;
    font-size: 15px !important;
    line-height: 1.42 !important;
    font-weight: 850 !important;
    color: #18325b !important;
  }

  .hero h1 {
    margin: 0 0 14px !important;
    max-width: 100% !important;
    font-size: clamp(34px, 8.8vw, 39px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.055em !important;
    font-weight: 900 !important;
    text-wrap: balance !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(31px, 8vw, 36px) !important;
    line-height: 1.2 !important;
    letter-spacing: -0.035em !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
  }

  .hero-lede {
    margin: 0 !important;
    max-width: 100% !important;
    font-size: 14.5px !important;
    line-height: 1.55 !important;
    font-weight: 650 !important;
    color: #5d6570 !important;
  }

  .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 18px 0 0 !important;
  }

  .hero-actions .button {
    width: 100% !important;
    min-height: 48px !important;
    justify-content: center !important;
    border-radius: 12px !important;
    font-size: 11px !important;
  }

  .hero-actions .button-secondary {
    display: none !important;
  }

  .focus-strip {
    margin: 0 !important;
    padding: 18px 20px !important;
    border-radius: 0 !important;
    background: #fffefa !important;
  }

  .focus-strip div {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .focus-strip span {
    min-height: 72px !important;
    padding: 14px !important;
    border-radius: 16px !important;
    text-align: left !important;
  }

  .focus-strip span:last-child {
    grid-column: 1 / -1 !important;
  }

  .focus-strip b {
    font-size: 24px !important;
    line-height: 1 !important;
  }

  .focus-strip small {
    font-size: 10px !important;
    line-height: 1.25 !important;
  }

  .section-pad {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  .section-intro h2,
  .company-proof h2,
  .why-section h2,
  .about-section h2,
  .contact-panel h2 {
    max-width: 100% !important;
    font-size: clamp(30px, 8vw, 36px) !important;
    line-height: 1.16 !important;
    letter-spacing: -0.035em !important;
    text-wrap: balance !important;
  }

  .network-grid,
  html[lang="ja"] .network-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .network-grid a,
  .network-grid a:nth-child(n) {
    display: block !important;
    min-height: auto !important;
    padding: 0 0 22px !important;
    border-radius: 18px !important;
    text-align: left !important;
  }

  .network-grid img,
  .network-grid a img {
    width: 100% !important;
    height: 168px !important;
    margin: 0 !important;
    border-radius: 18px 18px 0 0 !important;
    object-fit: cover !important;
    object-position: top center !important;
  }

  .network-grid strong,
  html[lang="ja"] .network-grid strong,
  .network-grid span,
  html[lang="ja"] .network-grid a span,
  .network-grid p,
  .network-grid a p {
    display: block !important;
    width: auto !important;
    margin-left: 20px !important;
    margin-right: 20px !important;
    text-align: left !important;
  }

  .network-grid strong,
  html[lang="ja"] .network-grid strong {
    margin-top: 20px !important;
    font-size: 24px !important;
    line-height: 1.15 !important;
    color: #18325b !important;
  }
}

@media (max-width: 390px) {
  .site-header {
    padding-left: 11px !important;
    padding-right: 11px !important;
  }

  .brand {
    max-width: calc(100% - 138px) !important;
  }

  .brand-mark-old {
    width: 136px !important;
    flex-basis: 136px !important;
  }

  .hero-grid {
    padding-inline: 20px !important;
  }

  .hero h1 {
    font-size: clamp(32px, 8.6vw, 36px) !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(29px, 7.6vw, 33px) !important;
  }
}

/* 2026-06-11 final mobile hierarchy lock. Keep this at the absolute end. */
@media (max-width: 720px) {
  .hero {
    min-height: auto !important;
    padding: 34px 0 46px !important;
    overflow: hidden !important;
    background:
      radial-gradient(circle at 84% 8%, rgba(126, 188, 84, 0.15), transparent 34%),
      linear-gradient(180deg, #fffefa 0%, #fbfaf4 100%) !important;
  }

  .hero-grid {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 24px !important;
    margin: 0 !important;
  }

  .hero-copy {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .hero-company-proof,
  .hero-mobile-proof,
  .hero-bridge-visual,
  .hero-media,
  .gtm-visual-old,
  .signal-row {
    display: none !important;
  }

  .hero .eyebrow {
    order: 1 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 14px !important;
    color: #a33a31 !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    letter-spacing: 0.16em !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
  }

  .hero .eyebrow::before {
    content: "" !important;
    display: block !important;
    width: 36px !important;
    height: 1px !important;
    flex: 0 0 36px !important;
    background: #7fbd55 !important;
  }

  .japan-cue {
    order: 2 !important;
    display: block !important;
    width: 100% !important;
    margin: 0 0 24px !important;
    padding: 12px 15px !important;
    border: 1px solid rgba(126, 188, 84, 0.28) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.82) !important;
    box-shadow: 0 12px 28px rgba(24, 50, 91, 0.06) !important;
  }

  .japan-cue span {
    display: block !important;
    color: #18325b !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 850 !important;
    letter-spacing: -0.01em !important;
  }

  .hero-jp-line {
    order: 3 !important;
    display: block !important;
    margin: 0 0 12px !important;
    color: #18325b !important;
    font-size: 19px !important;
    line-height: 1.36 !important;
    font-weight: 850 !important;
    letter-spacing: -0.02em !important;
    max-width: 100% !important;
  }

  .hero h1 {
    order: 4 !important;
    display: block !important;
    margin: 0 0 18px !important;
    max-width: 100% !important;
    color: #0c1422 !important;
    font-size: clamp(36px, 9.4vw, 43px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.045em !important;
    font-weight: 900 !important;
    text-wrap: balance !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(30px, 8vw, 35px) !important;
    line-height: 1.22 !important;
    letter-spacing: -0.035em !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
  }

  .hero-lede {
    order: 5 !important;
    margin: 0 !important;
    max-width: 100% !important;
    color: #5d6570 !important;
    font-size: 15.5px !important;
    line-height: 1.58 !important;
    font-weight: 650 !important;
    letter-spacing: -0.01em !important;
  }

  .hero-proof-line {
    order: 6 !important;
    display: block !important;
    margin: 16px 0 0 !important;
    max-width: 100% !important;
    color: #5d6570 !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    font-weight: 650 !important;
  }

  .hero-scope {
    order: 7 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 18px 0 0 !important;
    max-width: 100% !important;
  }

  .hero-scope span {
    width: auto !important;
    min-width: 0 !important;
    padding: 8px 10px !important;
    border: 1px solid rgba(24, 50, 91, 0.13) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.9) !important;
    color: #18325b !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
  }

  .hero-actions {
    order: 8 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 20px 0 0 !important;
  }

  .hero-actions .button {
    width: 100% !important;
    min-height: 50px !important;
    justify-content: center !important;
    border-radius: 12px !important;
    font-size: 12px !important;
    letter-spacing: 0.08em !important;
  }

  .hero-actions .button-secondary {
    display: none !important;
  }
}

@media (max-width: 390px) {
  .hero-grid {
    padding-inline: 22px !important;
  }

  .hero .eyebrow {
    font-size: 11px !important;
    letter-spacing: 0.14em !important;
  }

  .japan-cue span {
    font-size: 13px !important;
  }

  .hero h1 {
    font-size: clamp(39px, 10.2vw, 45px) !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(32px, 8.7vw, 37px) !important;
  }
}

/* 2026-06-11 executive mobile lock. This is intentionally the last mobile override. */
@media (max-width: 720px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .color-strip {
    height: 6px !important;
  }

  .site-header {
    min-height: 62px !important;
    padding: 10px 14px !important;
    gap: 8px !important;
    align-items: center !important;
  }

  .brand {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 148px) !important;
  }

  .brand-lockup-combo {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .brand-mark-old {
    width: 34px !important;
    height: 34px !important;
    flex: 0 0 34px !important;
    object-fit: contain !important;
    filter: none !important;
  }

  .brand-wordmark {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    color: #0c1422 !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    letter-spacing: -0.045em !important;
    line-height: 1 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .brand-lockup-combo small {
    display: none !important;
  }

  .lang-switch-header {
    flex: 0 0 auto !important;
    margin-left: auto !important;
    margin-right: -12px !important;
    transform: scale(0.66) !important;
    transform-origin: right center !important;
  }

  .nav-toggle {
    width: 42px !important;
    height: 42px !important;
    flex: 0 0 42px !important;
    border-radius: 50% !important;
  }

  .hero {
    min-height: auto !important;
    padding: 30px 0 34px !important;
    background:
      radial-gradient(circle at 88% 8%, rgba(126, 188, 84, 0.12), transparent 32%),
      linear-gradient(180deg, #fffefa 0%, #fbfaf4 100%) !important;
  }

  .hero-grid {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 22px !important;
  }

  .hero-copy {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .japan-cue,
  .signal-row,
  .hero-scope,
  .hero-proof-line,
  .hero-company-proof,
  .hero-mobile-proof,
  .hero-bridge-visual,
  .hero-media,
  .gtm-visual-old,
  .hero-proof-card {
    display: none !important;
  }

  .hero .eyebrow {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    margin: 0 0 18px !important;
    color: #a33a31 !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    letter-spacing: 0.15em !important;
    line-height: 1.35 !important;
    text-transform: uppercase !important;
  }

  .hero .eyebrow::before {
    content: "" !important;
    display: block !important;
    width: 24px !important;
    height: 1px !important;
    flex: 0 0 24px !important;
    background: #7fbd55 !important;
  }

  .hero-jp-line {
    display: block !important;
    max-width: 100% !important;
    margin: 0 0 12px !important;
    color: #18325b !important;
    font-size: 15px !important;
    font-weight: 850 !important;
    letter-spacing: -0.015em !important;
    line-height: 1.42 !important;
  }

  .hero h1 {
    display: block !important;
    max-width: 100% !important;
    margin: 0 0 14px !important;
    color: #0c1422 !important;
    font-size: clamp(34px, 8.8vw, 39px) !important;
    font-weight: 900 !important;
    letter-spacing: -0.055em !important;
    line-height: 1.08 !important;
    text-wrap: balance !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(31px, 8vw, 36px) !important;
    letter-spacing: -0.035em !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere !important;
    text-wrap: balance !important;
    word-break: keep-all !important;
  }

  .hero-lede {
    max-width: 100% !important;
    margin: 0 !important;
    color: #5d6570 !important;
    font-size: 14.5px !important;
    font-weight: 650 !important;
    letter-spacing: -0.005em !important;
    line-height: 1.55 !important;
  }

  .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 18px 0 0 !important;
  }

  .hero-actions .button {
    width: 100% !important;
    min-height: 48px !important;
    justify-content: center !important;
    border-radius: 12px !important;
    font-size: 11px !important;
    letter-spacing: 0.08em !important;
  }

  .hero-actions .button-secondary {
    display: none !important;
  }

  .focus-strip {
    margin: 0 !important;
    padding: 18px 20px !important;
    border-radius: 0 !important;
    background: #fffefa !important;
  }

  .focus-strip div {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .focus-strip span {
    min-height: 72px !important;
    padding: 14px !important;
    border-radius: 16px !important;
    text-align: left !important;
  }

  .focus-strip span:last-child {
    grid-column: 1 / -1 !important;
  }

  .focus-strip b {
    font-size: 24px !important;
    line-height: 1 !important;
    letter-spacing: -0.03em !important;
  }

  .focus-strip small {
    margin-top: 5px !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
  }

  .section-pad {
    padding-right: 22px !important;
    padding-left: 22px !important;
  }

  .section-intro h2,
  .company-proof h2,
  .why-section h2,
  .about-section h2,
  .contact-panel h2 {
    max-width: 100% !important;
    font-size: clamp(30px, 8vw, 36px) !important;
    letter-spacing: -0.035em !important;
    line-height: 1.16 !important;
    text-wrap: balance !important;
  }

  .section-intro p,
  .company-proof p,
  .about-section p,
  .contact-panel p {
    max-width: 100% !important;
    font-size: 14.5px !important;
    line-height: 1.58 !important;
  }

  .sales-service-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .sales-service-grid article {
    min-height: auto !important;
    padding: 24px !important;
    border-radius: 18px !important;
  }

  .sales-service-grid h3 {
    font-size: 23px !important;
    letter-spacing: -0.025em !important;
    line-height: 1.2 !important;
  }

  .sales-service-grid p {
    font-size: 14.5px !important;
    line-height: 1.55 !important;
  }

  .network-grid,
  html[lang="ja"] .network-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .network-grid a,
  .network-grid a:nth-child(1),
  .network-grid a:nth-child(2),
  .network-grid a:nth-child(3),
  .network-grid a:nth-child(4),
  .network-grid a:nth-child(5),
  .network-grid a:nth-child(6) {
    display: block !important;
    min-height: auto !important;
    padding: 0 0 22px !important;
    border-radius: 18px !important;
    text-align: left !important;
  }

  .network-grid img,
  .network-grid a img {
    width: 100% !important;
    height: 168px !important;
    margin: 0 !important;
    border-radius: 18px 18px 0 0 !important;
    object-fit: cover !important;
    object-position: top center !important;
  }

  .network-grid strong,
  html[lang="ja"] .network-grid strong,
  .network-grid span,
  html[lang="ja"] .network-grid a span,
  .network-grid p,
  .network-grid a p {
    display: block !important;
    width: auto !important;
    margin-right: 20px !important;
    margin-left: 20px !important;
    text-align: left !important;
  }

  .network-grid strong,
  html[lang="ja"] .network-grid strong {
    margin-top: 20px !important;
    color: #18325b !important;
    font-size: 24px !important;
    letter-spacing: -0.025em !important;
    line-height: 1.15 !important;
  }

  .network-grid span,
  html[lang="ja"] .network-grid a span {
    margin-top: 9px !important;
    color: #4c883b !important;
    font-size: 11px !important;
  }

  .network-grid p,
  .network-grid a p {
    margin-top: 14px !important;
    margin-bottom: 0 !important;
    color: #626b78 !important;
    font-size: 14px !important;
    line-height: 1.52 !important;
  }

  .contact-panel {
    padding: 28px 22px !important;
    border-radius: 20px !important;
  }
}

@media (max-width: 390px) {
  .site-header {
    padding-right: 11px !important;
    padding-left: 11px !important;
  }

  .brand {
    max-width: calc(100% - 138px) !important;
  }

  .brand-mark-old {
    width: 31px !important;
    height: 31px !important;
    flex-basis: 31px !important;
  }

  .brand-wordmark {
    font-size: 16px !important;
  }

  .hero-grid {
    padding-inline: 20px !important;
  }

  .hero h1 {
    font-size: clamp(32px, 8.6vw, 36px) !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(29px, 7.6vw, 33px) !important;
  }

  .hero-lede {
    font-size: 14px !important;
  }
}

/* 2026-06-11 mobile first-screen conversion cut. Keep this absolutely last. */
@media (max-width: 720px) {
  .site-header {
    min-height: 62px !important;
    padding: 10px 14px !important;
    gap: 10px !important;
    align-items: center !important;
  }

  .brand {
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  .brand-lockup-combo {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    column-gap: 9px !important;
    row-gap: 0 !important;
    align-items: center !important;
    max-width: 45vw !important;
  }

  .brand-mark-old {
    grid-row: 1 !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
  }

  .brand-wordmark {
    grid-column: 2 !important;
    color: #101827 !important;
    font-size: 19px !important;
    line-height: 1 !important;
    letter-spacing: -0.05em !important;
    white-space: nowrap !important;
  }

  .brand-lockup-combo small {
    display: none !important;
  }

  .brand-logo-old {
    display: none !important;
  }

  .lang-switch-header {
    margin-left: auto !important;
    transform: scale(0.74) !important;
    transform-origin: right center !important;
  }

  .nav-toggle {
    width: 42px !important;
    height: 42px !important;
    flex: 0 0 42px !important;
  }

  .hero {
    min-height: auto !important;
    padding: 26px 0 34px !important;
    background:
      radial-gradient(circle at 92% 6%, rgba(126, 188, 84, 0.11), transparent 32%),
      linear-gradient(180deg, #fffefa 0%, #fbfaf4 100%) !important;
  }

  .hero-grid {
    display: block !important;
    padding: 0 22px !important;
  }

  .hero-copy {
    display: flex !important;
    flex-direction: column !important;
  }

  .hero .eyebrow {
    margin: 0 0 11px !important;
    gap: 8px !important;
    color: #a33a31 !important;
    font-size: 9.5px !important;
    line-height: 1.3 !important;
    letter-spacing: 0.13em !important;
    font-weight: 900 !important;
  }

  .hero .eyebrow::before {
    width: 22px !important;
    flex-basis: 22px !important;
  }

  .japan-cue {
    display: none !important;
  }

  .hero-jp-line {
    margin: 0 0 8px !important;
    color: #18325b !important;
    font-size: 15.5px !important;
    line-height: 1.35 !important;
    font-weight: 850 !important;
    letter-spacing: -0.02em !important;
  }

  .hero h1,
  html[lang="ja"] .hero h1 {
    margin: 0 0 12px !important;
    color: #0c1422 !important;
    font-size: clamp(32px, 8.3vw, 37px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.052em !important;
    font-weight: 900 !important;
    max-width: 10.8em !important;
    text-wrap: balance !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(29px, 7.6vw, 34px) !important;
    line-height: 1.2 !important;
    letter-spacing: -0.035em !important;
    max-width: 9.4em !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
  }

  .hero-lede {
    margin: 0 !important;
    max-width: 100% !important;
    color: #5f6875 !important;
    font-size: 14.5px !important;
    line-height: 1.5 !important;
    font-weight: 650 !important;
  }

  .hero-proof-line,
  .hero-scope,
  .signal-row,
  .hero-bridge-visual,
  .hero-media,
  .gtm-visual-old {
    display: none !important;
  }

  .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 16px 0 0 !important;
  }

  .hero-actions .button {
    width: 100% !important;
    min-height: 46px !important;
    justify-content: center !important;
    border-radius: 11px !important;
    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: 0.08em !important;
  }

  .hero-actions .button-secondary {
    display: none !important;
  }

  .hero-company-proof {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
    width: 100% !important;
    margin: 12px 0 0 !important;
  }

  .hero-company-proof article {
    min-height: 56px !important;
    padding: 9px 8px !important;
    border-radius: 11px !important;
    border: 1px solid rgba(24, 50, 91, 0.1) !important;
    background: rgba(255, 255, 255, 0.86) !important;
    box-shadow: none !important;
  }

  .hero-company-proof strong {
    margin: 0 0 4px !important;
    color: #3f8831 !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    letter-spacing: 0.02em !important;
  }

  .hero-company-proof span {
    color: #67717e !important;
    font-size: 9px !important;
    line-height: 1.22 !important;
    font-weight: 750 !important;
  }

  .hero-mobile-proof {
    display: block !important;
    width: 100% !important;
    margin: 12px 0 0 !important;
    overflow: hidden !important;
    border-radius: 16px !important;
    border: 1px solid rgba(24, 50, 91, 0.1) !important;
    background: #fff !important;
    box-shadow: 0 18px 42px rgba(24, 50, 91, 0.08) !important;
  }

  .hero-mobile-proof img {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 16 / 7.8 !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .hero-mobile-proof figcaption {
    padding: 9px 12px !important;
    color: #18325b !important;
    font-size: 10px !important;
    line-height: 1 !important;
    letter-spacing: 0.1em !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
  }

  .focus-strip {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;
  }

  .focus-strip article {
    min-height: 82px !important;
    padding: 16px 14px !important;
  }

  .focus-strip strong {
    font-size: 24px !important;
    line-height: 1 !important;
    letter-spacing: -0.04em !important;
  }

  .focus-strip span {
    margin-top: 5px !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
  }
}

@media (max-width: 390px) {
  .brand-lockup-combo {
    max-width: 43vw !important;
  }

  .brand-mark-old {
    width: 31px !important;
    height: 31px !important;
    min-width: 31px !important;
  }

  .brand-wordmark {
    font-size: 17px !important;
  }

  .hero-grid {
    padding-inline: 19px !important;
  }

  .hero h1,
  html[lang="ja"] .hero h1 {
    font-size: clamp(30px, 8vw, 34px) !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(27px, 7.3vw, 31px) !important;
  }
}

/* 2026-06-11 mobile company-grade reset. This must stay last. */
@media (max-width: 720px) {
  body {
    overflow-x: hidden !important;
  }

  .color-strip {
    height: 6px !important;
  }

  .site-header {
    min-height: 66px !important;
    padding: 10px 18px !important;
    gap: 10px !important;
  }

  .brand {
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  .brand-lockup {
    gap: 0 !important;
  }

  .brand-lockup small {
    display: none !important;
  }

  .brand-logo-old {
    width: min(184px, 47vw) !important;
    max-width: 184px !important;
    max-height: 48px !important;
    object-fit: contain !important;
    image-rendering: auto !important;
  }

  .lang-switch-header {
    flex: 0 0 auto !important;
    transform: scale(0.78) !important;
    transform-origin: right center !important;
    margin-left: auto !important;
  }

  .nav-toggle {
    width: 46px !important;
    height: 46px !important;
    flex: 0 0 46px !important;
    border-radius: 999px !important;
  }

  .hero {
    min-height: auto !important;
    padding: 28px 0 34px !important;
    background:
      radial-gradient(circle at 84% 2%, rgba(126, 188, 84, 0.12), transparent 30%),
      linear-gradient(180deg, #fffefa 0%, #fbfaf4 100%) !important;
  }

  .hero-grid {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 22px !important;
    margin: 0 !important;
  }

  .hero-copy {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .hero-bridge-visual,
  .hero-media,
  .gtm-visual-old,
  .signal-row,
  .hero-company-proof {
    display: none !important;
  }

  .hero .eyebrow {
    order: 1 !important;
    margin: 0 0 10px !important;
    gap: 9px !important;
    color: #a33a31 !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    letter-spacing: 0.15em !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
  }

  .hero .eyebrow::before {
    width: 28px !important;
    flex: 0 0 28px !important;
    height: 1px !important;
  }

  .japan-cue {
    order: 2 !important;
    display: block !important;
    width: 100% !important;
    margin: 0 0 18px !important;
    padding: 11px 13px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(126, 188, 84, 0.24) !important;
    background: rgba(255, 255, 255, 0.86) !important;
    box-shadow: none !important;
  }

  .japan-cue span {
    color: #18325b !important;
    font-size: 12.5px !important;
    line-height: 1.28 !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
  }

  .hero-jp-line {
    order: 3 !important;
    margin: 0 0 8px !important;
    max-width: 100% !important;
    color: #18325b !important;
    font-size: 17px !important;
    line-height: 1.34 !important;
    font-weight: 850 !important;
    letter-spacing: -0.01em !important;
  }

  .hero h1 {
    order: 4 !important;
    margin: 0 0 12px !important;
    max-width: 100% !important;
    color: #0c1422 !important;
    font-size: clamp(34px, 8.7vw, 40px) !important;
    line-height: 1.06 !important;
    letter-spacing: -0.052em !important;
    font-weight: 900 !important;
    text-wrap: balance !important;
  }

  html[lang="ja"] .hero h1 {
    max-width: 10.5em !important;
    font-size: clamp(31px, 8vw, 36px) !important;
    line-height: 1.18 !important;
    letter-spacing: -0.035em !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }

  .hero-lede {
    order: 5 !important;
    margin: 0 !important;
    max-width: 100% !important;
    color: #5d6570 !important;
    font-size: 14.5px !important;
    line-height: 1.52 !important;
    font-weight: 650 !important;
    letter-spacing: -0.01em !important;
  }

  .hero-proof-line {
    order: 6 !important;
    display: none !important;
  }

  .hero-actions {
    order: 7 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    width: 100% !important;
    margin: 16px 0 0 !important;
  }

  .hero-actions .button {
    width: 100% !important;
    min-height: 48px !important;
    padding: 0 16px !important;
    justify-content: center !important;
    border-radius: 12px !important;
    font-size: 11px !important;
    letter-spacing: 0.08em !important;
  }

  .hero-actions .button-secondary {
    display: none !important;
  }

  .hero-mobile-proof {
    order: 8 !important;
    display: block !important;
    position: relative !important;
    width: 100% !important;
    margin: 14px 0 0 !important;
    border: 1px solid rgba(24, 50, 91, 0.12) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 0 16px 34px rgba(16, 34, 58, 0.12) !important;
  }

  .hero-mobile-proof img {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 16 / 8.6 !important;
    height: auto !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .hero-mobile-proof figcaption {
    position: absolute !important;
    left: 10px !important;
    bottom: 10px !important;
    padding: 7px 10px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.93) !important;
    color: #18325b !important;
    font-size: 9px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: 0.07em !important;
    text-transform: uppercase !important;
  }

  .hero-scope {
    order: 9 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    margin: 14px 0 0 !important;
  }

  .hero-scope span {
    width: auto !important;
    min-width: 0 !important;
    padding: 8px 10px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.88) !important;
    color: #18325b !important;
    border: 1px solid rgba(24, 50, 91, 0.12) !important;
    font-size: 10px !important;
    line-height: 1 !important;
    letter-spacing: 0.03em !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
  }

  .focus-strip {
    width: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .focus-item {
    min-height: 88px !important;
    padding: 18px !important;
  }

  .focus-item strong {
    font-size: 26px !important;
    line-height: 1 !important;
  }

  .focus-item span {
    font-size: 11px !important;
    line-height: 1.25 !important;
  }
}

@media (max-width: 390px) {
  .site-header {
    padding-inline: 14px !important;
  }

  .brand-logo-old {
    width: min(166px, 44vw) !important;
  }

  .lang-switch-header {
    transform: scale(0.72) !important;
  }

  .nav-toggle {
    width: 42px !important;
    height: 42px !important;
    flex-basis: 42px !important;
  }

  .hero-grid {
    padding-inline: 20px !important;
  }

  .hero h1 {
    font-size: clamp(31px, 8.4vw, 36px) !important;
  }

  html[lang="ja"] .hero h1 {
    max-width: 10em !important;
    font-size: clamp(29px, 7.7vw, 34px) !important;
  }
}

/* 2026-06-11 company-grade mobile conversion pass. Keep this at the absolute end. */
@media (max-width: 720px) {
  body {
    background: #fffefa !important;
  }

  .site-header {
    min-height: 76px !important;
    padding: 13px 20px !important;
  }

  .brand-lockup {
    gap: 0 !important;
  }

  .brand-lockup small {
    display: none !important;
  }

  .brand-logo-old {
    width: min(214px, 50vw) !important;
    height: auto !important;
    max-height: 48px !important;
    object-fit: contain !important;
  }

  .lang-switch-header {
    transform: scale(0.9) !important;
    transform-origin: right center !important;
  }

  .nav-toggle {
    width: 52px !important;
    height: 52px !important;
  }

  .hero {
    min-height: auto !important;
    padding: 30px 0 36px !important;
    background:
      radial-gradient(circle at 86% 8%, rgba(126, 188, 84, 0.16), transparent 34%),
      linear-gradient(180deg, #fffefa 0%, #fbfaf4 100%) !important;
  }

  .hero-grid {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 24px !important;
    margin: 0 !important;
  }

  .hero-copy {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .hero-company-proof,
  .hero-bridge-visual,
  .hero-media,
  .gtm-visual-old,
  .signal-row {
    display: none !important;
  }

  .hero .eyebrow {
    order: 1 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 12px !important;
    color: #a33a31 !important;
    font-size: 10.5px !important;
    line-height: 1.35 !important;
    letter-spacing: 0.14em !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
  }

  .hero .eyebrow::before {
    content: "" !important;
    display: block !important;
    width: 28px !important;
    height: 1px !important;
    flex: 0 0 28px !important;
    background: #7fbd55 !important;
  }

  .japan-cue {
    order: 2 !important;
    display: block !important;
    width: 100% !important;
    margin: 0 0 20px !important;
    padding: 10px 13px !important;
    border: 1px solid rgba(126, 188, 84, 0.28) !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, 0.9) !important;
    box-shadow: 0 10px 24px rgba(24, 50, 91, 0.06) !important;
  }

  .japan-cue span {
    display: block !important;
    color: #18325b !important;
    font-size: 12.5px !important;
    line-height: 1.32 !important;
    font-weight: 850 !important;
    letter-spacing: -0.015em !important;
  }

  .hero-jp-line {
    order: 3 !important;
    display: block !important;
    margin: 0 0 10px !important;
    color: #18325b !important;
    font-size: 17px !important;
    line-height: 1.38 !important;
    font-weight: 850 !important;
    letter-spacing: -0.02em !important;
    max-width: 100% !important;
  }

  .hero h1 {
    order: 4 !important;
    display: block !important;
    margin: 0 0 14px !important;
    max-width: 100% !important;
    color: #0c1422 !important;
    font-size: clamp(34px, 8.8vw, 42px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.045em !important;
    font-weight: 900 !important;
    text-wrap: balance !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(30px, 7.7vw, 36px) !important;
    line-height: 1.24 !important;
    letter-spacing: -0.03em !important;
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
  }

  .hero-lede {
    order: 5 !important;
    margin: 0 !important;
    max-width: 100% !important;
    color: #5d6570 !important;
    font-size: 15.5px !important;
    line-height: 1.58 !important;
    font-weight: 650 !important;
    letter-spacing: -0.01em !important;
  }

  .hero-proof-line {
    display: none !important;
  }

  .hero-actions {
    order: 6 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 18px 0 0 !important;
  }

  .hero-actions .button {
    width: 100% !important;
    min-height: 50px !important;
    justify-content: center !important;
    border-radius: 12px !important;
    font-size: 12px !important;
    letter-spacing: 0.08em !important;
  }

  .hero-actions .button-secondary {
    display: none !important;
  }

  .hero-mobile-proof {
    order: 7 !important;
    display: block !important;
    position: relative !important;
    width: 100% !important;
    margin: 16px 0 0 !important;
    border: 1px solid rgba(24, 50, 91, 0.13) !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    box-shadow: 0 18px 44px rgba(24, 50, 91, 0.14) !important;
  }

  .hero-mobile-proof img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .hero-mobile-proof::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg, rgba(12, 20, 34, 0) 44%, rgba(12, 20, 34, 0.68) 100%) !important;
    pointer-events: none !important;
  }

  .hero-mobile-proof figcaption {
    display: block !important;
    position: absolute !important;
    left: 12px !important;
    bottom: 12px !important;
    z-index: 2 !important;
    max-width: calc(100% - 24px) !important;
    padding: 8px 10px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.94) !important;
    color: #18325b !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
  }

  .hero-scope {
    order: 8 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 16px 0 0 !important;
    max-width: 100% !important;
  }

  .hero-scope span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 38px !important;
    padding: 8px 10px !important;
    border: 1px solid rgba(24, 50, 91, 0.13) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    color: #18325b !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    letter-spacing: 0.04em !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }

  .focus-strip {
    width: 100% !important;
    margin: 0 !important;
    border-right: 0 !important;
    border-left: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .focus-strip div {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .focus-strip span,
  .focus-strip span:last-child,
  html[lang="ja"] .focus-strip span {
    grid-column: auto !important;
    min-height: auto !important;
    padding: 18px !important;
    align-items: flex-start !important;
  }

  .focus-strip span:last-child {
    grid-column: 1 / -1 !important;
  }

  .focus-strip b,
  html[lang="ja"] .focus-strip b {
    display: block !important;
    font-size: 26px !important;
    line-height: 1 !important;
    white-space: normal !important;
  }

  .focus-strip small,
  html[lang="ja"] .focus-strip small {
    display: block !important;
    max-width: 100% !important;
    margin-top: 6px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .company-proof {
    padding: 52px 0 !important;
  }

  .company-proof-inner {
    width: 100% !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    padding: 0 24px !important;
  }

  .company-proof h2 {
    font-size: clamp(31px, 8vw, 38px) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.04em !important;
  }

  html[lang="ja"] .company-proof h2 {
    font-size: clamp(28px, 7.3vw, 34px) !important;
    line-height: 1.24 !important;
  }
}

@media (max-width: 390px) {
  .hero-grid {
    padding-inline: 22px !important;
  }

  .brand-logo-old {
    width: min(190px, 50vw) !important;
  }

  .hero h1 {
    font-size: clamp(32px, 8.4vw, 38px) !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(28px, 7.2vw, 33px) !important;
  }

  .hero-lede {
    font-size: 15px !important;
  }

  .japan-cue span {
    font-size: 12px !important;
  }
}

/* 2026-06-11 final mobile hierarchy lock. Keep this at the absolute end. */
@media (max-width: 720px) {
  .hero {
    min-height: auto !important;
    padding: 42px 0 54px !important;
    overflow: hidden !important;
    background:
      radial-gradient(circle at 84% 8%, rgba(126, 188, 84, 0.15), transparent 34%),
      linear-gradient(180deg, #fffefa 0%, #fbfaf4 100%) !important;
  }

  .hero-grid {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 26px !important;
    margin: 0 !important;
  }

  .hero-copy {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .hero-company-proof,
  .hero-mobile-proof,
  .hero-bridge-visual,
  .hero-media,
  .gtm-visual-old,
  .signal-row {
    display: none !important;
  }

  .hero .eyebrow {
    order: 1 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 18px !important;
    color: #a33a31 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    letter-spacing: 0.16em !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
  }

  .hero .eyebrow::before {
    content: "" !important;
    display: block !important;
    width: 36px !important;
    height: 1px !important;
    flex: 0 0 36px !important;
    background: #7fbd55 !important;
  }

  .japan-cue {
    order: 2 !important;
    display: block !important;
    width: 100% !important;
    margin: 0 0 28px !important;
    padding: 14px 16px !important;
    border: 1px solid rgba(126, 188, 84, 0.28) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.82) !important;
    box-shadow: 0 12px 28px rgba(24, 50, 91, 0.06) !important;
  }

  .japan-cue span {
    display: block !important;
    color: #18325b !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 850 !important;
    letter-spacing: -0.01em !important;
  }

  .hero-jp-line {
    order: 3 !important;
    display: block !important;
    margin: 0 0 14px !important;
    color: #18325b !important;
    font-size: 21px !important;
    line-height: 1.36 !important;
    font-weight: 850 !important;
    letter-spacing: -0.02em !important;
    max-width: 100% !important;
  }

  .hero h1 {
    order: 4 !important;
    display: block !important;
    margin: 0 0 20px !important;
    max-width: 100% !important;
    color: #0c1422 !important;
    font-size: clamp(42px, 10.8vw, 50px) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.055em !important;
    font-weight: 900 !important;
    text-wrap: balance !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(35px, 9.2vw, 42px) !important;
    line-height: 1.22 !important;
    letter-spacing: -0.035em !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
  }

  .hero-lede {
    order: 5 !important;
    margin: 0 !important;
    max-width: 100% !important;
    color: #5d6570 !important;
    font-size: 17px !important;
    line-height: 1.62 !important;
    font-weight: 650 !important;
    letter-spacing: -0.01em !important;
  }

  .hero-proof-line {
    order: 6 !important;
    display: block !important;
    margin: 18px 0 0 !important;
    max-width: 100% !important;
    color: #5d6570 !important;
    font-size: 15px !important;
    line-height: 1.58 !important;
    font-weight: 650 !important;
  }

  .hero-scope {
    order: 7 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 22px 0 0 !important;
    max-width: 100% !important;
  }

  .hero-scope span {
    width: auto !important;
    min-width: 0 !important;
    padding: 9px 12px !important;
    border: 1px solid rgba(24, 50, 91, 0.13) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.9) !important;
    color: #18325b !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
  }

  .hero-actions {
    order: 8 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 24px 0 0 !important;
  }

  .hero-actions .button {
    width: 100% !important;
    min-height: 52px !important;
    justify-content: center !important;
    border-radius: 12px !important;
    font-size: 12px !important;
    letter-spacing: 0.08em !important;
  }

  .hero-actions .button-secondary {
    display: none !important;
  }
}

@media (max-width: 390px) {
  .hero-grid {
    padding-inline: 22px !important;
  }

  .hero .eyebrow {
    font-size: 11px !important;
    letter-spacing: 0.14em !important;
  }

  .japan-cue span {
    font-size: 13px !important;
  }

  .hero h1 {
    font-size: clamp(39px, 10.2vw, 45px) !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(32px, 8.7vw, 37px) !important;
  }
}

/* 2026-06-11 mobile executive cleanup. Keep this at the very end. */
@media (max-width: 720px) {
  body {
    background: #fffefa !important;
  }

  .site-header {
    min-height: 74px !important;
    padding: 12px 18px !important;
    background: rgba(255, 254, 250, 0.96) !important;
  }

  .brand-logo-old {
    width: 150px !important;
    max-width: calc(100vw - 184px) !important;
  }

  .hero {
    padding: 42px 0 48px !important;
    background:
      radial-gradient(circle at 88% 0%, rgba(108, 171, 69, 0.1), transparent 210px),
      linear-gradient(180deg, #fffefa 0%, #fbfcf8 100%) !important;
  }

  .hero-grid {
    display: block !important;
    padding: 0 26px !important;
  }

  .hero-copy {
    display: flex !important;
    flex-direction: column !important;
    max-width: 100% !important;
  }

  .hero-company-proof,
  .hero-mobile-proof,
  .hero-bridge-visual,
  .hero-media,
  .gtm-visual-old,
  .signal-row {
    display: none !important;
  }

  .hero .eyebrow {
    order: 1 !important;
    margin: 0 0 16px !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
    letter-spacing: 0.17em !important;
    color: #a94739 !important;
    text-align: left !important;
  }

  .hero .eyebrow::before {
    width: 34px !important;
    flex: 0 0 34px !important;
  }

  .japan-cue {
    display: none !important;
  }

  .hero-jp-line,
  html[lang="ja"] .hero-jp-line {
    order: 2 !important;
    display: block !important;
    margin: 0 0 14px !important;
    color: #18325b !important;
    font-size: 19px !important;
    line-height: 1.45 !important;
    letter-spacing: -0.02em !important;
    font-weight: 850 !important;
    text-align: left !important;
  }

  .hero h1,
  html[lang="ja"] .hero h1 {
    order: 3 !important;
    margin: 0 0 20px !important;
    max-width: 100% !important;
    color: #0c1422 !important;
    font-size: clamp(40px, 10.2vw, 44px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.045em !important;
    font-weight: 900 !important;
    text-align: left !important;
    text-wrap: balance !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(34px, 8.4vw, 38px) !important;
    line-height: 1.22 !important;
    letter-spacing: -0.035em !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
  }

  .hero-lede,
  html[lang="ja"] .hero-lede {
    order: 4 !important;
    margin: 0 !important;
    max-width: 100% !important;
    color: #5e6672 !important;
    font-size: 17px !important;
    line-height: 1.62 !important;
    font-weight: 650 !important;
    letter-spacing: -0.01em !important;
    text-align: left !important;
  }

  .hero-proof-line,
  html[lang="ja"] .hero-proof-line {
    order: 5 !important;
    display: block !important;
    margin: 18px 0 0 !important;
    max-width: 100% !important;
    color: #526071 !important;
    font-size: 15px !important;
    line-height: 1.62 !important;
    font-weight: 650 !important;
  }

  .hero-scope {
    order: 6 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 22px 0 0 !important;
    padding: 0 !important;
  }

  .hero-scope span {
    margin: 0 !important;
    padding: 9px 12px !important;
    border: 1px solid rgba(24, 50, 91, 0.14) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.82) !important;
    color: #18325b !important;
    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: 0.04em !important;
    font-weight: 850 !important;
  }

  .hero-actions {
    order: 7 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 24px 0 0 !important;
  }

  .hero-actions .button {
    min-height: 54px !important;
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    letter-spacing: 0.08em !important;
  }

  .hero-actions .button-secondary {
    display: none !important;
  }

  .focus-strip {
    width: calc(100% - 34px) !important;
    margin: 0 auto !important;
    border-radius: 22px !important;
    overflow: hidden !important;
  }

  .focus-strip-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .focus-item {
    min-height: auto !important;
    padding: 18px 20px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(24, 50, 91, 0.09) !important;
  }

  .focus-number {
    font-size: 32px !important;
  }

  .focus-label {
    font-size: 13px !important;
    line-height: 1.35 !important;
  }
}

/* 2026-06-11 mobile company credibility pass. Keep at EOF. */
@media (max-width: 720px) {
  .hero {
    padding: 34px 0 26px !important;
  }

  .hero .eyebrow {
    margin-bottom: 14px !important;
    font-size: 10px !important;
    letter-spacing: 0.18em !important;
  }

  .hero .eyebrow::before {
    width: 28px !important;
  }

  .hero-scope {
    display: none !important;
  }

  .hero-jp-line,
  html[lang="ja"] .hero-jp-line {
    margin-bottom: 13px !important;
    font-size: 18px !important;
    line-height: 1.42 !important;
    letter-spacing: -0.02em !important;
  }

  .hero h1,
  html[lang="ja"] .hero h1 {
    margin-bottom: 16px !important;
    font-size: clamp(38px, 10vw, 44px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.05em !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(33px, 8.8vw, 38px) !important;
    line-height: 1.2 !important;
    letter-spacing: -0.035em !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
  }

  .hero-lede,
  html[lang="ja"] .hero-lede,
  .hero-proof-line,
  html[lang="ja"] .hero-proof-line {
    font-size: 15.5px !important;
    line-height: 1.68 !important;
    font-weight: 650 !important;
  }

  .hero-company-proof {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    margin-top: 18px !important;
  }

  .hero-company-proof article {
    min-height: 0 !important;
    padding: 13px 14px !important;
    border-radius: 14px !important;
  }

  .hero-company-proof strong {
    margin-bottom: 4px !important;
    font-size: 14px !important;
  }

  .hero-company-proof span {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .company-proof {
    padding: 46px 0 !important;
  }

  .company-proof-inner {
    display: block !important;
    width: 100% !important;
    padding: 0 22px !important;
  }

  .company-proof .eyebrow {
    margin-bottom: 14px !important;
  }

  .company-proof h2,
  html[lang="ja"] .company-proof h2 {
    max-width: 100% !important;
    margin-bottom: 16px !important;
    font-size: clamp(30px, 8.2vw, 37px) !important;
    line-height: 1.18 !important;
    letter-spacing: -0.04em !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
  }

  .company-proof-copy > p:not(.eyebrow) {
    margin-bottom: 18px !important;
    font-size: 15.5px !important;
    line-height: 1.7 !important;
  }

  .company-proof-list {
    gap: 8px !important;
  }

  .company-proof-list li {
    padding: 12px 14px 12px 36px !important;
    border-radius: 13px !important;
    font-size: 13.5px !important;
    line-height: 1.45 !important;
  }

  .company-proof-list li::before {
    left: 15px !important;
    top: 18px !important;
    width: 8px !important;
    height: 8px !important;
  }

  .company-proof-board {
    margin-top: 22px !important;
    padding: 10px !important;
    border-radius: 22px !important;
  }

  .company-proof-photo {
    border-radius: 16px !important;
  }

  .company-proof-photo img {
    aspect-ratio: 16 / 10 !important;
  }

  .company-proof-photo figcaption {
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    font-size: 10px !important;
    letter-spacing: 0.08em !important;
  }

  .company-proof-metrics {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .company-proof-metrics article {
    min-height: 0 !important;
    padding: 13px 14px !important;
    border-radius: 14px !important;
  }

  .company-proof-metrics strong {
    font-size: 18px !important;
  }

  .network-grid,
  .sales-service-grid,
  .proof-list {
    margin-left: 18px !important;
    margin-right: 18px !important;
  }

  .network-grid a,
  .network-grid a:nth-child(1),
  .network-grid a:nth-child(2),
  .network-grid a:nth-child(3),
  .network-grid a:nth-child(4),
  .network-grid a:nth-child(5),
  .network-grid a:nth-child(6) {
    display: flex !important;
    min-height: 0 !important;
    padding: 0 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
  }

  .network-grid img,
  .network-grid a img {
    height: 176px !important;
    border-radius: 0 !important;
    object-fit: cover !important;
    object-position: top center !important;
  }

  .network-grid strong,
  html[lang="ja"] .network-grid strong,
  .network-grid span,
  html[lang="ja"] .network-grid a span,
  .network-grid p,
  .network-grid a p {
    margin-left: 22px !important;
    margin-right: 22px !important;
    text-align: left !important;
  }

  .network-grid strong,
  html[lang="ja"] .network-grid strong {
    margin-top: 22px !important;
    font-size: 23px !important;
    line-height: 1.18 !important;
  }

  .network-grid span,
  html[lang="ja"] .network-grid a span {
    margin-top: 8px !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
  }

  .network-grid p,
  .network-grid a p {
    margin-top: 14px !important;
    margin-bottom: 24px !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
  }
}

@media (max-width: 390px) {
  .hero h1,
  html[lang="ja"] .hero h1 {
    font-size: clamp(31px, 8.6vw, 36px) !important;
  }

  .hero-jp-line,
  html[lang="ja"] .hero-jp-line {
    font-size: 17px !important;
  }
}

/* 2026-06-09 mobile conversion pass. Keep this last. */
@media (max-width: 760px) {
  html,
  body {
    width: 100% !important;
    overflow-x: hidden !important;
    background: #fffdf8 !important;
  }

  .color-strip {
    height: 8px !important;
  }

  .site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 50 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 76px !important;
    padding: 12px 18px !important;
    background: rgba(255, 254, 249, 0.96) !important;
    border-bottom: 1px solid rgba(17, 24, 39, 0.08) !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05) !important;
    backdrop-filter: blur(14px) !important;
  }

  .brand {
    min-width: 0 !important;
  }

  .brand-lockup {
    display: block !important;
    min-width: 0 !important;
  }

  .brand-logo-old {
    display: block !important;
    width: min(178px, 46vw) !important;
    height: auto !important;
    max-height: 46px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  .brand-lockup small {
    display: none !important;
  }

  .lang-switch-header {
    display: inline-flex !important;
    width: auto !important;
    height: 44px !important;
    padding: 4px !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    border: 1px solid rgba(24, 50, 91, 0.12) !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06) !important;
  }

  .lang-switch-header button {
    width: 38px !important;
    height: 34px !important;
    min-width: 38px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    letter-spacing: 0.08em !important;
    font-weight: 900 !important;
  }

  .nav-toggle {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    border-radius: 50% !important;
    border: 1px solid rgba(24, 50, 91, 0.13) !important;
    background: #ffffff !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05) !important;
  }

  .nav-toggle span:not(.sr-only) {
    width: 18px !important;
    height: 2px !important;
    background: #13233d !important;
  }

  .hero {
    min-height: auto !important;
    padding: 34px 0 32px !important;
    background:
      radial-gradient(circle at 88% 8%, rgba(111, 178, 76, 0.13), transparent 34%),
      linear-gradient(180deg, #fffefa 0%, #fbf9f1 100%) !important;
  }

  .hero-grid {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 22px !important;
    margin: 0 !important;
  }

  .hero-copy {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .hero .eyebrow {
    display: grid !important;
    grid-template-columns: 32px 1fr !important;
    align-items: center !important;
    column-gap: 10px !important;
    margin: 0 0 18px !important;
    color: #a94739 !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
    letter-spacing: 0.16em !important;
    font-weight: 900 !important;
    text-transform: none !important;
  }

  .hero .eyebrow::before {
    content: "" !important;
    display: block !important;
    width: 32px !important;
    height: 1px !important;
    background: #6cab45 !important;
  }

  .japan-cue,
  .hero-proof-line,
  .hero-scope,
  .signal-row,
  .hero-bridge-visual,
  .hero-media,
  .gtm-visual-old,
  .hero-proof-card,
  .hero-mobile-proof {
    display: none !important;
  }

  .hero-jp-line {
    display: block !important;
    max-width: 100% !important;
    margin: 0 0 16px !important;
    color: #18325b !important;
    font-size: 19px !important;
    line-height: 1.42 !important;
    letter-spacing: -0.02em !important;
    font-weight: 850 !important;
    text-wrap: balance !important;
  }

  html[lang="ja"] .hero-jp-line {
    font-size: 18px !important;
    line-height: 1.55 !important;
    letter-spacing: -0.02em !important;
    word-break: keep-all !important;
  }

  .hero h1 {
    display: block !important;
    max-width: 100% !important;
    margin: 0 0 18px !important;
    color: #0d1625 !important;
    font-size: clamp(38px, 10.4vw, 48px) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.055em !important;
    font-weight: 850 !important;
    text-wrap: balance !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(34px, 9.1vw, 40px) !important;
    line-height: 1.18 !important;
    letter-spacing: -0.04em !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }

  .hero-title-line {
    display: block !important;
  }

  .hero-lede {
    max-width: 100% !important;
    margin: 0 !important;
    color: #5f6875 !important;
    font-size: 16px !important;
    line-height: 1.62 !important;
    letter-spacing: -0.01em !important;
    font-weight: 650 !important;
  }

  html[lang="ja"] .hero-lede {
    font-size: 15.5px !important;
    line-height: 1.75 !important;
    font-weight: 650 !important;
    word-break: keep-all !important;
  }

  .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 22px 0 0 !important;
  }

  .hero-actions .button {
    width: 100% !important;
    min-height: 52px !important;
    border-radius: 12px !important;
    justify-content: center !important;
    padding: 0 16px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    letter-spacing: 0.08em !important;
    font-weight: 900 !important;
    box-shadow: none !important;
  }

  .hero-actions .button-primary {
    display: inline-flex !important;
    background: #18325b !important;
    color: #ffffff !important;
  }

  .hero-actions .button-secondary {
    display: inline-flex !important;
    background: #ffffff !important;
    color: #18325b !important;
    border: 1px solid rgba(24, 50, 91, 0.14) !important;
  }

  .focus-strip {
    width: auto !important;
    max-width: none !important;
    margin: 0 18px 34px !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08) !important;
  }

  .focus-strip div {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    width: 100% !important;
  }

  .focus-strip span,
  .focus-strip span:last-child,
  html[lang="ja"] .focus-strip span {
    min-height: 82px !important;
    padding: 16px 14px !important;
    align-items: flex-start !important;
    justify-content: center !important;
    text-align: left !important;
    border-right: 1px solid rgba(24, 50, 91, 0.08) !important;
    border-bottom: 1px solid rgba(24, 50, 91, 0.08) !important;
  }

  .focus-strip b,
  html[lang="ja"] .focus-strip b {
    display: block !important;
    color: #438632 !important;
    font-size: 27px !important;
    line-height: 1 !important;
    letter-spacing: -0.04em !important;
    white-space: normal !important;
  }

  .focus-strip small,
  html[lang="ja"] .focus-strip small {
    display: block !important;
    margin-top: 6px !important;
    color: #18325b !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    letter-spacing: -0.01em !important;
    white-space: normal !important;
    word-break: keep-all !important;
  }

  .gtm-section,
  .why-section,
  .about-section,
  .contact-section {
    padding-top: 54px !important;
    padding-bottom: 54px !important;
  }

  .section-intro,
  .section-intro.wide,
  .section-intro.compact {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 28px !important;
    padding: 0 22px !important;
  }

  .section-intro h2,
  .why-section h2,
  .about-section h2,
  .contact-section h2 {
    font-size: clamp(31px, 8.6vw, 38px) !important;
    line-height: 1.14 !important;
    letter-spacing: -0.04em !important;
    text-wrap: balance !important;
    word-break: keep-all !important;
  }

  .section-intro p,
  .why-section p,
  .about-section p,
  .contact-section p {
    font-size: 15.5px !important;
    line-height: 1.75 !important;
  }

  .sales-service-grid,
  .network-grid,
  .proof-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    width: auto !important;
    max-width: none !important;
    margin-left: 18px !important;
    margin-right: 18px !important;
  }

  .sales-service-grid article,
  .network-grid a,
  .proof-list div {
    min-height: auto !important;
    padding: 24px !important;
    border-radius: 18px !important;
  }

  .network-grid img {
    height: 178px !important;
    width: 100% !important;
    object-fit: cover !important;
    object-position: top center !important;
    border-radius: 14px !important;
  }

  .network-grid strong,
  .network-grid span,
  .network-grid p {
    text-align: left !important;
  }

  .launch-panel,
  .pain-panel,
  .why-layout,
  .contact-card {
    width: auto !important;
    max-width: none !important;
    margin-left: 18px !important;
    margin-right: 18px !important;
    padding: 28px 22px !important;
    border-radius: 20px !important;
  }

  .proof-photo-strip {
    grid-template-columns: 1fr !important;
  }

  .proof-photo-strip figure img {
    height: 190px !important;
    object-fit: cover !important;
  }

  .contact-card .button,
  .contact-card a[href^="mailto"] {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }
}

@media (max-width: 380px) {
  .brand-logo-old {
    width: min(158px, 43vw) !important;
  }

  .lang-switch-header button {
    width: 35px !important;
    min-width: 35px !important;
  }

  .nav-toggle {
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
  }

  .hero-grid {
    padding-inline: 18px !important;
  }

  .hero h1 {
    font-size: clamp(35px, 10vw, 41px) !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(31px, 8.8vw, 35px) !important;
  }
}

/* 2026-06-08 convert4 mobile: clearer first screen and less template clutter. */
@media (max-width: 720px) {
  .hero {
    padding: 30px 0 34px !important;
    background: linear-gradient(180deg, #fffefa 0%, #f8fbf3 100%) !important;
  }

  .hero-grid {
    width: 100% !important;
    padding: 0 24px !important;
  }

  .hero .eyebrow {
    margin-bottom: 14px !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
    letter-spacing: 0.16em !important;
  }

  .japan-cue {
    display: none !important;
  }

  .hero-jp-line,
  html[lang="ja"] .hero-jp-line {
    order: 1 !important;
    margin: 0 0 12px !important;
    font-size: 18px !important;
    line-height: 1.42 !important;
    letter-spacing: -0.02em !important;
  }

  .hero h1,
  html[lang="ja"] .hero h1 {
    order: 2 !important;
    margin: 0 0 16px !important;
    font-size: clamp(37px, 9.6vw, 42px) !important;
    line-height: 1.09 !important;
    letter-spacing: -0.04em !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(32px, 8.25vw, 36px) !important;
    line-height: 1.25 !important;
    letter-spacing: -0.025em !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }

  .hero-lede,
  html[lang="ja"] .hero-lede {
    order: 3 !important;
    font-size: 15.5px !important;
    line-height: 1.7 !important;
    letter-spacing: -0.01em !important;
  }

  .hero-proof-line,
  html[lang="ja"] .hero-proof-line {
    order: 4 !important;
    display: block !important;
    margin: 14px 0 0 !important;
    color: #6a7280 !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
    font-weight: 650 !important;
  }

  .hero-scope {
    order: 5 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 18px 0 0 !important;
  }

  .hero-scope span {
    padding: 8px 10px !important;
    border: 1px solid rgba(24, 50, 91, 0.12) !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #18325b !important;
    font-size: 10px !important;
    line-height: 1 !important;
    letter-spacing: 0.04em !important;
    box-shadow: none !important;
  }

  .hero-actions {
    order: 6 !important;
    margin-top: 20px !important;
  }

  .hero-mobile-proof {
    order: 7 !important;
    margin-top: 18px !important;
  }

  .focus-strip {
    margin-top: 10px !important;
  }
}

@media (max-width: 390px) {
  .hero-grid {
    padding-inline: 22px !important;
  }

  .hero h1 {
    font-size: clamp(35px, 9.3vw, 40px) !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(30px, 7.95vw, 34px) !important;
  }
}

/* 2026-06-08 mobile conversion polish: show the offer, CTA, and proof sooner. */
@media (max-width: 720px) {
  .hero {
    padding-top: 30px !important;
    padding-bottom: 28px !important;
  }

  .hero-grid {
    padding-inline: 22px !important;
  }

  .hero .eyebrow {
    margin-bottom: 12px !important;
    font-size: 9px !important;
    letter-spacing: 0.16em !important;
  }

  .hero .eyebrow::before {
    width: 24px !important;
  }

  .japan-cue {
    display: none !important;
  }

  .hero-jp-line,
  html[lang="ja"] .hero-jp-line {
    margin-bottom: 10px !important;
    font-size: 18px !important;
    line-height: 1.32 !important;
  }

  .hero h1,
  html[lang="ja"] .hero h1 {
    margin-bottom: 14px !important;
    font-size: clamp(34px, 9.1vw, 42px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.04em !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(31px, 8.35vw, 36px) !important;
    line-height: 1.16 !important;
    letter-spacing: -0.03em !important;
  }

  .hero-lede,
  html[lang="ja"] .hero-lede {
    font-size: 15px !important;
    line-height: 1.52 !important;
    font-weight: 640 !important;
  }

  .hero-actions {
    margin-top: 18px !important;
  }

  .hero-actions .button {
    min-height: 50px !important;
  }

  .hero-mobile-proof {
    margin-top: 16px !important;
  }

  .hero-mobile-proof img {
    aspect-ratio: 16 / 8.8 !important;
  }
}

@media (max-width: 390px) {
  .hero h1 {
    font-size: clamp(33px, 8.8vw, 39px) !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(30px, 8vw, 35px) !important;
  }
}

@media (max-width: 390px) {
  .brand-logo-old {
    width: 144px !important;
    max-width: calc(100vw - 168px) !important;
  }

  .hero-grid {
    padding-inline: 22px !important;
  }

  .hero h1 {
    font-size: clamp(36px, 9.6vw, 40px) !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(32px, 8.7vw, 36px) !important;
    line-height: 1.22 !important;
  }
}

/* 2026-06-08 mobile conversion pass */
@media (max-width: 720px) {
  .site-header {
    min-height: 70px !important;
  }

  .brand-logo-old {
    width: 154px !important;
    max-width: calc(100vw - 176px) !important;
  }

  .hero {
    padding: 34px 0 28px !important;
    background: linear-gradient(180deg, #fffefa 0%, #f8fbf4 100%) !important;
  }

  .hero-grid {
    display: block !important;
    padding: 0 24px !important;
  }

  .hero-copy {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .hero .eyebrow {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 0 20px !important;
    color: #a94739 !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    letter-spacing: 0.16em !important;
  }

  .hero .eyebrow::before {
    content: "" !important;
    flex: 0 0 34px !important;
    height: 1px !important;
    background: #6cab45 !important;
  }

  .japan-cue {
    display: block !important;
    order: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 24px !important;
    padding: 13px 17px !important;
    border: 1px solid rgba(125, 183, 80, 0.34) !important;
    border-radius: 22px !important;
    background: rgba(255, 255, 255, 0.86) !important;
    box-shadow: 0 18px 44px rgba(24, 50, 91, 0.07) !important;
  }

  .japan-cue span {
    display: block !important;
    color: #18325b !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    font-weight: 900 !important;
    letter-spacing: -0.02em !important;
    white-space: normal !important;
  }

  .hero-jp-line,
  html[lang="ja"] .hero-jp-line {
    display: block !important;
    order: 3 !important;
    margin: 0 0 14px !important;
    color: #19345d !important;
    font-size: 22px !important;
    line-height: 1.32 !important;
    letter-spacing: -0.035em !important;
    font-weight: 850 !important;
  }

  .hero h1,
  html[lang="ja"] .hero h1 {
    order: 4 !important;
    display: block !important;
    max-width: 100% !important;
    margin: 0 0 20px !important;
    color: #0c1422 !important;
    font-size: clamp(38px, 10.4vw, 46px) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.052em !important;
    text-wrap: balance !important;
    overflow-wrap: normal !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(34px, 9.2vw, 40px) !important;
    line-height: 1.18 !important;
    letter-spacing: -0.045em !important;
    word-break: keep-all !important;
  }

  .hero-title-line {
    display: inline !important;
    max-width: 100% !important;
  }

  .hero-title-line + .hero-title-line::before {
    content: " " !important;
  }

  html[lang="ja"] .hero-title-line {
    display: block !important;
  }

  html[lang="ja"] .hero-title-line + .hero-title-line::before {
    content: "" !important;
  }

  .hero-lede,
  html[lang="ja"] .hero-lede {
    order: 5 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    color: #5e6672 !important;
    font-size: 16px !important;
    line-height: 1.58 !important;
    font-weight: 680 !important;
    letter-spacing: -0.01em !important;
  }

  .hero-proof-line,
  .hero-scope,
  .signal-row,
  .hero-bridge-visual,
  .hero-media,
  .gtm-visual-old {
    display: none !important;
  }

  .hero-actions {
    order: 6 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    margin: 22px 0 0 !important;
    gap: 10px !important;
  }

  .hero-actions .button {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 54px !important;
    border-radius: 10px !important;
    justify-content: center !important;
    padding: 0 14px !important;
    font-size: 12px !important;
    letter-spacing: 0.09em !important;
  }

  .hero-actions .button-secondary {
    display: none !important;
  }

  .hero-mobile-proof {
    order: 7 !important;
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 22px 0 0 !important;
    border: 1px solid rgba(24, 50, 91, 0.12) !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    box-shadow: 0 20px 48px rgba(16, 34, 58, 0.12) !important;
  }

  .hero-mobile-proof img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
    object-fit: cover !important;
  }

  .hero-mobile-proof figcaption {
    position: absolute !important;
    left: 12px !important;
    bottom: 12px !important;
    max-width: calc(100% - 24px) !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    color: #18325b !important;
    font-size: 10px !important;
    line-height: 1 !important;
    letter-spacing: 0.1em !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
  }
}

@media (max-width: 390px) {
  .hero-grid {
    padding-inline: 22px !important;
  }

  .hero h1 {
    font-size: clamp(36px, 9.8vw, 41px) !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(32px, 8.8vw, 37px) !important;
  }

  .hero-lede,
  html[lang="ja"] .hero-lede {
    font-size: 15.5px !important;
  }
}

/* 2026-06-08 mobile conversion final. Keep at EOF. */
@media (max-width: 720px) {
  .hero {
    padding: 34px 0 30px !important;
    background: linear-gradient(180deg, #fffefa 0%, #f8fbf3 100%) !important;
  }

  .hero-grid {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 22px !important;
  }

  .hero-copy {
    display: flex !important;
    flex-direction: column !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .hero .eyebrow {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 16px !important;
    color: #a94739 !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    letter-spacing: 0.2em !important;
    font-weight: 900 !important;
  }

  .hero .eyebrow::before {
    content: "" !important;
    width: 30px !important;
    height: 1px !important;
    background: #6cab45 !important;
  }

  .japan-cue {
    display: none !important;
  }

  .hero-jp-line,
  html[lang="ja"] .hero-jp-line {
    display: block !important;
    order: 1 !important;
    margin: 0 0 12px !important;
    color: #18325b !important;
    font-size: 20px !important;
    line-height: 1.35 !important;
    letter-spacing: -0.025em !important;
    font-weight: 850 !important;
  }

  .hero h1,
  html[lang="ja"] .hero h1 {
    order: 2 !important;
    display: block !important;
    max-width: 100% !important;
    margin: 0 0 18px !important;
    color: #0c1422 !important;
    font-size: clamp(39px, 10.3vw, 46px) !important;
    line-height: 1.06 !important;
    letter-spacing: -0.045em !important;
    font-weight: 900 !important;
    text-wrap: balance !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(34px, 9.1vw, 39px) !important;
    line-height: 1.18 !important;
    letter-spacing: -0.035em !important;
    word-break: keep-all !important;
  }

  .hero-title-line {
    display: block !important;
  }

  .hero-lede,
  html[lang="ja"] .hero-lede {
    order: 3 !important;
    max-width: 100% !important;
    margin: 0 !important;
    color: #5e6672 !important;
    font-size: 16px !important;
    line-height: 1.58 !important;
    font-weight: 650 !important;
    letter-spacing: -0.01em !important;
  }

  .hero-proof-line,
  .hero-scope,
  .signal-row,
  .hero-bridge-visual,
  .hero-media,
  .gtm-visual-old,
  .hero-proof-card {
    display: none !important;
  }

  .hero-actions {
    order: 4 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 22px 0 0 !important;
  }

  .hero-actions .button {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 52px !important;
    justify-content: center !important;
    border-radius: 10px !important;
    padding: 0 14px !important;
    font-size: 12px !important;
    letter-spacing: 0.08em !important;
  }

  .hero-actions .button-primary {
    background: #18325b !important;
    color: #ffffff !important;
  }

  .hero-actions .button-secondary {
    display: none !important;
  }

  .hero-mobile-proof {
    order: 5 !important;
    display: block !important;
    position: relative !important;
    width: 100% !important;
    margin: 18px 0 0 !important;
    border: 1px solid rgba(24, 50, 91, 0.12) !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    box-shadow: 0 16px 36px rgba(16, 34, 58, 0.12) !important;
  }

  .hero-mobile-proof img {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
  }

  .hero-mobile-proof figcaption {
    position: absolute !important;
    left: 10px !important;
    bottom: 10px !important;
    padding: 8px 11px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    color: #18325b !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
  }
}

@media (max-width: 390px) {
  .hero-grid {
    padding-inline: 20px !important;
  }

  .hero h1 {
    font-size: clamp(36px, 9.7vw, 41px) !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(32px, 8.7vw, 37px) !important;
  }
}

/* 2026-06-11 final mobile hierarchy lock. Keep this at the absolute end. */
@media (max-width: 720px) {
  .hero {
    min-height: auto !important;
    padding: 42px 0 54px !important;
    overflow: hidden !important;
    background:
      radial-gradient(circle at 84% 8%, rgba(126, 188, 84, 0.15), transparent 34%),
      linear-gradient(180deg, #fffefa 0%, #fbfaf4 100%) !important;
  }

  .hero-grid {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 26px !important;
    margin: 0 !important;
  }

  .hero-copy {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .hero-company-proof,
  .hero-mobile-proof,
  .hero-bridge-visual,
  .hero-media,
  .gtm-visual-old,
  .signal-row {
    display: none !important;
  }

  .hero .eyebrow {
    order: 1 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 18px !important;
    color: #a33a31 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    letter-spacing: 0.16em !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
  }

  .hero .eyebrow::before {
    content: "" !important;
    display: block !important;
    width: 36px !important;
    height: 1px !important;
    flex: 0 0 36px !important;
    background: #7fbd55 !important;
  }

  .japan-cue {
    order: 2 !important;
    display: block !important;
    width: 100% !important;
    margin: 0 0 28px !important;
    padding: 14px 16px !important;
    border: 1px solid rgba(126, 188, 84, 0.28) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.82) !important;
    box-shadow: 0 12px 28px rgba(24, 50, 91, 0.06) !important;
  }

  .japan-cue span {
    display: block !important;
    color: #18325b !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 850 !important;
    letter-spacing: -0.01em !important;
  }

  .hero-jp-line {
    order: 3 !important;
    display: block !important;
    margin: 0 0 14px !important;
    color: #18325b !important;
    font-size: 21px !important;
    line-height: 1.36 !important;
    font-weight: 850 !important;
    letter-spacing: -0.02em !important;
    max-width: 100% !important;
  }

  .hero h1 {
    order: 4 !important;
    display: block !important;
    margin: 0 0 20px !important;
    max-width: 100% !important;
    color: #0c1422 !important;
    font-size: clamp(42px, 10.8vw, 50px) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.055em !important;
    font-weight: 900 !important;
    text-wrap: balance !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(35px, 9.2vw, 42px) !important;
    line-height: 1.22 !important;
    letter-spacing: -0.035em !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
  }

  .hero-lede {
    order: 5 !important;
    margin: 0 !important;
    max-width: 100% !important;
    color: #5d6570 !important;
    font-size: 17px !important;
    line-height: 1.62 !important;
    font-weight: 650 !important;
    letter-spacing: -0.01em !important;
  }

  .hero-proof-line {
    order: 6 !important;
    display: block !important;
    margin: 18px 0 0 !important;
    max-width: 100% !important;
    color: #5d6570 !important;
    font-size: 15px !important;
    line-height: 1.58 !important;
    font-weight: 650 !important;
  }

  .hero-scope {
    order: 7 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 22px 0 0 !important;
    max-width: 100% !important;
  }

  .hero-scope span {
    width: auto !important;
    min-width: 0 !important;
    padding: 9px 12px !important;
    border: 1px solid rgba(24, 50, 91, 0.13) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.9) !important;
    color: #18325b !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
  }

  .hero-actions {
    order: 8 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 24px 0 0 !important;
  }

  .hero-actions .button {
    width: 100% !important;
    min-height: 52px !important;
    justify-content: center !important;
    border-radius: 12px !important;
    font-size: 12px !important;
    letter-spacing: 0.08em !important;
  }

  .hero-actions .button-secondary {
    display: none !important;
  }
}

@media (max-width: 390px) {
  .hero-grid {
    padding-inline: 22px !important;
  }

  .hero .eyebrow {
    font-size: 11px !important;
    letter-spacing: 0.14em !important;
  }

  .japan-cue span {
    font-size: 13px !important;
  }

  .hero h1 {
    font-size: clamp(39px, 10.2vw, 45px) !important;
  }

  html[lang="ja"] .hero h1 {
    font-size: clamp(32px, 8.7vw, 37px) !important;
  }
}
