@charset "utf-8";

/* reset
----------------------------------------------- */

h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 1em;
	line-height: 1em;
	list-style: none;
}
a,
a:hover,
a:active,
a:visited {
	margin: 0;
	padding: 0;
	text-decoration: none;
	overflow: hidden;
	outline: none;
}
img {
	vertical-align: top;
	-webkit-user-select: none;
	-moz-user-select: none;
	-khtml-user-select: none;
	-webkit-user-drag: none;
	-khtml-user-drag: none;
}
hr {
	display: none;
}

/* clear */

.clear:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

/* html
----------------------------------------------- */

html {
	position: relative;
	margin: 0;
	padding: 0;
	min-width: 960px;
	min-height: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* body
----------------------------------------------- */

body {
	margin: 0 0 107px;
	padding: 0;
	height: 100%;
	min-width: 960px;
	color: rgb(50,50,50);
	font-family: Roboto, "Hiragino Kaku Gothic Pro", YuGothic, Meiryo, sans-serif;
	background: white;
	-webkit-print-color-adjust: exact;
	-webkit-user-select: none;
	-moz-user-select: none;
	-khtml-user-select: none;
	-webkit-user-drag: none;
	-khtml-user-drag: none;
}
a {
	color: rgb(230,18,0);
}
a:hover {
	color: rgb(50,50,50);
}

/* header
----------------------------------------------- */

#header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 70px;
	background: white;
	z-index: 2;
}
#header h1 {
	position: absolute;
	top: 23px;
	left: 100px;
}
#header .anniversary {
	position: absolute;
	top: 5px;
	left: 20px;
}

/* nav */

#header nav {
	position: absolute;
	top: 16px;
	right: 36px;
}
#header nav li {
	float: left;
	margin: 0 0 0 24px;
}
#header nav li a {
	display: block;
	position: relative;
	height: 40px;
	text-indent: 100%;
	white-space: nowrap;
	background: url(../images/common/header_nav.png) no-repeat;
	overflow: hidden;
}

#header nav .new a {
	width: 113px;
	background-position: 0 0;
}
#header nav .product a {
	width: 115px;
	background-position: -113px 0;
}
#header nav .beatree a {
	width: 72px;
	background-position: -228px 0;
}
#header nav .archive a {
	width: 71px;
	background-position: -300px 0;
}
#header nav .shop a {
	width: 117px;
	background-position: -371px 0;
}
#header nav .blog a {
	width: 47px;
	background-position: -488px 0;
}

/* hover, current */

#header .new a:hover,
#header .new.current a {
	background-position: 0 -40px;
}
#header .product a:hover,
#header .product.current a {
	background-position: -113px -40px;
}
#header .beatree a:hover,
#header .beatree.current a {
	background-position: -228px -40px;
}
#header .archive a:hover,
#header .archive.current a {
	background-position: -300px -40px;
}
#header .shop a:hover,
#header .shop.current a {
	background-position: -371px -40px;
}
#header .blog a:hover,
#header .blog.current a {
	background-position: -488px -40px;
}

/* nav bar */

#header nav li span {
	display: block;
	position: absolute;
	left: 50%;
	bottom: 5px;
	width: 0;
	height: 2px;
	background: rgb(230,0,18);
	-webkit-transition: all 0.1s ease-in-out;
	-moz-transition: all 0.1s ease-in-out;
	-o-transition: all 0.1s ease-in-out;
	transition: all 0.1s ease-in-out;
}
#header nav li:hover span,
#header nav .current span {
	left: 0;
	width: 100%;
}

/* footer
----------------------------------------------- */

#footer {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 107px;
	background: rgb(230,0,18);
	overflow: hidden;
	z-index: 2;
}
#footer .copyright {
	position: absolute;
	top: 85px;
	right: 20px;
}

/* information */

#footer .information {
	position: absolute;
	top: 23px;
	left: 28px;
	width: 571px;
	height: 31px;
	color: white;
	background: url(../images/common/footer_information.png) no-repeat;
	overflow: hidden;
}
#footer .information a {
	color: white;
}
#footer .information .items {
	position: absolute;
	top: 1px;
	left: 150px;
	width: 350px;
	height: 28px;
}
#footer .information .item {
	position: relative;
	font-size: 0.9em;
	height: 29px;
}
#footer .information .time {
	position: absolute;
	top: 50%;
	left: 1em;
	margin: -0.4em 0 0;
	font-weight: bold;
}
#footer .information .title {
	position: absolute;
	top: 50%;
	left: 95px;
	margin: -0.4em 0 0;
	width: 325px;
	height: 1em;
	overflow: hidden;
}
#footer .information .title a {
	position: absolute;
	top: 0;
	left: 0;
	white-space: nowrap;
}
#footer .information .title a:hover {
	text-decoration: underline;
}

/* nav */

#footer nav {
	position: absolute;
	top: 66px;
	left: 28px;
}
#footer nav li {
	float: left;
	margin: 0 24px 0 0;
}
#footer nav li a {
	display: block;
	position: relative;
	height: 24px;
	text-indent: 100%;
	white-space: nowrap;
	background: url(../images/common/footer_nav.png) no-repeat;
	overflow: hidden;
}
#footer nav .sitemap a {
	width: 59px;
	background-position: 0 0;
}
#footer nav .privacy a {
	width: 105px;
	background-position: -59px 0;
}
#footer nav .contact a {
	width: 61px;
	background-position: -164px 0;
}

#footer nav li a:after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 24px;
	background: url(../images/common/footer_nav.png) no-repeat;
	filter:alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
	-webkit-transition: all 0.1s ease-in-out;
	-moz-transition: all 0.1s ease-in-out;
	-o-transition: all 0.1s ease-in-out;
	transition: all 0.1s ease-in-out;
}
#footer nav li a:hover:after {
	filter:alpha(opacity=1);
	-moz-opacity: 1;
	opacity: 1;
}
#footer nav .sitemap a:after {
	width: 59px;
	background-position: 0 -24px;
}
#footer nav .privacy a:after {
	width: 105px;
	background-position: -59px -24px;
}
#footer nav .contact a:after {
	width: 61px;
	background-position: -164px -24px;
}

/* sns */

#footer .sns {
	position: absolute;
	top: 66px;
	left: 320px;
}
#footer .sns li {
	float: left;
	margin: 0 0 0 5px;
}
#footer .sns li a {
	display: block;
	width: 24px;
	height: 24px;
	text-indent: 100%;
	white-space: nowrap;
	background: white url(../images/common/footer_sns.png) no-repeat;
	overflow: hidden;
	-webkit-border-radius: 100px;
	-moz-border-radius: 100px;
	border-radius: 100px;
	-webkit-transition: all 0.1s ease-in-out;
	-moz-transition: all 0.1s ease-in-out;
	-o-transition: all 0.1s ease-in-out;
	transition: all 0.1s ease-in-out;
}
#footer .sns li a:hover {
	background-color: rgb(50,50,50);
}
#footer .sns .twitter a {
	background-position: 0 0;
}
#footer .sns .facebook a {
	background-position: -24px 0;
}

/* search */

#footer .search {
	position: absolute;
	top: 66px;
	left: 384px;
}
#footer .search p {
	position: relative;
	width: 150px;
	height: 24px;
	background: white;
	overflow: hidden;
	-webkit-border-radius: 100px;
	-moz-border-radius: 100px;
	border-radius: 100px;
}
#footer .search input {
	position: absolute;
	top: 0;
	left: 12px;
	margin: 0;
	padding: 0.3em 0 0;
	width: 114px;
	font-size: 0.75em;
	border: 0;
	outline: none;
}
#footer .search button {
	position: absolute;
	top: 0;
	right: 2px;
	margin: 0;
	padding: 0;
	width: 24px;
	height: 24px;
	text-indent: 100%;
	white-space: nowrap;
	border: 0;
	outline: none;
	background: url(../images/common/footer_sns.png) no-repeat -48px 0;
	overflow: hidden;
}

/* banner */

#footer .banner {
	position: absolute;
	top: 22px;
	right: 22px;
}
#footer .banner li {
	float: left;
	margin: 0 0 0 9px;
	-webkit-transition: all 0.1s ease-out;
	-moz-transition: all 0.1s ease-out;
	-o-transition: all 0.1s ease-out;
	transition: all 0.1s ease-out;
}
#footer .banner li:hover {
	margin-top: -5px;
}
