/* ---------- 04 OUR BUSINESS — 2 image cards ---------- */
.bc-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,48px)}
.bc{display:flex;flex-direction:column}
.bc-card{--r:28px;--n:108px;position:relative;display:block;aspect-ratio:4/3;max-height:58vh;border-radius:var(--r);overflow:hidden;isolation:isolate;color:#fff;background:var(--navy)}
.bc-img{position:absolute;inset:0;z-index:-2}
.bc-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 1.6s var(--ease),filter 1.2s var(--ease);filter:saturate(.85)}
.bc-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,22,64,.38) 0%,rgba(10,22,64,0) 30%,rgba(10,22,64,.05) 50%,rgba(10,22,64,.72) 100%);transition:background .8s var(--ease)}
.bc-card:hover .bc-img img{transform:scale(1.08);filter:saturate(1)}

.bc-top{position:absolute;left:36px;right:36px;top:32px;display:flex;justify-content:space-between;align-items:center;font-family:var(--latin);font-size:11px;letter-spacing:.32em}
.bc-no{font-family:var(--serif);font-size:22px;letter-spacing:0;width:46px;height:46px;border:1px solid rgba(255,255,255,.6);border-radius:50%;display:grid;place-items:center;line-height:1}
.bc-cat{color:rgba(255,255,255,.85)}

.bc-ttl{position:absolute;left:40px;bottom:40px;right:calc(var(--n) + 24px)}
.bc-en{font-family:var(--serif);font-size:clamp(44px,5.2vw,84px);line-height:.98;letter-spacing:.005em}
.bc-jp{font-family:var(--sans);font-size:clamp(15px,1.25vw,18px);font-weight:500;letter-spacing:.18em;margin-top:22px;display:flex;align-items:center;gap:14px}
.bc-jp::before{content:"";width:28px;height:1px;background:currentColor;opacity:.7}

/* corner notch with inverted radii (reference pattern) */
.bc-notch{position:absolute;right:0;bottom:0;width:var(--n);height:var(--n);background:var(--bg);border-top-left-radius:var(--r);display:grid;place-items:end;padding:0;z-index:2}
.bc-notch::before,.bc-notch::after{content:"";position:absolute;width:var(--r);height:var(--r);background:radial-gradient(circle at 0 0,transparent calc(var(--r) - .5px),var(--bg) var(--r))}
.bc-notch::before{right:0;top:calc(var(--r) * -1)}
.bc-notch::after{left:calc(var(--r) * -1);bottom:0}
.bc-arrow{position:relative;width:calc(var(--n) - 20px);height:calc(var(--n) - 20px);border-radius:50%;background:var(--navy);color:#fff;overflow:hidden;display:block;transition:background .5s var(--ease),transform .6s var(--ease)}
.bc-arrow i{position:absolute;inset:0;display:grid;place-items:center;font-style:normal;font-size:22px;transition:transform .6s var(--ease)}
.bc-arrow i+i{transform:translateX(-120%)}
.bc-card:hover .bc-arrow i:first-child{transform:translateX(120%)}
.bc-card:hover .bc-arrow i+i{transform:none}
.bc-card:hover .bc-arrow{background:#2B4877}

.bc-body{padding:36px 8px 0}
.bc-body p{font-size:15.5px;line-height:2.05;color:#3B4866;max-width:520px}
.bc-body .kw{margin-top:26px}

.biz .biz-head{grid-template-columns:1.3fr 1fr}
.biz-h2{font-size:clamp(22px,2.2vw,30px);white-space:nowrap;letter-spacing:.06em}

@media (max-width:960px){
  .biz .biz-head{grid-template-columns:1fr}
  .biz-h2{white-space:normal;font-size:clamp(22px,5.6vw,28px)}
  .bc-grid{grid-template-columns:1fr;gap:72px}
  .bc-card{--r:22px;--n:88px;aspect-ratio:4/3.4;max-height:none}
  .bc-top{left:24px;right:24px;top:22px}
  .bc-ttl{left:26px;bottom:28px}
  .bc-en{font-size:clamp(40px,11vw,60px)}
  .bc-body{padding:28px 0 0}
}
