/*----------------------
　下層ｆｖ
-----------------------*/
.fv-u-area {
  background: linear-gradient(to bottom, #000000, #545454);
}
.fv-u-area.hardware {
  background: linear-gradient(to bottom, #000000, #1d3156);
}
.fv-u-area.construction {
  background: linear-gradient(to bottom, #000000, #00582d);
}
.fv-u-area.furniture {
  background: linear-gradient(to bottom, #582900, #060a11);

  .common-fv-left {
    width: auto;
  }
}

.hardware .fv-u-cont {
  padding: 180px 32px 80px;
  position: relative;

  @media screen and (max-width: 991px) {
    padding: 80px 16px 40px;
  }
}

.construction .fv-u-cont {
  padding: 180px 32px 80px;
  position: relative;

  @media screen and (max-width: 991px) {
    padding: 100px 16px 40px;
  }
}

.furniture .fv-u-cont {
  padding: 180px 32px 80px;
  position: relative;

  @media screen and (max-width: 991px) {
    padding: 100px 16px 40px;
  }
}

.holdings .fv-u-cont {
  padding: 180px 32px 80px;
  position: relative;

  @media screen and (max-width: 991px) {
    padding: 100px 16px 40px;
  }
}

.fv-u-cont {
  padding: 120px 32px 80px;

  @media screen and (max-width: 991px) {
    padding: 100px 16px;
  }
}

.common-fv .box {
  display: flex;
  justify-content: space-between;

  @media screen and (max-width: 991px) {
    flex-direction: column;
    gap: 16px;
  }
}

.hardware .common-fv-left {
  width: 100%;
  position: relative;
  z-index: 5;

  @media screen and (max-width: 991px) {
    width: 100%;
  }
}

.construction .common-fv-left {
  width: 100%;
  position: relative;
  z-index: 5;

  @media screen and (max-width: 991px) {
    width: 100%;
  }
}

.holdings .common-fv-left {
  width: 100%;
  position: relative;
  z-index: 5;

  @media screen and (max-width: 991px) {
    width: 100%;
  }
}

.common-fv-left img {
  width: auto;
  height: 56px;

  @media screen and (max-width: 991px) {
    width: 100%;
    height: auto;
  }
}

.common-fv-left {
  width: 40%;

  @media screen and (max-width: 991px) {
    width: 100%;
  }
}

.common-fv-ttl-en {
  font-size: clamp(2.5rem, 0.8333rem + 3.4722vw, 5rem);
}

.common-fv-ttl-jp {
  font-size: clamp(0.875rem, 0.625rem + 0.5208vw, 1.25rem);
}

.common-fv-left-txt-cont {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.common-fv-right {
  width: 40%;

  @media screen and (max-width: 991px) {
    width: 100%;
  }
}

.common-fv-right img {
  border-radius: 10px 10px 0 0;
}

.common-fv-img {
  position: absolute;
  top: 40%;
  right: 2%;
  width: 50%;
  z-index: 2;

  @media screen and (max-width: 991px) {
    position: unset;
    width: 100%;
    margin-top: 16px;
  }
}

.common-fv-img img {
  border-radius: 10px;
}

/*----------------------
　下層セクションタイトル
-----------------------*/
.common-sec-ttl-cont {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0px;
  margin-bottom: 40px;
}

.common-sec-ttl-en {
  font-size: clamp(2rem, 1rem + 2.0833vw, 3.5rem);
}

.common-sec-ttl-jp {
  font-size: 0.8rem;
  border: 1px solid #ececec;
  border-radius: 50px;
  padding: 4px 16px;
}

html {
  scroll-padding-top: 120px;
}
/*----------------------
　採用エリア
-----------------------*/
.common-recruit-bg {
  width: 100%;
  background-image: url(../assets/img/common/common-recruit-bg.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  z-index: 1;
}

.common-recruit-bg::before {
  position: absolute;
  z-index: 0;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, #ffffff 0%, #ffffffa9 40%, #ffffff00 70%);

  @media screen and (max-width: 991px) {
    background: linear-gradient(to top, #ffffff 0%, #ffffffa9 100%, #ffffff00 100%);
  }
}

.common-recruit-area {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 40px;

  @media screen and (max-width: 991px) {
    align-items: center;
    gap: 16px;
  }
}

.common-recruit-ttl {
  @media screen and (max-width: 991px) {
    text-align: center;
  }
}

.common-recruit-ttl-en {
  font-size: clamp(1rem, 0.8333rem + 0.3472vw, 1.25rem);
  font-weight: 600;
}

.common-recruit-ttl-jp {
  font-size: clamp(1.5rem, 1.1667rem + 0.6944vw, 2rem);
  font-weight: 600;
}

.common-recruit-main-txt {
  font-size: clamp(1.75rem, 1.25rem + 1.0417vw, 2.5rem);
  font-weight: 600;
  color: #1d3156;
}

.common-recruit-btn {
  background: linear-gradient(135deg, #1d3156, #00582d);
  padding: 8px 24px;
  border-radius: 50px;
  color: #ffffff;
  width: 100%;
  max-width: 140px;
  display: block;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/*----------------------
  　コンタクトエリア
  -----------------------*/

.common-contact-bg {
  width: 100%;
  background-image: url(../assets/img/common/common-contact-bg.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  z-index: 1;
}

.hw .common-contact-bg {
  background-image: url(../assets/img/common/common-contact-bg-hw.jpg);
}

.co .common-contact-bg {
  background-image: url(../assets/img/common/common-contact-bg-co.jpg);
}

.fu .common-contact-bg {
  background-image: url(../assets/img/common/common-contact-bg-fu.jpg);

  @media screen and (max-width: 560px) {
    background-image: url(../assets/img/common/common-contact-bg-fu-sp.jpg);
  }
}

.common-contact-area {
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.15);
  border-radius: 10px;
  padding: 64px 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  max-width: 85%;
  margin: 0 auto;

  @media screen and (max-width: 991px) {
    max-width: 100%;
    gap: 16px;
    padding: 32px 16px;
  }
}

.common-contact-ttl-en {
  font-size: clamp(1rem, 0.8333rem + 0.3472vw, 1.25rem);
  font-weight: 600;
  color: #fff;
}

.common-contact-ttl-jp {
  font-size: clamp(1.5rem, 1.1667rem + 0.6944vw, 2rem);
  font-weight: 600;
  color: #fff;
}

.common-contact-des {
  color: #fff;
}

.common-contact-btn {
  border: 1px solid #ffffff65;
  border-radius: 50px;
  padding: 4px;
  transition: all 0.3s ease;
}

.common-contact-btn:hover {
  transform: scale(1.08);
}

.btn-border {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  color: #fff;
  border: 1px solid #fff;
  border-radius: 50px;
  padding: 16px 32px;
  transition: all 0.3s ease; /* スムーズなアニメーション */
  backdrop-filter: blur(0px); /* 初期状態の軽いぼかし */
  -webkit-backdrop-filter: blur(0px);
  background: rgba(255, 255, 255, 0.05);
}

.btn-border:hover {
  transform: scale(1.02); /* 5%拡大 */
  background: rgba(255, 255, 255, 0.2); /* 濃いすりガラス */
  backdrop-filter: blur(15px); /* 強いぼかし */
  -webkit-backdrop-filter: blur(15px);
  box-shadow: 0 8px 24px rgba(255, 255, 255, 0.2); /* 光る影 */
}
