@media screen and (min-width: 640px) {
  .is-sp {
    display: none;
  }
}

@media screen and (max-width: 641px) {
  .is-sp-up {
    display: none;
  }
}

.imgbox {
  position: relative;
  width: 100rem;
  background-color: rgba(153, 153, 153, 0.15);
  height: auto;
}

@media screen and (max-width: 980px) {
  .imgbox {
    position: static;
    width: 90%;
    z-index: 5;
  }
}

@media screen and (max-width: 640px) {
  .imgbox {
    position: static;
    width: 93%;
    z-index: 5;
  }
}

.imgbox__child {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 50rem;
  height: 45rem;
  z-index: 3;
}

@media screen and (max-width: 980px) {
  .imgbox__child {
    position: static;
    width: 100%;
    height: 400px;
    margin: 0 auto;
    z-index: 10;
  }
}

@media screen and (max-width: 640px) {
  .imgbox__child {
    position: static;
    width: 100%;
    height: 235px;
    margin: 0 auto;
    z-index: 10;
  }
}

@media screen and (max-width: 980px) {
  .imgbox__child--kurosanpei {
    -o-object-position: 0% 0%;
    object-position: 0% 0%;
    -webkit-transform: scale(1.2, 1.2);
    transform: scale(1.2, 1.2);
    overflow: hidden;
  }
}

@media screen and (max-width: 640px) {
  .imgbox__child--kurosanpei {
    -o-object-position: 100% -50%;
    object-position: 100% -50%;
    -webkit-transform: scale(1.5, 1.5);
    transform: scale(1.5, 1.5);
    overflow: hidden;
  }
}

.imgbox__child-right {
  position: absolute;
  top: 0;
  right: 0;
  max-width: 54rem;
  width: 100%;
  background-color: pink;
  height: 45rem;
  z-index: 3;
}

@media screen and (max-width: 980px) {
  .imgbox__child-right {
    max-width: 70rem;
    position: static;
    width: 100%;
    height: 400px;
    margin: 0 auto;
    z-index: 10;
  }
}

@media screen and (max-width: 640px) {
  .imgbox__child-right {
    position: static;
    width: 100%;
    height: 235px;
    margin: 0 auto;
    z-index: 10;
  }
}

.imgbox__textbox {
  z-index: 2;
  background-color: white;
  position: absolute;
  width: 60rem;
  height: 60rem;
  right: 0;
  top: 10rem;
}

@media screen and (max-width: 980px) {
  .imgbox__textbox {
    position: static;
    height: auto;
    width: auto;
    padding: 0 1rem;
  }
}

@media screen and (max-width: 640px) {
  .imgbox__textbox {
    position: static;
    height: auto;
    width: auto;
    padding: 0 1rem;
  }
}

.imgbox__textbox-right {
  z-index: 2;
  background-color: white;
  position: absolute;
  width: 60rem;
  height: 60rem;
  left: 0;
  top: 10rem;
}

@media screen and (max-width: 980px) {
  .imgbox__textbox-right {
    position: static;
    height: auto;
    width: auto;
    padding: 0 1rem;
  }
}

@media screen and (max-width: 640px) {
  .imgbox__textbox-right {
    position: static;
    height: auto;
    width: auto;
    padding: 0 1rem;
  }
}

.imgbox__textbox--inner {
  position: absolute;
  left: 16rem;
  top: 7.5rem;
  width: 62%;
  height: 75%;
}

@media screen and (max-width: 980px) {
  .imgbox__textbox--inner {
    position: static;
    width: auto;
  }
}

@media screen and (max-width: 640px) {
  .imgbox__textbox--inner {
    position: static;
    width: auto;
  }
}

.imgbox__textbox--inner-right {
  position: absolute;
  right: 16rem;
  top: 7.5rem;
  width: 62%;
  height: 75%;
}

@media screen and (max-width: 980px) {
  .imgbox__textbox--inner-right {
    position: static;
    width: auto;
  }
}

@media screen and (max-width: 640px) {
  .imgbox__textbox--inner-right {
    position: static;
    width: auto;
  }
}

.imgbox__textbox--inner--subtitle {
  font-size: 1.75rem;
}

@media screen and (max-width: 640px) {
  .imgbox__textbox--inner--subtitle {
    font-size: 1.5rem;
  }
}

.imgbox__textbox--inner--paragraph {
  font-size: 1.3rem;
}

@media screen and (max-width: 980px) {
  .imgbox__textbox--inner--paragraph {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 640px) {
  .imgbox__textbox--inner--paragraph {
    font-weight: 500;
    font-size: 1.2rem;
  }
}

.inner {
  max-height: 525px;
  height: 525px;
  width: 100%;
  position: relative;
  z-index: -1;
}

.key {
  position: relative;
  width: 100%;
}

@media screen and (min-width: 1400px) {
  .key {
    height: 700px;
  }
}

@media screen and (max-width: 640px) {
  .key {
    height: 500px;
  }
}

.key__img {
  height: 100%;
}

@media screen and (min-width: 1400px) {
  .key__img--position {
    -o-object-position: 32.5% 0%;
    object-position: 32.5% 0%;
  }
}

@media screen and (max-width: 640px) {
  .key__img--position {
    -o-object-position: 31.5% 30%;
    object-position: 31.5% 30%;
  }
}

@media screen and (max-width: 323px) {
  .key__img--position {
    -o-object-position: 29% 30%;
    object-position: 29% 30%;
  }
}

.key__box {
  z-index: 1;
  background: -webkit-gradient(
    linear,
    left top,
    right top,
    from(#fff),
    to(#c59b6d)
  );
  background: linear-gradient(to right, #fff, #c59b6d);
  mix-blend-mode: multiply;
  height: 100%;
  width: 50%;
  position: absolute;
  top: 0%;
  left: 50%;
}

@media screen and (max-width: 640px) {
  .key__box {
    background: #c59b6d;
    mix-blend-mode: multiply;
    position: absolute;
    width: 100%;
    height: 50%;
    z-index: 5;
    left: 0;
    top: 50%;
  }
}

.key__text {
  color: #000;
  position: absolute;
  top: 0;
  width: 100%;
  /* max-width: 54rem; */
  -webkit-transform: translate(-50%, 0%);
  transform: translate(-50%, 0%);
  left: 50%;
  z-index: 12;
  padding: 8rem 0 2rem;
}

@media screen and (max-width: 1200px) {
  .key__text {
    width: 100%;
    padding: 7rem 0 2rem;
  }
}

@media screen and (max-width: 980px) {
  .key__text {
    /* max-width: 35rem; */
    width: 100%;
    padding: 5rem 0 2rem;
  }
}

@media screen and (max-width: 640px) {
  .key__text {
    padding: 2rem 0;
    position: absolute;
    width: 90%;
    height: 50%;
    z-index: 5;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}

.key__text--1 {
  text-align: center;
  margin-top: 3rem;
}

@media screen and (min-width: 1200px) {
  .key__text--1 {
    font-size: 2.5rem;
  }
}

@media screen and (max-width: 980px) {
  .key__text--1 {
    font-size: 1.3rem;
    margin-top: 2rem;
    padding: 1rem 0;
  }
}

@media screen and (max-width: 640px) {
  .key__text--1 {
    font-size: 1.3rem;
    margin-top: 1.8rem;
    padding: 0.5rem 0;
    font-weight: normal;
  }
}

.key__text--1 .--text {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  letter-spacing: 0.1rem;
  padding: 2.6rem 4rem;
  font-size: 1.7rem;
  display: inline-block;
}

@media screen and (max-width: 980px) {
  .key__text--1 .--text {
    margin-top: 2rem;
    padding: 1rem 0;
  }
}

@media screen and (max-width: 640px) {
  .key__text--1 .--text {
    margin-top: 1.8rem;
    padding: 0.5rem 0;
  }
}

.key__text--2 {
  text-align: center;
}

@media screen and (max-width: 640px) {
  .key__text--2 {
    font-weight: bold;
  }
}

.keytext {
  padding: 1rem 0;
  font-size: 3rem;
  text-align: center;
  letter-spacing: 0.3rem;
  font-family: "Noto Serif JP", serif;
}

@media screen and (min-width: 1200px) {
  .keytext {
    font-size: 3.3rem;
  }
}

@media screen and (max-width: 980px) {
  .keytext {
    font-size: 2.5rem;
  }
}

@media screen and (max-width: 640px) {
  .keytext {
    /* font-size: 2rem; */
  }
}

@media screen and (max-width: 640px) {
  .keytext--big {
    font-size: 2.7rem;
  }
}

.black__title {
  height: 7rem;
}

@media screen and (max-width: 980px) {
  .black__title {
    height: 7rem;
  }
}

@media screen and (max-width: 640px) {
  .black__title {
    height: 5rem;
  }
}
/*# sourceMappingURL=toppage.css.map */

.brandIllust {
  display: flex;
  align-items: center;
  gap: 0 100px;
  justify-content: center;
  margin-bottom: 90px;

  .--illust {
    border-radius: 50%;
    background: #f1f1f1;
    width: 250px;
    height: 250px;
    padding-top: 55px;
    /* display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center; */
  }

  .--title {
    font-size: 24px;
    font-weight: bold;
    border-bottom: 1px solid #000;
    padding: 0 5px 5px;
    display: inline-block;
    margin-bottom: 25px;
  }

  .--text {
    font-size: 14px;
    line-height: 1.8;
    text-align: center;
  }

  .--img {
    width: 40px;
  }
}

@media screen and (max-width: 800px) {
  .brandIllust {
    gap: 0 30px;

    .--title {
      font-size: 22px;
    }
  }
}
@media screen and (max-width: 640px) {
  .brandIllust {
    gap: 0 10px;
    margin-bottom: 40px;

    .--illust {
      width: 160px;
      height: 160px;
      padding-top: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
    }

    .--title {
      font-size: 16px;
      margin-bottom: 5px;
    }

    .--text {
      font-size: 12px;
      line-height: 1.4;
    }

    .--img {
      width: 20px;
    }
  }
}
