﻿:root{
  --c1:#00a1e9;
  --c2:#005bac;
  --c3:#626a7c;
  --brand-grad:linear-gradient(124deg, #005bac 0%, #0a7fd4 48%, #00a1e9 100%);
  --black:#f8f9fb;
  --dark:#edf2f7;
  --dark2:#ffffff;
  --white:#0d1017;
  --gray:#5f6877;
  --gray2:#273142;
  --line:rgba(15,23,42,.10);
  --line-strong:rgba(15,23,42,.16);
  --surface-shadow:0 18px 48px rgba(15,23,42,.08);
  --surface-shadow-sm:0 10px 24px rgba(15,23,42,.06);
  --text-soft:rgba(15,23,42,.74);
  --text-muted:rgba(15,23,42,.56);
}

html{background:var(--black)!important}
body{
  background:var(--dark)!important;
  color:var(--white)!important;
  text-rendering:optimizeLegibility;
}
::selection{background:rgba(0,161,233,.16);color:var(--white)}
:focus-visible{
  outline:2px solid rgba(0,91,172,.45);
  outline-offset:3px;
}

#hdr{
  background:rgba(248,249,251,.92)!important;
  border-bottom:1px solid var(--line)!important;
  box-shadow:0 12px 28px rgba(15,23,42,.05);
}
#hdr.sc{background:rgba(248,249,251,.98)!important}
.hdr-nav a,
.hdr-nav a.active{color:var(--gray2)!important}
.hdr-nav a:hover{color:var(--c2)!important}
.lang-sw{border-color:var(--line-strong)!important}
.lang-sw button{
  background:rgba(255,255,255,.72)!important;
  border-color:var(--line-strong)!important;
  color:var(--gray)!important;
}
.lang-sw button.on{
  background:var(--c1)!important;
  border-color:var(--c1)!important;
  color:#fff!important;
}
.hdr-ham span{background:var(--white)!important}

.drw{
  background:rgba(248,249,251,.98)!important;
  border-left:1px solid var(--line)!important;
  box-shadow:-20px 0 40px rgba(15,23,42,.08);
}
.drw a{
  color:var(--text-soft)!important;
  border-bottom:1px solid var(--line)!important;
}
.drw a:hover,
.drw a.active{color:var(--c2)!important}
.drw-ov{background:rgba(15,23,42,.28)!important}

.page-hero,
.cta-section,
footer,
.pb,
.bg-black,
.flow-bg{
  background:var(--black)!important;
}
.page-hero{
  border-bottom:1px solid var(--line)!important;
}
.page-hero::before,
.hero-ticker{color:rgba(15,23,42,.05)!important}
.page-sub,
.sec-sub,
.cta-sub,
.ft-addr,
.ft-copy{
  color:var(--text-soft)!important;
}
.sec-ey,
.page-ey,
.cta-ey{color:var(--c2)!important}
.sec-ey::before,
.page-ey::before{background:var(--c1)!important}

footer{
  border-top:1px solid var(--line)!important;
}
.ft-top{border-bottom:1px solid var(--line)!important}
.ft-links a,
.ft-legal a{color:var(--text-soft)!important}
.ft-links a:hover,
.ft-legal a:hover{color:var(--c2)!important}
.ft-links[style] li{
  color:var(--text-muted)!important;
}

.side-btn{
  box-shadow:var(--surface-shadow-sm);
}

body[data-page="index"] #ldr,
body[data-page="index"] .modal-box,
body[data-page="index"] .cta-card,
body[data-page="index"] .svc-card,
body[data-page="index"] .own-card,
body[data-page="index"] .flow-step,
body[data-page="index"] .cred-card,
body[data-page="index"] .rev-card,
body[data-page="index"] .grow-card,
body[data-page="index"] .rec-card,
body[data-page="index"] .acc-card,
body[data-page="index"] .wk-cat{
  box-shadow:var(--surface-shadow-sm);
}
body[data-page="index"] #ldr,
body[data-page="index"] .modal-box{
  background:#fff!important;
}
body[data-page="index"] .modal-box{
  border:1px solid var(--line)!important;
}
body[data-page="index"] .modal-close,
body[data-page="index"] .modal-p,
body[data-page="index"] .modal-p strong{
  color:var(--text-soft)!important;
}
body[data-page="index"] .hero{
  background:
    radial-gradient(circle at top left, rgba(0,161,233,.12), transparent 38%),
    linear-gradient(180deg, #ffffff 0%, #eef3f8 100%)!important;
}
body[data-page="index"] .hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(248,249,251,.42) 0%, rgba(248,249,251,.06) 34%, rgba(248,249,251,.52) 100%),
    radial-gradient(circle at bottom left, rgba(248,249,251,.82), transparent 52%);
  pointer-events:none;
  z-index:1;
}
body[data-page="index"] .hero-cnt{
  background:rgba(248,249,251,.82);
  backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.45);
  box-shadow:var(--surface-shadow);
  padding:28px 32px;
  max-width:720px;
}
body[data-page="index"] .hero-h,
body[data-page="index"] .hero-sub,
body[data-page="index"] .hero-scroll,
body[data-page="index"] .hdr-tel,
body[data-page="index"] .cta-ttl,
body[data-page="index"] .svc-ttl,
body[data-page="index"] .sec-h,
body[data-page="index"] .pt-h,
body[data-page="index"] .grow-v,
body[data-page="index"] .rev-txt,
body[data-page="index"] .acc-name{
  color:#16202e!important;
}
body[data-page="index"] .hero-sub,
body[data-page="index"] .cta-dsc,
body[data-page="index"] .svc-txt,
body[data-page="index"] .pt-p,
body[data-page="index"] .acc-addr{
  color:#485567!important;
}
body[data-page="index"] .hero-ey-txt,
body[data-page="index"] .hero-scroll{
  color:#37506f!important;
}
body[data-page="index"] .hero-scroll::after{
  background:linear-gradient(to bottom, rgba(15,23,42,.56), transparent)!important;
}
body[data-page="index"] .cta-card{
  background:rgba(255,255,255,.9)!important;
  border-color:var(--line-strong)!important;
}
body[data-page="index"] .cta-card:hover{
  background:#fff!important;
  border-color:rgba(0,91,172,.22)!important;
}
body[data-page="index"] .svc-grid,
body[data-page="index"] .own-grid,
body[data-page="index"] .wk-cats{
  background:var(--line)!important;
}
body[data-page="index"] .svc-bg{
  background:#f3f7fb!important;
  border-top:1px solid rgba(15,23,42,.05);
}
body[data-page="index"] #contractor.bg-black{
  background:#ffffff!important;
  border-top:1px solid rgba(15,23,42,.05);
}
body[data-page="index"] #owner.bg-dark2{
  background:#f4f8fc!important;
  border-top:1px solid rgba(15,23,42,.05);
}
body[data-page="index"] #works.bg-black{
  background:#eef5fb!important;
  border-top:1px solid rgba(15,23,42,.05);
}
body[data-page="index"] .flow-bg{
  background:#ffffff!important;
  border-top:1px solid rgba(15,23,42,.05);
}
body[data-page="index"] #credentials.bg-black{
  background:#edf5fc!important;
  border-top:1px solid rgba(15,23,42,.08);
}
body[data-page="index"] .rev-bg{
  background:#ffffff!important;
  border-top:1px solid rgba(15,23,42,.08);
}
body[data-page="index"] .graph-bg{
  background:#eef6fd!important;
  border-top:1px solid rgba(15,23,42,.08);
}
body[data-page="index"] .rec-bg{
  background:#ffffff!important;
  border-top:1px solid rgba(15,23,42,.08);
}
body[data-page="index"] .acc-bg{
  background:#eef6fd!important;
  border-top:1px solid rgba(15,23,42,.08);
}
body[data-page="index"] .svc-card,
body[data-page="index"] .own-card,
body[data-page="index"] .flow-step,
body[data-page="index"] .cred-card,
body[data-page="index"] .rev-card,
body[data-page="index"] .grow-card,
body[data-page="index"] .rec-card,
body[data-page="index"] .acc-card,
body[data-page="index"] .wk-cat{
  background:#fff!important;
}
body[data-page="index"] .rec-bg::after{
  content:none!important;
}
body[data-page="index"] .rec-grid{
  background:rgba(0,91,172,.18)!important;
}
body[data-page="index"] .rec-card{
  background:linear-gradient(180deg, #f6fbff 0%, #edf6ff 100%)!important;
  border:1px solid rgba(0,91,172,.18)!important;
  box-shadow:0 18px 38px rgba(15,23,42,.08)!important;
}
body[data-page="index"] .rec-card:hover{
  background:linear-gradient(180deg, #fbfdff 0%, #f2f8ff 100%)!important;
  border-color:rgba(0,91,172,.28)!important;
  transform:translateY(-2px);
}
body[data-page="index"] .rec-ttl{
  color:#16202e!important;
}
body[data-page="index"] .rec-en{
  color:#4f6278!important;
}
body[data-page="index"] .rec-arr{
  color:rgba(0,91,172,.26)!important;
}
body[data-page="index"] .rec-card:hover .rec-arr{
  color:var(--c1)!important;
}
body[data-page="index"] .ft-col-t{
  color:#5f6877!important;
}
body[data-page="index"] .ft-legal a,
body[data-page="index"] .ft-legal a:visited{
  color:#5a6072!important;
}
body[data-page="index"] .svc-card{
  border:1px solid rgba(15,23,42,.06)!important;
  transition:background .28s ease,border-color .28s ease,color .28s ease,transform .28s ease;
}
body[data-page="index"] .svc-txt,
body[data-page="index"] .wk-desc,
body[data-page="index"] .cred-item,
body[data-page="index"] .grow-p,
body[data-page="index"] .rec-desc,
body[data-page="index"] .acc-addr{
  color:var(--text-soft)!important;
}
body[data-page="index"] .svc-card:hover{
  background:var(--brand-grad)!important;
  border-color:rgba(255,255,255,.26)!important;
  transform:translateY(-2px);
}
body[data-page="index"] .svc-card:hover .jp-t,
body[data-page="index"] .svc-card:hover .en-t{
  color:rgba(255,255,255,.92)!important;
}
body[data-page="index"] .svc-card:hover .svc-ttl,
body[data-page="index"] .svc-card:hover .svc-en,
body[data-page="index"] .svc-card:hover .svc-txt,
body[data-page="index"] .svc-card:hover .svc-icon{
  color:rgba(255,255,255,.92)!important;
}
body[data-page="index"] .svc-card:hover .svc-num{
  color:rgba(255,255,255,.58)!important;
}
body[data-page="index"] .pt-n,
body[data-page="index"] .sec-ey-n{
  color:var(--c1)!important;
}
body[data-page="index"] .pt-ttl{
  color:#16202e!important;
}
body[data-page="index"] .pt-txt{
  color:#516074!important;
}
body[data-page="index"] #contractor .sec-hj{
  display:none!important;
}
body[data-page="index"] .pt{
  border-bottom:1px solid rgba(15,23,42,.09)!important;
}
body[data-page="index"] .pt:first-child{
  border-top:1px solid rgba(15,23,42,.09)!important;
}

body:not([data-page="index"]) .contact-info,
body:not([data-page="index"]) .faq-section,
body:not([data-page="index"]) .filter-wrap,
body:not([data-page="index"]) .step-nav,
body:not([data-page="index"]) .feat-section,
body:not([data-page="index"]) .welfare-section,
body:not([data-page="index"]) .mv-section,
body:not([data-page="index"]) .values-section,
body:not([data-page="index"]) .policy-wrap{
  background:var(--dark)!important;
}

body[data-page="company"] .hist-bg,
body[data-page="company"] .lic-bg,
body[data-page="contact"] .contact-info,
body[data-page="contact"] .faq-section,
body[data-page="estimate"] .step-nav,
body[data-page="philosophy"] .mv-section,
body[data-page="philosophy"] .values-section,
body[data-page="recruit"] .feat-section,
body[data-page="recruit"] .welfare-section,
body[data-page="works"] .filter-wrap{
  border-top:1px solid transparent;
}

body[data-page="company"] .hist-bg,
body[data-page="company"] .lic-bg,
body[data-page="philosophy"] .mv-section,
body[data-page="philosophy"] .values-section,
body[data-page="recruit"] .feat-section,
body[data-page="recruit"] .welfare-section{
  background:var(--dark)!important;
  border-color:var(--line)!important;
}
body[data-page="company"] .area-card,
body[data-page="company"] .lic-card,
body[data-page="company"] .acc-card,
body[data-page="philosophy"] .mv-card,
body[data-page="philosophy"] .val-card,
body[data-page="recruit"] .feat-card,
body[data-page="recruit"] .job-card,
body[data-page="recruit"] .wf-card,
body[data-page="works"] .wk-card,
body[data-page="contact"] .ci-card,
body[data-page="contact"] .faq-item,
body[data-page="contact"] .tab-pane,
body[data-page="estimate"] .result-box,
body[data-page="estimate"] .result-card,
body[data-page="estimate"] .est-pane,
body[data-page="estimate"] .est-result,
body[data-page="privacy"] .contact-box{
  background:#fff!important;
  border:1px solid var(--line)!important;
  box-shadow:var(--surface-shadow-sm);
}
body[data-page="company"] .ov-table tr,
body[data-page="company"] .hist-item,
body[data-page="company"] .hist-item::before,
body[data-page="company"] .cta-section,
body[data-page="contact"] .tab-section,
body[data-page="contact"] .form-intro,
body[data-page="contact"] .copy-area,
body[data-page="contact"] .faq-section,
body[data-page="estimate"] .step-nav,
body[data-page="estimate"] .cta-section,
body[data-page="philosophy"] .cta-section,
body[data-page="recruit"] .flow-step,
body[data-page="recruit"] .form-pos,
body[data-page="privacy"] .policy-box{
  border-color:var(--line)!important;
}
body[data-page="company"] .ov-table td,
body[data-page="company"] .hist-txt,
body[data-page="company"] .area-list li,
body[data-page="company"] .lic-detail,
body[data-page="company"] .acc-addr,
body[data-page="contact"] .ci-note,
body[data-page="contact"] .form-intro,
body[data-page="contact"] .copy-note,
body[data-page="contact"] .faq-a,
body[data-page="estimate"] .sec-sub,
body[data-page="estimate"] .result-note,
body[data-page="estimate"] .est-result-note,
body[data-page="philosophy"] .mv-txt,
body[data-page="philosophy"] .greet-txt,
body[data-page="philosophy"] .val-txt,
body[data-page="privacy"] .policy-p,
body[data-page="privacy"] .policy-list li,
body[data-page="privacy"] .contact-box-body,
body[data-page="recruit"] .feat-label,
body[data-page="recruit"] .job-desc,
body[data-page="recruit"] .job-meta-v,
body[data-page="recruit"] .job-points li,
body[data-page="recruit"] .wf-txt,
body[data-page="recruit"] .flow-txt,
body[data-page="recruit"] .rec-cta-sub,
body[data-page="works"] .works-note,
body[data-page="works"] .wk-desc{
  color:var(--text-soft)!important;
}
body[data-page="contact"] .tab-btn,
body[data-page="estimate"] .est-tab,
body[data-page="estimate"] .bldg-btn,
body[data-page="estimate"] .symptom-btn,
body[data-page="works"] .flt-btn{
  background:#fff!important;
  border:1px solid var(--line)!important;
  color:var(--text-soft)!important;
}
body[data-page="contact"] .tab-btn.active,
body[data-page="estimate"] .est-tab.active,
body[data-page="works"] .flt-btn.active{
  background:var(--c2)!important;
  border-color:var(--c2)!important;
  color:#fff!important;
}
body[data-page="estimate"] .step-nav{
  backdrop-filter:blur(18px);
}
body[data-page="estimate"] .result-card-v,
body[data-page="estimate"] .est-result-range,
body[data-page="works"] .wk-ttl,
body[data-page="recruit"] .job-ttl,
body[data-page="recruit"] .wf-ttl,
body[data-page="philosophy"] .catch-jp,
body[data-page="company"] .hist-ttl{
  color:var(--white)!important;
}
body[data-page="contact"] .form-input,
body[data-page="contact"] .form-select,
body[data-page="contact"] .form-textarea,
body[data-page="estimate"] .est-input,
body[data-page="estimate"] .est-select,
body[data-page="recruit"] .form-input,
body[data-page="recruit"] .form-select,
body[data-page="recruit"] .form-textarea{
  background:#fff!important;
  border:1px solid var(--line-strong)!important;
  color:var(--white)!important;
}
body[data-page="contact"] .form-select option,
body[data-page="estimate"] .est-select option,
body[data-page="recruit"] .form-select option{
  background:#fff!important;
  color:var(--white)!important;
}
body[data-page="contact"] .mail-link{
  background:#fff!important;
  border-color:var(--line)!important;
}
body[data-page="contact"] .faq-q:hover{
  background:rgba(0,91,172,.04)!important;
}
body[data-page="contact"] .ph-bg{
  background-image:url("../images/unsplash-1592890288.jpg")!important;
  opacity:.16!important;
}
body[data-page="estimate"] .ph-bg{
  background-image:url("../images/unsplash-1454165804.jpg")!important;
  opacity:.14!important;
}
body[data-page="philosophy"] .greet-section,
body[data-page="recruit"] .jobs-section,
body[data-page="recruit"] .flow-section,
body[data-page="works"] .works-section,
body[data-page="contact"] .tab-section,
body[data-page="estimate"] .estimate-section{
  background:var(--dark)!important;
}
body[data-page="privacy"] .policy-box,
body[data-page="privacy"] .contact-box,
body[data-page="privacy"] [style="background:var(--dark)"]{
  background:#fff!important;
}
body[data-page="privacy"] .policy-h{
  color:var(--white)!important;
  border-bottom:1px solid var(--line)!important;
}
body[data-page="recruit"] .form-overlay{
  background:rgba(15,23,42,.32)!important;
}
body[data-page="recruit"] .form-modal{
  background:#fff!important;
  border:1px solid var(--line)!important;
  box-shadow:var(--surface-shadow);
}
body[data-page="recruit"] .form-check label,
body[data-page="recruit"] .form-pos{
  color:var(--text-soft)!important;
}
body[data-page="recruit"] .page-h,
body[data-page="recruit"] .sec-h,
body[data-page="recruit"] .rec-cta-h,
body[data-page="recruit"] .flow-ttl,
body[data-page="recruit"] .job-meta-l{
  color:#16202e!important;
}
body[data-page="recruit"] .page-sub,
body[data-page="recruit"] .feat-label,
body[data-page="recruit"] .job-meta-v,
body[data-page="recruit"] .job-desc,
body[data-page="recruit"] .job-points li,
body[data-page="recruit"] .wf-txt,
body[data-page="recruit"] .flow-txt{
  color:#445164!important;
}
body[data-page="recruit"] .page-hero::before{
  color:rgba(15,23,42,.06)!important;
}
body[data-page="recruit"] .page-hero{
  background:
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,249,251,.78)),
    var(--black)!important;
}
body[data-page="recruit"] .page-hero-inner{
  background:rgba(248,249,251,.84);
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.46);
  box-shadow:var(--surface-shadow-sm);
  padding:24px 28px;
}
body[data-page="recruit"] .feat-grid,
body[data-page="recruit"] .job-grid{
  background:var(--line)!important;
}
body[data-page="recruit"] .feat-card,
body[data-page="recruit"] .job-card,
body[data-page="recruit"] .wf-card{
  background:#fff!important;
}
body[data-page="recruit"] .feat-num,
body[data-page="recruit"] .job-cat,
body[data-page="recruit"] .job-salary,
body[data-page="recruit"] .flow-n{
  color:var(--c1)!important;
}
body[data-page="recruit"] .job-ttl,
body[data-page="recruit"] .wf-ttl{
  color:#16202e!important;
}
body[data-page="recruit"] .btn-white{
  background:#fff!important;
  color:var(--c2)!important;
  border:1px solid rgba(0,91,172,.16);
}
body[data-page="recruit"] .btn-white:hover{
  color:#fff!important;
}
body[data-page="works"] .filter-wrap{
  background:rgba(248,249,251,.94)!important;
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line)!important;
}
body[data-page="works"] .wk-card{
  overflow:hidden;
}

body[data-page="works"] .wk-series{
  grid-column:1 / -1;
  padding:28px;
  background:linear-gradient(180deg, rgba(244,249,253,.96) 0%, rgba(255,255,255,.98) 100%)!important;
  border:1px solid rgba(142,218,255,.3)!important;
  box-shadow:0 22px 48px rgba(0,91,172,.08)!important;
}

body[data-page="works"] .wk-series.hidden{
  display:none!important;
}

body[data-page="works"] .wk-series-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  align-items:stretch;
}

body[data-page="works"] .wk-card.wk-linked{
  position:relative;
  overflow:visible;
  border-color:rgba(142,218,255,.42)!important;
  box-shadow:0 14px 30px rgba(0,91,172,.07)!important;
}

body[data-page="works"] .wk-card.wk-linked .wk-img-wrap::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:4px;
  background:linear-gradient(90deg, rgba(0,91,172,.92) 0%, rgba(142,218,255,.78) 100%);
}

@media (min-width:961px){
  body[data-page="works"] .wk-card.wk-linked:not(.wk-linked-end)::before{
    content:"";
    position:absolute;
    top:50%;
    right:-19px;
    width:20px;
    height:2px;
    background:linear-gradient(90deg, rgba(0,91,172,.72), rgba(142,218,255,.72));
    z-index:3;
  }

  body[data-page="works"] .wk-card.wk-linked:not(.wk-linked-end)::after{
    content:"";
    position:absolute;
    top:calc(50% - 4px);
    right:-19px;
    width:9px;
    height:9px;
    border-top:2px solid rgba(142,218,255,.9);
    border-right:2px solid rgba(142,218,255,.9);
    transform:rotate(45deg);
    z-index:3;
  }
}
body[data-page="works"] .works-count span{
  color:var(--c2)!important;
}
body[data-page="works"] .wk-scale,
body[data-page="works"] .wk-year{
  color:var(--c2)!important;
}

/* Top page should keep the original mood while shifting to a light theme. */
body[data-page="index"] #hdr{
  background:linear-gradient(180deg, rgba(8,17,29,.34), rgba(8,17,29,0))!important;
  border-bottom:1px solid transparent!important;
  box-shadow:none!important;
}
body[data-page="index"] #hdr.sc{
  background:rgba(248,249,251,.84)!important;
  border-bottom:1px solid rgba(255,255,255,.26)!important;
  box-shadow:0 16px 36px rgba(15,23,42,.12)!important;
  backdrop-filter:blur(16px);
}
body[data-page="index"] .hdr-nav a,
body[data-page="index"] .hdr-nav a.active,
body[data-page="index"] .hdr-tel,
body[data-page="index"] .hdr-tel span{
  color:rgba(255,255,255,.88)!important;
}
body[data-page="index"] .hdr-nav a,
body[data-page="index"] .hdr-nav a.active{
  font-size:12px!important;
  letter-spacing:.18em!important;
}
body[data-page="index"] .hdr-tel{
  font-size:12px!important;
}
body[data-page="index"] .hdr-tel span{
  font-size:10px!important;
}
body[data-page="index"] .hdr-nav a:hover{
  color:#ffffff!important;
}
body[data-page="index"] #hdr.sc .hdr-nav a,
body[data-page="index"] #hdr.sc .hdr-nav a.active,
body[data-page="index"] #hdr.sc .hdr-tel{
  color:var(--gray2)!important;
}
body[data-page="index"] #hdr.sc .hdr-tel span{
  color:var(--gray)!important;
}
body[data-page="index"] .lang-sw{
  border-color:rgba(255,255,255,.26)!important;
  background:rgba(255,255,255,.06)!important;
}
body[data-page="index"] .lang-sw button{
  background:transparent!important;
  color:rgba(255,255,255,.78)!important;
}
body[data-page="index"] .lang-sw button{
  font-size:11px!important;
  padding:6px 12px!important;
}
body[data-page="index"] .lang-sw button.on{
  background:var(--c1)!important;
  color:#fff!important;
}
body[data-page="index"] #hdr.sc .lang-sw{
  border-color:var(--line-strong)!important;
  background:rgba(255,255,255,.72)!important;
}
body[data-page="index"] #hdr.sc .lang-sw button{
  color:var(--gray)!important;
}
body[data-page="index"] .btn-gen{
  border-color:rgba(255,255,255,.38)!important;
  color:#ffffff!important;
  background:rgba(255,255,255,.06)!important;
}
body[data-page="index"] .btn-gen{
  font-size:11px!important;
  padding:12px 22px!important;
}
body[data-page="index"] .btn-gen:hover{
  background:rgba(255,255,255,.14)!important;
  border-color:rgba(255,255,255,.5)!important;
  color:#ffffff!important;
}
body[data-page="index"] #hdr.sc .btn-gen{
  border-color:rgba(0,91,172,.22)!important;
  color:var(--c2)!important;
  background:rgba(255,255,255,.72)!important;
}
body[data-page="index"] #hdr.sc .btn-gen:hover{
  background:var(--c2)!important;
  color:#fff!important;
}
body[data-page="index"] .hdr-ham span{
  background:#ffffff!important;
}
body[data-page="index"] #hdr.sc .hdr-ham span{
  background:var(--white)!important;
}
body[data-page="index"] .hdr-logo{
  position:relative;
  display:inline-flex;
  align-items:center;
  padding:8px 14px 8px 10px;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(8,17,29,.16), rgba(8,17,29,.06))!important;
  box-shadow:0 10px 24px rgba(8,17,29,.10);
  backdrop-filter:blur(6px);
}
body[data-page="index"] .hdr-logo svg{
  filter:drop-shadow(0 8px 18px rgba(8,17,29,.16));
}
body[data-page="index"] .hdr-logo svg [fill="#626a7c"]{
  fill:rgba(255,255,255,.78)!important;
}
body[data-page="index"] .hdr-logo svg [fill="#005bac"]{
  fill:#1a8fe0!important;
}
body[data-page="index"] .hdr-logo svg [fill="#00a1e9"]{
  fill:#39b5ff!important;
}
body[data-page="index"] #hdr.sc .hdr-logo{
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
body[data-page="index"] #hdr.sc .hdr-logo svg{
  filter:none!important;
}
body[data-page="index"] #hdr.sc .hdr-logo svg [fill="#626a7c"]{
  fill:#626a7c!important;
}
body[data-page="index"] #hdr.sc .hdr-logo svg [fill="#005bac"]{
  fill:#005bac!important;
}
body[data-page="index"] #hdr.sc .hdr-logo svg [fill="#00a1e9"]{
  fill:#00a1e9!important;
}
body[data-page="index"] .hero{
  background:#091321!important;
}
body[data-page="index"] .hero::after{
  content:none!important;
}
body[data-page="index"] .hero-bg-img{
  opacity:.82!important;
  filter:saturate(1.04) contrast(1.02);
}
body[data-page="index"] .hero-ov{
  display:block!important;
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(110deg, rgba(8,17,29,.76) 0%, rgba(8,17,29,.56) 36%, rgba(8,17,29,.14) 74%, rgba(8,17,29,.06) 100%),
    linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 28%, rgba(248,249,251,.22) 100%);
}
body[data-page="index"] .hero-ticker{
  color:rgba(255,255,255,.045)!important;
  text-shadow:none!important;
}
body[data-page="index"] .hero-cnt{
  background:none!important;
  backdrop-filter:none!important;
  border:none!important;
  box-shadow:none!important;
  padding:0 64px!important;
  max-width:1100px!important;
}
body[data-page="index"] .hero-ey-txt{
  color:rgba(255,255,255,.84)!important;
}
body[data-page="index"] .hero-h{
  color:#ffffff!important;
  text-shadow:0 14px 34px rgba(8,17,29,.28);
}
body[data-page="index"] .hero-h em{
  color:#8edaff!important;
}
body[data-page="index"] .hero-sub{
  color:rgba(255,255,255,.74)!important;
}
body[data-page="index"] .hero-scroll{
  color:rgba(255,255,255,.72)!important;
}
body[data-page="index"] .hero-scroll::after{
  background:linear-gradient(to bottom, rgba(255,255,255,.74), transparent)!important;
}
body[data-page="index"] .cta-card{
  background:rgba(248,249,251,.12)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:none!important;
  backdrop-filter:blur(8px);
}
body[data-page="index"] .cta-card:hover{
  background:rgba(0,91,172,.28)!important;
  border-color:rgba(255,255,255,.42)!important;
  color:#fff!important;
}
body[data-page="index"] .cta-lbl{
  color:#8edaff!important;
}
body[data-page="index"] .cta-ttl{
  color:#ffffff!important;
}
body[data-page="index"] .cta-dsc{
  color:rgba(255,255,255,.72)!important;
}
body[data-page="index"] .cta-lnk{
  color:#ffffff!important;
}
body[data-page="index"] .pb{
  background:var(--brand-grad)!important;
  color:#ffffff!important;
  box-shadow:0 20px 42px rgba(0,91,172,.18);
}
body[data-page="index"] .pb-ey{
  color:rgba(255,255,255,.68)!important;
}
body[data-page="index"] .pb-sub{
  color:rgba(255,255,255,.82)!important;
}
body[data-page="index"] .pb-btn{
  background:rgba(255,255,255,.96)!important;
  color:var(--c2)!important;
}
body[data-page="index"] .pb-btn:hover{
  background:#ffffff!important;
}
body[data-page="index"] .wk-banner,
body[data-page="index"] .num-bg{
  background:var(--brand-grad)!important;
}
body[data-page="index"] .wk-banner{
  box-shadow:0 20px 42px rgba(0,91,172,.16);
}
body[data-page="index"] .num-bg{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14);
}
body[data-page="index"] .wk-desc,
body[data-page="index"] .wk-banner .jp-t,
body[data-page="index"] .wk-banner .en-t{
  color:rgba(255,255,255,.86)!important;
}
body[data-page="index"] .num-bg .sec-ey-l{
  background:rgba(255,255,255,.26)!important;
}
body[data-page="index"] .num-bg .sec-ey-t,
body[data-page="index"] .num-bg .sec-ey-n{
  color:rgba(255,255,255,.8)!important;
}

body[data-page="index"]{
  --ix-surface:linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,248,253,.94));
  --ix-surface-blue:linear-gradient(180deg, #f6fbff 0%, #edf6ff 100%);
  --ix-border:rgba(0,91,172,.12);
  --ix-border-strong:rgba(0,91,172,.24);
  --ix-shadow-soft:0 24px 60px rgba(15,23,42,.10);
  --ix-shadow-deep:0 34px 90px rgba(15,23,42,.16);
  --ix-shell-shadow:0 22px 50px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.8);
  --ix-radius-xl:34px;
  --ix-radius-lg:28px;
  --ix-radius-md:22px;
}
body[data-page="index"] .hero{
  height:clamp(600px, calc(100svh - 112px), 740px);
  min-height:600px;
  padding-bottom:72px!important;
  isolation:isolate;
}
body[data-page="index"] #pcanvas{
  opacity:.72;
  mix-blend-mode:screen;
}
body[data-page="index"] .hero-bg-img{
  opacity:.88!important;
  filter:saturate(1.04) contrast(1.02) brightness(.98);
}
body[data-page="index"] .hero-ov{
  background:
    radial-gradient(circle at 18% 18%, rgba(142,218,255,.08), transparent 30%),
    radial-gradient(circle at 82% 22%, rgba(0,91,172,.12), transparent 34%),
    linear-gradient(112deg, rgba(8,17,29,.28) 0%, rgba(8,17,29,.16) 34%, rgba(8,17,29,.04) 70%, rgba(8,17,29,.02) 100%),
    linear-gradient(180deg, rgba(255,255,255,.03) 0%, rgba(255,255,255,0) 28%, rgba(248,249,251,.08) 100%)!important;
  animation:ixHeroDrift 18s ease-in-out infinite alternate;
}
body[data-page="index"] .hero-ticker{
  top:auto!important;
  bottom:18px!important;
  left:0!important;
  color:rgba(255,255,255,.045)!important;
  font-size:clamp(62px, 13vw, 156px)!important;
  line-height:1!important;
  text-shadow:none!important;
}
body[data-page="index"] .hero-cnt{
  max-width:1220px!important;
}
body[data-page="index"] .hero-ey{
  margin-bottom:28px;
  transform:translateY(-18px);
}
body[data-page="index"] .hero-ey-txt{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:0;
  border:none;
  border-radius:0;
  background:none;
  backdrop-filter:none;
}
body[data-page="index"] .hero-h{
  font-size:clamp(36px,5.55vw,74px)!important;
  line-height:1.18!important;
  letter-spacing:.02em!important;
  max-width:1080px;
  margin-bottom:18px!important;
  text-wrap:balance;
  transform:translateY(-18px);
}
body[data-page="index"] .hero-sub{
  max-width:640px;
  font-size:14px;
  letter-spacing:.32em!important;
  margin-bottom:38px!important;
  transform:translateY(-18px);
}
body[data-page="index"] .hero-ctas{
  max-width:640px!important;
  gap:16px!important;
}
body[data-page="index"] .cta-card{
  border-radius:18px;
  padding:22px 20px 20px;
  background:rgba(248,249,251,.12)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:none!important;
  backdrop-filter:blur(12px);
}
body[data-page="index"] .cta-lbl{
  font-size:10px!important;
  margin-bottom:6px!important;
}
body[data-page="index"] .cta-ttl{
  font-size:14px!important;
  margin-bottom:4px!important;
}
body[data-page="index"] .cta-dsc{
  font-size:12px!important;
  line-height:1.65!important;
  margin-bottom:10px!important;
}
body[data-page="index"] .cta-lnk{
  font-size:11px!important;
}
body[data-page="index"] .cta-card::before{
  height:3px;
  background:linear-gradient(90deg, rgba(255,255,255,.82), rgba(142,218,255,.95))!important;
  opacity:.95;
}
body[data-page="index"] .cta-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.24), transparent 38%, transparent 64%, rgba(255,255,255,.08));
  opacity:.65;
  pointer-events:none;
}
body[data-page="index"] .cta-card:hover{
  transform:translateY(-6px)!important;
  background:rgba(0,91,172,.28)!important;
  border-color:rgba(255,255,255,.42)!important;
  color:#fff!important;
}
body[data-page="index"] .cta-lnk{
  display:inline-flex;
  align-items:center;
  gap:8px;
  opacity:.9;
}
body[data-page="index"] .cta-lnk::after{
  content:"\2192";
}
body[data-page="index"] .pb{
  width:min(calc(100% - 52px), 1220px);
  margin:-54px auto 34px;
  padding:32px 36px!important;
  border-radius:32px;
  border:1px solid rgba(255,255,255,.18);
  position:relative;
  z-index:4;
  overflow:hidden;
  box-shadow:var(--ix-shadow-deep)!important;
}
body[data-page="index"] .pb::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at right top, rgba(255,255,255,.24), transparent 36%),
    linear-gradient(120deg, transparent 0%, rgba(255,255,255,.08) 46%, transparent 100%);
  pointer-events:none;
}
body[data-page="index"] .pb-ttl{
  font-size:clamp(28px,4.05vw,48px)!important;
}
body[data-page="index"] .pb-btn{
  border-radius:999px;
  padding:14px 26px!important;
  box-shadow:0 12px 28px rgba(255,255,255,.16);
}
body[data-page="index"] .pb-btn{
  font-size:12px!important;
}
body[data-page="index"] .sec{
  position:relative;
  overflow:hidden;
  padding:118px 48px!important;
}
body[data-page="index"] .sec .si{
  position:relative;
  z-index:1;
}
body[data-page="index"] .sec::before{
  content:"";
  position:absolute;
  top:44px;
  left:48px;
  width:110px;
  height:1px;
  background:linear-gradient(90deg, rgba(0,91,172,.3), transparent);
  opacity:.9;
}
body[data-page="index"] .sec::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:38vw;
  height:38vw;
  background:radial-gradient(circle, rgba(0,161,233,.06), transparent 68%);
  pointer-events:none;
  opacity:.7;
}
body[data-page="index"] .sec-ey{
  margin-bottom:20px!important;
  gap:18px!important;
}
body[data-page="index"] .sec-ey-n{
  font-size:13px!important;
  letter-spacing:.28em!important;
  padding:8px 0;
}
body[data-page="index"] .sec-ey-l{
  max-width:72px!important;
  background:linear-gradient(90deg, rgba(0,91,172,.38), rgba(0,91,172,.08))!important;
}
body[data-page="index"] .sec-ey-t{
  font-size:12px!important;
  letter-spacing:.36em!important;
}
body[data-page="index"] .sec-h{
  font-size:clamp(34px,4.95vw,64px)!important;
  line-height:1.08!important;
  letter-spacing:-.03em!important;
  max-width:980px;
  text-wrap:balance;
}
body[data-page="index"] .pt-ttl,
body[data-page="index"] .own-ttl,
body[data-page="index"] .wk-cat-n,
body[data-page="index"] .rec-ttl{
  text-wrap:balance;
}
body.jp[data-page="index"] .wk-cat-e.jp-t{
  display:none!important;
}
body[data-page="index"] .sec-hj{
  font-size:clamp(16px,2.15vw,21px)!important;
  margin-top:10px!important;
  color:#68788d!important;
}
body[data-page="index"] .cred-item{
  font-size:16px!important;
  line-height:1.8!important;
}
body[data-page="index"] .cred-badge{
  font-size:15px!important;
}
body[data-page="index"] .wk-cat-n{
  font-size:16px!important;
  line-height:1.5!important;
}
body[data-page="index"] .wk-cat-e{
  font-size:13px!important;
  line-height:1.5!important;
}
body[data-page="index"] .wk-cat-v{
  font-size:66px!important;
}
body[data-page="index"] .wk-cat-u{
  font-size:20px!important;
}
body[data-page="index"] .svc-grid,
body[data-page="index"] .own-grid,
body[data-page="index"] .wk-cats,
body[data-page="index"] .cred-grid,
body[data-page="index"] .graph-grid,
body[data-page="index"] .acc-grid{
  background:transparent!important;
  gap:18px!important;
  margin-top:56px!important;
}
body[data-page="index"] .flow-steps{
  background:transparent!important;
  gap:18px!important;
  margin-top:56px!important;
}
body[data-page="index"] .rev-wrap{
  margin-top:56px!important;
  padding-bottom:8px;
}
body[data-page="index"] .rev-track{
  gap:22px!important;
}
body[data-page="index"] .svc-card,
body[data-page="index"] .own-card,
body[data-page="index"] .wk-cat,
body[data-page="index"] .cred-box,
body[data-page="index"] .graph-card,
body[data-page="index"] .acc-card,
body[data-page="index"] .rev-card,
body[data-page="index"] .flow-step{
  background:var(--ix-surface)!important;
  border:1px solid rgba(14,49,91,.08)!important;
  border-radius:var(--ix-radius-lg)!important;
  box-shadow:var(--ix-shell-shadow)!important;
}
body[data-page="index"] .svc-card,
body[data-page="index"] .own-card,
body[data-page="index"] .wk-cat,
body[data-page="index"] .rec-card,
body[data-page="index"] .acc-card{
  transition:transform .32s ease, box-shadow .32s ease, border-color .32s ease, background .32s ease!important;
}
body[data-page="index"] .svc-card{
  min-height:280px;
  padding:34px 28px 30px!important;
  overflow:hidden;
}
body[data-page="index"] .svc-card::before{
  height:4px!important;
  background:linear-gradient(90deg, var(--c2), var(--c1))!important;
  transform:scaleX(1)!important;
  opacity:.18;
}
body[data-page="index"] .svc-card::after{
  content:"";
  position:absolute;
  inset:auto -22px -24px auto;
  width:120px;
  height:120px;
  background:radial-gradient(circle, rgba(0,161,233,.18), transparent 65%);
  transition:transform .35s ease, opacity .35s ease;
  opacity:.55;
}
body[data-page="index"] .svc-card:hover::after{
  transform:scale(1.1);
  opacity:.95;
}
body[data-page="index"] .svc-num{
  font-size:54px!important;
  background:linear-gradient(180deg, var(--c2), var(--c1));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent!important;
  opacity:.95;
}
body[data-page="index"] .svc-icon{
  padding:10px;
  border-radius:18px;
  background:rgba(0,91,172,.06);
}
body[data-page="index"] .svc-card:hover .svc-icon{
  background:rgba(255,255,255,.12);
}
body[data-page="index"] .svc-ttl{
  font-size:20px!important;
  margin-bottom:8px!important;
}
body[data-page="index"] .svc-txt{
  font-size:13px!important;
  line-height:1.9!important;
}
body[data-page="index"] .two-col{
  gap:28px!important;
}
body[data-page="index"] .two-col > div:first-child{
  background:var(--ix-surface);
  border:1px solid var(--ix-border);
  border-radius:32px;
  padding:38px 34px;
  box-shadow:var(--ix-shadow-soft);
}
body[data-page="index"] .side-img{
  border-radius:34px;
  overflow:hidden;
  box-shadow:var(--ix-shadow-deep);
}
body[data-page="index"] .side-img::before{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:24px;
  z-index:1;
  pointer-events:none;
}
body[data-page="index"] .side-img::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 0%, rgba(8,17,29,.08) 100%);
  z-index:1;
  pointer-events:none;
}
body[data-page="index"] .side-img img{
  filter:none!important;
  transition:transform .8s ease, filter .8s ease;
}
body[data-page="index"] .side-img:hover img{
  transform:scale(1.04);
  filter:saturate(1.06);
}
body[data-page="index"] .pts{
  gap:12px!important;
}
body[data-page="index"] .pt{
  padding:20px 0!important;
}
body[data-page="index"] .pt-n{
  font-size:30px!important;
}
body[data-page="index"] .pt-ttl{
  font-size:20px!important;
  font-family:var(--fd);
}
body[data-page="index"] .pt-txt{
  font-size:13px!important;
}
body[data-page="index"] .wk-banner{
  border-radius:32px;
  padding:34px!important;
  border:1px solid rgba(255,255,255,.14);
  position:relative;
  overflow:hidden;
}
body[data-page="index"] .wk-banner::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(140deg, rgba(255,255,255,.18), transparent 34%, transparent 70%, rgba(255,255,255,.08));
  pointer-events:none;
}
body[data-page="index"] .wk-cats{
  margin-top:20px!important;
}
body[data-page="index"] .wk-cat{
  padding:26px 22px!important;
  border-radius:24px!important;
  position:relative;
  overflow:hidden;
}
body[data-page="index"] .wk-cat::after{
  content:"";
  position:absolute;
  inset:auto -24px -34px auto;
  width:90px;
  height:90px;
  background:radial-gradient(circle, rgba(0,161,233,.12), transparent 70%);
}
body[data-page="index"] .wk-cat:hover{
  transform:translateY(-4px);
  box-shadow:var(--ix-shadow-soft)!important;
}
body[data-page="index"] .wk-cat-n{
  color:#16202e!important;
}
body[data-page="index"] .wk-cat-e{
  color:#5c7087!important;
}
body[data-page="index"] .wk-cat-v{
  font-size:34px!important;
}
body[data-page="index"] .flow-step{
  padding:28px 22px!important;
  position:relative;
}
body[data-page="index"] .flow-step::after{
  content:none!important;
}
body[data-page="index"] .flow-step::before{
  content:"";
  position:absolute;
  top:0;
  left:22px;
  right:22px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--c2), var(--c1));
  opacity:.22;
}
body[data-page="index"] .flow-n{
  width:54px;
  height:54px;
  font-size:14px;
  box-shadow:0 12px 24px rgba(0,91,172,.18);
}
body[data-page="index"] .cred-box,
body[data-page="index"] .graph-card,
body[data-page="index"] .acc-card,
body[data-page="index"] .rev-card{
  position:relative;
  overflow:hidden;
}
body[data-page="index"] .cred-box::after,
body[data-page="index"] .graph-card::after,
body[data-page="index"] .acc-card::after,
body[data-page="index"] .rev-card::after{
  content:"";
  position:absolute;
  inset:auto -26px -26px auto;
  width:110px;
  height:110px;
  background:radial-gradient(circle, rgba(0,161,233,.10), transparent 68%);
  pointer-events:none;
}
body[data-page="index"] .cred-box,
body[data-page="index"] .graph-card,
body[data-page="index"] .acc-card{
  padding:30px 28px!important;
}
body[data-page="index"] .rev-card{
  flex:0 0 340px;
  min-height:320px;
  border-radius:28px!important;
  padding:28px!important;
}
body[data-page="index"] .rev-head{
  padding-bottom:16px;
  border-bottom:1px solid rgba(15,23,42,.08);
  margin-bottom:16px;
}
body[data-page="index"] .rev-stars{
  font-size:13px;
  letter-spacing:.12em;
}
body[data-page="index"] .rev-btn{
  border-radius:50%;
  background:rgba(255,255,255,.84);
  border-color:var(--ix-border)!important;
  box-shadow:var(--surface-shadow-sm);
}
body[data-page="index"] .rev-dot{
  width:8px;
  height:8px;
  background:rgba(0,91,172,.18)!important;
}
body[data-page="index"] .rev-dot.on{
  width:26px;
  background:linear-gradient(90deg, var(--c2), var(--c1))!important;
}
body[data-page="index"] .num-bg{
  padding:48px 0!important;
  position:relative;
  overflow:hidden;
}
body[data-page="index"] .num-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.16), transparent 26%),
    linear-gradient(135deg, transparent 0%, rgba(255,255,255,.08) 52%, transparent 100%);
  pointer-events:none;
}
body[data-page="index"] .num-grid{
  max-width:900px!important;
  gap:18px;
  padding:0 48px;
}
body[data-page="index"] .num-item{
  background:rgba(255,255,255,.08)!important;
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:26px!important;
  border-right:none!important;
}
body[data-page="index"] .graph-wrap{
  height:220px;
}
body[data-page="index"] .rec-grid{
  background:transparent!important;
  gap:18px!important;
  margin-top:56px!important;
}
body[data-page="index"] .rec-card{
  background:var(--ix-surface-blue)!important;
  border:1px solid rgba(14,49,91,.08)!important;
  box-shadow:var(--ix-shell-shadow)!important;
}
body[data-page="index"] .rec-card:hover{
  box-shadow:var(--ix-shadow-soft)!important;
}
body[data-page="index"] .acc-card:hover,
body[data-page="index"] .own-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--ix-shadow-soft)!important;
}
body[data-page="index"] footer{
  background:linear-gradient(180deg, #eef6fd 0%, #f8fbff 100%)!important;
  padding-top:68px!important;
}
body[data-page="index"] .ft-inner{
  position:relative;
}
body[data-page="index"] .ft-inner::before{
  content:"";
  position:absolute;
  top:-30px;
  left:0;
  right:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(0,91,172,.16), transparent);
}
body[data-page="index"] .ft-top{
  gap:44px!important;
}
body[data-page="index"] .ft-links a{
  display:inline-flex;
  align-items:center;
  gap:10px;
}
body[data-page="index"] .ft-links a::before{
  content:"";
  width:14px;
  height:1px;
  background:rgba(0,91,172,.18);
  transition:width .2s ease, background .2s ease;
}
body[data-page="index"] .ft-links a:hover::before{
  width:22px;
  background:var(--c1);
}
body[data-page="index"] .side-cta{
  right:18px;
  gap:10px;
}
body[data-page="index"] .sc-btn{
  border-radius:18px 0 0 18px;
  box-shadow:0 18px 38px rgba(15,23,42,.18);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(10px);
}

body[data-page="index"] .sc-est{
  background:linear-gradient(180deg, rgba(0,91,172,.96) 0%, rgba(0,161,233,.78) 100%)!important;
  color:rgba(255,255,255,.9)!important;
}

body[data-page="index"] .sc-est:hover{
  background:linear-gradient(180deg, rgba(0,91,172,.98) 0%, rgba(0,161,233,.88) 100%)!important;
  color:rgba(255,255,255,.9)!important;
}

body[data-page="index"] .sc-con{
  background:linear-gradient(180deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,.05) 100%)!important;
  color:#16202e!important;
  border-right:none!important;
  text-shadow:none!important;
}

body[data-page="index"] .sc-con:hover{
  background:linear-gradient(180deg, rgba(255,255,255,.20) 0%, rgba(255,255,255,.08) 100%)!important;
  color:#0f172a!important;
}
@keyframes ixHeroDrift{
  0%{transform:scale(1) translate3d(0,0,0)}
  100%{transform:scale(1.03) translate3d(0,-10px,0)}
}

@media (max-width:960px){
  body[data-page="index"] .hero{
    height:clamp(560px, calc(100svh - 108px), 680px);
    min-height:560px;
    padding-bottom:68px!important;
  }
  body[data-page="index"] .pb{
    width:min(calc(100% - 32px), 1220px);
    margin:-38px auto 24px;
    padding:24px 22px!important;
  }
  body[data-page="index"] .sec{
    padding:92px 20px!important;
  }
  body[data-page="index"] .sec::before{
    left:20px;
    top:34px;
    width:84px;
  }
  body[data-page="index"] .two-col{
    gap:24px!important;
  }
  body[data-page="index"] .two-col > div:first-child{
    padding:30px 24px;
  }
  body[data-page="index"] .svc-grid,
  body[data-page="index"] .own-grid,
  body[data-page="index"] .wk-cats,
  body[data-page="index"] .cred-grid,
  body[data-page="index"] .graph-grid,
  body[data-page="index"] .acc-grid,
  body[data-page="index"] .flow-steps,
  body[data-page="index"] .rec-grid{
    gap:14px!important;
  }
  body[data-page="index"] .num-grid{
    padding:0 20px;
  }
}

@media (max-width:700px){
  body[data-page="index"] .hero-ey-txt{
    padding:8px 12px;
  }
  body[data-page="index"] .hero-h{
    font-size:clamp(30px,10vw,48px)!important;
  }
  body[data-page="index"] .hero-ctas{
    gap:14px!important;
  }
  body[data-page="index"] .cta-card{
    border-radius:22px;
  }
  body[data-page="index"] .svc-card,
  body[data-page="index"] .wk-cat,
  body[data-page="index"] .rev-card,
  body[data-page="index"] .rec-card,
  body[data-page="index"] .acc-card,
  body[data-page="index"] .graph-card,
  body[data-page="index"] .cred-box,
  body[data-page="index"] .flow-step{
    border-radius:22px!important;
  }
  body[data-page="index"] .num-grid{
    grid-template-columns:1fr!important;
  }
  body[data-page="index"] .num-item{
    padding:24px 18px;
  }
  body[data-page="index"] .wk-banner{
    border-radius:26px;
  }
  body[data-page="index"] .side-cta{
    right:10px;
  }
}

@media (max-width:768px){
  body[data-page="index"] .hero-cnt{
    padding:0 24px!important;
  }
}

@media (max-width:860px){
  #hdr{box-shadow:none}
  .page-hero,
  .cta-section,
  footer{box-shadow:none}
}

body[data-page="index"] .pb{
  width:100%!important;
  margin:0!important;
  border-radius:0!important;
  border-left:none!important;
  border-right:none!important;
}

@media (min-width:861px){
  body[data-page="index"] #contractor .two-col,
  body[data-page="index"] #owner .two-col{
    grid-template-columns:minmax(0,1.28fr) minmax(0,.72fr)!important;
    align-items:stretch!important;
  }

  body[data-page="index"] #contractor .two-col > div:first-child,
  body[data-page="index"] #owner .two-col > div:first-child{
    height:100%;
    display:flex;
    flex-direction:column;
    border-radius:0!important;
    min-height:760px;
    padding:52px 44px 42px!important;
  }

  body[data-page="index"] #contractor .cta-row,
  body[data-page="index"] #owner .cta-row{
    margin-top:auto!important;
  }

  body[data-page="index"] #contractor .side-img,
  body[data-page="index"] #owner .side-img{
    height:100%;
    min-height:760px;
    border-radius:0!important;
    box-shadow:var(--ix-shadow-soft)!important;
  }

  body[data-page="index"] #contractor .side-img::before,
  body[data-page="index"] #owner .side-img::before{
    content:none!important;
  }

  body[data-page="index"] #contractor .side-img img,
  body[data-page="index"] #owner .side-img img{
    width:100%;
    height:100%;
    aspect-ratio:auto;
    object-fit:cover;
  }

  body[data-page="index"] #contractor .sec-h,
  body[data-page="index"] #owner .sec-h{
    max-width:100%!important;
    font-size:clamp(26px,3.8vw,50px)!important;
    line-height:1.18!important;
  }
}

body[data-page="index"] #credentials .cred-box{
  border-radius:0!important;
}

body[data-page="index"] #credentials .cred-box::after{
  content:none!important;
}

body[data-page="index"] #owner .own-card{
  border-radius:0!important;
}

body[data-page="index"] .num-bg{
  background:var(--brand-grad)!important;
  padding:0!important;
  box-shadow:0 20px 42px rgba(0,91,172,.16)!important;
  overflow:visible!important;
}

body[data-page="index"] .num-bg::after{
  content:""!important;
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.16), transparent 26%),
    linear-gradient(135deg, transparent 0%, rgba(255,255,255,.08) 52%, transparent 100%);
  pointer-events:none;
}

body[data-page="index"] .num-grid{
  max-width:700px!important;
  gap:0!important;
  padding:0!important;
}

body[data-page="index"] .num-item{
  background:transparent!important;
  backdrop-filter:none!important;
  border:none!important;
  border-right:1px solid rgba(255,255,255,.15)!important;
  border-radius:0!important;
  padding:28px 20px!important;
}

body[data-page="index"] .num-item:last-child{
  border-right:none!important;
}

body[data-page="index"] .ft-offices{
  gap:8px!important;
}

body[data-page="index"] .ft-offices li{
  list-style:none;
}

body[data-page="index"] .ft-office-row{
  display:inline-flex!important;
  align-items:center;
  gap:10px;
  line-height:1.6;
  font-family:var(--fb);
}

body[data-page="index"] .ft-office-row::before{
  content:"";
  width:14px;
  height:1px;
  flex:0 0 14px;
  background:rgba(0,91,172,.24)!important;
}

body[data-page="index"] .ft-office-label{
  font-size:10px;
  color:rgba(0,0,0,.42)!important;
  margin-top:8px;
  letter-spacing:.04em;
}

body[data-page="index"] .ft-offices li:first-child .ft-office-label{
  margin-top:0;
}

body[data-page="index"] .ft-office-text{
  font-size:11px;
  color:rgba(0,0,0,.52)!important;
}

@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
}

/* Sub pages: align with the refreshed index without rewriting each HTML file. */
body:not([data-page="index"]){
  --sub-shell:linear-gradient(180deg, rgba(255,255,255,.94) 0%, rgba(245,249,253,.90) 100%);
  --sub-shell-strong:linear-gradient(180deg, #ffffff 0%, #eef5fb 100%);
  --sub-blue-soft:linear-gradient(180deg, #f5fbff 0%, #ebf4fd 100%);
  --sub-blue-band:linear-gradient(128deg, #005bac 0%, #0c72c6 46%, #00a1e9 100%);
  --sub-border:rgba(0,91,172,.12);
  --sub-border-strong:rgba(0,91,172,.24);
  --sub-shadow:0 26px 70px rgba(15,23,42,.10);
  --sub-shadow-sm:0 16px 34px rgba(15,23,42,.08);
}

body:not([data-page="index"]) #hdr{
  background:linear-gradient(180deg, rgba(8,17,29,.34), rgba(8,17,29,0))!important;
  border-bottom:1px solid transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}

body:not([data-page="index"]) #hdr.sc{
  background:rgba(248,249,251,.84)!important;
  border-bottom:1px solid rgba(255,255,255,.26)!important;
  box-shadow:0 16px 36px rgba(15,23,42,.12)!important;
  backdrop-filter:blur(16px)!important;
}

body:not([data-page="index"]) #hdr .hdr-nav a,
body:not([data-page="index"]) #hdr .hdr-nav a.active{
  color:rgba(255,255,255,.88)!important;
}
body:not([data-page="index"]) #hdr .hdr-nav a,
body:not([data-page="index"]) #hdr .hdr-nav a.active{
  font-size:12px!important;
  letter-spacing:.18em!important;
}

body:not([data-page="index"]) #hdr .hdr-nav a:hover{
  color:#ffffff!important;
}

body:not([data-page="index"]) #hdr.sc .hdr-nav a,
body:not([data-page="index"]) #hdr.sc .hdr-nav a.active{
  color:var(--gray2)!important;
}

body:not([data-page="index"]) #hdr .lang-sw{
  border-color:rgba(255,255,255,.26)!important;
  background:rgba(255,255,255,.06)!important;
}

body:not([data-page="index"]) #hdr .lang-sw button{
  background:transparent!important;
  color:rgba(255,255,255,.78)!important;
  border-color:rgba(255,255,255,.2)!important;
}
body:not([data-page="index"]) #hdr .lang-sw button{
  font-size:11px!important;
  padding:6px 12px!important;
}

body:not([data-page="index"]) #hdr .lang-sw button.on{
  background:var(--c1)!important;
  border-color:var(--c1)!important;
  color:#fff!important;
}

body:not([data-page="index"]) #hdr.sc .lang-sw{
  border-color:var(--line-strong)!important;
  background:rgba(255,255,255,.72)!important;
}

body:not([data-page="index"]) #hdr.sc .lang-sw button{
  color:var(--gray)!important;
  border-color:var(--line-strong)!important;
}

body:not([data-page="index"]) #hdr .hdr-ham span{
  background:#ffffff!important;
}

body:not([data-page="index"]) #hdr.sc .hdr-ham span{
  background:var(--white)!important;
}

body:not([data-page="index"]) .page-hero{
  padding:138px 48px 78px!important;
  height:380px;
  min-height:380px;
  position:relative;
  overflow:hidden;
  background:#091321!important;
  display:flex;
  align-items:flex-end;
}

body:not([data-page="index"]) .page-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 18%, rgba(142,218,255,.16), transparent 30%),
    radial-gradient(circle at 82% 20%, rgba(0,91,172,.24), transparent 36%),
    linear-gradient(110deg, rgba(8,17,29,.78) 0%, rgba(8,17,29,.58) 38%, rgba(8,17,29,.18) 74%, rgba(8,17,29,.08) 100%),
    linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 28%, rgba(248,249,251,.18) 100%);
  pointer-events:none;
}

body:not([data-page="index"]) .ph-bg{
  opacity:.46!important;
  filter:saturate(1.04) contrast(1.03) brightness(.9);
}

body:not([data-page="index"]) .page-hero-inner{
  position:relative;
  z-index:1;
  width:100%;
  max-width:1160px!important;
  background:none;
  border:none;
  box-shadow:none;
  backdrop-filter:none;
  padding:0;
}

body[data-page="privacy"] .page-hero-inner{
  max-width:860px!important;
}

body:not([data-page="index"]) .page-ey,
body:not([data-page="index"]) .page-eyebrow{
  color:#8edaff!important;
}

body:not([data-page="index"]) .page-ey::before,
body:not([data-page="index"]) .page-eyebrow::before{
  background:linear-gradient(90deg, rgba(142,218,255,.92), rgba(142,218,255,.18))!important;
}

body:not([data-page="index"]) .page-h,
body:not([data-page="index"]) .sec-h,
body:not([data-page="index"]) .cta-h,
body:not([data-page="index"]) .policy-h,
body:not([data-page="index"]) .catch-jp{
  color:#152030!important;
  letter-spacing:.03em!important;
}

body:not([data-page="index"]) .page-h,
body:not([data-page="index"]) .catch-jp{
  font-size:clamp(42px,5.45vw,72px)!important;
  line-height:1.12!important;
}

body:not([data-page="index"]) .sec-h,
body:not([data-page="index"]) .cta-h,
body:not([data-page="index"]) .policy-h{
  font-size:clamp(34px,4.65vw,58px)!important;
  line-height:1.12!important;
}

body:not([data-page="index"]) .page-sub,
body:not([data-page="index"]) .sec-sub,
body:not([data-page="index"]) .policy-p,
body:not([data-page="index"]) .greet-txt,
body:not([data-page="index"]) .updated{
  color:#48576a!important;
}

body:not([data-page="index"]) .page-sub,
body:not([data-page="index"]) .sec-sub,
body:not([data-page="index"]) .policy-p,
body:not([data-page="index"]) .updated{
  font-size:16px!important;
  line-height:1.9!important;
}

body:not([data-page="index"]) .greet-txt,
body:not([data-page="index"]) .rev-txt,
body:not([data-page="index"]) .faq-a,
body:not([data-page="index"]) .flow-txt,
body:not([data-page="index"]) .info-card p,
body:not([data-page="index"]) .lic-detail{
  font-size:16px!important;
  line-height:1.9!important;
}

body:not([data-page="index"]) .page-hero .page-h,
body:not([data-page="index"]) .page-hero .catch-jp{
  color:#ffffff!important;
  text-shadow:0 14px 34px rgba(8,17,29,.28);
}

body:not([data-page="index"]) .page-hero .page-sub{
  color:rgba(255,255,255,.74)!important;
  max-width:720px;
}

body:not([data-page="index"]) .cta-section{
  background:linear-gradient(180deg, #edf5fc 0%, #f7fafc 100%)!important;
  border-top:1px solid rgba(15,23,42,.08)!important;
}

body:not([data-page="index"]) .cta-inner{
  max-width:1040px;
  margin:0 auto;
  padding:40px 44px;
  background:var(--sub-blue-band);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 26px 64px rgba(0,91,172,.18);
}

body:not([data-page="index"]) .cta-ey,
body:not([data-page="index"]) .cta-inner [style*="color:var(--c1)"]{
  color:rgba(255,255,255,.76)!important;
}

body:not([data-page="index"]) .cta-sub,
body:not([data-page="index"]) .rec-cta-sub{
  color:rgba(255,255,255,.86)!important;
}

body:not([data-page="index"]) .cta-inner .cta-h,
body[data-page="recruit"] .rec-cta-h{
  color:#ffffff!important;
}

body:not([data-page="index"]) .btn-p,
body:not([data-page="index"]) .btn-white,
body:not([data-page="index"]) .est-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:50px;
  padding:0 28px;
  background:#fff!important;
  color:var(--c2)!important;
  border:1px solid rgba(255,255,255,.38)!important;
  box-shadow:0 14px 30px rgba(0,32,71,.14);
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease;
}

body:not([data-page="index"]) .btn-p:hover,
body:not([data-page="index"]) .btn-white:hover,
body:not([data-page="index"]) .est-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 40px rgba(0,32,71,.18);
}

body:not([data-page="index"]) footer{
  background:#f8f9fb!important;
}

body:not([data-page="index"]) .ft-top{
  gap:48px!important;
}

body:not([data-page="index"]) .ft-col-t{
  display:flex;
  align-items:center;
  gap:12px;
  color:#5f6877!important;
}

body:not([data-page="index"]) .ft-col-t::before{
  content:"";
  width:18px;
  height:1px;
  flex:0 0 18px;
  background:rgba(0,91,172,.24);
}

body:not([data-page="index"]) .ft-top > div:last-child .ft-links{
  gap:6px!important;
}

body:not([data-page="index"]) .ft-top > div:last-child .ft-links li{
  color:#657286!important;
  font-size:11px!important;
  pointer-events:none;
}

body:not([data-page="index"]) .ft-top > div:last-child .ft-links li[style*="font-size:10px"]{
  color:#7d8797!important;
  font-size:10px!important;
  margin-top:10px!important;
  letter-spacing:.04em;
}

body:not([data-page="index"]) .ft-top > div:last-child .ft-links li:first-child,
body:not([data-page="index"]) .ft-top > div:last-child .ft-links li:nth-child(2){
  margin-top:0!important;
}

body:not([data-page="index"]) .side-btn{
  background:linear-gradient(180deg, rgba(0,91,172,.96) 0%, rgba(0,161,233,.78) 100%)!important;
  color:rgba(255,255,255,.9)!important;
  border-radius:18px 0 0 18px;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 18px 38px rgba(15,23,42,.18)!important;
  backdrop-filter:blur(10px);
}

body:not([data-page="index"]) .side-cta{
  right:18px;
  gap:10px;
}

body:not([data-page="index"]) .side-btn.accent{
  background:linear-gradient(180deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,.05) 100%)!important;
  color:#16202e!important;
  border-left:none;
  text-shadow:none!important;
}

body:not([data-page="index"]) .side-btn:hover{
  background:linear-gradient(180deg, rgba(0,91,172,.98) 0%, rgba(0,161,233,.88) 100%)!important;
  color:rgba(255,255,255,.9)!important;
}

body:not([data-page="index"]) .side-btn.accent:hover{
  background:linear-gradient(180deg, rgba(255,255,255,.20) 0%, rgba(255,255,255,.08) 100%)!important;
  color:#0f172a!important;
}

body[data-page="company"] .sec{
  position:relative;
  overflow:hidden;
  padding:98px 48px;
}

body[data-page="company"] .sec:nth-of-type(odd){
  background:
    radial-gradient(circle at right top, rgba(0,161,233,.05), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%)!important;
}

body[data-page="company"] .sec:nth-of-type(even){
  background:
    radial-gradient(circle at 10% 10%, rgba(142,218,255,.12), transparent 28%),
    linear-gradient(180deg, #f3f8fd 0%, #edf5fb 100%)!important;
}

body[data-page="company"] .sec-inner{
  max-width:1180px;
  margin:0 auto;
  position:relative;
  z-index:1;
}

body[data-page="company"] .sec::before{
  content:"";
  position:absolute;
  top:40px;
  left:48px;
  width:112px;
  height:1px;
  background:linear-gradient(90deg, rgba(0,91,172,.3), transparent);
  opacity:.9;
}

body[data-page="company"] .page-hero{
  height:400px;
  min-height:400px;
  padding-bottom:86px!important;
}

body[data-page="company"] .page-hero::after{
  background:
    radial-gradient(circle at 12% 18%, rgba(142,218,255,.2), transparent 28%),
    radial-gradient(circle at 84% 18%, rgba(0,91,172,.28), transparent 34%),
    linear-gradient(110deg, rgba(8,17,29,.78) 0%, rgba(8,17,29,.56) 38%, rgba(8,17,29,.14) 76%, rgba(8,17,29,.08) 100%),
    linear-gradient(180deg, rgba(255,255,255,.09) 0%, rgba(255,255,255,0) 28%, rgba(248,249,251,.16) 100%);
}

body[data-page="company"] .page-hero-inner{
  max-width:1180px!important;
}

body[data-page="company"] .page-ey{
  margin-bottom:18px!important;
}

body[data-page="company"] .page-sub{
  max-width:760px!important;
}

body[data-page="company"] .sec-ey{
  margin-bottom:12px!important;
  gap:14px!important;
}

body[data-page="company"] .sec-ey::before{
  width:42px;
}

body[data-page="company"] .sec-h{
  margin-bottom:40px!important;
}

body[data-page="company"] .ov-table{
  overflow:hidden;
  border-collapse:separate;
  border-spacing:0;
  background:linear-gradient(180deg, #ffffff 0%, #fbfdff 100%)!important;
  border:1px solid rgba(142,218,255,.28)!important;
  border-top:4px solid rgba(142,218,255,.82)!important;
  border-radius:30px;
  box-shadow:0 24px 54px rgba(15,23,42,.06);
}

body[data-page="company"] .ov-table th{
  background:linear-gradient(180deg, #f8fbff 0%, #eef6fc 100%)!important;
  color:#152030!important;
  width:24%;
  padding:26px 30px 26px 28px!important;
  border-bottom:1px solid rgba(15,23,42,.08)!important;
}

body[data-page="company"] .ov-table td{
  color:#4a586b!important;
  background:rgba(255,255,255,.9)!important;
  padding:26px 28px 26px 28px!important;
  border-bottom:1px solid rgba(15,23,42,.08)!important;
}

body[data-page="company"] .ov-table tr:last-child th,
body[data-page="company"] .ov-table tr:last-child td{
  border-bottom:none!important;
}

body[data-page="company"] .ov-table tr:hover th{
  background:linear-gradient(180deg, #f7fbff 0%, #eef6fc 100%)!important;
}

body[data-page="company"] .ov-table tr:hover td{
  background:rgba(255,255,255,.9)!important;
}

body[data-page="company"] .ov-table th .jp-t,
body[data-page="company"] .ov-table th .en-t{
  font-size:13px!important;
  letter-spacing:.14em!important;
}

body[data-page="company"] .ov-table td{
  font-size:15px!important;
  line-height:1.9!important;
}

body[data-page="company"] .ov-table td a{
  color:var(--c2)!important;
  text-decoration:none!important;
  border-bottom:1px solid rgba(0,91,172,.24);
}

body[data-page="company"] .area-grid,
body[data-page="company"] .lic-grid,
body[data-page="company"] .access-grid{
  gap:24px!important;
}

body[data-page="company"] .area-card,
body[data-page="company"] .lic-card,
body[data-page="company"] .acc-card{
  background:linear-gradient(180deg, #ffffff 0%, #f8fbff 100%)!important;
  border:1px solid rgba(142,218,255,.24)!important;
  border-radius:28px!important;
  box-shadow:0 18px 42px rgba(15,23,42,.06)!important;
  overflow:hidden;
}

body[data-page="company"] .area-label,
body[data-page="company"] .lic-num,
body[data-page="company"] .acc-label{
  color:var(--c2)!important;
}

body[data-page="company"] .area-name,
body[data-page="company"] .lic-name,
body[data-page="company"] .acc-name{
  color:#152030!important;
}

body[data-page="company"] .area-list li,
body[data-page="company"] .lic-detail,
body[data-page="company"] .acc-addr{
  color:#546479!important;
}

body[data-page="company"] .acc-map-btn{
  border-radius:999px!important;
  padding:10px 18px!important;
}

body[data-page="company"] .acc-map-wrap{
  width:100%!important;
  aspect-ratio:1 / 1;
  padding-top:18px!important;
}

body[data-page="company"] .acc-map-wrap iframe{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
}

body[data-page="works"] .page-hero{
  padding-bottom:64px!important;
}

body[data-page="works"] .page-hero::after{
  background:
    linear-gradient(180deg, rgba(8,17,29,.58) 0%, rgba(8,17,29,.48) 52%, rgba(8,17,29,.44) 100%),
    linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,0) 30%, rgba(248,249,251,.12) 100%);
}

body[data-page="works"] .ph-bg{
  background-position:34% center!important;
}

body[data-page="works"] .page-nums{
  margin-top:30px!important;
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
}

body[data-page="works"] .page-num-v{
  color:var(--c1)!important;
}

body[data-page="works"] .page-num-l{
  color:rgba(255,255,255,.74)!important;
}

body[data-page="works"] .filter-wrap{
  top:66px;
  box-shadow:0 10px 26px rgba(15,23,42,.05);
}

body[data-page="works"] .works-section{
  background:
    linear-gradient(180deg, #ffffff 0%, #f4f8fc 100%)!important;
  padding:72px 48px 100px;
}

body[data-page="works"] .works-inner{
  max-width:1180px;
}

body[data-page="works"] .works-count-wrap{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px 22px;
  margin-bottom:28px;
  padding:0 0 18px;
  border-bottom:1px solid var(--sub-border);
}

body[data-page="works"] .works-grid{
  gap:24px!important;
  background:transparent!important;
}

body[data-page="works"] .flt-btn{
  background:rgba(255,255,255,.82)!important;
  border:1px solid rgba(0,161,233,.18)!important;
  color:#52657c!important;
}

body[data-page="works"] .flt-btn:hover{
  background:rgba(223,244,255,.82)!important;
  border-color:rgba(0,161,233,.38)!important;
  color:var(--c1)!important;
}

body[data-page="works"] .flt-btn.active{
  background:#def4ff!important;
  border-color:rgba(0,161,233,.42)!important;
  color:var(--c1)!important;
}

body[data-page="works"] .wk-card{
  border:1px solid var(--sub-border)!important;
  background:#fff!important;
}

body[data-page="works"] .wk-img-wrap{
  overflow:hidden;
}

body[data-page="works"] .wk-img{
  transition:transform .5s ease;
}

body[data-page="works"] .wk-card:hover .wk-img{
  transform:scale(1.04);
}

body[data-page="works"] .wk-body{
  padding:22px 22px 24px!important;
}

body[data-page="works"] .wk-badge{
  background:rgba(255,255,255,.92)!important;
  color:var(--c2)!important;
  border:1px solid rgba(0,91,172,.16);
  box-shadow:0 8px 18px rgba(15,23,42,.08);
}

body[data-page="philosophy"] .values-section,
body[data-page="philosophy"] .mv-section{
  background:var(--sub-blue-soft)!important;
  padding:82px 48px;
}

body[data-page="philosophy"] .greet-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 14% 20%, rgba(142,218,255,.18), transparent 26%),
    radial-gradient(circle at 88% 18%, rgba(0,91,172,.08), transparent 30%),
    linear-gradient(180deg, #f8fbfe 0%, #f4f8fb 100%)!important;
  padding:92px 48px;
}

body[data-page="philosophy"] .values-inner,
body[data-page="philosophy"] .greet-inner,
body[data-page="philosophy"] .mv-inner{
  max-width:1160px;
}

body[data-page="philosophy"] .greet-inner{
  position:relative;
  overflow:hidden;
  max-width:980px;
  padding:62px 68px 58px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(250,252,255,.98) 100%),
    linear-gradient(135deg, rgba(255,255,255,.94) 0%, rgba(243,248,253,.88) 100%);
  border:1px solid rgba(73,92,118,.12);
  box-shadow:
    0 34px 76px rgba(15,23,42,.08),
    0 10px 24px rgba(15,23,42,.04),
    inset 0 1px 0 rgba(255,255,255,.92);
}

body[data-page="philosophy"] .greet-inner::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:10px;
  background:linear-gradient(180deg, rgba(0,91,172,.92) 0%, rgba(142,218,255,.78) 100%);
}

body[data-page="philosophy"] .greet-inner::after{
  content:"";
  position:absolute;
  right:-92px;
  top:-110px;
  width:280px;
  height:280px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(142,218,255,.16) 0%, rgba(142,218,255,.06) 38%, transparent 70%);
  pointer-events:none;
}

body[data-page="philosophy"] .greet-inner .catch-jp,
body[data-page="philosophy"] .greet-inner .greet-name,
body[data-page="philosophy"] .greet-inner .greet-title{
  color:#152030!important;
}

body[data-page="philosophy"] .greet-inner .catch-jp{
  display:table;
  width:auto;
  max-width:max-content;
  margin:0 auto 36px;
  font-size:clamp(40px, 4.9vw, 62px)!important;
  letter-spacing:.02em!important;
  line-height:1.16!important;
  text-align:left;
  text-wrap:initial;
}

body[data-page="philosophy"] .page-hero .catch-jp{
  display:inline-block;
  max-width:none!important;
  text-wrap:initial;
}

body[data-page="philosophy"] .page-hero .catch-jp .ph-line,
body[data-page="philosophy"] .greet-inner .catch-jp .greet-msg-line{
  display:block;
  white-space:nowrap;
}

body[data-page="philosophy"] .greet-inner .sec-ey,
body[data-page="philosophy"] .greet-inner .sec-h,
body[data-page="philosophy"] .greet-inner .greet-txt,
body[data-page="philosophy"] .greet-inner .greet-name,
body[data-page="philosophy"] .greet-inner .greet-title{
  position:relative;
  z-index:1;
}

body[data-page="philosophy"] .greet-inner .sec-h{
  max-width:11ch;
  margin-bottom:36px;
  letter-spacing:.05em!important;
  line-height:1.18;
}

body[data-page="philosophy"] .greet-inner .sec-ey{
  justify-content:center;
  width:fit-content;
  margin:0 auto 20px;
  font-size:13px!important;
  letter-spacing:.22em!important;
  text-align:center;
}

body[data-page="philosophy"] .greet-inner .sec-ey::after{
  content:"";
  width:28px;
  height:1px;
  background:var(--c1);
}

body[data-page="philosophy"] .greet-inner .greet-txt{
  max-width:760px;
  padding-left:24px;
  color:#48576a!important;
  line-height:2.2!important;
  border-left:1px solid rgba(142,218,255,.46);
}

body[data-page="philosophy"] .greet-inner .greet-name{
  margin-top:46px;
  padding-top:22px;
  border-top:1px solid rgba(21,32,48,.1);
  letter-spacing:.14em;
}

body[data-page="philosophy"] .greet-inner .greet-title{
  color:#5b6a7d!important;
}

@media (max-width:768px){
  body[data-page="philosophy"] .greet-section{
    padding:76px 24px;
  }

  body[data-page="philosophy"] .greet-inner{
    padding:40px 18px 38px 22px;
  }

  body[data-page="philosophy"] .greet-inner::before{
    width:6px;
  }

  body[data-page="philosophy"] .greet-inner .sec-h{
    max-width:none;
    margin-bottom:28px;
  }

  body[data-page="philosophy"] .greet-inner .catch-jp{
    display:table;
    width:auto;
    max-width:max-content;
    margin:0 auto 28px;
    font-size:clamp(24px, 6.7vw, 31px)!important;
    line-height:1.22!important;
    letter-spacing:.02em!important;
    text-align:left;
    text-wrap:initial;
  }

  body[data-page="philosophy"] .greet-inner .sec-ey{
    font-size:12px!important;
    margin-bottom:18px;
  }

  body[data-page="philosophy"] .greet-inner .greet-txt{
    max-width:none;
    padding-left:16px;
    line-height:2.05!important;
  }
}

body[data-page="philosophy"] .val-grid,
body[data-page="philosophy"] .mv-inner{
  gap:24px!important;
}

body[data-page="philosophy"] .val-card,
body[data-page="philosophy"] .mv-card{
  background:var(--sub-shell)!important;
  border:1px solid var(--sub-border)!important;
  box-shadow:var(--sub-shadow-sm)!important;
}

body[data-page="philosophy"] .val-num,
body[data-page="philosophy"] .mv-label{
  color:var(--c2)!important;
}

body[data-page="philosophy"] .val-h,
body[data-page="philosophy"] .greet-name,
body[data-page="philosophy"] .greet-title{
  color:#152030!important;
}

body[data-page="estimate"] .step-nav{
  top:66px;
  background:rgba(248,249,251,.78)!important;
  border-bottom:1px solid var(--sub-border)!important;
  box-shadow:0 10px 26px rgba(15,23,42,.05);
}

body[data-page="estimate"] .step-nav-inner{
  max-width:1160px;
}

body[data-page="estimate"] .step-nav-btn{
  background:#fff!important;
  border:1px solid var(--sub-border)!important;
  color:#4f5f74!important;
  box-shadow:var(--sub-shadow-sm);
}

body[data-page="estimate"] .step-nav-btn.active{
  background:var(--sub-blue-band)!important;
  border-color:transparent!important;
  color:#fff!important;
}

body[data-page="estimate"] .estimate-section{
  padding:76px 48px 100px;
  background:
    linear-gradient(180deg, #ffffff 0%, #f3f8fd 100%)!important;
}

body[data-page="estimate"] .estimate-inner{
  max-width:1160px;
}

body[data-page="estimate"] .bldg-grid,
body[data-page="estimate"] .symptom-grid,
body[data-page="estimate"] .est-tabs{
  gap:18px!important;
}

body[data-page="estimate"] .bldg-btn,
body[data-page="estimate"] .symptom-btn,
body[data-page="estimate"] .est-tab{
  background:var(--sub-shell)!important;
  border:1px solid var(--sub-border)!important;
  box-shadow:var(--sub-shadow-sm);
}

body[data-page="estimate"] .bldg-btn.active,
body[data-page="estimate"] .symptom-btn.active,
body[data-page="estimate"] .est-tab.active{
  background:var(--sub-blue-band)!important;
  border-color:transparent!important;
  color:#fff!important;
}

body[data-page="estimate"] .result-box,
body[data-page="estimate"] .est-pane{
  background:var(--sub-shell)!important;
  border:1px solid var(--sub-border)!important;
  box-shadow:var(--sub-shadow);
}

body[data-page="estimate"] .est-result{
  border-top:1px solid var(--sub-border)!important;
}

body[data-page="estimate"] .calc-btn,
body[data-page="estimate"] .diag-btn,
body[data-page="estimate"] .next-btn{
  background:var(--sub-blue-band)!important;
  border:none!important;
  box-shadow:0 18px 36px rgba(0,91,172,.16);
}

body[data-page="contact"] .tab-section{
  padding:76px 48px 86px;
  background:#ffffff!important;
}

body[data-page="contact"] .tab-section-inner,
body[data-page="contact"] .faq-inner{
  max-width:1160px;
}

body[data-page="contact"] .tab-btns{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin:18px 0 30px;
}

body[data-page="contact"] .tab-btn{
  min-height:48px;
  padding:0 22px;
  box-shadow:var(--sub-shadow-sm);
  background:linear-gradient(180deg, rgba(245,251,255,.96) 0%, rgba(230,243,252,.92) 100%)!important;
  border:1px solid rgba(0,161,233,.18)!important;
  color:#4b617a!important;
}

body[data-page="contact"] .tab-pane{
  padding:34px 34px 30px!important;
  background:var(--sub-shell)!important;
}

body[data-page="contact"] .tab-btn:hover{
  background:linear-gradient(180deg, rgba(232,247,255,.98) 0%, rgba(215,238,252,.94) 100%)!important;
  border-color:rgba(0,161,233,.34)!important;
  color:var(--c2)!important;
}

body[data-page="contact"] .tab-btn.active{
  background:linear-gradient(180deg, rgba(0,91,172,.96) 0%, rgba(0,161,233,.82) 100%)!important;
  border-color:rgba(0,161,233,.28)!important;
  color:#fff!important;
  box-shadow:0 18px 34px rgba(0,91,172,.18)!important;
}

body[data-page="contact"] .form-row{
  gap:18px!important;
}

body[data-page="contact"] .copy-btn{
  background:var(--sub-blue-band)!important;
  box-shadow:0 18px 36px rgba(0,91,172,.16);
}

body[data-page="contact"] .faq-section{
  background:var(--sub-blue-soft)!important;
  padding:78px 48px 94px;
}

body[data-page="contact"] .faq-item{
  overflow:hidden;
}

body[data-page="contact"] .faq-q{
  background:#fff!important;
  cursor:default!important;
  user-select:text!important;
}

body[data-page="contact"] .faq-q:hover{
  background:#fff!important;
}

body[data-page="contact"] .faq-q-icon{
  display:none!important;
}

body[data-page="contact"] .faq-a{
  display:block!important;
}

body[data-page="contact"] .faq-item.open .faq-q{
  background:#fff!important;
}

body[data-page="privacy"] .content{
  padding:68px 48px 96px;
}

body[data-page="privacy"] .policy-section{
  margin-bottom:40px;
  padding:30px 32px;
  background:var(--sub-shell)!important;
  border:1px solid var(--sub-border)!important;
  box-shadow:var(--sub-shadow-sm);
}

body[data-page="privacy"] .policy-h{
  font-size:clamp(22px, 2.4vw, 30px)!important;
  line-height:1.3!important;
  letter-spacing:.03em!important;
  margin-bottom:18px!important;
}

body[data-page="privacy"] .contact-box{
  background:var(--sub-blue-soft)!important;
}

body[data-page="recruit"] .feat-section,
body[data-page="recruit"] .welfare-section{
  background:var(--sub-blue-soft)!important;
  padding:76px 48px;
}

body[data-page="recruit"] .jobs-section,
body[data-page="recruit"] .flow-section{
  background:#ffffff!important;
  padding:78px 48px 94px;
}

body[data-page="recruit"] .feat-inner,
body[data-page="recruit"] .jobs-inner,
body[data-page="recruit"] .welfare-inner,
body[data-page="recruit"] .flow-inner{
  max-width:1160px;
}

body[data-page="recruit"] .feat-grid,
body[data-page="recruit"] .job-grid,
body[data-page="recruit"] .welfare-grid{
  gap:24px!important;
  background:transparent!important;
}

body[data-page="recruit"] .feat-card,
body[data-page="recruit"] .job-card,
body[data-page="recruit"] .wf-card{
  background:var(--sub-shell)!important;
  border:1px solid var(--sub-border)!important;
  box-shadow:var(--sub-shadow-sm)!important;
}

body[data-page="recruit"] .job-salary{
  background:rgba(0,91,172,.06)!important;
  border-left-color:var(--c1)!important;
}

body[data-page="recruit"] .flow-steps{
  background:var(--sub-shell)!important;
  border:1px solid var(--sub-border)!important;
  box-shadow:var(--sub-shadow-sm)!important;
  padding:0 28px;
}

body[data-page="recruit"] .flow-step::before{
  left:18px!important;
  top:-24px!important;
  bottom:-24px!important;
  display:block!important;
}

body[data-page="recruit"] .flow-n{
  color:var(--c1)!important;
}

body[data-page="recruit"] .flow-step:first-child::before{
  top:50px!important;
}

body[data-page="recruit"] .flow-step:last-child::before{
  top:-24px!important;
  bottom:auto!important;
  height:74px!important;
}

body[data-page="recruit"] .rec-cta{
  background:linear-gradient(180deg, #eef6fd 0%, #f7fafc 100%)!important;
}

body[data-page="recruit"] .rec-cta-inner{
  padding:40px 44px;
  background:var(--sub-blue-band);
  box-shadow:0 26px 64px rgba(0,91,172,.18);
}

@media(max-width:960px){
  body:not([data-page="index"]) .page-hero,
  body[data-page="company"] .sec,
  body[data-page="works"] .works-section,
  body[data-page="philosophy"] .values-section,
  body[data-page="philosophy"] .greet-section,
  body[data-page="philosophy"] .mv-section,
  body[data-page="estimate"] .estimate-section,
  body[data-page="contact"] .tab-section,
  body[data-page="contact"] .faq-section,
  body[data-page="privacy"] .content,
  body[data-page="recruit"] .feat-section,
  body[data-page="recruit"] .jobs-section,
  body[data-page="recruit"] .welfare-section,
  body[data-page="recruit"] .flow-section{
    padding-left:24px!important;
    padding-right:24px!important;
  }

  body:not([data-page="index"]) .page-hero-inner,
  body:not([data-page="index"]) .cta-inner,
  body[data-page="contact"] .tab-pane,
  body[data-page="privacy"] .policy-section,
  body[data-page="recruit"] .rec-cta-inner{
    padding:28px 24px!important;
  }

  body[data-page="privacy"] .policy-h{
    font-size:clamp(18px, 5.2vw, 24px)!important;
    line-height:1.35!important;
  }

  body[data-page="works"] .works-grid,
  body[data-page="company"] .area-grid,
  body[data-page="company"] .lic-grid,
  body[data-page="company"] .access-grid,
  body[data-page="philosophy"] .val-grid,
  body[data-page="estimate"] .bldg-grid,
  body[data-page="estimate"] .symptom-grid,
  body[data-page="recruit"] .feat-grid,
  body[data-page="recruit"] .job-grid,
  body[data-page="recruit"] .welfare-grid{
    gap:16px!important;
  }
}

@media(max-width:700px){
  body:not([data-page="index"]) .page-hero{
    padding-top:118px!important;
    padding-bottom:54px!important;
    height:auto;
    min-height:280px;
  }

  body[data-page="works"] .works-count-wrap{
    align-items:flex-start;
  }

  body[data-page="contact"] .tab-btns{
    flex-direction:column;
  }

  body[data-page="estimate"] .step-nav-btn,
  body[data-page="contact"] .tab-btn{
    width:100%;
  }

  body[data-page="recruit"] .flow-steps{
    padding:0 16px;
  }

  body[data-page="recruit"] .flow-step::before{
    left:14px!important;
  }
}

@media (max-width:600px){
  body[data-page="works"] .wk-series{
    padding:18px 16px;
  }

  body[data-page="works"] .wk-series-grid{
    grid-template-columns:1fr;
    gap:14px;
  }

  body[data-page="works"] .wk-card.wk-linked{
    border-left:3px solid rgba(142,218,255,.78)!important;
  }

  body[data-page="works"] .wk-card.wk-linked:not(.wk-linked-end)::before{
    content:"";
    position:absolute;
    left:16px;
    bottom:-15px;
    width:2px;
    height:16px;
    background:linear-gradient(180deg, rgba(0,91,172,.72), rgba(142,218,255,.72));
    z-index:3;
  }
}

@media (max-width:768px){
  body[data-page="index"] #hdr{
    padding:0 10px 0 8px!important;
  }

  body[data-page="index"] .hdr-logo{
    margin-right:auto;
  }

  body[data-page="index"] .hdr-logo svg{
    height:28px!important;
  }

  body[data-page="index"] .hdr-right{
    gap:6px!important;
    flex-shrink:0;
  }

  body[data-page="index"] .lang-sw{
    transform:scale(.88);
    transform-origin:right center;
  }

  body[data-page="index"] .lang-sw button{
    font-size:10px!important;
    padding:5px 9px!important;
  }

  body[data-page="index"] .btn-gen{
    font-size:10px!important;
    padding:5px 9px!important;
    letter-spacing:.04em!important;
    white-space:nowrap;
    min-height:auto!important;
  }

  body[data-page="index"] .hdr-ham{
    display:flex!important;
    gap:4px!important;
    padding:6px 4px!important;
    margin-left:2px!important;
    flex-shrink:0;
  }

  body[data-page="index"] .hdr-ham span{
    width:20px!important;
    height:1.5px!important;
  }

  body[data-page="index"] .hero-bg-img,
  body:not([data-page="index"]) .ph-bg{
    background-size:cover!important;
    background-position:center center!important;
  }

  body[data-page="works"] .ph-bg{
    background-position:42% center!important;
  }

  body[data-page="index"] .hero{
    height:auto!important;
    min-height:0!important;
    padding-top:92px!important;
    padding-bottom:72px!important;
    display:block!important;
  }

  body[data-page="index"] .hero-cnt{
    padding:0 20px!important;
  }

  body[data-page="index"] .hero-ticker,
  body[data-page="index"] .hero-scroll{
    display:none!important;
  }

  body[data-page="index"] .hero-ey{
    margin-bottom:10px!important;
  }

  body[data-page="index"] .hero-ey-txt{
    font-size:11px!important;
    letter-spacing:.2em!important;
  }

  body[data-page="index"] .hero-h{
    font-size:clamp(26px, 8vw, 34px)!important;
    line-height:1.24!important;
    letter-spacing:.01em!important;
    max-width:none!important;
    margin-bottom:10px!important;
  }

  body[data-page="index"] .hero-sub{
    max-width:30ch!important;
    font-size:13px!important;
    letter-spacing:.18em!important;
    line-height:1.7!important;
    margin-bottom:50px!important;
  }

  body[data-page="index"] .hero-ctas{
    max-width:none!important;
    gap:14px!important;
  }

  body[data-page="index"] .cta-card{
    padding:22px 18px!important;
    border-radius:18px!important;
  }

  body[data-page="index"] .cta-ttl{
    font-size:15px!important;
    line-height:1.45!important;
  }

  body[data-page="index"] .cta-dsc{
    font-size:13px!important;
    line-height:1.7!important;
    margin-bottom:12px!important;
  }

  body[data-page="index"] .wk-cats{
    grid-template-columns:repeat(2, minmax(0, 1fr))!important;
    gap:14px!important;
    background:transparent!important;
  }

  body[data-page="index"] .wk-cat{
    padding:18px 16px 20px!important;
    border-radius:22px!important;
    min-height:0!important;
  }

  body[data-page="index"] .wk-cat-n{
    font-size:16px!important;
    line-height:1.45!important;
    letter-spacing:.02em!important;
    margin-bottom:6px!important;
  }

  body[data-page="index"] .wk-cat-e{
    font-size:11px!important;
    line-height:1.45!important;
    letter-spacing:.12em!important;
    margin-bottom:10px!important;
  }

  body[data-page="index"] .wk-cat-v{
    font-size:42px!important;
  }

  body:not([data-page="index"]) .page-hero .page-h,
  body:not([data-page="index"]) .page-hero .catch-jp{
    font-size:clamp(27px, 7.4vw, 36px)!important;
    line-height:1.18!important;
    letter-spacing:.02em!important;
    max-width:none!important;
    text-wrap:balance;
  }

  body[data-page="philosophy"] .page-hero .catch-jp{
    font-size:clamp(24px, 6.7vw, 31px)!important;
    line-height:1.22!important;
    text-wrap:initial;
  }

  body:not([data-page="index"]) .page-hero .page-sub{
    font-size:15px!important;
    line-height:1.78!important;
    max-width:34ch!important;
  }

  body[data-page="company"] .ov-table th{
    background:none!important;
    padding:8px 14px 6px!important;
    font-size:11px!important;
    letter-spacing:.1em!important;
    border-bottom:none!important;
  }

  body[data-page="company"] .ov-table td{
    padding:2px 14px 12px!important;
    font-size:14px!important;
    line-height:1.82!important;
    border-bottom:none!important;
  }

  body[data-page="company"] .ov-table tr{
    padding:14px 0!important;
    border-bottom:1px solid rgba(15,23,42,.08)!important;
  }

  body[data-page="company"] .ov-table tr:last-child{
    border-bottom:none!important;
  }

  body[data-page="company"] .ov-table th .jp-t,
  body[data-page="company"] .ov-table th .en-t{
    display:none!important;
    align-items:center;
    width:fit-content;
    padding:8px 14px!important;
    background:linear-gradient(180deg, #f5fbff 0%, #edf6ff 100%)!important;
    border:1px solid rgba(142,218,255,.38)!important;
    box-shadow:0 8px 18px rgba(15,23,42,.04);
    border-radius:999px;
  }

  body[data-page="company"] .ov-table tr:hover th{
    background:none!important;
  }

  body[data-page="company"] .ov-table tr:hover td{
    background:rgba(255,255,255,.9)!important;
  }

  body.jp[data-page="company"] .ov-table th .jp-t{
    display:inline-flex!important;
  }

  body.en[data-page="company"] .ov-table th .en-t{
    display:inline-flex!important;
  }

  body[data-page="contact"] .tab-btn,
  body[data-page="estimate"] .step-nav-btn{
    font-size:12px!important;
    letter-spacing:.08em!important;
    line-height:1.45!important;
    min-height:46px!important;
  }

  body[data-page="contact"] .tab-btns{
    gap:10px!important;
  }

  body[data-page="works"] .page-num-l{
    font-size:10px!important;
    letter-spacing:0!important;
    white-space:nowrap;
  }

  body[data-page="works"] .page-nums{
    display:grid!important;
    grid-template-columns:repeat(4, minmax(0, 1fr))!important;
    gap:14px!important;
    align-items:start!important;
  }

  body[data-page="works"] .page-nums > div{
    min-width:0;
  }
}

