/* v6: 指定の透過PNGを、そのまま光の庭に重ねる。 */
#growth .consultant-portrait{
  position:absolute;display:block;right:9vw;top:auto;bottom:18vh;
  width:clamp(270px,24vw,350px);max-width:none;margin:0;
  background:none;border:0;box-shadow:none;filter:none;
}
#growth .consultant-portrait::before,#growth .portrait-image::before{display:none}
#growth .portrait-image{
  position:relative;width:100%;height:clamp(350px,58vh,550px);min-height:0;
  aspect-ratio:auto;margin:0;overflow:clip;background:none;border:0;box-shadow:none;
  mask-image:linear-gradient(#000 88%,transparent 100%);
  -webkit-mask-image:linear-gradient(#000 88%,transparent 100%);
}
#growth .portrait-image img{
  position:absolute;top:0;left:-45.2381%;right:auto;bottom:auto;
  width:190.4762%;max-width:none;height:auto;object-fit:initial;
  object-position:initial;mix-blend-mode:normal;mask-image:none;
  -webkit-mask-image:none;filter:none;
}
#growth .consultant-portrait figcaption{
  display:block;width:max-content;max-width:100%;margin:0 auto;padding:10px 0 0;
  text-align:center;background:none;border:0;box-shadow:none;
  color:#293c33;text-shadow:0 1px 5px #fff9;
}
#growth .portrait-name{
  display:flex;align-items:baseline;justify-content:center;gap:13px;
  font-size:26px;line-height:1.4;letter-spacing:.07em;font-weight:500;
}
#growth .portrait-name small{display:inline;margin:0;font-size:13px;line-height:1.5;letter-spacing:.035em;white-space:nowrap}
@media(min-width:601px) and (max-width:1000px){
  #growth .consultant-portrait{right:5vw;width:clamp(235px,28vw,280px);bottom:21vh}
  #growth .portrait-image{height:clamp(350px,51vh,490px)}
  #growth .portrait-name{font-size:24px;gap:10px}
  #growth .portrait-name small{font-size:12px}
}
@media(max-width:600px){
  #growth .consultant-portrait{
    position:relative;right:auto;left:auto;top:auto;bottom:auto;
    width:min(66vw,240px);max-width:none;margin:22px auto 25px;
  }
  #growth .portrait-image{width:100%;height:clamp(290px,43vh,360px);min-height:0;aspect-ratio:auto}
  #growth .consultant-portrait figcaption{padding:8px 0 0;margin:0 auto}
  #growth .portrait-name{font-size:25px;gap:11px}
  #growth .portrait-name small{font-size:12px;margin:0}
}
@media(max-height:500px) and (orientation:landscape){
  #growth .consultant-portrait{
    position:absolute;display:block;right:8vw;left:auto;top:16vh;bottom:auto;
    width:190px;margin:0;box-shadow:none;
  }
  #growth .portrait-image{width:155px;height:clamp(140px,49vh,210px);min-height:0;margin:0 auto}
  #growth .consultant-portrait figcaption{display:block;margin:0 auto;padding:5px 0 0;background:none;border:0}
  #growth .portrait-name{font-size:20px;gap:9px}
  #growth .portrait-name small{display:inline;font-size:11px;margin:0}
  #growth .scene-inner{max-height:calc(100dvh - 230px)}
  #growth .light-interaction{left:4vw;right:auto;bottom:20vh}
}
@media(max-width:600px) and (max-height:700px){
  #growth{padding-bottom:130px}
  #growth .consultant-portrait{margin-bottom:12px}
  #growth .portrait-image{width:180px;height:230px;margin:0 auto}
}

/* 文章版も写真をカードにせず、本文のそばに小さく添える。 */
.person{
  display:flex;align-items:flex-end;justify-content:flex-start;gap:28px;
  margin-top:28px;background:none;border:0;box-shadow:none;
}
.person .person-image{
  position:relative;width:220px;height:330px;flex:0 0 220px;overflow:clip;
  mask-image:linear-gradient(#000 88%,transparent);-webkit-mask-image:linear-gradient(#000 88%,transparent);
}
.person .person-image img{position:absolute;left:-45.2381%;top:0;width:190.4762%;max-width:none;height:auto;max-height:none;aspect-ratio:auto;object-fit:initial}
.person figcaption{padding:0 0 20px;background:none;border:0}
.person figcaption p.person-name{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;margin:0;font-size:27px;line-height:1.5}
.person .person-name>span{display:inline;margin:0;font-size:14px;white-space:nowrap}
@media(max-width:640px){
  .person{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:22px}
  .person .person-image{width:210px;height:320px;flex-basis:auto}
  .person figcaption{padding:0}
  .person figcaption p.person-name{font-size:26px;gap:12px}
  .person .person-name>span{font-size:13px}
}
@media print{
  .person{display:flex;flex-direction:row;align-items:center;gap:8mm;background:none}
  .person .person-image{width:35mm;height:52mm;flex:0 0 35mm}
  .person figcaption{padding:0}
  .person figcaption p.person-name{font-size:16pt}
  .person .person-name>span{font-size:10pt}
}
