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

html {scroll-behavior: smooth;}

body {
	/*background-color: #FFFFFF;*/
	background-image: url("../img/back_sample.png")
}

img{vertical-align: middle;}

a {
	text-decoration: none;
}

a:hover img{
	opacity: 0.85;
	filter: alpha(opacity=85);
}

hr {
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

header{
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
}

main{
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
	/*background-color: #ffffff;*/
	color: #262626;
}

#floor_11f h2{
	display: table; /* ← ここがポイント */
  	margin: 15% auto 0; /* autoで中央に */
  	font-family: "Shippori Mincho", serif;
  	font-weight: 800;
  	font-style: normal;
  	font-size: 250%;
  	color: #fff;
  	background: #EE87B4;
  	padding: 10px 20px 13px;
  	border-radius: 6px;
}

#floor_12f h2{
	display: table; /* ← ここがポイント */
  	margin: 15% auto 0; /* autoで中央に */
  	font-family: "Shippori Mincho", serif;
  	font-weight: 800;
  	font-style: normal;
  	font-size: 250%;
  	color: #fff;
  	background: #6FBA2C;
  	padding: 10px 20px 13px;
  	border-radius: 6px;
}

#floor_13f h2{
	display: table; /* ← ここがポイント */
  	margin: 15% auto 0; /* autoで中央に */
  	font-family: "Shippori Mincho", serif;
  	font-weight: 800;
  	font-style: normal;
  	font-size: 250%;
  	color: #fff;
  	background: #F0831E;
  	padding: 10px 20px 13px;
  	border-radius: 6px;
}

#floor_14f h2{
	display: table; /* ← ここがポイント */
  	margin: 15% auto 0; /* autoで中央に */
  	font-family: "Shippori Mincho", serif;
  	font-weight: 800;
  	font-style: normal;
  	font-size: 250%;
  	color: #fff;
  	background: #6879BA;
  	padding: 10px 20px 13px;
  	border-radius: 6px;
}

#floor_15f h2{
	display: table; /* ← ここがポイント */
  	margin: 15% auto 0; /* autoで中央に */
  	font-family: "Shippori Mincho", serif;
  	font-weight: 800;
  	font-style: normal;
  	font-size: 250%;
  	color: #fff;
  	background: #2EB6AA;
  	padding: 10px 20px 13px;
  	border-radius: 6px;
}


.box{
	width: 100%;
	margin-top: 10%;
	padding: 5% 0;
	background-color: #FFFCF6;
}

.shop_information{
	background-image: url("../img/back_shop_title.png");
 	background-repeat: no-repeat;
  	background-position: center center;
  	background-size: contain; /* スマホで枠全体を表示 */
  	/*padding: 2em 1em;*/
  	text-align: center;
  	color: #333;
}


.shop_information dt{
	padding: 1% 1% 0% 2%;
	font-family: "Shippori Mincho", serif;
  	font-weight: 800;
  	font-style: normal;
	font-size: 150%;
	line-height: 1.6;
}

.shop_information dt span{
	font-size: 80%;
	margin-left: 0.5em;
}

.shop_information dd{
	padding: 0% 1% 1% 0%;
	font-family: "Shippori Mincho", serif;
	font-weight: 800;
	font-style: normal;
	font-size: 150%;
	line-height: 1.6;
}


.inquiry{
	width: 100%;
	margin: 2% 0% 2% 0%;
	text-align: center;
	font-family: "Shippori Mincho", serif;
  	font-weight: 700;
  	font-style: normal;
	font-size: 150%;
	line-height: 1.8;
	color: #DC5F69;
}

.menu_introduction{
	width: 95%;
	margin: 0 auto;
	display: flex;
	/*align-items: center;*/
	flex-direction: row;
}

.menu_introduction .menu_image {
  order: 1;
}

.menu_introduction .menu_description {
  order: 2;
}

/*.box:nth-of-type(even) .menu_introduction {
  flex-direction: row-reverse !important;
}*/

.menu_introduction:nth-of-type(even) {
  flex-direction: row-reverse !important;
}
	
.menu_image{
	width: 50%;
}

.menu_description{
	width: 47%;
	margin: 0 1.5% 0 1.5%;
}

.flex{
	display: flex;
	gap: 5%;
}

.icon{
	width: 28%;
	margin-top: 3%;
}

.icon_ver1{
	width: 44.5%;
	margin-top: 3%;
}

/*.limited-menu{
	width: 75%;
	margin-top: 3%;
}*/


.menu_name{
	margin-top: 10%;
	font-family: "Shippori Mincho", serif;
  	font-weight: 600;
  	font-style: normal;
	font-size: 150%;
	line-height: 1.4;
}

.menu_name span{
	font-size: 75%;
}

.price{
	margin-top: 5%;
	font-family: "Shippori Mincho", serif;
  	font-weight: 600;
  	font-style: normal;
	font-size: 170%;
}

.price span{
	margin-left: 0.2em;
	font-size: 80%;
}

.price_ver1{
	margin-top: 5%;
	font-family: "Shippori Mincho", serif;
  	font-weight: 600;
  	font-style: normal;
	font-size: 170%;
	line-height: 1.4;
}

.price_ver1 span{
	font-size: 80%;
}

.margin-l{
	margin-left: 0.2em;
}

.note{
	margin: 5% 2% 0 0;
	text-indent: -1em;
  	padding-left: 1em;
	font-family: "Shippori Mincho", serif;
  	font-weight: 400;
  	font-style: normal;
	font-size: 90%;
	text-align: justify;
	color: #075D7C;
	line-height: 1.4;
}

.menu_detail{
	margin-top: 5%;
	text-indent: -1em;
  	padding-left: 1em;
	font-family: "Shippori Mincho", serif;
  	font-weight: 400;
  	font-style: normal;
	line-height: 1.4;
	text-align: justify;
}

.menu_detail_ver1{
	margin-top: 5%;
	font-family: "Shippori Mincho", serif;
  	font-weight: 400;
  	font-style: normal;
	line-height: 1.4;
	text-align: justify;
}

.buffet_time{
	margin: 7% 0 -10% 0;
	font-family: "Shippori Mincho", serif;
  	font-weight: 700;
  	font-style: normal;
	line-height: 1.4;
	font-size: 120%;
	color: #075D7C;
}

.time_limited{
	width: 13em;
	background-color: #FBD8AC;
	border-radius: 10px 10px 10px 10px;
	margin: 5% 0 -5% 0;
	padding: 2px 0 2px 0;
	font-family: "Shippori Mincho", serif;
  	font-weight: 700;
  	font-style: normal;
	font-size: 105%;
	line-height: 1.4;
	text-align: center;
	color: #075D7C;
}

.quantity_limited{
	width: 8em;
	background-color: #F9D2DC;
	border-radius: 10px 10px 10px 10px;
	margin: 5% 0 -5% 0;
	padding: 2px 0 2px 0;
	font-family: "Shippori Mincho", serif;
  	font-weight: 700;
  	font-style: normal;
	font-size: 105%;
	line-height: 1.4;
	text-align: center;
	color: #075D7C;
}

.weekday-only{
	margin: 5% 0 -10% 0;
	font-family: "Shippori Mincho", serif;
  	font-weight: 700;
  	font-style: normal;
	font-size: 130%;
	line-height: 1.4;
	color: #e60012;
}


.color_magenta{
	color: #EC008C;
}

.color_orange{
	color: #D93D04;
}

.Red{
	color: #e60012;
}

.text_space{
	letter-spacing: -0.7px;
}

.mgt5{
	margin-top: 5%!important;
}

.mgt7{
	margin-top: 7%!important;
}

sup{
	font-size: 100%;
	color: #075D7C;
}


.hr1 {
  	position: relative;
	width: 80%;
	margin: 8% 10% 0;
	height: 3px;
	border-width: 0;
	background-color: #00bcd4;
	background-image: -webkit-linear-gradient( 135deg, #FD6585 10%, #0D25B9 100%);
	background-image: linear-gradient( 135deg, #FD6585 10%, #0D25B9 100%);
}


footer{
	width: 100%;
	margin-top: 5%;
	padding-bottom: 15%;
	border-bottom: #06027D solid 5px;
	text-align: center;
}

footer ul{
	width: 94%;
	margin: 6% 3% 0 3%;
}

footer ul li{
	margin-top: 2%;
	padding-left: 1em;
	text-indent: -1em;
	font-family: "Shippori Mincho", serif;
  	font-weight: 400;
  	font-style: normal;
	font-size: 100%;
	line-height: 1.4;
}

footer h3{
	width: 30%;
	margin: 5% auto 0;
}

a {
  text-decoration: none;
}

br.sp{
	display: block;
}

br.pc{
	display: none;
}

.sp_none{
	display: none;
}
	
.pc_none{
	display: inline;
}

/* ---区切り線--- */
.separator_line {
	width: 80%;
	margin: 5% auto 5%;
  	height: 1px;
  	background: #aaa;
	background-image: -webkit-linear-gradient(left, #ddd, #e50012, #ddd);
  	background-image: -moz-linear-gradient(left, #ddd, #e50012, #ddd);
	background-image: -ms-linear-gradient(left, #ddd, #e50012, #ddd);
	background-image: -o-linear-gradient(left, #ddd, #e50012, #ddd);
}




@media (min-width: 980px){
	.btn-flat{font-size: 31px}
	
	#floor_11f h2{
  		margin: 10% auto 0; /* autoで中央に */
  		font-size: 60px;
  		padding: 10px 20px 15px;
  		border-radius: 10px;
	}
	
	#floor_12f h2{
		margin: 10% auto 0; /* autoで中央に */
  		font-size: 60px;
  		padding: 10px 20px 15px;
  		border-radius: 10px;
	}
	
	#floor_13f h2{
		margin: 10% auto 0; /* autoで中央に */
  		font-size: 60px;
  		padding: 10px 20px 15px;
  		border-radius: 10px;
	}
	
	#floor_14f h2{
		margin: 10% auto 0; /* autoで中央に */
  		font-size: 60px;
  		padding: 10px 20px 15px;
  		border-radius: 10px;
	}
	
	#floor_15f h2{
		margin: 10% auto 0; /* autoで中央に */
  		font-size: 60px;
  		padding: 10px 20px 15px;
  		border-radius: 10px;
	}

	.box{
		width: 100%;
		margin-top: 5%;
	}
	
	.shop_information dt{
		padding: 2% 0% 0% 0%;
  		font-weight: 800;
		font-size: 34px;
	}

	.shop_information dd{
		padding: 0% 0% 2% 0%;
		font-weight: 800;
		font-size: 34px;
	}
	
	.inquiry{
		font-size: 30px;
}
	
	.icon{
		width: 20%;
	}
	
	.icon_ver1{
		width: 31.8%;
	}
	
	.menu_name{
		margin-top: 5%;
		font-size: 34px;
	}

	.price{
		margin-top: 5%;
		font-size: 34px;
	}
	
	.price_ver1{
		margin-top: 5%;
		font-size: 34px;
		line-height: 1.4;
	}

	.note{
		margin: 5% 0% 0 0;
		font-size: 20px;
	}
	
	.menu_detail{
		margin-top: 5%;
		font-size: 20px;
	}
	
	.menu_detail_ver1{
		margin-top: 5%;
		font-size: 20px;
	}
	
	.buffet_time{
		margin: 7% 0 -5% 0;
		line-height: 1.4;
		font-size: 24px;
	}
	
	.time_limited{
		border-radius: 20px 20px 20px 20px;
		margin: 5% 0 -3% 0;
		font-size: 24px;
	}
	
	.quantity_limited{
		border-radius: 20px 20px 20px 20px;
		margin: 5% 0 -3% 0;
		font-size: 24px;
	}
	
	.weekday-only{
		margin: 5% 0 -5% 0;
		font-size: 30px;
	}
	
	
	footer{
		width: 100%;
		margin-top: 5%;
		padding-bottom: 3%;
	}
	
	
	footer ul{
		width: 60%;
		margin: 3% 20% 0 20%;
	}
	
	footer ul li{
		margin-top: 1%;
		font-size: 20px;
		line-height: 1.2;
	}
	
	footer p{
		font-size: 24px;
	}
	
	footer h3{
		width: 18%;
		margin: 3% auto 0;
	}
	
	br.sp{
		display: none;
	}
	
	br.pc{
		display: block;
	}
	
	sup{
		font-size: 50%;
	}
	
	.sp_none{
		display: inline;
	}
	
	.pc_none{
		display: none;
	}
	
	.more-button {
		font-size: 16px;
	}
	
	/* ---区切り線--- */
	.separator_line {
		width: 80%;
		margin: 5% auto 5%;
  		height: 2px;
	}

}



/*---スクロール＆ページTOPへ戻る---*/
/*スクロールリンクの形状*/
.scroll-top {
  /*表示位置*/
  position: fixed;
  right: 20px;
  bottom: 40px;
  z-index: 2;
  /*はじめは非表示*/
  opacity: 0;
  visibility: hidden; 
  transition: opacity .5s, visibility .5s; /*それぞれに0.5秒の変化のアニメーション*/
  /*縦書き*/
  -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
  /*改行禁止*/
    white-space: nowrap;
  /*矢印の動き*/
  animation: arrowmove 1s ease-in-out infinite;
}

@keyframes arrowmove{
      0%{bottom:50px;}
      50%{bottom:55px;}
     100%{bottom:50px;}
 }


/*.scroll-viewクラスがついたら出現*/
.scroll-top.scroll-view {
  opacity: 1;
  visibility: visible;
}

/*リンク全体の aタグの形状*/
.scroll-top a {
  text-decoration: none;
  color: #666;
  text-transform: uppercase;
  font-size:0.9rem;
    display: block;
}

/*スクロールリンクの形状*/
.js-scroll a::after{
  content:"";
  position: absolute;
  top:0;
  right:0;
  width:1px;
  height: 50px;
  background:#666;
}

.js-scroll a::before {
    content: "";
    position: absolute;
    top: 30px;
    right: -6px;
    width: 1px;
    height: 20px;
    background: #666;
    transform: skewX(-31deg);
}

/*Edge IE11 hack*/
_:-ms-lang(x), .js-scroll a::before{
  right:-11px;
}

/*ページトップリンクの形状*/
.js-pagetop a::after{
  content:"";
  position: absolute;
  top:0;
  right:0;
  width:1px;
  height: 50px;
  background:#666;
}

.js-pagetop a::before {
    content: "";
    position: absolute;
    top: 0;
    right: -6px;
    width: 1px;
    height: 20px;
    background: #666;
    transform: skewX(31deg);
}

/*Edge IE11 hack*/
_:-ms-lang(x), .js-pagetop a::before{
  right:0;
}



/*常時表示ナビ*/
.floor-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #fff;
  display: flex;
  justify-content: space-around;
  padding: 8px 0;
  z-index: 1000;
}

.floor-nav a {
  font-size: 14px;
  color: #333;
  text-decoration: none;
}

/*.floor-nav a.active {
  color: #fff;
  background: #7b4f27; 
  border-radius: 5px;
  padding: 5px 10px;
}*/

.floor-nav a.active.floor-11f {
  	color: #fff;
	background: #EE87B4; 
  	border-radius: 5px;
  	padding: 5px 10px;
}

.floor-nav a.active.floor-12f {
	color: #fff;
	background: #6FBA2C; 
  	border-radius: 5px;
  	padding: 5px 10px;
}

.floor-nav a.active.floor-13f {
	color: #fff;
	background: #F0831E; 
  	border-radius: 5px;
  	padding: 5px 10px;
	
}

.floor-nav a.active.floor-14f {
	color: #fff;
	background: #6879BA; 
  	border-radius: 5px;
  	padding: 5px 10px;
}

.floor-nav a.active.floor-15f {
	color: #fff;
	background: #2EB6AA; 
  	border-radius: 5px;
  	padding: 5px 10px;
}



/* PC表示（min-width: 980px）でレイアウト変更 */
@media (min-width: 980px) {
  .floor-nav {
    position: fixed;
    top: 40%;
	left: 90%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 1000;
    width: auto;
    background: transparent;
    padding: 0;
  }

  .floor-nav::before {
    content: "";
    position: absolute;
    top: 40px; /* 11Fの上線を非表示にするために余白調整 */
    bottom: 40px; /* 15Fの下線も非表示にするために余白調整 */
    width: 2px;
    background: #ccc;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
  }

  .floor-nav a {
    width: 40px;
    height: 40px;
    margin: 10px 0;
    background: white;
    border: 2px solid #aaa;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #333;
    font-weight: bold;
    text-decoration: none;
    transition: background 0.3s, transform 0.3s;
  }

  .floor-nav a:hover {
    background: #f8f8f8;
    transform: scale(1.05);
  }
}

