/* Reusable utility classes to reduce repeated inline class strings */
body {
  font-family: 'Noto Sans JP', sans-serif;
  background-color: #f9f9f9;
  color: #483B2C;
}
.nav-item {
  display: flex;
  align-items: center;
}

nav-separator {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 0.75rem;
  margin-right: 0.75rem;
  height: var(--nav-separator-height, 1rem);
}

nav-separator::before {
  content: "/";
  color: #483b2c;
  font-weight: 300;
  line-height: 1;
}

.nav-link {
    color: #483B2C;
  transition: color 0.3s;
}

.nav-link:hover {
  color: #d98b74;
}

.translate-toggle {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  margin-left: 0.5rem;
  cursor: pointer;
}

.translate-icon {
  width: 1rem;
  height: 1rem;
  color: #6b7280;
  transition: color 0.3s;
}

.translate-label {
  font-size: 13px;
  color: #4b5563;
  transition: color 0.3s;
}

.translate-caret {
  width: 0.75rem;
  height: 0.75rem;
  color: #9ca3af;
  margin-top: 0.125rem;
}

.translate-toggle:hover .translate-icon,
.translate-toggle:hover .translate-label {
  color: #d98b74;
}

.abs-fill {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.abs-fill-important {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0 !important;
}

.feature-card-bg {
  border-radius: 10px;
  background: rgba(225, 219, 185, 0.8);
}
.button-border::before {
  content: "";
  position: absolute;
  inset: 4px; 
  border: 2px solid white;
  pointer-events: none;
  border-radius: 50px;
}

.media-swiper {
  position: relative;
  background: #ffffff;
}

.button-grad{
  background: linear-gradient(90.9deg, #D4A794 0.04%, #E7C9BC 26.47%, #F8E7E0 50.02%, #D6A996 77.41%, #D4A794 100%);

}
.yellow-title {
  display: inline-flex;
  align-items: self-end;
  justify-content: center;
  gap: 10px;
  
}
.yellow-title::before,
.yellow-title::after {
  content: "";
  width: 2.36px;
  height: 45px;
  background: #483B2C;
}
.yellow-title::before{
    transform:rotate(155deg);
    margin-right:20px;
}
.yellow-title::after{
    transform:rotate(29deg);
    margin-left:20px;
}

.yellow-title2 {
  display: inline-flex;
  align-items: self-end;
  justify-content: center;
  
}
.yellow-title2::before,
.yellow-title2::after {
  content: "";
  width: 2.36px;
  height: 35px;
  background: #483B2C;
}
.yellow-title2::before{
    transform:rotate(155deg);
    margin-right:20px;
}
.yellow-title2::after{
    transform:rotate(29deg);
    margin-left:20px;
}
/* .media-swiper .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: #a19359;
  opacity: 0.4;
} */

/* .media-swiper .swiper-pagination-bullet-active {
  opacity: 1;
} */

.media-swiper .swiper-button-prev,
.media-swiper .swiper-button-next {
  color: #000000;
  
}

.media-swiper .swiper-button-prev::after,
.media-swiper .swiper-button-next::after {
  font-size: 60px;
  font-weight: 500;
}

@media (max-width: 768px) {
  .media-swiper {
    border-top-width: 12px !important;
    border-bottom-width: 12px !important;
    border-right-width: 6px !important;
    border-left-width: 6px !important;
  }

  .media-swiper .swiper-button-prev,
  .media-swiper .swiper-button-next {
    width: 34px;
    height: 34px;
  }

  .media-swiper .swiper-button-prev::after,
  .media-swiper .swiper-button-next::after {
    font-size: 30px;
  }

  .button-border::before {
  content: "";
  position: absolute;
  inset: 4px; 
  border: 1px solid white;
  pointer-events: none;
  border-radius: 50px;
}

.yellow-title2 {
  display: inline-flex;
  align-items: self-end;
  justify-content: center;
  
}
.yellow-title2::before,
.yellow-title2::after {
  content: "";
  width: 0.5px;
  height: 25px;
  background: #483B2C;
}
.yellow-title2::before{
    transform:rotate(155deg);
    margin-right:10px;
}
.yellow-title2::after{
    transform:rotate(29deg);
    margin-left:10px;
}

.yellow-title::before,
.yellow-title::after {
  content: "";
  width: 0.5px;
  height: 38px;
  background: #483B2C;
}
}

#hero-slides {
  z-index: 0;
}
.hero-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 80%;
  opacity: 0;
  transition: opacity .8s ease-in-out;
}
.hero-slide.active {
  opacity: 1;
}
.hero-overlay {
  z-index: 10;
}
.hero-content {
  z-index: 20;
  position: relative;
}