﻿/* ===================================
  印刷・PDF出力用スタイルシート
  =================================== */

@media print {
   /* ===================================
      基本設定
      =================================== */
   * {
       -webkit-print-color-adjust: exact !important;
       print-color-adjust: exact !important;
       color-adjust: exact !important;
   }
  
   body {
       margin: 0;
       padding: 0;
       background: white !important;
       font-size: 11pt;
       line-height: 1.6;
   }
  
   .container {
       max-width: 100%;
       padding: 0 15mm;
   }
  
   /* ===================================
      非表示要素
      =================================== */
   .header,
   .nav,
   .page-top,
   .faq-toggle,
   #contactForm,
   .form-submit,
   .btn-primary,
   .cta-button,
   .hero-cta,
   .footer-links {
       display: none !important;
   }
  
   /* ===================================
      改ページ設定
      =================================== */
   .section {
       page-break-inside: avoid;
       padding: 15mm 0;
   }
  
   .hero,
   .problem-section,
   .concept-section,
   .system-section,
   .features-section,
   .recommend-section,
   .voice-section,
   .price-section,
   .faq-section,
   .contact-section,
   .company-section {
       page-break-after: auto;
       page-break-before: auto;
   }
  
   .section-header {
       page-break-after: avoid;
   }
  
   h1, h2, h3, h4, h5, h6 {
       page-break-after: avoid;
       page-break-inside: avoid;
   }
  
   /* ===================================
      ヒーローセクション
      =================================== */
   .hero {
       background: linear-gradient(135deg, #FFF5E6 0%, #FFF9F5 100%) !important;
       padding: 20mm 0 !important;
       page-break-after: always;
   }
  
   .hero::before {
       display: none;
   }
  
   .hero-inner {
       display: block !important;
   }
  
   .hero-image {
       display: none;
   }
  
   .hero-title {
       font-size: 24pt;
       margin-bottom: 10mm;
       color: #333 !important;
   }
  
   .hero-title .highlight {
       color: #FF8C42 !important;
   }
  
   .hero-title .service-name {
       color: #4CAF50 !important;
       font-size: 28pt;
   }
  
   .hero-subtitle {
       font-size: 12pt;
       margin-bottom: 10mm;
       color: #666 !important;
   }
  
   .hero-badge {
       background-color: white !important;
       border: 1px solid #E0E0E0;
       padding: 5mm;
       margin-bottom: 10mm;
       font-size: 10pt;
   }
  
   /* ===================================
      セクションタイトル
      =================================== */
   .section-title {
       font-size: 18pt;
       margin-bottom: 10mm;
       color: #333 !important;
   }
  
   .section-title .highlight-orange {
       color: #FF8C42 !important;
   }
  
   .section-title .highlight-green {
       color: #4CAF50 !important;
   }
  
   .section-description {
       font-size: 11pt;
       margin-bottom: 8mm;
       color: #666 !important;
   }
  
   .section-label span {
       background-color: #E8F5E9 !important;
       color: #4CAF50 !important;
       padding: 3mm 6mm;
       border-radius: 15mm;
       font-size: 10pt;
   }
  
   /* ===================================
      問題提起セクション
      =================================== */
   .problem-section {
       background-color: #FFF9F5 !important;
   }
  
   .problem-list {
       display: grid;
       grid-template-columns: repeat(2, 1fr);
       gap: 5mm;
       page-break-inside: avoid;
   }
  
   .problem-item {
       background-color: white !important;
       border: 1px solid #E0E0E0;
       padding: 5mm;
       border-radius: 3mm;
       page-break-inside: avoid;
   }
  
   .problem-icon {
       width: 15mm;
       height: 15mm;
       background: #FF8C42 !important;
       border-radius: 50%;
       display: flex;
       justify-content: center;
       align-items: center;
       margin: 0 auto 5mm;
   }
  
   .problem-icon i {
       color: white !important;
       font-size: 14pt;
   }
  
   .problem-item-title {
       font-size: 10pt;
       text-align: center;
       color: #333 !important;
   }
  
   /* ===================================
      コンセプトセクション
      =================================== */
   .concept-note {
       background-color: #E8F5E9 !important;
       border-left: 2mm solid #4CAF50;
       padding: 5mm;
       border-radius: 2mm;
       page-break-inside: avoid;
   }
  
   .concept-text p {
       margin-bottom: 5mm;
       color: #333 !important;
   }
  
   /* ===================================
      仕組みセクション
      =================================== */
   .system-section {
       background-color: #FFF5E6 !important;
   }
  
   .system-steps {
       display: grid;
       grid-template-columns: repeat(5, 1fr);
       gap: 3mm;
       page-break-inside: avoid;
   }
  
   .step-arrow {
       display: none;
   }
  
   .step-item {
       background-color: white !important;
       border: 1px solid #E0E0E0;
       padding: 5mm 3mm;
       border-radius: 3mm;
       text-align: center;
       page-break-inside: avoid;
   }
  
   .step-number {
       position: relative;
       top: 0;
       left: 0;
       transform: none;
       width: 10mm;
       height: 10mm;
       background: #FF8C42 !important;
       color: white !important;
       border-radius: 50%;
       display: inline-flex;
       justify-content: center;
       align-items: center;
       font-size: 12pt;
       margin-bottom: 3mm;
   }
  
   .step-icon {
       width: 15mm;
       height: 15mm;
       background-color: #FFF9F5 !important;
       margin: 0 auto 3mm;
   }
  
   .step-icon i {
       color: #FF8C42 !important;
       font-size: 12pt;
   }
  
   .step-title {
       font-size: 9pt;
       margin-bottom: 2mm;
       color: #333 !important;
   }
  
   .step-description {
       font-size: 8pt;
       color: #666 !important;
   }
  
   .system-info {
       display: grid;
       grid-template-columns: repeat(4, 1fr);
       gap: 3mm;
       page-break-inside: avoid;
       margin-top: 5mm;
   }
  
   .info-box {
       background-color: white !important;
       border: 1px solid #E0E0E0;
       padding: 5mm;
       border-radius: 2mm;
       text-align: center;
   }
  
   .info-box h4 {
       font-size: 9pt;
       margin-bottom: 2mm;
       color: #333 !important;
   }
  
   .info-box h4 i {
       color: #4CAF50 !important;
   }
  
   .info-box p {
       font-size: 8pt;
       color: #666 !important;
   }
  
   /* ===================================
      メリットセクション
      =================================== */
   .features-grid {
       display: grid;
       grid-template-columns: repeat(2, 1fr);
       gap: 5mm;
       page-break-inside: avoid;
   }
  
   .feature-card {
       background-color: white !important;
       border: 1px solid #4CAF50;
       padding: 5mm;
       border-radius: 3mm;
       page-break-inside: avoid;
   }
  
   .feature-number {
       position: relative;
       top: 0;
       right: 0;
       font-size: 20pt;
       color: #E8F5E9 !important;
   }
  
   .feature-icon {
       width: 20mm;
       height: 20mm;
       background: #4CAF50 !important;
       margin: 0 auto 5mm;
   }
  
   .feature-icon i {
       color: white !important;
       font-size: 16pt;
   }
  
   .feature-title {
       font-size: 11pt;
       margin-bottom: 3mm;
       color: #333 !important;
   }
  
   .feature-description {
       font-size: 9pt;
       color: #666 !important;
   }
  
   /* ===================================
      おすすめセクション
      =================================== */
   .recommend-section {
       background-color: #FFF9F5 !important;
   }
  
   .recommend-list {
       display: block;
   }
  
   .recommend-item {
       background-color: white !important;
       border: 1px solid #E0E0E0;
       padding: 5mm;
       margin-bottom: 3mm;
       border-radius: 15mm;
       display: flex;
       align-items: center;
       gap: 5mm;
       page-break-inside: avoid;
   }
  
   .recommend-icon {
       width: 12mm;
       height: 12mm;
       background-color: #E8F5E9 !important;
       flex-shrink: 0;
   }
  
   .recommend-icon i {
       color: #4CAF50 !important;
       font-size: 12pt;
   }
  
   .recommend-item p {
       font-size: 10pt;
       color: #333 !important;
   }
  
   /* ===================================
      利用者の声セクション
      =================================== */
   .voice-grid {
       display: grid;
       grid-template-columns: repeat(3, 1fr);
       gap: 5mm;
       page-break-inside: avoid;
   }
  
   .voice-card {
       background-color: white !important;
       border: 1px solid #E0E0E0;
       padding: 5mm;
       border-radius: 3mm;
       page-break-inside: avoid;
   }
  
   .voice-avatar {
       width: 15mm;
       height: 15mm;
       background: #FF8C42 !important;
   }
  
   .voice-avatar i {
       color: white !important;
       font-size: 12pt;
   }
  
   .voice-info h4 {
       font-size: 10pt;
       color: #333 !important;
   }
  
   .voice-info p {
       font-size: 8pt;
       color: #999 !important;
   }
  
   .voice-content {
       font-size: 9pt;
       color: #666 !important;
   }
  
   /* ===================================
      料金セクション
      =================================== */
   .price-section {
       background-color: #FFF5E6 !important;
   }
  
   .price-card {
       background-color: white !important;
       border: 2px solid #FF8C42;
       border-radius: 5mm;
       overflow: visible;
       page-break-inside: avoid;
   }
  
   .price-main {
       background: #FF8C42 !important;
       padding: 10mm;
       text-align: center;
       color: white !important;
   }
  
   .price-label,
   .price-value,
   .price-unit,
   .price-tax,
   .price-tax-note {
       color: white !important;
   }
  
   .price-value {
       font-size: 36pt;
   }
  
   .price-includes {
       padding: 8mm;
       border-bottom: 1px solid #E0E0E0;
   }
  
   .price-includes h4 {
       font-size: 11pt;
       color: #333 !important;
   }
  
   .price-includes ul li {
       font-size: 10pt;
       color: #666 !important;
       padding: 2mm 0;
   }
  
   .price-notes {
       padding: 5mm 8mm;
       background-color: #FFF9F5 !important;
   }
  
   .price-notes p {
       font-size: 9pt;
       color: #666 !important;
   }
  
   /* ===================================
      FAQセクション
      =================================== */
   .faq-list {
       page-break-inside: auto;
   }
  
   .faq-item {
       background-color: white !important;
       border: 1px solid #E0E0E0;
       margin-bottom: 3mm;
       padding: 5mm;
       border-radius: 2mm;
       page-break-inside: avoid;
   }
  
   .faq-question {
       padding: 0;
       cursor: default;
   }
  
   .faq-question i.fa-question-circle {
       color: #FF8C42 !important;
       font-size: 12pt;
   }
  
   .faq-question h3 {
       font-size: 11pt;
       color: #333 !important;
   }
  
   .faq-answer {
       max-height: none !important;
       overflow: visible !important;
       padding: 3mm 0 0 0 !important;
       display: block !important;
   }
  
   .faq-answer p {
       font-size: 10pt;
       color: #666 !important;
   }
  
   /* ===================================
      資料請求セクション（PDF用メッセージ）
      =================================== */
   .contact-section {
       background: #FFF9F5 !important;
       text-align: center;
   }
  
   .contact-form-wrapper::after {
       content: "資料請求はウェブサイトからお願いいたします";
       display: block;
       padding: 10mm;
       background-color: white;
       border: 2px solid #4CAF50;
       border-radius: 5mm;
       font-size: 14pt;
       font-weight: bold;
       color: #4CAF50 !important;
       margin: 10mm auto;
   }
  
   /* ===================================
      事業者情報セクション
      =================================== */
   .company-section {
       page-break-before: always;
   }
  
   .company-intro p {
       font-size: 10pt;
       color: #666 !important;
       margin-bottom: 5mm;
   }
  
   .company-philosophy {
       background: #E8F5E9 !important;
       padding: 8mm;
       margin: 8mm 0;
       border-radius: 3mm;
   }
  
   .philosophy-text {
       font-size: 16pt;
       color: #4CAF50 !important;
   }
  
   .company-info {
       background-color: white !important;
       border: 1px solid #E0E0E0;
       padding: 8mm;
       border-radius: 3mm;
   }
  
   .company-table th {
       font-size: 10pt;
       color: #333 !important;
       padding: 3mm 3mm 3mm 0;
   }
  
   .company-table td {
       font-size: 10pt;
       color: #666 !important;
       padding: 3mm 0;
   }
  
   .company-table td a {
       color: #2196F3 !important;
       text-decoration: underline;
   }
  
   /* ===================================
      フッター
      =================================== */
   .footer {
       background-color: #2C3E50 !important;
       color: white !important;
       padding: 10mm 0 5mm;
       page-break-before: avoid;
   }
  
   .footer-content {
       display: block;
       text-align: center;
   }
  
   .footer-logo h3,
   .footer-logo p,
   .footer-bottom p {
       color: white !important;
   }
  
   .footer-logo h3 {
       font-size: 14pt;
       margin-bottom: 3mm;
   }
  
   .footer-logo p {
       font-size: 10pt;
       margin-bottom: 5mm;
   }
  
   .footer-bottom {
       padding-top: 5mm;
       border-top: 1px solid rgba(255, 255, 255, 0.3);
   }
  
   .footer-bottom p {
       font-size: 9pt;
   }
  
   /* ===================================
      リンクの表示調整
      =================================== */
   a[href]:after {
       content: "";
   }
  
   a[href^="http"]:after {
       content: " (" attr(href) ")";
       font-size: 8pt;
       color: #999 !important;
   }
  
   a[href^="#"]:after {
       content: "";
   }
  
   /* ===================================
      ページ番号（オプション）
      =================================== */
   @page {
       margin: 15mm 15mm 20mm 15mm;
      
       @bottom-center {
           content: counter(page) " / " counter(pages);
           font-size: 9pt;
           color: #999;
       }
   }
}
