@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Sawarabi+Mincho&display=swap');
::selection {
	background: #000;
	color: #fff;
}
::-moz-selection {
 background: #000;
 color:#fff;
}
* { outline: none; }

body {
	font-family: "Swarabi Mincho","Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
	font-weight: 500;
	font-size: 14px;
	color: #fff;
	background-color: #000;
}
a { color: #000; }
a:hover { text-decoration: none; }
.sp { display: none; }
#fullWrap {
	min-width: 1200px;
	min-height: 640px;
    width: 100%;
    overflow: hidden;
    position: relative;
}
header {
	width: 1200px;
	height: 180px;
	margin: auto;
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -600px;
	z-index: 500;
}

#index header p {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: url(../images/str_bg1.png) no-repeat center center;
	width: 0;
	opacity: 0;
	transition: all .3s ease;
}
#index  header p.on {
	width: 1200px;
	opacity: 1;
}
.sub header { background: url(../images/str_bg2.png) no-repeat center center; }
#logo {
	width: 359px;
	height: 101px;
	position: absolute;
	left: 30px;
	top: 40px;
	z-index: 600;
}
#logo a {
	display: block;
	height: 101px;
	transition: all .3s ease;
	background: url(../images/logo.png) no-repeat center center;
}
#logo a:hover { opacity: 0.7; }
#startDate {
	width: 0;
	height: 75px;
	background: url(../images/startDate.png) no-repeat right center;
	position: absolute;
	top: 60px;
	right: 20px;
	z-index: 2000;
    opacity: 0;
    transition: all .2s ease;
}
#startDate.on{
	width: 744px;
	opacity: 1;
}
#catch {
	width: 45px;
	height: 0;
	background: url(../images/catch.png) no-repeat center top;
	position: absolute;
	top: 200px;
	right: 20px;
	z-index: 100;
	transform: translate(-40px, 10px);
    opacity: 0;
    transition: all .2s ease;
    z-index: 2000;
}
#catch.on{
	height: 424px;
	opacity: 1;
}
#mv {
	height: 0px;
	width: 100%;
	padding-top: 100%;
	position: relative;
}
#scene, #sceneBg {
	position: absolute;
	overflow: hidden;
	left: -3%;
	top: -3%;
	right: -3%;
	bottom: -3%;
	pointer-events: none;
}
#scene { z-index: 1000; }
.layer {
	display: block;
	position: absolute;
	z-index: 6;
	left: 0px;
	top: 0px;
	right: 0px;
	bottom: 0px;
	height: 100%;
	width: 100%;
}
.mv {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
}
#mv1 {
	top: -15%;
	right: -4%;
	bottom: -13%;
}
#mvbg {
	left: -3%;
	top: -3%;
	right: -3%;
	bottom: -3%;
}
#mvbg { background: url(../images/mv_bg.jpg) no-repeat center top / cover; }
#mv1 { background: url(../images/mv1.png) no-repeat center top / cover; }
#l_bg {
	display: block;
	position: absolute;
	z-index: 6;
	width: 495px;
    height: 2500px;
    top: -100px;
	bottom: 0;
	right: auto;
	left: -300px;
	background: #490006;
	transform: rotate(8.5deg);
	overflow: hidden;
}
#l_bg:before {
	content: "";
	width: 130%;
	height: 335px;
	position: absolute;
	top: -115px;
	left: -20px;
	transform: rotate(-24deg);
	background: #2c0004;
}
#l_side {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 350px;
	height: 100%;
	z-index: 300;
	padding-top: 215px;
}
.sub #l_side {
	position: fixed; 
	width: 220px;
}
.sub #l_side:before {
	content: "";
    display: block;
    position: absolute;
    z-index: 6;
    width: 140%;
    height: 2500px;
    top: -100px;
    right: auto;
    left: -76%;
    background: #000;
    transform: rotate(8.5deg);
    overflow: hidden;
}
#l_sideIn {
	padding-left: 25px;
	position: relative;
	z-index: 100;
}
#n_list {
}
#n_list li {
	height: 22px;
	width: 150px;
	margin-bottom: 18px;
}
#n_list li a {
	display: block;
	height: 22px;
}
#v_plus {
	height: 22px;
	width: 150px;
	position: absolute;
	top: 0;
	left: 180px;
}
#v_plus a {
	display: block;
	height: 22px;
}
.nl img { display: block; }
.nl p { 
	display: inline-block;
	position: relative;
}
.nl p:before {
	content: "";
	position: absolute;
    left: 0;
    height: 2px;
    background: #fff;
    width: 0;
    transition: all 0.3s ease;
    top: -8px;
}
.nl p:after {
	content: '';
    position: absolute;
    right: 0;
    height: 2px;
    background: #fff;
    width: 0;
    transition: all 0.3s ease;
    bottom:-4px;
}
.nl a:hover p:before, .nl a:hover p:after,
.nl a.active p:before, .nl a.active p:after {
	width: 40%;
}
#comment {
	width: 160px;
	height: 40px;
	background-color: #e50012;
	margin: 25px 0;
}
#comment a {
	display: block;
	height: 40px;
	border: 3px solid #000;
	box-sizing: border-box;
	transition: all .3s ease;
	
}
#comment a:hover { 
	transform: scale(1.03);
}
#comment a { background: url(../images/comment.png) no-repeat center; }
#official_tw a { background: url(../images/official_tw.png) no-repeat center; }
#share {
	width: 130px;
	height: 25px;
	margin-top: 10px;
	padding-left: 45px;
	box-sizing: border-box;
	background: url(../images/share.png) no-repeat left center;
}
#share li {
	width: 40px;
	height: 25px;
	float: left;
}
#share li a {
	display: block;
	height: 25px;
	border: 1px solid #e60012;
	box-sizing: border-box;
	transition: all .3s ease;
}
#share li a:hover { 
	transform: scale(1.05);
	background-color: #9B0000;
}
#tw { margin-bottom: 6px; }
#tw a {
	background: url(../images/tw.svg) no-repeat center;
	background-size: auto 10px;
}
#fb a {
	background: url(../images/fb.svg) no-repeat center;
	background-size: auto 12px;
	margin-left: -1px;
}
#copyright {
	font-size: 10px;
	font-weight: bold;
	letter-spacing: 0em;
	color: #4d4d4d;
}
#loading {
	position: fixed;
	z-index: 99999;
	left: 0px;
	top: 0px;
	right: 0;
	bottom: 0px;
	width: 100%;
	transition: all 1s ease;
	pointer-events: none;
	background: #000;
	opacity: 1;
}
#loading.on { opacity: 0; }
#loading p {
	width: 538px;
	height: 250px;
	background: url(../images/ld_logo.png) no-repeat center;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -125px;
	margin-left: -269px;
	opacity: 0;
}

#commentModal {
	min-width: 1200px;
	height: 620px;
	position: absolute;
	z-index: 1000;
	left: 0px;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	background: #e60012;
}
.modalIn {
	width: 1070px;
	height: 470px;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -235px;
	margin-left: -535px;
	
	-webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}

.modalIn h2 {
	display: inline-block;
	font-size: 24px;
	font-weight: bold;
	line-height: 48px;
	letter-spacing: 0.2em;
	margin-left: 30px;
	color: #000;
	padding-bottom: 10px;
}
.modalIn p {
	font-size: 16px;
	font-weight: bold;
	line-height: 46px;
	letter-spacing: 0em;
	color: #000;
}
#commPic {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-56%);
}
.closeBox {
	width: 320px;
	height: 80px;
	position: absolute;
	left: 0;
	bottom: 0;
}
.closeBox h3 {
	float: left;
	width: 240px;
	height: 80px;
	background: #000 url(../images/logo_s.png) no-repeat center;
	position: relative;
	z-index: 50;
}
.closeBtn {
	float: left;
	width: 80px;
	height: 80px;
	background-color: #e60012;
	position: relative;
}
.closeBtn:before {
	content: "";
	width: 80px;
	height: 80px;
	position: absolute;
	top: 0;
	left: -80px;
	transition: all .3s ease;
	background: #000;
}
.closeBtn:hover:before { left: 0; } 
.closeBtn a {
	display: block;
	width: 80px;
	height: 80px;
	background: url(../images/close.png) no-repeat center;
	transition: all .3s ease;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}
.closeBtn a:hover {
	background: url(../images/close_r.png) no-repeat center;
}

/*======================= SUB =========================*/
.sub #fullWrap {
	background: url(../images/sub_bg.jpg) no-repeat right top / cover;
}
.sub #v_plus { display: none; }

#r_cont {
	width: 1200px;
	margin: auto;
	position: relative;
}
#r_contIn {
	width: 970px;
	margin-left: auto;
	position: relative;
}
#r_contIn article {
	padding-top: 210px;
	padding-bottom: 100px;
	margin: auto;
	position: relative;
}
#to_top {
	width: 96px;
	height: 96px;
	position: absolute;
	bottom: 0;
	right: 0;
}
#to_top a {
	display: block;
	height: 96px;
	background: url(../images/to_top.png) no-repeat center center;
	transition: all .3s ease;
}
#to_top a:hover { opacity: 0.7; }
#sub_h2 {
	position: absolute;
	top: 65px;
	right: 410px;
	z-index: 1000;
}
#sub_h2:before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 48px;
	background: #000;
	z-index: -1;
}
#story #sub_h2 p {
	width: 148px;
	height: 60px;
	background: url(../images/story_h2.png) no-repeat center center;
}
#story article {
	width: 760px;
	margin-left: auto;
    margin-right: 40px;
}
.rubyText p {
	font-size: 16px;
	font-weight: 500;
	line-height: 45px;
	letter-spacing: 0.2em;
	padding-bottom: 20px;
	transform: scale(0.85, 1);
        margin: 0px -8.7%;
}
.rubyText span {
	font-size: 16px;
	font-weight: 500;
	line-height: 45px;
	letter-spacing: 0.2em;
	position: relative;
}
.rubyText small {
	display: block;
	text-align: center;
	font-size: 10px;
	font-weight: normal;
	width: 150%;
	letter-spacing: 0em;
	position: absolute;
	top: -30px;
	left: 50%;
	transform: translateX(-50%);
}
.rubyText .ex small {width: 145%;}

.rubyText .ex2 small {width: 160%;}


#staffcast #sub_h2 p {
	width: 314px;
	height: 48px;
	background: url(../images/staffcast_h2.png) no-repeat center center;
}
#staffcast article {
	width: 700px;
}
#staffcast h3 {
	display: table;
	margin: auto;
	position: relative;
}
#staffcast h3 img  {
	position: relative;
	z-index: 10;
}
#staffcast h3:before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 22px;
	background: #000;
}
.sc_list {
	padding-top: 30px;
	padding-bottom: 80px;
	transform: scale(0.85, 1);
        margin: 0px -8.7%;
}
.sc_list li {
	font-size: 16px;
	line-height: 50px;
	letter-spacing: 0.2em;
	text-align: center;
}
#staff li span {
	font-size: 12px;
}



#newsCont {position: relative;}
#news #sub_h2 {
	transform: translateX(10%);
}

#news #sub_h2 p {
	width: 146px;
	height: 47px;
	background: url(../images/news_h2.png) no-repeat center center;
}
#newsContIn {
	padding-top: 210px;
    padding-bottom: 300px;
}
#news_list li {
	transform: scale(0.85, 1);
    margin: 0px -8.7%;
}
#news_list li a {
	min-width: 890px;
	margin-left: 27%;
	display: flex;
	flex-wrap: wrap;
	position: relative;
    font-size: 16px;
    line-height: 40px;
    color: #fff;
    letter-spacing: 0.2em;
    text-decoration: none;
}
#news_list li:before {
	content: "";
    position: absolute;
    top: 0;
    left: -280px;
    bottom: 0;
    z-index: 0;
    right: -60px;
    pointer-events: none;
    transition: all .3s ease;
}
#news_list li:hover:before {
    background-color: #820000;
    opacity: 0.8;
    color: #FFF;
}
#news_list li a:after {
	content: "";
	width: 31px;
	height: 10px;
	background: url(../images/n_arw_g.png) no-repeat center center;
	position: absolute;
	top: 50%;
	right: 50px;
	margin-top: -5px; 
	transition: all .3s ease;
}
#news_list li a:hover:after {
	background: url(../images/n_arw_w.png) no-repeat center center;
	transform: translateX(-10px);
}
.n_listIn {
	padding-top: 14px;
	padding-bottom: 14px;
	padding-right: 150px;
	position: relative;
	z-index: 10;
	display: flex;
	flex-wrap: wrap;
}
.newsDate {
	width: 130px;
}
.newsTitle {
	width: calc(100% - 130px);
	word-break: break-all;
}
.l1 {
	width: 75px;
	height: 1px;
	background-color: #414141;
    position: absolute;
    bottom: 0;
    left: 0;
}
.l1:before {
	content: "";
	width: 10px;
	height: 10px;
	background: url(../images/dice.png) no-repeat center center;
	position: absolute;
    bottom: -3.5px;
    right: -15px;
}
.l2 {
	height: 1px;
	background-color: #414141;
    position: absolute;
    bottom: 0;
    left: 130px;
    right: 0;
}
#newsContIn h3 {
	transform: scale(0.85, 1);
        margin: 0px -8.7%;
    letter-spacing: 0.2em;
    position: relative;
}
#newsContIn h3:before {
	content: "";
    position: absolute;
    top: 0;
    left: -280px;
    bottom: 0;
    z-index: 0;
    right: -60px;
    pointer-events: none;
    transition: all .3s ease;
    background-color: #820000;
    opacity: 0.8;
}
#newsTitleBox {
	min-width: 890px;
	margin-left: 27%;
	display: flex;
	flex-wrap: wrap;
	position: relative;
    font-size: 16px;
    line-height: 40px;
    color: #fff;
    text-decoration: none;
}
#newsTitleBox .n_listIn {
	width: 890px;
	padding-right: 0px;
}
#newsContIn article {
	width: 800px;
	margin-left: 27%;
	margin-right: 40px;
	padding-top: 30px;
}
#newsDetailText {
	transform: scale(0.85, 1);
    margin: 0px -8.7%;
    font-size: 16px;
    line-height: 40px;
    color: #fff;
    letter-spacing: 0.2em;
}
#newsDetailText a {
	color: #FFF;
}
#newsDetailText img {
	transform: scale(1, 0.9);
}
#bkBtn {
	width: 590px;
	height: 30px;
	margin: 40px auto;
}
#bkBtn a {
	display: block;
	height: 30px;
	border: 1px solid #fff;
	font-size: 14px;
	font-weight: 500;
	text-align: center;
	line-height: 30px;
	color: #fff;
	text-decoration: none;
	letter-spacing: 0.2em;
	transform: scale(0.85, 1);
    margin: 0px -8.7%;
    transition: all .3s ease;
}
#bkBtn a:hover {
	background: #000;
}
.pagingBox {
	height: 40px;
	text-align: center;
	padding: 30px 0 60px;
}
.pagingBox a,
.pagingBox span {
	display: inline-block;
	height: 40px;
	width: 40px;
	margin-right: 5px;
	margin-bottom: 5px;
	box-sizing: border-box;
	border: 2px solid #AF0102;
	text-align: center;
	line-height: 38px;
	font-size: 18px;
	font-weight: bold;
}
.pagingBox a {
	transition: all 0.2s ease;
	color: #fff;
	text-decoration: none;
}
.pagingBox a:hover,
.pagingBox span {
	background-color: #AF0102;
	color: #FFF;
}
.pagingBox .none { display: none; }

.modal {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10000;
	display: none;
}
.modal:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,0.8);
}
#vpmIn {
	width: 598px;
	height: 898px;
	position: absolute;
	top: 320px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
}
#vpModal .closeBox { 
	left: -300px;
	bottom: 125px;
}
#comentModalWrap {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 8000;
	display: none;
}
#comentModalWrap:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,0.8);
}
#ldMask {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #000;
	z-index: 900;
	pointer-events: none;
}

/*================================== CHARACTER ======================================*/
#character #sub_h2 p {
	width: 285px;
	height: 48px;
	background: url(../images/character_h2.png) no-repeat center center;
}
#character #r_contIn { width: 920px; }
#c_tab {
	margin: 10px 0;
	position: relative;
	z-index: 100;
}
#c_tab ul {
	width: 710px;
	margin: auto;
	display: flex;
	flex-wrap: wrap;
}
#c_tab li {
	width: 350px;
	height: 50px;
	margin: 0 2.5px;
}
#c_tab li a {
	display: block;
	height: 50px;
	background: rgba(0,0,0,0.5);
	border: 2px solid #ae0101;
	box-sizing: border-box;
	text-decoration: none;
	transition: all .3s ease;
}
#c_tab li a span {
	display: block;
	color: #ae0101;
	font-size: 23px;
    font-weight: 500;
    line-height: 46px;
    letter-spacing: 0.2em;
    transform: scale(0.85, 1);
    margin: 0px -8.7%;
    text-align: center;
    transition: all .3s ease;
}
#c_tab li a.active { pointer-events: none; }
#c_tab li a.active, #c_tab li a:hover { background: #ae0101; }
#c_tab li a.active span, #c_tab li a:hover span { color: #000; }

.c_thumb {
	padding-top: 45px;
	position: relative;
}
.c_thumb ul {
	width: 920px;
	margin-left: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: relative;
	z-index: 20;
}
.c_thumb li {
	height: 150px;
	position: relative;
	margin-bottom: 5px;
	width: calc(920px / 2 - 2.5px);
}
#category1 li:not(.single):nth-child(odd) {
	margin-right: 5px;
}
#category2 li:not(.single):nth-child(odd) {
	margin-right: 5px;
}
.c_thumb li.single {
	width: 920px;
	background: #000;
	overflow: hidden;
}
.c_thumb li.single:after {
	content: "";
	position: absolute;
	width: 50%;
	top: 0;
	right: -10%;
	bottom: 0;
	background: #ae0101;
	transform: skew(-8.5deg);
	transition: all .4s ease;
}
.c_thumb li a {
	display: block;
	height: 150px;
	transition: all .4s ease;
	position: relative;
	z-index: 10;
	overflow: hidden;
}
.c_thumb li.single:hover:after { width: 130%; }
.c_thumb li.single a:hover .c_name p { color: #000;} 
.c_thumb li:not(.single) a { background: url(../images/thumb_bg.jpg) no-repeat center; }
.c_name {
	position: absolute;
	bottom: 10px;
	left: 20px;
	z-index: 101;
}
.c_name strong {
	display: block;
	color: #fff;
	font-size: 30px;
    line-height: 46px;
    letter-spacing: 1.9em;
    font-weight: 500;
	transform: scale(0.85, 1);
    margin: 0px -8.7%;
}
.c_name p {
	color: #ae0101;
	font-size: 20px;
    line-height: 32px;
    letter-spacing: 0.7em;
    font-weight: 500;
	transform: scale(0.7, 1);
    margin: 0px -19.6%;
}
.c_name p span { position: relative; }
.c_name p span:before {
	content: "";
    width: 8px;
    height: 1px;
    background: #ae0101;
    position: absolute;
    top: 0px;
    left: 30%;
    transform: translateX(-50%);
    transition: all .4s ease;
}
.c_thumb li.single a:hover .c_name p span:before { background: #000; }
.c_name p.ex_ls { letter-spacing: 1.9em;}
.c_thumb li.cs { pointer-events: none; }
.c_thumb li.cs a:before {
	content: "coming soon.";
	color: #ae0101;
	font-size: 10px;
    letter-spacing: 0.7em;
    font-weight: 500;
	transform: scale(0.7, 1);
	margin: 0px -4.6%;
    position: absolute;
    bottom: 15px;
    right: 15px;
}

#c_strBg {
	width: 100%;
	color: rgba(0,0,0,0.7);
	font-size: 235px;
    line-height: 235px;
    letter-spacing: 0.2em;
    font-weight: 500;
	transform: scale(0.85, 1);
	text-align: right;
    margin: 0px -19.6%;
    position: absolute;
    top: 130px;
    right: 60px;
    pointer-events: none;
    transition: all .3s ease;
}
#c_strBg_g {
	width: 130%;
	color: rgba(0,0,0,0.7);
	font-size: 125px;
    line-height: 235px;
    letter-spacing: 0.08em;
    font-weight: 500;
	transform: scale(0.85, 1);
	text-align: right;
    margin: 0px -19.6%;
    position: absolute;
    top: 160px;
    right: 85px;
    pointer-events: none;
    transition: all .3s ease;
}
#charaWrap {
	position: relative;
	padding-top: 60px;
}
#c_nameBox {
	height: 150px;
	position: absolute;
	top: 165px;
	left: 0;
	right: 0;
}
#c_nameBox:before {
	content: "";
	width: 300%;
	height: 150px;
	background: #000;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	pointer-events: none;
}
.cv {
	position: absolute;
	top: 320px;
	left: 0;
	right: 0;
}
.cv_name {
	color: #fff;
	font-size: 16px;
    line-height: 20px;
    letter-spacing: 0.9em;
    font-weight: 500;
	transform: scale(0.85, 1);
    margin: 0px -8.7%;
    padding: 20px;
}
.commentBtn {
	width: 200px;
	height: 22px;
	padding-left: 18px;
}
.commentBtn a {
	display: block;
	height: 22px;
	border: 1px solid #fff;
	box-sizing: border-box;
	text-decoration: none;
	transition: all .3s ease;
}
.commentBtn a span {
	display: block;
	color: #fff;
	font-size: 14px;
    line-height: 21px;
    letter-spacing: 0.2em;
    font-weight: 400;
	transform: scale(0.85, 1);
    text-align: center;
}
.commentBtn a:hover { background: #000; }
#c_main_img {
	position: relative;
	z-index: 100;
	pointer-events: none;
}
#c_main_img img {
	display: block;
	margin-right: 150px;
	margin-left: auto;
}
#c_disc {
	padding-top: 40px;
	padding-right: 100px
}
#charaModalWrap {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 8000;
	display: none;	
}
#charaModalWrap:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,0.8);
}
#charaModal {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	min-width: 1200px;
    min-height: 500px;
    z-index: 1000;
	background: #e60012;
}
#charaModal article {
	padding: 100px 150px;
	display: none;	
}
#charaModal article h2, #charaModal article p {
	font-size: 16px;
    font-weight: 500;
    line-height: 34px;
    letter-spacing: 0.2em;
    transform: scale(0.85, 1);
    margin: 0px -8.7%;
    color: #000;
}
#charaModal article h2 strong { font-size: 24px; }
#charaModal article p {
	padding-top: 30px;
	padding-bottom: 80px;
}


/*================================== Special Download ======================================*/
#special_dl #sub_h2 {
	transform: translateX(40%);
}

#special_dl #sub_h2 p {
	width: 519px;
	height: 60px;
	background: url(../images/special_dl_h2.png) no-repeat center center;
}
#special_dl #r_contIn { width: 920px; }
#special_dl article h3 {
	font-size: 32px;
    font-weight: 500;
    line-height: 54px;
    letter-spacing: 0.2em;
    transform: scale(0.85, 1);
    text-align: center;
    color: #fff;
}
#sd_notice {
	width: 460px;
	height: 45px;
	background: #fff;
	margin: 10px auto;
}
#sd_notice p {
	font-size: 20px;
    font-weight: 500;
    line-height: 45px;
    letter-spacing: 0.2em;
    transform: scale(0.85, 1);
    text-align: center;
    color: #ae0101;
    margin: 0px -8.7%;
}
#sd_list ul {
	width: 870px;
	margin: 40px auto 25px;
	display: flex;
	flex-wrap: wrap;
}
#sd_list ul li {
	width: 280px;
	margin: 0 5px;
}
.sd_thumb { margin-bottom: 10px; }
#sd_list ul li a {
	display: block;
	width: 280px;
	height: 45px;
	border: solid 1px #fff;
	box-sizing: border-box;
	text-decoration: none;
	transition: all .3s ease;
}
#sd_list ul li a span {
	display: block;
	font-size: 16px;
    font-weight: 400;
    line-height: 45px;
    letter-spacing: 0.2em;
    transform: scale(0.85, 1);
    text-align: center;
    color: #fff;
    transition: all .3s ease;
}
#sd_list ul li a:hover { background: #FFF; }
#sd_list ul li a:hover span { color: #ae0101; }
#sd_list small {
	display: block;
	font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.2em;
    transform: scale(0.85, 1);
    text-align: center;
    color: #fff;
}
.startDate {
	width: 744px;
	height: 75px;
	background: url(../images/startDate.png) no-repeat right center;
	margin: 40px auto 100px;
}


.sm_ls { letter-spacing: 0em; }

#c_main_img.c_main_img_fix img {
    margin-right: -50px;
}

/*========================== CHARACTER thumnails ===============================*/
#c1_1 a {background: url(../images/character/c1_1.png) no-repeat center;}
#c1_2 a {background: url(../images/character/c1_2.png) no-repeat center;}
#c1_3 a {background: url(../images/character/c1_3.png) no-repeat center;}
#c1_4 a {background: url(../images/character/c1_4.png) no-repeat center;}
#c1_5 a {background: url(../images/character/c1_5.png) no-repeat center;}
#c1_6 a {background: url(../images/character/c1_6.png) no-repeat center;}
#c1_7 a {background: url(../images/character/c1_7.png) no-repeat center;}
#c1_8 a {background: url(../images/character/c1_8.png) no-repeat center;}
#c1_9 a {background: url(../images/character/c1_9.png) no-repeat center;}
#c1_10 a {background: url(../images/character/c1_10.png) no-repeat center;}

#c2_1 a {background: url(../images/character/c2_1.png) no-repeat center;}
#c2_2 a {background: url(../images/character/c2_2.png) no-repeat center;}
#c2_3 a {background: url(../images/character/c2_3.png) no-repeat center;}
#c2_4 a {background: url(../images/character/c2_4.png) no-repeat center;}
#c2_5 a {background: url(../images/character/c2_5.png) no-repeat center;}
#c2_6 a {background: url(../images/character/c2_6.png) no-repeat center;}
#c2_7 a {background: url(../images/character/c2_7.png) no-repeat center;}

#topMovie {
	position: fixed;
}
#topMovieIn {
	max-width: 1200px;
	width: 80%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
#topYtBox {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
#topYt {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

#topMovie .closeBox {
	bottom: -80px;
	left: 0;
}