@charset "UTF-8";

html, body {
    text-align: center;
	word-wrap: break-word;
	font-size: 100%;
	width: 100%;
	position: static;
	background-color: #112d52;
	padding-top: 0px !important;
	background-image: none;
}

body {
    text-align: center;
	word-wrap: break-word;
	font-size: 100%;
	width: 960px;
	padding: 0 20px;
	margin: 0 auto;
	overflow: hidden !important;
    height: 100% !important;
}

.clearfix:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
    }
* html .clearfix             { zoom: 1; } /* IE6 */
*:first-child+html .clearfix { zoom: 1; } /* IE7 */

body * {
	box-sizing: border-box;
}

.hidden {
	display: none;
}

a {
    text-decoration: none;
}

.pointer {
	cursor: pointer;
}

a:hover, a:focus{
}

a:visited {
}

.mb0 {
	margin-bottom: 0px !important;
}

#loading {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1000;
	background-color: #112d52;
	z-index: 100;
}

.spinner {
	width: 40px;
	height: 40px;

	position: fixed;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%); /* Safari用 */
	transform: translate(-50%, -50%);
}

.double-bounce1, .double-bounce2 {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background-color: #ccc;
	opacity: 0.6;
	position: absolute;
	top: 0;
	left: 0;

	-webkit-animation: sk-bounce 2.0s infinite ease-in-out;
	animation: sk-bounce 2.0s infinite ease-in-out;
}

.double-bounce2 {
	-webkit-animation-delay: -1.0s;
	animation-delay: -1.0s;
}

@-webkit-keyframes sk-bounce {
	0%, 100% { -webkit-transform: scale(0.0) }
	50% { -webkit-transform: scale(1.0) }
}

@keyframes sk-bounce {
	0%, 100% { 
		transform: scale(0.0);
		-webkit-transform: scale(0.0);
	} 50% { 
		transform: scale(1.0);
		-webkit-transform: scale(1.0);
	}
}

.sp {
	display: none;
}

video {
	position: fixed;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%); /* Safari用 */
	transform: translate(-50%, -50%);
	min-width:100%;
}

header {
	position: fixed;
	height: 64px;
	width: 100%;
	height: 90px;
	z-index: 1000;
/*▼▼▼追加修正 ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
	/*padding: 0px 30px 0 20px;*/
/*▲▲▲追加修正 ▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲*/
}

.header_in {
	padding-bottom: 0px;
    height: 100%;
}

div.bnav {
	display: block;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 63px;
	margin: 0;
	z-index: 1000;
	background-color: #0a1f3d;
	text-align: center;
}

div.bnav .inner {
	position: relative;
	width: 100%;
	height: 100%;
}

div.bnav .inner img {
	margin-right: 56px;
	height: 45px;
}

div.bnav .inner img:nth-of-type(4) {
	margin-right: 0px;
}

#page_top {
	position: absolute;
	top: 0;
	right: 0;
	width: 63px;
	height: 63px;
	margin: 0;
	z-index: 1100;
	cursor: pointer;
	display: none;
}

#page_down {
	position: fixed;
	bottom: 0;
	right: 0;
	width: 56px;
	height: 56px;
	margin: 0;
	z-index: 1100;
	cursor: pointer;
	display: none;
}

#page_top img, #page_down img {
	width: 63px;
	height: 63px;
	margin: 0;
	padding: 0;
}

#container {
	width: 100%;
	height: 100% !important;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
	display: none;
}

#wrapper {
	height: 100%;
	margin: 0 auto;
	overflow: hidden;
	list-style: none;
}

#contents {
}

#contents li {
	width: 100%;
	height: 100%;
}

#page1, #page2, #page3,#page4, #page5, #page6 ,#page7{
	position: relative;
}

#page1 div.sticker {
	display: none;
	width: 534.5px;
	height: 57.5px;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-270px, -50%);
	transform: translate(-270px, -50%);
}

#page1 div.sticker span {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	
	/*background-color: #fff;*/
	z-index: 100;
	-webkit-animation-duration: .8s;
	animation-duration: .8s;
	-webkit-animation-name: stick;
	animation-name: stick;
}

#page1 div.sticker span:after {
	display: block;
	width: 0%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	background-color: #fff;
	content: '';
	-webkit-animation-duration: 1.6s;
	animation-duration: 1.6s;
	-webkit-animation-name: stick-after;
	animation-name: stick-after;
}

@-webkit-keyframes stick {
	0% {
		width: 0;
	}
	100% {
		width: 100%;
	}
}
@keyframes stick {
	0% {
		width: 0;
	}
	100% {
		width: 100%;
	}
}

@-webkit-keyframes stick-after {
	0% {
		width: 100%;
	}
	75% {
		width: 100%;
	}
	100% {
		width: 0;
	}
}
@keyframes stick-after {
	0% {
		width: 100%;
	}
	75% {
		width: 100%;
	}
	100% {
		width: 0;
	}
}

@-webkit-keyframes behind {
	0% {
		opacity: 0;
	}
	74% {
		opacity: 0.0;
	}
	75% {
		opacity: 1.0;
	}
	100% {
		opacity: 1.0;
	}
}
@keyframes behind {
	0% {
		opacity: 0;
	}
	74% {
		opacity: 0.0;
	}
	75% {
		opacity: 1.0;
	}
	100% {
		opacity: 1.0;
	}
}

#page3 .page_wrap {
	width: 754px;
	height: 435.5px;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

#page3 .page_inner {
	position: relative;
}

#page3 .bar {
	position: absolute;
}

#page3 .bar>img {
	height: 100%;
}

#page3 .bar>img.anim {
	-webkit-transition: all 0.5s ease-out;
	-moz-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
}

#page3 .b01 {
	width: 220px;
	height: 37.5px;
	top: 28px;
	left: 407px;
	overflow: hidden;
}

#page3 .b01 img {
	width: 220px;
	clip: rect(0, 0px, 37.5px, 0);
}

#page3 .b01 img.anim {
	clip: rect(0, 220px, 37.5px, 0);
}

#page3 .b02 {
	width: 211.5px;
	height: 37.5px;
	top: 352px;
	left: 0px;
	overflow: hidden;
}

#page3 .b02 img {
	width: 211.5px;
	clip: rect(0, 211.5px, 37.5px, 211.5px);
}

#page3 .b02 img.anim {
	clip: rect(0, 211.5px, 37.5px, 0px);
}

#page3 .b03 {
	width: 259px;
	height: 37.5px;
	top: 352px;
	left: 495px;
	overflow: hidden;
}

#page3 .b03 img {
	width: 259px;
	clip: rect(0, 0px, 37.5px, 0);
}

#page3 .b03 img.anim {
	clip: rect(0, 259px, 37.5px, 0);
}
/*
#page4 div.inner, #page5 div.inner, #page6 div.inner {
	width: 100%;
	height: 86%;
	margin-top: 11%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	/*min-height: 675px;
	position: relative;
	z-index: 0;
}
*/
.page div.extra {
	position: absolute;
	top: 0;
	right: -480px;
	width: 480px;
	height: 100%;
	background-repeat: repeat-x;
	background-size: 100% 100%;
	/*min-height: 675px;*/
	text-align: center;
	padding-top: 70px;
	z-index: 20;
}

.page div.extra_bg {
	width: 100%;
	height: 100%;
	z-index: 10;
	background-repeat:
		no-repeat,
		repeat-x;
	background-position:
		left center,
		top left;
	background-size:
		auto 100%,
		100% 100%;
	display: none;
}

.page div.extra_inner img {
	display: block;
	margin: 0 auto;
}

.page div.extra_inner img.wide {
	margin-bottom: 30px;
}

.page div.extra_inner img.narrow {
	display: none;
	margin-bottom: 30px;
}

#page6 div.extra_inner img.wide { 
	margin-bottom: 30px;
}

@media only screen and (min-width: 768px)and (max-height: 700px) {
	.page div.extra_inner img.wide {
		display: none;
	}
	
	.page div.extra_inner img.narrow {
		display: block;
	}
}

.switch {
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	cursor: pointer;
	z-index: 900;
	width: 40px;
	height: 151px;
	background-repeat: no-repeat;
	background-position: top left;
}

.page div.inner .switch-active {
	background-position: bottom left;
}

.page div.inner .switch-logo {
	position: absolute;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 900;
	cursor: pointer;
}

#page4 div.inner .switch-logo {
	top: 62%;
	left: 50%;
	width: 20%;
	height: 10%;
}

#page5 div.inner .switch-logo {
	top: 43%;
	left: 50%;
	width: 20%;
	height: 10%;
}

#page6 div.inner .switch-logo {
	top: 78%;
	left: 50%;
	width: 30%;
	height: 10%;
}

div.inner .catch {
	width: 505.5px;
}

#page4 div.inner .catch {
	margin-top: 323px;
}

#page5 div.inner .catch {
	margin-top: 197px;
}

#page6 div.inner .catch {
	margin-top: 441px;
}

#page7 {
	background-color: #00002b;
}

#page7 footer {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);

	width: 100%;
	height: 326px;
	margin: 0;
	z-index: 0;
	background-color: #00002b;
	text-align: center;
}

@media only screen and (max-width: 788px) {
	body {
		width: 100%;
		margin: 0;
		padding: 0;
	    overflow: initial !important;
	}

	.pc {
		display: none;
	}

	.sp {
		display: inherit;
	}

	video {
		display: none;
	}

	.mean-container .mean-bar {
		position: fixed;
	}

	.mean-container a.meanmenu-reveal {
		padding: 8px 10px 0 0;
	}

	.mean-container a.meanmenu-reveal span {
		background: #fff !important;
	}

	.mean-bar a.meanclose {
	    color: #fff !important;
	}

	header {
		height: 48px;
		background: #162d44;
	}

	div.header {
		width: 100%;
		position: relative;
		height: 40px;
		z-index: 1000;
		padding: 0px;
	}

	div.header h1 {
		position: absolute;
		left: 10px;
		bottom: 5px;
		float: none;
	}

	div.header img {
		display: block;
		width: 140px;
	}

	div.header ul {
		float: none;
		padding-top: 0px;
		display: none;
	}

body .mean-container .mean-bar, .mean-container .mean-bar * {
		-webkit-box-sizing: content-box!important;
		-moz-box-sizing: content-box!important;
		box-sizing: content-box!important;
	}

	div.bnav {
		height: 44px;
	}

	div.bnav .inner {
		position: relative;
		width: 100%;
		height: 100%;
		overflow: hidden;
	}

	div.bnav .inner img {
    margin:0 3%;height:33px;padding:15px 0 0 0;
	}

	div.bnav .inner img:nth-of-type(4) {
		margin-right: 0px;
	}

	#page_top {
		display: none;
	}

	#page_down {
		display: none;
	}

	#container {
		width: 100%;
		height: auto;
		margin: 0 auto;
		overflow: auto;
		position: relative;
	}

	#wrapper {
		height: auto;
		margin: 0 auto;
		list-style: none;
/*		overflow: auto;*/
	}

	#contents {
		margin-top: 40px;
	}

	#contents li {
		width: 100%;
		height: auto;
	}

	div.page {
		width: 100%;
		height: auto;
		min-height: 500px;
	}

	#page1,#page2, #page3,#page4, #page5,#page6,#page7 {
		background-repeat: no-repeat;
		background-position: center center !important;
		background-size: 360px auto;
		height: auto!important;
		min-height: auto;
		position:static!important;
	}

	#page1 div.sticker {
		display: none;
	}
/*
	#page1 img {
		width: 220px;
		top: 46%;
		opacity: 1.0;
		-webkit-animation-name: none;
		animation-name: none;
	}

	#page2, #page3 {
		width: auto;
		padding: 40px 0px 100px;
		height: auto;
		min-height: 0px;
	}

	#page3 .page_wrap {
		width: auto;
		height: auto;
		position: static;
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
	}

	#page2 img.sp,
	#page3 img.sp {
		min-width: 65%;
		width: 80%;
		height: auto;
		display: block;
		margin: 0 auto;
		position: static;
		top: 0;
		left: 0;
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
	}

	#page4 div.inner, #page5 div.inner, #page6 div.inner {
		width: 100%;
		height: auto;
		margin-top: 0;
		background-color: #112d52;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		min-height: 600px;
		position: relative;

	}
*/
	.page div.extra {
		position: static;
		width: 100%;
		background-repeat: repeat-x;
		background-size: 100% 100%;
		min-height: auto;
		height:auto!important;
		text-align: center;
		padding-bottom: 30px;
		display: block;
		width:100%!important;
		box-sizing:border-box;
		padding:0 50px 60px;
		margin-top:15px;
	}

	#wrapper #page1 div.extra.p1_topex{
		width:100%!important;
	    transform: none;
		
	}
	
	#wrapper #page1 div.extra.p1_topex .bold.lead2{ margin-bottom:15px;}

	div.sp_inner {
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		min-height: 580px;
		position: relative;
	}

	div.sp_inner img {
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}

	#page4 div.inner, #page5 div.inner, #page6 div.inner {
		background-image: none;
		margin-top:0!important;
	}

	#page4 div.sp_inner {
		background-image: url(../img/top/sp/02_01.jpg);
	}

	#page5 div.sp_inner {
		background-image: url(../img/top/sp/03_01.jpg);
		background-position: center right;
	}

	#page5 div.sp_inner img {
		top: 150px;
	}

	#page6 div.sp_inner {
		background-image: url(../img/top/sp/04_01.jpg);
	}

	#page6 div.sp_inner img {
		top: auto;
		bottom: 0px !important;
	}

	#page6 div.extra {
		margin-bottom: 30px;
	}

	.page div.extra img {
/*
		display: block;
		margin: 0 auto;
		max-width: 90%;
*/
		display: inline-block;
    	vertical-align: middle;
	}

	.page div.inner .switch-logo {
		display: none;
	}

	.page div.inner .switch {
		display: none;
	}
	

	div.header h1 {
		position: absolute;
		left: 10px;
		bottom: auto;
		float: none;
		width: 115px;
    	padding-top: 4px;
    	top: 0;
	}


	/*
	.page div.extra div img {
		display: inline;
		margin-right: 10px;
		margin-bottom: 0px !important;
	}
	*/
}