/* who ページだけの見た目。生成元 gen_site_w.py gen_who() */

.hero .big{margin-top:1.1em;font:700 clamp(34px,5vw,74px)/1.35 var(--gt);letter-spacing:.01em}
.hero .ld{margin-top:1.1em;font:600 clamp(19px,2vw,26px)/1.9 var(--mc);letter-spacing:.06em;color:#22303e}
.hero .bd{margin-top:1.4em;max-width:38em;color:#31404f;font-size:clamp(16px,1.5vw,19px);line-height:2.1}
.mis .st{font:600 clamp(26px,3.4vw,46px)/1.8 var(--mc);letter-spacing:.05em}
.mis .en{margin-top:1em;font:500 13.5px/1.6 var(--gt);letter-spacing:.18em;color:var(--ink3)}
.biz{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(20px,3vw,48px)}
.bz{padding:clamp(22px,2.6vw,36px) 0;border-top:2px solid var(--ink)}
.bz.b2{border-top-color:var(--acc)}
.bz h3{font:700 clamp(19px,1.9vw,25px)/1.5 var(--gt);letter-spacing:.02em}
/* 事業の項目＝丸い札でなく「・」でつなぐ文字（さりげなく・本番サイトも文で並べている） */
.bz ul{list-style:none;margin-top:.9em;display:block;font-size:15px;line-height:2.1;letter-spacing:.02em;color:var(--ink2)}
.bz li{display:inline}
.bz li + li::before{content:"・";margin:0 .15em;color:var(--ink3)}
.co{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,80px)}
.co dl{border-top:1px solid var(--line)}
.co .row{display:flex;gap:clamp(18px,3vw,40px);align-items:baseline;padding:clamp(17px,2.1vw,24px) 4px;border-bottom:1px solid var(--line)}
.co dt{flex:0 0 7em;font:600 13.5px/1.9 var(--gt);letter-spacing:.06em;color:#3a3835}
.co dd{font:500 clamp(15.5px,1.4vw,18px)/1.9 var(--gt);letter-spacing:.02em;font-variant-numeric:tabular-nums}
.co dd small{display:block;font-size:13px;color:var(--ink2)}
.loc{display:flex;flex-direction:column;gap:clamp(14px,1.8vw,22px)}
.lc{padding:14px 0 16px;border-top:1px solid var(--line)}
.loc .lc:last-child{border-bottom:1px solid var(--line)}
.lc b{font:700 17px/1.6 var(--gt);letter-spacing:.03em}
.lc p{margin-top:.5em;font-size:14.5px;line-height:1.95;color:var(--ink2)}
.poemcut{position:relative;display:block;overflow:hidden;border-radius:12px;background:#0b0b0d;color:#f4f1ea}
.poemcut img{width:100%;height:clamp(300px,40vw,440px);object-fit:cover;opacity:.8;transition:transform 1.4s var(--e-cubic),opacity 1.4s var(--e-cubic)}
.poemcut:hover img{transform:scale(1.025);opacity:.9}
.poemcut .scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,11,13,.92) 0%,rgba(11,11,13,.72) 34%,rgba(11,11,13,.24) 62%,rgba(11,11,13,.12) 100%)}
.poemcut .tx{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:clamp(16px,2.4vw,26px);padding:0 clamp(20px,4.5vw,58px)}
.poemcut .ln{font:400 clamp(19px,2.3vw,30px)/2.1 var(--mc);letter-spacing:.11em}
.poemcut .rd{display:inline-flex;align-items:center;gap:11px;font:500 14px/1.6 var(--gt);letter-spacing:.1em;color:#cdc8be}
.poemcut .rd i{width:30px;height:1px;background:#bdb8ae;transition:width .5s var(--e-cubic)}
.poemcut:hover .rd i{width:50px}
@media (max-width:820px){
  .biz,.co{grid-template-columns:1fr}
  .poemcut img{height:min(78vw,420px)}
  .poemcut .scrim{background:linear-gradient(180deg,rgba(11,11,13,.42),rgba(11,11,13,.82))}
  .poemcut .ln{font-size:clamp(15px,4.4vw,19px)}
}
