:root {
  --kpmg-blue: #00338d;
  --kpmg-blue-bright: #005eb8;
  --kpmg-ink: #0b1f33;
  --kpmg-rule: #d9e2f1;
  --kpmg-footer: #0c233c;
}

html { scroll-behavior: smooth; }
body.kpmg-home-2026 {
  margin: 0;
  color: var(--kpmg-blue);
  background: #fff;
  font-family: "noto-sans-cjk-jp", "Noto Sans JP", Arial, sans-serif;
}
.kpmg-home-2026 *, .kpmg-home-2026 *::before, .kpmg-home-2026 *::after { box-sizing: border-box; }
/*.kpmg-home-2026 a { color: inherit; }*/
.kpmg-shell { width: 100%; max-width: 1200px; margin: 0 auto; }


/* 2026 header */
.kpmg-site-header-2026 {
  position: relative;
  z-index: 20;
  width: 100%;
  background: #fff;
  border-bottom: 1px solid #e5eaf2;
}

.kpmg-site-header-2026__inner {
  width: min(1200px, 100%);
  min-height: 50px;
  margin: 0 auto;
  padding: 0px 10px;
  display: flex;
  align-items: center;
}

.kpmg-site-header-2026__brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: var(--kpmg-blue);
  text-decoration: none;
}

.kpmg-site-header-2026__brand:hover {
  color: var(--kpmg-blue);
  text-decoration: none;
  opacity: .82;
}

.kpmg-site-header-2026__logo {
  display: block;
  width: 82px;
  object-fit: contain;
}

.kpmg-site-header-2026__name {
  font-size: 14px;
  line-height: 1.25;
  font-weight: 700;
}


/* Hero */

/* Hero */
.kpmg-hero {
  position: relative;
  min-height: 520px;
  overflow: hidden;

  background-image:
    /* 太陽光の広がり */
    radial-gradient(
      ellipse at 42% 4%,
      rgba(255,255,255,.58) 0%,
      rgba(255,255,255,.34) 18%,
      rgba(255,255,255,.12) 36%,
      rgba(255,255,255,0) 56%
    ),

    /* タイトル視認性用。左下へ自然に白を残す */
    linear-gradient(
      105deg,
      rgba(248,248,246,.94) 0%,
      rgba(248,248,246,.82) 18%,
      rgba(248,248,246,.60) 30%,
      rgba(248,248,246,.28) 42%,
      rgba(248,248,246,0) 58%
    ),

    url('../img/2026/hero-river.jpg');

  background-size: cover;
  background-position: top center;
}

.kpmg-hero__brand {
  position: absolute;
  left: 20px;
  top: 0px;
  height: 72px;
  object-fit: contain;
}
.kpmg-hero__title {
  position: absolute;
  left: 34px;
  top: 106px;
  width: min(390px, 33vw);
  height: auto;
  display: block;
}

/* Firms */
.kpmg-firms { background: #fff; padding: 24px 34px 28px; }
.kpmg-firms__heading {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 12px;
  font-size: 25px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: .02em;
  color: var(--kpmg-blue);
}
.kpmg-firms__heading::before { content:""; width: 46px; height: 2px; background: #0066ff; }
.kpmg-firms__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 34px;
}
.kpmg-firm {
  position: relative;
  display: grid;
  grid-template-columns: 42px 74px minmax(0, 1fr) 22px;
  gap: 12px;
  align-items: start;
  min-height: 116px;
  padding: 15px 0 14px;
  border-bottom: 1px solid var(--kpmg-rule);
  text-decoration: none;
}
.kpmg-firm:hover { text-decoration: none; opacity: .72; }
.kpmg-firm__num {
  font-family: 'Open Sans Condensed', Arial, sans-serif;
  font-size: 31px;
  line-height: 1;
  font-weight: 300;
  color: #0055d9;
}
.kpmg-firm__thumb {
  width: 74px;
  height: 74px;
  object-fit: cover;
  object-position: center;
  display: block;
}
.kpmg-firm__body { min-width: 0; }
.kpmg-firm__name {
  margin: 0 0 5px;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 700;
  color: #003fba;
}
.kpmg-firm__desc {
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
  color: #16468f;
}
.kpmg-firm__arrow { align-self: center; font-size: 24px; line-height: 1; color: #0055d9; }

/* Global Opportunities */
.kpmg-global {
  position: relative;
  min-height: 180px;
  overflow: hidden;
  background: #0b3264 url('../img/2026/global-city.jpg') center center / cover no-repeat;
}
.kpmg-global::before {
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(90deg, rgba(2,32,76,.95) 0%, rgba(2,32,76,.72) 32%, rgba(2,32,76,.18) 70%, rgba(2,32,76,.05) 100%);
}
.kpmg-global__inner {
  position: relative;
  z-index: 1;
  min-height: 180px;
  padding: 26px 34px 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
.kpmg-global__title { width: min(390px, 42vw); height: auto; display:block; }
.kpmg-global__link {
  width: 46px;
  height: 46px;
  margin-top: 18px;
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-decoration: none;
  font-size: 25px;
  line-height: 1;
  transition: .2s ease;
}
.kpmg-global__link:hover { background: #fff; color: #00338d; text-decoration:none; }

/* Keep the existing-site footer styling intact. */
.kpmg-home-2026 .site-social-footer { background: #7213ea; padding: 24px 20px; }
.kpmg-home-2026 .site-social-footer .footer-links { margin-top: 16px; }
.kpmg-home-2026 .site-social-footer .footer-links a { color:#fff; text-decoration:none; margin-right:18px; white-space:nowrap; }
.kpmg-home-2026 .site-social-footer .footer-links a:hover { text-decoration:underline; }
.kpmg-home-2026 .site-bottom-footer { background: var(--kpmg-footer); }
.kpmg-home-2026 .site-copyright { background: var(--kpmg-footer); }

@media (max-width: 991.98px) {
  .kpmg-hero { min-height: 430px; }
  .kpmg-hero__title { width: min(350px, 40vw); }
  .kpmg-firms__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 767.98px) {
  .kpmg-shell { max-width: none; }
  
  .kpmg-hero__brand { left: 0px; top: 14px; width: 86px; height: 56px; }
  .kpmg-hero__title { left: 18px; top: 82px; width: 205px; max-width: 58vw; }
  .kpmg-firms { padding: 20px 18px 18px; }
  .kpmg-firms__heading { font-size: 21px; margin-bottom: 6px; }
  .kpmg-firms__heading::before { width: 32px; }
  .kpmg-firms__grid { grid-template-columns: 1fr; }
  .kpmg-firm {
    grid-template-columns: 32px 52px minmax(0, 1fr) 18px;
    gap: 9px;
    min-height: 82px;
    padding: 10px 0;
  }
  .kpmg-firm__num { font-size: 25px; }
  .kpmg-firm__thumb { width: 52px; height: 52px; }
  .kpmg-firm__name { font-size: 13px; margin-bottom: 2px; }
  .kpmg-firm__desc { font-size: 10px; line-height: 1.42; }
  .kpmg-firm__arrow { font-size: 20px; }
  .kpmg-global { min-height: 132px; }
  .kpmg-global__inner { min-height:132px; padding: 18px; }
  .kpmg-global__title { width: 250px; max-width: 76vw; }
  .kpmg-global__link { width: 38px; height:38px; margin-top:12px; font-size:20px; }
  .kpmg-home-2026 .site-social-footer { padding: 20px 16px; }
  .kpmg-home-2026 .site-social-footer .footer-links a { display:inline-block; margin: 0 10px 8px 0; }
}

  @media (max-width: 767.98px) {

  .kpmg-hero {
    background-image:

      /* 左上の太陽光 */
      radial-gradient(
        ellipse 85% 58% at 27% 3%,
        rgba(255,255,255,.76) 0%,
        rgba(255,255,255,.48) 24%,
        rgba(255,255,255,.18) 46%,
        rgba(255,255,255,0) 67%
      ),

      /* タイトルの下を左上→右下方向へ自然に明るく */
linear-gradient(
  105deg,
  rgba(248,248,246,.90) 0%,
  rgba(248,248,246,.82) 24%,
  rgba(248,248,246,.62) 42%,
  rgba(248,248,246,.36) 56%,
  rgba(248,248,246,.14) 68%,
  rgba(248,248,246,0) 80%
),

      url('../img/2026/hero-river.jpg');

    background-size: cover;
    background-position: top center;
  }

}