/* ===== hero ===== */
.company-hero{
  position:relative;
  background:linear-gradient(180deg, #ffffff 0%, var(--blue-soft) 100%);
  padding:64px 0 80px;
  text-align:center;
}
.company-hero .eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  background:#fff; border:1.5px solid var(--orange); color:var(--orange-deep);
  font-weight:700; font-size:13px; padding:6px 14px; border-radius:999px; margin-bottom:20px;
}
.company-hero h1{
  font-size:clamp(28px, 4.6vw, 48px);
  font-weight:900; color:var(--navy-deep); line-height:1.5;
}
.company-hero h1 .accent{color:var(--orange);}
.company-hero p.lead{
  margin:22px auto 0; max-width:56ch; font-size:16.5px; color:var(--ink-soft);
}
.company-hero .cta-row{
  margin-top:32px; display:flex; flex-wrap:wrap; justify-content:center; gap:14px;
}
.company-hero .cta-row .btn{padding:15px 30px; font-size:16px;}

/* ===== promises ===== */
.promise-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.promise-card{
  background:#fff; border-radius:22px; padding:32px 26px;
  border:1px solid var(--line-hair);
  box-shadow:0 10px 30px -18px rgba(15,36,81,.25);
}
.promise-card .num{
  width:40px; height:40px; border-radius:50%;
  background:var(--navy); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-family:"M PLUS Rounded 1c", sans-serif; font-weight:800; margin-bottom:16px;
}
.promise-card h3{font-size:17px; color:var(--navy-deep); margin-bottom:10px;}
.promise-card p{font-size:14px; color:var(--ink-soft);}

/* ===== business pillars ===== */
.pillar-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:22px;}
.pillar-card{
  background:#fff; border-radius:24px; padding:32px;
  border:1px solid var(--line-hair);
  box-shadow:0 10px 30px -18px rgba(15,36,81,.25);
}
.pillar-card .icon-badge{
  width:52px; height:52px; border-radius:16px;
  background:var(--blue-soft); color:var(--blue);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:18px;
}
.pillar-card .icon-badge svg{width:26px; height:26px;}
.pillar-card h3{font-size:19px; color:var(--navy-deep); margin-bottom:10px; font-weight:800;}
.pillar-card p{font-size:14.5px; color:var(--ink-soft);}

/* ===== service cards (代行/福祉タクシー入口) ===== */
.service-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px;}
.service-card{
  position:relative;
  border-radius:28px; overflow:hidden;
  min-height:280px;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:32px;
  color:#fff;
  box-shadow:0 20px 50px -20px rgba(15,36,81,.4);
}
.service-card.daiko{background:linear-gradient(160deg, var(--navy-deep) 0%, var(--navy) 55%, var(--blue) 130%);}
.service-card.kaigo{background:linear-gradient(160deg, #0E8E8A 0%, #16B8B3 55%, #2FA8DC 130%);}
.service-card .tag{
  display:inline-block; font-weight:800; font-size:12px; letter-spacing:.12em;
  background:rgba(255,255,255,.18); padding:6px 14px; border-radius:999px; margin-bottom:14px; width:fit-content;
}
.service-card h3{font-size:24px; font-weight:900; margin-bottom:10px;}
.service-card p{font-size:14px; opacity:.9; max-width:38ch; margin-bottom:20px;}
.service-card .btn{background:#fff; color:var(--navy-deep); align-self:flex-start;}

/* ===== representative ===== */
.rep-panel{
  display:grid; grid-template-columns:auto 1fr; gap:32px; align-items:center;
  background:#fff; border-radius:28px; padding:40px;
  border:1px solid var(--line-hair);
  box-shadow:0 10px 30px -18px rgba(15,36,81,.25);
}
.rep-panel .avatar{
  width:120px; height:120px; border-radius:50%;
  background:var(--blue-soft); display:flex; align-items:center; justify-content:center;
  color:var(--navy); font-weight:900; font-size:28px;
  font-family:"M PLUS Rounded 1c", sans-serif;
  overflow:hidden; flex-shrink:0;
}
.rep-panel .avatar img{width:100%; height:100%; object-fit:cover; object-position:center top;}
.rep-panel h3{font-size:19px; color:var(--navy-deep); margin-bottom:6px;}
.rep-panel .role{font-size:13px; color:var(--blue); font-weight:700; margin-bottom:14px;}
.rep-panel p{font-size:14.5px; color:var(--ink-soft);}

/* ===== footer ===== */
.site-footer{
  background:var(--navy-deep); color:#B9C6E8; padding:48px 0 28px;
}
.site-footer .foot-grid{
  display:flex; flex-wrap:wrap; justify-content:space-between; gap:36px;
  padding-bottom:28px; border-bottom:1px solid rgba(255,255,255,.12);
}
.site-footer .brand{margin-bottom:10px;}
.site-footer .brand img{
  background:#fff; display:inline-block;
  padding:10px 18px; border-radius:12px;
}
.site-footer .foot-desc{font-size:13px; max-width:34ch; color:#93A4CC;}
.site-footer .foot-col h5{color:#fff; font-size:13px; font-weight:800; letter-spacing:.08em; margin-bottom:14px;}
.site-footer .foot-col a, .site-footer .foot-col p{
  display:flex; align-items:center; gap:8px; font-size:13.5px; margin-bottom:10px; color:#C9D6F3;
}
.site-footer .foot-col svg{width:16px; height:16px; color:var(--orange); flex-shrink:0;}
.site-footer .foot-bottom{
  padding-top:22px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px;
  font-size:12px; color:#7A8AB2;
}

@media (max-width:880px){
  .promise-grid{grid-template-columns:1fr;}
  .pillar-grid{grid-template-columns:1fr;}
  .service-grid{grid-template-columns:1fr;}
  .rep-panel{grid-template-columns:1fr; text-align:center;}
  .rep-panel .avatar{margin:0 auto;}
}
