/* Base reset for all pages */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
  overflow-x: clip;
}

body {
  font-family: var(--font-base);
  color: var(--color-text);
}

@media (max-width: 768px) {
  html {
    min-height: calc(100% + 1px);
  }
}
.u-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

:root {
  --color-text: #1e1e1e;
  --color-text-muted: #777;
  --color-text-light: #f9f9f9;
  --color-primary: #0096df;
  --color-accent-orange: #ffa76c;
  --color-accent-green: #32bf98;
  --color-bg: #ffffff;
  --color-bg-light: #f9f9f9;
  --color-border: #dfdfdf;
  --color-border-light: rgba(255, 255, 255, 0.95);
  --color-tag: #ffe0cb;
  --color-dark: #373737;
  --color-required: #f23a3c;
  --color-white: #ffffff;
  --container-max: 74rem;
  --font-base: "Poppins", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

.l-container {
  max-width: var(--container-max);
  margin: 0 auto;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: clamp(1rem, 4vw, 1.5rem);
  padding-right: clamp(1rem, 4vw, 1.5rem);
}

.l-inset-comp-1920 {
  box-sizing: content-box;
  max-width: 75rem;
  padding-left: clamp(1.875rem, calc(3.65625vw + 15.09375vw * (100vw - 375px) / 1545px), 22.5rem);
  padding-right: clamp(1.875rem, calc(3.65625vw + 15.09375vw * (100vw - 375px) / 1545px), 22.5rem);
  margin-left: auto;
  margin-right: auto;
}

.container {
  width: 100%;
  max-width: 74rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2rem;
  padding-right: 2rem;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .container {
    padding-left: clamp(1.5rem, 8.33vw, 4rem);
    padding-right: clamp(1.5rem, 8.33vw, 4rem);
  }
}

.section-heading__en {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-primary);
}

.section-heading__dot {
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 3rem;
  background: var(--color-primary);
  flex-shrink: 0;
  transform: translateY(-0.0625rem);
}

.section-heading__en-text {
  display: inline-block;
}

.section-heading__title {
  margin: 0.5rem 0 0;
  font-size: clamp(1.375rem, 4vw, 1.75rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.15em;
  color: var(--color-text);
}

@keyframes section-heading-dot-in {
  from {
    opacity: 0;
    transform: translateY(-0.0625rem) scale(0);
  }
  to {
    opacity: 1;
    transform: translateY(-0.0625rem) scale(1);
  }
}
@keyframes section-heading-fade-up {
  from {
    opacity: 0;
    transform: translateY(0.75rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js.scroll-reveal-active .js-section-heading-reveal:not(.is-inview) .section-heading__dot,
  html.js.scroll-reveal-active .js-section-heading-reveal:not(.is-inview) .section-heading__en-text,
  html.js.scroll-reveal-active .js-section-heading-reveal:not(.is-inview) .section-heading__title {
    opacity: 0;
  }
  html.js.scroll-reveal-active .js-section-heading-reveal:not(.is-inview) .section-heading__dot {
    transform: translateY(-0.0625rem) scale(0);
  }
  html.js.scroll-reveal-active .js-section-heading-reveal:not(.is-inview) .section-heading__en-text,
  html.js.scroll-reveal-active .js-section-heading-reveal:not(.is-inview) .section-heading__title {
    transform: translateY(0.75rem);
  }
  html.js.scroll-reveal-active .js-section-heading-reveal.is-inview:not(.is-revealed) .section-heading__dot,
  html.js.scroll-reveal-active .js-section-heading-reveal.is-inview:not(.is-revealed) .section-heading__en-text,
  html.js.scroll-reveal-active .js-section-heading-reveal.is-inview:not(.is-revealed) .section-heading__title {
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js.scroll-reveal-active .js-section-heading-reveal.is-inview:not(.is-revealed) .section-heading__dot {
    animation-name: section-heading-dot-in;
    animation-duration: 0.4s;
    animation-delay: 0ms;
  }
  html.js.scroll-reveal-active .js-section-heading-reveal.is-inview:not(.is-revealed) .section-heading__en-text {
    animation-name: section-heading-fade-up;
    animation-duration: 0.5s;
    animation-delay: 120ms;
  }
  html.js.scroll-reveal-active .js-section-heading-reveal.is-inview:not(.is-revealed) .section-heading__title {
    animation-name: section-heading-fade-up;
    animation-duration: 0.55s;
    animation-delay: 240ms;
  }
  html.js.scroll-reveal-active .js-section-heading-reveal.is-revealed .section-heading__dot,
  html.js.scroll-reveal-active .js-section-heading-reveal.is-revealed .section-heading__en-text,
  html.js.scroll-reveal-active .js-section-heading-reveal.is-revealed .section-heading__title {
    opacity: 1;
    animation: none;
  }
  html.js.scroll-reveal-active .js-section-heading-reveal.is-revealed .section-heading__dot {
    transform: translateY(-0.0625rem);
  }
  html.js.scroll-reveal-active .js-section-heading-reveal.is-revealed .section-heading__en-text,
  html.js.scroll-reveal-active .js-section-heading-reveal.is-revealed .section-heading__title {
    transform: none;
  }
}
@media (max-width: 768px) {
  .section-heading__en {
    font-size: clamp(1rem, 1rem + (100vw - 375px) * 2 / 393, 1.125rem);
  }
  .section-heading__title {
    font-size: clamp(1.375rem, 1.375rem + (100vw - 375px) * 10 / 393, 2rem);
  }
}
.section-body {
  font-size: 1rem;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.1em;
  color: var(--color-text);
}
@media (max-width: 768px) {
  .section-body {
    font-size: clamp(0.875rem, 0.875rem + (100vw - 375px) * 2 / 393, 1rem);
  }
}

.section-body--about {
  font-size: 0.9375rem;
}
@media (max-width: 768px) {
  .section-body--about {
    font-size: 0.9375rem;
  }
}

.section-body--company {
  font-size: 0.9375rem;
}
@media (max-width: 768px) {
  .section-body--company {
    font-size: clamp(0.9375rem, 0.9375rem + (100vw - 375px) * 1 / 393, 1rem);
  }
}

.section-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
}

.section-label__dot {
  display: block;
  flex-shrink: 0;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 1.5rem;
  background: var(--color-primary);
}

.section-label__text {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.4;
  color: var(--color-text);
}

.section-label--orange .section-label__dot {
  background: var(--color-accent-orange);
}

.btn-more {
  display: inline-flex;
  align-items: center;
  gap: 1.5rem;
  max-width: 100%;
  box-sizing: border-box;
  padding: 0.125rem 0.125rem 0.125rem 2.375rem;
  border: 0.125rem solid var(--color-primary);
  border-radius: 6rem;
  background: var(--color-white);
  text-decoration: none;
  color: var(--color-primary);
  transition: background-color 0.2s ease, color 0.2s ease;
}
.btn-more:hover {
  background-color: var(--color-primary);
  color: var(--color-white);
}

.btn-more__label {
  min-width: 0;
  padding-left: 0.25rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

.btn-more__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  flex-shrink: 0;
}
.btn-more__icon .material-icons {
  font-size: 1.5rem;
  transition: transform 0.25s ease;
}

.btn-more:hover .btn-more__icon .material-icons {
  transform: translateX(0.25rem);
}

@media (prefers-reduced-motion: reduce) {
  .btn-more__icon .material-icons {
    transition: none;
  }
}
.btn-more--header {
  flex-shrink: 0;
}

.btn-more--center {
  margin-top: 3rem;
}

@media (max-width: 768px) {
  .btn-more {
    gap: 1rem;
    padding-left: 1.875rem;
  }
  .btn-more__label {
    padding-left: 0.375rem;
  }
  .btn-more__icon {
    width: 3rem;
    height: 3rem;
  }
}
.service-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  box-sizing: border-box;
  min-height: 19.19925rem;
  padding: 2rem;
  border-radius: 1rem;
  background: var(--color-bg-light);
  list-style: none;
}

.service-card__head {
  width: 100%;
  min-width: 0;
}

.service-card__num {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.075rem;
  color: var(--color-accent-orange);
}

.service-card__title {
  margin: 1.5rem 0 0;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.075rem;
  color: var(--color-text);
}

.service-card__en {
  margin: 0.5rem 0 0;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.04375rem;
  color: var(--color-primary);
}

.service-card__desc {
  margin: 1.5rem 0 0;
  width: 100%;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.09375rem;
  color: var(--color-text);
}

.service-card__link {
  display: inline-flex;
  align-items: center;
  align-self: flex-end;
  gap: 1rem;
  margin-top: 1.5rem;
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.04375rem;
  color: var(--color-text);
  transition: color 0.2s ease;
}
.service-card__link .material-icons {
  font-size: 1.5rem;
  transition: transform 0.25s ease;
}
.service-card__link:hover {
  color: var(--color-primary);
}
.service-card__link:hover .material-icons {
  transform: translateX(0.25rem);
}

@media (prefers-reduced-motion: reduce) {
  .service-card__link .material-icons {
    transition: none;
  }
}
.works-card {
  flex: 0 0 85%;
  max-width: 30rem;
  scroll-snap-align: start;
}

.works-card__link {
  display: block;
  padding: 0 1.5rem;
  text-decoration: none;
  color: inherit;
}

.works-card__figure {
  position: relative;
  margin: 0;
  aspect-ratio: 432/259;
  border-radius: 0.75rem;
  overflow: hidden;
}
.works-card__figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.works-card__placeholder {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--color-bg-light);
}

.works-card__dim,
.works-card__more {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: none;
  transition: opacity 0.2s ease;
  pointer-events: none;
}

.works-card__dim {
  background: rgba(30, 30, 30, 0.45);
}

.works-card__more {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-white);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

.works-card__body {
  margin-top: 1.5rem;
  transition: opacity 0.2s ease;
}

.works-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.works-card__tag {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: var(--color-primary);
}

.works-card__title {
  margin: 1rem 0 0;
  padding-top: 1rem;
  border-top: 1px solid var(--color-border);
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: var(--color-text);
}

.works-card__company {
  margin: 1rem 0 0;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.1em;
  color: var(--color-text-muted);
}

.works-card__link:hover .works-card__figure img {
  transform: scale(1.05);
}

.works-card__link:hover .works-card__dim,
.works-card__link:hover .works-card__more {
  opacity: 1;
  transform: none;
}

.works-card__link:hover .works-card__body {
  opacity: 0.5;
}

@media (max-width: 768px) {
  .works-card {
    flex: none;
    width: 17.5rem;
    max-width: none;
    scroll-snap-align: center;
  }
  .works-card__link {
    padding-inline: 0;
  }
  .works-card__title {
    font-size: 0.9375rem;
    line-height: 1.6;
  }
}
.blog-card {
  min-width: 0;
}

.blog-card__link {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}

.blog-card__figure {
  position: relative;
  margin: 0;
  aspect-ratio: 328/197;
  border-radius: 0.25rem;
  overflow: hidden;
  background: var(--color-bg-light);
}
.blog-card__figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.blog-card__placeholder {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--color-bg-light);
}

.blog-card__dim,
.blog-card__more {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: none;
  transition: opacity 0.2s ease;
  pointer-events: none;
}

.blog-card__dim {
  background: rgba(30, 30, 30, 0.45);
}

.blog-card__more {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-white);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

.blog-card__body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 1.5rem;
  transition: opacity 0.2s ease;
}

.blog-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.blog-card__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.75rem;
  border-radius: 1.5rem;
  background: var(--color-bg-light);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.0875rem;
  color: var(--color-primary);
}

.blog-card__title {
  margin: 0;
  padding-top: 1rem;
  border-top: 1px solid var(--color-border);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1rem;
  color: var(--color-text);
}

.blog-card__date {
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.075rem;
  color: var(--color-text-muted);
}

.blog-card__link:hover .blog-card__figure img {
  transform: scale(1.05);
}

.blog-card__link:hover .blog-card__dim,
.blog-card__link:hover .blog-card__more {
  opacity: 1;
  transform: none;
}

.blog-card__link:hover .blog-card__body {
  opacity: 0.5;
}

.news-item {
  list-style: none;
}

.news-item__link {
  display: block;
  padding: 2.0625rem 1.5rem 2rem;
  border-top: 1px solid var(--color-text-muted);
  text-decoration: none;
  color: inherit;
  background-color: transparent;
  transition: background-color 0.2s ease;
}
.news-item__link:hover {
  background-color: var(--color-bg-light);
}

.news-item__meta {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.news-item__date {
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.046875rem;
  color: var(--color-text);
}

.news-item__tag {
  display: inline-block;
  padding: 0.375rem 0.75rem 0.25rem;
  border-radius: 4rem;
  background: var(--color-tag);
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.040625rem;
  color: var(--color-text);
}

.news-item__title {
  margin: 1rem 0 0;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.046875rem;
  color: var(--color-text);
  transition: color 0.2s ease;
}

.news-item__link:hover .news-item__title {
  color: var(--color-primary);
}

@media (max-width: 768px) {
  .news-item__link {
    padding: 1.5rem 1rem 1.5rem;
  }
  .news-item__meta {
    gap: 1rem;
  }
  .news-item__tag {
    flex-shrink: 0;
  }
  .news-item__title {
    margin-top: 1rem;
  }
}
.page-hero {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  overflow: hidden;
  min-height: clamp(17.5rem, 45vw, 23.875rem);
  padding-left: 0;
  padding-right: 0;
  padding-top: clamp(7.5rem, 14vw, 10.5rem);
  padding-bottom: clamp(4rem, 10vw, 6rem);
}

.page-hero__media {
  position: absolute;
  inset: 0;
}

.page-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(17, 17, 17, 0.35);
}

.page-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: brightness(0.9) contrast(1.05) saturate(0.9);
}

.page-hero__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  color: #fff;
}

@keyframes page-hero-fade-up {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js .page-hero__title,
  html.js .page-hero__lead {
    animation: page-hero-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
}
.page-hero__title {
  margin: 0;
  font-family: var(--font-base);
  font-weight: 500;
  font-size: clamp(2.5rem, 1.75rem + 3vw, 4.5rem);
  line-height: 1.2;
  letter-spacing: 0.02em;
}

.page-hero__lead {
  margin: 0;
  margin-top: 0.75rem;
  font-family: var(--font-base);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.page-hero--light {
  align-items: flex-end;
  justify-content: flex-start;
  min-height: 0;
  background: var(--color-bg-light);
  border-radius: 0 0 4rem 4rem;
  padding-top: 8.75rem;
}
@media (min-width: 769px) {
  .page-hero--light {
    padding-top: clamp(8.75rem, 8.75rem + (100vw - 769px) * 10 / 1136, 9.375rem);
  }
}
.page-hero--light {
  padding-bottom: 4rem;
}
@media (min-width: 769px) {
  .page-hero--light {
    padding-bottom: clamp(4rem, 4rem + (100vw - 769px) * 0 / 1136, 4rem);
  }
}

.page-hero--light .page-hero__inner {
  align-items: flex-start;
  text-align: left;
  color: var(--color-text);
}

.page-hero--light .page-hero__title {
  font-weight: 600;
  font-size: clamp(2.5rem, 1.75rem + 3.5vw, 3.5rem);
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.page-hero--light .page-hero__lead {
  margin-top: 0.5rem;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
}

@media (max-width: 768px) {
  .page-hero--light {
    border-radius: 0 0 2rem 2rem;
    padding-top: clamp(6.25rem, 6.25rem + (100vw - 375px) * 20 / 393, 7.5rem);
    padding-bottom: clamp(2.5rem, 2.5rem + (100vw - 375px) * 24 / 393, 4rem);
  }
  .page-hero--light .page-hero__title {
    font-size: clamp(2.25rem, 2.25rem + (100vw - 375px) * 20 / 393, 3.5rem);
  }
  .page-hero--light .page-hero__lead {
    font-size: clamp(1rem, 1rem + (100vw - 375px) * 2 / 393, 1.125rem);
  }
}
@media (min-width: 769px) {
  main .page-hero .page-hero__inner.container {
    padding-inline: 2.1875rem;
  }
}
@media (min-width: 769px) and (min-width: 769px) {
  main .page-hero .page-hero__inner.container {
    padding-inline: clamp(2.1875rem, 2.1875rem + (100vw - 769px) * -3 / 415, 2rem);
  }
}
.top-page {
  padding-top: 0;
}

.section {
  padding-top: clamp(4rem, 10vw, 7.5rem);
  padding-bottom: clamp(4rem, 10vw, 7.5rem);
}

.top-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  display: flex;
  justify-content: center;
  padding: 1rem;
  padding-top: calc(1rem + env(safe-area-inset-top, 0px));
}

.top-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 78rem;
  min-height: 4.8369375rem;
  margin-left: auto;
  margin-right: auto;
  padding-block: 0.25rem;
  padding-inline: 1.5rem;
  border-radius: 0.75rem;
  background: var(--color-white);
  box-shadow: 0 0 0.3125rem rgba(123, 123, 123, 0.2);
}

.top-header__logo {
  display: inline-block;
  line-height: 0;
  flex-shrink: 0;
  text-decoration: none;
}

.top-header__logo img {
  display: block;
  width: 6.5rem;
  height: 1.4931875rem;
}

.top-header__nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-grow: 0;
  flex-shrink: 0;
  width: 41.5rem;
  gap: 0;
}

.top-header__nav-link {
  display: inline-flex;
  align-items: stretch;
  justify-content: center;
  width: 6.5rem;
  flex-shrink: 0;
  padding: 0;
  text-decoration: none;
  color: var(--color-text);
  white-space: nowrap;
}

.top-header__nav-link-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 1.3994375rem;
  padding-block: 1.5rem;
  padding-inline: 0;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
}

.top-header__nav-link-swap {
  position: relative;
  display: block;
  width: 100%;
  height: 1.4rem;
  overflow: hidden;
}

.top-header__nav-link-en,
.top-header__nav-link-ja {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 1.4rem;
  transition: transform 0.25s ease;
}

.top-header__nav-link-ja {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 0.8125rem;
  transform: translateY(100%);
}

@media (hover: hover) and (pointer: fine) {
  .top-header__nav-link:hover .top-header__nav-link-en,
  .top-header__nav-link:focus-visible .top-header__nav-link-en {
    transform: translateY(-100%);
  }
  .top-header__nav-link:hover .top-header__nav-link-ja,
  .top-header__nav-link:focus-visible .top-header__nav-link-ja {
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .top-header__nav-link-en,
  .top-header__nav-link-ja {
    transition: none;
  }
}
.top-header__nav-link--home {
  display: none;
}

.top-header__nav-link--contact {
  align-items: center;
  width: auto;
  flex-shrink: 0;
  padding-block: 1rem;
  padding-inline: 1.25rem;
  border-radius: 3rem;
  background: var(--color-primary);
  color: var(--color-white);
  transition: opacity 0.2s ease;
}

.top-header__nav-link--contact .top-header__nav-link-inner {
  width: 6.5rem;
  min-height: 1.3994375rem;
  padding: 0;
  font-weight: 700;
  color: inherit;
}

.top-header__nav-link--contact .top-header__nav-link-ja {
  font-size: 0.875rem;
}

.top-header__nav-link--contact:hover {
  opacity: 0.85;
}

.top-header__menu-toggle {
  display: none;
  position: relative;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border: none;
  background: transparent;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  flex-shrink: 0;
}

.top-header__menu-toggle-bar {
  display: block;
  position: absolute;
  left: 0.5rem;
  width: 1.5rem;
  height: 0.125rem;
  border-radius: 0.0625rem;
  background: var(--color-text);
  transition: top 0.25s ease, transform 0.25s ease, opacity 0.25s ease;
}

.top-header__menu-toggle-bar:nth-child(1) {
  top: 0.75rem;
}

.top-header__menu-toggle-bar:nth-child(2) {
  top: 1.1875rem;
}

.top-header__menu-toggle-bar:nth-child(3) {
  top: 1.625rem;
}

.top-header--menu-open .top-header__menu-toggle-bar:nth-child(1) {
  top: 1.1875rem;
  transform: rotate(45deg);
}

.top-header--menu-open .top-header__menu-toggle-bar:nth-child(2) {
  opacity: 0;
  visibility: hidden;
}

.top-header--menu-open .top-header__menu-toggle-bar:nth-child(3) {
  top: 1.1875rem;
  transform: rotate(-45deg);
}

.top-header__backdrop {
  position: fixed;
  inset: 0;
  background: rgba(30, 30, 30, 0.45);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  z-index: -1;
}

.top-header--menu-open .top-header__backdrop {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

@media (max-width: 950px) {
  .top-header {
    padding-left: clamp(1.5rem, 5.21vw, 2.5rem);
    padding-right: clamp(1.5rem, 5.21vw, 2.5rem);
    padding-bottom: 1rem;
    padding-top: calc(1rem + env(safe-area-inset-top, 0px));
  }
  .top-header__inner {
    min-height: 3.5rem;
    padding-block: 0.75rem;
    padding-inline: 1.5rem;
  }
  .top-header__logo img {
    width: 5.75rem;
    height: auto;
  }
  .top-header__menu-toggle {
    display: block;
    position: relative;
    z-index: 1002;
    width: 2.25rem;
    height: 2.25rem;
    overflow: hidden;
  }
  .top-header--menu-open .top-header__inner {
    background: transparent;
    box-shadow: none;
  }
  .top-header__menu-toggle-bar {
    left: 0.375rem;
    width: 1.375rem;
  }
  .top-header__menu-toggle-bar:nth-child(1) {
    top: 0.625rem;
  }
  .top-header__menu-toggle-bar:nth-child(2) {
    top: 1.0625rem;
  }
  .top-header__menu-toggle-bar:nth-child(3) {
    top: 1.5rem;
  }
  .top-header--menu-open .top-header__menu-toggle-bar:nth-child(1) {
    top: 1.0625rem;
  }
  .top-header--menu-open .top-header__menu-toggle-bar:nth-child(3) {
    top: 1.0625rem;
  }
  .top-header__nav {
    position: fixed;
    top: 0;
    right: 0;
    width: min(100%, 22.5rem);
    height: 100vh;
    height: 100dvh;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    padding: 4.5rem 2rem 3rem;
    background: var(--color-white);
    box-shadow: -0.25rem 0 1.5rem rgba(0, 0, 0, 0.1);
    transform: translateX(100%);
    transition: transform 0.3s ease;
    z-index: 1001;
    overflow-y: auto;
  }
  .top-header--menu-open .top-header__nav {
    transform: translateX(0);
  }
  .top-header__nav-link {
    min-width: 0;
    width: 100%;
    border-top: 1px solid var(--color-border);
  }
  .top-header__nav-link--home {
    display: inline-flex;
    border-top: none;
  }
  .top-header__nav-link-inner {
    width: 100%;
    min-height: 0;
    padding-block: 1rem;
    padding-inline: 0;
    justify-content: flex-start;
  }
  .top-header__nav-link:not(.top-header__nav-link--contact) .top-header__nav-link-swap {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: 0.75rem;
    row-gap: 0.25rem;
    width: 100%;
    height: auto;
    overflow: visible;
  }
  .top-header__nav-link:not(.top-header__nav-link--contact) .top-header__nav-link-en,
  .top-header__nav-link:not(.top-header__nav-link--contact) .top-header__nav-link-ja {
    position: static;
    justify-content: flex-start;
    width: auto;
    height: auto;
    transform: none;
    transition: none;
  }
  .top-header__nav-link:not(.top-header__nav-link--contact) .top-header__nav-link-ja {
    order: 1;
    font-size: 1rem;
    font-weight: 600;
  }
  .top-header__nav-link:not(.top-header__nav-link--contact) .top-header__nav-link-en {
    order: 2;
    font-size: 0.875rem;
    font-weight: 400;
  }
  .top-header__nav-link--contact {
    align-items: center;
    min-width: 0;
    width: 100%;
    margin-top: 1.5rem;
    padding-block: 1rem;
    padding-inline: 1.25rem;
    border-top: none;
  }
  .top-header__nav-link--contact .top-header__nav-link-inner {
    width: 100%;
    min-height: 0;
    padding: 0;
    justify-content: center;
  }
  .top-header__nav-link--contact .top-header__nav-link-en,
  .top-header__nav-link--contact .top-header__nav-link-ja {
    justify-content: center;
  }
}
.hero {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-height: auto;
  overflow-x: clip;
  padding-top: calc(10rem + env(safe-area-inset-top, 0px));
}

.hero__inner {
  flex: 1;
  width: 100%;
}

.hero__layout {
  display: grid;
  grid-template-columns: minmax(0, 394fr) minmax(0, 578.547fr);
  column-gap: 5.895625rem;
  align-items: start;
  box-sizing: border-box;
  width: 100%;
  max-width: 70rem;
  margin-inline: auto;
  padding-left: 1.25rem;
}
@media (min-width: 769px) {
  .hero__layout {
    padding-left: clamp(1.25rem, 1.25rem + (100vw - 769px) * 6.562 / 415, 1.660125rem);
  }
}
.hero__layout {
  padding-right: 1.25rem;
}
@media (min-width: 769px) {
  .hero__layout {
    padding-right: clamp(1.25rem, 1.25rem + (100vw - 769px) * 6.562 / 415, 1.660125rem);
  }
}

.hero__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  min-width: 0;
  margin-top: 0rem;
}
@media (min-width: 769px) {
  .hero__content {
    margin-top: clamp(0rem, 0rem + (100vw - 769px) * 43.281 / 415, 2.7050625rem);
  }
}
.hero__content {
  overflow-x: clip;
}

.hero__visual {
  width: 100%;
  min-width: 0;
}

.hero__title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0;
  font-size: 3rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.2em;
  color: var(--color-text);
}

.hero__title-line {
  display: block;
  max-width: 100%;
  min-width: 0;
  min-height: 4.25rem;
  white-space: nowrap;
  overflow-x: clip;
}

.hero__title-line--accent {
  color: var(--color-primary);
}

.hero__divider {
  display: block;
  width: 2.5rem;
  height: 0.125rem;
  margin-top: 1.25rem;
}
@media (min-width: 769px) {
  .hero__divider {
    margin-top: clamp(1.25rem, 1.25rem + (100vw - 769px) * 4 / 415, 1.5rem);
  }
}
.hero__divider {
  background: var(--color-text);
}

.hero__lead {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0;
  margin-top: 1.875rem;
}
@media (min-width: 769px) {
  .hero__lead {
    margin-top: clamp(1.875rem, 1.875rem + (100vw - 769px) * 0 / 415, 1.875rem);
  }
}
.hero__lead {
  padding: 0;
}

.hero__lead-line {
  margin: 0;
  max-width: 100%;
  min-width: 0;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.2em;
  color: var(--color-text);
  white-space: nowrap;
  overflow-x: clip;
}

.hero__collage-scaler {
  width: 100%;
}

.hero__collage {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}

.hero__collage-row {
  display: flex;
  align-items: flex-end;
  gap: 0;
}

.hero__collage-row--top {
  padding-left: 1.421875rem;
}

.hero__collage-row--bottom {
  align-items: flex-start;
  width: 36.90525rem;
  max-width: calc(100% + 0.3730625rem);
  margin-left: -0.3730625rem;
}

.hero__figure {
  margin: 0;
  overflow: hidden;
  border-radius: 0.75rem;
  flex-shrink: 0;
}

.hero__figure--main {
  width: 23.5029375rem;
  height: 14.40625rem;
}

.hero__figure--sub {
  width: 17.71775rem;
  height: 9.973625rem;
}

.hero__figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero__shape {
  display: block;
  flex-shrink: 0;
  border-radius: 0.75rem;
}

.hero__shape--orange {
  width: 9.8125rem;
  height: 8.5625rem;
  background: var(--color-accent-orange);
}

.hero__shape--green {
  width: 7.8125rem;
  height: 4.75rem;
  background: var(--color-accent-green);
}

.hero__shape--blue {
  width: 11.375rem;
  height: 14.875rem;
  background: var(--color-primary);
}

.hero-news {
  display: flex;
  justify-content: center;
  margin-top: 1.25rem;
}
@media (min-width: 769px) {
  .hero-news {
    margin-top: clamp(1.25rem, 1.25rem + (100vw - 769px) * 31 / 415, 3.1875rem);
  }
}
.hero-news {
  padding-bottom: 4rem;
}
@media (min-width: 769px) {
  .hero-news {
    padding-bottom: clamp(4rem, 4rem + (100vw - 769px) * -24 / 1136, 2.5rem);
  }
}
.hero-news {
  padding-inline: 1rem;
}

.hero-news__inner {
  display: flex;
  justify-content: center;
  width: 100%;
  padding-inline: 0;
}

.hero-news__link {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 1.5rem;
  width: 46.401375rem;
  max-width: 100%;
  box-sizing: border-box;
  padding: 1.5rem 1.875rem;
  border-radius: 3rem;
  background: var(--color-white);
  box-shadow: 0 0 0.375rem rgba(125, 125, 125, 0.2);
  text-decoration: none;
  color: inherit;
  transition: background-color 0.2s ease;
}

.hero-news__link:hover {
  background-color: var(--color-bg-light);
}

.hero-news__date {
  flex-shrink: 0;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.4285714286;
  letter-spacing: 0.04375rem;
  color: var(--color-text-muted);
  white-space: nowrap;
}

.hero-news__text {
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.0875rem;
  color: var(--color-text);
  white-space: normal;
  overflow-wrap: anywhere;
}

@keyframes header-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes hero-fade-up {
  from {
    opacity: 0;
    transform: translateY(1.25rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes hero-fade-up-sm {
  from {
    opacity: 0;
    transform: translateY(0.75rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes hero-figure-grow {
  from {
    opacity: 0;
    transform: scale(0.1);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes hero-divider-in {
  from {
    opacity: 0;
    transform: scaleX(0);
  }
  to {
    opacity: 1;
    transform: scaleX(1);
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js body:has(.hero) .top-header__inner {
    animation-name: header-fade-in;
    animation-duration: 0.55s;
    animation-delay: 0.06s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js .hero__title-line,
  html.js .hero__divider,
  html.js .hero__lead,
  html.js .hero__shape,
  html.js .hero__figure,
  html.js .hero-news {
    animation-duration: 0.6s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js .hero__title-line {
    animation-name: hero-fade-up;
  }
  html.js .hero__title-line:nth-child(1) {
    animation-delay: 0.4s;
  }
  html.js .hero__title-line:nth-child(2) {
    animation-delay: 0.52s;
    animation-duration: 0.7s;
  }
  html.js .hero__title-line:nth-child(3) {
    animation-delay: 0.64s;
  }
  html.js .hero__divider {
    transform-origin: left center;
    animation-name: hero-divider-in;
    animation-delay: 0.78s;
    animation-duration: 0.5s;
  }
  html.js .hero__lead {
    animation-name: hero-fade-up-sm;
    animation-delay: 0.88s;
  }
  html.js .hero__shape,
  html.js .hero__figure {
    transform-origin: center center;
    animation-name: hero-figure-grow;
    animation-duration: 1.15s;
    animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  }
  html.js .hero__shape--orange {
    animation-delay: 0.72s;
  }
  html.js .hero__figure--main {
    animation-delay: 0.8s;
  }
  html.js .hero__shape--green {
    animation-delay: 0.88s;
  }
  html.js .hero__shape--blue {
    animation-delay: 0.96s;
  }
  html.js .hero__figure--sub {
    animation-delay: 1.04s;
  }
  html.js .hero-news {
    animation-name: hero-fade-up-sm;
    animation-delay: 1.22s;
    animation-duration: 0.55s;
  }
}
@media (min-width: 769px) {
  .hero__visual {
    container-type: inline-size;
    max-width: 100%;
    min-width: 0;
    overflow: visible;
  }
  .hero__collage-scaler {
    width: 100%;
    box-sizing: border-box;
    padding-left: calc(0.3730625rem * 100cqw / calc(36.90525rem + 0.3730625rem));
    height: calc(29.28125rem * 100cqw / calc(36.90525rem + 0.3730625rem));
    overflow: hidden;
  }
  .hero__collage {
    width: 36.90525rem;
    transform: scale(calc(100cqw / calc(36.90525rem + 0.3730625rem)));
    transform-origin: top left;
  }
  .container {
    max-width: 74.375rem;
    padding-left: 2.1875rem;
    padding-right: 2.1875rem;
  }
  .hero__layout {
    padding-left: 0;
    padding-right: 0;
    column-gap: clamp(1.5rem, 1.5rem + (100vw - 961px) * 70.33 / 223, 5.895625rem);
  }
  .about__inner {
    align-items: flex-start;
    gap: clamp(2rem, 2rem + (100vw - 961px) * 62.33 / 223, 5.895625rem);
  }
  .hero__content {
    container-type: inline-size;
    overflow-x: clip;
  }
  .hero__title {
    font-size: clamp(1.875rem, 1.875rem + (100vw - 769px) * 18 / 415, 3rem);
    line-height: 1.4;
  }
  .hero__title-line {
    min-height: 0;
    white-space: nowrap;
  }
  .hero__lead-line {
    font-size: clamp(0.9375rem, 0.9375rem + (100vw - 769px) * 3 / 415, 1.125rem);
    white-space: nowrap;
  }
  .hero__divider {
    margin-top: clamp(1.25rem, 1.25rem + (100vw - 769px) * 4 / 415, 1.5rem);
  }
}
@media (min-width: 769px) and (max-width: 1183px) {
  .hero__layout {
    grid-template-columns: minmax(0, calc(55% - (100vw - 961px) * 14.46% / 223)) minmax(0, 1fr);
  }
}
@media (max-width: 768px) {
  .hero__layout {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(2rem, 4vw, 3rem);
    max-width: none;
    padding-inline: clamp(1.5rem, 4vw, 2.5rem);
  }
  .hero__content {
    width: 100%;
    max-width: 24.625rem;
    min-width: 0;
    margin-top: 0;
    margin-inline: auto;
  }
  .hero__visual {
    width: 100%;
    max-width: calc(36.90525rem + 0.3730625rem);
    min-width: 0;
    margin-inline: auto;
  }
  .hero__title {
    font-size: clamp(2.125rem, 3.7vw, 2.75rem);
    line-height: 1.35;
    letter-spacing: clamp(0.1em, 0.22vw, 0.16em);
  }
  .hero__title-line {
    min-height: 0;
    white-space: normal;
  }
  .hero__lead-line {
    white-space: normal;
  }
  .hero__visual {
    container-type: inline-size;
    max-width: 100%;
    min-width: 0;
    overflow: visible;
  }
  .hero__collage-scaler {
    width: 100%;
    box-sizing: border-box;
    padding-left: calc(0.3730625rem * 100cqw / calc(36.90525rem + 0.3730625rem));
    height: calc(29.28125rem * 100cqw / calc(36.90525rem + 0.3730625rem));
    overflow: hidden;
  }
  .hero__collage {
    width: 36.90525rem;
    transform: scale(calc(100cqw / calc(36.90525rem + 0.3730625rem)));
    transform-origin: top left;
  }
  .hero-news {
    margin-top: clamp(-1rem, -1rem + (100vw - 769px) * 56 / 191, 2.5rem);
  }
  .hero-news__link {
    width: 100%;
    max-width: 46.401375rem;
    margin-inline: auto;
  }
  .works__slider-track {
    gap: 1.5rem;
  }
}
@media (max-width: 768px) and (max-width: 768px) {
  .hero {
    padding-top: clamp(6.5rem, 15.625vw, 7.5rem);
    padding-top: calc(clamp(6.5rem, 15.625vw, 7.5rem) + env(safe-area-inset-top, 0px));
  }
  .hero__layout {
    align-items: stretch;
    gap: clamp(2rem, 6.25vw, 3rem);
    padding-inline: 0;
  }
  .hero__content,
  .hero__visual {
    max-width: none;
  }
  .hero-news__link {
    max-width: none;
  }
  .hero__title {
    font-size: clamp(1.75rem, 4.6vw, 2.25rem);
    line-height: 1.4;
    letter-spacing: clamp(0.08em, 0.25vw, 0.14em);
  }
  .hero__divider {
    margin-top: clamp(2rem, 6.25vw, 3rem);
  }
  .hero__lead {
    margin-top: clamp(2rem, 6.25vw, 3rem);
  }
  .hero__lead-line {
    font-size: clamp(1rem, 2.34vw, 1.125rem);
    line-height: 1.4;
    letter-spacing: clamp(0.06em, 0.2vw, 0.1em);
  }
  .hero-news {
    position: relative;
    z-index: 1;
    margin-top: clamp(-2rem, -1rem - (100vw - 375px) * 16 / 393, -1rem);
    padding-inline: clamp(1.5rem, 6.25vw, 3rem);
  }
  .hero-news__inner {
    padding-inline: 0;
  }
  .hero-news__link {
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(0.5rem, 1.56vw, 0.75rem);
    padding-block: clamp(1rem, 3.13vw, 1.5rem);
    padding-inline: clamp(1.25rem, 6.25vw, 3rem);
    border-radius: clamp(1.5rem, 8vw, 3rem);
  }
  .hero-news__date,
  .hero-news__text {
    white-space: normal;
  }
}
.about.section {
  padding-bottom: 0;
  padding-top: clamp(3.125rem, 3.125rem + (100vw - 375px) * -50 / 393, 0rem);
  padding-bottom: 0rem;
}
@media (min-width: 769px) {
  .about.section {
    padding-bottom: clamp(0rem, 0rem + (100vw - 769px) * 80 / 1136, 5rem);
  }
}

@media (min-width: 769px) {
  .about.section {
    padding-top: clamp(4rem, 10vw, 7.5rem);
  }
}
.about__inner {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
}

.about__visual {
  flex: 0 1 46.5%;
  width: 46.5%;
  max-width: 100%;
  min-width: 0;
  min-height: 0;
}

.about__visual-scaler {
  width: 100%;
}

.about__visual-collage {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 32.5rem;
  height: 24.583rem;
}

.about__figure {
  margin: 0;
  overflow: hidden;
  flex-shrink: 0;
}

.about__figure--main {
  width: 21.875rem;
  height: 14.583rem;
  border-radius: 0.5rem;
}

.about__figure-row {
  display: flex;
  align-items: flex-start;
  box-sizing: border-box;
  width: 100%;
  padding-left: 10rem;
  gap: 0;
}

.about__figure--sub {
  width: 15rem;
  height: 10rem;
  border-radius: 0.5rem;
}

.about__figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about__shape {
  display: block;
  flex-shrink: 0;
  width: 7.5rem;
  height: 7.5rem;
  border-radius: 0.75rem;
  background: var(--color-accent-orange);
}

.about__content {
  flex: 0 1 46.5%;
  width: 46.5%;
  max-width: 100%;
  min-width: 0;
}

.about .section-heading__title {
  font-size: 1.75rem;
  letter-spacing: 0.15em;
}

.about__text,
.services__text,
.works__text {
  margin: 0;
  margin-top: 1.5rem;
}
@media (min-width: 769px) {
  .about__text,
  .services__text,
  .works__text {
    margin-top: clamp(1.5rem, 1.5rem + (100vw - 769px) * 8 / 415, 2rem);
  }
}

.services__text {
  font-size: 0.9375rem;
}

.works__text {
  font-size: 0.9375rem;
}

.about .btn-more {
  margin-top: 4rem;
}
@media (min-width: 769px) {
  .about .btn-more {
    margin-top: clamp(4rem, 4rem + (100vw - 769px) * 16 / 415, 5rem);
  }
}

.about .btn-more__label {
  letter-spacing: 0.1rem;
}

@keyframes about-fade-up {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes about-grow {
  from {
    opacity: 0;
    transform: scale(0.1);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js.scroll-reveal-active .about .js-scroll-reveal:not(.is-inview) {
    opacity: 0;
  }
  html.js.scroll-reveal-active .about .about__text.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .about .btn-more.js-scroll-reveal:not(.is-inview) {
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .about .js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js.scroll-reveal-active .about .about__text.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .about .btn-more.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-name: about-fade-up;
    animation-duration: 0.55s;
  }
  html.js.scroll-reveal-active .about .about__figure.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .about .about__shape.js-scroll-reveal.is-inview:not(.is-revealed) {
    transform-origin: center center;
    animation-name: about-grow;
    animation-duration: 1.15s;
    animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  }
  html.js.scroll-reveal-active .about .btn-more.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-duration: 0.5s;
  }
  html.js.scroll-reveal-active .about .js-scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
@media (max-width: 768px) {
  .about.section {
    padding-bottom: 4rem;
  }
  .about__inner {
    flex-direction: column-reverse;
    gap: 2rem;
  }
  .about__visual {
    flex: none;
    width: 100%;
    min-width: 0;
  }
  .about__visual {
    container-type: inline-size;
    min-height: 0;
    max-width: 100%;
    align-self: flex-start;
  }
  .about__visual-scaler {
    width: 100%;
    box-sizing: border-box;
    height: calc(24.583rem * 100cqw / 32.5rem);
    overflow: hidden;
  }
  .about__visual-collage {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 32.5rem;
    height: 24.583rem;
    transform: scale(calc(100cqw / 32.5rem));
    transform-origin: top left;
  }
  .about__visual-scaler {
    min-height: 13.75rem;
  }
  .about__content {
    flex: none;
    width: 100%;
  }
  .about .section-heading__title {
    letter-spacing: 0.15em;
  }
  .about__text {
    margin-top: 1.5rem;
  }
  .about .btn-more {
    display: flex;
    width: fit-content;
    margin-top: 2rem;
    margin-inline: auto;
  }
}
@media (max-width: 768px) {
  .services.section {
    padding-top: clamp(0rem, 4rem - (100vw - 375px) * 64 / 393, 4rem);
  }
}
@media (max-width: 768px) {
  .services.section {
    padding-top: clamp(0rem, (100vw - 769px) * 64 / 191, 4rem);
  }
}
.services__inner {
  display: grid;
  grid-template-columns: minmax(0, 35fr) minmax(0, 65fr);
  align-items: flex-start;
  gap: 1.5rem;
}
@media (min-width: 769px) {
  .services__inner {
    gap: clamp(1.5rem, 1.5rem + (100vw - 769px) * 40 / 415, 4rem);
  }
}

.services__intro {
  width: 100%;
  min-width: 0;
}

.services__intro .btn-more {
  margin-top: 3rem;
}
@media (min-width: 769px) {
  .services__intro .btn-more {
    margin-top: clamp(2.25rem, 2.25rem + (100vw - 769px) * 12 / 415, 3rem);
  }
}
.services__intro .btn-more {
  width: 100%;
  justify-content: space-between;
}

.services__list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (prefers-reduced-motion: no-preference) {
  html.js.scroll-reveal-active .services .js-scroll-reveal:not(.is-inview) {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .services .js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-name: about-fade-up;
    animation-duration: 0.55s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js.scroll-reveal-active .services .service-card.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-duration: 0.6s;
  }
  html.js.scroll-reveal-active .services .js-scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
@media (max-width: 768px) {
  .services__inner {
    display: flex;
    flex-direction: column;
  }
  .services__intro {
    flex-basis: auto;
    width: 100%;
  }
  .services__list {
    flex: 0 0 auto;
    width: 100%;
    margin-top: 3rem;
  }
  .services__intro .btn-more {
    display: flex;
    width: fit-content;
    margin-top: 3rem;
    margin-inline: auto;
  }
}
.works {
  background: var(--color-bg-light);
  border-radius: clamp(3rem, 8vw, 5rem) clamp(3rem, 8vw, 5rem) 0 0;
}

.works__header {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
}
@media (min-width: 769px) {
  .works__header {
    gap: clamp(1.5rem, 1.5rem + (100vw - 769px) * 8 / 415, 2rem);
  }
}

.works__intro {
  flex: 1 1 auto;
  min-width: 0;
}

.works__slider-wrap {
  overflow: hidden;
  margin-top: 3rem;
}
@media (min-width: 769px) {
  .works__slider-wrap {
    margin-top: clamp(2.25rem, 2.25rem + (100vw - 769px) * 12 / 415, 3rem);
  }
}

.works__empty {
  margin: 0;
  margin-top: 3rem;
}
@media (min-width: 769px) {
  .works__empty {
    margin-top: clamp(2.25rem, 2.25rem + (100vw - 769px) * 12 / 415, 3rem);
  }
}
.works__empty {
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.046875rem;
  color: var(--color-text);
}

.works__slider {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
  cursor: grab;
  padding-left: clamp(1rem, 4vw, 2rem);
  padding-right: clamp(1rem, 4vw, 2rem);
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  scrollbar-width: none;
}
.works__slider a,
.works__slider img {
  -webkit-user-drag: none;
}
.works__slider.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
  user-select: none;
}
.works__slider.is-dragging .works-card__link {
  pointer-events: none;
}

.works__slider-track {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  width: max-content;
  max-width: none;
  will-change: transform;
}

.works__slider--marquee {
  display: block;
  overflow: hidden;
  overflow-x: hidden;
  scroll-snap-type: none;
  touch-action: pan-y;
  cursor: default;
}

.works__slider--marquee .works__slider-track {
  backface-visibility: hidden;
}

.works__slider--static {
  cursor: grab;
}

.works__slider::-webkit-scrollbar {
  display: none;
}

@media (prefers-reduced-motion: no-preference) {
  html.js.scroll-reveal-active .works .works__text.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .works .btn-more.js-scroll-reveal:not(.is-inview) {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .works .works__text.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .works .btn-more.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-name: about-fade-up;
    animation-duration: 0.55s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js.scroll-reveal-active .works .works__slider-wrap.js-scroll-reveal:not(.is-inview) .works-card {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .works .works__slider-wrap.js-scroll-reveal.is-inview:not(.is-revealed) .works-card {
    animation-name: about-fade-up;
    animation-duration: 0.55s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js.scroll-reveal-active .works .works__slider-wrap.js-scroll-reveal.is-inview:not(.is-revealed) .works-card:nth-child(1) {
    animation-delay: 0ms;
  }
  html.js.scroll-reveal-active .works .works__slider-wrap.js-scroll-reveal.is-inview:not(.is-revealed) .works-card:nth-child(2) {
    animation-delay: 70ms;
  }
  html.js.scroll-reveal-active .works .works__slider-wrap.js-scroll-reveal.is-inview:not(.is-revealed) .works-card:nth-child(3) {
    animation-delay: 140ms;
  }
  html.js.scroll-reveal-active .works .works__slider-wrap.js-scroll-reveal.is-inview:not(.is-revealed) .works-card:nth-child(4) {
    animation-delay: 210ms;
  }
  html.js.scroll-reveal-active .works .works__slider-wrap.js-scroll-reveal.is-inview:not(.is-revealed) .works-card:nth-child(5) {
    animation-delay: 280ms;
  }
  html.js.scroll-reveal-active .works .works__slider-wrap.js-scroll-reveal.is-inview:not(.is-revealed) .works-card:nth-child(6) {
    animation-delay: 350ms;
  }
  html.js.scroll-reveal-active .works .works__slider-wrap.js-scroll-reveal.is-inview:not(.is-revealed) .works-card:nth-child(7) {
    animation-delay: 420ms;
  }
  html.js.scroll-reveal-active .works .works__slider-wrap.js-scroll-reveal.is-inview:not(.is-revealed) .works-card:nth-child(8) {
    animation-delay: 490ms;
  }
  html.js.scroll-reveal-active .works .works__text.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .works .btn-more.js-scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
  html.js.scroll-reveal-active .works .works__slider-wrap.js-scroll-reveal.is-revealed .works-card {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
@media (max-width: 768px) {
  .works__header {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  .works__header .btn-more {
    display: flex;
    width: fit-content;
    margin-top: 3rem;
    margin-inline: auto;
    align-self: center;
  }
  .works {
    border-radius: 3rem 3rem 0 0;
  }
  .works__slider {
    padding-left: clamp(1.5rem, 8vw, 4rem);
    padding-right: clamp(1.5rem, 8vw, 4rem);
    scroll-padding-left: clamp(1.5rem, 8vw, 4rem);
    scroll-padding-right: clamp(1.5rem, 8vw, 4rem);
  }
  .works__slider-track {
    gap: 1.5rem;
  }
}
@media (max-width: 768px) {
  .about__inner,
  .services__inner,
  .works__header,
  .company__inner,
  .news__inner {
    flex-direction: column;
  }
  .about__inner {
    flex-direction: column-reverse;
  }
  .about__visual,
  .about__content,
  .services__intro,
  .services__list,
  .company__content,
  .company__visual,
  .news__main {
    width: 100%;
    flex-basis: auto;
  }
  .about__inner,
  .company__inner,
  .news__inner {
    gap: clamp(2rem, 4vw, 3rem);
  }
  .news__sidebar {
    gap: clamp(1rem, 2.5vw, 1.5rem);
  }
  .works__header .btn-more,
  .services__intro .btn-more,
  .about .btn-more,
  .company .btn-more {
    margin-inline: 0;
  }
}
@media (min-width: 769px) and (max-width: 1183px) {
  .about__visual {
    flex: 0 1 48%;
    width: 48%;
  }
  .about__visual {
    container-type: inline-size;
    min-height: 0;
    max-width: 100%;
    align-self: flex-start;
  }
  .about__visual-scaler {
    width: 100%;
    box-sizing: border-box;
    height: calc(24.583rem * 100cqw / 32.5rem);
    overflow: hidden;
  }
  .about__visual-collage {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 32.5rem;
    height: 24.583rem;
    transform: scale(calc(100cqw / 32.5rem));
    transform-origin: top left;
  }
  .about__content {
    flex: 0 1 48%;
    width: 48%;
  }
  .services__intro {
    width: 100%;
  }
  .services__inner {
    grid-template-columns: minmax(0, 38fr) minmax(0, 62fr);
  }
  .works {
    border-radius: clamp(3rem, 8vw, 5rem) clamp(3rem, 8vw, 5rem) 0 0;
  }
  .company__inner {
    align-items: flex-start;
  }
  .company__content {
    flex: 0 1 48%;
    width: 48%;
    margin-top: 0;
  }
  .company__visual {
    flex: 0 1 48%;
    width: 48%;
    margin-top: 0;
    align-self: flex-start;
  }
  .company .section-heading__title {
    letter-spacing: 0.15em;
  }
  .news__sidebar {
    flex: 0 1 34%;
    min-width: 0;
  }
  .news__main {
    flex: 1 1 0;
  }
  .news .section-heading__title {
    letter-spacing: 0.15em;
  }
}
@media (min-width: 769px) and (min-width: 1184px) {
  .company.section {
    padding-top: clamp(0rem, 7.5rem + (100vw - 1184px) * -120 / 721, 7.5rem);
  }
}
.company__inner {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 2rem;
}
@media (min-width: 769px) {
  .company__inner {
    gap: clamp(2rem, 2rem + (100vw - 769px) * 8 / 415, 2.5rem);
  }
}
.company__inner {
  max-width: 70rem;
  margin-inline: auto;
}

.company__content {
  flex: 0 1 clamp(22.5rem, 44vw, 33.75rem);
  width: auto;
  max-width: 100%;
  min-width: 0;
  margin-top: 8.5rem;
}
@media (min-width: 769px) {
  .company__content {
    margin-top: clamp(8.5rem, 8.5rem + (100vw - 769px) * 34.094 / 415, 10.630875rem);
  }
}

.company .section-heading__title {
  font-size: 1.75rem;
  letter-spacing: 0.3rem;
}

.company__text {
  margin: 0;
  margin-top: 1.5rem;
}
@media (min-width: 769px) {
  .company__text {
    margin-top: clamp(1.5rem, 1.5rem + (100vw - 769px) * 8 / 415, 2rem);
  }
}
.company__text {
  width: 100%;
}

.company__text-paragraph {
  margin: 0;
}

.company__text-paragraph + .company__text-paragraph {
  margin-top: 0;
}

.company .btn-more {
  margin-top: 3rem;
}
@media (min-width: 769px) {
  .company .btn-more {
    margin-top: clamp(2rem, 2rem + (100vw - 769px) * 16 / 415, 3rem);
  }
}

.company .btn-more__label {
  letter-spacing: 0.1rem;
}

.company__visual {
  flex: 0 1 clamp(22.5rem, 44vw, 33.75rem);
  width: auto;
  max-width: 100%;
  min-width: 0;
  margin-top: 6rem;
}
@media (min-width: 769px) {
  .company__visual {
    margin-top: clamp(6rem, 6rem + (100vw - 769px) * 24 / 415, 7.5rem);
  }
}
.company__visual {
  overflow-x: clip;
}

@media (min-width: 769px) and (max-width: 1183px) {
  .company__content,
  .company__visual {
    margin-top: 0;
  }
}
.company__visual-scaler {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.company__collage {
  position: relative;
  width: 33.75rem;
  height: 26.01175rem;
}

@media (min-width: 769px) {
  .company__visual {
    container-type: inline-size;
    min-height: 0;
    max-width: 100%;
  }
  .company__visual-scaler {
    width: 100%;
    box-sizing: border-box;
    height: calc(26.01175rem * 100cqw / 33.75rem);
    overflow: hidden;
  }
  .company__collage {
    width: 33.75rem;
    height: 26.01175rem;
    transform: scale(calc(100cqw / 33.75rem));
    transform-origin: top left;
  }
}
.company__collage-row--top {
  position: absolute;
  left: 0;
  top: 0;
  width: 33.75rem;
  height: 13.94925rem;
}

.company__collage-row--bottom {
  position: absolute;
  left: 9.375rem;
  top: 13.94925rem;
  width: 24.375rem;
  height: 12.0625rem;
}

.company__figure {
  margin: 0;
  overflow: hidden;
  border-radius: 0.75rem;
}

.company__figure--main {
  position: absolute;
  left: 0;
  top: 0;
  width: 20.9248125rem;
  height: 13.94925rem;
}

.company__figure--sub {
  position: absolute;
  left: 5rem;
  top: 0;
  width: 12.5rem;
  height: 8.333rem;
}

.company__figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.company__shape {
  display: block;
  border-radius: 0.75rem;
}

.company__shape--orange {
  position: absolute;
  left: 20.9248125rem;
  top: 7.07425rem;
  width: 9.787125rem;
  height: 6.875rem;
  background: var(--color-accent-orange);
}

.company__shape--blue {
  position: absolute;
  left: 0;
  top: 0;
  width: 5rem;
  height: 12.0625rem;
  background: var(--color-primary);
}

.company__shape--tag {
  position: absolute;
  left: 17.5rem;
  top: 0;
  width: 5.375rem;
  height: 5.625rem;
  background: var(--color-tag);
}

@media (prefers-reduced-motion: no-preference) {
  html.js.scroll-reveal-active .company .js-scroll-reveal:not(.is-inview) {
    opacity: 0;
  }
  html.js.scroll-reveal-active .company .company__text.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .company .btn-more.js-scroll-reveal:not(.is-inview) {
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .company .js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js.scroll-reveal-active .company .company__text.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .company .btn-more.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-name: about-fade-up;
    animation-duration: 0.55s;
  }
  html.js.scroll-reveal-active .company .company__figure.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .company .company__shape.js-scroll-reveal.is-inview:not(.is-revealed) {
    transform-origin: center center;
    animation-name: about-grow;
    animation-duration: 1.15s;
    animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  }
  html.js.scroll-reveal-active .company .btn-more.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-duration: 0.5s;
  }
  html.js.scroll-reveal-active .company .js-scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
@media (max-width: 768px) {
  .company__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 2rem;
    max-width: none;
  }
  .company__content {
    flex: none;
    width: 100%;
    margin-top: 0;
  }
  .company .section-heading__title {
    letter-spacing: 0.15em;
  }
  .company .btn-more {
    display: flex;
    width: fit-content;
    margin-top: 3rem;
    margin-inline: auto;
  }
  .company__visual {
    flex: none;
    width: 100%;
    max-width: none;
    margin-top: 0;
  }
  .company__visual-scaler {
    width: 100%;
    height: auto;
    min-height: 13.75rem;
    transform: none;
  }
  .company__collage {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    max-width: 100%;
    height: auto;
  }
  .company__collage-row--top,
  .company__collage-row--bottom {
    position: relative;
    left: auto;
    top: auto;
    display: grid;
    gap: 0;
    height: auto;
  }
  .company__collage-row--top {
    align-items: start;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr);
    width: calc(100% - 1.5rem * 2);
    margin-inline: auto;
  }
  .company__collage-row--bottom {
    align-items: start;
    grid-template-columns: minmax(0, 32fr) minmax(0, 60fr) minmax(0, 45fr);
    width: calc(100% - 2.25rem);
    margin-left: 0;
    margin-right: 0;
  }
  .company__figure {
    position: static;
    left: auto;
    top: auto;
    min-width: 0;
    width: 100%;
    height: auto;
  }
  .company__figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .company__figure--main {
    grid-column: 1/3;
    aspect-ratio: 335/223;
  }
  .company__figure--sub {
    grid-column: 2;
    aspect-ratio: 200/133;
  }
  .company__shape {
    position: static;
    left: auto;
    top: auto;
    width: 100%;
    height: auto;
  }
  .company__shape--orange {
    grid-column: 3;
    align-self: end;
    aspect-ratio: 1/1;
  }
  .company__shape--blue {
    grid-column: 1;
    aspect-ratio: 1/1;
  }
  .company__shape--tag {
    grid-column: 3;
    aspect-ratio: 1/1;
  }
}
.news.section {
  padding-top: 6rem;
}
@media (min-width: 769px) {
  .news.section {
    padding-top: clamp(6rem, 6rem + (100vw - 769px) * 24 / 415, 7.5rem);
  }
}
.news.section {
  padding-bottom: 6rem;
}
@media (min-width: 769px) {
  .news.section {
    padding-bottom: clamp(6rem, 6rem + (100vw - 769px) * 24 / 415, 7.5rem);
  }
}

.news__inner {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 3rem;
}
@media (min-width: 769px) {
  .news__inner {
    gap: clamp(3rem, 3rem + (100vw - 769px) * 32 / 415, 5rem);
  }
}

.news__sidebar {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 0 0 auto;
  align-self: stretch;
  min-width: 0;
}

.news .section-heading__title {
  font-size: 1.75rem;
  letter-spacing: 0.3rem;
}

.news__deco {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 10.75rem;
  max-width: 100%;
}

.news__deco-row {
  display: flex;
  align-items: flex-end;
}

.news__deco-row--top {
  width: 8.9375rem;
  max-width: 100%;
}

.news__deco-row--bottom {
  width: 10.75rem;
  max-width: 100%;
}

.news__deco-block {
  display: block;
  flex-shrink: 0;
}

.news__deco-block--orange {
  width: 6.4375rem;
  height: 7.3125rem;
  border-radius: 0.5rem;
  background: var(--color-accent-orange);
}

.news__deco-block--peach {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.25rem;
  background: var(--color-tag);
}

.news__deco-block--green {
  width: 4.625rem;
  height: 4.625rem;
  border-radius: 0.5rem;
  background: var(--color-accent-green);
}

.news__deco-block--blue {
  width: 6.125rem;
  height: 4.625rem;
  border-radius: 0.5rem;
  background: var(--color-primary);
}

.news__main {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.25rem;
}
@media (min-width: 769px) {
  .news__main {
    gap: clamp(3.25rem, 3.25rem + (100vw - 769px) * 12 / 415, 4rem);
  }
}
.news__main {
  flex: 1 1 0;
  width: auto;
  max-width: 100%;
  min-width: 0;
}

.news__main .btn-more--center {
  margin-top: 0;
}

.news__list {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.news__empty {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.046875rem;
  color: var(--color-text);
}

@media (prefers-reduced-motion: no-preference) {
  html.js.scroll-reveal-active .news .js-scroll-reveal:not(.is-inview) {
    opacity: 0;
  }
  html.js.scroll-reveal-active .news .news-item.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .news .btn-more.js-scroll-reveal:not(.is-inview) {
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .news .js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js.scroll-reveal-active .news .news-item.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .news .btn-more.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-name: about-fade-up;
    animation-duration: 0.55s;
  }
  html.js.scroll-reveal-active .news .btn-more.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-duration: 0.5s;
  }
  html.js.scroll-reveal-active .news .news__deco-block.js-scroll-reveal.is-inview:not(.is-revealed) {
    transform-origin: center center;
    animation-name: about-grow;
    animation-duration: 1.15s;
    animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  }
  html.js.scroll-reveal-active .news .js-scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
@media (max-width: 768px) {
  .news.section {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .news__inner {
    flex-direction: column;
    gap: 2rem;
  }
  .news__sidebar {
    display: grid;
    grid-template-columns: minmax(0, 11fr) minmax(0, 9fr);
    align-items: end;
    gap: 0.625rem;
    align-self: auto;
  }
  .news .section-heading {
    flex: none;
    min-width: 0;
  }
  .news .section-heading__title {
    letter-spacing: 0.15em;
  }
  .news__deco {
    width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 103fr) minmax(0, 40fr) minmax(0, 74fr) minmax(0, 98fr);
    align-items: end;
  }
  .news__deco-row--top,
  .news__deco-row--bottom {
    display: contents;
  }
  .news__deco-block {
    width: 100%;
    height: auto;
  }
  .news__deco-block--orange {
    aspect-ratio: 103/117;
  }
  .news__deco-block--peach {
    aspect-ratio: 1/1;
    border-radius: 0.25rem;
  }
  .news__deco-block--green {
    aspect-ratio: 1/1;
  }
  .news__deco-block--blue {
    aspect-ratio: 98/74;
  }
  .news__main {
    flex-basis: auto;
    width: 100%;
    gap: 3rem;
  }
  .news__list {
    width: 100%;
  }
}
.section-cta {
  padding: 1.5rem;
}

.section-cta__wrap {
  border-radius: 2rem;
  background: var(--color-primary);
  overflow: hidden;
}

.section-cta__inner {
  padding-top: clamp(3rem, 8vw, 6rem);
  padding-bottom: clamp(3rem, 8vw, 6rem);
}

.section-cta__head {
  text-align: center;
}

.section-cta__title {
  margin: 0;
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: var(--color-white);
}

.section-cta__lead {
  margin: 2rem 0 0;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
  color: var(--color-white);
}

.section-cta__cards {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 2rem;
  width: 100%;
  max-width: 52rem;
  margin-top: 3rem;
  margin-inline: auto;
}

.section-cta__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  max-width: 100%;
  padding-top: 2rem;
  padding-bottom: 2.5rem;
  padding-inline: 2rem;
  border-radius: 0.75rem;
  background: var(--color-white);
  text-align: center;
  text-decoration: none;
  color: var(--color-text);
  transition: background-color 0.2s ease;
}

.section-cta__card:hover {
  background-color: var(--color-bg-light);
}

.section-cta__card-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
}

.section-cta__card-icon {
  font-size: 2rem;
  line-height: 2rem;
  color: var(--color-text);
  transition: color 0.2s ease;
}

.section-cta__card-title {
  margin: 0;
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: var(--color-text);
  transition: color 0.2s ease;
}

.section-cta__card:hover .section-cta__card-icon,
.section-cta__card:hover .section-cta__card-title {
  color: var(--color-primary);
}

.section-cta__card-desc {
  margin: 0;
  width: 100%;
  max-width: 21rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.1em;
  color: var(--color-text-muted);
  text-align: left;
}

@keyframes cta-card-in {
  from {
    opacity: 0;
    transform: translateY(1rem) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js.scroll-reveal-active .section-cta .js-scroll-reveal:not(.is-inview) {
    opacity: 0;
  }
  html.js.scroll-reveal-active .section-cta .section-cta__title.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .section-cta .section-cta__lead.js-scroll-reveal:not(.is-inview) {
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .section-cta .section-cta__card.js-scroll-reveal:not(.is-inview) {
    transform: translateY(1rem) scale(0.96);
  }
  html.js.scroll-reveal-active .section-cta .js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js.scroll-reveal-active .section-cta .section-cta__title.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .section-cta .section-cta__lead.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-name: about-fade-up;
    animation-duration: 0.55s;
  }
  html.js.scroll-reveal-active .section-cta .section-cta__lead.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-delay: 80ms;
  }
  html.js.scroll-reveal-active .section-cta .section-cta__card.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-name: cta-card-in;
    animation-duration: 0.6s;
  }
  html.js.scroll-reveal-active .section-cta .section-cta__card.js-scroll-reveal:nth-child(1).is-inview:not(.is-revealed) {
    animation-delay: 0ms;
  }
  html.js.scroll-reveal-active .section-cta .section-cta__card.js-scroll-reveal:nth-child(2).is-inview:not(.is-revealed) {
    animation-delay: 100ms;
  }
  html.js.scroll-reveal-active .section-cta .js-scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
@media (max-width: 768px) {
  .section-cta {
    padding-inline: 1rem;
  }
  .section-cta__wrap {
    border-radius: 2.5rem;
  }
  .section-cta__inner.container {
    padding-block: clamp(2.5rem, 2.5rem + (100vw - 375px) * 40 / 393, 5rem);
    padding-inline: clamp(2rem, 2rem + (100vw - 375px) * 48 / 393, 5rem);
  }
  .section-cta__head {
    text-align: left;
  }
  .section-cta__title {
    font-size: clamp(2rem, 2rem + (100vw - 375px) * 8 / 393, 2.5rem);
    line-height: 1.4;
  }
  .section-cta__lead {
    font-size: clamp(0.875rem, 0.875rem + (100vw - 375px) * 2 / 393, 1rem);
    margin-top: 1.5rem;
  }
  .section-cta__cards {
    flex-direction: column;
    max-width: none;
    margin-top: clamp(2rem, 6.25vw, 3.5rem);
    gap: 1.5rem;
  }
  .section-cta__card {
    flex: none;
    width: 100%;
    padding-block: 2.5rem;
    padding-inline: 1.875rem;
    border-radius: 1rem;
  }
  .section-cta__card-desc {
    max-width: none;
  }
}
.site-footer {
  background: var(--color-dark);
  color: var(--color-white);
  padding-top: 5rem;
  padding-bottom: 1.5rem;
  padding-inline: clamp(2.1875rem, 2.1875rem + (100vw - 375px) * 15 / 393, 3.125rem);
}

@media (min-width: 769px) {
  .site-footer {
    padding-inline: 2.1875rem;
  }
}
.site-footer__inner {
  width: 100%;
  max-width: 80rem;
  margin-inline: auto;
}

.site-footer__main {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
}

.site-footer__brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
  flex: 0 1 auto;
  min-width: 0;
}

.site-footer__logo-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 2rem;
}

.site-footer__logo {
  display: inline-block;
  line-height: 0;
  flex-shrink: 0;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.site-footer__logo:hover {
  opacity: 0.75;
}

.site-footer__logo img {
  display: block;
  width: 7.5rem;
  height: 1.671875rem;
}

.site-footer__tagline {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.2;
  color: var(--color-white);
}

.site-footer__company {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.site-footer__company-name {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.site-footer__address {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 0;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  color: var(--color-white);
}

.site-footer__social {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  width: 12rem;
  height: 4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer__social li {
  margin: 0;
  padding: 0;
}

.site-footer__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 4rem;
  height: 4rem;
  border-radius: 8rem;
  text-decoration: none;
  color: var(--color-white);
  transition: opacity 0.2s ease;
}

.site-footer__social-link i {
  display: block;
  font-size: 1.25rem;
  line-height: 1.25rem;
}

.site-footer__social-link:hover {
  opacity: 0.75;
}

.site-footer__legal {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
}

.site-footer__legal-link {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
  text-decoration: none;
  color: var(--color-border);
  transition: opacity 0.2s ease;
}

.site-footer__legal-link:hover {
  opacity: 0.75;
}

.site-footer__nav-col {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 5rem;
  flex: 0 0 auto;
}

.site-footer__nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.site-footer__nav-link {
  padding-block: 0.5rem;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.05em;
  text-decoration: none;
  color: var(--color-white);
  transition: opacity 0.2s ease;
}

.site-footer__nav-link:hover {
  opacity: 0.75;
}

.site-footer__actions {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.site-footer__action-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 10rem;
  padding: 0.75rem 2rem;
  border-radius: 4rem;
  background: var(--color-white);
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.1em;
  text-decoration: none;
  color: var(--color-dark);
  transition: background-color 0.2s ease;
}

.site-footer__action-btn .material-icons {
  font-size: 0.875rem;
  line-height: 0.875rem;
  transition: transform 0.25s ease;
}

.site-footer__action-btn:hover .material-icons {
  transform: translateX(0.25rem);
}

.site-footer__action-btn--recruit:hover {
  background-color: var(--color-accent-orange);
}

.site-footer__action-btn--contact:hover {
  background-color: #e8e8e8;
}

@media (prefers-reduced-motion: reduce) {
  .site-footer__action-btn .material-icons {
    transition: none;
  }
}
.site-footer__copy {
  margin: 5rem 0 0;
  text-align: center;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.05em;
  color: var(--color-white);
}

@media (max-width: 768px) {
  .site-footer {
    padding-top: 4rem;
  }
  .site-footer__main {
    flex-direction: column;
    align-items: stretch;
  }
  .site-footer__logo-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
  .site-footer__nav-col {
    flex-direction: column;
    gap: 2rem;
    margin-top: 3rem;
  }
  .site-footer__actions {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .site-footer__copy {
    margin-top: 3rem;
  }
}
.about-page {
  padding-top: 0;
}

.about-purpose {
  padding-top: 0rem;
}
@media (min-width: 769px) {
  .about-purpose {
    padding-top: clamp(0rem, 0rem + (100vw - 769px) * 0 / 1136, 0rem);
  }
}
.about-purpose {
  padding-top: clamp(0rem, 0rem + (100vw - 375px) * 0 / 393, 0rem);
  padding-bottom: 0rem;
}
@media (min-width: 769px) {
  .about-purpose {
    padding-bottom: clamp(0rem, 0rem + (100vw - 769px) * 0 / 1136, 0rem);
  }
}

.about-purpose__inner {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.9375rem;
}
@media (min-width: 769px) {
  .about-purpose__inner {
    gap: clamp(0.9375rem, 0.9375rem + (100vw - 769px) * 17 / 415, 2rem);
  }
}
.about-purpose__inner {
  width: 100%;
  padding-top: 5rem;
}
@media (min-width: 769px) {
  .about-purpose__inner {
    padding-top: clamp(5rem, 5rem + (100vw - 769px) * 0 / 1136, 5rem);
  }
}
.about-purpose__inner {
  padding-bottom: 5rem;
}
@media (min-width: 769px) {
  .about-purpose__inner {
    padding-bottom: clamp(5rem, 5rem + (100vw - 769px) * 0 / 1136, 5rem);
  }
}
.about-purpose__inner {
  padding-top: clamp(3rem, 3rem + (100vw - 375px) * 32 / 393, 5rem);
  padding-bottom: clamp(3rem, 3rem + (100vw - 375px) * 32 / 393, 5rem);
}

.about-purpose__content {
  flex: 0 0 34.375rem;
  width: 34.375rem;
  min-width: 0;
  max-width: 34.375rem;
}

.about-purpose__title {
  margin: 1.5rem 0 0;
  font-size: 1.875rem;
}
@media (min-width: 769px) {
  .about-purpose__title {
    font-size: clamp(1.875rem, 1.875rem + (100vw - 769px) * 10 / 415, 2.5rem);
  }
}
.about-purpose__title {
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.25rem;
  color: var(--color-text);
}

.about-purpose__title-line {
  display: block;
}

.about-purpose__body {
  margin-top: 3rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.about-purpose__text {
  margin: 0;
  width: 100%;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.1rem;
  color: var(--color-text);
}

@keyframes about-purpose-slide {
  0%, 20% {
    opacity: 1;
  }
  25%, 95% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes about-purpose-zoom-out {
  0% {
    transform: scale(1.08);
  }
  20%, 25% {
    transform: scale(1);
  }
  95% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1.08);
  }
}
.about-purpose__visual {
  flex: 0 0 33.625rem;
  width: 33.625rem;
  max-width: 33.625rem;
  min-width: 0;
}

.about-purpose__visual-scaler {
  width: 100%;
}

.about-purpose__collage {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  width: 33.625rem;
  height: 31.662125rem;
}

.about-purpose__accent {
  display: block;
  flex-shrink: 0;
  width: 13.8125rem;
  height: 5.6875rem;
  border-radius: 1rem;
  background: var(--color-primary);
}

.about-purpose__carousel {
  flex-shrink: 0;
  width: 27rem;
  height: 15.974625rem;
  border-radius: 0.75rem;
  overflow: hidden;
}

.about-purpose__carousel-track {
  position: relative;
  width: 100%;
  height: 100%;
}

.about-purpose__slide {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  overflow: hidden;
  opacity: 0;
}

.about-purpose--carousel-ready .about-purpose__slide {
  animation: about-purpose-slide 16s infinite;
}

.about-purpose--carousel-ready .about-purpose__slide img {
  animation: about-purpose-zoom-out 16s linear infinite;
  transform-origin: center center;
}

.about-purpose--carousel-ready .about-purpose__slide:nth-child(1),
.about-purpose--carousel-ready .about-purpose__slide:nth-child(1) img {
  animation-delay: 0s;
}

.about-purpose--carousel-ready .about-purpose__slide:nth-child(2),
.about-purpose--carousel-ready .about-purpose__slide:nth-child(2) img {
  animation-delay: -12s;
}

.about-purpose--carousel-ready .about-purpose__slide:nth-child(3),
.about-purpose--carousel-ready .about-purpose__slide:nth-child(3) img {
  animation-delay: -8s;
}

.about-purpose--carousel-ready .about-purpose__slide:nth-child(4),
.about-purpose--carousel-ready .about-purpose__slide:nth-child(4) img {
  animation-delay: -4s;
}

.about-purpose:not(.about-purpose--carousel-ready) .about-purpose__slide:first-child {
  opacity: 1;
}

.about-purpose:not(.about-purpose--carousel-ready) .about-purpose__slide:first-child img {
  transform: scale(1.08);
  transform-origin: center center;
}

.about-purpose__slide img {
  display: block;
  flex-shrink: 0;
  width: 27rem;
  height: 18rem;
  max-width: none;
  object-fit: cover;
}

.about-purpose__shapes {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: center;
  flex-shrink: 0;
  width: 33.625rem;
  gap: 0;
}

.about-purpose__shape {
  display: block;
  flex-shrink: 0;
  border-radius: 1rem;
}

.about-purpose__shape--peach {
  width: 10rem;
  height: 10rem;
  background: var(--color-tag);
}

.about-purpose__shape--green {
  width: 6rem;
  height: 5.6875rem;
  background: var(--color-accent-green);
}

@media (prefers-reduced-motion: reduce) {
  .about-purpose__slide {
    animation: none;
    opacity: 0;
  }
  .about-purpose__slide img {
    animation: none;
    transform: none;
  }
  .about-purpose__slide:first-child {
    opacity: 1;
  }
}
@keyframes about-purpose-fade-up {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes about-purpose-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes about-purpose-dot-in {
  from {
    opacity: 0;
    transform: scale(0);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes about-purpose-grow {
  from {
    opacity: 0;
    transform: scale(0.1);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js .about-purpose:not(.is-ready) .section-label__dot,
  html.js .about-purpose:not(.is-ready) .section-label__text,
  html.js .about-purpose:not(.is-ready) .about-purpose__title,
  html.js .about-purpose:not(.is-ready) .about-purpose__body {
    opacity: 0;
  }
  html.js .about-purpose:not(.is-ready) .section-label__dot {
    transform: scale(0);
  }
  html.js .about-purpose:not(.is-ready) .section-label__text,
  html.js .about-purpose:not(.is-ready) .about-purpose__title,
  html.js .about-purpose:not(.is-ready) .about-purpose__body {
    transform: translateY(1rem);
  }
  html.js .about-purpose.is-ready .section-label__dot,
  html.js .about-purpose.is-ready .section-label__text,
  html.js .about-purpose.is-ready .about-purpose__title,
  html.js .about-purpose.is-ready .about-purpose__body {
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js .about-purpose.is-ready .section-label__dot {
    animation-name: about-purpose-dot-in;
    animation-duration: 0.4s;
    animation-delay: 0ms;
  }
  html.js .about-purpose.is-ready .section-label__text {
    animation-name: about-purpose-fade-up;
    animation-duration: 0.5s;
    animation-delay: 120ms;
  }
  html.js .about-purpose.is-ready .about-purpose__title {
    animation-name: about-purpose-fade-up;
    animation-duration: 0.55s;
    animation-delay: 280ms;
  }
  html.js .about-purpose.is-ready .about-purpose__body {
    animation-name: about-purpose-fade-up;
    animation-duration: 0.55s;
    animation-delay: 400ms;
  }
}
@media (prefers-reduced-motion: no-preference) and (min-width: 769px) {
  html.js .about-purpose:not(.is-visual-ready) .about-purpose__accent,
  html.js .about-purpose:not(.is-visual-ready) .about-purpose__carousel,
  html.js .about-purpose:not(.is-visual-ready) .about-purpose__shape {
    opacity: 0;
    transform: scale(0.1);
  }
  html.js .about-purpose.is-visual-ready .about-purpose__accent,
  html.js .about-purpose.is-visual-ready .about-purpose__carousel,
  html.js .about-purpose.is-visual-ready .about-purpose__shape {
    transform-origin: center center;
    animation-name: about-purpose-grow;
    animation-duration: 1.15s;
    animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
    animation-fill-mode: both;
  }
  html.js .about-purpose.is-visual-ready .about-purpose__accent {
    animation-delay: 480ms;
  }
  html.js .about-purpose.is-visual-ready .about-purpose__carousel {
    animation-delay: 560ms;
  }
  html.js .about-purpose.is-visual-ready .about-purpose__shape--peach {
    animation-delay: 640ms;
  }
  html.js .about-purpose.is-visual-ready .about-purpose__shape--green {
    animation-delay: 720ms;
  }
}
@media (prefers-reduced-motion: no-preference) and (max-width: 768px) {
  html.js .about-purpose .about-purpose__accent,
  html.js .about-purpose .about-purpose__carousel,
  html.js .about-purpose .about-purpose__shape {
    transform-origin: center center;
  }
  html.js .about-purpose .about-purpose__accent:not(.is-inview),
  html.js .about-purpose .about-purpose__carousel:not(.is-inview),
  html.js .about-purpose .about-purpose__shape:not(.is-inview) {
    opacity: 0;
  }
  html.js .about-purpose .about-purpose__accent.is-inview:not(.is-revealed),
  html.js .about-purpose .about-purpose__carousel.is-inview:not(.is-revealed),
  html.js .about-purpose .about-purpose__shape.is-inview:not(.is-revealed) {
    animation-name: about-purpose-grow;
    animation-duration: 1.15s;
    animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
    animation-fill-mode: both;
  }
  html.js .about-purpose .about-purpose__accent.is-revealed,
  html.js .about-purpose .about-purpose__carousel.is-revealed,
  html.js .about-purpose .about-purpose__shape.is-revealed {
    opacity: 1;
    transform: scale(1);
    animation: none;
  }
}
.about-statements {
  padding-top: 0;
  padding-bottom: 3.75rem;
}
@media (min-width: 769px) {
  .about-statements {
    padding-bottom: clamp(3.75rem, 3.75rem + (100vw - 769px) * 20 / 415, 5rem);
  }
}

.about-statements__inner {
  width: 100%;
}

.about-statements__panels {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 2.5rem;
}
@media (min-width: 769px) {
  .about-statements__panels {
    gap: clamp(2.5rem, 2.5rem + (100vw - 769px) * 80 / 1136, 7.5rem);
  }
}
.about-statements__panels {
  gap: clamp(2rem, 2rem + (100vw - 375px) * 16 / 393, 3rem);
}

.about-statements__inner.container {
  box-sizing: border-box;
  max-width: 79rem;
  padding-inline: 2rem;
}

.about-panel {
  box-sizing: border-box;
  width: 100%;
  max-width: 75rem;
  margin-inline: auto;
  padding-block: 4rem;
  padding-inline: 2.5rem;
  border-radius: 1.5rem;
  background: var(--color-bg-light);
}

.about-panel__content {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1.875rem;
}
@media (min-width: 769px) {
  .about-panel__content {
    gap: clamp(1.875rem, 1.875rem + (100vw - 769px) * 10 / 415, 2.5rem);
  }
}
.about-panel__content {
  width: 100%;
  max-width: 70rem;
  margin-inline: auto;
}

.about-panel--mission .about-panel__content {
  gap: 1.875rem;
}
@media (min-width: 769px) {
  .about-panel--mission .about-panel__content {
    gap: clamp(1.875rem, 1.875rem + (100vw - 769px) * -6 / 415, 1.5rem);
  }
}

.about-panel__layout {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 1.5rem;
}
@media (min-width: 769px) {
  .about-panel__layout {
    gap: clamp(1.5rem, 1.5rem + (100vw - 769px) * 56 / 415, 5rem);
  }
}
.about-panel__layout {
  width: 100%;
}

.about-panel__title {
  margin: 0;
  flex: 0 0 32.5rem;
  width: 32.5rem;
  min-width: 0;
  font-size: 1.375rem;
}
@media (min-width: 769px) {
  .about-panel__title {
    font-size: clamp(1.375rem, 1.375rem + (100vw - 769px) * 2 / 415, 1.5rem);
  }
}
.about-panel__title {
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.15rem;
  color: var(--color-text);
}

.about-panel__body {
  flex: 0 0 32.5rem;
  width: 32.5rem;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.about-panel__text {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.0875rem;
  color: var(--color-text);
}

@media (prefers-reduced-motion: no-preference) {
  html.js.scroll-reveal-active .about-panel.js-scroll-reveal:not(.is-inview) .section-label__dot,
  html.js.scroll-reveal-active .about-panel.js-scroll-reveal:not(.is-inview) .section-label__text,
  html.js.scroll-reveal-active .about-panel.js-scroll-reveal:not(.is-inview) .about-panel__title,
  html.js.scroll-reveal-active .about-panel.js-scroll-reveal:not(.is-inview) .about-panel__body {
    opacity: 0;
  }
  html.js.scroll-reveal-active .about-panel.js-scroll-reveal:not(.is-inview) .section-label__dot {
    transform: scale(0);
  }
  html.js.scroll-reveal-active .about-panel.js-scroll-reveal:not(.is-inview) .section-label__text,
  html.js.scroll-reveal-active .about-panel.js-scroll-reveal:not(.is-inview) .about-panel__title,
  html.js.scroll-reveal-active .about-panel.js-scroll-reveal:not(.is-inview) .about-panel__body {
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .about-panel.js-scroll-reveal.is-inview:not(.is-revealed) .section-label__dot,
  html.js.scroll-reveal-active .about-panel.js-scroll-reveal.is-inview:not(.is-revealed) .section-label__text,
  html.js.scroll-reveal-active .about-panel.js-scroll-reveal.is-inview:not(.is-revealed) .about-panel__title,
  html.js.scroll-reveal-active .about-panel.js-scroll-reveal.is-inview:not(.is-revealed) .about-panel__body {
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js.scroll-reveal-active .about-panel.js-scroll-reveal.is-inview:not(.is-revealed) .section-label__dot {
    animation-name: about-purpose-dot-in;
    animation-duration: 0.4s;
    animation-delay: 0ms;
  }
  html.js.scroll-reveal-active .about-panel.js-scroll-reveal.is-inview:not(.is-revealed) .section-label__text {
    animation-name: about-purpose-fade-up;
    animation-duration: 0.5s;
    animation-delay: 120ms;
  }
  html.js.scroll-reveal-active .about-panel.js-scroll-reveal.is-inview:not(.is-revealed) .about-panel__title {
    animation-name: about-purpose-fade-up;
    animation-duration: 0.55s;
    animation-delay: 280ms;
  }
  html.js.scroll-reveal-active .about-panel.js-scroll-reveal.is-inview:not(.is-revealed) .about-panel__body {
    animation-name: about-purpose-fade-up;
    animation-duration: 0.55s;
    animation-delay: 400ms;
  }
  html.js.scroll-reveal-active .about-panel.js-scroll-reveal.is-revealed .section-label__dot,
  html.js.scroll-reveal-active .about-panel.js-scroll-reveal.is-revealed .section-label__text,
  html.js.scroll-reveal-active .about-panel.js-scroll-reveal.is-revealed .about-panel__title,
  html.js.scroll-reveal-active .about-panel.js-scroll-reveal.is-revealed .about-panel__body {
    opacity: 1;
    transform: none;
    animation: none;
  }
  html.js.scroll-reveal-active .about-panel.js-scroll-reveal.is-revealed .section-label__dot {
    transform: scale(1);
  }
}
.about-gallery {
  overflow: hidden;
  margin-top: 3.75rem;
}
@media (min-width: 769px) {
  .about-gallery {
    margin-top: clamp(3.75rem, 3.75rem + (100vw - 769px) * 60 / 415, 7.5rem);
  }
}

.about-gallery__slider {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  padding-left: clamp(1.5rem, 5vw, 4rem);
  padding-right: clamp(1.5rem, 5vw, 4rem);
}

.about-gallery__list {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 1.5rem;
  width: max-content;
  max-width: none;
  margin: 0;
  padding: 0;
  list-style: none;
  will-change: transform;
}

.about-gallery--marquee .about-gallery__list {
  backface-visibility: hidden;
}

.about-gallery__item {
  flex: 0 0 auto;
}

.about-gallery__figure {
  margin: 0;
  width: 16.125rem;
}
@media (min-width: 769px) {
  .about-gallery__figure {
    width: clamp(16.125rem, 16.125rem + (100vw - 769px) * 198 / 415, 28.5rem);
  }
}
.about-gallery__figure {
  max-width: 80vw;
  aspect-ratio: 456/274;
  border-radius: 0.5rem;
  overflow: hidden;
}

.about-gallery__figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  -webkit-user-drag: none;
  user-select: none;
  pointer-events: none;
}

.about-value {
  padding-top: 0;
  padding-bottom: 0;
}

.about-value__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
  width: 100%;
  max-width: 74rem;
  padding-top: 3.75rem;
}
@media (min-width: 769px) {
  .about-value__inner {
    padding-top: clamp(3.75rem, 3.75rem + (100vw - 769px) * 0 / 1136, 3.75rem);
  }
}
.about-value__inner {
  padding-top: clamp(2rem, 2rem + (100vw - 375px) * 28 / 393, 3.75rem);
  padding-bottom: 6.25rem;
}
@media (min-width: 769px) {
  .about-value__inner {
    padding-bottom: clamp(6.25rem, 6.25rem + (100vw - 769px) * 0 / 1136, 6.25rem);
  }
}
.about-value__inner {
  padding-bottom: clamp(2.5rem, 2.5rem + (100vw - 375px) * 20 / 393, 3.75rem);
}

.about-value__head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  width: 100%;
  max-width: 70rem;
  align-self: flex-start;
}

.about-value__title {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: var(--color-text);
}

.about-value__list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}

.about-value__item {
  flex: 1 1 21.25rem;
  max-width: 21.25rem;
  min-width: min(100%, 17.5rem);
}

.value-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding: 2.5625rem 2.0625rem;
  border: 0.0625rem solid var(--color-border);
  border-radius: 1rem;
  background: var(--color-white);
  text-align: center;
}

.value-card__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
}

.value-card__num {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--color-border);
}

.value-card__title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.1em;
  color: var(--color-primary);
}

.value-card__text {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.1em;
  color: var(--color-text);
  text-align: left;
}

@media (prefers-reduced-motion: no-preference) {
  html.js.scroll-reveal-active .about-value__head.js-scroll-reveal:not(.is-inview) .section-label__dot,
  html.js.scroll-reveal-active .about-value__head.js-scroll-reveal:not(.is-inview) .section-label__text,
  html.js.scroll-reveal-active .about-value__head.js-scroll-reveal:not(.is-inview) .about-value__title {
    opacity: 0;
  }
  html.js.scroll-reveal-active .about-value__head.js-scroll-reveal:not(.is-inview) .section-label__dot {
    transform: scale(0);
  }
  html.js.scroll-reveal-active .about-value__head.js-scroll-reveal:not(.is-inview) .section-label__text,
  html.js.scroll-reveal-active .about-value__head.js-scroll-reveal:not(.is-inview) .about-value__title {
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .about-value__head.js-scroll-reveal.is-inview:not(.is-revealed) .section-label__dot,
  html.js.scroll-reveal-active .about-value__head.js-scroll-reveal.is-inview:not(.is-revealed) .section-label__text,
  html.js.scroll-reveal-active .about-value__head.js-scroll-reveal.is-inview:not(.is-revealed) .about-value__title {
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js.scroll-reveal-active .about-value__head.js-scroll-reveal.is-inview:not(.is-revealed) .section-label__dot {
    animation-name: about-purpose-dot-in;
    animation-duration: 0.4s;
    animation-delay: 0ms;
  }
  html.js.scroll-reveal-active .about-value__head.js-scroll-reveal.is-inview:not(.is-revealed) .section-label__text {
    animation-name: about-purpose-fade-up;
    animation-duration: 0.5s;
    animation-delay: 120ms;
  }
  html.js.scroll-reveal-active .about-value__head.js-scroll-reveal.is-inview:not(.is-revealed) .about-value__title {
    animation-name: about-purpose-fade-up;
    animation-duration: 0.55s;
    animation-delay: 280ms;
  }
  html.js.scroll-reveal-active .about-value__head.js-scroll-reveal.is-revealed .section-label__dot,
  html.js.scroll-reveal-active .about-value__head.js-scroll-reveal.is-revealed .section-label__text,
  html.js.scroll-reveal-active .about-value__head.js-scroll-reveal.is-revealed .about-value__title {
    opacity: 1;
    transform: none;
    animation: none;
  }
  html.js.scroll-reveal-active .about-value__head.js-scroll-reveal.is-revealed .section-label__dot {
    transform: scale(1);
  }
  html.js.scroll-reveal-active .value-card__head.js-scroll-reveal:not(.is-inview) {
    opacity: 0;
  }
  html.js.scroll-reveal-active .value-card__head.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-name: about-purpose-fade-in;
    animation-duration: 0.5s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js.scroll-reveal-active .value-card__head.js-scroll-reveal.is-revealed {
    opacity: 1;
    animation: none;
  }
  html.js.scroll-reveal-active .value-card__text.js-scroll-reveal:not(.is-inview) {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .value-card__text.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-name: about-purpose-fade-up;
    animation-duration: 0.55s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js.scroll-reveal-active .value-card__text.js-scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
@media (max-width: 768px) {
  .about-purpose__inner {
    flex-direction: column;
    gap: 3rem;
  }
  .about-purpose__content {
    flex: none;
    width: 100%;
    max-width: none;
  }
  .about-purpose__title {
    font-size: clamp(1.5625rem, 1.5625rem + (100vw - 375px) * 10 / 393, 2.1875rem);
    line-height: 1.6;
  }
  .about-purpose__body {
    margin-top: 2rem;
    gap: 1.25rem;
  }
  .about-purpose__text {
    font-size: clamp(0.875rem, 0.875rem + (100vw - 375px) * 1 / 393, 0.9375rem);
    line-height: 1.8;
  }
  .about-purpose__visual {
    flex: none;
    width: 100%;
    max-width: none;
    align-self: center;
  }
  .about-purpose__visual {
    container-type: inline-size;
    min-height: 0;
    max-width: 100%;
    align-self: flex-start;
  }
  .about-purpose__visual-scaler {
    width: 100%;
    box-sizing: border-box;
    height: calc(31.662125rem * 100cqw / 33.625rem);
    overflow: hidden;
  }
  .about-purpose__collage {
    width: 33.625rem;
    height: 31.662125rem;
    transform: scale(calc(100cqw / 33.625rem));
    transform-origin: top left;
  }
  .about-statements {
    padding-bottom: clamp(3rem, 3rem + (100vw - 375px) * 32 / 393, 5rem);
  }
  .about-gallery {
    margin-top: clamp(1.875rem, 1.875rem + (100vw - 375px) * 30 / 393, 3.75rem);
  }
  .about-panel {
    padding-block: 2.5rem;
    padding-inline: 1.5rem;
  }
  .about-panel__content {
    gap: 1.5rem;
    max-width: none;
  }
  .about-panel__layout {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
  }
  .about-panel__title {
    flex: none;
    width: 100%;
    font-size: clamp(1.25rem, 1.25rem + (100vw - 375px) * 4 / 393, 1.5rem);
  }
  .about-panel__body {
    flex: none;
    width: 100%;
  }
  .about-gallery__figure {
    width: 20rem;
    max-width: 75vw;
  }
  .about-value__head {
    align-items: flex-start;
  }
  .about-value__title {
    font-size: clamp(1.5625rem, 1.5625rem + (100vw - 375px) * 3 / 393, 1.75rem);
  }
  .about-value__item {
    flex: 1 1 100%;
    max-width: none;
  }
}
@media (min-width: 769px) {
  .about-page .container:not(.about-statements__inner):not(.page-hero__inner) {
    max-width: 74rem;
    padding-inline: 2rem;
  }
  .about-page .container.about-purpose__inner {
    padding-inline: 2.1875rem;
  }
}
@media (min-width: 769px) and (min-width: 769px) {
  .about-page .container.about-purpose__inner {
    padding-inline: clamp(2.1875rem, 2.1875rem + (100vw - 769px) * -3 / 415, 2rem);
  }
}
@media (min-width: 769px) {
  .about-statements__inner.container {
    max-width: 79rem;
    padding-inline: 2rem;
  }
}
@media (min-width: 769px) and (max-width: 1183px) {
  .about-purpose__content {
    flex: 550 1 0;
    width: auto;
    max-width: none;
  }
  .about-purpose__visual {
    flex: 538 1 0;
    width: auto;
    max-width: none;
  }
  .about-purpose__visual {
    container-type: inline-size;
    min-height: 0;
    max-width: 100%;
    align-self: flex-start;
  }
  .about-purpose__visual-scaler {
    width: 100%;
    box-sizing: border-box;
    height: calc(31.662125rem * 100cqw / 33.625rem);
    overflow: hidden;
  }
  .about-purpose__collage {
    width: 33.625rem;
    height: 31.662125rem;
    transform: scale(calc(100cqw / 33.625rem));
    transform-origin: top left;
  }
  .about-panel__layout {
    align-items: flex-start;
  }
  .about-panel__title {
    flex: 520 1 0;
    width: auto;
    max-width: none;
  }
  .about-panel__body {
    flex: 520 1 0;
    width: auto;
    max-width: none;
  }
}
.service-page {
  padding-top: 0;
}

.service-intro__inner {
  padding-top: 5rem;
}
@media (min-width: 769px) {
  .service-intro__inner {
    padding-top: clamp(5rem, 5rem + (100vw - 769px) * 0 / 1136, 5rem);
  }
}
.service-intro__inner {
  padding-top: clamp(3rem, 3rem + (100vw - 375px) * 32 / 393, 5rem);
}

.service-intro__text {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.1rem;
  color: var(--color-text);
}

@media (max-width: 768px) {
  .service-intro__br {
    display: none;
  }
}

@keyframes service-fade-up {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes service-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes service-grow {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js .service-intro:not(.is-ready) .service-intro__text {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js .service-intro.is-ready .service-intro__text {
    animation-name: service-fade-up;
    animation-duration: 0.55s;
    animation-delay: 0ms;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js .service-detail--first:not(.is-ready) .service-detail__num,
  html.js .service-detail--first:not(.is-ready) .service-detail__title,
  html.js .service-detail--first:not(.is-ready) .service-detail__text,
  html.js .service-detail--first:not(.is-ready) .btn-more--service {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js .service-detail--first.is-ready .service-detail__num,
  html.js .service-detail--first.is-ready .service-detail__title,
  html.js .service-detail--first.is-ready .service-detail__text,
  html.js .service-detail--first.is-ready .btn-more--service {
    animation-name: service-fade-up;
    animation-duration: 0.55s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js .service-detail--first.is-ready .service-detail__num {
    animation-delay: 280ms;
  }
  html.js .service-detail--first.is-ready .service-detail__title {
    animation-delay: 360ms;
  }
  html.js .service-detail--first.is-ready .service-detail__text {
    animation-delay: 440ms;
  }
  html.js .service-detail--first.is-ready .btn-more--service {
    animation-delay: 520ms;
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js .service-detail__figure.js-scroll-reveal:not(.is-inview) {
    opacity: 0;
  }
  html.js.scroll-reveal-active .service-detail:not(.service-detail--first) .service-detail__num.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .service-detail:not(.service-detail--first) .service-detail__title.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .service-detail:not(.service-detail--first) .service-detail__body.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .service-detail:not(.service-detail--first) .btn-more--service.js-scroll-reveal:not(.is-inview) {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .service-detail:not(.service-detail--first) .service-detail__num.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .service-detail:not(.service-detail--first) .service-detail__title.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .service-detail:not(.service-detail--first) .service-detail__body.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .service-detail:not(.service-detail--first) .btn-more--service.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-name: service-fade-up;
    animation-duration: 0.55s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js.scroll-reveal-active .service-detail:not(.service-detail--first) .service-detail__num.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .service-detail:not(.service-detail--first) .service-detail__title.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .service-detail:not(.service-detail--first) .service-detail__body.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .service-detail:not(.service-detail--first) .btn-more--service.js-scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
  html.js.scroll-reveal-active .service-detail__figure.js-scroll-reveal.is-inview:not(.is-revealed) {
    transform-origin: center center;
    animation-name: service-grow;
    animation-duration: 1.15s;
    animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
    animation-fill-mode: both;
  }
  html.js.scroll-reveal-active .service-detail__figure.js-scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
.service-detail__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 6rem;
}
@media (min-width: 769px) {
  .service-detail__inner {
    padding-top: clamp(6rem, 6rem + (100vw - 769px) * 24 / 1136, 7.5rem);
  }
}
.service-detail__inner {
  padding-bottom: 5rem;
}
@media (min-width: 769px) {
  .service-detail__inner {
    padding-bottom: clamp(5rem, 5rem + (100vw - 769px) * 0 / 1136, 5rem);
  }
}
.service-detail__inner {
  padding-top: clamp(4rem, 4rem + (100vw - 375px) * 56 / 393, 7.5rem);
  padding-bottom: clamp(3rem, 3rem + (100vw - 375px) * 32 / 393, 5rem);
}

.service-detail--first .service-detail__inner {
  padding-top: 6rem;
}
@media (min-width: 769px) {
  .service-detail--first .service-detail__inner {
    padding-top: clamp(6rem, 6rem + (100vw - 769px) * 0 / 1136, 6rem);
  }
}
.service-detail--first .service-detail__inner {
  padding-top: clamp(4rem, 4rem + (100vw - 375px) * 6 / 393, 4.375rem);
}

.service-detail:not(.service-detail--first) .service-detail__inner {
  padding-top: clamp(0rem, 0rem + (100vw - 375px) * 0 / 393, 0rem);
}

.service-detail--last .service-detail__voice {
  padding-bottom: 10rem;
}
@media (min-width: 769px) {
  .service-detail--last .service-detail__voice {
    padding-bottom: clamp(10rem, 10rem + (100vw - 769px) * 0 / 1136, 10rem);
  }
}
.service-detail--last .service-detail__voice {
  padding-bottom: clamp(1.75rem, 1.75rem + (100vw - 375px) * 32 / 393, 3.75rem);
}

.service-detail__layout {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 1.5rem;
}
@media (min-width: 769px) {
  .service-detail__layout {
    gap: clamp(1.5rem, 1.5rem + (100vw - 769px) * 40 / 415, 4rem);
  }
}

.service-detail__layout--reverse {
  flex-direction: row-reverse;
}
@media (max-width: 768px) {
  .service-detail__layout--reverse {
    flex-direction: column;
  }
}

.service-detail__content {
  flex: 1 1 33rem;
  min-width: 0;
  max-width: 33rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.service-detail__head {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.service-detail__num {
  margin: 0;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-primary);
}

.service-detail__title {
  margin: 0;
  scroll-margin-top: 170px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.3rem;
  color: var(--color-text);
}

.service-detail__text {
  margin: 1.5rem 0 0;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.0875rem;
  color: var(--color-text);
}

.service-detail__body {
  margin-top: 1.5rem;
  display: flex;
  flex-direction: column;
}
.service-detail__body .service-detail__text {
  margin: 0;
}

.service-detail .btn-more--service {
  margin-top: 1.5rem;
  gap: 2.5rem;
  padding: 0.125rem 0.125rem 0.125rem 1.625rem;
}

.service-detail .btn-more--service .btn-more__label {
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: 0.0875rem;
}

.service-detail .btn-more--service .btn-more__icon {
  width: 3rem;
  height: 3rem;
}

.service-detail__figure {
  flex: 1 1 33rem;
  min-width: 0;
  max-width: 33rem;
  margin: 0;
  aspect-ratio: 528/330;
  overflow: hidden;
  border-radius: 0.125rem;
}
.service-detail__figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.service-detail__effects {
  margin-top: 5rem;
  width: 100%;
  max-width: 70rem;
  border-bottom: 0.125rem solid var(--color-border);
}

.service-effects__heading {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  text-align: center;
}
.service-effects__heading::before, .service-effects__heading::after {
  content: "";
  flex: 1 1 auto;
  height: 0.125rem;
  background: var(--color-border);
}
.service-effects__heading::before {
  transform-origin: right center;
}
.service-effects__heading::after {
  transform-origin: left center;
}

.service-effects__title {
  position: relative;
  flex: 0 0 auto;
  margin: 0;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.15rem;
  color: var(--color-text);
}

@keyframes service-line-grow {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js.scroll-reveal-active .service-effects__heading.js-scroll-reveal:not(.is-inview) .service-effects__title {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .service-effects__heading.js-scroll-reveal:not(.is-inview)::before, html.js.scroll-reveal-active .service-effects__heading.js-scroll-reveal:not(.is-inview)::after {
    transform: scaleX(0);
  }
  html.js.scroll-reveal-active .service-effects__heading.js-scroll-reveal.is-inview:not(.is-revealed) .service-effects__title {
    animation-name: service-fade-up;
    animation-duration: 0.55s;
    animation-delay: 0ms;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js.scroll-reveal-active .service-effects__heading.js-scroll-reveal.is-inview:not(.is-revealed)::before, html.js.scroll-reveal-active .service-effects__heading.js-scroll-reveal.is-inview:not(.is-revealed)::after {
    animation-name: service-line-grow;
    animation-duration: 0.7s;
    animation-delay: 200ms;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js.scroll-reveal-active .service-effects__heading.js-scroll-reveal.is-revealed .service-effects__title {
    opacity: 1;
    transform: none;
    animation: none;
  }
  html.js.scroll-reveal-active .service-effects__heading.js-scroll-reveal.is-revealed::before, html.js.scroll-reveal-active .service-effects__heading.js-scroll-reveal.is-revealed::after {
    transform: scaleX(1);
    animation: none;
  }
  html.js.scroll-reveal-active .service-effect-card__head.js-scroll-reveal:not(.is-inview) {
    opacity: 0;
  }
  html.js.scroll-reveal-active .service-effect-card__head.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-name: service-fade-in;
    animation-duration: 0.5s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js.scroll-reveal-active .service-effect-card__head.js-scroll-reveal.is-revealed {
    opacity: 1;
    animation: none;
  }
  html.js.scroll-reveal-active .service-effect-card__text.js-scroll-reveal:not(.is-inview) {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .service-effect-card__text.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-name: service-fade-up;
    animation-duration: 0.55s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js.scroll-reveal-active .service-effect-card__text.js-scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
.service-effects__list {
  margin: 1rem 0 0;
  padding: 0 0 3.125rem;
  list-style: none;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
}

.service-effects__item {
  flex: 1 1 0;
  min-width: 0;
}

.service-effect-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 2rem;
  padding-inline: 0.9375rem;
}
@media (min-width: 769px) {
  .service-effect-card {
    padding-inline: clamp(0.9375rem, 0.9375rem + (100vw - 769px) * 17 / 415, 2rem);
  }
}
.service-effect-card {
  text-align: center;
}

.service-effect-card__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.service-effect-card__num {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.075rem;
  color: var(--color-accent-orange);
}

.service-effect-card__title {
  margin: 1.5rem 0 0;
  min-height: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.125rem;
  color: var(--color-text);
}

.service-effect-card__text {
  margin: 1.5rem 0 0;
  max-width: 19.375rem;
  align-self: flex-start;
  text-align: left;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.0875rem;
  color: var(--color-text);
}

.service-detail__voice {
  padding-bottom: 5rem;
}
@media (min-width: 769px) {
  .service-detail__voice {
    padding-bottom: clamp(5rem, 5rem + (100vw - 769px) * 0 / 1136, 5rem);
  }
}
.service-detail__voice {
  padding-bottom: clamp(1.75rem, 1.75rem + (100vw - 375px) * 52 / 393, 5rem);
}

.service-voice {
  display: flex;
  justify-content: center;
  padding-left: 2rem;
  padding-right: 2rem;
  box-sizing: border-box;
}

.service-voice__card {
  position: relative;
  display: block;
  width: 100%;
  max-width: 60rem;
  padding: 2rem 3rem;
  border-radius: 1rem;
  background: var(--color-bg-light);
  text-decoration: none;
  color: inherit;
  box-sizing: border-box;
  transition: background-color 0.2s ease, box-shadow 0.25s ease;
}
.service-voice__card:hover {
  background-color: var(--color-white);
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.08);
}
.service-voice__card:hover .service-voice__link {
  color: var(--color-primary);
}
.service-voice__card:hover .service-voice__link .material-icons {
  transform: translateX(0.25rem);
}

@media (prefers-reduced-motion: no-preference) {
  html.js.scroll-reveal-active .service-voice__card.js-scroll-reveal:not(.is-inview) {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .service-voice__card.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-name: service-fade-up;
    animation-duration: 0.6s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js.scroll-reveal-active .service-voice__card.js-scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
.service-voice__badge {
  position: absolute;
  top: 0;
  left: 1.5rem;
  padding: 0.25rem 1rem;
  border-radius: 0 0 0.5rem 0.5rem;
  background: var(--color-primary);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1125rem;
  color: var(--color-white);
}

.service-voice__layout {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 2.5rem;
}
@media (min-width: 769px) {
  .service-voice__layout {
    gap: clamp(2.5rem, 2.5rem + (100vw - 769px) * 24 / 415, 4rem);
  }
}

.service-voice__figure {
  flex: 0 0 25rem;
  width: 25rem;
  max-width: 100%;
  aspect-ratio: 400/240;
  border-radius: 0.5rem;
  overflow: hidden;
}
.service-voice__figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.service-voice__content {
  flex: 1 1 25rem;
  min-width: 0;
  max-width: 25rem;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.service-voice__title {
  display: block;
  width: 100%;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.1125rem;
  color: var(--color-text);
}

.service-voice__excerpt {
  display: block;
  margin-top: 1rem;
  width: 100%;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.0875rem;
  color: var(--color-text-muted);
}

.service-voice__link {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.09375rem;
  color: var(--color-text);
  transition: color 0.2s ease;
}
.service-voice__link .material-icons {
  font-size: 1.5rem;
  transition: transform 0.25s ease;
}

@media (prefers-reduced-motion: reduce) {
  .service-voice__card,
  .service-voice__link .material-icons {
    transition: none;
  }
}
@media (max-width: 768px) {
  .service-detail__title {
    font-size: clamp(1.5625rem, 1.5625rem + (100vw - 375px) * 5 / 393, 1.875rem);
    letter-spacing: 0.125rem;
  }
  .service-detail__layout {
    flex-direction: column;
    align-items: stretch;
    gap: clamp(2rem, 2rem + (100vw - 375px) * 32 / 393, 4rem);
  }
  .service-detail__content,
  .service-detail__figure {
    flex: none;
    max-width: none;
    width: 100%;
  }
  .service-effects__list {
    flex-direction: column;
    align-items: center;
  }
  .service-effects__item {
    flex: none;
    width: fit-content;
    max-width: 100%;
  }
  .service-effect-card {
    padding-inline: 1.5rem;
  }
  .service-effect-card__title {
    min-height: 0;
  }
  .service-voice__layout {
    flex-direction: column;
    gap: 2rem;
  }
  .service-voice__figure {
    flex: none;
    width: 100%;
  }
  .service-voice__content {
    flex: none;
    width: 100%;
    max-width: none;
    align-items: flex-start;
  }
  .service-voice__card {
    padding: 2rem 1.5rem;
  }
}
@media (min-width: 769px) and (max-width: 1183px) {
  .service-detail__content,
  .service-detail__figure {
    flex: 528 1 0;
    width: auto;
    max-width: none;
  }
  .service-voice__figure,
  .service-voice__content {
    flex: 400 1 0;
    width: auto;
    max-width: none;
  }
}
.works-archive-page {
  padding-top: 0;
}

@keyframes works-archive-fade-up {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js .works-archive:not(.is-ready) .works-archive__filters,
  html.js .works-archive:not(.is-ready) .works-card.is-opening {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js .works-archive.is-ready .works-archive__filters {
    animation: works-archive-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  html.js .works-archive.is-ready .works-card.is-opening:not(.is-revealed) {
    animation: works-archive-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  html.js .works-archive.is-ready .works-card.is-opening.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
  html.js.scroll-reveal-active .works-archive .works-card.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .works-archive .works-archive__more-wrap.js-scroll-reveal:not(.is-inview) {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .works-archive .works-card.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .works-archive .works-archive__more-wrap.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation: works-archive-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-fill-mode: both;
  }
  html.js.scroll-reveal-active .works-archive .works-card.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .works-archive .works-archive__more-wrap.js-scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
.works-archive__inner {
  padding-top: 5rem;
}
@media (min-width: 769px) {
  .works-archive__inner {
    padding-top: clamp(5rem, 5rem + (100vw - 769px) * 0 / 1136, 5rem);
  }
}
.works-archive__inner {
  padding-bottom: 7.5rem;
}
@media (min-width: 769px) {
  .works-archive__inner {
    padding-bottom: clamp(7.5rem, 7.5rem + (100vw - 769px) * 80 / 1136, 12.5rem);
  }
}
.works-archive__inner {
  padding-top: clamp(3rem, 3rem + (100vw - 375px) * 32 / 393, 5rem);
  padding-bottom: clamp(5rem, 5rem + (100vw - 375px) * 40 / 393, 7.5rem);
}

.works-archive__filters-sticky {
  position: sticky;
  top: var(--works-archive-filters-top, 7.5rem);
  z-index: 50;
  margin-inline: -2rem;
  padding-block: 0.75rem;
  padding-inline: 2rem;
  background: transparent;
}
@media (max-width: 768px) {
  .works-archive__filters-sticky {
    margin-inline: calc(-1 * clamp(1.5rem, 8.33vw, 4rem));
    padding-inline: clamp(1.5rem, 8.33vw, 4rem);
  }
}

.works-archive__filters {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.5rem;
}

.works-archive__filter-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.works-archive__filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 1.5rem;
  border-radius: 2rem;
  background: var(--color-bg-light);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.0875rem;
  color: var(--color-text);
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.works-archive__filter:hover {
  background: var(--color-bg-light);
  color: var(--color-primary);
}

.works-archive__filter--active {
  background: var(--color-primary);
  font-weight: 700;
  letter-spacing: 0.175rem;
  color: var(--color-white);
}
.works-archive__filter--active:hover {
  color: var(--color-white);
  filter: brightness(1.08);
}

.works-archive__grid {
  margin-top: 4rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 30rem));
  justify-content: space-between;
  row-gap: 3rem;
  width: 100%;
  max-width: 65rem;
  margin-inline: auto;
}
.works-archive__grid .works-card {
  flex: none;
  width: 100%;
  max-width: none;
  scroll-snap-align: none;
}
.works-archive__grid .works-card__link {
  padding: 0;
}
.works-archive__grid .works-card__figure {
  aspect-ratio: 480/288;
  border-radius: 0.75rem;
}
.works-archive__grid .works-card__figure img {
  border-radius: 0.25rem;
}
.works-archive__grid .works-card__title {
  font-size: 1rem;
  line-height: 1.7;
  letter-spacing: 0.1rem;
}

.works-archive__more-wrap {
  margin-top: 3rem;
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 65rem;
  margin-inline: auto;
}
.works-archive__more-wrap[hidden], .works-archive__more-wrap.is-hidden {
  display: none !important;
}

.works-archive__more {
  display: inline-flex;
  align-items: center;
  gap: 4rem;
  padding: 0;
  border: none;
  background: transparent;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.1rem;
  color: var(--color-text);
  cursor: pointer;
  transition: color 0.2s ease, opacity 0.2s ease;
}
.works-archive__more:hover {
  color: var(--color-primary);
}
.works-archive__more[aria-busy=true], .works-archive__more:disabled {
  opacity: 0.55;
  cursor: wait;
  pointer-events: none;
}

.works-archive__more-error {
  margin: 1rem 0 0;
  width: 100%;
  text-align: center;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5714285714;
  letter-spacing: 0.0875rem;
  color: var(--color-text-muted);
}

.works-archive__more-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
}
.works-archive__more-icon .material-icons {
  font-size: 1.5rem;
  transition: transform 0.25s ease;
}

.works-archive__more:hover .works-archive__more-icon .material-icons {
  transform: translateY(0.25rem);
}

@media (prefers-reduced-motion: reduce) {
  .works-archive__more-icon .material-icons {
    transition: none;
  }
}
@media (max-width: 768px) {
  .works-archive__grid {
    grid-template-columns: minmax(0, 1fr);
    max-width: none;
    row-gap: 2.5rem;
  }
  .works-archive__more {
    gap: 2rem;
  }
}
@media (min-width: 769px) and (max-width: 1183px) {
  .works-archive__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 2rem;
  }
}
.works-single-page {
  background: var(--color-bg-light);
}

@keyframes works-single-fade-up {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes works-single-grow {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js .works-single-page:not(.is-ready) .works-single__breadcrumb,
  html.js .works-single-page:not(.is-ready) .works-single__date,
  html.js .works-single-page:not(.is-ready) .works-single__title,
  html.js .works-single-page:not(.is-ready) .works-single__client {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js .works-single-page:not(.is-ready) .works-single__hero {
    opacity: 0;
    transform: scale(0.95);
  }
  html.js .works-single-page.is-ready .works-single__breadcrumb {
    animation: works-single-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  html.js .works-single-page.is-ready .works-single__date {
    animation: works-single-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: 80ms;
  }
  html.js .works-single-page.is-ready .works-single__title {
    animation: works-single-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: 240ms;
  }
  html.js .works-single-page.is-ready .works-single__hero {
    transform-origin: center center;
    animation: works-single-grow 0.65s cubic-bezier(0.16, 1, 0.3, 1) both;
    animation-delay: 360ms;
  }
  html.js .works-single-page.is-ready .works-single__client {
    animation: works-single-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: 480ms;
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js.scroll-reveal-active .works-single-page .works-single__heading.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .works-single-page .works-single__question.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .works-single-page .works-single__figure.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .works-single-page .works-single__body h2.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .works-single-page .works-single__body .is-style-question.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .works-single-page .works-single__body .wp-block-image.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .works-single-page .works-single__body figure.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .works-single-page .works-single__share.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .works-single-page .works-single__back.js-scroll-reveal:not(.is-inview) {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .works-single-page .works-single__heading.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .works-single-page .works-single__question.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .works-single-page .works-single__figure.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .works-single-page .works-single__body h2.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .works-single-page .works-single__body .is-style-question.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .works-single-page .works-single__body .wp-block-image.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .works-single-page .works-single__body figure.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .works-single-page .works-single__share.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .works-single-page .works-single__back.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation: works-single-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  html.js.scroll-reveal-active .works-single-page .works-single__heading.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .works-single-page .works-single__question.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .works-single-page .works-single__figure.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .works-single-page .works-single__body h2.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .works-single-page .works-single__body .is-style-question.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .works-single-page .works-single__body .wp-block-image.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .works-single-page .works-single__body figure.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .works-single-page .works-single__share.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .works-single-page .works-single__back.js-scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
@media (prefers-reduced-motion: no-preference) and (max-width: 768px) {
  html.js.scroll-reveal-active .works-single-page .works-single__pickup-grid .works-card.js-scroll-reveal:not(.is-inview) {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .works-single-page .works-single__pickup-grid .works-card.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation: works-single-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  html.js.scroll-reveal-active .works-single-page .works-single__pickup-grid .works-card.js-scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
@media (prefers-reduced-motion: no-preference) and (min-width: 769px) {
  html.js.scroll-reveal-active .works-single-page .works-single__pickup-grid.js-scroll-reveal:not(.is-inview) .works-card {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .works-single-page .works-single__pickup-grid.js-scroll-reveal.is-inview:not(.is-revealed) .works-card {
    animation: works-single-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  html.js.scroll-reveal-active .works-single-page .works-single__pickup-grid.js-scroll-reveal.is-inview:not(.is-revealed) .works-card:nth-child(1) {
    animation-delay: 0ms;
  }
  html.js.scroll-reveal-active .works-single-page .works-single__pickup-grid.js-scroll-reveal.is-inview:not(.is-revealed) .works-card:nth-child(2) {
    animation-delay: 70ms;
  }
  html.js.scroll-reveal-active .works-single-page .works-single__pickup-grid.js-scroll-reveal.is-inview:not(.is-revealed) .works-card:nth-child(3) {
    animation-delay: 140ms;
  }
  html.js.scroll-reveal-active .works-single-page .works-single__pickup-grid.js-scroll-reveal.is-inview:not(.is-revealed) .works-card:nth-child(4) {
    animation-delay: 210ms;
  }
  html.js.scroll-reveal-active .works-single-page .works-single__pickup-grid.js-scroll-reveal.is-inview:not(.is-revealed) .works-card:nth-child(5) {
    animation-delay: 280ms;
  }
  html.js.scroll-reveal-active .works-single-page .works-single__pickup-grid.js-scroll-reveal.is-inview:not(.is-revealed) .works-card:nth-child(6) {
    animation-delay: 350ms;
  }
  html.js.scroll-reveal-active .works-single-page .works-single__pickup-grid.js-scroll-reveal.is-inview:not(.is-revealed) .works-card:nth-child(7) {
    animation-delay: 420ms;
  }
  html.js.scroll-reveal-active .works-single-page .works-single__pickup-grid.js-scroll-reveal.is-inview:not(.is-revealed) .works-card:nth-child(8) {
    animation-delay: 490ms;
  }
  html.js.scroll-reveal-active .works-single-page .works-single__pickup-grid.js-scroll-reveal.is-revealed .works-card {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
.works-single__breadcrumb-area {
  padding-top: 10rem;
}
@media (min-width: 769px) {
  .works-single__breadcrumb-area {
    padding-top: clamp(10rem, 10rem + (100vw - 769px) * 40 / 1136, 12.5rem);
  }
}

.works-single__breadcrumb-inner {
  display: flex;
  align-items: center;
  min-width: 0;
  width: 100%;
}

.works-single__breadcrumb {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  min-width: 0;
  width: 100%;
}

.works-single__breadcrumb-parent {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: 1rem;
  text-decoration: none;
  color: inherit;
}
.works-single__breadcrumb-parent:hover {
  opacity: 0.85;
}

.works-single__breadcrumb-en {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.1125rem;
  color: var(--color-primary);
}

.works-single__breadcrumb-ja {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.0875rem;
  color: var(--color-dark);
}

.works-single__breadcrumb-sep {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  color: var(--color-text);
}
.works-single__breadcrumb-sep .material-icons {
  font-size: 1.5rem;
}

.works-single__breadcrumb-current {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.0875rem;
  color: var(--color-dark);
}

.works-single__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 2.5rem;
}
@media (min-width: 769px) {
  .works-single__inner {
    padding-top: clamp(2.5rem, 2.5rem + (100vw - 769px) * 8 / 1136, 3rem);
  }
}
.works-single__inner {
  padding-bottom: 6.25rem;
}
@media (min-width: 769px) {
  .works-single__inner {
    padding-bottom: clamp(6.25rem, 6.25rem + (100vw - 769px) * 60 / 1136, 10rem);
  }
}

.works-single__content {
  box-sizing: border-box;
  width: 100%;
  max-width: 45rem;
}

.works-single__date {
  display: block;
  margin: 0;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1rem;
  color: var(--color-text-muted);
}

.works-single__title {
  margin: 1.5rem 0 0;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.2rem;
  color: var(--color-text);
}

.works-single__hero {
  margin: 2rem 0 0;
  aspect-ratio: 720/432;
  overflow: hidden;
}
.works-single__hero img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.works-single__client {
  box-sizing: border-box;
  margin-top: 1.5rem;
  padding: 1.5rem 2rem;
  border-radius: 0.5rem;
  background: var(--color-white);
}

.works-single__client-head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.works-single__client-logo {
  margin: 0;
  width: 7.5rem;
  aspect-ratio: 120/60;
  flex-shrink: 0;
  overflow: hidden;
}
.works-single__client-logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.works-single__client-logo-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--color-bg-light);
}

.works-single__client-name {
  margin: 0;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1rem;
  color: var(--color-text-muted);
}

.works-single__client-desc {
  margin: 0.5rem 0 0;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.0875rem;
  color: var(--color-text);
}

.works-single__body {
  margin-top: 4rem;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.works-single__body > :first-child {
  margin-top: 0;
}
.works-single__body img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

.works-single__heading,
.works-single__body h2 {
  margin: 4rem 0 0;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.15rem;
  color: var(--color-text);
  overflow-wrap: anywhere;
  word-break: break-word;
}

.works-single__body .wp-block-heading:not(:first-child) {
  margin-top: 2rem;
}

.works-single__question,
.works-single__body p.is-style-question {
  margin: 2rem 0 0;
  padding-left: 1.625rem;
  border-left: 2px solid var(--color-text);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1125rem;
  color: var(--color-text);
  overflow-wrap: anywhere;
  word-break: break-word;
}

.works-single__body p.is-style-question::first-letter {
  margin-right: 0.35em;
}

.works-single__paragraph,
.works-single__body p {
  margin: 1.5rem 0 0;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.09375rem;
  color: var(--color-text);
}

.works-single__body .wp-block-paragraph:not(:first-child) {
  margin-top: 2rem;
}

.works-single__heading + .works-single__paragraph,
.works-single__heading + .works-single__question,
.works-single__body h2 + p {
  margin-top: 1rem;
}

.works-single__body h2 + p.is-style-question {
  margin-top: 1.5rem;
}

.works-single__figure,
.works-single__body .wp-block-image,
.works-single__body > figure {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  margin: 2.5rem 0 0;
  float: none !important;
}
.works-single__figure img,
.works-single__body .wp-block-image img,
.works-single__body > figure img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}
.works-single__figure figure,
.works-single__body .wp-block-image figure,
.works-single__body > figure figure {
  margin: 0;
  width: 100%;
  max-width: 100%;
}

.works-single__body figcaption,
.works-single__body .wp-element-caption {
  margin-top: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.025rem;
  color: var(--color-text-muted);
}

.works-single__figure + .works-single__paragraph,
.works-single__body .wp-block-image + p,
.works-single__body > figure + p,
.works-single__body .wp-block-image + .wp-block-paragraph:not(:first-child):not(.is-style-question),
.works-single__body > figure + .wp-block-paragraph:not(:first-child):not(.is-style-question) {
  margin-top: 2.5rem;
}

.works-single__heading:first-child,
.works-single__question:first-child,
.works-single__paragraph:first-child,
.works-single__figure:first-child {
  margin-top: 0;
}

.works-single__share {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 2.5rem;
  padding: 1.5rem 1rem 1rem;
  border-radius: 0.5rem;
  background: var(--color-white);
}

.works-single__share-label {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.1125rem;
  color: var(--color-text);
}

.works-single__share-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  margin: 0.75rem 0 0;
  padding: 0;
  list-style: none;
}

.works-single__share-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  color: var(--color-text);
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.works-single__share-link:hover {
  opacity: 0.75;
}
.works-single__share-link i {
  font-size: 1.25rem;
  line-height: 1;
}

.works-single__back {
  display: flex;
  justify-content: center;
  margin-top: 5rem;
}

.works-single__back .btn-more {
  gap: 4rem;
  padding-left: 2.125rem;
}

.works-single__pickup {
  background: var(--color-white);
}

.works-single__pickup-inner {
  padding-top: 3rem;
}
@media (min-width: 769px) {
  .works-single__pickup-inner {
    padding-top: clamp(3rem, 3rem + (100vw - 769px) * 16 / 1136, 4rem);
  }
}
.works-single__pickup-inner {
  padding-bottom: 5rem;
}
@media (min-width: 769px) {
  .works-single__pickup-inner {
    padding-bottom: clamp(5rem, 5rem + (100vw - 769px) * 40 / 1136, 7.5rem);
  }
}

.works-single__pickup .section-heading__en {
  font-size: 1.125rem;
  line-height: 1.4;
}

.works-single__pickup .section-heading__dot {
  width: 1rem;
  height: 1rem;
  transform: none;
}

.works-single__pickup .section-heading__title {
  margin-top: 0.5rem;
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: 0.3rem;
}

.works-single__pickup-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 22rem));
  justify-content: space-between;
  column-gap: 2rem;
  row-gap: 3rem;
  margin-top: 2.5rem;
  width: 100%;
}
.works-single__pickup-grid .works-card {
  flex: none;
  width: 100%;
  max-width: none;
  scroll-snap-align: none;
}
.works-single__pickup-grid .works-card__link {
  padding: 0;
}
.works-single__pickup-grid .works-card__figure {
  aspect-ratio: 352/211;
  border-radius: 0.25rem;
}
.works-single__pickup-grid .works-card__body {
  margin-top: 1.5rem;
}
.works-single__pickup-grid .works-card__tags {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
}
.works-single__pickup-grid .works-card__title {
  font-size: 1rem;
  line-height: 1.7;
  letter-spacing: 0.1rem;
}
.works-single__pickup-grid .works-card__company {
  letter-spacing: 0.075rem;
}

@media (max-width: 768px) {
  .works-single__breadcrumb-area {
    padding-top: 6.25rem;
  }
  .works-single__breadcrumb-en {
    font-size: 1rem;
    letter-spacing: 0.1rem;
  }
  .works-single__breadcrumb-ja,
  .works-single__breadcrumb-current {
    font-size: 0.8125rem;
    letter-spacing: 0.08125rem;
  }
  .works-single__breadcrumb-parent {
    gap: 0.625rem;
  }
  .works-single__inner {
    padding-top: clamp(2rem, 2rem + (100vw - 375px) * 8 / 393, 2.5rem);
    padding-bottom: clamp(4rem, 4rem + (100vw - 375px) * 36 / 393, 6.25rem);
  }
  .works-single__title {
    font-size: clamp(1.375rem, 1.375rem + (100vw - 375px) * 6 / 393, 1.75rem);
    line-height: 1.45;
    letter-spacing: 0.1375rem;
  }
  .works-single__date {
    font-size: 0.875rem;
    letter-spacing: 0.0875rem;
  }
  .works-single__client {
    padding: 1.5rem 1.25rem;
  }
  .works-single__client-logo {
    width: 6rem;
  }
  .works-single__client-name {
    font-size: 0.875rem;
    letter-spacing: 0.0875rem;
  }
  .works-single__client-desc {
    font-size: 0.8125rem;
    line-height: 1.6;
    letter-spacing: 0.08125rem;
  }
  .works-single__heading,
  .works-single__body h2 {
    font-size: clamp(1.125rem, 1.125rem + (100vw - 375px) * 4 / 393, 1.375rem);
    margin-top: 3rem;
    line-height: 1.5;
    letter-spacing: 0.1125rem;
  }
  .works-single__question,
  .works-single__body p.is-style-question {
    padding-left: 1rem;
    font-size: 1rem;
    line-height: 1.7;
    letter-spacing: 0.1rem;
  }
  .works-single__paragraph,
  .works-single__body p {
    font-size: 0.875rem;
    line-height: 1.85;
    letter-spacing: 0.0875rem;
  }
  .works-single__heading + .works-single__paragraph,
  .works-single__body h2 + p {
    margin-top: 0.75rem;
  }
  .works-single__figure,
  .works-single__body .wp-block-image,
  .works-single__body > figure {
    margin-top: 2rem;
  }
  .works-single__figure + .works-single__paragraph,
  .works-single__body .wp-block-image + p,
  .works-single__body > figure + p,
  .works-single__body .wp-block-image + .wp-block-paragraph:not(:first-child):not(.is-style-question),
  .works-single__body > figure + .wp-block-paragraph:not(:first-child):not(.is-style-question) {
    margin-top: 2rem;
  }
  .works-single__body > :first-child {
    margin-top: 0;
  }
  .works-single__back {
    margin-top: 3rem;
  }
  .works-single__back .btn-more {
    gap: 1.5rem;
    padding-left: 1.875rem;
  }
  .works-single__pickup-inner {
    padding-top: clamp(2.5rem, 2.5rem + (100vw - 375px) * 8 / 393, 3rem);
    padding-bottom: clamp(4rem, 4rem + (100vw - 375px) * 16 / 393, 5rem);
  }
  .works-single__pickup .section-heading__en {
    font-size: 1rem;
  }
  .works-single__pickup .section-heading__dot {
    width: 0.75rem;
    height: 0.75rem;
  }
  .works-single__pickup .section-heading__title {
    font-size: clamp(1.375rem, 1.375rem + (100vw - 375px) * 6 / 393, 1.75rem);
    letter-spacing: 0.2rem;
  }
  .works-single__pickup-grid {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 2.5rem;
    margin-top: 2rem;
  }
}
@media (min-width: 769px) and (max-width: 1183px) {
  .works-single__pickup-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 1.5rem;
  }
}
.recruit-page {
  padding-top: 0;
}

.recruit-section-head {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.recruit-section-head .section-label__dot {
  width: 1rem;
  height: 1rem;
}
.recruit-section-head .section-label__text {
  font-weight: 700;
  color: var(--color-primary);
}

.recruit-section-head__title {
  margin: 0;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.3rem;
  color: var(--color-text);
}

@keyframes recruit-intro-fade-up {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes recruit-intro-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js .recruit-intro:not(.is-ready) .recruit-intro__title,
  html.js .recruit-intro:not(.is-ready) .recruit-intro__body {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js .recruit-intro:not(.is-ready) .recruit-intro__gallery {
    opacity: 0;
  }
  html.js .recruit-intro.is-ready .recruit-intro__title {
    animation: recruit-intro-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  html.js .recruit-intro.is-ready .recruit-intro__body {
    animation: recruit-intro-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: 120ms;
  }
  html.js .recruit-intro.is-ready .recruit-intro__gallery {
    animation: recruit-intro-fade-in 0.65s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: 280ms;
  }
}
.recruit-intro__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 5rem;
}
@media (min-width: 769px) {
  .recruit-intro__inner {
    padding-top: clamp(5rem, 5rem + (100vw - 769px) * 0 / 1136, 5rem);
  }
}
.recruit-intro__inner {
  padding-bottom: 2.5rem;
}
@media (min-width: 769px) {
  .recruit-intro__inner {
    padding-bottom: clamp(2.5rem, 2.5rem + (100vw - 769px) * 40 / 1136, 5rem);
  }
}

.recruit-intro__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 74rem;
}

.recruit-intro__title {
  margin: 0;
  max-width: 38.875rem;
  font-size: 2.1875rem;
}
@media (min-width: 769px) {
  .recruit-intro__title {
    font-size: clamp(2.1875rem, 2.1875rem + (100vw - 769px) * 5 / 415, 2.5rem);
  }
}
.recruit-intro__title {
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.25rem;
  text-align: center;
  color: var(--color-primary);
}

.recruit-intro__body {
  margin-top: 2.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.recruit-intro__text {
  margin: 0;
  font-size: 1rem;
}
@media (max-width: 768px) {
  .recruit-intro__text {
    font-size: 0.875rem;
  }
}
.recruit-intro__text {
  font-weight: 600;
  line-height: 2.4;
  letter-spacing: 0.1rem;
  text-align: center;
  color: var(--color-text);
}

.recruit-intro__gallery {
  overflow: hidden;
  width: 100%;
  margin-top: 2.5rem;
}
@media (min-width: 769px) {
  .recruit-intro__gallery {
    margin-top: clamp(2.5rem, 2.5rem + (100vw - 769px) * -40 / 1136, 0rem);
  }
}

.recruit-intro__gallery-slider {
  overflow: hidden;
  width: 100%;
}

.recruit-intro__gallery-slider::-webkit-scrollbar {
  display: none;
}

.recruit-intro__gallery-list {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 1.5rem;
  width: max-content;
  max-width: none;
  margin: 0;
  padding: 0 1.5rem;
  list-style: none;
  will-change: transform;
}

.recruit-intro__gallery--marquee .recruit-intro__gallery-list {
  backface-visibility: hidden;
}

.recruit-intro__gallery-item {
  flex: 0 0 auto;
}

.recruit-intro__gallery-figure {
  margin: 0;
  width: 17.5rem;
}
@media (min-width: 769px) {
  .recruit-intro__gallery-figure {
    width: clamp(17.5rem, 17.5rem + (100vw - 769px) * 458 / 1136, 46.125rem);
  }
}
.recruit-intro__gallery-figure {
  max-width: 85vw;
  aspect-ratio: 738/443;
  border-radius: 1.5rem;
  overflow: hidden;
}
.recruit-intro__gallery-figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  -webkit-user-drag: none;
  user-select: none;
  pointer-events: none;
}

.recruit-page .section-heading__en {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-primary);
}
.recruit-page .section-heading__dot {
  width: 1rem;
  height: 1rem;
}
.recruit-page .section-heading__title {
  margin-top: 0.5rem;
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: 0.3rem;
  color: var(--color-text);
}

.recruit-culture__inner {
  padding-top: 3rem;
}
@media (min-width: 769px) {
  .recruit-culture__inner {
    padding-top: clamp(3rem, 3rem + (100vw - 769px) * 32 / 1136, 5rem);
  }
}
.recruit-culture__inner {
  padding-bottom: 2.5rem;
}
@media (min-width: 769px) {
  .recruit-culture__inner {
    padding-bottom: clamp(2.5rem, 2.5rem + (100vw - 769px) * 0 / 1136, 2.5rem);
  }
}

.recruit-culture__list {
  margin-top: 4rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
  width: 100%;
  max-width: 70rem;
  margin-inline: 0;
  padding: 0;
  list-style: none;
}

.recruit-culture__item {
  min-width: 0;
  height: 100%;
}

.culture-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 1rem;
  height: 100%;
  padding: 0 2rem 1.5rem;
  border-radius: 1rem;
  background: var(--color-bg-light);
  overflow: visible;
  box-sizing: border-box;
}

.culture-card__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  width: 100%;
}

.culture-card__num-wrap {
  position: relative;
  flex-shrink: 0;
  width: 100%;
  height: 1.625rem;
}

.culture-card__num {
  position: absolute;
  top: -2rem;
  left: 50%;
  margin: 0;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.2rem;
  color: var(--color-accent-orange);
  white-space: nowrap;
  transform: translateX(-50%);
}

.culture-card__title {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  width: 100%;
  min-height: 2.25rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.15rem;
  color: var(--color-primary);
  text-align: center;
}

.culture-card__text {
  margin: 0;
  width: 100%;
  max-width: 18.375rem;
  align-self: center;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.0875rem;
  color: var(--color-text);
  text-align: left;
}

@media (min-width: 769px) {
  .culture-card__title {
    white-space: nowrap;
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js.scroll-reveal-active .recruit-culture .culture-card__head.js-scroll-reveal:not(.is-inview) {
    opacity: 0;
  }
  html.js.scroll-reveal-active .recruit-culture .culture-card__head.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-name: recruit-intro-fade-in;
    animation-duration: 0.5s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js.scroll-reveal-active .recruit-culture .culture-card__head.js-scroll-reveal.is-revealed {
    opacity: 1;
    animation: none;
  }
  html.js.scroll-reveal-active .recruit-culture .culture-card__head.js-scroll-reveal.is-revealed .culture-card__num {
    transform: translateX(-50%);
  }
  html.js.scroll-reveal-active .recruit-culture .culture-card__text.js-scroll-reveal:not(.is-inview) {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .recruit-culture .culture-card__text.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-name: recruit-intro-fade-up;
    animation-duration: 0.55s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js.scroll-reveal-active .recruit-culture .culture-card__text.js-scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
.recruit-welfare__inner {
  padding-top: 3.75rem;
}
@media (min-width: 769px) {
  .recruit-welfare__inner {
    padding-top: clamp(3.75rem, 3.75rem + (100vw - 769px) * 20 / 1136, 5rem);
  }
}
.recruit-welfare__inner {
  padding-bottom: 0rem;
}
@media (min-width: 769px) {
  .recruit-welfare__inner {
    padding-bottom: clamp(0rem, 0rem + (100vw - 769px) * 80 / 1136, 5rem);
  }
}

.recruit-welfare__list {
  margin-top: 1.5rem;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.5rem;
  width: 100%;
  max-width: 70rem;
  margin-inline: 0;
  padding: 0;
  list-style: none;
}

.recruit-welfare__item {
  min-width: 0;
}

.welfare-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding: 2.0625rem;
  border: 1px solid var(--color-border);
  border-radius: 1rem;
  background: var(--color-white);
  text-align: center;
}

.welfare-card__lead {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  width: 100%;
}

.welfare-card__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  width: 100%;
  max-width: 12.25rem;
}

.welfare-card__label {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.040625rem;
  color: var(--color-accent-orange);
}

.welfare-card__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1rem;
  color: var(--color-text);
}

.welfare-card__icon {
  font-size: 2rem;
  line-height: 1;
  color: var(--color-primary);
}

@media (prefers-reduced-motion: no-preference) {
  html.js.scroll-reveal-active .recruit-welfare .welfare-card__lead.js-scroll-reveal:not(.is-inview) {
    opacity: 0;
  }
  html.js.scroll-reveal-active .recruit-welfare .welfare-card__lead.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-name: recruit-intro-fade-in;
    animation-duration: 0.5s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js.scroll-reveal-active .recruit-welfare .welfare-card__lead.js-scroll-reveal.is-revealed {
    opacity: 1;
    animation: none;
  }
  html.js.scroll-reveal-active .recruit-welfare .welfare-card__text.js-scroll-reveal:not(.is-inview) {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .recruit-welfare .welfare-card__text.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-name: recruit-intro-fade-up;
    animation-duration: 0.55s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js.scroll-reveal-active .recruit-welfare .welfare-card__text.js-scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
.welfare-card__text {
  margin: 0;
  width: 100%;
  max-width: 12.25rem;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.0875rem;
  color: var(--color-text);
  text-align: left;
}

.recruit-member__inner {
  padding-top: 3rem;
}
@media (min-width: 769px) {
  .recruit-member__inner {
    padding-top: clamp(3rem, 3rem + (100vw - 769px) * 32 / 1136, 5rem);
  }
}
.recruit-member__inner {
  padding-bottom: 3.75rem;
}
@media (min-width: 769px) {
  .recruit-member__inner {
    padding-bottom: clamp(3.75rem, 3.75rem + (100vw - 769px) * 60 / 1136, 7.5rem);
  }
}

.recruit-member__list {
  margin-top: 4rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4rem 3rem;
  margin-inline: 0;
  padding: 0;
  list-style: none;
}

.recruit-member__item {
  flex: 0 1 15.25rem;
  min-width: min(100%, 12.5rem);
  max-width: 15.25rem;
}

.member-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}

.member-card__figure {
  flex-shrink: 0;
  width: 12.5rem;
  height: 12.5rem;
  margin: 0;
  border: 1px solid var(--color-border);
  border-radius: 50%;
  background: var(--color-bg-light);
  overflow: hidden;
}
.member-card__figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.15);
}

.member-card__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
}

.member-card__role {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.0875rem;
  color: var(--color-text-muted);
  text-align: center;
}

.member-card__name {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1125rem;
  color: var(--color-text);
  text-align: center;
}

@media (prefers-reduced-motion: no-preference) {
  html.js.scroll-reveal-active .recruit-member .member-card__figure.js-scroll-reveal:not(.is-inview) {
    opacity: 0;
  }
  html.js.scroll-reveal-active .recruit-member .member-card__figure.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-name: recruit-intro-fade-in;
    animation-duration: 0.55s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js.scroll-reveal-active .recruit-member .member-card__figure.js-scroll-reveal.is-revealed {
    opacity: 1;
    animation: none;
  }
  html.js.scroll-reveal-active .recruit-member .member-card__body.js-scroll-reveal:not(.is-inview) {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .recruit-member .member-card__body.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-name: recruit-intro-fade-up;
    animation-duration: 0.55s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js.scroll-reveal-active .recruit-member .member-card__body.js-scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
.recruit-jobs {
  background: var(--color-bg-light);
}

.recruit-jobs__inner {
  padding-top: 3.75rem;
}
@media (min-width: 769px) {
  .recruit-jobs__inner {
    padding-top: clamp(3.75rem, 3.75rem + (100vw - 769px) * 60 / 1136, 7.5rem);
  }
}
.recruit-jobs__inner {
  padding-bottom: 3.75rem;
}
@media (min-width: 769px) {
  .recruit-jobs__inner {
    padding-bottom: clamp(3.75rem, 3.75rem + (100vw - 769px) * 60 / 1136, 7.5rem);
  }
}

.recruit-jobs__grid {
  margin-top: 4rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 1.5rem;
  width: 100%;
  max-width: 70rem;
}

.job-card {
  align-self: start;
  height: fit-content;
  border-bottom: 1px solid #eee;
  border-radius: 1rem;
  background: var(--color-white);
  overflow: hidden;
  transition: background-color 0.2s ease;
}
.job-card:hover {
  background-color: #eeeeee;
}

@media (prefers-reduced-motion: no-preference) {
  html.js.scroll-reveal-active .job-card.js-scroll-reveal:not(.is-inview) {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .job-card.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-name: recruit-intro-fade-up;
    animation-duration: 0.55s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js.scroll-reveal-active .job-card.js-scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
.job-card__summary {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding: 2.5rem 2rem 1.5rem;
  list-style: none;
  cursor: pointer;
}
.job-card__summary::-webkit-details-marker {
  display: none;
}

.job-card__head {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
  max-width: 30.25rem;
}

.job-card__category {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.08125rem;
  color: var(--color-text-muted);
}

.job-card__title {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1125rem;
  color: var(--color-primary);
}

.job-card__type {
  margin: 0;
  width: 100%;
  max-width: 30.25rem;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.0875rem;
  color: var(--color-text);
}

.job-card__excerpt {
  margin: 0;
  width: 100%;
  max-width: 30.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.0875rem;
  color: var(--color-dark);
}

.job-card__icon {
  font-size: 1.5rem;
  line-height: 1;
  color: var(--color-text);
  transition: transform 0.2s ease;
}

.job-card[open] .job-card__icon {
  transform: rotate(180deg);
}

.job-card__collapse {
  overflow: hidden;
}

.job-card__panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
  padding: 0 1.5rem 2.5rem;
}

@media (prefers-reduced-motion: no-preference) {
  html.js .job-card--animated .job-card__icon {
    transform: none;
  }
  html.js .job-card--animated.is-expanded .job-card__icon {
    transform: rotate(180deg);
  }
}
.job-card__block {
  width: 100%;
  max-width: 30.25rem;
  padding: 1.5rem 1rem;
  border-top: 1px solid var(--color-border);
  box-sizing: border-box;
}

.job-card__block-title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1rem;
  color: var(--color-text);
}

.job-card__list {
  margin: 1rem 0 0;
  padding: 0 0 0 1.25rem;
  list-style: disc;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.0875rem;
  color: var(--color-text);
}
.job-card__list li + li {
  margin-top: 0.25rem;
}

.job-card__list--plain {
  padding-left: 0;
  list-style: none;
}

.job-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}

.job-card__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  padding: 0.5em 1em;
  border-radius: 0.25rem;
  background: rgba(0, 150, 223, 0.12);
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.040625rem;
  color: var(--color-primary);
}

.job-card__text,
.job-card__hashtags,
.job-card__meta-text {
  margin: 1rem 0 0;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.0875rem;
  color: var(--color-text);
}

.job-card__meta + .job-card__meta {
  margin-top: 1rem;
}

.job-card__meta-label {
  margin: 1rem 0 0;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.0875rem;
  color: var(--color-text);
}

.job-card__meta .job-card__meta-label {
  margin-top: 0;
}

.job-card__meta .job-card__list {
  margin-top: 0.5rem;
}

.job-card__meta .job-card__meta-text {
  margin-top: 0.5rem;
}

.job-card__actions {
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 30.25rem;
  margin-top: 0.5rem;
  padding-top: 0.5rem;
}

.job-card__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  max-width: 20rem;
  min-height: 3.5rem;
  padding: 0.875em 1.5em;
  border-radius: 3rem;
  background: var(--color-primary);
  color: var(--color-white);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
  text-decoration: none;
  transition: filter 0.2s ease, transform 0.2s ease;
}
.job-card__cta:hover {
  filter: brightness(1.08);
  transform: translateY(-0.125rem);
}
.job-card__cta:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .job-card__cta {
    transition: filter 0.2s ease;
  }
  .job-card__cta:hover {
    transform: none;
  }
}
.recruit-flow__inner {
  padding-top: 3.75rem;
}
@media (min-width: 769px) {
  .recruit-flow__inner {
    padding-top: clamp(3.75rem, 3.75rem + (100vw - 769px) * 60 / 1136, 7.5rem);
  }
}
.recruit-flow__inner {
  padding-bottom: 3.75rem;
}
@media (min-width: 769px) {
  .recruit-flow__inner {
    padding-bottom: clamp(3.75rem, 3.75rem + (100vw - 769px) * 60 / 1136, 7.5rem);
  }
}

.recruit-flow__box {
  margin-top: 2rem;
  display: flex;
  justify-content: center;
  width: 100%;
}

.recruit-flow__steps {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  width: 100%;
  max-width: 62.5rem;
  margin: 0;
  padding: 5rem 4rem 5rem;
  border-radius: 1rem;
  background: var(--color-bg-light);
  list-style: none;
}

.recruit-flow__step {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: 100%;
  max-width: 45rem;
}

.recruit-flow__bundle {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  width: 100%;
  max-width: 45rem;
}

.recruit-flow__step-head {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.recruit-flow__step-label {
  margin: 0;
  flex-shrink: 0;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.0625rem;
  color: var(--color-accent-orange);
}

.recruit-flow__step-divider {
  flex-shrink: 0;
  width: 1px;
  min-height: 1.5rem;
  align-self: stretch;
  background: var(--color-text-muted);
}

.recruit-flow__step-title {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1125rem;
  color: var(--color-text);
}

.recruit-flow__step-text {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.0875rem;
  color: var(--color-dark);
}

.recruit-flow__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
.recruit-flow__arrow .material-icons {
  font-size: 3rem;
  line-height: 1;
  color: var(--color-primary);
}

@media (prefers-reduced-motion: no-preference) {
  html.js.scroll-reveal-active .recruit-flow__step.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .recruit-flow__bundle.js-scroll-reveal:not(.is-inview) {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .recruit-flow__step.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .recruit-flow__bundle.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-name: recruit-intro-fade-up;
    animation-duration: 0.55s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js.scroll-reveal-active .recruit-flow__step.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .recruit-flow__bundle.js-scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
.recruit-entry {
  padding: 0 1.5rem 1.5rem;
}

.recruit-entry__wrap {
  border-radius: 2rem;
  background: var(--color-accent-orange);
  overflow: hidden;
}

@keyframes recruit-entry-btn-in {
  from {
    opacity: 0;
    transform: translateY(1rem) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js.scroll-reveal-active .recruit-entry .js-scroll-reveal:not(.is-inview) {
    opacity: 0;
  }
  html.js.scroll-reveal-active .recruit-entry .recruit-entry__title.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .recruit-entry .recruit-entry__lead.js-scroll-reveal:not(.is-inview) {
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .recruit-entry .btn-more--entry.js-scroll-reveal:not(.is-inview) {
    transform: translateY(1rem) scale(0.96);
  }
  html.js.scroll-reveal-active .recruit-entry .js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
  }
  html.js.scroll-reveal-active .recruit-entry .recruit-entry__title.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .recruit-entry .recruit-entry__lead.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-name: recruit-intro-fade-up;
    animation-duration: 0.55s;
  }
  html.js.scroll-reveal-active .recruit-entry .recruit-entry__lead.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-delay: 80ms;
  }
  html.js.scroll-reveal-active .recruit-entry .btn-more--entry.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation-name: recruit-entry-btn-in;
    animation-duration: 0.6s;
    animation-delay: 100ms;
  }
  html.js.scroll-reveal-active .recruit-entry .js-scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
.recruit-entry__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  padding-top: 3rem;
}
@media (min-width: 769px) {
  .recruit-entry__inner {
    padding-top: clamp(3rem, 3rem + (100vw - 769px) * 32 / 1136, 5rem);
  }
}
.recruit-entry__inner {
  padding-bottom: 3rem;
}
@media (min-width: 769px) {
  .recruit-entry__inner {
    padding-bottom: clamp(3rem, 3rem + (100vw - 769px) * 32 / 1136, 5rem);
  }
}
.recruit-entry__inner {
  padding-top: clamp(2.5rem, 2.5rem + (100vw - 375px) * 40 / 393, 5rem);
  padding-bottom: clamp(2.5rem, 2.5rem + (100vw - 375px) * 40 / 393, 5rem);
}

.recruit-entry__title {
  margin: 0;
  font-size: 3rem;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: 0.3rem;
  text-align: center;
  color: var(--color-white);
}

.recruit-entry__lead {
  margin: 0;
  max-width: 37.5rem;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.09375rem;
  text-align: center;
  color: var(--color-text-light);
}

.recruit-entry .btn-more--entry {
  min-width: 20rem;
  border-color: var(--color-white);
  background: transparent;
  color: var(--color-white);
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.recruit-entry .btn-more--entry .btn-more__icon {
  margin-left: auto;
}
.recruit-entry .btn-more--entry:hover {
  background-color: rgba(255, 255, 255, 0.2);
  color: var(--color-white);
  border-color: var(--color-white);
}

@media (min-width: 769px) and (max-width: 1183px) {
  .recruit-culture__inner {
    padding-top: 3.75rem;
    padding-bottom: 0.625rem;
  }
  .recruit-culture__list {
    margin-top: 3.125rem;
    max-width: none;
    gap: 3rem;
    grid-template-columns: 1fr;
  }
  .culture-card {
    justify-content: flex-start;
  }
  .culture-card__title {
    white-space: normal;
  }
  .recruit-welfare__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .recruit-jobs__grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px) {
  .recruit-intro__inner {
    padding-top: clamp(2.5rem, 2.5rem + (100vw - 375px) * 40 / 393, 5rem);
    padding-bottom: 0.625rem;
  }
  .recruit-intro__title {
    font-size: clamp(1.5625rem, 1.5625rem + (100vw - 375px) * 7 / 393, 2rem);
    line-height: 1.5;
    letter-spacing: 0.21875rem;
    text-align: left;
  }
  .recruit-intro__head {
    align-items: flex-start;
  }
  .recruit-intro__body {
    align-items: flex-start;
    align-self: flex-start;
    width: 100%;
  }
  .recruit-intro__text {
    text-align: left;
  }
  .recruit-section-head__title {
    font-size: clamp(1.5rem, 1.5rem + (100vw - 375px) * 4 / 393, 1.75rem);
    line-height: 1.4;
    letter-spacing: 0.15rem;
  }
  .recruit-page .section-heading__title {
    font-size: clamp(1.5rem, 1.5rem + (100vw - 375px) * 4 / 393, 1.75rem);
    line-height: 1.4;
    letter-spacing: 0.15rem;
  }
  .recruit-culture__inner {
    padding-top: 3.75rem;
    padding-bottom: 0.625rem;
  }
  .recruit-culture__list {
    margin-top: 3.125rem;
    max-width: none;
    gap: 3rem;
    grid-template-columns: 1fr;
  }
  .culture-card {
    justify-content: flex-start;
  }
  .culture-card__title {
    white-space: normal;
  }
  .welfare-card {
    padding-inline: 2rem;
  }
  .welfare-card__text {
    max-width: none;
    align-self: stretch;
  }
  .recruit-welfare__list {
    margin-top: 2.125rem;
    max-width: none;
    grid-template-columns: 1fr;
  }
  .recruit-welfare__inner {
    padding-top: 3.75rem;
    padding-bottom: 0.625rem;
  }
  .recruit-member__inner {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }
  .recruit-member__list {
    margin-top: 2.5rem;
    gap: 2.5rem 2rem;
  }
  .recruit-jobs__inner {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }
  .recruit-jobs__grid {
    margin-top: 2.5rem;
    grid-template-columns: 1fr;
  }
  .recruit-flow__inner {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }
  .recruit-flow__steps {
    padding: 2.5rem 1.5rem 3rem;
  }
  .recruit-entry__title {
    font-size: 2.125rem;
  }
  .recruit-entry__lead {
    max-width: none;
    align-self: stretch;
    font-size: 0.875rem;
    text-align: left;
  }
  .recruit-entry .btn-more--entry {
    min-width: 0;
    width: 100%;
    max-width: 20rem;
  }
}
.contact-page {
  padding-top: 0;
}

@keyframes contact-fade-up {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js .contact-page:not(.is-ready) .contact-form__field--radios,
  html.js .contact-page:not(.is-ready) .contact-form__form > .contact-form__field:nth-child(2),
  html.js .contact-page:not(.is-ready) .contact-form__form > .contact-form__field:nth-child(3),
  html.js .contact-page:not(.is-ready) .contact-form__form > .contact-form__field:nth-child(4),
  html.js .contact-page:not(.is-ready) .contact-form__form > .contact-form__field:nth-child(5),
  html.js .contact-page:not(.is-ready) .contact-form__form > .contact-form__field:nth-child(6) {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js .contact-page.is-ready .contact-form__field--radios {
    animation: contact-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: 200ms;
  }
  html.js .contact-page.is-ready .contact-form__form > .contact-form__field:nth-child(2) {
    animation: contact-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: 280ms;
  }
  html.js .contact-page.is-ready .contact-form__form > .contact-form__field:nth-child(3) {
    animation: contact-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: 340ms;
  }
  html.js .contact-page.is-ready .contact-form__form > .contact-form__field:nth-child(4) {
    animation: contact-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: 400ms;
  }
  html.js .contact-page.is-ready .contact-form__form > .contact-form__field:nth-child(5) {
    animation: contact-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: 460ms;
  }
  html.js .contact-page.is-ready .contact-form__form > .contact-form__field:nth-child(6) {
    animation: contact-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: 520ms;
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js.scroll-reveal-active .contact-page .contact-form__field.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .contact-page .contact-form__actions.js-scroll-reveal:not(.is-inview) {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .contact-page .contact-form__field.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .contact-page .contact-form__actions.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation: contact-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  html.js.scroll-reveal-active .contact-page .contact-form__field.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .contact-page .contact-form__actions.js-scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
.contact-form {
  padding-top: 4rem;
}
@media (min-width: 769px) {
  .contact-form {
    padding-top: clamp(4rem, 4rem + (100vw - 769px) * 16 / 1136, 5rem);
  }
}
.contact-form {
  padding-bottom: 5rem;
}
@media (min-width: 769px) {
  .contact-form {
    padding-bottom: clamp(5rem, 5rem + (100vw - 769px) * 40 / 1136, 7.5rem);
  }
}

.contact-form__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.contact-form__form {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  max-width: 35rem;
  margin: 0;
  padding: 0;
  border: 0;
}

.contact-form__field {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}

.contact-form__field + .contact-form__field,
.contact-form__field + .contact-form__actions {
  margin-top: 1.5rem;
}

.contact-form__label {
  display: block;
  float: none;
  width: auto;
  max-width: 100%;
  margin: 0;
  padding: 0;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: var(--color-text);
}

.contact-form__field--radios .contact-form__label {
  font-size: 0.9375rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

.contact-form__required {
  display: inline-block;
  margin-left: 0.3125rem;
  color: var(--color-required);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.4;
}

.contact-form__radios {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  margin-top: 1rem;
}

.contact-form__radio {
  display: flex;
  align-items: center;
  width: 100%;
  padding-block: 0.5rem;
  cursor: pointer;
}

.contact-form__radio-input {
  flex-shrink: 0;
  width: 0.9375rem;
  height: 0.9375rem;
  margin: 0;
  accent-color: var(--color-primary);
  cursor: pointer;
}

.contact-form__radio-text {
  margin-left: 0.625rem;
  min-width: 0;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #333;
}

.contact-form__input,
.contact-form__textarea {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  margin-top: 0.75rem;
  padding: 0.6875rem 1.0625rem;
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  background: var(--color-white);
  color: var(--color-text);
  font-family: var(--font-base);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.1em;
  appearance: none;
}

.contact-form__input {
  min-height: 3.125rem;
}

.contact-form__textarea {
  min-height: 10rem;
  padding: 0.6875rem;
  resize: vertical;
  font-size: 0.9375rem;
  letter-spacing: 0.1em;
}

.contact-form__input::placeholder,
.contact-form__textarea::placeholder {
  color: var(--color-border);
  opacity: 1;
}

.contact-form__textarea::placeholder {
  color: #ccc;
}

.contact-form__input:focus,
.contact-form__textarea:focus {
  outline: 2px solid var(--color-primary);
  outline-offset: 1px;
}

.contact-form__agree {
  display: flex;
  align-items: center;
  cursor: pointer;
}

.contact-form__checkbox {
  flex-shrink: 0;
  width: 0.8125rem;
  height: 0.8125rem;
  margin: 0;
  accent-color: var(--color-primary);
  cursor: pointer;
}

.contact-form__agree-text {
  margin-left: 0.625rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
  color: var(--color-text);
}

.contact-form__error {
  margin: 0.5rem 0 0;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #c62828;
}

.contact-form__status {
  margin: 1.5rem 0 0;
  padding: 1rem 1.25rem;
  border: 1px solid var(--color-primary);
  border-radius: 0.25rem;
  background: rgba(0, 133, 202, 0.08);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.04em;
  color: var(--color-text);
  white-space: pre-line;
}

.contact-form__actions {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
}

.contact-form__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  max-width: 20rem;
  min-height: 4rem;
  margin: 0;
  padding: 0.9375rem 1.5rem;
  border: 0;
  border-radius: 3rem;
  background: var(--color-dark);
  color: var(--color-white);
  font-family: var(--font-base);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.contact-form__submit:hover {
  background: var(--color-primary);
}

.contact-form__submit:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 3px;
}

@media (max-width: 768px) {
  .contact-form {
    padding-top: clamp(3rem, 3rem + (100vw - 375px) * 16 / 393, 4rem);
    padding-bottom: clamp(4rem, 4rem + (100vw - 375px) * 16 / 393, 5rem);
  }
  .contact-form__actions {
    padding-top: 1rem;
  }
  .contact-form__submit {
    font-size: clamp(0.875rem, 0.875rem + (100vw - 375px) * 2 / 393, 1rem);
    min-height: 3.5rem;
  }
}
.download-page {
  padding-top: 0;
}

@keyframes download-fade-up {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js .download-page:not(.is-ready) .download-intro__title,
  html.js .download-page:not(.is-ready) .download-intro__text,
  html.js .download-page:not(.is-ready) .download-form__field.is-opening,
  html.js .download-page:not(.is-ready) .download-form__actions.is-opening {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js .download-page.is-ready .download-intro__title,
  html.js .download-page.is-ready .download-intro__text {
    animation: download-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: 200ms;
  }
  html.js .download-page.is-ready .download-form__field.is-opening,
  html.js .download-page.is-ready .download-form__actions.is-opening {
    animation: download-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: 360ms;
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js.scroll-reveal-active .download-page .download-form__field.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .download-page .download-form__actions.js-scroll-reveal:not(.is-inview) {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .download-page .download-form__field.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .download-page .download-form__actions.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation: download-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  html.js.scroll-reveal-active .download-page .download-form__field.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .download-page .download-form__actions.js-scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
.download-content {
  padding-top: 4rem;
}
@media (min-width: 769px) {
  .download-content {
    padding-top: clamp(4rem, 4rem + (100vw - 769px) * 16 / 1136, 5rem);
  }
}
.download-content {
  padding-bottom: 5rem;
}
@media (min-width: 769px) {
  .download-content {
    padding-bottom: clamp(5rem, 5rem + (100vw - 769px) * 40 / 1136, 7.5rem);
  }
}

.download-content__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.download-intro {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  max-width: 56rem;
  margin: 0;
  padding: 2.5rem 4rem 2.5rem 2.5rem;
  border-radius: 1rem;
  background: var(--color-bg-light);
  column-gap: 4rem;
  row-gap: 2rem;
}

.download-intro__figure {
  flex: 0 1 25rem;
  width: 100%;
  max-width: 25rem;
  margin: 0;
  aspect-ratio: 400/210;
  border-radius: 0.25rem;
  overflow: hidden;
}

.download-intro__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.download-intro__body {
  flex: 1 1 17.5rem;
  min-width: 0;
  max-width: 20.375rem;
}

.download-intro__title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: var(--color-primary);
}

.download-intro__list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin: 0;
  margin-top: 1.5rem;
  padding: 0;
  list-style: none;
  row-gap: 0.5rem;
}

.download-intro__item {
  display: flex;
  align-items: center;
  column-gap: 0.5rem;
}

.download-intro__check {
  flex-shrink: 0;
  font-size: 1.25rem;
  line-height: 1;
  color: var(--color-accent-orange);
  opacity: 1;
  transform: none;
  animation: none;
}

.download-intro__text {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: var(--color-text);
}

.download-form {
  width: 100%;
  max-width: 35rem;
  margin-top: 4rem;
}

.download-form__form {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
}

.download-form__field {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}

.download-form__field + .download-form__field,
.download-form__field + .download-form__actions {
  margin-top: 1.5rem;
}

.download-form__label {
  display: block;
  margin: 0;
  padding: 0;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: var(--color-text);
}

.download-form__required {
  display: inline-block;
  margin-left: 0.3125rem;
  color: var(--color-required);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.4;
}

.download-form__input {
  box-sizing: border-box;
  width: 100%;
  min-height: 3.125rem;
  margin: 0;
  margin-top: 0.75rem;
  padding: 0.6875rem 1.0625rem;
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  background: var(--color-white);
  color: var(--color-text);
  font-family: var(--font-base);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.1em;
  appearance: none;
}

.download-form__input::placeholder {
  color: var(--color-border);
  opacity: 1;
}

.download-form__input:focus {
  outline: 2px solid var(--color-primary);
  outline-offset: 1px;
}

.download-form__agree {
  display: flex;
  align-items: center;
  cursor: pointer;
}

.download-form__checkbox {
  flex-shrink: 0;
  width: 0.8125rem;
  height: 0.8125rem;
  margin: 0;
  accent-color: var(--color-primary);
  cursor: pointer;
}

.download-form__agree-text {
  margin-left: 0.625rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
  color: var(--color-text);
}

.download-form__error {
  margin: 0.5rem 0 0;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #c62828;
}

.download-form__status {
  margin: 1.5rem 0 0;
  padding: 1rem 1.25rem;
  border: 1px solid var(--color-primary);
  border-radius: 0.25rem;
  background: rgba(0, 133, 202, 0.08);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.04em;
  color: var(--color-text);
  white-space: pre-line;
}

.download-form__actions {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
}

.download-form__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  max-width: 20rem;
  min-height: 4rem;
  margin: 0;
  padding: 0.9375rem 1.5rem;
  border: 0;
  border-radius: 3rem;
  background: var(--color-dark);
  color: var(--color-white);
  font-family: var(--font-base);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.download-form__submit:hover {
  background: var(--color-primary);
}

.download-form__submit:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 3px;
}

@media (max-width: 768px) {
  .download-content {
    padding-top: clamp(3rem, 3rem + (100vw - 375px) * 16 / 393, 4rem);
    padding-bottom: clamp(4rem, 4rem + (100vw - 375px) * 16 / 393, 5rem);
  }
  .download-intro {
    flex-direction: column;
    align-items: stretch;
    padding: 1.5rem;
    column-gap: 0;
    row-gap: 1.5rem;
  }
  .download-intro__figure {
    flex: none;
    max-width: none;
  }
  .download-intro__body {
    flex: none;
    max-width: none;
  }
  .download-intro__title {
    font-size: clamp(1.125rem, 1.125rem + (100vw - 375px) * 2 / 393, 1.25rem);
  }
  .download-intro__text {
    font-size: clamp(0.875rem, 0.875rem + (100vw - 375px) * 2 / 393, 1rem);
  }
  .download-form {
    margin-top: 2.5rem;
  }
  .download-form__actions {
    padding-top: 1rem;
  }
  .download-form__submit {
    font-size: clamp(0.875rem, 0.875rem + (100vw - 375px) * 2 / 393, 1rem);
    min-height: 3.5rem;
  }
}
@media (min-width: 769px) and (max-width: 1183px) {
  .download-intro {
    flex-wrap: nowrap;
    padding-inline: 2rem;
    column-gap: 2rem;
  }
  .download-intro__figure {
    flex: 0 1 21.25rem;
  }
  .download-intro__body {
    flex: 1 1 0;
    max-width: none;
  }
  .download-intro__text {
    letter-spacing: 0.08em;
  }
}
.entry-page {
  padding-top: 0;
}

@keyframes entry-fade-up {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js .entry-page:not(.is-ready) .entry-form__field.is-opening,
  html.js .entry-page:not(.is-ready) .entry-form__actions.is-opening {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js .entry-page.is-ready .entry-form__field.is-opening:not(.is-revealed),
  html.js .entry-page.is-ready .entry-form__actions.is-opening:not(.is-revealed) {
    animation: entry-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  html.js .entry-page.is-ready .entry-form__field.is-opening.is-revealed,
  html.js .entry-page.is-ready .entry-form__actions.is-opening.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js.scroll-reveal-active .entry-page .entry-form__field.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .entry-page .entry-form__actions.js-scroll-reveal:not(.is-inview) {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .entry-page .entry-form__field.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .entry-page .entry-form__actions.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation: entry-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  html.js.scroll-reveal-active .entry-page .entry-form__field.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .entry-page .entry-form__actions.js-scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
.entry-form {
  padding-top: 4rem;
}
@media (min-width: 769px) {
  .entry-form {
    padding-top: clamp(4rem, 4rem + (100vw - 769px) * 16 / 1136, 5rem);
  }
}
.entry-form {
  padding-bottom: 5rem;
}
@media (min-width: 769px) {
  .entry-form {
    padding-bottom: clamp(5rem, 5rem + (100vw - 769px) * 40 / 1136, 7.5rem);
  }
}

.entry-form__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.entry-form__form {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  max-width: 35rem;
  margin: 0;
  padding: 0;
  border: 0;
}

.entry-form__field {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}

.entry-form__field + .entry-form__field,
.entry-form__field + .entry-form__actions {
  margin-top: 1.5rem;
}

.entry-form__label {
  display: block;
  float: none;
  width: auto;
  max-width: 100%;
  margin: 0;
  padding: 0;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: var(--color-text);
}

.entry-form__label--select {
  font-size: 0.9375rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

.entry-form__required {
  display: inline-block;
  margin-left: 0.3125rem;
  color: var(--color-required);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.4;
}

.entry-form__input,
.entry-form__textarea,
.entry-form__select {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  margin-top: 0.75rem;
  border: 1px solid var(--color-border);
  background: var(--color-white);
  color: var(--color-text);
  font-family: var(--font-base);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.1em;
  appearance: none;
}

.entry-form__input {
  min-height: 3.125rem;
  padding: 0.6875rem 1.0625rem;
  border-radius: 0.125rem;
}

.entry-form__textarea {
  min-height: 10rem;
  padding: 0.6875rem;
  border-radius: 0.125rem;
  resize: vertical;
  font-size: 0.9375rem;
  letter-spacing: 0.1em;
}

.entry-form__input::placeholder,
.entry-form__textarea::placeholder {
  color: var(--color-border);
  opacity: 1;
}

.entry-form__textarea::placeholder {
  color: #ccc;
}

.entry-form__input:focus,
.entry-form__textarea:focus,
.entry-form__select:focus {
  outline: 2px solid var(--color-primary);
  outline-offset: 1px;
}

.entry-form__select-wrap {
  display: flex;
  align-items: center;
  width: 100%;
  margin-top: 0.625rem;
}

.entry-form__select {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 3.3125rem;
  margin-top: 0;
  padding: 0.6875rem 2.625rem 0.6875rem 1.0625rem;
  border-radius: 0.25rem;
  cursor: pointer;
}

.entry-form__select:invalid,
.entry-form__select option[value=""] {
  color: var(--color-border);
}

.entry-form__select option:not([value=""]) {
  color: var(--color-text);
}

.entry-form__select-icon {
  flex-shrink: 0;
  width: 2.625rem;
  margin-left: -2.625rem;
  font-size: 1.25rem;
  line-height: 3.3125rem;
  text-align: center;
  color: var(--color-border);
  pointer-events: none;
}

.entry-form__file {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
  margin-top: 0.625rem;
  padding: 0.6875rem;
  border: 1px dashed var(--color-border);
  border-radius: 0.125rem;
  cursor: pointer;
}

.entry-form__file-text {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #777;
}

.entry-form__file:focus-within {
  outline: 2px solid var(--color-primary);
  outline-offset: 1px;
}

.entry-form__agree {
  display: flex;
  align-items: center;
  cursor: pointer;
}

.entry-form__checkbox {
  flex-shrink: 0;
  width: 0.8125rem;
  height: 0.8125rem;
  margin: 0;
  accent-color: var(--color-primary);
  cursor: pointer;
}

.entry-form__agree-text {
  margin-left: 0.625rem;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
  color: var(--color-text);
}

.entry-form__error {
  margin: 0.5rem 0 0;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #c62828;
}

.entry-form__status {
  margin: 1.5rem 0 0;
  padding: 1rem 1.25rem;
  border: 1px solid var(--color-primary);
  border-radius: 0.25rem;
  background: rgba(0, 133, 202, 0.08);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.04em;
  color: var(--color-text);
  white-space: pre-line;
}

.entry-form__actions {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
}

.entry-form__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  max-width: 20rem;
  min-height: 4rem;
  margin: 0;
  padding: 0.9375rem 1.5rem;
  border: 0;
  border-radius: 3rem;
  background: var(--color-dark);
  color: var(--color-white);
  font-family: var(--font-base);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.entry-form__submit:hover {
  background: var(--color-primary);
}

.entry-form__submit:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 3px;
}

@media (max-width: 768px) {
  .entry-form {
    padding-top: clamp(3rem, 3rem + (100vw - 375px) * 16 / 393, 4rem);
    padding-bottom: clamp(4rem, 4rem + (100vw - 375px) * 16 / 393, 5rem);
  }
  .entry-form__actions {
    padding-top: 1rem;
  }
  .entry-form__submit {
    font-size: clamp(0.875rem, 0.875rem + (100vw - 375px) * 2 / 393, 1rem);
    min-height: 3.5rem;
  }
}
.company-page {
  padding-top: 0;
}

@keyframes company-fade-up {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes company-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js .company-page:not(.is-ready) .company-profile .section-label__dot,
  html.js .company-page:not(.is-ready) .company-profile .section-label__text {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js .company-page:not(.is-ready) .company-profile__row.is-opening .company-profile__term,
  html.js .company-page:not(.is-ready) .company-profile__row.is-opening .company-profile__desc {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js .company-page:not(.is-ready) .company-profile__row.is-opening::after {
    opacity: 0;
  }
  html.js .company-page.is-ready .company-profile .section-label__dot {
    animation: company-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: 160ms;
  }
  html.js .company-page.is-ready .company-profile .section-label__text {
    animation: company-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: 220ms;
  }
  html.js .company-page.is-ready .company-profile__row.is-opening:not(.is-revealed) .company-profile__term,
  html.js .company-page.is-ready .company-profile__row.is-opening:not(.is-revealed) .company-profile__desc {
    animation: company-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: 280ms;
  }
  html.js .company-page.is-ready .company-profile__row.is-opening:not(.is-revealed)::after {
    animation: company-fade-in 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: 280ms;
  }
  html.js .company-page.is-ready .company-profile__row.is-opening.is-revealed .company-profile__term,
  html.js .company-page.is-ready .company-profile__row.is-opening.is-revealed .company-profile__desc {
    opacity: 1;
    transform: none;
    animation: none;
  }
  html.js .company-page.is-ready .company-profile__row.is-opening.is-revealed::after {
    opacity: 1;
    animation: none;
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js.scroll-reveal-active .company-page .company-profile__row.js-scroll-reveal:not(.is-inview) .company-profile__term,
  html.js.scroll-reveal-active .company-page .company-profile__row.js-scroll-reveal:not(.is-inview) .company-profile__desc {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .company-page .company-profile__row.js-scroll-reveal:not(.is-inview)::after {
    opacity: 0;
  }
  html.js.scroll-reveal-active .company-page .company-profile__row.js-scroll-reveal.is-inview:not(.is-revealed) .company-profile__term,
  html.js.scroll-reveal-active .company-page .company-profile__row.js-scroll-reveal.is-inview:not(.is-revealed) .company-profile__desc {
    animation: company-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  html.js.scroll-reveal-active .company-page .company-profile__row.js-scroll-reveal.is-inview:not(.is-revealed)::after {
    animation: company-fade-in 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  html.js.scroll-reveal-active .company-page .company-profile__row.js-scroll-reveal.is-revealed .company-profile__term,
  html.js.scroll-reveal-active .company-page .company-profile__row.js-scroll-reveal.is-revealed .company-profile__desc {
    opacity: 1;
    transform: none;
    animation: none;
  }
  html.js.scroll-reveal-active .company-page .company-profile__row.js-scroll-reveal.is-revealed::after {
    opacity: 1;
    animation: none;
  }
  html.js.scroll-reveal-active .company-page .company-access .section-label.js-scroll-reveal:not(.is-inview) .section-label__dot,
  html.js.scroll-reveal-active .company-page .company-access .section-label.js-scroll-reveal:not(.is-inview) .section-label__text {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .company-page .company-access .section-label.js-scroll-reveal.is-inview:not(.is-revealed) .section-label__dot {
    animation: company-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  html.js.scroll-reveal-active .company-page .company-access .section-label.js-scroll-reveal.is-inview:not(.is-revealed) .section-label__text {
    animation: company-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: 80ms;
  }
  html.js.scroll-reveal-active .company-page .company-access .section-label.js-scroll-reveal.is-revealed .section-label__dot,
  html.js.scroll-reveal-active .company-page .company-access .section-label.js-scroll-reveal.is-revealed .section-label__text {
    opacity: 1;
    transform: none;
    animation: none;
  }
  html.js.scroll-reveal-active .company-page .company-access__address.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .company-page .company-access__map.js-scroll-reveal:not(.is-inview) {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .company-page .company-access__address.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .company-page .company-access__map.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation: company-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  html.js.scroll-reveal-active .company-page .company-access__address.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .company-page .company-access__map.js-scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
.company-profile {
  padding-top: 4rem;
}
@media (min-width: 769px) {
  .company-profile {
    padding-top: clamp(4rem, 4rem + (100vw - 769px) * 16 / 1136, 5rem);
  }
}
.company-profile {
  padding-bottom: 4rem;
}
@media (min-width: 769px) {
  .company-profile {
    padding-bottom: clamp(4rem, 4rem + (100vw - 769px) * 16 / 1136, 5rem);
  }
}

.company-profile__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.company-profile__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  max-width: 60rem;
}

.company-profile .section-label {
  font-size: 1rem;
  font-weight: 600;
}

.company-profile .section-label__text {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.1em;
}

.company-profile__list {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  margin: 2.5rem 0 0;
  padding: 0;
}

.company-profile__row {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  margin: 0;
  padding-top: 2rem;
  padding-right: 1.5rem;
  padding-bottom: 2.0625rem;
  padding-left: 3rem;
}
.company-profile__row::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--color-border);
}

.company-profile__term {
  flex: 0 0 13.875rem;
  width: 13.875rem;
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.1em;
  color: var(--color-text);
}

.company-profile__desc {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.1em;
  color: var(--color-text);
}

.company-profile__desc-line {
  margin: 0;
}

.company-access {
  padding-top: 4rem;
}
@media (min-width: 769px) {
  .company-access {
    padding-top: clamp(4rem, 4rem + (100vw - 769px) * 16 / 1136, 5rem);
  }
}
.company-access {
  padding-bottom: 6.25rem;
}
@media (min-width: 769px) {
  .company-access {
    padding-bottom: clamp(6.25rem, 6.25rem + (100vw - 769px) * 60 / 1136, 10rem);
  }
}

.company-access__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 64rem;
}

.company-access .section-label {
  font-size: 1rem;
  font-weight: 600;
}

.company-access .section-label__text {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.1em;
}

.company-access__address {
  margin: 3rem 0 0;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.1em;
  color: var(--color-text);
}

.company-access__map {
  width: 100%;
  max-width: 60rem;
  margin-top: 1.5rem;
  min-height: 25rem;
  border-radius: 0.25rem;
  background: #eee;
}

@media (min-width: 769px) {
  .company-page .company-profile__inner.container {
    max-width: 74rem;
    padding-inline: 2rem;
  }
  .company-page .company-access__inner.container {
    max-width: 64rem;
    padding-inline: 2rem;
  }
}
@media (max-width: 768px) {
  .company-profile {
    padding-top: clamp(3rem, 3rem + (100vw - 375px) * 16 / 393, 4rem);
    padding-bottom: clamp(3rem, 3rem + (100vw - 375px) * 16 / 393, 4rem);
  }
  .company-profile__list {
    margin-top: clamp(1.5rem, 1.5rem + (100vw - 375px) * -4 / 393, 1.25rem);
  }
  .company-profile__row {
    flex-direction: column;
    align-items: flex-start;
    padding-top: clamp(1.25rem, 1.25rem + (100vw - 375px) * 12 / 393, 2rem);
    padding-bottom: clamp(1.25rem, 1.25rem + (100vw - 375px) * 13 / 393, 2.0625rem);
    padding-left: clamp(1rem, 1rem + (100vw - 375px) * 32 / 393, 3rem);
    padding-right: 1rem;
  }
  .company-profile__term {
    flex: none;
    width: auto;
  }
  .company-profile__desc {
    margin-top: 0.5rem;
  }
  .company-access {
    padding-top: clamp(0rem, 0rem + (100vw - 375px) * 0 / 393, 0rem);
    padding-bottom: clamp(2.5rem, 2.5rem + (100vw - 375px) * 0 / 393, 2.5rem);
  }
  .company-access__address {
    margin-top: clamp(1.5rem, 1.5rem + (100vw - 375px) * 24 / 393, 3rem);
  }
  .company-access__map {
    min-height: 13.75rem;
  }
}
.news-archive-page {
  padding-top: 0;
}

@keyframes news-archive-fade-up {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js .news-archive:not(.is-ready) .news-archive__filters,
  html.js .news-archive:not(.is-ready) .news-item.is-opening {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js .news-archive.is-ready .news-archive__filters {
    animation: news-archive-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  html.js .news-archive.is-ready .news-item.is-opening:not(.is-revealed) {
    animation: news-archive-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  html.js .news-archive.is-ready .news-item.is-opening.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
  html.js.scroll-reveal-active .news-archive .news-item.js-scroll-reveal:not(.is-inview) {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .news-archive .news-item.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation: news-archive-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  html.js.scroll-reveal-active .news-archive .news-item.js-scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
.news-archive__inner {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding-top: 4rem;
}
@media (min-width: 769px) {
  .news-archive__inner {
    padding-top: clamp(4rem, 4rem + (100vw - 769px) * 16 / 1136, 5rem);
  }
}
.news-archive__inner {
  padding-bottom: 7.5rem;
}
@media (min-width: 769px) {
  .news-archive__inner {
    padding-bottom: clamp(7.5rem, 7.5rem + (100vw - 769px) * 80 / 1136, 12.5rem);
  }
}

.news-archive__filters {
  position: sticky;
  top: 7.5rem;
  z-index: 50;
  align-self: flex-start;
  display: flex;
  flex-direction: column;
  flex: 0 0 15rem;
  width: 15rem;
  gap: 0.5rem;
}

.news-archive__filter-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.news-archive__filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 10rem;
  padding: 1rem 1.5rem;
  border-radius: 2rem;
  background: var(--color-bg-light);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.0875rem;
  color: var(--color-text);
  text-decoration: none;
  text-align: center;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.news-archive__filter:hover {
  background: #f3f3f3;
  color: var(--color-primary);
}

.news-archive__filter--active {
  background: var(--color-primary);
  color: var(--color-white);
}
.news-archive__filter--active:hover {
  color: var(--color-white);
  filter: brightness(1.08);
}

.news-archive__list {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 0.5rem;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.news-archive .news-item__link {
  padding: 2rem;
  border-top: none;
  border-radius: 1rem;
  background: var(--color-bg-light);
  transition: background-color 0.2s ease, box-shadow 0.25s ease;
}
.news-archive .news-item__link:hover {
  background-color: var(--color-white);
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.08);
}

.news-archive .news-item__date {
  font-weight: 600;
  letter-spacing: 0.09375rem;
  color: #808080;
}

.news-archive .news-item__tag {
  background: var(--color-white);
  font-weight: 700;
  letter-spacing: 0.08125rem;
  color: var(--color-primary);
}

.news-archive .news-item__title {
  margin-top: 1rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1rem;
}

@media (max-width: 768px) {
  .news-archive__inner {
    flex-direction: column;
    gap: 2.5rem;
    padding-top: clamp(3rem, 3rem + (100vw - 375px) * 16 / 393, 4rem);
    padding-bottom: clamp(2.5rem, 2.5rem + (100vw - 375px) * 20 / 393, 3.75rem);
  }
  .news-archive__filters {
    position: static;
    top: auto;
    z-index: auto;
    flex: none;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
  }
  .news-archive__filter-list,
  .news-archive__filter-item {
    display: contents;
  }
  .news-archive__filter {
    width: auto;
    min-width: 6.5rem;
  }
  .news-archive .news-item__link {
    padding: 1.5rem;
  }
  .news-archive .news-item__title {
    font-size: 0.9375rem;
    line-height: 1.7;
    letter-spacing: 0.09375rem;
  }
}
@media (min-width: 769px) and (max-width: 1183px) {
  .news-archive__filters {
    flex: 0 0 11.25rem;
    width: 11.25rem;
  }
  .news-archive__filter {
    width: 100%;
  }
}
.news-single-page {
  background: var(--color-bg-light);
}

@keyframes news-single-fade-up {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js .news-single-page:not(.is-ready) .news-single__breadcrumb,
  html.js .news-single-page:not(.is-ready) .news-single__date {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js .news-single-page.is-ready .news-single__breadcrumb {
    animation: news-single-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  html.js .news-single-page.is-ready .news-single__date {
    animation: news-single-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: 80ms;
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js.scroll-reveal-active .news-single-page .news-single__paragraph.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .news-single-page .news-single__back.js-scroll-reveal:not(.is-inview) {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .news-single-page .news-single__paragraph.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .news-single-page .news-single__back.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation: news-single-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  html.js.scroll-reveal-active .news-single-page .news-single__paragraph.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .news-single-page .news-single__back.js-scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
.news-single__breadcrumb-area {
  padding-top: 10rem;
}
@media (min-width: 769px) {
  .news-single__breadcrumb-area {
    padding-top: clamp(10rem, 10rem + (100vw - 769px) * 40 / 1136, 12.5rem);
  }
}

.news-single__breadcrumb-inner {
  display: flex;
  align-items: center;
}

.news-single__breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
}

.news-single__breadcrumb-parent {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  text-decoration: none;
  color: inherit;
}
.news-single__breadcrumb-parent:hover {
  opacity: 0.85;
}

.news-single__breadcrumb-en {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.1125rem;
  color: var(--color-primary);
}

.news-single__breadcrumb-ja {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.0875rem;
  color: var(--color-dark);
}

.news-single__breadcrumb-sep {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text);
}
.news-single__breadcrumb-sep .material-icons {
  font-size: 1.5rem;
}

.news-single__breadcrumb-current {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.0875rem;
  color: var(--color-dark);
}

.news-single__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 2.5rem;
}
@media (min-width: 769px) {
  .news-single__inner {
    padding-top: clamp(2.5rem, 2.5rem + (100vw - 769px) * 8 / 1136, 3rem);
  }
}
.news-single__inner {
  padding-bottom: 6.25rem;
}
@media (min-width: 769px) {
  .news-single__inner {
    padding-bottom: clamp(6.25rem, 6.25rem + (100vw - 769px) * 60 / 1136, 10rem);
  }
}

.news-single__card {
  box-sizing: border-box;
  width: 100%;
  max-width: 50rem;
  padding: 3rem;
  border-radius: 1rem;
  background: var(--color-white);
}

.news-single__date {
  display: block;
  margin: 0;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05rem;
  color: var(--color-text-muted);
}

.news-single__title {
  margin: 1.5rem 0 0;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.175rem;
  color: var(--color-text);
}

.news-single__body {
  margin-top: 3rem;
}

.news-single__paragraph {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.046875rem;
  color: var(--color-text);
}

.news-single__paragraph + .news-single__paragraph {
  margin-top: 1rem;
}

.news-single__back {
  display: flex;
  justify-content: center;
  margin-top: 4rem;
}

.news-single__back .btn-more {
  gap: 4rem;
  padding-left: 2.125rem;
}

@media (max-width: 768px) {
  .news-single__breadcrumb-area {
    padding-top: 6.25rem;
  }
  .news-single__breadcrumb-en {
    font-size: 1rem;
    letter-spacing: 0.1rem;
  }
  .news-single__breadcrumb-ja,
  .news-single__breadcrumb-current {
    font-size: 0.8125rem;
    letter-spacing: 0.08125rem;
  }
  .news-single__breadcrumb-parent {
    gap: 0.625rem;
  }
  .news-single__inner {
    padding-top: clamp(2rem, 2rem + (100vw - 375px) * 8 / 393, 2.5rem);
    padding-bottom: clamp(4rem, 4rem + (100vw - 375px) * 36 / 393, 6.25rem);
  }
  .news-single__card {
    padding: 2rem 1.5rem;
  }
  .news-single__date {
    font-size: 0.875rem;
    letter-spacing: 0.04375rem;
  }
  .news-single__title {
    font-size: clamp(1.375rem, 1.375rem + (100vw - 375px) * 4 / 393, 1.625rem);
    line-height: 1.4;
    letter-spacing: 0.1375rem;
  }
  .news-single__body {
    margin-top: 1.5rem;
  }
  .news-single__paragraph {
    font-size: 0.875rem;
    line-height: 1.7;
    letter-spacing: 0.04375rem;
  }
  .news-single__back {
    margin-top: 2.5rem;
  }
  .news-single__back .btn-more {
    gap: 1.5rem;
    padding-left: 1.875rem;
  }
}
.blog-archive-page {
  padding-top: 0;
}

.blog-featured {
  position: relative;
  padding-top: 10rem;
  padding-bottom: 7.5rem;
}

@keyframes blog-featured-fade-up {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes blog-featured-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js .blog-featured:not(.is-ready) .blog-featured__card {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js .blog-featured:not(.is-ready) .blog-featured__nav {
    opacity: 0;
  }
  html.js .blog-featured.is-ready .blog-featured__card {
    animation: blog-featured-fade-up 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  html.js .blog-featured.is-ready .blog-featured__nav {
    animation: blog-featured-fade-in 0.4s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: 240ms;
  }
}
.blog-featured__viewport {
  overflow: hidden;
  width: 100%;
  padding-block: 2rem;
  margin-block: -2rem;
}

.blog-featured__track {
  display: flex;
  transition: transform 0.45s ease;
  will-change: transform;
}

.blog-featured__slide {
  flex: 0 0 65rem;
  box-sizing: border-box;
  width: 65rem;
  max-width: none;
  padding-inline: 2.5rem;
  text-decoration: none;
  color: inherit;
}

.blog-featured__card {
  display: flex;
  align-items: flex-start;
  gap: 3rem;
  box-sizing: border-box;
  width: 60rem;
  padding: 2.5625rem;
  border-radius: 1rem;
  background: var(--color-bg-light);
  transition: background-color 0.2s ease, box-shadow 0.25s ease;
}

.blog-featured__content {
  display: flex;
  flex: 0 0 17.5rem;
  flex-direction: column;
  width: 17.5rem;
  height: 20.625rem;
  min-width: 0;
}

.blog-featured__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.blog-featured__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
  border-radius: 0.25rem;
  background: var(--color-white);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.0875rem;
  color: var(--color-primary);
  white-space: nowrap;
}

.blog-featured__title {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.15rem;
  color: var(--color-text);
  transition: color 0.2s ease;
}

.blog-featured__date {
  margin-top: 0;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.0875rem;
  color: var(--color-text);
  white-space: nowrap;
}

.blog-featured__figure {
  flex: 0 0 34.375rem;
  width: 34.375rem;
  height: 20.625rem;
  margin: 0;
  border-radius: 0.25rem;
  overflow: hidden;
  background: var(--color-bg-light);
}
.blog-featured__figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.blog-featured__slide:hover .blog-featured__card {
  background-color: var(--color-white);
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.08);
}

.blog-featured__slide:hover .blog-featured__title {
  color: var(--color-primary);
}

.blog-featured__nav {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3rem;
  height: 7.5rem;
  margin: 0;
  padding: 0;
}

.blog-featured__nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  padding: 0;
  border: none;
  border-radius: 1.75rem;
  background: var(--color-bg-light);
  color: var(--color-text);
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.blog-featured__nav-btn:hover {
  background: var(--color-primary);
  color: var(--color-white);
}
.blog-featured__nav-btn .material-icons {
  font-size: 1.5rem;
  line-height: 1;
}

.blog-archive {
  border-top: 1px solid var(--color-border);
}

.blog-archive__inner {
  display: flex;
  align-items: flex-start;
  gap: 2.5rem;
  padding-top: 4rem;
}
@media (min-width: 769px) {
  .blog-archive__inner {
    padding-top: clamp(4rem, 4rem + (100vw - 769px) * 16 / 1136, 5rem);
  }
}
.blog-archive__inner {
  padding-bottom: 4rem;
}
@media (min-width: 769px) {
  .blog-archive__inner {
    padding-bottom: clamp(4rem, 4rem + (100vw - 769px) * 136 / 1136, 12.5rem);
  }
}

@keyframes blog-archive-fade-up {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js .blog-archive:not(.is-ready) .blog-archive__heading.is-opening,
  html.js .blog-archive:not(.is-ready) .blog-card.is-opening,
  html.js .blog-archive:not(.is-ready) .blog-archive__widget.is-opening,
  html.js .blog-archive:not(.is-ready) .blog-archive__widget-title.is-opening,
  html.js .blog-archive:not(.is-ready) .blog-pickup.is-opening {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js .blog-archive.is-ready .blog-archive__heading.is-opening:not(.is-revealed),
  html.js .blog-archive.is-ready .blog-card.is-opening:not(.is-revealed),
  html.js .blog-archive.is-ready .blog-archive__widget.is-opening:not(.is-revealed),
  html.js .blog-archive.is-ready .blog-archive__widget-title.is-opening:not(.is-revealed),
  html.js .blog-archive.is-ready .blog-pickup.is-opening:not(.is-revealed) {
    animation: blog-archive-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  html.js .blog-archive.is-ready .blog-archive__heading.is-opening.is-revealed,
  html.js .blog-archive.is-ready .blog-card.is-opening.is-revealed,
  html.js .blog-archive.is-ready .blog-archive__widget.is-opening.is-revealed,
  html.js .blog-archive.is-ready .blog-archive__widget-title.is-opening.is-revealed,
  html.js .blog-archive.is-ready .blog-pickup.is-opening.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
  html.js.scroll-reveal-active .blog-archive .blog-card.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .blog-archive .blog-archive__more-wrap.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .blog-archive .blog-archive__widget.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .blog-archive .blog-archive__widget-title.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .blog-archive .blog-pickup.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .blog-archive .blog-archive__heading.js-scroll-reveal:not(.is-inview) {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .blog-archive .blog-card.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .blog-archive .blog-archive__more-wrap.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .blog-archive .blog-archive__widget.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .blog-archive .blog-archive__widget-title.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .blog-archive .blog-pickup.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .blog-archive .blog-archive__heading.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation: blog-archive-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  html.js.scroll-reveal-active .blog-archive .blog-card.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .blog-archive .blog-archive__more-wrap.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .blog-archive .blog-archive__widget.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .blog-archive .blog-archive__widget-title.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .blog-archive .blog-pickup.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .blog-archive .blog-archive__heading.js-scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
.blog-archive__main {
  flex: 1 1 auto;
  min-width: 0;
  padding-right: 2.5625rem;
  border-right: 1px solid var(--color-border);
}

.blog-archive__heading {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.15rem;
  color: var(--color-text);
}

.blog-archive__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3rem;
  margin-top: 2.5rem;
}

.blog-archive__more-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-top: 3rem;
}
.blog-archive__more-wrap[hidden], .blog-archive__more-wrap.is-hidden {
  display: none !important;
}

.blog-archive__more {
  display: inline-flex;
  align-items: center;
  gap: 4rem;
  padding: 0;
  border: none;
  background: transparent;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0.1rem;
  color: var(--color-text);
  cursor: pointer;
  transition: color 0.2s ease, opacity 0.2s ease;
}
.blog-archive__more:hover {
  color: var(--color-primary);
}
.blog-archive__more[aria-busy=true], .blog-archive__more:disabled {
  opacity: 0.55;
  cursor: wait;
  pointer-events: none;
}

.blog-archive__more-error {
  margin: 1rem 0 0;
  width: 100%;
  text-align: center;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5714285714;
  letter-spacing: 0.0875rem;
  color: var(--color-text-muted);
}

.blog-archive__more-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
}
.blog-archive__more-icon .material-icons {
  font-size: 1.5rem;
  transition: transform 0.25s ease;
}

.blog-archive__more:hover .blog-archive__more-icon .material-icons {
  transform: translateY(0.25rem);
}

@media (prefers-reduced-motion: reduce) {
  .blog-archive__more-icon .material-icons {
    transition: none;
  }
}
.blog-archive__sidebar {
  flex: 0 0 21rem;
  width: 21rem;
}

.blog-archive__widget + .blog-archive__widget {
  margin-top: 2rem;
}

.blog-archive__widget-title {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.4;
}

.blog-archive__widget-title-en {
  font-weight: 600;
  color: #ff8634;
}

.blog-archive__widget-title-ja {
  font-weight: 700;
  letter-spacing: 0.0875rem;
  color: var(--color-text-muted);
}

.blog-archive__categories {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 0.75rem;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}

.blog-archive__category {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  border-radius: 2rem;
  background: var(--color-bg-light);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.0875rem;
  color: var(--color-text);
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.blog-archive__category:hover {
  background: #f3f3f3;
  color: var(--color-primary);
}
.blog-archive__category.is-current, .blog-archive__category[aria-current=page] {
  background: var(--color-primary);
  color: var(--color-white);
}

.blog-archive__empty {
  grid-column: 1/-1;
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.09375rem;
  color: var(--color-text-muted);
}

.blog-archive__search {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 1rem;
}

.blog-archive__search-input {
  flex: 1 1 auto;
  min-width: 0;
  box-sizing: border-box;
  height: 3.125rem;
  padding: 0.6875rem 1.0625rem;
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  background: var(--color-white);
  font-family: inherit;
  font-size: 1rem;
  color: var(--color-text);
}
.blog-archive__search-input::placeholder {
  color: #aeaeae;
}

.blog-archive__search-btn {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: none;
  border-radius: 4rem;
  background: var(--color-text);
  color: var(--color-white);
  cursor: pointer;
  transition: opacity 0.2s ease;
}
.blog-archive__search-btn:hover {
  opacity: 0.85;
}
.blog-archive__search-btn .material-icons {
  font-size: 1.5rem;
}

.blog-archive__pickup {
  display: flex;
  flex-direction: column;
}

.blog-pickup {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  margin-top: 1.5rem;
  padding: 2rem;
  border-radius: 0.25rem;
  background: var(--color-bg-light);
  text-decoration: none;
  color: inherit;
}

.blog-pickup__figure {
  position: relative;
  margin: 0;
  aspect-ratio: 272/163;
  border-radius: 0.125rem;
  overflow: hidden;
  background: var(--color-white);
}
.blog-pickup__figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.blog-pickup__placeholder {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--color-white);
}

.blog-pickup__dim,
.blog-pickup__more {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: none;
  transition: opacity 0.2s ease;
  pointer-events: none;
}

.blog-pickup__dim {
  background: rgba(30, 30, 30, 0.45);
}

.blog-pickup__more {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-white);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

.blog-pickup__body {
  margin-top: 1rem;
  transition: opacity 0.2s ease;
}

.blog-pickup:hover .blog-pickup__figure img {
  transform: scale(1.05);
}

.blog-pickup:hover .blog-pickup__dim,
.blog-pickup:hover .blog-pickup__more {
  opacity: 1;
  transform: none;
}

.blog-pickup:hover .blog-pickup__body {
  opacity: 0.5;
}

.blog-pickup__title {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.0875rem;
  color: var(--color-text);
}

.blog-pickup__category {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0.75rem 0 0;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.0375rem;
  color: var(--color-text-muted);
}

.blog-pickup__dot {
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 0.25rem;
  background: var(--color-primary);
}

@media (max-width: 768px) {
  .blog-featured {
    padding-top: 7.5rem;
    padding-bottom: 6rem;
  }
  .blog-featured__slide {
    flex-basis: 100%;
    width: 100%;
    padding-inline: 1.5rem;
  }
  .blog-featured__card {
    flex-direction: column;
    width: 100%;
    gap: 1.5rem;
    padding: 1.5rem;
  }
  .blog-featured__content {
    flex: none;
    width: 100%;
    height: auto;
  }
  .blog-featured__title {
    flex: none;
    display: block;
    margin-top: 1rem;
    font-size: clamp(1.125rem, 1.125rem + (100vw - 375px) * 4 / 393, 1.375rem);
    line-height: 1.5;
    letter-spacing: 0.08em;
  }
  .blog-featured__date {
    margin-top: 1rem;
  }
  .blog-featured__figure {
    flex: none;
    width: 100%;
    height: auto;
    aspect-ratio: 550/330;
  }
  .blog-featured__nav {
    height: 6rem;
    gap: 2rem;
  }
  .blog-archive__inner {
    flex-direction: column;
    padding-top: clamp(3rem, 3rem + (100vw - 375px) * 16 / 393, 4rem);
    padding-bottom: 3rem;
  }
  .blog-archive__main {
    width: 100%;
    padding-right: 0;
    border-right: none;
  }
  .blog-archive__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 2.5rem;
  }
  .blog-archive__more {
    gap: 2rem;
  }
  .blog-archive__more-wrap {
    margin-top: 2.1875rem;
  }
  .blog-archive__sidebar {
    flex: none;
    width: 100%;
    margin-top: 2rem;
  }
  .blog-archive__widget + .blog-archive__widget {
    margin-top: 2.5rem;
  }
  .blog-archive__widget-title-en {
    font-size: 1.125rem;
  }
}
@media (min-width: 769px) and (max-width: 1183px) {
  .blog-archive__inner {
    gap: 1.5rem;
  }
  .blog-archive__main {
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    padding-right: 1.5rem;
  }
  .blog-archive__sidebar {
    flex-basis: 15.625rem;
    width: 15.625rem;
  }
}
@media (min-width: 769px) and (max-width: 1183px) and (min-width: 769px) {
  .blog-archive__sidebar {
    flex-basis: clamp(15.625rem, 15.625rem + (100vw - 769px) * 86 / 415, 21rem);
  }
}
@media (min-width: 769px) and (max-width: 1183px) and (min-width: 769px) {
  .blog-archive__sidebar {
    width: clamp(15.625rem, 15.625rem + (100vw - 769px) * 86 / 415, 21rem);
  }
}
@media (min-width: 769px) and (max-width: 1183px) {
  .blog-archive__grid {
    gap: 2rem;
  }
  .blog-featured__slide {
    flex: 0 0 100%;
    width: 100%;
  }
  .blog-featured__card {
    gap: 1.5rem;
    width: 100%;
    max-width: 60rem;
  }
  .blog-featured__content {
    flex-basis: 13.75rem;
    width: 13.75rem;
    height: auto;
    min-height: 17.5rem;
  }
}
@media (min-width: 769px) and (max-width: 1183px) and (min-width: 769px) {
  .blog-featured__content {
    flex-basis: clamp(13.75rem, 13.75rem + (100vw - 769px) * 60 / 415, 17.5rem);
  }
}
@media (min-width: 769px) and (max-width: 1183px) and (min-width: 769px) {
  .blog-featured__content {
    width: clamp(13.75rem, 13.75rem + (100vw - 769px) * 60 / 415, 17.5rem);
  }
}
@media (min-width: 769px) and (max-width: 1183px) {
  .blog-featured__figure {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    height: auto;
    aspect-ratio: 550/330;
  }
}
.blog-single-page {
  background: var(--color-bg-light);
}

@keyframes blog-single-fade-up {
  from {
    opacity: 0;
    transform: translateY(1rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes blog-single-grow {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes blog-single-line-grow {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js .blog-single-page:not(.is-ready) .blog-single__breadcrumb,
  html.js .blog-single-page:not(.is-ready) .blog-single__meta,
  html.js .blog-single-page:not(.is-ready) .blog-single__title {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js .blog-single-page:not(.is-ready) .blog-single__breadcrumb-line {
    transform: scaleX(0);
  }
  html.js .blog-single-page:not(.is-ready) .blog-single__hero {
    opacity: 0;
    transform: scale(0.95);
  }
  html.js .blog-single-page.is-ready .blog-single__breadcrumb {
    animation: blog-single-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  html.js .blog-single-page.is-ready .blog-single__breadcrumb-line {
    transform-origin: left center;
    animation: blog-single-line-grow 0.9s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: 200ms;
  }
  html.js .blog-single-page.is-ready .blog-single__meta {
    animation: blog-single-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: 520ms;
  }
  html.js .blog-single-page.is-ready .blog-single__title {
    animation: blog-single-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: 560ms;
  }
  html.js .blog-single-page.is-ready .blog-single__hero {
    transform-origin: center center;
    animation: blog-single-grow 0.65s cubic-bezier(0.16, 1, 0.3, 1) both;
    animation-delay: 680ms;
  }
}
@media (prefers-reduced-motion: no-preference) {
  html.js.scroll-reveal-active .blog-single-page .blog-single__heading.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .blog-single-page .blog-single__body h2.js-scroll-reveal:not(.is-inview) {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .blog-single-page .blog-single__heading.js-scroll-reveal:not(.is-inview)::after,
  html.js.scroll-reveal-active .blog-single-page .blog-single__body h2.js-scroll-reveal:not(.is-inview)::after {
    transform: scaleX(0);
  }
  html.js.scroll-reveal-active .blog-single-page .blog-single__heading.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .blog-single-page .blog-single__body h2.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation: blog-single-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  html.js.scroll-reveal-active .blog-single-page .blog-single__heading.js-scroll-reveal.is-inview:not(.is-revealed)::after,
  html.js.scroll-reveal-active .blog-single-page .blog-single__body h2.js-scroll-reveal.is-inview:not(.is-revealed)::after {
    animation: blog-single-line-grow 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: 150ms;
  }
  html.js.scroll-reveal-active .blog-single-page .blog-single__heading.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .blog-single-page .blog-single__body h2.js-scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
  html.js.scroll-reveal-active .blog-single-page .blog-single__heading.js-scroll-reveal.is-revealed::after,
  html.js.scroll-reveal-active .blog-single-page .blog-single__body h2.js-scroll-reveal.is-revealed::after {
    transform: scaleX(1);
    animation: none;
  }
  html.js.scroll-reveal-active .blog-single-page .blog-single__subheading.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .blog-single-page .blog-single__body .is-style-highlight.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .blog-single-page .blog-single__figure.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .blog-single-page .blog-single__body .wp-block-image.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .blog-single-page .blog-single__body > figure.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .blog-single-page .blog-single__share.js-scroll-reveal:not(.is-inview),
  html.js.scroll-reveal-active .blog-single-page .blog-single__back.js-scroll-reveal:not(.is-inview) {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .blog-single-page .blog-single__subheading.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .blog-single-page .blog-single__body .is-style-highlight.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .blog-single-page .blog-single__figure.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .blog-single-page .blog-single__body .wp-block-image.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .blog-single-page .blog-single__body > figure.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .blog-single-page .blog-single__share.js-scroll-reveal.is-inview:not(.is-revealed),
  html.js.scroll-reveal-active .blog-single-page .blog-single__back.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation: blog-single-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  html.js.scroll-reveal-active .blog-single-page .blog-single__subheading.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .blog-single-page .blog-single__body .is-style-highlight.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .blog-single-page .blog-single__figure.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .blog-single-page .blog-single__body .wp-block-image.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .blog-single-page .blog-single__body > figure.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .blog-single-page .blog-single__share.js-scroll-reveal.is-revealed,
  html.js.scroll-reveal-active .blog-single-page .blog-single__back.js-scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
@media (prefers-reduced-motion: no-preference) and (max-width: 768px) {
  html.js.scroll-reveal-active .blog-single-page .blog-single__pickup-grid .blog-card.js-scroll-reveal:not(.is-inview) {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .blog-single-page .blog-single__pickup-grid .blog-card.js-scroll-reveal.is-inview:not(.is-revealed) {
    animation: blog-single-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  html.js.scroll-reveal-active .blog-single-page .blog-single__pickup-grid .blog-card.js-scroll-reveal.is-revealed {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
@media (prefers-reduced-motion: no-preference) and (min-width: 769px) {
  html.js.scroll-reveal-active .blog-single-page .blog-single__pickup-grid.js-scroll-reveal:not(.is-inview) .blog-card {
    opacity: 0;
    transform: translateY(1rem);
  }
  html.js.scroll-reveal-active .blog-single-page .blog-single__pickup-grid.js-scroll-reveal.is-inview:not(.is-revealed) .blog-card {
    animation: blog-single-fade-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  html.js.scroll-reveal-active .blog-single-page .blog-single__pickup-grid.js-scroll-reveal.is-inview:not(.is-revealed) .blog-card:nth-child(1) {
    animation-delay: 0ms;
  }
  html.js.scroll-reveal-active .blog-single-page .blog-single__pickup-grid.js-scroll-reveal.is-inview:not(.is-revealed) .blog-card:nth-child(2) {
    animation-delay: 70ms;
  }
  html.js.scroll-reveal-active .blog-single-page .blog-single__pickup-grid.js-scroll-reveal.is-inview:not(.is-revealed) .blog-card:nth-child(3) {
    animation-delay: 140ms;
  }
  html.js.scroll-reveal-active .blog-single-page .blog-single__pickup-grid.js-scroll-reveal.is-inview:not(.is-revealed) .blog-card:nth-child(4) {
    animation-delay: 210ms;
  }
  html.js.scroll-reveal-active .blog-single-page .blog-single__pickup-grid.js-scroll-reveal.is-inview:not(.is-revealed) .blog-card:nth-child(5) {
    animation-delay: 280ms;
  }
  html.js.scroll-reveal-active .blog-single-page .blog-single__pickup-grid.js-scroll-reveal.is-inview:not(.is-revealed) .blog-card:nth-child(6) {
    animation-delay: 350ms;
  }
  html.js.scroll-reveal-active .blog-single-page .blog-single__pickup-grid.js-scroll-reveal.is-inview:not(.is-revealed) .blog-card:nth-child(7) {
    animation-delay: 420ms;
  }
  html.js.scroll-reveal-active .blog-single-page .blog-single__pickup-grid.js-scroll-reveal.is-inview:not(.is-revealed) .blog-card:nth-child(8) {
    animation-delay: 490ms;
  }
  html.js.scroll-reveal-active .blog-single-page .blog-single__pickup-grid.js-scroll-reveal.is-revealed .blog-card {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
.blog-single__breadcrumb-area {
  padding-top: 10rem;
}
@media (min-width: 769px) {
  .blog-single__breadcrumb-area {
    padding-top: clamp(10rem, 10rem + (100vw - 769px) * 40 / 1136, 12.5rem);
  }
}

.blog-single__breadcrumb-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  width: 100%;
}

.blog-single__breadcrumb {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  min-width: 0;
  width: 100%;
}

.blog-single__breadcrumb-parent {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: 1rem;
  text-decoration: none;
  color: inherit;
  transition: opacity 0.2s ease;
}
.blog-single__breadcrumb-parent:hover {
  opacity: 0.85;
}

.blog-single__breadcrumb-en {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.1125rem;
  color: var(--color-primary);
}

.blog-single__breadcrumb-ja {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.0875rem;
  color: var(--color-dark);
}

.blog-single__breadcrumb-sep {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  color: var(--color-text);
}
.blog-single__breadcrumb-sep .material-icons {
  font-size: 1.5rem;
}

.blog-single__breadcrumb-current {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.0875rem;
  color: var(--color-dark);
}

.blog-single__breadcrumb-line {
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 3rem;
  background: var(--color-border);
}

.blog-single__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 2.5rem;
}
@media (min-width: 769px) {
  .blog-single__inner {
    padding-top: clamp(2.5rem, 2.5rem + (100vw - 769px) * 8 / 1136, 3rem);
  }
}
.blog-single__inner {
  padding-bottom: 6.25rem;
}
@media (min-width: 769px) {
  .blog-single__inner {
    padding-bottom: clamp(6.25rem, 6.25rem + (100vw - 769px) * 60 / 1136, 10rem);
  }
}

.blog-single__content {
  box-sizing: border-box;
  width: 100%;
  max-width: 45rem;
}

.blog-single__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

.blog-single__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.blog-single__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  border-radius: 1.5rem;
  background: var(--color-white);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.09375rem;
  color: var(--color-primary);
}

.blog-single__date {
  display: block;
  flex-shrink: 0;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05rem;
  color: var(--color-text-muted);
}

.blog-single__title {
  margin: 1.5rem 0 0;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.2rem;
  color: var(--color-text);
}

.blog-single__hero {
  margin: 2rem 0 0;
  aspect-ratio: 720/432;
  overflow: hidden;
}
.blog-single__hero img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.blog-single__body {
  margin-top: 2rem;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.blog-single__body > :first-child {
  margin-top: 0;
}
.blog-single__body img {
  display: block;
  max-width: 100%;
  height: auto;
}
.blog-single__body table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
}

.blog-single__heading,
.blog-single__body h2 {
  position: relative;
  margin: 2rem 0 0;
  padding: 0.75rem 0.25rem 0.8125rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.15rem;
  color: var(--color-text);
  overflow-wrap: anywhere;
  word-break: break-word;
}
.blog-single__heading::after,
.blog-single__body h2::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--color-border);
  transform-origin: left center;
}

.blog-single__paragraph,
.blog-single__body p {
  margin: 2rem 0 0;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.85;
  letter-spacing: 0.09375rem;
  color: var(--color-text);
}

.blog-single__body .wp-block-paragraph:not(:first-child) {
  margin-top: 2rem;
}

.blog-single__paragraph + .blog-single__paragraph {
  margin-top: 0;
}

.blog-single__subheading,
.blog-single__body p.is-style-highlight {
  margin: 2rem 0 0;
  padding-left: 1.625rem;
  border-left: 2px solid var(--color-text);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1125rem;
  color: var(--color-text);
  overflow-wrap: anywhere;
  word-break: break-word;
  background: transparent;
}

.blog-single__figure {
  margin: 2rem 0 0;
  aspect-ratio: 720/481;
  overflow: hidden;
}
.blog-single__figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.blog-single__figure--tall {
  aspect-ratio: 720/540;
}

.blog-single__body .wp-block-image,
.blog-single__body > figure.wp-block-image {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  aspect-ratio: auto;
  overflow: visible;
  margin: 2.5rem 0 0;
  float: none !important;
}
.blog-single__body .wp-block-image img,
.blog-single__body > figure.wp-block-image img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: unset;
}
.blog-single__body .wp-block-image figure,
.blog-single__body > figure.wp-block-image figure {
  margin: 0;
  width: 100%;
  max-width: 100%;
}

.blog-single__body figcaption,
.blog-single__body .wp-element-caption {
  margin-top: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.025rem;
  color: var(--color-text-muted);
}

.blog-single__body .wp-block-image + p,
.blog-single__body > figure + p,
.blog-single__body .wp-block-image + .wp-block-paragraph {
  margin-top: 2.5rem;
}

.blog-single__heading:first-child,
.blog-single__subheading:first-child,
.blog-single__paragraph:first-child,
.blog-single__figure:first-child {
  margin-top: 1.5rem;
}

.blog-single__share {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 2.5rem;
  padding: 1.5rem 1rem 1rem;
  border-radius: 0.5rem;
  background: var(--color-white);
}

.blog-single__share-label {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.1125rem;
  color: var(--color-text);
}

.blog-single__share-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  margin: 0.75rem 0 0;
  padding: 0;
  list-style: none;
}

.blog-single__share-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  color: var(--color-text);
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.blog-single__share-link:hover {
  opacity: 0.75;
}
.blog-single__share-link i {
  font-size: 1.25rem;
  line-height: 1;
}

.blog-single__back {
  display: flex;
  justify-content: center;
  margin-top: 5rem;
}

.blog-single__back .btn-more {
  gap: 4rem;
  padding-left: 2.125rem;
}

.blog-single__pickup {
  background: var(--color-white);
}

.blog-single__pickup-inner {
  padding-top: 3rem;
}
@media (min-width: 769px) {
  .blog-single__pickup-inner {
    padding-top: clamp(3rem, 3rem + (100vw - 769px) * 16 / 1136, 4rem);
  }
}
.blog-single__pickup-inner {
  padding-bottom: 5rem;
}
@media (min-width: 769px) {
  .blog-single__pickup-inner {
    padding-bottom: clamp(5rem, 5rem + (100vw - 769px) * 40 / 1136, 7.5rem);
  }
}

.blog-single__pickup .section-heading__en {
  font-size: 1.125rem;
  line-height: 1.4;
}

.blog-single__pickup .section-heading__dot {
  width: 1rem;
  height: 1rem;
  transform: none;
}

.blog-single__pickup .section-heading__title {
  margin-top: 0.5rem;
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: 0.3rem;
}

.blog-single__pickup-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 22rem));
  justify-content: space-between;
  column-gap: 2rem;
  row-gap: 3rem;
  width: 100%;
  margin-top: 2.5rem;
}
.blog-single__pickup-grid .blog-card {
  min-width: 0;
}
.blog-single__pickup-grid .blog-card__figure {
  aspect-ratio: 352/211;
}
.blog-single__pickup-grid .blog-card__body {
  margin-top: 1.5rem;
}
.blog-single__pickup-grid .blog-card__tags {
  gap: 1rem;
}
.blog-single__pickup-grid .blog-card__tag {
  padding: 0;
  border-radius: 0;
  background: transparent;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.04375rem;
}
.blog-single__pickup-grid .blog-card__tag::before {
  content: "#";
  margin-right: 0.25rem;
  color: var(--color-text);
}
.blog-single__pickup-grid .blog-card__title {
  font-size: 1rem;
  line-height: 1.7;
  letter-spacing: 0.1rem;
}
.blog-single__pickup-grid .blog-card__date {
  display: none;
}

@media (max-width: 768px) {
  .blog-single__breadcrumb-area {
    padding-top: 6.25rem;
  }
  .blog-single__breadcrumb-en {
    font-size: 1rem;
    letter-spacing: 0.1rem;
  }
  .blog-single__breadcrumb-ja,
  .blog-single__breadcrumb-current {
    font-size: 0.8125rem;
    letter-spacing: 0.08125rem;
  }
  .blog-single__breadcrumb-parent {
    gap: 0.625rem;
  }
  .blog-single__breadcrumb-line {
    margin-top: 2rem;
  }
  .blog-single__inner {
    padding-top: clamp(2rem, 2rem + (100vw - 375px) * 8 / 393, 2.5rem);
    padding-bottom: clamp(4rem, 4rem + (100vw - 375px) * 36 / 393, 6.25rem);
  }
  .blog-single__meta {
    align-items: flex-start;
    flex-direction: column;
    gap: 1rem;
  }
  .blog-single__tag {
    font-size: 0.875rem;
    letter-spacing: 0.0875rem;
  }
  .blog-single__date {
    font-size: 0.875rem;
    letter-spacing: 0.04375rem;
  }
  .blog-single__title {
    font-size: clamp(1.375rem, 1.375rem + (100vw - 375px) * 6 / 393, 1.75rem);
    line-height: 1.45;
    letter-spacing: 0.1375rem;
  }
  .blog-single__heading,
  .blog-single__body h2 {
    font-size: clamp(1.125rem, 1.125rem + (100vw - 375px) * 4 / 393, 1.375rem);
    line-height: 1.5;
    letter-spacing: 0.1125rem;
  }
  .blog-single__subheading,
  .blog-single__body p.is-style-highlight {
    padding-left: 1rem;
    font-size: 1rem;
    line-height: 1.7;
    letter-spacing: 0.1rem;
  }
  .blog-single__paragraph,
  .blog-single__body p {
    font-size: 0.875rem;
    line-height: 1.85;
    letter-spacing: 0.0875rem;
  }
  .blog-single__body .wp-block-image,
  .blog-single__body > figure.wp-block-image {
    margin-top: 2rem;
  }
  .blog-single__body .wp-block-image + p,
  .blog-single__body > figure + p,
  .blog-single__body .wp-block-image + .wp-block-paragraph {
    margin-top: 2rem;
  }
  .blog-single__share-label {
    font-size: 1rem;
    letter-spacing: 0.1rem;
  }
  .blog-single__share-link {
    width: 3.5rem;
    height: 3.5rem;
  }
  .blog-single__back {
    margin-top: 3rem;
  }
  .blog-single__back .btn-more {
    gap: 1.5rem;
    padding-left: 1.875rem;
  }
  .blog-single__pickup-inner {
    padding-top: clamp(2.5rem, 2.5rem + (100vw - 375px) * 8 / 393, 3rem);
    padding-bottom: clamp(4rem, 4rem + (100vw - 375px) * 16 / 393, 5rem);
  }
  .blog-single__pickup .section-heading__en {
    font-size: 1rem;
  }
  .blog-single__pickup .section-heading__dot {
    width: 0.75rem;
    height: 0.75rem;
  }
  .blog-single__pickup .section-heading__title {
    font-size: clamp(1.375rem, 1.375rem + (100vw - 375px) * 6 / 393, 1.75rem);
    letter-spacing: 0.2rem;
  }
  .blog-single__pickup-grid {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 2.5rem;
    margin-top: 2rem;
  }
}
@media (min-width: 769px) and (max-width: 1183px) {
  .blog-single__pickup-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 1.5rem;
  }
}
.terms-page {
  background: var(--color-bg);
}

.terms__breadcrumb-area {
  padding-top: 10rem;
}
@media (min-width: 769px) {
  .terms__breadcrumb-area {
    padding-top: clamp(10rem, 10rem + (100vw - 769px) * 40 / 1136, 12.5rem);
  }
}

.terms__breadcrumb-inner {
  display: flex;
  align-items: center;
}

.terms__breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
}

.terms__breadcrumb-parent {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  text-decoration: none;
  color: inherit;
}
.terms__breadcrumb-parent:hover {
  opacity: 0.85;
}

.terms__breadcrumb-en {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.1125rem;
  color: var(--color-primary);
}

.terms__breadcrumb-ja {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.0875rem;
  color: var(--color-text);
}

.terms__breadcrumb-sep {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text);
}
.terms__breadcrumb-sep .material-icons {
  font-size: 1.5rem;
}

.terms__breadcrumb-current {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.0875rem;
  color: var(--color-text);
}

.terms__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
  padding-inline: 2rem;
  padding-top: 4rem;
}
@media (min-width: 769px) {
  .terms__content {
    padding-top: clamp(4rem, 4rem + (100vw - 769px) * 16 / 1136, 5rem);
  }
}
.terms__content {
  padding-bottom: 6.25rem;
}
@media (min-width: 769px) {
  .terms__content {
    padding-bottom: clamp(6.25rem, 6.25rem + (100vw - 769px) * 60 / 1136, 10rem);
  }
}

.terms__inner {
  box-sizing: border-box;
  width: 100%;
  max-width: 45rem;
}

.terms__title {
  margin: 0;
  font-family: var(--font-base);
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.0875rem;
  color: var(--color-text);
  overflow-wrap: break-word;
}

.terms__body {
  margin-top: 3.5rem;
}

.terms__list {
  box-sizing: border-box;
  width: 100%;
  max-width: 45rem;
  margin: 0;
  padding: 0;
  padding-left: 1.25rem;
}

.terms__item {
  margin: 0;
  width: 100%;
  max-width: 43.75rem;
  font-family: var(--font-base);
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.046875rem;
  color: var(--color-text);
  overflow-wrap: break-word;
}

.terms__item + .terms__item {
  margin-top: 1.5rem;
}

.terms__item-title {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  font-weight: 900;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
}

.terms__item-text {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  font-weight: 500;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
}

.terms__closing {
  box-sizing: border-box;
  width: 100%;
  max-width: 45rem;
  margin: 1.5rem 0 0;
  font-family: var(--font-base);
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.046875rem;
  color: var(--color-text);
  overflow-wrap: break-word;
}

@media (max-width: 768px) {
  .terms__breadcrumb-area {
    padding-top: 6.25rem;
  }
  .terms__breadcrumb-en {
    font-size: 1rem;
    letter-spacing: 0.1rem;
  }
  .terms__breadcrumb-ja,
  .terms__breadcrumb-current {
    font-size: 0.8125rem;
    letter-spacing: 0.08125rem;
  }
  .terms__breadcrumb-parent {
    gap: 0.625rem;
  }
  .terms__content {
    padding-top: clamp(3rem, 3rem + (100vw - 375px) * 16 / 393, 4rem);
    padding-bottom: clamp(4rem, 4rem + (100vw - 375px) * 36 / 393, 6.25rem);
    padding-inline: clamp(1.25rem, 1.25rem + (100vw - 375px) * 12 / 393, 2rem);
  }
  .terms__title {
    font-size: clamp(1.375rem, 1.375rem + (100vw - 375px) * 4 / 393, 1.625rem);
    line-height: 1.4;
    letter-spacing: 0.06875rem;
  }
  .terms__body {
    margin-top: 2.75rem;
  }
  .terms__item,
  .terms__closing {
    font-size: 0.875rem;
    line-height: 1.8;
    letter-spacing: 0.04375rem;
  }
  .terms__list {
    padding-left: 1rem;
  }
  .terms__item + .terms__item {
    margin-top: 1.25rem;
  }
  .terms__closing {
    margin-top: 1.25rem;
  }
}/*# sourceMappingURL=main.css.map */
