/* =========================
   Business Page
========================= */
/* ===== PAGE LAYOUT OVERRIDE ===== */
.container { max-width: 1080px; padding: 0 32px; }

/* ===== 1. PAGE HERO ===== */
#biz-hero{ position: relative; min-height: 40vh;
  display: flex; align-items: center;
  background: var(--navy2); overflow: hidden;
}
.biz-hero-bg{ position: absolute; inset: 0; }
.biz-hero-bg img{ width: 100%; height: 100%; object-fit: cover; filter: brightness(.3) saturate(.8); }
.biz-hero-bg-fallback{ width: 100%; height: 100%; background: var(--navy2); }
.biz-hero-overlay{ position: absolute; inset: 0;
  background: linear-gradient(130deg, rgba(15,30,66,.9) 0%, rgba(27,45,94,.7) 60%, rgba(40,176,210,.12) 100%);
}
.biz-hero-glow{ position: absolute; top: -100px; right: -100px; width: 500px; height: 500px; background: radial-gradient(circle, rgba(40,176,210,.2) 0%, transparent 65%); border-radius: 50%; pointer-events: none; overflow: hidden; }
.biz-hero-content{ position: relative; z-index: 2; width: 100%; padding: 120px 0 72px; }
.biz-hero-eyebrow{ display: flex; align-items: center; gap: 10px; margin-bottom: 22px; }
.biz-hero-eyebrow-bar{ width: 40px; height: 2px; background: var(--blue); flex-shrink: 0; }
.biz-hero-eyebrow-text{ font-size: 11px; font-weight: 700; letter-spacing: .22em; color: var(--blue); text-transform: uppercase; font-family: 'Helvetica Neue', Arial, sans-serif; }
.biz-hero-title{ font-size: clamp(42px, 7vw, 96px); font-weight: 900; color: #fff; line-height: 1.05; letter-spacing: -.03em; margin-bottom: 18px; }
.biz-hero-title span{ color: var(--blue); }
.biz-hero-sub{ font-size: 14px; color: rgba(255,255,255,.5); letter-spacing: .08em; text-transform: uppercase; font-family: 'Helvetica Neue', Arial, sans-serif; }
/* ===== 2. 事業内容 ===== */
#biz-overview{ padding: 100px 0; background: #fff; }
/* 主力事業カード（ご提示画像デザイン、今すぐ導入ボタンは黄色でピカピカ） */
.biz-main{ background: #fff; border: 1px solid var(--gray100); overflow: hidden; display: flex; flex-direction: column; margin-top: 48px; margin-bottom: 56px; text-align: left; }
.biz-main-head{ display: block; background: linear-gradient(135deg, rgba(15,30,66,.82), rgba(12,58,110,.75)), url('../img/AdobeStock_483995406.jpeg') center/cover no-repeat; padding: 36px 36px 96px; position: relative; overflow: hidden; text-decoration: none; transition: filter .3s; }
.biz-main-head:hover{ filter: brightness(1.12); }
.biz-head-cta{ position: absolute; bottom: 0; left: 0; right: 0; padding: 12px 36px; background: rgba(40,176,210,.42); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); border-top: 1px solid rgba(255,255,255,.12); display: grid; grid-template-columns: minmax(170px, .55fr) minmax(260px, 1.45fr); align-items: center; gap: 20px; font-size: 11.5px; font-weight: 700; letter-spacing: .1em; color: rgba(255,255,255,.88); transition: background .3s; }
.biz-head-link{ display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.biz-head-link span:first-child{ white-space: nowrap; }
.biz-head-cta-arr{ font-size: 14px; color: var(--blue); transition: transform .3s; }
.biz-main-head:hover .biz-head-cta-arr{ transform: translateX(5px); }
.biz-main-head::after{ content: ''; position: absolute; bottom: -50px; right: -50px; width: 200px; height: 200px; border-radius: 50%; background: rgba(255,255,255,.04); }
.biz-logo-img{ height: 34px; width: auto; margin-bottom: 14px; filter: brightness(0) invert(1); }
.biz-tagline{ font-size: 13px; color: rgba(255,255,255,.7); line-height: 1.7; }
.biz-main-body{ padding: 32px 36px; display: flex; flex-direction: column; flex: 1; }
.biz-main-body p{ font-size: 14px; color: var(--gray500); line-height: 1.85; margin-bottom: 22px; }
.biz-feats{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-bottom: 0px; }
.biz-feat{ display: flex; align-items: center; justify-content: center; text-align: center; font-size: 13px; color: #fff; font-weight: 700; background: linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%); padding: 16px 12px; line-height: 1.45; border-radius: 0; }
/* 将来構想リスト */
.biz-future-list{ display: flex; flex-direction: column; gap: 24px; text-align: left; }
.biz-future-item{ background: #F6F8FA; border-radius: 8px; padding: 40px; display: flex; align-items: center; gap: 48px; }
.biz-future-text{ flex: 1; }
.biz-future-num{ font-size: 14px; font-style: italic; color: var(--blue); font-weight: 700; letter-spacing: 0.1em; margin-bottom: 8px; opacity: 0.8; font-family: 'Helvetica Neue', Arial, sans-serif; }
.biz-future-title{ font-size: clamp(20px, 2.5vw, 24px); font-weight: 800; color: var(--blue); margin-bottom: 16px; letter-spacing: 0.02em; line-height: 1.4; }
.biz-future-desc{ font-size: 14px; color: var(--gray700); line-height: 1.8; }
.biz-future-title,
.biz-feat {
  word-break: keep-all;
  overflow-wrap: normal;
}
.biz-future-thumb{ width: 100%; max-width: 320px; aspect-ratio: 16/9; background: var(--gray300); display: flex; align-items: center; justify-content: center; flex-shrink: 0; overflow: hidden; }
.biz-future-thumb img{ width: 100%; height: 100%; object-fit: cover; }
/* ===== RESPONSIVE ===== */
@media (max-width: 1024px){ .biz-future-item { flex-direction: column; padding: 28px 24px; gap: 24px; }
.biz-future-thumb { width: 100%; max-width: 100%; aspect-ratio: 16/9; }
}
@media (max-width: 768px) { .biz-main-head{ padding: 28px 24px 28px; }
.biz-head-cta{ position: static; grid-template-columns: 1fr; gap: 12px; margin: 24px -24px -28px; padding: 16px 24px; }
.biz-head-link{ justify-content: center; }
.biz-feats{ grid-template-columns: 1fr; }
}
@media (max-width: 768px) { .container { padding: 0 20px; } }
@media (max-width: 520px) {
  .sec-desc {
    text-align: left;
  }
  .biz-future-item {
    padding-left: 20px;
    padding-right: 20px;
  }
}
