@charset "utf-8";
/* CSS Document */
/*スタイル打消し*/
.main__block {
  margin-bottom: 0;
}

/*スタイル打消し*/
/*oldスタイル*/
.pcHidden {
  display: none;
}
@media screen and (max-width: 768px) {
  .pcHidden {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .spHidden {
    display: none !important;
  }
}
/*oldスタイル*/
.main__block {
  font-family: "游明朝", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "メイリオ", "Meiryo", "HGS明朝B", "HG明朝B", "ＭＳ 明朝", serif;
  background-image: url("../images/bg_yellow.jpg");
  background-size: cover;
  background-attachment: fixed;
  background-position: center center;
  color: #121212;
}

.text_12{
    font-size: 1.4rem;
}

/* 新headder　*/
.kv_r img{
    max-width: 100%;
    height: auto;
    width: 100%;
    margin-bottom: -1px;
}

/* 新headder　*/


/* 新　body */



/* 新　body */

/* ▽about　*/


/* #about{
	width: 85%;
	margin: 5rem auto;

  about内にボックスを付ける

} */

.about-kikan {
  font-size: 30px;
  display: block;
  text-align: center;
  margin-top: 20px;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .about-kikan {
    font-size: 22px;
    display: block;
    text-align: center;
    margin-top: 10px;
    font-weight: bold;
}
}

.aboutInner{
	display: flex;
	justify-content: space-evenly;
	position: relative;
	height: 310px;
  width: 100%;
  max-width: 700px;
}

@media screen and (min-width: 768px) {
  .aboutInner {
    padding-right: 50px;
  }
}

.aboutL img{
	position: absolute;
	top: 10%;
	left: 8%;
}

.aboutC{
  margin: 0 auto;
}

.aboutC img{
position: absolute;
top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
	
}

.aboutR img:nth-child(1){
	position: absolute;
	top: 10%;
	right: 7%;
}

.aboutR img:nth-child(2){
	position: absolute;
	bottom: 3%;
	right: 14%;
}


h2.aboutTitle{
	text-align: center;
	font-size: 6rem;
	margin-top: 5rem;
	margin-bottom: 3rem;
	position: relative;
  margin-top: 0;
}

h2.aboutTitle::before {
  background-color: #1a1a1a; /* 線の色 */
  border-radius: 5px; /* 線の両端を丸く */
  bottom: -35px; /* 線の位置 */
  content: "";
  height: 3px; /* 線の高さ */
  left: 50%; /* 線の中央寄せ */
  position: absolute;
  transform: translateX(-50%); /* 線の中央寄せ */
  width: 60px; /* 線の長さ */
}


#about {
  background-color: #d8cbb3;
  padding-bottom: 50px;
}


h2.aboutTitle span{
	color: #7b2e2e;
}

.aboutInner p{
	text-align: center;
  padding-top: 20px;
  line-height: 2.2;
}

.topNavInner{
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	width: 100%;
	margin: 0 auto;
}


/*新ナビ*/

.topNavInner {
  display: flex;
  flex-wrap: wrap;
  column-gap: 20px; /* 横の間隔だけ広くする */
  row-gap: 40px;    /* 縦の間隔は40pxでキープ */
  justify-content: center; /* 中央揃え */
  width: 100%; /* 適宜調整 */
  /* margin: 0 auto; */
  padding-top: 55px;
  max-width: 700px;
}

.topNavInner > div {
  width: calc(50% - 35px); /* 幅は中の内容に任せる */
  text-align: center;
  white-space: nowrap;
}

.topNavInner a {
  text-decoration: none; /* デフォルトの下線を消す（任意） */
  border-bottom: 2px solid #121212; 
  padding-bottom: 2px; /* 下線と文字の間に余白 */
}

h2.aboutTitle {
  margin-top: 0 !important;
  line-height: 0;
}


@media screen and (max-width: 768px){
  .aboutWrap {
    flex-direction: column;
    align-items: center; /* 横中央に寄せる */
    gap: 30px;
  }

  .topNav .about,
  .topNav .topNavInner {
    width: 100%;
    max-width: 100%; /* スマホで幅いっぱいに */
    text-align: center;
  }

  .topNavInner {
    flex-direction: column; /* ナビ自体も縦並びに */
    gap: 25px; /* ナビ同士の余白調整 */
    display: flex; /* ←追加 */
    align-items: center; /* ←追加 */
    justify-content: center; /* ←追加 */
    padding-top: 30px;
}


  .topNavInner div {
    flex: none;
    width: 100%; /* ナビ1個分の幅 */
  }
  .topNavInner a {
  border-bottom: 1px solid #121212; 
}
}






/* 元のボタンあしらい */
.button_line006{
	margin-bottom: 3rem;
}
.button_line006 a {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 250px;
    padding: 10px 25px;
    color: #1a1a1a;
    transition: 0.3s ease-in-out;
    font-weight: 600;
}
.button_line006 a:before,
.button_line006 a:after {
  position: absolute;
  width: 100%;
  height: 3px;
  content: '';
  -webkit-transition: all .3s;
  transition: all .3s;
  background: #549cbf;
}

.button_line006 a:before {
  top: 0;
  left: 0;
}

.button_line006 a:after {
  right: 0;
  bottom: 0;
}

.button_line006 a:hover:before,
.button_line006 a:hover:after {
  width: 0;
}
/*ボタンのあしらい*/

@media screen and (max-width: 1600px){
	.aboutL img{
		width: 25%;
	}
	.aboutR img:nth-child(1) {
		width: 20%;
	}
	
	.aboutR img:nth-child(2) {
		width: 16%;
	}
}
@media screen and (max-width: 1100px){
	.aboutInner{
		height: 280px;
	}

	.aboutR img:nth-child(2){
	right: 12%;
}

}

@media screen and (max-width: 768px){

    
	.aboutInner{
		height: auto;
    padding-left: 20px;
    padding-right: 20px;
	}
	.topNavInner{
		width: 100%;
    margin-bottom: 6rem;
	}
	h2.aboutTitle {
		font-size: 4rem;
		margin-top: 2rem;
		margin-bottom: 1rem;
    bottom: 20px;
    padding-top: 27px;
	}
	.aboutInner p{
		font-size: 1.4rem;
    padding-top: 10px;
	}
	.button_line006{
	width: 200px;
}
}

/* △about　*/

.aboutWrap {
  display: flex;
  justify-content: center;
  /* align-items: center; */
  margin-top: 0;
  width: 100%;
}





/* ▽restaurant　*/
.onlineshopInner{
	background-color: #121212;
	text-align: center;
}
.onlineshopBox{
	padding: 1.5rem 0;
}

.onlineshopBox h2{
	color: #fff;
}

.onlineshopBox p{
	color: #fff;
}
h3.subTitle{
font-family: "segoe-script", sans-serif;
font-weight: 400;
font-style: normal;
	font-size: 2.4rem;
	color: #fff;
}



/* △restaurant　*/

/* ▽gc　*/
.listBox{
	width: 45%;
	margin: 3rem auto;
}



h4.bgc span{
	background-color: #fffee0;
	padding: 0 1rem;
}

.telBox{
	text-align: center;
	margin-top: 3rem;
}

.telBox_P{
  font-size: 2.3rem;
}

span.directCall__number{
	font-size: 2.8rem;
}

.ticket {
 text-align: center;
 height: 150px;
}

.ticket img {
  width: 50%;
  height: auto;
  display: block;
  margin: 20px auto;
}


/* △gc　*/

/* ▽gw_footer　*/
.wrapInner{
    text-align: center;
    padding-bottom: 5rem;
}
/* △gw_footer　*/

/* ▽個室　*/
#private {
	margin: 0 auto;
	max-width: 100%;
	padding: 10px 0px 80px;
/*	background-image: url("../images/bg08.jpg");*/
/*	background-repeat: repeat;*/
  background-color: #f9ebe7;
}

.menuiner {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 auto;
}
.menuiner::before{
  content:"";
  display: block;
	width: 30%;
	margin: 30px 5px;
	padding: 5px 10px;
  order:1;
}
.menuiner::after{
  content:"";
  display: block;
	width: 30%;
	margin: 30px 5px;
	padding: 5px 10px;
}
.non_box::before,.non_box::after{
  display: none!important;
}
.store {
	/*border-bottom: 3px dashed #ee7171;
	padding-bottom: 100px;*/
}
.article-itemK {
	position: relative;
	margin: 30px 5px;
	padding: 5px 10px;
	width: 30%;
	overflow: hidden;
	transition: .5s;
	border: 1px solid #ddd;
	box-shadow: 1px 1px 10px #ccc;
	background-color: #fff;
}
.item-2col{
  margin: 30px 35px;
}
.item_5col{
  width: 19%;
}
.article-itemK::after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.article-inside{
	/*margin-left:20px;*/
}
.article-inside:after{
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.article-inside h2{
  color:#1881cf;
}
.cmnBox--store {
	width: 100%;
	margin-top: -20px;
	margin-bottom: 10px;
	padding: 10px;
	text-align: center;
	/* background-color: #5e1616; */
	color: #ee7171;
}
.text_20{
    font-size: 2.0rem;
}

@media screen and (max-width: 768px){
    /* h3.listName{
        margin-top: 4rem;
    } */
    .menuiner{
/*        display: block;*/
    }
    .item_5col{
        width: 100%;
    }
    .article-itemK{
        width: 100%;
        margin-top: 0;
    }

    .telBox {
	      margin-top: -2rem;
}
}

/* △個室　*/


/* ボタン
***************************************************/
.button_solid001 a {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 320px;
    padding: 15px 25px;
    color: #313131;
    transition: 0.3s ease-in-out;
    font-weight: 600;
    background: #eee;
    filter: drop-shadow(0px 2px 4px #ccc);
    border-radius: 75px;
	font-size: 1.8rem;
}
.button_solid001 a:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 30px -5px rgb(0 0 0 / 15%), 0 0 5px rgb(0 0 0 / 10%);
}

.yoyaku_btn a{
	background: #7b2e2e;
	color: #fff;
}
#private .button_solid001 a:first-child{
    margin-top: 2rem;
}

#private .button_solid001 a{
    font-size: 1.6rem;
    width: 100%;
    padding: 7px 25px;
    margin-bottom: 2rem;
}

@media screen and (max-width: 768px) {
    .listBox{
        width: 100%;
    }
    .button_solid001 a{
        margin: 2.0rem auto;
    }
}




/* メニューボタン
***************************************************/
.btn_09 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 180px;
	margin: auto;
	padding: 0.5rem 3rem;
	font-weight: bold;
	background: linear-gradient(to top, #121212, #7b2e2e);
	color: #fff;
	box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
	-webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
	transition: 0.5s;
}
.btn_09:hover {
	color: #fff;
	opacity: 0.5;
}

/* list
***************************************************/
#list{
    position: relative;
    margin: 0 0 200px 0;
}
.dot_none {
	list-style-type: none;
}

@media screen and (max-width:960px) {
#list{
    margin:0 0 100px 0;
}  
}

.listArea{
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
}
.nanen02{
  margin-top: 5%;
}
.listArea img{
	width:100%;
}
.listArea article{
    width: 45%;
    box-shadow: 0 0 10px #ccc;
    background:#fff;
    border-radius: 10px;
}
#gc .listArea article {
	width: 40%;
	box-shadow: 0 0 10px #ccc;
	background: #fff;
	border-radius: 10px;
}
#duet .listArea article {
	width: 31%; /*50% */
	box-shadow: 0 0 10px #ccc;
	background: #fff;
	border-radius: 10px;
}
.present .listArea article {
	width: 40%;
	box-shadow: 0 0 10px #ccc;
	background: #fff;
	border-radius: 10px;
}
.listArea article:nth-of-type(1){
    position: relative;
}
.listArea article:nth-of-type(2){
    position: relative;
}
.listArea article:nth-of-type(3){
    position: relative;
}
.listArea article:nth-of-type(4){
    position: relative;
}
.listArea article:nth-of-type(5){
    position: relative;
}
#duet .listArea article:nth-of-type(1) {
	position: relative;
}
.listArea .listText{
     padding:10px 20px;
    text-align: center;
}
.listArea .listText h4 {
	font-size: 1.8rem;
	margin: 0 auto;
	text-align: center;
}
.listArea .listText p{
	margin:0.5rem auto;
}
.reqBox{
	background-color:firebrick;
	box-shadow: 0 0 10px #ccc;
    border-radius: 10px;
	display: inline-block;
	padding: 0.2rem 1rem;
	color: #fff;
/*	font-size: 0.8rem;*/
	font-family:"Meiryo UI", "Hiragino Sans", "Hiragino Kaku Gothic ProN","Yu Gothic UI", "MS PGothic", sans-serif;
}
.listNav{
	margin: 5rem auto 0;
	text-align: center;
}
#duet .listNav {
	margin: 0 auto;
	text-align: center;
/*  padding-left: 18%;*/
}
#duet .listNavInner{
  text-align: center;
}
.listNavInner{
	display: flex;
	justify-content: center;
  gap: 75px;
	flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
    .listNavInner {
      gap: 0px;
    }
  }

#kagari .listNavInner{
    justify-content: space-around;
}

/* #nanen .listNavInner{
    justify-content: space-around;
} */

.listNavLink{
	width: 30%;
}

#list_afternoon .listNavLink{
	width: 100%;
}

#list_afternoon .yoyaku_btn{
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.line {
	border-bottom: 1px solid #666;
	margin: 50px auto 0;
}
.listName {
	position: relative;
	font-size: 3.0rem;
	letter-spacing: 0.1em;
	line-height: 1.5;
	margin: 7rem 0 7rem;
	text-align: center;
	font-weight: bold;
	color: #7b2e2e;
	
}

@media screen and (max-width: 768px) {
    .listName {
      margin: 4rem 0 2rem;
    }
  }


.listName::before {
  background-color: #7b2e2e; /* 線の色 */
  border-radius: 5px; /* 線の両端を丸く */
  bottom: -19px; /* 線の位置 */
  content: "";
  height: 2.5px; /* 線の高さ */
  left: 50%; /* 線の中央寄せ */
  position: absolute;
  transform: translateX(-50%); /* 線の中央寄せ */
  width: 100px; /* 線の長さ */
}

/* .listNameBox{
    padding: 0 0 0 70px;
} */

@media screen and (max-width:1300px){
    .listNavLink{
	width: 40%;
}
}

@media screen and (max-width:1100px){
   .listArea .listText h4 {
        font-size: 1.6rem;
    } 
    
    .listArea .listText p {
        font-size: 1.4rem;
    } 
}


@media screen and (max-width:1020px) {
.listArea article,#duet .listArea article{
     width:46%;
    margin:0 0 50px 0;
}
    
.listArea article:nth-of-type(2n+1){
/*    top:30px;*/
    }
.listArea article:nth-of-type(2n){
    top:0;
    }
    
}

@media screen and (max-width: 768px) {
.listArea article,#duet .listArea article,#gc .listArea article,.present .listArea article{
     width:90%;
}
.listArea article:nth-of-type(2n+1){
    top:0;
} 
.listNavLink {
	width: 100%;
  margin-top: 35px;
}
.listNav {
	margin-top: 0;
}
  #duet .listNav {
  padding-left: 0;
}
  #duet .telBox{
  margin-top: 10px;
}

.listName {
	font-size: 2.2rem;
	text-align: center;
}
 .listNameBox{
    padding: 0;
}  
}

/* popup
***************************************************/
.popup_wrap input {
    display: none;
    }

.popup_overlay {
    display: flex;
    justify-content: center;
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    opacity: 0;
    transition: opacity 0.5s, transform 0s 0.5s;
    transform: scale(0);
}

.popup_trigger {
    position: absolute;
    width: 100%;
    height: 100%;
}

.popup_content {
    position: relative;
    align-self: center;
    width: 90%;
    max-width: 500px;
    padding: 50px 30px;
    box-sizing: border-box;
    background: #fff;
    line-height: 1.4em;
    transition: 0.5s;
    text-align: justify;
}

.close_btn {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 14px;
    cursor: pointer;
    padding:8px 8px 10px 8px;
    background: #666;
    color: #fff;
    border-radius:15px;
    line-height:10px;
    font-weight:bold;
}

.popup_wrap input:checked ~ .popup_overlay {
    opacity: 1;
    transform: scale(1);
    transition: opacity 0.5s;
}

.popup_wrap input:checked ~ .popup_overlay .popup_content{
    transform: translateY(10px);
}

.open_btn {
    position: relative;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 36px;
    margin:10px auto;
    color: #fff;
	background-color:#420606;
    /*background-image: linear-gradient(45deg, #ee5136 0%, #ee5136 50%, #04c1c8 50%, #04c1c8 100%);*/
    border:solid 1px #f9e7c0;
    /*font-weight: bold;*/
    border-radius: 4px;
    cursor: pointer;
    transition: .3s ease;
	font-size:0.8rem;
}

.open_btn:hover{
    background:#fff;
    color:#420606;
	border:solid 1px #420606;
	opacity: 0.8;
    transition: 0.4s ease;
}
.modal__close {
	cursor: pointer;
	border: 1px solid #7f4600;
	border-radius: 5px;
	padding: 5px 10px;
	text-align: center;
	display: block !important;
	color: #7f4600;
}
.modal__close:hover {
	cursor: pointer;
	border: 1px solid #7f4600;
	background-color: #7f4600;
	border-radius: 5px;
	padding: 5px 10px;
	text-align: center;
	display: block !important;
	color: #fff;
	transition: 0.4s ease;
}

.popup_content ul{
	margin-top:20px;
}

@media screen and (max-width: 768px) {
    .popup_content {
        position: absolute;
        align-self: center;
        width: 90%;
        max-width: 500px;
        padding: 30px 20px 10px;
        box-sizing: border-box;
        background: #fff;
        line-height: 1.4em;
        transition: 0.5s;
        text-align: justify;
        top: 10%;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
        position: fixed;
        /*height: 49vh;*/
    }
.popup_content ul {
	padding-left: 5px;
}	
}

#restaurant h2 {
font-size: 2.5rem;
}



/* ルくのイメージ */

.luku_image {
  max-width: 100%;
  border-radius: 30px;
  display: block;
  margin: 20px auto;
  height: auto;
}

@media screen and (max-width: 768px) {
.luku_image {
max-width: 90%; 
padding: 20px;
border-radius: 40px;
}
}

/* ルくのイメージ */

/* みやまのイメージ */
.miyama_wrapper {
  display: flex;
  justify-content: center;  /* 中央揃え */
  gap: 20px;                /* 画像の間隔 */
  /* padding: 20px; */
}

.miyama_image {
  width: 400px;             /* 画像サイズ（調整OK） */
  height: auto;
  border-radius: 40px;      /* 角丸 */
  /* padding: 20px; */
}

@media screen and (max-width: 768px) {
.miyama_wrapper {
flex-wrap: wrap; 
border-radius: 30px;
margin: 20px;
}

.miyama_image {
  border-radius: 30px;
  margin: 20px;
}

}

/* みやまのイメージ */





/* 南園 */
.nanen_wrapper {
  display: flex;
  justify-content: center; /* 中央揃え */
  gap: 20px;               /* 画像同士の間隔 */
  padding: 20px;
}

.nanen_image {
  width: 430px;
  height: auto;
  border-radius: 30px;
  /* padding: 20px; */
}

@media screen and (max-width: 768px) {
.nanen_wrapper {
flex-wrap: wrap; 
border-radius: 30px;
padding: 20px;
}

.nanen_image {
  border-radius: 30px;
  margin: 20px;
}

}

/* 南園 */

/* やまなみ */
.yamanami_image {
  max-width: 100%;
  border-radius: 30px;
  display: block;
  margin: 20px auto;
  height: auto;
}
@media screen and (max-width: 768px) {
.yamanami_image {
max-width: 90%; 
border-radius: 30px;
margin: 50px 20px auto;
}
}

/* やまなみ */

/* 八一 */
.yaichi_image {
  max-width: 100%;
  border-radius: 30px;
  display: block;
  margin: 20px auto;
  height: auto;
}

@media screen and (max-width: 768px) {
.yaichi_image {
max-width: 90%; 
border-radius: 30px;
margin: 50px 20px auto;
}
}

/* 八一 */

/* ロビーラウンジ */
.lobbylounge_wrapper {
  display: flex;
  justify-content: center;  /* 中央揃え */
  gap: 20px;                /* 画像の間隔 */
  padding: 20px;
}

.lobbylounge_image {
  width: 400px;             /* 画像サイズ（調整OK） */
  height: auto;
  border-radius: 30px;      /* 角丸 */
  /* padding: 20px; */
}

@media screen and (max-width: 768px) {
.lobbylounge_wrapper {
flex-wrap: wrap;
border-radius: 40px; 
padding: 20px;
}

.lobbylounge_image {
  border-radius: 30px;
  margin: 20px;
}

}

/* ロビーラウンジ */


/* ticketエリア */

#list_hotelgift {
  background-color: #d8cbb3;
  position: relative;
  z-index: 10;
}

#list_hotelgift {
  padding-top: 10px;
}


.ticket img {
  transition: transform 0.4s ease;
}
.ticket img:hover {
  transform: scale(1.05) rotate(2deg);
}

#hotelgift h2 {
  font-size: 2.8rem;
}


@media (max-width: 768px) {
  #hotelgift h2 {
    font-size: 3.0rem;
  }
}

.ticket img {
  width: 650px;   /* 必要な横幅に */
  height: auto;   /* 縦横比を保ったまま */
  display: block;
  margin: 20 auto;
  padding: 20px 20px;
}
/* ticketエリア */


/* スライダー */

/* .sliderWrap {
  width: 100%;
  max-width: 1000px; 
  margin: 0 auto; 

.slider2 {
  max-width: 70%;
  margin: 0 auto;
}

.slider2 img {
  width: 100%;
  height: auto;
  display: block;
  max-width: 100%;
}

@media screen and (max-width: 768px) {
  .slider2 {
    max-width: 90%;
  }
} */

/* スライダー */