@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&family=Roboto:wght@400;700&display=swap');

/*========= ナビゲーションのためのCSS ===============*/

*{
	box-sizing: border-box;
}

/*---------------menu共通--------------*/
img{
	max-width:100%;
}
.menu-box{
		display: flex;
	    flex-wrap: wrap; /* 折返し指定 */
	    gap: 2% 2%; /* 余白 */
	    justify-content: center;
	}
	.menu-box img{
		width:95%;
		margin-bottom: -10%;
	}
#menu div h2{
 border: none;
  color: #fff;
  position:relative;
  bottom: 53%;
  left: 0;
  text-shadow: 1px 1px 10px #555555;
	font-size: 30px;
}
#menu a img:hover{
	opacity: 0.6;
	transition: .5s;
}
#menu {
	padding:70px 0 50px;
	margin-bottom: 100px;
}
.menu-image{
	overflow: hidden;
	width:200px;
	height:200px;
}
.menu-image img {
  height: auto;
  transition: transform .6s ease;/* ゆっくり変化させる */
  width: 100%;
}
.menu-image:hover img {
  transform: scale(1.1);/* 拡大 */
}
/*--menu_PC---*/
@media (min-width: 821px) {


}
/*--menu_SP---*/
@media (max-width: 820px) {
.menu-image{
	overflow: hidden;
	width:160px;
	height:160px;
	margin:0 5% 5% 0;
}
}
@media (min-width: 821px) {

  /*----------concept_PC-------------*/
  #concept {
    padding-top: 30px;
    display: block;
  }
  #concept p {
    margin-bottom: 80px;
    text-align: center;
    line-height: 2rem;
  }
	#contents {
		display:flex;
	}
  .contents-inner {
    overflow: hidden;
	display: flex;
  }
  .contents-inner article:first-child {
    float: left;
  }
  .contents-inner article:nth-child(2) {
    float: right;
  }
  #contents p {
    text-align: center;
  }



  /*----------news_PC-------------*/
  #news {
    clear: both;
    margin-top: 100px;
    padding-top: 30px;
  }
  #news .innerbox {
    padding: 30px 5% 50px;
  }
  #news h3 {
    margin-bottom: 30px;
  }
  /*----------#restaurant_PC-------------*/
  #restaurant h3 {
    margin-bottom: 100px;
  }
  #restaurant h2 {
    margin-top: 50px;
  }
  #restaurant .card__overviewtext {
    font-size: 14px;
    line-height: 180%;
    font-weight: normal;
    margin-left: 3%;
    min-height: 60px;
	text-align: center;
  }
  #restaurant button {
    width: 65%;
  }
  #restaurant .card__titletext {
    margin-bottom: 30px;
  }

/*----------footer_PC-------------*/

	footer{
		padding-bottom: 0;
	}
	footer .innerbox{
		display:flex;
		padding:0;
	}

	.footer-il-list{
		display: flex;
		margin-top:0;
	}


	footer ul.list-padding li:nth-child(odd) {
    padding-left: 0;
}

	.footer-inner div h4:first-of-type{
		margin:10px auto;
	}
	.footer-inner div{
		margin-bottom:30px;
		font-size: 14px;

	}
	.footer-inner h3{
		font-size: 18px;
	}

	.res-info h4{
		font-weight: normal;
	}
	footer .innerbox .flex-item1 {
flex-basis: 35%; /* flexアイテムの幅を割合で指定 */
}
	footer .innerbox .flex-item2 {
flex-basis: 40%; /* flexアイテムの幅を割合で指定 */
}
	footer .innerbox .flex-item3 {
flex-basis: 25%; /* flexアイテムの幅を割合で指定 */
}


  /*========= 固定バナー PC ===============*/
  /*メニューをページ上部に固定*/
  #sp-fixed-menu {
    position: fixed;
    width: 320px;
    height: 65px;
    top: 0;
    right: 0;
    font-size: 0;
    opacity: 0.9;
    z-index: 9991;
    vertical-align: middle;
    background-color: #1b2031;
  }
  /*メニューを横並びにする*/
  #sp-fixed-menu ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
  }
  #sp-fixed-menu li {
    justify-content: center;
    align-items: center;
    width: 50%;
    padding: 0;
    margin: 0;
    font-size: 14px;
  }

  /*ボタンを調整*/
  #sp-fixed-menu li a {
    color: #fff;
    text-align: center;
    display: block;
    width: 100%;
    padding-top: 0;
    text-decoration: none;
	border-right: 1px solid #fff;
	  margin-top:10px;
  }

}
#sp-fixed-menu li:last-child a {

	border-right: none;
  }

/*========= ボタンのためのCSS ===============*/
#top-header {
  position: fixed;
  top: 0;
  width: 100%;
  height: 65px;
 /* background-color: var(--main-color);*/
  z-index: 9990;
  display: flex;
}
#top-header h2 img {
  width: auto;
  height: 50px;
  margin-top: -10px;
  margin-left: 10px;
}
@media (max-width: 820px) {
  .openbtn1 {
    position: fixed;
    z-index: 9999; /*ボタンを最前面に*/
    top: 10px;
    right: 10px;
    cursor: pointer;
    width: 50px;
    height: 50px;
  }
  /*×に変化*/
  .openbtn1 span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
    background-color: #fff;
    width: 45%;
  }
  .openbtn1 span:nth-of-type(1) {
    top: 15px;
  }
  .openbtn1 span:nth-of-type(2) {
    top: 23px;
  }
  .openbtn1 span:nth-of-type(3) {
    top: 31px;
  }
  .openbtn1.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
  }
  .openbtn1.active span:nth-of-type(2) {
    opacity: 0;
  }
  .openbtn1.active span:nth-of-type(3) {
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
  }
  /*========= フッター固定バナー ===============*/
  /*メニューをページ下部に固定*/
  #sp-fixed-menu {
    position: fixed;
    width: 100%;
    bottom: 0px;
    font-size: 0;
    opacity: 0.9;
    z-index: 99999;
  }
  /*メニューを横並びにする*/
  #sp-fixed-menu ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
  }
  #sp-fixed-menu li {
    justify-content: center;
    align-items: center;
    width: 50%;
    padding: 0;
    margin: 0;
    font-size: 14px;
    border-right: 1px solid #fff;
  }
  #sp-fixed-menu li:last-child {
    border-right:none;
  }
  /*ボタンを調整*/
  #sp-fixed-menu li{
    width:50%;
  }
  #sp-fixed-menu li a {
    color: #fff;
    text-align: center;
    display: block;
    width: 100%;
    padding: 10px 0 22px;
    text-decoration: none;
  }
}

#sp-fixed-menu span{
	font-family: semplicitapro, sans-serif;
	font-size:14px;
	letter-spacing:0.1em;

}
/*========= レイアウトのためのCSS ===============*/
h1 {
  font-size: 1.2rem;
}
p {
  margin-top: 20px;
}
small {
  color: #fff;
  display: block;
  text-align: center;
}
#header {
  width: 100%;
  background: #333;
  color: #fff;
  text-align: center;
  padding: 20px;
}
.innerbox {
  padding: 0 1%;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
	box-sizing: border-box;
}


/*---section:nth-child(2n){
  background:#f3f3f3;
}
--*/
#footer {
  background: #333;
  padding: 20px;
}
/*----------------------------------
------------フッター共通----------------
----------------------------------*/
footer {
  background-color: #1b2031;
  color: #ffffff;
	font-size:13px;
	padding-bottom:5%;
}
@media (min-width:820px){
	footer{
		padding-bottom: 0;
	}
}
.footer-il-list{
		display: flex;
		margin-top:0;
	}

footer .footer-inner {
  width: 100%;
	padding:3% 0 0 5%;
}
footer section {
  display: inline-block;
}
footer section div {
  display: inline-block;
	width: 100%;
}
footer h3 {
  font-size: 18px;
  border-bottom: solid 1px;
  display: inline-block;
  padding-bottom: 0.7rem;
  margin-bottom: 3%;
	margin-top: 3%;
}
footer h4 {
  line-height: 2rem;
}
footer .copyright {
  text-align: center;
  width: 100%;
  margin: 0 auto;
  background-color: #000000;
  padding-bottom: 20px;
  font-size: 10px;
}
footer ul li {
  list-style: none;
	line-height: 2rem;
	text-indent: 1rem;
}
.footer-other-list li{
	text-indent: 0;
	margin-right:20px;
}
footer .footer-other-list{
display: flex
}

footer ul{
	width:100%;
	max-width: 600px;
	float: left;
}
.footer-sns-list ul{
	display:flex;
}
.footer-sns-list ul li{
	text-indent: initial;
	font-size:20px;
}
	.res-info h3.map{
		border: solid 1px #fff;
		padding:5%;
		margin:5% auto;
		font-family: semplicitapro, sans-serif;
		font-weight: normal;
	}
footer .res-info ul li {
    text-indent: 0rem;
}
@media (max-width: 820px) {
	footer .copyright{
		padding-bottom: 90px;
	}

}

/*--------------予約ボタン PC----------------*/
/*========= ナビゲーションのためのCSS ===============*/


@media (min-width: 821px) {
  #g-nav02 {
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position: fixed;
    z-index: 9;
    /*ナビのスタート位置と形状*/
    bottom: 120%;
    left: 0;
    width: 100%;
    height: 100vh; /*ナビの高さ*/
    background: #000000;
    color: #ffffff;
    /*動き*/
    transition: all 0.6s;
  }
  /*アクティブクラスがついたら位置を0に*/
  #g-nav02.panelactive {
    bottom: 0;
  }
  /*ナビゲーションの縦スクロール*/
  #g-nav02.panelactive #g-nav-list {
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100vh; /*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
  /*ナビゲーション*/
  #g-nav02 ul {
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: semplicitapro, sans-serif;
    font-weight: 700;
    font-size: 22px;
    display: block;
  }
  /*リストのレイアウト設定*/
  #g-nav02 h3 {
    text-align: right;
    padding-top: 70px;
    margin-right: 50px;
  }
  #g-nav02 li {
    list-style: none;
    text-align: center;
  }
  #g-nav02 li a {
    color: #ffffff;
    text-decoration: none;
    padding: 10px;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: bold;
  }


  /*========= ボタンのためのCSS ===============*/
  .openbtn2 {
    position: fixed;
    z-index: 9999; /*ボタンを最前面に*/
    bottom: 10px;
    left: 10px;
    cursor: pointer;
    width: 50px;
    height: 50px;
  }
  /*×に変化*/
  .openbtn2 span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
    background-color: #fff;
    width: 45%;
  }
  .openbtn2 span:nth-of-type(1) {
    top: 15px;
  }
  .openbtn2 span:nth-of-type(2) {
    top: 23px;
  }
  .openbtn2 span:nth-of-type(3) {
    top: 31px;
  }
  .openbtn2.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
  }
  .openbtn2.active span:nth-of-type(2) {
    opacity: 0;
  }
  .openbtn2.active span:nth-of-type(3) {
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
  }
}
/*--------------予約ボタン SP ipad----------------*/
/*========= ナビゲーションのためのCSS ===============*/
@media (max-width: 820px) {
  #g-nav02 {
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position: fixed;
    z-index: 9;
    /*ナビのスタート位置と形状*/
    bottom: -120%;
    left: 0;
    width: 100%;
    height: 100vh; /*ナビの高さ*/
    background: #000000;
    color: #ffffff;
    /*動き*/
    transition: all 0.6s;
  }
  /*アクティブクラスがついたら位置を0に*/
  #g-nav02.panelactive {
    bottom: 0;
  }
  /*ナビゲーションの縦スクロール*/
  #g-nav02.panelactive #g-nav-list {
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100vh; /*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
  /*ナビゲーション*/
  #g-nav02 ul {
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: semplicitapro, sans-serif;
    font-weight: 700;
    font-size: 22px;
    display: block;
  }
  /*リストのレイアウト設定*/
  #g-nav02 h3 {
    text-align: right;
    padding-top: 70px;
    margin-right: 50px;
  }
  #g-nav02 li {
    list-style: none;
    text-align: center;
  }
  #g-nav02 li a {
    color: #ffffff;
    text-decoration: none;
    padding: 10px;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: bold;
  }


	#g-nav-list ul li .forSP span{
		font-weight: normal;
		font-size:18px;
	}

  /*========= ボタンのためのCSS ===============*/
  .openbtn2 {
    position: fixed;
    z-index: 9999; /*ボタンを最前面に*/
    bottom: 10px;
    left: 10px;
    cursor: pointer;
    width: 50px;
    height: 50px;
  }
  /*×に変化*/
  .openbtn2 span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
    background-color: #fff;
    width: 45%;
  }
  .openbtn2 span:nth-of-type(1) {
    top: 15px;
  }
  .openbtn2 span:nth-of-type(2) {
    top: 23px;
  }
  .openbtn2 span:nth-of-type(3) {
    top: 31px;
  }
  .openbtn2.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
  }
  .openbtn2.active span:nth-of-type(2) {
    opacity: 0;
  }
  .openbtn2.active span:nth-of-type(3) {
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
  }
}
/*-------------------------------
コンセプト
---------------------------*/
#concept {
  background-color: #ffffff;
}
#img-concept1 {
  background-image: url("../img/347/cpt_img_01.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  height: 600px;
  background-position: center center;
}
#img-concept2 {
  background-image: url("../img/347/cpt_img_02.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  height: 600px;
  background-position: center center;
}
#img-concept3 {
  background-image: url("../img/347/cpt_img_03.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  height: 600px;
  background-position: center center;
}
#img-concept4 {
  background-image: url("../img/347/cpt_img_04.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  height: 600px;
  background-position: center center;
}
.img-concept{

  margin-bottom:80px;
}
@media (max-width: 820px) {
  .img-concept {
    height: 410px;

  }
/*-----SP用コンセプト画像-----*/
#img-concept1 {
  background-image: url("../img/347/cpt_img_sp_01.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  height: 500px;
  background-position: center center;
}
#img-concept2 {
  background-image: url("../img/347/cpt_img_sp_02.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  height: 500px;
  background-position: center center;
}
#img-concept3 {
  background-image: url("../img/347/cpt_img_sp_03.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  height: 500px;
  background-position: center center;
}
#img-concept4 {
  background-image: url("../img/347/cpt_img_sp_04.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  height: 500px;
  background-position: center center;
}
}


/*-----------新着情報--------------*/
#news {
  background-color: #E3E3E3;
}
#news dl dd p{
  font-size: 14px;
	line-height: 1.5rem;
}
#news dd span{
	background-color:var(--main-color);
	font-size:14px;
    color:#fff;
	padding:0 2%;
	font-weight: 600;
	margin-left:5%;
}
#news dt {
  float: left;
}
#news dd {
  margin-left: 100px;
}
#news dl div {
  padding: 15px 0;
  border-bottom: #ffffff 1px solid;
}


#news dl{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width:100%;
}
#news dl div{
	width:45%;
	margin:0 2%;
}

@media (max-width:767px){
	#news dl div{
		width:100%;
}
#news dl div:last-child {

  border-bottom:none;
}
}


/*----------footer_iPad-------------*/
@media (min-width:768px) and (max-width:820px){

	footer .innerbox{
		display:flex;
		padding:0;
	}

	.footer-il-list{
		display: flex;
		margin-top:0;
	}


	footer ul.list-padding li:nth-child(odd) {
    padding-left: 0;
}

	.footer-inner div h4:first-of-type{
		margin:10px auto;
	}
	.footer-inner div{
		margin-bottom:30px;
		font-size: 12px;

	}
	.footer-inner h3{
		font-size: 18px;
	}

	.res-info h4{
		font-weight: normal;
	}
	footer .innerbox .flex-item1 {
flex-basis: 35%; /* flexアイテムの幅を割合で指定 */
}
	footer .innerbox .flex-item2 {
flex-basis: 40%; /* flexアイテムの幅を割合で指定 */
}
	footer .innerbox .flex-item3 {
flex-basis: 25%; /* flexアイテムの幅を割合で指定 */
}

.foriPad{
		display:block;
	}
}
@media (max-width:767px){
	.foriPad{
		display:none;
	}
}
@media (min-width:821px){
	.foriPad{
		display:none;
	}
}



/*---------Google Map-------*/
#access div iframe{
	width:100%;
	max-width: 1000px;
	height: 350px;
	margin:0 auto;
	 -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
	border-style: none;
	margin-bottom:20%;
}
div.access-googlemap{
	height: 350px;
}
#access{
	margin-bottom:150px;
}

/*-------------------------------------------------------------------------------------------------UNDER LUNCH-------------------------------------------------------------------------------*/


 #under-header-lunch{
  background:url("../img/347/under_header_lunch_2.jpg") no-repeat center;
  background-size: cover;
  height:280px;
  margin-top:65px;
}
 #under-header-dinner{
  background:url("../img/347/under_header_dinner.jpg") no-repeat center;
  background-size: cover;
  height:280px;
  margin-top:65px;
}
#under-header-drink{
  background:url("../img/347/under_header_drink.jpg") no-repeat center;
  background-size: cover;
  height:280px;
  margin-top:65px;
}
#under-header-party{
  background:url("../img/347/under_header_party.jpg") no-repeat center;
  background-size: cover;
  height:280px;
  margin-top:65px;
}
#under-header-news{
  background:url("../img/347/under_header_news.jpg") no-repeat center;
  background-size: cover;
  height:280px;
  margin-top:65px;
}
@media (max-width:767px){
  #under-header-lunch{
  background:url("../img/347/under_header_lunchSP_2.jpg") no-repeat center;
  background-size: cover;
  height:280px;
  margin-top:65px;
}
 #under-header-dinner{
  background:url("../img/347/under_header_dinnerSP.jpg") no-repeat center;
  background-size: cover;
  height:280px;
  margin-top:65px;
}
  #under-header-drink{
  background:url("../img/347/under_header_drinkSP.jpg") no-repeat center;
  background-size: cover;
  height:280px;
  margin-top:65px;
}
  #under-header-party{
  background:url("../img/347/under_header_partySP.jpg") no-repeat center;
  background-size: cover;
  height:280px;
  margin-top:65px;
}
  #under-header-news{
  background:url("../img/347/under_header_newsSP.jpg") no-repeat center;
  background-size: cover;
  height:280px;
  margin-top:65px;
}
}
.under-header h1{
  font-family: semplicitapro, sans-serif;
  font-weight: 700;
  font-size: 40px;
  text-align:center;
	vertical-align: middle;
	color:#fff;
   text-shadow: 1px 1px 10px #555555;
}
.menu-cts-wrapper{
	margin-bottom: 0;
}
.menu-frame ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top:3%;
	padding-left:0;
}
.menu-frame ul li{
	list-style: none;
	display: flex;
	width: 48%;
	margin-right:1%;
	margin-bottom: 3%;
}

.menu-cts-wrapper  dl{
	padding:10px;
	line-height: 1.5rem;
}
.menu-cts-wrapper dt{
	margin-bottom: 5px;
	font-size: 18px;
}
.menu-cts-wrapper dd{
	padding: 5px 0;
	font-size:18px;
	line-height: 1.5rem;
}
.menu-cts-wrapper dd.price{
	font-size:16px;
}
.lunch-menu-box-text, .lunch-menu-box-img{
	margin: 5% 0;
}

.lunch-menu-box-text ul li{

	width: 100%;
}
.menu-cts-wrapper .cts{
	margin-top:0;
}
.lunch-menu-box-text dl{
	display:flex;
	width: 100%;
	max-width:760px;
	margin:0 auto;

}
.lunch-menu-box-text dt{
	width: 100%;
	line-height: 1.5rem;
	border-bottom: 1px solid #e8e8e8;
	margin-bottom: 0;
	padding:0 3% 0 0;
}
.lunch-menu-box-text dd{
	width:30%;
	padding: 1% 3%;
	text-align: right;
	border-bottom: 1px solid #e8e8e8;
	margin-bottom: 0;
}
.lunch-menu-box-text dt span{
	font-size: 14px;
	text-indent: 1rem;
}

.menu-cts-wrapper h3{
	font-family:semplicitapro, sans-serif;
	color:var(--main-color);
	font-size: 22px;
	font-weight: bold;
	margin-bottom: 0;
	margin-top:5%;
}
.menu-cts-wrapper h3 span{
	padding:0 2%;
	font-size: 18px;
}
.menu-cts-wrapper p{
	text-align: center;
}
.cts p.note{
	font-size:14px!important;
	text-align: center!important;
}
.menu-cts-wrapper h2{
	line-height: 1;
	margin-top:7%;
	padding:0;
}
.menu-cts-wrapper h2 span{
	font-size:18px;
	font-weight: normal;
	margin:3% 0;
	display: inline-block;
	line-height: 1.5;
	font-family:'Noto Sans JP',semplicitapro, sans-serif;

}
.menu-drink{
	padding-left:10%;
	font-size:13px;
	line-height: 1rem;
	margin-top:-10%;
}
.menu-cts-wrapper p{
	color: #000;
	text-align:left;
}
.menu-box-set{
	text-align: center;
}
.menu-box-set h4{
 border-bottom: 1px solid #e8e8e8;
 margin-bottom: 5%;
}
.menu-box-set figure{
	margin:0 auto 10%;
}
.container .cts .menu-box-set2 figure{
	margin:0 auto;
	margin-bottom: 0;
}
.container .cts .menu-box-set{
	margin-bottom: 20%;
}
.container .cts .menu-box-set2{
	margin-bottom: 8%;
}
.menu-box-set img{
	width:100%;
	max-width: 700px;
}

.container .cts .menu-box-set ul{
	display:block;
  padding-inline-start: 0px;
}
.container .cts .menu-box-set ul li{
	margin:0 auto 3%;
	text-align:center;
	display: block;
	font-size: 18px;
}

/*--メニュー英語・注釈--*/
.explain, .engmenu{
  color: #797979;
  font-size: 14px;
	display: block;
	margin-bottom: 3px;
	line-height: 1.5;
}
.explain, .engmenu2{
  color: #797979;
  font-size: 14px;
	display: inline;
	margin-bottom: 3px;
	line-height: 1.5;
}

.wine-list dd{
	line-height: 1.5rem;

}
@media (min-width: 768px) {
 .menu-cts-wrapper #dinner_appetizer dd.price {
    white-space: nowrap;
  }
}
@media (max-width:767px){

.menu-frame ul li {
    list-style: none;
    display: flex;
    width: 100%;
    margin-right: 1%;
}
.menu-frame dl{
	padding-left:2%;
	line-height: 1rem;
}
.menu-frame ul li img{
		width:100%;
	}
.menu-frame dt{
	margin-bottom: 5%;
	font-size: 18px;
	line-height: 1.5rem;
}
.menu-frame dd{
}
.menu-frame dd:first-of-type{
	margin-bottom: 5%;
}

.menu-frame dl {
		padding:0 0 0 3%;
}
.menu-frame .lunch-menu-box-img dl{
		width:60%;
		padding:0 0 0 2%;
	    line-height: 1.5rem;
	}
.under .menu-frame h3{
	margin:40px auto;

	}
}
#menu_drink .under .cts h4{
	font-weight:normal;
	}
/*--ワインリスト--*/
#menu_drink .lunch-menu-box-text .note-wine dl dt span{
	border: 1px solid;
	display: inline-block;
	padding:0px 5px;
	margin:5px auto;
	text-align: center;
	text-indent: initial;
	font-size:12px;
}
#menu_drink .lunch-menu-box-text .note-wine dl dt span.w-breed{
	border: none;
	color:#797979;
}
#menu_drink img.icon{
	width:20px;
	height:auto;
	margin:0 5px;
	vertical-align: middle;
}

/*---タブの切り替え---*/
.tab-group{
  display: flex;
  justify-content: center;
  margin-top:5%;
  padding-inline-start:0px;
}
.tab-group li{
	display: table;
	height:50px;
}
.tab-group li span{
	display: table-cell;
	vertical-align: middle;
	line-height: 1rem;
}
.tab{
  flex-grow: 1;
  padding:5px;
  list-style:none;
  border:solid 1px var(--main-color);
  color:var(--main-color);
  text-align:center;
  cursor:pointer;
  font-size: 18px;
  font-weight: bold;
  font-family: semplicitapro, sans-serif;

}
.panel-group{
  height:auto;
  border-top:none;
}
.panel{
  display:none;
  transition: all 0.5s;
}
.tab.is-active{
  color:#FFF;
  transition: all 0.2s ease-out;
}

.panel.is-show{
  display:block;
  transition: all 0.5s;
}

.tab.is-active {
  position: relative;
  /* display: inline-block; */
  color: #fff;
  font-size: 18px;
  transition: all 0.2s ease-out;
}

.tab.is-active:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  transition: all 0.2s ease-out;
}

/*-------------------news----------------*/
.news-cts-wrapper article h3{
	text-align:left;

}
.news-cts-wrapper article p{
	color:#000;
	text-align:left;
	padding-left:0;
	width:100%;
	max-width:1000px;
}
.news-cts-wrapper article p img{
	width:100%;
	max-width:600px;
	margin-top:5%;

}

@media (max-width:820px){
.news-cts-wrapper article p{
	padding:0;
}
}

/*-------------------party---------------------*/
.under .cts .menu-party-explain h4{
	margin:5%;
}
.under .cts .menu-party-explain p{
	padding:0;
}

/*----ランチソフトドリンク----*/
.cts .lunch-menu-box-text ul li.l_drink{
	display: block;
	width:100%;
	max-width:470px;
	border:1px solid #595959;
	padding:2%;
}
.cts .lunch-menu-box-text ul li.l_drink p{
	padding:0;
}
.cts .lunch-menu-box-text ul li.l_drink div{
	width:100%;
	max-width:600px;
	margin:0 auto;
}
.cts .lunch-menu-box-text ul li.l_drink ul{
	display: initial;
	float:left;
	margin-top:0;
	margin-bottom: 3%;
	width:100%;
}

.cts .lunch-menu-box-text ul li.l_drink ul li{
	display: block;
	float:left;
	width:auto;
	margin-bottom: 0;
	margin-right:2%;
}

/*---追記-----*/
@media (max-width:767px){
.menu-frame .lunch-menu-box-text dl{
		padding:0;
}
.lunch-menu-box-text dd{
	width:33%;
	padding: 1%;
}
}

#page-menu main #page-link{
	width:100%;
	max-width:760px;
	margin:0 auto;
}
#page-menu main #page-link li a{
	display: block;
	height: 100%;
	width:100%;
	text-align: center;
}

#page-menu main #page-link li{
	width:31%;
	background-color: var(--main-color);
	display: block;
	padding:8px 0;
}

#dinner_appetizer{
	padding-top:70px;
	margin-top:-70px;
}
#dinner_salad{
	padding-top:70px;
	margin-top:-70px;
}
#dinner_main{
	padding-top:70px;
	margin-top:-70px;
}


.font-small{
	font-size:12px!important;
	line-height:1rem!important;
}


/*--------パーティプラン---------*/
.box-2flex{
	display: flex;
	margin:10% auto;
	justify-content: center;
}

.box-2flex-img{
flex-basis: 50%; /* flexアイテムの幅を割合で指定 */
}
.box-2flex-txt{
	text-align: left;
	padding:3%;
	width:45%;
}
@media(max-width:767px){
.box-2flex{
	display: block;
}
.box-2flex-txt{
	width:100%;
}
}
.box-2flex-txt dl dd{
	padding-left:15px;
}

.under .cts .box-2flex-txt dt h4{
	text-align: left!important;
}

.img-flex{
	display: flex;
	margin:10% auto;
	justify-content: center;
}

.img-flex div{
	flex-basis: 30%;
	padding:1%;
}

.slick-slide img{
	padding:2%;
	margin:0 auto;
}
.slick-dots{
	bottom:-50px;
}
.slick-dots li {
    position: relative!important;
    display: inline-block!important;
    width: 20px!important;
    height: 20px!important;

}
.slick-dots li button:before {
	font-size:12px!important;
	color:#24557C!important;
}
.slick-active{
	color:#24557C!important;
}

.slick-prev:before, .slick-next:before {
    font-family: 'slick';
    font-size: 20px;
    line-height: 1;
    opacity: .75;
    color: #24557C;
}

figure.party-pics {
	display: inline-block;
	margin:0 auto 50px;
}
figure.party-pics img {
	max-width: 100%;
	vertical-align: bottom;
}

.party-cap{
	margin-top:50px!important;
	padding:30px!important;
	background-color:var(--main-color);
	color:#fff!important;
	line-height: 35px;
}

.pad-top-1oo{
	padding-top:100px!important;
}
.pad-top-5o{
	padding-top:60px!important;
}

.container .cts .menu-box-set ul li:last-child {
    margin-bottom:0!important;
}

.page-party .panel .innerbox div:last-of-type{
	margin-bottom:0!important;

}
#dinner_menulink {
  max-width: 200px;
  border: solid 1px var(--main-color);
  text-align: center;
  margin: 0 auto 5%;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50px;
}
#dinner_menulink a {
  color: var(--main-color);
  width: 100%;
  padding: 5px;
}
#dinner_menulink a:hover {
  opacity: 0.7;
}
