﻿
.customize-checkbox {
  display: inline-block;
  vertical-align: middle; }

html, body {
  background: #f9f9f9; }

#category .breadcrumb_last {
  font-weight: bold;
  color: #333;
}

#category {
  margin-bottom: 80px; }
  #category .posts {
    margin-bottom: 40px; }
  #category .filter {
    background: #fff;
    padding: .5em 1.5em;
    margin-bottom: 40px;
    border-bottom: 8px solid #f0f0f0; }
  #category .filter dl {
    overflow: hidden;
    border-bottom: 1px solid #eee;
    padding: 1em 0 .7em 0; }
  #category .filter dl:last-of-type {
    border-bottom: 0; }
  #category .filter dt {
    float: left;
    padding-left: 1.5em;
    position: relative; }
  #category .filter dd {
    margin-left: 7.5em; }
  #category .mtype dt::before {
    content: '';
    display: block;
    width: 18px;
    padding-top: 18px;
    position: absolute;
    background: url(../images/sprite.png) no-repeat;
    background-position: -180px -32.4px;
    background-size: 270px 135px;
    left: 0;
    top: 4px; }
  #category .marea dt::before {
    content: '';
    display: block;
    width: 18px;
    padding-top: 18px;
    position: absolute;
    background: url(../images/sprite.png) no-repeat;
    background-position: -180px -50.4px;
    background-size: 270px 135px;
    left: 0;
    top: 4px; }
  #category .subject-desc {
    max-width: 970px;
    margin: 0 auto;
    padding: 0 12px;
    font-size: 20px;
    position: relative;
    top: -30px;
    text-align: center; }
  #category .detail {
    margin-bottom: 50px;
    position: relative;
    text-align: center;
    background-color: #000;
    background-position: top center;
    background-size: 100% auto;
    background-repeat: no-repeat;
    height: 450px;
    color: #fff; }
  /* #category .detail .underline-title {
    font-size: 40px; } */
  #category .detail .intro {
    position: absolute;
    width: 100%;
    bottom: 0;
    padding: 100px 0 40px 0;
    background: -webkit-gradient(linear, left bottom, left top, from(black), to(rgba(0, 0, 0, 0)));
    background: -webkit-linear-gradient(bottom, black 0%, rgba(0, 0, 0, 0) 100%);
    background: -o-linear-gradient(bottom, black 0%, rgba(0, 0, 0, 0) 100%);
    background: linear-gradient(to top, black 0%, rgba(0, 0, 0, 0) 100%);
    z-index: 5; }
  #category .detail .desc {
    margin: 0 auto;
    max-width: 1000px;
    padding: 0 20px;
    text-align: left;
    font-size: 20px; }
  #category .detail .desc img {
    display: none; }

.customize-checkbox {
  white-space: nowrap;
  margin: 0 .4em .5em 0; }

.customize-checkbox input + span {
  display: block;
  border: 2px solid #f6c800;
  padding: 0 .6em;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: background-color .25s ease-out, padding .25s ease-out;
  -o-transition: background-color .25s ease-out, padding .25s ease-out;
  transition: background-color .25s ease-out, padding .25s ease-out;
  position: relative; }

.customize-checkbox input:checked + span {
  padding: 0 .6em 0 2em;
  background: #f6c800; }
  .customize-checkbox input:checked + span::before {
    content: '';
    display: block;
    width: 20px;
    padding-top: 20px;
    position: absolute;
    background: url(../images/sprite.png) no-repeat;
    background-position: -45px 0px;
    background-size: 187.5px 93.75px;
    left: 5px;
    top: 3px; }

.customize-checkbox input[type="checkbox"] {
  display: none; }

/**
 * Movie Subject 
 */
.collections {
  overflow: hidden;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto auto;
  grid-template-columns: auto auto;
  grid-column-gap: 40px;
  grid-row-gap: 40px; }

.subject {
  background: #fff;
  font-size: 18px; }

.subject .sbj-kv {
  background: #000;
  color: #fff;
  position: relative;
  padding-bottom: 3.26em;
  min-height: 200px;
  overflow: hidden; }

.subject .sbj-kv:hover img {
  -webkit-transform: scale(1.05);
  -ms-transform: scale(1.05);
  transform: scale(1.05);
  -webkit-filter: brightness(120%);
  filter: brightness(120%); }

.subject .sbj-kv::after {
  content: '';
  display: block;
  position: absolute;
  z-index: 1;
  background: -webkit-gradient(linear, left bottom, left top, from(black), to(rgba(0, 0, 0, 0)));
  background: -webkit-linear-gradient(bottom, black 0%, rgba(0, 0, 0, 0) 100%);
  background: -o-linear-gradient(bottom, black 0%, rgba(0, 0, 0, 0) 100%);
  background: linear-gradient(to top, black 0%, rgba(0, 0, 0, 0) 100%);
  bottom: 3.26em;
  height: 100px;
  width: 100%;
  left: 0; }

.subject .sbj-link {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 10;
  top: 0;
  left: 0; }

.subject .sbj-intro {
  position: absolute;
  width: 100%;
  z-index: 3;
  bottom: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 22px .5em 22px; }

.subject .sbj-title {
  font-size: 32px;
  font-weight: bold;
  border-bottom: 1px solid #f6c800;
  margin-bottom: .3em; }

.subject .sbj-desc {
  display: -webkit-box;
  line-height: 1.63;
  height: 3.26em;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis; }
  .subject .sbj-desc img {
    display: none; }

.subject .sbj-cover {
  width: 100%;
  aspect-ratio: 16 / 9;
  -webkit-transition: all .25s ease-out;
  -o-transition: all .25s ease-out;
  transition: all .25s ease-out;
}

.subject .sbj-extra {
  padding: 1em 22px; }

.subject .sbj-post {
  display: -webkit-box;
  line-height: 1.63;
  height: 3.26em;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  margin: .6em 0 1.5em 0; }
  .subject .sbj-post a {
    color: #5db7f5; }

.subject .btn-negative {
  display: block;
  background: #000;
  color: #fff;
  margin: 0 18px;
  text-align: center;
  padding: .4em .5em; }

.page-fragment .pf-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.page-fragment .pf-wrap * {
  display: block; }

.page-fragment .pf-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  margin: 0 .25em; }

.page-fragment .pf-num, .page-fragment .pf-jump, .page-fragment .pf-ellipsis {
  border: 2px solid #000;
  line-height: 33px; }

.page-fragment .pf-jump {
  margin: 0 .25em;
  padding: 0 1em; }
  .page-fragment .pf-jump.reverse {
    color: #fff;
    background: #000; }

.page-fragment .pf-num, .page-fragment .pf-ellipsis {
  width: 33px;
  text-align: center;
  border-left: 0; }

.page-fragment .pf-num:first-child, .page-fragment .pf-ellipsis:first-child {
  border-left: 2px solid #000; }

.page-fragment .pf-prev-resize {
  display: none; }

.page-fragment span.pf-num {
  background: #f6c800; }

@media only screen and (max-width: 600px) {
  .page-fragment .pf-first,
  .page-fragment .pf-last {
    display: none; } }

@media only screen and (max-width: 450px) {
  .page-fragment .pf-numbers {
    margin: 0; }
  .page-fragment .pf-jump {
    margin: 0; } }

@media only screen and (max-width: 430px) {
  .page-fragment .pf-wrap {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start; }
  .page-fragment .pf-prev {
    display: none; }
  .page-fragment .pf-prev-resize {
    display: block; } }

@media only screen and (max-width: 950px) {
  #category .subject-desc {
    font-size: 18px; }
  #category .detail .underline-title {
    font-size: 34px; }
  #category .detail .intro {
    padding: 10% 0 4% 0; }
  #category .detail .desc {
    font-size: 18px; } }

@media only screen and (max-width: 860px) {
  #category .subject-desc {
    font-size: 16px;
    top: -10px;
    margin-bottom: 20px; }
  #category .detail {
    background-size: auto 100%; }
    #category .detail .underline-title {
      font-size: 30px; }
    #category .detail .desc {
      font-size: 16px; }
  .collections {
    grid-column-gap: 20px;
    grid-row-gap: 20px; } }

@media only screen and (max-width: 720px) {
  .subject {
    font-size: 16px; }
    .subject .sbj-title {
      font-size: 24px; } }

@media only screen and (max-width: 630px) {
  .collections {
    grid-column-gap: 10px;
    grid-row-gap: 10px; }
  .subject .btn-negative {
    margin: 0; } }

@media only screen and (max-width: 550px) {
  .collections {
    -ms-grid-columns: auto;
    grid-template-columns: auto;
    grid-column-gap: 0; }
  .subject .btn-negative {
    width: 8.5em;
    margin: 0 auto;
  }
  .subject .sbj-cover {
    max-height: 288px;
  }
}

@media only screen and (max-width: 450px) {
  #category .filter {
    padding: .3em 1em; }
  #category .filter dt {
    float: none;
    margin-bottom: .8em;
    position: relative; }
    #category .filter dt::after {
      content: '展開';
      position: absolute;
      color: #888;
      right: 0; }
  #category .filter dd {
    margin-left: 0;
    overflow: hidden;
    position: relative;
    -webkit-transition: .3s ease-out;
    -o-transition: .3s ease-out;
    transition: .3s ease-out;
    max-height: 1.3em; }
  #category .filter dd.active::after {
    display: none; }
  #category .filter dd.active {
    max-height: 200px; }
  #category .filter dd::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.2)), to(white));
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.2) 0%, white 100%);
    background: -o-linear-gradient(top, rgba(255, 255, 255, 0.2) 0%, white 100%);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.2) 0%, white 100%);
    top: 0;
    left: 0; } }
