@charset "utf-8";



/*リセットcss*/
html {font-size: 100%; overflow-y: scroll; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body{box-sizing: border-box;color:#fff;background:#000;font-size:100%;text-align:center;font-family: YakuHanJP_Noto,Noto Sans JP,sans-serif;}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{margin:0;padding:0;}
table{border-collapse:collapse;border-spacing:0;}
img{border:0; vertical-align:bottom;}
em,strong,th{font-style:inherit;font-weight:inherit;font-style:normal;}
li{list-style:none;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}
input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;}
input,button,textarea,select{*font-size:100%;}
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { *zoom: 1; }

@font-face { 
	font-family: 'inf';
	src: url(inf.eot);
	}

@font-face { 
	font-family: 'inf';
	src: url('inf.eot?') format('oldIE'), url('inf.woff') format('woff'), url('inf.ttf') format('truetype');
	}

.webfonts{
	font-family: 'inf';
	}

a{
	color: #d3ffff;
	text-decoration: none;
	}

a:hover {
	color: #fff;
	text-shadow: #30EEFF 0px 0px 2px, #4BBEFF 0px 0px 4px;
	}


a {
	transition: all  0.5s ease;
	}



h2{
	font-family: 'inf';
	font-size: 2em;
	line-height: 1.2;
	text-align: left;
	padding: 5px;
	margin: 0 0 1em;
	color: #fff;
	letter-spacing: 0;
	border-bottom: 2px #7B7B7B solid;
	}

h3 {
	padding-left: 0.5em;
	font-size: 1.4em;
	font-weight: 600;
	letter-spacing: 0.01em;
	}

h4 {
	padding-left: 0.5em;
	font-size: 1.2em;
	font-weight: 500;
	letter-spacing: 0.01em;
	}

p {
	padding: 1em;
	line-height: 1.8;
	}

@media only screen and (max-width: 768px) {
	h2 {font-size: 1.4em;}
	h3 {font-size: 1.2em;}
	h4 {font-size: 1.1em;}
	}


@media only screen and (max-width: 480px) {
	h2 {font-size: 1.2em;}
	h3 {font-size: 1.1em;}
	h4 {font-size: 1.0em;}
	p {font-size: 0.9em;}
	}



.sponly {display: none;}
.pconly {display: inline;}

@media only screen and (max-width: 768px) {
	.sponly {display: inline;}
	.pconly {display: none;}
	}

/*table*/
table.folding {
	margin:0 auto 60px;
	width:calc(100% - 10px);
	}

table.folding th {
	font-weight: 500;
	padding: 0.5em 1em;
	border-bottom: 1px solid rgba(255,255,255, 0.3);
	letter-spacing: .2em;
	text-align: left;
	vertical-align: middle;
	width: inherit!important;
	/*background-color: #1F1F1F;*/
	background-color: rgba(84,0,24,0.4);
	}

table.folding td {
	padding: 14px 30px;
	border-bottom: 1px solid rgba(255,255,255, 0.3);
	font-size: 14px;
	line-height: 2.2;
	vertical-align: middle;
	width: auto!important;
	/*background-color: #0F0F0F;*/
	background-color: rgba(9,13,49,0.5);
	}

table.folding tr:first-child > th, table.folding tr:first-child > td {
	border-top: 1px solid rgba(255,255,255, 0.3);
	} 

@media screen and (max-width:768px) {
	table.folding　{
		width: 100%;
		margin: 0 auto 60px;
		border: 1px solid rgba(45,45,45,.1);
		}

	table.folding tr {
		display: flex;
		flex-direction: column;
		}

	table.folding th {
		padding: 1em;
		font-size: 0.9em;
		font-weight: 400;
		border-bottom: none;
		border-top: 0;
		}

	table.folding td {
		font-size: 0.9em;
		padding-bottom: 1em;
		/*border-bottom: none;*/
		}

	table.folding tr:first-child > td  {
		border-top: none;
		} 
	}


header {
	box-sizing: border-box;
	padding: 0;
	margin: 0;
	width: 100%;
	height: 100vh;
	background: url("../images/img_250326_siigevo_bg_pc.webp") top center no-repeat;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	}

header img {
	display: block;
	width: 100%;
	}

h1 {
	width: 50%;
	max-width: 1200px;
	margin:	0;
	z-index: 2;
	align-items: center;
	opacity: 0;
	animation: 1s ease-out 0.5s 1 normal forwards fadeanim;
	}

@keyframes fadeanim {
	0%		{opacity: 0;transform: translateY(-50%);}
	50%		{opacity: 1;}
	100%	{opacity: 1;transform: translateY(-40%);}
	}


@media only screen and (max-width: 768px) {
	h1 {width: 80%;}
	}

@media only screen and (max-width: 480px) {
	h1 {width: 90%;}
	}

/*言語選択*/
ul.languageSelect {
	box-sizing: border-box;
	position: absolute;
	top: 10px;
	right: 10px;
	display: flex;
	font-size: 1.4em;
	z-index: 10;
	}

ul.languageSelect li {
	padding: 0.5em 1em;
	background-color: rgba(0,0,0,0.3);
	}

ul.languageSelect li::before {
	content: "■";
	}

ul.languageSelect li:has(a)::before {
	content: "　";
	}

ul.languageSelect li:has(a):hover::before {
	color: #d3ffff;
	content: "■";
	}

@media only screen and (max-width: 768px) {
	ul.languageSelect {
		font-size: 1.1em;
		}
	
	ul.languageSelect li {
		padding: 0.5em;
		}
	}



main {
	box-sizing: border-box; 
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
	padding: 0;
	text-align: left;
	letter-spacing: 0.1em;
	}

@media only screen and (max-width: 768px) {
	main {padding: 0;}
	}




section {
	box-sizing: border-box;
	padding: 80px;
	margin-bottom: 30px;
	/*border-bottom: 2px #333 solid;*/
	}



@media only screen and (max-width: 768px) {
	section {
		padding: 40px;
		margin-bottom: 40px;
		}
	}


@media only screen and (max-width: 480px) {
	section {
		padding: 20px;
		margin-bottom: 40px;
		}
	}



.newsBox {
	height: 100px;
	overflow: auto;
	
}

ul.newsBox {
	padding-left: 2em;
	}

ul.newsBox li {
	list-style-type: square;
	margin-bottom: 0.5em;
	}

time {
	font-family: 'inf';
	font-size: 0.8em;
	margin-right: 2em;
	}

time::after {
	content: ":";
	}

@media only screen and (max-width: 768px) {
	ul.newsBox {padding-left: 1.5em;font-size: 0.8em;}
	ul.newsBox li {margin-bottom: 2em;}
	time {font-size: 0.8em;display: block;}
	time::after {content: none;}
	}

.caption {
	font-size: 1.8em;
	text-align: center;
	}

@media only screen and (max-width: 768px) {
	.caption {font-size: 1.4em;}
	}

@media only screen and (max-width: 480px) {
	.caption {font-size: 1em;}
	}

.download {
	}

.download a {
	width: 200px;
	display: block;
	margin: 0 auto;
	}

.download img {
	display: block;
	width: 100%;
	}


.snsBox {
	display: flex;
	flex-wrap: wrap;justify-content: space-around;
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	}

.snsBox>div {
	flex-basis: 44%;
	}

.fb-page {
	width: 100%;!important;
	}

.fb-page>span {
	width: 100%!important;
	height: 400px;
	}

.fb-page iframe {
	width: 100%!important;
	}

.snsBox h2 {
	font-size: 0.9em;
	margin-bottom: 0.25em;
}

@media only screen and (max-width: 768px) {
	.snsBox {width: 92%;max-width: 500px;}
	.snsBox>div {
		flex-basis: 100%;
		margin-bottom: 50px;
		}
	.snsBox h2 {
		font-size: 0.8em;
		}
	}


@media only screen and (max-width: 480px) {

	.snsBox h2 {
		font-size: 0.75em;
		padding: 0;
		}
	}




/*SNSシェアボタン*/
.shareBox {
	width: 100%;
	text-align: center;
	position: relative;
	}

	.shareButtons {
		display: flex;
		justify-content: space-between;
		width: 250px;
		height: auto;
		margin: 0px auto;
		padding: 100px 0 0;
		clear: none;
		z-index: 888;
		}

	.shareButtons>div>a {
		display: block;
		width: 40px;
		height: 40px;
		background-size: contain;
		background: no-repeat top center;
		}

	.shareButtons>div.fbBtn a 		{background-image: url("../images/sns_ico_01_fb.svg");}
	.shareButtons>div.tweetBtn a 	{background-image: url("../images/sns_ico_02_tw.svg");}
	.shareButtons>div.lineBtn a 	{background-image: url("../images/sns_ico_03_line.svg");}

@media only screen and (max-width: 768px) {

	}



/*フッター ここから------------------------------------------------------------------------------*/
footer {
	box-sizing: border-box;
	padding: 50px 0 100px;
	background-size: cover;
	text-align: center;
	color: #eee;
	letter-spacing: 0.1em;
	font-size: 0.7em;
	}

footer .taitoLogo {
	width: 200px;
	margin: 0 auto 30px;
	}

footer .gamearchivesLogo {font-size: 0.8em;}
footer .gamearchivesLogo img {
	width: 160px;
	margin-left: 1em;
	}

footer ul {
	flex: 1;
	height: 1em;
	padding: 0;
	margin: 30px auto;
	text-align: center;

	}

footer ul li {
	display: inline-block;
	list-style-type: none;
	border-right: 1px #fff solid;
	padding: 0 5px;
	text-align: center;
	line-height: 1;
	}

footer ul li:last-child {
	border: none;
	}

footer ul li a, footer ul li a:visited,footer ul li a:hover {
	color: #fff;
	text-decoration: none;
	}

footer p.copyright {
	margin: auto;
	font-size: 0.8em;
	}

@media only screen and (max-width: 768px) {
	footer {font-size: 0.6em;}
	}

/*フッター ここまで------------------------------------------------------------------------------*/



/*flexbox*/
div.flexBox {
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 2em 0 4em;
	}

.flexBox>div {
	box-sizing: border-box;
	padding: 0 1em;
	margin-bottom: 1em;
	}

.flexBox>div img {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin: auto;
	/*border: 1px #222 solid;*/
	}

.flexBox>div p {
	margin: 0;
	word-break: break-all;
	padding: 1em;
	}

.boxset4>div {flex-basis: 25%;}
.boxset3>div {flex-basis: 33%;}
.boxset2>div {flex-basis: 50%;}

@media only screen and (max-width: 768px) {
	.boxset2>div {flex-basis: 100%;padding: 0;} 
	.boxset3>div, .boxset4>div {flex-basis: 50%;margin-bottom: 1em;}
	}
	
@media only screen and (max-width: 480px) {
	.boxset3>div, .boxset2>div {flex-basis: 100%;}
	}


/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.fadebox {opacity: 0;}

/*フェードイン*/
.fadein {
	animation-name: fadeUpAnime;
	animation-timing-function: ease-out;
	animation-delay: 0.3s;
	animation-duration: 0.8s;
	animation-fill-mode: forwards;
	opacity: 0;
	}

@keyframes fadeUpAnime{
	from {opacity: 0;transform: translateY(60px);}
	to {opacity: 1;transform: translateY(0);}
	}


/*下部固定メニュー ここから------------------------------------------------------------------------------*/
#bottomMenu {
	position: fixed;
	bottom: 0;
	right: 0;
	padding: 0;
	margin: 0;
	width: 100%;
	background-color: antiquewhite;
	}
/*ページトップに戻る*/
#bottomMenu a.gotop {
	display: block;
	position: absolute;
	bottom: 10px;
	right: 10px;
	height: 80px;
	width: 80px;
	background: rgba(0,0,0,0.5) url("../images/arrow.svg") no-repeat center center;
	background-size: 50%, cover;
	border: 2px #fff solid;
	padding: 0;
	font-size: 1em;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	color: #fff;
	text-decoration: none;
	z-index: 888;
	}
#bottomMenu a.gotop:hover {
	margin-bottom: 10px;
	}

@media only screen and (max-width: 768px) {
	#bottomMenu a.gotop {height: 50px;width: 50px;margin: 0;}
	#bottomMenu a.gotop:hover {margin-bottom: 0;}
	}
