/*grid-template-{rows, columns}で指定した
区切りの領域にgrid-template-areasで名前を付ける*/

body {
    background-color: limegreen;
    display: grid;
    /*body以下の子要素に余白を適用する*/
    /*外周マージン3px*/
    margin: 0px;
    /*自分の要素の周りに余白を作る*/
    min-height: 100vh;
    /*高さの最小値を決める*/
    grid-template-rows: 150px 50px 1fr 1fr 50px 50px;
    grid-template-columns: 23% 54% 23%;
    grid-template-areas: "title  title  title " "paginator paginator paginator " "nav    main   ad    " "nav    main   side  " "paginator2 paginator2 paginator2 " "footer footer footer";
}

/*body内の子要素マージン3px。よって子要素間は6px、外周は子要素マージン3px + bodyマージン3px = 6px。*/

body>* {
    margin: 3px;
    padding: 10px;
}

.t {
    margin: 0 0 0 0;
    grid-area: title;
    /*background-image: url('/assets/images/books.png');*/
    background-color: darkgreen;
    background-repeat: no-repeat;
    /* 画像の繰り返しを指定  */
    background-position: center -130px;
    /* 画像の表示位置を指定  */
    background-size: cover;
    border-radius: 0;
}

.tt {
    font-size: 3em;
    font-weight: 900;
    line-height: 130px;
    /*line-heightは、行の太さ。文字の大きさと行の太さの間に余りが出るとその分上下に余白を作る*/
    /*body>* { margin: 3px; padding: 10px; }の分をグリッドサイズから引くと124pxになる*/
    text-align: center;
    color: #eae5e3;
}


.paginator {
    margin: 0 0 12px 0;
    grid-area: paginator;
    background: #595857;
    text-align: center;
    line-height: 18px;
}

.paginator a {
    color: #eae5e3;
    text-decoration: none;
    margin: 0 14px;
}

.paginator2 {
    margin: 12px 0 0 0;
    grid-area: paginator2;
    background: #595857;
    text-align: center;
    line-height: 18px;
}

.paginator2 a {
    color: #eae5e3;
    text-decoration: none;
    margin: 0 14px;
}

main {
    padding: 0;
    grid-area: main;
    border-radius: 3px;
    background-color: #fff;
    min-height: 650px;
    margin: 3px 6px 3px 6px;
}

nav {
    border-radius: 3px;
    text-align: center;
    padding-top: 20px;
    grid-area: nav;
    background: #fff;
    margin-left: 12px;
}

#side {
    border-radius: 3px;
    grid-area: side;
    text-align: center;
    padding-top: 20px;
    background: #fff;
    margin-right: 12px;
}

footer {
    margin: 0 0 0 0;
    grid-area: footer;
    text-align: center;
    line-height: 27px;
    background: #aaa;
    border-radius: 0;
}

#ad {
    border-radius: 5px;
    grid-area: ad;
    text-align: center;
    padding-top: 20px;
    background: #fff;
    margin-right: 12px;
}

.user-content {
    height: 100%;
    padding: 20px;
    margin: 0 0 6px 0;
}


dl {
    margin: 0;
}

dl>.user-content:last-child {
    margin-bottom: 0;
}

dd {
    /*はみ出した文字を折り返したいとき*/
    word-wrap: break-word;
    /*user-agentのマージンをなくす*/
    margin: 10px;
}

dd:last-child {
    /*最後のddだけ底部のマージンをなくす*/
    margin-bottom: 0;
}

@media screen and (max-width: 710px) {
  body {
    grid-template-rows: 150px 50px 1fr 1fr 1fr 1fr 50px 50px;
    grid-template-areas: "title  title  title " "paginator paginator paginator " "main  main  main " "nav  nav  nav " "ad   ad   ad    " "side   side   side  " "paginator2 paginator2 paginator2 " "footer footer footer";
  }

  main {
      min-height: 300px;
  }

  #ad, #side, nav, main {
      margin: 3px 6px 3px 6px;
  }
}
