/* --------------------------------------------- */
/* ▼モバイルファースト (全環境に共通のデザイン) */
/* --------------------------------------------- */
/* topics */
.contents {
  margin: auto;
  width: 90%;
  max-width: 1200px;
}
.works {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: -1em auto 0em;
  justify-content: flex-start;
}
.works li {
  text-align: left;
  margin: 1.5em 8px 0em;
  width: calc(100% / 2 - 16px);
}
.works li img {
  height: 100px;
  object-fit: cover;
}
.works li p {
  margin: 0.5em auto 0;
}
.works li p span {
  display: block;
  margin: 0.3em auto 0;
}
.works_ttl {
  width: 100%;
  text-align: left;
  font-weight: 400;
  font-size: 1.6rem;
}
.works_ttl span {
  position: relative;
  display: inline-block;
  margin: 0 0 0 10px;
  padding: 0 0 0 10px;
}
.works_ttl span::before {
  position: absolute;
  top: 5px;
  left: 0;
  content: '';
  width: 1px;
  height: calc(100% - 8px);
  background: #000;
}
.works_slide {
  margin: 1em auto 0;
  border-bottom: 0.5px solid #000000;
  padding: 0 0 1.5em;
}
.works_txt {
  text-align: left;
  margin: 1.5em auto 0;
}
.works_txt div {
  font-family: "zen-kaku-gothic-new", sans-serif;
  font-weight: 500;
  margin: 0 auto 0.5em;
  font-size: 1.5rem;
}
.works_detail {
  display: block;
  margin: 2em auto 0;
  padding: 25px 20px;
  background: #EFEFEF;
}
.works_detail ul {
  border-top: 0.5px solid #BFBFBF;
  font-family: "zen-kaku-gothic-new", sans-serif;
}
.works_detail ul li {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 0.5px solid #BFBFBF;
  text-align: left;
}
.works_detail ul li dt {
  width: 80px;
  font-weight: 500;
}
.works_detail ul li dd {
  width: calc(100% - 80px);
}
.works_btn {
  display: block;
  margin: 2em auto 0;
}
.works_btn a {
  position: relative;
  display: inline-block;
  color: #000 !important;
  border-bottom: 1px solid #000;
  padding: 10px 70px 10px 0;
}
.works_btn a::before {
  position: absolute;
  content: '';
  top: calc(50% - 15px);
  right: 0;
  display: block;
  width: 30px;
  height: 30px;
  background-image: url("/img/common/arrow_circle.webp");
  transform: scale(-1, 1);
  background-size: contain;
  background-repeat: no-repeat;
  transition: all .3s;
}
.works_btn a:hover::before {
  right: 5px;
}
.works_slider {
  text-align: left;
}
.works_slider img {
  height: 230px;
  object-fit: cover;
}
.works_slider .slick-slide {
  margin: 0 10px;
}
/*戻る、次へ矢印の位置*/
.works_slider .slick-prev, .works_slider .slick-next {
  position: absolute;
  top: calc(50% - 20px);
  cursor: pointer; /*マウスカーソルを指マークに*/
  outline: none; /*クリックをしたら出てくる枠線を消す*/
  height: 20px;
  width: 20px;
  content: '';
  display: block;
  background-image: url("/img/common/arrow_circle.webp");
  background-size: contain;
  background-repeat: no-repeat;
}
.works_slider .slick-prev {
  left: -15px;
  transform: scale(-1, 1);
}
.works_slider .slick-next {
  right: -15px;
}
/*ドットナビゲーションの設定*/
.works_slider .slick-dots {
  position: absolute;
  top: 240px;
  left: 50%;
  transform: translate(-50%, 0%);
  text-align: center;
}
.works_slider .slick-dots li {
  display: inline-block;
  margin: 0 5px;
}
.works_slider .slick-dots button {
  color: transparent;
  outline: none;
  width: 8px;
  height: 8px;
  display: block;
  border-radius: 50%;
  background: #E2E2E2;
  border: none;
}
.works_slider .slick-dots .slick-active button {
  background: #000;
}
.works_slider_txt {
  margin: 2.8em auto 0;
  font-family: "zen-kaku-gothic-new", sans-serif;
  font-weight: 500;
}
/* ------------------------------------ */
/* ▼PC用デザインとして付け足すデザイン */
/* ------------------------------------ */
@media all and (min-width: 768px) {
  /* topics */
  .contents {}
  .works {
    margin: -2em auto 0em;
  }
  .works li {
    text-align: left;
    margin: 2em 15px 0em;
    width: calc(100% / 3 - 30px);
  }
  .works li img {
    height: 250px;
    object-fit: cover;
  }
  .works li p {
    margin: 0.5em auto 0;
  }
  .works li p span {
    position: relative;
    display: inline-block;
    margin: 0 0 0 10px;
    padding: 0 0 0 10px;
  }
  .works li p span::before {
    position: absolute;
    top: 4px;
    left: 0;
    content: '';
    width: 1px;
    height: calc(100% - 8px);
    background: #000;
  }
  .works_ttl {
    font-size: 2.5rem;
    letter-spacing: 2px;
  }
  .works_ttl span {
    margin: 0 0 0 15px;
    padding: 0 0 0 15px;
  }
  .works_ttl span::before {
    top: 8px;
    height: calc(100% - 12px);
  }
  .works_slide {
    margin: 2em auto 0;
    padding: 0 0 2em;
  }
  .works_txt {
    margin: 2em auto 0;
  }
  .works_txt div {
    margin: 0 auto 0.5em;
    font-size: 2rem;
  }
  .works_txt p {
    line-height: 2;
  }
  .works_detail {
    margin: 4em auto 0;
    box-sizing: border-box;
    width: 900px;
    padding: 45px 100px;
    background: #EFEFEF;
  }
  .works_detail ul li {
    padding: 15px 0;
  }
  .works_detail ul li dt {
    width: 150px;
  }
  .works_detail ul li dd {
    width: calc(100% - 150px);
  }
  .works_btn {
    margin: 3em auto 0;
  }
  .works_btn a {
    font-size: 1.7rem;
    letter-spacing: 2px;
    padding: 15px 150px 15px 0;
  }
  .works_btn a::before {
    top: calc(50% - 20px);
    width: 40px;
    height: 40px;
  }
  .works_slider {
    width: calc(100% + 20px);
    margin: 0 auto 0 -10px;
  }
  .works_slider img {
    height: 700px;
  }
  .works_slider .slick-prev, .works_slider .slick-next {
    top: calc(50% - 20px);
    height: 40px;
    width: 40px;
  }
  .works_slider .slick-prev {
    left: -45px;
  }
  .works_slider .slick-next {
    right: -45px;
  }
  .works_slider .slick-dots {
    top: 710px;
  }
  .works_slider_txt {
    margin: 2.8em auto 0;
    font-size: 1.8rem;
  }
}
/***************/
.blog_pager1 {
  width: 100%;
  margin-bottom: 0px;
  height: 50px;
  padding-top: 50px;
  margin-right: auto;
  margin-left: auto;
}
.wp-pagenavi {
  clear: both;
  text-align: center;
  height: 0px;
  padding-top: 0px;
}
.wp-pagenavi a, .wp-pagenavi span {
  color: #999;
  background-color: #FFF;
  border: solid 1px #0A3B94;
  padding: 8px 15px;
  margin: 0 2px;
  white-space: nowrap;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  -webkit-transition: 0.2s ease-in-out;
  -moz-transition: 0.2s ease-in-out;
  -o-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  text-align: center;
  text-decoration: none;
}
.wp-pagenavi a:hover {
  color: #FFF;
  background-color: #000000;
  border-color: #000000;
}
.wp-pagenavi span.current {
  color: #FFF;
  background-color: #0A3B94;
  border-color: #0A3B94;
  font-weight: bold;
}