* { 
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; /* remember: box-sizing is not supported by IE7 :( */ 
    outline: none; 
    vertical-align: top;
    margin: 0;
    padding: 0;
}
*, *:after, *:before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
html{ 
    width: 100%; 
    z-index: 1;
}
html,body{ 
    font-family: "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
    font: normal 1em/2em; 
    margin: 0; 
    padding: 0; 
    width: 100%;
    height: 100%;
    color: #f2f2f2; 
    background: #050505;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
blockquote,body,dd,div,dl,dt,fieldset,form,h1,h2,h3,h4,h5,h6,input,li,ol,p,pre,td,textarea,th,ul{
    margin:0;
    padding:0;
}
p{
    font-size: 0.9em;
    line-height: 1.6em;
    letter-spacing: .1em;
    margin: 0;
    padding: 0;
    font-weight:
    normal;
}
a{
    letter-spacing: .1em;
    color: inherit;
    outline: none;
    margin: 0;
    padding: 0;
    text-decoration: none;
}
*,*:before,*:after{
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
a,p,h1,h2,h3,h4,h5{
    display: block;
    position: relative;
    letter-spacing: .1em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin: 0;
    padding: 0;
}
input, button, textarea, select {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.clearfix:before,.clearfix:after {
    content: " ";
    display: table;
}
.clearfix:after {
    clear: both;
}
.clearfix {
    *zoom: 1;
}
.pc{
    display: block;
}
.tb{
    display: none;
}
.sp{
    display: none
}
.pc-tb{
	display: block;
}
.tb-sp{
	display: none;
}
.invisible{
    opacity: 0;
}
.visible{
    opacity: 1;
}
.hide{
    display: none;
}
/* 
矢印右側
:after{
    content: "\f105";
    font-family: FontAwesome;
    position: absolute;
    right: 10px;
    color: #fff;
}
*/

@media only screen and (max-width: 1023px) {

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

}

@media only screen and (max-width: 639px) {

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

}


/* -------------------------------- 

fix

-------------------------------- */


/*  margin  */
.margin-auto{
	margin: 0 auto;
}
.margin-top-10{
	margin-top: 10px;
} 
.margin-top-20{
	margin-top: 20px;
}
.margin-top-30{
	margin-top: 30px;
} 
.margin-top-40{
	margin-top: 40px!important;
}
.margin-top-50{
	margin-top: 50px!important;
} 
.margin-top-60{
	margin-top: 60px!important;
}
.margin-top-70{
	margin-top: 70px!important;
} 
.margin-top-80{
	margin-top: 80px!important;
}
.margin-top-90{
	margin-top: 90px;
} 
.margin-top-100{
	margin-top: 100px;
}
.margin-left-10{
	margin-left: 10px;
} 
.margin-left-20{
	margin-left: 20px;
}
.margin-left-30{
	margin-left: 30px;
} 
.margin-left-40{
	margin-left: 40px;
}
.margin-left-50{
	margin-left: 50px;
} 
.margin-left-60{
	margin-left: 60px;
}
.margin-left-70{
	margin-left: 70px;
} 
.margin-left-80{
	margin-left: 80px;
}
.margin-left-90{
	margin-left: 90px;
} 
.margin-left-100{
	margin-top: 100px;
}
.margin-right-10{
	margin-right: 10px;
} 
.margin-right-20{
	margin-right: 20px;
}
.margin-right-30{
	margin-right: 30px;
} 
.margin-right-40{
	margin-right: 40px;
}
.margin-right-50{
	margin-right: 50px;
} 
.margin-right-60{
	margin-right: 60px;
}
.margin-right-70{
	margin-right: 70px;
} 
.margin-right-80{
	margin-right: 80px;
}
.margin-right-90{
	margin-right: 90px;
} 
.margin-right-100{
	margin-right: 100px;
}
.margin-bottom-10{
	margin-bottom: 10px;
} 
.margin-bottom-20{
	margin-bottom: 20px;
}
.margin-bottom-30{
	margin-bottom: 30px;
} 
.margin-bottom-40{
	margin-bottom: 40px;
}
.margin-bottom-50{
	margin-bottom: 50px;
} 
.margin-bottom-60{
	margin-bottom: 60px;
}
.margin-bottom-70{
	margin-bottom: 70px;
} 
.margin-bottom-80{
	margin-bottom: 80px;
}
.margin-bottom-90{
	margin-bottom: 90px;
} 
.margin-bottom-100{
	margin-bottom: 100px;
}
.margin-left-5p{
	margin-left: 5%;
}
.margin-left-6p{
	margin-left: 6%;
}
.margin-left-8p{
	margin-left: 8%;
}


/*  padding  */

.padding-top-10{
	padding-top: 10px;
} 
.padding-top-20{
	padding-top: 20px;
}
.padding-top-30{
	padding-top: 30px;
} 
.padding-top-40{
	padding-top: 40px;
}
.padding-top-50{
	padding-top: 50px;
} 
.padding-top-60{
	padding-top: 60px;
}
.padding-top-70{
	padding-top: 70px;
} 
.padding-top-80{
	padding-top: 80px;
}
.padding-top-90{
	padding-top: 90px;
} 
.padding-top-100{
	padding-top: 100px;
}
.padding-top-250{
	padding-top: 250px;
}
.padding-left-10{
	padding-left: 10px;
} 
.padding-left-20{
	padding-left: 20px;
}
.padding-left-30{
	padding-left: 30px;
} 
.padding-left-40{
	padding-left: 40px;
}
.padding-left-50{
	padding-left: 50px;
} 
.padding-left-60{
	padding-left: 60px;
}
.padding-left-70{
	padding-left: 70px;
} 
.padding-left-80{
	padding-left: 80px;
}
.padding-left-90{
	padding-left: 90px;
} 
.padding-left-100{
	padding-top: 100px;
}
.padding-right-10{
	padding-right: 10px;
} 
.padding-right-20{
	padding-right: 20px;
}
.padding-right-30{
	padding-right: 30px;
} 
.padding-right-40{
	padding-right: 40px;
}
.padding-right-50{
	padding-right: 50px;
} 
.padding-right-60{
	padding-right: 60px;
}
.padding-right-70{
	padding-right: 70px;
} 
.padding-right-80{
	padding-right: 80px;
}
.padding-right-90{
	padding-right: 90px;
} 
.padding-right-100{
	padding-right: 100px;
}
.padding-bottom-10{
	padding-bottom: 10px;
} 
.padding-bottom-20{
	padding-bottom: 20px;
}
.padding-bottom-30{
	padding-bottom: 30px;
} 
.padding-bottom-40{
	padding-bottom: 40px;
}
.padding-bottom-50{
	padding-bottom: 50px;
} 
.padding-bottom-60{
	padding-bottom: 60px;
}
.padding-bottom-70{
	padding-bottom: 70px;
} 
.padding-bottom-80{
	padding-bottom: 80px;
}
.padding-bottom-90{
	padding-bottom: 90px;
} 
.padding-bottom-100{
	padding-bottom: 100px;
}

/* color */
.white{
	color: #fff!important;
}
.gray-white{
	color: #eee;
}
.gray-1{
	color: #ddd;
}
.gray-2{
	color: #ccc;
}
.gray-3{
	color: #bbb;
}
.gray-4{
	color: #aaa;
}
.gray-5{
	color: #888;
}
.gray-6{
	color: #555;
}
.gray-black{
	color: #333;
}
.black{
	color: #222!important;
}












