.grp-card{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--sp-2xl);align-items:center;padding:var(--sp-xl) 0 var(--sp-2xl);}
.grp-card .ph{aspect-ratio:4/3;}
.grp-en{font-family:var(--serif-en);font-style:italic;font-size:0.9rem;letter-spacing:0.16em;color:var(--gold);}
.grp-name{font-family:var(--serif-jp);font-weight:300;font-size:1.8rem;color:var(--navy);letter-spacing:0.08em;margin:8px 0 var(--sp-md);}
.grp-desc{font-size:0.94rem;color:var(--ink-soft);line-height:2.1;letter-spacing:0.04em;margin-bottom:var(--sp-lg);}
.grp-profile{border-top:1px solid var(--line);}
.grp-row{display:grid;grid-template-columns:120px 1fr;gap:var(--sp-md);padding:12px 4px;border-bottom:1px solid var(--line-soft);}
.grp-row dt{font-family:var(--serif-jp);font-weight:500;font-size:0.82rem;color:var(--navy);letter-spacing:0.05em;}
.grp-row dd{font-size:0.86rem;color:var(--ink);line-height:1.8;}
.struct{display:flex;flex-direction:column;align-items:center;gap:0;padding:var(--sp-lg) 0 var(--sp-2xl);}
.struct .parent{background:var(--navy);color:#F5F0EB;font-family:var(--serif-jp);font-weight:300;font-size:1.05rem;letter-spacing:0.08em;padding:16px 40px;text-align:center;}
.struct .parent small{display:block;font-family:var(--serif-en);font-style:italic;font-size:0.7rem;color:var(--gold-soft);margin-top:4px;}
.struct .connector{width:1px;height:42px;background:var(--gold-soft);}
.struct .child{background:#fff;border:1px solid var(--gold-soft);color:var(--navy);font-family:var(--serif-jp);font-size:0.96rem;letter-spacing:0.06em;padding:14px 34px;text-align:center;}
.struct .child small{display:block;font-family:var(--serif-en);font-style:italic;font-size:0.68rem;color:var(--gold);margin-top:3px;}
@media(max-width:820px){.grp-card{grid-template-columns:1fr;gap:var(--sp-lg);}}