/* PEP: 新しい部品のみに適用。既存の色・余白・モーションは上書きしません。 */
.pep-proof {
  background: #f6f5f0;
  color: #22251f;
  border-bottom: 1px solid #d7dacd;
}
.pep-proof__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.65fr);
  gap: clamp(30px, 5vw, 88px);
  align-items: center;
  padding-block: clamp(36px, 5vw, 68px);
}
.pep-proof__eyebrow,
.pep-web-guide__eyebrow,
.pep-project-facts__eyebrow {
  font-family: var(--en, sans-serif);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .12em;
  line-height: 1.6;
  margin: 0 0 18px;
}
.pep-proof__eyebrow::before,
.pep-web-guide__eyebrow::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  margin-right: 9px;
  border-radius: 50%;
  background: #f47700;
  vertical-align: middle;
}
.pep-proof h2 {
  font-size: clamp(24px, 2.25vw, 34px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: -.03em;
  margin: 0 0 20px;
}
.pep-proof__link,
.pep-proof__company-link,
.pep-web-guide__link {
  display: inline-flex;
  gap: 22px;
  align-items: center;
  min-height: 44px;
  color: inherit;
  font-size: 12px;
  font-weight: 500;
  border-bottom: 1px solid currentColor;
  text-decoration: none;
}
.pep-proof__evidence {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
.pep-proof__count,
.pep-proof__company {
  padding-left: clamp(24px, 3vw, 48px);
  border-left: 1px solid #c8cebf;
}
.pep-proof__caption { font-size: 12px; line-height: 1.7; margin: 0; }
.pep-proof__number { display: flex; align-items: baseline; gap: 12px; margin: 8px 0 12px; }
.pep-proof__number strong {
  font-family: var(--en, sans-serif);
  font-size: clamp(66px, 7.3vw, 106px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.06em;
  font-variant-numeric: tabular-nums;
}
.pep-proof__number > span { font-size: 14px; }
.pep-proof__note { font-size: 10px; line-height: 1.8; color: #626759; margin: 0; max-width: 20em; }
.pep-proof__preparing { font-size: 19px; margin: 18px 0; }
.pep-proof__established { display: flex; gap: 9px; align-items: baseline; margin: 9px 0 12px; }
.pep-proof__established strong { font: 500 clamp(30px, 3vw, 42px)/1.3 var(--en, sans-serif); letter-spacing: -.04em; }
.pep-proof__established span { font-size: 12px; }
.pep-proof__company-text { font-size: 11px; line-height: 1.9; margin: 0 0 6px; }
.pep-proof__company-link { min-height: 38px; font-size: 11px; gap: 28px; }

.pep-web-guide { background: #e8ecdf; color: #22251f; padding-block: clamp(56px, 7vw, 104px); }
.pep-web-guide__inner { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr); gap: clamp(40px, 7vw, 108px); }
.pep-web-guide h2 { font-size: clamp(30px, 3.4vw, 48px); line-height: 1.5; font-weight: 500; letter-spacing: -.04em; margin: 0 0 22px; }
.pep-web-guide__head > p:not(.pep-web-guide__eyebrow) { font-size: 13px; line-height: 2; margin: 0 0 24px; }
.pep-web-guide__questions { border-top: 1px solid #bdc6b6; }
.pep-web-guide__question { border-bottom: 1px solid #bdc6b6; }
.pep-web-guide__question > summary {
  list-style: none;
  cursor: pointer;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 20px;
  gap: 14px;
  align-items: center;
  min-height: 80px;
  padding-block: 20px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.8;
}
.pep-web-guide__question > summary::-webkit-details-marker { display: none; }
.pep-web-guide__number { font: 11px/1.8 var(--en, sans-serif); color: #697061; }
.pep-web-guide__toggle { position: relative; width: 20px; height: 20px; }
.pep-web-guide__toggle::before,
.pep-web-guide__toggle::after { content: ""; position: absolute; background: currentColor; }
.pep-web-guide__toggle::before { left: 4px; top: 9px; width: 12px; height: 1px; }
.pep-web-guide__toggle::after { left: 9px; top: 4px; width: 1px; height: 12px; }
.pep-web-guide__question[open] .pep-web-guide__toggle::after { display: none; }
.pep-web-guide__answer { padding: 0 34px 26px 42px; }
.pep-web-guide__answer p { font-size: 13px; line-height: 2; margin: 0; }
.pep-proof a:focus-visible,
.pep-web-guide a:focus-visible,
.pep-web-guide summary:focus-visible,
.pep-footer-privacy:focus-visible { outline: 2px solid #b85000; outline-offset: 5px; border-radius: 1px; }

.article-content .pep-project-facts { background: #edf0e7; border-top: 2px solid #f47700; padding: clamp(22px, 3vw, 36px); margin: 0 0 48px; }
.article-content .pep-project-facts__eyebrow { margin: 0 0 10px; color: #626759; }
.article-content .pep-project-facts h2 { font-size: 23px; line-height: 1.5; font-weight: 500; margin: 0 0 22px; padding: 0; border: 0; }
.pep-project-facts dl { margin: 0; }
.pep-project-facts dl > div { display: grid; grid-template-columns: 6.5em minmax(0, 1fr); gap: 20px; padding-block: 13px; border-top: 1px solid #cbd3c3; }
.pep-project-facts dt { font-size: 12px; line-height: 1.9; color: #626759; }
.pep-project-facts dd { font-size: 13px; line-height: 1.9; margin: 0; overflow-wrap: anywhere; }
.work-summary .pep-project-label,
.works-index-card__copy .pep-project-label,
.work-detail-hero-v4__meta .pep-project-label { font-family: inherit; font-size: 11px; letter-spacing: .02em; min-width: 6em; flex: 0 0 6em; white-space: nowrap; }
.works-index-card__copy .pep-project-label { margin-right: 12px; }
.pep-footer-privacy { color: inherit; font-family: inherit; font-size: 11px; letter-spacing: 0; text-underline-offset: 4px; padding-block: 8px; }
.site-footer .footer-bottom:has(.pep-footer-privacy) { align-items: center; flex-wrap: wrap; gap: 16px 28px; }
.pep-privacy-copy { font-size: 14px; line-height: 2; max-width: 840px; }
.pep-privacy-copy h2 { font-size: 22px; margin-block: 36px 14px; }
.pep-privacy-copy a { overflow-wrap: anywhere; }

@media (max-width: 820px) {
  .pep-proof__inner { grid-template-columns: 1fr; gap: 28px; padding-block: 34px; }
  .pep-proof h2 { font-size: 25px; }
  .pep-proof__intro { padding-bottom: 24px; border-bottom: 1px solid #c8cebf; }
  .pep-proof__count { border-left: 0; padding-left: 0; padding-right: 18px; }
  .pep-proof__company { padding-left: 22px; }
  .pep-proof__number strong { font-size: clamp(60px, 16vw, 88px); }
  .pep-proof__caption { font-size: 11px; }
  .pep-proof__established strong { font-size: 31px; }
  .pep-proof__established { gap: 6px; }
  .pep-proof__established span { font-size: 10px; }
  .pep-proof__note { font-size: 9px; }
  .pep-proof__company-text { font-size: 10px; }
  .pep-web-guide__inner { grid-template-columns: 1fr; gap: 34px; }
  .pep-web-guide h2 { font-size: 31px; }
  .pep-web-guide__question > summary { min-height: 76px; gap: 10px; grid-template-columns: 23px minmax(0, 1fr) 20px; font-size: 13px; }
  .pep-web-guide__answer { padding: 0 10px 23px 33px; }
  .pep-project-facts dl > div { grid-template-columns: 1fr; gap: 5px; }
}
