body{
  background-image: url(../img/main_bg.png);
  background-repeat: repeat;
  font:1.6em 'Noto Sans JP', sans-serif;
  line-height:1.5;
  margin:0
}

img{
  vertical-align:top;
}

.wrap{
  margin:auto;
  max-width: 750px;
  background:#fff;
  color:#000;
}

/* ▼追従バナー▼ */
.sticky-banner {
  position: fixed; 
  bottom: -1px; 
  left: calc(50% - 375px); 
  width: 750px; 
  z-index: 1000; 
  opacity: 0; 
  transform: translateY(20px); 
  transition: opacity 0.5s ease, transform 0.5s ease; 
}

.sticky-banner img {
  width: 100%; 
  height: auto;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); 
}

.sticky-banner.show {
  opacity: 1; 
  transform: translateY(0); 
}


/*-- ▼FV▼ --*/
.header .kv {
  position: relative;
}

.header img {
  width: 100%;
}

.header .catch-copy {
  position: absolute;
  top: 0; 
  left: 0; 
  width: 100%; 
  height: 100%;
  z-index: 10;
}

.header .catch-copy img {
  width: 100%; 
  height: auto; 
}

.fv-video {
  width: 100%; 
  height: auto; 
  display: block;
  background-image: url('../img/fv-img-min.png'); 
  background-size: cover; 
  background-position: center; 
}

/*-- ▼fair-movie▼ --*/
.fair-movie{
  max-width: 750px; 
  height: auto; 
  display: block;
  background-image: url('../img/fair-movie-bg.png'); 
  background-repeat:no-repeat;
  background-size: auto; 
  /*background-position: center; */
}

.fair-movie-container video{
  display: block;
  max-width: 70%; 
  margin:0 auto;
  padding:40% 0 10%;
}

/*-- ▼CTA▼ --*/
.cta {
  max-width: 750px;
  margin: auto;
}

.cta img {
  width: 100%;
  display: block;
}

.cta-img-container {
  position: relative;
  width: 100%;
  height: auto;
}

.button-container {
  position: absolute;
  top: 39%; 
  left: 50%; 
  transform: translate(-50%, -50%); 
  display: block;
  width: 92%; 
  max-width: 686px;
  overflow: hidden; 
  border-radius: 75px; 
}

.button-content {
  position: relative;
}

.button {
  display: block;
  width: 100%;
  height: auto;
  background-color: transparent; 
  z-index: 10;
  border-radius: 75px;
}

.button-content::before {
  content: '';
  position: absolute;
  top: 0;
  left: -150%;
  width: 200%;
  height: 100%;
  background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.8) 50%, transparent 100%);
  transform: skewX(-25deg);
  z-index: 11;
  border-radius: 75px; 
  animation: shine 2s infinite linear;
}

@keyframes shine {
  0% {
    left: -150%;
  }
  100% {
    left: 150%;
  }
}

/*-- ▼about▼ --*/
.about img{
  margin:auto;
  width:100%
}

.video-overlay-container {
  position: relative; 
  width: 100%;
  max-width: 750px; 
  margin: auto;
}

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

.video-overlay {
  position: absolute; 
  top: 50%; 
  left: 50%; 
  transform: translate(-50%, -50%); 
  width: 90%; 
  height: auto;
  aspect-ratio: 16 / 9; 
  border: none; 
}

/*-- ▼map▼ --*/
.map{
  max-width: 750px; 
  height: auto; 
  display: block;
  background-image: url('../img/about06-min.png'); 
  background-repeat:no-repeat;
  background-size: auto; 
  /*background-position: center; */
}

.google-map {
  display: block;
  max-width: 90%; 
  height: auto;
  margin:0 auto;
  padding:13% 0 8%;
  aspect-ratio: 323 / 193; 
  border: none; 
}

/*-- ▼promise▼ --*/
.promise {
  background-color: #ebe5db;
  padding-bottom: 50px;
}

.promise img {
  margin: auto;
  width: 100%;
}

.slider{
  max-width: 750px; 
  margin:0 auto;
  margin-top: 20px;
  margin-bottom: 50px !important;
  background-color: #ebe5db;
}

.slider img{
  width:100%;
}

.slider .slick-slide{
  height:auto !important;
}

.slider .slick-arrow{
  z-index:2 !important;
}

.slider .slick-next{
  right:0 !important;
}

.slider .slick-prev{
  left:0 !important;
}

.slick-slide{
  margin-right: 0.8vw !important;
  margin-left: 0.8vw !important;
}

.slick-slide img {
  width: 100%; 
  height: auto; 
}

.slick-dots{
  background-color: #ebe5db !important;
}

.slick-dots li button:before {
  font-size: 14px !important; 
  color: #ffffff !important;  
  opacity: 1 !important;
}

.slick-dots li.slick-active button:before {
  color: #d9d9d9 !important; 
}

.slider.slick-initialized.slick-slider.slick-dotted{
  background-color: #ebe5db !important;
  margin-bottom: -1px !important;
  padding-bottom: 10px;
}

.slick-prev, .slick-next {
  display: none !important;  
}

/*-- ▼classic-room▼ --*/
.classic-room img{
  margin:auto;
  width:100%
}

/*-- ▼worry▼ --*/
.worry img{
  margin:auto;
  width:100%
}

/*-- ▼review▼ --*/
.review img{
  margin:auto;
  width:100%
}

/*-- ▼party-report▼ --*/
.party-report img{
  margin:auto;
  width:100%
}

/*-- ▼wedding-plan▼ --*/
.wedding-plan img{
  margin:auto;
  width:100%
}

.txt-on{
  position: relative;  
}

.txt-on span {
  width: 70%;
  top: 55%;
  left: 15%;
  transform: translate(-50%, -50%);
  position: absolute;
  animation: purupuru 2.5s forwards infinite;
}

@keyframes purupuru {
  0% {
    transform: translate(0, 0);
  }

  10% {
    transform: translate(0, -5px);
  }

  25% {
    transform: translate(0, 5px);
  }

  40% {
    transform: translate(0, -5px);
  }

  55% {
    transform: translate(0, 5px);
  }

  70% {
    transform: translate(0, -5px);
  }

  100% {
    transform: translate(0, 0);
  }
}


iframe.youtube-16-9 {
  width: 90%;
  height: auto;
  aspect-ratio: 16 / 9;
  text-align: center;
  }


.footer{
  text-align: center;
}

.footer p{
  margin: 0px;
  padding:20px 0;
}


.iframe-container{
  width:100%;
}

.iframe-container iframe{
  width:100%;
  height:1230px;
  border:none;
  padding:0;
}
