
*{margin:0;padding:0;box-sizing:border-box;}
:root{--royal:#003087;--royal-dark:#005A9C;--red:#A50E26;--gold:#EF9F27;--light:#E8F0FA;--text:#003087;--sub:#dde3ee;--border:#dde3ee;}
html{overflow-x:hidden;}
body{font-family:'Times New Roman','Times',serif;background:#f4f6fb;color:var(--text);overflow-x:hidden;max-width:100vw;}
*{font-family:'Times New Roman','Times',serif !important;}
.top-nav{background:var(--royal);height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;position:sticky;top:0;z-index:10000;border-bottom:3px solid var(--gold);}
.nav-logo{color:#fff;font-size:15px;font-weight:700;letter-spacing:1px;}
.nav-logo span{color:var(--gold);}
.nav-center{display:flex;gap:6px;}
.nav-main-btn{background:transparent;border:1px solid rgba(255,255,255,0.3);color:#fff;padding:5px 14px;font-size:12px;font-weight:700;letter-spacing:1px;cursor:pointer;border-radius:2px;transition:all .2s;}
.nav-main-btn.active,.nav-main-btn:hover{background:var(--gold);border-color:var(--gold);color:#fff;}
.nav-right{display:flex;align-items:center;gap:10px;}
.nav-tax{color:var(--gold);font-size:10px;letter-spacing:0.5px;}
.nav-cart{background:transparent;border:1px solid var(--gold);color:var(--gold);padding:5px 12px;font-size:11px;font-weight:700;cursor:pointer;border-radius:2px;}
.nav-search{display:flex;align-items:center;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.25);border-radius:2px;overflow:hidden;}
.nav-search input{background:transparent;border:none;outline:none;color:#fff;font-size:11px;padding:5px 10px;width:160px;font-family:inherit;}
.nav-search input::placeholder{color:rgba(255,255,255,0.5);}
.nav-search input:focus{background:rgba(255,255,255,0.05);}
.nav-search-btn{background:transparent;border:none;border-left:1px solid rgba(255,255,255,0.25);color:var(--gold);font-size:14px;padding:4px 10px;cursor:pointer;line-height:1;}
.nav-search-btn:hover{background:rgba(239,159,39,0.2);}
.cart-badge{background:var(--gold);color:#fff;border-radius:50%;padding:1px 5px;font-size:10px;margin-left:4px;}
.layout{display:flex;min-height:calc(100vh - 56px);}
.left-nav{width:150px;min-width:150px;background:var(--royal);padding:8px 0;position:sticky;top:56px;align-self:flex-start;max-height:calc(100vh - 56px);overflow-y:auto;z-index:10000;}
.left-nav-header{padding:10px 12px 6px;border-bottom:1px solid rgba(255,255,255,0.15);margin-bottom:4px;}
.left-nav-title{color:var(--gold);font-size:11px;font-weight:700;letter-spacing:2px;}
.nav-cat{width:100%;background:transparent;border:none;color:rgba(255,255,255,0.75);padding:9px 12px;font-size:11px;text-align:left;cursor:pointer;letter-spacing:0.5px;transition:all .15s;}
.nav-cat:hover,.nav-cat.active,.nav-cat.open{background:rgba(239,159,39,0.15);color:var(--gold);}
.nav-sub{display:none;background:rgba(0,0,0,0.2);}
.nav-sub.open{display:block;}
.nav-sub-item{width:100%;background:transparent;border:none;color:rgba(255,255,255,0.6);padding:8px 12px 8px 20px;font-size:10px;text-align:left;cursor:pointer;transition:all .15s;}
.nav-sub-item:hover,.nav-sub-item.active,.nav-sub-item.open{color:var(--gold);background:rgba(239,159,39,0.1);}
.nav-sub2{display:none;background:rgba(0,0,0,0.15);}
.nav-sub2.open{display:block;}
.nav-sub2-item{width:100%;background:transparent;border:none;color:rgba(255,255,255,0.5);padding:7px 12px 7px 28px;font-size:10px;text-align:left;cursor:pointer;transition:all .15s;}
.nav-sub2-item:hover,.nav-sub2-item.active{color:var(--gold);}
.brand-content{display:block;background:rgba(0,0,0,0.15);}
.brand-content.collapsed{display:none;}
.nav-brand-header.collapsed span:last-child{transform:rotate(-90deg);display:inline-block;}
.main{flex:1;min-width:0;padding:20px;overflow-y:visible;overflow-x:hidden;}
.content-section{display:none;}
.content-section.active{display:block;}
.cat-header{margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--gold);display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;}
.cat-title{font-size:18px;font-weight:700;color:var(--royal);letter-spacing:1px;}
.cat-sub{font-size:10px;color:var(--sub);letter-spacing:1px;}
.cat-note{font-size:10px;color:var(--gold);font-weight:700;margin-left:auto;}
.coming-soon{color:var(--sub);font-size:13px;padding:30px 0;}
.page-header{text-align:center;padding:48px 20px 40px;margin:0 0 20px;background:linear-gradient(to bottom,#1a4f9c 0%,#6e8aae 32%,#bcc6cf 62%,#eef1f3 100%);border-bottom:1px solid #003087;border-radius:0;}
/* SEAL → grey water */
.page-header:has(.page-header-cat:is([data-c="seal"])),
.page-header:has(.page-header-cat){--phc:default;}
.page-header.is-seal{background:linear-gradient(to bottom,#8a8e94 0%,#b5b8bd 32%,#d4d6d8 62%,#f0f1f2 100%);border-bottom:1px solid #6a6e75;}
.page-header.is-stockroom{background:linear-gradient(to bottom,#1a4f9c 0%,#6e8aae 32%,#bcc6cf 62%,#eef1f3 100%);border-bottom:1px solid #003087;}
.page-header.is-svc{background:linear-gradient(to bottom,#1a4f9c 0%,#6e8aae 32%,#bcc6cf 62%,#eef1f3 100%);border-bottom:1px solid #003087;}
.page-header.is-archive{background:linear-gradient(to bottom,#0d2d6b 0%,#3a5a96 32%,#8499b8 62%,#cdd4dd 100%);border-bottom:1px solid #08214f;}
.page-header.is-info{background:linear-gradient(to bottom,#2a2d33 0%,#6a6e75 32%,#b5b8bd 62%,#e8e9eb 100%);border-bottom:1px solid #1a1c20;}
.page-header-brand{font-size:9px;color:var(--gold);letter-spacing:4px;margin-bottom:3px;text-shadow:0 1px 2px rgba(255,255,255,0.35),0 2px 6px rgba(0,32,90,0.45);}
.page-header-title{font-size:24px;color:#ffffff;font-weight:700;letter-spacing:6px;line-height:1.1;text-shadow:0 1px 2px rgba(255,255,255,0.3),0 4px 12px rgba(0,32,90,0.55),0 10px 28px rgba(0,32,90,0.35);}
.page-header-title span{color:var(--gold);text-shadow:0 1px 2px rgba(255,255,255,0.3),0 4px 12px rgba(180,110,30,0.5),0 10px 28px rgba(0,32,90,0.3);}
.page-header-cat{font-size:9px;color:rgba(255,255,255,0.85);letter-spacing:3px;margin-top:6px;text-shadow:0 1px 2px rgba(0,32,90,0.4),0 2px 5px rgba(0,32,90,0.25);}
.page-header-divider{width:40px;height:2px;background:var(--gold);margin:10px auto 0;box-shadow:0 2px 6px rgba(0,32,90,0.3);}
/* SEAL grey background: title stays white (still readable on grey), shadows slightly different */
.page-header.is-seal .page-header-title{text-shadow:0 1px 2px rgba(255,255,255,0.4),0 4px 12px rgba(50,55,65,0.55),0 10px 28px rgba(30,35,45,0.35);}
.page-header.is-seal .page-header-title span{color:var(--gold);text-shadow:0 1px 2px rgba(255,255,255,0.4),0 4px 12px rgba(180,110,30,0.5),0 10px 28px rgba(30,35,45,0.3);}
.page-header.is-seal .page-header-cat{color:rgba(255,255,255,0.9);text-shadow:0 1px 2px rgba(50,55,65,0.45),0 2px 5px rgba(30,35,45,0.3);}
.page-header.is-seal .page-header-brand{text-shadow:0 1px 2px rgba(255,255,255,0.35),0 2px 6px rgba(50,55,65,0.45);}
.page-header.is-info .page-header-cat{color:rgba(255,255,255,0.9);}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.product-card{position:relative;background:#fff;border:1px solid var(--border);border-radius:4px;overflow:hidden;cursor:pointer;transition:box-shadow .2s;display:flex;flex-direction:column;min-width:0;}
.sold-ribbon{position:absolute;top:24px;left:-38px;width:150px;background:rgba(200,40,40,0.95);color:#FFFFFF;font-weight:700;font-size:12px;letter-spacing:3px;line-height:1;padding:8px 0;text-align:center;transform:rotate(-45deg);transform-origin:center center;z-index:5;box-shadow:0 2px 8px rgba(0,0,0,0.25);pointer-events:none;font-family:'Times New Roman',serif;}
.product-card:hover{box-shadow:0 4px 16px rgba(0,48,135,0.12);}
#sec-seal-vintage .product-card::after,
#sec-seal-vintage-pant .product-card::after,
#sec-seal-display .product-card::after{content:'ON REQUEST';position:absolute;top:6px;right:0;background:#1a3a6b;color:#EF9F27;font-size:8px;font-weight:700;letter-spacing:0.6px;padding:2px 7px;border-radius:2px 0 0 2px;pointer-events:none;}

.product-img{width:100%;aspect-ratio:1;object-fit:cover;display:block;}
.product-img-placeholder{width:100%;aspect-ratio:1;background:linear-gradient(135deg,#e8f0fa,#c5d5f0);display:flex;align-items:center;justify-content:center;font-size:9px;color:var(--sub);letter-spacing:1px;}
.archive-pinned-photo{width:100%;aspect-ratio:1;background:linear-gradient(135deg,#003087 0%,#005A9C 50%,#003087 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 18px;color:#fff;text-align:center;position:relative;overflow:hidden;}
.archive-pinned-photo::before{content:'';position:absolute;top:14px;left:14px;right:14px;bottom:14px;border:1px solid rgba(255,255,255,0.25);pointer-events:none;}
.archive-pinned-tag{font-family:'Courier New',monospace;font-size:10px;letter-spacing:3px;color:var(--gold);margin-bottom:18px;}
.archive-pinned-title{font-family:'Times New Roman',serif;font-style:italic;font-weight:700;font-size:24px;letter-spacing:1px;line-height:1.25;margin-bottom:14px;color:#fff;}
.archive-pinned-sub{font-family:'Courier New',monospace;font-size:11px;letter-spacing:2px;color:rgba(255,255,255,0.85);margin-bottom:24px;}
.archive-pinned-note{font-family:'Courier New',monospace;font-size:9px;letter-spacing:3px;color:rgba(255,255,255,0.55);position:absolute;bottom:22px;}
.product-info{padding:14px 14px 16px;}
.product-name{font-size:14px;font-weight:700;color:var(--royal);margin-bottom:6px;line-height:1.4;font-family:'Times New Roman',serif;word-break:break-word;overflow-wrap:break-word;}
.product-detail-text{font-size:11px;color:var(--sub);margin-bottom:8px;}
.product-price{font-size:14px;font-weight:700;color:var(--royal);}
.product-tax{font-size:9px;color:var(--sub);}
.product-soldout{display:inline-block;background:#E8E8E8;color:#444444;font-size:10px;font-weight:700;padding:3px 10px;letter-spacing:1px;border:1px solid #E8E8E8;}
.detail-wrap{display:none;background:#fff;border:1px solid var(--border);border-radius:4px;padding:20px;margin-bottom:20px;}
.detail-wrap.active{display:flex;gap:20px;flex-wrap:wrap;}
.detail-imgs{width:280px;}
.detail-main-img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:3px;margin-bottom:8px;border:1px solid var(--border);}
.thumb-row{display:flex;gap:6px;flex-wrap:wrap;}
.thumb{width:52px;height:52px;object-fit:cover;border:2px solid transparent;border-radius:2px;cursor:pointer;}
.thumb.active{border-color:var(--gold);}
.detail-info{flex:1;min-width:200px;}
.detail-brand{font-size:10px;color:var(--gold);font-weight:700;letter-spacing:2px;margin-bottom:6px;}
.detail-name{font-size:18px;font-weight:700;color:var(--text);margin-bottom:4px;line-height:1.3;}
.detail-era{font-size:11px;color:var(--sub);margin-bottom:12px;}
.detail-price{font-size:24px;font-weight:700;color:var(--royal);margin-bottom:4px;}
.detail-tax-note{font-size:10px;color:var(--sub);margin-bottom:12px;}
.detail-size{font-size:11px;color:var(--text);background:var(--light);padding:8px 10px;border-radius:3px;margin-bottom:12px;line-height:1.8;}
.detail-desc{font-size:12px;color:var(--sub);line-height:1.8;margin-bottom:14px;}
.detail-note{font-size:10px;color:#e53935;background:#fff5f5;padding:8px 10px;border-radius:3px;margin-bottom:14px;}
.btn-cart{background:#c0392b;color:#fff;border:none;padding:14px 28px;font-size:14px;font-weight:700;letter-spacing:1px;cursor:pointer;border-radius:2px;width:100%;transition:background .2s;}
.btn-cart:hover{background:#0043b8;}
.btn-back{background:transparent;border:1px solid var(--border);color:var(--sub);padding:7px 16px;font-size:11px;cursor:pointer;border-radius:2px;margin-bottom:14px;display:block;}
.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.archive-card{background:#fff;border:1px solid var(--border);border-radius:4px;overflow:hidden;cursor:pointer;transition:box-shadow .2s;display:flex;flex-direction:column;min-width:0;}
.archive-card:hover{box-shadow:0 4px 16px rgba(0,48,135,0.12);}
.archive-info{padding:14px 14px 16px;}
.archive-name{font-size:14px;font-weight:700;color:var(--royal);margin-bottom:6px;line-height:1.4;font-family:'Times New Roman',serif;word-break:break-word;overflow-wrap:break-word;}
.archive-era{font-size:11px;color:var(--sub);margin-bottom:8px;}
.archive-sold{display:inline-block;background:#E8E8E8;color:#444444;font-size:10px;font-weight:700;padding:3px 10px;letter-spacing:1px;}
/* === Mobile menu toggle (hamburger) === */
.nav-toggle{display:none;background:transparent;border:1px solid rgba(255,255,255,0.4);color:#fff;padding:4px 10px;font-size:18px;line-height:1;cursor:pointer;border-radius:2px;margin-right:8px;}
#left-nav-overlay{display:none;position:fixed;top:56px;left:0;width:100vw;height:calc(100vh - 56px);background:rgba(0,0,0,0.5);z-index:49;}
#left-nav-overlay.open{display:block;}

/* === Mobile / Phone landscape UI (≤932px): hamburger menu === */
@media(max-width:932px){
  /* design-modal: モバイルでは全画面 */
  #design-modal{top:56px !important;left:0 !important;width:100vw !important;height:calc(100vh - 56px) !important;}
  /* TOP NAV: keep visible but compact */
  .nav-toggle{display:inline-block;}
  .nav-logo{font-size:11px;letter-spacing:0.5px;}
  .nav-center{display:flex;gap:3px;}
  .nav-main-btn{padding:4px 8px;font-size:10px;letter-spacing:0.5px;}
  .nav-tax{display:none;}
  .nav-cart{padding:4px 8px;font-size:10px;}
  .nav-search input{width:90px;font-size:10px;padding:4px 8px;}
  .nav-search-btn{font-size:12px;padding:3px 8px;}
  .top-nav{padding:0 8px;}

  /* LEFT NAV: slide-in drawer */
  .left-nav{position:fixed;left:-240px;top:56px;height:calc(100vh - 56px);width:220px;min-width:220px;z-index:50;transition:left .25s ease;overflow-y:auto;box-shadow:2px 0 12px rgba(0,0,0,0.3);}
  .left-nav.open{left:0;}
  .main{padding:14px;width:100%;}

  .detail-wrap.active{flex-direction:column;}
  .detail-imgs{width:100%;}
}

/* スマホ横向き(landscape)で画面幅500px以上なら、左ナビを常時表示 */
@media (max-width:932px) and (orientation:landscape) and (min-width:500px){
  .left-nav{left:0;width:200px;min-width:200px;box-shadow:none;}
  .main{margin-left:200px;width:calc(100% - 200px);}
  #left-nav-overlay{display:none !important;}
  .nav-toggle{display:none;}
}


/* === Phone portrait (≤600px) → 2 columns === */
@media(max-width:600px){
  .product-grid,.archive-grid{grid-template-columns:repeat(2,1fr) !important;gap:10px;}
}

/* === Phone landscape (601〜932px) → 3 columns === */
@media(min-width:601px) and (max-width:932px){
  .product-grid,.archive-grid{grid-template-columns:repeat(3,1fr) !important;gap:10px;}
}
.brand-section-label{font-size:11px;font-weight:700;color:var(--royal);letter-spacing:2px;padding:12px 0 6px;border-bottom:1px solid var(--border);margin-bottom:12px;}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--royal);color:#fff;padding:10px 20px;font-size:12px;opacity:0;transition:all .3s;z-index:500;border-radius:2px;pointer-events:none;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* === V52ヒーロー型 詳細ページ === */
.hero-detail{display:none;}
.hero-detail.active{display:block;}
.hero-page-header{text-align:center;padding:24px 20px 18px;border-bottom:2px solid var(--gold);margin:0 auto 0;max-width:900px;}
.hero-page-header .lbl{font-size:11px;color:var(--gold);letter-spacing:6px;margin-bottom:8px;}
.hero-page-header .ttl{font-size:24px;color:var(--royal);font-weight:700;letter-spacing:4px;line-height:1.1;font-family:'Times New Roman',serif;}
.hero-page-header .sub{font-size:11px;color:var(--sub);letter-spacing:4px;margin-top:10px;}
.hero-page-header .div{width:60px;height:2px;background:var(--gold);margin:14px auto 0;}
.hero-back-bar{background:#bfc4cc;padding:14px 20px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;margin-top:0;}
.hero-back-btn{background:#fff;border:1px solid #aaa;color:#333;padding:7px 18px;font-size:12px;cursor:pointer;border-radius:2px;}
.hero-back-btn:hover{background:#f5f5f5;}
.hero-back-name{font-size:15px;font-weight:700;color:var(--royal);font-family:'Times New Roman',serif;letter-spacing:1px;text-align:center;}
.hero-breadcrumb{font-size:11px;color:var(--royal);letter-spacing:3px;font-weight:700;}
.hero-stage{background:linear-gradient(to right, #b8c4d0 0%, #d8dfe6 18%, #eef1f4 38%, #ffffff 50%, #eef1f4 62%, #d8dfe6 82%, #b8c4d0 100%);padding:0;display:grid;grid-template-columns:1fr auto;gap:0;align-items:stretch;min-height:560px;position:relative;}
.hero-main-img-wrap{display:flex;align-items:center;justify-content:center;background:transparent;margin:20px 0 0 20px;}
.hero-main-img{max-width:100%;max-height:520px;object-fit:contain;display:block;}
.hero-main-placeholder{width:100%;height:520px;background:linear-gradient(135deg,#e8f0fa,#c5d5f0);display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--sub);letter-spacing:3px;}
.hero-thumbs{display:grid;grid-auto-flow:column;grid-template-rows:repeat(6, 88px);grid-auto-columns:88px;gap:6px;padding:20px 12px 0 12px;}
.hero-thumb{width:88px;height:88px;border:2px solid transparent;cursor:pointer;background:#fff;overflow:hidden;}
.hero-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.hero-thumb.active{border-color:var(--gold);}
.hero-thumb.placeholder{background:#dde3ee;color:var(--royal);display:flex;align-items:center;justify-content:center;font-size:9px;letter-spacing:1px;}
.hero-name-bar{background:#fff;padding:20px 24px;border-top:3px solid var(--royal);border-bottom:1px solid var(--border);text-align:center;}
.hero-name-bar .nm{font-size:26px;font-weight:700;color:var(--royal);font-family:'Times New Roman',serif;letter-spacing:1.5px;line-height:1.3;}
.hero-name-bar .meta{font-size:13px;color:var(--royal);margin-top:8px;letter-spacing:1px;opacity:0.75;}
.hero-info-section{background:#f7f8fa;padding:24px 20px;}
.hero-info-tag{font-size:12px;color:var(--gold);font-weight:700;letter-spacing:3px;margin-bottom:6px;}
.hero-info-name{font-size:24px;font-weight:700;color:var(--royal);letter-spacing:1px;font-family:'Times New Roman',serif;display:inline-block;}
.hero-info-meta{font-size:12px;color:#555;margin-top:6px;margin-bottom:18px;}
.hero-info-soldout{display:inline-block;background:#E8E8E8;color:#444444;font-size:11px;font-weight:700;padding:6px 16px;letter-spacing:2px;float:right;margin-top:0;}
.hero-info-box{background:#fff;border:1px solid var(--border);padding:16px 20px;border-radius:3px;}
.hero-info-row{padding:8px 0;border-bottom:1px solid #eee;font-size:13px;color:var(--royal);}
.hero-info-row:last-child{border-bottom:none;}
.hero-info-row b{color:var(--royal);margin-right:8px;}
.hero-info-row.is-price{font-size:20px;font-weight:700;color:#c0392b;border-bottom:2px solid #c0392b;padding:12px 0;}
.hero-info-desc{background:#fff;border:1px solid var(--border);border-radius:3px;padding:20px 22px;margin-top:14px;font-family:'Times New Roman',Times,serif;}
.hero-info-desc .lead{font-size:14px;line-height:1.9;color:var(--royal);font-weight:700;margin-bottom:16px;}
.hero-info-desc h4{font-size:12px;letter-spacing:1px;color:#c0392b;margin:18px 0 6px;font-weight:700;border-left:3px solid #EF9F27;padding-left:8px;}
.hero-info-desc p{font-size:13px;line-height:1.9;color:#333;margin:0 0 4px;}
.hero-info-desc ul{margin:4px 0 0;padding-left:20px;}
.hero-info-desc li{font-size:13px;line-height:1.8;color:#333;}
.hero-info-desc .tags{margin-top:16px;padding-top:12px;border-top:1px solid var(--border);font-size:12px;color:#7a7a7a;letter-spacing:.5px;}
.hero-info-desc .tags a{color:#7a7a7a;text-decoration:none;margin-right:10px;display:inline-block;}
.hero-info-desc .tags a:hover{color:#EF9F27;text-decoration:underline;}
@media(max-width:640px){
  .product-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
}
@media(max-width:768px){
  .hero-stage{grid-template-columns:1fr auto;min-height:auto;}
  .hero-thumb{width:54px;height:54px;}
  .hero-thumbs{grid-template-rows:repeat(6, 54px);grid-auto-columns:54px;}
  .hero-main-img{max-height:380px;}
  .hero-info-name{font-size:18px;}
  .hero-name-bar .nm{font-size:18px;}
  .hero-back-bar{grid-template-columns:auto 1fr;}
  .hero-back-name{font-size:13px;text-align:left;}
  .hero-breadcrumb{display:none;}
}

/* Design thumbnail nav items - compact grid (6 columns) */
.nav-design-thumb { padding: 0; background: transparent; border: 1px solid transparent; cursor: pointer; aspect-ratio: 1; transition: all .15s; overflow: hidden; }
.nav-design-thumb:hover, .nav-design-thumb.active { border-color: var(--gold); transform: scale(1.15); position: relative; z-index: 5; }
.nav-design-thumb img { width: 100%; height: 100%; object-fit: contain; background: #fff; padding: 1px; display: block; }
.nav-design-section { display: none; background: rgba(0,0,0,0.25); padding: 6px 8px; }
.nav-design-section.open { display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px; }


/* ========== STOCKROOM PRINT ARCHIVE (Dodgers Blue) ========== */
.print-archive { background:#005A9C; padding:28px 22px; border-radius:6px; margin:14px 0 24px; }
.pa-head { display:flex; justify-content:space-between; align-items:flex-end;
  border-bottom:1px solid rgba(255,255,255,0.32); padding-bottom:12px; margin-bottom:18px; gap:14px; flex-wrap:wrap; }
.pa-head-l .pa-brand { font-family:'Courier New',monospace; font-size:10px; color:#fff;
  letter-spacing:3px; opacity:0.85; margin-bottom:5px; }
.pa-head-l .pa-title { font-family:'Times New Roman',serif; font-size:22px; color:#fff;
  font-style:normal; font-weight:700; letter-spacing:1px; }
.pa-head-r { font-family:'Courier New',monospace; font-size:10px; color:#fff;
  letter-spacing:2px; opacity:0.85; }

.pa-tabs { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:16px; }
.pa-tab { background:transparent; color:#fff; border:1px solid rgba(255,255,255,0.4);
  font-family:'Courier New',monospace; font-size:10px; letter-spacing:2px;
  padding:6px 11px; cursor:pointer; transition:all .15s; border-radius:0; }
.pa-tab:hover { background:rgba(255,255,255,0.1); }
.pa-tab.active { background:#fff; color:#005A9C; border-color:#fff; }
.pa-tab span { opacity:0.6; margin-left:6px; font-size:9px; }
.pa-tab.active span { opacity:0.5; }

.pa-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; }
.pa-card { background:#fff; aspect-ratio:1; padding:10px 8px 8px;
  display:flex; flex-direction:column; justify-content:space-between; align-items:center;
  border:none; cursor:pointer; transition:transform .15s, box-shadow .15s;
  border-radius:0; position:relative; overflow:hidden; }
.pa-card:hover { transform:translateY(-2px); box-shadow:0 4px 12px rgba(0,0,0,0.2); }
.pa-card .pa-no { font-family:'Courier New',monospace; font-size:9px; color:#005A9C;
  letter-spacing:1px; align-self:flex-start; }
.pa-card .pa-img { flex:1; max-width:80%; max-height:60%; object-fit:contain; margin:2px 0; }
.pa-card .pa-name { font-family:'Times New Roman',serif; font-style:italic;
  font-weight:700; font-size:11px; color:#005A9C; line-height:1.1;
  letter-spacing:0.3px; text-align:center; padding:0 2px; }
.pa-card .pa-cat { font-family:'Courier New',monospace; font-size:8px; color:#A50E26;
  letter-spacing:1px; align-self:flex-start; margin-top:1px; }
.pa-card[data-hidden="1"] { display:none; }

.pa-foot { display:flex; justify-content:space-between; align-items:center;
  margin-top:18px; padding-top:12px; border-top:1px solid rgba(255,255,255,0.25);
  font-family:'Courier New',monospace; font-size:10px; color:#fff;
  letter-spacing:2px; opacity:0.85; gap:10px; flex-wrap:wrap; }

@media (max-width:980px) { .pa-grid { grid-template-columns:repeat(4,1fr); } }
@media (max-width:640px) { .pa-grid { grid-template-columns:repeat(3,1fr); } .pa-head-l .pa-title { font-size:17px; } }
@media (max-width:380px) { .pa-grid { grid-template-columns:repeat(2,1fr); } }
/* ========== END PRINT ARCHIVE ========== */

/* ========== CART DRAWER (Method C) ========== */
#cart-overlay{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,48,135,0.85);z-index:9998;backdrop-filter:blur(3px);}
#cart-drawer{display:none;position:fixed;top:0;right:0;width:420px;max-width:100vw;height:100vh;background:#fff;z-index:9999;flex-direction:column;border-left:3px solid var(--royal);}
#cart-drawer.open,#cart-overlay.open{display:flex;}
.cart-head{padding:20px 24px;border-bottom:2px solid var(--royal);display:flex;justify-content:space-between;align-items:center;}
.cart-head .cart-title{font-family:'Times New Roman',serif;font-size:20px;font-weight:700;color:var(--royal);letter-spacing:2px;font-style:italic;}
.cart-head .cart-close{background:transparent;border:1px solid var(--border);color:var(--royal);padding:6px 12px;cursor:pointer;font-size:11px;letter-spacing:1px;}
.cart-body{flex:1;overflow-y:auto;padding:14px 18px;}
.cart-empty{text-align:center;color:var(--sub);font-size:13px;padding:40px 20px;letter-spacing:1px;}
.cart-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px dashed var(--border);gap:8px;}
.cart-item-name{font-size:12px;color:var(--royal);font-weight:600;flex:1;line-height:1.4;}
.cart-item-price{font-size:12px;font-weight:700;color:var(--royal);min-width:70px;text-align:right;}
.cart-item-rm{background:transparent;border:none;color:var(--red);cursor:pointer;font-size:14px;padding:2px 6px;}
.cart-foot{padding:16px 24px;border-top:2px solid var(--royal);background:#F4F7FB;}
.cart-total{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px;font-family:'Times New Roman',serif;}
.cart-total-label{font-size:11px;letter-spacing:3px;color:var(--royal);}
.cart-total-value{font-size:22px;font-weight:700;color:var(--royal);}
.cart-checkout{background:var(--royal);color:#fff;border:none;padding:14px;width:100%;font-size:13px;font-weight:700;letter-spacing:2px;cursor:pointer;}
.cart-checkout:hover{background:#0043b8;}
.cart-checkout:disabled{background:#ccc;cursor:not-allowed;}
.cart-note{font-size:10px;color:var(--sub);text-align:center;margin-top:8px;letter-spacing:0.5px;line-height:1.5;}

/* ========== ORDER FORM ========== */
#order-overlay{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,48,135,0.92);z-index:10000;overflow-y:auto;}
#order-overlay.open{display:block;}
.order-wrap{max-width:640px;margin:30px auto;background:#fff;padding:30px 28px;}
.order-head{border-bottom:2px solid var(--royal);padding-bottom:14px;margin-bottom:20px;}
.order-brand{font-family:'Courier New',monospace;font-size:10px;color:var(--red);letter-spacing:3px;margin-bottom:4px;}
.order-title{font-family:'Times New Roman',serif;font-size:22px;color:var(--royal);font-style:italic;font-weight:700;letter-spacing:1px;}
.order-row{margin-bottom:14px;}
.order-row label{display:block;font-size:11px;letter-spacing:2px;color:var(--royal);margin-bottom:5px;font-weight:700;}
.order-row label .req{color:var(--red);margin-left:4px;}
.order-row input,.order-row textarea{width:100%;padding:10px;border:1px solid var(--border);font-size:14px;font-family:inherit;color:var(--royal);box-sizing:border-box;}
.order-row input:focus,.order-row textarea:focus{outline:none;border-color:var(--royal);}
.order-row textarea{resize:vertical;min-height:70px;}
.order-summary{background:#F4F7FB;padding:14px;margin-bottom:18px;font-size:12px;border-left:3px solid var(--royal);}
.order-summary h4{font-family:'Times New Roman',serif;font-style:italic;font-size:14px;color:var(--royal);margin:0 0 8px 0;}
.order-summary .os-item{display:flex;justify-content:space-between;padding:3px 0;color:var(--royal);}
.order-summary .os-total{display:flex;justify-content:space-between;padding-top:8px;margin-top:6px;border-top:1px solid var(--border);font-weight:700;}
.order-buttons{display:flex;gap:10px;margin-top:18px;}
.order-buttons button{flex:1;padding:14px;font-size:13px;font-weight:700;letter-spacing:2px;cursor:pointer;border:none;}
.order-cancel{background:#fff;color:var(--royal);border:1px solid var(--border) !important;}
.order-submit{background:var(--royal);color:#fff;}
.order-submit:hover{background:#0043b8;}
.order-flow{background:#FFF7E6;border-left:3px solid var(--gold);padding:12px 14px;margin-bottom:16px;font-size:11px;color:#664D00;line-height:1.7;letter-spacing:0.3px;}

/* ========== FOOTER ========== */
.site-footer{background:var(--royal);color:#fff;padding:34px 28px 20px;margin-top:40px;}
.site-footer .ft-wrap{max-width:1100px;margin:0 auto;}
.site-footer .ft-brand{font-family:'Courier New',monospace;font-size:10px;letter-spacing:3px;color:var(--gold);margin-bottom:6px;}
.site-footer .ft-title{font-family:'Times New Roman',serif;font-size:20px;font-weight:700;letter-spacing:1px;margin-bottom:18px;}
.site-footer .ft-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:20px;}
.site-footer .ft-col h5{font-family:'Courier New',monospace;font-size:10px;letter-spacing:2px;color:var(--gold);margin:0 0 10px 0;font-weight:400;}
.site-footer .ft-link{display:block;color:rgba(255,255,255,0.85);text-decoration:none;font-size:12px;padding:3px 0;cursor:pointer;background:transparent;border:none;text-align:left;font-family:inherit;letter-spacing:0.3px;}
.site-footer .ft-link:hover{color:var(--gold);}
.site-footer .ft-bottom{padding-top:14px;border-top:1px solid rgba(255,255,255,0.25);display:flex;justify-content:space-between;font-size:10px;color:rgba(255,255,255,0.65);letter-spacing:1px;flex-wrap:wrap;gap:10px;}

@media (max-width:640px){
  #cart-drawer{width:100vw;}
  .site-footer .ft-grid{grid-template-columns:1fr 1fr;}
}
/* ========== END SHOP-OPEN ========== */

.nav-design-group-head{font-size:9px;letter-spacing:2px;color:var(--gold);padding:5px 12px 3px;margin:6px 0 2px;border-bottom:1px dashed rgba(239,159,39,0.3);font-weight:700;display:block;width:100%;text-align:left;background:transparent;border-top:none;border-left:none;border-right:none;cursor:default;font-family:inherit;}
.nav-design-group-head.clickable{cursor:pointer;background:rgba(239,159,39,0.08);transition:background 0.15s;}
.nav-design-group-head.clickable:hover{background:rgba(239,159,39,0.18);color:#fff;}

.on-request-badge{display:inline-block;background:#003087;color:#fff;font-size:11px;font-weight:700;letter-spacing:2px;padding:8px 18px;border-radius:3px;cursor:pointer;margin-top:14px;text-align:center;transition:background 0.2s;}
.on-request-badge:hover{background:#EF9F27;}
.inquiry-modal-overlay{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,0.6);z-index:99999;align-items:center;justify-content:center;}
.inquiry-modal-overlay.active{display:flex;}
.inquiry-modal{background:#fff;border-radius:6px;max-width:440px;width:90%;max-height:88vh;overflow-y:auto;padding:28px 24px;position:relative;}
.inquiry-modal-close{position:absolute;top:12px;right:16px;font-size:22px;color:#888;cursor:pointer;background:none;border:none;}
.inquiry-modal h3{font-size:16px;color:#003087;margin-bottom:4px;letter-spacing:1px;}
.inquiry-modal .iq-product{font-size:12px;color:#666;margin-bottom:16px;border-bottom:1px solid #eee;padding-bottom:12px;}
.inquiry-modal label{display:block;font-size:11px;font-weight:700;color:#003087;margin:12px 0 4px;}
.inquiry-modal input[type=text],.inquiry-modal input[type=email],.inquiry-modal input[type=tel],.inquiry-modal textarea{width:100%;padding:9px 10px;border:1px solid #ccc;border-radius:3px;font-size:13px;font-family:inherit;}
.inquiry-modal textarea{resize:vertical;min-height:80px;}
.iq-payment-options{display:flex;gap:10px;margin-top:4px;}
.iq-payment-options label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:400;color:#333;margin:0;cursor:pointer;}
.iq-submit-btn{width:100%;background:#003087;color:#fff;border:none;padding:13px;font-size:13px;font-weight:700;letter-spacing:2px;border-radius:3px;cursor:pointer;margin-top:18px;}
.iq-submit-btn:hover{background:#EF9F27;}
.iq-submit-btn:disabled{background:#ccc;cursor:not-allowed;}
.iq-status-msg{font-size:12px;margin-top:10px;text-align:center;}
.iq-status-msg.success{color:#1a7a1a;}
.iq-status-msg.error{color:#c0392b;}

.info-ticker-wrap{max-width:1100px;margin:0 auto;padding:0 16px;}
.info-ticker{background:#f5f7fa;border:1px solid #d8dfe6;border-left:4px solid #EF9F27;border-radius:4px;height:120px;overflow-y:auto;padding:6px 0;}
.info-ticker-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;padding:6px 16px;font-size:12px;line-height:1.5;border-bottom:1px solid #e8edf2;}
.info-ticker-row:last-child{border-bottom:none;}
.info-ticker-date{flex:0 0 auto;color:#1a4f9c;font-weight:700;letter-spacing:0.5px;font-family:'Times New Roman',Times,serif;white-space:nowrap;}
.info-ticker-text{color:#333;flex:1;min-width:0;word-break:break-word;}
.info-ticker::-webkit-scrollbar{width:6px;}
.info-ticker::-webkit-scrollbar-thumb{background:#c5cdd6;border-radius:3px;}

.ws-progress{background:#FFF7E6;border:1px solid #EF9F27;border-radius:4px;padding:8px 10px;font-size:11px;color:#A50E26;line-height:1.5;margin-bottom:10px;}
.ws-progress.ws-max{background:#003087;border-color:#003087;color:#fff;}
.ws-progress b{color:#003087;}
.ws-progress.ws-max b{color:#EF9F27;}

.on-request-desc{font-size:11px;color:#666;line-height:1.6;margin-top:8px;padding:10px 12px;background:#f5f7fa;border-radius:3px;border-left:3px solid #003087;box-sizing:border-box;word-break:break-word;}
.on-request-desc b{color:#003087;}

.wholesale-banner{max-width:1100px;width:100%;box-sizing:border-box;margin:0 auto 16px;background:#003087;color:#fff;padding:10px 16px;border-radius:4px;font-size:11px;letter-spacing:0.5px;display:flex;align-items:flex-start;gap:8px;line-height:1.5;flex-wrap:wrap;word-break:break-word;}
.wholesale-banner b{color:#EF9F27;letter-spacing:1px;}

/* 左ナビ：スクロール可能を明示するバー（インフォメーション欄と同方式） */
.left-nav{scrollbar-width:thin;scrollbar-color:#EF9F27 rgba(255,255,255,0.12);}
.left-nav::-webkit-scrollbar{width:8px;}
.left-nav::-webkit-scrollbar-track{background:rgba(255,255,255,0.12);}
.left-nav::-webkit-scrollbar-thumb{background:#EF9F27;border-radius:4px;}


/* ===== 商品個別ページ用の上書き（index.html には影響しません） ===== */
.item-page .hero-detail{display:block;}
.item-page .main{padding:20px;max-width:1100px;margin:0 auto;}
.item-page .hero-back-bar{display:flex;align-items:center;gap:12px;}
.item-page .item-back-link{color:var(--royal-dark);font-size:12px;text-decoration:none;border-bottom:1px solid var(--sub);padding-bottom:2px;letter-spacing:0.5px;}
.item-page .item-back-link:hover{color:var(--gold);}
.item-page .item-buy{display:block;margin-top:14px;background:var(--royal);color:#fff;text-align:center;padding:13px;font-size:13px;font-weight:700;letter-spacing:1px;text-decoration:none;border-radius:2px;}
.item-page .item-buy:hover{background:var(--royal-dark);}
.item-page .item-buy-note{margin-top:8px;font-size:11px;color:var(--royal-dark);line-height:1.9;}
.item-page .item-foot{margin:28px 0 40px;padding-top:16px;border-top:1px solid var(--sub);font-size:12px;color:var(--royal-dark);line-height:2.0;}
.item-page .item-foot a{color:var(--royal-dark);}
