@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Inter+Tight:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100;200;300;400;500;600;700;800;900&display=swap");
html,
body {
  overscroll-behavior: none; /* バウンドを無効化 */
  -webkit-overflow-scrolling: auto;
}

html {
  font-size: 0.6944444444vw;
  scroll-behavior: smooth;
  scroll-padding-top: 12rem;
}
@media screen and (max-width: 800px) {
  html {
    font-size: min(16px, 2.6666666667vw);
    scroll-padding-top: 4rem;
  }
}

body {
  font-size: 1.62rem;
  color: rgba(21, 21, 21, 0.8);
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  letter-spacing: 0.04em;
  font-weight: 300;
  line-height: 2;
  background: #fff;
  overflow-x: clip;
}
@media screen and (max-width: 800px) {
  body {
    font-size: 1.4rem;
    letter-spacing: 0.04em;
  }
  body::before {
    content: "";
    width: 100%;
    height: 100lvh;
    background-color: rgba(255, 255, 255, 0.9);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    backdrop-filter: blur(0.8rem);
    opacity: 0;
    transition: opacity 0.5s;
    pointer-events: none;
  }
}
body.is-fixed {
  overflow: clip;
}
@media screen and (max-width: 800px) {
  body.is-fixed::before {
    opacity: 1;
  }
}

img {
  width: 100%;
  height: auto;
}

.en {
  font-family: "Inter Tight", sans-serif;
  text-transform: uppercase;
  font-weight: 300;
  letter-spacing: 0.05em;
}
.en.--capitalize {
  text-transform: capitalize;
}

.ja {
  font-family: "Noto Sans JP", serif;
}

.fz14 {
  font-size: 1.4rem;
}

.capitalize {
  text-transform: capitalize;
}

.capitalize .--letter:not(:first-child) {
  text-transform: lowercase;
}

.inner {
  max-width: 121.14rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 800px) {
  .inner {
    max-width: 32.6rem;
  }
}

@media screen and (max-width: 800px) {
  .pc-only {
    display: none;
  }
}

@media screen and (min-width: 801px) {
  .sp-only {
    display: none;
  }
}

@media screen and (max-width: 800px) {
  a {
    touch-action: manipulation;
  }
}

.l-header {
  will-change: transform, backdrop-filter;
  transform: translateZ(0);
  backface-visibility: hidden;
  position: fixed;
  z-index: 99999;
  width: 100%;
  top: 0;
  left: 0;
  line-height: 1;
  transition: backdrop-filter 0.3s ease;
  backdrop-filter: blur(8px);
  background: linear-gradient(to bottom, rgba(21, 21, 21, 0.5) 0%, rgba(21, 21, 21, 0) 50%);
  background-size: 100% 200%;
  background-repeat: no-repeat;
  background-position: top 0% right 0%;
  transition: background-position 0.6s ease;
}
body:has(.subpage-kv-simple) .l-header {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 50%);
}
.l-header.is-active {
  background-position: top 100% right 0%;
}
.l-header.blur {
  backdrop-filter: blur(8px);
}
.l-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2rem 7.2rem 2rem;
}
@media screen and (max-width: 800px) {
  .l-header__inner {
    padding: 1.2rem;
  }
}
.l-header__logo {
  position: relative;
  z-index: 9999;
}
.l-header__logo .--color {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}
body:has(.subpage-kv-simple) .l-header__logo .--color, .l-header.is-active .l-header__logo .--color {
  opacity: 1;
}
.l-header__logo .--white {
  transition: opacity 0.3s;
}
body:has(.subpage-kv-simple) .l-header__logo .--white, .l-header.is-active .l-header__logo .--white {
  opacity: 0;
  pointer-events: none;
}
@media screen and (max-width: 800px) {
  .l-header__logo {
    padding-bottom: 0;
  }
}
.l-header__logo a {
  display: block;
  transition: opacity 0.3s;
}
.l-header__logo a:hover {
  opacity: 0.7;
}
.l-header__logo img {
  width: 21.7638rem;
}
@media screen and (max-width: 800px) {
  .l-header__logo img {
    width: 19.4rem;
  }
}
.l-header__nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3.2rem;
  color: #fff;
}
body:has(.subpage-kv-simple) .l-header__nav {
  color: #151515;
}
@media screen and (max-width: 800px) {
  .l-header__nav {
    color: #151515;
  }
}
@media screen and (max-width: 800px) {
  .l-header__nav {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100svh;
    z-index: 999;
    padding: 10rem 1.6rem 3.6rem;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s, visibility 0.5s;
    gap: 1.6rem;
    pointer-events: none;
  }
}
.l-header__nav__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1.6rem;
  position: relative;
}
@media screen and (max-width: 800px) {
  .l-header__nav__inner {
    width: 100%;
    max-width: 32.6rem;
  }
}
.l-header__nav .sp-only {
  margin-top: 1.6rem;
}
.l-header__nav .sp-only .list-sns {
  margin-bottom: 2.4rem;
}
.l-header__nav__btn__txt {
  font-weight: 600;
}
.l-header__ham {
  display: none;
  overflow: hidden;
}
@media screen and (max-width: 800px) {
  .l-header__ham {
    display: block;
    width: 4rem;
    height: 4rem;
    position: absolute;
    right: 1.2rem;
    top: 1.2rem;
    z-index: 9999;
  }
}
.l-header__ham__line {
  width: 2.4rem;
  height: 0.1rem;
  background-color: #fff;
  display: block;
  position: absolute;
  top: calc(50% - 0.05rem);
  left: calc(50% - 1.2rem);
  transform: rotate(0deg);
  transition: transform 0.3s, background-color 0.3s;
}
body:has(.subpage-kv-simple) .l-header__ham__line {
  background-color: #151515;
}
.l-header__ham__line:nth-of-type(1) {
  transform: translateY(-0.7rem);
}
.l-header.is-active .l-header__ham__line:nth-of-type(1) {
  transform: translateY(0rem) rotate(45deg);
  background-color: #151515;
}
.l-header__ham__line:nth-of-type(2) {
  transition: opacity 0.3s;
}
.l-header.is-active .l-header__ham__line:nth-of-type(2) {
  opacity: 0;
}
.l-header__ham__line:nth-of-type(3) {
  transform: translateY(0.7rem);
}
.l-header.is-active .l-header__ham__line:nth-of-type(3) {
  transform: translateY(0rem) rotate(-45deg);
  background-color: #151515;
}
@media screen and (max-width: 800px) {
  .l-header.is-active {
    backdrop-filter: unset;
    transform: translateY(0) !important;
  }
  .l-header.is-active .l-header__nav {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}

.l-footer {
  position: relative;
  z-index: 2;
}
.l-footer__link {
  overflow: hidden;
  position: relative;
}
.l-footer__inner {
  background-color: #151515;
  color: #fff;
  padding: 12rem 7.2rem 3rem;
  position: relative;
}
@media screen and (max-width: 800px) {
  .l-footer__inner {
    padding: 9.6rem 2.4rem 4rem;
  }
}
.l-footer__inner a {
  color: #fff;
}
.l-footer__inner a.list-box__link--contact {
  color: #151515;
}
.l-footer__flex {
  display: grid;
  grid-template-columns: 51.3rem 1fr;
  padding-bottom: 8rem;
  margin-bottom: 3rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.6);
}
@media screen and (max-width: 800px) {
  .l-footer__flex {
    grid-template-columns: 1fr;
    padding-bottom: 0;
    margin-bottom: 4.8rem;
    gap: 4.2rem;
  }
}
.l-footer__right {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 800px) {
  .l-footer__right {
    display: none;
  }
}
.l-footer__logo {
  width: 26.4rem;
}
@media screen and (max-width: 800px) {
  .l-footer__logo {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }
}
.l-footer__navarea {
  display: flex;
  gap: 4.5rem;
}
@media screen and (max-width: 800px) {
  .l-footer__navarea {
    display: none;
  }
}
.l-footer__side {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
}
@media screen and (max-width: 800px) {
  .l-footer__side {
    align-items: center;
  }
}
@media screen and (max-width: 800px) {
  .l-footer__side .list-box {
    display: none;
  }
}
.l-footer__bottom {
  display: grid;
  grid-template-columns: 51.3rem 1fr;
  align-items: center;
  line-height: 1;
}
@media screen and (max-width: 800px) {
  .l-footer__bottom {
    grid-template-columns: 1fr;
    gap: 3.3rem;
  }
}
@media screen and (max-width: 800px) {
  .l-footer__copyright {
    font-size: 1.6rem;
    order: 2;
    text-align: center;
  }
}
.l-footer__copyright small {
  font-size: 1.4rem;
  font-weight: 300;
  letter-spacing: 0;
  opacity: 0.8;
  text-transform: none;
}
@media screen and (max-width: 800px) {
  .l-footer__copyright small {
    font-size: 1.2rem;
  }
}

.l-main {
  position: relative;
  z-index: 1;
}
.l-main.--bg-gray {
  background-color: #f3f3f3;
}
.l-main__bg {
  position: fixed;
  width: 100vw;
  height: 100lvh;
  min-height: 600px;
  top: 0;
  left: 0;
  z-index: -1;
  overflow: hidden;
  background-color: #171111;
  pointer-events: none;
}
.l-main__bg video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.67;
  pointer-events: none;
  /* 最初から独立した合成レイヤーに昇格させる */
  transform: translateZ(0);
  will-change: transform;
  /* 透明背景バグ回避 */
}

.section-skew {
  margin-top: -7.38rem;
  clip-path: polygon(0 7.2rem, 100% 0, 100% calc(100% - 7.2rem), 0% 100%);
  position: relative;
  z-index: 2;
  padding-top: 18rem;
  padding-bottom: 18rem;
}
@media screen and (max-width: 800px) {
  .section-skew {
    clip-path: polygon(0 4rem, 100% 0, 100% calc(100% - 4rem), 0% 100%);
    margin-top: -4.1rem;
    padding-top: 12rem;
    padding-bottom: 12rem;
  }
}
.section-skew.--bg-white {
  background-color: #fff;
}
.section-skew.--bg-black {
  background-color: #151515;
}
.section-skew.--bg-gray {
  background-color: #f3f3f3;
}
.section-skew.--bg-gray2 {
  background-color: #e8e8e8;
}
.section-skew.--skew-end {
  clip-path: polygon(0 7.2rem, 100% 0, 100% 100%, 0% 100%);
}
@media screen and (max-width: 800px) {
  .section-skew.--skew-end {
    clip-path: polygon(0 4rem, 100% 0, 100% 100%, 0% 100%);
  }
}

.title1 {
  font-size: 7.2rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1;
  position: relative;
  color: #d9d9d9;
}
.title1.--to-white {
  color: #151515;
}
.title1.--center {
  text-align: center;
}
@media screen and (max-width: 800px) {
  .title1 {
    font-size: 3.5rem;
    padding-top: 1.4rem;
  }
}
.title1__line {
  display: none;
}
.title1.--active .title1__line::before {
  width: 100%;
  transition: width 0s;
}
.title1.--active .title1__line::after {
  width: 100%;
  transition: width 0.3s;
}

.title2 {
  font-size: 3.8rem;
  font-weight: 300;
  line-height: 1.5;
  margin-bottom: 2.16rem;
}
@media screen and (max-width: 800px) {
  .title2 {
    font-size: 2.3rem;
    line-height: 1.5;
    margin-bottom: 3.2rem;
  }
}
.title1 + .title2 {
  margin-top: 4.32rem;
}
@media screen and (max-width: 800px) {
  .title1 + .title2 {
    margin-top: 4rem;
  }
}
.title2.--center {
  text-align: center;
}
@media screen and (max-width: 800px) {
  .title2.--sp-left {
    text-align: left;
  }
}
@media screen and (max-width: 800px) {
  .title2.--sp-mb0 {
    margin-bottom: 0 !important;
  }
}

.title3 {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6;
}

.title4 {
  font-size: 2.4rem;
  line-height: 1.6;
}
@media screen and (max-width: 800px) {
  .title4 {
    font-size: 1.7rem;
  }
}

.title5 {
  font-size: 3.2rem;
  letter-spacing: 0;
  line-height: 1;
  margin-bottom: 2.4rem;
  font-weight: 600;
}
@media screen and (max-width: 800px) {
  .title5 {
    margin-bottom: 2.1rem;
  }
}

.title6 {
  font-size: 4rem;
  font-weight: 300;
  line-height: 1.6;
}
@media screen and (max-width: 800px) {
  .title6 {
    font-size: 2.4rem;
    line-height: 1.4;
  }
}

.title7 {
  font-size: 4rem;
  line-height: 1.6;
  font-weight: 500;
  padding-top: 1.8rem;
  position: relative;
}
.title7.en {
  font-size: 6rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
}
@media screen and (max-width: 800px) {
  .title7.en {
    font-size: 4.4rem;
  }
}
.title7::before {
  content: "";
  display: block;
  width: 10.4rem;
  height: 0.2rem;
  background: #17191b;
  background: linear-gradient(90deg, rgb(23, 25, 27) 0%, rgba(175, 184, 193, 0.05) 100%);
  position: absolute;
  left: 0;
  top: 0;
}
@media screen and (max-width: 800px) {
  .title7 {
    font-size: 2.6rem;
    line-height: 1.4;
    padding-top: 1.2rem;
  }
  .title7::before {
    width: 4.8rem;
    height: 0.13rem;
  }
}

.subpage-message {
  padding: 10.8rem 0 18rem;
}
.subpage-message.--narrow {
  padding-top: 1.08rem;
}
@media screen and (max-width: 800px) {
  .subpage-message.--narrow {
    padding-top: 8rem;
  }
}
@media screen and (max-width: 800px) {
  .subpage-message {
    padding: 8rem 0 12rem;
  }
  .subpage-kv-simple + .subpage-message {
    padding-top: 0;
  }
}

.title-line {
  font-size: 3.15rem;
  font-weight: 300;
  line-height: 1.65;
  margin-bottom: 3.6rem;
  padding-left: 3.6rem;
  border-left: 1px solid #c33335;
}
@media screen and (max-width: 800px) {
  .title-line {
    margin-bottom: 3.2rem;
    padding-left: 2.4rem;
    font-size: 2.3rem;
  }
}
* + .title-line {
  margin-top: 10.8rem;
}

.btn1 {
  display: block;
  width: 31.2rem;
  font-size: 2rem;
  padding-bottom: 2.2rem;
  line-height: 1;
  position: relative;
  z-index: 1;
}
.btn1::before, .btn1::after {
  content: "";
  width: 100%;
  height: 0.1rem;
  position: absolute;
  bottom: -0.1rem;
  left: 0;
  z-index: -1;
}
.btn1::before {
  background: #666;
}
.btn1::after {
  background: #c33335;
  z-index: 1;
  transform: scaleX(0);
  transition: transform 0.3s;
  transform-origin: right;
}
@media screen and (max-width: 800px) {
  .btn1 {
    width: 21.7rem;
  }
}
.btn1 .btn-icon {
  position: absolute;
  right: 2.4rem;
  bottom: 2.5rem;
}
@media screen and (max-width: 800px) {
  .btn1 .btn-icon {
    right: 1.6rem;
  }
}
@media screen and (min-width: 801px) {
  .btn1:hover {
    border-color: #c33335;
    background: #c33335;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .btn1:hover::after {
    transform: scaleX(1);
    transform-origin: left;
  }
}

.btn-icon {
  display: block;
  width: 1.1rem;
  height: 1.1rem;
  background: #c33335;
  position: relative;
}
.btn-icon::before, .btn-icon::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
}
.btn-icon::before {
  background-color: #c6c6c6;
  clip-path: polygon(0 0, 50% 50%, 0 100%);
}
.btn-icon::after {
  background-color: #e5e1e1;
  clip-path: polygon(0 100%, 50% 50%, 100% 100%);
}

.btn2 {
  display: block;
  background-color: rgba(255, 255, 255, 0.4);
  border: 0.1rem solid #fff;
  border-radius: 0.1rem;
  position: relative;
  z-index: 1;
  transition: background-color 0.3s, color 0.3s;
}
.btn2::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  background: #c33335;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
  transition: opacity 0.3s;
}
.btn2__more {
  font-size: 1.6rem;
  display: flex;
  align-items: center;
  gap: 1.8rem;
  width: fit-content;
  margin-left: auto;
  margin-right: 0;
  line-height: 1;
}
@media screen and (max-width: 800px) {
  .btn2__more {
    gap: 1.4rem;
  }
}
.btn2__more .btn-icon {
  width: 0.6rem;
  height: 0.6rem;
}
@media screen and (min-width: 801px) {
  .btn2:hover {
    background-color: transparent;
    color: #fff;
  }
  .btn2:hover::before {
    opacity: 1;
  }
  .btn2:hover .btn-icon {
    background: #fff;
  }
}

.btn-cases {
  display: grid;
  grid-template-columns: 20rem 1fr;
  gap: 2.5rem;
  align-items: center;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.4);
  border: 0.1rem solid #fff;
  border-radius: 0.1rem;
  position: relative;
  z-index: 1;
  cursor: pointer;
  transition: opacity 0.3s;
}
.btn-cases .btn-arrow {
  position: absolute;
  bottom: 0.36rem;
  right: 0.36rem;
}
.btn-cases:hover {
  opacity: 0.8;
}
@media screen and (max-width: 800px) {
  .btn-cases {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    padding: 0;
  }
}
@media screen and (max-width: 800px) {
  .btn-cases__img {
    width: 100%;
  }
}
.btn-cases__img img {
  aspect-ratio: 323/181.69;
  object-fit: cover;
  border-radius: 0.1rem;
}
.btn-cases__txt {
  padding: 2.16rem;
  display: flex;
  flex-direction: column;
  gap: 1.08rem;
  background-color: #fff;
  position: relative;
}
@media screen and (max-width: 800px) {
  .btn-cases__txt {
    padding: 2rem;
  }
}
.btn-cases .title3 {
  margin-bottom: 2rem;
}
.btn-cases__more {
  font-size: 1.6rem;
  display: flex;
  align-items: center;
  gap: 1.8rem;
  width: fit-content;
  margin-left: auto;
  margin-right: 0;
  line-height: 1;
  margin-top: 1.6rem;
}
.btn-cases__more .btn-icon {
  width: 0.6rem;
  height: 0.6rem;
}
@media screen and (min-width: 801px) {
  .btn-cases:hover .btn-cases__img img {
    filter: grayscale(0%);
  }
}
@media screen and (min-width: 801px) {
  .btn-cases--pickup {
    grid-template-columns: 43.1rem 1fr;
  }
}
.btn-cases--pickup {
  line-height: 1.6;
  font-size: 1.4rem;
}
@media screen and (max-width: 800px) {
  .btn-cases--pickup {
    font-size: 1.2rem;
  }
}
.btn-cases--pickup .btn-cases__img img {
  height: unset;
  aspect-ratio: 431/242;
  object-fit: cover;
  filter: unset;
}
.btn-cases--pickup .btn-cases__title {
  font-size: 1.8rem;
}
@media screen and (max-width: 800px) {
  .btn-cases--pickup .btn-cases__title {
    font-size: 1.4rem;
  }
}
.btn-cases--pickup .btn-cases__category {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 800px) {
  .btn-cases--pickup .btn-cases__category {
    margin-bottom: 1.2rem;
  }
}
.btn-cases--pickup .btn-cases__more {
  margin-top: 3.6rem;
}
@media screen and (max-width: 800px) {
  .btn-cases--pickup .btn-cases__more {
    margin-top: 1.2rem;
  }
}
.btn-cases--main {
  display: block;
  background-color: #fff;
  gap: 0;
  font-size: 1.4rem;
  line-height: 1.6;
  align-items: flex-start;
}
@media screen and (max-width: 800px) {
  .btn-cases--main {
    gap: 0.8rem;
  }
}
@media screen and (max-width: 800px) {
  .btn-cases:has(.btn-cases__more) {
    padding-bottom: 4.8rem;
  }
  .btn-cases:has(.btn-cases__more) .btn-cases__more {
    position: absolute;
    bottom: 1.6rem;
    right: 1.6rem;
  }
}

.category {
  display: block;
  font-size: 1.17rem;
  line-height: 1;
  padding: 0.54rem;
  width: fit-content;
  background-color: #151515;
  color: #fff;
  font-weight: 300;
}
@media screen and (max-width: 800px) {
  .category {
    padding: 0.5rem;
    font-size: 1.2rem;
  }
}
.category--gray {
  background-color: rgba(21, 21, 21, 0.33);
}

.btn-news {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.4rem 1.6rem;
  background-color: rgba(255, 255, 255, 0.5);
  padding: 2.4rem 3.2rem 2.4rem 2.4rem;
  position: relative;
  transition: background-color 0.3s, border-color 0.3s;
}
.top-news-list .btn-news {
  border-bottom: 1px solid rgba(21, 21, 21, 0.1);
}
.top-news-list .list-news__item:first-child .btn-news {
  border-top: 1px solid rgba(21, 21, 21, 0.1);
}
@media screen and (max-width: 800px) {
  .btn-news {
    padding: 2.4rem 4.6rem 0.8rem 2.4rem;
  }
}
.btn-news .en {
  line-height: 1;
}
.btn-news__title {
  width: 100%;
  font-size: 1.4rem;
  line-height: 1.4;
}
@media screen and (max-width: 800px) {
  .btn-news .category {
    padding: 0.4rem 0.8rem;
  }
}
.btn-news--disabled {
  cursor: not-allowed;
}
.btn-news--disabled::after {
  display: none;
}
.btn-news__blank {
  display: block;
  width: 1.44rem;
  height: 1.44rem;
  position: absolute;
  right: 0.36rem;
  bottom: 0.36rem;
}
.btn-news__blank img {
  display: block;
}
.btn-news .btn-arrow {
  position: absolute;
  bottom: 0.36rem;
  right: 0.36rem;
}

.btn-company {
  height: 47rem;
  padding: 3.2rem 2.4rem 2.4rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: none;
  color: #fff;
  background: unset;
  background-color: transparent;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}
.btn-company::before {
  opacity: 0 !important;
  z-index: -1;
}
@media screen and (max-width: 800px) {
  .btn-company {
    height: 39.6rem;
    padding: 2.4rem;
  }
}
@media screen and (min-width: 801px) {
  .btn-company:hover::before {
    opacity: 1 !important;
  }
  .btn-company:hover .btn-icon {
    background: #c33335;
  }
}

.btn-footerlink {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.6rem;
  height: 36.2rem;
  line-height: 1;
  font-weight: 600;
  position: relative;
  color: #fff;
  transition: color 0.3s;
}
@media screen and (max-width: 800px) {
  .btn-footerlink {
    gap: 1.9rem;
    height: 200px;
  }
}
@media screen and (min-width: 801px) {
  .btn-footerlink:hover::before {
    opacity: 0;
  }
}
.btn-footerlink__inner {
  display: flex;
  align-items: flex-end;
  gap: 2.16rem;
}
@media screen and (max-width: 800px) {
  .btn-footerlink__inner {
    gap: 8px;
  }
}
.btn-footerlink__inner .btn-arrow {
  width: 3.6rem;
  height: 3.6rem;
  bottom: 0.36rem;
  z-index: 10;
}
@media screen and (max-width: 800px) {
  .btn-footerlink__inner .btn-arrow {
    width: 24px;
    height: 24px;
  }
}
a:hover .btn-footerlink__inner .btn-arrow::before, button:hover .btn-footerlink__inner .btn-arrow::before, a:hover .btn-footerlink__inner .btn-arrow::after, button:hover .btn-footerlink__inner .btn-arrow::after {
  transform: translate(3.6rem, 3.6rem);
}
@media screen and (max-width: 800px) {
  a:hover .btn-footerlink__inner .btn-arrow::before, button:hover .btn-footerlink__inner .btn-arrow::before, a:hover .btn-footerlink__inner .btn-arrow::after, button:hover .btn-footerlink__inner .btn-arrow::after {
    transform: translate(24px, 24px);
  }
}
.btn-footerlink__title {
  font-size: 7.2rem;
  letter-spacing: 0;
  position: relative;
  z-index: 2;
  font-weight: 600;
}
@media screen and (max-width: 800px) {
  .btn-footerlink__title {
    font-size: 40px;
  }
}
.btn-footerlink__more {
  font-size: 1.6rem;
  display: flex;
  align-items: center;
  gap: 1.8rem;
  position: relative;
  z-index: 2;
}
.btn-footerlink__more .btn-icon {
  width: 0.6rem;
  height: 0.6rem;
}
body.home .btn-footerlink--recruit {
  display: none;
}
.btn-footerlink--contact {
  position: relative;
  z-index: 5;
}
.btn-footerlink--contact::before {
  background-image: url(../images/common/bg_contact.png);
  background-image: url(../images/common/bg_contact.webp);
}
@media screen and (min-width: 801px) {
  .btn-footerlink--contact:hover {
    color: #151515;
  }
}
.btn-footerlink__base {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
}
.btn-footerlink__base img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.btn-footerlink__base.--hover {
  opacity: 0;
  transition: opacity 0.3s;
}
a:hover ~ .btn-footerlink__base.--hover {
  opacity: 1;
}
.btn-footerlink--recruit + .btn-footerlink__base {
  background-color: #151515;
}
.btn-footerlink--recruit + .btn-footerlink__base img {
  transition: opacity 0.3s;
  opacity: 0.66;
}
.btn-footerlink--recruit:hover + .btn-footerlink__base img {
  opacity: 0.8;
}

.btn-sns {
  display: block;
}
.btn-sns img,
.btn-sns svg {
  display: block;
}
.btn-sns--instagram img,
.btn-sns--instagram svg {
  width: 2.3rem;
}
@media screen and (max-width: 800px) {
  .btn-sns--instagram img,
  .btn-sns--instagram svg {
    width: 2.6rem;
  }
}
.btn-sns--youtube img,
.btn-sns--youtube svg {
  width: 3.2rem;
}
@media screen and (max-width: 800px) {
  .btn-sns--youtube img,
  .btn-sns--youtube svg {
    width: 3.8rem;
  }
}
.btn-sns--note img,
.btn-sns--note svg {
  width: 2.6rem;
}
@media screen and (max-width: 800px) {
  .btn-sns--note img,
  .btn-sns--note svg {
    width: 3.1rem;
  }
}
@media screen and (min-width: 801px) {
  .btn-sns:hover img path,
  .btn-sns:hover img rect,
  .btn-sns:hover svg path,
  .btn-sns:hover svg rect {
    fill: #d527be;
  }
  .btn-sns:hover img circle,
  .btn-sns:hover svg circle {
    stroke: #d527be;
  }
}

.btn-back {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
  padding: 2.4rem;
  border-top: 0.1rem solid #151515;
  border-bottom: 0.1rem solid #151515;
}
@media screen and (min-width: 801px) {
  .btn-back:hover {
    background: #c33335;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}
.btn-back .btn-icon {
  width: 0.6rem;
  height: 0.6rem;
}
@media screen and (max-width: 800px) {
  .btn-back {
    padding: 1.6rem;
  }
}

.btn-map {
  display: flex;
  gap: 0.5em;
  align-items: center;
}
.btn-map .icon {
  display: block;
  width: 1em;
  height: 1em;
}
.btn-map .icon svg,
.btn-map .icon img {
  display: block;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 801px) {
  .btn-map:hover {
    background: #c33335;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .btn-map:hover .icon svg path {
    stroke: #d527be;
  }
  .btn-map:hover .icon svg rect {
    fill: #d527be;
  }
}

.btn-more {
  width: fit-content;
  display: flex;
  gap: 1.8rem;
  align-items: center;
  font-size: 1.6rem;
  line-height: 1;
}
.btn-more .icon {
  display: block;
  width: 0.8rem;
  height: 0.8rem;
}
.btn-more .icon svg {
  display: block;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 801px) {
  .btn-more:hover {
    background: #c33335;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .btn-more:hover .icon svg path {
    stroke: #d527be;
  }
  .btn-more:hover .icon svg rect {
    fill: #d527be;
  }
}

.btn-form {
  display: block;
  width: 31.8rem;
  font-size: 2rem;
  color: #fff;
  background-color: #151515;
  padding: 1.2rem;
  line-height: 1;
  text-align: center;
  border-radius: 0.2rem;
  letter-spacing: 0.05em;
}
.btn-form:hover {
  background: #c33335;
}
.btn-form.disabled {
  cursor: default;
  pointer-events: none;
  opacity: 0.2;
}
.btn-form--back {
  background-color: #999;
}

.btn-links {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.88rem 5.76rem;
}
@media screen and (max-width: 800px) {
  .btn-links {
    grid-template-columns: repeat(1, 1fr);
    gap: 0.8rem;
  }
}
.btn-links__ttl {
  font-size: 2.43rem;
  font-weight: 300;
  line-height: 1.65;
  margin-bottom: 2.88rem;
}
.btn-links__item a {
  display: grid;
  position: relative;
  padding: 2.16rem;
  background-color: #fff;
  gap: 0.18rem;
  line-height: 1.65;
  transition: background-color 0.5s, color 0.5s;
}
@media screen and (max-width: 800px) {
  .btn-links__item a {
    font-size: 1.6rem;
    padding: 2rem;
    gap: 0.2rem;
  }
}
.btn-links__item a:hover {
  background-color: #151515;
  color: #fff;
}
.btn-links__item a:hover .btn-links__en {
  color: rgba(255, 255, 255, 0.66);
}
.btn-links__en {
  font-size: 1.08rem;
  color: rgba(0, 0, 0, 0.66);
  transition: color 0.5s;
}
@media screen and (max-width: 800px) {
  .btn-links__en {
    font-size: 1.1rem;
  }
}
.btn-links .btn-arrow {
  position: absolute;
  bottom: 0.36rem;
  right: 0.36rem;
}

.btn-arrow {
  display: block;
  position: relative;
  width: 1.44rem;
  height: 1.44rem;
  overflow: hidden;
}
.btn-arrow::before, .btn-arrow:after {
  content: "";
  width: 50%;
  height: 50%;
  position: absolute;
  background-color: #c33335;
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  transition: transform 1s cubic-bezier(0.22, 0.895, 0.225, 0.995);
}
a:hover .btn-arrow::before, button:hover .btn-arrow::before, .modal-open:hover .btn-arrow::before, .btn-cases:hover .btn-arrow::before, a:hover .btn-arrow:after, button:hover .btn-arrow:after, .modal-open:hover .btn-arrow:after, .btn-cases:hover .btn-arrow:after {
  transform: translate(1.44rem, 1.44rem);
}
.btn-arrow::before {
  bottom: 0;
  right: 0;
}
.btn-arrow::after {
  bottom: 101%;
  right: 101%;
}

.btn-small {
  display: flex;
}
.btn-small.--right {
  justify-content: flex-end;
}
.btn-small.--left {
  justify-content: flex-start;
}
.btn-small.--center {
  justify-content: center;
}
.btn-small__btn {
  display: flex;
  align-items: flex-end;
  width: fit-content;
  padding: 1.44rem 0;
  gap: 0.72rem;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 800px) {
  .btn-small__btn {
    padding: 1.2rem 0.4rem;
    gap: 0.6rem;
    width: 100%;
  }
  .btn-small.--left .btn-small__btn {
    justify-content: flex-start;
  }
  .btn-small.--center .btn-small__btn {
    justify-content: center;
  }
  .btn-small.--right .btn-small__btn {
    justify-content: flex-end;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .btn-small.--sp-right .btn-small__btn {
    justify-content: flex-end;
  }
}
.btn-small__btn.--reverse {
  flex-direction: row-reverse;
}
.btn-small__btn.--reverse .btn-arrow {
  transform: rotateY(180deg);
}
.--left .btn-small__btn.--reverse {
  justify-content: flex-end;
}
.--right .btn-small__btn.--reverse {
  justify-content: flex-start;
}
.btn-small__btn.--white {
  color: #fff;
}
.btn-small__btn.--black {
  color: #151515;
}
.btn-small__btn.--bg-white {
  background-color: #fff;
}
.btn-small__btn.--bg-black {
  background-color: #151515;
}
.btn-small__txt {
  transition: opacity 0.3s;
}
@media screen and (max-width: 800px) {
  .btn-small__txt {
    font-size: 1.4rem;
  }
}
a:hover .btn-small__txt, button:hover .btn-small__txt {
  opacity: 0.66;
}
.btn-small .btn-arrow {
  bottom: 0.18rem;
}

.btn-pagetop {
  position: fixed;
  bottom: 2.16rem;
  right: 2.16rem;
  z-index: 100;
  width: 5.04rem;
  height: 5.04rem;
  border-radius: 50%;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
  box-shadow: 0 0 2.16rem rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 800px) {
  .btn-pagetop {
    width: 4rem;
    height: 4rem;
    box-shadow: 0 0 1.714rem rgba(0, 0, 0, 0.1);
    bottom: 1.6rem;
    right: 1.6rem;
  }
}
.btn-pagetop.in-footer {
  position: absolute;
  bottom: auto;
  top: 2.16rem;
}
@media screen and (max-width: 800px) {
  .btn-pagetop.in-footer {
    top: 1.6rem;
  }
}
body.is-scrolled .btn-pagetop {
  opacity: 1;
  visibility: visible;
}
.btn-pagetop__inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: white;
  transition: background-color 0.3s;
}
a:hover .btn-pagetop__inner {
  background-color: #ebebeb;
}
.btn-pagetop__arrows {
  width: 0.945rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  overflow: hidden;
}
@media screen and (max-width: 800px) {
  .btn-pagetop__arrows {
    width: 0.75rem;
  }
}
.btn-pagetop__arrows img {
  display: block;
}
.btn-pagetop__arrow {
  display: block;
  position: relative;
  width: 0.945rem;
  transition: transform 0.5s;
}
@media screen and (max-width: 800px) {
  .btn-pagetop__arrow {
    width: 0.75rem;
  }
}
a:hover .btn-pagetop__arrow {
  transform: translateY(-115%);
}
.btn-pagetop__arrow.--duplicate {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transform: translateY(115%);
}
a:hover .btn-pagetop__arrow.--duplicate {
  transform: translateY(0);
}

.btn-rect {
  max-width: 25.2rem;
  height: 4.5rem;
  font-size: 1.8rem;
  letter-spacing: 0.02em;
  font-weight: 600;
  display: grid;
  place-items: center;
  position: relative;
  background-color: rgba(21, 21, 21, 0);
  transition: background-color 0.3s;
  margin-inline: auto;
  border: 0.1rem solid rgba(21, 21, 21, 0.33);
}
@media screen and (max-width: 800px) {
  .btn-rect {
    max-width: 100%;
    height: 3.8rem;
    font-size: 1.4rem;
  }
}
.btn-rect:hover {
  background-color: rgba(21, 21, 21, 0.08);
}
.btn-rect .btn-arrow {
  position: absolute;
  bottom: 0.36rem;
  right: 0.36rem;
}

.list-lang__link {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 1.4rem;
  line-height: 1;
  font-weight: 400;
}
@media screen and (max-width: 800px) {
  .list-lang__link {
    font-size: 1.6rem;
  }
}
.list-lang__link .icon {
  display: block;
  width: 1.1rem;
  height: 1.1rem;
}
@media screen and (max-width: 800px) {
  .list-lang__link .icon {
    width: 1.2rem;
    height: 1.2rem;
  }
}
.list-lang__link .icon img,
.list-lang__link .icon svg {
  width: 100%;
  display: block;
}
.list-lang__link:hover {
  background: #c33335;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.list-lang__link:hover .icon svg path {
  stroke: #c33335;
}

.list-nav {
  display: flex;
  gap: 2.4rem;
}
@media screen and (max-width: 800px) {
  .list-nav {
    flex-direction: column;
    gap: 0;
    width: 100%;
  }
}
.list-nav__item {
  position: relative;
}
@media screen and (max-width: 800px) {
  .list-nav__item {
    padding: 0;
    border-bottom: 0.1rem solid rgba(21, 21, 21, 0.2);
  }
}
.list-nav__item:hover > .list-nav__item__menu .list-menu {
  opacity: 1;
  visibility: visible;
}
@media screen and (min-width: 801px) {
  .list-nav__item:hover > .list-nav__btn .list-nav__btn__txt {
    background: #c33335;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}
@media screen and (min-width: 801px) {
  .list-nav__item:hover > .list-nav__btn .list-nav__btn__arrow {
    transform: rotate(90deg) scale(-1, 1);
    color: #d527be;
  }
}
@media screen and (min-width: 801px) {
  .list-nav__item__menu {
    height: auto !important;
  }
}
@media screen and (max-width: 800px) {
  .list-nav__item__menu {
    height: 0;
    overflow: hidden;
    transition: height 0.3s;
  }
}
@media screen and (min-width: 801px) {
  .list-nav__link:hover {
    background: #c33335;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}
@media screen and (max-width: 800px) {
  .list-nav__link {
    font-size: 1.8rem;
    display: block;
    padding: 1.4rem 0;
    font-weight: 600;
    position: relative;
  }
  .list-nav__link::before {
    content: "";
    width: 1rem;
    height: 1rem;
    display: inline-block;
    border-top: 1px solid #151515;
    border-right: 1px solid #151515;
    transform: translate(-20%, 0%) rotate(45deg);
    position: absolute;
    top: calc(50% - 0.5rem);
    right: 0.3em;
  }
}
.list-nav__btn {
  display: flex;
  align-items: center;
  gap: 0.9657rem;
  cursor: default;
}
@media screen and (max-width: 800px) {
  .list-nav__btn {
    font-size: 2.4rem;
    padding: 1.6rem 0;
    justify-content: space-between;
  }
}
@media screen and (max-width: 800px) {
  .list-nav__btn__txt {
    font-size: 1.8rem;
    line-height: 1.15;
    font-weight: 600;
  }
}
.list-nav__btn__arrow {
  display: block;
  line-height: 1;
  transform: rotate(90deg) translateX(-0.2rem);
  transition: transform 0.3s;
}
@media screen and (max-width: 800px) {
  .list-nav__btn__arrow {
    transform: rotate(90deg) translateX(0.1rem);
  }
}
.list-nav__btn__arrow::before {
  content: "";
  width: 1rem;
  height: 1rem;
  display: inline-block;
  border-top: 1px solid #151515;
  border-right: 1px solid #151515;
  transform: translate(-20%, 0%) rotate(45deg);
}
.list-nav__item:hover .list-nav__btn__arrow::before {
  border-color: #c33335 !important;
}
@media screen and (min-width: 801px) {
  .list-nav__btn__arrow::before {
    width: 0.6705rem;
    height: 0.6705rem;
    border-color: #fff;
  }
  body:has(.subpage-kv-simple) .list-nav__btn__arrow::before {
    border-color: #151515;
  }
}
@media screen and (max-width: 800px) {
  .list-nav__btn.is-active .list-nav__btn__txt {
    background: #c33335;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}
@media screen and (max-width: 800px) {
  .list-nav__btn.is-active .list-nav__btn__arrow {
    transform: rotate(90deg) scale(-1, 1);
    color: #d527be;
  }
}

.list-menu {
  position: absolute;
  border-radius: 0.1rem;
  border: 0.1rem solid #fff;
  background-color: rgba(255, 255, 255, 0.9);
  box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.15);
  padding: 2.16rem;
  white-space: nowrap;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  bottom: -1.44rem;
  left: 0;
  transform: translateY(98%);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}
@media screen and (max-width: 800px) {
  .list-menu {
    position: unset;
    opacity: 1;
    visibility: visible;
    transform: unset;
    padding: 0.8rem 2.4rem 2.4rem;
    background: unset;
    border: unset;
    bottom: 0;
  }
}
.list-menu__link {
  display: block;
  position: relative;
  font-size: 1.53rem;
  text-transform: none;
  color: #151515;
  transition: color 0.3s, opacity 0.3s;
}
.list-menu__link:hover {
  opacity: 0.66;
}
.list-menu__link--large {
  font-size: 1.53rem;
  font-weight: 600;
  text-transform: uppercase;
}
.list-menu__link--large:hover {
  color: #c33335;
  opacity: 1;
}

.list-box {
  display: flex;
  gap: 0.8rem;
}
@media screen and (max-width: 800px) {
  .list-box {
    width: 32.6rem;
    flex-direction: column;
  }
}
@media screen and (max-width: 800px) {
  .list-box__item {
    width: 100%;
  }
}
.list-box__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 13.2rem;
  height: 4.6rem;
  border-radius: 0.1rem;
  border: 0.1rem solid #fff;
  background-color: #fff;
  color: #151515;
  transition: border-color 0.3s, background-color 0.3s, color 0.3s;
  position: relative;
  z-index: 1;
}
body:has(.subpage-kv-simple) header .list-box__link {
  border-color: #151515;
  background-color: #151515;
  color: #fff;
}
body:has(.subpage-kv-simple) header .list-box__link:hover {
  background-color: #c33335;
  border-color: #c33335;
  color: #fff;
}
@media screen and (max-width: 800px) {
  .list-box__link {
    width: 100%;
    font-size: 2rem;
    height: 5rem;
    background-color: #151515;
    color: #fff;
    border-color: #151515;
    font-weight: 500;
  }
}
.list-box__link:hover {
  background-color: #c33335;
  border-color: #c33335;
  color: #fff;
}
.list-box__link--blank {
  background-color: transparent;
  color: #fff;
}
body:has(.subpage-kv-simple) header .list-box__link--blank {
  color: #151515;
  border-color: #151515;
  background-color: transparent;
}
body:has(.subpage-kv-simple) header .list-box__link--blank:hover {
  background-color: transparent;
  border-color: #c33335;
  color: #c33335;
}
@media screen and (max-width: 800px) {
  .list-box__link--blank {
    color: #151515;
    border-color: #151515;
    font-weight: 500;
  }
}
.list-box__link--blank:hover {
  background-color: transparent;
  border-color: #c33335;
  color: #c33335;
}
.list-box--footer {
  flex-direction: column;
}
.list-box--footer .list-box__link {
  width: 18.3rem;
  font-size: 1.8rem;
  font-weight: 600;
}
.list-box--footer .list-box__link__icon {
  right: 0.6rem;
  top: 0.6rem;
}

.list-fnav {
  width: 24rem;
}
.list-fnav.--second {
  margin-top: 4.41rem;
}
.list-fnav__item {
  line-height: 1;
}
.list-fnav__item a {
  display: inline-block;
  transition: color 0.3s, opacity 0.3s;
}
.list-fnav__item a:hover {
  color: #c33335;
  opacity: 1;
}
.list-fnav__item:not(:last-child) {
  margin-bottom: 1.44rem;
}
.list-fnav__item .en {
  font-size: 2.25rem;
  font-weight: 600;
  letter-spacing: 0;
}
.list-fnav__item--parent:not(:first-child) {
  margin-top: 2.16rem;
}
.list-fnav__item--child {
  font-size: 1.26rem;
  font-weight: 400;
  line-height: 1.5;
}
.list-fnav__item--child:not(:last-child) {
  margin-bottom: 0.72rem;
}
.list-fnav__item--child + .list-fnav__item:last-child:not(.list-fnav__item--child) {
  margin-top: 2.4rem;
}
.list-fnav__item--child a {
  opacity: 0.8;
  transition: opacity 0.3s;
}
.list-fnav__item--child a:hover {
  opacity: 0.66;
  color: #fff;
}

.list-fsubnav {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
}
@media screen and (max-width: 800px) {
  .list-fsubnav {
    gap: 1.6rem;
    order: 1;
    flex-direction: column;
    text-align: center;
  }
}
.list-fsubnav__item a {
  font-size: 1.2rem;
  letter-spacing: 0;
  font-weight: 300;
  opacity: 0.8;
  transition: opacity 0.3s;
}
.list-fsubnav__item a:hover {
  opacity: 0.66;
  color: #fff;
}

.list-sns {
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media screen and (max-width: 800px) {
  .list-sns {
    justify-content: center;
    gap: 4rem;
  }
}

.list-other {
  display: flex;
  gap: 1.2rem;
}
@media screen and (max-width: 800px) {
  .list-other {
    flex-direction: column;
    gap: 0.8rem;
  }
}
.list-other__item {
  flex: 1;
}
.list-other__link {
  display: block;
  padding: 2.6rem 2.4rem;
  line-height: 1;
  height: 20rem;
}
@media screen and (max-width: 800px) {
  .list-other__link {
    padding: 2.4rem 2rem;
    height: 11rem;
  }
}
.list-other__link .btn2__more {
  position: absolute;
  bottom: 2.3rem;
  right: 2rem;
}
@media screen and (max-width: 800px) {
  .list-other__link .btn2__more {
    bottom: 1.6rem;
  }
}
.list-other__link:hover .list-other__title__icon svg .hover-white {
  fill: #fff;
}
.list-other__link:hover .list-other__title__icon svg .hover-black {
  fill: #c33335 !important;
}
.list-other__title {
  font-size: 2.4rem;
  display: flex;
  gap: 0.8rem;
  line-height: 1.2;
}
@media screen and (max-width: 800px) {
  .list-other__title {
    font-size: 2rem;
  }
  .list-other__title.sp-small {
    font-size: 1.8rem;
  }
}
.list-other__title__icon {
  display: block;
  width: 2.4rem;
  flex-shrink: 0;
  margin-top: 0.3rem;
}
@media screen and (max-width: 800px) {
  .list-other__title__icon {
    width: 2rem;
    margin-top: 0.1rem;
  }
}
.list-other__title__icon svg {
  display: block;
  width: 2.4rem;
}
@media screen and (max-width: 800px) {
  .list-other__title__icon svg {
    width: 2rem;
  }
}
.list-other__title__icon svg path {
  transition: fill 0.3s;
}
.list-other__title__icon--small {
  margin-top: 0.5rem;
}
@media screen and (max-width: 800px) {
  .list-other__title__icon--small {
    margin-top: 0.4rem;
  }
}

.list-news {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
@media screen and (max-width: 800px) {
  .list-news {
    gap: 0;
  }
}
.list-news__item--none {
  width: 100%;
  height: 21.33rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 2.43rem;
  background-color: rgba(255, 255, 255, 0.5);
  border: 0.1rem solid #fff;
  line-height: 1.5;
}
@media screen and (max-width: 800px) {
  .list-news__item--none {
    height: 25.2rem;
    font-size: 2rem;
  }
}
.list-news:has(.list-cases__item--none) + .pager {
  display: none;
}

@media screen and (min-width: 801px) {
  .list-company {
    display: flex;
    gap: 1.2rem;
    counter-reset: item;
  }
}
@media screen and (min-width: 801px) {
  .list-company__item {
    flex: 1;
  }
}
.list-company__item {
  counter-increment: item;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 0.1rem;
}
.list-company__item .title2 {
  font-weight: 600;
}
.list-company__item .title2::before {
  content: "(" counter(item, decimal-leading-zero) ")";
  display: block;
  font-family: "Inter Tight", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  line-height: 0.9;
  margin-bottom: 0.8rem;
}
.list-company__item:first-child .btn-company {
  background-image: url(/assets/images/top/img_company1.jpg);
  background-image: url(/assets/images/top/img_company1.webp);
}
.list-company__item:first-child .btn-company::before {
  background-image: url(/assets/images/top/img_company1_overlay.png);
  background-image: url(/assets/images/top/img_company1_overlay.webp);
}
.list-company__item:nth-child(2) .btn-company {
  background-image: url(/assets/images/top/img_company2.jpg);
  background-image: url(/assets/images/top/img_company2.webp);
}
.list-company__item:nth-child(2) .btn-company::before {
  background-image: url(/assets/images/top/img_company2_overlay.png);
  background-image: url(/assets/images/top/img_company2_overlay.webp);
}
.list-company__item:last-child .btn-company {
  background-image: url(/assets/images/top/img_company3.jpg);
  background-image: url(/assets/images/top/img_company3.webp);
}
.list-company__item:last-child .btn-company::before {
  background-image: url(/assets/images/top/img_company3_overlay.png);
  background-image: url(/assets/images/top/img_company3_overlay.webp);
}

.list-subpage,
.list-subpage2 {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
.list-subpage__item,
.list-subpage2__item {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
.list-subpage__item a,
.list-subpage2__item a {
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
  color: rgba(21, 21, 21, 0.8);
  transition: opacity 0.3s;
}
.list-subpage__item a:not(.en),
.list-subpage2__item a:not(.en) {
  font-size: 1.4rem;
}
.list-subpage__item a:hover,
.list-subpage2__item a:hover {
  opacity: 0.66;
}
.list-subpage__item.is-current::before,
.list-subpage2__item.is-current::before {
  opacity: 1;
}
.list-subpage__item.is-current a,
.list-subpage2__item.is-current a {
  background: #c33335;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.list-value {
  display: flex;
  flex-direction: column;
  gap: 4.32rem;
  counter-reset: value-list;
  margin-top: 4.32rem;
}
@media screen and (max-width: 800px) {
  .list-value {
    gap: 3.2rem;
  }
}
.list-value__item {
  display: grid;
  grid-template-columns: 8.28rem 1fr;
  counter-increment: value-list;
}
@media screen and (max-width: 800px) {
  .list-value__item {
    grid-template-columns: 5.2rem 1fr;
    padding: 0;
  }
}
.list-value__item::before {
  content: "0" counter(value-list);
  display: block;
  font-family: "Inter Tight", sans-serif;
  font-size: 4.32rem;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.02em;
  color: rgba(21, 21, 21, 0.2);
}
@media screen and (max-width: 800px) {
  .list-value__item::before {
    font-size: 2.7rem;
  }
}
.list-value__title {
  font-size: 3.15rem;
  line-height: 1.5;
  margin-top: -0.25em;
}
@media screen and (max-width: 800px) {
  .list-value__title {
    font-size: 2rem;
    position: relative;
    z-index: 2;
  }
}
.list-value__title.en {
  letter-spacing: 0;
  font-weight: 600;
  line-height: 1;
  text-transform: unset;
  font-size: 2.4rem;
  margin-bottom: 3.2rem;
}
@media screen and (max-width: 800px) {
  .list-value__title.en {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
}
.list-value__title.ja {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.6;
  color: #666;
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 800px) {
  .list-value__title.ja {
    font-size: 1.6rem;
    margin-bottom: 1.2rem;
  }
}
.list-value__txt p {
  margin-top: 0.72rem;
  line-height: 2;
  opacity: 0.8;
}
@media screen and (max-width: 800px) {
  .list-value__txt p {
    margin-top: 0.4rem;
  }
}

.list-related {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem 1.2rem;
}
@media screen and (max-width: 800px) {
  .list-related {
    grid-template-columns: 1fr;
    gap: 2.4rem;
  }
}
.list-related .btn1 {
  width: 100%;
  font-size: 1.6rem;
}

.list-professional {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.2rem 2.61rem;
}
@media screen and (max-width: 800px) {
  .list-professional {
    grid-template-columns: repeat(2, 1fr);
  }
}
.list-professional--column1 {
  grid-template-columns: 1fr;
}
@media screen and (max-width: 800px) {
  .list-professional--column1 .list-professional__img img {
    aspect-ratio: 1/1;
    object-fit: cover;
  }
}
.list-professional--column2 {
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 800px) {
  .list-professional--column2 .list-professional__img img {
    aspect-ratio: 1/1;
    object-fit: cover;
  }
}
.list-professional__img {
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 800px) {
  .list-professional__img {
    margin-bottom: 0.8rem;
  }
}
.list-professional__img img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
}
.list-professional__txt__name {
  font-size: 2.07rem;
  line-height: 1.4;
  font-weight: 300;
}
.category + .list-professional__txt__name {
  margin-top: 0.72rem;
}
@media screen and (max-width: 800px) {
  .category + .list-professional__txt__name {
    margin-top: 0.6rem;
  }
}
@media screen and (max-width: 800px) {
  .list-professional__txt__name {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 800px) {
  .--large .list-professional__txt__name {
    font-size: 2.3rem;
  }
}
.list-professional__txt__name span {
  display: block;
  margin-top: 0.8rem;
  font-size: 1.44rem;
  color: #999;
}
@media screen and (max-width: 800px) {
  .list-professional__txt__name span {
    margin-top: 0.6rem;
    font-size: 1.2rem;
  }
}

.list-search {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 1.44rem;
  font-size: 1.44rem;
}
@media screen and (max-width: 800px) {
  .list-search {
    gap: 0.8rem 1.2rem;
    flex-direction: row;
  }
}
.list-search:has(.list-search__all.is-active) .list-search__label {
  color: rgba(21, 21, 21, 0.8);
}
.list-search__item {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  letter-spacing: 0;
}
.list-search__item:first-child {
  width: 100%;
}
@media screen and (max-width: 800px) {
  .list-search__item {
    min-width: calc((100% - 2.4rem) / 3);
  }
}
.list-search__all, .list-search__label {
  position: relative;
  cursor: pointer;
  padding-left: 3.24rem;
}
@media screen and (max-width: 800px) {
  .list-search__all, .list-search__label {
    padding-left: 2.88rem;
  }
}
@media screen and (min-width: 801px) {
  .list-search__all:hover, .list-search__label:hover {
    opacity: 0.7;
  }
}
.list-search__all::before, .list-search__label::before {
  background: #fff;
  border: 1px solid rgba(21, 21, 21, 0.1);
  content: "";
  display: block;
  height: 1.8rem;
  left: 0.18rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1.8rem;
}
.list-search__all::after, .list-search__label::after {
  border-right: 0.18rem solid #fff;
  border-bottom: 0.18rem solid #fff;
  content: "";
  display: block;
  height: 0.9rem;
  opacity: 0;
  position: absolute;
  left: 1.08rem;
  top: 42%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 0.45rem;
}
.list-search__item:has(.list-search__all.is-active) .list-search__all::after, .list-search__item:has(.list-search__all.is-active) ~ li .list-search__all::after, .list-search__item:has(input:checked) .list-search__all::after, .list-search__item:has(.list-search__all.is-active) .list-search__label::after, .list-search__item:has(.list-search__all.is-active) ~ li .list-search__label::after, .list-search__item:has(input:checked) .list-search__label::after {
  opacity: 1;
}
.list-search__all.is-active::before {
  background-color: #151515;
  border-color: #151515;
}
.list-search__all.is-active::after {
  opacity: 1;
}
.list-search__label input {
  display: none;
}
.list-search__label:has(input:checked)::before {
  background-color: #151515;
  border-color: #151515;
}
.list-search__label:has(input:checked)::after {
  opacity: 1;
}

.list-search-icon {
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  position: relative;
  width: 2.16rem;
  height: 2.16rem;
}
@media screen and (max-width: 800px) {
  .list-search-icon {
    padding-right: 20px;
  }
}
.list-search-icon::before {
  background: #fff;
  border: 1px solid #151515;
  content: "";
  display: block;
  height: 1.8rem;
  left: 0.18rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1.8rem;
}
.list-search__item:has(.list-search__all.is-active) .list-search-icon::before, .list-search__item:has(.list-search__all.is-active) ~ li .list-search-icon::before, .list-search__item:has(input:checked) .list-search-icon::before {
  background-color: #151515;
}
.list-search-icon::after {
  border-right: 0.18rem solid #fff;
  border-bottom: 0.18rem solid #fff;
  content: "";
  display: block;
  height: 0.9rem;
  left: 0.99rem;
  opacity: 0;
  position: absolute;
  left: 50%;
  top: 42%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 0.45rem;
}
.list-search__item:has(.list-search__all.is-active) .list-search-icon::after, .list-search__item:has(.list-search__all.is-active) ~ li .list-search-icon::after, .list-search__item:has(input:checked) .list-search-icon::after {
  opacity: 1;
}

.list-cases {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.4rem;
}
@media screen and (max-width: 800px) {
  .list-cases {
    grid-template-columns: 1fr;
  }
}
.list-cases__item--none {
  grid-column: 1/4;
  height: 21.33rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 2.43rem;
  background-color: rgba(255, 255, 255, 0.5);
  border: 0.1rem solid #fff;
}
@media screen and (max-width: 800px) {
  .list-cases__item--none {
    height: 25.2rem;
    font-size: 2rem;
  }
}
.list-cases:has(.list-cases__item--none) + .pager {
  display: none;
}

.list-history {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  position: relative;
}
@media screen and (max-width: 800px) {
  .list-history {
    gap: 4rem;
  }
}
.list-history::before {
  content: "";
  width: 0.1rem;
  height: 100%;
  background: linear-gradient(to bottom, #151515 95%, transparent);
  position: absolute;
  left: 0.2rem;
  top: 1rem;
}
.list-history__item {
  display: flex;
  gap: 2rem;
  padding-left: 8rem;
  position: relative;
}
@media screen and (max-width: 800px) {
  .list-history__item {
    padding-left: 2.8rem;
    gap: 1.4rem;
  }
}
.list-history__item::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: #151515;
  position: absolute;
  left: 0;
  top: 1rem;
}
.list-history__year {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1;
  flex-shrink: 0;
}
.list-history__contwrap {
  display: flex;
  flex-direction: column;
  gap: 5.2rem;
  padding-top: 0.3rem;
}
@media screen and (max-width: 800px) {
  .list-history__contwrap {
    gap: 2rem;
    padding-top: 0.5rem;
  }
}
.list-history__cont {
  display: flex;
  gap: 4.6rem;
}
@media screen and (max-width: 800px) {
  .list-history__cont {
    gap: 1.8rem;
  }
}
.list-history__date {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1;
  color: #999;
  padding-top: 0.2rem;
  flex-shrink: 0;
}
@media screen and (max-width: 800px) {
  .list-history__date {
    font-size: 1.6rem;
  }
}
.list-history__txt {
  line-height: 1.4;
}

.list-group {
  display: flex;
  flex-direction: column;
  gap: 4.32rem;
}
@media screen and (max-width: 800px) {
  .list-group {
    gap: 2.4rem;
  }
}
.list-group__item {
  padding: 5.76rem;
  background-color: white;
  border: 0.1rem solid #fff;
}
@media screen and (max-width: 800px) {
  .list-group__item {
    padding: 2.4rem;
  }
}

.list-sustainability {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem 2.4rem;
}
@media screen and (max-width: 800px) {
  .list-sustainability {
    grid-template-columns: 1fr;
    gap: 2.4rem;
  }
}
.list-sustainability__link {
  display: block;
  padding: 2.4rem 2.4rem 4.7rem;
  position: relative;
  background-color: rgba(255, 255, 255, 0.3);
  border: 0.1rem solid #fff;
  border-radius: 0.1rem;
  line-height: 1.6;
  height: 100%;
  position: relative;
}
@media screen and (max-width: 800px) {
  .list-sustainability__link {
    padding: 1.6rem 1.6rem 4rem;
  }
}
@media screen and (min-width: 801px) {
  .list-sustainability__link:hover .list-sustainability__item__img img {
    filter: grayscale(0%);
  }
  .list-sustainability__link:hover .btn2__more {
    background: #c33335;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}
.list-sustainability__link .btn2__more {
  line-height: 1;
  position: absolute;
  bottom: 2rem;
  right: 2.4rem;
}
@media screen and (max-width: 800px) {
  .list-sustainability__link .btn2__more {
    bottom: 1.6rem;
    right: 1.6rem;
  }
}
.list-sustainability__item__img {
  margin-bottom: 1.6rem;
  overflow: hidden;
}
.list-sustainability__item__img img {
  aspect-ratio: 240/140;
  object-fit: cover;
  filter: grayscale(100%);
  transition: filter 0.3s;
}
.list-sustainability__item__title {
  font-weight: 500;
  margin-bottom: 1.2rem;
}
@media screen and (max-width: 800px) {
  .list-sustainability__item__title {
    margin-bottom: 0.8rem;
  }
}
.list-sustainability__item__txt p {
  font-size: 1.2rem;
}

.page-sustainability--interview .list-sustainability__item__img {
  background-color: #fff;
}
.page-sustainability--interview .list-sustainability__item__img img {
  object-fit: contain;
}

.list-radio {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  line-height: 1.4;
}

.list-column2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.4rem;
}
.list-column2 .btn-cases__title {
  font-size: 1.6rem;
  line-height: 1.6;
  margin-bottom: 2rem;
}
@media screen and (max-width: 800px) {
  .list-column2 {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
}

.list-column4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.1rem;
}
@media screen and (max-width: 800px) {
  .list-column4 {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
}

.list-introduction {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8.8rem;
}
.list-introduction img {
  width: auto;
  height: 12rem;
  object-fit: contain;
}
@media screen and (max-width: 800px) {
  .list-introduction {
    gap: 1.8rem;
  }
  .list-introduction .salesforce {
    width: 5.4rem;
  }
  .list-introduction .sap {
    width: 6.2rem;
  }
  .list-introduction .aws {
    width: 8.6rem;
  }
  .list-introduction .gcp {
    width: 3.8rem;
  }
  .list-introduction img {
    width: 100%;
    height: auto;
    object-fit: unset;
  }
}

.circle-flow {
  display: flex;
  justify-content: center;
  counter-reset: circle-flow;
  margin-top: 4.32rem;
}
@media screen and (max-width: 800px) {
  .circle-flow {
    margin-top: 4rem;
  }
}
.circle-flow__item {
  counter-increment: circle-flow;
  width: 23.5989rem;
}
@media screen and (max-width: 800px) {
  .circle-flow__item {
    width: 6.33rem;
  }
}
.circle-flow__item:last-child {
  width: 26.7453rem;
}
@media screen and (max-width: 800px) {
  .circle-flow__item:last-child {
    width: 7.37rem;
  }
}
.circle-flow__item__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 26.7453rem;
  height: 26.7453rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 800px) {
  .circle-flow__item__inner {
    width: 7.37rem;
    height: 7.37rem;
  }
}
.circle-flow__item__inner::before {
  content: "0" counter(circle-flow);
  font-family: "Inter Tight", sans-serif;
  font-size: 2.7rem;
  font-weight: 300;
  line-height: 1;
  margin-bottom: 2.3616rem;
  color: rgba(255, 255, 255, 0.5);
}
@media screen and (max-width: 800px) {
  .circle-flow__item__inner::before {
    font-size: 1rem;
    margin-bottom: 0.6rem;
  }
}
.--black .circle-flow__item__inner::before {
  color: rgba(21, 21, 21, 0.33);
}
.circle-flow__item__circle {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  border-radius: 50%;
  border: 0.1rem solid rgba(255, 255, 255, 0.5);
}
@media screen and (max-width: 800px) {
  .circle-flow__item__circle {
    border-width: 0.05rem;
  }
}
.--black .circle-flow__item__circle {
  border-color: rgba(21, 21, 21, 0.66);
}
.circle-flow__ttl-wrap {
  font-size: 2.5569rem;
  line-height: 1.35;
  min-height: 2.7em;
  margin-bottom: 1.44rem;
  display: flex;
  justify-content: center;
  flex-direction: column;
}
@media screen and (max-width: 800px) {
  .circle-flow__ttl-wrap {
    font-size: 0.87rem;
    margin-bottom: 0rem;
    min-height: 4.05em;
  }
}
.circle-flow__txt {
  font-size: 1.2789rem;
  line-height: 1.5;
  min-height: 3em;
}
@media screen and (max-width: 800px) {
  .circle-flow__txt {
    display: none;
  }
}

.category-list {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
}

@keyframes slash {
  0% {
    transform: rotate(-30deg) translateX(0);
  }
  50% {
    transform: rotate(-30deg) translateX(100%);
  }
  51% {
    transform: rotate(-30deg) translateX(-100%);
  }
  100% {
    transform: rotate(-30deg) translateX(0);
  }
}
.about-img-anim svg,
.about-img-anim g,
.about-img-anim path {
  will-change: transform, opacity;
  backface-visibility: hidden;
}
.about-img-anim img,
.about-img-anim svg {
  width: 72.9rem;
  mask-image: linear-gradient(to top, #000 0%, #000 80%, transparent 90%);
}
@media screen and (max-width: 800px) {
  .about-img-anim img,
  .about-img-anim svg {
    width: 32.9rem;
  }
}
.about-img-anim img #num-1,
.about-img-anim img #num-2,
.about-img-anim svg #num-1,
.about-img-anim svg #num-2 {
  opacity: 0;
}
@media screen and (max-width: 800px) {
  .about-img-anim img #num-2,
  .about-img-anim svg #num-2 {
    transform: translateY(11%);
  }
}
.about-img-anim .cls-1,
.about-img-anim .cls-2 {
  fill: none;
}
.about-img-anim .cls-3 {
  fill: #c1c1c1;
}
.about-img-anim .cls-2 {
  opacity: 0.95;
  stroke: red;
  stroke-miterlimit: 10;
  stroke-width: 0.25px;
}
.about-img-anim .cls-4 {
  fill: url(#_gradation_9);
}
.about-img-anim .cls-5 {
  fill: url(#_gradation_6);
}
.about-img-anim .cls-6 {
  fill: url(#_gradation_5);
}
.about-img-anim .cls-7 {
  fill: url(#_gradation_8);
}
.about-img-anim .cls-8 {
  fill: url(#_gradation_7);
}
.about-img-anim .cls-9 {
  clip-path: url(#clippath-11);
}
.about-img-anim .cls-10 {
  clip-path: url(#clippath-10);
}
.about-img-anim .cls-11 {
  clip-path: url(#clippath-1);
}
.about-img-anim .cls-12 {
  clip-path: url(#clippath-3);
}
.about-img-anim .cls-13 {
  clip-path: url(#clippath-4);
}
.about-img-anim .cls-14 {
  clip-path: url(#clippath-2);
}
.about-img-anim .cls-15 {
  clip-path: url(#clippath-7);
}
.about-img-anim .cls-16 {
  clip-path: url(#clippath-6);
}
.about-img-anim .cls-17 {
  clip-path: url(#clippath-9);
}
.about-img-anim .cls-18 {
  clip-path: url(#clippath-8);
}
.about-img-anim .cls-19 {
  clip-path: url(#clippath-5);
}
.about-img-anim .cls-20 {
  fill: url(#_gradation_6-2);
}
.about-img-anim .cls-21 {
  fill: url(#_gradation_6-3);
}
.about-img-anim .cls-22 {
  fill: url(#_gradation_5-2);
}
.about-img-anim .cls-23 {
  fill: url(#_gradation_5-3);
}
.about-img-anim .cls-24 {
  fill: #d6f5f9;
}
.about-img-anim .cls-24-pink {
  fill: #f5d6f9;
}
.about-img-anim .cls-25 {
  opacity: 0.68;
}
.about-img-anim .cls-26 {
  fill: #0c1021;
}
.about-img-anim .cls-27 {
  clip-path: url(#clippath);
}
.about-img-anim .cls-28 {
  fill: #999;
}
.about-img-anim .cls-29 {
  fill: url(#_gradation_14);
}
.about-img-anim .cls-30 {
  fill: url(#_gradation_12);
}
.about-img-anim .cls-31 {
  fill: url(#_gradation_13);
}
.about-img-anim .cls-32 {
  fill: url(#_gradation_18);
}
.about-img-anim .cls-33 {
  fill: url(#_gradation_11);
}
.about-img-anim .cls-34 {
  fill: url(#_gradation_19);
}
.about-img-anim .cls-35 {
  fill: url(#_gradation_16);
}
.about-img-anim .cls-36 {
  fill: url(#_gradation_17);
}
.about-img-anim .cls-37 {
  fill: url(#_gradation_15);
}
.about-img-anim .cls-38 {
  fill: url(#_gradation_23);
}
.about-img-anim .cls-39 {
  fill: url(#_gradation_24);
}
.about-img-anim .cls-40 {
  fill: url(#_gradation_25);
}
.about-img-anim .cls-41 {
  fill: url(#_gradation_20);
}
.about-img-anim .cls-42 {
  fill: url(#_gradation_21);
}
.about-img-anim .cls-43 {
  fill: url(#_gradation_22);
}
.about-img-anim .cls-44 {
  fill: url(#_gradation_26);
}
.about-img-anim .cls-45 {
  fill: url(#_gradation_10);
}
.about-img-anim .cls-4,
.about-img-anim .cls-5,
.about-img-anim .cls-6,
.about-img-anim .cls-7,
.about-img-anim .cls-8,
.about-img-anim .cls-20,
.about-img-anim .cls-21,
.about-img-anim .cls-22,
.about-img-anim .cls-23,
.about-img-anim .cls-24,
.about-img-anim .cls-29,
.about-img-anim .cls-30,
.about-img-anim .cls-31,
.about-img-anim .cls-32,
.about-img-anim .cls-33,
.about-img-anim .cls-34,
.about-img-anim .cls-35,
.about-img-anim .cls-36,
.about-img-anim .cls-37,
.about-img-anim .cls-38,
.about-img-anim .cls-39,
.about-img-anim .cls-41,
.about-img-anim .cls-42,
.about-img-anim .cls-43,
.about-img-anim .cls-45 {
  filter: grayscale(0.5);
}
.about-img-anim #num-1 {
  transform: translate(-6%, 12%);
}
@media screen and (min-width: 801px) {
  .about-img-anim #num-2 {
    transform: translateY(2%);
  }
}

.service-anim {
  overflow: hidden;
  width: 100%;
}
.service-anim svg,
.service-anim g,
.service-anim path:not(#bg_green, #bg_pink1, #bg_pink2, #bg_blue) {
  will-change: stroke-dashoffset, opacity;
  transform: translateZ(0); /* GPUレイヤー化 */
  backface-visibility: hidden;
}
.service-anim #bg_green,
.service-anim #bg_pink1,
.service-anim #bg_pink2,
.service-anim #bg_blue {
  will-change: transform;
}
.service-anim .cls2-1 {
  fill: url(#gradation_4);
}
.service-anim .cls2-2 {
  fill: url(#gradation_3);
}
.service-anim .cls2-3 {
  fill: url(#gradation_2);
}
.service-anim .cls2-4 {
  fill: rgba(255, 255, 255, 0.2);
}
.service-anim .cls2-5 {
  fill: #fafafa;
}
.service-anim .cls2-6 {
  fill: #f7f7f7;
}
.service-anim .cls2-7 {
  fill: none;
  stroke: rgba(255, 255, 255, 0.2);
  stroke-width: 16.46px;
}
.service-anim .cls2-8 {
  fill: url(#gradation);
}
.service-anim .cls2-9 {
  fill: #999;
}
.service-anim .cls2-10 {
  fill: rgba(255, 255, 255, 0.8);
}
.service-anim svg {
  width: 100%;
}
.service-anim svg #logo,
.service-anim svg #service1,
.service-anim svg #service2,
.service-anim svg #service3,
.service-anim svg #service4,
.service-anim svg #service5,
.service-anim svg #service6,
.service-anim svg #service7,
.service-anim svg #service8 {
  opacity: 0;
}
.service-anim svg #loop {
  position: relative;
  z-index: 2;
}
.service-anim svg #line-pink,
.service-anim svg #line-white,
.service-anim svg #line-loop-pink,
.service-anim svg #line-loop-white {
  stroke-dasharray: 2000;
  stroke-dashoffset: 2000;
  stroke-linecap: round;
  stroke-linejoin: round;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 800px) {
  .service-anim {
    width: calc(100% + 3.2rem);
    margin: 0 -1.6rem;
  }
}

.slider-infinite {
  position: relative;
  margin-top: 7.2rem;
}
.slider-infinite__slider {
  width: 100%;
}
.slider-infinite__slider .swiper-wrapper {
  transition-timing-function: linear;
}
.slider-infinite__item {
  padding-right: 3.87rem;
}

.breadcrumbs {
  display: flex;
  gap: 0.72rem;
  align-items: center;
  font-family: "Inter Tight", "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1;
  font-size: 1.4rem;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0;
  position: relative;
  z-index: 10;
}
.breadcrumbs__item {
  display: flex;
  align-items: center;
  gap: 0.72rem;
}
.breadcrumbs__item:not(:first-child)::before {
  content: "";
  display: block;
  width: 1.08rem;
  height: 1.08rem;
  background-image: url(/assets/images/common/chev-right.svg);
  background-size: 1.08rem;
  background-repeat: no-repeat;
  background-position: center center;
}

.gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 7.2rem;
  gap: 3.6rem;
}
@media screen and (max-width: 800px) {
  .gallery {
    grid-template-columns: repeat(1, 1fr);
    gap: 1.8rem;
  }
}

.p-top__bg {
  will-change: clip-path;
  transform: translateZ(0);
  backface-visibility: hidden;
  z-index: 1;
}

.top-wrapper {
  position: relative;
  z-index: 2;
}

.top-kv {
  height: auto;
  color: #fff;
  padding-top: clamp(2.7rem + 120px * 0.8823, 2.7rem + 17.6470588235vh, 2.7rem + 120px * 2);
  padding-bottom: clamp(0rem + 56px * 0.8823, 0rem + 8.2352941176vh, 0rem + 56px * 2);
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  text-align: center;
}
@media screen and (max-width: 800px) {
  .top-kv {
    padding-top: 16rem;
    padding-bottom: 7rem;
  }
}
.top-kv__ttl {
  font-size: 9.63rem;
  line-height: 1;
  letter-spacing: 0.02em;
  font-weight: 100;
  font-weight: 200;
  font-weight: 300;
}
@media screen and (max-width: 800px) {
  .top-kv__ttl {
    font-size: 3.8rem;
  }
}
.top-kv__ttl--line {
  display: block;
}
.top-kv__ttl .--strong {
  font-weight: 600;
}
@media screen and (max-width: 800px) {
  .top-kv__ttl .--strong {
    transform: scaleX(0.93);
  }
}
.top-kv__catch {
  font-size: 2.88rem;
  line-height: 1.6;
  margin-top: 3.6rem;
}
@media screen and (max-width: 800px) {
  .top-kv__catch {
    font-size: 2rem;
    margin-top: 4rem;
  }
}
.top-kv__txt {
  font-size: 1.62rem;
  line-height: 2;
  margin-top: 1.44rem;
}
@media screen and (max-width: 800px) {
  .top-kv__txt {
    font-size: 1.4rem;
    margin-top: 1.6rem;
  }
}

.top-who {
  position: relative;
  z-index: 2;
  padding-top: 18rem;
  padding-bottom: 21.6rem;
  clip-path: polygon(0 0, 50% 18rem, 100% 0, 100% calc(100% - 10.8rem), 0 100%);
  background-color: rgba(255, 255, 255, 0.92);
}
@media screen and (max-width: 800px) {
  .top-who {
    padding-top: 7rem;
    padding-bottom: 12rem;
    clip-path: polygon(0 0, 50% 7rem, 100% 0, 100% calc(100% - 4rem), 0 100%);
  }
}
.top-who__bg {
  margin-top: -1px;
  padding-top: 10.8rem;
}
@media screen and (max-width: 800px) {
  .top-who__bg {
    padding-top: 8rem;
  }
}
.top-who__desc {
  margin-top: 4.32rem;
  font-size: 1.8rem;
  text-align: center;
  margin-bottom: 7.2rem;
}
@media screen and (max-width: 800px) {
  .top-who__desc {
    margin-top: 2.4rem;
    font-size: 1.6rem;
    margin-bottom: 6.4rem;
    text-align: left;
  }
}

.top-about {
  position: relative;
  z-index: 2;
  margin-top: -10.8rem;
  padding-top: 10.8rem;
  padding-bottom: 10.8rem;
  background-color: rgba(21, 21, 21, 0.2);
  backdrop-filter: blur(0.72rem);
  clip-path: polygon(0 10.8rem, 100% 0, 100% calc(100% - 7.2rem), 0% 100%);
  color: #fff;
}
@media screen and (max-width: 800px) {
  .top-about {
    padding-top: 4rem;
    padding-bottom: 4rem;
    margin-top: -4rem;
    clip-path: polygon(0 4rem, 100% 0, 100% calc(100% - 4rem), 0% 100%);
  }
}
.top-about__inner {
  padding-top: 10.8rem;
  padding-bottom: 7.2rem;
  border-radius: 1.08rem;
  padding: 10.8rem;
}
@media screen and (max-width: 800px) {
  .top-about__inner {
    padding: 8rem 2.4rem;
  }
}
.top-about__subttl {
  margin-top: 5.76rem;
  font-size: 2.43rem;
  line-height: 1.5;
  font-weight: 300;
}
@media screen and (max-width: 800px) {
  .top-about__subttl {
    font-size: 1.8rem;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 800px) {
  .top-about__txt {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 800px) {
  .top-service {
    padding: 10rem 0;
  }
}
.top-service .inner {
  position: relative;
  z-index: 2;
}
.top-service .title1 {
  margin-bottom: 4.8rem;
}
@media screen and (max-width: 800px) {
  .top-service .title1 {
    margin-bottom: 4.8rem;
  }
}
.top-service .title2 {
  margin-bottom: 3.2rem;
}
@media screen and (max-width: 800px) {
  .top-service .title2 {
    margin-bottom: 2.4rem;
  }
}
@media screen and (min-width: 801px) {
  .top-service__txt {
    max-width: 51.6rem;
    display: flex;
    flex-direction: column;
    gap: 1.2em;
  }
}
.top-service .btn1 {
  margin-top: 4.8rem;
}
@media screen and (max-width: 800px) {
  .top-service .btn1 {
    margin-top: 4rem;
  }
}
.top-service__img {
  position: relative;
  transition: opacity 0.3s;
}
.top-service__img:not(.is-initialized) {
  opacity: 0;
}
@media (prefers-reduced-motion: reduce) {
  .top-service__img:not(.is-initialized) {
    opacity: 1;
  }
}
@media screen and (min-width: 801px) {
  .top-service__img {
    width: 59.04rem !important;
    position: absolute;
    left: 65.34rem;
    top: 0;
  }
}
.top-service__img img:not(:first-child) {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}
.top-service__img-1 {
  position: relative;
  z-index: 100;
}
.top-service__img-2 {
  z-index: 1;
}
.top-service__img-3 {
  z-index: 20;
}
.top-service__img-4 {
  z-index: 10;
}
.top-service__label {
  position: absolute;
  z-index: 30;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #fff;
  pointer-events: none;
  width: 18rem;
}
@media screen and (max-width: 800px) {
  .top-service__label {
    width: 28%;
  }
}
.top-service__label__caption {
  display: block;
  font-size: 1.26rem;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 2.16rem;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
@media screen and (max-width: 800px) {
  .top-service__label__caption {
    font-size: 1rem;
    margin-bottom: 1rem;
  }
}
.top-service__label__main {
  display: block;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 800px) {
  .top-service__label__main {
    font-size: 1.3rem;
  }
}
.top-service__label--top {
  left: 62.81%;
  top: 18.56%;
}
.top-service__label--right {
  left: 71.1%;
  top: 75.41%;
}
.top-service__label--left {
  left: 17.54%;
  top: 56.77%;
}
.top-service__link {
  margin-top: 10.71rem;
}
@media screen and (max-width: 800px) {
  .top-service__link {
    margin-top: 4rem;
  }
}

.top-case-study__link {
  margin-top: 4.32rem;
}

.top-case-study-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5.76rem;
}
@media screen and (max-width: 800px) {
  .top-case-study-cards {
    grid-template-columns: repeat(1, 1fr);
    gap: 2.4rem;
  }
}
.top-case-study-cards__btn {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.top-case-study-cards__img img {
  object-fit: cover;
  aspect-ratio: 406/228.38;
  transition: opacity 0.3s;
}
a:hover .top-case-study-cards__img img, button:hover .top-case-study-cards__img img {
  opacity: 0.8;
}
.top-case-study-cards__txt {
  padding: 2.88rem;
  background-color: #fff;
  position: relative;
  transition: opacity 0.3s;
  flex-grow: 1;
}
a:hover .top-case-study-cards__txt, button:hover .top-case-study-cards__txt {
  opacity: 0.8;
}
@media screen and (max-width: 800px) {
  .top-case-study-cards__txt {
    padding: 2rem;
  }
}
.top-case-study-cards__txt .btn-arrow {
  position: absolute;
  bottom: 0.36rem;
  right: 0.36rem;
}
.top-case-study-cards__title {
  font-size: 1.62rem;
  line-height: 1.85;
  margin-top: 1.08rem;
}
@media screen and (max-width: 800px) {
  .top-case-study-cards__title {
    font-size: 1.4rem;
    margin-top: 0.8rem;
  }
}

.top-bgwrap {
  background: #fdfeff;
  background: linear-gradient(110deg, rgb(253, 254, 255) 11%, rgb(211, 218, 222) 100%);
  position: relative;
  z-index: 1;
  clip-path: polygon(0 8rem, 100% 0, 100% 100%, 0% 100%);
}
@media screen and (max-width: 800px) {
  .top-bgwrap {
    background: transparent !important;
    clip-path: polygon(0 2rem, 100% 0, 100% 100%, 0% 100%);
  }
}
.top-bgwrap::before {
  content: "";
  width: 184.6rem;
  height: 184.6rem;
  border-radius: 50%;
  background: #ffffff;
  background: radial-gradient(48.07% 48.07% at 50% 50%, rgba(162, 187, 200, 0.5) 0%, rgba(217, 217, 217, 0) 100%);
  position: absolute;
  left: -56.9rem;
  top: 0;
  transform: translateY(-50%);
  pointer-events: none;
}
@media screen and (max-width: 800px) {
  .top-bgwrap::before {
    display: none;
  }
}
.top-bgwrap section {
  position: relative;
  z-index: 1;
}

.top-cases {
  padding: 21rem 0 16rem;
}
@media screen and (max-width: 800px) {
  .top-cases {
    padding: 10rem 0 6.7rem;
  }
}
.top-cases .title1 {
  margin-bottom: 4.8rem;
}
@media screen and (max-width: 800px) {
  .top-cases .title1 {
    margin-bottom: 4.1rem;
  }
}
.top-cases .title1::after {
  left: 0.8rem;
}
@media screen and (max-width: 800px) {
  .top-cases .title1::after {
    left: 4.6rem;
  }
}
@media screen and (min-width: 801px) {
  .top-cases__box .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.4rem;
    margin-bottom: 6.4rem;
  }
}
@media screen and (min-width: 801px) {
  .top-cases__box .swiper__controller {
    display: none !important;
  }
}
@media screen and (max-width: 800px) {
  .top-cases__box {
    margin: 0 -3.2rem;
    padding-right: 1.6rem;
    padding-left: 3.2rem;
  }
  .top-cases__box .swiper-slide {
    height: auto;
    padding-right: 1.6rem;
  }
  .top-cases__box .swiper-slide .btn-cases {
    height: 100%;
  }
}
.top-cases__item--pickup {
  grid-row: 1/3;
}
.top-cases__item--pickup .btn-cases {
  display: block;
  padding: 2.4rem 2.4rem 2.6rem;
  height: 100%;
}
.top-cases__item--pickup .btn-cases .btn-cases__img {
  margin-bottom: 1.6rem;
}
.top-cases__item--pickup .btn-cases .btn-cases__img img {
  width: 100%;
  height: 30.3rem;
  object-fit: cover;
  border-radius: 0.1rem;
}
.top-cases__item--pickup .btn-cases .title3 {
  margin-bottom: 1.1rem;
}
.top-cases__item--pickup .btn-cases .category {
  margin-bottom: 1.1rem;
}
@media screen and (min-width: 801px) {
  .top-cases .btn1 {
    margin-left: auto;
    margin-right: 0;
  }
}
@media screen and (max-width: 800px) {
  .top-cases .btn1 {
    margin-top: 4rem;
  }
}

.top-news__inner {
  display: grid;
  grid-template-columns: 43.2rem 1fr;
}
@media screen and (max-width: 800px) {
  .top-news__inner {
    grid-template-columns: 1fr;
  }
}
.top-news__link {
  margin-top: 4.32rem;
}

.top-recruit__inner {
  display: grid;
  grid-template-columns: 43.2rem 1fr;
}
@media screen and (max-width: 800px) {
  .top-recruit__inner {
    grid-template-columns: 1fr;
  }
}
.top-recruit__right .title2 {
  margin-bottom: 3.6rem;
}
.top-recruit__link {
  margin-top: 4.32rem;
}

.top-company {
  padding: 14rem 0 15rem;
  background: url(../images/common/bg.jpg) no-repeat center top/100% 100%;
}
@media screen and (max-width: 800px) {
  .top-company {
    padding: 8rem 0;
  }
}
.top-company .title1 {
  margin-bottom: 4.8rem;
}
.top-company .title1::after {
  left: 3.2rem;
}
@media screen and (min-width: 801px) {
  .top-company__controller {
    display: none;
  }
}
.top-company__controller {
  margin-bottom: 2.4rem;
}
.top-company__controller .swiper__scrollbar {
  width: calc(100% - 1.6rem);
}
.top-company__controller .swiper__pagination {
  width: calc(100% - 1.6rem);
  display: flex;
  justify-content: space-between;
}
.top-company__controller .swiper__pagination .swiper-pagination-bullet {
  width: auto;
  height: auto;
  background-color: transparent;
  display: block;
  line-height: 1.2;
  margin-bottom: 1.4rem;
}
.top-company__controller .swiper__pagination .swiper-pagination-bullet::before {
  display: block;
}
.top-company__controller .swiper__pagination .swiper-pagination-bullet:first-child::before {
  content: "会社概要";
}
.top-company__controller .swiper__pagination .swiper-pagination-bullet:nth-child(2)::before {
  content: "グループ会社";
}
.top-company__controller .swiper__pagination .swiper-pagination-bullet:nth-child(3)::before {
  content: "サステナビリティ";
}
@media screen and (max-width: 800px) {
  .top-company__box {
    margin: 0 -3.2rem;
    padding-right: 1.6rem;
    padding-left: 3.2rem;
  }
  .top-company__box .swiper-wrapper .list-company__item {
    padding-right: 1.6rem;
  }
}

.subpage .title2 {
  margin-bottom: 4.32rem;
}
@media screen and (max-width: 800px) {
  .subpage .title2 {
    margin-bottom: 3.2rem;
  }
}
@media screen and (max-width: 800px) {
  .subpage {
    margin-bottom: 0;
  }
}
.subpage__titlearea {
  padding-top: 21.2rem;
  margin-bottom: 13.7rem;
}
@media screen and (max-width: 800px) {
  .subpage__titlearea {
    padding-top: 10.2rem;
    margin-bottom: 4rem;
  }
}
.subpage__titlearea .breadcrumbs {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
  font-family: "Barlow Condensed", "Noto Serif JP", sans-serif;
  font-weight: 500;
  line-height: 1;
  font-size: 1.4rem;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 0;
}
@media screen and (max-width: 800px) {
  .subpage__titlearea .breadcrumbs {
    justify-content: flex-start;
    flex-wrap: wrap;
    font-size: 1.2rem;
    gap: 0.6rem;
  }
}
.subpage__titlearea .breadcrumbs__item:not(:first-child) {
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media screen and (max-width: 800px) {
  .subpage__titlearea .breadcrumbs__item:not(:first-child) {
    gap: 0.6rem;
  }
}
.subpage__titlearea .breadcrumbs__item:not(:first-child)::before {
  content: "";
  display: block;
  width: 1.5rem;
  height: 0.1rem;
  background: #666;
  flex-shrink: 0;
}
@media screen and (max-width: 800px) {
  .subpage__titlearea .breadcrumbs__item:not(:first-child)::before {
    width: 0.8rem;
  }
}
.subpage__titlearea .breadcrumbs__item:last-child a {
  pointer-events: none;
}
.subpage__titlearea .breadcrumbs__link.ja {
  font-size: 1.2rem;
}
@media screen and (max-width: 800px) {
  .subpage__titlearea .breadcrumbs__link.ja {
    font-size: 1.1rem;
  }
}
.subpage__titlearea .breadcrumbs__link:hover {
  background: #c33335;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.subpage__titlearea:has(> .ja) {
  padding-bottom: 4rem;
  border-bottom: 1px solid #151515;
}
@media screen and (max-width: 800px) {
  .subpage__titlearea:has(> .ja) {
    padding-bottom: 2.4rem;
    margin-bottom: 5.6rem;
  }
}
.subpage__title {
  position: relative;
  width: fit-content;
}
.subpage__title::after {
  content: "";
  width: 28.8rem;
  height: 28.8rem;
  border-radius: 50%;
  background: #ffffff;
  background: radial-gradient(circle, rgb(255, 255, 255) 0%, rgba(32, 48, 120, 0.5) 81%, rgba(0, 0, 0, 0) 100%);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  mix-blend-mode: screen;
  filter: blur(5rem);
  opacity: 0.6;
  pointer-events: none;
}
@media screen and (max-width: 800px) {
  .subpage__title::after {
    width: 20.4rem;
    height: 20.4rem;
  }
}
.subpage__title.en {
  font-size: 10rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
  position: relative;
  width: fit-content;
  color: #ddd;
  margin-bottom: 1.7rem;
}
@media screen and (max-width: 800px) {
  .subpage__title.en {
    font-size: 6rem;
    margin-bottom: 2.4rem;
  }
}
.subpage__title.ja {
  font-size: 4.8rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  margin-bottom: 1rem;
}
@media screen and (max-width: 800px) {
  .subpage__title.ja {
    font-size: 3.2rem;
    margin-bottom: 2.4rem;
  }
}
.subpage__title.ja::after {
  width: 13rem;
  height: 13rem;
  left: 2em;
  opacity: 1;
}
@media screen and (max-width: 800px) {
  .subpage__title.ja::after {
    width: 11rem;
    height: 11rem;
  }
}
.subpage__txtarea {
  margin-top: 6.4rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  line-height: 1.8;
}
@media screen and (max-width: 800px) {
  .subpage__txtarea {
    flex-direction: column;
    gap: 2.4rem;
    align-items: unset;
    margin-top: 0;
    font-size: 1.4rem;
  }
}
.subpage__txt + .subpage__txt {
  margin-top: 2.88rem;
}
.subpage__txt.--center {
  text-align: center;
}
@media screen and (max-width: 800px) {
  .subpage__txt.--sp-left {
    text-align: left;
  }
}
@media screen and (max-width: 800px) {
  .subpage__txt.--sp-large {
    font-size: 1.6rem;
  }
}
.subpage__section {
  padding: 18rem 0 14.4rem;
}
@media screen and (max-width: 800px) {
  .subpage__section {
    padding: 12rem 0 12rem;
  }
}
.subpage__links {
  margin-top: 10.8rem;
}
@media screen and (max-width: 800px) {
  .subpage__links {
    margin-top: 6.4rem;
  }
}

.subpage-content {
  padding-top: 10.8rem;
  padding-bottom: 18rem;
}
@media screen and (max-width: 800px) {
  .subpage-content {
    padding-bottom: 12rem;
  }
  .subpage-kv-simple + .subpage-content {
    padding-top: 0;
  }
}
@media screen and (min-width: 801px) {
  .subpage-content:not(.--col) .inner {
    display: flex;
    gap: 4.8rem;
  }
}
.page-cases .subpage-content__side {
  display: none !important;
}
@media screen and (min-width: 801px) {
  .subpage-content__side {
    width: 24rem;
    flex-shrink: 0;
  }
  .subpage-content__side__inner {
    position: sticky;
    top: 12rem;
    min-height: 50vh;
  }
}
@media screen and (max-width: 800px) {
  .subpage-content__side {
    display: none;
  }
}
.subpage-content__side__ttl {
  font-size: 1.62rem;
  line-height: 1.65;
  padding-bottom: 0.72rem;
  border-bottom: 1px solid #151515;
  margin-bottom: 3.6rem;
}
@media screen and (max-width: 800px) {
  .subpage-content__side__ttl {
    font-size: 1.6rem;
    margin-bottom: 2.4rem;
  }
}
.subpage-content__main {
  width: 100%;
}

.subpage-related {
  margin-top: 16rem;
}
@media screen and (max-width: 800px) {
  .subpage-related {
    margin-top: 8rem;
  }
}
.subpage-related .title5 {
  margin-bottom: 5.6rem;
}
@media screen and (max-width: 800px) {
  .subpage-related .title5 {
    margin-bottom: 4.4rem;
  }
}

.subpage-kv {
  width: 100%;
  height: 54.81rem;
  position: relative;
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 18rem), 50% 100%, 0 calc(100% - 18rem));
  padding-top: 12.6rem;
}
@media screen and (max-width: 800px) {
  .subpage-kv {
    padding-top: 10rem;
    height: auto;
    padding-bottom: 12rem;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 6.3rem), 50% 100%, 0 calc(100% - 6.3rem));
  }
}
.subpage-kv .inner {
  position: relative;
}
.subpage-kv::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.page-about .subpage-kv, .page-philosophy .subpage-kv, .page-message .subpage-kv {
  background-image: url(../images/philosophy/title-bg.png);
}
.page-professional .subpage-kv {
  background-image: url(../images/professional/title-bg.png);
}
.page-cases .subpage-kv {
  background-image: url(../images/cases/title-bg.png);
}
.page-news .subpage-kv, .page-detail .subpage-kv {
  background-image: url(../images/news/title-bg.png);
}
@media screen and (max-width: 800px) {
  .page-news .subpage-kv, .page-detail .subpage-kv {
    background-image: url(../images/news/title-bg-sp.png);
  }
}
.page-company .subpage-kv, .page-group .subpage-kv {
  background-image: url(../images/profile/title-bg.png);
}
.page-service .subpage-kv, .page-challenge .subpage-kv, .page-ai .subpage-kv, .page-capability .subpage-kv {
  background-image: url(../images/service/title-bg.png);
}
@media screen and (max-width: 800px) {
  .page-service .subpage-kv, .page-challenge .subpage-kv, .page-ai .subpage-kv, .page-capability .subpage-kv {
    background-image: url(../images/service/title-bg-sp.png);
  }
}
.page-recruit .subpage-kv {
  background-image: url(../images/recruit/title-bg.png);
  background-position: center 40%;
}
@media screen and (max-width: 800px) {
  .page-recruit .subpage-kv {
    background-image: url(../images/recruit/title-bg-sp.png);
  }
}
.subpage-kv.--bg-center {
  background-position: center center;
}
.subpage-kv__ttl {
  position: relative;
  z-index: 10;
  font-weight: 600;
  margin-top: 7.2rem;
  font-size: 9.63rem;
  line-height: 1;
  letter-spacing: 0.02em;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 800px) {
  .subpage-kv__ttl {
    margin-top: 4.8rem;
    font-size: 4.6rem;
  }
}

.subpage-kv-simple {
  height: auto;
  min-height: 0;
  clip-path: none;
  padding: 12.6rem 0 0;
  background-color: #f3f3f3;
  background-image: none;
  margin-bottom: 10.8rem;
}
.subpage-kv-simple.--bg-white {
  background-color: #fff;
}
@media screen and (max-width: 800px) {
  .subpage-kv-simple {
    padding: 10rem 0 0;
    margin-bottom: 6.4rem;
  }
}
.subpage-kv-simple::before {
  display: none;
}
.subpage-kv-simple .inner {
  position: relative;
  z-index: 1;
}
.subpage-kv-simple .breadcrumbs {
  justify-content: flex-start;
  color: #666;
}
.subpage-kv-simple .breadcrumbs__item:not(:first-child)::before {
  background-image: url(/assets/images/common/chev-right-black.svg);
}
.subpage-kv-simple .subpage-kv__ttl {
  margin-top: 9rem;
  position: relative;
  z-index: 2;
  font-size: 4.32rem;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.02em;
  color: #151515;
  text-align: left;
  width: 100%;
  max-width: none;
}
@media screen and (max-width: 800px) {
  .subpage-kv-simple .subpage-kv__ttl {
    font-size: 3.8rem;
    margin-top: 4.8rem;
  }
  .subpage-kv-simple .subpage-kv__ttl.en {
    font-size: 4.6rem;
  }
}
.subpage-kv-simple .subpage-kv__ttl.ja {
  font-family: "Noto Sans JP", sans-serif;
}

@media screen and (min-width: 801px) {
  .page-about .subpage__titlearea {
    margin-bottom: 7.9rem;
  }
}
.page-about .subpage__title.en::after {
  left: auto;
  right: 0;
}

.about-content__desc {
  width: fit-content;
  margin: 0 0 24.4rem auto;
}
@media screen and (max-width: 800px) {
  .about-content__desc {
    width: 100%;
    margin-bottom: 8rem;
  }
}
.about-content__desc p {
  font-size: 2rem;
  font-weight: 300;
  line-height: 1.6;
}
@media screen and (max-width: 800px) {
  .about-content__desc p {
    font-size: 1.6rem;
  }
}
.about-content__flex {
  position: relative;
}
@media screen and (min-width: 801px) {
  .about-content__flex {
    display: flex;
  }
}
@media screen and (max-width: 800px) {
  .about-content__flex {
    margin-bottom: 6rem;
  }
}
.about-content__txt {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 801px) {
  .about-content__txt {
    width: 51.6rem;
    padding: 9.6rem 0 12rem;
  }
}
.about-content__txt .title2 {
  margin-bottom: 5.6rem;
}
@media screen and (max-width: 800px) {
  .about-content__txt .title2 {
    margin-bottom: 38.2rem;
  }
}
.about-content__txt .title4 {
  margin-bottom: 2.8rem;
}
@media screen and (max-width: 800px) {
  .about-content__txt .title4 {
    margin-bottom: 2.4rem;
  }
}
.about-content__txtwrap {
  display: flex;
  flex-direction: column;
  gap: 12rem;
}
@media screen and (max-width: 800px) {
  .about-content__txtwrap {
    gap: 6rem;
  }
}
@media screen and (min-width: 801px) {
  .about-content__img {
    width: 72.8rem;
    margin-left: -4.6rem;
  }
  .about-content__img .about-img-anim {
    position: sticky;
    top: -5rem;
  }
}
@media screen and (max-width: 800px) {
  .about-content__img {
    position: absolute;
    top: 2.4rem;
    left: -0.7rem;
  }
}

.about-step {
  margin-top: 10.8rem;
}
@media screen and (max-width: 800px) {
  .about-step {
    margin-top: 8rem;
  }
}
.about-step__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.16rem;
}
@media screen and (max-width: 800px) {
  .about-step__list {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
}
.about-step__item {
  display: grid;
  grid-template-columns: 6.48rem 1fr;
  gap: 2.16rem;
  padding: 2.88rem;
  border: 0.1rem solid rgba(21, 21, 21, 0.16);
  background-color: rgba(255, 255, 255, 0.55);
}
@media screen and (max-width: 800px) {
  .about-step__item {
    grid-template-columns: 4.8rem 1fr;
    gap: 1.6rem;
    padding: 2.4rem 2rem;
  }
}
.about-step__num {
  font-size: 4.32rem;
  font-weight: 300;
  line-height: 1;
  color: rgba(21, 21, 21, 0.22);
}
@media screen and (max-width: 800px) {
  .about-step__num {
    font-size: 3.2rem;
  }
}
.about-step__title {
  font-size: 2.16rem;
  line-height: 1.4;
  font-weight: 400;
}
@media screen and (max-width: 800px) {
  .about-step__title {
    font-size: 2rem;
  }
}
.about-step__en {
  margin-top: 0.4rem;
  font-size: 1.44rem;
  line-height: 1.2;
  letter-spacing: 0;
  color: rgba(21, 21, 21, 0.55);
}
@media screen and (max-width: 800px) {
  .about-step__en {
    font-size: 1.3rem;
  }
}
.about-step__txt {
  margin-top: 2.16rem;
  line-height: 2;
  opacity: 0.8;
}
@media screen and (max-width: 800px) {
  .about-step__txt {
    margin-top: 1.6rem;
    font-size: 1.4rem;
  }
}

.philosophy-content {
  display: flex;
  flex-direction: column;
  gap: 16.2rem;
}
@media screen and (max-width: 800px) {
  .philosophy-content {
    gap: 8rem;
  }
}
.philosophy-content__title {
  font-size: 4rem;
  font-weight: 300;
  line-height: 1.6;
  position: relative;
}
.philosophy-content__title::before {
  content: "";
  width: 100%;
  height: 0.01rem;
  background-color: rgba(21, 21, 21, 0.2);
  position: absolute;
  left: 0;
  top: 1.2rem;
}
@media screen and (max-width: 800px) {
  .philosophy-content__title::before {
    top: 0.8rem;
  }
}
@media screen and (max-width: 800px) {
  .philosophy-content__title {
    font-size: 2.3rem;
    line-height: 1.5;
  }
}
.philosophy-content__title__en {
  display: block;
  letter-spacing: 0;
  font-size: 2.4rem;
  font-weight: 600;
  margin-bottom: 3.6rem;
  line-height: 1;
  width: fit-content;
  padding-right: 2.16rem;
  position: relative;
  z-index: 1;
  background-color: #f3f3f3;
}
@media screen and (max-width: 800px) {
  .philosophy-content__title__en {
    margin-bottom: 3.2rem;
    padding-right: 1.6rem;
    font-size: 1.8rem;
  }
}
.philosophy-content__txt {
  margin-top: 2.4rem;
  display: flex;
  flex-direction: column;
  gap: 0;
}
@media screen and (max-width: 800px) {
  .philosophy-content__txt {
    margin-top: 1.6rem;
  }
}

@media screen and (min-width: 801px) {
  .message-content {
    display: flex;
    gap: 8.4rem;
  }
}
@media screen and (min-width: 801px) {
  .message-content__title {
    width: 51.6rem;
    flex-shrink: 0;
    padding-bottom: 11rem;
  }
  .message-content__title .title6 {
    position: sticky;
    top: 10.8rem;
  }
}
@media screen and (max-width: 800px) {
  .message-content__title {
    margin-bottom: 6.4rem;
  }
}
.message-content__txt__inner {
  display: flex;
  flex-direction: column;
  gap: 2em;
}
.message-content__txt__name {
  text-align: right;
  margin-top: 5.6rem;
  line-height: 1.4;
  width: fit-content;
  margin-left: auto;
}
@media screen and (max-width: 800px) {
  .message-content__txt__name {
    margin-top: 2.4rem;
  }
}
.message-content__txt__name span {
  display: block;
  margin-bottom: 1.2rem;
  text-align: left;
}
@media screen and (max-width: 800px) {
  .message-content__txt__name span {
    margin-bottom: 0.8rem;
  }
}
.message-content__txt__name img {
  width: 11.9rem;
}
@media screen and (max-width: 800px) {
  .message-content__txt__name img {
    width: 10rem;
  }
}

.professional-content {
  display: flex;
  flex-direction: column;
  gap: 16.2rem;
}
@media screen and (max-width: 800px) {
  .professional-content {
    gap: 6rem;
  }
}
@media screen and (min-width: 801px) {
  .professional-content__item--large {
    position: relative;
  }
  .professional-content__item--large .title7 {
    position: absolute;
    pointer-events: none;
    line-height: 1.2;
  }
  .professional-content__item--large .list-professional__item {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
  }
  .professional-content__item--large .list-professional__item.--only-text {
    flex-direction: row;
  }
  .professional-content__item--large .list-professional__img {
    max-width: 60.4rem;
  }
  .professional-content__item--large .list-professional__txt {
    margin-top: 16.2rem;
  }
  .professional-content__item--large .--only-text .list-professional__txt {
    margin-top: 0;
  }
  .professional-content__item--large .list-professional__txt__name {
    font-size: 4.05rem;
  }
  .professional-content__item--large .list-professional__txt__name span {
    font-size: 1.8rem;
  }
}
.professional-content__item .title7 {
  margin-bottom: 4.8rem;
}
@media screen and (max-width: 800px) {
  .professional-content__item .title7 {
    margin-bottom: 2.4rem;
  }
}

@media screen and (min-width: 801px) {
  .page-professional .lead-fde-card {
    display: flex;
    align-items: center;
    gap: 5.4rem;
  }
}
@media screen and (min-width: 801px) {
  .page-professional .lead-fde-card__info {
    flex-shrink: 0;
    width: 19.8rem;
  }
}
@media screen and (max-width: 800px) {
  .page-professional .lead-fde-card__info {
    margin-bottom: 2.4rem;
  }
}
.page-professional .lead-fde-card__job {
  font-size: 1.26rem;
  line-height: 1;
  color: #999;
  margin-bottom: 1.44rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 800px) {
  .page-professional .lead-fde-card__job {
    font-size: 1.2rem;
    margin-bottom: 1.2rem;
  }
}
.page-professional .lead-fde-card__name {
  font-size: 3.24rem;
  font-weight: 300;
  line-height: 1.3;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 800px) {
  .page-professional .lead-fde-card__name {
    font-size: 2.8rem;
  }
}
.page-professional .lead-fde-card__en {
  font-size: 1.44rem;
  color: #999;
  line-height: 1;
  margin-top: 0.72rem;
  margin-bottom: 2.16rem;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 800px) {
  .page-professional .lead-fde-card__en {
    font-size: 1.3rem;
    margin-bottom: 1.6rem;
  }
}
@media screen and (min-width: 801px) {
  .page-professional .lead-fde-card__img {
    flex: 1;
    min-width: 0;
  }
}
.page-professional .lead-fde-card__img {
  border-radius: 1.08rem;
  overflow: hidden;
}
.page-professional .lead-fde-card__img img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 16/9;
  object-fit: cover;
}
@media screen and (min-width: 801px) {
  .page-professional #professional .list-professional {
    grid-template-columns: repeat(3, 1fr);
    gap: 3.6rem 2.16rem;
  }
}
.page-professional .list-professional__img {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  background-color: rgba(21, 21, 21, 0.08);
}
.page-professional .list-professional__img img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 50%;
}
.page-professional .list-professional__tag {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-bottom: 0.8rem;
  padding: 0.4rem 0.8rem;
  font-size: 1.17rem;
  line-height: 1;
  color: rgba(21, 21, 21, 0.72);
  background-color: rgba(21, 21, 21, 0.08);
}
@media screen and (max-width: 800px) {
  .page-professional .list-professional__tag {
    font-size: 1.1rem;
    margin-bottom: 0.6rem;
    padding: 0.3rem 0.6rem;
  }
}
.page-professional #modal-tajima .modal__content__img {
  aspect-ratio: 16/9;
  border-radius: 1.08rem;
}
.page-professional #modal-tajima .modal__content__img img {
  border-radius: 1.08rem;
}
@media screen and (max-width: 800px) {
  .page-professional #modal-tajima .modal__content__img {
    width: 100%;
    max-width: none;
    float: none;
    margin: 0 0 1.2rem;
  }
}
.page-professional .modal__content__img {
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  background-color: rgba(21, 21, 21, 0.08);
}
.page-professional .modal__content__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}
@media screen and (max-width: 800px) {
  .page-professional .modal__content__img {
    width: 11rem;
    float: left;
    margin: 0 1.4rem 0.4rem 0;
    shape-outside: circle(50%);
  }
}

.modal-open {
  position: relative;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
.modal-open .btn-arrow {
  position: absolute;
  right: 0;
  bottom: 0;
}
.modal-open:hover {
  opacity: 0.8;
}

.modal {
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4rem 12.7rem;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(21, 21, 21, 0.3);
  backdrop-filter: blur(0.5rem);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
@media screen and (max-width: 800px) {
  .modal {
    padding: 2.4rem 1.2rem;
  }
}
.modal.is-open {
  opacity: 1;
  visibility: visible;
}
.modal__inner {
  background-color: #fff;
  padding: 7.2rem 5.76rem 8.82rem;
  position: relative;
}
@media screen and (max-width: 800px) {
  .modal__inner {
    padding: 4.4rem 0 0;
    max-height: calc(100vh - 4.8rem);
    display: flex;
    flex-direction: column;
    width: 100%;
  }
}
.modal__close {
  position: absolute;
  right: 2.16rem;
  top: 2.16rem;
  width: 3.2rem;
  height: 3.2rem;
  cursor: pointer;
  z-index: 10;
  transition: opacity 0.3s ease;
}
.modal__close:hover {
  opacity: 0.8;
}
@media screen and (max-width: 800px) {
  .modal__close {
    right: 1.6rem;
    top: 1.6rem;
    width: 2.4rem;
    height: 2.4rem;
  }
}
.modal__close::before, .modal__close::after {
  content: "";
  position: absolute;
  width: 3rem;
  height: 0.15rem;
  background-color: #151515;
  top: 50%;
  left: 50%;
}
@media screen and (max-width: 800px) {
  .modal__close::before, .modal__close::after {
    width: 2.2rem;
    height: 0.12rem;
  }
}
.modal__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.modal__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.modal__content {
  display: none;
  padding: 5.76rem 0;
  max-height: calc(100vh - 23.22rem);
  grid-template-columns: 40.5rem 1fr;
  gap: 5.76rem;
  background-color: #fff;
  opacity: 0;
  visibility: hidden;
  overflow-y: auto;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
@media screen and (max-width: 800px) {
  .modal__content {
    display: none;
    gap: 0;
    flex: 1;
    min-height: 0;
    max-height: none;
    padding: 1.2rem 2rem 1.6rem;
  }
}
.modal__content.is-current {
  display: grid;
  opacity: 1;
  visibility: visible;
}
@media screen and (max-width: 800px) {
  .modal__content.is-current {
    display: block;
  }
}
@media screen and (max-width: 800px) {
  .modal__content::after {
    content: "";
    display: block;
    clear: both;
  }
}
.modal__content__txt__job {
  font-size: 1.4rem;
  line-height: 1;
  margin-bottom: 0.8rem;
}
@media screen and (max-width: 800px) {
  .modal__content__txt__job {
    font-size: 1.2rem;
  }
}
.modal__content__txt__name {
  font-size: 2.88rem;
  line-height: 1.5;
  margin-bottom: 2.16rem;
}
@media screen and (max-width: 800px) {
  .modal__content__txt__name {
    font-size: 2rem;
    line-height: 1.3;
    margin-bottom: 0.6rem;
  }
}
.modal__content__txt__name span {
  display: block;
  font-size: 1.4rem;
  color: #999;
  line-height: 1;
  margin-top: 0.8rem;
}
@media screen and (max-width: 800px) {
  .modal__content__txt__name span {
    font-size: 1.1rem;
    margin-top: 0.4rem;
  }
}
.modal__content__txt__category {
  font-size: 1.4rem;
  margin-bottom: 2.88rem;
}
@media screen and (max-width: 800px) {
  .modal__content__txt__category {
    font-size: 1.1rem;
    margin-bottom: 1.2rem;
  }
}
.modal__content__txt__profile {
  line-height: 1.8;
  opacity: 0.8;
}
@media screen and (max-width: 800px) {
  .modal__content__txt__profile {
    font-size: 1.3rem;
    line-height: 1.65;
    clear: both;
    padding-top: 0.4rem;
  }
}
.modal__arrow {
  position: absolute;
  right: 2.16rem;
  bottom: 2.16rem;
  display: flex;
  gap: 10px;
}
@media screen and (max-width: 800px) {
  .modal__arrow {
    position: static;
    height: 7rem;
    align-items: center;
    gap: 1.6rem;
    padding: 1.6rem;
  }
}
.modal__prev, .modal__next {
  padding-inline: 1.44rem;
}
@media screen and (max-width: 800px) {
  .modal__prev, .modal__next {
    justify-content: flex-end;
  }
}
.modal__prev .btn-small__txt, .modal__next .btn-small__txt {
  font-weight: 600;
}

@media screen and (max-width: 800px) {
  .page-cases .subpage-content__side {
    display: block;
    width: 100%;
  }
}

@media screen and (min-width: 801px) {
  .search-box {
    display: flex;
    flex-direction: column;
    gap: 4.8rem;
  }
}
@media screen and (max-width: 800px) {
  .search-box {
    margin-bottom: 6.4rem;
  }
}
.search-box {
  line-height: 1.4;
  font-weight: 400;
}
@media screen and (max-width: 800px) {
  .search-box__tab {
    display: flex;
  }
}
.search-box__tab__item {
  flex: 1;
  padding: 0 2rem 1.6rem 1rem;
  border-bottom: 0.1rem solid #ccc;
  margin-bottom: 2.4rem;
  position: relative;
  font-weight: 600;
}
.search-box__tab__item::after {
  content: "";
  width: 0.8rem;
  height: 0.7rem;
  background-color: #151515;
  position: absolute;
  top: 0.7rem;
  right: 1rem;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.search-box__tab__item.is-current {
  border-color: #151515;
}
.search-box__tab__item.is-current::after {
  background-color: #d527be;
}
@media screen and (max-width: 800px) {
  .search-box__item {
    display: none;
  }
  .search-box__item.is-current {
    display: block;
  }
}
.search-box__txt {
  padding-bottom: 1.6rem;
  margin-bottom: 2rem;
  border-bottom: 0.1rem solid #ccc;
  position: relative;
}
.search-box__txt::before {
  content: "";
  position: absolute;
  bottom: -0.1rem;
  left: 0;
  width: 9.9rem;
  height: 0.1rem;
  background-color: #151515;
  z-index: 1;
}
.search-box__txt.en {
  font-size: 1.8rem;
}
@media screen and (max-width: 800px) {
  .search-box__txt.en {
    font-size: 1.6rem;
  }
}

.cases-pickup {
  margin-right: -11.6rem;
  margin-bottom: 8rem;
}
@media screen and (max-width: 800px) {
  .cases-pickup {
    margin-right: -3.2rem;
  }
}
.cases-pickup .swiper-slide {
  padding-right: 2.4rem;
}

.swiper__controller {
  display: flex;
  align-items: center;
  gap: 2rem;
  margin-top: 3.2rem;
}
.swiper__arrows {
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media screen and (max-width: 800px) {
  .swiper__arrows {
    gap: 2rem;
  }
}
.swiper__prev, .swiper__next {
  width: 1.2rem;
  height: 1.2rem;
  cursor: pointer;
  position: relative;
}
@media screen and (max-width: 800px) {
  .swiper__prev, .swiper__next {
    width: 2.4rem;
    height: 2.4rem;
  }
}
.swiper__prev::before, .swiper__next::before {
  content: "";
  width: 0.6rem;
  height: 0.8rem;
  background-color: #151515;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 801px) {
  .swiper__prev:hover::before, .swiper__next:hover::before {
    background-color: #d527be;
  }
}
.swiper__prev.swiper-button-disabled, .swiper__next.swiper-button-disabled {
  opacity: 0.5;
  cursor: default;
}
.swiper__prev::before {
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
}
.swiper__next::before {
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.swiper__scrollbar {
  width: 22.8rem;
  height: 1rem;
  background-color: transparent;
  position: relative;
}
.swiper__scrollbar::before {
  content: "";
  width: 100%;
  height: 0.2rem;
  background-color: #ccc;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
.swiper__scrollbar .swiper-scrollbar-drag {
  background-color: transparent;
}
.swiper__scrollbar .swiper-scrollbar-drag::before {
  content: "";
  width: 100%;
  height: 0.2rem;
  background-color: #151515;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}

.cases-main__txt {
  opacity: 0.8;
  margin-bottom: 2.88rem;
}
@media screen and (max-width: 800px) {
  .cases-main__txt {
    font-size: 1.6rem;
    margin-bottom: 3.2rem;
  }
}
.cases-main .pager {
  margin-top: 10rem;
}
@media screen and (max-width: 800px) {
  .cases-main .pager {
    margin-top: 5.6rem;
  }
}

.pager {
  width: fit-content;
  min-width: 38rem;
  padding: 0 8rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
}
@media screen and (max-width: 800px) {
  .pager {
    width: 100%;
    min-width: unset;
    font-size: 1.6rem;
    padding: 0;
  }
}
.pager__number {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
}
.pager__number a {
  display: block;
  padding: 0 0.8rem;
  font-weight: 600;
}
@media screen and (min-width: 801px) {
  .pager__number a:hover {
    background: #c33335;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}
.pager__number .is-current a {
  background: #c33335;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  cursor: default;
}

.cases-modal {
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4rem 12.7rem;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(21, 21, 21, 0.3);
  backdrop-filter: blur(0.5rem);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
@media screen and (max-width: 800px) {
  .cases-modal {
    padding: 4.6rem 1.5rem;
  }
}
.cases-modal.is-open {
  opacity: 1;
  visibility: visible;
}
.cases-modal__inner {
  background-color: #fff;
  padding: 7.2rem 5.76rem 8.82rem;
  position: relative;
}
@media screen and (max-width: 800px) {
  .cases-modal__inner {
    padding: 5.6rem 0 0;
  }
}
.cases-modal__close {
  position: absolute;
  right: 2.16rem;
  top: 2.16rem;
  width: 3.2rem;
  height: 3.2rem;
  cursor: pointer;
  z-index: 10;
  transition: opacity 0.3s ease;
}
.cases-modal__close:hover {
  opacity: 0.8;
}
@media screen and (max-width: 800px) {
  .cases-modal__close {
    right: 1.6rem;
    top: 1.6rem;
    width: 2.4rem;
    height: 2.4rem;
  }
}
.cases-modal__close::before, .cases-modal__close::after {
  content: "";
  position: absolute;
  width: 3rem;
  height: 0.15rem;
  background-color: #151515;
  top: 50%;
  left: 50%;
}
@media screen and (max-width: 800px) {
  .cases-modal__close::before, .cases-modal__close::after {
    width: 2.2rem;
    height: 0.12rem;
  }
}
.cases-modal__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.cases-modal__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.cases-modal__content {
  display: grid;
  padding: 5.76rem 0;
  max-height: calc(100vh - 23.22rem);
  grid-template-columns: 40.5rem 1fr;
  gap: 5.76rem;
  background-color: #fff;
  overflow-y: auto;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
@media screen and (max-width: 800px) {
  .cases-modal__content {
    grid-template-columns: 1fr;
    gap: 2.4rem;
    max-height: calc(100vh - 21.8rem);
    padding: 1.6rem 2.4rem;
  }
}
.cases-modal__content__img img {
  aspect-ratio: 450/253;
  object-fit: cover;
}
.cases-modal__content__txt {
  line-height: 1.4;
  font-weight: 500;
}
@media screen and (min-width: 801px) {
  .cases-modal__content__txt {
    max-height: calc(100vh - 36rem);
    overflow-y: scroll;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .cases-modal__content__txt::-webkit-scrollbar {
    display: none;
  }
}
.cases-modal__content__txt__title {
  font-size: 2.43rem;
  font-weight: 300;
  margin-bottom: 1.44rem;
}
@media screen and (max-width: 800px) {
  .cases-modal__content__txt__title {
    font-size: 2rem;
    margin-bottom: 0.8rem;
  }
}
.cases-modal__content__txt__category {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-bottom: 2.88rem;
}
@media screen and (max-width: 800px) {
  .cases-modal__content__txt__category {
    margin-bottom: 1.6rem;
  }
}
.cases-modal__content__txt__content {
  font-weight: 300;
  line-height: 2;
}
@media screen and (min-width: 801px) {
  .cases-modal__content__txt__content {
    font-size: 1.62rem;
  }
}
.cases-modal__content__txt__content:not(:last-child) {
  margin-bottom: 2em;
}
@media screen and (max-width: 800px) {
  .cases-modal__content__txt__content:not(:last-child) {
    margin-bottom: 1em;
  }
}
.cases-modal__arrow {
  position: absolute;
  width: 4.8rem;
  display: flex;
  justify-content: space-between;
  right: 6rem;
  bottom: 6rem;
}
@media screen and (max-width: 800px) {
  .cases-modal__arrow {
    width: 6.4rem;
    right: 1.6rem;
    bottom: 1.6rem;
  }
}
.cases-modal__prev, .cases-modal__next {
  width: 1.2rem;
  height: 1.2rem;
  cursor: pointer;
  position: relative;
}
@media screen and (max-width: 800px) {
  .cases-modal__prev, .cases-modal__next {
    width: 2.4rem;
    height: 2.4rem;
  }
}
.cases-modal__prev::before, .cases-modal__next::before {
  content: "";
  width: 0.6rem;
  height: 0.8rem;
  background-color: #151515;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 801px) {
  .cases-modal__prev:hover::before, .cases-modal__next:hover::before {
    background-color: #d527be;
  }
}
.cases-modal__prev::before {
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
}
.cases-modal__next::before {
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
@media screen and (max-width: 800px) {
  .cases-modal:not(:has(.cases-modal__arrow)) .cases-modal__content {
    height: calc(100% - 6.4rem);
  }
}

@media screen and (max-width: 800px) {
  .page-news .subpage-content__side {
    display: block;
    width: 100%;
  }
  .page-news .subpage-content__side .search-box__item {
    display: block !important;
  }
}

.news-main .list-news__item--none {
  text-align: center;
  padding: 4rem 0;
  color: #666;
}
.news-main .pager {
  margin-top: 10rem;
}
@media screen and (max-width: 800px) {
  .news-main .pager {
    margin-top: 5.6rem;
  }
}

.company-overview {
  padding: 8.64rem 2.7rem;
  background-color: #fff;
}
.company-overview__inner {
  max-width: 91.26rem;
  margin-inline: auto;
}
.company-overview__title {
  font-size: 2.43rem;
  line-height: 1.6;
  margin-bottom: 2.88rem;
}
@media screen and (max-width: 800px) {
  .company-overview__title {
    font-size: 2rem;
    letter-spacing: 0.04em;
    margin-bottom: 3.2rem;
  }
}
@media screen and (max-width: 800px) {
  .company-overview {
    padding: 4.8rem 2.4rem;
  }
}

.page-detail {
  margin-bottom: 0;
  background-color: #f3f3f3;
}
.page-detail .l-main__bg {
  display: none;
}
.page-detail__titlearea {
  padding: 8.64rem 0 0;
  max-width: 116.64rem;
}
@media screen and (max-width: 800px) {
  .page-detail__titlearea {
    padding-top: 0;
  }
}
.page-detail__titlearea .p-page-header-narrow__inner {
  display: flex;
  flex-direction: column;
}
.page-detail__titlearea .title6 {
  margin-top: 0;
  margin-bottom: 2rem;
  line-height: 1.4;
  color: #151515;
  font-size: 4.32rem;
  order: 1;
}
@media screen and (max-width: 800px) {
  .page-detail__titlearea .title6 {
    margin-bottom: 1.2rem;
    font-size: 2.3rem;
  }
}
.page-detail__info {
  order: 2;
  display: flex;
  align-items: center;
  gap: 1.6rem;
  margin-bottom: 0;
}
@media screen and (max-width: 800px) {
  .page-detail__info {
    gap: 0.8rem;
  }
}

.dateil-content {
  background-color: transparent;
  padding: 5.76rem 2.16rem 14.4rem;
  line-height: 1.8;
}
.dateil-content > .inner > :first-child,
.dateil-content > .inner > .post > :first-child {
  margin-top: 0;
}
@media screen and (max-width: 800px) {
  .dateil-content {
    padding: 3.2rem 2.4rem 8rem;
  }
}
.dateil-content .inner {
  max-width: 116.64rem;
}
.dateil-content > .inner > .post,
.dateil-content > .inner > .post-sec,
.dateil-content > .inner > .thumbnail + .post-sec,
.dateil-content > .inner > .thumbnail + .post {
  background-color: rgba(255, 255, 255, 0.5);
  padding: 6.48rem 7.2rem;
}
@media screen and (max-width: 800px) {
  .dateil-content > .inner > .post,
  .dateil-content > .inner > .post-sec,
  .dateil-content > .inner > .thumbnail + .post-sec,
  .dateil-content > .inner > .thumbnail + .post {
    padding: 4.8rem 2.4rem;
  }
}
.dateil-content .toc-area {
  background-color: #e9e9eb;
  border-radius: 0.1rem;
  padding: 4rem 3.2rem;
  line-height: 1.4;
  margin-top: 6.4rem;
  margin-bottom: 6.4rem;
}
@media screen and (max-width: 800px) {
  .dateil-content .toc-area {
    padding: 3.2rem 2.4rem;
    margin-bottom: 4rem;
  }
}
.dateil-content .toc-area__title {
  font-size: 1.8rem;
  border-bottom: 0.1rem solid #151515;
  padding-bottom: 1.6rem;
  margin-bottom: 2rem;
  margin-top: 0 !important;
}
@media screen and (max-width: 800px) {
  .dateil-content .toc-area__title {
    font-size: 1.6rem;
    margin-bottom: 1.6rem;
  }
}
.dateil-content .toc-area ol {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media screen and (max-width: 800px) {
  .dateil-content .toc-area ol {
    gap: 1.2rem;
  }
}
.dateil-content .toc-area ol li a {
  border-bottom: 0.1rem solid #999;
  line-height: 1.6;
}
.dateil-content h2,
.dateil-content h3,
.dateil-content h4 {
  line-height: 1.4;
  margin-bottom: 3.2rem;
}
@media screen and (max-width: 800px) {
  .dateil-content h2,
  .dateil-content h3,
  .dateil-content h4 {
    margin-bottom: 2.4rem;
  }
}
.dateil-content h2 {
  font-size: 2.8rem;
  padding-bottom: 1.2rem;
  position: relative;
}
@media screen and (max-width: 800px) {
  .dateil-content h2 {
    font-size: 2.4rem;
  }
}
* + .dateil-content h2 {
  margin-top: 3em;
}
.dateil-content h3 {
  font-size: 2.7rem;
  margin-top: 5.6rem;
  line-height: 1.65;
}
@media screen and (max-width: 800px) {
  .dateil-content h3 {
    margin-top: 4rem;
    font-size: 2rem;
  }
}
.dateil-content h4 {
  font-size: 1.8rem;
  margin-top: 4rem;
}
@media screen and (max-width: 800px) {
  .dateil-content h4 {
    margin-top: 2.4rem;
  }
}
.dateil-content p {
  margin-top: 2.88rem;
}
@media screen and (max-width: 800px) {
  .dateil-content p {
    margin-top: 3.2rem;
  }
}
.dateil-content .--fz-2 {
  font-size: 0.2em;
}
.dateil-content .--fz-4 {
  font-size: 0.4em;
}
.dateil-content .--fz-6 {
  font-size: 0.6em;
}
.dateil-content .--fz-8 {
  font-size: 0.8em;
}
.dateil-content .--fz-10 {
  font-size: 1em;
}
.dateil-content .--fz-12 {
  font-size: 1.2em;
}
.dateil-content .--fz-14 {
  font-size: 1.4em;
}
.dateil-content .--fz-16 {
  font-size: 1.6em;
}
.dateil-content .--fz-18 {
  font-size: 1.8em;
}
.dateil-content .--fz-20 {
  font-size: 2em;
}
.dateil-content .--fz-22 {
  font-size: 2.2em;
}
.dateil-content .--fz-24 {
  font-size: 2.4em;
}
.dateil-content .--fz-26 {
  font-size: 2.6em;
}
.dateil-content .--fz-28 {
  font-size: 2.8em;
}
.dateil-content .--fz-30 {
  font-size: 3em;
}
.dateil-content .--inline-title {
  display: block;
  font-weight: 500;
  margin-bottom: 0.5em;
}
.dateil-content a {
  transition: opacity 0.3s;
  word-break: break-all;
}
.dateil-content a:hover {
  opacity: 0.7;
}
.dateil-content :not(.toc-area) > ol {
  counter-reset: list;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 3.6rem;
}
.dateil-content :not(.toc-area) > ol li {
  counter-increment: list;
  padding-left: 2.8rem;
  position: relative;
}
.dateil-content :not(.toc-area) > ol li::before {
  content: counter(list) ".";
  left: 0;
  top: 0;
  position: absolute;
}
.dateil-content ul {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 3.6rem;
}
.dateil-content ul li {
  padding-left: 2.8rem;
  position: relative;
}
.dateil-content ul li::before {
  content: "・";
  left: 0;
  top: 0;
  position: absolute;
}
.dateil-content table {
  font-size: 1.4rem;
  line-height: 1.6;
  margin-top: 4rem;
  width: 100%;
}
@media screen and (max-width: 800px) {
  .dateil-content table {
    margin-top: 2.4rem;
  }
}
.dateil-content table th {
  width: 23.2rem;
  border-bottom: 0.1rem solid #151515;
  font-weight: 400;
  padding: 2rem 2.4rem;
}
@media screen and (max-width: 800px) {
  .dateil-content table th {
    width: 30%;
    padding: 1.4rem 0rem;
    background-color: transparent;
  }
}
.dateil-content table td {
  border-bottom: 0.1rem solid #ccc;
  padding: 2rem 1.2rem;
}
@media screen and (max-width: 800px) {
  .dateil-content table td {
    padding: 1.4rem 0rem;
  }
}
.dateil-content .post-sec + .post-sec {
  border-top: 0.1rem solid #999;
  margin-top: 6.4rem;
}
@media screen and (max-width: 800px) {
  .dateil-content .post-sec + .post-sec {
    margin-top: 4rem;
  }
}
.dateil-content .post__tbl table {
  margin-top: 0;
}
.dateil-content figure {
  margin-top: 4rem;
}
.dateil-content figure figcaption {
  font-size: 1.2rem;
  margin-top: 1rem;
  line-height: 1.6;
}
.dateil-content img {
  width: auto;
  max-width: 100%;
  display: block;
  margin: 0 auto;
}
.dateil-content .thumbnail {
  margin-bottom: 4rem;
}
.dateil-content .thumbnail img {
  width: 100%;
}
@media screen and (max-width: 800px) {
  .dateil-content .thumbnail {
    margin-bottom: 4rem;
  }
}
.dateil-content .detail-back {
  margin-top: 8rem;
}
@media screen and (max-width: 800px) {
  .dateil-content .detail-back {
    margin-top: 5.6rem;
  }
}
.dateil-content .detail-auther {
  margin-top: 8rem;
}
@media screen and (max-width: 800px) {
  .dateil-content .detail-auther {
    margin-top: 5.6rem;
  }
}
@media screen and (max-width: 800px) {
  .dateil-content .detail-auther {
    margin-top: 5.6rem;
  }
}
.dateil-content .detail-auther p {
  margin: unset;
}
.dateil-content .detail-auther__title {
  font-size: 2.4rem;
  margin-bottom: 2.4rem !important;
  line-height: 1.4;
}
@media screen and (max-width: 800px) {
  .dateil-content .detail-auther__title {
    font-size: 2rem;
    margin-bottom: 1.6rem !important;
  }
}
.dateil-content .detail-auther__content {
  background-color: #fff;
  padding: 2.4rem;
  line-height: 1.6;
  font-size: 1.4rem;
}
@media screen and (max-width: 800px) {
  .dateil-content .detail-auther__content {
    background-color: #f5f5f5;
  }
}
.dateil-content .detail-auther__name {
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: 0.8rem !important;
}
@media screen and (max-width: 800px) {
  .dateil-content .detail-auther__name {
    font-size: 1.6rem;
    margin-bottom: 0.4rem !important;
  }
}
.dateil-content .detail-auther__job {
  margin-bottom: 2.4rem !important;
}
@media screen and (max-width: 800px) {
  .dateil-content .detail-auther__job {
    margin-bottom: 1.6rem !important;
  }
}
.dateil-content .post-box--author {
  padding: 2.16rem;
  margin-top: 7.2rem;
  line-height: 1.6;
  padding: 0;
}
@media screen and (max-width: 800px) {
  .dateil-content .post-box--author {
    padding: 0;
    font-size: 8rem;
  }
}
.dateil-content .post-box--author p {
  margin: unset;
}
.dateil-content .detail-references,
.dateil-content .post-references {
  margin-top: 4rem;
  padding-left: 2.4rem;
  border-left: 0.4rem solid #e9e9eb;
  font-size: 1.4rem;
}
.dateil-content .detail-references p,
.dateil-content .detail-references h4,
.dateil-content .detail-references ul,
.dateil-content .post-references p,
.dateil-content .post-references h4,
.dateil-content .post-references ul {
  gap: 0.8rem;
  margin: unset;
  font-size: 1.4rem;
  line-height: 1.4;
}
.dateil-content .detail-references li,
.dateil-content .post-references li {
  padding-left: 0;
}
.dateil-content .detail-references li::before,
.dateil-content .post-references li::before {
  display: none;
}
.dateil-content .detail-references__ttl,
.dateil-content .post-references__ttl {
  font-weight: 500;
  margin-bottom: 0.8rem !important;
}
.dateil-content .detail-references a,
.dateil-content .post-references a {
  border-bottom: none;
  text-decoration: underline;
}
.dateil-content .detail-references br,
.dateil-content .post-references br {
  display: none;
}
.dateil-content .post-bottom--share {
  display: none;
}

.c-underline {
  text-decoration: underline;
}

.page-profile {
  margin-bottom: 0;
}
.page-profile .subpage-content__side__inner {
  min-height: unset;
}

.profile-overview {
  padding-bottom: 13.5rem;
}
@media screen and (max-width: 800px) {
  .profile-overview {
    padding-bottom: 10rem;
    padding-top: 6.4rem;
  }
}
.profile-overview .title7 {
  margin-bottom: 5.6rem;
}
@media screen and (max-width: 800px) {
  .profile-overview .title7 {
    margin-bottom: 2.4rem;
  }
}
.profile-overview__list {
  display: grid;
  grid-template-columns: 25.2rem 1fr;
  font-size: 1.44rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin-bottom: 7.2rem;
}
@media screen and (max-width: 800px) {
  .profile-overview__list {
    grid-template-columns: 8rem 1fr;
    margin-bottom: 6.4rem;
  }
}
.profile-overview__title {
  font-weight: 300;
  border-bottom: 0.1rem solid #151515;
  padding: 1.44rem;
}
@media screen and (max-width: 800px) {
  .profile-overview__title {
    padding: 1.6rem 0.8rem;
  }
}
.profile-overview__txt {
  padding: 1.44rem;
  border-bottom: 0.1rem solid rgba(21, 21, 21, 0.1);
}
@media screen and (max-width: 800px) {
  .profile-overview__txt {
    padding: 1.6rem 0.8rem;
  }
}

.profile-history {
  padding: 21.5rem 0 23.5rem;
  background: url(../images/profile/bg_history.jpg) no-repeat center center/cover;
  clip-path: polygon(0 8rem, 100% 0, 100% calc(100% - 8rem), 0 100%);
}
@media screen and (max-width: 800px) {
  .profile-history {
    padding: 10rem 0;
    clip-path: polygon(0 2rem, 100% 0, 100% calc(100% - 2rem), 0 100%);
  }
}
.profile-history .inner {
  position: relative;
  z-index: 1;
}
.profile-history .title7 {
  margin-bottom: 6.8rem;
}
@media screen and (max-width: 800px) {
  .profile-history .title7 {
    margin-bottom: 2.4rem;
  }
}

.profile-gallery {
  position: relative;
  padding: 13.5rem 0 16rem;
}
@media screen and (max-width: 800px) {
  .profile-gallery {
    padding: 8rem 0;
  }
}
.profile-gallery .title7 {
  margin-bottom: 5.6rem;
}
@media screen and (max-width: 800px) {
  .profile-gallery .title7 {
    margin-bottom: 2.8rem;
  }
}
.profile-gallery .inner {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 801px) {
  .profile-gallery::before {
    content: "";
    width: 184.6rem;
    height: 184.6rem;
    border-radius: 50%;
    background: radial-gradient(48.07% 48.07% at 50% 50%, rgba(162, 187, 200, 0.5) 0%, rgba(217, 217, 217, 0) 100%);
    position: absolute;
    left: -56.6rem;
    top: 0;
    transform: translateY(-50%);
    pointer-events: none;
  }
}
.profile-gallery__swiper {
  margin-right: -11.6rem;
}
@media screen and (max-width: 800px) {
  .profile-gallery__swiper {
    margin-right: -3.2rem;
  }
}
.profile-gallery__swiper .swiper-slide {
  padding-right: 1.2rem;
}

.group-content {
  letter-spacing: 0.04em;
}
.group-content .group-profile {
  display: grid;
  grid-template-columns: 40.5rem 1fr;
  gap: 6.3rem;
  align-items: center;
  margin-bottom: 4.32rem;
}
@media screen and (max-width: 800px) {
  .group-content .group-profile {
    grid-template-columns: 1fr;
    gap: 2.4rem;
  }
}
.group-content .group-profile__list {
  font-size: 1.44rem;
  line-height: 1.6;
  display: grid;
  grid-template-columns: 18rem 1fr;
  gap: 1.44rem 0;
  letter-spacing: 0;
}
@media screen and (max-width: 800px) {
  .group-content .group-profile__list {
    font-size: 1.4rem;
    grid-template-columns: 8.8rem 1fr;
    gap: 0;
  }
}
.group-content .group-profile__title {
  font-weight: normal;
  border-bottom: 0.1rem solid #151515;
  padding: 0 1.44rem 1.44rem;
  font-weight: 300;
}
@media screen and (max-width: 800px) {
  .group-content .group-profile__title {
    padding: 1.6rem 0.8rem;
  }
}
.group-content .group-profile__txt {
  padding: 0 1.44rem 1.44rem;
  border-bottom: 0.1rem solid rgba(21, 21, 21, 0.1);
}
@media screen and (max-width: 800px) {
  .group-content .group-profile__txt {
    padding: 1.6rem 0.8rem;
  }
}
.group-content .group-profile__txt .btn-map {
  margin-bottom: 0;
}
.group-content .group-message__title {
  font-size: 2.43rem;
  font-weight: 300;
  margin-bottom: 2.16rem;
  line-height: 1.65;
}
@media screen and (max-width: 800px) {
  .group-content .group-message__title {
    font-size: 2rem;
    margin-bottom: 1.6rem;
  }
}
.group-content .group-message__txt {
  line-height: 1.8;
  font-size: 1.4rem;
}
@media screen and (max-width: 800px) {
  .group-content .group-message__txt {
    font-size: 1.2rem;
  }
}
.group-content .btn-small__btn {
  margin: 4.32rem 0 0 auto;
  align-items: center;
}
@media screen and (max-width: 800px) {
  .group-content .btn-small__btn {
    justify-content: flex-end;
  }
}
.group-content .btn-small__btn .en {
  font-weight: 600;
  text-transform: unset;
}
.group-content .btn-small__btn .icon {
  width: 1.44rem;
  padding-bottom: 0.4rem;
}
.group-content .btn-more {
  margin: 2.4rem 0 0 auto;
}
@media screen and (max-width: 800px) {
  .group-content .btn-more {
    margin-top: 2rem;
  }
}

.page-sustainability .subpage-content__main {
  display: flex;
  flex-direction: column;
  gap: 20rem;
}
@media screen and (max-width: 800px) {
  .page-sustainability .subpage-content__main {
    gap: 8rem;
  }
}
@media screen and (max-width: 800px) {
  .page-sustainability--insight .subpage-content__side, .page-sustainability--interview .subpage-content__side {
    display: block;
    margin-bottom: 6rem;
  }
  .page-sustainability--insight .list-subpage__item, .page-sustainability--interview .list-subpage__item {
    border-bottom: 0.1rem solid #151515;
    position: relative;
  }
  .page-sustainability--insight .list-subpage__item::before, .page-sustainability--interview .list-subpage__item::before {
    content: normal;
  }
  .page-sustainability--insight .list-subpage__item a, .page-sustainability--interview .list-subpage__item a {
    padding: 0 3rem 1.6rem 1rem;
    color: #151515 !important;
    position: relative;
    display: block;
    width: 100%;
  }
  .page-sustainability--insight .list-subpage__item a::after, .page-sustainability--interview .list-subpage__item a::after {
    content: "";
    position: absolute;
    top: 0.6rem;
    right: 1rem;
    width: 0.8rem;
    height: 0.6rem;
    background: #151515;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }
  .page-sustainability--insight .list-subpage__item.is-current a, .page-sustainability--interview .list-subpage__item.is-current a {
    color: #151515 !important;
    background: unset;
    -webkit-background-clip: unset;
    -webkit-text-fill-color: unset;
  }
}

.sustainability-content .title7 {
  margin-bottom: 4.8rem;
}
@media screen and (max-width: 800px) {
  .sustainability-content .title7 {
    margin-bottom: 2.4rem;
  }
}
.sustainability-content__title {
  font-size: 2.8rem;
  line-height: 1.4;
  margin-bottom: 3.2rem;
}
@media screen and (max-width: 800px) {
  .sustainability-content__title {
    font-size: 2rem;
    margin-bottom: 2.4rem;
  }
}
.sustainability-content__list {
  margin-top: 5.6rem;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media screen and (max-width: 800px) {
  .sustainability-content__list {
    margin-top: 2.4rem;
  }
}
.sustainability-content__item a {
  display: grid;
  grid-template-columns: 20.4rem 1fr;
  gap: 2.4rem;
  padding: 2.4rem;
  background-color: rgba(255, 255, 255, 0.3);
  border: 0.1rem solid #fff;
  line-height: 1.6;
}
@media screen and (max-width: 800px) {
  .sustainability-content__item a {
    padding: 1.6rem;
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
}
@media screen and (min-width: 801px) {
  .sustainability-content__item a:hover .btn2__more {
    background: #c33335;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}
.sustainability-content__item__title {
  font-size: 2.4rem;
  line-height: 1.4;
  margin-bottom: 1.6rem;
  margin-top: 0.8rem;
}
@media screen and (max-width: 800px) {
  .sustainability-content__item__title {
    margin: 0 0 0.8rem;
    font-size: 2rem;
  }
}
@media screen and (min-width: 801px) {
  .sustainability-content__item__txt {
    min-height: 3.2em;
  }
}
.sustainability-content__item .btn2__more {
  margin-top: 2.4rem;
}
@media screen and (max-width: 800px) {
  .sustainability-content__item .btn2__more {
    margin-top: 2rem;
  }
}
.sustainability-content .list-other {
  margin-top: 5.6rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 800px) {
  .sustainability-content .list-other {
    grid-template-columns: 1fr;
    margin-top: 3.2rem;
  }
}
.sustainability-content .list-other .list-other__link {
  height: 18rem;
  padding: 2.4rem;
}
@media screen and (max-width: 800px) {
  .sustainability-content .list-other .list-other__link {
    height: 11rem;
    padding: 2rem 1.8rem 1.6rem;
  }
}
.sustainability-content .list-other .list-other__title__txt {
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: 0;
}
@media screen and (max-width: 800px) {
  .sustainability-content .list-other .list-other__title__txt {
    font-size: 1.6rem;
  }
}
.sustainability-content .compliance-info {
  margin-top: 5.6rem;
  background-color: rgba(255, 255, 255, 0.3);
  border: 0.1rem solid #fff;
  border-radius: 0.1rem;
  padding: 4rem;
}
@media screen and (max-width: 800px) {
  .sustainability-content .compliance-info {
    padding: 2.4rem;
  }
}
.sustainability-content .compliance-info__list {
  margin-top: 2rem;
  margin-bottom: 2.4rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media screen and (max-width: 800px) {
  .sustainability-content .compliance-info__list {
    margin-top: 1.2rem;
    gap: 1.2rem;
    margin-bottom: 2rem;
  }
}
.sustainability-content .compliance-info__list__item {
  text-indent: -1.4em;
  padding-left: 1.4em;
}
.sustainability-content .compliance-info__cont {
  background-color: #fff;
  border-radius: 0.1rem;
  padding: 2.4rem 2.4rem 2.8rem;
  line-height: 1.8;
}
@media screen and (max-width: 800px) {
  .sustainability-content .compliance-info__cont {
    padding: 1.6rem 1.6rem 1.8rem;
  }
}
.sustainability-content .compliance-info__title {
  font-weight: normal;
  margin-bottom: 1.6rem;
  line-height: 1.6;
}
@media screen and (max-width: 800px) {
  .sustainability-content .compliance-info__title {
    margin-bottom: 1.4rem;
  }
}

.action-content .list-group {
  counter-reset: item;
}
.action-content .list-group__item {
  counter-increment: item;
}
.action-content .group-profile {
  margin-bottom: 0;
}
@media screen and (min-width: 801px) {
  .action-content .group-profile {
    grid-template-columns: 32rem 1fr;
  }
}
.action-content .group-profile__img img {
  aspect-ratio: 320/222;
  object-fit: cover;
  filter: grayscale(100%);
}
.action-content__title {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 800px) {
  .action-content__title {
    font-size: 2rem;
    margin-bottom: 0.8rem;
  }
}
.action-content__title::before {
  content: "(" counter(item, decimal-leading-zero) ")";
  font-family: "Barlow Condensed", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1;
  display: block;
  margin-bottom: 0.8rem;
}
@media screen and (max-width: 800px) {
  .action-content__title::before {
    font-size: 1.6rem;
  }
}
.action-content p {
  line-height: 1.8;
}

@media screen and (min-width: 801px) {
  .page-policy .subpage-kv-simple .breadcrumbs__link:hover {
    -webkit-text-fill-color: unset;
    color: inherit;
  }
}
.page-policy .subpage-content {
  padding-top: 0;
  padding-bottom: 10.8rem;
}
@media screen and (max-width: 800px) {
  .page-policy .subpage-content {
    padding-bottom: 8rem;
  }
}
.page-policy .subpage-content .inner {
  display: block;
}
.page-policy .policy-content {
  padding: 8.64rem 2.7rem;
  background-color: #fff;
  line-height: 1.85;
  letter-spacing: 0.02em;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 800px) {
  .page-policy .policy-content {
    padding: 4.8rem 2.4rem;
  }
}
.page-policy .policy-content > p {
  font-size: 1.5rem;
  line-height: 1.9;
}
@media screen and (max-width: 800px) {
  .page-policy .policy-content > p {
    font-size: 1.4rem;
  }
}
.page-policy .policy-content > p:not(:first-of-type) {
  margin-top: 1.6rem;
}
.page-policy .policy-content > p:last-of-type {
  margin-bottom: 3.2rem;
}
@media screen and (max-width: 800px) {
  .page-policy .policy-content > p:last-of-type {
    margin-bottom: 2.4rem;
  }
}
.page-policy .policy-content > p:first-of-type {
  margin-bottom: 2.4rem;
}
.page-policy .policy-content__list {
  margin-top: 0;
  display: flex;
  flex-direction: column;
  gap: 2.8rem;
}
@media screen and (max-width: 800px) {
  .page-policy .policy-content__list {
    gap: 2rem;
  }
}
.page-policy .policy-content__list:not(:first-of-type) {
  margin-top: 2.8rem;
}
@media screen and (max-width: 800px) {
  .page-policy .policy-content__list:not(:first-of-type) {
    margin-top: 2rem;
  }
}
.page-policy .policy-content__title {
  font-weight: 700;
  font-size: 1.7rem;
  line-height: 1.5;
  color: #151515;
  margin-bottom: 0.8rem;
}
@media screen and (max-width: 800px) {
  .page-policy .policy-content__title {
    font-size: 1.5rem;
  }
}
.page-policy .policy-content__txt {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  font-size: 1.5rem;
  line-height: 1.9;
}
@media screen and (max-width: 800px) {
  .page-policy .policy-content__txt {
    font-size: 1.4rem;
    gap: 1.2rem;
  }
}
.page-policy .policy-content__txt > p {
  margin: 0;
}
.page-policy .policy-content__txt a {
  text-decoration: underline;
  color: inherit;
}
.page-policy .policy-content ul {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  line-height: 1.75;
  counter-reset: item;
  margin: 0;
  padding: 0;
  list-style: none;
}
.page-policy .policy-content ul li {
  display: flex;
  gap: 1.2rem;
  counter-increment: item;
  font-size: 1.5rem;
}
@media screen and (max-width: 800px) {
  .page-policy .policy-content ul li {
    font-size: 1.4rem;
  }
}
.page-policy .policy-content ul li::before {
  content: "(" counter(item) ")";
  flex-shrink: 0;
  font-weight: 500;
}
.page-policy .policy-content ol {
  margin: 1.2rem 0 0;
  padding-left: 2.4rem;
  list-style: decimal;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.page-policy .policy-content ol li {
  display: list-item;
  font-size: 1.5rem;
  line-height: 1.75;
}
@media screen and (max-width: 800px) {
  .page-policy .policy-content ol li {
    font-size: 1.4rem;
  }
}
.page-policy .policy-content ol li::before {
  content: none !important;
}
.page-policy .policy-content > ul {
  margin-top: 3.2rem;
}
@media screen and (max-width: 800px) {
  .page-policy .policy-content > ul {
    margin-top: 2.4rem;
  }
}
.page-policy .policy-content > ol {
  margin-top: 2.4rem;
}
@media screen and (max-width: 800px) {
  .page-policy .policy-content > ol {
    margin-top: 2rem;
  }
}

.policy-cta {
  position: relative;
  padding: 7.2rem 0;
  background: linear-gradient(160deg, #2c2c2c 0%, #121212 55%, #0a0a0a 100%);
  overflow: hidden;
}
@media screen and (max-width: 800px) {
  .policy-cta {
    padding: 4.8rem 0;
  }
}
.policy-cta::before {
  content: "";
  position: absolute;
  right: 8%;
  top: 50%;
  transform: translate(30%, -50%);
  width: min(48rem, 90vw);
  height: min(48rem, 90vw);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.07) 0%, transparent 68%);
  pointer-events: none;
}
.policy-cta .inner {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
.policy-cta__link {
  display: inline-flex;
  align-items: center;
  gap: 1.6rem;
  font-size: clamp(3.2rem, 5vw, 5.6rem);
  font-weight: 600;
  letter-spacing: 0.06em;
  color: #fff;
  text-transform: uppercase;
  font-family: "Inter Tight", sans-serif, sans-serif;
  line-height: 1;
  transition: opacity 0.2s ease;
}
@media screen and (min-width: 801px) {
  .policy-cta__link:hover {
    opacity: 0.88;
  }
}
.policy-cta__icon {
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  background-color: #c33335;
  display: block;
}

.page-contact .subpage-kv-simple .subpage-kv__ttl {
  width: 100%;
  text-align: left;
  color: #151515;
  font-size: 5.4rem;
  line-height: 1;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 800px) {
  .page-contact .subpage-kv-simple .subpage-kv__ttl {
    font-size: 4.6rem;
  }
}

.contact-content {
  padding-bottom: 10.8rem;
}
@media screen and (max-width: 800px) {
  .contact-content {
    padding-bottom: 8rem;
  }
}
.contact-content .contact-area,
.contact-content .thanks-area {
  width: 100%;
  margin: 0 auto;
  background-color: rgba(255, 255, 255, 0.4);
  padding: 8.64rem 2.7rem;
}
.contact-content .contact-area form,
.contact-content .contact-area .thanks-area__inner,
.contact-content .thanks-area form,
.contact-content .thanks-area .thanks-area__inner {
  max-width: 91.98rem;
  margin: auto;
}
@media screen and (max-width: 800px) {
  .contact-content .contact-area,
  .contact-content .thanks-area {
    padding: 4.8rem 2.4rem;
  }
}
.contact-content .contact-area__desc {
  font-size: 1.4rem;
  line-height: 1.9;
  margin-bottom: 4rem;
}
@media screen and (max-width: 800px) {
  .contact-content .contact-area__desc {
    font-size: 1.3rem;
    margin-bottom: 2.4rem;
  }
}
.contact-content .form-table {
  line-height: 1.75;
  font-size: max(1.6rem, 16px);
  padding: 2.16rem 0;
}
@media screen and (max-width: 800px) {
  .contact-content .form-table {
    padding: 1.2rem 0;
  }
}
.contact-content .form-table__title {
  font-size: 1.4rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 1.2rem;
}
@media screen and (max-width: 800px) {
  .contact-content .form-table__title {
    font-size: 1.3rem;
    margin-bottom: 0.8rem;
  }
}
.contact-content .form-table .required {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.8rem;
  height: 1.6rem;
  padding: 0 0.6rem;
  font-size: 1rem;
  line-height: 1;
  color: #fff;
  background: #d24d68;
  border-radius: 0.1rem;
}
.contact-content .form-table__input input[type=text],
.contact-content .form-table__input input[type=email],
.contact-content .form-table__input input[type=tel] {
  border-bottom: 0.1rem solid rgba(21, 21, 21, 0.2);
  width: 100%;
  padding-bottom: 0.8rem;
  outline: none;
  transition: border-color 0.3s;
}
.contact-content .form-table__input input[type=text]:focus,
.contact-content .form-table__input input[type=email]:focus,
.contact-content .form-table__input input[type=tel]:focus {
  border-color: #151515;
}
.contact-content .form-table__input input[type=text]::placeholder,
.contact-content .form-table__input input[type=email]::placeholder,
.contact-content .form-table__input input[type=tel]::placeholder {
  color: rgba(21, 21, 21, 0.38);
}
.contact-content .form-table__input textarea {
  width: 100%;
  min-height: 15.2rem;
  padding: 1.2rem;
  outline: none;
  background: rgba(255, 255, 255, 0.75);
  border: 0.1rem solid rgba(21, 21, 21, 0.2);
  transition: border-color 0.3s;
  font-size: max(1.6rem, 16px);
}
.contact-content .form-table__input textarea:focus {
  border-color: #151515;
}
.contact-content .form-table__input textarea::placeholder {
  color: rgba(21, 21, 21, 0.38);
}
.contact-content .form-table__column {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.2rem;
}
@media screen and (max-width: 800px) {
  .contact-content .form-table__column {
    gap: 1.6rem;
  }
}
.contact-content .form-table__column__item {
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
.contact-content .form-table__column__txt {
  width: 2.2em;
  flex-shrink: 0;
  font-size: 1.3rem;
  color: rgba(21, 21, 21, 0.7);
}
.contact-content .form-table__column__input {
  width: 100%;
}
.contact-content .form-table__notes {
  font-size: 1.1rem;
  margin-top: 1rem;
  color: rgba(21, 21, 21, 0.75);
  line-height: 1.7;
}
.contact-content .form-table.is-error .error-txt {
  display: block;
}
.contact-content .list-radio {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.contact-content .form-radio,
.contact-content .form-checkbox {
  display: block;
  width: fit-content;
  padding-left: 2.4rem;
  position: relative;
  font-size: 1.4rem;
  cursor: pointer;
  line-height: 1.4;
}
.contact-content .form-radio input,
.contact-content .form-checkbox input {
  display: none;
}
.contact-content .form-radio::before, .contact-content .form-radio::after,
.contact-content .form-checkbox::before,
.contact-content .form-checkbox::after {
  content: "";
  width: 1.4rem;
  height: 1.4rem;
  border: 0.1rem solid rgba(21, 21, 21, 0.4);
  background-color: #fff;
  position: absolute;
  left: 0;
  top: 0.2rem;
  border-radius: 100vh;
}
.contact-content .form-radio::after,
.contact-content .form-checkbox::after {
  border-color: #fff;
  border: 0.5rem solid #151515;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.3s;
}
.contact-content .form-radio:has(input:checked)::after,
.contact-content .form-checkbox:has(input:checked)::after {
  opacity: 1;
}
.contact-content .form-privacy {
  margin: 3.2rem 0;
  padding-top: 2.4rem;
  border-top: 0.1rem solid rgba(21, 21, 21, 0.14);
  line-height: 1.8;
  font-size: 1.3rem;
}
.contact-content .form-privacy__check {
  margin-bottom: 1.6rem;
}
.contact-content .form-privacy__txt a {
  text-decoration: underline;
}
.contact-content .form-btn {
  margin-top: 3.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.4rem;
}
@media screen and (max-width: 800px) {
  .contact-content .form-btn {
    margin-top: 2.4rem;
    flex-direction: column;
    gap: 1.2rem;
  }
}
.contact-content .btn-form {
  min-width: 21rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.contact-content .error-txt {
  display: none;
  color: #c33335;
  font-size: 1.2rem;
  margin-top: 0.8rem;
}

.page-contact--confirm .form-table {
  margin: 0;
  display: grid;
  grid-template-columns: 23.4rem 1fr;
  gap: 2.4rem;
  align-items: start;
}
@media screen and (max-width: 800px) {
  .page-contact--confirm .form-table {
    grid-template-columns: 1fr;
    gap: 0.8rem;
    padding: 1rem 0;
  }
}
.page-contact--confirm .form-table__title {
  margin: 0;
  padding-top: 0.1rem;
  font-size: 1.3rem;
}
.page-contact--confirm .form-table .required {
  display: none;
}
.page-contact--confirm .form-table__input {
  font-size: 1.4rem;
  color: rgba(21, 21, 21, 0.92);
  line-height: 1.75;
  word-break: break-word;
}
.page-contact--confirm .form-btn {
  margin-top: 6rem;
}
@media screen and (max-width: 800px) {
  .page-contact--confirm .form-btn {
    margin-top: 2.4rem;
  }
}
@media screen and (max-width: 800px) {
  .page-contact--confirm .form-btn .btn-form--back {
    order: 2;
  }
}

.page-contact--thanks .thanks-area {
  text-align: center;
}
@media screen and (max-width: 800px) {
  .page-contact--thanks .thanks-area {
    text-align: left;
  }
}
.page-contact--thanks .thanks-area__title {
  font-size: 3.15rem;
  line-height: 1.65;
  margin-bottom: 3.6rem;
}
@media screen and (max-width: 800px) {
  .page-contact--thanks .thanks-area__title {
    font-size: 2.3rem;
    text-align: center;
    margin-bottom: 3.2rem;
  }
}
.page-contact--thanks .thanks-area p {
  max-width: 64.8rem;
  margin: 0 auto 7.2rem;
  font-size: 1.44rem;
  line-height: 2;
}
@media screen and (max-width: 800px) {
  .page-contact--thanks .thanks-area p {
    max-width: none;
    font-size: 1.4rem;
    text-align: left;
    margin-bottom: 4.8rem;
  }
}
.page-contact--thanks .thanks-area .btn-back {
  margin: 5.6rem auto 0;
  width: 18rem;
  justify-content: center;
  padding-bottom: 1.4rem;
}
@media screen and (max-width: 800px) {
  .page-contact--thanks .thanks-area .btn-back {
    margin-top: 3.2rem;
    width: 100%;
  }
}

@media screen and (min-width: 801px) {
  .page-service .subpage__titlearea {
    margin-bottom: 7.9rem;
  }
}
@media screen and (min-width: 801px) {
  .page-service .title2 {
    font-size: 3.4rem;
  }
}
.page-service .title2 {
  margin-bottom: 5.6rem;
}
@media screen and (max-width: 800px) {
  .page-service .title2 {
    margin-bottom: 2.4rem;
  }
}

.service-desc {
  margin-bottom: 24rem;
}
@media screen and (max-width: 800px) {
  .service-desc {
    margin-bottom: 8rem;
  }
}
.service-desc p {
  max-width: 60rem;
  margin: 0 0 0 auto;
  font-size: 2rem;
  font-weight: 300;
  line-height: 1.6;
}
@media screen and (max-width: 800px) {
  .service-desc p {
    font-size: 1.6rem;
    line-height: 2;
  }
}

.service-info {
  padding: 13rem 0 26rem;
  background: url(/assets/images/service/bg.png) no-repeat center center/cover;
  background: url(/assets/images/service/bg.webp) no-repeat center center/cover;
  clip-path: polygon(0 8rem, 100% 0, 100% calc(100% - 8rem), 0% 100%);
}
@media screen and (max-width: 800px) {
  .service-info {
    padding: 10rem 0;
    clip-path: polygon(0 2rem, 100% 0, 100% calc(100% - 2rem), 0% 100%);
  }
}
.service-info .inner {
  position: relative;
}
.service-info__desc {
  display: flex;
  align-items: center;
  gap: 3.2rem;
}
@media screen and (max-width: 800px) {
  .service-info__desc {
    flex-direction: column;
    gap: 1.6rem;
    margin-bottom: 5.6rem;
  }
}
@media screen and (min-width: 801px) {
  .service-info__desc__txt {
    width: 51.6rem;
    flex-shrink: 0;
  }
}

.service-content {
  display: flex;
  flex-direction: column;
  gap: 5.6rem;
}
@media screen and (max-width: 800px) {
  .service-content {
    gap: 6.4rem;
  }
}
.service-content__title {
  line-height: 1.6;
  margin-bottom: 3.2rem;
}
@media screen and (max-width: 800px) {
  .service-content__title {
    margin-bottom: 1.6rem;
  }
}
.service-content .btn1 {
  margin: 4.8rem 0 0 auto;
}
@media screen and (max-width: 800px) {
  .service-content .btn1 {
    margin-top: 4rem;
  }
}

.service-ai {
  padding: 14rem 0 0;
}
@media screen and (max-width: 800px) {
  .service-ai {
    padding: 8rem 0 0;
  }
}
.service-ai__desc {
  position: relative;
  margin-bottom: 12rem;
}
@media screen and (max-width: 800px) {
  .service-ai__desc {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 801px) {
  .service-ai__desc .title2 {
    margin-bottom: 3.8rem;
  }
}
.service-ai__desc__txt {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media screen and (max-width: 800px) {
  .service-ai__desc__txt {
    gap: 2.4rem;
  }
}
@media screen and (min-width: 801px) {
  .service-ai__desc__txt p:nth-child(2) {
    max-width: 61.8rem;
  }
}
@media screen and (min-width: 801px) {
  .service-ai__desc__img {
    width: 69.5rem;
    position: absolute;
    top: 30rem;
    right: -9.2rem;
  }
  .service-ai__desc__img img {
    width: 100%;
  }
}
@media screen and (max-width: 800px) {
  .service-ai__desc__img {
    margin: 0 -3.2rem;
  }
}

.service-introduction {
  margin-top: 14rem;
  border: 0.1rem solid #fff;
  background-color: rgba(255, 255, 255, 0.2);
  padding: 4.8rem 5rem 4rem;
}
@media screen and (max-width: 800px) {
  .service-introduction {
    margin-top: 10rem;
    padding: 2.4rem 1.6rem 2rem;
  }
}
.service-introduction .title2 {
  margin-bottom: 4.8rem;
}
@media screen and (max-width: 800px) {
  .service-introduction .title2 {
    margin-bottom: 2.4rem;
  }
}
.service-introduction p {
  margin-bottom: 5.6rem;
}
@media screen and (max-width: 800px) {
  .service-introduction p {
    margin-bottom: 4rem;
  }
}

.service-top {
  padding-top: 18rem;
  padding-bottom: 18rem;
}
@media screen and (max-width: 800px) {
  .service-top {
    padding-top: 12rem;
    padding-bottom: 12rem;
  }
}
.service-top .inner {
  position: relative;
}

.service-top-intro {
  margin-bottom: 12.6rem;
}
@media screen and (max-width: 800px) {
  .service-top-intro {
    margin-bottom: 8rem;
  }
}
.service-top-intro .title2 {
  margin-bottom: 3.6rem;
}
@media screen and (max-width: 800px) {
  .service-top-intro .title2 {
    margin-bottom: 2.4rem;
  }
}
.service-top-intro__txt {
  display: flex;
  flex-direction: column;
  gap: 2.16rem;
}
@media screen and (max-width: 800px) {
  .service-top-intro__txt {
    gap: 1.6rem;
  }
}

.service-top-fde {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 46.8rem;
  align-items: center;
  gap: 6.48rem;
  margin-bottom: 12.6rem;
}
@media screen and (max-width: 800px) {
  .service-top-fde {
    grid-template-columns: 1fr;
    gap: 4rem;
    margin-bottom: 8rem;
  }
}
.service-top-fde .title2 {
  margin-bottom: 2.88rem;
}
@media screen and (max-width: 800px) {
  .service-top-fde .title2 {
    margin-bottom: 2.4rem;
  }
}
.service-top-fde__list {
  display: flex;
  flex-direction: column;
  gap: 1.44rem;
  margin-bottom: 3.6rem;
}
@media screen and (max-width: 800px) {
  .service-top-fde__list {
    gap: 1.2rem;
    margin-bottom: 2.4rem;
  }
}
.service-top-fde__list__item {
  display: grid;
  grid-template-columns: 10.08rem 1fr;
  gap: 2.16rem;
  padding-top: 1.44rem;
  border-top: 1px solid rgba(21, 21, 21, 0.16);
}
@media screen and (max-width: 800px) {
  .service-top-fde__list__item {
    grid-template-columns: 1fr;
    gap: 0.8rem;
    padding-top: 1.2rem;
  }
}
.service-top-fde__list__item dt {
  font-weight: 600;
  line-height: 1.8;
}
.service-top-fde__list__item dd {
  line-height: 1.8;
}
.service-top-fde__txt {
  display: flex;
  flex-direction: column;
  gap: 2.16rem;
}
@media screen and (max-width: 800px) {
  .service-top-fde__txt {
    gap: 1.6rem;
  }
}
.service-top-fde__link {
  margin-top: 2.88rem;
  font-weight: 600;
}
@media screen and (max-width: 800px) {
  .service-top-fde__link {
    margin-top: 2.4rem;
  }
}
.service-top-fde__link a {
  display: inline-flex;
  align-items: center;
  gap: 0.72rem;
  transition: opacity 0.3s;
}
.service-top-fde__link a::before {
  content: "▶";
  font-size: 0.75em;
  color: #c33335;
}
.service-top-fde__link a:hover {
  opacity: 0.7;
}
.service-top-fde__diagram {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.16rem;
}
@media screen and (max-width: 800px) {
  .service-top-fde__diagram {
    gap: 1.2rem;
  }
}
.service-top-fde__cross {
  width: 4.32rem;
  height: 4.32rem;
  position: relative;
  flex-shrink: 0;
}
@media screen and (max-width: 800px) {
  .service-top-fde__cross {
    width: 2.8rem;
    height: 2.8rem;
  }
}
.service-top-fde__cross span {
  width: 100%;
  height: 1px;
  background-color: rgba(21, 21, 21, 0.8);
  position: absolute;
  left: 50%;
  top: 50%;
}
.service-top-fde__cross span:first-child {
  transform: translate(-50%, -50%) rotate(45deg);
}
.service-top-fde__cross span:nth-child(2) {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.service-top-fde__circle {
  width: 19.8rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #3f3f3f;
  color: rgba(255, 255, 255, 0.9);
  display: grid;
  place-items: center;
  text-align: center;
  font-size: 2.07rem;
  font-weight: 600;
  line-height: 1.5;
}
@media screen and (max-width: 800px) {
  .service-top-fde__circle {
    width: min(42vw, 16rem);
    font-size: 1.6rem;
  }
}

.service-top-solution {
  padding: 5.76rem;
  background-color: rgba(21, 21, 21, 0.04);
}
@media screen and (max-width: 800px) {
  .service-top-solution {
    padding: 4rem 2.4rem;
  }
}
.service-top-solution .title2 {
  margin-bottom: 2.16rem;
}
@media screen and (max-width: 800px) {
  .service-top-solution .title2 {
    margin-bottom: 1.6rem;
  }
}
.service-top-solution__lead {
  font-size: 2.16rem;
  line-height: 1.6;
  margin-bottom: 2.88rem;
}
@media screen and (max-width: 800px) {
  .service-top-solution__lead {
    font-size: 1.8rem;
    margin-bottom: 2.4rem;
  }
}
.service-top-solution__txt {
  display: flex;
  flex-direction: column;
  gap: 2.16rem;
}
@media screen and (max-width: 800px) {
  .service-top-solution__txt {
    gap: 1.6rem;
  }
}
.service-top-solution__list {
  display: grid;
  gap: 1.08rem;
}
@media screen and (max-width: 800px) {
  .service-top-solution__list {
    gap: 0.8rem;
  }
}
.service-top-solution__list li {
  position: relative;
  padding-left: 1.8rem;
  font-weight: 600;
  line-height: 1.8;
}
@media screen and (max-width: 800px) {
  .service-top-solution__list li {
    padding-left: 1.6rem;
  }
}
.service-top-solution__list li::before {
  content: "";
  width: 0.54rem;
  height: 0.54rem;
  border-radius: 50%;
  background-color: #c33335;
  position: absolute;
  top: 0.85em;
  left: 0;
}
@media screen and (max-width: 800px) {
  .service-top-solution__list li::before {
    width: 0.5rem;
    height: 0.5rem;
  }
}

.service-list {
  margin-top: 12.6rem;
  padding: 6.48rem 5.76rem 7.2rem;
  background-color: #fff;
}
@media screen and (max-width: 800px) {
  .service-list {
    margin-top: 8rem;
    padding: 4.8rem 2rem;
  }
}

.service-phases__ttl {
  font-size: 2.16rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 2.88rem;
  color: #4e1517;
}
@media screen and (max-width: 800px) {
  .service-phases__ttl {
    font-size: 2rem;
    margin-bottom: 2.4rem;
  }
}

.service-phases-flow {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.16rem;
  margin-bottom: 5.76rem;
}
@media screen and (max-width: 800px) {
  .service-phases-flow {
    grid-template-columns: 1fr;
    gap: 2.4rem;
    margin-bottom: 4.8rem;
  }
}
.service-phases-flow__item {
  position: relative;
  min-height: 16.2rem;
  background: linear-gradient(180deg, #fff6f6 0%, #f4d9da 100%);
  border-radius: 0.72rem;
  box-shadow: 0 0.72rem 1.62rem rgba(195, 51, 53, 0.18);
  overflow: hidden;
  display: grid;
  grid-template-rows: auto 1fr auto;
  align-items: center;
  justify-items: center;
  padding: 0 1.44rem 1.62rem;
  color: #5a1719;
}
.service-phases-flow__item:nth-child(2) {
  background: linear-gradient(180deg, #fff1f1 0%, #ecc3c4 100%);
}
.service-phases-flow__item:nth-child(3) {
  color: #fff;
  background: linear-gradient(180deg, #d95a5c 0%, #8f1f22 100%);
  box-shadow: 0 0.81rem 1.8rem rgba(195, 51, 53, 0.32);
}
.service-phases-flow__item:nth-child(4) {
  background: linear-gradient(180deg, #fff8f8 0%, #efd0d1 100%);
}
.service-phases-flow__item:not(:last-child)::after {
  content: "";
  width: 2.16rem;
  height: 4.32rem;
  background-color: rgba(195, 51, 53, 0.55);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  position: absolute;
  right: -2.16rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
@media screen and (max-width: 800px) {
  .service-phases-flow__item {
    min-height: 16rem;
    border-radius: 0.8rem;
    padding: 0 1.6rem 1.6rem;
  }
  .service-phases-flow__item:not(:last-child)::after {
    width: 3.2rem;
    height: 1.6rem;
    right: auto;
    top: auto;
    left: 50%;
    bottom: -1.9rem;
    transform: translateX(-50%);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }
}
.service-phases-flow__period {
  min-width: 8.64rem;
  margin-top: 1.08rem;
  padding: 0.36rem 1.08rem;
  background-color: #fff;
  color: #9e2a2d;
  border: 1px solid rgba(195, 51, 53, 0.4);
  font-family: "Inter Tight", sans-serif;
  font-size: 1.26rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-align: center;
  border-radius: 1.8rem;
}
@media screen and (max-width: 800px) {
  .service-phases-flow__period {
    min-width: 9.6rem;
    margin-top: 1.2rem;
    padding: 0.4rem 1.2rem;
    font-size: 1.4rem;
    border-radius: 2rem;
  }
}
.service-phases-flow__icon {
  width: 100%;
  min-height: 5.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.44rem;
  padding: 0.36rem 0;
}
.service-phases-flow__icon svg {
  width: 4.32rem;
  height: 4.32rem;
  flex-shrink: 0;
  overflow: visible;
}
@media screen and (max-width: 800px) {
  .service-phases-flow__icon {
    gap: 1.4rem;
    min-height: 5.6rem;
  }
  .service-phases-flow__icon svg {
    width: 4.6rem;
    height: 4.6rem;
  }
}
.service-phases-flow__ttl {
  width: calc(100% + 2.88rem);
  margin-inline: -1.44rem;
  padding: 1.08rem 0.72rem;
  background-color: #c33335;
  color: #fff;
  font-size: 1.62rem;
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
}
@media screen and (max-width: 800px) {
  .service-phases-flow__ttl {
    width: calc(100% + 3.2rem);
    margin-inline: -1.6rem;
    padding: 1.2rem 0.8rem;
    font-size: 1.8rem;
  }
}

.service-phases-detail {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 7.2rem;
  row-gap: 4.32rem;
}
@media screen and (max-width: 800px) {
  .service-phases-detail {
    grid-template-columns: 1fr;
    gap: 3.2rem;
  }
}
.service-phases-detail__ttl {
  font-size: 2.07rem;
  font-weight: 700;
  line-height: 1.45;
  margin-bottom: 1.08rem;
  color: #4e1517;
}
@media screen and (max-width: 800px) {
  .service-phases-detail__ttl {
    font-size: 1.8rem;
    margin-bottom: 1.2rem;
  }
}
.service-phases-detail__list {
  display: grid;
  gap: 0.36rem;
}
@media screen and (max-width: 800px) {
  .service-phases-detail__list {
    gap: 0.4rem;
  }
}
.service-phases-detail__list li {
  position: relative;
  padding-left: 1.44rem;
  font-size: 1.44rem;
  font-weight: 600;
  line-height: 1.55;
}
.service-phases-detail__list li::before {
  content: "";
  width: 0.45rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: currentColor;
  position: absolute;
  top: 0.7em;
  left: 0;
}
@media screen and (max-width: 800px) {
  .service-phases-detail__list li {
    padding-left: 1.4rem;
    font-size: 1.5rem;
    line-height: 1.65;
  }
  .service-phases-detail__list li::before {
    width: 0.5rem;
  }
}

.service-cases__txt {
  opacity: 0.8;
  margin-bottom: 2.88rem;
}
@media screen and (max-width: 800px) {
  .service-cases__txt {
    font-size: 1.6rem;
    margin-bottom: 3.2rem;
  }
}

.service-sublist {
  counter-reset: service-sublist;
  display: grid;
  gap: 7.2rem;
}
@media screen and (max-width: 800px) {
  .service-sublist {
    gap: 8rem;
  }
}
.service-sublist__item {
  counter-increment: service-sublist;
  display: grid;
  grid-template-columns: 36rem 1fr;
}
@media screen and (max-width: 800px) {
  .service-sublist__item {
    grid-template-columns: 1fr;
    gap: 3.2rem;
  }
}
.service-sublist__header {
  display: flex;
  align-items: flex-start;
  gap: 2.16rem;
}
@media screen and (max-width: 800px) {
  .service-sublist__header {
    gap: 2.4rem;
  }
}
.service-sublist__header::before {
  content: "0" counter(service-sublist);
  display: block;
  font-size: 3.6rem;
  font-family: "Inter Tight", sans-serif;
  font-weight: 300;
  opacity: 0.2;
  line-height: 1;
}
@media screen and (max-width: 800px) {
  .service-sublist__header::before {
    font-size: 3.2rem;
  }
}
.service-sublist__header__ttl {
  font-size: 2.43rem;
  line-height: 1.45;
}
@media screen and (max-width: 800px) {
  .service-sublist__header__ttl {
    font-size: 2rem;
  }
}
.service-sublist__ttl {
  font-size: 2.43rem;
  line-height: 1.65;
  margin-bottom: 2.16rem;
}
@media screen and (max-width: 800px) {
  .service-sublist__ttl {
    font-size: 2rem;
    margin-bottom: 1.6rem;
    letter-spacing: 0.04em;
  }
}
.service-sublist__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.72rem;
  margin-top: 2.16rem;
}
.service-sublist__list__item {
  font-size: 1.35rem;
  line-height: 1;
  color: #fff;
  background-color: rgba(21, 21, 21, 0.33);
  padding: 0.72rem;
}

.recruit .btn-footerlink {
  display: none !important;
}

.page-recruit {
  overflow: hidden;
}
.page-recruit .recruit__ttl {
  font-size: 10.8rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 1.53rem;
  text-transform: uppercase;
  position: absolute;
  top: -6.03rem;
  left: -3.6rem;
  font-family: "Inter Tight", sans-serif;
  z-index: -1;
}
@media screen and (max-width: 800px) {
  .page-recruit .recruit__ttl {
    font-size: 5.04rem;
    left: 0;
    top: -3rem;
    z-index: -1;
    color: rgba(255, 255, 255, 0.8);
  }
}
.page-recruit .recruit__ttl .title2 {
  position: relative;
  z-index: 5;
}
@media screen and (max-width: 800px) {
  .page-recruit .title2 {
    font-size: 2rem;
    margin-bottom: 2.4rem;
  }
}
.page-recruit .recruit__txt {
  max-width: 86.4rem;
  font-size: 1.62rem;
  font-weight: 300;
  line-height: 1.8;
  color: rgba(21, 21, 21, 0.8);
  margin-bottom: 5.76rem;
}
@media screen and (max-width: 800px) {
  .page-recruit .recruit__txt {
    font-size: 1.6rem;
    margin-bottom: 4rem;
  }
}

.recruit-message {
  display: grid;
  grid-template-columns: 64.17rem 1fr;
}
@media screen and (max-width: 800px) {
  .recruit-message {
    grid-template-columns: 1fr;
  }
}

.recruit-about {
  padding-bottom: 18rem;
}
@media screen and (max-width: 800px) {
  .recruit-about {
    padding-bottom: 10rem;
  }
}
.recruit-about .inner {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 46.44rem;
  gap: 7.56rem;
}
@media screen and (max-width: 800px) {
  .recruit-about .inner {
    grid-template-columns: 1fr;
    gap: 3.2rem;
  }
}
@media screen and (min-width: 801px) {
  .recruit-about__header {
    order: 2;
  }
}

.recruit-about__txt {
  display: flex;
  flex-direction: column;
  gap: 2em;
  max-width: 64.8rem;
}
@media screen and (min-width: 801px) {
  .recruit-about__txt {
    order: 1;
  }
}
@media screen and (max-width: 800px) {
  .recruit-about__txt {
    gap: 1.6em;
    font-size: 1.4rem;
  }
}

.recruit-values {
  padding-bottom: 18rem;
}
@media screen and (max-width: 800px) {
  .recruit-values {
    padding-bottom: 10rem;
  }
}
.recruit-values .inner {
  position: relative;
}

.recruit-value-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.16rem;
}
@media screen and (max-width: 800px) {
  .recruit-value-list {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
}
.recruit-value-list__item {
  padding: 3.6rem;
  background-color: rgba(255, 255, 255, 0.5);
}
@media screen and (max-width: 800px) {
  .recruit-value-list__item {
    padding: 2.4rem;
  }
}
.recruit-value-list__header {
  display: flex;
  align-items: flex-start;
  gap: 2.16rem;
  margin-bottom: 2.16rem;
}
@media screen and (max-width: 800px) {
  .recruit-value-list__header {
    gap: 1.6rem;
    margin-bottom: 1.6rem;
  }
}
.recruit-value-list__num {
  font-size: 3.6rem;
  font-weight: 300;
  line-height: 1;
  color: rgba(21, 21, 21, 0.2);
}
@media screen and (max-width: 800px) {
  .recruit-value-list__num {
    font-size: 3.2rem;
  }
}
.recruit-value-list__ttl {
  font-size: 2.16rem;
  font-weight: 300;
  line-height: 1.4;
}
@media screen and (max-width: 800px) {
  .recruit-value-list__ttl {
    font-size: 2rem;
  }
}
.recruit-value-list__en {
  margin-top: 0.4rem;
  font-size: 1.44rem;
  line-height: 1.2;
  letter-spacing: 0;
  color: rgba(21, 21, 21, 0.55);
}
@media screen and (max-width: 800px) {
  .recruit-value-list__en {
    font-size: 1.3rem;
  }
}
.recruit-value-list__txt {
  font-size: 1.53rem;
  line-height: 1.9;
  opacity: 0.8;
}
@media screen and (max-width: 800px) {
  .recruit-value-list__txt {
    font-size: 1.4rem;
  }
}

.recruit-approach {
  padding-bottom: 18rem;
}
@media screen and (max-width: 800px) {
  .recruit-approach {
    padding-bottom: 10rem;
  }
}
.recruit-approach .inner {
  position: relative;
}

.recruit-list {
  display: flex;
  flex-direction: column;
  gap: 4.32rem;
  padding: 5.76rem;
  background-color: rgba(255, 255, 255, 0.5);
}
@media screen and (max-width: 800px) {
  .recruit-list {
    gap: 5.6rem;
    padding: 2.4rem;
  }
}
.recruit-list__item {
  display: grid;
  grid-template-columns: 28.8rem 1fr;
  gap: 4.32rem;
}
@media screen and (max-width: 800px) {
  .recruit-list__item {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
}
.recruit-list__main {
  flex: 1;
  min-width: 0;
  padding-top: 0.72rem;
}
@media screen and (max-width: 800px) {
  .recruit-list__main {
    padding-top: 0;
  }
}
.recruit-list__ttl {
  font-size: 2.16rem;
  font-weight: 300;
  line-height: 1.5;
  margin-bottom: 1.8rem;
}
@media screen and (max-width: 800px) {
  .recruit-list__ttl {
    font-size: 2rem;
    margin-bottom: 0.8rem;
  }
}
.recruit-list__txt {
  font-size: 1.62rem;
  font-weight: 300;
  line-height: 1.8;
}
@media screen and (max-width: 800px) {
  .recruit-list__txt {
    font-size: 1.6rem;
  }
}
.recruit-list.--align-center .recruit-list__ttl {
  display: flex;
  align-items: center;
}

.recruit-characteristics {
  padding-bottom: 14.4rem;
}
@media screen and (max-width: 800px) {
  .recruit-characteristics {
    padding-bottom: 6.4rem;
  }
}
.recruit-characteristics .inner {
  position: relative;
}

.recruit-char-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2.88rem;
  padding: 5.76rem;
  background-color: rgba(255, 255, 255, 0.5);
}
@media screen and (max-width: 800px) {
  .recruit-char-list {
    gap: 2.4rem;
  }
}
.recruit-char-list__item {
  display: grid;
  grid-template-columns: 28.8rem 1fr;
  gap: 4.32rem;
  align-items: center;
}
.recruit-char-list__txt {
  flex: 1;
  margin: 0;
  font-size: 2.43rem;
  font-weight: 300;
  line-height: 1.75;
}
@media screen and (max-width: 800px) {
  .recruit-char-list__txt {
    font-size: 1.5rem;
  }
}

.recruit-cta {
  padding-bottom: 21.6rem;
  text-align: center;
}
@media screen and (max-width: 800px) {
  .recruit-cta {
    padding-bottom: 9.6rem;
  }
}
.recruit-cta__ttl {
  font-size: 3.15rem;
  line-height: 1.5;
  font-weight: 300;
  margin-bottom: 3.6rem;
}
@media screen and (max-width: 800px) {
  .recruit-cta__ttl {
    font-size: 2.3rem;
    margin-bottom: 3.2rem;
  }
}
.recruit-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 25.2rem;
  padding: 1.62rem 4.32rem;
  font-size: 1.62rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #fff;
  background-color: #151515;
  border-radius: 0.18rem;
  transition: opacity 0.3s, background-color 0.3s;
}
@media screen and (max-width: 800px) {
  .recruit-cta__btn {
    max-width: 45rem;
    padding: 2.4rem;
    min-width: unset;
    width: 100%;
    font-size: 2rem;
    font-weight: 400;
    line-height: 1;
  }
}
@media screen and (min-width: 801px) {
  .recruit-cta__btn:hover {
    opacity: 0.88;
  }
}

.opacity080 {
  opacity: 0.8;
}
@media screen and (max-width: 800px) {
  .opacity080 {
    opacity: 1;
  }
}

.text-transform-unset {
  text-transform: unset !important;
}

.text-transform-normal {
  text-transform: none !important;
}

/*# sourceMappingURL=style.css.map */
