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

body{
	height: 100%;
	font-family: "M PLUS 1 Code", monospace;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 400;
	font-style: normal;
	background: #c4d700;
	font-size: 1.1em;
	letter-spacing: 0.2em;
	color: #000;
	}

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;
	}


a 			{color: #000;text-decoration:underline;cursor: pointer;font-weight: 700;}
a:visited	{color: #000;}
a:hover		{color: #333;}
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 #0090ff;
    border-right: solid 2px #0090ff;
    transform:rotate(45deg);
    position: absolute;
    bottom: 33%;
    right: 1.5em;
	}

a.popupLink:hover::after {
	border-color: #2cddfc;
	}

rt {font-size: 0.4em}


h1 {}

h1 > img {
	display: block;
	width: 95%;
	max-width: 1426px;
	margin: 0 auto;
	}

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


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

h2{
	display: inline-block;
	margin: 0 auto 0.5em 0;
	padding: 0.2em 1em 0.2em;
	border-radius: 2em;
	letter-spacing: 0.01em;
	font-size: 3.2em;
	line-height: 1.2;
	font-weight: 700;
	}

h2:not([class]) {
	color: #fff;
	background-color: #000;
	/*text-shadow: 1px 1px 10px #fff, 1px 1px 2px #fff;*/
	text-align: center;
	position: relative;
	border: 6px #fff solid;
	}

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


h2.header-only {
	padding: 0;
	margin: 0;
	position: absolute;
	top: 40px;
	right: 40px;
	color: #fff;
	text-shadow: 3px 6px 3px rgba(0,0,0,0.2);
	}


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

	h2:not([class]) {
		border: 4px #fff solid;
		}
	
	h2.header-only {
		top: 20px;
		right: 20px;
		font-size: 5vw;
		text-shadow: 2px 2px 2px rgba(0,0,0,0.3);
		}
	
	}

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

h2.newsHead {
	padding: 0;
	color: #255805;
	border: none;
	position: relative;
	background-color: transparent;
	}

h2.newsHead::before, h2.newsHead::after {
	content: "";
    display: inline-block;
    width: 20px;
    height: 10px;
    border-top: solid 6px #255805;
    position: absolute;
    bottom: 0.3em;	
	}

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

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

@media only screen and (max-width: 810px) {
	h2.newsHead::before, h2.newsHead::after {
		width: 15px;
	    border-top: solid 6px #255805;
		bottom: 0.2em;
		}
	
	h2.newsHead::before {
		left: calc(50% - 3.0em);
		}

	h2.newsHead::after {
		right: calc(50% - 3.0em);
		}
	}


h3 {
	margin: 0 auto 0.1em;
	padding: 0.05em 0;
	letter-spacing: 0.01em;
	font-size: 2.0em;
	font-weight: 800;
	line-height: 1.3;
	color: #fff;
	text-shadow: 2px 4px 3px rgba(0,0,0,0.3);
	}

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

@media only screen and (max-width: 1280px) {
	h3 {
		font-size: 2.2em;
		}
	}

@media only screen and (max-width: 960px) {
	h3 {
		font-size: 2em;
		text-align: center;
		}
	}

@media only screen and (max-width: 810px) {
	h3 {
		font-size: 1.7em;
		text-shadow: 2px 2px 2px rgba(0,0,0,0.3);
		}
	}

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

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

h4::before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	border-top: solid 4px #000;
	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: #333;
	}

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

li {
	list-style-type: square;
	margin-bottom: 0.5em;
	font-weight: 500;
	}

.tableWrap {
	box-sizing: border-box;
	background-color: #88a90c;
	padding: 5px;
	}

table {
	width: 100%;
	border-collapse: collapse;
	}

th, td {
	padding: 10px 20px;
	vertical-align: top;
	border: 5px #003608 solid;
	font-weight: bold;
	line-height: 1.2;
	letter-spacing: 0;
	}

th {
	background-color: #fff;
	text-align: center;
	font-weight: bold;
	color: #000;
	font-size: 1.6em;
	}
th.priceListContentHeader 	{background-color: #73acdd;}
th.pricrListPriceHeader 	{background-color: #98d6f6;}
th.pricrListPriceHeader.Green 	{background-color: #a2d082;}
th.pricrListPriceHeader.Orange 	{background-color: #f8c385;}

td {
	color: #000;
	background-color: #fff;
	font-size: 1.2em;
	}

td.priceListPrice 	{text-align: center;font-size: 1.4em;}
td.priceListPrice.Green 	{background-color: #d6e9c3;}
td.priceListPrice.Orange 	{background-color: #fdebd1;}

.linkButton {
	display: inline-block;
	background-color: #fff;
	color: #000;
	text-decoration: none;
	font-size: 0.8em;
	padding: 2px 1em;
	border-radius: 3px;
	font-weight: normal;
	border: 2px #000 solid;
	box-shadow: 2px 2px 4px 0px rgba(0,0,0,0.4);
	}

.linkButton:hover {
	color: #000;
	background: rgba(255,233,89,1.00);
	}

@media only screen and (max-width: 960px) {
	th, td {padding: 5px 10px;font-size: 1em;}
	td.priceListPrice 	{font-size: 1em;}
	}


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;*/
	background: url("../images/gc/img_251211_taito_studium_bg.webp") top center repeat-y;
	background-size: contain;
	}
@media only screen and (max-width: 810px) {
	.primaryContainer{
		min-width: inherit;
		background-size: 200%;
		}
	}

/*ヘッダ*/
header {
	box-sizing: border-box;
	width: 100%;
	padding: 200px 0 0;
	margin: 0;
	position: relative;
	}

.ts-logo {
	width: 8%;
	padding: 0;
	position: absolute;
	top: 30px;
	left: 30px;
	z-index: 999;
	}

.ts-logo > img {
	width: 100%;
	}

.caption01 {
	position: absolute;
	top: 110px;
	left: 50%;
	transform: translate(-215%, 0);
	width: 20%;
	max-width: 300px;
	}

.caption01 > img {
	width: 100%;
	}

.caption02 {
	width: 80%;
	max-width: 1220px;
	margin: 0 auto 50px;
	max-width: ;
	}

.caption02 > img {
	width: 100%;
	}

.topAttention {
	width: 75%;
	max-width: 1400px;
	margin: 0 auto;
	border: 3px #000 solid;
	text-align: center;
	background-color: rgba(255,255,255,1);
	}


@media only screen and (max-width: 810px) {
	header {
		padding-top: 150px;
		}
	
	.ts-logo {
		width: 12vw;
		top: 15px;
		left: 15px;
		}
	
	.caption01 {
		top: 100px;
		left: 0;
		transform: translate(0, 0);
		}
	
	.caption02 {
		margin-bottom: 20px;
		}
	.topAttention {
		text-align: left;
		font-size: 0.9em;
		}
	}

@media only screen and (max-width: 480px) {
	header {
		padding-top: 100px;
		}
	
	.ts-logo {
		width: 15vw;
		top: 15px;
		left: 15px;
		}

	.caption01 {
		top: 65px;
		left: -10px;
		}
	
	.caption02 {
		width: 90%;
		margin-top: -15px;
		margin-bottom: 10px;
		}
	
	}

/*下部固定メニュー ここから------------------------------------------------------------------------------*/
#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: 15px;
	border: 4px #000 solid;
	box-shadow: 3px 3px 3px 0 rgba(0,0,0,0.3);
	}

#bottomMenu a.gotop::before {
    content: "";
    display: inline-block;
    width: 40px;
    height: 40px;
    border-top: solid 8px #000;
    border-right: solid 8px #000;
    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 8px #000;
    transform:rotate(90deg);
    position: absolute;
    top: 52px;
    left: 29px;
    z-index: 889;	
	}

#bottomMenu a.gotop:hover {
	margin-bottom: 15px;
	background-color: rgba(255,233,89,1.00);
	}

@media only screen and (max-width: 960px) {
	#bottomMenu a.gotop {
		bottom: 24px;
		right: 24px;
		height: 50px;
		width: 50px;
		border-radius: 10px;
		}
	
	#bottomMenu a.gotop::before {
		width: 20px;
		height: 20px;
		border-top: solid 4px #000;
		border-right: solid 4px #000;
		top: 18px;
		left: 14px;
		}

	#bottomMenu a.gotop::after {
		width: 20px;
		height: 0px;
		border-top: solid 4px #000;
		border-right: solid 4px #000;
		top: 26px;
		left: 14px;
		}
	
	#bottomMenu a.gotop:hover {
		margin-bottom: 0;
		}
	}

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


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

	.shareButtons {
		position: absolute;
		bottom: 0px;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		display: flex;
		justify-content: space-between;
		width: 200px;
		height: auto;
		margin: 0px auto;
		padding: 0 0 40px;
		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: 810px) {
	}

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



/*コンテンツ全体をラップ*/
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;
	text-align: center;
	}

section > * {
	text-align: left;
	}

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

section ul {
	padding: 1em 1em 1em 2em;
	letter-spacing: 0.1em;
	color: #333;
	list-style-type: none;
	}

section ul li {
	position: relative;
	}




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

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

/*各BOX*/
.photoArea {
	width: 100%;
	height: 600px;
	}

.photoArea.photo3 {
	background-size: 2700px;
	animation: scroll-anim3 20s linear infinite;
	background: url("../images/gc/img_260217_taito_studium_scroll_03_asahikawa.webp") repeat-x left top;
	}

.photoArea.photo4 {
	background-size: 3600px;
	animation: scroll-anim4 25s linear infinite;
	background: url("../images/gc/img_251211_taito_studium_scroll_01_mito.webp") repeat-x left top;
	}

.photoArea.photo4.kushiro {
	background: url("../images/gc/img_251211_taito_studium_scroll_02_kushiro.webp") repeat-x left top;
	} 

/*.photoArea.photo5 {
	background-size: 4500px;
	animation: scroll-anim5 40s linear infinite;
	background: url("../images/prize/img_251007_techinui_header_photo.webp") repeat-x left top;
	}
*/

@media only screen and (max-width: 960px) {
	.photoArea {
		height: 253px;
		}

	.photoArea.photo3 {
		background-size: 1350px;
		animation: scroll-anim3 30s linear infinite;
		}

	.photoArea.photo4, .photoArea.photo4.kushiro{
		background-size: 1800px;
		animation: scroll-anim4 50s linear infinite;
		}
	
	/*.photoArea.photo5 {
		background-size: 2250px;
		animation: scroll-anim5 80s linear infinite;
		}*/
	}

@keyframes scroll-anim3 {
	100%	{background-position: -2700px 0;}
	}

@keyframes scroll-anim4 {
	100%	{background-position: -3600px 0;}
	}

/*@keyframes scroll-anim5 {
	100%	{background-position: -4500px 0;}
	}*/


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


@media only screen and (max-width: 810px) {
	.common {
		padding: 4em 0 2em;
		}
	}

.floorMap {
	position: relative;
	}

.forSpInfo {
	display: none;
	}

@media only screen and (max-width: 810px) {
	.floorMap {
		padding-top: 8vw;
		}
	.forSpInfo {
		display: block;
		width: 40%;
		position: absolute;
		left: 50%;
		top: -5%;
		transform: translate(-50%,0);
		animation: zoominout 1s ease-in-out infinite;
		}
	}

@keyframes zoominout {
	0%		{width: 40%;}
	25%		{width: 43%}
	50%		{width: 40%}
	100%	{width: 40%}
	}

.thumbImg {
	width: 60%;
	max-width: 600px;
	margin: 0 auto;
	border: 4px #4a9021 solid;
	}

.thumbImg.big {
	width: 80%;
	box-shadow: 10px 15px 0 0 rgba(0,0,0,0.1);
	}

/*ニュース*/
.news {
	}

.news > div.newsInner {
	margin: 0 auto;
	background-color: #255805;
	/*border: 6px #fff solid;*/
	border-radius: 2em;
	position: relative;
	}

.news > div.newsInner > div {
	box-sizing: border-box;
	padding: 3em;
	}

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

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

.news > div.newsInner > div > dl > dt > span {
	display: inline-block;
	width: 90%;
	border-radius: 1em;
	background-color: #fff;
	color: #255805;
	font-size: 0.8em;
	font-weight: 600;
	text-align: center;
	}
	
.news > div.newsInner > div > dl > dd {
	box-sizing: border-box;
	padding-right: 3em;
	padding-bottom: 0.2em;
	flex-basis: 80%;
	margin-bottom: 0.2em;
	/*border-bottom: 1px #666 solid;*/
	position: relative;
	font-size: 1.2em;
	color: #fff;
	}

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

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

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

@media only screen and (max-width: 960px) {
	.news > div.newsInner {
		border-width: 4px;
		}

	.news > div.newsInner > div {
		padding: 2em;
		}
	
	.news > div.newsInner {
		}

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

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

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

.topMoviewWrap {
	padding: 6em 0;
	}




.footcont {
	padding-top: 5em;
	}

.prize-copyright {
	margin-top: 6em;
	text-align: center;
	font-size: 0.7em;
	line-height: 1.6;
	letter-spacing: 0.01em;
	color: #999;
	}

@media only screen and (max-width: 960px) {
	.prize-copyright {
		text-align: left;	
		}
	}

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

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

@media only screen and (max-width: 810px) {
	.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: 90%;
	max-width: 600px;
	padding: 15px 20px;
	border-radius: 12px;
	margin: 0 auto;
	background-color: #fff;
	box-shadow: 3px 3px 4px 0px rgba(0,0,0,0.4);
	border: 4px #000 solid;
	font-size: 1.2em;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0;
	text-align: center;
	color: #000;
	text-decoration: none;
	position: relative;
	}

.button:not(.disabled) a::after {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	border-top: solid 4px #000;
	border-right: solid 4px #000;
	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: #614c3f;
	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, .tweet) a:hover {background: rgba(255,233,89,1.00);}

.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.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;}
.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;}


.price {
	font-weight: bold;
	font-size: 3em;
	text-align: center;
	color: #ffffff;
	line-height: 1.2;
	-webkit-text-stroke: 12px #e60012;
	paint-order: stroke;
	}

.price > span {
	font-size: 0.7em;
	}



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

footer .taitoLogo {
	width: 200px;
	margin: 0 auto 30px;
	}

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;
	font-weight: 400;
	}

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.8em;
		}
	}
/*フッター ここまで------------------------------------------------------------------------------*/

/*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 1em;
		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: 960px){
.flexBox>div {padding: 1em 0.5em;}
.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: 810px){
.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;
	}

@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: #8f7e31!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 #8f7e31;
	border-left: solid 6px #8f7e31;
	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 #8f7e31;
	border-left: solid 6px #8f7e31;
	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_250624_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;
	}

.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;}
	}



/*フェード*/
.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;
	}

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: #c6b462;
	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 #c6b462 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-list {
	position: relative;
	}

.slick-dots {
	margin-bottom: 6em;
	}

.slick-arrow {
	position: absolute;
	z-index: 3;	
	height: 0;
	width: 0;
	background-color: transparent;
	border: none;
	color: transparent;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	padding: 0;
	}

.slick-arrow:hover {
	cursor: pointer;
}

.slick-prev {
	top: 45%;
	left: 20%;
	}

.slick-prev::before {
	content: "";
	display: block;
	padding: 0;
	margin: 0;
	width: 40px;
	height: 40px;
	border-top: none;
	border-right: none;
	border-bottom: solid 8px #3a9abd;
	border-left: solid 8px #3a9abd;
	transform: rotate(45deg);
	position: absolute;
	top: 0px;
	left: 0px;	
	}

.slick-next {
	top: 45%;
	right: 20%;
	}


.slick-next::before {
	content: "";
	display: block;
	padding: 0;
	margin: 0;
	width: 40px;
	height: 40px;
	border-top: none;
	border-right: none;
	border-bottom: solid 8px #3a9abd;
	border-left: solid 8px #3a9abd;
	transform: rotate(-135deg);
	position: absolute;
	top: 0px;
	right: 0px;
	}

@media only screen and (max-width: 810px){
	.slick-prev {
		top: 40%;
		left: 5%;
		}

	.slick-next {
		top: 40%;
		right: 5%;
		}
	}

.slick-dots li.slick-active {
	background-color: #3a9abd;
	}