/* Loom 02: current pages only. Keep the selected 20261005 company-film layout. */
.okuno-review .review02-results { margin-top: 40px; padding-top: 28px; border-top: 1px solid #e6e2ed; }
.okuno-review .review02-results h3 { margin: 0 0 20px; font-size: 18px; line-height: 1.8; }
.okuno-review .review02-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin: 0; }
.okuno-review .review02-metrics > div { padding: 24px; background: #f6f3fb; border-radius: 14px; }
.okuno-review .review02-metrics dt { color: #656175; font-size: 13px; line-height: 1.8; }
.okuno-review .review02-metrics dd { margin: 8px 0 0; color: #5844ba; font-size: 15px; }
.okuno-review .review02-metrics strong { margin-right: 6px; font-size: 36px; font-weight: 700; line-height: 1.4; }
.pl-unified.okuno-review .review02-voices { grid-template-columns: repeat(3,minmax(0,1fr)) !important; align-items: stretch; margin-top: 20px; }
.pl-unified.okuno-review .review02-voice { display: flex; flex-direction: column; margin: 0; padding: 28px; cursor: default; }
.pl-unified.okuno-review .review02-voice:hover { transform: none; box-shadow: none; border-color: #e6e2ed; }
.okuno-review .review02-voice-art { display: block; flex: none; margin: 0 0 24px; width: 88px; height: 88px; }
.okuno-review .review02-voice blockquote { margin: 0 0 24px; padding: 0; border: 0; }
.okuno-review .review02-voice blockquote p { margin: 0; }
.okuno-review .review02-voice figcaption { margin-top: auto; padding-top: 18px; border-top: 1px solid #e6e2ed; font-size: 13px; font-weight: 700; line-height: 1.8; color: #5844ba; }
/* One consultation panel pattern, with existing page-specific destinations. */
body .review02-cta {
  box-sizing: border-box; background: #f4f1fb; color: #211d35; border: 1px solid #e6e0f1;
  border-radius: 22px; width: calc(100% - 64px); max-width: 1136px;
  margin: 42px auto; padding: 48px 36px; text-align: center;
}
body .review02-cta h2 { font-size: clamp(25px,3vw,36px); font-weight: 800; line-height: 1.6; letter-spacing: -.015em; margin: 0 0 16px; color: #211d35; text-wrap: balance; }
body .review02-cta p { color: #656175; font-size: 15px; line-height: 1.95; margin: 0 0 20px; }
body .review02-cta .eyebrow { color: #5844ba; font-size: 12px; margin-bottom: 20px; }
.review02-cta-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.review02-company .review02-cta .pill { font-size: 13px; padding: 14px 22px; min-height: 50px; gap: 16px; white-space: normal; line-height: 1.8; border-color: #5844ba; }
.review02-company .review02-cta .outline { color: #5844ba; background: #fff; }
.review02-company .review02-cta .filled { background: #5844ba; color: #fff; }
.review02-company .review02-cta .outline:hover { background: #f3effb; }
.review02-company .review02-cta .filled:hover { background: #443397; }
/* Current company-page typography; film, image and chapter structures retained. */
body.review02-company { font-family: "Noto Sans JP","Hiragino Sans",sans-serif; font-weight: 400; }
.review02-company .hero h1,
.review02-company .section-heading h2 { font-weight: 800; letter-spacing: -.015em; }
.review02-company .section-heading h2 { font-size: clamp(25px,3vw,36px); line-height: 1.55; }
.review02-company .purpose h3,
.review02-company .values h3,
.review02-company .value-grid h4,
.review02-company .film-card h3 { font-weight: 700; }
.review02-company .value-no { display: inline-block; color: #5844ba; font-size: 28px; font-weight: 800; line-height: 1.4; }
.review02-company .review02-detail-link { border: 1px solid #5844ba; border-radius: 999px; color: #5844ba; background: #fff; font-weight: 700; padding: 10px 22px; min-height: 46px; gap: 16px; }
.review02-company .review02-detail-link:hover { background: #f3effb; }
/* The MVV legacy stylesheet forced Yu Gothic onto every descendant. */
body.review02-mvv,
body.review02-mvv *:not(code):not(pre) { font-family: "Noto Sans JP","Hiragino Sans",sans-serif !important; }
.review02-mvv #mission,
.review02-mvv #vision { padding: 56px 32px; }
.review02-mvv :is(#mission,#vision) .t4-sec__inner { max-width: 1136px; margin: 0 auto; padding: 0; }
.review02-mvv :is(#mission,#vision) h2 { margin: 0 0 32px; padding: 0; }
.review02-mvv :is(#mission,#vision) .t4-label { font-size: 12px; font-weight: 700; letter-spacing: .14em; padding: 0; margin-bottom: 16px; color: #5844ba; }
.review02-mvv :is(#mission,#vision) .t4-heading { display: block; font-size: clamp(25px,3vw,36px); font-weight: 800; line-height: 1.55; letter-spacing: -.015em; text-wrap: pretty; }
.review02-mvv :is(#mission,#vision) .t4-heading .review02-phrase { display: inline-block; }
.review02-mvv :is(#mission,#vision) .t4-chunk { margin: 0; gap: 40px; align-items: center; }
.review02-mvv :is(#mission,#vision) .t4-body { font-size: 15px; line-height: 1.95; font-weight: 400; }
@media (max-width:1000px) {
  .pl-unified.okuno-review .review02-voices { grid-template-columns: minmax(0,1fr) !important; }
  .pl-unified.okuno-review .review02-voice { display: grid; grid-template-columns: 88px minmax(0,1fr); gap: 0 24px; }
  .review02-voice .review02-voice-art { grid-row: 1 / 3; margin-bottom: 0; }
  .review02-voice figcaption { grid-column: 2; }
}
@media (max-width:600px) {
  .okuno-review .review02-metrics { grid-template-columns: minmax(0,1fr); gap: 12px; }
  .okuno-review .review02-metrics > div { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px; }
  .okuno-review .review02-metrics dd { margin: 0; white-space: nowrap; }
  .okuno-review .review02-metrics strong { font-size: 30px; }
  .pl-unified.okuno-review .review02-voice { display: flex; padding: 24px; }
  .review02-voice .review02-voice-art { width: 72px; height: 72px; margin-bottom: 20px; }
  body .review02-cta { width: calc(100% - 40px); padding: 32px 24px; }
  .review02-cta-actions { flex-direction: column; }
  .review02-mvv #mission,.review02-mvv #vision { padding: 40px 20px; }
  .review02-mvv :is(#mission,#vision) .t4-chunk { gap: 24px; }
}
