@charset "utf-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-weight:inherit;
	font-style:inherit;
	font-size:100%;
	font-family:inherit;
/*	vertical-align:middle;*/
	list-style:none;
}
main{
  font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ヒラギノ明朝 ProN','Hiragino Mincho ProN',sans-serif;
  line-height:1.8;
  color: #fff;
/*  z-index: 999;*/
  margin: 0 auto;
	display: block;
  background-color: #478FA7;
  }
main article{
    margin: 0 auto;
    overflow: hidden;
}
main #warpper{
  margin: 0 auto;
	vertical-align:middle;
}
main #footer {
    font-family: 'Anton', sans-serif;
		text-align:center;
		padding:2em 0;
	}
main a {
text-decoration:none;
}
main a:hover {
text-decoration:none;
}
main p{
    color: #4a71f4;
    font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ヒラギノ明朝 ProN','Hiragino Mincho ProN',sans-serif;
}
main #page-top {
  position: fixed;
  bottom: 40px !important;
  right: 20px;
  font-size: 100%;
  z-index: 30;
}
main #page-top a {
    text-decoration: none;
    width: 100px;
    padding: 30px 0;
    text-align: center;
    display: block;
    border-radius: 2px;
	color:#fff;
    font-weight: bold;
}
main #page-top a:hover {
    text-decoration: none;
	opacity:0.9;
}
	

main footer {
	text-align:center;
	padding-top: 20px;
	}
main footer .bar {
	margin-bottom:2em;
    overflow: hidden;
	}
main footer a {
	text-decoration:none;
	color:#333;
	}
main section{
  padding: 150px 0;
}
main h3{
font-family: "dnp-shuei-4gob-std", sans-serif;
font-weight: 700;
font-style: normal;
}
main h2 img{
  margin: 0 auto;
  display: block;
}
.div_box{
  margin: 0 auto;
  width: 100%;
  padding: 40px 0;
}
p.cr{
    text-align: center;
    color: #333;
    font-size: .9em;
    font-weight: bold;
    margin-bottom: 20px;
}

.intro_bg{
  margin: 0 auto;
  width: 100%;
  overflow: hidden;
  background-image:url(../img/bg.jpg);
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  padding: 50px 0;
}
.story_bg{
  margin: 0 auto;
  width: 100%;
  overflow: hidden;
  background-image:url(../img/bg2.jpg);
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  padding: 50px 0;
}
.cs_bg{
  background-color: #fff;
}
.chart_bg{
  margin: 0 auto;
  width: 100%;
  overflow: hidden;
  background-image:url(../img/bg3.jpg);
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  padding: 150px 0;
}
main #main_img.movie{
  margin: 0 auto;
  width: 100%;
  height: 0;
  padding-top: 27.1875%;
  background-image:url(../img/main/main_movie.jpg);
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  }
/* main #main_img{
  animation: fadeIn 4s ease 0s 1 normal;
  -webkit-animation: fadeIn 4s ease 0s 1 normal;
}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
} */

/**************** FB ****************/
.fb_iframe_widget > span {
	vertical-align: baseline !important;
}
/**************** PC ****************/

/* PC用 */

/**************** PC ****************/

/* @media only screen and (min-width:769px){ */

/**************** main img ****************/

main #main_img{
  margin: 0 auto;
  width: 100%;
  height: 0;
  padding-top: 54.1875%;
  background-image:url(../img/main/main_2024.jpg);
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  }
@keyframes fadeIn {
  0% {opacity: 0}
  100% {opacity: 1}
}
/**************** sns ****************/
main #top{
  position: relative;
}
main #sns{
  position: absolute;
  bottom: 1%;
  right: 1%;
}
/**************** tw bnr ****************/
div.bnr_tw{
    position: absolute;
    bottom: 10%;
    right: 1%;
    width: 15%;
}
div.bnr_tw img{
    width: 100%;
}
div.bnr_tw a:hover{
    opacity: .7;
}
/**************** nav ****************/
main nav.gloval_nav{
  margin: 0 auto;
  text-align: center;
  font-weight: bold;
}
.gloval_nav{
  background: #478FA7;
  padding: 15px 0 20px 0;
}
.gloval_nav ul{
  margin: 0 auto;
  max-width: 1000px;
  width: auto;
  display: flex;
  justify-content: center;
}
.gloval_nav li{
  font-family: "dnp-shuei-4gob-std", sans-serif;
  font-weight: 700;
  font-style: normal;
  color: #ffeb00;
  display: inline-block;
  width: calc(100%/5.5);
  /* width: auto; */
  height: 60px;
  vertical-align: middle;
  text-align: center;
}
.gloval_nav a{
  position: relative;
  color: #fff;
  width: 100%;
  height: auto;
  font-size: 2rem;
  font-weight: bold;
  line-height: .2em;
  /* text-align: center; */
  /* padding: 15px; */
  transition: .4s;
  vertical-align: sub;
  padding-left: 1rem;
}
.gloval_nav li a:hover{
  color: #ffff00;
}
.gloval_nav a span{
/*  margin: 0 50px;*/
  font-size: .8em;
  letter-spacing: .08em;
  display: inline-block;
  padding-left: 1rem;
}
.nav2{
    background: #ff5273;
    }
.nav2 li{
font-family: "kokuryu", sans-serif;
  color: #ffeb00;
}
.nav2 a{
  color: #ffffff;
  text-shadow:0px 0px 5px #ff335a;
}
.nav2 li a:hover{
  color: #ffff00;
}
.nav2 a span{
  text-shadow:0px 0px 5px #ff335a;
}
/**************** form ****************/
main section#form{
  padding: 0;
  }
#form{
    padding-top: 0;
    margin-top: 0;
    margin-bottom: 0;
}
.bgf.form{
    margin: 0 auto;
    width: 95%;
    display: block;
    margin-top: 100px;
    text-align: center;
}
.form img{
    margin: 0 10px;
    width: 95%;
    display: inline-block;
}
.form a img{
transition: .4s;
}
.form a img:hover{
    opacity: .7;
}
.form ul{
    margin: 0 auto;
    width: 100%;
}
.form li{
    margin: 0 auto;
    width: 45%;
    display: inline-block;
    vertical-align: top;
}
.form p{
    display: block;
}
/**************** next ****************/
#next div.next{
    margin: 0 auto;
    width: 80%;
    display: flex;
    padding: 30px;
	background: rgba(251, 117, 156, 0.8);
	border-radius: 10px;
    align-items: center;
}
#next div.left{
    margin: 0 auto;
    width: 56%;
    display: inline-block;
	vertical-align: top;
/*    margin: 0 50px;*/
}
#next div.left img{
    margin: 0 auto;
    width: 100%;
    border-radius: 3px;
}
#next div.right{
    margin: 0 auto;
    width: 39%;
    display: inline-block;
    margin: 0 0 0 50px;
}
#next div.right p{
    color: #fff;

}
.right p{
    width: 100%;
    line-height: normal;
    margin-top: 7px;
    color: #3c3c3c;
    font-size: .9em;
    font-weight: normal;
}
.right p:first-of-type{
    margin-top: 30px;
}
.right span{
    color: #73280b;
    font-weight: bold;
}
div.next h2{
    color: #ffff00;
    border-top: 3px dotted #ffff00;
    border-bottom: 3px dotted #ffff00;
    text-align: center;
    margin-bottom: 10px;
    font-family: "kokuryu", sans-serif;
    font-size: 1.3em;
}
div.fade img{
    width: 100%;
    display: block;
}
div.autoplay{
    margin: 0 auto;
    width: 100%;
    display: block;
}
div.autoplay img{
    width: 100%;
    display: block;
}
.slick-list {
  overflow: visible;
}
/**************** INTRODUCTION ****************/
main section#intro {
    margin: 0 auto;
    width: 100%;
    display: block;
    }
main #intro div.bgf {
	margin: 0 auto;
	/* width: 80%; */
  max-width: 1000px;
	display: flex;
  align-items: center;
  justify-content: center;
	}
main #intro div.left {
	width:50%;
	display: inline-block;
	vertical-align: top;
	}
main #intro div.left img{
	width:100%;
	display: inline-block;
	vertical-align: top;
  filter: drop-shadow(0px 0px 12px rgba(0, 253, 180, 0.6));
	}
main #intro div.right {
	width:45%;
	display: inline-block;
	}
main #intro h3 {
  margin: 1rem auto;
	width:100%;
  font-size:3rem;
	text-align:center;
	line-height:2;
	display:inline-block;
	color: #fff;
  text-shadow:3px 3px 0px #171717;
	}
main #intro h3 span{
  color: rgb(214, 214, 40);
	}
main #intro  h3.heart {
	text-indent : -1em;
	padding-left : 1em;
	}
main #intro p{
    width: auto;
    color: #2E1A00;
    margin: 10px 30px 20px 30px;
    text-shadow:0px 0px 4px #ffffff;
    }
.intro_box{
  margin: 3rem auto;
  max-width: 1000px;
  width: 90%;
}
/*動く画像*/
#roop {
  width: 100%;
  height: 200px;
  background: url(../img/slide_1.png) repeat-x;
  background-position: 0 0;
  -webkit-animation: bgroop 20s linear infinite;
  animation: bgroop 20s linear infinite;
}
#roop2 {
  width: 100%;
  height: 200px;
  background: url(../img/slide_2.png) repeat-x;
  background-position: 0 0;
  -webkit-animation: bgroop2 20s linear infinite;
  animation: bgroop2 20s linear infinite;
}
@-webkit-keyframes bgroop {
  from {
      background-position: 0  0;
  }
  to {
      background-position: -1956px 0;
  }
}
@keyframes bgroop {
  from {
      background-position: 0 0;
  }
  to {
      background-position: -1956px 0;
  }
}
@-webkit-keyframes bgroop2 {
  from {
      background-position: 0  0;
  }
  to {
      background-position: 1956px 0;
  }
}
@keyframes bgroop2 {
  from {
      background-position: 0 0;
  }
  to {
      background-position: 1956px 0;
  }
}
/**************** あらすじ ****************/
h3.ar{
  width: 40%;
  margin: 0 auto;
  display: block;
  text-align: center;
  color: #ffffff;
  margin-bottom: 20px;
  font-size: 1.5em;
  border-bottom: solid 1px #8d2524;
  letter-spacing: 1rem;
  text-indent: 1rem;
  text-shadow: 0px 0px 4px #491400;
}
div.ar{
  margin: 0 auto;
  width: 100%;
  overflow: hidden;
  background-image:url(../img/bg_ar.jpg);
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  padding: 50px 0;
}
.ar p{
  margin: 0 auto;
  max-width: 1000px;
  display: block;
  color: #fff;
  font-weight: bold;
  text-shadow:0px 0px 4px #491400;
  /* font-family: "kokuryu", sans-serif; */
  letter-spacing: .1em;
  width: 80%;
}
/**************** STORY ****************/
main section #story {
  margin: 0 auto;
  max-width: 1000px;
}
.story {
  margin: 0 auto;
  max-width: 1000px;
  width: 80%;
  display: block;
  border-radius: 10px;
}
.story_box_text{
  margin: 1rem auto;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}
.story p{
    color: #fff;
    margin-top: 20px;
}
.tab-wrap {
  margin: 0 auto;
  /* width: 1000px; */
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.tab-label {
  color: #fff;
  background: #9F2424;
	margin: 5px;
	padding: 2px 8.5px;
	order:-1;
	font-size: 1.6em;
  border-radius: 3px;
  width: 6.39%;
  text-align: center;
  display: inline-block;
  font-family: "dnp-shuei-4gob-std", sans-serif;
  font-weight: 700;
  font-style: normal;
}
.tab-content {
    width: 100%;
    display: none;
  margin-top: 20px;
}
.tab-switch:checked+.tab-label {
    color:yellow;
  background: #c12b2b;

}
.tab-switch:checked+.tab-label+.tab-content {
    display: block;
}
.tab-switch {
    display: none;
}
.story_box_text h3{
  display: block;
  text-align: left;
  color: #fff;
  background: #478FA7;
  font-size: 3.5rem;
  padding: 2rem 1rem 0 1rem;
  border-radius: 3px;
  /* width: 18%; */
  border: 2px solid #5B7881;
}
.story_box_text h3 span{
  display: block;
  font-size: 7rem;
  line-height: 4.5rem;

}
.story_box_text p{
  margin-top: 0;
  width: 77%;
  margin: 0 1rem;
  text-shadow: 0px 0px 4px #000000;
}

/**************** 動画ボタン ****************/
.m_btn{
    width: auto;
    margin: 20px auto;
    text-align: center;
    font-family: "kokuryu", sans-serif;
    font-size: 1.5em;
    border-radius: 10px;
    }
.m_btn.btn,.m_btn a.btn,
button.btn {
  margin: 0 auto;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
  width: 85%;
}
.m_btn a.btn-flat {
  overflow: hidden;

  padding: 1.5rem 6rem;

  color: #ffffff;
  border-radius: 0;
  background: #97f4c9;

/*    width: 850px;*/
}
.m_btn a.btn-flat span {
  position: relative;
  z-index: 1;
    font-size: 1.6em;
}
.m_btn a.btn-flat:hover {
    color: #ffff00;
}
.m_btn a.btn-flat:before {
  position: absolute;
  top: 0;
  left: calc(-150% + 50px);

  width: 370%;
  height: 500%;

  content: '';
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  -webkit-transform: rotate(45deg) translateX(0) translateY(0);
  transform: rotate(45deg) translateX(0) translateY(0);
  background: #ff5273;

}

.m_btn a.btn-flat:after {
  position: absolute;
  top: -400%;
  right: calc(-150% + 50px);

  width: 370%;
  height: 500%;

  content: '';
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  -webkit-transform: rotate(45deg) translateX(0) translateY(0);
  transform: rotate(45deg) translateX(0) translateY(0);
  background: #ff5273;

}

.m_btn a.btn-flat:hover:before {
  -webkit-transform: rotate(45deg) translateX(0) translateY(-50%);
  transform: rotate(45deg) translateX(0) translateY(-50%);
}

.m_btn a.btn-flat:hover:after {
  -webkit-transform: rotate(45deg) translateX(0) translateY(50%);
  transform: rotate(45deg) translateX(0) translateY(50%);
}
/**************** CAST ****************/
div.cs{
  margin: 0 auto;
  text-align: center;
}
#cs h3{
  font-size: 2em;
  text-align: center;
/*  padding: 20px 0;*/
  color: #ffffff;
}
.cast_box{
  margin: 2rem;
  width: 30%;
  display: inline-block;
  background-color:#478FA7;
  border-radius: 3px;
  padding: 2rem;
  position: relative;
}
.cast_box_text{
  margin: 0 auto;
  /* width: 70%; */
  position: relative;
  text-align: center;
}
.cast_box img{
	margin: 0 auto;
  width: 100%;
  display: block;
  border-radius: 3px;
  margin-bottom: 2rem;
}
.cast_box img.decoration{
	margin: 0 auto;
  width: 11%;
  border-radius: 0px;
  position: absolute;
}
.cast_box img.deco_2{
  width: 11%;
  top: 2%;
  left: -2%;
}
.cast_box img.deco_3{
  width: 11%;
  top: 27%;
  left: -3%;
}
.fuwafuwa{
  animation: fuwa_x 0.8s ease-in-out infinite alternate,
  fuwa_y 1.1s ease-in-out infinite alternate;
}
.fuwa_fuwa{
  animation: fuwa_xx 0.6s ease-in-out infinite alternate,
  fuwa_yy 1.2s ease-in-out infinite alternate;
}
@keyframes fuwa_x {
  0% {
    margin-left: 8px;
  }
  100% {
    margin-left: 0px;
  }
}
@keyframes fuwa_y {
  0% {
    margin-top: 0px;
  }
  100% {
    margin-top: 8px;
  }
}
@keyframes fuwa_xx {
  0% {
    margin-left: 10px;
  }
  100% {
    margin-left: 0px;
  }
}
@keyframes fuwa_yy {
  0% {
    margin-top: 0px;
  }
  100% {
    margin-top: 7px;
  }
}
.cast_box h4{
  margin: 0 auto;
  color: #fff;
  font-size: 3.5rem;
  text-align: center;
  display: block;
	font-family: "kokuryu", sans-serif;
	font-weight: 600;
	font-style: normal;
  letter-spacing: .2rem;
}
.cast_box h4 span{
  width: 100%;
  margin: 0 auto;
  color: #fff;
  font-size: 1.8rem;
  display: block;
}
.cast_box p{
  margin: 0 auto;
  width: 100%;
  display: block;
  font-size: 1.5rem;
  line-height: 1.4em;
  padding-top: 10px;
    color: #2E1A00;
}
hr{
  margin: .5rem auto;
  border: 1px solid #7ABFD6;
}
span.act{
  margin: 0 auto;
  display: block;
  margin-top: 2rem;
}
.staff_box{
  margin: 2rem auto;
  width: 70%;
  display: block;
  background-color:#57252F;
  padding: 1rem;
  border-radius: 3px;
  border: 3px solid #fff;
}
div.staff_box ul {
  margin:2em auto 3em auto;
  display: block;
	}
div.staff_box ul li {
	text-align:center;
	font-size:1.2em;
	padding-bottom:0.2em;
	margin-bottom:0.5em;
	font-family: "kokuryu", sans-serif;
	font-weight: 600;
	font-style: normal;
    color: #fff;
	}
	div.staff_box ul li span {
		font-size:66%;
  }

/**************** chart ****************/

main #chart a img{
  margin: 0 auto;
  display: block;
  filter: drop-shadow(0px 0px 8px rgba(141, 4, 4, 0.6));
  width: 70%;
  transform: translateZ(0);
}
/**************** movie ****************/
#movie{
    margin: 0 auto;
    width: 100%;
    display: block;
}
#movie h2 img{
margin-top: 70px;
}
#movie div.all{
    margin: 0 auto 100px auto;
    width: 1000px;
    display: block;
}
main section.mdl{
    margin: 10px;
    width: 30%;
    display: inline-block;
    overflow: hidden;
}
.btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
/*  height: 80px;*/
  box-sizing: border-box;
  text-decoration: none;
  transition-duration: 0.3s;
}
.btn:hover {
  background: #b4b1a0;
  color: #ffffff;
}
.btn img{
    width: 100%;
}
.remodal {
  padding: 0 !important;
  background: none !important;
    max-width: 800px !important;
}
.remodal-overlay {
background: rgba(99, 71, 71, 0.6) !important;
}
.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
}
.embed-container iframe, .embed-container object, .embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.mdl p{
    text-align: center;
    color: #2E1A00;
	font-family: "kokuryu", sans-serif;
    background-color: rgba(255, 255, 237, 0.7);
}
.remodal-cancel {
  color: #fff;
  background: rgba(0, 0, 0, 0.5)!important;
  width: 100% !important;
  margin-top: 25px;
}
.remodal-cancel:hover {
  background: #333;
}
/*----------pc非表示-----------*/
main br.sp-br{
display: none;
}
main img.sp{
  display: none;
}

main br.pc-br{
display: block;
}
/* } */
/**************** MOBILE ****************/

/* モニター幅750px以下 */

/**************** MOBILE ****************/

@media only screen and (max-width:768px){


/**************** HEADER ****************/
main #page-top {
  bottom: 50px !important;
  right: 0;
}
/**************** main img ****************/
main #main_img{
  margin: 0 auto;
  width: 100%;
  height: 0;
  padding-top: 113%;
	background-image:url(../img/main/main_sp_2024.jpg);
	background-size:cover;
	background-position:center center;
	background-repeat:no-repeat;
	}

main h2 img{
  width: 100%
}
.div_box{
  margin: 0 auto;
  width: 100%;
  padding: 40px 0;
}
.gloval_nav{
  display: none;
}
main section{
  padding: 50px 0;
}
main article{
    margin: 0 auto;
    overflow: hidden;
}

section.cs{
  border-radius: 2px;
  /* background-size: 30px 30px; */
}
.story_bg{
/* background-size: 40px 40px; */
}
main{
/* background-size: 40px 40px; */
}
/**************** sns ****************/
main #top{
  position: relative;
}
main #sns{
  position: initial;
  top: initial;
  margin: 2rem auto 0;
  width: 100%;
  display: block;
  text-align: center;
}
/**************** tw bnr ****************/
main #top{
  position: relative;
}
div.bnr_tw{
  margin: 0 auto;
    display: block;
    position: initial;
    width: 90%;
}
div.bnr_tw img{
    margin: 0 auto;
    width: 100%;
    display: block;
    margin-top: 20px;
}
div.bnr_tw a:hover{
    opacity: .7;
}
/**************** form ****************/
main section#form{
    margin: 10px 0;
    padding: 0;
    }
.bgf.form{
    margin: 0;
    margin-top: 30px;
    width: auto;
}
#form.div_box{
    background-color: none;
    padding: 0;
}
.form a{
    margin-top: 20px;
}
.form img{
    margin: 0 auto;
    width: 90%;
    display: block;
    margin-top: 20px;
}
.form ul{
    margin: 0 auto;
    width: 100%;
}
.form li{
    margin: 0 auto;
    width: 100%;
    display: block;
/*    vertical-align: top;*/
}
.form p{
    text-align: center;
}

div.fade img{
    width: 100%;
    display: block;
}
div.autoplay{
    margin: 0 auto;
    /* width: 90%; */
    display: block;
}
div.autoplay img{
    width: 100%;
    display: block;
}
/**************** INTRODUCTION ****************/

main section#intro {
    margin: 0 auto;
    width: 100%;
    display: block;
    }
main #intro div.bgf {
	margin: 0 auto;
	width: 90%;
	display: block;
  padding-bottom: 0;
    }
main #intro div.left {
	width:100%;
	display: block;
	}
main #intro div.left img{
  margin: 0 auto;
	width: 100%;
  margin-top: 0px;
	}
main #intro div.right {
	width:100%;
	display: block;
	}
main #intro h3 {
  margin: 0 auto;
	width:100%;
	display:block;
  font-size:170%;
  margin-top: 1.6rem;
  line-height: inherit;
	}
main #intro  h3.heart {
	text-indent : -1em;
	padding-left : 1em;
	}
main #intro p{
    width: auto;
    margin: 20px 0;
    }
    .intro_box {
      margin: 2rem auto;
      width: 90%;
  }
/**************** あらすじ ****************/
div.ar{
  margin: 0 auto;
  width: 100%;
  overflow: hidden;
  background-size:cover;
  background-position:center right;
  background-repeat:no-repeat;
  padding: 50px 0;
}
.ar p{
  margin: 0 auto;
  width: 90%;
  display: block;
  letter-spacing: .1em;
}
/**************** STORY ****************/
main #story {
  margin: 0 auto;
  width: 100%;
}
.story {
  margin: 0 auto;
  width: 100%;
  display: block;
    border-radius: 0px;
}
.story p{
    margin-top: 20px;
}
.tab-wrap {
  margin: 0 auto;
  width: 100%;
}
.tab-label {
	margin: 4px;
	padding: 7px 10px;
	font-size: 1em;
  width: 8%;
}
.tab-content {
    width: 100%;
    display: none;
  margin-top: 20px;
}

.tab-switch:checked+.tab-label+.tab-content {
    display: block;
}
.tab-switch {
    display: none;
}
.tab-content h3{
    font-size: 1.5em;
}
div.fade div iframe{
    width: 100%;
    height: 209px;
    }
.tab-content img{
    width: 100%;
    }
.story_box_text {
      margin: 1rem auto;
      display: block;
  }
  .story_box_text h3{
    text-align: center;
    font-size: 2rem;
    padding: 0;
    width: auto;
    border-radius: 1px;
  }
  .story_box_text h3 span{
    display: inline-block;
    font-size: 2.5rem;
    padding-right: 1rem;
    line-height: inherit;
  }
  .story_box_text p{
    width: 100%;
    margin: 0 auto;
    margin-top: 1rem;
  }
/**************** 動画ボタン ****************/
.m_btn{
    width: 100%;
    margin: 20px auto;
    text-align: center;
    font-family: "kokuryu", sans-serif;
    font-size: 1.5em;
    border-radius: 10px;
    }
.m_btn.btn,.m_btn a.btn,
button.btn {
  margin: 0 auto;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 2rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
/*  width: 90%;*/
}
.m_btn a.btn-flat {
  overflow: hidden;

/*  padding: 1.5rem 6rem;*/

  color: #ffffff;
  border-radius: 0;
  background: #ff5273;


}

.m_btn a.btn-flat span {
  position: relative;
  z-index: 1;
    font-size: 1.4em;
}
.m_btn a.btn-flat:hover {
    color: #7b78d6;
}

.m_btn a.btn-flat:before {
  position: absolute;
  top: 0;
  left: calc(-150% + 50px);

  width: 208%;
  height: 500%;

  content: '';
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  -webkit-transform: rotate(45deg) translateX(0) translateY(0);
  transform: rotate(45deg) translateX(0) translateY(0);
  background: #97f4c9;


}

.m_btn a.btn-flat:after {
  position: absolute;
  top: -400%;
  right: calc(-150% + 50px);

  width: 208%;
  height: 500%;

  content: '';
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  -webkit-transform: rotate(45deg) translateX(0) translateY(0);
  transform: rotate(45deg) translateX(0) translateY(0);
  background: #97f4c9;
}

.m_btn a.btn-flat:hover:before {
  -webkit-transform: rotate(45deg) translateX(0) translateY(-50%);
  transform: rotate(45deg) translateX(0) translateY(-50%);
}

.m_btn a.btn-flat:hover:after {
  -webkit-transform: rotate(45deg) translateX(0) translateY(50%);
  transform: rotate(45deg) translateX(0) translateY(50%);
}
.tab-content img{
  width: 100%;
}
/**************** CAST ****************/
.div_box {
  margin: 0 auto;
  width: 90%;
  padding: 40px 0;
}
#cs h3{
  font-size: 2em;
}
.cast_box{
  margin: 2rem auto;
  width: auto;
  display: block;
  align-items: center;
  justify-content: center;
  padding: 2rem;
}
.cast_box_text{
  margin: 2rem auto;
}
.cast_box img{
  width: 100%;
  display: block;
}
.cast_box img.decoration{
  width: 30%;
}
.cast_box img.deco_3{
  top: 18%;
}
.cast_box h4{
  font-size: 2.5rem;
  display: block;
	font-weight: 600;
	font-style: normal;
  padding-left: 1rem;
  letter-spacing: .2rem;
}
.cast_box h4 span{
  width: 100%;
  margin: 0 auto;
  font-size: 1.8rem;
  display: block;
}
.cast_box p{
  margin: 0 auto;
  width: 100%;
  display: block;
  font-size: 1.5rem;
  line-height: 1.4em;
  padding-top: 10px;
}
span.act{
  display: block;
  margin-top: 2rem;
}
div.staff_box ul {
  margin:2em auto 3em auto;
  display: block;
	}
div.staff_box ul li {
	font-size:1.2em;
	padding-bottom:0.2em;
	margin-bottom:0.5em;
    color: #fff;
	}
	div.staff_box ul li span {
		font-size:66%;
		}
.staff_box{
  margin: 2rem auto;
  width: auto;
  display: block;
  padding: 1rem;
}
/**************** CHART ****************/
main #chart a img{
  width: 100%;
}
/**************** FOOTER ****************/
main footer .bar img {
	width:auto;
	}

/**************** movie ****************/
#movie{
    margin: 0 auto;
    width: 100%;
    display: block;
}
#movie h2 img{
margin-top: 30px;
}
#movie div.all{
    margin: 0 auto;
    width: 100%;
    display: block;
    margin-bottom: 50px;
}
main section.mdl{
    margin: 15px auto;
    width: 90%;
    display: block;
/*    overflow: hidden;*/
}

.btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
/*  height: 80px;*/
  box-sizing: border-box;
  text-decoration: none;
  transition-duration: 0.3s;
}
.btn:hover {
  background: #b4b1a0;
  color: #ffffff;
}
.btn img{
    width: 100%;
}
.remodal {
  padding: 0 !important;
  background: none !important;
}
.remodal-overlay {
background: rgba(99, 71, 71, 0.6) !important;
}
.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
}
.embed-container iframe, .embed-container object, .embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.mdl p{
    text-align: center;
    color: #2E1A00;
	font-family: "kokuryu", sans-serif;
    background-color: rgba(255, 255, 237, 0.7);
}
.remodal-cancel {
  color: #fff;
  background: rgba(0, 0, 0, 0.5)!important;
  width: 100% !important;
  margin-top: 25px;
}

/*----------sp非表示-----------*/
main img.pc{
  display: none;
}
main img.sp{
  display: block;
  width: 250px;
  margin: 0 auto;
}

}
/*------------最大925--------------*/
@media screen and (max-width : 925px){
	main div.works{
		text-align: left;
		margin: 20px auto;
		max-width: 600px;
		padding-left: 25px;
	}
	main nav.gloval_nav ul{
	padding-left: 10px;
}
}
/*------------最大375--------------*/
@media screen and (max-width : 414px){
main #chart img {
	margin: 0 auto;
	display: block;
  width:90%;
}
main br.pc-br{
display: none;
}
main br.sp-br{
display: block;
}
main footer .bar img {
	width:90%;
	}
}
.bar{
    margin: 0 auto;
    width: 100%;
    display: inline-block;
    text-align: center;
    /* overflow: hidden; */
    background-color: #fff;
}

.bar a img{
    margin: 0 auto;
    width: auto;
    display: inline-block;
}
.bar p{
    text-align: center;
}
@media only screen and (max-width:768px){
.bar a img{
    margin: 0 auto;
    width: 90%;
    display: block;
    margin-bottom: 10px;
}
}
.ad{
    height: 100%;
    overflow: hidden;
}
/* 拡大 */
.zoomIn{
  animation-name:zoomInAnime;
  animation-duration:0.5s;
  animation-fill-mode:forwards;
}

@keyframes zoomInAnime{
  from {
  transform: scale(0.6);
  opacity: 0;
  }

  to {
    transform: scale(1);
  opacity: 1;
  }
}
.zoomInTrigger{
    opacity: 0;
}
.ad_bnr{
  margin: 0 auto;
  margin-top: 1rem;
}