:root{
  --sx-bg:#ffffff;
  --sx-fg:#0b0b0b;
  --sx-muted:#6b7280;
  --sx-line:#e5e7eb;
  --sx-accent:#E45828;
  --sx-radius:16px;
  --sx-shadow:0 10px 30px rgba(0,0,0,.08);
  --sx-max:1180px;
  --sx-font: ui-sans-serif, system-ui, -apple-system, "Helvetica Neue", Arial, "Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--sx-font);
  background:var(--sx-bg);
  color:var(--sx-fg);
  line-height:1.6;
}
a{color:inherit;text-decoration:none}
a:hover{opacity:.85}
img{max-width:100%;height:auto}
.sx-container{max-width:var(--sx-max);margin:0 auto;padding:0 18px}
.sx-topbar{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.92);
  border-bottom:1px solid var(--sx-line);
  backdrop-filter:saturate(140%) blur(10px);
}
.sx-nav{
  display:flex;align-items:center;justify-content:space-between;
  height:68px;gap:14px;
}
.sx-brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.04em}
.sx-brand-mark{
  width:34px;height:34px;border-radius:10px;
  border:2px solid var(--sx-fg);
  display:grid;place-items:center;font-weight:900;
}
.sx-menu{display:flex;align-items:center;gap:18px;font-weight:700}
.sx-menu a{font-size:14px}
.sx-actions{display:flex;align-items:center;gap:10px}
.sx-btn{
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--sx-line);
  border-radius:999px;
  padding:10px 14px;
  font-weight:800;
  background:#fff;
}
.sx-btn--accent{
  border-color:transparent;
  background:var(--sx-accent);
  color:#fff;
}
.sx-btn--ghost{background:transparent}
.sx-iconbtn{
  width:42px;height:42px;border-radius:999px;border:1px solid var(--sx-line);
  display:grid;place-items:center;background:#fff;
}
.sx-hero{
  padding:34px 0 18px;
}
.sx-hero-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:18px;
  align-items:stretch;
}
.sx-hero-card{
  border:1px solid var(--sx-line);
  border-radius:var(--sx-radius);
  overflow:hidden;
  box-shadow:var(--sx-shadow);
  background:#fff;
}
.sx-hero-media{
  position:relative;
  min-height:420px;
  background:#111;
}
.sx-hero-media img{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:contrast(1.02) saturate(1.02);
}
.sx-hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(0,0,0,.55), rgba(0,0,0,0));
}
.sx-hero-copy{
  position:absolute;left:22px;bottom:22px;right:22px;color:#fff;
}
.sx-h1{font-size:clamp(28px,4vw,44px);line-height:1.18;margin:10px 0 10px;font-weight:900;letter-spacing:-0.02em}
.sx-sub{font-size:15px;line-height:1.9;color:var(--sx-muted);max-width:54ch;margin:0}
.sx-chiprow{display:flex;gap:10px;flex-wrap:wrap}
.sx-chip{
  font-size:12px;font-weight:800;letter-spacing:.02em;
  padding:7px 10px;border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
}
.sx-side{
  display:grid;gap:18px;
}
.sx-side-card{
  padding:18px;
  border:1px solid var(--sx-line);
  border-radius:var(--sx-radius);
  box-shadow:var(--sx-shadow);
  background:#fff;
}
.sx-side-title{font-size:16px;margin:0 0 10px;font-weight:900}
.sx-kicker{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.12em;text-transform:none;color:var(--sx-muted)}
.sx-grid{
  display:grid;gap:14px;
}
.sx-grid--2{grid-template-columns:1fr 1fr}
.sx-grid--3{grid-template-columns:1fr 1fr 1fr}
.sx-card{
  border:1px solid var(--sx-line);
  border-radius:var(--sx-radius);
  overflow:hidden;background:#fff;
}
.sx-card .sx-card-media{aspect-ratio:16/10;background:#f3f4f6}
.sx-card .sx-card-media img{width:100%;height:100%;object-fit:cover}
.sx-card .sx-card-body{padding:14px}
.sx-card .sx-card-title{margin:0 0 6px;font-weight:900}
.sx-card .sx-card-meta{margin:0;color:var(--sx-muted);font-size:13px}
.sx-section{padding:18px 0 36px}
.sx-section-head{display:flex;justify-content:space-between;align-items:end;margin:0 0 12px}
.sx-section-head h2{margin:0;font-size:22px;font-weight:950}
.sx-footer{
  border-top:1px solid var(--sx-line);
  padding:24px 0 40px;
  color:var(--sx-muted);
}
.sx-footer .sx-footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.sx-footer a{color:var(--sx-muted)}
/* WooCommerce */
.woocommerce .products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.woocommerce ul.products li.product{border:1px solid var(--sx-line);border-radius:var(--sx-radius);padding:12px;background:#fff}
.woocommerce ul.products li.product a img{border-radius:12px}
.woocommerce ul.products li.product .price{color:var(--sx-fg);font-weight:900}
.woocommerce div.product .woocommerce-product-gallery{max-width:560px}
.woocommerce div.product div.summary{max-width:520px}
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button{
  background:var(--sx-accent);color:#fff;border-radius:999px;border:0;padding:12px 16px;font-weight:900;
}
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt{background:var(--sx-fg)}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover{opacity:.9}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{font-size:16px}
.woocommerce .woocommerce-breadcrumb{color:var(--sx-muted);font-size:12px}
.woocommerce-message,.woocommerce-info{border-top-color:var(--sx-accent)}
/* Forms */
input[type="text"],input[type="email"],input[type="password"],input[type="search"],textarea,select{
  width:100%;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid var(--sx-line);
  outline:none;
}
input:focus,textarea:focus,select:focus{border-color:rgba(228,88,40,.7);box-shadow:0 0 0 4px rgba(228,88,40,.12)}
/* Mobile */
@media (max-width: 940px){
  .sx-hero-grid{grid-template-columns:1fr}
  .sx-h1{font-size:clamp(28px,4vw,44px);line-height:1.18;margin:10px 0 10px;font-weight:900;letter-spacing:-0.02em}
  .woocommerce .products{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sx-footer .sx-footer-grid{grid-template-columns:1fr}
}
@media (max-width: 520px){
  .sx-menu{display:none}
  .woocommerce .products{grid-template-columns:1fr}
  .sx-hero-media{min-height:360px}
}


.sx-announcement{
  position:sticky;top:0;z-index:60;
  background:#0b0b0b;color:#fff;
  font-size:12px;line-height:1.4;
}
.sx-announcement .sx-container{padding:10px 16px;display:flex;justify-content:center}
.sx-announcement span{opacity:.92;letter-spacing:.02em}


.sx-footer-brand{font-weight:950;letter-spacing:.04em;font-size:18px}
.sx-footer-tagline{margin-top:8px;max-width:42ch;font-weight:700}
.sx-footer-note{margin-top:6px;font-size:12px;color:var(--sx-muted);max-width:56ch;line-height:1.7}

.sx-tax{font-size:12px;color:var(--sx-muted);margin-left:6px}
