@font-face {
  font-family: "notoSans400";
  src: url("../font/NotoSansJP-Regular.woff");
}
@font-face {
  font-family: "notoSans500";
  src: url("../font/NotoSansJP-Medium.woff");
}
@font-face {
  font-family: "NotoSans700";
  src: url("../font/NotoSansJP-Bold.woff");
}
@font-face {
  font-family: "zenKakuGothicNew400";
  src: url("../font/ZenKakuGothicNew-Regular.woff");
}
@font-face {
  font-family: "zenKakuGothicNew500";
  src: url("../font/ZenKakuGothicNew-Medium.woff");
}
@font-face {
  font-family: "zenKakuGothicNew700";
  src: url("../font/ZenKakuGothicNew-Bold.woff");
}
@media screen and (min-width: 768px) {
  .works__contentsWrap {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

@media screen and (min-width: 768px) {
  .works-archive {
    width: calc(100% - 50px);
    margin-right: 50px;
  }
}
@media screen and (max-width: 767px) {
  .works-archive {
    width: 100%;
    margin-top: 40px;
  }
}

@media screen and (min-width: 768px) {
  .works-archive__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media screen and (max-width: 767px) {
  .works-archive__list {
    max-width: 430px;
    margin: 0 auto;
  }
}

@media screen and (min-width: 768px) {
  .works-archive__item {
    width: 48%;
  }
  .works-archive__item:nth-child(2n) {
    margin-left: 4%;
  }
  .works-archive__item:nth-child(n+3) {
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .works-archive__item:nth-child(n+2) {
    margin-top: 20px;
  }
}

.works-archive__anchor {
  display: block;
  -webkit-transition: background-color 0.2s;
  transition: background-color 0.2s;
  border-radius: 10px;
  background-color: #F5F5F5;
}
@media screen and (min-width: 768px) {
  .works-archive__anchor {
    padding: 20px;
  }
  .works-archive__anchor:hover {
    background-color: rgba(6, 78, 162, 0.15);
  }
}
@media screen and (max-width: 767px) {
  .works-archive__anchor {
    padding: 15px;
  }
}

.works-archive__thumbWrap {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  .works-archive__thumbWrap {
    padding-top: 92%;
  }
}
@media screen and (max-width: 767px) {
  .works-archive__thumbWrap {
    padding-top: 62%;
  }
}
.works-archive__thumbWrap img {
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.works-archive__thumbWrap figcaption {
  position: absolute;
  bottom: 15px;
  left: 0;
  line-height: 1.68;
  font-family: notoSans700, sans-serif;
  text-shadow: 1px 1px 4px rgba(8, 26, 40, 0.43);
  color: #fff;
}
@media screen and (min-width: 768px) {
  .works-archive__thumbWrap figcaption {
    padding: 0 20px;
  }
}
@media screen and (max-width: 767px) {
  .works-archive__thumbWrap figcaption {
    padding: 0 10px;
    font-size: 14px;
  }
}

.works-archive__itemName {
  font-family: notoSans700, sans-serif;
}
@media screen and (min-width: 768px) {
  .works-archive__itemName {
    margin-top: 20px;
    line-height: 1.75;
  }
}
@media screen and (max-width: 767px) {
  .works-archive__itemName {
    margin-top: 10px;
    line-height: 1.5;
  }
}
.works-archive__itemName span {
  font-size: 14px;
  font-family: notoSans500, sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
}

.works-archive__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .works-archive__tags {
    margin-top: 15px;
  }
}
@media screen and (max-width: 767px) {
  .works-archive__tags {
    margin-top: 10px;
  }
}

.works-archive__tag {
  margin: 5px 10px 0 0;
  padding: 4px 20px;
  display: inline-block;
  font-size: 12px;
  color: #fff;
  border-radius: 100px;
  background-color: #081A28;
}

.works-archive__pager .page-numbers,
.works-archive__pager .nav-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 18px;
  font-family: zenKakuGothicNew700, sans-serif;
  font-family: "Zen Kaku Gothic New";
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .works-archive__pager .page-numbers,
  .works-archive__pager .nav-links {
    margin-top: 50px;
  }
}
@media screen and (max-width: 767px) {
  .works-archive__pager .page-numbers,
  .works-archive__pager .nav-links {
    margin-top: 30px;
  }
}
@media screen and (min-width: 768px) {
  .works-archive__pager .page-numbers .page-numbers,
  .works-archive__pager .nav-links .page-numbers {
    margin: 0 15px;
  }
}
@media screen and (max-width: 767px) {
  .works-archive__pager .page-numbers .page-numbers,
  .works-archive__pager .nav-links .page-numbers {
    margin: 0 12px;
  }
}
@media screen and (min-width: 768px) {
  .works-archive__pager .page-numbers a:hover,
  .works-archive__pager .nav-links a:hover {
    opacity: 0.6;
  }
}
.works-archive__pager .page-numbers a.page-numbers.next, .works-archive__pager .page-numbers a.page-numbers.prev,
.works-archive__pager .nav-links a.page-numbers.next,
.works-archive__pager .nav-links a.page-numbers.prev {
  font-size: 0;
}
.works-archive__pager .page-numbers span,
.works-archive__pager .nav-links span {
  position: relative;
}
.works-archive__pager .page-numbers span:after,
.works-archive__pager .nav-links span:after {
  content: "";
  width: 20px;
  height: 2px;
  display: block;
  position: absolute;
  bottom: -4px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  border-radius: 100px;
  background-color: #064EA2;
}
.works-archive__pager .page-numbers span.page-numbers.dots:after,
.works-archive__pager .nav-links span.page-numbers.dots:after {
  display: none;
}
.works-archive__pager .page-numbers .prev,
.works-archive__pager .page-numbers .next,
.works-archive__pager .nav-links .prev,
.works-archive__pager .nav-links .next {
  width: 25px;
  height: 25px;
  display: inline-block;
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
  border: 1px solid #064EA2;
  border-radius: 100px;
}
.works-archive__pager .page-numbers .prev:before,
.works-archive__pager .nav-links .prev:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 46%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  pointer-events: none;
  border-style: solid;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-right: 7px solid #064EA2;
  border-left: 0;
}
.works-archive__pager .page-numbers .next:after,
.works-archive__pager .nav-links .next:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 54%;
  -webkit-transform: translate(-50%, -50%) rotate(180deg);
          transform: translate(-50%, -50%) rotate(180deg);
  pointer-events: none;
  border-style: solid;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-right: 7px solid #064EA2;
  border-left: 0;
}

.works-aside {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .works-aside {
    max-width: 250px;
    /*position: absolute;
    top: 0;
    right: 0;*/
  }
}

.works-aside__category {
  padding: 3px 0;
  font-size: 17px;
  letter-spacing: 0.08em;
  font-family: zenKakuGothicNew700, sans-serif;
  font-family: "Zen Kaku Gothic New";
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
  text-align: center;
  color: #fff;
  background-color: #064EA2;
}

.works-aside__inputWrap {
  position: relative;
}
.works-aside__inputWrap:before {
  content: "";
  width: 20px;
  height: 20px;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 10px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  pointer-events: none;
  background: url("../img/works/icon-glass.svg") no-repeat center/contain;
}
@media screen and (min-width: 768px) {
  .works-aside__inputWrap {
    margin: 20px 0 30px;
  }
}
@media screen and (max-width: 767px) {
  .works-aside__inputWrap {
    margin: 15px 0;
  }
}

.works-aside__input {
  width: 100%;
  height: 35px;
  padding: 0 20px 0 40px;
  border: 1px solid #9f9f9f;
  border-radius: 2px;
}
.works-aside__input::-webkit-input-placeholder {
  font-size: 15px;
  color: #9f9f9f;
}
.works-aside__input::-moz-placeholder {
  font-size: 15px;
  color: #9f9f9f;
}
.works-aside__input:-ms-input-placeholder {
  font-size: 15px;
  color: #9f9f9f;
}
.works-aside__input::-ms-input-placeholder {
  font-size: 15px;
  color: #9f9f9f;
}
.works-aside__input::placeholder {
  font-size: 15px;
  color: #9f9f9f;
}

@media screen and (min-width: 768px) {
  .works-aside__checkGroup {
    margin: 20px 0 30px;
  }
}
@media screen and (max-width: 767px) {
  .works-aside__checkGroup {
    margin: 5px 0 30px;
  }
}

@media screen and (min-width: 768px) {
  .works-aside__checkWrap {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: block;
  }
  .works-aside__checkWrap:nth-child(n+2) {
    margin-top: 15px;
  }
}
@media screen and (max-width: 767px) {
  .works-aside__checkWrap {
    display: inline-block;
    margin: 15px 8px 0;
  }
}
.works-aside__checkWrap input {
  display: none;
}
.works-aside__checkWrap input + span {
  padding-left: 30px;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  font-family: notoSans400, sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
}
.works-aside__checkWrap input + span:before {
  content: "";
  width: 20px;
  height: 20px;
  display: block;
  position: absolute;
  top: 55%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border: 1px solid #A3A3A3;
  border-radius: 2px;
  background-color: #fff;
}
.works-aside__checkWrap input:checked + span:after {
  content: "";
  width: 9px;
  height: 16px;
  border-right: 2px solid #064EA2;
  border-bottom: 2px solid #064EA2;
  display: block;
  left: 7px;
  position: absolute;
  top: 38%;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}