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

@PC - style.css v5.0.0

(c) ULM Co.,Ltd. - https://www.ulm-design.com
************************************************/
.w100 {
  width: 100%;
}

#kamifubuki {
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: -1;
}

#particles-js {
  position: fixed;
  z-index: -1;
  width: 100%;
  height: 100%;
}

#particles-js::after {
  content: "";
  background: url(../img/common/bg_sp.jpg) no-repeat center;
  background-size: cover;
  top: 0;
  left: 0;
  z-index: -2;
  width: 100%;
  height: 100vh;
  display: block;
  position: fixed;
}

@media screen and (min-width: 1024px) {
  #particles-js {
    background: url(../img/common/bg_pc.jpg) no-repeat top center;
    background-size: cover;
    background-attachment: fixed;
    width: 100%;
    height: 100%;
    z-index: -2;
  }
  #particles-js::after {
    background: none;
  }
}

.top-nav {
  position: fixed;
  width: 21%;
  bottom: 1%;
  right: 2%;
  z-index: 3;
}

@media screen and (min-width: 1024px) {
  .top-nav {
    width: 130px;
  }
}

.theater-nav {
  width: 86%;
  margin: 10% auto 0;
}

.main-chara, .logo, .rs, .copy0, .copy1, .main-bg1 {
  opacity: 0;
}

.main-chara.scalein, .logo.scalein, .rs.scalein, .copy0.scalein, .copy1.scalein, .main-bg1.scalein {
  animation: scalein 1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

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

.contents-ttl {
  margin: 0 auto 6%;
}

@media screen and (min-width: 1024px) {
  .contents-ttl {
    margin: 0 auto 60px;
    width: 600px;
  }
}

#wrapper {
  position: relative;
  width: 100%;
}

.top-container {
  position: relative;
}

.logo {
  position: absolute;
  width: 51%;
  bottom: 0;
  left: 22%;
  z-index: 1;
}

@media screen and (min-width: 1024px) {
  .logo {
    width: 35%;
    margin: 0 auto;
    left: 0;
    right: 0;
  }
}

.rs {
  width: 33%;
  /* margin: 4% auto 3%; */
  position: absolute;
  bottom: 2%;
  right: 0;
  z-index: 1;
}

@media screen and (min-width: 1024px) {
  .rs {
    width: 25%;
    bottom: 2%;
    right: 5%;
  }
}

.main-chara {
  position: absolute;
  width: 97%;
  bottom: 8%;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 1;
}

@media screen and (min-width: 1024px) {
  .main-chara {
    width: 94%;
    bottom: 0;
  }
}

.main-bg0 {
  top: 0;
  left: 0;
  right: 0;
  z-index: -1;
  overflow: hidden;
}

@media screen and (min-width: 1024px) {
  .main-bg0 {
    margin: -3% auto 0;
  }
}

.main-bg1, .main-bg2 {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
  overflow: hidden;
}

.copy0 {
  position: absolute;
  width: 11%;
  top: 12%;
  right: 1%;
  z-index: 1;
}

@media screen and (min-width: 1024px) {
  .copy0 {
    width: 6%;
  }
}

.copy1 {
  position: absolute;
  width: 16%;
  top: 62%;
  left: 2%;
  z-index: 1;
}

@media screen and (min-width: 1024px) {
  .copy1 {
    width: 9%;
    top: 62%;
    left: 1%;
  }
}

.billing {
  width: 88%;
  margin: 50px auto 0;
}

@media screen and (min-width: 1024px) {
  .billing {
    width: 450px;
    margin: 80px auto 0;
  }
}

.tv-bnr {
  width: 50%;
  margin: 0 auto 4%;
  display: block;
}

@media screen and (min-width: 1024px) {
  .tv-bnr {
    width: 260px;
    margin: 40px auto 20px;
  }
}

.bf-bnr {
  width: 50%;
  margin: 0 auto 20px;
}

@media screen and (min-width: 1024px) {
  .bf-bnr {
    width: 240px;
    margin: 0 auto 30px;
  }
}

#top .top-nav {
  display: none;
}

#mvtk-widgets-container {
  margin: 7% auto;
}

@media screen and (min-width: 1024px) {
  #mvtk-widgets-container {
    margin: 40px auto;
  }
}

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

#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: -1;
}

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

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

.btn-wrap {
  margin: 12% auto 0;
}

@media screen and (min-width: 1024px) {
  .btn-wrap {
    display: flex;
    justify-content: center;
    margin-top: 20px;
    margin-bottom: 30px;
  }
}

.quiz-cp {
  width: 85%;
  margin: 2% auto;
  display: block;
}

@media screen and (min-width: 1024px) {
  .quiz-cp {
    width: 450px;
    margin: 0 15px;
  }
}

.photo-cp {
  width: 85%;
  margin: 2% auto;
  display: block;
}

@media screen and (min-width: 1024px) {
  .photo-cp {
    width: 450px;
    margin: 0 15px;
  }
}

.lunchcp {
  width: 85%;
  margin: 2% auto;
  display: block;
}

@media screen and (min-width: 1024px) {
  .lunchcp {
    width: 450px;
    margin: 0 15px;
  }
}

.ringcp {
  width: 85%;
  margin: 2% auto 10%;
  display: block;
}

@media screen and (min-width: 1024px) {
  .ringcp {
    width: 450px;
    margin: 0 auto 80px;
  }
}

.kome-lead {
  line-height: 1.5;
  color: #ff346e;
  font-weight: bold;
  margin-top: 20px;
}

.kome-lead .heart {
  width: 3%;
  display: inline-block;
  margin: 0 2px 0 2px;
}

@media screen and (min-width: 1024px) {
  .kome-lead {
    font-size: 16px;
    text-align: center;
  }
  .kome-lead .heart {
    width: 12px;
  }
}

.lunchcp-lead {
  line-height: 1.5;
  color: #ff346e;
  font-weight: bold;
  margin-top: 20px;
}

.lunchcp-lead .heart {
  width: 3%;
  display: inline-block;
  margin: 0 2px 0 2px;
}

@media screen and (min-width: 1024px) {
  .lunchcp-lead {
    font-size: 16px;
    text-align: center;
  }
  .lunchcp-lead .heart {
    width: 12px;
  }
}

.standy-img {
  width: 80%;
  margin: 20px auto 0;
}

@media screen and (min-width: 1024px) {
  .standy-img {
    width: 50%;
  }
}

.plate-img {
  width: 80%;
  margin: 20px auto 0;
}

@media screen and (min-width: 1024px) {
  .plate-img {
    width: 80%;
  }
}

.kome-txt-wrapper {
  background: #fff;
  margin: 6% auto;
  padding: 3% 3% 5%;
  border-radius: 20px;
}

@media screen and (min-width: 1024px) {
  .kome-txt-wrapper {
    font-size: 16px;
    padding: 2px 15px 25px;
  }
}

.lunchcp-txt-wrapper {
  background: #fff;
  margin: 6% auto;
  padding: 3% 3% 5%;
  border-radius: 20px;
}

@media screen and (min-width: 1024px) {
  .lunchcp-txt-wrapper {
    font-size: 16px;
    padding: 2px 15px 25px;
  }
}

.kome-dt,
.lunchcp-dt {
  font-size: 1em;
  font-weight: bold;
  margin: 2% auto;
  background: #ff346e;
  color: #fff;
  display: inline-block;
  padding: 5px 6px;
  border-radius: 100px;
}

@media screen and (min-width: 1024px) {
  .kome-dt,
  .lunchcp-dt {
    font-size: 16px;
    margin: 16px auto;
    padding: 6px 8px;
  }
}

.kome-dd,
.lunchcp-dd {
  font-weight: bold;
  line-height: 1.4;
  color: #5e4d48;
  margin-left: 2%;
}

.kome-dd a,
.lunchcp-dd a {
  color: #ff346e;
  text-decoration: underline;
}

.kome-dd span,
.lunchcp-dd span {
  color: #ff346e;
}

@media screen and (min-width: 1024px) {
  .kome-dd,
  .lunchcp-dd {
    margin-left: 5px;
  }
}

.kome-list {
  background: #fff;
  margin: 3% auto;
  border-radius: 20px;
}

.kome-list dd:last-child .list-pref {
  border-radius: 0 0 0 20px;
}

.kome-list dd:last-child .list-hashtag {
  border-radius: 0 0 20px 0;
}

.kome-list dd:nth-child(even) .list-pref {
  background: #fffcdf;
}

.kome-list dd:nth-child(even) .list-theater {
  background: #fffcdf;
}

.kome-list dd:nth-child(even) .list-hashtag {
  background: #fffcdf;
}

@media screen and (min-width: 1024px) {
  .kome-list {
    margin: 0 auto;
    font-size: 15px;
  }
}

.list-info {
  background: #ff346e;
  border-radius: 20px 20px 0 0;
  padding: 7px 7px 7px 10px;
  color: #fff;
  display: flex;
  font-weight: bold;
  border-bottom: solid 1px #fff;
}

.list-info p:nth-child(1) {
  width: 28%;
  display: flex;
  align-items: center;
}

.list-info p:nth-child(2) {
  width: 39%;
  display: flex;
  align-items: center;
}

.list-info p:nth-child(3) {
  width: 30%;
  display: flex;
  align-items: center;
}

@media screen and (min-width: 1024px) {
  .list-info {
    padding: 9px 9px 9px 18px;
  }
}

.list-dt {
  background: #ff929a;
  padding: 4px 4px 4px 7px;
  color: #fff;
  font-weight: bold;
}

@media screen and (min-width: 1024px) {
  .list-dt {
    padding: 6px 6px 6px 18px;
  }
}

.list-dd {
  display: flex;
  line-height: 1.4;
  color: #5e4d48;
}

.list-pref {
  width: 32%;
  display: flex;
  align-items: center;
  background: #fff;
  padding: 2% 3%;
}

.list-theater {
  width: 45%;
  padding: 2% 3%;
  background: #fff;
  display: flex;
  align-items: center;
}

.list-hashtag {
  width: 45%;
  padding: 2% 3%;
  background: #fff;
  display: flex;
  align-items: center;
}

@media screen and (min-width: 1024px) {
  #top .modaal-content-container {
    display: block;
    width: 700px;
  }
}

@media screen and (min-width: 1024px) {
  .kome-ttl {
    width: 580px;
    margin: 0 auto;
  }
}

.lunchcp-ttl {
  width: 100%;
  margin: 0 auto;
}

@media screen and (min-width: 1024px) {
  .lunchcp-ttl {
    width: 680px;
    margin: 0 auto;
  }
}

.lunchcp-txt-wrapper {
  position: relative;
}

.lunchcp-present-ttl {
  font-weight: bold;
  line-height: 1.4;
  color: #ff346e;
  text-align: center;
  font-size: 1.15em;
  margin-top: 5px;
}

@media screen and (min-width: 1024px) {
  .lunchcp-present-ttl {
    margin: 15px auto 20px;
  }
}

.lunchcp-present-txt {
  font-weight: bold;
  line-height: 1.4;
  color: #ff346e;
  text-align: center;
  margin-top: 15px;
}

@media screen and (min-width: 1024px) {
  .lunchcp-present-txt {
    font-size: .9em;
  }
}

@media screen and (min-width: 1024px) {
  .lunchcp-present-container {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
  }
}

.lunchcp-present-box {
  margin: 30px auto 0;
}

@media screen and (min-width: 1024px) {
  .lunchcp-present-box {
    margin: 0 auto 40px;
    width: 46%;
  }
}

.lunchcp-present-img {
  width: 70%;
  margin: 0 auto;
}

.d0 {
  position: absolute;
  width: 70px;
  left: -10vw;
  top: -7vw;
}

@media screen and (min-width: 1024px) {
  .d0 {
    width: 130px;
    left: -110px;
    bottom: -30px;
    top: auto;
  }
}

.d1 {
  position: absolute;
  width: 60px;
  right: -8vw;
  bottom: -2vw;
}

@media screen and (min-width: 1024px) {
  .d1 {
    width: 130px;
    right: -80px;
    bottom: -30px;
    left: auto;
  }
}

.d2 {
  position: absolute;
  width: 60px;
  left: -9vw;
  bottom: -6vw;
}

@media screen and (min-width: 1024px) {
  .d2 {
    width: 130px;
    left: -110px;
    bottom: -20px;
    top: auto;
  }
}

.d3 {
  position: absolute;
  width: 50px;
  right: -8vw;
  bottom: -10vw;
}

@media screen and (min-width: 1024px) {
  .d3 {
    width: 100px;
    right: -70px;
    bottom: -40px;
    left: auto;
  }
}

.d4 {
  position: absolute;
  width: 50px;
  right: 22vw;
  bottom: -10vw;
}

@media screen and (min-width: 1024px) {
  .d4 {
    width: 90px;
    right: 160px;
    bottom: -64px;
    left: auto;
  }
}

.recipe-link {
  font-size: 1em;
  font-weight: bold;
  margin: 10px auto;
  background: #ff346e;
  color: #fff;
  display: block;
  padding: 5px 8px;
  border-radius: 100px;
  text-align: center;
  text-decoration: underline;
}

@media screen and (min-width: 1024px) {
  .recipe-link {
    font-size: 16px;
    width: 330px;
    padding: 12px 8px;
  }
}

.lunchcp-recipe {
  margin: 50px auto 0;
}

.lunchcp-recipe .space {
  margin-top: 1em;
}

@media screen and (min-width: 1024px) {
  .lunchcp-recipe {
    margin: 90px auto 0;
    font-size: 16px;
  }
}

.lunchcp-recipe-ttl {
  margin: 0 auto 20px;
}

@media screen and (min-width: 1024px) {
  .lunchcp-recipe-ttl {
    margin: 0 auto 40px;
    width: 80%;
  }
}

.main-recipe-img {
  width: 100%;
  margin: 20px auto;
}

.main-recipe-img img {
  object-fit: cover;
  border-radius: 30px;
}

@media screen and (min-width: 1024px) {
  .main-recipe-img {
    width: 70%;
  }
}

.recipe-img {
  width: 80%;
  margin: 20px auto;
}

.recipe-img img {
  object-fit: cover;
  border-radius: 30px;
}

@media screen and (min-width: 1024px) {
  .recipe-img {
    width: 60%;
  }
}

.recipe-box {
  text-align: center;
  margin: 20px auto;
}

@media screen and (min-width: 1024px) {
  .recipe-box {
    margin: 40px auto;
  }
}

.recipe-detail-ttl {
  font-size: 1em;
  font-weight: bold;
  margin: 15px auto 0;
  background: #ff346e;
  color: #fff;
  display: inline-block;
  padding: 5px 11px;
  line-height: 1.2;
  border-radius: 100px;
}

.recipe-cmnt,
.process-txt {
  font-weight: bold;
  line-height: 1.4;
  color: #ff346e;
  text-align: left;
  margin-top: 10px;
}

@media screen and (min-width: 1024px) {
  .recipe-cmnt,
  .process-txt {
    width: 90%;
    margin: 0 auto;
  }
}

@media screen and (min-width: 1024px) {
  .recipe-cmnt {
    text-align: center;
  }
}

.recipe-material {
  line-height: 1.4;
  color: #ff346e;
  text-align: left;
  margin: 20px auto 30px;
  background: #fff;
  padding: 15px 10px;
  border-radius: 20px;
}

.recipe-material .strong {
  font-weight: bold;
}

@media screen and (min-width: 1024px) {
  .recipe-material {
    padding: 25px 20px;
  }
}

.recipe-process {
  margin: 0 auto 40px;
}

.recipe-point {
  font-weight: bold;
  line-height: 1.4;
  color: #ff346e;
  text-align: center;
  margin: 10px auto 20px;
  border: solid 2px #ff346e;
  padding: 10px 7px;
  border-radius: 20px;
  font-size: 1.2em;
}

@media screen and (min-width: 1024px) {
  .recipe-point {
    padding: 20px 17px;
  }
}

.point-txt {
  text-align: left;
  margin: 10px auto;
  display: block;
  font-size: .85em;
}

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

スタッフクレジット

-------------------------------*/
.credit-btn {
  font-weight: bold;
  color: #ff3871;
  border: solid 1px;
  padding: 2% 3%;
  margin: 4% auto;
  text-align: center;
  display: block;
  width: 39%;
  border-radius: 100px;
  background: #fffde6a3;
}

@media screen and (min-width: 1024px) {
  .credit-btn {
    font-size: 18px;
    padding: 1% 3%;
    margin: 2% auto;
    width: 13%;
  }
}

#modal-credit .modaal-content-container {
  padding: 5%;
}

.credit-tab {
  display: flex;
  margin: 0 auto 7%;
}

.credit-tab-btn {
  font-weight: bold;
  color: #ff3871;
  border: solid 2px;
  padding: 3% 3%;
  margin: 4% auto;
  text-align: center;
  display: block;
  width: 39%;
  border-radius: 4px;
  background: #ffffffa3;
  opacity: .6;
  cursor: pointer;
}

@media screen and (min-width: 1024px) {
  .credit-tab-btn {
    font-size: 18px;
    border-radius: 9px;
  }
}

.credit-tab-btn.credit-active {
  opacity: 1;
}

.credit-container {
  display: none;
  color: #ff3871;
  line-height: 1.3;
  width: 110%;
  margin: 0 0 0 -4%;
}

.credit-container .heart {
  width: .7em;
  display: inline-block;
  margin: 0 2px 0 2px;
}

.credit-container .center {
  text-align: center;
}

.credit-container .column {
  flex-direction: column;
}

.credit-container .column .credit-dt {
  width: 100%;
  margin-bottom: 0.5em;
}

@media screen and (min-width: 1024px) {
  .credit-container {
    font-size: 16px;
    width: 77%;
    margin: 0 auto;
  }
}

.credit-container.credit-show {
  display: block;
}

.credit-box {
  margin: 6% auto 0;
  display: flex;
  justify-content: flex-start;
}

.credit-dt {
  width: 60%;
  width: 48%;
  margin-right: 5%;
}

.space {
  margin-top: 7%;
}

.tight {
  margin: 1% auto 0;
}

.staff-space0 {
  margin: 4% 5% 0 0;
}

.staff-space1 {
  margin: 0 5% 4% 0;
}

.credit-precure {
  margin-top: 10%;
  font-style: italic;
}

.credit-music {
  display: block;
}

.credit-music .credit-dt {
  width: 100%;
}

.credit-2line {
  flex-direction: column;
}

.credit-2line .credit-dt {
  width: 100%;
}

.credit-2line .space {
  margin-top: .5em;
}

.credit-dd-2line {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.credit-dd-2line .credit-dd {
  text-align: left;
  width: 45%;
  margin-right: 5%;
}

.credit-dd-2line .credit-dd:nth-child(even).staff-space0 {
  margin: 4% auto 0;
}

.credit-dd-2line .credit-dd:nth-child(even).staff-space1 {
  margin: 0 auto 4%;
}

.credit-dd-2line .credit-dd:nth-child(even) {
  margin: 0 auto;
}

.company .credit-dd:first-child {
  width: 100%;
}

.company .credit-dd:nth-child(even) {
  margin: 0 5% 0 0;
}

.company .credit-dd:nth-child(2n+1) {
  margin: 0 auto;
}

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

間違い探し

-------------------------------*/
.quiz-lead {
  font-size: 16px;
  text-align: center;
  line-height: 1.5;
  color: #ff346e;
  font-weight: bold;
  margin-top: 20px;
}

@media screen and (min-width: 1024px) {
  .quiz-lead {
    font-size: 20px;
  }
}

.quiz-color {
  color: #5cd577;
}

.quiz-strong {
  background: #fff04b;
  display: inline-block;
  border-radius: 3px;
  padding: 0 3px;
}

.quiz-ttl {
  display: inline-block;
  font-size: 16px;
  text-align: center;
  background: #ff346e;
  color: #fff;
  border-radius: 100px;
  margin: 10px 0;
  padding: 10px 20px;
  font-weight: bold;
}

.quiz-wrap {
  margin: 20px 0;
}

@media screen and (min-width: 1024px) {
  .quiz-wrap {
    display: flex;
    width: 900px;
    margin-left: -130px;
  }
}

.quiz-left,
.quiz-right {
  padding: 0 0 20px 0;
}

@media screen and (min-width: 1024px) {
  .quiz-left,
  .quiz-right {
    flex: 1;
    padding: 0 20px;
  }
}

@media screen and (min-width: 1024px) {
  .quiz-answer {
    max-width: 500px;
    margin: 0 auto 30px;
  }
}

.quiz-answer-img,
.quiz-left-img,
.quiz-right-img,
.quiz-arrow-img {
  width: 100%;
}

.quiz-arrow {
  margin: 40px auto;
  margin-left: -30px;
  width: calc(100% + 60px);
}

@media screen and (min-width: 1024px) {
  .quiz-arrow {
    max-width: 500px;
    margin: 60px auto;
  }
}

.quiz-answer-dot {
  font-size: 20px;
  text-align: center;
  color: #ff346e;
  font-weight: bold;
  line-height: 1.5;
}

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

TOP ニュース

-------------------------------*/
#news {
  margin: 5% auto 11%;
}

@media screen and (min-width: 1024px) {
  #news {
    margin: 5% auto;
  }
  #news .contents-ttl {
    margin: 0 auto;
  }
}

.news-box {
  width: 90%;
  margin: 0 auto;
  position: relative;
}

@media screen and (min-width: 1024px) {
  .news-box {
    width: 800px;
  }
}

.news-btn {
  width: 43%;
  margin: 0 auto;
  position: absolute;
  bottom: 1%;
  left: 0;
  right: 0;
}

.news-feed-list {
  position: absolute;
  width: 73%;
  left: 0;
  right: 0;
  top: 24%;
  margin: 0 auto;
}

@media screen and (min-width: 1024px) {
  .news-feed-list {
    margin: 20px auto 0;
  }
}

.news-txt-wrapper {
  margin: 0 0 5%;
  text-align: center;
}

.news-txt-wrapper a {
  color: #ff346e;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 6px;
  font-weight: bold;
}

@media screen and (min-width: 1024px) {
  .news-txt-wrapper {
    margin: 0 0 20px;
    text-align: center;
    font-size: 16px;
  }
}

.newstxt {
  text-decoration: underline;
  line-height: 1.8;
}

.twitter-btn {
  width: 28%;
  position: absolute;
  top: -7%;
  left: 2%;
}

@media screen and (min-width: 1024px) {
  .twitter-btn {
    width: 160px;
    position: absolute;
    top: 36%;
    left: auto;
    right: -14%;
  }
}

#present {
  width: 80%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media screen and (min-width: 1024px) {
  #present {
    width: 1000px;
    flex-direction: row;
  }
}

.present-box {
  margin: 0 auto 7%;
}

@media screen and (min-width: 1024px) {
  .present-box {
    width: 46%;
  }
}

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

TOP ムービー

-------------------------------*/
#top-movie {
  margin: 4% auto;
  text-align: center;
}

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

.movie-list {
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

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

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

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

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

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

.player {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  overflow: hidden;
  border-radius: 20px;
}

.player a:hover {
  transform: none;
}

.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;
}

.player a img, .player iframe img {
  width: 100%;
}

.more-btn {
  width: 40%;
  margin: 0 auto;
}

@media screen and (min-width: 1024px) {
  .more-btn {
    width: 240px;
  }
}

.bg {
  background: none;
}

@media screen and (min-width: 1024px) {
  .bg {
    background: url(../img/common/bg_pc.jpg) no-repeat top center;
    background-size: cover;
    background-attachment: fixed;
    width: 100%;
    height: 100%;
    z-index: -2;
  }
  .bg::after {
    background: none;
  }
}

.movie-bg {
  width: 94%;
  margin: 0 auto;
}

@media screen and (min-width: 1024px) {
  .movie-bg {
    width: 75%;
    margin: 0 auto;
  }
}

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

ストーリー

-------------------------------*/
.story-txt-wrapper {
  background-color: #fffdf9;
  background-image: repeating-linear-gradient(0deg, rgba(255, 235, 0, 0.2) 0px 14px, transparent 14px 28px), repeating-linear-gradient(90deg, rgba(255, 235, 0, 0.2) 0px 14px, transparent 14px 28px);
  width: 90%;
  margin: -11% auto 0;
  padding: 5% 6%;
  border: solid 4px #c7e936;
  border-radius: 30px;
  color: #ff4606;
  font-weight: bold;
  font-size: 1.2em;
  line-height: 2;
}

@media screen and (min-width: 1024px) {
  .story-txt-wrapper {
    width: 1000px;
    border-radius: 50px;
    margin: 0 auto 50px;
    padding: 30px 90px;
    font-size: 17px;
  }
}

.story-ph0 {
  margin: 7% auto 0;
}

@media screen and (min-width: 1024px) {
  .story-ph0 {
    width: 70%;
    margin: 3% auto 0;
  }
}

.story-ph1 {
  margin: 2% auto;
}

@media screen and (min-width: 1024px) {
  .story-ph1 {
    margin: 20px auto;
    width: 100%;
  }
}

.story-ph-flex {
  position: relative;
  margin: 0 auto 5%;
}

@media screen and (min-width: 1024px) {
  .story-ph-flex {
    margin: 0 auto 40px;
    width: 70%;
  }
}

.ph-copy {
  margin: 5% auto 0;
}

@media screen and (min-width: 1024px) {
  .ph-copy {
    width: 500px;
  }
}

.story-fukidashi {
  width: 41%;
  position: absolute;
  top: 73%;
  right: 4%;
  animation: fuwafuwa 2s infinite ease-in-out .8s alternate;
  transition: 1.5s ease-in-out;
}

@media screen and (min-width: 1024px) {
  .story-fukidashi {
    width: 35%;
    position: absolute;
    top: 73%;
    right: 8%;
  }
}

@keyframes fuwafuwa {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(10px);
  }
}

@media screen and (min-width: 1024px) {
  .story-copy {
    width: 660px;
    margin: 0 auto;
  }
}

@media screen and (min-width: 1024px) {
  .deco-ph {
    width: 77%;
    margin: 0 auto;
  }
}

.txt-heart {
  width: 4%;
  display: inline-block;
}

@media screen and (min-width: 1024px) {
  .txt-heart {
    width: 16px;
  }
}

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

キャラクター

-------------------------------*/
.contents-wrapper {
  padding: 80px 0 0;
}

@media screen and (min-width: 1024px) {
  .contents-wrapper {
    padding: 140px 0 0;
  }
}

.series-nav {
  display: flex;
  justify-content: space-around;
  align-items: center;
  cursor: pointer;
}

@media screen and (min-width: 1024px) {
  .series-nav {
    max-width: 800px;
    margin: 0 auto;
  }
}

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

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

.contents-container {
  margin: 20px auto 0;
}

@media screen and (min-width: 1024px) {
  .contents-container {
    width: 1000px;
  }
}

.series-content {
  display: none;
}

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

.character-nav {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  cursor: pointer;
  flex-wrap: wrap;
}

.character-nav .chara-btn {
  width: 23%;
  margin: 3% 0 0;
}

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

.chara-list {
  position: relative;
  margin: 8% auto 0;
  height: 165.3vw;
  background: url(../img/character/list/bg.png) no-repeat top center;
  background-size: cover;
  overflow: hidden;
}

.chara-list area {
  border-style: none;
  outline: none;
}

@media screen and (min-width: 1024px) {
  .chara-list {
    position: relative;
    width: 920px;
    margin: 70px auto;
    height: 730px;
    border: solid 4px #fff;
    border-radius: 40px;
  }
}

.list-box {
  position: absolute;
}

.list00 {
  width: 68%;
  top: 42%;
  right: 2%;
}

@media screen and (min-width: 1024px) {
  .list00 {
    width: 44%;
    top: 21%;
    right: 16%;
  }
}

.list01 {
  width: 55%;
  top: 22%;
  left: -3%;
}

@media screen and (min-width: 1024px) {
  .list01 {
    width: 37%;
    top: 23%;
    left: 1%;
  }
}

.list02 {
  width: 46%;
  top: 7%;
  right: 2%;
}

@media screen and (min-width: 1024px) {
  .list02 {
    width: 31%;
    top: 1%;
    right: -1%;
  }
}

.list03 {
  width: 48%;
  top: 3%;
  left: 17%;
}

@media screen and (min-width: 1024px) {
  .list03 {
    width: 34%;
    top: 3%;
    left: 20%;
  }
}

.list04 {
  width: 13%;
  top: 52%;
  right: 51%;
}

@media screen and (min-width: 1024px) {
  .list04 {
    width: 8%;
    top: 37%;
    left: 43%;
  }
}

.list05 {
  width: 13%;
  top: 52%;
  left: 4%;
}

@media screen and (min-width: 1024px) {
  .list05 {
    width: 10%;
    top: 68%;
    left: 3%;
  }
}

.list06 {
  width: 13%;
  top: 28%;
  right: 1%;
}

@media screen and (min-width: 1024px) {
  .list06 {
    width: 10%;
    top: 35%;
    right: 0%;
  }
}

.chara-modal {
  display: none;
  width: 86%;
  margin: 0 auto;
  padding: 20px;
}

.modaal-container {
  border: solid 3px #ff96c5;
  border-radius: 30px;
  background-color: #fffafb;
  background-image: repeating-linear-gradient(0deg, rgba(255, 224, 230, 0.2) 0px 14px, transparent 14px 28px), repeating-linear-gradient(90deg, rgba(255, 224, 230, 0.2) 0px 14px, transparent 14px 28px);
}

@media screen and (min-width: 1024px) {
  .modaal-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
}

.chara-img {
  width: 80%;
  margin: 0 auto;
}

@media screen and (min-width: 1024px) {
  .chara-img {
    width: 320px;
    margin-right: 50px;
  }
}

.fairy {
  width: 100%;
}

@media screen and (min-width: 1024px) {
  .fairy {
    width: 390px;
  }
}

.modaal-wrapper .modaal-close {
  background: #ff96c5;
  position: absolute;
}

.modaal-wrapper:not(.modaal-video) .modaal-close {
  top: -60px;
  right: -10px;
}

.chara-txt-wrapper {
  position: relative;
  margin: 6% auto 2%;
}

@media screen and (min-width: 1024px) {
  .chara-txt-wrapper {
    width: 420px;
  }
}

.chara-txt {
  position: absolute;
  top: 9%;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 78%;
  width: 78%;
  height: 85vw;
  line-height: 1.8;
  overflow-y: scroll;
  color: #5e4d48;
}

@media screen and (min-width: 1024px) {
  .chara-txt {
    height: 490px;
    font-size: 16px;
  }
}

.chara-txt-mini {
  height: 71vw;
}

@media screen and (min-width: 1024px) {
  .chara-txt-mini {
    height: 390px;
  }
}

@media screen and (min-width: 1024px) {
  .modaal-content-container {
    padding: 30px;
    display: flex;
    align-items: center;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
}

.ori-btn {
  opacity: .7;
}

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

.ori-content {
  display: none;
}

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

#original-chara.series-show .chara-img {
  width: 60%;
  margin: 0 auto;
}

#original-chara.series-show #wagyu .chara-name {
  width: 70%;
  margin: 0 auto 5%;
}

#original-chara.series-show #wagyu .chara-img {
  margin: 20px auto 0;
}

#original-chara.series-show #wagyu .guest-ph {
  width: 80%;
}

#original-chara.series-show .chara-txt-wrapper {
  position: relative;
  margin: 0 auto 10%;
  width: 80%;
}

#original-chara.series-show .chara-txt {
  height: 43vw;
}

@media screen and (min-width: 1024px) {
  #original-chara.series-show {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    flex-wrap: wrap;
    padding: 40px 0 0;
    width: 1000px;
  }
  #original-chara.series-show .chara-img {
    width: 40%;
    margin: 0 auto;
  }
  #original-chara.series-show .chara-txt-wrapper {
    position: relative;
    margin: 0 auto 60px;
    width: 35%;
  }
  #original-chara.series-show .chara-txt {
    height: 260px;
    font-size: 16px;
  }
  #original-chara.series-show #wagyu .chara-img {
    margin: 20px 0 20px auto;
  }
  #original-chara.series-show #wagyu .chara-name {
    width: 40%;
    margin: 0 auto 5% 0;
  }
  #original-chara.series-show #wagyu .ori-chara-box {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #original-chara.series-show #wagyu .guest-ph {
    width: 50%;
    margin: 0 auto 3%;
  }
}

@media screen and (min-width: 1024px) {
  .ori-chara-box {
    display: flex;
    align-items: flex-end;
  }
}

.guest-comment {
  background: #fffdf9;
  width: 85%;
  margin: 0 auto 10%;
  padding: 30px 20px 10px;
  line-height: 1.8;
  border-radius: 30px;
  border: solid 3px #ffb1cf;
  color: #5e4d48;
}

.guest-comment p {
  margin: 0 auto 20px;
}

@media screen and (min-width: 1024px) {
  .guest-comment {
    font-size: 16px;
    padding: 40px 50px 20px;
  }
}

.guest-ttl {
  display: block;
  text-align: center;
  font-size: 1.1em;
  font-weight: bold;
  color: #ff5188;
}

.guest-profile {
  font-size: 11px;
}

@media screen and (min-width: 1024px) {
  .guest-profile {
    font-size: 13px;
    margin: 30px auto 0;
  }
}

.guest-ph {
  width: 60%;
  margin: 0 auto 5%;
}

@media screen and (min-width: 1024px) {
  .guest-ph {
    width: 30%;
    margin: 0 auto 3%;
  }
}

#character #footer {
  margin: 0 auto;
}

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

主題歌

-------------------------------*/
.cd-container {
  width: 90%;
  margin: 0 auto 8%;
  border: solid 3px #ff96c5;
  border-radius: 30px;
  background-color: #fffafb;
  background-image: repeating-linear-gradient(0deg, rgba(255, 224, 230, 0.2) 0px 14px, transparent 14px 28px), repeating-linear-gradient(90deg, rgba(255, 224, 230, 0.2) 0px 14px, transparent 14px 28px);
}

.cd-container .heart {
  width: 3%;
  display: inline-block;
  margin: 0 2px 0 2px;
}

@media screen and (min-width: 1024px) {
  .cd-container {
    width: 900px;
    margin: 0 auto 100px;
    border: solid 4px #ff96c5;
    border-radius: 40px;
  }
  .cd-container .heart {
    width: 12px;
  }
}

.cd-ttl {
  width: 85%;
  margin: 5% auto 0;
}

@media screen and (min-width: 1024px) {
  .cd-ttl {
    width: 50%;
    margin: 2% auto 0;
  }
}

.jacket-container {
  display: flex;
  justify-content: space-around;
  align-items: flex-start;
  width: 90%;
  margin: 6% auto;
}

@media screen and (min-width: 1024px) {
  .jacket-container {
    justify-content: space-between;
    width: 60%;
  }
}

.jaket-box {
  width: 45%;
}

.jaket-box p {
  color: #ff346e;
  margin: 6% 0 0;
  line-height: 1.5;
  font-weight: bold;
}

.jaket-box span {
  font-size: .85em;
  font-weight: normal;
}

@media screen and (min-width: 1024px) {
  .jaket-box {
    font-size: 16px;
  }
}

.cd-detail {
  width: 85%;
  margin: 0 auto 9%;
  line-height: 1.4;
  color: #ff346e;
}

.cd-detail dt {
  font-weight: bold;
}

.cd-detail dd, .cd-detail .cd-attention {
  font-size: .9em;
  margin: 0 auto 4%;
}

.cd-detail .strong {
  font-weight: bold;
}

@media screen and (min-width: 1024px) {
  .cd-detail {
    width: 75%;
    margin: 0 auto 6%;
    line-height: 1.6;
    font-size: 16px;
  }
}

.detail-ttl {
  font-size: 1em;
  font-weight: bold;
  margin: 2% auto;
  background: #ff346e;
  color: #fff;
  display: inline-block;
  padding: 1px 9px 1px 6px;
  border-radius: 100px;
}

.detail-txt {
  color: #ff346e;
  margin: 2% auto 4%;
  text-align: center;
  line-height: 1.5;
  font-weight: bold;
}

.detail-txt span {
  font-size: .85em;
  font-weight: normal;
}

@media screen and (min-width: 1024px) {
  .detail-txt {
    font-size: 16px;
  }
}

#soundtrack .jacket-container {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 90%;
  margin: 6% auto;
  flex-wrap: wrap;
}

@media screen and (min-width: 1024px) {
  #soundtrack .jacket-container {
    margin: 4% auto 0;
    width: 60%;
  }
}

#soundtrack .jacket-img {
  width: 45%;
}

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

チケット

-------------------------------*/
.ticket-container {
  width: 85%;
  margin: 0 auto;
}

@media screen and (min-width: 1024px) {
  .ticket-container {
    width: 1000px;
    display: flex;
    justify-content: center;
  }
}

.ticket-box {
  margin: 12% auto;
}

@media screen and (min-width: 1024px) {
  .ticket-box {
    margin: 0 auto 60px;
    width: 45%;
  }
}

.loppi-ttl {
  width: 90%;
  margin: 13% auto 5%;
}

@media screen and (min-width: 1024px) {
  .loppi-ttl {
    width: 490px;
    margin: 20px auto 30px;
  }
}

.loppi-container {
  width: 90%;
  padding: 5%;
  margin: 0 auto;
  background: #bd70e729;
  border: solid 2px #fff;
  border-radius: 30px;
}

.loppi-container .ticket-box {
  margin: 0 auto 12%;
}

@media screen and (min-width: 1024px) {
  .loppi-container {
    width: 1200px;
    padding: 30px 6px 15px;
    margin: 0 auto 90px;
  }
  .loppi-container .pc-flex {
    display: flex;
    align-items: flex-end;
  }
  .loppi-container .ticket-box {
    margin: 0 auto 40px;
    width: 30%;
  }
}

#ticket .more-btn {
  display: block;
  margin: 9% auto;
  width: 50%;
}

@media screen and (min-width: 1024px) {
  #ticket .more-btn {
    margin: 10px auto 50px;
    width: 240px;
  }
}

.loppi-attention {
  color: #333;
  font-size: 10px;
  line-height: 1.8;
}

@media screen and (min-width: 1024px) {
  .loppi-attention {
    font-size: 11px;
    text-align: center;
  }
}

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

イベント

-------------------------------*/
.month-img {
  width: 17%;
  margin: 0 0 0 3%;
}

@media screen and (min-width: 1024px) {
  .month-img {
    width: 100px;
    margin: 0 0 0 4%;
  }
}

.calendar-info {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.cat-tag-wrapper {
  margin-right: 5%;
}

@media screen and (min-width: 1024px) {
  .cat-tag-wrapper .cat-tag-tieup,
  .cat-tag-wrapper .cat-tag-chara,
  .cat-tag-wrapper .cat-tag-event {
    display: inline-block;
    margin: 0 0 0 7px;
  }
}

.calendar-wrapper {
  width: 92%;
  margin: 3% auto;
  position: relative;
}

@media screen and (min-width: 1024px) {
  .calendar-wrapper {
    margin: 17px auto;
  }
}

.event-link {
  width: 12%;
  position: absolute;
}

.e0 {
  top: 13.7%;
  left: 1%;
}

@media screen and (min-width: 1024px) {
  .e0 {
    width: 146px;
    top: 12.3%;
    left: 5.2%;
  }
}

.e1 {
  top: 33%;
  left: 44.3%;
}

@media screen and (min-width: 1024px) {
  .e1 {
    width: 125px;
    top: 31%;
    left: 43%;
  }
}

.e2 {
  top: 31.5%;
  left: 58.5%;
}

@media screen and (min-width: 1024px) {
  .e2 {
    width: 79px;
    top: 29.9%;
    left: 59%;
  }
}

.e3 {
  top: 51%;
  left: 44.2%;
}

@media screen and (min-width: 1024px) {
  .e3 {
    width: 77px;
    top: 47.7%;
    left: 45.7%;
  }
}

.e4 {
  top: 50.3%;
  left: 58%;
}

@media screen and (min-width: 1024px) {
  .e4 {
    width: 127px;
    top: 48%;
    left: 56.3%;
  }
}

.e5 {
  top: 69%;
  left: 58.5%;
}

@media screen and (min-width: 1024px) {
  .e5 {
    width: 103px;
    top: 66.3%;
    left: 42.9%;
  }
}

.e6 {
  top: 69%;
  left: 77%;
}

@media screen and (min-width: 1024px) {
  .e6 {
    width: 105px;
    top: 69.8%;
    left: 70.5%;
  }
}

.e7 {
  top: 68.5%;
  left: 86.5%;
}

@media screen and (min-width: 1024px) {
  .e7 {
    width: 80px;
    top: 65%;
    left: 85.5%;
  }
}

.e8 {
  top: 14.5%;
  left: 72.7%;
}

@media screen and (min-width: 1024px) {
  .e8 {
    width: 100px;
    top: 14%;
    left: 71%;
  }
}

.e9 {
  top: 64.3%;
  left: 34.5%;
  width: 10%;
}

@media screen and (min-width: 1024px) {
  .e9 {
    width: 138px;
    top: 59.5%;
    left: 47%;
  }
}

.e10 {
  top: 71%;
  left: 40.5%;
  width: 11%;
}

@media screen and (min-width: 1024px) {
  .e10 {
    width: 112px;
    top: 67.5%;
    left: 57.5%;
  }
}

.e11 {
  top: 63.3%;
  left: 50.5%;
  width: 11%;
}

@media screen and (min-width: 1024px) {
  .e11 {
    width: 143px;
    top: 73%;
    left: 48.5%;
  }
}

.e12 {
  top: 67.5%;
  left: 69.5%;
}

@media screen and (min-width: 1024px) {
  .e12 {
    width: 74px;
    top: 59%;
    left: 70%;
  }
}

.e13 {
  top: 67.5%;
  left: 86.5%;
}

@media screen and (min-width: 1024px) {
  .e13 {
    width: 80px;
    top: 64.5%;
    left: 85.5%;
  }
}

.e14 {
  top: 10%;
  left: 72.5%;
}

@media screen and (min-width: 1024px) {
  .e14 {
    width: 80px;
    top: 11%;
    left: 72%;
  }
}

.e15 {
  top: 10%;
  left: 86.5%;
}

@media screen and (min-width: 1024px) {
  .e15 {
    width: 80px;
    top: 11%;
    left: 85%;
  }
}

.e16 {
  top: 26%;
  left: 72.5%;
}

@media screen and (min-width: 1024px) {
  .e16 {
    width: 80px;
    top: 25%;
    left: 72%;
  }
}

.e17 {
  top: 26%;
  left: 86.5%;
}

@media screen and (min-width: 1024px) {
  .e17 {
    width: 80px;
    top: 25%;
    left: 85%;
  }
}

.e18 {
  top: 42%;
  left: 1.5%;
}

@media screen and (min-width: 1024px) {
  .e18 {
    width: 80px;
    top: 40%;
    left: 6%;
  }
}

.e19 {
  top: 42.5%;
  left: 72.5%;
}

@media screen and (min-width: 1024px) {
  .e19 {
    width: 58px;
    top: 40.5%;
    left: 73%;
  }
}

.event-list {
  width: 90%;
  background: #fff;
  margin: 10% auto;
  border-radius: 15px;
  border: solid 3px #ffc405;
}

.event-list li:nth-child(even) {
  background: #fffcdf;
}

.event-list li:first-child {
  border-radius: 12px 12px 0 0;
}

.event-list li:last-child {
  border-radius: 0 0 12px 12px;
}

@media screen and (min-width: 1024px) {
  .event-list {
    border-radius: 35px;
    border: solid 4px #ffc405;
  }
  .event-list li:first-child {
    border-radius: 32px 32px 0 0;
  }
  .event-list li:last-child {
    border-radius: 0 0 32px 32px;
  }
}

.event-detail {
  display: flex;
  align-items: center;
  padding: 3%;
}

@media screen and (min-width: 1024px) {
  .event-detail {
    padding: 9px 25px;
  }
}

@media screen and (min-width: 1024px) {
  .event-detail.kigurumi {
    padding: 23px 25px;
  }
}

.event-list li.event-active {
  background: #ffeaf3;
}

.icon-img {
  width: 16%;
  margin-right: 3%;
}

@media screen and (min-width: 1024px) {
  .icon-img {
    width: 9%;
    margin-right: 4%;
  }
}

.event-txt {
  font-weight: bold;
  width: 84%;
}

@media screen and (min-width: 1024px) {
  .event-txt {
    font-size: 16px;
  }
}

.event-date {
  letter-spacing: 0;
}

@media screen and (min-width: 1024px) {
  .event-date {
    display: inline-block;
  }
}

.event-ttl {
  font-size: 1.15em;
  margin-top: 5px;
}

@media screen and (min-width: 1024px) {
  .event-ttl {
    display: inline-block;
  }
}

@media screen and (min-width: 1024px) {
  .kidurumi-flex {
    display: flex;
    margin-top: 11px;
  }
  .kidurumi-flex .event-ttl {
    margin-top: 0;
  }
}

.kigurumi-cp {
  font-size: .8em;
  line-height: 1.4;
  margin-top: 9px;
  display: inline-block;
}

@media screen and (min-width: 1024px) {
  #event .contents-wrapper {
    width: 1000px;
    margin: 0 auto;
  }
}

.cat-tieup {
  color: #ff358b;
}

.cat-chara {
  color: #00a3f7;
}

.cat-event {
  color: #b654e9;
}

.cat-tag-tieup,
.cat-tag-chara,
.cat-tag-event {
  color: #fff;
  background: #ff358b;
  font-size: 10px;
  padding: 1px 4px;
  display: inline-block;
  font-weight: normal;
  margin-bottom: 5px;
  border-radius: 3px;
}

@media screen and (min-width: 1024px) {
  .cat-tag-tieup,
  .cat-tag-chara,
  .cat-tag-event {
    font-size: 12px;
    padding: 2px 6px;
    border-radius: 4px;
    display: table;
  }
}

.cat-tag-chara {
  background: #00a3f7;
}

.cat-tag-event {
  background: #b654e9;
}

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

#movie

-------------------------------*/
.first-trailer {
  display: inline;
}

.movie-container {
  position: relative;
}

#trailer {
  position: absolute;
  top: 24%;
  left: 0;
  right: 0;
  margin: 0 auto;
}

@media screen and (min-width: 1024px) {
  #trailer {
    top: 11vw;
  }
}

.pc-modal-movie, .pc {
  display: none !important;
}

@media screen and (min-width: 1024px) {
  .pc-modal-movie, .pc {
    display: block !important;
  }
}

.sp {
  display: block;
}

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

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

.movie-thumb-box {
  position: relative;
  padding-bottom: 56.25%;
  height: auto;
  overflow: hidden;
}

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

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

.movie-thumb-list li .sp {
  width: 80%;
  margin: 0 auto;
}

.movie-thumb-list li .pc {
  width: 42vw;
  margin: 0 auto;
}

.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 {
  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;
}

.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: 0;
    width: 1024px;
  }
  .pc-modal-movie {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
  }
  .youtube {
    pointer-events: none;
  }
}
/*# sourceMappingURL=style.css.map */