@charset "utf-8";

a { outline:none; }
a:focus{ outline:none; }
*{ box-sizing:border-box; margin:0; padding:0; border:0; }
html { -webkit-text-size-adjust: 100%; font-size: 62.5%;}

body, html { min-height: 100%; height: 100%;  }

body { height: 100%; font-size:16px; font-size:1.6rem; font-family: 'Noto Sans JP', sans-serif; font-weight:300; background-size: cover; line-height: 1.8em; color:#333; background-attachment: fixed;}

a:link { color:#009ee0; text-decoration:none;  }
a:visited { color:#009ee0; text-decoration:none; }
a:hover { color: #009ee0; text-decoration:none; }
a:active {ccolor:#009ee0; text-decoration:none; }
a:focus {color:#009ee0; text-decoration:none;}


 /* =====================================================================
*	loader
* =================================================================== */

#loader-bg {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  z-index: 10000;
  background: #fff; 
}
#loader {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 300px;
  height: 100px;
  margin-top: -50px;
  margin-left: -150px;
  text-align: center;
  color: #248cda;
  z-index: 1002;
}
#loader p { padding: 0.4em; }

.fixed { position: fixed; width: 100%; height: 100%;}

#wrapper { display: block; width:100%; height: auto; position: relative; background-size: cover; background-attachment: fixed; background-position: center center; opacity: 0;}
body > #wrapper { height: auto; }

.bg-intro { background-image: url("../img4/bg_intro.jpg") !important; }
.bg-comment { background-image: url("../img4/bg_comment.jpg") !important; }
.bg-chara { background-image: url("../img4/bg_chara.jpg") !important; }
.bg-staff { background-image: url("../img4/bg_staff.jpg") !important; }
.bg-movie { background-image: url("../img4/bg_movie.jpg") !important; }
.bg-movie2 { background-image: url("../img4/bg_mov2.jpg") !important; }
.bg-news { background-image: url("../img4/bg_news.jpg") !important; }
.bg-music { background-image: url("../img4/bg_music.jpg") !important; }
.bg-event { background-image: url("../img4/bg_event.jpg") !important; }
.bg-top { background-image: none !important; background-color: #ffff00 !important; }
.bg-dvd { background-image: url("../img4/bg_dvd.jpg") !important;  }

.bg-ondemand { background-color: #fefeb6;
	background: url('../img4/bg_demand.jpg') ;
}



#top-contents { display: block; height:100%; width:100%; background-image: url("../img4/main_visual1.jpg"); background-repeat: no-repeat; background-size: auto 100%; background-position: center top; min-width:1100px; padding-top:0;}
#top-contents img.mainp { height:100%; width:auto; }

#contents { display: flex; position: relative; height:auto; min-height: 100vh; flex-wrap: nowrap; align-items: stretch; min-height: 700px; }

#wrapcov { position:relative; display: block; margin:0 auto 7em;}
#wrap { position:relative; width:100%; height:auto; margin:0 auto; min-height:100%; }

#wrap:before { content: ""; display: block; padding-top: 150%; }


.parap img { width:150%; height:150%; margin-top: -5%; margin-left: -25%;}

.mainlogo { display: block; width:100%; z-index: 200; position: absolute; bottom:0; padding-top:150px;}
.mainlogo img { width:100%; height:auto; }
.maincopy { display: block; height:100%; max-height:750px; width:auto; z-index: 220; position: absolute; top:0; right:0; }
.maincopy img { width:auto; height:100%; }



#sidearea { display: block; width: 220px; min-width: 220px; background-image: url("../img4/menu-bg.png"); background-repeat: repeat-y; background-position: top left; overflow: hidden; min-height: 100vh; z-index:50; }

.topmonly {
    z-index: 5000;
    position: absolute;
    top: 0px;
    left: -1px;
    background-image: none !important;
}

.pab { position: absolute; top:0; left:0; }

#sidearea .logo {}

#sidearea .menuarea { margin-left:-5px;  height:auto; }
#sidearea .menuarea.menu_fixed { left: 0; width:225px; 
  position: fixed;  overflow: hidden;
  top: 0;
}




#sidearea .menuarea2 { margin-left:-5px;  height:auto; }
#sidearea .menuarea2.menu_fixed {
  left: 0; width:225px; 
  position: fixed;  overflow: hidden;
  top: 0;
}

.snsarea {padding:5px 0;}
.snsarea a {width:30px; margin:0 15px; display: inline-block;}
.snsarea a img {width:100%;}
.snsarea a:hover { opacity: 0.7;}
.sptop-mov { display: none; }

.billing {display: block; text-align: center; margin: 4em auto 2em;}
.billing img {width:100%; max-width:1000px; }
.sp-billing {display: none;}
.sp-billing img {width:100%;}

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

html { -webkit-text-size-adjust: 100%; font-size: 100%;}
body { font-size:18px; font-size:1.8rem; }

.spsnsarea {padding:20px 25px; display: block; text-align: right; }
.spsnsarea a {width:40px; margin:0 10px 0 50px; display: inline-block;}
.spsnsarea a img {width:100%;}
.spsnsarea a:hover { opacity: 0.7;}
    
#top-contents { padding-top:80px; min-width:0; background-image:none;}
#top-contents img.spmain_visual { width:100%; height:auto; }    
.sptop-mov { position: relative; display: block; padding:20px 20px 0; z-index:200; margin-top:190px; }
.sptop-mov .inner { position: relative; width: 100%; padding-top: 56.25%;  }
.sptop-mov .inner iframe { position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;}
.sp-billing {display: block;}
.billing {display: none;}

.mainlogo { padding-top:200px;}
#wrapcov { position:relative; display: block; margin:0 auto 4em;}


}



#sidearea .my-parts { width:230; height:50px; overflow: hidden; margin-top:-5px;
	display: inline-block;
    background-image: url("../img4/menu-00bg.png") ;
	background-position: top right;
	transition: all .2s ease 0s;
	text-decoration: none;
}
#sidearea .my-parts:hover {
	cursor: pointer;
	background-position: top left;
	color: #fff;
}

.rotate {transform: rotate(-8deg);
    -moz-transform: rotate(-8deg);
    -webkit-transform: rotate(-8deg);}

#mainarea { flex: 1; max-width: 1000px; min-width: 700px; margin: 0 0 0 70px; padding:45px 0 0 0; }

#mainarea h2 { text-align: left; margin: 0; padding: 0; line-height: 1em; }
#mainarea h2 img {width:100%; max-width: 670px; }

#mainarea .main { background-color: rgba(255,255,255,0.90); border-radius: 10px; margin-bottom: 40px; }
#mainarea .eventw { background-color: rgba(255,255,255,0.90); border-radius: 10px; margin-bottom: 40px; overflow: hidden; }
#mainarea .main .mainphoto {}



#mainarea .bg100 { background-color: rgba(255,255,255,1.00) !important;  }

#mainarea .main-mov { background-color: rgba(255,255,255,0.90); border-radius: 10px; margin-bottom: 10px; }

.pb40 { padding-bottom: 40px; }
.pb50 { padding-bottom: 50px; }

.swiper-container{ text-align: center; border-radius: 10px; margin-bottom: 30px; }
.swiper-container .swiper-slide img{ max-width: 100%; height: auto;}


#mainarea .main .tex { padding:0 50px 10px; text-align: left;  }
#mainarea .main .tex p { padding:0; margin: 0 0 1em; text-align: justify; font-weight:400; line-height: 2em; }
#mainarea .main .tex p strong { font-size: 1.2em; font-weight:700; }
#mainarea .main .tex p.arasuji-t { font-size: 1.4em; font-weight:400; text-align: center; }
#mainarea .main .tex p.arasuji { font-size: 1.0em; font-weight:400; text-align: left; line-height: 2.2em; display: inline-block;}
.t-center { text-align: center !important; }

#mainarea .eventw .tex { padding:0 50px 20px; text-align: left; font-weight:400;  }
#mainarea .eventw .tex p { padding:0; margin: 1em 0 1em; text-align: justify; font-weight:400; line-height: 2em; }
.indent { padding-left:1em; text-indent:-1em; display: block; }

#mainarea .eventw .present { margin: 30px 50px 50px; padding:20px 20px; text-align: left; font-weight:400; background-image: url("../img4/present_bg.jpg"); background-size: cover; border-radius:1.5em; }
#mainarea .eventw h2.presents { padding:0.5em; line-height:1.0em; text-align: center; font-weight:bold; font-size:1.3em;  background-color: #fff; border-radius:0.5em; margin-bottom:1.0em; color:#0066cc; border:3px solid #00b0ec;}
#mainarea .eventw .present .item { display:flex; justify-content: space-between; }
#mainarea .eventw .present .item .boxs { display:block; width:49%; padding:15px 10px; border-radius:15px;  background-color: #fff; text-align: center; line-height:1.2em; font-size:1em; border:3px solid #00b0ec; position: relative;}
#mainarea .eventw .present .item .boxs img.pic {width:100%; height:auto; display:block; margin-bottom:5px; }
#mainarea .eventw .present .item .boxs span { font-size:0.8em;}

#mainarea .eventw .tex span.underl { border-bottom: 1px solid #333; }

img.mei3 { position: absolute; top:-20px; right:-10px; width:25%; height:auto;}




#mainarea .bddvd { background-color: rgba(255,255,255,0.90); border-radius: 10px; margin-bottom: 40px; padding:0 50px 40px;}

.pack { padding:30px; background: #ffff00; border-radius: 10px; margin-bottom: 40px; }
.tenpo { padding:30px; background: #fff; border:4px solid #ffff00; border-radius: 10px; margin-bottom: 40px; }

#mainarea .bddvd .texb { padding:0; text-align: left;  font-feature-settings: "palt";}
.jacket1 { background-color: rgba(255,255,255,1); text-align: center; padding:10px 0 20px; font-weight: 500;}
.jacket1 img { width:100%; height:auto;}
.jacket2 { background-color: rgba(255,255,255,1); text-align: center; float: right; width:30%; margin-left:2em; padding: 0 0 20px; min-width:200px; height:auto; font-size:0.9em; line-height:1.1em; font-weight: 500;}
.jacket2 img { width:100%; height:auto; }

.jactab { font-size:0.9em; line-height:1.2em;}
.jactab td { width:50%; }

.jactab3 { font-size:0.7em; line-height:1.1em;}
.jactab3 td { width:33%; text-align: center; font-weight: 500;}
.jactab2 { font-size:0.8em; line-height:1.2em; margin-bottom: 2em;}
.jactab2 td { width:50%; text-align: center; font-weight: 500;}
.jactab1 { font-size:0.8em; line-height:1.2em;}
.jactab1 td { width:100%; text-align: center; font-weight: 500; }



.jacket1pc { background-color: rgba(255,255,255,1); text-align: center; padding:10px 0 20px; font-weight: 500;display:block; margin: 0 auto 1.5em;}
.jacket1pc img { width:100%; height:auto;}
.jacket1sp { display:none; }

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

.jacket1sp img { width:100%; height:auto;}
.jacket1sp { display:block;  background-color: rgba(255,255,255,1); text-align: center; padding:10px 0 20px; font-weight: 500; margin: 0 auto 1.5em;}
.jacket1pc { display:none; }
    
}


#mainarea .bddvd .texb p { padding:0; margin: 0 0 1em; text-align: left; font-weight:400; line-height: 2em; }
#mainarea .bddvd .media { padding:0 0 10px; margin: 0 0 1em; text-align: left; font-family: 'Noto Sans JP', sans-serif; font-weight:900; line-height: 2em; font-size:1.1em; }
#mainarea .bddvd .media span { display: inline-block; font-size:1.3em; padding-right:1em; }
.spec { display: block; font-size:0.9em; line-height:1.2em; }

#mainarea .bddvd .tenpo-t { padding:0; margin: 0 0 1em; text-align: left; font-family: 'Noto Sans JP', sans-serif; font-weight:900; line-height: 2em; font-size:1.1em; }

.bfree { padding:0 0 3em; margin-top: -25px;}
.dvd-tit { padding:1em 0 1em; text-align: center; }
.dvd-tit img { width:100%; max-width:900px; }

@media screen and (max-width: 768px) {
#mainarea .eventw .present { margin: 30px 20px 50px; padding:20px 15px; border-radius:0.9em;}
#mainarea .eventw .present .item .boxs { font-size:0.9em;}
img.mei3 { position: absolute; top:-20px; right:-10px; width:30%; height:auto;}

#mainarea .bddvd { padding:0 15px 30px;}
#mainarea .bddvd .media span { display: block; font-size:1.3em; }
.pack { padding:15px 20px;  }
.jacket2 { float: none; width:100%; margin-left:0em; font-size:0.6em;}
.jacket2 img { width:45%; height:auto; }

.jactab { font-size:0.6em; }
.dvd-tit img { max-width:600px; }
}

#mainarea .main .story-pic { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: flex-start; width: 100%; height: auto; padding:50px 30px 60px; }
#mainarea .main .story-pic img { width:25%; max-width:224px; margin:2px; }

#mainarea .main-staff { background: none;  margin-bottom: 40px; }
#mainarea .main-staff .stafftex { padding:50px 50px; text-align: left; border:2px solid #01adeb; background: #fff;  margin-bottom: 25px;}
#mainarea .main-staff .stafftex .name { color:#01adeb;  margin: 0 0 0.3em; font-size: 1.4em; font-weight:400; line-height:1.2em;}
#mainarea .main-staff .stafftex .furi { margin: 0 0 0.7em; font-size: 1.2em; font-weight:400; line-height:1.2em; }
#mainarea .main-staff .stafftex .prof { text-align: justify; font-weight:400; margin-bottom: 1em; line-height:1.6em;}
#mainarea .main-staff .stafftex .btn-com { background: #01adeb; color:#fff; line-height:1em; display:inline-block; }
#mainarea .main-staff .stafftex .btn-com a { display: block; padding:0.5em 1.5em; font-size:0.8em; font-weight:400; color:#fff; line-height:1em; }
#mainarea .main-staff .stafftex .btn-com:hover { opacity: 0.7; }
#mainarea .main-staff .stafftex .btn-com span { vertical-align: middle; display: inline-block; line-height:1em;}
#mainarea .main-staff .stafftex .btn-com img{ vertical-align: middle; display: inline-block; padding-left:0.5em; line-height:1em; }

#mainarea .demand { background-color: #ffff00; border-radius: 10px; overflow: hidden; margin-bottom: 40px; }
#mainarea .demand .setsumei{ padding:0 25px 25px; text-align: center; font-size:1.1em; font-weight:700; margin-bottom:1.5em; line-height:1.3em !important; }
#mainarea .demand .setsumei .day { display:block; padding:0em 0 0.4em; text-align: center; line-height:1.2em; }
#mainarea .demand .setsumei  span { font-size:0.8em; }
#mainarea .demand .service { padding:30px 50px 10px; text-align: center; font-size:1.6em; font-weight:900; }
#mainarea .demand .service2 { padding:1em 50px 0px; text-align: center; font-size:1.2em; font-weight:700; }
#mainarea .demand .service2 span { font-size:0.7em; font-weight:700; }


#mainarea .demand .tex { padding:0 50px 10px; text-align: left;  }
#mainarea .demand .tex p { padding:0; margin: 0 0 1em; text-align: justify; font-weight:400; line-height: 2em; }
#mainarea .demand .indent { display:block; font-size:0.9em; margin: 0 0 1em; text-align: justify; font-weight:400; line-height: 1.4em !important; padding-left:1em;	text-indent:-1em;}


#mainarea .demand .od-pic-t { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; width: 100%; height: auto; padding:10px 25px 20px; }
#mainarea .demand .od-pic-t .bn { display: block; width: 24%; height: auto; padding:0; border-radius:10px; text-align: center; font-size:0.8em; line-height:1em; margin: 0 0.5% 1em; }
#mainarea .demand .od-pic-t a { display: block; width: 100%; height: auto; padding:0 5px; background: #fff; border-radius:10px; line-height:0; margin-bottom: 5px; box-shadow: 1px 1px 4px #c0c029; overflow: hidden;}
#mainarea .demand .od-pic-t a:hover { opacity: 0.7;}
#mainarea .demand .od-pic-t img { width:100%; border-radius:6px;}

.listarea { display:flex; flex-wrap: wrap; justify-content: space-between; padding: 0.5em 2em 1.5em;  }
.listarea a {  display: flex; flex-wrap: wrap; justify-content: center;
    align-items: center; width:48%; padding:0.75em 2em 0.75em 1em; margin:0.6em 0; position: relative; font-weight:500; line-height:1em; border-radius: 0.3em;  background: #fff;  -webkit-transition: all 0.3s ease; height:auto;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease; box-shadow: 0px 0px 5px 0 #999; text-align: center;  }
.listarea a:hover { background: #00b0ec; color:#ffff00; }
.listarea a span { font-size:0.7em; font-weight:500; }

.listarea a:after {
  font-family: 'Font Awesome 5 Free';
  font-size: 0.8em;
  line-height: 1em;
  position: absolute;
  top: calc(50% - .4em);
  right: 1em;
  margin: 0;
  padding: 0;
  content: '\f054';
}

.tex2 { padding:1.5em 2em 0; text-align: left; }
.indent2 { padding-left:1em; text-indent:-1em; display: block; font-size:0.9em; line-height:1.3em;}


.mb40 { margin-bottom: 40px !important; }
.mb50 { margin-bottom: 50px !important; }
.pd50 { padding: 50px !important; }
.mb6 { margin-bottom: 6em !important; }
.fs11 { font-size:1.1em !important; }
#sp-menu {display: none; }
.sp-menuarea { display:none;}
.sp-menuarea.open-menu { height: 100vh; }
.sp-menuarea a { display: inline-block; text-align: right !important; margin-right: -15px; margin-bottom: 10px; }


#mainarea .maincom {margin-bottom: 40px; padding:10px 10px 10px 0; display: flex; flex-wrap: wrap; justify-content: space-between; align-content: flex-start; }

.comarea { width:100%; background-color: rgba(255,255,255,0.90); border-radius: 10px; margin-bottom: 25px; padding:1.5em 1.8em; border:3px solid #00afeb; font-size:1.1em; }
.com-name {font-size:1.4em; font-weight:500; margin-bottom:0.5em; line-height:1.1em; color:#00afeb; }
.com-name span { font-size:0.8em; }
.com-tex {font-size:1.0em; font-weight:300; font-weight:400; }

#topinfoarea { width: 100%; max-width:1100px; margin: 10px auto 0px; padding: 50px 1em 20px; display: flex; flex-wrap: nowrap; justify-content: space-between; }
#topinfoarea .topnewsarea { width: 45%; margin: 0; padding:  0 0 1em; border-bottom:1px solid #333;}
#topinfoarea .toptwarea { width: 45%; margin: 0; padding: 0 0 1em; border-bottom:1px solid #333;}

#topinfoarea .snstitle { font-size:1.1em; border-bottom:1px solid #333;  font-weight:400;}
#topinfoarea .waku { padding:1em 0 0;  }
#topinfoarea .waku1 { padding:1em 0 0;  }
.topndate { font-size:0.9em; margin-bottom:0.5em; line-height:1em; }
.topntitle { font-size:1.1em; line-height:1.3em; margin-bottom:1.5em; }

@media screen and (max-width: 768px) {
#topinfoarea { width: 100%; max-width:1200px; min-width:0px; margin: 0 auto 70px; padding: 50px 20px;  flex-wrap: wrap;  justify-content: space-between;}
#topinfoarea .topnewsarea{ width: 100%; margin: 0 0 40px; padding: 0;}
#topinfoarea .toptwarea { width: 100%; margin: 0; padding: 0;}
    
.comarea { width:100%; }
    
#mainarea .demand .od-pic-t .bn { display: block; width: 48%; margin: 0 0.9% 1em;}

.listarea { padding: 1em 1em; }
.listarea a { display:block; width:100%; }
}






/*POP UP*/

#inline-wrap, #inline-wrap1, #inline-wrap2, #inline-wrap3, #inline-wrap4, #inline-wrap5, #inline-wrap6, #inline-wrap7, #inline-wrap8, #inline-wrap9, #inline-wrap10 {
	position: relative;
	margin:10px auto;
	width: 95%;
    max-width: 1100px;
	background: #fff;
	padding: 3em; border-radius: 0.5em; border:3px solid #01adeb;
}


.popup-modal-dismiss {
	text-align: center; display: block; padding:0; margin: 0 auto; border:1px solid #01adeb; border-radius: 5px; width:300px;
}
.popup-modal-dismiss a { text-align: center; display: block; padding:0.6em 1.5em; line-height: 1em; cursor: pointer; font-size:0.8em; }

.comment_title { text-align:center;  width: auto;  margin: 0 auto 1.6em; font-weight: 300; font-size:2.6em; letter-spacing: 0.5em; }

.comment { text-align: left; width: auto;  margin: 0 auto 1em; color:#333; line-height: 1; padding: 0; }

.comment .name { text-align:center; font-size:2.4em; font-weight: 300; margin-bottom: 0.5em; }
.comment .name span { font-size:0.8em; font-weight: 300; }
.comment .com1 { text-align:center; font-size:1.8em; font-weight: 300; margin-bottom: 0.1em; line-height: 1.2em; }
.comment .com2 { text-align:center; font-size:1.4em; font-weight: 300; margin-bottom: 2em; line-height: 1.2em; }

.comment_title img { width:100%; max-width:750px; line-height: 1; padding: 0; margin: 0; border: none; }
.comment img { width:100%; display: block; margin:0 0 1em; }
.comment p { padding: 0 0 0.6em; font-size: 1.1em; line-height: 2em; font-weight: 300; }
.ques { color:#3366cc; margin-top:1.5em; }
.comment .profile { margin: 2em 3em 0; padding: 1.5em 1.8em; font-size: 0.9em; color:#555; line-height: 1.8em; border-radius: 1em; background: rgba(176,221,242,0.3);  font-weight: 300; }
.comment .profile b { font-weight: bold; line-height: 1.5em; }

.comment2 { text-align: left; width: auto; margin: 0 auto 1em; color:#4c414b; line-height: 1; padding: 0; }
.comment2 h3 { margin: 0.5em 0 0.8em; font-size: 1.2em; font-weight: 400; line-height: 1.4em; text-align: left; }
.comment2 img { width:100%; max-width:750px; display: block; margin:0 0 0.5em; }
.comment2 p { padding: 0 0 0.6em; font-size: 1.1em; line-height: 2em; font-weight: 300; }
.comment2 .profile { margin: 2em 3em 0; padding: 1.5em 1.8em; font-size: 0.9em; color:#555; line-height: 1.8em; border-radius: 1em; background: rgba(176,221,242,0.3); font-weight: 300; }
.comment2 .profile b { font-weight: bold; line-height: 1.5em; }

.comment2 .name { text-align:center; font-size:2.0em; font-weight: 300; margin-bottom: 1.5em; }
.comment2 .name span { font-size:0.8em; font-weight: 300; }


.comment-cast { text-align: left; width: auto; margin: 0 auto 1em; color:#333; line-height: 1; padding: 0; }
.comment-cast .name { text-align:center; font-size:2.0em; font-weight: 300; margin-bottom: 1.5em; }
.comment-cast .y-photo { width:100%; display: block; margin:0 0 2em; }
.comment-cast .y-photo img { width:100%;  }
.comment-cast .cast_com { padding: 0 0 1.5em;}
.comment-cast p { padding: 0 0 0.6em; font-size: 1.1em; line-height: 2em; font-weight: 400; }
.comment-cast .bold { font-weight: 500; line-height:1.6em; display: block; font-size:1.1em; padding-top:2em; }
.comment-cast .profile { margin: 0 0 3em; padding: 1.5em 1.8em; font-size: 1em; color:#333; line-height: 1.8em; border-radius: 1em; background: rgba(176,221,242,0.3); font-weight: 400; }
.comment-cast .profile b { font-weight: 500; line-height: 1.5em; }

img.photo_r { width:50%; float:right; margin:0 0 1.5em 1.5em;}


.flex { display: flex; margin: 0 0; }
.flex_l { flex-basis: 35%; padding: 0.5em 3em 1em 0; line-height: 1; }
.flex_l img { width: 100%; line-height: 1em; padding-bottom: 0.6em; }
.flex_r { flex-basis: 65%; padding: 0em 0 1em; }
.flex_r img { width: 100%; }

.flex_l .pconly { display:inherit; }
.flex_l .sponly { display:none; }


#pcmain { display:block; position: relative; z-index: -1;}
#spmain { display:none; position: relative; z-index: -1; }

#pcmain:before { content: ""; display: block; padding-top: 110%; }
#spmain:before { content: ""; display: block; padding-top: 100%; }

.layer { position: absolute; top:0; left:0; width:100%; }
.layer img { width:100%; height:auto; }

.box-logo { display: block; z-index:100; opacity: 0; }
.box-copy { display: block; z-index:90; opacity: 0; }
.box1 { display: block; z-index:80; }
.box2 { display: block; opacity: 0; z-index:70; }
.box3 { display: block; opacity: 0; z-index:60; }
.box4 { display: block; opacity: 0;; z-index:50; }
.box5 { display: block; opacity: 0; z-index:40; }
.box6 { display: block; opacity: 0; z-index:30; }
.box7 { display: block; opacity: 0; z-index:20; }
.box8 { display: block; z-index:10;}

.box9 { position: absolute; top:100px; right:20px; display: block; opacity: 0; z-index:200;  width:20%; height:160px; max-width:160px; }
.box9 img { width:100%; }



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

#mainarea .main .tex { padding:0 25px 10px; text-align: left;  }
#inline-wrap, #inline-wrap1, #inline-wrap2, #inline-wrap3, #inline-wrap4, #inline-wrap5, #inline-wrap6, #inline-wrap7, #inline-wrap8, #inline-wrap9, #inline-wrap10 { 
	padding: 2em 0em; }

#mainarea .main .story-pic { flex-wrap: wrap; }
#mainarea .main .story-pic img { width:49%; max-width:360px; margin:2px; }    

.flex { display: block; margin: 0 2em; }
.flex_l { flex-basis: 100%; padding: 0em 0 1em 0; width: auto; }
.flex_r { flex-basis: 100%; padding: 0em 0 1em; width: auto; }
.flex_l .pconly { display:none; }
.flex_l .sponly { display:inherit; }

#pcmain { display:none; }
#spmain { display:block; }

    
.comment-cast .cast_com { padding: 0 1.5em 1.5em;}
.comment-cast .profile { margin: 0 1.5em 2em;}
img.photo_r { width:45%; float:right; margin:0 0 1.5em 1.5em;}

}



/*キャラクター*/


ul.charamenu { padding:25px 20px; display: flex; flex-wrap: wrap; justify-content: center; margin-bottom:50px; }
ul.charamenu li { display: block; width: 15%;  text-align: center; line-height:1.1em; margin: 5px 5px 15px; }
ul.charamenu li img { width: 100%; margin-bottom:3px; border:3px solid #01adeb; border-radius: 6px;}
ul.charamenu li a { color:#333; font-weight: 400;}
ul.charamenu li a:hover { opacity:0.7; color:#01adeb;}

.chara-waku { display:block; position: relative; width:100%; height:auto; padding-top:70%; }
.chara-waku img { width:100%; }
.chara-waku .posiab { position:absolute;  }

.btn-chara {  z-index: 20; left:25%; bottom:18%; width:200px; color:#333; border:1px solid #01adeb; background: #fff; line-height:1.2em; height:1.5em; border-radius: 3px; }
.btn-chara a { display: block; color:#333;  text-align: center; padding: 0.25em 1.5em; font-size:0.9em; line-height:1em; height:1.5em;}
.btn-chara:hover { background:#d2f2fd;}

.cpic02 { z-index: 18; top:0; left:0;}
.cpic03 { z-index: 17; top:0; left:0;}
.cpic04 { z-index: 16; top:0; left:0;}
.cpic05 { z-index: 15; top:0; left:0;}
.cpic07 { z-index: 14; top:0; left:0;}
.cpic08 { z-index: 13; top:0; left:0;}
.cpic06 { z-index: 12; top:0; left:0;}
.cpic01 { z-index: 11; top:0; left:0;}


.chara-waku2 { display:block; position: relative; width:100%; height:auto; padding-top:42%; }
.chara-waku2 img { width:100%; }
.chara-waku2 .posiab { position:absolute;  }

.btn-chara2 { z-index: 20; left:27%; bottom:9%; width:200px; color:#333; border:1px solid #01adeb; background: #fff; line-height:1.2em; height:1.5em; border-radius: 3px; }
.btn-chara2 a { display: block; color:#333;  text-align: center; padding: 0.25em 1.5em; font-size:0.9em; line-height:1em; height:1.5em;}
.btn-chara2:hover { background:#d2f2fd;}


.side-mov { margin:40px 5px 40px; text-align:center; }
.smov-f { font-size:0.8em; font-family: 'Noto Sans JP', sans-serif; font-weight:700; padding:0.6em 0 0.4em; line-height:1em; text-align:center; }
.smov-fsp { font-size:0.8em; font-family: 'Noto Sans JP', sans-serif; font-weight:700; padding:0.6em 0 0.4em; line-height:1em; text-align:center; }

.r-t_right { text-align: right; }
.r-t_right img { width:160px; margin-bottom:-2em;}
.abs { position:relative; }
.abs a { position: absolute; width:300px; right:0; bottom:0;}
.abs a img { width:100%;}

.mmb1 { margin-bottom:1em !important; }

.copyr { display: block; width: 100%; text-align: center; font-size:0.8em; padding:0.5em 0 1em; font-weight:400;  }

@media screen and (max-width: 1020px) { #mainarea { margin: 0 0 0 40px; } }

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

#mainarea { display: block; width:100%; min-width: inherit; flex: none; margin: 0 0 0 0; padding:100px 10px 0 10px;}
#sidearea, .menuarea { display: none; }
#sp-menu { display: block; width:100%; position: fixed; z-index: 3300; text-align: left; top:-10px; left:0; height:90px; }
.sp-menuarea { display:none; position: fixed; background-color: rgba(255,255,255,0.90); height: 100vh; width:100%; z-index: 900; top:0; padding:120px 0 10px; text-align: right; overflow: auto;}
.maincopy {top:90px; }

    
ul.charamenu { flex-wrap: wrap;}
ul.charamenu li { display: block; width: 28%; }
    
.chara-waku { height:740px; overflow: hidden; }
.chara-waku img { width:auto; height:740px; }

.chara-waku2 { height:420px; overflow: hidden; }
.chara-waku2 img { width:auto; height:420px; }

.btn-chara { left: auto; right: 40px; bottom:20px; }
.btn-chara a { font-size:0.8em; }
.btn-chara2 { left: auto; right: 40px; bottom:20px; }
.btn-chara2 a { font-size:0.8em; }
    
.r-t_right img { width:200px; margin-bottom:-1em;}
.mmb1 { margin-bottom:0.6em !important; }
 }

.movie-wrap { position: relative; width: 100%; padding-top: 56.25%; border-radius: 10px 10px 0 0 ; background: #fff; overflow: hidden; }
 
.movie-wrap iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}
.movtitle { text-align: center !important; padding: 0.5em; font-weight:500; font-size:1.1em; line-height:1.2em; margin-bottom:1em; }
.movpage { margin-bottom:4em;}
.movpage .movbt7 { line-height: 1.2em; text-align: center; margin: 0 0 3em; padding: 0; display: flex; justify-content: space-between; flex-wrap: wrap;  }
.movpage .movbt7 a { display: flex; align-items: center; width:49%;  border-radius: 0px; text-decoration: none; margin: 0 0 12px; background-color: #11aeea;  min-height:3em;}
.movpage .movbt7 a:hover { background-color: #60c5ec !important; }

.movpage .movbt7 a span { width:100%; line-height: 1.2em; text-align: center; margin: 0; padding: 1em 1em;  border-radius: 0px; text-decoration: none; color:#fff000; font-size: 0.9em; font-weight:700; align-content:center; }



@media screen and ( max-width: 767px ) {
.movpage .movbt7 a {  width:100%; }
}

#sp-menu .humberg { position: absolute; width:300px; height:62px; right:-50px; top:15px; display: block; transform: rotate(-8deg); -moz-transform: rotate(-8deg); -webkit-transform: rotate(-8deg); box-shadow: 2px 2px 3px rgba(0,0,0,0.2);; }

.menu-trigger { margin-left:0px; background-color: #fff; background-image: url("../img4/sp-menu.png"); background-position: left center; background-repeat: no-repeat; width:300px; height:62px;}
.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger {
  position: absolute;
  border: none;
  appearance: none;
  cursor: pointer;
}
.menu-trigger span {
  position: absolute; 
  left: 12px;
  width: 42px;
  height: 4px;
  background-color: #00afeb;
  border-radius: 4px;
}
.menu-trigger span:nth-of-type(1) {
  top: 14px;
}
.menu-trigger span:nth-of-type(2) {
  top: 29px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 14px;
}

.menu-trigger span:nth-of-type(1) {
  animation: menu-bar01 .75s forwards;
}
    
@keyframes menu-bar01 {
  0% {
    transform: translateY(14px) rotate(45deg);
  }
  50% {
    transform: translateY(14px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
.menu-trigger span:nth-of-type(2) {
  transition: all .25s .25s;
  opacity: 1;
}
.menu-trigger span:nth-of-type(3) {
  animation: menu-bar02 .75s forwards;
}
@keyframes menu-bar02 {
  0% {
    transform: translateY(-14px) rotate(-45deg);
  }
  50% {
    transform: translateY(-14px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
.menu-trigger.active span:nth-of-type(1) {
  animation: active-menu-bar01 .75s forwards;
}
@keyframes active-menu-bar01 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(14px) rotate(0);
  }
  100% {
    transform: translateY(14px) rotate(45deg);
  }
}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
  animation: active-menu-bar03 .75s forwards;
}
@keyframes active-menu-bar03 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(-15px) rotate(0);
  }
  100% {
    transform: translateY(-15px) rotate(-45deg);
  }
}




.opa:hover img { opacity: 0.8; }

.sponly { display: none !important;}
.pconly { display: block !important;}

.bn-kitai { display:flex; flex-wrap: wrap; justify-content: space-between; margin:180px auto 1em; max-width:960px;  padding:15px; }
.bn-kitai a { display: block; width:49%; margin:10px 0 0;}
.bn-kitai a img { width:100%;}
.spbn-kitai { display:none; }

@media screen and (max-width: 768px) {
    
.bn-kitai { display:none; }
.spbn-kitai { display:flex; flex-wrap: wrap;  justify-content: space-between; margin:0 0 1em; }
.spbn-kitai a { display: block; width:49%; margin:10px 0 0;}
.spbn-kitai a img { width:100%;}
.sponly { display: block !important; }
.pconly { display: none !important; }
	
}/*767*/



@-webkit-keyframes fadein {
	0% {
        display: none;
        opacity: 0;
      }
 
      1% {
        display: block;
        opacity: 0;
      }
 
      100% {
        display: block;
        opacity: 1;
      }
}
@-webkit-keyframes fadeout {
	0%{ opacity:1; }
	100% { opacity:0; }
}




/* page-top */
#page-top {
	position: fixed;
	bottom: 10px;
	right: 10px;
	display:block;  z-index:100;
}
#page-top a {
	text-decoration: none;
	width: 60px;
	height:auto;
	padding: 0;
	text-align: center;
	display: block;
	
}


/* =======================================
	ClearFixElements
======================================= */
.clearfix:after {
	content: ".";
	height: 0;
	clear: both;
	display: block;
	visibility: hidden;
}

.clearfix {
	display: inline-block;
	overflow: hidden;
}
