/*
Author: Team KOHIMOTO
Author URI: https://kohimoto.com/
*/
/* =======================================================
* media query
* ======================================================= */
/* =======================================================
* other common
* ======================================================= */
.br_sp {
  display: none; }
  @media (max-width: 1060px) {
    .br_sp {
      display: block; } }

body.other .content {
  background: #ffffdc;
  background: -moz-linear-gradient(top, #ffffdc 18%, #fdf3ff 35%, #e5eafb 54%, #dcfbfe 70%, #f8fede 83%, #dcfbfe 89%, #dcfbfe 89%, #c5d4ff 100%);
  background: -webkit-linear-gradient(top, #ffffdc 18%, #fdf3ff 35%, #e5eafb 54%, #dcfbfe 70%, #f8fede 83%, #dcfbfe 89%, #dcfbfe 89%, #c5d4ff 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(18%, #ffffdc), color-stop(35%, #fdf3ff), color-stop(54%, #e5eafb), color-stop(70%, #dcfbfe), color-stop(83%, #f8fede), color-stop(89%, #dcfbfe), color-stop(89%, #dcfbfe), to(#c5d4ff));
  background: -o-linear-gradient(top, #ffffdc 18%, #fdf3ff 35%, #e5eafb 54%, #dcfbfe 70%, #f8fede 83%, #dcfbfe 89%, #dcfbfe 89%, #c5d4ff 100%);
  background: linear-gradient(to bottom, #ffffdc 18%, #fdf3ff 35%, #e5eafb 54%, #dcfbfe 70%, #f8fede 83%, #dcfbfe 89%, #dcfbfe 89%, #c5d4ff 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffdc', endColorstr='#c5d4ff',GradientType=0 ); }

body.other .loading {
  background-image: url(../images/loading.gif);
  background-repeat: no-repeat;
  /* background-attachment: fixed; */
  background-position: center center;
  background-size: 60px 60px;
  z-index: 15;
  width: 60px;
  height: 60px;
  text-align: center;
  margin: 0 auto;
  z-index: 15; }

body.other .hide {
  display: none; }

body.other .pc_1300 {
  max-width: 1340px;
  margin: 0 auto;
  /*padding: 5rem;
    background:rgba(255, 255, 255, 0.8);
    margin-bottom: 5rem;
    border: 2px solid #000000;*/ }

body.other h2 small {
  font-size: 0.7rem; }

body.other .fv_area .fv_bg {
  min-height: auto;
  background-image: url(../images/pc/other_fv.png);
  /*background-size: contain;*/ }
  body.other .fv_area .fv_bg:after {
    background-image: url(../images/pc/other_fv_top.png);
    background-repeat: no-repeat;
    top: 0;
    left: 0;
    bottom: auto;
    right: auto;
    height: auto;
    padding-top: 33.31111%;
    z-index: -1; }
    @media (max-width: 576px) {
      body.other .fv_area .fv_bg:after {
        background-image: url(../images/sp/other_fv_top.png);
        width: 314px; } }

body.other .fv_area h2 {
  font-size: 2rem; }
  @media (max-width: 1060px) {
    body.other .fv_area h2 {
      font-size: 1.5rem;
      line-height: 1.433; } }
  body.other .fv_area h2:before {
    background-image: url(../images/h2_before02.png);
    left: 27%; }
    @media (max-width: 1060px) {
      body.other .fv_area h2:before {
        left: 15%; } }
    @media (max-width: 576px) {
      body.other .fv_area h2:before {
        left: 10%; } }
  body.other .fv_area h2:after {
    top: 45%;
    left: 74%; }
    @media (max-width: 1060px) {
      body.other .fv_area h2:after {
        left: 88%; } }
    @media (max-width: 576px) {
      body.other .fv_area h2:after {
        left: 90%;
        top: 43%; } }

body.other .fv_area #content {
  padding-top: 9rem;
  padding-bottom: 4rem;
  background: none; }
  @media (max-width: 1060px) {
    body.other .fv_area #content {
      padding-top: 5rem;
      padding-bottom: 2.5rem; } }
  body.other .fv_area #content .fv_ex_txt {
    font-size: 1.3rem;
    font-weight: bold;
    margin-top: 3rem;
    padding-bottom: 0rem;
    margin-bottom: 1rem; }
    @media (max-width: 1060px) {
      body.other .fv_area #content .fv_ex_txt {
        font-size: 0.95rem;
        margin-top: 2rem; } }
    @media (max-width: 576px) {
      body.other .fv_area #content .fv_ex_txt {
        margin:1rem 0.5rem 0;} }
  body.other .fv_area #content .fv_ex_txt2 .fv_ex_txt {
    font-size: 1rem;
    font-weight: bold;
    margin-top: 3rem;
    padding-bottom: 0rem; }
    @media (max-width: 1060px) {
      body.other .fv_area #content .fv_ex_txt2 .fv_ex_txt {
        font-size: 0.95rem;
        margin-top: 2rem; } }
    @media (max-width: 576px) {
      body.other .fv_area #content .fv_ex_txt2 .fv_ex_txt {
        font-size: 0.7rem;
        margin-top: 1.5rem; } }

body.other .fv_area .btn_fv {
  margin-top: 1.5rem;
  margin-bottom: 0; }

body.other #content_area {
  border: 2px solid #000000;
  max-width: 1300px;
  margin: 0 auto 5rem;
  padding: 5rem 0;
  background: rgba(255, 255, 255, 0.8); }
  @media (max-width: 1400px) {
    body.other #content_area {
      margin: 0 1rem 5rem; } }
  @media (max-width: 576px) {
    body.other #content_area {
      padding: 2rem 0;
      margin-bottom: 2rem; } }
  @media (max-width: 1060px) {
    body.other #content_area section {
      padding: 0 0rem; } }

body.other .rank {
  max-width: 360px;
  margin: 0 auto;
  padding: 0 1rem; }
  @media (max-width: 576px) {
    body.other .rank {
      padding: 0; } }

body.other .cast_list {
  text-align: left; }
  body.other .cast_list .num {
    font-size: 1.6rem;
    font-weight: 600;
    text-align: center;
    line-height: 1;
    margin-bottom: 1.4rem; }
    @media (max-width: 576px) {
      body.other .cast_list .num {
        font-size: 1.1rem;
        margin-bottom: 0.7rem; } }
    body.other .cast_list .num img {
      padding-right: 0.5rem;
      vertical-align: bottom;
      max-width: 50px; }
      @media (max-width: 576px) {
        body.other .cast_list .num img {
          width: 30px; } }
  @media all and (-ms-high-contrast: none) {
    body.other .cast_list *::-ms-backdrop, body.other .cast_list .num img {
      vertical-align: auto; } }
  body.other .cast_list .txt {
    font-size: 1.2rem 0 1rem;
    font-weight: 600;
    line-height: 1;
    padding: 1rem 0; }
    @media (max-width: 576px) {
      body.other .cast_list .txt {
        font-size: 0.7rem;
        padding: 0.8rem 0 0.5rem; } }
  @media all and (-ms-high-contrast: none) {
    body.other .cast_list *::-ms-backdrop, body.other .cast_list .txt {
      margin-top: 0.5rem; } }
  body.other .cast_list .prof {
    font-size: 0.7rem;
    line-height: 1.75;
    padding-bottom: 0.5rem; }
    @media (max-width: 576px) {
      body.other .cast_list .prof {
        font-size: 0.6rem;
        line-height: 1.6; } }
  body.other .cast_list .point {
    font-size: 0.7rem;
    color: #999999;
    text-align: right; }
    @media (max-width: 576px) {
      body.other .cast_list .point {
        font-size: 0.6rem; } }
  body.other .cast_list .img {
    text-align: center;
    border: 1px solid #000;
    position: relative; }
    body.other .cast_list .img .badge {
      position: absolute;
      right: -30px;
      top: -30px; }
      @media (max-width: 1060px) {
        body.other .cast_list .img .badge {
          width: 70px; } }
      @media (max-width: 576px) {
        body.other .cast_list .img .badge {
          right: -10px;
          top: -20px;
          width: 50px; } }
    body.other .cast_list .img img {
      display: block;
      line-height: 1; }
    body.other .cast_list .img .inner_img {
      display: block;
      line-height: 1;
      background-size: 100%;
      padding-top: 100%; }
    body.other .cast_list .img a {
      position: relative;
      display: block; }
      body.other .cast_list .img a .play {
        width: 68px;
        position: absolute;
        bottom: 1rem;
        right: 1rem; }
        @media (max-width: 576px) {
          body.other .cast_list .img a .play {
            bottom: 0.5rem;
            right: 0.5rem; } }
  body.other .cast_list.list01 {
    margin-bottom: 3rem; }
    @media (max-width: 1060px) {
      body.other .cast_list.list01 {
        padding: 0 2rem; } }
    @media (max-width: 576px) {
      body.other .cast_list.list01 {
        margin-bottom: 2rem; } }
    @media (max-width: 576px) {
      body.other .cast_list.list01 .rank {
        max-width: 176px; } }
    @media (max-width: 576px) {
      body.other .cast_list.list01 .img .play {
        width: 46px;
        height: 46px; } }
  body.other .cast_list.list02 {
    margin-bottom: 4rem;
    padding: 0 1rem; }
    @media (max-width: 1060px) {
      body.other .cast_list.list02 {
        padding: 0 2rem; } }
    @media (max-width: 576px) {
      body.other .cast_list.list02 {
        margin-bottom: 2rem;
        padding: 0 0.265rem; } }
    @media (max-width: 576px) {
      body.other .cast_list.list02 .rank {
        /*max-width: 151px;*/
        padding: 0 0.375rem; } }
    @media (max-width: 576px) {
      body.other .cast_list.list02 .img .play {
        width: 37px;
        height: 37px; } }
  body.other .cast_list.list03 {
    padding: 0 0.375rem; }
    @media (max-width: 1060px) {
      body.other .cast_list.list03 {
        padding: 0 1.375rem; } }
    @media (max-width: 576px) {
      body.other .cast_list.list03 {
        padding: 0 0.265rem; } }
    body.other .cast_list.list03 li {
      padding: 0 2.5rem 3.5rem; }
      @media (max-width: 576px) {
        body.other .cast_list.list03 li {
          padding: 0 0.375rem 2rem; } }
      body.other .cast_list.list03 li .play {
        width: 44px;
        bottom: 0.5rem;
        right: 0.5rem; }
        @media (max-width: 576px) {
          body.other .cast_list.list03 li .play {
            width: 23px;
            bottom: 0.25rem;
            right: 0.25rem; } }

#member .content {
  padding-top: 5rem; }
  @media (max-width: 1060px) {
    #member .content {
      padding-top: 2rem; } }

#member h2:before {
  left: 36%; }
  @media (max-width: 576px) {
    #member h2:before {
      left: 13%; } }

#member h2:after {
  left: 64%; }
  @media (max-width: 576px) {
    #member h2:after {
      left: 86%; } }

/* =======================================================
* slick
* ======================================================= */
.block_list {
  max-width: 1340px;
  padding: 3rem 1rem 6rem;
  margin: 0 auto; }
  @media (max-width: 576px) {
    .block_list {
      margin: 0rem auto 2rem;
      padding: 1rem 1rem 0rem; } }
  .block_list .slick-slider {
    padding: 0 5rem; }
    @media (max-width: 1060px) {
      .block_list .slick-slider {
        padding: 0 2rem; } }
    @media (max-width: 576px) {
      .block_list .slick-slider {
        padding: 0 0rem; } }
    @media (max-width: 576px) {
      .block_list .slick-slider .slick-list {
        padding: 0 15% 0 0; } }
    .block_list .slick-slider .slick-item {
      display: inline-block;
      margin: 0 0.75rem;
      padding: 0;
      font-size: inherit;
      border-radius: 50px;
      border: 2px solid #000;
      background: -webkit-gradient(linear, left top, right top, from(#CCFAFF), to(#D7D6F9));
      background: -webkit-linear-gradient(left, #CCFAFF 0%, #D7D6F9 100%);
      background: -o-linear-gradient(left, #CCFAFF 0%, #D7D6F9 100%);
      background: linear-gradient(to right, #CCFAFF 0%, #D7D6F9 100%);
      -webkit-box-shadow: none;
      box-shadow: none; }
      @media (max-width: 1060px) {
        .block_list .slick-slider .slick-item {
          font-size: 0.7rem; } }
      @media (max-width: 576px) {
        .block_list .slick-slider .slick-item {
          margin: 0 0.25rem; } }
      .block_list .slick-slider .slick-item a {
        /*display: block;
        cursor: pointer;
        border: 4px solid #1088FF;
        color: #fff;
        background: #003EFD;
        padding: 15px 0 15px 35px;
        line-height: 1;*/ }
        .block_list .slick-slider .slick-item a span {
          vertical-align: middle; }
        @media (max-width: 1060px) {
          .block_list .slick-slider .slick-item a {
            padding: 0.5rem 1rem; } }
        @media (max-width: 576px) {
          .block_list .slick-slider .slick-item a {
            padding: 0.5rem 0.5rem; } }
        .block_list .slick-slider .slick-item a.selected {
          background: -webkit-gradient(linear, left top, right top, from(#f0eb47), to(#ffed7b));
          background: -webkit-linear-gradient(left, #f0eb47 0%, #ffed7b 100%);
          background: -o-linear-gradient(left, #f0eb47 0%, #ffed7b 100%);
          background: linear-gradient(to right, #f0eb47 0%, #ffed7b 100%); }
        .block_list .slick-slider .slick-item a:hover {
          opacity: 1;
          color: #000; }
        .block_list .slick-slider .slick-item a i {
          font-style: unset;
          font-size: 1.5rem;
          font-style: normal;
          vertical-align: middle;
          margin-right: 0.2rem;
          display: inline-block;
          position: relative;
          z-index: 1;
          -webkit-transition: all 0.3s ease;
          -moz-transition: all 0.3s ease;
          -o-transition: all 0.3s ease;
          -webkit-transition: all 0.3s ease;
          -o-transition: all 0.3s ease;
          transition: all 0.3s ease; }
          @media (max-width: 1060px) {
            .block_list .slick-slider .slick-item a i {
              font-size: 1.1rem; } }
        @media all and (-ms-high-contrast: none) {
          .block_list .slick-slider .slick-item a *::-ms-backdrop, .block_list .slick-slider .slick-item a i {
            margin-top: 0;
            top: 15px; }
          .block_list .slick-slider .slick-item a *::-ms-backdrop, .block_list .slick-slider .slick-item a span {
            top: 15px; } }
  .block_list .slick-arrow {
    font-size: 0;
    position: absolute;
    top: 50%;
    -ms-transform: translate(0%, -50%);
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    text-align: center;
    border: none; }
    .block_list .slick-arrow.slick-prev {
      left: 0;
      background: url(../images/slick_prev.png);
      background-size: 100%;
      width: 50px;
      height: 50px; }
      @media (max-width: 576px) {
        .block_list .slick-arrow.slick-prev {
          display: none !important; } }
    .block_list .slick-arrow.slick-next {
      right: 0;
      background: url(../images/slick_next.png);
      background-size: 100%;
      width: 50px;
      height: 50px; }
      @media (max-width: 576px) {
        .block_list .slick-arrow.slick-next {
          display: none !important; } }

/* =======================================================
* popup
* ======================================================= */
.modal_wrapper {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100vh;
  background: rgba(255, 255, 255, 0.9);
  z-index: 10;
  overflow: auto; }
  .modal_wrapper video {
    max-height: 100vh;
    padding: 5rem 2rem;
    max-width: 100%; }
    @media screen and (max-width: 896px) and (orientation: landscape) {
      .modal_wrapper video {
        padding: 1rem 2rem; } }
  .modal_wrapper.hide {
    display: none; }
  .modal_wrapper .close {
    background: url(../images/close.png);
    font-size: 0;
    width: 62px;
    height: 62px;
    background-size: 100%;
    position: absolute;
    top: 3rem;
    left: 63%;
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center; }
    @media (max-width: 1060px) {
      .modal_wrapper .close {
        left: 70%; } }
    @media screen and (max-width: 896px) and (orientation: landscape) {
      .modal_wrapper .close {
        width: 46px;
        height: 46px;
        left: auto;
        right: 0;
        top: 2rem; } }
    @media (max-width: 576px) {
      .modal_wrapper .close {
        width: 46px;
        height: 46px;
        left: auto;
        right: 0; } }

/* =======================================================
* btn fixed
* ======================================================= */
.btn_fixed {
  width: 100%; }
  .btn_fixed.fixed {
    position: fixed;
    top: 145px;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center;
    width: 100%;
    background: rgba(240, 235, 71, 0.5);
    z-index: 5;
    padding: 0rem 0 1.5rem; }
    @media (max-width: 1060px) {
      .btn_fixed.fixed {
        top: 96px;
        padding: 0rem 2rem 1rem; } }
    @media (max-width: 576px) {
      .btn_fixed.fixed {
        padding: 0rem 1rem 1rem; } }
    .btn_fixed.fixed .btn.btn_fv {
      margin-top: 1rem; }
