/* ========================================
   ãƒ†ãƒ³ãƒ•ã‚¡ã‚¤ãƒ–çµ±ä¸€ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚¹ã‚¿ã‚¤ãƒ«
   ã‚³ãƒ¼ãƒãƒ¬ãƒ¼ãƒˆã‚µã‚¤ãƒˆãƒ»æŽ¡ç”¨ã‚µã‚¤ãƒˆå…±é€š
   ======================================== */

/* ========================================
   ã‚µã‚¤ãƒˆåˆ¥èƒŒæ™¯è‰²è¨­å®š
   ======================================== */

/* æŽ¡ç”¨ã‚µã‚¤ãƒˆï¼ˆç·‘ãƒ™ãƒ¼ã‚¹ï¼‰ã®èƒŒæ™¯è‰² */
.recruit-site .company,
.recruit-site .workstyle,
.recruit-site .job-description,
.recruit-site .join-us,
.recruit-site .recruitment-process {
  background-color: var(--color-primary-50); /* æˆé•·ã‚°ãƒªãƒ¼ãƒ³ã®è–„ã„è‰²ã§è¦ªã—ã¿ã‚„ã™ã• */
}

.recruit-site .features,
.recruit-site .selection {
  background-color: var(--color-neutral-white);
}

/* ã‚³ãƒ¼ãƒãƒ¬ãƒ¼ãƒˆã‚µã‚¤ãƒˆï¼ˆé’ãƒ™ãƒ¼ã‚¹ï¼‰ã®èƒŒæ™¯è‰² - äº¤äº’ã«è¨­å®š */
/* ãƒ’ãƒ¼ãƒ­ãƒ¼ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®æ¬¡ã‹ã‚‰äº¤äº’ã«ãƒ—ãƒ©ã‚¤ãƒžãƒªãƒ¼50ã¨ãƒ›ãƒ¯ã‚¤ãƒˆã‚’è¨­å®š */
.corporate-site .news {
  background-color: var(--color-primary-50); /* ãŠçŸ¥ã‚‰ã›: ãƒ—ãƒ©ã‚¤ãƒžãƒªãƒ¼50 */
}

.corporate-site .pickup-content {
  background-color: var(--color-neutral-white); /* äº‹æ¥­å†…å®¹: ãƒ›ãƒ¯ã‚¤ãƒˆ */
}

.corporate-site .strengths {
  background-color: var(--color-primary-50); /* ç§ãŸã¡ã®å¼·ã¿: ãƒ—ãƒ©ã‚¤ãƒžãƒªãƒ¼50 */
}

.corporate-site .case-studies {
  background-color: var(--color-neutral-white); /* å®Ÿç¸¾: ãƒ›ãƒ¯ã‚¤ãƒˆ */
}

.corporate-site .tech-blog {
  background-color: var(--color-primary-50); /* ãƒ†ãƒƒã‚¯ãƒ–ãƒ­ã‚°: ãƒ—ãƒ©ã‚¤ãƒžãƒªãƒ¼50 */
}

.corporate-site .curriculum {
  background-color: var(--color-neutral-white); /* ã‚¢ã‚«ãƒ‡ãƒŸãƒ¼: ãƒ›ãƒ¯ã‚¤ãƒˆ */
}

.corporate-site .glossary {
  background-color: var(--color-primary-50); /* ç”¨èªžé›†: ãƒ—ãƒ©ã‚¤ãƒžãƒªãƒ¼50 */
}

.corporate-site .company-overview,
.corporate-site .cta {
  background-color: var(--color-neutral-white); /* ä¼šç¤¾æ¦‚è¦ä¸‹éƒ¨CTA: ãƒ›ãƒ¯ã‚¤ãƒˆ */
}

/* ã‚»ã‚¯ã‚·ãƒ§ãƒ³å…±é€špadding - çµ±ä¸€ç®¡ç† */
section {
  padding: var(--spacing-12) 0;
}

/* ãƒ’ãƒ¼ãƒ­ãƒ¼ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã¯ç‰¹åˆ¥ãªãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã®ãŸã‚ä¾‹å¤– */
section.hero {
  padding: 0; /* ãƒ’ãƒ¼ãƒ­ãƒ¼ã¯å€‹åˆ¥ã«paddingã‚’ç®¡ç† */
  min-height: 100vh; /* PCç”¨ */
  padding-top: var(--header-height, 64px); /* ãƒ˜ãƒƒãƒ€ãƒ¼ã¨é‡ãªã‚‰ãªã„ã‚ˆã†ã«èª¿æ•´ */
}

/* ã‚»ã‚¯ã‚·ãƒ§ãƒ³ãƒ˜ãƒƒãƒ€ãƒ¼å…±é€šã‚¹ã‚¿ã‚¤ãƒ« */
.section__header {
  text-align: left;
  margin-bottom: var(--spacing-2);
  display: flex;
  align-items: baseline;
  gap: var(--spacing-2);
  flex-wrap: wrap;
}

.section__title {
  font-size: var(--font-size-3xl);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
  color: var(--color-primary-500);
  margin: 0;
}

.section__subtitle {
  font-size: var(--font-size-base);
  color: var(--color-neutral-500);
  font-weight: var(--font-weight-medium);
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-wide);
  margin: 0;
}

.section__description {
  font-size: var(--font-size-base);
  color: var(--color-text-secondary);
  line-height: var(--line-height-relaxed);
  margin: var(--spacing-2) 0 var(--spacing-4);
  max-width: var(--content-max-width);
}

/* ã‚»ã‚¯ã‚·ãƒ§ãƒ³ãƒ•ãƒƒã‚¿ãƒ¼å…±é€šã‚¹ã‚¿ã‚¤ãƒ« */
.section__footer {
  text-align: center;
  margin-top: var(--spacing-8);
}

/* ãƒ¬ã‚¹ãƒãƒ³ã‚·ãƒ–ã‚»ã‚¯ã‚·ãƒ§ãƒ³ */
@media (max-width: 767px) {
  section {
    padding: var(--spacing-6) 0; /* ã‚¿ãƒ–ãƒ¬ãƒƒãƒˆã§ã‚¹ãƒšãƒ¼ã‚·ãƒ³ã‚°ã‚’ç¸®å° */
  }
  
  .section__title {
    font-size: var(--font-size-xl);
  }
  
  .section__subtitle {
    font-size: var(--font-size-base);
  }
  
  .section__header {
    margin-bottom: var(--spacing-3); /* ãƒžãƒ¼ã‚¸ãƒ³ã‚’ç¸®å° */
  }
}

@media (max-width: 480px) {
  section {
    padding: var(--spacing-6) 0; /* ã‚¹ãƒžãƒ¼ãƒˆãƒ•ã‚©ãƒ³ã§é©åº¦ã«ç¸®å° (24px) */
  }
  
  .section__header {
    margin-bottom: var(--spacing-2); /* ãƒžãƒ¼ã‚¸ãƒ³ã‚’ç¸®å° */
  }
}

/* ã‚¢ã‚¯ã‚»ã‚·ãƒ“ãƒªãƒ†ã‚£ */
@media (prefers-reduced-motion: reduce) {
  section {
    transition: none;
  }
  
  .section__title,
  .section__subtitle,
  .section__description {
    transition: none;
  }
}

/* é«˜ã‚³ãƒ³ãƒˆãƒ©ã‚¹ãƒˆãƒ¢ãƒ¼ãƒ‰å¯¾å¿œ */
@media (prefers-contrast: high) {
  .section__title {
    color: var(--color-neutral-900);
  }
  
  .section__subtitle {
    color: var(--color-neutral-700);
  }
  
  .section__description {
    color: var(--color-neutral-800);
  }
}

/* ========================================
   ãƒ’ãƒ¼ãƒ­ãƒ¼ã‚»ã‚¯ã‚·ãƒ§ãƒ³å…±é€šã‚¹ã‚¿ã‚¤ãƒ«
   ======================================== */

/* ãƒ’ãƒ¼ãƒ­ãƒ¼åŸºæœ¬æ§‹é€  */
.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.hero__content {
  position: relative;
  z-index: 2;
  max-width: var(--container-max-width);
  margin: 0 auto;
  text-align: left; /* å·¦å¯„ã›ã«çµ±ä¸€ */
  min-height: calc(100vh - var(--header-height, 64px));
  padding-top: var(--header-height, 64px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.hero__title {
  font-size: var(--font-size-5xl); /* 6xl â†’ 5xl ã«å¤‰æ›´ */
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-normal);
  margin-bottom: var(--spacing-4);
  text-align: left; /* å·¦å¯„ã›ã«çµ±ä¸€ */
  position: relative; /* å€‹åˆ¥èª¿æ•´ç”¨ã«relativeã«å¤‰æ›´ */
  bottom: var(--spacing-hero-title-bottom-desktop); /* ãƒ‡ã‚¶ã‚¤ãƒ³ã‚·ã‚¹ãƒ†ãƒ ã®å¤‰æ•°ã‚’ä½¿ç”¨ */
}

.hero__subtitle {
  font-size: var(--font-size-xl); /* 2xl â†’ xl ã«å¤‰æ›´ */
  font-weight: var(--font-weight-medium);
  color: var(--color-neutral-800); /* ãƒ–ãƒ©ãƒƒã‚¯ã‹ã‚‰ãƒ‹ãƒ¥ãƒ¼ãƒˆãƒ©ãƒ«800ã«å¤‰æ›´ */
  line-height: var(--line-height-normal); /* æ˜Žç¤ºçš„ã«æŒ‡å®š */
  margin-bottom: var(--spacing-6);
  text-align: left; /* å·¦å¯„ã›ã«çµ±ä¸€ */
  border-bottom: 1px solid var(--color-neutral-200); /* åŒºåˆ‡ã‚Šç·šã‚’è¿½åŠ  */
  padding-bottom: var(--spacing-2); /* åŒºåˆ‡ã‚Šç·šã¨ã®é–“éš” */
}

.hero__description {
  font-size: var(--font-size-base); /* lg â†’ base ã«å¤‰æ›´ */
  color: var(--color-neutral-800); /* ãƒ–ãƒ©ãƒƒã‚¯ã‹ã‚‰ãƒ‹ãƒ¥ãƒ¼ãƒˆãƒ©ãƒ«800ã«å¤‰æ›´ */
  line-height: var(--line-height-normal); /* relaxed â†’ normal ã«å¤‰æ›´ */
  margin-bottom: var(--spacing-8);
  text-align: left; /* å·¦å¯„ã›ã«çµ±ä¸€ */
}

/* ãƒ’ãƒ¼ãƒ­ãƒ¼CTA */
.hero__cta {
  display: flex;
  gap: var(--spacing-4);
  justify-content: flex-start; /* å·¦å¯„ã›ã«çµ±ä¸€ */
  flex-wrap: wrap;
}

/* ãƒ’ãƒ¼ãƒ­ãƒ¼ãƒ¬ã‚¹ãƒãƒ³ã‚·ãƒ– */
/* ãƒ’ãƒ¼ãƒ­ãƒ¼ãƒ†ã‚­ã‚¹ãƒˆãƒ–ãƒ­ãƒƒã‚¯ï¼ˆã‚µãƒ–ã‚¿ã‚¤ãƒˆãƒ«ï¼‹ãƒ‡ã‚£ã‚¹ã‚¯ãƒªãƒ—ã‚·ãƒ§ãƒ³ï¼‰ */
.hero__text-block {
  position: absolute;
  bottom: var(--spacing-hero-text-block-bottom-desktop);
  left: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-3); /* 0ã‹ã‚‰spacing-3ã«å¤‰æ›´ */
  z-index: 2; /* ã‚¹ã‚¯ãƒ­ãƒ¼ãƒ«ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã‚ˆã‚Šä¸‹ã«é…ç½® */
  background: var(--color-neutral-white-60); /* èƒŒæ™¯é€éŽã‚’è¿½åŠ  */
  padding: var(--spacing-3) var(--spacing-4); /* ãƒ‘ãƒ‡ã‚£ãƒ³ã‚°ã‚’è¿½åŠ  */
  border-radius: var(--radius-md); /* è§’ä¸¸ã‚’è¿½åŠ  */
}

/* hero__text-blockå†…ã®å­è¦ç´ ã®margin-bottomã‚’ãƒªã‚»ãƒƒãƒˆ */
.hero__text-block .hero__subtitle,
.hero__text-block .hero__description {
  margin-bottom: 0;
}

@media (max-width: 1024px) {
  .hero__text-block {
    bottom: var(--spacing-hero-text-block-bottom-large-tablet); /* SCROLLã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã‚ã‚Šã®ç¯„å›² */
    background: var(--color-neutral-white-60); /* èƒŒæ™¯é€éŽã‚’æ˜Žç¤ºçš„ã«è¨­å®š */
    padding: var(--spacing-3) var(--spacing-4); /* ãƒ‘ãƒ‡ã‚£ãƒ³ã‚°ã‚’æ˜Žç¤ºçš„ã«è¨­å®š */
  }
  
  .hero__title {
    bottom: var(--spacing-hero-title-bottom-large-tablet); /* 1024pxä»¥ä¸‹ç”¨ã®ä½ç½®èª¿æ•´ */
  }
}

@media (max-width: 767px) {
  .hero__text-block {
    bottom: var(--spacing-hero-text-block-bottom-tablet); /* SCROLLã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ãªã—ã®ç¯„å›² */
    background: var(--color-neutral-white-60); /* èƒŒæ™¯é€éŽã‚’æ˜Žç¤ºçš„ã«è¨­å®š */
    padding: var(--spacing-3) var(--spacing-4); /* ãƒ‘ãƒ‡ã‚£ãƒ³ã‚°ã‚’æ˜Žç¤ºçš„ã«è¨­å®š */
  }
  
  .hero__title {
    bottom: var(--spacing-hero-title-bottom-tablet); /* 768pxä»¥ä¸‹ç”¨ã®ä½ç½®èª¿æ•´ */
  }
  
  section.hero {
    min-height: 80vh; /* 100vh â†’ 80vh ã«å¤‰æ›´ */
    padding-top: var(--header-height-mobile, 56px);
  }
  
  .hero {
    min-height: 80vh; /* 100vh â†’ 80vh ã«å¤‰æ›´ */
    padding-top: var(--header-height-mobile, 56px);
  }
  
  .hero__content {
    min-height: calc(80vh - var(--header-height-mobile, 56px)); /* 80vh ã«æˆ»ã™ */
    padding-top: var(--header-height-mobile, 56px);
    padding-bottom: var(--spacing-4); /* ä¸‹éƒ¨ã«ä½™ç™½ã‚’è¿½åŠ  */
  }
  
  .hero__title {
    font-size: var(--font-size-4xl);
    margin-bottom: var(--spacing-3);
  }
  
  .hero__subtitle {
    font-size: var(--font-size-lg); /* xl â†’ lg ã«ãƒ¯ãƒ³ã‚µã‚¤ã‚ºãƒ€ã‚¦ãƒ³ */
  }
  
  .hero__description {
    font-size: var(--font-size-sm); /* base â†’ sm ã«ãƒ¯ãƒ³ã‚µã‚¤ã‚ºãƒ€ã‚¦ãƒ³ */
  }
  
  .hero__cta {
    flex-direction: column;
    align-items: flex-start; /* å·¦å¯„ã›ã«çµ±ä¸€ */
  }
  
  /* ã‚¹ã‚¯ãƒ­ãƒ¼ãƒ«è¡¨ç¤ºã‚’éžè¡¨ç¤º */
  .hero__scroll {
    display: none !important;
  }
}

@media (max-width: 480px) {
  .hero__text-block {
    bottom: var(--spacing-hero-text-block-bottom-mobile); /* ã‚¹ãƒžãƒ¼ãƒˆãƒ•ã‚©ãƒ³ç”¨ */
    background: var(--color-neutral-white-60); /* èƒŒæ™¯é€éŽã‚’ç¶­æŒ */
    padding: var(--spacing-1) var(--spacing-2); /* ã‚¹ãƒžãƒ¼ãƒˆãƒ•ã‚©ãƒ³ã§ãƒ‘ãƒ‡ã‚£ãƒ³ã‚°ã‚’ç¸®å° */
  }
  
  .hero__title {
    bottom: var(--spacing-hero-title-bottom-mobile); /* 480pxä»¥ä¸‹ç”¨ã®ä½ç½®èª¿æ•´ */
  }
}

@media (max-width: 480px) {
  .hero__content {
    max-width: var(--content-max-width-mobile); /* ãƒ‡ã‚¶ã‚¤ãƒ³ã‚·ã‚¹ãƒ†ãƒ ã®å¤‰æ•°ã‚’ä½¿ç”¨ */
  }
  
  .hero__title {
    font-size: var(--font-size-3xl);
  }
  
  .hero__subtitle {
    font-size: var(--font-size-base); /* lg â†’ base ã«ãƒ¯ãƒ³ã‚µã‚¤ã‚ºãƒ€ã‚¦ãƒ³ */
  }
  
  .hero__description {
    font-size: var(--font-size-sm); /* base â†’ sm ã«ãƒ¯ãƒ³ã‚µã‚¤ã‚ºãƒ€ã‚¦ãƒ³ */
  }
  
  .hero__cta {
    gap: var(--spacing-2);
  }
}

@media (max-width: 320px) {
  
  .hero__content {
    max-width: var(--content-max-width-small); /* ãƒ‡ã‚¶ã‚¤ãƒ³ã‚·ã‚¹ãƒ†ãƒ ã®å¤‰æ•°ã‚’ä½¿ç”¨ */
  }
  
  .hero__title {
    font-size: var(--font-size-2xl);
  }
  
  .hero__subtitle {
    font-size: var(--font-size-base);
  }
  
  .hero__description {
    font-size: var(--font-size-sm); /* æœ€å°ã‚µã‚¤ã‚ºã§ã‚‚ãƒ¯ãƒ³ã‚µã‚¤ã‚ºãƒ€ã‚¦ãƒ³ */
  }
}

/* ========================================
   ã‚°ãƒªãƒƒãƒ‰ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆå…±é€šã‚¹ã‚¿ã‚¤ãƒ«
   ======================================== */

/* ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚°ãƒªãƒƒãƒ‰åŸºæœ¬æ§‹é€  */
.section__grid {
  display: grid;
  gap: var(--spacing-6);
  grid-template-columns: 1fr;
}

/* 2ã‚«ãƒ©ãƒ ã‚°ãƒªãƒƒãƒ‰ */
.section__grid--2cols {
  grid-template-columns: repeat(2, 1fr);
}

/* 3ã‚«ãƒ©ãƒ ã‚°ãƒªãƒƒãƒ‰ */
.section__grid--3cols {
  grid-template-columns: repeat(3, 1fr);
}

/* ã‚°ãƒªãƒƒãƒ‰ãƒ¬ã‚¹ãƒãƒ³ã‚·ãƒ– */
@media (max-width: 1024px) {
  .section__grid--3cols {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .section__grid--2cols {
    grid-template-columns: 1fr;
  }
  
  .section__grid {
    gap: var(--spacing-4);
  }
}

@media (max-width: 480px) {
  .section__grid {
    gap: var(--spacing-3); /* ã‚¹ãƒžãƒ¼ãƒˆãƒ•ã‚©ãƒ³ã§ã•ã‚‰ã«ç¸®å° */
  }
}

/* ========================================
   ã‚¹ãƒ©ã‚¤ãƒ‰åž‹ãƒ’ãƒ¼ãƒ­ãƒ¼èƒŒæ™¯å…±é€šã‚¹ã‚¿ã‚¤ãƒ«
   ======================================== */

/* èƒŒæ™¯ç”»åƒã‚¹ãƒ©ã‚¤ãƒ€ãƒ¼ */
.hero__bg-slider {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.hero__bg-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin-top: var(--header-height, 64px); /* ãƒ˜ãƒƒãƒ€ãƒ¼åˆ†ã ã‘ä¸‹ã«ç§»å‹• */
  opacity: 0;
  transition: opacity 2s ease-in-out;
}

.hero__bg-slide--active {
  opacity: 1;
}

.hero__bg-picture {
  width: 100%;
  height: 100%;
  display: block;
}

.hero__bg-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* ãƒ¬ã‚¹ãƒãƒ³ã‚·ãƒ–å¯¾å¿œ - èƒŒæ™¯ç”»åƒã®ä½ç½®èª¿æ•´ */
@media (max-width: 767px) {
  .hero__bg-slide {
    margin-top: var(--header-height-mobile, 64px);
    height: 80vh; /* èƒŒæ™¯ç”»åƒã‚‚80vhã«èª¿æ•´ */
  }
}

/* ã‚°ãƒ©ãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³ã‚ªãƒ¼ãƒãƒ¼ãƒ¬ã‚¤ */
.hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  animation: hero-background-flow 20s ease-in-out infinite;
  z-index: 1;
}

/* æ³¢ã®ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ */
@keyframes hero-background-flow {
  0%, 100% {
    background-position: 0% 0%, 100% 100%, 0% 0%, 100% 100%, 50% 0%, 0% 100%, 0 0;
  }
  25% {
    background-position: -1% -1%, 99% 99%, -2% -1%, 98% 99%, 52% -1%, -2% 99%, 0 0;
  }
  50% {
    background-position: 1% -2%, 101% 98%, 1% -2%, 101% 98%, 49% -2%, 1% 98%, 0 0;
  }
  75% {
    background-position: -1% 1%, 99% 101%, -1% 1%, 99% 101%, 51% 1%, -1% 101%, 0 0;
  }
}

/* ãƒ’ãƒ¼ãƒ­ãƒ¼ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã®z-indexèª¿æ•´ */
.hero__content {
  position: relative;
  z-index: 3;
}

/* ãƒ’ãƒ¼ãƒ­ãƒ¼ã‚¿ã‚¤ãƒˆãƒ«ã®ã‚¢ã‚¯ã‚»ãƒ³ãƒˆã‚¹ã‚¿ã‚¤ãƒ« */
.hero__title--accent {
  background: linear-gradient(128deg, var(--color-primary-700), var(--color-primary-600));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ãƒ•ãƒ«ãƒ¯ã‚¤ãƒ‰åž‹ã®ä¸‹å±¤ãƒ’ãƒ¼ãƒ­ãƒ¼ï¼ˆæ–°å’ãƒ»ã‚­ãƒ£ãƒªã‚¢ãƒ»ãƒ‘ãƒ¼ãƒˆãƒŠãƒ¼ç­‰ï¼‰ */
.subpage-hero-full .hero__content {
  color: var(--color-neutral-white);
}

.subpage-hero-full .hero__title {
  color: var(--color-neutral-white);
  text-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}

.subpage-hero-full .hero__title--accent {
  background: none;
  -webkit-background-clip: initial;
  -webkit-text-fill-color: var(--color-neutral-white);
  background-clip: initial;
  color: var(--color-neutral-white);
  text-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}

.subpage-hero-full .hero__subtitle,
.subpage-hero-full .hero__description {
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
}

.subpage-hero-full .hero__scroll {
  color: var(--color-neutral-white);
  text-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
}

/* ãƒªã‚¯ãƒ«ãƒ¼ãƒˆç³»ãƒ•ãƒ«ãƒ’ãƒ¼ãƒ­ãƒ¼ã®ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆèª¿æ•´ */
.hero-new-grad.subpage-hero-full .hero__content,
.hero-mid-career.subpage-hero-full .hero__content {
  justify-content: flex-start;
  padding-top: calc(var(--header-height, 64px) + 48px);
  padding-bottom: 96px;
}

@media (max-width: 1024px) {
  .hero-new-grad.subpage-hero-full .hero__content,
  .hero-mid-career.subpage-hero-full .hero__content {
    padding-top: calc(var(--header-height, 64px) + 32px);
    padding-bottom: 64px;
  }
}

@media (max-width: 767px) {
  .hero-new-grad.subpage-hero-full .hero__content,
  .hero-mid-career.subpage-hero-full .hero__content {
    justify-content: flex-end;
    padding-top: calc(var(--header-height-mobile, 56px) + var(--spacing-3));
    padding-bottom: var(--spacing-6);
  }
}

.hero-new-grad.subpage-hero-full .hero__title,
.hero-mid-career.subpage-hero-full .hero__title {
  position: absolute;
  bottom: var(--spacing-section-padding);
  left: 0;
  right: 0;
}

@media (max-width: 767px) {
  .hero-new-grad.subpage-hero-full .hero__title,
  .hero-mid-career.subpage-hero-full .hero__title {
    bottom: var(--spacing-hero-title-bottom-mobile, 0);
    font-size: var(--font-size-2xl);
  }
}

/* ãƒ’ãƒ¼ãƒ­ãƒ¼ã‚¿ã‚° */
.hero__tag {
  display: inline-block;
  background: var(--color-primary-500);
  color: var(--color-neutral-white);
  padding: var(--spacing-2) var(--spacing-4);
  border-radius: var(--radius-none);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  margin-bottom: var(--spacing-1);
  box-shadow: 0 2px 4px rgba(34, 141, 196, 0.3);
  position: absolute;
  top: 0;
  z-index: 4;
}

/* ãƒ’ãƒ¼ãƒ­ãƒ¼ã‚µãƒ–ã‚¿ã‚¤ãƒˆãƒ«ã¨èª¬æ˜Žæ–‡ã®èƒŒæ™¯ */
.hero__subtitle,
.hero__description {
  margin: 0;
}

/* ã‚¹ã‚¯ãƒ­ãƒ¼ãƒ«è¡¨ç¤º */
.hero__scroll {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-sm);
  color: var(--color-neutral-white);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  position: absolute;
  bottom: var(--spacing-4);
  left: 50%;
  transform: translateX(-50%);
  z-index: 10; /* ãƒ†ã‚­ã‚¹ãƒˆãƒ–ãƒ­ãƒƒã‚¯ã‚ˆã‚Šä¸Šã«é…ç½® */
}

.hero__scroll-arrow {
  width: 2px;
  height: 30px;
  background-color: var(--color-neutral-white);
  position: relative;
  animation: scroll-bounce 2s infinite;
}

.hero__scroll-arrow::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: -3px;
  width: 8px;
  height: 8px;
  border-right: 2px solid var(--color-neutral-white);
  border-bottom: 2px solid var(--color-neutral-white);
  transform: rotate(45deg);
}

@keyframes scroll-bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-10px);
  }
  60% {
    transform: translateY(-5px);
  }
}

/* ãƒ¢ãƒã‚¤ãƒ«ã§ã®ã‚¹ã‚¯ãƒ­ãƒ¼ãƒ«è¡¨ç¤ºèª¿æ•´ */
@media (max-width: 767px) {
  .hero__scroll {
    bottom: var(--spacing-4); /* ãƒ¢ãƒã‚¤ãƒ«ã§ä½ç½®ã‚’èª¿æ•´ */
    font-size: var(--font-size-xs);
  }
  
  .hero__scroll-arrow {
    height: 20px; /* ãƒ¢ãƒã‚¤ãƒ«ã§çŸ¢å°ã‚’å°ã•ã */
  }
  
  .hero__scroll-arrow::after {
    width: 6px; /* ãƒ¢ãƒã‚¤ãƒ«ã§çŸ¢å°ã‚’å°ã•ã */
    height: 6px;
    left: -2px;
  }
}

/* ========================================
   ã‚«ãƒ¼ãƒ‰ãƒ›ãƒãƒ¼åŠ¹æžœå…±é€šã‚¹ã‚¿ã‚¤ãƒ«
   ======================================== */

/* ã‚«ãƒ¼ãƒ‰åŸºæœ¬ãƒ›ãƒãƒ¼åŠ¹æžœ */
.card,
.feature-card,
.workstyle-card,
.job-card,
.strength-item {
  transition: all 0.3s var(--animation-easing-ease);
}

.card:hover,
.feature-card:hover,
.workstyle-card:hover,
.job-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--elevation-lg);
}

/* ã‚«ãƒ¼ãƒ‰ãƒ•ã‚©ãƒ¼ã‚«ã‚¹åŠ¹æžœ */
.card:focus,
.feature-card:focus,
.workstyle-card:focus,
.job-card:focus {
  outline: 2px solid var(--color-primary-500);
  outline-offset: 2px;
}

/* ã‚«ãƒ¼ãƒ‰ãƒ›ãƒãƒ¼åŠ¹æžœã®ç„¡åŠ¹åŒ–ï¼ˆãƒªãƒ³ã‚¯ãŒãªã„ã‚«ãƒ¼ãƒ‰ç”¨ï¼‰ */
.card--no-hover:hover,
.feature-card--no-hover:hover,
.workstyle-card--no-hover:hover,
.job-card--no-hover:hover,
.strength-item:hover {
  transform: none;
  box-shadow: none;
}

/* ========================================
   ãƒ—ãƒ­ã‚»ã‚¹ã‚¹ãƒ†ãƒƒãƒ—å…±é€šã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆ
   ã‚³ãƒ¼ãƒãƒ¬ãƒ¼ãƒˆã‚µã‚¤ãƒˆãƒ»æŽ¡ç”¨ã‚µã‚¤ãƒˆå…±é€š
   ======================================== */

/* ãƒ—ãƒ­ã‚»ã‚¹ã‚¹ãƒ†ãƒƒãƒ— - 1åˆ—ã§ç¸¦ä¸¦ã³ï¼ˆãƒ‡ã‚¹ã‚¯ãƒˆãƒƒãƒ—ãƒ»ãƒ¢ãƒã‚¤ãƒ«å…±é€šï¼‰ */
.process-steps {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-6);
  margin-top: var(--spacing-6);
}

.process-step {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-4);
  text-align: left;
  position: relative;
}

.process-step__number {
  width: 60px;
  height: 60px;
  background: var(--color-primary-500);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  flex-shrink: 0;
  color: var(--color-neutral-white);
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
}

.process-step__content {
  flex: 1;
  text-align: left;
}

.process-step__title {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  color: var(--color-primary-500);
  margin-bottom: var(--spacing-3);
  text-align: left;
}

.process-step__description {
  line-height: var(--line-height-relaxed);
  color: var(--color-neutral-700);
  text-align: left;
}

.process-step__description p {
  margin: 0;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
}

/* ãƒ—ãƒ­ã‚»ã‚¹ã‚¹ãƒ†ãƒƒãƒ—ã®ãƒ¬ã‚¹ãƒãƒ³ã‚·ãƒ–å¯¾å¿œ */
@media (max-width: 960px) {
  .process-steps {
    gap: var(--spacing-4);
  }
  
  .process-step {
    gap: var(--spacing-3);
  }
  
  .process-step__number {
    width: 50px;
    height: 50px;
    font-size: var(--font-size-lg);
  }
}

@media (max-width: 480px) {
  .process-step__number {
    width: 40px;
    height: 40px;
    font-size: var(--font-size-base);
  }
  
  .process-step {
    gap: var(--spacing-2);
  }
  
  .process-step__title {
    font-size: var(--font-size-base);
    margin-bottom: var(--spacing-2);
  }
  
  .process-step__description p {
    font-size: var(--font-size-sm);
  }
}

/* ========================================
   ä¼šç¤¾æ¦‚è¦ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆï¼ˆçµ±ä¸€ä»•æ§˜ï¼‰
   ã‚³ãƒ¼ãƒãƒ¬ãƒ¼ãƒˆã‚µã‚¤ãƒˆãƒ»æŽ¡ç”¨ã‚µã‚¤ãƒˆãƒ»LPå…±é€š
   ======================================== */

/* About TenFiveã‚»ã‚¯ã‚·ãƒ§ãƒ³ */
.about-section {
  background: var(--color-neutral-50);
}

.about-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-12);
  align-items: center;
  max-width: var(--content-max-width);
  margin: 0 auto;
}

.about-tagline__main {
  display: block;
  font-size: var(--font-size-4xl);
  font-weight: var(--font-weight-semibold);
  color: var(--color-primary-600);
  margin-bottom: var(--spacing-2);
}

.about-tagline__subtitle {
  display: block;
  font-size: var(--font-size-3xl);
  font-weight: var(--font-weight-medium);
  color: var(--color-primary-600);
  margin-bottom: var(--spacing-4);
}

.about-tagline__sub {
  font-size: var(--font-size-lg);
  color: var(--color-neutral-700);
  line-height: var(--line-height-relaxed);
  margin: 0;
}

.about-image {
  display: flex;
  justify-content: center;
}

.about-img {
  width: 100%;
  max-width: 500px;
  height: auto;
  border-radius: var(--radius-lg);
  box-shadow: var(--elevation-md);
}

/* CEO Layout Styles */
.ceo-layout {
  display: grid;
  grid-template-columns: 1fr 200px;
  gap: var(--spacing-8);
  align-items: start;
}

.ceo-message-content {
  display: flex;
  flex-direction: column;
}

.ceo-image {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-4);
}

.ceo-img {
  width: 180px;
  height: auto;
  border-radius: var(--radius-md);
  object-fit: cover;
}

.ceo-info {
  text-align: center;
}

.ceo-name {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-neutral-900);
  margin: 0 0 var(--spacing-1) 0;
}

.ceo-title {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
  color: var(--color-primary-600);
  margin: 0;
}

/* Message Signature Styles */
.message-signature {
  margin-top: var(--spacing-8);
  text-align: right;
}

.signature-company {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-medium);
  color: var(--color-neutral-700);
  margin: 0 0 var(--spacing-2) 0;
}

.signature-title {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
  color: var(--color-neutral-900);
  margin: 0 0 var(--spacing-1) 0;
}

.signature-name {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-neutral-900);
  margin: 0;
}

/* ä»£è¡¨æŒ¨æ‹¶ã‚»ã‚¯ã‚·ãƒ§ãƒ³ */
.message-content {
  width: 100%;
  text-align: left;
}


.message-paragraph {
  font-size: var(--font-size-base);
  color: var(--color-neutral-700);
  line-height: var(--line-height-relaxed);
  margin-bottom: var(--spacing-6);
}

.message-paragraph:last-child {
  margin-bottom: 0;
}

/* ä¼æ¥­ç†å¿µã‚»ã‚¯ã‚·ãƒ§ãƒ³ */
.company-philosophy {
  background: var(--color-neutral-50);
}

.philosophy-content {
  max-width: var(--content-max-width);
  margin: 0 auto;
}

.philosophy-item {
  margin-bottom: var(--spacing-2);
  text-align: left;
}

.philosophy-title {
  font-size: var(--font-size-3xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-primary-600);
  margin: 0 0 var(--spacing-1) 0;
}

.philosophy-description {
  font-size: var(--font-size-xl);
  color: var(--color-neutral-700);
  line-height: var(--line-height-relaxed);
  margin: 0;
}

.philosophy-list {
  font-size: var(--font-size-xl);
  color: var(--color-neutral-700);
  line-height: var(--line-height-relaxed);
  margin: 0;
  padding-left: 0;
  list-style: none;
}

.philosophy-list li {
  margin-bottom: var(--spacing-2);
}

/* ä¼šç¤¾æ¦‚è¦ã‚»ã‚¯ã‚·ãƒ§ãƒ³ */
.details-table {
  max-width: var(--content-max-width);
  margin: 0 auto;
}

.company-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--color-neutral-white);
  border-radius: var(--radius-lg);
  overflow: hidden;
  /* box-shadow: var(--elevation-md); */
}

.company-table__label {
  background: var(--color-primary-50);
  padding: var(--spacing-6);
  font-weight: var(--font-weight-semibold);
  /* color: var(--color-primary-900); */
  text-align: left;
  width: 200px;
  border-bottom: 1px solid var(--color-neutral-200);
}

.company-table__value {
  padding: var(--spacing-6);
  color: var(--color-neutral-700);
  line-height: var(--line-height-relaxed);
  border-bottom: 1px solid var(--color-neutral-200);
}

.company-table tr:last-child .company-table__label,
.company-table tr:last-child .company-table__value {
  border-bottom: none;
}

/* ãƒ¡ãƒ³ãƒãƒ¼ç´¹ä»‹ã‚»ã‚¯ã‚·ãƒ§ãƒ³ */
.members-intro {
  background: var(--color-neutral-50);
}

.members-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--spacing-8);
  max-width: var(--content-max-width);
  margin: 0 auto;
}

.member-card {
  background: var(--color-neutral-white);
  border-radius: var(--radius-lg);
  padding: var(--spacing-8);
  box-shadow: var(--elevation-md);
  transition: var(--animation-transition);
  text-align: center;
}

.member-card:hover {
  box-shadow: var(--elevation-lg);
  transform: translateY(-4px);
}

.member-card__image {
  margin-bottom: var(--spacing-6);
}

.member-card__img {
  width: 120px;
  height: 120px;
  border-radius: var(--radius-full);
  object-fit: cover;
  box-shadow: var(--elevation-sm);
}

.member-card__name {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  color: var(--color-neutral-900);
  margin-bottom: var(--spacing-2);
}

.member-card__name-en {
  display: block;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-normal);
  color: var(--color-neutral-600);
  margin-top: var(--spacing-1);
}

.member-card__title {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-primary-600);
  margin-bottom: var(--spacing-1);
}

.member-card__subtitle {
  font-size: var(--font-size-sm);
  color: var(--color-neutral-600);
  margin: 0;
}

.member-card__description {
  font-size: var(--font-size-sm);
  color: var(--color-neutral-700);
  line-height: var(--line-height-relaxed);
  margin: var(--spacing-4) 0 0 0;
  text-align: left;
}

/* ä¸€ç·’ã«æœªæ¥ã‚’å‰µé€ ã‚»ã‚¯ã‚·ãƒ§ãƒ³ */
.join-us {
  background: var(--color-primary-50);
}

.join-content {
  text-align: left;
  max-width: var(--content-max-width);
  margin: 0 auto;
}

.join-title {
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-semibold);
  color: var(--color-neutral-900);
  margin-bottom: var(--spacing-4);
}

.join-description {
  font-size: var(--font-size-base);
  color: var(--color-neutral-700);
  line-height: var(--line-height-relaxed);
  margin-bottom: var(--spacing-8);
}

.join-buttons {
  display: flex;
  gap: var(--spacing-4);
  justify-content: center;
  flex-wrap: wrap;
}

/* ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInScale {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.about-content {
  animation: fadeInUp 0.8s ease-out;
}

.philosophy-card:nth-child(2) {
  animation-delay: 0.2s;
}

.member-card {
  animation: fadeInScale 0.8s ease-out;
}

.member-card:nth-child(2) {
  animation-delay: 0.2s;
}

.join-content {
  animation: fadeInUp 0.8s ease-out;
}

/* ä¼šç¤¾æ¦‚è¦ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆ - ãƒ¬ã‚¹ãƒãƒ³ã‚·ãƒ–å¯¾å¿œ */
@media (max-width: 767px) {
  .about-content {
    grid-template-columns: 1fr;
    gap: var(--spacing-8);
    text-align: left;
  }
  
  .about-tagline__main {
    font-size: var(--font-size-xl);
  }
  
  .about-tagline__subtitle {
    font-size: var(--font-size-2xl);
  }
  
  .ceo-layout {
    grid-template-columns: 1fr;
    gap: var(--spacing-6);
  }
  
  .ceo-image {
    order: -1;
    margin-bottom: var(--spacing-4);
  }
  
  .ceo-img {
    width: 150px;
    height: auto;
  }
  
  .ceo-name {
    font-size: var(--font-size-lg);
  }
  
  .ceo-title {
    font-size: var(--font-size-sm);
  }
  
  .message-signature {
    text-align: right;
    margin-top: var(--spacing-6);
  }
  
  .signature-company {
    font-size: var(--font-size-base);
  }
  
  .signature-name {
    font-size: var(--font-size-lg);
  }
  
  .philosophy-title {
    font-size: var(--font-size-xl);
  }
  
  .philosophy-description {
    font-size: var(--font-size-base);
  }
  
  .philosophy-list {
    font-size: var(--font-size-base);
  }
  
  .members-grid {
    grid-template-columns: 1fr;
    gap: var(--spacing-6);
  }
  
  .company-table__label {
    width: 150px;
    padding: var(--spacing-4);
  }
  
  .company-table__value {
    padding: var(--spacing-4);
  }
  
  .join-buttons {
    flex-direction: column;
    align-items: center;
  }
  
  .join-buttons .btn {
    width: 100%;
    max-width: 300px;
  }
}

@media (max-width: 480px) {
  .about-title {
    font-size: var(--font-size-2xl);
  }
  
  .about-tagline__main {
    font-size: var(--font-size-2xl);
  }
  
  .about-tagline__sub {
    font-size: var(--font-size-base);
  }
  
  .message-text {
    padding: var(--spacing-2) 0;
  }
  
  .message-paragraph {
    font-size: var(--font-size-base);
  }
  
  .member-card {
    padding: var(--spacing-6);
  }
  
  .member-card__img {
    width: 100px;
    height: 100px;
  }
  
  .company-table__label {
    width: 120px;
    padding: var(--spacing-3);
    font-size: var(--font-size-sm);
  }
  
  .company-table__value {
    padding: var(--spacing-3);
    font-size: var(--font-size-sm);
  }
  
  .join-title {
    font-size: var(--font-size-xl);
  }
  
  .join-description {
    font-size: var(--font-size-base);
  }
}
