.contents .flexTblBox {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: 1fr;
  height: auto !important;
}

.topPage .contents .flexTblBox .elem {
  height: 100%;
}

.topPage .contents .flexTblBox .elem.-left,
.topPage .contents .flexTblBox .elem.-right {
  order: 0 !important;
  width: 100% !important;
}

.elem .grid_template {
  display: grid;
  grid-template: "spacer" 1fr "text" 2fr / auto;
  /* height: auto; */
  height: 100%;
}

.picBox.-rightimg,
.picBox.-leftimg {
  background-position: center;
}

.picBox.-centerimg {
  background-position: center;
}

.picBox .naviBox {
  position: static;
  grid-area: text;
  display: flex;
  flex-direction: column;
}

.elem .naviBox p {
  /* height: 9rem; */
  height: auto;
  flex: 1;
}

.elem.-center {
  grid-column: 1/3;
}

@media screen and (max-width: 1025px) {
  .flexTblBox.-leftLarge .elem.-center {
    width: 100%;
    padding: 0 20px 0;
  }

  .picBox.-centerimg {
    background-position: center bottom;
  }

  .elem .naviBox p {
    height: auto;
  }
}
