/* Disabled custom cursor */
.cursor { display: none !important; }
body, a, button { cursor: auto !important; }
a, button, [data-hover], .btn, [role="button"] { cursor: pointer !important; }


    :root {
      --c-bg: #F6F6F6;
      --c-bg-warm: #FAFAFA;
      --c-text: #111111;
      --c-text-sub: #555555;
      --c-text-mute: #9A9A9A;
      --c-line: #E6E6E6;
      --c-line-soft: #EFEFEF;
      --c-brand: #096FC8;
      --c-brand-deep: #0556A0;
      --c-surface: #FFFFFF;
      --f-en: 'Plus Jakarta Sans', sans-serif;
      --f-ja: 'Noto Sans JP', sans-serif;
      --f-ja-bold: 'Zen Kaku Gothic New', sans-serif;
      --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
    }

    .pp {
      max-width: 56rem;
      margin: 0 auto;
      padding: 10rem 1.5rem 6rem;
    }
    .pp__breadcrumb {
      font-family: var(--f-en);
      font-size: 0.6875rem;
      font-weight: 700;
      letter-spacing: 0.16em;
      color: var(--c-text-mute);
      text-transform: uppercase;
      margin-bottom: 3rem;
      display: flex;
      align-items: center;
      gap: 0.5rem;
    }
    .pp__breadcrumb a {
      color: var(--c-text-sub);
      text-decoration: none;
      transition: color .2s;
    }
    .pp__breadcrumb a:hover { color: var(--c-brand); }
    .pp__breadcrumb-sep { color: var(--c-line); }

    .pp__pill {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      padding: 0.4375rem 0.875rem;
      background: rgba(9, 111, 200, 0.08);
      color: var(--c-brand);
      font-family: var(--f-en);
      font-size: 0.6875rem;
      font-weight: 700;
      letter-spacing: 0.18em;
      border-radius: 999px;
      text-transform: uppercase;
      margin-bottom: 2rem;
    }
    .pp__pill::before {
      content: '';
      width: 6px; height: 6px;
      background: var(--c-brand);
      border-radius: 50%;
    }

    .pp__title {
      font-family: var(--f-ja-bold);
      font-weight: 900;
      font-size: clamp(2rem, 4vw, 3rem);
      line-height: 1.25;
      letter-spacing: 0.02em;
      color: var(--c-text);
      margin-bottom: 1rem;
    }
    .pp__meta {
      font-family: var(--f-en);
      font-size: 0.8125rem;
      font-weight: 600;
      letter-spacing: 0.06em;
      color: var(--c-text-mute);
      margin-bottom: 3rem;
      padding-bottom: 2rem;
      border-bottom: 1px solid var(--c-line);
    }

    .pp__body h2 {
      font-family: var(--f-ja-bold);
      font-weight: 800;
      font-size: 1.25rem;
      letter-spacing: 0.04em;
      color: var(--c-text);
      margin: 3rem 0 1rem;
      padding-left: 0.875rem;
      position: relative;
    }
    .pp__body h2::before {
      content: '';
      position: absolute;
      left: 0; top: 0.25rem; bottom: 0.25rem;
      width: 3px;
      border-radius: 2px;
      background: linear-gradient(180deg, var(--c-brand-deep), var(--c-brand));
    }
    .pp__body p {
      font-family: var(--f-ja);
      font-weight: 500;
      font-size: 0.9375rem;
      line-height: 2;
      letter-spacing: 0.04em;
      color: var(--c-text-sub);
      margin-bottom: 1rem;
    }
    .pp__body ul {
      list-style: none;
      padding: 0;
      margin: 1rem 0 1.5rem;
    }
    .pp__body li {
      font-family: var(--f-ja);
      font-weight: 500;
      font-size: 0.9375rem;
      line-height: 2;
      letter-spacing: 0.04em;
      color: var(--c-text-sub);
      padding-left: 1.5rem;
      position: relative;
    }
    .pp__body li::before {
      content: '';
      position: absolute;
      left: 0.25rem; top: 0.875rem;
      width: 6px; height: 6px;
      background: var(--c-brand);
      border-radius: 50%;
    }

    .pp__contact {
      margin-top: 4rem;
      padding: 2rem;
      background: var(--c-surface);
      border: 1px solid var(--c-line);
      border-radius: 1rem;
      font-family: var(--f-ja);
      font-weight: 500;
      font-size: 0.875rem;
      line-height: 1.95;
      color: var(--c-text-sub);
    }
    .pp__contact strong {
      color: var(--c-text);
      font-weight: 800;
    }
    .pp__contact a {
      color: var(--c-brand);
      text-decoration: none;
      transition: opacity .2s;
    }
    .pp__contact a:hover { opacity: 0.7; }

    @media (max-width: 720px) {
      .pp { padding: 7rem 1.25rem 4rem; }
      .pp__title { font-size: 1.75rem; }
      .pp__body h2 { font-size: 1.0625rem; margin-top: 2.5rem; }
      .pp__body p, .pp__body li { font-size: 0.875rem; }
    }
  