@charset "UTF-8";
#sns_ {
 text-align: center;
 padding: 50px 0 0;
}
#sns_ h2 {
 font-size: min(4vw,18px);
}
#sns_ .flex_box {
 max-width: 120px;
 margin: 10px auto 0;
}
#sns_ .flex_box > * {
 width: 48%;
}
.img_cover{position: relative;pointer-events: none!important}
.img_cover::after{position: absolute;         top: 0;         left: 0;         width: 100%;         height: 100%;         pointer-events: none;}
/*装飾*/
.fs_l{font-size: 1.25em!important;}
.fs_ll{font-size: 1.45em!important;}
.fs_s{font-size: 0.85em!important;}
.fs_ss{font-size: 0.65em!important;}
.fs_18{font-size: 17px!important;}
.mt-1em{margin-top: 1em;}
.mt-2em{margin-top: 2em;}
.pl-2em{padding-left: 2em!important;}
.pr-2em{padding-right: 2em!important;}
.fc_blue{color: #1cbafb!important;}
.fc_pink{color: #f16892!important;}
.fc_gray{color: #636363!important;}
.ta-left{text-align: left!important;}
.ta-right{text-align: right!important;}
.ta-center{text-align: center!important;}
/*追従*/
.lp_cta_fixed {
 display: block!important;
 bottom: 0;
 background: rgba(0,0,0,.6);
 font-family: "source-han-sans-japanese", sans-serif;
 padding: .5em;
  width: 100%;
  position: fixed;
  left: 0;
  color: #fff;
  text-align: center;
  line-height: 1.5;
 z-index: 102;
}
.lp_cta_fixed.is-fixed {
 display: block;
}
.bottom_bnr p {
 font-size: 20px;
 margin-bottom: 5px;
}
.lp_cta_fixed .btn a {
 margin-top: 0;
 font-size: 16px;
}
.lp_cta_fixed .btn a .small_btn {
 font-size: 14px;
}
.lp_cta_fixed .btn_wrap {
 width: 70%;
 max-width: 720px;
 margin-top: 5px;
}
.lp_cta_fixed .fix_btn_end {
 max-width: 720px;
 margin: 5px auto 0;
 font-size: 14px;
}
.lp_cta_fixed .fix_btn_end.btn a {
 width: 100%;
 max-width: 100%;
 height: 40px;
 padding-top: .8em;
}
.fix_btn_lead a {
 font-size: 17px;
 text-decoration: underline;
}
.cp_text_link {
 position: absolute;
 bottom: 5px;
 right: 0;
 background: #000;
 width: 18%;
}
.cp_text_link a {
 display: block;
    padding: .7em 0;
    text-align: center;
    font-size: min(1.6vw,18px);
    border-top: 6px solid;
    border-left: 6px solid;
    border-bottom: 6px solid;
    border-image: linear-gradient(to right, #fc8e3d, #ff0576) 1;
    color: #ffbb2c;
    background: linear-gradient(to right, #ffbb2c 0%, #ff0576 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
 line-height: 130%;
 font-weight: bold;
}
.btn_wrap {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
}
.btn_wrap .btn {
    width: 49%;margin: 0 auto;
}
.lp_cta_fixed .btn p {
 margin-top: 0;
}
.lp_cta_fixed .btn a {
 position: relative;
 display: block;
 padding: .8em .6em .4em;
 height: 3.5em;
}
    .lp_cta_fixed .btn.one a {
        padding-top: 16px;
        padding-bottom: 16px;
    }
.lp_cta_fixed .btn span.fs_l{font-size: 1.15em!important;}
.lp_cta_fixed .btn a span.ic {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 8px;
    display: block;
    background-image: url("../images/playbtn.png");
    background-size: 100% 100%;
    width: 25px;
    height: 25px;
    -webkit-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
}

.lp_cta_fixed .btn a:hover span.ic {
    transform: translateY(-50%);
}
.btn p.l-color {
 border: none;
}
.btn p.l-color a {
 background: linear-gradient(to right, #fc8e3d 0%, #ff0576 100%);
}

@media screen and (max-width: 768px) {
.lp_cta_fixed .btn {
  width: 100%;
 }
 .lp_cta_fixed .btn_wrap {
  width: 100%;
 }
 .lp_cta_fixed .btn_wrap .btn {
  width: 49%;
  margin-top: 0;
 }
 .lp_cta_fixed .btn a {
  padding: 1.5vw 0 1vw;
 }
 .lp_cta_fixed .btn.one a {
  padding: 2.2vw 0;
   font-size: min(3.7vw,14px);
 }
 .fix_btn_lead a {
  font-size: min(3vw,14px);
 }
 .cp_text_link {
  width: 38%;
  bottom: 85px;
 }
 .cp_text_link a {
  font-size: min(3.5vw,14px);
  border-width: 4px;
 }
 .lp_cta_fixed .fix_btn_end.btn a {
 }
 .lp_cta_fixed .btn a {
  font-size: min(2.6vw,14px);
 }
 .lp_cta_fixed .btn a span.small_btn {
  font-size: min(2.2vw,10px);
 }
 .lp_cta_fixed .btn a span.ic {
  display: none;
 }
	.lp_cta_fixed .btn span.fs_l {
    font-size: 1.35em !important;
    padding-top: 0.2em;
    display: block;
}
}
.only_h1 h1 {
 max-width: 1000px;
 margin: auto;position: relative;z-index: 90;
}
.slick-dots li button:before{
	font-size:18px!important;
}
#footer_lemino_inc_3 .objects.pc,
#footer_lemino_inc_3 .objects.sp {
 display: none!important;
}
.totop a {
 display: none!important;
}
.wrapper {
 background: #000;
}
#totop_btn {
 width: 12px;
}
#totop_btn.is-fixed {
 position: fixed;
 right: 20px;
 bottom: 100px;
}
.totop a {
 
}
a {
 display: block;
}
a.opacity:hover {
 opacity: .8;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}
footer {
    color: #FFF;
    position: relative;
    background: #fc8e3d;
    background: -moz-linear-gradient(left, #fc8e3d 0%, #ff0576 100%);
    background: -webkit-linear-gradient(left, #fc8e3d 0%, #ff0576 100%);
    background: linear-gradient(to right, #fc8e3d 0%, #ff0576 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fc8e3d', endColorstr='#ff0576', GradientType=1);
    height: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
    font-size: 12px;
}
body .wrapper, .wrapper {
font-family: "sicprintempspetit", sans-serif;
font-weight: 400;
font-style: normal;
 color: #fff;
}
.font_n {
font-family: "heisei-maru-gothic-std", sans-serif;
font-weight: 400;
font-style: normal;
}
.font {
font-family: "heisei-maru-gothic-std", sans-serif;
font-weight: 700;
font-style: normal;
}
.font02{font-family: "logo-arl-std", sans-serif;
font-weight: 700;
font-style: normal;}
.font03{font-family: "sicuniversallinebdy", sans-serif;
font-weight: 600;
font-style: normal;}
.font04{font-family: "vdl-logojrblack", sans-serif;
font-weight: 900;
font-style: normal;}
.wrapper .inner {
 width: 90%;
 max-width: 1100px;
 margin: auto;
	position: relative;
	z-index: 5;
}
/* ==========================================================================
btn
========================================================================== */
.btn p {
 max-width: 500px;
 margin: 20px auto 0;
 padding: 4px;
 border-radius: 100px;
 background: #fff
}
.btn a {
   background: #fb5289;
   color: #fff;
   font-size: 22px;
   text-align: center;
   width: 100%;
   height: 65px;
   display: flex;
   align-items: center;
   justify-content: center;
   text-decoration: none;
   border-radius: 100px;
   box-sizing: border-box;
 line-height: 100%;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;position: relative;
	padding-bottom: 0.2em;
}
.btn a span.fs_ss{}
.btn a span.ic {
   display: block;
   background-image: url(../images/playbtn.png);
   background-size: 100% 100%;
   width: 30px;
   height: 30px;
   margin-left: 10px;
   -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
	position: absolute;
	right: 10%;
}


/*.btn a:hover span.ic {
   transform: translateX(5px);
   -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}*/
/*contents*/
.contents_wrap {
 padding: 60px 0;
}
.contents_wrap.first {
 padding-bottom: 50px;
}

#first{background: #ffffffc2;position: relative;padding: 1em;}
 #fv {
  background: url("../images/bg_fv.webp") repeat-x top center;
	 position: relative;
 }
#fv::after{content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: #ffffff5e;
    top: 0;
    position: absolute;}
/*lead*/
#lead {
 margin: auto;
 text-align: center;
 -webkit-text-stroke: 3px #ffffff;
    text-stroke: 3px #fff;
    paint-order: stroke; padding: 0 0 60px;
	position: relative;
	z-index: 90;
}
.lead_inner{max-width: 1000px;
    margin: 0 auto;
    position: relative;
}
#lead h2 {
     position: relative;
    padding-top: 1em;
    font-size: 3em;
    line-height: 130%;
    font-weight: 900;
    letter-spacing: 3px;
    max-width: 1000px;
    margin: 0 auto 0;
    z-index: 90;
    -webkit-text-stroke: 5px #ffffff;
    text-stroke: 5px #fff;
    paint-order: stroke;
}
#lead h2 img.fukidashi{    display: block;
    position: absolute;
    width: 150px;
    top: 0;
    right: 10%;}
#lead p.h2_ad{margin-top: 5px;
	line-height: 1.75em;}
/*#lead h2::after{content: '';
    position: absolute;
    display: block;
    background: url(../images/h2_bg.webp) no-repeat;
    background-size: cover;
    width: calc(100% + 0.5em);
    height: calc(100% + 0.5em);
    text-align: center;
    top: 0;
    right: 0em;
    bottom: 0.85em;
    left: -1em;
    margin: auto;
    z-index: 0;}*/
#lead h2 img{max-width: 900px;margin: 0 auto;}
/*#lead h2::before {
 position: absolute;
 content: '';
 display: block;
 width: 2px;
 height: 30px;
 background: #fff;
 border-radius: 100px;
 bottom: -17px;
 left: 50%;
 transform: translateX(-50%);
}*/
#lead p {
 margin-top: 25px;
 font-size: min(3.7vw,24px);
 line-height: 200%;
 letter-spacing: 1px;    color: #1cbafb;position: relative;
    z-index: 90;
}
#lead p span {
 color: #f16892;
    font-size: 120%;
  /*  text-shadow: 0px 0px 3px rgb(255 255 255);*/
}
#lead p + p {
 margin-top: 15px;
}
.story_lead {
 font-size: min(4.2vw,21px);
 padding-bottom: 15px;
}
/*title*/
.title {
 position: relative;
    padding-top: 1em;
    padding-bottom: 1em;
    text-align: center;
    margin: auto;
    font-size: 3em;
    letter-spacing: 0.05em;
    color: #ff4f85;
	z-index: 90;-webkit-text-stroke: 6px #ffffff;
    text-stroke: 6px #fff;
    paint-order: stroke;
/*text-shadow: 2px 2px 0px rgb(188 162 255), 4px 4px 0px rgb(251 42 245 / 42%);*/
	
}
.title span{font-size: 0.5em;
    margin-top: 0.6em;
    display: block;}
.title::before{content: '';
    display: block;
    position: absolute;
    right: 0;
    left: 0;
    margin: 0 auto;
    height: 5px;
    border-radius: 1em;
    width: 200px;
    bottom: 0.5em;
    background: linear-gradient(to right, #ff4f85 0%, #bcabff 50%, #00b4ff 100%);}
/*#trailer*/
#trailer {
 padding:30px 0 ;    position: relative;
    z-index: 90;
}
/*movie*/
.movie {
 max-width: 900px;
    aspect-ratio: 16 / 9;
    margin: 0 auto 0;
    overflow: hidden;
    border-radius: 20px;
    border: 10px solid #fff;
	background: linear-gradient(to bottom, #e56eb0 0%, #528adf 100%);
}
.movie iframe,
.movie video {
  width: 100%;
  height: 100%;
}

/*flex*/
.flex_box,
.flex_box.only {
 display: -webkit-flex;
 display: flex;
}
.flex_box.ai {
 -webkit-align-items: center;
 align-items: center;
}
.flex_box.js {
 justify-content: space-between;
}
.im_left {
 position: relative;
 width: 40%;
 z-index: 2;
}
.im_left p {
 margin-top: 5px;
 font-size: 17px;
 text-align: center;
}
.tx_right {
 width: 60%;
}
/*schedule*/
#schedule{ padding: 60px 0 ;background: rgb(255 255 255 / 77%);}
#schedule .sche_box{display: flex;
    max-width: 600px;
    margin: 0 auto;}
#schedule .sche_box li{width: 100%;}
#schedule .sche_inner li{width: 100%;}
#schedule .sche_inner{    max-width: 1000px;
    margin: auto;
    padding-bottom: 70px;
    background: rgb(255 255 255 / 77%);
    border-radius: 20px;
    padding: 3em 2em;
    box-shadow: 0px 5px 15px 0px rgb(111 41 175 / 35%);
    z-index: 90;
    position: relative;color: #566ac1;}
#schedule .sche_inner .ad_txt{color: #232323;text-align: center;}
#schedule .sche_inner .epi{font-size: 1.6em;}
#schedule .sche_inner .epi + p{
    margin-top: 0.5em;
    text-indent: 0.5em;
    border-left: 3px dotted #ff4f85;
    margin-left: 0.5em;
    font-size: 1.1em;}
#schedule .sche_date{    margin: 2em auto 0;
    text-align: left;
    max-width: 15em;}
#schedule .sche_date li + li{margin-top: 1.5em;}

/*特別映像*/
#sp_movie {
    padding-bottom: 70px;
    background: rgb(255 255 255 / 77%);
    position: relative;
}
#sp_movie::after {
    content: '';
    height: 100%;
    width: 100%;
    display: block;
    background: url(../images/bg_star.webp) repeat;
    position: absolute;
    top: 0;
    background-size: 32%;
    opacity: 0.8;
    z-index: 0;
}
.sp_movie_box{display: flex;margin-top: 2em;flex-wrap: wrap;}
.sp_movie_box li{width: 45%;margin: auto;    border: 9px solid #fff;    margin: 0 auto 1em;
    background: #fff;border-radius: 1em;box-shadow: 10px 10px 10px -6px rgb(153 143 191 / 74%);}
.sp_movie_box li p{    text-align: center;
    color: #4356ad;
    font-weight: bold;
    padding: 0.2em 0 0;}
.sp_movie_box li a{display: block;}
.sp_movie_box li a img{
    border-radius: 1em;
    }
.sp_movie_box li a:hover{opacity: 0.8;}


.btn_site{background: #ffffff;
    color: #fb5289;
    font-size: 22px;
    text-align: center;
    width: 100%;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border-radius: 100px;
    box-sizing: border-box;
    line-height: 100%;
    -webkit-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
    max-width: 450px;
    margin: 1em auto;position: relative;}
.btn_site span{display: inline-block;
    width: 25px;
    height: 25px;
    position: absolute;
    right: 1em;
}
.btn_site.gray{background: #818181!important;color: #fff!important;pointer-events: none!important;}
.btn_site.b_ye{color: #06b3ff;    border: 4px solid;}
.btn_site.b_pi{color: #fb5289;    border: 4px solid;}
.btn_site.b_ye span{background: url("../images/icon_ye.webp") no-repeat;background-size: contain;}
.btn_site.b_pi span{background: url("../images/icon_pi.webp") no-repeat;background-size: contain;}

.btn_site:hover,.btn p:hover {  transform: translateY(4px);  box-shadow: none;-webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;}

/*story*/
#story {
 padding-bottom: 70px;
 background: rgb(255 255 255 / 77%);
	position: relative;
}
#story::after{content: '';
    height: 100%;
    width: 100%;
    display: block;
    background: url(../images/bg_star.webp) repeat;
    position: absolute;
    top: 0;
    background-size: 32%;
    opacity: 0.8;
    z-index: 0;}
.story_inner {
 max-width: 1000px;
 margin: auto;
	padding-bottom: 70px;
    background: rgb(255 255 255 / 77%);
	    border-radius: 20px;
    padding: 3em 2em;
    box-shadow: 0px 5px 15px 0px rgb(111 41 175 / 35%);    z-index: 90;
    position: relative;
}
#story p {
 /*   background-image: linear-gradient(180deg, #e8e8e8 1px, transparent 1px);*/
    background-size: 100% 2em;
    line-height: 2em;
    padding-bottom: 1px;
 font-size: 1.1em;
	color: #1f4d77;
	    text-align: left;
	position: relative;
}
#story p + p{margin-top: 2em;}
/*#story p + p::after{content: '・・・';
    position: absolute;
    display: block;
    left: 0;
    right: 0;
    margin: 0 auto;
    background: linear-gradient(to right, #b6a8ff 0%, #e86aff 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: bold;
    font-size: 2em;
    text-align: center;
    top: -1.35em;}*/
#story p span{display: inline-block;}
.slider {
 margin-top: 40px;
}
/*cast*/
#cast {
 background: rgba(174,158,147,.2);
}
#cast .cast_tags {
 display: inline-block;
 padding: .4em 1em .4em 1.2em;
 font-size: 26px;
 background: #637fba;
 color: #fff;
 transform: translateX(-15px);
}
.note_box {
 margin-top: 20px;

 border-radius: 10px;

}
.flex_box.two {
 -webkit-flex-wrap: wrap;
 flex-wrap: wrap;
 gap:0 2%;
	margin-top: 2em;
}
.flex_box.two > * {
     width: 47.5%;
    margin: 0 auto 30px;
    border-radius: 20px;
    background: #ffffffde;
    padding: 0em 1em 1.5em 0;
}
#cast .paneler.flex_box.two h3{position: relative;
       position: relative;
    margin-bottom: 15px;
    font-size: 1.4em;
    min-height: 3.5em;
    display: flex;
    align-items: center;
    background: #f05987;
    color: #fff;
    padding: 0.7em 1.5em 0.5em;
    border-radius: 0 0 20px 0;
    margin-right: 0;background: linear-gradient(to right, #ff4f85 0%, #98a9ff 100%);}
#cast .paneler.flex_box.two h3 span{font-size: 0.8em;display: inline-block;}
#cast .paneler.flex_box.two h3 span:nth-child(1){background: url(../images/icon_plus.webp) top center no-repeat;
    display: inline-block;
    width: 25px;
    height: 25px;
    position: absolute;
    background-size: contain;
    left: 0;
    top: 0;
    bottom: 0;}
.flex_box.three {
 -webkit-flex-wrap: wrap;
 flex-wrap: wrap;
 gap:0 2%;
}
.flex_box.three > * {
 width: 31%;
 margin-bottom: 10px;
}
.flex_box.three.four > * {
 width: 23%;
}
#cast .paneler.flex_box.three.four h3  {
 border-bottom: none;
 margin-bottom: 0;
 padding-bottom: 0;
	position: relative;
}
#cast .paneler.flex_box.three.four h3 ::after{content: '';position: absolute;display: block;}
.im_left {
 border-radius: 10px;
 overflow: hidden;
}
#cast  .im_left img{    border: 5px solid #f05987;
    border-radius: 12px;border-top: #9ae8e6 5px solid;
    border-left: #583D82 5px solid;
    border-bottom: #fc9fcc 5px solid;
    border-right: #b18df7 5px solid;}
#cast {
/* background: url(../images/bg_grid.webp) top center rgba(255, 255, 255, .7);*/
	background: #ffffffa1;
    color: #566ac1;
    background-size: 2%;
    background-repeat: repeat;
}
#cast .paneler .note_box {
 margin-top: 10px;
}
#cast .paneler .im_left {
 width: 100%;padding-left: 2em;
}
#cast .paneler .tx_right {
 width: 100%;
 text-align: left;
	display: flex;
	    align-items: center;
	padding-left: 1.5em;
}
#cast .paneler .note_box p.s_comment {
 font-size: 11px;
}

#cast .paneler h3 .small {
 font-size: 14px;
}
.cast_cast {
 line-height: 100%;
	    line-height: 100%;
    font-size: 1.6em;
    color: #f05987;
}
.cast_cast span {
 display: block;
 margin-top: 10px;
}
.diagram {
  max-width: 700px;
  margin: auto;
}
.copy {
 padding: 30px 0;
 text-align: center;
 font-size: min(3vw,12px);
}
.poster {
  max-width: 1000px;
  margin: auto;
}
/*tokuten*/
.tokuten_scroll .inn {
    padding-right: 2em;
    height: 230px;
    overflow-y: scroll;
    text-align: left;
}
.tokuten_scroll .inn .inn_box {
    margin-bottom: 2em;
}
.tokuten_scroll .inn .inn_box > ul > li {
    text-indent: -1em;
    margin-left: 1em;
    margin-bottom: 0.3em;
}

/*campaign*/
#campaign {
 background: rgb(255 230 249 / 88%);
}
#campaign .campaign_inner{
 max-width: 1000px;
    margin: auto;
    padding-bottom: 70px;
    background: rgb(255 255 255 / 77%);
    border-radius: 20px;
    padding: 3em 2em;
    box-shadow: 0px 5px 15px 0px rgb(111 41 175 / 35%);
    z-index: 90;
    position: relative;
	text-align: center; color: #566ac1;
}
#campaign .campaign_inner::before{content: '';
    background: #676767ad;
    width: 100%;
    position: absolute;
    height: 100%;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: 0em;
    border-radius: 20px;z-index: 5;}
#campaign p.cp_end{color: #fff;
    font-weight: 700;
    text-align: center;
    position: absolute;
    z-index: 95;
    top: 50%;
    left: 0;
    right: 0;
    margin: 0 auto;
    font-size: 2.5em;}
a.cp_link{        position: fixed;
    bottom: 20%;
    width: 20%;
    right: 0;
    display: block;
    z-index: 99;
    max-width: 230px;
    min-width: 150px;
}
.campaign_inner h3{ font-size: 1.7em;}
.campaign_inner h3 + p{font-size: 1.5em;margin: 0.5em auto; color: #566ac1;line-height: 1.5em;}
.campaign_inner img{max-width: 800px;display: block;
margin: 0.5em auto 1em;}
.campaign_inner ul{margin: 1em auto;text-align: left;max-width: 800px;}
.campaign_inner ul li.cp_title{color: #4bb3e2;font-weight: bold;font-size: 1.1em;}
.campaign_inner ul li{text-indent: -1em;padding-left: 1em;line-height: 1.5em;font-weight: normal;color: #363636;}
.campaign_inner .btn_site{margin-top: 1em;font-size: 1em;}

@media screen and (max-width: 812px) {
 .lp_cta_fixed .btn p {
  border-width: 1px;
 }
 .btn p.l-color {
  padding: 3px;
 }
 .only_h1 {
  padding-top: 40px;
}
 .common_footer_wrapper .footer_inner {
  width: 93%!important;
 }
 #totop_btn {
 width: 10px;
}
#totop_btn.is-fixed {
 position: fixed;
 right: 10px;
 bottom: 100px;
}
 .loader {
width: 50%;
height: 30%;
}
 #loader_wrap {
  z-index: 5000;
 }
 #fv_inner .top_btn {
 position: absolute;
 bottom: 25%;
 right: 0;
  width: 30%;
}
#fv_inner .top_btn a {
 display: block;
 transition: all .5s;
}
#fv_inner .top_btn a:hover {
 transform: translateY(5px);
 transition: all .5s;
}
 /* SPフッター812*/
 /*ユーザーエージェント出し分け用*/
.iphone .android_show, .iphone .pc_show {display:none;}
.android .iphone_show, .android .pc_show {display:none;}
.pc .iphone_show, .pc .android_show {display:none;}
.pc .visible .iphone_show, .pc .visible .android_show {display:block;}

    .footer_lemino_inc_3 .subfoot{
        margin-top: 30px;
        padding-right: 20px;
        padding-left: 20px;
        height: calc(290px / 2 * 0.75) ;
    }
    
        .footer_lemino_inc_3 .subfoot .x .tit,
    .footer_lemino_inc_3 .subfoot .yt .tit {
        font-size: 14px;
        color: #fff;
        text-align: center;
        margin-bottom: 10px;
 }
     .footer_lemino_inc_3 .subfoot .x a,
    .footer_lemino_inc_3 .subfoot .yt a {
        display: block;
        background-image: url(../../teaser/common/images/x.png);
        background-size: calc(96px / 2) calc(96px / 2);
        background-repeat: no-repeat;
        background-position: left center;
        padding-left: 55px;
        height: calc(96px / 2);
        color: #fff;
        display: flex;
        align-items: center;
        text-decoration: none;
        width: fit-content;
        margin-left: auto;
        margin-right: auto;
        font-size: 12px;
        line-height: 160%;
     }
     #news .footer_lemino_inc_3 .subfoot .x a {
        display: block;
        background-image: url(../../../teaser/common/images/x.png);
     }

    .footer_lemino_inc_3 .subfoot .x a,
    .footer_lemino_inc_3 .subfoot .yt a{
      background-position: center;
   }
   
    .footer_lemino_inc_3 .subfoot .yt a {
        background-image: url(../../teaser/common/images/yt.png);
 }
 
     #news .footer_lemino_inc_3 .subfoot .yt a {
        display: block;
        background-image: url(../../../teaser/common/images/yt.png);
     }
 
      .footer_lemino_inc_3 .end {
        padding-top: 12vw;
        padding-bottom: 4vw;
      }
    .footer_lemino_inc_3 .end .backtop a{
        padding-top: 2vw;
        padding-bottom: 2vw;
        margin-bottom: 4vw;
        background-color: #151515;
        font-size: 16px;
    }
      .footer_lemino_inc_3 .subfoot .tit {
  position: absolute;
  top: 0;
  left: 51%;
  transform: translateX(-50%);
  font-size: 13px;
 }
  body {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-text-size-adjust: 100%;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
  color: #4d4d4d;
  }
 .btn a {
  font-size: 18px;
  font-weight: 400;
 }
 .sp {
  display: block;
 }
 .pc {
  display: none;
 }

 .home {
  position: fixed;
  top: 10px;
  left: 10px;
  width: 20%;
  max-width: 130px;
  z-index: 1000;
 }
/* ヘッダー*/
 .c-hamburger__text {
  display: none!important;
 }
.l-header {
  display: block;
  z-index: 999;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 50px;
	background: #fff;;
}
 .p-nav__inner {
  width: 100%;
 }
.c-hamburger {
  position: relative;
  width: inherit;
  height: inherit;
  margin: 0;
 border-radius: 0 0 0 10px;
  cursor: pointer;
}
button.c-hamburger{background: #f16892;;}
	button.c-hamburger::before{display: none;}
.c-hamburger span {
  display: block;
  position: relative;
  left: 50%;
  width: 30px;
  height: 2px;
  transform: translateX(-50%);
  background: #fff;;
  transition: all 0.4s;
}


.c-hamburger span:nth-of-type(1) {
  top: -4px;
}

.c-hamburger span:nth-of-type(2) {
  top: 1px;
}


.c-hamburger span:nth-of-type(3) {
  top: 6px;
}


.c-hamburger .c-hamburger__text {
  display: block;
  top: 12px;
  background: transparent;
  color: #fff;
  font-size: 10px;
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
}


.c-hamburger.is-active span:nth-of-type(1) {
  top: 0;
  transform: translateX(-50%) rotate(225deg);
}


.c-hamburger.is-active span:nth-of-type(2) {
  opacity: 0;
}


.c-hamburger.is-active span:nth-of-type(3) {
  top: -4px;
  transform: translateX(-50%) rotate(-225deg);
}

.p-header__nav {
  display: flex;
  z-index: 10;
  position: absolute;
  top: 0;
  right: -100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100vh;
  background: transparent;
  font-weight: 700;
  opacity: 0;
  transition: 0.6s;
 color: #fff;
}



.p-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: inherit;
  padding: 13px 20px;
}


.p-header__title {
  width: 100%;
  max-width: 120px;
  height: 48px;
  background: lightgray;
}


.p-header__title a {
  display: block;
  width: 100%;
  height: auto;
}


.p-header__title a img {
  height: 100%;
}


.p-header__hamburger {
  z-index: 100;
  position: absolute;
  top: 0;
  right: 0;
  width: 55px;
  height: 100%;
}


.p-header__nav.is-active {
  position: fixed;
  top: 0;
  right: 0;
background: url(../images/bg_sp.webp) no-repeat top center / 100%, url(../images/bg_all.webp) top center #ea96d7;
  opacity: 1;
  transition: 0.6s;
}

.p-nav {
  padding-top: 72px;
  padding-bottom: 72px;
}


.p-nav__list {
  display: block;
  width: 100%;
  padding: 0 30px;
}
 .p-nav__list li span {
  display: block;
  padding: 10px 15px;
  color: #fff;
  border-radius: 100px;
 }
.p-nav__item {
  position: relative;
  width: 100%;
}

.p-nav__link {
  display: block;
  width: 80%;
 margin-left: auto;
 margin-right: auto;
  height: 100%;
  padding: 20px;
  text-align: center;
 font-size: 16px;
    font-weight: 200;
 letter-spacing: 2px;
}
 .p-nav__list li span {
  display: block;
 padding: 7px 15px 5px;
  border-radius: 100px;
  color: #fff;
 }

/* .contents*/
 #fv {margin-top: 10px;
 }
 .flex_box {
  margin-left: auto;
  margin-right: auto;
 }
 .contents_wrap.first {
  padding-top: 30px;
 }
 #cast,
 .contents_wrap {
  padding-top: 40px;
 }
 #lead {
  padding-bottom: 0;
 }
	a.cp_link{    bottom: 20%;min-width: 120px;width: 40%;max-width: 200px;}
 #lead h2 {
  font-size: min(5.1vw,30px);
  padding-bottom: 5px;
	/*padding-right: 1em;max-width: 15em;*/
 }
	#lead h2 img.fukidashi{    width: 100px;    top: 1em;    right: 0;}
	#lead p.h2_ad{font-size: 1em;}
	#lead h2 .fs_ss{    line-height: 0.8em;    font-size: 0.8em !important;}
 #lead h2::before {
height: 20px;
}
 #lead p {
  margin-top: 10px;
  font-size: min(4vw,18px);
  line-height: 1.65em;
 }
	#lead .lead_sp{width: 94%;        margin: 0 auto;		
	}
	#lead .lead_sp p{ line-height: 1.55em;}
	#lead .lead_sp .lead_s_txt{color: #515151;-webkit-text-stroke: 0px #ffffff;margin-top: 1em;line-height: 0.5em;}
	#lead .lead_sp .lead_s_txt.fs_s{font-size:0.75em!important;}
	#lead .lead_sp .lead_s_txt span{color: #515151;}
	#lead p + p{margin-top: 0;}
	#lead p span{font-size: 110%;}
	.lead_actor{max-width: 30em;margin: 0 auto;}
	
 #lead .movie {
  max-width: 600px;
  width: 90%;
  margin: 20px auto 0;
 }
 #lead p.lead {
  width: 90%;
  font-size: min(3vw,15px);
  margin: 20px auto 0;
 }
 .btn {
  max-width: 500px;
  width: 90%;
  margin: 20px auto 0;
 }
 .btn a {
  height: 48px;
  border-width: 1px;
 }
	.btn a span.ic{width: 20px;height: 20px;}
 .btn p {
  padding:3px;
  border-width: 4px;
 }
 .title {
  padding-top: 25px;
  padding-bottom: 20px;
 }
 .title span {
  font-size: 3.5vw;
 }
 .movie {
         width: 90%;
        aspect-ratio: auto;
        border: 8px solid #fff;
        border-radius: 10px;
 }
 .flex_box.only .im_left {
  width: 65%;
 }
 .flex_box.only .tx_right {
  width: 35%;
 }
	
	/*見出し_SP*/
	.title::before{bottom: 0;width: 100px;}
	
	
 #cast  {
  padding-bottom: 0;
 }
 #cast .flex_box.only .cast_tags {
  padding-left: 1.8em;
  font-size: min(4vw,20px);
 }
 #cast .flex_box.only h3 {
  margin-top: 8px;
  padding-left: 8px;
  font-size: min(5.5vw,28px);
  line-height: 120%;
 }
 #cast .flex_box.only h3 .large {
  border: none;
  padding-right: 0;
  letter-spacing: -1px;
 }
 #cast .flex_box.only h3 .small {
  display: block;
  padding-left: 0;
  font-size: min(3.8vw,16px);
  color: #da959a;
   letter-spacing: -.5px;
 }
 #cast .paneler .note_box {
  margin-top: 4px;
 }
 .paneler .note_box {
  margin-top: 5px;
  padding: .5em;
 }
 #cast .paneler .note_box p.s_comment {
  font-size: 10px;
 }
 .note_box {
  margin-top: 5px;
  border-radius: 10px;
  transform: translate(0);
 }
 .flex_box.two > .flex_box {
  -webkit-flex-direction: column;
  flex-direction: column;
  justify-content: flex-start;
 }
 .im_left p {
  font-size: 14px;
 }
 #cast .paneler.flex_box {
  -webkit-flex-direction: column;
  flex-direction: column;
 }
 #cast .paneler.flex_box.four {
  -webkit-flex-direction: row;
  flex-direction: row;
 }
 #cast .paneler .tx_right,
 #cast .paneler .im_left,
 .im_left,.tx_right {
  width: 100%;
 }
 #cast .paneler h3 {
  margin-top: 10px;
  padding-left: 0;
  padding-bottom: 5px;
  font-size: min(4.5vw,18px);
  line-height: 90%;
 }
 #cast .paneler .note_box {
  font-size: min(3.3vw,14px);
  text-align: left;
 }
 .flex_box.two > .flex_box:nth-of-type(2n) {
  margin-right: 0;
 }
 .flex_box.two > .flex_box:nth-of-type(n+3) {
  margin-top: 20px;
 }
 .flex_box.three > * {
  width: 83%;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 40px;
 }
  #cast .paneler .im_left {
  width: 70%;
   margin: auto;
 }
 .country {
  max-width: 230px;
  width: 45%;
 }
.flex_box.three.four > * {
  width: 47%;
 }
#cast .paneler.flex_box.three.four .im_left {
  width: 100%;
 }
 #cast .s_comment {
  margin-top: 5px;
  font-size: 11px;
 }
 .poster {
  width: 100%;
  padding-bottom: 30px;
}
h2.title.poster_box {
  margin-top: 10px;
}
 .diagram {
  max-width: 480px;
  width: 90% ;
  margin: auto;
}
     .tokuten_scroll {
     font-size: 12px;
		padding: 1.5em;
    }
 
    .tokuten_scroll .inn {
     padding-right: 0.5em;
    }
 footer {
  height: 40px;
 }
 .wrapper {
   position: relative;
 background: none;
 z-index: 1;
 }
  .wrapper::before {
  content:"";
  display:block;
  position:fixed;
  top:0;
  left:0;
  z-index:-1;
  width:100%;
  height:100vh;
 background: url("../images/bg_sp.webp") no-repeat top center/100%,url("../images/bg_all.webp") repeat-y top center/500% #ebe2f5;
}
	#schedule .sche_box{font-size: 0.8em;}
	#schedule .sche_inner {
		display: block;width: 90%;padding: 3em 1em 2em;}
	#schedule .sche_inner li {
		width: 100%;}
	#schedule .sche_date li {font-size: 1em;}
	.fusen-1{font-size: 1.2em;}
	.fusen-1.july{margin-top: 2em;}
	
 .story_inner {
  width: 90%;
  margin: auto;
 }
 #story {
  padding-bottom: 30px;
 }
	#story::after{background-size: 63%;}
	.story_inner{margin: 1em auto;        padding: 1.5em;}
 #story p {
  margin-top:10px;
  padding-left: 5px;
  font-size: min(3.5vw,15px);
  line-height: 170%;
 background-size: 100% 1.7em;
	 text-align: left;
 }
 .story_lead {
  padding-bottom: 0;
 }
	#cast .paneler.flex_box.two h3{    font-size: 1.1em;    line-height: 1.15em;}
	#cast .paneler.flex_box.two h3 span:nth-child(1){width: 21px;    height: 21px;}
	.cast_cast{font-size: 1.5em;}
	#cast .paneler .im_left{padding-left: 1em;}
	.flex_box.two > *{width: 100%;    padding: 0em 1em 1em 0;}
	#schedule{    padding: 30px 0;}
	#schedule .sche_inner{        width: 100%;        padding: 2em 1em 2em;        margin-top: 1em;}
	
	.btn_site{width: 90%;font-size: 1.2em;}
	#schedule .sche_inner .ad_txt{font-size: 0.8em; text-align: left;}
	#sp_movie .title{font-size: 2.5em;}
	.sp_movie_box{display: block;}
	.sp_movie_box li{width: 100%;}
	.sp_movie_box li + li{margin-top: 1em;}
	
	/*campaign_sp*/
	#campaign .campaign_inner{padding: 2em 1em;margin-top: 1em;}
.campaign_inner h3 {
    font-size: 1.3em;
    line-height: 1.45em;
}
	.campaign_inner h3 + p {
		font-size: 1.05em;}
	.campaign_inner ul{font-size: 0.85em;}
	#campaign p.cp_end{font-size: 1.5em;}
	
	
 .copy {
  padding: 10px 0;
 }
}
.paneler + .title {
 margin-top: 50px;
 color: #f2aa0f;
}
@media screen and (max-width: 480px) {
	    #lead h2 img.fukidashi {
        width: 30%;
        top: 0.5em;
        right: -8%;
    }
}


@media screen and (min-width: 813px) {
 .story_lead {
 transform: translateX(-.5rem);
}
	
 .flex_box.three.four > *:nth-of-type(4),
 .flex_box.three > *:nth-of-type(2) {
  margin-top: 50px;
 }
.flex_box.two > .flex_box:nth-of-type(2n) {
 margin-right: 0;
}
.flex_box.two > .flex_box:nth-of-type(n+3) {
 margin-top: 30px;
}
 .flex_box.four > li:nth-of-type(4n) {
  margin-right: 0;
 }
/*PCフッター813*/
     .footer_lemino_inc_3 .subfoot{
        height: calc(230px / 2) ;
    }
 .footer_lemino_inc_3 .totop a {
    height: calc(300px / 2) ;
}
    .footer_lemino_inc_3 .subfoot .tit {
        position: absolute;
        top: 35px;
        left: 50%;
        transform: translateX(-50%);
        font-size: 15px;
   }
     .footer_lemino_inc_3 .subfoot .x a,
    .footer_lemino_inc_3 .subfoot .yt a{
      background-position: center;
   }
    .footer_lemino_inc_3 .end {
    padding-top: 0;
    padding-bottom: 50px;
  }
 .wrapper {
   background:url("../images/bg_lead.webp") no-repeat center top,url("../images/bg_all.webp") top center;
   background-attachment: fixed;
  background-color: #eae5f6;
 }
 /*ヘッダー*/
header {
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 z-index: 100;
 display: -webkit-flex;
 display: flex;
 justify-content: space-between;
 -webkit-align-items: center;
 align-items: center;
 padding: 1em 3.2em;
 text-align: center;
}
.home {
  position: fixed;
  top: 14px;
  left: 20px;
  width: 15%;
  max-width: 110px;
  z-index: 1000;

}
header .right li {
 position: relative;
 display: inline-block;
 margin-top: 5px;
 margin-left: 10px;
 font-size: 16px;
 line-height: 70%;
}

  .footer_fix {
      margin: 2% auto;
  }
  .lp_cta_fixed .lp_fv_cta_btn {
      width: min(44vw, 450px);
  }
 
.page_title {
  color: #0af;
  border-bottom: 1px solid rgba(0,0,0,.05);
  font-weight: 300;
  margin: 0;
  padding: 20px 0;
  text-shadow: 0 1px 1px rgba(0,0,0,.1);
  text-transform: uppercase;
}

/* PEN STYLES ========== */

  .menu {
   padding-top: 50px;
   z-index: 1
 }
.menu,
.menu .menu_title,
.menu ul li a,
.menu ul li a:after,
.menu ul li a:before {
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}
.menu {
 position: relative;
  margin: 0;
}
.menu ul {
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
}
.menu ul li {
 display: inline-block;
 border-right: 3px solid #f3f275;
}
.menu ul li:last-of-type {
 border: none;
}
.menu ul li a {
  color: #fff;
  display: block;
  padding: 0 20px;
  text-decoration: none;
  letter-spacing: 2px;
  font-size: 20px;
 font-weight: bold;
}
.menu ul li a span {
  color: #d66508;
}
.blur {
  font-size: 60px;
}
.blur:hover {
  animation: text-blur 0.5s;
}
}
@keyframes text-blur {
  0% {
    filter: blur(0);
  }
  50% {
    filter: blur(4px); /* ぼかしの強さ */
  }
  100% {
    filter: blur(0);
  }
}
/* アニメーションスタイル */
/* ---------------------------- */

/* アニメーション前 */
.u-fade-type-up{
    transform: translateY(50px);
    opacity: 0;
}

/* トリガー発火でis-activeを付与 */
.u-fade-type-up.is-active{
    transition: .6s;
    transform: translateY(0);
    opacity: 1;
}



@import url('https://fonts.googleapis.com/css?family=Exo:400,700');

.area{
    width: 100%;
}

.circles{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.circles li{
    position: absolute;
    display: block;
    list-style: none;
    width: 20px;
    height: 20px;
    background: rgba(255, 255, 255, 42%);
    animation: animate 25s linear infinite;
    bottom: -150px;
    
}

.circles li:nth-child(1){
    left: 25%;
    width: 80px;
    height: 80px;
    animation-delay: 0s;
}


.circles li:nth-child(2){
    left: 10%;
    width: 20px;
    height: 20px;
    animation-delay: 2s;
    animation-duration: 12s;
}

.circles li:nth-child(3){
    left: 70%;
    width: 20px;
    height: 20px;
    animation-delay: 4s;
}

.circles li:nth-child(4){
    left: 40%;
    width: 60px;
    height: 60px;
    animation-delay: 0s;
    animation-duration: 18s;
}

.circles li:nth-child(5){
    left: 65%;
    width: 20px;
    height: 20px;
    animation-delay: 0s;
}

.circles li:nth-child(6){
    left: 75%;
    width: 110px;
    height: 110px;
    animation-delay: 3s;
}

.circles li:nth-child(7){
    left: 35%;
    width: 150px;
    height: 150px;
    animation-delay: 7s;
}

.circles li:nth-child(8){
    left: 50%;
    width: 25px;
    height: 25px;
    animation-delay: 15s;
    animation-duration: 45s;
}

.circles li:nth-child(9){
    left: 20%;
    width: 15px;
    height: 15px;
    animation-delay: 2s;
    animation-duration: 35s;
}

.circles li:nth-child(10){
    left: 85%;
    width: 150px;
    height: 150px;
    animation-delay: 0s;
    animation-duration: 11s;
}



@keyframes animate {

    0%{
        transform: translateY(0) rotate(0deg);
        opacity: 1;
        border-radius: 0;
    }

    100%{
        transform: translateY(-1000px) rotate(720deg);
        opacity: 0;
        border-radius: 50%;
    }

}
.anim-box.poyopoyo {
  animation: poyopoyo 4s ease-out infinite;
  opacity: 1;
}
@keyframes poyopoyo {
  0%, 40%, 60%, 80% {
    transform: scale(1.0);
  }
  50%, 70% {
    transform: scale(0.95);
  }
}