/* =========================================================
   anc0.jp final visual lock
   Keeps the header / global navigation / AI-work share area
   stable even when Luxeritas optimization settings are saved.
========================================================= */

:root{
  --anc-lock-pink:#d78a9b;
  --anc-lock-pink-deep:#b26677;
  --anc-lock-pale:#fffafb;
  --anc-lock-line:#eadfe2;
  --anc-lock-text:#5d5557;
}

/* -------------------------
   Header title area
------------------------- */
#head-in{
  border-bottom:1px solid var(--anc-lock-line) !important;
  background:
    radial-gradient(circle at 86% 18%, rgba(215,138,155,.15) 0 68px, transparent 69px),
    radial-gradient(circle at 91% 72%, rgba(215,138,155,.08) 0 42px, transparent 43px),
    linear-gradient(135deg,#fff 0%,#fff7f9 100%) !important;
}

#head-in .head-cover{
  display:flex !important;
  min-height:145px !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding:34px 22px !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  box-sizing:border-box !important;
}

#sitename{
  margin:0 auto 7px !important;
  padding:0 !important;
  font-size:clamp(30px,2.5vw,38px) !important;
  font-weight:800 !important;
  line-height:1.35 !important;
  letter-spacing:.035em !important;
  text-align:center !important;
}

#sitename a,
#sitename a:visited{
  color:var(--anc-lock-pink-deep) !important;
  background:transparent !important;
  text-decoration:none !important;
}

#sitename a:hover{
  color:#c77689 !important;
}

#head-in .desc{
  display:inline-block !important;
  margin:0 !important;
  padding:5px 12px !important;
  border:1px solid var(--anc-lock-line) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.78) !important;
  color:#98717a !important;
  font-size:11px !important;
  line-height:1.4 !important;
}

/* -------------------------
   Global navigation
------------------------- */
#nav,
#gnavi{
  border:0 !important;
  background:rgba(255,255,255,.97) !important;
}

#nav{
  border-bottom:1px solid var(--anc-lock-line) !important;
  box-shadow:0 3px 14px rgba(92,58,67,.035) !important;
}

#gnavi .gc.gnavi-container,
#gnavi .gnavi-container{
  width:100% !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding:0 12px !important;
  box-sizing:border-box !important;
}

#gnavi ul.menu.gu,
#gnavi .menu{
  display:flex !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  align-items:stretch !important;
  justify-content:center !important;
  flex-wrap:nowrap !important;
  gap:2px !important;
  border:0 !important;
  background:transparent !important;
}

#gnavi ul.menu.gu > li.gl,
#gnavi .menu > li{
  display:block !important;
  float:none !important;
  flex:0 0 auto !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  list-style:none !important;
}

#gnavi ul.menu.gu > li.gl > a,
#gnavi .menu > li > a,
#gnavi li[class*="current"] > a{
  position:relative !important;
  display:block !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:var(--anc-lock-text) !important;
  font-size:12px !important;
  font-weight:500 !important;
  line-height:1.4 !important;
  letter-spacing:.02em !important;
  text-decoration:none !important;
  box-shadow:none !important;
}

#gnavi .gim,
#gnavi .gnavi-item,
#gnavi li.gl > a > .gim{
  display:block !important;
  padding:12px 16px !important;
  border:0 !important;
  background:transparent !important;
  color:inherit !important;
}

#gnavi li.gl:hover > a,
#gnavi li.gl:hover > a > .gim,
#gnavi li[class*="current"] > a,
#gnavi li[class*="current"] > a > .gim,
#gnavi .current-menu-item > a,
#gnavi .current_page_item > a{
  background:var(--anc-lock-pale) !important;
  color:var(--anc-lock-pink-deep) !important;
}

/* Never let Luxeritas' default bright-blue current item leak through. */
#gnavi li[class*="current"],
#gnavi li[class*="current"] > a,
#gnavi li[class*="current"] > a > span{
  border-color:transparent !important;
  box-shadow:none !important;
}

/* -------------------------
   Header band: search + follow links
------------------------- */
.band{
  position:static !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  left:auto !important;
  width:100% !important;
  border-bottom:1px solid #f0e7e9 !important;
  background:#fff !important;
  z-index:auto !important;
}

#head-band,
#head-band-in{
  width:100% !important;
  max-width:1180px !important;
  min-height:44px !important;
  margin:0 auto !important;
  padding:6px 18px !important;
  box-sizing:border-box !important;
  border:0 !important;
  background:#fff !important;
}

.band-menu{
  position:static !important;
  display:flex !important;
  min-height:32px !important;
  margin:0 !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:12px !important;
}

#head-search{
  position:static !important;
  display:block !important;
  float:none !important;
  width:180px !important;
  height:32px !important;
  margin:0 !important;
  padding:0 !important;
}

#head-search .head-search-form{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:32px !important;
  margin:0 !important;
  background:transparent !important;
}

#head-search .head-search-field{
  display:block !important;
  width:100% !important;
  height:32px !important;
  margin:0 !important;
  padding:5px 36px 5px 12px !important;
  border:1px solid var(--anc-lock-line) !important;
  border-radius:999px !important;
  background:#fffdfd !important;
  color:#5d5557 !important;
  font-size:11px !important;
  line-height:1 !important;
  box-shadow:none !important;
  box-sizing:border-box !important;
}

#head-search-button,
#head-search .head-search-submit{
  position:absolute !important;
  top:3px !important;
  right:3px !important;
  display:grid !important;
  width:26px !important;
  height:26px !important;
  min-height:26px !important;
  margin:0 !important;
  padding:0 !important;
  place-items:center !important;
  border:0 !important;
  border-radius:50% !important;
  background:var(--anc-lock-pink) !important;
  color:#fff !important;
  box-shadow:none !important;
}

.band-menu > div:last-child{
  display:block !important;
}

.band-menu > div:last-child > ul,
.band-menu ul.anc0-fixed-follow{
  position:static !important;
  display:flex !important;
  width:auto !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  align-items:center !important;
  gap:4px !important;
}

.band-menu > div:last-child > ul > li,
.band-menu ul.anc0-fixed-follow > li{
  display:block !important;
  float:none !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.band-menu ul li a{
  display:inline-flex !important;
  min-height:30px !important;
  margin:0 !important;
  padding:2px 7px !important;
  align-items:center !important;
  border:0 !important;
  border-radius:999px !important;
  background:transparent !important;
  color:#665d5f !important;
  font-size:11px !important;
  line-height:1 !important;
  text-decoration:none !important;
  box-shadow:none !important;
}

.band-menu ul li a:hover{
  background:#fff1f5 !important;
  color:var(--anc-lock-pink-deep) !important;
}

/* -------------------------
   AI-work: keep the old clean page without Luxeritas share bars
------------------------- */
body.page-id-607 #sns-tops,
body.page-id-607 #sns-bottoms,
body.page-id-607 .sns-msg,
body.page-id-607 .sns-c,
body.page-id-607 .sns-w{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}

/* The page should start at the hero/breadcrumb area, not reserve space for shares. */
body.page-id-607 #mainEntity > .clearfix,
body.page-id-607 #mainEntity > .post{
  margin-top:0 !important;
}

/* -------------------------
   Responsive safeguards
------------------------- */
@media (max-width:991px){
  #gnavi ul.menu.gu,
  #gnavi .menu{
    flex-wrap:wrap !important;
  }

  #gnavi .gim,
  #gnavi .gnavi-item,
  #gnavi li.gl > a > .gim{
    padding:10px 11px !important;
  }
}

@media (max-width:767px){
  #head-in .head-cover{
    min-height:112px !important;
    padding:22px 16px !important;
  }

  #sitename{
    font-size:29px !important;
  }

  #head-search{
    width:min(180px,45vw) !important;
  }
}


/* =========================================================
   2026-09-20 v2: singular share bars + orphan meta icons
   Keep header follow links untouched.
========================================================= */

/* Luxeritas share bars: hide on every post/page/custom singular view. */
body.single #sns-tops,
body.single #sns-bottoms,
body.single .sns-msg,
body.single .sns-c,
body.single .sns-w,
body.page #sns-tops,
body.page #sns-bottoms,
body.page .sns-msg,
body.page .sns-c,
body.page .sns-w{
  display:none !important;
  visibility:hidden !important;
  width:0 !important;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
}

/* The old child CSS hid only Font Awesome classes and the date text.
   Newer Luxeritas outputs the clock/reload icons as different markup/SVG,
   leaving two orphan symbols.  Hide the whole page meta row instead. */
body.page #mainEntity > .clearfix > p.meta,
body.page #mainEntity > .clearfix > .meta,
body.page-id-607 #mainEntity p.meta,
body.tax-anc_work_category #mainEntity p.meta,
body.tax-anc_work_category #mainEntity .meta{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
}

/* Remove the horizontal separator that Luxeritas adds only for the
   now-disabled lower share block. */
body.single #mainEntity > hr.pbhr,
body.page #mainEntity > hr.pbhr{
  display:none !important;
}


/* =========================================================
   2026-09-20 v3: restore spacing after removing page meta/share bars
   Luxeritas normally reserves vertical room with the top meta/share area.
   Because those are intentionally hidden, give ordinary fixed pages a clean
   gap below the breadcrumb so the first content card never overlaps it.
========================================================= */
body.page:not(.page-id-607) #mainEntity > .clearfix{
  padding-top:28px !important;
}

/* AI-work manages its own breadcrumb/content spacing. */
body.page-id-607 #mainEntity > .clearfix{
  padding-top:0 !important;
}


/* =========================================================
   2026-09-20 v4: content/sidebar alignment + clean sidebar shell
========================================================= */

/*
 * Older child CSS pulled the first content block upward by 52px on desktop.
 * That was useful while Luxeritas still reserved its meta/share area, but now
 * those rows are intentionally hidden.  Cancel the negative pull so ordinary
 * pages and AI-work start at the natural top of the content column.
 */
@media (min-width:1201px){
  body.page:not(.page-id-607) .entry-content > div:first-of-type,
  body.page:not(.page-id-607) #mainEntity > .post > div:first-of-type,
  body.page:not(.page-id-607) #core > .post > div:first-of-type,
  body.page:not(.page-id-607) #post > div:first-of-type{
    margin-top:-18px !important;
  }
}

/* Main content and the first sidebar card should share the same top line. */
body.page:not(.page-id-607) #mainEntity > .clearfix{
  padding-top:0 !important;
}

/* AI-work had the same -52px legacy lift; keep only its own intentional
   hero margin instead of pulling the whole page upward. */
body.page-id-607 #mainEntity > .clearfix{
  padding-top:0 !important;
}

/* Luxeritas adds a square shell to side-fixed/side-scroll when parent and
   child CSS are loaded separately.  Keep the individual rounded widget cards,
   but make every outer sidebar wrapper completely transparent. */
#sidebar,
#side,
#side > aside,
#side-fixed,
#side-scroll,
#col3{
  border:0 !important;
  outline:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

#side-fixed,
#side-scroll{
  margin:0 !important;
  padding:0 !important;
}

/* Parent Luxeritas can restore a hard top border on the first scrolling
   widget.  Use the same soft line as the rest of the rounded card instead. */
#side-scroll .widget:first-child{
  border-top-color:var(--anc-lock-line) !important;
}

/* =========================================================
   2026-09-20 v5: ordinary page content / sidebar top alignment
   Share/meta removal collapsed the space that used to sit below breadcrumb.
   Keep AI-work's custom layout untouched, and give standard fixed pages the
   same visual start line as the first sidebar widget.
========================================================= */
@media (min-width:992px){
  body.page:not(.page-id-607) #mainEntity > .clearfix{
    padding-top:0 !important;
  }
}

@media (max-width:991px){
  body.page:not(.page-id-607) #mainEntity > .clearfix{
    padding-top:0 !important;
  }
}


/* =========================================================
   2026-09-20 v6: fix the legacy -52px page lift at its source
   The previous override was losing to style.replace.min.css in some modes.
   Both child CSS sources now use -18px, and this last-loaded lock matches it.
   This lowers ordinary page cards ~34px from the old -52px position without
   pushing AI-work's custom page layout down.
========================================================= */
@media (min-width:1201px){
  body.page:not(.page-id-607) #core > .post > div:first-of-type{
    margin-top:-18px !important;
  }
}


/* =========================================================
   2026-09-20 v7: AI-work vertical alignment
   The legacy fixed-page lift must not affect the AI-work custom layout.
   Keep the AI-work content wrapper at its natural position below breadcrumb.
========================================================= */
@media (min-width:1201px){
  body.page-id-607 #core > .post > div:first-of-type,
  body.page-id-607 #mainEntity > .clearfix{
    margin-top:0 !important;
  }
}

/* =========================================================
   ANC0 v8 header seam / navigation polish (2026-09-20)
   - thicken global-nav labels
   - remove the inherited Luxeritas #nav top offset
   - keep sticky header surfaces fully opaque so page content cannot peek through
========================================================= */
#header > nav{
  gap:0 !important;
  background:#fff !important;
}

#header > nav > .band,
#header > nav > #nav,
#head-band,
#head-band-in{
  margin-top:0 !important;
  margin-bottom:0 !important;
}

#nav{
  top:0 !important;
  margin-top:0 !important;
  transform:none !important;
  background:#fff !important;
}

#gnavi,
#gnavi .gc.gnavi-container,
#gnavi .gnavi-container{
  background:#fff !important;
}

#gnavi ul.menu.gu > li.gl > a,
#gnavi .menu > li > a,
#gnavi li[class*="current"] > a,
#gnavi .gim,
#gnavi .gnavi-item,
#gnavi li.gl > a > .gim{
  font-weight:600 !important;
}

/* =========================================================
   ANC0 v9: close the 1px seam between header band and nav
   The sticky header leaves a sub-pixel/1px transparent seam on Chrome at
   some zoom/device-pixel ratios.  Paint upward from #nav instead of moving
   either row, so layout height and sticky offsets stay unchanged.
========================================================= */
#header > nav > #nav,
#nav{
  box-shadow:
    0 -3px 0 #fff,
    0 3px 14px rgba(92,58,67,.035) !important;
}

/* =========================================================
   ANC0 v10: AI-work category description readability
   - keep card geometry unchanged
   - slightly bolder/larger description copy
   - constrain copy width so it naturally wraps to two lines
========================================================= */
@media (min-width:901px){
  body.page-id-607 .anc-aiwork-category-card .anc-aiwork-category-desc{
    display:-webkit-box !important;
    width:112px !important;
    max-width:76% !important;
    min-height:2.9em !important;
    margin:5px auto 0 !important;
    overflow:hidden !important;
    color:#7d6f74 !important;
    font-size:10px !important;
    font-weight:600 !important;
    line-height:1.45 !important;
    letter-spacing:.01em !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    text-align:center !important;
  }
}

/* =========================================================
   ANC0 v11: AI-work category description - clearly bold + 2 lines
   Keep category card geometry unchanged.
   Target both the explicit desc class and the direct paragraph because
   the current AI-work markup/CSS may expose either path.
========================================================= */
@media (min-width:901px){
  body.page-id-607 .anc-aiwork-category-card .anc-aiwork-category-desc,
  body.page-id-607 .anc-aiwork-category-card .anc-aiwork-category-text > p{
    display:-webkit-box !important;
    width:118px !important;
    max-width:118px !important;
    min-width:0 !important;
    min-height:2.9em !important;
    margin:5px auto 0 !important;
    padding:0 !important;
    overflow:hidden !important;
    color:#74666b !important;
    font-size:10.5px !important;
    font-weight:700 !important;
    line-height:1.45 !important;
    letter-spacing:.01em !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
    line-break:strict !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    text-align:center !important;
  }
}


/* =========================================================
   ANC0 v12: AI-work category card vertical layout fix
   - keep desktop cards exactly 160 x 160
   - do NOT clamp the wrapper <p> (it also contains the CTA)
   - bold description and wrap it to max 2 lines
   - close the title -> description gap
   - restore "作品をみる" button
========================================================= */
@media (min-width:901px){

  body.page-id-607 .anc-aiwork-category-grid > a.anc-aiwork-category-card{
    width:auto !important;
    height:160px !important;
    min-height:160px !important;
    max-height:160px !important;
    aspect-ratio:1 / 1 !important;
    padding:8px 8px 8px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
    justify-content:flex-start !important;
  }

  body.page-id-607 .anc-aiwork-category-text{
    display:flex !important;
    flex:0 0 auto !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    gap:0 !important;
  }

  /* AI MUSIC / BMS / APPS / MOVIES */
  body.page-id-607 .anc-aiwork-category-card .anc-aiwork-category-text small{
    display:block !important;
    margin:0 0 1px !important;
    padding:0 !important;
    font-size:11px !important;
    font-weight:800 !important;
    line-height:1.15 !important;
  }

  /*
   * The current page markup places description + CTA inside this paragraph.
   * v11 clamped this <p>, which clipped the CTA out of view.
   */
  body.page-id-607 .anc-aiwork-category-card .anc-aiwork-category-text > p{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
    white-space:normal !important;
    -webkit-line-clamp:unset !important;
    -webkit-box-orient:initial !important;
    line-height:normal !important;
    text-align:center !important;
  }

  body.page-id-607 .anc-aiwork-category-card .anc-aiwork-category-desc{
    display:-webkit-box !important;
    width:138px !important;
    max-width:90% !important;
    min-width:0 !important;
    min-height:0 !important;
    margin:2px auto 0 !important;
    padding:0 !important;
    overflow:hidden !important;
    color:#74666b !important;
    font-size:10px !important;
    font-weight:700 !important;
    line-height:1.3 !important;
    letter-spacing:0 !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    text-align:center !important;
  }

  body.page-id-607 .anc-aiwork-category-more{
    display:inline-flex !important;
    flex:0 0 auto !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    min-width:78px !important;
    min-height:22px !important;
    margin:4px auto 0 !important;
    padding:3px 9px !important;
    box-sizing:border-box !important;
    overflow:visible !important;
    font-size:8.5px !important;
    font-weight:700 !important;
    line-height:1 !important;
  }
}


/* =========================================================
   ANC0 v13: AI-work category card spacing
   - keep every desktop card square at 160 x 160
   - use fixed-width grid tracks so 1fr tracks do not create huge gaps
   - keep a compact, even 12px gap between the four cards
========================================================= */
@media (min-width:901px){
  body.page-id-607 .anc-aiwork-category-grid{
    grid-template-columns:repeat(4, 160px) !important;
    justify-content:center !important;
    align-items:start !important;
    column-gap:12px !important;
    row-gap:12px !important;
  }

  body.page-id-607 .anc-aiwork-category-grid > a.anc-aiwork-category-card{
    width:160px !important;
    height:160px !important;
    min-width:160px !important;
    max-width:160px !important;
    min-height:160px !important;
    max-height:160px !important;
    aspect-ratio:1 / 1 !important;
    margin:0 !important;
  }
}


/* =========================================================
   ANC0 v14: restore preferred AI-work category card size
   - match the wider card size shown in the preferred screenshot
   - keep four even columns with a compact 10px gap
   - keep card height at 160px
   - preserve v12 description/CTA layout
========================================================= */
@media (min-width:901px){
  body.page-id-607 .anc-aiwork-category-grid{
    grid-template-columns:repeat(4, minmax(0,1fr)) !important;
    justify-content:stretch !important;
    align-items:start !important;
    column-gap:10px !important;
    row-gap:10px !important;
  }

  body.page-id-607 .anc-aiwork-category-grid > a.anc-aiwork-category-card{
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    height:160px !important;
    min-height:160px !important;
    max-height:160px !important;
    aspect-ratio:auto !important;
    margin:0 !important;
  }
}


/* =========================================================
   ANC0 v16: footer text navigation
========================================================= */
#copyright .anc0-footer-links{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:center !important;
  gap:0 !important;
  margin:0 0 7px !important;
  padding:0 !important;
  font-size:10.5px !important;
  font-weight:500 !important;
  line-height:1.6 !important;
  letter-spacing:.01em !important;
}

#copyright .anc0-footer-links a{
  color:#a98691 !important;
  text-decoration:none !important;
  border:0 !important;
  box-shadow:none !important;
}

#copyright .anc0-footer-links a:hover{
  color:#d77f9a !important;
  text-decoration:underline !important;
}

#copyright .anc0-footer-sep{
  display:inline-block !important;
  margin:0 5px !important;
  color:#d8b8c2 !important;
  font-weight:400 !important;
}

@media (max-width:600px){
  #copyright .anc0-footer-links{
    font-size:10px !important;
  }
  #copyright .anc0-footer-sep{
    margin:0 3px !important;
  }
}


/* =========================================================
   ANC0 v17: footer links emphasis
   - make footer navigation more prominent than copyright
========================================================= */
#copyright .anc0-footer-links{
  font-size:12.5px !important;
  font-weight:600 !important;
  line-height:1.7 !important;
  letter-spacing:.015em !important;
  margin-bottom:8px !important;
}

#copyright .anc0-footer-links a{
  color:#9f6f7d !important;
}

#copyright .anc0-footer-links a:hover{
  color:#d46f8f !important;
  text-decoration:underline !important;
}

#copyright .anc0-footer-sep{
  color:#d7aeb9 !important;
  margin:0 6px !important;
}

@media (max-width:600px){
  #copyright .anc0-footer-links{
    font-size:11.5px !important;
  }
}


/* =========================================================
   ANC0 v20: header banner + guaranteed global menu
   Rebuilt from stable v17 (not v19).
========================================================= */

/* Make header children reorderable: branding first, utility/menu second. */
#header{
  display:flex !important;
  flex-direction:column !important;
  width:100% !important;
}

/* Brand row above search/social/menu. */
#head-in{
  order:1 !important;
  display:block !important;
  min-height:0 !important;
  overflow:hidden !important;
  border-bottom:1px solid var(--anc-lock-line) !important;
  background:
    radial-gradient(circle at 88% 20%, rgba(215,138,155,.12) 0 56px, transparent 57px),
    radial-gradient(circle at 94% 72%, rgba(215,138,155,.07) 0 32px, transparent 33px),
    linear-gradient(135deg,#fff 0%,#fff9fb 100%) !important;
}

#head-in .head-cover{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:100% !important;
  max-width:1180px !important;
  min-height:96px !important;
  margin:0 auto !important;
  padding:10px 20px !important;
  box-sizing:border-box !important;
  text-align:left !important;
}

#sitename{
  width:min(500px,100%) !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1 !important;
  text-align:left !important;
}

#sitename a,
#sitename a:visited{
  display:block !important;
  width:min(500px,100%) !important;
  height:76px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  font-size:0 !important;
  line-height:0 !important;
  text-indent:-9999px !important;
  background:url("/wp-content/themes/luxech/images/anc0-header-brand.svg") left center / contain no-repeat !important;
  color:transparent !important;
  text-decoration:none !important;
}

#sitename a > *{
  opacity:0 !important;
}

#head-in .desc{
  display:none !important;
}

/* Navigation block below banner. */
#header > nav{
  order:2 !important;
  display:flex !important;
  flex-direction:column !important;
  position:sticky !important;
  top:0 !important;
  z-index:10000 !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  visibility:visible !important;
  opacity:1 !important;
  background:#fff !important;
}

/* Search/SNS row. */
#header > nav > .band{
  order:1 !important;
  display:block !important;
  position:static !important;
  width:100% !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  visibility:visible !important;
  opacity:1 !important;
  background:#fff !important;
}

/* Global menu row — force it visible. */
#header > nav > #nav,
#nav{
  order:2 !important;
  display:block !important;
  position:relative !important;
  top:0 !important;
  left:auto !important;
  right:auto !important;
  width:100% !important;
  height:auto !important;
  min-height:40px !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  visibility:visible !important;
  opacity:1 !important;
  transform:none !important;
  background:#fff !important;
}

#gnavi,
#gnavi .gc.gnavi-container,
#gnavi .gnavi-container{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:100% !important;
  max-height:none !important;
  overflow:visible !important;
  background:#fff !important;
}

#gnavi ul.menu.gu,
#gnavi .menu{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  align-items:stretch !important;
  justify-content:center !important;
  flex-wrap:nowrap !important;
  width:100% !important;
  max-height:none !important;
  overflow:visible !important;
}

@media screen and (max-width:767px){
  #head-in .head-cover{
    min-height:78px !important;
    padding:7px 12px !important;
    justify-content:center !important;
  }

  #sitename{
    width:min(360px,100%) !important;
  }

  #sitename a,
  #sitename a:visited{
    width:min(360px,100%) !important;
    height:60px !important;
  }
}


/* =========================================================
   ANC0 v21: compact reliable banner + BGM in utility row
   - banner is embedded as a data URI (no broken image path)
   - banner row reduced to rough-sized height
   - desktop BGM visually occupies the left side of search/SNS row
========================================================= */

/* Compact banner row */
#head-in{
  display:block !important;
  min-height:0 !important;
  border-bottom:1px solid var(--anc-lock-line) !important;
  background:
    radial-gradient(circle at 88% 22%, rgba(215,138,155,.11) 0 42px, transparent 43px),
    radial-gradient(circle at 94% 70%, rgba(215,138,155,.06) 0 26px, transparent 27px),
    linear-gradient(135deg,#fff 0%,#fff9fb 100%) !important;
  overflow:hidden !important;
}

#head-in .head-cover{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  max-width:1180px !important;
  min-height:72px !important;
  margin:0 auto !important;
  padding:5px 18px !important;
  box-sizing:border-box !important;
  text-align:left !important;
}

#sitename{
  width:340px !important;
  height:54px !important;
  margin:0 !important;
  padding:0 !important;
  background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1NjAiIGhlaWdodD0iODYiIHZpZXdCb3g9IjAgMCA1NjAgODYiPgo8cmVjdCB3aWR0aD0iNTYwIiBoZWlnaHQ9Ijg2IiByeD0iMTgiIGZpbGw9IiNmZmZhZmIiLz4KPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAgOCkiPgo8Y2lyY2xlIGN4PSIzMCIgY3k9IjMwIiByPSIyOCIgZmlsbD0iI2ZmZjFmNSIgc3Ryb2tlPSIjZWZjYmQ1Ii8+CjxwYXRoIGQ9Ik0xNiAzMWMtMS04IDMtMTUgMTAtMThsNCA3IDQtN2M3IDMgMTEgMTAgMTAgMTgtLjcgNy02IDEyLTE0IDEycy0xMy4zLTUtMTQtMTJaIiBmaWxsPSIjZmJlNGVhIiBzdHJva2U9IiNiOTZmODIiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxjaXJjbGUgY3g9IjI1IiBjeT0iMjkiIHI9IjEuNSIgZmlsbD0iIzZmNTU1YyIvPjxjaXJjbGUgY3g9IjM1IiBjeT0iMjkiIHI9IjEuNSIgZmlsbD0iIzZmNTU1YyIvPgo8cGF0aCBkPSJNMzAgMzFsLTEuMyAxLjhoMi42WiIgZmlsbD0iI2Q5ODdhMSIvPgo8cGF0aCBkPSJNMjUgMzVjMS42IDEuOCAzLjIgMi41IDUgMi41czMuNC0uNyA1LTIuNSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjYjk2ZjgyIiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CjwvZz4KPHRleHQgeD0iODQiIHk9IjM3IiBmaWxsPSIjYWY1ZjczIiBmb250LXNpemU9IjMyIiBmb250LXdlaWdodD0iODAwIiBmb250LWZhbWlseT0iWXUgR290aGljLEhpcmFnaW5vIEtha3UgR290aGljIFByb04sTWVpcnlvLHNhbnMtc2VyaWYiPmFuYzAuanA8L3RleHQ+Cjx0ZXh0IHg9Ijg1IiB5PSI1OSIgZmlsbD0iIzlhNzQ3ZiIgZm9udC1zaXplPSIxMi41IiBmb250LXdlaWdodD0iNzAwIiBmb250LWZhbWlseT0iWXUgR290aGljLEhpcmFnaW5vIEtha3UgR290aGljIFByb04sTWVpcnlvLHNhbnMtc2VyaWYiPuOBguOCk+OBk+OBoeOCg+OCk+OBreOCi+OAgiAg44GZ44GN44Gq44GT44Go44Gn44CB44KE44GV44GX44GE5pyq5p2l44KS44Gk44GP44KL44CCPC90ZXh0Pgo8ZyBmaWxsPSIjZjNiMmM0Ij48Y2lyY2xlIGN4PSI1MTUiIGN5PSIyMCIgcj0iNCIvPjxwYXRoIGQ9Ik01MzEgMzVjMy01IDQtOCAyLTEyLTQgMC03IDItMTAgNi0zLTQtNi02LTEwLTYtMiA0LTEgNyAyIDEyLTQgMy02IDYtNiAxMCA1IDEgOSAwIDE0LTQgNSA0IDkgNSAxNCA0IDAtNC0yLTctNi0xMFoiLz48L2c+Cjwvc3ZnPg==") left center / contain no-repeat !important;
}

#sitename a,
#sitename a:visited{
  display:block !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  font-size:0 !important;
  line-height:0 !important;
  color:transparent !important;
  text-indent:-9999px !important;
  background:none !important;
  text-decoration:none !important;
}

#sitename a > *{
  opacity:0 !important;
}

#head-in .desc{
  display:none !important;
}

/* Utility row stays compact. */
#head-band,
#head-band-in{
  min-height:42px !important;
  padding-top:4px !important;
  padding-bottom:4px !important;
}

.band-menu{
  min-height:34px !important;
}

/* Desktop: move persistent BGM player into the left half of the utility row. */
@media (min-width:1201px){
  #anc0-bgm-player{
    top:76px !important;
    bottom:auto !important;
    left:max(12px, calc(50vw - 590px + 18px)) !important;
    right:auto !important;
    width:min(520px, calc(100vw - 650px)) !important;
    min-height:34px !important;
    padding:2px 8px !important;
    grid-template-columns:124px minmax(130px,1fr) 96px 82px !important;
    gap:5px 8px !important;
    border-radius:999px !important;
    z-index:10020 !important;
  }

  #anc0-bgm-player .anc0-bgm-button{
    width:27px !important;
    height:27px !important;
  }

  #anc0-bgm-player .anc0-bgm-track-wrap select{
    height:27px !important;
    font-size:11px !important;
  }

  #anc0-bgm-player .anc0-bgm-volume input{
    width:100% !important;
  }

  #anc0-bgm-player .anc0-bgm-timeline{
    width:82px !important;
    min-width:82px !important;
  }
}

@media screen and (max-width:767px){
  #head-in .head-cover{
    min-height:62px !important;
    padding:4px 10px !important;
    justify-content:center !important;
  }

  #sitename{
    width:min(310px,92vw) !important;
    height:48px !important;
  }
}


/* ANC0 v22: never let page-level CSS hide the persistent outer BGM UI. */
@media (min-width:768px){
  body:not(.anc0-bgm-child) > #anc0-bgm-player{
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    z-index:2147483646 !important;
  }
}

/* =========================================================
   ANC0 v27: clean sticky header
   Replaces v23-v26 experiments entirely.
   - no JS-measured negative header margins
   - no spacer inserted into the flex header
   - no ResizeObserver recalc loop
   - brand is at the real top of the site
   - after brand scrolls away, utility row + menu remain fixed
========================================================= */

:root{
  --anc0-brand-row-height:58px;
  --anc0-fixed-nav-height:0px;
  --anc0-nav-fixed-top:0px;
}

/* Header order from v20/v21, explicitly locked. */
#header{
  display:flex !important;
  flex-direction:column !important;
  position:relative !important;
  top:auto !important;
  width:100% !important;
  margin:0 !important;
  padding:0 0 var(--anc0-fixed-nav-height) !important;
  overflow:visible !important;
  background:#fff !important;
}

#head-in{
  order:1 !important;
  display:block !important;
  position:relative !important;
  top:auto !important;
  width:100% !important;
  height:var(--anc0-brand-row-height) !important;
  min-height:var(--anc0-brand-row-height) !important;
  max-height:var(--anc0-brand-row-height) !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

#head-in .head-cover{
  height:var(--anc0-brand-row-height) !important;
  min-height:var(--anc0-brand-row-height) !important;
  max-height:var(--anc0-brand-row-height) !important;
  margin:0 auto !important;
  padding:2px 18px !important;
  box-sizing:border-box !important;
}

#sitename{
  width:300px !important;
  height:46px !important;
  max-height:46px !important;
  margin:0 !important;
}

#header > nav{
  order:2 !important;
  display:flex !important;
  flex-direction:column !important;
  position:relative !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  width:100% !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  transform:none !important;
  visibility:visible !important;
  opacity:1 !important;
  z-index:10000 !important;
  background:#fff !important;
}

/* Fixed state: nav leaves flow; header padding keeps the page from jumping. */
html.anc0-nav-fixed #header > nav{
  position:fixed !important;
  top:var(--anc0-nav-fixed-top) !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  margin:0 !important;
  z-index:100000 !important;
  background:#fff !important;
  box-shadow:0 5px 16px rgba(92,58,67,.07) !important;
}

/* Explicitly kill the old spacer if stale markup exists from a cached page. */
#anc0-nav-spacer{
  display:none !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
}

/* Keep utility/menu rows compact. */
#head-band,
#head-band-in{
  min-height:40px !important;
  margin:0 auto !important;
  padding-top:3px !important;
  padding-bottom:3px !important;
}

.band-menu{
  min-height:32px !important;
}

#header > nav > #nav,
#nav{
  min-height:40px !important;
  margin-top:0 !important;
  top:0 !important;
}

/* Persistent BGM always sits over the fixed header surface. */
body:not(.anc0-bgm-child) > #anc0-bgm-player{
  z-index:2147483646 !important;
}

@media screen and (max-width:767px){
  :root{
    --anc0-brand-row-height:52px;
  }

  #head-in{
    height:52px !important;
    min-height:52px !important;
    max-height:52px !important;
  }

  #head-in .head-cover{
    height:52px !important;
    min-height:52px !important;
    max-height:52px !important;
    padding:2px 10px !important;
  }

  #sitename{
    width:min(280px,90vw) !important;
    height:42px !important;
    max-height:42px !important;
  }
}

/* =========================================================
   ANC0 v28: remove the REAL top gap
   Luxeritas can output legacy .logo / .logo-up elements as direct children
   of #header. Since our custom header uses flex ordering, those unassigned
   children become order:0 and jump ABOVE #head-in, creating the blank block.
   The new anc0.jp banner replaces that legacy logo, so collapse it completely.
========================================================= */
#header > .logo,
#header > .logo-up{
  display:none !important;
  order:3 !important;
  width:0 !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
}

/* Never allow other direct header additions to slip ahead of the banner. */
#header > *:not(#head-in):not(nav):not(.logo):not(.logo-up){
  order:3 !important;
}

/* Explicit final ordering. */
#header > #head-in{
  order:1 !important;
}
#header > nav{
  order:2 !important;
}

/* =========================================================
   ANC0 v29: tighten the banner row itself
   The remaining "top gap" is inside Luxeritas' #head-in stack
   (.info / possible #head-parallax), not an outer page margin.
   Collapse every layer in that stack to the actual logo height.
========================================================= */

:root{
  --anc0-brand-row-height:42px !important;
}

/* Outer brand band */
#header > #head-in{
  height:42px !important;
  min-height:42px !important;
  max-height:42px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

/* If Luxeritas wrapped the header in parallax/background helpers, collapse those too. */
#head-in > #head-parallax,
#head-in #head-parallax{
  height:42px !important;
  min-height:42px !important;
  max-height:42px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

/* Main inner row */
#head-in .head-cover{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  height:42px !important;
  min-height:42px !important;
  max-height:42px !important;
  margin:0 auto !important;
  padding:0 18px !important;
  box-sizing:border-box !important;
  transform:none !important;
}

/* Luxeritas' legacy content wrappers still had vertical padding. */
#head-in .info-wrap,
#head-in .info{
  display:block !important;
  width:auto !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1 !important;
}

/* Compact visible brand graphic. */
#head-in #sitename{
  display:block !important;
  width:270px !important;
  height:34px !important;
  min-height:34px !important;
  max-height:34px !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1 !important;
}

/* Keep the old site description/meta from contributing layout space. */
#head-in .desc{
  display:none !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
}

/* Keep fixed-navigation threshold aligned with the new shorter banner row. */
html.anc0-nav-fixed #header > nav{
  top:var(--anc0-nav-fixed-top, 0px) !important;
}

@media screen and (max-width:767px){
  :root{
    --anc0-brand-row-height:38px !important;
  }

  #header > #head-in,
  #head-in > #head-parallax,
  #head-in #head-parallax,
  #head-in .head-cover{
    height:38px !important;
    min-height:38px !important;
    max-height:38px !important;
  }

  #head-in .head-cover{
    justify-content:center !important;
    padding:0 10px !important;
  }

  #head-in #sitename{
    width:min(245px,88vw) !important;
    height:30px !important;
    min-height:30px !important;
    max-height:30px !important;
  }
}

