:root { --partnership-red: #bd302c; --partnership-ivory: #f6f3ec; --partnership-line: #d8d1c8; }
.subpage--partnership-custom { background: #fff; }
.partnership-page-hero { padding: 150px 24px 76px; background: radial-gradient(ellipse at center, rgba(255,255,255,.9) 0%, rgba(255,255,255,.68) 34%, rgba(255,255,255,.12) 74%), url("../img/partnership/hero.png") center / cover no-repeat; text-align: center; }
.partnership-page-hero h1 { margin: 8px 0 24px; font-size: 52px; font-weight: 500; line-height: 1.25; }
.partnership-page-hero p { font-size: 17px; font-weight: 500; line-height: 2.05; }
.partnership-page-section { padding: 100px 24px; background: #fff; }
.partnership-page-section--ivory { background: var(--partnership-ivory); }
.partnership-page-inner { width: min(1020px, 100%); margin: auto; }
.partnership-page-heading { margin-bottom: 56px; text-align: center; }
.partnership-page-label { display: inline-block; position: relative; margin-bottom: 18px; padding-bottom: 12px; font-family: var(--font-en); font-size: 14px; letter-spacing: .04em; }
.partnership-page-label::after { content: ""; position: absolute; bottom: 0; left: 50%; width: 76px; height: 6px; border-top: 4px solid var(--partnership-red); border-radius: 50%; transform: translateX(-50%) rotate(-2deg); }
.partnership-page-heading h2 { margin-bottom: 18px; font-size: 36px; font-weight: 500; line-height: 1.45; }
.partnership-page-heading p { font-size: 16px; line-height: 2; }
.partnership-page-table { width: 100%; border-collapse: collapse; }
.partnership-page-table th, .partnership-page-table td { padding: 16px; border-bottom: 1px solid var(--partnership-line); font-size: 16px; text-align: left; }
.partnership-page-table th { width: 28%; font-weight: 500; }
.partnership-page-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; border: 1px solid var(--partnership-line); background: var(--partnership-line); }
.partnership-page-cards article { padding: 34px; background: #fff; }
.partnership-page-cards b { color: var(--partnership-red); font-family: var(--font-en); }
.partnership-page-cards h3 { margin: 12px 0; font-size: 20px; font-weight: 500; }
.partnership-page-cards p { font-size: 15px; line-height: 1.9; }
.partnership-no-break { white-space: nowrap; }
.partnership-page-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 42px; }
.partnership-page-features h3 { margin-bottom: 16px; padding-left: 12px; border-left: 5px solid var(--partnership-red); font-size: 18px; font-weight: 500; }
.partnership-page-features p { font-size: 15px; line-height: 1.9; }
.partnership-page-total { margin-top: 32px; font-size: 24px; text-align: center; }
.partnership-page-total strong { color: var(--partnership-red); font-size: 42px; }
.partnership-page-cta { text-align: center; }
.partnership-page-cta .partnership-page-heading { margin-bottom: 32px; }
.partnership-page-cta .btn { margin: 8px; }
@media (max-width: 640px) {
  .partnership-pc-break { display: none; }
  .partnership-page-hero { padding: 110px 20px 58px; text-align: left; }
  .partnership-page-hero h1 { font-size: 36px; }
  .partnership-page-hero p { font-size: 13px; }
  .partnership-page-section { padding: 76px 20px; }
  .partnership-page-heading { margin-bottom: 42px; text-align: left; }
  .partnership-page-label::after { left: 0; transform: rotate(-2deg); }
  .partnership-page-heading h2 { font-size: 29px; }
  .partnership-page-heading p { font-size: 13px; }
  .partnership-page-table th, .partnership-page-table td { display: block; width: 100%; padding: 10px; font-size: 13px; }
  .partnership-page-table th { background: #f5f2ed; }
  .partnership-page-cards { grid-template-columns: 1fr; }
  .partnership-page-cards p { font-size: 13px; }
  .partnership-page-features { grid-template-columns: 1fr; gap: 34px; }
  .partnership-page-features p { font-size: 13px; }
  .partnership-page-total { font-size: 18px; }
  .partnership-page-total strong { font-size: 34px; }
  .partnership-page-cta .partnership-page-heading { text-align: center; }
  .partnership-page-cta .partnership-page-label::after { left: 50%; transform: translateX(-50%) rotate(-2deg); }
  .partnership-page-cta .btn { display: flex; margin: 10px auto; }
}
