﻿@charset "utf-8";
* {
	min-height:0;
	min-width : 0;
	}

:root {
	/*カラーテーブル*/
	--primary-color: #f87299;	/*h2、h3、ボーダーカラーなど*/
	--primary-dark: #da255e;	/*上記のやや暗いバージョン　テーブルで使用*/
	--secondary-color: #5c8af0; /*h4、お知らせBOX、フッターBGなど*/
	--menu-color: #68d7e9;			/*メニューテキストなど*/
	--common-txt-color: #333;	/*標準テキストカラー*/
	--link-color: #4bc5d9;		/*テキストリンク*/
	--link-hover-color: #68d7e9;	/*テキストリンクhover*/
	}

body{
	height: 100%;
	/*font-family: YakuHanJP_Noto,Noto Sans JP,sans-serif;*/
	font-family: "Noto Serif JP", serif;
	font-weight: 400;
	font-style: normal;
	background-size: cover;
	background-color: transparent;
	font-size: 1em;
	letter-spacing: 0.2em;
	color: #fff;
	}

html,body{
	height: 100%;
    scrollbar-color: #999999 #fff;
    scrollbar-width: thin;
	}

::-webkit-scrollbar {
	width: 10px;
	}

::-webkit-scrollbar-track {
	background: #fff;
	}

::-webkit-scrollbar-thumb {
	background: #999999;
	}

body::before {
	content: "";
	display: block;
	width: 100%;
	height: 100vh;
	z-index: -1;
	position: fixed;
	background-size: 1920px;
	animation: scroll-anim 24s linear infinite;	
	}

a 			{color: var(--link-color);text-decoration: none;cursor: pointer;font-weight: 500;}
a:visited	{color: var(--link-color);}
a:hover		{color: var(--link-hover-color);}
a:focus, *:focus { outline:none; }

a.popupLink {display: block;padding-right: 1.5em;font-weight: 500;}
a.popupLink::after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: solid 2px var(--link-color);
    border-right: solid 2px var(--link-color);
    transform:rotate(45deg);
    position: absolute;
    bottom: 33%;
    right: 1.5em;
	}

a.popupLink:hover::after {
	border-color: var(--link-hover-color);
	}

rt {font-size: 0.4em}


h1 {
	width: 60%;
	max-width: 1000px;
	margin: 0 auto 0;
	padding-top: 30%;
	opacity: 0;
	animation: framein 1s ease-in-out 0s 1 normal forwards;
	}

h1.regular {
	position: absolute;
	width: 20%;
	left: 1%;
	padding-top: 1%;
	opacity: 1;
	animation: none;
	}

section h1>img {
	margin: 0;
	}

@keyframes framein {
	0% 		{opacity: 0%;margin-top: -20px;}
	100% 	{opacity: 100%;margin-top: 0;}
	}

@media only screen and (max-width: 960px) {
	h1 {
		width: 70%;
		}
	
	h1.regular {
		width: 30%;
		}
	}


@media only screen and (max-width: 810px) {
	h1 {
		}
	
	h1.regular {
		width: 40%;
		}
	}
	
h2 {
	font-weight: 700;
	margin: 0 auto 0.5em 0;
	/*padding: 0 0 0 0.5em;*/
	padding: 0 0 0.2em;
	letter-spacing: 0.01em;
	font-size: 3.2em;
	line-height: 1.2;
	color: var(--primary-color);
	text-shadow:  0px 0px 10px #fff, 0px 0px 5px #fff, 0px 0px 5px #fff, 1px 1px 2px #fff;
	border-bottom: 3px var(--primary-color) solid;
	text-align: center;
	}

h2>span {font-size: 0.8em;}

@media only screen and (max-width: 810px) {
	h2 {font-size: 2em;}
	}

@media only screen and (max-width: 480px) {
	h2 {font-size: 1.6em;}
	}

h3 {
	display: block;
	margin: 0 auto 0.5em;
	padding: 0.05em 0.5em;
	letter-spacing: 0.01em;
	font-size: 1.6em;
	font-weight: 700;
	line-height: 1.3;
	/*color:  var(--secondary-color);*/
	color:  var(--primary-color);
	border-left: 8px  var(--primary-color) solid;
	}

h3>span {font-size: 0.5em;font-weight: normal;}

@media only screen and (max-width: 810px) {
	h3 {font-size: 1.4em;}
	}
@media only screen and (max-width: 480px) {
	h3 {font-size: 1.2em;}
	}

h4 {
	padding: 0 0 0 0.7em;
	letter-spacing: 0;
	font-size: 1.4em;
	font-weight: 600;
	color:  var(--secondary-color);
	position: relative;
	/*color: #000;*/
	/*color: #907f32;*/
	}

h4.strong {
	display: inline-block;
	width: fit-content;
	padding: 0.5em 1em;
	margin-top: 0.5em;
	font-size: 1.1em;
	line-height: 1;
	border-radius: 3px;
	background-color:  var(--secondary-color);
	color: #fff;
	}

h4.strong.disabled {
	background-color: #666;
	}

h4:not(.strong)::before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	border-top: solid 4px  var(--secondary-color);
	position: absolute;
	top: 1em;
	left: -0.1em;	
	}

h4 > span {
	font-size: 0.8em;
	}

@media only screen and (max-width: 810px) {
	h4 {font-size: 1.2em;}
	}

@media only screen and (max-width: 480px) {
	h4 {font-size: 1.1em;}
	}

h5 {
	padding: 0 1em;
	letter-spacing: 0;
	font-size: 1.1em;
	color: #e02323;
	}

h6 {}

p{
	padding: 1em;
	letter-spacing: 0.1em;
	color: var(--common-txt-color);
	}

dl {}
dt {}
dd {}
ul {}
li {}

table {
	border-collapse: collapse;
	margin: 2em auto 1em;
	min-width: 900px;
	}

th, td {
	border-bottom: 1px  var(--primary-color) dotted;
	padding: 5px 20px;
	vertical-align: top;
	}

th {
	word-break: keep-all;
	text-align: right;
	font-weight: 600;
	color: var(--common-txt-color);
	}

td {
	color: var(--primary-dark);
	}

@media only screen and (max-width: 960px) {
	table {
		min-width: inherit;
		width: 100%;
		}
	
	th {	letter-spacing: 0;}
	td {	letter-spacing: 0.05em;}
	
	}

strong {color: #e02323;}
em {text-decoration: none;font-style: normal;}
strong, em {font-weight: bold;}

/*アコーディオン初期設定*/
summary {
	display: block;
	list-style-type: none;
	}

summary::marker {
	content: "";
	}

summary::-webkit-details-marker {
	display: none;
	}


/*大枠*/
.primaryContainer {
	margin: 0 auto;
	padding: 0;
	position: relative;
	line-height: 2;
	overflow: hidden;
	/*min-width: 1280px;*/
	}
@media only screen and (max-width: 810px) {
	.primaryContainer{min-width: inherit;}
	}

/*ヘッダ*/
header {
	box-sizing: border-box;
	width: 100%;
	min-width: 1280px;
	display: flex;
	padding: 0;
	}

@media only screen and (max-width: 810px) {
	header {min-width: inherit;}
	}

/*ナビゲーションメニューここから--------------------------------------------------------------------------*/
.menu-check-box, .menu-label, .mask-bg {display: none;}

nav.global-nav {
	margin: 0 auto;
	}

.global-nav__list {
	z-index: 999;
	position: fixed;
	transition: all 0.5s ease-out;
	top: 0;
	right: 10px;
	display: flex;
	letter-spacing: 0.02em;
	box-sizing: border-box;
	margin: 0;
	padding: 15px 20px;
	border-radius: 0 0 10px 10px;
	background-color: #fff;
	box-shadow: 0px 0px 20px 10px rgba(255,255,255,0.3);
	}

	/*スクロールでメニューを消す*/
	header.site-header.hide .global-nav__list {
		top: -80px;
		}

.global-nav__list li a {
	display: block;
	padding: 0 1.5em;
	border-left: 1px solid #eee;
	/*border-right: 1px solid var(--primary-color);*/
	text-decoration: none;
	color:  var(--menu-color);
	font-weight: 700;
	line-height: 1;
	position: relative;
	/*text-shadow: 1px 1px 2px rgba(0,0,0,0.5);*/
	}

.global-nav__list li:first-child a {border-left: none;}
.global-nav__list li:last-child a {border-right: none;}
.global-nav__list li.disabled a {color: rgba(143,126,49,0.2);cursor: default;text-shadow: none;}

.global-nav__list li:not(.disabled) a:hover::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border-top: solid 2px  var(--primary-color);
    border-right: solid 2px  var(--primary-color);
    transform:rotate(45deg);
    position: absolute;
    bottom: 20%;
    left: 0.5em;
	}

/*画面幅が狭くなったらハンバーガーメニュー化*/
@media only screen and (max-width: 960px) {
	/*スクロールでメニューを消すを無効化*/
	header.site-header.hide .global-nav__list {
		top: 0;
		}

	.menu-label {
		display: block;
		position: fixed;
		right: 20px;
		top: 20px;
		width: 80px; /* ボタンの高さ*/
		height: 80px; /* ボタンの幅 */
		z-index: 1000;
		cursor: pointer;
		/*background: url("../images/apps/img_230630_ldgc_menu.svg") no-repeat top center;
		background-size: cover;*/
		background-color: #fff;
		/*border: 4px  var(--menu-color) solid;*/
		border-radius: 4px;
		box-shadow: 0px 4px 3px 0 rgba(0,0,0,0.2);
		}

	.hamburger__line {
		position: absolute;
		left: 14px;
		width: 52px;
		height: 6px;
		background-color:  var(--menu-color);
		transition: all .6s;
		}
	.hamburger__line--1 {top: 22px;}
	.hamburger__line--2 {top: 38px;}
	.hamburger__line--3 {top: 54px;}
	
	.global-nav__list {
		display: block;
		box-sizing: border-box;
		position: fixed;
		right: -320px; /* これで隠れる */
		top: 0;
		width: 300px; /* スマホに収まるくらい */
		height: 100vh;
		background-color: #fff;
		/*transition: all .6s;*/
		z-index: 999;
		overflow-y: auto; /* メニューが多くなったらスクロールできるように */
		margin: 0;
		padding: 100px 0 0;
		list-style: none;
		box-shadow: none;
		border-radius: 0;
		}

	.global-nav__list li {
		text-align: left;
		padding: 0 14px;
		}

	.global-nav__list li a {
		display: block;
		padding: 16px 16px 16px 2em;
		border-left: none;
		border-right: none;
		border-bottom: 1px dotted  var(--menu-color);
		text-decoration: none;
		}

	.global-nav__list li:not(.disabled) a::before {
		content: "";
		display: inline-block;
		width: 6px;
		height: 6px;
		border-top: solid 2px  var(--menu-color);
		border-right: solid 2px  var(--menu-color);
		transform:rotate(45deg);
		position: absolute;
		bottom: 40%;
		left: 0.5em;
		}

	.global-nav__list li:not(.disabled) a:hover::before {
		bottom: 40%;
		}
	}

@media only screen and (max-width: 810px) {
	.menu-label {
		width: 50px; /* ボタンの高さ*/
		height: 50px; /* ボタンの幅 */
		right: 10px;
		top: 10px;
		/*border: 3px  var(--menu-color) solid;*/
		box-shadow: 0px 3px 3px 0 rgba(0,0,0,0.2);
		}

	.hamburger__line {
		left: 12px;
		width: 26px;
		height: 3px;
		}
		.hamburger__line--1 {top: 16px;}
		.hamburger__line--2 {top: 24px;}
		.hamburger__line--3 {top: 32px;}
	}

/*マスク*/
.mask-bg {
	display: block;
	position: fixed;
	left: 0;
	top: 0;
	width: 100vw;
	height: 120vh;
	z-index: 888;
	background-color: #fff;
	opacity: 0;
	visibility: hidden;
	transition: all .6s;
	}

	/*マスククリックでトグルを動作させるため*/
	.innner-label {
		display: block;
		width: 100%;
		height: 100%;
		cursor: pointer;
		}

/*メニューONの処理*/
.menu-check-box:checked ~ .menu-label {
	border: none;
	box-shadow: none;
	}

.menu-check-box:checked ~ .global-nav__list {
	right: 0;
	transition: all .6s;
	}
	/*マスクを表示*/
	.menu-check-box:checked ~ .mask-bg {
		opacity: .7;
		visibility: visible;
		}
	/*トグルボタンのアニメ*/
	.menu-check-box:checked + .menu-label .hamburger__line--1 {
		transform: rotate(45deg);
		top: 38px;
		}
	.menu-check-box:checked + .menu-label .hamburger__line--2 {
		width: 0;
		left: 50%;
		}
	.menu-check-box:checked + .menu-label .hamburger__line--3 {
		transform: rotate(-45deg);
		top: 38px;
		}

@media only screen and (max-width: 810px) {
	.global-nav__list {
		padding-top: 50px;
		}
	
	/*トグルボタンのアニメ*/
	.menu-check-box:checked + .menu-label .hamburger__line--1 {
		transform: rotate(45deg);
		top: 24px;
		}
	.menu-check-box:checked + .menu-label .hamburger__line--2 {
		width: 0;
		left: 50%;
		}
	.menu-check-box:checked + .menu-label .hamburger__line--3 {
		transform: rotate(-45deg);
		top: 24px;
		}
	}
/*ナビゲーションメニューここまで--------------------------------------------------------------------------*/

/*下部固定メニュー ここから------------------------------------------------------------------------------*/
#bottomMenu {
	position: fixed;
	bottom: 0;
	right: 0;
	padding: 0;
	margin: 0;
	width: 100%;
	}
/*ページトップに戻る*/
#bottomMenu a.gotop {
	display: block;
	position: absolute;
	bottom: 20px;
	right: 20px;
	height: 100px;
	width: 100px;
	padding: 0;
	z-index: 888;
	background-color: #fff;
	border-radius: 4px;
	box-shadow: 0px 4px 3px 0 rgba(0,0,0,0.2);
	}

#bottomMenu a.gotop::before {
    content: "";
    display: inline-block;
    width: 40px;
    height: 40px;
    border-top: solid 6px  var(--menu-color);
    border-right: solid 6px  var(--menu-color);
    transform:rotate(-45deg);
    position: absolute;
    top: 36px;
    left: 25px;
    z-index: 889;	
	}

#bottomMenu a.gotop::after {
    content: "";
    display: inline-block;
    width: 40px;
    height: 0px;
    border-top: solid 6px  var(--menu-color);
    transform:rotate(90deg);
    position: absolute;
    top: 52px;
    left: 28px;
    z-index: 889;	
	}

#bottomMenu a.gotop:hover {
	margin-bottom: 15px;
	}

@media only screen and (max-width: 960px) {
	#bottomMenu a.gotop {
		bottom: 20px;
		right: 20px;
		height: 80px;
		width: 80px;
		}
	
	#bottomMenu a.gotop::before {
		width: 32px;
		height: 32px;
		top: 30px;
		left: 21px;
		}

	#bottomMenu a.gotop::after {
		width: 36px;
		height: 0px;
		top: 42px;
		left: 22px;
		}
	
	#bottomMenu a.gotop:hover {
		margin-bottom: 0;
		}
	}

@media only screen and (max-width: 810px) {
	#bottomMenu a.gotop {
		bottom: 20px;
		right: 20px;
		height: 50px;
		width: 50px;
		}
	
	#bottomMenu a.gotop::before {
		width: 20px;
		height: 20px;
		border-top: solid 3px  var(--menu-color);
		border-right: solid 3px  var(--menu-color);
		top: 18px;
		left: 14px;
		}

	#bottomMenu a.gotop::after {
		width: 20px;
		height: 0px;
		border-top: solid 3px  var(--menu-color);
		border-right: solid 3px  var(--menu-color);
		top: 26px;
		left: 14px;
		}
	}


/*SNSシェアボタン*/
.shareBox {
	width: 100%;
	text-align: center;
	position: relative;
	}

	.shareButtons {
		position: absolute;
		bottom: 0px;
		left: calc(50% - 75px);
		display: flex;
		justify-content: space-between;
		width: 150px;
		height: auto;
		margin: 0px auto;
		padding: 0 0 35px;
		clear: none;
		z-index: 888;
		}

	.shareButtons>div>a {
		display: block;
		width: 30px;
		height: 30px;
		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: 810px) {
	.shareButtons {padding-bottom: 20px;}
	}

/*下部固定メニューここまで-------------------------------------------------------------------------------*/



/*コンテンツ全体をラップ*/
main {}
@media only screen and (max-width: 810px) {
	main {width:100%;}
	}

section {
	box-sizing: border-box;
    /*max-width: 1280px;*/
	margin: 0 auto 0;
	position: relative;
	}

section img {
	display: block;
	width: 100%;
	}

section ul {
	padding: 1em 1em 1em 2em;
	letter-spacing: 0.1em;
	color: var(--common-txt-color);
	list-style-type: none;
	}

section ul li {
	position: relative;
	}

section ul:not(.leaf, .slick-dots) li::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border-top: solid 6px  var(--secondary-color);
    position: absolute;
    top: 0.8em;
    left: -0.75em;
	}

section ol {
	padding: 1em 1em 1em 2em;
	letter-spacing: 0.1em;
	color: var(--common-txt-color);
	list-style-type: none;
	counter-reset: my-counter;
	}

section ol>li::before {
	counter-increment: my-counter;
	content: counter(my-counter) ". ";
	color:  var(--secondary-color);
	font-weight: bold;
	}

section ol>li>ol>li::before {
	counter-increment: my-counter;
	content: "("counter(my-counter) ")";
	color:  var(--secondary-color);
	font-weight: bold;
	}


/*ヘッダー*/
#headContent {
	display: flex;
	flax-wrap: wrap;
	position: relative;
	box-sizing: border-box;
	}

#headContent > div {
	flex-basis: 50%;
	}

#headContent > p {
	font-size: 1.2em;
	text-align: center;
	color: #fff;
	}

.nintendoLogo {
	display: block;
	width: 10%;
	max-width: 130px;
	position: absolute;
	right: 40px;
	top: 60px;
	}

.nintendoLogo.teaser {
	max-width: 150px;
	top: 40px;
	}

.steamLogo {
	display: block;
	width: 200px;
	position: absolute;
	left: 180px;
	top: 35px;
	}

.caption01 {
	display: block;
	width: 50%;
	margin: 10% auto 0;
	opacity: 0;
	animation: cap01in 0.8s ease-out 0.6s 1 normal forwards;
	}

	@keyframes cap01in {
		0% 		{opacity: 0%;padding-top: 0;}
		100% 	{opacity: 100%;padding-top: 20px;}
		}

.caption02 {
	display: block;
	width: 70%;
	margin: 10% auto 0;
	opacity: 0%;
	animation: cap02in 0.6s ease-out 1.2s 1 normal forwards;
	}

	@keyframes cap02in {
		0% 		{opacity: 0%;padding-right: 5%;}
		100% 	{opacity: 100%;padding-right: 0;}
		}


.headertaito {
	display: block;
	width: 200px;
	position: absolute;
	right: 40px;
	bottom: 40px;
	}

@media only screen and (max-width: 960px) {
	#headContent {
		display: block;
		}
	
	#headContent > div:nth-child(2) {
		margin-top: -60vw;
		height: 140vw;
		}
	
	.nintendoLogo, .nintendoLogo.teaser {
		width: 12%;
		top: 0;
		left: 0;
		}

	.steamLogo {
		}

	.caption01 {
		width: 70%;
		margin-top: 5%;
		}

	.caption02 {
		margin-top: 10%;
		}
	
	.headertaito {
		width: 140px;
		right: 20px;
		bottom: 20px;
		}
	
	}

@media only screen and (max-width: 810px) {
	#headContent {
		}

	.nintendoLogo, .nintendoLogo.teaser {
		width: 14%;
		}

	.steamLogo {
		width: 24%;
		top: 2.5%;
		left: 20%;
		}

	.caption02 {
		width: 90%;
		right: 5%;
		}
	
	.headertaito {
		width: 120px;
		right: 20px;
		bottom: 20px;
		}
	}

.smallHeader {
	box-sizing: border-box;
	width: 90%;
	height: 120px;
	/*padding: 20px 0 8em;*/
	
	max-width: 1600px;
	margin: 0 auto;
	}

@media only screen and (max-width: 960px) {
	.smallHeader {
		height: 15vw;
		/*padding: 0;*/
		}	
	}

@media only screen and (max-width: 810px) {
	.smallHeader {
		height: 20vw;
		/*padding: 0;*/
		}	
	}


/*各BOX*/
/*aアップデート情報*/
.updateInfo {
	margin-top: -40%;
	}

/*冒頭のキャプション*/
.headercaption {
	box-sizing: border-box;
	width: 90%;
	max-width: 1600px;
	padding: 3em 2em;
	margin: 0 auto 0;
	border-radius: 8px;
	background-color: rgba(0,0,0,0.7);
	text-align: center;
	font-size: 1.8em;
	font-weight: 600;
	/*ボックスのベベル*/
	background:
		radial-gradient(circle at 0 100%, transparent 24px, rgba(0,0,0,0.7) 25px),
		radial-gradient(circle at 100% 100%, transparent 24px, rgba(0,0,0,0.7) 25px),
		radial-gradient(circle at 100% 0, transparent 24px, rgba(0,0,0,0.7) 25px),
		radial-gradient(circle at 0 0, transparent 24px, rgba(0,0,0,0.7) 25px);
    background-position: bottom left, bottom right, top right, top left;
    background-repeat: no-repeat;
    background-size: 50% 50%;
	}

.headercaption p {
	color: #fff;
	text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
	text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
	}

@media only screen and (max-width: 1920px) {
	.headercaption {font-size: 1.4em;}
	}

@media only screen and (max-width: 1280px) {
	.headercaption {font-size: 1.2em;}
	}

@media only screen and (max-width: 960px) {
	.headercaption {margin-top: -25%;font-size: 1.1em;}
	}

@media only screen and (max-width: 810px) {
	.headercaption {padding: 2em 0.5em; font-size: 1em;}
	}

.common {
	box-sizing: border-box;
	width: 90%;
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 0 7em;
	}

.productItem {
	border-bottom: 1px  var(--primary-color) solid;	
	padding: 3em 0;
	}

	.articleInner {
		box-sizing: border-box;
		width: 90%;
		margin: 0 auto;
		}

@media only screen and (max-width: 810px) {
	.productItem.flexBox {
		padding: 0 0 3em;
	}
}

/*ニュース*/
.news {
	margin-top: -4em;
	}


.news > h2 {
	padding: 0;
	color:  var(--secondary-color);
	border: none;
	position: relative;
	}

.news > h2::before, .news > h2::after {
	content: "";
    display: inline-block;
    width: 20px;
    height: 10px;
    border-top: solid 4px  var(--secondary-color);
    position: absolute;
    bottom: 0.3em;	
	}

.news > h2::before {
    left: calc(50% - 2.8em);
	}

.news > h2::after {
    right: calc(50% - 2.8em);
	}

@media only screen and (max-width: 960px) {
	.news {
		}
	}

@media only screen and (max-width: 810px) {
	.news > h2::before, .news > h2::after {
		width: 15px;
	    border-top: solid 3px  var(--secondary-color);
		bottom: 0.1em;
		}
	
	.news > h2::before {
		left: calc(50% - 3.2em);
		}

	.news > h2::after {
		right: calc(50% - 3.2em);
		}
	}

.news > div.newsInner {
	height: 140px;
	margin: 0 auto;
	padding: 4em 3em 4em 4em;
	background-color: #fff;
	/*ボックスのベベル*/
	background:
		radial-gradient(circle at 0 100%, transparent 24px,  var(--secondary-color) 25px),
		radial-gradient(circle at 100% 100%, transparent 24px,  var(--secondary-color) 25px),
		radial-gradient(circle at 100% 0, transparent 24px,  var(--secondary-color) 25px),
		radial-gradient(circle at 0 0, transparent 24px,  var(--secondary-color) 25px);
    background-position: bottom left, bottom right, top right, top left;
    background-repeat: no-repeat;
    background-size: 50% 50%;
	}

.news > div.newsInner > dl {
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	overflow: auto;
    scrollbar-color: #fff #fff;
    scrollbar-width: thin;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	letter-spacing: 0;
	}

.news > div.newsInner > dl > dt {
	box-sizing: border-box;
	flex-basis: 15%;
	margin-bottom: 1em;
	}

.news > div.newsInner > dl > dt > span {
	display: inline-block;
	width: 90%;
	border-radius: 5px;
	background-color: #fff;
	color: var(--secondary-color);
	font-size: 0.8em;
	font-weight: 900;
	text-align: center;
	box-shadow: 1px 2px 0px 2px rgba(0,0,0,0.1);
	}
	
.news > div.newsInner > dl > dd {
	box-sizing: border-box;
	padding-right: 3em;
	padding-bottom: 0.5em;
	flex-basis: 85%;
	margin-bottom: 0.5em;
	border-bottom: 1px #fff dotted;
	position: relative;
	}

.news > div.newsInner > dl > dd > a {
	display: block;
	width: 100%;
	color: #fff;
	}

.news > div.newsInner > dl > dd > a::after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    transform:rotate(45deg);
    position: absolute;
    bottom: 40%;;
    right: 1.5em;
 	}

@media only screen and (max-width: 1200px) {
	.news > div.newsInner > dl > dt {
		flex-basis: 20%;
		}
	.news > div.newsInner > dl > dd {
		flex-basis: 80%;
		}
	}

@media only screen and (max-width: 960px) {
	.news > div.newsInner {
		padding: 3em 2em 3em 2em;
		height: 280px;
		}

	.news > div.newsInner > dl {
		display: block;
		}
	
	.news > div.newsInner > dl > dt {
		width: 95%;
		margin: 0 auto 0.5em;
		padding: 0;
		}

	.news > div.newsInner > dl > dd {
		width: 95%;
		margin: 0 auto 1.5em;
		padding: 0 1.5em 0.5em 0;
		/*line-height: 1.7;*/
		}

	.news > div.newsInner > dl > dt > span {
		width: 100%;
		}
	
	.news > div.newsInner > dl > dd > a::after {
	    bottom: 45%;;
		right: 10px;
		}
	}

/*ヘッダバナーエリア*/
.bannerArea {
	box-sizing: border-box;
	width: 99%;
	margin: 0 auto 0;
	padding: 0 0 7em;
	}

@media only screen and (max-width: 960px) {
	.bannerArea {
		width: 92%;
		}
	}

.bannerArea::after {
	/*margin: 6em auto;
	width: 20%;
	aspect-ratio: 100 / 16;
	background: url("../images/apps/img_260514_uq2_deco01.webp") top center no-repeat;
	background-size: cover;
	opacity: 0.2;*/
	}


ul.contentSelect {
	padding: 0;
	margin: 0;
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	}

section ul.contentSelect li::before {
	content: none;
	}

section ul.contentSelect li {
	box-sizing: border-box;
	padding: 12px;
	flex-basis: 25%;
	text-align: center;
	line-height: 3;
	}

section ul.contentSelect li a {
	color: var(--common-txt-color);
	}

section ul.contentSelect li.disabled a {
	color: #ddd;
	cursor: default;
	}

section ul.contentSelect li a img {
		border-radius: 16px;
		}

section ul.contentSelect li:not(.disabled) a img {
		box-shadow: 2px 2px 4px 0px rgba(0,0,0,0.1);
		}

@media only screen and (max-width: 960px) {
	section ul.contentSelect li {
		flex-basis: 50%;
		padding: 6px;
		font-size: 0.8em;
		line-height: 2;
		}
	}

@media only screen and (max-width: 768px) {	
		section ul.contentSelect li a img {
				border-radius: 8px;
				}
	}


/*登場キャラクター一覧*/
.charactersWrap {
	box-sizing: border-box;
	display: flex;
	max-width: 1600px;
	margin: 0 auto;
	justify-content:center;
	align-items: flex-start;
	flex-wrap: wrap;
	}

.charactersWrap > div {
	display: block;
	box-sizing: border-box;
	flex-basis: 25%;
	height: auto;
	padding: 0;
	margin: 0 0 0;
	}

.charactersWrap > div > a {
	display: block;
	padding: 20px;
	}

.charactersWrap > div > a > img {
	border-radius: 10px;
	/*border: 1px #999 solid;*/
	box-shadow: 2px 2px 4px 0px rgba(0,0,0,0.1);
	}

@media only screen and (max-width: 960px) {
	.charactersWrap > div {
		flex-basis: calc(100% / 3);
		}
	.charactersWrap > div > a {
		display: block;
		padding: 15px;
		}
	}

@media only screen and (max-width: 810px) {
	.charactersWrap > div {
		flex-basis: 50%;
		}

	.charactersWrap > div > a {
		display: block;
		padding: 10px;
		}
	}

.outline  {
	width: 90%;
	max-width: 1600px;
	padding: 8em 0 8em 0;
	}


.outline > div {
	box-sizing: border-box;
	width: 90%;
	max-width: 900px;
	margin: 0 auto;
	/*background-color: rgba(0,0,0,0.7);
	background-image: url("../images/apps/img_230630_ldgc_table_corner_01.webp"), url("../images/apps/img_230630_ldgc_table_corner_02.webp"), url("../images/apps/img_230630_ldgc_table_corner_03.webp"), url("../images/apps/img_230630_ldgc_table_corner_04.webp");
	background-position: left top, right top, right bottom, left bottom;
	background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
	color: #fff;*/
	}

@media only screen and (max-width: 960px) {
	.news > div {
		height: 300px;
		}
	
	.news > div > ul > li > span {
		display: block;
		}
	}

@media only screen and (max-width: 810px) {
	
		.outline > div {
		font-size: 0.8em;
		}
	
		.outline > div {
		background-size: 20px;
		}
	
	}

.attentionBox {
	padding: 3em 0 3em;
	font-size: 0.8em;
	line-height: 1.4;
	}


/*Twitter*/
.twitter {
	margin: 0 auto;
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	border-radius: 6px;
	border: 1px rgba(0,0,0,0.25) solid;
	}

.twitter iframe {width: 740px!important;height: auto;}

.movieArea {
	box-sizing: border-box;
	width: 100%;
	max-width: 1600px;
	margin: 3em auto 0;
	}

.movieArea.compact {
	padding: 0 1em 1em;
	margin: 1em auto 0;
	}

@media only screen and (max-width: 810px) {
	.movieArea {margin: 2em auto 0;}
	.movieArea.compact {padding: 0;}
	}

/*youtube*/
.youtube {
	margin: 0 auto;
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	}

.youtube iframe {
	position:absolute !important;
	top:0 !important;
	left:0 !important;
	width:100% !important;
	height:100% !important;
	}

/*汎用ボタン*/
.buttonBox {
	display: flex;	
	flex-wrap: wrap;
	justify-content: flex-start;
	width: 100%;
	margin: 0 auto 3em;
	}

.buttonBox.wishList {
	max-width: 900px;
	justify-content: center;
	} 


.flexBox>div p.button {padding: 0;}

.button {
	box-sizing: border-box;
	flex-basis: 50%;
	padding: 0;
	margin: 1em 0 0;
	}

.button a {
	display: block;
	box-sizing: border-box;
	width: 95%;
	max-width: 600px;
	padding: 15px 20px;
	border-radius: 6px;
	margin: 0 auto;
	background-color: #fff;
	border: 1px #999 solid;
	box-shadow: 2px 2px 4px 0px rgba(0,0,0,0.1);
	font-size: 1.2em;
	font-weight: normal;
	line-height: 1.4;
	letter-spacing: 0;
	text-align: center;
	color: var(--common-txt-color);
	text-decoration: none;
	position: relative;
	}

.button:not(.disabled) a::after {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	border-top: solid 2px #666;
	border-right: solid 2px #666;
	transform:rotate(45deg);
	position: absolute;
	bottom: calc(50% - 0.4em);
	right: 1em;
	}

.button.wishList a {
	background-color: rgba(0,0,0,0.5);
	border: 3px #fff solid;
	}

.button.tweet a {
	background-color: #1da1f2;
	color: #fff;
	}

.button.disabled a {
	background-color: #dddddd;
	box-shadow: 0px 0px 0px 0px rgba(0,0,0,0);
	border: none;
	color:#fff;
	}

.button:not(.disabled) a:hover {background: #fff1b3;}

.button.disabled a:hover {cursor: default;}

.button a > span {
	font-size: 0.8em;
	}

@media only screen and (max-width: 810px) {
	.button {flex-basis: 100%;}
	.button a {font-size: 1.1em;}
	.button.wishList a {font-size: 1em;}
	}


/*スマホサイズで適用したりしなかったり用*/
.sponly {display:none;}
.nosp{display:inherit;}

@media only screen and (max-width: 810px) {
	.sponly {display: inherit;}
	.nosp {display:none;}
	}

/*記事用のいろいろな定義*/	
.small	{font-size: 0.6em;}
.large	{font-size: 1.2em;}
.big	{font-weight: bold;font-size: 1.8em;}
.morebig {font-weight: bold;font-size: 2.2em;}
@media only screen and (max-width: 810px) {
	.big	{font-size: 1.4em;}
	.morebig {font-size: 1.8em;}
}
.center	{text-align: center;}
.spaced {padding: 1em;}
.left	{text-align: left;}
.right	{text-align: right;}
.attention {color: #FF0000;}
.clear {clear: both;}
.url{color: #FF0308;font-style: italic;}
.bold{font-weight: bold;}
.sun {color: #f00;}
.sat {color: #008FEB;}
.price {font-size: 1.4em;font-weight: bold;}
.markup{display:inline-block;font-size: 0.9em;color:#f60;}
.new {display:inline-block;background-color: #d71318;font-size: 0.6em;font-weight: bold;color:#fff;text-shadow: none;vertical-align:text-top;padding: 3px 10px;border-radius: 10px;margin-left: 0.5em;}


/*フッターの回遊リンク*/
.footLinkArea {
	box-sizing: border-box;
	width: 100%;
	padding: 6em 1em;
	background-color: #F7F7F7;
	}

ul.footlink {
	padding: 0;
	margin: 0;
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	}

section ul.footlink li::before {
	content: none;
	}

section ul.footlink li {
	box-sizing: border-box;
	padding: 2em;
	flex-basis: 25%;
	text-align: center;
	}

section ul.footlink li a img {
	display: block;
	}


@media only screen and (max-width: 960px) {
	section ul.footlink li {
		flex-basis: 50%;
		padding: 6px;
		}
	}

.footLinkButton {
	text-align: center;
	}

.footLinkButton a {
	position: relative;
	color: var(--common-txt-color);
	}

.footLinkButton a:visited, .footLinkButton a:hover {
	color: var(--common-txt-color);
	}

.footLinkButton a::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-top: solid 2px var(--common-txt-color);
	border-right: solid 2px var(--common-txt-color);
	transform:rotate(45deg);
	position: absolute;
	top: 0.5em;
	left: -1.5em;
	}



/*フッター ここから------------------------------------------------------------------------------*/
footer {
	box-sizing: border-box;
	padding: 100px 0 200px;
	text-align: center;
	color: #eee;
	letter-spacing: 0.1em;
	font-size: 0.7em;
	background-color:  var(--secondary-color);
	}

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: 2em 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;
	color: #fff;
	}

@media only screen and (max-width: 810px) {
	footer {
		padding: 50px 0 150px;
		font-size: 0.6em;
		}
	}
/*フッター ここまで------------------------------------------------------------------------------*/

/*FlexBox*/
.flexBox {
	display: flex;
	max-width: 1600px;
	margin: 0 auto;
	box-sizing: border-box;
	justify-content:center;
	align-items: flex-start;
	flex-wrap: wrap;
	}

	.flexBox>div {
		display: block;
		box-sizing: border-box;
		flex-basis: 25%;
		height: auto;
		padding: 2em 0;
		margin: 0 0 0;
		word-break: normal;
		word-wrap: normal;
		}

.bottom {align-items: flex-end;}
.top {align-items: flex-start;} 

.boxset5>div {flex-basis: 20%;}
.boxset4>div {flex-basis: 25%;}
.boxset3>div {flex-basis: 33.3%;}
.boxset2>div {flex-basis: 50%;}
.type1-3>div:nth-child(odd) {flex-basis: 26%;}
.type1-3>div:nth-child(even) {flex-basis: 70%;}

@media only screen and (max-width: 810px){
.boxset5>div {flex-basis: 33.3%;}
.boxset4>div {flex-basis: 33.3%;}
.boxset3>div {flex-basis: 50%;}
.boxset2>div {flex-basis: 100%;}
.type1-3>div:nth-child(odd) {flex-basis: 70%;margin-bottom: -3em;}
.type1-3>div:nth-child(even) {flex-basis: 95%;margin-bottom: 4em;}
.spreverse>div:first-child {order: 2;} 
}

@media only screen and (max-width: 480px){
.boxset5>div {flex-basis: 50%;}
.boxset4>div {flex-basis: 50%;}
.boxset3>div {flex-basis: 100%;}
.boxset2>div {flex-basis: 100%;}	
}


@media only screen and (max-width: 810px) {
	.flexBox>div.package {display: none;}
	}

section .itemimg {
	width: 90%;
	max-width: 300px;
	margin: 0 auto;
	}

section .itemimg.wide {
	max-width: 1000px;
	max-width: inherit;
	}

.gameimg {
	display: block;
	width: 92%;
	margin: 1em auto 1em;
	}

section .thumbImg {
	margin: 1em auto;
	width: 70%;
	max-width: 600px;
	}


@media only screen and (max-width: 810px) {
	section .itemimg {
		width: 50%;
		}

	section .itemimg.wide {
		width: 100%;
		}

	.gameimg {
		width: 100%;
		}
	}

/*サムネイル付きの段組みを入れる場合*/
.withThumbBox {
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	}

.withThumbBox > div:first-child {
	box-sizing: border-box;
	flex-basis: 30%;
	padding: 1em;
	}

.withThumbBox > div:first-child > img {
	border-radius: 6px;
	}

.withThumbBox > div:nth-child(2) {
	box-sizing: border-box;
	flex-basis: 70%;
	} 


@media only screen and (max-width: 810px) {
	.withThumbBox {display: block;}
	.withThumbBox > div:first-child  {
		width: 50%;
		margin: 0 auto;
		}
	}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.fadebox {opacity: 0;}

/*フェードイン*/
.fadein{
	animation-name: fadeUpAnime;
	animation-timing-function: ease-out;
	animation-delay: 0.3s;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	opacity: 0;
	}

@keyframes fadeUpAnime{
	from {opacity: 0;transform: translateY(70px);}
	to {opacity: 1;transform: translateY(0);}
	}

/*モーダル*/
.mfp-container {
	padding:0!important;
	}

button.mfp-close {
	/*width: 50px;
	height: 0px;
	padding-top: 50px;
	overflow: hidden;
	background: #4557d8 url(../images/apps/toho_close.svg)  no-repeat;*/
	margin-top: 10px;
	margin-right: 10px;
	opacity: 1;
    position: fixed;
	height: 70px;
	width: 70px;
	padding: 0;
	z-index: 888;
	background-color: #fff;
	border-radius: 4px;
	box-shadow: 0px 4px 3px 0 rgba(0,0,0,0.2);	
	font-size: 60px;
	color:  var(--menu-color)!important;
	}


@media only screen and (max-width: 960px){
	button.mfp-close {
		width: 60px;
		height: 60px;
		font-size: 50px;
		}
	}

@media only screen and (max-width: 810px){
	button.mfp-close {
		width: 50px;
		height: 50px;
		font-size: 40px;
		}
	}

.mfp-arrow {
	top: 50%;
	opacity: 1;
    position: fixed;
	}

/*.mfp-arrow::after {
    border-top-width: 13px;
	top: 8px;
	}

.mfp-arrow::before {
    border-top-width: 21px;
    border-bottom-width: 21px;
	opacity: 1;
	}*/

/**/
.mfp-arrow-right::after {
	content: none;
	}

.mfp-arrow-right::before {
	display: inline-block;
	padding: 0;
	margin: 0;
	width: 40px;
	height: 40px;
	border-top: none;
	border-right: none;
	border-bottom: solid 6px  var(--menu-color);
	border-left: solid 6px  var(--menu-color);
	transform: rotate(-135deg);
	position: absolute;
	top: 25px;
	left: 20px;
	}

.mfp-arrow-left::after {
	content: none;
	}

.mfp-arrow-left::before {
	display: inline-block;
	padding: 0;
	margin: 0;
	width: 40px;
	height: 40px;
	border-top: none;
	border-right: none;
	border-bottom: solid 6px  var(--menu-color);
	border-left: solid 6px var(--menu-color);
	transform: rotate(45deg);
	position: absolute;
	top: 25px;
	left: 20px;
	}

@media only screen and (max-width: 810px){
	.mfp-arrow-left {left: -5px;}
	.mfp-arrow-right {right: -5px;}
	}

.modal-wrap {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	height: 100vh;
    width: 100vw;
    position: fixed;
	top:0;
	text-align: left;
	background: url(../images/apps/img_260518_uq_character_bg_base.webp) no-repeat center bottom;
	/*background: url(../images/apps/img_200106_toho_cont_bg2.png) no-repeat right bottom;
	background: url(../images/apps/img_200106_toho_cont_bg2.png) no-repeat,-moz-linear-gradient(45deg,  #d34566 0%, #4557d8 100%);
	background: url(../images/apps/img_200106_toho_cont_bg2.png) no-repeat,-webkit-linear-gradient(45deg,  #d34566 0%,#4557d8 100%);
	background: url(../images/apps/img_200106_toho_cont_bg2.png) no-repeat,linear-gradient(45deg,  #d34566 0%,#4557d8 100%);*/
	background-size: cover;
	}

.modal-wrap::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	mix-blend-mode: screen;
	background-color: #999;
	}

.modal-wrap.specialItem::before {
	background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(194, 255, 255, 1) 22%, rgba(180, 222, 238, 1) 62%, rgba(185, 206, 239, 1) 100%);	
	}

#chara01 .modal-wrap::before {background-color: #8077ac;}
#chara02 .modal-wrap::before {background-color: #98cfff;}
#chara03 .modal-wrap::before {background-color: #f5893c;}
#chara04 .modal-wrap::before {background-color: #ba89c3;}
#chara05 .modal-wrap::before {background-color: #e16e7b;}
#chara06 .modal-wrap::before {background-color: #60cf9c;}
#chara07 .modal-wrap::before {background-color: #a0d241;}
#chara08 .modal-wrap::before {background-color: #fbdc46;}
#chara09 .modal-wrap::before {background-color: #dd99ff;}
#chara10 .modal-wrap::before {background-color: #fbbad9;}

#chara11 .modal-wrap::before {background-color: #b6b4f8;}
#chara12 .modal-wrap::before {background-color: #ae7681;}
/*#chara13 .modal-wrap::before {background-color: #bbbbbb;}
#chara14 .modal-wrap::before {background-color: #bbbbbb;}
#chara15 .modal-wrap::before {background-color: #bbbbbb;}
#chara16 .modal-wrap::before {background-color: #bbbbbb;}
#chara17 .modal-wrap::before {background-color: #bbbbbb;}
#chara18 .modal-wrap::before {background-color: #bbbbbb;}
#chara19 .modal-wrap::before {background-color: #bbbbbb;}
#chara20 .modal-wrap::before {background-color: #bbbbbb;}
#chara21 .modal-wrap::before {background-color: #bbbbbb;}
#chara22 .modal-wrap::before {background-color: #bbbbbb;}
#chara23 .modal-wrap::before {background-color: #bbbbbb;}
#chara24 .modal-wrap::before {background-color: #bbbbbb;}*/


.charaWrap, .itemWrap {
	box-sizing: border-box;
	width: 100%;
	height: 100vh;
	max-width: 1600px;
	max-height: 1440px;
	margin: 0 auto;
	color: #fff;
	/*position: relative;*/
	overflow: hidden;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	}

@media only screen and (max-width: 810px){
	.charaWrap, .itemWrap {height: 85vh;}
	}

.charImgL {
	display: block;
	width: 65%;
	margin: 0;
	/*background-color: #500;*/
	}

.charImgS {
	display: block;
	position: absolute;
	width: 20%;
	top: 10%;
	right: 15%;
	/*background-color: #550;*/
	}

.charaInfoBox {
	box-sizing: border-box;
	width: 43%;
	padding: 1.5em;
	position: absolute;
	bottom: 10%;
	right: 2.5%;
	font-size: 1.2em;
	text-shadow: 0 0 5px rgba(255,255,255,1), 0 0 5px rgba(255,255,255,1), 0 0 10px rgba(255,255,255,1), 0 0 30px rgba(255,255,255,1);
	background-color: rgba(255,255,255,0.4);
	}

.specialitemInfoBox {
	box-sizing: border-box;
	width: 50%;
	padding: 1.5em;
	position: absolute;
	top: 30%;
	right: 2.5%;
	font-size: 1.2em;
	text-shadow: 0 0 5px rgba(255,255,255,1), 0 0 5px rgba(255,255,255,1), 0 0 10px rgba(255,255,255,1), 0 0 30px rgba(255,255,255,1);
	background-color: rgba(255,255,255,0.4);
	}

.charaInfoBox h3, .specialitemInfoBox h3 {
	color: #000;
	border-color: #000;
	}

.charaInfoBox p, .charaInfoBox ul, .specialitemInfoBox p, .specialitemInfoBox ul {
	padding: 0;
	margin-bottom: 0.5em;
	color: #000;
	font-weight: 500;
	line-height: 1.6;
	} 

.charaInfoBox ul, .specialitemInfoBox ul {
	padding-left: 1.5em!important;
	font-size: 0.8em;
	}

.charaInfoBox p, .specialitemInfoBox p {
	font-size: 0.9em;
	}

.charTxtCv {
	font-weight: bold!important;
	}

.charTxtFlavor {
	position: absolute;
	top: 5%;
	left: 48%;
	writing-mode: vertical-lr;
	letter-spacing: 0.15em;
	color: #fff;
	font-weight: 600;
	font-size: 1.6em;
	line-height: 1.4;
	word-break: break-all;
	text-shadow: 0 0 5px rgba(0,0,0,1), 0 0 10px rgba(0,0,0,1), 0 0 30px rgba(0,0,0,0.5);
	}
 
@media only screen and (max-width: 960px) {
	.charImgL {margin-left: -5%;}
	.charImgS {display: none;}
	.charTxtFlavor {left: 45%;font-size: 1.3em;}
	.charaInfoBox {width: 45%;font-size: 1em;bottom: 15%;}
	.specialitemInfoBox {width: 90%;top: auto;left: 5%;bottom:5%;font-size: 1em}	
	}

@media only screen and (max-width: 810px){
	.charImgL {width: 70%;margin: 10px auto 0;}
	.charTxtFlavor {left: 6%;top: 1%;}
	.charaInfoBox {width: 80%;bottom: 1.5%;background-color: rgba(255,255,255,0.6);}
	}
@media only screen and (max-width: 480px){
	.charTxtFlavor {left: 6%;font-size: 1em;top: 1%;}
	}

.specialItemCategory {
	box-sizing: border-box;
	width: fit-content;
	padding: 5px 1em!important;
	/*border-radius: 6px;*/
	background-color: var(--common-txt-color);
	font-size: 0.8em!important;
	color: #fff!important;
	letter-spacing: 0.01em;
	text-shadow: none;
	text-align: center;
	}

.specialItemImg {
	display: block;
	width: 45%;
	max-width: 750px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(2%, -50%);
	}

@media only screen and (max-width: 960px){
	.specialItemImg {
		width: 100%;
		top: 20%;
		left: 50%;
		transform: translate(-50%, -20%);
		}
	}

@media only screen and (max-width: 810px){
	.specialItemImg {
		top: 0;
		transform: translate(-50%, 0);
		}
	}

@media only screen and (max-width: 480px){
	}

/*フェード*/
.mfp-fade.mfp-bg {
  opacity: 0;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
	}
/* overlay animate in */
.mfp-fade.mfp-bg.mfp-ready {
  opacity: 0.8;
}
/* overlay animate out */
.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}

/* content at start */
.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
/* content animate it */
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}
/* content animate out */
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}

/*声優コメント*/
.messageWrap {
	margin: 3em 0 0;
	}

summary {
	box-sizing: border-box;
	padding: 0.5em 1em;
	margin-bottom: 1em;
	background-color: #fff;
	border: 1px #999 solid;
	box-shadow: 2px 2px 4px 0px rgba(0,0,0,0.1);
	font-size: 1.6em;
	position: relative;
	border-radius: 6px;
	transition: background-color 0.4s;
	color: var(--common-txt-color);
	}

summary:hover {
	cursor: pointer;
	}

summary > span {
	font-size: 0.7em;
	}

summary::after {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	border-top: solid 2px #666;
	border-right: solid 2px #666;
	transform:rotate(-225deg);
	position: absolute;
	bottom: calc(50% - 0.3em);
	right: 1em;
	transition: transform 0.4s;
	}

summary.newArrivals::before {
	content: "New";
	display: inline-block;
	font-size: 0.6em;
	letter-spacing: 0.01em;
	padding: 5px;
	position: absolute;
	left: -1.5em;
	top: -1em;
	background-color:  var(--primary-color);
	color: #fff;
	border-radius: 5px;
	}

details[open] summary {
	background-color: #fff1b3;
	}

details[open] summary::after {
	transform:rotate(-45deg);
	}

details {
  &::details-content {
    transition: height 0.4s, opacity 0.4s, content-visibility 0.4s allow-discrete;
    height: 0;
    opacity: 0;
    overflow: clip;
	}

  &[open]::details-content {
    opacity: 1;
  }
}

@supports (interpolate-size: allow-keywords) {
  :root {
    interpolate-size: allow-keywords;
  }
  details[open]::details-content {
    height: auto;
  }
}

@supports not (interpolate-size: allow-keywords) {
  details[open]::details-content {
    /*height: 150px;*/
    height: auto;
	overflow-y: scroll;
  }
}

p.comment {
	box-sizing: border-box;
	padding: 1em 3em 2em 3em;
	margin: 0 0 2em 0;
	border-bottom: 1px #999 dotted;
	}

dl.qaList {
	box-sizing: border-box;
	margin: 0 auto;
	padding: 1em 2em 4em;
	}

dl.qaList:last-child {
	padding-bottom: 0;
	}

dl.qaList dt {
	box-sizing: border-box;
	font-size: 1em;
	width: 100%;
	padding: 1em 3em 0 3em;
	margin-bottom: 1em;
	letter-spacing: 0.03em;
	}

dl.qaList dd {
	box-sizing: border-box;
	padding: 1em 3em 2em 3em;
	margin: 0 0 2em 0;
	font-weight: 600;
	border-bottom: 1px #999 dotted;
	/*border-bottom: 1px  var(--primary-color) solid;*/
	}

dl.qaList dt::before {
	color: #1A89FF;
	content: "Q. ";
	font-size: 1.2em;
	}

dl.qaList dd::before {
	color: #e60012;
	content: "A. ";
	font-size: 1.3em;
	}

@media only screen and (max-width: 810px){
	.messageWrap {
		margin: 2em 0 0;
		}
	
	summary {
		font-size: 1.2em;
		}
	summary > span {
		letter-spacing: 0.03em;
		}

	p.comment {
		padding: 1em 1em 4em;
		}
	
	dl.qaList {
		padding: 1em 1em 4em;
		}

	dl.qaList dt {
		padding: 1em 1em 0 1em;
		margin-bottom: 1em;
		}

	dl.qaList dd {
		padding: 1em 1em 2em 1em;
		margin: 0 0 2em 0;
		}	
	
}


.pcCenter {
	text-align: center;
	margin-top: 3em;
	}

@media only screen and (max-width: 810px){
	.pcCenter {
		text-align: left;
		}	
	}

/*Slick*/
.slick-initialized .slick-slide {
	padding: 1em;
}




