/* =========================================
   Sitewide HCT layout - 2026-04-11 stable
========================================= */
:root{
  --site-hct-url: url("https://highclass-tenshoku.com/wp-content/uploads/2026/04/ChatGPT-Image-Mar-9-2026-06_06_53-PM.png");
  --site-hct-size: 440px auto;
  --site-hct-gutter: 32px;
  --site-panel-gap: 24px;
}

html,
body{
  background: #ffffff !important;
}

.site-hct-band{
  display: none !important;
}

body.home .site-body,
body.page .site-body,
body.single .site-body,
body.archive .site-body,
body.blog .site-body{
  position: relative;
  z-index: 0;
  padding-bottom: 0 !important;
  background: var(--site-hct-url) center top / var(--site-hct-size) repeat !important;
}

body.home .site-body-container.container,
body.page .site-body-container.container,
body.single .site-body-container.container,
body.archive .site-body-container.container,
body.blog .site-body-container.container,
body.page .page-header .container,
body.single .page-header .container,
body.archive .page-header .container,
body.blog .page-header .container,
body.page #breadcrumb .container,
body.single #breadcrumb .container,
body.archive #breadcrumb .container,
body.blog #breadcrumb .container{
  width: calc(100vw - (var(--site-hct-gutter) * 2)) !important;
  max-width: none !important;
  background: transparent !important;
}

:where(#page, .site, #content, .site-content, .content-area, main, .site-body, .site-body-container, .main-section, .entry, .entry-body){
  background-color: transparent !important;
}

.page-header .container,
#breadcrumb .container{
  background: #ffffff !important;
}

.site-body .entry-body > :where(.wp-block-group, .wp-block-image, .wp-block-buttons, .wp-block-columns, .wp-block-table, .wp-block-query, .wp-block-media-text, figure){
  background: #ffffff !important;
  margin-bottom: var(--site-panel-gap) !important;
}

.site-body .entry-body > p:not(:empty),
.site-body .entry-body > ul,
.site-body .entry-body > ol,
.site-body .entry-body > table{
  background: #ffffff !important;
  margin: 0 0 var(--site-panel-gap) !important;
  padding: 0 40px !important;
}

.site-body .entry-body > p:empty{
  display: none !important;
}

body.home .entry-body > .wp-block-group.hero-geo-cta{
  width: calc(100% + 30px) !important;
  max-width: none !important;
  margin-left: -15px !important;
  margin-right: -15px !important;
  background: var(--site-hct-url) center top / var(--site-hct-size) repeat !important;
}

body.home .entry-body > .wp-block-group.hero-geo-cta,
body.home .entry-body > .wp-block-group.hero-geo-cta *{
  color: #ffffff;
}

body.home .entry-body > .wp-block-group.hero-geo-cta .wp-block-button__link{
  color: #111111 !important;
}

body.home .entry-body > .wp-block-group.sec-worries{
  display: none !important;
}

body.home .entry-body > .wp-block-group:last-of-type{
  margin-bottom: 0 !important;
}

body.page-id-61 .site-body,
body.page-id-64 .site-body,
body.page-id-14 .site-body,
body.post-type-archive-post .site-body{
  background: var(--site-hct-url) center top / var(--site-hct-size) repeat !important;
}

body.page-id-61 .entry-body > .wp-block-group.ui-okura-heritage,
body.page-id-64 .entry-body > .wp-block-group,
body.page-id-14 .entry-body > .wp-block-group,
body.post-type-archive-post .entry-body > .wp-block-group{
  background: #ffffff !important;
}

@media (max-width: 781px){
  body.home .site-body,
  body.page .site-body,
  body.single .site-body,
  body.archive .site-body,
  body.blog .site-body{
    background: none !important;
  }

  body.home .site-body-container.container,
  body.page .site-body-container.container,
  body.single .site-body-container.container,
  body.archive .site-body-container.container,
  body.blog .site-body-container.container,
  .page-header .container,
  #breadcrumb .container{
    width: auto !important;
    max-width: none !important;
    background: #ffffff !important;
  }

  .site-body .entry-body > :where(.wp-block-group, .wp-block-image, .wp-block-buttons, .wp-block-columns, .wp-block-table, .wp-block-query, .wp-block-media-text, figure),
  .site-body .entry-body > p:not(:empty),
  .site-body .entry-body > ul,
  .site-body .entry-body > ol,
  .site-body .entry-body > table{
    margin-bottom: 0 !important;
    background: #ffffff !important;
  }

  body.home .entry-body > .wp-block-group.hero-geo-cta{
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    background: #ffffff !important;
  }

  body.home .entry-body > .wp-block-group.hero-geo-cta,
  body.home .entry-body > .wp-block-group.hero-geo-cta *{
    color: inherit !important;
  }
}
/* ===== 2026-04-11 refinement ===== */

/* fixed pages: HCT starts right below header and continues through page title/breadcrumb/body */
body.page .page-header,
body.page #breadcrumb,
body.page .site-body,
body.single .page-header,
body.single #breadcrumb,
body.single .site-body,
body.archive .page-header,
body.archive #breadcrumb,
body.archive .site-body,
body.blog .page-header,
body.blog #breadcrumb,
body.blog .site-body{
  background: var(--site-hct-url) center top / var(--site-hct-size) repeat !important;
}

body.page .site-body,
body.single .site-body,
body.archive .site-body,
body.blog .site-body{
  padding-top: 0 !important;
}

body.page .page-header .container,
body.page #breadcrumb .container,
body.page .site-body-container.container,
body.single .page-header .container,
body.single #breadcrumb .container,
body.single .site-body-container.container,
body.archive .page-header .container,
body.archive #breadcrumb .container,
body.archive .site-body-container.container,
body.blog .page-header .container,
body.blog #breadcrumb .container,
body.blog .site-body-container.container{
  background: #ffffff !important;
}

/* top reason section: restore inner white padding like other sections */
body.home .entry-body > .wp-block-group.bg-geo-navy.overlay-blue-30 > h2.wp-block-heading{
  padding-left: 56px !important;
  padding-right: 56px !important;
}

body.home .entry-body > .wp-block-group.bg-geo-navy.overlay-blue-30 > .reason-card > .wp-block-columns{
  padding-left: 56px !important;
  padding-right: 56px !important;
  box-sizing: border-box !important;
}

/* flow / FAQ / news should be contiguous white sections with thin gray separators, not HCT gaps */
body.home .entry-body > .wp-block-group.hero-geo-cta + .wp-block-group,
body.home .entry-body > .wp-block-group.hero-geo-cta + .wp-block-group + .wp-block-group,
body.home .entry-body > .wp-block-group.hero-geo-cta + .wp-block-group + .wp-block-group + .wp-block-group{
  margin-bottom: 0 !important;
}

body.home .entry-body > .wp-block-group.sec-faq-max,
body.home .entry-body > .wp-block-group.sec-faq-max + .wp-block-group{
  border-top: 1px solid #e5e5e5 !important;
}

@media (max-width: 781px){
  body.home .entry-body > .wp-block-group.bg-geo-navy.overlay-blue-30 > h2.wp-block-heading{
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  body.home .entry-body > .wp-block-group.bg-geo-navy.overlay-blue-30 > .reason-card > .wp-block-columns{
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}
/* fixed pages: no top/bottom HCT bands, side gutters only */
body.page .page-header,
body.page #breadcrumb,
body.page .site-body,
body.single .page-header,
body.single #breadcrumb,
body.single .site-body,
body.archive .page-header,
body.archive #breadcrumb,
body.archive .site-body,
body.blog .page-header,
body.blog #breadcrumb,
body.blog .site-body{
  background: transparent !important;
}

body.page .page-header .container,
body.page #breadcrumb .container,
body.page .site-body-container.container,
body.single .page-header .container,
body.single #breadcrumb .container,
body.single .site-body-container.container,
body.archive .page-header .container,
body.archive #breadcrumb .container,
body.archive .site-body-container.container,
body.blog .page-header .container,
body.blog #breadcrumb .container,
body.blog .site-body-container.container{
  background: #ffffff !important;
}

body.page .site-body-container.container,
body.single .site-body-container.container,
body.archive .site-body-container.container,
body.blog .site-body-container.container{
  margin-bottom: 0 !important;
}

body.page .entry-body > :last-child,
body.single .entry-body > :last-child,
body.archive .entry-body > :last-child,
body.blog .entry-body > :last-child{
  margin-bottom: 0 !important;
}

.site-footer,
.site-footer .container,
.siteFooter,
#footer,
.vk-pageFooter{
  border-top: 0 !important;
}
/* fixed pages: restore side HCT only by removing vertical white box margins */
body.page .page-header,
body.page #breadcrumb,
body.page .site-body,
body.single .page-header,
body.single #breadcrumb,
body.single .site-body,
body.archive .page-header,
body.archive #breadcrumb,
body.archive .site-body,
body.blog .page-header,
body.blog #breadcrumb,
body.blog .site-body{
  background: var(--site-hct-url) center top / var(--site-hct-size) repeat !important;
}

body.page .page-header .container,
body.single .page-header .container,
body.archive .page-header .container,
body.blog .page-header .container{
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

body.page .site-body-container.container,
body.single .site-body-container.container,
body.archive .site-body-container.container,
body.blog .site-body-container.container{
  margin-bottom: 0 !important;
}
/* fixed pages: remove top/bottom HCT bands around page title, keep side gutters only */
body.page .page-header,
body.page #breadcrumb,
body.single .page-header,
body.single #breadcrumb,
body.archive .page-header,
body.archive #breadcrumb,
body.blog .page-header,
body.blog #breadcrumb{
  background-color: #ffffff !important;
  background-image: linear-gradient(
    to right,
    rgba(255,255,255,0) 0,
    rgba(255,255,255,0) var(--site-hct-gutter),
    #ffffff var(--site-hct-gutter),
    #ffffff calc(100% - var(--site-hct-gutter)),
    rgba(255,255,255,0) calc(100% - var(--site-hct-gutter)),
    rgba(255,255,255,0) 100%
  ) !important;
}

body.page .page-header .container,
body.page #breadcrumb .container,
body.single .page-header .container,
body.single #breadcrumb .container,
body.archive .page-header .container,
body.archive #breadcrumb .container,
body.blog .page-header .container,
body.blog #breadcrumb .container{
  background: #ffffff !important;
}
/* fixed pages: page title / breadcrumb should show side HCT gutters */
body.page .page-header,
body.page #breadcrumb,
body.single .page-header,
body.single #breadcrumb,
body.archive .page-header,
body.archive #breadcrumb,
body.blog .page-header,
body.blog #breadcrumb{
  background-color: #ffffff !important;
  background-image:
    linear-gradient(
      to right,
      rgba(255,255,255,0) 0,
      rgba(255,255,255,0) var(--site-hct-gutter),
      #ffffff var(--site-hct-gutter),
      #ffffff calc(100% - var(--site-hct-gutter)),
      rgba(255,255,255,0) calc(100% - var(--site-hct-gutter)),
      rgba(255,255,255,0) 100%
    ),
    var(--site-hct-url) !important;
  background-repeat: no-repeat, repeat !important;
  background-position: center top, center top !important;
  background-size: auto, var(--site-hct-size) !important;
}
/* news: remove bottom white gap before footer */
body.post-type-archive-post .site-body,
body.page-id-53 .site-body{
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.post-type-archive-post .site-body-container.container,
body.page-id-53 .site-body-container.container,
body.post-type-archive-post .entry-body > :last-child,
body.page-id-53 .entry-body > :last-child{
  margin-bottom: 0 !important;
}

/* message: footer must stay visible and dark */
.site-footer,
.siteFooter,
#footer,
.vk-pageFooter,
.site-footer .container,
.siteFooter .container,
#footer .container,
.vk-pageFooter .container{
  background-color: #00142e !important;
  background-image: none !important;
  color: #ffffff !important;
}

/* top reason: increase left inner whitespace */
body.home .entry-body > .wp-block-group.bg-geo-navy.overlay-blue-30 > h2.wp-block-heading{
  padding-left: 88px !important;
  padding-right: 56px !important;
}

body.home .entry-body > .wp-block-group.bg-geo-navy.overlay-blue-30 > .reason-card > .wp-block-columns{
  padding-left: 88px !important;
  padding-right: 56px !important;
}

@media (max-width: 781px){
  body.home .entry-body > .wp-block-group.bg-geo-navy.overlay-blue-30 > h2.wp-block-heading,
  body.home .entry-body > .wp-block-group.bg-geo-navy.overlay-blue-30 > .reason-card > .wp-block-columns{
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}
/* news: kill remaining 24px seam before footer */
body.post-type-archive-post .site-footer,
body.page-id-53 .site-footer{
  margin-top: -24px !important;
}

/* message page: force dark footer despite ui-okura-heritage overrides */
body.page-id-61 footer.site-footer,
body.page-id-61 footer.site-footer .container,
body.page-id-61 .site-footer,
body.page-id-61 .site-footer .container{
  background: #00142e !important;
  background-color: #00142e !important;
  background-image: none !important;
  color: #ffffff !important;
}

/* 2026-04-15 remove FAQ pale separator */
body.home .entry-body > .wp-block-group.sec-faq-max{
  border-top: 0 !important;
}


/* 2026-04-16 add flow->faq separator */
body.home .entry-body > .wp-block-group.hero-geo-cta + .wp-block-group + .wp-block-group{
  border-top: 1px solid #e5e5e5 !important;
}

/* 2026-04-16 mobile page title/band refinements */
@media (max-width: 781px){
  body.page .page-header,
  body.page #breadcrumb,
  body.page .site-body{
    background: transparent !important;
  }

  body.page .page-header .container,
  body.page #breadcrumb .container,
  body.page .site-body-container.container{
    width: auto !important;
    background: #ffffff !important;
  }
}

/* 2026-04-17 mobile: ultra-thin side gutters for TOP reason/concept */
@media (max-width: 781px){
  body.home .entry-body > .wp-block-group.bg-geo-navy.overlay-blue-30 > h2.wp-block-heading,
  body.home .entry-body > .wp-block-group.bg-geo-navy.overlay-blue-30 > .reason-card > .wp-block-columns,
  body.home .entry-body > .wp-block-group.hero-geo-cta > h2.wp-block-heading,
  body.home .entry-body > .wp-block-group.hero-geo-cta > p:not(:empty),
  body.home .entry-body > .wp-block-group.hero-geo-cta > .wp-block-buttons{
    padding-left: 4px !important;
    padding-right: 4px !important;
  }

  body.home .entry-body > .wp-block-group.bg-geo-navy.overlay-blue-30 > .reason-card p,
  body.home .entry-body > .wp-block-group.hero-geo-cta > p:not(:empty){
    max-width: none !important;
    width: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* 2026-04-17 mobile: concept section uses PC-like HCT background (no side bands) */
@media (max-width: 781px){
  body.home .entry-body > .wp-block-group.hero-geo-cta{
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    background: var(--site-hct-url) center top / var(--site-hct-size) repeat !important;
  }

  body.home .entry-body > .wp-block-group.hero-geo-cta,
  body.home .entry-body > .wp-block-group.hero-geo-cta *{
    color: #ffffff !important;
  }

  body.home .entry-body > .wp-block-group.hero-geo-cta .wp-block-button__link{
    color: #111111 !important;
  }
}

/* 2026-04-17 mobile: concept text width align with other sections */
@media (max-width: 781px){
  body.home .entry-body > .wp-block-group.hero-geo-cta > h2.wp-block-heading,
  body.home .entry-body > .wp-block-group.hero-geo-cta > p:not(:empty),
  body.home .entry-body > .wp-block-group.hero-geo-cta > .wp-block-buttons{
    width: calc(100% - 40px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* 2026-04-17 mobile: tighten top section gutters from 4px -> 2px */
@media (max-width: 781px){
  body.home .site-body-container.container{
    padding-left: 2px !important;
    padding-right: 2px !important;
  }

  body.home .entry-body > .wp-block-group.bg-geo-navy.overlay-blue-30 > h2.wp-block-heading,
  body.home .entry-body > .wp-block-group.bg-geo-navy.overlay-blue-30 > .reason-card > .wp-block-columns,
  body.home .entry-body > .wp-block-group.hero-geo-cta > h2.wp-block-heading,
  body.home .entry-body > .wp-block-group.hero-geo-cta > p:not(:empty),
  body.home .entry-body > .wp-block-group.hero-geo-cta > .wp-block-buttons{
    padding-left: 2px !important;
    padding-right: 2px !important;
  }
}

/* 2026-04-17 mobile: FAQ right-side extra gap fix */
@media (max-width: 781px){
  body.home .entry-body > .wp-block-group.sec-faq-max{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 2px !important;
    padding-right: 2px !important;
    box-sizing: border-box !important;
  }

  body.home .entry-body > .wp-block-group.sec-faq-max .faqSection,
  body.home .entry-body > .wp-block-group.sec-faq-max .faqItem{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
}

/* 2026-04-17 mobile: enlarge white space under news section */
@media (max-width: 781px){
  body.home .entry-body > .wp-block-group.sec-faq-max + .wp-block-group{
    padding-bottom: 40px !important;
    margin-bottom: 0 !important;
    background: #ffffff !important;
  }
}
