@charset "utf-8";



/* -- Link
-------------------------------------------------------------------------------- */
a,a:link,a:visited  {
	color: #D8181E;
	text-decoration: none;
	outline: none;
}
a:hover,a:active,a:focus {
	color: #D8181E!important;
	text-decoration: underline;
}
a:hover img,
body:not(#Home) header > h1:hover,
body:not(#Home) footer h2:hover {
	opacity: 0.7;
	-moz-opacity: 0.7;
	-ms-filter: "alpha(opacity=70)";
	-moz-transition: color 0.3s ease,opacity 0.3s ease;
	-webkit-transition: color 0.3s ease,opacity 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: color 0.3s ease,opacity 0.3s ease;
}



/* -- Layout
-------------------------------------------------------------------------------- */
body.pc {
	min-width: 1180px;
}
header,
footer,
article > section {
	text-align: left;
	width: 1170px;
	margin: auto;
	box-sizing: border-box;
}
br.sp {
	display: none;
}



/* -- Illust
-------------------------------------------------------------------------------- */
span[class^="ill"] {
	display: block;
	position: absolute;
	left: 50%;
	z-index: 10;
}
span.ill1 {
	background: url(../img/ill_fork.png) no-repeat;
	width: 416px;
	height: 654px;
	margin-left: -845px;
	top: 121px;
}
span.ill2 {
	background: url(../img/ill_spoon.png) no-repeat;
	width: 413px;
	height: 641px;
	margin-left: 455px;
	top: 132px;
}
span.ill3 {
	background: transparent url(../img/ill_img1.png) no-repeat top left;
	width: 237px;
	height: 317px;
	margin-left: -638px;
	top: 363px;
	overflow: hidden;
}
span.ill4 {
	background: url(../img/ill_img2.png) no-repeat;
	width: 130px;
	height: 296px;
	margin-left: 543px;
	top: 600px;
}
span.ill5 {
	background: url(../img/ill_img3.png) no-repeat;
	width: 187px;
	height: 134px;
	margin: -880px 0 0 -599px;
}
span.ill6 {
	background: url(../img/ill_img4.png) no-repeat;
	width: 231px;
	height: 176px;
	margin: -922px 0 0 412px;
}



/* -- Headerer
-------------------------------------------------------------------------------- */
header {
	height: 88px;
	position: relative;
}
header > * {
	position: absolute;
}
header > h1 {
	background: url(../img/head_logo.gif) no-repeat;
	text-indent: -99em;
	display: block;
	height: 63px;
	width: 250px;
	left: 0;
	top: 11px;
	overflow: hidden;
}
header > h1 a {
	display: block;
	height: 63px;
	width: 168px;
	position: absolute;
	left: 0;
	top: 0;
}
header nav {
	text-align: right;
	height: 81px;
	/*width: 630px;*/
	width: 510px;
	position: absolute;
	right: 0;
	top: 0;
}
header nav p {
	font-size: 11px;
	color: #888;
	display: block;
	padding-top: 10px;
	height: 25px;
}
header nav ul {
	background: url(../img/pc/navi.png) no-repeat 0 0;
	display: block;
	height: 46px;
	/*width: 632px;*/
	width: 505px;
	position: relative;
}
header nav li {
	display: block;
	height: 46px;	
	position: absolute;
	top: 0;
}
header nav li:nth-child(1) { width: 71px; left: 0; }
header nav li:nth-child(2) { width: 72px; left: 135px; }
header nav li:nth-child(3) { width: 104px; left: 264px; }
header nav li:nth-child(4) { width: 85px; left: 418px; }
header nav li:nth-child(5) { width: 67px; left: 565px; }
header nav li a {
	font-size: 0;
	background: url(../img/pc/navi.png) no-repeat;
	display: block;
	width: 100%;
	height: 0;
	padding-top: 46px;
	overflow: hidden;
	position: relative;
	z-index: 2;
}
header nav li:nth-child(1) a { background-position: 0 -46px; }
header nav li:nth-child(2) a { background-position: -135px -46px; }
header nav li:nth-child(3) a { background-position: -264px -46px; }
header nav li:nth-child(4) a { background-position: -418px -46px; }
header nav li:nth-child(5) a { background-position: -565px -46px; }
header nav li a:hover,
#Menu header nav li:nth-child(2) a,
#Message header nav li:nth-child(3) a,
#Access header nav li:nth-child(4) a,
#News header nav li:nth-child(5) a {
	background: none;
}



/* -- Contents
-------------------------------------------------------------------------------- */
article {
	background: url(../img/bg_cont.gif) repeat;
	position: relative;
	padding-bottom: 170px;
}
article:before {
	content: "";
	background: url(../img/bg_head.gif) repeat-x;
	display: block;
	width: 100%;
	height: 5px;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 9;
}
article > h1 {
	margin-bottom: -100px;
	height: 332px;
	box-sizing: border-box;
	position: relative;
	z-index: 8;
}
article > section {
	line-height: 1.7;
	width: 1040px;
}
article > h1 + section {
	padding-top: 145px;
}
article > h1 + section > * {
	position: relative;
}
article > h1 + section:before {
	content: "";
	background: url(../img/bg_color.gif) repeat 0 0;
	display: block;
	width: 100%;
	margin-top: -145px;
	position: absolute;
	left: 0;
}
article > section > h2 {
	display: block;
	text-align: center;
	margin-bottom: 30px;
}
article > section > h2 span {
	font-size: 16px;
	color: #d8181e;
	text-align: center;
	display: block;
	margin: 5px 0 0;
}
article + aside {
	background: url(../img/bg_color.gif) repeat;
	padding: 60px 0 0;
	height: 275px;
}
article + aside ul {
	display: table;
	margin: 0 auto 75px;
}
article + aside ul li {
	display: table-cell;
	padding: 0 6px;
}
article + aside ul li:last-child {
	display: none;
}
article + aside p {
	display: block;
	height: 105px;
	overflow: hidden;
}
article + aside p a {
	background: url(../img/btn_pagetop.png) no-repeat 0 0;
	display: block;
	height: 0;
	width: 160px;
	padding-top: 105px;
	margin: auto;
}
article + aside p a:hover {
	background-position: 0 -105px;
}



/* -- Footer
-------------------------------------------------------------------------------- */
footer {
	font-size: 12px;
	height: 426px;
}
footer:before {
	content: "";
	background-image: url(../img/bg_foot_line.png), url(../img/bg_foot.png);
	background-repeat: repeat-x, repeat-x;
	background-position: 0 34px, 0 0;
	display: block;
	width: 100%;
	height: 426px;
	position: absolute;
	left: 0;
}
footer h2 {
	background: url(../img/foot_logo.png) no-repeat right bottom;
	text-indent: -999em;
	float: left;
	display: block;
	margin: 155px 0 0 228px;
	width: 310px;
	height: 86px;
	overflow: hidden;
	position: relative;
}
footer h2 a {
	display: block;
	width: 231px;
	height: 87px;
	position: absolute;
	right: 0;
	bottom: 0;
}
footer dl {
	line-height: 2;
	display: block;
	padding: 142px 0 0 77px;
	height: 204px;
	overflow: hidden;
}
footer dl dt {
	font-weight: bold;
}
footer dl dd {
	margin: -2em 0 0 5em;
}
footer dl dd span {
	display: inline-block;
	width: 5em;
}
footer ul {
	display: table;
	margin: auto;
	position: relative;
}
footer ul li {
	display: table-cell;
	padding: 25px 20px 0;
}
footer ul li a {
	color: #FFF!important;
}
footer ul li a:hover {
	color: #FFC426!important;
}
footer ul ul {
	background: url(../img/foot_sns_line.gif) no-repeat 0 center;
}
footer ul ul li {
	padding: 0 10px;
}
footer ul ul li:first-child {
	padding-left: 30px;
}
footer ul ul li img {
	width: 21px;
}
footer small {
	color: #CCC;
	display: block;
	padding-top: 13px;
	text-align: center;
	position: relative;
}



/* -- for IE8
-------------------------------------------------------------------------------- */
.ua-ie-8 footer:before {
	background: url(../img/bg_foot.png) repeat-x 0 0;
	content: "";
	display: block;
	width: 100%;
	height: 426px;
	position: absolute;
	left: 0;
}
