/*Checkboxes styles*/
input[type=checkbox] {
  display: none;
}

input[type=checkbox] + label {
  display: block;
  position: relative;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

input[type=checkbox] + label {
  padding-left: 1.8em;
}

input[type=checkbox] + label:before {
  content: "";
  display: block;
  border: 1px solid #fff;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0.6;
  -webkit-transition: all 0.12s, border-color 0.08s;
  transition: all 0.12s, border-color 0.08s;
  border-radius: 3px;
}

input[type=checkbox] + label:before {
  width: 1em;
  height: 1em;
}

input[type=checkbox]:checked + label:before {
  width: 0.5em;
  top: -0.25em;
  left: 0.25em;
  border-radius: 0;
  opacity: 1;
  border-top-color: transparent;
  border-left-color: transparent;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

#wrapper.is_open {
  -webkit-transition: opacity 0s ease-out 0.4s;
  transition: opacity 0s ease-out 0.4s;
}

@media only screen and (min-width:961px) {
  .top_contents {
    background: url("../img/common/bg_black_pc.jpg") center top;
    background-size: 100%;
  }
}
@media only screen and (max-width:960px) {
  .top_contents {
    background: url("../img/common/bg_black_sp.jpg") center top;
    background-size: 100%;
  }
}
.top_contents .main_area .main_kv {
  position: relative;
}
.top_contents .main_area .main_movie .movie_thumb {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #9b7f4e;
  position: relative;
}
.top_contents .main_area .main_movie .movie_thumb .-thumb {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: no-repeat center;
  background-size: cover;
}
.top_contents .main_area .main_movie .movie_thumb:before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background: url("../img/top/btn_play.png") no-repeat rgba(0, 0, 0, 0.4);
  z-index: 5;
}
.top_contents .main_area .main_movie .movie_thumb .-title {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 6;
  background: #9b7f4e;
  color: #000;
  padding: 4px 10px 5px;
}
.top_contents .main_area .main_movie .movie_pager ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.top_contents .main_area .main_movie .movie_pager ul li {
  width: 8px;
  height: 8px;
  background: #696969;
  border-radius: 10px;
  margin: 0 2px;
  cursor: pointer;
}
.top_contents .main_area .main_movie .movie_pager ul li button {
  opacity: 0;
  cursor: pointer;
}
.top_contents .main_area .main_movie .movie_pager ul li.slick-active {
  background: #9b7f4e;
}
@media only screen and (min-width:961px) {
  .top_contents .top_navigation {
    position: relative;
  }
  .top_contents .top_navigation .navigation .navigation_wrapper {
    position: relative;
    width: 100%;
    padding: 33px 0 30px;
  }
  .top_contents .top_navigation .navigation .navigation_wrapper .navi_logo {
    position: absolute;
    width: 130px;
    left: 30px;
    top: 10px;
    z-index: 50;
  }
  .top_contents .top_navigation .navigation .navigation_wrapper .navigation_list {
    margin: 0 200px;
  }
  .top_contents .top_navigation .navigation .navigation_wrapper .navigation_list ul {
    max-width: 1010px;
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .top_contents .top_navigation .navigation .navigation_wrapper .navigation_list__item {
    text-align: center;
    margin: 0 14px 10px;
  }
  .top_contents .top_navigation .navigation .navigation_wrapper .navigation_list__item .-en {
    margin-top: 10px;
    font-size: 10px;
    white-space: nowrap;
  }
  .top_contents .top_navigation .navigation .navigation_wrapper .navigation_list__item .-en:after {
    display: none;
  }
  .top_contents .top_navigation .top_movie {
    position: absolute;
    top: calc(50% - 36px);
    right: 30px;
    border: 1px solid #9b7f4e;
    width: 180px;
    height: 70px;
  }
  .top_contents .top_navigation .top_movie .-thumb {
    background: no-repeat center;
    background-size: cover;
    width: 100%;
    height: 100%;
  }
  .top_contents .top_navigation .top_movie:after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: url("../img/top/btn_play.png") no-repeat center rgba(0, 0, 0, 0.6);
    background-size: 30px;
    -webkit-transition: opacity 0.2s ease-out;
    transition: opacity 0.2s ease-out;
    cursor: pointer;
    display: none;
  }
  .top_contents .top_navigation .top_movie:hover:after {
    opacity: 0;
  }
  .top_contents .main_area {
    padding-bottom: 30px;
  }
  .top_contents .main_area .main_kv {
    margin-bottom: 30px;
  }
  .top_contents .main_area .main_kv .main_visual {
    width: 1260px;
    width: 90%;
    margin: auto;
  }
  .top_contents .main_area .main_kv .main_date {
    position: absolute;
    top: 0;
    left: 0;
    width: 5%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 12px;
    text-align: center;
  }
  .top_contents .main_area .main_movie {
    background: url("../img/top/bg_obi_pc.png") no-repeat center;
    background-size: 100%;
    padding-top: 16px;
  }
  .top_contents .main_area .main_movie .movie_thumb {
    width: 500px;
    height: 130px;
    margin: auto;
    cursor: pointer;
    overflow: hidden;
  }
  .top_contents .main_area .main_movie .movie_thumb .-thumb {
    -webkit-transition: transform 0.2s ease-out;
    -webkit-transition: -webkit-transform 0.2s ease-out;
    transition: -webkit-transform 0.2s ease-out;
    transition: transform 0.2s ease-out;
    transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out;
  }
  .top_contents .main_area .main_movie .movie_thumb:before {
    background-size: 60px;
    background-position: 40px center;
    -webkit-transition: opacity 0.2s ease-out;
    transition: opacity 0.2s ease-out;
  }
  .top_contents .main_area .main_movie .movie_thumb:hover .-thumb {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
  .top_contents .main_area .main_movie .movie_thumb:hover:before {
    opacity: 0;
  }
  .top_contents .main_area .main_movie .movie_thumb .-title {
    font-size: 14px;
  }
  .top_contents .main_area .main_movie .movie_slider {
    width: 500px;
    margin: auto;
    overflow: hidden;
  }
  .top_contents .main_area .main_movie .movie_pager {
    margin-top: 8px;
  }
}
@media only screen and (max-width:960px) {
  .top_contents .main_area {
    padding-bottom: 4vw;
  }
  .top_contents .main_area .main_kv img {
    width: 100%;
  }
  .top_contents .main_area .main_date {
    background: url("../img/top/bg_obi_sp.png") no-repeat center top;
    background-size: 100%;
    padding: 5.33vw 9.33vw;
    margin: 4vw 0;
  }
  .top_contents .main_area .last_text {
    width: 80vw;
    margin: 6vw auto;
  }
  .top_contents .main_area .main_movie .movie_thumb {
    height: 26.66vw;
    margin-top: 4vw;
    width: 81.33vw;
    margin: 4vw 6px 1.6vw;
    position: relative;
    overflow: hidden;
  }
  .top_contents .main_area .main_movie .movie_thumb:before {
    background-position: 7.2vw center;
    background-size: 12vw;
  }
  .top_contents .main_area .main_movie .movie_thumb .-title {
    font-size: 1.1rem;
    padding-top: 6px;
    bottom: -1px;
  }
  .top_contents .main_area .main_movie .movie_slider {
    width: 81.33vw;
    margin: auto;
  }
}

.top_news_area .news_list__item {
  position: relative;
  border-bottom: 1px solid #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.top_news_area .news_list__item .-date {
  position: relative;
}
.top_news_area .news_list__item .-date .-year {
  position: absolute;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom;
  top: -1em;
  left: 0;
}
.top_news_area .news_list__item .-icon {
  position: absolute;
  right: 0;
}
.top_news_area .news_list__item a {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
}
@media only screen and (min-width:961px) {
  .top_news_area {
    padding: 94px 0;
  }
  .top_news_area .news_inner {
    width: 1000px;
    width: 71.42%;
    margin: auto;
    max-width: 1400px;
  }
  .top_news_area .news_title {
    width: 80px;
    height: 280px;
    background: url("../img/common/title_frame_ver.png") no-repeat center;
    background-size: contain;
    position: absolute;
  }
  .top_news_area .news_title .-title {
    font-size: 42px;
    position: absolute;
    width: 42px;
    top: 50%;
    left: 50%;
    line-height: 1.2;
    font-weight: 500;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .top_news_area .news_list {
    margin-left: 126px;
    min-height: 280px;
  }
  .top_news_area .news_list__item {
    padding: 34px 0;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .top_news_area .news_list__item .-icon {
    width: 12px;
  }
  .top_news_area .news_list__item .-date {
    font-size: 28px;
    margin-right: 56px;
    font-weight: 700;
    letter-spacing: 0;
    padding-left: 16px;
  }
  .top_news_area .news_list__item .-date .-year {
    font-size: 14px;
  }
  .top_news_area .news_list__item .-title {
    line-height: 1.6;
    padding-right: 36px;
  }
  .top_news_area .news_list__item:first-child {
    padding-top: 0;
  }
  .top_news_area .news_list__item:hover .-icon {
    right: calc(100% + 20px);
  }
  .top_news_area .btn_news {
    margin: 30px 0 0 auto;
    width: 160px;
  }
}
@media only screen and (max-width:960px) {
  .top_news_area {
    padding: 14.66vw 0;
  }
  .top_news_area .news_title {
    background: url("../img/common/title_frame_hor.png") no-repeat center;
    background-size: contain;
    width: 66.66vw;
    height: 14.66vw;
    line-height: 14.66vw;
    font-size: 2.4rem;
    text-align: center;
    letter-spacing: 0.18em;
    margin: 0 auto;
  }
  .top_news_area .news_list {
    width: 86.66vw;
    margin: 0 auto 10.66vw;
  }
  .top_news_area .news_list__item {
    padding: 9.33vw 0;
  }
  .top_news_area .news_list__item .-icon {
    width: 3.73vw;
    top: calc(0.2rem + 9vw);
  }
  .top_news_area .news_list__item .-title {
    font-size: 1.1rem;
    line-height: 1.4;
    padding-right: 6.66vw;
  }
  .top_news_area .news_list__item .-date {
    font-size: 2.6rem;
    padding-left: 1.2rem;
    margin-right: 6.66vw;
  }
  .top_news_area .news_list__item .-date .-year {
    font-size: 1rem;
    top: -0.5em;
  }
  .top_news_area .btn_news {
    width: 42.66vw;
    margin: auto;
  }
}

.bc_newyear {
  position: absolute;
  height: 0;
  overflow: hidden;
  top: -2000px;
  opacity: 0;
}

.m-modal .m-modal__content .last_banner {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 90vw;
  max-width: 750px;
}
.m-modal .m-modal__content .last_banner .btn_link {
  position: absolute;
  bottom: 10%;
  width: 40%;
  max-width: 295px;
  -webkit-transition: opacity 0.2s ease-out;
  transition: opacity 0.2s ease-out;
}
.m-modal .m-modal__content .last_banner .btn_link:hover {
  opacity: 0.7;
}
.m-modal .m-modal__content .last_banner .btn_text {
  color: #FFF;
}
.m-modal .m-modal__content .newyear_wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.m-modal .m-modal__content .newyear_wrapper p {
  position: absolute;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: pointer;
}
.m-modal .m-modal__content .newyear_wrapper .-tanjiro {
  width: 18%;
  height: 34%;
  top: 40%;
  left: 57%;
  z-index: 2;
}
.m-modal .m-modal__content .newyear_wrapper .-nezuko {
  width: 18%;
  height: 26%;
  top: 31%;
  left: 41%;
}
.m-modal .m-modal__content .newyear_wrapper .-zennitsu {
  width: 16%;
  height: 28%;
  top: 28%;
  left: 25%;
  z-index: 2;
}
.m-modal .m-modal__content .newyear_wrapper .-inosuke {
  width: 30%;
  height: 28%;
  top: 3%;
  left: 42%;
}
.m-modal .m-modal__content .newyear_wrapper .-tengen {
  width: 23%;
  height: 33%;
  top: 13%;
  right: 5%;
}
.m-modal .m-modal__content .newyear_wrapper .-muichiro {
  width: 24%;
  height: 39%;
  top: 3%;
  left: 8%;
}
.m-modal .m-modal__content .newyear_wrapper .-mitsuri {
  width: 24%;
  height: 36%;
  top: 54%;
  left: 7%;
}
.m-modal .m-modal__content .text {
  position: absolute;
  top: 10px;
  z-index: 5;
  width: 100%;
  text-align: center;
  color: #FFF;
}
@media only screen and (min-width:961px) {
  .m-modal .m-modal__content .newyear_wrapper {
    width: 80vw;
    max-width: 980px;
    min-width: 680px;
  }
  .m-modal .m-modal__content .last_banner .btn_link {
    left: 54%;
  }
  .m-modal .m-modal__content .last_banner .btn_text {
    font-size: 14px;
    margin-top: 16px;
  }
}
@media only screen and (max-width:960px) {
  .m-modal .m-modal__content .newyear_wrapper {
    width: 90vw;
    max-width: 680px;
  }
  .m-modal .m-modal__content .text {
    top: 26%;
  }
  .m-modal .m-modal__content .last_banner .btn_link {
    left: 50%;
    bottom: 9.4%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .m-modal .m-modal__content .last_banner .btn_text {
    font-size: 1rem;
    margin-top: 0.8em;
  }
}