@charset "utf-8";

/* 共通パーツ */
html, body{
	width:100%;
	height:100%;
	font-family: 'Zen Old Mincho', serif;
	-webkit-font-smoothing: antialiased;
}
html{overflow-y: scroll;font-size: 625%;}

a:link {color: #222047;text-decoration: none;}
a:visited {color: #222047;text-decoration: none;}
a:hover{cursor: pointer;text-decoration: none; color: #006dfc; transition: all .3s ease-out;}
.btn:hover, .btnL:hover {transform: scale(1.02,1.02); transition: all .3s ease-out;}
.btn_win:hover, .btn_menu:hover, .close:hover, #precautions .ttl:hover{cursor: pointer;opacity: .6; transition: all .3s ease-out;}


.button{
	position: relative;
	margin: 0 auto;
	display: inline-block;
	width: auto;
	max-width: 100%;
	padding: 6px 4em;
	border-radius: 100px;
	background-color: #006dfc;
	border: solid 1px #006dfc;
	color: #ffffff !important;
	text-align: center;
	font-weight: 900;
}
.button.brown{background-color: #aa8f3d;border: solid 1px #aa8f3d;}
.button.green{background-color: #4aa1ba;border: solid 1px #4aa1ba;}
.button.purple{background-color: #4B4B6D;border: solid 1px #4B4B6D;}
.button.red{background-color: #ff6f61;border: solid 1px #ff6f61;}
.button::after{
	position: absolute;
	display: block;
	content: '';
	top:0;
	right: 15px;
	width: 12px;
	height: 100%;
	background-image: url("../img/arrow.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 50% 50%;
}

.both{clear:both;}
.block{display: block;}
.nodisp{
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	height: 0;
}
.caution{
	padding-top: 10px;
    font-size: .12rem;
    line-height: 1.6em;
}
.center{text-align: center;}
.right{text-align: right;}
.strong{font-weight: 900;}
.underline{text-decoration: underline !important;}
.flexbox{
	position: relative;
	margin: 0 auto;
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flexbetween{justify-content: space-between;}
.flexaround{justify-content: space-around;}
.flexcenter{justify-content:center;}
.flexstart{justify-content:flex-start;}
.flexaligncenter{align-items: center;}
.flexalignstart{align-items: flex-start;}
.flexstretch{align-content: stretch;}
.flexbox .box{
	position: relative;
	margin: 0;
	width: 100%;
	box-sizing: border-box;
}

img{
	max-width: 100%;
	height: auto;
    display: block;
	margin: 0;
	padding: 0;
	vertical-align: bottom;
	image-rendering: high-quality;
}
/* chrome opera */
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
	body {
		image-rendering: -webkit-optimize-contrast;
	}
}
svg {vertical-align:bottom;max-width: 100%;}
img[src$=".svg"] {width: 100%;}

iframe[name="google_conversion_frame"] { position: absolute; top: 0; }

body{
	position: relative;
	width: 100%;
	color: #222047;
	background-color: #ffffff;
	font-size: .15em;
	line-height: 1.7em;
	font-weight: 700; 
	font-feature-settings: "halt" 1;
	word-wrap: break-word;
	z-index: -10;
}

section{
	position: relative;
	margin: 0 auto;
	padding: 0;
}

#wrap{position: relative;width: 100% !important; margin:0 auto; padding:0;overflow: hidden;opacity: 0;}
#main-contents{position: relative; padding:0;}

#loading{
	position: fixed;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #ffffff;
	transition: all .3s ease-in;
	z-index: 10000;
}
#loading.disp{top: -100%;}
#loading .spinner-box{
	position: absolute;
	top:50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 50px;
	height: 50px;
}
#loading .configure-border-1{
	width: 50px;
	height: 50px;
	padding: 2px;
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #006dfc;
	animation: configure-clockwise 3s ease-in-out 0s infinite alternate;
}
#loading .configure-border-2{
	width: 50px;
	height: 50px;
	padding: 2px;
	left: -50px;
	display: flex;
	justify-content: center;
	align-items: center;
	background:#ff6f61;
	transform: rotate(45deg);
	animation: configure-xclockwise 3s ease-in-out 0s infinite alternate;
}
#loading .configure-core{
	width: 100%;
	height: 100%;
	background-color: #ffffff;
}
@keyframes configure-clockwise {
	0% {transform: rotate(0);}
	25% {transform: rotate(90deg);}
	50% {transform: rotate(180deg);}
	75% {transform: rotate(270deg);}
	100% {transform: rotate(360deg);}
}
@keyframes configure-xclockwise {
	0% {transform: rotate(45deg);}
	25% {transform: rotate(-45deg);}
	50% {transform: rotate(-135deg);}
	75% {transform: rotate(-225deg);}
	100% {transform: rotate(-315deg);}
}


.contetsWrap{
	position: relative;
	margin: 0 auto;
	z-index: 10;
}
.contents{position: relative;opacity: 0;transform: translateY(15px);transition: transform .5s ease-out, opacity .8s ease-out;}
.contents.viewCont{opacity: 1;transform: translateY(0);}
.contents.contentsfade{transform: translateY(0);opacity: 0;transition: opacity .8s ease-out;}
.contents.contentsfade.viewCont{opacity: 1;}

h2{position: relative;overflow: hidden;z-index: 1;}
h2 img{
	position: relative;
	margin: 0 0 8px -5px;
	width: calc(100% + 5px);
	max-width: calc(100% + 5px);
}

h3{
	position: relative;
	margin: 0 auto;
	text-align: center;
}
h3 span{
	position: relative;
	margin: 0 auto;
	display: inline-block;
	width: auto;
	min-width: 140px;
	padding: 3px 3em;
	text-align: center;
	background-color: #f5ec6e;
	font-size: .15rem;
	font-weight: 900;
}

footer{
	position: relative;
	margin:  100px auto 0 auto;
    text-align: center;
	z-index: 20;
	padding: 60px 0 220px 0;
	background-color: #d8e1ee;
}
footer::after{
	position: absolute;
	display: block;
	content: '';
	top: -15px;
	left: 0;
	width: 100%;
	height: 28px;
	background-repeat: repeat-x;
	background-size: auto 28px;
	background-position:50% 0;
	background-image: url("../img/footer.png");
}
footer p{position: relative; margin: 0 auto 5px auto;font-size: .13rem;}
footer .copyright{margin: 0 auto}
footer ul.footbnr{
	position: relative;
	margin: 0 auto 40px auto;
	width: calc(100% - 40px);
}
footer ul.footbnr li{position: relative;width: 100%; margin: 0 auto 20px auto;}
footer ul.footbnr li:first-child{width: 200px; margin: 0 auto 40px auto;}

footer .realdgameLogo{
    position: relative;
    display: block;
	width: 80%;
	margin: 0 auto;
}

#btn_ticket{
	position: fixed;
	width: 115px;
	height: 80px;
	bottom:-130px;
    right: 0;
	z-index: 98;
	transition: all .3s ease-out;
}
.dispTicket{bottom: 0 !important;}

#shareBtn{
	position: fixed;
	width: 50px;
	bottom: 80px;
	right: -70px;
	transition: all .3s ease-out;
    z-index: 100;	

}
#shareBtn ul.snsShare{
	position: relative;
	margin: 0 auto;
}
#shareBtn ul.snsShare li{width: 100%;margin-bottom: 5px;}
.dispShare{right: 0 !important;}


/* navigation */
nav{
	position: fixed;
	top:0;
	left: calc(100% + 20px);
	padding: 0;
	height: 100vh;
	width: calc(100% + 20px);
	overflow-y: auto;
	z-index: 1500;
	transition: all .3s ease-out;
}
nav .navWrap{
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	background-image: url("../img/bg_menu.jpg");
	background-position: 50% 0;
	background-size: 100% auto;
}
nav ul{
	position: relative;
	margin: 80px auto 0 auto;
	transform: translateX(-10px);
}
nav ul li{
	position: relative;
	margin: 0 auto 10px auto;
	width: calc(100% - 60px);
	font-size: .18rem;
	font-weight: 900;
	border-bottom: solid 3px #fdffd5;
	background-image: url("../img/icon_menu.png");
	background-position: 5px 100%;
	background-size: 20px auto;
	background-repeat: no-repeat;
}
nav ul li a{display: block;padding: 20px 0 5px 50px;}
.dispMenu{left: 0;}
.btn_menu{
	position: fixed;
	top:-80px;
	right:-80px;
	display: block;
	width: 50px;
	height:50px;
    z-index: 702;
	opacity: 1;
    transition: all .6s ease-out;
}
.btn_menu.disp{right:0;top:0;opacity: 1;}
.close, .btn_win{
	position: fixed;
	top:-80px;
	right: -80px;
	width: 50px;
	height: 50px;
	z-index: 1501;
    opacity: 0;
    transition: all .4s ease-out;
}
.close.disp, .btn_win.disp{right:0;top:0;opacity: 1;}

/* youtube */
.movieWrap{
    position: relative;
    margin: 0 auto;
	width: calc(100% - 40px);
}
.movieWrap.border{
	border: solid 1px #006dfc;
	padding: 5px;
}
.movie{
	position: relative;
	margin:0 auto;
	width: 100%;
	height: 0;
	padding-top: 56.25%;
}
.movie iframe{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
}

.opwin{
	position: fixed;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255,255,255,.96);
	opacity: 0;
	display: none;
	z-index: 1400;
	overflow-y: auto;
	justify-content: center;
	align-items: center;
    transition: all .3s ease-out;
}
.close_win {
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 1401;
	overflow: hidden;
 }
.modal{
	position: relative;
	margin: 0;
	opacity: 0;
	z-index: 1402;
	display: none;
}
.modal .mordalinner{
	position: relative;
	opacity: 0;
	transition: all .3s ease-out;
}
.modal .mordalinner.disp{opacity: 1;}

.checkBlock{
	position: relative;
	width: calc(100% - 100px);
	margin: 0 auto;
	background-color: #FFFDF5;
	padding: 50px 30px;
	border-radius: 30px;
	border: solid 1px;
}
.checkBlock h3{
	position: relative;
	margin: 0 auto 40px auto;
	text-align: center;
	font-size: .24rem;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-decoration-color: rgba(34,32,71,.5);
	text-underline-offset: 12px;
	text-decoration-skip-ink: none;
}
.checkBlock ul{position: relative;}
.checkBlock ul li{
	position: relative;
	margin: 0 auto 10px auto;
	padding-left: 1.2em;
}
.checkBlock ul li a{text-decoration: underline;}
.checkBlock ul li::before{
	position:absolute;
	content: '◆';
	top:0;
	left: 0;
}
.checkBlock .btn_reg{
	position: relative;
	margin: 0 auto;
	width: calc(100%  - 30px);
	padding: 15px 0;
	background-color: #DEDFE1;
	border: solid 1px #DEDFE1;
	text-align: center;
	color: #EFF4FB;
	border-radius: 10px;
	font-size: .20rem;
	font-weight: 900;
	transition: all .3s ease-out;
}
.checkBlock .btn_reg.disp{background-color:  #006dfc;border: solid 1px #006dfc;color: #ffffff;cursor: pointer;}
.checkBlock .btn_reg.disp:hover{background-color: #ffffff; color: #006dfc;}
.checkBlock .inputArea{
	position: relative;
	margin: 20px auto;
	width: 50px;
	height: 80px;
	display: block;
}
/*Checkbox*/
input[type="checkbox"] { display: none; }
input[type="checkbox"] + label {
  display: block;
  position: relative;
  padding-left: 35px;
  margin-bottom: 20px;
  font: 14px/20px 'Open Sans', Arial, sans-serif;
  color: #ddd;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}
input[type="checkbox"] + label:last-child { margin-bottom: 0; }
input[type="checkbox"] + label:before {
  content: '';
  display: block;
  width: 50px;
  height: 50px;
  border: 3px solid #ff6f61;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transition: all .12s, border-color .08s;
  transition: all .12s, border-color .08s;
}

input[type="checkbox"]:checked + label:before {
  width: 30px;
  top: -5px;
  left: 5px;
  border-radius: 0;
  opacity: 1;
  border-top-color: transparent;
  border-left-color: transparent;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}


.sp{ display: block; }
.pc{ display: none; }


/* ----- pc ----- */
@media screen and (min-width: 641px) {
		
	.sp{ display: none; }
	.pc{ display: block; }
    
    body{font-size: .16em;background-size: auto auto;}
	
	#loading img{max-width: 300px;}

	.caution{font-size: .14rem;letter-spacing: -.02em;}
	
	#wrap{padding: 0;}
	
	.contetsWrap{max-width: 960px;margin: 0 auto;}
	
	.button{padding: 12px 1em;}
	.button.arrowB::after{
		right: 20px;
		width: 25px;
	}
	.button:hover{background-color: #ffffff;color: #006dfc !important;}
	.button.brown:hover{background-color: #ffffff;color: #aa8f3d !important;}
	.button.green:hover{background-color: #ffffff;color: #4aa1ba !important;}
	.button.purple:hover{background-color: #ffffff;color: #4B4B6D !important;}
	.button.red:hover{background-color: #ffffff;color: #ff6f61 !important;}

	h2{max-width:985px; margin: 0 auto;}
	h2 img{
		margin: 0 0 20px 0;
		max-width: 460px;
	}
	h3 span{
		font-size: .18rem;
		min-width: 310px;
		padding: 10px 3em;
	}

	footer{
		margin:  100px auto 0 auto;
		padding: 80px 0 10px 0;
	}
	footer::after{
		height: 34px;
		background-size: auto 34px;
	}
	footer p{font-size: .14rem;}
	footer ul.footbnr{
		margin: 0 auto 40px auto;
		max-width: 380px;
	}
	footer .realdgameLogo{width: 100%;}

	#btn_ticket{
		width: 140px;
		height: 100px;
		bottom:-150px;
	}
	#shareBtn{
		width: 60px;
		bottom: 100px;
		right: -80px;
	}
	#shareBtn ul.snsShare li{margin-bottom: 10px;}

	/* navigation */
	nav .navWrap{background-image: url("../img/bg_menu_pc.jpg");background-size: cover;}
	nav ul{
		margin: 100px auto 0 auto;
		max-width: 450px;
	}
	nav ul li{
		margin: 0 auto 20px auto;
		max-width:560px;
		background-position: 10px 100%;
		background-size: 20px auto;
	}
	nav ul li a{padding: 20px 0 5px 90px;}
	nav ul li a:hover{color: #fdffd5;}
	
	.btn_menu{
		width: 70px;
		height:70px;
	}
	.close, .btn_win{
		width: 70px;
		height: 70px;
	}
	
	/* youtube */
	.movieWrap{max-width: 520px;}
	
	.checkBlock{
		width: calc(100% - 100px);
		padding: 50px;
	}
	.checkBlock .btn_reg{max-width: 240px;}
}