@charset "utf-8";


/* 施工実績 */
#works { overflow: hidden; zoom: 1 }


/* カテゴリページ */
#works .category { margin: 0 auto; width: 80% }
#works .category ul { margin-left: -12.2% }
#works .category ul li { position: relative; float: left; margin-left: 11.3%; margin-bottom: 60px; width: 22% }
#works .category ul li p { position: relative; padding-top: 100%; background-color: #F0F1F7; overflow: hidden; width: 100% }
#works .category ul li p img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); object-fit: cover; font-family: "object-fit: cover;"; width: 100%; height: 100% }
#works .category ul h4 {
  position: absolute;
  top: 50%; left: 0;
  transform: translateY(-50%);
  padding: 0.7em 0.5em; 
  background-color: rgba(0, 0, 0, 0.7);
  box-sizing: border-box;
  color: #FFF;
  text-align: center;
  pointer-events: none;
  width: 100%
}
#works .category ul a:hover { opacity: 0.7 }
#works .category li span { position: absolute; top: -8px; right: 10px }

@media screen and (max-width: 800px) {
#works .category { margin-top: 2em; width: 100% }
#works .category ul { margin-left: 0; display: flex; flex-wrap: wrap; justify-content: space-between }
#works .category ul li { float: none; margin-left: 0; margin-bottom: 2em; width: 32% }
#works .category ul h4 { font-size: 90% }
}





/* カテゴリメニュー */
#works .category_menu { margin-bottom: 3em }
#works .category_menu ul { padding-bottom: 10px; overflow: hidden }
#works .category_menu li { float: left; margin-right: 1px; text-align: center; width: 195px }
#works .category_menu li:first-child { width: 215px }
#works .category_menu li a { padding: 1em 0.5em; background-color: #EEE; font-size: 90%; display: block; width: 100% }
#works .category_menu li span { position: relative; padding: 1em 0.5em; background-color: #000; color: #FFF; font-size: 90%; display: block; overflow: visible; width: 100% }
#works .category_menu li span::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  border-top: 10px solid #000;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
}

@media screen and (max-width: 800px) {
#works .category_menu { margin-bottom: 2em }
#works .category_menu ul { display: flex; flex-wrap: wrap; justify-content: space-between }
#works .category_menu li { float: none; margin-right: 0; margin-bottom: 1px; box-sizing: border-box; border-right: 1px solid #FFF; font-size: 85%; display: flex; width: 33.33% }
#works .category_menu li:nth-child(3n) { border-right: none }
#works .category_menu li:first-child { width: 33.33% }
}


/* 一覧ページ */
#works .list { margin-bottom: 2em }
#works .list ul { margin-left: -3%; padding-top: 10px; overflow: hidden }
#works .list ul li { position: relative; float: left; margin-bottom: 2em; margin-left: 3.5%; width: 16.5% }
#works .list ul li p { position: relative; margin-bottom: 0.5em; padding-top: 100%; background-color: #F0F1F7; overflow: hidden; width: 100% }
#works .list ul li p img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); object-fit: cover; font-family: "object-fit: cover;"; width: 100%; height: 100% }
#works .list ul a { color: #333; text-decoration: none }
#works .list h4 { font-size: 90%; font-weight: bold; text-align: center }
#works .list h5 { font-size: 90%; text-align: center }
#works .list p.no_data { text-align: center }
#works .list li span { position: absolute; top: -8px; right: 10px }

@media screen and (max-width: 800px) {
#works .list ul li { width: 46.5% }
}


/* ページャー */
#works .pager ul { text-align: center; overflow: hidden }
#works .pager li { padding: 0 1px; display: inline-block }
#works .pager li span { padding: 0.7em 1em; border: 1px solid #CCC; display: block }
#works .pager li span.here { background-color: #EEE; border: 1px solid #EEE }


/* 詳細ページ */
#works .detail { margin: 0 auto; overflow: hidden; width: 1120px }
#works .detail .bloc_left { float: left; width: 500px }
#works .detail .bloc_left h5 { margin-top: 0.5em; font-size: 80% }
#works .detail .bloc_right { float: right; width: 570px }
#works .detail .photo { border: 7px solid #EEE; box-sizing: border-box }
#works .detail .photo p { position: relative; padding-top: 100%; background-color: #F0F1F7 }
#works .detail .photo p img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); object-fit: contain; font-family: "object-fit: contain;"; width: 100%; height: 100% }
#works .detail .after { margin-bottom: 2em; overflow: hidden }
#works .detail .after h6 { background-color: #FFC926 }
#works .detail .before { clear: left; margin-bottom: 2em; overflow: hidden; zoom: 1 }
#works .detail .before h6 { background-color: #9CF }
#works .detail .btn_bloc { margin: 0 auto; width: 300px }
#works .detail h6 { position: relative; float: left; width: 70px; height: 100px }
#works .detail h6 span { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 85%; font-weight: bold; display: block; text-align: center; width: 100% }
#works .detail ul { float: left; overflow: hidden; width: 500px; height: 100px }
#works .detail li { position: relative; float: left; padding-top: 20%; width: 20% }
#works .detail li img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); object-fit: cover; font-family: "object-fit: cover;"; width: 100%; height: 100% }
#works .detail table { margin-bottom: 2em; border: 1px solid #333; font-size: 90%; text-align: left; width: 100% }
#works .detail th { padding: 1em 1em; border: 1px solid #333; width: 20% }
#works .detail td { padding: 1em 1em; border: 1px solid #333 }
#works .detail li.no_photo { position: relative; background-color: #F0F1F7; border-right: 1px solid #FFF; box-sizing: border-box }
#works .detail li.no_photo span { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: #CCC; font-size: 80%; display: block; text-align: center; width: 100% }
#works .detail li a:hover img { opacity: 0.7 }

@media screen and (max-width: 800px) {
#works .detail { margin: 0 auto; overflow: hidden; width: 90% }
#works .detail .bloc_left { float: none; margin-bottom: 1em; width: 100% }
#works .detail .bloc_right { float: none; width: 100% }
#works .detail .after { margin-bottom: 1em }
#works .detail .before { margin-bottom: 1em }
#works .detail h6 { padding-top: 17.54%; width: 12.28%; height: auto }
#works .detail h6 span { font-size: 60%;  }
#works .detail ul { width: 87.72%; height: 17.54% }
#works .detail li.no_photo { font-size: 70% }
#works .detail table { font-size: 80% }
#works .detail th { padding: 0.5em; width: 25% }
#works .detail td { padding: 0.5em }
}





