@charset "utf-8";

/* ソート機能 */
[value="all"]:checked ~ .contents [data-category] {
  display: block;
}
[value="digital"]:checked ~ .contents .detail_box:not([data-category~="digital"]),
[value="sales"]:checked ~ .contents .detail_box:not([data-category~="sales"]),
[value="sns"]:checked ~ .contents .detail_box:not([data-category~="sns"]),
[value="dx"]:checked ~ .contents .detail_box:not([data-category~="dx"]),
[value="branding"]:checked ~ .contents .detail_box:not([data-category~="branding"]),
[value="design"]:checked ~ .contents .detail_box:not([data-category~="design"]),
[value="webproduction"]:checked ~ .contents .detail_box:not([data-category~="webproduction"]),
[value="weboperation"]:checked ~ .contents .detail_box:not([data-category~="weboperation"]),
[value="contents"]:checked ~ .contents .detail_box:not([data-category~="contents"]){
  display: none;
}
[value="all"]:checked ~ .filter [for="all"],
[value="digital"]:checked ~ .filter [for="digital"],
[value="sales"]:checked ~ .filter [for="sales"],
[value="sns"]:checked ~ .filter [for="sns"],
[value="dx"]:checked ~ .filter [for="dx"],
[value="branding"]:checked ~ .filter [for="branding"],
[value="design"]:checked ~ .filter [for="design"],
[value="webproduction"]:checked ~ .filter [for="webproduction"],
[value="weboperation"]:checked ~ .filter [for="weboperation"],
[value="contents"]:checked ~ .filter [for="contents"]{
  border-color: #6db131;
  background-color: #6db131;
  color: #fff;
}
  /* ラジオボタン非表示 */
  input[type="radio"] {
    position: absolute;
    left: -9999px;
  }


@media screen and (min-width: 801px) {
  .work_ttl,
  .filter_btn{
    font-size: 14px;
    line-height: 1.86;
    letter-spacing: 0.06em;
  }
  .work_ttl {
    padding-top: 10px;
  }
  .filter{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    margin: 50px 0 0;
  }
  .filter_btn{
    margin: 0 20px 30px 0;
  }
  /*.filter_btn:not(:first-of-type){
    margin-left: 20px;
  }*/
  .filter_btn label{
    padding: 7px 22px;
    border: 1px solid #000;
    border-radius: 100px;
    cursor: pointer;
  }
  .filter_btn:hover label{
    border-color: #6db131;
    background-color: #6db131;
    color: #fff;
    transition: all .4s ease;
  }

  .contents{
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-left: -30px;
  }
  .contents li{
    margin: 35px 0 0 30px;
    width: calc(100% / 3 - 40px);
  }
  .contents li a{
    display: block;
    height: 100%;
    transition: all .4s ease;
  }
  .contents li a:hover{
    opacity: 0.6;
  }
  .pic img{
    width: 100%;
  }
  .category{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin: 2px 0 17px;
  }
  .category span{
    padding: 5px 10px 7px;
    margin: 12px 10px 0 0;
    border: 1px solid #a9a9a9;
    border-radius: 12px;
    font-size: 12px;
    color: #6e6e6e;
    letter-spacing: 0.06em;
    line-height: 1;
  }

}



@media screen and (max-width: 800px) {
  .work_ttl,
  .filter_btn{
    font-size: 3.2vw;
    line-height: 1.58;
    letter-spacing: 0.04em;
  }

  .filter{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .filter_btn{
    margin-bottom: 2.67vw;
    padding: 1.67vw 0;
  }
  .filter_btn:not(:last-of-type){
    margin-right: 2.67vw;
  }
  .filter_btn label{
    padding: 1.67vw 3.47vw;
    border: 1px solid #000;
    border-radius: 100px;
  }

  .contents{
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-left: -4vw;
  }
  .contents li{
    margin: 6.67vw 0 0 4vw;
    width: calc(100% / 2 - 4vw);
  }
  .contents li a{
    display: block;
    height: 100%;
    transition: all .4s ease;
  }
  .pic img{
    width: 100%;
  }
  .category{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin: 1.47vw 0 2.67vw;
  }
  .category span{
    padding: 2px 2vw;
    margin: 1.6vw 1.33vw 0 0;
    border: 1px solid #a9a9a9;
    border-radius: 2.93vw;
    font-size: 2.93vw;
    color: #6e6e6e;
    letter-spacing: 0.04em;
    line-height: 1.2;
  }


}
