/** Shopify CDN: Minification failed

Line 7:0 Unexpected "/"

**/
ライブラリ
/
fatcutpress.css.txt


/*
  FATCUTPRESS Theme Styles
  ------------------------
  Maintenance rule: preserve cascade order. Only exact duplicate declarations
  are removed; visual overrides remain in their original order.

  Main areas in this file:
  01. Foundation and shared tokens
  02. Header and navigation
  03. Collection and product cards
  04. Product detail and gallery
  05. Cart and cart drawer
  06. Information pages and footer
  07. Responsive/mobile overrides
  08. Final component overrides
*/

:root{
  --paper:#f7f4ef;
  --ink:#2a2825;
  --muted:#77716a;
  --line:rgba(42,40,37,.14);
  --glass:rgba(255,255,255,.20);
  --glass-strong:rgba(255,255,255,.42);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
body{overflow-x:hidden}
#fatcut-bg{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:0;pointer-events:none}
.site{position:relative;z-index:1;min-height:100vh}
.fatcut-header {
  position:sticky;top:0;z-index:30;display:grid;grid-template-columns:1fr auto 1fr;
  align-items:center;min-height:70px;padding:0 30px;border-bottom:1px solid var(--line);
  background:rgba(247,244,239,.55);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)
}
.nav,.actions{display:flex;gap:22px;align-items:center;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.actions{justify-content:flex-end}
a{color:inherit;text-decoration:none}
.brand{font-size:14px;font-weight:700;letter-spacing:.18em}
.page-wrap{min-height:calc(100vh - 70px)}
.hero{
  min-height:calc(100vh - 70px);display:flex;flex-direction:column;justify-content:flex-end;
  padding:60px 30px 46px;border-bottom:1px solid var(--line)
}
.hero .eyebrow,.eyebrow{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}
.hero h1{margin:0;font-size:clamp(70px,15vw,220px);line-height:.78;letter-spacing:-.07em;font-weight:500}
.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-top:36px}
.hero-copy{max-width:520px;font-size:13px;line-height:1.8;color:#5e5953}
.underlink{display:inline-block;padding-bottom:6px;border-bottom:1px solid currentColor;font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.section-head{display:flex;justify-content:space-between;align-items:end;padding:56px 30px 24px;border-bottom:1px solid var(--line)}
.section-head h1,.section-head h2{margin:0;font-size:clamp(42px,7vw,100px);line-height:.88;letter-spacing:-.055em;font-weight:500}
.meta{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.filters{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 30px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.10);backdrop-filter:blur(8px)}
.filter-list{display:flex;gap:20px;flex-wrap:wrap}
.filters button{padding:0;border:0;background:none;color:var(--muted);font-size:10px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.filters button.active{color:var(--ink)}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-left:1px solid var(--line)}
.product-card{position:relative;min-height:540px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.08);overflow:hidden}
.product-link{display:flex;flex-direction:column;height:100%}
.product-visual{position:relative;flex:1;display:grid;place-items:center;padding:54px 30px 24px}
.product-art{width:min(88%,380px);max-height:360px;filter:drop-shadow(0 24px 34px rgba(64,58,52,.12));transition:transform .35s ease}
.product-card:hover .product-art{transform:scale(1.01)}
.product-info{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:end;padding:18px 20px 20px;border-top:1px solid var(--line);background:rgba(255,255,255,.14);backdrop-filter:blur(8px)}
.product-name{margin:0 0 8px;font-size:13px;font-weight:500;letter-spacing:.02em}
.product-sub{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.product-price{font-size:11px;letter-spacing:.05em;white-space:nowrap}
.badge{position:absolute;top:18px;left:18px;z-index:2;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}
.product-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(340px,.6fr);min-height:calc(100vh - 70px)}
.visual{position:relative;display:grid;place-items:center;min-height:calc(100vh - 70px);padding:clamp(40px,7vw,110px);border-right:1px solid var(--line);overflow:hidden}
.product-main-art{width:min(67vw,760px);filter:drop-shadow(0 30px 44px rgba(64,58,52,.14))}
.image-index{position:absolute;left:24px;top:24px;display:flex;flex-direction:column;gap:7px}
.image-index button{width:54px;height:68px;border:1px solid var(--line);background:rgba(255,255,255,.18);color:var(--muted);font-size:9px;backdrop-filter:blur(8px);cursor:pointer}
.image-index button.active{background:rgba(255,255,255,.46);color:var(--ink)}
.details{display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 70px);padding:56px 38px;background:rgba(255,255,255,.22);backdrop-filter:blur(8px)}
.details h1{margin:0;font-size:clamp(30px,3.2vw,54px);line-height:.98;letter-spacing:-.04em;font-weight:500}
.price{margin:18px 0 34px;font-size:13px;letter-spacing:.06em}
.label{margin-bottom:10px;font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:var(--muted)}
.sizes{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:22px}
.sizes button{height:44px;border:1px solid var(--line);background:rgba(255,255,255,.22);color:var(--ink);cursor:pointer;transition:.2s}
.sizes button:hover,.sizes button.active{background:var(--ink);color:white;border-color:var(--ink)}
.cart-btn{height:54px;border:0;background:var(--ink);color:white;font-size:10px;letter-spacing:.16em;cursor:pointer;margin-bottom:30px}
.meta-accordion{border-top:1px solid var(--line)}
details{padding:18px 0;border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
details p{margin:14px 0 0;color:#605b55;font-size:13px;line-height:1.75}
.cart-page{display:grid;grid-template-columns:1.35fr .65fr;min-height:calc(100vh - 70px)}
.cart-list{border-right:1px solid var(--line)}
.cart-item{display:grid;grid-template-columns:180px 1fr auto;gap:24px;padding:24px;border-bottom:1px solid var(--line);align-items:center;background:rgba(255,255,255,.08)}
.cart-thumb{min-height:180px;display:grid;place-items:center}
.cart-thumb svg{width:150px}
.cart-summary{padding:48px 34px;background:rgba(255,255,255,.22);backdrop-filter:blur(10px)}
.cart-summary h2{margin:0 0 28px;font-size:32px;font-weight:500;letter-spacing:-.03em}
.summary-row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}
.checkout{width:100%;height:54px;margin-top:24px;border:0;background:var(--ink);color:#fff;letter-spacing:.15em;font-size:10px;cursor:pointer}
.journal-grid{display:grid;grid-template-columns:repeat(2,1fr)}
.journal-card{min-height:520px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:flex-end;background:rgba(255,255,255,.08)}
.journal-card h2{font-size:42px;line-height:.95;letter-spacing:-.04em;font-weight:500;margin:0 0 14px}
.journal-card p{max-width:540px;color:var(--muted);font-size:13px;line-height:1.8}
.toast{position:fixed;right:24px;bottom:24px;z-index:50;padding:14px 18px;background:rgba(42,40,37,.92);color:#fff;font-size:10px;letter-spacing:.12em;text-transform:uppercase;opacity:0;transform:translateY(10px);transition:.25s;pointer-events:none}
.toast.show{opacity:1;transform:none}
@media(max-width:980px){
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-card{min-height:470px}
  .cart-page{display:block}
  .cart-list{border-right:0}
}
@media(max-width:680px){
  header{grid-template-columns:auto 1fr auto;padding:0 18px}
  .nav{display:none}
  .brand{margin-left:18px}
  .hero{padding:40px 18px 28px}
  .hero-bottom{display:block}
  .hero-copy{margin-bottom:24px}
  .section-head{display:block;padding:42px 18px 22px}
  .meta{margin-top:18px}
  .filters{padding:14px 18px;overflow:auto}
  .filter-list{flex-wrap:nowrap}
  .product-grid{grid-template-columns:1fr 1fr}
  .product-card{min-height:360px}
  .product-visual{padding:42px 12px 16px}
  .product-art{width:95%;max-height:230px}
  .product-info{display:block;padding:14px 12px 16px}
  .product-price{margin-top:10px}
  .product-layout{display:block}
  .visual{min-height:64vh;padding:76px 20px 44px;border-right:0;border-bottom:1px solid var(--line)}
  .product-main-art{width:min(92vw,600px)}
  .details{min-height:auto;padding:40px 22px 60px}
  .image-index{display:none}
  .cart-item{grid-template-columns:110px 1fr;gap:16px}
  .cart-item > :last-child{grid-column:2}
  .cart-thumb{min-height:120px}
  .cart-thumb svg{width:100px}
  .journal-grid{grid-template-columns:1fr}
  .journal-card{min-height:420px}
}


/* FATCUTPRESS Version 1.0 */
html {
  background: var(--paper);
}

body {
  opacity: 1;
  transition: opacity .42s ease;
}

body.is-leaving {
  opacity: 0;
}

body.is-entering {
  animation: fatcutFadeIn .62s ease both;
}

@keyframes fatcutFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Product information appears softly on hover */
.product-card .product-info {
  transform: translateY(10px);
  opacity: .42;
  transition:
    transform .42s cubic-bezier(.2,.7,.2,1),
    opacity .42s ease,
    background .42s ease;
}

.product-card:hover .product-info,
.product-card:focus-within .product-info {
  transform: translateY(0);
  opacity: 1;
  background: rgba(255,255,255,.22);
}

/* Keep the product controls present while scrolling on desktop */
@media (min-width: 901px) {
  .details {
    position: sticky;
    top: 70px;
    align-self: start;
    height: calc(100vh - 70px);
    overflow: auto;
  }
}

/* Very subtle paper grain above the animated background */
.site::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -0.5;
  pointer-events: none;
  opacity: .055;
  background-image:
    repeating-radial-gradient(
      circle at 15% 25%,
      rgba(35,32,29,.25) 0,
      rgba(35,32,29,.25) .4px,
      transparent .7px,
      transparent 2.6px
    );
  background-size: 7px 7px;
  mix-blend-mode: multiply;
}

/* Preserve readability on touch devices */
@media (hover: none) {
  .product-card .product-info {
    transform: none;
    opacity: 1;
  }
}


/* Version 1.0 — refined product hover */
.product-card .product-info {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 4;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 18px;
  padding: 20px;
  border-top: 0;
  background:
    linear-gradient(
      to top,
      rgba(247,244,239,.92) 0%,
      rgba(247,244,239,.66) 52%,
      rgba(247,244,239,0) 100%
    );
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  opacity: 0;
  transform: translateY(18px);
  pointer-events: none;
  transition:
    opacity .35s ease,
    transform .35s cubic-bezier(.2,.7,.2,1);
}

.product-card:hover .product-info,
.product-card:focus-within .product-info {
  opacity: 1;
  transform: translateY(0);
}

.product-card .product-sub {
  display: none;
}

.product-card .product-name {
  margin: 0;
}

.product-card .product-price {
  margin: 0;
}

/* Localized fog gathering around hovered product */
.product-card::before,
.product-card::after {
  content: "";
  position: absolute;
  z-index: 1;
  pointer-events: none;
  border-radius: 50%;
  opacity: 0;
  filter: blur(14px);
  transition:
    opacity .45s ease,
    transform .6s cubic-bezier(.2,.7,.2,1);
}

.product-card::before {
  width: 68%;
  aspect-ratio: 1;
  left: -12%;
  top: 16%;
  background:
    radial-gradient(
      circle,
      rgba(167,155,141,.20) 0%,
      rgba(198,188,176,.14) 45%,
      rgba(247,244,239,0) 72%
    );
  transform: translate(-8%, 8%) scale(.92);
}

.product-card::after {
  width: 60%;
  aspect-ratio: 1;
  right: -10%;
  top: 28%;
  background:
    radial-gradient(
      circle,
      rgba(146,136,125,.16) 0%,
      rgba(204,195,184,.12) 48%,
      rgba(247,244,239,0) 74%
    );
  transform: translate(10%, -6%) scale(.90);
}

.product-card:hover::before,
.product-card:hover::after,
.product-card:focus-within::before,
.product-card:focus-within::after {
  opacity: 1;
  transform: translate(0, 0) scale(1);
}

.product-card .product-visual,
.product-card .product-art {
  position: relative;
  z-index: 2;
}

/* Keep information visible on touch devices */
@media (hover: none) {
  .product-card .product-info {
    position: relative;
    opacity: 1;
    transform: none;
    pointer-events: auto;
    border-top: 1px solid var(--line);
    background: rgba(255,255,255,.14);
  }

  .product-card::before,
  .product-card::after {
    display: none;
  }
}


/* =========================================================
   FATCUTPRESS Version 2.0
   ========================================================= */

/* Remove local fog-gathering effect from Version 1.0 hover update */
.product-card::before,
.product-card::after {
  display: none !important;
}

/* Product information: completely hidden until hover on desktop */
.product-card .product-info {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 4;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 18px;
  padding: 22px 20px 20px;
  border-top: 0;
  background:
    linear-gradient(
      to top,
      rgba(247,244,239,.94) 0%,
      rgba(247,244,239,.72) 48%,
      rgba(247,244,239,0) 100%
    );
  opacity: 0;
  transform: translateY(18px);
  pointer-events: none;
  transition:
    opacity .35s ease,
    transform .35s cubic-bezier(.2,.7,.2,1);
}


.product-card .product-sub {
  display: none !important;
}

.product-card .product-art {
  transform: translateY(0) scale(1);
  transition: transform .55s cubic-bezier(.2,.7,.2,1);
}

.product-card:hover .product-art,
.product-card:focus-within .product-art {
  transform: translateY(-3px) scale(1.006);
}

/* Gentle staggered reveal when a page opens */
.product-card {
  opacity: 0;
  transform: translateY(14px);
  animation: fatcutCardReveal .78s cubic-bezier(.2,.7,.2,1) forwards;
}

.product-card:nth-child(1) { animation-delay: .04s; }
.product-card:nth-child(2) { animation-delay: .12s; }
.product-card:nth-child(3) { animation-delay: .20s; }
.product-card:nth-child(4) { animation-delay: .28s; }
.product-card:nth-child(5) { animation-delay: .36s; }
.product-card:nth-child(6) { animation-delay: .44s; }

@keyframes fatcutCardReveal {
  from {
    opacity: 0;
    transform: translateY(14px) scale(.992);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* Product page spacing */
.details {
  scrollbar-width: thin;
  scrollbar-color: rgba(42,40,37,.18) transparent;
}

.details::-webkit-scrollbar {
  width: 4px;
}

.details::-webkit-scrollbar-thumb {
  background: rgba(42,40,37,.18);
}

/* Smooth accordion */
.fatcut-accordion {
  border-top: 1px solid var(--line);
}

.fatcut-accordion__item {
  border-bottom: 1px solid var(--line);
}

.fatcut-accordion__trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 19px 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  text-align: left;
  font: inherit;
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.fatcut-accordion__icon {
  position: relative;
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  transition: transform .35s cubic-bezier(.2,.7,.2,1);
}

.fatcut-accordion__icon::before,
.fatcut-accordion__icon::after {
  content: "";
  position: absolute;
  left: 1px;
  top: 6px;
  width: 12px;
  height: 1px;
  background: currentColor;
}

.fatcut-accordion__icon::after {
  transform: rotate(90deg);
}

.fatcut-accordion__item.is-open .fatcut-accordion__icon {
  transform: rotate(45deg);
}

.fatcut-accordion__panel {
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition:
    height .35s cubic-bezier(.2,.7,.2,1),
    opacity .24s ease;
}

.fatcut-accordion__item.is-closing .fatcut-accordion__panel {
  transition:
    height .22s cubic-bezier(.4,0,1,1),
    opacity .16s ease;
}

.fatcut-accordion__content {
  padding: 0 0 20px;
  color: #605b55;
  font-size: 13px;
  line-height: 1.75;
  transform: translateY(7px);
  transition: transform .35s cubic-bezier(.2,.7,.2,1);
}

.fatcut-accordion__item.is-open .fatcut-accordion__panel {
  opacity: 1;
}

.fatcut-accordion__item.is-open .fatcut-accordion__content {
  transform: translateY(0);
}

/* Page transition remains subtle */
body {
  transition: opacity .38s ease;
}


/* Touch devices always show product information */
@media (hover: none) {
  .product-card .product-info {
    position: relative;
    opacity: 1;
    transform: none;
    pointer-events: auto;
    border-top: 1px solid var(--line);
    background: rgba(255,255,255,.14);
  }

  .product-card .product-art {
    transform: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .product-card,
  .product-card .product-info,
  .product-card .product-art,
  .fatcut-accordion__panel,
  .fatcut-accordion__content,
  .fatcut-accordion__icon,
  body {
    animation: none !important;
    transition: none !important;
  }

  .product-card {
    opacity: 1;
    transform: none;
  }
}


/* =========================================================
   FATCUTPRESS Version 2.1
   Accordion opens downward only
   ========================================================= */

.fatcut-accordion__panel {
  display: grid !important;
  grid-template-rows: 0fr;
  height: auto !important;
  overflow: hidden;
  opacity: 0;
  transition:
    grid-template-rows .35s cubic-bezier(.2,.7,.2,1),
    opacity .24s ease;
}

.fatcut-accordion__item.is-open .fatcut-accordion__panel {
  grid-template-rows: 1fr;
  opacity: 1;
}

.fatcut-accordion__content {
  min-height: 0;
  overflow: hidden;
  padding: 0;
  transform: none !important;
  transition: padding .35s cubic-bezier(.2,.7,.2,1);
}

.fatcut-accordion__item.is-open .fatcut-accordion__content {
  padding: 0 0 20px;
}

/* No upward-shift closing state */
.fatcut-accordion__item.is-closing .fatcut-accordion__panel {
  transition:
    grid-template-rows .22s cubic-bezier(.4,0,1,1),
    opacity .16s ease;
}

/* Keep brand centered after removing left navigation */
header .nav {
  min-width: 1px;
}


/* FATCUTPRESS V2.3 footer */
.fatcut-footer {
  position: relative;
  z-index: 2;
  border-top: 1px solid var(--line);
  padding: 26px 30px;
  background: rgba(247,244,239,.34);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.fatcut-footer__nav {
  display: flex;
  align-items: center;
  gap: clamp(24px, 4.5vw, 72px);
  flex-wrap: wrap;
}

.fatcut-footer__nav a {
  position: relative;
  padding-bottom: 4px;
  font-size: 10px;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--ink);
}

.fatcut-footer__nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 0;
  height: 1px;
  background: currentColor;
  transition: right .3s ease;
}

.fatcut-footer__nav a:hover::after,
.fatcut-footer__nav a:focus-visible::after {
  right: 0;
}

/* Contact page */
.contact-page {
  min-height: calc(100vh - 70px);
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  border-bottom: 1px solid var(--line);
}

.contact-intro {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: calc(100vh - 70px);
  padding: clamp(42px, 6vw, 92px) 30px;
  border-right: 1px solid var(--line);
}

.contact-intro h1 {
  margin: 0;
  font-size: clamp(58px, 10vw, 150px);
  line-height: .82;
  letter-spacing: -.065em;
  font-weight: 500;
}

.contact-intro p {
  max-width: 460px;
  margin: 34px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.8;
}

.contact-form-wrap {
  display: flex;
  align-items: center;
  min-height: calc(100vh - 70px);
  padding: clamp(42px, 6vw, 88px) clamp(24px, 4vw, 56px);
  background: rgba(255,255,255,.18);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.contact-form {
  width: 100%;
}

.contact-field {
  margin-bottom: 24px;
}

.contact-field label {
  display: block;
  margin-bottom: 9px;
  font-size: 9px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--muted);
}

.contact-field input,
.contact-field textarea,
.contact-field select {
  width: 100%;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  padding: 12px 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-size: 13px;
  outline: none;
}

.contact-field textarea {
  min-height: 130px;
  resize: vertical;
}

.contact-field input:focus,
.contact-field textarea:focus,
.contact-field select:focus {
  border-bottom-color: var(--ink);
}

.contact-submit {
  width: 100%;
  height: 54px;
  border: 0;
  border-radius: 0;
  background: var(--ink);
  color: #fff;
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  cursor: pointer;
}

.contact-note {
  margin-top: 18px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.7;
}

.contact-success {
  display: none;
  margin-top: 18px;
  font-size: 11px;
  letter-spacing: .08em;
}

.contact-success.show {
  display: block;
}

@media (max-width: 760px) {
  .fatcut-footer {
    padding: 24px 18px;
  }

  .fatcut-footer__nav {
    gap: 18px 24px;
  }

  .contact-page {
    display: block;
  }

  .contact-intro {
    min-height: 52vh;
    padding: 54px 18px 34px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .contact-form-wrap {
    min-height: auto;
    padding: 40px 18px 56px;
  }
}


/* =========================================================
   FATCUTPRESS V2.4 TEST
   Compact header / centered footer / direct collection grid
   ========================================================= */

header {
  min-height: 52px !important;
  height: 52px;
  padding: 0 22px !important;
}

.brand {
  font-size: 13px;
}

.actions {
  font-size: 10px;
}

/* Footer links centered */
.fatcut-footer {
  padding: 24px 22px !important;
}

.fatcut-footer__nav {
  justify-content: center;
  width: 100%;
  gap: clamp(22px, 4vw, 58px);
}

/* Collection page begins directly with products */
body.collection-page .section-head,
body.collection-page .filters {
  display: none !important;
}

body.collection-page .product-grid {
  padding-top: 52px;
  min-height: calc(100vh - 52px);
  align-content: center;
}

body.collection-page .product-card {
  min-height: 480px;
}

/* Keep background visible around the grid */
body.collection-page .product-grid {
  background: transparent;
}

@media (max-width: 680px) {
  header {
    min-height: 48px !important;
    height: 48px;
    padding: 0 14px !important;
  }

  .brand {
    font-size: 12px;
  }

  .fatcut-footer__nav {
    justify-content: center;
    gap: 16px 22px;
  }

  body.collection-page .product-grid {
    padding-top: 48px;
  }
}


/* FATCUTPRESS V2.5 — collection starts directly below header */
body.collection-page .product-grid {
  padding-top: 0 !important;
  min-height: 0 !important;
  align-content: stretch !important;
  margin-top: 0 !important;
}

body.collection-page .page-wrap {
  min-height: 0;
}

body.collection-page .product-card {
  min-height: 500px;
}

/* Remove any accidental filter/sort remnants */
body.collection-page .filters,
body.collection-page .section-head,
body.collection-page main > button {
  display: none !important;
}

@media (max-width: 680px) {
  body.collection-page .product-grid {
    padding-top: 0 !important;
  }

  body.collection-page .product-card {
    min-height: 360px;
  }
}


/* =========================================================
   FATCUTPRESS V2.6
   Header breathing room / transparent footer / downward accordion
   ========================================================= */

/* Slightly more vertical breathing room in header */
header {
  min-height: 64px !important;
  height: 64px !important;
  padding: 0 24px !important;
}

.brand {
  font-size: 13px;
}

/* Footer fully integrated with animated background */
.fatcut-footer {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-top: 1px solid rgba(42,40,37,.10) !important;
  padding: 28px 22px !important;
}

.fatcut-footer__nav {
  justify-content: center;
}

/* Accordion opens downward from a fixed trigger line */
.fatcut-accordion__item {
  position: relative;
}

.fatcut-accordion__trigger {
  position: relative;
  z-index: 2;
  background: transparent;
}

.fatcut-accordion__panel {
  display: grid !important;
  grid-template-rows: 0fr;
  height: auto !important;
  min-height: 0;
  overflow: hidden;
  opacity: 0;
  transition:
    grid-template-rows .34s cubic-bezier(.2,.7,.2,1),
    opacity .22s ease;
}

.fatcut-accordion__item.is-open .fatcut-accordion__panel {
  grid-template-rows: 1fr;
  opacity: 1;
}

.fatcut-accordion__content {
  min-height: 0;
  overflow: hidden;
  padding: 0;
  transform: none !important;
  transition: padding-bottom .34s cubic-bezier(.2,.7,.2,1);
}

.fatcut-accordion__item.is-open .fatcut-accordion__content {
  padding-bottom: 20px;
}

/* Avoid upward jump while closing */
.fatcut-accordion__item.is-closing .fatcut-accordion__panel {
  transition:
    grid-template-rows .22s cubic-bezier(.4,0,1,1),
    opacity .15s ease;
}

@media (max-width: 680px) {
  header {
    min-height: 58px !important;
    height: 58px !important;
    padding: 0 16px !important;
  }

  .fatcut-footer {
    padding: 24px 16px !important;
  }
}


/* =========================================================
   FATCUTPRESS V2.7
   Keep upper product information fixed.
   Only the area below ADD TO CART expands downward.
   ========================================================= */

@media (min-width: 901px) {
  .product-layout {
    align-items: start;
  }

  .details {
    justify-content: flex-start !important;
    align-self: start;
    top: 64px;
    height: calc(100vh - 64px);
    padding-top: clamp(54px, 8vh, 92px);
    padding-bottom: 40px;
    overflow-y: auto;
    overflow-x: hidden;
  }

  /* Product name, price, size and cart remain anchored at the top */
  .details > .eyebrow,
  .details > h1,
  .details > .price,
  .details > .label,
  .details > .sizes,
  .details > .cart-btn {
    flex: 0 0 auto;
  }

  /* Accordion begins below ADD TO CART and only grows downward */
  .details > .fatcut-accordion {
    flex: 0 0 auto;
    width: 100%;
  }
}

/* The trigger line stays in place; content expands below it */
.fatcut-accordion__trigger {
  transform: none !important;
}

.fatcut-accordion__panel {
  transform-origin: top;
}

.fatcut-accordion__content {
  transform-origin: top;
}

/* Mobile also starts from the top instead of vertical centering */
@media (max-width: 900px) {
  .details {
    justify-content: flex-start !important;
  }
}


/* =========================================================
   FATCUTPRESS V2.8 — Bilingual Privacy Policy
   ========================================================= */

.privacy-page {
  min-height: calc(100vh - 64px);
  border-bottom: 1px solid var(--line);
}

.privacy-hero {
  padding: clamp(54px, 8vw, 110px) 30px 44px;
  border-bottom: 1px solid var(--line);
}

.privacy-hero h1 {
  margin: 0;
  font-size: clamp(54px, 10vw, 148px);
  line-height: .82;
  letter-spacing: -.065em;
  font-weight: 500;
}

.privacy-toolbar {
  position: sticky;
  top: 64px;
  z-index: 8;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 14px 30px;
  border-bottom: 1px solid var(--line);
  background: rgba(247,244,239,.72);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.privacy-lang {
  min-width: 54px;
  height: 34px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  color: var(--muted);
  font-size: 9px;
  letter-spacing: .14em;
  cursor: pointer;
}

.privacy-lang.active {
  background: var(--ink);
  color: #fff;
  border-color: var(--ink);
}

.privacy-content {
  max-width: 960px;
  margin: 0 auto;
  padding: 58px 30px 100px;
}

.privacy-version {
  display: none;
}

.privacy-version.active {
  display: block;
}

.privacy-intro {
  max-width: 830px;
  margin: 0 0 54px;
  color: #514c46;
  font-size: 14px;
  line-height: 1.9;
}

.privacy-section {
  display: grid;
  grid-template-columns: 200px minmax(0,1fr);
  gap: 34px;
  padding: 28px 0;
  border-top: 1px solid var(--line);
}

.privacy-section:last-child {
  border-bottom: 1px solid var(--line);
}

.privacy-section h2 {
  margin: 0;
  font-size: 11px;
  line-height: 1.5;
  letter-spacing: .09em;
  font-weight: 500;
}

.privacy-section__body {
  color: #5d5852;
  font-size: 13px;
  line-height: 1.85;
}

.privacy-section__body p {
  margin: 0 0 13px;
}

.privacy-section__body p:last-child {
  margin-bottom: 0;
}

.privacy-section__body ul,
.privacy-section__body ol {
  margin: 10px 0 0;
  padding-left: 1.4em;
}

.privacy-section__body li {
  margin: 7px 0;
}

.privacy-section__body a {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.privacy-legal-note {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 30px 70px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.7;
}

@media (max-width: 760px) {
  .privacy-hero {
    padding: 50px 18px 30px;
  }

  .privacy-toolbar {
    top: 58px;
    padding: 12px 18px;
  }

  .privacy-content {
    padding: 40px 18px 70px;
  }

  .privacy-section {
    display: block;
  }

  .privacy-section h2 {
    margin-bottom: 15px;
  }

  .privacy-legal-note {
    padding: 0 18px 50px;
  }
}


/* =========================================================
   FATCUTPRESS V2.9 — Bilingual Shipping & Returns
   ========================================================= */

.shipping-page {
  min-height: calc(100vh - 64px);
  border-bottom: 1px solid var(--line);
}

.shipping-hero {
  padding: clamp(54px, 8vw, 110px) 30px 44px;
  border-bottom: 1px solid var(--line);
}

.shipping-hero h1 {
  margin: 0;
  font-size: clamp(52px, 9vw, 136px);
  line-height: .84;
  letter-spacing: -.065em;
  font-weight: 500;
}

.shipping-toolbar {
  position: sticky;
  top: 64px;
  z-index: 8;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 14px 30px;
  border-bottom: 1px solid var(--line);
  background: rgba(247,244,239,.72);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.shipping-lang {
  min-width: 54px;
  height: 34px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  color: var(--muted);
  font-size: 9px;
  letter-spacing: .14em;
  cursor: pointer;
}

.shipping-lang.active {
  background: var(--ink);
  color: #fff;
  border-color: var(--ink);
}

.shipping-content {
  max-width: 960px;
  margin: 0 auto;
  padding: 58px 30px 100px;
}

.shipping-version {
  display: none;
}

.shipping-version.active {
  display: block;
}

.shipping-section {
  display: grid;
  grid-template-columns: 220px minmax(0,1fr);
  gap: 34px;
  padding: 30px 0;
  border-top: 1px solid var(--line);
}

.shipping-section:last-child {
  border-bottom: 1px solid var(--line);
}

.shipping-section h2 {
  margin: 0;
  font-size: 11px;
  line-height: 1.5;
  letter-spacing: .09em;
  font-weight: 500;
}

.shipping-section__body {
  color: #5d5852;
  font-size: 13px;
  line-height: 1.9;
}

.shipping-section__body p {
  margin: 0 0 14px;
}

.shipping-section__body ul,
.shipping-section__body ol {
  margin: 10px 0 0;
  padding-left: 1.4em;
}

.shipping-section__body li {
  margin: 8px 0;
}

.shipping-note {
  margin-top: 18px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.8;
}

@media (max-width: 760px) {
  .shipping-hero {
    padding: 50px 18px 30px;
  }

  .shipping-toolbar {
    top: 58px;
    padding: 12px 18px;
  }

  .shipping-content {
    padding: 40px 18px 70px;
  }

  .shipping-section {
    display: block;
  }

  .shipping-section h2 {
    margin-bottom: 15px;
  }
}


/* =========================================================
   FATCUTPRESS V3.0 — Unified information pages
   CONTACT / PRIVACY POLICY / SHIPPING & RETURNS
   ========================================================= */

:root {
  --info-page-x: 30px;
  --info-page-top: 76px;
  --info-content-max: 1040px;
  --info-title-size: clamp(46px, 6.4vw, 92px);
}

/* Shared page headings */
.contact-intro,
.privacy-hero,
.shipping-hero {
  padding-left: var(--info-page-x) !important;
  padding-right: var(--info-page-x) !important;
}

.contact-intro {
  justify-content: flex-start !important;
  min-height: auto !important;
  padding-top: var(--info-page-top) !important;
  padding-bottom: 50px !important;
}

.privacy-hero,
.shipping-hero {
  padding-top: var(--info-page-top) !important;
  padding-bottom: 38px !important;
}

.contact-intro h1,
.privacy-hero h1,
.shipping-hero h1 {
  margin: 0 !important;
  max-width: 900px;
  font-size: var(--info-title-size) !important;
  line-height: .94 !important;
  letter-spacing: -.045em !important;
  font-weight: 500 !important;
  text-transform: none !important;
}

.contact-intro .eyebrow,
.privacy-hero .eyebrow,
.shipping-hero .eyebrow {
  margin-bottom: 18px !important;
}

/* Use title case instead of oversized all-caps line breaks */
.privacy-hero h1 br,
.shipping-hero h1 br {
  display: none;
}

/* Consistent content positioning */
.privacy-content,
.shipping-content {
  width: min(100%, var(--info-content-max));
  margin: 0 auto !important;
  padding: 54px var(--info-page-x) 96px !important;
}

.privacy-legal-note {
  width: min(100%, var(--info-content-max));
  margin: 0 auto !important;
  padding-left: var(--info-page-x) !important;
  padding-right: var(--info-page-x) !important;
}

/* Same language selector layout */
.privacy-toolbar,
.shipping-toolbar {
  min-height: 58px;
  align-items: center;
  padding-left: var(--info-page-x) !important;
  padding-right: var(--info-page-x) !important;
}

/* Contact page uses same top alignment */
.contact-page {
  grid-template-columns: minmax(0, 1fr) minmax(390px, .86fr) !important;
}

.contact-intro p {
  max-width: 520px !important;
  margin-top: 28px !important;
}

.contact-form-wrap {
  align-items: flex-start !important;
  min-height: auto !important;
  padding-top: var(--info-page-top) !important;
  padding-bottom: 70px !important;
}

/* Reduce section-title dominance */
.privacy-section h2,
.shipping-section h2 {
  font-size: 10px !important;
  letter-spacing: .11em !important;
  text-transform: uppercase;
}

@media (max-width: 760px) {
  :root {
    --info-page-x: 18px;
    --info-page-top: 50px;
    --info-title-size: clamp(38px, 12vw, 60px);
  }

  .contact-intro,
  .privacy-hero,
  .shipping-hero {
    padding-top: var(--info-page-top) !important;
    padding-bottom: 28px !important;
  }

  .contact-form-wrap {
    padding-top: 38px !important;
  }

  .privacy-toolbar,
  .shipping-toolbar {
    min-height: 52px;
  }
}


/* =========================================================
   FATCUTPRESS V3.1 — Inline language switch
   ========================================================= */

.privacy-hero,
.shipping-hero {
  position: relative;
}

/* Remove the white language bar completely */
.privacy-toolbar,
.shipping-toolbar {
  position: static !important;
  top: auto !important;
  min-height: 0 !important;
  justify-content: flex-start !important;
  gap: 18px !important;
  padding: 18px var(--info-page-x) 0 !important;
  border-bottom: 0 !important;
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Language selector becomes simple text */
.privacy-lang,
.shipping-lang {
  min-width: 0 !important;
  height: auto !important;
  padding: 0 0 5px !important;
  border: 0 !important;
  border-bottom: 1px solid transparent !important;
  background: transparent !important;
  color: var(--muted) !important;
  font-size: 10px !important;
  letter-spacing: .16em !important;
  line-height: 1 !important;
  transition:
    color .22s ease,
    border-color .22s ease;
}

.privacy-lang:hover,
.shipping-lang:hover {
  color: var(--ink) !important;
}

.privacy-lang.active,
.shipping-lang.active {
  background: transparent !important;
  color: var(--ink) !important;
  border-bottom-color: var(--ink) !important;
}

/* Bring content closer after removing the toolbar band */
.privacy-content,
.shipping-content {
  padding-top: 42px !important;
}

@media (max-width: 760px) {
  .privacy-toolbar,
  .shipping-toolbar {
    padding: 16px var(--info-page-x) 0 !important;
  }

  .privacy-content,
  .shipping-content {
    padding-top: 34px !important;
  }
}


/* =========================================================
   FATCUTPRESS V4.0 — Final empty catalog treatment
   ========================================================= */

#empty-trail {
  position: fixed;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  mix-blend-mode: multiply;
  filter: blur(4px);
  opacity: .82;
}

body.empty-catalog .site {
  position: relative;
  z-index: 1;
  min-height: 100vh;
}

body.empty-catalog header {
  background: rgba(247,244,239,.48) !important;
}

.empty-catalog-main {
    min-height: calc(100vh - 64px);
    display: grid;
    place-items: center;
    padding: 80px 0 110px;   /* ← 24px を 0 に変更 */
    text-align: center;
    width: 100%;
}

.empty-catalog-main p {
    margin: 0 auto;
    color: var(--ink);
    font-size: 10px;
    line-height: 1.5;
    letter-spacing: .15em;
    text-transform: uppercase;
    font-weight: 400;
    text-align: center;
}

body.empty-catalog .fatcut-footer {
  position: relative;
  z-index: 2;
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

@media (max-width: 680px) {
  .empty-catalog-main {
    min-height: calc(100vh - 58px);
    padding: 64px 18px 88px;
  }

  .empty-catalog-main p {
    font-size: 9px;
  }

  #empty-trail {
    opacity: .72;
  }
}


/* V4.1 white trail tuning */
#empty-trail{
  mix-blend-mode:screen !important;
  filter:blur(6px) !important;
  opacity:.72 !important;
}


/* FATCUTPRESS V4.2 — no cursor trail on empty catalog */
#empty-trail {
  display: none !important;
}


/* V4.8 — Product title refinement */
.product-title,
.product-detail__title,
.product-info h1,
.product-info__title{
  letter-spacing: 0.12em !important;
  line-height: 1.45;
}


/* =========================================================
   FATCUTPRESS V4.9 — Product title final refinement
   ========================================================= */

.product-title,
.product-detail__title,
.product-info h1,
.product-info__title{
  letter-spacing: 0.14em !important;
  line-height: 1.48 !important;
  margin-bottom: 8px !important;
}

.product-price,
.product-detail__price{
  margin-top: 0 !important;
}


/* =========================================================
   FATCUTPRESS V1.0 FINAL
   Final visual refinements
   ========================================================= */

/* Product detail */
.product-title,
.product-detail__title,
.product-info h1,
.product-info__title{
  letter-spacing:0.14em !important;
  line-height:1.48 !important;
  margin-bottom:8px !important;
}

.product-price,
.product-detail__price{
  margin-top:0 !important;
}

/* Keep only FATCUTPRESS above the title */
.product-season,
.product-meta-season,
.product-subtitle{
  display:none !important;
}

.product-brand,
.product-detail__brand{
  display:block;
  letter-spacing:.22em;
  font-size:10px;
  opacity:.75;
  margin-bottom:14px;
}

/* Collection cards */
.product-badge--new,
.badge-new,
.badge--new{
  display:none !important;
}

/* Borderless grid */
.product-grid,
.collection-grid,
.products-grid,
.product-card,
.product-item{
  border:none !important;
}


/* =========================================================
   FINAL — remove NEW / quantity controls
   ========================================================= */

.badge,
.product-badge--new,
.badge-new,
.badge--new,
.product-card__badge,
.card__badge,
[class*="new-badge"],
[class*="badge-new"] {
  display: none !important;
}

.quantity-selector {
  display: grid;
  grid-template-columns: 44px minmax(52px, 1fr) 44px;
  width: 100%;
  max-width: 220px;
  height: 44px;
  margin-bottom: 18px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.16);
}

.quantity-selector button,
.quantity-selector input {
  min-width: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-size: 12px;
  text-align: center;
}

.quantity-selector button {
  cursor: pointer;
  transition: background .22s ease;
}

.quantity-selector button:hover {
  background: rgba(42,40,37,.06);
}

.quantity-selector input {
  width: 100%;
  border-left: 1px solid var(--line);
  border-right: 1px solid var(--line);
  appearance: textfield;
  -moz-appearance: textfield;
}

.quantity-selector input::-webkit-inner-spin-button,
.quantity-selector input::-webkit-outer-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.product-quantity {
  margin-bottom: 14px;
}

.cart-item__details h2 {
  margin: 0 0 12px;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: .08em;
}

.cart-item__size {
  margin-bottom: 16px;
  color: var(--muted);
  font-size: 11px;
  letter-spacing: .08em;
}

.cart-quantity {
  max-width: 164px;
  height: 38px;
  margin-bottom: 12px;
  grid-template-columns: 38px minmax(46px,1fr) 38px;
}

.cart-remove {
  padding: 0 0 4px;
  border: 0;
  border-bottom: 1px solid transparent;
  background: transparent;
  color: var(--muted);
  font-size: 9px;
  letter-spacing: .14em;
  cursor: pointer;
  transition: color .2s ease,border-color .2s ease;
}

.cart-remove:hover {
  color: var(--ink);
  border-bottom-color: currentColor;
}

.cart-item__price {
  align-self: center;
  font-size: 12px;
  white-space: nowrap;
}

@media (max-width: 680px) {
  .quantity-selector {
    max-width: none;
  }

  .cart-item__details h2 {
    font-size: 18px;
  }

  .cart-item__price {
    grid-column: 2;
  }
}


/* =========================================================
   FATCUTPRESS V1.0 FINAL — Vertical product gallery
   ========================================================= */

/* Old thumbnail navigation is completely removed */
.image-index {
  display: none !important;
}

/* Product detail layout */
.product-layout {
  align-items: start !important;
}

.visual {
  display: block !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

.product-gallery {
  display: grid;
  gap: 14px;
  width: 100%;
  padding: 14px;
}

.product-gallery__item {
  display: grid;
  place-items: center;
  min-height: calc(100vh - 92px);
  margin: 0;
  padding: clamp(38px, 7vw, 100px);
  background: rgba(255,255,255,.06);
  overflow: hidden;
}

.product-gallery__item .product-main-art {
  width: min(67vw, 760px);
  max-width: 100%;
  filter: drop-shadow(0 30px 44px rgba(64,58,52,.14));
}

/* The purchase panel remains anchored while images scroll */
@media (min-width: 901px) {
  .details {
    position: sticky !important;
    top: 64px !important;
    align-self: start !important;
    height: calc(100vh - 64px) !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    justify-content: flex-start !important;
    padding-top: clamp(54px, 8vh, 92px) !important;
  }
}

/* Quantity is intentionally available only in cart */
.product-quantity,
.details [data-quantity-selector] {
  display: none !important;
}

@media (max-width: 900px) {
  .product-layout {
    display: block !important;
  }

  .visual {
    border-right: 0 !important;
  }

  .product-gallery {
    gap: 10px;
    padding: 10px;
  }

  .product-gallery__item {
    min-height: auto;
    aspect-ratio: 1 / 1.12;
    padding: 32px 18px;
  }

  .product-gallery__item .product-main-art {
    width: min(88vw, 620px);
  }

  .details {
    position: relative !important;
    top: auto !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 44px 18px 60px !important;
  }
}


/* =========================================================
   FATCUTPRESS V1.1 — In-page cart drawer
   ========================================================= */

body.cart-drawer-open {
  overflow: hidden;
}

.cart-drawer-layer {
  position: fixed;
  inset: 0;
  z-index: 100;
  visibility: hidden;
  pointer-events: none;
}

.cart-drawer-layer.is-open {
  visibility: visible;
  pointer-events: auto;
}

.cart-drawer-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: rgba(35,32,29,.20);
  opacity: 0;
  cursor: default;
  transition: opacity .38s ease;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

.cart-drawer-layer.is-open .cart-drawer-backdrop {
  opacity: 1;
}

.cart-drawer {
  position: absolute;
  top: 0;
  right: 0;
  display: grid;
  grid-template-rows: auto minmax(0,1fr) auto;
  width: min(460px, 100%);
  height: 100%;
  background: rgba(247,244,239,.94);
  border-left: 1px solid var(--line);
  box-shadow: -28px 0 70px rgba(53,48,43,.10);
  transform: translateX(100%);
  transition: transform .42s cubic-bezier(.22,.78,.25,1);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
}

.cart-drawer-layer.is-open .cart-drawer {
  transform: translateX(0);
}

.cart-drawer__header {
  position: static;
  display: flex;
  grid-template-columns: none;
  justify-content: space-between;
  align-items: flex-start;
  min-height: 0;
  padding: 28px 26px 22px;
  border-bottom: 1px solid var(--line);
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.cart-drawer__header .eyebrow {
  margin-bottom: 9px;
}

.cart-drawer__header h2 {
  margin: 0;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: .14em;
}

.cart-drawer__close {
  padding: 4px 0;
  border: 0;
  border-bottom: 1px solid transparent;
  background: transparent;
  color: var(--muted);
  font-size: 9px;
  letter-spacing: .16em;
  cursor: pointer;
  transition: color .2s ease, border-color .2s ease;
}

.cart-drawer__close:hover {
  color: var(--ink);
  border-bottom-color: currentColor;
}

.cart-drawer__items {
  overflow-y: auto;
  overscroll-behavior: contain;
}

.cart-drawer-item {
  display: grid;
  grid-template-columns: 112px minmax(0,1fr);
  gap: 18px;
  padding: 22px 26px;
  border-bottom: 1px solid var(--line);
}

.cart-drawer-item__visual {
  display: grid;
  place-items: center;
  min-height: 138px;
  background: rgba(255,255,255,.12);
}

.cart-drawer-item__visual svg {
  width: 86%;
  filter: drop-shadow(0 14px 18px rgba(64,58,52,.10));
}

.cart-drawer-item__content {
  min-width: 0;
  align-self: center;
}

.cart-drawer-item__meta {
  margin-bottom: 10px;
  color: var(--muted);
  font-size: 8px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.cart-drawer-item h3 {
  margin: 0 0 18px;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: .10em;
  font-weight: 500;
}

.cart-drawer-item__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
}

.cart-drawer-quantity {
  display: grid;
  grid-template-columns: 30px 34px 30px;
  height: 32px;
  border: 1px solid var(--line);
}

.cart-drawer-quantity button,
.cart-drawer-quantity span {
  display: grid;
  place-items: center;
  min-width: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  font-size: 10px;
}

.cart-drawer-quantity button {
  cursor: pointer;
}

.cart-drawer-quantity span {
  border-left: 1px solid var(--line);
  border-right: 1px solid var(--line);
}

.cart-drawer-item__price {
  font-size: 10px;
  letter-spacing: .04em;
  white-space: nowrap;
}

.cart-drawer-item__remove {
  margin-top: 15px;
  padding: 0 0 3px;
  border: 0;
  border-bottom: 1px solid transparent;
  background: transparent;
  color: var(--muted);
  font-size: 8px;
  letter-spacing: .14em;
  cursor: pointer;
}

.cart-drawer-item__remove:hover {
  color: var(--ink);
  border-bottom-color: currentColor;
}

.cart-drawer__empty {
  display: grid;
  place-items: center;
  align-content: center;
  min-height: 100%;
  padding: 50px 26px;
  text-align: center;
}

.cart-drawer__empty p {
  margin: 0 0 22px;
  font-size: 10px;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.cart-drawer__empty button {
  padding: 0 0 5px;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: var(--ink);
  font-size: 9px;
  letter-spacing: .14em;
  cursor: pointer;
}

.cart-drawer__footer {
  padding: 22px 26px max(24px, env(safe-area-inset-bottom));
  border-top: 1px solid var(--line);
  background: rgba(247,244,239,.78);
}

.cart-drawer__subtotal {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 9px;
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cart-drawer__footer p {
  margin: 0 0 18px;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.6;
}

.cart-drawer__checkout {
  width: 100%;
  height: 52px;
  border: 0;
  background: var(--ink);
  color: white;
  font-size: 10px;
  letter-spacing: .16em;
  cursor: pointer;
}

@media (max-width: 600px) {
  .cart-drawer {
    width: calc(100% - 18px);
  }

  .cart-drawer__header {
    padding: 24px 18px 19px;
  }

  .cart-drawer-item {
    grid-template-columns: 94px minmax(0,1fr);
    gap: 14px;
    padding: 18px;
  }

  .cart-drawer-item__visual {
    min-height: 118px;
  }

  .cart-drawer__footer {
    padding-left: 18px;
    padding-right: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cart-drawer,
  .cart-drawer-backdrop {
    transition: none;
  }
}


/* =========================================================
   FATCUTPRESS V1.2 — Cart drawer refinement
   ========================================================= */

.cart-drawer__header {
  align-items: center !important;
}

.cart-drawer__header h2 {
  margin: 0 !important;
}

.cart-drawer__close {
  display: grid !important;
  place-items: center !important;
  width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--ink) !important;
  font-size: 25px !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  font-weight: 300 !important;
  cursor: pointer !important;
  opacity: .76;
  transition: opacity .2s ease, transform .2s ease !important;
}

.cart-drawer__close:hover {
  opacity: 1;
  transform: rotate(4deg);
  border: 0 !important;
}

@media (max-width: 600px) {
  .cart-drawer__close {
    width: 32px !important;
    height: 32px !important;
    font-size: 23px !important;
  }
}


/* FATCUTPRESS V1.6 — smooth cart drawer */
.cart-drawer-layer{
  visibility:hidden!important;
  pointer-events:none!important;
  contain:layout paint style;
}
.cart-drawer-layer.is-active{
  visibility:visible!important;
  pointer-events:auto!important;
}
.cart-drawer-backdrop{
  opacity:0!important;
  background:rgba(35,32,29,.18)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  transition:opacity .34s ease!important;
  will-change:opacity;
  transform:translateZ(0);
}
.cart-drawer-layer.is-open .cart-drawer-backdrop{opacity:1!important}
.cart-drawer{
  transform:translate3d(100%,0,0)!important;
  transition:transform .44s cubic-bezier(.22,.72,.18,1)!important;
  will-change:transform;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  contain:layout paint;
  background:rgba(247,244,239,.975)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:-18px 0 48px rgba(53,48,43,.09)!important;
}
.cart-drawer-layer.is-open .cart-drawer{transform:translate3d(0,0,0)!important}
.cart-drawer__items{
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  transform:translateZ(0);
}
@media(max-width:600px){
  .cart-drawer{transition-duration:.38s!important}
  .cart-drawer-backdrop{transition-duration:.28s!important}
}
@media(prefers-reduced-motion:reduce){
  .cart-drawer,.cart-drawer-backdrop{transition:none!important}
}


/* Keep sticky header aligned while body is locked */
body[style*="position: fixed"] header {
  padding-right: calc(30px + var(--cart-scrollbar-width, 0px));
}

/* Drawer stays pinned to viewport, independent of body width */
.cart-drawer-layer {
  width: 100vw !important;
  max-width: 100vw !important;
}

.cart-drawer {
  right: 0 !important;
  margin-right: 0 !important;
}

/* Prevent tiny initial snap during add-to-cart rendering */
.cart-drawer-layer.is-active .cart-drawer {
  transform: translate3d(100%,0,0) !important;
}

.cart-drawer-layer.is-active.is-open .cart-drawer {
  transform: translate3d(0,0,0) !important;
}

@media (max-width: 600px) {
  body[style*="position: fixed"] header {
    padding-right: calc(16px + var(--cart-scrollbar-width, 0px));
  }
}


/* =========================================================
   FATCUTPRESS V1.8 — Zero-shift cart drawer
   No body locking, no scrollbar compensation, no header movement
   ========================================================= */

html,
body {
  scrollbar-gutter: auto !important;
}

body {
  overflow-x: hidden !important;
}

.cart-drawer-layer {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}

.cart-drawer {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  margin: 0 !important;
}

/* Header and page are never modified while the drawer is open */
body header,
body .site {
  padding-right: initial !important;
  margin-right: initial !important;
  transform: none !important;
}


/* V1.8.1 Header cart spacing */
.site-header,
header{
  padding-right:30px;
}
.site-header nav,
header nav{
  padding-right:12px;
}
@media (max-width:900px){
  .site-header,
  header{
    padding-right:20px;
  }
  .site-header nav,
  header nav{
    padding-right:8px;
  }
}


/* =========================================================
   FATCUTPRESS V1.9 — Header logo image
   ========================================================= */

.brand--image {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: 18px !important;
  line-height: 0 !important;
}

.brand--image img {
  display: block !important;
  width: auto !important;
  height: 14px !important;
  max-width: min(230px, 38vw) !important;
  object-fit: contain !important;
}

@media (max-width: 900px) {
  .brand--image {
    height: 17px !important;
  }

  .brand--image img {
    height: 13px !important;
    max-width: 42vw !important;
  }
}


/* V1.9.1 logo +20% */
.brand--image{height:22px!important;}
.brand--image img{
  height:17px!important;
  max-width:min(276px,46vw)!important;
}
@media (max-width:900px){
  .brand--image{height:20px!important;}
  .brand--image img{
    height:16px!important;
    max-width:50vw!important;
  }
}


/* =========================================================
   FATCUTPRESS Shopify Theme
   ========================================================= */

:root{
  --header-height:70px;
}
body.template-index,
body.template-collection{
  min-height:100vh;
}
.shopify-section{position:relative;z-index:1}
.fatcut-main{position:relative;z-index:1;min-height:calc(100vh - var(--header-height))}
.fatcut-header{
  position:sticky;top:0;z-index:40;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  min-height:var(--header-height);padding:0 42px 0 30px;
  border-bottom:1px solid var(--line);
  background:rgba(247,244,239,.55);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
}
.fatcut-header__brand{display:inline-flex;align-items:center;justify-content:center;height:22px;line-height:0}
.fatcut-header__brand img{display:block;width:auto;height:17px;max-width:min(276px,46vw);object-fit:contain}
.fatcut-header__cart{justify-self:end;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.fatcut-header__spacer{min-width:1px}

.fatcut-product-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;border:0!important;
}
.fatcut-card{
  position:relative;min-height:540px;border:0!important;
  background:rgba(255,255,255,.08);overflow:hidden;
}
.fatcut-card__link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.fatcut-card__visual{position:relative;flex:1;display:grid;place-items:center;padding:54px 30px 24px}
.fatcut-card__visual img{width:min(88%,430px);height:auto;max-height:420px;object-fit:contain;filter:drop-shadow(0 24px 34px rgba(64,58,52,.12));transition:transform .35s ease}
.fatcut-card:hover .fatcut-card__visual img{transform:scale(1.01)}
.fatcut-card__info{
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:end;

  min-height:58px;
  box-sizing:border-box;
  padding:18px 20px 20px;

  background:rgba(255,255,255,.14);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);

  opacity:0;
  transform:translateY(8px);
  transition:opacity .3s ease,transform .3s ease;
}
.fatcut-card:hover .fatcut-card__info{opacity:1;transform:none}
.fatcut-card__title{margin:0;font-size:13px;font-weight:500;letter-spacing:.04em}
.fatcut-card__price{font-size:11px;letter-spacing:.05em;white-space:nowrap}

.fatcut-empty{
  min-height:calc(100vh - var(--header-height) - 70px);
  display:grid;place-items:center;text-align:center;padding:40px 24px;
}
.fatcut-empty p{margin:0;font-size:clamp(22px,3vw,42px);font-weight:500;letter-spacing:-.035em}

.fatcut-product{
  display:grid;grid-template-columns:minmax(0,1.4fr) minmax(340px,.6fr);
  align-items:start;min-height:calc(100vh - var(--header-height));
}
.fatcut-product__gallery{display:grid;gap:14px;padding:14px;border-right:1px solid var(--line)}
.fatcut-product__media{
  display:grid;place-items:center;min-height:calc(100vh - 98px);
  margin:0;padding:clamp(38px,7vw,100px);background:rgba(255,255,255,.06);overflow:hidden;
}
.fatcut-product__media img,
.fatcut-product__media video,
.fatcut-product__media model-viewer{display:block;width:100%;height:auto;max-height:80vh;object-fit:contain}
.fatcut-product__details {
  position: sticky;
  top: var(--header-height);
  align-self: start;

  height: calc(100vh - var(--header-height));
  overflow-y: auto;

  display: flex;
  flex-direction: column;
  justify-content: flex-start;

  padding: clamp(54px, 8vh, 92px) 38px 56px;

  background: rgba(255, 255, 255, .22);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.fatcut-product__brand{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}
.fatcut-product__title{margin:0;font-size:clamp(30px,3.2vw,54px);line-height:1.05;letter-spacing: .02em;font-weight:500}
.fatcut-product__price{margin:18px 0 34px;font-size:13px;letter-spacing:.06em}
.fatcut-option{margin-bottom:22px}
.fatcut-option__label{margin-bottom:10px;font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:var(--muted)}
.fatcut-option__values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.fatcut-option__button{height:44px;border:1px solid var(--line);background:rgba(255,255,255,.22);color:var(--ink);cursor:pointer;transition:.2s}
.fatcut-option__button:hover,.fatcut-option__button.is-active{background:var(--ink);color:white;border-color:var(--ink)}
.fatcut-add{width:100%;height:54px;border:0;background:var(--ink);color:white;font-size:10px;letter-spacing:.16em;cursor:pointer;margin-bottom:30px}
.fatcut-add[disabled]{opacity:.45;cursor:not-allowed}
.fatcut-product__description{font-size:11px;line-height:1.8;color:#605b55}
.fatcut-product__description p:first-child{margin-top:0}

.fatcut-footer{position:relative;z-index:1;padding:26px 30px;background:transparent!important}
.fatcut-footer__nav{display:flex;justify-content:center;align-items:center;gap:26px;flex-wrap:wrap}
.fatcut-footer__nav a{font-size:10px;letter-spacing:.14em;text-transform:uppercase}

.fatcut-page{min-height:calc(100vh - var(--header-height));padding:56px 30px 80px}
.fatcut-page__inner{max-width:960px;margin:0 auto}
.fatcut-page h1{font-size:clamp(42px,7vw,100px);line-height:.9;letter-spacing:-.055em;font-weight:500}

.fatcut-cart-page{min-height:calc(100vh - var(--header-height));display:grid;place-items:center;padding:50px 24px}
.fatcut-cart-page button{height:52px;padding:0 30px;border:0;background:var(--ink);color:#fff;letter-spacing:.14em}

.fatcut-contact{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:auto;
}
.fatcut-contact__intro{
  padding:20px 38px;
}

.fatcut-contact__form{
  padding:0 38px 60px;
}
.fatcut-contact__intro{border-right:1px solid var(--line)}
.fatcut-contact__intro h1{font-size:clamp(48px,8vw,110px);letter-spacing:-.02em;font-weight:500;margin:0 0 28px}
.fatcut-field{display:grid;gap:9px;margin-bottom:22px}
.fatcut-field label{font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:var(--muted)}
.fatcut-field input,.fatcut-field textarea,.fatcut-field select{
  width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;
  padding:12px 0;color:var(--ink);font:inherit;border-radius:0;
}
.fatcut-field textarea{min-height:150px;resize:vertical}
.fatcut-contact__submit{width:100%;height:52px;border:0;background:var(--ink);color:white;letter-spacing:.14em}

.cart-drawer__shipping,.cart-drawer__total{
  display:flex;justify-content:space-between;gap:20px;
  margin-top:10px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;
}
.cart-drawer__total{padding-top:14px;border-top:1px solid var(--line);font-weight:600}
.cart-drawer__checkout-form{margin-top:18px}
.cart-drawer__checkout{width:100%}

@media(max-width:900px){
  .fatcut-header{padding:0 20px}
  .fatcut-header__brand img{height:16px;max-width:50vw}
  .fatcut-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fatcut-card{min-height:390px}
  .fatcut-card__info{opacity:1;transform:none;padding:14px}
  .fatcut-product{display:block}
  .fatcut-product__gallery{border-right:0;gap:10px;padding:10px}
  .fatcut-product__media{min-height:auto;aspect-ratio:1/1.12;padding:32px 18px}
  .fatcut-product__details{position:relative;top:auto;height:auto;overflow:visible;padding:44px 18px 60px}
  .fatcut-contact{display:block}
  .fatcut-contact__intro{border-right:0;border-bottom:1px solid var(--line)}
}
@media(max-width:540px){
  .fatcut-product-grid{grid-template-columns:1fr}
  .fatcut-card{min-height:470px}
  .fatcut-footer__nav{gap:14px 20px}
}
/* Empty collection message adjustment */
.fatcut-empty p {
  font-size: clamp(14px, 1.2vw, 18px) !important;
  line-height: 1.5 !important;
  letter-spacing: 0.02em !important;
  font-weight: 500 !important;
}

@media (max-width: 749px) {
  .fatcut-empty p {
    font-size: 14px !important;
  }
}
/* =========================================================
   FATCUTPRESS PRODUCT — V2.3.3
   ========================================================= */

/* 商品詳細全体 */
.fatcut-product {
  display: grid !important;
  grid-template-columns: minmax(0, 1.4fr) minmax(340px, .6fr) !important;
  align-items: start !important;
  min-height: calc(100vh - 70px) !important;
}

/* 左側：画像ギャラリー */
.fatcut-product__gallery {
  display: grid !important;
  gap: 15px !important;
  padding: 0 !important;
  border-right: 1px solid var(--line) !important;
  background: transparent !important;
}

/* 画像ごとの半透明ボックス・余白を削除 */
.fatcut-product__media {
  display: grid !important;
  place-items: center !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
  cursor: zoom-in !important;
}

.fatcut-product__media::before,
.fatcut-product__media::after {
  display: none !important;
  content: none !important;
}

/* 商品画像は15%縮小 */
.fatcut-product__media img,
.fatcut-product__media video,
.fatcut-product__media model-viewer {
  display: block !important;
  width: 85% !important;
  max-width: 85% !important;
  height: auto !important;
  margin: 0 auto !important;
  object-fit: contain !important;
}

/* 右側の商品情報 */
.fatcut-product__details {
  position: sticky !important;
  top: 70px !important;
  align-self: start !important;
  height: calc(100vh - 70px) !important;
  overflow-y: auto !important;
  padding: clamp(54px, 8vh, 92px) 38px 56px !important;
}

/* 商品名の字間 */
.fatcut-product__title {
  letter-spacing: .14em !important;
}

/* Default Titleしかない商品は選択欄を隠す */
.fatcut-option[data-option-position="1"]:has(
  .fatcut-option__button[data-value="Default Title"]
) {
  display: none !important;
}

/* スマホ */
@media (max-width: 900px) {
  .fatcut-product {
    display: block !important;
  }

  .fatcut-product__gallery {
    border-right: 0 !important;
    gap: 15px !important;
  }

  .fatcut-product__media img,
  .fatcut-product__media video,
  .fatcut-product__media model-viewer {
    width: 88% !important;
    max-width: 88% !important;
  }

  .fatcut-product__details {
    position: relative !important;
    top: auto !important;
    height: auto !important;
    overflow: visible !important;
    padding: 44px 18px 60px !important;
  }
}
/* ===== Product gallery real spacing ===== */

.product__media-list{
    row-gap:15px !important;
    gap:15px !important;
}

.product__media-item{
    margin:0 !important;
    padding:0 !important;
}

.product__media{
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
}

.slider__slide{
    margin:0 !important;
    padding:0 !important;
}

.product__media img{
    display:block;
}
/* =========================================================
   FATCUTPRESS — Product title & cart image fixes
   ========================================================= */

/* 商品名の字間を自然なバランスへ */
.fatcut-product__title {
  letter-spacing: 0.08em !important;
  line-height: 1.08 !important;
}

/* カート内の商品画像を小さく固定 */
.cart-drawer-item {
  grid-template-columns: 88px minmax(0, 1fr) !important;
  gap: 16px !important;
}

.cart-drawer-item__visual {
  width: 88px !important;
  height: 110px !important;
  min-height: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
}

.cart-drawer-item__visual img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: contain !important;
}
/* 商品名の字間：最終上書き */
.fatcut-product__title {
  letter-spacing: 0.03em !important;
  line-height: 1.05 !important;
}
/* Contactページの日本語本文を小さくする */
.fatcut-contact__intro p {
  font-size: 13px !important;
  line-height: 1.8 !important;
  letter-spacing: 0 !important;
}
/* =========================================================
   FATCUTPRESS — Privacy Policy
   ========================================================= */

.fatcut-legal {
  position: relative;
  z-index: 1;
  min-height: calc(100vh - var(--header-height));
  color: var(--ink);
}

.fatcut-legal__hero {
  padding: clamp(42px, 6vw, 84px) 30px 42px;
  border-bottom: 0;
}

.fatcut-legal__eyebrow {
  margin-bottom: 22px;
  color: var(--muted);
  font-size: 9px;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.fatcut-legal__hero h1 {
  margin: 0;
  font-size: clamp(54px, 8vw, 118px);
  font-weight: 500;
  line-height: .9;
  letter-spacing: -.055em;
}

.fatcut-legal__language {
  display: flex;
  gap: 20px;
  padding: 18px 30px 0;
}

.fatcut-legal__language-button {
  position: relative;
  padding: 0 0 7px;
  border: 0;
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 10px;
  letter-spacing: .14em;
  cursor: pointer;
}

.fatcut-legal__language-button::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: currentColor;
  opacity: 0;
}

.fatcut-legal__language-button.is-active {
  color: var(--ink);
}

.fatcut-legal__language-button.is-active::after {
  opacity: 1;
}

.fatcut-legal__content {
  width: min(100% - 60px, 940px);
  margin: 42px auto 90px;
}

.fatcut-legal__version {
  display: none;
}

.fatcut-legal__version.is-active {
  display: block;
}

.fatcut-legal__policy {
  color: #5f5a54;
  font-size: 13px;
  line-height: 2;
}

.fatcut-legal__policy > *:first-child {
  margin-top: 0;
}

.fatcut-legal__policy h1,
.fatcut-legal__policy h2,
.fatcut-legal__policy h3 {
  color: var(--ink);
  font-weight: 500;
}

.fatcut-legal__policy h2,
.fatcut-legal__policy h3 {
  margin: 52px 0 18px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: .04em;
}

.fatcut-legal__policy p {
  margin: 0 0 18px;
}

.fatcut-legal__policy ul,
.fatcut-legal__policy ol {
  margin: 16px 0 26px;
  padding-left: 1.6em;
}

.fatcut-legal__policy li {
  margin-bottom: 9px;
}

.fatcut-legal__policy a {
  border-bottom: 1px solid currentColor;
}

@media (max-width: 760px) {
  .fatcut-legal__hero {
    padding: 38px 18px 30px;
  }

  .fatcut-legal__hero h1 {
    font-size: clamp(48px, 15vw, 76px);
  }

  .fatcut-legal__language {
    padding: 16px 18px 0;
  }

  .fatcut-legal__content {
    width: auto;
    margin: 34px 18px 70px;
  }

  .fatcut-legal__policy {
    font-size: 12px;
    line-height: 1.95;
  }
}
/* =========================================================
   SUPPORT PAGES — UNIFIED HERO LAYOUT
   CONTACT / PRIVACY POLICY / SHIPPING & RETURNS
   ========================================================= */

/* 3ページの見出しエリアを統一 */
.fatcut-contact__intro,
.fatcut-legal__hero,
.fatcut-shipping__hero,
.shipping-hero {
  width: 100% !important;
  min-height: auto !important;
  padding: 72px 30px 64px !important;
  margin: 0 !important;
  border-right: 0 !important;
  border-bottom: 1px solid var(--line) !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  text-align: center !important;
}

/* 小さい英字見出しを統一 */
.fatcut-contact__intro .eyebrow,
.fatcut-contact__intro::before,
.fatcut-legal__eyebrow,
.fatcut-shipping__eyebrow,
.shipping-hero .eyebrow {
  display: block !important;
  margin: 0 0 18px !important;
  color: var(--muted) !important;

  font-size: 9px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;

  text-align: center !important;
}

/* 大見出しをセンター・約80%サイズへ */
.fatcut-contact__intro h1,
.fatcut-legal__hero h1,
.fatcut-shipping__hero h1,
.shipping-hero h1 {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;

  font-size: clamp(44px, 6vw, 92px) !important;
  font-weight: 500 !important;
  line-height: .94 !important;
  letter-spacing: -.045em !important;

  text-align: center !important;
  text-transform: none !important;
  white-space: normal !important;
}

/* Contactの説明文 */
.fatcut-contact__intro p {
  width: min(100%, 760px) !important;
  margin: 34px auto 0 !important;

  font-size: 16px !important;
  line-height: 1.9 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
}

/* Privacy本文の幅と位置 */
.fatcut-legal__content {
  width: min(calc(100% - 60px), 760px) !important;
  margin: 56px auto 90px !important;
}

/* Shipping本文の幅と位置 */
.fatcut-shipping__content,
.shipping-content {
  width: min(calc(100% - 60px), 760px) !important;
  margin: 56px auto 90px !important;
}

/* 言語切り替えも中央 */
.fatcut-legal__language,
.fatcut-shipping__language,
.shipping-toolbar {
  justify-content: center !important;
  text-align: center !important;
}

/* スマホ */
@media (max-width: 760px) {
  .fatcut-contact__intro,
  .fatcut-legal__hero,
  .fatcut-shipping__hero,
  .shipping-hero {
    padding: 48px 18px 40px !important;
  }

  .fatcut-contact__intro h1,
  .fatcut-legal__hero h1,
  .fatcut-shipping__hero h1,
  .shipping-hero h1 {
    font-size: clamp(40px, 13vw, 64px) !important;
    line-height: .96 !important;
  }

  .fatcut-contact__intro p {
    margin-top: 28px !important;
    font-size: 14px !important;
    line-height: 1.85 !important;
  }

  .fatcut-legal__content,
  .fatcut-shipping__content,
  .shipping-content {
    width: auto !important;
    margin: 40px 18px 70px !important;
  }
}
/* No items are available */
.fatcut-empty p,
.empty-catalog-main p {
    font-size: 12px !important;
    line-height: 1.6 !important;
    letter-spacing: 0.08em !important;
    color: #5f5a54;
}
/* 右上のCARTを少し左へ */
.fatcut-header__cart {
  margin-right: 20px !important;
}
/* ヘッダーロゴの見た目の中心を微調整 */
.fatcut-header__brand img {
  display: block !important;
  transform: translateX(-11px) !important;
}
@media (min-width: 681px) {
  .fatcut-header__brand img {
    transform: translateX(-12px) !important; /* 好みで -10px でもOK */
  }
}
/* PrivacyをShipping & Returnsと同じ本文レイアウトへ */
.fatcut-legal__content {
  width: min(calc(100% - 60px), 760px) !important;
  max-width: 760px !important;
  margin: 56px auto 90px !important;
  padding: 0 !important;
}

/* Privacy本文 */
.fatcut-legal__policy {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;

  font-size: 13px !important;
  line-height: 1.9 !important;
  letter-spacing: 0 !important;
  color: #5f5a54 !important;
}

/* 見出し・区切り */
.fatcut-legal__policy h2,
.fatcut-legal__policy h3 {
  margin: 44px 0 16px !important;
  padding-top: 28px !important;
  border-top: 1px solid var(--line) !important;

  font-size: 13px !important;
  line-height: 1.6 !important;
  letter-spacing: 0 !important;
  font-weight: 500 !important;
}

/* 本文間隔 */
.fatcut-legal__policy p {
  margin: 0 0 18px !important;
}

.fatcut-legal__policy ul,
.fatcut-legal__policy ol {
  margin: 16px 0 26px !important;
  padding-left: 1.5em !important;
}

.fatcut-legal__policy li {
  margin-bottom: 10px !important;
}

/* スマホ */
@media (max-width: 760px) {
  .fatcut-legal__content {
    width: auto !important;
    margin: 40px 18px 70px !important;
  }

  .fatcut-legal__policy {
    font-size: 12px !important;
    line-height: 1.9 !important;
  }
}
/* Privacy Policyの見出しを固定しない */
.fatcut-legal__hero {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  height: auto !important;
  min-height: 0 !important;
  z-index: 1 !important;
}

/* Privacyページ全体を通常の縦スクロールに戻す */
.fatcut-legal {
  display: block !important;
  min-height: auto !important;
  overflow: visible !important;
}

.fatcut-legal__content {
  position: relative !important;
  z-index: 1 !important;
}
/* =========================================================
   CONTACT — original two-column layout restore
   ========================================================= */

.fatcut-contact {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  align-items: stretch !important;
  min-height: calc(100vh - var(--header-height)) !important;
  width: 100% !important;
}

/* 左側 */
.fatcut-contact__intro {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;

  width: auto !important;
  min-height: auto !important;
  margin: 0 !important;
  padding: clamp(54px, 8vw, 100px) 38px !important;

  border-right: 1px solid var(--line) !important;
  border-bottom: 0 !important;

  text-align: left !important;
}

/* 以前追加した疑似要素を消す */
.fatcut-contact__intro::before {
  content: none !important;
  display: none !important;
}

.fatcut-contact__eyebrow {
  display: block !important;
  margin: 0 0 24px !important;

  color: var(--muted) !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  text-align: left !important;
}

.fatcut-contact__intro h1 {
  width: auto !important;
  max-width: none !important;
  margin: 0 0 38px !important;
  padding: 0 !important;

  font-size: clamp(48px, 8vw, 110px) !important;
  font-weight: 500 !important;
  line-height: .9 !important;
  letter-spacing: -.02em !important;
  text-align: left !important;
}

.fatcut-contact__intro p {
  width: auto !important;
  max-width: 700px !important;
  margin: 0 !important;

  font-size: 18px !important;
  line-height: 1.9 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}

/* 右側フォーム */
.fatcut-contact__form-area {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  padding: clamp(54px, 8vw, 100px) 38px !important;
}

.fatcut-contact__form {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.fatcut-field {
  display: grid !important;
  gap: 9px !important;
  margin-bottom: 22px !important;
}

.fatcut-field label {
  font-size: 9px !important;
  letter-spacing: .17em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
}

.fatcut-field input,
.fatcut-field textarea {
  display: block !important;
  width: 100% !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  border-radius: 0 !important;
  padding: 12px 0 !important;
  background: transparent !important;
  color: var(--ink) !important;
  font: inherit !important;
  outline: none !important;
}

.fatcut-field textarea {
  min-height: 150px !important;
  resize: vertical !important;
}

.fatcut-contact__submit {
  display: block !important;
  width: 100% !important;
  height: 52px !important;
  margin-top: 26px !important;

  border: 0 !important;
  border-radius: 0 !important;
  background: var(--ink) !important;
  color: #fff !important;

  font-size: 10px !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}

.fatcut-contact__success,
.fatcut-contact__errors {
  margin: 0 0 24px !important;
  font-size: 12px !important;
  line-height: 1.7 !important;
}

/* スマホ */
@media (max-width: 760px) {
  .fatcut-contact {
    display: block !important;
    min-height: auto !important;
  }

  .fatcut-contact__intro {
    padding: 48px 18px 42px !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--line) !important;
  }

  .fatcut-contact__intro h1 {
    font-size: clamp(48px, 15vw, 76px) !important;
    margin-bottom: 30px !important;
  }

  .fatcut-contact__intro p {
    font-size: 14px !important;
    line-height: 1.85 !important;
  }

  .fatcut-contact__form-area {
    padding: 44px 18px 70px !important;
  }
}
/* =========================================================
   CONTACT — Shipping & Returns と同じ縦レイアウトへ
   ========================================================= */

.fatcut-contact {
  display: block !important;
  min-height: auto !important;
}

/* 見出しエリア */
.fatcut-contact__intro {
  width: 100% !important;
  min-height: auto !important;
  padding: 72px 30px 64px !important;
  margin: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  border-right: 0 !important;
  border-bottom: 1px solid var(--line) !important;

  text-align: center !important;
}

.fatcut-contact__eyebrow {
  margin: 0 0 18px !important;
  font-size: 9px !important;
  line-height: 1.2 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  text-align: center !important;
}

.fatcut-contact__intro h1 {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;

  font-size: clamp(44px, 6vw, 92px) !important;
  font-weight: 500 !important;
  line-height: .94 !important;
  letter-spacing: -.045em !important;

  text-align: center !important;
}

/* 説明文 */
.fatcut-contact__intro p {
  width: min(100%, 760px) !important;
  margin: 34px auto 0 !important;

  font-size: 13px !important;
  line-height: 1.9 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
}

/* フォームを見出しの下へ */
.fatcut-contact__form-area {
  width: min(calc(100% - 60px), 760px) !important;
  margin: 56px auto 90px !important;
  padding: 0 !important;

  display: block !important;
}

.fatcut-contact__form {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

/* スマホ */
@media (max-width: 760px) {
  .fatcut-contact__intro {
    padding: 48px 18px 40px !important;
  }

  .fatcut-contact__intro h1 {
    font-size: clamp(40px, 13vw, 64px) !important;
  }

  .fatcut-contact__intro p {
    margin-top: 28px !important;
    font-size: 12px !important;
  }

  .fatcut-contact__form-area {
    width: auto !important;
    margin: 40px 18px 70px !important;
  }
}
/* Privacy header transparent */
.fatcut-privacy__hero,
.fatcut-privacy__header,
.fatcut-privacy__intro {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
/* 3ページの見出し下の罫線を完全に削除 */
.fatcut-legal__hero,
.shipping-hero,
.fatcut-shipping__hero,
.fatcut-contact__intro {
  border-bottom: 0 !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
}
.fatcut-legal__language,
.shipping-toolbar,
.fatcut-shipping__language,
.fatcut-contact__form-area {
  border-top: 0 !important;
}
/* Shipping・Privacy・Contactの上の小さい文字を非表示 */
.fatcut-legal__eyebrow,
.fatcut-shipping__eyebrow,
.fatcut-contact__eyebrow {
  display: none !important;
}
.fatcut-legal__hero,
.fatcut-shipping__hero,
.fatcut-contact__hero {
  padding-top: 30px !important;
}
.product-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  visibility: hidden;
  pointer-events: none;
}

.product-lightbox.is-active {
  visibility: visible;
  pointer-events: auto;
}

.product-lightbox__backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: rgba(244, 241, 236, .97);
  opacity: 0;
  transition: opacity .22s ease;
}

.product-lightbox.is-open .product-lightbox__backdrop {
  opacity: 1;
}

.product-lightbox__dialog {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) 70px;
  grid-template-rows: minmax(0, 1fr) auto;
  align-items: center;
  padding: 34px;
  opacity: 0;
  transform: scale(.985);
  transition:
    opacity .22s ease .03s,
    transform .22s ease .03s;
}

.product-lightbox.is-open .product-lightbox__dialog {
  opacity: 1;
  transform: scale(1);
}

.product-lightbox__stage {
  grid-column: 2;
  grid-row: 1;
  display: grid;
  place-items: center;
  min-width: 0;
  min-height: 0;
  height: calc(100vh - 110px);
}

.product-lightbox__stage img {
  display: block;
  width: auto;
  height: auto;
  max-width: min(84vw, 1500px);
  max-height: calc(100vh - 130px);
  object-fit: contain;
  user-select: none;
  -webkit-user-drag: none;
}

.product-lightbox__close {
  position: absolute;
  top: 24px;
  right: 28px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-size: 28px;
  font-weight: 300;
  line-height: 1;
  appearance: none;
  cursor: pointer;
}

.product-lightbox__nav {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  padding: 0;
  justify-self: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-size: 20px;
  font-weight: 300;
  line-height: 1;
  appearance: none;
  cursor: pointer;
  opacity: .72;
  transition: opacity .2s ease;
}

.product-lightbox__nav:hover {
  opacity: 1;
}

.product-lightbox__nav--prev {
  grid-column: 1;
  grid-row: 1;
}

.product-lightbox__nav--next {
  grid-column: 3;
  grid-row: 1;
}

.product-lightbox__counter {
  grid-column: 2;
  grid-row: 2;
  justify-self: center;
  padding-top: 8px;
  color: var(--muted);
  font-size: 9px;
  letter-spacing: .16em;
}

@media (max-width: 900px) {
  .product-lightbox__dialog {
    display: block;
    padding: 54px 16px 42px;
  }

  .product-lightbox__stage {
    height: calc(100vh - 120px);
  }

  .product-lightbox__stage img {
    max-width: 92vw;
    max-height: calc(100vh - 150px);
  }

  .product-lightbox__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }

  .product-lightbox__nav--prev {
    left: 6px;
  }

  .product-lightbox__nav--next {
    right: 6px;
  }

  .product-lightbox__counter {
    position: absolute;
    left: 50%;
    bottom: 20px;
    transform: translateX(-50%);
  }

  .product-lightbox__close {
    top: 10px;
    right: 10px;
  }
}
/* =========================================================
   FATCUTPRESS — Fixed header on all pages
   ========================================================= */

:root {
  --header-height: 64px;
}

.fatcut-header {
  position: relative !important;
  width: 100% !important;
  height: var(--header-height) !important;
  min-height: var(--header-height) !important;
  z-index: 1 !important;

  background: var(--paper) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.fatcut-main {
  padding-top: var(--header-height) !important;
}
/* 商品詳細ページ：隙間なし＋右側固定 */
body.template-product .fatcut-product {
  margin-top: calc(var(--header-height) * -1) !important;
  padding-top: var(--header-height) !important;
}

body.template-product .fatcut-product__details {
  position: sticky !important;
  top: var(--header-height) !important;
  align-self: start !important;
  height: calc(100vh - var(--header-height)) !important;
  overflow-y: auto !important;
}
/* ライトボックスを固定ヘッダーより前へ */
body.lightbox-open {
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

body.lightbox-open .fatcut-main {
  position: relative !important;
  z-index: 100000 !important;
}

body.lightbox-open .fatcut-main .shopify-section {
  position: relative !important;
  z-index: 100001 !important;
}

body.lightbox-open .product-lightbox {
  z-index: 100002 !important;
}

body.lightbox-open .product-lightbox__close {
  position: fixed !important;
  top: 18px !important;
  right: 20px !important;
  z-index: 100004 !important;
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
/* スマホの商品一覧では商品情報を非表示 */
@media (max-width: 900px) {
  .fatcut-card__info {
    display: none !important;
  }
}
/* 商品一覧カードの背景を完全に透明化 */
.fatcut-card,
.fatcut-card__link,
.fatcut-card__visual,
.fatcut-card__visual img {
  background: transparent !important;
  background-color: transparent !important;
}
.fatcut-option__values {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}
/* CONTACT 入力欄 */
.fatcut-field input,
.fatcut-field textarea {
    width: 100%;
    background: rgba(255,255,255,.16) !important;
    border: 1px solid rgba(255,255,255,.25) !important;
    border-radius: 0;
    color: var(--ink);
    padding: 14px 16px;
    transition: .25s ease;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.fatcut-field input:focus,
.fatcut-field textarea:focus {
    background: rgba(255,255,255,.28) !important;
    border-color: var(--ink) !important;
    outline: none;
}

.fatcut-field textarea {
    min-height: 180px;
    resize: vertical;
}
/* THANK YOU PAGE */
.page-thank-you {
  min-height: calc(100vh - var(--header-height));
  display: grid;
  place-items: center;
  padding: clamp(80px, 12vw, 160px) 24px;
}

.page-thank-you .fatcut-page__inner {
  width: min(100%, 720px);
  margin: 0 auto;
  text-align: center;
}

.page-thank-you h1 {
  margin: 0 0 44px;
  font-size: clamp(54px, 9vw, 118px);
  font-weight: 500;
  line-height: .9;
  letter-spacing: -.055em;
}

.page-thank-you .rte {
  color: #605b55;
  font-size: 13px;
  line-height: 2;
}

.page-thank-you .rte a {
  display: inline-block;
  margin-top: 38px;
  padding: 15px 30px;
  border: 1px solid var(--line);
  color: var(--ink);
  font-size: 10px;
  letter-spacing: .16em;
  text-decoration: none;
  transition: transform .25s ease, background .25s ease;
}

.page-thank-you .rte a:hover {
  background: rgba(255, 255, 255, .28);
  transform: translateY(-2px);
}
.fatcut-card__info{
  min-height:58px;
}

.fatcut-card__soldout{
    grid-column:1 / -1;

    margin:0;
    padding:0;

    color:inherit;
    font-size:13px;
    font-weight:500;
    letter-spacing:.04em;
    text-transform:uppercase;

    justify-self:center;
    align-self:center;
}
/* =========================
   Mobile Cart Drawer
========================= */
@media screen and (max-width: 768px){

  .cart-drawer{
    width:100vw !important;
    max-width:100vw !important;
    height:100dvh;
    border-left:none;
  }

  .cart-drawer__items{
    background:#f7f4ef;
    min-height:100%;
  }

  .cart-drawer__footer{
    background:#f7f4ef;
  }
}
.cart-close-icon{
  font-size:18px;
  line-height:1;
  font-weight:300;
}
.fatcut-cart-close{
  display:none;
  font-size:18px;
  line-height:1;
  font-weight:300;
}

.fatcut-header__cart.is-cart-open .fatcut-cart-icon-wrap{
  display:none;
}

.fatcut-header__cart.is-cart-open .fatcut-cart-close{
  display:block;
}
.fatcut-cart-icon-wrap{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
}

.fatcut-cart-icon{
  display:block;
  width:24px;
  height:24px;
}

.fatcut-cart-count{
  position:absolute;
  top:-3px;
  right:-3px;

  display:flex !important;
  align-items:center;
  justify-content:center;

  min-width:15px;
  height:15px;
  padding:0 3px;

  border-radius:999px;
  background:#111 !important;
  color:#fff !important;

  font-size:9px;
  font-weight:600;
  line-height:1;
  letter-spacing:0;

  box-sizing:border-box;
  z-index:2;
}
/* =====================================
   Header cart icon
===================================== */

.fatcut-header__cart{
  position:relative;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  color:var(--ink);
}

.fatcut-cart-icon-wrap{
  position:relative;
  display:inline-grid;
  place-items:center;
  width:24px;
  height:24px;
}


.fatcut-cart-count{
  position:absolute;
  top:-4px;
  right:-5px;

  display:flex !important;
  align-items:center;
  justify-content:center;

  min-width:15px;
  height:15px;
  padding:0 3px;

  border-radius:999px;
  background:#111 !important;
  color:#fff !important;

  font-size:9px;
  font-weight:600;
  line-height:1;
  letter-spacing:0;

  box-sizing:border-box;
  z-index:2;
}

.fatcut-cart-close{
  display:none;
  font-size:18px;
  font-weight:300;
  line-height:1;
}


.fatcut-cart-page{
  min-height:calc(100vh - 64px);
}

.fatcut-cart-page__fallback{
  display:none;
}

/* =========================================================
   MOBILE PRODUCT GALLERY — horizontal swipe
   Desktop layout is unchanged.
   ========================================================= */
.fatcut-product__mobile-counter{
  display:none;
}

@media (max-width: 900px){
  body.template-product .fatcut-product{
    display:block !important;
  }

  body.template-product .fatcut-product__gallery{
    display:flex !important;
    grid-template-columns:none !important;
    gap:0 !important;
    width:100% !important;
    padding:0 !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    border-right:0 !important;
  }

  body.template-product .fatcut-product__gallery::-webkit-scrollbar{
    display:none;
  }

  body.template-product .fatcut-product__media{
    flex:0 0 100% !important;
    width:100% !important;
    min-width:100% !important;
    min-height:0 !important;
    aspect-ratio:1 / 1.08;
    padding:20px 16px 10px !important;
    scroll-snap-align:start;
    scroll-snap-stop:always;
    overflow:hidden !important;
  }

  body.template-product .fatcut-product__media img,
  body.template-product .fatcut-product__media video,
  body.template-product .fatcut-product__media model-viewer{
    width:88% !important;
    max-width:88% !important;
    max-height:calc(100svh - 230px) !important;
    margin:auto !important;
    object-fit:contain !important;
  }

  body.template-product .fatcut-product__mobile-counter{
    display:block;
    width:100%;
    padding:8px 18px 12px;
    text-align:right;
    font-size:10px;
    line-height:1;
    letter-spacing:.14em;
    color:var(--muted);
  }

  body.template-product .fatcut-product__details{
    position:relative !important;
    top:auto !important;
    height:auto !important;
    overflow:visible !important;
    padding:26px 18px 60px !important;
  }
}


/* =========================================================
   PRODUCT MEDIA PERFORMANCE
   Keeps the mobile slider layout unchanged while reducing work
   for slides that are outside the visible viewport.
   ========================================================= */
@media (max-width: 900px){
  body.template-product .fatcut-product__media{
    contain:layout paint style;
  }

  body.template-product .fatcut-product__media img{
    transform:translateZ(0);
    backface-visibility:hidden;
  }
}

@media (prefers-reduced-motion: reduce){
  body.template-product .fatcut-product__gallery{
    scroll-behavior:auto !important;
  }
}

/* =========================================================
   FATCUTPRESS v1.4 Release — Mobile lightbox centering
   ========================================================= */

@media (max-width: 900px) {
  body.lightbox-open {
    overflow: hidden !important;
    overscroll-behavior: none;
  }

  .product-lightbox__dialog {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100vh !important;
    height: 100dvh !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
    align-items: center !important;
    justify-items: center !important;
    padding:
      max(54px, env(safe-area-inset-top))
      16px
      max(42px, env(safe-area-inset-bottom)) !important;
  }

  .product-lightbox__stage {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    display: grid !important;
    place-items: center !important;
  }

  .product-lightbox__stage img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 92vw !important;
    max-height: calc(100dvh - 128px) !important;
    margin: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  .product-lightbox__counter {
    grid-column: 1 !important;
    grid-row: 2 !important;
    position: static !important;
    transform: none !important;
    justify-self: center !important;
    padding-top: 8px !important;
  }
}

/* =========================================================
   FATCUTPRESS v1.4 Final Stable
   Safari cart state + mobile lightbox alignment
   ========================================================= */

.cart-drawer[aria-busy="true"] {
  cursor: progress;
}

.cart-drawer[aria-busy="true"] [data-cart-minus],
.cart-drawer[aria-busy="true"] [data-cart-plus],
.cart-drawer[aria-busy="true"] [data-cart-remove] {
  opacity: .45;
  pointer-events: none;
}

.fatcut-cart-page__checkout {
  margin-top: 12px;
}

@media (max-width: 900px) {
  .product-lightbox__dialog {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100svh !important;
    height: 100dvh !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
    align-items: center !important;
    justify-items: center !important;
    padding:
      max(56px, env(safe-area-inset-top))
      16px
      max(42px, env(safe-area-inset-bottom)) !important;
  }

  .product-lightbox__stage {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    display: grid !important;
    place-items: center !important;
  }

  .product-lightbox__stage img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 92vw !important;
    max-height: calc(100dvh - 132px) !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
  }
}

/* =========================================================
   VOID 1.8 — MOBILE PRODUCT GALLERY + CENTERED LIGHTBOX
   Final override. Keep this block at the end of the file.
   ========================================================= */

@media (max-width: 900px){

  /* Product page uses one horizontal, snap-scrolling image row. */
  body.template-product .fatcut-product{
    display:block !important;
  }

  body.template-product .fatcut-product__gallery{
    display:flex !important;
    grid-template-columns:none !important;
    gap:0 !important;
    width:100% !important;
    max-width:100% !important;
    padding:0 !important;
    margin:0 !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x mandatory !important;
    scroll-behavior:smooth;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    border:0 !important;
  }

  body.template-product .fatcut-product__gallery::-webkit-scrollbar{
    display:none;
  }

 body.template-product .fatcut-product__media{
  flex:0 0 100% !important;
  width:100% !important;
  min-width:100% !important;
  max-width:100% !important;
  min-height:0 !important;

  aspect-ratio:auto !important;
  margin:0 !important;
  padding:0 !important;

  scroll-snap-align:start !important;
  scroll-snap-stop:always;
  contain:layout paint style;
  overflow:visible !important;
}

body.template-product .fatcut-product__media img,
body.template-product .fatcut-product__media video,
body.template-product .fatcut-product__media model-viewer{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  max-height:none !important;
  margin:0 !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:translateZ(0);
  backface-visibility:hidden;
}

body.template-product .fatcut-product__mobile-counter{
    display:none !important;
}

  body.template-product .fatcut-product__details{
    position:relative !important;
    inset:auto !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    padding:24px 18px 60px !important;
  }

  /* Lock background while the image viewer is open. */
  body.lightbox-open{
    overflow:hidden !important;
    overscroll-behavior:none;
    touch-action:none;
  }

  .product-lightbox{
    position:fixed !important;
    inset:0 !important;
    width:100% !important;
    height:100dvh !important;
  }

  .product-lightbox__dialog{
    position:fixed !important;
    inset:0 !important;
    width:100% !important;
    height:100dvh !important;
    min-width:0 !important;
    min-height:0 !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    grid-template-rows:minmax(0,1fr) auto !important;
    align-items:center !important;
    justify-items:center !important;
    padding:
      max(54px, env(safe-area-inset-top))
      14px
      max(36px, env(safe-area-inset-bottom)) !important;
    margin:0 !important;
    transform:none !important;
  }

  .product-lightbox__stage{
    grid-column:1 !important;
    grid-row:1 !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    display:grid !important;
    place-items:center !important;
    margin:0 !important;
    padding:0 !important;
  }

  .product-lightbox__stage img{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:92vw !important;
    max-height:calc(100dvh - 118px) !important;
    margin:auto !important;
    padding:0 !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
  }

  .product-lightbox__counter{
    grid-column:1 !important;
    grid-row:2 !important;
    position:static !important;
    inset:auto !important;
    justify-self:center !important;
    margin:0 !important;
    padding:8px 0 0 !important;
    transform:none !important;
  }

  .product-lightbox__close{
    top:max(16px, env(safe-area-inset-top)) !important;
    right:16px !important;
  }

  .product-lightbox__nav{
    top:50% !important;
    transform:translateY(-50%) !important;
  }

  .product-lightbox__nav--prev{
    left:12px !important;
  }

  .product-lightbox__nav--next{
    right:12px !important;
  }
}

@media (prefers-reduced-motion: reduce){
  body.template-product .fatcut-product__gallery{
    scroll-behavior:auto !important;
  }
}

/* =========================================================
   VOID MODE 1.3 — MARQUEE TITLE + REMAINING TIME
   ========================================================= */

.void-mode{
  grid-column:3;
  justify-self:end;
  position:relative;
  display:grid;
  grid-template-columns:58px 36px;
  align-items:center;
  column-gap:5px;
  width:auto;
  min-width:99px;
  height:36px;
  margin-right:5px;
  color:var(--ink);
}

.void-mode__playback-meta{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:4px;
  opacity:0;
  visibility:hidden;
}

.void-mode__status{
  display:block;
  flex:0 0 auto;
  width:4px;
  height:4px;
  border-radius:50%;
  background:currentColor;
  opacity:0;
  transform:scale(.82);
}

.void-mode.is-playing .void-mode__status{
  animation:void-mode-breathe 2.8s ease-in-out infinite;
}

@keyframes void-mode-breathe{
  0%,100%{
    opacity:.22;
    transform:scale(.82);
  }
  50%{
    opacity:.72;
    transform:scale(1.15);
  }
}

.void-mode__display{
  position:relative;
  display:block;
  width:58px;
  min-width:58px;
  height:14px;
  overflow:hidden;
  font-family:inherit;
  font-size:8px;
  font-weight:500;
  line-height:14px;
  letter-spacing:.12em;
  color:inherit;
}

.void-mode__marquee{
  position:absolute;
  inset:0;
}

.void-mode__marquee{
  display:flex;
  align-items:center;
  width:max-content;
  min-width:100%;
  white-space:nowrap;
  opacity:.76;
  transform:translateX(0);
  animation:void-mode-marquee 13s linear infinite;
}

.void-mode__marquee-text{
  display:inline-block;
  flex:none;
}

.void-mode__marquee-gap{
  display:inline-block;
  flex:none;
  width:34px;
}

@keyframes void-mode-marquee{
  from{
    transform:translateX(0);
  }
  to{
    transform:translateX(calc(-50% - 17px));
  }
}

.void-mode__time{
  display:block;
  width:auto;
  font-variant-numeric:tabular-nums;
  letter-spacing:.1em;
  text-align:right;
  white-space:nowrap;
}

.void-mode.is-playing .void-mode__marquee{
  opacity:0;
  visibility:hidden;
  animation-play-state:paused;
}

.void-mode.is-playing .void-mode__playback-meta{
  opacity:.92;
  visibility:visible;
}

.void-mode__toggle{
  appearance:none;
  -webkit-appearance:none;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:inherit;
  cursor:pointer;
  opacity:.88;
  touch-action:manipulation;
  transition:opacity .2s ease;
}

.void-mode__toggle:hover,
.void-mode__toggle:focus-visible{
  opacity:1;
}

.void-mode__toggle:focus-visible{
  outline:1px solid currentColor;
  outline-offset:2px;
}

.void-mode__icon{
  display:block;
  width:17px;
  height:17px;
  fill:currentColor;
}

.void-mode__icon--pause{
  display:none;
}

.void-mode.is-playing .void-mode__icon--play{
  display:none;
}

.void-mode.is-playing .void-mode__icon--pause{
  display:block;
}

@media(max-width:680px){
  .void-mode{
    grid-template-columns:45px 32px;
    column-gap:6px;
    min-width:83px;
    height:36px;
    margin-right:-11px;
  }

  .void-mode__display{
    width:45px;
    min-width:45px;
    font-size:7px;
    letter-spacing:.1em;
  }

  .void-mode__marquee-gap{
    width:22px;
  }

  @keyframes void-mode-marquee{
    from{
      transform:translateX(0);
    }
    to{
      transform:translateX(calc(-50% - 11px));
    }
  }

  .void-mode__toggle{
    width:32px;
    height:36px;
  }








}

@media(prefers-reduced-motion:reduce){
  .void-mode__status{
    animation:none !important;
  }

  .void-mode__marquee{
    animation:none !important;
    transform:none !important;
  }


}
/* =========================================================
   FATCUTPRESS FINAL MOBILE AUDIO ALIGNMENT
   Play button inset / time aligned right
   ========================================================= */
@media (max-width: 680px) {
  .void-mode {
    margin-right: 0 !important;
    padding-right: 6px;
  }

  .void-mode__display {
    text-align: right;
  }

  .void-mode__time {
    justify-items: end !important;
    place-items: center end !important;
    text-align: right !important;
  }
}

/* =========================================================
   VOID MODE 1.4 — right-side cluster / logo breathing room
   The playing dot now belongs to the time cluster instead of
   occupying its own header-side column.
   ========================================================= */
.fatcut-header {
  column-gap: 18px;
}

.void-mode {
  grid-column: 3;
  justify-self: end;
}

@media (max-width: 680px) {
  .fatcut-header {
    column-gap: 12px;
  }

  .fatcut-header__brand img {
    max-width: min(42vw, 158px) !important;
  }

  .void-mode {
    margin-right: 0 !important;
    padding-right: 6px;
  }

  .void-mode__playback-meta {
    gap: 4px;
  }
}


/* VOID MODE 1.5 — playback reliability / click-layer safeguard */
.void-mode__toggle{
  position:relative;
  z-index:3;
  pointer-events:auto !important;
}
.void-mode__display{
  z-index:1;
  pointer-events:none;
}


/* =========================================================
   VOID MODE v1.0 FINAL
   Volume control removed. Background is isolated in
   void-background.js and void-background-config.js.
   ========================================================= */

/* =========================================================
   FATCUTPRESS FINAL — EMPTY CART
   Hide CART (0); center only the empty message and SHOP button.
   ========================================================= */
.void-cart-page.is-empty .void-cart-page__header,
.void-cart-page.is-empty .void-cart-page__title {
  display: none !important;
}

.void-cart-page.is-empty .void-cart-page__inner {
  display: grid;
  place-items: center;
}

.void-cart-page.is-empty .void-cart-page__empty {
  padding-top: 0 !important;
  margin: 0 !important;
}
/* CONTACTフォームを確実に上へ移動 */
.fatcut-contact > .fatcut-contact__form-area {
  transform: translateY(-80px) !important;
}

/* スマホは上げすぎない */
@media (max-width: 900px) {
  .fatcut-contact > .fatcut-contact__form-area {
    transform: translateY(-60px) !important;
  }
}
