@charset "UTF-8";

/* =========================================================
　　Fix Layout Common
========================================================= */
#container {
  display: grid;
  min-height: 100vh;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto 1fr auto;
  grid-template-areas:
    "header"
    "nav"
    "row"
    "footer";
}
#pageHeader {
  grid-area: header;
}
#pageNav {
  grid-area: nav;
}
#row {
  display: grid;
  grid-area: row;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
#pageFooter {
  grid-area: footer;
}
@media only screen and (min-width: 960px), print {
  #accessibilityTool .pieceBody,
  #commonHeader .pieceBody,
  #globalNavi ul,
  #breadCrumbs .pieceBody,
  #address .pieceBody,
  #copyright .pieceBody {
    max-width: 1200px;
    margin: 0 auto;
  }
}
@media only screen and (max-width: 960px) {
  #container {
    grid-template-rows: repeat(4, auto);
    min-height: auto;
  }
  #content, #links, #menu, #advertisement {
    max-width: 100vw;
    padding: 0 10px;
  }
  #pageFooter {
    margin-top: 20px;
  }
  #accessibilityTool .pieceBody,
  #commonHeader .pieceBody,
  #globalNavi ul,
  #breadCrumbs .pieceBody,
  #address .pieceBody,
  #copyright .pieceBody {
    max-width: 100%;
    margin: 0 auto;
  }
}

/* IE11
----------------------------------------------- */
_:lang(x)::-ms-backdrop, #container {
  display: -ms-grid;
  -ms-grid-columns: 1fr;
  -ms-grid-rows: auto auto 1fr auto;
}
_:lang(x)::-ms-backdrop, #pageHeader {
  -ms-grid-column: 1;
  -ms-grid-row: 1;
}
_:lang(x)::-ms-backdrop, #pageNav {
  -ms-grid-column: 1;
  -ms-grid-row: 2;
}
_:lang(x)::-ms-backdrop, #row {
  display: -ms-grid;
  -ms-grid-column: 1;
  -ms-grid-row: 3;
}
_:lang(x)::-ms-backdrop, #pageFooter {
  -ms-grid-column: 1;
  -ms-grid-row: 4;
}
@media only screen and (max-width: 960px) {
  _:lang(x)::-ms-backdrop, #container {
    -ms-grid-rows: auto auto auto auto;
  }
}