:root{--b:#080808;--s:#111;--s2:#181818;--bd:rgba(0,229,255,.12);--a:#00e5ff;--a2:#ff003c;--a3:#7fff00;--t:#e2e2e2;--m:#555}
html.theme body{background:var(--b)!important;color:var(--t)!important}
html.theme body::after{content:'';position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,.025) 3px,rgba(0,0,0,.025) 4px);pointer-events:none;z-index:9998}
@keyframes twg{0%,90%,100%{clip-path:none;transform:none}91%{clip-path:polygon(0 15%,100% 15%,100% 22%,0 22%);transform:translateX(-3px)}93%{clip-path:polygon(0 55%,100% 55%,100% 62%,0 62%);transform:translateX(3px)}95%{clip-path:polygon(0 30%,100% 30%,100% 35%,0 35%);transform:translateX(-2px)}97%{clip-path:none;transform:none}}
@keyframes twc{0%,88%,100%{text-shadow:none}89%{text-shadow:2px 0 var(--a2),-2px 0 var(--a)}91%{text-shadow:-2px 0 var(--a2),2px 0 var(--a)}93%{text-shadow:none}}
@keyframes twl{0%,100%{opacity:.3;transform:scaleX(1)}45%{opacity:1;transform:scaleX(.65)}55%{opacity:.6;transform:scaleX(.9)}}
@keyframes tws{0%{top:-10%}100%{top:110%}}
.l-header{background:rgba(8,8,8,.88)!important;backdrop-filter:blur(14px)!important;border-bottom:1px solid var(--bd)!important}
.c-menubtn__line{background:var(--t)!important}
.c-menubtn:hover .c-menubtn__line{background:var(--a)!important}
.c-menubtn__text{color:var(--t)!important;letter-spacing:.12em}
.c-menu{background:rgba(6,6,6,.97)!important;border-left:1px solid var(--bd)!important}
.c-menu__row{border-bottom:1px solid rgba(255,255,255,.04)!important;transition:background .2s}
.c-menu__row:hover{background:rgba(0,229,255,.04)!important}
.c-menu__name{color:var(--t)!important;letter-spacing:.1em}
.c-menu__name-sup{color:var(--m)!important}
.c-menu__row:hover .c-menu__name{color:var(--a)!important}
.c-menu__aside a{color:var(--m)!important}
.c-menu__aside a:hover{color:var(--a)!important}
.l-header__logo a,.c-logo a{display:inline-block;animation:twg 12s ease-in-out infinite}
.c-caption__main{color:var(--t)!important;letter-spacing:.12em;animation:twc 10s ease-in-out infinite}
.c-caption__sub{color:var(--m)!important;letter-spacing:.08em}
.c-block::before{content:'';display:block;height:1px;background:linear-gradient(90deg,transparent,var(--a) 50%,transparent);margin-bottom:2.5rem;animation:twl 5s ease-in-out infinite}
.c-card{background:var(--s)!important;border:1px solid transparent!important;transition:border-color .3s,box-shadow .3s,transform .3s!important}
.c-card:hover{border-color:var(--a)!important;box-shadow:0 0 18px rgba(0,229,255,.14),0 0 36px rgba(0,229,255,.06)!important;transform:translateY(-3px)!important}
.c-card__title{color:var(--t)!important}
.c-card__price{color:var(--a)!important}
.c-card:hover .c-card__title{text-shadow:1px 0 var(--a2),-1px 0 var(--a)}
.c-card__date{color:var(--m)!important}
.c-card__tag--endOfSale{background:var(--a2)!important;border:none!important}
.c-card__tag--waitingForSale{background:var(--a3)!important;color:#000!important;border:none!important}
.c-card__tag--preOrder{background:var(--a)!important;color:#000!important;border:none!important}
.c-btn{background:transparent!important;color:var(--a)!important;border:1px solid var(--a)!important;letter-spacing:.18em!important;transition:background .25s,box-shadow .25s,color .25s!important}
.c-btn:hover{background:rgba(0,229,255,.08)!important;box-shadow:0 0 14px rgba(0,229,255,.35)!important;color:#fff!important}
.c-pickup__item{background:var(--s)!important}
.c-pickup__title{color:#fff!important}
.c-pickup__price{color:var(--a)!important}
.c-pickup__summary{color:#ccc!important}
.c-pickup__tag{color:var(--a3)!important;background:rgba(127,255,0,.1)!important;border:1px solid rgba(127,255,0,.3)!important}
.c-pickup__pager{border-color:var(--a)!important;background:var(--s)!important}
#js-category-drawer,#js-sticky,.c-sticky,.c-sticky__category,.c-category{background:var(--b)!important}.c-category a,.c-category__link,.c-category li,.c-category span,[class*="appsItemCategory"],[class*="appsItemCategory"] a,[class*="appsItemCategory"] li,#js-category-drawer a,#js-category-drawer li,#js-category-drawer span{color:var(--t)!important;background:transparent!important}.c-category a:hover,.c-category__link:hover,[class*="appsItemCategory"] a:hover,#js-category-drawer a:hover{color:var(--a)!important}.c-category li,.c-sticky__category li{border-bottom:1px solid var(--bd)!important}.c-sticky__category li li,[class*="appsItemCategory"] li li{padding-left:.8rem!important;border-color:rgba(0,229,255,.06)!important}.c-category .is-current>a,.c-category a.is-current{color:var(--a)!important;border-left:2px solid var(--a)!important;padding-left:8px!important;font-weight:700!important}
.c-tag{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0 0 1.5rem!important}
.c-tag li a{display:inline-block;padding:5px 14px;border:1px solid var(--bd);color:var(--t)!important;font-size:.78rem;letter-spacing:.08em;transition:border-color .2s,color .2s!important}
.c-tag li a:hover{border-color:var(--a)!important;color:var(--a)!important}
.c-caption__sub{color:var(--m)!important;letter-spacing:.08em}
html.theme.category-page .c-caption__sub{color:var(--a)!important;font-weight:700;letter-spacing:.12em}
.c-about{background:var(--s2)!important}
.c-about__title,.c-about__summary{color:var(--t)!important}
.c-news{background:var(--s2)!important}
.c-news__head{color:var(--a)!important}
.c-news__item{border-bottom:1px solid var(--bd)!important}
.c-notice{background:var(--s)!important;border-bottom:1px solid var(--bd)!important;color:var(--t)!important}
.c-notice__tag{color:var(--a)!important}
.c-sticky{background:rgba(8,8,8,.92)!important;backdrop-filter:blur(10px)!important;border-bottom:1px solid var(--bd)!important}
.c-sticky__caption{color:var(--a)!important;letter-spacing:.15em}
.c-search__input{background:var(--s)!important;color:var(--t)!important;border:1px solid var(--bd)!important}
.c-search__input::placeholder{color:var(--m)!important}
.c-modal{background:rgba(6,6,6,.97)!important}
.c-modal__close::before,.c-modal__close::after{background:var(--t)!important}
.l-footer,footer{background:var(--s)!important;border-top:1px solid var(--bd)!important}
.c-footer__copy,.l-footer a{color:var(--m)!important}
.l-footer a:hover{color:var(--a)!important}
.c-cta{background:var(--s2)!important}
.p-item{background:var(--b)!important}
.p-item__inner{background:var(--b)!important}
.p-item__name,.p-item__title{color:var(--t)!important;animation:twc 10s ease-in-out infinite}
.p-item__price{color:var(--a)!important;font-weight:700}
.p-item__description{color:var(--t)!important;line-height:1.8}
.p-item__detail{background:var(--s)!important;border:1px solid var(--bd)!important;padding:1.5rem;color:var(--t)!important}
.c-view__main,.c-view__thumb{background:var(--s)!important;border:1px solid var(--bd)!important}
.c-view__thumb-item{border:1px solid transparent!important;transition:border-color .2s!important}
.c-view__thumb-item:hover,.c-view__thumb-item.is-active{border-color:var(--a)!important}
.c-item-label{color:var(--a)!important}
.c-item-stock{color:var(--m)!important}
.p-item select,.p-item .c-select{background:var(--s)!important;color:var(--t)!important;border:1px solid var(--bd)!important}
.p-related{background:var(--b)!important;border-top:1px solid var(--bd)!important}
.p-related__title,.c-related__title{color:var(--t)!important}
.p-about__title,.p-about__summary{color:var(--t)!important}
.c-faq__text{color:var(--t)!important}
.c-faq__icon{color:var(--a)!important}
.c-faq__row{border-color:var(--bd)!important}
html.theme body,html.theme .l-cover,html.theme .l-cover__inner,html.theme main,html.theme .l-main,html.theme .l-main__inner,html.theme .p-about,html.theme .p-about__inner,html.theme .u-frame{background-color:var(--b)!important}
.tw-video-wrap{position:relative;width:100%;background:#000;overflow:hidden}
.tw-video-clip{position:relative;margin:0 auto;overflow:hidden}
.tw-video-clip iframe{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:108%;height:108%;border:none;pointer-events:none}
.tw-video-overlay{position:absolute;inset:0;z-index:2;cursor:default}
.tw-video-scan{position:absolute;left:0;right:0;height:60px;background:linear-gradient(180deg,rgba(0,229,255,.07),transparent);animation:tws 4s linear infinite;pointer-events:none;z-index:3}
.tw-video-fade{position:absolute;bottom:0;left:0;right:0;height:22%;background:linear-gradient(to top,#000,transparent);pointer-events:none;z-index:4}
@media(min-width:801px){.tw-video-clip{aspect-ratio:16/9;max-height:90vh;max-width:calc(90vh * 16/9)}}
@media(max-width:800px){.tw-video-clip{aspect-ratio:9/16;max-height:85vh;max-width:calc(85vh * 9/16)}}
@media(prefers-reduced-motion:reduce){.c-caption__main,.l-header__logo a,.c-logo a,.tw-video-scan,.p-item__name,.p-item__title{animation:none!important}.c-card,.c-btn{transition:none!important}.c-block::before{animation:none!important}}
.c-faq,.c-faq__inner,.c-faq__list{background:var(--b)!important}
.c-faq__item{background:var(--s)!important;border:1px solid var(--bd)!important;margin-bottom:.75rem}
.c-faq__row{background:transparent!important;border-color:var(--bd)!important}
.c-faq__row--q{background:var(--s2)!important}
.c-faq__text{color:var(--t)!important}
.c-faq__icon--q{color:var(--a)!important}
.c-faq__icon--a{color:var(--a3)!important}
.p-about__content{background:var(--b)!important;color:var(--t)!important}
.p-about__link a{color:var(--a)!important}
.p-item__remaining{color:var(--a2)!important;font-weight:700;background:rgba(255,0,60,.1)!important;border:1px solid rgba(255,0,60,.35)!important;display:inline-block;padding:2px 10px;font-size:.8rem;letter-spacing:.08em}
.p-item__select select,.p-item select,select{background:var(--s)!important;color:var(--t)!important;border:1px solid var(--bd)!important}
.p-item__select option,.p-item option,option{background:var(--s)!important;color:var(--t)!important}
.p-item input[type="text"],.p-item input[type="number"],.p-item textarea{background:var(--s)!important;color:var(--t)!important;border:1px solid var(--bd)!important}
.p-item label,.p-item__label{color:var(--t)!important}
.subsc-label{color:var(--m)!important}
.p-item__related{background:var(--b)!important;border-top:1px solid var(--bd)!important}
.c-empty{background:var(--b)!important}
.c-empty__message{color:var(--m)!important}
.c-newsletter{background:var(--s)!important;border-top:1px solid var(--bd)!important}
.c-newsletter__description,.c-newsletter__title{color:var(--t)!important}
.c-newsletter input[type="email"]{background:var(--s2)!important;color:var(--t)!important;border:1px solid var(--bd)!important}
.c-newsletter input::placeholder{color:var(--m)!important}
.p-blog,.p-blog__inner{background:var(--b)!important}
.p-blog .c-caption__main{color:var(--t)!important}
.p-blog__btn .c-btn{color:var(--a)!important;border-color:var(--a)!important}
.l-footer__nav a,.l-footer__widget a{color:var(--m)!important}
.l-footer__nav a:hover,.l-footer__widget a:hover{color:var(--a)!important}
.l-footer__widget{color:var(--m)!important}
.c-cta{background:var(--s2)!important}
.c-cta__title{color:var(--t)!important}
.c-cta__summary{color:var(--m)!important}
.p-item__detail *:not(.c-btn):not(.p-item__name-main):not(.p-item__price):not(.p-item__remaining){color:var(--t)!important}
/* ===== TECH VISUAL v3 ===== */

/* ── 追加 keyframes ── */
@keyframes twrot{0%{transform:translate(-50%,-50%) rotate(0deg)}100%{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes twrot2{0%{transform:translate(-50%,-50%) rotate(0deg)}100%{transform:translate(-50%,-50%) rotate(-360deg)}}
@keyframes twpulse{0%,100%{opacity:.15;transform:scale(1)}50%{opacity:.5;transform:scale(1.04)}}
@keyframes twblink{0%,90%,100%{opacity:.5}91%,99%{opacity:0}}
@keyframes twscan2{0%{top:-4%}100%{top:104%}}
@keyframes twbar{0%{background-position:0 0}100%{background-position:48px 0}}
@keyframes twglow{0%,100%{box-shadow:0 0 4px rgba(0,229,255,.2),inset 0 0 4px rgba(0,229,255,.05)}50%{box-shadow:0 0 12px rgba(0,229,255,.5),inset 0 0 8px rgba(0,229,255,.1)}}
@keyframes twcorner{0%,100%{opacity:.4;width:12px;height:12px}50%{opacity:.9;width:16px;height:16px}}
@keyframes twdash{0%{stroke-dashoffset:200}100%{stroke-dashoffset:0}}
@keyframes twflicker{0%,95%,100%{opacity:1}96%,98%{opacity:.6}}

/* ── 全画面スキャンライン（常時・超薄） ── */
html.theme body::before{content:'';position:fixed;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(0,229,255,.18) 40%,rgba(0,229,255,.35) 50%,rgba(0,229,255,.18) 60%,transparent);animation:twscan2 6s linear infinite;pointer-events:none;z-index:9999;top:0}

/* ── ドットグリッドパターン ── */
.c-block,.c-products,.p-item__related{position:relative}
.c-block::after{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(0,229,255,.07) 1px,transparent 1px);background-size:24px 24px;pointer-events:none;z-index:0}
.c-block>*{position:relative;z-index:1}

/* ── カード：コーナーブラケット（常時アニメ） ── */
.c-card{position:relative;overflow:visible!important}
.c-card::before,.c-card::after{content:'';position:absolute;border-color:var(--a);border-style:solid;pointer-events:none;z-index:2}
.c-card::before{top:-1px;left:-1px;width:12px;height:12px;border-width:1px 0 0 1px;animation:twcorner 3s ease-in-out infinite}
.c-card::after{bottom:-1px;right:-1px;width:12px;height:12px;border-width:0 1px 1px 0;animation:twcorner 3s ease-in-out infinite .5s}

.c-view__main{position:relative;overflow:hidden}

/* ── 商品画像：コーナーブラケット ── */
.c-view{position:relative}
.c-view__main-frame::before,.c-view__main-frame::after{content:'';position:absolute;width:20px;height:20px;border-color:rgba(0,229,255,.6);border-style:solid;z-index:6;pointer-events:none;animation:twpulse 2.5s ease-in-out infinite}
.c-view__main-frame::before{top:6px;left:6px;border-width:2px 0 0 2px}
.c-view__main-frame::after{bottom:6px;right:6px;border-width:0 2px 2px 0;animation-delay:.5s}

/* ── 商品ページ：HUDバー（常時点滅） ── */
.p-item__detail{position:relative}
.p-item__detail::before{content:'SYS// ITEM-DATA ▮';display:block;font-family:'Bebas Neue',sans-serif;font-size:.65rem;letter-spacing:.3em;color:var(--a);margin-bottom:.75rem;animation:twblink 2s step-end infinite}
.p-item__detail::after{content:'';display:block;height:1px;background:linear-gradient(90deg,var(--a),rgba(0,229,255,.2) 60%,transparent);margin-top:1.25rem;opacity:.4;animation:twpulse 3s ease-in-out infinite}

/* ── 商品名：テクニカルラベル ── */
.p-item__name{border-left:2px solid var(--a)!important;padding-left:1rem!important;margin-bottom:1rem;animation:twglow 3s ease-in-out infinite}
.p-item__name::before{content:'PRODUCT //';display:block;font-family:'Bebas Neue',sans-serif;font-size:.6rem;letter-spacing:.3em;color:var(--a);opacity:.5;margin-bottom:.3rem;animation:twblink 4s step-end infinite}

/* ── 価格：データ表示風 ── */
.p-item__price{border:1px solid rgba(0,229,255,.25)!important;padding:.4rem .8rem!important;display:inline-block;position:relative;animation:twglow 2.5s ease-in-out infinite 1s}
.p-item__price::before{content:'PRICE';position:absolute;top:-8px;left:6px;background:var(--b);font-family:'Bebas Neue',sans-serif;font-size:.55rem;letter-spacing:.2em;color:var(--a);opacity:.6;padding:0 4px}

/* ── セクション見出し：バーコード風ライン（流れるアニメ） ── */
.c-caption{position:relative;padding-top:1.5rem}
.c-caption::before{content:'';position:absolute;top:0;left:0;right:0;height:6px;background-image:repeating-linear-gradient(90deg,var(--a) 0px,var(--a) 2px,transparent 2px,transparent 6px,rgba(0,229,255,.3) 6px,rgba(0,229,255,.3) 7px,transparent 7px,transparent 12px);background-size:48px 6px;opacity:.3;animation:twbar 1.5s linear infinite}

/* ── PIKCUPカード：コーナーブラケット ── */
.c-pickup__item{position:relative}
.c-pickup__item::before,.c-pickup__item::after{content:'';position:absolute;width:14px;height:14px;border-color:rgba(0,229,255,.5);border-style:solid;z-index:2;pointer-events:none;animation:twcorner 3.5s ease-in-out infinite}
.c-pickup__item::before{top:6px;left:6px;border-width:1px 0 0 1px}
.c-pickup__item::after{bottom:6px;right:6px;border-width:0 1px 1px 0;animation-delay:.8s}

/* ── カテゴリーラベル ── */
.c-sticky__caption{font-family:'Bebas Neue',sans-serif;letter-spacing:.25em;font-size:.7rem;animation:twblink 5s step-end infinite}
.c-sticky__caption::before{content:'// ';opacity:.5}

/* ── FAQアイコン：レティクル風 ── */
.c-faq__icon{width:28px;height:28px;border:1px solid currentColor;display:inline-flex!important;align-items:center;justify-content:center;border-radius:50%}

/* ── フッター：テクニカルボーダー ── */
.l-footer::before{content:'';display:block;height:1px;background-image:repeating-linear-gradient(90deg,var(--a) 0px,var(--a) 3px,transparent 3px,transparent 8px);background-size:48px 1px;opacity:.2;animation:twbar 2s linear infinite}

/* ── ボタン：ノッチ＋グロー ── */
.c-btn{clip-path:polygon(8px 0%,100% 0%,100% calc(100% - 8px),calc(100% - 8px) 100%,0% 100%,0% 8px)!important;animation:twglow 3s ease-in-out infinite}

/* ── ヘッダー：常時フリッカー ── */
.l-header{animation:twflicker 8s ease-in-out infinite}

/* ── スマホ最適化 ── */
@media(max-width:800px){
  html.theme body::before{height:1px;animation-duration:8s}
  .c-view__main::before{width:40px;height:40px;margin:-20px 0 0 -20px}
  .c-view__main::after{width:20px;height:20px;margin:-10px 0 0 -10px}
  .c-block::after{background-size:32px 32px}
  .c-btn{animation:none!important}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
}

/* ── ショップに質問するボタン ── */
[class*="question"] a,[class*="question"] button,[id*="question"] a,
a[href*="contact"],button[class*="contact"]{background:var(--a)!important;color:#000!important;border-color:var(--a)!important;font-weight:700!important}

/* ── PAY ID 3回あと払い ── */
html .bnplBanner,html body .bnplBanner{background:#111!important;border:1px solid rgba(0,229,255,.2)!important;padding:.5rem .75rem!important}
html .bnplBanner *,html body .bnplBanner *{color:#e2e2e2!important;background:transparent!important}
html .bnplBanner b,html body .bnplBanner b{color:#00e5ff!important}
html .bnplBanner__help,html body .bnplBanner__help{background:#181818!important;border:1px solid rgba(0,229,255,.2)!important}
html .bnplBanner__logo,html body .bnplBanner__logo{filter:brightness(0) invert(1)!important}

/* ── ショップレビュー：タブ ── */
.review01__tabWrap,.review01__tab{background:#080808!important;border-color:rgba(0,229,255,.12)!important}
.review01__tabChild{background:transparent!important}
.review01__radio{accent-color:#00e5ff}
.x_reviewLabel{color:#e2e2e2!important;background:transparent!important}
.review01__count{color:#00e5ff!important;background:transparent!important}
.review01__tabIcon.ico--good{color:#7fff00!important}
.review01__tabIcon.ico--normal{color:#555!important}
.review01__tabIcon.ico--bad{color:#ff003c!important}
.review01__trigger{color:#00e5ff!important;border-color:rgba(0,229,255,.12)!important}
/* ── ショップレビュー：リスト（プルダウン） ── */
.review01__list,ul.review01__list{background:#080808!important;border-color:rgba(0,229,255,.12)!important}
.review01__list *,ul.review01__list *{color:#e2e2e2!important;background:transparent!important}
.review01__list li,.review01__list .review01__item{border-bottom:1px solid rgba(0,229,255,.08)!important;background:#080808!important}
.review01__list b,.review01__list strong{color:#fff!important}
.review01__list a{color:#00e5ff!important}
/* ===== /TECH VISUAL v3 ===== */
