@charset "UTF-8";

@import "reset.css";
@import "base.css";

body {
	background: url(../images/bg.gif) repeat;
	text-align: justify;
	text-justify: inter-ideograph;
	-webkit-text-size-adjust: 100%;
	color: #444444;
}
#header-inner, #contents, #footer-inner {
	margin: 0 auto;
	padding: 0 20px;
	width: 960px;
}
#main, ul#social, #inquiry, .rdcorners {
	border-radius: 5px;        /* CSS3草案 */  
    -webkit-border-radius: 5px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 5px;   /* Firefox用 */ 
}
a.slicknav_btn {
	-webkit-tap-highlight-color: transparent;
}

/* =====================================================================
 * header
 * =================================================================== */
header {
	margin-bottom: 12px;
	background: url(../images/header_bg.png) repeat-x bottom;
}
#header-inner {
	position: relative;
}
h1 a {
	display: block;
	float: left;
	margin-top: 20px;
	padding: 0;
	width: 241px;
	height: 56px;
	background: url(../images/logo.svg) no-repeat;
	text-indent: 101%;
	white-space: nowrap;
	overflow: hidden;
}
.gohome {
	position: absolute;
	top: 0;
	right: 20px;
}
.gohome a {
	display: block;
	width: 99px;
	height: 21px;
	background: url(../images/btn_home.svg) no-repeat;
	text-indent: 101%;
	white-space: nowrap;
	overflow: hidden;
}
.slicknav_menu {
    display: none;
}

/* =====================================================================
 * header-menu
 * =================================================================== */
#header-menu {
	overflow: hidden;
	float: right;
	margin-top: 42px;
	width: 690px;
	height: 23px;
}
p.btn_os {
	float: left;
	margin-right: 15px;
}
ul#s-navi {
	position: absolute;
	right: 315px;
	margin-top: 4px;
	height: 15px;
	background: url(../images/dotline_vertical.svg) repeat-y right;
}
ul#s-navi li {
	float: left;
	margin: 1px 12px 0 0;
}
ul#s-navi li a {
	display: block;
	text-indent: 101%;
	white-space: nowrap;
	overflow: hidden;
	width: 101px;
	height: 13px;
	background: url(../images/sn_newsrelease.svg) no-repeat;
}
ul#s-navi li#gyomushohin a {
	width: 119px;
	height: 13px;
	background: url(../images/sn_prouse.svg) no-repeat;
}
#header-menu dt, #header-menu dd {
	float: left;
}
#header-menu dl {
	position: absolute;
	right: 176px;
	margin-top: 2px;
}
#header-menu dt {
	margin: 3px 6px 0 0;
}
#header-menu dd li {
	float: left;
	margin-right: 2px;
	height: 19px;
	cursor: pointer;
}

/* =====================================================================
 * search
 * =================================================================== */
#search {
	float: right;
	width: 146px;
}
#search input {
    height: 19px;
	border: solid 1px #999999;
}
#search input.textarea {
	position: absolute;
	width: 122px;
}
#search input.searchbtn {
	position: absolute;
	width: 23px;
	height: 23px;
	border: none;
	cursor: pointer;
	right: 20px;
}
#search input[type="text"], 
#search input[type="image"] {
   -webkit-appearance: none;
   border-radius: 0;
}

/* =====================================================================
 * globalnavi
 * =================================================================== */
ul#g-navi {
	clear: both;
	padding: 27px 0 25px 0;
	width: 100%;
	height: 32px;
}
ul#g-navi li {
	float: left;
	overflow: hidden;
}
ul#g-navi li a {
	display: block;
	width: 192px;
	height: 32px;
	background: url(../images/navi.gif) no-repeat;
	text-indent: 101%;
	white-space: nowrap;
	overflow: hidden;
}
/*知る・学ぶ・楽しむ*/
ul#g-navi #gn-entertainment a {
	background-position: 0px 0px;
}
#entertainment ul#g-navi #gn-entertainment a,
ul#g-navi #gn-entertainment a:hover {
	background-position: 0px -32px;
}
/*商品情報*/
ul#g-navi #gn-products a {
	background-position: -192px 0px;
}
#products ul#g-navi #gn-products a,
ul#g-navi #gn-products a:hover {
	background-position: -192px -32px;
}
/*レシピ*/
ul#g-navi #gn-recipe a {
	background-position: -384px 0px;
}
#recipe ul#g-navi #gn-recipe a,
ul#g-navi #gn-recipe a:hover {
	background-position: -384px -32px;
}
/*にっこくについて*/
ul#g-navi #gn-about a {
	background-position: -576px 0px;
}
#about ul#g-navi #gn-about a,
ul#g-navi #gn-about a:hover {
	background-position: -576px -32px;
}
/*お客様相談室*/
ul#g-navi #gn-customer a {
	background-position: -768px 0px;
}
#customer ul#g-navi #gn-customer a,
ul#g-navi #gn-customer a:hover {
	background-position: -768px -32px;
}

/* =====================================================================
 * contents
 * =================================================================== */
#contents {
	margin-bottom: 30px;
}

/*breadcrumb*/
#breadcrumb ul {
	float: left;
	margin-bottom: 14px;
	line-height: 1;
}
#breadcrumb li {
	display: inline;
	margin-right: 3px;
	font-family:"メイリオ","ＭＳ Ｐゴシック",sans-serif;
	font-size: 77%;
}
#breadcrumb li a {
	text-decoration: none;
}

/* =====================================================================
 * main
 * =================================================================== */
#main {
	float: left;
	overflow: hidden;
	margin-bottom: 40px;
	padding: 30px;
	width: 678px;
	background-color: #ffffff;
	border: solid 1px #cccccc;
	font-size: 93%;
}
#main section {
	overflow: hidden;
}
h2 {
	display: table;
	width: 678px;
	margin-bottom: 30px;
	height: 52px;
	padding-left: 13px;
	background: #f6efcf;
	line-height: 1;
	border-radius: 5px;        /* CSS3草案 */
	-webkit-border-radius: 5px;    /* Safari,Google Chrome用 */ 
	-moz-border-radius: 5px;   /* Firefox用 */	
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
h2 span {
	display: table-cell;
	vertical-align: middle;
}
ul#social {
	padding: 20px 20px 14px;
	background: #ffffff;
	border: solid 1px #cccccc;
	text-align: center;
}
ul#social li {
	display: inline-block;
	margin-right: 10px;
	line-height: 20px;
	vertical-align: top;
	*display: inline;
	*zoom: 1;
}
#inquiry {
	clear: both;
	overflow: hidden;
	margin-bottom: 20px;
	padding: 15px 19px 15px 170px;
	min-height: 74px;
	background: url(../images/contact_image.jpg) no-repeat #ffffff;	
	border: solid 1px #cccccc;
}
#inquiry dl {
	float: left;
	margin-right: 16px;
	padding: 7px 16px 0 0;
	width: 280px;
	min-height: 74px;
	background: url(../images/dotline_vertical.svg) repeat-y right;
}
#inquiry dt {
	margin-bottom: 12px;
	line-height: 1;
}
#inquiry dd {
	line-height: 1.6;
	font-size: 93%;
}
dl#tel {
	margin-right: 0;
	padding-right: 0;
	width: 250px;
	background: none;
}
dl#tel dt {
	margin-bottom: 9px;
	font-size: 108%;
}
dl#tel dd.recepTime span {
	margin-right: 8px;
}
dl#tel dd.recepTime br {
	display: none;
}
#inquiry ul {
	float: right;
	margin-top: 6px;
}
#inquiry li {
	margin-bottom: 6px;
}
/*telLink*/
.telLink a , .museumTel a {
	color: #444444;
	text-decoration: none!important;
}

/* =====================================================================
 * side
 * =================================================================== */
#side {
	float: right;
	overflow: hidden;
	padding-bottom: 30px;
	width: 200px;
}
ul#banner li {
	margin-bottom: 12px;
	background: #ffffff;
}
ul#banner li#bn-support {
	background: transparent;
}
ul#banner li#bn-support li {
	background: #ffffff;
}
ul#banner li#bn-support span.supporttxt {
	display: block;
	margin-bottom: 12px;
	padding: 12px 10px 10px;
	border: 1px solid #ff5050;
	background: #ffffff;
	font-weight: bold;
	text-align: center;
	line-height: 1.5;
	color: #ff5050;
}
#side p {
	margin-bottom: 12px;
}

/* =====================================================================
 * menu
 * =================================================================== */
#side section {
	overflow: hidden;
	margin-bottom: 18px;
	background-color: #ffffff;
	border: solid 1px #cccccc;
	border-radius: 5px;        /* CSS3草案 */  
	-webkit-border-radius: 5px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 5px;   /* Firefox用 */ 
}
#side section h4 {
	display: table;
	background: url(../images/title_bg.svg) repeat-x;
	width: 100%;
	height: 43px;
	border-left: 1px solid #ffffff;
	border-right: 1px solid #ffffff;
	border-radius: 5px 5px 0 0;
	-webkit-border-radius: 5px 5px 0 0;
	-moz-border-radius: 5px 5px 0 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
#side section h4 span {
	display: table-cell;
	vertical-align: middle;
	padding: 2px 0 0 15px;
	line-height: 1px;
}
ul#menu {
	padding: 3px 0 17px 0;
	background: url(../images/title_bottom.svg) repeat-x top;
	text-align: left;
	font-size: 85%;
}
ul#menu li, .pagehere, .current {
	line-height: 1.6;
	background: url(../images/arrow.svg) no-repeat 15px 14px;
}
ul#menu li a {
	display: block;
	margin: 0 10px;
	padding: 10px 8px 9px 16px;
	color: #444444;
	background: url(../images/dotline.svg) repeat-x bottom;
}
ul#menu li a:hover, ul#menu .pagehere a, ul#menu .current a {
	color: #ff5050;
}
ul#menu li.pagehere, .pagehere, ul#menu li.current, .current {
	display: block;
	background-color: #fff6f6;
}
ul#menu li ul li {
	background: url(../images/arrow.svg) no-repeat 25px 14px;
}
ul#menu li ul li a {
	padding-left: 26px;
}
ul#menu a       { text-decoration: none; }
ul#menu a:hover { text-decoration: underline; }

/* =====================================================================
 * footer
 * =================================================================== */
footer {
	clear: both;
	padding-bottom: 80px;
	background-color: #ffffff;
	background: url(../images/footer_bg.png) repeat-x top;
}
#footer-inner {
	position: relative;
	overflow: hidden;
	padding-top: 35px;
}
ul#f-navi {
	overflow: hidden;
	margin-bottom: 35px;
	background: url(../images/dotline_vertical.svg) repeat-y left;
}
ul#f-navi li {
	float: left;
	padding: 2px 15px;
	background: url(../images/dotline_vertical.svg) repeat-y right;
	font-size: 85%;
}
ul#f-navi li a {
	text-decoration: none;
	color: #636363;
}
#pagetop {
	position: absolute;
	top: 35px;
	right: 20px;
}
.address {
	position: absolute;
	top: 98px;
	left: 222px;
}
footer small {
	float: right;
	margin-top: 7px;
}

/* =====================================================================
 * mediaqueries
 * =================================================================== */
@media screen and (max-width: 960px) {
	* {
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-o-box-sizing: border-box;
		-ms-box-sizing: border-box;
		box-sizing: border-box;
	}
	img {
		max-width: 100%;
		height: auto;
	}
	#header-inner, #contents, #footer-inner {
		overflow: hidden;
		padding: 0 20px;
		width: 100%;
	}
	h1 a {
		float: none;
		margin: 25px auto;
	}
	#header-menu {
		position: relative;
		overflow: hidden;
		float: none;
		margin: 0 auto;
		width: 550px;
	}
	#header-menu dl {
		display: none;
	}
	p.btn_os {
		position: absolute;
		left: 0;
	}
	ul#s-navi {
		position: relative;
		left: 152px;
		float: left;
		background: none;
	}
	#search input {
   		height: 23px;
		border: solid 1px #999999;
	}
	#search input.textarea {
		position: absolute;
		width: 124px;
	}
	#search input.searchbtn {
		right: 0;
	}
	ul#g-navi {
		overflow: hidden;
		padding: 20px 0 30px 0;
		width: 100%;
		height: auto;
		text-align: center;
	}
	ul#g-navi li {
		float: none;
		display: inline;
		overflow: inherit;
	}
	ul#g-navi li a {
		display: inherit;
		width: inherit;
		height: inherit;
		background: none;
		text-indent: inherit;
		white-space: inherit;
		overflow: inherit;
		padding: 5px 12px;
		text-decoration: none;
		line-height: 1;
		font-size: 108%;
		font-weight: bold;
		color: #444444;
	}
	ul#g-navi li a:before {
		margin-right: 10px;
	}
	ul#g-navi #gn-entertainment a:before {
		content : url(../images/icon_entertainment.svg) ;
		position: relative;
		top: 5px;
	}
	ul#g-navi #gn-products a:before {
		content : url(../images/icon_products.svg) ;
		position: relative;
		top: 4px;
	}
	ul#g-navi #gn-recipe a:before {
		content : url(../images/icon_recipe.svg) ;
		position: relative;
		top: 5px;
	}
	ul#g-navi #gn-about a:before {
		content : url(../images/icon_about.svg) ;
		position: relative;
		top: 3px;
	}
	ul#g-navi #gn-customer a:before {
		content : url(../images/icon_customer.svg) ;
		position: relative;
		top: 5px;
	}
	ul#g-navi li a:hover {
		transition: all 0.3s ease;
		-webkit-transition: all 0.3s ease;
		-moz-transition: all 0.3s ease;
	}
	#entertainment ul#g-navi #gn-entertainment a,
	ul#g-navi #gn-entertainment a:hover {
		color: #fe7588;
	}
	#products ul#g-navi #gn-products a,
	ul#g-navi #gn-products a:hover {
		color: #85aa55;
	}
	#recipe ul#g-navi #gn-recipe a,
	ul#g-navi #gn-recipe a:hover {
		color: #f38300;
	}
	#about ul#g-navi #gn-about a,
	ul#g-navi #gn-about a:hover {
		color: #4787ce;
	}
	#customer ul#g-navi #gn-customer a,
	ul#g-navi #gn-customer a:hover {
		color: #55beb3;
	}
	#contents {
		margin-bottom: 20px;
	}
	#main {
		padding: 2.5%;
		width: 74.5%;
	}
	h2 {
		margin-bottom: 4.4%;
		width: 100%;
	}
	#side {
		width: 24%;
	}
	#side section {
		margin-bottom: 12px;
	}
	ul#banner li {
		margin-bottom: 10px;
	}
	ul#banner li img {
		width: 100%;
	}
	ul#banner li#bn-support br, .mobileSite, 
	ul#banner li#bn-support span.hankaku {
		display: none;
	}
	#inquiry {
		display: table;
		padding: 15px 15px 15px 165px;
	}
	#inquiry dl {
		float: none;
		display: table-cell;
		vertical-align: middle;
		padding-right: 15px;
		width: 35%;
	}
	dl#tel {
		padding-left: 15px;
		width: 35%;
	}
	#inquiry ul {
		float: none;
		display: table-cell;
		vertical-align: middle;
		margin-top: 0;
		width: 30%;
		text-align: right;
	}
	footer {
		padding-bottom: 40px;
	}
	#footer-inner {
		padding: 35px 20px 0;
	}
	ul#f-navi {
		margin-bottom: 20px;
		width: 80%;
		background: none;
	}
	ul#f-navi li {
		margin-bottom: 12px;
		padding: 0 15px;
		border-left: dotted 1px #a0a09e;
		background: none;
		line-height: 1.8;
	}	
	.address {
		position: static;
		float: left;
		margin-left: 25px;
	}
	.address img {
		position: relative;
		top: 5px;
	}
	footer small {
		margin-top: 6px;
	}
}
@media screen and (max-width: 800px) {
	#inquiry {
		display: inherit;
		padding: 20px 20px 13px 20px;
		-moz-background-size: auto 100px;
		background-size: auto 100px;
	}
	#inquiry dl {
		float: none;
		display: inherit;
		width: 100%;
		background: none;
	}
	dl#contactus {
		height: 80px;
		padding: 0 0 0 110px;
	}
	dl#contactus dt {
		margin-bottom: 10px;
		padding-top: 8px;
	}
	dl#tel {
		overflow: hidden;
		margin: 0;
		padding: 20px 0 10px;
		background: url(../images/dotline.svg) repeat-x top;
		text-align: center;
	}
	dl#tel dt {
		margin-bottom: 12px;
	}
	dl#tel dd {
		display: inline;
		padding: 0 5px;
	}
	#inquiry ul {
		display: inherit;
		margin: 5px auto 0;
		width: 390px;
		text-align: left;
	}
	#inquiry ul li {
		float: left;
	}
	#inquiry ul li:last-child {
		float: right;
	}
}
@media screen and (max-width: 767px) {
	header {
		padding-bottom: 25px;
	}
	h1 a {
		margin: 15px auto 10px;
	}
	#header-menu {
		width: 300px;
		height: auto;
	}
	p.btn_os {
		position: static;
		float: left;
		margin: 0;
	}
	.gohome, ul#s-navi, ul#g-navi {
		display: none;
		position: static;
	}
	#search {
		position: static;
		float: right;
		margin: 0;
	}
	#search input {
   		height: 23px;
		border: solid 1px #999999;
	}
	#search input.textarea {
		position: absolute;
		width: 124px;
	}
	#search input.searchbtn {
		right: 0;
	}
	dl#contactus dt {
		padding-top: 0;
	}
	footer {
		padding-bottom: 20px;
	}
	ul#f-navi {
		margin-bottom: 15px;
	}
	#f-logo, .address, footer small {
		float: none;
		text-align: center;
	}
	.address {
		margin: 7px 0 20px;
	}
	.address img {
		position: relative;
		top: 5px;
	}
	footer small {
		display: block;
		margin: 0;
	}
}
@media screen and (max-width: 667px) {
	#header-inner, #contents, #footer-inner {
		padding: 0 15px;
	}
	#main, #side {
		float: none;
		width: 100%;
	}
	#main {
		margin-bottom: 3%;
		padding: 3%;
	}
	#side {
		padding-bottom: 10px;
	}
	#side section {
		margin-bottom: 20px;
	}
	ul#menu {
		font-size: 93%;
	}
	ul#menu li, .pagehere, .current {
		background-position: 20px 15px;
	}
	ul#menu li a {
		margin: 0 15px;
	}
	ul#menu li ul li {
		background-position: 30px 15px;
	}
	ul#banner {
		margin: 0 auto;
		width: 410px;
	}
	ul#banner:after {
		visibility: hidden;
		height: 0;
		display: block;
		font-size: 0;
		content: " ";
		clear: both;
	}
	ul#banner li {
		float: left;
		margin: 0 10px 10px 0;
		width: 200px;
	}
	ul#banner li img {
		width: 200px;
	}
	ul#banner li:nth-child(odd) {
		margin-right: 0;
	}
	ul#banner > li:first-child {
		float: none;
		margin: 0 auto 10px;
		width: 200px;
	}
	ul#banner li#bn-support {
		margin-right: 0;
		width: 100%;
		text-align: center;
	}
	ul#banner li#bn-support li {
		float: left;
		margin: 0;
	}
	ul#banner li#bn-support li:first-child {
		margin-right: 10px;
	}
	dl#tel {
		padding: 20px 0 5px;
	}
	dl#tel dd {
		display: inherit;
		padding: 0;
	}
	dl#tel dd.lv5 {
		margin-bottom: 8px!important;
	}
	#footer-inner {
		padding-top: 30px;
	}
	ul#f-navi {
		width: 100%;
		text-align: center;
	}
	ul#f-navi li {
		margin: 0;
		padding: 3px 10px;
		width: 33.33%;
		border-left: solid 1px #cccccc;
	}
	ul#f-navi li:nth-child(3n) {
		border-right: solid 1px #cccccc;
	}
	#pagetop {
		position: static;
		margin-bottom: 30px;
		text-align: center;
	}
}
@media screen and (max-width: 480px) {
	#header-menu {
		width: 290px;
	}
	#main {
		font-size: 108%;
	}
	h2 {
		height: 50px;
	}
	h2 span img {
		width: auto;
		height: 28px;
	}
	ul#menu li {
		font-size: 108%;
	}
	ul#menu li ul li {
		font-size: 100%;
	}
	#inquiry {
		padding: 20px 15px 15px;
		-moz-background-size: auto 130px;
		background-size: auto 130px;
	}
	dl#contactus {
		height: 110px;
		padding: 0 0 0 150px;
	}
	dl#tel dt {
		font-size: 123.1%;
	}
	dl#contactus dd {
		font-size: 108%;
	}
	dl#tel dd {
		font-size: 116%;
	}
	#inquiry ul, #inquiry ul li a img {
		width: 220px;
	}
	#inquiry ul li {
		float: none;
		text-align: center;
	}
	ul#f-navi {
		margin-bottom: 20px;
		border-top: solid 1px #cccccc;
		border-bottom: solid 2px #cccccc;
		font-size: 108%;
	}
	ul#f-navi li, ul#f-navi li:nth-child(3n) {
		margin: 0;
		padding: 10px;
		width: 50%;
		border: none;
		border-bottom: solid 1px #cccccc;
		line-height: 1;
	}
	ul#f-navi li:last-child {
		border: none;
	}
}
@media screen and (max-width: 440px) {
	ul#banner {
		width: 100%;
	}
	ul#banner li {
		margin-right: 0;
		width: 48.5%;
	}
	ul#banner li:nth-child(odd) {
		float: right;
	}
	ul#banner li#bn-support {
		float: left;
		font-size: 93%;
	}
	ul#banner li#bn-support li {
		float: right;
		display: inherit;
	}
	ul#banner li#bn-support li:first-child {
		float: left;
		margin-right: 0;
	}
	ul#banner > li:first-child {
		float: none;
		width: 180px;
	}
}
@media screen and (max-width: 414px) {
	h2 {
		margin-bottom: 15px;
		padding: 0;
		height: 48px;
		text-align: center;
	}
	h2 span img {
		margin-left: -10px;
		width: auto;
		height: 26px;
	}
	#inquiry {
		background: url(../images/contact_image.jpg) no-repeat 15px 23px #ffffff;	
		-moz-background-size: 120px auto;
		background-size: 120px auto;
	}
	dl#contactus {
		height: 110px;
		padding: 0 0 0 110px;
	}
}
@media screen and (max-width: 375px) {
	#header-inner, #contents, #footer-inner {
		padding: 0 10px;
	}
	#footer-inner {
		padding-top: 30px;
	}
	footer {
		padding-bottom: 15px;
	}
	#pagetop {
		margin-bottom: 20px;
	}
	.address {
		margin: 3px 0 15px;
	}
	.address img {
		width: 244px;
		height: 11px;
	}
	small img {
		width: 210px;
		height: 10px;
	}
	ul#banner > li:first-child {
		width: 160px;
	}
}
@media screen and (max-width: 320px) {
	h1 a {
		width: 224px;
		height: 52px;
		background: url(../images/logo.svg) no-repeat;
		background-size: 224px 52px;
	}
	#header-menu {
		width: 286px;
	}
	#inquiry {
		background: url(../images/contact_image.jpg) no-repeat 15px 42px #ffffff;	
		-moz-background-size: 120px auto;
		background-size: 120px auto;
	}
	dl#contactus {
		height: 155px;
		padding: 0 0 0 110px;
	}
	dl#tel dd.recepTime span {
		margin-right: 0;
	}
	dl#tel dd.recepTime br {
		display: inherit;
	}
	dl#tel span {
		display: block;
	}
	ul#banner li {
		width: 48%;
	}
	ul#banner li#bn-support span.supporttxt {
		padding: 12px 30px 10px;
	}
	#f-logo img {
		width: 156px;
		height: 19px;
	}
	.address {
		margin: 3px 0 12px;
	}
	footer {
		padding-bottom: 10px;
	}
}