@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 {
    -webkit-tap-highlight-color: transparent;
    tap-highlight-color: transparent;
	}
	body::before{
		content: "";
		display: block;
		position: fixed;
		top:0;
		left:0;
		z-index: -1;
		width: 100%;
		height: 100vh;
		background-image: url(../../img/bg.jpg);
		background-size: cover;
		background-repeat: repeat;
		background-position: top center;
	}
/*---color---*/
:root{
	--red:#e51c24;
}
/*---mario-logo---*/
/*スーパーマリオシリーズのときはコメントアウトする*/
/*.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;
}*/
/*//スーパーマリオシリーズのときはコメントアウトする*/

/*---Common---*/
.contentWidth > .secInner{
	width:90%;
	max-width:1024px;
	height: auto;
	margin:0 auto;
}
.secInner{
	max-width:1920px;
	margin:0 auto;
	position: relative;
	}

/*---figure---*/
figure{
position: absolute;
z-index: 10;
	}
	figure.peach{
		width: 23%;
		top:27%;
		left:-10%;
	}
	figure.kinopio{
		width: 23%;
		top:-5%;
		right:-10%;
	}
	figure.luigi{
		width: 23%;
		top:70%;
		left:-10%;
	}
	figure.yoshi{
		width: 23%;
		top:73%;
		right:-10%;
	}
h1, p {
	margin: 0px;
}
ul, li {
	list-style-type: none;
	padding: 0px;
	margin: 0px;
}
section {
	margin-bottom: 4rem;
}

/*---productList----*/
.productList {
    margin-bottom: 0px;
	background-color:#fff;
	width: 100%;
	padding: 1% 0px 0px;
	margin: 0px;
}

/*---secTitle----*/
.secTitle {
    margin-bottom: 1rem;
}
.secTitle>h2 {
    margin: 0px;
}
/*---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{
		text-align: center;
		font-weight: bold;
		font-size: x-large;
		position: relative;
		}
		.Button a{
			text-decoration: none;
			color: #FFFFFF;
			display: block;
			padding-bottom: 30px;
			padding-top: 30px;
			background: var(--red);
			border-radius: 10px;
			margin: 1rem auto 0;
			text-align: center;
			font-size: 2.5rem;
			}
			.Button a:hover{
				background: #F16469;
				color: #ffdc00;
			}
			.Button a:after{
				font-family:"Font Awesome 5 Free";
				content:'\f0da';
				padding:0;
				top:50%;
				right: 5%;
				transform: translateY(-50%);
				position: absolute
			}

/*---firstView---*/
.firstView > .secInner{
	width:100%;
  max-width:1920px;
  margin:auto;
}
.firstView .contentWrap{
  position:relative;
}
.firstView h1{
	margin-top:0 !important;
	position:relative;
	text-align:center;
	border-bottom:10px solid #ffe701;
  /* 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{
	border:none;
	/* 
	position:relative;
	margin:-2rem 0 0;
	background:url(../../img/red_band.png)repeat-x;
	background-position:center bottom;
	background-size:1500px;
	padding-top:100px;
	*/
}

/*---background---*/
.background {
    background-color: #fff;
    border: 6px solid var(--red);
    border-radius:16px;
    overflow: hidden;
    padding: 2rem;
    box-sizing: border-box;
	}
.background2 {
    background-color: #fff;
    border: 6px solid var(--red);
    box-sizing: border-box;
    border-radius:16px;
    overflow: hidden;
}
.background3-1 {
    background-color: var(--red);
    border: 6px solid var(--red);
    box-sizing: border-box;
    border-radius:16px 16px 0px 0px;
    overflow: hidden;
}
.background3-2 {
    background-color: #fff;
    border: 6px solid var(--red);
    box-sizing: border-box;
    border-radius:0px 0px 16px 16px;
    overflow: hidden;
    padding: 1rem;
    margin-bottom: 4rem;
	}
	.background3-2 + .imageBox{
		margin-bottom:3rem;
	}
.background4 {
    background-color: #fff;
    border: 6px solid var(--red);
    box-sizing: border-box;
    border-radius:16px;
    padding: 0.5rem;
    overflow: hidden;
}

/*---linkSystem---*/
.linkSystem .secTitle {
    margin: 0px;
}
#LinkSystem .secTitle {
    margin-bottom: 0;
}

/*---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---*/
.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---*/
.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---*/
.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 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---*/
table{
	border-collapse:separate;
	border-spacing:0 10px;
	width:100%;
	font-size:1rem;	
}
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;*/
}
.ProductDescription th{
	padding-top: 1rem;
}
.ProductDescription td{
	/*border-top:solid 1px;*/
	/*font-weight:normal;*/
}
.ProductDescription td:before{
	content:unset;
}
.ProductDescription h3{
	border-bottom:solid 1px;
}
.ProductDescription p{
	padding: 0 0 1rem;
}
.ProductDescription .copy{
	text-align: right;
	padding-top:2rem;
}
/*---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 {
  text-align: center;
	color: white;
	font-size: clamp(.9rem, 2vw, 1rem);
	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: 10px;
}
#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;
	}

/*--- flexbox ---*/
.flexbox{
	display:flex;
	flex-wrap:nowrap;
	}
	.flexbox div{
		width: 100%;
		flex: 1;
		padding: .5rem;
		box-sizing: border-box;
	}

/*--- recommend ---*/
#recommend p{
	text-align: center;
	font-size: clamp(.8rem, 2vw, .9rem);
}

/*---------fadein--------*/	
/* 画面外にいる状態 */
.fadein {
    opacity : 0.1;
    transform : translate(0, 50px);
    transition : all 500ms;
    }
 
/* 画面内に入った状態 */
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
	margin: 0;	
    }

.fadein.scrollin picture{
	line-height: 0;
}
