@charset "UTF-8";

:root {
  --business-navy: #071a57;
  --business-blue: #086df3;
  --business-blue-2: #075bdc;
  --business-line: rgba(7,26,87,.12);
  --business-soft: #f7faff;
  --business-serif: "Noto Serif CJK JP","Noto Serif JP","Yu Mincho",serif;
  --business-sans: "Noto Sans CJK JP","Noto Sans JP","Yu Gothic",sans-serif;
  --business-shadow: 0 12px 36px rgba(8,63,155,.07);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--business-navy);
  background: #fff;
  font-family: var(--business-sans);
  -webkit-font-smoothing: antialiased;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
}

.business-ai-page {
  width: 100%;
  max-width: 1620px;
  margin: 0 auto;
  overflow: hidden;
  background: #fff;
}

.business-ai-container {
  width: min(100%,1500px);
  margin-inline: auto;
  padding-inline: clamp(22px,3.2vw,54px);
}

.business-ai-section {
  padding-block: 10px;
}

.business-ai-title {
  position: relative;
  margin: 0 0 28px;
  color: var(--business-navy);
  font-family: var(--business-serif);
  font-size: clamp(23px,1.75vw,31px);
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: .08em;
  text-align: center;
}

.business-ai-title--underline::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -10px;
  width: 34px;
  height: 3px;
  border-radius: 99px;
  background: var(--business-blue);
  transform: translateX(-50%);
}

.business-ai-title--lines {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}

.business-ai-title--lines::before,
.business-ai-title--lines::after {
  content: "";
  width: 44px;
  height: 1px;
  background: rgba(8,109,243,.35);
}

.business-ai-title--plain {
  margin-bottom: 24px;
}

.business-ai-panel {
  border: 1px solid rgba(8,74,190,.10);
  border-radius: 18px;
  background: rgba(255,255,255,.95);
  box-shadow: var(--business-shadow);
}

/* Preview-only header/footer */
.preview-header {
  height: 78px;
  padding-inline: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(7,26,87,.06);
  background: rgba(255,255,255,.96);
  font-family: var(--business-serif);
}

.preview-logo {
  font-size: 26px;
  text-decoration: none;
  letter-spacing: .03em;
}

.preview-logo small {
  font-size: 13px;
}

.preview-header nav {
  display: flex;
  align-items: center;
  gap: 34px;
  font-size: 13px;
}

.preview-header nav a {
  text-decoration: none;
}

.preview-cta {
  padding: 13px 22px;
  border-radius: 5px;
  color: #fff;
  background: #082c83;
}

.preview-footer {
  padding: 34px;
  color: #fff;
  background: #05245f;
  font-family: var(--business-serif);
  font-size: 24px;
}

/* HERO */
.business-ai-hero {
  position: relative;
  min-height: 545px;
  overflow: hidden;
  background: linear-gradient(180deg,#fff 0%,#fff 62%,#f8fbff 100%);
}

.business-ai-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 55%;
  z-index: 0;
  background: url("../img/ai-sales-support/wave.png") center bottom/cover no-repeat;
  opacity: .30;
  pointer-events: none;
}

.business-ai-hero__inner {
  position: relative;
  z-index: 1;
  min-height: 545px;
  display: grid;
  grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr);
  align-items: center;
  gap: 18px;
}

.business-ai-hero__content {
  position: relative;
  z-index: 3;
  padding-bottom: 18px;
}

.business-ai-kicker {
  margin: 0 0 34px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #1572dc;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .05em;
}

.business-ai-kicker span {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--business-blue);
  box-shadow: 0 0 18px rgba(8,109,243,.26);
}

.business-ai-hero h1 {
  margin: 0;
  color: var(--business-navy);
  font-family: var(--business-serif);
  font-size: clamp(40px,3.35vw,58px);
  font-weight: 500;
  line-height: 1.42;
  letter-spacing: .02em;
  white-space: nowrap;
}

.business-ai-hero h1 em {
  color: #1581ee;
  font-style: normal;
}

.business-ai-hero__lead {
  margin: 34px 0 0;
  font-family: var(--business-serif);
  font-size: clamp(15px,1.25vw,21px);
  font-weight: 600;
  line-height: 2.05;
  letter-spacing: .02em;
}

.business-ai-hero__visual {
  position: relative;
  z-index: 1;
  width: 107%;
  margin-left: 0;
  transform: translateX(3%);
  pointer-events: none;
  -webkit-mask-image: linear-gradient(90deg,transparent 0%,rgba(0,0,0,.45) 7%,#000 18%,#000 100%);
  mask-image: linear-gradient(90deg,transparent 0%,rgba(0,0,0,.45) 7%,#000 18%,#000 100%);
}

.business-ai-hero__visual img {
  width: 100%;
  height: auto;
  mix-blend-mode: multiply;
}

/* Problems */
.business-ai-problems {
  position: relative;
  z-index: 2;
  padding-top: 10px;
  background: linear-gradient(180deg,#fbfdff 0%,#f8fbff 100%);
}

.business-ai-problem-grid {
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
}

.business-ai-problem-card {
  min-height: 200px;
  padding: 20px 17px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 11px;
  background: #fff;
  text-align: center;
}

.business-ai-problem-card img {
  width: 100px;
  height: 100px;
  margin-bottom: 16px;
  object-fit: contain;
}

.business-ai-problem-card h3 {
  width: 100%;
  margin: 0 0 8px;
  font-family: var(--business-serif);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.65;
  text-wrap: balance;
}

.business-ai-problem-card p {
  margin: 0;
  font-size: 15px;
  line-height: 1.9;
}

/* Details */
.business-ai-details {
  padding: 10px 0 10px;
  background: linear-gradient(180deg,#fff 0%,#fbfdff 100%);
}

.business-ai-top-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 24px;
  align-items: stretch;
}

.business-ai-comparison-panel,
.business-ai-support-panel {
  width: 100%;
  padding: 28px 28px 32px;
}

/* Before / After: 写真上・説明下の横並びカード */
.business-ai-comparison {
  display: grid;
  grid-template-columns: minmax(0,1fr) 64px minmax(0,1fr);
  gap: 24px;
  align-items: stretch;
  width: 100%;
  max-width: 1220px;
  margin-inline: auto;
}

.business-ai-comparison-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--business-line);
  border-radius: 16px;
  background: rgba(255,255,255,.92);
}

.business-ai-comparison-photo {
  position: relative;
  min-width: 0;
  margin: 28px 28px 0;
  overflow: hidden;
  border: 1px solid rgba(8,74,190,.11);
  border-radius: 12px;
  background: #f7faff;
}

.business-ai-comparison-photo img {
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 16/9;
  object-fit: cover;
  object-position: center;
}

.business-ai-comparison-content {
  min-width: 0;
  flex: 1;
  padding: 24px 30px 30px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.business-ai-comparison-content h3 {
  min-height: 3.1em;
  margin: 0 0 16px;
  color: var(--business-navy);
  font-family: var(--business-serif);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.55;
}

.business-ai-comparison-card--after .business-ai-comparison-content h3 {
  color: var(--business-blue-2);
}

.business-ai-comparison-card ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.business-ai-comparison-card li {
  position: relative;
  margin-top: 12px;
  padding-left: 42px;
  font-size: 15px;
  line-height: 1.7;
}

.business-ai-comparison-card li:first-child {
  margin-top: 0;
}

.business-ai-comparison-card li::before {
  content: "×";
  position: absolute;
  top: .08em;
  left: 0;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  background: #5f708e;
  font-family: Arial,sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
}

.business-ai-comparison-card--after li::before {
  content: "✓";
  background: var(--business-blue);
  font-size: 18px;
}

.business-ai-comparison-arrow {
  position: relative;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: transparent;
  font-size: 0;
  line-height: 1;
}

.business-ai-comparison-arrow::before {
  content: "";
  width: 44px;
  height: 6px;
  border-radius: 999px;
  background: #111;
}

.business-ai-comparison-arrow::after {
  content: "";
  width: 17px;
  height: 17px;
  margin-left: -18px;
  border-top: 6px solid #111;
  border-right: 6px solid #111;
  transform: rotate(45deg);
}

/* Support: 説明文を省略せず、比較セクションの下に表示 */
.business-ai-support-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  align-items: stretch;
  border-radius: 10px;
  overflow: hidden;
}

.business-ai-support-grid article {
  min-width: 0;
  max-height: none;
  min-height: 220px;
  height: auto;
  padding: 20px 20px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  border-right: 1px solid var(--business-line);
  border-bottom: 1px solid var(--business-line);
  background: #fff;
}

.business-ai-support-grid article:nth-child(4) {
  border-right: 0;
}

.business-ai-support-grid article img {
  width: 100px;
  height: 100px;
  margin: 0 auto 12px;
  flex: 0 0 100px;
  object-fit: contain;
}

.business-ai-support-grid h3 {
  margin: 0 0 10px;
  font-family: var(--business-serif);
  font-size: 18px;
  line-height: 1.45;
}

.business-ai-support-grid p {
  width: 100%;
  margin: 0;
  font-size: 15px;
  line-height: 1.8;
}

.business-ai-support-grid .business-ai-support-wide {
  grid-column: span 2;
  min-height: 148px;
  height: auto;
  padding: 20px 34px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 24px;
  text-align: left;
  border-bottom: 0;
}

.business-ai-support-grid .business-ai-support-wide:nth-child(6) {
  border-right: 0;
}

.business-ai-support-grid .business-ai-support-wide img {
  width: 100px;
  height: 100px;
  margin: 0;
  flex: 0 0 100px;
}

.business-ai-support-wide h3 {
  font-size: 18px;
}

.business-ai-support-wide p {
  font-size: 15px;
}

/* Use cases */
.business-ai-usecases {
  margin-top: 10px;
  padding: 18px 18px 20px;
}

.business-ai-usecase-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 18px;
}

.business-ai-usecase-grid article {
  display: grid;
  grid-template-columns: 45% 1fr;
  min-width: 0;
  overflow: hidden;
  border-right: 1px solid var(--business-line);
  background: #fff;
}

.business-ai-usecase-grid article:last-child {
  border-right: 0;
}

.business-ai-usecase-grid img {
  width: 100%;
  height: 100%;
  min-height: 128px;
  object-fit: cover;
  border-radius: 8px;
}

.business-ai-usecase-grid article>div {
  padding: 12px 16px;
}

.business-ai-usecase-grid h3 {
  margin: 0 0 8px;
  font-family: var(--business-serif);
  font-size: 18px;
  line-height: 1.4;
}

.business-ai-usecase-grid ul {
  margin: 0;
  padding-left: 16px;
  font-size: 15px;
  line-height: 1.85;
}

/* Strengths */
.business-ai-strengths {
  margin-top: 10px;
  padding: 16px 20px 20px;
}

.business-ai-strength-grid {
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
}

.business-ai-strength-grid article {
  min-width: 0;
  padding: 7px 16px 8px;
  text-align: center;
  border-right: 1px solid var(--business-line);
}

.business-ai-strength-grid article:last-child {
  border-right: 0;
}

.business-ai-strength-grid img {
  width: 100px;
  height: 100px;
  margin: 0 auto 8px;
  object-fit: contain;
}

.business-ai-strength-grid p {
  margin: 0;
  font-family: var(--business-serif);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.75;
}

/* CTA */
.business-ai-cta {
  position: relative;
  margin-top: 10px;
  min-height: 205px;
  display: grid;
  grid-template-columns: 29% 1fr;
  align-items: center;
  overflow: hidden;
  border: 1px solid rgba(8,74,190,.10);
  border-radius: 16px;
  background: linear-gradient(120deg,rgba(246,251,255,.98),rgba(230,242,255,.94)),url("../img/ai-sales-support/wave.png") center bottom/cover no-repeat;
  box-shadow: var(--business-shadow);
}

.business-ai-cta::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../img/ai-sales-support/wave.png") right bottom/cover no-repeat;
  opacity: .24;
  pointer-events: none;
}

.business-ai-cta__photo {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  min-height: 205px;
  object-fit: cover;
  object-position: center;
}

.business-ai-cta__content {
  position: relative;
  z-index: 2;
  padding: 20px 34px;
  text-align: center;
}

.business-ai-cta h2 {
  margin: 0 0 16px;
  font-family: var(--business-serif);
  font-size: clamp(20px,1.85vw,30px);
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: .04em;
}

.business-ai-cta a {
  width: min(100%,760px);
  min-height: 70px;
  margin-inline: auto;
  padding: 0 34px;
  display: grid;
  grid-template-columns: 62px 1fr;
  align-items: center;
  border-radius: 10px;
  color:#fff;
  background:linear-gradient(100deg, #123f91 0%, #0874ed 100%);
  box-shadow: 0 12px 28px rgba(6,42,131,.20);
  text-decoration: none;
}

.business-ai-cta__mail {
  font-size: 31px;
  line-height: 1;
}

.business-ai-cta a strong {
  font-family: var(--business-serif);
  font-size: clamp(21px,1.8vw,28px);
  font-weight: 500;
  letter-spacing: .06em;
}

.business-ai-cta p {
  margin: 12px 0 0;
  color: #2677da;
  font-family: var(--business-serif);
  font-size: 16px;
  letter-spacing: .08em;
}

/* Problem card text alignment */
@media (min-width:1037px) {
  .business-ai-problem-grid .business-ai-problem-card h3 {
    width: calc(100% + 30px);
    max-width: none;
    min-height: 2.3em;
    text-wrap: balance;
  }

  .business-ai-problem-card p {
    width: 100%;
    min-height: 5.7em;
  }
}

@media (max-width:1240px) {
  .business-ai-container {
    padding-inline: 24px;
  }

  .business-ai-hero__visual {
    width: 110%;
    margin-left: 0;
    transform: translateX(4%);
  }

  .business-ai-problem-card {
    padding-inline: 10px;
  }

  .business-ai-problem-card p {
    font-size: 10.5px;
  }

  .business-ai-support-grid h3 {
    font-size: 15px;
  }
}

@media (max-width:1036px) {
  .business-ai-page {
    padding-top: 72px;
  }

  .preview-header {
    display: none;
  }

  .business-ai-preview .business-ai-page {
    padding-top: 0;
  }

  .business-ai-container {
    padding-inline: 18px;
  }

  .business-ai-hero {
    min-height: auto;
  }

  .business-ai-hero__inner {
    min-height: auto;
    padding-top: 34px;
    display: block;
  }

  .business-ai-hero__content {
    width: 100%;
  }

  .business-ai-kicker {
    margin-bottom: 24px;
    font-size: 14px;
  }

  .business-ai-hero h1 {
    font-size: clamp(32px,5.8vw,48px);
    white-space: normal;
  }

  .business-ai-hero__lead {
    margin-top: 24px;
    font-size: 16px;
  }

  .business-ai-hero__visual {
    width: 100%;
    margin: 0;
    margin-top: -12px;
    transform: none;
    -webkit-mask-image: linear-gradient(180deg,transparent 0%,#000 7%,#000 94%,transparent 100%);
    mask-image: linear-gradient(180deg,transparent 0%,#000 7%,#000 94%,transparent 100%);
  }

  .business-ai-problem-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }

  .business-ai-problem-card {
    min-height: 250px;
  }

  .business-ai-comparison-panel,
  .business-ai-support-panel {
    padding: 24px 20px 28px;
  }

  .business-ai-comparison {
    grid-template-columns: minmax(0,1fr) 48px minmax(0,1fr);
    gap: 16px;
  }

  .business-ai-comparison-photo {
    margin: 20px 20px 0;
  }

  .business-ai-comparison-content {
    padding: 20px 22px 24px;
  }

  .business-ai-comparison-content h3 {
    font-size: 18px;
  }

  .business-ai-comparison-card li {
    padding-left: 36px;
    font-size: 13px;
  }

  .business-ai-comparison-card li::before {
    width: 25px;
    height: 25px;
    font-size: 18px;
  }

  .business-ai-comparison-card--after li::before {
    font-size: 16px;
  }

  .business-ai-support-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .business-ai-support-grid article:nth-child(2n) {
    border-right: 0;
  }

  .business-ai-support-grid article:nth-child(2) {
    border-bottom: 1px solid var(--business-line);
  }

  .business-ai-support-grid .business-ai-support-wide {
    grid-column: span 1;
    min-height: 172px;
    padding: 18px 22px;
    border-bottom: 0;
  }

  .business-ai-support-grid .business-ai-support-wide:nth-child(5) {
    border-right: 1px solid var(--business-line);
  }

  .business-ai-usecase-grid article {
    display: block;
    border-right: 0;
    border-bottom: 1px solid var(--business-line);
  }

  .business-ai-usecase-grid img {
    height: 150px;
    min-height: 0;
  }

  .business-ai-strength-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
    row-gap: 18px;
  }

  .business-ai-strength-grid article:nth-child(3) {
    border-right: 0;
  }

  .business-ai-strength-grid article:nth-child(-n/**/+3) {
    border-bottom: 1px solid var(--business-line);
    padding-bottom: 18px;
  }
}

@media (max-width:767px) {
  .business-ai-page {
    padding-top: 64px;
  }

  .sales-mobile-break{
    display:block;
  }

  .business-ai-container {
    padding-inline: 12px;
  }

  .business-ai-title {
    font-size: 23px;
    margin-bottom: 24px;
  }

  .business-ai-hero__inner {
    padding-top: 26px;
  }

  .business-ai-kicker {
    font-size: 12px;
    gap: 8px;
  }

  .business-ai-kicker span {
    width: 10px;
    height: 10px;
  }

  .business-ai-hero h1 {
    font-size: clamp(26px,7.5vw,36px);
    line-height: 1.48;
  }

  .business-ai-hero__lead {
    font-size: 13px;
    line-height: 1.9;
  }

  .business-ai-hero__lead br {
    display: none;
  }

  .business-ai-hero__visual {
    margin-top: 4px;
  }

  .business-ai-problems {
    padding-top: 18px;
  }

  .business-ai-problem-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    grid-auto-rows: 1fr;
    gap: 9px;
    align-items: stretch;
  }

  .business-ai-problem-card {
    min-width: 0;
    min-height: 190px;
    height: 100%;
    padding: 14px 7px 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    row-gap: 0;
    border-radius: 9px;
    text-align: center;
  }

  .business-ai-problem-card img {
    width: 62px;
    height: 62px;
    margin: 0 0 9px;
    flex: 0 0 auto;
    object-fit: contain;
  }

  .business-ai-problem-grid .business-ai-problem-card h3 {
    width: 100%;
    max-width: none;
    min-height: 0;
    margin: 0 0 5px;
    font-size: 13px;
    line-height: 1.5;
    text-wrap: balance;
  }

  .business-ai-problem-card p {
    width: 100%;
    min-height: 0;
    margin: 0;
    font-size: 9px;
    line-height: 1.7;
    text-wrap: pretty;
  }

  .business-ai-details {
    padding-top: 10px;
  }

  .business-ai-panel {
    border-radius: 13px;
  }

  .business-ai-top-grid {
    gap: 14px;
  }

  .business-ai-comparison-panel,
  .business-ai-support-panel {
    padding: 18px 10px 20px;
  }

  .business-ai-comparison {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .business-ai-comparison-card {
    border-radius: 14px;
  }

  .business-ai-comparison-photo {
    margin: 12px 12px 0;
  }

  .business-ai-comparison-content {
    padding: 17px 16px 20px;
  }

  .business-ai-comparison-content h3 {
    min-height: 0;
    margin-bottom: 13px;
    font-size: 16px;
  }

  .business-ai-comparison-card li {
    margin-top: 9px;
    padding-left: 33px;
    font-size: 12px;
    line-height: 1.65;
  }

  .business-ai-comparison-card li::before {
    width: 23px;
    height: 23px;
    font-size: 16px;
  }

  .business-ai-comparison-card--after li::before {
    font-size: 15px;
  }

  .business-ai-comparison-arrow {
    min-height: 42px;
    flex-direction: column;
  }

  .business-ai-comparison-arrow::before {
    width: 6px;
    height: 30px;
  }

  .business-ai-comparison-arrow::after {
    width: 15px;
    height: 15px;
    margin-top: -17px;
    margin-left: 0;
    border-top: 0;
    border-right: 6px solid #111;
    border-bottom: 6px solid #111;
    transform: rotate(45deg);
  }

  .business-ai-support-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .business-ai-support-grid article {
    min-height: 0;
    padding: 16px 9px 18px;
    border-right: 1px solid var(--business-line);
  }

  .business-ai-support-grid article:nth-child(2n) {
    border-right: 0;
  }

  .business-ai-support-grid article:nth-child(4) {
    border-right: 0;
  }

  .business-ai-support-grid article img {
    width: 76px;
    height: 76px;
    margin-bottom: 9px;
    flex-basis: 76px;
  }

  .business-ai-support-grid h3 {
    margin-bottom: 7px;
    font-size: 13px;
    line-height: 1.5;
  }

  .business-ai-support-grid p {
    font-size: 10px;
    line-height: 1.7;
  }

  .business-ai-support-grid .business-ai-support-wide {
    grid-column: span 2;
    min-height: 0;
    padding: 14px 16px;
    gap: 14px;
    border-right: 0;
    border-bottom: 1px solid var(--business-line);
  }

  .business-ai-support-grid .business-ai-support-wide:nth-child(5) {
    border-right: 0;
  }

  .business-ai-support-grid .business-ai-support-wide:nth-child(6) {
    border-bottom: 0;
  }

  .business-ai-support-grid .business-ai-support-wide img {
    width: 74px;
    height: 74px;
    flex-basis: 74px;
  }

  .business-ai-support-wide h3 {
    font-size: 14px;
  }

  .business-ai-support-wide p {
    font-size: 10px;
  }

  .business-ai-usecases {
    padding: 18px 10px;
  }

  .business-ai-usecase-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .business-ai-usecase-grid article {
    display: grid;
    grid-template-columns: 43% 1fr;
    border-bottom: 0;
    border: 1px solid var(--business-line);
    border-radius: 9px;
    overflow: hidden;
  }

  .business-ai-usecase-grid img {
    height: 100%;
    min-height: 135px;
    border-radius: 0;
  }

  .business-ai-usecase-grid h3 {
    font-size: 16px;
  }

  .business-ai-usecase-grid ul {
    font-size: 9px;
  }

  .business-ai-strengths {
    padding-inline: 10px;
  }

  .business-ai-strength-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .business-ai-strength-grid article {
    padding: 8px 7px 14px;
    border-bottom: 1px solid var(--business-line);
  }

  .business-ai-strength-grid article:nth-child(2n) {
    border-right: 0;
  }

  .business-ai-strength-grid article:nth-last-child(-n/**/+2) {
    border-bottom: 0;
  }

  .business-ai-strength-grid article:nth-child(3) {
    border-right: 1px solid var(--business-line);
  }

  .business-ai-strength-grid img {
    width: 100px;
    height: 100px;
  }

  .business-ai-strength-grid p {
    font-size: 10px;
  }

  .business-ai-cta {
    grid-template-columns: 1fr;
  }

  .business-ai-cta__photo {
    height: 150px;
    min-height: 0;
  }

  .business-ai-cta__content {
    padding: 22px 14px 24px;
  }

  .business-ai-cta h2 {
    font-size: 19px;
  }

  .business-ai-cta a {
    min-height: 58px;
    grid-template-columns: 44px 1fr;
    padding-inline: 16px;
  }

  .business-ai-cta__mail {
    font-size: 23px;
  }

  .business-ai-cta a strong {
    font-size: 19px;
  }

  .business-ai-cta p {
    font-size: 12px;
  }
}

@media (max-width:390px) {
  .business-ai-problem-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    grid-auto-rows: 1fr;
    gap: 6px;
  }

  .business-ai-problem-card {
    min-width: 0;
    min-height: 145px;
    height: 100%;
    padding: 11px 4px 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    row-gap: 0;
    text-align: center;
  }

  .business-ai-problem-card img {
    width: 100px;
    height: 100px;
    margin: 0 0 7px;
    flex: 0 0 auto;
  }

  .business-ai-problem-grid .business-ai-problem-card h3 {
    width: 100%;
    max-width: none;
    min-height: 0;
    margin: 0 0 4px;
    font-size: 10.5px;
    line-height: 1.45;
    text-wrap: balance;
  }

  .business-ai-problem-card p {
    width: 100%;
    min-height: 0;
    margin: 0;
    font-size: 7.5px;
    line-height: 1.6;
    text-wrap: pretty;
  }
}

/* Final asset integration */
.business-ai-cta__mail {
  display: grid;
  place-items: center;
}

.business-ai-cta__mail svg {
  display: block;
  width: 32px;
  height: auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.business-ai-comparison-photo img {
  object-position: center;
}

.business-ai-hero__visual img {
  background: #fff;
}

@media (max-width:767px) {
  .business-ai-cta__mail svg {
    width: 25px;
  }
}

/* =========================================================
   SHARED TOP BACKGROUND
   TOP画面と同じ抽象ブルー背景をページ全体へ固定表示
========================================================= */
html{
  background:#f7fbff;
}

body{
  position:relative;
  isolation:isolate;
  min-height:100vh;
  background:transparent!important;
}

body::before,
body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
}

body::before{
  z-index:-2;
  background-image:url("../img/top/top-page-background-v1.png");
  background-image:image-set(
    url("../img/top/top-page-background-v1.webp") type("image/webp"),
    url("../img/top/top-page-background-v1.png") type("image/png")
  );
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
  opacity:.78;
}

body::after{
  z-index:-1;
  background:linear-gradient(
    180deg,
    rgba(255,255,255,.24) 0%,
    rgba(248,252,255,.34) 52%,
    rgba(255,255,255,.46) 100%
  );
}

@media(max-width:900px){
  body::before{
    background-position:72% center;
    opacity:.73;
  }

  body::after{
    background:linear-gradient(
      180deg,
      rgba(255,255,255,.32) 0%,
      rgba(248,252,255,.42) 52%,
      rgba(255,255,255,.54) 100%
    );
  }
}

@media(max-width:640px){
  body::before{
    background-position:84% center;
    opacity:.69;
  }
}


.business-ai-page,
.business-ai-problems,
.business-ai-details{
  background:transparent!important;
}
.business-ai-panel,
.business-ai-problem-card,
.business-ai-support-grid article,
.business-ai-usecase-grid article,
.business-ai-strength-grid article{
  background-color:rgba(255,255,255,.82)!important;
  -webkit-backdrop-filter:blur(3px);
  backdrop-filter:blur(3px);
}
.business-ai-hero__visual img{
  background:transparent!important;
}

/* =========================================================
   GLOBAL FOOTER — browser zoom / scale stability
   ブラウザの表示倍率を変更してもフッターを画面幅いっぱいに維持
========================================================= */
html,
body{
  min-height:100%;
}

body{
  min-height:100vh;
  display:flex;
  flex-direction:column;
}

body > #header{
  flex:0 0 auto;
}

body > main{
  width:100%;
  flex:1 0 auto;
}

body > #footer{
  position:relative;
  z-index:10;
  width:100%;
  max-width:none!important;
  margin-top:auto;
  margin-right:0!important;
  margin-left:0!important;
  align-self:stretch;
  flex:0 0 auto;
  box-sizing:border-box;
}

/* footer.htmlから読み込まれる一番外側の要素だけ固定幅を解除 */
body > #footer > *,
body > #footer > footer,
body > #footer > .footer{
  width:100%!important;
  max-width:none!important;
  margin-right:0!important;
  margin-left:0!important;
  box-sizing:border-box;
}

/* 内部コンテンツの中央寄せは維持 */
body > #footer .footer-inner,
body > #footer .footer__inner,
body > #footer .footer-container,
body > #footer .footer__container{
  margin-right:auto!important;
  margin-left:auto!important;
}

/* 縮小表示時の横スクロール発生を防ぐ */
body > #footer,
body > #footer > *{
  min-width:0;
}

/* =========================================================
   GLOBAL PAGE POSITION — zoom stability / left anchored
   ブラウザの表示倍率を下げても、ページ本体を中央へ移動させず、
   通常時と同じ左基準位置に維持する
========================================================= */
html,
body{
  width:100%;
  min-width:320px;
}

body{
  align-items:stretch;
}

/* 各ページの最外側ラッパーを左基準へ固定 */
.affiliate-page,
.article-page,
.formx-page,
.other-page,
.dr-growth-page,
.business-ai-page,
.strategy-page,
.page-image-wrap,
.page-image-cta-wrap{
  width:min(100%,1620px);
  max-width:1620px;
  margin-right:auto!important;
  margin-left:0!important;
}

/* 各ページ内の中央コンテナも、縮小時に画面中央へ移動しない */
.affiliate-inner,
.article-inner,
.formx-inner,
.formx-container,
.other-inner,
.dr-wide,
.business-ai-container,
.strategy-inner,
.privacy-inner{
  margin-right:auto!important;
  margin-left:0!important;
}

/* プライバシー・フォームなど main が直接レイアウトを持つページ */
body > main{
  max-width:1620px;
  margin-right:auto;
  margin-left:0;
}

/* お問い合わせ・資料請求 */
.diagnosis{
  margin-right:auto!important;
  margin-left:0!important;
}

/* フッターは背景だけ全幅、内容は元の左位置を維持 */
body > #footer{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

body > #footer .footer{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

body > #footer .footer-info{
  margin-right:auto!important;
  margin-left:40px!important;
}

/* PCのみ位置固定。スマホでは既存レスポンシブ設定を優先 */
@media(max-width:1036px){
  .affiliate-page,
  .article-page,
  .formx-page,
  .other-page,
  .dr-growth-page,
  .business-ai-page,
  .strategy-page,
  .page-image-wrap,
  .page-image-cta-wrap,
  body > main{
    width:100%;
    max-width:none;
    margin-right:0!important;
    margin-left:0!important;
  }

  .affiliate-inner,
  .article-inner,
  .formx-inner,
  .formx-container,
  .other-inner,
  .dr-wide,
  .business-ai-container,
  .strategy-inner,
  .privacy-inner{
    margin-right:auto!important;
    margin-left:auto!important;
  }

  body > #footer .footer-info{
    margin-left:0!important;
  }
}


/* Vector hero rendering */
img[src$=".svg"]{
  image-rendering:auto;
}

/* =========================================================
   MOBILE HERO VISUAL — FormX基準
========================================================= */
@media screen and (max-width:767px){
  .business-ai-hero,
  .business-ai-hero__inner{
    min-height:clamp(360px,105vw,430px);
  }

  .business-ai-hero__visual{
    position:absolute;
    top:calc(26px + clamp(10px,2.8vw,12px) + 14px);
    right:clamp(-105px,-22vw,-70px);
    z-index:1;
    width:clamp(280px,88vw,380px);
    height:clamp(260px,78vw,340px);
    margin:0;
    overflow:hidden;
    transform:none;
    -webkit-mask-image:none;
    mask-image:none;
  }

  .business-ai-hero__visual img{
    width:100%;
    height:100%;
    max-width:none;
    object-fit:contain;
    object-position:74% center;
  }

  .business-ai-hero__visual::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    background:linear-gradient(
      90deg,
      #fff 0%,
      rgba(255,255,255,.92) 12%,
      rgba(255,255,255,.38) 28%,
      rgba(255,255,255,0) 48%
    );
    pointer-events:none;
  }
}

/* MOBILE: hero bottom spacing */
@media screen and (max-width:767px){
  .business-ai-hero,.business-ai-hero__inner{min-height:clamp(315px,96vw,370px)}
  .business-ai-hero__inner{padding-bottom:0}
  .business-ai-problems{padding-top:0}
}

/* HERO: PC/SP break control */
@media screen and (min-width:768px){
  br.sales-mobile-break,
  br.business-ai-mobile-break{
    display:none!important;
  }
}

@media screen and (max-width:767px){
  br.sales-mobile-break,
  br.business-ai-mobile-break,
  .business-ai-hero__lead br{
    display:block!important;
  }
}

/* =========================================================
   PROBLEM ICON COLOR — support iconsと同じ明るいブルーへ統一
   元画像の白背景・薄い円枠を保ちながら、濃紺の線画だけを明るく見せる
========================================================= */
.business-ai-problem-card img{
  filter:brightness(162%) saturate(110%) hue-rotate(2deg);
}

/* =========================================================
   ICON FRAME UNIFICATION
   「こんなお悩み」へ丸枠を追加し、サポート内容・強みの
   丸枠内を他ページと同じ淡いブルーへ統一
========================================================= */
.business-ai-icon-frame {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  overflow: hidden;
  isolation: isolate;
  border-radius: 50%;
  background: #f5f8fd;
}

.business-ai-icon-frame > img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  margin: 0 !important;
  flex: none !important;
  border-radius: 50%;
  object-fit: contain;
  mix-blend-mode: multiply;
}

/* こんなお悩み：他ページと同じ丸枠・背景・影 */
.business-ai-icon-frame--problem {
  width: 100px;
  height: 100px;
  margin: 0 auto 16px;
  border: 1px solid rgba(8, 109, 243, 0.30);
  box-shadow: 0 8px 22px rgba(8, 63, 155, 0.08);
}

/* 既存のアイコン色調整は画像だけに適用し、枠色には影響させない */
.business-ai-icon-frame--problem > img {
  filter: brightness(162%) saturate(110%) hue-rotate(2deg);
}

/* サポート内容：既存の円形枠は残し、内側のみ淡いブルーへ */
.business-ai-icon-frame--support {
  width: 100px;
  height: 100px;
  margin: 0 auto 12px;
  flex-basis: 100px;
}

.business-ai-support-grid .business-ai-support-wide .business-ai-icon-frame--support {
  margin: 0;
  flex-basis: 100px;
}

/* L.EVERだからできること：丸枠内を同色へ */
.business-ai-icon-frame--strength {
  width: 100px;
  height: 100px;
  margin: 0 auto 8px;
}

@media (max-width: 767px) {
  .business-ai-icon-frame--problem {
    width: 62px;
    height: 62px;
    margin: 0 auto 9px;
  }

  .business-ai-icon-frame--support {
    width: 76px;
    height: 76px;
    margin-bottom: 9px;
    flex-basis: 76px;
  }

  .business-ai-support-grid .business-ai-support-wide .business-ai-icon-frame--support {
    width: 74px;
    height: 74px;
    margin: 0;
    flex-basis: 74px;
  }

  .business-ai-icon-frame--strength {
    width: 100px;
    height: 100px;
  }
}

@media (max-width: 390px) {
  .business-ai-icon-frame--problem {
    width: 100px;
    height: 100px;
    margin-bottom: 7px;
  }
}
