/* ファーストビュー（身体評価の写真）— 写真は引き伸ばさず、評価場面を中心に切り取って見せる */
.hv{position:relative;overflow:hidden;background:var(--cream);color:var(--ink);}
.hv-inner{max-width:1600px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) min(48vw,720px);min-height:640px;align-items:stretch;}
.hv-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:30px 8px 30px max(40px,calc((100vw - 1240px) / 2 + 40px));}
.hv-kicker{display:flex;align-items:center;gap:10px;font-family:var(--font-round);font-weight:700;font-size:14px;letter-spacing:.06em;color:var(--ink-soft);margin:0 0 12px;}
.hv-kicker::before{content:'';width:28px;height:2px;background:var(--orange);}
.hv h1{font-family:var(--font-serif);font-weight:700;font-size:clamp(38px,4.6vw,66px);line-height:1.3;color:var(--deep);letter-spacing:.01em;margin:0 0 14px;}
.hv-lead{font-family:var(--font-serif);font-size:clamp(18px,1.7vw,22px);line-height:1.6;color:var(--ink);margin:0 0 14px;font-weight:600;}
.hv-program{display:inline-block;align-self:flex-start;font-size:14px;font-weight:700;color:var(--orange-deep);background:var(--cream-2);border-left:3px solid var(--orange);padding:7px 14px;margin:0 0 22px;}
.hv h1 span{display:block;white-space:nowrap;}
.hv h1 .mark{color:var(--orange-deep);}
.hv-sub{font-size:15px;line-height:1.85;color:var(--ink-2);margin:0 0 16px;max-width:30em;}
.hv-sub-sp{display:none;text-wrap:pretty;}
.hv-cta{display:flex;flex-direction:column;align-items:flex-start;gap:10px;}
.hv-cta .btn{font-size:17px;padding:17px 32px;}
.hv-note{font-size:13.5px;line-height:1.7;color:var(--ink-soft);margin:0;max-width:40em;text-wrap:balance;}
.hv-injury{display:inline-flex;align-items:center;min-height:44px;margin-top:6px;font-size:14px;color:var(--ink-soft);text-decoration:underline;text-underline-offset:5px;}
.hv-injury:hover{color:var(--orange-deep);}
/* 写真は枠いっぱいに敷き、上げた腕から手元までを残して下半身を省く */
.hv-photo{position:relative;margin:0;min-height:100%;}
.hv-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;}
/* 背景との境界だけを淡くつなぐ細い帯（人物には掛けない） */
.hv-photo::before{content:'';position:absolute;inset:0 auto 0 0;width:44px;z-index:1;background:linear-gradient(90deg,var(--cream),rgba(251,247,242,0));pointer-events:none;}
@media(max-width:1100px){
  .hv-inner{grid-template-columns:minmax(0,1fr) 46vw;min-height:560px;}
  .hv-copy{padding-left:32px;}
  .hv h1{font-size:clamp(34px,4.6vw,46px);}
}
@media(max-width:900px){
  .hv-inner{display:flex;flex-direction:column;min-height:0;}
  .hv-copy{display:contents;}
  .hv-head{order:1;padding:18px 20px 14px;}
  .hv-photo{order:2;min-height:0;aspect-ratio:4/5;}
  .hv-photo img{object-position:50% 14%;}
  .hv-photo::before{display:none;}
  .hv-body{order:3;padding:16px 20px 28px;}
  .hv-kicker{font-size:12.5px;margin-bottom:10px;}
  .hv-kicker::before{width:20px;}
  .hv h1{font-size:clamp(30px,9.4vw,42px);line-height:1.3;margin:0 0 6px;}
  .hv-lead{font-size:16px;margin:0;}
  .hv-program{font-size:13px;margin:0 0 14px;}
  .hv-sub-pc{display:none;}
  .hv-sub-sp{display:block;font-size:15px;line-height:1.8;margin-bottom:10px;}
  .hv-cta{align-items:stretch;}
  .hv-cta .btn{width:100%;font-size:16px;padding:15px 18px;justify-content:center;}
  .hv-note{font-size:13px;max-width:none;}
  .hv-injury{margin-top:2px;}
}

/* ヒーロー：サブコピーは3行・つなぎの一文は小さく */
.hv-lead span{display:block;}
.hv-lead{font-size:clamp(17px,1.5vw,20px);line-height:1.75;margin:0 0 6px;}
.hv-sub{font-size:15px;line-height:1.8;color:var(--ink-2);margin:0 0 20px;max-width:none;}

/* 取り組みの過程 */
.proc-list{list-style:none;margin:0 auto;padding:0;max-width:960px;}
.proc-step{display:flex;align-items:center;justify-content:space-between;gap:36px;padding:26px 0;border-top:1px solid var(--line);}
.proc-step:first-child{border-top:0;padding-top:6px;}
.proc-body{flex:1;min-width:0;max-width:34em;}
.proc-num{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--orange);color:#fff;font-weight:700;font-size:15px;margin-bottom:8px;}
.proc-body h3{font-family:var(--font-serif);font-size:clamp(19px,1.8vw,23px);line-height:1.55;color:var(--deep);margin:0 0 8px;}
.proc-body p{font-size:15px;line-height:1.9;color:var(--ink-2);margin:0;}
.proc-body .proc-cap{font-size:12.5px;line-height:1.7;color:var(--ink-soft);margin-top:8px;}
.proc-photo{flex:0 0 min(300px,32%);margin:0;aspect-ratio:4/5;border-radius:8px;overflow:hidden;}
.proc-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.proc-step:nth-child(even) .proc-photo{order:-1;}
.prog-text{max-width:42em;margin:0 auto 18px;}
.prog-text p{font-size:15.5px;line-height:1.95;color:var(--ink-2);margin:0 0 10px;}
.prog-text b{color:var(--orange-deep);}
@media(max-width:900px){
  .hv-lead{font-size:15.5px;line-height:1.7;}
  .hv-sub{font-size:14.5px;margin-bottom:14px;}
  .proc-step,.proc-step:nth-child(even){flex-direction:column;align-items:stretch;gap:14px;padding:22px 0;}
  .proc-step .proc-photo,.proc-step:nth-child(even) .proc-photo{order:2;flex:none;width:100%;max-width:420px;margin:0 auto;aspect-ratio:4/4.2;}
  .proc-body{max-width:none;}
}
.proc-body h3,.sec-title{text-wrap:balance;}
.proc-body p,.prog-text p{text-wrap:pretty;}
@media(max-width:900px){.proc-body h3{font-size:18px;}}
.proc-body h3,.proc-body p,.prog-text p,.sec-title{word-break:auto-phrase;line-break:strict;}
.proc-link{font-size:13.5px!important;margin-top:8px!important;}
.proc-link a{color:var(--orange-deep);text-decoration:underline;text-underline-offset:3px;}
@media(max-width:900px){
  .proc-step .proc-photo,.proc-step:nth-child(even) .proc-photo{aspect-ratio:4/3;max-width:none;}
  .proc-step,.proc-step:nth-child(even){padding:18px 0;gap:12px;}
}
.nw{display:inline-block;}@media(max-width:900px){.proc-body h3{font-size:17px;}}
/* 写真ごとの切り取り */
.proc-photo.land{aspect-ratio:1/1;}
.proc-photo.land img{object-position:50% 40%;}
.proc-photo.port{aspect-ratio:4/5;}
.proc-photo.port img{object-position:50% 20%;}
.proc-photo.tall{aspect-ratio:4/5;}
.proc-photo.tall img{object-position:50% 30%;}
@media(max-width:900px){
  .proc-step .proc-photo.land,.proc-step .proc-photo.port{aspect-ratio:4/3;}
  .proc-step .proc-photo.tall{aspect-ratio:1/1;}
  .proc-photo.port img{object-position:50% 22%;}
  .proc-photo.tall img{object-position:50% 28%;}
}
.proc-photo.land img[src*="consult"]{object-position:72% 35%;}
