@charset "UTF-8";

#mainImage {
  position: relative;
  height: 51.5vw;
  z-index: 1;
  width: 94.5%;
  margin: 0 auto 8.3vw;
  padding-top: 8.3vw;
}
#mainImage::before{
  width: 195vw;
  height: 118vw;
  position: absolute;
  content: "";
  z-index: 0;
  top: -46vw;
  left: -9vw;
  background: linear-gradient(45deg, #3c7fdd 0%, #1a459c 100%);
  clip-path: ellipse(49% 34% at 50% 50%);
  transform: rotate(-31deg);
}

.hero-contents, .mvs {
  width: 100%;
  height: 100%;
  position: absolute;
  overflow: hidden;
}
#video, #video video {
  /* height: 100%; */
  width: 100%;
}
#mainImage .mv {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 100%;
}
#mainImage .mainImage01 { background-image: url(../img/top/mv-1.jpg);}
.mvs img {
  position: absolute;
  bottom: -27.7vw;
  left: 0;
  z-index: 2;
  height: auto;
}
.hero-contents {
  top: 0;
  left: 0;
  color: #fff;
  margin: 0 auto;
  width: 70vw;
  padding: 20vw 0 0;
  font-weight: 700;
  position: relative;
  height: auto;
}
.hero-contents img {
  width: 67vw;
  margin-bottom: 3vw;
}
.hero-contents > div {
  filter: drop-shadow(0px 0px 15px rgba(0, 0, 0, 0.3));
}

.hero-contents h1 {
  font-size: 2.6vw;
  line-height: 1.25em;
  letter-spacing: 0;
  font-weight: 700;
  margin-bottom: 1.0vw;
  filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.35));
}
/* .hero-contents h2 {
  font-size: clamp(2.6rem, 4.8vw, 7.2rem);
  font-weight: 900;
  background: linear-gradient( 180deg, rgba(203, 255, 0, 1), rgba(93, 219, 0, 1));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  line-height: 0.9;
  margin-top: clamp(0.7rem, 1.8vw, 2.2rem);
  letter-spacing: 0;
}
.hero-contents h5 {
  font-size: clamp(1.1rem, 1.64vw, 2.4rem);
  font-weight: 900;
  margin: 0.5vw 0 1vw;
  filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.35));
} */
.hero-contents p {
  filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.35));
  font-size: clamp(0.5rem, 1.1vw, 16rem);
  line-height: 2;
  letter-spacing: 0.06em;
}

@media only screen and (max-width: 640px) {
  #mainImage {
    padding-top: 16vw;
    height: 183vw;
    margin-bottom: 0;
  }
  /* #mainImage::before, #mainImage::after{
    top: 137vw;
  } */
  #mainImage::before {
    height: 255vw;
    /* clip-path: polygon(0 0, 100% 15%, 100% 100%, 0 85%); */
    width: 356vw;
    left: -73vw;
    transform: rotate(-32deg);
    top: -40vw;
  }
  #mainImage .mv {
    height: 126vw;
  }
  #mainImage .mainImage01 { background-image: url(../img/top/mv-1_sp.jpg);}
  #mainImage .mainImage02 { background-image: url(../img/top/mv-2_sp.jpg);}
  #mainImage .mainImage03 { background-image: url(../img/top/mv-3_sp.jpg);}
  #mainImage .mainImage04 { background-image: url(../img/top/mv-4_sp.jpg);}
  #mainImage .mainImage05 { background-image: url(../img/top/mv-5_sp.jpg);}

  .hero-contents{
    position: relative;
    width: 89%;
    margin: 0 auto;
    padding: 106vw 0 0;
  }
  .hero-contents > div {
    filter: none;
  }
  
  /* .hero-copy{
    margin-left: 1.2vw;
  } */
  .hero-contents h1 {
    font-size: 9.4vw;
    margin-bottom: 4.5vw;
    text-align: left;
  }  
  /* .hero-contents h1:first-child {
    margin-left: -4vw;
    letter-spacing: -0.3vw;
  } */
  /* .hero-contents h2 {
    letter-spacing: -0.1vw;
    font-size: 7vw;
  }
  .hero-copy::after{
    width: 100%;
    top: 4vw;
    left: -4vw;
  }
  .hero-contents h5 {
    margin: -1vw 0 2vw;
    font-size: 4vw;
  } */
  .hero-contents p {
    line-height: 2;
    font-size: 3.2vw;
    filter: none;
  }
}


/* .section {
  position: relative;
} */
section .section-content {
  align-items: flex-start;
  flex-wrap: wrap;
  z-index: 1;
}
.flex-box.hero-copy {
  /* height: fit-content; */
  position: absolute;
  left: -11vw;
  top: 0;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: sideways;
}
.flex.rev .flex-box.hero-copy {
  left: auto;
  right: -10vw;
  transform: rotate(180deg);
  top: 7vw;
}
/* .flex-box.hero-copy h1 {
  letter-spacing: 0.05em;
} */

/* .section-content.flex .flex-box .hero-copy::after {
  content: '';
  width: 104%;
  height: 16vw;
  position: absolute;
  top: 0;
  bottom: -3.6rem;
  left: 0;
  z-index: -1;
} */
.flex-box > h5 {
  margin: 3.2vw 0 1.8vw;
  line-height: 1.5;
  /* filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.35)); */
}
.flex-box p {
  line-height: 2;
  font-weight: 400;
  padding-bottom: 3.3vw;
  margin: 0;
  letter-spacing: 0.06em;
}

.section-content.flex .text-content {
  margin: 0;
  width: 37vw;
  text-align: left;
  padding: 0 3.8vw;
}
.section-content.flex.rev .text-content {
  text-align: right;
  width: 40vw;
  padding: 0 4.6vw 0 0;
}

.section-content.flex .text-content h4 {
  letter-spacing: 0.25em;
  font-weight: 900;
}

@media only screen and (max-width: 640px) {
  /* .section-content.flex .flex-box .hero-copy::after {
    width: 100%;
    height: 31vw;
    bottom: 0;
    top: -1vw;
  } */
  .section-content.flex .flex-box.text-content {
    /* width: 90%;
    margin: -14vw auto 0; */
    position: relative;
    width: 73%;
    margin: 2.5vw 0 0 auto;
  }
  .flex-box h5 {
    /* line-height: 1.6; */
    text-align: left;
    font-size: 4.2vw;
    margin: 9vw 0 6vw;
  }
  .flex-box p {
    line-height: 1.8;
    padding-bottom: 9vw;
    font-size: 3.3vw;
    letter-spacing: 0.1em;
  }
}

section.news-pickup{ opacity: 0; transition: all 0.8s; z-index: 3; transform: translateY(1vw);}
section.news-pickup.active{ opacity: 1; transform: translateY(0);}
section.news-pickup .row{
  /* max-width: 1280px; */
  width: 89vw;
  padding: 1.4vw 0;
  margin: -2.8vw auto 7.7vw;
  background: #fff;
  border-radius: .3em;
  filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.1));
}
section.news-pickup span.en {
  background: #1a459c;
  color: #fff;
  padding: 0.55vw 0;
  width: 8.3vw;
  font-weight: 500;
  margin-right: 4rem;
}
section.news-pickup dt.en {
  margin-right: 2.7vw;
  font-weight: 500;
  letter-spacing: 0.1em;
}
section.news-pickup span.cat {
  position: relative;
  padding: 0.15vw 1.1vw 0.2vw;
  line-height: 1.6;
  border: solid 1px #5d5652;
  margin-right: 3vw;
  letter-spacing: 0.08em;
  left: 0;
  background: #fff;
  color: #5d5652;
}
section.news-pickup dd {
  letter-spacing: 0.12em;
}
section.news-pickup span.right{
  margin-left: auto;
  width: 6vw;
  height: 2.8vw;
  border-left: solid #7f7873 1px;
  line-height: 2.8vw;
  letter-spacing: 0.2em;
}
span.arrow {
  width: 3.0vw;
  height: 1px;
  background: #7f7873;
  margin-right: 2.1vw;
  position: relative;
  margin-top: 1px;
}
span.arrow:after {
  border-top: 1px solid #7f7873;
  position: absolute;
  content: "";
  width: 0.6vw;
  height: 0.6vw ;
  transform: translateY(-50%) rotate(45deg);
  right: 1px;
  top: 50%;
}

@media only screen and (max-width: 640px) {
  section.news-pickup{
    position: fixed;
    bottom: 6vw;
  }
  section.news-pickup .row {
    width: 94%;
    padding: 2.4vw 0px 3.4vw;
    margin: 0 auto;
    /* position: fixed;
    bottom: 15vw;
    left: 3%; */
  }
  section.news-pickup a.flex.md-flex {
    font-size: 3.2vw;
    justify-content: flex-start;
    line-height: 1.4;
}
section.news-pickup span.en {
  font-size: 2.4vw;
  padding: 1vw 2vw;
  margin: 3vw 4vw -3vw -1.7vw;
  width: 13.4vw;
}
section.news-pickup dt.en {
  font-size: 2.8vw;
  line-height: 2;
}
section.news-pickup span.cat {
  padding: 0;
  border: none;
  width: auto;
  font-size: 2.6vw;
}
section.news-pickup dd {
  padding-left: 16vw;
  letter-spacing: 0.08em;
}
}





.section-business .section-content {
  justify-content: flex-end;
  /* margin-top: 17vw; */
}
.section-business .section-content .text-content {
  margin-top: 4vw;
  background: #fff;
}
.section-business .flex-box.flex-rt {
  margin-right: calc(50% - 50vw);
  width: 54.3vw;
}
.section-business .flex-rt a {
  margin: 0.7vw 0;
  height: 20vw;
  color: #fff;
}
.section-business .flex-rt a:first-child .txt::after{
  background: url(../img/top/banner_logistics.jpg) center / cover no-repeat;
}
.section-business .flex-rt a:nth-child(2) .txt::after{
  background: url(../img/top/banner_technology.jpg) center / cover no-repeat;
}
.section-business .flex-rt a:last-child .txt::after{
  background: url(../img/top/banner_interior.jpg) center / cover no-repeat;
}
.section-business .flex-rt a .txt::before {
  content: "";
  width: 5vw;
  height: 5vw;
  position: absolute;
  right: 6vw;
  top: 50%;
  border-top: 1vw solid #fff;
  border-right: 1vw solid #fff;
  transform: rotate(45deg) translateY(-50%);
  opacity: 0;
  transition: all .3s;
}
/* .section-business .flex-rt a:hover{ opacity: 1;}
.section-business .flex-rt a:hover .txt::after {
  filter: brightness(0.6);
} */

.section-business .flex-rt a .txt h3 {
  /* padding-top: 4px; */
  font-size: clamp(1rem, 2.4vw, 3.5rem);
  font-weight: 700;
  filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.35));
  letter-spacing: 0.14em;
  transition: all .3s;
  margin-top: 1.3vw;
  line-height: 1.4;
}
.banner .txt h6 {
  font-size: clamp(0.5rem, 1.1vw, 16rem);
  transition: all .3s;
  filter: drop-shadow(0 0 0.8em rgba(0, 0, 0, 0.35));
}
/* .banner .txt h6 span{ transition: cubic-bezier(0, 1, 0, 1); } */
p.showhover {
  transition: all .3s;
  font-size: 1px;
  padding: 0;
}
@media only screen and (min-width: 641px) {

a:not(:hover) .showhover {
  margin: 0;
  opacity: 0;
}
.section-business a .txt h6 span:last-child {
  font-size: clamp(0.5rem, 1.1vw, 16rem);
  opacity: 1;
  transition: all .3s .3s;
}

/*hover*/
a:hover .zoom::after{
  transform: scale(1.1);
}
.section-business a:hover .txt h3 {
  font-size: clamp(0.5rem, 1vw, 1.4rem);
}
.section-business a:hover .txt h6 {
  font-size: clamp(1rem, 3.1vw, 4.5rem);
}
.section-business a:hover .txt h6 span{ 
  display: block;
  /* transition: cubic-bezier(1, 0, 1, 0); */
}
.section-business a:hover .txt h6 span:last-child{ 
  font-size: 1px;
  opacity: 0;
  transition: all .3s;
}

a:hover .showhover {
  display: block;
  font-size: clamp(0.9rem, 1.05vw, 1.5rem);
  opacity: 1;
}

.section-business .flex-rt a:hover .txt::before {
  opacity: 1;
}
.section-business .flex-rt a:hover{ opacity: 1;}
.section-business .flex-rt a:hover .txt::after {
  filter: brightness(0.6);
}


}

.section-content.flex .flex-box .hero-copy {
  margin-left: -2rem;
  margin-bottom: 0rem;
  position: relative;
  z-index: 1;
  top: 0;
  left: 0;
  /* color: #fff; */
  text-align: left;
  margin: 12vw -3.5vw 0 3.5vw;
  /* width: 60vw; */
  padding: 0;
  font-weight: 700;
  justify-content: flex-start;
}
.section-content.flex .flex-box .hero-copy h1 {
  transform: rotate(-10deg);
  transform-origin: left;
  font-style: italic;
  filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.15));
  /* font-size: clamp(4rem, 10.2vw, 11rem); */
  font-size: clamp(5.5rem, 7.7vw, 11rem);
  line-height: 0.85;
  letter-spacing: 0;
}
.section-content.flex .flex-box .hero-copy h1:last-child {
  left: 2.8vw;
  position: relative;
}

@media only screen and (max-width: 640px) {
 .section-business .section-content {
  margin-top: 35vw;
  }
   
  .section-business .section-content.flex > img.flex-box {
    margin: 0;
    width: 89vw;
  }
  .section-content.flex > .flex-box {
    width: 100%;
  }
  .section-content.flex .flex-box.hero-copy {
    left: -74vw;
  }
  .flex.rev .flex-box.hero-copy {
    left: auto;
    right: -73.5vw;
    top: 33vw;
  }  
  .section-content.flex .flex-box.hero-copy h1{
    font-size: 34vw;
  }
  .section-business .flex-box h5 {
    text-align: left;
    font-size: 4.2vw;
    margin: 10vw 0 6vw;
  }
  .section-business .banner {
    margin-top: 18vw;
    gap: 3vw;
  }
  .section-business .banner a{
    margin: 0;
    height: 43vw;
  }
  .section-business a .txt h3{
    font-size: 5.2vw;
    margin-top: 8vw;
  }
  .banner .txt h6 {
    font-size: 3.6vw;
    letter-spacing: 0.2em;
  }

  /*SP時はPCのhoverがデフォルトになるように*/
  /* a .zoom::after{
    transform: scale(1.1);
  } */
  .section-business a .txt h3 {
    font-size: 2vw;
  }
  .section-business a .txt h6 {
    font-size: 6vw;
  }
  .section-business a .txt h6 span{ 
    display: block;
  }
  .section-business a .txt h6 span:last-child{ 
    font-size: 60%;
    letter-spacing: 1px;
  }
  
  a .showhover {
    display: block;
    font-size: 2.4vw;
    text-align: center;
    opacity: 1;
  }
  

}


section.section-recruit::before {
  width: 355vw;
  height: 225vw;
  position: absolute;
  content: "";
  z-index: 0;
  top: -45vw;
  left: -100vw;
  background: linear-gradient(45deg, #3c7fdd 0%, #1a459c 100%);
  clip-path: ellipse(50% 33% at 50% 50%);
  transform: rotate(-30deg);
}
.section-recruit .section-content {
  margin-top: 5vw;
  padding-top: 7vw;
  color: #fff;
}
.section-recruit .flex-box h5 {
  margin-bottom: 0.8vw;
}
.section-recruit a.flex-box {
  color: #fff;
}
.section-recruit .flex-box.col-2 {
  padding: 1vw 0.8vw 0.5vw;
}
/* .section-recruit .flex-box:last-child a {
  padding: 0.8vw;
} */
.section-recruit .col-2 .zoom{ aspect-ratio: 3 / 2; }
.section-recruit .zoom.message::after{
  background: url(../img/top/recruit_message.jpg) center / cover no-repeat;
}
.section-recruit .zoom.data::after{
  background: url(../img/top/recruit_data.jpg) center / cover no-repeat;
}

.section-recruit .txt.flex-column {
  text-align: left;
  padding: 0 2.8vw;
  width: 85%;
  position: relative;
  margin-top: -3.8vw;
}
.section-recruit .txt.flex-column::after {
  content: "";
  width: 5vw;
  height: 5vw;
  position: absolute;
  right: 0;
  top: 0;
  border-top: 1vw solid #fff;
  border-right: 1vw solid #fff;
  transform: rotate(45deg) translate(50%);
}
.section-recruit .flex-box.text-content p {
  padding-bottom: 4.8vw;
}
.section-recruit .col-2 .flex-box p {
  padding-top: 3vw;
  letter-spacing: 0em;
}
.section-recruit .col-2 .flex-box .txt::after {
  top: 1vw;
}

.section-recruit .section-content.interview {
  margin-top: 0;
  padding: 0;
}
.section-recruit .section-content .col-3 {
  padding-top: 4vw;
  justify-content: space-between;
  padding: 3.6vw 0.8vw 0;
}
.section-recruit .col-3 .zoom{ aspect-ratio: 13 / 20; }
.section-recruit .zoom.staff-1::after{
  background: url(../img/top/staff-1.jpg) center / cover no-repeat;
}
.section-recruit .zoom.staff-2::after{
  background: url(../img/top/staff-2.jpg) center / cover no-repeat;
}
.section-recruit .zoom.staff-3::after{
  background: url(../img/top/staff-3.jpg) center / cover no-repeat;
}

.section-recruit .col-3 .txt.flex-column {
  margin-top: -3.1vw;
  padding: 0 1.5vw;
}
.section-recruit .col-3 .txt.flex-column h3 span {
  font-size: 4vw;
}
.section-recruit .col-3 .txt.flex-column h4 {
  font-size: 2vw;
  line-height: 1;
}
.section-recruit .col-3 .flex-box p {
  padding: 1vw 0;
}
/* .section-recruit .col-3 .flex-box .txt::after {
  top: -1.3vw;
} */
.section-recruit .section-content .section-content{
  margin-top: 3.5vw;
}
.section-recruit .section-content.text-content{
  padding: 0 0.8vw;
}
.section-recruit .section-content.text-content h2 {
  line-height: 1.3;
}
.entry {
  padding: 7.6vw 0.5vw 9.6vw;
  width: 76vw;
}
.entry button.more {
  width: 100%;
  padding: 0vw;
  background: #1a459c;
  border-radius: 0;
}
.entry button.more a {
  display: flex;
  border-radius: 0;
  padding: 4.2vw 6.5vw;
  justify-content: flex-start;
  color: #fff;
  align-items: center/*baseline*/;
  /*height: 14vw;*/
  /* filter: invert(1); */
  /* mix-blend-mode: difference; */
}
.entry h2 {
  font-size: clamp(1.7rem, 3.47vw, 50rem);
  margin-right: 3.4vw;
  z-index: 1;
  padding-bottom: 1vw;
}
.entry h6 {
  z-index: 1;
  letter-spacing: 0;
}
.entry span.arrow {
  margin-left: auto;
  width: 5.6vw;
  margin-right: 0;
  padding: 0;
  background: #fff;
  top: 0;
  transform: translateX(0);
  transition: transform .3s;
  mix-blend-mode: normal;
}
.entry span.arrow:after {
  border-color: #fff;
  width: 0.8vw;
  height: 0.8vw;
  top: 0;
  right: 3px;
}
.entry button.more a::after {
  background: #fff;
  clip-path: polygon(0 0, 97% 0%, 100% 100%, 3% 100%);
  transition-duration: .5s;
  /* mix-blend-mode: hue; */
}

.entry button.more:hover h2,
.entry button.more:hover h6 {
  color: #1a459c;
}
.entry button.more:hover a span.arrow {
  background: #1a459c;
  transform: translateX(2vw);
  transition: transform .3s;
}
.entry button.more:hover a span.arrow::after {
  border-color: #1a459c;
}


@media only screen and (min-width: 641px) {
  .section-recruit a.flex-box:first-child {
    margin-top: -19.5vw;
  }
  .section-recruit .col-3 a.flex-box:first-child {
    margin-top: -14vw;
  }
  .section-recruit .col-3 a.flex-box:last-child {
    /* margin-top: 7vw; */
    margin-bottom: -14vw;
  }
}

@media only screen and (max-width: 640px) {
  section.section-recruit::before {
    width: 1060vw;
    height: 775vw;
    top: -135vw;
    left: -420vw;
  }
  
  .section-recruit .section-content{ padding-top: 26vw; }
  .flex.rev .flex-box.hero-copy{
    left: auto;
    right: -73.5vw;
    top: 21vw;
  }
  .section-content.flex.rev .flex-box.text-content{
    margin: 16.5vw auto 0 0;
    text-align: left;
    align-items: flex-start;
    width: 83%;
  }
  .section-recruit .flex-box h5{ margin-bottom: 5vw; }
  .section-recruit .flex-box.text-content p{ padding-bottom: 17vw; }
  .section-recruit .txt.flex-column {
    padding: 0 3vw 0 5vw;
    margin-top: -11vw;
  }
  .section-recruit .txt.flex-column::after {
    width: 14vw;
    height: 14vw;
    right: -1vw;
    top: 4vw;
    border-width: 2.5vw;
  }

  .section-recruit .col-2 .flex-box p {
    padding-top: 8vw;
    padding-bottom: 11vw;
  }
  .section-recruit .section-content.interview {
    padding-top: 0vw;
}
  .section-recruit .section-content .col-3{
    overflow-x: scroll;
    flex-wrap: nowrap;
    width: 100vw;
    gap: 2vw;
    padding: 3.6vw 3vw 0 ;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .section-recruit .section-content .col-3::-webkit-scrollbar{
    display: none;
  }
  .section-recruit .col-3 .txt.flex-column{
    margin-top: -5vw;
    padding: 1vw 0 0 5vw;
    width: 90%;
  }
  .section-recruit .col-3 .txt.flex-column h3 span {
    font-size: 8vw;
    margin: 0 3vw;
  }
  .section-recruit .col-3 .txt h3.en {
    line-height: 0.9;
  }
  .section-recruit .col-3 .txt.flex-column h4{
    font-size: 4.0vw;
    line-height: 1;
    font-weight: 900;
    padding: 2.5vw 0;
  }
  .section-recruit .col-3 .flex-box {
    min-width: 62.3vw;
    margin-bottom: 0;
  }
  .section-recruit .col-3 .flex-box p {
    padding-top: 1.0vw;
    font-size: 2.8vw;
  }
  .section-recruit .col-3 .flex-box .txt::after {
    top: -3.3vw;
    /* right: 3vw; */
  }
  .section-recruit .section-content.text-content{ padding: 5vw 8vw 0; }
  .section-recruit .section-content .section-content{
    margin-top: 1.5vw;
  }
  
  .section-recruit .section-content.text-content h2{ 
    font-size: 13vw;
    line-height: 1.1;
   }
   .section-recruit .section-content.text-content h6{
    padding: 3.5vw 0 4.5vw; 
   }
   .section-recruit .section-content.text-content p{ width: 100%; }
   .section-recruit .entry {
    width: 84%;
    padding: 11vw 0 20vw;
  }
  .section-recruit .entry .more a.flex {
    display: block;
    height: auto;
    padding: 5vw 11vw 7vw;
  }
  .entry h2 {font-size: 10vw;}
  .entry h6 {font-size: 3vw; padding-top: 2vw;}
  .entry span.arrow {
    width: 11vw;
    top: -9vw;
    right: -3vw;
  }
  .entry span.arrow:after{ width: 2vw; height: 2vw; }
}




.section-company .flex-box.hero-copy {
  left: -10.4vw;
  top: -0.5vw;
}
.section-company .section-content.flex .text-content {
  width: 84vw/*99%*/;
  padding: 0 0vw 0 5.0vw;
  align-items: flex-start;
  margin-top: -2.5vw;
}
/* .section-company .section-content.flex .text-content h4 {
  aspect-ratio: 240 / 160;
  padding: initial;
  width: 24rem;
  height: auto;
  align-content: center;
  margin-top: 2vw;
} */

/* .section-company .banner {
  padding: 2vw;
  background: #fff;
  column-gap: 2vw;
} */
/* .section-company .banner a .txt {
  padding: 2vw 0.5vw;
  width: 18vw;
} */
.section-company .banner a .txt p {
  padding-bottom: 0;
  font-size: 1vw;
  letter-spacing: 0.02em;
}
.section-company .zoom {
  aspect-ratio: 3 / 2;
}
.section-company .zoom:after{ z-index: 0;}
.section-company .zoom.outline::after{
  background: url(../img/top/company_outline.jpg) center / cover no-repeat;
}
.section-company .zoom.office::after{
  background: url(../img/top/company_office.jpg) center / cover no-repeat;
}
.section-company .zoom.safety::after{
  background: url(../img/top/company_safety.jpg) center / cover no-repeat;
}
.section-company .banner .txt h6{
  filter: none;
}

@media only screen and (min-width: 641px) {
  .section-company .flex-box > picture img {
    margin: 0 -5vw 0 5vw;
    width: 88vw/*103%*/;
  }  
  .section-company .section-content.flex .text-content h4 {
    aspect-ratio: 3 / 2;
    padding: initial;
    width: 16.6vw/*24rem*/;
    height: auto;
    align-content: center;
    margin-top: 2vw;
  }
  .section-company .banner {
    padding: 2vw;
    background: #fff;
    column-gap: 2vw;
  }
  .section-company .banner a {
    width: 16.7vw;
  }
  .section-company .banner a:hover { opacity: 1; }

  .section-company .banner a .txt {
    padding: 2vw 0 2vw 1vw;
    width: 16.7vw;
  }
}

@media only screen and (max-width: 640px) {
  .section-company .section-content.flex .flex-box.hero-copy{ top: 56vw; }
  .section-company .section-content.flex .text-content {
    width: 72%;
    padding: 0;
    margin: 0 -3vw 0 auto;
  }  
  .section-company .section-content.flex .text-content h4 {
    margin: 10vw 0 8vw;
    letter-spacing: 0.18em;
  }
  .section-company .banner a{padding : 1vw 0 0;}
  .section-company .banner a .txt{ padding: 3vw 0 6.5vw;}
  .section-company .banner .txt h6 {
    font-size: 3.3vw;
    letter-spacing: 0.05em;
  }
  .section-company .zoom{ aspect-ratio: 51 / 20; }
  .section-company .zoom.outline::after{
    background: url(../img/top/company_outline_sp.jpg) center / cover no-repeat;
  }
  .section-company .zoom.office::after{
    background: url(../img/top/company_office_sp.jpg) center / cover no-repeat;
  }
  .section-company .zoom.safety::after{
    background: url(../img/top/company_safety_sp.jpg) center / cover no-repeat;
  }
    
}

/* .section-90min{z-index: 1;}
.section-90min::before {
  background: #62deb5;
  width: 100%;
  height: 71vw;
  position: absolute;
  content: "";
  z-index: 0;
  top: 1vw;
  left: 0;
  clip-path: polygon(0 0, 100% 25%, 100% 100%, 0 75%);
}
.section-90min::after {
  background: #d3fc32;
  width: 100%;
  height: 71vw;
  position: absolute;
  content: "";
  z-index: 0;
  top: 1vw;
  left: 0;
  clip-path: polygon(0 25%, 100% 0, 100% 75%, 0 100%);
}
.section-90min .section-content {
  padding-top: 0vw;
  margin-top: -15vw;
}
.section-90min .section-content.flex > .img.flex-box {
  width: 100vw;
  position: absolute;
  height: 71vw;
  margin-left: calc(50% - 50vw);
}
.section-90min .section-content.flex .img.flex-box .clip img {
  width: 74vw;
  height: auto;
  right: -18.5vw;
  bottom: -27.5vw;
  position: absolute;
}
.section-90min .section-content.flex .img.flex-box .clip {
  width: 100vw;
  height: 71vw;
  position: absolute;
  display: block;
  content: "";
  top: 1vw;
  clip-path: polygon(0 25%, 100% 0, 100% 75%, 0 100%);
}
.section-90min .section-content.flex .img.flex-box picture img {
  position: absolute;
  width: 100vw;
  height: auto;
  top: -12.8vw;
  left: 0;
  pointer-events: none;
}
.section-90min .flex-box.content:nth-child(2) {
  order: 1;
  width: 100%;
}
.section-90min .section-content.flex .flex-box .hero-copy {
  margin: 23.5vw 0 0 0;
  position: relative;
}
.section-90min .section-content.flex .flex-box .hero-copy::before {
  background: url(../img/top/90min_flame.png) top left / contain no-repeat;
  content: "";
  position: absolute;
  width: 18.5vw;
  height: 18.5vw;
  top: -17vw;
  left: 53%;
  transform: translate(-50%);
}

.section-90min .section-content.flex .flex-box .hero-copy::after {
  background: url(../img/top/blush-wh.png) top left / contain no-repeat;
  height: 17vw;
  top: -2vw;
  left: -3vw;
}
.section-90min .section-content.flex .flex-box.text-content {
  order: 3;
  margin: -0.5vw 0 0 5vw;
}
.section-90min .section-content.flex .flex-box .hero-copy h1:last-child {
  left: 1.4vw;
  margin-top: 0.5vw;
}
@media only screen and (max-width: 640px) {
  .section-90min::before {
    top: -1vw;
    clip-path: polygon(0 0, 100% 7%, 100% 100%, 0 93%);
    height: 263vw;
    top: -1vw;
  }
  .section-90min::after {
    top: 0;
    clip-path: polygon(0 7%, 100% 0, 100% 93%, 0 100%);
    height: 244vw;
  }
  .section-90min .section-content{
    margin-top: 17vw;
  }
  .section-90min .section-content.flex > .flex-box {
    margin-bottom: 0;
  }
  .section-90min .section-content.flex > .img.flex-box {
    width: 98vw;
    height: 122vw;
    position: relative;
    margin-left: 0;
    top: -6vw;
    left: -1vw;
  }
  .section-90min .section-content.flex .img.flex-box picture img{
    top: 0;
  }
  .section-90min .section-content.flex .img.flex-box .clip {
    height: 100%;
    clip-path: unset;
  }
  .section-90min .section-content.flex .img.flex-box .clip img {
    width: 143vw;
    position: relative;
    top: -28vw;
    right: 0;
    bottom: 0;
    left: -24vw;
  }
  .section-90min .section-content.flex .flex-box .hero-copy {
    margin: -8.5vw 0 0 10vw;
  }
  .section-90min .section-content.flex .flex-box .hero-copy::before{
    width: 36vw;
    height: 36vw;
    left: 10vw;
    top: -35vw;
  }
  .section-90min .section-content.flex .flex-box .hero-copy::after{
    left: -3vw;
    height: 30vw;
    top: -3vw;
  }
  .section-90min .flex-box h5 {
    margin: 2vw 0;
  }
}
 */



/* section.section-bunker {
  background: #000;
}
.section-bunker .section-content {
  margin-top: 0;
  padding-top: 4vw;
  padding-bottom: 4vw;
}
.section-bunker .section-content.flex > .img.flex-box {
  position: relative;
  height: 65vw;
  content: none;
  margin-top: 0;
}
.section-bunker .section-content.flex .img.flex-box .clip {
  position: absolute;
  top: 3.8vw;
  clip-path: polygon(76.1% 0%, 100% 4.4%, 100% 100%, 0 100%, 0% 13.9%);
  width: 72vw;
  margin-left: calc(89% - 50vw);
  z-index: 0;
}
.section-bunker .section-content.flex .img.flex-box > img {
  position: absolute;
  width: 44vw;
  max-width: 730px;
  height: auto;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 1;
}
.section-bunker .flex-box.content {
  color: #fff;
  width: 43%;
  z-index: 1;
}
.section-bunker .section-content.flex .flex-box .hero-copy {
  margin: 8.5vw -5vw 0 -4vw;
}
.section-bunker .section-content.flex .flex-box .hero-copy h1 {
  line-height: 1;
  letter-spacing: 0.05vw;
}
.section-bunker .section-content.flex .flex-box .hero-copy h1:last-child {
  letter-spacing: 0.2vw;
}
.section-bunker .section-content.flex .flex-box .hero-copy::after{
  content: '';
    background: url(../img/top/blush-org.png) top left / contain no-repeat;
    top: 1.2vw;
    left: 1vw;
    height: 15.7vw;
}
.section-bunker .flex-column.text-content {
  position: relative;
  text-align: left;
}

@media only screen and (max-width: 640px) {
  .section-bunker .section-content {
    padding-top: 20vw;
    padding-bottom: 34vw;
  }
  .section-bunker .section-content.flex > .img.flex-box{
    height: 105vw;
  }
  .section-bunker .section-content.flex .img.flex-box .clip{
    margin-left: 0;
    width: 139vw;
    left: -18vw;
    top: 8vw;
    clip-path: polygon(0 0, 100% 37%, 100% 100%, 0% 100%);
  }
  .section-bunker .section-content.flex .img.flex-box > img {
    position: relative;
    width: 85vw;
    margin: 0 auto;
  }
  .section-bunker .flex-box.content{
    width: 90%;
    margin: 0 auto;
  }
  .section-bunker .section-content.flex .flex-box .hero-copy{
    margin: 8.5vw 0 -2vw;
  }
  .section-bunker .section-content.flex .flex-box .hero-copy h1{letter-spacing: 0.2vw;}
  .section-bunker .section-content.flex .flex-box .hero-copy h1:last-child{letter-spacing: 0.3vw; margin-left: 2vw;}
  .section-bunker .section-content.flex .flex-box .hero-copy::after{height: 31vw; top: 1.5vw;}
  .section-bunker .flex-box h5 {
    margin-bottom: 4vw;
  }
  .section-bunker .flex-box p {
    padding-bottom: 9vw;
  }
} */


/* .section-member {
  z-index: 1;
}
.section-member .section-content {
  margin-top: -18vw;
  padding-bottom: 12.5vw;
}
.section-member::before {
  background: #d3fc32;
  width: 100%;
  height: 71vw;
  position: absolute;
  content: "";
  z-index: 0;
  top: 0;
  left: 0;
  clip-path: polygon(0 25%, 100% 0, 100% 75%, 0 100%);
}
.section-member::after {
  background: #62deb5;
  width: 100%;
  height: 71vw;
  position: absolute;
  content: "";
  z-index: -1;
  top: 0;
  bottom: 0;
  right: 0;
  clip-path: polygon(0 25%, 100% 25%, 100% 100%, 0 75%);
}


.section-member .section-content.flex > .img.flex-box {
  width: 100vw;
  position: absolute;
  height: 71vw;
  margin-left: calc(50% - 50vw);
}
.section-member .section-content.flex .img.flex-box .clip img {
  width: 55.5vw;
  height: auto;
  right: 0;
  top: 0;
  position: absolute;
}
.section-member .section-content.flex .img.flex-box .clip {
  width: 100vw;
  height: 71vw;
  position: absolute;
  display: block;
  content: "";
  top: 0;
  clip-path: polygon(0 25%, 100% 0, 100% 75%, 0 100%);
}
.section-member .section-content.flex .img.flex-box > img {
  position: absolute;
  width: 100vw;
  height: auto;
  top: -12.8vw;
  left: 0;
  pointer-events: none;
}
.section-member .flex-box.content:nth-child(2) {
  order: 1;
  width: 100%;
}
.section-member .section-content.flex .flex-box .hero-copy {
  margin: 22.5vw 0 0 -1vw;
  position: relative;
}
.section-member .section-content.flex .flex-box .hero-copy::before {
  background: url(../img/top/member_flame.png) top left / contain no-repeat;
  content: "";
  position: absolute;
  width: 14.6vw;
  height: 14.6vw;
  top: -16.3vw;
  left: 55.5%;
  transform: translate(-50%);
}

.section-member .section-content.flex .flex-box .hero-copy::after {
  background: url(../img/top/blush-wh-member.png) top left / contain no-repeat;
  height: 17.7vw;
  top: -2.5vw;
  left: 0;
}
.section-member .section-content.flex .flex-box.text-content {
  order: 3;
  margin: -0.5vw 0 0 6vw;
  width: 36%;
}
.section-member .section-content.flex .flex-box .hero-copy h1 {
  letter-spacing: 2px;
}
.section-member .section-content.flex .flex-box .hero-copy h1:last-child {
  left: 3.0vw;
  margin-top: 0;
}
@media only screen and (max-width: 640px) {
  .section-member::before{
    height: 241vw;
    clip-path: polygon(0 7%, 100% 0, 100% 93%, 0 100%);
  }
  .section-member::after{
    height: 241vw;
    clip-path: polygon(0 80%, 100% 80%, 100% 100%, 0 93%);
  }
  .section-member .section-content{
    margin-top: -18vw;
    padding-bottom: 32vw;
  }
  .section-member .section-content.flex > .img.flex-box{
    position: relative;
    margin-left: 0;
    left: -3.1%;
    top: -3vw;
    height: auto;
  }
  .section-member .section-content.flex .img.flex-box .clip{
    position: relative;
    height: auto;
    clip-path: unset;
  }
  .section-member .section-content.flex .img.flex-box .clip img{
    width: 100%;
    position: relative;
  }
  .section-member .section-content.flex .flex-box .hero-copy{
    margin: 2vw 0 0 2vw;
  }
  .section-member .section-content.flex .flex-box .hero-copy::before{
    width: 34vw;
    height: 34vw;
    top: -37vw;
    left: 17vw;
  }
  .section-member .section-content.flex .flex-box .hero-copy::after {
    height: 29vw;
  }
  .section-member .section-content.flex .flex-box .hero-copy h1{
    font-size: 13.3vw;
    letter-spacing: 0;
  }
  .section-member .section-content.flex .flex-box .hero-copy h1:last-child {
    left: 5.0vw;
  }
  .section-member .section-content.flex .flex-box.text-content{
    width: 90%;
    margin: 0 auto;
  }
}
 */


.section-news .section-content {
  padding: 5.6vw 0;
}
.section-news .section-content .txt-lt{
  width: 15vw;
  position: absolute;
  padding: 4vw 0 0 0.8vw;
  z-index: 1;
}
.section-news .section-content.flex > .flex-box.text-box {
  width: 52%;
  margin-left: 5%;
}
/* .section-news h1.en {
  font-style: italic;
  line-height: 1.4;
} */
.section-news h6 {
  /* font-size: clamp(0.8rem, 1.5vw, 2rem);
  line-height: 1.4;
  font-weight: 700; */
  padding-bottom: 3.6vw;
}
.section-news button.more {
  /* background: transparent; */
  width: 9.6vw;
  border: #312b27 solid 1px;
}
.section-news button.more a span{
  letter-spacing: 0.1em;
  padding: 0 0 0 1.3vw;
  line-height: 2.7vw;
  /* color: #312b27; */
  font-size: clamp(0.4rem, 0.8vw, 12rem);
  mix-blend-mode: normal;
}
.section-news button.more:hover a span{color: #312b27;}
.section-news button.more a::after{ left: -2vw; }

.section-news button.more a + span {
  width: 36%;
  right: -2vw;
  top: 46%;
  /* background: #312b27;
  height: 1px;
  mix-blend-mode: normal; */
  height: 2px;
  background: linear-gradient(0deg, #fff 50%, #312b27 50%);
}
.section-news button.more a + span::after {
  background: transparent;
  border-color: #312b27;
}

.section-news .section-content.flex .text-content{
  width: 90vw;
  padding: 4.8vw 0vw 5.3vw 13.5vw;
  background: #f0edeb;
  margin-right: calc(50% - 50vw);
  margin-left: 5vw;
}
.news-list{ width: 47.3vw; }

.news-list dl {
  font-size: clamp(0.5rem, 1vw, 14rem);
  flex-wrap: wrap;
  padding: 1.29vw 0;
  border-bottom: #d3d3d3 solid 1px;
  letter-spacing: 0.1em;
  position: relative;
}
.news-list dl:first-child {
  border-top: #d3d3d3 solid 1px;
}
.news-list a {
  height: 5.0vw;
  justify-content: flex-start;
  align-items: flex-start;
}
.news-list span.arrow{
  position: absolute;
  right: 0;
  top: 50%;
  width: 5.5vw;
  margin-right: 1vw;
  background: #312b27;
}
.news-list span.arrow:after {
  border-top: 1px solid #312b27;
  position: absolute;
  content: "";
  width: 0.8vw;
  height: 0.8vw;
  transform: translateY(-50%) rotate(40deg);
  right: 2px;
  top: 1px;
}


.news-list dt {
  width: 24.5%;
  padding: 0.3vw 0 0.3vw 7%;
  font-weight: 500;
  letter-spacing: 0.1em;
}
 .news-list dd {
  width: 100%;
/*  background-image: linear-gradient(#000, #000);
  background-size: 0 1px;
  background-position: bottom left;
  background-repeat: no-repeat;*/
  transition: background-size 0.3s ease-out;
  margin: 0.5vw 0;
  padding-left: 6.5%;
  font-size: clamp(0.5rem, 1vw, 15rem);
}
/*.news-list a:hover dd {
  background-size: 100% 1px;
} */
.news-list dl {
  transition: all 0.3s ease-out;
}
.news-list dl:hover {
  background: #fff;
}


/* .news-list a {
  color: #000;
  height: 4.0vw;
  font-weight: 500;
  border-bottom: #d3d3d3 solid 1px;
  margin-bottom: 1vw;
  justify-content: flex-start;
} */

.section-news .banner {
  padding: 0.8vw 0 0.4vw;
  width: 22vw;
}
/* .section-news .section-content.flex > .flex-box.banner {
  width: 43%;
  padding: 1vw 3vw;
} */
.section-news .banner a {
  padding-bottom: 0.7vw;
}


/* .section-news button.more a span,
.section-insta button.more a span {
  padding: 0vw 1.6vw 0vw 4.2vw;
  font-size: clamp(0.8rem,1.0vw,1.4rem);
  width: 11.5vw;
  height: 2.8vw;
  line-height: 2.8vw;
} */
/* .section-insta button.more a span {
  padding: 0vw 2vw 0vw 5.5vw;
  top: -2px;
} */

span.isnew.en {
  position: absolute;
  font-size: clamp(0.4rem, 0.8vw, 11rem);
  background: #c6004f;
  padding: 0.3em 0.8em;
  /* border-radius: 0.3em; */
  color: #fff;
  font-weight: 900;
  /* top: 50%; */
  /* transform: translate(-50%, -50%); */
  /* margin-top: -2.3%; */
  /* position: relative; */
  transform: translateX(-50%);
  margin: 0.3vw 0;
}
span.cat {
  padding: 0.1vw 1.0vw;
  border: solid 1px #5D564B;
}

/* .section-insta .text-box{
  width: 90%;
  margin: 0 auto;
}
.section-insta .text-box .flex{ justify-content: flex-start;
}
.section-insta .text-box img {
  width: 2vw;
  margin-right: 1.3vw;
}
.section-insta .text-box h3.en {
  margin-right: 3vw;
  font-style: italic;
  letter-spacing: 0;
} */

@media only screen and (max-width: 640px) {
  .section-news .section-content{ padding : 3.6vw 0; }
  .section-news .section-content .txt-lt{
    width: 100%;
    padding-left: 5vw;
  }
  .section-news .section-content.flex > .flex-box.text-box {
    width: 95%;
  }
  .section-news .section-content.flex .text-content{
    padding: 29vw 0 23vw;
    width: 92vw;
    margin: 12vw -5vw 0 8vw;
  }
  .news-list{ width: 100%; }
  
  /* .section-news h1.en {
    margin-bottom: -2vw;
    letter-spacing: -0.005em;
  } */
  /* .section-news h6{
    padding-bottom: 4vw;
    font-size: clamp(1.3rem, 1.5vw, 2rem);
  } */
  .news-list dl {
    width: 100%;
    font-size: 3vw;
    padding: 2.2vw 0;
    padding-right: 8.2vw;
  }
  .news-list a {
    height: auto;
    flex-wrap: wrap;
    justify-content: flex-start;
    padding: 2vw 0;
  }
  span.isnew.en {
    top: 15%;
    transform: translate(0);
    margin-left: -5vw;
    font-size: 2.3vw;
    font-weight: 700;
    padding: 0.6vw 1.4vw;
    border-radius: 0;
    top: 10%;
  }
  .news-list dt {
    width: 27%;
    padding: 0;
    margin: 0 0 0 8.2vw;
    letter-spacing: 0.08em;
    border: none;
  }
  span.cat {
    position: relative;
    text-align: center;
    width: auto;
    left: 0;
    font-size: 3vw;
    padding: 0 2.4vw;
  }
  .news-list dd {
    width: calc(100% - 8.2vw);
    font-size: 3.3vw;
    margin: 0 0 0 8.2vw;
    letter-spacing: 0.05em;
    padding: 1.3vw 0 1.0vw;
  }

  .section-news button.more{ 
    position: absolute;
    right: 0;
    bottom: 2vw;
    margin: 2.5vw 11vw 0 0;
    width: 28vw;
  }
  /* .section-insta button.more{ margin : 0.5vw 3% 0 auto; } */


  .section-news button.more a::after,
  .section-insta button.more a::after{ left: -2.5vw; }
  
  .section-news button.more a span{
    width: 32vw;
    line-height: 0vw;
    height: 1vw;
    font-size: 2.4vw;
    padding: 4vw;
  }
  .section-news button.more a + span{ right: -6vw; }
  /* .section-insta button.more a span {
    padding: 4vw 0vw 4vw 9vw;
  } */
  .section-news .section-content.flex > .flex-box.banner{
    width: 100%;
    padding: 7vw 3vw;
  }
  .section-news .banner {
    padding: 10vw 0 0;
    gap: 1vw;
    width: 96vw;
    margin: 0 0 0 -4vw;
  }
  
  .section-news .banner a {
    padding: 0;
  }

  /* .section-insta .section-content.row.flex {
    margin-top: 1vw;
  }
  .section-insta .section-content.flex > .flex-box{
    width: 95%;
  }
  .section-insta .text-box img {
    width: 6vw;
    margin-right: 4vw;
  } */
}

/*     animation    */
/* .fadeIn{
  opacity: 0;
  transition: all 0.8s;
}
.fadeIn.active{
  opacity: 1;
  transition: all 0.8s;
}
.fadeIn .fadeUp{
  transform: translateY(20px);
}
.fadeIn.active .fadeUp{
  transform: translateY(0px);
}
.fadeIn .fadeZm{
  transform: scale(0.8);
}
.fadeIn.active .fadeZm{
  transform: scale(1);
}


.fadeIn .fade-order-1,
.fadeIn .fade-order-2,
.fadeIn .fade-order-3,
.fadeIn .fade-order-4{ 
  opacity: 0;
}
.fadeIn.active .fade-order-1,
.fadeIn.active .fade-order-2,
.fadeIn.active .fade-order-3,
.fadeIn.active .fade-order-4{ 
  opacity: 1;
  transition-property: all;
  transition-duration: 0.8s;
}

.fadeIn .fade-order-1{ transition-delay: 0s; }
.fadeIn .fade-order-2{ transition-delay: 0.5s; }
.fadeIn .fade-order-3{ transition-delay: 1.0s; }
.fadeIn .fade-order-4{ transition-delay: 1.5s; }

section .fadeIn.section-content.flex .flex-box .hero-copy::after {
  clip-path: polygon(0 0, 0 0, 0% 100%, 0 100%);
}
section .fadeIn.section-content.flex.active .flex-box .hero-copy::after {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  transition: all 0.2s cubic-bezier(1,1,0,1) 2s;
}
.section-member .fadeIn.section-content.flex.active .flex-box .hero-copy::after {
  transition: all 0.2s cubic-bezier(1,1,0,1) 0.5s;
}

.section-90min .fade-order-1.fadeZm{ transform-origin: right; }

.section-90min .section-content.flex .flex-box .hero-copy::before,
.section-member .section-content.flex .flex-box .hero-copy::before{ 
  opacity: 0;
  transform: scale(0.9) translate(-50%);
}
.section-90min .section-content.flex.active .flex-box .hero-copy::before,
.section-member .section-content.flex.active .flex-box .hero-copy::before{
    opacity: 1;
  transform: scale(1) translate(-50%);
  transform-origin: center;
  transition: all .8s 1.0s;
}

.section-bunker .fadeIn{ opacity: 1; }
.section-bunker .fadeIn .clip img {
  clip-path: inset(0 0 100% 100%);
}
.section-bunker .fadeIn.active .clip img{
  clip-path: inset(13% 0 0 0);
  transition: all 0.4s;
}
 */

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