/* BUSINESS page - Apple style */
.business-hero{
  background:
    radial-gradient(circle at 85% 20%, rgba(180,215,250,.45), transparent 34%),
    linear-gradient(90deg,#fff 0%,#fff 43%,#eef6ff 100%);
  overflow:hidden;
}
.business-hero-inner{
  min-height:460px;
  display:grid;
  grid-template-columns:42% 58%;
  align-items:center;
  gap:48px;
}
.business-hero-copy h1{
  font-family:Georgia,"Times New Roman",serif;
  color:#061d3a;
  font-size:clamp(3.8rem,4vw,5.8rem);
  line-height:1.28;
  font-weight:500;
  letter-spacing:-.03em;
  margin-bottom:22px;
}
.business-hero-copy p:not(.label){
  font-size:1.55rem;
  color:#3b4a5f;
  margin-bottom:28px;
}
.business-hero-buttons{
  display:flex;
  gap:18px;
}
.business-hero-image{
  position:relative;
  height:330px;
  overflow:hidden;
  border-radius:0 0 0 34px;
  box-shadow:0 28px 80px rgba(15,23,42,.10);
}
.business-hero-image::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.45) 35%,rgba(255,255,255,0) 72%);
}
.business-hero-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.business-section{
  padding:80px 0;
  background:#fff;
}
.business-title{
  text-align:center;
  max-width:820px;
  margin:0 auto 42px;
}
.business-title h2{
  font-family:Georgia,"Times New Roman",serif;
  color:#061d3a;
  font-size:clamp(3.2rem,3.4vw,4.8rem);
  line-height:1.25;
  font-weight:500;
  letter-spacing:-.02em;
}
.business-title p:not(.label){
  margin-top:12px;
  color:#526174;
  font-size:1.45rem;
}
.business-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:32px;
}
.business-card{
  display:grid;
  grid-template-columns:42% 58%;
  overflow:hidden;
  border-radius:22px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(226,232,240,.9);
  box-shadow:0 20px 64px rgba(15,23,42,.07);
  transition:all .35s cubic-bezier(.4,0,.2,1);
}
.business-card:hover{
  transform:translateY(-6px);
  box-shadow:0 34px 88px rgba(15,23,42,.12);
}
.business-card-image{
  height:100%;
  min-height:300px;
  overflow:hidden;
}
.business-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s cubic-bezier(.4,0,.2,1);
}
.business-card:hover img{
  transform:scale(1.04);
}
.business-card-body{
  padding:34px;
}
.business-card-body span{
  display:inline-flex;
  width:46px;
  height:46px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#071c36;
  color:#fff;
  font-weight:800;
  margin-bottom:18px;
}
.business-card-body h3{
  color:#061d3a;
  font-size:2.2rem;
  font-weight:700;
  margin-bottom:12px;
}
.business-card-body p{
  color:#526174;
  font-size:1.42rem;
  margin-bottom:18px;
}
.business-card-body li{
  position:relative;
  padding-left:18px;
  color:#334155;
  font-size:1.35rem;
  margin:7px 0;
}
.business-card-body li::before{
  content:"";
  position:absolute;
  left:0;
  top:.75em;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#0b4d9c;
}

.brand-section{
  padding:84px 0;
  background:#f8fbff;
}
.brand-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}
.brand-card{
  padding:34px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(226,232,240,.9);
  box-shadow:0 18px 56px rgba(15,23,42,.06);
}
.brand-card h3{
  color:#061d3a;
  font-size:2.2rem;
  margin-bottom:4px;
}
.brand-sub{
  color:#0b4d9c!important;
  font-weight:800;
  letter-spacing:.08em;
  font-size:1.15rem!important;
  margin-bottom:16px!important;
}
.brand-card p{
  color:#526174;
  font-size:1.38rem;
  margin-bottom:20px;
}
.brand-card a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:5px 8px 5px 0;
  padding:10px 16px;
  border-radius:999px;
  background:#071c36;
  color:#fff;
  font-size:1.25rem;
  font-weight:800;
}
.brand-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.business-flow{
  padding:84px 0;
  background:#fff;
}
.flow-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
.flow-item{
  padding:30px;
  border-radius:20px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  border:1px solid #e2e8f0;
}
.flow-item span{
  display:block;
  color:#0b4d9c;
  font-family:Georgia,"Times New Roman",serif;
  font-size:4.2rem;
  line-height:1;
  margin-bottom:18px;
}
.flow-item h3{
  color:#061d3a;
  font-size:1.9rem;
  margin-bottom:10px;
}
.flow-item p{
  color:#526174;
  font-size:1.35rem;
}

.business-cta{
  padding:72px 0;
  background:
    radial-gradient(circle at 50% 0%, rgba(160,205,250,.55), transparent 36%),
    linear-gradient(180deg,#ffffff 0%,#eef6ff 100%);
}
.business-cta-inner{
  max-width:960px;
  margin:0 auto;
  text-align:center;
  padding:56px 36px;
  border-radius:30px;
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(22px) saturate(160%);
  -webkit-backdrop-filter:blur(22px) saturate(160%);
  border:1px solid rgba(255,255,255,.9);
  box-shadow:0 34px 90px rgba(15,23,42,.11);
}
.business-cta h2{
  margin:0 auto 16px;
  color:#061d3a;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(3rem,4vw,4.8rem);
  font-weight:500;
  line-height:1.25;
  letter-spacing:-.03em;
}
.business-cta p:not(.label){
  color:#526174;
  font-size:1.45rem;
  margin:0 auto 28px;
  max-width:680px;
}

@media(max-width:980px){
  .business-hero-inner,
  .business-card{
    grid-template-columns:1fr;
  }
  .business-hero{
    padding:54px 0 0;
  }
  .business-hero-image{
    height:300px;
    border-radius:28px;
  }
  .business-grid,
  .brand-grid,
  .flow-grid{
    grid-template-columns:1fr;
  }
  .business-card-image{
    min-height:240px;
  }
}
@media(max-width:640px){
  .business-hero-copy h1{
    font-size:3.6rem;
  }
  .business-hero-buttons{
    display:grid;
    grid-template-columns:1fr;
  }
  .business-section,
  .brand-section,
  .business-flow{
    padding:62px 0;
  }
  .business-card-body,
  .brand-card,
  .flow-item{
    padding:26px;
  }
  .business-cta{
    padding:48px 0;
  }
  .business-cta-inner{
    padding:42px 24px;
  }
}
/* BUSINESS CTA 最小化 */
.business-cta {
  padding: 38px 0 !important;
}

.business-cta-inner {
  max-width: 760px !important;
  padding: 30px 24px !important;
  border-radius: 22px !important;
}

.business-cta h2 {
  font-size: clamp(2.2rem, 2.6vw, 3.2rem) !important;
  margin-bottom: 10px !important;
}

.business-cta p:not(.label) {
  font-size: 1.3rem !important;
  margin-bottom: 18px !important;
}

.business-cta .label {
  margin-bottom: 6px !important;
}

.business-cta .btn {
  padding: 11px 24px !important;
  font-size: 1.3rem !important;
}