.collection01-theme {
  --ty-font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  --ty-sans: var(--ty-font-family);
  --ty-serif: var(--ty-font-family);
  --ty-body: .9375rem;
  --ty-small: .8125rem;
  font-family: var(--ty-font-family);
}
.collection01-theme button, .collection01-theme input, .collection01-theme select, .collection01-theme textarea { font-family: var(--ty-font-family); }
.collection01-theme .collection-header-shell { width: min(100% - 48px, 1376px); margin-inline: auto; }
.collection01-theme .collection-topbar { background: #05080d; color: #c8a974; border-bottom: 1px solid #30353c; font-size: 11px; letter-spacing: .12em; }
.collection01-theme .collection-topbar .collection-header-shell { min-height: 32px; display: flex; align-items: center; justify-content: space-between; }
.collection01-theme .collection-topbar nav { display: flex; gap: 24px; }
.collection01-theme .collection-topbar a:hover { color: #fff; }
.collection01-theme .collection-header { position: relative; z-index: 80; background: #0b0f19; color: white; }
.collection01-theme .collection-header-main { min-height: 90px; display: grid; grid-template-columns: minmax(250px,1fr) minmax(280px,500px) minmax(250px,1fr); align-items: center; gap: 24px; }
.collection01-theme .collection-brand { display: inline-flex; align-items: center; width: fit-content; color: #fff; line-height: 1.2; }
.collection01-theme .collection-brand-crest { width: 42px; height: 42px; flex: none; color: #c8a974; }
.collection01-theme .collection-brand strong { display: block; font-size: clamp(18px,2vw,24px); font-weight: 600; letter-spacing: .08em; white-space: nowrap; }
.collection01-theme .collection-brand small { display: block; margin-top: 4px; color: #c8a974; font-size: 10px; letter-spacing: .13em; }
.collection01-theme .collection-search { position: relative; display: flex; height: 43px; }
.collection01-theme .collection-search input { width: 100%; height: 100%; padding: 0 46px 0 15px; border: 1px solid #3a3f4a; border-radius: 2px; color: #fff; background: #151b2a; font-size: 13px; }
.collection01-theme .collection-search input:focus, .collection01-theme .collection-search-panel input:focus { outline: 0 !important; box-shadow: none !important; }
.collection01-theme .collection-search input::placeholder { color: #8b909a; }
.collection01-theme .collection-search button { position: absolute; top: 0; right: 0; width: 44px; height: 43px; display: grid; place-items: center; color: #aaa; }
.collection01-theme .collection-search button svg, .collection01-theme .collection-action svg, .collection01-theme .collection-cart .ty-header-icon { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.collection01-theme .collection-actions { display: flex; align-items: center; justify-content: flex-end; gap: 24px; }
.collection01-theme .collection-action { flex: 0 0 84px; width: 84px; min-width: 84px; min-height: 48px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; color: #fff; font-size: 11px; line-height: 1.25; text-align: center; white-space: nowrap; }
.collection01-theme .collection-action > span, .collection01-theme .collection-cart-label { display: block; width: 100%; text-align: center; }
.collection01-theme .collection-action:hover, .collection01-theme .collection-cart:hover { color: #c8a974; }
.collection01-theme .collection-search-toggle { display: none; }
.collection01-theme .collection-cart { display: flex; flex: 0 0 84px; flex-direction: column; align-items: center; justify-content: flex-start; width: 84px; min-width: 84px; height: 66px; font-size: 11px; line-height: 1.25; text-align: center; }
.collection01-theme .collection-cart .cart-button { min-width: 44px; min-height: 32px; display: grid; place-items: center; position: relative; color: #fff; background: transparent; }
.collection01-theme .collection-cart .cart-count { position: absolute; top: -4px; right: -2px; min-width: 17px; height: 17px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #9b3f3f; font: 700 10px/1 var(--ty-font-family); }
.collection01-theme .collection-cart-label { margin-top: -8px; }
.collection01-theme .ty-cart-detail { z-index: 100; width: min(480px, calc(100vw - 24px)); max-height: min(720px, calc(100vh - 110px)); color: #333; }
.collection01-theme .collection-nav { position: relative; z-index: 81; border-top: 1px solid #1f2533; background: #151b2a; }
.collection01-theme .collection-nav-inner { display: flex; align-items: center; justify-content: center; gap: clamp(12px,2.7vw,42px); }
.collection01-theme .collection-nav .mega-nav-item { position: static; }
.collection01-theme .collection-nav .mega-trigger { display: inline-flex; align-items: center; gap: 4px; min-height: 48px; color: #fff; font-size: 13px; font-weight: 600; letter-spacing: .08em; white-space: nowrap; }
.collection01-theme .collection-nav .mega-trigger:hover, .collection01-theme .collection-nav .mega-nav-item.is-open > .mega-trigger { color: #c8a974; }
.collection01-theme .collection-nav .mega-chevron { width: 14px; height: 14px; transition: transform .2s; }
.collection01-theme .collection-nav .mega-nav-item.is-open .mega-chevron { transform: rotate(180deg); }
.collection01-theme .collection-nav .mega-panel { position: absolute; top: 100%; left: 50%; width: min(820px, calc(100vw - 32px)); transform: translate(-50%,8px); padding: 22px; visibility: hidden; opacity: 0; pointer-events: none; color: #303030; background: #fffdfa; border: 1px solid #d7c6a4; box-shadow: 0 18px 40px #0004; transition: opacity .18s,transform .18s; }
.collection01-theme .collection-nav .mega-nav-item.is-open .mega-panel, .collection01-theme .collection-nav .mega-nav-item:focus-within .mega-panel { visibility: visible; opacity: 1; pointer-events: auto; transform: translate(-50%,0); }
.collection01-theme .mega-panel-title { padding-bottom: 12px; border-bottom: 1px solid #e5dfd4; font-size: 17px; font-weight: 600; }
.collection01-theme .mega-columns { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; padding-top: 14px; }
.collection01-theme .mega-columns h3 { margin-bottom: 6px; font-size: 14px; font-weight: 700; }
.collection01-theme .mega-columns a { display: inline-block; padding-block: 4px; }
.collection01-theme .mega-columns a:hover { color: #96733d; }
.collection01-theme .collection-mega-children { padding-left: 8px; color: #666; font-size: 12px; }
.collection01-theme .collection-mega-level-3 { margin-left: 8px; padding-left: 10px; border-left: 1px solid #e8e1d5; }
.collection01-theme .collection-search-panel { position: absolute; top: 100%; right: 0; left: 0; z-index: 90; padding: 14px 24px; background: #151b2a; }
.collection01-theme .collection-search-panel form { display: flex; max-width: 600px; margin: auto; }
.collection01-theme .collection-search-panel input { flex: 1; min-width: 0; padding: 10px 12px; color: white; background: #0b0f19; border: 1px solid #666; }
.collection01-theme .collection-search-panel button { min-width: 60px; color: white; background: #8b6f40; }
.collection01-theme .collection-menu-button { display: none; border: 0; background: transparent; }
.collection01-theme .collection-drawer { position: fixed; z-index: 121; inset: 0 auto 0 0; width: min(360px, 90vw); color: white; background: #101824; overflow-y: auto; box-shadow: 10px 0 30px #0005; }
.collection01-theme .drawer-backdrop { position: fixed; z-index: 120; inset: 0; background: #0009; }
.collection01-theme .collection-drawer-panel { padding: 20px; }
.collection01-theme .collection-drawer-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.collection01-theme .drawer-close { min-width: 44px; min-height: 44px; font-size: 26px; }
.collection01-theme .drawer-category { padding: 10px 0; border-top: 1px solid #ffffff25; }
.collection01-theme .drawer-category-row { display: flex; align-items: center; justify-content: space-between; border-bottom: 0; }
.collection01-theme .drawer-category-row a { flex: 1; }
.collection01-theme .drawer-category-toggle { min-width: 44px; min-height: 40px; }
.collection01-theme .drawer-category-children, .collection01-theme .drawer-category-children .collection-mega-children { padding: 5px 0 0 12px; color: #fff; }
.collection01-theme .drawer-category-children a { display: block; padding: 4px 0; color: #fff; }
.collection01-theme .drawer-category-children a:hover, .collection01-theme .drawer-category-children a:focus-visible { color: #c8a974; }
.collection01-theme .drawer-nav > a:last-child { border-bottom: 0; }
.collection01-theme .collection-footer { padding: 58px 0 24px; color: #e5e6e9; background: #05080d; }
.collection01-theme .collection-footer-inner { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 24px; }
.collection01-theme .collection-footer h2 { margin: 0 0 16px; color: #c8a974; font-size: 13px; font-weight: 600; letter-spacing: .08em; }
.collection01-theme .collection-footer nav a { display: block; padding: 4px 0; font-size: 12px; line-height: 1.8; }
.collection01-theme .collection-footer nav a:hover { color: #c8a974; }
.collection01-theme .collection-payments { display: flex; flex-wrap: wrap; gap: 7px; }
.collection01-theme .collection-payments span { padding: 3px 6px; border: 1px solid #777; border-radius: 3px; font-size: 11px; }
.collection01-theme .collection-footer-bottom { margin-top: 42px; padding-top: 20px; border-top: 1px solid #333; text-align: center; color: #aaa; font-size: 11px; }
@media (max-width: 1023px) {
  .collection01-theme .collection-header-main { grid-template-columns: 44px minmax(0,1fr) auto; min-height: 74px; gap: 8px; }
  .collection01-theme .collection-menu-button { display: grid; width: 44px; height: 44px; place-items: center; }
  .collection01-theme .collection-search, .collection01-theme .collection-nav { display: none !important; }
  .collection01-theme .collection-search-toggle { display: flex; }
  .collection01-theme .collection-action, .collection01-theme .collection-cart { flex-basis: 44px; width: 44px; min-width: 44px; }
  .collection01-theme .collection-cart { height: 48px; justify-content: center; }
  .collection01-theme .collection-brand strong { font-size: 19px; }
  .collection01-theme .collection-action span, .collection01-theme .collection-cart-label { display: none; }
  .collection01-theme .collection-footer-inner { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 650px) {
  .collection01-theme .collection-header-shell { width: min(100% - 24px, 1376px); }
  .collection01-theme .collection-topbar .collection-header-shell { min-height: 27px; justify-content: center; }
  .collection01-theme .collection-topbar nav { display: none; }
  .collection01-theme .collection-header-main { grid-template-columns: 36px minmax(0,1fr) auto; gap: 2px; }
  .collection01-theme .collection-brand-crest { width: 31px; height: 31px; }
  .collection01-theme .collection-brand strong { font-size: 14px; }
  .collection01-theme .collection-brand small { font-size: 7px; }
  .collection01-theme .collection-actions { gap: 0; }
  .collection01-theme .collection-action { flex-basis: 35px; width: 35px; min-width: 35px; }
  .collection01-theme .collection-action svg, .collection01-theme .collection-cart .ty-header-icon { width: 21px; height: 21px; }
  .collection01-theme .collection-cart { flex-basis: 35px; width: 35px; min-width: 35px; }
  .collection01-theme .collection-footer { padding-top: 40px; }
  .collection01-theme .collection-footer-inner { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 16px; }
  .collection01-theme .ty-cart-detail { position: fixed; top: 74px; right: 12px; }
}
