@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=block');

* {
	margin:0;
	padding:0;
	text-shadow:none;
	letter-spacing:-0.01px;
	font-weight:normal;
	line-height:1.6;
	font-size:12px;
	font-family:"Roboto","Helvetica Neue",YakuHanJP, 'Noto Sans JP',"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",Osaka,"CI",Meiryo,"メイリオ","lroSVbN","ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color:#000000;
    outline : none;
	font-feature-settings: "palt";
	-webkit-text-size-adjust:100%;
}

html {
	position:relative;
	height:100%;
}

body {
	position:relative;
	background:#000000;
	height:100%;
}

a {
	outline:0;
	border:0;
	color:#0099ff;
	text-decoration:underline;
	transition:1.0s;
}

a:hover {
	opacity:0.75;
}

img {
	vertical-align:top;
	border:0;
    outline : none;
}

ul,ol {
	list-style:none;
}

/* コンテント */

#body {
	max-width:640px;
	min-width:320px;
	margin:0 auto;
	min-height:100%;
	position:relative;
	-webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.2);
	box-shadow: 0 0 1rem rgba(0, 0, 0, 0.2);
	background: #000002;
	background: linear-gradient(90deg, rgba(0, 0, 2, 1) 0%, rgba(73, 99, 105, 1) 50%, rgba(0, 0, 2, 1) 100%);
}

#body::before {
	background:url(../img/bg.jpg) center center;
	background-size:cover;
	content:"";
	display:block;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100vh;
	height:100dvh;
	min-height:100vh;
	min-height:100dvh;
	z-index:-5;
}

#body_in {
	position:relative;
}

#body_form  {
	padding:25px 0;
}

.content {
}

.only_pc {
}

.only_sp {
	display:none;
}

/* ヘッダー */

#header {
	position:relative;
	padding:20px 0 0 0;
}

#header img {
	width:100%;
}

#header h1 {
	text-align:center;
}

/* フォーム */

#form {
	padding:0 5% 20px 5%;
}

#form h2 {
	text-align:center;
	font-size:30px;
	font-weight:900;
	color:#f1d430;
	padding:10px 0 0 0;
	line-height:1.3;
}

#form h2 span {
	text-align:center;
	font-size:36px;
	font-weight:900;
	color:#f1d430;
}


#form .form_text {
	font-size:18px;
	text-align:center;
	font-weight:700;
	padding:20px 5% 40px 5%;
	color:#ffffff;
}

#form .form_text span {
	font-size:14px;
	font-weight:700;
	color:#ffffff;
}

#form .form_text_sub {
	font-size:14px;
	text-align:center;
	font-weight:500;
	color:#ffffff;
	padding:0 5% 20px 5%;
}

#form .form_text_sub a {
	font-size:14px;
	font-weight:500;
	color:#ffffff;
}

#form .form_text_sub.login {
	font-size:12px;
	padding:0 0 20px 0;
}

#form .form_text_sub.login a {
	font-size:12px;
	color:#fff100;
}

#form .form_text_sub.bot {
	padding:10px 0 30px 0;
	font-size:12px;
}

/* マイページ */

#mypage {
}

#mypage h2 {
	text-align:center;
	font-size:30px;
	font-weight:900;
	color:#f1d430;
}

#mypage .app_dl {
}

#mypage .app_dl_text {
	font-size:10px;
	color:#ffffff;
	text-align:left;
	margin:0 0 20px 0;
}

#mypage .mypage_present_box {
	margin:0 0 25px 0;
}

#mypage .mypage_present_title {
	text-align:center;
	font-size:16px;
	font-weight:700;
	color:#ffffff;
	margin:0 0 10px 0;
}

#mypage .form_rank {
	font-size:18px;
	text-align:center;
	font-weight:500;
	padding:15px 5% 10px 5%;
	background:rgba(255,255,255,0.25);
	margin:15px calc( 5% + 5px ) 0px calc( 5% + 5px );
	color:#ffffff;
}

#mypage .form_rank span {
	color:#ffcc00;
	font-size:30px;
	font-weight:700;
}

#mypage .form_text {
	font-size:16px;
	text-align:center;
	font-weight:700;
	padding:0 0 20px 0;
	color:#ffffff;
}

#mypage .form_text_sub {
	font-size:12px;
	font-weight:500;
	color:#ffffff;
	padding:10px 0 20px 0;
	text-align:center;
}

#mypage_box {
	position:relative;
	padding:20px 5% 0 5%;
}

.my_text {
	font-size:16px;
	color:#232323;
	text-align:center;
	padding:15px 5%;
}

#mypage_box img {
	width:100%;
}

#mypage #mypage_box_in {
	clear:both;
	overflow:hidden;
	padding:0 0 10px 0;
}

/*
#mypage #stamp_1 {
	width:calc(100% - 14px );
	background:#333333;
	margin:0 5px 10px 5px;
	border:2px dashed #ffcc00;
}
*/

#mypage #stamp_1,
#mypage #stamp_2,
#mypage #stamp_3,
#mypage #stamp_4,
#mypage #stamp_5,
#mypage #stamp_6 {
	background:rgba(255,255,255,0.25);
	float:left;
	width:calc( 50% - 10px );
	margin:0 5px 10px 5px;
}

#mypage #stamp_1 img,
#mypage #stamp_2 img,
#mypage #stamp_3 img,
#mypage #stamp_4 img,
#mypage #stamp_5 img,
#mypage #stamp_6 img {
	display:block;
}

#mypage_present {
	margin:5px 7.5% 0 7.5%;
	background:#000000;
}

#mypage_present img,
#mypage_present input {
	width:100%;
}

.mypage_present_but {
}

.mypage_present_but_in {
	padding:20px 15px 15px 15px;
}

.mypage_present_but_in_in.toform span {
	opacity:0.25;
}

.mypage_present_but_in_in.toform.ended span {
	opacity:1;
}

.mypage_present_but_in_in.toQr ,
.mypage_present_but_in_in span {
	display:block;
	text-align: center;
	margin:0 auto 10px auto;
	text-decoration:none;
	border:none;
	width:calc(100% - 30px);
}

.mypage_present_but_in_in.toQr {
	margin:15px auto 0 auto;
}

.mypage_present_but_in_in.toQr a {
	display:block;
}

.mypage_present_but .soon {
	opacity:0.25;
}

#mypage_present #movie {
	padding:15px 3% 15px 3%;
}

.mypage_present_text {
	text-align: center;
	color:#ffffff;
	font-size:16px;
	margin:15px 0 0 0;
	font-weight:500;
}

#mypage .form_box {
	margin:15px 0 0 0;
}

/* スタンプ */

#form .stamp {
	padding:30px 5%;
}

#form .stamp img {
	width:100%;
	height: auto;
	animation: animationZoom2 1s ease-in-out infinite;
}

@keyframes animationZoom2 {
	50% { transform: scale(1.1)}
}

/* rally */

#rally {
	padding:40px 0 20px 0;
}

#rally img {
	width:100%;
}

#rally .step_box_l {
	color:#ffffff;
	font-size:16px;
	font-weight:700;
	text-align:center;
	margin:5px 0 0 0;
}

#rally .step_box_t {
	color:#ffffff;
	font-size:12px;
	padding:20px 5% 20px 5%;
}

#rally .step_box_t span {
	color:#ffffff;
	font-size:10px;
}

/* ダウンロード */

#dl {
	padding:0 0 60px 0;
}

#dl canvas {
	width:100%;
	display:block;
}

#dl p {
	font-size:18px;
	text-align:center;
	padding:15px 6% 30px 6%;
}

#dl h4 {
	text-align:center;
	font-size:20px;
	color:#f1d430;
	font-weight:bold;
	margin:0 6% 15px 6%;
}

#dl h4 span {
	font-size:16px;
	color:#ffcc00;
	font-weight:bold;
}

#dl .item_box {
	margin:0 6% 15px 6%;
	text-align:center;
	background:#161a27;
	border:4px solid #596075;
}

#dl .item_box span {
	display:block;
	border-radius:60px 60px 60px 60px;
	line-height:60px;
	height:60px;
	color:#000000;
	font-size:18px;
	font-weight:bold;
	text-decoration:none;
	background:#f1d430;
	width:240px;
	margin:30px auto;
	cursor:pointer;
}

#dl .item_box_in {
	position:relative;
}

#dl .item_box_in img {
	width:100%;
	max-width:480px;
	display:inline;
}

#dl .item_box_dl {
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	z-index:100000;
}

#dl .item_box_dl img {
	width:100%;
	max-width:100%;
	z-index:100000;
}

#dl .back {
	padding:30px 0 20px 0;
	text-align:center;
}

#dl .back a {
	color:#ffffff;
	font-size:14px;
}

#dl .dl_text {
	margin:15px 5% 0 5%;
	padding:0 10px;
}

#dl .attention {
	padding:15px 6%;
}

#dl .attention_in {
	border:1px solid #ffcc00;
	padding:10px;
	color:#ffcc00;
	font-size:10px;
}

#mypage #dl .form_text_sub {
    text-align:left;
}

/* フッター */

#footer {
	padding:0 0 30px 0;
}

#footer .footer_logo {
	text-align:center;
}

#footer .footer_logo img {
	width:100%;
}

#footer .footer_company {
	font-size:14px;
	font-weight:500;
	text-align:center;
	margin:20px 0 0 0;
}

#footer .footer_text {
	font-size:10px;
	text-align:center;
	margin:15px 0 0 0;
	color:#cccccc;
}

#footer .link_box {
	padding:50px 0 0 0;
	text-align:center;
}

#footer .link_box_in {
	overflow:hidden;
	clear:both;
	margin:0 auto;
	width:540px;
}

#footer .link_item {
	float:left;
	width:250px;
	margin:0 10px 20px 10px;
}

.mypage_present_but_in_in.toform a,
.mypage_present_but_in_in.sumi span,
.mypage_present_but_in_in.now span,
.send.qr.sumi span {
	font-size:18px;
}

.mypage_present_but_in_in.sumi span,
.send.qr.sumi span {
	background:none;
	color:#cccccc;
	border:1px solid #ffcc00;
	display:block;
	font-size:18px !important;
	font-weight:800;
	text-decoration:none;
	border-radius:85px;
	padding:15px 0 15px 0;
	text-align:center;
	cursor:pointer;
	margin:0 auto;
	width:100%;
	position:relative;
}

.mypage_present_but_in_in.sumi span::after {
	border:0;
}

.mypage_present_but_in_in.now span {
	background:#232323;
	color: #999999;
}

.mypage_present_but_in_in.now span::after {
	border:0;
}

/* qr */

#qr {
}

#video-input {
}

#video-input,
#video-input * {
	width:100%;
}

@media screen and (max-width:640px) {

	.only_pc {
		display:none;
	}
	
	.only_sp {
		display:block;
	}

	#mypage .form_text_sub {
		text-align:left;
	}

}
