.header{width:100%;height:64px;background:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 24px;position:sticky;top:0;box-shadow:0 2px 10px #0000001f;z-index:999;gap:24px}.headerLeft{display:flex;align-items:center;flex:0 0 auto;min-width:0}.logo{display:block;height:50px;width:auto;max-width:220px;object-fit:contain;cursor:pointer}.headerRight{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex:0 0 auto}.coinArea{display:flex;align-items:center;justify-content:center;gap:8px;background:#111;padding:6px 12px;border-radius:999px;box-shadow:0 0 10px #00000040;white-space:nowrap}.coinIcon{width:22px;height:22px;object-fit:contain;flex-shrink:0}.coinText{color:#fff;font-size:16px;font-weight:700;min-width:60px;text-align:center;white-space:nowrap}.coinPlus{width:24px;height:24px;border:none;border-radius:50%;background:#e60012;color:#fff;font-size:18px;font-weight:700;cursor:pointer;transition:.2s;flex-shrink:0}.coinPlus:hover{background:#ff4040;transform:scale(1.08)}.menuButton{width:44px;height:44px;border:none;border-radius:10px;background:#111;color:#fff;font-size:22px;cursor:pointer;transition:.2s;flex-shrink:0}.menuButton:hover{background:#e60012}@media(max-width:1024px){.header{height:62px;padding:0 18px;gap:20px}.logo{height:46px;max-width:200px}.headerRight{gap:15px}.coinArea{padding:6px 10px}.coinText{font-size:15px;min-width:55px}.menuButton{width:42px;height:42px}}@media(max-width:599px){.header{height:60px;padding:0 14px;gap:18px}.logo{height:42px;max-width:150px}.headerRight{gap:12px}.coinArea{gap:5px;padding:5px 9px}.coinIcon{width:20px;height:20px}.coinText{font-size:14px;min-width:42px}.coinPlus{width:22px;height:22px;font-size:16px}.menuButton{width:42px;height:42px;font-size:20px}}@media(max-width:380px){.header{padding:0 10px;gap:12px}.logo{height:38px;max-width:125px}.headerRight{gap:8px}.coinArea{padding:4px 7px}.coinIcon{width:18px;height:18px}.coinText{font-size:13px;min-width:36px}.coinPlus{width:20px;height:20px;font-size:15px}.menuButton{width:40px;height:40px;font-size:19px}}.headerUser{color:#111;font-size:13px;font-weight:700;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.footer{width:100%;background:#222;color:#fff;padding:50px 30px 30px;margin-top:80px;box-sizing:border-box}.footerInner{width:100%;max-width:1200px;margin:0 auto}.footerLogo{margin-bottom:30px}.footerLogo img{display:block;height:55px;width:auto;max-width:100%;object-fit:contain}.footerSection{display:flex;flex-direction:column;margin-bottom:30px}.footerSection h3{margin:0 0 10px;font-size:16px;font-weight:700}.footerSection a{display:inline-block;width:fit-content;margin:5px 0;color:#ff2a00;text-decoration:none;font-size:14px;transition:color .2s ease}.footerSection a:hover{color:#fff}.copyright{margin-top:30px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);text-align:center;color:#aaa;font-size:12px;line-height:1.6}@media(max-width:1024px){.footer{padding:45px 24px 28px;margin-top:60px}.footerLogo img{height:50px}}@media(max-width:599px){.footer{padding:40px 20px 25px;margin-top:50px}.footerLogo{margin-bottom:25px}.footerLogo img{height:45px}.footerSection{margin-bottom:25px}.footerSection h3{font-size:15px}.footerSection a{margin:6px 0;font-size:14px}.copyright{margin-top:25px;padding-top:18px;font-size:11px}}@media(max-width:380px){.footer{padding:35px 16px 22px}.footerLogo img{height:40px}.footerSection h3{font-size:14px}.footerSection a{font-size:13px}}.coinShop{width:100%;max-width:1200px;margin:0 auto;padding:40px 30px 80px}.coinShopTitle{margin:0 0 35px;font-size:30px;font-weight:800;color:#111;text-align:left}.coinGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.coinProduct{background:#fff;border:1px solid #ddd;border-radius:18px;padding:25px;text-align:center;box-shadow:0 5px 20px #00000014;transition:.2s}.coinProduct:hover{transform:translateY(-4px);box-shadow:0 10px 30px #00000021}.shopCoinImage{width:100px;height:100px;object-fit:contain;display:block;margin:0 auto 15px}.productCoins{font-size:22px;font-weight:800;color:#111;margin-bottom:8px}.productPrice{font-size:18px;font-weight:700;color:#555;margin-bottom:18px}.purchaseButton{width:100%;border:none;border-radius:10px;padding:13px;background:#e60012;color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:.2s}.purchaseButton:hover{background:#b8000e}.heroSlider{width:100%;max-width:1200px;margin:0 auto;padding:20px 0 0;background:#fff;box-sizing:border-box}.heroViewport{width:100%;overflow:hidden;border-radius:24px;background:#fff}.heroTrack{display:flex;width:100%;transition:transform .6s ease-in-out}.heroSlide{flex:0 0 100%;width:100%;min-width:0}.heroSlide img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;object-position:center}.heroDots{display:flex;justify-content:center;align-items:center;gap:8px;width:100%;margin:0;padding:14px 0 20px;background:#fff;box-sizing:border-box}.heroDot{width:9px;height:9px;padding:0;border:none;border-radius:50%;background:#cfcfcf;cursor:pointer}.heroDot.active{width:11px;height:11px;background:#333}.heroDot:hover{transform:scale(1.2)}@media(max-width:1024px){.heroSlider{padding-top:15px}.heroViewport{border-radius:18px}}@media(max-width:599px){.heroSlider{padding-top:10px}.heroViewport{border-radius:0}.heroSlide img{width:100%;height:auto;object-fit:contain}.heroDots{padding:10px 0 15px;gap:7px}}@media(max-width:380px){.heroSlider{padding-top:8px}.heroDots{padding:8px 0 13px}}.confirmOverlay{position:fixed;inset:0;display:flex;justify-content:center;align-items:center;background:#0000008c;z-index:9999;padding:20px;box-sizing:border-box}.confirmModal{position:relative;width:100%;max-width:600px;background:#fff;border-radius:20px;padding:70px 40px 40px;box-sizing:border-box;box-shadow:0 20px 60px #0000004d}.confirmClose{position:absolute;top:25px;right:30px;border:none;background:none;font-size:36px;line-height:1;color:#999;cursor:pointer}.confirmClose:hover{color:#555}.confirmTitle{margin:0 0 25px;text-align:center;font-size:30px;font-weight:800;color:#111}.confirmCount{width:fit-content;margin:0 auto 45px;padding:4px 24px;border:3px solid #111;border-radius:999px;background:#fff4c9;font-size:20px;font-weight:700}.coinCalculation{display:flex;align-items:center;justify-content:center;gap:28px;margin-bottom:15px}.coinAmount{display:flex;align-items:center;gap:10px}.coinAmount img{width:34px;height:34px;object-fit:contain}.coinAmount strong{font-size:34px;font-weight:800}.arrow{font-size:40px;color:#999}.coinCost{text-align:center;margin-bottom:48px;color:#f04432;font-size:21px;font-weight:800}.confirmButtons{display:grid;grid-template-columns:1fr 1.8fr;gap:22px}.cancelButton,.confirmButton{height:82px;border-radius:12px;font-size:20px;font-weight:700;cursor:pointer}.cancelButton{background:#fff;border:3px solid #111;color:#111;box-shadow:0 5px #111}.cancelButton:active{transform:translateY(4px);box-shadow:none}.confirmButton{background:#ff3214;border:3px solid #111;color:#fff;box-shadow:0 5px #111}.confirmButton:hover{background:#ed260b}.confirmButton:active{transform:translateY(4px);box-shadow:none}@media(max-width:600px){.confirmModal{padding:55px 20px 25px;border-radius:18px}.confirmTitle{font-size:24px}.coinCalculation{gap:10px}.coinAmount strong{font-size:24px}.coinAmount img{width:28px;height:28px}.arrow{font-size:28px}.confirmButtons{grid-template-columns:1fr 1.4fr;gap:12px}.cancelButton,.confirmButton{height:65px;font-size:17px}}.shopPage{padding:30px 20px 110px}.shopHero{display:flex;align-items:center;gap:16px;margin-bottom:25px;padding:24px;background:#fff;border:1px solid #e5e5e5;border-radius:18px;box-shadow:0 5px 20px #0000000f}.shopHeroIcon{width:54px;height:54px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#111;color:#fff;border-radius:14px;font-size:26px}.shopHero h1{margin:0;font-size:26px;font-weight:800}.shopHero p{margin:5px 0 0;color:#777;font-size:13px}.shopCategories{display:flex;gap:10px;margin-bottom:25px;overflow-x:auto;scrollbar-width:none}.shopCategory{flex-shrink:0;border:none;padding:10px 22px;border-radius:999px;background:#fff;color:#555;font-size:14px;font-weight:700;cursor:pointer}.shopCategory:hover{background:#e8e8e8}.shopProductGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.shopProductCard{overflow:hidden;background:#fff;border:1px solid #e5e5e5;border-radius:18px;box-shadow:0 5px 20px #0000000f;transition:transform .2s ease,box-shadow .2s ease}.shopProductCard:hover{transform:translateY(-3px);box-shadow:0 10px 30px #0000001a}.shopProductImage{width:100%;aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;background:#f3f3f3;font-size:80px}.shopProductInfo{padding:18px}.shopProductTag{display:inline-block;margin-bottom:8px;padding:4px 8px;border-radius:6px;background:#111;color:#fff;font-size:10px;font-weight:800}.shopProductInfo h2{margin:0;font-size:18px;font-weight:800}.shopProductBottom strong{font-size:19px}.shopProductBottom button{border:none;border-radius:9px;padding:10px 15px;background:#111;color:#fff;font-size:13px;font-weight:700;cursor:pointer}*{box-sizing:border-box}html{width:100%;overflow-x:hidden}body{margin:0;width:100%;min-width:0;overflow-x:hidden;background:#f3f3f3;color:#111;font-family:Arial,Noto Sans JP,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,textarea,select{font:inherit}button{-webkit-tap-highlight-color:transparent}img{max-width:100%}.app{width:100%;min-height:100vh;min-height:100dvh;overflow-x:hidden}.main{width:100%;max-width:1200px;margin:0 auto;padding:0 0 calc(100px + env(safe-area-inset-bottom));background:#f3f3f3}.heroCategoryArea{width:100%;background:#fff}.categorySection{width:100%;margin:0;padding:20px 0 24px;background:#fff;overflow:hidden}.categoryList{display:flex;justify-content:center;align-items:center;gap:10px;width:100%;padding:0 20px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.categoryList::-webkit-scrollbar{display:none}.categoryButton{flex:0 0 auto;border:0;border-radius:999px;padding:11px 22px;background:#f3f3f3;color:#555;font-size:14px;font-weight:700;line-height:1.2;white-space:nowrap;cursor:pointer;transition:background-color .2s ease,color .2s ease,transform .2s ease}.categoryButton:hover{background:#e8e8e8}.categoryButton:active{transform:scale(.97)}.categoryButton.active{background:#111;color:#fff}.gachaGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;width:100%;padding:24px 20px 0}.gachaCard{min-width:0;background:#fff;border:1px solid #e5e5e5;border-radius:18px;padding:18px;box-shadow:0 5px 20px #00000012;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}@media(hover:hover){.gachaCard:hover{transform:translateY(-3px);box-shadow:0 10px 30px #0000001c}}.gachaImageArea{position:relative;width:100%;aspect-ratio:2500 / 1666;border-radius:14px;overflow:hidden;background:#f1f1f1;isolation:isolate}.gachaImage{display:block;width:100%;height:100%;max-width:none;object-fit:contain;object-position:center;margin:0;padding:0;background:#f1f1f1;transform:translateZ(0)}.gachaName{margin:15px 0 13px;color:#111;font-size:clamp(17px,1.8vw,20px);font-weight:800;line-height:1.4;overflow-wrap:anywhere}.gachaInfo{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;margin-bottom:12px}.price{display:flex;align-items:center;gap:6px;min-width:0;font-size:14px;font-weight:700;line-height:1.4}.price span{min-width:0;overflow-wrap:anywhere}.gachaCoin{flex:0 0 auto;width:22px;height:22px;object-fit:contain;display:block}.stock{flex:0 0 auto;color:#555;font-size:13px;line-height:1.4;white-space:nowrap}.stock strong{margin:0 2px;color:#e60012;font-size:17px}.stockGauge{width:100%;height:8px;margin-bottom:16px;background:#e5e5e5;border-radius:999px;overflow:hidden}.stockGaugeFill{height:100%;border-radius:inherit;transition:width .5s ease,background-color .5s ease}.stockGaugeFill.normal{background:#00d911}.stockGaugeFill.warning{background:#ffd600}.stockGaugeFill.danger{background:#f44336}.pullButtons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%}.pullButtons button{min-width:0;border:0;border-radius:9px;padding:11px 5px;background:#111;color:#fff;font-size:13px;font-weight:700;line-height:1.2;white-space:nowrap;cursor:pointer;transition:background-color .2s ease,transform .2s ease}@media(hover:hover){.pullButtons button:hover{background:#e60012}}.pullButtons button:active{transform:scale(.97)}.pullButtons button:disabled{background:#ccc;color:#777;cursor:not-allowed;transform:none}.noGacha{grid-column:1 / -1;width:100%;padding:60px 20px;color:#888;font-size:15px;text-align:center}.pagePlaceholder{min-height:calc(100vh - 150px);min-height:calc(100dvh - 150px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.pagePlaceholder h1{margin:0 0 10px;font-size:clamp(24px,5vw,30px)}.pagePlaceholder p{margin:0;color:#777;font-size:14px;line-height:1.7}.main>button{border:0;margin:20px;padding:12px 18px;border-radius:10px;background:#111;color:#fff;font-weight:700;cursor:pointer}.bottomNav{position:fixed;left:50%;bottom:0;transform:translate(-50%);z-index:1000;width:100%;max-width:1200px;height:calc(72px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fffffff5;border-top:1px solid #e5e5e5;box-shadow:0 -5px 20px #00000014;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.bottomNavItem{min-width:0;border:0;padding:6px 2px;background:transparent;color:#999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:color .2s ease}.bottomNavItem.active,.bottomNavItem:hover{color:#111}.bottomNavIcon{font-size:22px;line-height:1}.bottomNavLabel{font-size:11px;font-weight:700;line-height:1.2;white-space:nowrap}.shopPage{padding:24px 20px calc(100px + env(safe-area-inset-bottom))}.shopHero{display:flex;align-items:center;gap:14px;width:100%;margin-bottom:22px;padding:20px;background:#fff;border:1px solid #e5e5e5;border-radius:18px;box-shadow:0 5px 20px #0000000f}.shopHeroIcon{flex:0 0 auto;width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:#111;color:#fff;border-radius:14px;font-size:25px}.shopHero h1{margin:0;font-size:clamp(22px,5vw,28px);font-weight:800;line-height:1.2}.shopHero p{margin:5px 0 0;color:#777;font-size:13px;line-height:1.5}.shopCategories{display:flex;gap:9px;width:100%;margin-bottom:22px;padding-bottom:2px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.shopCategories::-webkit-scrollbar{display:none}.shopCategory{flex:0 0 auto;border:0;border-radius:999px;padding:10px 19px;background:#fff;color:#555;font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer}.shopCategory.active{background:#111;color:#fff}.shopProductGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;width:100%}.shopProductCard{min-width:0;overflow:hidden;background:#fff;border:1px solid #e5e5e5;border-radius:18px;box-shadow:0 5px 20px #0000000f;transition:transform .2s ease,box-shadow .2s ease}@media(hover:hover){.shopProductCard:hover{transform:translateY(-3px);box-shadow:0 10px 30px #0000001a}}.shopProductImage{width:100%;aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;background:#f3f3f3;font-size:clamp(55px,8vw,80px)}.shopProductInfo{padding:17px}.shopProductTag{display:inline-block;margin-bottom:8px;padding:4px 8px;border-radius:6px;background:#111;color:#fff;font-size:10px;font-weight:800;line-height:1.2}.shopProductInfo h2{margin:0;font-size:clamp(16px,2vw,18px);font-weight:800;line-height:1.4;overflow-wrap:anywhere}.shopProductDescription{min-height:40px;margin:8px 0 16px;color:#777;font-size:13px;line-height:1.6}.shopProductBottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.shopProductBottom strong{min-width:0;font-size:clamp(16px,2vw,19px);white-space:nowrap}.shopProductBottom button{flex:0 0 auto;border:0;border-radius:9px;padding:10px 14px;background:#111;color:#fff;font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer}.shopProductBottom button:hover{background:#e60012}@media(max-width:1024px){.main{max-width:900px}.gachaGrid{gap:18px;padding-left:16px;padding-right:16px}.gachaCard{padding:15px}.gachaName{font-size:18px}.price{font-size:13px}.stock{font-size:12px}.pullButtons{gap:6px}.pullButtons button{font-size:12px}.shopProductGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.shopPage{padding-left:16px;padding-right:16px}}@media(max-width:768px){.main{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.categorySection{padding-top:16px;padding-bottom:18px}.categoryList{justify-content:flex-start;padding-left:16px;padding-right:16px}.gachaGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:14px 12px 0}.gachaCard{padding:12px;border-radius:15px}.gachaImageArea{border-radius:11px}.gachaName{margin:12px 0 10px;font-size:16px}.gachaInfo{align-items:flex-start;flex-direction:column;gap:6px;margin-bottom:10px}.price{font-size:12px}.gachaCoin{width:19px;height:19px}.stock{font-size:12px}.stock strong{font-size:15px}.stockGauge{height:7px;margin-bottom:12px}.pullButtons{gap:5px}.pullButtons button{padding:10px 3px;font-size:11px}.bottomNav{height:calc(68px + env(safe-area-inset-bottom))}.bottomNavIcon{font-size:21px}.bottomNavLabel{font-size:10px}.shopProductGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.shopProductInfo{padding:14px}.shopProductDescription{font-size:12px}.shopProductBottom button{padding:9px 11px;font-size:12px}}@media(max-width:599px){.main{width:100%;padding-bottom:calc(92px + env(safe-area-inset-bottom))}.categoryList{gap:8px}.categoryButton{padding:10px 16px;font-size:13px}.gachaGrid{grid-template-columns:1fr;gap:14px;padding:14px 12px 0}.gachaCard{width:100%;padding:14px;border-radius:16px}.gachaImageArea{width:100%;aspect-ratio:2500 / 1666;border-radius:12px}.gachaImage{width:100%;height:100%;object-fit:contain}.gachaName{margin:13px 0 11px;font-size:18px}.gachaInfo{flex-direction:row;align-items:center;justify-content:space-between;gap:8px}.price{font-size:13px}.gachaCoin{width:20px;height:20px}.stock{font-size:12px}.stock strong{font-size:16px}.stockGauge{height:8px;margin-bottom:14px}.pullButtons{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.pullButtons button{min-height:42px;padding:10px 4px;font-size:12px}.bottomNav{height:calc(66px + env(safe-area-inset-bottom))}.bottomNavItem{gap:3px}.bottomNavIcon{font-size:20px}.bottomNavLabel{font-size:9px}.shopPage{padding:14px 12px calc(92px + env(safe-area-inset-bottom))}.shopHero{gap:12px;margin-bottom:16px;padding:16px;border-radius:15px}.shopHeroIcon{width:44px;height:44px;border-radius:11px;font-size:21px}.shopHero h1{font-size:22px}.shopHero p{font-size:11px}.shopCategories{margin-bottom:16px}.shopCategory{padding:9px 15px;font-size:12px}.shopProductGrid{grid-template-columns:1fr;gap:14px}.shopProductCard{border-radius:16px}.shopProductImage{aspect-ratio:16 / 10;font-size:65px}.shopProductInfo{padding:15px}.shopProductInfo h2{font-size:17px}.shopProductDescription{min-height:auto;margin-bottom:14px;font-size:12px}.shopProductBottom strong{font-size:17px}.shopProductBottom button{padding:10px 13px;font-size:12px}}@media(max-width:380px){.gachaGrid{padding-left:8px;padding-right:8px}.gachaCard{padding:11px}.gachaName{font-size:16px}.price,.stock{font-size:11px}.pullButtons{gap:4px}.pullButtons button{min-height:40px;font-size:10px}.bottomNavLabel{font-size:8px}}@media(max-width:768px)and (orientation:landscape){.gachaGrid,.shopProductGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
