#header {
  position: fixed;
}

#mv .wrap {
  padding: 0;
  height: 100vh;
}
#mv .wrap .contents_wrap {
  height: 100%;
  max-height: min(64vw, 1080px);
  display: grid;
  align-content: end;
}
#mv .wrap .contents {
  position: relative;
  z-index: 2;
}
#mv .wrap .contents h1 {
  line-height: 1.5;
  font-size: min(3.4vw, 5.2rem);
  display: grid;
  grid-template-columns: repeat(2, auto);
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1em;
  color: #595757;
}
#mv .wrap .contents h1 .font_jp .red {
  color: var(--color_main);
}
#mv .wrap .contents h1 .font_jp .bgred {
  background-color: var(--color_main);
  color: #FFFFFF;
  padding: 0.1em 0.2em;
  margin: 0 0.2em;
}
#mv .wrap .contents h1 .font_en {
  font-size: min(1.4vw, 2.2rem);
  color: var(--color_main);
}
#mv .wrap .img {
  aspect-ratio: 3.1;
  position: relative;
  z-index: 1;
  max-width: 1720px;
  width: calc(100% - 100px);
  margin: 0 auto;
}
#mv .wrap .img .item img {
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 100%;
  height: 100%;
  filter: brightness(1);
}

#brand .wrap {
  padding: 0;
}
#brand .wrap .contents {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16/9;
  position: relative;
  display: grid;
  align-content: center;
  justify-items: center;
}
#brand .wrap .contents h2 {
  font-size: min(3vw, 2.4rem);
  line-height: 1.5;
  color: #FFFFFF;
  display: grid;
  justify-items: center;
  grid-row-gap: 0.5em;
  margin-bottom: 3em;
}
#brand .wrap .contents h2 .en {
  font-size: min(6.4vw, 6.4rem);
  font-weight: 500;
}
#brand .wrap .contents h2 .en span {
  font-weight: 600;
  color: var(--color_main);
}
#brand .wrap .contents #mvvideo {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  -o-object-fit: cover;
  object-fit: cover;
}

#products .wrap {
  padding-bottom: 0;
}
#products .wrap .contents h2 .font_en {
  white-space: nowrap;
  overflow: hidden;
}
#products .wrap .contents h2 .font_en span {
  font: inherit;
}
#products .wrap .contents h2 .font_en .ttl_slider {
  transition: 0.5s;
}
#products .wrap .contents h2 .font_en .ttl_slider:not(.slick-initialized) {
  opacity: 0;
}
#products .wrap .contents h2 .font_en .ttl_slider .slide {
  padding-right: 0.66em;
}
#products .wrap .contents h2 .font_en .ttl_slider .slick-list {
  overflow: visible;
}
#products .wrap .contents h2 .font_en .ttl_slider .slick-slider div {
  transition: none;
}
#products .wrap .contents h2 .font_en .ttl_slider .slick-slide {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}
#products .wrap .contents .contents_inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 2.5%;
}
#products .wrap .contents .contents_inner li {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
}
#products .wrap .contents .contents_inner li .img {
  border-radius: 30px;
  overflow: hidden;
}
#products .wrap .contents .contents_inner li .img img {
  display: block;
}
#products .wrap .contents .contents_inner li h3 {
  font-size: min(3.2vw, 3.2rem);
  line-height: 1.5;
  padding: 1em 0 0.5em;
}
#products .wrap .contents .contents_inner li p {
  margin-bottom: 3em;
}

#about .wrap .contents .contents_inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-column-gap: 2.5%;
}
#about .wrap .contents .contents_inner a {
  display: block;
}
#about .wrap .contents .contents_inner a .img {
  border-radius: 30px;
  overflow: hidden;
}
#about .wrap .contents .contents_inner a .img img {
  display: block;
}
#about .wrap .contents .contents_inner a h3 {
  font-size: min(1.8vw, 1.8rem);
  line-height: 1.3;
  padding-top: 1.2em;
  display: grid;
  justify-items: center;
}
#about .wrap .contents .contents_inner a h3 .font_en {
  font-size: min(3.2vw, 4.8rem);
}

#news .wrap {
  background-color: var(--color_bg1);
  border-radius: 30px;
}
#news .wrap .contents .contents_inner {
  display: grid;
  grid-template-columns: 1fr 72%;
  grid-column-gap: 5%;
}
#news .wrap .contents .contents_inner .tab {
  display: grid;
  justify-items: start;
  align-content: start;
  grid-row-gap: 30px;
}
#news .wrap .contents .contents_inner .tab li a {
  font: inherit;
  display: grid;
  grid-template-columns: 1.2em auto;
  align-items: center;
  grid-column-gap: 1.33em;
  cursor: pointer;
}
#news .wrap .contents .contents_inner .tab li a::before {
  content: "";
  height: 1.2em;
  background-color: var(--color_main);
  border-radius: 50%;
}
#news .wrap .contents .contents_inner .tab li:not(.active) a {
  opacity: 0.5;
}
#news .wrap .contents .contents_inner .news_list ul {
  margin-bottom: 50px;
  margin-top: -2.5em;
}
#news .wrap .contents .contents_inner .news_list ul li a {
  display: grid;
  grid-template-columns: 6em 10.5em 1fr;
  grid-column-gap: 3em;
  align-items: center;
  padding: 2.5em 0;
  border-bottom: 1px solid #DCDCDC;
}
#news .wrap .contents .contents_inner .news_list ul li a .date {
  color: var(--color_main);
}
#news .wrap .contents .contents_inner .news_list ul li a .cate {
  display: grid;
  height: 2.2em;
  border-radius: 1.1em;
  color: #FFFFFF;
  background-color: var(--color_main);
  display: grid;
  align-items: center;
  justify-content: center;
}
#news .wrap .contents .contents_inner .news_list ul li a h3 {
  line-height: 1.5;
}
#news .wrap .contents .contents_inner:has(.active a[data-news=news]) .news_list li:not(.news) {
  display: none;
}
#news .wrap .contents .contents_inner:has(.active a[data-news=press]) .news_list li:not(.press) {
  display: none;
}

#recruit .wrap .contents {
  max-width: 1520px;
}
#recruit .wrap .contents .contents_inner {
  border-radius: 30px;
  background: url(/assets/img/top/recruit_img01.jpg) no-repeat center center/cover;
  width: 100%;
  aspect-ratio: 2.05;
  padding: 60px 80px;
  position: relative;
  overflow: hidden;
}
#recruit .wrap .contents .contents_inner::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
#recruit .wrap .contents .contents_inner .detail {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-rows: 1fr repeat(3, auto);
  height: 100%;
}
#recruit .wrap .contents .contents_inner .detail .font_num, #recruit .wrap .contents .contents_inner .detail h2, #recruit .wrap .contents .contents_inner .detail p {
  color: var(--color_white);
}
#recruit .wrap .contents .contents_inner .detail h2 .font_jp::after {
  background-color: var(--color_white);
}
#recruit .wrap .contents .contents_inner .detail .font_num {
  align-self: start;
}
#recruit .wrap .contents .contents_inner .detail .font_num::after {
  background-color: var(--color_white);
}
#recruit .wrap .contents .contents_inner .detail p {
  margin-bottom: 3em;
}
@media (hover: hover) {
  #about .wrap .contents .contents_inner a {
    transition: 0.3s;
  }
  #about .wrap .contents .contents_inner a .img {
    overflow: hidden;
  }
  #about .wrap .contents .contents_inner a .img img {
    display: block;
  }
  #about .wrap .contents .contents_inner a:hover img {
    transform: scale(1.05);
  }
  #news .wrap .contents .contents_inner .tab li a {
    transition: 0.3s;
  }
  #news .wrap .contents .contents_inner .tab li a:hover {
    transform: scale(1.05);
  }
  #news .wrap .contents .contents_inner .news_list ul li a {
    transition: 0.3s;
  }
  #news .wrap .contents .contents_inner .news_list ul li a:hover {
    opacity: 0.66;
  }
}
@media screen and (max-width: 1200px) {
  #mv .wrap .img {
    width: calc(100% - 60px);
  }
}
@media screen and (max-width: 1024px) {
  #header {
    position: fixed;
  }
  #mv .wrap {
    min-height: 200vw !important;
  }
  #mv .wrap .contents_wrap {
    max-height: min(74vw, 1080px);
  }
  #mv .wrap .contents h1 {
    font-size: min(4.5vw, 5.2rem);
    grid-template-columns: 1fr;
    grid-row-gap: 0.2em;
    padding: 0 30px;
  }
  #mv .wrap .contents h1 .font_en {
    font-size: min(2.4vw, 2.2rem);
  }
  #news .wrap .contents .contents_inner {
    grid-template-columns: 1fr;
    grid-row-gap: 60px;
  }
  #news .wrap .contents .contents_inner .tab {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 1em 3em;
  }
  #news .wrap .contents .contents_inner .tab li a {
    grid-column-gap: 0.66em;
  }
  #news .wrap .contents .contents_inner .news_list ul {
    margin-bottom: 50px;
  }
  #news .wrap .contents .contents_inner .news_list ul li a {
    grid-column-gap: 2em;
  }
  #recruit .wrap .contents .contents_inner {
    aspect-ratio: 1.5;
    padding: 50px 60px;
  }
}
@media screen and (max-width: 768px) {
  #mv .wrap .contents_wrap {
    max-height: 215vw;
  }
  #mv .wrap .contents h1 {
    padding: 0;
    font-size: 3.4rem;
    margin-bottom: 1.33em;
  }
  #mv .wrap .contents h1 .font_jp .red {
    color: var(--color_main);
  }
  #mv .wrap .contents h1 .font_jp .bgred {
    margin-left: 0;
  }
  #mv .wrap .contents h1 .font_en {
    font-size: 1.4rem;
  }
  #mv .wrap .img {
    aspect-ratio: 0.93;
    width: 100%;
  }
  #brand .wrap .contents {
    aspect-ratio: 39/32;
  }
  #brand .wrap .contents h2 {
    font-size: 1.5rem;
    margin-bottom: 3em;
  }
  #brand .wrap .contents h2 .en {
    font-size: 2.4rem;
  }
  #products .wrap .contents .contents_inner {
    grid-template-columns: 1fr;
    grid-row-gap: 65px;
  }
  #products .wrap .contents .contents_inner li {
    display: grid;
    grid-template-rows: auto auto 1fr auto;
  }
  #products .wrap .contents .contents_inner li h3 {
    font-size: 2.8rem;
    padding: 0.7em 0 0.5em;
    text-align: center;
  }
  #products .wrap .contents .contents_inner li p {
    margin-bottom: 2em;
  }
  #products .wrap .contents .contents_inner li .btn_round {
    margin: 0 auto;
  }
  #about .wrap .contents .contents_inner {
    grid-template-columns: 1fr;
    grid-row-gap: 50px;
    max-width: 310px;
    margin: 0 auto;
  }
  #about .wrap .contents .contents_inner a {
    display: block;
  }
  #about .wrap .contents .contents_inner a .img {
    border-radius: 30px;
    overflow: hidden;
  }
  #about .wrap .contents .contents_inner a .img img {
    display: block;
  }
  #about .wrap .contents .contents_inner a h3 {
    font-size: 1.6rem;
    padding-top: 1em;
  }
  #about .wrap .contents .contents_inner a h3 .font_en {
    font-size: 3.6rem;
  }
  #news .wrap .contents .contents_inner {
    grid-row-gap: 50px;
  }
  #news .wrap .contents .contents_inner .tab {
    font-size: 1.4rem;
    gap: 1em 2em;
  }
  #news .wrap .contents .contents_inner .tab li a {
    grid-template-columns: 0.8em auto;
  }
  #news .wrap .contents .contents_inner .tab li a::before {
    height: 0.8em;
  }
  #news .wrap .contents .contents_inner .news_list ul {
    margin-bottom: 50px;
  }
  #news .wrap .contents .contents_inner .news_list ul li a {
    grid-template-columns: auto 1fr;
    justify-content: start;
    grid-gap: 1em 1.5em;
    padding: 2em 0;
  }
  #news .wrap .contents .contents_inner .news_list ul li a .cate {
    font-size: 1.4rem;
    height: 2em;
    width: 9.5em;
    border-radius: 1em;
  }
  #news .wrap .contents .contents_inner .news_list ul li a h3 {
    grid-area: 2/1/3/3;
  }
  #news .wrap .contents .contents_inner .news_list .btn_round {
    margin: 0 auto;
  }
  #recruit .wrap .contents .contents_inner {
    background: url(/assets/img/top/sp/recruit_img01.jpg) no-repeat center center/cover;
    aspect-ratio: unset;
    height: 560px;
    padding: 40px 30px;
  }
  #recruit .wrap .contents .contents_inner .detail p {
    margin-bottom: 3em;
  }
  #recruit .wrap .contents .contents_inner .detail .btn_round {
    margin: 0 auto;
  }
}