@charset "UTF-8";
/* 共通CSS: 以前は各ページの<style>に直書き（4ページで共通） */

/* ---- style#b2b-sharp-override ---- */

/* ===== BtoB SHARP / INDUSTRIAL VISUAL OVERRIDE ===== */
:root{
  --brand-blue:#0099c7;
  --brand-blue-dark:#006f9f;
  --brand-blue-soft:#e8f1f5;
  --ink:#12283a;
  --ink-deep:#071d2e;
  --line:#cfd9e0;
  --muted:#566b7a;
  --radius:4px;
  --shadow:0 8px 22px rgba(7,29,46,.08);
  --theme:#007b91;
  --theme-2:#102b3e;
  --theme-soft:#e8f0f3;
  --theme-dark:#061a2a;
  --theme-muted:#c6d6df;
  --page-bg:#f4f7f9;
  --section-bg:#fff;
  --warm:#79909f;
  --warm-dark:#536b7a;
  --highlight:#9fd5e5;
}
body{color:#1b2b38;background:#f4f7f9;}
.site-header{background:rgba(255,255,255,.985)!important;backdrop-filter:none!important;border-bottom-color:#cbd6dd!important;box-shadow:0 3px 14px rgba(7,29,46,.045);}
.primary-nav a{font-weight:600!important;color:#1d3548!important;}
.primary-nav a::after{background:#007fa6!important;}
.header-shop,
.site-header .contact_link a,
.site-header .qa_link a,
.header-contact,
.header-qa,
.nav-cta{border-radius:2px!important;box-shadow:none!important;}
.site-menu{background:#eef2f5!important;}
.menu-group,.site-menu-action,.menu-shop-link{box-shadow:none!important;border-color:#cfd9e0!important;border-radius:2px!important;}
.menu-group summary,.site-menu__intro h2{font-family:inherit!important;}

.hero{background:linear-gradient(115deg,#061a2a,#102b3e)!important;}
.hero:after{display:none!important;}
.hero:before{opacity:.10!important;background-size:52px 52px!important;}
.hero-inner{min-height:630px;}
.hero-scrim{background:linear-gradient(95deg,rgba(4,20,33,.90) 0%,rgba(4,20,33,.68) 42%,rgba(4,20,33,.28) 72%,rgba(4,20,33,.08) 100%),linear-gradient(180deg,transparent 50%,rgba(4,20,33,.66) 100%)!important;}
.eyebrow{border-radius:2px!important;background:rgba(255,255,255,.04)!important;border-color:rgba(255,255,255,.30)!important;padding:7px 12px!important;letter-spacing:.15em!important;}
.eyebrow:before{width:24px!important;height:2px!important;border-radius:0!important;background:#00a0c9!important;box-shadow:none!important;}
h1{font-size:clamp(36px,5vw,60px)!important;line-height:1.16!important;letter-spacing:-.035em!important;font-weight:750!important;}
.highlight{color:#9fd5e5!important;}
.btn{border-radius:2px!important;box-shadow:none!important;font-weight:750!important;min-height:50px!important;}
.btn:hover{transform:none!important;}
.btn.primary,.btn.theme{background:#007ba3!important;color:#fff!important;}
.btn.secondary{background:rgba(5,23,37,.34)!important;border-color:rgba(255,255,255,.42)!important;}
.btn.light{color:#102b3e!important;}

.metric-strip{gap:12px!important;}
.metric{border-radius:2px!important;box-shadow:none!important;border-color:#cbd6dd!important;border-top:3px solid #007ba3!important;padding:24px 26px!important;}
.metric strong{color:#102b3e!important;}
.section{padding:88px 0!important;}
.section.soft{background:#f1f4f6!important;}
.section.dark{background:#061a2a!important;}
.section-head{max-width:880px!important;}
.kicker{color:#007b91!important;font-size:12px!important;letter-spacing:.18em!important;}
.section.dark .kicker{color:#9fc5d2!important;}
h2{font-size:clamp(28px,4vw,40px)!important;letter-spacing:-.02em!important;font-weight:750!important;color:#102b3e!important;}

.card,.theme-card,.list-item,.spec-card,.faq-item,.cmp,.cta-step,.evidence-note,.safety-note,.note{
  border-radius:3px!important;
  box-shadow:none!important;
}
.card{border-color:#cbd6dd!important;}
.card:before{height:3px!important;background:#007ba3!important;}
.card .num,.spec-label{color:#007b91!important;}
.tag,.pill{border-radius:2px!important;background:#e8f0f3!important;color:#244657!important;}
.theme-card{background:linear-gradient(145deg,#102b3e,#061a2a)!important;border-color:#28495b!important;}
.theme-card:after{display:none!important;}
.theme-card .icon{border-radius:2px!important;background:rgba(0,153,199,.13)!important;color:#9fd5e5!important;}
.list-item{border-color:#cbd6dd!important;}
.list-item strong{color:#007b91!important;}
.spec-card{background:#f8fafb!important;border-color:#cbd6dd!important;}
.spec-note{border-radius:0 2px 2px 0!important;background:#e8f0f3!important;border-left-color:#007b91!important;}
.evidence-note{border-color:rgba(255,255,255,.22)!important;background:rgba(255,255,255,.055)!important;}
.safety-note{border-color:#cbd6dd!important;}
.faq-item{border-color:#cbd6dd!important;}
.faq-question{font-weight:750!important;}
.cmp{border-color:#cbd6dd!important;}
.cmp-row.cmp-head{background:#e8f0f3!important;}

/* illustration treatment: reduce toy-like softness */
.visual-inner,.rack,.office-visual .window,.edu-visual .board,.building{border-radius:3px!important;}
.rack span,.office-visual .line,.desk{border-radius:2px!important;}

.cta{background:linear-gradient(120deg,#061a2a 0%,#0b3148 72%,#0a4c61 100%)!important;}
footer{background:#f8fafb!important;border-top-color:#cfd9e0!important;}

.floating-inquiry{border-radius:3px!important;background:#007ba3!important;box-shadow:0 12px 26px rgba(7,29,46,.22)!important;}
.floating-inquiry:hover{transform:translateY(-1px)!important;}
.floating-inquiry__icon{border-radius:2px!important;}
.inquiry-modal__panel{border-radius:4px!important;}
.inquiry-modal__close{border-radius:2px!important;}
.inquiry-modal__context{border-radius:2px!important;background:#eef3f6!important;}
.inquiry-choice{border-radius:2px!important;background:#f8fafb!important;box-shadow:none!important;}
.inquiry-choice:hover{transform:none!important;border-color:#6d94a8!important;}

@media(max-width:640px){
  .section{padding:66px 0!important;}
  .hero-inner{padding:54px 0 72px!important;}
  .floating-inquiry{border-radius:3px!important;}
}


/* ---- style#b2b-contrast-fix ---- */

/* ===== Contrast repair after BtoB sharp override ===== */
.section.dark .section-head h2,
.section.dark > .container > h2,
.cta h2,
.showroom h2 { color:#fff !important; }
.section.dark .section-head .lead,
.section.dark .section-head p,
.cta p,
.showroom p { color:#c6d6df !important; }
.hero h1 { color:#fff !important; }
.hero .hero-lead { color:#d8e8ef !important; }
.hero .eyebrow { color:#d7e7ee !important; }
.btn.secondary { color:#fff !important; }
.theme-card h3, .cta-step h4 { color:#fff !important; }
.theme-card p, .cta-step p { color:#c6d6df !important; }
.evidence-note { color:#d6e3e9 !important; }

