/* ============================================================================
 * Static Pages CSS
 * page-contact / page-download / page-privacy / page-company
 * ========================================================================= */

/* ===== 共通：セクションタイトル ===== */
.pm-mock .section-title {
  font-size: 26px; font-weight: 900; color: var(--navy, #1B224C);
  margin: 0 0 16px; letter-spacing: .01em;
}
.pm-mock .section-lead {
  font-size: 15px; color: var(--sub, #5a6a7a);
  line-height: 1.85; margin: 0 0 32px;
}

/* ============================================================================
 * page-contact.php
 * ========================================================================= */
.pm-mock .contact-form-section { padding: 60px 0 100px; background: #fff; }
.pm-mock .contact-grid {
  display: grid; grid-template-columns: 1.6fr 1fr; gap: 48px;
  align-items: start;
}
.pm-mock .contact-form-wrap { background: #fff; }
.pm-mock .contact-form { margin-top: 8px; }
.pm-mock .contact-form .form-row { margin-bottom: 20px; }
.pm-mock .contact-form label {
  display: block; font-size: 14px; font-weight: 700; color: var(--navy);
  margin-bottom: 8px;
}
.pm-mock .contact-form .req {
  display: inline-block; background: #E85A78; color: #fff;
  font-size: 10px; font-weight: 700; padding: 2px 6px; border-radius: 3px;
  margin-left: 6px; letter-spacing: .05em;
}
.pm-mock .contact-form input[type=text],
.pm-mock .contact-form input[type=email],
.pm-mock .contact-form input[type=tel],
.pm-mock .contact-form select,
.pm-mock .contact-form textarea {
  width: 100%; padding: 12px 14px;
  border: 1px solid #d0d8e0; border-radius: 4px;
  font-size: 15px; color: var(--navy);
  background: #fff; box-sizing: border-box;
  font-family: inherit;
  transition: border-color .15s;
}
.pm-mock .contact-form input:focus,
.pm-mock .contact-form select:focus,
.pm-mock .contact-form textarea:focus {
  border-color: var(--sky, #1C93D2); outline: none;
  box-shadow: 0 0 0 3px rgba(28,147,210,.12);
}
.pm-mock .contact-form textarea { resize: vertical; min-height: 140px; }
.pm-mock .contact-form .form-consent { text-align: center; margin: 24px 0; font-size: 14px; }
.pm-mock .contact-form .form-consent a { color: var(--sky); text-decoration: underline; }
.pm-mock .contact-form .form-actions { text-align: center; margin-top: 16px; }
.pm-mock .contact-form .form-actions .btn-big { min-width: 260px; }
.pm-mock .contact-form .form-note {
  text-align: center; font-size: 12px; color: var(--sub);
  margin-top: 16px;
}
.pm-mock .contact-info { display: flex; flex-direction: column; gap: 16px; }
.pm-mock .info-card {
  background: var(--paper, #f5f9fd); border-left: 4px solid var(--sky);
  padding: 22px 24px;
}
.pm-mock .info-card h3 {
  font-size: 15px; font-weight: 900; color: var(--navy); margin: 0 0 8px;
}
.pm-mock .info-card p { font-size: 14px; color: var(--sub); line-height: 1.7; margin: 0 0 8px; }
.pm-mock .info-card .tel {
  font-family: 'Poppins', sans-serif;
  font-size: 24px; font-weight: 700; color: var(--sky); margin: 6px 0;
}
.pm-mock .info-card .hours { font-size: 12px; color: var(--sub); }
.pm-mock .info-card .info-link {
  display: inline-block; color: var(--sky); font-weight: 700;
  text-decoration: none; font-size: 14px; margin-top: 4px;
}
.pm-mock .info-card .info-link:hover { text-decoration: underline; }

@media (max-width: 900px) {
  .pm-mock .contact-grid { grid-template-columns: 1fr; gap: 32px; }
  .pm-mock .contact-form-section { padding: 40px 0 60px; }
}

/* ============================================================================
 * page-download.php
 * ========================================================================= */
.pm-mock .dl-list-section { padding: 60px 0 100px; background: #fff; }
.pm-mock .dl-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px;
}
.pm-mock .dl-card {
  background: #fff; border: 1px solid #e2e8f0; border-radius: 8px;
  padding: 32px 30px; display: flex; flex-direction: column;
  transition: .2s;
}
.pm-mock .dl-card:hover {
  border-color: var(--sky, #1C93D2);
  box-shadow: 0 8px 24px rgba(28,147,210,.10);
  transform: translateY(-2px);
}
.pm-mock .dl-card__label {
  font-family: 'Poppins', sans-serif;
  font-size: 12px; letter-spacing: .12em;
  color: var(--sky); font-weight: 700;
  margin-bottom: 12px; text-transform: uppercase;
}
.pm-mock .dl-card h3 {
  font-size: 20px; font-weight: 900; color: var(--navy);
  line-height: 1.5; margin: 0 0 12px;
}
.pm-mock .dl-card p {
  font-size: 14px; color: var(--sub); line-height: 1.85;
  margin: 0 0 16px;
}
.pm-mock .dl-card__points {
  list-style: none; padding: 0; margin: 0 0 24px;
  flex: 1;
}
.pm-mock .dl-card__points li {
  font-size: 13.5px; color: var(--sub);
  padding: 6px 0 6px 22px; position: relative; line-height: 1.5;
}
.pm-mock .dl-card__points li::before {
  content: "✓"; position: absolute; left: 4px; top: 5px;
  color: var(--sky); font-weight: 900; font-size: 13px;
}
.pm-mock .dl-card .btn-big {
  align-self: flex-start; font-size: 14px; padding: 12px 24px;
}
.pm-mock .dl-note {
  margin-top: 40px; text-align: center;
  font-size: 12px; color: var(--sub);
}

@media (max-width: 900px) {
  .pm-mock .dl-grid { grid-template-columns: 1fr; gap: 20px; }
  .pm-mock .dl-list-section { padding: 40px 0 60px; }
  .pm-mock .dl-card { padding: 24px 22px; }
}

/* ============================================================================
 * page-privacy.php (共通 legal-content)
 * ========================================================================= */
.pm-mock .legal-content-section { padding: 60px 0 100px; background: #fff; }
.pm-mock .legal-content { max-width: 820px; margin: 0 auto; }
.pm-mock .legal-content h2 {
  font-size: 20px; font-weight: 900; color: var(--navy);
  margin: 40px 0 16px; padding-bottom: 8px;
  border-bottom: 2px solid var(--sky);
}
.pm-mock .legal-content h2:first-child { margin-top: 0; }
.pm-mock .legal-content p {
  font-size: 14.5px; color: var(--sub); line-height: 1.95;
  margin: 0 0 16px;
}
.pm-mock .legal-content ul {
  margin: 8px 0 20px 0; padding-left: 0; list-style: none;
}
.pm-mock .legal-content ul li {
  font-size: 14px; color: var(--sub); line-height: 1.85;
  padding: 4px 0 4px 22px; position: relative;
}
.pm-mock .legal-content ul li::before {
  content: "•"; position: absolute; left: 6px; top: 4px;
  color: var(--sky); font-weight: 700;
}
.pm-mock .legal-contact-box {
  background: var(--paper, #f5f9fd); border-left: 4px solid var(--sky);
  padding: 20px 24px; margin: 20px 0;
}
.pm-mock .legal-contact-box p {
  font-size: 14px; margin: 0 0 6px; color: var(--navy);
}
.pm-mock .legal-contact-box a { color: var(--sky); text-decoration: underline; }
.pm-mock .legal-date {
  margin-top: 48px; text-align: right;
  font-size: 12px; color: var(--sub);
}

@media (max-width: 767px) {
  .pm-mock .legal-content-section { padding: 40px 0 60px; }
  .pm-mock .legal-content h2 { font-size: 17px; }
  .pm-mock .legal-content p, .pm-mock .legal-content ul li { font-size: 13.5px; }
}

/* ============================================================================
 * page-company.php
 * ========================================================================= */
.pm-mock .company-info-section { padding: 60px 0; background: #fff; }
.pm-mock .company-table {
  width: 100%; max-width: 900px; margin: 0 auto;
  border-collapse: collapse;
}
.pm-mock .company-table th,
.pm-mock .company-table td {
  padding: 20px 24px;
  border-bottom: 1px solid #e2e8f0;
  font-size: 15px; line-height: 1.85;
  vertical-align: top; text-align: left;
}
.pm-mock .company-table th {
  width: 180px; font-weight: 900; color: var(--navy);
  background: var(--paper, #f5f9fd);
  white-space: nowrap;
}
.pm-mock .company-table td { color: var(--sub); }
.pm-mock .company-table td .muted { font-size: 12px; color: #94a3b8; }
.pm-mock .company-table td a { color: var(--sky); text-decoration: underline; }

.pm-mock .company-mission-section {
  padding: 80px 0; background: var(--paper, #f5f9fd);
}
.pm-mock .mission-box {
  max-width: 800px; margin: 0 auto; text-align: center;
  padding: 48px 40px; background: #fff;
  border-top: 4px solid var(--sky);
}
.pm-mock .mission-label {
  font-family: 'Poppins', sans-serif;
  font-size: 13px; letter-spacing: .16em; color: var(--sky);
  font-weight: 700; margin-bottom: 12px;
}
.pm-mock .mission-title {
  font-size: 30px; font-weight: 900; color: var(--navy);
  line-height: 1.55; margin: 0 0 24px;
}
.pm-mock .mission-body {
  font-size: 15.5px; color: var(--sub); line-height: 1.95;
  margin: 0;
}

.pm-mock .company-cta-section { padding: 60px 0 100px; background: #fff; }
.pm-mock .cta-box {
  background: linear-gradient(135deg, var(--navy) 0%, #2c3e50 100%);
  color: #fff; padding: 56px 40px; text-align: center;
  border-radius: 6px;
}
.pm-mock .cta-box h2 {
  font-size: 26px; font-weight: 900; margin: 0 0 12px;
}
.pm-mock .cta-box p {
  font-size: 15px; opacity: .9; margin: 0 0 28px;
}
.pm-mock .cta-actions {
  display: flex; gap: 16px; justify-content: center; flex-wrap: wrap;
}

@media (max-width: 767px) {
  .pm-mock .company-info-section { padding: 40px 0; }
  .pm-mock .company-table th { width: 100px; font-size: 13px; padding: 14px 12px; }
  .pm-mock .company-table td { font-size: 13.5px; padding: 14px 12px; }
  .pm-mock .company-mission-section { padding: 48px 0; }
  .pm-mock .mission-box { padding: 32px 20px; }
  .pm-mock .mission-title { font-size: 22px; }
  .pm-mock .mission-body { font-size: 14px; }
  .pm-mock .cta-box { padding: 40px 20px; }
  .pm-mock .cta-box h2 { font-size: 20px; }
}

/* ============================================================================
 * page-case.php
 * ========================================================================= */
.pm-mock .case-list-section { padding: 60px 0 100px; background: #fff; }
.pm-mock .case-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
  margin-top: 32px;
}
.pm-mock .case-card {
  background: #fff; border: 1px solid #e2e8f0; border-radius: 6px;
  padding: 28px 24px; display: flex; flex-direction: column;
  transition: .2s;
}
.pm-mock .case-card:hover {
  border-color: var(--sky, #1C93D2);
  box-shadow: 0 8px 24px rgba(28,147,210,.10);
  transform: translateY(-2px);
}
.pm-mock .case-card__meta { display: flex; gap: 12px; align-items: center; margin-bottom: 14px; }
.pm-mock .case-card__num {
  font-family: 'Poppins', sans-serif; font-size: 30px; font-weight: 800;
  color: var(--sky); line-height: 1;
}
.pm-mock .case-card__industry {
  font-size: 14px; font-weight: 700; padding: 4px 10px;
  background: var(--paper, #f5f9fd); color: var(--navy);
  border-radius: 20px; letter-spacing: .05em;
}
.pm-mock .case-card__title {
  font-size: 21px; font-weight: 900; color: var(--navy);
  line-height: 1.55; margin: 0 0 12px;
}
.pm-mock .case-card__desc {
  font-size: 17px; color: var(--sub); line-height: 1.85;
  margin: 0 0 20px; flex: 1;
}
.pm-mock .case-card__foot { border-top: 1px solid #e2e8f0; padding-top: 14px; }
.pm-mock .case-card__link {
  color: var(--sky); font-size: 16px; font-weight: 700; text-decoration: none;
}
.pm-mock .case-card__link:hover { text-decoration: underline; }
.pm-mock .case-cta {
  margin-top: 48px; text-align: center;
  padding: 40px; background: var(--paper, #f5f9fd); border-radius: 6px;
}
.pm-mock .case-cta p { font-size: 19px; margin: 0 0 20px; color: var(--navy); font-weight: 700; }

@media (max-width: 900px) {
  .pm-mock .case-grid { grid-template-columns: 1fr; }
  .pm-mock .case-list-section { padding: 40px 0 60px; }
}

/* ============================================================================
 * page-knowledge.php
 * ========================================================================= */
.pm-mock .knowledge-cats { padding: 60px 0 40px; background: #fff; }
.pm-mock .knowledge-cats__grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;
  margin-top: 32px;
}
.pm-mock .knowledge-cat {
  display: block; padding: 24px 22px;
  background: #fff; border: 1px solid #e2e8f0; border-radius: 6px;
  text-decoration: none; color: inherit; transition: .2s;
}
.pm-mock .knowledge-cat:hover {
  border-color: var(--sky); box-shadow: 0 6px 18px rgba(28,147,210,.10);
  transform: translateY(-2px);
}
.pm-mock .knowledge-cat__label {
  font-family: 'Poppins', sans-serif; font-size: 14px; letter-spacing: .12em;
  color: var(--sky); font-weight: 700; margin-bottom: 10px;
}
.pm-mock .knowledge-cat h3 {
  font-size: 21px; font-weight: 900; color: var(--navy);
  margin: 0 0 8px;
}
.pm-mock .knowledge-cat p {
  font-size: 15.5px; color: var(--sub); line-height: 1.7; margin: 0;
}

.pm-mock .knowledge-latest { padding: 40px 0 100px; background: var(--paper, #f5f9fd); }
.pm-mock .knowledge-placeholder {
  display: flex; justify-content: center; align-items: center;
  min-height: 200px; margin-top: 24px;
}
.pm-mock .knowledge-placeholder__box {
  text-align: center; padding: 40px 60px;
  background: #fff; border: 2px dashed #cbd5e1; border-radius: 8px;
}
.pm-mock .knowledge-placeholder__icon { font-size: 45px; display: block; margin-bottom: 12px; }
.pm-mock .knowledge-placeholder p {
  margin: 0; font-family: 'Poppins', sans-serif;
  font-size: 17.5px; letter-spacing: .12em;
  color: var(--sub); text-transform: uppercase;
}

@media (max-width: 900px) {
  .pm-mock .knowledge-cats__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 500px) {
  .pm-mock .knowledge-cats__grid { grid-template-columns: 1fr; }
}

/* ============================================================================
 * page-recruit.php
 * ========================================================================= */
.pm-mock .recruit-mission { padding: 80px 0; background: var(--paper, #f5f9fd); }
.pm-mock .recruit-mission .mission-box {
  max-width: 800px; margin: 0 auto; text-align: center;
  padding: 48px 40px; background: #fff;
  border-top: 4px solid var(--sky);
}
.pm-mock .recruit-positions { padding: 60px 0 40px; background: #fff; }
.pm-mock .recruit-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px;
  margin-top: 32px;
}
.pm-mock .recruit-card {
  padding: 28px 26px;
  background: #fff; border: 1px solid #e2e8f0; border-radius: 6px;
  transition: .2s;
}
.pm-mock .recruit-card:hover { border-color: var(--sky); box-shadow: 0 6px 18px rgba(28,147,210,.08); }
.pm-mock .recruit-card__label {
  display: inline-block; font-family: 'Poppins', sans-serif;
  font-size: 14px; letter-spacing: .1em; color: #fff;
  background: var(--sky); padding: 4px 12px; border-radius: 3px;
  font-weight: 700; margin-bottom: 14px;
}
.pm-mock .recruit-card h3 {
  font-size: 25px; font-weight: 900; color: var(--navy);
  margin: 0 0 10px;
}
.pm-mock .recruit-card p {
  font-size: 17.5px; color: var(--sub); line-height: 1.85;
  margin: 0 0 16px;
}
.pm-mock .recruit-card__req {
  list-style: none; padding: 0; margin: 0;
  border-top: 1px solid #e2e8f0; padding-top: 14px;
}
.pm-mock .recruit-card__req li {
  font-size: 15.5px; color: var(--sub);
  padding: 4px 0 4px 20px; position: relative; line-height: 1.6;
}
.pm-mock .recruit-card__req li::before {
  content: "•"; position: absolute; left: 6px; top: 3px;
  color: var(--sky); font-weight: 700;
}
.pm-mock .recruit-cta { padding: 60px 0 100px; background: #fff; }

@media (max-width: 900px) {
  .pm-mock .recruit-grid { grid-template-columns: 1fr; }
  .pm-mock .recruit-mission { padding: 48px 0; }
  .pm-mock .recruit-mission .mission-box { padding: 32px 20px; }
}

/* ============================================================================
 * page-news.php
 * ========================================================================= */
.pm-mock .news-list-section { padding: 60px 0 100px; background: #fff; }
.pm-mock .news-list { max-width: 860px; margin: 0 auto; }
.pm-mock .news-item {
  display: flex; align-items: flex-start; gap: 24px;
  padding: 22px 0; border-bottom: 1px solid #e2e8f0;
  transition: background .15s;
}
.pm-mock .news-item:hover { background: var(--paper, #f5f9fd); }
.pm-mock .news-item__meta {
  display: flex; flex-direction: column; gap: 8px; flex-shrink: 0;
  min-width: 130px;
}
.pm-mock .news-item__date {
  font-family: 'Poppins', sans-serif; font-size: 17.5px; font-weight: 600;
  color: var(--navy);
}
.pm-mock .news-item__cat {
  display: inline-block; align-self: flex-start;
  font-size: 14px; font-weight: 700; letter-spacing: .04em;
  padding: 3px 10px; border-radius: 2px;
}
.pm-mock .news-item__cat--press { background: #fff3e0; color: #b26900; }
.pm-mock .news-item__cat--service { background: #e3f2fd; color: #0d47a1; }
.pm-mock .news-item__cat--event { background: #f3e5f5; color: #6a1b9a; }
.pm-mock .news-item__cat--media { background: #e8f5e9; color: #1b5e20; }
.pm-mock .news-item__cat--company { background: #eceff1; color: #37474f; }
.pm-mock .news-item__title {
  flex: 1; font-size: 20px; font-weight: 700; color: var(--navy);
  line-height: 1.7; margin: 0;
}
.pm-mock .news-note {
  margin-top: 40px; text-align: center; font-size: 15px; color: var(--sub);
}

@media (max-width: 700px) {
  .pm-mock .news-item { flex-direction: column; gap: 10px; padding: 18px 0; }
  .pm-mock .news-item__meta { min-width: 0; flex-direction: row; align-items: center; }
  .pm-mock .news-item__title { font-size: 18px; }
}

/* ============================================================================
 * page-generic.php （mocks.json から自動レンダリング）
 * ========================================================================= */
.pm-mock .page-hero__h1 {
  font-size: 40px; font-weight: 900; color: var(--navy, #1B224C);
  line-height: 1.5; margin: 12px 0 20px; letter-spacing: -.005em;
}
.pm-mock .generic-content-section { padding: 40px 0 60px; background: #fff; }
.pm-mock .generic-content-section .container { max-width: 900px; }
.pm-mock .generic-heading--2 {
  font-size: 27.5px; font-weight: 900; color: var(--navy);
  margin: 44px 0 16px; padding-bottom: 10px;
  border-bottom: 2px solid var(--sky, #1C93D2); line-height: 1.5;
}
.pm-mock .generic-heading--2:first-child { margin-top: 0; }
.pm-mock .generic-heading--3 {
  font-size: 21px; font-weight: 800; color: var(--navy);
  margin: 28px 0 12px; line-height: 1.55;
}
.pm-mock .generic-p {
  font-size: 18px; color: var(--sub, #5a6a7a);
  line-height: 1.95; margin: 0 0 14px;
}
.pm-mock .generic-list {
  margin: 8px 0 20px 0; padding-left: 0; list-style: none;
}
.pm-mock .generic-list li {
  font-size: 17.5px; color: var(--sub); line-height: 1.85;
  padding: 4px 0 4px 22px; position: relative;
}
.pm-mock .generic-list li::before {
  content: "•"; position: absolute; left: 6px; top: 4px;
  color: var(--sky); font-weight: 700;
}

/* FAQ */
.pm-mock .generic-faq-section { padding: 60px 0; background: var(--paper, #f5f9fd); }
.pm-mock .generic-faq-section .container { max-width: 900px; }
.pm-mock .generic-faq-list { margin-top: 24px; }
.pm-mock .generic-faq-item {
  background: #fff; border: 1px solid #e2e8f0; border-radius: 6px;
  margin-bottom: 12px; overflow: hidden; transition: .2s;
}
.pm-mock .generic-faq-item[open] { border-color: var(--sky); }
.pm-mock .generic-faq-q {
  font-size: 19px; font-weight: 700; color: var(--navy);
  padding: 18px 24px; cursor: pointer; list-style: none;
  position: relative; padding-right: 48px;
}
.pm-mock .generic-faq-q::marker { display: none; }
.pm-mock .generic-faq-q::-webkit-details-marker { display: none; }
.pm-mock .generic-faq-q::after {
  content: "+"; position: absolute; right: 20px; top: 50%;
  transform: translateY(-50%); font-size: 27.5px; color: var(--sky);
  font-weight: 300; transition: transform .2s;
}
.pm-mock .generic-faq-item[open] .generic-faq-q::after {
  content: "−"; transform: translateY(-50%);
}
.pm-mock .generic-faq-a {
  padding: 4px 24px 20px; font-size: 17.5px;
  color: var(--sub); line-height: 1.9;
  border-top: 1px solid var(--paper);
}

/* CTA */
.pm-mock .generic-cta-section { padding: 60px 0 100px; background: #fff; }
.pm-mock .cta-section-full { padding: 60px 0 100px; background: #fff; }

@media (max-width: 767px) {
  .pm-mock .page-hero__h1 { font-size: 27.5px; }
  .pm-mock .generic-heading--2 { font-size: 22.5px; }
  .pm-mock .generic-heading--3 { font-size: 19px; }
  .pm-mock .generic-p, .pm-mock .generic-list li { font-size: 17px; }
  .pm-mock .generic-faq-q { font-size: 17.5px; padding: 14px 44px 14px 18px; }
  .pm-mock .generic-faq-a { font-size: 16px; padding: 4px 18px 16px; }
}

/* ============================================================================
 * page-case.php (/works/) v2 — インタビュー + 事例カード + フィルター
 * ========================================================================= */

/* TRACK RECORD */
.pm-mock .works-track { padding: 48px 0; background: var(--paper, #f5f9fd); }
.pm-mock .works-track__panel {
  background: #fff; border: 1px solid #e2e8f0; border-radius: 6px;
  padding: 24px 28px; max-width: 1100px; margin: 0 auto;
}
.pm-mock .works-track__block { padding: 10px 0; }
.pm-mock .works-track__block + .works-track__block { border-top: 1px dashed #e2e8f0; }
.pm-mock .works-track__label {
  display: flex; align-items: baseline; gap: 12px; margin-bottom: 8px;
}
.pm-mock .works-track__label .ja { font-size: 16px; font-weight: 700; color: var(--navy); }
.pm-mock .works-track__label .en {
  font-family: 'Poppins', sans-serif; font-size: 14px;
  letter-spacing: .12em; color: var(--sky); font-weight: 700;
}
.pm-mock .works-track__items { display: flex; flex-wrap: wrap; gap: 6px; }
.pm-mock .works-track__item {
  font-size: 15.5px; padding: 4px 12px;
  background: var(--paper); color: var(--navy);
  border-radius: 100px; line-height: 1.5;
}

/* FILTER BAR */
.pm-mock .works-filterbar {
  position: sticky; top: 92px; z-index: 30;
  background: #fff; border-bottom: 1px solid #e2e8f0;
  padding: 12px 0; box-shadow: 0 2px 4px rgba(0,0,0,.04);
}
body.admin-bar .pm-mock .works-filterbar { top: 124px; }
.pm-mock .works-filter-inner {
  display: flex; gap: 16px; align-items: center; flex-wrap: wrap;
}
.pm-mock .works-filter-tag {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: 'Poppins', sans-serif; font-size: 15px; font-weight: 800;
  color: var(--sky); letter-spacing: .1em;
}
.pm-mock .works-filter-tag svg { width: 16px; height: 16px; }
.pm-mock .works-selects { display: flex; gap: 8px; flex-wrap: wrap; flex: 1; }
.pm-mock .works-sel select,
.pm-mock .works-sel input {
  padding: 8px 12px; font-size: 16px; border: 1px solid #d0d8e0;
  border-radius: 4px; color: var(--navy); background: #fff;
  font-family: inherit; min-width: 160px;
}
.pm-mock .works-sel input { min-width: 220px; }
.pm-mock .works-sel select:focus, .pm-mock .works-sel input:focus {
  outline: none; border-color: var(--sky); box-shadow: 0 0 0 3px rgba(28,147,210,.12);
}
.pm-mock .works-filter-right {
  display: flex; align-items: center; gap: 14px;
}
.pm-mock .works-clearbtn {
  background: transparent; border: 1px solid #cbd5e1; color: var(--sub);
  padding: 6px 14px; border-radius: 4px; cursor: pointer;
  font-size: 14px; font-weight: 700; letter-spacing: .06em;
  transition: .15s;
}
.pm-mock .works-clearbtn:hover { border-color: var(--sky); color: var(--sky); }
.pm-mock .works-count {
  font-family: 'Poppins', sans-serif; font-size: 15px;
  color: var(--sub); font-weight: 700;
}
.pm-mock .works-count b { font-size: 19px; color: var(--sky); }

/* STAGE (section) */
.pm-mock .works-stage { padding: 60px 0; background: #fff; }
.pm-mock .works-stage + .works-stage { background: #fbfcfd; }
.pm-mock .works-stage__head {
  display: flex; align-items: center; gap: 20px; margin-bottom: 28px;
  padding-bottom: 16px; border-bottom: 2px solid var(--sky);
}
.pm-mock .works-stage__idx {
  font-family: 'Poppins', sans-serif; font-size: 47.5px; font-weight: 800;
  color: var(--sky); line-height: 1;
}
.pm-mock .works-stage__title { flex: 1; }
.pm-mock .works-stage__title h2 {
  font-size: 27.5px; font-weight: 900; color: var(--navy); line-height: 1.4; margin: 0;
}
.pm-mock .works-stage__title h2 .en {
  display: block; font-family: 'Poppins', sans-serif;
  font-size: 15px; letter-spacing: .16em; color: var(--sky);
  font-weight: 700; margin-top: 4px;
}
.pm-mock .works-stage__count {
  font-family: 'Poppins', sans-serif; font-size: 16px;
  color: var(--sub); font-weight: 700;
}

/* GRID */
.pm-mock .works-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
}
@media (max-width: 1023px) {
  .pm-mock .works-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .pm-mock .works-grid { grid-template-columns: 1fr; }
}

/* CARD */
.pm-mock .works-card {
  display: flex; flex-direction: column;
  background: #fff; border: 1px solid #e2e8f0; border-radius: 6px;
  overflow: hidden; text-decoration: none; color: inherit;
  transition: .2s;
}
.pm-mock .works-card:hover {
  border-color: var(--sky);
  box-shadow: 0 8px 24px rgba(28,147,210,.12);
  transform: translateY(-3px);
}
.pm-mock .works-card__bar {
  display: flex; justify-content: space-between; align-items: center;
  padding: 8px 14px; font-family: 'Poppins', sans-serif;
  font-size: 14px; font-weight: 700; letter-spacing: .06em; color: #fff;
}
.pm-mock .works-card__bar--iv { background: var(--sky); }
.pm-mock .works-card__bar--cs { background: var(--navy); }
.pm-mock .works-card__type { letter-spacing: .1em; }
.pm-mock .works-card__phase {
  font-family: 'Noto Sans JP', sans-serif; font-size: 14px;
  opacity: .9; letter-spacing: 0;
}
.pm-mock .works-card__thumb {
  aspect-ratio: 16/9; background: linear-gradient(135deg, #f5f9fd 0%, #e5eef7 100%);
  display: flex; align-items: center; justify-content: center;
  border-bottom: 1px solid #e2e8f0;
}
.pm-mock .works-card__thumb-inner { text-align: center; padding: 0 16px; }
.pm-mock .works-card__brand {
  font-family: 'Poppins', sans-serif; font-size: 15px;
  letter-spacing: .12em; color: var(--navy); font-weight: 800;
}
.pm-mock .works-card__brand-svc {
  font-size: 15px; color: var(--sub); margin-top: 4px;
}
.pm-mock .works-card__brand-num {
  font-family: 'Poppins', sans-serif; font-size: 35px; font-weight: 800;
  color: var(--sky); letter-spacing: -.01em;
}
.pm-mock .works-card__body { padding: 18px 18px 14px; flex: 1; }
.pm-mock .works-card__tags {
  display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 12px;
}
.pm-mock .works-card__tag {
  font-size: 13px; padding: 3px 8px;
  background: var(--paper); color: var(--sub);
  border-radius: 3px; line-height: 1.4;
}
.pm-mock .works-card__title {
  font-size: 19px; font-weight: 900; color: var(--navy);
  line-height: 1.55; margin-bottom: 6px;
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
}
.pm-mock .works-card__client {
  font-size: 15px; color: var(--sub); margin-bottom: 12px;
}
.pm-mock .works-card__ccorp { margin-bottom: 12px; }
.pm-mock .works-card__ccorp-row {
  display: flex; gap: 8px; font-size: 15px; padding: 3px 0;
  border-bottom: 1px dashed #eef2f6;
}
.pm-mock .works-card__ccorp-row:last-child { border: none; }
.pm-mock .works-card__ccorp-key {
  min-width: 60px; color: var(--sub); font-weight: 600;
}
.pm-mock .works-card__ccorp-val { color: var(--navy); font-weight: 700; }
.pm-mock .works-card__kpi {
  display: flex; align-items: baseline; gap: 6px;
  padding: 10px 12px; margin-bottom: 10px;
  background: linear-gradient(135deg, #f0f7fc 0%, #ffffff 100%);
  border-left: 3px solid var(--sky); border-radius: 3px;
}
.pm-mock .works-card__kpi-num {
  font-family: 'Poppins', sans-serif; font-size: 30px; font-weight: 800;
  color: var(--sky); line-height: 1;
}
.pm-mock .works-card__kpi-tail { font-size: 14.5px; color: var(--navy); font-weight: 700; }
.pm-mock .works-card__meta {
  display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--sub);
}
.pm-mock .works-card__meta-k {
  font-family: 'Poppins', sans-serif; letter-spacing: .06em;
  color: var(--sky); font-weight: 700;
}
.pm-mock .works-card__foot {
  display: flex; justify-content: space-between; align-items: center;
  padding: 12px 18px; border-top: 1px solid #eef2f6;
  background: #fbfcfd;
}
.pm-mock .works-card__more {
  font-size: 15px; font-weight: 700; color: var(--navy);
}
.pm-mock .works-card__arrow {
  font-family: 'Poppins', sans-serif; font-size: 20px;
  color: var(--sky); transition: transform .2s;
}
.pm-mock .works-card:hover .works-card__arrow { transform: translateX(4px); }

/* EMPTY */
.pm-mock .works-empty {
  padding: 60px 20px; text-align: center;
  background: var(--paper); border-radius: 6px; margin: 40px 0;
}
.pm-mock .works-empty h3 { font-size: 22.5px; font-weight: 900; color: var(--navy); margin: 0 0 8px; }
.pm-mock .works-empty p { font-size: 17px; color: var(--sub); margin: 0; }

/* CTA */
.pm-mock .works-cta { padding: 60px 0 100px; background: #fff; }
.pm-mock .works-cta__box {
  background: linear-gradient(135deg, var(--navy) 0%, #2c3e50 100%);
  color: #fff; padding: 56px 40px; text-align: center; border-radius: 6px;
}
.pm-mock .works-cta__box h2 {
  font-size: 32.5px; font-weight: 900; margin: 0 0 12px;
}
.pm-mock .works-cta__box h2 .lime { color: #94efaa; }
.pm-mock .works-cta__box p {
  font-size: 19px; opacity: .9; margin: 0 0 28px;
}
.pm-mock .works-cta__actions {
  display: flex; gap: 16px; justify-content: center; flex-wrap: wrap;
}

@media (max-width: 900px) {
  .pm-mock .works-filterbar { position: static; }
  .pm-mock .works-selects { flex-direction: column; width: 100%; }
  .pm-mock .works-sel select, .pm-mock .works-sel input { width: 100%; min-width: 0; }
  .pm-mock .works-stage { padding: 40px 0; }
  .pm-mock .works-stage__idx { font-size: 35px; }
  .pm-mock .works-stage__title h2 { font-size: 22.5px; }
  .pm-mock .works-cta__box { padding: 40px 20px; }
  .pm-mock .works-cta__box h2 { font-size: 25px; }
}

/* ============================================================================
 * single-case_study.php （個別事例ページ）
 * ========================================================================= */
.pm-mock .works-single__h1 {
  font-size: 40px; font-weight: 900; color: var(--navy);
  line-height: 1.45; margin: 12px 0 12px; letter-spacing: -.005em;
}
.pm-mock .works-single__client {
  font-size: 19px; color: var(--sky); font-weight: 700;
  margin: 0 0 8px;
}
.pm-mock .works-single__client .works-single__svc { color: var(--sub); font-weight: 500; }

.pm-mock .works-single-kpi { padding: 40px 0; background: var(--paper); }
.pm-mock .works-single-kpi__box {
  max-width: 700px; margin: 0 auto; text-align: center;
  padding: 32px 24px; background: linear-gradient(135deg, #f0f7fc 0%, #ffffff 100%);
  border-left: 4px solid var(--sky); border-radius: 6px;
}
.pm-mock .works-single-kpi__lead {
  font-size: 17.5px; color: var(--sub); margin-bottom: 6px;
}
.pm-mock .works-single-kpi__num {
  font-family: 'Poppins', sans-serif; font-size: 70.5px; font-weight: 800;
  color: var(--sky); line-height: 1; letter-spacing: -.02em;
}
.pm-mock .works-single-kpi__tail {
  font-size: 20px; color: var(--navy); font-weight: 700; margin-top: 8px;
}

.pm-mock .works-single-meta { padding: 32px 0; background: #fff; }
.pm-mock .works-single-meta__list {
  max-width: 900px; margin: 0 auto;
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 24px;
}
.pm-mock .works-single-meta__list > div {
  display: grid; grid-template-columns: 140px 1fr; align-items: baseline;
  padding: 10px 0; border-bottom: 1px dashed #e2e8f0;
}
.pm-mock .works-single-meta__list dt {
  font-size: 15px; color: var(--sub); font-weight: 700; margin: 0;
}
.pm-mock .works-single-meta__list dd {
  font-size: 17.5px; color: var(--navy); font-weight: 600; margin: 0;
}

.pm-mock .works-single-body { padding: 40px 0 60px; background: #fff; }
.pm-mock .works-single-body__wrap {
  max-width: 800px; margin: 0 auto;
  font-size: 19px; line-height: 1.95; color: var(--navy);
}
.pm-mock .works-single-body__wrap h2 {
  font-size: 27.5px; font-weight: 900; color: var(--navy);
  margin: 36px 0 14px; padding-bottom: 8px;
  border-bottom: 2px solid var(--sky);
}
.pm-mock .works-single-body__wrap p { margin-bottom: 16px; }

/* card サムネ画像 — 16:9 統一 + contain で全体表示（見切れ防止） */
.pm-mock .works-card__thumb {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #fff;
  position: relative;
  border-bottom: 1px solid #e2e8f0;
}
.pm-mock .works-card__thumb img {
  width: 100%; height: 100%;
  object-fit: contain;         /* 見切れ防止：全体表示 */
  object-position: center;
  display: block;
  padding: 8px;                /* ロゴ・写真どちらでも呼吸できる余白 */
  box-sizing: border-box;
}

/* RESULT ブロック（本番と同じ） */
.pm-mock .works-card__result {
  padding: 12px 14px; margin-bottom: 10px;
  background: linear-gradient(135deg, #fef8e5 0%, #fffbef 100%);
  border-left: 3px solid #f5b840; border-radius: 3px;
}
.pm-mock .works-card__result-label {
  font-family: 'Poppins', sans-serif; font-size: 13px;
  letter-spacing: .12em; color: #b26900; font-weight: 800;
  margin-bottom: 6px;
}
.pm-mock .works-card__result-text {
  font-size: 15.5px; color: var(--navy); line-height: 1.65;
}
.pm-mock .works-card__result-text .big {
  font-weight: 900; color: var(--sky);
}

@media (max-width: 767px) {
  .pm-mock .works-single__h1 { font-size: 27.5px; }
  .pm-mock .works-single-kpi__num { font-size: 48.5px; }
  .pm-mock .works-single-meta__list { grid-template-columns: 1fr; }
  .pm-mock .works-single-meta__list > div { grid-template-columns: 100px 1fr; }
}

/* ============================================================================
 * v0.91.0 — 共通ページ（/company/・/contact/）用コンポーネント
 *   ・page-company.php / page-contact.php は service-hub.css を読み込まないため、
 *     必要な .svc-linkcard / .cta-tel はここに複製している
 * ========================================================================= */

/* ---- セクション枠 ---- */
.pm-mock .co-sec{position:relative;overflow:hidden;background:#fff;padding:64px 0;}
.pm-mock .co-sec--tint{background:var(--tint);}

/* ---- 見出し・本文 ---- */
.pm-mock .co-h3{margin:44px 0 14px;font-size:22px;font-weight:900;color:var(--navy);line-height:1.6;}
.pm-mock .co-p{font-size:16px;line-height:2;color:var(--ink);margin:0 0 16px;}
.pm-mock .co-p--wide{max-width:none;}
.pm-mock .co-clients{font-size:14.5px;line-height:2.1;color:var(--sub);}

/* ---- ヒーロー直下の指標 ---- */
.pm-mock .co-metrics{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:0;margin:34px 0 8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.pm-mock .co-metric{padding:20px 24px;border-left:1px solid var(--line);}
.pm-mock .co-metric:first-child{border-left:none;}
.pm-mock .co-metric__num{
  display:block;font-family:'Poppins',sans-serif;font-weight:700;
  font-size:40px;line-height:1;color:var(--sky);letter-spacing:-.01em;}
.pm-mock .co-metric__unit{font-size:16px;font-weight:700;margin-left:4px;color:var(--navy);}
.pm-mock .co-metric__label{display:block;margin-top:10px;font-size:13.5px;font-weight:700;color:var(--sub);line-height:1.6;}

/* ---- 白背景用のセカンダリボタン ---- */
.pm-mock .btn-outline{
  display:inline-flex;align-items:center;gap:20px;
  border:1px solid var(--navy);color:var(--navy);
  padding:16px 30px;font-size:16px;font-weight:700;
  text-decoration:none;transition:.25s;}
.pm-mock .btn-outline:hover{background:var(--navy);color:#fff;}

/* ---- VISION / MISSION ---- */
.pm-mock .co-vm{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:4px;}
.pm-mock .co-vm-card{background:var(--navy);color:#fff;padding:30px 30px 28px;border-top:4px solid var(--sky);}
.pm-mock .co-sec--tint .co-vm-card{background:var(--navy);}
.pm-mock .co-vm-tag{font-family:'Poppins',sans-serif;font-size:13px;font-weight:700;letter-spacing:.14em;color:var(--sky-light);}
.pm-mock .co-vm-card h3{margin:14px 0 0;font-size:19px;font-weight:900;line-height:1.75;color:#fff;}

/* ---- VALUE 4枚 ---- */
.pm-mock .co-values{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:6px;}
.pm-mock .co-value{background:#fff;border:1px solid var(--line);border-top:3px solid var(--sky);padding:24px 24px 22px;transition:.2s;}
.pm-mock .co-value:hover{border-color:var(--sky);box-shadow:0 14px 30px rgba(27,34,76,.08);}
.pm-mock .co-value__no{font-family:'Poppins',sans-serif;font-size:32px;font-weight:600;color:var(--sky);line-height:1;}
.pm-mock .co-value h4{margin:12px 0 10px;font-size:18px;font-weight:900;color:var(--navy);line-height:1.5;}
.pm-mock .co-value__en{display:block;margin-top:4px;font-family:'Poppins',sans-serif;font-size:11.5px;font-weight:600;letter-spacing:.06em;color:var(--sub);}
.pm-mock .co-value p{font-size:14px;line-height:1.9;color:var(--sub);margin:0;}

/* ---- 図版枠（7つの強み・沿革） ---- */
.pm-mock .co-fig{background:var(--tint);border:1px solid var(--line);padding:26px 26px 22px;}
.pm-mock .co-sec--tint .co-fig{background:#fff;}
.pm-mock .co-fig-title{margin:0 0 18px;font-size:18px;font-weight:900;color:var(--navy);line-height:1.6;}
.pm-mock .co-fig-cap{margin:16px 0 0;font-size:12.5px;color:var(--sub);}

/* ---- 7つの強み ---- */
.pm-mock .co-str7{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.pm-mock .co-str7-card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--sky-light);padding:20px 22px 18px;}
.pm-mock .co-sec--tint .co-str7-card{background:var(--tint);}
.pm-mock .co-str7-card--t1{border-top-color:#9FC6EA;}
.pm-mock .co-str7-card--t2{border-top-color:#7FB6E8;}
.pm-mock .co-str7-card--t3{border-top-color:#5FB6E8;}
.pm-mock .co-str7-card--t4{border-top-color:#3D93DD;}
.pm-mock .co-str7-card--t5{border-top-color:var(--sky);}
.pm-mock .co-str7-en{display:block;font-family:'Poppins',sans-serif;font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--sky);}
.pm-mock .co-str7-card h4{margin:10px 0 8px;font-size:17px;font-weight:900;color:var(--navy);line-height:1.55;}
.pm-mock .co-str7-card p{margin:0;font-size:13.5px;line-height:1.85;color:var(--sub);}
/* ⑥ AI（キーカラー） */
.pm-mock .co-str7-card--key,
.pm-mock .co-sec--tint .co-str7-card--key{background:var(--sky);border-color:var(--sky);border-top-color:var(--navy);}
.pm-mock .co-str7-card--key .co-str7-en{color:#DCEEFA;}
.pm-mock .co-str7-card--key h4{color:#fff;}
.pm-mock .co-str7-card--key p{color:#E7F3FB;}
/* ⑦ VOC TO PRODUCT（全幅・ネイビー） */
.pm-mock .co-str7-card--wide,
.pm-mock .co-sec--tint .co-str7-card--wide{grid-column:1 / -1;background:var(--navy);border-color:var(--navy);border-top-color:var(--sky);}
.pm-mock .co-str7-card--wide .co-str7-en{color:var(--sky-light);}
.pm-mock .co-str7-card--wide h4{color:#fff;font-size:18.5px;}
.pm-mock .co-str7-card--wide p{color:#D6E4F2;}

/* ---- 沿革 ---- */
.pm-mock .co-tl{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;position:relative;}
.pm-mock .co-tl-item{background:#fff;border:1px solid var(--line);border-top:4px solid var(--sky-light);padding:18px 20px 16px;}
.pm-mock .co-sec--tint .co-tl-item{background:var(--tint);}
.pm-mock .co-tl-item:nth-child(1){border-top-color:var(--sky);}
.pm-mock .co-tl-item:nth-child(2){border-top-color:#3D93DD;}
.pm-mock .co-tl-item:nth-child(3){border-top-color:#5FB6E8;}
.pm-mock .co-tl-item:nth-child(4){border-top-color:#7FB6E8;}
.pm-mock .co-tl-year{display:block;font-family:'Poppins',sans-serif;font-size:26px;font-weight:700;color:var(--sky);line-height:1;letter-spacing:.02em;}
.pm-mock .co-tl-body h4{margin:12px 0 6px;font-size:16px;font-weight:900;color:var(--navy);line-height:1.55;}
.pm-mock .co-tl-body p{margin:0;font-size:13.5px;line-height:1.8;color:var(--ink);}
.pm-mock .co-tl-note{display:block;margin-top:6px;font-size:12.5px;line-height:1.7;color:var(--sub);}
.pm-mock .co-tl-now{
  display:flex;align-items:flex-start;gap:24px;
  margin-top:12px;background:var(--navy);border-top:4px solid var(--sky);padding:22px 26px 20px;}
.pm-mock .co-tl-now-year{font-family:'Poppins',sans-serif;font-size:26px;font-weight:700;color:var(--sky-light);line-height:1.2;white-space:nowrap;}
.pm-mock .co-tl-now-body h4{margin:0 0 8px;font-size:18px;font-weight:900;color:#fff;line-height:1.6;}
.pm-mock .co-tl-now-body p{margin:0;font-size:14px;line-height:1.85;color:#D6E4F2;}

/* ---- 代表メッセージ（写真＋本文の2カラム） ---- */
.pm-mock .co-msg{display:grid;grid-template-columns:300px minmax(0,1fr);gap:40px;align-items:start;}
.pm-mock .co-msg-photo{position:sticky;top:24px;}
.pm-mock .co-msg-photo img{display:block;width:100%;height:auto;border:1px solid var(--line);}
.pm-mock .co-msg-body > .co-p:first-child{margin-top:0;}

/* ---- メディア掲載 ---- */
.pm-mock .co-media{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;}
.pm-mock .co-media-card{
  position:relative;display:block;background:#fff;border:1px solid var(--line);
  border-left:3px solid var(--sky);padding:24px 60px 22px 26px;text-decoration:none;transition:.2s;}
.pm-mock .co-media-card:hover{border-color:var(--sky);box-shadow:0 12px 26px rgba(27,34,76,.08);}
.pm-mock .co-media-src{display:block;font-family:'Poppins',sans-serif;font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--sky);}
.pm-mock .co-media-ttl{display:block;margin:10px 0 8px;font-size:17.5px;font-weight:900;color:var(--navy);line-height:1.6;}
.pm-mock .co-media-card:hover .co-media-ttl{color:var(--sky);}
.pm-mock .co-media-desc{display:block;font-size:14px;line-height:1.9;color:var(--sub);}
.pm-mock .co-media-arrow{
  position:absolute;right:24px;top:50%;transform:translateY(-50%);
  font-size:20px;color:var(--sky);}

/* ---- リンクカード（service-hub.css からの複製） ---- */
.pm-mock .svc-linkcards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px;}
.pm-mock .svc-linkcard{display:flex;flex-direction:column;gap:4px;
  background:#fff;border:1px solid var(--line);border-left:3px solid var(--sky);
  padding:17px 19px;text-decoration:none;transition:.2s;}
.pm-mock .svc-linkcard:hover{border-color:var(--sky);border-left-color:var(--sky);
  box-shadow:0 10px 22px rgba(27,34,76,.07);}
.pm-mock .svc-linkcard .lc-sub{font-size:13px;color:var(--sub);line-height:1.65;}
.pm-mock .svc-linkcard .lc-main{font-size:16.5px;font-weight:900;color:var(--navy);line-height:1.5;}
.pm-mock .svc-linkcard:hover .lc-main{color:var(--sky);}
.pm-mock .co-linkcards{grid-template-columns:minmax(0,340px);}
.pm-mock .co-linkcards--3{grid-template-columns:repeat(3,1fr);margin-top:0;}

/* ---- CTA の電話番号（service-hub.css からの複製） ---- */
.pm-mock .cta .cta-tel{margin:18px 0 0;font-size:15px;color:rgba(255,255,255,.92);}
.pm-mock .cta .cta-tel a{color:#fff;font-weight:700;text-decoration:none;}

/* ---- /contact/ の追補 ---- */
.pm-mock .section-lead .req-mark{color:#C0392B;font-weight:700;}
.pm-mock .info-card .tel a{color:var(--sky);text-decoration:none;}
.pm-mock .info-card .tel a:hover{text-decoration:underline;}

/* ---- responsive ---- */
@media (max-width:1100px){
  .pm-mock .co-values{grid-template-columns:repeat(2,1fr);}
  .pm-mock .co-str7{grid-template-columns:repeat(2,1fr);}
  .pm-mock .co-tl{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:900px){
  .pm-mock .co-linkcards--3{grid-template-columns:1fr;}
}
@media (max-width:900px){
  .pm-mock .co-msg{grid-template-columns:1fr;gap:24px;}
  .pm-mock .co-msg-photo{position:static;max-width:260px;}
}
@media (max-width:760px){
  .pm-mock .co-sec{padding:46px 0;}
  .pm-mock .co-vm{grid-template-columns:1fr;}
  .pm-mock .co-metric{border-left:none;border-top:1px solid var(--line);padding:16px 0;}
  .pm-mock .co-metric:first-child{border-top:none;}
  .pm-mock .co-metric__num{font-size:32px;}
  .pm-mock .co-fig{padding:18px 16px 16px;}
  .pm-mock .co-tl-now{flex-direction:column;gap:8px;}
  .pm-mock .co-h3{margin-top:32px;font-size:19px;}
  .pm-mock .co-p{font-size:15px;}
}
@media (max-width:560px){
  .pm-mock .co-values,
  .pm-mock .co-str7,
  .pm-mock .co-tl{grid-template-columns:1fr;}
  .pm-mock .co-linkcards{grid-template-columns:1fr;}
}

/* ==================================================================
 * v0.99.4 — 共通ページ3本の文字サイズを 1.25 倍にする
 *   対象：/company/ ・/contact/ ・/privacy/
 *   LP（v0.99.0〜0.99.3）と同じ倍率にそろえる。
 *     ・40px 未満 → ×1.25
 *     ・40px 以上（装飾用の大きな数字・見出し）→ ×1.10
 *     ・0.5px 単位に丸め
 *   static-pages.css は /works/・個別事例・ダウンロード等でも読み込まれる
 *   ため、既存の指定は書き換えず、body クラス（is-page-company /
 *   is-page-contact / is-page-privacy）で囲った上書きだけを足している。
 *   .btn-outline / .svc-linkcard / .cta-tel のような共有コンポーネントも
 *   この3ページに限って拡大する。
 * ================================================================== */
/* --- shared --- */
body:is(.is-page-company,.is-page-contact,.is-page-privacy,.is-page-works,.is-single-case) .pm-mock .section-title{font-size:32.5px;}
body:is(.is-page-company,.is-page-contact,.is-page-privacy,.is-page-works,.is-single-case) .pm-mock .section-lead{font-size:19px;}
/* --- contact --- */
body.is-page-contact .pm-mock .contact-form label{font-size:17.5px;}
body.is-page-contact .pm-mock .contact-form .req{font-size:12.5px;}
body.is-page-contact .pm-mock .contact-form input[type=text], body.is-page-contact .pm-mock .contact-form input[type=email], body.is-page-contact .pm-mock .contact-form input[type=tel], body.is-page-contact .pm-mock .contact-form select, body.is-page-contact .pm-mock .contact-form textarea{font-size:19px;}
body.is-page-contact .pm-mock .contact-form .form-consent{font-size:17.5px;}
body.is-page-contact .pm-mock .contact-form .form-note{font-size:15px;}
body.is-page-contact .pm-mock .info-card h3{font-size:19px;}
body.is-page-contact .pm-mock .info-card p{font-size:17.5px;}
body.is-page-contact .pm-mock .info-card .tel{font-size:30px;}
body.is-page-contact .pm-mock .info-card .hours{font-size:15px;}
body.is-page-contact .pm-mock .info-card .info-link{font-size:17.5px;}
/* --- privacy --- */
body.is-page-privacy .pm-mock .legal-content h2{font-size:25px;}
body.is-page-privacy .pm-mock .legal-content p{font-size:18px;}
body.is-page-privacy .pm-mock .legal-content ul li{font-size:17.5px;}
body.is-page-privacy .pm-mock .legal-contact-box p{font-size:17.5px;}
body.is-page-privacy .pm-mock .legal-date{font-size:15px;}
@media (max-width: 767px){
  body.is-page-privacy .pm-mock .legal-content h2{font-size:21px;}
  body.is-page-privacy .pm-mock .legal-content p, body.is-page-privacy .pm-mock .legal-content ul li{font-size:17px;}
}
/* --- company --- */
body.is-page-company .pm-mock .company-table th, body.is-page-company .pm-mock .company-table td{font-size:19px;}
body.is-page-company .pm-mock .company-table td .muted{font-size:15px;}
body.is-page-company .pm-mock .mission-label{font-size:16px;}
body.is-page-company .pm-mock .mission-title{font-size:37.5px;}
body.is-page-company .pm-mock .mission-body{font-size:19.5px;}
body.is-page-company .pm-mock .cta-box h2{font-size:32.5px;}
body.is-page-company .pm-mock .cta-box p{font-size:19px;}
@media (max-width: 767px){
  body.is-page-company .pm-mock .company-table th{font-size:16px;}
  body.is-page-company .pm-mock .company-table td{font-size:17px;}
  body.is-page-company .pm-mock .mission-title{font-size:27.5px;}
  body.is-page-company .pm-mock .mission-body{font-size:17.5px;}
  body.is-page-company .pm-mock .cta-box h2{font-size:25px;}
}
/* --- v091 --- */
body.is-page-company .pm-mock .co-h3{font-size:27.5px;}
body.is-page-company .pm-mock .co-p{font-size:20px;}
body.is-page-company .pm-mock .co-clients{font-size:18px;}
body.is-page-company .pm-mock .co-metric__num{font-size:44px;}
body.is-page-company .pm-mock .co-metric__unit{font-size:20px;}
body.is-page-company .pm-mock .co-metric__label{font-size:17px;}
body:is(.is-page-company,.is-page-contact) .pm-mock .btn-outline{font-size:20px;}
body.is-page-company .pm-mock .co-vm-tag{font-size:16px;}
body.is-page-company .pm-mock .co-vm-card h3{font-size:24px;}
body.is-page-company .pm-mock .co-value__no{font-size:40px;}
body.is-page-company .pm-mock .co-value h4{font-size:22.5px;}
body.is-page-company .pm-mock .co-value__en{font-size:14.5px;}
body.is-page-company .pm-mock .co-value p{font-size:17.5px;}
body.is-page-company .pm-mock .co-fig-title{font-size:22.5px;}
body.is-page-company .pm-mock .co-fig-cap{font-size:15.5px;}
body.is-page-company .pm-mock .co-str7-en{font-size:15px;}
body.is-page-company .pm-mock .co-str7-card h4{font-size:21px;}
body.is-page-company .pm-mock .co-str7-card p{font-size:17px;}
body.is-page-company .pm-mock .co-str7-card--wide h4{font-size:23px;}
body.is-page-company .pm-mock .co-tl-year{font-size:32.5px;}
body.is-page-company .pm-mock .co-tl-body h4{font-size:20px;}
body.is-page-company .pm-mock .co-tl-body p{font-size:17px;}
body.is-page-company .pm-mock .co-tl-note{font-size:15.5px;}
body.is-page-company .pm-mock .co-tl-now-year{font-size:32.5px;}
body.is-page-company .pm-mock .co-tl-now-body h4{font-size:22.5px;}
body.is-page-company .pm-mock .co-tl-now-body p{font-size:17.5px;}
body.is-page-company .pm-mock .co-media-src{font-size:15px;}
body.is-page-company .pm-mock .co-media-ttl{font-size:22px;}
body.is-page-company .pm-mock .co-media-desc{font-size:17.5px;}
body.is-page-company .pm-mock .co-media-arrow{font-size:25px;}
body:is(.is-page-company,.is-page-contact) .pm-mock .svc-linkcard .lc-sub{font-size:16px;}
body:is(.is-page-company,.is-page-contact) .pm-mock .svc-linkcard .lc-main{font-size:20.5px;}
body:is(.is-page-company,.is-page-contact) .pm-mock .cta .cta-tel{font-size:19px;}
@media (max-width:760px){
  body.is-page-company .pm-mock .co-metric__num{font-size:40px;}
  body.is-page-company .pm-mock .co-h3{font-size:24px;}
  body.is-page-company .pm-mock .co-p{font-size:19px;}
}
/* ==================================================================
 * v0.99.7 — top-mock.css 由来の共通パーツも 1.25 倍にする
 *   対象は static-pages.css を読む固定ページ群のうち、拡大済みの
 *   5種（company / contact / privacy / works / 個別事例）だけ。
 *   TOP と LP は別ファイルなので影響しない。
 * ================================================================== */
body:is(.is-page-company,.is-page-contact,.is-page-privacy,.is-page-works,.is-single-case) .pm-mock .faq-q{font-size:22.5px;}
body:is(.is-page-company,.is-page-contact,.is-page-privacy,.is-page-works,.is-single-case) .pm-mock .faq-a{font-size:20px;}
body:is(.is-page-company,.is-page-contact,.is-page-privacy,.is-page-works,.is-single-case) .pm-mock .cta h2{font-size:38.5px;}
body:is(.is-page-company,.is-page-contact,.is-page-privacy,.is-page-works,.is-single-case) .pm-mock .cta p{font-size:20.5px;}
body:is(.is-page-company,.is-page-contact,.is-page-privacy,.is-page-works,.is-single-case) .pm-mock .str6-card p{font-size:17px;}
body:is(.is-page-company,.is-page-contact,.is-page-privacy,.is-page-works,.is-single-case) .pm-mock .str-all a{font-size:17.5px;}
@media (max-width:900px){
  body:is(.is-page-company,.is-page-contact,.is-page-privacy,.is-page-works,.is-single-case) .pm-mock .faq-q{font-size:19px;}
  body:is(.is-page-company,.is-page-contact,.is-page-privacy,.is-page-works,.is-single-case) .pm-mock .faq-a{font-size:17px;}
  body:is(.is-page-company,.is-page-contact,.is-page-privacy,.is-page-works,.is-single-case) .pm-mock .cta h2{font-size:27.5px;}
  body:is(.is-page-company,.is-page-contact,.is-page-privacy,.is-page-works,.is-single-case) .pm-mock .cta p{font-size:17.5px;}
}
@media (max-width:560px){
  body:is(.is-page-company,.is-page-contact,.is-page-privacy,.is-page-works,.is-single-case) .pm-mock .faq-q{font-size:17.5px;}
  body:is(.is-page-company,.is-page-contact,.is-page-privacy,.is-page-works,.is-single-case) .pm-mock .faq-a{font-size:16px;}
}

/* ==================================================================
 * v0.99.8 — 個別事例ページ（single-case_study）の横幅を
 *           課題別ページの個別ページに合わせる
 *
 *   課題個別： .chg-page-wrap  max-width:1400px / padding:0 24px
 *              → 本文カラムの実寸 1352px
 *   事例個別（変更前）：
 *              .page-hero .container            max-width:1080px（内側 960px）
 *              .works-single-meta__list         max-width: 900px
 *              .works-single-body__wrap         max-width: 800px
 *
 *   これを 1400px / padding 24px にそろえ、内側の wrap の上限は外す。
 *   .container は全ページ共通クラスなので、body.is-single-case と
 *   セクション名の両方で必ず限定すること（フッターには効かせない）。
 *   本文中の写真は原寸 800px なので、引き伸ばして粗くならないよう
 *   800px でとめて中央寄せにする。
 * ================================================================== */
body.is-single-case .pm-mock .page-hero > .container,
body.is-single-case .pm-mock .works-single-meta > .container,
body.is-single-case .pm-mock .works-single-body > .container,
body.is-single-case .pm-mock .works-cta > .container{
  max-width:1400px;padding-left:24px;padding-right:24px;
  margin-left:auto;margin-right:auto;   /* このページの .container は margin:0 なので中央寄せを戻す */
}
body.is-single-case .pm-mock .works-single-meta__list{max-width:none;}
body.is-single-case .pm-mock .works-single-body__wrap{max-width:none;}

/* 本文中の写真は原寸（800px）を超えて拡大しない */
body.is-single-case .pm-mock .works-single-body__wrap figure{
  max-width:800px;margin-left:auto;margin-right:auto;
}
body.is-single-case .pm-mock .works-single-body__wrap figure img{
  width:100%;height:auto;
}

@media (max-width:760px){
  body.is-single-case .pm-mock .page-hero > .container,
  body.is-single-case .pm-mock .works-single-meta > .container,
  body.is-single-case .pm-mock .works-single-body > .container,
  body.is-single-case .pm-mock .works-cta > .container{
    padding-left:20px;padding-right:20px;
  }
}

/* ============================================================================
 * 事例の詳細ページ 追補（v1.6.2）
 * ========================================================================= */

/* ---- 記事見出し ----
   .pm-mock .page-hero h1（82px）に負けていたので詳細度を上げる。
   インタビューは40〜60字の見出しが入るので、幅に応じて縮める。 */
.pm-mock .works-single .page-hero .works-single__h1{
  font-size:clamp(26px,2.5vw,38px);font-weight:900;line-height:1.6;
  color:var(--navy);letter-spacing:-.005em;margin:14px 0 14px;max-width:30em;
}

/* ---- 本文中の表（「1. 事例サマリー」など）----
   モックは <table class="is-table"> を素で置いているだけで、
   テーマ側にスタイルが無く罫線なしで流れていた（v1.6.2）。 */
.pm-mock .works-single-body__wrap table{
  width:100%;table-layout:fixed;border-collapse:collapse;
  margin:22px 0 30px;background:#fff;
  border:1px solid var(--line,#E2E8F1);
}
.pm-mock .works-single-body__wrap table th,
.pm-mock .works-single-body__wrap table td{
  padding:14px 18px;border:1px solid var(--line,#E2E8F1);
  font-size:16px;line-height:1.9;vertical-align:top;text-align:left;
  word-break:break-word;
}
.pm-mock .works-single-body__wrap table th{
  width:190px;background:var(--tint,#F4F7FB);
  font-weight:900;color:var(--navy,#1B224C);
}
.pm-mock .works-single-body__wrap table td{color:var(--ink,#22304A);}
.pm-mock .works-single-body__wrap table td br{content:"";display:block;margin-top:4px;}
.pm-mock .works-single-body__wrap table thead th{background:var(--navy,#1B224C);color:#fff;}
/* 表の直前が h2 のときは詰める */
.pm-mock .works-single-body__wrap h2 + table{margin-top:16px;}

@media (max-width:760px){
  .pm-mock .works-single-body__wrap table th{width:120px;}
  .pm-mock .works-single-body__wrap table th,
  .pm-mock .works-single-body__wrap table td{padding:11px 13px;font-size:14.5px;}
}
@media (max-width:520px){
  /* 2列だと本文が潰れるので、ラベルを上に積む */
  .pm-mock .works-single-body__wrap table,
  .pm-mock .works-single-body__wrap table tbody,
  .pm-mock .works-single-body__wrap table tr,
  .pm-mock .works-single-body__wrap table th,
  .pm-mock .works-single-body__wrap table td{display:block;width:auto;}
  .pm-mock .works-single-body__wrap table tr{border-bottom:1px solid var(--line,#E2E8F1);}
  .pm-mock .works-single-body__wrap table tr:last-child{border-bottom:0;}
  .pm-mock .works-single-body__wrap table th{border:0;padding:12px 14px 6px;}
  .pm-mock .works-single-body__wrap table td{border:0;padding:0 14px 14px;}
}

/* ==================================================================
 * お問い合わせフォームの送信結果表示（v1.20.0）
 * ------------------------------------------------------------------
 * 送信後は同じページへ戻して、フォームの上に結果を出す。
 * ================================================================== */
.pm-mock .form-sent,
.pm-mock .form-errors {
  margin: 16px 0 22px;
  padding: 18px 22px;
  border-radius: 3px;
  font-size: 16px;
  line-height: 1.85;
}
.pm-mock .form-sent {
  background: #EAF4FB;
  border-left: 4px solid var(--sky, #1C93D2);
  color: var(--navy, #1B224C);
}
.pm-mock .form-errors {
  background: #FDF1F0;
  border-left: 4px solid #B4433B;
  color: #8E322B;
}
.pm-mock .form-sent p,
.pm-mock .form-errors p { margin: 0 0 6px; }
.pm-mock .form-sent p:last-child,
.pm-mock .form-errors p:last-child { margin-bottom: 0; }
.pm-mock .form-errors ul { margin: 4px 0 0; padding-left: 1.2em; }
.pm-mock .form-errors li { margin: 2px 0; }

/* ハニーポット（人には見せない） */
.pm-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* ============================================================
   v1.20.1 — 必須／任意バッジ
   「採用について」選択時、会社名バッジを「任意」に切り替える
   ============================================================ */
.pm-mock .contact-form .req.is-optional { background: #8A94A6; }

/* v1.22.0 — 任意バッジ */
.pm-mock .contact-form .opt {
  display: inline-block; background: #8A94A6; color: #fff;
  font-size: 10px; font-weight: 700; padding: 2px 6px; border-radius: 3px;
  margin-left: 6px; letter-spacing: .05em;
}
body.is-page-contact .pm-mock .contact-form .opt{font-size:12.5px;}

/* =============================================================
   v1.75.0  会社概要：クレドバナー ／ メディアバナー3本
   -------------------------------------------------------------
   モック（company.json）側の CSS は page-company.php が読み込まない
   （読んでいるのは title / meta_description / jsonld_scripts のみ）ため、
   既存の .co-* に合わせてこちらで組んでいる。
   ============================================================= */

/* ---- クレド（6 Stances）への導線 ---- */
.pm-mock .co-credo{
  display:flex; align-items:stretch; margin:30px 0 0;
  background:var(--navy,#1B224C); overflow:hidden;
  text-decoration:none; transition:background .18s;
}
.pm-mock .co-credo:hover{ background:var(--navy-dark,#141936); }
.pm-mock .co-credo__left{ flex:1; padding:30px 34px; }
.pm-mock .co-credo__label{
  display:block; margin-bottom:12px;
  font-family:'Poppins',sans-serif; font-size:12px; font-weight:700;
  letter-spacing:.14em; color:var(--sky-light,#5FB6E8);
}
.pm-mock .co-credo__ttl{
  display:block; margin-bottom:12px;
  font-size:22px; font-weight:900; line-height:1.55; color:#fff;
}
.pm-mock .co-credo__desc{
  margin:0 0 16px; max-width:640px;
  font-size:15px; line-height:1.95; color:rgba(255,255,255,.78);
}
.pm-mock .co-credo__more{
  display:block; font-size:15px; font-weight:700; color:var(--sky-light,#5FB6E8);
}
.pm-mock .co-credo:hover .co-credo__more{ text-decoration:underline; }
.pm-mock .co-credo__right{
  flex:0 0 260px; display:flex; align-items:center; justify-content:center;
  padding:20px; background:rgba(255,255,255,.06);
  border-left:1px solid rgba(255,255,255,.14);
}
.pm-mock .co-credo__note{
  font-family:'Poppins',sans-serif; font-size:17px; font-weight:600;
  line-height:1.7; letter-spacing:.02em; color:#fff; text-align:center;
}

/* ---- メディア掲載：3本を横並びに ---- */
.pm-mock .co-media--3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.pm-mock .co-media--3 .co-media-card{ padding:24px 26px 44px; }
.pm-mock .co-media--3 .co-media-arrow{
  top:auto; bottom:18px; right:22px; transform:none;
}

@media (max-width:1060px){
  .pm-mock .co-media--3{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px){
  .pm-mock .co-credo{ flex-direction:column; margin-top:22px; }
  .pm-mock .co-credo__left{ padding:22px 20px; }
  .pm-mock .co-credo__ttl{ font-size:17px; }
  .pm-mock .co-credo__desc{ font-size:13.5px; margin-bottom:12px; }
  .pm-mock .co-credo__more{ font-size:13.5px; }
  .pm-mock .co-credo__right{
    flex:0 0 auto; padding:16px; border-left:none;
    border-top:1px solid rgba(255,255,255,.14);
  }
  .pm-mock .co-credo__note{ font-size:14px; }
}
@media (max-width:640px){
  .pm-mock .co-media--3{ grid-template-columns:1fr; }
}

/* ---- 8つの強み：項目名だけを小さく並べる（v1.75.1） ---- */
.pm-mock .co-str-tags{
  display:flex; flex-wrap:wrap; gap:8px;
  margin:20px 0 0;
}
.pm-mock .co-str-tag{
  display:inline-flex; align-items:baseline; gap:8px;
  padding:9px 15px;
  background:#fff; border:1px solid var(--line,#E2E8F1); border-radius:2px;
  font-size:14.5px; font-weight:700; line-height:1.6; color:var(--navy,#1B224C);
}
.pm-mock .co-str-tag b{
  font-family:'Poppins',sans-serif; font-size:12.5px; font-weight:700;
  letter-spacing:.04em; color:var(--sky,#1C93D2);
}
@media (max-width:900px){
  .pm-mock .co-str-tags{ gap:6px; margin-top:16px; }
  .pm-mock .co-str-tag{ padding:7px 11px; font-size:12.5px; gap:6px; }
  .pm-mock .co-str-tag b{ font-size:11px; }
}

/* =========================================================================
   サンクスページ（/thanks/）v2.39.0
   ========================================================================= */
.pm-mock .thanks-body{ padding:56px 0 96px; }
.pm-mock .thanks-note{
  background:#F2F7FC; border-radius:14px; padding:26px 30px; margin:0 0 44px;
}
.pm-mock .thanks-note p{ margin:0; font-size:16.5px; line-height:1.95; }
.pm-mock .thanks-note p + p{ margin-top:8px; }
.pm-mock .thanks-note a{ color:var(--sky,#1C93D2); font-weight:700; text-decoration:none; }
.pm-mock .thanks-h2{
  font-size:22px; font-weight:900; color:var(--navy,#1B224C);
  margin:0 0 18px; padding-left:14px; border-left:5px solid var(--sky,#1C93D2);
}
.pm-mock .thanks-back{ margin:40px 0 0; }
.pm-mock .thanks-back a{
  color:var(--sky,#1C93D2); font-weight:700; text-decoration:none; font-size:16px;
}
.pm-mock .thanks-back a::before{ content:"← "; }
@media (max-width:760px){
  .pm-mock .thanks-body{ padding:36px 0 64px; }
  .pm-mock .thanks-note{ padding:20px 20px; margin-bottom:32px; }
  .pm-mock .thanks-note p{ font-size:15.5px; }
  .pm-mock .thanks-h2{ font-size:19px; }
}

/* =============================================================
 * v1.88.0  文字サイズの統一（typography.css の8段階に寄せる）
 * -------------------------------------------------------------
 * 見出し 28 / 22・リード 21・本文 18・ボックス内 16・注記/タグ 14。
 * 0.5px 刻みと 14px 未満をなくすための上書き。自動で役割を判定して
 * 生成しているので、元の指定は書き換えていない。
 * 見た目がおかしい箇所は、このブロックの該当行を消せば元に戻る。
 * ヘッダー・ナビ・ボタン・数値の強調・ヒーローは対象外。
 * ============================================================= */

.pm-mock .section-title{font-size:28px}
.pm-mock .section-lead{font-size:21px}
.pm-mock .contact-form .req{font-size:14px}
.pm-mock .contact-form .form-note{font-size:14px}
.pm-mock .info-card h3{font-size:18px}
.pm-mock .info-card p{font-size:16px}
.pm-mock .info-card .hours{font-size:14px}
.pm-mock .dl-card__label{font-size:14px}
.pm-mock .dl-card h3{font-size:22px}
.pm-mock .dl-card p{font-size:16px}
.pm-mock .dl-card__points li{font-size:16px}
.pm-mock .dl-card__points li::before{font-size:14px}
.pm-mock .dl-note{font-size:14px}
.pm-mock .legal-content h2{font-size:22px}
.pm-mock .legal-content p{font-size:18px}
.pm-mock .legal-content ul li{font-size:18px}
.pm-mock .legal-contact-box p{font-size:16px}
.pm-mock .legal-date{font-size:14px}
.pm-mock .company-table th{font-size:16px}
.pm-mock .company-table td{font-size:16px}
.pm-mock .company-table td .muted{font-size:14px}
.pm-mock .mission-label{font-size:14px}
.pm-mock .mission-title{font-size:28px}
.pm-mock .mission-body{font-size:18px}
.pm-mock .cta-box h2{font-size:28px}
.pm-mock .cta-box p{font-size:16px}
.pm-mock .case-card__title{font-size:22px}
.pm-mock .case-card__desc{font-size:16px}
.pm-mock .case-cta p{font-size:18px}
.pm-mock .knowledge-cat h3{font-size:22px}
.pm-mock .knowledge-cat p{font-size:18px}
.pm-mock .recruit-card h3{font-size:22px}
.pm-mock .recruit-card p{font-size:16px}
.pm-mock .recruit-card__req li{font-size:16px}
.pm-mock .news-item__title{font-size:22px}
.pm-mock .news-note{font-size:14px}
.pm-mock .generic-heading--2{font-size:28px}
.pm-mock .generic-heading--3{font-size:22px}
.pm-mock .generic-list li{font-size:18px}
.pm-mock .generic-faq-q{font-size:22px}
.pm-mock .generic-faq-a{font-size:18px}
.pm-mock .works-track__item{font-size:16px}
.pm-mock .works-stage__title h2{font-size:28px}
.pm-mock .works-card__brand{font-size:16px}
.pm-mock .works-card__brand-svc{font-size:16px}
.pm-mock .works-card__tag{font-size:14px}
.pm-mock .works-card__title{font-size:22px}
.pm-mock .works-card__client{font-size:16px}
.pm-mock .works-card__ccorp-row{font-size:16px}
.pm-mock .works-card__more{font-size:16px}
.pm-mock .works-empty h3{font-size:22px}
.pm-mock .works-empty p{font-size:18px}
.pm-mock .works-cta__box h2{font-size:28px}
.pm-mock .works-cta__box p{font-size:16px}
.pm-mock .works-single-meta__list dt{font-size:18px}
.pm-mock .works-single-meta__list dd{font-size:18px}
.pm-mock .works-single-body__wrap{font-size:18px}
.pm-mock .works-single-body__wrap h2{font-size:28px}
.pm-mock .works-card__result-label{font-size:14px}
.pm-mock .works-card__result-text{font-size:16px}
.pm-mock .co-clients{font-size:16px}
.pm-mock .co-metric__label{font-size:14px}
.pm-mock .co-vm-tag{font-size:14px}
.pm-mock .co-vm-card h3{font-size:22px}
.pm-mock .co-value__en{font-size:14px}
.pm-mock .co-value p{font-size:18px}
.pm-mock .co-fig-cap{font-size:14px}
.pm-mock .co-str7-en{font-size:14px}
.pm-mock .co-str7-card h4{font-size:18px}
.pm-mock .co-str7-card p{font-size:16px}
.pm-mock .co-str7-card--wide h4{font-size:22px}
.pm-mock .co-tl-body h4{font-size:18px}
.pm-mock .co-tl-body p{font-size:18px}
.pm-mock .co-tl-note{font-size:14px}
.pm-mock .co-tl-now-body p{font-size:18px}
.pm-mock .co-media-src{font-size:14px}
.pm-mock .co-media-ttl{font-size:18px}
.pm-mock .co-media-desc{font-size:18px}
.pm-mock .svc-linkcard .lc-sub{font-size:16px}
.pm-mock .svc-linkcard .lc-main{font-size:18px}
.pm-mock .cta .cta-tel{font-size:16px}
body:is(.is-page-company,.is-page-contact,.is-page-privacy,.is-page-works,.is-single-case) .pm-mock .section-title{font-size:28px}
body:is(.is-page-company,.is-page-contact,.is-page-privacy,.is-page-works,.is-single-case) .pm-mock .section-lead{font-size:21px}
body.is-page-contact .pm-mock .contact-form .req{font-size:14px}
body.is-page-contact .pm-mock .contact-form .form-consent{font-size:18px}
body.is-page-contact .pm-mock .contact-form .form-note{font-size:14px}
body.is-page-contact .pm-mock .info-card h3{font-size:22px}
body.is-page-contact .pm-mock .info-card p{font-size:16px}
body.is-page-contact .pm-mock .info-card .hours{font-size:16px}
body.is-page-contact .pm-mock .info-card .info-link{font-size:18px}
body.is-page-privacy .pm-mock .legal-content h2{font-size:28px}
body.is-page-privacy .pm-mock .legal-content ul li{font-size:18px}
body.is-page-privacy .pm-mock .legal-contact-box p{font-size:16px}
body.is-page-privacy .pm-mock .legal-date{font-size:14px}
body.is-page-company .pm-mock .company-table td{font-size:16px}
body.is-page-company .pm-mock .company-table td .muted{font-size:16px}
body.is-page-company .pm-mock .mission-body{font-size:18px}
body.is-page-company .pm-mock .cta-box h2{font-size:28px}
body.is-page-company .pm-mock .cta-box p{font-size:16px}
body.is-page-company .pm-mock .co-h3{font-size:28px}
body.is-page-company .pm-mock .co-vm-card h3{font-size:22px}
body.is-page-company .pm-mock .co-value h4{font-size:22px}
body.is-page-company .pm-mock .co-value p{font-size:18px}
body.is-page-company .pm-mock .co-fig-title{font-size:22px}
body.is-page-company .pm-mock .co-fig-cap{font-size:14px}
body.is-page-company .pm-mock .co-str7-card h4{font-size:22px}
body.is-page-company .pm-mock .co-str7-card p{font-size:16px}
body.is-page-company .pm-mock .co-str7-card--wide h4{font-size:22px}
body.is-page-company .pm-mock .co-tl-body h4{font-size:22px}
body.is-page-company .pm-mock .co-tl-body p{font-size:18px}
body.is-page-company .pm-mock .co-tl-note{font-size:14px}
body.is-page-company .pm-mock .co-tl-now-body h4{font-size:22px}
body.is-page-company .pm-mock .co-tl-now-body p{font-size:18px}
body.is-page-company .pm-mock .co-media-src{font-size:14px}
body.is-page-company .pm-mock .co-media-desc{font-size:18px}
body:is(.is-page-company,.is-page-contact,.is-page-privacy,.is-page-works,.is-single-case) .pm-mock .faq-q{font-size:22px}
body:is(.is-page-company,.is-page-contact,.is-page-privacy,.is-page-works,.is-single-case) .pm-mock .faq-a{font-size:18px}
body:is(.is-page-company,.is-page-contact,.is-page-privacy,.is-page-works,.is-single-case) .pm-mock .cta p{font-size:18px}
body:is(.is-page-company,.is-page-contact,.is-page-privacy,.is-page-works,.is-single-case) .pm-mock .str6-card p{font-size:16px}
body:is(.is-page-company,.is-page-contact,.is-page-privacy,.is-page-works,.is-single-case) .pm-mock .str-all a{font-size:18px}
.pm-mock .contact-form .opt{font-size:14px}
body.is-page-contact .pm-mock .contact-form .opt{font-size:14px}
.pm-mock .co-credo__label{font-size:14px}
.pm-mock .co-credo__desc{font-size:18px}
.pm-mock .co-credo__more{font-size:16px}
.pm-mock .co-str-tag b{font-size:14px}
.pm-mock .thanks-note p{font-size:18px}

@media (max-width:900px){
  .pm-mock .section-title{font-size:22px}
  .pm-mock .section-lead{font-size:17px}
  .pm-mock .contact-form .req{font-size:13px}
  .pm-mock .contact-form .form-note{font-size:13px}
  .pm-mock .info-card h3{font-size:16px}
  .pm-mock .info-card p{font-size:14.5px}
  .pm-mock .info-card .hours{font-size:13px}
  .pm-mock .dl-card__label{font-size:13px}
  .pm-mock .dl-card h3{font-size:19px}
  .pm-mock .dl-card p{font-size:14.5px}
  .pm-mock .dl-card__points li{font-size:14.5px}
  .pm-mock .dl-card__points li::before{font-size:13px}
  .pm-mock .dl-note{font-size:13px}
  .pm-mock .legal-content h2{font-size:19px}
  .pm-mock .legal-content p{font-size:16px}
  .pm-mock .legal-content ul li{font-size:16px}
  .pm-mock .legal-contact-box p{font-size:14.5px}
  .pm-mock .legal-date{font-size:13px}
  .pm-mock .company-table th{font-size:14.5px}
  .pm-mock .company-table td{font-size:14.5px}
  .pm-mock .company-table td .muted{font-size:13px}
  .pm-mock .mission-label{font-size:13px}
  .pm-mock .mission-title{font-size:22px}
  .pm-mock .mission-body{font-size:16px}
  .pm-mock .cta-box h2{font-size:22px}
  .pm-mock .cta-box p{font-size:14.5px}
  .pm-mock .case-card__title{font-size:19px}
  .pm-mock .case-card__desc{font-size:14.5px}
  .pm-mock .case-cta p{font-size:16px}
  .pm-mock .knowledge-cat h3{font-size:19px}
  .pm-mock .knowledge-cat p{font-size:16px}
  .pm-mock .recruit-card h3{font-size:19px}
  .pm-mock .recruit-card p{font-size:14.5px}
  .pm-mock .recruit-card__req li{font-size:14.5px}
  .pm-mock .news-item__title{font-size:19px}
  .pm-mock .news-note{font-size:13px}
  .pm-mock .generic-heading--2{font-size:22px}
  .pm-mock .generic-heading--3{font-size:19px}
  .pm-mock .generic-list li{font-size:16px}
  .pm-mock .generic-faq-q{font-size:19px}
  .pm-mock .generic-faq-a{font-size:16px}
  .pm-mock .works-track__item{font-size:14.5px}
  .pm-mock .works-card__brand{font-size:14.5px}
  .pm-mock .works-card__brand-svc{font-size:14.5px}
  .pm-mock .works-card__tag{font-size:13px}
  .pm-mock .works-card__title{font-size:19px}
  .pm-mock .works-card__client{font-size:14.5px}
  .pm-mock .works-card__ccorp-row{font-size:14.5px}
  .pm-mock .works-card__more{font-size:14.5px}
  .pm-mock .works-empty h3{font-size:19px}
  .pm-mock .works-empty p{font-size:16px}
  .pm-mock .works-cta__box p{font-size:14.5px}
  .pm-mock .works-single-meta__list dt{font-size:16px}
  .pm-mock .works-single-meta__list dd{font-size:16px}
  .pm-mock .works-single-body__wrap{font-size:16px}
  .pm-mock .works-single-body__wrap h2{font-size:22px}
  .pm-mock .works-card__result-label{font-size:13px}
  .pm-mock .works-card__result-text{font-size:14.5px}
  .pm-mock .co-clients{font-size:14.5px}
  .pm-mock .co-metric__label{font-size:13px}
  .pm-mock .co-vm-tag{font-size:13px}
  .pm-mock .co-vm-card h3{font-size:19px}
  .pm-mock .co-value__en{font-size:13px}
  .pm-mock .co-value p{font-size:16px}
  .pm-mock .co-fig-cap{font-size:13px}
  .pm-mock .co-str7-en{font-size:13px}
  .pm-mock .co-str7-card h4{font-size:16px}
  .pm-mock .co-str7-card p{font-size:14.5px}
  .pm-mock .co-str7-card--wide h4{font-size:19px}
  .pm-mock .co-tl-body h4{font-size:16px}
  .pm-mock .co-tl-body p{font-size:16px}
  .pm-mock .co-tl-note{font-size:13px}
  .pm-mock .co-tl-now-body p{font-size:16px}
  .pm-mock .co-media-src{font-size:13px}
  .pm-mock .co-media-ttl{font-size:16px}
  .pm-mock .co-media-desc{font-size:16px}
  .pm-mock .svc-linkcard .lc-sub{font-size:14.5px}
  .pm-mock .svc-linkcard .lc-main{font-size:16px}
  .pm-mock .cta .cta-tel{font-size:14.5px}
  body:is(.is-page-company,.is-page-contact,.is-page-privacy,.is-page-works,.is-single-case) .pm-mock .section-title{font-size:22px}
  body:is(.is-page-company,.is-page-contact,.is-page-privacy,.is-page-works,.is-single-case) .pm-mock .section-lead{font-size:17px}
  body.is-page-contact .pm-mock .contact-form .req{font-size:13px}
  body.is-page-contact .pm-mock .contact-form .form-consent{font-size:16px}
  body.is-page-contact .pm-mock .contact-form .form-note{font-size:13px}
  body.is-page-contact .pm-mock .info-card h3{font-size:19px}
  body.is-page-contact .pm-mock .info-card p{font-size:14.5px}
  body.is-page-contact .pm-mock .info-card .hours{font-size:14.5px}
  body.is-page-contact .pm-mock .info-card .info-link{font-size:16px}
  body.is-page-privacy .pm-mock .legal-content h2{font-size:22px}
  body.is-page-privacy .pm-mock .legal-content ul li{font-size:16px}
  body.is-page-privacy .pm-mock .legal-contact-box p{font-size:14.5px}
  body.is-page-privacy .pm-mock .legal-date{font-size:13px}
  body.is-page-company .pm-mock .company-table td{font-size:14.5px}
  body.is-page-company .pm-mock .company-table td .muted{font-size:14.5px}
  body.is-page-company .pm-mock .mission-body{font-size:16px}
  body.is-page-company .pm-mock .cta-box h2{font-size:22px}
  body.is-page-company .pm-mock .cta-box p{font-size:14.5px}
  body.is-page-company .pm-mock .co-h3{font-size:22px}
  body.is-page-company .pm-mock .co-vm-card h3{font-size:19px}
  body.is-page-company .pm-mock .co-value h4{font-size:19px}
  body.is-page-company .pm-mock .co-value p{font-size:16px}
  body.is-page-company .pm-mock .co-fig-title{font-size:19px}
  body.is-page-company .pm-mock .co-fig-cap{font-size:13px}
  body.is-page-company .pm-mock .co-str7-card h4{font-size:19px}
  body.is-page-company .pm-mock .co-str7-card p{font-size:14.5px}
  body.is-page-company .pm-mock .co-str7-card--wide h4{font-size:19px}
  body.is-page-company .pm-mock .co-tl-body h4{font-size:19px}
  body.is-page-company .pm-mock .co-tl-body p{font-size:16px}
  body.is-page-company .pm-mock .co-tl-note{font-size:13px}
  body.is-page-company .pm-mock .co-tl-now-body h4{font-size:19px}
  body.is-page-company .pm-mock .co-tl-now-body p{font-size:16px}
  body.is-page-company .pm-mock .co-media-src{font-size:13px}
  body.is-page-company .pm-mock .co-media-desc{font-size:16px}
  body:is(.is-page-company,.is-page-contact,.is-page-privacy,.is-page-works,.is-single-case) .pm-mock .faq-q{font-size:19px}
  body:is(.is-page-company,.is-page-contact,.is-page-privacy,.is-page-works,.is-single-case) .pm-mock .str6-card p{font-size:14.5px}
  body:is(.is-page-company,.is-page-contact,.is-page-privacy,.is-page-works,.is-single-case) .pm-mock .str-all a{font-size:16px}
  .pm-mock .contact-form .opt{font-size:13px}
  body.is-page-contact .pm-mock .contact-form .opt{font-size:13px}
  .pm-mock .co-credo__label{font-size:13px}
  .pm-mock .thanks-note p{font-size:16px}
  body:is(.is-page-company,.is-page-contact,.is-page-privacy,.is-page-works,.is-single-case) .pm-mock .faq-a{font-size:16px}
  body:is(.is-page-company,.is-page-contact,.is-page-privacy,.is-page-works,.is-single-case) .pm-mock .cta h2{font-size:22px}
  body:is(.is-page-company,.is-page-contact,.is-page-privacy,.is-page-works,.is-single-case) .pm-mock .cta p{font-size:16px}
  .pm-mock .co-credo__ttl{font-size:16px}
  .pm-mock .co-credo__desc{font-size:16px}
  .pm-mock .co-credo__more{font-size:14.5px}
  .pm-mock .co-str-tag{font-size:13px}
  .pm-mock .co-str-tag b{font-size:13px}
  .pm-mock .works-stage__title h2{font-size:19px}
  .pm-mock .works-cta__box h2{font-size:22px}
}

@media (max-width: 767px){
  .pm-mock .legal-content h2{font-size:16px}
  .pm-mock .legal-content p{font-size:16px}
  .pm-mock .legal-content ul li{font-size:16px}
  .pm-mock .company-table td{font-size:14.5px}
  .pm-mock .mission-title{font-size:19px}
  .pm-mock .mission-body{font-size:16px}
  .pm-mock .cta-box h2{font-size:16px}
  .pm-mock .generic-heading--2{font-size:19px}
  .pm-mock .generic-list li{font-size:16px}
  .pm-mock .generic-faq-q{font-size:16px}
  body.is-page-privacy .pm-mock .legal-content h2{font-size:19px}
  body.is-page-privacy .pm-mock .legal-content p{font-size:16px}
  body.is-page-privacy .pm-mock .legal-content ul li{font-size:16px}
  body.is-page-company .pm-mock .company-table td{font-size:14.5px}
  body.is-page-company .pm-mock .mission-title{font-size:22px}
  body.is-page-company .pm-mock .mission-body{font-size:16px}
  body.is-page-company .pm-mock .cta-box h2{font-size:22px}
}

@media (max-width:760px){
  .pm-mock .co-p{font-size:16px}
  body.is-page-company .pm-mock .co-h3{font-size:22px}
  .pm-mock .thanks-note p{font-size:16px}
}

@media (max-width: 700px){
  .pm-mock .news-item__title{font-size:16px}
}

@media (max-width:560px){
  body:is(.is-page-company,.is-page-contact,.is-page-privacy,.is-page-works,.is-single-case) .pm-mock .faq-q{font-size:16px}
}
