@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Dosis:wght@200;400;500;700&family=Kosugi+Maru&display=swap');
::selection {
	background: #eb4040;
	color: #fff;
}
::-moz-selection {
 background: #eb4040;
 color:#fff;
}
* {
	outline: none;
	box-sizing: border-box;
}
body {
	font-family: 'Kosugi Maru', "Yu Gothic", YuGothic, sans-serif;
	font-weight: 400;
	font-size: 24px;
	color: #000;
	background: #FFF url(../img/bg.png) repeat fixed left top / 144px 144px;
}
a {
	color: #000;
}
.pc {
	display: none;
}
.do {
	font-family: 'Dosis', sans-serif;
	font-weight: 700;
}
.ef {
	transform: rotate(-10deg) translate3d(0, 50px, 0);
	transform-origin: center center;
	transition: all 0.7s ease;
	opacity: 0;
}
.efo {
	opacity: 1;
	transform: rotate(0.1deg) translate3d(0, 0, 0);
}
.cm{
	color: #eb4040;
	font-weight: bold;
}
.c0c {
	color: #f39800;
}
.c1c {
	color: #dd316a;
}
.c2c {
	color: #f2b600;
}
.c3c {
	color: #7ebf00;
}
.c4c {
	color: #00a0f3;
}
.c5c {
	color: #9e23c0;
	display: inline !important;
}
.c6c {
	color: #b0212b;
}
/* Loading */
#loading {
	position: fixed;
	z-index: 12001;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
}
.loading__bg{
	content: "";
	background: #FFF;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	transition: height .8s cubic-bezier(0.16, 1, 0.3, 1);
}
.loading__bg.is-active{
	transition-delay: 1s;
	height: 0;
}
.loading__logo {
	position: absolute;
	width: 251px;
	height: 158px;
	left: 50%;
	top: 50%;
	margin-left: -125px;
	margin-top: -79px;
	background: url(../img/logo.png) no-repeat center center / contain;
	opacity: 0;
	transform: scale(1.4);
	transition: all .4s cubic-bezier(0.68, -4, 0.32, 1.6);
	z-index: 1;
}
.loading__logo.is-active {
	opacity: 1;
	transform: scale(1);
}
.loading__logo.is-active2{
	transition-delay: .6s;
	opacity: 0;
	transform: translateY(-40%);
}
#fullWrap {
	width: 750px;
	position: relative;
	background: url(../img/sp_ht_tl.png) no-repeat left top;
	margin:0 auto;
	overflow: hidden;
}
#menuBtn {
	position: fixed;
	z-index: 9999;
	width: 90px;
	height: 90px;
	right: 25px;
	top: 25px;
	pointer-events: auto;
}
#menuBtn a {
	display: block;
	height: 90px;
	border-radius: 8px;
	background: #5E3B00;
	position: relative;
	padding-top: 45px;
	line-height: 45px;
	text-align: center;
	font-size: 20px;
	color: #FFF;
	text-decoration: none;
	transition: all 0.3s ease;
}
#menuBtn a.active {
	background: #eb4040;
}
#menuBtn a span {
	width: 40px;
	height: 4px;
	background: #FFF;
	border-radius: 2px;
	display: block;
	position: absolute;
	left: 25px;
	transition: all .3s ease;
}
#menuBtn a span:nth-of-type(1) {
	top: 15px;
}
#menuBtn a span:nth-of-type(2) {
	top: 28px;
}
#menuBtn a span:nth-of-type(3) {
	top: 41px;
}
#menuBtn a.active span:nth-of-type(1) {
	transform: translateY(13px) rotate(45deg);
}
#menuBtn a.active span:nth-of-type(2) {
	opacity: 0;
}
#menuBtn a.active span:nth-of-type(3) {
	transform: translateY(-13px) rotate(-45deg);
}
header {
	width:100%;
	top:0;
	position:absolute;
	height:210px;
	z-index:5;
	left:0;
	pointer-events: none;
	z-index:9999;
}
.header__inner {
	height:210px;
	position:relative;
}
.header__inner h1 {
	width:239px;
	height:150px !important;
	position: absolute;
	left:19px;
	top:18px;
	pointer-events: auto;
}
.h_top .header__inner h1 {
	width:289px;
	height:181px !important;
	position: absolute;
	left:19px;
	top:18px;
}
.header__inner h1 a {
	display: block;
	height:100%;
	background: url(../img/logo.png) no-repeat left top / contain;
}
.navs {
	position:fixed;
	left:0;
	right:0;
	top:0;
	height:0;
	overflow: auto;
	z-index:9998;
	background:url(../img/bg.png);
	pointer-events: auto;
	transition: all 0.3s ease;
}
.navs.on {
	height:calc(100% + 100px);
}
.navs:before {
	content:'';
	position: absolute;
	left:0;
	top:0;
	width:260px;
	height:120px;
	background: url(../img/top_ht_tl.png) no-repeat left top;
}
.navs:after {
	content:'';
	position: absolute;
	right:0;
	top:700px;
	width:200px;
	height:320px;
	background: url(../img/caststaff_ht_tr.png) no-repeat left top;
}
.navs__logo {
	padding-top:75px;
	width: 251px;
	margin: 0 auto 30px;
	position: relative;
	z-index: 5
}
.navs__logo a {
	display: block;
	background: url(../img/logo.png) no-repeat center center / contain;
	height:158px;
}
nav {
	padding-bottom: 35px !important;
	position: relative;
	z-index: 5;
}
nav ul {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	padding: 0 50px;
}
nav li {
	height: 130px;
	width: 325px;
	margin-bottom: 8px;
	pointer-events: auto;
	position: relative;
}
nav li:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: -25px;
	width: 50px;
	height: 3px;
	background: #eb4040;
}
nav li a {
	display: block;
	line-height: 130px;
	height: 130px;
	text-decoration: none;
	position: relative;
	font-size: 40px;
	text-align: center;
}
nav li a[target=_blank]:after {
	content: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="36" height="24" viewBox="0 0 16 12"><defs><style>.cls-1{fill-rule: evenodd}</style></defs><path id="icon_blanklink.svg" class="cls-1" fill="%23000" d="M4,0H16V8H4V0ZM5,1H15V7H5V1Zm6,11H0V4H3V5H1v6H11V9h1v3H11Z"/></svg>');
	width: 16px;
	display: inline-block;
	height: 12px;
	margin-left: 15px;
}
nav li a.active {
	color: #eb4040;
}
.navs .shared {
	padding-top:15px;
	padding-bottom:175px;
	display: flex;
	position: relative;
	width:400px;
	margin:0 auto;
}
.navs .shared dt {
	width:100px;
	height:100px;
	font-size:20px;
	line-height: 100px;
	color: #eb4040;
	text-align: center;
}
.navs .shared dd {
	width:100px;
	height:100px;
}
.navs .shared dd a {
	display: block;
	height:100px;
	background-size:42px auto !important;
}
.navs .shared .tw a {
	background:url(../img/sns_tw_or.svg) no-repeat center center;
}
.navs .shared .fb a {
	background:url(../img/sns_fb_or.svg) no-repeat center center;
}
.navs .shared .ln a {
	background:url(../img/sns_line_or.svg) no-repeat center center;
}
main {
	flex:1;
	position: relative;
}
.fv {
	padding:100px 75px 50px;
	position: relative;
}
.fv:before {
	content:'';
	position: absolute;
	right:0;
	width:550px;
	height:512px;
	top:0;
	background: url(../img/mv_sheet.png);
}
.fv__wrap {
	border-radius: 16px;
	box-shadow: 0px 0px 40px 0px rgba(10,10,10,0.2);
	height:0;
	padding-top:137.5%;
	overflow: hidden;
	position: relative;
	margin-bottom:50px;
}
.fv__wrap--carousel {
	position:absolute;
	left:0;
	right:0;
	top:0;
	bottom:0;
}
.fv__wrap--carousel li {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	z-index: 0;
}
.fv__wrap--carousel li.is-active{
	animation: fadein .5s ease-in-out 0s 1 normal forwards;
	z-index: 2;
}
.fv__wrap--carousel li.is-bottom{
	opacity: 1;
	z-index: 1;
}
@keyframes fadein {
	0%  { opacity: 0; transform: scale(1.3); }
	100%{ opacity: 1; transform: scale(1); }
}
.fv__wrap--carousel li img {
	width:100%;
	height:auto;
}
.fv__selector {
	position:absolute;
	left:0;
	top:24px;
	right:-160px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.fv__selector:before{
	content:"VISUAL SELECTOR";
	color:#FFF;
	display: block;
	font-size: 20px;
	letter-spacing: 0.08em;
	line-height: 30px;
	width: 100%;
	height: 30px;
	text-align: center;
}
.fv__selector li {
	width:40px;
	height: 4px;
	margin:12px;
}
.fv__selector li a {
	display: block;
	height: 4px;
	background:#5e3b00;
	transition: background .3s ease-in-out;
}
.fv__selector li a:hover{
	background: #f3df00;
}
.fv__selector li.is-active a {
	background: #f3df00;
}
.fv__movies {
	position: relative;
	width:650px;
	z-index:60;
	display: flex;
	justify-content: center;
	margin-left:-25px;
	flex-wrap: wrap;
}
.fv__movies li {
	width:300px;
	height:168px;
	border-radius: 16px;
	overflow: hidden;
}
.fv__movies li:nth-child(even) {
	margin-left: 25px;
}
.fv__movies li:nth-child(n+3) {
	margin-top: 25px;
}
.fv__movies li a {
	height: 168px;
	display: block;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
	transition: all 0.3s ease;
}
.modal-movie:before {
	content:'';
	position: absolute;
	width:64px;
	height:64px;
	border-radius: 50%;
	left:50%;
	top:50%;
	margin-left:-32px;
	margin-top:-32px;
}
.modal-movie:after {
	content:'';
	position: absolute;
	height:96px;
	width: 96px;
	margin-left:-48px;
	margin-top:-48px;
	left:50%;
	top:50%;
	animation: iconRotate 10s linear infinite;
}
.movie-animation:before {
	background-image:url(../img/icon_muvieplay.png);
	background-color:rgba(243,152,0,0.6);
	background-repeat: no-repeat;
	background-position: 22px center;
	background-size:24px auto;
}
.movie-animation:after {
	background:url(../img/icon_movieanimaition.png) no-repeat center center/ contain;
}
.movie-liveaction:before {
	background-image:url(../img/icon_muvieplay.png);
	background-color:rgba(0,178,178,0.6);
	background-repeat: no-repeat;
	background-position: 22px center;
	background-size:24px auto;
}
.movie-liveaction:after {
	background:url(../img/icon_movieliveaction.png) no-repeat center center/ contain;
}
@keyframes iconRotate {
	0% {
		transform:rotate(0deg);
	}
	100% {
		transform:rotate(359deg);
	}
}
.fv__point {
	position: absolute;
	right:25px;
	top:720px;
	width:400px;
	height:50px;
	display: flex;
	align-items: flex-end;
	z-index:5000;
}
@keyframes bounce {
 0% {
transform: translateY(0px) scale(1);
}
 100% {
transform: translateY(-15px) scale(0.95, 1);
}
}
.fv__point .startDate {
	height: 235px;
	background: url(../img/startdate.png) no-repeat center center / contain;
	animation: bounce .5s ease alternate infinite;
	transform-origin: center bottom;
	position: absolute;
	top:0px;
	right:0px;
	width:235px;
	margin-left:auto;
}
.update {
	padding:50px 50px 100px;
	position: relative;
}
.update:before {
    content: '';
    position: absolute;
    top: -216px;
    left: 50%;
    margin-left: -550px;
    width: 369px;
    height: 320px;
    background: url(../img/update_ht_tl.png) no-repeat center center / contain;
    z-index: 0;
}
.update:after {
    content: '';
    position: absolute;
    top: 680px;
    left: 50%;
    margin-left: -383px;
    width: 204px;
    height: 204px;
    background: url(../img/update_ht_cc.png) no-repeat center center / contain;
}
.cont__wrap {
	width: 650px;
	margin:0 auto;
}
.update__wrap {
	width: 100%;
	display:flex;
	flex-wrap: wrap;
	justify-content: center;

}
.update__wrap h2 {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin-bottom: 40px;
	width:100%;
}
.update__wrap h2 .en {
	font-weight: 700;
	font-size: 45px;
	line-height: 1;
	padding-bottom: 25px;
	position: relative;
	display: block;
}
.update__wrap h2 .en:before {
	content: '';
	position: absolute;
	width: 50px;
	height: 2px;
	background: #eb4040;
	margin-left: -25px;
	left: 50%;
	bottom: -1px;
}
.update__wrap h2 .ja {
	padding-top: 25px;
}
#updateCarousel {
	margin-bottom: 50px;
	width:650px;
	order:1;
}
#updateCarousel ul {
	height: 176px;
}
#updateCarousel li {
	height: 175px;
	position: relative;
	padding-top: 20px;
}
#updateCarousel li:before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	height: 1px;
	background: #cdcdcd;
	width: 100%;
}
#updateCarousel li:after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	height: 1px;
	background: #eb4040;
	width: 0;
}
#updateCarousel .active li:after {
	width: 100%;
	transition: all 6s linear;
}
#updateCarousel li time {
	color: #eb4040;
	margin-bottom: 8px;
	display: block;
	line-height: 1;
}
#updateCarousel li p {
	line-height: 2;
	height: 100px;
	overflow: hidden;
	word-break: break-all;
}
.owl-dots .owl-dot {
	width: 50px;
	height: 3px;
	margin-left: 25px;
}
.owl-dots .owl-dot span {
	width: 50px;
	height: 3px;
}
.update__bnrs {
	order:0;
	width:650px;
}
.update__bnrs li {
	width:650px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.update__bnrs li a {
	display: block;
	width:300px;
	height:100px;
	margin-bottom:25px;
}
.update__bnrs li a img {
	width:300px;
	height:auto;
}
#twidget {
	width:550px;
	height:575px;
	border-radius: 16px;
	background: url(../img/mv_sheet.png);
	padding: 25px;
	order:2;
	position: relative;
	z-index: 5;
}
#twidgetin {
	height: 375px;
	border-radius: 8px;
	overflow: hidden;
	background: #FFF;
	margin-bottom: 50px;
}
.twitterWidget{
	height: 100%;
	overflow-x: hidden;
}
#toTwitter {
	margin: 0px auto;
	height: 75px;
	width: 350px;
}
#toTwitter a {
	line-height: 75px;
	background: #FFF;
	text-align: center;
	vertical-align: middle;
	display: block;
	height: 75px;
	border-radius: 38px;
	text-decoration: none;
	transition: all 0.6s ease;
}
#toTwitter a img {
	display: inline-block;
	margin-right: 25px;
	vertical-align: middle;
	width:26px;
	height:auto;
}
footer {
	height:550px;
	padding-top:200px;
	position:relative;
	width:100%;
	background: url(../img/tieup_ht_br.png) no-repeat right bottom 350px;
}
footer:before {
	content:'';
	position: absolute;
	left:0;
	bottom:0;
	height:350px;
	right:0;
	background: url(../img/mv_sheet.png);
}
footer:after {
	content:'';
	position: absolute;
	top:-20px;
	left:50px;
	width: 160px;
	height: 160px
}
footer.f1:after {
	background: url(../img/footer_ptn1.png);
}
footer.f2:after {
	background: url(../img/footer_ptn2.png);
}
footer.f3:after {
	background: url(../img/footer_ptn3.png);
}
footer.f4:after {
	background: url(../img/footer_ptn4.png);
}
footer .shared {
	padding-top:75px;
	display: flex;
	position: relative;
	width:400px;
	margin:0 auto;
}
footer .shared dt {
	width:100px;
	height:100px;
	font-size:20px;
	line-height: 100px;
	color: #FFF;
	text-align: center;
}
footer .shared dd {
	width:100px;
	height:100px;
}
footer .shared dd a {
	display: block;
	height:100px;
	background-size:42px auto !important;
}
footer .shared .tw a {
	background:url(../img/sns_tw.svg) no-repeat center center;
}
footer .shared .fb a {
	background:url(../img/sns_fb.svg) no-repeat center center;
}
footer .shared .ln a {
	background:url(../img/sns_line.svg) no-repeat center center;
}
.copyright {
	line-height:125px;
	font-size:20px;
	color:#FFF;
	position: relative;
	text-align: center;
}
@keyframes god {
 from {
 transform:translateY(10px);
}
to {
	transform: translateY(0);
}
}
#suLiner {
	position: absolute;
	height: 100%;
	width: 80px;
	right: 50px;
	bottom: 350px;
	z-index: 9000;
}
#suLiner a {
	width: 130px;
	height: 130px;
	position: absolute;
	right: 0;
	bottom: 0;
	font-weight: 500;
	font-size: 20px;
	letter-spacing: 0.025em;
	display: block;
	text-decoration: none;
	pointer-events: auto;
}
#suLiner a span {
	display: block;
	height: 40px;
	width: 130px;
	padding-right:30px;
	line-height: 60px;
	text-align: center;
}
#suLiner a:before {
	content: '';
	position: absolute;
	right: 0;
	top: 50px;
	bottom: 0;
	width: 1px;
	background: #CDCDCD;
}
#suLiner a:after {
	content: '';
	position: absolute;
	top: 50px;
	right: 0;
	margin-right: -1px;
	height: 0;
	width: 3px;
	background: #eb4040;
	animation: linerToUpper 2s ease infinite;
}
#suGod {
	height: 75px;
	width: 96px;
	position: absolute;
	right: 80px;
	bottom: 350px;
	overflow: hidden
}
#suGod p {
	background: url(../img/su_god.png);
	height: 75px;
	width: 96px;
	animation: god 3s ease-in-out alternate infinite;
}
@keyframes linerToUpper {
 0% {
 top:130px;
 height:0;
}
 50% {
 top:50px;
 height:80px;
}
 100% {
 top:50px;
 height:0;
}
}
.subcontent {
	padding:100px 50px;
	position: relative;
	background: url(../img/character_ht_cl.png) no-repeat left 840px;
}
.subcontent:before {
	content:'';
	position: absolute;
	right:0;
	width:550px;
	height:250px;
	top:0;
	background: url(../img/mv_sheet.png);
	z-index:2;
}
.subcontent:after {
	content:'';
	position: absolute;
	right:0;
	top:120px;
	width:240px;
	height:320px;
	background: url(../img/story_ht_tc.png) no-repeat left center;
}
.subcontent h2 {
	height:275px;
	border-radius: 16px;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	margin:0 25px 100px;
	z-index:3;
}
.subcontent h2 .ja {
	display: block;
	letter-spacing: 0.2em;
	font-size:35px;
	padding-left:0.2em;
	color:#FFF;
	text-shadow: 0px 0px 16px rgba(0,0,0,0.6);
}
.subcontent h2 .en {
	display: block;
	font-size:100px;
	padding-left:0.2em;
	color:#FFF;
	font-weight: 200;
	line-height: 75px;
	position: absolute;
	top:100px;
	right:-75px;
	mix-blend-mode:overlay;
	opacity:0.8;
}
.subcontent h2 .en2 {
	display: block;
	font-size:100px;
	padding-left:0.2em;
	color:#FFF;
	font-weight: 200;
	line-height: 75px;
	position: absolute;
	top:65px;
	right:-75px;
	text-align: right;
	mix-blend-mode:overlay;
	opacity:0.8;
}
.subcontent h2.r1 {
	background:url(../img/sub_titlebg.jpg) no-repeat center center / cover;
}
.subcontent h2.r2 {
	background:url(../img/sub_titlebg2.jpg) no-repeat center center / cover;
}
.onair__wrap {
	width:650px;
	margin:0 auto;
	z-index:4;
	position: relative;
}
.onair__start {
	text-align: center;
	font-size:25px;
	color: #5e3b00;
	line-height: 2;
	margin-bottom:55px;
}
.onair__start strong {
	padding-top:20px;
	font-size:65px;
	text-align: center;
	display: block;
	color:#eb4040;
	letter-spacing: 0.05em;
	line-height: 1
}
.stream__category{
	font-size: 30px;
	line-height: 50px;
	padding-bottom: 7px;
	border-bottom: 2px solid #222;
	position: relative;
	color: #5e3b00;
	margin-bottom: 20px;
}
.streamLists{
	display: flex;
	flex-wrap: wrap;
	position: relative;
	margin-bottom: 60px;
}
.streamLists:last-of-type{
	margin-bottom: 0;
}
.streamList{
	font-size: 25px;
	line-height: 40px;
	color: #eb4040;
	width: 50%;
	border-bottom: 2px solid #cccccc;
	padding: 20px 0;
}
.streamLists li:nth-of-type(odd){
	padding-right: 14px;
}
.streamLists li:nth-of-type(2n){
	padding-left: 14px;
}
.streamLists:after{
	content: '';
	position: absolute;
	width: 100%;
	bottom: 0;
	height: 2px;
	background: #ccc;
}
.streamList a{
	color: #eb4040;
}
.subcontent h3 {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin-bottom: 40px;
	width:100%;
}
.subcontent h3 .en {
	font-weight: 700;
	font-size: 45px;
	line-height: 1;
	padding-bottom: 25px;
	position: relative;
	display: block;
}
.subcontent h3 .en:before {
	content: '';
	position: absolute;
	width: 50px;
	height: 2px;
	background: #eb4040;
	margin-left: -25px;
	left: 50%;
	bottom: -1px;
}
.subcontent h3 .ja {
	padding-top: 25px;
}
.onair__table {
	margin-bottom: 80px;
}
.onair__table:last-of-type {
	margin-bottom: 75px;
}
.onair__table table,
.onair__table tbody {
	width: 100%;
	display: block;
}
.onair__table tr {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin-bottom:20px;
}
.onair__table th {
	height:25px;
	vertical-align: middle;
	width:100%;
	font-size:25px;
	color:#eb4040;
	line-height:1;
}
.onair__table th a {
	color:#eb4040;
}
.onair__table td {
	/*min-height:85px;*/
	display: flex;
	align-items: flex-start;
	width:40%;
	font-size: 25px;
	border-bottom:2px solid rgba(0,0,0,.2);
	flex-wrap: wrap;
	padding:15px 0;
	line-height:1.5;
}
.onair__table td:last-child {
	width:60%;
}
.onair__caution {
	padding-top:0;
}
.caststaff__wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 650px;
	margin: 0 auto;
	z-index:4;
	position: relative;
}
.cast {
	margin-bottom: 50px;
}
.cs li {
	font-size: 30px;
	display: table;
	margin: 0 auto;
}
.cs li strong {
	font-weight: 400;
	padding-right: 8px;
	font-size: 25px;
	display: table-cell;
	line-height: 46px;
	padding-top: 10px;
}
.cs li span {
	display: table-cell;
	line-height: 40px;
	padding: 17px 0;
}
.cs li a {
	display: table-cell;
	line-height: 40px;
	padding: 17px 0 17px 0px;
	transition: all 0.3s ease;
}

.cs li a img {
	vertical-align: top;
	width:auto;
	height:32px;
}
.cast li span {
	width: 180px;
}
.cast li strong {
	width: 180px;
}
.staff {
}
.staff li strong {
	color: #eb4040;
}
#commentModal {
	background: #FFF url(../img/bg.png) repeat center center;
	position: fixed;
	z-index: 10001;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	overflow: auto;
	display: none;
	-webkit-overflow-scrolling: touch;
}
#commentModal:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 199px;
	height: 120px;
	background: url(../img/cm_ht_tl.png) no-repeat center center;
}
#commentModalin {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	z-index: 5;
	padding-top: 50px;
}
#commentFixed {
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	min-height: 100%;
	pointer-events: none;
}
#commentFixed:before {
	content: '';
	position: absolute;
	width: 414px;
	height: 415px;
	left: 100px;
	top: 200px;
}
#commentFixed:after {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	width: 171px;
	height: 136px;
	background: url(../img/cm_ht_br.png) no-repeat center center;
}
#commentFixed h2 {
	position: absolute;
	left: 600px;
	top: 0;
	bottom: 0;
	width: 80px;
	letter-spacing: 0.2em;
	display: flex;
	align-items: flex-start;
	z-index: 2;
	background:#eb4040;
}
#commentFixed h2 div {
	padding-top: 200px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
#commentFixed h2 .cmName {
	font-size: 36px;
	line-height: 80px;
	width: 80px;
	display: block;
	padding-bottom: 50px;
	color: #FFF;
}
#commentFixed h2 .cmVoice {
	background: #FFF;
	display: block;
	width: 32px;
	font-size: 20px;
	color: #000;
	line-height: 32px;
	letter-spacing: 0.05em;
	padding: 13px 0;
	border-top: 3px solid #5B3C1C;
	border-bottom: 3px solid #5B3C1C;
	z-index: 6;
	transform: rotate(0.1deg);
}
#commentTexts {
	display: none;
}
#commentTextp {
	width: 470px;
	margin-left: 80px;
	padding-bottom: 60px;
}
#commentTextp p {
	line-height: 2;
	margin-bottom: 2em;
}
#commentTextp li {
	line-height: 2;
	min-height: 2em;
}
#commentPict {
	display: none;
}
#commentPictp {
	padding: 3px;
	width: 470px;
	margin-left: 80px;
	margin-bottom: 50px;
	background:#eb4040;
}
#commentPictp img {
	width: 100%;
	height: auto;
}
#commentTextp li strong {
	font-weight: normal;
	color: #eb4040;
	display: inline-block;
	margin-right: 10px;
}
#commentTexts p {
	line-height: 2;
	margin-bottom: 2em;
	font-size: 15px;
}
.c1 #commentFixed:before {
	background: url(../img/character_1dot.png) no-repeat center center;
}
.c1 #commentFixed h2 {
	background: url(../img/character_1ptn.png) repeat center top;
}
.c1 #commentPictp {
	background: #cd2d62;
}
.c2 #commentFixed:before {
	background: url(../img/character_2dot.png) no-repeat center center;
}
.c2 #commentFixed h2 {
	background: url(../img/character_2ptn.png) repeat center top;
}
.c2 #commentPictp {
	background: #e8bb00;
}
.c3 #commentFixed:before {
	background: url(../img/character_3dot.png) no-repeat center center;
}
.c3 #commentFixed h2 {
	background: url(../img/character_3ptn.png) repeat center top;
}
.c3 #commentPictp {
	background: #76b300;
}
.c4 #commentFixed:before {
	background: url(../img/character_4dot.png) no-repeat center center;
}
.c4 #commentFixed h2 {
	background: url(../img/character_4ptn.png) repeat center top;
}
.c4 #commentPictp {
	background: #0094e1;
}
.c2-1 #commentFixed:before {
	background: url(../img/character_1dot.png) no-repeat center center;
}
.c2-1 #commentFixed h2 {
	background: url(../img/character_1ptn.png) repeat center top;
}
.c2-1 #commentPictp {
	background: #cd2d62;
}
.c2-2 #commentFixed:before {
	background: url(../img/character_2dot.png) no-repeat center center;
}
.c2-2 #commentFixed h2 {
	background: url(../img/character_2ptn.png) repeat center top;
}
.c2-2 #commentPictp {
	background: #e8bb00;
}
.c2-3 #commentFixed:before {
	background: url(../img/character_3dot.png) no-repeat center center;
}
.c2-3 #commentFixed h2 {
	background: url(../img/character_3ptn.png) repeat center top;
}
.c2-3 #commentPictp {
	background: #76b300;
}
.c2-4 #commentFixed:before {
	background: url(../img/character_4dot.png) no-repeat center center;
}
.c2-4 #commentFixed h2 {
	background: url(../img/character_4ptn.png) repeat center top;
}
.c2-4 #commentPictp {
	background: #0094e1;
}
.c2-5 #commentFixed:before {
	background: url(../img/character_13dot.png) no-repeat center center;
}
.c2-5 #commentFixed h2 {
	background: url(../img/character_13ptn.png) repeat center top;
}
.c2-5 #commentPictp {
	background: #9e23c0;
}
.c2-6 #commentFixed:before {
	background: url(../img/character_14dot.png) no-repeat center center;
}
.c2-6 #commentFixed h2 {
	background: url(../img/character_14ptn.png) repeat center top;
}
.c2-6 #commentPictp {
	background: #b0212b;
}
#commentClose {
	position: fixed;
	width: 90px;
	height: 90px;
	right: 25px;
	top: 25px;
	z-index: 50;
}
#commentClose a {
	display: block;
	height: 90px;
	position: relative;
	padding-top: 45px;
	line-height: 45px;
	color: #FFF;
	text-align: center;
	font-size: 20px;
	text-decoration: none;
	border-radius: 8px;
	background: #5E3B00;
	transition: all 0.3s ease;
}
#commentClose a:before, #commentClose a:after {
	content: '';
	position: absolute;
	left: 50%;
	top: 30px;
	width: 42px;
	height: 4px;
	background: #FFF;
	border-radius: 2px;
	margin-left: -21px;
}
#commentClose a:before {
	transform: rotate(45deg);
}
#commentClose a:after {
	transform: rotate(-45deg);
}
.introduction__wrap {
	position: relative;
	z-index:4;
	padding-bottom:83px;
}
.introduction__wrap:before {
	position: absolute;
	content:'';
	left:-50px;
	right:-50px;
	bottom:-175px;
	background: url(../img/introduction_map_sp.png) no-repeat left bottom;
	height:711px;
}
.introduction__inner {
	width:510px;
	position: relative;

}
.introduction__catch {
	width:114px;
	height:692px;
	position: absolute;
	right:-148px;
	top:-40px;
	background: url(../img/introduction_maincatch.png) no-repeat center center;
}
.introduction__catch2 {
	width:120px;
	height:856px;
	position: absolute;
	right:-148px;
	top:-40px;
	background: url(../img/introduction_maincatch2.png) no-repeat center center;
}
.introduction__text {
	font-size: 25px;
	line-height: 2;
	margin-bottom:2em;
	word-break: break-all;
}
.introduction__subcatch {
	font-size: 28px;
	color: #eb4040;
	font-weight: 600;
	letter-spacing: 0.2em;
	line-height:56px;
	padding-top:15px;
	text-shadow: 0px 0px 8px #FFF, 0px 0px 8px #FFF;
}
.movie__wrap {
	width:650px;
	margin:0 auto;
}
.movie__wrap ul {
	width:650px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.movie__wrap li {
	width:650px;
	margin:0 0 30px;
}
.movie__wrap li a {
	display: block;
	height: 365px;
	border-radius: 16px;
	background-position: center center;
	background-size: cover;
	position: relative;
}
.movie__wrap li p {
	padding:16px 0;
	text-align: center;
	color:#eb4040;
	line-height:1.6;
}
#dramaModal {
	position: fixed;
	top:0;
	left: 0;
	right:0;
	bottom:0;
	overflow: auto;
	background:#FFF;
	z-index:9999;
		background-image: url(../img/drama_bg.png),url(../img/bg.png);
	background-repeat: no-repeat,repeat;
	background-size:750px 750px,auto auto;
	background-attachment: fixed,scroll;
	background-position: center center;
	display: none;
	-webkit-overflow-scrolling: touch;
}
#dramain {
	position: absolute;
	width:100%;
	height:100%;
	min-height: 100%;
}
#dramaCont {
	width:690px;
	margin:0 auto;
	padding-top:120px;
}
#dramaCont h1 {
	height:304px;
	line-height:100px;
	font-size:34px;
	text-align: center;
	position: relative;
	margin-bottom: 50px;
	font-feature-settings: "palt";
	padding-top:204px;
	background:url(../img/drama_logo.png) no-repeat center top;
}
#dramaCont h1.s2 {
	height:304px;
	line-height:100px;
	font-size:34px;
	text-align: center;
	position: relative;
	margin-bottom: 50px;
	font-feature-settings: "palt";
	padding-top:204px;
	background:url(../img/drama_logo2.png) no-repeat center top !important;
}
#dramaCont h1:after {
	width:40px;
	height:2px;
	position: absolute;
	content: '';
	bottom: 0;
	left:50%;
	margin-left: -20px;
	background: #eb4040;
}
#movieModal {
	position: fixed;
	top:0;
	left: 0;
	right:0;
	bottom:0;
	overflow: auto;
	background:#FFF;
	z-index:9999;
	background-image: url(../img/bg.png);
	background-repeat: repeat;
	background-attachment: fixed,scroll;
	background-position: center center;
	display: none;
}
#moviein {
	position: absolute;
	width:100%;
	height:100%;
}
#movieCont {
	position: absolute;
	left:15px;
	right:15px;
	top:50%;
	height:405px;
	margin-top:-203px;
	border-radius: 8px;
	overflow:hidden;
}
#movieCont iframe {
	display: block;
	height:100%;
}
#dvisual,#dvisual2 {
	width: 100%;
	display: flex;
	justify-content: center;
	margin-bottom: 80px;
	flex-wrap:wrap;
}
#dvisual li,#dvisual2 li {
	width: 720px;
	height: 920px;
	margin-bottom:30px;
}
#dvisual li:first-child {
	background:url(../img/drama_mv1.jpg) no-repeat center center / contain;
}
#dvisual li:last-child {
	background:url(../img/drama_mv2.jpg) no-repeat center center / contain;
}
#dvisual2 li:first-child {
	background:url(../img/drama_mv3.jpg) no-repeat center center / contain;
}
/*
#dvisual2 li:last-child {
	background:url(../img/drama_mv4.jpg) no-repeat center center / contain;
}
*/
#dintroduction {
	margin-bottom:130px;
}
#dintroduction h2 {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin-bottom: 70px;
}
#dintroduction h2 .en {
	font-weight: 700;
	font-size: 45px;
	line-height: 1;
	padding-bottom: 25px;
	position: relative;
	display: block;
}
#dintroduction h2 .en:before {
	content: '';
	position: absolute;
	width: 50px;
	height: 2px;
	background: #eb4040;
	margin-left: -25px;
	left: 50%;
	bottom: -1px;
}
#dintroduction h2 .ja {
	padding-top: 25px;
}
#dintroduction p {
	font-size: 24px;
	line-height: 48px;
}
#dcaststaff h2 {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin-bottom: 70px;
}
#dcaststaff h2 .en {
	font-weight: 700;
	font-size: 45px;
	line-height: 1;
	padding-bottom: 25px;
	position: relative;
	display: block;
}
#dcaststaff h2 .en:before {
	content: '';
	position: absolute;
	width: 50px;
	height: 2px;
	background: #eb4040;
	margin-left: -25px;
	left: 50%;
	bottom: -1px;
}
#dcaststaff h2 .ja {
	padding-top: 25px;
}
#dcsWrap {
	padding-bottom:50px;
}
#dcaststaff h3 {
	font-size: 40px;
	padding-bottom: 8px;
	border-bottom: 1px solid #000;
	position: relative;
	margin-bottom: 35px;
}
#dcaststaff h3:before {
	content: '';
	position: absolute;
	right: 0;
	bottom: -2px;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: #000;
}
#dcaststaff h3 .en {
	display: inline-block;
	margin-right: 10px;
}
#dcaststaff h3 .ja {
	font-size: 25px;
}
#dcast {
	margin-bottom: 50px;
}
#dcsWrap li {
	font-size: 30px;
	display: table;
	margin: 0 auto;
}
#dcsWrap li strong {
	font-weight: 400;
	padding-right: 8px;
	font-size: 25px;
	display: table-cell;
	line-height: 46px;
	padding-top: 10px;
}
#dcsWrap li span {
	display: table-cell;
	line-height: 40px;
	padding: 17px 0;
}
#dcsWrap li a {
	display: table-cell;
	line-height: 40px;
	padding: 17px 0 17px 0px;
	transition: all 0.3s ease;
}

#dcsWrap li a img {
	vertical-align: top;
	width:auto;
	height:32px;
}
#dcast li span {
	width: 140px;
}
#dcast li strong {
	width: 140px;
}
#dstaff {
}
#dstaff li strong {
	color: #eb4040;
}
#dcopyright {
	height:100px;
	line-height: 100px;
	text-align: center;
	font-size: 20px;
}
#dramaClose,#movieClose {
	position: fixed;
	width: 90px;
	height: 90px;
	right: 25px;
	top: 25px;
	z-index: 50;
}
#dramaClose a,#movieClose a {
	display: block;
	height: 90px;
	position: relative;
	padding-top: 45px;
	line-height: 45px;
	color: #FFF;
	text-align: center;
	font-size: 20px;
	text-decoration: none;
	border-radius: 8px;
	background: #eb4040;
	transition: all 0.3s ease;
}
#dramaClose a:before, #dramaClose a:after, #movieClose a:before, #movieClose a:after {
	content: '';
	position: absolute;
	left: 50%;
	top: 30px;
	width: 42px;
	height: 4px;
	background: #FFF;
	border-radius: 2px;
	margin-left: -21px;
}
#dramaClose a:before, #movieClose a:before {
	transform: rotate(45deg);
}
#dramaClose a:after, #movieClose a:after {
	transform: rotate(-45deg);
}
#dramaBnr {
	position:absolute;
	top:5px;
	left:0;
	height:90px;
	width:100%;
	z-index:500;
	pointer-events: auto;
	display: none;
}
#dramaBnr a {
	display: table;
	margin:0 auto;
}
#dramaBnr a img {
	height:90px;
	width:auto;
}
.music__wrap {
	width:650px;
	position: relative;
	z-index: 4;
	margin:0 auto;
}
.music__each {
	padding-top:40px;
	padding-bottom:70px;
}
.music__each:last-of-type {
	padding-bottom:0;
}
.music__package {
	width:650px;
	background:#FFF;
	margin-bottom: 30px;
}
.music__package img {
	width:650px;
	height:auto;
}
.music__spec {
	margin-bottom: 30px;
}
.music__spec h4 {
	font-size:30px;
	line-height:50px;
	padding-bottom:7px;
	border-bottom: 2px solid #222;
	position: relative;
	color:#eb4040;
	margin-bottom:12px;
}
.music__spec h4:before {
	content:'';
	position: absolute;
	right:0;
	bottom:-3px;
	width:4px;
	height:4px;
	background: #222;
	border-radius: 50%;
}
.music__spec p {
	line-height:2;
}
.music__information {
	line-height:2;
	word-break: break-all;
	padding-top:30px;
}
.news__wrap {
	width:650px;
	position: relative;
	z-index: 4;
	margin: 0 auto;
}
.news__wrap a {
	color: #eb4040;
}
.news__wrap ul {
	margin-bottom:80px;
}
.news__wrap li {
	border-bottom: 2px solid rgba(0,0,0,.2);
	position: relative;
}
.news__wrap li:before {
	content: '';
	position: absolute;
	bottom:-2px;
	height:2px;
	width:120px;
	left:0;
	background:#eb4040;
}
.news__wrap li a {
	padding: 30px 0 15px;
	display: block;
	color: #222;
	text-decoration: none;
	transition: all 0.3s ease;
}
.news__wrap li a time {
	display: block;
	line-height: 2;
	color: #eb4040;
}
.news__wrap li a p {
	line-height: 2;
	margin-bottom: 1em;
	word-break: break-all;
}
.pagingBox {
	min-height: 50px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding-bottom: 30px;
}
.pagingBox a, .pagingBox > span {
	display: block;
	height: 50px;
	width: 50px;
	margin: 0 12px 24px;
	box-sizing: border-box;
	text-align: center;
	line-height: 50px;
	overflow: hidden;
	position: relative;
	border-radius: 50%;
	color: #fff;
}
.pagingBox a {
	background-color: #5e3b00;
	transition: all 0.3s ease;
	color: #fff;
	text-decoration: none;
}
.pagingBox a span {
	position: relative;
	z-index: 5;
}
.pagingBox > span {
	background: #eb4040;
}
#articleSingle {
	width: 650px;
	margin: 0 auto;
	color: #222;
}
.articleSingleHeader {
	border-bottom: 1px solid rgba(0,0,0,0.2);
}
.articleSingleHeader time {
	display: block;
	line-height: 2;
	color: #eb4040;
}
.articleSingleHeader h3 {
	height: auto;
	display: block;
	flex-direction:initial;
	justify-content:initial;
	align-items:initial;
	line-height: 2;
	margin-bottom: 1em;
	color:#000;
	font-size:28px;
}
.articleSingleCont {
	padding-top: 45px;
	line-height: 2;
	margin-bottom: 50px;
}
.articleSingleCont img {
	max-width: 100%;
	height: auto;
}
.articleSingleCont iframe {
	width: 100%;
	height: 365px;
}
.articleSingleCont p {
	margin-bottom: 1.5em;
	word-break: break-all;
}
.articleSingleCont a {
	/*color: #FFF;*/
}

.articleSingleCont .imgLists_flex{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}
.articleSingleCont .imgLists_flex li{
	width: calc(100% / 2);
}
.articleSingleCont .imgLists_flex li a{
	padding: 0;
	margin: 5px;
	transition: .3s ease;
}
.articleSingleCont .imgLists_flex li:before,
.articleSingleCont .imgLists_flex li a:after{
	content: none;
}
.articleSingleCont .imgLists_flex li{
	border-bottom: hidden;
}

.btindex {
	margin: 0px auto;
	height: 50px;
	width: 200px;
}
.btindex a {
	display: block;
	height: 50px;
	background: #5e3b00;
	line-height: 50px;
	text-align: center;
	color: #fff;
	text-decoration: none;
	border-radius: 25px;
	transition: all 0.3s ease;
}
.radio__wrap {
	width:650px;
	margin:0 auto;
	position: relative;
	z-index: 4;
}
.radio__start {
	text-align: center;
	font-size:24px;
	color: #5e3b00;
	line-height: 1;
	margin-bottom:70px;
}
.radio__start strong {
	padding-top:24px;
	font-size:65px;
	text-align: center;
	display: block;
	color:#eb4040;
	letter-spacing: 0.05em;
}
.radio__content p {
	margin-bottom:2em;
	line-height: 2;
}
.radio__content p img {
	display: block;
	margin:0 auto;
	max-width: 100%;
	height:auto;
}
.radio__bwhite {
	padding:20px 26px;
	background:#FFF;
	border-radius: 16px;
}
.radio__bwhite span {
	background:#5e3b00;
	color:#FFF;
	padding:0 5px;
	display: inline-block;
	margin-bottom: 10px;
}
.radio__content h4 {
	font-size:30px;
	color:#eb4040;
	margin-bottom:15px;
	padding-top:15px;
}
.radio__content hr {
	border:none;
	border-bottom:2px solid rgba(0,0,0,.2);
	margin-bottom:30px;
}
.radio__content p a {
	color: #dd316a;
}
.story__wrap {
	width:650px;
	margin:0 auto;
	position: relative;
	z-index: 4;
}
.story__nav {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	width:100%;
	margin:0 auto 40px;
}
.story__nav li {
	width:50px;
	margin:0 10px 20px;
}
.story__nav li a {
	width:50px;
	height:50px;
	border-radius: 25px;
	display: block;
	line-height: 50px;
	text-align: center;
	color:#FFF;
	background:#5e3b00;
	text-decoration: none;
}
.story__nav li a.soon {
	pointer-events: none;
	opacity:0.3;
}
.story__nav li:nth-child(-n+1) {
	width:100%;
	margin:0 0 48px;
}
.story__nav li:nth-child(-n+1) a {
	width:240px;
	margin: 0 auto;
}
/*
.story__nav li:nth-child(1) {
	padding-left:60px;
}
.story__nav li:nth-child(2) {
	padding-right:60px;
}
*/
.story__nav li a.active {
	background:#f39800;
}
.story__nav.s2n li a.active {
	background:#eb4040;
}
.story__nav :first-child a.active {
	background: #f39800 !important;
}
.story__nav.s2n :first-child a.active {
	background: #eb4040 !important;
}
.story__catch {
	width:649px;
	height:75px;
	background: url(../img/story__catch.png) no-repeat center center / contain;
	margin-bottom:40px;
	margin-left:-8px;
}
.story__catch2 {
	width:649px;
	height:75px;
	background: url(../img/story__catch2.png) no-repeat center center / contain;
	margin-bottom:40px;
	margin-left:-8px;
}
.story__section1 {
	position: relative;
	margin-bottom:60px;
}
.story__section1:before {
	content:'';
	position: absolute;
	left:250px;
	top:0;
	width: 580px;
	height:320px;
	border-radius: 16px;
	background: url(../img/story__img1.jpg) no-repeat center center;
}
.story__section1-2:before {
	content:'';
	background: url(../img/story__img1-2.jpg) no-repeat center center !important;
}
.story__section1 p {
	padding-top:50px;
	line-height:2;
	text-shadow: 0px 0px 6px rgba(255, 255, 255, 1), 0px 0px 6px rgba(255, 255, 255, 1), 0px 0px 6px rgba(255, 255, 255, 1), 0px 0px 6px rgba(255, 255, 255, 1), 0px 0px 6px rgba(255, 255, 255, 1), 0px 0px 6px rgba(255, 255, 255, 1), 0px 0px 6px rgba(255, 255, 255, 1), 0px 0px 6px rgba(255, 255, 255, 1), 0px 0px 6px rgba(255, 255, 255, 1), 0px 0px 6px rgba(255, 255, 255, 1), 0px 0px 6px rgba(255, 255, 255, 1), 0px 0px 6px rgba(255, 255, 255, 1);
	position: relative;
}
.story__section2 {
	position: relative;
	margin-bottom:60px;
	min-height: 320px
}
.story__section2:before {
	content:'';
	position: absolute;
	right:200px;
	top:0;
	width: 580px;
	height:320px;
	border-radius: 16px;
	background: url(../img/story__img2.jpg) no-repeat center center;
}
.story__section2-2:before {
	content:'';
	background: url(../img/story__img2-2.jpg) no-repeat center center !important;
}
.story__section2 p {
	padding-top:50px;
	line-height:2;
	text-shadow: 0px 0px 6px rgba(255, 255, 255, 1), 0px 0px 6px rgba(255, 255, 255, 1), 0px 0px 6px rgba(255, 255, 255, 1), 0px 0px 6px rgba(255, 255, 255, 1), 0px 0px 6px rgba(255, 255, 255, 1), 0px 0px 6px rgba(255, 255, 255, 1), 0px 0px 6px rgba(255, 255, 255, 1), 0px 0px 6px rgba(255, 255, 255, 1), 0px 0px 6px rgba(255, 255, 255, 1), 0px 0px 6px rgba(255, 255, 255, 1), 0px 0px 6px rgba(255, 255, 255, 1), 0px 0px 6px rgba(255, 255, 255, 1);
	position: relative;
}
.story__subcatch {
	width:666px;
	margin-left:-8px;
	height:456px;
	background: url(../img/story__subcatch_sp.png) no-repeat right center;
}
.story__subcatch2 {
	width:666px;
	margin-left:-8px;
	height:456px;
	background: url(../img/story__subcatch2_sp.png) no-repeat right center;
}
.tieup__wrap {
	width:650px;
	margin:0 auto;
	position: relative;
	z-index: 4;
}
.tieup__wrap.cp {
	margin-top: 50px;
}
.tieup__wrap ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	width: 680px;
	margin:0 -15px;
}
.tieup__wrap li {
	width:310px;
	margin:0 15px 40px;
}
.tieup__wrap li:last-child,
.tieup__wrap li:nth-last-child(2) {
	margin-bottom:0;
}
.tieup__wrap li a,
.tieup__wrap li a img {
	display: block;
}
.tieup__wrap li a img {
	width:310px;
	height: auto;
}
.character__wrap {
	width:650px;
	margin:0 auto;
	position: relative;
	z-index: 4;
}
#characterList {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#characterList li {
	height: 667px;
	width: 300px;
}
#characterList li:nth-child(2n) {
	margin-top: 80px;
}
#characterList li a {
	display: block;
	height: 667px;
	position: relative;
	text-decoration: none;
}
#c1 a,#c2-1 a {
	background: url(../img/character_1c_sp.png) no-repeat right center;
}
#c2 a,#c2-2 a {
	background: url(../img/character_2c_sp.png) no-repeat right center;
}
#c3 a,#c2-3 a {
	background: url(../img/character_3c_sp.png) no-repeat right center;
}
#c4 a,#c2-4 a {
	background: url(../img/character_4c_sp.png) no-repeat right center;
}
#c2-13 a {
	background: url(../img/character_13c_sp.png) no-repeat right center;
}
#c2-14 a {
	background: url(../img/character_14c_sp.png) no-repeat right center;
}
#c1 a:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 25px;
	height: 641px;
	width: 174px;
	background: url(../img/character_1thumb.png) no-repeat left bottom / contain;
}
#c2 a:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0px;
	height: 659px;
	width: 280px;
	background: url(../img/character_2thumb.png) no-repeat left bottom / contain;
}
#c3 a:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 26px;
	height: 667px;
	width: 161px;
	background: url(../img/character_3thumb.png) no-repeat left bottom / contain;
}
#c4 a:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 26px;
	height: 661px;
	width: 180px;
	background: url(../img/character_4thumb.png) no-repeat left bottom / contain;
}
#c2-1 a:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 25px;
	height: 641px;
	width: 174px;
	background: url(../img/character_2-1full.png) no-repeat left bottom / contain;
}
#c2-2 a:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0px;
	height: 659px;
	width: 280px;
	background: url(../img/character_2-2full.png) no-repeat left bottom / contain;
}
#c2-3 a:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 20px;
	height: 667px;
	width: 170px;
	background: url(../img/character_2-3full.png) no-repeat left bottom / contain;
}
#c2-4 a:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 10px;
	height: 661px;
	width: 200px;
	background: url(../img/character_2-4full.png) no-repeat left bottom / contain;
}
#c2-13 a:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: -26px;
	height: 667px;
	width: 260px;
	background: url(../img/character_13full.png) no-repeat left bottom / contain;
}
#c2-14 a:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	height: 661px;
	width: 260px;
	background: url(../img/character_14full.png) no-repeat left bottom / contain;
}
.cname {
	position: absolute;
	height: 200px;
	width: 40px;
	top: 130px;
	right: 25px;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-size: 30px;
	color: #FFF;
	line-height: 40px;
	letter-spacing: 0.2em;
	z-index: 5;
}
.cname rt {
	transform: translate(5px,2px);
}
.cvoice {
	background: #FFF;
	position: absolute;
	width: 40px;
	bottom: 130px;
	right: 30px;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-size: 25px;
	color: #000;
	line-height: 40px;
	letter-spacing: 0.05em;
	padding: 28px 0;
	border-top: 3px solid #5B3C1C;
	border-bottom: 3px solid #5B3C1C;
	z-index: 6;
}
.character__sublist {
	padding-top:40px;
	width:675px;
	margin:0 -8px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.character__sublist li {
	width:200px;
	margin:0 10px 36px;
}
.character__sublist li a {
	display: block;
	text-decoration: none;
}
.character__sublist li a .character__sublist--thumb {
	height:200px;
	margin-bottom:20px;
	transition:all 0.3s ease;
}
#c5 .character__sublist--thumb,#c2-5 .character__sublist--thumb {
	background:url(../img/character_sub1_thumb.png) no-repeat center center / contain;
}
#c6 .character__sublist--thumb,#c2-6 .character__sublist--thumb {
	background:url(../img/character_sub2_thumb.png) no-repeat center center / contain;
}
#c7 .character__sublist--thumb,#c2-7 .character__sublist--thumb {
	background:url(../img/character_sub3_thumb.png) no-repeat center center / contain;
}
#c8 .character__sublist--thumb,#c2-8 .character__sublist--thumb {
	background:url(../img/character_sub4_thumb.png) no-repeat center center / contain;
}
#c9 .character__sublist--thumb,#c2-9 .character__sublist--thumb {
	background:url(../img/character_sub5_thumb.png) no-repeat center center / contain;
}
#c10 .character__sublist--thumb,#c2-10 .character__sublist--thumb {
	background:url(../img/character_sub6_thumb.png) no-repeat center center / contain;
}
#c11 .character__sublist--thumb,#c2-11 .character__sublist--thumb {
	background:url(../img/character_sub7_thumb.png) no-repeat center center / contain;
}
#c12 .character__sublist--thumb,#c2-12 .character__sublist--thumb {
	background:url(../img/character_sub8_thumb.png) no-repeat center center / contain;
}
#c15 .character__sublist--thumb,#c2-15 .character__sublist--thumb {
	background:url(../img/character_sub15_thumb.png) no-repeat center center / contain;
}
.character__sublist li a .character__sublist--name {
	text-align: center;
}
.character__sublist--name rt {
	transform: translateY(-5px);
}
#characterModal {
	background: #FFF url(../img/bg.png) repeat center center;
	position: fixed;
	z-index: 10001;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	overflow: auto;
	display: none;
	-webkit-overflow-scrolling: touch;
}
#characterModal:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 199px;
	height: 120px;
	background: url(../img/cm_ht_tl.png) no-repeat center center;
}
#characterModal:after {
	content:'';
	position:absolute;
	left:0;
	right:0;
	top:0;
	bottom:0;
	background:#FFF;
	z-index:49;
	opacity:0;
	pointer-events: none;
	transition:all 0.3s ease;
}
#characterModal.off:after {
	opacity:1;
	pointer-events: auto;
}
#characterModalin {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	z-index: 49;
}
#characterModalin > p {
	width: 600px;
	height: 1150px;
	margin: 0;
	text-align: center;
}
#characterModalin > p span {
	width: 100%;
	height: 1150px;
	background-position: center center;
	background-repeat: no-repeat;
	display: block;
	background-size:auto 90%;
}
#characterFixed {
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	min-height: 100%;
	pointer-events: none;
}
#characterFixed:before {
	content:'';
	position:absolute;
	left:0;
	right:0;
	top:50%;
	height:120px;
	margin-top:-60px;
}
#characterFixed:after {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	width: 171px;
	height: 136px;
	background: url(../img/cm_ht_br.png) no-repeat center center;
}
#characterFixed h2 {
	position: absolute;
	left: 600px;
	top: 0;
	bottom: 0;
	width: 80px;
	letter-spacing: 0.2em;
	display: flex;
	align-items: flex-start;
	z-index: 2;
	background:#eb4040;
}
#characterFixed h2 div {
	padding-top: 155px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
#characterFixed h2 .cmName {
	font-size: 36px;
	line-height: 80px;
	width: 80px;
	display: block;
	padding-bottom: 40px;
	color: #FFF;
}
#characterFixed h2 .cmVoice {
	background: #FFF;
	display: block;
	width: 32px;
	font-size: 20px;
	color: #000;
	line-height: 32px;
	letter-spacing: 0.05em;
	padding: 13px 0;
	border-top: 3px solid #5B3C1C;
	border-bottom: 3px solid #5B3C1C;
	z-index: 6;
	transform: rotate(0.1deg);
}
#characterFixed h2 .cmKana {
	color:#FFF;
	margin-bottom:40px;
}
#characterTexts {
	display: none;
}
#characterTextp {
	width: 470px;
	margin-left: 80px;
	padding-bottom: 200px;
}
#characterTextp p {
	line-height: 2;
	margin-bottom: 2em;
}
#characterTextp li {
	line-height: 2;
	min-height: 2em;
}
#characterTextp li strong {
	font-weight: normal;
	color: #eb4040;
	display: inline-block;
	margin-right: 10px;
}
@keyframes bgloop_c1 {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: -1254px 0;
	}
}
@keyframes bgloop_c2 {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: -833px 0;
	}
}
@keyframes bgloop_c3 {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: -997px 0;
	}
}
@keyframes bgloop_c4 {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: -690px 0;
	}
}
@keyframes bgloop_c5 {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: -1380px 0;
	}
}
@keyframes bgloop_c6 {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: -1146px 0;
	}
}
@keyframes bgloop_c7 {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: -887px 0;
	}
}
@keyframes bgloop_c8 {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: -1254px 0;
	}
}
@keyframes bgloop_c9 {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: -1254px 0;
	}
}
@keyframes bgloop_c10 {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: -726px 0;
	}
}
@keyframes bgloop_c11 {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: -978px 0;
	}
}
@keyframes bgloop_c12 {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: -1169px 0;
	}
}
.c1 #characterFixed h2,.c2-1 #characterFixed h2 {
	background: url(../img/character_1ptn.png) repeat center top;
}
.c1 #characterFixed:before,.c2-1 #characterFixed:before {
	background:url(../img/c1_bgtext.png) repeat center left;
	animation: bgloop_c1 20s linear infinite;
}
.c1 #characterModalin p span {
	background-image: url(../img/character_1full.png);
}
.c2-1 #characterModalin p span {
	background-image: url(../img/character_2-1full.png);
}
.c2 #characterFixed h2,.c2-2 #characterFixed h2 {
	background: url(../img/character_2ptn.png) repeat center top;
}
.c2 #characterFixed:before,.c2-2 #characterFixed:before {
	background:url(../img/c2_bgtext.png) repeat center left;
	animation: bgloop_c1 20s linear infinite;
}
.c2 #characterModalin p span {
	background-image: url(../img/character_2full.png);
}
.c2-2 #characterModalin p span {
	background-image: url(../img/character_2-2full.png);
}
.c3 #characterFixed h2,.c2-3 #characterFixed h2 {
	background: url(../img/character_3ptn.png) repeat center top;
}
.c3 #characterFixed:before,.c2-3 #characterFixed:before {
	background:url(../img/c3_bgtext.png) repeat center left;
	animation: bgloop_c1 20s linear infinite;
}
.c3 #characterModalin p span {
	background-image: url(../img/character_3full.png);
}
.c2-3 #characterModalin p span {
	background-image: url(../img/character_2-3full.png);
}
.c4 #characterFixed h2,.c2-4 #characterFixed h2 {
	background: url(../img/character_4ptn.png) repeat center top;
}
.c4 #characterFixed:before,.c2-4 #characterFixed:before {
	background:url(../img/c4_bgtext.png) repeat center left;
	animation: bgloop_c1 20s linear infinite;
}
.c4 #characterModalin p span {
	background-image: url(../img/character_4full.png);
}
.c2-4 #characterModalin p span {
	background-image: url(../img/character_2-4full.png);
}

.c5 #characterFixed:before,.c2-5 #characterFixed:before {
	background:url(../img/c5_bgtext.png) repeat center left;
	animation: bgloop_c5 20s linear infinite;
}
.c5 #characterModalin p span,.c2-5 #characterModalin p span {
	background-image: url(../img/character_5full.png);
}
.c6 #characterFixed:before,.c2-6 #characterFixed:before {
	background:url(../img/c6_bgtext.png) repeat center left;
	animation: bgloop_c6 20s linear infinite;
}
.c6 #characterModalin p span,.c2-6 #characterModalin p span {
	background-image: url(../img/character_6full.png);
}
.c7 #characterFixed:before,.c2-7 #characterFixed:before {
	background:url(../img/c7_bgtext.png) repeat center left;
	animation: bgloop_c7 20s linear infinite;
}
.c7 #characterModalin p span,.c2-7 #characterModalin p span {
	background-image: url(../img/character_7full.png);
}
.c8 #characterFixed:before,.c2-8 #characterFixed:before {
	background:url(../img/c8_bgtext.png) repeat center left;
	animation: bgloop_c8 20s linear infinite;
}
.c8 #characterModalin > p,.c2-8 #characterModalin > p {
	height:550px;
}
.c8 #characterModalin p span,.c2-8 #characterModalin p span {
	background-image: url(../img/character_8full.png);
	height:650px;
	background-size:55% auto;
}
.c9 #characterFixed:before,.c2-9 #characterFixed:before {
	background:url(../img/c9_bgtext.png) repeat center left;
	animation: bgloop_c9 20s linear infinite;
}
.c9 #characterModalin > p,.c2-9 #characterModalin > p {
	height:550px;
}
.c9 #characterModalin p span,.c2-9 #characterModalin p span {
	background-image: url(../img/character_9full.png);
	height:650px;
	background-size:55% auto;
}
.c10 #characterFixed:before,.c2-10 #characterFixed:before {
	background:url(../img/c10_bgtext.png) repeat center left;
	animation: bgloop_c10 20s linear infinite;
}
.c10 #characterModalin p span,.c2-10 #characterModalin p span {
	background-image: url(../img/character_10full.png);
}
.c11 #characterFixed:before,.c2-11 #characterFixed:before {
	background:url(../img/c11_bgtext.png) repeat center left;
	animation: bgloop_c11 20s linear infinite;
}
.c11 #characterModalin p span,.c2-11 #characterModalin p span {
	background-image: url(../img/character_11full.png);
}
.c12 #characterFixed:before,.c2-12 #characterFixed:before {
	background:url(../img/c12_bgtext.png) repeat center left;
	animation: bgloop_c12 20s linear infinite;
}
.c12 #characterModalin p span,.c2-12 #characterModalin p span {
	background-image: url(../img/character_12full.png);
}
.c2-13 #characterModalin p span {
	background-image: url(../img/character_13full.png);
}
.c2-13 #characterFixed h2 {
	background: url(../img/character_13ptn.png) repeat center top;
}
.c2-13 #characterFixed:before {
	background:url(../img/c13_bgtext.png) repeat center left;
	animation: bgloop_c1 20s linear infinite;
}
.c2-14 #characterModalin p span {
	background-image: url(../img/character_14full.png);
}
.c2-14 #characterFixed h2 {
	background: url(../img/character_14ptn.png) repeat center top;
}
.c2-14 #characterFixed:before {
	background:url(../img/c14_bgtext.png) repeat center left;
	animation: bgloop_c1 20s linear infinite;
}
.c2-15 #characterModalin p span {
	background-image: url(../img/character_15full.png);
}
.c2-15 #characterFixed:before {
	background:url(../img/c15_bgtext.png) repeat center left;
	animation: bgloop_c1 20s linear infinite;
}
#characterClose {
	position: fixed;
	width: 90px;
	height: 90px;
	right: 25px;
	top: 25px;
	z-index: 50;
}
#characterClose a {
	display: block;
	height: 90px;
	position: relative;
	padding-top: 45px;
	line-height: 45px;
	color: #FFF;
	text-align: center;
	font-size: 20px;
	text-decoration: none;
	border-radius: 8px;
	background: #5E3B00;
	transition: all 0.3s ease;
}
#characterClose a:before, #characterClose a:after {
	content: '';
	position: absolute;
	left: 50%;
	top: 30px;
	width: 42px;
	height: 4px;
	background: #FFF;
	border-radius: 2px;
	margin-left: -21px;
}
#characterClose a:before {
	transform: rotate(45deg);
}
#characterClose a:after {
	transform: rotate(-45deg);
}
.character__faces {
	padding-top:50px;
}
.character__inNav {
	position: absolute;
	z-index:80;
	bottom:40px;
	right:40px;
	left:40px;
	display: flex;
	justify-content: space-between;
	z-index:10002;
}
.character__inNav li {
	width: 80px;
}
.character__inNav li a {
	display: block;
	text-decoration: none;
}
.character__inNav li a .cn__thumb {
	width:80px;
	height:80px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	transition:all 0.3s ease;
}
.character__inNav li a .cn__text {
	line-height: 40px;
	text-align: center;
}
.cn__c1 .cn__thumb {
	background-image: url(../img/character_main1_thumb.png);
}
.cn__c2 .cn__thumb {
	background-image: url(../img/character_main2_thumb.png);
}
.cn__c3 .cn__thumb {
	background-image: url(../img/character_main3_thumb.png);
}
.cn__c4 .cn__thumb {
	background-image: url(../img/character_main4_thumb.png);
}
.cn__c2-1 .cn__thumb {
	background-image: url(../img/character_main2-1_thumb.png);
}
.cn__c2-2 .cn__thumb {
	background-image: url(../img/character_main2-2_thumb.png);
}
.cn__c2-3 .cn__thumb {
	background-image: url(../img/character_main2-3_thumb.png);
}
.cn__c2-4 .cn__thumb {
	background-image: url(../img/character_main2-4_thumb.png);
}
.cn__c5 .cn__thumb {
	background-image: url(../img/character_sub1_thumb.png);
}
.cn__c6 .cn__thumb {
	background-image: url(../img/character_sub2_thumb.png);
}
.cn__c7 .cn__thumb {
	background-image: url(../img/character_sub3_thumb.png);
}
.cn__c8 .cn__thumb {
	background-image: url(../img/character_sub4_thumb.png);
}
.cn__c9 .cn__thumb {
	background-image: url(../img/character_sub5_thumb.png);
}
.cn__c10 .cn__thumb {
	background-image: url(../img/character_sub6_thumb.png);
}
.cn__c11 .cn__thumb {
	background-image: url(../img/character_sub7_thumb.png);
}
.cn__c12 .cn__thumb {
	background-image: url(../img/character_sub8_thumb.png);
}
.cn__c13 .cn__thumb {
	background-image: url(../img/character_main13_thumb.png);
}
.cn__c14 .cn__thumb {
	background-image: url(../img/character_main14_thumb.png);
}
.cn__c15 .cn__thumb {
	background-image: url(../img/character_sub15_thumb.png);
}
.goods__wrap {
	width:650px;
	margin:0 auto;
}
.goods__list {
	display: flex;
	flex-wrap: wrap;
	width:650px;
	justify-content: space-between;
	margin-bottom:40px;
}
.goods__list li {
	width:300px;
	border-bottom:2px solid #eb4040;
	margin:0 0 50px;
}
.goods__list a {
	height:100%;
	display: block;
	text-decoration: none;
}
.goods__thumb {
	height:300px;
	margin-bottom: 16px;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	background:#FFF;
	border-radius: 16px;
}
.goods__thumb img {
	max-width: 300px;
	max-height:300px;
	height:auto;
	width: auto;
	display: block;
}
.goods__name {
	line-height: 2;
	padding-bottom:16px;
}
.goods__wrap article {
	padding-bottom:72px;
}
.goods__wrap article h3 {
	height: auto;
    display: block;
    flex-direction:initial;
    justify-content:initial;
    align-items:initial;
	line-height: 2;
	color:#000;
	font-size:25px;
	border-bottom:2px solid #eb4040;
	padding-bottom:20px;
	margin-bottom:40px;
}
.goods__imgs {
	width:650px;
	margin:0 auto;
}
.goods__imgs li {
	width:650px;
	margin:0 0 40px;
}
.goods__imgs li img {
	max-width: 100%;
}
.goods__spec {
	padding:16px 40px;
	background: #FFF;
	border-radius: 16px;
	margin-bottom:32px;
}
.goods__spec div {
	min-height:50px;
	display: flex;
}
.goods__spec dt {
	line-height: 2;
	width:160px;
	color:#eb4040;
}
.goods__spec dd {
	line-height: 2;
	flex:1;
}
.goods__text {
	line-height:2;
}
.special__wrap {
	width:650px;
	margin:0 auto;
}
.special__wrap ul {
    margin-bottom: 80px;
    display: flex;
    flex-wrap: wrap;
}
.special__wrap li a {
    display: block;
    color: #222;
    text-decoration: none;
}
.special__list {
	display: flex;
	flex-wrap: wrap;
	width:650px;
	justify-content: space-between;
	margin-bottom:40px;
}
.special__list li {
	width:300px;
	border-bottom:2px solid #eb4040;
	margin:0 0 50px;
}
.special__list a {
	height:100%;
	display: block;
	text-decoration: none;
}
.special__thumb {
	height:300px;
	margin-bottom: 16px;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	background:#FFF;
	border-radius: 16px;
}
.special__thumb img {
	max-width: 300px;
	max-height:300px;
	height:auto;
	width: auto;
	display: block;
}
.special__name {
	line-height: 2;
	padding-bottom:16px;
}
.special__wrap article {
	padding-bottom:72px;
}
.special__wrap article h3 {
	height: auto;
    display: block;
    flex-direction:initial;
    justify-content:initial;
    align-items:initial;
	line-height: 2;
	color:#000;
	font-size:25px;
	border-bottom:2px solid #eb4040;
	padding-bottom:20px;
	margin-bottom:40px;
}
.special__imgs {
	width:650px;
	margin:0 auto;
}
.special__imgs li {
	width:650px;
	margin:0 0 40px;
}
.special__imgs li img {
	max-width: 100%;
}
.special__spec {
	padding:16px 40px;
	background: #FFF;
	border-radius: 16px;
	margin-bottom:32px;
}
.special__spec div {
	min-height:50px;
	display: flex;
}
.special__spec dt {
	line-height: 2;
	width:160px;
	color:#eb4040;
}
.special__spec dd {
	line-height: 2;
	flex:1;
}
.special__text {
	line-height:2;
}
.story__wrap article {
	width:650px;
	margin:0 auto 60px;
}
.story__anime--imgwrap,
.story__la--imgwrap {
	margin-bottom: 20px;
}
.story__anime--img,
.story__la--img {
	min-height:365px;
}
.story__anime--img img,
.story__la--img img {
	width:650px;
	height:auto;
}
.story__anime--imgs {
	display: flex;
	flex-wrap: wrap;
}
.story__anime--imgs li {
	width:130px;
}
.story__anime--imgs li a {
	display: block;
	position:relative;
}
.story__anime--imgs li a img {
	width:130px;
	height:auto;
	display: block;
}
.story__anime--imgs li a:before {
	content:'';
	position: absolute;
	left:0;
	right:0;
	top:0;
	bottom:0;
	border:4px solid #eb4040;
	opacity: 0;
	transition:all 0.3s ease;
}
.story__anime--imgs li a:hover:before,
.story__anime--imgs li a.active:before {
	opacity: 1;
}
.story__wrap article h3 {
	height: auto;
    display: block;
    flex-direction:initial;
    justify-content:initial;
    align-items:initial;
	line-height: 2;
	margin-bottom: 1em;
	color:#eb4040;
	font-size:28px;
}
.story__anime--text,
.story__la--text {
	line-height: 2;
	margin-bottom:16px;
}
.story__anime--staff,
.story__la--staff {
	display: flex;
	flex-wrap: wrap;
}
.story__anime--staff li,
.story__la--staff li {
	margin-right:20px;
	font-size:20px;
	line-height:2;
}
#goodsModal {
	position: fixed;
	top:0;
	left: 0;
	right:0;
	bottom:0;
	overflow: auto;
	background:#FFF;
	z-index:9999;
		background-image:url(../img/bg.png);
	background-repeat:repeat;
	background-size:auto auto;
	background-attachment:scroll;
	background-position: center center;
	display: none;
	-webkit-overflow-scrolling: touch;
}
.goodsModalin {
	position: absolute;
	min-width: 100%;
	min-height:100%;
	display: flex;
	justify-content: center;
	align-items:center;
}
.goodsModalin .subcontent {
	padding:0px;
	background:none;
}
.goodsModalin .subcontent:before,
.goodsModalin .subcontent:after {
	display: none;
}
.goodsModalin .goods__wrap {
	padding:120px 0;
}
#goodsClose {
	position: fixed;
	width: 90px;
	height: 90px;
	right: 25px;
	top: 25px;
	z-index: 50;
}
#goodsClose a {
	display: block;
	height: 90px;
	position: relative;
	padding-top: 45px;
	line-height: 45px;
	color: #FFF;
	text-align: center;
	font-size: 20px;
	text-decoration: none;
	border-radius: 8px;
	background: #5E3B00;
	transition: all 0.3s ease;
}
#goodsClose a:before, #goodsClose a:after {
	content: '';
	position: absolute;
	left: 50%;
	top: 30px;
	width: 42px;
	height: 4px;
	background: #FFF;
	border-radius: 2px;
	margin-left: -21px;
}
#goodsClose a:before {
	transform: rotate(45deg);
}
#goodsClose a:after {
	transform: rotate(-45deg);
}
#specialModal {
	position: fixed;
	top:0;
	left: 0;
	right:0;
	bottom:0;
	overflow: auto;
	background:#FFF;
	z-index:9999;
		background-image:url(../img/bg.png);
	background-repeat:repeat;
	background-size:auto auto;
	background-attachment:scroll;
	background-position: center center;
	display: none;
	-webkit-overflow-scrolling: touch;
}
.specialModalin {
	position: absolute;
	min-width: 100%;
	min-height:100%;
	display: flex;
	justify-content: center;
	align-items:center;
}
.specialModalin .subcontent {
	padding:0px;
	background:none;
}
.specialModalin .subcontent:before,
.specialModalin .subcontent:after {
	display: none;
}
.specialModalin .special__wrap {
	padding:120px 0;
}
#specialClose {
	position: fixed;
	width: 90px;
	height: 90px;
	right: 25px;
	top: 25px;
	z-index: 50;
}
#specialClose a {
	display: block;
	height: 90px;
	position: relative;
	padding-top: 45px;
	line-height: 45px;
	color: #FFF;
	text-align: center;
	font-size: 20px;
	text-decoration: none;
	border-radius: 8px;
	background: #5E3B00;
	transition: all 0.3s ease;
}
#specialClose a:before, #specialClose a:after {
	content: '';
	position: absolute;
	left: 50%;
	top: 30px;
	width: 42px;
	height: 4px;
	background: #FFF;
	border-radius: 2px;
	margin-left: -21px;
}
#specialClose a:before {
	transform: rotate(45deg);
}
#specialClose a:after {
	transform: rotate(-45deg);
}

/*---*/
#bdModal {
	position: fixed;
	top:0;
	left: 0;
	right:0;
	bottom:0;
	overflow: auto;
	background:#FFF;
	z-index:9999;
		background-image:url(../img/bg.png);
	background-repeat:repeat;
	background-size:auto auto;
	background-attachment:scroll;
	background-position: center center;
	display: none;
	-webkit-overflow-scrolling: touch;
}
.bdModalin {
	position: absolute;
	min-width: 100%;
	min-height:100%;
	display: flex;
	justify-content: center;
	align-items:center;
}
.bdModalin .subcontent {
	padding:0px;
	background:none;
}
.bdModalin .subcontent:before,
.bdModalin .subcontent:after {
	display: none;
}
.bdModalin .bd__wrap {
	padding:120px 0;
}
#bdClose {
	position: fixed;
	width: 90px;
	height: 90px;
	right: 25px;
	top: 25px;
	z-index: 50;
}
#bdClose a {
	display: block;
	height: 90px;
	position: relative;
	padding-top: 45px;
	line-height: 45px;
	color: #FFF;
	text-align: center;
	font-size: 20px;
	text-decoration: none;
	border-radius: 8px;
	background: #5E3B00;
	transition: all 0.3s ease;
}
#bdClose a:before, #bdClose a:after {
	content: '';
	position: absolute;
	left: 50%;
	top: 30px;
	width: 42px;
	height: 4px;
	background: #FFF;
	border-radius: 2px;
	margin-left: -21px;
}
#bdClose a:before {
	transform: rotate(45deg);
}
#bdClose a:after {
	transform: rotate(-45deg);
}
.bd__wrap {
	width:650px;
	margin:0 auto;
}
.bd__list {
	display: flex;
	flex-wrap: wrap;
	width:650px;
	justify-content: space-between;
	margin-bottom:40px;
}
.bd__list li {
	width:300px;
	border-bottom:2px solid #eb4040;
	margin:0 0 50px;
}
.bd__list a {
	height:100%;
	display: block;
	text-decoration: none;
}
.bd__thumb {
	height:auto;
	margin-bottom: 16px;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	background:#FFF;
	border-radius: 16px;
}
.bd__thumb img {
	max-width: 300px;
	height:auto;
	width: auto;
	display: block;
}
.bd__name {
	line-height: 2;
	padding-bottom:16px;
}
.bd__wrap article {
	padding-bottom:72px;
}
.bd__wrap article h3 {
	height: auto;
    display: block;
    flex-direction:initial;
    justify-content:initial;
    align-items:initial;
	line-height: 2;
	color:#000;
	font-size:25px;
	border-bottom:2px solid #eb4040;
	padding-bottom:20px;
	margin-bottom:40px;
}
.bd__imgs {
	/*width:650px;*/
	margin:0 -20px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.bd__imgs li {
	width: auto;
	max-width: 650px;
	margin:0 20px 40px;
	justify-content: center;
	align-items: center;
}
.bd__imgs li img {
	max-width: 100%;
}
.bd__spec {
	padding:16px 40px;
	background: #FFF;
	border-radius: 16px;
	margin-bottom:32px;
}
.bd__spec div {
	min-height:50px;
	display: flex;
}
.bd__spec dt {
	line-height: 2;
	width:160px;
	color:#eb4040;
}
.bd__spec dd {
	line-height: 2;
	flex:1;
}
.bd__text {
	line-height:2;
}
.bd__img{
	display: block;
	margin: 32px 0 48px;
}
.bd__title{
	font-size: 30px;
	line-height: 50px;
	padding-bottom: 7px;
	border-bottom: 2px solid #222;
	position: relative;
	color: #eb4040;
	margin-bottom: 40px;
}
#support .subcontent h2 .en {
	font-size:90px;
}
.supportLists{
	display: flex;
	flex-wrap: wrap;
	position: relative;
	margin-bottom: 60px;
}
.supportLists:last-of-type{
	margin-bottom: 0;
}
.supportList{
	font-size: 25px;
	line-height: 40px;
	color: #eb4040;
	width: 100%;
	border-bottom: 2px solid #cccccc;
	padding: 20px 0;
}
.supportLists:after{
	content: '';
	position: absolute;
	width: 100%;
	bottom: 0;
	height: 2px;
	background: #ccc;
}
.supportList a{
	color: #eb4040;
}

/* add css - special */
.modalSpecialWrap {
	width: 650px;
  margin: 0 auto;
	padding: 120px 0;
}
.normalContTitle {
	line-height: 2;
	color: #000;
	font-size: 25px;
	border-bottom: 2px solid #eb4040;
	padding-bottom: 20px;
	margin-bottom: 40px;
}
.normalContLists > li {
	margin-bottom: 30px;
}
.normalContLists > li:last-child {
	margin-bottom: 0;
}
.normalContLists > li > a > img {
	width: 100%;
}
.normalContLists > li > p {
	padding: 16px 0;
	text-align: center;
	color: #eb4040;
	line-height: 1.6;
}

.onModalWrap {
	-webkit-overflow-scrolling: touch;
	background: rgba(0,0,0,.6);
	display: none;
	overflow: auto;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 9999;
}
.onModal {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 100%;
	min-height: 100%;
	margin: 0 auto;
	position: relative;
}
.onModal__in {
	padding: 20px 0;
}
.stepImgWrap {
	width: 100%;
}
.stepImgWrap img {
	width: 100%;
}
.onModal__close {
	position: fixed;
	width: 90px;
	height: 90px;
	right: 25px;
	top: 25px;
	z-index: 50;
}
.onModal__close a {
	display: block;
	height: 90px;
	position: relative;
	padding-top: 45px;
	line-height: 45px;
	color: #FFF;
	text-align: center;
	font-size: 20px;
	text-decoration: none;
	border-radius: 8px;
	background: #5E3B00;
	transition: all 0.3s ease;
}
.onModal__close a:before, .onModal__close a:after {
	content: '';
	position: absolute;
	left: 50%;
	top: 30px;
	width: 42px;
	height: 4px;
	background: #FFF;
	border-radius: 2px;
	margin-left: -21px;
}
.onModal__close a:before {
	transform: rotate(45deg);
}
.onModal__close a:after {
	transform: rotate(-45deg);
}
.content__nav {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	width:600px;
	margin:0 auto 40px;
	position: relative;
}
.content__nav li {
	width: 240px;
	margin:0 10px 20px;
}
.content__nav li a {
	height:50px;
	border-radius: 25px;
	display: block;
	line-height: 50px;
	text-align: center;
	color:#FFF;
	background:#5e3b00;
	text-decoration: none;
	padding:0 20px;
}
.content__nav li a.soon {
	pointer-events: none;
	opacity:0.3;
}

.content__nav li a.active {
	background:#eb4040;
}
.content__nav :first-child a.active {
	background:#f39800;
}
.com{
	font-size: 32px;
    font-weight: bold;
    text-align: center;
    margin: 240px 0;
}
.sMap span{
	font-size: 32px;
	font-weight: bold;
	color: #eb4040;
	display: block;
	border-bottom: #5E3B00 2px solid;
	margin-bottom: 12px;
}
.sMap a{
	color: #f39800;
}
.mt40{
	margin-top: 48px;
}