/* September review: readable copy and fewer nested surfaces. Load after meeting-feedback.css. */
.operations-heading > p {
  margin-inline: auto;
  text-align: center;
  text-wrap: balance;
}
.practice-copy-line { display: block; }

.practice-principles > header h3 {
  position: relative;
  padding-bottom: 22px;
}
.practice-principles > header h3::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 56px;
  height: 4px;
  transform: translateX(-50%);
  background: var(--color-blue);
}

.operation-story,
.operation-story.operation-story-company-ai {
  border: 0;
  border-top: 1px solid #d5e7f2;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.operation-visual,
.operation-story-company-ai .company-ai-visual {
  border: 0;
  border-radius: 12px;
  box-shadow: none;
}
.operation-story-company-ai .company-ai-office li small {
  display: block;
  min-height: 3.1em;
  line-height: 1.55;
}
.ai-description-line {
  display: block;
  white-space: nowrap;
}

.usecase-panels > article {
  border: 0;
  border-top: 1px solid #d7e8f3;
  border-radius: 0;
  box-shadow: none;
}
.usecase-groups { border-bottom: 0; }
.diagnosis-start {
  border: 0;
  box-shadow: 0 14px 40px rgba(0, 10, 34, .14);
}
.diagnosis-start li {
  border: 0;
  border-bottom: 1px solid #dceaf3;
  border-radius: 0;
  background: transparent;
}
.diagnosis-note-line { display: block; }
.diagnosis-start > small { line-height: 1.8; text-wrap: balance; }

@media (max-width: 768px) {
  /* Copy takes its own solid surface; photo height no longer determines legibility. */
  .hero-ai {
    --hero-photo-height: clamp(330px, 90vw, 430px);
    min-height: 0;
    background: #f7fbfe;
  }
  .hero-ai-photo {
    inset: 100px 0 auto;
    width: 100%;
    height: calc(var(--hero-photo-height) - 100px);
    object-position: 82% 50%;
    transform: none;
  }
  .hero-ai::after {
    inset: 0 0 auto;
    height: var(--hero-photo-height);
    background: linear-gradient(180deg, #f7fbfe 0 100px, rgba(247, 251, 254, .6) 116px, transparent 150px, transparent 73%, #071a3d 100%);
  }
  .hero-ai-inner { width: 100%; min-height: 0; }
  .hero-ai-copy {
    position: relative;
    inset: auto;
    width: 100%;
    padding: 0;
    display: block;
  }
  .hero-ai-message {
    max-width: none;
    min-height: var(--hero-photo-height);
    padding: 24px 22px 0;
  }
  .hero-ai h1 { max-width: none; }
  .hero-ai-conversion {
    width: 100%;
    padding: 8px 22px 26px;
    background: #071a3d;
  }
  .hero-ai-lead {
    max-width: none;
    margin: 0 0 16px;
    color: #fff;
    font-size: var(--fs-body);
    line-height: 1.75;
  }
  .hero-ai-authority {
    max-width: none;
    margin-bottom: 18px;
    color: #e5eff9;
  }
  .hero-ai-actions { width: 100%; }
  .hero-ai-note { margin-top: 10px; }

  .operation-story,
  .operation-story.operation-story-company-ai { padding-inline: 0; }
  .operation-story-company-ai .operation-story-copy { padding-inline: 0; }
  .operation-story-company-ai .company-ai-visual { padding-inline: 0; }
  .operation-story-company-ai .company-ai-office li { padding-inline: 6px; }

}

@media (max-width: 1100px) {
  .mobile-fixed-cta {
    position: fixed;
    inset: auto 0 0;
    z-index: 100;
    display: grid;
    grid-template-columns: 1fr;
    height: calc(48px + env(safe-area-inset-bottom, 0px));
    padding-bottom: env(safe-area-inset-bottom, 0px);
    background: var(--color-cta);
    box-shadow: 0 -2px 12px rgba(5, 29, 54, .1);
    visibility: hidden;
    pointer-events: none;
    transform: translateY(100%);
    transition: transform .22s ease, visibility .22s;
  }
  .mobile-fixed-cta a { display: grid; place-items: center; min-height: 48px; font-size: var(--fs-xs); font-weight: 800; color: var(--color-cta-text); background: var(--color-cta); }
  .mobile-fixed-cta.is-visible {
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }
  body.menu-open .mobile-fixed-cta {
    visibility: hidden;
    pointer-events: none;
    transform: translateY(100%);
  }
}

@media (max-width: 360px) {
  .hero-ai-message { padding-inline: 18px; }
  .hero-ai-conversion { padding-inline: 18px; }
  .hero-ai-authority .nb { white-space: normal; }
  .hero-ai-actions strong { font-size: var(--fs-xs); }
  .diagnosis-start { padding-inline: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-fixed-cta { transition: none; }
}

/* 2026-09-15 PCセクション間隔調整 — 768px以下のスマホ値は維持 */
@media (min-width: 769px) {
  #service { padding-block: 48px; }
  .comparison { padding-block: 58px; }
  .operations-section { padding-block: 60px; }
  .credibility-section { padding-block: 48px; }
  #case { padding-block: 48px; }
  .diagnosis-section { padding-block: 42px; }
  .flow { padding-block: 46px; }
  .plan-section { padding-block: 48px; }
  .faq-section { padding-block: 40px; }

  .operations-proofline { margin-bottom: 20px; }
  .practice-results { margin-top: 44px; }
  .practice-principles { margin-top: 44px; }
  .faq-layout { row-gap: 28px; }

  .operation-story.operation-story-company-ai {
    margin-top: -14px;
    padding-top: 20px;
  }
  .operation-story-company-ai .company-ai-visual { padding-top: 24px; }
}

/* Keep a single boundary around each workflow stage. */
.comparison-support-board { border: 0; box-shadow: none; }
.comparison-support-board li { border: 1px solid #d5e7f2; box-shadow: none; }
.mail-operation-flow > .is-processing { border-width: 1px; }
.mail-operation-flow .is-processing ul > li {
  border: 0;
  border-bottom: 1px solid #d5e7f2;
  border-radius: 0;
  background: transparent;
}

/* September 7 annotated review: section boundaries, spacing and alignment. */
main > .section { border-block: 0; }
.operation-story,
.operation-story.operation-story-company-ai { border-top: 0; }
.practice-principles > ol { border-bottom: 0; }
.credibility-story li:last-child { border-bottom: 0; }
.credibility-main { margin-bottom: 0; }
.credibility-story { padding-bottom: 0; }
.credibility-split-lead { margin: 32px 0; }
.credibility-role-grid { margin-block: 0; }
.credibility-stance {
  width: 100%;
  margin: 32px 0 0;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
}
.credibility-proof {
  width: 100%;
  margin: 32px 0 0;
  padding: 24px;
  border-block: 0;
}
.diagnosis-intro li { justify-content: center; text-align: center; }
.final-cta > ul > li { justify-content: center; text-align: center; }
.plan-main-cta { row-gap: 12px; }
.plan-main-cta > small,
.plan-main-cta .plan-note {
  margin: 0;
  max-width: 100%;
  font-size: var(--fs-note);
  line-height: 1.8;
}
@media (max-width: 768px) {
  .plan-main-cta > small,
  .plan-main-cta .plan-note { font-size: var(--fs-body); }
  .diagnosis-intro > div:last-child > p { text-align: center; text-wrap: balance; }
  .diagnosis-intro ul { gap: 12px; }
  .diagnosis-intro li { padding-block: 10px; }
  .flow-list p { max-width: 100%; margin-inline: auto; line-height: 1.8; }
  .flow-copy-line { display: block; }
  .final-cta > ul { gap: 12px; }
}
@media (max-width: 520px) {
  .flow-list p { font-size: var(--fs-note); }
  .flow-copy-line { white-space: nowrap; }
}
/* Equal breathing room before and after the three diagnosis labels. */
.diagnosis-intro { margin-bottom: 24px; }
.diagnosis-intro > div:last-child > p { margin-bottom: 0; }
.diagnosis-intro > div:last-child > ul { margin-top: 24px; }

/* FAQ answers share one right edge; do not rebalance each paragraph's lines. */
.faq-list details p {
  word-break: normal;
  text-wrap: wrap;
  text-align: justify;
  text-align-last: left;
}
