/* mainvisual.css */

.mainvisual {
  background: #fff;
  padding-bottom: 40px;
}
.mainvisual__row {
  display: flex;
  justify-content: center;
  gap: 0;
}
.mainvisual__row--full .mainvisual__item {
  width: 100vw;
}
.mainvisual__row--split .mainvisual__item {
  width: 50vw;
}
.mainvisual__row--three .mainvisual__item {
  width: 33.333vw;
}
.mainvisual__item {
  overflow: hidden;
  position: relative;
  opacity: 0;
  transform: translateY(60px);
  transition: opacity .9s cubic-bezier(.7,.05,.39,.97), transform .9s cubic-bezier(.7,.05,.39,.97);
}
.mainvisual__item.inview {
  opacity: 1;
  transform: translateY(0);
}
.mainvisual__item img {
  width: 100%;
  height: 100vh;
  object-fit: cover;
  transition: transform .65s cubic-bezier(.68,0,.36,1), filter .48s cubic-bezier(.7,.15,.35,1);
  filter: brightness(90%) contrast(98%) saturate(100%) blur(0px);
  will-change: transform, filter;
}
.mainvisual__item:hover img {
  /* スタイリッシュなズーム＆明度・コントラストアップ＋わずかなブラー */
  transform: scale(1.045);
  filter: brightness(106%) contrast(109%) saturate(1.18) blur(1px);
}
.mainvisual__item::after {
  content: "";
  display: block;
  pointer-events: none;
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .5s cubic-bezier(.6,.15,.38,1);
  background: linear-gradient(120deg,rgba(255,255,255,0) 50%,rgba(90,255,250,.14) 100%);
}
.mainvisual__item:hover::after {
  opacity: 1;
}
@media (max-width: 900px) {
  .mainvisual__row--split .mainvisual__item,
  .mainvisual__row--three .mainvisual__item {
    width: 100vw;
  }
  .mainvisual__item img {
    height: 68vw;
    min-height: 320px;
  }
}










@media screen and (min-width: 768px) and (max-width: 1024px) {

.wrap {
    width: 95%;
}

p.site-title a {
    font-size: 2.6rem;
}

* {
    font-size: 0.9rem;
    letter-spacing: 0.05em;
}

.hero-video {
    height: 70vw;
}

.hero-gradient {
    height: 70vw;
}

.hero-overlay {
    bottom: inherit;
    top: 30vw;
    width: 90%;
    position: relative;
}

.hero-video video {
    height: 70vw !important;
}

section.news-section.show {
    position: relative;
}

.company-section .wrap {
    width: 100%;
}

ul#primary-menu {}

}

.hero-overlay {
    width: 90%;
}

main#primary {
    margin: 0;
}

.mainvisual {
    padding-bottom: 0;
}

.mainvisual__row.mainvisual__row--split img {
    height: 80vh;
}



/* スマホサイズ（最大幅768px） */
@media screen and (max-width: 768px) {
	
.mainvisual__item img {
    min-height: 5vw;
}
	
	.mainvisual__row.mainvisual__row--split img {
    height: 50vw;
}
	
	}
