/*ページ設定部分（style.cssなどで設定していれば削除する）*/
body {
 margin: 0;
 padding: 0;
 background: #fff;
}
.container {
 width: 100%;
 max-width: 1280px;
 margin: 0 auto;
 padding: 0 20px;
}
/*ここまでページ設定部分*/


/*ここからAdaptive Thumbnail Pile Effectの設定*/

.topbar {
 position: relative;
 padding: 20px 0;
 margin: 50px 0;
}
.back {
 width: 50px;
 height: 50px;
 position: absolute;
 left: 50%;
 top: 50%;
 margin: -20px 0 0 -20px;
 border-radius: 50%;
 text-align: center;
 font-size: 25px;
 line-height: 48px;
 color: black;
 background: #bbb;
 background: rgba(187,187,187,0.8);
 cursor: pointer;
 display: none;
 -webkit-touch-callout: none;
 -webkit-user-select: none;
 -khtml-user-select: none;
 -moz-user-select: none;
 -ms-user-select: none;
 user-select: none;
}
.no-touch .back:hover {
 background: #bbb;
 background: rgba(187,187,187,0.5);
}
.tp-grid {
 list-style-type: none;
 position: relative;
 display: block;
}
.tp-grid li {
  width: 25%;
  max-height: 220px;
  position: absolute;
  cursor: pointer;
  border: 10px solid #fff;
  box-shadow: 0 2px 3px rgba(0,0,0,0.2);
  display: none;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  backface-visibility: hidden;
}
.no-js .tp-grid li {
  position: relative;
  display: inline-block;
  }
.tp-grid li a {
  display: block;
  outline: none;
  border: none;
  }
.tp-grid li img {
  display: block;
  border: none;
  }
.tp-info, .tp-title, .non-tp-info {
  position: absolute;
  background: #fff;
  line-height: 20px;
  color: #333;
  top: 40%;
  width: 75%;
  padding: 10px;
  font-weight: 700;
  text-align: right;
  left: 0px;
  box-shadow: 1px 1px 1px rgba(0,0,0,0.1), 5px 0 5px -3px rgba(0,0,0,0.4), inset 0 0 5px rgba(0,0,0,0.04);
  }
.touch .tp-info {
  left: 0px;
}
.no-touch .tp-info {
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.no-touch .tp-grid li:hover .tp-info {
  -webkit-transition-delay: 150ms;
  -moz-transition-delay: 150ms;
  -o-transition-delay: 150ms;
  -ms-transition-delay: 150ms;
  transition-delay: 150ms;
}
.no-touch .tp-open li:hover .tp-info {
  left: -50%;
}
.tp-title {
  padding: 10px 35px 10px 10px;
  left: 0px;
}
.tp-title span:nth-child(2) {
  color: #aaa;
  padding: 0 5px;
  background: #F7F7F7;
  right: 0px;
  height: 100%;
  line-height: 40px;
  top: 0px;
  position: absolute;
  display: block;
}
