:root{
  --bg-01: #f7f5d4;
  --bg-02: #c2d94e;
  --c-orange:#ff8308;
  --c-green:#4ea134;
}

.colFlex {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}

/* side */
  #colSide {
    width: 260px;
    flex-shrink: 0
  }
  .navSide {
    margin-bottom: 30px;
  }
    .navSide .hB {
      font-size: 18px;
      padding: 10px 1em;
      margin-bottom: 0;
    }
    .navSide ul li {
      margin-block: 2px;
    }
      .navSide ul li a {
        display: block;
        padding: 10px;
        background-color: var(--bg-01);
        text-decoration: none;
      }
      .navSide ul li a:hover {
        background-color: var(--bg-02);
       }
    .navSide ul li .children {
      margin-bottom: 0;
    }
      .navSide ul li .children li {
        margin:0;
      }
        .navSide ul li .children li a {
          padding: 5px 10px 5px 20px;
        }
    .navSide .navSide__inr {
      margin: 10px 0;
    }
        .navSide .navSide__inr select {
          width: 100%;
          padding: 8px;
        }
      
/* archive */
  #colMain {
    flex: 1;
  }
  .colMain__flex {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
  }
  .archiveTitle {
    font-size: 24px;
    margin-bottom: 25px;
    border-left: 5px solid var(--c-green);
    padding-left: 0.5em;
    line-height: 1.5;
  }

    .postIndex {
      width: calc( calc(100% - 20px) / 2 );
      background-color: #fff;
      box-shadow: 0 0 10px 0 rgba(0,0,0,0.2);
      border-radius: 8px;
    }
    .postIndex a {
        text-decoration: none;
    }
    .post-eyecatch {
      aspect-ratio: 16/9;
      background-color: #eee;
      border-radius: 8px 8px 0 0;
      overflow: hidden;
    }
      .post-eyecatch img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
    .postIndex__inr {
      padding: 20px;
    }
      .postDate {
        font-size: 14px;
        margin-bottom: 0;
        color: #999;
      }
      .postIndex__inr h2  {
        line-height: 1.4 !important;
      }

      .postCat {
        margin: 10px 0 0;
        font-size: 14px;
        display: flex;
        gap: 5px;
        flex-wrap: wrap;
      }
          .postCat li a {
            color: #666;
            display: block;
            padding: 5px 10px;
            background-color: var(--bg-01);
            line-height: 1.2;
          }
  .wp-pagenavi {
    margin-top: 40px;
    text-align: center;
  }

/* single -------------------------- */
.postContent{

}
  .postHeading {
    border-bottom: 2px solid var(--c-green);
    padding-bottom: 20px;
  }
  .postData__flex {
    display: flex;
    gap: 10px;
    vertical-align: middle;
  }
  .postData__flex .postCat {
    margin:0;
  }
  .postData__flex .postCat li a {
    text-decoration: none;
    display: block;
  }
  .postHeading h2 {
    font-size: 22px;
    line-height: 1.5;
    margin-top: 10px;
  }
.postBody {
  margin: 30px auto;
}
.postBody :is(h1,h2,h3) {
  color: var(--c-green);
  font-weight: 600;
  margin: 30px 0 15px;
}
  .postBody h1 {
    font-size: 24px;
  }
  .postBody h2 {
    font-size: 20px;
  }
  .postBody h3 {
    font-size: 18px;
  }

.navPost {
  margin: 50px auto 20px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 1fr;
  grid-column-gap: 10px;
}
  .navTop { grid-area: 1 / 2 / 2 / 3; text-align: center; }
  .navPrev { grid-area: 1 / 1 / 2 / 2; position: relative; padding-left: 1em;}
  .navNext { grid-area: 1 / 3 / 2 / 4; text-align: right; position: relative; padding-right: 1em;}

  .navPost li a {display: block; padding: 5px;}
  .navTop a {color: #fff;  background-color: var(--c-orange); border-radius: 30vw; text-decoration: none; max-width: 240px; margin-inline:auto;}
  .navPrev::before,
  .navNext::before {
    content: "";
    width: 0.5em;
    aspect-ratio: 1/1;
    border-top: 1px solid var(--c-orange);
    border-right: 1px solid var(--c-orange);
    position: absolute;
    top: 50%;
    translate: 0 -50%;
  }
  .navPrev::before {
    left: 0;
    rotate: -135deg;   
  }
  .navNext::before {
    right: 0;
    rotate: 45deg;   
  }

@media(max-width:640px){
  .colFlex {
    display: block;
  }
  #colSide {
    width: 100%;
  }
  #colMain {
    margin-bottom: 40px;
  }  
  .postIndex  {
    width: 100%;
  }
.navPost {
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: max-content;
  grid-row-gap: 10px;
}
.navTop { grid-area: 2 / 1 / 3 / 3; }
.navPrev { grid-area: 1 / 1 / 2 / 2; }
.navNext { grid-area: 1 / 2 / 2 / 3; }
}

