@charset "utf-8";
/*--****************************************

@PC - style.css
Copyright (c) ULM Co.,Ltd. - http://www.ulm-design.com

*****************************************--*/
#main{
  background: url(../img/top/bg.jpg) repeat-y top center;
  background-size: 100%;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  position: relative;
}

.ttl {
  margin: 0 auto;
  padding: 0 0 40px;
  text-align: center;
}

section {
  padding: 60px 0;
}


#pamphlet {
  background: url("../img/top/pamphlet/bg.jpg") no-repeat bottom center;
  background-size: cover;
  padding: 0 10px 10px;
  border: 1px solid #fff;
}

#pamphlet-ttl {
  width: 85%;
  margin: 0 auto;
  padding: 10px 0;
}

#pamphlet-list li{
  width: 50%;
  padding: 5px;
}

#pamphlet-list li a {
  display: block;
  transition: all .4s ease;
}

#pamphlet-list li a:hover {
  opacity: .7;
}

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

#main-img

-------------------------------*/
#main-img {
  position: relative;
  padding: 0;
}

#mainvisual-container {
  position: relative;
  padding: 0;
}

#mainvisual {
  position: absolute;
  top: -40%;
  left: 0;
  opacity: 0;
}

#mainvisual.show {
  animation: mainshow 3s cubic-bezier(0.73, 0.05, 1, 1) forwards;
}

@keyframes mainshow {
    0% {
      top: -40%;
      opacity: 0;
    }
    100% {
      top: 0;
      opacity: 1;
    }
}

.top-right{
  opacity: 0;
  position: absolute;
  top: 70px;
  right: 20px;
  padding: 0 20px;
  width: 350px;
}

/* .fadein {
  animation: fadein 4s ease-out 2s forwards;
}

@keyframes fadein {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
} */

#ttl {
  opacity: 0;
}

#roadshow {
  opacity: 0;
}

#txt0 {
  height: 0;
  opacity: 0;
  overflow: hidden;
  transition: 3s;
}

#txt0.show {
  animation: showdown 3s ease-out 300ms forwards;
}

@keyframes showdown {
    0% {
        height: 0;
        opacity: .3;
    }
    100% {
        height: 100%;
        opacity: 1;
    }
}

#txt0-0,#txt0-1 {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

#bnr0 {
  opacity: 0;
}
#bnr0 img {
  transition: opacity .6s ease;
}
#bnr0 img:hover {
  opacity: .5;
  transition: opacity .6s ease;
}

#bnr1 {
  opacity: 0;
}
#bnr1 img {
  transition: opacity .6s ease;
}
#bnr1 img:hover {
  opacity: .5;
  transition: opacity .6s ease;
}

#bnr2 {
  opacity: 0;
}
#bnr2 img {
  transition: opacity .6s ease;
}
#bnr2 img:hover {
  opacity: .5;
  transition: opacity .6s ease;
}

#txt1 {
  opacity: 0;
}

#txt0-1 {
  filter:blur(10px);
}

.blurtxt {
	-webkit-animation: blur .6s ease-in-out 2s 1 forwards;
	animation: blur .6s ease-in-out 2s 1 forwards;
}

@keyframes blur {
	0% {filter:blur(10px);}
	100% {filter:blur(0);}
}

/*--trailer-------------*/
#trailer{
  padding: 100px 10% 30px;
}

.trailer-list {
  padding: 20px 0 30px;
}

.trailer-list li {
  padding: 8px;
}

.movie-subttl {
  text-align: center;
  color: #b50a15;
  font-size: 1.8em;
  font-weight: bold;
  margin: 30px 0 0;
}

.movie-main {
  width: 60%;
  margin: 0 auto;
}

.movie-thumb-box {
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
     box-shadow: 0px 0px 20px #000;
}

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

.movie-thumb-list{
  /* max-width: 1132px;
  margin: 0 auto;
  padding: 10px 0; */
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content: center;
}

.movie-thumb-list li{
  /* width: 320px; */
  width: calc(100% / 4);
  padding: 30px 10px;
}

.movie-main:hover,
.movie-thumb-list li:hover {
    /* animation: hurueru .1s  infinite; */
}

@media all and (-ms-high-contrast: none) {
  .movie-thumb-list li{
    width: 25%;
  }
}

/*
.movie-thumb-list li:first-of-type {
  padding: 30px 20px 30px 0;
}

.movie-thumb-list li:last-of-type {
  padding: 30px 0 30px 20px;
}
*/

.movie-cap{
  padding: 15px;
  text-align: center;
  color: #fff;
  font-size: 16px;
}

.play-icon{
    color: #e60027;
    width: 52px;
    height: 58px;
    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{
  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;
  transition: color .3s ease;
}

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

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

#movie-thumb-container

-------------------------------*/
#movie-thumb-container{
  width: 300px;
  height: 168px;
  overflow: hidden;
  cursor: pointer;
  position: relative;
  border: 1px solid #7f1e1e;
}

#player-overlay{
  position: absolute;
  z-index: 1;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.6) url(../common/img/overlay.png) repeat;
  background-size: 2px 2px;
  opacity: 0.5;
  color: #ff0000;
}

#player-overlay:hover{
  opacity: 0.8;
}

#play-icon{
    width: 52px;
    height: 58px;
    font-size: 60px;
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    margin: auto;
    display: block;
    line-height: 1em;
  color: #b71d21;
  opacity: 0;
}

#player{
  margin-top: -100px;
}

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

pickup

-------------------------------*/
#pickup .ttl {
  padding: 20px 0 5px;
}

.bigbnr-list li{
  margin: 5px 0;
}

.bigbnr-list li a{
  display: block;
  border: 1px solid #fff;
  transition: opacity .6s ease;
}

.bigbnr-list li a:hover {
  opacity: .5;
}

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

menu

-------------------------------*/
.top-nav ul {
  width: 80%;
  margin: 0 auto;
}
.top-nav li {
  width: calc(100% / 3);
  padding: 1px;
}

@media all and (-ms-high-contrast: none) {
  .top-nav li {
    width: 33.3%;
  }
}

.top-nav li.top-nav-about {
  width: 100%;
}

.top-nav li a {
  display: block;
  border: 1px solid #fff;
  transition: opacity .6s ease;
}

.top-nav li a:hover {
  opacity: .5;
}

#menu .sns-container{
  width: calc(80% - 2px);
  margin: 0 auto;
  padding: 20px;
  border: 1px solid #fff;
}

.campaign-list {
  width: 80%;
  margin: 0 auto;
}

.campaign-list li {
  position: relative;
  border: 1px solid #ccc;
  margin: 1px;
}

.campaign-list li::after {
  content: "Campaign";
  font-size: 20px;
  background: #000;
  color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  padding: 5px 10px;
  letter-spacing: 5px;
}

.campaign-list li a {
  display: block;
  transition: opacity .6s ease;
}

.campaign-list li a:hover {
  opacity: .5;
}

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

link

-------------------------------*/
#billing {
  margin: 0 auto;
  text-align: center;
}

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

contents

-------------------------------*/
.overlay {
  display: none;
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  background: rgba(0,0,0,.9);
  width: 100%;
  height: 100%;
  min-height: 100vh;
  padding: 60px;
  overflow-y: scroll;
}

.overlay .contents-container {
  position: relative;
}

.overlay .contents-inner {
  position: relative;
  width: 960px;
  margin: 0 auto 60px;
  padding: 60px;
}

.overlay .contents-ttl{
  text-align: center;
  margin: 0 auto;
}

.overlay .txt{
  line-height: 2;
  word-break: normal;
  font-size: 16px;
}

.close-btn {
  position: absolute;
  top: 20px;
  right: 20px;
  /*border: 2px solid #fff;*/
  border-radius: 50px;
  width: 80px;
  height: 80px;
  cursor: pointer;
  transition: opacity .2s ease;
  opacity: .7;
}

.close-btn:hover {
  opacity: 1;
}

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

#comment

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

.comment-box {
  display: -webkit-flex;
  display: flex;
  padding: 60px 0;
}

.comment-txt {
  padding: 0 0 0 30px;
}

.comment-name {
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  padding: 0 0 20px 0;
}

.comment-name span{
  font-size: .7em;
}
