@charset "utf-8";



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

*, *::before, *::after {
	box-sizing: border-box;
	font: inherit;
	border: none;
	margin: 0;
	padding: 0;
}
html {
	-webkit-text-size-adjust: none;
	-webkit-tap-highlight-color: transparent;
}
a {
	text-decoration: none;
	color: inherit;
}
article, aside, footer, header, iframe, img, main, nav, section, video {
	display: block;
}
ol, ul {
	list-style: none;
}
table {
	border-collapse: collapse;
}
img {
	max-width: 100%;
	height: auto;
}



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

html {
	font-size: 16px;
}
body {
	text-align: justify;
	overflow-wrap: break-word;
	font-family: ten-mincho-text, serif;
	font-size: 1rem;
	font-weight: 400;
	font-feature-settings: "palt";
	line-height: 1.875rem;
	color: #504946;
	letter-spacing: 0.05em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
a.underline {
	text-decoration: underline;
}
a.color {
	transition: 0.25s color ease;
}
a.color:hover {
	color: #aba775;
}
a.opacity {
	transition: 0.25s opacity ease;
}
a.opacity:hover {
	opacity: 0.625;
}
h1 {
	font-size: 1.5rem;
}
h2 {
	font-size: 1.375rem;
}
h3 {
	font-size: 1.25rem;
}
p.indent {
	text-indent: -1em;
	padding-left: 1em;
}
p.note {
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 0.875rem;
	line-height: 1.5rem;
}



/* --------------------------------------------------------------------------------
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;
	max-width: 100%;
	vertical-align: top;
	font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", sans-serif;
	font-size: 1rem;
	outline: none;
	border: none;
	margin: 0px;
	border-radius: 2.5px;
	-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],
textarea,
select {
	color: #504946;
	border: 1px solid #d3d1d1;
}
input[type=text],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
select {
	height: 50px;
	line-height: calc(50px - 2px);
}
input[type=text],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel] {
	padding: 0px 20px;
}
input[type=button],
input[type=submit],
button {
	height: 50px;
	text-align: center;
	color: #ffffff;
	cursor: pointer;
	padding: 0px 20px;
	background-color: #504946;
	transition: 0.25s background-color ease;
}
input[type=button]:hover,
input[type=submit]:hover,
button:hover {
	background-color: #aca76e;
}
input[type=radio],
input[type=checkbox] {
	position: relative;
	vertical-align: middle;
	width: 20px;
	margin-right: 5px;
	transform: translate(-9999px, -4px);
}
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 {
	width: 20px;
	height: 20px;
	border: 1px solid #d3d1d1;
	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: 10px;
	height: 10px;
	background-color: #504946;
}
input[type=radio]::after {
	transform: translate(5px, 5px);
}
input[type=checkbox]::before,
label.alternate input[type=checkbox] + span {
	border-radius: 2.5px;
}
input[type=checkbox]::after,
label.alternate input[type=checkbox] + span::before {
	width: 8px;
	height: 13px;
	border-right: 3px solid #504946;
	border-bottom: 3px solid #504946;
}
input[type=checkbox]::after {
	transform: translate(6px, 1px) 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, -1px);
}
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(4px, 4px);
}
label.alternate input[type=checkbox] + span::before {
	transform: translate(5px, 0px) rotate(45deg);
}
textarea {
	padding: 10px 20px;
}
select {
	padding: 0px 40px 0px 20px;
	background: transparent url(https://jmmchocolate.itembox.design/item/images/arrow-select.svg) no-repeat right 10px center;
	background-size: auto 10px;
}
select::-ms-expand {
	display: none;
}
::-webkit-input-placeholder {
	color: #d3d1d1;
}
:-ms-input-placeholder {
	color: #d3d1d1;
}
::placeholder {
	color: #d3d1d1;
}
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("https://jmmchocolate.itembox.design/item/fonts/icon.ttf") format("truetype"), url("https://jmmchocolate.itembox.design/item/fonts/icon.woff") format("woff"), url("https://jmmchocolate.itembox.design/item/fonts/icon.svg") format("svg");
	font-weight: normal;
	font-style: normal;
}
i.icon {
	font-family: "icon";
	line-height: 1em;
}
i.icon-registration:before {
	content: "\e900";
}
i.icon-account:before {
	content: "\e901";
}
i.icon-cart:before {
	content: "\e902";
}
i.icon-basket:before {
	content: "\e903";
}
i.icon-favorite:before {
	content: "\e904";
}
i.icon-search:before {
	content: "\e905";
}
i.icon-facebook:before {
	content: "\e906";
}
i.icon-instagram:before {
	content: "\e907";
}
i.icon-twitter:before {
	content: "\e908";
}
i.icon-arrow:before {
	content: "\e909";
}
i.icon-arrow-collapse:before {
	content: "\e90a";
}
i.icon-arrow-collapse-active:before {
	content: "\e90b";
}
i.icon-finger:before {
	content: "\e90c";
}
i.icon-finger-alternate:before {
	content: "\e90d";
}
i.icon-pdf:before {
	content: "\e90e";
}
i.icon-movie:before {
	content: "\e90f";
}
i.icon-location:before {
	content: "\e910";
}
i.icon-liqueur:before {
	content: "\e911";
}



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

br.small {
	display: none;
}
br.large {
	display: inline;
}
img.small {
	display: none;
}
img.large {
	display: block;
}
hr {
	height: 0px;
	border-width: 1px 0px 0px 0px;
	border-style: solid;
	border-color: #d3d1d1;
	margin: 20px 0px;
}
mark {
	margin: 0px 5px;
	padding: 0px 5px;
	background-color: #f2f1f1;
	border-radius: 2.5px;
}
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,
i.no-large,
em.no-large {
	display: none;
}



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

div#page {
	position: relative;
	overflow: clip;
}
div#trigger {
	position: absolute;
	left: 0px;
	top: 50vh;
	pointer-events: none;
}
p#button-shop {
	display: none;
	position: fixed;
	right: 0px;
	bottom: 0px;
	z-index: 10;
	text-align: center;
}
p#button-shop a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 100px;
	height: 100px;
	color: #ffffff;
	background-color: #504946;
	border-top-left-radius: 2.5px;
	transition: 0.25s background-color ease;
}
p#button-shop a:hover {
	background-color: #aca76e;
}
p#button-shop span,
p#button-shop i {
	display: block;
}
p#button-shop i.icon {
	font-size: 1.5rem;
	color: #aca76e;
	margin-bottom: 5px;
	transition: 0.25s color ease;
}
p#button-shop a:hover i.icon {
	color: #ffffff;
}
p#button-shop i.text {
	text-indent: 0.075em;
	font-family: archetype, serif;
	font-size: 0.875rem;
	line-height: 1.25rem;
	letter-spacing: 0.075em;
}
div.sns ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
div.sns ul li {
	font-size: 1.875rem;
}
div.sns ul li:not(:last-child) {
	margin-right: 60px;
}
p.button-default {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	font-family: archetype, ten-mincho-text, serif;
}
p.button-default-alternate {
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 0.875rem;
}
p.button-default a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 180px;
	height: 50px;
	color: #ffffff;
	background-color: #504946;
	border-radius: 2.5px;
	transition: 0.25s background-color ease;
}
p.button-default a:hover {
	background-color: #aca76e;
}
p.button-wide a {
	width: 240px;
}
div.banner-family {
	display: flex;
	/* flex-direction: column; */
	flex-wrap: wrap;
	justify-content: center;
	text-align: center;
}
div.banner-family a {
	display: block;
	border: 1px solid #aca76e;
	border-radius: 2.5px;
	transition: 0.25s background-color ease;
}
div.banner-family a:hover {
	opacity: .95;
}
div.banner-family h3 {
	text-indent: 0.075em;
	font-family: archetype, serif;
	color: #aca76e;
	letter-spacing: 0.075em;
	transition: 0.25s color ease;
}
div.banner-family a:hover h3 {
	color: #ffffff;
}
div.banner-family h4 {
	font-size: 20px;
}
div.banner-family p.sub {
	font-family: yu-gothic-pr6n, sans-serif;
	margin: 0;
}
div.banner-family p.button-default a{
	display: flex;
	align-items: center;
	justify-content: center;
}
div.select-wrapper select {
	display: none;
}
div.select-wrapper div.select-alternate {
	position: relative;
	border: 1px solid #d3d1d1;
	border-radius: 2.5px;
}
div.select-wrapper div.select-alternate p,
div.select-wrapper div.select-alternate ul li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	position: relative;
	height: 50px;
	font-family: yu-gothic-pr6n, sans-serif;
	cursor: pointer;
	padding: 0px 20px;
}
div.select-wrapper div.select-alternate ul {
	height: 0px;
	overflow: hidden;
	pointer-events: none;
}
div.select-wrapper.open div.select-alternate ul {
	pointer-events: auto;
}
div.select-wrapper div.select-alternate ul li {
	border-top: 1px solid #d3d1d1;
	transition: 0.25s background-color ease;
}
div.select-wrapper div.select-alternate ul li:hover,
div.select-wrapper div.select-alternate ul li.active {
	background-color: #f2f1f1;
}
p.image {
	overflow: hidden;
}
p.image img {
	width: 100%;
	height: auto;
}
p.image-contain img,
p.image-cover img {
	height: 100%;
}
p.image-contain img {
	object-fit: contain;
}
p.image-cover img {
	object-fit: cover;
}
*.scroll.fade {
	opacity: 0;
	transition: 1s opacity ease-in-out;
}
*.scroll.fade.active {
	opacity: 1;
}

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

body.fs-body-top header#header > #logo, body.fs-body-top header#header > .shop{
	opacity: 0;
	pointer-events: none;
}
body.fs-body-top header#header.view >  #logo,
body.fs-body-top header#header.view >  .shop{
	animation: fadeIn 2s forwards;
	pointer-events:all ;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.fs-body-top header#header p#button-menu {
	opacity: 0;
  position: fixed;
	transition: all 2s;
	display: none;
}
.fs-body-top header#header p#button-menu.view{
	z-index: 3000;
	opacity: 1;
	display: block;
}
.fs-body-top header#header.view p#button-menu.view{
	position: absolute;
}
body.menu-header.fs-body-top header#header p#button-menu{
	position: fixed !important;
}
body.home p#button-shop,
body.fs-body-top p#button-shop {
	display: block;
}

#head-family{
	position: absolute;
	top: 0;
	left:0;
	z-index:1000;
	height: 84px;
}
#head-family a{
	width: 100svw;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	background: rgba(255, 255, 255, 0.5);
}
#head-family a .welcome{
	letter-spacing: .1rem;
}
#head-family a .jmmfamily-logo{
	padding-inline:25px 40px;
}
#head-family a .register{
	border: 1px solid #707070;
	width: 290px;
	height: 35px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: yu-gothic, sans-serif;
	font-weight: 600;
	color: #504946;
}
.fs-body-top footer#footer .banner-family{
	display: none;
}



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

header#header {
	position: sticky;
	z-index: 2000;
  top: 0;
}
header#header p#logo,
header#header p#button-menu,
header#header nav#navi-product,
header#header > div.shop {
	position: absolute;
}
body.menu-header header#header p#button-menu,
header#header div#menu,
header#header div#background-menu{
	position: fixed;
}
header#header p#logo,
header#header p#button-menu,
header#header div#background-menu,
header#header div#menu,
header#header nav#navi-product {
	left: 0px;
}
header#header p#logo,
header#header p#button-menu,
header#header div#background-menu,
header#header div#menu {
	top: 0px;
}
body.admin-bar header#header p#logo,
body.admin-bar header#header p#button-menu,
body.admin-bar header#header div#menu {
	top: 32px;
}
header#header p#logo {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 85px;
	z-index: 10;
	background-color: #ffffff;
	background: #5b5552;
}
header#header p#logo img {
	width: auto;
	height: 68px;
}
header#header .shop.fs-clientInfo{
	display: block !important;
}
header#header p#button-menu {
	width: 85px;
	height: 85px;
	z-index: 30;
	cursor: pointer;
}
header#header p#button-menu i {
	display: block;
	position: absolute;
	border-bottom: 1px solid #eae9e9;
	width: 30px;
	height: 1px;
	left: calc(50% - 15px);
	top: calc(50% - 0.5px);
	transition: 0.25s all ease;
	transform-origin: 50% 50%;
}
body.menu-header header#header p#button-menu i {
	border-color: #ffffff;
}
header#header p#button-menu i:nth-child(1) {
	transform: translateY(-7px);
}
header#header p#button-menu i:nth-child(2) {
	transform: translateY(7px);
}
body.menu-header header#header p#button-menu i:nth-child(1),
body.menu-header header#header p#button-menu i:nth-child(2),
body.menu-header header#header p#button-menu i:nth-child(3) {
	width: 0px;
	left: 50%;
	opacity: 0;
	transform: translateY(0px);
}
body.menu-header header#header p#button-menu i:nth-child(4) {
	transform: rotate(45deg);
}
body.menu-header header#header p#button-menu i:nth-child(5) {
	transform: rotate(-45deg);
}
header#header div#background-menu {
	display: none;
	width: 100%;
	height: 100%;
	z-index: 20;
}
body.menu-header header#header div#background-menu {
	display: block;
}
header#header div#menu {
	width: 400px;
	height: 100svh;
	overflow: auto;
	z-index: 20;
	color: #ffffff;
	background-color: rgba(77, 75, 75, 0.925);
	transform: translateX(-100%);
	transition: 0.25s transform ease;
	-webkit-overflow-scrolling: touch;
}
body.admin-bar header#header div#menu {
	height: calc(100% - 32px);
}
body.menu-header header#header div#menu {
	transform: translateX(0%);
}
header#header div#menu::-webkit-scrollbar {
	display: none;
}
header#header div#menu div.inner-menu {
	padding: 15px 0px 40px 0px;
}
header#header div#menu p.logo {
	margin-bottom: 30px;
}
header#header div#menu p.logo {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
header#header div#menu p.logo img {
	width: auto;
	height: 56px;
	opacity: 0;
}
header#header div#menu div.shop,
header#header div#menu nav#navi {
	margin-bottom: 30px;
}
header#header div#menu div.shop ul,
header#header div#menu div.sns ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
header#header div#menu div.shop ul li {
	width: 100px;
	text-align: center;
	color: #aca76e;
}
header#header div#menu div.shop ul li i.icon,
header#header div#menu div.shop ul li span {
	display: block;
}
header#header div#menu div.shop ul li i.icon {
	font-size: 1.875rem;
}
header#header div#menu div.shop ul li span {
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 0.875rem;
}
header#header div#menu nav#navi ul li {
	font-size: 1.125rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
header#header div#menu nav#navi ul li:first-child {
	border-top: 1px solid rgba(255, 255, 255, 0.5);
}
header#header div#menu nav#navi ul li a {
	display: block;
	padding: 10px 0px 10px 40px;
}
header#header div#menu div.sns {
	margin-bottom: 50px;
}
header#header div#menu div.banner-family {
	flex-direction: row;
}
header#header div#menu div.banner-family a {
	width: calc(100% - 80px);
	padding: 15px;
	border: 1px solid #aca76e;
	border-radius: 2.5px;
}
header#header div#menu div.banner-family h3 {
	font-size: 1.375rem;
	transition: 0.25s color ease;
}
header#header div#menu div.banner-family p.sub {
	font-size: 0.875rem;
	line-height: 1.5rem;
}
header#header nav#navi-product {
	display: none;
	width: 100%;
	top: 85px;
}
body.fs-body-custom header#header nav#navi-product,
body.fs-body-category header#header nav#navi-product,
body.fs-body-product header#header nav#navi-product,
body.fs-body-search header#header nav#navi-product {
	display: block;
}
body.admin-bar header#header nav#navi-product {
	top: 117px;
}
header#header nav#navi-product::before {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
	background-color: #e6e5d9;
	content: "";
}
header#header nav#navi-product div.background {
	position: absolute;
	width: 100%;
	height: 100vh;
	left: 0px;
	top: 60px;
	border-top: 2px solid #ffffff;
	pointer-events: none;
	background-color: rgba(77, 75, 75, 0.75);
	content: "";
	opacity: 0;
	transition: 0.25s opacity ease;
}
header#header nav#navi-product.active div.background {
	opacity: 1;
}
header#header nav#navi-product div.list {
	display: flex;
	flex-wrap: wrap;
	position: relative;
	width: 1040px;
	height: 60px;
	z-index: 10;
	margin: auto;
}
header#header nav#navi-product div.list div.row {
	position: relative;
	width: 240px;
}
header#header nav#navi-product div.list div.row::before {
	position: absolute;
	width: 100%;
	height: 2px;
	left: 0px;
	bottom: -2px;
	background-color: #aca76e;
	content: "";
	opacity: 0;
	transition: 0.25s opacity ease, 0.25s transform ease;
	transform: scaleX(0);
}
header#header nav#navi-product div.list div.row:hover::before {
	opacity: 1;
	transform: scaleX(1);
}
header#header nav#navi-product div.list div.row p.headline {
	text-align: center;
	line-height: 1.25rem;
	cursor: pointer;
	padding-top: 10px;
}
header#header nav#navi-product div.list div.row p.headline span {
	display: block;
}
header#header nav#navi-product div.list div.row p.headline span.main {
	text-indent: 0.075em;
	font-family: archetype, serif;
	font-size: 1.125rem;
	color: #aca76e;
	letter-spacing: 0.075em;
}
header#header nav#navi-product div.list div.row p.headline span.sub {
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 0.875rem;
}
header#header nav#navi-product div.list div.row div.nest {
	position: absolute;
	width: 480px;
	height: 0px;
	left: 0px;
	top: 62px;
	overflow: hidden;
}
header#header nav#navi-product div.list div.row:nth-child(1) div.nest {
	width: 1040px;
	
	/* height: 100%;
	overflow:visible */
}
header#header nav#navi-product div.list div.row div.nest div.inner-nest {
	padding: 40px 60px;
	background-color: #f3f2ea;
}
header#header nav#navi-product div.list div.row:nth-child(1) div.nest div.list-nest {
	display: flex;
	flex-wrap: wrap;
	margin-right: -60px;
	padding: 40px 60px 10px;
	padding: 10px 0;
	/* justify-content: space-between; */
}

header#header nav#navi-product div.list div.row:nth-child(1) div.nest div.list-nest div.row-nest {
	margin-right: 50px;
	margin-bottom: 30px;
	width: calc(33% - 50px);
}
header#header nav#navi-product div.list div.row:nth-child(1) div.nest div.list-nest div.row-nest:nth-child(4) p br {
	display: none;
}
@media screen and (1024px < width) {
	header#header nav#navi-product div.list div.row:nth-child(1) div.nest div.list-nest div.row-nest {
		width: calc(33% - 50px) !important;
	}
	/* header#header nav#navi-product div.list div.row:nth-child(1) div.nest div.list-nest div.row-nest:nth-child(2) {
		width: calc(21% - 50px) !important;
	}
	header#header nav#navi-product div.list div.row:nth-child(1) div.nest div.list-nest div.row-nest:nth-child(2) ul {
		display: flex;
		flex-wrap: wrap;
	}
	header#header nav#navi-product div.list div.row:nth-child(1) div.nest div.list-nest div.row-nest:nth-child(2) ul li {
		width: 48%;
	} */
	header#header nav#navi-product div.list div.row:nth-child(1) div.nest div.list-nest div.row-nest:nth-child(3) {
		width: calc(25% - 50px) !important;
	}
	header#header nav#navi-product div.list div.row:nth-child(1) div.nest div.list-nest div.row-nest:nth-child(4) {
		width: calc(40% - 50px) !important;
	}
	header#header nav#navi-product div.list div.row:nth-child(1) div.nest div.list-nest div.row-nest:nth-child(4) ul + p {
		margin-top: 2rem;
	}
	header#header nav#navi-product div.list div.row:nth-child(1) div.nest div.list-nest div.row-nest:nth-child(5) {
		display: none;
	}
	/* header#header nav#navi-product div.list div.row:nth-child(1) div.nest div.list-nest div.row-nest:nth-child(n+5) p.headline-nest span.main,
	header#header nav#navi-product div.list div.row:nth-child(1) div.nest div.list-nest div.row-nest:nth-child(n+5) p.headline-nest span.sub{
		letter-spacing: 0.02rem !important;
	}
	header#header nav#navi-product div.list div.row:nth-child(1) div.nest div.list-nest div.row-nest:nth-child(5) {
		width: calc(35% - 50px) !important;
	}
	header#header nav#navi-product div.list div.row:nth-child(1) div.nest div.list-nest div.row-nest:nth-child(6) {
		width: calc(38% - 50px) !important;
	} */
	/* header#header nav#navi-product div.list div.row:nth-child(1) div.nest div.list-nest div.row-nest:nth-child(6) .headline-nest span.main {
		letter-spacing: .04rem;
	}
	header#header nav#navi-product div.list div.row:nth-child(1) div.nest div.list-nest div.row-nest:nth-child(7) {
		width: calc(29% - 50px) !important;
	}
	header#header nav#navi-product div.list div.row:nth-child(1) div.nest div.list-nest div.row-nest:nth-child(7) .headline-nest span.main {
		letter-spacing: .065rem;
	}
	header#header nav#navi-product div.list div.row:nth-child(1) div.nest div.list-nest div.row-nest:nth-child(7) .headline-nest span.main {
		letter-spacing: .065rem;
	}
	header#header nav#navi-product div.list div.row:nth-child(1) div.nest div.list-nest div.row-nest:nth-child(8) {
		width: calc(20.83% - 50px) !important;
	}
	header#header nav#navi-product div.list div.row:nth-child(1) div.nest div.list-nest div.row-nest:nth-child(9) {
		width: calc(28.33% - 50px) !important;
	} */

}
header#header nav#navi-product div.list div.row:nth-child(1) div.nest div.list-nest div.row-nest p.headline-nest {
	border-bottom: 1px solid #aba775;
	margin-bottom: 10px;
	padding-bottom: 5px;
}
header#header nav#navi-product div.list div.row:nth-child(1) div.nest div.list-nest div.row-nest p.headline-nest span {
	display: block;
}
header#header nav#navi-product div.list div.row:nth-child(1) div.nest div.list-nest div.row-nest p.headline-nest span.main {
	font-family: archetype, serif;
	font-size: 1.25rem;
	line-height: 1.25rem;
	color: #aca76e;
	letter-spacing: 0.075em;
	text-align: left;
	line-height: 1.4rem;
}
header#header nav#navi-product div.list div.row:nth-child(1) div.nest div.list-nest div.row-nest p.headline-nest span.sub {
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 0.75rem;
	line-height: 1rem;
}
header#header nav#navi-product div.list div.row div.nest ul.no-headline {
	border-top: 1px solid #aba775;
	margin-top: 20px;
	padding-top: 20px;
}
header#header nav#navi-product div.list div.row div.nest ul li {
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 0.875rem;
	line-height: 1.5rem;line-height: 1.3rem;
}
header#header nav#navi-product div.list div.row div.nest ul li:not(:last-child) {
	margin-bottom: 10px;
}
header#header nav#navi-product div.list div.row:nth-child(1) div.nest div.list-nest div.row-nest ul li:not(:last-child){
	margin-bottom: 5px;
}
header#header nav#navi-product div.search {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	position: absolute;
	height: 60px;
	right: calc(50% - 520px);
	top: 0px;
	z-index: 10;
}
header#header nav#navi-product div.search p.button-search {
	display: none;
}
header#header nav#navi-product div.search form {
	position: relative;
}
header#header nav#navi-product div.search form input[type=text] {
	width: 260px;
	height: 40px;
	line-height: 40px;
	border: none;
	padding: 0px 40px 0px 20px;
	border-radius: 20px;
}
header#header nav#navi-product div.search form button {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: absolute;
	width: 40px;
	height: 40px;
	right: 0px;
	top: 0px;
	font-family: "icon";
	font-size: 1.375rem;
	color: #aca76e;
	background-color: transparent;
}
header#header nav#navi-product div.search form button::before {
	content: "\e905";
}
header#header > div.shop {
	right: 40px;
	top: 27.5px;
	z-index: 30;
}
body.admin-bar header#header > div.shop {
	top: 59.5px;
}
header#header > div.shop ul {
	display: flex;
	flex-wrap: wrap;
}
header#header > div.shop ul li {
	font-size: 1.875rem;
	color: #aca76e;
}
header#header > div.shop ul li:not(:last-child) {
	margin-right: 30px;
}



/* --------------------------------------------------------------------------------
cover
-------------------------------------------------------------------------------- */

div#cover {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	position: relative;
	width: 100%;
	height: calc(100vh - 84px);
}
div.main div#cover {
	visibility: hidden;
}
div#cover div.image,
div#cover div.image p.row {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
}
div#cover div.image,
div#cover p.balloon,
div#cover p.button-scroll {
	opacity: 0;
	transition: 1s opacity ease-in-out;
}
div.active div#cover div.image,
div.active div#cover p.balloon,
div.active div#cover p.button-scroll {
	opacity: 1;
}
div#cover div.image p{
	margin-block:0;
}
div#cover div.image p.row {
	overflow: hidden;
}
div#cover div.image p.row img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	animation-duration: 7.5s;
	animation-iteration-count: 1;
	animation-timing-function: linear;
}
@keyframes cover {
	0% { transform: scale(1); }
	100% { transform: scale(1.075); }
}
div#cover h1 {
	position: absolute;
	width: 100%;
	width: 100%;
	right: 0;
	left: 0;
	margin-inline: auto;
	top: 0;
	z-index: 5;
}
div#cover h1 img{
	width: 100%;
}
div#cover.image-0 h1 span {
	opacity: 1;
}
div#cover p.button-scroll {
	position: absolute;
	width: 20px;
	height: 40px;
	left: calc((50% - 220px) / 2);
	bottom: 110px;
	z-index: 5;
	transition-delay: 1s;
	display: none;
}
 div#cover p.button-scroll a {
	display: block;
	position: relative;
	height: 100%;
}
div#cover p.button-scroll a::before,
div#cover p.button-scroll a::after {
	position: absolute;
	border-right: 1px solid #ffffff;
	content: "";
}
div#cover p.button-scroll a::before {
	width: 0px;
	height: 35px;
	left: calc(50% - 0.5px);
	top: 0px;
}
div#cover p.button-scroll a::after {
	width: 20px;
	height: 20px;
	left: calc(50% - 10px);
	bottom: 0px;
	border-top: 1px solid #ffffff;
	transform: rotate(135deg);
}
div#space-cover {
	height: 100vh;
}

div#cover.w-fix{
	width: 100svw;
	height: 57.16svw;
}
div#cover.w-fix div.image p.row img {
	object-fit:contain;
}
div.main div#cover.w-fix {
	visibility: visible;
}
@media ( width < 1024px ) {
	div#cover.w-fix{
		height: 171.5svw;
	}
}


/* --------------------------------------------------------------------------------
main
-------------------------------------------------------------------------------- */

main,
main section,
main section div.inner-section {
	position: relative;
}
main {
	background-color: #ffffff;
	z-index: 1;
	padding-top: 85px;
}
main nav.fs-c-breadcrumb {
	padding: 20px 40px 0px 40px;
}
main nav.fs-c-breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
}
main nav.fs-c-breadcrumb ol li {
	position: relative;
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 0.75rem;
	line-height: 1.5rem;
}
main nav.fs-c-breadcrumb ol li:not(:last-child) {
	margin-right: 20px;
}
main nav.fs-c-breadcrumb ol li:not(:last-child)::before {
	position: absolute;
	width: 0px;
	height: 10px;
	right: -10px;
	top: calc(50% - 5px);
	border-right: 1px solid #504946;
	content: "";
	transform: rotate(17.5deg);
}
main nav.fs-c-breadcrumb ol li a {
	transition: 0.25s color ease;
}
main nav.fs-c-breadcrumb ol li a:hover {
	color: #aba775;
}
main section div.inner-section {
	width: 1040px;
	margin: auto;
	padding: 100px 0px;
}
main section:nth-of-type(1) div.inner-section {
	padding-top: 80px;
	padding-top: 160px;
}
main section header {
	text-align: center;
	margin-bottom: 80px;
}
main section header h1,
main section header h2 {
	text-indent: 0.075em;
	font-family: archetype, serif;
	font-size: 1.875rem;
	line-height: 2.25rem;
	letter-spacing: 0.075em;
	color: #aca76e;
}
main section header h1.alternate {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	text-indent: 0em;
	font-family: ten-mincho-text, serif;
	font-size: 1.25rem;
	line-height: 1.875rem;
	color: #504946;
	letter-spacing: 0.05em;
}
main section header h1.alternate:not(:last-child) {
	margin-bottom: 40px;
}
main section header h1.alternate i.icon {
	display: inline-block;
	font-size: 3.5rem;
	line-height: 3.5rem;
	color: #aca76e;
	margin-right: 10px;
}
main section header p.description {
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 0.875rem;
	line-height: 1.5rem;
}
main section header nav#navi-sub ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: auto;
}
main section header nav#navi-sub ul li {
	text-align: center;
}
main section header nav#navi-sub ul li a {
	display: block;
	position: relative;
	padding: 10px;
}
main section header nav#navi-sub ul li a::before {
	position: absolute;
	width: 100%;
	left: 0px;
	bottom: 0px;
	border-bottom: 2px solid #aca76e;
	content: "";
	opacity: 0;
	transition: 0.25s opacity ease, 0.25s transform ease;
	transform: scaleX(0);
}
main section header nav#navi-sub ul li a:hover::before {
	opacity: 1;
	transform: scaleX(1);
}
main h2.headline {
	text-align: center;
	font-size: 1.25rem;
	margin-bottom: 60px;
}
main .banner-shop-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
main .banner-shop-list a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 280px;
	height: 220px;
	color: #ffffff;
	padding-top: 60px;
	background-color: #aca76e;
	transition: 0.25s background-color ease;
	clip-path: polygon(0% 80px, 50% 0%, 100% 80px, 100% 100%, 0% 100%);
}
main .banner-shop-list a:hover {
	background-color: rgba(172, 167, 110, 0.75);
}
main .banner-shop-list div.text {
	text-align: center;
}
main .banner-shop-list div.text p.icon {
	font-size: 1.875rem;
	margin-bottom: 10px;
}
main .banner-shop-list div.text h3 {
	text-indent: 0.075em;
	font-family: archetype, serif;
	font-size: 1.875rem;
	letter-spacing: 0.075em;
	margin-bottom: 5px;
}
main .banner-shop-list div.text p.sub {
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 0.875rem;
	line-height: 1.5rem;
	color: #504946;
}
main article.common div.body {
	font-family: yu-gothic-pr6n, sans-serif;
}
main article.common div.body a {
	text-decoration: underline;
}
main article.common div.body em {
	font-style: italic;
}
main article.common div.body blockquote {
	padding: 20px;
	background-color: #f2f1f1;
}
main article.common div.body ul li {
	position: relative;
	padding-left: 20px;
}
main article.common div.body ul li::before {
	position: absolute;
	width: 6px;
	height: 6px;
	left: 6px;
	top: 12px;
	background-color: #504946;
	content: "";
	border-radius: 50%;
}
main article.common div.body ol {
	padding-left: 20px;
}
main article.common div.body ol li {
	list-style-type: decimal;
}
main article.common div.body table {
	width: 100%;
}
main article.common div.body table th,
main article.common div.body table td {
	border: 1px solid #d3d1d1;
	padding: 10px;
}
main article.common div.body table th {
	background-color: #f2f1f1;
}
main article.common div.body img.alignleft {
	margin-left: 0px;
	margin-right: auto;
}
main article.common div.body img.alignright {
	margin-left: auto;
	margin-right: 0px;
}
main article.common div.body img.aligncenter {
	margin-left: auto;
	margin-right: auto;
}
main article.common div.body a.wp-block-button__link,
main article.common div.body a.wp-block-file__button {
	display: inline-block;
	height: 40px;
	text-decoration: none;
	font-size: 1rem;
	line-height: 38px;
	border: 1px solid #666666;
	padding: 0px 20px;
	background-color: #666666;
	border-radius: 20px;
	transition: 0.25s background-color ease;
}
main article.common div.body a.wp-block-button__link:hover,
main article.common div.body a.wp-block-file__button:hover {
	background-color: #000000;
}
main div#pager {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	line-height: 1rem;
	margin-top: 60px;
}
main div#pager span,
main div#pager a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	height: 30px;
	color: #aba775;
	border: 1px solid #aba775;
	transition: 0.25s color ease, 0.25s background-color ease;
}
main div#pager span,
main div#pager a:not(.prev):not(.next) {
	width: 30px;
}
main div#pager span:not(:last-child),
main div#pager a:not(:last-child) {
	margin-right: 10px;
}
main div#pager span.current,
main div#pager a:hover {
	color: #ffffff;
	background-color: #aba775;
}
main div#pager a.prev,
main div#pager a.next {
	padding: 0px 10px;
}

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

.fs-body-top div#button-menu {
	width: 85px;
	height: 85px;
	z-index: 30;
	cursor: pointer;
	position: fixed;
	top:0;
	left:0;
	z-index: 3000;
}
.fs-body-top div#button-menu i {
	display: block;
	position: absolute;
	border-bottom: 1px solid #eae9e9;
	width: 30px;
	height: 1px;
	left: calc(50% - 15px);
	top: calc(50% - 0.5px);
	transition: 0.25s all ease;
	transform-origin: 50% 50%;
}
body.menu-header.fs-body-top  div#button-menu i {
	border-color: #ffffff;
}
.fs-body-top div#button-menu i:nth-child(1) {
	transform: translateY(-7px);
}
.fs-body-top div#button-menu i:nth-child(2) {
	transform: translateY(7px);
}
body.menu-header.fs-body-top  div#button-menu i:nth-child(1),
body.menu-header.fs-body-top  div#button-menu i:nth-child(2),
body.menu-header.fs-body-top  div#button-menu i:nth-child(3) {
	width: 0px;
	left: 50%;
	opacity: 0;
	transform: translateY(0px);
}
body.menu-header.fs-body-top  div#button-menu i:nth-child(4) {
	transform: rotate(45deg);
}
body.menu-header.fs-body-top  div#button-menu i:nth-child(5) {
	transform: rotate(-45deg);
}


.fs-body-top div#page {
	padding-top: 86px;
}

body.home main section header h2:not(:last-child),
body.fs-body-top main section header h2:not(:last-child) {
	margin-bottom: 20px;
}
body.home main section header h3,
body.fs-body-top main section header h3,
main section#home-collection div.list div.row h3 {
	text-indent: 0.075em;
	font-family: archetype, serif;
	font-size: 2.25rem;
	line-height: 2.75rem;
	line-height: 2.95rem;
	letter-spacing: 0.075em;
}
body.home main section header p.sub,
body.fs-body-top main section header p.sub,
main section#home-information div.list div.row p.description,
main section#home-collection div.list div.row p.sub {
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 0.875rem;
	line-height: 1.5rem;
}
main section#home-information div.inner-section,
main section#home-theme div.inner-section {
	padding-bottom: 0px;
}
main section#home-information div.inner-section {
	width: 640px;
}
main section#home-information div.frame {
	border: 1px solid #cc3f3f;
	margin: auto;
	padding: 40px;
}
main section#home-information div.frame p.image {
	margin-bottom: 15px;
}
main section#home-information div.frame h2,
main section#home-information div.frame div.list div.row:not(:last-child) {
	margin-bottom: 30px;
}
main section#home-information div.frame h2 {
	text-align: center;
	text-indent: 0.075em;
	font-family: archetype, serif;
	font-size: 1.5rem;
	color: #cc3f3f;
	letter-spacing: 0.075em;
}
main section#home-information div.frame div.list div.row {
	text-align: center;
}
main section#home-information div.frame div.list div.row h3 {
	font-size: 1.125rem;
	margin-bottom: 10px;
}
/* main section#home-theme div.inner-section{
	background: url(https://jmmchocolate.itembox.design/item/images/2025/home-illust-1.png?v2) no-repeat calc(100% - 227px) bottom / 115px;
} */
main section#home-theme div.inner-section{
	padding-top: 105px;
}
main section#home-theme div.inner-section header{
	margin-bottom: 35px;
}
main section#home-theme p.description {
	text-align: center;
	line-height: 2.25rem;
}
main section#home-feature{
	padding-top: 80px;
}
main section#home-feature div.inner-section{
	padding-bottom: 40px;
}
main section#home-feature p.description {
  text-align: center;
  margin-bottom: 40px;
	letter-spacing: .14rem;
}
main section#home-feature p.image {
	width: 250px;
	margin: 0px auto 40px auto;
}

main section#home-brand header{
	margin-bottom: 50px;
}
main section#home-brand div.inner-section{
	/* padding-top: 200px; */
	padding-bottom: 0;
}
main section#home-brand p.image,
main section#home-brand p.description {
	margin: 0px auto 40px;
}
main section#home-brand p.image {
	width: 250px;
}
main section#home-brand p.description {
	width: 610px;
	letter-spacing: .16rem;
}

main section#home-cacao div.inner-section{
	background: url(https://jmmchocolate.itembox.design/item/images/2025/home-illust-1.png?v2) no-repeat calc(100% - 110px) top / 115px;
	padding-top: 240px;
}
main section#home-cacao header{
	margin-bottom: 0;
}
main section#home-cacao header h3{
	background: url(https://jmmchocolate.itembox.design/item/images/2026/home-cacao.png) no-repeat center center / cover;
}

main section#home-collection div.inner-section {
	padding-top: 0px;
}
main section#home-collection div.inner-section p.button-onlineshop{
	padding-block: 0 100px;
	
}
main section#home-collection header {
	margin-bottom: 60px;
}
main section#home-collection .content {
	overflow: hidden;
}
main section#home-collection div.list {
	display: flex;
	flex-wrap: wrap;
	margin: 0px -40px -120px;
	/* justify-content: center; */
}
main section#home-collection div.list div.row {
	width: calc(50% - 80px);
	text-align: center;
	margin: 0px 40px 120px 40px;
}
main section#home-collection div.list div.row p.sub {
	margin-block: 8px 10px;
}
main section#home-collection div.list div.row p.description {
	margin-bottom: 20px;
	height: 60px;
	letter-spacing: .1rem;
}
main section#home-collection div.list div.row p.description span {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	padding-bottom: 10px;
}
main section#home-collection div.list div.row p.image {
	margin-bottom: 35px !important;
}
main section#home-news div.inner-section {
	width: 640px;
}
body.home main section.banner-shop-list,
body.fs-body-top main section.banner-shop-list {
	margin-top: 40px;
	margin-bottom: 20px;
}
body.home main section.banner-shop-list div.inner-section,
body.fs-body-top main section.banner-shop-list div.inner-section {
	background: url(https://jmmchocolate.itembox.design/item/images/2025/home-illust-2.png?2) no-repeat 120px 110px / 235px;
	display: flex;
	justify-content: center;
	padding-top: 80px;
}
body.home main section.banner-shop-list div.inner-section header,
body.fs-body-top main section.banner-shop-list div.inner-section header {
	margin-bottom: 40px;
}
body.home main section.banner-shop-list div.inner-section, body.fs-body-top main section.banner-shop-list div.inner-section{
	padding-bottom: 130px;
}


main section#home-family {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: center;
	text-align: center;
}
main section#home-family a {
	display: block;
	transition: 0.25s background-color ease;
}
main section#home-family header{
	margin-bottom: 0;
}
main section#home-family header a {
	width: 408px;
	margin-inline: auto;
	padding-bottom: 20px;
}
main section#home-family header a:hover {
	opacity: .95;
}
main section#home-family header h2 {
	font-size: 20px;
	text-indent: 0.075em;
	color: #504946;
	letter-spacing: 0.075em;
	transition: 0.25s color ease;
	margin-bottom: 0;
}
main section#home-family header p.sub {
	font-size: 16px;
	margin-block: 3px;
	font-family: archetype, serif;
}
main section#home-family p.button-default a{
	display: flex;
	align-items: center;
	justify-content: center;
}


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

main section#news div.inner-section {
	width: 640px;
}
main div.list-news {
	margin-bottom: 40px;
}
main div.list-news div.row {
	display: flex;
	flex-wrap: wrap;
	border-bottom: 1px solid #aba775;
	padding: 30px 20px;
}
main div.list-news div.row:first-child {
	border-top: 1px solid #aba775;
}
main div.list-news div.row p.created,
main article.news header p.created {
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 0.875rem;
}
main div.list-news div.row p.created {
	width: 120px;
}
main div.list-news div.row h3 {
	width: calc(100% - 120px);
	font-size: 1rem;
}
main article.news {
	border-top: 1px solid #aba775;
	border-bottom: 1px solid #aba775;
	margin-bottom: 60px;
	padding: 40px 0px;
}
main article.news header {
	text-align: left;
	margin-bottom: 40px;
}
main article.news header h1 {
	display: block;
}

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

body.fs-body-product main, body.fs-body-category main, body.fs-body-search main{
	padding-top: 135px;
}
main div.fs-c-productList,
main div.fs-l-productLayout,
main section#recommend,
main nav#navi-product-alternate {
	width: 1040px;
	margin: auto;
	padding-top: 120px;
}
main div.fs-c-productList {
	opacity: 0;
	transition: 1s opacity ease-in-out;
}
div.active main div.fs-c-productList {
	opacity: 1;
}
main div.fs-c-productListItem__imageContainer a {
	display: block;
	aspect-ratio: 1;
}
main div.fs-c-productListItem__imageContainer img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
main div.fs-c-productList div#title {
	text-align: center;
	margin-bottom: 40px;
}
main div.fs-c-productList div#title h1 {
	font-size: 1.25rem;
}
main div.fs-c-productList div.fs-c-productList__controller {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
	justify-content: space-between;
	position: relative;
	z-index: 1;
	margin-bottom: 40px;
}
main div.fs-c-productList div.fs-c-productList__controller div.fs-c-sortItems {
	position: relative;
	width: 140px;
}
main div.fs-c-productList div.fs-c-productList__controller div.fs-c-sortItems span.fs-c-sortItems__label,
main div.fs-c-productList div.fs-c-productList__controller div.fs-c-sortItems ul li {
	position: relative;
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 0.875rem;
	line-height: 1.75rem;
	cursor: pointer;
}
main div.fs-c-productList div.fs-c-productList__controller div.fs-c-sortItems span.fs-c-sortItems__label {
	display: block;
	text-align: center;
	border: 1px solid #d3d1d1;
	border-radius: 2.5px;
}
main div.fs-c-productList div.fs-c-productList__controller div.fs-c-sortItems.open span.fs-c-sortItems__label {
	border-radius: 2.5px 2.5px 0px 0px;
}
main div.fs-c-productList div.fs-c-productList__controller div.fs-c-sortItems span.fs-c-sortItems__label::before {
	position: absolute;
	width: 6px;
	height: 6px;
	right: 10px;
	top: 10px;
	border-right: 1px solid #504946;
	border-top: 1px solid #504946;
	content: "";
	transform: rotate(135deg);
}
main div.fs-c-productList div.fs-c-productList__controller div.fs-c-sortItems ul {
	position: absolute;
	width: 100%;
	height: 0px;
	left: 0px;
	top: 30px;
	overflow: hidden;
	background-color: #ffffff;
	border-radius: 0px 0px 2.5px 2.5px;
}
main div.fs-c-productList div.fs-c-productList__controller div.fs-c-sortItems ul li {
	border-left: 1px solid #d3d1d1;
	border-right: 1px solid #d3d1d1;
}
main div.fs-c-productList div.fs-c-productList__controller div.fs-c-sortItems ul li:last-child {
	border-bottom: 1px solid #d3d1d1;
}
main div.fs-c-productList div.fs-c-productList__controller div.fs-c-sortItems ul li a,
main div.fs-c-productList div.fs-c-productList__controller div.fs-c-sortItems ul li span {
	display: block;
	position: relative;
	padding-left: 30px;
	transition: 0.25s background-color ease;
}
main div.fs-c-productList div.fs-c-productList__controller div.fs-c-sortItems ul li a:hover,
main div.fs-c-productList div.fs-c-productList__controller div.fs-c-sortItems ul li.is-active span {
	background-color: #f2f1f1;
}
main div.fs-c-productList div.fs-c-productList__controller div.fs-c-sortItems ul li a::before,
main div.fs-c-productList div.fs-c-productList__controller div.fs-c-sortItems ul li a::after,
main div.fs-c-productList div.fs-c-productList__controller div.fs-c-sortItems ul li span::before,
main div.fs-c-productList div.fs-c-productList__controller div.fs-c-sortItems ul li span::after {
	position: absolute;
	content: "";
	border-radius: 50%;
}
main div.fs-c-productList div.fs-c-productList__controller div.fs-c-sortItems ul li a::before,
main div.fs-c-productList div.fs-c-productList__controller div.fs-c-sortItems ul li span::before {
	width: 14px;
	height: 14px;
	left: 10px;
	top: 7px;
	border: 1px solid #504946;
}
main div.fs-c-productList div.fs-c-productList__controller div.fs-c-sortItems ul li a::after,
main div.fs-c-productList div.fs-c-productList__controller div.fs-c-sortItems ul li span::after {
	width: 8px;
	height: 8px;
	left: 13px;
	top: 10px;
	background-color: #504946;
	opacity: 0;
	transition: 0.25s opacity ease;
}
main div.fs-c-productList div.fs-c-productList__controller div.fs-c-sortItems ul li a:hover::after,
main div.fs-c-productList div.fs-c-productList__controller div.fs-c-sortItems ul li.is-active span::after {
	opacity: 1;
}
main div.fs-c-productList div.fs-c-productList__controller div.fs-c-listControl__status {
	font-size: 0.875rem;
}
main div.fs-c-productList div.fs-c-productList__list {
	display: flex;
	flex-wrap: wrap;
	margin: 0px -40px -60px 0px;
}
main div.fs-c-productList div.fs-c-productList__list article {
	width: calc(33.33% - 40px);
	text-align: center;
	margin: 0px 40px 60px 0px;
}
main div.fs-c-productList div.fs-c-productList__list article div.fs-c-productListItem__imageContainer {
	margin-bottom: 10px;
}
main div.fs-c-productList div.fs-c-productList__list article div.fs-c-productListItem__viewMoreImageButton {
	display: none;
}
main div.fs-c-productList div.fs-c-productList__list article h2 a {
	transition: 0.25s opacity ease;
}
main div.fs-c-productList div.fs-c-productList__list article h2 a:hover {
	opacity: 0.625;
}
main div.fs-c-productList div.fs-c-productList__list article h2 span {
	display: block;
}
main div.fs-c-productList div.fs-c-productList__list article h2 span.fs-c-productName__copy {
	font-size: 1.125rem;
	color: #aca76e;
	display: none;
}
main div.fs-c-productList div.fs-c-productList__list article h2 span.fs-c-productName__name {
	font-size: 1rem;
}
main div.fs-c-productList div.fs-c-productList__list article div.fs-c-productPrices,
main section#item-detail-head div#item-detail-info div.fs-c-productPrices,
main section#recommend div.fs-c-productListCarousel__list__itemTrack article div.fs-c-productPrices {
	display: flex;
	flex-wrap: wrap;
}
main div.fs-c-productList div.fs-c-productList__list article div.fs-c-productPrices,
main section#item-detail-head div#item-detail-info div.fs-c-productPrices {
	margin-bottom: 10px;
}
main div.fs-c-productList div.fs-c-productList__list article div.fs-c-productPrices,
main section#recommend div.fs-c-productListCarousel__list__itemTrack article div.fs-c-productPrices {
	justify-content: center;
}
main div.fs-c-productList div.fs-c-productList__list article div.fs-c-productPrices > span,
main section#item-detail-head div#item-detail-info div.fs-c-productPrices > span,
main section#recommend div.fs-c-productListCarousel__list__itemTrack article div.fs-c-productPrices > span {
	display: block;
}
main div.fs-c-productList div.fs-c-productList__list article div.fs-c-productPrices span.fs-c-productPrice__main,
main section#item-detail-head div#item-detail-info div.fs-c-productPrices span.fs-c-productPrice__main,
main section#recommend div.fs-c-productListCarousel__list__itemTrack article div.fs-c-productPrices span.fs-c-productPrice__main {
	font-family: fieldwork, sans-serif;
	font-weight: 200;
}
main div.fs-c-productList div.fs-c-productList__list article div.fs-c-productPrices span.fs-c-productPrice__main,
main section#item-detail-head div#item-detail-info div.fs-c-productPrices span.fs-c-productPrice__main,
main section#recommend div.fs-c-productListCarousel__list__itemTrack article div.fs-c-productPrices span.fs-c-productPrice__main {
	font-size: 1.25rem;
}
main div.fs-c-productList div.fs-c-productList__list article div.fs-c-productPrices span.fs-c-productPrice__addon,
main section#item-detail-head div#item-detail-info div.fs-c-productPrices span.fs-c-productPrice__addon,
main section#recommend div.fs-c-productListCarousel__list__itemTrack article div.fs-c-productPrices span.fs-c-productPrice__addon,
main div.fs-c-productList div.fs-c-productList__list article div.fs-c-productListItem__control a {
	font-family: yu-gothic-pr6n, sans-serif;
}
main div.fs-c-productList div.fs-c-productList__list article div.fs-c-productPrices span.fs-c-productPrice__addon,
main section#recommend div.fs-c-productListCarousel__list__itemTrack article div.fs-c-productPrices span.fs-c-productPrice__addon {
	font-size: 0.625rem;
}
main section#item-detail-head {
	position: relative;
	z-index: 1;
}
main section#item-detail-head div#item-detail-info div.fs-c-productPrices span.fs-c-productPrice__main {
	font-family: fieldwork, sans-serif;
	font-size: 1.5rem;
	font-weight: 200;
}
main section#item-detail-head div#item-detail-info div.fs-c-productPrices span.fs-c-productPrice__addon {
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 0.75rem;
}
main div.fs-c-productList div.fs-c-productList__list article div.fs-c-productListItem__control {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	position: relative;
}
main div.fs-c-productList div.fs-c-productList__list article div.fs-c-productListItem__control a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 140px;
	height: 40px;
	font-size: 0.875rem;
	border: 1px solid #aca76e;
	border-radius: 2.5px;
	transition: 0.25s color ease, 0.25s background-color ease;
}
main div.fs-c-productList div.fs-c-productList__list article div.fs-c-productListItem__control a:hover {
	color: #ffffff;
	background-color: #aca76e;
}
main div.fs-c-productList div.fs-c-productList__list article div.fs-c-productListItem__control button.fs-c-button--particular {
	position: absolute;
	width: auto;
	height: 40px;
	left: calc(50% + 90px);
	bottom: 0px;
	line-height: 40px;
	color: #504946;
	padding: 0px;
	background-color: transparent;
}
main div.fs-c-productList div.fs-c-productList__list article div.fs-c-productListItem__control button.fs-c-button--particular::before {
	font-family: "icon";
	font-size: 1.25rem;
	content: "\e904";
	transition: 0.25s color ease;
}
main div.fs-c-productList div.fs-c-productList__list article div.fs-c-productListItem__control button.fs-c-button--addToWishList--icon:hover::before,
main div.fs-c-productList div.fs-c-productList__list article div.fs-c-productListItem__control button.fs-c-button--addToWishList--detail:hover::before,
main div.fs-c-productList div.fs-c-productList__list article div.fs-c-productListItem__control button.fs-c-button--removeFromWishList--icon::before,
main div.fs-c-productList div.fs-c-productList__list article div.fs-c-productListItem__control button.fs-c-button--removeFromWishList--detail::before {
	color: #cc3f3f;
}
main div.fs-c-productList div.fs-c-productList__list article div.fs-c-productListItem__control button.fs-c-button--particular span {
	display: none;
}
main section#item-detail-head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 120px;
}
main section#item-detail-head div#item-detail-images {
	width: 520px;
}
main section#item-detail-head div#item-detail-images div.fs-c-productMainImage,
main section#item-detail-head div#item-detail-images div.fs-c-productThumbnail {
	display: none;
}
main section#item-detail-head div#item-detail-images div.image {
	position: relative;
	aspect-ratio: 1;
	margin-bottom: 20px;
}
main section#item-detail-head div#item-detail-images div.image p.row {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
}
main section#item-detail-head div#item-detail-images div.image p.row img,
main section#item-detail-head div#item-detail-images div.navi p.row img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
main section#item-detail-head div#item-detail-images div.navi {
	display: flex;
	flex-wrap: wrap;
	margin: 0px -5px -5px 0px;
}
main section#item-detail-head div#item-detail-images div.navi p.row {
	position: relative;
	aspect-ratio: 1;
	width: calc(16.66% - 5px);
	cursor: pointer;
	margin: 0px 5px 5px 0px;
}
main section#item-detail-head div#item-detail-images div.navi p.row::before {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
	background-color: #504946;
	content: "";
	opacity: 0;
	transition: 0.25s opacity ease;
	mix-blend-mode: multiply;
}
main section#item-detail-head div#item-detail-images div.navi p.row:hover::before,
main section#item-detail-head div#item-detail-images div.navi p.row.active::before {
	opacity: 0.375;
}
main section#item-detail-head div#item-detail-info {
	width: calc(100% - 600px);
}
main section#item-detail-head div#item-detail-info h1 {
	margin-bottom: 10px;
}
main section#item-detail-head div#item-detail-info h1 span {
	display: block;
}
main section#item-detail-head div#item-detail-info h1 span.fs-c-productNameHeading__copy {
	font-family: archetype, serif;
	font-size: 1.25rem;
	color: #aca76e;
	margin-bottom: 5px;
}
main section#item-detail-head div#item-detail-info h1 span.fs-c-productNameHeading__name {
	font-size: 1rem;
}
main section#item-detail-head div#item-detail-info div.fs-c-productMarks {
	margin-bottom: 20px;
}
main section#item-detail-head div#item-detail-info div.fs-c-productMarks ul {
	display: flex;
	flex-wrap: wrap;
}
main section#item-detail-head div#item-detail-info div.fs-c-productMarks ul li,
main section#item-detail-head div#item-detail-info div.fs-c-productPointDisplay,
main section#item-detail-head div#item-detail-info div.fs-c-productSalesPeriod {
	font-family: yu-gothic-pr6n, sans-serif;
}
main section#item-detail-head div#item-detail-info div.fs-c-productMarks ul li {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	height: 20px;
	font-size: 0.625rem;
	line-height: 1rem;
	border: 1px solid #d3d1d1;
	padding: 0px 10px;
	border-radius: 10px;
}
main section#item-detail-head div#item-detail-info div.fs-c-productMarks ul li:not(:last-child) {
	margin-right: 5px;
}
main section#item-detail-head div#item-detail-info div.fs-c-productPrices span.fs-c-productPrice__main {
	font-size: 1.5rem;
}
main section#item-detail-head div#item-detail-info div.fs-c-productPrices span.fs-c-productPrice__addon {
	font-size: 0.75rem;
}
main section#item-detail-head div#item-detail-info div.fs-c-productPointDisplay,
main section#item-detail-head div#item-detail-info div.fs-c-productSalesPeriod {
	font-size: 0.875rem;
}
main section#item-detail-head div#item-detail-info div.fs-c-productPointDisplay {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
main section#item-detail-head div#item-detail-info div.fs-c-productPointDisplay span {
	display: block;
}
main section#item-detail-head div#item-detail-info div.fs-c-productPointDisplay span.fs-c-productPointDisplay__label {
	width: 15px;
	height: 15px;
	margin-right: 5px;
	background-color: #cc3f3f;
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 50% 75%, 0% 100%);
}
main section#item-detail-head div#item-detail-info div.fs-c-productSalesPeriod span.fs-c-productSalesPeriod__label {
	font-feature-settings: normal;
}
main section#item-detail-head div#item-detail-info div.fs-c-productSalesPeriod span.fs-c-productSalesPeriod__label::after {
	content: "：";
}
main section#item-detail-head div#item-detail-info dl.fs-c-productSelection {
	padding-top: 20px;
}
main section#item-detail-head div#item-detail-info dl.fs-c-productSelection {
	width: 260px;
}
main section#item-detail-head div#item-detail-info dl.fs-c-productSelection dt {
	font-size: 0.875rem;
}
main section#item-detail-head div#item-detail-info dl.fs-c-productSelection dt span.fs-c-requiredMark {
	display: inline-block;
	font-size: 0.75rem;
	margin-left: 5px;
	transform: translateY(-1px);
}
main section#item-detail-head div#item-detail-info dl.fs-c-productSelection dd:not(:last-child) {
	margin-bottom: 30px;
}
main section#item-detail-head div#item-detail-info dl.fs-c-productSelection dd div.select-wrapper div.select-alternate {
	border: none;
	border-bottom: 1px solid #504946;
	border-radius: 0px;
}
main section#item-detail-head div#item-detail-info dl.fs-c-productSelection dd div.select-wrapper div.select-alternate p,
main section#item-detail-head div#item-detail-info dl.fs-c-productSelection dd div.select-wrapper div.select-alternate ul li {
	height: 40px;
	font-size: 0.875rem;
}
main section#item-detail-head div#item-detail-info dl.fs-c-productSelection dd div.select-wrapper div.select-alternate p {
	color: #d3d1d1;
	padding: 0px;
}
main section#item-detail-head div#item-detail-info dl.fs-c-productSelection dd div.select-wrapper div.select-alternate.active p {
	color: #504946;
}
main section#item-detail-head div#item-detail-info dl.fs-c-productSelection dd div.select-wrapper div.select-alternate p::before {
	position: absolute;
	width: 12px;
	height: 6px;
	right: 5px;
	top: 17px;
	background-color: #504946;
	content: "";
	clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
}
main section#item-detail-head div#item-detail-info dl.fs-c-productSelection dd div.select-wrapper div.select-alternate ul li {
	border-top: none;
	padding-left: 30px;
}
main section#item-detail-head div#item-detail-info dl.fs-c-productSelection dd div.select-wrapper div.select-alternate ul li[data-value=""] {
	display: none;
}
main section#item-detail-head div#item-detail-info dl.fs-c-productSelection dd div.select-wrapper div.select-alternate ul li::before {
	position: absolute;
	width: 12px;
	height: 6px;
	left: 10px;
	top: 15px;
	border-left: 1px solid #504946;
	border-bottom: 1px solid #504946;
	content: "";
	transition: 0.25s opacity ease;
	transform: rotate(-45deg);
	opacity: 0;
}
main section#item-detail-head div#item-detail-info dl.fs-c-productSelection dd div.select-wrapper div.select-alternate ul li:hover::before,
main section#item-detail-head div#item-detail-info dl.fs-c-productSelection dd div.select-wrapper div.select-alternate ul li.active::before {
	opacity: 1;
}
main section#item-detail-head div#item-detail-info div.fs-c-productQuantityAndWishlist {
	position: relative;
	margin-bottom: 20px;
	padding-top: 40px;
}
main section#item-detail-head div#item-detail-info div.fs-c-productQuantityAndWishlist span.fs-c-productQuantityAndWishlist__wishlist {
	position: absolute;
	left: 280px;
	bottom: -70px;
}
main section#item-detail-head div#item-detail-info div.fs-c-productQuantityAndWishlist span.fs-c-productQuantityAndWishlist__wishlist button {
	width: auto;
	height: 50px;
	font-size: 0rem;
	line-height: 50px;
	color: #504946;
	padding: 0px;
	background-color: transparent;
}
main section#item-detail-head div#item-detail-info div.fs-c-productQuantityAndWishlist span.fs-c-productQuantityAndWishlist__wishlist button::before {
	font-family: "icon";
	font-size: 1.25rem;
	content: "\e904";
	transition: 0.25s color ease;
}
main section#item-detail-head div#item-detail-info div.fs-c-productQuantityAndWishlist span.fs-c-productQuantityAndWishlist__wishlist button:hover::before,
main section#item-detail-head div#item-detail-info div.fs-c-productQuantityAndWishlist span.fs-c-productQuantityAndWishlist__wishlist button.fs-c-button--removeFromWishList--icon::before,
main section#item-detail-head div#item-detail-info div.fs-c-productQuantityAndWishlist span.fs-c-productQuantityAndWishlist__wishlist button.fs-c-button--removeFromWishList--detail::before {
	color: #cc3f3f;
}
main section#item-detail-head div#item-detail-info div.fs-c-productQuantityAndWishlist span.fs-c-productQuantityAndWishlist__quantity {
	display: flex;
	flex-wrap: wrap;
}
main section#item-detail-head div#item-detail-info div.fs-c-productQuantityAndWishlist span.fs-c-productQuantityAndWishlist__quantity::before {
	font-size: 0.875rem;
	line-height: 40px;
	margin-right: 10px;
	content: "数量";
}
main section#item-detail-head div#item-detail-info div.fs-c-productQuantityAndWishlist span.fs-c-productQuantityAndWishlist__quantity div.select-wrapper {
	width: 80px;
}
main section#item-detail-head div#item-detail-info div.fs-c-productQuantityAndWishlist span.fs-c-productQuantityAndWishlist__quantity div.select-wrapper div.select-alternate {
	border: none;
	border-radius: 0px;
}
main section#item-detail-head div#item-detail-info div.fs-c-productQuantityAndWishlist span.fs-c-productQuantityAndWishlist__quantity div.select-wrapper div.select-alternate p,
main section#item-detail-head div#item-detail-info div.fs-c-productQuantityAndWishlist span.fs-c-productQuantityAndWishlist__quantity div.select-wrapper div.select-alternate ul {
	border-radius: 2.5px;
}
main section#item-detail-head div#item-detail-info div.fs-c-productQuantityAndWishlist span.fs-c-productQuantityAndWishlist__quantity div.select-wrapper div.select-alternate p,
main section#item-detail-head div#item-detail-info div.fs-c-productQuantityAndWishlist span.fs-c-productQuantityAndWishlist__quantity div.select-wrapper div.select-alternate ul li {
	height: 40px;
	font-family: fieldwork, sans-serif;
	font-size: 1.25rem;
	font-weight: 200;
}
main section#item-detail-head div#item-detail-info div.fs-c-productQuantityAndWishlist span.fs-c-productQuantityAndWishlist__quantity div.select-wrapper div.select-alternate p {
	border: 1px solid #d3d1d1;
	padding-left: 29px;
}
main section#item-detail-head div#item-detail-info div.fs-c-productQuantityAndWishlist span.fs-c-productQuantityAndWishlist__quantity div.select-wrapper div.select-alternate ul {
	position: absolute;
	width: 100%;
	left: 0px;
	top: 0px;
	z-index: 1;
}
main section#item-detail-head div#item-detail-info div.fs-c-productQuantityAndWishlist span.fs-c-productQuantityAndWishlist__quantity div.select-wrapper div.select-alternate ul li {
	border-top: none;
	padding-left: 30px;
	background-color: #f2f1f1;
}
main section#item-detail-head div#item-detail-info div.fs-c-productQuantityAndWishlist span.fs-c-productQuantityAndWishlist__quantity div.select-wrapper div.select-alternate ul li:hover,
main section#item-detail-head div#item-detail-info div.fs-c-productQuantityAndWishlist span.fs-c-productQuantityAndWishlist__quantity div.select-wrapper div.select-alternate ul li.active {
	color: #ffffff;
	background-color: #504946;
}
main section#item-detail-head div#item-detail-info div.fs-c-productQuantityAndWishlist span.fs-c-productQuantityAndWishlist__quantity div.select-wrapper div.select-alternate ul li::before {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
	border: 4px solid #f2f1f1;
	content: "";
}
main section#item-detail-head div#item-detail-info div.fs-c-productQuantityAndWishlist span.fs-c-productQuantityAndWishlist__quantity div.select-wrapper div.select-alternate ul li:not(:last-child)::before {
	border-bottom: none;
}
main section#item-detail-head div#item-detail-info div.fs-c-productQuantityAndWishlist span.fs-c-productQuantityAndWishlist__quantity div.select-wrapper div.select-alternate ul li::after {
	position: absolute;
	width: 12px;
	height: 6px;
	left: 10px;
	top: 17px;
	border-left: 1px solid #ffffff;
	border-bottom: 1px solid #ffffff;
	content: "";
	transition: 0.25s opacity ease;
	transform: rotate(-45deg);
	opacity: 0;
}
main section#item-detail-head div#item-detail-info div.fs-c-productQuantityAndWishlist span.fs-c-productQuantityAndWishlist__quantity div.select-wrapper div.select-alternate ul li:hover::after,
main section#item-detail-head div#item-detail-info div.fs-c-productQuantityAndWishlist span.fs-c-productQuantityAndWishlist__quantity div.select-wrapper div.select-alternate ul li.active::after {
	opacity: 1;
}

.fs-c-productStock.fs-c-productStock--lowInStock{
	margin-top: 30px;
}
main section#item-detail-head div#item-detail-info div.fs-c-productStock.fs-c-productStock--lowInStock + div.fs-c-productQuantityAndWishlist{
	padding-top: 15px;
}

main section#item-detail-head div#item-detail-info div.fs-c-productActionButton button {
	width: 260px;
	height: 50px;
	margin-bottom: 10px;
}
main section#item-detail-head div#item-detail-info div.fs-c-productActionButton button.fs-c-button--addToCart--detail {
	background-color: #de852b;
}
main section#item-detail-head div#item-detail-info div.fs-c-productActionButton button.fs-c-button--addToCart--detail:hover {
	background-color: #e6a460;
}
main section#item-detail-head div#item-detail-info div.fs-c-productActionButton button.fs-c-button--addToCart--detail::after {
	display: inline-block;
	font-family: "icon";
	font-size: 1.25rem;
	content: "\e902";
	transform: translateY(1px);
}
main section#item-detail-head div#item-detail-info div.fs-c-productActionButton p.delivery {
	width: 260px;
	text-align: center;
	font-size: 0.75rem;
	line-height: 1.25rem;
}

main section#item-detail-head div#item-detail-info div.fs-c-productPreorderMessage p{
	font-size: .9rem;
}
main section#item-detail-body {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
main section#item-detail-body div#item-detail-bonbon {
	width: 520px;
	border-top: 2px dotted #aba775;
	border-bottom: 2px dotted #aba775;
	padding: 40px 0px;
}
main section#item-detail-body div#item-detail-bonbon h2,
main section#recommend div.fs-c-featuredProduct__header h2,
main nav#navi-product-alternate h2 {
	text-align: center;
	font-size: 1.125rem;
	margin-bottom: 40px;
}
main section#item-detail-body div#item-detail-bonbon h2::before,
main section#item-detail-body div#item-detail-bonbon h2::after,
main section#recommend div.fs-c-featuredProduct__header h2::before,
main section#recommend div.fs-c-featuredProduct__header h2::after,
main nav#navi-product-alternate h2::before,
main nav#navi-product-alternate h2::after {
	content: "〜";
}
main section#item-detail-body div#item-detail-bonbon h2::before,
main section#recommend div.fs-c-featuredProduct__header h2::before,
main nav#navi-product-alternate h2::before {
	margin-right: 5px;
}
main section#item-detail-body div#item-detail-bonbon h2::after,
main section#recommend div.fs-c-featuredProduct__header h2::after,
main nav#navi-product-alternate h2::after {
	margin-left: 5px;
}
main section#item-detail-body div#item-detail-bonbon p.notice,
main section#item-detail-body div#item-extrainfo h2,
main section#item-detail-body div#item-extrainfo table th,
main section#item-detail-body div#item-extrainfo table td {
	font-family: yu-gothic-pr6n, sans-serif;
}
main section#item-detail-body div#item-detail-bonbon p.notice,
main section#item-detail-body div.fs-p-productDescription,
main section#item-detail-body div.fs-p-productDescription {
	font-size: 0.875rem;
}
main section#item-detail-body div#item-detail-bonbon p.notice,
main section#item-detail-body div#item-detail-bonbon p.button-allergy {
	margin-bottom: 20px;
}
main section#item-detail-body div#item-detail-bonbon p.notice {
	text-align: center;
}
main section#item-detail-body div#item-detail-bonbon p.notice i.icon {
	display: inline-block;
	font-size: 1.875rem;
	color: #aca76e;
	margin-right: 5px;
	transform: translateY(6px);
}
main section#item-detail-body div#item-detail-bonbon p.button-allergy {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 0.75rem;
	line-height: 1rem;
}
main section#item-detail-body div#item-detail-bonbon p.button-allergy span {
	display: block;
	border: 1px dotted #aca76e;
	cursor: pointer;
	padding: 5px 10px;
	border-radius: 7.5px;
	transition: 0.25s opacity ease;
	opacity: 1;
}
main section#item-detail-body div#item-detail-bonbon p.button-allergy.open span {
	cursor: default;
	opacity: 0.5;
}
main section#item-detail-body > div:not(#item-detail-bonbon) {
	width: calc(100% - 600px);
}
main section#item-detail-body div.fs-p-productDescription {
	margin-bottom: 40px;
}
main section#item-detail-body div.fs-p-productDescription strong {
	font-size: 1.125rem;
}
main section#item-detail-body div#item-extrainfo h2 {
	margin-bottom: 10px;
}
main section#item-detail-body div#item-extrainfo table {
	width: 100%;
}
main section#item-detail-body div#item-extrainfo table th,
main section#item-detail-body div#item-extrainfo table td {
	font-size: 0.75rem;
	line-height: 1.25rem;
	border: 1px solid #d3d1d1;
	padding: 10px;
}
main section#item-detail-body div#item-extrainfo table th {
	width: 110px;
	background-color: #f2f1f1;
}
main section#recommend span.fs-c-productListCarousel__ctrl {
	display: none;
}
main section#recommend div.fs-c-productListCarousel__list__itemTrack {
	display: flex;
	flex-wrap: wrap;
	margin: 0px -40px -60px 0px;
}
main section#recommend div.fs-c-productListCarousel__list__itemTrack article {
	width: calc(33.33% - 40px);
	text-align: center;
	margin: 0px 40px 60px 0px;
}
main section#recommend div.fs-c-productListCarousel__list__itemTrack article div.fs-c-productListItem__imageContainer {
	margin-bottom: 10px;
}
main section#recommend div.fs-c-productListCarousel__list__itemTrack article h2 a {
	transition: 0.25s opacity ease;
}
main section#recommend div.fs-c-productListCarousel__list__itemTrack article h2 a:hover {
	opacity: 0.625;
}
main section#recommend div.fs-c-productListCarousel__list__itemTrack article h2 span {
	display: block;
}
main section#recommend div.fs-c-productListCarousel__list__itemTrack article h2 span.fs-c-productName__copy {
	font-size: 1.125rem;
	color: #aca76e;
}
main section#recommend div.fs-c-productListCarousel__list__itemTrack article h2 span.fs-c-productName__name {
	font-size: 1rem;
}
main section#recommend div.fs-c-productListCarousel__list__itemTrack article div.fs-c-productMarks,
main section#recommend div.fs-c-productListCarousel__list__itemTrack article div.fs-c-productListItem__salesPeriod,
main section#recommend div.fs-c-productListCarousel__list__itemTrack article div.fs-c-productListItem__control {
	display: none;
}
main nav#navi-product-alternate {
	padding-bottom: 120px;
}
main nav#navi-product-alternate div.list-nest {
	display: flex;
	flex-wrap: wrap;
	padding: 40px 40px 10px;
	background-color: #f3f2ea;
	justify-content: center;
}
main nav#navi-product-alternate div.list-nest div.row-nest {
	width: 25%;
	margin-bottom: 30px;
}
main nav#navi-product-alternate div.list-nest div.row-nest p.headline-nest {
	margin-bottom: 10px;
}
main nav#navi-product-alternate div.list-nest div.row-nest p.headline-nest span.main {
	display: none;
}
main nav#navi-product-alternate div.list-nest div.row-nest ul:not(:last-child) {
	margin-bottom: 20px;
}
main nav#navi-product-alternate div.list-nest div.row-nest ul li {
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 0.875rem;
	line-height: 1.5rem;
}
main nav#navi-product-alternate div.list-nest div.row-nest ul li:not(:last-child) {
	margin-bottom: 10px;
}
main nav#navi-product-alternate div.list-nest div.row-nest ul.no-headline {
	border-top: 1px solid #aba775;
	margin-top: 20px;
	padding-top: 20px;
}

/* main nav#navi-product-alternate div.list-nest div.row-nest:nth-child(2) ul {
	display: flex;
	flex-wrap: wrap;
}
main nav#navi-product-alternate div.list-nest div.row-nest:nth-child(2) ul li {
	width: 40%;
} */
main nav#navi-product-alternate div.list-nest div.row-nest:nth-child(2) {
	width: 35% !important;
}
main nav#navi-product-alternate div.list-nest div.row-nest:nth-child(3) {
	width: 28% !important;
}
main nav#navi-product-alternate div.list-nest div.row-nest:nth-child(4) {
	width: 37% !important;
}
main nav#navi-product-alternate div.list-nest div.row-nest:nth-child(5) {
	width: 35% !important;
}
main nav#navi-product-alternate div.list-nest div.row-nest:nth-child(6) {
	width: 65% !important;
}
/* main nav#navi-product-alternate div.list-nest div.row-nest:nth-child(7) {
	width: 25% !important;
}
main nav#navi-product-alternate div.list-nest div.row-nest:nth-child(8) {
	width: 28% !important;
} */
/* main nav#navi-product-alternate div.list-nest div.row-nest:nth-child(9) {
	width: 24% !important;
} */
/* main nav#navi-product-alternate div.list-nest div.row-nest:nth-child(2) {
	width: 30% !important;
}
main nav#navi-product-alternate div.list-nest div.row-nest:nth-child(3) {
	width: 36.666% !important;
}
main nav#navi-product-alternate div.list-nest div.row-nest:nth-child(5) {
	width: 33% !important;
}
main nav#navi-product-alternate div.list-nest div.row-nest:nth-child(6) {
	width: 14% !important;
}
main nav#navi-product-alternate div.list-nest div.row-nest:nth-child(7) {
	width: 25% !important;
}
main nav#navi-product-alternate div.list-nest div.row-nest:nth-child(8) {
	width: 28% !important;
} */

main section#product div.block {
	position: relative;
}
main section#product div.block:not(:last-child) {
	margin-bottom: 120px;
}
main section#product div.block::before {
	position: absolute;
	width: calc(100% - 680px);
	height: 0px;
	bottom: 0px;
	border-bottom: 1px solid #aba775;
	content: "";
	transition: 0.25s width ease, 0.25s left ease, 0.25s right ease;
}
main section#product div.block.open::before {
	width: 100%;
}
main section#product div.block:nth-child(2n+1)::before {
	right: 40px;
}
main section#product div.block:nth-child(2n)::before {
	left: 40px;
}
main section#product div.block.open:nth-child(2n+1)::before {
	right: 0px;
}
main section#product div.block.open:nth-child(2n)::before {
	left: 0px;
}
main section#product div.block div.image-text {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
main section#product div.block:nth-child(2n+1) div.image-text {
	padding-right: 40px;
}
main section#product div.block:nth-child(2n) div.image-text {
	flex-direction: row-reverse;
	padding-left: 40px;
}
main section#product div.block div.image-text p.image {
	width: 600px;
}
main section#product div.block div.image-text div.text {
	width: calc(100% - 640px);
}
main section#product div.block div.image-text div.text h2,
main section#product div.block div.image-text div.text p.sub,
main section#product div.block div.image-text div.text p.headline {
	text-align: center;
}
main section#product div.block div.image-text div.text h2,
main section#product div.block p.label span.main {
	text-indent: 0.075em;
	font-family: archetype, serif;
	letter-spacing: 0.075em;
}
main section#product div.block div.image-text div.text h2 {
	font-size: 2.75rem;
	line-height: 3.25rem;
}
main section#product div.block div.image-text div.text p.sub,
main section#product div.block div.image-text div.text p.headline {
	margin-bottom: 40px;
}
main section#product div.block div.image-text div.text p.sub,
main section#product div.block p.label {
	font-family: yu-gothic-pr6n, sans-serif;
}
main section#product div.block div.image-text div.text p.sub {
	font-size: 0.875rem;
}
main section#product div.block p.label {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: relative;
	width: calc(100% - 680px);
	height: 80px;
	z-index: 1;
	font-size: 0.875rem;
	border-top: 1px solid #aba775;
	cursor: pointer;
	padding-bottom: 30px;
	transition: 0.25s color ease;
}
main section#product div.block:nth-child(2n+1) p.label {
	margin: -80px 40px 0px auto;
}
main section#product div.block:nth-child(2n) p.label {
	margin: -80px auto 0px 40px;
}
main section#product div.block p.label:hover {
	color: #aba775;
}
main section#product div.block p.label span.main,
main section#product div.block p.label span.main {
	display: block;
}
main section#product div.block p.label span.main {
	font-size: 1.125rem;
	margin-right: 10px;
}
main section#product div.block p.label span.sub {
	font-family: ten-mincho-text, serif;
	transform: translateY(-1px);
}
main section#product div.block p.label span.arrow {
	position: absolute;
	width: 30px;
	height: 30px;
	left: calc(50% - 15px);
	bottom: 10px;
}
main section#product div.block p.label span.arrow i.icon {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
	font-size: 1.875rem;
	transition: 0.25s opacity ease-in-out;
}
main section#product div.block.open p.label span.arrow i.icon:nth-child(1),
main section#product div.block p.label span.arrow i.icon:nth-child(2) {
	opacity: 0;
}
main section#product div.block.open p.label span.arrow i.icon:nth-child(2) {
	opacity: 1;
}
main section#product div.block div.collapse {
	height: 0px;
	overflow: hidden;
}
main section#product div.block div.collapse div.inner-collapse {
	padding: 20px;
}
main section#product div.block div.fs-c-productList {
	padding-bottom: 60px;
}
main section#product div.block div.collapse p.button-close {
	position: relative;
	width: 30px;
	height: 30px;
	cursor: pointer;
	margin: auto;
}
main section#product div.block div.collapse p.button-close::before,
main section#product div.block div.collapse p.button-close::after {
	position: absolute;
	width: 30px;
	height: 0px;
	left: calc(50% - 15px);
	top: calc(50% - 0.5px);
	border-bottom: 1px solid #504946;
	content: "";
}
main section#product div.block div.collapse p.button-close::before {
	transform: rotate(45deg);
}
main section#product div.block div.collapse p.button-close::after {
	transform: rotate(-45deg);
}
body.fs-body-search main section#search-result{
	margin-bottom: 0;
}

/* chocolat
-------------------------------------------------------------------------------- */

main div.list-chocolat,
main div.list-chocolat-alternate {
	display: flex;
	flex-wrap: wrap;
	margin: 0px -40px -40px 0px;
}
body.single-chocolat main div.list-chocolat {
	justify-content: center;
}
main div.list-chocolat div.row,
main div.list-chocolat-alternate div.row {
	font-family: yu-gothic-pr6n, sans-serif;
	margin: 0px 40px 40px 0px;
}
main div.list-chocolat div.row {
	width: calc(50% - 40px);
}
main div.list-chocolat div.row div.header,
main div.list-chocolat-alternate div.row div.header,
main div.list-chocolat-alternate p.description,
main div.list-chocolat-alternate p.cacao,
main div.list-chocolat-alternate p.product {
	display: none;
}
main div.list-chocolat div.row div.image-text-row p.image span.new,
main div.list-chocolat-alternate div.row div.image-text-row p.image span.new {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0px;
	font-family: ariana-pro, sans-serif;
	color: #cc3f3f;
	border: 1px solid #cc3f3f;
}
main div.list-chocolat div.row div.image-text-row p.image span.new {
	width: 50px;
	height: 20px;
	left: calc(50% - 25px);
	font-size: 0.875rem;
	line-height: 0.875rem;
	padding-bottom: 2px;
	border-radius: 10px;
}
main div.list-chocolat div.row div.image-text-row p.image,
main div.list-chocolat-alternate div.row div.image-text-row p.image {
	position: relative;
	overflow: visible;
}
main div.list-chocolat div.row div.image-text-row p.image {
	padding-top: 25px;
}
main div.list-chocolat div.row div.image-text-row p.image img,
main div.list-chocolat-alternate div.row div.image-text-row p.image img {
	width: 120px;
	height: auto;
	margin: auto;
}
main div.list-chocolat div.row div.image-text-row p.image span.feature,
main div.list-chocolat-alternate div.row div.image-text-row p.image span.feature {
	position: absolute;
	z-index: 1;
	background-repeat: no-repeat;
	background-position: center;
	background-size: auto 100%;
}
main div.list-chocolat div.row div.image-text-row p.image span.feature {
	width: calc(111px * 0.875);
	height: calc(42px * 0.875);
	right: 0px;
	top: 55px;
}
main div.list-chocolat div.row div.image-text-row p.image span.feature-0,
main div.list-chocolat-alternate div.row div.image-text-row p.image span.feature-0 {
	background-image: url(https://jmmchocolate.itembox.design/item/images/chocolat-icon-feature-01.svg);
}
main div.list-chocolat div.row div.image-text-row p.image span.feature-1,
main div.list-chocolat-alternate div.row div.image-text-row p.image span.feature-1 {
	background-image: url(https://jmmchocolate.itembox.design/item/images/chocolat-icon-feature-02.svg);
}
main div.list-chocolat div.row div.image-text-row p.image span.feature-2,
main div.list-chocolat-alternate div.row div.image-text-row p.image span.feature-2 {
	background-image: url(https://jmmchocolate.itembox.design/item/images/chocolat-icon-feature-03.svg);
}
main div.list-chocolat div.row div.image-text-row div.text-row div.header-alternate,
main div.list-chocolat-alternate div.row div.image-text-row div.text-row div.header-alternate {
	text-align: center;
}
main div.list-chocolat div.row div.image-text-row div.text-row div.header-alternate {
	margin-bottom: 20px;
}
main div.list-chocolat div.row div.image-text-row div.text-row div.header-alternate p.headline,
main div.list-chocolat-alternate div.row div.image-text-row div.text-row div.header-alternate p.headline {
	font-family: ariana-pro, sans-serif;
	color: #aca76e;
	margin-bottom: 5px;
}
main div.list-chocolat div.row div.image-text-row div.text-row div.header-alternate p.headline {
	font-size: 1.25rem;
	margin-bottom: 10px;
}
main div.list-chocolat div.row-liqueur div.image-text-row div.text-row div.header-alternate p.headline::after {
	font-family: "icon";
	font-size: 1rem;
	margin-left: 5px;
	content: "\e911";
	transform: translateY(1px);
}
main div.list-chocolat div.row div.image-text-row div.text-row div.header-alternate p.sub {
	font-size: 0.875rem;
	line-height: 1.25rem;
}
main div.list-chocolat div.row div.image-text-row div.text-row p.description,
main div.list-chocolat div.row div.image-text-row div.text-row p.cacao {
	font-size: 0.875rem;
	line-height: 1.5rem;
	margin-bottom: 10px;
}
main div.list-chocolat div.row div.image-text-row div.text-row p.cacao {
	text-align: center;
}
main div.list-chocolat div.row div.image-text-row div.text-row p.product {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding-top: 20px;
}
main div.list-chocolat div.row div.image-text-row div.text-row p.product a,
main div.list-chocolat div.row div.image-text-row div.text-row p.product a::after,
main div.list-chocolat div.row div.image-text-row div.text-row p.product span::before,
main div.list-chocolat div.row div.image-text-row div.text-row p.product span::after {
	transition: 0.25s color ease, 0.25s border-color ease;
}
main div.list-chocolat div.row div.image-text-row div.text-row p.product a:hover,
main div.list-chocolat div.row div.image-text-row div.text-row p.product a:hover::after,
main div.list-chocolat div.row div.image-text-row div.text-row p.product a:hover span::before,
main div.list-chocolat div.row div.image-text-row div.text-row p.product a:hover span::after {
	border-color: #aca76e;
}
main div.list-chocolat div.row div.image-text-row div.text-row p.product a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 240px;
	height: 40px;
	font-size: 0.875rem;
	line-height: 1.5rem;
	border: 1px solid #504946;
	margin: auto;
	padding-right: 10px;
	border-radius: 20px;
}
main div.list-chocolat div.row div.image-text-row div.text-row p.product a::before,
main div.list-chocolat div.row div.image-text-row div.text-row p.product a::after {
	position: absolute;
	width: 20px;
	height: 0px;
	right: 30px;
	top: -1px;
	content: "";
}
main div.list-chocolat div.row div.image-text-row div.text-row p.product a::before {
	border-bottom: 1px solid #ffffff;
}
main div.list-chocolat div.row div.image-text-row div.text-row p.product a::after {
	border-bottom: 1px solid #504946;
	transform-origin: left bottom;
	transform: rotate(-45deg);
}
main div.list-chocolat div.row div.image-text-row div.text-row p.product span {
	position: absolute;
	width: 10px;
	height: 10px;
	right: 10px;
	top: calc(50% - 5px);
}
main div.list-chocolat div.row div.image-text-row div.text-row p.product span::before,
main div.list-chocolat div.row div.image-text-row div.text-row p.product span::after {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
	border-right: 1px solid #504946;
	border-top: 1px solid #504946;
	content: "";
}
main div.list-chocolat div.row div.image-text-row div.text-row p.product span::before {
	transform: translateX(-10px) rotate(45deg);
}
main div.list-chocolat div.row div.image-text-row div.text-row p.product span::after {
	transform: translateX(-5px) rotate(45deg);
}
main div.list-chocolat-alternate div.row {
	width: calc(33.33% - 40px);
	cursor: pointer;
}
main div.list-chocolat-alternate div.row div.image-text-row p.image span.new {
	width: 45px;
	height: 16px;
	left: 0px;
	font-size: 0.625rem;
	line-height: 0.625rem;
	padding-bottom: 1px;
	border-radius: 7.5px;
}
main div.list-chocolat-alternate div.row div.image-text-row p.image {
	padding-top: 55px;
}
main div.list-chocolat-alternate div.row-liqueur div.image-text-row p.image::before {
	position: absolute;
	left: calc(50% + 50px);
	bottom: 20px;
	font-family: "icon";
	font-size: 1.25rem;
	color: #aca76e;
	content: "\e911";
}
main div.list-chocolat-alternate div.row div.image-text-row p.image span.feature {
	width: 100%;
	height: 42px;
	left: 0px;
	top: 15px;
}
main div.list-chocolat-alternate div.row div.image-text-row div.text-row div.header-alternate p.headline {
	font-size: 0.875rem;
	line-height: 1.125rem;
	margin-bottom: 5px;
}
main div.list-chocolat-alternate div.row div.image-text-row div.text-row div.header-alternate p.sub {
	font-size: 0.75rem;
	line-height: 1rem;
}
main div.list-chocolat-alternate div.row div.image-text-row div.text-row div.allergy {
	height: 0px;
	overflow: hidden;
	text-align: center;
	font-size: 0.75rem;
	line-height: 1rem;
}
main div.list-chocolat-alternate div.row div.image-text-row div.text-row div.allergy div.inner-allergy {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	min-height: calc(2rem + 10px);
	border: 1px dotted #aca76e;
	margin-top: 10px;
	padding: 5px 10px;
	border-radius: 7.5px;
}
main div.list-chocolat-alternate div.row div.image-text-row div.text-row div.allergy p.label-alternate {
	display: none;
}


/* ボンボンショコラ 2025〜 */
main section#chocolat{
	min-height: 600px;
}
main section#chocolat div.custom-select {
  width: 300px;
	margin-inline: auto;
  border: 1px solid #aaa;
  position: relative;
  cursor: pointer;
  user-select: none;
}

.custom-select .selected {
  padding: 8px 8px 8px 16px;
  background: #fff;
}

.custom-select .selected h2{
	font-size: .9rem;
}
.custom-select .selected p{
	font-size: .75rem;
	margin: 0 0 0 .6rem;
}
.custom-select .selected::after {
	font-size: 11px;
	content: "▼";
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
	transition: transform 0.2s;
	pointer-events: none;
}
.custom-select.active .selected::after {
	content: "▲";
}

.custom-select ul {
  position: absolute;
  border: 1px solid #aaa;
  background: #fff;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
	z-index: 100;
}

.custom-select ul li {
  padding: 8px 8px 8px 16px;
}
.custom-select ul li.is-current {
    background: #f9f9f9 !important;
}
.custom-select ul li:hover {
  background: #eee;
}

.hidden {
  display: none;
}

main section#chocolat div.custom-select ul {
  position: absolute;
  border: 1px solid #aaa;
  background: #fff;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
main section#chocolat div.custom-select ul li,
.custom-select .selected {
	display: flex;
}

main section#chocolat div.custom-select ul li:hover{
  background: #eee;
}

.hidden {
  display: none;
}
main section#chocolat div.custom-select ul li h2{
	font-size: .9rem;
}
main section#chocolat div.custom-select ul li p{
	font-size: .75rem;
	margin: 0 0 0 .6rem;
}
body.bonbon-chocolate div#modal section.slide-chocolat div.list div.row p.product{
	display: block;
}
body.bonbon-chocolate div#modal section.slide-chocolat div.list div.row p.product {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding-top: 20px;
	margin-top: 20px;
}
body.bonbon-chocolate div#modal section.slide-chocolat div.list div.row p.product a,
body.bonbon-chocolate div#modal section.slide-chocolat div.list div.row p.product a::after,
body.bonbon-chocolate div#modal section.slide-chocolat div.list div.row p.product span::before,
body.bonbon-chocolate div#modal section.slide-chocolat div.list div.row p.product span::after {
	transition: 0.25s color ease, 0.25s border-color ease;
}
body.bonbon-chocolate div#modal section.slide-chocolat div.list div.row p.product a:hover,
body.bonbon-chocolate div#modal section.slide-chocolat div.list div.row p.product a:hover::after,
body.bonbon-chocolate div#modal section.slide-chocolat div.list div.row p.product a:hover span::before,
body.bonbon-chocolate div#modal section.slide-chocolat div.list div.row p.product a:hover span::after {
	border-color: #aca76e;
}
body.bonbon-chocolate div#modal section.slide-chocolat div.list div.row p.product a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 240px;
	height: 40px;
	font-size: 0.875rem;
	line-height: 1.5rem;
	border: 1px solid #504946;
	margin: auto;
	padding-right: 10px;
	border-radius: 20px;
}
body.bonbon-chocolate div#modal section.slide-chocolat div.list div.row p.product a::before,
body.bonbon-chocolate div#modal section.slide-chocolat div.list div.row p.product a::after {
	position: absolute;
	width: 20px;
	height: 0px;
	right: 30px;
	top: -1px;
	content: "";
}
body.bonbon-chocolate div#modal section.slide-chocolat div.list div.row p.product a::before {
	border-bottom: 1px solid #ffffff;
}
body.bonbon-chocolate div#modal section.slide-chocolat div.list div.row p.product a::after {
	border-bottom: 1px solid #504946;
	transform-origin: left bottom;
	transform: rotate(-45deg);
}
body.bonbon-chocolate div#modal section.slide-chocolat div.list div.row p.product span {
	position: absolute;
	width: 10px;
	height: 10px;
	right: 10px;
	top: calc(50% - 5px);
}
body.bonbon-chocolate div#modal section.slide-chocolat div.list div.row p.product span::before,
body.bonbon-chocolate div#modal section.slide-chocolat div.list div.row p.product span::after {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
	border-right: 1px solid #504946;
	border-top: 1px solid #504946;
	content: "";
}
body.bonbon-chocolate div#modal section.slide-chocolat div.list div.row p.product span::before {
	transform: translateX(-10px) rotate(45deg);
}
body.bonbon-chocolate div#modal section.slide-chocolat div.list div.row p.product span::after {
	transform: translateX(-5px) rotate(45deg);
}
body.bonbon-chocolate main section#item-detail-body div#item-detail-bonbon{
	width: 100%;
}
body.bonbon-chocolate main div.list-chocolat-alternate div.row{
	width: calc(20% - 40px);
}
body.bonbon-chocolate main section#item-detail-body div#item-detail-bonbon{
	border: 0;
}
/* main div.list-chocolat-alternate div.row {
	width: calc(33.33% - 40px);
	cursor: pointer;
} */
/* .inner-list {
    pointer-events: none !important;
} */
/* row はクリックできるようにする */
.inner-list .row {
    pointer-events: auto !important;
}


/* ボンボンショコラ 〜2025 */
main section#chocolat div.inner-section {
	width: 1040px;
}
main section#chocolat div.block:not(:last-child) {
	margin-bottom: 80px;
}
main section#chocolat div.block div.image-text {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
main section#chocolat div.block div.image-text div.text,
main section#chocolat div.block div.image-text p.image {
	width: 50%;
}
main section#chocolat div.block div.image-text div.text {
	text-align: center;
}
main section#chocolat div.block div.image-text div.text h2 {
	text-indent: 0.075em;
	font-family: archetype, serif;
	font-size: 1.75rem;
	line-height: 2.25rem;
	letter-spacing: 0.075em;
}
main section#chocolat div.block div.image-text div.text h2::before {
	margin-right: 10px;
	content: "〈";
}
main section#chocolat div.block div.image-text div.text h2::after {
	margin-left: 10px;
	content: "〉";
}
main section#chocolat div.block div.image-text div.text p.sub {
	font-size: 0.875rem;
	margin-bottom: 10px;
}
main section#chocolat div.block p.label {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	position: relative;
	height: 60px;
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 0.875rem;
	line-height: 1.5rem;
	border-top: 1px solid #aba775;
	cursor: pointer;
	padding-left: 20px;
	transition: 0.25s color ease;
}
main section#chocolat div.block p.label:hover {
	color: #aba775;
}
main section#chocolat div.block p.label span {
	position: absolute;
	width: 30px;
	height: 30px;
	right: 10px;
	top: calc(50% - 15px);
}
main section#chocolat div.block p.label span i.icon {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
	font-size: 1.875rem;
	transition: 0.25s opacity ease-in-out;
}
main section#chocolat div.block.open p.label span i.icon:nth-child(1),
main section#chocolat div.block p.label span i.icon:nth-child(2) {
	opacity: 0;
}
main section#chocolat div.block.open p.label span i.icon:nth-child(2) {
	opacity: 1;
}
main section#chocolat div.block div.collapse {
	height: 0px;
	overflow: hidden;
	border-bottom: 1px solid #aba775;
}
main section#chocolat div.block div.collapse div.inner-collapse {
	padding: 20px;
}
main section#chocolat div.block div.list-chocolat {
	padding-bottom: 20px;
}
main section#chocolat div.block div.list-chocolat div.row div.text-row div.allergy {
	display: none;
}
main section#chocolat div.block div.collapse p.button-close {
	position: relative;
	width: 30px;
	height: 30px;
	cursor: pointer;
	margin: auto;
}
main section#chocolat div.block div.collapse p.button-close::before,
main section#chocolat div.block div.collapse p.button-close::after {
	position: absolute;
	width: 30px;
	height: 0px;
	left: calc(50% - 15px);
	top: calc(50% - 0.5px);
	border-bottom: 1px solid #504946;
	content: "";
}
main section#chocolat div.block div.collapse p.button-close::before {
	transform: rotate(45deg);
}
main section#chocolat div.block div.collapse p.button-close::after {
	transform: rotate(-45deg);
}

/* brand
-------------------------------------------------------------------------------- */

body.brand.cacao main,
body.brand.material main,
body.brand.tasting main {
	background-color: #f3f2ea;
}
main div#brand-title {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	height: 80px;
	color: #ffffff;
	background-color: #d79c0a;
}
main div#brand-title h1 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	font-family: ariana-pro, sans-serif;
	font-size: 1.5rem;
}
main div#brand-title h1 span {
	display: block;
}
main div#brand-title h1 span:not(:last-child) {
	margin-right: 10px;
}
main section#brand div.inner-section {
	width: auto;
}
main section#brand header h1 {
	margin-bottom: 60px;
}
main section#brand header nav#navi-sub ul {
	width: 720px;
}
main section#brand header nav#navi-sub ul li {
	width: 140px;
}
main section#brand header nav#navi-sub ul li span {
	display: block;
}
main section#brand header nav#navi-sub ul li span.main,
main section#brand div.block div.header p.headline,
main section#brand div.block div.header h2 {
	text-indent: 0.075em;
	font-family: archetype, serif;
	letter-spacing: 0.075em;
}
main section#brand header nav#navi-sub ul li span.main {
	font-size: 1.25rem;
	color: #aca76e;
}
main section#brand header nav#navi-sub ul li span.sub,
main section#brand div.block div.header p.sub,
main section#brand div.block div.list div.row div.text p.description,
main section#brand div.block div.list div.row p.image span {
	font-family: yu-gothic-pr6n, sans-serif;
}
main section#brand header nav#navi-sub ul li span.sub,
main section#brand div.block div.header p.sub,
main section#brand div.block div.list div.row p.image span {
	font-size: 0.75rem;
}
main section#brand header nav#navi-sub ul li span.sub,
main section#brand div.block div.header p.sub{
	line-height: 1rem;
}
main section#brand div.block:not(:last-child) {
	margin-bottom: 120px;
}
main section#brand div.block div.header,
main section#brand div.block div.header p.image {
	margin-bottom: 60px;
}
main section#brand div.block div.header {
	text-align: center;
}
main section#brand div.block div.header p.headline {
	font-size: 1.25rem;
	color: #aca76e;
}
main section#brand div.block div.header h2 {
	font-size: 2.25rem;
	line-height: 2.75rem;
}
main section#brand div.block div.list {
	width: 720px;
	margin: auto;
}
main section#brand div.block div.list div.row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
main section#brand div.block div.list div.row:not(:last-child) {
	margin-bottom: 40px;
}
main section#brand div.block div.list div.row div.text {
	width: calc(100% - 290px);
}
main section#brand div.block div.list div.row-header div.text {
	width: 100%;
}
main section#brand div.block div.list div.row div.text h3 {
	font-size: 1.25rem;
	margin-bottom: 20px;
}
main section#brand div.block div.list div.row div.text p.description {
	font-size: 0.875rem;
	line-height: 1.5rem;
}
main section#brand div.block div.list div.row p.image {
	width: 250px;
	padding-top: 50px;
}
main section#brand div.block div.list div.row p.image img:not(:last-child) {
	margin-bottom: 10px;
}
main section#brand div.block div.list div.row p.image span {
	display: block;
	line-height: 1.25rem;
}
main section#cacao div.inner-section,
main section#material div.inner-section,
main section#tasting div.inner-section {
	padding-top: 20px;
}
main section#cacao {
	background: url(https://jmmchocolate.itembox.design/item/images/2025/brand-cacao-background.svg) no-repeat center 200px;
	background-size: auto 501px;
}
main section#cacao header.header-2025 {
	/* margin-left: -100px;
	margin-right: -100px; */
	padding-bottom: 230px;
}
main section#cacao header p.illust,
main section#material header p.illust,
main section#tasting header p.illust {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 10px;
}
main section#cacao header p.illust img,
main section#material header p.illust img,
main section#tasting header p.illust img {
	width: auto;
	height: 130px;
}
main section#cacao header h1,
main section#material header h1,
main section#tasting header h1 {
	margin-bottom: 10px;
}
main section#cacao header h1,
main section#material header h1,
main section#tasting header h1 {
	font-family: ten-mincho-text, serif;
	font-size: 1.5rem;
	color: #504946;
}
main section#cacao header p.summary:not(:last-child),
main section#material header p.summary:not(:last-child),
main section#tasting header p.summary:not(:last-child) {
	margin-bottom: 20px;
}
main section#cacao header p.description,
main section#material header p.description,
main section#tasting header p.description {
	width: 560px;
	text-align: justify;
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 0.875rem;
	line-height: 1.5rem;
	margin: auto;
}
main section#cacao div.list {
	display: flex;
	flex-wrap: wrap;
	margin: 0px -40px -80px 0px;
}
main section#cacao div.list div.row {
	position: relative;
	width: calc(50% - 40px);
	margin: 0px 40px 80px 0px;
	padding: 40px;
	background-color: #ffffff;
}
main section#cacao div.list div.row::before {
	position: absolute;
	width: 140px;
	height: 140px;
	left: calc(50% - 70px);
	top: -40px;
	background: #ffffff url(https://jmmchocolate.itembox.design/item/images/2025/brand-cacao-illust.svg) no-repeat center 20px;
	background-size: auto 46px;
	content: "";
	border-radius: 50%;
}
main section#cacao div.list div.row.new::before {
	position: absolute;
	width: 153px;
	height: 153px;
	left: calc(50% - 75px);
	top: -42px;
	background: #ffffff url(https://jmmchocolate.itembox.design/item/images/2025/brand-cacao-illust-new2025.svg) no-repeat center 10px;
	background-size: auto 65px;
}
main section#cacao div.list div.row div.inner-row {
	position: relative;
}
main section#cacao div.list div.row h3,
main section#cacao div.list div.row p.sub {
	text-align: center;
}
main section#cacao div.list div.row h3 {
	text-indent: 0.075em;
	font-family: archetype, serif;
	font-size: 2.25rem;
	line-height: 2.75rem;
	letter-spacing: 0.075em;
	color: #aca76e;
}
main section#cacao div.list div.row p.sub,
main section#cacao div.list div.row p.summary,
main section#cacao div.list div.row table {
	margin-bottom: 10px;
}
main section#cacao div.list div.row p.sub,
main section#cacao div.list div.row table th,
main section#cacao div.list div.row table td,
main section#cacao div.list div.row p.description {
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 0.875rem;
	line-height: 1.5rem;
}
main section#cacao div.list div.row table {
	width: 100%;
}
main section#cacao div.list div.row table th,
main section#cacao div.list div.row table td {
	border-top: 1px solid #aca76e;
	border-bottom: 1px solid #aca76e;
	padding: 5px 0px;
}
main section#cacao div.list div.row table th {
	width: 100px;
	color: #aca76e;
}
main section#cacao div.list div.row p.description {
	margin-bottom: 20px;
}
main section#cacao div.list div.row p.description span.indent {
	display: inline-block;
	text-indent: -1em;
	padding-left: 1em;
}
main section#cacao div.list div.row p.image {
	width: 280px;
	margin: auto;
}
main section#material div.inner-section {
	width: 720px;
}
main section#material div.list div.row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
main section#material div.list div.row:not(:last-child) {
	margin-bottom: 80px;
}
main section#material div.list div.row:nth-child(2n+1) {
	flex-direction: row-reverse;
}
main section#material div.list div.row p.image {
	width: 250px;
	height: 250px;
	border-radius: 50%;
}
main section#material div.list div.row div.text {
	width: calc(100% - 290px);
}
main section#material div.list div.row div.text h2 {
	font-family: archetype, serif;
	font-size: 2.25rem;
	line-height: 2.75rem;
	letter-spacing: 0.075em;
	color: #aca76e;
}
main section#material div.list div.row div.text p.sub,
main section#material div.list div.row div.text p.description {
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 0.875rem;
	line-height: 1.5rem;
}
main section#material div.list div.row div.text p.sub {
	margin-bottom: 10px;
}
main section#material div.list div.row div.text h3 {
	font-size: 1.25rem;
	margin-bottom: 10px;
}
main section#tasting div.inner-section {
	width: 720px;
}
main section#tasting div.block:not(:last-child) {
	margin-bottom: 120px;
}
main section#tasting div.block h2 {
	text-align: center;
	font-size: 1.25rem;
	border-bottom: 1px solid #aba775;
	padding-bottom: 20px;
}
main section#tasting div.block-notice h2 {
	margin-bottom: 40px;
}
main section#tasting div.block-notice div.list div.row:not(:first-child) {
	margin-top: -20px;
}
main section#tasting div.block-notice div.list div.row h3 {
	position: relative;
	font-size: 1.25rem;
	margin-bottom: 10px;
	padding-left: 20px;
}
main section#tasting div.block-notice div.list div.row h3::before {
	position: absolute;
	width: 12px;
	height: 12px;
	left: 0px;
	top: 10px;
	background-color: #504946;
	content: "";
	transform: rotate(45deg);
}
main section#tasting div.block-notice div.list div.row div.illust-description {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
main section#tasting div.block-notice div.list div.row:nth-child(2n) div.illust-description {
	justify-content: space-between;
}
main section#tasting div.block-notice div.list div.row div.illust-description p.description,
main section#tasting div.block-order p.summary,
main section#tasting div.block-order div.list div.row p.description {
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 0.875rem;
	line-height: 1.5rem;
}
main section#tasting div.block-notice div.list div.row div.illust-description p.description {
	width: 460px;
	margin-right: 20px;
}
main section#tasting div.block-notice div.list div.row div.illust-description p.description span.indent {
	display: inline-block;
	text-indent: -1em;
	padding-left: 1em;
}
main section#tasting div.block-notice div.list div.row div.illust-description p.illust,
main section#tasting div.block-order div.list div.row p.illust {
	overflow: hidden;
	background-color: #ffffff;
	border-radius: 50%;
}
main section#tasting div.block-notice div.list div.row div.illust-description p.illust {
	width: 160px;
	height: 160px;
	transform: translateY(-40px);
}
main section#tasting div.block-notice div.list div.row div.illust-description p.illust img,
main section#tasting div.block-order div.list div.row p.illust img {
	width: 100%;
	height: auto;
}
main section#tasting div.block-order h2 {
	margin-bottom: 20px;
}
main section#tasting div.block-order p.summary,
main section#tasting div.block-order div.list div.row p.description {
	text-align: center;
}
main section#tasting div.block-order p.summary {
	margin-bottom: 40px;
}
main section#tasting div.block-order div.list {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: -80px;
}
main section#tasting div.block-order div.list div.row {
	width: 50%;
	text-align: center;
	margin-bottom: 80px;
}
main section#tasting div.block-order div.list div.row p.illust {
	position: relative;
	width: 240px;
	height: 240px;
	margin: 0px auto 20px auto;
}
main section#tasting div.block-order div.list div.row p.illust span {
	position: absolute;
	width: 100%;
	left: 0px;
	top: 15px;
	text-indent: 0.075em;
	font-family: archetype, serif;
	font-size: 1.875rem;
	line-height: 2.25rem;
	letter-spacing: 0.075em;
	color: #aca76e;
}
main section#tasting div.block-order div.list div.row h3 {
	text-indent: 0.5em;
	font-size: 1.25rem;
	letter-spacing: 0.5em;
	margin-bottom: 5px;
}
main section#tasting div.block-order div.list div.row h3::before {
	content: "〈";
}
main section#tasting div.block-order div.list div.row h3::after {
	content: "〉";
}
main section#archives div.inner-section {
	padding-top: 80px;
}
main section#archives header h1,
main section#archives header nav#navi-sub {
	margin-bottom: 60px;
}
main section#archives header h1 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
main section#archives header h1 img {
	width: auto;
	height: 110px;
}
main section#archives header nav#navi-sub ul {
	width: 640px;
}
main section#archives header nav#navi-sub ul li,
main section#archives div.block div.header p.year,
main section#archives div.block div.header h2 {
	text-indent: 0.075em;
	font-family: archetype, serif;
	letter-spacing: 0.075em;
}
main section#archives header nav#navi-sub ul li {
	width: 80px;
	font-size: 1.5rem;
}
main section#archives div.block:not(:last-child) {
	margin-bottom: 120px;
}
main section#archives div.block div.header {
	text-align: center;
	margin-bottom: 60px;
}
main section#archives div.block div.header p.year,
main section#archives div.block div.header h2 {
	margin-bottom: 20px;
}
main section#archives div.block div.header p.year {
	font-size: 1.875rem;
}
main section#archives div.block div.header h2 {
	font-size: 2.25rem;
	line-height: 2.75rem;
}
main section#archives div.block div.header p.description {
	font-family: yu-gothic-pr6n, sans-serif;
}
main section#archives div.block p.image {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0px auto 60px auto;
	box-shadow: 0px 0px 10px rgba(2.5, 2.5, 7.5, 0.125);
}
main section#archives div.block p.link,
main section#archives div.block p.link a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
main section#archives div.block p.link a {
	align-items: center;
	transition: 0.25s color ease;
}
main section#archives div.block p.link a:hover {
	color: #aca76e;
}
main section#archives div.block p.link i.icon,
main section#archives div.block p.link span {
	display: block;
}
main section#archives div.block p.link i.icon {
	font-size: 1.875rem;
	margin-right: 10px;
}
main section#archives div.block p.link span {
	border-bottom: 1px solid #504946;
	padding: 0px 5px;
	transition: 0.25s border-color ease;
}
main section#archives div.block p.link a:hover span {
	border-color: #aca76e;
}
main section#archives div#archives-2025 p.image {
	width: 304px;
	height: 510px;
}
main section#archives div#archives-2024 p.image{
	width: 580px;
	height: 412px;
}
main section#archives div#archives-2023 p.image,
main section#archives div#archives-2022 p.image {
	width: 304px;
	height: 427px;
}
main section#archives div#archives-2021 h3 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 40px;
}
main section#archives div#archives-2021 h3 img {
	width: auto;
	height: 115px;
}
main section#archives div#archives-2021 p.notice {
	text-align: center;
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 0.875rem;
	margin-bottom: 40px;
}
main section#archives div#archives-2021 p.notice i.icon {
	display: inline-block;
	font-size: 1.875rem;
	color: #aca76e;
	margin-right: 5px;
	transform: translateY(6px);
}
main section#archives div#archives-2021 div.list {
	display: flex;
	flex-wrap: wrap;
}
main section#archives div#archives-2021 div.list p.row {
	width: 16.66%;
	cursor: pointer;
}
main section#archives div#archives-2020 p.image {
	width: 331px;
	height: 331px;
}
main section#archives div#archives-2019 p.image {
	width: 404px;
	height: 245px;
}
main nav#navi-brand {
	width: 1040px;
	margin: auto;
	padding-bottom: 120px;
}
main nav#navi-brand p.label,
main nav#navi-brand div.list div.row h3 {
	font-family: ariana-pro, sans-serif;
}
main nav#navi-brand p.label {
	text-align: center;
	font-size: 1.5rem;
	color: #d79c0a;
	margin-bottom: 40px;
}
main nav#navi-brand div.list {
	display: flex;
	flex-wrap: wrap;
	margin: 0px -60px 80px 0px;
}
main nav#navi-brand div.list div.row {
	width: calc(33.33% - 60px);
	margin-right: 60px;
}
main nav#navi-brand div.list div.row h3 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	height: 40px;
	font-size: 1.25rem;
	color: #ffffff;
	margin-bottom: 15px;
	background-color: #d79c0a;
}
main nav#navi-brand div.list div.row h3 span {
	display: block;
}
main nav#navi-brand div.list div.row h3 span:not(:last-child) {
	margin-right: 10px;
}
main nav#navi-brand div.list div.row div.illust-text {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
main nav#navi-brand div.list div.row div.illust-text div.text {
	width: calc(100% - 110px);
}
main nav#navi-brand div.list div.row div.illust-text div.text h4 {
	font-size: 1.125rem;
	margin-bottom: 5px;
}
main nav#navi-brand div.list div.row div.illust-text div.text p.description,
main nav#navi-brand div.banner-archives p.description {
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 0.875rem;
	line-height: 1.5rem;
}
main nav#navi-brand div.list div.row div.illust-text p.illust {
	width: 100px;
}
main nav#navi-brand div.banner-archives {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	text-align: center;
	position: relative;
}
main nav#navi-brand div.banner-archives p.illust {
	position: absolute;
	width: 120px;
	height: 110px;
	left: calc(50% + 10px);
	top: -20px;
}
body.cacao main nav#navi-brand div.banner-archives p.illust,
body.material main nav#navi-brand div.banner-archives p.illust,
body.tasting main nav#navi-brand div.banner-archives p.illust {
	background-color: #f3f2ea;
}
body.cacao main nav#navi-brand div.banner-archives p.illust img,
body.material main nav#navi-brand div.banner-archives p.illust img,
body.tasting main nav#navi-brand div.banner-archives p.illust img {
	mix-blend-mode: multiply;
}
main nav#navi-brand div.banner-archives h3 {
	position: relative;
	width: 170px;
	margin: 0px auto 15px auto;
}
main nav#navi-brand div.banner-archives h3 img {
	position: relative;
	width: 100%;
	height: auto;
	z-index: 1;
}

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

main section#shop-list div.inner-section {
	width: 640px;
}
main section#shop-list div.block:not(:last-child) {
	margin-bottom: 120px;
}
main section#shop-list div.block h3 {
	text-align: center;
	text-indent: 0.5em;
	font-size: 1.25rem;
	letter-spacing: 0.5em;
	margin-bottom: 40px;
}
main section#shop-list div.block div.list:not(:last-child) {
	margin-bottom: 40px;
}
main section#shop-list div.block div.list div.row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	font-family: yu-gothic-pr6n, sans-serif;
	line-height: 1.5rem;
	border-left: 10px solid #aca76e;
	padding: 10px 0px 10px 20px;
}
main section#shop-list div.block div.list div.row:not(:last-child) {
	margin-bottom: 20px;
}
main section#shop-list div.block div.list div.row p.shop {
	width: calc(100% - 280px);
}
main section#shop-list div.block div.list div.row p.shop span {
	display: block;
}
main section#shop-list div.block div.list div.row p.shop span.sub {
	font-size: 0.875rem;
}
main section#shop-list div.block div.list div.row p.date {
	width: 260px;
}
main section#shop-list div.block div.list div.row p.date span:nth-child(1)::after {
	margin: 0px 5px;
	content: "〜";
}
main section#shop-list div.block div.list div.row p.date i.note {
	display: block;
	width: 100%;
	text-indent: -1em;
	font-size: 0.875rem;
	line-height: 1.5rem;
	padding-left: 1em;
}
main section#shop-list div.block p.note {
	padding-left: calc(30px + 1em);
}

/* recruitment
-------------------------------------------------------------------------------- */

main section#recruitment div.inner-section {
	width: 720px;
}
main section#recruitment header h1 {
	margin-bottom: 40px;
}
main section#recruitment div.block {
	padding: 0px 40px;
}
main section#recruitment div.block:not(:last-child) {
	margin-bottom: 120px;
}
main section#recruitment div.block div.summary {
	border-left: 10px solid #aca76e;
	margin: 0px 0px 40px -40px;
	padding: 10px 0px 10px 30px;
}
main section#recruitment div.block div.summary p.number,
main section#recruitment div.block div.summary h2 {
	margin-bottom: 20px;
}
main section#recruitment div.block div.summary p.number {
	font-family: ariana-pro, sans-serif;
	font-size: 1.875rem;
	color: #aca76e;
}
main section#recruitment div.block div.summary h2 {
	font-size: 1.125rem;
}
main section#recruitment div.block div.summary p.description,
main section#recruitment div.block div.list div.row p.body,
main section#recruitment div.block div.detail p.headline,
main section#recruitment div.block div.contact p.headline {
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 0.875rem;
	line-height: 1.5rem;
}
main section#recruitment div.block div.image {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 80px;
}
main section#recruitment div.block div.image p.row {
	width: calc(50% - 10px);
}
main section#recruitment div.block div.image p.row img {
	width: 100%;
	height: auto;
}
main section#recruitment div.block div.list {
	margin-bottom: 60px;
}
main section#recruitment div.block div.list div.row:not(:last-child) {
	margin-bottom: 40px;
}
main section#recruitment div.block div.list div.row p.headline {
	border-bottom: 1px solid #d3d1d1;
	margin-bottom: 10px;
	padding-bottom: 5px;
}
main section#recruitment div.block div.detail p.headline,
main section#recruitment div.block div.contact p.headline {
	font-weight: 700;
}
main section#recruitment div.block div.detail p.headline {
	text-align: center;
	margin-bottom: 10px;
}
main section#recruitment div.block div.contact {
	width: 360px;
	border: 1px solid #d3d1d1;
	text-align: center;
	margin: auto;
	padding: 40px 0px;
}
main section#recruitment div.block div.contact p.mail {
	font-family: fieldwork, sans-serif;
	font-size: 1.125rem;
	font-weight: 200;
	letter-spacing: 0em;
}

/* shopping-guide
-------------------------------------------------------------------------------- */

main section#shopping-guide div.inner-section,
main section#faq div.inner-section,
main section#law div.inner-section {
	width: 720px;
}
main section#shopping-guide div.block:not(:last-child),
main section#faq div.block:not(:last-child),
main section#law div.block:not(:last-child) {
	margin-bottom: 120px;
}
main section#shopping-guide div.block h2,
main section#law div.block h2 {
	text-align: center;
	font-size: 1.25rem;
}
main section#shopping-guide div.block h2 {
	margin-bottom: 40px;
}
main section#shopping-guide div.block-flow div.list div.row {
	position: relative;
	min-height: 310px;
	border-left: 10px solid #aca76e;
	padding: 10px 350px 0px 30px;
}
main section#shopping-guide div.block-flow div.list div.row:not(:last-child) {
	margin-bottom: 80px;
}
main section#shopping-guide div.block-flow div.list div.row div.text {
	margin-bottom: 40px;
}
main section#shopping-guide div.block-flow div.list div.row div.text p.label {
	font-family: ariana-pro, sans-serif;
	font-size: 1.875rem;
	color: #aca76e;
	margin-bottom: 10px;
}
main section#shopping-guide div.block-flow div.list div.row div.text h3 {
	font-size: 1rem;
	margin-bottom: 10px;
}
main section#shopping-guide div.block-flow div.list div.row div.text h3 span {
	font-size: 0.875rem;
	margin-left: 5px;
}
main section#shopping-guide div.block-flow div.list div.row div.text p.description,
main section#shopping-guide div.block-thanks ul li,
main section#shopping-guide div.block-mail p,
main section#shopping-guide div.block-tel {
	font-family: yu-gothic-pr6n, sans-serif;
}
main section#shopping-guide div.block-flow div.list div.row div.text p.description,
main section#shopping-guide div.block-thanks ul li,
main section#shopping-guide div.block-mail p {
	font-size: 0.875rem;
	line-height: 1.5rem;
}
main section#shopping-guide div.block-flow div.list div.row p.image {
	position: absolute;
	width: 310px;
	height: 310px;
	right: 0px;
	top: 0px;
}
main section#shopping-guide div.block-flow div.list div.row p.image::before {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
	border: 1px solid #d3d1d1;
	content: "";
}
main section#shopping-guide div.block-flow div.list div.row p.button-default a {
	width: 260px;
}
main section#shopping-guide div.block-thanks,
main section#shopping-guide div.block-mail,
main section#shopping-guide div.block-tel,
main section#shopping-guide div.block-shop-list {
	text-align: center;
}
main section#shopping-guide div.block-thanks ul li::before {
	display: inline-block;
	width: 6px;
	height: 6px;
	margin-right: 8px;
	background-color: #504946;
	content: "";
	border-radius: 50%;
	transform: translateY(-2px);
}
main section#shopping-guide div.block-tel {
	width: 360px;
	border: 1px solid #d3d1d1;
	margin-left: auto;
	margin-right: auto;
	padding: 20px 0px;
}
main section#shopping-guide div.block-tel h3 {
	font-size: 1.25rem;
	font-weight: 700;
}
main section#shopping-guide div.block-tel p.description,
main section#shopping-guide div.block-tel p.time-close {
	font-size: 0.875rem;
	line-height: 1.5rem;
}
main section#shopping-guide div.block-tel p.tel {
	font-family: ariana-pro, sans-serif;
	font-size: 1.875rem;
	line-height: 2.25rem;
}
main section#shopping-guide div.block-shop-list p.note {
	margin-bottom: 40px;
}
main section#faq div.block h2 {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	font-size: 1.25rem;
	border-left: 10px solid #aca76e;
	margin-bottom: 20px;
	padding: 20px 0px 20px 30px;
}
main section#faq div.block div.list {
	padding-left: 40px;
}
main section#faq div.block div.list div.row {
	border-bottom: 1px solid #d3d1d1;
}
main section#faq div.block div.list div.row:first-child {
	border-top: 1px solid #d3d1d1;
}
main section#faq div.block div.list div.row p.headline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	position: relative;
	cursor: pointer;
	padding: 20px 60px 20px 0px;
	transition: 0.25s color ease;
}
main section#faq div.block div.list div.row p.headline:hover {
	color: #aca76e;
}
main section#faq div.block div.list div.row p.headline span {
	position: absolute;
	width: 20px;
	height: 20px;
	right: 20px;
	top: calc(50% - 10px);
	cursor: pointer;
}
main section#faq div.block div.list div.row p.headline span::before,
main section#faq div.block div.list div.row p.headline span::after {
	position: absolute;
	width: 100%;
	height: 1px;
	left: 0px;
	top: calc(50% - 0.5px);
	border-bottom: 1px solid #504946;
	content: "";
	transition: 0.25s border-color ease, 0.25s opacity ease, 0.25s transform ease;
}
main section#faq div.block div.list div.row p.headline:hover span::before,
main section#faq div.block div.list div.row p.headline:hover span::after {
	border-color: #aca76e;
}
main section#faq div.block div.list div.row p.headline span::after {
	transform: rotate(90deg);
}
main section#faq div.block div.list div.row.open p.headline span::before {
	transform: rotate(90deg);
	opacity: 0;
}
main section#faq div.block div.list div.row.open p.headline span::after {
	transform: rotate(180deg);
}
main section#faq div.block div.list div.row div.answer {
	height: 0px;
	overflow: hidden;
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 0.875rem;
	line-height: 1.5rem;
}
main section#faq div.block div.list div.row div.answer div.inner-answer {
	padding-bottom: 20px;
}
main section#faq div.block div.list div.row div.answer ul li,
main section#law div.block div.list div.row div.body ul li {
	position: relative;
	padding-left: 20px;
}
main section#faq div.block div.list div.row div.answer ul li::before,
main section#law div.block div.list div.row div.body ul li::before {
	position: absolute;
	width: 6px;
	height: 6px;
	left: 6px;
	top: 10px;
	background-color: #504946;
	content: "";
	border-radius: 50%;
}
main section#law div.block h2 {
	margin-bottom: 80px;
}
main section#law div.block div.list div.row:not(:last-child) {
	margin-bottom: 40px;
}
main section#law div.block div.list div.row p.headline {
	border-bottom: 1px solid #d3d1d1;
	margin-bottom: 10px;
	padding-bottom: 5px;
}
main section#law div.block div.list div.row div.body {
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 0.875rem;
	line-height: 1.5rem;
}
main section#law div.block div.list div.row span.diagram {
	display: block;
	margin: 20px 0px;
}

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

main section#contact div.inner-section {
	width: 640px;
}
main section#contact div.header,
main section#contact div.form div.component p.label span.require,
main section#contact div.form div.component div.body {
	font-family: yu-gothic-pr6n, sans-serif;
}
main section#contact div.header,
main section#contact div.form div.component p.label span.require {
	font-size: 0.875rem;
	line-height: 1.5rem;
}
main section#contact div.header {
	margin-bottom: 80px;
}
main section#contact div.mw_wp_form_preview div.header {
	display: none;
}
main section#contact div.form div.component {
	margin-bottom: 40px;
}
main section#contact div.form div.component-last {
	margin-bottom: 80px;
}
main section#contact div.mw_wp_form_preview div.form div.component {
	border-bottom: 1px solid #d3d1d1;
	padding: 30px 0px;
}
main section#contact div.mw_wp_form_preview div.form div.component:not(.component-last) {
	margin-bottom: 0px;
}
main section#contact div.mw_wp_form_preview div.form div.component-first {
	border-top: 1px solid #d3d1d1;
}
main section#contact div.form div.component p.label {
	font-size: 1rem;
	margin-bottom: 10px;
}
main section#contact div.form div.component p.label span.require {
	display: inline-block;
	color: #cc3f3f;
	margin-left: 5px;
	transform: translateY(-1px);
}
main section#contact div.form div.component p.label span.require::before {
	content: "［";
}
main section#contact div.form div.component p.label span.require::after {
	content: "］";
}
main section#contact div.mw_wp_form_preview div.form div.component p.label span.require {
	display: none;
}
main section#contact div.form div.component-radio div.body {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: -5px;
}
main section#contact div.mw_wp_form_preview div.form div.component-radio div.body {
	display: block;
	margin-bottom: 0px;
}
main section#contact div.form div.component-radio div.body span.horizontal-item {
	display: block;
	margin: 0px 0px 5px 0px;
}
main section#contact div.form div.component-radio div.body span.horizontal-item:not(:last-child) {
	margin-right: 40px;
}
main section#contact div.form div.component-radio div.body label.alternate {
	margin-right: 0px;
}
main section#contact div.form div.component div.body input[type=text],
main section#contact div.form div.component div.body input[type=email],
main section#contact div.form div.component div.body textarea {
	width: 100%;
}
main section#contact div.form div.component div.body select {
	min-width: 180px;
}
main section#contact div.form div.component div.body span.error {
	display: block;
	font-size: 0.875rem;
	line-height: 1.5rem;
	color: #cc3f3f;
	padding-top: 5px;
}
main section#contact div.form div.action {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
main section#contact div.form div.action input[type=submit] {
	display: block;
	width: 180px;
}
main section#contact div.form div.action input[name=submitBack] {
	margin-right: 20px;
}

/* register
-------------------------------------------------------------------------------- */

main section#family header h1{
	display: block;
	max-width: 408px;
	margin-inline: auto;
}
main section#family header h1 img{
	max-width: 100%;
}

main section#family div.frame {
	text-align: center;
	padding: 40px;
	background-color: rgba(172, 167, 110,.6);
}
main section#family div.frame div.header {
	margin-bottom: 40px;
}
main section#family div.frame div.header h2 {
	text-indent: 0.075em;
	/* font-family: archetype, serif; */
	font-family: ten-mincho-text, serif;
	font-size: 1.875rem;
	line-height: 2.75rem;
	letter-spacing: 0.075em;
}
main section#family div.frame div.header p.sub,
main section#family div.frame div.list div.row div.body {
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 0.875rem;
	line-height: 1.5rem;
}
main section#family div.frame div.list div.row p.label{
	margin-bottom:0;
	font-family: ten-mincho-text, serif;
}
main section#family div.frame div.list div.row div.body p.note {
	font-size: 0.75rem;
}
main section#family div.frame div.list div.row div.body p span {
	font-size: 0.75rem;
	display: block;
}
main section#family div.frame div.list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0px -40px -40px 0px;
}
main section#family div.frame div.list div.row {
	width: calc(33.33% - 40px);
	color: #504946;
	margin: 0px 40px 40px 0px;
	padding: 20px;
	background-color: #ffffff;
}
main section#family div.frame div.list div.row h3 {
	font-size: 1.25rem;
	margin-bottom: 0;
	font-family: ten-mincho-text, serif;
}
main section#family div.frame div.list div.row div.body {
	text-align: justify;
}

/* privacy-policy
-------------------------------------------------------------------------------- */

main section#privacy-policy div.inner-section {
	width: 720px;
}
main section#privacy-policy div.list div.row:not(:last-child) {
	margin-bottom: 40px;
}
main section#privacy-policy div.list div.row p.headline {
	border-bottom: 1px solid #d3d1d1;
	margin-bottom: 10px;
	padding-bottom: 5px;
}
main section#privacy-policy div.list div.row div.body {
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 0.875rem;
	line-height: 1.5rem;
}
main section#privacy-policy div.list div.row div.body ul li {
	position: relative;
	padding-left: 20px;
}
main section#privacy-policy div.list div.row div.body ul li::before {
	position: absolute;
	width: 6px;
	height: 6px;
	left: 6px;
	top: 10px;
	background-color: #504946;
	content: "";
	border-radius: 50%;
}
main section#privacy-policy div.list div.row div.body ol {
	padding-left: 20px;
}
main section#privacy-policy div.list div.row div.body ol li {
	list-style-type: decimal;
}



/* --------------------------------------------------------------------------------
modal
-------------------------------------------------------------------------------- */

div#modal {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: fixed;
	width: 100%;
	height: 0%;
	left: 0px;
	top: 0px;
	overflow: auto;
	z-index: 9999;
	pointer-events: none;
	opacity: 0;
	transition: 0.25s opacity ease;
	-webkit-overflow-scrolling: touch;
}
div#modal.active {
	height: 100%;
	pointer-events: auto;
}
div#modal.fade {
	opacity: 1;
}
div#modal div.background {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
	content: "";
}
div#modal div.inner-modal {
	position: relative;
	width: 480px;
	margin: auto;
}
div#modal.fixed div.inner-modal,
div#modal.fixed section {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
}
div#modal.fixed section {
	padding: 0px;
}
div#modal p.button-close {
	position: fixed;
	width: 85px;
	height: 85px;
	right: 0px;
	top: 0px;
	z-index: 10;
	cursor: pointer;
}
body.admin-bar div#modal p.button-close {
	top: 32px;
}
div#modal p.button-close::before,
div#modal p.button-close::after {
	position: absolute;
	width: 30px;
	height: 0px;
	left: calc(50% - 15px);
	top: calc(50% - 0.5px);
	border-bottom: 1px solid #ffffff;
	content: "";
}
div#modal p.button-close::before {
	transform: rotate(45deg);
}
div#modal p.button-close::after {
	transform: rotate(-45deg);
}
div#modal section {
	display: none;
	position: relative;
	padding: 40px;
	background-color: #ffffff;
}
div#modal section.active {
	display: block;
	border: 2px solid #aca76e;
}
div#modal section.register h3 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	text-align: center;
	font-size: 1.125rem;
	margin-bottom: 20px;
}
div#modal section.register h3 span {
	display: block;
	position: relative;
}
div#modal section.register h3 span::before {
	position: absolute;
	right: -50px;
	top: calc(50% - 1.5rem);
	font-family: "icon";
	font-size: 3rem;
	line-height: 3rem;
	color: #aca76e;
	content: "\e900";
}
div#modal section.register p.description {
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 0.875rem;
	line-height: 1.5rem;
}
div#modal section.slide p.first {
	display: none;
}
div#modal section.slide div.list {
	overflow: hidden;
}
div#modal section.slide div.list div.inner-list {
	display: flex;
	flex-wrap: wrap;
	width: 9999px;
}
div#modal section.slide div.pager {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
	z-index: 1;
	pointer-events: none;
}
div#modal section.slide div.pager p.button {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: absolute;
	width: 50px;
	height: 50px;
	top: calc(50% - 25px);
	color: #ffffff;
	pointer-events: auto;
	cursor: pointer;
	background-color: rgba(172, 167, 110, 0.875);
	border-radius: 50%;
}
div#modal section.slide div.pager p.button::before {
	font-family: "icon";
	font-size: 1.25rem;
	content: "\e909";
}
div#modal section.slide div.pager p.button-prev {
	left: 30px;
	transform: scaleX(-1);
}
div#modal section.slide div.pager p.button-next {
	right: 30px;
}
div#modal section.slide-chocolat div.list {
	border-top: 2px dotted #aba775;
	border-bottom: 2px dotted #aba775;
	padding: 20px 0px;
}
div#modal section.slide-chocolat div.list div.row div.header,
div#modal section.slide-chocolat div.list div.row p.product {
	display: none;
}
div#modal section.slide-chocolat div.list div.row p.image {
	position: relative;
	margin-bottom: 20px;
	padding-top: 65px;
}
div#modal section.slide-chocolat div.list div.row-liqueur p.image::before {
	position: absolute;
	left: calc(50% + 75px);
	bottom: 35px;
	font-family: "icon";
	font-size: 1.25rem;
	color: #aca76e;
	content: "\e911";
}
div#modal section.slide-chocolat div.list div.row p.image img {
	width: 180px;
	height: auto;
	margin: auto;
}
div#modal section.slide-chocolat div.list div.row p.image span.new {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: absolute;
	width: 50px;
	height: 20px;
	left: 20px;
	top: 0px;
	font-family: ariana-pro, sans-serif;
	font-size: 0.75rem;
	line-height: 0.75rem;
	color: #cc3f3f;
	border: 1px solid #cc3f3f;
	padding-bottom: 2px;
	border-radius: 10px;
}
div#modal section.slide-chocolat div.list div.row p.image span.feature {
	position: absolute;
	width: 100%;
	height: 62px;
	left: 0px;
	top: 5px;
	z-index: 1;
	background-repeat: no-repeat;
	background-position: center;
	background-size: auto 100%;
}
div#modal section.slide-chocolat div.list div.row p.image span.feature-0 {
	background-image: url(https://jmmchocolate.itembox.design/item/images/chocolat-icon-feature-01.svg);
}
div#modal section.slide-chocolat div.list div.row p.image span.feature-1 {
	background-image: url(https://jmmchocolate.itembox.design/item/images/chocolat-icon-feature-02.svg);
}
div#modal section.slide-chocolat div.list div.row p.image span.feature-2 {
	background-image: url(https://jmmchocolate.itembox.design/item/images/chocolat-icon-feature-03.svg);
}
div#modal section.slide-chocolat div.list div.header-alternate,
div#modal section.slide-chocolat div.list p.description,
div#modal section.slide-chocolat div.list p.cacao {
	padding: 0px 20px;
}
div#modal section.slide-chocolat div.list div.header-alternate {
	text-align: center;
}
div#modal section.slide-chocolat div.list div.header-alternate p.headline {
	font-family: ariana-pro, sans-serif;
	font-size: 1.25rem;
	line-height: 1.75rem;
	color: #aca76e;
	margin-bottom: 10px;
	padding: 0px 30px;
}
div#modal section.slide-chocolat div.list div.header-alternate p.sub,
div#modal section.slide-chocolat div.list p.description,
div#modal section.slide-chocolat div.list p.cacao {
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 0.875rem;
	line-height: 1.5rem;
}
div#modal section.slide-chocolat div.list div.header-alternate p.sub {
	margin-bottom: 10px;
}
div#modal section.slide-chocolat div.list div.allergy {
	display: flex;
	flex-wrap: wrap;
	font-family: yu-gothic-pr6n, sans-serif;
	padding: 10px 20px 0px 20px;
}
div#modal section.slide-chocolat div.list div.allergy div.inner-allergy {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	position: relative;
	border: 1px dotted #aca76e;
	padding: 5px 0px;
	border-radius: 7.5px;
}
div#modal section.slide-chocolat div.list div.allergy div.inner-allergy::before {
	position: absolute;
	width: 0px;
	height: calc(100% - 10px);
	left: 70px;
	top: 5px;
	border-right: 1px dotted #aca76e;
	content: "";
}
div#modal section.slide-chocolat div.list div.allergy p.label-alternate {
	width: 70px;
	text-align: center;
	font-size: 0.625rem;
	line-height: 0.75rem;
}
div#modal section.slide-chocolat div.list div.allergy p.body {
	width: calc(100% - 70px);
	min-width: 60px;
	font-size: 0.75rem;
	line-height: 1rem;
	padding: 0px 10px;
}
div#modal section.slide-archives-2021 {
	padding-top: 20px;
}
div#modal section.slide-archives-2021 div.list div.row p.illust {
	position: relative;
}
div#modal section.slide-archives-2021 div.list div.row p.illust img {
	width: 320px;
	height: auto;
	margin: auto;
}
div#modal section.slide-archives-2021 div.list div.row p.headline,
div#modal section.slide-archives-2021 div.list div.row p.sub {
	text-align: center;
}
div#modal section.slide-archives-2021 div.list div.row p.headline {
	text-indent: 0.075em;
	font-family: archetype, serif;
	font-size: 1.5rem;
	letter-spacing: 0.075em;
}
div#modal section.slide-archives-2021 div.list div.row p.sub {
	margin-bottom: 10px;
}
div#modal section.slide-archives-2021 div.list div.row p.sub::before {
	margin-right: 10px;
	content: "〈";
}
div#modal section.slide-archives-2021 div.list div.row p.sub::after {
	margin-left: 10px;
	content: "〉";
}
div#modal section.slide-archives-2021 div.list div.row p.description {
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 0.875rem;
	line-height: 1.5rem;
	padding: 0px 20px;
}
div#modal section.video iframe {
	width: 100%;
	height: 100%;
}
div#background-modal {
	position: fixed;
	width: 100%;
	height: 0%;
	left: 0px;
	top: 0px;
	z-index: 999;
	background-color: rgba(77, 75, 75, 0.75);
	content: "";
	opacity: 0;
	transition: 0.25s opacity ease;
}
div#modal.active ~ div#background-modal {
	height: 100%;
}
div#modal.fade ~ div#background-modal {
	opacity: 1;
}



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

footer#footer {
	position: relative;
	z-index: 2;
	padding-top: 90px;
	background-color: #ffffff;
}
body.brand.cacao footer#footer,
body.brand.material footer#footer,
body.brand.tasting footer#footer {
	background-color: #f3f2ea;
}
footer#footer div#trigger-footer {
	position: absolute;
	top: 70px;
}
footer#footer p#button-page-top {
	position: fixed;
	left: calc(50% - 25px);
	bottom: 20px;
	z-index: 10;
	pointer-events: none;
	transition: 0.25s color ease, 0.25s opacity ease;
	opacity: 0;
}
div.scroll footer#footer p#button-page-top {
	pointer-events: auto;
	opacity: 1;
}
footer#footer p#button-page-top.footer {
	position: absolute;
	top: 0px;
	bottom: auto;
}
footer#footer p#button-page-top a {
	display: block;
	position: relative;
	width: 50px;
	height: 50px;
	background-color: #504946;
	border-radius: 50%;
	transition: 0.25s background-color ease;
}
footer#footer p#button-page-top a:hover {
	background-color: #aca76e;
}
footer#footer p#button-page-top a::before,
footer#footer p#button-page-top a::after {
	position: absolute;
	width: 15px;
	height: 15px;
	left: calc(50% - 7.5px);
	top: calc(50% - 7.5px);
	border-right: 1px solid #ffffff;
	border-top: 1px solid #ffffff;
	content: "";
}
footer#footer p#button-page-top a::before {
	transform: translateY(0px) rotate(-45deg);
}
footer#footer p#button-page-top a::after {
	transform: translateY(7.5px) rotate(-45deg);
}
footer#footer div.banner-family {
	margin-bottom: 40px;
}
footer#footer div.information div.banner-family a {
	width: 340px;
	border-radius: 0;
}
footer#footer div.information div.banner-family h3 {
	font-size: 1.5rem;
}

footer#footer div.information {
	color: #ffffff;
	padding: 60px 0px 30px 0px;
	background-color: #6a6765;
}
footer#footer div.information nav#navi-footer div.list div.row div.segment ul li,
footer#footer div.information div.links ul li {
	font-family: yu-gothic-pr6n, sans-serif;
}
footer#footer div.information div.sns {
	margin-bottom: 50px;
}
footer#footer div.information nav#navi-footer div.list {
	display: flex;
	flex-wrap: wrap;
	width: 1040px;
	margin: 0px auto 30px auto;
}
footer#footer div.information nav#navi-footer div.list div.row {
	width: 27.5%;
	text-align: center;
}
footer#footer div.information nav#navi-footer div.list div.row:nth-child(2) {
	width: 45%;
}
footer#footer div.information nav#navi-footer div.list div.row div.segment:not(:last-child) {
	margin-bottom: 30px;
}
footer#footer div.information nav#navi-footer div.list div.row div.segment p.headline,
footer#footer div.information nav#navi-footer div.list div.row div.segment ul li:not(:last-child) {
	margin-bottom: 5px;
}
footer#footer div.information nav#navi-footer div.list div.row div.segment p.headline {
	text-indent: 0.075em;
	font-family: archetype, serif;
	font-size: 1.125rem;
	color: #aca76e;
	letter-spacing: 0.075em;
}
footer#footer div.information nav#navi-footer div.list div.row div.segment ul li,
footer#footer div.information div.links ul li {
	font-size: 0.875rem;
	line-height: 1.5rem;
}
footer#footer div.information div.links {
	margin-bottom: 30px;
}
footer#footer div.information div.links ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
footer#footer div.information div.links ul li:not(:last-child) {
	margin-right: 40px;
}
footer#footer div.information p.copyright {
	text-align: center;
	text-indent: 0.2em;
	font-family: brandon-grotesque, sans-serif;
	font-size: 0.625rem;
	letter-spacing: 0.2em;
}



/* --------------------------------------------------------------------------------
futureshop
-------------------------------------------------------------------------------- */

.fs-c-checkbox__checkMark {
	border-radius: 2.5px;
	border: 1px solid #d3d1d1;
	width: 20px;
	height: 20px;
	min-width: 20px;
}
.fs-c-checkbox__checkMark::before {
	content: "";
	width: 8px;
	height: 13px;
	top: 0px;
	left: 0px;
	border-right: 3px solid #504946;
	border-bottom: 3px solid #504946;
	transform: translate(5px, 0px) rotate(45deg);
}
.fs-c-checkbox__checkbox:checked + label > .fs-c-checkbox__checkMark {
	border-color: #d3d1d1;
	background: transparent;
}
.fs-c-radio__radioMark {
	width: 20px;
	height: 20px;
	min-width: 20px;
	border: 1px solid #d3d1d1;
}
.fs-c-radio__radio:checked:enabled + label > .fs-c-radio__radioMark {
	border-color: #d3d1d1;
}
.fs-c-radio__radio:checked:enabled + label > .fs-c-radio__radioMark::before {
	width: 10px;
	height: 10px;
	background-color: #504946;
}
.fs-c-button--particular.fs-c-button--displayPassword::before,
.fs-c-button--particular.fs-c-button--hidePassword::before {
	font-family: "fs-icon" !important;
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 1.2rem;
}
.fs-c-button--particular.fs-c-button--displayPassword::before {
	content: "\e917";
}
.fs-c-button--particular.fs-c-button--hidePassword::before {
	content: "\e918";
}
body.fs-body-login *.scroll.fade,
body.fs-body-wishlist-login *.scroll.fade,
body.fs-body-register *.scroll.fade,
body.fs-body-forgotPassword *.scroll.fade {
	opacity: 1;
}


/* feature
-------------------------------------------------------------------------------- */

main section#feature .block .header{
	text-align: center;
	margin-bottom: 2.6rem;
}
main section#feature .block .header p{
	font-family: ten-mincho-text, serif;
	font-size: 1.5rem;
	color: #504946;
	margin-bottom: 3.2rem;
}
main section#feature .block .header h2{
	font-family: archetype, serif;
	font-size: 2.2rem;
	color: #504946;
	font-weight: 500;
	margin-bottom: 2.4rem;
	letter-spacing: .1rem;
	line-height: 1.3;
}
main section#feature .block .header h2 span{
	display: block;
	margin-bottom: 2.5rem;
}
main section#feature .block .header h3{
	font-size: 1.4rem;
	margin-bottom: 3rem;
	letter-spacing: .3rem;
}
main section#feature .block .lead p{
	font-family: yu-gothic-pr6n, sans-serif;
	font-size: 1.15rem;
	letter-spacing: .155rem;
	line-height: 1.7;
	margin-bottom: 3rem;
}
main section#feature .block .list{
	max-width: 720px;
	margin-inline: auto;
}
main section#feature .block .list .text{
	margin-bottom: 2rem;
}
main section#feature .block .list p.image img{
		width: 340px;
}
main section#feature{
	background: url(https://jmmchocolate.itembox.design/item/images/2025/feature2025-1-2.png) no-repeat calc(50vw - 122px) 770px / 858px;
}
main section#feature .block #message{
	margin-top:90px;
}
main section#feature .block #message h2{
	font-family: archetype, serif;
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	font-weight: 400;
	color: #aca76e;
	margin-bottom: .5rem;
}
main section#feature .block #message h3{
	font-size: 1rem;
}
main section#feature .block #message .text{
	background: rgba(172, 167, 110,.15);
	padding: 60px 65px 50px;
}
main section#feature .block #message .text p{
	line-height: 2.1;
	letter-spacing: .18rem;
	margin-bottom: 2rem;
	text-align: left;
}
main section#feature .block #message .text .profile{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
main section#feature .block #message .text .profile p{
	margin-bottom: 10px;
	font-size: 11px;
	font-family: yu-gothic-pr6n, sans-serif;
	letter-spacing: .02rem;
	text-align: right;
}
main section#feature .block #items {
	margin-top: 5rem;
}
main section#feature .block #items .header{
	border: 1px solid #ACA76E;
	padding: 24px 15px;
}
main section#feature .block #items .header h2{
	margin-bottom: 0;
	font-size: 20px;
	color: #504946;
	font-weight: 400;
	font-family: ten-mincho-text, serif;
	line-height:1.75;
}
main section#feature .block #items .list{
	max-width: 1040px;
}
main section#feature .block #items div.fs-c-productList{
	padding-top: 32px;
	margin-bottom: 5rem;
}
main section#feature .block #items #viewmore{
	text-align: center;
	margin-bottom: 120px;
	margin-top: 90px;
}
main section#feature .block #items #viewmore img{
	display: inline-block;
}
main section#feature #feature-01{
	margin-bottom: 220px;
}
main section#feature #feature-02 p.image{
	text-align: center;
	margin-bottom: 55px;
}
main section#feature #feature-02 p.image img{
	display: inline-block;
}
main section#feature #feature-02 #grenade .row{
	display: flex;
	justify-content: space-between;
}
main section#feature #feature-02 #grenade .row >*{
	width: 340px;
}
main section#feature #feature-02 #grenade .row:nth-child(1) p.image img{
	margin-top: 35px;
}
main section#feature #feature-02 #grenade .row .text{
	font-family: yu-gothic-pr6n, sans-serif;
}
main section#feature #feature-02 #grenade .row .text p{
	font-size: 1.2rem;
	letter-spacing: .13rem;
	line-height: 1.6;
	margin-bottom: 20px;
}
main section#feature #feature-02 #grenade .row .text img{
	display: block;
	margin-inline: auto;
	margin-bottom: 2rem;
}
main section#feature #feature-02 #grenade .row:nth-child(2) .text{
	order: 2;
}

/* マウスオーバーで2枚目表示 */
/* .fs-body-category form .fs-c-productImage,
.fs-body-category form .fs-c-productImage a,
.fs-body-search form .fs-c-productImage,
.fs-body-search form .fs-c-productImage a {
  position: relative;
  display: block;
}
.fs-body-category form .fs-c-productImage a .hover-image,
.fs-body-search form .fs-c-productImage a .hover-image {
	opacity: 0; 
	position: absolute;
	width: 100%;
	height: auto;
	top: 0;
	left: 0;
	transition: opacity 0.25s ease-in-out; 
}
.fs-body-category form .fs-c-productImage a img,
.fs-body-search form .fs-c-productImage a img {
	transition: opacity 0.25s ease-in-out;
}
.fs-body-category form .fs-c-productImage a img.hover-image:hover,
.fs-body-search form .fs-c-productImage a img.hover-image:hover {
	opacity: 1;
} */
/* @media (hover: hover) and (min-width: 769px) {
	.fs-body-category form .fs-c-productImage a:hover img,
	.fs-body-search form .fs-c-productImage a:hover img {
		opacity: 0;
	}
	.fs-body-category form .fs-c-productImage a:hover img.hover-image,
	.fs-body-search form .fs-c-productImage a:hover img.hover-image {
		opacity: 1;
	}
} */
.fs-body-category form .fs-c-productImage,
.fs-body-category form .fs-c-productImage a,
.fs-body-search form .fs-c-productImage,
.fs-body-search form .fs-c-productImage a{
	position: relative;
	display: block;
}
.fs-body-category form .fs-c-productImage a .hover-image,
.fs-body-search form .fs-c-productImage a .hover-image{
	opacity: 0;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
.fs-body-category form .fs-c-productImage a:hover img,
.fs-body-search form .fs-c-productImage a:hover img{
	opacity: 0;
}
.fs-body-category form .fs-c-productImage a:hover img.hover-image,
.fs-body-search form .fs-c-productImage a:hover img.hover-image{
	opacity: 1;
}