@charset "utf-8";

/*
#################################
 
	WEBフォントの読み込み
 
#################################
*/
@import url('https://fonts.googleapis.com/css2?family=Crimson+Text:wght@400;600&family=Noto+Sans+JP:wght@400;500;600;700&display=swap');
/*
    font-family: 'Crimson Text', serif;
    font-family: 'Noto Sans JP', sans-serif;
*/

/*
#################################
 
	全体
 
#################################
*/
html{
	font-size:62.5%;
}

body{
	font-size:1.4rem;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight:700;
	line-height:1.8;
	color:#fff;
	letter-spacing:0.1em;
	background:#000;
	padding-top:60px;
}

@media screen and (max-width:768px){
	body:has(.fixed-box){
		padding-bottom:100px;
	}
}
@media screen and (max-width:480px){
	body{
		padding-top:50px;
	}
}
body.is--genre{
	padding-top:100px;
}
@media screen and (max-width:480px){
	body.is--genre{
		padding-top:90px;
	}
}
.en{
	font-family: 'Crimson Text', serif;
	font-weight:400;
}
a{
	text-decoration:none;
}
.layout{
	max-width:1024px;
	margin:0 auto;
	background:#222;
	border-right:#444 1px solid;
	border-left:#444 1px solid;
	min-height: calc(100vh - 60px);
	position:relative;
	box-sizing:border-box;
	padding-bottom:100px;
}
@media screen and (max-width:768px){
	.layout{
		border:none;
	}
}

.data_result{
	color:#fff;
}
.text-center{
	text-align:center;
}
.text-right{
	text-align:right;
}
.link{
	text-decoration:underline;
/*
	color:#f5f5f5;
*/
	color:#B78846;
}
.link:hover{
	text-decoration:none;
}
.res-img{
	max-width:100%;
	height:auto;
	vertical-align:bottom;
}

/*
##################################################################
 
	ヘッダー
 
##################################################################
*/
#header{
	height:60px;
	position:fixed;
	top:0;
	left:0;
	right:0;
	margin:auto;
	z-index:500;
	max-width:1024px;
	width:100%;
	border-bottom:#444 1px solid;
	background:#222;
	box-sizing:border-box;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	align-items: center;
	-webkit-align-items: center;
}
@media screen and (max-width:480px){
	#header{
		height:50px;
	}
}
.header-link{
	position:absolute;
	top:0;
	right:60px;
	height:60px;
	box-sizing:border-box;
	border-left:#444 1px solid;
	border-right:#444 1px solid;
	width:80px;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	justify-content: center;
	-webkit-justify-content: center;
	align-items: center;
	-webkit-align-items: center;
}

@media screen and (max-width:768px){
	.header-link{
		width:80px;
	}
}
.header-link a{
	color:#B78846;
	display:block;
	font-size:1.6rem;
}

.header-link-svg svg{
	width:30px;
	height:auto;
	fill:#B78846;
}

.logo{
	width:100px;
/*
	margin:0 auto;
*/
}
@media screen and (max-width:480px){
	.logo{
		width:70px;
	}
}
@media screen and (max-width:330px){
	.logo{
		width:60px;
	}
}
.logo img{
	width:100%;
	height:auto;
	vertical-align:middle;
}
.header-point{
	margin-right:70px;
	margin-left:auto;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	align-items: center;
	-webkit-align-items: center;
	height:35px;
	box-sizing:border-box;
	width:160px;
}

.header-point img{
	height:25px;
	width:auto;
	position:relative;
	z-index:50;
}
.header-point-number{
	background:#555555;
	color:#fff;
	display:block;
	padding:0 5px 0 15px;
	margin-left:-10px;
	height:35px;
	line-height:35px;
	font-size:1.4rem;
	width:110px;
	box-sizing:border-box;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.header-point-link{
	display:block;
	width:35px;
	height:35px;
	background:#333;
	position:relative;
	line-height:35px;
	box-sizing:border-box;
}
.header-point-link svg{
	fill:#fff;
	width:12px;
	height:auto;
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
}

/*
##################################################################
 
	ハンバーガーメニュー
 
##################################################################
*/
.menu-btn{
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	height: 60px;
	width: 60px;
	justify-content: center;
	align-items: center;
	z-index: 90;
	border-left:#444 1px solid;
	box-sizing:border-box;
}
@media screen and (max-width:480px){
	.menu-btn{
		height: 50px;
		width: 50px;
	}

}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
	content: '';
	display: block;
	height: 3px;
	width: 25px;
	border-radius: 3px;
	background-color: #B78846;
	position: absolute;
}
.menu-btn span:before{
	width: 15px;
}
.menu-btn span{
	width:20px;
}
.menu-btn span:before {
	bottom: 8px;
}
.menu-btn span:after {
	top: 8px;
}
#menu-btn-check:checked ~ .menu-btn{
	border:none;
}
#menu-btn-check:checked ~ .menu-btn span {
	background-color: rgba(183, 136, 70, 0);
}
#menu-btn-check:checked ~ .menu-btn span::before {
	bottom: 0;
	transform: rotate(45deg);
	width: 25px;
}
#menu-btn-check:checked ~ .menu-btn span::after {
	top: 0;
	transform: rotate(-45deg);
}

#menu-btn-check {
	display: none;
}

.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
/*
    right: 100%;
*/
	left:100%;
    z-index: 80;
    background-color: #222;
    transition: all 0.5s;
	padding:70px 20px 50px;
	box-sizing:border-box;
}
.menu-content-btn{
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	justify-content: space-between;
}
.menu-content-btn a{
	max-width:300px;
	width:48%;

}
.menu-ttl{
	font-size:1.4rem;
	color:#9C9C9C;
}
.menu-content ul{
	margin-top:10px;
}
.menu-content ul li{
	list-style: none;
	margin-bottom:10px;
}
@media screen and (max-width:768px){
	.menu-content ul li{
		margin-bottom:5px;
	}
}
.menu-content ul a{
	background:#2D2924;
	color:#9C9C9C;
	font-size:1.4rem;
	display:block;
	position:relative;
	padding:15px 10px;
	box-sizing:border-box;
}
.menu-content ul a svg{
	fill:#9C9C9C;
	width:16px;
	height:auto;
	position:absolute;
	right:11px;
	top:0;
	bottom:0;
	margin:auto;
}

#menu-btn-check:checked ~ .menu-content {
    left: 0;
}

/*
##################################################################
 
	ジャンルタブ
 
##################################################################
*/
.genre-tab{
	max-width:1024px;
	width:100%;
	border-right:#ccc 1px solid;
	border-left:#ccc 1px solid;
	border-bottom:#ccc 1px solid;
	box-sizing:border-box;
	position:fixed;
	top:60px;
	left:0;
	right:0;
	margin: auto;
	z-index: 120;
	background:#fff;
	height:40px;
}
@media screen and (max-width:480px){
	.genre-tab{
		position:fixed;
		top:50px;
		left:0;
		right:0;
		margin: auto;

	}

}
.genre-tab ul{
	width:100%;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	overflow-x:scroll;
	/*クロームでのスクロールバー非表示*/
	-ms-overflow-style: none;
	/*firefoxでのスクロールバー非表示*/
	scrollbar-width: none;
	padding:7px 0;
}
/*safariでのスクロールバー非表示*/
.genre-tab ul::-webkit-scrollbar{
  display: none;
}
.genre-tab ul li{
	flex-shrink: 0;
}

.genre-tab a{
	color:#333;
	display:inline-block;
	border-right:#ccc 1px solid;
	font-size:1.2rem;
	font-weight:600;
	padding:0px 20px;
	height:26px;
	line-height:26px;
	box-sizing:border-box;
	position:relative;
}
@media screen and (max-width:480px){
	.genre-tab a{
		padding:0px 20px;
		font-size:1.2rem;
	}
}

.genre-tab a:hover,
.genre-tab .active a{
	border-bottom:#B78846 2px solid;
}
.genre--pokemon .tab-pokemon a,
.genre--yugioh .tab-yugioh a,
.genre--mtg .tab-mtg a,
.genre--onepiece .tab-onepiece a{
	border-bottom:#B78846 2px solid;
}


/*
##################################################################
 
	アニメーション
 
##################################################################
*/
/*
#opv-wrap{
	display: none;
}
*/
/*
video#opv{
	position: fixed;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100vw;
	height: 100vh;
	vertical-align: bottom;
}

#mv{
	height: 100vh;
	background-color: rgb(216, 251, 254);
	display: flex;
	justify-content: center;
	align-items: center;
}
*/
#opv-wrap{
	max-width:1024px;
	margin:-60px auto 0;
	background:#fff;
	border-right:#ccc 1px solid;
	border-left:#ccc 1px solid;
	box-sizing:border-box;
	position:relative;
	min-height: 100vh;
}
video#opv{
/*
	position: fixed;
*/
	position:absolute;
	top: 0;
	left: 0;
	object-fit: cover;
/*
	width: 100vw;
*/
	width:100%;
	height: 100vh;
	vertical-align: bottom;
}

#mv{
	height: 100vh;
	background-color: rgb(216, 251, 254);
	display: flex;
	justify-content: center;
	align-items: center;
}
.skip-btn{
	position:absolute;
	right:30px;
	top:30px;
	z-index:500;
	display:block;
/*
	color:#333;
	background:#9c9c9c;
*/
	background:transparent;
	color:#fff;
	border:#fff 1px solid;
	border-radius:5px;
	box-sizing:border-box;
	width:150px;
	padding:5px 0;
	text-align:center;
}



/*
##################################################################
 
	フッター
 
##################################################################
*/
#footer{
	color:#9C9C9C;
	border-top:#444 1px solid;
	width:100%;
	position:absolute;
	bottom:0;
}
.footer-nav{
	padding:20px;
	box-sizing:border-box;
}
@media screen and (max-width:768px){
	.footer-nav{
		padding:20px 10px;
		box-sizing:border-box;
	}
}
.footer-menu{
	
}
.footer-menu-link{
	color:#9C9C9C;
	font-size:1.2rem;
	
}
.copyright{
	text-align:center;
	border-top:#444 1px solid;
	padding:15px 0;
	font-size:1.2rem;
	line-height:1;
}
.fixed-box{
	position:fixed;
	right:10px;
	bottom:10px;
	width:300px;
	background:#222;
	z-index:500;
	transition: 1s;
	box-sizing:border-box;
}
@media screen and (max-width:1024px){
	.fixed-box{
		width:100%;
		position:fixed;
		left:0;
		bottom:0;
	}
	#under_fixed{
		width:100%;
		position:fixed;
		left:0;
		bottom: 0;
/*
		bottom:-150px;
	}	
	#under_fixed.is-show {
		bottom: 0;
*/
	}
}

.fixed-box-title{
	color:#fff;
	font-size:1.2rem;
	padding:10px 0;
	background:#000;
	text-align:center;
}
@media screen and (max-width:768px){
	.fixed-box-title{
		color:#fff;
		font-size:1rem;
		padding:5px 0;
		background:#000;
		text-align:center;
	}
}
.fixed-box-body{
	background:#222;
	padding:5px 15px;
	box-sizing:border-box;
}
@media screen and (max-width:1024px){

	.fixed-box-body{
		display:-webkit-flex;
		display:-moz-flex;
		display:-ms-flex;
		display:-o-flex;
		display:flex;
		-webkit-flex-wrap:wrap;
		flex-wrap:wrap;
		-webkit-justify-content:space-between;
		justify-content: space-between;
		padding:10px;
		box-sizing:border-box;
	}
}
.fixed-box-body .button{
	width:auto;
	margin:10px 0;
}
@media screen and (max-width:1024px){
	.fixed-box-body .button{
		width:49%;
		margin:0;
	}
}

/*
##################################################################
 
	スライダー
 
##################################################################
*/
.main{
	padding:15px 0 0;
	border-bottom:#444 1px solid;
}
.top-slider{
	display: none;
}
/*
slick-initializedクラスが付与されたら
*/
.top-slider.slick-initialized{
	display: block; 
}
.slider-img{
	width:100%;
	position:relative;
	overflow:hidden;
	border:#444 1px solid;
	box-sizing:border-box;
	margin:0 120px;
}
@media screen and (max-width:768px){
	.slider-img{
/*
		margin:0 40px;
*/
		margin:0 10px;
	}
}
.slider-img:before{
	content: "";
	display: block;
	padding-top: 56%;
}
.slider-img img{
	object-fit:cover;
	-o-object-fit: cover;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
/*
.slick-dots{
	bottom:0;
}
*/
.slick-dots li {
	margin: 0 4px; 
	width: 70px;
	height: 5px;
}
.slick-dots li button:before {
	content:'';
	width: 70px;
	height: 5px;
	background: #fff;
	opacity: 1;
}
.slick-dots li.slick-active button:before{
	background: #B78846;
}


/*
##################################################################
 
	コンテンツ
 
##################################################################
*/
#cont{
	padding:15px 0 100px;
}
.dividing-line{
	border-top:#444 1px solid;
	padding-bottom:15px;
}
.cont-body{
	padding:20px;
	box-sizing:border-box;
}
@media screen and (max-width:768px){
	.cont-body{
		padding:10px;
	}
}
.coming-txt{
	text-align:center;
	font-size:2rem;
}

.cont-txt{
	font-size:1.4rem;
	line-height:2;
	color:#9C9C9C;
	padding-bottom:1em;
}
@media screen and (max-width:768px){
	.cont-txt{
		font-size:1.2rem;
		line-height:2;
		padding-bottom:1em;
	}
}

.cont-table{
	width:100%;
}

.cont-table th,
.cont-table td{
	font-size:1.4rem;
	padding:10px;
	box-sizing:border-box;
	text-align:left;
	display:block;
	width:100%;
}

.cont-table th{
	color:#9C9C9C;
	background:#333333;
}

.cont-table td{
	background:#222222;
	color:#CCCCCC;
}

.content p{
	font-size:1.4rem;
	line-height:2;
	color:#9C9C9C;
	padding-bottom:1em;
}
@media screen and (max-width:768px){
	.content p{
		font-size:1.2rem;
		line-height:2;
	}
}

.content h2{
	font-size:1.6rem;
	color:#CCCCCC;
	padding:10px 0;
	margin-top:5px;
}
@media screen and (max-width:768px){
	.content h2{
		font-size:1.4rem;
		color:#CCCCCC;
		padding:5px 0;
		margin-top:5px;
	}
}

.content h3{
	font-size:1.6rem;
	color:#fff;
	padding:10px 0;
	margin-top:5px;
}
@media screen and (max-width:768px){
	.content h3{
		font-size:1.4rem;
	}
}

.content ul,
.content ol{
	padding-bottom:1em;
}

.content ol{
	list-style-type:decimal;
	padding-left:25px;
}

.content ol.kana{
	list-style-type:katakana;
	padding-left:25px;
}


.content li{
	font-size:1.4rem;
	line-height:2;
	color:#9C9C9C;
}
@media screen and (max-width:768px){
	.content li{
		font-size:1.2rem;
		line-height:2;
	}
}

.lead{
	font-size:1.4rem;
	color:#9C9C9C;
	padding:20px 0;

}
.sub-title{
	font-size:1.6rem;
	color:#fff;
	padding:15px 0;
	margin-top:5px;
}
@media screen and (max-width:768px){
	.sub-title{
		font-size:1.4rem;
		padding:10px 0;
		margin-top:5px;
	}
}





/*
##################################################################
 
	カードリスト
 
##################################################################
*/
.card-box{
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
/*
	-webkit-justify-content:space-between;
	justify-content: space-between;
*/
}

.card-list{
	width:30%;
	margin:0 1.5% 20px;
}
/*
.card-list:nth-of-type(3n-1):nth-last-of-type(1){
	margin-right:auto;
}
*/
.small-box .card-list{
	width:23%;
	margin:0 1% 20px;
}

.big-box .card-list{
	width:40%;
	margin:0 1% 20px;
}
@media screen and (max-width:768px){
	.big-box .card-list{
		width:47%;
		margin:0 1% 20px;
	}
}


.card-img{
	margin:0 auto;
	width:100%;
	position:relative;
	overflow:hidden;
}
.card-img img{
	width:100%;
	height:auto;
}
/*
.card-img:before{
	content: "";
	display: block;
	padding-top:168%;
}
.card-img img{
	object-fit:cover;
	-o-object-fit: cover;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
*/
.card_num{
	position:absolute;
	bottom:10px;
	right:10px;
	background:#f5f5f5;
	color:#333;
	display:inline-block;
	font-size:1.2rem;
	line-height:1;
	padding:5px 10px;
	border-radius:3px;
}
.card-name{
	font-size:1.2rem;
	color:#9C9C9C;
	margin-top:10px;
}
@media screen and (max-width:768px){
	.card-name{
		font-size:1rem;
		margin-top:5px;
	}
}

.card-tab{
	width:100%;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	margin-bottom:15px;
}

.card-tab li{
	width:33%;
}
.tab-link{
	display:block;
	text-align:center;
	color:#9C9C9C;
	font-size:1.4rem;
	padding:10px 0;
}
.tab-link:hover,
.tab-active{
	color:#B78846;
	border-bottom:#B78846 1px solid;
}

.cards{
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	justify-content: space-between;
}


.card{
	width:48%;
	padding:15px;
	box-sizing:border-box;
	background:#2D2924;
	border:#222 1px solid;
	position:relative;
	margin-bottom:10px;
}
@media screen and (max-width:768px){
	.card{
		padding:10px 5px;
		margin-bottom:5px;
	}
}



.card-label{
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	align-items: center;
	-webkit-align-items: center;
}
.card .card-img{
	width:100px;
	margin-right:auto;
	box-sizing:border-box;
}
@media screen and (max-width:768px){
	.card .card-img{
		width:60px;
	}
}
.card-body{
	width:calc(100% - 100px);
	padding:0 15px;
	box-sizing:border-box;
}
@media screen and (max-width:768px){
	.card-body{
		width:calc(100% - 60px);
		padding:0 10px;
		box-sizing:border-box;
	}
}
/*
@media screen and (max-width:430px){
	.card-body{
		padding:0 5px;
		box-sizing:border-box;
	}
}
*/
.body-name{
	color:#fff;
	font-size:1.4rem;
}
@media screen and (max-width:768px){
	.body-name{
		font-size:1.2rem;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2; 
		overflow: hidden;
	}
}
@media screen and (max-width:430px){
	.body-name{
		font-size:1rem;
	}
}
.body-point{
	font-size:1.6rem;
	color:#fff;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	align-items: center;
	-webkit-align-items: center;
}
@media screen and (max-width:430px){
	.body-point{
		font-size:1.2rem;
	}
}
.body-point img{
	width:15px;
	height:auto;
	margin-right:5px;
}
@media screen and (max-width:430px){
	.body-point img{
		width:10px;
		height:auto;
		margin-right:3px;
	}
}
.card svg{
	fill:#777777;
	width:24px;
	height:auto;
	position:absolute;
	right:11px;
	top:0;
	bottom:0;
	margin:auto;
}
@media screen and (max-width:430px){
	.card svg{
		position:absolute;
		right:3px;
		top:0;
		bottom:0;
		margin:auto;
	}
}
.card-check:checked + svg{
	fill:#B78846;
}

.card:has(.card-check:checked){
	border:#B78846 1px solid;
}


/*
##################################################################
 
	マイページ
 
##################################################################
*/
ul.mypage-menu{
	margin-top:10px;
}
ul.mypage-menu li{
	list-style: none;
	margin-bottom:10px;
}
@media screen and (max-width:768px){
	ul.mypage-menu li{
		margin-bottom:5px;
	}
}
ul.mypage-menu a{
	background:#2D2924;
	color:#9C9C9C;
	font-size:1.4rem;
	display:block;
	position:relative;
	padding:15px 10px;
	box-sizing:border-box;
}
ul.mypage-menu a svg{
	fill:#9C9C9C;
	width:16px;
	height:auto;
	position:absolute;
	right:11px;
	top:0;
	bottom:0;
	margin:auto;
}
ul.mypage-menu a.btn--disabled{
	background:#bbb;
	color:#999;
}

ul.mypage-menu a svg.pay-svg{
	position:static;
	width:20px;
	height:auto;
	border:#000 1px solid;
}

.possession-points{
	background:#2D2924;
	padding:15px 0;
}

.possession-title{
	font-size:1.4rem;
	text-align:center;
	color:#9C9C9C;
}
.mypage-points{
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	justify-content: center;
	-webkit-justify-content: center;
	align-items: center;
	-webkit-align-items: center;
}
.mypage-points img{
	width:30px;
	height:auto;
}
.mypage-points-number{
	color:#fff;
	font-size:4rem;
	margin-left:12px;
	line-height:1.2;

}

/*
##################################################################
 
	ポイント購入
 
##################################################################
*/
.point-btn{
	width:100%;
	display:block;
	position:relative;
	background:#2D2924;	
	padding:15px 12px;
	margin-bottom:5px;
	box-sizing:border-box;
}

.point-btn img{
	width:15px;
	height:auto;
	margin-right:5px;
}
.btn-point{
	color:#fff;
	font-size:1.8rem;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	align-items: center;
	-webkit-align-items: center;
}

.btn-txt{
	display:block;
	margin-top:7px;
	color:#9C9C9C;
	font-size:1.2rem;
	text-align:left;
}
.point-btn svg{
	fill:#9C9C9C;
	width:16px;
	height:auto;
	position:absolute;
	right:11px;
	top:0;
	bottom:0;
	margin:auto;
}


/*
##################################################################
 
	ページバック
 
##################################################################
*/
.page-back{
	padding:10px;
	border-bottom:#444 1px solid;
	box-sizing:border-box;
}

.page-back svg{
	width:14px;
	height:auto;
	fill:#9c9c9c;
}


/*
##################################################################
 
	ボタン
 
##################################################################
*/
.twin-button{
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	justify-content: space-between;
	margin-top:15px;
}
.twin-button .button{
	margin:auto;
	width:48%;
}
@media screen and (max-width:768px){
	.twin-button .button{
		margin:auto;
		width:100%;
		margin-top:15px;
	}
/*
	.twin-button .button:first-of-type{
		margin-top:0px;
		color:#f00;

	}
*/
}
button{
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}
.button{
	display:block;
	font-size:1.2rem;
	color:#B78846;
	border:#B78846 1px solid;
	max-width:500px;
	width:100%;
	margin:30px auto;
	padding:15px 0;
	font-weight:700;
	text-align:center;
	line-height:1;
}
@media screen and (max-width:430px){
	.button{
		font-size:1.2rem;
		padding:10px 0;
	}
}
.button-02{
	background:#B78846;
	color:#222;
}
.button-03{
	background:#B78846;
	color:#fff;
}
.button.disabled,
.button:disabled{
	border:#555 1px solid;
	background:#222;
	color:#555;
	cursor:not-allowed;
}
.input-hidden{
	display:none;
}
.gacha-button{
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	justify-content: space-between;
}
.item-list .gacha-button{
	padding:5px;
	box-sizing:border-box;
}
.gacha-button form{
	width:48%;
	margin-bottom:15px;
}
.gacha-button form:nth-of-type(3){
	width:100%;
}
.gacha-button .button{
	margin:0;
	width:100%;
}

.fixed-box-body.gacha-button form,
.fixed-box-body.gacha-button button{
	width:100%;
	margin:5px 0;
}
.fixed-box-body.gacha-button form .button{
	margin:0;
}
@media screen and (max-width:1024px){
	.fixed-box-body.gacha-button form{
		width:48%;
		margin:5px 0;
	}
	.fixed-box-body.gacha-button form{
		margin-bottom:0;
	}
}
.gacha-button form:nth-of-type(3) .button{
	width:100%;
	max-width:100%;
}
.all-btn{
	background:#9c9c9c;
	color:#333;
	display:block;
	border:#9c9c9c 1px solid;
	max-width:300px;
	margin-left:0;
}

/*
##################################################################
 
	オリパ
 
##################################################################
*/

.head-ttl{
	padding:15px 20px;
}
@media screen and (max-width:768px){
	.head-ttl{
		padding:0px 5px 5px;
	}
}
.ttl-en{
	font-size:3rem;
	color:#9C9C9C;
	line-height:1.2;
}
@media screen and (max-width:768px){
	.ttl-en{
		font-size:2rem;
		line-height:1.2;
	}
}
.ttl-ja{
	color:#777;
	font-size:1.6rem;
}
@media screen and (max-width:768px){
	.ttl-ja{
		font-size:1.2rem;
	}
}
.item-ul{
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	justify-content: space-between;
	padding:0 40px;
}
@media screen and (max-width:768px){

}
@media screen and (max-width:480px){
	.item-ul{
		padding:0 10px;
	}
}


.item-list{
	max-width:440px;
	width:50%;
	margin-bottom:60px;
}
@media screen and (max-width:768px){
	.item-list{
		max-width:440px;
		width:95%;
		margin:0 auto 30px;
	}
}
.item-img{
	width:100%;
	position:relative;
	overflow:hidden;
	border:#444 1px solid;
	box-sizing:border-box;
/*
	margin-bottom:12px;
*/
}
.item-img:before{
	content: "";
	display: block;
	padding-top: 56%;
}
.item-img img.oripa-img{
	object-fit:cover;
	-o-object-fit: cover;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
.item-detail .item-img{
	margin-top:-15px;
}
.item-detail-img{
	margin-top:-15px;
}
.item-detail-img img{
	max-width:100%;
	width:100%;
	height:auto;
	vertical-align:bottom;
}
.soldout{
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
	background:rgb(0,0,0,.6);
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	justify-content: center;
	-webkit-justify-content: center;
	align-items: center;
	-webkit-align-items: center;
}

.soldout p{
	font-size:4rem;
	color:#fff;
}

.item-head{
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
	background:rgb(0,0,0,.5);
	padding:13px;
	box-sizing:border-box;
	text-align:center;
}
.item-head .point-number{
	width:100%;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	align-items: center;
	-webkit-align-items: center;
	justify-content: center;
	-webkit-justify-content: center;
}
.remaining{
	font-size:1.2rem;
	vertical-align:middle;
/*
	color:#555;
*/
	color:#fff;
	font-weight:600;
	text-align:center;
	line-height:1.2;
}

.remaining-number{
	font-size:1.8rem;
	line-height:1;
}

progress{
	max-width:400px;
	width:99%;
	height:15px;
	padding:0;
	-webkit-appearance: none;
	border:#EEEEEE 1px solid;
	padding:2px;
	margin:0 auto;
}
progress::-webkit-progress-bar{
	background-color:#EEEEEE;
}
progress::-webkit-progress-value{
	background-color:#B78846;
}
progress::-moz-progress-bar {
	background-color:#B78846;
}

.item-link:hover{
	opacity:0.7;
}
.item-body_info{
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
/*
	margin-top:10px;
*/
	padding:10px;
	box-sizing:border-box;
	background:rgba(0,0,0,.6);
}

.item-body_info-left{
	padding:0 0 0 10px;
	box-sizing:border-box;
	width:40%;
	position:relative;
	z-index:100;
}
@media screen and (max-width:768px){
	.item-body_info-left{
		padding:0 0 0 5px;
	}
}
.item-body_info-right{
	width:60%;
	text-align:center;
	position:relative;
	z-index:100;
}
.item-genre{
	font-size:1.3rem;
	border:#9C9C9C 1px solid;
	color:#9C9C9C;
	padding:0 20px;
}
.item-title{
	font-size:1.8rem;
	color:#fff;
	padding:5px 0 10px;
}
.info-list{
	border:#707070 1px solid;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	padding:7px 12px;
	box-sizing:border-box;
	margin-top:6px;
}
.info-list:first-of-type{
	margin-top:0;
}
.number-words{
	width:30%;
	font-size:1.4rem;
	color:#fff;
}
.point-number{
/*
	width:70%;
*/
	width:100%;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	align-items: center;
	-webkit-align-items: center;
/*
	justify-content: flex-end;
	-webkit-justify-content: flex-end;
*/
	font-size:1.6rem;
/*
	color:#333;
*/
	color:#fff;
	box-sizing:border-box;
}
.point-number span{
	font-size:2rem;
}
@media screen and (max-width:430px){
	.point-number span{
		font-size:1.6rem;
	}
}
.svg-coin{
	width:20px !important;
	height:auto;
	margin-right:5px;
}

.lineup-img{
	margin-top:20px;
	width:calc(100% + 40px);
	margin:0 -20px;
}
@media screen and (max-width:480px){
	.lineup-img{
		margin-top:10px;
		width:calc(100% + 20px);
		margin:0 -10px;
	}

}
.lineup-img img{
	width:100%;
	height:auto;
	vertical-align:bottom;
}

/*
##################################################################
 
	アラート
 
##################################################################
*/
.alert-box{
	display:block;
	border:#b22222 1px solid;
	padding:10px;
	margin:10px 0;
	box-sizing:border-box;
	color:#b22222;
}
.alert-box p{
	font-size:1.4rem;
}
@media screen and (max-width:480px){
	.alert-box p{
		font-size:1.2rem;
	}
}

/*
##################################################################
 
	ニュース
 
##################################################################
*/
.news-ul{
	padding:0 40px;
	margin-bottom:50px;
}
@media screen and (max-width:480px){
	.news-ul{
		padding:0 10px;
	}
}

.news-list{

}

.news-link{
	position:relative;
	color:#fff;
	display:block;
	padding:15px 10px;
	border-bottom:#707070 .5px solid;
}
.news-link time{

}
@media screen and (max-width:480px){
	.news-link time{
		display:block;
		font-size:1.2rem;
	}
}

.news-link svg{
	fill:#9C9C9C;
	width:16px;
	height:auto;
	position:absolute;
	right:11px;
	top:0;
	bottom:0;
	margin:auto;
}
@media screen and (max-width:480px){
	.news-link svg{
		fill:#9C9C9C;
		width:14px;
		height:auto;
		position:absolute;
		right:5px;
		top:0;
		bottom:0;
		margin:auto;
	}

}
/*
##################################################################
 
	フォーム
 
##################################################################
*/
/*
input[type="text"],
input[type="email"],
input[type="password"],
*/
input,
textarea{
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight:700;
}

.data-list{
	color:#9C9C9C;
	font-size:1.4rem;
	margin-bottom:10px;
}
.data-list dt{
	padding:10px 1px;
}
.req{
	font-size:1.2rem;
	color:#b22222;
}
.form-input{
	background:#555555;
	color:#CCCCCC;
	font-size:1.4rem;
	padding:12px;
	box-sizing:border-box;
	width:100%;
}
.form-input:read-only{
	background:#333;
	color:#fff;
}
.form-radio_label{
	border:#ccc 1px solid;
	display:inline-block;
	padding:5px 20px;
	box-sizing:border-box;
}
.form-radio:checked + .form-radio_label{
	border:#555 1px solid;
	background:#555;
	color:#fff;
}



.form-submit{
	display:block;
	font-size:1.4rem;
	color:#B78846;
	border:#B78846 1px solid;
	width:300px;
	margin:30px auto 20px;
	padding:15px 0;
	font-weight:700;
}
.link-center{
	display:block;
	text-align:center;
	color:#9C9C9C;
	font-size:1.4rem;
}
.confirm-txt{
	display:block;
	background:#777;
	padding:12px;
	box-sizing:border-box;
	color:#fff;
}
/*
.select-input{
	background:#555555;
	color:#fff;
	font-size:1.4rem;
	padding:12px;
	box-sizing:border-box;
}
.select-input select{
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	width:100%;
	color:#fff;
	font-size:1.6rem;
	text-align:center;
	text-align: -webkit-center;
}
*/

.date-box{
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	justify-content: space-between;
}

.select-input{
	width: 48%;
	margin: 0;
	position:relative;
	background: #333;
	border-radius:0;
	cursor: pointer;
}
@media screen and (max-width:480px){
	.select-input{
		width: 100%;
	}
}
.select-input.select-date_year{
	width:39%;
}
.select-input.select-date_month{
	width:29%;
}
.select-input.select-date_day{
	width:29%;
}

.select-input label{
/*
	color: #fff;
*/
	color:#333;
	position:absolute;
	width: 100%;
	z-index: 1;
	text-align:center;
	line-height:50px;
}


.select-input select{
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: block;
	cursor: pointer;
	width: 100%;
	border: none;
	padding: 20px;
	box-sizing:border-box;
	opacity: 0;
	position: relative;
	z-index: 2;
}


.select-input select::-ms-expand {
	display: none; 
}
.select-input select:focus {
	z-index: -1;
	opacity: 1;
}
.gacha-number{
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	justify-content: space-between;
	margin-bottom:30px;
}
.gacha-number .select-input{
	width:49%;
}
@media screen and (max-width:480px){
	.gacha-number .select-input{
		width:100%;
	}
}
.gacha-number .button{
	margin:0;
	width:49%;
}
@media screen and (max-width:480px){
	.gacha-number .button{
		margin-top:10px;
		width:100%;
	}
}
/*
##################################################################
 
	ポップアップ
 
##################################################################
*/
.open {
	cursor:pointer;
}
#pop-up {
	display:none;
}
.overlay {
	display:none;
}
#popup:checked + .overlay {
	display:block;
	z-index:9999;
	background-color:rgb(0,0,0,.6);
	position:fixed;
	width:100%;
	height:100vh;
	top:0;
	left:0;
}
.window {
	width: 90vw;
	max-width: 380px;
	height: 450px;
	background-color: #ffffff;
	border:#B78846 4px solid;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.close {
	cursor:pointer;
	position: absolute;
	top: 4px;
	right: 4px;
	font-size: 20px;
}
.popup-inner{
	padding:40px 15px;
	box-sizing:border-box;
}
.popup-inner .button{
	margin:10px 0;
}
.popup-title{
	font-size:1.8rem;
	text-align:center;
	padding:5px 0;
	color:#333;
}
.popup-txt{
	color:#555555;
	font-size:1.4rem;
	margin-bottom:20px;
	font-weight:500 !important;
}
@media screen and (max-width:768px){

	.popup-txt{
		font-size:1.2rem;
	}

}
.popup-inner a{
	max-width:100%;
	width:100%;
	margin:10px 0;
}
.popup-img{
	width:40px;
	margin:0 auto;
}
.popup-inner img,
.popup-inner svg{
	width:100%;
	height:auto;
	vertical-align:bottom;
}
.popup-inner svg{
	fill:#a80000;
}


/*
##################################################################
 
	ローディング
 
##################################################################
*/
#loading{

}
.loading-inr{
	position:fixed;
	top:0;
	bottom:0;
	left:0;
	right:0;
	z-index:999;
	background:rgb(0,0,0,.6);
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	align-items: center;
	-webkit-align-items: center;
	justify-content: center;
	-webkit-justify-content: center;
}
.loadmsg{
	margin-top:10px;
	text-align:center;
	font-size:1.2rem;
}

/*スピナー*/
.spinner {
  margin: 0 auto;
  width: 50px;
  height: 40px;
  text-align: center;
  font-size: 10px;
}

.spinner > div {
	background-color: #fff;
	height: 100%;
	width: 6px;
	display: inline-block;
	
	-webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;
	animation: sk-stretchdelay 1.2s infinite ease-in-out;
}

.spinner .rect2 {
	-webkit-animation-delay: -1.1s;
	animation-delay: -1.1s;
}

.spinner .rect3 {
	-webkit-animation-delay: -1.0s;
	animation-delay: -1.0s;
}

.spinner .rect4 {
	-webkit-animation-delay: -0.9s;
	animation-delay: -0.9s;
}

.spinner .rect5 {
	-webkit-animation-delay: -0.8s;
	animation-delay: -0.8s;
}

@-webkit-keyframes sk-stretchdelay {
	0%, 40%, 100% { -webkit-transform: scaleY(0.4) }  
	20% { -webkit-transform: scaleY(1.0) }
}

@keyframes sk-stretchdelay {
	0%, 40%, 100% { 
		transform: scaleY(0.4);
		-webkit-transform: scaleY(0.4);
	}  20% { 
		transform: scaleY(1.0);
		-webkit-transform: scaleY(1.0);
	}
}