@charset "UTF-8";
/* ==========================================================================
   印刷専用スタイルシート (print.scss)
   ========================================================================== */
@media print {
  /* --- 1. 印刷の基本リセット（不要なものを消す・背景色を出す） --- */
  header, footer, nav, .btn, .no-print, [class*="button"], [class*="nav"] {
    display: none !important;
  }

  body {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    background: #fff !important;
    color: #000 !important;
  }

  /* --- 2. Safariの縦長潰れ・横はみ出しを防ぐ全体設定 --- */
  html, body, main, #wrapper, [class*="container"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  /* ==========================================================================
     3. ここから下に、崩れているセクションのSCSSを【ネストのまま】貼っていく
     ========================================================================== */
  /* hero
  -------------------- */
  .hero {
    min-height: auto !important;
    padding-bottom: 25px !important;
  }

  .hero__inner {
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, 400px) !important;
    min-height: auto !important;
    transform-origin: top left !important;
  }
  .hero__inner h1 {
    font-size: 3.2rem !important;
  }

  .hero__copy {
    width: min(100%, 600px) !important;
    max-width: 100% !important;
    min-height: auto !important;
    margin-left: 0 !important;
  }
  .hero__copy .eyebrow {
    letter-spacing: 0.08em !important;
  }

  .glass-panel {
    width: min(100%, 400px) !important;
    max-width: auto !important;
    min-height: auto !important;
  }

  /* section共通
  -------------------- */
  .page-section {
    padding: 30px 0 !important;
  }

  /* section-1 problem
  -------------------- */
  #problem .card-grid {
    gap: 10px !important;
  }
  #problem .info-card {
    padding: 24px !important;
    background-position: bottom !important;
    box-shadow: var(--shadow-2) !important;
  }
  #problem .info-card h3 {
    margin: 8px 0 0 !important;
  }
  #problem .info-card p {
    font-size: 0.9rem !important;
  }
  #problem .info-card__icon {
    width: 50px !important;
    height: auto !important;
  }

  /* section-2 service
  -------------------- */
  #service .section-hero {
    gap: 32px !important;
  }
  #service .visual-box--image {
    width: clamp(240px, 34vw, 360px) !important;
  }
  #service .section-divider {
    margin: 36px 0 24px !important;
    margin: 0 0 24px !important;
  }
  #service .card-grid--four {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
  }
  #service .info-card {
    min-height: auto !important;
  }
  #service .info-card__body {
    padding: 15px !important;
  }

  /* section-3 benefits
  -------------------- */
  #benefits .card-grid--three {
    grid-template-columns: 1fr !important;
  }
  #benefits .info-card {
    grid-template-columns: auto 1fr !important;
    gap: 0 !important;
    align-items: center !important;
    max-width: 100% !important;
    padding: 15px !important;
    min-height: auto !important;
    font-size: 90% !important;
  }
  #benefits .info-card__img {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    max-width: 200px !important;
    margin-left: 18px !important;
  }
  #benefits .info-card__heading {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }
  #benefits .info-card__text {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  /* section-4 operation
  -------------------- */
  #operation .section-visual {
    margin-top: -15px !important;
  }
  #operation .card-grid--three {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  #operation .card-grid {
    margin-top: -40px !important;
    font-size: 85% !important;
  }
  #operation .info-card {
    padding: 20px 24px 24px !important;
  }
  #operation .info-card__icon {
    margin-bottom: 18px !important;
    padding-bottom: 18px !important;
  }

  /* section-5 voice
  -------------------- */
  #voice {
    padding: 20px 0 !important;
  }
  #voice .section-header {
    grid-template-columns: 60% 1fr !important;
    gap: 0 !important;
    align-items: end !important;
  }
  #voice .section-visual {
    margin-top: 0 !important;
  }
  #voice .card-grid {
    grid-template-columns: 1fr !important;
  }
  #voice .card-head {
    gap: 14px !important;
  }
  #voice .avatar {
    width: 84px !important;
    height: 84px !important;
    flex-basis: 84px !important;
  }
  #voice .card-user {
    margin-top: 14px !important;
    font-size: 15px !important;
  }
  #voice .card-divider {
    margin: 22px 0 20px !important;
  }
}

/*# sourceMappingURL=print.css.map */
