:root{
--one-line:var(--dolce-title-line-color,#e5e5e5);
--one-ink:var(--dolce-text-color,#212121);
}

/* ---- 1. スライドメニュー 中カテゴリ折りたたみ ---- */
#slide-menu .slide-menu-cat > li.category-btn{position:relative;}
#slide-menu .slide-menu-cat > li.category-btn > a{padding-right:48px;}
#slide-menu .slide-menu-cat > li.category-btn > ul.uk-nav-sub{display:none !important;}
#slide-menu .slide-menu-cat > li.category-btn.is-open > ul.uk-nav-sub{display:block !important;}
.one-cat-toggle{position:absolute;top:0;right:0;width:48px;height:46px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.75;}
.one-cat-toggle svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .18s;}
li.is-open > .one-cat-toggle svg{transform:rotate(180deg);}
@media (prefers-reduced-motion:reduce){.one-cat-toggle svg{transition:none;}}

/* ---- 2. 一覧の操作バー ---- */
#one-bar{margin:0 0 20px;padding:0 0 14px;border-bottom:1px solid var(--one-line);color:var(--one-ink);font-size:.85rem;}
.one-row{display:flex;align-items:center;gap:10px;}
.one-onsale{display:flex;align-items:center;gap:8px;cursor:pointer;user-select:none;margin:0;font-weight:400;min-height:40px;padding-right:6px;}
.one-onsale input{-webkit-appearance:none;appearance:none;display:inline-block;visibility:visible;opacity:1;flex:0 0 auto;width:18px;height:18px;margin:0;padding:0;border:1.5px solid var(--one-ink);border-radius:3px;background:transparent;position:relative;cursor:pointer;}
.one-onsale input:checked{background:var(--one-ink);}
.one-onsale input:checked::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid var(--one-bg,#fff);border-width:0 2px 2px 0;transform:rotate(45deg);}
.one-sortwrap{margin-left:auto;position:relative;display:flex;align-items:center;}
.one-sortwrap svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;pointer-events:none;position:absolute;right:10px;top:50%;transform:translateY(-50%);}
#one-sort{font:inherit;font-size:.85rem;line-height:1.2;padding:8px 34px 8px 12px;border:1px solid var(--one-line);background:transparent;color:inherit;border-radius:0;-webkit-appearance:none;appearance:none;cursor:pointer;}
#one-sort option{color:#222;background:#fff;}
.one-sizes{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.one-sizes:empty{display:none;}
.one-sizes button{min-width:42px;padding:7px 11px;border:1px solid var(--one-line);background:transparent;color:inherit;font:inherit;font-size:.8rem;line-height:1.1;cursor:pointer;border-radius:999px;opacity:.85;}
.one-sizes button.is-active{background:var(--one-ink);color:var(--one-bg,#fff);border-color:var(--one-ink);opacity:1;}
.one-onsale input:focus-visible,#one-sort:focus-visible,.one-sizes button:focus-visible{outline:2px solid var(--one-ink);outline-offset:2px;}
.one-count{display:block;margin-top:8px;opacity:.6;font-size:.8rem;}
.one-empty{flex:0 0 100%;width:100%;padding:60px 0;text-align:center;opacity:.6;}
@media (max-width:600px){
  #one-bar{font-size:.8rem;}
  #one-sort{font-size:.8rem;padding:7px 30px 7px 10px;}
}

/* ---- 3. 商品カード タイトル分解 ---- */
.item .item-title.one-t{display:block;white-space:normal;overflow:visible;max-height:none;height:auto;-webkit-line-clamp:unset;line-height:1.35;}
.item .one-artist{display:block;font-weight:700;font-size:.92em;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.item .one-name{display:block;font-size:.84em;opacity:.85;white-space:normal;}
.item .one-code{opacity:.6;white-space:nowrap;}
.item .one-meta{display:block;font-size:.74em;opacity:.65;margin-top:3px;letter-spacing:.02em;}
.item .one-meta b{font-weight:700;opacity:1;margin-right:.4em;}

/* ---- 4. 商品ページ ---- */
#dolce-itemdetail .one-h1 .one-artist{display:block;font-size:.68em;letter-spacing:.06em;opacity:.8;margin:0 0 4px;font-weight:700;}
#dolce-itemdetail .one-h1 .one-name{display:block;}
.one-spec{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 14px;}
.one-spec span{border:1px solid var(--one-line);padding:5px 11px;font-size:.78rem;line-height:1.4;opacity:.85;}
.one-spec span b{font-weight:700;margin-left:6px;opacity:1;}
.one-hint{opacity:.7;font-size:.9rem;margin:-60px auto 80px;}
#one-more{margin-top:20px;}

/* ---- 5. 商品ページ：実寸・状態・信頼ブロック・本文折りたたみ ---- */
.one-facts{margin:14px 0 18px;padding:12px 14px;border:1px solid var(--one-line);}
.one-facts__row{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;font-size:.82rem;opacity:.85;}
.one-facts__row span b{font-size:1.15rem;font-weight:700;margin-left:6px;opacity:1;}
.one-facts__row i{font-style:normal;font-size:.75rem;opacity:.6;}
.one-facts__cond{margin-top:10px;padding-top:10px;border-top:1px solid var(--one-line);font-size:.85rem;line-height:1.5;}
.one-facts__cond span{display:inline-block;font-size:.72rem;letter-spacing:.08em;opacity:.6;margin-right:10px;}
.one-facts__cond em{display:block;font-style:normal;color:inherit;font-size:.78rem;opacity:.65;margin-top:4px;}
.one-trust{list-style:none;margin:16px 0 22px;padding:0;font-size:.8rem;line-height:1.5;opacity:.8;}
.one-trust li{position:relative;padding-left:20px;margin:0 0 6px;}
.one-trust li::before{content:"";position:absolute;left:0;top:.45em;width:9px;height:5px;border:solid currentColor;border-width:0 0 1.5px 1.5px;transform:rotate(-45deg);}
#dolce-itemdetailtext.one-collapsed{max-height:420px;overflow:hidden;position:relative;}
#dolce-itemdetailtext.one-collapsed::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(to bottom,rgba(0,0,0,0),var(--one-bg,#fff));pointer-events:none;}
.one-expand{display:block;width:100%;margin:6px 0 20px;padding:12px;background:transparent;border:1px solid var(--one-line);color:inherit;font:inherit;font-size:.85rem;cursor:pointer;border-radius:0;}
#products ~ #more{display:none !important;}

/* ---- 6. 検索候補 ---- */
.one-suggest{position:absolute;left:0;right:0;top:100%;z-index:2000;background:var(--one-bg,#fff);border:1px solid var(--one-line);box-shadow:0 8px 24px rgba(0,0,0,.25);max-height:60vh;overflow:auto;text-align:left;}
.one-suggest__item{display:flex;align-items:baseline;gap:10px;padding:10px 14px;color:var(--one-ink) !important;text-decoration:none !important;font-size:.85rem;border-bottom:1px solid var(--one-line);}
.one-suggest__item:last-child{border-bottom:0;}
.one-suggest__item b{font-weight:700;}
.one-suggest__item small{font-size:.72rem;opacity:.55;}
.one-suggest__item:hover,.one-suggest__item.is-active{background:rgba(128,128,128,.15);}
.one-suggest__search{opacity:.75;}
#slide-menu .one-suggest{box-shadow:none;top:calc(100% + 4px);}

/* ---- 7. 言語・通貨切替（ヘッダー／メニュー） ---- */
.one-i18n{display:flex;align-items:center;gap:6px;font-size:.78rem;letter-spacing:.06em;margin-right:14px;white-space:nowrap;}
.one-i18n button{background:none;border:0;padding:4px 2px;color:inherit;font:inherit;font-size:.78rem;letter-spacing:.06em;cursor:pointer;opacity:.5;}
.one-i18n button.is-active{opacity:1;font-weight:700;text-decoration:underline;text-underline-offset:4px;}
.one-i18n__sep{opacity:.35;}
.one-i18n select{width:auto;background:transparent;border:0;color:inherit;font:inherit;font-size:.78rem;letter-spacing:.06em;padding:4px 16px 4px 4px;-webkit-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center;background-size:10px;}
.one-i18n select option{color:#222;background:#fff;}
.one-i18n:not(.one-i18n--menu) select{width:auto !important;min-width:0 !important;height:auto !important;margin:0 !important;line-height:1.4 !important;align-self:center;}
.one-i18n--menu{margin:10px 0 18px;gap:12px;}
.one-i18n--menu select{display:block !important;border:1px solid var(--one-line);padding:8px 28px 8px 12px;background-position:right 10px center;font-size:.85rem;}
@media (max-width:959px){
  #header-box > .one-i18n{margin-right:8px;gap:4px;}
  #header-box > .one-i18n select{display:none;}
}

/* ---- 8. カテゴリページ：説明文 ---- */
.one-catintro{max-width:720px;margin:-6px auto 22px;text-align:center;font-size:.85rem;line-height:1.7;opacity:.75;}
@media (max-width:600px){.one-catintro{font-size:.8rem;margin-bottom:16px;text-align:left;}}

/* ---- 9. ショップ評価（信頼ブロック内） ---- */
.one-trust__rating a{color:inherit;text-decoration:none;}
.one-trust__rating b{font-weight:700;font-size:1.05em;}
.one-trust li.one-trust__rating::before{border:0;width:auto;height:auto;transform:none;content:"★";top:0;font-size:.85em;line-height:1.5;}

/* ---- 10. カテゴリページ：サブカテゴリの折りたたみ＋絞り込み ---- */
.one-subcat{display:flex;gap:8px;align-items:center;margin:0 0 12px;}
.one-subcat__q{flex:1 1 auto;min-width:0;font:inherit;font-size:.9rem;padding:10px 12px;border:1px solid var(--one-line);background:transparent;color:inherit;border-radius:0;-webkit-appearance:none;appearance:none;}
.one-subcat__q::placeholder{opacity:.5;}
.one-subcat__toggle{flex:0 0 auto;font:inherit;font-size:.8rem;padding:10px 12px;border:1px solid var(--one-line);background:transparent;color:inherit;cursor:pointer;border-radius:0;white-space:nowrap;}
.one-catbox{position:relative;transition:max-height .2s;}
.one-catbox--collapsed{max-height:132px;overflow:hidden;}
.one-catbox--collapsed::after{content:"";position:absolute;left:0;right:0;bottom:0;height:56px;background:linear-gradient(to bottom,rgba(0,0,0,0),var(--one-bg,#fff));pointer-events:none;}
@media (prefers-reduced-motion:reduce){.one-catbox{transition:none;}}

/* ---- 11. 商品ページ よくある質問 ---- */
.one-faq{margin:28px 0 8px;padding-top:18px;border-top:1px solid var(--one-line);color:var(--one-ink);}
.one-faq__title{font-size:.95rem;font-weight:700;letter-spacing:.06em;margin:0 0 6px;}
.one-faq__item{border-bottom:1px solid var(--one-line);}
.one-faq__item summary{list-style:none;cursor:pointer;padding:12px 28px 12px 0;font-size:.85rem;line-height:1.5;position:relative;}
.one-faq__item summary::-webkit-details-marker{display:none;}
.one-faq__item summary::after{content:"";position:absolute;right:6px;top:50%;width:8px;height:8px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:translateY(-70%) rotate(45deg);transition:transform .18s;opacity:.7;}
.one-faq__item[open] summary::after{transform:translateY(-30%) rotate(-135deg);}
.one-faq__item p{margin:0 0 14px;font-size:.82rem;line-height:1.7;opacity:.85;}
.one-trust a{color:inherit;text-decoration:underline;text-underline-offset:2px;}
@media (prefers-reduced-motion:reduce){.one-faq__item summary::after{transition:none;}}

/* ---- 12. 公式LINEボタン（商品ページ） ---- */
.one-line{display:flex;align-items:center;gap:12px;margin:-6px 0 22px;padding:12px 16px;border-radius:8px;background:#06C755;color:#fff !important;text-decoration:none !important;line-height:1.3;max-width:420px;transition:filter .15s;}
.one-line:hover{filter:brightness(1.07);}
.one-line svg{width:26px;height:26px;fill:#fff;flex:0 0 auto;}
.one-line span{display:flex;flex-direction:column;gap:2px;}
.one-line b{font-size:.9rem;font-weight:700;}
.one-line small{font-size:.72rem;opacity:.9;}
.one-faq__item p a{color:inherit;text-decoration:underline;text-underline-offset:2px;}
@media (max-width:640px){.one-line{max-width:none;}}

/* ---- 13. ABOUTページ ご利用ガイド ---- */
.one-guide{max-width:720px;margin:48px auto 24px;padding:0 4px;color:var(--one-ink);text-align:left;}
.one-guide__title{font-size:1.15rem;font-weight:700;letter-spacing:.08em;text-align:center;margin:0 0 12px;}
.one-guide__lead{font-size:.85rem;line-height:1.8;opacity:.85;margin:0 0 20px;}
.one-guide .one-faq{margin:0 0 24px;padding-top:0;border-top:1px solid var(--one-line);}
.one-guide .one-line{margin:0 0 24px;}
.one-guide__store{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:.85rem;line-height:1.6;margin:0;padding:16px 0;border-top:1px solid var(--one-line);}
.one-guide__store dt{opacity:.6;margin:0;}
.one-guide__store dd{margin:0;}
.one-guide__store a{color:inherit;}
.one-faq__more{display:inline-block;margin-top:14px;font-size:.8rem;color:inherit;text-decoration:underline;text-underline-offset:2px;}
#one-guide{scroll-margin-top:140px;}

/* ==========================================================
   v2.0 UX
   ========================================================== */
/* ---- 14. 一覧カード：価格・タグを左揃え、アーティスト名2行 ---- */
#products .item .item-status,#products .item .item-price,.dolce-cat-list .item .item-status,.dolce-cat-list .item .item-price{text-align:left !important;justify-content:flex-start !important;}
#products .item .item-status .uk-label,.dolce-cat-list .item .item-status .uk-label{margin-left:0 !important;}
#products .item .item-title .one-artist,.dolce-cat-list .item .item-title .one-artist{white-space:normal !important;overflow:hidden;text-overflow:clip;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}

/* ---- 15. SOLD OUT：写真をモノクロ＋文字を重ねる ---- */
#products .item .item-image,.dolce-cat-list .item .item-image{position:relative;overflow:hidden;}
#products .item.is-soldout .item-image img,.dolce-cat-list .item.is-soldout .item-image img{filter:grayscale(1) brightness(.72);}
#products .item.is-soldout .item-image::after,.dolce-cat-list .item.is-soldout .item-image::after{content:"SOLD OUT";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;padding:6px 12px;background:rgba(0,0,0,.82);border:1px solid rgba(255,255,255,.9);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.2em;line-height:1.2;white-space:nowrap;pointer-events:none;}
#products .item.is-soldout .item-price .price,.dolce-cat-list .item.is-soldout .item-price .price{opacity:.5;margin-right:6px;}
#products .item.is-soldout .item-price .soldout-text,.dolce-cat-list .item.is-soldout .item-price .soldout-text{display:inline-block !important;margin-left:0 !important;color:#e50f0d !important;font-size:.85em;font-weight:700;letter-spacing:.04em;white-space:nowrap;opacity:1;}

/* ---- 16. 読み込み中：うっすら光る枠 ---- */
#products .item .item-image:not(.is-loaded){background:linear-gradient(100deg,#141414 30%,#262626 50%,#141414 70%);background-size:220% 100%;animation:oneShimmer 1.3s ease-in-out infinite;aspect-ratio:1/1;}
#products .item .item-image img{transition:opacity .4s ease,transform .7s cubic-bezier(.2,.7,.2,1),filter .3s;}
#products .item .item-image:not(.is-loaded) img{opacity:0;}
@keyframes oneShimmer{0%{background-position:100% 0}100%{background-position:-120% 0}}

/* ---- 17. ふわっと表示・ホバー拡大 ---- */
.one-rv{opacity:0;transform:translateY(14px);}
.one-rv.is-in{opacity:1;transform:none;transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1);}
@media (hover:hover) and (pointer:fine){
  #products .item a:hover .item-image img,.dolce-cat-list .item a:hover .item-image img{transform:scale(1.05);}
  .dolce-cat-list .item .item-image img{transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .3s;}
}

/* ---- 18. 操作バー固定 ---- */
#one-bar.one-sticky{position:sticky;top:var(--one-hd,0px);z-index:30;background:var(--one-bg,#000);transition:top .25s ease;}
#one-bar.one-sticky.is-stuck{padding-top:10px;box-shadow:0 8px 16px -12px rgba(0,0,0,.8);}
@media (max-width:767px){
  #one-bar.is-stuck #one-sizes,#one-bar.is-stuck .one-sizes,#one-bar.is-stuck #one-count{display:none;}
  #one-bar.is-stuck{padding-bottom:10px;margin-bottom:10px;}
}

/* ---- 19. 商品画像の枚数 ---- */
.itempage-item__mainImage{position:relative;}
.one-counter{position:absolute;right:10px;bottom:10px;z-index:5;padding:3px 9px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font-size:.72rem;letter-spacing:.08em;line-height:1.5;pointer-events:none;}

/* ---- 20. スマホ固定カート：価格＋ボタン（テーマ既存の下部カートを強化） ---- */
@media (max-width:767px){
  #bottom-cart.one-bcart{background:#0a0a0a !important;border-top:1px solid rgba(255,255,255,.14);padding:10px 14px calc(10px + env(safe-area-inset-bottom)) !important;}
  #bottom-cart.one-bcart .bottom-cart-inner{display:flex !important;align-items:center !important;gap:12px !important;width:auto !important;}
  #bottom-cart.one-bcart .one-bcart__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;color:#fff;}
  #bottom-cart.one-bcart .one-bcart__name{font-size:.72rem;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  #bottom-cart.one-bcart .one-bcart__price{font-size:1rem;font-weight:700;letter-spacing:.02em;}
  #bottom-cart.one-bcart .fr{float:none !important;flex:0 0 auto;margin:0 !important;width:auto !important;}
  #bottom-cart.one-bcart .purchaseButton{margin:0 !important;}
  #bottom-cart.one-bcart .purchaseButton__btn{width:auto !important;min-width:150px;height:46px !important;line-height:46px !important;padding:0 18px !important;border-radius:4px !important;font-size:.86rem !important;font-weight:700 !important;letter-spacing:.04em;background:transparent !important;color:#fff !important;border:1px solid rgba(255,255,255,.7) !important;}
  #bottom-cart.one-bcart .purchaseButton__btn--addToCart{background:#fff !important;color:#000 !important;border-color:#fff !important;}
  #bottom-cart.one-bcart .bottom-cart-inner>*:not(.one-bcart__info){flex:0 0 auto;}
  #bottom-cart.one-bcart--sold{display:none !important;}
  #bottom-cart.one-bcart--soon .bottom-comingsoon{width:auto !important;min-width:150px;margin:0 !important;padding:0 16px !important;height:46px !important;line-height:46px !important;border-radius:4px;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-align:center;}
  #bottom-cart.one-bcart--soon .bottom-comingsoon:has(small){display:flex !important;flex-direction:column;align-items:center;justify-content:center;line-height:1.25 !important;}
  #bottom-cart.one-bcart--soon .bottom-comingsoon small{display:block;font-size:.62rem;letter-spacing:.1em;opacity:.85;}
}

/* ---- 21. 「ショップに質問する」をスマホで小さいアイコンに ---- */
@media (max-width:767px){
  #x_startMessenger{left:auto !important;right:14px !important;bottom:78px !important;transform:none !important;width:48px !important;height:48px !important;min-width:0 !important;padding:0 !important;border-radius:50% !important;display:flex !important;align-items:center;justify-content:center;transition:bottom .28s ease;}
  #x_startMessenger .msg_startButton__text{display:none !important;}
  #x_startMessenger .msg_startButton__icon{margin:0 !important;}
  #shopDetailPage #x_startMessenger{bottom:88px !important;}
  #shopDetailPage.one-nobcart #x_startMessenger{bottom:78px !important;}
}

/* ---- 22. YouTube POP：画面の左下に小さく ---- */
#floating-banner{top:auto !important;bottom:20px !important;left:20px !important;right:auto !important;width:auto !important;height:auto !important;padding:0 !important;}
#floating-banner .floating-banner-wrap{width:150px !important;height:auto !important;margin:0 !important;padding:0 !important;}
#floating-banner .uk-alert{width:auto !important;height:auto !important;margin:0 !important;padding:0 !important;box-shadow:0 6px 18px rgba(0,0,0,.55);}
#floating-banner .floating-banner-image{width:100% !important;height:auto !important;padding:0 !important;}
#floating-banner img{display:block;width:100% !important;height:auto !important;}
#floating-banner .uk-alert-close{top:-9px !important;right:-9px !important;left:auto !important;width:24px !important;height:24px !important;min-width:0 !important;padding:0 !important;margin:0 !important;background:#000 !important;color:#fff !important;border:1px solid rgba(255,255,255,.6) !important;border-radius:50% !important;opacity:1 !important;z-index:3;display:flex !important;align-items:center;justify-content:center;}
#floating-banner .uk-alert-close svg{width:9px;height:9px;}
@media (max-width:767px){
  #floating-banner{bottom:16px !important;left:12px !important;}
  #floating-banner .floating-banner-wrap{width:96px !important;}
  #shopDetailPage #floating-banner{bottom:92px !important;}
  #shopDetailPage.one-nobcart #floating-banner{bottom:16px !important;}
}

/* ---- 23. 売り切れ商品ページ：似た商品をLINEで相談 ---- */
.one-soldcta{margin:18px 0 16px;padding:16px;border:1px solid rgba(255,255,255,.22);border-radius:6px;background:rgba(255,255,255,.04);}
.one-soldcta__lead{margin:0 0 12px;font-size:.8rem;line-height:1.7;opacity:.9;}
.one-soldcta__lead b{display:block;margin-bottom:2px;font-size:.92rem;letter-spacing:.02em;opacity:1;}
.one-soldcta .one-line{margin:0 !important;}
.one-soldcta__links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px;}
.one-soldcta__links:empty{display:none;}
.one-soldcta__links a{font-size:.8rem;font-weight:700;text-decoration:underline;text-underline-offset:4px;color:inherit;}
#doloce-related{scroll-margin-top:140px;}

/* ---- 24. v2.1 トップのファーストビュー：NEWS 1行化・検索をヘッダーへ ---- */
.one-ticker,.one-hsearch{display:none;}
@media (max-width:767px){
  #shopTopPage .one-ticker{display:flex;align-items:center;gap:10px;margin:12px 0 6px;padding:9px 12px;border:1px solid rgba(255,255,255,.18);border-radius:6px;}
  .one-ticker__label{flex:0 0 auto;padding:2px 6px;border-radius:3px;background:#fff;color:#000;font-size:.62rem;font-weight:700;letter-spacing:.14em;}
  .one-ticker__line{flex:1;min-width:0;display:flex;align-items:center;gap:6px;padding:0;border:0;background:none;color:inherit;font:inherit;font-size:.78rem;text-align:left;cursor:pointer;}
  .one-ticker__txt{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transform:translateY(4px);transition:opacity .25s ease,transform .25s ease;}
  .one-ticker__txt.is-in{opacity:1;transform:none;}
  .one-ticker__more{flex:0 0 auto;font-size:.66rem;opacity:.6;white-space:nowrap;}
  .one-ticker__more::after{content:"";display:inline-block;width:6px;height:6px;margin-left:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s;}
  .one-ticker.is-open .one-ticker__more::after{transform:translateY(1px) rotate(-135deg);}
  #shopTopPage #dolce-news{display:none;}
  #shopTopPage #dolce-news.is-open{display:block;padding:4px 2px 10px;}
  #shopTopPage #dolce-news.is-open > h2{display:none;}
  #shopTopPage .slider-space{height:6px !important;}
  body.one-hs #sp-search{display:none;}
  body.one-hs.one-hs-open #sp-search{display:block;position:fixed;left:0;right:0;top:var(--one-hd,118px);z-index:975;margin:0 !important;padding:10px 14px;background:#000;border-bottom:1px solid rgba(255,255,255,.15);box-shadow:0 10px 20px -12px rgba(0,0,0,.9);}
  body.one-hs .one-hsearch{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:34px;height:50px;padding:0;border:0;background:none;color:inherit;cursor:pointer;}
  .one-hsearch svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;}
}

/* ---- 25. ショート動画（YouTube の最新ショートを自動表示） ---- */
.one-shorts{display:flex;align-items:center;gap:12px;width:100%;margin:-6px 0 16px;padding:10px 14px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:rgba(255,255,255,.06);color:inherit;font:inherit;text-align:left;cursor:pointer;}
.one-shorts > span:not(.one-playicon){flex:1;min-width:0;}
.one-shorts b{display:block;font-size:.84rem;letter-spacing:.02em;}
.one-shorts small{display:block;margin-top:2px;font-size:.68rem;opacity:.65;}
.one-shorts i{font-style:normal;font-size:1.3rem;line-height:1;opacity:.6;}
@media (min-width:768px){.one-shorts{max-width:440px;margin:-6px auto 20px;}}
.one-playicon{flex:0 0 auto;position:relative;display:block;width:34px;height:34px;border-radius:50%;background:#ff0033;}
.one-playicon::after{content:"";position:absolute;left:13px;top:10px;border-left:11px solid #fff;border-top:7px solid transparent;border-bottom:7px solid transparent;}
html.one-modal-open,html.one-modal-open body{overflow:hidden;}
.one-modal{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:56px 16px 20px;background:rgba(0,0,0,.9);}
.one-modal__box{width:min(92vw,calc((100vh - 150px) * 9 / 16));width:min(92vw,calc((100dvh - 150px) * 9 / 16));max-width:420px;}
.one-modal__box iframe{display:block;width:100%;aspect-ratio:9/16;border:0;border-radius:10px;background:#000;}
.one-modal__foot{margin-top:12px;text-align:center;}
.one-modal__foot a{color:#fff !important;font-size:.8rem;text-decoration:underline;text-underline-offset:4px;}
.one-modal__close{position:absolute;top:10px;right:12px;width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(0,0,0,.4);color:#fff;font-size:24px;line-height:1;cursor:pointer;}

/* ---- 26. ブランド帯（3D動画）・道順動画 ---- */
.one-band{margin:28px 0 24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.15);}
.flex-order > .one-band{order:2;}
.one-band__media{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:6px;background:#111;}
.one-band__media img{display:block;width:100%;height:100%;object-fit:cover;}
.one-band__media{background:#111 center/cover no-repeat;}
.one-band__frame{position:absolute;inset:0;background-repeat:no-repeat;opacity:0;transition:opacity 1s ease;will-change:opacity,transform;}
.one-band__frame.is-on{opacity:1;animation:oneKB 3.6s ease-out both;}
@keyframes oneKB{from{transform:scale(1)}to{transform:scale(1.045)}}
.one-band.no-media .one-band__media{display:none;}
.one-band__txt{padding:18px 4px 0;text-align:center;}
.one-band__kicker{margin:0 0 6px;font-size:.64rem;letter-spacing:.3em;opacity:.6;}
.one-band__title{margin:0 0 8px;font-size:1.05rem;font-weight:700;letter-spacing:.04em;line-height:1.5;}
.one-band__lead{margin:0 0 16px;font-size:.8rem;line-height:1.7;opacity:.8;}
.one-band__btns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;}
.one-band__btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:1px solid #fff;border-radius:4px;background:#fff;color:#000 !important;font-size:.8rem;font-weight:700;text-decoration:none !important;}
.one-band__btn--ghost{background:transparent;color:#fff !important;border-color:rgba(255,255,255,.6);}
@media (min-width:768px){
  .flex-order > .one-band{box-sizing:border-box;width:100%;max-width:1240px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px;}
  .one-band{display:grid;grid-template-columns:1.4fr 1fr;gap:36px;align-items:center;}
  .one-band__txt{padding:0;text-align:left;}
  .one-band__btns{justify-content:flex-start;}
}
.one-lite-yt{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;border-radius:6px;background:#000 center/cover no-repeat;cursor:pointer;}
.youtube-wrapper{position:relative;}
/* PC：テーマの枠に高さがないので、16:9の箱として中央に置く（最大720px） */
.youtube-wrapper > .one-lite-yt{max-width:720px;margin:0 auto;}
/* スマホ：テーマの16:9枠（padding-top）にぴったり収める（余白が出ないように）。JSが枠を見て付ける */
.youtube-wrapper > .one-lite-yt.one-lite-yt--fill{position:absolute;top:0;left:0;width:100%;height:100%;max-width:none;margin:0;aspect-ratio:auto;border-radius:0;}
.one-lite-yt .one-playicon{position:absolute;left:50%;top:50%;width:64px;height:44px;border-radius:12px;transform:translate(-50%,-50%);}
.one-lite-yt .one-playicon::after{left:26px;top:12px;border-left-width:14px;border-top-width:10px;border-bottom-width:10px;}
#one-store{scroll-margin-top:140px;}
.one-route{margin-top:22px;}
.one-route__title{margin:0 0 10px;font-size:.88rem;font-weight:700;}
.one-route__play{position:relative;display:block;width:100%;max-width:300px;aspect-ratio:9/16;padding:0;border:0;border-radius:8px;overflow:hidden;background:#111;cursor:pointer;}
.one-route__play img{display:block;width:100%;height:100%;object-fit:cover;}
.one-route__play .one-playicon{position:absolute;left:50%;top:50%;width:60px;height:60px;transform:translate(-50%,-50%);background:rgba(0,0,0,.6);border:2px solid #fff;}
.one-route__play .one-playicon::after{left:22px;top:17px;border-left-width:17px;border-top-width:11px;border-bottom-width:11px;}
.one-route__video{display:block;width:100%;max-width:300px;aspect-ratio:9/16;border:0;border-radius:8px;background:#000;}
.one-route__ig{display:block;width:100%;max-width:340px;height:660px;border:0;border-radius:8px;background:#fff;overflow:hidden;}
.one-route__note{margin:8px 0 0;font-size:.75rem;line-height:1.7;opacity:.8;}
.one-route__note a{color:inherit;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;}

/* ---- 27. ギフトラッピング：一覧から隠す／商品ページのチェック／お知らせ帯リンク ---- */
.one-hide{display:none !important;}
.one-gift{display:flex;align-items:center;gap:12px;margin:14px 0 12px;padding:12px 14px;border:1px solid rgba(255,255,255,.4);border-radius:6px;color:inherit !important;text-decoration:none !important;transition:border-color .2s,background .2s;}
.one-gift:hover{border-color:#fff;background:rgba(255,255,255,.05);}
.one-gift__ico{flex:0 0 auto;width:26px;height:26px;background-color:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Crect x='3' y='8' width='18' height='13' rx='1'/%3E%3Cpath d='M3 12h18M12 8v13M12 8c-2-4-6-4-6-1.5S9 8 12 8zm0 0c2-4 6-4 6-1.5S15 8 12 8z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Crect x='3' y='8' width='18' height='13' rx='1'/%3E%3Cpath d='M3 12h18M12 8v13M12 8c-2-4-6-4-6-1.5S9 8 12 8zm0 0c2-4 6-4 6-1.5S15 8 12 8z'/%3E%3C/svg%3E") center/contain no-repeat;}
.one-gift__txt{flex:1;min-width:0;}
.one-gift__txt b{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:.9rem;}
.one-gift__txt em{font-style:normal;font-size:.76rem;font-weight:400;opacity:.8;color:inherit !important;}
.one-gift__txt small{display:block;margin-top:3px;font-size:.72rem;line-height:1.5;opacity:.7;}
.one-gift__go{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;height:34px;padding:0 12px;border-radius:17px;background:#fff;color:#000;font-size:.76rem;font-weight:700;}
.one-gift__go i{font-style:normal;font-size:1rem;line-height:1;}
.one-gift-back{display:inline-block;margin:6px 0 12px;font-size:.8rem;text-decoration:underline;text-underline-offset:3px;color:inherit !important;}
.one-toast{position:fixed;left:12px;right:12px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:1500;display:flex;align-items:center;gap:10px;max-width:520px;margin:0 auto;padding:12px 12px 12px 14px;border:1px solid rgba(255,255,255,.3);border-radius:8px;background:#111;color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.5);opacity:0;transform:translateY(12px);transition:opacity .3s,transform .3s;}
.one-toast.is-in{opacity:1;transform:none;}
#shopDetailPage .one-toast{bottom:calc(92px + env(safe-area-inset-bottom));}
@media (min-width:768px){#shopDetailPage .one-toast{bottom:24px;}}
.one-toast .one-gift__ico{width:22px;height:22px;}
.one-toast__txt{flex:1;min-width:0;font-size:.76rem;line-height:1.5;}
.one-toast__go{flex:0 0 auto;padding:7px 12px;border-radius:16px;background:#fff;color:#000 !important;font-size:.74rem;font-weight:700;text-decoration:none !important;}
.one-toast__x{flex:0 0 auto;width:28px;height:28px;padding:0;border:0;background:none;color:#fff;font-size:20px;line-height:1;opacity:.7;cursor:pointer;}
.one-banner-link{color:inherit !important;text-decoration:none !important;}
.one-banner-more{white-space:nowrap;}
.one-banner-link:hover{text-decoration:underline !important;text-underline-offset:3px;}

/* ---- 28. カテゴリメニューの区切り見出し ---- */
.one-menu-head{display:flex;align-items:baseline;gap:8px;margin:18px 0 6px;padding:0 0 6px;border-bottom:1px solid rgba(255,255,255,.18);list-style:none;}
.one-menu-head:first-child{margin-top:4px;}
.one-menu-head b{font-size:.68rem;font-weight:700;letter-spacing:.22em;}
.one-menu-head small{font-size:.62rem;opacity:.55;letter-spacing:.06em;}
.sidebar .one-menu-head{margin:22px 8px 8px;}

/* ---- 29. v2.5 ボタンの強弱（カートを主役に）／お知らせ帯のアイコン ---- */
/* カートに入れる：白ボタン（売り切れ・オプション未選択のボタンはグレーのまま） */
#dolce-itemdetail .purchaseButton__btn--addToCart{background:#fff !important;color:#000 !important;border:1px solid #fff !important;font-weight:700 !important;}
#dolce-itemdetail .purchaseButton__btn--addToCart:hover{opacity:.88;}
/* ギフトの「追加する」は枠だけにして、カートより目立たせない */
.one-gift__go{background:transparent;color:inherit;border:1px solid rgba(255,255,255,.6);}
.one-gift:hover .one-gift__go{background:#fff;color:#000;border-color:#fff;}
/* 「この商品をアプリで見る」は控えめに */
#deeplink a{background:transparent !important;color:rgba(255,255,255,.55) !important;border:1px solid rgba(255,255,255,.2) !important;font-size:.72rem !important;box-shadow:none !important;}
/* お知らせ帯：BASEのギフトアイコンを自前のアイコンに差し替え */
.informationBannerIcon.one-gift-ico .shopIcon{display:none !important;}
.informationBannerIcon.one-gift-ico::before{content:"";display:block;width:22px;height:22px;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Crect x='3' y='8' width='18' height='13' rx='1'/%3E%3Cpath d='M3 12h18M12 8v13M12 8c-2-4-6-4-6-1.5S9 8 12 8zm0 0c2-4 6-4 6-1.5S15 8 12 8z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Crect x='3' y='8' width='18' height='13' rx='1'/%3E%3Cpath d='M3 12h18M12 8v13M12 8c-2-4-6-4-6-1.5S9 8 12 8zm0 0c2-4 6-4 6-1.5S15 8 12 8z'/%3E%3C/svg%3E") center/contain no-repeat;}

/* GPTレビュー反映分 */
/* サイズ絞り込み：見出しとクリア */
.one-sizes__lbl{align-self:center;margin-right:2px;font-size:.74rem;letter-spacing:.04em;opacity:.7;}
.one-sizes button.one-sizes__clr{min-width:0;border-style:dashed;opacity:.8;}
/* カテゴリのアーティスト一覧：閉じたときは2行ちょうどで切る（途中を暗くしない） */
.one-catbox--collapsed{max-height:var(--one-catmax,132px);}
.one-catbox--collapsed::after{display:none;}
/* 一点物の数量欄は出さない */
#amountSelectWrap.one-qty1{display:none !important;}
/* ラッピング商品ページ：単品不可の案内（価格の下） */
.one-gift-note{margin:10px 0 14px;padding:10px 12px;border:1px solid rgba(255,255,255,.35);border-radius:4px;font-size:.8rem;line-height:1.6;}
/* 実寸の下の採寸メモ */
.one-facts__note{margin-top:8px;font-size:.72rem;line-height:1.5;opacity:.65;}
/* 売り切れページ：販売中の同じアーティストへのボタン */
.one-soldcta__links a.one-soldcta__artist{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;padding:0 14px;border:1px solid rgba(255,255,255,.8);border-radius:6px;text-decoration:none;font-size:.86rem;}
.one-soldcta__links a.one-soldcta__artist:hover{background:#fff;color:#000;}
/* 商品ページの見出し：アーティスト名を読みやすく */
#dolce-itemdetail .one-h1 .one-artist{font-size:.9em;opacity:.9;}

/* 動きを減らす設定 */
@media (prefers-reduced-motion:reduce){
  .one-rv{opacity:1 !important;transform:none !important;}
  #products .item .item-image:not(.is-loaded){animation:none;}
  #products .item .item-image img{transition:none !important;}
  .one-ticker__txt{transition:none !important;}
  .one-band__frame{transition:none !important;animation:none !important;}
  .one-toast{transition:none !important;}
}

/* ---- 30. v2.6 価格の範囲・読み込み中表示 ---- */
#one-bar{position:relative;}
.one-price{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;}
.one-selwrap{position:relative;display:inline-flex;align-items:center;}
.one-selwrap::after{content:"";position:absolute;right:10px;top:50%;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-70%) rotate(45deg);pointer-events:none;opacity:.8;}
.one-price select{font:inherit;font-size:.8rem;line-height:1.2;padding:7px 28px 7px 10px;border:1px solid var(--one-line);background:transparent;color:inherit;border-radius:0;-webkit-appearance:none;appearance:none;cursor:pointer;min-width:7.4em;}
.one-price select.is-set{border-color:var(--one-ink);font-weight:700;}
.one-price select option{color:#222;background:#fff;}
.one-price select:focus-visible,.one-price__clr:focus-visible{outline:2px solid var(--one-ink);outline-offset:2px;}
.one-price__sep{opacity:.6;}
.one-price__clr{padding:7px 11px;border:1px dashed var(--one-line);background:transparent;color:inherit;font:inherit;font-size:.8rem;line-height:1.1;cursor:pointer;border-radius:999px;opacity:.8;}
.one-price__clr[hidden]{display:none;}
/* 全件読み込み中：一覧を薄く・バーの下に進み具合の線 */
.one-prog{position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--one-ink);opacity:0;transition:width .25s ease,opacity .25s ease;pointer-events:none;}
#one-bar.is-loading .one-prog{opacity:1;}
@media (max-width:767px){
  #one-bar.is-stuck .one-price{display:none;}
}
@media (max-width:360px){
  .one-price select{min-width:6.6em;padding-right:24px;}
}

/* ---- 31. v2.6.1 0件のときの「絞り込みを解除」 ---- */
.one-empty__clr{margin-top:16px;padding:10px 22px;border:1px solid var(--one-line);background:transparent;color:inherit;font:inherit;font-size:.85rem;cursor:pointer;}
.one-empty__clr:hover{border-color:var(--one-ink);}

/* ---- 32. v2.6.2 スマホは「絞り込み」ボタンで価格・サイズを開閉／選択中の条件を1行で表示 ---- */
.one-frow{display:none;}
.one-ftoggle{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:7px 12px;border:1px solid var(--one-line);background:transparent;color:inherit;font:inherit;font-size:.8rem;line-height:1.2;cursor:pointer;}
.one-fbadge{display:inline-block;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--one-ink);color:var(--one-bg,#000);font-size:.7rem;line-height:18px;text-align:center;font-weight:700;}
.one-chev{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s ease;margin-left:2px;}
#one-bar.is-fopen .one-chev{transform:translateY(1px) rotate(-135deg);}
.one-fsum{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:700;}
.one-fclr{flex:0 0 auto;padding:7px 11px;border:1px dashed var(--one-line);background:transparent;color:inherit;font:inherit;font-size:.78rem;line-height:1.1;cursor:pointer;border-radius:999px;opacity:.85;}
.one-fclr[hidden]{display:none;}
.one-ftoggle:focus-visible,.one-fclr:focus-visible{outline:2px solid var(--one-ink);outline-offset:2px;}
@media (max-width:767px){
  .one-frow{display:flex;align-items:center;gap:8px;margin-top:8px;}
  .one-panel{display:none;}
  #one-bar.is-fopen .one-panel{display:block;}
  #one-bar.is-stuck.is-fopen .one-price{display:flex;}
  #one-bar.is-stuck.is-fopen #one-sizes{display:flex;}
  #one-bar.is-stuck.is-fopen #one-sizes:empty{display:none;}
}

/* ---- 33. v2.7 検索0件の案内 ---- */
.one-noresult{max-width:560px;margin:24px auto 72px;padding:0 4px;text-align:center;color:var(--one-ink);}
.one-noresult__ch{margin:0 0 24px;padding:16px 16px 14px;border:1px solid var(--one-line);text-align:left;}
.one-noresult__ch b{display:block;font-size:.95rem;margin-bottom:6px;}
.one-noresult__ch p{margin:0 0 12px;font-size:.82rem;line-height:1.7;opacity:.85;}
.one-noresult__sub{display:block;margin-top:10px;font-size:.8rem;text-decoration:underline;text-underline-offset:3px;opacity:.85;color:inherit;}
.one-noresult__form{display:flex;gap:0;margin:0 0 22px;}
.one-noresult__form input{flex:1 1 auto;min-width:0;height:46px;padding:0 12px;border:1px solid var(--one-line);border-right:0;background:transparent;color:inherit;font:inherit;font-size:16px;border-radius:0;-webkit-appearance:none;appearance:none;}
.one-noresult__form button{flex:0 0 auto;height:46px;padding:0 18px;border:1px solid var(--one-ink);background:var(--one-ink);color:var(--one-bg,#000);font:inherit;font-size:.85rem;font-weight:700;cursor:pointer;}
.one-noresult__lbl{margin:0 0 10px;font-size:.78rem;opacity:.7;}
.one-noresult__chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 24px;}
.one-noresult__chips a{padding:8px 12px;border:1px solid var(--one-line);border-radius:999px;font-size:.78rem;color:inherit;text-decoration:none;}
.one-noresult__acts{display:flex;flex-direction:column;gap:10px;}
.one-noresult__btn{display:block;padding:14px 16px;background:var(--one-ink);color:var(--one-bg,#000) !important;font-size:.88rem;font-weight:700;text-align:center;text-decoration:none;}
.one-noresult__btn--ghost{background:transparent;color:var(--one-ink) !important;border:1px solid var(--one-line);}

/* ---- 34. v2.7 トップ：写真の直下の1行（何の店か） ---- */
.one-tagline{padding:16px 16px 4px;text-align:center;color:var(--one-ink);}
.one-tagline__main{margin:0;font-size:1rem;font-weight:700;letter-spacing:.06em;}
.one-tagline__sub{margin:4px 0 0;font-size:.74rem;letter-spacing:.04em;opacity:.7;}

/* ---- 35. v2.7 ギフト数量の説明・ヘッダーの押しやすさ ---- */
.one-gift-qtynote{margin:6px 0 0;font-size:.74rem;opacity:.75;}
@media (max-width:767px){
  #header-box > .one-i18n button{min-width:30px;min-height:44px;padding:10px 4px;}
}

/* ---- 36. v2.7 スマホ：YouTube小窓はトップの最初の画面だけ／チャットはスクロール中は隠す ---- */
@media (max-width:767px){
  body:not(#shopTopPage) #floating-banner,body.one-scrolled #floating-banner{display:none !important;}
  #x_startMessenger{transition:bottom .28s ease,opacity .25s ease,transform .25s ease !important;}
  body.one-scrolling #x_startMessenger{opacity:0 !important;pointer-events:none !important;transform:translateY(12px) !important;}
}
