/* トップページ（LP）専用スタイル — 白 × 水色 */

/* ========== HERO ========== */
.hero{position:relative;z-index:1;min-height:calc(100svh - 68px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:56px 20px 190px;overflow:hidden;background:linear-gradient(180deg,#EAF6FF 0%,#fff 82%)}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 75% 70% at 50% 35%,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse 75% 70% at 50% 35%,#000 30%,transparent 80%);animation:gridMove 20s linear infinite;opacity:.7}
@keyframes gridMove{to{background-position:56px 56px,56px 56px}}
.hero-blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.7;will-change:transform}
.hero-blob.b1{width:560px;height:560px;background:radial-gradient(circle,#8FD3FB,transparent 70%);top:-180px;left:-140px;animation:blob1 16s ease-in-out infinite alternate}
.hero-blob.b2{width:520px;height:520px;background:radial-gradient(circle,#B9E5FF,transparent 70%);top:10%;right:-160px;animation:blob2 19s ease-in-out infinite alternate}
.hero-blob.b3{width:380px;height:380px;background:radial-gradient(circle,#CBEBFF,transparent 70%);bottom:12%;left:28%;animation:blob1 23s ease-in-out infinite alternate-reverse}
@keyframes blob1{to{transform:translate(120px,80px) scale(1.2)}}
@keyframes blob2{to{transform:translate(-120px,60px) scale(1.15)}}
.hero-chips i{position:absolute}
.hero-inner{position:relative;z-index:3;max-width:980px}
.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;font:700 .74rem var(--font-display);letter-spacing:.24em;color:var(--sky-700);background:rgba(255,255,255,.85);border:1px solid var(--sky-300);padding:8px 20px;border-radius:999px;box-shadow:var(--shadow-sm);animation:fadeUp .8s .1s both}
.hero-eyebrow .dot-live{width:8px;height:8px;border-radius:50%;background:#26A4EA;box-shadow:0 0 0 0 rgba(38,164,234,.6);animation:ping 1.8s infinite}
@keyframes ping{70%{box-shadow:0 0 0 10px rgba(38,164,234,0)}100%{box-shadow:0 0 0 0 rgba(38,164,234,0)}}
.hero-title{font-family:var(--font-display);font-weight:800;line-height:1.02;letter-spacing:-.01em;margin:22px 0 6px;font-size:clamp(3.1rem,13vw,8.4rem);color:var(--ink)}
.hero-title .line{display:block;overflow:hidden;padding:.04em 0}
.hero-title .word{display:inline-block;transform:translateY(110%);animation:wordUp .9s cubic-bezier(.2,.9,.2,1) forwards}
.hero-title .line:nth-child(2) .word{animation-delay:.12s}
.hero-title .grad{background:linear-gradient(100deg,#5CBDF3,#0B87D3 45%,#5CBDF3 90%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:wordUp .9s .12s cubic-bezier(.2,.9,.2,1) forwards,shimmer 5s linear infinite}
@keyframes wordUp{to{transform:none}}
@keyframes shimmer{to{background-position:-200% 0}}
.hero-jp{font-size:clamp(1.05rem,3.2vw,1.55rem);font-weight:900;color:var(--ink);letter-spacing:.08em;margin:6px 0 14px;animation:fadeUp .8s .5s both}
.hero-sub{font-size:clamp(.88rem,2.6vw,1.05rem);color:var(--ink-2);line-height:2;margin-bottom:34px;animation:fadeUp .8s .65s both}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;animation:fadeUp .8s .8s both}
.hero-cta .btn{padding:17px 36px;font-size:1rem}
.pc-br{display:none}
@media(min-width:760px){.pc-br{display:inline}}
.hero-stats{display:flex;justify-content:center;gap:clamp(18px,4vw,46px);margin-top:34px;flex-wrap:wrap;animation:fadeUp .8s 1s both}
.hs{text-align:center}
.hs b{display:block;font:800 clamp(1.4rem,4vw,2rem)/1 var(--font-display);color:var(--sky-600)}
.hs span{font-size:.7rem;color:var(--muted);font-weight:700;letter-spacing:.08em}
.hs+.hs{padding-left:clamp(18px,4vw,46px);border-left:1px solid var(--sky-200)}

/* 走るミニカー */
.road{position:absolute;left:0;right:0;bottom:0;height:150px;z-index:2;pointer-events:none}
.road-surface{position:absolute;left:0;right:0;bottom:0;height:56px;background:linear-gradient(180deg,#D5ECFC,#BFE1F8);border-top:3px solid #fff}
.road-surface::before{content:"";position:absolute;left:0;right:0;top:50%;height:4px;margin-top:-2px;background:repeating-linear-gradient(90deg,#fff 0 46px,transparent 46px 92px);animation:roadMove .7s linear infinite}
@keyframes roadMove{to{background-position:-92px 0}}
.car-wrap{position:absolute;bottom:42px;left:0;width:min(330px,60vw);animation:drive 9s cubic-bezier(.45,.05,.4,.95) infinite;will-change:transform}
@keyframes drive{0%{transform:translateX(-120%)}46%,54%{transform:translateX(38vw)}100%{transform:translateX(110vw)}}
.car-body-bob{animation:bob .5s ease-in-out infinite alternate}
@keyframes bob{to{transform:translateY(-2.5px)}}
.car-wrap svg{width:100%;height:auto;display:block;overflow:visible}
.wheel{transform-box:fill-box;transform-origin:center;animation:spin .55s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.speed-lines{position:absolute;right:100%;top:30%;width:140px}
.speed-lines i{position:absolute;right:0;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,#8FD3FB);animation:sl .6s linear infinite}
.speed-lines i:nth-child(1){top:0;width:120px}
.speed-lines i:nth-child(2){top:16px;width:80px;animation-delay:-.2s}
.speed-lines i:nth-child(3){top:32px;width:100px;animation-delay:-.4s}
@keyframes sl{from{transform:translateX(30px);opacity:0}30%{opacity:1}to{transform:translateX(-50px);opacity:0}}
.clouds i{position:absolute;height:14px;border-radius:14px;background:#fff;opacity:.9;animation:cloud linear infinite}
.clouds i::before{content:"";position:absolute;left:18%;top:-10px;width:34%;height:20px;border-radius:50%;background:#fff}
.clouds i:nth-child(1){top:18%;width:110px;animation-duration:44s;animation-delay:-8s}
.clouds i:nth-child(2){top:34%;width:80px;animation-duration:58s;animation-delay:-30s}
.clouds i:nth-child(3){top:10%;width:140px;animation-duration:72s;animation-delay:-52s}
@keyframes cloud{from{left:-20%}to{left:110%}}

.scroll-hint{position:absolute;bottom:62px;left:50%;transform:translateX(-50%);z-index:3;display:none}
@media(min-width:900px){.scroll-hint{display:flex;flex-direction:column;align-items:center;gap:6px;font:700 .64rem var(--font-display);letter-spacing:.3em;color:var(--sky-600);bottom:160px;left:auto;right:36px;transform:none;writing-mode:vertical-rl}
  .scroll-hint::after{content:"";width:1px;height:46px;background:linear-gradient(var(--sky-500),transparent);animation:sh 1.6s ease-in-out infinite}
  @keyframes sh{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}}

/* ========== TICKER ========== */
.ticker{position:relative;z-index:2;overflow:hidden;background:var(--grad);padding:13px 0;transform:rotate(-1deg);margin:-14px -10px 0;box-shadow:0 10px 30px rgba(38,164,234,.3)}
.ticker-track{display:flex;gap:46px;width:max-content;animation:tickerScroll 30s linear infinite}
.ticker-item{font:700 .85rem var(--font-display);letter-spacing:.14em;color:#fff;white-space:nowrap;display:inline-flex;align-items:center;gap:12px}
.ticker-item i{opacity:.8}
@keyframes tickerScroll{to{transform:translateX(-50%)}}

/* ========== SECTIONS ========== */
.section{position:relative;z-index:1;padding:96px 24px}
.section-inner{max-width:1040px;margin:0 auto}
.sec-head{text-align:center;margin-bottom:46px}
.sec-label{display:inline-flex;align-items:center;gap:8px;font:700 .72rem var(--font-display);letter-spacing:.26em;color:var(--sky-600);margin-bottom:12px}
.sec-label::before,.sec-label::after{content:"";width:26px;height:1.5px;background:var(--sky-400)}
.sec-title{font-family:var(--font-display);font-weight:800;font-size:clamp(1.9rem,5.5vw,3rem);line-height:1.2;color:var(--ink);margin-bottom:14px;letter-spacing:.01em}
.sec-title em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.sec-title .jp{font-family:var(--font-body)}
.sec-desc{font-size:.96rem;color:var(--ink-2);line-height:2;max-width:640px;margin:0 auto}
.sec-alt{background:linear-gradient(180deg,#fff 0%,var(--sky-50) 12%,var(--sky-50) 88%,#fff 100%)}
.sec-sky{background:linear-gradient(135deg,#E3F3FE,#F5FBFF)}
.wave{display:none}

/* ========== PRODUCTS ========== */
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px}
.product-card,.tomica-new-card{--rx:0deg;--ry:0deg;position:relative;display:flex;flex-direction:column;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow-sm);transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .25s ease-out,box-shadow .3s,border-color .3s;opacity:0;translate:0 26px;animation:none}
.product-card.visible,.tomica-new-card.visible,.card-r.visible{opacity:1;translate:0 0;transition:transform .25s ease-out,box-shadow .3s,border-color .3s,opacity .7s,translate .7s cubic-bezier(.2,.8,.2,1)}
.product-card::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(260px circle at var(--mx,50%) var(--my,0%),rgba(92,189,243,.20),transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none}
.product-card:hover::after{opacity:1}
.product-card:hover,.tomica-new-card:hover{border-color:var(--sky-400);box-shadow:var(--shadow-lg)}
.product-img-wrap{aspect-ratio:1/1;background:var(--sky-50);overflow:hidden;position:relative}
.product-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.product-card:hover .product-img-wrap img{transform:scale(1.08)}
.product-badge{position:absolute;top:12px;left:12px;z-index:2;font:800 .68rem var(--font-display);letter-spacing:.12em;padding:6px 13px;border-radius:999px;color:#fff;background:var(--grad);box-shadow:0 6px 16px rgba(38,164,234,.4)}
.product-info{padding:18px 18px 20px;display:flex;flex-direction:column;flex:1}
.product-title{font-size:.92rem;line-height:1.55;font-weight:700;color:var(--ink);height:2.95em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 12px}
.product-price-row{display:flex;align-items:baseline;justify-content:space-between;padding:12px 0;margin-bottom:14px;border-top:1px dashed var(--sky-200)}
.product-price-label{font-size:.7rem;color:var(--muted);font-weight:700}
.product-price{font:800 1.45rem var(--font-display);color:var(--sky-600)}
.product-btn-wrap{margin-top:auto}
.product-btn{width:100%;padding:12px 16px;font-size:.88rem;background:var(--grad);color:#fff;box-shadow:0 8px 20px rgba(38,164,234,.3)}
.pill{display:inline-flex;align-items:center;gap:5px;font-size:.68rem;font-weight:800;padding:3px 10px;border-radius:999px;margin:0 6px 8px 0}
.pill-pop{background:linear-gradient(135deg,#26A4EA,#0B87D3);color:#fff}
.pill-genre{background:var(--sky-100);color:var(--sky-700);border:1px solid var(--sky-200)}
.pill-rep{background:transparent;color:var(--sky-700);padding-left:0}
.skeleton-msg{text-align:center;padding:60px 20px;color:var(--muted);grid-column:1/-1;font-weight:700}
.skeleton-msg i{font-size:2rem;color:var(--sky-400);margin-bottom:12px;display:block}

/* categories */
.yc-wrap{margin:44px auto 0;max-width:940px;text-align:center}
.yc-title{font-weight:900;font-size:1.05rem;margin-bottom:6px;color:var(--ink)}
.yc-title i{color:var(--sky-500);margin-right:6px}
.yc-sub{font-size:.84rem;color:var(--muted);margin-bottom:18px}
.yc-list{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.yc-chip{display:inline-flex;align-items:center;gap:7px;padding:10px 18px;border-radius:999px;border:1px solid var(--sky-300);background:#fff;color:var(--sky-700);font-weight:700;font-size:.84rem;text-decoration:none;transition:all .2s}
.yc-chip::before{content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;font-size:.68rem;color:var(--sky-400)}
.yc-chip:hover{background:var(--grad);color:#fff;border-color:transparent;transform:translateY(-3px);box-shadow:0 10px 22px rgba(38,164,234,.35)}
.yc-chip:hover::before{color:#fff}
.yc-chip small{opacity:.7}
.center{text-align:center}
.mt40{margin-top:40px}

/* ========== FEATURE PANELS (mercari / minicar / gallery) ========== */
.panel{position:relative;max-width:900px;margin:0 auto;text-align:center;background:#fff;border:1px solid var(--line);border-radius:36px;padding:clamp(34px,6vw,64px) clamp(20px,5vw,60px);box-shadow:var(--shadow);overflow:hidden}
.panel::before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;top:-180px;right:-120px;background:radial-gradient(circle,#CBEBFF,transparent 70%)}
.panel>*{position:relative}
.chips{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:24px 0 30px}
.chip{display:inline-flex;align-items:center;gap:8px;background:var(--sky-100);border:1px solid var(--sky-200);color:var(--sky-700);font-size:.8rem;font-weight:800;padding:9px 18px;border-radius:999px}
.own-gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px;margin:26px 0 30px}
.own-gal-item{position:relative;display:block;border-radius:18px;overflow:hidden;border:1px solid var(--line);aspect-ratio:1/1;background:var(--sky-50);transition:transform .3s,box-shadow .3s,border-color .3s}
.own-gal-item:hover{transform:translateY(-6px) rotate(-1deg);border-color:var(--sky-400);box-shadow:var(--shadow)}
.own-gal-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.own-gal-item:hover img{transform:scale(1.08)}
.own-gal-live{position:absolute;top:8px;left:8px;font-size:.64rem;font-weight:800;background:rgba(255,255,255,.92);color:var(--sky-700);padding:3px 10px;border-radius:999px;box-shadow:var(--shadow-sm)}
.sold-title{color:var(--sky-700);font-size:1.1rem;font-weight:900;margin:0 0 4px}
.sold-title span{font-size:.85rem;color:var(--muted);font-weight:700}
.link-arrow{color:var(--sky-600);font-weight:800;text-decoration:none}
.link-arrow:hover{text-decoration:underline}

/* ========== TOMICA / NEWS ========== */
.tomica-tabs{display:flex;justify-content:center;gap:10px;margin-bottom:28px;flex-wrap:wrap}
.tomica-new-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px}
.tomica-card-body{padding:22px;display:flex;flex-direction:column;flex-grow:1;justify-content:space-between}
.tomica-badge-cat{display:inline-block;font-size:.68rem;font-weight:800;padding:5px 12px;border-radius:999px;margin-bottom:12px;letter-spacing:.04em}
.tomica-badge-regular{background:var(--sky-100);color:var(--sky-700);border:1px solid var(--sky-200)}
.tomica-badge-premium{background:var(--grad);color:#fff}
.tomica-card-name{font-size:.98rem;font-weight:800;color:var(--ink);margin-bottom:8px;line-height:1.5}
.tomica-card-price-row{display:flex;align-items:baseline;gap:6px;margin-bottom:8px}
.tomica-price-label{font-size:.72rem;color:var(--muted)}
.tomica-card-price{font-size:1.02rem;font-weight:900;color:var(--sky-600)}
.btn-tomica-buy{display:flex;align-items:center;justify-content:center;gap:6px;background:var(--grad);color:#fff;text-decoration:none;padding:12px;border-radius:14px;font-size:.86rem;font-weight:800;margin-top:12px;box-shadow:0 8px 18px rgba(38,164,234,.3);transition:transform .2s}
.btn-tomica-buy:hover{transform:translateY(-2px)}
.btn-tomica-toggle{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--sky-700);border:1.5px solid var(--sky-300);font-size:.9rem;font-weight:800;padding:12px 26px;border-radius:999px;text-decoration:none;transition:all .2s}
.btn-tomica-toggle:hover{background:var(--sky-500);border-color:var(--sky-500);color:#fff;transform:translateY(-2px)}
.tomica-legal-note{margin-top:34px;padding:18px 22px;background:#fff;border:1px solid var(--line);border-radius:16px;font-size:.78rem;color:var(--ink-2);line-height:1.8;text-align:left}
.tomica-legal-note a{color:var(--sky-600)!important}
.tomica-legal-note p{margin-bottom:4px}
.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}
.news-card{display:flex;gap:16px;background:#fff;border-radius:20px;border:1px solid var(--line);padding:14px;text-decoration:none;color:inherit;box-shadow:var(--shadow-sm);opacity:0;translate:0 24px;transition:transform .3s,box-shadow .3s,border-color .3s,opacity .7s,translate .7s}
.news-card.visible{opacity:1;translate:0 0}
.news-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--sky-400)}
.news-card-img{flex:0 0 88px;width:88px;height:88px;border-radius:14px;overflow:hidden;background:var(--sky-50);display:flex;align-items:center;justify-content:center}
.news-card-img img{max-width:100%;max-height:100%;object-fit:contain}
.news-card-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}
.news-card-date{font:800 .72rem var(--font-display);color:var(--sky-600);margin-bottom:4px;letter-spacing:.06em}
.news-card-title{font-size:.88rem;font-weight:700;color:var(--ink);line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.news-card-link-hint{font-size:.72rem;color:var(--muted);margin-top:6px}

/* ========== SHOP INFO ========== */
.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px;margin-bottom:34px}
.info-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:30px 22px;text-align:center;box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s,border-color .3s;--rx:0deg;--ry:0deg;transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry))}
.info-card:hover{box-shadow:var(--shadow);border-color:var(--sky-400)}
.ic-icon{width:64px;height:64px;border-radius:20px;margin:0 auto 16px;display:grid;place-items:center;font-size:1.5rem;color:#fff;background:var(--grad);box-shadow:0 12px 24px rgba(38,164,234,.35);transition:transform .4s}
.info-card:hover .ic-icon{transform:rotate(-8deg) scale(1.1)}
.ic-label{font:700 .68rem var(--font-display);letter-spacing:.18em;color:var(--muted);margin-bottom:6px}
.ic-value{font-size:1.05rem;font-weight:900;color:var(--ink);line-height:1.5}
.ic-value.num{font:800 1.9rem var(--font-display);color:var(--sky-600)}
.notice{display:flex;gap:16px;background:#fff;border:1px solid var(--line);border-left:5px solid var(--sky-500);border-radius:20px;padding:22px 26px;box-shadow:var(--shadow-sm);margin-bottom:16px;text-align:left}
.notice>i{font-size:1.4rem;color:var(--sky-500);margin-top:4px}
.notice h3{font-size:1rem;color:var(--ink);margin-bottom:6px;font-weight:900}
.notice p{font-size:.9rem;color:var(--ink-2);line-height:1.95}
.sns-pills{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.sns-pill{display:inline-flex;align-items:center;gap:8px;background:var(--sky-100);color:var(--sky-700);padding:8px 18px;border-radius:999px;font-size:.8rem;font-weight:800;text-decoration:none;border:1px solid var(--sky-200);transition:all .2s}
.sns-pill:hover{background:var(--sky-500);color:#fff;border-color:var(--sky-500)}

/* ========== PLATFORM CARDS ========== */
.platform-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:24px}
.p-card{--rx:0deg;--ry:0deg;position:relative;overflow:hidden;border-radius:30px;padding:38px 34px;text-decoration:none;display:flex;flex-direction:column;gap:14px;color:#fff;min-height:260px;transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .25s ease-out,box-shadow .3s}
.p-yahoo{background:linear-gradient(135deg,#26A4EA,#0A6AAA);box-shadow:0 22px 50px rgba(11,135,211,.35)}
.p-mercari{background:linear-gradient(135deg,#7FD0FA,#26A4EA);box-shadow:0 22px 50px rgba(38,164,234,.3)}
.p-card::before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;right:-90px;top:-100px;background:rgba(255,255,255,.18);transition:transform .6s}
.p-card:hover::before{transform:scale(1.5) translate(-20px,20px)}
.p-card::after{content:"";position:absolute;width:160px;height:160px;border-radius:50%;left:-50px;bottom:-60px;background:rgba(255,255,255,.12)}
.p-card>*{position:relative;z-index:1}
.p-card:hover{box-shadow:0 30px 70px rgba(11,135,211,.45)}
.p-ico{font-size:2.2rem;opacity:.95}
.p-tag{display:inline-block;background:rgba(255,255,255,.22);font:700 .68rem var(--font-display);letter-spacing:.16em;padding:5px 14px;border-radius:999px;width:fit-content}
.p-title{font:800 clamp(1.7rem,4vw,2.1rem)/1.15 var(--font-display)}
.p-sub{font-size:.88rem;opacity:.92;line-height:1.8}
.p-arrow{display:flex;align-items:center;gap:8px;font-weight:800;font-size:.88rem;margin-top:auto}
.p-arrow i{transition:transform .25s}
.p-card:hover .p-arrow i{transform:translateX(8px)}

/* ========== FOLLOW ========== */
.follow-card{display:flex;align-items:center;gap:30px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:34px;padding:clamp(26px,5vw,48px);box-shadow:var(--shadow)}
.f-avatar{width:92px;height:92px;border-radius:28px;object-fit:cover;border:3px solid var(--sky-300);flex-shrink:0;box-shadow:var(--shadow)}
.f-text{flex:1;min-width:200px}
.f-name{font:800 1.5rem var(--font-display);color:var(--ink);margin-bottom:4px}
.f-desc{font-size:.88rem;color:var(--ink-2);line-height:1.8}
.f-stats{margin-top:12px}
.f-stat-num{font:800 2rem/1 var(--font-display);color:var(--sky-600);display:block}
.f-stat-label{font-size:.7rem;color:var(--muted);font-weight:700}

/* ========== SNS ========== */
.sns-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;max-width:860px;margin:0 auto}
.sns-card{--rx:0deg;--ry:0deg;text-decoration:none;border-radius:24px;padding:28px 14px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .25s ease-out,box-shadow .3s,border-color .3s;opacity:0;translate:0 24px}
.sns-card.visible{opacity:1;translate:0 0;transition:transform .25s ease-out,box-shadow .3s,border-color .3s,opacity .7s,translate .7s cubic-bezier(.2,.8,.2,1)}
.sns-card:hover{box-shadow:var(--shadow);border-color:var(--sky-400)}
.sns-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;font-size:1.5rem;color:#fff;background:var(--grad);box-shadow:0 10px 20px rgba(38,164,234,.35);transition:transform .4s}
.sns-card:hover .sns-icon{transform:rotate(-8deg) scale(1.12)}
.sns-name{font-size:.88rem;font-weight:800;color:var(--ink)}
.sns-handle{font-size:.7rem;color:var(--muted)}

/* ========== X TIMELINE ========== */
.x-box{max-width:520px;margin:0 auto 18px;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow);padding:6px}

/* ========== BANNER SECTION ========== */
.banner-grid{display:grid;gap:26px;max-width:960px;margin:0 auto}
.banner-item{background:#fff;border:1px solid var(--line);border-radius:28px;padding:18px;box-shadow:var(--shadow-sm)}
.banner-item img{width:100%;height:auto;display:block;border-radius:18px}
.banner-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 6px 2px;font-size:.8rem;color:var(--ink-2)}
.banner-meta b{font-family:var(--font-display);color:var(--ink)}
.banner-dl{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:var(--sky-700);text-decoration:none;font-size:.8rem;background:var(--sky-100);border:1px solid var(--sky-200);padding:8px 16px;border-radius:999px}
.banner-dl:hover{background:var(--sky-500);color:#fff;border-color:var(--sky-500)}
.code-box{margin-top:12px;background:var(--sky-50);border:1px dashed var(--sky-300);border-radius:14px;padding:12px 14px;font:500 .72rem/1.7 ui-monospace,Consolas,monospace;color:var(--ink-2);word-break:break-all;text-align:left}

/* ========== ACCESS ========== */
.alert{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--sky-300);border-left:5px solid var(--sky-500);padding:18px 22px;border-radius:18px;font-weight:700;color:var(--ink);font-size:.92rem;margin-bottom:18px;box-shadow:var(--shadow-sm)}
.alert i{color:var(--sky-500);font-size:1.2rem;margin-top:3px}
.map-card{border-radius:30px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}
.map-frame{width:100%;height:340px;border:none;display:block}
.map-addr{background:#fff;color:var(--ink);padding:18px 24px;display:flex;align-items:center;gap:12px;font-size:.92rem;font-weight:800;border-top:1px solid var(--line)}
.map-addr i{color:var(--sky-500)}

/* ========== RESPONSIVE ========== */
@media(max-width:768px){
  .section{padding:70px 16px}
  .hero{padding:44px 16px 170px}
  .hero-stats .hs+.hs{padding-left:18px}
  .product-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .product-info{padding:12px 12px 14px}
  .product-title{font-size:.8rem}
  .product-price{font-size:1.15rem}
  .product-btn{padding:10px;font-size:.78rem}
  .map-frame{height:260px}
  .car-wrap{width:min(250px,64vw)}
  .follow-card{gap:20px}
  .p-card{padding:30px 24px;min-height:220px}
  .panel{border-radius:28px}
}
@media(max-width:480px){
  .hero-cta{flex-direction:column;align-items:stretch;width:100%;max-width:320px;margin:0 auto}
  .sns-grid{grid-template-columns:repeat(2,1fr)}
  .menu-btn span.t{display:none}
  .nav-logo-text small{display:none}
  .notice{padding:18px}
  .scroll-to-top{bottom:16px;right:16px}
}
@media(min-width:1024px){.platform-cards{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){
  .hero-title .word{transform:none;animation:none}
  .car-wrap{animation:none;transform:translateX(30vw)}
  .product-card,.tomica-new-card,.news-card,.sns-card{opacity:1!important;translate:none!important}
}
