/* =========================================================
   use_cases.css — 顧客活用イメージページ固有スタイル
   （common.css に続けて読み込む）
   ========================================================= */

/* ===== Page hero ===== */
.uc-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);}
.uc-hero-grid{
  display:grid;grid-template-columns:1.32fr .68fr;align-items:center;
  min-height:340px;padding:76px 0 78px;
}
.uc-hero-copy{max-width:820px;position:relative;z-index:2;}
.uc-hero h1{font-size:46px;font-weight:700;line-height:1.3;color:var(--ink);letter-spacing:.01em;}
.uc-hero .lead{margin-top:24px;font-size:15.5px;line-height:1.95;color:var(--body);max-width:790px;}

/* hero image */
.uc-visual{position:relative;z-index:1;height:300px;display:flex;align-items:center;justify-content:center;}
.uc-visual .hero-img{width:250%;height:auto;max-width:none;object-fit:contain;transform:translate(-2%,-16%) rotate(-15deg);opacity:.6;}

/* ===== Use-case list ===== */
.uc-list{padding:40px 0 96px;}
.uc-row{
  display:grid;grid-template-columns:430px 1fr;gap:56px;align-items:start;
  padding:56px 0;border-top:1px solid var(--line);
}
.uc-row:first-child{border-top:none;}
.uc-media{position:relative;overflow:hidden;border-radius:6px;background:var(--gray);align-self:stretch;}
.uc-media img{width:100%;height:100%;min-height:320px;object-fit:cover;transition:transform .7s var(--ease);}
.uc-row:hover .uc-media img{transform:scale(1.035);}

.uc-content{position:relative;padding-top:6px;}
.uc-num{
  position:absolute;top:-26px;right:-6px;z-index:0;pointer-events:none;
  font-size:118px;font-weight:700;line-height:1;color:#F1F1F1;letter-spacing:.02em;
}
.uc-label{position:relative;z-index:1;font-size:13px;font-weight:700;color:var(--sub);letter-spacing:.06em;}
.uc-title{position:relative;z-index:1;margin-top:8px;font-size:27px;font-weight:700;line-height:1.45;color:var(--ink);letter-spacing:.01em;}
.uc-blocks{position:relative;z-index:1;margin-top:26px;display:flex;flex-direction:column;gap:22px;}
.uc-block{}
.uc-bhead{display:flex;align-items:center;gap:9px;}
.uc-bhead svg{width:19px;height:19px;color:var(--ink);flex:none;}
.uc-bhead span{font-size:15px;font-weight:700;color:var(--ink);}
.uc-block p{margin-top:7px;padding-left:28px;font-size:13.5px;line-height:1.9;color:var(--sub);}

/* ===== Bottom CTA ===== */
.uc-cta{position:relative;overflow:hidden;background:var(--gray-soft);border-top:1px solid var(--line);}
.uc-cta .net{position:absolute;top:0;right:0;bottom:0;width:58%;z-index:0;opacity:.8;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 42%);mask-image:linear-gradient(90deg,transparent,#000 42%);}
.uc-cta-inner{position:relative;z-index:1;padding:84px 0 88px;}
.uc-cta h2{font-size:34px;font-weight:700;color:var(--ink);line-height:1.4;letter-spacing:.01em;}
.uc-cta p{margin-top:14px;font-size:16px;color:var(--body);}
.uc-cta .btn{margin-top:34px;}

/* scroll reveal (page-specific offset) */
.uc-row{scroll-margin-top:104px;}

/* responsive */
@media (max-width:1080px){
  .uc-hero h1{font-size:40px;}
  .uc-row{grid-template-columns:360px 1fr;gap:40px;}
}
@media (max-width:860px){
  .uc-hero-grid{grid-template-columns:1fr;min-height:0;padding:56px 0 60px;gap:40px;}
  .uc-visual{height:240px;}
  .uc-row{grid-template-columns:1fr;gap:28px;}
  .uc-media img{min-height:0;aspect-ratio:16/10;}
  .uc-num{font-size:96px;top:-18px;}
}
@media (max-width:560px){
  .uc-hero h1{font-size:32px;}
  .uc-title{font-size:23px;}
  .uc-cta h2{font-size:27px;}
}
