@charset "UTF-8";

@page {
  size: A4;
  margin-bottom: -57.73mm;
}

@media print {

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

  .main-header,
  .main-footer,
  .gnav,
  .fix-link,
  .side-nav {
    display: none !important;
  }

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

  .content {
    padding-top: 0;
  }

  .inner {
    max-width: 100%;
  }

  .page-header {
    padding: 2.5rem 4rem 3.5rem;
    width: calc(100% - 5rem);
    max-width: calc(1120px + 8rem);
  }

  .page-header::before {
    width: 50%;
    max-width: 760px;
    left: 30%;
  }

  .page-header-img {
    width: 60%;
  }

  .feature-list-item {
    width: calc((100% - 5rem) / 3);
  }

  .page-parent .editor-area .btns .btn {
    width: calc((100% - 3rem) / 3);
  }

  .top .news .inner {
    max-width: 100%;
  }

  .top .principal .flex {
    --gap: 5em;
  }

  .top .principal .flex .flex-item {
    width: 55%;
  }

  .top .principal .flex .flex-item+.flex-item {
    width: calc(45% - var(--gap));
  }

  .top .principal .flex .flex-item:first-of-type {
    display: grid;
    grid-template-columns: 55% 45%;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-column-gap: 2em;
    -moz-column-gap: 2em;
    column-gap: 2em;
  }


  .top .principal .flex .img {
    grid-column: 1;
    grid-row: 1 / 3;
  }

  .top .principal .flex .page-title {
    grid-column: 2;
    grid-row: 1 / 2;
    align-self: end;
  }

  .top .principal .flex .btns {
    grid-column: 2;
    grid-row: 2 / 3;
    margin: 0;
    align-self: start;
  }

  /*
  .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;
  }
 */

}