@charset "utf-8";
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 81-PSP */
/* clearfix */	
.clearfix:after {content: "";display: block;clear: both;}
/* flex */	
.flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;}
.flexA {justify-content: space-around;}
.flexB {justify-content: space-between;}
.flexC {justify-content: center;}
/*------------------------------------------------------------
	fade
------------------------------------------------------------*/
.fadeInUp {
    opacity: 0;
	transform: translate3d(0, 20px, 0);
    transition: all ease-in-out 0.8s;
}

.fadeInUp.on {
    opacity: 1;
	transform: translateZ(0);
}
@media all and (max-width: 896px) {
}


/*------------------------------------------------------------
	mainVisual
------------------------------------------------------------*/
#main .mainVisual {
	margin-bottom: 3.4rem;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 29.9rem;
	background: url(../img/game/main_img.jpg) no-repeat center;
	background-size: cover;
}
#main .mainVisual h2 {
	margin-bottom: 0 !important;
	font-style: normal !important;
	color: #fff;
	line-height: 1.35;
	width: 100%;
	text-align: center;
	font-size: 2.5rem;
	font-weight: 700;
}
#main .mainVisual h2 .en {
	display: block;
	font-size: 8rem;
	font-weight: 500;
}
@media all and (max-width: 896px) {
	#main .mainVisual {
		margin-bottom: 0.8rem;
		aspect-ratio: 375 / 126;
		min-height: inherit;
	}
	#main .mainVisual h2 {
		font-size: 1.25rem;
	}
	#main .mainVisual h2 .en {
		font-size: 4rem;
	}
}


/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
	padding: 0 2rem;
	margin: 0 auto;
	max-width: 112rem;
}
select {
	text-align-last: center; 
	direction: ltr;  
    appearance:none;
    -moz-appearance:none;
    -webkit-appearance:none;
    border-radius: 0.3rem;
    height: 4.4rem;
	color: #696969;
	text-align: center;
    border: 1px solid #707070;
    box-sizing: border-box;
    font-size: 1.7rem;
    padding: 0 1rem;
    width: 100%;
	font-weight: 700;
    background: url(../img/common/icon04.png) no-repeat right 0.8rem center #fff;
	background-size: 1rem auto;
}
@media all and (max-width: 896px) {
	.content {
		padding: 0 1.8rem;
	}
	select {
		text-align-last: left;
		height: 2.9rem;
		font-size: 1.05rem;
		border-radius: 0.2rem;
		text-align: left;
		background: linear-gradient(#fff 0%, #d0d0d0 100%);
		padding: 0 1.1rem !important;
	}
	#main .comSelect {
		width: 100%;
		position: relative;
	}
	#main .comSelect:after {
		width: 0.9rem;  
		aspect-ratio: 17 / 11;
		background: url(../img/common/icon04.png) no-repeat right center;
		background-size: 100% auto;
		position: absolute;  
		top: 50%;
		transform: translateY(-50%);
		right: 1rem;  
		content: ""; 
	}
}


/*------------------------------------------------------------
	pagePath
------------------------------------------------------------*/
#pagePath {
	padding: 0 2rem;
	margin: 0 auto 1.7rem;
	max-width: 162rem;
}
#pagePath li {
	display: inline;
	font-size: 1.5rem;
	font-weight: 600;
}
#pagePath a {
	margin-right: 0.5rem;
}
#pagePath a:hover {
	opacity: 0.7;
}
@media all and (max-width: 896px) {
	#pagePath {
		padding: 0;
		margin: 0 1.5rem 0.8rem;
	}
	#pagePath li {
		display: inline;
		font-size: 0.75rem;
	}
	#pagePath a {
		margin-right: 0.2rem;
	}
}


/*------------------------------------------------------------
	comLink
------------------------------------------------------------*/
#main .comLink {
	width: 23.7rem;
	margin: 0 auto;
}
#main .comLink a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-height: 4.4rem;
	border-radius: 0.3rem;
	padding: 0.5rem;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: #fff;
	background-color: #003893;
}

@media all and (min-width: 897px) {
	#main .comLink a:hover {
		color: #fff;
		background-color: #96D3FF;
	}
}
@media all and (max-width: 896px) {
	#main .comLink {
		width: 20.5rem;
	}
	#main .comLink a {
		border-radius: 0.1rem;
		min-height: 3.85rem;
		font-size: 1.25rem;
		background-color: #002767;
	}
}


/*------------------------------------------------------------
	relatedList
------------------------------------------------------------*/
#main .relatedList {
	margin-bottom: 6.6rem;
	display: flex;
	flex-wrap: wrap;
	gap: 4.1rem 3.2rem;
}
#main .relatedList li {
	width: calc((100% - (3.2rem * 2 + 0.1rem)) / 3);
}
#main .relatedList a {
	display: block;
}
#main .relatedList a:hover {
	opacity: 0.7;
}
#main .relatedList .photo {
	margin-bottom: 1.2rem;
	aspect-ratio: 676 / 460;
	position: relative;
}
#main .relatedList .photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .relatedList p {
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.57;
}
#main .relatedList .txt {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 0.7rem;
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}
#main .relatedList .txt .lSpan {
	margin-top: -0.2rem;
	margin-right: 0.5rem;
	display: flex;
	flex-wrap: wrap;
}
#main .relatedList .txt .txtSpan {
	margin: 0.2rem 0.5rem 0 0;
	min-width: 6.9rem;
	text-align: center;
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	display: block;
	padding: 0.2rem 0.2rem 0.4rem;
	background-color: #CB2F00;
}
#main .relatedList .txt .txtSpan2 {
	background-color: #696969;
}
#main .relatedList .txt .txtSpan3 {
	background-color: #ED6103;
}
@media all and (max-width: 896px) {
	#main .relatedList {
		margin: 0 5rem 4rem;
		flex-direction: column;
		gap: 1.4rem 0;
	}
	#main .relatedList li {
		width: 100%;
	}
	#main .relatedList p {
		font-size: 0.95rem;
	}
	#main .relatedList .txt {
		margin-bottom: 0.6rem;
		font-size: 0.8rem;
	}
	#main .relatedList .txt .txtSpan {
		padding: 0.3rem 0.3rem 0.3rem 0;
		min-width: 4.85rem;
		font-size: 0.7rem;
	}
	#main .relatedList .txt .lSpan {
		margin-top: -0.4rem;
		margin-right: 0.2rem;
	}
	#main .relatedList .photo{ 
		margin-bottom: 0.8rem;
	}
}

/*------------------------------------------------------------
	headLine
------------------------------------------------------------*/
.headLine {
	margin-bottom: 6.6rem;
	padding-bottom: 1.9rem;
	font-size: 2.5rem;
	font-weight: 700;
	color: #001298;
	text-align: center;
	position: relative;
	letter-spacing: 0.199em;
}
.headLine:after {
	width: 3.4rem;  
	height: 3px;
	background-color: currentColor;
	position: absolute;  
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	content: ""; 
}
.headLine .en {
	margin-bottom: 1.5rem;
	display: block;
	font-size: 8rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;
}
@media all and (max-width: 896px) {
	.headLine {
		margin-bottom: 1rem;
		padding-bottom: 0.9rem;
		font-size: 1.25rem;
	}
	.headLine .en {
		margin-bottom: 1rem;
		font-size: 4rem;
	}
	.headLine::after {
		width: 1.7rem;
		height: 2px;
	}
}


/*------------------------------------------------------------
	common
------------------------------------------------------------*/
.wp-block-table {
	margin: 0 -10.5rem 10.5rem 0;
}
.wp-block-table table {
	width: 100%;
	border-collapse: collapse;
}
.wp-block-table table td {
	width: 24%;
	font-size: 2.5rem;
	font-weight: 500;
	color: #002767;
	line-height: 1.8;
	border: none !important;
	padding: 0 !important;
}
.wp-block-table table td:nth-child(2n) {
	width: 26%;
}

@media all and (min-width: 897px) {
}

@media all and (max-width: 896px) {
	.wp-block-table {
		margin: 0 0 4rem;
	}
	.wp-block-table tr {
        display: flex;
        flex-wrap: wrap;
    }
    .wp-block-table table td {
        display: block;
        width: 33%;
		font-size: 1.25rem;
    	line-height: 1.8;
    }
    .wp-block-table table td:nth-child(2n) {
		width: 67%;
	}
}

/*------------------------------------------------------------
	common
------------------------------------------------------------*/
@media all and (max-width: 896px) {
}


.pageTop {
	cursor: pointer;
	width: 16.8rem;
	position: fixed;
	right: 2.3rem;
	bottom: 2.8rem;
	transform: translate3d(0, 300px, 0);
	transition: transform 0.4s cubic-bezier(0.55, 0, 0.1, 1) 0s;
	z-index: 200;
}
.pagetopShow .pageTop {
	transform: translate3d(0, 0, 0);
}
.fixedLink {
	cursor: pointer;
	width: 17.0rem;
	position: fixed;
	bottom: 2rem;
	right: 3.6rem;
	transition: transform 0.4s cubic-bezier(0.55, 0, 0.1, 1) 0s;
	z-index: 200;
}
.pagetopShow .fixedLink {
	visibility: visible;
	transform: translate3d(0, -143px, 0);
}
.fixedLink a:hover,
.pageTop a:hover {
	opacity: 0.7;
}

@media all and (max-width: 896px) {
	.fixedLink {
		width: 9rem;
		right: 0.6rem;
	}
	.pageTop {
		width: 8.3rem;
		right: 0.3rem;
	}
	.pagetopShow .fixedLink {
		transform: translate3d(0, -73px, 0);
	}
}