@charset "utf-8";


#topBread.breadcrumbs,
#topBread.breadcrumbs a {
	color: rgba(255,255,255,0.6);
}
#topBread.breadcrumbs .current-item {
	color: rgba(255,255,255,0.8);
}
#topBread.breadcrumbs {
	position: absolute;
	top: 0;
	bottom: auto;
	padding: 0 2em;
	z-index: 1;
}
.sec { padding: 4em 0; }
.sec:not(:last-of-type) {
	border-bottom: 20px solid #0b4da8;
}
.headline {
	margin-bottom: 2em;
	flex-direction: column;
	text-align: center;
	font-size: 2em;
}
@media only screen and (max-width:1080px) {
	.sec {
		padding-right:1em;
		padding-left:1em;
	}
}
@media only screen and (max-width:768px) {
	#topBread.breadcrumbs {
		top: 0;
		bottom: auto;
		padding: 0 1em;
	}
	
	.sec {
		min-width: 320px;
		padding:3em 1em;
	}
	.sec:not(:last-of-type) {
		border-bottom-width: 10px;
	}
	.headline {
		margin-bottom: 1em;
		font-size: 1.4em;
	}
}


/* #keyv 2021ver
------------------------------------------------------*/
#keyv2021 .slide {
	overflow: hidden;
	position:relative;
	background: url("../img/vp2020/top/bg_keyv.jpg") no-repeat 35% center;
	background-size: cover;
	color: #FFF;
}
#keyv2021 .slide.none {
	background:#020718;
}

#keyvVideo {
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
#keyvVideo:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.3);
	/*background: linear-gradient(-45deg, rgba(4, 114, 124, 0.2), rgba(17, 66, 99, 0.3));*/
	background: linear-gradient(45deg, rgba(2, 7, 24, 0.3), rgba(12, 73, 119, 0.3));
	/*background: linear-gradient(45deg, rgba(3, 93, 128, 0.3), rgba(7, 107, 84, 0.2));*/
	z-index: 1;
}
#keyvVideo video {
	position: absolute;
	min-width: 100%;
	min-height: 100%;
	background: url("../img/vp2020/top/video_01.jpg") no-repeat center center;
	background-size: cover;
}

#keyv2021 .bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: right center;
	background-size: cover;
	opacity:0;
	animation:bgAnime 32s infinite;   /* 4画像 × 各8s = 32s */
}
#keyv2021 .bg.born1 {
	background-image : url("../img/vp2020/top/keyv_born_01.png");
}
#keyv2021 .bg.born2 {
	background-image : url("../img/vp2020/top/keyv_born_02.png");
	animation-delay  : 8s;
}
#keyv2021 .bg.born3 {
	background-image : url("../img/vp2020/top/keyv_born_03.png");
	animation-delay  : 16s;
}
#keyv2021 .bg.born4 {
	background-image : url("../img/vp2020/top/keyv_born_04.png");
	animation-delay  : 24s;
}
@keyframes bgAnime {
	0% { opacity: 0; }
	10% { opacity: 1; }
	25% { opacity: 1; }
	35% { opacity: 0; }
	100% { opacity: 0; }
}


#keyv2021 .mainTxt {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
	padding: 50px 0 1em;
	filter: drop-shadow(0 2px 2px rgba(0,0,0,0.6));
	z-index: 100;
}
#keyv2021 .keyvLogo {
	overflow: hidden;
	display: block;
	width: 200px;
	height: 148px;
	background: url("../img/vp2020/top/keyv_logo.png") no-repeat;
	background-size: contain;
	text-indent: -9999px;
	margin: 0 auto;
}
#keyv2021 .verData {
	display: block;
	padding-top: 0.5em;
	font-size: 14px;
	opacity: 0.4;
	text-align: center;
	margin-bottom: 50px;
}
#keyv2021 .mainTxt .keyvTxt {
	margin-bottom: 0.5em;
	font-size: 2em;
}
#keyv2021 .mainTxt p {
	max-width: 768px;
	font-size: 1.2em;
}
#keyv2021 .btn {
	justify-content: flex-start;
}
#keyv2021 .btn a {
	margin: 2em 0 0;
	border: 2px solid #077fad;
	border-radius: 2px;
	background: #077fad;
	font-size: 1.2em;
}
#keyv2021 .regist {
	padding-top: 5em;
	font-size: 14px;
	opacity: 0.8;
}
@media only screen and (max-width:1200px) {
	#keyv2021 .mainTxt {
		padding: 50px 1em 1em;
	}
}
@media only screen and (min-width:1025px) {
	#keyv2021 .btn a:hover {
		background: #FFF;
		color: #077fad;
	}
}
@media only screen and (max-width:768px) {
	#keyv2021 .bg {
		background-position: 80% center;
	}
	#keyv2021 .mainTxt {
		padding: 25px 1em 1em;
	}
	#keyv2021 .keyvLogo {
		width: 100px;
		height: 74px;
	}
	#keyv2021 .verData {
		margin-bottom: 25px;
	}
	#keyv2021 .mainTxt .keyvTxt {
		font-size: 1.6em;
	}
	#keyv2021 .mainTxt p {
		font-size: 1em;
	}
	#keyv2021 .btn a {
		font-size: 1.2em;
	}
	#keyv2021 .regist {
		padding-top:3em;
	}
}

/* first time opacity load
------------------------------------------------------*/
#keyv .slide,
#keyv .nav {
	opacity: 0;
	transition: .2s linear;
}
#keyv .slide.slick-initialized,
#keyv .nav.slick-initialized,
#blog.swiper-container-initialized {
	opacity: 1;
}

/* #keyv
------------------------------------------------------*/
#keyv {
	padding-top: 70px;
	background: #AAA;
}
#keyv .slide {
	display: flex;
	justify-content: center;
	align-items: center;
    width: 100%;
	padding: 0 50px;
	background: #CCC;
	opacity: 0;
	transition: .3s linear;
}
#keyv .slide.slick-initialized {
	opacity: 1;
}

#keyv .slick-list,
#keyv .slick-track { width: 100% !important; }
#keyv .slick-track { transform:none !important; }

#keyv .box {
	display: none;
	outline: none;
	position: relative;
	left: 0 !important;
	width: auto !important;
	width: 100% !important;
	margin: -30px 0;
}
#keyv .box.slick-active { display: block; }

#keyv .txt {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	line-height: 1;
	color: #FFF;
}
#keyv a.txt:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,0.2);
	text-align: center;
	vertical-align: middle;
	transition: 0.2s;
	opacity: 0;
	z-index: 5;
}
#keyv a.txt:hover:after,
#keyv a.txt:hover .hoverTxt {
	opacity: 1;
}

#keyv .txt p { line-height: 1.6; }
#keyv .pic { background: #FFF; }
#keyv .pic img { width: 100%; }
#keyv .hoverTxt {
	display: flex;
	display: none;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	line-height: 1.6;
	font-size: 1.6em;
	z-index: 6;
	transition: 0.2s;
	opacity: 0;
}
#keyv .copy {
	display: none;
	position: absolute;
	left: 1em;
	bottom: 1em;
	text-align: left;
	font-size: 0.875em;
}

#keyv .nav {
	width: 100%;
	padding: 60px 0 30px;
	background: #EEE;
}
#keyv .nav .slick-track {
	display: flex;
	justify-content: center;
}
#keyv .nav .slick-slide {
	outline: none;
	width: auto !important;
	margin:0 0.5em;
	background: #000;
	transform:none !important;
	cursor: pointer;
}
#keyv .nav img {
	transition: 0.2s;
	opacity: 0.5;
}
#keyv .nav .slick-active,
#keyv .nav .slick-current img { opacity: 1; }

#keyv .achievement {
	padding: 40px 50px 30px;
	background: #EEE;
}
#keyv .achievement .catch {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1.5em 1em 3em;
background: #0a3a6d;
background: -moz-linear-gradient(left,  #0a3a6d 1%, #1adbdb 100%);
background: -webkit-linear-gradient(left,  #0a3a6d 1%,#1adbdb 100%);
background: linear-gradient(to right,  #0a3a6d 1%,#1adbdb 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0a3a6d', endColorstr='#1adbdb',GradientType=1 );

	color: #FFF;
}
#keyv .achievement .icon { min-width:152px; }
#keyv .achievement .catch p {
	padding-left: 1em;
	font-size: 1.3em;
	font-weight: bold;
}
#keyv .nvidia {
	margin-top: -2em;
	text-align: center;
}
#keyv .bnr {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	padding-top: 1em;
}
#keyv .bnr a {
	display: inline-flex;
	margin: 0 0.5em 0.5em;
	border: 2px solid #FFF;
	background: #000;
}
#keyv .bnr a img { transition: 0.3s; }

#keyv3 .txt {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-end;
	padding:0 55% 0 50px;
}
#keyv3 h1 img { width: 400px; }
#keyv3 h1 span {
    display: block;
    margin-bottom: 2em;
	line-height: 1.6;
}
#keyv3 .priceBox{
	color:#f8f066;
	margin-top: 2em;
	text-shadow: 0px 0px 5px rgba(0,0,0, 1);
}
#keyv3 .priceBox .limited{
	font-size: 1em;
	font-weight: bold;
	margin-bottom: 0.2em;
}
#keyv3 .priceBox .innerPrice{
	display: flex;
	align-items: center;
}
#keyv3 .priceBox .pricetag{
	color:#000;
	text-shadow:none;
	background-color: #f8f066;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.9em;
	line-height: 1.4;
	padding: 0.3em 0;
	min-width: 100px;
	height: 50px;
	text-align: center;
	position: relative;
}
#keyv3 .priceBox .pricetag:after { 
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	right: -15px;
	width: 0px;
	height: 0px;
	margin: auto;
	border-style: solid;
	border-color: transparent transparent transparent #f8f066;
	border-width: 25px 0 25px 15px;
}
#keyv3 .priceBox .price{
	padding-left:30px;
	letter-spacing: 1px;
}
#keyv3 .priceBox .price span{
	line-height: 1.1em;
	font-size: 3.6em;
	font-family: 'Oswald', sans-serif;
}

#keyv2 .txt {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding-left: 43%;
}
#keyv2 h1,
#keyv2 p { text-shadow: 0 0 10px #fff, 0 0 10px #fff; }
#keyv2 h1 {
	position: relative;
	margin-bottom:0.2em;
	font-family: 'Aldrich',sans-serif;
    font-size: 3.8em;
	color: #faa802;
}
#keyv2 h1 span {
    display: block;
    margin-bottom: 1em;
	line-height: 1.6;
    font-size: 1.2rem;
}
#keyv2 h1 sup {
    position: absolute;
    right: -50px;
    bottom: 15px;
    font-size: 1rem;
}
#keyv2 p {
	font-size: 1.3em;
	color: #000;
}
#keyv2 .btn { padding-top: 3em; }
#keyv2 .btn a {
	margin-left: 0;
	border: 1px solid #111;
	border: 1px solid #faa802;
	background: #111;
	background: #faa802;
}

#keyv1 .txt {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding-top: 1em;
}
#keyv1 h1 {
	position: relative;
	margin-bottom:0.2em;
	text-align: center;
	font-family: 'Aldrich',sans-serif;
    font-size: 5em;
}
#keyv1 h1 span {
    display: block;
    margin-bottom: 0.5em;
    font-size: 1.2rem;
    opacity: .5;
}
#keyv1 h1 sup {
    position: absolute;
    right: -50px;
    bottom: 15px;
    font-size: 1rem;
}
#keyv1 p {
	text-align: center;
	font-size: 1.2em;
}
#keyv1 .btn { padding-top: 2em; }
/*
#keyv1 .btn a { border: 1px solid #FFF; }
*/
#keyv1 .btn a {
	border: 3px solid orange;
	box-shadow: 0 5px 0 0 rgba(255,165,0,0.4);
	background: orange;
	font-size: 1.2em;
	color: #FFF;
}

#keyv1 .copy {
	display: none;
	position: absolute;
	left: 1em;
	bottom: 1em;
	text-align: left;
	font-size: 0.875em;
	opacity: 0.5;
}

@media only screen and (min-width:1025px) {
	#keyv1 .btn a:hover {
		margin:5px 0 -5px;
		box-shadow: 0 0 0 0 rgba(255,165,0,0);
		background: #FFF;
		color: orange;
	}
	#keyv .bnr a:hover img { opacity: 0.7; }
	/*
	#keyv1 .btn a:hover {
		background: #FFF;
		color: #0877A4;
	}
	#keyv1 .btn a:hover {
		border-color: #077fad;
	}
	*/
}
@media only screen and (max-width:1400px) {
	#keyv3 h1 img { width: 300px; }
}
@media only screen and (max-width:1250px) {
	#keyv2 h1 { font-size: 3em; }
	#keyv2 p { font-size: 1.1em; }
}
@media only screen and (max-width:1080px) {
	#keyv { padding-top: calc(1em + 20px); }
	#keyv .slide { padding: 0 1em; }
	#keyv .box { margin: -20px 0; }
	#keyv .nav { padding: 40px 1em 20px; }
	#keyv .nav li { margin: 0 0.25em; }
	#keyv .slide { padding: 0 1em; }
	
	#keyv .achievement {
		padding: 30px 1em 20px;
	}
	#keyv .achievement .catch p {
		font-size: 1.1em;
	}
	
	#keyv3 a.txt { padding-right: 49%; }
	#keyv3 h1,
	#keyv3 h1 span,
	#keyv3 .priceBox {
		transform: scale(0.9);
		transform-origin: left center;
	}
	#keyv3 h1 span { margin-bottom: 1em; }
	#keyv3 .priceBox { margin-top: 1em; }
	
	#keyv2 .txt { padding-left: 40%; }
	#keyv2 h1,
	#keyv2 h1 span,
	#keyv2 p,
	#keyv2 .copy {
		transform: scale(0.9);
		transform-origin: left center;
	}
	
	#keyv1 h1,
	#keyv1 h1 span,
	#keyv1 h1 sup,
	#keyv1 p,
	#keyv1 .copy { transform: scale(0.9); }
	
	#keyv1 h1 { margin-bottom:0; }
	#keyv1 h1 span { margin-bottom: 0.5em; }
	#keyv1 h1 sup { right: -30px; }
	#keyv1 .btn { padding-top: 2em; }
	#keyv1 .copy { left: 0; }
}
@media only screen and (max-width:768px) {
	#keyv { padding-top: calc(0.5em + 20px); }
	#keyv .slide { padding: 0 0.5em; }
	#keyv .box { margin: -20px 0; }
	#keyv .nav { padding: 30px 0.5em 10px; }
	#keyv .nav .slick-track { flex-wrap: wrap; }
	#keyv .nav .slick-slide { margin:0 0.25em 0.5em; }
	#keyv .nav .slick-slide img {
		width:135px;
		height: 45px;
	}
	
	#keyv .achievement { padding: 28px 0.5em 20px; }
	#keyv .achievement .catch p { font-size: 1em; }
	#keyv .achievement .catch p br { display: none; }
	#keyv .achievement .icon {
		width: 76px;
		min-width:76px;
		margin: 0 auto 1em;
	}
	#keyv .achievement .nvidia img { width: 395px; }
	#keyv .bnr a { margin: 0 2px 4px; }
	#keyv .bnr img {
		width:135px;
		height: 45px;
	}
	
	#keyv3 a.txt {
		align-items: center;
		padding:0 1em;
	}
	#keyv3 h1,
	#keyv3 h1 span {
		transform: scale(1.0);
		transform-origin: left center;
	}
	#keyv3 h1,
	#keyv3 h1 span { margin-bottom: 2em; }
	#keyv3 h1 { text-align: center; }
	#keyv3 h1 img { width: 250px; }
	#keyv3 .priceBox {
		margin-top: 0;
		transform-origin:center center;
	}
	#keyv3 .priceBox .limited { text-align: center; }
	
	#keyv2 p br { display: none; }
	#keyv2 h1,
	#keyv2 p { text-shadow: -2px -2px 3px #fff, 2px 2px 3px #fff; }
}
@media only screen and (max-width:550px) {
	#keyv .nav {
		justify-content: space-between;
		flex-wrap: wrap;
	}
	#keyv .nav li {
		width: calc(50% - 3px);
		margin: 0 0 6px;
	}
	
	#keyv2 h1 { font-size:2.6em; }
	#keyv2 h1,
	#keyv2 p,
	#keyv2 .copy {
		transform-origin: center center;
	}

	#keyv2 h1 span { display: none; }
	#keyv2 .txt {
		align-items: center;
		padding:0 1em;
		text-align: center;
	}
	#keyv2 .pic { overflow: hidden; }
	#keyv2 .pic img { margin-left: -15%; }
	
	
	#keyv1 h1,
	#keyv1 h1 span,
	#keyv1 h1 sup,
	#keyv1 p,
	#keyv1 .copy { transform: scale(1); }
	
	#keyv1 h1 {
		margin-bottom: 1rem;
		font-size: 2.5rem;
	}
	
	#keyv1 p { font-size: 1rem; }
	
	#keyv1 h1 span,
	#keyv1 h1 sup,
	#keyv1 .copy { font-size: 12px; }
	
	#keyv1 h1 span { margin-bottom: 1em; }
	#keyv1 h1 sup {
		right: -1rem;
		bottom: 5px;
	}
	#keyv1 p,
	#keyv1 .copy {
		padding: 0 1em;
		line-height: 1.6;
		text-align: center;
	}
	#keyv1 p span { display: block; }
	#keyv1 p br { display: none; }
}
@media only screen and (max-width:384px) {
	#keyv3 a.txt {
		align-items: center;
		padding:0 1em;
	}
	#keyv3 h1,
	#keyv3 h1 span {
		transform: scale(0.9);
		transform-origin: center center;
	}
	#keyv3 h1 { margin-bottom: 1.2em; }
	#keyv3 h1 span { margin-bottom: 1.5em; }
	#keyv3 h1 span br { display: none; }
	#keyv3 h1 img { width: 220px; }
	#keyv3 .priceBox {
		transform-origin:center center;
	}
	#keyv3 .priceBox .price span {
		font-size: 2em;
	}
	#keyv3 .priceBox .innerPrice {
		justify-content: center;
	}
	#keyv3 .priceBox .pricetag {
		min-width: 85px;
    	height: 40px;
	}
	#keyv3 .priceBox .pricetag:after {
		right: -10px;
		border-width: 20px 0 20px 10px;
	}
	#keyv3 .priceBox .price {
		padding-left: 20px;
	}
}

/* #achievement
------------------------------------------------------*/
#achievement {
	padding: 0 0 30px;
	background: #EEE;
}
#achievement .catch {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1.5em 1em 3em;
background: #0a3a6d;
background: -moz-linear-gradient(left,  #0a3a6d 0%, #1adbdb 100%);
background: -webkit-linear-gradient(left,  #0a3a6d 0%,#1adbdb 100%);
background: linear-gradient(to right,  #0a3a6d 0%,#1adbdb 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0a3a6d', endColorstr='#1adbdb',GradientType=1 );

	color: #FFF;
}
#achievement .catch a {
	margin-left: 1em;
	text-decoration: underline;
}
#achievement .catch .fa { margin-right: 0.2em; }

#achievement .icon { width:152px; }
#achievement .catch .catchTxt {
	padding-left: 1em;
	font-size: 1.3em;
	font-weight: bold;
}
#achievement .nvidia {
	margin: -2em 0.5em 0;
	text-align: center;
}

@media only screen and (max-width:1080px) {
	#achievement {
		padding: 0 0 20px;
	}
	#achievement .catch .catchTxt {
		font-size: 1.1em;
	}
}
@media only screen and (min-width:1025px) {
	#achievement .catch a:hover {
		text-decoration:none;
		opacity: 0.7;
	}
}
@media only screen and (max-width:768px) {
	#achievement { padding: 0 0 20px; }
	#achievement .catch .catchTxt { font-size: 1em; }
	#achievement .catch .catchTxt br { display: none; }
	#achievement .icon {
		width: 76px;
		min-width:76px;
		margin: 0 auto 1em;
	}
	#achievement .nvidia img { width: 395px; }
}


/* #lineup
------------------------------------------------------*/
#lineup {
	/*
	padding-top: 0;
	
	background: #EEE;
	*/
}
#lineup .headline:after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -0.5em;
	width: 180px;
	height: 2px;
	margin-left: -90px;
	background: #077fad;
}
#lineup .txt {
	margin-bottom: 2em;
	text-align: center;
}
#lineup .flex {
	justify-content: space-between;
	max-width: 1400px;
	margin: 0 auto;
}
#lineup .box {
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	width: calc(37.5% - 5px);
	background: #FFF;
	/*
	border-radius: 5px;
	*/
	box-shadow: 0 5px 10px 0 rgba(0,0,0,0.2);
}
#lineup .box a { text-decoration: underline; }
#lineup .nano {
	width: calc(25% - 5px);
}
#lineup .box > * {
	width: 100%;
	padding: 1em 1em;
	font-size: 0.875em;
}
#lineup header {
	background: #055f99;
background: -moz-linear-gradient(left,  #055f99 0%, #099ec1 100%);
background: -webkit-linear-gradient(left,  #055f99 0%,#099ec1 100%);
background: linear-gradient(to right,  #055f99 0%,#099ec1 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#055f99', endColorstr='#099ec1',GradientType=1 );
	box-shadow: 0 0 5px 0 rgba(0,0,0,0.7);
	color: #FFF;
}
#lineup .s3d header {
background: #f07e00;
background: -moz-linear-gradient(left,  #f07e00 0%, #f6b100 100%);
background: -webkit-linear-gradient(left,  #f07e00 0%,#f6b100 100%);
background: linear-gradient(to right,  #f07e00 0%,#f6b100 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f07e00', endColorstr='#f6b100',GradientType=1 );
}
#lineup .nano header {
	background: #269d51;
background: -moz-linear-gradient(left,  #269d51 0%, #3ec486 100%);
background: -webkit-linear-gradient(left,  #269d51 0%,#3ec486 100%);
background: linear-gradient(to right,  #269d51 0%,#3ec486 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#269d51', endColorstr='#3ec486',GradientType=1 );
}
#lineup .box .name {
	margin-bottom: 0.5em;
	text-align: center;
	font-size: 1.4rem;
	font-weight: bold;
}
#lineup .box .name .fa {
	margin-left: 10px;
	font-size: 0.9em;
}
#lineup .sta dl,
#lineup .s3d dl {
	width: 50%;
	border-right:1px solid #CCC
}
#lineup dl + dl {
	margin-left: -1px;
	border-right: 0 !important;
	border-left:1px solid #CCC;
}
#lineup .pic {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 120px;
	padding: 0 1em;
}
#lineup .pic img {
	max-width: 120px;
}
#lineup .pic.nvidia img {
	max-width: 50%;
}
#lineup .pf { font-weight: bold; }
#lineup .camera {
	border-top: 1px solid #CCC;
	text-align: center;
}
#lineup .btn { margin-top: 3em;}
#lineup .btn a {
  margin-bottom: 0.5em;
	border: 1px solid #077fad;
	color: #FFF;
	background-color: #077fad;
}
#lineup .btn a:hover {
	color: #077fad;
	background: #FFF;
}
#lineup .ban_w{
	width: 70%;
	margin-top: 4em;
	max-width: 840px;
	min-width: 600px;
}
#lineup .ban_w a:hover img {
	transition: .3s;
	opacity: 0.7;
}

@media only screen and (min-width:1025px) {
	#lineup .box a:hover {
		text-decoration:none;
		opacity: 0.7;
	}
}
@media only screen and (max-width:1080px) {
	#lineup .box .name {
		font-size: 1rem;
	}
	#lineup .box .fa {
		margin-left: 5px;
		font-size: 0.8em;
	}
}
@media only screen and (max-width:768px) {
	#lineup .flex {
		display: block;
	}
	#lineup .box {
		width: auto !important;
		margin-bottom: 1em;
	}
	#lineup .pic.nvidia img {
		width: 65%;
		max-width: 90px;
	}
	#lineup .btn { margin-top: 2em;}
	#lineup .ban_w{
		width: 90%;
		margin-top: 3em;
		min-width: 300px;
	}
}


/* #about
------------------------------------------------------*/
#about {
	background: #FFF;
	background: #eeeeee;
background: -moz-linear-gradient(top,  #eeeeee 0%, #ffffff 50%);
background: -webkit-linear-gradient(top,  #eeeeee 0%,#ffffff 50%);
background: linear-gradient(to bottom,  #eeeeee 0%,#ffffff 50%);

}
#about .flex {
	flex-direction: row-reverse;
	justify-content: center;
	align-items: flex-start;
	max-width: 1400px;
	margin: 0 auto;
}
#about .txt {
	width: 55%;
	margin-bottom: 2em;
	padding-left: 3em;
}
#about .txt .headline2 { color: #077fad; }
#about .txt p { margin-bottom: 1em; }
#about .txt p:last-of-type { margin-bottom: 0; }
#about .topMovie {
	width: 45%;
}
#about .topMovie iframe {
	box-shadow: 0 5px 10px 0 rgba(0,0,0,0.3);
}
#about .bnrVpTrial {
	margin-top: 1em;
	padding: 0;
}
#about .cap {
	display: inline-block;
	padding-left: 20px;
	background: url("../img/vp2020/common/icon_wakaba.png") no-repeat 0 50%;
}
#about .headline {
	align-items: flex-start;
	margin-bottom: 1em;
}
#about .headline span { color: #888; }

@media only screen and (max-width:768px) {
	#about .flex {
		flex-direction: column;
	}
	#about .headline {
    align-items: center;
	}
	#about .txt,
	#about .topMovie {
		width: 100%;
		padding-left: 0;
	}
	#about .txt br { display: none; }
}


/*
#about .inner {
	display: flex;
	justify-content: space-between;
	padding: 5em 1em 0;
}
#about .box { width: calc(33.3333% - 5px); }
#about .box h1 {
	position: relative;
	padding-top: 62.5%;
	background:url("../img/vp2020/top/pic_about_01.jpg") no-repeat 50% 50%;
	background-size: cover;
}
#about .box:nth-of-type(2n) h1 { background-image:url("../img/vp2020/top/pic_about_02.jpg"); }
#about .box:nth-of-type(3n) h1 { background-image:url("../img/vp2020/top/pic_about_03.jpg"); }
#about .box h1 a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.2);
	text-shadow: 0 1px 2px rgba(0,0,0,0.8);
	font-size: 1.2em;
	color: #FFF;
}
#about .box p { padding: 1.5em 0;}
#about .btn a {
	border: 1px solid #077fad;
	background: #077fad;
	color: #fff;
@media only screen and (min-width:1025px) {
	#about .box h1 a:hover { background: rgba(0,0,0,0); }
	#about .btn a:hover {
		border: 1px solid #077fad;
		background: #FFF;
		color: #077fad;
	}
}
@media only screen and (max-width:1080px) {
	#about .box p { padding: 1.5em 1em; }
	#about .box p br { display: none; }
}
@media only screen and (max-width:768px) {
	#about .flex {}
	#about br { display: none; }
	#about > p {
		padding: 0 1em;
		text-align: left;
	}
	#about .inner {
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
		padding-top: 3em;
	}
	#about .box {
		width: 100%;
		max-width: 450px;
		margin-bottom: 3em;
	}
	#about .box p { padding: 1em 0em; }
}
}*/

/* #use
------------------------------------------------------*/
#use {
	/*
	background:#EDFEFF;
	background:#F6F6F6;
	*/
	border-bottom: 0;
	text-align: center;
}
#use .headline {
	display: flex;
	justify-content: center;
}
#use .headline:after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -0.5em;
	width: 180px;
	height: 2px;
	margin-left: -90px;
	background: #ffb007;
	background: #077fad;
}
#use .inner {
	display: flex;
	justify-content: space-between;
	padding: 0 1em 0;
}
#use .box { width: calc(33.3333% - 5px); }
#use .box .vFields {
	position: relative;
	padding-top: 62.5%;
	background:url("../img/vp2020/top/pic_about_01.jpg") no-repeat 50% 50%;
	background-size: cover;
}
#use .box:nth-of-type(2n) .vFields { background-image:url("../img/vp2020/top/pic_about_02.jpg"); }
#use .box:nth-of-type(3n) .vFields { background-image:url("../img/vp2020/top/pic_about_03.jpg"); }
#use .box .vFields a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.2);
	text-shadow: 0 1px 2px rgba(0,0,0,0.8);
	font-size: 1.2em;
	color: #FFF;
}
#use .box p { padding: 1.5em 0;}
#use .btn a {
	border: 1px solid #077fad;
	background: #077fad;
	color: #fff;
}
@media only screen and (min-width:1025px) {
	#use .box .vFields a:hover { background: rgba(0,0,0,0); }
	#use .btn a:hover {
		border: 1px solid #077fad;
		background: #FFF;
		color: #077fad;
	}
}
@media only screen and (max-width:1080px) {
	#use .box p { padding: 1.5em 1em; }
	#use .box p br { display: none; }
}
@media only screen and (max-width:768px) {
	#use br { display: none; }
	#use > p {
		padding: 0 1em;
		text-align: left;
	}
	#use .inner {
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
		padding-top: 3em;
	}
	#use .box {
		width: 100%;
		max-width: 450px;
		margin-bottom: 3em;
	}
	#use .box p { padding: 1em 0em; }
}


/* #feature
------------------------------------------------------*/
#feature {
	border-bottom: 0;
	background: #0a798a;
	background: -moz-linear-gradient(45deg,  #0a798a 0%, #0e173c 100%);
	background: -webkit-linear-gradient(45deg,  #0a798a 0%,#0e173c 100%);
	background: linear-gradient(45deg,  #0a798a 0%,#0e173c 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0a798a', endColorstr='#0e173c',GradientType=1 );
}
#feature .headline,
#feature .btn a {
	color: #FFF;
}
#feature .headline {
	display: flex;
	justify-content: center;
}
#feature .headline:after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -0.5em;
	width: 180px;
	height: 2px;
	margin-left: -90px;
	background: #ffb007;
}
#feature .inner {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	max-width: 1200px;
	margin: 0 auto 2em;
	/*
	padding: 0 1em;
	*/
}
#feature .box {
	position: relative;
	/*
	width: 350px;
	width: calc(25% - 10px);
	max-width: 350px;
	min-width: 210px;
	*/
	width: calc(33.333% - 20px);
	/*
	max-width: 350px;
	*/
	margin: 0 10px 20px;
	text-align: center;
}
#feature .box a {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	background: #FFF;
}
#feature .box a:before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	border-style: solid;
	border-width: 0 30px 30px 0;
	border-color: transparent #ffd307 transparent transparent;
}

#feature .pic {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	margin-top: 2em;
	background: #CCC;
}
#feature .txt { padding: 1em 1em 2em; }
#feature .txt .title {
	font-size: 1.2em;
	color: #ffb007;
}
#feature .btn a { border: 1px solid #FFF; }

@media only screen and (min-width:1025px) {
	#feature .box a:hover img {
		transition: 0.2s;
		opacity: 0.6;
	}
	#feature .box a:hover .title {
		transition: 0.2s;
		color: #000;
	}
	#feature .btn a:hover {
		border-color:#ffb007;
		background: #ffb007;
	}
}
@media only screen and (max-width:1080px) {
	#feature .inner { flex-wrap: wrap; }
	#feature .box {
		width: calc(50% - 20px);
		margin-bottom: 20px;
	}
	#feature .txt { padding: 1em 1em 2em; }
	#feature .txt br { display: none; }
}
@media only screen and (max-width:768px) {
	#feature .inner {
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
	}
	#feature .box {
		width: 100%;
		max-width: 360px;
		margin-bottom: 1em;
	}
	#feature .pic {
		width: 90px;
		height: 90px;
		margin-top: 1em;
	}
	#feature .txt { padding: 0em 2em 1em; }
}

/* #user
------------------------------------------------------*/
/*
#user .inner > .sales {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 360px;
	height: auto;
	margin: 0 auto 2em;
	background: #077fad;
	font-size: 1.2em;
	color: #FFF;
}
*/
#user .headline {
	margin-bottom: 1em;
}
#user .inner > .sales {
	position: relative;
	width: 360px;
	height: auto;
	margin: 0 auto 2em;
	padding: 0 1em 1em;
	background: #077fad;
	text-align: center;
	color: rgba(255,255,255,0.8);
}
#user .inner > .sales strong {
	display: block;
	margin-bottom: -0.5em;
	font-size: 1.4em;
	font-weight: normal;
	color: #FFF;
}
#user .inner > .sales span {
	font-size: 2em;
	color: #ffd307;
}
#user .inner > .sales:after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -20px;
	margin-left: -15px;
	border-style: solid;
	border-width: 15px 15px 0 15px;
	border-color: #007fad transparent transparent transparent;
}

/* #userData ----------*/
#userData .count,
#userData .graph {
	display: flex;
	justify-content: center;
	margin: 0 auto;
	text-align: center;
}
#userData .count {
	display: none;
	max-width: 720px;
	border-bottom: 1px solid #888;
}
#userData .count dl {
	margin: 0 3em 0.5em;
}
#userData .count dt { color: #888; }
#userData .count dd {
	position: relative;
	line-height: 1;
	font-family: 'Ropa Sans', sans-serif;
	font-size: 4em;
}
#userData .count dd:after {
	content: "件";
	position: absolute;
	right: -1.5em;
	bottom: 9px;
	font-size: 1rem;
}

#userData .graph {
	max-width: 900px;
	padding: 1em 0 3em;
	padding: 1em 0 0;
}
#userData .graph dl { width: 50%; }
#userData .graph dt { color: #0a7285; }
#userData .graph dd { height: 400px; }
#userData .graph .visualizer-front {
	width: 100%;
	height: 100%;
}
#userData .btn a { border: 1px solid #000; }


/* #recent ----------*/
#recent { padding-top: 5em; }
#recent .box {
	max-width: 900px;
	margin: 0 auto 2em;
}
#recent .box a {
	display: flex;
	align-items: center;
	border: 1px solid #CCC;
	background: #FFF;
}
#recent .pic {
	width: 360px;
	min-width: 360px;
	border-right: 1px solid #CCC;
}
#recent .txt { padding:0 1em; }
#recent .date {
	display: flex;
	align-items: center;
	color: #888;
}
#recent .date span {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 80px;
	min-width: 60px;
	margin-right:1em;
	background: #333;
	font-size: 12px;
	color: #FFF;
}
#recent .btn a { border: 1px solid #000; }

/* #recentCase ----------*/
#recentCase { padding: 5em 0; }
#recentCase .headline:after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -0.5em;
	width: 180px;
	height: 2px;
	margin-left: -90px;
	background: #077fad;
}
.educationLink{
	margin-top: 2em;
}
.educationLink .btn a {
	border: 1px solid #077fad;
	color: #FFF;
	background-color: #077fad;
	min-width: 400px;
}
.educationLink .btn a:hover {
	color: #077fad;
	background: #FFF;
}

@media only screen and (min-width:1025px) {
	#userData .btn a:hover {
		border: 1px solid #000;
		background: #000;
		color: #FFF;
	}
	#recent .box a:hover {
		background: #EEE;
		color: #077fad;
	}
	#recent .box a:hover .date {
		color: #077fad;
	}
	#recent .box a:hover .date span {
		transition: 0.2s;
		background: #077fad;
	}
}
@media only screen and (max-width:768px) {
	/*
	#user .inner > .sales {
		width: 270px;
		height: 40px;
		margin: 0 auto 2em;
	}
	*/
	
	#user .inner > .sales {
		width: 270px;
		height: auto;
		padding: 0 1em 1em;
	}
	#user .inner > .sales strong {
		font-size: 1.2em;
	}
	#user .inner > .sales span {
		font-size: 2em;
	}
	
	
	#user .inner > .sales:after {
		bottom: -15px;
		margin-left: -10px;
		border-width: 10px 10px 0 10px;
	}
	#userData .graph { display: block; }
	#userData .graph { padding: 1em 0 2em; }
	#userData .graph dl { width: auto; }
	#userData .count dl { margin: 0 2em 0.5em; }
	#recent .box a {
		align-items: flex-start;
		border:0;
	}
	#recent .pic {
		width: 250px;
		min-width:125px;
		border: 1px solid #CCC;
	}
	#recentCase { padding: 3em 1em; }
	.educationLink{
		margin: 1em 0 2em;
	}
	.educationLink .btn a {
		min-width: 320px;
	}

}

/* #support
------------------------------------------------------*/
#support {
	display: flex;
	justify-content: center;
	border-bottom: 20px solid #0b4da8;
	/*
	background:#eff4f8;
	background: #EEE;
	*/
}
#support .box {
	width:360px;
	text-align: center;
}
#support .box:nth-of-type(2n) {
	border-right: 1px solid #CCC;
	border-left: 1px solid #CCC;
}
#support .box a {
	display: block;
	width: 100%;
	height:100%;
	padding: 2em 0;
}
#support .pic {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	/*
	background: #FFF;
	box-shadow: 0 3px 0 0 rgba(0,0,0,0.1);
	*/
}
#support .txt { padding: 1em 0 0; }
#support .title {
	font-size: 1.2em;
	color: #ffb007;
}
@media only screen and (min-width:1025px) {
	#support .box a:hover .pic {
		transition: 0.2s;
		background: #DDD;
		box-shadow: 0 3px 0 0 rgba(0,0,0,0);
	}
	#support .box a:hover .title {
		transition: 0.2s;
		color: #000;
	}
}
@media only screen and (max-width:1080px) {
	#support {
		padding-left: 0;
		padding-right: 0;
	}
	#support .box { width:33.3333%; }
}
@media only screen and (max-width:1024px) {
	#support .pic {
		width: 90px;
		min-width: 90px;
		height: 90px;
		box-shadow: 0 3px 0 0 rgba(0,0,0,0.1);
	}
	#support .pic img { width: 50px; }
}
@media only screen and (max-width:768px) {
	#support {
		display: block;
		padding:1em 0;
	}
	#support .box {
		width:auto;
		border-bottom:1px solid #DDD;
		text-align:left;
	}
	#support .box:nth-of-type(2n) {
		border-right:0;
		border-left:0;
	}
	#support .box:last-of-type {
		border-bottom:0;
	}
	#support .box a {
		display: flex;
		align-items: center;
		height:auto;
		padding: 1em;
	}
	#support .txt { padding:0 0 0 1em; }
	#support p br { display: none; }
}
@media only screen and (max-width:420px) {
}


/* #info
------------------------------------------------------*/
#info {
	max-width: 1200px;
  margin: 0 auto;
	border-bottom: 0;
}
#info .tab,
#info .tab a {
	display:flex;
	justify-content:center;
	align-items: center;
}
#info .tab {
  max-width: 960px;
  margin:0 auto 1em;
}
#info .tab li { width: 50%; }
#info .tab a {
	position: relative;
	padding: 0.5em 1em;
	border: 1px solid #AAA;
	/*
	background: #EEE;
	*/
	font-size: 1.6em;
	color: #666;
}
#info .tab a.active {
	background: #077fad;
	border-color: #077fad;
	color: #FFF;
}
#info .tab a.active:after {
	content: "";
	position: absolute;
	bottom: 0;
	border-style: solid;
	border-width: 20px 20px 0 20px;
	bottom: -20px;
	border-color: #077fad transparent transparent transparent;
}
#info .tabContents { padding-top: 20px; }
#info .tabBox { display: none; }
#info .flex { justify-content: space-between; }
#info .box { width: 49%; }
#info #news.box { width: 100%; }
#info #news {
  max-width:960px;
  margin: 0 auto;
}
#info .box .title {
	margin-bottom: 0.5em;
	text-align: center;
	font-size: 1.4em;
}
#info .box ul {
	overflow-y: auto;
	height: 500px;
}
#info .box li { border-bottom: 1px solid #CCC; }
#info .box a,
#info .box li > span {
	display: flex;
	padding: 1em 1em 1em 0;
}
#info .box a { align-items: center; }
#info .box .txtLink {
	display: inline;
	padding: 0;
}
#info .pic {
	flex-shrink: 0;
	width: 150px;
	/*
	min-width: 120px;
	padding-top: 0.5em;
	*/
}
#info .ver {
	padding-right: 1em;
	white-space: nowrap;
}
#info .date {
	margin-right: 0.4em;
	white-space: nowrap;
	text-decoration: none !important;
	color: #888;
}
#info div.pic,
#info div.date {
	margin-right: 1em;
}
#info .tag,
#info .pf {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	height: 22px;
	padding: 0 0.5em;
	margin-right: 0.4em;
	background: #AAA;
	font-size:0.875em;
	text-decoration: none !important;
	color: #FFF;
}


@media only screen and (min-width:1025px) {
	#info .tab a:hover { opacity: 0.6; }
	#info .tabBox a:hover .txt {
		text-decoration:none;
		color: #077fad;
	}
}

@media only screen and (max-width:768px) {
	#info .tab a {
		padding: 0.5em 1em;
		font-size: 1.2em;
	}
	#info .tab a.active:after {
		border-width: 15px 15px 0 15px;
		bottom: -15px;
	}
	#info .flex { display: block; }
	#info .box { width: auto; }
	#info .box + .box {
		margin-top: 1em;
		padding-top: 1em;
		border-top: 1px solid #CCC;
	}
	#info .box .title  {
		text-align: left;
		font-size: 1.2em;
		font-weight: bold;
		color: #666;
	}
	#info .box ul {
		font-size: 13px !important;
		height: 250px !important;
	}
	#info .box li { border-bottom:0; }
	#info .box a,
	#info .box li > span {
		padding: 0.5em 0;
	}
	#info .box a { align-items: flex-start; }
	#info .pic {
		width: 90px;
	}
}


/*
#news ul {
	max-width: 900px;
	margin: 0 auto;
}
#news li {
	margin-bottom: 0.2em;
	box-shadow: 0 1px 2px 0 rgba(0,0,0,0.2);
}
#news a {
	display: block;
	display: flex;
	align-items:flex-start;
	position: relative;
	padding: 1em 4.5em 1em 1.5em;
	background: #FFF;
}
#news a:before,
#news a:after {
	content: "";
	position: absolute;
	top: 50%;
}
#news a:before {
	right: 1.5em;
	width: 20px;
    height: 20px;
    margin-top: -10px;
	background: #666;
	background: #077fad;
}
#news a:after {
	right: calc(1.5em + 8px);
    width: 6px;
    height: 6px;
    margin-top: -4px;
	border-top:1px solid #FFF;
	border-right:1px solid #FFF;
	transform: rotate(45deg);
}
#news .date {
	display: flex;
	align-items: center;
	margin-right: 1em;
	color: #888;
}
#news .tag {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 80px;
	min-width: 60px;
	margin: 0 1em;
	background: #888;
	font-size: 12px;
	color: #FFF;
}
#news .tag.info { background: #a02828; }
#news .tag.release { background: #056386; }
#news .tag.media { background: #0a8a76; }

@media only screen and (min-width:1025px) {
}
@media only screen and (max-width:768px) {
}
@media only screen and (max-width:420px) {
}
*/

/* #blog
------------------------------------------------------*/
/*
#blog {
	width: 100%;
}
#blog .carousel {
	align-items: stretch;
}
#blog a {
	display: flex;
	flex-direction: column;
}
#blog a img { width: 100%; }
#blog h1 {
	padding: 1em;
	border-right: 1px solid #CCC;
}
@media only screen and (min-width:1025px) {
	#blog a:hover { opacity: 0.6; }
}
@media only screen and (max-width:1080px) {
}
@media only screen and (max-width:768px) {
}
@media only screen and (max-width:420px) {

}
*/


/* #blogGuid
------------------------------------------------------*/
#blogGuid {
	/*background-color: #F6F6F6;*/
}
#blogGuid .headline:after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -0.5em;
	width: 180px;
	height: 2px;
	margin-left: -90px;
	background: #077fad;
}
#blogGuid .cardLayout{
	display: flex;
	flex-direction: row;
	justify-content:space-evenly;
	flex-wrap: wrap;
	max-width: 1200px;
	margin: 0 auto 2em;
}
#blogGuid .cardLayout .item {
	width: 31%;
	margin-bottom: 2%;
	border-radius: 4px;
	position: relative;
	transition: all .3s ease;
	background-color: #fff;
	box-shadow: 0px 1px 6px rgba(0,0,0,0.3);
	overflow: hidden;
}
#blogGuid .cardLayout .item:hover {
	opacity: 0.8;
	box-shadow: none;
}
#blogGuid .cardLayout .item .inner {
	width: 90%;
	margin: 1em auto 1.2em;
}
#blogGuid .cardLayout .item .inner .title {
	font-weight: 700;
	margin-bottom: 0.5em;
}
#blogGuid .cardLayout .item .inner .txt {
	font-size: 0.9em;
	
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}
#blogGuid .btn a {
	border: 1px solid #000;
}
#blogGuid .btn a:hover {
	border: 1px solid #000;
	background: #000;
	color: #FFF;
}
@media only screen and (max-width:768px) {
	#blogGuid .cardLayout .item {
		width: 47%;
		margin-bottom: 2%;
	}
	#blogGuid .cardLayout .item .inner .txt {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		overflow: hidden;
	}
}



/*改修テスト用*/

/* #keyv 2021 fullV ver
------------------------------------------------------*/
#keyv2021fullV .slide {
	overflow: hidden;
	position:relative;
	font-family: 'Roboto',sans-serif;
	color: #FFF;
}
#keyv2021fullV #keyvVideo2 {
	width: 100%;
	height: 100%;
}
#keyv2021fullV #keyvVideo2 video {
	width: 100%;
	background: url("../img/vp2020_en/top/video_01.jpg") no-repeat center center;
	background-size: cover;
	vertical-align: bottom;
}

/* #keyvBand
------------------------------------------------------*/
#keyvBand {
	background: rgba(11,77,168,1);
}
#keyvBand .baseWidth {
	max-width: 1240px;
	position: relative;
}
#keyvBand .innerBox{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1.4em 0 1.4em;
}
#keyvBand .innerBox .txtBox{
	display: flex;
	align-items: center;
}
#keyvBand .innerBox .icon {
	width: 150px;
	min-width: 70px;
}
#keyvBand .innerBox .bandCom{
	color: #FFF;
	font-size: 1em;
	padding-left: 1.5em;
}
#keyvBand .innerBox .bandCom strong{
	font-size: 1.4em;
}
#keyvBand .txtBox a {
	font-size: 1.1em;
	font-weight: 700;
	text-decoration: underline;
	letter-spacing: 1px;
	margin-left: 1em;
}
#keyvBand .txtBox i{ color: #f3fa5e;}
#keyvBand .innerBox .btnBox .btn a {
  height: auto;
  padding: 0.5em 1em;
	box-shadow: 0px 2px 8px 2px rgba(0,0,0,0.3);
  border-radius: 5px;
  line-height: 1.3;
	font-size: 1.6em;
	font-weight: 700;
	background: #f3fa5E;
  background: #0ba859;
  color: rgba(11,77,168,1);
  color: #FFF;
}
#keyvBand .innerBox .btnBox .btn sub {
  vertical-align: baseline;
  font-size: 0.6em;
  font-weight: normal;
}
#keyvBand .innerBox .btnBox .btn i { margin-left: 1em; }
#keyvBand .innerBox .btnBox .btn a:hover {
	background: #FFF;
	color: rgba(30,90,210,1);
}

#nvidia2 { 
	text-align: center;
	padding: 1em 1em;
	border-bottom: 4px solid rgba(11,77,168,1);
}
#nvidia2 img {
	max-width: 50%;
}
@media only screen and (min-width:1025px) {
	#keyvBand .txtBox a:hover {
		text-decoration:none;
		opacity: 0.7;
	}
}

@media only screen and (max-width:1024px) {
	#keyvBand{
		padding: 0 1em;
	}
	#keyvBand .innerBox{
		flex-wrap: wrap;
		justify-content: center;
		padding: 1em 0 1.2em;
	}
	#keyvBand .innerBox .txtBox{
		align-items: center;
		justify-content: center;
		margin-bottom: 1em;
	}
	#keyvBand .innerBox .bandCom{
		font-size: 0.9em;
		padding-left: 1.2em;
	}
	#keyvBand .innerBox .bandCom strong{
		font-size: 1.2em;
	}
	#keyvBand .innerBox .btnBox .btn a{
    line-height: 1.4;
		font-size: 1.3em;
	}
	#nvidia2 img {
		max-width: 95%;
	}
}

/*セール用ボタン*/
#keyvBand .saleBan{
	width: 160px;
	position: absolute;
	left: 2%;
  top: -104%;
	z-index: 15;
	opacity: 0;
}
#keyvBand .saleBan a:hover{
	opacity: 0.8;
}
.saleBan {
  animation: zoomIn 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
	animation-delay: 0.5s;
}
@keyframes zoomIn {
  0% {
    transform: scale(0.5);
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@media only screen and (max-width:768px) {
	#keyvBand .saleBan{
		width: 20vw;
		left: 80%;
		top: -70%;
	}
}



/* #about2
------------------------------------------------------*/
#about2 {
/*
  padding-bottom: 0em;
  border-top: 4px solid rgba(11,77,168,1);*/
/*	background: #EEE;*/
  /*
	background: #eeeeee;
	background: linear-gradient(to bottom,  #eeeeee 0%,#ffffff 50%);*/
}
#about2 .flex {
	align-items: flex-start;
	max-width: 1200px;
	margin: 0 auto;
}
#about2 .txt {
	width: 55%;
	margin-bottom: 1em;
	padding-right: 2em;
}
#about2 .txt .headline2 { color: #077fad; }
#about2 .txt p { margin-bottom: 1em; }
#about2 .txt p:last-of-type { margin-bottom: 0; }
#about2 .pic { width: 45%; }

#about2 .cap {
	display: inline-block;
	padding-left: 20px;
	background: url("../img/vp2020/common/icon_wakaba.png") no-repeat 0 50%;
	margin-bottom: 0.4em;
}
#about2 .headline {
	/*align-items: flex-start;*/
	margin-bottom: 0.5em;
}
#about2 .headline span { color: #888; }

#about2 .topTxt {
	margin-bottom: 2em;
	text-align: center;
}

#about2 .point {
	/*margin-top:1.5em;*/
}
#about2 .point li {
	position: relative;
	padding: 0 0.5em 0 1.5em;
	margin-bottom: 0.6em;
	line-height: 1.5;
}
#about2 .point li .check {
  position: absolute;
  transform: translateX(-110%);
}
#about2 .point li .check:before {
  display: inline-block;
  content: "";
  background:url("../img/vp2020_en/specifications/icon_check.svg") no-repeat 50% 50%; 
  background-size: contain;
  width: 18px;
  height: 18px;
  margin-right: 0.25em;
  vertical-align: middle;
  transform: translateY(-1px);
}

#about2 .point i {
	position: absolute;
	top: 0.25em;
	left: 0;
	color: #077fad;
}
#about2 .point li strong{
	font-size: 1.15em;
}
#about2 .regist {
	color: #0B4DA8;
	margin-top: 1em;
}

#about2 h3{
	margin:0 0 1em;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.1em;
}
#about2 h3::after {
	content: '';
	flex-grow: 1;
	height: 1px;
	background: #CCC;
}
#about2 h3::after { margin-left: 20px;}
#about2 h3 span {
	text-align: center;
	font-size: 1.2em;
	font-weight: bold;
	color: #888;
}

#about2 .pic ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#about2 .pic li {
	position: relative;
	width: calc(50% - 5px);
	margin-bottom: 10px;
}
#about2 .pic li span {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	padding: 0.25em 1em;
	background: rgba(0,0,0,0.6);
	text-align: center;
	font-size: 0.875em;
	color: #FFF;
}

#about2 .bnrVpTrial {
	margin-top: 1em;
	padding: 0;
}
#about2 .bnrVpTrial a{
	/*width: 35%;
	min-width: 480px;*/
}
@media only screen and (max-width:768px) {
	#about2 .flex {
		flex-direction: column;
	}
	#about2 .headline {
		align-items: center;
	}
	#about2 .txt,
	#about2 .pic,
	#about2 .topMovie {
		width: 100%;
		padding: 0;
	}
	#about2 .txt br { display: none; }
	#about2 .youtube {	margin-top: 1em;}
	#about2 .bnrVpTrial a{
		width: 90%;
		min-width:inherit;
	}
}


/* #banLink
------------------------------------------------------*/
#banLink{
	margin: 2em auto 0;
	padding: 0 1em;
}
#banLink a:hover img{
	transition: 0.3s;
	opacity: 0.7;
}
@media only screen and (max-width:768px) {
	#banLink {
		margin-bottom: 1.5em;
	}
}
/* #partner
------------------------------------------------------*/
#partner{
	background-color: #f6f6f6;
	background: #EEE;
}
#partner .inner{
	max-width: 980px;
	margin: 0 auto;
}
#partner header .headline{
	margin-bottom: 1.5em;
	font-weight: 500;
}
#partner header .headline .line {
	background: linear-gradient(transparent 75%,#fffd54 75%);
	position: inherit;
	padding: 0;
	border: none;
}
#partner header h2 .line:after {
	display: none;
}
#partner .conbox{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 2em;
}
#partner .conbox .txt, #partner .conbox .pic {
	width: 48%;
	max-width: 460px;
}
#partner .conbox .txt p{
	margin-bottom: 0.5em;
}
#partner .conbox .txt p:last-child{
	margin-bottom: 0;
}
#partner .btn a{
	color: #FFF;
	border: 1px solid #077fad;
	background: #077fad;
	min-width: 500px;
	height: 70px;
	font-size: 1.2em;
}
#partner .btn a:hover {
	color: #077fad;
	background: #fff;
}
#partner .btn .fa {
	margin-left: 0.5em;
}
@media only screen and (max-width:960px) {
}
@media only screen and (max-width:768px) {
	#partner header .headline{
		margin-bottom: 1em;
	}
	#partner .conbox{
		flex-direction: column;
		margin-bottom: 1em;
	}
	#partner .conbox .txt, #partner .conbox .pic {
		width: 100%;
		max-width:none;
		margin-bottom: 1em;
	}
	#partner .btn a{
		min-width: inherit;
	}
}

