/*--------------------------- 
home style
----------------------------- */
/* 前方一致（^=）: 指定した文字列で始まる要素 */
/* [class^="prefix-"] {
     例：prefix-で始まるクラス名すべてに適用 
} */
/* 後方一致（$=）: 指定した文字列で終わる要素 */
/* [class$="__inner"] {
     例：__innerで終わるクラス名すべてに適用 
} */
/* 部分一致（*=）: 指定した文字列を含む要素 */
/* [class*="common"] {
     例：commonを含むクラス名すべてに適用 
} */
/* mainvisual */
/* mainvisual */
.mainvisual__contents {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.mainvisual-slider__item {
  overflow: hidden;
  height: max(34.28vw, 40rem);
  max-height: calc(100vh - 100px);
  position: relative;
}
.mainvisual-slider__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15); /* 拡大率 */
  }
}
.add-animation {
  animation: zoomUp 5s linear 0s normal both;
}

.mainvisual__absolute {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
}
.mainvisual__btn {
  width: 30%;
  max-width: 300px;
  padding: 1.2em 0;
  background-color: #b29d6b;
  border: 1px solid #fff;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(0.8rem, 1.04vw, 1.25rem); /* 20px */
  color: #fff;
}
.mainvisual__text {
  font-size: clamp(0.9rem, 1.144vw, 1.375rem); /* 22px */
}
/* about section */
.about {}
.about__list {
  display: flex;
}
.about__item {
  flex: 1;
  display: flex;
  color: #fff;
  width: 100%;
}
[class^="about__background"] {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  flex-direction: column;
  /* justify-content: center; */
  align-items: center;
  gap: 2em;
  width: 100%;
}
.about__background_1 {
  background-image: url(../img/home/top_enzyme-_bath.jpg);
  background-color: #707070;
  padding: 300px 10% 70px;
}
.about__background_1, .about__background_1::before {
  transition: .8s cubic-bezier(0.45, 0, 0.55, 1);
}
.about__background_1 {
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.about__background_1::before {
  background: inherit;
  content: "";
  display: block;
  filter: blur(5px);
  position: absolute;
  top: -3px;
  left: -3px;
  right: -3px;
  bottom: -3px;
  z-index: -1;
  opacity: 0;
}
.about__background_1:hover {
  box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, 0.2);
}
.about__background_1:hover::before {
  opacity: 1;
}
.about__background_2 {
  background-image: url(../img/home/top_hair_removal.jpg);
  padding: 300px 10% 70px;
}
.about__background_2, .about__background_2::before {
  transition: .8s cubic-bezier(0.45, 0, 0.55, 1);
}
.about__background_2 {
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.about__background_2::before {
  background: inherit;
  content: "";
  display: block;
  filter: blur(5px);
  position: absolute;
  top: -3px;
  left: -3px;
  right: -3px;
  bottom: -3px;
  z-index: -1;
  opacity: 0;
}
.about__background_2:hover {
  box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, 0.2);
}
.about__background_2:hover::before {
  opacity: 1;
}
.about__background_3 {
  background-image: url(../img/grain.jpg);
  padding: 7% 0;
  color: #513535;
}
.about__background_4 {
  background-image: url(../img/home/top_about01.jpg);
  padding: 300px 10% 70px;
}
.about__background_4, .about__background_4::before {
  transition: .8s cubic-bezier(0.45, 0, 0.55, 1);
}
.about__background_4 {
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.about__background_4::before {
  background: inherit;
  content: "";
  display: block;
  filter: blur(5px);
  position: absolute;
  top: -3px;
  left: -3px;
  right: -3px;
  bottom: -3px;
  z-index: -1;
  opacity: 0;
}
.about__background_4:hover {
  box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, 0.2);
}
.about__background_4:hover::before {
  opacity: 1;
}
.about__background_5 {
  background-image: url(../img/home/top_about02.jpg);
  padding: 300px 10% 70px;
}
.about__background_5, .about__background_5::before {
  transition: .8s cubic-bezier(0.45, 0, 0.55, 1);
}
.about__background_5 {
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.about__background_5::before {
  background: inherit;
  content: "";
  display: block;
  filter: blur(5px);
  position: absolute;
  top: -3px;
  left: -3px;
  right: -3px;
  bottom: -3px;
  z-index: -1;
  opacity: 0;
}
.about__background_5:hover {
  box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, 0.2);
}
.about__background_5:hover::before {
  opacity: 1;
}
.about__background_6 {
  background-image: url(../img/home/top_about03.jpg);
  padding: 300px 10% 70px;
}
.about__background_6, .about__background_6::before {
  transition: .8s cubic-bezier(0.45, 0, 0.55, 1);
}
.about__background_6 {
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.about__background_6::before {
  background: inherit;
  content: "";
  display: block;
  filter: blur(5px);
  position: absolute;
  top: -3px;
  left: -3px;
  right: -3px;
  bottom: -3px;
  z-index: -1;
  opacity: 0;
}
.about__background_6:hover {
  box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, 0.2);
}
.about__background_6:hover::before {
  opacity: 1;
}
.about__item-txt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.about__item-tit {
  font-size: clamp(1.9rem, 2.392vw, 2.875rem); /* 46px */
}
.about__item-exp {
  font-size: clamp(0.9rem, 1.144vw, 1.375rem); /* 22px */
  line-height: 1.5;
  margin-top: 1em;
  width: 100%;
  max-width: 730px;
}
.about__item-link-box {
  display: flex;
  flex-direction: column;
  gap: 1em;
  margin-top: auto;
}
.about__item-link {
  font-size: clamp(1rem, 1.276vw, 1.375rem); /* 22px */
  display: flex;
  align-items: baseline;
  gap: 0.5em;
}
.about__item-link i {
  font-size: clamp(0.75rem, 1.19vw, 1.25rem); /* 20px */
}
.about__item-btn {
  max-width: 300px;
  padding: 1.2em 0;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(0.75rem, 1.19vw, 1.25rem); /* 20px */
}
.about__background_3 .about__item-btn {
  width: 30%;
  background-color: #513535;
  border: 2px solid #d1ad59;
  color: #d1ad59;
}
.about__background_6 .about__item-btn {
  width: 100%;
  background-color: #b29d6b;
  border: 2px solid #fff;
  color: #fff;
}
.c-hover {
  transition: .3s cubic-bezier(0.5, 1, 0.89, 1);
}
.c-hover:hover {
  background: #ffffff;
  color: #b29d6b;
  font-weight: bold;
  transform: scale(1.1);
  border: 1px solid #b29d6b;
}
.r-hover {
  transition: .3s cubic-bezier(0.5, 1, 0.89, 1);
}
.r-hover:hover {
  background: #ffffff;
  color: #b29d6b;
  font-weight: bold;
  transform: scale(1.1);
  border: 1px solid #b29d6b;
}
/* question section */
.question {
  margin-top: clamp(60px, 10vw, 120px);
}
.question__title {
  font-size: clamp(1.9rem, 2.392vw, 2.875rem); /* 46px */
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5% 0;
}
.question__content {}
.question__list {}
.question__item {}
.question__item-title {
  background: url(../img/home/faq_q.png) no-repeat;
  background-size: min(2.14vw, 30px);
  background-position: 2% min(1.07vw, 15px);
  width: 100%;
  padding: min(1.43vw, 20px) min(6.429vw, 90px);
  border: 1px solid #513535;
  color: #484848;
  font-size: clamp(1rem, 1.248vw, 1.5rem); /* 24px */
  font-weight: bold;
  line-height: 1.45;
  position: relative;
}
.question__item-title::after {
  content: "";
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  border: 0;
  border-bottom: solid 2px #d1ad59;
  border-right: solid 2px #d1ad59;
  transform: rotate(45deg);
  transition: transform 0.5s;
  position: absolute;
  right: 2em;
  top: 0;
  bottom: 0;
  margin: auto;
}
.question__item-title.show::after {
  transform: rotate(-135deg);
}
.question__item-txt {
  background: url(../img/home/faq_a.png) no-repeat;
  background-position: 2% min(1.07vw, 15px);
  background-size: min(2.14vw, 30px);
  padding: min(1.428vw, 20px) min(2.85vw, 40px) min(1.428vw, 20px) min(6.429vw, 90px);
  font-size: clamp(0.9rem, 1.144vw, 1.375rem); /* 22px */
  line-height: 1.8;
  min-height: 3em;
  box-sizing: content-box;
  display: none;
  border: 1px solid #513535;
  border-top: none;
}
.bt-n {
  border-top: 0;
}
.top-question__txt.stay {
  display: block;
}
/* instagram section */
.instagram {
  margin-top: clamp(60px, 10vw, 120px);
}
.instagram__content {
  display: flex;
  justify-content: center;
  gap: clamp(20px, 5vw, 50px);
}
.instagram__exp {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 5vw, 50px);
}
.instagram__title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
  font-size: clamp(2.3rem, 2.912vw, 3.5rem); /* 56px */
  color: #513535;
}
.instagram__title div {
  font-family: "shippori-antique", sans-serif;
}
.instagram__title span {
  font-size: clamp(2rem, 2.6vw, 3.125rem); /* 50px */
  font-weight: 500;
  color: #a5884d;
}
.instagram__btn {
  width: 80%;
  max-width: 360px;
  padding: 1.2em 0;
  border: 1px solid #513535;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(0.8rem, 1.04vw, 1.25rem); /* 20px */
}
.instagram__list {
  width: 63%;
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
  row-gap: 20px;
}
.instagram__item {
  width: 32%;
}
/* line section */
.line {
  margin-top: clamp(60px, 10vw, 120px);
}
.line__background {
  background-color: #f6f4d4;
  padding: clamp(60px, 10vw, 120px) 0;
}
.line__content {
  display: flex;
  justify-content: center;
  gap: clamp(20px, 5vw, 50px);
}
.line__exp {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 5vw, 50px);
}
.line__title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
  font-size: clamp(2.3rem, 2.912vw, 3.5rem); /* 56px */
  color: #513535;
}
.line__title div {
  font-family: "shippori-antique", sans-serif;
}
.line__title span {
  font-size: clamp(2rem, 2.6vw, 3.125rem); /* 50px */
  font-weight: 500;
  color: #a5884d;
}
.line__btn {
  width: 80%;
  max-width: 360px;
  padding: 1.2em 0;
  border: 1px solid #513535;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(0.8rem, 1.04vw, 1.25rem); /* 20px */
}
.line__list {
  width: 63%;
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
  row-gap: 20px;
}
.line__item {
  width: 40%;
  margin: 0 auto;
}
/*--------------------------------
	TB用
----------------------------------- */
@media all and (max-width: 768px) {
  .about__list {
    flex-direction: column;
  }
  .instagram__title {
    gap: 0;
  }
  .instagram__content {
    flex-direction: column;
  }
  .line__title {
    gap: 0;
  }
  .line__content {
    flex-direction: column;
  }
  .instagram__list {
    width: 100%;
  }
  .line__list {
    width: 100%;
  }
}
/*--------------------------------
	SP用
----------------------------------- */
@media all and (max-width: 530px) {}