@charset "utf-8";


.logo01 {
	position: absolute;
	top: 25px;
	left: 31px;
	z-index: 2100;
}
.logo02 {
	position: absolute;
	top: 73px;
	left: 27px;
	z-index: 1000;
}
@media screen and (max-width: 1200px){
	.logo02 {
		width: 130px;
	}
}
@media screen and (max-width: 800px){
	.logo01 {
		display: none;
	}
	.logo02 {
		top: 85px;
		left: 0;
		right: 0;
		width: 90px;
		margin: 0 auto;
	}
}

.panel {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #000;
	perspective: 2000px;
}
.panel > li {
	position: absolute;
	left: 0;
	top: -100%;
	width: 100%;
	height: 100%;
	background-color: #999;
	background-position: 50% 50%;
	background-size: cover;
	overflow: hidden;
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
	-webkit-transform-origin: 50% 50% 400px;
	transform-origin: 50% 50% 400px;
}
.panel > li:nth-child(2) { background-image: url(../img/bg_02.jpg); }
.panel > li:nth-child(3) { background-image: url(../img/bg_01.jpg); }
.panel > li:nth-child(4) { background-image: url(../img/bg_03.jpg); }
.panel > li:nth-child(5) { background-image: url(../img/bg_05.jpg); }

.panel > li.prev {
	top: 0;
	-webkit-transform: rotateX(-90deg);
	transform: rotateX(-90deg);
}
.panel > li.current {
	top: 0;
}
.panel > li.next {
	top: 0;
	-webkit-transform: rotateX(90deg);
	transform: rotateX(90deg);
}

.panel.moveNext > li.current {
	-webkit-animation: next01 0.6s;
	animation: next01 0.6s;
}
.panel.moveNext > li.next {
	-webkit-animation: next02 0.6s;
	animation: next02 0.6s;
}
@-webkit-keyframes next01 {
	0% { -webkit-transform: translateZ(0) rotateX(0); }
	50% { -webkit-transform: translateZ(-800px) rotateX(-45deg); }
	100% { -webkit-transform: translateZ(0) rotateX(-90deg); }
}
@keyframes next01 {
	0% { transform: translateZ(0) rotateX(0); }
	50% { transform: translateZ(-800px) rotateX(-45deg); }
	100% { transform: translateZ(0) rotateX(-90deg); }
}
@-webkit-keyframes next02 {
	0% { -webkit-transform: translateZ(0) rotateX(90deg); }
	50% { -webkit-transform: translateZ(-800px) rotateX(45deg); }
	100% { -webkit-transform: translateZ(0) rotateX(0); }
}
@keyframes next02 {
	0% { transform: translateZ(0) rotateX(90deg); }
	50% { transform: translateZ(-800px) rotateX(45deg); }
	100% { transform: translateZ(0) rotateX(0); }
}

.panel.movePrev > li.current {
	-webkit-animation: prev01 0.6s;
	animation: prev01 0.6s;
}
.panel.movePrev > li.prev {
	-webkit-animation: prev02 0.6s;
	animation: prev02 0.6s;
}
@-webkit-keyframes prev01 {
	0% { -webkit-transform: translateZ(0) rotateX(0); }
	50% { -webkit-transform: translateZ(-800px) rotateX(45deg); }
	100% { -webkit-transform: translateZ(0) rotateX(90deg); }
}
@keyframes prev01 {
	0% { transform: translateZ(0) rotateX(0); }
	50% { transform: translateZ(-800px) rotateX(45deg); }
	100% { transform: translateZ(0) rotateX(90deg); }
}
@-webkit-keyframes prev02 {
	0% { -webkit-transform: translateZ(0) rotateX(-90deg); }
	50% { -webkit-transform: translateZ(-800px) rotateX(-45deg); }
	100% { -webkit-transform: translateZ(0) rotateX(0); }
}
@keyframes prev02 {
	0% { transform: translateZ(0) rotateX(-90deg); }
	50% { transform: translateZ(-800px) rotateX(-45deg); }
	100% { transform: translateZ(0) rotateX(0); }
}

.panel .movie {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #000;
}
.panel .movie:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: url(../img/movie_cover.png) repeat 0 0;
}
.panel .movie video {
	width: 100%;
	height: 100%;
}
body.s_ipad .panel .movie {
	display: none;
}

.panel .spBg {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #000;
}
.panel .spBg li {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-position: 50% 50%;
	background-size: cover;
	display: none;
}
.panel .spBg li:first-child {
	display: block;
}
.panel > li:nth-child(1) .spBg li:nth-child(1) { background-image: url(../img/bg_s_01_01.jpg); }
.panel > li:nth-child(1) .spBg li:nth-child(2) { background-image: url(../img/bg_s_01_02.jpg); }
.panel > li:nth-child(1) .spBg li:nth-child(3) { background-image: url(../img/bg_s_01_03.jpg); }
.panel > li:nth-child(1) .spBg li:nth-child(4) { background-image: url(../img/bg_s_01_04.jpg); }


.panel .content {
	position: absolute;
	top: 0;
	left: 18%;
	right: 8%;
	bottom: 0;
	z-index: 50;
	max-width: 920px;
	height: 460px;
	box-sizing: border-box;
	margin: auto;
}
.panel li:nth-child(1) .content {
	padding-top: 30px;
}
.panel li:nth-child(3) .content {
	height: 500px;
}
@media screen and (max-width: 1000px){
	.panel .content {
		left: 19%;
		right: 5%;
		height: 440px;
	}
}
@media screen and (min-width: 600px){
	.panel > li:nth-child(1) .spBg li:nth-child(1) { background-image: url(../img/bg_l_01_01.jpg); }
	.panel > li:nth-child(1) .spBg li:nth-child(2) { background-image: url(../img/bg_l_01_02.jpg); }
	.panel > li:nth-child(1) .spBg li:nth-child(3) { background-image: url(../img/bg_l_01_03.jpg); }
	.panel > li:nth-child(1) .spBg li:nth-child(4) { background-image: url(../img/bg_l_01_04.jpg); }
}
@media screen and (max-width: 800px){
	.panel {
		position: relative;
	}
	.panel > li {
		position: relative;
		height: 500px;
	}
	.panel > li:nth-child(2) { background-image: url(../img/bg_s_03.jpg); }
	.panel > li:nth-child(3) { background-image: url(../img/bg_s_04.jpg); }

	.panel .movie {
		display: none;
	}
	.panel .spBg {
		display: block;
	}
	.panel .content {
		left: 0;
		right: 0;
		height: 380px;
		padding: 0 6%;
	}
}
@media screen and (max-width: 540px){
	.panel .content {
		padding: 0 10px;
		text-align: center;
	}
	.panel li:nth-child(5) .content {
		height: 440px;
	}
	.panel .content .pc {
		display: none;
	}
	.panel .content .sp {
		display: inline;
		width: 340px;
	}
}

.panel h2 {
	position: relative;
	z-index: 1;
	margin-bottom: 33px;
	top: 15px;
	opacity: 0;
}
.panel h2.show {
	top: 0;
	opacity: 1;
	-webkit-animation: fadeShow 0.6s;
	animation: fadeShow 0.6s;
}
@-webkit-keyframes fadeShow {
	0% { opacity: 0; top: 15px; }
	100% { opacity: 1; top: 0; }
}
@keyframes fadeShow {
	0% { opacity: 0; top: 15px; }
	100% { opacity: 1; top: 0; }
}
.panel h2.hasBg {
	z-index: 0;
}
.panel h2.hasBg:before {
	content: "";
	position: absolute;
	left: 9.71%;
	top: -139.73%;
	background: url(../img/bg_04.png) no-repeat 0 0;
	background-size: contain;
	width: 27.05%;
	height: 521.92%;
}
.panel h2.hasBg img {
	position: relative;
}
@media screen and (max-width: 800px){
	.panel h2 {
		margin-bottom: 22px;
	}
}
@media screen and (max-width: 540px){
	.panel h2.hasBg {
		max-width: 340px;
		margin: 0 auto 22px;
	}
	.panel h2.hasBg:before {
		left: 30%;
		top: -117%;
		width: 40%;
		height: 1197%;
	}
	body.s_english .panel h2.hasBg:before {
		top: -70%;
	}
}

.mainCopy {
	position: relative;
	top: 15px;
	opacity: 0;
}
.mainCopy.show {
	top: 0;
	opacity: 1;
	-webkit-animation: fadeShow 0.6s;
	animation: fadeShow 0.6s;
}

.scroll {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 15px;
	width: 48px;
	margin: 0 auto;
}

.detailBtn {
	position: relative;
	top: 15px;
	opacity: 0;
	margin: 40px 0 0 5px;
}
.detailBtn.show {
	top: 0;
	opacity: 1;
	-webkit-animation: fadeShow 0.6s;
	animation: fadeShow 0.6s;
}
.detailBtn a {
	position: relative;
	display: inline-block;
	border: 2px solid rgba(255,255,255,0.8);
	padding: 10px 20px 10px 0;
	width: 200px;
	text-align: center;
	color: #fff;
	font-size: 114.3%;
	font-weight: bold;
	transition: background-color 0.2s;
}
.detailBtn a:hover {
	background-color: rgba(255,255,255,0.3);
}
.detailBtn a:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 12px;
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform-origin: right top;
	transform-origin: right top;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
@media screen and (max-width: 800px){
	.detailBtn {
		margin: 40px 0 0;
	}
	.detailBtn a {
		font-size: 13px;
	}
}

.imgList {
	margin-top: 30px;
	line-height: 168px;
	max-width: 700px;
}
.imgList.all {
	text-align: center;
}
.imgList li {
	position: relative;
	display: inline-block;
	width: 160px;
	height: 160px;
	border-radius: 50%;
	box-shadow: 0 5px 5px rgba(0,0,0,0.2);
	vertical-align: middle;
	margin-right: 15px;
	opacity: 0;
	transition: all 0.5s;
}
.imgList li.comingsoon {
	width: 115px;
	height: 115px;
}
.imgList li.show {
	top: 0;
	opacity: 1;
}
.imgList li .img {
	position: relative;
	height: 100%;
}
.imgList li .img:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0,0,0,0.3);
	border-radius: 50%;
}
.imgList li img {
	height: 100%;
}
.imgList li .num,
.imgList li .numOn,
.imgList li .text {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
.imgList li .numOn {
	opacity: 0;
	transition: opacity 0.5s;
}
.imgList li:hover .numOn {
	opacity: 1;
}
@media screen and (max-width: 1060px){
	.imgList {
		margin-top: 30px;
		line-height: 140px;
		max-width: 568px;
	}
	.imgList li {
		width: 130px;
		height: 130px;
		margin-right: 12px;
	}
	.imgList li .text {
		opacity: 1;
	}
}
@media screen and (max-width: 800px){
	.imgList {
		line-height: 125px;
		max-width: 448px;
	}
	.imgList li,
	.imgList li.comingsoon {
		width: 100px;
		height: 100px;
	}
	.imgList li .numOn {
		opacity: 1;
	}
}
@media screen and (max-width: 540px){
	.imgList {
		margin: 30px auto 0;
		line-height: 85px;
		width: 320px;
	}
	.imgList li {
		width: 70px;
		height: 70px;
		margin: 0 4px;
	}
	.imgList li.comingsoon {
		width: 70px;
		height: 70px;
	}
	.imgList li .text {
		transform: scale(1.3,1.3);
	}
}
@media screen and (max-width: 340px){
	.imgList {
		margin: 10px -10px 0;
		width: auto;
	}
}

.btnArea {
	margin: 60px 50px 0 5px;
	max-width: 677px;
}
body.s_english .btnArea {
	margin-top: 90px;
}
.btnArea li {
	float: left;
	box-shadow: 4px 4px 10px rgba(0,0,0,0.3);
	display: none;
}
.imgBtn {
	width: 31.02%;
	margin-left: 2.51%;
}
.imgBtn img {
	margin-top: -7.14%;
}
@media screen and (max-height: 690px){
	.btnArea {
		max-width: 600px;
	}
}
@media screen and (max-width: 800px){
	.btnArea {
		margin: 40px 0 0 5px;
	}
}
@media screen and (max-width: 540px){
	.btnArea {
		margin: 80px auto 0;
		padding: 0 15px;
		max-width: 290px;
	}
	body.s_english .btnArea {
		margin-top: 50px;
	}
	.imgBtn {
		width: 48%;
		margin-left: 0;
	}
	.imgBtn + .imgBtn {
		margin: 0 0 0 4%;
	}
}

.historyImg {
	position: absolute;
	top: 60px;
	right: -15%;
	max-width: 50%;
	opacity: 0;
	transition: all 1s;
}
.historyImg.show {
	opacity: 1;
}
@media screen and (max-width: 540px){
	.historyImg {
		position: static;
		width: 70%;
		max-width: 260px;
		margin: 0 auto 20px;
		text-align: center;
	}
}

.navi {
	position: absolute;
	top: 70px;
	left: 30px;
	bottom: 0;
	height: 360px;
	margin: auto 0;
}
.navi li {
	position: relative;
	height: 55px;
	overflow: hidden;
	margin: 0 0 6px;
	border-left: 2px solid #fff;
	padding-left: 2px;
	color: rgba(0,0,0,0);
	cursor: pointer;
	transition: all 0.3s;
}
.navi li:hover,
.navi li.current {
	border-left-color: #22439c;
}
.navi li .inner {
	position: relative;
	left: -110%;
	background-color: #22439c;
	padding: 0 6px 0 10px;
	height: 55px;
	color: #fff;
}
body.s_english .navi li .inner,
body.s_chinese .navi li .inner {
	padding: 0 10px;
}
.navi li:hover .inner,
.navi li.current .inner {
	left: 0;
	color: #fff;
	animation: navi 0.3s;
}
.navi li.back .inner {
	left: -110%;
	color: #22439c;
	animation: naviBack 0.3s;
}
@keyframes navi {
	0% { left: -110%; color: #22439c; }
	50% { left: 0; color: #22439c; }
	100% { left: 0; color: #fff; }
}
@keyframes naviBack {
	0% { left: 0; color: #fff; }
	50% { left: 0; color: #22439c; }
	100% { left: -110%; color: #22439c; }
}
.navi .title {
	padding: 10px 0 4px;
	font-size: 15px;
	line-height: 1.2;
}
body.s_english .navi .title {
	padding-top: 19px;
	font-weight: bold;
}
.navi .japanese {
	font-size: 11px;
}
@media screen and (max-width: 800px){
	.navi {
		display: none;
	}
}

.footer {
	position: absolute;
	left: 30px;
	bottom: 29px;
	z-index: 1000;
	color: #fff;
}
.footer .socialLink {
	margin-bottom: 15px;
}
.footer .socialLink li {
	display: inline-block;
	vertical-align: top;
	margin-right: 15px;
}
.footer .news {
	position: relative;
	border: 1px solid rgba(255,255,255,0.5);
	overflow: hidden;
	margin-bottom: 15px;
	padding-right: 63px;
	font-size: 92.9%;
}
.footer .news .title {
	display: none;
}
.footer .news .date {
	float: left;
	border-right: 1px solid rgba(255,255,255,0.5);
	padding: 6px 8px;
}
.footer .news .text {
	float: left;
	padding: 6px 8px;
}
.footer .news .leftBtn,
.footer .news .rightBtn {
	position: absolute;
	top: 0;
	right: 31px;
	bottom: 0;
	width: 32px;
	background-color: #22439c;
	cursor: pointer;
	transition: opacity 0.2s;
}
.footer .news .leftBtn:after,
.footer .news .rightBtn:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 11px;
	width: 5px;
	height: 5px;
	border-top: 2px solid #fff;
	border-left: 2px solid #fff;
	-webkit-transform-origin: left top;
	transform-origin: left top;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.footer .news .rightBtn {
	right: 0;
	border-left: 1px solid #5975c1;
}
.footer .news .rightBtn:after {
	left: auto;
	right: 11px;
	border-left: none;
	border-right: 2px solid #fff;
	-webkit-transform-origin: right top;
	transform-origin: right top;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.footer .news .leftBtn:hover,
.footer .news .rightBtn:hover {
	opacity: 0.7;
}
.footer .copyright {
	font-size: 85.7%;
}
@media screen and (max-width: 800px){
	.footer {
		position: static;
		background-color: #fff;
		color: inherit;
	}
	body.s_chinese .footer {
		padding-top: 10px;
	}
	.footer .socialLink {
		padding: 12px 0;
		margin-bottom: 0;
		text-align: center;
	}
	.footer .socialLink li {
		margin: 0 10px;
	}
	.footer .news {
		position: relative;
		border: 1px solid #b5bbc2;
		margin: 0 auto 15px;
		width: 480px;
		padding: 0;
		text-align: center;
	}
	.footer .news .title {
		display: block;
		border-bottom: 1px solid #b5bbc2;
		padding: 7px 0;
		font-size: 12px;
	}
	.footer .news .date {
		float: none;
		border-right: none;
		padding: 12px 0 6px;
		font-size: 11px;
	}
	.footer .news .text {
		float: none;
		padding: 0 10px 12px;
	}
	.footer .news .leftBtn,
	.footer .news .rightBtn {
		display: none;
	}
 	.footer .copyright {
		background-color: #000;
		padding: 10px 0;
		text-align: center;
		color: #fff;
		font-size: 10px;
	}
}
@media screen and (max-width: 500px){
	.footer .news {
		margin: 0 10px 15px;
		width: auto;
	}
}

