@charset "utf-8";
/* CSS Document */

    html, body {
      margin: 0;
      padding: 0;
      height: 100%;
      font-family: 'Helvetica Neue', sans-serif;
      background: url("../img/bg-image2602.jpg")no-repeat #fff;
      background-size: cover;
      color: #231815;
      font-size: 16px;
      scroll-behavior: smooth;
      overflow: hidden;
    }
    @media screen and (max-width: 768px) {
      body { font-size: 14px; }
    }
	  
    #sw{
     width: 56vh;
     height: 100dvh;
/*	 height: -webkit-fill-available;*/
     margin: 0 auto; 
	 position: relative;
    }

	@media screen and (max-width: 768px) {
		#sw{
		 width: 100%;
		 height: 100dvh;
		 margin: 0 auto;
		}
/*		@supports (-webkit-touch-callout: none) {
    		#sw{
        	height: -webkit-fill-available;
    		}
		}*/
	}
	  
    .swiper {
      height: 100dvh;
    }
	  
    .swiper-button-prev, .swiper-button-next {
      color: #fff;
    }

    .swiper-slide {
/*      display: flex;*/
	  display: block;
      align-items: top;
      justify-content: center;
      flex-direction: column;
      font-size: 18px;
      height: 100vh;
    }

    .slide-main,
    .slide-content {
      width: 100%;
      height: 100%;
	  object-fit: cover;
      object-position: center;
      position: relative;
      overflow: hidden;
    }

    .slide-main img,
    .slide-content img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      display: block;
    }
	  
/* ヨコスライド */
	.swiper-nested {
	  width: 100%;
	  height: 100dvh;
	}

	.swiper-nested .swiper-slide {
	  position: relative;
	}

	.shop-swiper-container {
	  width: 100%;
	  height: 100%;
	  position: relative;
	}

	.shopSwiper {
	  width: 100%;
	  height: 100%;
	}
	  
    .shop-prev, .shop-next {
      color: #fff;
      width: 44px;
      height: 44px;
    }
	  
/* 各スライド画像のスタイル */
	.shopSwiper .swiper-slide picture,
	.shopSwiper .swiper-slide img {
	  width: 100%;
	  height: 100%;
	  object-fit: cover;
	  position: absolute;
	  top: 50%;
	  left: 50%;
	  transform: translate(-50%,-50%);
	}

/* 下部固定　CTA */ 
    .info-area {
      position: absolute;
      top: 80%;
      left: 50%;
      transform: translateX(-50%);
      z-index: 100;
    }
    @media screen and (max-width: 768px) {
      .info-area {
        top: 84%;
      }
    }

    p {
      text-align: center;
      font-size: 1rem;
      margin-bottom: -0.8rem;
    }
    p.bl {
      text-align: center;
      font-size: 0.9rem;
      margin-bottom: -1rem;
      color: #161616;
    }
	.p-top{
	  padding-top: 1.2em;
	}
.pc_on{
	display: block;
}
.sp_on{
	display: none;
}


	  
/* CTA */	
    .btn {
      background: #ce097e;
      color: #fff;
      width: max-content;
      padding: 1rem 6rem;
      border: 1px #fff solid;
      border-radius: 999px;
      font-size: 1.1rem;
      margin-top: 1.5rem;
      text-align: center;
      align-items: center;
      box-shadow: 0px 0px 5px 5px rgba(0, 0, 0, 0.35);
      background-image: url("img/btn_arrow.svg");
      background-repeat: no-repeat;
      background-position: 90% 50%;
      background-size: 42px;
    }
	  
/* 総ナビ */	
	.swiper-fraction{
/*		position: fixed;*/
		position: absolute;
		top: 8%;
		right: 0;
		left: 3%;
		width: 8px;
		height: 53px;
		transform: translateY(-50%);
		background: rgba(255, 255, 255, 0.65);
		padding: 8px 10px;
		border-radius: 274px;
		font-size: 14px;
		font-weight: bold;
		line-height: 1.2;
		text-align: left;
		color: #000;
		box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
		z-index: 999;
	}

.g-maparea{
	width: 84%;
	margin: 0 auto;
	text-align: center;
	position: absolute;
	top: 28%;
	right: 8%;
	border: #ccc solid 0px;
}
    @media screen and (max-width: 768px) {
		.g-maparea{
			width: 100%;
			margin: 0 auto;
			text-align: center;
			position: absolute;
			top: 29%;
			right: 0%;
			border: #ccc solid 0px;
		}
		.pc_on{
			display: none;
		}
		.sp_on{
			display: block;
		}

    }

  /************************************************
  footer
************************************************/

  .footerLink {
    position: fixed;
    bottom: 0;
    display: flex;
    width: 100%;
	z-index: 2;
  }

  .footerLink p {
    flex-basis: 50%;
	font-size: 0.8rem;
  }

  .footerLink a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100px;
    transition: all 0.5s ease;
  }

   .footerLink a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
  }

  @media (max-width: 768px) {
    .footerLink a {
      height: 64px;
      font-size: min(2.4rem, 4vw);
    }
  　.footerLink {
    position: fixed;
    bottom: 20px;
    display: flex;
    width: 100%;
  }
  .footerLink a {
    height: 90px;
    font-size: 1.1rem;
  }
   .footerLink a[href^="tel:"] {
    pointer-events: auto;
  } 
  }

  @media (max-width: 480px) {
    .footerLink a {
      height: 90px;
      background-position: right 8px center;
      background-size: 24px auto;
    }
  }

  .footerLink a.reserve {
    background-color: #ce097e;
    color: #fff;
    font-size: 1rem;
  }

  .footerLink a.reserve:hover {
    background-color: #cc5aa3;
  }

  .footerLink a.tel {
    background-color: #fff;
	color: #444240;
    font-size: 1.2rem;
	border-top: #444240 1px solid;
  }

  .footerLink a.tel:hover {
    background-color: #ccc;
  }

  .slide-content img.icon_insta{
	width: 36px;
	height: 36px;
	margin-right: 1rem;
}
  .slide-content img.icon_phone{
	width: 33px;
	height: 33px;
	margin-right: 1rem;
}

  @media (max-width: 768px) {
	  .footerLink a.tel {
		font-size: 1.2rem;
	  }
	  .footerLink a.reserve {
		font-size: 0.9rem;
	  }
	  .slide-content img.icon_insta{
		width: 25px;
		height: 25px;
		margin-right: 0.5rem;
	  }
	  .slide-content img.icon_phone{
		width: 28px;
		height: 28px;
		margin-right: 0.3rem;
	  }

}


