



/**kv**/
    .kv02 {
        color: white;
    }
    .kv02 .area {
        display: grid;
        position: relative;
		height:700px;
    }
	.kv02 .area > *,
    .kv02 .area::before {
        grid-area: 1 / 1;
    }
    .kv02 .area::before {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        background-image: url("../img/lounge/kv.jpg");
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 50%, rgba(0,0,0,0) 100%);
        mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 50%, rgba(0,0,0,0) 100%);
        filter: brightness(0.25);
        z-index: 1; 
    }
    .kv02 .mark {
        max-width: 350px;
        margin: 0 auto;
        display: flex;
        justify-content: center;
        align-items: center;
        pointer-events: none;
        opacity:0.3;
        z-index: 2;
    }
    .kv02 .mark img {
        width: 100%;
        height: auto;
    }
    .kv02 .wrap {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 2rem;
        text-align: center;
        text-shadow: 0 2px 10px rgba(0,0,0,0.5);
        z-index: 3;
		transform: translateY(10%);
		padding-inline:5%;
    }
    .kv02 h2 {
        font-size: 2rem;
        color: #c3a771;
    }
    .kv02 p {
        font-size: 1rem;
    }
    @media (max-width: 768px) {
    .kv02 .area {
        height:500px;
    }
    .kv02 .mark {
        max-width: 350px;
    }
    .kv02 p {
		text-align: justify;
    }
    }










/**intro**/
    .intro{
    padding:15% 0 0 0;
    color:white;
    position: relative;
    }
    .intro .area{
    }
    .intro .mark {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 0;
        pointer-events: none;
		filter: brightness(0.1);
		max-width:350px;
    }
    .intro .wrap{
        position: relative;
        z-index:5;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap:2rem;
        text-align: center;
    }
    .intro h2 {
        font-size:2rem;
        color:#c3a771;
    }
    .intro h3 {
        font-size:1.5rem;
        color:#c3a771;
    }
    .intro p {
        font-size:1rem;
    }
    
    @media (max-width: 768px) {
        .intro {
            padding: 30% 0 0 0; /* 上を広めに、下は少し詰める */
        }
        .intro .mark {
        top: 0;
        left: 50%;
        transform: translate(-50%, 20%);
        }
        .intro .wrap {
    gap: 1.5rem;
    padding-inline: 5%;
    align-items: flex-start;
    text-align: left;
  }
}





/** sld **/
.sld {
  padding: 5% 0 0 0;
}

/* ★ ここが重要：高さは auto にする */
#center-slider .splide__track,
#center-slider .splide__list,
#center-slider .splide__slide {
  height: auto !important;
}

/* 画像の比率を維持してフィット */
#center-slider .splide__slide img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* アクティブな画像を少し目立たせる場合（不要なら削除OK） */
#center-slider .splide__slide.is-active img {
  /* 例: transform: scale(1.05); transition: 0.3s; */
}

@media (max-width: 768px) {
  .sld {
  padding: 15% 0 0 0;
  }
}




















/**room-nav-type3**/
.room-nav-type3 {
    padding: 15% 5% 0;
    color: white;
}
.room-nav-type3 .area {
    max-width: 1100px;
    margin: 0 auto;
}
.room-nav-type3 .sec-title {
    text-align: center;
    font-size: 1.2rem;
    margin-bottom: 40px;
}
.room-nav-type3 .wrap {
    display: grid;
    /* ここを2から4に変更し、PCで4つ横並びにする */
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.room-nav-type3 .box {
    display: block;
    text-decoration: none;
    border: 1px solid rgba(255,255,255,0.15); /* 細い枠線 */
    padding: 10px; /* 枠線と画像の間に余白を作る */
    transition: 0.4s ease;
    background: rgba(255,255,255,0.02);
}

.room-nav-type3 .img-wrap {
    width: 100%;
    /* 4列にすると画像が細長くなりすぎるため、少し縦幅を持たせました（元の16/7に戻してもOKです） */
    aspect-ratio: 4/3;
    overflow: hidden;
}

.room-nav-type3 img {
    width: 100%; height: 100%; object-fit: cover;
    transition: 0.6s ease;
}

.room-nav-type3 .room-name {
    display: block;
    text-align: center;
    padding: 15px 0 5px;
    font-family: "Yu Mincho", serif;
    font-size: 1rem;
    color: #ddd;
    letter-spacing: 0.15em;
    transition: 0.3s;
}
.room-nav-type3 .room-name span {
    font-size: 0.75rem;
}

.room-nav-type3 .box:hover {
    border-color: #c3a771;
    background: rgba(195,167,113,0.05);
}
.room-nav-type3 .box:hover img {
    filter: brightness(1.1);
    transform: scale(1.03);
}
.room-nav-type3 .box:hover .room-name {
    color: #fff;
}

/* レスポンシブ対応（画面サイズごとの列数調整） */
@media (max-width: 1024px) {
.room-nav-type3 {
    padding: 30% 5% 0;
}
    .room-nav-type3 .wrap {
        grid-template-columns: repeat(2, 1fr);
    }
}











.bar-ttl {
padding: 15% 5% 0;
color:white;
}
.bar-ttl .area{
text-align: center;
}
.bar-ttl h2{
font-size:2rem;
font-weight: bold;
}
.bar-ttl p{
font-size:1rem;
}
@media (max-width: 768px) {
.bar-ttl {
}
}


.bar-ttl02 {
padding: 15% 5% 0;
color:white;
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.bar-ttl02 .area{
text-align: center;
}
.bar-ttl02 h2{
font-size:2rem;
font-weight: bold;
}
.bar-ttl02 p{
font-size:1rem;
}
@media (max-width: 768px) {
.bar-ttl02 {
}
}









.bar {
  padding: 5% 5% 15%;
  overflow: hidden;
  color: white;
}
.bar .area {
max-width: 1400px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap:200px;
}
.bar .wrap {
display: flex;
flex-direction: column;
gap:2rem;
}
.bar .up {
display: flex;
align-items: flex-end;
gap: 2.5vw;
}
.bar .up.rev {
flex-direction: row-reverse;
}
.bar .image {
flex: 0 0 55%;
}
.bar .image img {
width: 100%;
height: auto;
object-fit: cover;
}
.bar .text {
flex: 1;
padding-bottom:30px;
}
.bar h3 {
font-size: 2rem;
font-weight: bold;
display: flex;
flex-direction: column;
margin-bottom:1rem;
}
.bar h3:nth-of-type(odd) {
text-align: left;
}
.bar h3:nth-of-type(even) {
text-align: right;
}
.bar .sub-ttl {
font-size: 1rem;
color: #c3a771;
}
.bar p {
font-size: 1rem;
margin-bottom:1rem;
}
.bar .spec {
border-top: 1px solid #c3a771;
padding-top: 1rem;
display: flex;
flex-direction: column;
gap: 1rem;
}
.bar dl {
display: flex;
gap:1rem;
font-size: 1rem;
}
.bar dt {
color: #c3a771;
font-weight: bold;
flex:0 0 auto;
}
.bar dd {
}
.bar .gallery {
display: grid;
gap: 1rem;
max-width:100%;
margin: 0 auto;
grid-template-columns: repeat(auto-fit, minmax(auto, 350px));
justify-content: center;
}
.bar .item {
flex: 1;
}
.bar .item img {
aspect-ratio: 16 / 9;
object-fit: cover;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
.bar {
padding: 15% 5%;
}
.bar .area {
gap:10rem;
}
.bar .text {
padding-bottom:0;
}
.bar .up, 
.bar .up.rev {
flex-direction: column;
gap: 2rem;
}
.bar .gallery {
grid-template-columns: repeat(auto-fit, minmax(auto, 80%));
}
.bar h3 {
font-size: 1.5rem;
}
}







/**onsen-sec06**/
.onsen-sec06 {
    padding:15% 5% 15%;
    color:white;
}
.onsen-sec06 .area {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 5vw;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-sizing: border-box;
}
.onsen-sec06 .wrap {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.onsen-sec06 h2 {
  font-size: 2rem;
  font-weight:bold;
  margin:0 auto;
}
.onsen-sec06 ul {
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 1px solid gray;
}
.onsen-sec06 li {
  display: flex;
  padding: 20px 0;
  border-bottom: 1px solid gray;
  align-items: baseline;
}
.onsen-sec06 .label {
  flex: 0 0 180px;
  font-size: 1rem;
  font-weight: bold;
  color: #c3a771;
}
.onsen-sec06 .desc {
  flex: 1;
  color: white;
  font-size: 1rem;
}
@media (max-width: 768px) {
.onsen-sec06 {
    padding:30% 5% 30%;
    color:white;
}
.onsen-sec06 .area {
  padding: 10vw;
}
  .onsen-sec06 li {
    flex-direction: column;
    gap: 0.5rem;
  }
  .onsen-sec06 .label {
  flex: 0 0;
  }
}