/* Voices v1 — LDM EXECUTIVE CODE 経営者の声（/cases/ 本体、トップの導線、/contact/ の抜粋） */

/* ---- /cases/ 本体 ---- */
.cp-voices{padding:60px 0 28px;border-top:1px solid #e2eaf0;scroll-margin-top:96px;background:linear-gradient(180deg,#fff 0%,#f8fafb 100%)}
.cp-voices .cp-section-intro{max-width:900px;margin-bottom:12px}
.cp-voice{padding:44px 0 40px;border-top:1px solid #ccdce6;scroll-margin-top:96px}
.cp-voice:first-of-type{border-top:0;padding-top:24px}
.cp-voice-head{display:grid;grid-template-columns:220px minmax(0,1fr);gap:44px;align-items:start}
.cp-voice-portrait{margin:0}
.cp-voice-portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:3px}
.cp-voice-head .cp-feature-meta{margin-top:6px}
.cp-voice-quote{font:400 clamp(24px,2.6vw,34px)/1.7 var(--serif);letter-spacing:.02em;color:var(--ink);margin:0 0 16px;text-wrap:pretty}
.cp-voice-sub{font:15px/2 var(--sans);color:#536d7e;max-width:640px;margin:0 0 22px}
.cp-voice-name{font:400 20px/1.6 var(--serif);margin:0}
.cp-voice-name span{display:block;font:13px/1.9 var(--sans);color:#617785;margin-top:6px}
.cp-voice-profile{font:13px/1.95 var(--sans);color:#617785;max-width:640px;margin:20px 0 0;padding-top:16px;border-top:1px solid #dde6ec}
.cp-voice-qa{margin:36px 0 0 264px;max-width:760px}
.cp-voice-qa>div{border-top:1px solid #dde6ec;padding:22px 0}
.cp-voice-qa dt{font:500 13px/1.9 var(--sans);color:#5e8098;margin-bottom:10px}
.cp-voice-qa dd{margin:0;font:15px/2.05 var(--sans);color:#3b576b}
.cp-voice-qa dd p{margin:0 0 14px}
.cp-voice-qa dd p:last-child{margin-bottom:0}
.cp-voice .cp-source-detail{margin-left:264px}
.cp-voice-note{font:12px/1.9 var(--sans);color:#6f8290;margin:0 0 0 264px;padding-top:12px}
.cp-voice-action{margin:28px 0 20px 264px;border:1px solid #cbdce8;min-width:min(440px,100%)}
.cp-hero-intro .cp-hero-voices-link{display:block;font:13px/1.8 var(--sans);text-underline-offset:6px;padding:6px 0;margin-bottom:6px;color:#2f4e64}
@media(max-width:760px){
  .cp-voices{padding:40px 0 8px}
  .cp-voice{padding:32px 0 28px}
  .cp-voice-head{grid-template-columns:1fr;gap:20px}
  .cp-voice-portrait{max-width:200px}
  .cp-voice-quote{font-size:24px}
  .cp-voice-qa,.cp-voice .cp-source-detail,.cp-voice-note,.cp-voice-action{margin-left:0}
  .cp-voice-qa{margin-top:26px}
}

/* ---- トップ #code 内の導線（B案：全幅1列×3段） ---- */
.code-voices{margin:56px 0 28px;padding-top:40px;border-top:1px solid #d7e1e970}
.company .code-voices>.eyebrow{font-size:11px;letter-spacing:.12em;margin-bottom:16px}
.company .code-voices h3{font:400 clamp(22px,2.1vw,30px)/1.8 var(--serif);color:#173b57;margin:0 0 10px}
.code-voices-lead{font:400 14px/1.95 var(--sans);color:#52677c;margin:0 0 28px;max-width:760px}
.code-voices-grid{display:flex;flex-direction:column;gap:20px}
.code-voice{display:grid;grid-template-columns:150px minmax(0,1fr) auto;column-gap:32px;row-gap:14px;align-items:start;border:1px solid #cbdce8;border-radius:3px;background:linear-gradient(155deg,#f4f8fb 0%,#fbfcfd 75%);padding:28px 32px;grid-template-areas:"photo label label" "photo result result" "photo quote quote" "photo name link"}
.code-voice:hover{background:#edf3f8}
.code-voice-photo{grid-area:photo;display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:3px}
.code-voice-label{grid-area:label;margin:0;font:11px/1.6 var(--sans);letter-spacing:.16em;color:#4f6b80}
.code-voice-result{grid-area:result;margin:0;font:300 13px/1.85 var(--sans);color:#4f6b80}
.code-voice-quote{grid-area:quote;margin:0;font:400 clamp(19px,1.5vw,23px)/1.75 var(--serif);letter-spacing:.01em;color:#173b57;text-wrap:pretty}
.code-voice-name{grid-area:name;align-self:end;font:400 15px/1.7 var(--sans);color:#061d43;font-weight:500;margin:0}
.code-voice-name span{display:block;font:13px/1.7 var(--sans);font-weight:400;color:#4f6b80;margin-top:2px}
.code-voice-link{grid-area:link;align-self:end;justify-self:end;flex-shrink:0;font:13px/1.7 var(--sans);text-decoration:none;white-space:nowrap}
.code-voices-link{display:inline-block;margin-top:22px;font:14px/1.7 var(--sans);text-underline-offset:6px;padding:6px 0}
@media(max-width:1100px){.code-voice blockquote br,.programme-voice blockquote br{display:none}}
@media(max-width:760px){
  .code-voices{margin-top:36px;padding-top:28px}
  .code-voices-grid{gap:16px}
  .code-voice{grid-template-columns:72px minmax(0,1fr);column-gap:14px;row-gap:10px;padding:16px;grid-template-areas:"photo label" "photo name" "result result" "quote quote" "link link"}
  .code-voice-name{align-self:start;font-size:14px}
  .code-voice-name span{font-size:9px}
  .code-voice-link{justify-self:start;min-height:44px;display:flex;align-items:center;gap:.3em}
  .code-voice-quote{font-size:19px}
  }

/* ---- /contact/ の抜粋（B案：全幅1列×3段） ---- */
.programme-voices{margin:36px 0 8px}
.programme-voices-grid{display:flex;flex-direction:column;gap:20px;margin:16px 0 18px}
.programme-voice{display:grid;grid-template-columns:96px minmax(0,1fr) auto;column-gap:20px;row-gap:12px;align-items:start;border:1px solid #cbdce8;border-radius:3px;background:#fff;padding:18px 20px;grid-template-areas:"photo label label" "photo result result" "photo quote quote" "photo name link"}
.programme-voice:hover{background:#edf3f8}
.programme-voice-photo{grid-area:photo;display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:3px}
.programme-voice-label{grid-area:label;margin:0;font:11px/1.6 var(--sans);letter-spacing:.16em;color:#4f6b80}
.programme-voice-result{grid-area:result;margin:0;font:300 13px/1.85 var(--sans);color:#4f6b80}
.programme-voice-quote{grid-area:quote;margin:0;font:400 clamp(17px,1.25vw,19px)/1.8 var(--serif);letter-spacing:.01em;color:#173b57;text-wrap:pretty}
.programme-voice-name{grid-area:name;align-self:end;font:400 15px/1.7 var(--sans);color:#061d43;font-weight:500;margin:0}
.programme-voice-name span{display:block;font:13px/1.7 var(--sans);font-weight:400;color:#4f6b80;margin-top:2px}
.programme-voice-link{grid-area:link;align-self:end;justify-self:end;flex-shrink:0;font:13px/1.7 var(--sans);text-decoration:none;white-space:nowrap}
@media(max-width:760px){
  .programme-voice{grid-template-columns:72px minmax(0,1fr);column-gap:14px;row-gap:10px;padding:16px;grid-template-areas:"photo label" "photo name" "result result" "quote quote" "link link"}
  .programme-voice-name{align-self:start;font-size:14px}
  .programme-voice-link{justify-self:start;min-height:44px;display:flex;align-items:center;gap:.3em}
  .programme-voice-quote{font-size:19px}
  }

/* ---- v1.1 refinements（2026-09-11）: 要所の下線マーカー・ブランド罫・引用の間 ---- */
.cp-hl{background:linear-gradient(transparent 58%,rgba(3,163,143,.18) 58%);color:inherit;padding:0 .04em}
.cp-voice-quote::before{content:'';display:block;width:36px;height:2px;background:linear-gradient(90deg,#03a38f,#552983);margin:0 0 20px}
.code-voice blockquote::before,.programme-voice blockquote::before{content:'';display:block;width:28px;height:2px;background:linear-gradient(90deg,#03a38f,#552983);margin:0 0 12px}
.cp-voices .cp-section-intro h2{letter-spacing:.03em}
.cp-voice-qa dd{color:#34506a}
.cp-voice-qa dt{letter-spacing:.06em}
.cp-voice+.cp-voice{margin-top:8px}
@media(max-width:760px){.cp-voice-quote::before{margin-bottom:14px}}

/* ---- その後の追記（数ヶ月後のフォロー取材）。各 .cp-voice の Q&A の後に置く ---- */
.cp-voice-after{margin:26px 0 0 264px;max-width:760px;padding:22px 26px;background:#f1f7f6;border-left:2px solid #03a38f}
.cp-voice-after-label{font:500 12px/1.9 var(--sans);letter-spacing:.08em;color:#2c7a6d;margin:0 0 10px}
.cp-voice-after p+p{font:15px/2.05 var(--sans);color:#34506a;margin:0 0 14px}
.cp-voice-after p:last-child{margin-bottom:0}
@media(max-width:760px){.cp-voice-after{margin-left:0;padding:18px 20px}}
