.lead{color:var(--dim); font-size:15px; max-width:640px; margin-bottom:50px;}

.page-hero::after{content:""; position:absolute; top:-30%; right:-6%; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle, rgba(108,47,133,.15), transparent 65%);}
.page-hero p{color:var(--dim); font-size:15px; max-width:620px;}

/* 事業紹介(index.htmlのBUSINESSセクションと同じデザイン) */
.biz{padding:16px 0 45px;}
.biz-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.biz-card{
  position:relative; display:flex; flex-direction:column; background:#fff; padding:36px 50px; border-radius:16px; overflow:hidden;
  border:1.5px solid var(--purple);
  box-shadow:0 6px 20px rgba(62,29,94,.06);
  transition:transform .25s, box-shadow .25s;
}
.biz-card:hover{ transform:translateY(-4px); box-shadow:0 16px 34px rgba(108,47,133,.28); }
.biz-card--wide{ text-align:left; }
.biz-index{
  display:inline-block; font-family:'Noto Sans JP', sans-serif; font-size:11px; font-weight:700; letter-spacing:.06em;
  padding:6px 14px; border-radius:999px; margin-bottom:20px;
  background:rgba(108,47,133,.10); color:var(--purple);
}
.biz-card h3{font-size:19px; line-height:1.4; margin-bottom:16px; min-height:2.8em;}
.biz-card p{color:var(--dim); font-size:14px; margin-bottom:28px;}
.biz-card p:last-child{margin-bottom:0;}
.biz-more, .biz-card .biz-note{display:inline-block; margin-top:auto; padding-top:20px; align-self:flex-start; font-family:'Noto Sans JP', sans-serif; font-size:12px; color:var(--purple); font-weight:600;}

/* ソリューション紹介 */
.solutions{padding:25px 0 50px;}
.sol-filters{display:flex; gap:10px; margin-bottom:40px; flex-wrap:wrap;}
.sol-filter-btn{border:1px solid var(--line-soft); color:var(--dim); padding:8px 18px; font-size:12.5px; font-family:'Noto Sans JP', sans-serif; border-radius:20px; transition:.2s; background:none; cursor:pointer;}
.sol-filter-btn.active, .sol-filter-btn:hover{background:var(--purple); color:#fff; border-color:var(--purple);}
.sol-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
.sol-card{background:#fff; border:1.5px solid var(--purple); border-radius:14px; padding:34px 28px; transition:.3s; display:flex; flex-direction:column; height:100%;}
.sol-card:hover{transform:translateY(-4px); box-shadow:0 16px 34px rgba(108,47,133,.28);}
.sol-logo{height:34px; display:flex; align-items:center; margin-bottom:20px;}
.sol-logo img{height:100%; width:auto; max-width:100%; object-fit:contain; display:block;}
.sol-cat{display:inline-block; align-self:flex-start; font-family:'Noto Sans JP', sans-serif; font-size:10.5px; color:var(--purple); border:1px solid var(--line-soft); padding:5px 10px; border-radius:2px; letter-spacing:.04em; margin-bottom:16px;}
.sol-cat.avatar{color:var(--coral);}
.sol-card h3{font-size:17px; line-height:1.4; margin-bottom:12px; min-height:2.8em;}
.sol-card p{color:var(--dim); font-size:13.5px; margin-bottom:20px; flex-grow:1;}
.sol-link{font-family:'Noto Sans JP', sans-serif; font-size:12px; color:var(--purple); font-weight:600;}

@media(max-width:900px){
  .biz-grid{grid-template-columns:1fr;}
  .sol-grid{grid-template-columns:1fr;}
  .biz-card{padding:28px 26px;}
  .solutions{padding:16px 0 50px;}
  .sol-filters{margin-bottom:26px;}
  .sol-grid{gap:20px;}
  .sol-card{padding:26px 24px;}
}
