@charset "UTF-8";
/*  =============================

			 BASE
			
=============================  */

@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);

/*  ---------------------------
			Layout
---------------------------  */
*{
	margin:0;
	padding:0;
}

html,body{
	color:#fff;
	font-size:14px;
	line-height:1.6em;
	letter-spacing:0.3px;
	margin:0;
	padding:0;
	height:100%;
	font-family:'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	word-break:break-all;
}

img{
	border:0;
}

p{
	margin:0;
	padding:0;
}

ul{
	list-style:none;
}

a{
	color:#fff;
	text-decoration:none;
	filter: alpha(opacity=100);
  	-moz-opacity:1;
  	opacity:1;
	transition: .2s linear;
    -webkit-transition: .2s linear;
    -moz-transition: .2s linear;
    -o-transition: .2s linear;
    -ms-transition: .2s linear;
}

a:hover{
	text-decoration:none;
	filter: alpha(opacity=70);
  	-moz-opacity:0.7;
  	opacity:0.7;
}

h1,h2,h3,h4,h5{
	margin:0;
	padding:0;
	font-weight:normal;
}

i{
	margin-right:10px;
}

/*  ---------------------------
					Lording
---------------------------  */
#loading{
	position:fixed;
	width:100%;
	height:100%;
	top:0;
	left:0;
	z-index:100;
	background:#fff;
}

#loading .spinner {
  width: 40px;
  height: 40px;
  position:absolute;
  top:50%;
  left:50%;
  margin:-20px 0 0 -20px;
  background-color: #444;
  border-radius: 100%;  
  -webkit-animation: sk-scaleout 1.0s infinite ease-in-out;
  animation: sk-scaleout 1.0s infinite ease-in-out;
}

@-webkit-keyframes sk-scaleout {
  0% { -webkit-transform: scale(0) }
  100% {
    -webkit-transform: scale(1.0);
    opacity: 0;
  }
}

@keyframes sk-scaleout {
  0% { 
    -webkit-transform: scale(0);
    transform: scale(0);
  } 100% {
    -webkit-transform: scale(1.0);
    transform: scale(1.0);
    opacity: 0;
  }
}

/*  ---------------------------
					Header
---------------------------  */
header{
	width:100%;
	text-align:center;
	padding:20px 0 20px 0;
}

header h1{
	width:350px;
	margin:0 auto;
}

header h1 img{
	width:100%;
}

header ul.s_navi{
	float:right;
	padding-right:10px;
}

header ul.s_navi li{
	float:left;
	margin-right:10px;
}

a.fb{
	background:#39639E;
	width:50px;
	height:50px;
	border-radius: 25px;
	-webkit-border-radius: 25px;
	-moz-border-radius: 25px;
	display:block;
}

a.tw{
	background:#26C9FF;
	width:50px;
	height:50px;
	border-radius: 25px;
	-webkit-border-radius: 25px;
	-moz-border-radius: 25px;
	display:block;
}

a.cart{
	background:#008900;
	width:50px;
	height:50px;
	border-radius: 25px;
	-webkit-border-radius: 25px;
	-moz-border-radius: 25px;
	display:block;
}

.menu_btn{
	position:fixed;
	top:23px;
	left:20px;
	width:45px;
	height:45px;
	background:#444;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border:1px solid #737373;
	z-index:10;
}

.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;

}
.menu-trigger {
	position: relative;
	top:12px;
	left:8px;
	width: 30px;
	height: 30px;
}
.menu-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #fff;
}
.menu-trigger span:nth-of-type(1) {
	top: 0;
}
.menu-trigger span:nth-of-type(2) {
	top: 10px;
}
.menu-trigger span:nth-of-type(3) {
	top: 20px;
}

.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(10px) rotate(-45deg);
	transform: translateY(10px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-10px) rotate(45deg);
	transform: translateY(-10px) rotate(45deg);
}

/*  ---------------------------
					Menu
---------------------------  */
#menu{
	position:fixed;
	top:0;
	left:-50%;
	width:50%;
	background:#444;
	z-index:1;
	height:100%;
	font-size:20px;
	transition: .2s ease-out;
    -webkit-transition: .2s ease-out;
    -moz-transition: .2s ease-out;
    -o-transition: .2s ease-out;
    -ms-transition: .2s ease-out;
}

#menu.open{
	left:0;
	min-width:400px;
}

#menu .scroll{
	height:100%;
	overflow:auto;
}

#menu ul li{
	border-bottom:1px solid #737373;
	width:100%;
	line-height:0;
	position:relative;
}

#menu ul li a{
	width:100%;
	display:block;
	text-align:center;
	padding:30px 0 30px 0;
}

#menu ul li a:after{
	content:url(../images/menu/menu_arrow.png);
	position:absolute;
	right:20px;
	top:35px;
}

#menu ul li ul{
	width:80%;
	margin:0 auto;
	padding:30px 0 0px 0;
	text-align:center;
}

#menu ul li ul li{
	line-height:24px;
}

#menu ul li ul li:first-child{
	padding-bottom:20px;
}

#menu ul li ul li:last-child{
	border-bottom:none;
}

#menu ul li ul li a:after{
	content:url(../images/menu/menu_arrow_2.png);
	position:absolute;
	right:20px;
	top:30px;
}

#menu ul.s_navi{
	text-align:center;
	padding-top:30px;
}

#menu ul.s_navi li{
	display:inline-block;
	margin:0 5px 0 5px;
	border-bottom:none;
	width:auto;
}

#menu ul.s_navi li a{
	width:50px;
	padding:0;
}

#menu ul.s_navi li a:after{
	content:normal;
}

#menu .copy{
	padding:30px 0 20px 0;
	text-align:center;
	font-size:16px;
}

/*  ---------------------------
					Contents
---------------------------  */
#cnt{
	position:relative;
	background:url(../images/top/bg.gif) repeat;
}

#cnt .wrapper{
	width:980px;
	margin:0 auto;
	padding:40px 0 20px 0;
}

/*  ---------------------------
					Topics
---------------------------  */
#topics{
	width:100%;
	position:relative;
	color:#333;
	line-height:28px;
}

#topics .wrapper{
	width:980px;
	margin:0 auto;
	padding:20px 0 15px 0;
}

#topics .wrapper h2.topics{
	text-align:left;
	float:left;
	margin-right:30px;
	padding:0;
	width:auto;
}

#topics .wrapper ul li{
	display:none;
}

#topics .wrapper ul li p i{
	font-size:24px;
	margin-bottom:-10px;
	position:absolute;
}

#topics .wrapper ul li p a{
	color:#444;
	padding-left:20px;
}

#topics .wrapper ul li p span{
	margin-right:20px;
	letter-spacing:2px;
}

#topics .page_top{
	position:absolute;
	right:20px;
	top:10px;
}

#topics .page_top a{
	width:50px;
	height:50px;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	background:#444;
	display:block;
}

/*  ---------------------------
					Footer
---------------------------  */
footer{
	width:100%;
	background:#444;
}

footer .wrapper{
	width:980px;
	margin:0 auto;
	padding:30px 0 30px 0;
	font-size:12px;
}

footer .wrapper .footer_1{
	float:left;
	padding-right:30px;
	border-right:1px dotted #fff;
}

footer .wrapper .footer_1 .book{
	float:left;
	margin-right:30px;
}

footer .wrapper .footer_1 .detail{
	float:left;
}

footer .wrapper .footer_1 p{
	padding-bottom:15px;
}

footer .wrapper .footer_1 p.logo{
	padding-bottom:5px;
}

footer .wrapper .footer_1 a.btn{
	width:230px;
	padding:7px 0 7px 0;
	background:#FFF;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	display:block;
	color:#444;
	text-align:center;
	font-size:14px;
}

footer .wrapper .footer_2{
	float:left;
	width:350px;
	padding:0 20px 0 30px;
	border-right:1px dotted #fff;
}

footer .wrapper .footer_2 a{
	background:url(../images/footer/arrow.png) no-repeat left;
	padding-left:13px;	
}

footer .wrapper .footer_2 ul.navi_1{
	float:left;
	width:100px;
	font-size:14px;
}

footer .wrapper .footer_2 ul.navi_1 li{
	padding-bottom:10px;
}

footer .wrapper .footer_2 ul.navi_2{
	font-size:14px;
	float:left;
	width:250px;
}

footer .wrapper .footer_2 ul.navi_2 li{
	width:125px;
	float:left;
	padding-bottom:10px;
}

footer .wrapper .footer_2 ul.navi_2 li:nth-child(2){
	clear:left;
}

footer .wrapper .footer_2 ul.navi_2 li a{
	font-size:12px;
}

footer .wrapper .footer_2 p{
	clear:left;
}

footer .wrapper .footer_3{
	float:left;
	padding-left:30px;
}

footer .wrapper .footer_3 ul li{
	padding-bottom:10px;
}

/*  ---------------------------
			clearfix
---------------------------  */
.clearfix:after{
	content:".";
	display:block;
	height:0px;
	clear:both;
	visibility:hidden;
	font-size: 0.1em;
	overflow:hidden;
	line-height:0;
}
/* WinIE7 MacIE5 */
.clearfix{
	display:inline-table;
	zoom:100%;
}
/* WinIE5-6 */
/* Hides from IE-mac \*/
* html html .clearfix{
	height:1px;
}
.clearfix{
	display:block;
}

@media screen and (max-width: 800px){
header ul.s_navi{
	display:none;
}
}


@media screen and (max-width: 641px){
#cnt .wrapper{
	width:460px;
	margin:0 auto;
	padding:30px 0 30px 0;
}

header h1{
	padding-left:20px;
}

#topics .wrapper{
	width:460px;
	margin:0 auto;
	padding:20px 0 20px 0;
	font-size:18px;
}

#topics .wrapper ul{
	clear:left;
	padding-top:10px;
}

#topics .page_top{
	display:none;
}

footer .wrapper{
	width:460px;
	font-size:16px;
	line-height:24px;
}

footer .wrapper .footer_1{
	border-right:none;
	border-bottom:1px dotted #fff;
	padding:10px 0 30px 0;
	width:460px;
}

footer .wrapper .footer_1 a.btn{
	width:310px;
	font-size:16px;
}

footer .wrapper .footer_2{
	border-right:none;
	border-bottom:1px dotted #fff;
	padding:30px 0 30px 0;
	width:460px;
}

footer .wrapper .footer_2 ul.navi_1{
	font-size:16px;
	width:120px;
}

footer .wrapper .footer_2 ul.navi_2{
	font-size:16px;
	width:320px;
}

footer .wrapper .footer_2 ul.navi_2 li{
	width:160px;
}

footer .wrapper .footer_2 ul.navi_2 li a{
	font-size:16px;
}

footer .wrapper .footer_3{
	padding:0;
}

footer .wrapper .footer_3 ul{
	padding:20px 0 20px 0;
}

footer .wrapper .footer_3 ul li{
	float:left;
	padding:0 15px 0 0;
	line-height:0;
}


}