/* COACH AI 受講生の声 一覧・詳細ページ共通（2026-10-17 coachai-v3）
   Layout values follow progrit.co.jp/interview (structure/CSS values only), recoloured to AITECH orange.
   Card component itself: /coachai/llmo-voice.css (shared with /coachai, do not duplicate here). */
:root{--or:#fb4c0c;--or-d:#e14400;--ink:#242424;--sub:#8a8a8a;--line:#e9e9e9;--bg:#f5f5f5;--tbc:#b42318}
*{box-sizing:border-box}
html,body{margin:0}
body{background:#fff;color:var(--ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.75;letter-spacing:.07em;-webkit-text-size-adjust:100%;overflow-wrap:anywhere}
img{max-width:100%}
a{color:var(--or-d)}
.tbc{display:inline-block;color:var(--tbc);background:#fff1ef;border:1px solid #f4b8b0;border-radius:3px;padding:0 5px;font-size:.85em;font-weight:700;line-height:1.6;letter-spacing:.02em;margin:1px 2px}

/* header / breadcrumb / footer */
.hdr{position:sticky;top:0;z-index:5;background:#fff;box-shadow:0 6px 18px rgba(166,50,7,.12)}
.hdr__in{max-width:1280px;margin:0 auto;height:60px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.hdr__logo{display:block;width:112px;height:44px;background:url("/assets/609c172fa0123e399138.webp") left center/contain no-repeat}
.hdr__cta{display:inline-block;padding:8px 14px;border-radius:999px;background:var(--or);color:#fff;font-size:13px;font-weight:700;letter-spacing:.04em;text-decoration:none;white-space:nowrap}
.crumb{max-width:1280px;margin:0 auto;padding:12px 20px 0}
.crumb ol{display:flex;flex-wrap:wrap;gap:4px 8px;margin:0;padding:0;list-style:none;font-size:12px;line-height:1.6;color:#666}
.crumb li{display:flex;align-items:center;gap:8px}
.crumb li+li:before{content:"›";color:#999}
.ftr{padding:20px 16px;background:#242424;color:#ddd;font-size:12px;text-align:center}
.ftr a{color:#fff}

/* page header block (progrit: 8px left accent / 1px bottom line / 80px 60px 80px 52px) */
.phd-wrap{max-width:1280px;margin:16px auto 0;padding:0 20px}
.phd{border-left:6px solid var(--or);border-bottom:1px solid var(--line);padding:40px 16px}
.phd__en{margin:0;color:var(--or);font-size:16px;font-weight:700;line-height:1.5;letter-spacing:.07em}
.phd h1{margin:6px 0 0;font-size:24px;font-weight:400;line-height:1.5;letter-spacing:.09em}
.phd h1 em{font-style:normal;color:var(--or)}
.phd__lead{margin:20px 0 0;max-width:760px;font-size:15px}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:520px;margin:24px 0 0;padding:0;list-style:none}
.stats li{padding:12px 8px;border-radius:3px;background:linear-gradient(135deg,#ff6a1f,#fb4c0c);color:#fff;text-align:center;line-height:1.2;letter-spacing:.04em}
.stats .k{display:block;font-size:13px;font-weight:700}
.stats b{font-size:34px;font-weight:900}
.stats small{font-size:15px;font-weight:700}
.note{margin:10px 0 0;font-size:12px;color:#666}

/* filter (progrit: 1px accent border / 40px padding / 20px row gap / chips 7px 19px 14px bold) */
html:not(.js) .vfilter{display:none}
.vfilter{max-width:1280px;margin:0 auto;padding:40px 20px}
.vfilter__box{display:flex;flex-direction:column;gap:20px;margin:0;padding:16px;border:1px solid var(--or);border-radius:3px;background:#fff}
.vfilter__ttl{margin:0;font-size:14px;font-weight:700;line-height:1.5}
.vfilter dl{display:flex;align-items:flex-start;gap:8px 16px;margin:0}
.vfilter dt{flex:0 0 3.4em;padding-top:8px;font-size:14px;font-weight:700;line-height:1.5}
.vfilter dd{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.chip{-webkit-appearance:none;appearance:none;margin:0;padding:7px 19px;border:1px solid var(--line);border-radius:3px;background:#fff;color:var(--ink);font:inherit;font-size:14px;font-weight:700;line-height:1.5;letter-spacing:.07em;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}
.chip:hover{border-color:var(--or)}
.chip:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.chip[aria-pressed="true"]{background:var(--or);border-color:var(--or);color:#fff}
.vcount{margin:0;font-size:14px;font-weight:700;line-height:1.5}
.vcount b{color:var(--or);font-size:20px;margin-right:2px}

/* card grid on #f5f5f5 (3 x ~400px cards, 20px gap, 40px vertical padding) */
.vgrid{background:var(--bg)}
.vgrid__in{max-width:1280px;margin:0 auto;padding:40px 20px}
.vgrid__list{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin:0;padding:0;list-style:none}
.vgrid__list>li{min-width:0;width:100%;max-width:480px;justify-self:center}
.vgrid__list>li[hidden]{display:none}
.vgrid .llmo-vcard__catch span{white-space:normal;text-align:center}
.vempty{margin:0;padding:40px 0;text-align:center;color:#666;font-size:14px}
.vcard-num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:linear-gradient(135deg,#ff6a1f,#fb4c0c);color:#fff;text-align:center;line-height:1.2;letter-spacing:.04em}
.vcard-num .k{font-size:15px;font-weight:700}
.vcard-num b{font-size:56px;font-weight:900;line-height:1}
.vcard-num small{font-size:18px;font-weight:700}
.vcard-num .no{position:absolute;top:12px;left:14px;font-size:12px;font-weight:700;letter-spacing:.1em;opacity:.9}

.disclaimer{max-width:1040px;margin:0 auto;padding:24px 20px 0;font-size:12px;color:#666}
.cta{max-width:1040px;margin:0 auto;padding:32px 20px 56px;text-align:center}
.cta a.btn{display:inline-block;padding:14px 28px;border-radius:999px;background:var(--or);color:#fff;font-size:15px;font-weight:700;text-decoration:none;box-shadow:0 4px 0 #ba3a0b}
.cta p{margin:14px 0 0;font-size:13px}

/* detail page */
.sec{padding:64px 0}
.sec--bg{background:var(--bg)}
.sec__in{max-width:1040px;margin:0 auto;padding:0 20px}
.sec__en{margin:0;color:var(--or);font-size:14px;font-weight:700;line-height:1.5;letter-spacing:.07em}
.sec h2{margin:4px 0 32px;font-size:24px;font-weight:500;line-height:1.5;letter-spacing:.09em}
.vd-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;max-width:1040px;margin:0 auto;padding:40px 20px 0}
.vd-fig{margin:0}
.vd-fig img{display:block;width:100%;height:auto;object-fit:cover;border-radius:3px}
.vd-fig figcaption{margin:10px 0 0;font-size:13px;line-height:1.7;color:var(--sub)}
.vd-num{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:400/212;border-radius:3px;background:linear-gradient(135deg,#ff6a1f,#fb4c0c);color:#fff;text-align:center;line-height:1.2;letter-spacing:.04em}
.vd-num .k{font-size:18px;font-weight:700}
.vd-num b{font-size:72px;font-weight:900;line-height:1}
.vd-num small{font-size:22px;font-weight:700}
.vd-catch{margin:0;padding:14px 18px;border:1px solid var(--or);border-radius:3px;color:var(--or);font-size:17px;font-weight:700;line-height:1.6;letter-spacing:.04em}
.vd-meta{margin:16px 0 0;font-size:14px;color:var(--sub)}
.vd-tags{display:flex;flex-wrap:wrap;gap:4px;margin:10px 0 0;padding:0;list-style:none}
.vd-tags li{padding:8px 12px;border:1px solid var(--line);border-radius:14px;font-size:12px;font-weight:700;line-height:1;letter-spacing:.04em;background:#fff}
.vd-after{margin:24px 0 0;padding:18px 20px;border-radius:3px;background:var(--bg)}
.vd-after h2{margin:0 0 8px;font-size:15px;font-weight:700;letter-spacing:.07em}
.vd-after ul,.vd-dl ul{margin:0;padding-left:1.3em}
.vd-after li,.vd-dl li{margin:2px 0;font-size:15px}
.vd-dl{margin:0;padding:8px 24px 24px;border:1px solid var(--line);border-radius:3px;background:#fff}
.vd-dl dt{margin:24px 0 6px;padding-left:12px;border-left:4px solid var(--or);font-size:16px;font-weight:700;line-height:1.5}
.vd-dl dd{margin:0;font-size:15px}
.vd-dl dd p{margin:0}
.vd-dl dd p+p{margin-top:8px}
.vd-dl dd.res{font-weight:700}
.vd-back{margin:32px 0 0;text-align:center;font-size:14px}
.vd-back a{display:inline-block;padding:12px 28px;border:1px solid var(--or);border-radius:3px;background:#fff;color:var(--or);font-weight:700;text-decoration:none}
.vd-back a:hover{background:#fff4ee}
.vd-others{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin:0;padding:0;list-style:none}
.vd-others>li{min-width:0;width:100%;max-width:480px;justify-self:center}
.vd-others .llmo-vcard__catch span{white-space:normal;text-align:center}

@media (min-width:700px){
  .vgrid__list,.vd-others{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vgrid__list>li,.vd-others>li{max-width:none}
}
@media (min-width:768px){
  .phd{border-left-width:8px;padding:64px 40px 64px 36px}
  .phd h1{font-size:30px}
  .vfilter__box{padding:28px}
  .vd-dl{display:grid;grid-template-columns:11em minmax(0,1fr);column-gap:24px;padding:8px 32px 32px}
  .vd-dl dt{margin:24px 0 0}
  .vd-dl dd{margin:24px 0 0;padding-top:1px}
}
@media (min-width:1024px){
  .phd{padding:80px 60px 80px 52px}
  .phd h1{font-size:36px}
  .vfilter__box{padding:40px}
  .vgrid__list,.vd-others{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sec{padding:120px 0}
  .sec h2{font-size:36px;margin-bottom:48px}
  .vd-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:start;padding-top:56px}
  .vd-catch{font-size:18px}
}
.llmo-vcard__info .tbc{font-size:12px}
.phd-wrap--narrow{max-width:1040px}
.vd-dl dt{align-self:start}
/* interview video directly under the photo + summary block (2026-10-17) */
.vd-video{max-width:800px;margin:40px auto 0;padding:0 20px}
@media (min-width:768px){.vd-video{margin-top:56px}}
/* CASE detail pages (provisional, 2026-10-17 coachai-cases) */
.vd-fig__ph{position:relative}
.vd-fig__ph .llmo-vcard__imgnote{font-size:11px;right:8px;top:auto;bottom:8px}
.vgrid .llmo-vnote,.vd-namenote{color:var(--sub)}
.vd-namenote{margin:20px 0 0;font-size:12px;text-align:center}
.vd-tablewrap{margin:12px 0;overflow-x:auto}
.vd-table{width:100%;min-width:0;border-collapse:collapse;font-size:14px;line-height:1.6}
.vd-table caption{text-align:left;font-weight:700;padding-bottom:6px}
.vd-table th,.vd-table td{padding:8px 10px;border:1px solid var(--line);text-align:left;vertical-align:top}
.vd-table thead th{background:#fff4ee;color:var(--or-d);white-space:nowrap}
.vd-table td:last-child{white-space:nowrap;font-weight:700}
.vd-table tr.sum th,.vd-table tr.sum td{background:#fff4ee;font-weight:700}
@media (max-width:560px){
  .vd-table thead{display:none}
  .vd-table,.vd-table caption,.vd-table tbody,.vd-table tr,.vd-table th,.vd-table td{display:block;width:100%}
  .vd-table tr{border:1px solid var(--line);border-radius:3px;margin-bottom:8px}
  .vd-table th,.vd-table td{border:0;padding:4px 10px}
  .vd-table tr>th{padding-top:8px}
  .vd-table td:last-child{padding-bottom:8px;white-space:normal;color:var(--or-d)}
}
/* real-student detail pages share the CASE header: same photo box ratio as the cards (2026-10-17) */
.vd-fig__ph img{aspect-ratio:400/212;object-position:center top}
