
.V2_utility{
	z-index:auto;
}

.V2_utility .utility,
.V2_utility .pickup_utility{
	position:relative;
	z-index:400;
}

.streaming_cotaner, .streaming_container{
	height:auto;
}

#OVERLAY_SS_info{
	display:none !important;
}

.streaming_hd_contaner iframe{
	vertical-align:middle;
}


/****************************** corner ******************************/

.corner{
	overflow:hidden;
	position:relative;
	width:960px;
	height:850px;
	margin:0 auto;
	background:#222;
}

.corner.loading .carousel-container,
.corner.loading .corner-lineup .image-container,
.corner.loading .corner-lineup .octagon-border{
	opacity:0;
}

.corner.loading::before{
	content:" ";
	display:block;
	position:absolute;
	z-index:5;
	left:0;
	top:0;
	width:960px;
	height:850px;
	background:rgba(0,0,0,0.75);
}

.corner.loading::after{
	content:" ";
	display:block;
	position:absolute;
	z-index:6;
	left:0;
	top:0;
	width:960px;
	height:850px;
	background:url(/img/pr_fgs2025/corner-logo-loading.png) no-repeat center center;
	animation: borderPulseOpacity 1s infinite alternate linear;
}


.corner.loaded .carousel-container,
.corner.loaded .corner-lineup .octagon-border{
	opacity:1;
	transition: opacity 1.5s ease;
	transition-delay:1s;
}

.corner.loaded .corner-lineup .image-container{
	opacity:1;
	transition: opacity 1.5s ease;
}

.corner.loaded .corner-lineup ul li:nth-child(1) .image-container{
	transition-delay:0.1s;
}

.corner.loaded .corner-lineup ul li:nth-child(2) .image-container{
	transition-delay:0.4s;
}

.corner.loaded .corner-lineup ul li:nth-child(3) .image-container{
	transition-delay:0.2s;
}

.corner.loaded .corner-lineup ul li:nth-child(4) .image-container{
	transition-delay:0.5s;
}

.corner.loaded .corner-lineup ul li:nth-child(5) .image-container{
	transition-delay:0.3s;
}

.corner.loaded .corner-lineup ul li:nth-child(6) .image-container{
	transition-delay:0.2s;
}

.corner.loaded .corner-lineup ul li:nth-child(7) .image-container{
	transition-delay:0.4s;
}

.corner.loaded .corner-lineup ul li:nth-child(8) .image-container{
	transition-delay:0.1s;
}


/******************** stage ********************/

.stage{
	position:relative;
	z-index:2;

	display:flex;
	align-items: center;
	justify-content: space-around;
	width:960px;
	height:350px;

	background:url(/img/pr_fgs2025/bg_stage.jpg) no-repeat center top;
	background-size:cover;
}

.stage::before{
	content:" ";
	display:block;
	position:absolute;
	left:0;
	bottom:0;
	width:960px;
	height:150px;
	background: linear-gradient(transparent,#000);
}


/******************** logo ********************/

.corner-logo{
	position:absolute;
	z-index:200;
	left:50%;
	margin-top:-70px;
	margin-left:-250px;
}

.corner-logo img{
	vertical-align:middle;
}


/******************** carousel ********************/

.carousel-container {
	position: relative;
	width: 960px;
	height: calc(216px + 12px + 60px);
	margin: -60px auto 0;
	overflow: hidden;
}

.carousel-wrapper {
	position: relative;
	width: 100%;
	height: 246px;
	overflow: hidden;
}

.carousel-track {
	position: relative;
	width: 100%;
	height: 100%;

	mask-image: linear-gradient(to right, transparent 10%, black 15%, black 85%, transparent 90%);
}


/********** item **********/

.carousel-item {
	z-index: 1;
	display:flex;
	justify-content: center;
	align-items: center;

	position: absolute;
	left: 50%;
	top: 15px;
	width:384px;
	height: 216px;

	will-change: transform;
	transition: transform 0.5s ease-in-out;
}

.carousel-item.active {
	z-index: 3;
}


/***** a *****/

.carousel-item a{
	display:none;
	justify-content: center;
	align-items: center;

	position: relative;
	width: 100%;
	height: 100%;
	background: #000;
	touch-action: pan-x; /* 横方向のスワイプを有効化 */

	will-change: transform;
	transform: scale(0.6);

	transition: transform 0.5s ease-in-out;
}

.carousel-item.active a{
	display:flex;
	transform: scale(1);
}

.carousel-item.visible a{
	display:flex;
}

.carousel-item a::before {
	content:" ";
	display:block;
	position:absolute;
	z-index:2;
	width:80px;
	height:80px;
	background:url(/img/pr_fgs2025/icon_play.png) no-repeat center center;
}


/***** img *****/

.carousel-item img, 
.carousel-item video {
	position:absolute;
	left:0;
	width:100%;
	height: 100%;
	border-radius: 10px;
	vertical-align:middle;
	pointer-events: none; /* 画像の選択を無効化 */

	will-change: opacity;
	transition: opacity 0.5s ease-in-out;

	border: 2px solid #fff;
	box-shadow: 0px 0px 10px 5px #000;
}

.carousel-item img.item-image {
	display:block;
	z-index:3;
}

.carousel-item img.item-webp, 
.carousel-item video {
	display:none;
	z-index:1;
}

.carousel-item.active img.item-image {
	opacity:0;
	transition-delay:1s;
}

.carousel-item.active img.item-webp, 
.carousel-item.active video {
	display:block;
}

.carousel-item.active img.item-webp {
	display:none;
}


/***** title *****/

.carousel-item .title {
	position:absolute;
	z-index:10;
	left:10px;
	top:10px;
	width:0px;
	font-size:11px;
	line-height:11px;
	padding:5px;
	font-weight:bold;
	background:#ff0;
	opacity:0;
	color:rgba(0,0,0,0);
	overflow:hidden;
	white-space: nowrap;
//	letter-spacing:1px;
	transform: skewX(-15deg);
	will-change: width;
}

.carousel-item.active .title {
	opacity:1;
	width:16em;
	color:rgba(0,0,0,1);
	transition: opacity 0.5s linear 0.5s, width 0.25s ease-in 0.5s, color 0.5s linear 1s;
}

.carousel-item.active .title_006 {
	width:25em;
}


/********** interface **********/

.nav-button {
	cursor: pointer;
	position: absolute;
	z-index: 10;
	top: 50%;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 50px;
	height: 50px;
	margin-top:-25px;
	font-size: 50px;
	border-radius: 50%;
	border: none;

	color: #333;
	color: #ff0;
	background: yellow;
	background: transparent;
	text-shadow: 0px 0px 2px #000, 0px 0px 5px #000, 0px 0px 10px #000;
}

.nav-button.prev {
	left: 20px;
	transform: translateY(-50%) rotateZ(90deg) scaleY(0.75);
}

.nav-button.next {
	right: 20px;
	transform: translateY(-50%) rotateZ(-90deg) scaleY(0.75);
}


/********** indicators **********/

.indicators {
	position: absolute;
	bottom: 25px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 10px;
	z-index: 10;
}

.indicator {
//	cursor: pointer;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: white;
	transition: background 0.3s ease;
	box-shadow: 0px 0px 10px 5px #000;
}

.indicator.active {
	background: yellow;
}


/******************** booth ********************/

.corner ul{
	position:absolute;
	z-index:2;

	display:flex;
	flex-wrap:wrap;
	flex-direction: row;
	justify-content: center;
	width:960px;
	height:500px;
	padding:0;
	margin:0 auto;
	perspective: 1000px;
	perspective-origin: top;

	background:#444;
	background:url(/img/pr_fgs2025/bg_booth.jpg) no-repeat center bottom #000;
}

.corner ul::before{
	content:" ";
	display:block;
	position:absolute;
	left:0;
	top:0;
	width:960px;
	height:250px;
	background:linear-gradient(#000,transparent);
}

.corner li{
	position:relative;
	list-style:none;
	display:flex;
	align-items: center;
	justify-content: center;
	padding:0;
	margin:0;
	transform-style: preserve-3d;
}


/********** octagon **********/

.octagon-container {
	position:absolute;
	z-index:1;
	transform-style: preserve-3d;
}

.octagon {
	width: 300px;
	height: 300px;
	background: radial-gradient(#fff, #f5eec9);
	background: radial-gradient(#000, #222);
	background: #000;
	position: relative;
	clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
}

.octagon-back {
	width: 300px;
	height: 300px;
	background: #111;
	background: #000000cc;
	background: #ffffff22;
	position: absolute;
	top: 15px;
	left: 0;
	clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
	opacity: 0.7;
}

.octagon-border {
	position: absolute;
	top: -15px;
	left: 0;
	width: 300px;
	height: 300px;
	pointer-events: none;
}

.octagon-border svg {
	width: 100%;
	height: 100%;
}

.octagon-stroke {
	fill: none;
	stroke: #ff0000;
	stroke: #ff0;
	stroke-width: 6;
	will-change: opacity;
	transform-style: preserve-3d;
//	animation: borderPulse 2s infinite alternate linear;
	transform-origin: center;
	filter: drop-shadow(0 0 5px #ff0);
}

.active-001 .booth_001 .octagon-stroke,
.active-002 .booth_002 .octagon-stroke,
.active-003 .booth_003 .octagon-stroke,
.active-004 .booth_004 .octagon-stroke,
.active-005 .booth_005 .octagon-stroke,
.active-006 .booth_006 .octagon-stroke,
.active-007 .booth_007 .octagon-stroke,
.active-008 .booth_008 .octagon-stroke {
	animation: borderPulseOpacity 1s infinite alternate linear;
}

@keyframes borderPulse {
	0% {
		stroke: #ff0;
	}
	50% {
		stroke: transparent;
	}
	100% {
		stroke: #ff0;
	}
}

@keyframes borderPulseOpacity {
	0% {
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}


/********** image **********/

.image-container{
	position:absolute;
	z-index:10;
	display:flex;
	align-items:center;
	transform-style: preserve-3d;
	transform-origin:bottom;
}

.image-container a{
	cursor:pointer;
	display:flex;
	align-items:center;
	justify-content: center;
	transform-origin:top;
	width:200px;
	height:180px;
//	background:rgba(255,255,255,0.5);
}

.image-container img{
//	will-change: transform;
	vertical-align:middle;
}

.image-container img.logo{
	width:125px;
}

.image-container img.chara{
	height:180px;
}


/********** 001 **********/

.booth_001 .image-container img.logo{
	margin-right:-15px;
}

.corner li:nth-child(1).booth_001 .image-container img.logo,
.corner li:nth-child(3).booth_001 .image-container img.logo,
.corner li:nth-child(4).booth_001 .image-container img.logo,
.corner li:nth-child(8).booth_001 .image-container img.logo{
	margin-left:-10px;
	margin-right:0px;
}

.booth_001 .image-container img.chara{
	height:160px;
}


/********** 002 **********/

.booth_002 .image-container img.logo{
	width:110px;
	margin-right:-20px;
}

.corner li:nth-child(1).booth_002 .image-container img.logo,
.corner li:nth-child(3).booth_002 .image-container img.logo,
.corner li:nth-child(4).booth_002 .image-container img.logo,
.corner li:nth-child(8).booth_002 .image-container img.logo{
	margin-right:0px;
	margin-left:-5px;
}

.booth_002 .image-container img.chara{
	margin-right:-10px;
}


/********** 003 **********/

.booth_003 .image-container img.logo{
	width:130px;
	margin-right:-20px;
}

.corner li:nth-child(1).booth_003 .image-container img.logo,
.corner li:nth-child(3).booth_003 .image-container img.logo,
.corner li:nth-child(4).booth_003 .image-container img.logo,
.corner li:nth-child(8).booth_003 .image-container img.logo{
	margin-right:0px;
	margin-left:-15px;
}

.booth_003 .image-container img.chara{
	margin-bottom:-15px;
}


/********** 004 **********/

.booth_004 .image-container img.logo{
	width:130px;
	margin-right:-50px;
}

.corner li:nth-child(1).booth_004 .image-container img.logo,
.corner li:nth-child(3).booth_004 .image-container img.logo,
.corner li:nth-child(4).booth_004 .image-container img.logo,
.corner li:nth-child(8).booth_004 .image-container img.logo{
	margin-right:0px;
}

.booth_004 .image-container img.chara{
}


/********** 005 **********/

.booth_005 .image-container img.logo{
	width:140px;
	margin-left:-20px;
}

.corner li:nth-child(1).booth_005 .image-container img.logo,
.corner li:nth-child(3).booth_005 .image-container img.logo,
.corner li:nth-child(4).booth_005 .image-container img.logo,
.corner li:nth-child(8).booth_005 .image-container img.logo{
	margin-left:0px;
	margin-right:-20px;
}

.booth_005 .image-container img.chara{
}


/********** 006 **********/

.booth_006 .image-container img.logo{
	width:135px;
	margin-left:-20px;
}

.corner li:nth-child(1).booth_006 .image-container img.logo,
.corner li:nth-child(3).booth_006 .image-container img.logo,
.corner li:nth-child(4).booth_006 .image-container img.logo,
.corner li:nth-child(8).booth_006 .image-container img.logo{
	margin-left:0px;
	margin-right:-20px;
}

.booth_006 .image-container img.chara{
	margin-left:-10px;
}

.corner li:nth-child(1).booth_006 .image-container img.chara,
.corner li:nth-child(3).booth_006 .image-container img.chara,
.corner li:nth-child(4).booth_006 .image-container img.chara,
.corner li:nth-child(8).booth_006 .image-container img.chara{
	margin-left:0px;
	margin-right:-10px;
}


/********** 007 **********/

.booth_007 .image-container img.logo{
	width:140px;
	margin-right:-30px;
}

.corner li:nth-child(1).booth_007 .image-container img.logo,
.corner li:nth-child(3).booth_007 .image-container img.logo,
.corner li:nth-child(4).booth_007 .image-container img.logo,
.corner li:nth-child(8).booth_007 .image-container img.logo{
	margin-right:0px;
	margin-left:-10px;
}

.booth_007 .image-container img.chara{
}


/********** 008 **********/

.booth_008 .image-container img.logo{
	margin-right:-10px;
}

.corner li:nth-child(1).booth_008 .image-container img.logo,
.corner li:nth-child(3).booth_008 .image-container img.logo,
.corner li:nth-child(4).booth_008 .image-container img.logo,
.corner li:nth-child(8).booth_008 .image-container img.logo{
	margin-right:0px;
	margin-left:-10px;
}

.booth_008 .image-container img.chara{
	height:170px;
}


/********** nth(1) **********/

.corner li:nth-child(1){
	z-index:1;
}

.corner li:nth-child(1) .image-container a{
	flex-direction: row-reverse;
}

.corner li:nth-child(1) .image-container{
	top:-80px;
	transform: translate3d(-120px, 0px, 0px) scale(0.7);
}

.corner li:nth-child(1) .octagon-container{
	top:0px;
	transform: translate3d(-200px, 0px, -600px);
}


/********** nth(2) **********/

.corner li:nth-child(2){
	z-index:1;
}

.corner li:nth-child(2) .image-container{
	top:-80px;
	transform: translate3d(120px, 0px, 0px) scale(0.7);
}

.corner li:nth-child(2) .octagon-container{
	top:0px;
	transform: translate3d(200px, 0px, -600px);
}


/********** nth(3) **********/

.corner li:nth-child(3){
	z-index:2;
}

.corner li:nth-child(3) .image-container a{
	flex-direction: row-reverse;
}

.corner li:nth-child(3) .image-container{
	top:-10px;
	transform: translate3d(-310px, 0px, 0px) scale(0.8);
}

.corner li:nth-child(3) .octagon-container{
	top:50px;
	transform: translate3d(-400px, 0px, -250px);
}


/********** nth(4) **********/

.corner li:nth-child(4){
	z-index:3;
}

.corner li:nth-child(4) .image-container a{
	flex-direction: row-reverse;
}

.corner li:nth-child(4) .image-container{
	top:40px;
	transform: translate3d(10px, 0px, 0px) scale(0.8);
}

.corner li:nth-child(4) .octagon-container{
	top:75px;
	transform: translate3d(0px, 0px, -100px);
}


/********** nth(5) **********/

.corner li:nth-child(5){
	z-index:2;
}

.corner li:nth-child(5) .image-container{
	top:-10px;
	transform: translate3d(310px, 0px, 0px) scale(0.8);
}

.corner li:nth-child(5) .octagon-container{
	top:50px;
	transform: translate3d(400px, 0px, -250px);
}


/********** nth(6) **********/

.corner li:nth-child(6){
	z-index:4;
}

.corner li:nth-child(6) .image-container{
	top:140px;
	transform: translate3d(-300px, 0px, 0px);
}

.corner li:nth-child(6) .octagon-container{
	top:170px;
	transform: translate3d(-300px, 0px, -50px) rotate(1deg);
}


/********** nth(7) **********/

.corner li:nth-child(7){
	z-index:100;
}

.corner li:nth-child(7) .image-container{
	top:240px;
	transform: translate3d(0px, 0px, 0px) scale(1.2);
}

.corner li:nth-child(7) .octagon-container{
	top:300px;
	transform: translate3d(0px, 0px, -140px) scale(1.2);
}


/********** nth(8) **********/

.corner li:nth-child(8){
	z-index:4;
}

.corner li:nth-child(8) .image-container a{
	flex-direction: row-reverse;
}

.corner li:nth-child(8) .image-container{
	top:140px;
	transform: translate3d(300px, 0px, 0px);
}

.corner li:nth-child(8) .octagon-container{
	top:170px;
	transform: translate3d(300px, 0px, -50px) rotate(-1deg);
}


/********** rotate **********/

.octagon,
.octagon-border,
.octagon-back{
	transform: rotateX(88deg);
}

.corner li:nth-child(1) .octagon,
.corner li:nth-child(1) .octagon-border,
.corner li:nth-child(1) .octagon-back,
.corner li:nth-child(2) .octagon,
.corner li:nth-child(2) .octagon-border,
.corner li:nth-child(2) .octagon-back{
	transform: rotateX(81.5deg);
}

.corner li:nth-child(3) .octagon,
.corner li:nth-child(3) .octagon-border,
.corner li:nth-child(3) .octagon-back,
.corner li:nth-child(5) .octagon,
.corner li:nth-child(5) .octagon-border,
.corner li:nth-child(5) .octagon-back{
	transform: rotateX(84deg);
}

.corner li:nth-child(4) .octagon,
.corner li:nth-child(4) .octagon-border,
.corner li:nth-child(4) .octagon-back{
	transform: rotateX(85deg);
}


/********** position **********/

.corner li:nth-child(1) .image-container,
.corner li:nth-child(3) .image-container,
.corner li:nth-child(4) .image-container,
.corner li:nth-child(8) .image-container{
	flex-direction: row-reverse;
}



/****************************** lineup ******************************/

.right_contents{
	border-top: 1px solid #666666;
	margin-top: calc(220px + 850px + 384px);
}

.banner-lineup{
	width:960px;
	margin:0 auto;
	background:#000;
	border-bottom:10px solid #fff;
}

.heading_lineup{
	position:relative;
	width:900px;
	margin:0 auto;
	padding:10px 0;
	text-align:center;
	font-weight:bold;
	font-size:14px;
	line-height:14px;
	color:#fff;
	background:#00a1ff;
	background: linear-gradient(90deg, #9400ff, #00a1ff);
//	box-shadow:-1px 0px 0px 0px #00a1ff, 1px 0px 0px 0px #00a1ff;
}

.heading_lineup::before,
.heading_lineup::after{
	content:"";
	position:absolute;
	top:0;
	display:block;
	width:0px;
	height:0px;
	border-style: solid;
	border-width: 17px;
	border-top-color: transparent;
	border-bottom-color: transparent;
}

.heading_lineup::before{
	left:-17px;
	border-left:none;
	border-right-color: #9400ff;
}

.heading_lineup::after{
	right:-17px;
	border-right:none;
	border-left-color: #00a1ff;
}


/********** banner **********/

.banner-lineup ul{
	display:flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap:20px;
	padding: 20px;
}

.banner-lineup li{
	position:relative;
	display:inline-block;
	width:215px;
	height:140px;
	background:#ff0;
	clip-path: polygon(8% 0, 100% 0, 100% 87%, 92% 100%, 0 100%, 0 13%);
}

.banner-lineup li:before{
	content:"";
	display:block;
	position:absolute;
	inset:2px;
	z-index:-1;
	background:#333;
	background:linear-gradient(135deg, #cc3 60%, #333 60%, #333 62%, #cc3 62%, #cc3 63%, #333 63%, #333 100%);
	clip-path: polygon(8% 0, 100% 0, 100% 87%, 92% 100%, 0 100%, 0 13%);
}

.banner-lineup li a{
	overflow:hidden;
	position:relative;
	display:flex;
	align-items: center;
	justify-content: space-between;
	width:211px;
	height:136px;
	margin:2px 0 0 2px;
}

.banner-lineup li a::before{
	content:"詳細をみる";
	display:block;
	position:absolute;
	z-index:2;
	right:0;
	bottom:0;
	height:10px;
	padding:0.5em 2em 0.5em 1em;
	font-size:10px;
	font-weight:bold;
	line-height:11px;
	color:#000;
	background:#ff0;
//	box-shadow:-1px 0px 0px 0px #ff0;
}

.banner-lineup li a::after{
	content:" ";
	display:block;
	position:absolute;
	z-index:2;
	right:8em;
	bottom:0;
	width:0;
	height:0;
	font-size:10px;
	line-height:10px;

	border-style: solid;
	border-width: 2em;
	border-top-color: transparent;
	border-bottom-color: #ff0;
	border-right:none;
	border-left-color: transparent;
}


/********** img **********/

.banner-lineup li .banner-logo,
.banner-lineup li .banner-chara{
	position:absolute;
	max-width:211px;
}

.banner-lineup li .banner-logo{
	z-index:2;
	max-width:120px;
}

.banner-lineup li .banner-chara{
	z-index:1;
	top:0px;
	right:0px;
}


/***** 001 *****/

.banner-lineup .lineup_001 .banner-logo{
}

.banner-lineup .lineup_001 .banner-chara{
	right:-20px;
}


/***** 002 *****/

.banner-lineup .lineup_002 .banner-logo{
	width:100px;
}

.banner-lineup .lineup_002 .banner-chara{
	top:-7px;
	right:-50px;
	width:185px;
}


/***** 003 *****/

.banner-lineup .lineup_003 .banner-logo{
}

.banner-lineup .lineup_003 .banner-chara{
	top:-5px;
	right:0px;
}


/***** 004 *****/

.banner-lineup .lineup_004 .banner-logo{
	max-width:125px;
}

.banner-lineup .lineup_004 .banner-chara{
	top:0px;
	right:-10px;
	max-width:240px;
}


/***** 005 *****/

.banner-lineup .lineup_005 .banner-logo{
}

.banner-lineup .lineup_005 .banner-chara{
	top:0px;
	right:-5px;
	width:130px;
}


/***** 006 *****/

.banner-lineup .lineup_006 .banner-logo{
	left:-5px;
	width:120px;
}

.banner-lineup .lineup_006 .banner-chara{
	top:0px;
	right:-5px;
	width:120px;
}


/***** 007 *****/

.banner-lineup .lineup_007 .banner-logo{
}

.banner-lineup .lineup_007 .banner-chara{
	top:-5px;
	right:5px;
	width:130px;
}


/***** 008 *****/

.banner-lineup .lineup_008 .banner-logo{
}

.banner-lineup .lineup_008 .banner-chara{
	width:190px;
	right:-10px;
}


/******************** hover ********************/

.fgs2025.select_001 .booth_001 a img,
.fgs2025.select_001 .lineup_001 a img,
.fgs2025.select_002 .booth_002 a img,
.fgs2025.select_002 .lineup_002 a img,
.fgs2025.select_003 .booth_003 a img,
.fgs2025.select_003 .lineup_003 a img,
.fgs2025.select_004 .booth_004 a img,
.fgs2025.select_004 .lineup_004 a img,
.fgs2025.select_005 .booth_005 a img,
.fgs2025.select_005 .lineup_005 a img,
.fgs2025.select_006 .booth_006 a img,
.fgs2025.select_006 .lineup_006 a img,
.fgs2025.select_007 .booth_007 a img,
.fgs2025.select_007 .lineup_007 a img,
.fgs2025.select_008 .booth_008 a img,
.fgs2025.select_008 .lineup_008 a img{
	will-change: filter;
	animation: boothHover 1s infinite linear;
}

@keyframes boothHover {
	0% {
		filter: brightness(1);
	}
	25% {
		filter: brightness(2);
	}
	50% {
		filter: brightness(1);
	}
	75% {
		filter: brightness(0.5);
	}
	100% {
		filter: brightness(1);
	}
}


/****************************** popup article ******************************/

#OVERLAY_POPUPFIXED{
	display:inline !important;
}

#COPY_POPUPFIXED{
}

.popup_article.hidden,
.popup_article .article_container {
	display:none;
}

.visible_001 .aricle_001,
.visible_002 .aricle_002,
.visible_003 .aricle_003,
.visible_004 .aricle_004,
.visible_005 .aricle_005,
.visible_006 .aricle_006,
.visible_007 .aricle_007,
.visible_008 .aricle_008{
	display:block;
}

.popup_article{
	position:fixed;
	z-index:888;
	top:0;
	left:0;
	display: flex;
	align-items: center;
	justify-content: center;
	display:flex;
	width:100%;
	height:100%;
}

.popup_article .article_container{
	position:absolute;
	z-index:2;
	top:0;
	background:#fff;
	top: calc(5% - 0px);
	height: calc(90% - 60px);
	padding: 40px 20px;
	border-radius:10px;
	box-sizing:border-box;
}

.popup_article .article_container .origine{
	position:absolute;
	left:90px;
	bottom:-70px;
	display:block;
	width:420px;
	height:50px;
	font-weight:bold;
	line-height:20px;
	text-align:center;
	padding:15px 20px;
	background:#ff0;
	color:#000;
	text-decoration:none;
	box-sizing:border-box;
}

.popup_article .article_container .origine::before,
.popup_article .article_container .origine::after{
	content:"";
	display:block;
	position:absolute;
	top:0;
	height:0px;
	width:0px;
}

.popup_article .article_container .origine::before{
	left:-20px;
	border-top:0px solid transparent;
	border-left:20px solid transparent;
	border-right:0px solid transparent;
	border-bottom:50px solid #ff0;
}

.popup_article .article_container .origine::after{
	right:-20px;
	border-top:50px solid #ff0;
	border-left:0px solid transparent;
	border-right:20px solid transparent;
	border-bottom:0px solid transparent;
}


/********** close **********/

.popup_article_bg{
	cursor:pointer;
	position:absolute;
	z-index:1;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.75);
}

.popup_article_close{
	cursor:pointer;
	overflow:hidden;
	display:block;
	position:absolute;
	z-index:110;
	top:-15px;
	right:-15px;

	width:20px;
	height:20px;
	padding:10px;
	font-size:20px;
	line-height:20px;
	color:#000;
	background:#fff;
	background:url(/img/pr_fgs2025/baseline_close_black_48dp.png) no-repeat center center #ff0;
	background-size:30px;
	text-indent:-9999px;
	border-radius:50%;
}


/****************************** maintxt ******************************/

.maintxt{
	overflow-y:scroll;
	overscroll-behavior:none;
	scroll-behavior: smooth;

	width:550px;
	height:100%;
	line-height:160%;
}

#POPUP_ARTICLE .maintxt .article_container_heading{
	padding:1em 0;
	margin:0 0 2em;
	font-weight:bold;
	font-size:125%;
	line-height:150%;
	border-top:4px double #bbb;
	border-bottom:4px double #bbb;
	border-left:none;
	border-image-source:linear-gradient(90deg, #9400ff, #00a1ff);
	border-image-slice: 1;
	color:#3333cc;
}


/******************** blockquote ********************/

.maintxt i.def{}
.maintxt .text_box_def,
.maintxt .text_box_01,
.maintxt .text_box_02,
.maintxt .text_box_03,
.maintxt blockquote.def,
.maintxt blockquote.text_box_01,
.maintxt blockquote.text_box_02,
.maintxt blockquote.text_box_03,
.maintxt .text_box,
.maintxt .text_box_yellow,
.maintxt .text_box_blue,
.maintxt .text_box_green,
.maintxt blockquote.text_box,
.maintxt blockquote.text_box_yellow,
.maintxt blockquote.text_box_blue,
.maintxt blockquote.text_box_green{
	padding:1em;
	margin:0 1em;
	padding:15px;
	margin:0 15px;
	background:#f3f3f3;
	border:1px solid #999999;
	height:100%;
	word-wrap:break-word;
}

.maintxt .text_box_01,
.maintxt blockquote.text_box_01,
.maintxt .text_box_yellow,
.maintxt blockquote.text_box_yellow{
	background:#fcfcf3;
}

.maintxt .text_box_02,
.maintxt blockquote.text_box_02,
.maintxt .text_box_blue,
.maintxt blockquote.text_box_blue{
	background:#f4f9ff;
}

.maintxt .text_box_03,
.maintxt blockquote.text_box_03,
.maintxt .text_box_green,
.maintxt blockquote.text_box_green{
	background:#f5faf7;
}


/******************** CARDVIEW ********************/

.CARDVIEW{
	padding:15px 10px;
	margin:10px;
	border:1px dotted #999;
	border-radius:4px;
	background:#fff;
}

.CARDVIEW:after{
	content:" ";
	clear:both;
	height:0;
	display:block;
}


/*********** CARD **********/

.maintxt .CARDVIEW.CARD h2{
	float:right;
	width:350px;
	padding:0;
	margin:0;
	font-size:95%;
	line-height:140%;
	border:none;
}

.maintxt .CARDVIEW.CARD h2 a{
	text-decoration:none;
}

.maintxt .CARDVIEW.CARD h2 a:hover{
	text-decoration:underline;
}
.maintxt .CARDVIEW.CARD .img_right_top{
	float:left;
	margin:0px 10px 0px 0;
}

.maintxt .CARDVIEW.CARD p{
	float:right;
	width:350px;
	margin:5px 0 0;
	font-size:75%;
	line-height:150%;
}

.maintxt .CARDVIEW.CARD .published_time,
.maintxt .CARDVIEW.CARD .timestamp{
	display:none;
}


/*********** CARD5 **********/

.maintxt .CARDVIEW.CARD5 h2{
	float:right;
	width:240px;
	padding:0;
	margin:0;
	font-size:95%;
	line-height:140%;
	border:none;
}

.maintxt .CARDVIEW.CARD5 h2 a{
	text-decoration:none;
}

.maintxt .CARDVIEW.CARD5 h2 a:hover{
	text-decoration:underline;
}

.maintxt .CARDVIEW.CARD5 .img_right_top{
	position:static;
	float:left;
	width:240px;
	height:180px;
	margin:0px 10px 0 0;
}

.maintxt .CARDVIEW.CARD5 p{
	float:right;
	font-size:75%;
	line-height:150%;
	width:350px;
	margin:5px 0 0;
}

.maintxt .CARDVIEW.CARD5 .published_time,
.maintxt .CARDVIEW.CARD5 .timestamp{
	display:none;
}


/********** oneline **********/

.maintxt .CARDVIEW .oneline h2{
	float:none;
	width:auto !important;
	margin:15px auto 0px;
}

.maintxt .CARDVIEW .oneline h2 + a{
	display:none;
}

.maintxt .CARDVIEW_CONTAINER > span:empty + .CARDVIEW .oneline h2{
	margin:0 auto !important;
}


/********** oneline_thumb **********/

.maintxt .CARDVIEW.CARD .oneline_thumb h2{
	float:right;
	width:350px !important;
	padding:0;
	margin:0;
	font-size:95%;
	line-height:140%;
	border:none;
}

.maintxt .CARDVIEW.CARD5 .oneline_thumb h2{
	float:right;
	width:240px !important;
	padding:0;
	margin:0;
	font-size:95%;
	line-height:140%;
	border:none;
}

.maintxt .CARDVIEW .oneline_thumb h2 + a{
	display:block;
}

.maintxt .CARDVIEW .oneline_thumb h2 + a .img_right_top{
	display:block;
}


/********** coloring **********/

#POPUP_ARTICLE .maintxt .emphasis{
	background:#f0f0f0;
	padding:4px 5px;
	position:relative;
	display:table;
	height:52px;
	width:500px;
	margin:0 auto;
	border:none;
}

#POPUP_ARTICLE .maintxt .emphasis a{
	display:table-cell;
	border-radius:4px;
	border:none;
	text-decoration:none;
	line-height:130%;
	font-size:15px;
	font-weight:bold;
	text-align:center;
	padding:6px 60px 4px 75px;
	padding-right:45px;
	vertical-align:middle;
	border:none;
	border-right:2px solid #000000;
	border-bottom:2px solid #000000;
	height:40px;
	color:#cc0000 !important;
	background-image:-moz-linear-gradient(top,#ffde47,#f0c040);
	background-image:-webkit-gradient(linear,left top,left bottom,from(#ffde47),to(#f0c040));
	background:linear-gradient(to bottom, #ffde47, #f0c040);
	text-shadow:1px 1px 0px #ffdd66;
}

#POPUP_ARTICLE .maintxt .emphasis a:before{
	position:absolute;
	top:0px;
	bottom:0px;
	margin:auto;
	left:5px;
	content:" ";
	width:56px;
	z-index:100;
	margin:6px auto 6px;
	background:url(https://www.4gamer.net/image/bg_button_emphasis_right.png) no-repeat left center;
	border-right:1px solid #ddbb33;
	box-shadow:1px 0px 0px #ffdd66;
}

#POPUP_ARTICLE .maintxt .emphasis:hover a{
	border:none;
	border-left:2px solid #000000;
	border-top:2px solid #000000;
	color:#ffffff;
	text-decoration:underline;
}

#POPUP_ARTICLE .maintxt .emphasis:hover a:before{
	top:2px;
	left:6px;
}


/********** heading **********/

#POPUP_ARTICLE .maintxt h2{
	padding-left:12px;
	font-size:125%;
	border-left:10px solid #3333cc;
	color:#3333cc;
}

#POPUP_ARTICLE .maintxt h4{
	font-size:110%;
	color:#3333cc;
}

#POPUP_ARTICLE .maintxt h6{
	font-size:100%;
	color:#3333cc;
}


/********** table **********/

#POPUP_ARTICLE .maintxt table.img_right_top{
	float:right;
	margin:0 0 4px 4px;
	background:#e5e5e5;
}

#POPUP_ARTICLE .maintxt table.img_left_top{
	float:left;
	margin:0 12px 8px 0;
	background:#e5e5e5;
}

#POPUP_ARTICLE .maintxt table.img_right_top{
	margin:0 0 8px 8px;
}

#POPUP_ARTICLE .maintxt table.img_left_top{
	margin:0 8px 8px 0;
}

#POPUP_ARTICLE .maintxt table.img_center{
	margin:0 auto 0;
	background:#e5e5e5;
}

#POPUP_ARTICLE .maintxt table.img_right_top td,
#POPUP_ARTICLE .maintxt table.img_left_top td,
#POPUP_ARTICLE .maintxt table.img_center td{
	vertical-align:top;
}

#POPUP_ARTICLE .maintxt table.img_right_top td.cap,
#POPUP_ARTICLE .maintxt table.img_left_top td.cap,
#POPUP_ARTICLE .maintxt table.img_center td.cap{
	vertical-align:top;
	line-height:125%;
	padding:0 2px 2px;
	background:#e5e5e5;
	text-align:left;
	font-size:12px;
}

#POPUP_ARTICLE .maintxt table.img_right_top td div.cap,
#POPUP_ARTICLE .maintxt table.img_left_top td div.cap,
#POPUP_ARTICLE .maintxt table.img_center td div.cap{
	vertical-align:top;
	line-height:125%;
	padding:2px 2px 2px;
	background:#e5e5e5;
	text-align:left;
	font-size:12px;
}

#POPUP_ARTICLE .maintxt table.img_right_top caption.cap,
#POPUP_ARTICLE .maintxt table.img_left_top caption.cap,
#POPUP_ARTICLE .maintxt table.img_center caption.cap{
	caption-side:bottom;
	line-height:125%;
	padding:0 4px 2px;
	text-align:left;
	background:#e5e5e5;
	font-size:12px;
}
#POPUP_ARTICLE .maintxt table.img_center caption.cap{
	margin:0 auto;
}


/******************** CARDVIEW ********************/
#POPUP_ARTICLE .maintxt .CARDVIEW{
	padding:15px 10px;
	margin:10px;
	border:1px dotted #999;
	border-radius:4px;
	background:#fff;
}
#POPUP_ARTICLE .maintxt .CARDVIEW:after{
	content:" ";
	clear:both;
	height:0;
	display:block;
}
/*********** CARD **********/
#POPUP_ARTICLE .maintxt .CARDVIEW.CARD h2{
	float:right;
	width:360px;
	padding:0;
	margin:0;
	font-size:95%;
	line-height:140%;
	border:none;
}
#POPUP_ARTICLE .maintxt .CARDVIEW.CARD h2 a{
	text-decoration:none;
}
#POPUP_ARTICLE .maintxt .CARDVIEW.CARD h2 a:hover{
	text-decoration:underline;
}
#POPUP_ARTICLE .maintxt .CARDVIEW.CARD .img_right_top{
	float:left;
	margin:0px 10px 0px 0;
}
#POPUP_ARTICLE .maintxt .CARDVIEW.CARD p{
	float:right;
	width:360px;
	margin:5px 0 0;
	font-size:75%;
	line-height:150%;
}
#POPUP_ARTICLE .maintxt .CARDVIEW.CARD .published_time,
#POPUP_ARTICLE .maintxt .CARDVIEW.CARD .timestamp{
	display:none;
}
/*********** CARD5 **********/
#POPUP_ARTICLE .maintxt .CARDVIEW.CARD5 h2{
	float:right;
	width:240px;
	padding:0;
	margin:0;
	font-size:95%;
	line-height:140%;
	border:none;
}
#POPUP_ARTICLE .maintxt .CARDVIEW.CARD5 h2 a{
	text-decoration:none;
}
#POPUP_ARTICLE .maintxt .CARDVIEW.CARD5 h2 a:hover{
	text-decoration:underline;
}
#POPUP_ARTICLE .maintxt .CARDVIEW.CARD5 .img_right_top{
	position:static;
	float:left;
	width:240px;
	height:180px;
	margin:0px 10px 0 0;
}
#POPUP_ARTICLE .maintxt .CARDVIEW.CARD5 p{
	float:right;
	font-size:75%;
	line-height:150%;
	width:360px;
	margin:5px 0 0;
}
#POPUP_ARTICLE .maintxt .CARDVIEW.CARD5 .published_time,
#POPUP_ARTICLE .maintxt .CARDVIEW.CARD5 .timestamp{
	display:none;
}
/********** oneline **********/
#POPUP_ARTICLE .maintxt .CARDVIEW .oneline h2{
	float:none;
	width:auto !important;
	margin:15px auto 0px;
}
#POPUP_ARTICLE .maintxt .CARDVIEW .oneline h2 + a{
	display:none;
}
#POPUP_ARTICLE .maintxt .CARDVIEW_CONTAINER > span:empty + .CARDVIEW .oneline h2{
	margin:0 auto !important;
}
/********** oneline_thumb **********/
#POPUP_ARTICLE .maintxt .CARDVIEW.CARD .oneline_thumb h2{
	float:right;
	width:360px !important;
	padding:0;
	margin:0;
	font-size:95%;
	line-height:140%;
	border:none;
}
#POPUP_ARTICLE .maintxt .CARDVIEW.CARD5 .oneline_thumb h2{
	float:right;
	width:240px !important;
	padding:0;
	margin:0;
	font-size:95%;
	line-height:140%;
	border:none;
}
#POPUP_ARTICLE .maintxt .CARDVIEW .oneline_thumb h2 + a{
	display:block;
}
#POPUP_ARTICLE .maintxt .CARDVIEW .oneline_thumb h2 + a .img_right_top{
	display:block;
}


/******************** QR ********************/
/********** ios **********/
#POPUP_ARTICLE .maintxt .emphasis.iTunes a,
#POPUP_ARTICLE .maintxt .emphasis.GooglePlay a{
	color:#ffffff !important;
}
#POPUP_ARTICLE .maintxt .emphasis.iTunes a{
	background-image:-moz-linear-gradient(top,#9d9d9d,#747474);
	background-image:-webkit-gradient(linear,left top,left bottom,from(#9d9d9d),to(#747474));
	background:linear-gradient(to bottom, #9d9d9d, #747474);
	text-shadow:-1px -1px 0px #666666;
}
#POPUP_ARTICLE .maintxt .emphasis.iTunes a:before{
	background:url(/image/bg_button_emphasis_ios.png) no-repeat left center;
	border-right:1px solid #646464;
	box-shadow:1px 0px 0px #909090;
}
/********** android **********/
#POPUP_ARTICLE .maintxt .emphasis.GooglePlay a{
	background-image:-moz-linear-gradient(top,#a4c306,#8ba600);
	background-image:-webkit-gradient(linear,left top,left bottom,from(#a4c306),to(#8ba600));
	background:linear-gradient(to bottom, #a4c306, #8ba600);
	text-shadow:-1px -1px 0px #819406;
}
#POPUP_ARTICLE .maintxt .emphasis.GooglePlay a:before{
	background:url(/image/bg_button_emphasis_android.png) no-repeat left center;
	border-right:1px solid #7a9200;
	box-shadow:1px 0px 0px #b0c933;
}
/******************** POPUP制御 ********************/
.unit_contents .emphasis .QRCODE_POPUP{
	display:none;
}
.unit_contents .emphasis:hover .QRCODE_POPUP{
	display:block;
	position:absolute;
	z-index:300;
	right:0;
	top:0px;
	left:auto;
	top:0;
	margin:auto;
	margin-top:-233px;
	background:#ffffff;
	box-shadow:0px 0px 5px 0px #000000;
	padding:10px;
	border-radius:10px;
	border:5px solid #000000;
	width:228px;
	height:228px;
}
.unit_contents .emphasis:hover .QRCODE_POPUP:before{
	top:100%;
	right:8px;
	border:solid transparent;
	content:" ";
	height:0;
	width:0;
	position:absolute;
	pointer-events:none;
	border-color:rgba(000, 000, 000, 0);
	border-top-color: #000000;
	border-width: 22px;
	margin-left: -22px;
}
.unit_contents .emphasis:hover .QRCODE_POPUP:after{
	top:100%;
	right:15px;
	border:solid transparent;
	content:" ";
	height:0;
	width:0;
	position:absolute;
	pointer-events:none;
	border-color:rgba(255, 255, 255, 0);
	border-top-color: #ffffff;
	border-width: 15px;
	margin-left: -15px;
}
.unit_contents .emphasis .QRCODE_POPUP img{
	width:228px;
	height:228px;
}
/********** QRアイコン **********/
.unit_contents #POPUP_ARTICLE .maintxt .emphasis.QRCODE a,
.unit_contents #POPUP_ARTICLE .maintxt .emphasis.MARKET a{
	padding:6px 55px 4px 75px;
}
#POPUP_ARTICLE .maintxt .emphasis.QRCODE a:after,
#POPUP_ARTICLE .maintxt .emphasis.MARKET a:after{
	background:url(/image/bg_button_emphasis_qr.png) no-repeat left center;
	position:absolute;
	top:-2px;
	bottom:0px;
	margin:auto;
	right:14px;
	content:" ";
	width:42px;
}
#POPUP_ARTICLE .maintxt .emphasis.QRCODE:hover a:after,
#POPUP_ARTICLE .maintxt .emphasis.MARKET:hover a:after{
	top:0px;
	right:13px;
}

