/* _setting CSS */
body {
  height: 100%;
  margin: 0;
}

#wrapper:before {
  content: 'Works';
}

#contents {
  width: 71.42857vw;
  margin: 5vw auto 3.57143vw;
}
#contents .works_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 0 60px;
}
#contents .works_list li {
  width: 16.71429vw;
  margin: 0 0 1.71429vw;
}
#contents .works_list li a {
  display: block;
  position: relative;
  overflow: hidden;
}
#contents .works_list li a .text {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: 0.5s;
}
#contents .works_list li a .text .title {
  line-height: 1.5;
  color: #fff;
  font-size: 1.71429vw;
  text-align: center;
}
#contents .works_list li a .text .title span {
  display: block;
  font-size: 1.28571vw;
}
#contents .works_list li a img {
  width: 100%;
  transition: 1s;
}
#contents .works_list:after, #contents .works_list:before {
  content: '';
  order: 2;
  width: 16.71429vw;
  height: 0;
}
#contents .works_list_ex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 0 60px;
}
#contents .works_list_ex li {
  width: 16.71429vw;
  margin: 0 0 2.5vw;
}
#contents .works_list_ex li a {
  display: block;
  font-family: 'source-han-serif-japanese';
}
#contents .works_list_ex li a .img {
  width: 100%;
  margin: 0 0 0.71429vw;
  overflow: hidden;
}
#contents .works_list_ex li a .img img {
  transition: 1s;
}
#contents .works_list_ex li a .text {
  width: 100%;
  height: 100%;
  line-height: 1.5;
  transition: 0.4s;
  font-size: 1.07143vw;
}
#contents .works_list_ex li a .text span {
  display: block;
  font-size: 0.71429vw;
}
#contents .works_list_ex li a .text .place {
  margin: 0.35714vw 0 0;
  text-align: right;
}
#contents .works_list_ex:after, #contents .works_list_ex:before {
  content: '';
  order: 2;
  width: 16.71429vw;
  height: 0;
}
#contents .detail .item_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  /* 追加 */
  flex-direction: column;
}
/* 追加 */
#contents .detail .item_wrap .body{
  width: 100%;
}
/* 追加 */
#contents .detail .item_wrap .body img{
  width: 100%;
  object-fit: cover;
  height: auto;
}
#contents .detail .item_wrap .text_wrap {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  order: 2;
  /* 編集 */
  margin-top: 1em;
  width: 100%;
}
#contents .detail .item_wrap .text_wrap > * {
  order: 2;
  width: 100%;
}
#contents .detail .item_wrap .text_wrap .category {
  order: 1;
  margin: 0 0 2.5vw;
}
#contents .detail .item_wrap .text_wrap .category a {
  display: inline-block;
  position: relative;
  padding: 0 0 0 1.78571vw;
}
#contents .detail .item_wrap .text_wrap .category a:before {
  content: '';
  position: absolute;
  top: 46%;
  left: 0;
  width: 1.07143vw;
  height: 1px;
  background: #3c3c3c;
  transition: 0.7s cubic-bezier(0, 1, 0.975, 1);
  transition-delay: 0.2s;
}
#contents .detail .item_wrap .text_wrap h3 {
  font-size: 1.85714vw;
}
#contents .detail .item_wrap .text_wrap .date_y {
  margin: 0.35714vw 0 0.57143vw;
  font-size: 1.28571vw;
}
#contents .detail .item_wrap .text_wrap .text1 {
  font-size: 1.28571vw;
}
/* 追加 */
#contents .detail .item_wrap .text_wrap .text2 {
  margin-top: 1.5em;
  font-size: 1.28571vw;
}
/* 追加 */
#contents .detail .item_wrap .text_wrap .text2 a {
  text-decoration: underline;  
}
#contents .detail .item_wrap .text_wrap .btn_online {
  margin: 2.14286vw 0 0;
}
#contents .detail .item_wrap .text_wrap .btn_online a {
  display: block;
  position: relative;
  width: 14.28571vw;
  padding: 0.71429vw 0;
  background: #000;
  color: #fff;
  font-size: 1.28571vw;
  text-align: center;
}
#contents .detail .item_wrap .text_wrap .btn_online a svg {
  position: absolute;
  top: 50%;
  right: 0.71429vw;
  width: 1.07143vw;
  transform: translateY(-52%);
  opacity: 0.8;
}
#contents .detail .item_wrap .img {
  order: 3;
  width: 41.07143vw;
  margin: 0 0 2.85714vw;
}
#contents .detail .item_wrap .img img {
  width: 100%;
}
#contents .detail .item_wrap .img:first-of-type {
  order: 1;
}
#contents .detail_ex .title {
  margin: 0 0 0.14286vw;
  font-size: 1.85714vw;
}
#contents .detail_ex .date {
  margin: 0 0 0.14286vw;
  color: #848484;
  font-size: 1.28571vw;
}
#contents .detail_ex .place {
  color: #848484;
  font-size: 1.28571vw;
}
#contents .detail_ex .item_wrap {
  margin: 1.78571vw 0 0;
}
#contents .detail_ex .item_wrap p {
  margin: 0 0 2.85714vw;
}

/* min-width:751px | 751px ~
------------------------------------------------------------------------- */
@media screen and (min-width: 751px) {
  /* @media screen
  ------------------------------------------------------------------------- */
  #contents .works_list li a:hover img {
    transform: scale(1.1);
  }
  #contents .works_list li a:hover .text {
    opacity: 1;
  }
  #contents .works_list_ex li a:hover img {
    opacity: 0.7;
    transform: scale(1.1);
  }
  #contents .works_list_ex li a:hover .text {
    opacity: 0.7;
  }
  #contents .detail .item_wrap .text_wrap .btn_online a {
    transition: 0.4s;
  }
  #contents .detail .item_wrap .text_wrap .btn_online a:hover {
    opacity: 0.7;
  }

  /* @media screen
  ------------------------------------------------------------------------- */
}
/* ////.min-width:751px | 751px ~
---------------------------------------------------------------------
------------
------------
------------
------------
------------
------------
------------
------------
------------
------------
max-width:750px | ~ 750px
------------------------------------------------------------------------- */
@media screen and (max-width: 750px) {
  /* @media screen
  ------------------------------------------------------------------------- */
  #wrapper:before {
    display: none;
  }

  #contents {
    width: 92vw;
    margin: 13.33333vw auto;
  }
  #contents .works_list {
    margin: 0 0 8vw;
  }
  #contents .works_list li {
    width: 44.53333vw;
    margin: 0 0 2.66667vw;
  }
  #contents .works_list li a .text {
    background: rgba(0, 0, 0, 0.3);
    opacity: 1;
  }
  #contents .works_list li a .text .title {
    font-size: 5.33333vw;
  }
  #contents .works_list li a .text .title span {
    font-size: 3.73333vw;
  }
  #contents .works_list:after, #contents .works_list:before {
    display: none;
  }
  #contents .works_list_ex {
    margin: 0 0 8vw;
  }
  #contents .works_list_ex li {
    width: 44.53333vw;
    margin: 0 0 8vw;
  }
  #contents .works_list_ex li a .text {
    font-size: 4vw;
  }
  #contents .works_list_ex li a .text span {
    font-size: 2.66667vw;
    letter-spacing: 0.05em;
  }
  #contents .works_list_ex li a .text .place {
    margin: 1.33333vw 0 0;
  }
  #contents .works_list_ex:after, #contents .works_list_ex:before {
    display: none;
  }
  #contents .detail .item_wrap {
    display: flex;
    flex-wrap: wrap;
  }
  #contents .detail .item_wrap .text_wrap {
    order: 2;
    width: 100%;
  }
  #contents .detail .item_wrap .text_wrap .category {
    order: 1;
    margin: 0 0 5.33333vw;
  }
  #contents .detail .item_wrap .text_wrap .category a {
    padding: 0 0 0 6.66667vw;
    font-size: 4.26667vw;
  }
  #contents .detail .item_wrap .text_wrap .category a:before {
    width: 4vw;
  }
  #contents .detail .item_wrap .text_wrap h3 {
    font-size: 6.93333vw;
  }
  #contents .detail .item_wrap .text_wrap .date_y {
    margin: 1.33333vw 0 2.13333vw;
    font-size: 4.8vw;
  }
  #contents .detail .item_wrap .text_wrap .text1 {
    font-size: 4.8vw;
  }
  /* 追加 */
  #contents .detail .item_wrap .text_wrap .text2 {
    font-size: 4.8vw;
  }
  #contents .detail .item_wrap .text_wrap .btn_online {
    margin: 7.46667vw 0 0;
  }
  #contents .detail .item_wrap .text_wrap .btn_online a {
    width: 82.66667vw;
    margin: 0 auto;
    padding: 2.66667vw 0;
    font-size: 4.8vw;
  }
  #contents .detail .item_wrap .text_wrap .btn_online a svg {
    right: 2.66667vw;
    width: 4vw;
  }
  #contents .detail .item_wrap .img {
    order: 1;
    width: 100%;
    margin: 0 0 10.66667vw;
  }
  #contents .detail_ex .title {
    margin: 0 0 0.26667vw;
    font-size: 5.33333vw;
  }
  #contents .detail_ex .date {
    margin: 0 0 0.26667vw;
    font-size: 3.73333vw;
  }
  #contents .detail_ex .place {
    font-size: 3.73333vw;
  }
  #contents .detail_ex .item_wrap {
    margin: 10.66667vw 0 0;
  }
  #contents .detail_ex .item_wrap p {
    margin: 0 0 10.66667vw;
  }

  /* @media screen
  ------------------------------------------------------------------------- */
}
