@charset "utf-8";

#mvtxt {
  overflow: hidden;
}

#mvtxt img {
  display: none;
}

.header__logo {
  opacity: 0;
}

#js-mouse {
  pointer-events: none;
  position: fixed;
  top: -60px;
  left: -50px;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  transition: opacity 0.3s;
  z-index: 20;
  opacity: 0;
  transform: translate(0, 0);
  background: #ffffff;
  mix-blend-mode: exclusion;
}

.js-mouse__state {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  overflow: hidden;
  position: relative;
  height: 13px;
  display: inline-block;
}

.js-mouse__state-txt {
  font-family: neue-haas-grotesk-display, sans-serif;
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.04em;
  color: #000000;
  text-align: center;
  display: none;
}

@media screen and (max-width: 500px) {
  #js-mouse {
    display: none;
  }
}

main {
  padding-top: 0;
}

/* アニメーションの開始時の透明度を 0 に設定 */
.fadein {
  opacity: 0;
  transform: translateY(50px);
}

/* フェードインのアニメーションを定義 */
@keyframes fadeInUpAnimation {
  from {
    opacity: 0;
    transform: translateY(50px);
    /* 要素を上に50px移動 */
  }

  to {
    opacity: 1;
    transform: translateY(0);
    /* 要素を元の位置に戻す */
  }
}

/* アニメーションの実行時間とイージングを設定 */
.anime {
  animation-delay: 0.5s;
  animation-duration: 1s;
  /* アニメーションの時間（秒） */
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
  /* イージングの設定 */
}

/* 実際のフェードインのアニメーションを適用するクラス */
.fadein.show {
  animation-name: fadeInUpAnimation;
}

.headingIndex__txt--en {
  font-family: neue-haas-grotesk-display, sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 90px;
}

.headingIndex__txt--ja {
  font-size: 18px;
  letter-spacing: -0.02em;
}

.headingIndex__catch {
  margin-top: 31px;
  line-height: 1.75;
}

br.b-750 {
  display: none;
}

body {
  background-color: #000;
}

.js-trigger {
  position: relative;
  overflow: hidden;
}

.columns {
  left: -7%;
  opacity: 0.3;
  mix-blend-mode: screen;
  width: 104vw;
  justify-content: center;
  gap: 15px;
  transform: rotate(-29deg);
  will-change: transform, opacity;
  align-items: center;
  display: flex;
  position: absolute;
  top: 0;
}

.columns .columns__wrap {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  will-change: transform;
}

.columns__item {
  position: relative;
  overflow: hidden;
  margin-bottom: 15px;
  transition: transform 2s cubic-bezier(0, 0, 0, 1) 0s;
}

.columns__item-img {
  width: 534px;
  height: 286px;
  background-size: cover;
  background-position: 50% 50%;
  will-change: transform;
}

.arrowAnime--wh2 {
  display: none;
}

@media screen and (min-width: 1280px) {
  .columns__item-img {
    width: 33.9vw;
    height: 22.34375vw;
  }
}

@media screen and (max-width: 750px) {
  .columns__item-img {
    width: 329px;
    height: 217px;
  }
}

/*--------------------------------
    statement
--------------------------------*/

#sec-state {
}

.statement {
  color: #fff;
  padding-top: 400px;
  padding-bottom: 336px;
}

.statement__wrapper {
  max-width: 785px;
  margin-left: auto;
}

.statement__txt--en {
  color: #808080;
  font-size: 13px;
  font-family: neue-haas-grotesk-display, sans-serif;
  font-weight: 500;
  font-style: normal;
  margin-bottom: 108px;
}

.statement__catchWrapper {
  padding-bottom: 117.5px;
}

.statement__catch {
  font-size: 87px;
  letter-spacing: -0.085em;
  font-weight: bold;
  line-height: 1;
}

.statement__txtWrapper {
  margin-bottom: 135px;
}

.statement__txt--ja {
  font-size: 24px;
  line-height: 1;
  font-weight: bold;
  margin-bottom: 22px;
}

.statement__btn {
  width: fit-content;
}

.text-animation {
  opacity: 0;
}

.text-animation.show {
  opacity: 1;
}

.text-animation.show .text-animation-span {
  display: inline-block;
  overflow: hidden;
}

.text-animation.show span {
  display: inline-block;
  animation: showText 1s backwards;
}

.text-animation br {
  display: block;
}

@keyframes showText {
  0% {
    opacity: 0;
    transform: translateY(100%);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/*--------------------------------
    journal
--------------------------------*/

.journal-pick__box {
  padding-top: 200px;
  padding-bottom: 100px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.journal-pick__contents-item {
  display: none;
}

.journal-pick__contents-item.active {
  display: block;
}

.journal-pick__info {
  display: flex;
  align-items: center;
  font-family: neue-haas-grotesk-display, sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0.04em;
  margin-bottom: 30px;
}

.journal-pick__top {
  width: 45%;
  padding-top: 24px;
}

.journal-pick__cat {
  padding: 3px 17px;
  border-radius: 12px;
  border: 1px #000000 solid;
  margin-right: 10px;
}

.journal-pick__title {
  font-size: 32px;
  font-weight: bold;
  letter-spacing: -0.04em;
  margin-bottom: 30px;
  font-feature-settings: "palt";
  line-height: 1.37;
}

.journal-pick__key {
  display: flex;
  flex-wrap: wrap;
  letter-spacing: -0.04em;
  margin-bottom: 65px;
}

.journal-pick__key li {
  margin-right: 12px;
  margin-bottom: 6px;
  font-size: 15px;
}

.journal-pick .headingIndex {
  margin-bottom: 46px;
}

.journal-slider {
  display: inline-flex;
  width: 37%;
  margin-right: 6%;
  position: relative;
}

.journal-slider__content {
  width: 100%;
}

.journal-pick .caseBtn {
  margin-left: 0;
}

.slider__back {
  position: relative;
  top: 1.1%;
  -webkit-transform: rotate(-8deg);
  -moz-transform: rotate(-8deg);
  transform: rotate(-8deg);
  z-index: 0;
}

.journal-slider__wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.journal-slider__ph {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
  clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
  transition: transform 0s 1000ms, -webkit-clip-path 850ms var(--ease-in-out-enjin);
  transition: clip-path 100ms var(--ease-in-out-enjin), transform 0s 850ms;
  transition: clip-path 1000ms var(--ease-in-out-enjin), transform 0s 850ms, -webkit-clip-path 850ms var(--ease-in-out-enjin);
  transform: translate3d(-20rem, 0, 0);
  width: 100%;
}

.journal-slider__ph.active {
  z-index: 0;
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  transition: transform 1200ms var(--ease-out-enjin), -webkit-clip-path 0s;
  transition: clip-path 0s, transform 1200ms var(--ease-out-enjin);
  transition: clip-path 0s, transform 1200ms var(--ease-out-enjin), -webkit-clip-path 0s;
  transform: translate3d(0, 0, 0);
}

.journal-slider__ph img {
  object-fit: cover;
  aspect-ratio: 277/366;
}

.indicators {
  position: absolute;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  right: -16%;
  top: 0;
  height: 100%;
}

.indicator {
  height: 3px;
  width: 3px;
  border-radius: 50%;
  background-color: black;
  border-radius: 90%;
  cursor: pointer;
}

.indicator {
  position: relative;
}

.indicator__cy {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  display: none;
}

.indicator svg {
  transform-origin: center center;
  transform: rotate(-90deg);
}

.indicator circle {
  fill: transparent;
  stroke: #000000;
  stroke-width: 1;
  /* keyframes名 速さ 繰り返し 開始までの間隔 */
}

.indicator.active .indicator__cy {
  display: block;
}

.indicator.active circle {
  animation: circle 30s infinite linear forwards;
}

@keyframes circle {
  0% {
    stroke-dasharray: 0 366;
  }

  99.9%,
  to {
    stroke-dasharray: 366 366;
  }
}

.indicator:not(:last-child) {
  margin-bottom: 14px;
}

.indicator.active {
  width: 8.5px;
  height: 8.5px;
  cursor: default;
}

/*--------------------------------
    works
--------------------------------*/
.works {
  overflow: hidden;
  padding-top: 180px;
}

.works .headingIndex {
  margin-bottom: 63px;
}

.works__cat {
  font-family: neue-haas-grotesk-display, sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 22px;
  margin-bottom: 20px;
  letter-spacing: 0.04em;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 5;
  background-color: rgb(234, 234, 234);
  writing-mode: vertical-rl;
  text-orientation: mixed;
}

.worksBtn {
  margin-top: 60px;
}

.works__slides-item .swiper-slide {
  transition: transform 0.3s ease-out;
}

.works__slides-item .swiper-slide-active {
  transform: translate3d(0, 0, 0);
}

.works__slides {
  margin-bottom: 55px;
}

.works__slider .swiper-wrapper {
  transition-timing-function: linear;
}

.works__slider-elm {
  overflow: hidden;
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  display: flex;
  align-items: center;

  height: 100%;
}

.works__slider-elm img {
  object-fit: cover;
}

.works__slider--type1 img {
  aspect-ratio: 257/184;
}

.works__slider--type2 img {
  /**aspect-ratio: 188/182;**/
  object-fit: contain;
}

.works__slider--type2 .swiper-slide {
}

.works__slider--type1-1 .swiper-slide,
.works__slider--type1-2 .swiper-slide {
  width: 20.2%;
  height: auto !important;
}

.works__slider--type2 .swiper-slide {
  width: 14.7%;
  height: auto !important;
}

.works__slider-back {
  opacity: 0;
  transition: background-color 0.3s;
  position: absolute;
  width: 100%;
  height: 100%;
}

.works__slider-title {
  text-align: center;
  width: 100%;
  color: #fff;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: -0.02em;
}

.works__slider-elm:hover .works__slider-back {
  background-color: black;
  opacity: 0.4;
}

.works__slider-elm:hover .works__slider-title {
  opacity: 1;
}

/* auto slider ベース設定 */
.js-auto-slider-wrap {
  overflow: hidden;
}

.js-auto-slider {
  display: flex;
}

.js-auto-slider-wrap img {
  height: auto;
  width: 100%;
  object-fit: cover;
}

.js-auto-slider-wrap--1 {
  width: 65%;
}

.js-auto-slider-wrap--2 {
  width: 35%;
  position: absolute;
  top: -112px;
  right: 0;
}

.js-auto-slider-wrap--1 img {
  aspect-ratio: 604/375;
}

.js-auto-slider-wrap--2 img {
  aspect-ratio: 494/356;
}

.js-auto-slider-wrap--3 img {
  /**aspect-ratio: 252/366;**/
}

.js-auto-slider-elm {
  overflow: hidden;
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  display: block;
}

.js-auto-slider-wrap--1 .js-auto-slider-elm {
  width: 100%;
}

.js-auto-slider-wrap--2 .js-auto-slider-elm {
  width: 100%;
}

.js-auto-slider-wrap--3 .js-auto-slider-elm {
  width: 100%;
}

.js-auto-slider-elm__title {
  text-align: center;
  width: 100%;
  color: #fff;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: -0.02em;
}

.js-auto-slider-img img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  object-fit: cover;
}

/* auto slider 表示エリア */
.js-auto-slider-inner {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.js-auto-slider-elm__back {
  opacity: 0;
  transition: background-color 0.3s;
  position: absolute;
  width: 100%;
  height: 100%;
}

.js-auto-slider-elm:hover .js-auto-slider-elm__back {
  background-color: black;
  opacity: 0.4;
}

.js-auto-slider-elm:hover .js-auto-slider-elm__title {
  opacity: 1;
}

.works .arrow__btn {
  margin-left: auto;
}

@media screen and (max-width: 1075px) {
  .works--inner {
    width: 100%;
    padding-left: 3%;
  }
}

@media screen and (max-width: 768px) {
  .mv-slider__txt-wrap1 {
  }

  .works__cat {
    font-size: 14px;
  }

  .works .headingIndex {
    width: 88%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 37px;
  }

  .works--inner {
    width: 100%;
  }

  .js-auto-slider-elm__title {
    font-size: 12px;
  }

  .works__slider--type1-1 .swiper-slide,
  .works__slider--type1-2 .swiper-slide {
    width: 43.2%;
  }

  .works__slider--type2 .swiper-slide {
    width: 33.2%;
  }
}

@media screen and (max-width: 749px) {
}

/*--------------------------------
    case-study
--------------------------------*/
.case {
  padding-top: 166px;
  padding-bottom: 260px;
}

.case .headingIndex {
  margin-bottom: 74px;
}

.case__wrapper {
  display: flex;
  justify-content: space-between;
}

.case__itemWrapper {
  width: 48.5%;
}

.case__itemWrapper:nth-child(1) {
  display: flex;
  flex-direction: column;
}

.caseItem {
  width: 100%;
}

.caseItem__link:hover .caseItem__img {
  transform: scale(1.2);
  transition: transform 2000ms var(--ease-out-moment);
}

.caseItem__imgWrapper {
  width: 100%;
  overflow: hidden;
  margin-bottom: 27px;
}

.caseItem__img {
  width: 100%;
  transition: 0.5s;
  aspect-ratio: 470 / 326;
  object-fit: cover;
}

.caseItem__list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.caseItem__listItem {
  font-size: 11px;
  border: solid 1px #000;
  border-radius: 50px;
  margin-right: 3px;
  font-family: neue-haas-grotesk-display, sans-serif;
  font-weight: 500;
  font-style: normal;
  padding: 2px 10px;
  margin-bottom: 3px;
}

.caseItem__title {
  font-size: 32px;
  letter-spacing: -0.04em;
  font-weight: bold;
  line-height: 1.37;
  margin-bottom: 16.6px;
  font-feature-settings: "palt";
}

.simplebar-content {
  width: 100%;
}

.caseItem__company {
  font-size: 14px;
  letter-spacing: 0.04em;
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-weight: 400;
}

.case__itemWrapper--sp {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  font-family: neue-haas-grotesk-display, sans-serif;
  font-weight: 500;
  font-style: normal;
}

.case__itemWrapper:last-child .caseItem {
  width: 48%;
}

.case__itemWrapper:last-child .caseItem__imgWrapper {
  margin-bottom: 18px;
}

.case__itemWrapper:last-child .caseItem {
  margin-bottom: 74px;
}

.case__itemWrapper:last-child .caseItem:nth-child(3),
.case__itemWrapper:last-child .caseItem:nth-child(4) {
  margin-bottom: 0;
}

.case__itemWrapper:last-child .caseItem__title {
  font-size: 22px;
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  line-height: 1.35;
}

.caseSwiper {
  display: none;
}

.simplebar-scrollbar::before {
  background-color: #707070;
  height: 1.5px;
  border-radius: 0;
}

.simplebar-track {
  background: #bcbcbc;
  border-radius: 0;
}

.simplebar-track.simplebar-horizontal {
  height: 1.5px !important;
}

.simplebar-scrollbar:before {
  top: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
}

.caseBtn--sp {
  display: none;
}

.caseBtn--pc {
  margin-right: auto;
  margin-top: auto;
  margin-left: 0;
}

/*--------------------------------
    service
--------------------------------*/

/* .service {
    padding-top: 40px;
} */

.service--bottom {
  padding-bottom: 197px;
}

.serviceTicker__wrapper {
  margin-top: 78px;
  margin-bottom: 60.3px;
}

.serviceTicker__wrapper::before {
  content: " ";
  display: block;
  max-width: 1075px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  height: 0.8px;
  background-color: #a0a0a0;
  margin-bottom: 30px;
}

.serviceTicker__wrapper::after {
  content: " ";
  display: block;
  max-width: 1075px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  height: 0.8px;
  background-color: #a0a0a0;
  margin-top: 30px;
}

.serviceTicker {
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  margin-bottom: 18px;
}

@keyframes serviceScroll {
  0% {
    transform: translateX(4px);
  }

  100% {
    transform: translateX(-100%);
  }
}

.serviceTicker__list {
  display: inline-block;
  margin: 0;
  padding: 0;
  animation: serviceScroll 40s linear infinite;
}

.serviceTicker--2 {
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  /* margin-bottom: 18px; */
}

@keyframes serviceScroll--2 {
  0% {
    transform: translateX(-100%);
  }

  100% {
    transform: translateX(4%);
  }
}

.serviceTicker__list--2 {
  display: inline-block;
  margin: 0;
  padding: 0;
  animation: serviceScroll--2 42.5s linear infinite;
}

.serviceTicker__listItem {
  display: inline-block;
  font-size: 49px;
  font-family: neue-haas-grotesk-display, sans-serif;
  font-weight: 500;
  font-style: normal;
  letter-spacing: -0.02em;
  margin-right: 42.2px;
}

.serviceTicker__listItem span {
  vertical-align: middle;
}

.serviceTicker__img {
  width: 105.42px;
  height: auto !important;
  vertical-align: middle;
  margin-right: 22px;
}

.serviceBtn {
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

.service__sp--block {
  display: none;
}

/*--------------------------------
    join
--------------------------------*/

.join {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 338.3px;
  margin-left: 0;
  width: 92%;
}

.join .headingIndex__txt--ja {
  margin-bottom: 10px;
}

.joinTxt__wrapper {
  min-width: 370px;
  margin-right: 30px;
}

.joinSwiper__wrapper {
  width: 55%;
}

.joinSwiper .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
  -o-transition-timing-function: linear !important;
  transition-timing-function: linear !important;
}

.joinSwiper .swiper-slide img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.joinBtn {
  margin-top: 64.2px;
}

.join__sp--block {
  display: none;
}

/*--------------------------------
    glass
--------------------------------*/
.glass {
  position: relative;
  padding-top: 100px;
  padding-bottom: 150px;
}

.js-auto-slider-wrap--1,
.js-auto-slider-wrap--3 {
  position: relative;
}

.glassTop {
  position: relative;
  display: flex;
  align-items: flex-start;
  margin-bottom: 120.7px;
}

.glassSwiper__logo {
  position: absolute;
  bottom: 37px;
  right: 37px;
  width: 88px !important;
  height: auto;
  aspect-ratio: unset !important;
}

.glassTop__img {
  width: 47.2%;
  height: auto;
}

.glassTop__titleWrapper {
  width: 100%;
  position: absolute;
  top: -86px;
}

.glassTop__title {
  font-size: 47px;
  font-family: neue-haas-grotesk-display, sans-serif;
  font-weight: 500;
  font-style: normal;
  color: #fff;
  letter-spacing: 0.02em;
  /* transform: rotate(-15deg); */
  width: fit-content;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.glassTop__txtWrapper {
  width: 50%;
  /* padding-top: 196px; */
  padding-top: 13vw;
}

.glassTop__txtBox {
  max-width: 380px;
  margin-left: 20%;
  margin-right: auto;
}

.glassTop__txt {
  margin-bottom: 65.4px;
  line-height: 1.75;
}

.glassTop__list {
  display: flex;
  align-items: center;
}

.glassTop__listItem:not(:last-child) {
  margin-right: 63.4px;
}

.glassTop__listLink {
  display: flex;
  align-items: center;
  padding: 2px 5px;
  transition: 0.5s;
}

.glassTop__listLink:first-of-type:hover {
  background-color: #b0b0b0;
}

.glassTop__listLink:nth-child(2):hover {
  background-color: #b0b0b0;
}

.glassTop__listIcon {
  margin-right: 13.1px;
}

.glassTop__listItem:first-of-type .glassTop__listIcon {
  height: 22px;
  width: auto;
}

.glassBtm {
  width: 800px;
  margin-left: auto;
  margin-right: auto;
  border: solid 1px #000;
  border-radius: 3px;
  padding: 32px;
  display: flex;
  align-items: center;
  transition: 0.5s;
}

.glassBtm:hover {
  background-color: #b0b0b0;
}

.glassBtm__imgWrapper {
  width: 330px;
  margin-right: 45px;
  flex-shrink: 0;
}

.glassBtm__imgWrapper img {
  width: 100%;
}

.glassBtm__top {
  display: flex;
  margin-bottom: 14px;
  align-items: center;
}

.glassBtm__cat {
  font-size: 11px;
  letter-spacing: 0.04em;
  border-radius: 50px;
  border: solid 1px #000;
  padding: 2px 12px;
  margin-right: 6px;
}

.glassBtm__date {
  font-size: 11px;
  letter-spacing: 0.04em;
}

.glassBtm__title {
  font-size: 22px;
  letter-spacing: 0.04em;
  font-weight: bold;
  margin-bottom: 15.5px;
}

.glassBtm__list {
  display: flex;
  font-size: 12px;
}

.glassBtm__listItem:not(:last-child) {
  margin-right: 10px;
}

.glassSwiper__wrapper {
  display: none;
}

/*--------------------------------
    own
--------------------------------*/

.own {
  padding-top: 100px;
  padding-bottom: 155px;
}

.own .headingIndex__txt--en {
  font-size: 50px;
  margin-bottom: 58.1px;
}

.own__wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: -48px;
}

.own__item {
  width: 47.5%;
  display: block;
  margin-bottom: 80px;
}

.own__item:hover .own__img img {
  transform: scale(1.2);
  transition: transform 2000ms var(--ease-out-moment);
}

.own__img {
  width: 100%;
  overflow: hidden;
  margin-bottom: 25px;
}

.own__img img {
  width: 100%;
  height: auto !important;
  transition: 0.5s;
  aspect-ratio: 515/257;
  object-fit: cover;
}

.own__title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 15px;
}

.own__txt {
  line-height: 1.75;
  font-size: 15px;
}

@media screen and (max-width: 1024px) {
  .joinSwiper__wrapper {
    width: calc(100% - 470px);
  }
}

@media screen and (max-width: 920px) {
  .journal-pick .headingIndex__txt--en {
    font-size: 80px;
  }
}

@media screen and (max-width: 850px) {
  .glassBtm {
    width: 100%;
  }
}

@media screen and (max-width: 750px) {
  br.n-750 {
    display: none;
  }

  br.b-750 {
    display: block;
  }

  .headingIndex__catch {
    font-size: 14px;
    line-height: 2.3;
  }

  /*--------------------------------
        statement
    --------------------------------*/
  .statement {
    padding-top: 252px;
    padding-bottom: 185px;
  }

  .statement__txt--en {
    margin-bottom: 73px;
  }

  .statement__catchWrapper {
    padding-bottom: 73px;
  }

  .statement__catch {
    font-size: 60px;
  }

  .statement__txtWrapper {
    margin-bottom: 90px;
  }

  .statement__txt--ja {
    font-size: 20px;
  }

  .statement__btn {
    margin-left: auto;
  }

  .headingIndex__txt--en {
    font-size: 72px;
    line-height: 0.85;
  }

  .headingIndex__txt--ja {
    margin-bottom: 10px;
  }

  /*--------------------------------
        journal
    --------------------------------*/

  .journal-pick__title {
    font-size: 22px;
  }

  .journal-pick .headingIndex {
    margin-bottom: 45px;
  }

  .journal-pick .headingIndex__txt--en {
    font-size: 72px;
  }

  .journal-pick__box {
    flex-direction: column-reverse;
    padding-top: 80px;
    padding-bottom: 130px;
  }

  .journal-pick__top {
    width: 100%;
  }

  .journal-slider {
    width: 84%;
    margin-left: auto;

    margin-right: auto;
    margin-bottom: 27px;
  }

  .journal-pick__info {
    font-size: 11px;
    margin-bottom: 14px;
  }

  .indicators {
    right: -9%;
  }

  .journal-pick__key {
    font-size: 12px;
    margin-bottom: 40px;
  }

  .journal-pick__title {
    margin-bottom: 15px;
  }

  .journal-pick .caseBtn {
    margin-left: auto;
  }

  /*--------------------------------
        works
    --------------------------------*/

  .works {
    padding-top: 0;
  }

  .worksBtn {
    margin-top: 45px;
  }

  /*--------------------------------
        case study
    --------------------------------*/
  .case {
    padding-top: 72px;
    padding-bottom: 73px;
  }

  .case .headingIndex {
    margin-bottom: 38px;
  }

  .case__wrapper {
    display: block;
    -webkit-perspective: 500px;
    perspective: 1px;
  }

  .case__itemWrapper {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .caseItem {
    margin-bottom: 80px;
  }

  .caseItem__title {
    font-size: 22px;
  }

  .caseItem__company {
    font-size: 11px;
  }

  .case__itemWrapper:last-child {
    flex-wrap: nowrap;
    overflow-x: scroll;
    transform: rotateX(180deg);
    width: 100%;
  }

  .case__itemWrapper--sp {
    transform: rotateX(180deg);
    flex-wrap: nowrap;
  }

  .case__itemWrapper:last-child::-webkit-scrollbar {
    height: 1.5px;
    width: 328px !important;
  }

  /* .case__itemWrapper::-webkit-scrollbar-thumb {
        background: #707070;
    } */

  /* .case__itemWrapper::-webkit-scrollbar-track {
        background: #BCBCBC;
    } */

  .case__itemWrapper--sp {
    display: flex;
    width: fit-content;
  }

  .case__itemWrapper:last-child .caseItem {
    width: 210px;
    margin-top: 33.1px;
  }

  .case__itemWrapper:last-child .caseItem:not(:last-child) {
    margin-right: 21px;
  }

  .caseBtn {
    margin-top: 0;
  }

  .case__itemWrapper:last-child .caseItem {
    margin-bottom: 60px;
  }

  .caseBtn--sp {
    display: block;
  }

  .caseBtn--pc {
    display: none;
  }

  /*--------------------------------
        service
    --------------------------------*/
  .service__sp--block {
    display: block;
  }

  .service {
    padding-top: 90px;
  }

  .service__sp--none {
    display: none;
  }

  .serviceTicker__wrapper {
    margin-top: 50px;
    margin-bottom: 0;
    padding-bottom: 133px;
  }

  .serviceTicker__listItem {
    font-size: 34px;
    margin-right: 23.5px;
  }

  .serviceTicker__img {
    width: 72.18px;
    margin-right: 15px;
  }

  .serviceTicker__wrapper::before {
    content: " ";
    display: block;
    max-width: 1075px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    height: 0.8px;
    background-color: #a0a0a0;
    margin-bottom: 21.8px;
  }

  .serviceTicker__wrapper::after {
    content: " ";
    display: block;
    max-width: 1075px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    height: 0.8px;
    background-color: #a0a0a0;
    margin-top: 21.8px;
  }

  .serviceBtn.service__sp--block {
    margin-right: 0;
    margin-top: 22px;
  }

  /*--------------------------------
        join us
    --------------------------------*/
  .join {
    display: block;
    padding-bottom: 80px;
    width: 100%;
    margin-left: auto;
  }

  .joinSwiper__wrapper {
    max-width: 100%;
    width: 100%;
  }

  .joinSwiper .swiper-slide img {
    aspect-ratio: 375/253;
  }

  .join.inner--1075 {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
  }

  .joinTxt__wrapper {
    max-width: 88%;
    margin-left: auto;
    margin-right: auto;
  }

  .join__sp--none,
  .glass__sp--none {
    display: none;
  }

  .join__sp--block {
    display: block;
    max-width: 88%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 28px;
  }

  .joinBtn {
    margin-left: auto;
    width: fit-content;
    margin-top: 42.9px;
  }

  /*--------------------------------
        + glass
    --------------------------------*/
  .glass {
    padding-top: 131px;
    padding-bottom: 84px;
  }

  .glass.inner {
    width: 100%;
  }

  .glassTop {
    display: block;
    margin-bottom: 68.1px;
  }

  .glassTop__titleWrapper {
    top: -55px;
  }

  .glassTop__title {
    position: relative;
    z-index: 2;
    font-size: 32px;
  }

  .glassTop__txtBox {
    max-width: 100%;
    width: 100%;
    margin-left: auto;
  }

  .glassTop__txtWrapper {
    width: 88%;
    margin-left: auto;
    margin-right: auto;
    padding-top: 41.1px;
  }

  .glassTop__txt {
    font-size: 14px;
  }

  .glassSwiper {
    height: 445px;
    width: 100%;
  }

  .glassSwiper__wrapper {
    max-width: 100%;
    display: block;
  }

  .glassSwiper .swiper-wrapper {
    -webkit-transition-timing-function: linear !important;
    -o-transition-timing-function: linear !important;
    transition-timing-function: linear !important;
  }

  .glassSwiper .swiper-slide {
    width: auto !important;
  }

  .glassSwiper .swiper-slide img {
    width: auto;
    height: 100%;
  }

  .glassTop__list {
    justify-content: center;
  }

  .glassBtm {
    width: 88%;
    margin-left: auto;
    margin-right: auto;
    padding: 17px 17px 30px 17px;
    display: block;
  }

  .glassBtm__imgWrapper {
    display: block;
    width: 100%;
    margin-bottom: 30px;
  }

  .glassBtm__imgWrapper,
  .glassBtm__date,
  .glassBtm__list {
    display: block;
  }

  .glassBtm__title {
    font-weight: bold;
    font-size: 20px;
    line-height: 1.2;
    margin-bottom: 15px;
  }

  .glassBtm__imgWrapper,
  .glassBtm__date,
  .glassBtm__list {
    display: flex;
    flex-wrap: wrap;
  }

  .glassSwiper__logo {
    width: 73px;
    right: 6%;
    bottom: 25.2px;
  }

  /*--------------------------------
        own
    --------------------------------*/
  .own {
    padding-top: 53px;
    padding-bottom: 73px;
  }

  .own .headingIndex__txt--en {
    font-size: 32px;
    margin-bottom: 37px;
  }

  .own__wrapper {
    display: block;
  }

  .own__item {
    width: 100%;
  }

  .own__img {
    margin-bottom: 20px;
  }

  .own__title {
    margin-bottom: 14px;
    font-size: 16px;
  }

  .own__txt {
    font-size: 13px;
  }

  .own__txt br {
    display: none;
  }

  .own__item:not(:last-child) {
    margin-bottom: 55px;
  }
}

@media screen and (max-width: 480px) {
  .fvTicker__list {
    animation: fvScroll 95s linear infinite;
  }
}
