@charset "utf-8";



/* --------------------------------------------------------------------------------
essential
-------------------------------------------------------------------------------- */

html {
	visibility: hidden;
	font-size: 16px;
}
html.wf-active,
html.delay {
	visibility: visible;
}
body {
	text-align: justify;
	font-family: ten-mincho, "Yu Mincho", YuMincho, serif;
	font-size: 1rem;
	font-weight: 400;
	font-feature-settings: "palt";
	line-height: 2.125rem;
	letter-spacing: 0.075em;
	color: #584646;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
a {
	text-decoration: none;
	color: inherit;
}
a.underline {
	text-decoration: underline;
}
h1 {
	font-size: 1.625rem;
}
h2 {
	font-size: 1.375rem;
}
h3 {
	font-size: 1.25rem;
}
h4,
h5,
h6 {
	font-size: 1rem;
}
p.indent {
	text-indent: -1em;
	padding-left: 1em;
}
p.note {
	font-size: 0.875rem;
	line-height: 1.5rem;
}
p.right {
	text-align: right;
}
span.required,
span.emphasis {
	color: #800000;
}



/* --------------------------------------------------------------------------------
form
-------------------------------------------------------------------------------- */

input[type=text],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=button],
input[type=submit],
button,
textarea,
select {
	display: inline-block;
	box-sizing: border-box;
	max-width: 100%;
	vertical-align: top;
	font-family: "Noto Serif JP", "Yu Mincho", YuMincho, serif;
	font-size: 1rem;
	color: #584646;
	outline: none;
	border: none;
	margin: 0px;
	border-radius: 0px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
input[type=text],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
select,
textarea {
	line-height: calc(50px - 2px);
	border: 1px solid #584646;
}
input[type=text],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel] {
	height: 50px;
	padding: 0px 10px;
}
input[type=button],
input[type=submit],
button {
	text-align: center;
	font-family: ten-mincho, "Yu Mincho", YuMincho, serif;
	line-height: 50px;
	color: #ffffff;
	cursor: pointer;
	padding: 0px 20px;
	background-color: #584646;
	transition: 0.25s opacity ease;
}
input[type=button]:hover,
input[type=submit]:hover,
button:hover {
	opacity: 0.75;
}
input[type=radio],
input[type=checkbox] {
	position: relative;
	vertical-align: middle;
	width: 20px;
	margin-right: 5px;
	transform: translate(-9999px, -6px);
}
input[type=radio]::before,
input[type=checkbox]::before,
input[type=radio]::after,
input[type=checkbox]::after {
	position: absolute;
	left: 9999px;
	top: 0px;
	cursor: pointer;
	content: "";
}
input[type=radio]::before,
input[type=checkbox]::before,
label.alternate input[type=radio] + span,
label.alternate input[type=checkbox] + span {
	box-sizing: border-box;
	width: 24px;
	height: 24px;
	border: 1px solid #584646;
	background-color: #ffffff;
}
input[type=radio]::after,
input[type=checkbox]::after,
label.alternate input[type=radio] + span::before,
label.alternate input[type=checkbox] + span::before {
	opacity: 0;
	transition: 0.25s opacity ease;
}
input[type=radio]:checked::after,
input[type=checkbox]:checked::after,
label.alternate input[type=radio]:checked + span::before,
label.alternate input[type=checkbox]:checked + span::before {
	opacity: 1;
}
input[type=radio]::before,
input[type=radio]::after,
label.alternate input[type=radio] + span,
label.alternate input[type=radio] + span::before {
	border-radius: 50%;
}
input[type=radio]::after,
label.alternate input[type=radio] + span::before {
	width: 12px;
	height: 12px;
	background-color: #584646;
}
input[type=radio]::after {
	transform: translate(6px, 6px);
}
input[type=checkbox]::after,
label.alternate input[type=checkbox] + span::before {
	width: 6px;
	height: 12px;
	border-right: 2px solid #584646;
	border-bottom: 2px solid #584646;
}
input[type=checkbox]::after {
	transform: translate(8px, 2px) rotate(45deg);
}
@-moz-document url-prefix() {
	input[type=radio],
	input[type=checkbox] {
		margin-right: 0px;
		transform: translate(0px, 0px);
	}
}
@supports (-ms-ime-align:auto) {
	input[type=radio],
	input[type=checkbox] {
		margin-right: 0px;
		transform: translate(0px, 0px);
	}
}
@media all and (-ms-high-contrast:none) {
	input[type=radio],
	input[type=checkbox] {
		margin-right: 0px;
		transform: translate(0px, 0px);
	}
}
label {
	vertical-align: middle;
}
label.alternate {
	display: inline-block;
	vertical-align: middle;
	cursor: pointer;
	margin-right: 5px;
}
label.alternate input[type=radio],
label.alternate input[type=checkbox] {
	display: none;
}
label.alternate input[type=radio] + span,
label.alternate input[type=checkbox] + span {
	display: block;
	position: relative;
	cursor: pointer;
	transform: translate(0px, -2px);
}
label.alternate input[type=radio] + span::before,
label.alternate input[type=checkbox] + span::before {
	display: block;
	position: absolute;
	content: "";
}
label.alternate input[type=radio] + span::before {
	transform: translate(5px, 5px) rotate(45deg);
}
label.alternate input[type=checkbox] + span::before {
	transform: translate(7px, 1px) rotate(45deg);
}
textarea {
	line-height: 2.125rem;
	padding: 10px;
}
select {
	height: 50px;
	padding: 0px 40px 0px 10px;
	background: transparent url(../images/arrow-select.svg) no-repeat right 10px center;
	background-size: auto 6px;
}
select::-ms-expand {
	display: none;
}
::-webkit-input-placeholder {
	color: #aba2a2;
}
:-ms-input-placeholder {
	color: #aba2a2;
}
::placeholder {
	color: #aba2a2;
}
form#searchform label.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
}



/* --------------------------------------------------------------------------------
icon
-------------------------------------------------------------------------------- */

@font-face {
  font-family: "icon";
  src: url("../fonts/icon.ttf") format("truetype"), url("../fonts/icon.woff") format("woff"), url("../fonts/icon.svg") format("svg");
  font-weight: normal;
  font-style: normal;
}
i.icon {
  font-family: "icon";
  line-height: 1em;
}
i.icon-account:before {
  content: "\e900";
}
i.icon-cart:before {
  content: "\e901";
}
i.icon-cart-alternate:before {
  content: "\e902";
}
i.icon-document:before {
  content: "\e903";
}
i.icon-instagram:before {
  content: "\e904";
}
i.icon-facebook:before {
  content: "\e905";
}



/* --------------------------------------------------------------------------------
misc
-------------------------------------------------------------------------------- */

img {
	display: block;
	max-width: 100%;
	height: auto;
}
br.small {
	display: none;
}
br.large {
	display: inline;
}
hr {
	height: 0px;
	border-width: 1px 0px 0px 0px;
	border-style: solid;
	border-color: #584646;
	margin: 20px 0px;
}
mark {
	margin: 0px 5px;
	padding: 0px 5px;
	background-color: #f7f5f5;
}
div.video-wrapper {
	position: relative;
	padding-bottom: 56.25%;
}
div.video-wrapper iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
}
span.no-large {
	display: none;
}
*.margin-bottom {
	margin-bottom: 40px;
}
*.margin-bottom-wide {
	margin-bottom: 80px;
}
*.margin-bottom-narrow {
	margin-bottom: 20px;
}
*.alignleft {
	display: inline;
	float: left;
	margin-right: 20px;
}
*.alignright {
	display: inline;
	float: right;
	margin-left: 20px;
}
*.aligncenter {
	clear: both;
	display: block;
	margin: auto;
}



/* --------------------------------------------------------------------------------
page
-------------------------------------------------------------------------------- */

div#page {
	position: relative;
	padding-top: 100px;
}
div#page p.image img {
	width: 100%;
	height: auto;
	transition: 0.25s opacity ease;
}
div#page p.image a:hover img {
	opacity: 0.75;
}
div#page p.button {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
div#page p.button.button-left {
	justify-content: flex-start;
}
div#page a {
	transition: 0.25s opacity ease;
}
div#page a:hover {
	opacity: 0.625;
}
div#page p.button a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	width: 300px;
	height: 80px;
	text-align: center;
	border: 1px solid #584646;
	transition: 0.25s color ease, 0.25s background-color ease;
}
div#page p.button-white a {
	color: #ffffff;
	border-color: #ffffff;
}
div#page p.button a:hover {
	color: #ffffff;
	background-color: #584646;
	opacity: 1;
}
div#page p.button-white a:hover {
	color: #584646;
	background-color: #ffffff;
}
div#page p.more a {
	display: block;
	padding-left: 15px;
	background: url(../images/arrow-more.svg) no-repeat left 0.7rem;
	background-size: auto 12px;
}
div#page *.scroll.fade {
	opacity: 0;
	transition: 1s opacity ease-in-out, 1s transform ease;
	transform: translateY(30px);
}
div#page *.scroll.fade.active {
	opacity: 1;
	transform: translateY(0px);
}

/* home
-------------------------------------------------------------------------------- */

body.home div#page {
	padding-top: 0px;
}



/* --------------------------------------------------------------------------------
header
-------------------------------------------------------------------------------- */

header#header {
	position: fixed;
	width: 100%;
	left: 0px;
	top: 0px;
	z-index: 100;
}
header#header::before {
	position: absolute;
	width: 100%;
	height: 100px;
	left: 0px;
	top: 0px;
	content: "";
	transition: 0.25s background-color ease;
}
body.single-product header#header::before,
body.online-shop header#header::before {
	height: 140px;
}
div.scroll-01 header#header::before {
	background-color: #ffffff;
}
header#header h1,
header#header nav#navi {
	position: absolute;
}
header#header h1 {
	display: flex;
	flex-wrap: wrap;
	left: 40px;
	top: 20px;
}
header#header h1 a {
	display: block;
	height: 117px;
	transform-origin: 0% 0%;
	transition: 0.25s transform ease;
}
header#header h1 a:hover {
	opacity: 1;
}
div.scroll-01 header#header h1 a {
	transform: translateY(-10px) scale(0.625);
}
header#header h1 img {
	width: auto;
	height: 100%;
}
header#header nav#navi {
	right: 120px;
	top: 35px;
}
header#header nav#navi ul {
	display: flex;
	flex-wrap: wrap;
}
header#header nav#navi ul li a {
	display: block;
	position: relative;
}
header#header nav#navi ul.main li,
header#header nav#navi ul.sub li {
	position: relative;
	line-height: 30px;
}
header#header nav#navi ul.main li:not(:last-child),
header#header nav#navi ul.sub li:not(:last-child) {
	margin-right: 40px;
}
header#header nav#navi ul.main li.online-shop {
	font-family: "Jost", sans-serif;
	font-weight: 500;
}
header#header nav#navi ul.main li.online-shop i.icon {
	display: none;
}
header#header nav#navi ul.sub {
	display: none;
	position: absolute;
	left: 0px;
	top: 50px;
}
body.single-product header#header nav#navi ul.sub,
body.online-shop header#header nav#navi ul.sub {
	display: flex;
}
header#header nav#navi ul.sub li {
	font-size: 0.875rem;
}
header#header nav#navi ul.sub li.product-category > a {
	position: relative;
	padding-right: 15px;
}
header#header nav#navi ul.sub li.product-category > a::before {
	position: absolute;
	width: 10px;
	height: 6px;
	right: 0px;
	top: 0.8em;
	background: url(../images/arrow-navi.svg) no-repeat center;
	background-size: auto 100%;
	content: "";
}
header#header nav#navi ul.sub li.product-category div.nest {
	box-sizing: border-box;
	position: absolute;
	width: 160px;
	height: 0px;
	left: 0px;
	top: 1.875rem;
	overflow: hidden;
	background-color: #f7f5f5;
	transition: 0.25s height ease;
}
header#header nav#navi ul.sub li.product-category:hover div.nest {
	height: calc(7.5rem + 20px);
}
header#header nav#navi ul.sub li.product-category div.nest ul {
	display: block;
	padding: 10px;
}
header#header nav#navi ul.sub li.product-category div.nest ul li {
	margin-right: 0px;
}
header#header nav#navi div.sns {
	display: none;
}
header#header div#account-cart {
	position: absolute;
	right: 40px;
	top: 33px;
}
header#header div#account-cart ul {
	display: flex;
	flex-wrap: wrap;
}
header#header div#account-cart ul li.account,
header#header div#account-cart ul li.cart {
	font-size: 1.5rem;
}
header#header div#account-cart ul li.account {
	margin-right: 10px;
}
header#header div#account-cart ul li.cart span {
	position: absolute;
	width: 10px;
	height: 10px;
	right: -4px;
	top: calc(50% - 14px);
	background-color: #800000;
	border-radius: 50%;
}



/* --------------------------------------------------------------------------------
cover, title
-------------------------------------------------------------------------------- */

div#cover {
	position: fixed;
	width: 100%;
	height: 100vh;
	left: 0px;
	top: 0px;
}
div#cover div.image,
div#cover div.image p.row {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
}
div#cover div.image {
	opacity: 0;
	transition: 1s opacity ease-in-out;
}
div.active div#cover div.image {
	opacity: 1;
}
div.active.scroll-02 div#cover div.image {
	visibility: hidden;
}
div#cover div.image p.row {
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
div#cover div.image p.row-01 {
	background-image: url(../images/cover-image-01.jpg);
}
div#cover div.image p.row-02 {
	background-image: url(../images/cover-image-02.jpg);
}
div#cover div.image p.row-03 {
	background-image: url(../images/cover-image-03.jpg);
}
div#cover div.image p.row-04 {
	background-image: url(../images/cover-image-04.jpg);
}
div#cover p.scroll-down {
	position: absolute;
	width: 60px;
	height: 60px;
	left: calc(50% - 30px);
	bottom: 10px;
	z-index: 5;
	text-align: center;
	font-family: "Jost", sans-serif;
	font-size: 0.75rem;
	font-weight: 500;
	opacity: 0;
	transition: 1s opacity 0.75s ease-in-out;
}
div.active div#cover p.scroll-down {
	opacity: 1;
}
div#cover p.scroll-down a {
	display: block;
	height: 100%;
}
div#cover p.scroll-down a::before {
	position: absolute;
	width: 0px;
	height: 30px;
	left: calc(50% - 0.5px);
	bottom: 0px;
	border-right: 1px solid #584646;
	content: "";
	transform: translate(0px, 30px) scaleY(0);
	transform-origin: center top;
	animation: scroll-down 2s ease-out infinite;
}
@keyframes scroll-down {
	0% { transform: translate(0px, 0px) scaleY(0); }
	50% { transform: translate(0px, 0px) scaleY(1); }
	100% { transform: translate(0px, 30px) scaleY(0); }
}
div#space-cover {
	height: 100vh;
}
div#title {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	box-sizing: border-box;
	position: relative;
	height: 620px;
	z-index: 1;
	margin: auto;
	padding: 0px 40px;
}
div#title h1,
div#title p.image {
	height: 100%;
}
div#title h1 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 225px;
	text-indent: 0.3em;
	letter-spacing: 0.3rem;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
}
div#title p.image {
	width: calc(100% - 300px);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	opacity: 0;
	transition: 1s opacity ease-in-out;
}
div.active div#title p.image {
	opacity: 1;
}
div#title.concept p.image {
	background-image: url(../images/title-image-concept.jpg);
}
div#title.product p.image {
	background-image: url(../images/title-image-product.jpg);
}
div#title.product-mizuyoukan p.image {
	background-image: url(../images/title-image-product-mizuyoukan.jpg);
}
div#title.product-beans p.image {
	background-image: url(../images/title-image-product-beans.jpg);
}
div#title.product-coffee p.image {
	background-image: url(../images/title-image-product-coffee.jpg);
}
div#title.product-syrup p.image {
	background-image: url(../images/title-image-product-syrup.jpg);
}
div#title.shop p.image {
	background-image: url(../images/title-image-shop.jpg);
}
div#title.news p.image {
	background-image: url(../images/title-image-news.jpg);
}
div#title.contact p.image {
	background-image: url(../images/title-image-contact.jpg);
}



/* --------------------------------------------------------------------------------
content
-------------------------------------------------------------------------------- */

div#content {
	position: relative;
	z-index: 10;
	padding-bottom: 120px;
}
div#content section div.inner-section {
	position: relative;
	width: 980px;
	margin: auto;
	padding: 120px 0px;
}
div#content section header h2 {
	font-size: 1.625rem;
}
div#content div#pager,
div#content nav#navi-article ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	line-height: 35px;
	margin-top: 120px;
}
div#content nav#navi-article ul {
	position: relative;
	width: 200px;
	margin-left: auto;
	margin-right: auto;
}
div#content div#pager span.current,
div#content div#pager a.page-numbers,
div#content nav#navi-article ul li.prev,
div#content nav#navi-article ul li.next {
	width: 35px;
	height: 35px;
}
div#content div#pager span.current:not(:last-child),
div#content div#pager a.page-numbers:not(:last-child) {
	margin-right: 5px;
}
div#content div#pager span.current,
div#content div#pager a.page-numbers:not(.prev):not(.next) {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	font-family: "Jost", sans-serif;
	font-weight: 500;
	border-radius: 50%;
	transition: 0.25s background-color ease;
}
div#content div#pager span.current,
div#content div#pager a.page-numbers:hover:not(.prev):not(.next) {
	background-color: #f7f5f5;
}
div#content nav#navi-article ul li.prev,
div#content nav#navi-article ul li.next {
	position: absolute;
	top: 0px;
}
div#content nav#navi-article ul li.prev {
	left: 0px;
}
div#content nav#navi-article ul li.next {
	right: 0px;
}
div#content div#pager a.prev,
div#content div#pager a.next,
div#content nav#navi-article ul li.prev a,
div#content nav#navi-article ul li.next a {
	text-indent: -9999px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: auto 22px;
}
div#content nav#navi-article ul li.prev a,
div#content nav#navi-article ul li.next a {
	display: block;
}
div#content div#pager a.prev,
div#content nav#navi-article ul li.prev a {
	background-image: url(../images/arrow-pager-prev.svg);
}
div#content div#pager a.next,
div#content nav#navi-article ul li.next a {
	background-image: url(../images/arrow-pager-next.svg);
}
div#content nav#navi-article ul li.back {
	font-family: "Jost", sans-serif;
	font-weight: 500;
}
div#content div#banner-order-fax {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	height: 280px;
	background: url(../images/background-order-fax.jpg) no-repeat center;
	background-size: cover;
}
div#content div#banner-order-fax div.text {
	text-align: center;
	color: #ffffff;
}
div#content div#banner-order-fax div.text h3 {
	font-size: 1.375rem;
	margin-bottom: 10px;
}
div#content div#banner-order-fax div.text p.fax {
	font-size: 1.25rem;
	margin-bottom: 20px;
}
div#content div#banner-order-fax div.text p.button i.icon {
	font-size: 1.25rem;
	margin-right: 5px;
}
div#content p.not-found {
	text-align: center;
	padding: 40px 0px;
}

/* home
-------------------------------------------------------------------------------- */

body.home div#content  {
	background-color: #ffffff;
}
body.home div#content section header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	box-sizing: border-box;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
}
div#content section#home-news div.inner-section {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 120px 0px 220px 0px;
}
div#content section#home-news header {
	width: 280px;
	padding-top: 40px;
}
div#content section#home-news div.content {
	width: 700px;
}
div#content section#home-news div.list article {
	display: flex;
	flex-wrap: wrap;
	border-bottom: 1px solid #d9d9d9;
	padding: 30px;
}
div#content section#home-news div.list article:first-child {
	padding-top: 0px;
}
div#content section#home-news div.list article p.created {
	width: 100px;
	font-size: 0.875rem;
}
div#content section#home-news div.list article h3 {
	width: calc(100% - 100px);
	font-size: 1rem;
}
div#content section#home-catch {
	background-color: #f7f5f5;
}
div#content section#home-catch div.inner-section {
	width: 1080px;
	padding: 0px 0px 20px 0px;
}
div#content section#home-catch div.image-text {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
div#content section#home-catch div.image-text p.image {
	width: 750px;
	transform: translateY(-70px);
}
div#content section#home-catch div.image-text p.image img {
	opacity: 0;
	transition: 1.25s opacity ease-in-out;
}
div#content section#home-catch div.image-text.active p.image img {
	opacity: 1;
}
div#content section#home-catch div.image-text div.text {
	width: 300px;
	padding-top: 90px;
	opacity: 0;
	transition: 1s opacity 1s ease-in-out;
}
div#content section#home-catch div.image-text.active div.text {
	opacity: 1;
}
div#content section#home-catch div.image-text div.text h2 {
	margin-bottom: 50px;
}
div#content section#home-catch div.image-text div.text h2 img {
	width: auto;
	height: 286px;
}
div#content section#home-concept div.inner-section {
	padding-top: 150px;
}
div#content section#home-concept header {
	position: absolute;
	width: 180px;
	left: 0px;
	top: 150px;
	padding-top: 40px;
}
div#content section#home-concept div.list {
	margin-bottom: 120px;
}
div#content section#home-concept div.list div.row {
	width: 620px;
}
div#content section#home-concept div.list div.row:nth-child(1) {
	margin: 0px 0px 120px auto;
}
div#content section#home-concept div.list div.row:nth-child(2) {
	margin: 0px auto 0px 0px;
}
div#content section#home-concept div.list div.row p.description {
	width: 450px;
	margin-bottom: 50px;
}
div#content section#home-concept div.list div.row:nth-child(1) p.description {
	width: 460px;
	margin-left: auto;
	margin-right: 0px;
}
div#content section#home-product header {
	width: 100%;
	margin-bottom: 120px;
}
div#content section#home-product div.list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 20px;
}
div#content section#home-product div.list div.row {
	width: calc(50% - 40px);
	margin-bottom: 80px;
}
div#content section#home-product div.list div.row p.image {
	margin-bottom: 20px;
}
div#content section#home-product div.list div.row div.text {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
div#content section#home-product div.list div.row div.text h3 {
	font-size: 1.375rem;
}
div#content section#home-product div.list div.row div.text p.period {
	font-size: 0.875rem;
	padding: 0px 10px;
	background-color: #f7f5f5;
}
div#content section#home-shop header {
	position: absolute;
	width: 120px;
	right: 0px;
	top: 120px;
}
div#content section#home-shop div.segment {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
div#content section#home-shop div#segment-02 {
	flex-direction: row-reverse;
	margin-top: -20px;
}
div#content section#home-shop div#segment-01 p.image,
div#content section#home-shop div#segment-02 div.text {
	width: 380px;
}
div#content section#home-shop div#segment-01 div.text,
div#content section#home-shop div#segment-02 p.image {
	width: 500px;
}
div#content section#home-shop div#segment-01 div.text p.address-tel {
	margin-bottom: 30px;
}
div#content section#home-shop div#segment-01 div.text p.open,
div#content section#home-shop div#segment-01 div.text p.close {
	display: flex;
	flex-wrap: wrap;
}
div#content section#home-shop div#segment-01 div.text p.close {
	margin-bottom: 40px;
}
div#content section#home-shop div#segment-01 div.text p.open span.label,
div#content section#home-shop div#segment-01 div.text p.close span.label {
	position: relative;
	width: 70px;
}
div#content section#home-shop div#segment-01 div.text p.open span.label::before,
div#content section#home-shop div#segment-01 div.text p.close span.label::before {
	position: absolute;
	width: 15px;
	height: 0px;
	right: 5px;
	top: 1em;
	border-bottom: 1px solid #584646;
	content: "";
}
div#content section#home-shop div#segment-01 div.text p.open span.body,
div#content section#home-shop div#segment-01 div.text p.close span.body {
	width: calc(100% - 70px);
}
div#content section#home-shop div#segment-02 p.image-small {
	display: none;
}
div#content section#home-shop div#segment-02 div.text {
	padding-top: 40px;
}

/* concept
-------------------------------------------------------------------------------- */

body.concept div#content {
	padding-bottom: 0px;
}
div#content section#concept div.inner-section {
	width: auto;
	padding: 0px;
}
div#content section#concept div.background {
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
	pointer-events: none;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	opacity: 0;
}
div#content section#concept div#background-01 {
	background-image: url(../images/concept-image-07.jpg);
}
div#content section#concept div#background-02 {
	background-image: url(../images/concept-image-12.jpg);
}
body.space-01 div#content section#concept div#background-01,
body.space-02 div#content section#concept div#background-02 {
	opacity: 1;
}
div#content section#concept div.block {
	position: relative;
	z-index: 1;
	background-color: #ffffff;
}
div#content section#concept div.block div.inner-block {
	width: 1080px;
	margin: auto;
	padding: 200px 0px;
}
div#content section#concept div.block h2 {
	text-align: center;
	font-size: 1.625rem;
	margin-bottom: 120px;
}
div#content section#concept div.segment {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
div#content section#concept div.segment:not(:last-child) {
	margin-bottom: 120px;
}
div#content section#concept div.segment div.text {
	box-sizing: border-box;
}
div#content section#concept div#segment-01,
div#content section#concept div#segment-03,
div#content section#concept div#segment-05,
div#content section#concept div#segment-08 {
	flex-direction: row-reverse;
}
div#content section#concept div#segment-02 {
	margin-top: -360px;
}
div#content section#concept div#segment-01 p.image,
div#content section#concept div#segment-07 p.image {
	width: 480px;
}
div#content section#concept div#segment-01 div.text,
div#content section#concept div#segment-07 div.text {
	width: calc(100% - 480px);
}
div#content section#concept div#segment-01 div.text {
	padding-bottom: 180px;
}
div#content section#concept div#segment-02 p.image {
	width: 540px;
}
div#content section#concept div#segment-02 div.text {
	display: none;
}
div#content section#concept div#segment-03 p.image,
div#content section#concept div#segment-04 p.image,
div#content section#concept div#segment-05 p.image,
div#content section#concept div#segment-08 p.image,
div#content section#concept div#segment-09 p.image {
	width: 640px;
}
div#content section#concept div#segment-03 div.text,
div#content section#concept div#segment-04 div.text,
div#content section#concept div#segment-05 div.text,
div#content section#concept div#segment-08 div.text,
div#content section#concept div#segment-09 div.text {
	width: calc(100% - 640px);
}
div#content section#concept div#segment-04 div.text,
div#content section#concept div#segment-09 div.text {
	padding-left: 120px;
}
div#content section#concept div#segment-07 div.text {
	padding-left: 160px;
}
div#content section#concept div#segment-11 {
	justify-content: center;
}
div#content section#concept div#segment-11 p.image {
	width: 780px;
	margin-bottom: 80px;
}
div#content section#concept div#segment-11 div.text {
	text-align: center;
}
div#content section#concept div.space {
	height: 560px;
}

/* product
-------------------------------------------------------------------------------- */

div#content section#product header {
	text-align: center;
	margin-bottom: 120px;
}
div#content section#product div.list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 80px;
}
div#content section#product div.list-wide {
	display: block;
	width: 760px;
	margin: auto;
}
div#content section#product.coffee div.list-wide {
	margin-bottom: 160px;
}
div#content section#product div.list div.row {
	position: relative;
	width: calc(50% - 40px);
	margin-bottom: 80px;
}
div#content section#product div.list-wide div.row {
	width: auto;
	margin-bottom: 0px;
}
div#content section#product div.list-wide div.row:not(:last-child) {
	margin-bottom: 160px;
}
div#content section#product div.list div.row p.point {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	position: absolute;
	width: 119px;
	height: 102px;
	right: -40px;
	top: -40px;
	z-index: 1;
	text-align: center;
	line-height: 1.375rem;
	color: #ffffff;
	padding-top: 10px;
	background: url(../images/background-point.svg) no-repeat center;
	background-size: auto 100%;
}
div#content section#product div.list div.row p.image {
	margin-bottom: 20px;
}
div#content section#product div.list div.row div.text {
	text-align: center;
}
div#content section#product div.list div.row div.text h3,
div#content section#product div.list div.row div.text p.description {
	margin-bottom: 10px;
}
div#content section#product div.list div.row div.text h3 {
	font-size: 1.375rem;
}
div#content section#product div.list div.row div.text p.period,
div#content section#product div.list div.row div.text p.spec,
div#content section#product.detail div.ageless div.image-text div.text p.spec {
	display: inline-block;
	font-size: 0.875rem;
	padding: 0px 10px;
	background-color: #f7f5f5;
}
div#content section#product div.list div.row div.text p.spec span,
div#content section#product.detail div.ageless div.image-text div.text p.spec span {
	display: inline-block;
}
div#content section#product div.list div.row div.text p.spec span:not(:last-child),
div#content section#product.detail div.ageless div.image-text div.text p.spec span:not(:last-child) {
	position: relative;
	margin-right: 20px;
}
div#content section#product div.list div.row div.text p.spec span:not(:last-child)::before,
div#content section#product.detail div.ageless div.image-text div.text p.spec span:not(:last-child)::before {
	position: absolute;
	width: 0px;
	height: 20px;
	right: -10px;
	top: calc(50% - 10px);
	border-right: 1px solid #584646;
	content: "";
}
div#content section#product div.list div.row div.text p.button,
div#content section#product.detail div.ageless div.image-text div.text p.button {
	font-family: "Jost", sans-serif;
	font-weight: 500;
	margin-top: 20px;
}
div#content section#product div.list div.row div.text p.button i.icon,
div#content section#product.detail div.ageless div.image-text div.text p.button i.icon {
	font-size: 1.75rem;
	margin-right: 10px;
}
div#content section#product.detail header h1,
div#content section#product.detail header p.period {
	margin-bottom: 30px;
}
div#content section#product.detail header h1 {
	font-size: 1.875rem;
}
div#content section#product.detail header p.period {
	display: inline-block;
	font-size: 0.875rem;
	padding: 0px 10px;
	background-color: #f7f5f5;
}
div#content section#product.detail header p.description {
	width: 560px;
	text-align: justify;
	margin: 0px auto 20px auto;
}
div#content section#product.detail div.feature {
	position: relative;
}
div#content section#product.detail.mizuyoukan div.feature {
	position: relative;
	margin-bottom: 100px;
}
div#content section#product.detail.beans div.feature {
	margin: 0px -50px;
}
div#content section#product.detail div.feature::before {
	position: absolute;
	width: 100vw;
	height: 100%;
	left: calc(50% - 50vw);
	top: 0px;
	background-color: #f7f5f5;
	content: "";
}
div#content section#product.detail div.feature div.inner-feature {
	margin: auto;
	padding: 80px 0px;
}
div#content section#product.detail.mizuyoukan div.feature div.inner-feature,
div#content section#product.detail.coffee div.feature div.inner-feature {
	width: 860px;
}
div#content section#product.detail.beans div.feature div.inner-feature {
	width: auto;
}
div#content section#product.detail div.feature h2,
div#content section#product.detail div.ageless div.header h2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	font-size: 1.375rem;
	margin-bottom: 60px;
}
div#content section#product.detail div.feature h2 span,
div#content section#product.detail div.ageless div.header h2 span {
	font-size: 1rem;
	line-height: 2rem;
	border: 1px solid #584646;
	margin-left: 10px;
	padding: 0px 10px;
}
div#content section#product.detail div.feature div.image-text {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
div#content section#product.detail.mizuyoukan div.feature div.image-text p.image {
	width: 420px;
}
div#content section#product.detail.mizuyoukan div.feature div.image-text div.text {
	width: 360px;
}
div#content section#product.detail.beans div.feature div.image-text p.image,
div#content section#product.detail.beans div.feature div.image-text div.text {
	width: 500px;
}
div#content section#product.detail.coffee div.feature div.image-text p.image {
	width: 500px;
}
div#content section#product.detail.coffee div.feature div.image-text div.text {
	width: 280px;
}
div#content section#product.detail.coffee div.feature div.image-text div.text h3,
div#content section#product.detail.beans div.feature div.image-text div.text h3 {
	text-align: center;
	font-size: 1.375rem;
	margin-bottom: 20px;
}
div#content section#product.detail.beans div.feature div.image-text div.text p.description {
	margin-bottom: 40px;
	padding: 0px 40px;
}
div#content section#product.detail.beans div.feature div.image-text div.list div.row {
	width: calc(50% - 10px);
}
div#content section#product.detail.beans div.feature div.image-text div.list div.row p.image {
	width: auto;
}
div#content section#product.detail div.feature div.list {
	margin-bottom: 0px;
}
div#content section#product.detail div.feature div.list div.row {
	text-align: center;
	margin-bottom: 0px;
}
div#content section#product.detail div.ageless {
	border: 1px solid #584646;
	margin-bottom: 120px;
	padding: 60px;
}
div#content section#product.detail div.ageless div.header {
	text-align: center;
	margin-bottom: 40px;
}
div#content section#product.detail div.ageless div.header h2 {
  margin-bottom: 0px;
}
div#content section#product.detail div.ageless div.header p.sub {
	margin-bottom: 10px;
}
div#content section#product.detail div.ageless div.image-text {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
div#content section#product.detail div.ageless div.image-text p.image {
	width: 460px;
}
div#content section#product.detail div.ageless div.image-text div.text {
	width: calc(100% - 500px);
	text-align: center;
}
div#content section#product.detail div.ageless div.image-text div.text h3 {
	font-size: 1.375rem;
	margin-bottom: 10px;
}
div#content section#product.detail div.ageless div.image-text div.text p.description {
	margin-bottom: 10px;
}
div#content section#product.detail div.ageless div.image-text div.text p.spec {
	margin-bottom: 20px;
}
div#content section#product.detail div.ageless div.image-text div.text p.spec ~ p.description {
	text-align: justify;
	margin-bottom: 0px;
}

/* shop
-------------------------------------------------------------------------------- */

div#content section#shop div.segment {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
div#content section#shop div#segment-01 {
	margin-bottom: 120px;
}
div#content section#shop div#segment-02 {
	flex-direction: row-reverse;
}
div#content section#shop div#segment-03 {
	margin-top: -60px;
}
div#content section#shop div#segment-02 p.image,
div#content section#shop div#segment-03 div.text {
	width: 500px;
}
div#content section#shop div#segment-02 div.text,
div#content section#shop div#segment-03 p.image {
	width: 380px;
}
div#content section#shop div#segment-02 div.text {
	padding-bottom: 120px;
}
div#content section#shop div#segment-03 div.text p.address-tel {
	margin-bottom: 30px;
}
div#content section#shop div#segment-03 div.text p.open,
div#content section#shop div#segment-03 div.text p.close {
	display: flex;
	flex-wrap: wrap;
}
div#content section#shop div#segment-03 div.text p.close {
	margin-bottom: 40px;
}
div#content section#shop div#segment-03 div.text p.open span.label,
div#content section#shop div#segment-03 div.text p.close span.label {
	position: relative;
	width: 70px;
}
div#content section#shop div#segment-03 div.text p.open span.label::before,
div#content section#shop div#segment-03 div.text p.close span.label::before {
	position: absolute;
	width: 15px;
	height: 0px;
	right: 5px;
	top: 50%;
	border-bottom: 1px solid #584646;
	content: "";
}
div#content section#shop div#segment-03 div.text p.open span.body,
div#content section#shop div#segment-03 div.text p.close span.body {
	width: calc(100% - 70px);
}
div#content section#shop div#segment-03 div.text div.sns ul {
	display: flex;
	flex-wrap: wrap;
}
div#content section#shop div#segment-03 div.text div.sns ul li {
	font-size: 1.625rem;
}
div#content section#shop div#segment-03 div.text div.sns ul li:not(:last-child) {
	margin-right: 20px;
}
div#content section#shop div#segment-03 p.image-small {
	display: none;
}
div#content div#map {
	height: 520px;
}
div#content div#map iframe {
	display: block;
	width: 100%;
	height: 100%;
}

/* news
-------------------------------------------------------------------------------- */

div#content section#news div.inner-section {
	padding-top: 0px;
	padding-bottom: 0px;
}
div#content article.news {
	box-sizing: border-box;
	width: 920px;
	border-bottom: 1px solid #d9d9d9;
	margin: auto;
	padding: 120px;
}
div#content article.news header {
	margin-bottom: 40px;
}
div#content article.news header p.created {
	font-size: 0.875rem;
	line-height: 1.5rem;
	margin-bottom: 20px;
}
div#content article.news header h1.title,
div#content article.news header h2.title {
	font-size: 1.625rem;
}
div#content article.news div.body a {
	text-decoration: underline;
}
div#content article.news div.body blockquote {
	padding: 20px;
	background-color: #f7f5f5;
}
div#content article.news div.body ul li {
	position: relative;
	padding-left: 20px;
}
div#content article.news div.body ul li::before {
	position: absolute;
	width: 6px;
	height: 6px;
	left: 4px;
	top: 0.9rem;
	background-color: #584646;
	content: "";
	border-radius: 50%;
}
div#content article.news div.body ol {
	padding-left: 20px;
}
div#content article.news div.body ol li {
	list-style-type: decimal;
}
div#content article.news div.body table {
	width: 100%;
}
div#content article.news div.body table th,
div#content article.news div.body table td {
	border: 1px solid #d9d9d9;
	padding: 10px;
}
div#content article.news div.body table th {
	background-color: #f7f5f5;
}

/* contact
-------------------------------------------------------------------------------- */

div#content section#contact div.inner-section {
	width: 920px;
	padding-bottom: 0px;
}
div#content section#contact header {
	margin-bottom: 100px;
}
div#content div.mw_wp_form_preview section#contact header {
	display: none;
}
div#content section#contact header p.description {
	text-align: center;
}
div#content section#contact div.list {
	border-top: 1px solid #d9d9d9;
}
div#content section#contact div.list div.row {
	display: flex;
	flex-wrap: wrap;
	border-bottom: 1px solid #d9d9d9;
	padding: 50px 0px 50px 30px;
}
div#content div.mw_wp_form_preview section#contact div.list div.row-tel-fax {
	display: none;
}
div#content section#contact div.list div.row h2 {
	width: 300px;
	font-size: 1.125rem;
}
div#content section#contact div.list div.row div.body {
	width: calc(100% - 300px);
}
div#content section#contact div.list div.row-tel-fax div.body {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
div#content section#contact div.list div.row-tel-fax div.body p.tel-fax {
	width: 300px;
	font-size: 1.625rem;
}
div#content section#contact div.list div.row-tel-fax div.body p.time {
	font-size: 0.875rem;
}
div#content section#contact div.list div.row-tel-fax div.body p.download a {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
div#content section#contact div.list div.row-tel-fax div.body p.download i.icon {
	font-size: 1.25rem;
	margin-right: 5px;
}
div#content section#contact div.list div.row-mail p.description {
	margin-bottom: 40px;
}
div#content section#contact div.list div.row-mail div.component {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 20px;
}
div#content div.mw_wp_form_preview section#contact div.list div.row-mail div.component {
	margin-bottom: 40px;
}
div#content section#contact div.list div.row-mail div.component-last {
	margin-bottom: 40px;
}
div#content div.mw_wp_form_preview section#contact div.list div.row-mail div.component-last {
	margin-bottom: 60px;
}
div#content section#contact div.list div.row-mail div.component p.label {
	width: 180px;
	line-height: 50px;
}
div#content div.mw_wp_form_preview section#contact div.list div.row-mail div.component p.label {
	line-height: 2.125rem;
}
div#content section#contact div.list div.row-mail div.component p.label span.required {
	font-family: "Noto Serif JP", "Yu Mincho", YuMincho, serif;
	margin-left: 5px;
}
div#content div.mw_wp_form_preview section#contact div.list div.row-mail div.component p.label span.required {
	display: none;
}
div#content section#contact div.list div.row-mail div.component div.body-component {
	position: relative;
	width: calc(100% - 180px);
}
div#content section#contact div.list div.row-mail div.component div.body-component input[type=text],
div#content section#contact div.list div.row-mail div.component div.body-component input[type=email],
div#content section#contact div.list div.row-mail div.component div.body-component textarea {
	display: block;
	width: 100%;
}
div#content div.mw_wp_form_preview section#contact div.list div.row-mail div.component div.body-component div.form-item-confirm {
	display: none;
}
div#content section#contact div.list div.row-mail div.component div.body-component p.note {
	margin: 10px 0px;
}
div#content div.mw_wp_form_preview section#contact div.list div.row-mail div.component div.body-component p.note {
	display: none;
}
div#content section#contact div.list div.row-mail div.agreement,
div#content section#contact div.list div.row-mail div.action {
	padding-left: 210px;
}
div#content section#contact div.list div.row-mail div.agreement {
	margin-bottom: 40px;
}
div#content section#contact div.list div.row-mail div.agreement div.form-item {
	display: flex;
	flex-wrap: wrap;
	position: relative;
}
div#content section#contact div.list div.row-mail div.agreement div.form-item span.mwform-checkbox-field {
	margin-right: 5px;
	transform: translateY(-2px);
}
div#content section#contact div.list div.row-mail div.agreement div.form-item span.mwform-checkbox-field-text {
	display: none;
}
div#content section#contact div.list div.row-mail div.agreement div.form-item span.error {
	position: absolute;
	left: 0px;
	top: 25px;
}
div#content div.mw_wp_form_preview section#contact div.list div.row-mail div.agreement {
	display: none;
}
div#content section#contact div.list div.row-mail div.action {
	display: flex;
	flex-wrap: wrap;
}
div#content div.mw_wp_form_preview section#contact div.list div.row-mail div.action {
	padding-left: 0px;
}
div#content section#contact div.list div.row-mail div.action input[type=submit] {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	width: 220px;
	height: 80px;
	font-size: 1.125rem;
	padding: 0px;
	border-radius: 15px;
}
div#content section#contact div.list div.row-mail div.action input[type=submit]:not(:last-child) {
	margin-right: 20px;
}
div#content section#contact div.list div.row-mail div.action input[name=submitBack] {
	color: #584646;
	background-color: #f7f5f5;
}
div#content div.mw_wp_form section#contact span.error {
	display: block;
	line-height: 1.5rem;
	font-size: 0.875rem;
	margin-top: 10px;
}

/* online-shop
-------------------------------------------------------------------------------- */

div#content section#online-shop {
	margin-left: -30px;
	margin-right: -30px;
}
div#content section#online-shop div.inner-section {
	padding-top: 0px;
}
div#content section#online-shop header {
	text-align: center;
	margin-bottom: 100px;
}
div#content section#online-shop header h1 {
	text-align: 0.15em;
	font-family: "Jost", sans-serif;
	font-size: 1.75rem;
	font-weight: 500;
	letter-spacing: 0.15em;
	margin-bottom: 10px;
}
div#content section#online-shop header p.sub {
	font-size: 1.125rem;
}
div#content section#online-shop div.block:not(:last-child) {
	margin-bottom: 160px;
}
div#content section#online-shop div.block div.header {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	height: 230px;
	text-align: center;
	color: #ffffff;
	margin-bottom: 40px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
div#content section#online-shop div#block-mizuyoukan div.header {
	background-image: url(../images/background-category-01.jpg);
}
div#content section#online-shop div#block-beans div.header {
	background-image: url(../images/background-category-02.jpg);
}
div#content section#online-shop div#block-coffee div.header {
	background-image: url(../images/background-category-03.jpg);
}
div#content section#online-shop div#block-syrup div.header {
	background-image: url(../images/background-category-04.jpg);
}
div#content section#online-shop div.block div.header h2 {
	font-size: 1.375rem;
	margin-bottom: 20px;
}
div#content section#online-shop div.block div.header p.period {
	display: inline-block;
	font-size: 0.875rem;
	border: 1px solid #ffffff;
	padding: 0px 10px;
}
div#content div.list-product {
	display: flex;
	flex-wrap: wrap;
	margin: 0px -40px -40px 0px;
}
div#content div.list-product ul {
	width: 100%;
	margin: 0px;
}
div#content div.list-product article {
	width: calc(33.33% - 40px);
	margin: 0px 40px 40px 0px;
}
div#content div.list-product article p.image {
	margin-bottom: 20px;
}
div#content div.list-product article div.text {
	text-align: center;
}
div#content div.list-product article div.text h3,
div#content div.list-product article div.text p.price {
	font-size: 1.125rem;
	margin-bottom: 0px;
}
div#content div.list-product article div.text p.price span.woocommerce-Price-currencySymbol,
div#content div.list-product article div.text p.price small.woocommerce-price-suffix {
	font-size: 0.875rem;
}
div#content div.list-product article div.text a.button {
	font-size: 0.875rem;
	line-height: 40px;
	margin-top: 10px;
}

/* woocommerce
-------------------------------------------------------------------------------- */

body.woocommerce div#content,
body.woocommerce-page div#content {
	width: 920px;
	margin: auto;
	padding-top: 120px;
}
body.woocommerce div#content div.woocommerce-message {
	margin-bottom: 120px;
}
body.woocommerce div#content div.product div.header,
body.woocommerce-page div#content h1.title {
	text-align: center;
	margin-bottom: 120px;
}
body.woocommerce-page div#content h1.title {
	border: none;
	border-top: 1px solid #d9d9d9;
	border-bottom: 1px solid #d9d9d9;
	padding: 40px 0px;
}
body.woocommerce div#content div.product div.header h1 {
	text-align: 0.15em;
	font-family: "Jost", sans-serif;
	font-size: 1.75rem;
	font-weight: 500;
	letter-spacing: 0.15em;
	margin-bottom: 0px;
}
body.woocommerce div#content div.product ul.breadcrumb {
	display: flex;
	flex-wrap: wrap;
	font-size: 0.875rem;
	margin-bottom: 40px;
}
body.woocommerce div#content div.product ul.breadcrumb li {
	position: relative;
}
body.woocommerce div#content div.product ul.breadcrumb li:not(:last-child) {
	margin-right: 30px;
}
body.woocommerce div#content div.product ul.breadcrumb li:not(:last-child)::before {
	position: absolute;
	width: 30px;
	height: 12px;
	right: -30px;
	top: 0.7rem;
	background: url(../images/arrow-more.svg) no-repeat center;
	background-size: auto 100%;
	content: "";
}
body.woocommerce div#content div.product div.sale-slide {
	position: relative;
}
body.woocommerce div#content div.product div.sale-slide span.onsale {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	width: 119px;
	height: 102px;
	left: -40px;
	top: -40px;
	font-size: 1.125rem;
	font-weight: 400;
	padding: 0px;
	background: url(../images/background-point.svg) no-repeat center;
	background-size: auto 100%;
	border-radius: 0px;
}
body.woocommerce div#content div.product div.sale-slide div#slide {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 80px;
}
body.woocommerce div#content div.product div.sale-slide div#slide div.image {
	width: 770px;
	opacity: 0;
	transition: 1s opacity ease-in-out;
}
body.woocommerce div#content div.product div.sale-slide div#slide.active div.image {
	opacity: 1;
}
body.woocommerce div#content div.product div.sale-slide div#slide div.image div.inner-image {
	position: relative;
	overflow: hidden;
	padding-bottom: 72.4%;
}
body.woocommerce div#content div.product div.sale-slide div#slide div.image p.row {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
	background-color: #ffffff;
}
body.woocommerce div#content div.product div.sale-slide div#slide div.image p.row img,
body.woocommerce div#content div.product div.sale-slide div#slide div.navi p.row img {
	width: 100%;
	height: 100%;
	margin: auto;
	object-fit: cover;
}
body.woocommerce div#content div.product div.sale-slide div#slide div.navi {
	width: calc(100% - 780px);
}
body.woocommerce div#content div.product div.sale-slide div#slide div.navi p.row {
	height: calc(20% - 10px);
	overflow: hidden;
	cursor: pointer;
	opacity: 0;
	transition: 1s opacity ease-in-out;
}
body.woocommerce div#content div.product div.sale-slide div#slide div.navi p.row:not(:last-child) {
	margin-bottom: 10px;
}
body.woocommerce div#content div.product div.sale-slide div#slide.active div.navi p.row {
	opacity: 1;
}
body.woocommerce div#content div.product div.detail {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 0px 40px;
}
body.woocommerce div#content div.product div.detail div.left {
	width: 440px;
}
body.woocommerce div#content div.product div.detail div.right {
	width: 320px;
}
body.woocommerce div#content div.product div.detail div.right h1,
body.woocommerce div#content div.product div.detail div.right p.price {
	text-align: left;
	font-size: 1.125rem;
}
body.woocommerce div#content div.product div.detail div.right h1 {
	margin-bottom: 10px;
}
body.woocommerce div#content div.product div.detail div.right p.price {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	margin-bottom: 20px;
}
body.woocommerce div#content div.product div.detail div.right p.price span.woocommerce-Price-currencySymbol,
body.woocommerce div#content div.product div.detail div.right p.price small.woocommerce-price-suffix {
	font-size: 0.875rem;
}
body.woocommerce div#content div.product div.detail div.right p.price del {
	position: relative;
	text-decoration: none;
	margin-right: 10px;
	opacity: 1;
}
body.woocommerce div#content div.product div.detail div.right p.price del::before {
	position: absolute;
	width: 100%;
	height: 0px;
	left: 0px;
	top: 50%;
	border-bottom: 1px solid #584646;
	content: "";
}
body.woocommerce div#content div.product div.detail div.right form.cart div.quantity {
	width: 100px;
}
body.woocommerce div#content div.product div.detail div.right input[type=number] {
	width: 100%;
	height: 50px;
	font-size: 1.125rem;
	line-height: calc(50px - 2px);
	padding-right: 40px;
  -moz-appearance: textfield;
}
body.woocommerce div#content div.product div.detail div.right input[type=number]::-webkit-outer-spin-button,
body.woocommerce div#content div.product div.detail div.right input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
}
body.woocommerce div#content div.product div.detail div.right input[type=number] ~ div.button-number {
	display: inline-block;
	position: relative;
	height: 50px;
	vertical-align: middle;
}
body.woocommerce div#content div.product div.detail div.right input[type=number] ~ div.button-number p.up,
body.woocommerce div#content div.product div.detail div.right input[type=number] ~ div.button-number p.down {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	position: absolute;
	width: 25px;
	height: 50%;
	left: -25px;
	cursor: pointer;
	background-repeat: no-repeat;
	background-position: center;
	background-size: auto 6px;
}
body.woocommerce div#content div.product div.detail div.right input[type=number] ~ div.button-number p.up {
	top: 0px;
	border-bottom: none;
	background-image: url(../images/arrow-spin-up.svg);
}
body.woocommerce div#content div.product div.detail div.right input[type=number] ~ div.button-number p.down {
	bottom: 0px;
	border-top: none;
	background-image: url(../images/arrow-spin-down.svg);
}
body.woocommerce div#content div.product div.detail div.right button.button {
	width: calc(100% - 110px);
	height: 50px;
}
body.woocommerce div#content div.product div.detail div.right button.button:hover {
	background-color: #584646;
	opacity: 0.75;
}
body.woocommerce div#content div.product div.detail div.right p.stock {
	font-size: 1rem;
}
body.woocommerce div#content div.product div.detail div.right p.out-of-stock {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	height: 50px;
	background-color: #f7f5f5;
}
body.woocommerce div#content div.product div.detail div.right p.delivery {
	margin-bottom: 20px;
}
body.woocommerce div#content div.product div.detail div.right div.body-small {
	display: none;
}
body.woocommerce.single-product div#content div.woocommerce-tabs {
	display: none;
}
body.woocommerce div#content section#related,
body.woocommerce-page div#content section#related {
	margin-left: -30px;
	margin-right: -30px;
}
body.woocommerce-page div#content section#related {
	margin-bottom: 80px;
}
body.woocommerce div#content section#related div.inner-section,
body.woocommerce-page div#content section#related div.inner-section {
	padding-bottom: 0px;
}
body.woocommerce div#content section#related header,
body.woocommerce-page div#content section#related header {
	text-align: center;
	margin-bottom: 40px;
}
body.woocommerce div#content section#related header h2,
body.woocommerce-page div#content section#related header h2 {
	font-size: 1.375rem;
	margin-bottom: 0px;
}
body.woocommerce-page form.woocommerce-shipping-calculator section.shipping-calculator-form {
	display: flex;
	flex-wrap: wrap;
}
body.woocommerce-page form.woocommerce-shipping-calculator section.shipping-calculator-form p.form-row-wide {
	width: 100%;
}
body.woocommerce-page form.woocommerce-shipping-calculator section.shipping-calculator-form p#calc_shipping_state_field {
	box-sizing: border-box;
	float: none;
	width: 100%;
	padding-right: calc(100% - 200px);
}
body.woocommerce-page form.woocommerce-shipping-calculator section.shipping-calculator-form p#calc_shipping_state_field {
	order: 1;
}
body.woocommerce-page form.woocommerce-shipping-calculator section.shipping-calculator-form p#calc_shipping_city_field {
	order: 2;
}
body.woocommerce-page form.woocommerce-shipping-calculator section.shipping-calculator-form p#calc_shipping_postcode_field {
	width: 200px;
	margin-right: 10px;
}
body.woocommerce-page form.woocommerce-form-login > p:first-child {
	margin-bottom: 40px;
}
body.woocommerce-page form.woocommerce-form-login label.woocommerce-form-login__rememberme {
	margin-top: 10px;
}
body.woocommerce-page form.woocommerce-form-login label.woocommerce-form-login__rememberme span {
	transform: translateY(1px);
}
body.woocommerce-page form.woocommerce-form-login p.lost_password a {
	display: inline-block;
	padding-left: 15px;
	background: url(../images/arrow-more.svg) no-repeat left 0.7rem;
	background-size: auto 12px;
}
body.woocommerce-page form.woocommerce-checkout p.create-account label.alternate {
	margin-bottom: 0px;
}
body.woocommerce-page div.woocommerce-MyAccount-content a:not(.button),
body.woocommerce-page a.showlogin,
body.woocommerce-page a.woocommerce-terms-and-conditions-link {
	text-decoration: underline;
}

/* payment, delivery, gift
-------------------------------------------------------------------------------- */

div#content section.online-shop-sub div.inner-section {
	width: auto;
	padding-top: 0px;
}
div#content section.online-shop-sub header {
	text-align: center;
	margin-bottom: 100px;
}
div#content section.online-shop-sub header p.sub {
	text-align: 0.15em;
	font-family: "Jost", sans-serif;
	font-size: 1.75rem;
	font-weight: 500;
	letter-spacing: 0.15em;
	margin-bottom: 100px;
}
div#content section#payment div.list div.row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	border-bottom: 1px solid #d9d9d9;
	padding: 40px;
}
div#content section#payment div.list div.row:first-child {
	border-top: 1px solid #d9d9d9;
}
div#content section#payment div.list div.row p.label {
	width: 240px;
}
div#content section#payment div.list div.row div.body {
	width: calc(100% - 240px);
}
div#content section#delivery div.segment {
	border-bottom: 1px solid #d9d9d9;
	padding: 60px 40px;
}
div#content section#delivery div.segment:first-child {
	border-top: 1px solid #d9d9d9;
}
div#content section#delivery div.segment h2 {
	font-size: 1.375rem;
	margin-bottom: 20px;
}
div#content section#delivery div.segment h2.margin-bottom {
	margin-bottom: 40px;
}
div#content section#delivery div.segment h2 span {
	display: inline-block;
	vertical-align: 2px;
	font-size: 1rem;
	line-height: 1.875rem;
	margin-left: 10px;
	padding: 0px 10px;
	background-color: #f7f5f5;
}
div#content section#delivery div.segment h3 {
	font-size: 1rem;
}
div#content section#delivery table {
	width: 100%;
	margin-bottom: 10px;
}
div#content section#delivery table th,
div#content section#delivery table td {
	box-sizing: border-box;
	vertical-align: middle;
	border: 1px solid #d9d9d9;
	padding: 15px 30px;
}
div#content section#delivery table th.area {
	width: 17.5%;
	text-align: center;
	background-color: #f7f5f5;
}
div#content section#delivery table td.prefectures {
	width: 47.5%;
}
div#content section#delivery table td.price {
	width: 35%;
	text-align: right;
	padding-right: 13.75%;
}
div#content section#gift div.summary {
	margin-bottom: 100px;
	padding: 0px 120px;
}
div#content section#gift div.summary p.description {
	margin-bottom: 40px;
}
div#content section#gift div.list div.row {
	border-bottom: 1px solid #d9d9d9;
	padding: 60px 40px;
}
div#content section#gift div.list div.row:first-child {
	border-top: 1px solid #d9d9d9;
}
div#content section#gift div.list div.row h2 {
	font-size: 1.375rem;
	margin-bottom: 20px;
}
div#content section#gift div.list div.row div.image-text {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
div#content section#gift div.list div.row div.image-text div.text {
	width: calc(100% - 480px);
}
div#content section#gift div.list div.row div.image-text p.image {
	width: 420px;
}
div#content section#gift div.list div.row-beans p.description {
	margin-bottom: 40px;
}
div#content section#gift div.list div.row-beans p.description span.underline {
	text-decoration: underline;
}
div#content section#gift div.list div.row-beans div.image {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
div#content section#gift div.list div.row-beans div.image p.row {
	width: calc(50% - 10px);
}

/* company, privacy-policy, law, terms
-------------------------------------------------------------------------------- */

div#content section#company div.inner-section,
div#content section#privacy-policy div.inner-section,
div#content section#terms div.inner-section {
	width: 680px;
}
div#content section#company header,
div#content section#privacy-policy header,
div#content section#law header,
div#content section#terms header {
	text-align: center;
	margin-bottom: 120px;
}
div#content section#company div.list div.row,
div#content section#law div.list div.row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	border-bottom: 1px solid #d9d9d9;
	padding: 40px;
}
div#content section#company div.list div.row:first-child,
div#content section#law div.list div.row:first-child {
	border-top: 1px solid #d9d9d9;
}
div#content section#company div.list div.row p.label {
	width: 200px;
}
div#content section#company div.list div.row div.body {
	width: calc(100% - 200px);
}
div#content section#privacy-policy div.segment:not(:last-child),
div#content section#terms div.segment:not(:last-child) {
	margin-bottom: 100px;
}
div#content section#privacy-policy div.segment h2,
div#content section#terms div.segment h2 {
	margin-bottom: 20px;
}
div#content section#privacy-policy div.segment ul li,
div#content section#terms div.segment ul li {
	position: relative;
	padding-left: 1em;
}
div#content section#privacy-policy div.segment ul li::before,
div#content section#terms div.segment ul li::before {
	position: absolute;
	width: 0.75rem;
	height: 0.75rem;
	left: 0px;
	top: 0.65em;
	border: 1px solid #584646;
	border-radius: 50%;
	content: "";
}
div#content section#law div.inner-section {
	width: 920px;
}
div#content section#law div.list div.row p.label {
	width: 300px;
}
div#content section#law div.list div.row div.body {
	width: calc(100% - 300px);
}



/* --------------------------------------------------------------------------------
content-bottom
-------------------------------------------------------------------------------- */

div#content-bottom {
	display: none;
}



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

footer#footer {
	position: relative;
	z-index: 10;
	color: #ffffff;
	background-color: #2c0d1b;
	padding-bottom: 80px;
}
footer#footer div.online-shop {
	text-align: center;
	margin-bottom: 80px;
	padding: 80px 0px;
	background: url(../images/background-footer.jpg) no-repeat center;
	background-size: cover;
}
footer#footer div.online-shop p.description {
	font-size: 1.125rem;
	line-height: 1.875rem;
	margin-bottom: 20px;
}
footer#footer div.online-shop p.button {
	font-family: "Jost", sans-serif;
	font-size: 1.125rem;
	font-weight: 500;
}
footer#footer div.online-shop p.button i.icon {
	font-size: 1.75rem;
	margin-right: 10px;
}
footer#footer div.sns-small {
	display: none;
}
footer#footer div.column {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: calc(100% - 160px);
	margin: auto;
}
footer#footer div.column div.left div.information {
	margin-bottom: 20px;
}
footer#footer div.column div.left div.information h3 {
	font-size: 1.25rem;
	margin-bottom: 20px;
}
footer#footer div.column div.left div.information p.tel-fax span.tel {
	margin-right: 10px;
}
footer#footer div.column div.left div.links-sns {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
footer#footer div.column div.left div.links-sns div.links ul,
footer#footer div.column div.left div.links-sns div.sns ul {
	display: flex;
	flex-wrap: wrap;
}
footer#footer div.column div.left div.links-sns div.links ul {
	margin-right: 40px;
}
footer#footer div.column div.left div.links-sns div.links ul li {
	font-size: 0.875rem;
	line-height: 25px;
	border-right: 1px solid #ffffff;
}
footer#footer div.column div.left div.links-sns div.links ul li:first-child {
	border-left: 1px solid #ffffff;
}
footer#footer div.column div.left div.links-sns div.links ul li a {
	display: block;
	padding: 0px 20px;
}
footer#footer div.column div.left div.links-sns div.sns ul li {
	font-size: 1.625rem;
}
footer#footer div.column div.left div.links-sns div.sns ul li:not(:last-child) {
	margin-right: 20px;
}
footer#footer div.column div.right {
	margin-right: 20px;
}
footer#footer div.column div.right p.logo {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 20px;
}
footer#footer div.column div.right p.logo a {
	opacity: 1;
}
footer#footer div.column div.right p.logo img {
	width: auto;
	height: 117px;
}
footer#footer p.copyright {
	font-size: 0.75rem;
	letter-spacing: 0.0375em;
}



/* --------------------------------------------------------------------------------
additional
-------------------------------------------------------------------------------- */

div.woocommerce-billing-fields p.description {
	text-align: center;
}



#add_payment_method #payment ul.payment_methods li.payment_method_cod img,
.woocommerce-cart #payment ul.payment_methods li.payment_method_cod img,
.woocommerce-checkout #payment ul.payment_methods li.payment_method_cod img,
#add_payment_method #payment ul.payment_methods li.payment_method_ppec_paypal img,
.woocommerce-cart #payment ul.payment_methods li.payment_method_ppec_paypal img,
.woocommerce-checkout #payment ul.payment_methods li.payment_method_ppec_paypal img {
	display: none;
}



/* --------------------------------------------------------------------------------
tmp
-------------------------------------------------------------------------------- */

div.woocommerce-additional-fields p.delivery-date,
div.woocommerce-additional-fields p.delivery-time {
	display: none;
}
