@charset "utf-8";

html {
	font-size: 62.5%;
}

* {
	box-sizing: border-box;
}
 
body {
	color: #fff;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
	font-size: 1.2rem;
	line-height: 1.7;
}

img {
	max-width: 100%;
	height: auto;
}

.br02 {
	display: block;
}

.right {
	text-align: right !important;
}
.center {
	text-align: center !important;
}

/* link 
*****************************************/
a:link,
a:visited {
	color: #333;
	text-decoration: underline;
}

a:hover,
a:active {
	color: #333;
	text-decoration: none;
}

.hover a img {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transition: opacity .3s;
	transition: opacity .3s;
}

.hover a:hover img {
	opacity: .6;
}

/* movie
*****************************************/
#mdl-box {
	position: fixed;
	z-index: 1100;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#mdl-box .mdl-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.7);
}
#mdl-box #mdl-plr {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -270px;
	margin-left: -480px;
}
#mdl-box .btn {
	position: absolute;
	top: 50%;
	right: 50%;
	width: 90px;
	height: 90px;
	margin: -360px -490px 0 0;
}
#mdl-box .btn a {
	display: block;
	width: 100%;
	height: 100%;
	background: url(../images/bt02.png) left top no-repeat;
	text-indent: -999em;
	-webkit-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}
#mdl-box .btn a:hover {
	background-position: right top;
}


/* contents
*****************************************/
.wrapper01 {
	position: relative;
	min-width: 1130px;
	background: #000 url(../images/bg01.png) no-repeat 50% 0;
}

@-webkit-keyframes flash {
0% {
	opacity: 0;
}
1% {
	opacity: .8;
}
15% {
	opacity: 0;
}
25% {
	opacity: .5;
}
50% {
	opacity: 0;
}
85% {
	opacity: 0;
}
90% {
	opacity: .3;
}
100% {
	opacity: 0;
}
}
@keyframes flash {
0% {
	opacity: 0;
}
1% {
	opacity: .8;
}
15% {
	opacity: 0;
}
25% {
	opacity: .5;
}
50% {
	opacity: 0;
}
85% {
	opacity: 0;
}
90% {
	opacity: .3;
}
100% {
	opacity: 0;
}
}

@-webkit-keyframes fadeIn01 {
0% {
	-webkit-transform: scale(1.3) translate3d(200px,10px,1000px);
	transform: scale(1.3) translate3d(200px,10px,1000px);
}
70% {
	opacity: 1;
	visibility: visible;
	-webkit-transform: scale(1);
	transform: scale(1);
}
80% {
	opacity: 1;
	visibility: visible;
	-webkit-transform: scale(1.01) translate3d(3px,1px,1000px);
	transform: scale(1.01) translate3d(3px,1px,1000px);
}
100% {
	opacity: 1;
	visibility: visible;
	-webkit-transform: scale(1);
	transform: scale(1);
}
}
@keyframes fadeIn01 {
0% {
	-webkit-transform: scale(1.3) translate3d(200px,10px,1000px);
	transform: scale(1.3) translate3d(200px,10px,1000px);
}
70% {
	opacity: 1;
	visibility: visible;
	-webkit-transform: scale(1);
	transform: scale(1);
}
80% {
	opacity: 1;
	visibility: visible;
	-webkit-transform: scale(1.01) translate3d(3px,1px,1000px);
	transform: scale(1.01) translate3d(3px,1px,1000px);
}
100% {
	opacity: 1;
	visibility: visible;
	-webkit-transform: scale(1);
	transform: scale(1);
}
}

@-webkit-keyframes fadeIn02 {
0% {
	-webkit-transform: translateY(100px);
	transform: translateY(100px);
}
100% {
	opacity: 1;
	visibility: visible;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}
}

@keyframes fadeIn02 {
0% {
	-webkit-transform: translateY(100px);
	transform: translateY(100px);
}
100% {
	opacity: 1;
	visibility: visible;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}
}

.main01 {
	position: relative;
	height: 100vh;
	min-height: 730px;
	overflow: hidden;
	
}

.main01:before {
	opacity: 0;
	position: absolute;
	background-color: #fff;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
	animation: flash .5s .3s ease-out forwards;
}

.main01.on {
	background: url(../images/bg02.png) no-repeat 50% 0;
}

.logo01 {
	position: absolute;
	top: 74px;
	left: 42px;
	z-index: 10;
	max-width: 734px;
	opacity: 0;
	visibility: hidden;
	-webkit-animation: fadeIn02 cubic-bezier(.8,.1,.24,.87) .6s 1.5s forwards;
	animation: fadeIn02 cubic-bezier(.8,.1,.24,.87) .6s 1.5s forwards;
}

.logo02 {
	position: absolute;
	z-index: 20;
	top: 15px;
	left: 20px;
}

.logo03 {
	position: absolute;
	z-index: 20;
	top: 10px;
	right: 20px;
}

.btn01 {
	position: absolute;
	top: 556px;
	left: 172px;
	z-index: 10;
	opacity: 0;
	visibility: hidden;
	-webkit-animation: fadeIn02 cubic-bezier(.8,.1,.24,.87) .6s 1.5s forwards;
	animation: fadeIn02 cubic-bezier(.8,.1,.24,.87) .6s 1.5s forwards;
}
.img01 {
	position: absolute;
	z-index: 5;
	width: 70.3125%;
	max-width: 1125px;
	right: -370px;
	top: 185px;
}
.img02 {
	position: absolute;
	z-index: 4;
	width: 62.25%;
	max-width: 996px;
	right: -270px;
	top: 6px;
}
.img01 > img,
.img02 > img {
	position: relative;
	opacity: 0;
	visibility: hidden;
	
}

.img01 > img {
	-webkit-animation: fadeIn01 cubic-bezier(1,-0.14,.68,.86) .8s .45s forwards;
	animation: fadeIn01 cubic-bezier(1,-0.14,.68,.86) .8s .45s forwards;
}

.img02 > img {
	-webkit-animation: fadeIn01 cubic-bezier(1,-0.14,.68,.86) .8s .95s forwards;
	animation: fadeIn01 cubic-bezier(1,-0.14,.68,.86) .8s .95s forwards;
}

.navi01 {
	position: absolute;
	top: 441px;
	left: 42px;
	z-index: 10;
	visibility: hidden;
}
.navi01 .list01 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	opacity: 0;
	visibility: hidden;
	-webkit-animation: fadeIn02 cubic-bezier(.8,.1,.24,.87) .6s 1.5s forwards;
	animation: fadeIn02 cubic-bezier(.8,.1,.24,.87) .6s 1.5s forwards;
}
.navi01 .list01 > li:nth-child(1) {
	width: 24.71%;
}
.navi01 .list01 > li:nth-child(2) {
	width: 24.71%;
}
.navi01 .list01 > li:nth-child(3) {
	width: 24.29%;
}
.navi01 .list01 > li:nth-child(4) {
	width: 26.29%;
}

@media screen and (max-width: 1600px) {
.logo01 {
	width: 45.785%;
	top: 4.625vw;
	left: 2.625%;
}
.img01 {
	width: 70.3125%;
	max-width: 1125%;
	right: -23.125%;
	top: 11.5625vw;
}
.img02 {
	width: 62.25%;
	max-width: 996px;
	right: -16.875%;
	top: .375vw;
}
.navi01 {
	top: 27.5625vw;
	left: 2.625%;
	width: 43.75%;
}
.btn01 {
	top: 34.75vw;
	left: 11%;
	width: 29.375%;
}
}

@media screen and (max-width: 1130px) {
.logo01 {
	top: 77px;
	top: 53px;
}
.img01 {
	top: 132px;
}
.img02 {
	top: 6px;
}
.navi01 {
	top: 340px;
	top: 311px;
}
.btn01 {
	top: 432px;
	top: 392px;
}
}

.copyrights01 {
	position: absolute;
	z-index: 20;
	left: 20px;
	bottom: 20px;
}

/* Clearfix
*****************************************/
.cf:after {
	content: " ";
	display: block;
	clear: both;
}