@charset "utf-8";
/*!
 * base CSS
 * ---------------------------------------------
 * 共通レイアウトに関わるCSS
 */

@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@font-face{
	font-family: "あおぞら明朝 Medium";
	src: url("../font/AozoraMinchoMedium.ttf")  format("truetype");
}
@font-face{
	font-family: "あおぞら明朝 Regular";
	src: url("../font/AozoraMinchoRegular.ttf") format("truetype");
}

/* reset
--------------------------------------------- */

article,aside,details,figcaption,figure,footer,header,menu,nav,section,main { 
    display:block;
}
article,aside,details,figcaption,figure,footer,header,menu,nav,section,main,
* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
fieldset,img {
	border: 0;
}
* {
	font-size: 100%;
	max-height: 999999px;
}
body {
	font: 100%/1 "あおぞら明朝 Regular", "serif";
}
h1,h2,h3,h4,h5,h6,b {
	font-weight: normal;
}
ol,ul,li {
  list-style: none;
}
ul,ol {
	letter-spacing: -.40em;
}
ul li,ol li {
	letter-spacing: 0.08em;
}
img {
	display: block;
	max-width: 100%;
	height: auto;
}
*:before,*:after {
	content: "";
	display: none;
}
html {
	-webkit-text-size-adjust: 100%;
}
input[type="button"],input[type="submit"] {
	-webkit-appearance: none;
}
.hiddenPc,
.brkSp {
	display: none;
}
.brkPc {
	display: block;
}
.tel a {
	pointer-events: none;
}

/*===================================
	font link
=====================================*/

body,
a,a:visited {
	color: #000;
}
body {
	font-size: 13px;
	letter-spacing: 0.08em;
}
a {
	text-decoration: none;
}
a.underine,
a.hunderine:hover {
	text-decoration: underline;
}
a.underine:hover {
	text-decoration: none;
}
.medium {
	font-family: "あおぞら明朝 Medium";
}
.gothic,
.noto {
	font-family: 'Noto Sans Japanese', sans-serif;
	letter-spacing: normal;
}

/*===================================
	layout	
=====================================*/

.inner {
	width: 1020px;
	margin-left: auto;
	margin-right: auto;
}

/*===================================
	element	
=====================================*/
/*  background
---------------------------------*/

body {
	background: #fff url(../images/base/bg_bd.jpg) repeat 50% 0;
}

/*  sprite
---------------------------------*/

.logo,
.pagetop a,
.sns a:before,
.onlineShopBan h3:after,
.onlineShopBan ul li:before,
.header a.blank:before,
.ico a:before {
	background-image: url(../images/base/sprite.png);
	background-repeat: no-repeat;
}

/*  opacity
---------------------------------*/

a:hover img,
.btn a:hover,
.ban a:hover,
.pagetop a:hover,
.menuPc li a:hover {
	opacity: .7;
	text-decoration: none;
}
a:hover img.logo {
	opacity: 1;
}

/*  ico btn
---------------------------------*/

.ico a:before {
	display: inline-block;
	margin-top: -2px;
	vertical-align: middle;
}
.btn a {
	display: inline-block;
}

.moveCatalog.ico a:before {
	display: inline-block;
	vertical-align: middle;
	width: 18px;
	height: 18px;
	margin: -2px 8px 0 0;
	background-position: -900px -300px;
}
.moveCatalog a {
	display: inline-block;
	padding: 3px 15px;
	border-radius: 1.4em;
	border: solid 2px #ded5c7;
	font-size: 13px;
	line-height: 1.2;
	text-decoration: underline;
}
.moveCatalog a:hover {
	text-decoration: none;
}
.side .moveCatalog {
	margin-top: 40px;
	text-align: center;
}
.side .moveCatalog a {
	display: block;
	background: #f3ede4;
}

/*===================================
	header	
=====================================*/

.header {
	position: relative;
	height: 183px;
}
.header h1 {
	float: left;
	margin: 26px 0 25px 20px;
}
.header h1 a {
	display: block;
	width: 212px;
}
.header .logo {
	width: 212px;
	height: 79px;
	background-position: 0 0;
}
.langList {
	float: right;
	margin: 22px 10px 24px 0;
}
.langList li {
	display: inline-block;
	margin-left: 6px;
}
.langList a {
	display: block;
	width: 70px;
	height: 25px;
	line-height: 25px;
	border-radius: 13px;
	background: #a7a095;
	font-family: "あおぞら明朝 Medium";
	color: #fff;
	font-size: 13px;
	text-align: center;
}
.header .blandBan {
	float: right;
	clear: right;
	margin: 0 10px 24px;
}
.blandBan li {
	display: inline-block;
	margin-left: 11px;
}
.blandBan a {
	display: block;
	width: 170px;
	height: 35px;
	border-radius: 5px;
	box-shadow: 1px 1px 0 0 rgba(0,0,0,.3);
	background: no-repeat 0 0;
	text-indent: -9999em;
}
.blandBan li:nth-of-type(1) a {
	background-image: url(../images/base/banner_riz_au_chocolat_170_35.jpg);
}
.blandBan li:nth-of-type(2) a {
	background-image: url(../images/base/banner_meigetzu_170_35.jpg);
}
.blandBan.wd li {
	margin: 0 18px 0 0;
}
.blandBan.wd a {
	width: 220px;
	height: 80px;
}
.blandBan.wd li:nth-of-type(1) a {
	background-image: url(../images/base/banner_riz_au_chocolat_220_80.jpg);
}
.blandBan.wd li:nth-of-type(2) a {
	background-image: url(../images/base/banner_meigetzu_220_80.jpg);
}

/*  menu
---------------------------------*/

.menuPc {
	clear: both;
}
.menuPc li {
	display: inline-block;
	vertical-align: middle;
	margin-right: 1px;
}
.menuPc li a {
	display: block;
	width: 167px;
	height: 53px;
	padding-top: 12px;
	background: #a7a095;
	font-family: "あおぞら明朝 Medium";
	color: #fff;
	font-size: 16px;
	line-height: 16px;
	text-align: center;
}
.menuPc li a span {
	display: block;
	margin-top: 1px;
	font-family: "Times New Roman", Times, "serif";
	font-size: 10px;
	letter-spacing: 0.1em;
}
.menuPc li:nth-last-of-type(2) {
	margin: 0;
}
.menuPc li:nth-last-of-type(2) a {
	width: 180px;
	font-size: 15px;
	letter-spacing: -0.06em;
}
.menuPc li:nth-last-of-type(2) a span {
	letter-spacing: normal;
}
.menuPc a.blank {
	position: relative;
}
.menuPc a.blank:before {
	display: block;
	position: absolute;
	top: 19px;
	left: 7px;
	width: 11px;
	height: 10px;
	background-position: -200px -300px;
}
.menuPc li:nth-last-of-type(1) {
	position: absolute;
	display: block;
	top: 25px;
	right: 170px;
	margin: 0;
}
.menuPc li:nth-last-of-type(1) a {
	width: auto;
	height: auto;
	padding-top: 0;
	background: none;
	color: #000;
	font-size: 14px;
	line-height: 20px;
	text-align: left;
}
.menuPc li:nth-last-of-type(1) a:hover {
	text-decoration: underline;
}
.about .menuPc li:nth-of-type(1)  a,
.news .menuPc li:nth-of-type(2)  a,
.products .menuPc li:nth-of-type(3)  a,
.store .menuPc li:nth-of-type(4)  a,
.columns .menuPc li:nth-of-type(5)  a {
	pointer-events: none;
	background: #6b1b7d;
}

/*===================================
	footer	
=====================================*/

.footer {
	position: relative;
	margin-top: 60px;
	background: #6f6658;
}
.footer > div,
.footer > div a {
	color: #fff;
}
.footer > div {
	overflow: hidden;
	padding-top: 39px;
}
.footer .onlineShopBan {
	float: right;
}
.footer > div dl {
	float: left;
}

/*  sns
---------------------------------*/

.sns {
	padding: 23px 0 25px;
	background: #f0eeeb;
}
.sns li {
	display: inline-block;
	margin-right: 36px;
	text-align: center;
}
.sns li:nth-of-type(2) {
	margin-right: 35px;
}
.sns li:nth-last-of-type(1) {
	margin-right: 0;
}
.sns li a {
	display: block;
	width: 228px;
	height: 60px;
	line-height: 60px;
	background: #fff;
	font-size: 14px;
}
.sns a:before {
	display: inline-block;
	vertical-align: middle;
	width: 18px;
	height: 18px;
	margin: -2px 15px 0 0;
}
.sns .fb a:before {
	background-position: 0 -200px;
}
.sns .twt a:before {
	background-position: -100px -200px;
}
.sns .insta a:before {
	background-position: -200px -200px;
}
.sns .line a:before {
	background-position: -300px -200px;
}

/*  onlineShopBan
---------------------------------*/

.onlineShopBan .ban {
	float: right;
	margin-bottom: 20px;
	border-top: solid 6px #6b1b7d;
}
.onlineShopBan .ban a {
	display: block;
	position: relative;
	width: 465px;
	height: 70px;
	background: #fff url(../images/base/online_shopping_banner_img_pc.jpg) no-repeat 100% 0;
	color: #000;
}
.onlineShopBan h3 {
	padding: 36px 0 0 18px;
	font-size: 20px;
}
.onlineShopBan h3:after {
	display: inline-block;
	vertical-align: middle;
	width: 11px;
	height: 10px;
	margin: -2px 0 0 9px;
	background-position: -400px -200px;
}
.onlineShopBan .ban span {
	position: absolute;
	top: 15px;
	left: 19px;
	font-size: 11px;
	color: #000;
}
.onlineShopBan ul {
	clear: both;
}
.onlineShopBan ul li {
	display: inline-block;
	vertical-align: top;
	margin-left: 13px;
}
.onlineShopBan ul li:before {
	display: inline-block;
	vertical-align: top;
	width: 37px;
	height: 37px;
	margin-right: 5px;
	border: solid 2px #fff;
	border-radius: 2px;
}
.onlineShopBan ul li.tel:before {
	background-position: -500px -200px;
}
.onlineShopBan ul li.fax:before {
	background-position: -600px -200px;
}
.onlineShopBan ul b {
	display: inline-block;
	font-size: 26px;
	letter-spacing: normal;
}
.onlineShopBan ul span {
	display: block;
	margin: -6px 0 0 60px;
	font-size: 12px;
}
.onlineShopBan ul .fax span {
	margin-left: 80px;
}

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

.footer dl {
	margin-bottom: 33px;
	font-size: 14px;
}
.footer .logo {
	width: 192px;
	height: 50px;
	margin: 1px 0 30px;
	background-position: -300px 0;
}
.footer dd {
	margin-bottom: 10px;
}

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

.footer nav {
	clear: both;
	padding-top: 13px;
	border-top: solid 1px #fff;
}
.footer nav li {
	display: inline-block;
	margin-right: 1em;
	padding-right: 1em;
	border-right: solid 1px #fff;
	font-size: 14px;
}
.footer nav li:nth-last-of-type(1) {
	margin: 0;
	padding: 0;
	border: 0;
}
.footer nav a:hover {
	text-decoration: underline;
}

/*  copy
---------------------------------*/

.copy {
	margin: -10px 0 24px;
	font-size: 13px;
	text-align: right;
}

/*  copy
---------------------------------*/

.pagetop {
	position: fixed;
	bottom: 360px;
	right: 30px;
	min-width: 1040px;
}
.pagetop a {
	display: block;
	float: right;
	width: 49px;
	height: 49px;
	border-radius: 50%;
	background-color: #6b1b7d;
	background-position: -800px -300px;
	box-shadow: 1px 1px 0 0 rgba(0,0,0,.2);
	text-indent: -999em;
}

.header li,
.footer li,.footer dl {
	letter-spacing: normal;
}
/************************************************************************************
smaller than 640px
*************************************************************************************/
@media screen and (max-width: 640px) {
	
	.hiddenPc,
	.brkSp {
		display: block;
	}
	.hiddenSp,
	.brkPc {
		display: none;
	}
	.tel a {
		pointer-events: auto;
	}
	
	/*===================================
		font
	=====================================*/
	
	body {
		font-size: 18px;
	}
	
	/*===================================
		layout	
	=====================================*/
	
	.inner {
		width: 640px;
		padding-left: 40px;
		padding-right: 40px;
	}
	
	/*===================================
		element	
	=====================================*/
	/*  sprite
	---------------------------------*/
	
	.menuIcon:before,
	.menuSp li li a:after {
		background-image: url(../images/base/sprite.png);
		background-repeat: no-repeat;
	}
	
	/*  ico btn
	---------------------------------*/
	
	.moveCatalog a {
		padding: 5px 15px;
		font-size: 16px;
	}
	.side .moveCatalog {
		margin-top: 50px
	}
	
	/*===================================
		header	
	=====================================*/

	.header {
		height: 148px;
	}
	.home .header {
		height: auto;
		border-bottom: solid 12px #6b1b7d;
		box-shadow: 0 -1px 0 0 rgba(0,0,0,.2) inset;
	}
	.header h1 {
		float: none;
		margin: 0 0 0 123px;
		padding-top: 28px;
	}
	.header h1 a {
		width: 280px;
	}
	.header .logo {
		width: 280px;
		height: 91px;
		background-position: 0 -100px;
	}
	.langList {
		float: none;
		position: absolute;
		top: 40px;
		left: 23px;
		margin: 0;
	}
	.langList li {
		display: block;
		margin: 0 0 19px;
	}
	.langList a {
		display: block;
		width: 84px;
		height: 27px;
		line-height: 27px;
		border-radius: 14px;
		font-size: 14px;
	}
	
	/*  menu
	---------------------------------*/
	
	.menuIcon {
		display: block;
		position: absolute;
		color: #a7a095;
		font-size: 11.8px;
		text-align: center;
		font-weight: 600;
		cursor: pointer;
	}
	a.menuIcon {
		top: 35px;
		right: 98px;
		width: 6em;
		color: #a7a095;
	}
	span.menuIcon {
		top: 43px;
		right: 27px;
		width: 4.5em;
	}
	.menuIcon:before {
		display: block;
		margin: 0 auto;
	}
	a.menuIcon:before {
		width: 52px;
		height: 57px;
		margin-left: 0px;
		background-position: -300px -300px;
	}
	span.menuIcon:before {
		width: 47px;
		height: 50px;
		background-position: -400px -300px;
	}
	span.menuIcon span {
		display: block;
	}
	span.menuIcon.open span {
		display: none;
	}
	span.menuIcon.open:before {
		background-position: -500px -300px;
	}
	.menuSp span + ul {
		position: absolute;
		top: 156px;
		left: 0;
		width: 640px;
		padding-bottom: 30px;
		border-top: solid 1px #867a66;
		border-bottom: solid 1px #867a66;
		background: #a7a095;
		z-index: 2000;
	}
	.menuSp li li a {
		display: block;
		position: relative;
		height: 100px;
		padding: 22px 0 0 33px;
		background: #a7a095;
		border-bottom: solid 1px #867a66;
		font-family: "あおぞら明朝 Medium";
		color: #fff;
		font-size: 33px;
	}
	.menuSp li li a span {
		display: block;
		margin: 14px 0 0 3px;
		color: #d9cdba;
		font-size: 16px;
	}
	.menuSp li li a:after {
		display: block;
		position: absolute;
		top: 39px;
		right: 48px;
		width: 15px;
		height: 20px;
		background-position: -600px -300px;
	}
	.menuSp a.blank:before {
		display: inline-block;
		width: 20px;
		height: 20px;
		margin: -4px 12px 0 0;
		background-position: -700px -300px;
	}
	
	.menuSp li li:nth-of-type(7),
	.menuSp li li:nth-of-type(8),
	.menuSp li li:nth-of-type(9),
	.menuSp li li:nth-of-type(10) {
		display: inline-block;
	}
	.menuSp li li:nth-of-type(7) a,
	.menuSp li li:nth-of-type(8) a,
	.menuSp li li:nth-of-type(9) a,
	.menuSp li li:nth-of-type(10) a {
		display: inline-block;
		position: relative;
		height: 66px;
		padding: 0;
		background:none;
		border-bottom: none;
		font-size: 24px;
		text-decoration: underline;
	}
	.menuSp li li:nth-of-type(7),
	.menuSp li li:nth-of-type(8) {
		margin-top: 40px;
	}
	.menuSp li li:nth-of-type(8) {
		margin-right: 40px;
	}
	.menuSp li li:nth-of-type(7),
	.menuSp li li:nth-of-type(9) {
		margin-left: 31px;
	}
	.menuSp li li:nth-of-type(9) {
		clear: right;
	}
	.menuSp li li:nth-of-type(7) a:after,
	.menuSp li li:nth-of-type(8) a:after,
	.menuSp li li:nth-of-type(9) a:after {
		content: "/";
		display: inline-block;
		position: relative;
		top: inherit;
		right: inherit;
		width: 1.5em;
		height: auto;
		background: none;
		text-align: center;
	}
	.menuSp li li:nth-of-type(10) a:after {
		display: none;
	}
	/*===================================
		footer	
	=====================================*/

	.footer {
		margin-top: 50px;
	}
	.footer > div {
		padding-top: 49px;
	}
	.footer .onlineShopBan,
	.footer > div dl {
		float: none;
	}
	
	/*  sns
	---------------------------------*/

	.sns {
		padding: 31px 0 9px;
	}
	.sns li,.sns li:nth-of-type(2) {
		margin: 0 0 22px;
	}
	.sns li:nth-of-type(1),.sns li:nth-of-type(3) {
		margin-right: 33px;
		margin-left: 10px;
	}
	.sns li a {
		width: 250px;
		height: 66px;
		line-height: 66px;
		font-size: 16px;
	}
	.sns a:before {
		width: 20px;
		height: 20px;
		margin: -4px 16px 0 0;
	}
	.sns .fb a:before {
		background-position: 0 -250px;
	}
	.sns .twt a:before {
		background-position: -100px -250px;
	}
	.sns .insta a:before {
		background-position: -200px -250px;
	}
	.sns .line a:before {
		background-position: -300px -250px;
	}
	
	/*  onlineShopBan
	---------------------------------*/
	
	.onlineShopBan {
		margin-bottom: 68px;
	}
	.onlineShopBan .ban {
		float: none;
		margin-bottom: 20px;
		border-top-width: 12px;
	}
	.onlineShopBan .ban a {
		width: auto;
		height: 85px;
		background-image: url(../images/base/online_shopping_banner_img_sp.jpg);
	}
	.onlineShopBan h3 {
		padding: 43px 0 0 22px;
		font-size: 25px;
	}
	.onlineShopBan h3:after {
		width: 13px;
		height: 13px;
		margin: -2px 0 0 12px;
		background-position: -400px -250px;
	}
	.onlineShopBan .ban span {
		top: 21px;
		left: 24px;
		font-size: 13px;
	}
	.onlineShopBan ul {
		margin-right: -10px;
	}
	.onlineShopBan ul li {
		margin-left: 0;
	}
	.onlineShopBan ul li:before {
		width: 48px;
		height: 48px;
		border-radius: 4px;
	}
	.onlineShopBan ul li.tel:before {
		background-position: -500px -250px;
	}
	.onlineShopBan ul li.fax:before {
		background-position: -600px -250px;
		margin-left: 20px;
	}
	.onlineShopBan ul b {
		font-size: 31px;
	}
	.onlineShopBan ul span {
		margin: -10px 0 0 80px;
		font-size: 14px;
	}
	.onlineShopBan ul .fax span {
		margin-left: 120px;
	}
	
	/*  footer dl
	---------------------------------*/

	.footer dl {
		margin-bottom: 35px;
		font-size: 18px;
		text-align: center;
	}
	.footer .logo {
		width: 205px;
		height: 58px;
		margin: 0 auto 34px;
		background-position: -300px -100px;
	}
	.footer dd {
		margin-bottom: 8px;
	}
	
	/*  footer nav
	---------------------------------*/

	.footer nav {
		margin: 0 -40px;
		padding-top: 30px;
		text-align: center;
	}
	.footer nav li {
		font-size: 18px;
	}

	/*  copy
	---------------------------------*/

	.copy {
		margin: 20px 0 80px;
		font-size: 18px;
		text-align: center;
	}
	
	/*  copy
	---------------------------------*/

	.pagetop {
		bottom: 840px;
		right: 10px;
		min-width: inherit;
	}
}