@charset "UTF-8";

/* Loaded last so later page/home CSS cannot cancel the hidden state. */

html.js-reveal-on {
  overflow-x: hidden;
  overflow-x: clip;
}

html.js-reveal-on .home-top2026-heading,
html.js-reveal-on .home-top2026-news-card,
html.js-reveal-on .home-top2026-button-wrap,
html.js-reveal-on .home-top2026-works-carousel-outer,
html.js-reveal-on .home-top2026-services-copy,
html.js-reveal-on .home-top2026-services-text,
html.js-reveal-on .home-top2026-services-list > li,
html.js-reveal-on .home-top2026-company-card,
html.js-reveal-on .company-page-hero,
html.js-reveal-on .company-page-heading-main,
html.js-reveal-on .inner-page-lead,
html.js-reveal-on .inner-page-copy,
html.js-reveal-on .inner-filter,
html.js-reveal-on .concept-statement-heading,
html.js-reveal-on .concept-statement-catch,
html.js-reveal-on .concept-statement-body,
html.js-reveal-on .concept-venn-item,
html.js-reveal-on .concept-values-lead,
html.js-reveal-on .concept-values-item,
html.js-reveal-on .services-process-item,
html.js-reveal-on .services-works .company-page-section-heading,
html.js-reveal-on .services-works-btn-wrap,
html.js-reveal-on .services-works-gallery > li,
html.js-reveal-on .recruit-gallery > li,
html.js-reveal-on .recruit-pillar,
html.js-reveal-on .recruit-jobs,
html.js-reveal-on .recruit-entry,
html.js-reveal-on .company-page-section--profile .company-page-profile-body,
html.js-reveal-on .company-page-section--history,
html.js-reveal-on .company-page-section--ourone .company-page-section-heading,
html.js-reveal-on .company-ourone-lead,
html.js-reveal-on .company-ourone-item,
html.js-reveal-on .company-page-section--message .company-page-section-heading,
html.js-reveal-on .company-message-copy,
html.js-reveal-on .company-message-sign,
html.js-reveal-on .company-message-photo,
html.js-reveal-on .company-message-aside,
html.js-reveal-on .company-page-section--access,
html.js-reveal-on .company-access-photos > li,
html.js-reveal-on .company-page-section--download,
html.js-reveal-on .company-page-section--contact,
html.js-reveal-on .company-page-links-item,
html.js-reveal-on .news-card,
html.js-reveal-on .news-detail-layout,
html.js-reveal-on .works-featured,
html.js-reveal-on .works-grid-item,
html.js-reveal-on .works-detail-slider,
html.js-reveal-on .works-detail-body,
html.js-reveal-on .privacy-body,
html.js-reveal-on .sitemap-layout {
  -webkit-transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1),
    -webkit-transform 1s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1),
    transform 1s cubic-bezier(0.16, 1, 0.3, 1);
  -webkit-transition-delay: var(--reveal-delay, 0s);
  transition-delay: var(--reveal-delay, 0s);
}

html.js-reveal-on .home-top2026-heading:not(.is-inview),
html.js-reveal-on .home-top2026-news-card:not(.is-inview),
html.js-reveal-on .home-top2026-button-wrap:not(.is-inview),
html.js-reveal-on .home-top2026-works-carousel-outer:not(.is-inview),
html.js-reveal-on .home-top2026-services-copy:not(.is-inview),
html.js-reveal-on .home-top2026-services-text:not(.is-inview),
html.js-reveal-on .home-top2026-services-list > li:not(.is-inview),
html.js-reveal-on .home-top2026-company-card:not(.is-inview),
html.js-reveal-on .company-page-hero:not(.is-inview),
html.js-reveal-on .company-page-heading-main:not(.is-inview),
html.js-reveal-on .inner-page-lead:not(.is-inview),
html.js-reveal-on .inner-page-copy:not(.is-inview),
html.js-reveal-on .inner-filter:not(.is-inview),
html.js-reveal-on .concept-statement-heading:not(.is-inview),
html.js-reveal-on .concept-statement-catch:not(.is-inview),
html.js-reveal-on .concept-statement-body:not(.is-inview),
html.js-reveal-on .concept-venn-item:not(.is-inview),
html.js-reveal-on .concept-values-lead:not(.is-inview),
html.js-reveal-on .concept-values-item:not(.is-inview),
html.js-reveal-on .services-process-item:not(.is-inview),
html.js-reveal-on .services-works .company-page-section-heading:not(.is-inview),
html.js-reveal-on .services-works-btn-wrap:not(.is-inview),
html.js-reveal-on .services-works-gallery > li:not(.is-inview),
html.js-reveal-on .recruit-gallery > li:not(.is-inview),
html.js-reveal-on .recruit-pillar:not(.is-inview),
html.js-reveal-on .recruit-jobs:not(.is-inview),
html.js-reveal-on .recruit-entry:not(.is-inview),
html.js-reveal-on .company-page-section--profile .company-page-profile-body:not(.is-inview),
html.js-reveal-on .company-page-section--history:not(.is-inview),
html.js-reveal-on .company-page-section--ourone .company-page-section-heading:not(.is-inview),
html.js-reveal-on .company-ourone-lead:not(.is-inview),
html.js-reveal-on .company-ourone-item:not(.is-inview),
html.js-reveal-on .company-page-section--message .company-page-section-heading:not(.is-inview),
html.js-reveal-on .company-message-copy:not(.is-inview),
html.js-reveal-on .company-message-sign:not(.is-inview),
html.js-reveal-on .company-message-photo:not(.is-inview),
html.js-reveal-on .company-message-aside:not(.is-inview),
html.js-reveal-on .company-page-section--access:not(.is-inview),
html.js-reveal-on .company-access-photos > li:not(.is-inview),
html.js-reveal-on .company-page-section--download:not(.is-inview),
html.js-reveal-on .company-page-section--contact:not(.is-inview),
html.js-reveal-on .company-page-links-item:not(.is-inview),
html.js-reveal-on .news-card:not(.is-inview),
html.js-reveal-on .news-detail-layout:not(.is-inview),
html.js-reveal-on .works-featured:not(.is-inview),
html.js-reveal-on .works-grid-item:not(.is-inview),
html.js-reveal-on .works-detail-slider:not(.is-inview),
html.js-reveal-on .works-detail-body:not(.is-inview),
html.js-reveal-on .privacy-body:not(.is-inview),
html.js-reveal-on .sitemap-layout:not(.is-inview) {
  opacity: 0;
  -webkit-transform: translate3d(0, 48px, 0);
  transform: translate3d(0, 48px, 0);
}

html.js-reveal-on .company-page-hero:not(.is-inview),
html.js-reveal-on .concept-venn-item:not(.is-inview),
html.js-reveal-on .works-detail-slider:not(.is-inview) {
  -webkit-transform: none;
  transform: none;
}

html.js-reveal-on .home-top2026-section-bg-char {
  opacity: 0;
  -webkit-transform: translate3d(-36px, 0, 0);
  transform: translate3d(-36px, 0, 0);
  -webkit-transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1),
    -webkit-transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  -webkit-transition-delay: calc(0.08s + (var(--char-i, 0) * 0.12s));
  transition-delay: calc(0.08s + (var(--char-i, 0) * 0.12s));
}

html.js-reveal-on .home-top2026-section-bg.is-inview .home-top2026-section-bg-char {
  opacity: 1;
  -webkit-transform: none;
  transform: none;
}

html.js-reveal-on .company-ourone-mark {
  opacity: 0;
  -webkit-transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}

html.js-reveal-on .company-ourone-mark.is-inview {
  opacity: 1;
}

@media only screen and (max-width: 1023px) {
  html.js-reveal-on .company-ourone-mark.is-inview {
    opacity: 0.6;
  }
}

@media only screen and (max-width: 767px) {
  html.js-reveal-on .company-ourone-mark.is-inview {
    opacity: 0.35;
  }
}

/* Keep 品位 centered while hidden/shown; avoid fighting translateX(-50%). */
html.js-reveal-on .concept-venn-item--hin-i:not(.is-inview),
html.js-reveal-on .concept-venn-item--hin-i.is-inview {
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

html.js-reveal-on .concept-venn-item {
  box-shadow: 4px 10px 22px rgba(0, 0, 0, 0);
  -webkit-transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 1.2s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 1.2s cubic-bezier(0.16, 1, 0.3, 1);
  -webkit-transition-delay: var(--reveal-delay, 0s), 0s;
  transition-delay: var(--reveal-delay, 0s), 0s;
}

html.js-reveal-on .concept-venn.is-shadow-in .concept-venn-item {
  box-shadow: 4px 10px 22px rgba(0, 0, 0, 0.4);
  -webkit-transition-delay: 0s, 0s;
  transition-delay: 0s, 0s;
}

html.js-reveal-on .concept-mvfv-bar {
  opacity: 0;
  -webkit-clip-path: inset(0 0 100% 0);
  clip-path: inset(0 0 100% 0);
  -webkit-transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1),
    -webkit-clip-path 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1),
    clip-path 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

html.js-reveal-on .concept-mvfv-item.is-inview .concept-mvfv-bar {
  opacity: 1;
  -webkit-clip-path: inset(0);
  clip-path: inset(0);
}

html.js-reveal-on .concept-mvfv-en {
  opacity: 0;
  -webkit-transform: translate3d(-40px, 0, 0);
  transform: translate3d(-40px, 0, 0);
  -webkit-transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1),
    -webkit-transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  -webkit-transition-delay: 0.48s;
  transition-delay: 0.48s;
}

html.js-reveal-on .concept-mvfv-item.is-inview .concept-mvfv-en {
  opacity: 1;
  -webkit-transform: none;
  transform: none;
}

html.js-reveal-on .concept-mvfv-content {
  opacity: 0;
  -webkit-transform: translate3d(0, 28px, 0);
  transform: translate3d(0, 28px, 0);
  -webkit-transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1),
    -webkit-transform 1s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1),
    transform 1s cubic-bezier(0.16, 1, 0.3, 1);
  -webkit-transition-delay: 0.98s;
  transition-delay: 0.98s;
}

html.js-reveal-on .concept-mvfv-item.is-inview .concept-mvfv-content {
  opacity: 1;
  -webkit-transform: none;
  transform: none;
}

html.js-reveal-on .company-page-hero .company-page-hero-img {
  -webkit-transition: -webkit-transform 1.6s cubic-bezier(0.16, 1, 0.3, 1);
  transition: transform 1.6s cubic-bezier(0.16, 1, 0.3, 1);
}

html.js-reveal-on .company-page-hero:not(.is-inview) .company-page-hero-img {
  -webkit-transform: scale(1.08);
  transform: scale(1.08);
}

html.js-reveal-on .inner-page--concept .company-page-hero.is-inview .company-page-hero-img {
  -webkit-transition: none;
  transition: none;
  -webkit-animation: concept-hero-kenburns 18s ease-in-out infinite alternate;
  animation: concept-hero-kenburns 18s ease-in-out infinite alternate;
}

@-webkit-keyframes concept-hero-kenburns {
  from { -webkit-transform: scale(1); transform: scale(1); }
  to { -webkit-transform: scale(1.12) translate3d(-2.4%, -1.2%, 0); transform: scale(1.12) translate3d(-2.4%, -1.2%, 0); }
}

@keyframes concept-hero-kenburns {
  from { transform: scale(1); }
  to { transform: scale(1.12) translate3d(-2.4%, -1.2%, 0); }
}

html.js-reveal-on .home-top2026-news-card:nth-child(1),
html.js-reveal-on .home-top2026-company-card:nth-child(1),
html.js-reveal-on .home-top2026-services-list > li:nth-child(1),
html.js-reveal-on .concept-values-item:nth-child(1),
html.js-reveal-on .services-works-gallery > li:nth-child(1),
html.js-reveal-on .recruit-gallery > li:nth-child(1),
html.js-reveal-on .company-access-photos > li:nth-child(1),
html.js-reveal-on .company-page-links-item:nth-child(1),
html.js-reveal-on .news-card:nth-child(1),
html.js-reveal-on .works-grid-item:nth-child(1) { --reveal-delay: 0.04s; }

html.js-reveal-on .home-top2026-news-card:nth-child(2),
html.js-reveal-on .home-top2026-company-card:nth-child(2),
html.js-reveal-on .home-top2026-services-list > li:nth-child(2),
html.js-reveal-on .concept-values-item:nth-child(2),
html.js-reveal-on .services-works-gallery > li:nth-child(2),
html.js-reveal-on .recruit-gallery > li:nth-child(2),
html.js-reveal-on .company-access-photos > li:nth-child(2),
html.js-reveal-on .company-page-links-item:nth-child(2),
html.js-reveal-on .news-card:nth-child(2),
html.js-reveal-on .works-grid-item:nth-child(2) { --reveal-delay: 0.14s; }

html.js-reveal-on .home-top2026-news-card:nth-child(3),
html.js-reveal-on .home-top2026-company-card:nth-child(3),
html.js-reveal-on .home-top2026-services-list > li:nth-child(3),
html.js-reveal-on .concept-values-item:nth-child(3),
html.js-reveal-on .services-works-gallery > li:nth-child(3),
html.js-reveal-on .recruit-gallery > li:nth-child(3),
html.js-reveal-on .company-access-photos > li:nth-child(3),
html.js-reveal-on .company-page-links-item:nth-child(3),
html.js-reveal-on .news-card:nth-child(3),
html.js-reveal-on .works-grid-item:nth-child(3) { --reveal-delay: 0.24s; }

html.js-reveal-on .home-top2026-services-list > li:nth-child(4),
html.js-reveal-on .concept-values-item:nth-child(4),
html.js-reveal-on .services-works-gallery > li:nth-child(4),
html.js-reveal-on .recruit-gallery > li:nth-child(4),
html.js-reveal-on .company-access-photos > li:nth-child(4),
html.js-reveal-on .company-page-links-item:nth-child(4),
html.js-reveal-on .news-card:nth-child(4),
html.js-reveal-on .works-grid-item:nth-child(4) { --reveal-delay: 0.34s; }

html.js-reveal-on .home-top2026-services-list > li:nth-child(5),
html.js-reveal-on .concept-values-item:nth-child(5),
html.js-reveal-on .services-works-gallery > li:nth-child(5),
html.js-reveal-on .news-card:nth-child(5),
html.js-reveal-on .works-grid-item:nth-child(5) { --reveal-delay: 0.44s; }

html.js-reveal-on .news-card:nth-child(n+6),
html.js-reveal-on .works-grid-item:nth-child(n+6) { --reveal-delay: 0.2s; }

html.js-reveal-on .inner-page-lead { --reveal-delay: 0.1s; }
html.js-reveal-on .inner-page-copy { --reveal-delay: 0.2s; }
html.js-reveal-on .concept-statement-catch { --reveal-delay: 0.1s; }
html.js-reveal-on .concept-statement-body { --reveal-delay: 0.2s; }
html.js-reveal-on .company-ourone-lead { --reveal-delay: 0.12s; }

@media only screen and (max-width: 767px) {
  html.js-reveal-on .home-top2026-heading:not(.is-inview),
  html.js-reveal-on .home-top2026-news-card:not(.is-inview),
  html.js-reveal-on .home-top2026-button-wrap:not(.is-inview),
  html.js-reveal-on .home-top2026-works-carousel-outer:not(.is-inview),
  html.js-reveal-on .home-top2026-services-copy:not(.is-inview),
  html.js-reveal-on .home-top2026-services-text:not(.is-inview),
  html.js-reveal-on .home-top2026-services-list > li:not(.is-inview),
  html.js-reveal-on .home-top2026-company-card:not(.is-inview),
  html.js-reveal-on .company-page-heading-main:not(.is-inview),
  html.js-reveal-on .inner-page-lead:not(.is-inview),
  html.js-reveal-on .inner-page-copy:not(.is-inview),
  html.js-reveal-on .concept-values-item:not(.is-inview),
  html.js-reveal-on .company-ourone-item:not(.is-inview),
  html.js-reveal-on .services-process-item:not(.is-inview),
  html.js-reveal-on .recruit-pillar:not(.is-inview),
  html.js-reveal-on .company-access-photos > li:not(.is-inview),
  html.js-reveal-on .news-card:not(.is-inview),
  html.js-reveal-on .works-grid-item:not(.is-inview) {
    -webkit-transform: translate3d(0, 28px, 0);
    transform: translate3d(0, 28px, 0);
  }
}
