@media print {
 * {
    visibility: visible !important;
  }

  /* =========================
     ページ設定
  ========================= */
  @page {
    size: A4;
    margin: 15mm;
  }

  * {
    background: none !important;
    color: #000 !important;
    box-shadow: none !important;
  }

  body {
    font-size: 11pt;
    line-height: 1.6;
  }


		
/* =========================
     一括改ページ解除（これが空白の正体）
  ========================= */
  * {
    page-break-inside: auto !important;
    break-inside: auto !important;
  }

  section, div, .wrapper_01 {
    display: block !important; /* 複雑な構造を一旦バラす */
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }
html, body {
    margin: 0 !important;
    padding: 0 !important;
  }

  /* ヘッダー跡地などが残らないように */
  header, #header2 {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }


	
  /* =========================
     非表示
  ========================= */
  header,
  footer,
  .nav2-overlay,
  .about2-hero-overlay,
  .solution-link,
  iframe {
    display: none !important;
  }

  /* =========================
     Hero
  ========================= */
  .about2-hero-bg {
    display: none;
  }

  .hero2-ja {
    font-size: 20pt;
    margin-bottom: 8px;
	color: #fff !important;
  }
.about2-hero {
    display: block !important;
    background-color: #005bac !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    padding: 0 0 0px 0 !important;
    margin-bottom: 15px !important;
    color: #fff !important;
    overflow: hidden !important; /* はみ出し防止 */
  }
  /* ヒーロー内の文字色を強制 */
.hero2-en,
.hero2-ja,
.page_lead {
    color: #fff !important;
    margin-bottom: 5px !important;
  }	
	
	
	
	/* =========================
     h2強制調整（←これ追加）
  ========================= */
 h2,
  .sec-title2-ja {
    font-size: 14pt !important;
    display: block !important;
    opacity: 1 !important;
  }

.sec-title2,
  .sec-title2 * {
    opacity: 1 !important;
    visibility: visible !important;
  }
	
	

h2.sec-title2-ja {
		color:#005bac !important;
		border: none !important;
	}	
	
	
	
	
	
  /* =========================
     セクション余白削除
  ========================= */
  .section-block,
  .pad_bt100,
  .mar_bt50 {
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
  }

  /* =========================
     2カラム調整
  ========================= */
  .divide_2_txtimg {
    display: block;
  }

  .divide_txt_wrap {
    width: 100%;
    margin-bottom: 8px;
  }

  /* flex時のgap対策 */
  .divide_2_txtimg,
  .divide_2_txtimg.reverse {
    gap: 8px !important;
  }

  /* =========================
     テキスト
  ========================= */
  .norm_txt {
    font-size: 10pt;
  }

  /* =========================
     画像
  ========================= */
  #aboutus img {
    max-width: 55%;
    margin: 8px auto;
    display: block;
  }

  /* 会長画像だけさらに小さく */
  .kaityou img {
    max-width: 40%;
  }

  /* =========================
     事業紹介
  ========================= */
  .solution-item {
    border: 1px solid #ccc;
    padding: 6px;
    margin-bottom: 8px;
  }

  .solution-accent {
    display: none;
  }

  /* =========================
     テーブル
  ========================= */
  table {
    width: 100%;
    border-collapse: collapse;
    font-size: 9pt;
  }

  th, td {
    border: 1px solid #ccc;
    padding: 6px;
  }

  th {
    background: #eee !important;
    width: 30%;
	font-weight: bold;
  }

  /* =========================
     沿革（←ここ重要修正）
  ========================= */
  .history-wrap {
    display: block;
  }

 .history-gallery {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important; /* 強制的に3列にする */
    gap: 3mm !important; /* 画像間の余白 */
    width: 100% !important;
    margin-bottom: 10px !important;
  }

  .history-gallery a {
    display: block !important;
    width: 100% !important;
  }

  .history-gallery img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important; /* 親要素の3列幅に合わせる */
    border-radius: 4px; /* 印刷時に重くなりすぎない程度の角丸 */
    margin: 0 !important;
    object-fit: cover;
  }
	
	
  .history-timeline {
    width: 100%;
	margin-top: 15px !important;
  }

  .timeline {
    width: 100%;
    font-size: 9pt;
  }

  .timeline th {
    width: 30%;
	background: #f0f4f8 !important;
    color: #000 !important;
    font-weight: bold;
  }

  .timeline td {
    padding-left: 8px;
  }
 .anim-up {
    opacity: 1 !important;
    transform: none !important;
  }

  .timeline {
    opacity: 1 !important;
  }

	


  /* =========================
    BIMページ ヒーローエリア（青い部分）の再構築
  ========================= */
	

	
	

  /* 複雑なネスト構造を無効化 */
  body#aboutbim .about2-hero-content,
  body#aboutbim .hero2-inner,
  body#aboutbim .hero2-left {
    display: block !important;
    zposition: static !important;
    width: 100% !important;
    padding: 10px !important;
    margin: 0 !important;
    background: none !important;
    text-align: left !important;
  }



	
	body#aboutbim .page_lead {
	padding-bottom: 20px;	
	}
  /* ヒーロー画像は一旦非表示にするか、下に流す（まずは正常な表示を優先） */
  body#aboutbim .about2-hero-bg {
    display: none !important; 
  }

	body#aboutbim .image_area.single img{
		display: block;
		text-align: center;
		margin: 0 auto;
		width: 60%;
	}
	
	 
	
	
  /* =========================
     タイトルと2カラムの調整
  ========================= */
  body#aboutbim .sec-title2 {
    margin: 15px 0 !important;
  }

  body#aboutbim .divide_2_txtimg {
    display: block !important; /* Flexを解除して縦に並べるのが一番安全 */
  }

 body#aboutbim  .divide_txt_wrap {
    width: 100% !important;
    margin-bottom: 10px !important;
  }


/* =========================
     2. 画像エリアを2列にする
  ========================= */
  /* bim_02, 03, 04 などの画像エリア */
body#aboutbim  .image_area {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 2mm !important; /* 画像同士の隙間 */
    justify-content: flex-start !important;
    width: 100% !important;
    margin-top: 10px !important;
  }

  /* 2列にするための幅指定 */
 body#aboutbim .image_area a {
    width: calc(50% - 2mm) !important; /* 2列(隙間分を引く) */
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    display: block !important;
	zorder: solid 1px blue;
  }	
/*-------------- 安心保証 -----------------*/
	#safetyguarantee .image_area img {
		width: 60% !important;
		display: block;
		margin: 0 auto;
		text-align: center;
	}
	
/*------------------- 営業所 ---------------------*/
.office-nav {
	display: none !important;
	padding: 0 !important;
	margin: 0 !important;
	}
/*----------------- 仕入れ先 ------------------------*/
.suppliers_list_wrap ul {
	padding: 5px;
	}	
/*----------------- 施工実績 -------------------*/	
body#ourworks .first-works .works-grid {
    margin-top: 0px!important;
    margin-bottom: 0px!important;
}
.works-grid {
    display: grid!important;
    grid-template-columns: repeat(4, 1fr);
    gap: 2mm;
    align-items: stretch;
}
.work-img {
    width: 65%!important;
    height: auto!important;
    overflow: hidden;
    border-radius: 3px;
}
.works-filter {
		display: none!important;
	}	
	
/*--------------- 採用情報 ----------------------*/	
	#recruit section.hero2 {
		display: none !important;
	}
#recruit .h1-area_text h2{
	color: var(--teal)!important;	
	}
#recruit .h1-area_img img{
		width: 50% !important;
		display: block;
		margin: 0 auto;
	}

/* 1. 既存の一括 block 指定がある場合、flex を再有効化 */
#recruit section.interview .interview-item {
    display: flex !important;
    flex-direction: row !important; /* 横並びを強制 */
    align-items: flex-start !important;
    gap: 15px !important;
    background: #f0f7f7 !important; /* 印刷用に見やすい薄色へ */
    padding: 10px !important;
    border-radius: 10px !important;
    margin-bottom: 20px !important;
    page-break-inside: avoid !important; /* 途中でページが切れないように */
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

/* 2. プロフィール部分（サムネイルサイズ） */
#recruit section.interview .profile {
    width: 100px !important; /* サムネ程度の固定幅 */
    min-width: 100px !important;
    flex-basis: 100px !important;
    background: #ffffff !important;
    padding: 5px !important;
    text-align: center !important;
    
    /* 画面用の装飾（浮き上がりなど）をリセット */
    position: static !important; 
    transform: none !important; 
    box-shadow: none !important;
    border: 1px solid #ccc !important;
}

#recruit section.interview .profile img {
    width: 100% !important;
    height: auto !important;
    border-radius: 4px !important;
}

/* 3. 質問回答 (QA) 部分 */
#recruit section.interview .qa {
    flex: 1 !important;
    background: none !important;
    padding: 0 !important;
}

/* テキストの調整 */
#recruit .interview-name {
    font-size: 9pt !important;
    margin-top: 5px !important;
    color: #333 !important;
}

#recruit .qa-item {
    margin-bottom: 10px !important;
}

#recruit .q-text {
    font-weight: bold !important;
    color: var(--teal) !important;
    border-bottom: 1px solid var(--teal) !important;
}
#recruit section.interview {
    /* セクションの直前で強制的に改ページする */
    break-before: page !important;
    page-break-before: always !important; /* 旧ブラウザ対応 */
    
    margin-top: 0 !important;
    padding-top: 20mm !important; /* 新しいページの先頭に適度な余白 */
}

/* インタビュー項目がページの途中で分割されないようにする */
#recruit .interview-item {
    break-inside: avoid !important;
    page-break-inside: avoid !important; /* 旧ブラウザ対応 */
    
    /* 項目間の余白調整 */
    margin-bottom: 30px !important;
}	
	
	
	
	
	

}/*print*/