/*font-size*/
/*colors*/
/*path*/
#cate main {
  position: relative;
  padding-bottom: 2em; }

#cate main::after {
  content: '';
  display: none;
  bottom: 0;
  width: calc(100vw - 2rem);
  border: 1px solid #f6c800;
  position: absolute;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  left: 1rem; }

#cate section {
  margin-bottom: 2rem;
  position: relative; }

#cate .decoration {
  position: relative;
  padding-top: 230px;
  margin-bottom: 2rem; }

#cate .decoration._red .nav {
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(159, 18, 0, 0.4)), to(rgba(237, 40, 77, 0.4))), -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.4)));
  background: -webkit-linear-gradient(bottom, rgba(159, 18, 0, 0.4) 0%, rgba(237, 40, 77, 0.4) 100%), -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 100%);
  background: -o-linear-gradient(bottom, rgba(159, 18, 0, 0.4) 0%, rgba(237, 40, 77, 0.4) 100%), -o-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 100%);
  background: linear-gradient(0deg, rgba(159, 18, 0, 0.4) 0%, rgba(237, 40, 77, 0.4) 100%), linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 100%); }

#cate .decoration._red::after {
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(191, 1, 1, 0.4)), color-stop(55.6%, rgba(255, 132, 108, 0.04)), to(rgba(254, 186, 60, 0)));
  background: -webkit-linear-gradient(bottom, rgba(191, 1, 1, 0.4) 0%, rgba(255, 132, 108, 0.04) 55.6%, rgba(254, 186, 60, 0) 100%);
  background: -o-linear-gradient(bottom, rgba(191, 1, 1, 0.4) 0%, rgba(255, 132, 108, 0.04) 55.6%, rgba(254, 186, 60, 0) 100%);
  background: linear-gradient(0deg, rgba(191, 1, 1, 0.4) 0%, rgba(255, 132, 108, 0.04) 55.6%, rgba(254, 186, 60, 0) 100%); }

#cate .decoration._blue .nav {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(79, 183, 255, 0.4)), to(rgba(0, 91, 241, 0.4))), -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.4)));
  background: -webkit-linear-gradient(top, rgba(79, 183, 255, 0.4) 0%, rgba(0, 91, 241, 0.4) 100%), -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 100%);
  background: -o-linear-gradient(top, rgba(79, 183, 255, 0.4) 0%, rgba(0, 91, 241, 0.4) 100%), -o-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 100%);
  background: linear-gradient(180deg, rgba(79, 183, 255, 0.4) 0%, rgba(0, 91, 241, 0.4) 100%), linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 100%); }

#cate .decoration._blue::after {
  background: -webkit-gradient(linear, left bottom, left top, from(#1D7BDB), color-stop(53.01%, rgba(125, 177, 255, 0.1)), to(rgba(254, 186, 60, 0)));
  background: -webkit-linear-gradient(bottom, #1D7BDB 0%, rgba(125, 177, 255, 0.1) 53.01%, rgba(254, 186, 60, 0) 100%);
  background: -o-linear-gradient(bottom, #1D7BDB 0%, rgba(125, 177, 255, 0.1) 53.01%, rgba(254, 186, 60, 0) 100%);
  background: linear-gradient(0deg, #1D7BDB 0%, rgba(125, 177, 255, 0.1) 53.01%, rgba(254, 186, 60, 0) 100%); }

#cate .decoration h1 {
  font-size: 2.8rem;
  font-weight: bold;
  text-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
  line-height: 1.5;
  text-align: center;
  position: absolute;
  width: 100%;
  left: 0;
  top: 50%;
  z-index: 3;
  margin-top: -1.7em; }

#cate .decoration .en {
  display: block;
  font-size: 1.5rem;
  opacity: .5; }

#cate .decoration .nav {
  /*
      &::before {
        @extend %mask;
        z-index: 0;
        background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.4) 100%);
      }
      */ }
  #cate .decoration .nav {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-shadow: 3px 11px 17px 21px rgba(0, 0, 0, 0.13);
    box-shadow: 3px 11px 17px 21px rgba(0, 0, 0, 0.13);
    z-index: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow-x: scroll;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch; }
  #cate .decoration .nav a {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    padding: 0 1em;
    display: block;
    text-align: center;
    line-height: 3;
    position: relative;
    z-index: 1;
    white-space: nowrap; }

#cate .decoration .kv {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  top: 0;
  left: 0;
  background: #222;
  z-index: 0; }

#cate .decoration::after, #cate .decoration::before {
  z-index: 1; }

#cate .decoration::before {
  background-color: rgba(0, 0, 0, 0.5); }

#cate .ctrl {
  display: none; }

#cate .md-frgroup .fg-itm:last-child {
  margin-right: 0; }

#cate #cast .outer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow-x: scroll;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  margin-right: -1rem; }

#cate #cast .md-frgroup {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 calc((80vw * 8) + (.8rem * 8));
  flex: 0 0 calc((80vw * 8) + (.8rem * 8));
  margin-right: 0;
  overflow: hidden; }

#cate #cast .fg-itm {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 80vw;
  flex: 0 0 80vw; }

#cate #cast .md-frgroup:last-child {
  margin-right: 0; }

#cate .decoration::after, #cate .decoration::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none; }

@media screen and (min-width: 520px) {
  #cate .decoration {
    padding-top: 430px;
    top: -62px;
    margin-bottom: 0; }
  #cate .decoration h1 {
    font-size: 3.75rem; }
  #cate .decoration .en {
    font-size: 2rem; }
  #cate .decoration .nav {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    overflow: hidden; }
    #cate .decoration .nav a {
      padding: 0 1.5%;
      margin: 0 1%;
      font-size: 1.125rem; }
  #cate section {
    margin-bottom: 4rem; }
  #cate .ctrl {
    position: absolute;
    top: 1em;
    right: 0;
    white-space: nowrap;
    display: block; }
  #cate .ctrl button {
    border: 1px solid rgba(255, 255, 255, 0.3);
    width: 32px;
    height: 32px;
    position: relative; }
  #cate .ctrl button:hover {
    border-color: #FFF;
    background: none; }
  #cate .ctrl .prev {
    margin-right: .3em; }
    #cate .ctrl .prev::before {
      content: '';
      display: block;
      width: 14px;
      padding-top: 14px;
      position: absolute;
      overflow: hidden;
      top: 8px;
      left: 8px;
      background: url("/static/images/database/sprites.png") no-repeat;
      background-size: 129px 128px;
      background-position: -74px -56px; }
  #cate .ctrl .next::before {
    content: '';
    display: block;
    width: 14px;
    padding-top: 14px;
    position: absolute;
    overflow: hidden;
    top: 8px;
    left: 8px;
    background: url("/static/images/database/sprites.png") no-repeat;
    background-size: 129px 128px;
    background-position: -88px -56px; }
  #cate .md-frgroup._title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-grid-columns: unset;
    grid-template-columns: unset;
    grid-column-gap: unset;
    grid-row-gap: unset; }
    #cate .md-frgroup._title .fg-itm {
      -webkit-box-flex: 0;
      -ms-flex: 0 0 calc((100% - 5rem)/6);
      flex: 0 0 calc((100% - 5rem)/6);
      margin-right: 1rem; }
  #cate #cast .outer {
    overflow-x: hidden;
    margin-right: 0; }
  #cate #cast .md-frgroup {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    margin-right: 1rem; } }
