:root{--navy:#0b2a3a;--blue:#0767c8;--sea:#0f6f78;--ink:#172027;--muted:#6c7880;--line:#dce5e8;--bg:#f5f8f9;--white:#fff;--good:#18834f;--warn:#9b6500;--danger:#b3261e}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.topbar{background:var(--navy);color:#fff;padding:8px 16px;font-size:12px}.header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.header-inner{max-width:1180px;margin:auto;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px}.brand{display:flex;align-items:center;gap:9px;color:var(--navy);font-size:18px;font-weight:800;letter-spacing:.03em}.brand b{color:var(--blue)}.brand small{display:block;font-size:10px;font-weight:600;color:var(--muted);letter-spacing:0}.anchor{font-size:26px}.cart-button{border:1px solid #b9c9cf;border-radius:999px;background:#fff;color:var(--navy);font-weight:800;padding:9px 13px;cursor:pointer}.cart-count{background:var(--blue);color:#fff;border-radius:999px;padding:2px 7px;margin-left:5px;font-size:11px}.container{max-width:1180px;margin:auto;padding:22px 16px 70px}.narrow{max-width:1050px}.hero{background:linear-gradient(135deg,#0b2a3a,#0f6f78);border-radius:18px;padding:28px;color:#fff;display:grid;grid-template-columns:1.5fr .8fr;gap:24px;align-items:center}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;opacity:.75;margin:0 0 8px}.hero h1{font-size:30px;line-height:1.35;margin:0 0 10px}.hero p{line-height:1.8;margin:0;color:#d8eeee}.hero-note{background:#ffffff1f;border:1px solid #ffffff35;border-radius:14px;padding:18px;display:grid;gap:7px}.hero-note b{font-size:24px}.hero-note span{font-size:12px;line-height:1.7}.searchbar{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin:18px 0 10px}.searchbar input{min-width:0;border:1px solid #b9c7cc;border-radius:11px;padding:13px;background:#fff}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:11px 14px;font-weight:800;cursor:pointer;min-height:43px}.btn.primary{background:var(--blue);color:#fff}.btn.light{background:#fff;color:var(--navy);border:1px solid var(--line)}.btn.yahoo{background:#fff;border:1px solid #e8cc00;color:#175a9f}.btn.danger-outline{background:#fff;border:1px solid #d8aaa7;color:var(--danger)}.btn.full{width:100%}.chips{display:flex;gap:7px;overflow:auto;padding:6px 0 13px;scrollbar-width:thin}.chip{white-space:nowrap;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:var(--navy);font-weight:700}.chip small{color:var(--muted);margin-left:4px}.chip.active{background:var(--navy);border-color:var(--navy);color:#fff}.chip.active small{color:#d7e8ee}.section-head{display:flex;justify-content:space-between;align-items:end;margin:15px 0 12px}.section-head h2{margin:0;color:var(--navy)}.section-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.product-card,.variant-card{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 5px 18px rgba(20,50,60,.04)}.product-card{padding:17px;display:flex;flex-direction:column;min-height:245px}.card-top{display:flex;justify-content:space-between;gap:8px}.category-code,.yahoo-badge{font-size:11px;padding:4px 8px;border-radius:999px;background:#eef3f5;color:#506069}.yahoo-badge{background:#fff8cc;color:#7c6300}.product-card h3{color:var(--navy);margin:16px 0 4px;font-size:19px}.variants{font-size:13px;color:var(--muted);margin:0}.price{font-size:23px;font-weight:900;margin:16px 0 5px}.price small{font-size:11px;color:var(--muted)}.stock{font-size:12px;font-weight:700;margin:4px 0 16px}.stock.good{color:var(--good)}.stock.warn{color:var(--warn)}.stock.muted,.muted{color:var(--muted)}.product-card .btn{margin-top:auto}.empty{grid-column:1/-1;background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;color:var(--muted)}.info-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:25px}.info-strip div{background:#fff;padding:15px;text-align:center}.info-strip b,.info-strip span{display:block}.info-strip b{color:var(--navy);margin-bottom:3px}.info-strip span{font-size:12px;color:var(--muted)}.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:14px}.breadcrumb a{color:var(--blue)}.product-detail{display:grid;grid-template-columns:.8fr 1.2fr;gap:22px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}.product-visual{min-height:240px;border:1px dashed #c9d5d9;border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#829097}.placeholder-icon{font-size:68px;color:#b9c7cc}.product-main h1{font-size:30px;color:var(--navy);margin:0 0 12px}.detail-lead{line-height:1.9;color:#536169}.variant-list{margin-top:22px}.variant-list h2{color:var(--navy);font-size:21px}.variant-card{display:grid;grid-template-columns:1fr 280px;gap:20px;padding:18px;margin-bottom:11px}.variant-info h3{margin:7px 0 8px;color:var(--navy)}.code{font-size:12px;color:var(--muted)}.shipping{color:var(--blue);font-weight:800}.shipping small{display:block;color:var(--muted);font-weight:500;margin-top:3px}.variant-actions{display:flex;flex-direction:column;gap:9px;justify-content:center}.variant-actions label{font-size:13px;font-weight:700}.qty-control{display:inline-grid;grid-template-columns:34px 55px 34px;margin:0 5px;border:1px solid var(--line);border-radius:8px;overflow:hidden;vertical-align:middle}.qty-control button,.qty-control input{border:0;background:#fff;text-align:center;min-height:34px}.qty-control button{cursor:pointer;background:#f5f8f9}.qty-control input{width:55px}.answer-note{background:#edf7fb;border:1px solid #d1e7ef;border-radius:10px;padding:11px 13px;color:#3e6574;margin-top:12px}.small-note{font-size:12px}.drawer-back{position:fixed;inset:0;background:#0d202b70;display:none;justify-content:flex-end;z-index:80}.drawer-back.show{display:flex}.drawer{width:min(500px,100%);height:100%;background:#fff;overflow:auto;padding:18px;box-shadow:-10px 0 30px #0002}.drawer-head{display:flex;justify-content:space-between;align-items:center}.drawer-head h2{color:var(--navy);margin:0}.icon-button{border:0;background:#eef3f5;border-radius:10px;width:40px;height:40px;font-size:22px;cursor:pointer}.cart-line{padding:12px 0;border-bottom:1px solid var(--line)}.cart-line b{display:block;color:var(--navy);margin-bottom:3px}.cart-line .meta{font-size:12px;color:var(--muted)}.cart-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}.mini-qty{display:flex;gap:6px;align-items:center}.mini-qty button{border:1px solid var(--line);background:#fff;border-radius:7px;width:31px;height:31px;cursor:pointer}.remove-link{border:0;background:none;color:var(--danger);cursor:pointer}.cart-summary{background:#f5f9fa;border-radius:12px;padding:13px;margin:14px 0}.cart-summary>div{display:flex;justify-content:space-between;padding:4px 0}.cart-summary .total{font-size:18px;font-weight:900;border-top:1px solid var(--line);padding-top:9px;margin-top:5px}.cart-summary small{display:block;color:var(--muted);line-height:1.6;margin-top:7px}.drawer hr{border:0;border-top:1px solid var(--line);margin:18px 0}.drawer form{display:grid;gap:10px}.drawer form>label{display:grid;gap:5px;font-size:13px;font-weight:700}.drawer input,.drawer textarea{border:1px solid #bdcbd0;border-radius:9px;padding:10px;width:100%}.required{font-size:10px;color:#fff;background:#e14d4d;border-radius:4px;padding:2px 5px;margin-left:4px}.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start}.check input{width:auto;margin-top:3px}.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden}.quote-result{margin-top:13px;background:#e9f7ef;border:1px solid #c8ead6;border-radius:10px;padding:14px;color:#245b3f}.toast{display:none;position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:#102f3e;color:#fff;border-radius:10px;padding:11px 15px;z-index:99}.toast.show{display:block}footer{background:#e9eff1;color:#5f6c73;font-size:12px;text-align:center;padding:25px 15px}
@media(max-width:850px){.hero{grid-template-columns:1fr}.hero-note{display:none}.product-grid{grid-template-columns:repeat(2,1fr)}.product-detail{grid-template-columns:1fr}.product-visual{min-height:180px}.variant-card{grid-template-columns:1fr}.variant-actions{border-top:1px solid var(--line);padding-top:13px}.info-strip{grid-template-columns:1fr}}
@media(max-width:560px){.topbar{font-size:10px}.header-inner{padding:9px 12px}.brand{font-size:15px}.brand small{display:none}.anchor{font-size:22px}.cart-button{font-size:12px;padding:8px 10px}.container{padding:15px 11px 55px}.hero{border-radius:13px;padding:20px}.hero h1{font-size:23px}.searchbar{grid-template-columns:1fr auto}.searchbar .primary{grid-column:2}.searchbar .light{grid-column:2;grid-row:1}.searchbar input{grid-row:1;grid-column:1}.product-grid{grid-template-columns:1fr}.product-card{min-height:auto}.product-detail{padding:15px}.product-main h1{font-size:25px}.variant-card{padding:14px}.qty-control{grid-template-columns:36px 54px 36px}.drawer{padding:14px}.info-strip{margin-top:18px}}

/* v2.1 visual refresh + representative product images */
.hero{background:linear-gradient(135deg,#0a5068 0%,#138996 58%,#43aeb0 100%);box-shadow:0 10px 30px rgba(14,93,111,.12)}
.hero h1{letter-spacing:.01em}.hero p{color:#ecffff}.hero-note{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.28)}
.product-card{overflow:hidden;padding:0 17px 17px}.card-image{height:150px;margin:0 -17px 12px;background:#eef6f7;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid var(--line)}
.card-image img{width:100%;height:100%;object-fit:contain;background:#fff}.card-image.placeholder{background:linear-gradient(145deg,#eef8f8,#ddecf1);color:#6ca6b2;font-size:44px}.card-image.placeholder span{filter:saturate(.7)}
.card-top{min-height:24px;justify-content:flex-end}.product-card h3{margin:6px 0 4px}.card-price{font-size:23px;font-weight:900;margin:16px 0 5px}.card-price small{font-size:11px;color:var(--muted)}
.service-points{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:25px}.service-points div{background:#fff;padding:15px;text-align:center}.service-points b,.service-points span{display:block}.service-points b{color:var(--navy);margin-bottom:3px}.service-points span{font-size:12px;color:var(--muted)}
.product-visual.has-image{background:#fff;border-style:solid}.product-visual.has-image img{width:100%;height:100%;max-height:360px;object-fit:contain;padding:10px}.representative-note{font-size:11px;line-height:1.6;color:var(--muted);margin:7px 3px 0}
.variant-field{display:grid;grid-template-columns:64px 1fr;gap:9px;margin-top:8px;align-items:start}.variant-field span{font-size:12px;color:var(--muted)}.variant-field b{font-size:16px;color:var(--navy);font-weight:800}.variant-info .code{margin-bottom:9px}.variant-info .stock{margin-top:13px}
@media(max-width:850px){.service-points{grid-template-columns:1fr}.card-image{height:180px}}
@media(max-width:560px){.hero{background:linear-gradient(145deg,#0c6177,#28a0a5)}.card-image{height:170px}.variant-field{grid-template-columns:55px 1fr}.variant-field b{font-size:15px}}

.yahoo-price-note{margin:0 2px;font-size:11px;line-height:1.55;color:var(--muted);}

/* v2.2 brand/navigation, 4-column catalog, 2-row categories */
.topbar{background:#0b5267;text-align:left;letter-spacing:.02em}.header-inner{max-width:1240px}.brand{font-size:19px;letter-spacing:0}.brand span:last-child{line-height:1.15}.header-actions{display:flex;align-items:center;gap:14px}.header-nav{display:flex;align-items:center;gap:4px}.header-nav a{font-size:13px;font-weight:800;color:#46616d;padding:8px 10px;border-radius:8px}.header-nav a:hover,.header-nav a.active{background:#edf7fa;color:#075f83}
.chips-two{display:grid;gap:7px;margin:6px 0 13px;overflow:hidden}.chip-row{display:flex;gap:7px;overflow-x:auto;padding:1px 0;scrollbar-width:thin}.sort-note{margin-left:7px;color:#0f7280;font-weight:700}.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.product-card h3{font-size:17px;line-height:1.45}.card-image{height:135px}.product-card{min-height:320px}.footer-links{display:flex;justify-content:center;gap:18px;margin-bottom:8px}.footer-links a{font-weight:700;color:#47636f}

/* manufacturer reference */
.manufacturer-reference{margin-top:22px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;box-shadow:0 5px 18px rgba(20,50,60,.04)}.manufacturer-reference h2{margin:0 0 8px;color:var(--navy);font-size:21px}.manufacturer-reference p{line-height:1.8;color:#536169}.manufacturer-reference .manufacturer-link{width:auto;margin-top:4px}.external-note{font-size:11px!important;color:var(--muted)!important;margin:12px 0 0!important}

/* company / store page */
.company-page{max-width:1180px}.company-hero{background:linear-gradient(135deg,#eaf8f7,#f5fbfc);border:1px solid #d3e9e9;border-radius:18px;padding:26px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}.company-hero h1{font-size:30px;color:var(--navy);margin:0 0 10px}.company-hero p{line-height:1.8;color:#536a73;margin:0}.today-business{min-width:210px;border-radius:14px;padding:16px 18px;text-align:center;background:#fff;border:1px solid var(--line)}.today-business span,.today-business small{display:block}.today-business span{font-size:12px;color:var(--muted);font-weight:700}.today-business b{display:block;font-size:23px;margin:4px 0;color:var(--good)}.today-business.closed b{color:var(--danger)}.today-business small{font-size:11px;color:var(--muted)}.company-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-top:18px}.company-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:21px}.company-card h2,.calendar-section h2,.store-message h2{color:var(--navy);margin:0 0 14px}.company-dl{margin:0}.company-dl>div{display:grid;grid-template-columns:110px 1fr;border-top:1px solid #edf1f3;padding:10px 0}.company-dl>div:first-child{border-top:0}.company-dl dt{font-size:12px;color:var(--muted);font-weight:800}.company-dl dd{margin:0;line-height:1.65}.company-dl a{color:var(--blue);font-weight:700}.company-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.hours-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid #edf1f3}.hours-row span{font-weight:700;color:#4c6570}.hours-row b{font-size:20px;color:var(--navy)}.hours-row.closed b{color:var(--danger)}.hours-card>p{font-size:12px;line-height:1.8;color:var(--muted)}.contact-callout{margin-top:16px;background:#edf8fb;border-radius:12px;padding:14px;text-align:center}.contact-callout span,.contact-callout small{display:block;color:#55717d}.contact-callout b{display:block;font-size:24px;color:#075f83;margin:3px 0}.calendar-section{margin-top:24px}.calendar-legend{display:flex;gap:8px;font-size:12px}.calendar-legend span{padding:5px 9px;border-radius:99px;font-weight:800}.legend-open{background:#e6f7ef;color:#15704a}.legend-closed{background:#fff0f0;color:#9b3737}.calendar-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.calendar-month{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px}.calendar-month h3{margin:0 0 12px;color:var(--navy);text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-head span{text-align:center;font-size:11px;font-weight:800;color:#6b7c84;padding:3px}.calendar-head span:first-child{color:#b34a4a}.calendar-head span:last-child{color:#26719b}.calendar-day,.calendar-blank{min-height:66px;border-radius:9px;padding:6px;display:flex;flex-direction:column;align-items:flex-start}.calendar-day{background:#f7fafb;border:1px solid #edf1f3}.calendar-day b{font-size:13px}.calendar-day small{font-size:9px;color:var(--good);margin-top:3px}.calendar-day em{font-size:8px;color:var(--muted);font-style:normal;line-height:1.2;margin-top:2px;overflow:hidden;max-height:20px}.calendar-day.closed{background:#fff3f3}.calendar-day.closed small,.calendar-day.sun b{color:#b44242}.calendar-day.sat b{color:#26719b}.calendar-day.today{outline:2px solid #0b83aa}.calendar-day.manual{box-shadow:inset 0 -3px #f2ab32}.store-message{margin-top:20px;background:#0d6479;color:#fff;border-radius:16px;padding:22px;display:flex;justify-content:space-between;align-items:center;gap:20px}.store-message h2{color:#fff;margin-bottom:5px}.store-message p{margin:0;color:#dceff2;line-height:1.7}.store-message .btn{background:#fff;color:#075f83;white-space:nowrap}

@media(max-width:1050px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.card-image{height:145px}}
@media(max-width:850px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.company-grid,.calendar-pair{grid-template-columns:1fr}.company-hero{grid-template-columns:1fr}.today-business{min-width:0}.store-message{align-items:flex-start;flex-direction:column}.card-image{height:180px}}
@media(max-width:680px){.header-inner{flex-wrap:wrap}.header-actions{width:100%;justify-content:space-between;gap:8px;border-top:1px solid #edf1f3;padding-top:7px}.header-nav a{font-size:12px;padding:7px 8px}.chips-two{margin-top:4px}.chip-row{padding-bottom:2px}.company-dl>div{grid-template-columns:90px 1fr}.calendar-day{min-height:58px;padding:4px}.calendar-day em{display:none}}
@media(max-width:560px){.product-grid{grid-template-columns:1fr}.product-card{min-height:auto}.brand{font-size:16px}.topbar{text-align:center}.company-hero{padding:19px}.company-hero h1{font-size:24px}.company-card{padding:16px}.calendar-month{padding:10px}.calendar-grid{gap:2px}.calendar-day,.calendar-blank{min-height:52px}.calendar-day small{font-size:8px}.sort-note{display:block;margin-left:0;margin-top:3px}}
