@media print {
	
	/**
	 * Bootstrap Print v1.0.0 (https://github.com/onocom/bootstrap-print)
	 * Copyright (c) 2017 Ono Takashi
	 * Licensed under MIT (https://github.com/onocom/bootstrap-print/blob/master/LICENSE)
	 */
	 
	@page {
		margin: 8mm;
		margin: 10mm 8mm 10mm 8mm;
	}
	
	* {
		-webkit-print-color-adjust: exact !important;
		background-attachment: initial !important;
		overflow-y: visible !important;
	}

	html {
		overflow: visible !important;
		zoom: 0.7 !important;
	}

	body {
		min-width: 1240px !important;
		padding-top: 0px !important;
		padding-bottom: 0px !important;
	}
	.container-fluid,
	.container {
		min-width: 1170px !important;
	}
	
	.row {
		margin-left: -15px !important;
		margin-right: -15px !important;
	}
	
	
	.dl-horizontal dt {
		float: left;
		width: 160px;
		overflow: hidden;
		clear: left;
		text-align: right;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	.dl-horizontal dd {
		margin-left: 180px;
	}
	
	.form-inline .form-group {
		display: inline-block;
		margin-bottom: 0;
		vertical-align: middle;
	}
	.form-inline .form-control {
		display: inline-block;
		width: auto;
		vertical-align: middle;
	}
	.form-inline .form-control-static {
		display: inline-block;
	}
	.form-inline .input-group {
		display: inline-table;
		vertical-align: middle;
	}
	.form-inline .input-group .input-group-addon,
	.form-inline .input-group .input-group-btn,
	.form-inline .input-group .form-control {
		width: auto;
	}
	.form-inline .input-group > .form-control {
		width: 100%;
	}
	.form-inline .control-label {
		margin-bottom: 0;
		vertical-align: middle;
	}
	.form-inline .radio,
	.form-inline .checkbox {
		display: inline-block;
		margin-top: 0;
		margin-bottom: 0;
		vertical-align: middle;
	}
	.form-inline .radio label,
	.form-inline .checkbox label {
		padding-left: 0;
	}
	.form-inline .radio input[type="radio"],
	.form-inline .checkbox input[type="checkbox"] {
		position: relative;
		margin-left: 0;
	}
	.form-inline .has-feedback .form-control-feedback {
		top: 0;
	}
	.form-horizontal .control-label {
		padding-top: 7px;
		margin-bottom: 0;
		text-align: right;
	}
	.form-horizontal .form-group-lg .control-label {
		padding-top: 11px;
		font-size: 18px;
	}
	.form-horizontal .form-group-sm .control-label {
		padding-top: 6px;
		font-size: 12px;
	}
	
	.navbar-header {
		float: left;
	}
	.navbar-right .dropdown-menu {
		right: 0;
		left: auto;
	}
	.navbar-right .dropdown-menu-left {
		right: auto;
		left: 0;
	}
	.navbar {
		border-radius: 4px;
	}
	.navbar-collapse {
		width: auto;
		border-top: 0;
		-webkit-box-shadow: none;
		box-shadow: none;
	}
	.navbar-collapse.collapse {
		display: block;
		height: auto;
		padding-bottom: 0;
		overflow: visible;
	}
	.navbar-collapse.in {
		overflow-y: visible;
	}
		
	.nav-justified {
		width: 100%;
	}
	.nav-justified > li {
		float: none;
	}
	.nav-justified > .dropdown .dropdown-menu {
		top: auto;
		left: auto;
	}
	.nav-justified > li {
		display: table-cell;
		width: 1%;
	}
	.nav-justified > li > a {
		margin-bottom: 0;
	}
	
	.navbar-fixed-top,
	.navbar-fixed-bottom {
		position: static;
	}
	.navbar-fixed-top .navbar-collapse,
	.navbar-static-top .navbar-collapse,
	.navbar-fixed-bottom .navbar-collapse {
		padding-right: 0;
		padding-left: 0;
	}
	.container > .navbar-header,
	.container-fluid > .navbar-header,
	.container > .navbar-collapse,
	.container-fluid > .navbar-collapse {
		margin-right: 0;
		margin-left: 0;
	}
	.navbar-static-top {
		border-radius: 0;
	}
	.navbar-fixed-top,
	.navbar-fixed-bottom {
		border-radius: 0;
	}
	.navbar > .container .navbar-brand,
	.navbar > .container-fluid .navbar-brand {
		margin-left: -15px;
	}
	.navbar-toggle {
		display: none;
	}
	.navbar-nav {
		float: left;
		margin: 0;
	}
	.navbar-nav > li {
		float: left;
	}
	.navbar-nav > li > a {
		padding-top: 15px;
		padding-bottom: 15px;
	}
	.navbar-form .form-group {
		display: inline-block;
		margin-bottom: 0;
		vertical-align: middle;
	}
	.navbar-form .form-control {
		display: inline-block;
		width: auto;
		vertical-align: middle;
	}
	.navbar-form .form-control-static {
		display: inline-block;
	}
	.navbar-form .input-group {
		display: inline-table;
		vertical-align: middle;
	}
	.navbar-form .input-group .input-group-addon,
	.navbar-form .input-group .input-group-btn,
	.navbar-form .input-group .form-control {
		width: auto;
	}
	.navbar-form .input-group > .form-control {
		width: 100%;
	}
	.navbar-form .control-label {
		margin-bottom: 0;
		vertical-align: middle;
	}
	.navbar-form .radio,
	.navbar-form .checkbox {
		display: inline-block;
		margin-top: 0;
		margin-bottom: 0;
		vertical-align: middle;
	}
	.navbar-form .radio label,
	.navbar-form .checkbox label {
		padding-left: 0;
	}
	.navbar-form .radio input[type="radio"],
	.navbar-form .checkbox input[type="checkbox"] {
		position: relative;
		margin-left: 0;
	}
	.navbar-form .has-feedback .form-control-feedback {
		top: 0;
	}
	.navbar-text {
		float: left;
		margin-right: 15px;
		margin-left: 15px;
	}
	.navbar-left {
		float: left;
	}
	.navbar-right {
		float: right;
		margin-right: -15px;
	}
	.navbar-right ~ .navbar-right {
		margin-right: 0;
	}
	.jumbotron {
		padding-top: 48px;
		padding-bottom: 48px;
	}
	.container .jumbotron,
	.container-fluid .jumbotron {
		padding-right: 60px;
		padding-left: 60px;
	}
	.jumbotron h1,
	.jumbotron .h1 {
		font-size: 63px;
	}
	.modal-dialog {
		width: 600px;
		margin: 30px auto;
	}
	.modal-content {
		-webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
		box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
	}
	.modal-sm {
		width: 300px;
	}
	.modal-lg {
		width: 900px;
	}
	.carousel-control .glyphicon-chevron-left,
	.carousel-control .glyphicon-chevron-right,
	.carousel-control .icon-prev,
	.carousel-control .icon-next {
		width: 30px;
		height: 30px;
		margin-top: -10px;
		font-size: 30px;
	}
	.carousel-control .glyphicon-chevron-left,
	.carousel-control .icon-prev {
		margin-left: -10px;
	}
	.carousel-control .glyphicon-chevron-right,
	.carousel-control .icon-next {
		margin-right: -10px;
	}
	.carousel-caption {
		right: 20%;
		left: 20%;
		padding-bottom: 30px;
	}
	.carousel-indicators {
		bottom: 20px;
	}
	
	
	
	
	
	.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
		float: left;
	}
	.col-lg-12, .col-md-12, .col-sm-12, .col-xs-12 {
		width: 100%;
	}
	.col-lg-11, .col-md-11, .col-sm-11, .col-xs-11 {
		width: 91.66666667%;
	}
	.col-lg-10, .col-md-10, .col-sm-10, .col-xs-10 {
		width: 83.33333333%;
	}
	.col-lg-9, .col-md-9, .col-sm-9, .col-xs-9 {
		width: 75%;
	}
	.col-lg-8, .col-md-8, .col-sm-8, .col-xs-8 {
		width: 66.66666667%;
	}
	.col-lg-7, .col-md-7, .col-sm-7, .col-xs-7 {
		width: 58.33333333%;
	}
	.col-lg-6, .col-md-6, .col-sm-6, .col-xs-6 {
		width: 50%;
	}
	.col-lg-5, .col-md-5, .col-sm-5, .col-xs-5 {
		width: 41.66666667%;
	}
	.col-lg-4, .col-md-4, .col-sm-4, .col-xs-4 {
		width: 33.33333333%;
	}
	.col-lg-3, .col-md-3, .col-sm-3, .col-xs-3 {
		width: 25%;
	}
	.col-lg-2, .col-md-2, .col-sm-2, .col-xs-2 {
		width: 16.66666667%;
	}
	.col-lg-1, .col-md-1, .col-sm-1, .col-xs-1 {
		width: 8.33333333%;
	}
	.col-lg-pull-12, .col-md-pull-12, .col-sm-pull-12, .col-xs-pull-12 {
		right: 100%;
	}
	.col-lg-pull-11, .col-md-pull-11, .col-sm-pull-11, .col-xs-pull-11 {
		right: 91.66666667%;
	}
	.col-lg-pull-10, .col-md-pull-10, .col-sm-pull-10, .col-xs-pull-10 {
		right: 83.33333333%;
	}
	.col-lg-pull-9, .col-md-pull-9, .col-sm-pull-9, .col-xs-pull-9 {
		right: 75%;
	}
	.col-lg-pull-8, .col-md-pull-8, .col-sm-pull-8, .col-xs-pull-8 {
		right: 66.66666667%;
	}
	.col-lg-pull-7, .col-md-pull-7, .col-sm-pull-7, .col-xs-pull-7 {
		right: 58.33333333%;
	}
	.col-lg-pull-6, .col-md-pull-6, .col-sm-pull-6, .col-xs-pull-6 {
		right: 50%;
	}
	.col-lg-pull-5, .col-md-pull-5, .col-sm-pull-5, .col-xs-pull-5 {
		right: 41.66666667%;
	}
	.col-lg-pull-4, .col-md-pull-4, .col-sm-pull-4, .col-xs-pull-4 {
		right: 33.33333333%;
	}
	.col-lg-pull-3, .col-md-pull-3, .col-sm-pull-3, .col-xs-pull-3 {
		right: 25%;
	}
	.col-lg-pull-2, .col-md-pull-2, .col-sm-pull-2, .col-xs-pull-2 {
		right: 16.66666667%;
	}
	.col-lg-pull-1, .col-md-pull-1, .col-sm-pull-1, .col-xs-pull-1 {
		right: 8.33333333%;
	}
	.col-lg-pull-0, .col-md-pull-0, .col-sm-pull-0, .col-xs-pull-0 {
		right: auto;
	}
	.col-lg-push-12, .col-md-push-12, .col-sm-push-12, .col-xs-push-12 {
		left: 100%;
	}
	.col-lg-push-11, .col-md-push-11, .col-sm-push-11, .col-xs-push-11 {
		left: 91.66666667%;
	}
	.col-lg-push-10, .col-md-push-10, .col-sm-push-10, .col-xs-push-10 {
		left: 83.33333333%;
	}
	.col-lg-push-9, .col-md-push-9, .col-sm-push-9, .col-xs-push-9 {
		left: 75%;
	}
	.col-lg-push-8, .col-md-push-8, .col-sm-push-8, .col-xs-push-8 {
		left: 66.66666667%;
	}
	.col-lg-push-7, .col-md-push-7, .col-sm-push-7, .col-xs-push-7 {
		left: 58.33333333%;
	}
	.col-lg-push-6, .col-md-push-6, .col-sm-push-6, .col-xs-push-6 {
		left: 50%;
	}
	.col-lg-push-5, .col-md-push-5, .col-sm-push-5, .col-xs-push-5 {
		left: 41.66666667%;
	}
	.col-lg-push-4, .col-md-push-4, .col-sm-push-4, .col-xs-push-4 {
		left: 33.33333333%;
	}
	.col-lg-push-3, .col-md-push-3, .col-sm-push-3, .col-xs-push-3 {
		left: 25%;
	}
	.col-lg-push-2, .col-md-push-2, .col-sm-push-2, .col-xs-push-2 {
		left: 16.66666667%;
	}
	.col-lg-push-1, .col-md-push-1, .col-sm-push-1, .col-xs-push-1 {
		left: 8.33333333%;
	}
	.col-lg-push-0, .col-md-push-0, .col-sm-push-0, .col-xs-push-0 {
		left: auto;
	}
	.col-lg-offset-12, .col-md-offset-12, .col-sm-offset-12, .col-xs-offset-12 {
		margin-left: 100%;
	}
	.col-lg-offset-11, .col-md-offset-11, .col-sm-offset-11, .col-xs-offset-11 {
		margin-left: 91.66666667%;
	}
	.col-lg-offset-10, .col-md-offset-10, .col-sm-offset-10, .col-xs-offset-10 {
		margin-left: 83.33333333%;
	}
	.col-lg-offset-9, .col-md-offset-9, .col-sm-offset-9, .col-xs-offset-9 {
		margin-left: 75%;
	}
	.col-lg-offset-8, .col-md-offset-8, .col-sm-offset-8, .col-xs-offset-8 {
		margin-left: 66.66666667%;
	}
	.col-lg-offset-7, .col-md-offset-7, .col-sm-offset-7, .col-xs-offset-7 {
		margin-left: 58.33333333%;
	}
	.col-lg-offset-6, .col-md-offset-6, .col-sm-offset-6, .col-xs-offset-6 {
		margin-left: 50%;
	}
	.col-lg-offset-5, .col-md-offset-5, .col-sm-offset-5, .col-xs-offset-5 {
		margin-left: 41.66666667%;
	}
	.col-lg-offset-4, .col-md-offset-4, .col-sm-offset-4, .col-xs-offset-4 {
		margin-left: 33.33333333%;
	}
	.col-lg-offset-3, .col-md-offset-3, .col-sm-offset-3, .col-xs-offset-3 {
		margin-left: 25%;
	}
	.col-lg-offset-2, .col-md-offset-2, .col-sm-offset-2, .col-xs-offset-2 {
		margin-left: 16.66666667%;
	}
	.col-lg-offset-1, .col-md-offset-1, .col-sm-offset-1, .col-xs-offset-1 {
		margin-left: 8.33333333%;
	}
	.col-lg-offset-0, .col-md-offset-0, .col-sm-offset-0, .col-xs-offset-0 {
		margin-left: 0%;
	}
	
	.visible-xs,
	.visible-sm,
	.visible-md {
		display: none !important;
	}
	.visible-lg {
		display: block !important;
	}
	.visible-xs-block,
	.visible-xs-inline,
	.visible-xs-inline-block,
	.visible-sm-block,
	.visible-sm-inline,
	.visible-sm-inline-block,
	.visible-md-block,
	.visible-md-inline,
	.visible-md-inline-block {
		display: none !important;
	},
	.visible-lg-block,
	.visible-lg-inline,
	.visible-lg-inline-block {
		display: block !important;
	}
	
	.hidden-xs,
	.hidden-sm,
	.hidden-md {
		display: block !important;
	}
	.hidden-lg {
		display: none !important;
	}


	html, body {
    width: 1200px !important;
    min-width: 1200px !important;
    background-color: #ffffff !important;
    color: #000000 !important;
    /* 背景の薄グレーやボタンの青色・緑色を消させない命令 */
    -webkit-print-color-adjust: exact !important; 
    print-color-adjust: exact !important;
  }

  /* サイト全体を包むwrapのハミ出しを解放し、文字切れを防御します */
  .wrap, main {
    width: 1200px !important;
    min-width: 1200px !important;
    overflow: visible !important;
  }

  /* --------------------------------------------------------------------------
     2. 【最重要】Bootstrapの「カラム落ち」を最優先命令で根本から破壊・修正
     -------------------------------------------------------------------------- */
  /* 💡 解決：印刷時、Bootstrapが勝手に横幅100%（縦1列）に落としてしまう命令をすべて解除し、
     PC時の「3カラム（横幅33.3%）」や「左右並び（7:5などの比率）」を1ピクセルの狂いもなく強制維持します */
  .row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
  }
  
  /* 3カラム（col-lg-4など）の横幅を33.3%にガチッと固定 */
  .col-lg-4, .col-xl-4 {
    flex: 0 0 33.333333% !important;
    max-width: 33.333333% !important;
  }
  
  /* 2カラム（左右7:5配置など）の横幅計算を印刷用紙の上で完全復活 */
  .col-lg-7 {
    flex: 0 0 58.333333% !important;
    max-width: 58.333333% !important;
  }
  .col-lg-5 {
    flex: 0 0 41.666667% !important;
    max-width: 41.666667% !important;
  }
  
  .col-lg-6 {
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }

  /* 会社概要テーブルやお問い合わせフォームの横並びを100%死守 */
  .table_float th,
  .table_float td,
  .comp_table th,
  .comp_table td {
    display: table-cell !important;
    vertical-align: middle !important;
  }
  .comp_table th { width: 25% !important; }
  .comp_table td { width: 75% !important; }

  /* --------------------------------------------------------------------------
     3. 【最重要】フッターメニューがスマホデザイン（黒縦列）に化けるバグの完全修正
     -------------------------------------------------------------------------- */
  /* 💡 解決：スタイルcssに書いてあるスマホ用の黒ベタ塗り・100%幅・ボーダー線を、
     印刷用紙の上から最優先命令（!important）で根こそぎ引っぺがし、PC時のすっきりとした横並びに戻します */
  .footer_menu_list {
    display: flex !important;
    flex-direction: row !important; /* 強制的に横並びに統一 */
    justify-content: flex-start !important;
    text-align: left !important;
    padding-left: 0 !important;
  }

  .footer_menu_item {
    width: auto !important; /* スマホ用の100%幅を解除して自動幅（文字ぴったり）に */
    display: inline-block !important;
  }

  .footer_menu_link {
    width: auto !important;
    padding: 6px 14px !important; /* スマホ用の縦長の分厚いパディングを解除してPCサイズに */
    background-color: transparent !important; /* スマホ用の暗い背景色を完全に消去 */
    color: #333333 !important; /* 文字色をクリーンな黒へ */
    border-radius: 0 !important;
    border-bottom: none !important; /* スマホ用の区切り線を完全抹消 */
  }

  /* PC時のおしゃれな「 | 」の仕切り線を印刷用紙の上で大復活 */
  .footer_menu_item::after {
    content: "|" !important;
    position: absolute !important;
    top: 50% !important;
    right: 0 !important;
    transform: translateY(-50%) !important;
    color: #cccccc !important;
    font-size: 0.8em !important;
  }
  .footer_menu_item:last-child::after {
    content: none !important;
  }

  /* --------------------------------------------------------------------------
     4. 印刷時の見た目クリーンアップ（紙の上の不要パーツ自動消去）
     -------------------------------------------------------------------------- */
  .header_wrap {
    position: relative !important; /* 追従ヘッダーが2ページ目以降の文字に被るのを防ぐ実務の知恵 */
  }
  
  /* スマホ用の三本線メニューボタン群や、ページトップに戻るボタンは紙の上では非表示に */
  .sp_action_buttons, 
  #pagetop,
  .sp_fullscreen_menu {
    display: none !important;
  }

  /* 世界標準の改ページ制御（画像やテーブルの途切れを防止） */
  img, tr, blockquote, pre {
    page-break-inside: avoid;
  }
  a, a:visited {
    text-decoration: none !important;
  }
  a[href]::after {
    content: "" !important;
  }
	
	
}
