/* Category copy and product stages share the existing glass and motion layout. */
.catalog-section-intro,.catalog-service-intro{position:relative;z-index:4;width:85%;max-width:1400px;margin:0 auto 2.2rem;color:#f6f9fc;font-family:ryo-gothic-plusn,sans-serif;font-size:clamp(18px,1.8vw,28px);font-weight:600;line-height:1.6;letter-spacing:.06em}
.catalog-section-intro span,.catalog-service-intro span{display:block;margin-top:.45rem;font-size:clamp(12px,1vw,16px);font-weight:400;letter-spacing:.04em}
.catalog-service-intro{color:#07151f;margin-bottom:3rem}
.catalog-product-stage{display:block;margin-top:.65em;font-size:.45em;font-weight:400;letter-spacing:.06em}
.catalog-feature-list{padding-left:1.25em;line-height:1.9}
.catalog-feature-list li+li{margin-top:.55em}
.catalog-status{display:inline-block;padding:.45em 1em;border:1px solid currentColor;border-radius:100px;font-size:.9em}
.works_detail_body h3{margin:2.5em 0 1em;font-size:1.2em;line-height:1.6}
.works_detail_body a{text-decoration:underline;text-underline-offset:.2em}
.nav_item_link,.footer_menu_link,.bottom_item_link,.nav_sns_item_link{font-family:ryo-gothic-plusn,sans-serif}
.nav_item_link{font-size:clamp(20px,2.2vw,32px);line-height:1.5;letter-spacing:.035em}
.footer_menu_link{font-size:clamp(12px,1.5vw,24px)}
.bottom_item_link{font-size:clamp(12px,1.25vw,20px)}
.nav_sns_item_link{font-size:clamp(11px,1vw,16px)}
@media(max-width:767px){.catalog-section-intro,.catalog-service-intro{width:86%;margin-bottom:1.5rem;font-size:18px}.catalog-section-intro span,.catalog-service-intro span{font-size:12px}.nav_item_link{font-size:25px}.catalog-product-stage{font-size:12px}.footer_menu_link,.bottom_item_link{font-size:11px;letter-spacing:0}}

.recruit_positions_item_text{font-family:ryo-gothic-plusn,sans-serif;font-size:clamp(13px,1.15vw,18px);line-height:1.5}
.catalog-product-stage{font-size:12px;line-height:1.5}
/* Placeholder media stays in the source for the existing page hooks. */
.recruit_special_youtube,.recruit_positions_document_slide,.recruit_office_map,.recruit_tvcm_youtube{display:none}
/* Keep product names and stages together while the original card keeps its width. */
.recruit_positions_item_text{position:relative;left:50%;width:max-content;max-width:none;transform:translateX(-50%);white-space:nowrap;text-align:center}
@media(max-width:767px){.recruit_positions_item:nth-child(4) .recruit_positions_item_text{transform:translateX(calc(-50% - 12px))}.recruit_positions_item:nth-child(5) .recruit_positions_item_text{transform:translateX(calc(-50% + 12px))}}

/* Seven repeatText layers travel by up to 60% of a glyph height. Reserve their
   full animated envelope before the normal-flow category copy begins. */
.catalog-title-stage{position:relative;width:100%;font-size:var(--catalog-title-size);height:2.2em}
.catalog-title-stage>.repeatText{top:.32em}
.home_service:has(>.catalog-title-stage){padding-top:min(180px,11.25vw)}
@media(max-width:767px){.home_service:has(>.catalog-title-stage){padding-top:min(100px,11.7647058824vw)}}
/* GSAP hides ABOUT after its final 100px handoff; keep MENU light until that hook. */
body:has(.catalog-title-stage):has(.home_about:not([style*="visibility: hidden"])) .menu_text{color:#f6f9fc}

/* Keep the introduction with the pinned product roll, below the title envelope. */
.home_works_wrap>.catalog-section-intro{position:absolute;left:7.5%;bottom:clamp(150px,20vh,220px);width:85%;margin:0;visibility:hidden}
.home_works_wrap:has(>.home_works_inner.is-visible .home_works_item[data-item-active=true])>.catalog-section-intro{visibility:visible}
@media(max-width:767px){.home_works_wrap>.catalog-section-intro{left:7%;width:86%;bottom:clamp(132px,20vh,180px)}}

/* Compact English headings share one measure with the seven-layer animation envelope. */
:root{--catalog-title-size:min(160px,10vw)}
.repeatText{font-family:junni;font-size:var(--catalog-title-size);white-space:nowrap;letter-spacing:.015em}
.repeatText_wrap span{line-height:1;padding-top:.12em}
.pageHead_title{font-family:junni;font-size:clamp(32px,7.5vw,110px);letter-spacing:.035em}
.sectionTitle_en{font-family:Barlow Condensed,sans-serif;font-size:clamp(28px,6vw,88px);line-height:1.35;letter-spacing:.035em}
.home_service_name,.service_solution_name{font-family:ryo-gothic-plusn,sans-serif;font-size:clamp(20px,3.6vw,56px);line-height:1.4;letter-spacing:0}
.menu_text{font-family:ryo-gothic-plusn,sans-serif;font-size:12px;letter-spacing:.05em}
.flipBtn_item_text,.footer_pageTop_text,.bottom_item_text,.scrollDown_text,.moreDetail_text{font-family:ryo-gothic-plusn,sans-serif;letter-spacing:.04em}

@media(max-width:767px){.catalog-title-stage{height:3.2em}.catalog-title-stage>.repeatText{top:1.3em}}

/* Keep PRODUCTS clear of ABOUT and tighten title-to-roll spacing. */
@media(min-width:768px){
  .home_works:has(>.catalog-title-stage){--catalog-products-entry-clearance:max(0px,calc(470px - var(--catalog-title-size)*3.32))}
  .home_works>.catalog-title-stage{height:calc(1.6em + var(--catalog-products-entry-clearance))}
  .home_works>.catalog-title-stage>.home_works_title{top:calc(1.72em + var(--catalog-products-entry-clearance))}
  .home_works:has(>.catalog-title-stage)>.crud5th-scene-heading{top:calc(70px + var(--catalog-title-size)*1.4 + var(--catalog-products-entry-clearance))}
}
@media(max-width:767px){
  .home_works>.catalog-title-stage{height:2.4em}
  .home_works>.catalog-title-stage>.home_works_title{top:calc(1.3em + 110px)}
  .home_works:has(>.catalog-title-stage)>.crud5th-scene-heading{top:74px}
}
