@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: 15px;
	-webkit-text-size-adjust: 100%;
}

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; }

.pc,
.hide { display: none; }

select {
	display: block;
	width: calc(100% - 30px);
	margin: 0 auto;
	padding: 15px 20px;
	border-radius: 0;
	color: #573b32;
	height: 50px;
	font-size: 16px;
	text-align: left;
	line-height: 1;
	border: 1px solid #573b32;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: #fff url('../img/icon_down_br.svg') no-repeat 96% 50%;
	background-size: 20px;
}

select option { border-radius: 0; }

#container {
	position: relative;
	width: 100%;
	min-width: 0;
	height: auto;
	min-height: 100%;
}

header .header { border-bottom: 1px solid #e5e5e5; }

header .wrapper { margin: 0; }

header .header .wrapper .site_name {
	display: block;
	margin: 0;
	padding: 12px 15px;
}
header .header .wrapper .site_name * {
	display: block;
	width: 105px;
	height: 37px;
	background: url('../img/logo.svg') no-repeat;
	text-indent: 100%;
	white-space: nowrap;
	background-size: contain;
	overflow: hidden;
}

header .header .wrapper .shop {
	display: block;
	color: #573b32;
	font-size: 13px;
	background: #eeece6;
	padding: 8px 18px;
	border-radius: 30px;
	position: absolute;
	top: 14px;
	right: 75px;
}

header .header .wrapper .menu {
	display: block;
	width: 25px;
	height: 33px;
	background: url('../img/header_menu_open.svg') no-repeat 50% 0;
	background-size: contain;
	position: absolute;
	right: 18px;
	top: 14px;
	font-size: 8px;
	font-weight: bold;
/*	text-indent: -1px;*/
	color: #573b32;
	text-align: center;
	line-height: 58px;
}

header .header .wrapper .open {
	height: 22px;
	background-image: url('../img/header_menu_close.svg');
	background-size: 90%;
}

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: 62px;
	left: 0;
	z-index: 100;
}

header .headMenu .wrapper {
	padding: 20px;
}

header .headMenu ul,
header .headMenu ul li,
footer .wrapper ul,
footer .wrapper ul li {
	list-style: none;
	margin: 0;
	padding: 0;
}

header .headMenu ul li ul {
	margin: .75em 0 1.3em 0;
}

header .headMenu ul li ul li {
	margin: 5px 0 15px;
}

header .headMenu ul li { color: #bb9e94; }

header .headMenu ul li:nth-child(4) span {
	display: block;
	width: 100%;
	height: 10px;
	margin: 10px auto 20px;
	border-bottom: 1px solid #bb9e94;
	white-space: nowrap;
	text-indent: 100%;
	overflow: hidden;
}

header .headMenu a {
	color: #fff;
	font-size: 17px;
	line-height: 1.5em;
}

header .headMenu a.close {
	display: block;
	width: 178px;
	line-height: 1;
	text-align: center;
	padding: 10px 0;
	margin: 30px auto 20px;
	border: 1px solid #fff;
	border-radius: 30px;
	background: url('../img/icon_close.svg') no-repeat 15% 50%;
	background-size: 12px;
}

#follow {
	display: none;
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: 100;
}

#follow div {
	width: 50vw;
	float: left;
}

#follow div a {
	display: block;
	height: 20px;
	padding: 18px 0;
	margin: 0;
	font-size: 15px;
	color: #573b32;
	text-align: center;
	background: url('../img/arrow_01.svg') no-repeat 92% 56%;
}

#follow .delivery a { background-color: #f1df99; }
#follow .onlineshop a { background-color: #dcaf00; }

footer { margin-top: 48px; }

footer .wrapper {
	width: 100%;
	background: #573b32;
	color: #fff;
}

footer .wrapper:first-child { background: #fff; position: relative; height: 60px; }
footer .wrapper:last-child { background: #33231d; }
footer .wrapper .sns:after {
	content: '';
	display: block;
	width: 90%;
	margin: 25px auto 0;
	border-bottom: 1px solid #917b74;
}
footer .wrapper:nth-child(3) { padding-bottom: 35px; }

footer .wrapper .sns,
footer .wrapper .footMenu,
footer .wrapper .bottom {
	margin: 0;
}

footer a {
	color: #fff;
	font-size: 18px;
	line-height: 2em;
}

footer .back2home,
footer .back2pagetop {
	position: absolute;
	top: 5px;
}

footer .back2home { left: 0; }
footer .back2pagetop { right: 0; }

footer .back2home a,
footer .back2pagetop a {
	display: block;
	width: 40px;
	height: 40px;
	background: url('../img/footer_nav_home.svg') no-repeat 50% 50%;
	background-size: 50%;
	white-space: nowrap;
	text-indent: 100%;
	overflow: hidden;
}

footer .back2pagetop a {
	background-color: #573b32;
	background-image: url('../img/footer_nav_pagetop.svg');
	background-size: 40%;
}

footer .sns {
	padding: 24px 0 0;
	text-align: center;
}

footer .sns h3 {
	font-size: 24px;
	line-height: 1.2em;
	margin: 0 0 .25em;
}

footer .sns ul li {
	display: inline-block;
}

footer .sns ul li a {
	display: block;
	width: 80px;
	height: 60px;
	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 .sns p { margin-top: 0; }

footer .footMenu { padding: 20px; }

footer .footMenu:after {
	content: "";
	display: table;
	clear: both;
}

footer .footMenu ul li {
	color: #bb9e94;
	font-size: 12px;
	line-height: 2.5em;
}

footer .footMenu a {
	color: #fff;
	font-size: 13px;
}

footer .footMenu > ul { position: relative; }
footer .footMenu ul li { float: left; width: 40vw; }
footer .footMenu > ul > li:nth-child(1) > ul > li { padding-bottom: 12px; }
footer .footMenu > ul > li:nth-child(2) { float: none; }
footer .footMenu > ul > li:nth-child(3) { position: absolute; right: 0; top: 0; }
footer .footMenu > ul > li:nth-child(4) { clear: both; }
footer .footMenu > ul > li > ul { width: 40vw; }
footer .footMenu > ul > li > ul > li { width: 90%; }
footer .footMenu > ul > li:nth-child(4) > ul { width: 80vw; }
footer .footMenu > ul > li:nth-child(4) > ul:before { content: ''; display: block; width: 90vw; margin: 25px 0; border-top: 1px solid #917b74; }
footer .footMenu > ul > li:nth-child(4) > ul > li { width: 60%; }
footer .footMenu > ul > li:nth-child(4) > ul > li:nth-child(2),
footer .footMenu > ul > li:nth-child(4) > ul > li:nth-child(4),
footer .footMenu > ul > li:nth-child(4) > ul > li:nth-child(6) { width: 40vw; position: absolute; right: 0; }
footer .footMenu > ul > li:nth-child(4) > ul > li:nth-child(4) { top: 243px; }
footer .footMenu > ul > li:nth-child(4) > ul > li:nth-child(6) { top: 280px; line-height: 1.25; }
footer .footMenu > ul > li:nth-child(4) > ul > li:nth-child(6) a { line-height: inherit; }
footer .footMenu:after { content: ''; display: block; width: 90vw; height: 20px; margin: 0 0 5px; border-bottom: 1px solid #917b74; }

footer .bottom {
	position: relative;
	padding: 10px 0 70px;
}

footer .privacy {
	position: absolute;
	top: -55px;
	width: 50vw;
}

footer .privacy a {
	font-size: 12px;
	padding: 1.5em;
}

footer .copyright { text-align: center; margin: 0; }

#breadCrumbs { display: none; }

.wrapper1164,
.wrapper876 {
	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: 28px; padding: 25px 30px 30px; }

#mainVisual {
	width: 100%;
	height: 215px;
	background: url('../img/index_mv.png') 50% 50%;
	background-size: cover;
	display: flex;
	justify-content: center;
	align-items: center;
}

#mainVisual h1 {
	display: block;
	padding: 5px;
	background-color: rgba(255, 255, 255, .9);
	writing-mode: vertical-rl;
}

#mainVisual h1 span {
	display: block;
	border: 1px solid #573b32;
	padding: 10px 14px;
	font-size: 22px;
}

h2 { font-size: 27px; }

h2.bullet {
	text-align: left;
	margin-left: 15px;
	padding-left: 40px;
	background: url('/common/img/icon_rhombus.svg') no-repeat 0% 65%;
}

article a h2 {
	text-align: left;
	font-weight: normal;
}

h3 { font-size: 22px; }

h3.underline {
	text-align: left;
	width: calc(100% - 30px);
	margin: 0 auto .9em;
	padding-bottom: .4em;
	border-bottom: 1px solid #573b32;
}

h4 { font-size: 19px; }

article,
article h3,
article h4 { text-align: left; }

ul.inpagenav {
	list-style: none;
	margin: 0 23px 27px;
	padding: 0;
}

ul.inpagenav:empty { display: none; }

ul.inpagenav + ul.inpagenav {
	margin-top: -30px;
}

ul.inpagenav li { list-style: none; }

ul.inpagenav:after {
	content: "";
	display: table;
	clear: both;
}

ul.inpagenav li a {
	display: inline-block;
	float: left;
	width: calc(50% - 1.5px);
	padding: 3px 0;
	margin: 15px 0;
	font-size: 14px;
	text-align: center;
	border-left: 1px solid #e5e5e5;
}

ul.inpagenav li:nth-child(2n) a {
	border-right: 1px solid #e5e5e5;
}

.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;
}

table.info th,
table.info td {
	padding: 12px 15px;
	font-size: 15px;
	text-align: left;
}

table.info th {
	padding-top: 7px;
	background: #eeece6;
	white-space: nowrap;
	vertical-align: top;
}

p {
	font-size: 15px;
	line-height: 1.65;
}

.catch {
	font-size: 18px;
	line-height: 1.65;
}

.small {
	font-size: 14px;
	line-height: 1.8;
}

.strong {
	font-size: 16px;
	line-height: 1.8;
	font-weight: bold;
}

.alert {
	font-size: 15px;
	line-height: 1.8;
	color: #ef4123;
}

.center { text-align: center; }

a.round {
	display: block;
	width: 92%;
	padding: 20px 0;
	margin: 35px 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: 25px;
}

a.round:hover {
	color: #dcaf00;
	border-color: #dcaf00;
	background-image: url(/common/img/arrow_02yellow.svg);
}

.flexcontainer-btn--1{
	display: block;
	margin: 20px auto;
}

.flexcontainer-btn--1 .btn--1--child{
	padding:0px;
}

.flexcontainer-btn--1 .btn--1--child a {
	display: block;
	width: 92%;
	padding: 20px 0;
	margin: 15px 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: 25px;
}

.flexcontainer-btn--1 .btn--1--child article:hover {
	color: #dcaf00;
	border-color: #dcaf00;
	background-image: url(/common/img/arrow_02yellow.svg);
}
.label span {
	display: inline-block;
	font-size: 12px;
	line-height: 1.0;
	padding: 4px 8px;
	margin: 0 6px 6px 0;
	background: #eeece6;
}

h3 .label,
h4 .label {
	display: inline-block;
	padding: 0 1em .3em;
	background: #dcaf00;
	border-radius: 2em;
	font-size: 15px;
	line-height: 1.25;
	color: #fff;
}

.vertical_sp {
	writing-mode: vertical-rl;
	text-align: start;
}

.flexcontainer {
	display: flex;
	flex-wrap: wrap;
}

body#notfound #headContents h1 { margin: 15px 0 12px; }
body#notfound .mainContents {
	margin-top: 5px;
	padding: 10px 15px 90px;
	background: url('/common/img/bg_sand.png') repeat;
}
body#notfound .mainContents p { text-align: left; }
