/* 文字量の整理案: 既存CSSの後に読み込む上書き */

/* ヒーロー: 位置づけを読める大きさに */
body.visual-refresh .hero-original>.eyebrow.hero-position{font-size:clamp(15px,1.4vw,18px);line-height:1.6;letter-spacing:.04em}

/* サービスカード: 対象ラベルだけ残す */
.service-card-top span:empty{display:none}

/* 補足文の最小サイズを13pxに揃える */
.engineer-case .case-impact .case-basis,
#partner-work .case-source{font-size:13px}

/* Case effects: reserve the same calculation-note row in both cards. */
.engineer-case .case-impact .case-basis{min-block-size:1.8em}
.engineer-case .case-result .case-approx{font-size:21px;font-weight:700}
@media(max-width:1000px){
  .engineer-case .case-impact .case-basis{min-block-size:3.6em}
  .engineer-case .case-result .case-approx{font-size:18px}
}

/* 開発: 最小構成の条件を折りたたみ */
.minimum-scope .scope-detail{margin-top:10px}
.minimum-scope .scope-detail summary{cursor:pointer;font-size:13px;color:var(--review-muted,var(--muted));text-decoration:underline;text-underline-offset:3px;width:fit-content}
.minimum-scope .scope-detail p{font-size:13px;line-height:1.8;margin-top:8px;color:var(--review-muted,var(--muted))}

/* 担当・支援体制: 写真と名前を置く */
.support-body{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center}
.support-person{display:flex;flex-direction:column;align-items:center;justify-self:start;gap:8px}
.support-avatar{display:block;width:72px;height:72px;flex:none;overflow:hidden;border-radius:50%;border:1px solid var(--line);background:#f3f8f5}
.support-photo{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.65);transform-origin:30% 12%}
.support-name{font-size:16px;margin:0;font-weight:700;white-space:nowrap;text-align:center}
.support-name span{display:block;font-size:12px;font-weight:500;color:var(--muted);text-align:center}
@media (max-width:1000px){.support-body{grid-template-columns:1fr;gap:16px}}
@media (max-width:760px){.support-body{justify-items:start}}

/* 紹介: 1ブロックで軽く */
.referral-note h2{font-size:clamp(20px,2vw,24px)}

/* --- 下層ページ --- */

/* お問い合わせ: 受付の説明を1行の帯に */
.consultation-notice.compact-notice{font-size:14px;line-height:1.8;margin:0 0 24px;padding:12px 16px;background:#f3f8f5;border-left:3px solid #086b6c}

/* プライバシーポリシー: 1行を40字前後に */
.legal-body p{max-width:40em}

/* コーチング: YouTubeの実績を右カラムに数字で（他のタブの画像・動画の位置） */
.school-results .coaching-evidence>.channel-stats{grid-column:2;grid-row:1;align-self:center}
.channel-stats{display:grid;gap:10px;margin:0}
.channel-stats div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:16px 22px;border:1px solid var(--line);border-radius:8px;background:#fff}
.channel-stats dt{font-size:14px;color:var(--muted);margin:0}
.channel-stats dd{margin:0;color:#086b6c;line-height:1.1;white-space:nowrap}
.channel-stats strong{font-family:Arial,"Helvetica Neue",sans-serif;font-size:clamp(28px,3vw,40px);font-weight:700;letter-spacing:0;font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1}
.channel-stats span{font-size:15px;font-weight:700;margin-left:2px}
.stats-proof{margin-left:.5em;white-space:nowrap}
@media (max-width:760px){
  .channel-stats{gap:8px;margin-top:4px}
  .channel-stats div{padding:12px 16px}
}

/* コーチング: 事例タブの枠の高さを、表示中のタブに合わせる（evidence-carousel.mjs と対） */
.evidence-carousel.is-ready .evidence-track{align-items:start;overflow-y:hidden}
.evidence-carousel.is-ready .evidence-panel{align-self:start}

/* コーチング: ショートアニメの動画の横に場面カットを並べる */
.school-results .anime-media{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:8px;align-items:end}
.school-results .anime-media .anime-player{grid-column:1;width:100%;height:auto;margin:0;border-radius:6px;background:#000}
.anime-scenes{display:contents;list-style:none;margin:0;padding:0}
.anime-scenes li{margin:0;aspect-ratio:9/16;overflow:hidden;border-radius:6px;background:#111}
.anime-scenes img{display:block;width:100%;height:100%;object-fit:cover}
.school-results .anime-media .coaching-evidence-note{grid-column:1/-1;text-align:left}
/* スマホは横の余白が出ないので、場面カットを出さず元の動画表示のまま */
@media (max-width:760px){
  .school-results .anime-media{display:block}
  .school-results .anime-media .anime-player{width:auto;height:320px;max-width:100%;margin-inline:auto}
  .school-results .anime-media .coaching-evidence-note{text-align:center}
  .anime-scenes{display:none}
}

/* Small screens: avoid a lone character on the last line without shrinking type. */
@media (max-width:760px){
  #training h2,.school-results .coaching-evidence h3{text-wrap:balance}
  .hero-original .hero-bottom>p{text-wrap:balance}
}
