/*
 * Kurashi DB Engine 2.6.22
 * SANGO header brand: real HTML site-title text + CSS-only house icon.
 * The site name remains real DOM text; CSS generated content is not used for the title.
 */

/* ===== SANGO normal pages ===== */
#logo.header-logo,
header.header #logo{
  line-height:1!important;
}

#logo.header-logo .header-logo__link,
header.header #logo>a,
header.header #logo a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  width:max-content!important;
  max-width:min(92vw,430px)!important;
  min-height:48px!important;
  box-sizing:border-box!important;
  padding:6px 14px 6px 8px!important;
  margin:0!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.97)!important;
  box-shadow:0 5px 16px rgba(18,57,88,.12)!important;
  color:#173a55!important;
  -webkit-text-fill-color:#173a55!important;
  font-family:inherit!important;
  font-size:16px!important;
  font-weight:900!important;
  line-height:1.2!important;
  letter-spacing:.01em!important;
  white-space:nowrap!important;
  text-decoration:none!important;
  overflow:visible!important;
}

/* Real site name in the anchor is used. Hide a theme image only if one exists. */
#logo.header-logo .header-logo__link img,
header.header #logo>a img,
header.header #logo a img{
  display:none!important;
}

/* House icon only. */
#logo.header-logo .header-logo__link::before,
header.header #logo>a::before,
header.header #logo a::before{
  content:""!important;
  display:block!important;
  flex:0 0 38px!important;
  width:38px!important;
  height:38px!important;
  border-radius:12px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%234aa5d9'/%3E%3Cstop offset='1' stop-color='%235bc4b4'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect x='1' y='1' width='38' height='38' rx='12' fill='url(%23g)'/%3E%3Cpath d='M9.5 20.5 20 11l10.5 9.5' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M13 19.5V30h14V19.5' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M18 30v-6h4v6' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:38px 38px!important;
  box-shadow:0 6px 14px rgba(36,104,181,.16)!important;
}

/* Never generate the site title with CSS. */
#logo.header-logo .header-logo__link::after,
header.header #logo>a::after,
header.header #logo a::after{
  content:none!important;
  display:none!important;
}

/* PC: site name above navigation, no overlap. */
@media screen and (min-width:768px){
  body.home header.header,
  body.front-page header.header{
    position:relative!important;
    min-height:126px!important;
    height:126px!important;
    overflow:visible!important;
  }
  body.home header.header #logo,
  body.home #logo.header-logo,
  body.front-page header.header #logo,
  body.front-page #logo.header-logo{
    position:absolute!important;
    left:50%!important;
    right:auto!important;
    top:9px!important;
    bottom:auto!important;
    transform:translateX(-50%)!important;
    margin:0!important;
    padding:0!important;
    width:max-content!important;
    max-width:calc(100% - 80px)!important;
    z-index:30!important;
  }
  body.home header.header .desktop-nav,
  body.home header.header nav.desktop-nav,
  body.front-page header.header .desktop-nav,
  body.front-page header.header nav.desktop-nav{
    position:absolute!important;
    left:50%!important;
    right:auto!important;
    top:72px!important;
    bottom:auto!important;
    transform:translateX(-50%)!important;
    width:max-content!important;
    max-width:calc(100vw - 60px)!important;
    min-height:38px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    float:none!important;
    z-index:20!important;
    overflow:visible!important;
  }
  body.home header.header .desktop-nav>ul,
  body.home header.header nav.desktop-nav>ul,
  body.front-page header.header .desktop-nav>ul,
  body.front-page header.header nav.desktop-nav>ul{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    width:max-content!important;
    max-width:100%!important;
    margin:0 auto!important;
    padding:0!important;
  }
}

/* Mobile: keep controls untouched and move only the visual logo down. */
@media screen and (max-width:767px){
  header.header{
    position:relative!important;
    min-height:66px!important;
  }
  #logo.header-logo,
  header.header #logo{
    position:absolute!important;
    left:50%!important;
    right:auto!important;
    top:50%!important;
    bottom:auto!important;
    transform:translate(-50%,-50%)!important;
    margin:0!important;
    padding:0!important;
    z-index:20!important;
    width:max-content!important;
    max-width:calc(100vw - 126px)!important;
  }
  #logo.header-logo .header-logo__link,
  header.header #logo>a,
  header.header #logo a{
    position:relative!important;
    top:10px!important;
    min-height:40px!important;
    max-width:100%!important;
    gap:7px!important;
    padding:4px 9px 4px 5px!important;
    border-radius:11px!important;
    box-shadow:0 3px 10px rgba(18,57,88,.11)!important;
    font-size:11.5px!important;
    line-height:1.15!important;
    letter-spacing:0!important;
  }
  #logo.header-logo .header-logo__link::before,
  header.header #logo>a::before,
  header.header #logo a::before{
    flex-basis:31px!important;
    width:31px!important;
    height:31px!important;
    border-radius:10px!important;
    background-size:31px 31px!important;
  }

  /* Even if old markup remains in page cache, do not duplicate SANGO's standard back-to-top button. */
  body:not(.kdbe-standalone) .kdbe-back-to-top{
    display:none!important;
  }
}

@media screen and (max-width:390px){
  #logo.header-logo .header-logo__link,
  header.header #logo>a,
  header.header #logo a{gap:5px!important;padding-right:7px!important;font-size:10.2px!important}
  #logo.header-logo .header-logo__link::before,
  header.header #logo>a::before,
  header.header #logo a::before{flex-basis:28px!important;width:28px!important;height:28px!important;background-size:28px 28px!important}
}

/* DB company-detail page back-to-top button. */
.kdbe-back-to-top{position:fixed;right:24px;bottom:24px;z-index:9998;display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:0 17px;border:1px solid rgba(23,74,131,.22);border-radius:999px;background:rgba(255,255,255,.96);color:#174a83;font:800 12px/1 -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;box-shadow:0 10px 28px rgba(31,67,104,.18);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease,background .18s ease,color .18s ease}
.kdbe-back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.kdbe-back-to-top:hover{background:#2468b5;color:#fff}
.kdbe-back-to-top-arrow{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#eef7ff;color:#2468b5;font-size:16px;font-weight:900;line-height:1}
@media(max-width:720px){.kdbe-back-to-top{right:14px;bottom:76px;width:48px;height:48px;min-height:48px;padding:0;border-radius:50%}.kdbe-back-to-top-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.kdbe-back-to-top-arrow{width:28px;height:28px;font-size:18px}}
