@charset "utf-8";

h1,h2,h3,h4,h5,h6,p,ul,ol,dl,dt,dd{
	padding: 0;
	margin: 0;
}

ol,ul{
	list-style-type: none;
}

/*-----------------------------------------------
 root
-----------------------------------------------*/

html{
	overflow-y: scroll;
}

body{
	font-family: 'Hiragino Sans', 'Lucida Grande', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, 'メイリオ', sans-serif;
}

/*-----------------------------------------------
 font
-----------------------------------------------*/

html{
	font-size: medium;	
}

body{
	overflow-x: hidden;
	font-size: 62.5%; /* 16px -> 10px */
}

dt,dd,li,
caption,th,td,
input,button,textarea,select,
h1,h2,h3,h4,h5,h6,p,address{
	line-height: 1.5;
	font-size: 140%;
	margin: 0;
	padding: 0;
}

h1 *,h2 *,h3 *,h4 *,h5 *,h6 *,
p input,p button,p select,
li h1,li h2,li h3,li h4,li h5,li h6,li p,li dt,li dd,li li,li th,li td,li input,li button,li textarea,li select,
dd h1,dd h2,dd h3,dd h4,dd h5,dd h6,dd p,dd dt,dd dd,dd li,dd th,dd td,dd input,dd button,dd textarea,dd select,
tr h1,tr h2,tr h3,tr h4,tr h5,tr h6,tr p,tr dt,tr dd,tr li,            tr input,tr button,tr textarea,tr select{
	font-size: 100%;
}

input,button,select,option,textarea{
	font-size: 14px;
}

a,
a:link,
a:visited{
	color: #7d631d;
	text-decoration: none;
}

a:hover{
	text-decoration: underline;
}

section{
	position: relative;
}

/*-----------------------------------------------
 cf 
-----------------------------------------------*/

.clearfix:after {
	content: " "; 
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.clearfix {
	min-height: 1px;
}

* html .clearfix {
	height: 1px;
	/*¥*//*/
	height: auto;
	overflow: hidden;
	/**/
}

/*-----------------------------------------------
 コンテンツ
-----------------------------------------------*/

#content{
	max-width: 640px;
	margin: 0 auto;
}


/*-----------------------------------------------
 ヘッダー
-----------------------------------------------*/

#header {
	position: fixed;
	z-index: 10;
	top: -61px;
	width: 100%;
	padding: 10px;
	background-color: #fff;
	box-sizing: border-box;
}

#header .logo{
	float: left;
}

#header .logo img{
	width: 115px;
}

#header .buy img{
	width: 66px;
}

#header .notice img{
	width: 71px;
}

#menu-open{
	margin-left: 5px;
}

#menu-open img{
	width: 40px;
}

#header ul{
	float: right;
	font-size: 0;
}

#header ul li{
	display: inline-block;
	text-align: right;
}

/*-----------------------------------------------
 フッター
-----------------------------------------------*/

footer{
	position: relative;
	z-index: 1;
	padding: 10px 0;
	background-color: #fff;
}

footer div.pagetop {
	position: fixed;
	right: 10px;
	bottom: -60px;
}

footer div.pagetop a{
	display: block;
	position: relative;
	width: 30px;
	height: 30px;
	border-radius: 15px;
	background-color: rgba(0,0,0,1);
}

footer div.pagetop a::before{
	content: "";
	position: absolute;
    top: 12px;
    left: 9px;
    width: 10px;
    height: 10px;
    border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

footer div.comic{
	margin: 0 10px 10px;
	line-height: 0;
}

footer div.comic img{
	width: 100%;
}

footer ul.bnrList{
	text-align: center;
}

footer ul.bnrList li{
	display: inline-block;
	width: 77.5px;
	margin: 0 5px 10px;
	border: 1px solid #f9f8f4;
	line-height: 0;
}

footer ul.bnrList li img{
	width: 100%;
}

footer p.copy{
	font-size: 12px;
	text-align: center;
}

footer ul.sns{
	text-align: center;
}

footer ul.sns li{
	display: inline-block;
	vertical-align: top;
	margin-right: 10px;
}


/*-----------------------------------------------
 ナビ
-----------------------------------------------*/

div#menu-close{
	display: none;
	position: fixed;
	cursor: pointer;
	z-index: 301;
	top: 10px;
	right: 10px;
	width: 50px;
	height: 50px;
	background-image: url(/themes/mf/images/global/menu-close.svg);
	background-size: 50px;
}

div#navigation{
	display: none;
	position: fixed;
	opacity: 0;
	z-index: 300;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: rgba(0,0,0,0.9);
}

div#navigation ul.menu{
	max-width: 640px;
	margin: 0 auto;
	font-size: 0;
}

div#navigation ul.menu li{
	display: inline-block;
	position: relative;
	width: 50%;
}

div#navigation ul.menu li::before{
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #353535;
}

div#navigation ul.menu li:nth-child(2)::after,
div#navigation ul.menu li:nth-child(4)::after,
div#navigation ul.menu li:nth-child(6)::after,
div#navigation ul.menu li:nth-child(8)::after{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 1px;
	height: 100%;
	background-color: #353535;
	
}

div#navigation ul.menu li.top{
	width: 100%;
}

div#navigation ul.menu li img{
	width: 100%;
}

div#navigation .present,
div#navigation .schedule{
	max-width: 640px;
	margin: 0 auto 10px;
}

div#navigation .present img,
div#navigation .schedule img{
	width: 100%;
}

div#navigation #close{
	position: absolute;
	z-index: 1;
	top: 10px;
	right: 10px;
}

div#navigation #close img{
	width: 40px;
}

div#navigation .buy{
	position: absolute;
	z-index: 1;
	top: 10px;
	right: 60px;
}

div#navigation .buy img{
	width: 146px;
}

div#navigation ul.sns {
	font-size: 0;
	text-align: center;
}

div#navigation ul.sns li{
	display: inline-block;
	width: 44px;
	margin: 0 5px;
}

div#navigation ul.sns li img{
	width: 100%;
}

/*-----------------------------------------------
 ストア
-----------------------------------------------*/

#store{
	display: none;
	overflow-y: scroll;
	position: fixed;
	z-index: 301;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.8);
}

#store div.close{
	position: fixed;
	z-index: 1;
	width: 100%;
	height: 100%;
	background-image: url(/special/24/sp/assets/img/global/btn-close.png);
	background-repeat: no-repeat;
	background-position: right 10px top 10px;
	background-size: 23px;
}

#store div.inner{
	opacity: 0;
	position: relative;
	max-width: 540px;
	z-index: 2;
	margin-right: 80px;
	padding: 10px;
	background-color: #fff;
}

#store div.inner h1 img{
	width: 100%;
}

#store div.inner div.thumb{
	float: left;
	width: 30%;
	border: 1px solid #ccc;
	box-sizing: border-box;
	line-height: 0;
}

#store div.inner ul.list li{
	margin-bottom: 10px;
}

#store div.inner div.thumb img{
	width: 100%;
}

#store div.inner div.detail{
	float: right;
	width: 65%;
	line-height: 0;
}

#store div.inner div.detail h3{
	margin-bottom: 10px;
	line-height: 0;
}

#store div.inner div.detail h3 img{
	width: 100%;
}

#store div.inner div.detail ul li{
	display: inline-block;
	line-height: 0;
}

#store div.inner div.detail ul li img{
	height: 29px;
}

/* 購入モーダル */

.modal-buy{
	display: none;
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.8);
}

.modal-buy div.close{
	position: fixed;
	z-index: 1;
	width: 100%;
	height: 100%;
	background-image: url(../img/home/btn-close.png);
	background-repeat: no-repeat;
	background-position: right 10px top 10px;
	background-size: 23px;
}

.modal-buy div.inner{
	position: relative;
	z-index: 2;
	margin: 40px 10px 0;
	padding: 10px;
	background-color: #fff;
}

.modal-buy div.inner h1{
	margin-bottom: 10px;
	padding: 5px 0;
	background-color: #000;
	line-height: 1;
	text-align: center;
	font-size: 16px;
	color: #fff;
}

.modal-buy div.inner h1 span{
	font-size: 12px;
}

.modal-buy div.inner p.text{
	margin-bottom: 10px;
	text-align: center;
}

.modal-buy div.inner ul.list li{
	margin-bottom: 10px;
	line-height: 0;
	text-align: center;
}

.modal-buy div.inner ul.list li img{
	width: 240px;
}

/*-----------------------------------------------
 メダル
-----------------------------------------------*/

#medal{
	display: none;
	overflow-y: scroll;
	position: fixed;
	z-index: 301;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.8);
}

#medal div.close{
	position: fixed;
	z-index: 1;
	width: 100%;
	height: 100%;
	background-image: url(/special/24/sp/assets/img/global/btn-close.png);
	background-repeat: no-repeat;
	background-position: right 10px top 10px;
	background-size: 23px;
}

#medal .inner{
    overflow: hidden;
    position: relative;
    z-index: 2;
    margin: 40px 10px 10px;
    border-radius: 10px;
    background-image: url(/special/24/sp/assets/img/global/medal/bg.jpg);
    background-size: cover;
}

#medal h1{
	margin-bottom: 10px;
}

#medal h1 img{
	width: 100%;
}

#medal p.text{
    margin: 10px;
    padding: 10px 30px;
    border-radius: 20px;
    background-color: #fff;
}

div#medal div.inner ul.presentList{
	margin: 0 10px;
}

div#medal div.inner ul.presentList li{
	position: relative;
	margin-bottom: 10px;
	padding: 5px;
	box-sizing: border-box;
	background-color: #fff;
}

div#medal div.inner ul.presentList li span.new{
	position: absolute;
	top: 0;
	left: 0;
	width: 52px;
	height: 52px;
	background-image: url(/special/24/sp/assets/img/global/medal/icon-new.png);
	background-size: 52px;
}

div#medal div.inner ul.presentList li p.hidden{
	display: none;
}

div#medal div.inner ul.presentList li p.date{
	background-color: #00a5fe;
	text-align: center;
	font-size: 14px;
	font-weight: bold;
	color: #ffff00;
}

div#medal div.inner ul.presentList li p.event{
	background-color: #ff00ff;
	text-align: center;
	font-size: 14px;
	font-weight: bold;
	color: #ffff00;
}

div#medal div.inner ul.presentList li p{
	font-size: 12px;
	text-align: center;
}
div#medal div.inner ul.presentList li p a{
	color: #ff0000;
}

div#medal div.inner ul.presentList li figure{
	margin: 0;
}

div#medal div.inner ul.presentList li figure figcaption{
	padding-top: 10px;
	text-align: center;
	font-weight: bold;
}

div#medal div.inner ul.presentList li figure .image{
	text-align: center;
}

div#medal div.inner ul.presentList li figure .image img{
	width: 100%
}

div#medal div.inner ul.notice{
	margin: 0 10px 10px;
}

div#medal div.inner p.link{
	margin-bottom: 10px;
	font-size: 16px;
	text-align: center;
}

div#medal div.inner p.link a{
	color: #ff0000;
}

@media screen and (max-width:2000px) and (min-width: 640px){
	
	#medal .inner{
		width: 640px;
		margin: 40px auto 10px;
	}
	
}

/*-----------------------------------------------
 その他
-----------------------------------------------*/

#other{
	padding: 10px 0;
	background-color: #fff;
}

#other h2{
	margin-bottom: 10px;
	padding: 10px 0;
	background-color: #000;
	font-size: 18px;
	font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", “メイリオ”, Meiryo, serif;
	text-align: center;
	color: #fff;
}

#other ul{
	margin: 0 10px;
	font-size: 0;
}

#other ul li{
	display: inline-block;
	width: 50%;
	margin-bottom: 10px;
	box-sizing: border-box;
}

#other ul li:nth-child(odd){
	padding-right: 5px;
}

#other ul li:nth-child(even){
	padding-left: 5px;
}

#other ul li img{
	width: 100%;
}