@charset "utf-8";
body, html, div, p, span, li, ul, a, h1, h2, h3, h4, h5, h6, input, button {
    font-family: メイリオ, Meiryo, "Open Sans", 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
body.IE,
.IE div,
.IE p,
.IE span,
.IE li,
.IE ul,
.IE a,
.IE h1,
.IE h2,
.IE h3,
.IE h4,
.IE h5,
.IE h6,
.IE input,
.IE button{
    font-family: "メイリオ",Meiryo,"游ゴシック",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}
body {
    background-image: url(../../img/bg.png);
    background-repeat: repeat;
    background-size: 110px;
    -webkit-tap-highlight-color: transparent;
    tap-highlight-color: transparent;
}
/*スーパーマリオシリーズのときはコメントアウトする*/
/*.mario-logo {
	background: url(../../img/logo.png)no-repeat !important;
	width: 96px !important;
	height: 54px;
	background-size: contain;
	background-size: 96px 54px;
}
.mario-logo img {
  display: none;
}
.logo-wrap .logo {
    width: 18%!important;
}*/
/*//スーパーマリオシリーズのときはコメントアウトする*/
.secInner{
    max-width:1920px;
    margin:0 auto;
}
h1, p {
    margin: 0px;
}
ul, li {
    list-style-type: none;
    padding: 0px;
    margin: 0px;
}
section {
    margin-bottom: 4rem;
}
.productList {
    margin-bottom: 0px;
	background-color:#fff;
	width: 100%;
	padding: 1% 0px 0px;
	margin: 0px;
}
.secTitle {
    margin-bottom: 2rem;
}
.secTitle>h2 {
    margin: 0px;
}
#LinkSystem .secTitle {
    margin-bottom: 0;
}

/*Button*/

.btnWrap {
    text-align: center;
    margin: 2.2rem 0px 4rem 0px;
}
.commonButton {
    display: inline-block;
    padding: 1rem 2rem;
    text-align: center;
    text-decoration: none;
    border-radius: 10px;
    font-weight: bold;
    box-shadow: 0px 4px 0px #5F2E16;
    font-size: 1.5rem;
    transition: top 0.3s ease, box-shadow 0.3s ease;
    position: relative;
    top: 0px;
}
.Pc .commonButton:hover {
    top: 3px;
    box-shadow: 0px 1px 0px #5F2E16;
}
.orangeButton {
    width: 100%;
    max-width: 25rem;
    background-color: #EA4100;
    color: #fff;
}



/*/////Button*/



/* firstView */
.firstView > .secInner{
	width:100%;
    max-width:1920px;
    margin:auto;
}
.firstView .contentWrap{
    position:relative;
}
.firstView h1{
    position:relative;
	text-align: center;
    /* z-index:1; */
}
.firstView h1 .topImage {
    position:relative;
    z-index:0;
    margin:0;
	width:100%;
	max-width:1920px;
	height: auto;
	aspect-ratio:auto 1920/1080;
	/*width:auto;
	max-width:98%;
	max-height:80vh;*/
}
.topImageband{
	background:url(../../img/red_band.png)repeat-x;
	background-position:center bottom;
	background-size:1500px;
	padding-top:100px;
	border:none;
    position:relative;
	margin:-2rem 0 0;
    /* bottom: 0px;
    left:0px;
    transform: translateY(0%); */
}
/* //////firstView */



/*.background*/

.background {
    background-color: #fff;
    border: 6px solid #E51C24;
    border-radius:16px;
    overflow: hidden;
    padding: 1.5rem 2rem;
    box-sizing: border-box;
	}
.background2 {
    background-color: #fff;
    border: 6px solid #E51C24;
    box-sizing: border-box;
    border-radius:16px;
    overflow: hidden;
}
.background3-1 {
    background-color: #E51C24;
    border: 6px solid #E51C24;
    box-sizing: border-box;
    border-radius:16px 16px 0px 0px;
    overflow: hidden;
}
.background3-2 {
    background-color: #fff;
    border: 6px solid #E51C24;
    box-sizing: border-box;
    border-radius:0px 0px 16px 16px;
    overflow: hidden;
    padding: 1rem;
    margin-bottom: 4rem;
	}
	.background3-2 p{
		text-align: center;
		font-weight: bold;
		font-size: x-large;
		position: relative;
		}
		.background3-2 p a{
			text-decoration: none;
			color: #FFFFFF;
			display: block;
			padding-bottom: 30px;
			padding-top: 30px;
			background: #E51C24;
			border-radius: 10px;
			width: 97%;
			margin: 0 auto 30px;
			text-align: center;
			font-size: 2.5rem;
			}
			.background3-2 p a:hover{
				background: #F16469;
				color: #ffdc00;
			}
			.background3-2 p a:after{
				font-family:"Font Awesome 5 Free";
				content:'\f0da';
				padding:0;
				top:50%;
				right: 5%;
				transform: translateY(-50%);
				position: absolute
			}

.background4 {
    background-color: #fff;
    border: 6px solid #E51C24;
    box-sizing: border-box;
    border-radius:16px;
    padding: 0.5rem;
    overflow: hidden;
}

.background3-2 + .imageBox{
    margin-bottom:3rem;
}


/* linkSystem */

.linkSystem .secTitle {
    margin: 0px;
}


/*howToPlay*/
.howToPlay .background{
    padding:0 0 1rem 1rem;
}
.imageShadow {
    border-radius: 1rem;
    /* box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.4); */
}
.howToPlay .listMark {
    color: #1B1462;
    font-weight: 900;
    /*text-shadow:white 1px 1px 0px, white -1px 1px 0px,white 1px -1px 0px, white -1px -1px 0px;*/
    font-size: 2.1rem;
    line-height: 1.2;
    margin-bottom: 2rem;
    text-align: center;
    letter-spacing: -3px;
}
.howToPlay h2 {
    margin-bottom: 1rem;
}

.howToPlay .hoverBox {
    text-align: center;
    position: relative;
}
.hoverPointBox {
    position: absolute;
    top: 0px;
    left: 0px;
    height: 100%;
    width: 100%;
}
.hoverPoint {
    position: absolute;
    width: 110px;
    height: 110px;
    border-radius: 100%;
    cursor: pointer;
/*     background-color: #000; */
}
.Pc .hoverPoint:hover {
    background-color: rgba(0, 0, 0, 0.4);
}
.hoverPoint.hp1 {
    bottom: 33.2%;
    right: 29.4%;
}
.hoverPoint.hp2 {
    bottom: 38.7%;
    right: 17.8%;
}
.hoverPoint.hp3 {
    bottom: 39.5%;
    right: 75%;
}
.hoverPoint.hp4 {
    bottom: 47.3%;
    right: 63.5%;
}
.hoverPoint.hp5 {
    bottom: 47.8%;
    right: 14.7%;
}
.hoverPoint.hp6 {
    bottom: 64.3%;
    right: 28.6%;
}
.hoverPoint.hp7 {
    bottom: 27.4%;
    right: 56.1%;
}
.hoverPoint.hp8 {
    bottom: 20.5%;
    right: 9.8%;
}
.hoverPoint.hp9 {
    bottom: 9.2%;
    right: 78.9%;
}

.popImageBox {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 473px;
    height: 273px;
    display: none;
}
.popImageBoxInner {
    position: relative;
    height: 100%;
    width: 100%;
}
.popImageBoxInner>img {
    position: absolute;
    top: 0px;
    left: 0px;
    display: none;
    width: 100%;
    height: 100%;
}

.discImage ul {
    /* width:946px; */
    margin: auto;
    display: flex;
    flex-wrap: wrap;
}
.discImage ul:after {
    content: " ";
    display: block;
    clear: both;
}
.discImage ul>li {
    float: left;
    /* margin:0px; */
    width: calc(50% - 1rem);
    margin: 0.5rem;
}
.discImage ul>li>img {
    cursor: pointer;
}
.Pc .discImage ul>li>img:hover {
    opacity: 0.8;
}

.modalBlock {
    position: fixed;
    left: 0px;
    top: 0px;
    z-index: 100;
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.4);
    display: table;
    display: none;
    table-layout: fixed;
}
.modalBlock>.modalBox {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
}
.modalBlock>.modalBox>.modalInner {
    max-width: 880px;
    margin: auto;
    padding: 0px 1rem;
    position: relative;
}
.modalBlock>.modalBox>.modalInner>.close {
    width: 4rem;
    height: 4rem;
    margin-left: auto;
    position: absolute;
    top: -4.2rem;
    right: 1rem;
    cursor: pointer;
    border: 4px solid #fff;
    border-radius: 100%;
    box-sizing: border-box;
    background-color: rgba(0, 0, 0, 0.1);
}

.modalBlock>.modalBox>.modalInner>.close:before,
.modalBlock>.modalBox>.modalInner>.close:after {
    content: " ";
    display: block;
    width: 75%;
    height: 4px;
    position: absolute;
    top: 0px;
    left: 12.5%;
    background-color: #fff;
    border-radius: 5px;
}
.modalBlock>.modalBox>.modalInner>.close:before {
    top: 47%;
    transform: rotate(45deg);
}
.modalBlock>.modalBox>.modalInner>.close:after {
    top: 47%;
    transform: rotate(-45deg);
}

/* playExpands  */
.playExpands .secTitle {}
.playExpands h2 {
    margin: 0px;
}

/*productInfo*/
.productInfo .it>.image {
    width: 45%;
    text-align: center;
}
.productInfo .it>.text {
    width: 60%;
}
.productInfo .productMargin{
    margin-left: calc((2rem * 1.8) - 0.4rem);
}
.productInfo .infoText .textInner {
    padding: 0 0 0 1.5rem;
}
.productInfo .infoText .textInner>ul>li {
    font-size: 1.6rem;
    font-weight: bold;
}
.productInfo .infoText .textInner span{
	font-size:70%;
}
table{
	border-collapse:separate;
	border-spacing:0 10px;
	width:100%;
	font-size:1.2rem;	
}
th{
	width:35%;
	padding-right:1rem;
	vertical-align:baseline;
	text-align:left;
	/*text-align-last:justify;
	letter-spacing:-.2rem;*/
}
th, td{
	font-weight:900;
}
td:before{
	content:"：";
	position:absolute;
	margin-left:-1.5rem;
	/*padding-left:.3rem;*/
}

/*---wacu Expansion*/

.productInfo .tablePc {
    height: 100%;
    width: 100%;
}
.productInfo .tableCellPc {
    vertical-align: middle;
}
.IE .productInfo .tablePc {
    display: block;
    height: 100%;
    width: 100%;
}
.IE .productInfo .tableCellPc {
    display: flex;
    align-items: center;
    height: 100%;
}

/*contentCopyright*/
.contentCopyright {
    text-align: center;
    /*font-size: 1.2rem;
	font-weight:bold;*/
}

/*scrollTop*/
#scrollTopWrap {
    position: fixed;
    bottom: -200px;
    right: 10px;
    -webkit-transition: bottom 0.3s;
    transition: bottom 0.3s;
    z-index: 1;
    user-select: none;
}

#scrollTopWrap.active {
    bottom: 50px;
}

#scrollTop {
    position: relative;
    width: 180px;
    height: 180px;
}

#scrollTop>* {
    position: absolute;
    top: 0px;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

#scrollTop>img.on {
    display: block;
}

#scrollTop>img.off {
    display: none;
}


/*------ youtube ------*/
.video-box{
	width:100%;
	max-width:1000px;
	margin:0 auto 20px;
	}
	@media screen and (max-width: 639px) {
	.video-box{
		margin:0 auto;
		padding:0;
		}
	}
.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	}
.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
	border-radius:13px;
	}

/*------ add ------*/
.flex{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	}
	.flex img{
		width:50%;
		margin:0 auto;
		padding:0rem;
		box-sizing:border-box;
		}
		@media screen and (max-width: 768px) {
		.flex imgx{
			width:100%;
			padding:.5rem 0;
			}
		}
.firstView{
	/*background:url(../../img/bg-red.gif)repeat;*/
}
h3.text{
	font-size: clamp(.9rem, 2vw, 1rem);
}
