@charset "utf-8";

.service02,
.service03,
.service04,
.service05,
.service06,
.circle,
.service07 {
  background-image: url(../img/noise.png);
}

.brandText span,
.oemText01,
.oemText-O,
.service08Text p span {
  color: #92993F;
}

.brandText span,
.circle p,
.service07 dt {
  font-weight: bold;
}

.service05,
.service06,
.service07 {
  background-color: #2A2B1B;
}

/* ----------------------------
           service01
----------------------------- */
.service01 {
  width: 100%;
  height: 100vh;
  background-image: url(../img/brandandoem.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}

.service01 h1 {
  position: absolute;
  bottom: 1%;
  right: 2%;
}

/* ----------------------------
           service02
  ----------------------------- */
.service02 {
  width: 100%;
  padding: 5em 3em;
  position: relative;
}

.service02 img {
  display: block;
  width: 60%;
  margin: 0 auto;
}

.brandText p {
  line-height: 1.7;
  width: 60%;
  margin-left: 3em;
}

.brandText p:nth-of-type(1) {
  margin-top: 4em;
}

.brandText p:nth-of-type(2) {
  line-height: 1.5;
  margin-top: 2em;
}

/* ----------------------------
           service03
  ----------------------------- */
.service03 {
  width: 100%;
  padding: 5em 0 0;
  overflow: hidden;
}

.service03 img {
  display: block;
  box-shadow: 2px 2px 15px #2A2B1B;
  width: 48%;
}

.service03 img:only-child(1),
.service03 img:nth-child(2) {
  display: block;
}

.service03 img:nth-child(2) {
  margin: 4em 0 0 auto;
}

/* ----------------------------
           service04
  ----------------------------- */
.service04 {
  width: 100%;
  padding: 5em 0;
}

/* 無限スクロール */
.scrollwrap {
  display: flex;
  overflow: hidden;
}

.scrollinner {
  display: flex;
  animation: infinity-scroll-left 40s infinite linear both;
}

@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}

.scrollcont {
  box-shadow: 5px 5px 10px #191a14;
  width: 300px;
  height: 300px;
  margin-left: 15px;
  position: relative;
  overflow: hidden;
}

.scrollcont img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ----------------------------
           service05
  ----------------------------- */
.service05 {
  width: 100%;
  height: 80vh;
  padding: 5em 2em 0;
}

.service05 .flexbox {
  gap: 5em;
}

.service05 h2 {
  font-size: clamp(70px, 7vw, 100px);
  letter-spacing: .1em;
  line-height: 1;
  text-align: right;
}

.oemText01 {
  font-size: clamp(80px, 10vw, 120px);
}

.oemText-O {
  font-size: clamp(50px, 5vw, 70px);
}

.service05 h2:nth-of-type(2) {
  font-size: clamp(30px, 3vw, 60px);
  padding-bottom: 3em;
}

.oemInner {
  width: 50%;
}

.oemInner p {
  font-size: clamp(14px, 1.23vw, 16px);
}

.oemInner p:nth-of-type(1) {
  line-height: 1.7;
}

.oemInner p:nth-of-type(2) {
  line-height: 1.5;
  margin-top: 1em;
}

/* ----------------------------
           service06
  ----------------------------- */
.service06 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3em;
  width: 100%;
  padding: 0 5em 5em;
}

.circle {
  border-radius: 50%;
  border: 5px solid #92993F;
  background-color: #EAEBD9;
  width: 35%;
  aspect-ratio: 1/1;
  position: relative;
}

.circle div {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.circle p {
  font-size: clamp(20px, 1.9vw, 40px);
  line-height: 1.6;
  color: #39392B;
  text-align: center;
}

/* ----------------------------
           service07
  ----------------------------- */
.service07 {
  display: flex;
  justify-content: center;
  width: 100%;
  padding: 0 5em 5em;
}

.service07 dl {
  line-height: 1.7;
  letter-spacing: .1em;
  width: 100%;
}

.service07 dt {
  font-size: clamp(16px, 1.5vw, 20px);
  margin-top: 1em;
}

.service07 dd {
  font-size: clamp(14px, 1.23vw, 16px);
  margin-top: .3em;
  margin-left: 1.5em;
}

/* ----------------------------
           service08
  ----------------------------- */
.service08 {
  display: flex;
  justify-content: center;
  align-items: center;
  background: url(../img/noise.png), linear-gradient(#2A2B1B, #8E915D);
  width: 100%;
  height: 100vh;
}

.service08Text p {
  font-family: "Playfair Display", serif;
  font-size: clamp(75px, 8vw, 90px);
  letter-spacing: .1em;
  text-align: center;
}

.service08Text p span {
  font-size: clamp(90px, 10vw, 120px);
}

.service08Text .LINE {
  display: block;
  background-color: #EAEBD9;
  width: 3px;
  height: 60px;
  margin: 20px auto 0;
}

/* ----------------------------
           レスポンシブ
----------------------------- */
@media(max-width:800px) {

  /* ----------------------------
           service01
    ----------------------------- */
  .service01 {
    height: 90vh;
  }

  .service01 h1 {
    position: absolute;
    bottom: 5%;
    right: 2%;
  }

  /* ----------------------------
                 service02
      ----------------------------- */
  .service02 {
    padding: 5em 1em;
  }

  .service02 img {
    width: 90%;
  }

  .brandText p {
    width: 100%;
    margin-top: 2em;
    margin-left: 0;
  }

  /* ----------------------------
                 service03
    ----------------------------- */
  .service03 img {
    width: 80%;
  }

  /* ----------------------------
                 service04
    ----------------------------- */
  .scrollcont,
  .scrollcont img {
    width: 200px;
    height: 200px;
  }

  /* ----------------------------
                 service05
    ----------------------------- */
  .service05 {
    height: auto;
    padding: 5em 1em;
  }

  .service05 .flexbox {
    display: block;
  }

  .service05 h2 {
    font-size: clamp(30px, 9vw, 40px);
  }

  .oemText01,
  .oemText-O {
    font-size: clamp(30px, 10vw, 50px);
  }

  .service05 h2:nth-of-type(1) {
    padding-top: 0;
  }

  .service05 h2:nth-of-type(2) {
    font-size: clamp(20px, 6vw, 40px);
  }

  .oemInner {
    margin: 0 auto;
    width: 100%;
  }

  .service05 p {
    font-size: clamp(13px, 4vw, 16px);
    width: 100%;
  }

  .service05 p:nth-of-type(2) {
    margin-top: 1em;
  }

  /* ----------------------------
                 service06
    ----------------------------- */
  .service06 {
    display: block;
    padding: 3em 0;
  }

  .circle {
    width: 300px;
    height: 300px;
    margin: 2em auto 0;
  }

  .circle p {
    font-size: clamp(16px, 5.7vw, 25px);
  }

  /* ----------------------------
                 service07
    ----------------------------- */
  .service07 {
    padding: 0 1em 5em;
  }

  .service07 dl {
    width: 100%;
  }

  /* ----------------------------
                 service08
    ----------------------------- */
  .service08 {
    height: auto;
    padding: 5em 0;
  }

  .service08Text p {
    font-size: clamp(30px, 10vw, 50px);
  }

  .service08Text p span {
    font-size: clamp(40px, 15vw, 60px);
  }

  .service08Text .LINE {
    width: 2px;
    height: 40px;
  }

}