@charset "UTF-8";

body {
  font-family: 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', sans-serif;
  font-size: 1.8rem;
  line-height: 1.6;
  height: 100%;
  color: #333;
  background: url(../img/bg_pattern.png) repeat center top;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
  transition: ease .3s;
  color: #333;
  outline: none;
}

a img {
  transition: ease .3s;
}

a:hover {
  /*   opacity:.7; */
}

a.op:hover {
  opacity: .7;
}

/* for modern brouser */
.clearfix:after {
  display: block;
  visibility: hidden;
  clear: both;
  height: 0;
  content: '.';
}

/* IE7,MacIE5 */
.clearfix {
  display: inline-block;
}

/* WinIE6 below, Exclude MacIE5 \*/
* html .clearfix {
  height: 1%;
}

.clearfix {
  display: block;
}

.noPC {
  display: none !important;
}

.inner {
  box-sizing: border-box;
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
}

.flex {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.flex.resp {
  -ms-align-items: center;
  align-items: center;
}

.flex.resp img {
  width: 50%;
  height: auto;
}

.flex .txt {
  flex: 1;
}

.flex .img {
  margin-right: 45px !important;
}

#header {
  line-height: 1;
  position: relative;
  background: #b2aa82;
  background: url(../img/bg_header.png), url(../img/bg_header.png), -webkit-linear-gradient(left, #b2aa82 0%, #fffbe9 50%, #b2aa82 100%);
  background: url(../img/bg_header.png), url(../img/bg_header.png), linear-gradient(to right, #b2aa82 0%, #fffbe9 50%, #b2aa82 100%);
  background-repeat: no-repeat;
  background-position: left top;
}

#header::before {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  display: block;
  width: 183px;
  height: 100%;
  content: '';
  transform: scale(-1, 1);
  background: url(../img/bg_header.png) no-repeat right top / auto 100%;
}

#header::after {
  position: absolute;
  z-index: 10;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  content: '';
  background: url(../img/bg_line.png) no-repeat center bottom / 100% 100%;
}

#header .logo.noSP {
  position: relative;
  z-index: 1;
  width: 570px;
  margin: 0 auto;
  padding: 24px 0 37px 0;
}

#header a {
  display: block;
}

#header .inner {
  position: relative;
  z-index: 1;
  height: 160px;
}

#gnav ul {
  position: absolute;
  bottom: 0;
  left: 0;
  display: -webkit-flex;
  display: flex;
  width: 100%;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

#gnav a {
  font-size: 1.7rem;
  font-weight: bold;
  position: relative;
  padding: 0 .2rem 16px .2rem;
  color: #9c752a;
}

#gnav a:hover,
body#top ul.nav li.top a,
body#news ul.nav li.news a,
body#onair ul.nav li.onair a,
body#staff ul.nav li.staff a,
body#story ul.nav li.story a,
body#character ul.nav li.character a,
body#movie ul.nav li.movie a,
body#music ul.nav li.music a,
body#app ul.nav li.app a,
body#goods ul.nav li.goods a,
body#special ul.nav li.special a {
  color: #e2007f !important;
}

#gnav a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 0;
  height: 8px;
  content: '';
  transition: ease .3s;
  background: #9c752a;
}

#gnav a:hover::after,
body#top #gnav li.top a::after,
body#news #gnav li.news a::after,
body#onair #gnav li.onair a::after,
body#staff #gnav li.staff a::after,
body#story #gnav li.story a::after,
body#character #gnav li.character a::after,
body#movie #gnav li.movie a::after,
body#music #gnav li.music a::after,
body#app #gnav li.app a::after,
body#goods #gnav li.goods a::after,
body#special #gnav li.special a::after {
  width: 100%;
}

#sns {
  position: absolute;
  top: 40px;
  right: 0;
  display: -webkit-flex;
  display: flex;
}

.svod {
  font-size: 2.0rem;
  font-weight: bold;
  margin-top: 20px;
  text-align: center;
}

@media screen and (max-width: 1024px) {
  #header .inner {
    width: auto;
    margin: 0 1rem !important;
  }

  #gnav a {
    font-size: 1.8rem;
  }
}

#sns>* {
  position: relative;
  width: 40px;
  height: 40px;
  text-align: center;
  color: #c3bc98;
  background: #1e1b24;
}

#sns a:hover {
  opacity: .8;
}

#sns .twitter {
  font-size: 2.2rem;
  line-height: 40px;
  border-radius: 100%;
}

#sns .facebook {
  font-size: 3.0rem;
  margin-left: 20px;
  border-radius: 3px;
}

#sns .facebook .fab {
  position: absolute;
  right: 7px;
  bottom: 0;
}

/* footer
-------------------------------------------------*/
#footer {
  font-size: 1.2rem;
  line-height: 1.3;
  padding: 15px 0;
  text-align: center;
  color: #fff;
  background-color: #111;
}

#footer .copy {
  display: -webkit-flex;
  display: flex;
  width: 710px;
  margin: 0 auto;
}

#footer .copy>* {
  text-align: left;
}

#footer .copy figure {
  width: 76px;
  padding: 0 20px 0 0;
}

#footer .copy p {
  padding-top: 10px;
}

#footer .txt {
  position: relative;
  top: -15px;
  display: inline-block;
  padding-left: 26px;
}

#footer .txt br {
  display: none;
}

.pagetop {
  font-size: 0;
  line-height: 0;
  position: fixed;
  z-index: 9999;
  right: 40px;
  bottom: 40px;
  width: 57px;
  height: auto;
  transition: .5s;
  pointer-events: none;
  opacity: 0;
}

.pagetop a {
  display: block;
}

.pagetop img {
  width: 100%;
  height: auto;
}

.pagetop.show {
  pointer-events: auto;
  opacity: 1;
}

.pagetop:hover {
  -webkit-transform: rotateY(360deg);
  -moz-transform: rotateY(360deg);
  transform: rotateY(360deg);
  opacity: 1 !important;
}

.pagetop:hover img {
  opacity: 1 !important;
}

/* TOP
---------------------------------------------- */
#menu_wrap {
  padding: 90px 1rem 70px 1rem;
  background: url(../img/top/menu_bg.png) no-repeat left center, url(../img/top/menu_bg2.png) no-repeat right center;
  background-size: auto 100%, auto 100%;
}

#menu_wrap ul {
  display: -webkit-flex;
  display: flex;
  width: 100%;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

#menu_wrap ul>* {
  flex: 0 1 300px;
}

#menu_wrap ul>* a {
  position: relative;
  z-index: 1;
  display: block;
  overflow: hidden;
  width: 300px;
}

#menu_wrap a::before {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: '';
  transition: .6s;
  opacity: 0;
  background: url(../img/top/menu_dvd_o.png) no-repeat center center / 100% auto;
}

#menu_wrap ul li:nth-child(1) a::before {
  background-image: url(../img/top/menu_dvd_o.png);
}

#menu_wrap ul li:nth-child(2) a::before {
  background-image: url(../img/top/menu_music_o.png);
}

#menu_wrap ul li:nth-child(3) a::before {
  background-image: url(../img/top/menu_goods_o.png);
}

#menu_wrap a:hover::before {
  opacity: 1;
}

@media screen and (max-width: 1450px) {
  #menu_wrap {
    padding: 70px 1rem 50px 1rem;
  }
}

@media screen and (max-width: 944px) {
  #menu_wrap {
    padding: 30px 1rem 30px 1rem;
    background-size: auto 100%, auto 100%;
  }

  #menu_wrap ul>* {
    flex: 0 1 32%;
  }
}

#bnr_special a {
  position: relative;
  display: block;
  transition: .6s;
  opacity: 1;
  background: url(../img/top/bnr_special_o.jpg) no-repeat center center / cover;
}

#bnr_special a img {
  opacity: 1;
}

#bnr_special a:hover img {
  opacity: 0;
}

#top_banner {
  padding: 40px 0;
}

#top #top_banner {
  display: block !important;
}

#top_banner ul.inner {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

#top_banner ul.inner li {
  width: 198px;
}

#top_banner ul.inner li a:hover {
  opacity: .7;
}

/* MUSIC（music）
-------------------------------------------------*/
main {
  padding: 65px 0;
}

main h2 {
  margin-bottom: 50px;
  text-align: center;
}

main h2 img {
  width: auto !important;
  /*height: 42px !important;*/
}

.wbox {
  font-family: '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
  position: relative;
  padding: 50px;
  background: url(../img/bg_frame1.png) no-repeat left top, url(../img/bg_frame2.png) no-repeat left bottom;
  background-color: #fff;
}

.wbox::before {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  display: block;
  width: 121px;
  height: 100%;
  content: '';
  transform: scale(-1, 1);
  background: url(../img/bg_frame1.png) no-repeat right top, url(../img/bg_frame2.png) no-repeat right bottom;
}

body#music .search {
  display: -webkit-flex;
  display: flex;
  margin-bottom: 40px;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

body#music .search>* {
  flex: 0 1 33%;
}

body#music .search>* a {
  font-family: '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 42px;
  display: block;
  height: 42px;
  cursor: pointer;
  transition: .3s;
  text-align: center;
  color: #fff;
  background: #e2007f;
}

body#music .search>* a:hover {
  opacity: .8;
}

body#music .search li.active a {
  color: white;
  background: #9a0057;
}

.banner_privilege {
  padding: 0 .5rem 30px;
  text-align: center;
}

.banner_privilege .txt .link img {
  width: auto;
}

ul.music_list {
  position: relative;
  z-index: 1;
}

ul.music_list li {
  padding: 50px 0;
  border-top: 2px solid #f3f3f3;
}

ul.music_list li:first-child {
  border-top: none;
}

ul.music_list li.appear:nth-of-type(2) {
  border-top: none;
}

ul.music_list li a {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

ul.music_list li a .img {
  width: 200px;
  margin-right: 40px;
}

ul.music_list li a .txt {
  flex: 1;
}

ul.music_list li a .txt h3,
ul.music_list li a .txt h4 {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.3;
}

ul.music_list li a .txt h3 {
  color: #e2007f;
}

ul.music_list li a .txt h4,
ul.music_list li a .txt p:nth-child(3) {
  margin-top: 1.5rem;
}

ul.store li ul.privilege {
  display: flex;
  padding: 10px 0 0;
  flex-wrap: wrap;
  justify-content: space-between;
}

ul.store li ul.privilege li {
  display: flex;
  flex-direction: column;
  width: 48%;
  justify-content: space-between;
  padding: 0 0 10px;
}

ul.store li ul.privilege li.six {
  width: 18%;
}

ul.store li ul.privilege li h5 {
  font-size: 1.8rem;
  font-weight: bold;
}

ul.store li ul.privilege li h5.pc_nowrap {
  white-space: nowrap;
}

ul.store li ul.privilege li figure {
  padding: 10px 0;
}

ul.store li ul.privilege li figure.pc_width_reduce {
  width: 60%;
  margin: 0 auto;
}

.pager {
  overflow: hidden;
  margin-top: 50px;
  text-align: center;
}

.pager li {
  line-height: 57px;
  display: inline-block;
  margin: 0 25px;
  vertical-align: middle;
}

.pager li.prev {
  float: left;
  margin-left: 5px;
}

.pager li.next {
  float: right;
  margin-right: 5px;
}

.pager li a {
  font-size: 3.4rem;
  font-weight: bold;
  position: relative;
  display: inline-block;
  transition: ease .2s;
  opacity: 1 !important;
  color: #444;
}

.wbox .pager li a {
  font-size: 2.0rem;
}

.pager li a:hover,
.pager a.current {
  text-decoration: underline;
  color: #e2007f;
}

.pager li.prev a {
  left: 0;
}

.pager li.prev a:hover {
  left: -5px;
}

.pager li.next a {
  right: 0;
}

.pager li.next a:hover {
  right: -5px;
}

p.back {
  margin-top: 50px;
}

p.back a {
  display: block;
  width: 170px;
}

/* 詳細 */
#music .detail h3 {
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 40px;
  color: #e2007f;
}

#music .detail .info .img {
  flex: 0 1 300px;
}

#music .detail .flex .txt p.date {
  font-size: 2.4rem;
  font-weight: bold;
  margin-top: 0;
}

#music .detail .flex .txt p {
  margin-top: 1.5rem;
}

#music .detail h4 {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.3;
  margin-top: 40px;
  padding-bottom: .5rem;
  color: #e2007f;
  border-bottom: 2px solid #f3f3f3;
}

.notes {
  font-size: 80%;
  padding: 0 0 10px;
}

.recording {
  margin: 2rem 1rem;
}

.recording dt::before {
  display: inline-block;
  margin-right: .5rem;
  content: '●';
  color: #e2007f;
}

.recording dd {
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 4rem;
}

.recording dd .notes {
  padding: 10px 0;
}

#music .frame {
  position: relative;
  overflow: hidden;
  height: 0;
  margin: 50px 0 40px 0;
  padding-bottom: 56%;
}

.frame iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#music .qr .img {
  flex: 0 1 135px;
}

/* TOP
-------------------------------------------------*/
#opening {
  position: fixed;
  z-index: 10000;
  top: 0;
  left: 0;
  display: none;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

#opening::before,
#opening::after {
  position: absolute;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: '';
  transition: ease 1s 1s;
}

#opening::before {
  left: 0;
  background: url(../img/top/bg_zipper_l.png) no-repeat right center / 100% auto;
}

#opening.active::before {
  transform: translate(-100%, 0);
}

#opening::after {
  right: 0;
  background: url(../img/top/bg_zipper_r.png) no-repeat left center / 100% auto;
}

#opening.active::after {
  transform: translate(100%, 0);
}

#opening .knob {
  position: relative;
  z-index: 999999;
  display: block;
  width: 21.82%;
  height: 13.15%;
  transition: ease 1.2s;
  transform: translate(-100px, -112px);
  background: url(../img/top/zipper_knob.png) no-repeat 0 0 / 100% auto;
}

#opening.active .knob {
  transform: translate(2020px, 1074px);
}

#top #header {
  background: #b2aa82;
  background: -webkit-linear-gradient(left, #b2aa82 0%, #fffbe9 50%, #b2aa82 100%);
  background: linear-gradient(to right, #b2aa82 0%, #fffbe9 50%, #b2aa82 100%);
}

#top #header::before {
  display: none;
}

#top #header .logo.noSP {
  display: none;
}

#top #header .inner {
  height: 78px;
}

#top #gnav ul {
  position: static;
}

#top #gnav a {
  line-height: 78px;
  height: 78px;
  padding: 0 .2rem;
}

#top #sns {
  top: 22px;
  right: -80px;
}

@media screen and (max-width: 1150px) {
  #top #header .inner {
    max-width: initial !important;
    padding: 0 90px 0 1rem;
  }

  #top #sns {
    right: 1rem;
  }

  #top #gnav a {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 1024px) {
  #top #gnav a {
    font-size: 1.5rem;
  }
}

#sns>* {
  width: 30px;
  height: 30px;
}

#sns .twitter {
  font-size: 2.0rem;
  line-height: 30px;
}

#sns .facebook {
  font-size: 2.4rem;
  margin-left: 5px;
}

#mv {
  position: relative;
}

#mv .txt {
  position: absolute;
  z-index: 300;
  top: 5.7%;
  left: 0;
  width: 31.2%;
  height: auto;
}

#mv .bnr {
  position: absolute;
  z-index: 300;
  top: 3.7%;
  right: 2.63%;
  width: 25.6%;
  height: auto;
}

#mv .bnr.oro {
  top: 16.4%;
}

#mv .bnr.oro2 {
  top: 29.4%;
}

#mv .bnr.oro3 {
  top: 42.4%;
}

#mv .bnr.oro4 {
  top: 55.4%;
}

#mv .bnr.oro5 {
  top: 68.4%;
}

#mv .bnr a:hover {
  /*   opacity:0.6 */
}

#mv p.txt::before {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: '';
  background: #1e1b24;
}

#mv p.txt::before {
  width: 100%;
  transition: .4s;
  transform: scale(0, 1);
  transform-origin: left;
}

#mv .txt1::before {
  transition-delay: .2s;
}

#mv .txt2::before {
  transition-delay: .6s;
}

#mv p.active::before {
  transform: scale(1);
}

#mv p img {
  position: relative;
  z-index: 300;
  transition: 3.3s;
  opacity: 0;
}

#mv p.active img {
  opacity: 1;
}

#top_movie {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 500px;
}

#youtube-movie {
  position: absolute;
  z-index: -1 !important;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.movieContent {
  position: absolute;
  z-index: 888;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/top/movie_shade.png) repeat center top;
}

#top_movie h2 {
  margin: 60px 0 40px 0;
}

#top_movie h2 img {
  display: block;
  width: 348px;
  margin: 0 auto;
}

#top_movie p {
  width: 363px;
  height: 204px;
  margin: 0 auto;
  border: 2px solid #916a01;
}

#top_movie p>a {
  position: relative;
}

#top_movie p>a::before {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 48px;
  height: 48px;
  margin: auto;
  content: '';
  border-radius: 50%;
  background-color: #fff;
}

#top_movie p>a::after {
  position: absolute;
  z-index: 3;
  top: 0;
  right: 0;
  bottom: 0;
  left: 8px;
  width: 0;
  height: 0;
  margin: auto;
  content: '';
  border-width: 8px 0 8px 14px;
  border-style: solid;
  border-color: transparent;
  border-left-color: #fddaca;
}

#top_movie p>a {
  display: block;
  overflow: hidden;
  width: 100%;
  height: 100%;
  margin: 0 auto;
}

#top_movie p>a>img {
  box-sizing: border-box;
  width: 100% !important;
  height: auto !important;
  -webkit-transition: .5s ease-out;
  transition: .5s ease-out;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

#top_movie p>a:hover>img {
  -webkit-transform: scale(1.05);
  -ms-transform: scale(1.05);
  transform: scale(1.05);
}

#news_tw {
  position: relative;
  overflow: hidden;
  padding: 60px 1rem 150px 1rem;
}

#news_tw .inner {
  max-width: 1050px;
}

#news_tw .box {
  font-family: '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
  font-weight: bold;
  position: relative;
  width: 512px;
  height: 472px;
  padding: 55px 40px;
  background: url(../img/top/bg_box.png) no-repeat 0 0 / 100% 100%;
}

@media screen and (max-width: 1050px) {
  #news_tw .box {
    width: 49%;
  }
}

#news_tw .box h2 {
  position: absolute;
  top: -31px;
  left: 0;
  width: 100%;
  text-align: center;
}

#news_tw .box h2 img {
  width: 192px;
}

#news_tw .box.tw {
  margin-top: 60px;
}

#news_tw .pistols {
  position: absolute;
}

#news_tw #p1 {
  top: 60px;
  right: -227px;
  width: 190px;
  height: auto;
  -webkit-animation: 2s ease-in-out infinite yura;
  animation: 1.4s ease-in-out infinite yura;
}

#news_tw #p2 {
  top: 280px;
  left: -227px;
  width: 134px;
  height: auto;
  -webkit-animation: 2s ease-in-out infinite yura;
  animation: 2.5s ease-in-out infinite yura;
}

#news_tw #p3 {
  right: -162px;
  bottom: 10px;
  width: 79px;
  height: auto;
  -webkit-animation: 2s ease-in-out infinite yura;
  animation: 2s ease-in-out infinite yura;
}

#news_tw #p5 {
  top: -74px;
  left: -23px;
  width: 86px;
  height: auto;
  -webkit-animation: 2s ease-in-out infinite yura;
  animation: 2s ease-in-out infinite yura;
}

#news_tw #p6 {
  top: 68px;
  left: -140px;
  width: 72px;
  height: auto;
  -webkit-animation: 2.4s ease-in-out infinite yura;
  animation: 1.8s ease-in-out infinite yura;
}

#news_tw #p7 {
  bottom: -76px;
  left: -40px;
  width: 85px;
  height: auto;
  -webkit-animation: 2.4s ease-in-out infinite yura;
  animation: 2.4s ease-in-out infinite yura;
}

@-webkit-keyframes yura {
  0% {
    -webkit-transform: translate(0, 0);
  }

  50% {
    -webkit-transform: translate(0, -10px);
  }

  100% {
    -webkit-transform: translate(0, 0);
  }
}

@keyframes yura {
  0% {
    transform: translate(0, 0);
  }

  50% {
    transform: translate(0, -10px);
  }

  100% {
    transform: translate(0, 0);
  }
}

#news_tw .news li {
  margin-bottom: 25px;
}

#news_tw .news li a {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

#news_tw .news li a .img {
  margin-right: 1rem !important;
  flex: 0 1 100px;
}

#news_tw .news li a .txt {
  line-height: 1.2;
  flex: 1;
}

#news_tw .news li a .txt .date {
  font-size: 1.6rem;
  color: #e4007f;
}

#news_tw .news li p {
  font-size: 75%;
}

#news_tw .news .more {
  position: absolute;
  bottom: -40px;
  left: 0;
  width: 100%;
}

#top .more a {
  position: relative;
  right: 0;
  display: block;
  width: 283px;
  margin: 0 auto;
  transition: ease .2s;
}

#top .more a:hover {
  right: -5px;
  opacity: 1;
}

#news_tw .tw .scroll {
  overflow-y: scroll;
  height: 390px;
  padding-right: 1rem;
}

#news_tw .tw .flex .img {
  margin-right: 1rem !important;
  flex: 0 1 50px;
}

#news_tw .tw .flex .img img {
  border-radius: 100%;
}

#news_tw .tw .flex .name {
  font-size: 1.8rem;
  line-height: 1.2;
  flex: 1;
}

.comment {
  margin: 1rem 0;
}

#top_com_wrap {
  position: relative;
  z-index: 1000;
  top: -100px;
  height: 2910px;
  background: url(../img/top/top_com_wrap_bg.png) no-repeat center top / 2370px auto;
}

#top_com_wrap h2 img {
  display: block;
  width: auto;
  height: 42px;
  margin: 0 auto;
}

section.onair {
  font-family: 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', sans-serif !important;
  padding-top: 150px;
}

body#onair section.onair {
  padding-top: 50px;
}

section.onair .catch {
  font-size: 2.8rem;
  font-weight: bold;
  margin: 0 0 35px 0;
  text-align: center;
}

body#onair section.onair .catch {
  margin-top: 0;
}

section.onair .catch span {
  font-size: 3.8rem;
}

section.onair table {
  margin: 0 auto;
}

section.onair th,
section.onair td {
  font-size: 2.8rem;
  font-weight: bold;
  padding: .3rem 0;
}

section.onair th {
  padding-right: 40px;
  text-align: left;
  white-space: nowrap;
}

section.onair .att {
  margin-top: 3rem;
  text-align: center;
}

section.onair .abema th,
section.onair .abema td {
  padding-top: 3rem;
}

section.onair .more {
  margin-top: 30px;
}

section.staff {
  font-family: 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', sans-serif !important;
  font-size: 2.0rem;
  font-weight: bold;
  line-height: 1.9;
  margin-top: 50px;
  text-align: center;
}

section.staff p {
  line-height: 2.2;
  margin: 40px 0;
}

section.staff li {
  display: -webkit-flex;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

section.staff li>* {
  line-height: 53px;
  flex: 1;
}

section.staff li span:first-child {
  text-align: right;
}

section.staff li span:last-child {
  font-size: 2.8rem;
  text-align: left;
}

#top_com_wrap #story {
  position: absolute;
  bottom: 30px;
  left: 0;
  width: 100%;
  height: 645px;
  text-align: center;
}

#top .overlay {
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  position: fixed;
  z-index: 10001;
  display: none;
}

#top .btn_area {
  max-width: 620px;
  min-width: 620px;
  width: 620px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 2;
  background-image: url(../ova/rohan/img/mv_bottom_bg.jpg);
}

#top .btn_area button {
  display: block;
  margin: 0 auto;
  border: none;
  background: none;
  position: absolute;
  top: -10px;
  right: -10px;
  padding: 0;
  height: 35px;
  width: 35px;
  background-color: #000000;
  border-radius: 50%;
}

#top .btn_area button::before,
#top .btn_area button::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 71%;
  height: 8%;
  margin: -6% 0 0 -33%;
  background: #E91E63;
}
#top .btn_area button::before {
  transform: rotate(-45deg);
}
#top .btn_area button::after {
  transform: rotate(45deg);
}

#top .btn_area_ctt {
  display: flex;
}

#top .btn_area_left {
  width: 40%;
  box-sizing: border-box;
}

#top .btn_area_right {
  display: flex;
  flex-direction: column;
  width: 60%;
  align-items: center;
  color: #fff;
  justify-content: center;
  padding: 0 15px;
  box-sizing: border-box;
  text-align: center;
}

section#story p {
  font-family: 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', sans-serif !important;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 2.2;
  margin: 40px 0;
  text-align: center;
  text-shadow: 0 0 10px #674e23;
}

section#story p span {
  font-size: 3.6rem;
  color: #e4007f;
  /* font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; */
}

section#story p span.font_small {
  font-size: 2.2rem;
}

section#character {
  position: relative;
  margin: -100px 0 0;
  padding: 80px 1rem;
  background: #b3aa82;
  background: -moz-linear-gradient(top, #b3aa82 0%, #fffbe9 50%, #b3aa82 100%);
  background: -webkit-linear-gradient(top, #b3aa82 0%, #fffbe9 50%, #b3aa82 100%);
  background: linear-gradient(to bottom, #b3aa82 0%, #fffbe9 50%, #b3aa82 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3aa82', endColorstr='#b3aa82', GradientType=0);
}

section#character::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 321px;
  content: '';
  background: url(../img/top/character_bg_l.png) no-repeat left top, url(../img/top/character_bg_r.png) no-repeat right top;
  background-size: 27% auto, 27% auto;
}

section#character h2 {
  width: 630px;
  margin: 0 auto 50px auto;
}

@media screen and (max-width: 1150px) {
  section#character .inner {
    width: auto !important;
    margin: 0 50px !important;
  }
}

section#character .slick-slide {
  position: relative;
  padding: 90px 0 0;
  outline: none;
}

section#character ul.slider.slick-initialized.slick-slider {
  top: -90px;
  margin: 0 0 -90px;
}

section#character .slick-slide img {
  width: auto !important;
  height: auto !important;
}

section#character .slick-slide .img1 {
  position: absolute;
  z-index: 4;
}

section#character .slick-slide.character1 .img1 {
  top: 12%;
  left: 58%;
  width: 27.92% !important;
}

section#character .slick-slide.character2 .img1 {
  top: 12.8%;
  left: 60.5%;
  width: 23.397% !important;
}

section#character .slick-slide.character3 .img1 {
  top: 14%;
  left: 67%;
  width: 15.244% !important;
}

section#character .slick-slide.character4 .img1 {
  top: 12%;
  left: 61%;
  width: 26.776% !important;
}

section#character .slick-slide.character5 .img1 {
  top: 13%;
  left: 68%;
  width: 17.08% !important;
}

section#character .slick-slide.character6 .img1 {
  top: 12%;
  left: 62%;
  width: 22.462% !important;
}

section#character .slick-slide.character7 .img1 {
  top: 16%;
  left: 62%;
  width: 31.362% !important;
}

section#character .slick-slide .img2 {
  position: absolute;
  z-index: 3;
  transition: ease-in-out .4s 1s;
  opacity: 0;
}

section#character .character1.slick-slide .img2 {
  top: 19%;
  right: 0;
  width: 27.92% !important;
}

section#character .character2.slick-slide .img2 {
  top: 19%;
  right: 4%;
  width: 17% !important;
}

section#character .character3.slick-slide .img2 {
  z-index: 100;
  top: 52%;
  right: 0;
  width: 23.2% !important;
}

section#character .character4.slick-slide .img2 {
  top: 22%;
  right: 3%;
  width: 19.2% !important;
}

section#character .character5.slick-slide .img2 {
  top: 19%;
  right: 0;
  width: 23.2% !important;
}

section#character .character6.slick-slide .img2 {
  top: 14%;
  right: 4%;
  width: 30.5% !important;
}

section#character .character7.slick-slide .img2 {
  top: 24%;
  right: 3.5%;
  width: 18% !important;
}

section#character .slick-current .img2 {
  opacity: 1;
}

section#character .slick-current.character1 .img2 {
  top: 9%;
}

section#character .slick-current.character2 .img2 {
  top: 9%;
}

section#character .slick-current.character3 .img2 {
  top: 42%;
}

section#character .slick-current.character4 .img2 {
  top: 12%;
}

section#character .slick-current.character5 .img2 {
  top: 9%;
}

section#character .slick-current.character6 .img2 {
  top: 4%;
}

section#character .slick-current.character7 .img2 {
  top: 14%;
}

section#character .slick-prev,
section#character .slick-next {
  display: block;
  width: 42px;
  height: 85px;
}

section#character .slick-prev::before,
section#character .slick-next::before {
  display: block;
  width: 42px;
  height: 85px;
  background: url(../img/top/arrow.png) no-repeat center center / 100% auto;
}

section#character .slick-prev {
  left: -50px;
}

section#character [dir='rtl'] .slick-prev,
section#character .slick-next {
  right: -50px;
}

section#character [dir='rtl'] .slick-next {
  right: auto;
  left: -50px;
}

section#character .slick-next:before {
  transform: scale(-1, 1) !important;
}

.slick-prev:before,
.slick-next:before,
[dir='rtl'] .slick-prev:before,
[dir='rtl'] .slick-next:before {
  content: '' !important;
}

/* NEWS（news）
-------------------------------------------------*/
ul.news_list {
  position: relative;
  z-index: 1;
}

ul.news_list li {
  padding: 50px 0;
  border-top: 2px solid #f3f3f3;
}

ul.news_list li:first-child {
  border-top: none;
}

ul.news_list li a {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

ul.news_list li a .img {
  width: 200px;
  margin-right: 40px;
}

ul.news_list li a .txt {
  flex: 1;
}

ul.news_list li a .txt h3,
ul.news_list li a .txt h4 {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.3;
}

ul.news_list li a .txt h3 {
  color: #e2007f;
}

ul.news_list li a .txt h4,
ul.news_list li a .txt p:nth-child(3) {
  margin-top: 1.5rem;
}

/* 詳細 */
.detail h3 {
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 40px;
  text-align: center;
  color: #e2007f;
}

.detail .info .img {
  flex: 0 1 300px;
}

.detail .flex .txt p.date {
  font-size: 2.4rem;
  font-weight: bold;
  margin-top: 0;
}

.detail .flex .txt p {
  margin-top: 1.5rem;
}

.detail a {
  word-break: break-all;
  color: #9c752a;
}

.detail .flex .txt .yt {
  position: relative;
  width: 80%;
  height: 0;
  margin: 1.5rem 10% 0;
  padding-bottom: 45%;
}

.detail .flex .txt .yt iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.detail h4 {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.3;
  margin-top: 40px;
  padding-bottom: .5rem;
  color: #e2007f;
  border-bottom: 2px solid #f3f3f3;
}

.news_concept {
  font-family: 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', sans-serif !important;
  font-weight: bold;
  line-height: 1.7;
  margin: 20px 0;
  text-align: center;
  text-shadow: 0 0 10px #674e23;
}

/* SPECIAL（special）
-------------------------------------------------*/
.special_detail {
  background-image: url(../img/bg_frame_bottom.png);
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center bottom 1%;
  background-size: 99%;
}

.special_detail .catch {
  padding: 10px 8%;
  font-weight: bold;
  line-height: 2;
}

.special_detail .campaign {
  padding: 40px 30px 20px;
  background-image: url(../special/img/bg_campaign.jpg);
  background-repeat: no-repeat;
  background-size: 100% auto;
}

.special_detail .campaign p {
  text-align: center;
  font-weight: bold;
  padding: 20px 0 0;
}

.special_detail .campaign h3 {
  text-align: center;
}

.special_detail .campaign h3 img {
  width: auto;
}

.special_detail .campaign ul {
  display: flex;
  padding: 30px 0 0;
  flex-wrap: wrap;
  justify-content: space-between;
}

.special_detail .campaign ul li {
  width: 49%;
  padding: 0 0 18px;
}

.special_detail .bnr {
  padding: 40px 30px 130px;
}

.special_detail .bnr ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.special_detail .bnr ul li {
  width: 49%;
  padding: 0 0 18px;
}
