/*******************************
loading
*******************************/
#loading {
  width: 100%;
  height: 100%;
  background: black;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 20000; }
  #loading div {
    position: absolute;
    width: 100%;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    text-align: center;
    overflow: hidden;
    position: relative;
    padding: 0.25em 0;
    box-sizing: content-box; }
  #loading .txt01 {
    -webkit-animation: blink 1.5s ease-in-out infinite alternate;
    -moz-animation: blink 1.5s ease-in-out infinite alternate;
    animation: blink 1.5s ease-in-out infinite alternate;
    color: #fff;
    font-size: 150%; }

@-webkit-keyframes blink {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-moz-keyframes blink {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes blink {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/*******************************
effect
*******************************/
.fadeUp {
  opacity: 0;
  transition: opacity 1s; }
  .fadeUp.is-inview {
    opacity: 1; }

/*******************************
mv
*******************************/
#mvWrap {
  background: #000000; }
  #mvWrap.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%; }
  #mvWrap.stuck {
    z-index: -5; }

#mv .mv01 {
  width: 1000px;
  max-width: 100%;
  display: block;
  margin: 0 auto;
  pointer-events: none; }

@media screen and (max-width: 599px) {
  .innerCommon {
    padding: 0 3.7%;
    width: 100%; } }

.titleCommon01 {
  text-align: center;
  font-family: bookmania, serif;
  font-weight: 600;
  color: #cc2f30;
  font-size: 3.85vw;
  letter-spacing: 0.05em;
  line-height: 1.4;
  margin-bottom: 0.25em; }
  @media screen and (max-width: 599px) {
    .titleCommon01 {
      font-size: 2.7em; } }

.btnCommon01 {
  width: 25em;
  margin: 3em auto 0; }
  @media screen and (max-width: 599px) {
    .btnCommon01 {
      width: 10.714em;
      margin: 1.785em auto 0; } }
  .btnCommon01 a {
    display: block;
    text-align: center;
    font-family: bookmania, serif;
    font-weight: 600;
    color: #fff;
    font-size: 2em;
    background: #000;
    padding: 0.65em 0 0.3em;
    line-height: 1; }
    @media screen and (max-width: 599px) {
      .btnCommon01 a {
        font-size: 1.428em; } }

/*******************************
introduction
*******************************/
#announcement {
  background: #cc2f30;
  color: #fff;
  padding: 0 0 2em; }
  #announcement p {
    text-align: center;
    font-size: 275%;
    font-family: 'Noto Serif JP', serif;
    font-weight: 900;
    padding: 0.25em 3.7% 0; }
    @media screen and (max-width: 599px) {
      #announcement p {
        font-size: 200%;
        line-height: 1.1;
        padding: 1em 0 0.75em; } }
    #announcement p .txt01 {
      font-size: 150%; }
    #announcement p .txt02 {
      font-family: bookmania, serif; }
    #announcement p .txt03 {
      font-size: 125%; }
    #announcement p .txt04 {
      font-family: bookmania, serif;
      font-size: 125%; }
  #announcement .schedule {
    text-align: center;
    margin-top: -0.5em; }
    #announcement .schedule ul {
      display: inline-block;
      text-align: left;
      font-family: 'Noto Serif JP', serif;
      font-weight: 900;
      font-size: 225%;
      line-height: 1.25; }
      @media screen and (max-width: 599px) {
        #announcement .schedule ul {
          font-size: 150%; } }
      #announcement .schedule ul li {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 0.25em; }
        #announcement .schedule ul li:first-child {
          justify-content: flex-start; }
        #announcement .schedule ul li .box01 {
          width: 3em;
          white-space: nowrap; }
        #announcement .schedule ul li .box02 {
          margin: -0.3em 0 0 0.3em; }
        #announcement .schedule ul li .txt01 {
          font-size: 150%; }
        #announcement .schedule ul li .txt02 {
          margin-left: 0.15em; }

/*******************************
introduction
*******************************/
#introduction {
  background: url(/roze/common/images/bg01.png) 60% 0 no-repeat;
  background-size: cover;
  padding: 5em 0; }
  #introduction p {
    text-align: center; }
  #introduction .line01 {
    width: 8em;
    height: 1px;
    margin: 2.5em auto;
    background: #cc2f30; }
    @media screen and (max-width: 599px) {
      #introduction .line01 {
        margin: 2em auto; } }

/*******************************
movie
*******************************/
#movie {
  padding-top: 5em;
  overflow: hidden; }
  @media screen and (max-width: 599px) {
    #movie {
      padding-top: 4.25em; } }
  #movie .slide01 .slick-slide {
    margin-right: 0.5em;
    margin-left: 0.5em; }
    @media screen and (max-width: 599px) {
      #movie .slide01 .slick-slide {
        margin-right: 1.2vw;
        margin-left: 1.2vw; } }
  #movie .slide01 {
    max-width: 100%;
    margin: 0 auto; }
    #movie .slide01 a {
      position: relative;
      display: block;
      background: #100000; }
      #movie .slide01 a .thumbnail01 {
        width: 100%;
        opacity: 0.4;
        -webkit-transition: all 0.5s ease;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        transition: all 0.5s ease; }
      #movie .slide01 a .play {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        display: flex;
        justify-content: center;
        align-items: center;
        background: rgba(255, 255, 255, 0.5);
        width: 4em;
        height: 4em;
        border: 1px solid #fff;
        border-radius: 100%;
        -webkit-transition: all 0.5s ease;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        transition: all 0.5s ease; }
        @media screen and (max-width: 599px) {
          #movie .slide01 a .play {
            width: 3.5em;
            height: 3.5em; } }
        #movie .slide01 a .play img {
          width: 1.5em;
          margin-left: 0.35em; }
      #movie .slide01 a:hover {
        opacity: 1; }
        #movie .slide01 a:hover .thumbnail01 {
          opacity: 0.6; }
        #movie .slide01 a:hover .play {
          background: #cc2f30;
          border: 1px solid #cc2f30; }
  @media screen and (max-width: 599px) {
    #movie .one {
      padding: 0 3.7%; } }
  #movie .one li {
    width: 1000px;
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: center; }
    #movie .one li a {
      position: relative;
      display: block;
      background: #100000; }
      #movie .one li a .thumbnail01 {
        width: 100%;
        opacity: 0.4;
        -webkit-transition: all 0.5s ease;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        transition: all 0.5s ease; }
      #movie .one li a .play {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        display: flex;
        justify-content: center;
        align-items: center;
        background: rgba(255, 255, 255, 0.5);
        width: 4em;
        height: 4em;
        border: 1px solid #fff;
        border-radius: 100%;
        -webkit-transition: all 0.5s ease;
        -moz-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        transition: all 0.5s ease; }
        @media screen and (max-width: 599px) {
          #movie .one li a .play {
            width: 3.5em;
            height: 3.5em; } }
        #movie .one li a .play img {
          width: 1.5em;
          margin-left: 0.35em; }
      #movie .one li a img {
        width: 100%; }
      #movie .one li a:hover {
        opacity: 1; }
        #movie .one li a:hover .thumbnail01 {
          opacity: 0.6; }
        #movie .one li a:hover .play {
          background: #cc2f30;
          border: 1px solid #cc2f30; }
    #movie .one li iframe {
      width: 100%;
      height: 35.25em;
      vertical-align: top; }
      @media screen and (max-width: 599px) {
        #movie .one li iframe {
          width: 100%;
          height: 52vw; } }

/*******************************
news
*******************************/
#news {
  margin-top: 6.5em; }
  @media screen and (max-width: 599px) {
    #news {
      margin-top: 5em; } }
  #news #newsList {
    width: 1200px;
    max-width: 95%;
    margin: 0 auto; }
    @media screen and (max-width: 599px) {
      #news #newsList {
        width: auto; } }
    #news #newsList li:not(:last-child) {
      border-bottom: 1px solid #e69798; }
    #news #newsList li:first-child a {
      padding-top: 0; }
    #news #newsList li:last-child a {
      padding-bottom: 0; }
    #news #newsList li a {
      display: block;
      padding: 1.125em 0; }
      #news #newsList li a dl {
        display: flex; }
        #news #newsList li a dl dt {
          font-family: bookmania, serif;
          font-weight: 400;
          width: 18%;
          white-space: nowrap;
          margin-top: 0.25em; }
          @media screen and (max-width: 599px) {
            #news #newsList li a dl dt {
              width: 25%; } }
        #news #newsList li a dl dd {
          width: 82%; }
          @media screen and (max-width: 599px) {
            #news #newsList li a dl dd {
              width: 75%; } }

/*******************************
sns
*******************************/
#sns {
  margin-top: 6.5em; }
  @media screen and (max-width: 599px) {
    #sns {
      margin-top: 5em; } }
  #sns .innerCommon {
    display: flex;
    justify-content: space-between;
    width: 1200px;
    max-width: 95%;
    margin: 0 auto; }
    @media screen and (max-width: 599px) {
      #sns .innerCommon {
        display: block; } }
  #sns h2 {
    text-align: center;
    font-family: 'Noto Serif JP', serif;
    font-weight: 600;
    font-size: 1.5em;
    color: #000;
    letter-spacing: 0.1em;
    margin-bottom: 1.5em; }
    @media screen and (max-width: 599px) {
      #sns h2 {
        font-size: 1.07em; } }
    #sns h2 a {
      display: block; }
    #sns h2 img {
      display: block;
      margin: 0 auto;
      height: 2em; }
  #sns #twitter {
    width: 48%; }
    @media screen and (max-width: 599px) {
      #sns #twitter {
        width: 100%; } }
    #sns #twitter .twitter-timeline {
      width: 100% !important; }
  #sns #youtube {
    width: 48%; }
    @media screen and (max-width: 599px) {
      #sns #youtube {
        width: 100%;
        margin-top: 4em; } }
    #sns #youtube h3 {
      width: 8em;
      max-width: 100%;
      margin: -1.5em auto 0;
      margin-bottom: 0.75em; }
      #sns #youtube h3 a {
        display: block; }
    #sns #youtube iframe {
      width: 100%;
      height: 19em;
      display: block; }
      @media screen and (max-width: 599px) {
        #sns #youtube iframe {
          height: 13em; } }
    #sns #youtube .link {
      margin-top: 1em;
      text-align: center; }
      #sns #youtube .link a {
        display: block; }
        #sns #youtube .link a span {
          display: block; }
        #sns #youtube .link a strong {
          display: block;
          font-size: 200%;
          line-height: 1.2; }
          @media screen and (max-width: 1200px) {
            #sns #youtube .link a strong {
              font-size: 155%; } }

/*******************************
footer
*******************************/
footer {
  margin-top: 5.7em; }
