@charset "UTF-8";
/* ------------------------------------------------------
*	scrollTest.jsとともに使用
* ------------------------------------------------------ */
/* ------------------------------------------------------

    MAIN VISUAL

------------------------------------------------------ */
.hero {
  position: relative;
  display: grid;
  overflow: hidden;
}
.hero__copy {
  position: relative;
  grid-area: 1/1;
  place-self: center;
  width: 100%;
  padding: var(--space);
  background-color: rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 767px) {
  .hero__copy {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: var(--space);
    font-size: 2rem;
  }
}
.hero__copy p:nth-child(1) {
  margin-bottom: 0.1em;
  font-family: var(--f-balow);
  font-weight: 600;
  font-size: clamp( 3.2rem, 3.2rem + ((1vw - 0.768rem) * 7.4074074074), 6.4rem);
  line-height: 1.2;
  color: #fff;
}
.hero__copy p:nth-child(2) {
  font-size: clamp( 1.4rem, 1.4rem + ((1vw - 0.768rem) * 3.2407407407), 2.8rem);
  font-weight: 600;
  color: #fff;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.hero__slider {
  min-width: 0;
  grid-area: 1/1;
}
.hero__slider-item {
  width: 100%;
  height: 600px;
  overflow: hidden;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  .hero__slider-item {
    height: auto;
    aspect-ratio: 1/1;
  }
}
.hero__slider-item img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.hero .zoom-fade {
  -webkit-animation: zoom-fade 4000ms linear 0s forwards;
          animation: zoom-fade 4000ms linear 0s forwards;
}
@-webkit-keyframes zoom-fade {
  0% {
    -webkit-transform: scale(1.04);
            transform: scale(1.04);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes zoom-fade {
  0% {
    -webkit-transform: scale(1.04);
            transform: scale(1.04);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

.hero {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: opacity 300ms cubic-bezier(0.26, 0, 0.6, 0.2);
  transition: opacity 300ms cubic-bezier(0.26, 0, 0.6, 0.2);
}
.hero.isLoaded {
  visibility: visible;
  opacity: 1;
}

/* ------------------------------------------------------

    NEWS

------------------------------------------------------ */
.news .inner {
  padding-top: 75px;
  padding-bottom: 75px;
}
@media screen and (max-width: 767px) {
  .news .inner {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}
.news__link {
  display: block;
}
.news__link:last-child article {
  border-bottom: 1px dotted #808080;
}
.news__link article {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5em;
  padding: 23px 0;
  border-top: 1px dotted #808080;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .news__link article {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0.5em 1em;
  }
}
.news__link article p {
  display: grid;
  place-items: center;
  width: 132px;
  height: 34px;
  background-color: #231815;
  font-size: 1rem;
  font-weight: 600;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .news__link article p {
    width: 112px;
    height: 24px;
  }
}
.news__link article h3 {
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .news__link article h3 {
    width: 100%;
    margin-left: 0;
  }
}

.news__link:not([data-status=show]) article {
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
}
.news__link[data-status=show] article {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: opacity 300ms cubic-bezier(0.26, 0, 0.6, 0.2), -webkit-transform 600ms cubic-bezier(0.32, 0.94, 0.6, 1);
  transition: opacity 300ms cubic-bezier(0.26, 0, 0.6, 0.2), -webkit-transform 600ms cubic-bezier(0.32, 0.94, 0.6, 1);
  transition: opacity 300ms cubic-bezier(0.26, 0, 0.6, 0.2), transform 600ms cubic-bezier(0.32, 0.94, 0.6, 1);
  transition: opacity 300ms cubic-bezier(0.26, 0, 0.6, 0.2), transform 600ms cubic-bezier(0.32, 0.94, 0.6, 1), -webkit-transform 600ms cubic-bezier(0.32, 0.94, 0.6, 1);
}

/* ------------------------------------------------------

    COMPANY

------------------------------------------------------ */
.company {
  display: grid;
  overflow: hidden;
}
@media (hover: hover) {
  .company img {
    -webkit-transition: -webkit-transform 400ms ease;
    transition: -webkit-transform 400ms ease;
    transition: transform 400ms ease;
    transition: transform 400ms ease, -webkit-transform 400ms ease;
  }
  .company:hover img {
    -webkit-transform: scale(1.04);
            transform: scale(1.04);
  }
}
.company__bg {
  grid-area: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.company__body {
  position: relative;
  grid-area: 1/1;
  padding: 135px var(--space) 190px;
  word-break: keep-all;
}
@media screen and (max-width: 767px) {
  .company__body {
    padding: 50px var(--space) 190px;
  }
}
.company__title {
  position: relative;
  display: grid;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto 25px;
}
.company__title::before {
  position: relative;
  grid-area: 1/1;
  content: "COMPANY";
  top: -0.01em;
  left: -0.075em;
  opacity: 0.6;
  font-family: var(--f-balow);
  font-weight: 600;
  font-size: clamp( 6rem, 6rem + ((1vw - 0.32rem) * 26.8456375839), 18rem);
  line-height: 0.7;
  letter-spacing: -0.02em;
  color: #fff;
  text-align: left;
}
@media screen and (max-width: 860px) {
  .company__title::before {
    font-size: clamp( 6rem, 6rem + ((1vw - 0.32rem) * 22.2222222222), 18rem);
  }
}
@media screen and (max-width: 767px) {
  .company__title::before {
    top: 0.05em;
    text-align: center;
  }
}
.company__title span {
  position: relative;
  grid-area: 1/1;
  place-self: center;
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1;
  top: 0.25em;
}
.company__copy {
  margin-bottom: 20px;
  font-size: 3.6rem;
  font-weight: 600;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .company__copy {
    font-size: 2.4rem;
  }
}
.company__title {
  font-size: 1.4rem;
  line-height: 1.71;
  text-align: center;
}
.company__lead {
  font-size: 1.4rem;
  line-height: 1.71;
  text-align: center;
  word-break: keep-all;
}

.company:not([data-status=show]) .company__body h2::before {
  -webkit-transform: translateX(100px);
          transform: translateX(100px);
}
.company[data-status=show] .company__body h2::before {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: -webkit-transform 1200ms cubic-bezier(0.32, 0.94, 0.6, 1);
  transition: -webkit-transform 1200ms cubic-bezier(0.32, 0.94, 0.6, 1);
  transition: transform 1200ms cubic-bezier(0.32, 0.94, 0.6, 1);
  transition: transform 1200ms cubic-bezier(0.32, 0.94, 0.6, 1), -webkit-transform 1200ms cubic-bezier(0.32, 0.94, 0.6, 1);
}
.company:not([data-status=show]) .company__body {
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
}
.company[data-status=show] .company__body {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: opacity 300ms cubic-bezier(0.26, 0, 0.6, 0.2), -webkit-transform 600ms cubic-bezier(0.32, 0.94, 0.6, 1);
  transition: opacity 300ms cubic-bezier(0.26, 0, 0.6, 0.2), -webkit-transform 600ms cubic-bezier(0.32, 0.94, 0.6, 1);
  transition: opacity 300ms cubic-bezier(0.26, 0, 0.6, 0.2), transform 600ms cubic-bezier(0.32, 0.94, 0.6, 1);
  transition: opacity 300ms cubic-bezier(0.26, 0, 0.6, 0.2), transform 600ms cubic-bezier(0.32, 0.94, 0.6, 1), -webkit-transform 600ms cubic-bezier(0.32, 0.94, 0.6, 1);
}
.company:not([data-status=show]) {
  opacity: 0;
}
.company:not([data-status=show]) img {
  -webkit-transform: scale(1.25);
          transform: scale(1.25);
}
.company[data-status=show] {
  opacity: 1;
  -webkit-transition: opacity 600ms cubic-bezier(0.26, 0, 0.6, 0.2);
  transition: opacity 600ms cubic-bezier(0.26, 0, 0.6, 0.2);
}
.company[data-status=show] img {
  -webkit-transition: -webkit-transform 900ms cubic-bezier(0.32, 0.94, 0.6, 1);
  transition: -webkit-transform 900ms cubic-bezier(0.32, 0.94, 0.6, 1);
  transition: transform 900ms cubic-bezier(0.32, 0.94, 0.6, 1);
  transition: transform 900ms cubic-bezier(0.32, 0.94, 0.6, 1), -webkit-transform 900ms cubic-bezier(0.32, 0.94, 0.6, 1);
  -webkit-transform: scale(1);
          transform: scale(1);
}

/* ------------------------------------------------------

    BUSINESS

------------------------------------------------------ */
.biz-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 767px) {
  .biz-list {
    grid-template-columns: 1fr;
  }
}
.biz-list li {
  overflow: hidden;
}
.biz-list li:nth-child(2), .biz-list li:nth-child(6), .biz-list li:nth-child(8) {
  color: #fff;
  text-shadow: 0 0 6px rgba(0, 0, 0, 0.6);
}
.biz-list a {
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
}
@media (hover: hover) {
  .biz-list a img {
    -webkit-transition: -webkit-transform 400ms ease;
    transition: -webkit-transform 400ms ease;
    transition: transform 400ms ease;
    transition: transform 400ms ease, -webkit-transform 400ms ease;
  }
  .biz-list a:hover img {
    -webkit-transform: scale(1.04);
            transform: scale(1.04);
  }
}
.biz-list a::after {
  position: absolute;
  content: "";
  width: 36px;
  height: 36px;
  left: 0;
  bottom: 0;
  background-color: var(--c-1st);
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 100%);
          clip-path: polygon(0 0, 0% 100%, 100% 100%);
}
.biz-list a img {
  grid-area: 1/1;
  width: 100%;
  height: 300px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .biz-list a img {
    height: auto;
    -o-object-fit: fill;
       object-fit: fill;
  }
}
.biz-list a p {
  position: relative;
  grid-area: 1/1;
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
}

.biz-list li:not([data-status=show]) {
  opacity: 0;
}
.biz-list li:not([data-status=show]) a {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
.biz-list li[data-status=show] {
  opacity: 1;
  -webkit-transition: opacity 300ms cubic-bezier(0.26, 0, 0.6, 0.2);
  transition: opacity 300ms cubic-bezier(0.26, 0, 0.6, 0.2);
}
.biz-list li[data-status=show] a {
  -webkit-transition: -webkit-transform 600ms cubic-bezier(0.32, 0.94, 0.6, 1);
  transition: -webkit-transform 600ms cubic-bezier(0.32, 0.94, 0.6, 1);
  transition: transform 600ms cubic-bezier(0.32, 0.94, 0.6, 1);
  transition: transform 600ms cubic-bezier(0.32, 0.94, 0.6, 1), -webkit-transform 600ms cubic-bezier(0.32, 0.94, 0.6, 1);
  -webkit-transform: scale(1);
          transform: scale(1);
}
.biz-list li:nth-child(2), .biz-list li:nth-child(4) {
  -webkit-transition-delay: 100ms;
          transition-delay: 100ms;
}

/* ------------------------------------------------------

    PRODUCTS

------------------------------------------------------ */
.prod {
  position: relative;
  overflow: hidden;
  padding-top: 80px;
  padding-bottom: 70px;
}
@media screen and (max-width: 767px) {
  .prod {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}
.prod__title {
  position: relative;
  display: grid;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto 25px;
}
.prod__title::before {
  position: relative;
  grid-area: 1/1;
  content: "PRODUCTS";
  top: -0.01em;
  opacity: 0.3;
  font-family: var(--f-balow);
  font-weight: 600;
  font-size: clamp( 6rem, 6rem + ((1vw - 0.32rem) * 26.8456375839), 18rem);
  line-height: 0.7;
  letter-spacing: -0.02em;
  color: #a4a8ac;
  text-align: right;
}
@media screen and (max-width: 860px) {
  .prod__title::before {
    font-size: clamp( 6rem, 6rem + ((1vw - 0.32rem) * 22.2222222222), 18rem);
  }
}
@media screen and (max-width: 767px) {
  .prod__title::before {
    top: 0.05em;
    text-align: center;
  }
}
.prod__title span {
  position: relative;
  grid-area: 1/1;
  place-self: center;
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1;
  top: 0.25em;
}
.prod__lead {
  margin-bottom: 50px;
  font-size: 1.4rem;
  line-height: 1.71;
  text-align: center;
  word-break: keep-all;
}

.prod-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .prod-list {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space);
  }
}
@media (hover: hover) {
  .prod-list a img {
    -webkit-transition: -webkit-transform 400ms ease;
    transition: -webkit-transform 400ms ease;
    transition: transform 400ms ease;
    transition: transform 400ms ease, -webkit-transform 400ms ease;
  }
  .prod-list a:hover img {
    -webkit-transform: scale(1.04);
            transform: scale(1.04);
  }
}
.prod-list a div {
  position: relative;
  margin-bottom: 10px;
  overflow: hidden;
}
.prod-list a div::after {
  position: absolute;
  content: "";
  width: 36px;
  height: 36px;
  left: 0;
  bottom: 0;
  background-color: var(--c-1st);
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 100%);
          clip-path: polygon(0 0, 0% 100%, 100% 100%);
}
.prod-list a p {
  font-weight: 600;
  text-align: center;
}
.prod-list a p span {
  white-space: nowrap;
}

.prod:not([data-status=show]) .prod__title::before {
  opacity: 0;
  -webkit-transform: translateX(100px);
          transform: translateX(100px);
}
.prod[data-status=show] .prod__title::before {
  opacity: 0.3;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: opacity 300ms cubic-bezier(0.26, 0, 0.6, 0.2), -webkit-transform 1200ms cubic-bezier(0.32, 0.94, 0.6, 1);
  transition: opacity 300ms cubic-bezier(0.26, 0, 0.6, 0.2), -webkit-transform 1200ms cubic-bezier(0.32, 0.94, 0.6, 1);
  transition: opacity 300ms cubic-bezier(0.26, 0, 0.6, 0.2), transform 1200ms cubic-bezier(0.32, 0.94, 0.6, 1);
  transition: opacity 300ms cubic-bezier(0.26, 0, 0.6, 0.2), transform 1200ms cubic-bezier(0.32, 0.94, 0.6, 1), -webkit-transform 1200ms cubic-bezier(0.32, 0.94, 0.6, 1);
}
.prod:not([data-status=show]) .prod__title span {
  opacity: 0;
}
.prod[data-status=show] .prod__title span {
  opacity: 1;
  -webkit-transition: opacity 300ms cubic-bezier(0.26, 0, 0.6, 0.2);
  transition: opacity 300ms cubic-bezier(0.26, 0, 0.6, 0.2);
}
.prod:not([data-status=show]) .inner {
  opacity: 0;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
}
.prod[data-status=show] .inner {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: opacity 300ms cubic-bezier(0.26, 0, 0.6, 0.2), -webkit-transform 600ms cubic-bezier(0.32, 0.94, 0.6, 1);
  transition: opacity 300ms cubic-bezier(0.26, 0, 0.6, 0.2), -webkit-transform 600ms cubic-bezier(0.32, 0.94, 0.6, 1);
  transition: opacity 300ms cubic-bezier(0.26, 0, 0.6, 0.2), transform 600ms cubic-bezier(0.32, 0.94, 0.6, 1);
  transition: opacity 300ms cubic-bezier(0.26, 0, 0.6, 0.2), transform 600ms cubic-bezier(0.32, 0.94, 0.6, 1), -webkit-transform 600ms cubic-bezier(0.32, 0.94, 0.6, 1);
}

.prod-list li:not([data-status=show]) {
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
}
.prod-list li[data-status=show] {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: opacity 300ms cubic-bezier(0.26, 0, 0.6, 0.2), -webkit-transform 600ms cubic-bezier(0.32, 0.94, 0.6, 1);
  transition: opacity 300ms cubic-bezier(0.26, 0, 0.6, 0.2), -webkit-transform 600ms cubic-bezier(0.32, 0.94, 0.6, 1);
  transition: opacity 300ms cubic-bezier(0.26, 0, 0.6, 0.2), transform 600ms cubic-bezier(0.32, 0.94, 0.6, 1);
  transition: opacity 300ms cubic-bezier(0.26, 0, 0.6, 0.2), transform 600ms cubic-bezier(0.32, 0.94, 0.6, 1), -webkit-transform 600ms cubic-bezier(0.32, 0.94, 0.6, 1);
}
.prod-list li:nth-child(2) {
  -webkit-transition-delay: 100ms;
          transition-delay: 100ms;
}
.prod-list li:nth-child(3) {
  -webkit-transition-delay: 200ms;
          transition-delay: 200ms;
}
.prod-list li:nth-child(4) {
  -webkit-transition-delay: 300ms;
          transition-delay: 300ms;
}
@media screen and (max-width: 767px) {
  .prod-list li:nth-child(2) {
    -webkit-transition-delay: 0;
            transition-delay: 0;
  }
  .prod-list li:nth-child(3) {
    -webkit-transition-delay: 0;
            transition-delay: 0;
  }
}
/*# sourceMappingURL=style.css.map */