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

body{
	height: 100%;
	font-family: YakuHanJP_Noto,Noto Sans JP,sans-serif;
	font-weight: 400;
	font-style: normal;
	background-size: cover;
	background-color: transparent;
	font-size: 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;
	}

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: #22b6cc;text-decoration: none;cursor: pointer;font-weight: 600;}
a:visited	{color: #22b6cc;}
a:hover		{color: #26c7df;}
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 {
	position: fixed;
	z-index: 5;
	top: 0;
	left: -60px;
	background-color: #fff;
	transform: skewX(-30deg);
	padding: 0;
	box-shadow: 2px 4px 3px rgba(0,0,0,0.1);
	}

h1 > span {
	display: inline-block;
	padding: 20px 80px 15px 120px;
	margin: 0;
	transform: skewX(30deg);
	}

section h1 img {
	margin: 0;
	width: 452.95px;
	height: 80px;
	}

@media only screen and (max-width: 960px) {
	h1 > span {
		padding: 10px 40px 8px 80px;
		margin: 0;
		transform: skewX(30deg);
		}
	
	section h1 img {
		width: 226.483px;
		height: 40px;
		}
	}

@media only screen and (max-width: 480px) {
	h1 > span {
		padding: 10px 40px 8px 80px;
		margin: 0;
		transform: skewX(30deg);
		}
	
	section h1 img {
		width: 169.85px;
		height: 30px;
		}
	}



h2 {
	font-weight: 800;
	margin: 0 auto 1em 0;
	padding: 0 0 0.2em;
	letter-spacing: 0.01em;
	font-size: 4em;
	line-height: 1.2;
	color: #e60012;
	text-shadow: 1px 1px 10px #fff, 1px 1px 2px #fff;
	text-align: center;
	 position: relative;
	}

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

h2::before {
	content: '';
	width: 16px;
	height: 16px;
	border: 0;
	border-bottom: solid 8px #e60012;
	border-right: solid 8px #e60012;
	transform: rotate(45deg);
	position: absolute;
	bottom: 0;
	left: calc(50% - 16px);
	bottom: -0.5em;
	margin: auto;	
	}

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

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

h3 {
	display: inline-block;
	margin: 0 auto 0.5em;
	padding: 0.05em 0.5em;
	letter-spacing: 0.01em;
	font-size: 2.4em;
	font-weight: 600;
	font-style: italic;
	line-height: 1.2;
	/*color: #089070;*/
	color: #0561ae;
	border-left: 10px #0561ae solid;
	}
h3.small {font-size: 1.8em}

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

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

h4 {
	padding: 0 0 0 0.25em;
	margin: 0 0.5em;
	letter-spacing: 0;
	font-size: 1.4em;
	font-weight: 600;
	font-style: italic;
	color: #0860a8;
	position: relative;
	border-bottom: 3px #0860a8 solid;
	}

h4.eventinfo {
	color: #999;
	border-bottom: 3px #999 solid;
	}

/*h4::before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	border-top: solid 4px #089070;
	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: 1em;
	margin: 0;
	letter-spacing: 0;
	font-size: 1em;
	font-weight: 600;
	line-height: 1.1em;
	}

@media only screen and (max-width: 810px) {
	h5 {	font-size: 0.9em;}
	}
@media only screen and (max-width: 480px) {
	h5 {	font-size: 0.8em;}
	}


h6 {}

p{
	padding: 1em;
	letter-spacing: 0.1em;
	color: #333;
	}

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

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

th, td {
	border-bottom: 1px #999999 solid;
	padding: 2em 20px;
	vertical-align: top;
	}

tr:first-child th, tr:first-child td {
	border-top: 1px #999999 solid;
	}

th {
	word-break: keep-all;
	text-align: right;
	font-weight: 600;
	color: #0860a8;
	background-color: #F8F8F8;
	}

td {
	font-weight: 400;
	background-color: #FCFCFC;
	}

@media only screen and (max-width: 960px) {
	table {
		min-width: inherit;
		width: 90%;
		}
	
	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: 20px;
	right: 20px;
	display: flex;
	letter-spacing: 0.02em;
	box-sizing: border-box;
	margin: 0;
	padding: 15px 10px;
	/*border-radius: 10px;*/
	background-color: #22b6cc;
	border: 2px #fff solid;
	box-shadow: -3px 3px 0 0 rgba(0,0,0,0.1);
	}

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

.global-nav__list li a {
	display: block;
	padding: 0 2em;
	border-left: 1px solid rgba(0,0,0,0.1);
	border-right: 1px solid rgba(255,255,255,0.4);
	text-decoration: none;
	color: #fff;
	font-size: 1.2em;
	font-weight: 600;
	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(255,255,255,0.3);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 #fff;
    border-right: solid 2px #fff;
    transform:rotate(45deg);
    position: absolute;
    bottom: 20%;
    left: 0.5em;
	}

/*画面幅が狭くなったらハンバーガーメニュー化*/
@media only screen and (max-width: 1280px) {
	/*スクロールでメニューを消すを無効化*/
	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: #22b6cc;
		border: 2px #fff solid;
		/*border-radius: 4px;*/
		box-shadow: -4px 4px 0 0 rgba(0,0,0,0.1);
		}

	.hamburger__line {
		position: absolute;
		left: 14px;
		width: 52px;
		height: 6px;
		background-color: #fff;
		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: #22b6cc;
		border: none;
		/*transition: all .6s;*/
		z-index: 999;
		overflow-y: auto; /* メニューが多くなったらスクロールできるように */
		margin: 0;
		padding: 100px 0 0;
		list-style: none;
		box-shadow: none;
		}

	.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 #fff;
		text-decoration: none;
		}

	.global-nav__list li:not(.disabled) a::before {
		content: "";
		display: inline-block;
		width: 6px;
		height: 6px;
		border-top: solid 2px #fff;
		border-right: solid 2px #fff;
		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 #8f7e31 solid;*/
		box-shadow: -3px 3px 0 0 rgba(0,0,0,0.1);
		}

	.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: 2px #22b6cc solid;*/
	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: #22b6cc;
	/*border-radius: 4px;*/
	border: 2px #fff solid;
	box-shadow: -3px 3px 0 0 rgba(0,0,0,0.1);
	}

#bottomMenu a.gotop::before {
    content: "";
    display: inline-block;
    width: 40px;
    height: 40px;
    height: 40px;
    border-top: solid 6px #fff;
    border-right: solid 6px #fff;
    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 #fff;
    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 #fff;
		border-right: solid 3px #fff;
		top: 18px;
		left: 14px;
		}

	#bottomMenu a.gotop::after {
		width: 20px;
		height: 0px;
		border-top: solid 3px #fff;
		border-right: solid 3px #fff;
		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%;
	margin: 0 auto;
	}

section img.itemimg {
	width: 94%
	}

section ul {
	padding: 1em 1em 1em 2em;
	letter-spacing: 0.1em;
	color: #333;
	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 #089070;
    position: absolute;
    top: 0.8em;
    left: -0.75em;
	}

/*ヘッダー*/
.headContent {
	aspect-ratio: 1200 / 675;
	position: relative;
	box-sizing: border-box;
	overflow: hidden;
	margin-bottom: 6em;
	background-color: #000;
	}

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

@media only screen and (max-width: 1280px) {
	.headContent {
		aspect-ratio: 0.625 / 1;
		}
	}

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

/*ヘッダのキービジュアル*/
.rotation {
	position: relative;
	}

section .rotation figure {
	opacity: 0;
	position: absolute;
	top: 0;
	}

section .rotation figure > figcaption {
	position: absolute;
	top: 8em;
	left: 2em;
	}

section .rotation figure > figcaption > p {
	color: #fff;
	font-size: 1vw;
	text-shadow: 0 0 2px rgba(0,0,0,255), 0 0 10px rgba(0,0,0,255);
	}

@media only screen and (max-width: 1280px) {
	section .rotation figure > figcaption {
		top: 4em;
		left: 0.5em;
		}
	
	section .rotation figure > figcaption > p {
		font-size: 2.5vw;
		}
	}


.caption01 {
	position: absolute;
	z-index: 4;
	bottom: -1px;
	right: -50px;
	background-color: #fff;
	transform: skewX(-30deg);
	padding: 0;
	}

.caption01  > span {
	display: inline-block;
	padding: 40px 100px 15px 80px;
	margin: 0;
	transform: skewX(30deg);
	}

section .caption01 img {
	width: 600px;
	margin: 0;
	}


@media only screen and (max-width: 960px) {
	.caption01  > span {
		padding: 20px 80px 8px 40px;
		}
	
	section .caption01 img {
		width: 300px;
		}	
	}

@media only screen and (max-width: 480px) {
	.caption01  > span {
		padding: 20px 80px 0px 40px;
		}
	
	section .caption01 img {
		width: 200px;
		}	
	}


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

.partationBox {
	border-bottom: 1px #aaaaaa solid;	
	padding: 3em 0;
	}

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

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

/*ニュース*/
.news {
	z-index: 3;
	width: 100%;
	min-height: 50%;
	box-sizing: border-box;
	position: absolute;
	bottom: 0;
	left: 0;
	background: #000000;
	background: linear-gradient(0deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.43) 74%, rgba(0, 0, 0, 0) 100%);
	padding: 3em 2em 3em 2em;
	}

.news > dl {
	box-sizing: border-box;
	width: 50%;
	height: auto;
	overflow: auto;
    scrollbar-color: #fff #fff;
    scrollbar-width: thin;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	letter-spacing: 0;
	position: absolute;
	bottom: 6em;
	}

.news > dl > dt {
	box-sizing: border-box;
	flex-basis: 15%;
	margin-bottom: 0em;
	text-align: center;
	font-size: 1.2vw;
	font-weight: 400;
	color: #fff;
	text-shadow: 0px 0px 3px rgba(0,0,0,1), 0px 0px 10px rgba(0,0,0,1);
	}

.news > dl > dd {
	box-sizing: border-box;
	flex-basis: 85%;
	padding-right: 3em;
	padding-bottom: 0.5em;
	margin-bottom: 0em;
	/*border-bottom: 1px #fff dotted;*/
	position: relative;
	font-size: 1.2vw;
	font-weight: 600;
	color: #fff;
	text-shadow: 0px 0px 3px rgba(0,0,0,1), 0px 0px 10px rgba(0,0,0,1);
	}

.news > dl > dd > a {
	display: block;
	width: 100%;
	color: #69e8ff;
	}

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

@media only screen and (max-width: 1280px) {
	.news {
		height: 60%;
		padding: 3em 1em 0em 1em;
		}

	.news > dl {
		width: 98%;
		bottom: 18vw;
		}
	.news > dl > dt {
		flex-basis: 20%;
		font-size: 2.9vw;
		}
	.news > dl > dd {
		flex-basis: 80%;
		font-size: 2.9vw;
		}

	.news > dl > dd > a::after {
		width: 5px;
		height: 5px;
		bottom: 40%;
		right: 2em;
		}
	
	}

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

.floormap {
	width: 90%;
	max-width: 900px;
	margin: 2em auto;
	}

.lastMessage {
	width: 90%;
	margin: 3em auto 0;
	text-align: center;
	letter-spacing: 0.01em;
	line-height: 1.2;
	font-weight: 600;
	font-style: italic;
	font-size: 2.4em;
	color: #0860a8;
	}

@media only screen and (max-width: 810px) {
	.lastMessage {
		font-size: 1.8em;
		}
	}

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


/*汎用ボタン*/
.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.wide {
	flex-basis: 100%;
	}

.button a {
	display: block;
	box-sizing: border-box;
	width: 95%;
	max-width: 600px;
	padding: 15px 20px;
	/*border-radius: 6px;*/
	margin: 0 auto;
	background-color: #22b6cc;
	border: 2px #fff solid;
	box-shadow: 4px 4px 0px 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: #fff;
	text-decoration: none;
	position: relative;
	}

.button:not(.disabled) 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: 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.offcialX a {
	background-color: #000;
	}

.button.taitoChannel a {
	background-color: #ff0033;
	}

.button:not(.disabled, .offcialX, .taitoChannel) a:hover {background: #26c7df;}

.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.8em;}
.large	{font-size: 1.2em;}
.big	{font-weight: bold;font-size: 1.8em;}
.morebig {font-weight: bold;font-size: 2.2em;}
.center	{text-align: center;}
.spaced {padding: 2em;}
.slim {padding: 0.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;}

@media only screen and (max-width: 810px) {
	.big	{font-size: 1.4em;}
	.morebig {font-size: 1.8em;}
	.small {font-size: 0.6em;}
}

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

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;
	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: flex-start;
	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: calc(100% / 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: calc(100% / 3);}
.boxset4>div {flex-basis: calc(100% / 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: calc(100% / 3);}
.boxset4>div {flex-basis: 50%;}
.boxset3>div {flex-basis: 50%;}
.boxset2>div {flex-basis: 100%;}	
}


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


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

@media only screen and (max-width: 810px) {
	.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-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;}
	}

.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: #333;
	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;
}

