@import url("https://fonts.googleapis.com/css?family=Roboto");
@import url("https://fonts.googleapis.com/earlyaccess/notosansjapanese.css");
/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
	color: #222;
	font-size: 1em;
	line-height: 1.4;
	background: #013e8e;
}

img {
	vertical-align: middle;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td { padding: 0; margin: 0; }
table { border-collapse: collapse; border-spacing: 0; }
fieldset, img { border: 0; }
address, caption, cite, code, dfn, em, strong, th, var { font-weight: normal; font-style: normal; }
ol, ul { list-style: none; }
caption, th { text-align: left; }
h1, h2, h3, h4, h5, h6 { font-weight: normal; font-size: 100%; }
a {　outline: none !important; -webkit-tap-highlight-color:rgba(0,0,0,0); }

body {
	font-family: 'Roboto', 'Noto Sans Japanese', sans-serif;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */
.js #wrap {
	opacity: 0;
}
#loading {
	position: fixed;
	width: 100%;
	height: 100%;
	background: url(../img/loading.gif) center no-repeat;
	background-size: 34px;
}
#wrap {
	max-width: 1400px;
	margin: 0 auto;
	overflow: hidden;
}
.sanyoLogo {
	display: block;
	position: absolute;
	top: 2%;
	left: 10px;
	z-index: 3;
	max-width: 145px;
	width: 14.5%;
}
.hero {
	position: relative;
	z-index: 1;
	height: 715px;
	background: url(../img/main_img_pc_1.jpg) no-repeat top center;
	background-size: 1400px auto;
}
.logo {
	width: 78.5%; /* 1050px */
	max-width: 826px;
	position: absolute;
	left: 50%;
	top: 27.3%;
	z-index: 999;
	-webkit-transform: translate(-47.4%, 0);
	-ms-transform: translate(-47.4%, 0);
	transform: translate(-47.4%, 0);
}
.logo img,
.sanyoLogo img,
.contents img {
	width: 100%;
}
.contents > div .inner {
	position: relative;
	width: 100%;
	height: 100%;
	max-width: 1020px;
	margin: 0 auto;
}
.contents .lead { background: #e72228; }
.contents .section01 { background: url(../img/contents_bg01_pc.jpg) no-repeat top center; max-height: 343px; }
.contents .section02 { background: url(../img/contents_bg02_pc.jpg) no-repeat top center; height: 772px; max-height: 772px; }
.contents .section03 { background: url(../img/contents_bg03_pc_1.jpg) no-repeat top center; height: 1143px; max-height: 1143px;}
.contents .section04 { background: url(../img/contents_bg04_pc_1.jpg) no-repeat top center; height: 330px; max-height: 330px;}
.contents > div {
	width: 100%;
	background-size: auto 100% !important;
}
.contents .lead {
	overflow: hidden;
}
.contents .lead .text {
	max-width: 638px;
	width: 63.8%;
}
.contents .lead a {
	position: absolute;
	top: 50%;
	right: 1%;
	-ms-transform: translate(0, -50%);
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	max-width: 320px;
	width: 32.86%;
	background: url(../img/lead_btn_bg_pc.png) no-repeat center;
}
.contents .bnr,
.contents .section01 .text,
.contents .section02 .text,
.contents .section03 h2,
.contents .section03 .step,
.contents .section04 .text01,
.contents .section04 .text02 {
	padding: 0 0.981%;
	width: 100%;
	box-sizing: border-box;
	display: block;
}
.contents .section02 .text {
	position: absolute;
	bottom: 9%;
	max-width: 500px;
	width: 50%;
}
.contents .section03 .tweetBox {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.contents .section03 .tweetBtn {
	display: block;
	max-width: 241px;
	width: 23.63%;
	position: absolute;
	background: url(../img/section03_btn_bg_pc.png) no-repeat center;
	background-size: auto 100%;
}
.contents .section03 .tweetBtn img {
	width: 100%;
}
.contents .section03 .tweetBtn.num01,
.contents .section03 .tweetBtn.num02,
.contents .section03 .tweetBtn.num03,
.contents .section03 .tweetBtn.num04 {
	top: 57%;
}
.contents .section03 .tweetBtn.num05,
.contents .section03 .tweetBtn.num06,
.contents .section03 .tweetBtn.num07,
.contents .section03 .tweetBtn.num08 {
	top: 90.2%;
}
.contents .section03 .tweetBtn.num01 { left: 1.8%; }
.contents .section03 .tweetBtn.num02 { left: 26.2%; }
.contents .section03 .tweetBtn.num03 { left: 50.5%; }
.contents .section03 .tweetBtn.num04 { left: 74.8%; }
.contents .section03 .tweetBtn.num05 { left: 1.8%; }
.contents .section03 .tweetBtn.num06 { left: 26.2%; }
.contents .section03 .tweetBtn.num07 { left: 50.5%; }
.contents .section03 .tweetBtn.num08 { left: 74.8%; }
.contents .section04 .btn {
	display: block;
	position: relative;
	top: 0;
	left: 50%;
	-ms-transform: translate(-50%, 0);
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	max-width: 646px;
	width: 63.34%;
	background: url(../img/section04_btn_pc_bg.png) no-repeat center;
	background-size: auto 100%;
}
.contents .section04 .pageTop {
	position: absolute;
	bottom: 21%;
	left: 50%;
	-ms-transform: translate(-50%, 0);
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	max-width: 140px;
	width: 13.73%;
}
footer {
	width: 100%;
	margin: 0 auto;
}
footer .copylight {
	color: #fff;
	font-size: 12px;
	text-align: center;
	padding: 1.5% 0;
}

.sp { display: none !important; }

/******************** CLOSE **/
.contents {
	position: relative;
}
.contents:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	background: rgba(0,3,28,0.85);
	width: 100%;
	height: 1130px;
	-ms-transform: translate(-50%, 0);
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
}
.contents .close {
	position: absolute;
	top: 0;
	left: 50%;
	-ms-transform: translate(-50%, 0);
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	z-index: 99;

	width: 100%;
	max-width: 1020px;
	padding: 0 0.7%;
	box-sizing: border-box;
	display: block;
	padding-top: 120px;
}
.contents .close img {
	max-width: 1000px;
}
.contents .close .bnr {
	width: 71.7%;
	max-width: 703px;
	margin: 25px auto 20px;
	padding: 0;
	background: url(../img/close_bnr_bg_pc.png) no-repeat center;
	background-size: auto 100%;
}
.contents .section04 .inner {
	padding-top: 2%;
	box-sizing: border-box;
}

@media only screen and (max-width: 1050px) {
	.hero {
		height: 68.096vw;
		background-size: auto 100%;
	}

}
@media only screen and (max-width: 1030px) {
	header .sanyoLogo {
		left: 1.2%;
	}
	.contents .section02 { height: 74.95vw; }
	.contents .section03 { height: 110.67vw; }
	.contents .section04 { height: 32.03vw; } /*94.1vw*/
	.contents:after { height: 109.7vw; }

	.contents .close {
		padding-top: 11.7%;
	}
}

@media only screen and (min-width: 751px) {
	a.hover img,
	.playBtn img.hover {
		backface-visibility: hidden;
		transition: all 0.22s cubic-bezier(0.43, 0.15, 0.18, 0.54);
	}
	a.hover:hover img {
		opacity: 0.7 !important;
	}
	.playBtn:hover img.hover {
		opacity: 1 !important;
	}
	.sns a.hover:hover img {
		opacity: 1 !important;
	}
}

@media only screen and (max-width: 750px) {
	.pc { display: none !important; }
	.sp { display: block !important; }

	/* reset */
	header,
	.contents .inner.sp > * {
		position: static;
		top: inherit;
		bottom: inherit;
		left: inherit;
		right: inherit;
		-ms-transform: inherit;
		-webkit-transform: inherit;
		transform: inherit;
		box-sizing: border-box;
		width: inherit;
		padding: 0;
	}
	.hero img,
	header .sanyoLogo img,
	.contents .inner.sp img {
		width: 100% !important;
		height: auto;
	}
	.hero,
	.contents .section01,
	.contents .section02,
	.contents .section03,
	.contents .section04 {
		background-image: none;
		height: inherit;
		max-height: inherit;
	}

	/* contents */
	.sanyoLogo {
		max-width: 192px;
		width: 25.6%;
		top: 2.5vw;
		left: 2.5vw;
	}
	.contents .lead .inner.sp {
		padding: 5.8vw 0;
	}
	.contents .lead .inner.sp a {
		display: block;
		margin: 0 auto;
		width: 84.4%;
		min-width: 200px;
		max-width: none;
		background: none;
	}
	.contents .section02 .text {
		max-width: none;
		padding: 0;
	}

	.section03 .inner.sp .tweetBox {
		position: relative;
	}
	.section03 .inner.sp .tweetBox a {
		display: block;
		width: 50%;
		position: absolute;
	}
	.section03 .inner.sp .num01 { left: 0%; top: 18.7%; }
	.section03 .inner.sp .num02 { left: 50%; top: 18.7%; }
	.section03 .inner.sp .num03 { left: 0%; top: 43.9%; }
	.section03 .inner.sp .num04 { left: 50%; top: 43.9%; }
	.section03 .inner.sp .num05 { left: 0%; top: 68.9%; }
	.section03 .inner.sp .num06 { left: 50%; top: 68.9%; }
	.section03 .inner.sp .num07 { left: 0%; top: 93.8%; }
	.section03 .inner.sp .num08 { left: 50%; top: 93.8%; }

	.contents .section04 .btn,
	.contents .lead .text {
		margin: 0;
		max-width: none;
	}
	.section04 .inner.sp .pageTop {
		width: 24.4%;
		max-width: 183px;
		min-width: 90px;
		position: absolute;
		bottom: 21.3vw;
		left: 50%;
		-ms-transform: translate(-50%, 0);
		-webkit-transform: translate(-50%, 0);
		transform: translate(-50%, 0);
	}
	footer .copylight {
		line-height: 1;
		padding: 4.3vw 0;
		font-size: calc(40% + 1.5vw);
	}
/******************** CLOSE **/
	.contents .section04 .inner {
		padding: 0;
	}
	.contents .close {
		position: relative;
		padding: 0;
	}
	.contents:after {
		background: none;
	}
	.contents .close .bnr {
		background: none;
		width: 100%;
		max-width: none;
		margin: 0;
	}
}