@charset "UTF-8";

@media print {

  /* 全体設定 */
  body {
    -webkit-print-color-adjust: exact;
    /* 印刷時でも背景色や背景画像を表示 */
    width: 1500px;
    margin: 0 auto;
    /* 印刷時の全ページ幅を統一（px数値はお好みで） */
    zoom: 0.8;
    /* なるべく多くのブラウザで切れないようにするため */
  }

  header,
  footer {
    display: none;
  }

  .inview,
  .fadeIn,
  .fadeInup {
    opacity: 1;
  }

  .block-columns:not(:has(.has-bg)) {
    gap: 4rem;
  }

  .block-columns .block-column:not(.has-bg) {
    width: calc((100% - 4rem) / 2);
  }

  .block-columns .block-column.has-bg {
    width: calc((100% - 4px) / 2);
    margin-inline: 1px;
    margin-bottom: 0;
  }


  /* top */
  :where(.top) .vision .inner {
    position: relative;
  }

  :where(.top) .vision .img {
    width: 50%;
    height: 58rem;
    overflow: hidden;
    margin: 0;
    position: absolute;
    top: 0;
    right: -4vw;
  }

  :where(.top) .product .block-column.txt {
    margin-inline: 0;
    width: calc((100% - 8rem) / 2);
  }

  :where(.top) .product .img {
    width: 50% !important;
    margin: 0;
    padding-right: 0 !important;
    -webkit-transform: translateX(4rem);
    transform: translateX(4rem);
  }

  :where(.top) .product .system .block-columns {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }

  :where(.top) .product .system .system-list .block-column {
    width: calc((100% - 4.8rem) / 3) !important;
    padding-left: 0;
  }

  :where(.top) .product .other .block-columns {
    gap: 4rem;
  }

  :where(.top) .product .other .block-columns .block-column {
    padding-right: 0;
    width: calc((100% - 4rem) / 2) !important;
    margin-right: 0;
  }

  :where(.top) .product .other .block-columns .block-column+.block-column {
    margin-right: 0;
    margin-left: auto;
  }

	:where(.top) .environment .inner {
		width: 55%;
    max-width: 640px;
		margin-left: 4rem;
	}
  :where(.top) .environment {
		background-size: cover;
		padding-top: 8rem;
		padding-bottom: 30%;
	}
}