/* トップでホームページ制作とロゴ制作の両サービスを案内します。 */
.hero-mini-logos { display:grid; grid-template-columns:1.3fr 1fr; grid-template-rows:1fr 1fr; gap:12px; height:188px; padding:20px; background:#fff; }
.hero-mini-logos > span { display:flex; align-items:center; justify-content:center; min-width:0; min-height:0; }
.hero-mini-logos > span:first-child { grid-column:1/-1; }
.hero-logo-screen .hero-mini-logos img { width:100%; height:100%; aspect-ratio:auto; object-fit:contain; }
.business-services { padding:58px 0 30px; }
.business-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:36px; margin-bottom:30px; }
.business-heading .eyebrow { margin-bottom:14px; }
.business-heading h2 { color:var(--navy); font-size:1.875rem; font-weight:700; line-height:1.75; }
.business-heading > p { font-size:.8125rem; color:var(--muted); line-height:1.95; }
.business-grid { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.business-card { display:grid; grid-template-columns:1fr 1.12fr; align-items:stretch; min-width:0; border:1px solid var(--line); background:#fff; transition:border-color .2s,box-shadow .2s; }
.business-card:hover { border-color:var(--blue); box-shadow:0 10px 25px #09245009; }
.business-visual { display:flex; align-items:center; justify-content:center; min-width:0; background:#f2f6fb; padding:22px; }
.business-web > img { width:100%; height:auto; aspect-ratio:1.2; object-fit:cover; object-position:top; border:1px solid #d9e2ee; border-radius:3px; box-shadow:0 8px 15px #0924500a; }
.business-logos { display:grid; grid-template-columns:1.3fr 1fr; grid-template-rows:1fr 1fr; gap:10px; padding:22px; }
.business-logos > span { display:flex; align-items:center; justify-content:center; min-width:0; min-height:0; background:#fff; padding:8px; }
.business-logos > span:first-child { grid-column:1/-1; }
.business-logos img { width:100%; height:100%; min-height:0; object-fit:contain; }
.business-copy { min-width:0; padding:25px 23px; }
.business-copy > p:first-child { font-family:var(--font-en); font-size:.625rem; font-weight:600; color:var(--blue); letter-spacing:.05em; }
.business-copy h3 { margin-top:8px; color:var(--navy); font-size:1.1875rem; line-height:1.6; font-weight:700; }
.business-copy h3 + p { margin-top:12px; color:var(--muted); font-size:.75rem; line-height:1.9; }
.business-link { display:flex; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid var(--line); margin-top:22px; padding-top:14px; color:var(--blue); font-size:.75rem; font-weight:600; }
.business-link > span { font-size:1rem; }
@media(min-width:1001px) and (max-width:1199px) { .site-header .nav { gap:13px; } .site-header .nav a { font-size:.75rem; } .site-header .header-cta { padding-inline:18px; gap:16px; } }
@media(max-width:1199px) { .business-card { grid-template-columns:1fr; } .business-visual { height:185px; padding:22px; } .business-web > img { max-width:320px; height:100%; aspect-ratio:auto; object-fit:cover; } .business-logos { padding:18px 30px; grid-template-columns:1.3fr 1fr; } .business-logos > span { max-height:67px; } .business-copy { padding:25px; } }
@media(max-width:1000px) { .hero-mini-logos { height:153px; gap:8px; padding:14px; } .business-heading h2 { font-size:1.625rem; } .business-heading > p { font-size:.75rem; } }
@media(max-width:700px) {
  .hero-actions .button { gap:8px; font-size:.75rem; }
  .hero-gallery { grid-template-columns:.85fr 1.25fr 1fr; }
  .hero-mini-logos { height:113px; grid-template-columns:1fr; grid-template-rows:1fr 1fr; gap:7px; padding:9px; }
  .hero-mini-logos > span:nth-child(2) { display:none; }
  .hero-mini-logos > span:last-child { max-height:50px; }
  .business-services { padding:42px 0 12px; }
  .business-heading { flex-direction:column; align-items:flex-start; gap:16px; margin-bottom:24px; }
  .business-heading h2 { font-size:1.375rem; line-height:1.8; }
  .business-heading > p { font-size:.8125rem; }
  .business-grid { grid-template-columns:1fr; gap:20px; }
  .business-card { grid-template-columns:.85fr 1.15fr; }
  .business-visual { height:auto; padding:16px; }
  .business-web > img { height:165px; width:100%; max-width:none; object-fit:cover; }
  .business-logos { padding:15px; gap:8px; grid-template-columns:1fr; grid-template-rows:1fr 1fr 1fr; }
  .business-logos > span { max-height:58px; padding:6px; }
  .business-logos > span:last-child { padding:0; }
  .business-copy { padding:21px 16px; }
  .business-copy h3 { font-size:1rem; }
  .business-copy h3 + p { font-size:.75rem; }
  .business-link { font-size:.6875rem; margin-top:17px; padding-top:12px; }
  #works-title { max-width:100%; }
}
@media(max-width:359px) { .hero-actions .button { font-size:.6875rem; padding-inline:8px; gap:6px; } .business-heading h2 { font-size:1.25rem; } .business-card { grid-template-columns:.75fr 1.25fr; } .business-copy { padding:18px 12px; } .business-copy h3 { font-size:.9375rem; } .business-visual { padding:12px; } }
