:root{--primary:#81d4fa;--dark:#039be5;--bg:#f0fbff;--text:#0277bd;--muted:#666;--card:#fff;--border:#81d4fa}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{font-family:Meiryo,"Hiragino Sans",sans-serif;background:var(--bg);color:var(--text);line-height:1.7}
a{color:var(--dark);text-decoration:none}img{max-width:100%;height:auto;display:block;object-fit:cover}
.block{scroll-margin-top:72px;padding:2.5rem 1.25rem;max-width:1100px;margin:0 auto}
.block h2{font-size:1.4rem;color:var(--dark);margin-bottom:1.25rem;padding-bottom:.5rem;border-bottom:2px solid var(--primary)}
.nav a{color:var(--text);margin:0 .5rem;font-size:.9rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem}
.card{background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden}
.card img{width:100%;height:200px}.card .pad{padding:1rem}.card .price{color:var(--dark);font-weight:700}
.detail-item{display:grid;grid-template-columns:280px 1fr;gap:1.5rem;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:1.25rem;margin-bottom:1.25rem}
@media(max-width:700px){.detail-item{grid-template-columns:1fr}}
.detail-item img{height:220px;width:100%;border-radius:8px}
.prose h1{color:var(--dark);margin-bottom:1rem}.prose p{color:var(--muted);margin-bottom:.65rem}
.footer{text-align:center;padding:2rem;background:var(--card);border-top:1px solid var(--border);color:var(--muted)}
.shell{display:flex}.shell aside{width:200px;background:var(--card);padding:1.25rem;border-right:1px solid var(--border);position:sticky;top:0;height:100vh;flex-shrink:0}
.shell aside a{display:block;padding:.5rem 0}.tabnav{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;padding:1rem;background:var(--card);border-bottom:1px solid var(--border)}
.tabnav a{padding:.5rem 1rem;border:1px solid var(--border);border-radius:20px}
.zrow{display:flex;gap:1.5rem;align-items:center;margin-bottom:2rem;flex-wrap:wrap}.zrow:nth-child(even){flex-direction:row-reverse}
.zrow img{width:42%;min-width:240px;height:200px;border-radius:10px}
.hrow{display:flex;gap:1rem;overflow-x:auto;padding-bottom:1rem}.hcard{flex:0 0 240px;background:var(--card);border-radius:10px;overflow:hidden;border:1px solid var(--border)}
.hcard img{height:160px}.strip{display:flex;gap:1rem;background:var(--card);margin-bottom:1rem;border-radius:8px;overflow:hidden;border:1px solid var(--border)}
.strip img{width:120px;height:120px;flex-shrink:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}
.stat{background:var(--card);padding:1rem;text-align:center;border-radius:8px;border:1px solid var(--border)}
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:120px;gap:10px;margin-bottom:1.5rem}.bento .big{grid-column:span 2;grid-row:span 2}
.bottomfix{position:fixed;bottom:0;left:0;right:0;background:var(--card);padding:.75rem;text-align:center;border-top:2px solid var(--primary);z-index:99}
body.has-bottom{padding-bottom:56px}@media(max-width:800px){.shell{flex-direction:column}.shell aside{width:100%;height:auto;position:relative}}
.hero-split{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}
.hero-split img{width:55%;min-width:260px;height:260px;border-radius:12px}
.hero-split .copy{flex:1;min-width:200px}
.hero-carousel{display:flex;gap:8px;overflow-x:auto;padding:.5rem 0}
.hero-carousel img{height:110px;width:170px;flex-shrink:0;border-radius:8px}
.nav-center{text-align:center;padding:1.25rem;background:var(--card);border-bottom:1px solid var(--border)}
.nav-center strong{display:block;font-size:1.35rem;color:var(--dark);margin-bottom:.6rem}
.nav-vert nav{display:flex;flex-direction:column;gap:.4rem}
.nav-vert{padding:1rem 1.25rem;background:var(--card);border-bottom:1px solid var(--border)}
.header-split{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 1.25rem;background:var(--card);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:1rem}
.shell-r{flex-direction:row-reverse}
.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}
.detail-grid article{background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden}
.detail-grid article img{width:100%;height:180px}
.detail-grid .pad{padding:1rem}
.detail-compact .strip img{width:72px;height:72px}
.masonry{columns:2;column-gap:1rem}
.masonry .card{break-inside:avoid;margin-bottom:1rem;display:block}
.about-cols{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
@media(max-width:700px){.about-cols{grid-template-columns:1fr}}
.feature-prod{display:grid;grid-template-columns:1.1fr 1fr;gap:1.5rem;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;align-items:center}
@media(max-width:700px){.feature-prod{grid-template-columns:1fr}}
.feature-prod img{width:100%;height:260px;border-radius:8px;object-fit:cover}
.grid-wide{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.grid-list{display:grid;grid-template-columns:1fr;gap:1rem;max-width:720px}
.topbar-min{padding:.7rem 1.25rem;background:var(--dark)}
.topbar-min,.topbar-min a{color:#fff}
.hero-text-only{padding:3rem 1.25rem;text-align:center;background:linear-gradient(135deg,var(--primary),var(--card))}
.hero-text-only h2{font-size:1.8rem;color:var(--dark)}
.tabnav-brand{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;background:var(--card);border-bottom:1px solid var(--border)}
