@font-face {
	font-family: 'Hannari';
	src: url(../font/hannari.eot) format('embedded-opentype'), url(../font/hannari.otf) format('opentype');
}

html,
body {
	margin: 0;
	padding: 0;
}

body {
	background: #fff;
	color: #573b32;
	font-size: 16px;
}

body,
.font_jp,
.font_en { font-family: 'Noto Sans JP',sans-serif; }

h1, h2, h3, h4,
header .headMenu .wrapper,
footer .sns p,
.font_jp_serif { font-family: "Hannari",serif; }

header .header .wrapper .menu,
footer .sns h3,
.font_en_serif { font-family: 'EB Garamond',serif; }

a { color: #573b32; text-decoration: none; }

a:hover { opacity: .7; }

.sp { display: none !important; }
.hide { display: none; }

#container {
	position: relative;
	width: 100%;
	min-width: 1164px;
	height: auto;
	min-height: 100%;
}

header .header { border-bottom: 1px solid #e5e5e5; }

header .wrapper {
	width: 1164px;
	margin: 0 auto;
	position: relative;
}

header .header .wrapper .site_name {
	display: block;
	margin: 0;
	padding: 0;
}
header .header .wrapper .site_name a {
	display: block;
	width: 174px;
	height: 100px;
	margin: 0 10px;
	background: url('../img/logo.svg') no-repeat 0 50%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

header .header .wrapper .shop {
	display: block;
	color: #573b32;
	font-size: 18px;
	background: #eeece6;
	padding: 9px 28px;
	border-radius: 40px;
	position: absolute;
	top: 25px;
	right: 162px;
}

header .header .wrapper .menu {
	display: block;
	width: 90px;
	height: 90px;
	background: url('../img/header_menu_open.svg') no-repeat 50% 50%;
	position: absolute;
	right: 25px;
	top: -5px;
	font-size: 14px;
	font-weight: bold;
	color: #573b32;
	text-align: center;
	line-height: 150px;
}

header .header .wrapper .open {
	background-image: url('../img/header_menu_close.svg');
	background-size: 40%;
}

header .headMenu {
	display: none;
	width: 100%;
	background: #573b32;
	color: #fff;
	position: absolute;
	z-index: 110;
}

body #blackout {
	display: none;
	position: sticky;
	width: 100%;
	height: 100%;
	overflow: hidden;
	background-color: rgba(0, 0, 0, .7);
	position: absolute;
	top: 101px;
	left: 0;
	z-index: 100;
}

header .headMenu .wrapper {
	width: 1064px;
	margin: 0 auto;
	padding: 60px 60px 60px 40px;
	writing-mode: vertical-rl;
}

header .headMenu ul,
header .headMenu ul li,
footer .wrapper ul,
footer .wrapper ul li,
#breadCrumbs ul,
#breadCrumbs ul li {
	list-style: none;
	margin: 0;
	padding: 0;
}

header .headMenu ul li ul {
	margin: 0 1em 0 1.5em;
}

header .headMenu ul li ul li {
	margin: 15px 0 0;
}

header .headMenu ul li {
	color: #bb9e94;
	font-size: 18px;
}

header .headMenu a {
	color: #fff;
	font-size: 18px;
	line-height: 2.75em;
}

header .headMenu a.close {
	display: inline-block;
	font-size: 16px;
	line-height: 2.4;
	padding: 50px 0 30px;
	margin-right: 90px;
	border: 1px solid #fff;
	border-radius: 30px;
	background: url('../img/icon_close.svg') no-repeat 50% 15%;
	background-size: 35%;
}

header .headMenu ul li:nth-child(4) span {
	display: block;
	width: 6px;
	height: 38px;
	margin: 16px 20px 0;
	border-right: 4px dotted #bb9e94;
	white-space: nowrap;
	text-indent: 100%;
	overflow: hidden;
}

#follow {
	position: fixed;
	right: 0;
	top: 50%;
	margin-top: -230px;
	z-index: 100;
}

#follow div a {
	display: block;
	width: 20px;
	height: 220px;
	padding: 0 20px 0;
	margin-bottom: 10px;
	font-size: 16px;
	font-weight: bold;
	color: #573b32;
	writing-mode: vertical-rl;
	text-align: center;
	background: url('../img/arrow_01.svg') no-repeat 50% 92%;
}
#follow .delivery a { background-color: #f1df99; }
#follow .onlineshop a { background-color: #dcaf00; }

#follow div a:hover { opacity: 1; color: #a99792; }
#follow .delivery a:hover { background-color: #faefcc; }
#follow .onlineshop a:hover { background-color: #f5d691; }

footer {
	margin-top: 60px;
}

footer .wrapper {
	background: #573b32;
	color: #fff;
}

footer .wrapper:first-child { background: #fff; position: relative; height: 60px; }
footer .wrapper:last-child { background: #33231d; }
footer .wrapper:nth-child(2) { border-bottom: 1px solid #917b74; }

footer .wrapper .sns,
footer .wrapper .footMenu,
footer .wrapper .bottom {
	width: 1164px;
	margin: 0 auto;
}

footer a {
	color: #fff;
	font-size: 15px;
	line-height: 2em;
}

footer .back2home {
	position: absolute;
	left: 40px;
	top: -16px;
}

footer .back2pagetop {
	position: absolute;
	right: 40px;
	top: -16px;
}

footer .back2home a,
footer .back2pagetop a {
	display: block;
	width: 60px;
	height: 60px;
	background: url('../img/footer_nav_home.svg') no-repeat 50% 50%;
	white-space: nowrap;
	text-indent: 100%;
	overflow: hidden;
}

footer .back2pagetop a {
	background-color: #573b32;
	background-image: url('../img/footer_nav_pagetop.svg');
}

footer .sns {
	padding: 36px 0;
	text-align: center;
}

footer .sns h3 {
	font-size: 24px;
	line-height: 1.2em;
	margin: 0 0 .25em;
}

footer .sns p {
	font-size: 17px;
	margin: 0;
}

footer .sns ul li {
	display: inline-block;
}

footer .sns ul li a {
	display: block;
	width: 80px;
	height: 80px;
	background: url('../img/footer_sns_tw.svg') no-repeat 50% 50%;
	text-indent: 100%;
	overflow: hidden;
}

footer .sns .sns_fb a { background-image: url('../img/footer_sns_fb.svg'); }

footer .footMenu {
	padding: 36px 0;
}

footer .footMenu > ul {
	margin-left: 40px;
}

footer .footMenu ul li {
	width: 24%;
	float: left;
}

footer .footMenu ul li ul li { width: 100%; }

footer .footMenu:after {
	content: "";
	display: table;
	clear: both;
}

footer .footMenu ul li {
	color: #bb9e94;
	font-size: 15px;
	line-height: 2.5em;
}

footer .footMenu a {
	color: #fff;
	font-size: 15px;
}

footer .privacy,
footer .copyright { display: inline-block; }
footer .privacy a,
footer .copyright { padding: 0 40px; }
footer .copyright { float: right; }

#breadCrumbs .wrapper {
	width: 1164px;
	margin: 0 auto;
	font-size: 12px;
}

#breadCrumbs ul li {
	display: block;
	float: left;
	line-height: 3;
	padding: 0 .25em;
	position:relative;
	z-index:1;
}

#breadCrumbs ul li a:after {
	content: '>';
	padding-left: .5em;
}

#breadCrumbs ul li:last-child a:after { content: ''; }

#breadCrumbs a span { color: #dcaf00; }

.wrapper1164 {
	width: 1164px;
	margin: 0 auto;
	position: relative;
}

.wrapper876 {
	width: 876px;
	margin: 0 auto;
	position: relative;
}

h1, h2, h3, h4 { font-weight: bold; }
h1, h2, h3 { text-align: center; }
h1, h2 { clear: both; }

h1 { font-size: 46px; }

#mainVisual {
	width: 100%;
	height: 400px;
	background: url('../img/index_mv.png') 50% 50%;
	background-size: cover;
	display: flex;
	justify-content: center;
	align-items: center;
}

#mainVisual h1 {
	display: block;
	padding: 10px;
	background-color: rgba(255, 255, 255, .9);
	writing-mode: vertical-rl;
}

#mainVisual h1 span {
	display: block;
	border: 1px solid #573b32;
	padding: 30px;
	font-size: 38px;
}

h2 { font-size: 40px; margin-top: 70px; }

h2.bullet {
	text-align: left;
	padding-left: 58px;
	background: url('/common/img/icon_rhombus.svg') no-repeat 0% 60%;
}

article a h2 {
	text-align: left;
	font-weight: normal;
}

h3 { font-size: 32px; }

h3.underline {
	text-align: left;
	padding-bottom: .5em;
	border-bottom: 1px solid #573b32;
}

h4 { font-size: 24px; }

article,
article h3,
article h4 { text-align: left; }

ul.inpagenav {
	list-style: none;
	clear: both;
	display: table;
	width: auto;
	margin: 50px auto;
	padding: 0;
	border-right: 1px solid #e5e5e5;
}
ul.inpagenav:empty { display: none; }
ul.inpagenav + ul.inpagenav {
	margin-top: -25px;
}
ul.inpagenav li {
	list-style: none;
	display: table-cell;
	border-left: 1px solid #e5e5e5;
	vertical-align: middle;
}
ul.inpagenav li a {
	display: block;
	width: 290px;
	padding: .75ex 0;
	font-size: 16px;
	text-align: center;
}

ul.inpagenav li a:hover {
	color: #dcaf00;
	opacity: 1;
	text-decoration: underline;
}

.slick-slide { outline: none; }

ul.slick-slider,
ul.slick-slider li,
ul.slick-dots,
ul.slick-dots li {
	list-style: none;
	margin: 0;
	padding: 0;
}
ul.slick-dots{
	position:relative;
	z-index:99;
}

button.slick-prev,
button.slick-next,
ul.slick-dots li,
ul.slick-dots li button { cursor: pointer; }

table.info th,
table.info td {
	padding: 16px 20px;
	font-size: 18px;
	text-align: left;
}

table.info th { padding-top: 12px; background: #eeece6; }

table.info td > a:hover,
dl dd > a:hover {
	color: #dcaf00;
	opacity: 1;
	text-decoration: underline;
}

p {
	font-size: 16px;
	line-height: 1.8;
}

.catch {
	font-size: 24px;
	line-height: 1.75;
}

.small {
	font-size: 15px;
	line-height: 1.8;
}

.strong {
	font-size: 18px;
	line-height: 1.8;
	font-weight: bold;
}

.alert {
	font-size: 16px;
	line-height: 1.8;
	color: #ef4123;
}

.center { text-align: center; }

a.round {
	display: block;
	width: 308px;
	padding: 20px 0;
	margin: 30px auto;
	font-size: 16px;
	text-align: center;
	line-height: 1.2;
	border: 1px solid #573b32;
	border-radius: 70px;
	background: url(/common/img/arrow_02.svg) no-repeat 94% 50%;
	background-size: 7%;
}

a.round:hover {
	color: #dcaf00;
	border-color: #dcaf00;
	background-image: url(/common/img/arrow_02yellow.svg);
	opacity: 1;
}

.flexcontainer-btn--1{
	display: flex;
	justify-content:center;
}

.flexcontainer-btn--1 .btn--1--child{
	padding:0px 13px;
}
.flexcontainer-btn--1 .btn--1--child a {
	display: block;
	width: 308px;
	padding: 20px 0;
	margin: 30px auto;
	font-size: 16px;
	text-align: center;
	line-height: 1.2;
	border: 1px solid #573b32;
	border-radius: 70px;
	background: url(/common/img/arrow_02.svg) no-repeat 94% 50%;
	background-size: 7%;
}

.flexcontainer-btn--1 .btn--1--child a:hover {
	color: #dcaf00;
	border-color: #dcaf00;
	background-image: url(/common/img/arrow_02yellow.svg);
	opacity: 1;
}
.label span {
	display: inline-block;
	font-size: 15px;
	line-height: 1.0;
	padding: 8px 10px;
	margin: 0 9px 9px 0;
	background: #eeece6;
}

h3 .label,
h4 .label {
	display: inline-block;
	/* margin-left: 25px; */
	padding: 0 1em .3em;
	background: #dcaf00;
	border-radius: 2em;
	font-size: 16px;
	line-height: 1.25;
	font-weight: normal;
	color: #fff;
}

.vertical {
	writing-mode: vertical-rl;
	text-align: start;
}

.flexcontainer {
	display: flex;
	flex-wrap: wrap;
}


body#notfound #headContents h1 { margin: 90px 0 75px; }
body#notfound .mainContents {
	margin-top: 60px;
	padding: 30px 0 180px;
	background: url('/common/img/bg_sand.png') repeat;
}