/*
Theme Name:framework
*/

/* ハンバーガーボタン */
.hamburger {
  display: none;
  width: 30px;
  height: 21px;
  flex-direction: column;
  justify-content: space-between;
  cursor: pointer;
  z-index: 1000;
}

.hamburger span {
  height: 3px;
  background: #ffffff;
  border-radius: 2px;
  display: block;
}

/* ナビゲーション */
.main-nav {
  width: 50%;
}

.main-nav ul {
  display: flex;
  gap: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.main-nav li {
  padding: 0 4%;
}

.main-nav li a {
  text-decoration: none;
  color: #ffffff;
  font-family: "Tenor Sans", Helvetica;
  font-size: 20px;
  font-weight: 400;
}

/* モバイル用 */
@media (max-width: 980px) {
  .hamburger {
    display: flex;
    position: fixed;
    top: 26px;
    right: 20px;
    z-index: 10000;
  }

  .main-nav {
    position: fixed;
    top: 75px;
    right: -1000px;
    width: 80%;
    background: white;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    transition: right 0.3s ease;
    background: #0f0f0fd9;
  }

  .main-nav ul {
    flex-direction: column;
    gap: 30px;
  }

  .main-nav.active {
    right: 0;
    z-index: 1000;
    padding: 5%;
	height:100%;
  }
}


/*共通*/
section {
  padding: 4rem 0;
}

.pcnone {
  display:none;	
}
	.spnone {
	  display:block;	
	}

.google-map iframe {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}

@media (max-width: 768px) {

.pcnone {display:block;	}
	.spnone {
	  display:none;	
	}
	
  section {
    padding: 3rem 1rem !important;
  }
}



/*ヘッダー*/

.site-header {
  background-color: #0f0f0f;
  color: #ffffff;
  padding: 1rem;
}

.header-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1690px;
  margin: 0 auto;
}

.site-title {
  font-family: "Tenor Sans", Helvetica;
  font-size: 2rem;
}

.contact-info {
  font-size: 1.5rem;
  font-family: "Tenor Sans";
  font-size: 48px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.social-links img {
  width: 30px;
  height: 30px;
  margin-top: 6px;
  margin-left: 0.5rem;
}

@media (max-width: 980px) {
  .contact-info {
    display: none;
  }

  .site-header {
    height: 75px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
  }

}


/*top*/
.slider-container {
  position: relative;
  width: 100%;
  overflow: hidden;
  /* スライダーからはみ出る部分を隠す */
}


/* スライド内の画像を正しく配置するためのCSS */
.slider-track {
  display: flex;
  flex-wrap: nowrap;
  /* 画像が折り返さないようにする */
  transition: transform 0.5s ease-in-out;
}

/* スライドの単位となる`picture`要素のスタイル */
.slider-track picture {
  flex-shrink: 0;
  /* 縮小させない */
  width: 100%;
  /* 親要素（.slider-track）の幅いっぱいに広げる */
}

/* その中の`img`要素のスタイル */
.slider-track picture img {
  display: block;
  /* 画像をブロック要素として扱う */
  width: 100%;
  height: auto;
}

.hero-image {
  flex-shrink: 0;
  /* 画像が縮まないようにする */
  width: 100%;
  /* 各画像がコンテナの幅に収まるようにする */
  height: auto;
  /* 高さは自動調整 */
}

/* ナビゲーションボタンのスタイル（例） */
.slider-prev,
.slider-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  padding: 10px 15px;
  cursor: pointer;
  z-index: 10;
}

.slider-prev {
  left: 10px;
}

.slider-next {
  right: 10px;
}

/* ページネーションドットのスタイル（例） */
.slider-pagination {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  display:none;
}

.slider-pagination .dot {
  width: 10px;
  height: 10px;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  cursor: pointer;
}

.slider-pagination .dot.active {
  background-color: white;
}

.TOP-sp.TOP-sp-wrapper {
  background-color: #ffffff;
  display: flex;
  flex-direction: row;
  justify-content: center;
  width: 100%;
}

.TOP-sp .div {
  background-color: #ffffff;
  overflow: hidden;
  width: 430px;
  height: 9107px;
  position: relative;
}

.TOP-sp .overlap {
  position: absolute;
  width: 432px;
  height: 1810px;
  top: 0;
  left: 0;
}

.TOP-sp .mask-group {
  position: absolute;
  width: 430px;
  height: 877px;
  top: 933px;
  left: 0;
}

.TOP-sp .items {
  position: absolute;
  width: 309px;
  height: 155px;
  top: 1159px;
  left: 121px;
}

.TOP-sp .pixta-m {
  position: absolute;
  width: 430px;
  height: 933px;
  top: 0;
  left: 0;
}

.TOP-sp .img {
  position: absolute;
  width: 187px;
  height: 64px;
  top: 657px;
  left: 221px;
}

.TOP-sp .text-wrapper {
  position: absolute;
  top: 1290px;
  left: 118px;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  color: #532e1c;
  font-size: 36px;
  text-align: center;
  letter-spacing: 1.44px;
  line-height: 72px;
  white-space: nowrap;
}

.TOP-sp .text-wrapper-2 {
  position: absolute;
  width: 384px;
  top: 1371px;
  left: 23px;
  font-family: var(--SP-font-family);
  font-weight: var(--SP-font-weight);
  color: #0f0f0f;
  font-size: var(--SP-font-size);
  letter-spacing: var(--SP-letter-spacing);
  line-height: var(--SP-line-height);
  font-style: var(--SP-font-style);
}

.TOP-sp .text-wrapper-3 {
  position: absolute;
  top: 730px;
  left: 29px;
  text-shadow: 0px 0px 20px #ffffff40;
  font-family: "New Tegomin", Helvetica;
  font-weight: 400;
  color: #0f0f0f;
  font-size: 32px;
  letter-spacing: 0;
  line-height: normal;
}

.TOP-sp .text-wrapper-4 {
  position: absolute;
  top: 776px;
  left: 202px;
  font-family: "Waterfall", Helvetica;
  font-weight: 400;
  color: #82644a;
  font-size: 40px;
  letter-spacing: 1.20px;
  line-height: normal;
  white-space: nowrap;
}

.TOP-sp .group {
  position: absolute;
  width: 397px;
  height: 327px;
  top: 879px;
  left: 22px;
}

.TOP-sp .overlap-group {
  position: relative;
  width: 383px;
  height: 327px;
  background-color: #ffffff;
  border-radius: 16px;
  box-shadow: 0px 6px 20px 3px #e4e4e487;
}

.TOP-sp .text-wrapper-5 {
  position: absolute;
  width: 82px;
  top: 62px;
  left: 153px;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  color: #532e1c;
  font-size: 24px;
  letter-spacing: 0.96px;
  line-height: normal;
}

.TOP-sp .text-wrapper-6 {
  width: 133px;
  top: 114px;
  position: absolute;
  left: 33px;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  color: #532e1c;
  font-size: 16px;
  letter-spacing: 0.64px;
  line-height: normal;
}

.TOP-sp .text-wrapper-7 {
  width: 152px;
  top: 182px;
  position: absolute;
  left: 33px;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  color: #532e1c;
  font-size: 16px;
  letter-spacing: 0.64px;
  line-height: normal;
}

.TOP-sp .text-wrapper-8 {
  width: 133px;
  top: 250px;
  position: absolute;
  left: 33px;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  color: #532e1c;
  font-size: 16px;
  letter-spacing: 0.64px;
  line-height: normal;
}

.TOP-sp .text-wrapper-9 {
  position: absolute;
  width: 93px;
  top: 138px;
  left: 33px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 400;
  color: #0f0f0f;
  font-size: 15px;
  letter-spacing: 0.60px;
  line-height: normal;
}

.TOP-sp .text-wrapper-10 {
  position: absolute;
  width: 110px;
  top: 206px;
  left: 32px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 400;
  color: #0f0f0f;
  font-size: 15px;
  letter-spacing: 0.60px;
  line-height: normal;
}

.TOP-sp .text-wrapper-11 {
  position: absolute;
  width: 83px;
  top: 280px;
  left: 32px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 400;
  color: #0f0f0f;
  font-size: 15px;
  letter-spacing: 0.60px;
  line-height: normal;
}

.TOP-sp .items-2 {
  position: absolute;
  width: 31px;
  height: 26px;
  top: 28px;
  left: 176px;
}

.TOP-sp .overlap-wrapper {
  position: absolute;
  width: 432px;
  height: 75px;
  top: 0;
  left: 0;
}

.TOP-sp .overlap-2 {
  position: relative;
  width: 430px;
  height: 75px;
  background-color: #0f0f0f;
}

.TOP-sp .text-wrapper-12 {
  position: absolute;
  width: 130px;
  top: 23px;
  left: 22px;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  color: #ffffff;
  font-size: 24px;
  letter-spacing: 0;
  line-height: normal;
}

.TOP-sp .instagram-glyph {
  position: absolute;
  width: 23px;
  height: 23px;
  top: 26px;
  left: 292px;
  object-fit: cover;
}

.TOP-sp .LINE-brand-icon {
  position: absolute;
  width: 29px;
  height: 29px;
  top: 23px;
  left: 326px;
  object-fit: cover;
}

.TOP-sp .group-2 {
  position: absolute;
  width: 28px;
  height: 20px;
  top: 28px;
  left: 385px;
}

.TOP-sp .line {
  position: absolute;
  width: 28px;
  height: 3px;
  top: -3px;
  left: 0;
}

.TOP-sp .line-2 {
  position: absolute;
  width: 28px;
  height: 3px;
  top: 7px;
  left: 0;
}

.TOP-sp .line-3 {
  position: absolute;
  width: 28px;
  height: 3px;
  top: 17px;
  left: 0;
}

.TOP-sp .text-wrapper-13 {
  position: absolute;
  top: 1841px;
  left: 22px;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  color: #532e1c;
  font-size: 40px;
  text-align: center;
  letter-spacing: 1.60px;
  line-height: 80px;
  white-space: nowrap;
}

.TOP-sp .text-wrapper-14 {
  position: absolute;
  width: 324px;
  top: 2160px;
  left: 53px;
  font-family: "New Tegomin", Helvetica;
  font-weight: 400;
  color: #532e1c;
  font-size: 24px;
  text-align: center;
  letter-spacing: 0.96px;
  line-height: 48px;
  white-space: nowrap;
}

.TOP-sp .text-wrapper-15 {
  position: absolute;
  width: 383px;
  top: 2225px;
  left: 24px;
  font-family: var(--SP-font-family);
  font-weight: var(--SP-font-weight);
  color: #0f0f0f;
  font-size: var(--SP-font-size);
  letter-spacing: var(--SP-letter-spacing);
  line-height: var(--SP-line-height);
  font-style: var(--SP-font-style);
}

.TOP-sp .mask-group-2 {
  position: absolute;
  width: 379px;
  height: 229px;
  top: 1922px;
  left: 23px;
}

.TOP-sp .text-wrapper-16 {
  position: absolute;
  width: 277px;
  top: 2605px;
  left: 76px;
  font-family: "New Tegomin", Helvetica;
  font-weight: 400;
  color: #532e1c;
  font-size: 24px;
  text-align: center;
  letter-spacing: 0.96px;
  line-height: 35.5px;
}

.TOP-sp .text-wrapper-17 {
  position: absolute;
  width: 384px;
  top: 2696px;
  left: 23px;
  font-family: var(--SP-font-family);
  font-weight: var(--SP-font-weight);
  color: #0f0f0f;
  font-size: var(--SP-font-size);
  letter-spacing: var(--SP-letter-spacing);
  line-height: var(--SP-line-height);
  font-style: var(--SP-font-style);
}

.TOP-sp .mask-group-3 {
  position: absolute;
  width: 379px;
  height: 229px;
  top: 2367px;
  left: 25px;
}

.TOP-sp .mask-group-4 {
  position: absolute;
  width: 379px;
  height: 229px;
  top: 2872px;
  left: 25px;
}

.TOP-sp .text-wrapper-18 {
  position: absolute;
  width: 193px;
  top: 3110px;
  left: 118px;
  font-family: "New Tegomin", Helvetica;
  font-weight: 400;
  color: #532e1c;
  font-size: 24px;
  text-align: center;
  letter-spacing: 0.96px;
  line-height: 48px;
  white-space: nowrap;
}

.TOP-sp .text-wrapper-19 {
  position: absolute;
  width: 385px;
  top: 3176px;
  left: 22px;
  font-family: var(--SP-font-family);
  font-weight: var(--SP-font-weight);
  color: #0f0f0f;
  font-size: var(--SP-font-size);
  letter-spacing: var(--SP-letter-spacing);
  line-height: var(--SP-line-height);
  font-style: var(--SP-font-style);
}

.TOP-sp .overlap-3 {
  position: absolute;
  width: 348px;
  height: 132px;
  top: 3265px;
  left: 82px;
}

.TOP-sp .image {
  width: 146px;
  height: 132px;
  top: 0;
  left: 202px;
  position: absolute;
  object-fit: cover;
}

.TOP-sp .frame {
  display: flex;
  width: 266px;
  height: 63px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px;
  position: absolute;
  top: 44px;
  left: 0;
  background-color: #532e1c;
}

.TOP-sp .text-wrapper-20 {
  color: #ffffff;
  position: relative;
  width: fit-content;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  font-size: 20px;
  text-align: center;
  letter-spacing: 0.80px;
  line-height: 40px;
  white-space: nowrap;
}

.TOP-sp .div-wrapper {
  display: flex;
  width: 266px;
  height: 63px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px;
  position: absolute;
  top: 6886px;
  left: 82px;
  background-color: #532e1c;
}

.TOP-sp .frame-2 {
  display: flex;
  width: 266px;
  height: 63px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px;
  position: absolute;
  top: 8499px;
  left: 82px;
  background-color: #532e1c;
}

.TOP-sp .text-wrapper-21 {
  position: absolute;
  top: 3451px;
  left: 79px;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  color: #532e1c;
  font-size: 40px;
  text-align: center;
  letter-spacing: 1.60px;
  line-height: 80px;
  white-space: nowrap;
}

.TOP-sp .element {
  position: absolute;
  width: 388px;
  height: 507px;
  top: 3552px;
  left: 21px;
  object-fit: cover;
}

.TOP-sp .overlap-4 {
  position: absolute;
  width: 430px;
  height: 818px;
  top: 4067px;
  left: 0;
}

.TOP-sp .items-3 {
  position: absolute;
  width: 212px;
  height: 107px;
  top: 0;
  left: 3px;
}

.TOP-sp .rectangle {
  position: absolute;
  width: 430px;
  height: 716px;
  top: 102px;
  left: 0;
  background-color: #1e0c03;
}

.TOP-sp .mask-group-5 {
  position: absolute;
  width: 430px;
  height: 716px;
  top: 102px;
  left: 0;
}

.TOP-sp .mask-group-6 {
  position: absolute;
  width: 369px;
  height: 117px;
  top: 458px;
  left: 30px;
}

.TOP-sp .text-wrapper-22 {
  position: absolute;
  top: 150px;
  left: 149px;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  color: #ffffff;
  font-size: 40px;
  text-align: center;
  letter-spacing: 1.60px;
  line-height: 80px;
  white-space: nowrap;
}

.TOP-sp .text-wrapper-23 {
  position: absolute;
  width: 305px;
  top: 237px;
  left: 67px;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  color: #f5f5f5;
  font-size: 24px;
  text-align: center;
  letter-spacing: 0.96px;
  line-height: 38.4px;
}

.TOP-sp .text-wrapper-24 {
  position: absolute;
  width: 396px;
  top: 326px;
  left: 16px;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  color: #f5f5f5;
  font-size: 15px;
  text-align: center;
  letter-spacing: 0.60px;
  line-height: 30px;
}

.TOP-sp .frame-3 {
  display: flex;
  width: 266px;
  height: 63px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px;
  position: absolute;
  top: 667px;
  left: 82px;
  background-color: #ffffff;
}

.TOP-sp .text-wrapper-25 {
  color: #532e1c;
  position: relative;
  width: fit-content;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  font-size: 20px;
  text-align: center;
  letter-spacing: 0.80px;
  line-height: 40px;
  white-space: nowrap;
}

.TOP-sp .overlap-5 {
  position: absolute;
  width: 399px;
  height: 273px;
  top: 4940px;
  left: 21px;
}

.TOP-sp .text-wrapper-26 {
  top: 66px;
  left: 236px;
  transform: rotate(90.00deg);
  color: #532e1c;
  font-size: 48px;
  letter-spacing: 1.92px;
  line-height: 96px;
  position: absolute;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
}

.TOP-sp .text-wrapper-27 {
  top: 0;
  left: 1px;
  color: #c5a880;
  font-size: 24px;
  letter-spacing: 0.96px;
  line-height: 48px;
  position: absolute;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
}

.TOP-sp .text-wrapper-28 {
  position: absolute;
  top: 36px;
  left: 0;
  font-family: "New Tegomin", Helvetica;
  font-weight: 400;
  color: #0f0f0f;
  font-size: 32px;
  text-align: center;
  letter-spacing: 1.28px;
  line-height: 64px;
  white-space: nowrap;
}

.TOP-sp .element-2 {
  position: absolute;
  width: 281px;
  height: 158px;
  top: 115px;
  left: 4px;
  object-fit: cover;
}

.TOP-sp .p {
  width: 380px;
  top: 5252px;
  left: 23px;
  position: absolute;
  font-family: var(--SP-font-family);
  font-weight: var(--SP-font-weight);
  color: #0f0f0f;
  font-size: var(--SP-font-size);
  letter-spacing: var(--SP-letter-spacing);
  line-height: var(--SP-line-height);
  font-style: var(--SP-font-style);
}

.TOP-sp .overlap-6 {
  position: absolute;
  width: 166px;
  height: 100px;
  top: 5652px;
  left: 130px;
}

.TOP-sp .text-wrapper-29 {
  top: 0;
  left: 0;
  color: #c5a880;
  font-size: 24px;
  letter-spacing: 0.96px;
  line-height: 48px;
  position: absolute;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
}

.TOP-sp .TOKIKATA {
  width: 273px;
  top: 5756px;
  left: 130px;
  position: absolute;
  font-family: var(--SP-font-family);
  font-weight: var(--SP-font-weight);
  color: #0f0f0f;
  font-size: var(--SP-font-size);
  letter-spacing: var(--SP-letter-spacing);
  line-height: var(--SP-line-height);
  font-style: var(--SP-font-style);
}

.TOP-sp .image-2 {
  width: 115px;
  height: 130px;
  top: 5825px;
  position: absolute;
  left: 0;
  object-fit: cover;
}

.TOP-sp .overlap-7 {
  position: absolute;
  width: 332px;
  height: 96px;
  top: 6022px;
  left: 24px;
}

.TOP-sp .text-wrapper-30 {
  position: absolute;
  top: 32px;
  left: 0;
  font-family: "New Tegomin", Helvetica;
  font-weight: 400;
  color: #0f0f0f;
  font-size: 32px;
  text-align: center;
  letter-spacing: 1.28px;
  line-height: 64px;
  white-space: nowrap;
}

.TOP-sp .text-wrapper-31 {
  position: absolute;
  width: 382px;
  top: 6131px;
  left: 22px;
  font-family: var(--SP-font-family);
  font-weight: var(--SP-font-weight);
  color: #0f0f0f;
  font-size: var(--SP-font-size);
  letter-spacing: var(--SP-letter-spacing);
  line-height: var(--SP-line-height);
  font-style: var(--SP-font-style);
}

.TOP-sp .overlap-8 {
  position: absolute;
  width: 220px;
  height: 391px;
  top: 6445px;
  left: 105px;
  background-color: #d9d9d9;
}

.TOP-sp .text-wrapper-32 {
  position: absolute;
  width: 68px;
  top: 163px;
  left: 73px;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  color: #000000;
  font-size: 32px;
  text-align: center;
  letter-spacing: 1.28px;
  line-height: 64px;
  white-space: nowrap;
}

.TOP-sp .overlap-9 {
  position: absolute;
  width: 297px;
  height: 70px;
  top: 7020px;
  left: 64px;
}

.TOP-sp .text-wrapper-33 {
  width: 240px;
  left: 31px;
  font-family: "Tenor Sans", Helvetica;
  color: #532e1c;
  font-size: 40px;
  letter-spacing: 1.60px;
  line-height: 80px;
  position: absolute;
  top: 0;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
}

.TOP-sp .image-3 {
  width: 52px;
  height: 39px;
  top: 31px;
  position: absolute;
  left: 0;
  object-fit: cover;
}

.TOP-sp .image-4 {
  width: 52px;
  height: 39px;
  top: 31px;
  left: 245px;
  position: absolute;
  object-fit: cover;
}

.TOP-sp .overlap-10 {
  position: absolute;
  width: 382px;
  height: 150px;
  top: 7130px;
  left: 22px;
  background-image: url(./img/image-14.png);
  background-size: cover;
  background-position: 50% 50%;
}

.TOP-sp .overlap-11 {
  position: absolute;
  width: 63px;
  height: 41px;
  top: 9px;
  left: 48px;
}

.TOP-sp .text-wrapper-34 {
  width: 63px;
  left: 0;
  font-family: "Waterfall", Helvetica;
  color: #82644a;
  font-size: 24px;
  letter-spacing: 0.96px;
  line-height: 48px;
  position: absolute;
  top: 0;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
}

.TOP-sp .image-5 {
  width: 54px;
  height: 13px;
  top: 4px;
  left: 5px;
  position: absolute;
  object-fit: cover;
}

.TOP-sp .overlap-12 {
  position: absolute;
  width: 190px;
  height: 50px;
  top: 30px;
  left: 179px;
}

.TOP-sp .ALL-OFF {
  position: absolute;
  width: 190px;
  top: 0;
  left: 0;
  font-family: "Noto Serif JP", Helvetica;
  font-weight: 500;
  color: #82644a;
  font-size: 16px;
  text-align: center;
  letter-spacing: 0.64px;
  line-height: 32px;
}

.TOP-sp .span {
  letter-spacing: 0.10px;
}

.TOP-sp .text-wrapper-35 {
  font-size: 20px;
  letter-spacing: 0.16px;
  line-height: 40px;
}

.TOP-sp .overlap-group-wrapper {
  position: absolute;
  width: 11px;
  height: 11px;
  top: 39px;
  left: 85px;
}

.TOP-sp .overlap-13 {
  position: relative;
  height: 11px;
}

.TOP-sp .line-4 {
  position: absolute;
  width: 2px;
  height: 11px;
  top: 0;
  left: 5px;
}

.TOP-sp .line-5 {
  position: absolute;
  width: 11px;
  height: 2px;
  top: 4px;
  left: 0;
}

.TOP-sp .text-wrapper-36 {
  position: absolute;
  width: 205px;
  top: 81px;
  left: 170px;
  font-family: "Noto Serif JP", Helvetica;
  font-weight: 500;
  color: #82644a;
  font-size: 15px;
  text-align: center;
  letter-spacing: 0.60px;
  line-height: 30px;
  white-space: nowrap;
}

.TOP-sp .image-6 {
  position: absolute;
  width: 2px;
  height: 103px;
  top: 26px;
  left: 164px;
  object-fit: cover;
}

.TOP-sp .HP {
  position: absolute;
  width: 146px;
  top: 53px;
  left: 12px;
  font-family: "Noto Serif JP", Helvetica;
  font-weight: 400;
  color: #532e1c;
  font-size: 10px;
  letter-spacing: 0.40px;
  line-height: 14.6px;
}

.TOP-sp .overlap-14 {
  position: absolute;
  width: 382px;
  height: 150px;
  top: 7298px;
  left: 22px;
  background-image: url(./img/image-14.png);
  background-size: cover;
  background-position: 50% 50%;
}

.TOP-sp .overlap-15 {
  position: absolute;
  width: 214px;
  height: 103px;
  top: 26px;
  left: 164px;
}

.TOP-sp .overlap-16 {
  position: absolute;
  width: 214px;
  height: 103px;
  top: 0;
  left: 0;
}

.TOP-sp .div-2 {
  position: absolute;
  width: 213px;
  top: 4px;
  left: 1px;
  font-family: "Noto Serif JP", Helvetica;
  font-weight: 500;
  color: #82644a;
  font-size: 16px;
  text-align: center;
  letter-spacing: 0.64px;
  line-height: 18.7px;
}

.TOP-sp .text-wrapper-37 {
  font-size: 14px;
  letter-spacing: 0.08px;
  line-height: 16.4px;
}

.TOP-sp .image-7 {
  width: 2px;
  height: 103px;
  top: 0;
  left: 0;
  position: absolute;
  object-fit: cover;
}

.TOP-sp .text-wrapper-38 {
  position: absolute;
  width: 205px;
  top: 60px;
  left: 6px;
  font-family: "Noto Serif JP", Helvetica;
  font-weight: 500;
  color: #82644a;
  font-size: 15px;
  text-align: center;
  letter-spacing: 0.60px;
  line-height: 30px;
  white-space: nowrap;
}

.TOP-sp .group-3 {
  position: absolute;
  width: 11px;
  height: 11px;
  top: 48px;
  left: 100px;
}

.TOP-sp .text-wrapper-39 {
  position: absolute;
  top: 7478px;
  left: 138px;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  color: #532e1c;
  font-size: 40px;
  text-align: center;
  letter-spacing: 1.60px;
  line-height: 80px;
  white-space: nowrap;
}

.TOP-sp .mask-group-7 {
  position: absolute;
  width: 236px;
  height: 283px;
  top: 8176px;
  left: 97px;
}

.TOP-sp .line-6 {
  position: absolute;
  width: 382px;
  height: 1px;
  top: 7656px;
  left: 22px;
  object-fit: cover;
}

.TOP-sp .line-7 {
  position: absolute;
  width: 382px;
  height: 1px;
  top: 7724px;
  left: 22px;
  object-fit: cover;
}

.TOP-sp .line-8 {
  position: absolute;
  width: 382px;
  height: 1px;
  top: 7791px;
  left: 22px;
  object-fit: cover;
}

.TOP-sp .line-9 {
  position: absolute;
  width: 382px;
  height: 1px;
  top: 7871px;
  left: 22px;
  object-fit: cover;
}

.TOP-sp .line-10 {
  position: absolute;
  width: 382px;
  height: 1px;
  top: 7972px;
  left: 22px;
  object-fit: cover;
}

.TOP-sp .line-11 {
  position: absolute;
  width: 382px;
  height: 1px;
  top: 8046px;
  left: 22px;
  object-fit: cover;
}

.TOP-sp .line-12 {
  position: absolute;
  width: 382px;
  height: 1px;
  top: 8141px;
  left: 22px;
  object-fit: cover;
}

.TOP-sp .text-wrapper-40 {
  position: absolute;
  width: 32px;
  top: 7582px;
  left: 31px;
  font-family: var(--SP-font-family);
  font-weight: var(--SP-font-weight);
  color: #0f0f0f;
  font-size: var(--SP-font-size);
  letter-spacing: var(--SP-letter-spacing);
  line-height: var(--SP-line-height);
  font-style: var(--SP-font-style);
}

.TOP-sp .element-3 {
  position: absolute;
  width: 237px;
  top: 7582px;
  left: 127px;
  font-family: var(--SP-font-family);
  font-weight: var(--SP-font-weight);
  color: #0f0f0f;
  font-size: var(--SP-font-size);
  letter-spacing: var(--SP-letter-spacing);
  line-height: var(--SP-line-height);
  font-style: var(--SP-font-style);
}

.TOP-sp .text-wrapper-41 {
  position: absolute;
  width: 64px;
  top: 7683px;
  left: 29px;
  font-family: var(--SP-font-family);
  font-weight: var(--SP-font-weight);
  color: #0f0f0f;
  font-size: var(--SP-font-size);
  letter-spacing: var(--SP-letter-spacing);
  line-height: var(--SP-line-height);
  font-style: var(--SP-font-style);
}

.TOP-sp .text-wrapper-42 {
  position: absolute;
  width: 130px;
  top: 7683px;
  left: 127px;
  font-family: var(--SP-font-family);
  font-weight: var(--SP-font-weight);
  color: #0f0f0f;
  font-size: var(--SP-font-size);
  letter-spacing: var(--SP-letter-spacing);
  line-height: var(--SP-line-height);
  font-style: var(--SP-font-style);
}

.TOP-sp .text-wrapper-43 {
  position: absolute;
  width: 64px;
  top: 7751px;
  left: 29px;
  font-family: var(--SP-font-family);
  font-weight: var(--SP-font-weight);
  color: #0f0f0f;
  font-size: var(--SP-font-size);
  letter-spacing: var(--SP-letter-spacing);
  line-height: var(--SP-line-height);
  font-style: var(--SP-font-style);
}

.TOP-sp .text-wrapper-44 {
  position: absolute;
  width: 196px;
  top: 7751px;
  left: 127px;
  font-family: var(--SP-font-family);
  font-weight: var(--SP-font-weight);
  color: #0f0f0f;
  font-size: var(--SP-font-size);
  letter-spacing: var(--SP-letter-spacing);
  line-height: var(--SP-line-height);
  font-style: var(--SP-font-style);
}

.TOP-sp .text-wrapper-45 {
  position: absolute;
  width: 64px;
  top: 7818px;
  left: 29px;
  font-family: var(--SP-font-family);
  font-weight: var(--SP-font-weight);
  color: #0f0f0f;
  font-size: var(--SP-font-size);
  letter-spacing: var(--SP-letter-spacing);
  line-height: var(--SP-line-height);
  font-style: var(--SP-font-style);
}

.TOP-sp .text-wrapper-46 {
  position: absolute;
  width: 102px;
  top: 7818px;
  left: 127px;
  font-family: var(--SP-font-family);
  font-weight: var(--SP-font-weight);
  color: #0f0f0f;
  font-size: var(--SP-font-size);
  letter-spacing: var(--SP-letter-spacing);
  line-height: var(--SP-line-height);
  font-style: var(--SP-font-style);
}

.TOP-sp .text-wrapper-47 {
  position: absolute;
  width: 32px;
  top: 7898px;
  left: 31px;
  font-family: var(--SP-font-family);
  font-weight: var(--SP-font-weight);
  color: #0f0f0f;
  font-size: var(--SP-font-size);
  letter-spacing: var(--SP-letter-spacing);
  line-height: var(--SP-line-height);
  font-style: var(--SP-font-style);
}

.TOP-sp .text-wrapper-48 {
  position: absolute;
  width: 85px;
  top: 7898px;
  left: 128px;
  font-family: var(--SP-font-family);
  font-weight: var(--SP-font-weight);
  color: #0f0f0f;
  font-size: var(--SP-font-size);
  letter-spacing: var(--SP-letter-spacing);
  line-height: var(--SP-line-height);
  font-style: var(--SP-font-style);
}

.TOP-sp .text-wrapper-49 {
  position: absolute;
  width: 89px;
  top: 7931px;
  left: 127px;
  font-family: var(--SP-font-family);
  font-weight: var(--SP-font-weight);
  color: #0f0f0f;
  font-size: var(--SP-font-size);
  letter-spacing: var(--SP-letter-spacing);
  line-height: var(--SP-line-height);
  font-style: var(--SP-font-style);
}

.TOP-sp .text-wrapper-50 {
  position: absolute;
  width: 62px;
  top: 7995px;
  left: 31px;
  font-family: var(--SP-font-family);
  font-weight: var(--SP-font-weight);
  color: #0f0f0f;
  font-size: var(--SP-font-size);
  letter-spacing: var(--SP-letter-spacing);
  line-height: var(--SP-line-height);
  font-style: var(--SP-font-style);
}

.TOP-sp .text-wrapper-51 {
  position: absolute;
  width: 89px;
  top: 7995px;
  left: 127px;
  font-family: var(--SP-font-family);
  font-weight: var(--SP-font-weight);
  color: #0f0f0f;
  font-size: var(--SP-font-size);
  letter-spacing: var(--SP-letter-spacing);
  line-height: var(--SP-line-height);
  font-style: var(--SP-font-style);
}

.TOP-sp .text-wrapper-52 {
  position: absolute;
  width: 47px;
  top: 8073px;
  left: 31px;
  font-family: var(--SP-font-family);
  font-weight: var(--SP-font-weight);
  color: #0f0f0f;
  font-size: var(--SP-font-size);
  letter-spacing: var(--SP-letter-spacing);
  line-height: var(--SP-line-height);
  font-style: var(--SP-font-style);
}

.TOP-sp .overlap-17 {
  position: absolute;
  width: 190px;
  height: 59px;
  top: 8073px;
  left: 127px;
}

.TOP-sp .text-wrapper-53 {
  position: absolute;
  width: 24px;
  top: 0;
  left: 0;
  font-family: var(--SP-font-family);
  font-weight: var(--SP-font-weight);
  color: #0f0f0f;
  font-size: var(--SP-font-size);
  letter-spacing: var(--SP-letter-spacing);
  line-height: var(--SP-line-height);
  font-style: var(--SP-font-style);
}

.TOP-sp .text-wrapper-54 {
  position: absolute;
  width: 190px;
  top: 29px;
  left: 0;
  font-family: var(--SP-font-family);
  font-weight: var(--SP-font-weight);
  color: #0f0f0f;
  font-size: var(--SP-font-size);
  letter-spacing: var(--SP-letter-spacing);
  line-height: var(--SP-line-height);
  font-style: var(--SP-font-style);
}

.TOP-sp .overlap-18 {
  position: absolute;
  width: 430px;
  height: 437px;
  top: 8627px;
  left: 0;
  background-color: #d9d9d9;
}

.TOP-sp .text-wrapper-55 {
  position: absolute;
  top: 178px;
  left: 95px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 400;
  color: #000000;
  font-size: 40px;
  text-align: center;
  letter-spacing: 1.60px;
  line-height: 80px;
  white-space: nowrap;
}

.TOP-sp .vector-wrapper {
  position: absolute;
  width: 64px;
  height: 64px;
  top: 352px;
  left: 348px;
  background-color: #82644a;
  border-radius: 32px;
}

.TOP-sp .vector {
  position: absolute;
  width: 33px;
  height: 19px;
  top: 22px;
  left: 15px;
}

.TOP-sp .overlap-19 {
  position: absolute;
  width: 430px;
  height: 43px;
  top: 9064px;
  left: 0;
  background-color: #0f0f0f;
}

.TOP-sp .text-wrapper-56 {
  position: absolute;
  top: 5px;
  left: 111px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 400;
  color: #ffffff;
  font-size: 15px;
  text-align: center;
  letter-spacing: 0.60px;
  line-height: 30px;
  white-space: nowrap;
}

.TOP-sp.TOP-wrapper {
  background-color: #ffffff;
  display: flex;
  flex-direction: row;
  justify-content: center;
  width: 100%;
}

.TOP-sp .TOP {
  background-color: #ffffff;
  overflow: hidden;
  width: 1920px;
  height: 11444px;
  position: relative;
}

.TOP-sp .overlap-20 {
  position: absolute;
  width: 1920px;
  height: 2332px;
  top: 3103px;
  left: 1px;
}

.TOP-sp .overlap-21 {
  position: absolute;
  width: 1920px;
  height: 2332px;
  top: 0;
  left: 0;
}

.TOP-sp .items-4 {
  position: absolute;
  width: 630px;
  height: 317px;
  top: 710px;
  left: 44px;
}

.TOP-sp .rectangle-2 {
  position: absolute;
  width: 1920px;
  height: 1331px;
  top: 1001px;
  left: 0;
  background-color: #1e0c03;
}

.TOP-sp .mask-group-8 {
  position: absolute;
  width: 1919px;
  height: 1331px;
  top: 1001px;
  left: 0;
}

.TOP-sp .frame-work {
  position: absolute;
  top: 1296px;
  left: 620px;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  color: #f5f5f5;
  font-size: 32px;
  text-align: center;
  letter-spacing: 1.28px;
  line-height: 64px;
}

.TOP-sp .text-wrapper-57 {
  letter-spacing: 0.41px;
}

.TOP-sp .frame-4 {
  top: 2107px;
  left: 793px;
  background-color: #ffffff;
  display: flex;
  width: 331px;
  height: 87px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px;
  position: absolute;
}

.TOP-sp .text-wrapper-58 {
  color: #532e1c;
  position: relative;
  width: fit-content;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  font-size: 32px;
  text-align: center;
  letter-spacing: 1.28px;
  line-height: 64px;
  white-space: nowrap;
}

.TOP-sp .text-wrapper-59 {
  top: 1107px;
  left: 803px;
  font-size: 96px;
  text-align: center;
  letter-spacing: 3.84px;
  line-height: 192px;
  position: absolute;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  color: #ffffff;
  white-space: nowrap;
}

.TOP-sp .element-4 {
  position: absolute;
  width: 591px;
  height: 773px;
  top: 0;
  left: 663px;
  object-fit: cover;
}

.TOP-sp .mask-group-9 {
  position: absolute;
  width: 1261px;
  height: 399px;
  top: 1551px;
  left: 319px;
}

.TOP-sp .group-4 {
  position: absolute;
  width: 86px;
  height: 56px;
  top: 893px;
  left: 749px;
}

.TOP-sp .image-8 {
  width: 329px;
  height: 297px;
  top: 2553px;
  left: 1539px;
  position: absolute;
  object-fit: cover;
}

.TOP-sp .overlap-22 {
  position: absolute;
  width: 1920px;
  height: 1644px;
  top: 141px;
  left: 0;
}

.TOP-sp .mask-group-10 {
  position: absolute;
  width: 1920px;
  height: 877px;
  top: 767px;
  left: 0;
}

.TOP-sp .mask-group-11 {
  position: absolute;
  width: 1920px;
  height: 767px;
  top: 0;
  left: 0;
}

.TOP-sp .text-wrapper-60 {
  position: absolute;
  top: 276px;
  left: 140px;
  text-shadow: 0px 0px 20px #ffffff40;
  font-family: "New Tegomin", Helvetica;
  font-weight: 400;
  color: #0f0f0f;
  font-size: 48px;
  letter-spacing: 0;
  line-height: normal;
}

.TOP-sp .text-wrapper-61 {
  position: absolute;
  top: 1060px;
  left: 789px;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  color: #532e1c;
  font-size: 64px;
  text-align: center;
  letter-spacing: 2.56px;
  line-height: 128px;
  white-space: nowrap;
}

.TOP-sp .text-wrapper-62 {
  position: absolute;
  width: 999px;
  top: 1194px;
  left: 460px;
  font-family: var(--PC-font-family);
  font-weight: var(--PC-font-weight);
  color: #0f0f0f;
  font-size: var(--PC-font-size);
  text-align: center;
  letter-spacing: var(--PC-letter-spacing);
  line-height: var(--PC-line-height);
  font-style: var(--PC-font-style);
}

.TOP-sp .text-wrapper-63 {
  position: absolute;
  top: 344px;
  left: 452px;
  font-family: "Waterfall", Helvetica;
  font-weight: 400;
  color: #82644a;
  font-size: 48px;
  letter-spacing: 1.44px;
  line-height: normal;
  white-space: nowrap;
}

.TOP-sp .items-5 {
  position: absolute;
  width: 685px;
  height: 349px;
  top: 938px;
  left: 1235px;
}

.TOP-sp .group-5 {
  position: absolute;
  width: 1294px;
  height: 327px;
  top: 694px;
  left: 320px;
}

.TOP-sp .overlap-23 {
  position: relative;
  width: 1280px;
  height: 327px;
  background-color: #ffffff;
  border-radius: 16px;
  box-shadow: 0px 6px 20px 3px #e4e4e487;
}

.TOP-sp .text-wrapper-64 {
  position: absolute;
  top: 73px;
  left: 60px;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  color: #532e1c;
  font-size: 36px;
  letter-spacing: 1.44px;
  line-height: normal;
  white-space: nowrap;
}

.TOP-sp .text-wrapper-65 {
  top: 84px;
  position: absolute;
  left: 265px;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  color: #532e1c;
  font-size: 24px;
  letter-spacing: 0.96px;
  line-height: normal;
  white-space: nowrap;
}

.TOP-sp .text-wrapper-66 {
  top: 152px;
  position: absolute;
  left: 265px;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  color: #532e1c;
  font-size: 24px;
  letter-spacing: 0.96px;
  line-height: normal;
  white-space: nowrap;
}

.TOP-sp .text-wrapper-67 {
  top: 220px;
  position: absolute;
  left: 265px;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  color: #532e1c;
  font-size: 24px;
  letter-spacing: 0.96px;
  line-height: normal;
  white-space: nowrap;
}

.TOP-sp .text-wrapper-68 {
  position: absolute;
  top: 88px;
  left: 432px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 400;
  color: #0f0f0f;
  font-size: 20px;
  letter-spacing: 0.80px;
  line-height: normal;
  white-space: nowrap;
}

.TOP-sp .text-wrapper-69 {
  position: absolute;
  top: 156px;
  left: 432px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 400;
  color: #0f0f0f;
  font-size: 20px;
  letter-spacing: 0.80px;
  line-height: normal;
  white-space: nowrap;
}

.TOP-sp .text-wrapper-70 {
  position: absolute;
  top: 224px;
  left: 432px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 400;
  color: #0f0f0f;
  font-size: 20px;
  letter-spacing: 0.80px;
  line-height: normal;
  white-space: nowrap;
}

.TOP-sp .items-6 {
  position: absolute;
  width: 25px;
  height: 26px;
  top: 38px;
  left: 106px;
}

.TOP-sp .pixta-m-wrapper {
  position: absolute;
  width: 535px;
  height: 324px;
  top: 1989px;
  left: 1251px;
  background-image: url(./img/rectangle-8.svg);
  background-size: 100% 100%;
}

.TOP-sp .pixta-m-2 {
  position: absolute;
  width: 535px;
  height: 324px;
  top: 0;
  left: 0;
  object-fit: cover;
}

.TOP-sp .frame-5 {
  top: 2658px;
  left: 794px;
  background-color: #532e1c;
  display: flex;
  width: 331px;
  height: 87px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px;
  position: absolute;
}

.TOP-sp .text-wrapper-71 {
  color: #ffffff;
  position: relative;
  width: fit-content;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  font-size: 32px;
  text-align: center;
  letter-spacing: 1.28px;
  line-height: 64px;
  white-space: nowrap;
}

.TOP-sp .frame-6 {
  top: 7666px;
  left: 794px;
  background-color: #532e1c;
  display: flex;
  width: 331px;
  height: 87px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px;
  position: absolute;
}

.TOP-sp .frame-7 {
  top: 10367px;
  left: 794px;
  background-color: #532e1c;
  display: flex;
  width: 331px;
  height: 87px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px;
  position: absolute;
}

.TOP-sp .overlap-24 {
  position: absolute;
  width: 535px;
  height: 493px;
  top: 1820px;
  left: 134px;
}

.TOP-sp .text-wrapper-72 {
  top: 0;
  left: 0;
  color: #532e1c;
  font-size: 96px;
  text-align: center;
  letter-spacing: 3.84px;
  line-height: 192px;
  position: absolute;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  white-space: nowrap;
}

.TOP-sp .img-wrapper {
  position: absolute;
  width: 535px;
  height: 324px;
  top: 169px;
  left: 0;
  background-image: url(./img/rectangle-6.svg);
  background-size: 100% 100%;
}

.TOP-sp .text-wrapper-73 {
  top: 5712px;
  left: 1322px;
  transform: rotate(90.00deg);
  color: #532e1c;
  font-size: 96px;
  text-align: center;
  letter-spacing: 3.84px;
  line-height: 192px;
  position: absolute;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  white-space: nowrap;
}

.TOP-sp .text-wrapper-74 {
  position: absolute;
  top: 2862px;
  left: 635px;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  color: #532e1c;
  font-size: 96px;
  text-align: center;
  letter-spacing: 3.84px;
  line-height: 192px;
  white-space: nowrap;
}

.TOP-sp .text-wrapper-75 {
  top: 7887px;
  left: 726px;
  font-family: "Tenor Sans", Helvetica;
  color: #532e1c;
  position: absolute;
  font-weight: 400;
  font-size: 96px;
  text-align: center;
  letter-spacing: 3.84px;
  line-height: 192px;
  white-space: nowrap;
}

.TOP-sp .text-wrapper-76 {
  top: 9247px;
  left: 776px;
  color: #532e1c;
  font-size: 96px;
  text-align: center;
  letter-spacing: 3.84px;
  line-height: 192px;
  position: absolute;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  white-space: nowrap;
}

.TOP-sp .overlap-25 {
  position: absolute;
  width: 530px;
  height: 164px;
  top: 5547px;
  left: 322px;
}

.TOP-sp .text-wrapper-77 {
  top: 0;
  left: 9px;
  color: #c5a880;
  font-size: 36px;
  text-align: center;
  letter-spacing: 1.44px;
  line-height: 72px;
  position: absolute;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  white-space: nowrap;
}

.TOP-sp .text-wrapper-78 {
  position: absolute;
  top: 36px;
  left: 0;
  font-family: "New Tegomin", Helvetica;
  font-weight: 400;
  color: #0f0f0f;
  font-size: 64px;
  text-align: center;
  letter-spacing: 2.56px;
  line-height: 128px;
  white-space: nowrap;
}

.TOP-sp .overlap-26 {
  position: absolute;
  width: 331px;
  height: 164px;
  top: 6497px;
  left: 898px;
}

.TOP-sp .text-wrapper-79 {
  position: absolute;
  top: 0;
  left: 0;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  color: #c5a880;
  font-size: 36px;
  text-align: center;
  letter-spacing: 1.44px;
  line-height: 72px;
  white-space: nowrap;
}

.TOP-sp .overlap-27 {
  position: absolute;
  width: 664px;
  height: 164px;
  top: 6959px;
  left: 322px;
}

.TOP-sp .element-5 {
  position: absolute;
  width: 696px;
  height: 392px;
  top: 5735px;
  left: 322px;
  object-fit: cover;
}

.TOP-sp .text-wrapper-80 {
  width: 997px;
  top: 6181px;
  left: 320px;
  position: absolute;
  font-family: var(--PC-font-family);
  font-weight: var(--PC-font-weight);
  color: #0f0f0f;
  font-size: var(--PC-font-size);
  letter-spacing: var(--PC-letter-spacing);
  line-height: var(--PC-line-height);
  font-style: var(--PC-font-style);
}

.TOP-sp .TOKIKATA-2 {
  width: 731px;
  top: 6661px;
  left: 898px;
  position: absolute;
  font-family: var(--PC-font-family);
  font-weight: var(--PC-font-weight);
  color: #0f0f0f;
  font-size: var(--PC-font-size);
  letter-spacing: var(--PC-letter-spacing);
  line-height: var(--PC-line-height);
  font-style: var(--PC-font-style);
}

.TOP-sp .text-wrapper-81 {
  position: absolute;
  width: 725px;
  top: 7130px;
  left: 324px;
  font-family: var(--PC-font-family);
  font-weight: var(--PC-font-weight);
  color: #0f0f0f;
  font-size: var(--PC-font-size);
  letter-spacing: var(--PC-letter-spacing);
  line-height: var(--PC-line-height);
  font-style: var(--PC-font-style);
}

.TOP-sp .overlap-28 {
  position: absolute;
  width: 1209px;
  height: 475px;
  top: 8095px;
  left: 356px;
  background-image: url(./img/image-4.png);
  background-size: cover;
  background-position: 50% 50%;
}

.TOP-sp .overlap-29 {
  position: absolute;
  width: 406px;
  height: 297px;
  top: 82px;
  left: 56px;
}

.TOP-sp .text-wrapper-82 {
  top: 0;
  left: 90px;
  font-family: "Waterfall", Helvetica;
  color: #82644a;
  position: absolute;
  font-weight: 400;
  font-size: 96px;
  text-align: center;
  letter-spacing: 3.84px;
  line-height: 192px;
  white-space: nowrap;
}

.TOP-sp .image-9 {
  width: 167px;
  height: 40px;
  top: 11px;
  left: 111px;
  position: absolute;
  object-fit: cover;
}

.TOP-sp .HP-2 {
  top: 177px;
  left: 0;
  position: absolute;
  font-family: "Noto Serif JP", Helvetica;
  font-weight: 400;
  color: #532e1c;
  font-size: 20px;
  letter-spacing: 0.80px;
  line-height: 40px;
}

.TOP-sp .ALL-OFF-2 {
  position: absolute;
  top: 99px;
  left: 566px;
  font-family: "Noto Serif JP", Helvetica;
  font-weight: 500;
  color: #82644a;
  font-size: 48px;
  text-align: center;
  letter-spacing: 1.92px;
  line-height: 96px;
}

.TOP-sp .text-wrapper-83 {
  letter-spacing: 0.92px;
}

.TOP-sp .text-wrapper-84 {
  font-size: 64px;
  letter-spacing: 1.64px;
  line-height: 128px;
}

.TOP-sp .overlap-30 {
  position: absolute;
  width: 648px;
  height: 124px;
  top: 231px;
  left: 520px;
}

.TOP-sp .text-wrapper-85 {
  position: absolute;
  top: 28px;
  left: 0;
  font-family: "Noto Serif JP", Helvetica;
  font-weight: 500;
  color: #82644a;
  font-size: 48px;
  text-align: center;
  letter-spacing: 1.92px;
  line-height: 96px;
  white-space: nowrap;
}

.TOP-sp .group-6 {
  position: absolute;
  width: 29px;
  height: 29px;
  top: 0;
  left: 310px;
}

.TOP-sp .overlap-group-2 {
  position: relative;
  height: 29px;
}

.TOP-sp .line-13 {
  position: absolute;
  width: 4px;
  height: 29px;
  top: 0;
  left: 12px;
}

.TOP-sp .line-14 {
  position: absolute;
  width: 29px;
  height: 4px;
  top: 12px;
  left: 0;
}

.TOP-sp .image-10 {
  width: 5px;
  height: 325px;
  top: 83px;
  left: 486px;
  position: absolute;
  object-fit: cover;
}

.TOP-sp .overlap-31 {
  position: absolute;
  width: 1209px;
  height: 475px;
  top: 8638px;
  left: 356px;
  background-image: url(./img/image-4.png);
  background-size: cover;
  background-position: 50% 50%;
}

.TOP-sp .overlap-32 {
  position: absolute;
  width: 207px;
  height: 192px;
  top: 82px;
  left: 146px;
}

.TOP-sp .text-wrapper-86 {
  top: 0;
  left: 0;
  font-family: "Waterfall", Helvetica;
  color: #82644a;
  position: absolute;
  font-weight: 400;
  font-size: 96px;
  text-align: center;
  letter-spacing: 3.84px;
  line-height: 192px;
  white-space: nowrap;
}

.TOP-sp .image-11 {
  width: 167px;
  height: 40px;
  top: 11px;
  left: 21px;
  position: absolute;
  object-fit: cover;
}

.TOP-sp .text-wrapper-87 {
  position: absolute;
  top: 92px;
  left: 525px;
  font-family: "Noto Serif JP", Helvetica;
  font-weight: 500;
  color: #82644a;
  font-size: 48px;
  text-align: center;
  letter-spacing: 1.92px;
  line-height: 67.7px;
}

.TOP-sp .text-wrapper-88 {
  position: absolute;
  top: 288px;
  left: 670px;
  font-family: "Noto Serif JP", Helvetica;
  font-weight: 500;
  color: #82644a;
  font-size: 48px;
  text-align: center;
  letter-spacing: 1.92px;
  line-height: 96px;
  white-space: nowrap;
}

.TOP-sp .group-7 {
  position: absolute;
  width: 29px;
  height: 29px;
  top: 249px;
  left: 830px;
}

.TOP-sp .HP-3 {
  top: 276px;
  left: 56px;
  position: absolute;
  font-family: "Noto Serif JP", Helvetica;
  font-weight: 400;
  color: #532e1c;
  font-size: 20px;
  letter-spacing: 0.80px;
  line-height: 40px;
}

.TOP-sp .mask-group-12 {
  position: absolute;
  width: 660px;
  height: 791px;
  top: 9488px;
  left: 320px;
}

.TOP-sp .line-15 {
  top: 9585px;
  position: absolute;
  width: 573px;
  height: 1px;
  left: 1019px;
  object-fit: cover;
}

.TOP-sp .line-16 {
  top: 9673px;
  position: absolute;
  width: 573px;
  height: 1px;
  left: 1019px;
  object-fit: cover;
}

.TOP-sp .line-17 {
  top: 9758px;
  position: absolute;
  width: 573px;
  height: 1px;
  left: 1019px;
  object-fit: cover;
}

.TOP-sp .line-18 {
  top: 9857px;
  position: absolute;
  width: 573px;
  height: 1px;
  left: 1019px;
  object-fit: cover;
}

.TOP-sp .line-19 {
  top: 9988px;
  position: absolute;
  width: 573px;
  height: 1px;
  left: 1019px;
  object-fit: cover;
}

.TOP-sp .line-20 {
  top: 10086px;
  position: absolute;
  width: 573px;
  height: 1px;
  left: 1019px;
  object-fit: cover;
}

.TOP-sp .line-21 {
  top: 10200px;
  position: absolute;
  width: 573px;
  height: 1px;
  left: 1019px;
  object-fit: cover;
}

.TOP-sp .text-wrapper-89 {
  position: absolute;
  top: 9531px;
  left: 1031px;
  font-family: var(--PC-font-family);
  font-weight: var(--PC-font-weight);
  color: #0f0f0f;
  font-size: var(--PC-font-size);
  letter-spacing: var(--PC-letter-spacing);
  line-height: var(--PC-line-height);
  white-space: nowrap;
  font-style: var(--PC-font-style);
}

.TOP-sp .text-wrapper-90 {
  position: absolute;
  top: 9531px;
  left: 1179px;
  font-family: var(--PC-font-family);
  font-weight: var(--PC-font-weight);
  color: #0f0f0f;
  font-size: var(--PC-font-size);
  letter-spacing: var(--PC-letter-spacing);
  line-height: var(--PC-line-height);
  white-space: nowrap;
  font-style: var(--PC-font-style);
}

.TOP-sp .text-wrapper-91 {
  position: absolute;
  top: 9617px;
  left: 1030px;
  font-family: var(--PC-font-family);
  font-weight: var(--PC-font-weight);
  color: #0f0f0f;
  font-size: var(--PC-font-size);
  letter-spacing: var(--PC-letter-spacing);
  line-height: var(--PC-line-height);
  white-space: nowrap;
  font-style: var(--PC-font-style);
}

.TOP-sp .text-wrapper-92 {
  position: absolute;
  top: 9617px;
  left: 1179px;
  font-family: var(--PC-font-family);
  font-weight: var(--PC-font-weight);
  color: #0f0f0f;
  font-size: var(--PC-font-size);
  letter-spacing: var(--PC-letter-spacing);
  line-height: var(--PC-line-height);
  white-space: nowrap;
  font-style: var(--PC-font-style);
}

.TOP-sp .text-wrapper-93 {
  position: absolute;
  top: 9703px;
  left: 1030px;
  font-family: var(--PC-font-family);
  font-weight: var(--PC-font-weight);
  color: #0f0f0f;
  font-size: var(--PC-font-size);
  letter-spacing: var(--PC-letter-spacing);
  line-height: var(--PC-line-height);
  white-space: nowrap;
  font-style: var(--PC-font-style);
}

.TOP-sp .text-wrapper-94 {
  position: absolute;
  top: 9703px;
  left: 1179px;
  font-family: var(--PC-font-family);
  font-weight: var(--PC-font-weight);
  color: #0f0f0f;
  font-size: var(--PC-font-size);
  letter-spacing: var(--PC-letter-spacing);
  line-height: var(--PC-line-height);
  white-space: nowrap;
  font-style: var(--PC-font-style);
}

.TOP-sp .text-wrapper-95 {
  position: absolute;
  top: 9789px;
  left: 1030px;
  font-family: var(--PC-font-family);
  font-weight: var(--PC-font-weight);
  color: #0f0f0f;
  font-size: var(--PC-font-size);
  letter-spacing: var(--PC-letter-spacing);
  line-height: var(--PC-line-height);
  white-space: nowrap;
  font-style: var(--PC-font-style);
}

.TOP-sp .text-wrapper-96 {
  top: 9789px;
  left: 1179px;
  font-family: var(--PC-font-family);
  color: #0f0f0f;
  font-size: var(--PC-font-size);
  letter-spacing: var(--PC-letter-spacing);
  line-height: var(--PC-line-height);
  position: absolute;
  font-weight: var(--PC-font-weight);
  white-space: nowrap;
  font-style: var(--PC-font-style);
}

.TOP-sp .text-wrapper-97 {
  position: absolute;
  top: 9875px;
  left: 1031px;
  font-family: var(--PC-font-family);
  font-weight: var(--PC-font-weight);
  color: #0f0f0f;
  font-size: var(--PC-font-size);
  letter-spacing: var(--PC-letter-spacing);
  line-height: var(--PC-line-height);
  white-space: nowrap;
  font-style: var(--PC-font-style);
}

.TOP-sp .text-wrapper-98 {
  position: absolute;
  top: 9878px;
  left: 1179px;
  font-family: var(--PC-font-family);
  font-weight: var(--PC-font-weight);
  color: #0f0f0f;
  font-size: var(--PC-font-size);
  letter-spacing: var(--PC-letter-spacing);
  line-height: var(--PC-line-height);
  white-space: nowrap;
  font-style: var(--PC-font-style);
}

.TOP-sp .text-wrapper-99 {
  position: absolute;
  top: 9925px;
  left: 1179px;
  font-family: var(--PC-font-family);
  font-weight: var(--PC-font-weight);
  color: #0f0f0f;
  font-size: var(--PC-font-size);
  letter-spacing: var(--PC-letter-spacing);
  line-height: var(--PC-line-height);
  white-space: nowrap;
  font-style: var(--PC-font-style);
}

.TOP-sp .text-wrapper-100 {
  position: absolute;
  top: 10020px;
  left: 1031px;
  font-family: var(--PC-font-family);
  font-weight: var(--PC-font-weight);
  color: #0f0f0f;
  font-size: var(--PC-font-size);
  letter-spacing: var(--PC-letter-spacing);
  line-height: var(--PC-line-height);
  white-space: nowrap;
  font-style: var(--PC-font-style);
}

.TOP-sp .text-wrapper-101 {
  position: absolute;
  top: 10020px;
  left: 1179px;
  font-family: var(--PC-font-family);
  font-weight: var(--PC-font-weight);
  color: #0f0f0f;
  font-size: var(--PC-font-size);
  letter-spacing: var(--PC-letter-spacing);
  line-height: var(--PC-line-height);
  white-space: nowrap;
  font-style: var(--PC-font-style);
}

.TOP-sp .text-wrapper-102 {
  position: absolute;
  top: 10106px;
  left: 1031px;
  font-family: var(--PC-font-family);
  font-weight: var(--PC-font-weight);
  color: #0f0f0f;
  font-size: var(--PC-font-size);
  letter-spacing: var(--PC-letter-spacing);
  line-height: var(--PC-line-height);
  white-space: nowrap;
  font-style: var(--PC-font-style);
}

.TOP-sp .text-wrapper-103 {
  position: absolute;
  top: 10106px;
  left: 1179px;
  font-family: var(--PC-font-family);
  font-weight: var(--PC-font-weight);
  color: #0f0f0f;
  font-size: var(--PC-font-size);
  letter-spacing: var(--PC-letter-spacing);
  line-height: var(--PC-line-height);
  white-space: nowrap;
  font-style: var(--PC-font-style);
}

.TOP-sp .text-wrapper-104 {
  position: absolute;
  top: 10146px;
  left: 1179px;
  font-family: var(--PC-font-family);
  font-weight: var(--PC-font-weight);
  color: #0f0f0f;
  font-size: var(--PC-font-size);
  letter-spacing: var(--PC-letter-spacing);
  line-height: var(--PC-line-height);
  white-space: nowrap;
  font-style: var(--PC-font-style);
}

.TOP-sp .text-wrapper-105 {
  position: absolute;
  top: 2324px;
  left: 189px;
  font-family: "New Tegomin", Helvetica;
  font-weight: 400;
  color: #532e1c;
  font-size: 32px;
  text-align: center;
  letter-spacing: 1.28px;
  line-height: 64px;
  white-space: nowrap;
}

.TOP-sp .text-wrapper-106 {
  position: absolute;
  top: 2324px;
  left: 678px;
  font-family: "New Tegomin", Helvetica;
  font-weight: 400;
  color: #532e1c;
  font-size: 32px;
  text-align: center;
  letter-spacing: 1.28px;
  line-height: 64px;
  white-space: nowrap;
}

.TOP-sp .text-wrapper-107 {
  position: absolute;
  top: 2324px;
  left: 1401px;
  font-family: "New Tegomin", Helvetica;
  font-weight: 400;
  color: #532e1c;
  font-size: 32px;
  text-align: center;
  letter-spacing: 1.28px;
  line-height: 64px;
  white-space: nowrap;
}

.TOP-sp .text-wrapper-108 {
  position: absolute;
  width: 540px;
  top: 2416px;
  left: 135px;
  font-family: var(--PC-font-family);
  font-weight: var(--PC-font-weight);
  color: #0f0f0f;
  font-size: var(--PC-font-size);
  letter-spacing: var(--PC-letter-spacing);
  line-height: var(--PC-line-height);
  font-style: var(--PC-font-style);
}

.TOP-sp .text-wrapper-109 {
  position: absolute;
  width: 529px;
  top: 2416px;
  left: 690px;
  font-family: var(--PC-font-family);
  font-weight: var(--PC-font-weight);
  color: #0f0f0f;
  font-size: var(--PC-font-size);
  letter-spacing: var(--PC-letter-spacing);
  line-height: var(--PC-line-height);
  font-style: var(--PC-font-style);
}

.TOP-sp .text-wrapper-110 {
  position: absolute;
  width: 568px;
  top: 2416px;
  left: 1235px;
  font-family: var(--PC-font-family);
  font-weight: var(--PC-font-weight);
  color: #0f0f0f;
  font-size: var(--PC-font-size);
  letter-spacing: var(--PC-letter-spacing);
  line-height: var(--PC-line-height);
  font-style: var(--PC-font-style);
}

.TOP-sp .group-wrapper {
  position: absolute;
  width: 1920px;
  height: 745px;
  top: 10642px;
  left: 0;
  background-color: #d9d9d9;
}

.TOP-sp .group-8 {
  position: relative;
  width: 64px;
  height: 64px;
  top: 648px;
  left: 1813px;
  background-color: #82644a;
  border-radius: 32px;
}

.TOP-sp .overlap-33 {
  position: absolute;
  width: 1920px;
  height: 57px;
  top: 11387px;
  left: 0;
  background-color: #0f0f0f;
}

.TOP-sp .text-wrapper-111 {
  position: absolute;
  top: 8px;
  left: 822px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 400;
  color: #ffffff;
  font-size: 20px;
  text-align: center;
  letter-spacing: 0.80px;
  line-height: 40px;
  white-space: nowrap;
}

.TOP-sp .div-3 {
  position: absolute;
  width: 1934px;
  height: 141px;
  top: 0;
  left: 0;
}

.TOP-sp .group-9 {
  position: absolute;
  width: 42px;
  height: 42px;
  top: 51px;
  left: 1448px;
  background-image: url(./img/mdi-telephone-outline.svg);
  background-size: 100% 100%;
}

.TOP-sp .overlap-34 {
  position: relative;
  width: 1920px;
  height: 141px;
  background-color: #0f0f0f;
}

.TOP-sp .text-wrapper-112 {
  position: absolute;
  top: 43px;
  left: 115px;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  color: #ffffff;
  font-size: 48px;
  letter-spacing: 0;
  line-height: normal;
  white-space: nowrap;
}

.TOP-sp .text-wrapper-113 {
  position: absolute;
  top: 62px;
  left: 585px;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  color: #ffffff;
  font-size: 20px;
  letter-spacing: 0;
  line-height: normal;
  white-space: nowrap;
}

.TOP-sp .text-wrapper-114 {
  top: 62px;
  left: 736px;
  color: #ffffff;
  font-size: 20px;
  letter-spacing: 0;
  line-height: normal;
  position: absolute;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  white-space: nowrap;
}

.TOP-sp .text-wrapper-115 {
  top: 62px;
  left: 936px;
  font-size: 20px;
  letter-spacing: 0;
  line-height: normal;
  position: absolute;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  color: #ffffff;
  white-space: nowrap;
}

.TOP-sp .text-wrapper-116 {
  top: 62px;
  left: 1108px;
  color: #ffffff;
  font-size: 20px;
  letter-spacing: 0;
  line-height: normal;
  position: absolute;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  white-space: nowrap;
}

.TOP-sp .text-wrapper-117 {
  top: 62px;
  left: 1281px;
  color: #ffffff;
  font-size: 20px;
  letter-spacing: 0;
  line-height: normal;
  position: absolute;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  white-space: nowrap;
}

.TOP-sp .text-wrapper-118 {
  top: 43px;
  left: 1505px;
  font-family: "Tenor Sans", Helvetica;
  color: #ffffff;
  font-size: 48px;
  letter-spacing: 0;
  line-height: normal;
  position: absolute;
  font-weight: 400;
  white-space: nowrap;
}

.TOP-sp .instagram-glyph-2 {
  position: absolute;
  width: 28px;
  height: 28px;
  top: 62px;
  left: 406px;
  object-fit: cover;
}

.TOP-sp .LINE-brand-icon-2 {
  position: absolute;
  width: 34px;
  height: 34px;
  top: 59px;
  left: 463px;
  object-fit: cover;
}

.TOP-sp .image-12 {
  width: 329px;
  height: 297px;
  top: 6598px;
  left: 166px;
  position: absolute;
  object-fit: cover;
}

.TOP-sp .image-13 {
  width: 103px;
  height: 77px;
  top: 7963px;
  left: 617px;
  position: absolute;
  object-fit: cover;
}

.TOP-sp .image-14 {
  width: 103px;
  height: 77px;
  top: 7963px;
  left: 1200px;
  position: absolute;
  object-fit: cover;
}

.TOP-sp .vector-2 {
  position: absolute;
  width: 248px;
  height: 67px;
  top: 9352px;
  left: 1582px;
}

.TOP-sp .group-10 {
  position: absolute;
  width: 232px;
  height: 142px;
  top: 9255px;
  left: 1331px;
  transform: rotate(180deg);
}

.TOP-sp .overlap-35 {
  position: relative;
  width: 233px;
  height: 144px;
  top: -1px;
}

.TOP-sp .vector-3 {
  position: absolute;
  width: 82px;
  height: 80px;
  top: 27px;
  left: 151px;
  transform: rotate(-180deg);
}

.TOP-sp .vector-4 {
  position: absolute;
  width: 9px;
  height: 26px;
  top: 81px;
  left: 161px;
  transform: rotate(-180deg);
}

.TOP-sp .vector-5 {
  position: absolute;
  width: 169px;
  height: 144px;
  top: 0;
  left: 0;
  transform: rotate(-180deg);
}

.TOP-sp .overlap-36 {
  position: absolute;
  width: 373px;
  height: 663px;
  top: 6919px;
  left: 1145px;
  background-color: #d9d9d9;
}

.TOP-sp .text-wrapper-119 {
  position: absolute;
  top: 295px;
  left: 139px;
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  color: #000000;
  font-size: 32px;
  text-align: center;
  letter-spacing: 1.28px;
  line-height: 64px;
  white-space: nowrap;
}

.TOP-sp .mask-group-13 {
  position: absolute;
  width: 535px;
  height: 324px;
  top: 1989px;
  left: 692px;
  background-image: url(./img/rectangle-7.svg);
  background-size: 100% 100%;
}

@media (max-width: 1919px) {
  .TOP-sp.TOP-wrapper {
    display: none !important;
  }
}

@media (min-width: 1920px) {
  .TOP-sp.TOP-sp-wrapper {
    display: none !important;
  }
}

/* Existing styles */
/* Add this comment to the file where the original css code should be injected */

/* New styles */
body {
  font-family: var(--PC-font-family);
  line-height: var(--PC-line-height);
  color: #0f0f0f;
}

.hero {
  position: relative;
  text-align: center;
}

.hero-image {
  width: 100%;
  height: auto;
}

.hero-title {
  position: absolute;
  bottom: 60%;
  left: 10%;
  font-family: "New Tegomin", Helvetica;
  font-size: 2rem;
  color: #0f0f0f;
  text-shadow: 0 0 20px rgba(255, 255, 255, 0.25);
}

.hero-subtitle {
  position: absolute;
  bottom: 51%;
  left: 22%;
  font-family: "Waterfall", Helvetica;
  font-size: 2.5rem;
  color: #82644a;
}

.under-hero {
  background-image: url(img/bg-concept.png);
  background-size: cover;
  background-position: right bottom;
}

.inner {
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
}

.section-title-s {
  font-family: "Tenor Sans", Helvetica;
  font-size: 2.0rem;
  font-weight: 400;
  color: #532e1c;
  margin-bottom: 2rem;
  letter-spacing: 2.56px;
}

.section-title-m {
  font-family: "Tenor Sans", Helvetica;
  font-size: 2.5rem;
  font-weight: 400;
  color: #532e1c;
  text-align: center;
  margin-bottom: 2rem;
  letter-spacing: 2.56px;
}

.section-title-l {
  font-family: "Tenor Sans", Helvetica;
  font-size: 2.5rem;
  font-weight: 400;
  color: #532e1c;
  text-align: center;
  letter-spacing: 2.56px;
}

.section-title-bl {
  font-family: "Tenor Sans", Helvetica;
  font-size: 3.5rem;
  font-weight: 400;
  color: #532e1c;
  text-align: center;
  letter-spacing: 2.56px;
}

.section-title-t {
  position: absolute;
  right: -100px;
  top: 147px;
  transform: rotate(90deg);
  font-family: "Tenor Sans", Helvetica;
  font-size: 4.0rem;
  font-weight: 400;
  color: #532e1c;
  text-align: center;
  margin-bottom: 2rem;
  letter-spacing: 2.56px;
}

.section-title-align {
  text-align:left;
  max-width: 1673px;
  margin: 0 auto;
}

/* .concept,
.news,
.menu,
.instagram,
.member,
.feature,
.coupon,
.salon {
  padding: 5rem 2rem;
} */

.concept {
  margin: 6rem 0 3rem;
}

.concept-text {
  margin: 0 auto;
  max-width: 999px;
  text-align: center;
  /* height: 314px; */
  flex-shrink: 0;
}

.news {
  position: relative;
  margin-top: -150px !important;
  max-width: 1280px;
  /* max-height: 327px; */
  margin: 0 auto;
  flex-shrink: 0;
  border-radius: 16px;
  background: #FFF;
  box-shadow: 0 6px 20px 3px rgba(228, 228, 228, 0.53);
}

.news-list {
  list-style: none;
  padding: 0;
  padding-left: 3rem;
}

.news-list li {
  margin: 1rem 0;
}

.news-list time {
  font-weight: bold;
  margin-right: 1rem;
}

#menu {
  background-image: url(img/image-7.png);
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: 300px;
}

.menu-items,
.member-items,
.feature-items {
  max-width: 1673px;
  margin: 50px auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.menu-item,
.member-item {
  flex-basis: calc(33.333% - 1rem);
  margin-bottom: 2rem;
}

.menu-image,
.member-image,
.feature-image {
  width: 100%;
  height: aut｛｝
}

.menu-item h3 {
  color: #532E1C;
  text-align: center;
  font-family: "New Tegomin";
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 200%;
  /* 64px */
  letter-spacing: 1.28px;
}

.instagram-feed {
    text-align: center;
    margin: 50px 0;
}

#instagram {
  background-image: url(img/image-13.png);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 630px;
}

.member {
  background: #532E1C;
  /* background-image: url(img/bg-concept.png);
  background-size: cover; */
}

.member .section-title-bl {
  color: #ffffff;
}

.member-intro,
.member-message {
  margin: 1.5rem auto;
  max-width: 999px;
  text-align: center;
  color: #ffffff;
}

.member-message {
  font-size: 0.8rem;
  line-height: 2;
}

.member-image {
  position: relative;
  width: 100%;
  height: auto;
  border-radius: 100%;
  overflow: hidden;
  z-index: 0;
}

.btn-more {
  font-family: "Tenor Sans";
  display: block;
  width: 200px;
  margin: 40px auto 0;
  padding: 10px;
  background-color: #532e1c;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  font-size: 20px;
}

.btn-more-w {
  font-family: "Tenor Sans";
  display: block;
  width: 200px;
  margin: 40px auto 0;
  padding: 10px;
  background-color: #ffffff;
  color: #532e1c;
  text-align: center;
  text-decoration: none;
  font-size: 20px;
}

#feature {
  background-image: url(img/image-8.png);
  background-repeat: no-repeat;
  background-position: left bottom 35%;
  background-size: 300px;
}

.feature-item {
  margin: 55px 0 auto;
}

.feature-item-l {
  max-width: 997px;
  margin: 55px 0 auto;
}

.feature-item-r {
  max-width: 731px;
  margin: 70px 0 0 auto;
}

.feature h3 {
  color: #C5A880;
  font-family: "Tenor Sans";
  font-size: 1.8rem;
  font-style: normal;
  font-weight: 400;
  line-height: 200%;
  /* 72px */
  letter-spacing: 1.44px;
}

.feature h4 {
  color: #0F0F0F;
  font-family: "New Tegomin";
  font-size: 3rem;
  font-style: normal;
  font-weight: 400;
  margin: 0 0 3rem;
}

.iframe-wrap {
  position: relative;
  width: 80%;
  padding: calc(480 / 1040 * 100%) 0 0;
  margin: 0 0 2rem;
}

.iframe-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.coupon-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 3rem;
}

.heading-img {
  width: 50px;
  /* 画像のサイズ調整 */
  height: auto;
}

.coupon-item {
  margin-bottom: 68px;
}

#salon {
  background-image: url(img/image-14.png);
  background-repeat: no-repeat;
  background-position: right top 5%;
  background-size: 300px;
}

.salon-info {
  display: flex;
  margin: 50px 0;
}

.salon-info-l {
  width: 40%;
}

.salon-info-r {
  width: 60%;
  padding: 0 0 0 30px;
}

.salon-info dl {
  display: grid;
  grid-template-columns: auto 1fr;
}

.salon-info dt {
  border-bottom: 1px solid #532E1C;
  padding: 10px;
}

.salon-info dd {
  border-bottom: 1px solid #532E1C;
  padding: 12px;
}

.map {
  margin-top: 2rem;
}

.site-footer {
  background-color: #0f0f0f;
  color: #ffffff;
  text-align: center;
  padding-bottom: 1rem;
}

@media (max-width: 980px) {

  .menu-item,
  .feature-item,
  .coupon-item {
    flex-basis: 100%;
  }

  /*   .concept,
  .news,
  .menu,
  .instagram,
  .member,
  .feature,
  .coupon,
  .salon,
  .recommend-item {
    padding: 2rem 1rem;
  } */

  .header-content {
    width: 80%;
    margin: 0;
  }

  .main-nav ul {
    flex-direction: column;
  }

  .main-nav li {
    margin-right: 0;
    margin: 0.8rem 0;
	text-align: center;
  }

  .under-hero {
    background-image: url(img/bg-concept-sp.png);
    background-size: cover;
    background-position: right bottom;
  }

  .news {
    margin-top: -85px !important;
    width: 90%;
  }

  .section-title-bl {
    font-size: 2.5rem;
  }

  .section-title-l {
    font-size: 2.0rem;
    line-height: 1.2;
  }

  .section-title-m {
    font-size: 2.0rem;
  }

  .section-title-s {
    font-size: 1.5rem;
  }

  .section-title-t {
    font-size: 2.5rem;
    right: -81px;
    top: 50px;
  }

  #menu,
  #instagram,
  #feature {
    background-size: 50%;
  }

  #feature,
  #salon {
    background-size: 30%;
  }

	.concept-text {
	  text-align: left;
	}

  .feature h3 {
    font-size: 1.5rem;
    line-height: 0.5;
  }

  .feature h4 {
    font-size: 2rem;
    line-height: 1.5;
    margin: 0;
  }

  .feature-item-r {
    max-width: 70%;
  }

  .iframe-wrap {
    position: relative;
    width: 80%;
    padding: calc(480 / 1082 * 100%) 0 0;
  }

  .coupon-item {
    margin-bottom: 20px;
  }

  .salon-info {
    display: block;
    margin: 50px 0;
  }

  .salon-info-l {
    width: 100%;
  }

  .salon-info-r {
    width: 100%;
    padding: 0;
  }

}

/*topここまで*/

/*menu-hair eye共通*/
.menu-hair {
  width: 960px;
  margin: 0 auto;
}

.section-title {
  display: flex;
  align-items: center;
  margin: 0 0 20px;
}

.section-title .line {
  flex-grow: 1;
  height: 1px;
  background-color: #532E1C;
  margin: 0 30px;
}

.section-title .triangle {
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 15px solid #5a3624;
  /* 三角形の色 */
}
/* 任意：三角回転アニメーション用 */
.triangle {
  display: inline-block;
  transition: transform 0.3s ease;
}
.section-title.open .triangle {
  transform: rotate(180deg); /* 開いたときに逆向きに */
}

.menu-box {
/*   border: 1px solid#532E1C;
  padding: 1rem 2rem 3rem 2rem; */
  background: #ffffff;
}

.menu-box {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}

/* 表示時のクラス */
.menu-box.open {
  max-height: 1000px; /* 十分に大きくしておく（内容に応じて調整可） */
border: 1px solid #532E1C;
    padding: 1rem 2rem 3rem 2rem;
}

ul.menu-list {
  display: flex;
  justify-content: space-between;
  margin: 2em 0 0;
}

ul.menu-list li {
  flex: 0 auto;
  line-height: 1.5;
}

ul.menu-list .first {
  width: 530px;
}

.desc {
  display: flex;
  justify-content: space-between;
  margin: 1rem 0 0;
}

span.small {
  font-size: 0.8rem;
  line-height: 1;
}

span.small-r {
  font-size: 0.8rem;
  line-height: 1;
  color: #532E1C;
}

ul.menu-list hr {
  border: none;
  height: 2px;
  border-bottom: 2px dotted #C5A880;
  background-color: unset;
  width: 200px;
  max-width: 200px;
  padding-top: 6px;
  margin-right: 15px;
}

.instagram-link {
  max-width: 760px;
  margin: 0 auto;
}

/* Responsive improvements */
@media (max-width: 768px) {
  .menu-hair {
    width: 90%;
  }

  .menu-box {
    padding: 0 1rem 1rem 1rem;
  }

  ul.menu-list {
    margin: 2em 0 0;
  }

  ul.menu-list .first {
    width: 60%;
  }

  ul.menu-list hr {
    border: none;
    height: 2px;
    border-bottom: 2px dotted #C5A880;
    background-color: unset;
    width: 20px;
    padding-top: 2px;
  }

}

/*menu-hair eye共通ここまで*/

/*feature*/
.feature {
  margin: 0 auto;
  max-width: 1280px;
}

.recommend-item {}

.recommend-item h3 {
  color: #532E1C;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 400;
  line-height: 200%;
  /* 64px */
  letter-spacing: 1.28px;
  border-bottom: 1px solid #532e1c;
}

.recommend-item-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 2rem;
}

.recommend-intro {
  margin: 0 auto;
  max-width: 999px;
  text-align: center;
  margin-bottom: 71px;
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  margin: 40px auto;
  justify-items: center;
}

.product-item {
  max-width: 540px;
  text-align: center;
}

.product-item h4 {
  font-size: 20px;
  margin-bottom: 18px;
  padding-bottom: 5px;
  border-bottom: 2px solid #C5A880;
  font-family: 'Tenor Sans';
}

.product-item p {
  font-size: 15px;
  text-align: left;
}

.product-item img {
  max-width: 350px;
  height: auto;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
  margin-bottom: 10px;
}

.product-item p {
  line-height: 2;
}

.product-item-s {
  max-width: 350px;
  text-align: center;
  margin-bottom: 50px;
}

.product-item-s h4 {
  font-size: 20px;
  margin-bottom: 18px;
  border-bottom: 2px solid #C5A880;
  padding-bottom: 5px;
  font-family: 'Tenor Sans';
}

.product-item-s p {
  font-size: 15px;
  text-align: left;
}

.product-item-s img {
  max-width: 350px;
  height: auto;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
  margin-bottom: 10px;
}

.product-item-s p {
  line-height: 2;
}

/*featureここまで*/

/*member*/
.staff {
  margin: 0 auto;
  max-width: 1280px;
}

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

.headimg {
  width: 100%;
  height: auto;
  display: block;
  /* 余分なスペースをなくすために設定 */
}

.text-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  text-shadow: 0px 0px 5.3px #00000094;
  font-family: "Waterfall", Helvetica;
  color: #f5f5f5;
  font-size: 64px;
  letter-spacing: 1.92px;
  font-weight: 400;
  line-height: normal;
  white-space: nowrap;
}

.overlap-group-wrapper {
  width: 1934px;
  height: 141px;
}

.overlap-group {
  position: relative;
  background-color: #0f0f0f;
}


.staff-member {
  display: flex;
  justify-content: center;
}


.staff .LINE-brand-icon {
  width: 34px;
  height: 34px;
  object-fit: cover;
}

.staff .overlap-2 {
  width: 1920px;
  height: 745px;
  background-color: #d9d9d9;
}

.staff .text-wrapper-9 {
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 400;
  color: #000000;
  font-size: 40px;
  text-align: center;
  letter-spacing: 1.60px;
  line-height: 80px;
  white-space: nowrap;
}

.staff .vector-wrapper {
  width: 64px;
  height: 64px;
  top: 648px;
  left: 1813px;
  background-color: #82644a;
  border-radius: 32px;
}

.staff .vector {
  width: 33px;
  height: 19px;
}

.staff .div-wrapper {
  width: 1920px;
  height: 57px;
  background-color: #0f0f0f;
}

.staff .text-wrapper-10 {
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 400;
  color: #ffffff;
  font-size: 20px;
  text-align: center;
  letter-spacing: 0.80px;
  line-height: 40px;
  white-space: nowrap;
}

.staff .overlap-3 {
  width: 435px;
  height: 514px;
}

.staff .mask-group {
  width: 435px;
  height: 423px;
}

.staff .hiromi-ishiguro {
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 400;
  color: transparent;
  font-size: 20px;
  text-align: center;
  letter-spacing: 0.80px;
  line-height: 33.2px;
}

.staff .span {
  color: #0f0f0f;
  letter-spacing: 0.16px;
}

.staff .text-wrapper-11 {
  color: #0f0f0f;
  font-size: 1.6rem;
  letter-spacing: 0.41px;
  line-height: 53.1px;
}

.staff .text-wrapper-12 {
  font-family: "Tenor Sans", Helvetica;
  color: #82644a;
  font-size: 1.2rem;
  letter-spacing: 0.23px;
  line-height: 39.8px;
  margin-left: 5px;
  vertical-align: bottom;
}

.staff .img {
  width: 399px;
  height: 399px;
}

.staff-details {
  margin-left: 3rem;
  width: 560px;
}

.staff-details .comment-section {
  margin-bottom: 3rem;
}

.staff .frame-work {
  font-family: "Tenor Sans", Helvetica;
  font-weight: 400;
  color: #0f0f0f;
  font-size: 1.6rem;
  text-align: center;
  letter-spacing: 1.28px;
  margin: 0 0 4rem;
}

.staff .frame-work img {
  text-align: center;
}

.staff .text-wrapper-13 {
  letter-spacing: 0.41px;
}

.staff .text-wrapper-14 {
  font-size: 1rem;
  letter-spacing: 0.16px;
  line-height: 2;
}

.staff .fumitaka-naitou {
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 400;
  color: transparent;
  font-size: 20px;
  text-align: center;
  letter-spacing: 0.80px;
  line-height: 33.2px;
}

.staff .aoi-yanase {
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 400;
  color: transparent;
  font-size: 20px;
  text-align: center;
  letter-spacing: 0.80px;
  line-height: 33.2px;
}

.staff .img-wrapper {
  width: 602px;
  height: 1px;
  background-image: url(./img/line-78.svg);
  background-size: cover;
  background-position: 50% 50%;
}

.staff .mask-group-2 {
  width: 399px;
  height: 399px;
  left: 356px;
}

.staff .element {
  margin: 0 auto;
  display: block;
}

/* Original CSS code should be injected here */


hr {
  border: none;
  height: 2px;
  background-color: #C5A880;
  margin: 10px 0;
}

/* Responsive improvements */
@media (max-width: 768px) {

  .overlap {
    margin-top: 75px;
  }

  .text-wrapper {
    top: 37%;
  }

  .staff .frame-work {
    text-align: left;
  }

  .staff .staff-member {
    display: block;
  }

  .staff-profile img {
    width: 60% !important;
    height: auto !important;
    margin: 0 auto;
    display: block;
  }

  .staff-details {
    margin: 0.5rem 0;
    width: 100%;
  }

  .staff-details .comment-section {
    margin-bottom: 0.5rem;
  }
}
/*memberここまで*/


/*newsページ*/
#news{
    margin: 3rem auto;
	padding: 2rem;
	display: flex;
}

#news-wrap {
    width: 960px;
    margin: 3rem auto;
    padding: 2rem;
}

.news-with-bg {
background-image: url(img/bird.svg);
    background-size: 38px;
    background-repeat: no-repeat;
    background-position: top;
    padding-top: 46px;
    text-align: center;
}

.news-header {
    display: flex;
    justify-content: space-between;
	border-bottom: 2px solid #C5A880;
}

.news-content p{
	margin: 2rem 0;
}

li.listing-item {
    display: flex;
    justify-content: left;
    flex-direction: row-reverse;
}

li.listing-item .title{
    margin-left:2rem;
	margin-top: -2px;
}

li.listing-item .date{
	color: #532E1C;
	font-family: "Tenor Sans";
	font-style: normal;
	font-weight: 400;
	letter-spacing: 0.96px;
}

@media (max-width: 768px) {
    #news {
        width: 90%;
		display:block;
    }
	#news-wrap {
		width: 100%;
	}
	.news-header {
 		display: block;
	}
	.news-list {
		padding: 0;
	}
}
