/*
Theme Name: BuZZ
Theme URI: http://buzz-official.jp/
Author: TK
Author URI: http://buzz-official.jp/
Description: BuZZ Official Web Site
Version: 1.1
*/


@charset "utf-8";

/************************************************/
/*                   common                     */
/************************************************/

html {
  height: 100%;
}
body {
  font-family: "Helvetica Neue", Helvetica, Arial, "YuGothic", "Yu Gothic", "游ゴシック体", "游ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "MS ゴシック", "MS Gothic", sans-serif;
  font-size: 14px;
  background: #fff;
  padding:0;
  margin:0;
  color:#2b2b2b;
  height:100%;
}
a {
  color:#222;
}

p {
  line-height: 1.5;
  margin:24px 0;
}
ul {
  margin:0;
  padding:0;
}
li {
  list-style: none;
}
#wrap {
  position: relative;
  width:100%;
  min-height: 100%;
  overflow-x: hidden;
}
#main-contents {
  max-width: 1240px;
  margin: 0 auto;
  padding-bottom: 180px;
  height:100%;
}
.container {
  width:90%;
  margin:0 auto;
  height: 100%;
}
.container1240 {
  margin:0 auto;
}
.container1240 img {
  width: 100%;
}

section {
  padding: 40px 0;
  border-bottom:1px solid #666;
}
section:last-child {
  border-bottom: 0;
}

  section h1 {
    text-align: center;
    margin: 0 0 40px;
    font-size: 1.5rem;
  }
.title {
  font-family: 'Abel', sans-serif;
}
.row {
  display: -ms-flex;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#news-box {
  border-bottom: 1px solid #666;
}

#slider-box {
  margin:0 auto;
}
#slider-box a img:hover {
  opacity: .7;
}
#metaslider_49.flexslider {
  margin-bottom: 20px;
}

/* ドロワーメニュー */
.drawermenu {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .9);
  opacity: 0;
  display: none;
  transition: opacity .3s;
}
.drawermenu > #hb-m {
  position:fixed;
  cursor: pointer;
  top:0;
  right:5%;
}
.drawermenu .menu-menu-container {
  width:100%;
  height: 100%;
}
  .drawermenu ul {
    padding: 50px 0 0 0;
    margin: 0;
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    -webkit-overflow-scrolling:touch;
  }

  .drawermenu li {
    font-family: 'Abel', sans-serif;
    display: block;
    list-style: none;
    margin-top: 15px;
    text-align: center;
    font-size: 1.5rem;
    padding-bottom: 15px;
    border-bottom: 1px solid #333;
  }

  .drawermenu li a {
    color:#fff;
    display: block;
    text-decoration: none;
  }

  .drawermenu li a:hover {
    color:#ff6767;
  }

.menu-open {
  opacity: 1;
  display: block;
}
.mfixed {
  position: fixed;
  width: 100%;
  height: 100%;
}


.btn {
  display: block;
  text-align: center;
  background: #222;
  color: #fff;
  text-align:center;
  text-decoration: none;
  font-weight: bold;
  cursor:pointer;
  padding: 10px;
}
.btn a{
  display: block;
  border:2px solid #222;
  padding: 10px 20px;
  width: 150px;
  font-weight: bold;
  text-decoration: none;
  cursor: pointer;
  margin: 20px auto 0;
}
  .btn a:hover {
    background: #222;
    color:#fff;
  }
.mov-box {
  width: 100%;
}
.mov {
  position: relative;
  height: 0; 
  padding-top: 75%;
  text-align: center;
  margin-bottom:40px;
}
.topmov {
  position: relative;
  height: 0; 
  padding-top: 56.25%;
  text-align: center;
}
  .mov iframe, .topmov iframe {
    height:100%; 
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
  }
.mov_play {
  position: absolute;
  height:100%;
  left: 0;
  top: 0;
  width: 100%;
}
.mov_play img {
  width: 100%;
}
.mov_play:hover {
  cursor:pointer;
  opacity: .7;
}


.post-contents > a {
  text-decoration: none;
}
.new {
  font-family: 'Abel', sans-serif;
  font-size: .9rem;
  padding:0 3px;
  text-align: center;
  color: #fff;
  background: #ff6767;
  margin-left: 5px;
}
.read-more {
  font-weight: bold;
}
.read-more:hover {
  color: #ff6767;
}
.arrow {
  color: #ff6767;
  margin-left: 5px;
}
.right {
  float: right;
}
.fixed {
  position: fixed;
}
.hide {
  display: none;
}
.show {
  display: block;
}
.hidden {
  overflow: hidden;
}
.margin {
  margin-bottom:60px;
}
.border-box {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
       -o-box-sizing: border-box;
      -ms-box-sizing: border-box;
          box-sizing: border-box;
}

/******************** header ********************/

.top-menu .menu-menu-container ul#menu-menu li:first-child {
  display: none;
}
#scr-nav {
  position:fixed;
  background: #111;
  top: 0;
  left:0;
  width:100%;
  color:#fff;
  z-index: 999;
}
.scroll-down {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  transition: .3s;
  transform: translateY(-100%);
}
.is-show {
  transform: translateY(0);
}
.logo {
  margin: 0;
}

  .logo img {
    height:36px;
  }

/* ハンバーガーメニュー */
#hb-m {
  width: 25px;
  height: 50px;
  display: block;
  text-align: center;
  float:right;
}
#hb-m-i {
  position: relative;
  cursor: pointer;
  display: block;
  width: 25px;
  height: 20px;
  top: 15px;
  left: 0;
  background-color:#fff;
}

#hb-m-i:before, #hb-m-i:after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  border-top: 7px solid #111;
}
#hb-m-i:before {
  top: 2px;
}
#hb-m-i:after {
  bottom: 2px;
}

#hb-m-i.x {
  background-color:#111;
}
#hb-m-i.x:before {
  border-top:   2px solid #fff;
  -webkit-transform:  translateY(7px) rotate(45deg);
  transform:    translateY(7px) rotate(45deg);
}
#hb-m-i.x:after {
  border-top:   2px solid #fff;
  -webkit-transform:  translateY(-7px) rotate(-45deg);
  transform:    translateY(-7px) rotate(-45deg);
}

.top-menu > .menu-menu-container {
  padding: 20px 0;
}
.top-menu > .menu-menu-container .menu {
  text-align: center;
  font-family: 'Abel', sans-serif;
  font-size: 1.2rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
  .top-menu > .menu-menu-container .menu a {
    text-decoration: none;
    display: block;
  }
  .top-menu > .menu-menu-container .menu a:hover {
    color:#ff6767;
  }
.top-menu > .menu-menu-container .menu li {
  display: inline-block;
  margin-right: 10px;
  text-align: center;
  cursor: pointer;
  line-height: 50px;
  height: 50px;
}
  .menu-menu-container .menu li:last-child {
    margin-right: 0;
  }

#mb-menu {
  display: none;
  text-align: center;
  font-family: 'Abel', sans-serif;
  font-size: 1.5rem;
}
  #mb-menu a {
    color:#666;
  }
  #mb-menu a:hover {
    color:#fff;
  }
  #mb-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  #mb-menu li {
    display: inline-block;
    margin-right: 10px;
    text-align: center;
    cursor: pointer;
    line-height: 50px;
    height: 50px;
  }
  #mb-menu li:last-child {
    margin-right: 0;
  }
  #mb-menu .current-menu-item a, #mb-menu .current-menu-parent a {
    color: #fff;
  }
#scr-nav > .container {
  height:50px;
  width: 90%;
  position: relative;
}
  #scr-nav #nav-logo {
    height:30px;
    position: absolute;
    top: 0;
    bottom: 0;
    margin:auto;
  }

  #scr-nav #nav-logo img {
    height: 30px;
  }



/******************** TOPICS ********************/

section#topics {
  padding-top: 20px;
}
#topics img {
  width: 100%;
}
.topic-box {
  width: 100%;
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #eee;
}
.topic-box:last-child {
  margin-bottom: 0;
  padding-bottom: 20px;
  border-bottom: 0;
}
.topic-box a {
  text-decoration: none;
}
  .topic-img {
    margin-bottom: 20px;
  }
  .topic-img:hover {
    opacity: .7;
  }
  .topic-post {
    text-align: center;
    font-family: 'Noto Sans Japanese', sans-serif;
    font-weight: bold;
    font-size: 1.1rem;
    line-height:2rem;
  }
  .topic-post:hover {
    color: #ff6767;
  }



/******************** NEWS ********************/
#news {
  width:100%;
}
#news .item:last-child {
    margin-bottom: 0;
}
.post-contents {
  overflow: hidden;
  border-bottom: 1px solid #eee;
  padding-bottom: 10px;
  margin-bottom: 30px;
}
.post-contents:last-child {
  border-bottom: none;
  margin-bottom: 0;
}
  .post-image {
    width: 120px;
    height: 120px;
    float: left;
  }
  .post-image:hover {
    opacity: .7;
  }
  .post-body {
    padding-left: 140px;
  }
    .post-body h2 {
      font-weight: bold;
      font-size: 1rem;
      margin: 0 0 5px 0;
    }
      .post-body h2:hover {
        color: #ff6767;
    }
      .post-text p {
        margin: 10px 0;
        padding: 5px 0;
        font-size: .9rem;
      }
.category {
  color: #ff6767;
  font-family: 'Abel', sans-serif;
  margin-left: 5px;
}
.ymd {
  color: #888;
  font-family: 'Abel', sans-serif;
}


/******************* schedule *******************/

#schedule {
  width:100%;
}

/******************** movie ********************/

section#movie {
  padding-bottom: 0;
}

/******************** footer ********************/

footer {
  position: absolute;
  padding:30px 0;
  background: #111;
  width:100%;
  bottom: 0;
  text-align:center;
  color:#888;
  font-family: 'Abel', sans-serif;
  height: 180px;
}
  footer a {
    color: #888;
    text-decoration: none;
  }
  footer a:hover {
      color: #fff;
  }
  #footer-box {
    position: absolute;
    top: 0;
    bottom: 0;
    left:0;
    right:0;
    height: 70%;
    margin: auto;
  }
  #sns-btn {
    display: flex;
    justify-content: center;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  #sns-btn li {
    margin-right: 20px;
  }
  #sns-btn li:last-child {
    margin-right: 0;
  }
  #footer-nav ul {
    margin: 0;
    padding: 20px 0;
  }
  #footer-nav ul li {
    display: inline-block;
    margin-right: 10px;
  }
  #footer-nav ul li:last-child {
    margin-right: 0;
  }
  .copy {
    position: absolute;
    margin: 0;
    bottom: 0;
    left: 0;
    right: 0;
  }


/***************** pagination ******************/

.pagination{
  list-style-type: none;
  padding-left: 0;
  margin: 30px 0 0 0;
}

.pagination,
.pagination li a {
  display: -ms-flex;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content: center;
  align-items: center;
}

.pagination a {
  font-weight: 300;
  padding-top: 1px;
  text-decoration:none;
  border: 1px solid #222;
  border-left-width: 0;
  min-width:36px;
  min-height:36px;
  color: #222;
}

.pagination li:not([class*="current"]) a:hover {
  background-color: #222;
  color: #fff;
}

.pagination li:first-of-type a {
  border-left-width: 1px;
}

.pagination li.first span,
.pagination li.last span,
.pagination li.previous span,
.pagination li.next span {
  /* screen readers only */
  position: absolute;
  top: -9999px;
  left: -9999px;
}

.pagination li.first a::before,
.pagination li.last a::after,
.pagination li.previous a::before,
.pagination li.next a::after {
  display: inline-block;
  font-family: Fontawesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transform: translate(0, 0);
}

.pagination li.first a::before { content: "\f100"; }
.pagination li.last a::after { content: "\f101"; }

.pagination li.previous a::before { content: "\f104"; }
.pagination li.next a::after { content: "\f105"; }

.pagination li.current a {
 color: #fff;
 background-color: #222;
 cursor: default;
 pointer-events: none;
}


@media only screen and ( max-width: 680px ) {
  .pagination li.first,
  .pagination li.last {
    /* screen readers only */
    position: absolute;
    top: -9999px;
    left: -9999px;
  }

  .pagination li.previous a { border-left-width: 1px; }
}

@media only screen and ( max-width: 500px ) {
  .pagination li {
    /* screen readers only */
    position: absolute;
    top: -9999px;
    left: -9999px;
  }

  .pagination li.current,
  .pagination li.first,
  .pagination li.last,
  .pagination li.previous,
  .pagination li.next{
    position: initial;
    top: initial;
    left: initial;
  }

  .pagination li.previous a { border-left-width: 0; }
}

@media only screen and ( max-width: 400px ) {
  .pagination li.first,
  .pagination li.last {
    /* screen readers only */
    position: absolute;
    top: -9999px;
    left: -9999px;
  }

  .pagination li.previous a { border-left-width: 1px; }
}

@media only screen and ( max-width: 240px ) { /* For watches? */
  .pagination li { width: 50%;}

  .pagination li.current {
    order: 2;
    width: 100%;
    border-left-width: 1px;
  }
}

/************************************************/
/*                media query                   */
/************************************************/


/******************** Tablet ********************/

@media (min-width: 768px) {
  #bz-logo h1 {
  padding-top: 40px;
  text-align: center;
  }
  .top-menu > .menu-menu-container .menu {
  font-size: 1.5rem;
}

  #scr-nav ul.menu {
  font-size: 1.2rem;
  }
  #scr-nav .menu li {
  display: inline-block;
  text-align: center;
  cursor: pointer;
  line-height: 50px;
  height: 50px;
  }

  #scr-nav .menu li a {
    text-decoration: none;
  }
  #scr-nav-fixed {
    z-index: 999;
  }

  #scr-nav-fixed ul.menu {
  font-size: 1.2rem;
  }
  #scr-nav-fixed .menu li {
  display: inline-block;
  text-align: center;
  cursor: pointer;
  line-height: 50px;
  height: 50px;
  }

  #scr-nav-fixed .menu li a {
    text-decoration: none;
  }

  #bz-logo h1 img {
    height:80px;
  }
}

/******************** PC ********************/

@media (min-width: 992px) {

  .container, .container1240, .item p {
    max-width: 1240px;
  }
  #scr-nav #hb-m, #scr-nav-fixed #hb-m {
    display: none;
  }
  #scr-nav .menu {
    display: block;
    text-align: right;
  }
  #topics .item {
    overflow: hidden;
  }
  .topic-box {
    position: relative;
/*  height: 0; 
    padding-top: 30%;*/
    text-align: center;
    /*width: 48%;*/
    border-bottom: 0;
    margin-bottom: 30px;
  }
/*  .content-box {
    height:100%; 
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
  }*/
  #news {
    width: 50%;
    border-bottom :0;
    border-right: 1px solid #eee;
  }
  #schedule {
    width: 50%;
    border-bottom: 0;
  }
  #movie .mov-box {
    width: 48%;
  } 
}

@media (max-width: 1240px) {
  .container1240 {
    width: 90%;
  }
}