@charset "utf-8";
/* ------------------------------------------
  japan
------------------------------------------ */
.header {
  background: rgba(239, 237, 234, 0.8);
}

.footer {
  background: #fff;
}

.pagetop_pc {
  opacity: 1;
}

.brand_sec_ttl {
  margin-bottom: 150px;
  font-size: 40px;
  font-family: "Zen Old Mincho", serif;
  letter-spacing: 0.2em;
  line-height: 40px;
  font-weight: 300;
  text-align: center;
  color: #4b4b4b;
}

.brand {
  padding-right: 20px;
  padding-left: 20px;
}

.brand:nth-of-type(odd) {
  background: #efedea;
}

.brand:nth-of-type(even) {
  background: #fff;
}

.brand_container {
  max-width: 1096px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

.brand1 {
  padding-top: 124px;
  padding-bottom: 100px;
}

.brand2 {
  padding-top: 100px;
  padding-bottom: 47px;
}

.brand3 {
  padding-top: 100px;
  padding-bottom: 100px;
}

.brand4 {
  padding-top: 105px;
  padding-bottom: 46px;
}

.brand5 {
  padding-top: 100px;
  padding-bottom: 43px;
}

.brand6 {
  padding-top: 104px;
  padding-bottom: 47px;
}

.brand7 {
  padding-top: 100px;
  padding-bottom: 92px;
}

.brand8 {
  padding-top: 55px;
  margin-bottom: 0;
}

.brand9 {
  padding-top: 100px;
  padding-bottom: 100px;
}

.brand10 {
  padding-top: 87.5px;
  padding-bottom: 35px;
}

.brand11 {
  padding-top: 100px;
  padding-bottom: 150px;
  margin-bottom: 100px;
}

.brand_item1 {
  width: 51.2%;
}

.brand:nth-of-type() .brand_item1 {
  margin-right: 40px;
}

.brand:nth-of-type(even) .brand_item1 {
  margin-left: 40;
}

.brand_item2 {
  width: 45.06%;
}

.brand_logo {
  width: 250px;
}

.brand_logo1 {
  margin-bottom: 30px;
}

.brand_logo2 {
  margin-bottom: 26px;
}

.brand_logo3 {
  margin-bottom: 30px;
}

.brand_logo4 {
  margin-bottom: 30px;
}

.brand_logo5 {
  margin-bottom: 30px;
}

.brand_logo6 {
  margin-bottom: 30px;
}

.brand_logo7 {
  margin-bottom: 30px;
}

.brand_logo8 {
  margin-bottom: 30px;
}

.brand_logo9 {
  margin-bottom: 30px;
}

.brand_logo10 {
  width: 220px;
  margin-bottom: 30px;
}

.brand_detail_inner {
  margin-bottom: 40px;
}

.brand_txt {
  font-family: "Zen Old Mincho", serif;
  font-size: 14px;
  letter-spacing: 0.2em;
  line-height: 28px;
}

.brand_txt1 {
  margin-bottom: 20px;
}

.to_official {
  width: 240px;
  margin-right: 0;
  margin-left: auto;
}

.to_official a {
  display: block;
  width: 100%;
  text-align: center;
  font-family: "adobe-garamond-pro", serif;
  color: #4b4b4b;
  font-size: 16px;
  line-height: 11px;
  letter-spacing: 0.24em;
  padding-top: 12.5px;
  padding-bottom: 10.5px;
  border: 1px solid #4b4b4b;
  border-radius: 47px;
  transition: border 0.4s;
  position: relative;
}

.to_official a:hover {
  border: 1px solid #502200;
  opacity: 1;
  background-image: linear-gradient(72deg, #6d352c 45%, #fff 60%, #6d352c 45%);
  background-size: 500% 100%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  animation: shine 4s ease-out;
  animation-delay: -0.6s;
}

.to_official a::after {
  position: absolute;
  content: "→";
  right: 11%;
  top: 45%;
}

.to_official a:hover::after {
  background-image: linear-gradient(72deg, #6d352c 45%, #fff 60%, #6d352c 45%);
  animation: shine 2s ease-out;
  background-size: 500% 100%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  opacity: 1;
}

.border_bg1 {
  width: 100%;
  height: 300px;
  background: linear-gradient(to right top, transparent 50%, #efedea 50%);
  transform: rotate(0deg); /* 必要に応じて回転角度を調整 */
  transform-origin: top left;
}

.border_bg2 {
  width: 100%;
  height: 300px;
  background: linear-gradient(to right top, #efedea 50%, transparent 50%);
  transform: rotate(0deg); /* 必要に応じて回転角度を調整 */
  transform-origin: top left;
}

.border_bg3 {
  width: 100%;
  height: 300px;
  background: linear-gradient(to right bottom, #efedea 50%, transparent 50%);
  transform: rotate(0deg); /* 必要に応じて回転角度を調整 */
  transform-origin: top left;
}

.border_bg4 {
  width: 100%;
  height: 300px;
  background: linear-gradient(to right bottom, transparent 50%, #efedea 50%);
  transform: rotate(0deg); /* 必要に応じて回転角度を調整 */
  transform-origin: top left;
}

@media screen and (max-width: 430px) {
  .brand_container {
    flex-direction: column;
  }

  .brand_sec_ttl {
    margin-bottom: 41px;
    font-size: 26px;
    line-height: 26px;
  }

  .brand_item1 {
    width: 100%;
    margin-bottom: 21px;
    margin-right: 0;
    margin-left: 0;
  }

  .brand_item2 {
    width: 100%;
  }

  .brand_logo {
    width: 140px;
    margin-bottom: 20px;
  }

  .brand_logo7 {
    width: 120px;
  }

  .to_official {
    margin: 0 auto;
  }

  .to_official a {
    padding-top: 18.5px;
    padding-bottom: 18.5px;
  }

  .brand1 {
    padding-top: 100px;
    padding-bottom: 80px;
  }

  .brand2 {
    padding-top: 73px;
    padding-bottom: 18px;
  }

  .brand3 {
    padding-top: 81px;
    padding-bottom: 81px;
  }

  .brand4 {
    padding-top: 73px;
    padding-bottom: 16px;
  }

  .brand5 {
    padding-top: 80.5px;
    padding-bottom: 81px;
  }

  .brand6 {
    padding-top: 73px;
    padding-bottom: 20px;
  }

  .brand7 {
    padding-top: 80.5px;
    padding-bottom: 81px;
  }

  .brand8 {
    padding-top: 57px;
    margin-bottom: 20px;
  }

  .brand9 {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .brand10 {
    padding-top: 73px;
    padding-bottom: 20px;
  }

  .brand11 {
    padding-top: 44px;
    padding-bottom: 81px;
  }

  .border_bg1,
  .border_bg2,
  .border_bg3,
  .border_bg4 {
    height: 100px;
  }

  .brand:nth-of-type(even) .brand_item2 {
    order: 2;
  }

  .brand_txt {
    letter-spacing: 0.15em;
  }

  .to_official a {
    color: #502200;
    border: 1px solid #6d352c;
  }
}
