body.strategy-page {
      --strategy-surface: var(--surface);
      --strategy-soft: rgba(255, 255, 255, 0.64);
      --strategy-blue: var(--blue);
      --strategy-blue-dark: var(--navy);
      --strategy-red: var(--accent);
      --strategy-orange: #f29d3d;
      --strategy-green: #1f9b7a;
      --strategy-purple: #7561d9;
      --strategy-line: var(--line);
      --strategy-muted: var(--muted);
      --strategy-shadow: 0 16px 44px rgba(31, 41, 51, 0.07);
      --strategy-radius: 24px;
    }

    .strategy-main {
      width: min(var(--max), calc(100% - 32px));
      margin: 0 auto;
      padding-top: 24px;
      padding-bottom: 70px;
    }

    .strategy-hero {
      display: grid;
      grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
      gap: 28px;
      align-items: center;
      padding-top: 0;
    }

    .strategy-hero-copy,
    .strategy-hero-visual {
      min-width: 0;
    }

    .strategy-hero-copy {
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .strategy-hero h1 {
      max-width: 760px;
      margin-top: 12px;
    }

    .strategy-hero-visual {
      overflow: hidden;
      border: 1px solid var(--strategy-line);
      border-radius: 30px;
      padding: 18px;
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.64));
      box-shadow: 0 20px 52px rgba(31, 41, 51, 0.09);
    }

    .strategy-hero-image {
      display: block;
      width: 100%;
      height: auto;
      aspect-ratio: 16 / 9;
      object-fit: cover;
      border: 1px solid rgba(31, 41, 51, 0.08);
      border-radius: 24px;
      background: rgba(255, 255, 255, 0.72);
      box-shadow: 0 14px 34px rgba(31, 41, 51, 0.08);
    }

    .strategy-meta-row {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 18px;
    }

    .strategy-pill {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      min-height: 34px;
      padding: 6px 12px;
      border: 1px solid rgba(31,41,51,0.08);
      border-radius: 999px;
      background: rgba(255,255,255,0.82);
      color: var(--strategy-muted);
      font-size: 12px;
      font-weight: 900;
    }

    .strategy-pill strong {
      color: var(--strategy-blue-dark);
    }

    .strategy-jump {
      position: sticky;
      top: calc(var(--header-height) + 10px);
      z-index: 9;
      display: flex;
      gap: 8px;
      overflow-x: auto;
      margin: 22px 0 30px;
      padding: 10px;
      border: 1px solid var(--strategy-line);
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.82);
      backdrop-filter: blur(18px);
      box-shadow: 0 12px 28px rgba(31, 41, 51, 0.06);
    }

    .strategy-jump a {
      flex: 0 0 auto;
      padding: 8px 13px;
      border-radius: 999px;
      color: var(--strategy-muted);
      font-size: 13px;
      font-weight: 900;
    }

    .strategy-jump a:hover {
      color: var(--strategy-blue-dark);
      background: rgba(37, 84, 184, 0.08);
    }

    .strategy-section {
      margin-top: 18px;
    }

    .strategy-section-head {
      display: flex;
      justify-content: space-between;
      gap: 20px;
      align-items: end;
      margin: 42px 0 16px;
    }

    .strategy-section-head p {
      max-width: 520px;
      margin: 0;
      color: var(--strategy-muted);
      font-size: 14px;
      font-weight: 700;
    }

    .strategy-panel {
      border: 1px solid var(--strategy-line);
      border-radius: var(--strategy-radius);
      padding: 24px;
      background: var(--strategy-surface);
      box-shadow: var(--strategy-shadow);
    }

    .stack-panel {
      margin-top: 16px;
    }

    .strategy-panel + .strategy-panel {
      margin-top: 16px;
    }

    .strategy-panel h2,
    .strategy-panel h3,
    .strategy-panel h4 {
      color: var(--text);
    }

    .strategy-panel p,
    .strategy-panel li {
      color: var(--strategy-muted);
      font-weight: 700;
    }

    .strategy-panel h3 {
      margin: 4px 0 10px;
      font-size: 24px;
      line-height: 1.25;
      letter-spacing: -0.03em;
    }

    .strategy-panel h4 {
      margin: 20px 0 8px;
      font-size: 18px;
      line-height: 1.35;
    }

    .strategy-panel p {
      margin: 8px 0 0;
    }

    .strategy-grid-3,
    .strategy-grid-4,
    .strategy-grid-2,
    .service-card-grid,
    .priority-map,
    .flow-grid,
    .tips-grid {
      display: grid;
      gap: 14px;
    }

    .strategy-grid-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .strategy-grid-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .strategy-grid-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .service-card-grid {
      grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .service-mini-card,
    .strategy-note-card,
    .flow-step,
    .priority-card,
    .target-card,
    .tip-card,
    .mini-rule-card {
      border: 1px solid rgba(31,41,51,0.08);
      border-radius: 20px;
      background: rgba(255,255,255,0.68);
    }

    .service-mini-card {
      padding: 15px;
      min-height: 150px;
    }

    .service-mini-head {
      display: flex;
      align-items: center;
      gap: 11px;
      margin-bottom: 10px;
    }

    .service-mini-name {
      display: block;
      color: var(--strategy-blue-dark);
      font-size: 12px;
      line-height: 1.35;
      font-weight: 950;
      letter-spacing: -0.02em;
    }

    .service-mini-card .mini-icon {
      display: inline-grid;
      place-items: center;
      flex: 0 0 auto;
      width: 42px;
      height: 42px;
      border-radius: 16px;
      color: #fff;
      background: linear-gradient(135deg, var(--strategy-blue), #1f3f92);
      font-size: 12px;
      font-weight: 950;
    }

    .service-mini-card:nth-child(2) .mini-icon { background: linear-gradient(135deg, var(--strategy-green), #16755d); }
    .service-mini-card:nth-child(3) .mini-icon { background: linear-gradient(135deg, var(--strategy-orange), #da7627); }
    .service-mini-card:nth-child(4) .mini-icon { background: linear-gradient(135deg, var(--strategy-purple), #5141b6); }
    .service-mini-card:nth-child(5) .mini-icon { background: linear-gradient(135deg, var(--strategy-red), #b23d2c); }
    .service-mini-card:nth-child(6) .mini-icon { background: linear-gradient(135deg, #2a6f97, #1a506f); }

    .service-mini-card h3 {
      margin: 0;
      font-size: 17px;
      letter-spacing: -0.03em;
    }

    .service-mini-card p {
      margin: 0;
      color: var(--strategy-muted);
      font-size: 13px;
      line-height: 1.65;
      font-weight: 700;
    }

    .flow-grid {
      grid-template-columns: repeat(6, minmax(0, 1fr));
      counter-reset: step;
    }

    .flow-step {
      position: relative;
      padding: 18px;
      min-height: 190px;
      background: linear-gradient(180deg, rgba(255,255,255,0.84), rgba(255,255,255,0.6));
    }

    .flow-step::before {
      counter-increment: step;
      content: counter(step);
      display: inline-grid;
      place-items: center;
      width: 38px;
      height: 38px;
      border-radius: 14px;
      color: #fff;
      background: linear-gradient(135deg, var(--strategy-blue), #1f3f92);
      font-size: 13px;
      font-weight: 950;
      box-shadow: 0 12px 24px rgba(37, 84, 184, 0.16);
    }

    .flow-step h3 {
      margin: 14px 0 8px;
      font-size: 17px;
    }

    .flow-step p {
      margin: 0;
      color: var(--strategy-muted);
      font-size: 13px;
      line-height: 1.65;
      font-weight: 700;
    }

    .priority-map {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .priority-card {
      padding: 18px;
      background: rgba(255,255,255,0.66);
    }

    .priority-card .rank {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      min-height: 32px;
      padding: 5px 10px;
      border-radius: 999px;
      color: #fff;
      background: var(--strategy-blue);
      font-size: 12px;
      font-weight: 950;
    }

    .priority-card.rank-s .rank { background: var(--strategy-red); }
    .priority-card.rank-a .rank { background: var(--strategy-blue); }
    .priority-card.rank-b .rank { background: var(--strategy-green); }
    .priority-card.rank-c .rank { background: #6b7280; }

    .priority-card h3 {
      margin: 12px 0 8px;
      font-size: 19px;
    }

    .priority-card p {
      margin: 0;
      font-size: 13px;
      line-height: 1.65;
    }

    .strategy-table-wrap {
      width: 100%;
      overflow-x: auto;
      margin-top: 16px;
    }

    .strategy-table {
      width: 100%;
      min-width: 920px;
      border-collapse: separate;
      border-spacing: 0;
      overflow: hidden;
      border: 1px solid rgba(31,41,51,0.1);
      border-radius: 20px;
      background: rgba(255,255,255,0.72);
    }

    .strategy-table th,
    .strategy-table td {
      padding: 14px;
      border-bottom: 1px solid rgba(31,41,51,0.08);
      color: var(--strategy-muted);
      font-size: 13px;
      font-weight: 700;
      text-align: left;
      vertical-align: top;
    }

    .strategy-table th {
      color: var(--strategy-blue-dark);
      background: rgba(37, 84, 184, 0.08);
      font-weight: 950;
      white-space: nowrap;
    }

    .strategy-table tr:last-child td {
      border-bottom: 0;
    }

    .strategy-table td:first-child strong {
      color: var(--text);
      font-size: 14px;
    }

    .target-layout {
      display: grid;
      grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
      gap: 16px;
      align-items: start;
    }

    .target-card {
      padding: 18px;
    }

    .target-card h4 {
      margin-top: 0;
    }

    .target-list {
      display: grid;
      gap: 8px;
      margin: 12px 0 0;
      padding: 0;
      list-style: none;
    }

    .target-list li {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      gap: 9px;
      align-items: start;
      padding: 10px;
      border: 1px solid rgba(31,41,51,0.07);
      border-radius: 14px;
      background: rgba(255,255,255,0.58);
      color: var(--strategy-muted);
      font-size: 13px;
      line-height: 1.55;
      font-weight: 700;
    }

    .target-list strong {
      color: var(--text);
      font-weight: 900;
    }

    .target-list small {
      display: block;
      margin-top: 3px;
      color: var(--strategy-muted);
      font-size: 12px;
      line-height: 1.45;
      font-weight: 700;
    }

    .priority-badge,
    .status-badge {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 34px;
      min-height: 26px;
      padding: 4px 8px;
      border-radius: 999px;
      color: #fff;
      background: #6b7280;
      font-size: 11px;
      font-weight: 950;
      line-height: 1;
      white-space: nowrap;
    }

    .priority-badge.s { background: var(--strategy-red); }
    .priority-badge.a { background: var(--strategy-blue); }
    .priority-badge.b { background: var(--strategy-green); }
    .priority-badge.c { background: #6b7280; }
    .priority-badge.opt { background: #9a6a2f; }

    .status-badge {
      min-width: auto;
      color: var(--strategy-blue-dark);
      border: 1px solid rgba(37,84,184,0.14);
      background: rgba(37,84,184,0.08);
    }

    .status-badge.future {
      color: #8a4f0f;
      border-color: rgba(242,157,61,0.24);
      background: rgba(242,157,61,0.12);
    }

    .status-badge.end {
      color: #9b2f25;
      border-color: rgba(220,85,65,0.24);
      background: rgba(220,85,65,0.12);
    }

    .strategy-note-card,
    .tip-card,
    .mini-rule-card {
      padding: 16px;
    }

    .strategy-note-card h4,
    .tip-card h4,
    .mini-rule-card h4 {
      margin: 0 0 8px;
      font-size: 17px;
    }

    .strategy-note-card p,
    .tip-card p,
    .mini-rule-card p {
      margin: 0;
      color: var(--strategy-muted);
      font-size: 13px;
      line-height: 1.65;
      font-weight: 700;
    }

    .tips-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .mini-rules {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 12px;
      margin-top: 16px;
    }

    .mini-rule-card strong {
      display: block;
      color: var(--strategy-blue-dark);
      font-size: 26px;
      line-height: 1;
      font-weight: 950;
      letter-spacing: -0.04em;
    }

    .mini-rule-card span {
      display: block;
      margin-top: 6px;
      color: var(--strategy-muted);
      font-size: 12px;
      line-height: 1.55;
      font-weight: 800;
    }

    .service-block {
      scroll-margin-top: calc(var(--header-height) + 92px);
    }

    .service-title-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(190px, 260px);
      justify-content: space-between;
      gap: 16px;
      align-items: start;
      margin-bottom: 14px;
    }

    .service-title-row .label {
      margin-bottom: 8px;
    }

    .service-title-row h3 {
      margin: 0;
    }

    .service-title-row p {
      max-width: 540px;
      margin-top: 8px;
    }

    .strategy-image-panel,
    .service-image-card {
      margin: 0;
      overflow: hidden;
      border: 1px solid rgba(31, 41, 51, 0.08);
      border-radius: 22px;
      background: rgba(255, 255, 255, 0.72);
      box-shadow: 0 14px 34px rgba(31, 41, 51, 0.08);
    }

    .strategy-image-panel {
      margin-top: 18px;
      padding: 12px;
    }

    .strategy-image-panel.wide {
      border-radius: 24px;
    }

    .strategy-content-image,
    .service-image-card img {
      display: block;
      width: 100%;
      height: auto;
      object-fit: contain;
      border-radius: 16px;
    }

    .strategy-content-image {
      aspect-ratio: 16 / 9;
    }

    .service-image-card {
      padding: 10px;
    }

    .service-image-card img {
      aspect-ratio: 1 / 1;
    }

    .service-image-card.gold {
      background: linear-gradient(180deg, rgba(255, 246, 214, 0.82), rgba(255, 255, 255, 0.9));
    }

    .service-image-card.blue {
      background: linear-gradient(180deg, rgba(222, 237, 255, 0.82), rgba(255, 255, 255, 0.9));
    }

    .service-image-card.green {
      background: linear-gradient(180deg, rgba(220, 246, 236, 0.82), rgba(255, 255, 255, 0.9));
    }

    .service-image-card.purple {
      background: linear-gradient(180deg, rgba(237, 228, 255, 0.82), rgba(255, 255, 255, 0.9));
    }

    .service-image-card.coral,
    .service-image-card.orange {
      background: linear-gradient(180deg, rgba(255, 236, 216, 0.82), rgba(255, 255, 255, 0.9));
    }

    details.strategy-details {
      margin-top: 16px;
      border: 1px solid rgba(31,41,51,0.08);
      border-radius: 20px;
      background: rgba(255,255,255,0.58);
      overflow: hidden;
    }

    details.strategy-details summary {
      cursor: pointer;
      padding: 14px 16px;
      color: var(--strategy-blue-dark);
      font-weight: 950;
      list-style: none;
    }

    details.strategy-details summary::-webkit-details-marker {
      display: none;
    }

    details.strategy-details summary::after {
      content: "＋";
      float: right;
      color: var(--strategy-red);
      font-weight: 950;
    }

    details.strategy-details[open] summary::after {
      content: "−";
    }

    .details-inner {
      padding: 0 16px 16px;
    }

    .source-links {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 16px;
    }

    .source-links a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 38px;
      padding: 0 14px;
      border: 1px solid var(--strategy-line);
      border-radius: 999px;
      color: var(--strategy-blue-dark);
      background: rgba(255,255,255,0.75);
      font-size: 12px;
      font-weight: 900;
    }

    .strategy-alert {
      margin-top: 18px;
      border: 1px solid rgba(220,85,65,0.22);
      border-radius: 20px;
      padding: 16px;
      background: rgba(220,85,65,0.08);
      color: #853027;
      font-size: 13px;
      line-height: 1.75;
      font-weight: 800;
    }

    .strategy-checklist {
      display: grid;
      gap: 10px;
      margin-top: 14px;
    }

    .strategy-checklist label {
      display: flex;
      gap: 10px;
      align-items: flex-start;
      padding: 12px;
      border: 1px solid rgba(31,41,51,0.08);
      border-radius: 16px;
      background: rgba(255,255,255,0.58);
      color: var(--strategy-muted);
      font-size: 14px;
      font-weight: 750;
      cursor: pointer;
    }

    .strategy-checklist input {
      width: 18px;
      height: 18px;
      margin-top: 4px;
      accent-color: var(--strategy-blue);
    }

    @media (max-width: 1120px) {
      .service-card-grid,
      .flow-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }

    @media (max-width: 920px) {
      .strategy-hero,
      .strategy-grid-2,
      .target-layout,
      .strategy-section-head {
        grid-template-columns: 1fr;
        display: grid;
      }

      .strategy-hero-visual {
        min-height: 320px;
      }

      .priority-map,
      .tips-grid,
      .mini-rules {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 680px) {
      .strategy-hero-copy,
      .strategy-panel {
        padding: 18px;
        border-radius: 22px;
      }

      .strategy-hero-visual {
        border-radius: 22px;
        min-height: 260px;
      }

      .service-card-grid,
      .flow-grid,
      .strategy-grid-3,
      .strategy-grid-4,
      .priority-map,
      .tips-grid,
      .mini-rules {
        grid-template-columns: 1fr;
      }

      .service-title-row {
        display: block;
      }

      .service-image-card {
        width: min(260px, 100%);
        margin-top: 14px;
      }

      .strategy-jump {
        border-radius: 22px;
      }
    }
