/************************************************

@PC - style.css v5.0.0

(c) ULM Co.,Ltd. - https://www.ulm-design.com
************************************************/
.first-trailer {
  display: none;
}

/*-------------------------------

#top-main

-------------------------------*/
#top-main {
  position: relative;
}

#top-main::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  width: 100%;
  height: 100%;
  background: url(../img/top/main_cover.png) no-repeat bottom;
  background-size: 100%;
}

#top-contents {
  position: relative;
  overflow: hidden;
  z-index: 1;
}

#top-contents::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  pointer-events: none;
  width: 100%;
  height: 20vw;
  background: #ff92da;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(255, 146, 218, 0)), to(white));
  background: linear-gradient(0deg, rgba(255, 146, 218, 0) 0%, white 100%);
}

.logo {
  position: absolute;
  width: 53.27vw;
  margin: 0 auto;
  bottom: 11vw;
  left: 26vw;
}

@media screen and (min-width: 960px) {
  .logo {
    width: 26.25vw;
    left: 2vw;
    bottom: 10vw;
  }
}

.roadshow {
  position: absolute;
  width: 45.67vw;
  bottom: 0;
  right: 25vw;
  z-index: 3;
}

@media screen and (min-width: 960px) {
  .roadshow {
    width: 18.96vw;
    right: 2vw;
    bottom: 13vw;
  }
}

.dvd-bnr {
  position: absolute;
  width: 45.67vw;
  bottom: -4vw;
  right: 25vw;
  z-index: 3;
}

@media screen and (min-width: 960px) {
  .dvd-bnr {
    width: 18.96vw;
    right: 2vw;
    bottom: 13vw;
  }
  .dvd-bnr a {
    display: block;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
  }
  .dvd-bnr a:hover {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}

.copy0 {
  position: absolute;
  width: 7.87vw;
  top: 18vw;
  right: 2vw;
}

@media screen and (min-width: 960px) {
  .copy0 {
    width: 3.59vw;
    top: 3.36vw;
    right: 5.86vw;
  }
}

.copy1 {
  position: absolute;
  width: 6.67vw;
  top: 15vw;
  left: 2vw;
}

@media screen and (min-width: 960px) {
  .copy1 {
    width: 3.05vw;
    top: 3.36vw;
    left: 5.86vw;
  }
}

.main-img,
.logo,
.roadshow,
.copy0,
.copy1 {
  opacity: 0;
}

.main-img.scalein,
.logo.scalein,
.roadshow.scalein,
.copy0.scalein,
.copy1.scalein {
  -webkit-animation: scalein 1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
          animation: scalein 1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@-webkit-keyframes scalein {
  0% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

@keyframes scalein {
  0% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

#top-nav {
  padding: 20px 0 0;
}

.top-nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 0 3%;
}

.top-nav-list li {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 100%;
  max-width: 214px;
  margin: 0 -5px;
}

@media screen and (min-width: 960px) {
  .top-nav-list li {
    margin: 0 10px;
  }
  .top-nav-list li a {
    display: block;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
  }
  .top-nav-list li a:hover {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}

.top-nav-list li:nth-child(3) {
  margin-top: 6%;
}

@media screen and (min-width: 960px) {
  .top-nav-list li:nth-child(3) {
    margin-top: 60px;
  }
}

.top-nav-list li:nth-child(2),
.top-nav-list li:nth-child(4) {
  margin-top: 3%;
}

@media screen and (min-width: 960px) {
  .top-nav-list li:nth-child(2),
  .top-nav-list li:nth-child(4) {
    margin-top: 30px;
  }
}

/*-------------------------------

#snow

-------------------------------*/
#cvs {
  position: absolute;
  width: 100vmax;
  top: 0;
  left: 0;
  z-index: -1;
}

#snow {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 99;
}

.snowfall-flakes {
  -webkit-animation: kurukuru 4s linear infinite;
          animation: kurukuru 4s linear infinite;
}

@-webkit-keyframes kurukuru {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes kurukuru {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

/*-------------------------------

pickup

-------------------------------*/
.pickup {
  padding: 0 5%;
}

@media screen and (min-width: 960px) {
  .pickup {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 auto;
    max-width: 1200px;
  }
  .pickup .bnr1 {
    width: 47%;
  }
  .pickup .bnr2 {
    width: 53%;
  }
}

.onair-btn {
  width: 100%;
  margin: 20px auto;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  cursor: pointer;
}

.onair-btn:hover {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

@media screen and (min-width: 960px) {
  .onair-btn {
    margin: 10px;
  }
}

.nurie-btn {
  width: 100%;
  margin: 20px auto;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  cursor: pointer;
}

.nurie-btn:hover {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

@media screen and (min-width: 960px) {
  .nurie-btn {
    margin: 10px;
  }
}

.callender-btn {
  width: 100%;
  margin: 20px auto;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  cursor: pointer;
}

.callender-btn:hover {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

@media screen and (min-width: 960px) {
  .callender-btn {
    margin: 10px;
  }
}

/*-------------------------------

#news

-------------------------------*/
#news {
  position: relative;
  margin: 40px auto 100px;
  width: 100%;
  max-width: 1000px;
}

@media screen and (min-width: 960px) {
  #news {
    margin: 40px auto 100px;
    width: auto;
    width: 65%;
  }
}

#news-ttl {
  width: 70vw;
  margin: 0 0 10px -10px;
}

@media screen and (min-width: 960px) {
  #news-ttl {
    width: 354px;
    margin: 0 0 -10px -140px;
    position: relative;
    z-index: 2;
  }
}

.news-box {
  position: relative;
  width: 90%;
  border: 2px solid #fff;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 10px;
  margin: -14px auto 0;
  padding: 5%;
}

@media screen and (min-width: 960px) {
  .news-box {
    width: 95%;
    margin: 0 auto 0 0;
  }
}

.news-box li {
  margin: 0 0 2em 0;
}

.news-box a {
  color: #067cb7;
  line-height: 1.4;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

.news-box a:hover {
  color: #eb2377;
}

.news-date {
  position: relative;
  padding: 0 0 .5em 1.5em;
}

.news-date::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 1em;
  height: 1em;
  background: url(../img/common/icon_snow.png) no-repeat center center;
  background-size: 100%;
}

.newstxt {
  padding: 0 0 0 1.5em;
}

.twitter-btn {
  position: absolute;
  top: 2%;
  right: 5%;
  width: 22%;
}

@media screen and (min-width: 960px) {
  .twitter-btn {
    width: 160px;
    top: 3%;
    right: 20px;
  }
  .twitter-btn a {
    display: block;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
  }
  .twitter-btn a:hover {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}

.pink-btn {
  position: relative;
  display: inline-block;
  padding: 2px;
}

.pink-btn a {
  display: block;
  position: relative;
  background: #ff92da;
  background: linear-gradient(133deg, #ff92da 0%, #ec5b98 100%);
  padding: 12px 35px 12px 20px;
  color: #fff !important;
  font-weight: bold;
  border-radius: 7px;
}

.pink-btn a::before {
  content: "";
  position: absolute;
  left: 1px;
  top: 1px;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border: 1px solid #fff;
  border-radius: 7px;
}

.pink-btn a::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 0;
  width: 13px;
  height: 100%;
  background: url(../img/common/icon_arrow.png) no-repeat center center;
  background-size: 100%;
}

@media screen and (min-width: 960px) {
  .pink-btn a {
    display: block;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
  }
  .pink-btn a:hover {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}

.news-btn {
  position: absolute;
  left: 50%;
  bottom: -30px;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}

/*-------------------------------

#present

-------------------------------*/
#present {
  margin: 60px auto 20px;
  width: 100%;
  max-width: 1280px;
  text-align: center;
}

@media screen and (min-width: 960px) {
  #present {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 60px auto 30px;
  }
}

.present-box {
  position: relative;
  width: 90%;
  max-width: 640px;
  margin: 0 auto;
  display: inline-block;
}

@media screen and (min-width: 960px) {
  .present-box {
    display: block;
  }
}

.present-end {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.nyupre-btn {
  display: block;
  position: absolute;
  bottom: 4%;
  right: 8%;
  width: 24%;
  cursor: pointer;
}

@media screen and (min-width: 960px) {
  .nyupre-btn {
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
  }
  .nyupre-btn:hover {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}

.bnr-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto 60px;
  padding: 0 5%;
  width: 60%;
}

.bnr-list li {
  padding: 5px;
}

@media screen and (min-width: 960px) {
  .bnr-list li {
    padding: 10px;
    max-width: 280px;
  }
  .bnr-list a {
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
    cursor: pointer;
  }
  .bnr-list a:hover {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}

/*-------------------------------

#movie

-------------------------------*/
#top-movie {
  text-align: center;
}

#movie-ttl {
  width: 90vw;
  margin: 0 auto;
  -webkit-transform: translate(-1%, 0);
          transform: translate(-1%, 0);
}

@media screen and (min-width: 960px) {
  #movie-ttl {
    width: 495px;
  }
}

.top-movie-btn {
  margin: 20px auto;
}

#trailer {
  padding: 30px 0;
}

.pc-modal-movie {
  display: none;
}

.pc {
  display: none;
}

.sp {
  display: block;
}

#movie-container {
  width: 100%;
  margin: 0 auto;
  padding: 0 0 30px;
  opacity: 0;
  -webkit-transition: opacity .6s ease;
  transition: opacity .6s ease;
}

#movie-container.swiper-container-horizontal {
  opacity: 1;
}

.movie-thumb-box {
  position: relative;
  padding-bottom: 51.25%;
  height: 0;
  overflow: hidden;
  border: 1px solid #eee;
}

.movie-thumb-box img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.movie-thumb-list li {
  width: 100%;
  padding: 0 10px;
}

.movie-cap {
  padding: 15px 0 5px;
  text-align: center;
  color: #095365;
  font-size: 16px;
  font-weight: bold;
}

.play-icon {
  color: #e60027;
  width: 100%;
  height: 100%;
  font-size: 60px;
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  margin: auto;
  display: block;
  line-height: 1em;
}

.movie-thumb-box:hover .play-icon {
  opacity: .8;
}

.movie-thumb-list .slider-arrow {
  position: absolute;
  top: 50%;
  height: 60px;
  margin-top: -50px;
  color: #aaa;
  line-height: 36px;
  font-size: 28px;
  cursor: pointer;
  width: 30px;
  z-index: 10;
}

.movie-thumb-list .slider-arrow img {
  width: 100%;
}

.movie-thumb-list .slider-prev {
  left: 0;
}

.movie-thumb-list .slider-next {
  right: 0;
}

#trailer-play {
  padding: 30px;
}

#trailer-play a {
  -webkit-transition: opacity .2s ease;
  transition: opacity .2s ease;
  opacity: .7;
}

#trailer-play a:hover {
  opacity: 1;
}

.btn-container li {
  position: relative;
  border: 1px solid #7f1e1e;
  border-radius: 50px;
  margin: 0 0 10px;
  padding: 7px 15px;
  text-align: center;
}

.btn-container li.new::after {
  content: "New";
  font-size: .8em;
  background: #7f1e1e;
  position: absolute;
  top: -4px;
  left: -4px;
  padding: 2px;
}

.btn-container li a {
  display: block;
  color: #fff;
  font-size: 20px;
  text-decoration: none;
  -webkit-transition: color .3s ease;
  transition: color .3s ease;
}

.btn-container li a:hover {
  color: #7f1e1e;
}

.swiper-container {
  padding: 0 0 20px;
}

.swiper-pagination-bullet {
  background: #ccc;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  background: #aaa;
}

/* PC */
@media screen and (min-width: 1024px) {
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }
  #trailer {
    margin: 0 auto;
    padding: 60px 0;
    width: 1024px;
  }
  .pc-modal-movie {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
  }
  .youtube {
    pointer-events: none;
  }
}

/*-------------------------------

contents

-------------------------------*/
.contents {
  background: url(../img/common/bg.jpg) repeat-y top center;
  background-size: 100%;
  padding: 80px 0 0;
}

#top .contents {
  padding: 0;
}

/*-------------------------------

#story

-------------------------------*/
#story-contents {
  background: url(../img/story/bg_sp.png) no-repeat top center;
  background-size: 100%;
  padding: 20px 0 40px;
}

@media screen and (min-width: 960px) {
  #story-contents {
    background: url(../img/story/bg_pc.png) no-repeat top center;
    background-size: 100%;
    padding: 7vw 0 60px;
  }
}

#story-ttl {
  width: 69.2vw;
  margin: 0 auto;
}

@media screen and (min-width: 960px) {
  #story-ttl {
    width: 330px;
  }
}

.story-txt-wrap {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: 57vw auto 0;
  padding: 20vw 0 0;
}

@media screen and (min-width: 960px) {
  .story-txt-wrap {
    padding: 153px 0 0;
  }
}

.story-lead {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  padding: 0 10px;
}

.story-txt {
  position: relative;
  color: #00aee5;
  font-size: 1.2em;
  line-height: 2;
  background: rgba(255, 255, 255, 0.8);
  width: 90vw;
  margin: 0 auto;
  padding: 26vw 5vw 5vw;
  border-radius: 20px;
  font-weight: bold;
}

@media screen and (min-width: 960px) {
  .story-txt {
    width: 88%;
    padding: 60px;
  }
}

.story-txt::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/story/frame.png) no-repeat bottom center;
  background-size: 100%;
  pointer-events: none;
}

.story-img {
  margin: 0 -3vw;
}

/*-------------------------------

#character

-------------------------------*/
#character-contents {
  padding: 40px 5%;
}

@media screen and (min-width: 960px) {
  #character-contents {
    padding: 7vw 0 60px;
  }
  #character-contents h2 {
    width: 504px;
    margin: 0 auto;
  }
}

.series-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
}

@media screen and (min-width: 960px) {
  .series-nav {
    width: 50%;
    margin: 1% auto;
    max-width: 800px;
  }
}

.series-btn {
  width: 30%;
  opacity: .5;
}

.series-btn.series-active {
  opacity: 1;
}

.contents-container {
  background: url(../img/character/character_bg.png) repeat;
  background-size: 100%;
  border: solid 2px #fff;
  border-radius: 17px;
  margin: 20px auto 0;
}

@media screen and (min-width: 960px) {
  .contents-container {
    width: 60%;
    max-width: 1280px;
    min-width: 960px;
    background-size: 40%;
  }
}

.series-content {
  display: none;
}

.series-content.series-show {
  display: block;
}

.character-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  cursor: pointer;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.character-nav .chara-btn {
  width: 21%;
  margin: 15px 2% 0;
}

.character-nav .chara-btn .icon-box, .character-nav .chara-btn img {
  border-radius: 170px;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

@media screen and (min-width: 960px) {
  .character-nav .chara-btn {
    width: 120px;
    margin: 30px 10px 0;
  }
}

.character-nav .chara-btn.chara-active .icon-box, .character-nav .chara-btn:hover .icon-box {
  background: #ff4a86;
  border-radius: 170px;
}

.character-nav .chara-btn.chara-active img, .character-nav .chara-btn:hover img {
  opacity: .5;
}

.character-nav .chara-name {
  font-weight: bold;
  text-align: center;
  font-size: .82em;
  line-height: 1.4;
  margin-top: 5px;
}

@media screen and (min-width: 960px) {
  .htpr-nav {
    width: 680px;
    margin: 20px auto 0;
  }
  .htpr-nav .character-nav .chara-btn {
    margin: 10px 10px 0;
  }
  .htpr-nav .chara-name {
    letter-spacing: 0;
  }
}

.character-detail {
  display: none;
}

.chara-show {
  display: block;
}

@media screen and (min-width: 960px) {
  .chara-show {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (min-width: 960px) {
  .chara-special {
    display: none;
  }
}

@media screen and (min-width: 960px) {
  .chara-special.chara-show {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media screen and (min-width: 960px) {
  .chara-special-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .chara-special-wrapper .chara-img {
    max-width: 700px;
  }
  .chara-special-wrapper .chara-txt-box {
    width: 90%;
    max-width: 900px;
  }
  .chara-special-wrapper .detail-name {
    max-width: 500px;
    margin: 0 auto 10px;
  }
}

.chara-img {
  margin: 5% auto;
  padding: 0 7%;
}

@media screen and (min-width: 960px) {
  .chara-img {
    /* width: 70%; */
    max-width: 420px;
    padding: 0;
  }
}

.chara-txt-box {
  color: #ee2b7d;
  background: #fff;
  border: solid 2px #ffcde5;
  border-radius: 13px;
  padding: 8% 5%;
  margin: 7% 4%;
}

.chara-txt-box .detail-name {
  font-size: 1.6em;
  font-weight: bold;
  text-align: center;
  line-height: 1.3;
  margin-bottom: 10px;
}

.chara-txt-box .cast-name {
  text-align: center;
  font-weight: bold;
  font-size: 1.2em;
}

.chara-txt-box .chara-txt {
  font-size: 1.2em;
  line-height: 1.6;
  margin-top: 20px;
}

@media screen and (min-width: 960px) {
  .chara-txt-box {
    margin: 5% 4%;
    padding: 3% 5% 5%;
    width: 50%;
    min-width: 420px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-line-pack: center;
        align-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.comment-box {
  padding: 5%;
  color: #ee2b7d;
  margin-top: 12%;
}

.comment-box .comment-img {
  width: 70%;
  margin: 0 auto 10%;
}

.comment-box .comment-ttl {
  font-size: 1.4em;
  font-weight: bold;
  text-align: center;
}

.comment-box .comment-txt {
  font-size: 1.2em;
  line-height: 1.6;
  margin: 10px auto 20px;
}

@media screen and (min-width: 960px) {
  .comment-box {
    margin-top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .comment-box .comment-img {
    width: 300px;
    margin: 0 40px 50px;
  }
}

@media screen and (min-width: 960px) {
  .comment-txt-box {
    width: 60%;
  }
}

.htpr-btn {
  width: 75%;
  margin: 30px auto 10px;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  cursor: pointer;
}

.htpr-btn:hover {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

@media screen and (min-width: 960px) {
  .htpr-btn {
    width: 350px;
  }
}

#htpr-detail {
  padding: 5%;
  color: #ee2b7d;
  font-size: 1.2em;
  line-height: 1.6;
  background: url(../img/character/flower_bg.jpg) repeat-y top center;
  background-size: 100%;
}

#htpr-detail h3 {
  margin: 20px auto;
}

#htpr-detail p {
  margin: 25px auto 0;
}

#htpr-detail .htpr-txt-box {
  padding: 9% 5%;
  border: solid 3px #f197bd;
  border-radius: 15px;
}

#htpr-detail .htpr-txt-box dt {
  font-weight: bold;
  display: inline-block;
}

#htpr-detail .htpr-txt-box dd {
  display: inline-block;
  margin: 0 0 10px;
}

#htpr-detail .htpr-txt-box p {
  font-weight: bold;
  margin: 0 0 10px;
}

@media screen and (min-width: 960px) {
  #htpr-detail h3 {
    margin: 0 auto 30px;
  }
  #htpr-detail .htpr-txt-box {
    padding: 5%;
  }
}

.htpr-pv {
  margin: 10% auto 0;
}

/*-------------------------------

#movie

-------------------------------*/
.movie-wrap {
  width: 90%;
  margin: 0 auto;
}

.movie-list {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.movie-list li {
  width: 100%;
  padding: 0 0 20px;
}

@media screen and (min-width: 960px) {
  .movie-list li {
    padding: 40px;
    width: 50%;
  }
}

#top .movie-list li {
  padding: 0;
}

@media screen and (min-width: 960px) {
  #top .movie-list li {
    padding: 0 40px 0;
  }
}

.movie-list .cap {
  margin: 1em 0;
  font-size: 1.2em;
  font-weight: bold;
  color: #f263a7;
}

/* #movie .player {
  padding: 0;
} */
.modaal-overlay {
  background: rgba(228, 22, 114, 0.8) !important;
  background: linear-gradient(45deg, rgba(255, 233, 146, 0.8) 0%, rgba(228, 22, 114, 0.8) 100%) !important;
}

.modaal-close:focus, .modaal-close:hover {
  background: #f263a7 !important;
}

.modaal-close:focus:after, .modaal-close:focus:before, .modaal-close:hover:after, .modaal-close:hover:before {
  background: #fff !important;
}

.play-icon {
  opacity: 1;
  -webkit-transition: all .4s ease;
  transition: all .4s ease;
}

.video:hover .play-icon {
  opacity: .8;
  cursor: pointer;
}

.player {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  overflow: hidden;
  border-radius: 20px;
  -webkit-box-shadow: 0 10px 30px rgba(248, 90, 124, 0.2);
          box-shadow: 0 10px 30px rgba(248, 90, 124, 0.2);
}

.player a,
.player iframe {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
  border: 3px solid #fff;
  border-radius: 20px;
  overflow: hidden;
}

/*-------------------------------

footer

-------------------------------*/
.billing {
  width: 90vw;
  max-width: 800px;
  margin: 0 auto;
  padding: 30px 0;
}

/*-------------------------------

overlay

-------------------------------*/
.overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  background: rgba(228, 22, 114, 0.8);
  background: linear-gradient(45deg, rgba(255, 233, 146, 0.8) 0%, rgba(228, 22, 114, 0.8) 100%);
}

.overlay-contents {
  background: #fff;
  width: 90vw;
  max-width: 600px;
  height: 90vh;
  overflow-y: scroll;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  border-radius: 20px;
  display: none;
}

#nyupre-close {
  border: none;
  background: #eb2377;
  position: absolute;
  top: 2px;
  right: 2px;
  color: #fff;
  cursor: pointer;
  opacity: 1;
  width: 50px;
  height: 50px;
  border-radius: 100%;
  -webkit-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
}

#nyupre-close span {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden;
}

@media screen and (min-width: 960px) {
  #nyupre-close {
    top: 30px;
    right: calc(50% - 320px);
  }
}

#nyupre-close:after, #nyupre-close:before {
  display: block;
  content: " ";
  position: absolute;
  top: 14px;
  left: 23px;
  width: 4px;
  height: 22px;
  border-radius: 4px;
  background: #fff;
  -webkit-transition: background .2s ease-in-out;
  transition: background .2s ease-in-out;
}

#nyupre-close:before {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

#nyupre-close:after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.nyupre-box {
  width: 90%;
  margin: 0 auto;
  padding: 30px 0;
  border-bottom: 2px dotted #ffe85b;
}

.nyupre-img {
  padding: 5%;
}

.nyupre-txt {
  color: #eb2377;
  font-weight: bold;
  line-height: 1.4;
}

.nyupre-link {
  color: #1cb3f9;
  font-weight: bold;
  line-height: 1.4;
  margin: 10px 0;
}

.nyupre-link a {
  color: #1cb3f9;
  text-decoration: underline;
}

.nyupre-link li {
  position: relative;
  padding-left: 2em;
}

.nyupre-link li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.5em;
  height: 1.5em;
  background: url(../img/nyupre/icon.png) no-repeat center center;
  background-size: 100%;
}

.modaal-fullscreen .modaal-close {
  background: #eb2377;
  z-index: 100000;
}

/*-------------------------------

onair

-------------------------------*/
#onair-detail {
  padding: 30px 5%;
  color: #eb2377;
  font-weight: bold;
  line-height: 1.4;
}

@media screen and (min-width: 960px) {
  #onair-detail {
    padding: 30px 40px;
  }
}

.onair-ttl {
  margin: 0 auto 20px;
  width: 100%;
  max-width: 442px;
}

@media screen and (min-width: 960px) {
  .onair-lead {
    text-align: center;
  }
}

.onair-link {
  margin: 20px 0 0;
  color: #1cb3f9;
  position: relative;
  padding-left: 2em;
}

.onair-link a {
  color: #1cb3f9;
  text-decoration: underline;
}

.onair-link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.5em;
  height: 1.5em;
  background: url(../img/nyupre/icon.png) no-repeat center center;
  background-size: 100%;
}

.onair-schedule {
  margin: 30px 0 20px;
}

.onair-schedule-ttl {
  text-align: center;
  background: #eb2377;
  color: #fff;
  padding: 10px;
  border-radius: 100px;
  margin: 0 0 10px;
}

.onair-schedule-list {
  padding: 0 0 10px;
}

.onair-schedule-list li {
  margin: 0 0 2px;
  padding: 10px 2%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: #fefbbf;
}

.onair-date {
  width: 90px;
}

@media screen and (min-width: 960px) {
  .onair-date {
    width: 100px;
  }
}

.onair-item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.onair-end {
  display: block;
  font-size: .8em;
  color: #1cb3f9;
}

@media screen and (min-width: 960px) {
  .onair-end {
    display: inline-block;
    margin-left: 1em;
  }
}

.haishin {
  margin: 30px 0;
}

@media screen and (min-width: 960px) {
  .haishin {
    text-align: center;
  }
}

.haishin-ttl {
  margin: 10px 0;
}

.haishin-list {
  color: #1cb3f9;
  font-weight: bold;
  line-height: 1.4;
  margin: 10px 0;
}

@media screen and (min-width: 960px) {
  .haishin-list {
    display: inline-block;
    text-align: left;
  }
}

.haishin-list a {
  color: #1cb3f9;
  text-decoration: underline;
}

.haishin-list li {
  position: relative;
  padding-left: 2em;
  margin: 5px 0;
}

.haishin-list li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.5em;
  height: 1.5em;
  background: url(../img/nyupre/icon.png) no-repeat center center;
  background-size: 100%;
}

.haishin-att {
  margin: 20px 0;
  font-size: .8em;
}

.onair-mx {
  border-top: 1px solid #eb2377;
  padding: 30px 0;
}

@media screen and (min-width: 960px) {
  .onair-mx {
    text-align: center;
  }
}

.onair-pv {
  margin-top: 30px;
  border-bottom: 1px solid #eb2377;
}

.pv-wapper {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
  margin-bottom: 50px;
}

.pv-wapper iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/*-------------------------------

nurie

-------------------------------*/
#nurie-detail {
  padding: 40px 3%;
  background: url(../img/common/bg.jpg) center;
  background-size: 100%;
  text-align: center;
}

@media screen and (min-width: 960px) {
  #nurie-detail {
    padding: 50px 40px;
  }
}

.nurie-ttl {
  width: 80%;
  margin: 0 auto 20px;
}

.nurie-txt {
  color: #eb2377;
  font-weight: bold;
  line-height: 1.4;
}

@media screen and (min-width: 960px) {
  .nurie-txt {
    font-size: 1.2em;
  }
}

.nurie-img {
  position: relative;
  border: 2px solid #fff;
  margin: 0 0 30px;
}

.nurie-img::after {
  content: "";
  position: absolute;
  top: -4px;
  left: -4px;
  width: calc(100% + 8px);
  height: calc(100% + 8px);
  border: 2px solid #ff8c50;
}

.nurie-btn {
  margin: 0 auto;
  font-size: 1.1em;
}

.nurie-btn a {
  padding: 20px 35px 20px 20px;
}

.nurie-btn a:hover {
  -webkit-transform: scale(1.01);
          transform: scale(1.01);
}

@media screen and (min-width: 960px) {
  .nurie-btn {
    font-size: 1.2em;
  }
}

.nuri-box {
  background: #fefbbf;
  border: 2px solid #fff;
  border-radius: 10px;
  margin: 20px 0;
  padding: 20px 10px;
}

@media screen and (min-width: 960px) {
  .nuri-box {
    background: #fefbbf;
    border: 4px solid #fff;
    border-radius: 20px;
    margin: 30px 0;
    padding: 30px 20px;
  }
}

/*-------------------------------

callender

-------------------------------*/
#callender-detail {
  padding: 40px 3%;
  background: url(../img/common/bg.jpg) center;
  background-size: 100%;
  text-align: center;
}

@media screen and (min-width: 960px) {
  #callender-detail {
    padding: 50px 40px;
  }
}

.callender-ttl {
  width: 100%;
  margin: 0 auto 20px;
}

.callender-txt {
  color: #eb2377;
  font-weight: bold;
  line-height: 1.4;
}

@media screen and (min-width: 960px) {
  .callender-txt {
    font-size: 1.2em;
  }
}

.callender-img {
  position: relative;
  border: 2px solid #fff;
  margin: 0 0 30px;
}

.callender-img::after {
  content: "";
  position: absolute;
  top: -4px;
  left: -4px;
  width: calc(100% + 8px);
  height: calc(100% + 8px);
  border: 2px solid #ff8c50;
}

.callender-btn {
  margin: 0 auto;
  font-size: 1.1em;
}

.callender-btn a {
  padding: 20px 35px 20px 20px;
}

.callender-btn a:hover {
  -webkit-transform: scale(1.01);
          transform: scale(1.01);
}

@media screen and (min-width: 960px) {
  .callender-btn {
    font-size: 1.2em;
  }
}

.nuri-box {
  background: #fefbbf;
  border: 2px solid #fff;
  border-radius: 10px;
  margin: 20px 0;
  padding: 20px 10px;
}

@media screen and (min-width: 960px) {
  .nuri-box {
    background: #fefbbf;
    border: 4px solid #fff;
    border-radius: 20px;
    margin: 30px 0;
    padding: 30px 20px;
  }
}

/*-------------------------------

#music

-------------------------------*/
#music-contents {
  padding: 40px 5%;
  color: #eb2377;
}

@media screen and (min-width: 960px) {
  #music-contents {
    padding: 7vw 0 60px;
  }
}

#music-ttl {
  width: 90vw;
  margin: 0 auto;
}

@media screen and (min-width: 960px) {
  #music-ttl {
    width: 460px;
  }
}

.music-movie-wrap {
  width: 90%;
  max-width: 800px;
  margin: 0 auto;
}

@media screen and (min-width: 960px) {
  .music-movie-wrap {
    margin: 0 auto 80px;
  }
}

.themesong-ttl {
  width: 80vw;
  margin: 0 auto;
}

@media screen and (min-width: 960px) {
  .themesong-ttl {
    width: 90%;
    max-width: 680px;
  }
}

.soundtrack-ttl {
  width: 90vw;
  margin: 0 auto;
}

@media screen and (min-width: 960px) {
  .soundtrack-ttl {
    width: 90%;
    max-width: 680px;
  }
}

.music-box {
  width: 100%;
  max-width: 960px;
  margin: 30px auto;
}

.music-detail {
  margin: 0 0 60px;
}

@media screen and (min-width: 960px) {
  .music-detail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 0 100px;
  }
}

.small {
  font-size: .8em;
}

.music-jacket {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (min-width: 960px) {
  .music-jacket {
    display: block;
    width: 300px;
  }
}

.music-jacket-item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 2%;
}

.music-jacket-item p {
  line-height: 1.4;
}

@media screen and (min-width: 960px) {
  .music-txt {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin: 0 0 0 30px;
  }
}

.soundtrack .music-jacket {
  display: block;
  width: 100%;
  max-width: 220px;
  margin: 0 auto;
}

@media screen and (min-width: 960px) {
  .soundtrack .music-jacket {
    max-width: 300px;
  }
}

.music-jacket-img {
  display: block;
  margin: 0 auto 10px;
  -webkit-box-shadow: 0 0 20px rgba(248, 90, 124, 0.2);
          box-shadow: 0 0 20px rgba(248, 90, 124, 0.2);
}

.music-link {
  position: relative;
  padding-left: 2em;
  color: #1cb3f9;
  font-size: .8em;
  margin: .5em auto;
}

.music-link a {
  color: inherit;
  text-decoration: underline;
}

.music-link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.5em;
  height: 1.5em;
  background: url(../img/nyupre/icon.png) no-repeat center center;
  background-size: 100%;
}

.music-txt-ttl {
  display: inline-block;
  background: #eb2377;
  margin: 0 0 10px;
  padding: 3px 6px;
  border-radius: 100px;
  color: #fff;
  font-weight: bold;
}

.music-rec-list {
  padding: 0 2%;
  line-height: 1.4;
}

.music-rec-list dt {
  font-weight: bold;
}

.music-rec-list dd {
  font-size: .8em;
  margin: 0 0 1em;
}

.music-att {
  padding: 2%;
  font-size: .8em;
  line-height: 1.4;
}

.music-txt-item {
  margin: 20px 0;
}
/*# sourceMappingURL=style.css.map */