:root{--ws-blue:#0054b8;--ws-blue-dark:#062b63;--ws-blue-deep:#00347f;--ws-blue-light:#eef7ff;--ws-blue-bg:#f4faff;--ws-orange:#f58220;--ws-green:#08a045;--ws-text:#17233c;--ws-muted:#516173;--ws-border:#d9e7f5;--ws-shadow:0 10px 28px rgba(11,62,120,.08)}
html{scroll-behavior:smooth}.ws-theme-body{margin:0;color:var(--ws-text)}.ws-site-container{width:min(1180px,calc(100% - 56px));margin-inline:auto}.ws-site-header *,.ws-site-footer *,.ws-mobile-fixed-cta *{box-sizing:border-box}.ws-site-header a,.ws-site-footer a,.ws-mobile-fixed-cta a{text-decoration:none}.ws-site-header{background:#fff;position:relative;z-index:1000;border-bottom:1px solid var(--ws-border);box-shadow:0 4px 18px rgba(11,62,120,.04)}.ws-header-top{background:var(--ws-blue-deep);color:#fff;font-size:13px}.ws-header-top__inner{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:20px}.ws-header-top__copy{margin:0;font-weight:700}.ws-header-top__badges{display:flex;gap:12px;margin:0;padding:0;list-style:none}.ws-header-top__badges li{position:relative;padding-left:15px;white-space:nowrap}.ws-header-top__badges li:before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;background:#55d689;border-radius:999px}.ws-header-main__inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}.ws-header-brand__link{display:flex;align-items:center;gap:12px;color:var(--ws-blue-dark)}.ws-header-brand__mark,.ws-footer-brand__mark{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--ws-blue),#2f91e8);color:#fff;font-weight:900;font-size:22px;box-shadow:var(--ws-shadow)}.ws-header-brand__text strong,.ws-footer-brand strong{display:block;font-size:24px;line-height:1.25;font-weight:900;letter-spacing:.02em}.ws-header-brand__text small,.ws-footer-brand small{display:block;color:var(--ws-muted);font-size:13px;font-weight:800;margin-top:2px}.ws-header-actions{display:flex;align-items:center;gap:10px}.ws-header-tel{min-width:196px;border:2px solid var(--ws-orange);border-radius:12px;color:var(--ws-orange);padding:9px 14px;text-align:center;line-height:1.2;background:#fff}.ws-header-tel span,.ws-header-tel small{display:block;font-size:12px;font-weight:800}.ws-header-tel strong{display:block;font-size:24px;font-weight:900;letter-spacing:.02em}.ws-header-line,.ws-header-estimate{min-height:54px;display:grid;place-items:center;border-radius:12px;color:#fff;font-weight:900;padding:0 18px}.ws-header-line{background:var(--ws-green)}.ws-header-estimate{background:var(--ws-orange)}.ws-header-menu-button{display:none;width:52px;height:52px;border:1px solid var(--ws-border);border-radius:12px;background:#fff;padding:8px;appearance:none}.ws-header-menu-button span{display:block;height:2px;background:var(--ws-blue-dark);margin:5px auto;width:24px;transition:.2s}.ws-header-menu-button em{display:block;font-style:normal;font-size:10px;font-weight:900;color:var(--ws-blue-dark);line-height:1}.ws-global-nav{background:#fff;border-top:1px solid var(--ws-border)}.ws-global-nav__list{display:flex;align-items:center;justify-content:center;gap:0;margin:0;padding:0;list-style:none}.ws-global-nav__list>li{position:relative}.ws-global-nav__list>li>a{display:block;padding:16px 26px;color:var(--ws-blue-dark);font-weight:900;font-size:15px}.ws-global-nav__list>li>a:hover{color:var(--ws-blue);background:var(--ws-blue-light)}.ws-global-nav__list .sub-menu{position:absolute;left:0;top:100%;min-width:220px;margin:0;padding:8px 0;list-style:none;background:#fff;border:1px solid var(--ws-border);border-radius:0 0 12px 12px;box-shadow:var(--ws-shadow);opacity:0;visibility:hidden;transform:translateY(6px);transition:.2s}.ws-global-nav__list li:hover>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}.ws-global-nav__list .sub-menu a{display:block;padding:10px 16px;color:var(--ws-blue-dark);font-weight:800}.ws-global-nav__list .sub-menu a:hover{background:var(--ws-blue-light);color:var(--ws-blue)}.ws-site-page{max-width:none!important;width:100%!important;padding:0!important}.ws-site-content{display:block!important;width:100%!important;padding:0!important}.ws-site-footer{background:#08254d;color:#fff;margin-top:0}.ws-footer-cta{background:linear-gradient(135deg,var(--ws-blue),var(--ws-blue-dark));padding:38px 0}.ws-footer-cta__inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;align-items:center}.ws-footer-cta__copy p{display:inline-block;background:#fff;color:var(--ws-blue);border-radius:999px;padding:4px 14px;margin:0 0 10px;font-size:14px;font-weight:900}.ws-footer-cta__copy h2{color:#fff;font-size:30px;line-height:1.35;margin:0 0 8px;font-weight:900}.ws-footer-cta__copy span{font-weight:800}.ws-footer-cta__actions{display:grid;grid-template-columns:1.1fr .8fr .8fr;gap:12px}.ws-footer-cta__actions a{min-height:78px;border-radius:12px;color:#fff;display:grid;place-items:center;text-align:center;font-weight:900;padding:10px 14px;line-height:1.35}.ws-footer-cta__actions small{display:block;font-size:12px;font-weight:800;opacity:.95}.ws-footer-tel{background:var(--ws-orange)}.ws-footer-tel strong{display:block;font-size:27px;letter-spacing:.02em}.ws-footer-line{background:var(--ws-green)}.ws-footer-mail{background:#fff!important;color:var(--ws-blue-dark)!important}.ws-footer-main{padding:46px 0;background:#071f43}.ws-footer-main__inner{display:grid;grid-template-columns:1.3fr .8fr .8fr 1fr;gap:34px}.ws-footer-brand__link{display:flex;align-items:center;gap:12px;color:#fff;margin-bottom:14px}.ws-footer-brand p,.ws-footer-area p{margin:0;color:#d6e6f7;line-height:1.9;font-size:14px}.ws-footer-nav-block h3,.ws-footer-area h3{font-size:17px;color:#fff;margin:0 0 14px;font-weight:900}.ws-footer-nav-block ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.ws-footer-nav-block a,.ws-footer-area a{color:#d6e6f7;font-weight:700;font-size:14px}.ws-footer-nav-block a:hover,.ws-footer-area a:hover{color:#fff;text-decoration:underline}.ws-footer-area a{display:inline-block;margin-top:12px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:8px 16px}.ws-footer-bottom{background:#041631;padding:16px 0}.ws-footer-bottom__inner{display:flex;align-items:center;justify-content:space-between;gap:18px;color:#c8d9ec}.ws-footer-bottom small{font-size:12px}.ws-page-top{color:#c8d9ec;font-size:12px;font-weight:800}.ws-mobile-fixed-cta{display:none}.admin-bar .ws-site-header{top:0}
@media(max-width:1024px){.ws-header-top__inner{justify-content:center}.ws-header-top__badges{display:none}.ws-header-main__inner{min-height:76px}.ws-header-brand__text strong{font-size:20px}.ws-header-tel,.ws-header-line,.ws-header-estimate{display:none}.ws-header-menu-button{display:block}.ws-global-nav{display:none;border-top:1px solid var(--ws-border);box-shadow:0 12px 24px rgba(11,62,120,.08)}.ws-global-nav.is-open{display:block}.ws-global-nav__list{display:block;padding:8px 0}.ws-global-nav__list>li>a{padding:14px 0;border-bottom:1px solid var(--ws-border)}.ws-global-nav__list .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:var(--ws-blue-light);border-radius:8px;margin:0 0 8px;padding:6px 12px}.ws-footer-cta__inner,.ws-footer-main__inner{grid-template-columns:1fr}.ws-footer-cta__actions{grid-template-columns:1fr 1fr 1fr}.ws-footer-bottom__inner{align-items:flex-start;flex-direction:column}.ws-header-menu-button.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.ws-header-menu-button.is-open span:nth-child(2){opacity:0}.ws-header-menu-button.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}}
@media(max-width:640px){.ws-site-container{width:min(100% - 24px,1180px)}.ws-header-top{font-size:12px}.ws-header-top__inner{min-height:30px}.ws-header-top__copy{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-header-brand__mark{width:42px;height:42px;border-radius:12px;font-size:18px}.ws-header-brand__text strong{font-size:17px}.ws-header-brand__text small{font-size:11px}.ws-header-main__inner{min-height:68px}.ws-header-menu-button{width:48px;height:48px}.ws-footer-cta{padding:30px 0}.ws-footer-cta__copy h2{font-size:23px}.ws-footer-cta__actions{grid-template-columns:1fr}.ws-footer-main{padding:36px 0 88px}.ws-footer-brand__link{align-items:flex-start}.ws-mobile-fixed-cta{position:fixed;left:0;right:0;bottom:0;z-index:1100;display:grid;grid-template-columns:1fr 1fr 1fr;background:#fff;border-top:1px solid var(--ws-border);box-shadow:0 -8px 22px rgba(0,0,0,.12);padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:8px}.ws-mobile-fixed-cta a{min-height:48px;border-radius:10px;color:#fff;display:grid;place-items:center;font-weight:900;font-size:14px}.ws-mobile-fixed-cta__tel{background:var(--ws-orange)}.ws-mobile-fixed-cta__line{background:var(--ws-green)}.ws-mobile-fixed-cta__mail{background:var(--ws-blue)}body{padding-bottom:0}}

/* v43: uploaded image placement for header/footer */
.ws-header-brand__logo{display:block;width:330px;max-width:100%;height:auto;object-fit:contain}
.ws-header-action__icon{display:block;width:24px!important;height:24px!important;object-fit:contain;margin:0 auto 2px}
.ws-header-tel{display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto auto;align-items:center;column-gap:4px}
.ws-header-tel .ws-header-action__icon{grid-row:1/4;margin:auto;width:28px!important;height:28px!important}
.ws-header-line,.ws-header-estimate{gap:6px;grid-auto-flow:column;align-items:center}
.ws-header-line .ws-header-action__icon,.ws-header-estimate .ws-header-action__icon{width:22px!important;height:22px!important;margin:0;filter:brightness(0) invert(1)}
.ws-footer-cta__actions img{display:block;width:28px!important;height:28px!important;object-fit:contain;margin-bottom:3px;filter:brightness(0) invert(1)}
.ws-footer-mail img{filter:none!important}
.ws-footer-brand__logo{display:block;width:260px;max-width:100%;height:auto;object-fit:contain;filter:brightness(0) invert(1)}
.ws-footer-area__icon{display:block;width:54px;height:54px;object-fit:contain;margin:0 0 12px;filter:brightness(0) invert(1)}
.ws-mobile-fixed-cta img{width:18px!important;height:18px!important;object-fit:contain;margin-bottom:2px;filter:brightness(0) invert(1)}
@media(max-width:1024px){.ws-header-brand__logo{width:280px}.ws-header-tel,.ws-header-line,.ws-header-estimate{display:none}}
@media(max-width:640px){.ws-header-brand__logo{width:230px}.ws-footer-brand__logo{width:230px}}

/* v44: compact header/footer spacing and larger CTA icons */
.ws-header-main__inner{min-height:78px;padding-top:8px;padding-bottom:8px}
.ws-header-brand__logo{width:260px!important;height:auto!important;max-height:70px!important;object-fit:contain}
.ws-header-action__icon{width:34px!important;height:34px!important;max-width:34px!important;object-fit:contain;margin:0 auto 2px}
.ws-header-tel{grid-template-columns:40px 1fr;min-width:220px;padding:8px 14px}
.ws-header-tel .ws-header-action__icon{width:38px!important;height:38px!important;max-width:38px!important}
.ws-header-line .ws-header-action__icon,
.ws-header-estimate .ws-header-action__icon{width:30px!important;height:30px!important;max-width:30px!important}
.ws-footer-cta__actions img{width:38px!important;height:38px!important;max-width:38px!important;margin-bottom:4px}
.ws-footer-brand__logo{width:210px!important;height:auto!important;max-height:80px!important;object-fit:contain}
.ws-mobile-fixed-cta img{width:24px!important;height:24px!important;max-width:24px!important}
@media(max-width:1024px){
  .ws-header-main__inner{min-height:70px}
  .ws-header-brand__logo{width:230px!important;max-height:62px!important}
}
@media(max-width:640px){
  .ws-header-main__inner{min-height:64px;padding-top:6px;padding-bottom:6px}
  .ws-header-brand__logo{width:210px!important;max-height:58px!important}
  .ws-footer-brand__logo{width:190px!important}
}


/* v96: TOPフッター対応エリアの不要アイコンを削除 */
.ws-footer-area__icon{display:none!important;}
.ws-footer-area h3{margin-bottom:12px!important;}


/* Keep consultation and form button text white during interaction. */
body :is(
  a.ws-header-line,
  a.ws-header-estimate,
  .ws-footer-cta__actions a:not(.ws-footer-mail),
  .ws-mobile-fixed-cta a,
  a.nara-btn--tel,
  a.nara-btn--line,
  a.ws-price-btn,
  a.ws-ranking-policy-contact-btn,
  a.ws-vendor-choice-cta__button,
  a.ws-direct-image-cta__mobile-btn,
  a.ws-compare-table-image-cta__button,
  a.ws-service-area-cta__tel,
  a.ws-top-fv-markup__btn,
  a.ws-top-fv-sp-only__btn,
  a.ws-contact-complete-btn,
  a.ws-bottom-tel,
  a.ws-bottom-line,
  a.ws-bottom-mail,
  a.ws-hero-tel,
  a.ws-hero-line,
  a.ws-middle-tel,
  a.ws-middle-line,
  a.ws-tel-btn,
  a.ws-line-btn,
  a.ws-inline-cta__btn,
  a.ws-sidebar-btn,
  a.ws-archive-side-cta__btn,
  a.ws-archive-bottom-cta__btn,
  a.ws-shortcode-btn,
  a.ws-top3-json-card__btn--primary,
  a.ws-top3-json-card__btn--secondary,
  a.ws-purpose-vendor__btn--solid,
  a.ws-purpose-card-v50__btn--solid,
  a.ws-purpose-final-card__btn--solid,
  a.ws-estimate-btn,
  a.ws-estimate-complete-box__tel,
  a.ws-cta-btn,
  a.ws-mini-cta,
  a.ws-side-cta,
  a.ws-cta,
  .ws-line-card a,
  .ws-submit-button,
  .ws-send-button,
  .ws-estimate-upload__button,
  .ws-mwform-wrap input[type="submit"],
  .ws-mwform-wrap button[type="submit"],
  .ws-estimate-mwform-wrap input[type="submit"],
  .ws-estimate-mwform-wrap button[type="submit"],
  .ws-estimate-mwform-wrap .mwform-submit-button,
  .ws-estimate-mwform-wrap .mwform-back-button,
  .ws-estimate-mwform-wrap .ws-estimate-confirm-back
):is(:hover, :focus-visible, :active) {
  color: #fff !important;
}

/* The white footer mail button keeps its original blue text. */
body .ws-footer-cta__actions a.ws-footer-mail:is(:hover, :focus-visible, :active) {
  color: var(--ws-blue-dark) !important;
}
