/* ===============================================
   PRINT STYLESHEET
   印刷用スタイルシート
   =============================================== */

@media print {
    /* =============== 基本設定 =============== */
    * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        color-adjust: exact !important;
    }

    body {
        font-family: "Noto Sans JP", sans-serif;
        font-size: 9pt;
        line-height: 1.5;
        color: #000;
        background: #fff;
        margin: 0;
        padding: 0;
    }

    /* lazy loadされた要素を強制表示 */
    img[loading="lazy"],
    video[loading="lazy"] {
        opacity: 1 !important;
        visibility: visible !important;
        content-visibility: visible !important;
    }

    /* 全ての画像と動画を強制的に読み込ませる */
    img, video {
        content-visibility: visible !important;
        opacity: 1 !important;
        visibility: visible !important;
        display: block !important;
    }

    /* =============== 非表示要素 =============== */
    /* ヘッダー・ナビゲーション */
    .header,
    .nav,
    .nav__menu,
    .nav__toggle,
    .nav__close,
    
    /* フッター */
    .footer,
    .footer__container,
    .footer__bottom,
    
    /* CTA・お問い合わせセクション */
    .cta,
    .page-cta,
    .product-cta,
    .ai-cta,
    .media-cta,
    .hr-cta,
    
    /* その他のUI要素 */
    .scroll-top,
    .cookie-banner,
    
    /* 動画・背景要素 */
    video,
    .hero__video,
    .page-hero__video,
    .page-hero__video-bg,
    .page-hero__overlay,
    .quick-link__overlay,
    
    /* インタラクティブ要素 */
    button[type="submit"],
    .button,
    .nav__link--cta,
    
    /* SNS・外部リンク */
    .social-links {
        display: none !important;
    }

    /* =============== ページ設定 =============== */
    @page {
        size: A4;
        margin: 1.5cm 1.2cm;
    }

    /* 改ページ制御 */
    h1, h2, h3, h4, h5, h6 {
        page-break-after: avoid;
        page-break-inside: avoid;
    }

    p, li {
        orphans: 2;
        widows: 2;
    }

    section {
        page-break-inside: auto;
    }

    .section {
        page-break-inside: auto;
    }

    /* 大きなコンテンツブロック */
    .service-card,
    .quick-link__card,
    .challenge-card,
    .info-table,
    .timeline__item {
        page-break-inside: avoid;
    }

    /* =============== ヒーローセクション（タイトル化） =============== */
    .hero,
    .hero--fullwidth,
    .page-hero {
        min-height: auto !important;
        height: auto !important;
        padding: 0.8cm 0 0.6cm !important;
        margin-bottom: 0.6cm !important;
        background: #fff !important;
        border-bottom: 2px solid #000;
        position: relative !important;
        overflow: visible !important;
    }

    .hero__content-wrapper,
    .hero__content,
    .page-hero__content {
        max-width: 100% !important;
        padding: 0 !important;
        text-align: left !important;
        background: transparent !important;
    }

    .hero__tagline {
        font-size: 8pt !important;
        color: #666 !important;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        margin-bottom: 0.2cm;
        font-weight: 500;
    }

    .hero__title,
    .page-hero__title {
        font-size: 20pt !important;
        font-weight: 700 !important;
        color: #000 !important;
        line-height: 1.2 !important;
        margin: 0 0 0.3cm 0 !important;
        letter-spacing: -0.02em;
    }

    .hero__subtitle,
    .page-hero__subtitle {
        font-size: 10pt !important;
        color: #333 !important;
        line-height: 1.5 !important;
        margin: 0 !important;
        font-weight: 400;
    }

    .hero__features,
    .page-hero__features {
        display: none !important;
    }

    /* =============== セクション =============== */
    .section {
        padding: 0.5cm 0 !important;
        margin: 0 !important;
    }

    .container {
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* =============== 見出し =============== */
    .section-header,
    .section-header__title,
    .page-cta__title {
        text-align: left !important;
        margin-bottom: 0.4cm !important;
        border-bottom: 1px solid #000;
        padding-bottom: 0.2cm;
    }

    .section-header__title,
    h2 {
        font-size: 14pt !important;
        font-weight: 700 !important;
        color: #000 !important;
        margin: 0.5cm 0 0.3cm 0 !important;
        line-height: 1.3;
    }

    h3 {
        font-size: 11pt !important;
        font-weight: 600 !important;
        color: #000 !important;
        margin: 0.4cm 0 0.2cm 0 !important;
    }

    h4 {
        font-size: 10pt !important;
        font-weight: 600 !important;
        color: #333 !important;
        margin: 0.3cm 0 0.2cm 0 !important;
    }

    .section-header__subtitle {
        display: none !important;
    }

    /* =============== テキスト =============== */
    p {
        font-size: 9pt;
        line-height: 1.5;
        color: #000;
        margin: 0 0 0.3cm 0;
    }

    strong, b {
        font-weight: 700 !important;
        color: #000 !important;
        background: none !important;
        -webkit-text-fill-color: #000 !important;
        -webkit-background-clip: initial !important;
        background-clip: initial !important;
    }

    /* ハイライトクラスも強制的に黒色 */
    .ai-intro__highlight,
    .media-intro__highlight,
    .hr-intro__highlight {
        color: #000 !important;
        background: none !important;
        -webkit-text-fill-color: #000 !important;
        -webkit-background-clip: initial !important;
        background-clip: initial !important;
        font-weight: 700 !important;
    }

    a {
        color: #000 !important;
        text-decoration: none !important;
    }

    a[href^="http"]:after {
        content: " (" attr(href) ")";
        font-size: 8pt;
        color: #666;
    }

    /* 内部リンクのURL非表示 */
    a[href^="#"]:after,
    a[href^="/"]:after,
    a[href*="javascript"]:after {
        content: "";
    }

    /* =============== リスト =============== */
    ul, ol {
        margin: 0.3cm 0;
        padding-left: 0.6cm;
    }

    li {
        font-size: 9pt;
        line-height: 1.5;
        margin-bottom: 0.15cm;
    }

    /* =============== テーブル =============== */
    table {
        width: 100%;
        border-collapse: collapse;
        margin: 0.4cm 0;
        page-break-inside: avoid;
    }

    .info-table th,
    .info-table td {
        padding: 0.25cm 0.3cm;
        border: 1px solid #000;
        font-size: 8pt;
        line-height: 1.4;
    }

    .info-table th {
        background: #f0f0f0 !important;
        font-weight: 600;
        text-align: left;
        width: 30%;
    }

    .info-table td {
        background: #fff !important;
    }

    /* =============== カード系コンポーネント =============== */
    .quick-link__card,
    .service-card,
    .challenge-card,
    .feature-card {
        display: block !important;
        margin-bottom: 0.4cm !important;
        margin-top: 0 !important;
        padding: 0.3cm !important;
        border: 1px solid #ccc !important;
        background: #fff !important;
        page-break-inside: avoid;
    }

    /* カード内のアイコンコンテナも余白削除 */
    .challenge-card > *:first-child,
    .service-card > *:first-child {
        margin-top: 0 !important;
    }

    .quick-link__image,
    .service-card__image,
    .challenge-card__icon,
    .challenge-card__icon i,
    .service-card__icon,
    .service-card__icon i {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .quick-link__title,
    .service-card__title,
    .challenge-card__title {
        font-size: 11pt !important;
        font-weight: 600 !important;
        color: #000 !important;
        margin: 0 0 0.2cm 0 !important;
    }

    .quick-link__description,
    .service-card__description,
    .challenge-card__text {
        font-size: 9pt !important;
        color: #333 !important;
        line-height: 1.5 !important;
    }

    .quick-link__arrow,
    .service-card__arrow {
        display: none !important;
    }

    /* =============== グリッドレイアウト =============== */
    .quick-links__grid,
    .services-cards__grid,
    .page-challenges__grid,
    .page-services__grid {
        display: block !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    /* グリッド直下の最初のカードも上余白なし */
    .quick-links__grid > *:first-child,
    .services-cards__grid > *:first-child,
    .page-challenges__grid > *:first-child,
    .page-services__grid > *:first-child {
        margin-top: 0 !important;
    }

    /* =============== タイムライン =============== */
    .timeline__item {
        display: block !important;
        margin-bottom: 0.3cm !important;
        padding: 0.3cm 0 !important;
        border-bottom: 1px solid #ccc !important;
    }

    .timeline__year {
        font-weight: 600;
        font-size: 9pt;
        color: #000;
        margin-bottom: 0.15cm;
    }

    .timeline__content {
        font-size: 9pt;
        color: #333;
        line-height: 1.5;
    }

    /* =============== プロセス・アプローチステップ =============== */
    .ai-process-step,
    .media-process-step,
    .hr-process-step,
    .process-step,
    .approach-item {
        display: block !important;
        margin-bottom: 0.4cm !important;
        margin-top: 0 !important;
        padding: 0.3cm !important;
        border: 1px solid #ccc !important;
        background: #fff !important;
        page-break-inside: avoid;
    }

    .ai-process-step__number,
    .media-process-step__number,
    .hr-process-step__number,
    .process-step__number {
        font-size: 9pt;
        font-weight: 600;
        color: #000;
        margin-bottom: 0.2cm;
    }

    .ai-process-step__title,
    .media-process-step__title,
    .hr-process-step__title,
    .process-step__title {
        font-size: 10pt !important;
        font-weight: 600 !important;
        color: #000 !important;
        margin: 0 0 0.2cm 0 !important;
    }

    .ai-process-step__text,
    .media-process-step__text,
    .hr-process-step__text,
    .process-step__text {
        font-size: 9pt;
        color: #333;
        line-height: 1.5;
        margin: 0;
    }

    .ai-process-step__content,
    .media-process-step__content,
    .hr-process-step__content,
    .process-step__content {
        margin-top: 0 !important;
    }

    /* =============== フォーム =============== */
    form,
    .contact__form,
    .form__group {
        display: none !important;
    }

    /* =============== Media Challenges Note =============== */
    .media-challenges__note {
        margin-top: 0.5cm !important;
        padding: 0.4cm !important;
        background: #f0f9ff !important;
        border-left: 3px solid #000 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        page-break-inside: avoid;
    }

    .media-challenges__note p {
        font-size: 9pt !important;
        line-height: 1.6 !important;
        color: #000 !important;
        margin: 0 !important;
    }

    .media-challenges__note strong {
        color: #000 !important;
        font-weight: 700 !important;
        background: none !important;
        -webkit-text-fill-color: #000 !important;
    }

    /* =============== 連絡先情報 =============== */
    .contact__info {
        display: block !important;
        margin: 0.4cm 0;
        page-break-inside: avoid;
    }

    .contact__card {
        display: block !important;
        margin-bottom: 0.3cm;
        padding: 0.3cm;
        border: 1px solid #ccc;
        background: #f9f9f9 !important;
    }

    /* =============== 会社情報 =============== */
    .company-info,
    .about__content {
        font-size: 9pt;
        line-height: 1.5;
    }

    /* =============== CTA・ボタン（非表示に変更） =============== */
    .cta,
    .page-cta {
        display: none !important;
    }

    /* =============== 画像 =============== */
    img {
        max-width: 100% !important;
        height: auto !important;
        page-break-inside: avoid;
        display: block !important;
        margin: 0.3cm 0;
        opacity: 1 !important;
        visibility: visible !important;
        content-visibility: visible !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* data-aos等のアニメーション要素も確実に表示 */
    [data-aos] {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    /* ロゴなどの小さい画像 */
    .nav__logo-img,
    .footer__logo-img {
        display: none !important;
    }

    /* =============== 製品ページ =============== */
    .product-hero {
        padding: 0.8cm 0 !important;
        background: #fff !important;
    }

    .pricing-card {
        border: 1px solid #000 !important;
        padding: 0.4cm !important;
        margin-bottom: 0.4cm !important;
        page-break-inside: avoid;
    }

    .pricing-card__title {
        font-size: 11pt !important;
        font-weight: 600 !important;
        color: #000 !important;
    }

    .pricing-card__price {
        font-size: 14pt !important;
        font-weight: 700 !important;
        color: #000 !important;
        margin: 0.2cm 0 !important;
    }

    /* =============== ユーティリティ =============== */
    .print-hide {
        display: none !important;
    }

    .print-show {
        display: block !important;
    }

    /* =============== ページヘッダー・フッター =============== */
    /* ブラウザのデフォルトヘッダー/フッターを利用 */
    @page {
        @top-center {
            content: element(page-header);
        }
        @bottom-center {
            content: counter(page);
        }
    }

    /* =============== 強制改ページ =============== */
    .page-break-before {
        page-break-before: always;
    }

    .page-break-after {
        page-break-after: always;
    }

    /* =============== 色の最適化 =============== */
    /* 背景色を削除してインク節約 */
    * {
        background: transparent !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    /* 重要な背景色のみ保持 */
    .info-table th,
    .contact__card,
    .cta {
        background: #f5f5f5 !important;
    }

    /* =============== リンクの表示改善 =============== */
    .contact__info a,
    .info-table a {
        color: #000 !important;
        font-weight: 500;
    }

    /* =============== アイコン =============== */
    /* Font Awesomeアイコン完全削除（余白も含めて） */
    .fas, .far, .fab, .fa, i[class*="fa-"] {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 0 !important;
        line-height: 0 !important;
    }

    .fas::before, .far::before, .fab::before, .fa::before, i[class*="fa-"]::before {
        content: "" !important;
        display: none !important;
    }

    /* 重要なアイコンのみテキスト化 */
    [class*="fa-phone"]:before {
        content: "TEL: ";
        font-family: "Noto Sans JP", sans-serif !important;
        display: inline !important;
    }

    [class*="fa-envelope"]:before {
        content: "Email: ";
        font-family: "Noto Sans JP", sans-serif !important;
        display: inline !important;
    }
}
