@charset "utf-8";




/*
--------------------------------
	basic
--------------------------------
*/


/* ---- container ---- */

body, html {
	min-width: 1000px;
}

body {
	color: #302c1c;
	background-color: #fff;
}


/* ---- others ---- */

a {
	color: #ff2c9c;
	text-decoration: none;
}

a:hover,
a:active {
	color: #00c0ff;
	text-decoration: none;
}




/*
--------------------------------
	index
--------------------------------
*/


/* ---- container ---- */

#header-container {
	overflow: hidden;
	position: relative;
	height: 60px;
	background-color: #fff;
}
#header-container .bg {
	position: absolute;
	top: 0; right: 0;
}
#header-container .shine {
	position: absolute;
	top: 0; left: 100%;
}
#header-container .shine-bg {
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 100%;
	background: #ffffff;
	opacity: 0;
}
#header-container #vita {
	position: absolute;
	top: 12px; left: 20px;
}


/* ---- body ---- */

#body {
	position: relative;
}

h1 {
	position: absolute;
	left: 20px;
	top: 450px;
	z-index: 10;
}

#catch {
	position: absolute;
	left: 50%;
	top: 6px;
	margin-left: -237px;
	z-index: 12;
}

#ornament {
	position: absolute;
	right: 0;
	top: 0;
	z-index: 11;
}

#line {
	position: absolute;
	left: 0;
	top: 60px;
	width: 100%;
	height: 16px;
	background: url(../img/index/header_line.png) repeat-x;
	opacity: .6;
	z-index: 10;
}


/* ---- main ---- */

#main-container {
	position: relative;
	width: 100%;
	height: 520px;
}

ul#main-container-img,
ul#main-container-area {
	width: 100%;
	height: 520px;
	overflow: hidden;
}
ul#main-container-img {
	position: relative;
}
ul#main-container-area {
	position: absolute;
	top: 0; left: 0;
	z-index: 3;
}

ul#main-container-img li,
ul#main-container-area li {
	float: left;
	width: 14.28%;
	height: 100%;
	overflow: hidden;
}

ul#main-container-img li:first-child,
ul#main-container-area li:first-child {
	width: 14.32%;
}

ul#main-container-img li span,
ul#main-container-area li a {
	display: block;
	position: relative;
	width: 100%;
	height: 520px;
	margin-top: 520px;
	background-color: #fff;
	overflow: hidden;
	text-align: center;
}
ul#main-container-area li a {
	margin-top: 0;
	background-color: transparent;
	text-indent: -999em;
}

ul#main-container-img li span:after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	width: 300px;
	height: 520px;
	background: url(../img/index/main/shadow.png) no-repeat right bottom;
	z-index: 2;
}

ul#main-container-img li span img {
	display: block;
	position: absolute;
	left: 50%;
	top: 0;
	width: 300px;
	max-width: none;
	height: 520px;
	margin-left: -150px;
	z-index: 1;
}

ul#main-container-banners {
	position: absolute;
	right: 0;
	bottom: 10px;
	z-index: 4;
}

ul#main-container-banners li {
	float: left;
	margin-right: 10px;
}

ul#main-container-banners li img {
	display: block;
	/*
	box-shadow: 0 0 8px rgba(12,3,13,.8);
	*/
}

ul#main-container-banners a img {
	transform: scale(.9) rotate(0);
	transition: transform .2s ease;
}

ul#main-container-banners a:hover img {
	transform: scale(1) rotate(10deg);
}


/* ---- news ---- */

#news-container {
	height: 78px;
	padding: 1px 0;
	background: url(../img/index/bg_news.png) repeat-x;
}

#news {
	position: relative;
	height: 78px;
	padding-left: 510px;
	background: url(../img/index/bg_news2.png) no-repeat;
}

#news-scroll {
	width: calc(100% - 40px);
	height: 78px;
	padding: 5px 20px 0;
	overflow: auto;
}

#news dl {
	position: relative;
	padding: 0 0 5px;
	font-size: 82%;
	line-height: 1.6;
}

#news dl dt {
	position: absolute;
	left: 0;
	top: 0;
	width: 100px;
	color: #a4a099;
}

#news dl dd {
	position: relative;
	padding: 0 0 0 100px;
}

#news dl dd strong {
	font-weight: bold;
}

#news-container .btn {
	position: absolute;
	left: 0;
	top: 0;
	width: 129px;
	height: 100%;
}

a#news-down,
a#news-up {
	display: block;
	position: absolute;
	top: 16px;
	width: 26px;
	height: 26px;
	overflow: hidden;
}

a#news-down {
	left: 15px;
}

a#news-up {
	left: 48px;
}

a#news-down img,
a#news-up img {
	margin-top: 0;
}

a#news-down:hover img,
a#news-up:hover img {
	margin-top: -30px;
}

a#news-down.disabled img,
a#news-up.disabled img {
	cursor: default;
	margin-top: -60px;
}

a#news-down.disabled:hover img,
a#news-up.disabled:hover img {
	margin-top: -60px;
}

#news-mask-top {
	position: absolute;
	left: 510px;
	top: 0;
	width: calc(100% - 510px);
	height: 10px;
	background: url(../img/index/news_shadow_top.png) repeat-x;
}

#news-mask-bottom {
	position: absolute;
	left: 510px;
	bottom: 0;
	width: calc(100% - 510px);
	height: 10px;
	background: url(../img/index/news_shadow_bottom.png) repeat-x;
}


/* ---- global navigation ---- */

#global-navigation-container {
	overflow: hidden;
	position: relative;
	width: 100%; height: 79px;
	background: url(../img/index/bg_nav.png) repeat-x right top;
}

#global-navigation-container .bg {
	position: absolute;
	top: 0; right: 0;
}
#global-navigation-container .shine-bg {
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 100%;
	background: #ffffff;
	opacity: 0;
}
#global-navigation-container .shine {
	position: absolute;
	top: 0; left: 100%;
}

#global-navigation {
	position: absolute;
	top: 13px; left: 0;
	width: 100%;
}

#global-navigation ul li {
	float: left;
	position: relative;
}

#global-navigation ul li#gn1 { width: 12%; }
#global-navigation ul li#gn2 { width: 11.5%; }
#global-navigation ul li#gn3 { width: 13%; }
#global-navigation ul li#gn4 { width: 17%; }
#global-navigation ul li#gn5 { width: 11.5%; }
#global-navigation ul li#gn6 { width: 13.5%; }
#global-navigation ul li#gn7 { width: 21.5%; }

#global-navigation ul li a,
#global-navigation ul li div {
	display: block;
	width: 100%;
	height: 50px;
	margin: 0 auto;
	overflow: hidden;
	text-align: center;
}

#global-navigation ul li a img {
	margin-top: 0;
}

#global-navigation ul li a:hover img,
#global-navigation ul li a:active img,
#global-navigation ul li.current a img {
	margin-top: -50px;
}

#global-navigation li.new:after {
	content: url(../img/new.png);
	display: block;
	position: absolute;
	right: 0;
	top: -2px;
	width: 28px;
	height: 28px;
}
#global-navigation li#gn1.new:after { left: calc(50% + 37px); }
#global-navigation li#gn2.new:after { left: calc(50% + 31px); }
#global-navigation li#gn3.new:after { left: calc(50% + 38px); }
#global-navigation li#gn4.new:after { left: calc(50% + 66px); }
#global-navigation li#gn5.new:after { left: calc(50% + 35px); }
#global-navigation li#gn6.new:after { left: calc(50% + 42px); }
#global-navigation li#gn7.new:after { left: calc(50% + 94px); }

#global-navigation li.has-local:before {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	bottom: -10px;
	width: 0;
	height: 0;
	margin-left: -13px;
	border: 11px solid transparent;
	border-bottom-color: #382054;
	opacity: .7;
}


/* ---- spec ---- */

#spec-container {
	position: relative;
	border-top: 1px solid #fff;
	background-color: #f0ece4;
}

#spec-container .pkg {
	position: absolute;
	top: 50%;
	left: 16px;
	margin-top: -56px;
	z-index: 10;
}

#spec-container .inner {
	position: relative;
	padding: 8px 20px 8px 115px;
}

#spec {
	display: table;
}

#spec div {
	display: table-cell;
	padding-bottom: 4px;
	vertical-align: middle;
}

#spec p {
	padding-top: 4px;
	font-size: 56%;
	line-height: 1.6;
}

#spec p span {
	padding-right: 2px;
	color: #26241c;
}


/* ---- footer ---- */

#footer-container {
	position: relative;
	padding: 20px 20px 30px 20px; /* expand padding-bottom to fit banner height */
	/*background: url(../img/index/bg_footer.png) repeat-x right top;*/
}

#footer-container .bg {
	position: absolute;
	top: 0; right: 0;
}

#footer-container .cero {
	position: absolute;
	top: 20px; right: 20px;
}

#footer-container #banner1 {
	position: absolute;
	right: 268px;
	top: 62px;
	width: 180px;
}

#footer-container #banner2 {
	position: absolute;
	right: 78px;
	top: 62px;
	width: 180px;
}

#footer-container #banner3 {
	position: absolute;
	right: 458px;
	top: 20px;
	width: 90px;
}

#footer-container ul#banners {
	width: calc(100% - 540px);
	margin-top: -10px;
	padding-bottom: 40px;
}

#footer-container ul#banners li {
	float: left;
	width: 240px;
	margin: 10px 10px 0 0;
	line-height: 0;
}

#footer-container ul#banners li.last {
	margin-right: 0;
}

#footer-container ul#banners li img {
	height: 114px;
}

#footer-container ul#banners li a {
	opacity: 1;
}

#footer-container ul#banners li a:active,
#footer-container ul#banners li a:hover {
	opacity: .9;
}

#footer-container #copyright {
	position: absolute;
	right: 140px;
	bottom: 30px;
	width: 368px;
	height: 24px;
	background: url(../img/index/copyright.png) no-repeat;
}

#footer-container a#marv {
	display: block;
	position: absolute;
	right: 20px;
	bottom: 30px;
	width: 100px;
	height: 47px;
}

#footer-container #sns-container {
	position: absolute;
	right: 228px;
	top: 26px;
	width: 220px;
}

#footer-container #sound {
	position: absolute;
	right: 140px;
	top: 20px;
}

ul#sns {
	display: table;
}

ul#sns li {
	display: table-cell;
	padding-right: 5px;
	vertical-align: top;
}

ul#sns li:first-child {
	padding-right: 10px;
}

ul#sns li.sns-twitter a,
ul#sns li.sns-facebook a,
ul#sns li.sns-line a {
	position: relative;
	top: -6px;
	display: block;
	overflow: hidden;
	width: 32px; height: 32px;
	background: url(../img/sns.png) no-repeat 0 0;
	text-indent: -999em;
}
ul#sns li.sns-twitter a {
	background-position: -35px 0;
}
ul#sns li.sns-facebook a {
	background-position: 0 0;
}
ul#sns li.sns-line a {
	background-position: -70px 0;
}




/*
--------------------------------
	preloader
--------------------------------
*/

#preloader {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 100;
	background-color: #cbedff;
}

#preloaderTrack {
	position: absolute;
	left: 50%;
	top: 55%;
	width: 30%;
	height: 4px;
	margin-left: -15%;
	border-radius: 2px;
	background-color: #b1d8ed;
	overflow: hidden;
}

#preloaderBar {
	width: 0;
	height: 4px;
	background-color: #83d2ff;
}

#preloader img {
	position: absolute;
	bottom: 50%;
	left: 50%;
	margin: -50px 0 0 -125px;
}




/*
--------------------------------
	sound-alert
--------------------------------
*/

#sound-alert {
	position: fixed;
	top: 0; left: 0;
	z-index: 9999;
	width: 100%; height: 100%;
	background: #301c30;
}

#sound-alert img {
	position: absolute;
	top: 50%; left: 50%;
	margin: -50px 0 0 -125px;
}




/*
--------------------------------
	bikini party edition
--------------------------------
*/

#bpe-layer {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	/*
	background: -webkit-linear-gradient(top, rgba(54, 88, 200, .95) 0%, rgba(168, 224, 248, .95) 100%);
	background: linear-gradient(to bottom, rgba(54, 88, 200, .95) 0%, rgba(168, 224, 248, .95) 100%);
	*/
	background-color: rgba(255, 255, 255, .9);
	z-index: 101;
	opacity: 0;
	transition: opacity .8s ease;
	overflow: none;
}

#bpe-layer.show {
	opacity: 1;
}

/*
#bpe-layer .inner {
	display: table;
	width: 100%;
	height: 100%;
}

#bpe-layer .inner .img {
	display: table-cell;
	width: 100%;
	height: 100%;
	text-align: center;
	vertical-align: middle;
}

#bpe-layer .inner .img img {
	max-width: 100vw;
	max-height: 100vh;
}
*/

#bpe-layer .inner {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 980px;
	height: 610px;
	margin: auto;
	background: url(../img/index/bpe_frame.png) no-repeat 0 0;
}

#bpe-layer .inner .video {
	position: absolute;
	top: 77px;
	left: 63px;
	width: 853px;
	height: 480px;
}

#bpe-layer .inner img {
	display: block;
	position: absolute;
	top: -20px;
	left: -40px;
	width: 164px;
	height: 219px;
}

#bpe-layer .close {
	position: absolute;
	top: 30px;
	right: 30px;
	width: 40px;
	height: 40px;
	cursor: pointer;
	overflow: hidden;
}

#bpe-layer .close:hover img {
	margin-top: -50px;
}