@charset "UTF-8";

body {
background-color: #000;
    color: #fff;
}
.bg_white {
    width: 100%;
    background: #fff;
    color: #000;
}
.hero {
    position: relative;
    width: 100%;
}

.hero h2 {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    color: #fff;
    font-size: min(6vw, 50px);
    transform: translate(-50%, -50%);
    text-align: center;
    z-index: 2;
}

.hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}



.jr_Area {
  padding: 80px 0;
  text-align: center;
}

.jr_Area .logo_jr {
  max-width: 482px;
  width: 40.1666666667%;
  margin: 0 auto 40px;
}

.jr_Area h3 {
  font-size: 30px;
  letter-spacing: 2px;
  line-height: 1.8;
  margin-bottom: 20px;
}

.jr_Area p {
  font-size: 16px;
  line-height: 2.4;
  letter-spacing: 1px;
}

ul.img_Box {
  justify-content: space-between;
  flex-wrap: wrap;
    align-items: flex-end;
}

ul.img_Box li {
  width: 33.333333%;
}
ul.img_Box.flex4-1 li {
  width: 25%;
}

ul.img_Box li figure {
  position: relative;
}

ul.img_Box li figure figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 6px;
  font-size: 12px;
  color: #fff;
  background: rgba(0, 0, 0, 0.7);
  transform: rotate(.028deg);
}

ul.img_Box li figure a {
  transition: 0.3s;
  display: block;
}

ul.img_Box li figure a:hover {
  opacity: 0.7;
}

div.img_Box figure {
  position: relative;
}

div.img_Box figure figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 6px;
  font-size: 12px;
  color: #fff;
  background: rgba(0, 0, 0, 0.7);
  transform: rotate(.028deg);
}

.mjr_Area {
  padding: 80px 0;
  text-align: center;
}

.mjr_Area .logo_jr {
  width: 45%;
  max-width: 400px;
  margin: 0 auto 40px;
}

.mjr_Area .logo_mjr {
  max-width: 280px;
  width: 26%;
  margin: 0 auto 40px;
}

.mjr_Area .logo_fine {
  max-width: 380px;
  width: 40%;
  margin: 0 auto 40px;
}


.mjr_Area .logo_leben {
  max-width: 380px;
  width: 40%;
  margin: 100px auto 0px;
}

.mjr_Area h3 {
  font-size: 30px;
  letter-spacing: 2px;
  line-height: 1.8;
  margin-bottom: 20px;
}

.mjr_Area p {
  font-size: 14px;
  line-height: 2.4;
  letter-spacing: 1px;
}
.mjr_Area p sup {
    font-size: 10px;
    vertical-align: top;
}

.leben_Area {
    padding-bottom: 0px;
}
.leben__works2  {
    width: 1200px;
    max-width: 90%;
    margin: 0 auto 70px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.leben__works2 .leben__works2--left {
    width: 23.5%;
    aspect-ratio:283/564;
}
.leben__works2 .leben__works2--right {
    width: 74.5%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.leben__works2--logo {
    width: 60%;
    margin: 0 auto 50px;;
}
.leben__works2--items {
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap:min(1.25vw, 24px);
}
.leben__works2--name {
    font-size: 12px;
    margin-top: 15px;
    line-height: 1.4;
}
.leben_map {
    width: 1200px;
    max-width: 90%;
    margin: 0 auto;
}

/*-----------------------------
tab〜
-----------------------------*/
@media only screen and (max-width: 1024px) {}
@media only screen and (max-width: 956px) {}

/*-----------------------------
tabのみ
-----------------------------*/
/*@media only screen and (max-width: 1024px) and (min-width: 768px) {
  .teiki { width: 60%;}
}*/

/*-----------------------------
sp
-----------------------------*/
@media only screen and (max-width: 768px) {

ul.btm_Btn_Area li.f_request {
background: #981515;
}
.hero {
padding: 70px 0 30px;
}
.hero h2 {
top: 50%;
margin-bottom: 15px;
    font-size: 30px;
}
.hero p {
font-size: 14px;
}
    .mjr_Area .logo_jr {
        width: 80%;
    }
  .jr_Area .logo_jr {
    width: 80%;
    margin: 0 auto 20px;
  }

  .jr_Area h3 {
    font-size: 20px;
    letter-spacing: 2px;
    line-height: 1.6;
    margin-bottom: 10px;
  }

  .jr_Area p {
    font-size: 12px;
    line-height: 2.2;
    letter-spacing: 1px;
  }


  ul.img_Box {
    flex-direction: column;
  }

  ul.img_Box li:nth-child(1),
  ul.img_Box li:nth-child(2) {
    width: 100%;
  }

  ul.img_Box li:nth-child(3),
  ul.img_Box li:nth-child(4),
  ul.img_Box li:nth-child(5) {
    width: 100%;
  }


  .mjr_Area .logo_mjr {
    width: 60%;
	max-width: 150px;
    margin: 0 auto 20px;
  }
  .mjr_Area .logo_fine {
  width: 70%;
  }

  .mjr_Area h3 {
    font-size: 20px;
    letter-spacing: 2px;
    line-height: 1.6;
    margin-bottom: 10px;
  }

  .mjr_Area p {
    font-size: 12px;
    line-height: 2.2;
    letter-spacing: 1px;
  }
    
    .leben__works2 {
        flex-wrap: wrap;
    }
    .leben__works2 .leben__works2--left {
        width: 48%;
    }
    .leben__works2 .leben__works2--right {
        width: 48%;
    }
    .leben__works2 .leben__works2--left img ,
    .leben__works2 .leben__works2--right img ,
    .leben__works2 .leben__works2--bottom img {
        max-height: inherit;
        height: auto;
        height: 100%;
    }
    .leben__works2 .leben__works2--bottom {
        margin-top: 15px;
    }
    .leben__works2--logo {
        width: 90%;
    }
    .leben__works2--name {
        font-size: 11px;
        margin-top: 10px;
    }
    .leben__works2 .leben__works2--bottom li {
        width: 48%;
    }
.mjr_Area .logo_leben {
  max-width: 380px;
  width: 70%;
  margin: 70px auto 0px;
}

}

