@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: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, 'メイリオ', sans-serif;
}

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

html{
	font-size: medium;	
}

body{
	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;
}

figure{
	margin: 0;
}

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

a:hover{
	text-decoration: underline;
}

section{
	position: relative;
}

/*-----------------------------------------------
 body
-----------------------------------------------*/

body{
	overflow-x: hidden;
	min-width: 980px;
	background-image: url(../img/global/bg.jpg);
	background-color: #e2f4cf;
	background-position: center top;
	background-repeat: no-repeat;
	background-attachment: fixed;
}
/*-----------------------------------------------
 keyvisual
-----------------------------------------------*/

#keyvisual{
	position: relative;
	width: 980px;
	height: 1100px;
	margin: 0 auto;
}

#keyvisual h1{
	position: absolute;
    top: 46px;
    left: 449px;
}

#keyvisual .author{
	position: absolute;
    top: 543px;
    left: 34px;
}

#keyvisual .kakuyomu{
	position: absolute;
    top: 408px;
    left: 742px;
}

#keyvisual .catch{
	position: absolute;
	top: 838px;
	left: 0;
}

#keyvisual span.icon{
	position: absolute;
	z-index: 1;
    top: 607px;
    left: 711px;
}

#keyvisual figure.cover{
	position:absolute;
	top: 679px;
    left: 752px;
    border: 1px solid #000;
    font-size: 0;
}

#keyvisual ul.product{
	position: absolute;
	top: 955px;
    left: 752px;
	font-size: 0;
}

#keyvisual ul.product li{
	margin-bottom: 5px;
}

#keyvisual .sns{
	position: absolute;
	top: 10px;
	right: 20px;
	text-align: center;
}

#keyvisual .sns li{
	display: inline-block;
	margin: 0 5px 0;
	vertical-align: top;
}

/*-----------------------------------------------
 story
-----------------------------------------------*/

#story{
	width: 980px;
	height: 794px;
	margin: 0 auto 65px;
	background-image: url(../img/story/bg.png);
}

#story h2{
	margin-bottom: 35px;
	text-align: center;
}

#story p.text{
	text-align: center;
}

/*-----------------------------------------------
 character
-----------------------------------------------*/

#character{
	width: 980px;
	height: 764px;
	margin: 0 auto 65px;
	background-image: url(../img/character/bg.jpg);
}

#character h2{
	text-align: center;
}

#character .name1{
    position: absolute;
    top: 96px;
    left: 33px;
}

#character .name2{
	position: absolute;
    top: 596px;
    left: 267px;
}

#character .name3{
	position: absolute;
    top: 156px;
    left: 457px;
}

#character .name4{
	position: absolute;
    top: 76px;
    left: 743px;
}

/*-----------------------------------------------
 campaign
-----------------------------------------------*/

#campaign{
	width: 980px;
	margin: 0 auto 65px;
	padding-bottom: 40px;
	background-image: url(../img/campaign/bg.png);
	background-position: center bottom;
	background-repeat: no-repeat;
}

#campaign h2{
	text-align: center;
}

#campaign p.catch{
	margin-bottom: 10px;
	text-align: center;
}

#campaign p.text{
	margin: 0 40px 10px;
	font-size: 24px;
	font-weight: bold;
	color: #fff;
}

#campaign p.text span{
	color: #ffff00;
}

#campaign p.notice{
	font-size: 16px;
	text-align: center;
	color: #fff;
}


/*-----------------------------------------------
 information
-----------------------------------------------*/

#information{
	width: 980px;
	margin: 0 auto 75px;
	padding: 5px 0 50px;
	background-color: #fff;
}

#information h2{
	text-align: center;
}

#information .bookList{
	position: relative;
	margin: 0 70px 50px;
}

#information .bookList span{
	display: block;
	position: absolute;
    top: -82px;
    left: -62px;
}

#information .bookList:last-child{
	margin-bottom: 0;
}

#information .cover{
	float: left;
	position: relative;
	width: 270px;
	margin: 0;
}

#information h2{
	margin-bottom: 35px;
	line-height: 0;
}

#information .book {
margin-bottom: 50px;
}

#information .detail{
	float: right;
	width: 540px;
}

#information .detail h3{
	margin-bottom: 15px;
	font-size: 28px;
	line-height: 1.2;
}

#information .detail p.author{
	margin-bottom: 30px;
	font-size: 20px;
}

#information .detail p.text{
	margin-bottom: 30px;
	font-size: 16px;
}

#information .detail .link{
	font-size: 0;
}

#information .detail .link div{
	display: inline-block;
	margin-right: 18px;
}

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

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

.clearfix {
	min-height: 1px;
}

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

/*-----------------------------------------------
 hover
-----------------------------------------------*/

.hover :hover{
	opacity: 0.8;
	animation: btn 0.5s;
	-webkit-animation: btn 0.5s;
	-moz-animation: btn 0.5s;
}

@media screen and (max-width:767px) and (min-width: 1px){
	
	.hover :hover{
		opacity: 1;
		animation: none;
		-webkit-animation: none;
		-moz-animation: none;
	}
}

@keyframes btn {
	0% { 
		opacity: 1;
	}
	10% { 
		opacity: 0.4;
	}
	100% {
		opacity: 0.8;
	}
}

@-webkit-keyframes btn {
	0% { 
		opacity: 1;
	}
	10% { 
		opacity: 0.4;
	}
	100% {
		opacity: 0.8;
	}
}
@-moz-keyframes btn {
	0% { 
		opacity: 1;
	}
	10% { 
		opacity: 0.4;
	}
	100% {
		opacity: 0.8;
	}
}

/*-----------------------------------------------
 footer
-----------------------------------------------*/

#footer{
	padding: 30px 0;
	background-color: #004ea2;
}

#footer .pageUp{
	margin-bottom: 20px;
	text-align: center;
	line-height: 0;
}

#footer .logo{
	margin-bottom: 20px;
	text-align: center;
	line-height: 0;
}

#footer .sns{
	margin-bottom: 10px;
	text-align: center;
}

#footer .sns li{
	display: inline-block;
	margin: 0 5px 0;
	vertical-align: top;
}

#footer .copy{
	text-align: center;
	color: #fff;
}