:root {
  --chera-ink: #292725;
  --chera-muted: #706a68;
  --chera-accent: #98806f;
  --chera-serif: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  --chera-english: "Cormorant Upright", Georgia, serif;
  --chera-header-height: 115px;
}
.chera-header,
.chera-menu,
.chera-footer { color: var(--chera-ink); font-family: var(--chera-serif); }
.chera-header *,
.chera-menu *,
.chera-footer * { box-sizing: border-box; }
.chera-header a,
.chera-menu a,
.chera-footer a { color: inherit; text-decoration: none; }
.chera-header a:hover,
.chera-menu a:hover,
.chera-footer a:hover { opacity: .65; }
.chera-header button,
.chera-menu button { color: inherit; font: inherit; cursor: pointer; }
.chera-header :focus-visible,
.chera-menu :focus-visible,
.chera-footer :focus-visible { outline: 2px solid var(--chera-accent); outline-offset: 4px; }
.chera-header { position: relative; z-index: 100; width: 100%; height: var(--chera-header-height); background: rgba(255,255,255,.784); }
.chera-header--top { position: absolute; top: 0; left: 0; }
.chera-brand { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); display: block; width: 146px; text-align: center; font: 36px/1 var(--chera-english); }
.chera-brand img { display: block; width: 100%; height: auto; max-height: 61px; object-fit: contain; }
.chera-header__actions { position: absolute; right: 38px; top: 0; height: 100%; display: flex; align-items: center; gap: 24px; }
.chera-social { display: flex; align-items: center; gap: 16px; }
.chera-social a { display: flex; align-items: center; justify-content: center; width: 39px; height: 44px; }
.chera-social svg { display: block; width: 39px; height: 39px; }
.chera-menu-button,
.chera-menu-close { position: relative; width: 54px; height: 54px; padding: 0; border: 0; background: transparent; }
.chera-menu-button span,
.chera-menu-close span { position: absolute; left: 0; top: 23px; width: 100%; height: 1px; background: var(--chera-ink); }
.chera-menu-button span+span { top: 31px; }
.chera-menu { box-sizing: border-box; position: fixed; inset: 0 0 0 auto; margin: 0; border: 0; padding: 180px 78px 60px 88px; width: 390px; max-width: 100%; height: 100%; height: 100dvh; max-height: none; overflow-y: auto; overscroll-behavior: contain; background: rgba(255,255,255,.94); }
@supports (backdrop-filter: blur(3px)) {
.chera-menu { background: rgba(255,255,255,.835); backdrop-filter: blur(3px); }
}
.chera-menu::backdrop { background: transparent; }
.chera-menu-close { position: absolute; right: 38px; top: 30px; }
.chera-menu-close span { top: 27px; transform: rotate(45deg); }
.chera-menu-close span+span { transform: rotate(-45deg); }
.chera-menu ul { list-style: none; padding: 0; margin: 0; }
.chera-menu__primary { font: 600 20px/1.5 var(--chera-english); letter-spacing: .1em; }
.chera-menu__primary a { display: block; padding: 10px 0; }
.chera-menu .chera-menu__account { border-top: 1px solid #aaa5a0; margin-top: 35px; padding-top: 27px; font: 600 15px/1.5 var(--chera-english); letter-spacing: .1em; }
.chera-menu__account a { display: block; padding: 7px 0; }
.chera-menu .chera-social { margin-top: 25px; }
.chera-menu__tools { margin-top: 32px; border-top: 1px solid #dedbd9; padding-top: 22px; }
.chera-cart { font: 600 15px/1.5 var(--chera-english); letter-spacing: .08em; }
.chera-cart span { font: 12px var(--chera-serif); }
.chera-search { display: flex; margin: 18px 0 0; border-bottom: 1px solid #aaa5a0; }
.chera-search input { min-width: 0; width: 100%; border: 0; border-radius: 0; padding: 10px 0; background: transparent; color: inherit; font: 12px var(--chera-serif); }
.chera-search button { flex: 0 0 40px; padding: 0; border: 0; background: transparent; font-size: 12px; }
.chera-footer { background: #fff; padding: 190px 0 90px; }
.chera-footer__inner { max-width: 1504px; margin: 0 auto; display: grid; grid-template-columns: 220px 1fr; align-items: end; column-gap: 40px; padding: 0 24px; }
.chera-footer__logo { display: block; width: 172px; font: 40px var(--chera-english); }
.chera-footer__logo img { width: 100%; height: auto; }
.chera-footer__nav ul { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 16px 34px; list-style: none; margin: 0; padding: 0; }
.chera-footer__nav a { font-size: 15px; font-weight: 600; white-space: nowrap; }
.chera-footer__copyright { grid-column: 1/-1; margin-top: 38px; color: #a9a6a7; font-size: 11.5px; line-height: 20px; }
@media (max-width: 1100px) and (min-width: 768px) {
.chera-footer__inner { grid-template-columns: 180px 1fr; }
.chera-footer__nav ul { gap: 16px 24px; }
}
@media (max-width: 767px) {
:root { --chera-header-height: 44px; }
.chera-brand { width: 45px; font-size: 17px; }
.chera-brand img { max-height: 19px; }
.chera-header__actions { right: 8px; gap: 1px; }
.chera-header .chera-social { gap: 0; }
.chera-header .chera-social a { width: 22px; height: 44px; }
.chera-header .chera-social svg { width: 18px; height: 18px; }
.chera-menu-button { width: 38px; height: 44px; }
.chera-menu-button span { left: 8px; width: 23px; top: 19px; height: .5px; }
.chera-menu-button span+span { top: 25px; }
.chera-menu { width: min(340px, 100%); padding: 90px 48px 40px; }
.chera-menu-close { right: 15px; top: 0; width: 32px; height: 44px; }
.chera-menu-close span { top: 22px; }
.chera-menu__primary a { padding: 12px 0; }
.chera-menu .chera-menu__account { margin-top: 22px; padding-top: 20px; }
.chera-footer { padding: 65px 0 75px; }
.chera-footer__inner { display: flex; flex-direction: column; align-items: center; padding: 0 20px; }
.chera-footer__logo { width: 57px; font-size: 19px; }
.chera-footer__copyright { margin-top: 24px; font-size: 11px; text-align: center; }
.chera-footer__nav { display: none; }
}
.chera-menu__guide { display: grid; gap: 12px; margin-top: 24px; font-size: 11px; line-height: 1.8; }
:root {
  --chera-font-ja: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  --chera-font-en: "Cormorant Upright", "Noto Serif JP", Georgia, serif;
}
:root .chera-header,
:root .chera-menu,
:root .chera-footer {
  --chera-english: var(--chera-font-en); --chera-serif: var(--chera-font-ja);
}
:root .chera-menu .chera-menu__primary,
:root .chera-menu .chera-menu__account,
:root .chera-menu .chera-cart {
  font-family: var(--chera-font-en);
  font-weight: 600;
  font-style: normal;
}
.chera-header-spacer { display: none; }
@media (min-width: 768px) {
.chera-header.chera-header--enhanced { position: fixed; inset: 0 0 auto; transition: height .35s ease, background-color .35s ease, box-shadow .35s ease; }
.chera-header-spacer { display: block; height: var(--chera-header-height); }
.chera-header--enhanced .chera-brand { transition: width .35s ease; }
.chera-header--enhanced .chera-social svg { transition: width .35s ease, height .35s ease; }
.chera-header.chera-header--compact { height: 68px; background: rgba(255,255,255,.96); box-shadow: 0 3px 18px rgba(41,39,37,.06); }
.chera-header--compact .chera-brand { width: 108px; }
.chera-header--compact .chera-social svg { width: 28px; height: 28px; }
.chera-header--compact .chera-menu-button { width: 42px; }
}
@media (min-width: 768px) and (max-width: 1600px) {
:root { --chera-header-height: 96px; }
.chera-header:not(.chera-header--compact) .chera-brand { width: 130px; }
}
@media (prefers-reduced-motion: reduce) {
.chera-header.chera-header--enhanced,
.chera-header--enhanced .chera-brand,
.chera-header--enhanced .chera-social svg { transition: none; }
}
@media print {
.chera-header.chera-header--enhanced { position: relative; }
.chera-header-spacer { display: none; }
}
:root .chera-footer { border-top: 1px solid #eeebe8; }
:root .chera-footer__nav a { font-weight: 500; letter-spacing: .065em; line-height: 2; }
:root .chera-footer__copyright { font-weight: 300; color: #827c77; letter-spacing: .055em; }
.chera-footer__nav a { display: inline-block; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 6px; transition: color .3s, text-decoration-color .3s; }
.chera-footer__nav a:hover { color: #98806f; text-decoration-color: currentColor; }
.chera-menu[open] { animation: chera-menu-in .55s cubic-bezier(.2,.7,.2,1) both; }
.chera-menu[open]::backdrop { background: rgba(41,39,37,.12); animation: chera-fade-in .45s ease both; }
.chera-menu.is-closing::backdrop { animation: chera-fade-out .26s ease both; }
.chera-menu[open] .chera-menu__primary { animation: chera-content-in .65s .07s both; }
@keyframes chera-menu-in{ from { opacity:0; transform:translateX(24px); } to { opacity:1; transform:translateX(0); } }
@keyframes chera-content-in{ from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
@keyframes chera-fade-in{ from { opacity:0; } to { opacity:1; } }
@keyframes chera-fade-out{ from { opacity:1; } to { opacity:0; } }
@media (prefers-reduced-motion:reduce) {
.chera-menu[open],
.chera-menu[open]::backdrop,
.chera-menu.is-closing::backdrop,
.chera-menu[open] .chera-menu__primary { animation: none; }
.chera-footer__nav a { transition: none; }
}
:root .chera-menu { font-weight: 300; }
:root .chera-search input,
:root .chera-search button,
:root .chera-cart span { font-weight: 300; }
:root { --chera-hover-ease: cubic-bezier(.2,.65,.3,1); --chera-hover-ink: #766353; }
:root .chera-header a,
:root .chera-menu a,
:root .chera-footer a { opacity: 1; }
:root .chera-social a { border-radius: 50%; transition: background-color .35s ease; }
:root .chera-social svg { transition: transform .4s var(--chera-hover-ease), width .35s ease, height .35s ease; }
:root .chera-menu-button span,
:root .chera-menu-close span { transition: background-color .3s ease; }
:root .chera-menu__primary a,
:root .chera-menu__account a {
  background-image: linear-gradient(currentColor,currentColor);
  background-size: 0 1px; background-repeat: no-repeat; background-position: left bottom 5px;
  transition: color .35s ease, background-size .4s var(--chera-hover-ease), transform .4s var(--chera-hover-ease);
}
:root .chera-menu__guide a,
:root .chera-footer__nav a {
  text-decoration-line: underline; text-decoration-color: transparent;
  text-decoration-thickness: 1px; text-underline-offset: .3em;
  transition: color .3s ease, text-decoration-color .35s ease;
}
:root .chera-menu__primary a:focus-visible,
:root .chera-menu__account a:focus-visible { color: var(--chera-hover-ink); background-size: 100% 1px; }
:root .chera-footer__nav a:focus-visible,
:root .chera-menu__guide a:focus-visible { color: var(--chera-hover-ink); text-decoration-color: currentColor; }
@media (hover:hover) and (pointer:fine) {
:root .chera-menu__primary a:hover,
:root .chera-menu__account a:hover { color: var(--chera-hover-ink); background-size: 100% 1px; transform: translateX(3px); }
:root .chera-social a:hover { background-color: rgba(152,128,111,.10); }
:root .chera-social a:hover svg { transform: translateY(-2px); }
:root .chera-menu-button:hover span,
:root .chera-menu-close:hover span { background-color: #98806f; }
:root .chera-footer__nav a:hover,
:root .chera-menu__guide a:hover { color: var(--chera-hover-ink); text-decoration-color: currentColor; }
}
@media (prefers-reduced-motion:reduce) {
:root .chera-social a,
:root .chera-social svg,
:root .chera-menu__primary a,
:root .chera-menu__account a { transition: none; }
:root .chera-social a:hover svg,
:root .chera-menu__primary a:hover,
:root .chera-menu__account a:hover { transform: none; }
}
:root .chera-footer .chera-footer__nav a,
:root .chera-footer .chera-footer__nav a:hover,
:root .chera-footer .chera-footer__nav a:focus-visible {
  position: relative; text-decoration: none;
}
:root .chera-footer .chera-footer__nav a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0;
  height: 1px; background: currentColor;
  transform: scaleX(0); transform-origin: left center;
  transition: transform .4s cubic-bezier(.2,.65,.3,1); pointer-events: none;
}
@media (hover:hover) and (pointer:fine) {
:root .chera-footer .chera-footer__nav a:hover::after { transform: scaleX(1); }
}
:root .chera-footer .chera-footer__nav a:focus-visible::after { transform: scaleX(1); }
@media (prefers-reduced-motion:reduce) {
:root .chera-footer .chera-footer__nav a::after { transition: none; }
}
:root .chera-menu .chera-menu__primary a,
:root .chera-menu .chera-menu__primary a:hover,
:root .chera-menu .chera-menu__primary a:focus-visible,
:root .chera-menu .chera-menu__account a,
:root .chera-menu .chera-menu__account a:hover,
:root .chera-menu .chera-menu__account a:focus-visible,
:root .chera-menu .chera-menu__guide a,
:root .chera-menu .chera-menu__guide a:hover,
:root .chera-menu .chera-menu__guide a:focus-visible { background-image: none; text-decoration: none; }
:root .chera-menu .chera-menu__guide a { display: inline-block; transition: color .35s ease, transform .4s var(--chera-hover-ease); }
@media(hover:hover) and (pointer:fine) {
:root .chera-menu .chera-menu__guide a:hover { transform: translateX(3px); }
}
@media(min-width:768px) and (max-width:1024px) {
:root .chera-footer__nav a { font-size: 13px; }
}
@media(prefers-reduced-motion:reduce) {
:root .chera-menu .chera-menu__guide a { transition: none; }
:root .chera-menu .chera-menu__guide a:hover { transform: none; }
}
:root .chera-menu { z-index: 300; box-shadow: -12px 0 40px rgba(41,39,37,.07); }
:root .chera-header .chera-social a {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  opacity: 1;
  transition: opacity .3s ease;
}
:root .chera-header .chera-social svg {
  transform: none;
  transition: transform .4s var(--chera-hover-ease, ease);
}
:root .chera-header .chera-social a:hover {
  background: transparent;
  box-shadow: none;
  opacity: 1;
}
:root .chera-header .chera-social a:hover svg { transform: none; }
@media (min-width: 768px) {
:root .chera-header .chera-social { gap: 20px; }
:root .chera-header .chera-social a { width: 39px; height: 44px; }
:root .chera-header .chera-social svg { width: 39px; height: 39px; }
}
@media (hover: hover) {
:root .chera-header .chera-social a:hover { opacity: .7; }
:root .chera-header .chera-social a:hover svg { transform: translateY(-2px); }
}
@media (prefers-reduced-motion: reduce) {
:root .chera-header .chera-social a,
:root .chera-header .chera-social svg { transition: none; }
:root .chera-header .chera-social a:hover svg { transform: none; }
}
:root .chera-backtop { position: fixed; right: 28px; bottom: 28px; z-index: 90; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; width: 48px; height: 64px; padding: 8px; border: 1px solid #dedbd9; border-radius: 0; background: rgba(255,255,255,.94); color: #292725; cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(8px); pointer-events: none; transition: opacity .35s ease, transform .35s ease, visibility .35s, background-color .3s ease; }
:root .chera-backtop.is-visible { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
:root .chera-backtop svg { width: 16px; height: 22px; transition: transform .3s ease; }
:root .chera-backtop span { font: 500 8px/1 Arial, sans-serif; letter-spacing: .16em; }
:root .chera-backtop:focus-visible { outline: 2px solid #98806f; outline-offset: 4px; }
@media (hover: hover) {
:root .chera-backtop:hover { background: #faf7f5; }
:root .chera-backtop:hover svg { transform: translateY(-3px); }
}
@media (max-width: 767px) {
:root .chera-backtop { display: none; }
}
@media (prefers-reduced-motion: reduce) {
:root .chera-backtop,
:root .chera-backtop svg { transition: none; }
:root .chera-backtop:hover svg { transform: none; }
}
@media print {
:root .chera-backtop { display: none; }
}
:root .chera-footer__nav { display: flex; flex-direction: column; gap: 18px; }
:root .chera-footer__nav ul { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px 26px; }
:root .chera-footer__nav ul + ul { padding-top: 18px; border-top: 1px solid #dedbd9; }
@media (min-width: 768px) and (max-width: 1100px) {
:root .chera-footer__inner { grid-template-columns: 140px 1fr; column-gap: 28px; }
:root .chera-footer__nav ul { gap: 10px 18px; }
:root .chera-footer__nav a { font-size: 12px; }
}
@media (max-width: 767px) {
:root .chera-footer__nav { width: 100%; max-width: 420px; gap: 20px; }
:root .chera-footer__nav ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 18px; text-align: left; }
:root .chera-footer__nav ul + ul { padding-top: 20px; }
}
:root .chera-footer__nav ul + ul { border-top: 0; padding-top: 0; }
@media (max-width: 767px) {
:root { --chera-header-height: 66px; }
:root .chera-header { height: 66px; }
:root .chera-header.chera-header--enhanced { position: fixed; inset: 0 0 auto; background: rgba(255,255,255,.96); }
:root .chera-header-spacer { display: block; height: 66px; }
:root .chera-header .chera-brand { width: 76px; }
:root .chera-header .chera-brand img { max-height: 34px; }
:root .chera-header__actions { right: 8px; gap: 4px; }
:root .chera-header .chera-social { gap: 4px; }
:root .chera-header .chera-social a { width: 28px; height: 44px; }
:root .chera-header .chera-social svg { width: 26px; height: 26px; }
:root .chera-header .chera-menu-button { width: 36px; height: 66px; }
:root .chera-header .chera-menu-button span { top: 28px; }
:root .chera-header .chera-menu-button span + span { top: 36px; }
:root .chera-footer { border-top: 0; }
:root .chera-footer .chera-footer__nav { display: none; }
:root .chera-footer .chera-footer__logo { width: 114px; }
}
@media print {
:root .chera-header.chera-header--enhanced { position: relative; }
:root .chera-header-spacer { display: none; }
}
@media (max-width: 767px) {
:root .chera-menu .chera-menu__primary a { padding-top: 8px; padding-bottom: 8px; }
}
:root .chera-menu { padding-top: 110px; }
:root .chera-menu .chera-menu-close { top: 36px; right: 30px; width: 44px; height: 44px; }
:root .chera-menu .chera-menu-close span { top: 21.5px; left: 6px; width: 32px; }
@media (max-width: 767px) {
:root .chera-menu { padding-top: 76px; }
:root .chera-menu .chera-menu-close { top: 16px; right: 16px; width: 44px; height: 44px; }
:root .chera-menu .chera-menu-close span { top: 21.5px; left: 8px; width: 28px; }
}
:root .chera-backtop,
:root .chera-backtop:hover { border: 0; background: transparent; box-shadow: none; }
/* WP integration: browser resets and admin toolbar offsets. */
.chera-header button,.chera-menu button { border:0; background:transparent; }
.chera-header img,.chera-footer img { display:block; max-width:100%; height:auto; }
.chera-menu li { padding:0; margin:0; }
.chera-header { --chera-admin-offset:0px; }
.admin-bar .chera-header { --chera-admin-offset:32px; }
.chera-header.chera-header--enhanced { top:var(--chera-admin-offset); }
.admin-bar .chera-menu { top:32px; height:calc(100dvh - 32px); }
@media(max-width:782px) { .admin-bar .chera-header { --chera-admin-offset:46px; } .admin-bar .chera-menu { top:46px; height:calc(100dvh - 46px); } }
@media(max-width:600px) { #wpadminbar { position:fixed; } }
.chera-footer__copyright { font-family:var(--chera-serif); }
@media print { .chera-menu,.chera-backtop { display:none!important; } }

.cj-main [id], .cj-article [id], #chera-main { scroll-margin-top: 100px; }

/* Menu panel spacing: bring navigation up and inset the close control. */
:root .chera-menu { padding-top: 110px; }
:root .chera-menu .chera-menu-close { top: 36px; right: 30px; width: 44px; height: 44px; }
:root .chera-menu .chera-menu-close span { top: 21.5px; left: 6px; width: 32px; }
@media (max-width: 767px) {
  :root .chera-menu { padding-top: 76px; }
  :root .chera-menu .chera-menu-close { top: 16px; right: 16px; width: 44px; height: 44px; }
  :root .chera-menu .chera-menu-close span { top: 21.5px; left: 8px; width: 28px; }
}

/* Back-to-top: icon/text only; retain the existing hit area and focus outline. */
:root .chera-backtop,
:root .chera-backtop:hover { border: 0; background: transparent; box-shadow: none; }

/* WP global styles apply :focus to mouse clicks too. Keep keyboard focus visible. */
:root .wp-site-blocks :is(a, button, input, select, textarea, [tabindex]):focus:not(:focus-visible) {
  outline: none;
}
:root .wp-site-blocks :is(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 1px solid #98806f;
  outline-offset: 4px;
}
