:root{--bg: #ffffff;--bg-alt: #f8fafc;--surface: #ffffff;--surface-2: #f4f7fb;--border: #e8ecf2;--border-mid: #d2d9e6;--text: #1a1d24;--text-muted: #64748b;--text-dim: #9ca3af;--primary: #ff5e2a;--primary-hover: #e84e1a;--primary-light: #fff2ec;--primary-mid: #ffd8c8;--green: #16a34a;--green-light: #dcfce7;--yellow: #d97706;--yellow-light: #fef3c7;--red: #dc2626;--red-light: #fee2e2;--blue: #2563eb;--blue-light: #eff6ff;--amazon: #ff9900;--rakuten: #bf0000;--font-display: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", "Rounded Mplus 1c", sans-serif;--font-body: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;--radius-sm: 8px;--radius: 14px;--radius-lg: 20px;--shadow-xs: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow: 0 4px 20px rgba(0,0,0,.08), 0 2px 6px rgba(0,0,0,.05);--shadow-lg: 0 12px 40px rgba(0,0,0,.12), 0 4px 12px rgba(0,0,0,.06);--shadow-primary: 0 6px 24px rgba(255,94,42,.28);--container: 960px;--px: clamp(1rem, 4vw, 1.75rem);--primary-gradient: linear-gradient(135deg, #ff5e2a 0%, #ff8c42 100%);--primary-gradient-soft: linear-gradient(135deg, #fff4f0 0%, #fff8f4 100%);--hero-bg: radial-gradient(ellipse 80% 60% at 50% -10%, #fff0e8 0%, #ffffff 70%);--shadow-cta: 0 8px 32px rgba(255, 94, 42, .45), 0 2px 8px rgba(255, 94, 42, .2);--shadow-card-hover: 0 12px 40px rgba(255, 94, 42, .15), 0 4px 12px rgba(0, 0, 0, .06);--shadow-float: 0 20px 60px rgba(0, 0, 0, .12), 0 8px 24px rgba(0, 0, 0, .06);--text-hero: clamp(2.6rem, 9vw, 5.5rem);--text-display: clamp(1.8rem, 5vw, 3rem);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.7;min-height:100dvh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}.container{max-width:var(--container);margin-inline:auto;padding-inline:var(--px)}.hstack{display:flex;align-items:center}.main-content{flex:1}.site-header{position:sticky;top:0;z-index:100;background:#ffffffeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);box-shadow:var(--shadow-xs)}.site-header .hstack{height:60px;justify-content:space-between}.logo{display:flex;align-items:center;gap:.35rem;font-family:var(--font-display);font-weight:900;font-size:1.4rem;color:var(--text);transition:opacity .18s}.logo:hover{opacity:.75}.logo-wordmark{line-height:1}.logo-accent{color:var(--primary)}.main-nav{display:flex;gap:.25rem}.nav-link{padding:.4rem .875rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;color:var(--text-muted);transition:color .18s,background .18s}.nav-link:hover{color:var(--text);background:var(--surface-2)}.site-footer{background:var(--bg-alt);border-top:1px solid var(--border);padding:2.5rem 0;margin-top:4rem;text-align:center}.footer-logo{font-family:var(--font-display);font-weight:900;font-size:1.5rem;margin-bottom:.375rem;color:var(--text)}.footer-tagline{font-size:.85rem;color:var(--text-muted);margin-bottom:1.25rem}.affiliate-notice{font-size:.72rem;color:var(--text-dim);max-width:460px;margin:0 auto 1.25rem;line-height:1.65}.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem 1rem}.footer-nav a{font-size:.78rem;color:var(--text-muted);transition:color .18s}.footer-nav a:hover{color:var(--text)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:var(--radius);font-family:var(--font-body);font-weight:700;font-size:.9375rem;border:none;transition:all .18s;cursor:pointer;white-space:nowrap;line-height:1}.btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:var(--shadow-cta);padding:.875rem 2rem;letter-spacing:.02em}.btn-primary:hover:not(:disabled){background:var(--primary-gradient);filter:brightness(1.08);transform:translateY(-2px) scale(1.02);box-shadow:0 12px 40px #ff5e2a80,0 4px 12px #ff5e2a40}.btn-cta{font-size:1.125rem;padding:1rem 2.5rem;border-radius:999px;position:relative;overflow:visible}.btn-cta:after{content:"";position:absolute;inset:-4px;border-radius:inherit;border:2px solid rgba(255,94,42,.4);animation:ctaPulse 2s ease-in-out infinite;pointer-events:none}@keyframes ctaPulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.08);opacity:0}}.btn-ghost{background:var(--surface-2);color:var(--text-muted);border:1.5px solid var(--border)}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--border-mid);background:var(--bg-alt)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.trust-bar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem 2rem;padding:1rem;background:var(--primary-gradient-soft);border-top:1px solid var(--primary-mid);border-bottom:1px solid var(--primary-mid)}.trust-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-muted);font-weight:600}.trust-item-num{font-family:var(--font-display);font-size:1.25rem;font-weight:900;color:var(--primary)}.trust-divider{width:1px;height:1.5rem;background:var(--primary-mid)}.ai-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.3rem .875rem;border-radius:999px;background:linear-gradient(135deg,#1a1a2e,#16213e);color:#a5b4fc;font-size:.75rem;font-weight:700;letter-spacing:.05em}.tool-page{padding:clamp(2rem,5vw,3.5rem) var(--px) clamp(3rem,7vw,5rem);max-width:640px;margin-inline:auto}.tool-header{margin-bottom:1.75rem}.tool-icon{font-size:2rem;display:block;margin-bottom:.75rem;font-weight:700}.tool-title{font-family:var(--font-display);font-weight:900;font-size:clamp(1.5rem,5vw,2rem);margin-bottom:.5rem;line-height:1.2;color:var(--text)}.tool-desc{font-size:.9375rem;color:var(--text-muted);line-height:1.65}.how-to{display:flex;align-items:flex-start;gap:.75rem;background:var(--primary-light);border-left:3px solid var(--primary);border-radius:0 var(--radius) var(--radius) 0;padding:.875rem 1.125rem;margin-bottom:1.5rem;font-size:.84375rem;color:var(--text-muted);line-height:1.65}.how-to-icon{font-size:1.1rem;flex-shrink:0;margin-top:.05em}.upload-area{border:2.5px dashed var(--border-mid);border-radius:var(--radius-lg);padding:2.25rem 1.5rem;text-align:center;cursor:pointer;transition:all .2s;background:var(--bg-alt);min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center}.upload-area:hover,.upload-area.drag-over{border-color:var(--primary);background:var(--primary-light)}.upload-icon{font-size:1rem;font-weight:700;display:block;margin-bottom:.75rem;line-height:1}.upload-title{font-family:var(--font-display);font-weight:800;font-size:1rem;color:var(--text);margin-bottom:.3rem}.upload-hint{font-size:.8125rem;color:var(--text-muted)}.preview-wrap{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-2);border:1.5px solid var(--border)}.preview-img{width:100%;max-height:280px;object-fit:contain;display:block}.scan-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.875rem;background:#ffffffd1;backdrop-filter:blur(2px)}.scan-bar{position:absolute;inset-inline:0;height:3px;background:linear-gradient(90deg,transparent,var(--primary),transparent);box-shadow:0 0 12px #ff5e2a80;animation:scanDown 1.8s ease-in-out infinite}@keyframes scanDown{0%{top:0%;opacity:1}85%{opacity:1}to{top:100%;opacity:0}}.scan-label{position:relative;font-family:var(--font-display);font-weight:800;font-size:1rem;color:var(--primary);text-align:center}.dot-anim:after{content:"";animation:dots 1.4s steps(3,end) infinite}@keyframes dots{0%{content:""}33%{content:"."}66%{content:".."}to{content:"..."}}.upload-btns{display:grid;grid-template-columns:1fr 1fr;gap:.625rem;margin-top:.75rem}@media(max-width:360px){.upload-btns{grid-template-columns:1fr}}.error-box{background:var(--red-light);border:1.5px solid rgba(220,38,38,.25);border-radius:var(--radius);padding:.875rem 1.125rem;color:var(--red);font-size:.875rem;display:flex;align-items:center;gap:.625rem;flex-wrap:wrap;margin-top:.875rem}.error-retry{background:transparent;border:none;color:var(--red);font-size:.8125rem;text-decoration:underline;cursor:pointer;padding:0;margin-left:auto}.result-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-top:2rem;box-shadow:var(--shadow);animation:fadeUp .35s ease both}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.result-card-header{background:linear-gradient(135deg,var(--primary-light),#fff8f5);border-bottom:1.5px solid var(--primary-mid);padding:.875rem 1.375rem;display:flex;align-items:center;gap:.625rem}.result-card-label{font-size:.72rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.12em;flex:1}.result-brand{font-size:.7rem;color:var(--text-dim);font-family:var(--font-display);font-weight:700}.result-body{padding:1.375rem;display:flex;flex-direction:column;gap:1.25rem}.result-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:420px){.result-fields{grid-template-columns:1fr}}.result-field-label{font-size:.7rem;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.3rem}.result-field-value{font-weight:700;font-size:1rem;color:var(--text)}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .75rem;border-radius:999px;font-size:.8125rem;font-weight:700}.badge-green{background:var(--green-light);color:var(--green)}.badge-yellow{background:var(--yellow-light);color:var(--yellow)}.badge-red{background:var(--red-light);color:var(--red)}.badge-gray{background:var(--surface-2);color:var(--text-muted)}.result-tip{background:var(--primary-light);border-left:3px solid var(--primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:1rem 1.125rem}.result-tip-heading{font-size:.7rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem}.result-tip-text{font-size:.875rem;color:var(--text-muted);line-height:1.75}.result-products-heading{font-size:.7rem;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.75rem}.product-items{display:flex;flex-direction:column;gap:.5rem}.product-item{border:1.5px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem}.product-item-name{font-weight:700;font-size:.9375rem;color:var(--text);margin-bottom:.2rem}.product-item-reason{font-size:.8125rem;color:var(--text-muted);line-height:1.55}.affiliate-block{margin-top:1.375rem;animation:fadeUp .35s .12s ease both}.affiliate-heading{font-family:var(--font-display);font-weight:800;font-size:1.0625rem;color:var(--text);margin-bottom:.3rem}.affiliate-sub{font-size:.8125rem;color:var(--text-muted);margin-bottom:1.125rem}.affiliate-btns{display:grid;grid-template-columns:1fr 1fr;gap:.625rem}@media(max-width:400px){.affiliate-btns{grid-template-columns:1fr}}.affiliate-btn{display:flex;align-items:center;gap:.75rem;padding:1rem 1.125rem;border-radius:var(--radius);border:2px solid;text-decoration:none;transition:all .18s;font-weight:700;font-size:.875rem}.affiliate-btn:hover{transform:translateY(-2px)}.affiliate-btn-amazon{border-color:var(--amazon);color:#cc7a00;background:#fffbf2;grid-column:1 / -1;padding:1.125rem 1.5rem;font-size:1rem;justify-content:center;box-shadow:0 4px 20px #ff99004d}.affiliate-btn-amazon:hover{background:#fff4d6;box-shadow:0 6px 24px #ff990059}.affiliate-btn-rakuten{border-color:#bf000066;color:var(--rakuten);background:#fff5f5}.affiliate-btn-rakuten:hover{background:#ffe8e8;box-shadow:0 4px 14px #bf00001f}.affiliate-btn-cpa{grid-column:1 / -1;border-color:var(--primary);color:#fff;background:var(--primary);justify-content:center;box-shadow:var(--shadow-primary)}.affiliate-btn-cpa:hover{background:var(--primary-hover);box-shadow:0 6px 22px #ff5e2a59}.affiliate-btn-icon{font-size:1.2rem;flex-shrink:0}.affiliate-btn-label{font-size:.7rem;font-weight:400;opacity:.7;display:block}.affiliate-disclosure{font-size:.7rem;color:var(--text-dim);margin-top:.75rem;text-align:center}.share-block{margin-top:1.375rem;animation:fadeUp .35s .06s ease both}.share-heading{font-family:var(--font-display);font-weight:800;font-size:1.0625rem;color:var(--text);margin-bottom:.75rem}.share-btn{display:inline-flex;align-items:center;gap:.6rem;padding:.75rem 1.375rem;border-radius:var(--radius);font-weight:700;font-size:.9375rem;text-decoration:none;transition:all .18s}.share-btn-x{background:#000;color:#fff;border:2px solid #000}.share-btn-x:hover{background:#222;transform:translateY(-1px);box-shadow:0 4px 14px #0003}.share-btn-icon{font-size:1rem;flex-shrink:0;font-style:normal}.rediagnose-btn{width:100%;margin-top:1rem;background:var(--bg-alt);color:var(--text-muted);border:1.5px solid var(--border);border-radius:var(--radius);padding:.75rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .18s}.rediagnose-btn:hover{color:var(--text);border-color:var(--border-mid);background:var(--surface-2)}.article-page{padding:clamp(2rem,5vw,3.5rem) var(--px);max-width:720px;margin-inline:auto}.article-header{margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1.5px solid var(--border)}.article-title{font-family:var(--font-display);font-weight:900;font-size:clamp(1.5rem,4.5vw,2rem);line-height:1.3;margin-bottom:.875rem;color:var(--text)}.article-date{font-size:.78rem;color:var(--text-dim)}.article-body h2{font-family:var(--font-display);font-weight:800;font-size:1.25rem;color:var(--text);margin-top:2.5rem;margin-bottom:.875rem;padding-bottom:.5rem;border-bottom:2px solid var(--border)}.article-body h3{font-weight:700;font-size:1.05rem;margin-top:1.75rem;margin-bottom:.625rem;color:var(--text)}.article-body p{margin-bottom:1rem;color:var(--text-muted);line-height:1.85;font-size:.9375rem}.article-body ul,.article-body ol{padding-left:1.375rem;margin-bottom:1rem;color:var(--text-muted)}.article-body li{margin-bottom:.4rem;line-height:1.75;font-size:.9375rem}.article-body strong{color:var(--text)}.article-body a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}.article-body blockquote{border-left:3px solid var(--primary);padding:.875rem 1.125rem;background:var(--primary-light);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:1.5rem 0;color:var(--text-muted);font-size:.9375rem;line-height:1.75}.article-back{margin-top:3rem;padding-top:1.5rem;border-top:1.5px solid var(--border)}.article-back a{font-size:.875rem;color:var(--text-muted);display:inline-flex;align-items:center;gap:.375rem;transition:color .18s}.article-back a:hover{color:var(--primary)}.page-header{padding:clamp(2.5rem,6vw,4rem) var(--px) 2rem}.page-title{font-family:var(--font-display);font-weight:900;font-size:clamp(1.75rem,5vw,2.5rem);line-height:1.2;margin-bottom:.5rem;color:var(--text)}.page-desc{font-size:.9375rem;color:var(--text-muted);line-height:1.65}.app-card{position:relative}.app-card:hover{transform:translateY(-4px);border-color:var(--primary);box-shadow:var(--shadow-card-hover)}.fade-up{opacity:0;transform:translateY(24px);transition:opacity .55s var(--ease-smooth),transform .55s var(--ease-smooth)}.fade-up.visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.fade-up{opacity:1;transform:none;transition:none}.btn-cta:after{animation:none}}
