
/* philosophy */
.phil p{color:var(--muted);font-weight:400;font-size:15px;margin-bottom:24px;max-width:820px}
.phil .hl{font-size:clamp(20px,2.4vw,30px);font-weight:400;line-height:2;color:var(--ink);letter-spacing:.08em;margin-bottom:36px;font-family:'Zen Kaku Gothic New',sans-serif}
.phil .hl em{font-style:normal;color:var(--gold-soft)}
/* representative */
.rep{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}
.rep .ph{aspect-ratio:3/4;background:linear-gradient(135deg,#161619,#0c0c0e);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;position:relative;overflow:hidden}
.rep .ph svg{width:64px;height:64px;stroke:var(--faint);fill:none;stroke-width:1}
.rep .ph .cs{font-family:'Cormorant Garamond','Zen Kaku Gothic New',sans-serif;font-size:18px;color:var(--faint);letter-spacing:.14em}
.rep .bd h3{font-size:clamp(22px,2.6vw,32px);font-weight:400;line-height:1.8;letter-spacing:.08em;color:var(--ink);margin:24px 0 28px;font-family:'Zen Kaku Gothic New',sans-serif}
.rep .bd h3 em{font-style:normal;color:var(--gold-soft)}
.rep .bd p{color:var(--muted);font-weight:400;font-size:14.5px;margin-bottom:20px}
.rep .nm{margin-top:26px}
.rep .nm .ttl{font-family:'Jost',sans-serif;font-size:11px;letter-spacing:.24em;color:var(--gold);text-transform:uppercase}
.rep .nm .name{font-size:21px;letter-spacing:.2em;color:var(--ink);margin-top:6px}
/* strength */
.str-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}
.str{background:var(--panel);border:1px solid var(--line);padding:40px 34px;transition:.4s}
.str:hover{border-color:var(--line-gold)}
.str .no{font-family:'Cormorant Garamond','Zen Kaku Gothic New',sans-serif;font-size:20px;color:var(--gold);margin-bottom:18px}
.str h4{font-size:17px;color:var(--ink);font-weight:400;letter-spacing:.06em;margin-bottom:14px;font-family:'Zen Kaku Gothic New',sans-serif}
.str p{color:var(--muted);font-size:13.5px;font-weight:400}
/* overview table */
.ov{border-top:1px solid var(--line)}
.ov .row{display:grid;grid-template-columns:220px 1fr;border-bottom:1px solid var(--line)}
.ov .row .k{font-family:'Jost',sans-serif;font-size:12px;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;padding:26px 10px;background:var(--bg2)}
.ov .row .v{padding:26px 30px;color:var(--ink);font-weight:400;font-size:15px}
.ov .row .v small{color:var(--muted)}
/* map */
.cmap{margin-top:0;border:1px solid var(--line);overflow:hidden;height:420px;position:relative}
.cmap iframe{width:100%;height:100%;border:0;position:relative;z-index:2;display:block;opacity:0;transition:opacity .6s ease}
/* 地図が読み込めない環境（プレビュー等）でも情報が伝わるフォールバック */
.map-fb{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:30px 24px;
  background-image:radial-gradient(circle at 50% 40%,#17171b,#0d0d10),repeating-linear-gradient(0deg,transparent 0 38px,rgba(255,255,255,.045) 38px 39px),repeating-linear-gradient(90deg,transparent 0 38px,rgba(255,255,255,.045) 38px 39px)}
.map-fb .pin{width:34px;height:34px;stroke:var(--gold);fill:none;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;margin-bottom:4px}
.map-fb .nm{font-family:'Jost',sans-serif;font-size:11px;letter-spacing:.3em;color:var(--gold);text-transform:uppercase}
.map-fb .ad{font-size:14.5px;color:var(--ink);font-weight:400;line-height:1.9}
.map-fb .hr{font-size:12.5px;color:var(--faint)}
.map-fb .mb{margin-top:12px;font-family:'Jost',sans-serif;font-size:11.5px;letter-spacing:.2em;color:var(--gold);border:1px solid var(--line-gold);padding:12px 26px;transition:.35s}
.map-fb .mb:hover{background:var(--gold);color:#0a0a0b}
@media(max-width:1024px){
  .rep{grid-template-columns:1fr;gap:44px}
  .rep .ph{max-width:420px}
  .str-grid{grid-template-columns:1fr}
  .ov .row{grid-template-columns:1fr}
  .ov .row .k{padding:14px 10px 4px;background:transparent}
  .ov .row .v{padding:0 10px 18px}
}
