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

/*完成後削除*/
.bg {
    position: absolute;
    top: 0px;
    left: 0;
    pointer-events: none; /* ← クリック・タップ無効 */
    opacity: 0;
    z-index: 999;
    width: 100%;
}
.bg img {
    user-select: none;        /* ← ドラッグ選択不可 */
    -webkit-user-drag: none;  /* ← 画像ドラッグ不可（Chrome/Safari） */
    width: 100%;
}
.fs24 {
    font-size: 24px;
}
.page-hero {
    background-position: center bottom;
}


    .ta-c {text-align: center;}
    .display-block{display: block!important;}
    .lower-info-time{
        margin-bottom: 0.5em;
    }
.lower-card-layout {
  display: flex;
  justify-content: center;
  gap: 40px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 80px 0;
}

.lower-card-layout--single {
  max-width: 50%;
}

.lower-card-item {
  flex: 1;
  /*text-align: center;*/
	text-align: left;
}

.lower-card-image {
  width: 100%;
  margin-bottom: 35px;
}

.lower-card-image img {
  display: block;
  width: 100%;
  height: auto;
}

.lower-card-text h3 {
  margin: 0 0 0;
  color: var(--main-colorA);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8em;
  letter-spacing: 0.08em;
}

.lower-card-text p {
  margin: 0;
  color: #fff;
  font-size: 16px;
  line-height: 2.2em;
  letter-spacing: 0.08em;
    font-weight: normal;
}

/* スマホ */
@media screen and (max-width: 768px) {
  .lower-card-layout {
    display: block;
    padding: 50px 5%;
  }

  .lower-card-item {
    margin-bottom: 50px;
  }

  .lower-card-item:last-child {
    margin-bottom: 0;
  }

  .lower-card-image {
    margin-bottom: 25px;
  }

  .lower-card-text h3 {
    font-size: 16px;
  }

  .lower-card-text p {
    font-size: 15px;
    line-height: 2;
  }
}

/* spaカード内スライダー */
.spa-card-slider {
  position: relative;
  overflow: hidden;
  padding-bottom: 28px;
}

.spa-card-slider .swiper-wrapper {
  align-items: center;
}

.spa-card-slider .swiper-slide img {
  display: block;
  width: 100%;
  height: auto;
}

.spa-card-slider .swiper-pagination {
  bottom: 0 !important;
}

.spa-card-slider .swiper-pagination-bullet {
  background: #fff;
  opacity: 0.45;
}

.spa-card-slider .swiper-pagination-bullet-active {
  background: var(--main-colorB);
  opacity: 1;
}


.lower-table-section {
  padding: 90px 5%;
}

.lower-table-inner {
  max-width: 1100px;
  margin: 0 auto;
}

.lower-table-heading {
  margin-bottom: 45px;
  text-align: center;
}

.lower-table-heading h2 {
  margin: 0;
  color: var(--main-colorA);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.12em;
}

.lower-info-table {
  width: 100%;
}

.lower-info-row {
  display: flex;
  border-bottom: 1px solid rgba(255, 255, 255, 0.65);
}

.lower-info-row:first-child {
  border-top: 1px solid rgba(255, 255, 255, 0.65);
}

.lower-info-label {
  width: 160px;
  flex-shrink: 0;
  padding: 18px 0;
  color: #fff;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.08em;
}

.lower-info-data {
  flex: 1;
  padding: 18px 0;
  color: #fff;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.08em;
}

/* スマホ */
@media screen and (max-width: 768px) {
  .lower-table-section {
    padding: 60px 5%;
  }

  .lower-table-heading {
    margin-bottom: 30px;
  }

  .lower-info-row {
    display: block;
    padding: 16px 0;
  }

  .lower-info-label {
    width: 100%;
    padding: 0 0 4px;
    color: var(--main-colorA);
    font-size: 15px;
    line-height: 1.8;
  }

  .lower-info-data {
    padding: 0;
    font-size: 15px;
    line-height: 1.9;
  }
    
.lower-card-layout--single {
  max-width: 100%;
}
}
    
    
/*spa用*/
@media (max-width: 767px) {
    .lower-concept-section {
        padding: 0px 6% 38px;
        margin-top: 24%;
    }
    .subh2{
        font-size: 18px!important;
        display: block;
    }
    .lower-concept-section {
        padding: 0px 6% 38px;
        margin-top: 0;
    }
    .lower-info-inner {
        display: flex;
        /* gap: 4%; */
        align-items: center;
        /* max-width: 1440px; */
        margin: 0 auto;
        flex-direction: column-reverse;
    }
    .lower-info-content {
        color: #fff;
        padding: 4%;
        margin-top: 0px;
    }
    .lower-concept-section {
        padding: 0px 0% 38px;
        margin-top: 0;
		/*text-align: left;*/
    }
    .lower-concept-text{
        padding: 0px 6% 30px;
    }
    .lower-card-layout {
        display: block;
        padding: 0!important;
    }
    .lower-info-time span{/*display: block;*/}
	    .lower-detail-title h2 {
        margin-bottom: 30px;
        font-size: 36px;
    }
	.lower-detail-text{
		margin-bottom: 26px;
	}
			 		 #rock-sauna{
			 scroll-margin-top: 70px;
		 }
	
	/*#large-bath .lower-info-block.pt0{
		padding: 0 4%;
	}*/
	#barrel-sauna .lower-detail-title{
		padding: 0 4%;
	}
/*	#large-bath .lower-detail-title{
		padding: 0;
	}*/
	.lower-card-text{
		padding: 0 4%;
	}
	.sppt4{
		padding: 0 4%;
	}
	
	#barrel-sauna .lower-detail-head{padding: 30px 4% 5px;}
	
}


/* Swiperがflex内で巨大化する対策 */
.lower-card-item {
  min-width: 0;
}

.spa-card-slider {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}

.spa-card-slider .swiper-wrapper {
  width: 100%;
}

.spa-card-slider .swiper-slide {
  width: 100% !important;
  flex-shrink: 0;
}

.spa-card-slider img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}
	
	#large-bath,#barrel-sauna,#private-open-air-bath,#guest-room-bath{
		scroll-margin-top:80px;
	}


.lower-concept-inner {
    position: relative;
    z-index: 1;
    max-width: 1440px;
    margin: 0 auto;
}
.lower-concept-linkspc {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
    margin: 62px 0 0;
    padding: 0;
    list-style: none;
}
.lower-concept-linkspc a {

    padding: 8px 10px;
	font-feature-settings: "palt";

}
	
	
.lower-info-content--private {
  width: 100%;
}

.lower-info-lead {
  margin: 0 0 35px;
}

.lower-info-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 30px;
    margin-top: 10px;
}

.lower-info-list .lower-info-time {
  margin: 0;
}

.lower-info-time--half {
  /*width: calc(50% - 25px);*/
}
.lower-info-time--half1 {
  width: calc(30% - 20px);
}
.lower-info-time--half2 {
  width: calc(70% - 20px);
}
.lower-info-time--full {
  width: 100%;
}

.lower-info-list .lower-info-time span {
  display: inline-block;
  margin-bottom: 12px;
}

.lower-info-list .lower-info-time p {
  margin: 0;
}

/* スマホ */
@media screen and (max-width: 768px) {
  .lower-info-list {
    display: block;
  }

  .lower-info-list .lower-info-time {
    margin-bottom: 25px;
  }

  .lower-info-list .lower-info-time:last-child {
    margin-bottom: 0;
  }

  .lower-info-time--half,
  .lower-info-time--full {
    width: 100%;
  }
	.lower-card-text{
		margin-bottom: 26px;
	}
}