@charset "utf-8";
/*--****************************************
site : idolish7
@PC - story.css
Copyright (c) ULM Co.,Ltd. - http://www.ulm-design.com

*****************************************--*/
@media (min-width: 769px) {
#story{
  
}

.coming-txt {
  text-align: center;
  padding: 100px;
  font-size: 20px;
}

#main{
  position: relative;
}

#contents{
  padding: 140px 0 120px 0;
  position: relative;
  z-index: 1;
}

.story-contents-ttl{
  text-align: center;
  margin: 0 0 50px 0;
}

#story-container{
  margin: 0 auto 100px auto;
}

#story-nav{
  width: 1024px;
  margin: 0 auto 50px auto;
  padding: 10px 0 20px 0;
  border-top: 1px solid #dcdcdc;
  border-bottom: 1px solid #dcdcdc;
  justify-content: space-between;
}

.story-nav-inner {
  width: 330px;
  /* padding: 0 0 10px 0; */
  /* border-bottom: 1px solid #dcdcdc; */
  justify-content: space-between;
}

.story-nav-sub-ttl {
  width: 100%;
  padding: 0 0 10px;
  text-align: center;
  font-size: 12px;
}

.story-nav-box{
  width: 160px;
  height: 40px;
  box-sizing: border-box;
}

.story-nav-btn{
  display: block;
  border: 1px solid #a0a0a0;
  line-height: 38px;
  font-size: 14px;
  text-align: center;
  color: #a0a0a0;
}

.onpu{
  padding: 0 8px 0 0;
  width: 8px;
  height: 14px;
}

.story-nav-btn.act,
.story-nav-btn:hover{
  background: #285ebb;
  color: #fff;
  border: 1px solid #285ebb;
}

.icon-svg path{
  color: #a0a0a0;
  fill: #a0a0a0;
}

.story-nav-btn.act .icon-svg path,
.story-nav-btn:hover .icon-svg path{
  color: #fff;
  fill: #fff;
}


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

introduction

************************************--*/
#intro-container{
  width: 1130px;
  margin: 50px auto 0 auto;
  position: relative;
  font-family: fot-tsukumin-pr6n,;
}


#intro-txt-container{
  width: 700px;
  position: absolute;
  top:152px;
  left: 445px;
}


.intro-bg{
  width: 100%;
  height: auto;
}


.intro-main-img{
  -webkit-transition: all 3.2s ease-in;
  transition: all 3.2s ease-in;
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
  opacity: 0;
}


.intro-main-img.show{
  transform: scale(1);
  opacity: 1;
}


.intro-txt-line-outer{
  opacity: 0;
  overflow: hidden;
}

.intro-txt-line{
  font-size: 16px;
  display: inline-block;
  height: 40px;
  line-height: 40px;
  color: #fff;
  margin: 0 0 20px 0;
  padding: 0 5px;
}


.line0{ background: rgba(13,50,111,0.9); }
.line1{ background: rgba(103,175,40,0.9); }
.line2{ background: rgba(240,131,0,0.9); }
.line3{ background: rgba(91,194,217,0.9); }
.line4{ background: rgba(133,109,175,0.9); }
.line5{ background: rgba(216,191,63,0.9); }
.line6{ background: rgba(230,0,57,0.9); }


.intro-ruby {
  -moz-transform: translateY(8px) scale(0.8);
  /* -webkit-transform: translateY(0px) scale(0.8); */
  transform: translateY(-1px) scale(0.7);
}


.ls0{
  letter-spacing: 0px;
}

_::-webkit-full-page-media, _:future, :root .line3-inner{
  top: 0px;
}


_::-webkit-full-page-media, _:future, :root .intro-ruby{
  -webkit-transform: translateY(0px) scale(0.8);
  transform: translateY(0px) scale(0.8);
}

#intro2-txt-container {
  width: 1024px;
  margin: 0 auto;
}

.intro2-txt-block {
  font-size: 16px;
  color: #000;
  margin: 0 0 20px 0;
  line-height: 2.5em;
  text-align: center;
  background: rgba(255,255,255,.8);
  padding: 40px 0;
  border: 1px solid rgba(0,0,0,.1);
}

@-moz-document url-prefix() {
  
  .intro-ruby{
    position: relative;
    top: 9px;
  }
  
  .line3-inner{
    position: relative;
    top: -3px;
  }
    
}


@media all and (-ms-high-contrast:none){
  .line3-inner{
    position: relative;
    top: -3px;
  }
  
  
  .intro-ruby{
    -webkit-transform: translateY(0px) scale(0.8);
    transform: translateY(0px) scale(0.8);
  }
  
}

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

story

************************************--*/
#story-detail-container{
  width: 1024px;
  margin: 0 auto 40px auto;
  padding: 40px 70px;
  background: rgba(255,255,255,0.7);
  box-sizing: border-box;
  border: 1px solid #f0e8e7;
}


#story-ttl{
  text-align: center;
  font-size: 24px;
  display: table;
  margin: 0 auto 30px auto;
  padding: 0 0 20px 0;
  position: relative;
}


#story-ttl:after{
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background:-webkit-linear-gradient(left, transparent, #a0a0a0, transparent);
  background:linear-gradient(to right, transparent, #a0a0a0, transparent);
  position: absolute;
  z-index: 1;
  left: 0px;
  bottom: 0px;
}

#story-thumb-container{
  padding: 0 0 45px 0;
}


#story-main-thumb{}

.story-main-thumb-img{
  width: 100%;
  height: auto;
}


.story-thumb-nav-box{
  position: relative;
  cursor: pointer;
}


.story-thumb-nav-box:after{
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 1;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  box-sizing: border-box;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}


.story-thumb-nav-box.act:after{
  border: 2px solid #285ebb;
  background: rgba(255,255,255,0.5);
}

.story-thumb-nav-box-img{
  width: 100%;
}

#story-movie-container{
  padding: 0 50px;
}

.story-txt-ttl{
  font-size: 18px;
  padding: 0 0 20px 0;
  position: relative;
  color: #a0a0a0;
}

.story-txt-ttl:after{
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background:-webkit-linear-gradient(left, #a0a0a0, transparent);
  background:linear-gradient(to right, #a0a0a0, transparent);
  position: absolute;
  z-index: 1;
  left: 0px;
  bottom: 12px;
}


#story-txt-content{
  line-height: 1.5em;
  padding: 0 0 40px 0;
}

#story-staff-content{
  padding: 0 0 50px 0;
  line-height: 1.4em;
}

.movie-thumb-box{
  width: 680px;
  height: 383px;
  border-radius: 5px;
  overflow: hidden;
  background: #000;
  position: relative;
}

.movie-start-btn{
  width: 60px;
  height: 60px;
  background: #fff;
  border-radius: 30px;
  position: absolute;
  z-index: 1;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  margin: auto;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.movie-start-btn:before{
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  top: 16px;
  left: 20px;
  border-top: 15px solid transparent;
  border-right: 15px solid transparent;
  border-bottom: 15px solid transparent;
  border-left: 25px solid #000;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.movie-start-btn:after{
  content: "";
  display: block;
  width: 64px;
  height: 64px;
  border: 1px solid #fff;
  border-radius: 32px;
  box-sizing: border-box;
  position: absolute;
  z-index: -1;
  top: -2px;
  left: -2px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.movie-thumb-box:hover .movie-start-btn{
  background: #2bd0fe;
}


.movie-thumb-box:hover .movie-start-btn:before{
  border-left: 25px solid #fff;
}

.movie-thumb-box:hover .movie-start-btn:after{
  border: 1px solid #2bd0fe;
}

.movie-thumb {
  opacity: 0.7;
  width: 680px;
  height: 383px;
  object-fit: cover;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

.movie-thumb-box:hover .movie-thumb {
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
}

#story-nav-container {
  width: 1280px;
  margin: 0 auto 50px;
}

#story-nav-scroll-container {
  width: 1024px;
  margin: 0 auto ;
  overflow: hidden;
}

#story-nav-container-inner {
  min-height: 160px;
  margin: 0 auto;
  white-space: nowrap;
  overflow-x: scroll;
  overflow-y: hidden;
  padding-bottom: 10px;
}

#story-nav-container-inner::-webkit-scrollbar {
  width: 4px;
  height: 4px;
  background-color: #eee; 
}
#story-nav-container-inner::-webkit-scrollbar-thumb {
  background: #285ebb;
  width: 4px;
  height: 4px;
}

.story-box {
  width: 240px;
  margin: 0 20px 0 0;
  display: inline-block;
}

.story-box-link {
  display: block;
  color: #000;
}

.story-box:last-child {
  margin: 0;
}

.story-box-thumb{
  width: 240px;
  height: 135px;
  overflow: hidden;
  margin: 0 0 5px 0;
}

.story-box-thumb-img{
  width: 240px;
  height: 135px;
}

.story-box .story-ttl {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  line-height: 1.5em;
}


#story-detail-outer {
  display: flex;
  flex-wrap: wrap-reverse;
}

#story-control-container {
  width: 1024px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

.story-control-btn {
  width: 450px;
}

.story-control-btn a {
  display: block;
  padding: 20px 30px 28px;
  background: rgba(255,255,255,0.7);
  box-sizing: border-box;
  border: 1px solid #f0e8e7;
  color: #000;
  font-size: 16px;
}

.story-control-btn a span {
  display: inline-block;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  width: 90%;
  padding: 5px 0;
  margin: 0px 0 -8px 0;
}


.next-btn {
  text-align: right;
}

}

@media (max-width: 768px) {
  #story{
  
  }
  
  .coming-txt {
    text-align: center;
    padding: 100px 0;
  }
  
  #main{
    position: relative;
  }
  
  #contents{
    padding: 80px 0 0 0;
    position: relative;
    z-index: 1;
    min-height: 100vh;
    box-sizing: border-box;
  }
  
  .story-contents-ttl{
    text-align: center;
    margin: 0 0 8% 0;
  }

  .story-contents-ttl img{
    width: 100%;
    height: auto;
  }
  
  #story-container{
    margin: 0 auto 100px auto;
  }
  
  #story-nav{
    width: 94%;
    margin: 0 auto 8% auto;
    display: block;
    border-top: 1px solid #dcdcdc;
  }
  
  .story-nav-inner {
    width: 100%;
    padding: 0 0 10px 0;
    border-bottom: 1px solid #dcdcdc;
    justify-content: space-between;
  }
  
  .story-nav-sub-ttl {
    width: 100%;
    padding: 10px 0;
    text-align: center;
    font-size: 12px;
  }
  
  
  .story-nav-box{
    width: 48%;
    height: 35px;
    box-sizing: border-box;
  }
  
  /*.story-nav-box:nth-child(1){
    width: 96%;
    height: 40px;
    margin: 0 2% 2%;
    box-sizing: border-box;
  }*/
  
  .story-nav-btn{
    display: block;
    border: 1px solid #a0a0a0;
    line-height: 33px;
    height: 100%;
    font-size: 14px;
    text-align: center;
    color: #a0a0a0;
    background: rgba(255,255,255,.8);
  }
  
  .onpu{
    padding: 0 8px 0 0;
    width: 7px;
    height: 13px;
  }
  .onpu-mini{
    width: 8px;
    height: 15px;
  }
  
  .story-nav-btn.act{
    background: #285ebb;
    color: #fff;
    border: 1px solid #285ebb;
  }
  
  .story-nav-btn.act .icon-svg path{
    color: #fff;
    fill: #fff;
  }
  
  
  /*--***********************************
  
  introduction
  
  ************************************--*/
  #intro-container{
    width: 100%;
    margin: 50vh auto 0 auto;
    position: relative;
    font-family: fot-tsukumin-pr6n,;
  }

  .intro2 {
    margin: 0 auto 100px auto !important;
    padding: 0 0 1px;
  }
  
  
  #intro-txt-container{
    width: 94%;
    margin: 0 auto;
  }
  
  
  .intro-bg{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  #intro-main {
    display: none;
  }
  .intro-txt-line-outer {
    opacity: 0;
  }
  
  .intro-txt-line{
    font-size: 14px;
    display: inline-block;
    line-height: 2.4em;
    color: #fff;
    margin: 0 0 20px 0;
    padding: 0 5px;
    /*width: auto !important;*/
  }
  
  .line3{
    line-height: 1.8em;
  }
  
  .line-inner0,
  .line-inner1,
  .line-inner2,
  .line-inner3,
  .line-inner4,
  .line-inner5,
  .line-inner6{
    padding: 3px 0;
  }
  .line-inner0{ background: rgba(13,50,111,0.9); }
  .line-inner1{ background: rgba(103,175,40,0.9); }
  .line-inner2{ background: rgba(240,131,0,0.9); }
  .line-inner3{ background: rgba(91,194,217,0.9); }
  .line-inner4{ background: rgba(133,109,175,0.9); }
  .line-inner5{ background: rgba(216,191,63,0.9); }
  .line-inner6{ background: rgba(230,0,57,0.9); }
  /*.line0{ background: rgba(13,50,111,0.9); }
  .line1{ background: rgba(103,175,40,0.9); }
  .line2{ background: rgba(240,131,0,0.9); }
  .line3{ background: rgba(91,194,217,0.9); }
  .line4{ background: rgba(133,109,175,0.9); }
  .line5{ background: rgba(216,191,63,0.9); }
  .line6{ background: rgba(230,0,57,0.9); }*/

  
  .intro-ruby{
    -webkit-transform: translateY(9px) scale(0.7);
    transform: translateY(0px) scale(0.7);
  }
  
  
  .ls0{
    letter-spacing: 0px;
  }
  
  #intro2-txt-container {
    width: 94%;
    margin: 0 auto;
  }
  
  .intro2-txt-block {
    font-size: 13px;
    color: #000;
    margin: 0 0 20px 0;
    line-height: 2em;
    text-align: center;
    background: rgba(255,255,255,.6);
    padding: 4% 0;
    border: 1px solid rgba(0,0,0,.1);
  }
  
  
  /*--***********************************
  
  story
  
  ************************************--*/
  #story-detail-container{
    width: 94%;
    margin: 0 auto 8% auto;
    padding: 5%;
    background: rgba(255,255,255,0.7);
    box-sizing: border-box;
    border: 1px solid #f0e8e7;
  }
  
  
  #story-ttl{
    text-align: center;
    font-size: 18px;
    display: table;
    margin: 0 auto 5% auto;
    padding: 0 0 10px 0;
    position: relative;
  }
  
  
  #story-ttl:after{
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background:-webkit-linear-gradient(left, transparent, #a0a0a0, transparent);
    background:linear-gradient(to right, transparent, #a0a0a0, transparent);
    position: absolute;
    z-index: 1;
    left: 0px;
    bottom: 0px;
  }
  
  
  #story-thumb-container,
  #story-txt-container{
    padding: 0 0 5% 0;
  }
  
  #story-staff-content {
    line-height: 1.4em;
  }
  
  
  #story-main-thumb{
    line-height: 0em;
  }
  
  
  .story-main-thumb-img{
    width: 100%;
  }
  
  
  .story-thumb-nav-box{
    position: relative;
    width: 100%;
  }
  
  .story-thumb-nav-box:before{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 2;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    box-sizing: border-box;
    transition: all 0.1s ease;
  }
  
  .story-thumb-nav-box.act:before{
    background: rgba(255,255,255,0.5);
    border: 2px solid #285ebb;
  }
  
  
  .story-thumb-nav-box:after{
    content: "";
    display: block;
    padding-top: 100%;
  }
  
  
  .story-thumb-nav-box-img{
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
    top: 0px;
    left: 0px;
    object-fit: cover;
  }
  
  
  .story-txt-ttl{
    font-size: 16px;
    padding: 0 0 20px 0;
    position: relative;
    color: #a0a0a0;
  }
  
  .story-txt-ttl:after{
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background:-webkit-linear-gradient(left, #a0a0a0, transparent);
    background:linear-gradient(to right, #a0a0a0, transparent);
    position: absolute;
    z-index: 1;
    left: 0px;
    bottom: 12px;
  }
  
  
  #story-txt-content{
    line-height: 1.4em;
    padding: 0 0 5% 0;
  }
  
  
  .movie-thumb-box{
    width: 100%;
    border-radius: 5px;
    overflow: hidden;
    position: relative;
  }
  
  
  .movie-thumb-box:before {
    content:"";
    display: block;
    padding-top: 56.25%;/* 高さと幅の比を16:9に固定。9/16*100=56.25 */
  }
  
  
  #youtube{
    position: absolute;
    z-index: 1;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
  }
  
  
  #story-nav-container{
    width: 100%;
    margin: 0 auto 8% auto;
  }
  
  
  #story-nav-scroll-container{
    width: 100%;
    margin: 0 auto;
    padding: 0 0 5px;
    overflow-y: hidden;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
  }
  #story-nav-scroll-container::-webkit-scrollbar {
    width: 3px;
    height: 3px;
    background-color: #eee; 
  }
  #story-nav-scroll-container::-webkit-scrollbar-thumb {
    background: #285ebb;
    width: 3px;
    height: 3px;
  }

  
  #story-nav-container-inner{
    margin: 0 auto;
    padding: 0 3%;
    white-space: nowrap;
  }
  
  
  .story-box{
    width: 120px;
    margin: 0 3% 0 0;
    display: inline-block;
  }
  
  
  .story-box-link{
    display: block;
    color: #000;
  }
  
  
  .story-box-thumb{
    width: 100%;
    height: auto;
    overflow: hidden;
    margin: 0 0 5px 0;
  }
  
  .story-box-thumb-img{
    width: 100%;
    height: auto;
  }
  
  .story-box .story-ttl {
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    line-height: 1.5em;
  }
  
  #story-control-container {
    width: 94%;
    margin: 0 auto 20%;
    display: flex;
    justify-content: space-between;
  }
  
  .story-control-btn {
    width: 49%;
  }
  
  .story-control-btn a {
    display: block;
    padding: 10px 10px 20px;
    background: rgba(255,255,255,0.7);
    box-sizing: border-box;
    border: 1px solid #f0e8e7;
    color: #000;
    font-size: 14px;
  }
  
  .story-control-btn a span {
    display: inline-block;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    width: 85%;
    padding: 5px 0;
    margin: 0px 0 -8px 0;
  }
  
  
  .next-btn {
    text-align: right;
  }
  
}