/* Default Options */
/* Media Query */
/* Transform Font Size */
/* --------------------------------- */
.t-section {
  width: 100%;
  max-width: 1800px;
  margin-inline: auto;
  margin-block: var(--space-lg);
  padding-inline: var(--contents-inner-padding);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-xs);
  box-sizing: border-box;
}
.t-section__title {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.4;
}
.t-section__title svg {
  width: 16px;
}
.t-section .c-button {
  min-width: auto;
  height: 48px;
  padding-inline: 20px;
  border-radius: 24px;
  font-size: 0.875rem;
}
@media screen and (min-width: 992px) {
  .t-section .button {
    display: flex;
    justify-content: end;
    grid-area: 1/7/2/13;
  }
  .t-section .button .c-button {
    width: auto;
  }
}

/* --------------------------------- */
.l-wrapper {
  max-width: none;
  overflow: hidden;
}

/* --------------------------------- */
.p-kv {
  width: 100%;
  height: 120svh;
  aspect-ratio: 2/1;
  background-color: rgba(0, 0, 0, 0.7);
  position: relative;
}
.p-kv__inner {
  padding-block: max(10vw, 70px);
  padding-inline: 5vw;
  display: flex;
  flex-direction: column;
  gap: var(--space-xxs);
  position: relative;
  z-index: 1;
}
.p-kv__inner .catch {
  width: max(60vw, 270px);
}
.p-kv__inner .catch svg {
  transition: fill 1s cubic-bezier(0.65, 0, 0.35, 1);
}
.p-kv__inner p {
  max-width: 700px;
  font-size: clamp(0.75rem, 0.3409090909rem + 1.1363636364vw, 1.25rem);
  font-weight: 500;
  line-height: 1.6;
  transition: color 1s cubic-bezier(0.65, 0, 0.35, 1);
}
.p-kv__image {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.p-kv__image .item {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  opacity: 0;
  transition: opacity 1s cubic-bezier(0.65, 0, 0.35, 1);
}
.p-kv__image .item picture,
.p-kv__image .item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.p-kv.kv01 .p-kv__image div[data-number=kv01] {
  opacity: 1;
  z-index: 1;
}
.p-kv.kv02 .p-kv__image div[data-number=kv02] {
  opacity: 1;
  z-index: 1;
}
.p-kv.kv02 .p-kv__inner .catch svg {
  fill: var(--bg-color);
}
.p-kv.kv02 .p-kv__inner p {
  color: var(--bg-color);
}
.p-kv.kv03 .p-kv__image div[data-number=kv03] {
  opacity: 1;
  z-index: 1;
}
.p-kv.kv04 .p-kv__image div[data-number=kv04] {
  opacity: 1;
  z-index: 1;
}
.p-kv.kv05 .p-kv__image div[data-number=kv05] {
  opacity: 1;
  z-index: 1;
}
@media screen and (min-width: 992px) {
  .p-kv__inner .catch {
    width: max(40vw, 270px);
  }
}

/* --------------------------------- */
.p {
  /* --------------------------------- */
}
.p-about {
  background-color: var(--bg-color);
  position: relative;
  backdrop-filter: blur(60px);
}
.p-about__title {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
  font-size: clamp(3.75rem, -0.3409090909rem + 11.3636363636vw, 8.75rem);
  line-height: 1;
  color: var(--accent-color);
  white-space: nowrap;
}
.p-about-inner {
  padding-block: clamp(100px, 15vw, 240px);
  padding-inline: var(--contents-inner-padding);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(50px, 5vw, 80px);
}
.p-about-inner .copy {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.p-about-inner .copy .text {
  display: flex;
  align-items: center;
  font-size: clamp(2.5rem, 0.1477272727rem + 6.5340909091vw, 5.375rem);
  font-weight: 600;
  line-height: 1.4;
}
.p-about-inner .copy .text:nth-child(2) {
  column-gap: 10px;
}
.p-about-inner .copy .text b {
  color: var(--accent-color);
}
.p-about-inner .copy .text .image {
  height: clamp(48px, 6vw, 100px);
  border-radius: clamp(24px, 3vw, 50px);
  overflow: hidden;
}
.p-about-inner .copy .text .image picture,
.p-about-inner .copy .text .image img {
  width: auto;
  height: 100%;
}
.p-about-inner p {
  max-width: 1280px;
  font-size: clamp(1rem, 0.2840909091rem + 1.9886363636vw, 1.875rem);
  font-weight: 500;
}
.p-about-result__title {
  padding-block: clamp(40px, 4vw, 60px);
  display: flex;
  align-items: center;
  overflow: hidden;
  border-block: 1px solid rgba(0, 0, 0, 0.15);
}
.p-about-result__title .item {
  padding-inline: clamp(15px, 1.5vw, 20px);
  display: flex;
  align-items: center;
  gap: clamp(30px, 3vw, 40px);
  animation: inline-scroll 80s infinite linear 0.5s both;
}
.p-about-result__title span {
  font-size: clamp(1.25rem, 0.6363636364rem + 1.7045454545vw, 2rem);
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  text-transform: uppercase;
}
.p-about-result__title span a {
  color: var(--accent-color);
}
.p-about-result__title svg {
  min-width: clamp(18px, 2vw, 22px);
}
.p-about-result-list {
  padding: 0;
  list-style: none;
}
.p-about-result-list li {
  border-block-end: 1px solid rgba(0, 0, 0, 0.15);
}
.p-about-result-list li:last-child {
  border: 0;
}
.p-about-result-list li a {
  padding-block: clamp(40px, 7vw, 120px);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(30px, 4vw, 60px);
  text-decoration: none;
  transition: var(--hover-animation-speed);
}
.p-about-result-list li a:hover {
  background-color: rgba(0, 133, 101, 0.1);
}
.p-about-result-list .icon {
  width: clamp(80px, 10vw, 140px);
  aspect-ratio: 1/1;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 133, 101, 0.08);
  border-radius: 50%;
}
.p-about-result-list .icon svg {
  fill: var(--accent-color);
}
.p-about-result-list .icon.build svg {
  width: 60%;
}
.p-about-result-list .icon.comp svg {
  width: 60%;
}
.p-about-result-list .icon.start svg {
  width: 50%;
}
.p-about-result-list .inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(10px, 2vw, 30px);
}
.p-about-result-list .number {
  font-size: clamp(5rem, 0.9090909091rem + 11.3636363636vw, 10rem);
  font-weight: 600;
  line-height: 1;
}
.p-about-result-list p {
  font-size: clamp(1rem, 0.7954545455rem + 0.5681818182vw, 1.25rem);
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
}
.p-about-result-list .button {
  width: clamp(36px, 4vw, 48px);
  aspect-ratio: 1/1;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 2px solid var(--accent-color);
  border-radius: 50%;
  box-sizing: border-box;
}
.p-about-result-list .button svg {
  width: 36px;
  fill: var(--accent-color);
}
.p-project-wrap {
  padding-block: var(--space-md);
  padding-inline: var(--contents-inner-padding);
  background-color: var(--accent-color);
  overflow: hidden;
}
.p-project-wrap .inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}
.p-project-wrap .title {
  display: flex;
  flex-direction: column;
  line-height: 1;
}
.p-project-wrap .title .jp {
  font-size: clamp(1rem, 0.5909090909rem + 1.1363636364vw, 1.5rem);
  font-weight: 600;
  color: var(--bg-color);
}
.p-project-wrap .title .en {
  font-size: clamp(3rem, -0.1704545455rem + 8.8068181818vw, 6.875rem);
  font-weight: 600;
  color: var(--text-color);
}
.p-project-wrap .wrap {
  margin-block-start: -60px;
  display: flex;
  flex-direction: column;
  gap: var(--space-xxs);
}
.p-project-wrap .copy {
  display: flex;
  flex-direction: column;
  align-items: start;
  position: relative;
  z-index: 1;
}
.p-project-wrap .copy span {
  height: clamp(32px, 2vw, 36px);
  padding-inline: clamp(5px, 1vw, 10px);
  display: flex;
  align-items: center;
  background-color: var(--bg-color);
  font-size: clamp(1rem, 0.5909090909rem + 1.1363636364vw, 1.5rem);
  font-weight: 600;
  line-height: 1;
}
.p-project-wrap .text {
  font-size: clamp(0.875rem, 0.7727272727rem + 0.2840909091vw, 1rem);
  font-weight: 600;
  color: var(--bg-color);
}
.p-project-wrap .text br {
  display: none;
}
.p-project-slider {
  width: calc(100% + var(--contents-inner-padding) * 2);
  display: flex;
  align-items: center;
  position: relative;
  left: calc(var(--contents-inner-padding) * -1);
  z-index: 0;
}
.p-project-slider .list {
  padding-inline: clamp(15px, 1.5vw, 20px);
  list-style: none;
  display: flex;
  align-items: center;
  gap: 10px;
  animation: inline-scroll 80s infinite linear 0.5s both;
}
.p-project-slider .list li {
  width: calc(160px + 25vw);
  aspect-ratio: 2/3;
  border-radius: 5px;
  overflow: hidden;
}
.p-project-slider .list li picture,
.p-project-slider .list li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.p-project__image {
  display: none;
}
.p-career {
  padding-block: var(--space-lg);
  padding-inline: var(--contents-inner-padding);
  display: flex;
  flex-direction: column;
  row-gap: var(--space-lg);
  background-color: #2a2a2a;
}
.p-career-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-xs);
}
.p-career .title {
  display: flex;
  flex-direction: column;
  line-height: 1;
}
.p-career .title .jp {
  font-size: clamp(1rem, 0.7954545455rem + 0.5681818182vw, 1.25rem);
  font-weight: 600;
  color: var(--bg-color);
}
.p-career .title .en {
  font-size: clamp(3rem, -0.1704545455rem + 8.8068181818vw, 6.875rem);
  font-weight: 600;
  text-transform: uppercase;
  color: var(--accent-color);
}
.p-career .image {
  aspect-ratio: 3/2;
  border-radius: 5px;
  overflow: hidden;
}
.p-career .image picture,
.p-career .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.p-career .wrap {
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: var(--space-xs);
  color: var(--bg-color);
}
.p-career .wrap .copy {
  font-size: clamp(2rem, 1.1818181818rem + 2.2727272727vw, 3rem);
  font-weight: 600;
  line-height: 1.4;
}
.p-career .wrap p {
  font-size: clamp(0.9375rem, 0.7840909091rem + 0.4261363636vw, 1.125rem);
  font-weight: 500;
}
.p-career-interview {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: var(--space-sm);
  position: relative;
}
.p-career-interview .p-slider {
  margin-block: 0;
  z-index: 2;
  overflow: visible;
}
.p-career-interview .p-slider .swiper-slide {
  opacity: 0;
}
.p-career-interview .p-slider .swiper-slide.swiper-slide-visible {
  filter: blur(20px);
  opacity: 1;
}
.p-career-interview .p-slider .swiper-slide.swiper-slide-prev, .p-career-interview .p-slider .swiper-slide.swiper-slide-next {
  filter: blur(10px);
  opacity: 1;
}
.p-career-interview .p-slider .swiper-slide.swiper-slide-active {
  filter: blur(0);
  opacity: 1;
}
.p-career-interview-bg {
  width: calc(100% + var(--contents-inner-padding) * 2);
  display: flex;
  align-items: center;
  overflow: hidden;
  position: absolute;
  left: calc(var(--contents-inner-padding) * -1);
  z-index: 0;
  opacity: 0.3;
}
.p-career-interview-bg.top {
  top: calc(clamp(40px, 5vw, 80px) * -1);
}
.p-career-interview-bg.top .item {
  animation: inline-scroll 80s infinite linear 0.5s both;
}
.p-career-interview-bg.bottom {
  bottom: clamp(60px, 5vw, 80px);
}
.p-career-interview-bg.bottom .item {
  animation: inline-scroll 80s infinite linear 0.5s reverse both;
}
.p-career-interview-bg .item {
  padding-inline: var(--space-xs);
  list-style: none;
  display: flex;
  align-items: center;
  gap: clamp(30px, 3vw, 40px);
}
.p-career-interview-bg .item li {
  height: clamp(60px, 10vw, 120px);
}
.p-career-interview-bg .item li img {
  width: auto;
  max-width: none;
  height: 100%;
}
.p-career-interview .swiper-button-prev:after,
.p-career-interview .swiper-button-next:after {
  display: none;
}
.p-career-interview .swiper-button-prev .c-icon-arrow .icon,
.p-career-interview .swiper-button-next .c-icon-arrow .icon {
  width: clamp(32px, 3vw, 48px);
}
.p-news-l {
  width: 100%;
}
.p-news-l ul {
  padding: 0;
  list-style: none;
}
.p-news-l li {
  background-color: var(--bg-color);
  border-radius: 5px;
}
.p-news-l a {
  width: 100%;
  height: clamp(220px, 20vw, 240px);
  padding: clamp(20px, 2vw, 30px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-decoration: none;
  box-sizing: border-box;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 5px;
  transition: var(--hover-animation-speed);
}
.p-news-l a:hover {
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
}
.p-news-l-head {
  display: flex;
  align-items: center;
  gap: 10px;
}
.p-news-l-head .date {
  font-size: 0.75rem;
}
.p-news-l-head .category {
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.p-news-l-head .category li {
  height: 24px;
  padding-inline: 5px;
  display: flex;
  align-items: center;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 3px;
  font-size: 0.75rem;
  font-weight: 500;
  transition: var(--hover-animation-speed);
}
a:hover .p-news-l-head .category li {
  background-color: rgba(0, 0, 0, 0.08);
}

.p-news-l p {
  font-size: clamp(0.9375rem, 0.8863636364rem + 0.1420454545vw, 1rem);
  font-weight: 500;
}
@media screen and (min-width: 576px) {
  .p-news-sec__title .c-arrow {
    margin-inline-start: 40px;
  }
}
.p-blog-l {
  width: 100%;
  padding: 0;
  list-style: none;
  border-block-start: 1px solid rgba(0, 0, 0, 0.15);
}
.p-blog-l li {
  border-block-end: 1px solid rgba(0, 0, 0, 0.15);
  transition: var(--hover-animation-speed);
}
.p-blog-l li a {
  padding-block: 30px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  text-decoration: none;
  cursor: pointer;
}
.p-blog-l li:hover {
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.08);
}
.p-blog-l-image {
  width: 100%;
  aspect-ratio: 3/2;
  border-radius: 5px;
  overflow: hidden;
}
.p-blog-l-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: var(--hover-animation-speed);
}
a:hover .p-blog-l-image img {
  transform: translate3d(1.1, 1.1, 1.1);
}

.p-blog-l-inner {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  gap: var(--space-xxs);
}
.p-blog-l-inner p {
  font-size: clamp(1rem, 0.7954545455rem + 0.5681818182vw, 1.25rem);
  font-weight: 600;
  line-height: 1.6;
  grid-area: 1/1/2/3;
}
.p-blog-l-inner .date {
  font-size: 0.75rem;
  grid-area: 2/1/3/2;
}
.p-blog-l-inner .category {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.p-blog-l-inner .category span {
  height: 24px;
  padding-inline: 5px;
  display: flex;
  align-items: center;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 3px;
  font-size: 0.75rem;
  font-weight: 500;
  transition: var(--hover-animation-speed);
}
a:hover .p-blog-l-inner .category span {
  background-color: rgba(0, 0, 0, 0.08);
}

@media screen and (min-width: 576px) {
  .p-career-interview .swiper-button-prev {
    left: auto;
    right: calc(50% + 25vw);
  }
  .p-career-interview .swiper-button-next {
    right: auto;
    left: calc(50% + 25vw);
  }
  .p-blog-l li a {
    padding-inline: var(--space-xxs);
    display: grid;
    grid-template-columns: clamp(180px, 15vw, 240px) 1fr;
    align-items: center;
    gap: var(--space-xs);
  }
  .p-blog-l-image {
    aspect-ratio: 3/2;
    border-radius: 5px;
  }
}
@media screen and (min-width: 992px) {
  .p-about-inner .copy {
    column-gap: 10px;
  }
  .p-about-result-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
  .p-about-result-list li {
    border-inline-end: 1px solid rgba(0, 0, 0, 0.15);
    border-block-end: 0;
  }
  .p-about__image {
    display: none;
  }
  .p-project {
    height: 100svh;
    min-height: 1080px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    overflow: hidden;
  }
  .p-project-wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .p-project-wrap .inner {
    align-items: start;
    gap: var(--space-xs);
  }
  .p-project-wrap .wrap {
    margin-block-start: 0;
  }
  .p-project-wrap .copy {
    gap: 5px;
  }
  .p-project-wrap .text br {
    display: block;
  }
  .p-project-slider {
    display: none;
  }
  .p-project__image {
    min-height: 100svh;
    display: grid;
    grid-template-columns: repeat(9, 1fr);
    gap: 10px;
    background-color: var(--accent-color);
  }
  .p-project__image .wrap {
    display: flex;
    flex-direction: column;
    gap: 10px;
    list-style: none;
  }
  .p-project__image .wrap ul {
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    list-style: none;
    animation: inline-scroll-y 80s infinite linear 0.5s both;
  }
  .p-project__image .wrap li {
    width: 100%;
    aspect-ratio: 2/3;
    border-radius: 5px;
    overflow: hidden;
  }
  .p-project__image .wrap li img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  .p-project__image .wrap.size-s {
    grid-column: 4/6;
  }
  .p-project__image .wrap.size-s ul {
    animation-duration: 100000ms;
  }
  .p-project__image .wrap.size-m {
    grid-column: 1/4;
  }
  .p-project__image .wrap.size-m ul {
    animation-duration: 200000ms;
  }
  .p-project__image .wrap.size-l {
    grid-column: 6/11;
  }
  .p-project__image .wrap.size-l ul {
    animation-duration: 300000ms;
  }
  .p-career {
    display: grid;
    grid-template-columns: var(--grid-column-guide);
    column-gap: var(--space-xxs);
    row-gap: var(--space-lg);
  }
  .p-career-inner {
    max-width: calc(1800px - var(--contents-inner-padding));
    margin-inline: auto;
    grid-area: 1/2/2/12;
  }
  .p-career-inner .image {
    aspect-ratio: 16/9;
  }
  .p-career-inner .wrap {
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    grid-template-rows: repeat(2, auto);
    column-gap: var(--space-xxs);
    row-gap: var(--space-xs);
  }
  .p-career-inner .wrap .copy {
    grid-area: 1/1/3/5;
  }
  .p-career-inner .wrap p {
    grid-area: 1/6/2/11;
  }
  .p-career-inner .wrap .button {
    grid-area: 2/6/3/11;
    display: flex;
    justify-content: start;
  }
  .p-career-inner .wrap .button .c-button {
    width: auto;
  }
  .p-career-interview {
    grid-area: 2/1/3/13;
  }
  .p-career-interview .p-slider {
    width: 100%;
    max-width: 2000px;
    margin-block: 0;
    margin-inline: auto;
    padding-inline: 0;
    overflow: hidden;
  }
  .p-career-interview .p-slider-list .swiper-container {
    position: relative;
  }
  .p-career-interview .p-slider-list .swiper-slide {
    width: 10rem;
    display: flex;
    flex-direction: column;
    align-items: self-start;
    position: relative;
  }
  .p-career-interview .p-slider .swiper-button-prev {
    right: min(50% + 15vw, 50% + 300px);
  }
  .p-career-interview .p-slider .swiper-button-next {
    left: min(50% + 15vw, 50% + 300px);
  }
  .p-news {
    display: grid;
    grid-template-columns: var(--grid-column-guide);
    gap: var(--space-xxs);
  }
  .p-news .t-section__title {
    grid-area: 1/1/2/7;
  }
  .p-news-l {
    grid-area: 2/1/3/13;
  }
  .p-news .button {
    grid-area: 1/7/2/13;
  }
  .p-blog {
    display: grid;
    grid-template-columns: var(--grid-column-guide);
    grid-template-rows: auto 1fr;
    column-gap: var(--space-xxs);
    row-gap: var(--space-xs);
    align-items: start;
  }
  .p-blog .t-section__title {
    grid-area: 1/1/2/4;
  }
  .p-blog-l {
    grid-area: 1/4/3/13;
  }
  .p-blog .button {
    grid-area: 2/1/3/4;
    justify-content: start;
  }
}

@keyframes inline-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes inline-scroll-y {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-100%);
  }
}
/* --------------------------------- */
/* --------------------------------- */