/* AXENOR public UI refresh v1
 * Scope: stable header, home-only service presentation, faster achievements reveal.
 */

:root {
  --ax-public-header-height: 85px;
  --ax-public-header-inline: clamp(32px, 3.35vw, 56px);
}

/* Maintenance landing: preserve the original Japanese title, without the hero decoration. */
.ax-route-maintenance .ax-care-page:not(.ax-care-seo-page) > .ax-care-hero {
  display: block !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border-bottom: 0 !important;
  background: #fff !important;
  color: #111315 !important;
}

.ax-route-maintenance .ax-care-page:not(.ax-care-seo-page) > .ax-care-hero .ax-care-hero__grid,
.ax-route-maintenance .ax-care-page:not(.ax-care-seo-page) > .ax-care-hero .ax-care-eyebrow,
.ax-route-maintenance .ax-care-page:not(.ax-care-seo-page) > .ax-care-hero .ax-care-hero__copy > p:last-child {
  display: none !important;
}

.ax-route-maintenance .ax-care-page:not(.ax-care-seo-page) > .ax-care-hero .ax-care-hero__inner {
  display: grid !important;
  width: min(1180px, calc(100% - 64px)) !important;
  max-width: 100% !important;
  min-height: 0 !important;
  grid-template-columns: minmax(0, 760px) !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto !important;
  padding: clamp(74px, 7vw, 108px) 0 clamp(54px, 5vw, 78px) !important;
}

.ax-route-maintenance .ax-care-page:not(.ax-care-seo-page) > .ax-care-hero .ax-care-hero__copy {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.ax-route-maintenance .ax-care-page:not(.ax-care-seo-page) > .ax-care-plans.ax-motion-section {
  opacity: 1 !important;
  translate: none !important;
  transform: none !important;
  visibility: visible !important;
  transition: none !important;
}

/* The closed mobile menu must remain an overlay and never reserve page height. */
.ax-site-shell.ax-route-maintenance > div[class*="z-40"][class*="inset-0"] {
  position: fixed !important;
  inset: 0 !important;
}

.ax-site-shell.ax-route-maintenance > div[class*="z-40"].pointer-events-none {
  display: none !important;
}

@media (max-width: 767px) {
  .ax-route-maintenance .ax-care-page:not(.ax-care-seo-page) > .ax-care-hero .ax-care-hero__inner {
    width: calc(100% - 40px) !important;
    padding: 70px 0 44px !important;
  }
}

/* Keep the header content at the same coordinates on every SPA route/state. */
html body header.fixed.top-0 {
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: var(--ax-public-header-height) !important;
  min-height: var(--ax-public-header-height) !important;
  padding: 20px 0 !important;
  transform: none !important;
  transition-property: background-color, border-color, box-shadow, color !important;
  transition-duration: 280ms !important;
}

html body header.fixed.top-0 > .container {
  width: 100% !important;
  max-width: none !important;
  height: 44px !important;
  align-items: center !important;
  margin: 0 !important;
  padding-right: var(--ax-public-header-inline) !important;
  padding-left: var(--ax-public-header-inline) !important;
}

html body header.fixed.top-0 > .container > a[aria-label="ホームへ戻る"] {
  min-height: 44px !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 28px !important;
  letter-spacing: .2em !important;
}

html body header.fixed.top-0 nav {
  height: 44px !important;
  align-items: center !important;
}

html body header.fixed.top-0 nav > a {
  min-height: 44px !important;
}

/* Match the TOP header to the frame hero's exact white surface. */
body.ax-home-classic header.fixed.top-0,
body.ax-home-classic header.fixed.top-0.bg-transparent {
  height: var(--ax-public-header-height) !important;
  min-height: var(--ax-public-header-height) !important;
  padding: 20px 0 !important;
  border-bottom: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* Defensive isolation for a tab that entered TOP from a legacy route before
   the full-page navigation guard was installed. Never let the retired photo
   monitor override or split the frame-sequence hero. */
body.ax-home-classic section.ax-frame-hero.ax-home-hero-b {
  position: relative !important;
  display: block !important;
  height: 600svh !important;
  min-height: 4200px !important;
  overflow: clip !important;
  background: #fff !important;
}

body.ax-home-classic section.ax-frame-hero.ax-home-hero-b::before,
body.ax-home-classic section.ax-frame-hero.ax-home-hero-b::after,
body.ax-home-classic .ax-frame-hero .ax-frame-hero__copy h1::after {
  display: none !important;
  content: none !important;
}

body.ax-home-classic .ax-frame-hero__stage.ax-home-hero-b__copy {
  width: 100% !important;
  max-width: none !important;
  height: 100svh !important;
}

body.ax-home-classic .ax-frame-hero__stage.ax-home-hero-b__copy > .ax-frame-hero__sequence,
body.ax-home-classic .ax-frame-hero__stage.ax-home-hero-b__copy > .ax-frame-hero__copy {
  display: block !important;
}

body.ax-home-classic .ax-frame-hero .ax-frame-hero__sequence {
  display: block !important;
}

body.ax-home-classic .ax-frame-hero__stage.ax-home-hero-b__copy > .ax-frame-hero__loader {
  display: grid !important;
}

body.ax-home-classic .ax-frame-hero > .ax-home-monitor-stage {
  display: none !important;
}

body.ax-home-classic .ax-frame-hero .ax-frame-hero__copy {
  top: clamp(104px, 14vh, 148px) !important;
  left: 50% !important;
  width: min(94vw, 1180px) !important;
  transform: translateX(-50%) !important;
}

body.ax-home-classic .ax-frame-hero .ax-frame-hero__copy h1 {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  color: #111217 !important;
  font-family: "AXENOR Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif !important;
  font-size: clamp(46px, 5.35vw, 82px) !important;
  font-weight: 550 !important;
  line-height: 1.1 !important;
  letter-spacing: -.06em !important;
  text-align: center !important;
}

/* Keep the fixed public header below WordPress's signed-in toolbar. */
html body.admin-bar header.fixed.top-0 {
  top: 32px !important;
}

/* The stable home device remains the only hero device implementation. */
body.ax-home-classic .ax-home-photo-devices {
  visibility: visible !important;
}

body.ax-home-classic .ax-home-photo-laptop__screen,
body.ax-home-classic .ax-home-photo-phone__screen {
  isolation: isolate;
  background: #e7e1d7 !important;
}

body.ax-home-classic .ax-home-photo-laptop__screen > img,
body.ax-home-classic .ax-home-photo-phone__screen > img {
  backface-visibility: hidden;
}

/* News index: one large English title, with the Japanese/eyebrow duplicates removed. */
body.ax-route-news .ax-news-page .ax-page-inline-title {
  display: block !important;
  padding: clamp(26px, 3vw, 44px) 0 clamp(68px, 7vw, 108px) !important;
  margin: 0 !important;
  border-bottom: 0 !important;
}

body.ax-route-news .ax-news-page {
  padding-top: clamp(124px, 9vw, 148px) !important;
}

body.ax-route-news .ax-news-page .ax-page-inline-title__eyebrow,
body.ax-route-news .ax-news-page .ax-page-title__ja {
  display: none !important;
}

body.ax-route-news .ax-news-page .ax-page-inline-title h1 {
  margin: 0 !important;
  color: #111315 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(76px, 10.8vw, 164px) !important;
  font-weight: 400 !important;
  line-height: 0.86 !important;
  letter-spacing: -0.065em !important;
}

body.ax-route-news .ax-news-page .ax-page-title__en {
  display: block !important;
}

/* The refinement bundle initially inserts a Japanese-only heading, then
   upgrades it on the next observer pass. Paint the final English title during
   that brief first state so the heading never flashes or changes typeface. */
body.ax-route-news .ax-news-page .ax-page-inline-title h1:not([data-ax-refined-title]) {
  font-size: 0 !important;
}

body.ax-route-news .ax-news-page .ax-page-inline-title h1:not([data-ax-refined-title])::after {
  display: block;
  color: #111315;
  content: "News";
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(76px, 10.8vw, 164px);
  font-weight: 400;
  line-height: .86;
  letter-spacing: -.065em;
}

@media (max-width: 767px) {
  body.ax-route-news .ax-news-page .ax-page-inline-title {
    padding: 18px 0 52px !important;
  }

  body.ax-route-news .ax-news-page .ax-page-inline-title h1 {
    font-size: clamp(58px, 20vw, 88px) !important;
    line-height: 0.92 !important;
  }

  body.ax-route-news .ax-news-page {
    padding-top: 112px !important;
  }
}

/* Service index: use the same large editorial title treatment as News. */
body.ax-route-service .ax-page-inline-title {
  display: block !important;
  padding: clamp(26px, 3vw, 44px) 0 clamp(68px, 7vw, 108px) !important;
  margin: 0 !important;
  border-bottom: 0 !important;
}

body.ax-route-service .ax-page-inline-title__eyebrow,
body.ax-route-service .ax-page-title__ja {
  display: none !important;
}

body.ax-route-service .ax-page-inline-title h1 {
  margin: 0 !important;
  color: #111315 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(76px, 10.8vw, 164px) !important;
  font-weight: 400 !important;
  line-height: 0.86 !important;
  letter-spacing: -0.065em !important;
}

body.ax-route-service .ax-page-title__en {
  display: block !important;
}

/* Paint the final English archive title before the refinement observer's
   second pass so Japanese never flashes on first navigation. */
body.ax-route-service .ax-page-inline-title h1:not([data-ax-refined-title]) {
  font-size: 0 !important;
}

body.ax-route-service .ax-page-inline-title h1:not([data-ax-refined-title])::after {
  display: block;
  color: #111315;
  content: "Services";
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(76px, 10.8vw, 164px);
  font-weight: 400;
  line-height: .86;
  letter-spacing: -.065em;
}

/* The first service view should be usable immediately, without waiting for reveal effects. */
body.ax-route-service .animate-in.fade-in,
body.ax-route-service .space-y-20 > div {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
}

@media (max-width: 767px) {
  body.ax-route-service .ax-page-inline-title {
    padding: 18px 0 52px !important;
  }

  body.ax-route-service .ax-page-inline-title h1 {
    font-size: clamp(58px, 20vw, 88px) !important;
    line-height: 0.92 !important;
  }
}

@media (max-width: 782px) {
  html body.admin-bar header.fixed.top-0 {
    top: 46px !important;
  }
}

/* Home-only philosophy refresh: match the latest white editorial layout. */
.ax-home-page > section.ax-home-about {
  position: relative !important;
  overflow: clip !important;
  padding: clamp(104px, 12vw, 184px) 0 clamp(112px, 13vw, 196px) !important;
  border-top: 1px solid rgba(17, 19, 21, 0.08) !important;
  background: #fff !important;
  color: #111315 !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.ax-home-page > section.ax-home-about > .container {
  width: 100% !important;
  max-width: 1440px !important;
  padding-inline: 48px !important;
}

.ax-home-page > section.ax-home-about > .container > div:first-child {
  display: grid !important;
  grid-template-columns: minmax(150px, 0.22fr) minmax(0, 1fr) !important;
  gap: clamp(52px, 8vw, 132px) !important;
  color: #111315 !important;
}

.ax-home-page > section.ax-home-about > .container > div:first-child > div:first-child {
  position: sticky !important;
  top: 128px !important;
  width: auto !important;
  height: fit-content !important;
  align-self: start !important;
}

.ax-home-page > section.ax-home-about > .container > div:first-child > div:nth-child(2) {
  width: auto !important;
  min-width: 0 !important;
  padding-top: 0 !important;
}

.ax-home-page > section.ax-home-about .ax-home-about__statement {
  max-width: 980px !important;
  margin: 0 !important;
  color: #111315 !important;
  font-family: Georgia, "Noto Serif JP", "Times New Roman", serif !important;
  font-size: clamp(42px, 5.3vw, 78px) !important;
  font-weight: 400 !important;
  line-height: 1.22 !important;
  letter-spacing: -0.045em !important;
  text-wrap: balance !important;
}

.ax-home-page > section.ax-home-about .ax-home-about__statement > span {
  display: inline !important;
  overflow: visible !important;
  line-height: inherit !important;
}

.ax-home-page > section.ax-home-about .ax-home-about__statement > span > span {
  line-height: inherit !important;
}

.ax-home-page > section.ax-home-about .ax-home-about__statement > span > span:nth-child(10)::after {
  display: block;
  content: "";
}

.ax-home-page > section.ax-home-about > .container > div:first-child > div:nth-child(2) > div:nth-child(2) {
  display: block !important;
  margin-top: clamp(34px, 4.5vw, 68px) !important;
}

.ax-home-page > section.ax-home-about > .container > div:first-child > div:nth-child(2) > div:nth-child(2) > div:first-child {
  width: auto !important;
}

.ax-home-page > section.ax-home-about > .container > div:first-child > div:nth-child(2) > div:nth-child(2) > div:first-child > p {
  max-width: 720px !important;
  margin: 0 !important;
  color: #687078 !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  line-height: 2.5 !important;
  letter-spacing: 0.055em !important;
}

.ax-home-page > section.ax-home-about > .container > div:first-child > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) {
  width: auto !important;
  max-width: 960px !important;
  margin-top: clamp(74px, 9vw, 132px) !important;
}

.ax-home-page > section.ax-home-about > .container > div:first-child > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) > * {
  margin: 0 !important;
}

.ax-home-page > section.ax-home-about > .container > div:first-child > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) > * > * {
  position: relative !important;
  display: flex !important;
  min-height: 0 !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: clamp(46px, 5vw, 72px) 0 !important;
  border-top: 1px solid rgba(17, 19, 21, 0.1) !important;
  border-bottom: 0 !important;
  color: #111315 !important;
  cursor: default !important;
}

.ax-home-page > section.ax-home-about > .container > div:first-child > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) > * > *:last-child {
  border-bottom: 1px solid rgba(17, 19, 21, 0.1) !important;
}

.ax-home-page > section.ax-home-about > .container > div:first-child > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) > * > *::before {
  position: absolute;
  top: clamp(46px, 5vw, 72px);
  right: 0;
  color: #a2a8ad;
  content: "AXENOR PHILOSOPHY";
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
  letter-spacing: 0.18em;
}

.ax-home-page > section.ax-home-about > .container > div:first-child > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) > * > * > *:first-child {
  position: static !important;
  align-self: flex-start !important;
  margin-bottom: 19px !important;
  color: #9a7a31 !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace !important;
  font-size: 8px !important;
  letter-spacing: 0.18em !important;
}

.ax-home-page > section.ax-home-about > .container > div:first-child > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) > * > * > *:first-child::before {
  content: "VALUE ";
}

.ax-home-page > section.ax-home-about > .container > div:first-child > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) > * > * > *:nth-child(2) {
  position: relative !important;
  width: 100% !important;
  color: #111315 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(32px, 3.8vw, 56px) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: -0.035em !important;
}

.ax-home-page > section.ax-home-about > .container > div:first-child > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) > * > * > *:nth-child(2)::after {
  position: absolute;
  right: 0;
  bottom: 0.1em;
  color: #8d949b;
  content: "";
  font-family: sans-serif;
  font-size: 10px;
  font-style: normal;
  letter-spacing: 0.16em;
}

.ax-home-page > section.ax-home-about > .container > div:first-child > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) > * > *:nth-child(1) > *:nth-child(2)::after { content: "信頼"; }
.ax-home-page > section.ax-home-about > .container > div:first-child > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) > * > *:nth-child(2) > *:nth-child(2)::after { content: "美学"; }
.ax-home-page > section.ax-home-about > .container > div:first-child > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) > * > *:nth-child(3) > *:nth-child(2)::after { content: "進化"; }

.ax-home-page > section.ax-home-about > .container > div:first-child > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) > * > *::after {
  display: block;
  max-width: 560px;
  margin-top: 28px;
  color: #687078;
  content: "";
  font-size: 12px;
  font-weight: 300;
  line-height: 2.2;
  letter-spacing: 0.045em;
}

.ax-home-page > section.ax-home-about > .container > div:first-child > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) > * > *:nth-child(1)::after { content: "目的、作業範囲、費用、進行状況を曖昧にせず、判断に必要な情報を共有します。"; }
.ax-home-page > section.ax-home-about > .container > div:first-child > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) > * > *:nth-child(2)::after { content: "情報の順序、余白、言葉、操作感まで一貫させ、事業らしさが伝わる体験をつくります。"; }
.ax-home-page > section.ax-home-about > .container > div:first-child > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) > * > *:nth-child(3)::after { content: "新技術を目的にせず、効果と運用負荷を見極め、実務に残る方法を選びます。"; }

/* Home-only service refresh. The service index and detail routes are untouched. */
.ax-home-page > section.ax-motion-section:last-of-type {
  overflow: hidden !important;
  padding: clamp(88px, 9vw, 144px) 0 !important;
  border-top: 1px solid rgba(17, 19, 21, 0.09) !important;
  background: #fff !important;
  color: #111315 !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.ax-home-page > section.ax-motion-section:last-of-type > .absolute.inset-0 {
  display: none !important;
}

.ax-home-page > section.ax-motion-section:last-of-type > .container {
  width: 100% !important;
  max-width: 1440px !important;
  padding-inline: clamp(22px, 4vw, 56px) !important;
  color: #111315 !important;
  text-align: center !important;
}

.ax-home-page > section.ax-motion-section:last-of-type > .container > div:first-child {
  max-width: 760px !important;
  margin: 0 auto clamp(44px, 5vw, 72px) !important;
  text-align: center !important;
}

.ax-home-page > section.ax-motion-section:last-of-type > .container > div:first-child > div:first-child {
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-bottom: 16px !important;
  color: #b89137 !important;
}

.ax-home-page > section.ax-motion-section:last-of-type > .container > div:first-child > div:first-child > * {
  display: none !important;
}

.ax-home-page > section.ax-motion-section:last-of-type > .container > div:first-child > div:first-child::after {
  color: #b89137;
  content: "08 / SERVICES";
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.38em;
  line-height: 1;
}

.ax-home-page > section.ax-motion-section:last-of-type > .container > div:first-child > h2 {
  color: #111315 !important;
  font-size: clamp(32px, 3.4vw, 52px) !important;
  line-height: 1.1 !important;
  text-align: center !important;
}

.ax-home-page > section.ax-motion-section:last-of-type > .container > div:first-child::after {
  display: block;
  max-width: 580px;
  margin: 22px auto 0;
  color: rgba(17, 19, 21, 0.5);
  content: "事業に必要なデザインと仕組みを、相談から制作・運用まで一貫して支援します。";
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 2;
}

.ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 56px 24px !important;
  border: 0 !important;
}

.ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 > .group {
  position: relative !important;
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #111315 !important;
  text-align: center !important;
  outline: none !important;
  transition: color 260ms ease !important;
}

.ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 > .group::before {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  margin-bottom: 20px;
  border: 0;
  border-radius: 0;
  background-color: transparent;
  background-clip: content-box;
  background-origin: content-box;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  box-sizing: border-box;
  box-shadow: none;
  content: "";
  padding: 9% 6%;
  transition: transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 > .group:nth-child(1)::before {
  background-image: url("./generated/service-creative-overview-diff-v3-opt.webp?v=20260830-home-grid-1");
}
.ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 > .group:nth-child(2)::before {
  background-image: url("./generated/service-line-overview-diff-v3-opt.webp?v=20260830-home-grid-1");
}
.ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 > .group:nth-child(3)::before {
  background-image: url("./generated/service-sns-devices-alpha-v1.webp?v=20260830-home-grid-1");
}
.ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 > .group:nth-child(4)::before {
  background-image: url("./generated/service-system-overview-diff-v3-opt.webp?v=20260830-home-grid-1");
}
.ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 > .group:nth-child(5)::before {
  background-image: url("./generated/service-ai-overview-diff-v3-opt.webp?v=20260830-home-grid-1");
}

.ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 > .group:hover::before,
.ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 > .group:focus-visible::before {
  border-color: transparent;
  box-shadow: none;
  transform: translateY(-4px) scale(1.06);
}

.ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 > .group:focus-visible {
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #c6a24e !important;
}

.ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 > .group > div:first-child {
  min-width: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

.ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 > .group > div:first-child > span:first-child {
  display: none !important;
}

.ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 > .group h3 {
  overflow: visible !important;
  margin: 0 !important;
  color: #a0a4aa !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace !important;
  font-size: 8px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  letter-spacing: 0.16em !important;
  text-overflow: clip !important;
  text-transform: uppercase !important;
  white-space: normal !important;
  transform: none !important;
  transition: color 260ms ease !important;
}

.ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 > .group h3::before {
  display: block;
  margin-bottom: 9px;
  color: #111315;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(15px, 1.18vw, 18px);
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.02em;
  text-transform: none;
}

.ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 > .group:nth-child(1) h3::before { content: "クリエイティブ制作"; }
.ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 > .group:nth-child(2) h3::before { content: "LINE構築・運用"; }
.ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 > .group:nth-child(3) h3::before { content: "SNS運用・集客"; }
.ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 > .group:nth-child(4) h3::before { content: "システム開発"; }
.ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 > .group:nth-child(5) h3::before { content: "AI・自動化"; }

.ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 > .group:hover h3,
.ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 > .group:focus-visible h3 {
  color: #9a7627 !important;
}

.ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 > .group > div:nth-child(2),
.ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 > .group > div:first-child > p {
  display: none !important;
}

.ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 > .group > div:last-child {
  position: absolute !important;
  right: 12px !important;
  bottom: 51px !important;
  display: flex !important;
  width: 30px !important;
  height: 30px !important;
  margin: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(17, 19, 21, 0.09) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  color: #111315 !important;
  opacity: 0 !important;
  box-shadow: 0 8px 24px rgba(20, 23, 27, 0.08) !important;
  transform: translateY(6px) !important;
  transition: opacity 240ms ease, transform 320ms ease !important;
}

.ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 > .group:hover > div:last-child,
.ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 > .group:focus-visible > div:last-child {
  opacity: 1 !important;
  transform: none !important;
}

/* Do not hold the archive behind its decorative loader. */
.ax-garden-archive[data-ax-fast-ready="true"] .ax-garden-archive__loader {
  visibility: hidden !important;
  opacity: 0 !important;
  transition: opacity 160ms ease, visibility 0s linear 160ms !important;
}

@media (max-width: 1023px) {
  .ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  :root {
    --ax-public-header-height: 68px;
    --ax-public-header-inline: 20px;
  }

  html body header.fixed.top-0 {
    padding: 12px 0 11px !important;
  }

  body.ax-home-classic header.fixed.top-0,
  body.ax-home-classic header.fixed.top-0.bg-transparent {
    padding: 12px 0 11px !important;
  }

  body.ax-home-classic section.ax-frame-hero.ax-home-hero-b {
    height: 500svh !important;
    min-height: 3400px !important;
  }

  body.ax-home-classic .ax-frame-hero .ax-frame-hero__copy {
    top: clamp(96px, 12vh, 118px) !important;
    width: calc(100% - 30px) !important;
  }

  body.ax-home-classic .ax-frame-hero .ax-frame-hero__copy h1 {
    font-size: clamp(36px, 10.8vw, 54px) !important;
    line-height: 1.12 !important;
  }

  html body header.fixed.top-0 > .container > a[aria-label="ホームへ戻る"] {
    min-height: 44px !important;
    font-size: 20px !important;
  }

  .ax-home-page > section.ax-home-about {
    padding: 66px 0 78px !important;
  }

  .ax-home-page > section.ax-home-about > .container {
    padding-inline: 20px !important;
  }

  .ax-home-page > section.ax-home-about > .container > div:first-child {
    display: block !important;
  }

  .ax-home-page > section.ax-home-about > .container > div:first-child > div:first-child {
    position: static !important;
  }

  .ax-home-page > section.ax-home-about > .container > div:first-child > div:nth-child(2) {
    margin-top: 34px !important;
  }

  .ax-home-page > section.ax-home-about .ax-home-about__statement {
    font-size: clamp(30px, 9.1vw, 38px) !important;
    line-height: 1.36 !important;
    letter-spacing: -0.035em !important;
  }

  .ax-home-page > section.ax-home-about > .container > div:first-child > div:nth-child(2) > div:nth-child(2) {
    margin-top: 28px !important;
  }

  .ax-home-page > section.ax-home-about > .container > div:first-child > div:nth-child(2) > div:nth-child(2) > div:first-child > p {
    font-size: 12px !important;
    line-height: 2.2 !important;
  }

  .ax-home-page > section.ax-home-about > .container > div:first-child > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) {
    margin-top: 58px !important;
  }

  .ax-home-page > section.ax-home-about > .container > div:first-child > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) > * {
    display: grid !important;
    gap: 48px !important;
  }

  .ax-home-page > section.ax-home-about > .container > div:first-child > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) > * > * {
    padding: 28px 0 0 !important;
  }

  .ax-home-page > section.ax-home-about > .container > div:first-child > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) > * > *::before {
    display: none;
  }

  .ax-home-page > section.ax-home-about > .container > div:first-child > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) > * > * > *:first-child {
    margin-bottom: 14px !important;
  }

  .ax-home-page > section.ax-home-about > .container > div:first-child > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) > * > * > *:nth-child(2) {
    font-size: 31px !important;
  }

  .ax-home-page > section.ax-home-about > .container > div:first-child > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) > * > *::after {
    margin-top: 18px;
    font-size: 11px;
    line-height: 2.05;
  }

  .ax-home-page > section.ax-motion-section:last-of-type {
    padding: 76px 0 88px !important;
  }

  .ax-home-page > section.ax-motion-section:last-of-type > .container {
    padding-inline: 18px !important;
  }

  .ax-home-page > section.ax-motion-section:last-of-type > .container > div:first-child::after {
    max-width: 34em;
    font-size: 12px;
  }

  .ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 34px 12px !important;
  }

  .ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 > .group {
    border-radius: 22px !important;
  }

  .ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 > .group::before {
    margin-bottom: 16px;
    border-radius: 22px;
  }

  .ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 > .group:nth-child(5) {
    grid-column: 1 / -1 !important;
    width: calc(50% - 6px) !important;
    min-width: 148px !important;
    justify-self: center !important;
  }

  .ax-home-page > section.ax-motion-section:last-of-type > .container > .space-y-0 > .group > div:last-child {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ax-home-page > section.ax-motion-section:last-of-type *,
  html body header.fixed.top-0 {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}

/* TOP static PC restore — retire the scroll/video stage and reveal the
   original generated PC mock without changing the rest of the home page. */
body.ax-home-classic section.ax-frame-hero.ax-home-hero-b {
  position: relative !important;
  height: 100svh !important;
  min-height: 700px !important;
  display: block !important;
  overflow: hidden !important;
  background: #fff !important;
}

body.ax-home-classic section.ax-frame-hero.ax-home-hero-b::before,
body.ax-home-classic section.ax-frame-hero.ax-home-hero-b::after {
  display: none !important;
  content: none !important;
}

body.ax-home-classic .ax-frame-hero__stage.ax-home-hero-b__copy {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: none !important;
  height: 100svh !important;
  min-height: 700px !important;
  overflow: hidden !important;
  background: transparent !important;
}

body.ax-home-classic .ax-frame-hero :is(
  .ax-frame-hero__ambient,
  .ax-frame-hero__video-source,
  .ax-frame-hero__sequence,
  .ax-frame-hero__loader,
  .ax-frame-hero__progress
) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

body.ax-home-classic .ax-frame-hero__stage.ax-home-hero-b__copy > .ax-frame-hero__copy {
  position: absolute !important;
  z-index: 8 !important;
  top: clamp(336px, 41.5vh, 385px) !important;
  left: clamp(84px, 7vw, 118px) !important;
  width: min(29vw, 440px) !important;
  max-width: none !important;
  display: block !important;
  color: #101112 !important;
  text-align: left !important;
  opacity: 1 !important;
  transform: none !important;
}

body.ax-home-classic .ax-frame-hero__copy .ax-frame-hero__eyebrow,
body.ax-home-classic .ax-frame-hero__copy .ax-frame-hero__support {
  display: none !important;
}

body.ax-home-classic .ax-frame-hero .ax-frame-hero__copy h1 {
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  color: #101112 !important;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif !important;
  font-size: clamp(42px, 3.25vw, 54px) !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1.48 !important;
  letter-spacing: .025em !important;
  text-align: left !important;
  text-wrap: nowrap !important;
}

body.ax-home-classic .ax-frame-hero .ax-frame-hero__copy h1::after {
  position: absolute !important;
  top: 2px !important;
  left: clamp(-45px, -3vw, -38px) !important;
  width: 2px !important;
  height: clamp(126px, 9.2vw, 138px) !important;
  display: block !important;
  margin: 0 !important;
  background: #b38a3a !important;
  content: "" !important;
}

body.ax-home-classic .ax-frame-hero > .ax-home-monitor-stage.ax-home-device-stage {
  position: absolute !important;
  z-index: 3 !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100% !important;
  display: block !important;
  visibility: visible !important;
  overflow: visible !important;
  pointer-events: none !important;
}

body.ax-home-classic .ax-frame-hero > .ax-home-monitor-stage[data-ax-layout="desktop"] > .ax-home-photo-devices {
  display: block !important;
  visibility: visible !important;
}

@media (min-width: 768px) and (max-width: 1100px) {
  body.ax-home-classic .ax-frame-hero__stage.ax-home-hero-b__copy > .ax-frame-hero__copy {
    top: clamp(245px, 33vh, 285px) !important;
    left: clamp(44px, 5.5vw, 64px) !important;
    width: min(28vw, 250px) !important;
  }

  body.ax-home-classic .ax-frame-hero .ax-frame-hero__copy h1 {
    font-size: clamp(30px, 3.7vw, 38px) !important;
    line-height: 1.5 !important;
  }

  body.ax-home-classic .ax-frame-hero .ax-frame-hero__copy h1::after {
    top: -7px !important;
    left: clamp(-33px, -3.5vw, -25px) !important;
    width: 1px !important;
    height: clamp(92px, 12vw, 120px) !important;
  }

  body.ax-home-classic .ax-frame-hero > .ax-home-monitor-stage.ax-home-device-stage {
    top: clamp(138px, 18vh, 160px) !important;
    right: clamp(22px, 3vw, 34px) !important;
    bottom: auto !important;
    left: auto !important;
    width: 65vw !important;
    height: min(70vh, 590px) !important;
  }
}

@media (max-width: 767px) {
  body.ax-home-classic section.ax-frame-hero.ax-home-hero-b,
  body.ax-home-classic .ax-frame-hero__stage.ax-home-hero-b__copy {
    height: 100svh !important;
    min-height: 760px !important;
  }

  body.ax-home-classic .ax-frame-hero__stage.ax-home-hero-b__copy > .ax-frame-hero__copy {
    top: max(112px, 12.5svh) !important;
    left: 7vw !important;
    width: 86vw !important;
  }

  body.ax-home-classic .ax-frame-hero .ax-frame-hero__copy h1 {
    width: auto !important;
    font-size: clamp(25px, 6.7vw, 32px) !important;
    line-height: 1.58 !important;
    letter-spacing: .025em !important;
  }

  body.ax-home-classic .ax-frame-hero .ax-frame-hero__copy h1::after {
    position: static !important;
    width: 1px !important;
    height: clamp(44px, 5.5svh, 52px) !important;
    margin-top: clamp(22px, 2.8svh, 28px) !important;
  }

  body.ax-home-classic .ax-frame-hero > .ax-home-monitor-stage.ax-home-device-stage {
    inset: 0 !important;
    width: 100vw !important;
    height: 100% !important;
    overflow: hidden !important;
  }

  body.ax-home-classic .ax-frame-hero > .ax-home-monitor-stage[data-ax-layout="mobile"] > .ax-home-mobile-composite {
    display: block !important;
    visibility: visible !important;
  }
}
/* Keep the News route title typographically identical to the service archive. */
.ax-news-page .ax-page-inline-title h1,
.ax-news-page .ax-page-inline-title .ax-page-title__en {
  color: #111315 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(5rem, 10.8vw, 9.5rem) !important;
  font-weight: 400 !important;
  line-height: .86 !important;
  letter-spacing: -.065em !important;
}

/* TOP surface matching: the device artwork uses a warm white, so the fixed
   header must use the same surface instead of flashing pure white above it. */
body.ax-home-classic section.ax-frame-hero.ax-home-hero-b,
body.ax-home-classic .ax-frame-hero__stage.ax-home-hero-b__copy,
body.ax-home-classic header.fixed.top-0,
body.ax-home-classic header.fixed.top-0.bg-transparent {
  background: #faf9f6 !important;
}

/* Cross-document navigation remains isolated (preventing route CSS leakage),
   but now moves through one continuous fade instead of a hard page cut. */
@view-transition {
  navigation: auto;
}

::view-transition-old(root) {
  animation: ax-page-view-out 220ms cubic-bezier(.4, 0, 1, 1) both;
}

::view-transition-new(root) {
  animation: ax-page-view-in 440ms cubic-bezier(.22, 1, .36, 1) both;
}

html.ax-page-leaving body :is(#root, header.fixed, footer) {
  opacity: 0 !important;
  transform: translateY(-5px) !important;
  transition:
    opacity 200ms cubic-bezier(.4, 0, 1, 1) !important,
    transform 220ms cubic-bezier(.4, 0, 1, 1) !important;
}

@keyframes ax-page-view-out {
  from { opacity: 1; filter: blur(0); }
  to { opacity: 0; filter: blur(2px); }
}

@keyframes ax-page-view-in {
  from { opacity: 0; filter: blur(2px); transform: translateY(7px); }
  to { opacity: 1; filter: blur(0); transform: translateY(0); }
}

@media (max-width: 767px) {
  /* The mobile composite already contains the finished PC and phone screens.
     Removing the additional screen overlay prevents its edge from escaping
     over the phone's upper-left frame. */
  body.ax-home-classic .ax-frame-hero > .ax-home-monitor-stage[data-ax-layout="mobile"] .ax-home-mobile-composite__base {
    z-index: 2 !important;
    display: block !important;
  }

  body.ax-home-classic .ax-frame-hero > .ax-home-monitor-stage[data-ax-layout="mobile"] .ax-home-mobile-composite__scene {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation-duration: .01ms !important;
  }

  html.ax-page-leaving body :is(#root, header.fixed, footer) {
    transform: none !important;
    transition: none !important;
  }
}
