@charset "utf-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
  box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6{
  font-weight: bold;
  position: relative;
}

body {
  line-height: 1.6em;
  font-family: "BIZ UDPGothic", sans-serif;
  padding-top:90px;
  font-size: 14px;
	letter-spacing: 0.1em;
}

article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary {
  display: block; }

ol li,
ul li {
  list-style: none;
}
input, select {
  vertical-align: middle; }
p {
    display: block;
    margin-block-start: 0em;
    margin-block-end: 0em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    unicode-bidi: isolate;
}

a {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
  color: inherit;
}
a:hover {
  text-decoration: none;
  opacity: 0.8;
}
img {
  max-width: 100%;
  height: auto;
}
table {
  border-collapse: collapse;
  border-collapse: collapse;
  border-spacing: 0;
}
table, tr, tbody, thead {
  width: 100%;
}

:root{
	 --color-brown01: #F7F5EF;
  --color-brown02: #E8E4D3;
  --color-brown02b: #A58D5E;
  --color-brown03: #715A2D;
  --color-brown04: #3C2D09;
  --color-red01: #DC0800;
}


/* common */

main{
  max-width:100%;
	overflow-x: hidden;
}
.bg_brown01{
  background:var(--color-brown01)
}
.bg_brown02{
  background:var(--color-brown02)
}
.bg_brown03{
  background:var(--color-brown03)
}
.bg_brown04{
  background:var(--color-brown04)
}


.bg_red01{
  background:var(--color-red01)
}

.red{
  color:var(--color-red01)
}
.brown03{
  color:var(--color-brown03);
}
.bg_blue01{
	background: #0080cc;
}
.bg_orange01{
	background: #f49600;
}
.bg_green01{
	background: #009944;
}
.bg_green01{
  background: #4A5650;
}
h1:before, h2:before, h3:before, h4:before, h5:before, h6:before, p:before,a:before,
h1:after, h2:after, h3:after, h4:after, h5:after, h6:after, p:after,
a:after{
  position: absolute;
  content:"";
}

.sec_inner{
  padding:0 5%;
}
.cont_inner{
  padding:0;
}


.ttl_sec_01{
  font-size:20px;
  text-align: center;
  margin-bottom:50px;
	line-height: 1.5;
}
.ttl_sec_01:after{
  width:100px;
  height:4px;
  border-radius:2px;
  background:var(--color-red01);
  bottom:-15px;
  left:0;
  right:0;
  margin: auto;
}
.ttl_sec_01 > span{
  display: block;
  font-size: 16px;
  text-align: center;
}
.ttl_sec_01 > .sub_sec_01{
  font-size: 12px;
}
.ttl_sec_02{
  padding-left:15px;
  margin-bottom:20px;
  font-size:16px;
  line-height: 1.5;
}
.ttl_sec_02:before{
  width:4px;
  height:80%;
  top:0;
  bottom:0;
  left:0px;
  margin: auto;
  background: var(--color-red01);
  border-radius: 2px;
}
.under_h1{
	font-size: 24px;
	text-align: center;
  margin-bottom:40px;
	line-height: 1.5;
}
.under_h1 .h1_shop{
	font-size: 12px;
	display: block;
	margin-bottom:10px;
}
.features_box01{
  text-align: center;
  font-size: 14px;
  width: fit-content;
  margin: 0 auto;
}
.features_box01 .txt_small{
  font-size: 12px;
}
.btn_brown01{
  max-width: 310px;
  margin: auto;
  background: var(--color-brown03);
  display:block;
  position:relative;
  font-size: 14px;
  text-align:center;
  padding:10px;
  color:#fff;
  border-radius: 30px;
}
.btn_brown01:after{
  position: absolute;
  content:"";
  top:0;
  bottom:0;
  right:15px;
  margin:auto;
  width: 18px;
  height: 18px;
  background: url(/images_2024r/shop/common/icon/ico_btn_arror_white.svg);
}



.btn_red01{
  max-width: 310px;
  margin: auto;
  background: var(--color-red01);
  display: block;
  position: relative;
  font-size: 14px;
  text-align: center;
  padding: 10px;
  color: #fff;
  border-radius: 30px;
}
.btn_red01:after{
  position: absolute;
  content:"";
  top:0;
  bottom:0;
  right:15px;
  margin:auto;
  width: 18px;
  height: 18px;
  background: url(/images_2024r/shop/common/icon/ico_btn_arror_white.svg);
}
.box_in_btn{
  border: solid 1px #000;
  padding: 3px 10px;
  padding-right: 15px;
  max-width: 95px;
  font-size: 10px;
  border-radius: 20px;
  line-height: 1;
  margin: auto;
  position: relative;
}
.box_in_btn:after{
  top:0;
  bottom:1px;
  right:5px;
  margin:auto;
  width: 9px;
  height: 9px;
  background: url(/images_2024r/shop/common/icon/ico_btn_arror_black.svg);
  background-size: cover;
}
 /* 矢印だけ使用の場合 */
	.arrow_white{
		position: relative;
	}
	.arrow_white:after{
		position: absolute;
	  content:"";
	  top:0;
	  bottom:0;
	  right:15px;
	  margin:auto;
	  width: 18px;
	  height: 18px;
	  background: url(/images_2024r/shop/common/icon/ico_btn_arror_white.svg);
	}
	.arrow_black{
		position: relative;
	}
	.arrow_black:after{
		position: absolute;
	  content:"";
	  top:0;
	  bottom:0;
	  right:15px;
	  margin:auto;
	  width: 18px;
	  height: 18px;
	  background: url(/images_2024r/shop/common/icon/ico_btn_arror_black.svg);
		background-size: cover;
	}
	.arrow_up:before,
	.arrow_up:after{
		transform: rotate(-90deg);
	}
	.arrow_down:before,
	.arrow_down:after{
		transform: rotate(90deg);
	}
  .arrow_plus{
		position: relative;
	}
	.arrow_plus:after{
		position: absolute;
	  content:"";
	  top:0;
	  bottom:0;
	  right:15px;
	  margin:auto;
	  width: 18px;
	  height: 18px;
	  background: url(/images_2024r/shop/common/icon/ico_btn_plus_white.svg);
	}
  .arrow_plus.on:after{
	  background: url(/images_2024r/shop/common/icon/ico_btn_minus_white);
	}
 /* 矢印end */
.txt_aside{
  display: inline-block;
  text-indent: 1em;
}
.txt_center{
  text-align: center;
}
.txt_tax{
	font-size: 10px;
}
.features_box01 .txt_small{
  font-size: 12px;
}
.txt_intro{
	margin-bottom:20px;
	word-break: auto-phrase;
}
.txt_intro.bold{
  font-weight: bold;
}
.txt_intro a{
  text-decoration: underline;
	font-weight: bold;
}
.sp_none{
  display: none;
}
.pc_none{
  display: block;
}
.block{
  display: block;
}
.nowrap{
  white-space: nowrap;
}
.m15t{
  margin-top: 15px;
}
.m15b{
  margin-bottom: 15px;
}
.m20t{
  margin-top: 20px;
}
.m20b{
  margin-bottom: 20px;
}
.m30t{
  margin-top: 30px;
}
.m30b{
  margin-bottom: 30px;
}
.m80t{
  margin-top: 80px;
}
.bold{
  font-weight: bold;
}
@media screen and (min-width: 1020px) {
  body{
    padding-top: 0;
  }
  main{
    max-width: calc(100% - 760px);
    width:100%;
    left: 380px;
    position: relative;
  }
  .sec_inner {
    max-width: 560px;
    margin: auto;
		padding:0 40px;
  }
	.cont_inner{
	  padding:0%;
	}
  .sp_none{
    display: block;
  }
  .pc_none{
    display: none;
  }
	.features_box01{
	  max-width:200px;
	}
}

/* common end*/

/* aside */
aside{
  display: none;
}
body .css-2dewsr .tablecheck-widget-header{
	display: none;
}
.tablecheck-input-time-wrapper select option:nth-last-of-type(even) {
	display: none;
}
@media screen and (min-width: 1020px) {

  aside{
    display: block;
    background: var(--color-brown02b);
    max-width: 380px;
    width:100%;
    height: 100%;
    position: fixed;
    top:0;
    left:0;
    padding:60px 60px 60px;
    overflow-y: scroll;
		overflow-x: hidden;
    z-index:4000;
  }
	aside:before{
		position: absolute;
		content: "";
		width: 300px;
		height: 200px;
		top: 70px;
		left: -50px;
		background: #fff;
		z-index: 4200;
		transform: rotate(-15deg);
	}
	aside:after{
		position: absolute;
		content: "";
		width: 130%;
		height: 350px;
		top: -120px;
		left: -15px;
		background: var(--color-brown02);
		z-index: 4200;
		transform: rotate(15deg);
	}
	aside *{
		position: relative;
		z-index: 4500;
	}
	aside >div{
		display: flex;
    flex-direction: column;
		justify-content: space-between;
    height: 100%;
	}
  .aside_logos{
    text-align:center;
    font-size: 16px;
    margin-bottom:20px;
  }
  .aside_logos a{
    display: block;
    margin: auto;
    margin-bottom:20px;
    max-width: 150px;
  }
  .aside_ttl{
    font-size: 16px;
    font-weight: bold;
  }
  .aside_tel{
    font-size: 14px;
    font-family: "Roboto", sans-serif;
  }
  .aside_biztime{
    padding:15px 2px;
    text-align: center;
    border-radius: 10px;
    border: solid 2px #000;
    margin-bottom:40px;
    background: #fff;
  }
  .aside_biztime .biz_time{
    font-size: 15px;
    font-weight: bold;
		letter-spacing: 0.01em;
  }
  .aside_biztime .box_in_btn{
    padding:2px 20px;
    background: var(--color-brown02);
		border: none;
  }
  .reseerve_intro{
    margin-bottom:20px;
  }
  .aside_reserve{
		font-size: 12px;
    padding: 30px 20px;
    background: #fff;
    border-radius: 10px;
    /* position: absolute; */
    width: 100%;
    bottom: 0;
    margin-bottom: 0;
  }
  .aisde_input{
    position: static;
  }
  .aisde_input .flatpickr-calendar{
    /* top: 190px !important;
    position: absolute !important;
    left: 35px !important; */
		top: -290px !important;
		position: absolute !important;
		left: -40px !important;
  }
  body .css-2dewsr[data-tablecheck-chain-id],
  body .css-2dewsr[data-tablecheck-franchise-id],
  body .css-2dewsr[data-tablecheck-venue-id],
  body .css-2dewsr[data-tablecheck-shop-id]{
    --tableCheckPrimary: var(--color-red01)!important;
    --tableCheckCalendarHeaderBackground: var(--color-red01)!important;
  }
	body .css-2dewsr .tablecheck-submit-button{
				border-radius: 30px!important;
	}
	body .css-2dewsr .tablecheck-input-icon-wrapper{
		background: var(--color-brown01);
	}
  .css-2dewsr .tablecheck-input-icon-wrapper svg {
    color: var(--color-red01)!important;
  }


  /* .aisde_input input[type="text"]{
    background: var(--color-brown01);
    padding: 12px 45px;
    padding-right: 20px;
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 10px;
    border-radius: 5px;
    outline: none;
    border: none;
    line-height: 1.4;
  }

  .aside_flex{
    display: flex;
    gap:10px;
    margin-bottom:30px;
  }
  input.aside_check[type="checkbox"] {
    position: relative;
    height: 15px;
    width: 15px;
    margin-right:5px;
    display: inline-block;
    border-radius: 2px;
    background: #fff;
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg version='1.1' xmlns='http://www.w3.org/2000/svg' width='16' height='16'><rect fill='%23888' width='16' height='16'/><path fill='none' stroke='%23fff' stroke-width='2' d='M12.6,5.17l-5.66,5.66L3.4,7.29'/></svg>");
  }
  input.aside_check[type="checkbox"]:checked {
    border: none;
    background-image: url("data:image/svg+xml;utf8,<svg version='1.1' xmlns='http://www.w3.org/2000/svg' width='16' height='16'><rect fill='%23f00' width='16' height='16'/><path fill='none' stroke='%23fff' stroke-width='2' d='M12.6,5.17l-5.66,5.66L3.4,7.29'/></svg>");
      background-repeat: no-repeat;
      background-size: cover;
  }
  .aside_submit{
    background: var(--color-red01);
    padding:13px 30px;
    border-radius: 30px;
    line-height: 1;
    display: block;
    outline: none;
    color:#fff;
    border: none;
    text-align: center;
    width:100%;
  } */
	.reseerve_intro{
		text-align: center;
		color:var(--color-red01);
		font-size: 14px;
		line-height: 20px;
		font-weight: bold;
	}
  /*スクロールバー*/
  aside::-webkit-scrollbar{
      width: 0px;
			background: var(--color-brown01);

  }
  aside::-webkit-scrollbar-track{
    border-radius: 10px;
  }
  aside::-webkit-scrollbar-thumb{
    background-color: #ffffffaa;
    border: solid 1px #ffffffaa;
    border-radius: 10px;
  }
  aside::-webkit-scrollbar-track-piece{
    background: inherit;
  }

}
/* aside end */

/* header */
header{
  position: fixed;
  top:0;
  height: 90px;
  width:100%;
  z-index: 5000;
}
.header_sp{
  background: #ddd;
  padding: 20px;
  background: #fff;
  height: 100%;
  z-index: 5500;
}
.header_sp > div{
  display:flex;
  justify-content: space-between;
  z-index: 6000;
}
.head_sp_right{
  display:flex;
  gap:15px;
}
.head_sp_right a,
.head_sp_right img{
  display: block;
  width:24px;
  height: 24px;
}
.head_sp_right img.hmb_open,
.head_sp_right img.hmb_close{
  display: none;
}
.head_sp_right img.hmb_open.on,
.head_sp_right img.hmb_close.on{
  display: block;
}

.head_shop_name{
  font-size:12px;
  font-weight: 500;
}
.head_content{
  position: fixed;
  top:90px;
  left:0;
  width:100%;
  height: 0%;
  visibility: hidden;
  opacity: 0;
  min-height: 0vh;
  padding:0 10%;
  padding-top:30px;
  padding-bottom:80px;
  background: #fff;
  transition: .2s;
  z-index: 4500;
}
.head_content.on{
  width:100%;
  height: 100%;
  min-height: 100vh;
  visibility: visible;
  opacity: 1;
  transition: .2s;
  overflow: scroll;
}
.head_content nav{
  margin-bottom:40px;
}
.head_content nav a{
  display: block;
  width:fit-content;
  font-size: 16px;
  margin-bottom:5px;
  padding: 15px 40px;
  line-height: 1;
  font-weight: bold;
}
.head_content nav a.view{
  background: var(--color-brown02);
  border-radius: 30px;
  width: 100%;
  box-sizing: border-box;
  position: relative;
}
.head_content nav a.view:before{
  position: absolute;
  content:"";
  width:5px;
  height: 40%;
  top:0;
  bottom:0;
  left:23px;
  border-radius: 5px;
  margin: auto;
  background: var(--color-red01);

}
.head_content nav.nav_guide_none a.view{
background: unset;
}
.head_content nav.nav_guide_none a.view:before{
  content: none;
}
.head_sns{
  display: flex;
  justify-content: center;
  gap:20px;
  padding-bottom:30%;
}
.head_sns a,
.head_sns img{
  display: block;
}
.head_cta_btn p {
  text-align: center;
  font-size: 10px;
  font-weight: bold;
}
.head_cta_btn a {
  font-size: 16px;
  padding: 22px;
  line-height: 1;
  margin-bottom: 20px;
  letter-spacing: 0.1em;
}
.head_cta_btn a.btn_btn_web {
  background: var(--color-red01);
  padding-left: 55px;
}
.head_cta_btn a.btn_btn_now {
  padding: 12px 22px;
  padding-left: 55px;
}
.head_cta_btn a span {
  position: relative;
}
.head_cta_btn a span:before {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  left: -35px;
  margin: auto;
}
.head_content nav.fx_row{
  display: flex;
  justify-content: space-between;
  max-width: 260px;
  margin: 0 auto;
  margin-bottom: 20px;
}
.head_content nav.fx_row a{
  padding: 15px 0;
}
nav.head_nav_link{
  margin-bottom: 20px;
}
.nav_language_wrap{
      margin-bottom: 15px;
    padding: 0 20px 15px;
}
.lang_more_btn active{
      position: relative;
    display: block;
    margin-right: 0;
    padding: 10px 0;
    font-size: 13px;
    color: #000;
    border-bottom: 1px solid rgba(0,0,0,0.1);
}
.lang_more_btn::before{
    font-family: "icomoon";
    content: "\e953";
    left: 0;
}
.nav_language_wrap .lang_more_btn::after {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    right: 15px;
    display: block;
    font-size: 20px;
    font-family: "icomoon";
    content: "\e946";
    vertical-align: middle;
    opacity: 0.5;
}
.nav_language_wrap p.lang_more_btn {
    cursor: pointer;
    padding: 10px 0 10px 20px;
}
.nav_language_wrap .inner a{
    padding: 10px 0;
}
.nav_language_wrap .lang_more_btn.active::after {
    content: "\e952";
}
.nav_language_wrap ul {
    padding: 0 0 15px;
}
.nav_language_wrap .inner {
    display: none;
}
.nav_language_wrap p.lang_more_btn,
.nav_language_wrap .inner a {
    position: relative;
    display: block;
    margin-right: 0;
    font-size: 13px;
    color: #000;
    border-bottom: 1px solid rgba(0,0,0,0.1);
}
.nav_language_wrap .inner a::after {
    position: absolute;
    right: 20px;
    opacity: 0.5;
    font-size: 10px;
    font-family: "icomoon";
    content: "\e90b";
    vertical-align: middle;
}
@media screen and (min-width: 1020px) {
  header {
    background: #fff;
      height: 100%;
      width: 100%;
      right:0;
      max-width: 380px;
      overflow-y:hidden;
  }
  .header_sp{
    display: none;
  }
  .head_content{
    height: 100%;
    opacity: 1;
    visibility: visible;
    top:0;
    right: 0;
    padding-top:120px;
    padding-bottom:0;
    position: relative;
    overflow-y: scroll;
  }
  .head_content .btn_lang{
    position: absolute;
    top:60px;
    right:40px;
    cursor: pointer;
  }
  .head_cta_btn{
    display: block;
    margin-bottom:20px;
  }
  .head_cta_btn p{
    text-align: center;
    font-size: 10px;
    font-weight: bold;
  }
  .head_cta_btn a{
    font-size: 16px;
    padding: 22px;
    line-height: 1;
    margin-bottom: 20px;
    letter-spacing: 0.1em;
  }
  .head_cta_btn a span{
    position:relative;
  }
  .head_cta_btn a span:before{
    position: absolute;
    content:"";
    top:0;
    bottom:0;
    left:-35px;
    margin: auto;
  }
  .head_cta_btn a.btn_btn_web{
    background:var(--color-red01);
		padding-left:55px;
  }
  .btn_btn_web span:before{
    width:24px;
    height: 24px;
    background:url(/images_2024r/shop/common/asides/ico_bottom_cale.svg);
  }
  .head_cta_btn a.btn_btn_now{
    padding:12px 22px;
		padding-left:55px;
  }
  .btn_btn_now span:before{
    width: 24px;
    height: 23px;
    background:url(/images_2024r/shop/common/asides/ico_bottom_60min.svg);
  }

  .head_content::-webkit-scrollbar{
      width: 4px;
  }

  /*スクロールバーの軌道*/
  .head_content::-webkit-scrollbar-track{
    border-radius: 10px;
  }

  /*スクロールバーの動く部分*/
  .head_content::-webkit-scrollbar-thumb{
    background-color: var(--color-brown02);
    border: solid 1px var(--color-brown02);
    border-radius: 10px;
  }
  .head_content::-webkit-scrollbar-track-piece{
    background: inherit;
  }


}
/* header end */

/* language */
.lang_overlay{
  position: fixed;
  top:0;
  left:0;
  width:100%;
  height: 100%;
  visibility: hidden;
  opacity: 0;
  min-height: 0vh;
  padding:0 10%;
  padding-top:120px;
  background: #898989;
  transition: .2s;
  z-index: 8500;
}
.lang_overlay.on{
  width:100%;
  min-height: 100vh;
  visibility: visible;
  opacity: 1;
  transition: .2s;
  overflow: scroll;
}
.lang_content{
  width: 90%;
  max-width: 310px;
  border-radius: 10px;
  background: #fff;
  padding-bottom: 40px;
  position: absolute;
  top: -25%;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  height: fit-content;
}

.lang_content p,
.lang_content a{
  border-bottom:solid 1px #000;
  padding:15px 25px;
  font-weight: bold;
  display: block;
}
.lang_content p{
  padding-top:25px;
  text-align: center;
}
.lang_content a.lang_selected{
  background: #A58D5E;
  color:#fff;
}
.lang_close{
  position: absolute;
  right: 0px;
  top: -35px;
  cursor: pointer;
  display: block;
  width: 25px;
  height: 24px;
}
.lang_close::before,
.lang_close::after {
  content: "";
  position: absolute;
  top: 44%;
  left: 43%;
  width: 1px;
  height: 30px;
  background: #fff;
}
.lang_close::before {
  transform: translate(-50%,-50%) rotate(45deg);
}
.lang_close::after {
  transform: translate(-50%,-50%) rotate(-45deg);
}
/* language end */


/* breadCrumb */
#breadcrumbs{
  background: #F7F5EF;
  padding:5px;
  padding-left:20px;
  width:100%;
  font-size:10px;
}
#breadcrumbs > div{
  overflow: scroll;
  white-space: nowrap;
}
#breadcrumbs ol{
  display: flex;
  justify-content: left;
}
#breadcrumbs ol li{
  width: fit-content;
  margin: 0;
  margin-right:20px;
  position: relative;
}
#breadcrumbs ol li:last-of-type{
	pointer-events: none;
}
#breadcrumbs ol li:after{
  content:"";
  position: absolute;
  width: 4px;
  height: 4px;
  border: 1px solid;
  border-color: #000 #000 transparent transparent;
  transform: rotate(45deg);
  right:-10px;
  top:0;
  bottom:0;
  margin:auto;
}
#breadcrumbs ol li:last-of-type:after{
  content:none;
}
@media screen and (max-width: 1019px) {
  #breadcrumbs ol{
    overflow-x: scroll;
  }
  #breadcrumbs ol li{
    white-space: nowrap;
  }
}
@media screen and (min-width: 1020px) {
  #breadcrumbs {
    margin: auto;
    max-width: calc(100% - 760px);
    width: 100%;
  }
  #breadcrumbs > div {
    margin: auto;
    max-width:560px;
    overflow-x: scroll;
    overflow-y: auto;
    white-space: nowrap;
  }

  #breadcrumbs *::-webkit-scrollbar{
      height:2px;
  }
  /*スクロールバーの軌道*/
  #breadcrumbs *::-webkit-scrollbar-track{
    border-radius: 10px;
  }

  /*スクロールバーの動く部分*/
  #breadcrumbs *::-webkit-scrollbar-thumb{
    background-color: #000;
    border: solid 1px #000;
    border-radius: 10px;
  }
  #breadcrumbs *::-webkit-scrollbar-track-piece{
    background: inherit;
  }
}

@media screen and (min-width: 1020px) and (max-width: 1320px) {
	#breadcrumbs{
		max-width: 50vw;
		left: 25vw;
	}
}
/* breadcrumbs end */

/* footer */
footer{
  padding:30px 0 60px;
  color:#fff;
  text-align: center;
  background: var(--color-red01);
}
footer a{
  display: block;
}
.foot_shop{
  margin-bottom:20px;
}
.foot_link_list{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 40px auto 30px;
  max-width: 560px;
  padding: 0 5%;
  font-size: 10px;
  text-align: left;
}
.foot_copy{
  font-size:10px;
}
@media screen and (max-width: 1019px) {
  .foot_link_list{
    padding: 0 10%;
  }
  .foot_link_list li{
    line-height: 1.5;
  }
}
@media screen and (min-width: 1020px) {
    footer {
      margin: auto;
      max-width: calc(100% - 760px);
      width: 100%;
    }
    .foot_link_list{
      grid-template-columns: 1fr 1fr 1fr;
      place-content: center;
      text-align: left;
      gap: 0;
      padding-right: 0;
      margin: 40px auto 20px;
      font-size: 10px;
    }

}
@media screen and (min-width: 1020px) and (max-width: 1320px) {
	footer{
		max-width: 50vw;
		left: 25vw;
	}
}
/* footer end */

/* common_modal ※個々の調整は他のcssで */
.link_modal{
  cursor:pointer;
  display: block;
  width: fit-content;
}
.common_modal_overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  visibility: hidden;
  opacity: 0;
  min-height: 0vh;
  padding: 0 10%;
  padding-top: 120px;
  background: #898989;
  transition: .2s;
  z-index: 8500;
}
.common_modal_overlay.on {
  width: 100%;
  min-height: 100vh;
  visibility: visible;
  opacity: 0.9;
  transition: .2s;
  overflow: scroll;
}

.common_modal_content {
  width: 90%;
  max-width: fit-content;
  border-radius: 10px;
  background: #fff;
  position: fixed;
  top: -25%;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  height: fit-content;
  z-index: 9000;
  padding:10px;
  visibility: hidden;
  opacity: 0;
  transition: .2s;
}
.common_modal_content.on{
  visibility: visible;
  opacity: 1;
  transition: .2s;
  max-width: 90%;
}
.common_modal_close{
  position: absolute;
  right: 0px;
  top: -35px;
  cursor: pointer;
  display: block;
  width: 25px;
  height: 24px;
}
.common_modal_content::before,
.common_modal_content::after {
    content: "";
    cursor: pointer;
    position: absolute;
    top: -20px;
    left: auto;
    right: 10px;
    width: 1px;
    height: 30px;
    background: #fff;
}
.common_modal_content::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.common_modal_content::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* common_modal end */


/* bottom_cta */
.bottom_cta{
  width:100%;
  position: fixed;
  bottom:10px;
  font-size:14px;
  text-align: center;
  padding:0px 10px;
  z-index: 7000;
}
.bottom_cta > .flex{
  display: flex;
  gap:10px;
  align-items: center;
	justify-content: center;
}

.bottom_qa,
.bottom_reserve{
  line-height: 1;
  display: block;
  padding:10px 0;
  max-width: 150px;
  width: 100%;
  background: #fff;
  border: solid 2px #000;
  border-radius: 5px;
}
.bottom_reserve{
  border: solid 2px 000;
  background: var(--color-red01);
  color:#fff;
}
a.link_reserve{
  opacity: 1;
}
.link_reserve{
  line-height: 1;
  display: block;
  padding:10px 0;
  max-width: 150px;
  width: 100%;
  background: #fff;
  border: solid 2px #000;
  border-radius: 5px;
  border: solid 2px 000;
  background: var(--color-red01);
  color:#fff;
}
#to_top{
  margin-left:5px;
}
.bottom_cta > div img{
  display: block;
}


.bottom_cta_content{
  position: fixed;
  bottom:0;
  left:0;
  width:100%;
  height: 0%;
  visibility: hidden;
  opacity: 0;
  min-height: 0vh;
  padding:0 10%;
  background: #F7F5EF;
  transition: .2s;
  z-index: 6000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bottom_cta_content.on{
  width:100%;
  height: 100%;
  min-height: 100vh;
  visibility: visible;
  opacity: 1;
  transition: .2s;
  overflow: scroll;
}
.bottom_cta_content > div{
  width:100%;
}
.bottom_cta_content p{
  margin-bottom:10px;
  font-weight:bold;
}
.bottom_cta_content a{
  font-size: 16px;
  padding: 22px;
  line-height: 1;
  margin-bottom: 40px;
  letter-spacing: 0.1em;
}
.bottom_cta_content a span{
  position:relative;
}
.bottom_cta_content a span:before{
  position: absolute;
  content:"";
  top:0;
  bottom:0;
  left:-35px;
  margin: auto;
}
.bottom_cta_content a.btn_btn_web{
  background:var(--color-red01);
}
.btn_btn_web span:before{
  width:24px;
  height: 24px;
  background:url(/images_2024r/shop/common/asides/ico_bottom_cale.svg);
}
.btn_btn_tel span:before{
  width: 20px;
  height: 24px;
  background:url(/images_2024r/shop/common/asides/ico_bottom_sp.svg);
}
.btn_btn_now span:before{
  width: 24px;
  height: 23px;
  background:url(/images_2024r/shop/common/asides/ico_bottom_60min.svg);
}
.btm_reserve_close{
  position: absolute;
  bottom:4%;
  padding-left:30px;
  right:0;
  left:0;
  margin: auto;
}
.btm_reserve_close::before,
.btm_reserve_close::after {
  content: "";
  position: absolute;
  top: 44%;
  left: 43%;
  width: 2px;
  height: 22px;
  background: #000;
}
.btm_reserve_close::before {
  transform: translate(-50%,-50%) rotate(45deg);
}
.btm_reserve_close::after {
  transform: translate(-50%,-50%) rotate(-45deg);
}
@media screen and (min-width: 1020px) {
  .bottom_cta{
    display: none;
  }
}
/* bottom_cta end */

/* タブレット調整 */
@media screen and (min-width: 1020px) and (max-width: 1320px) {
	header{
		width: 25vw;
	}
	.head_content {
		padding: 0 2vw;
	}
	aside {
    max-width: 25vw;
    padding: 60px 2vw 60px;
  }
	main {
		max-width: 50vw;
		left: 25vw;
	}
}
/* タブレット調整 end */

/* 料金表 共通 */
.tbl_package_price th,
.table_drink.col_three th {
  width: 22%;
}

.tbl_package_price td{
  width: 39%;
}

.tbl_package_half td,
.table_drink.col_three td  {
  width: 50%;
}

.tbl_price_3col th,
.tbl_price_3col td {
  width: 33%;
}

.tbl_package_price th:not(.tabel_wrap th.table_ttl),
.tbl_package_price td,
.tabel_wrap .price_td,
.opt_price {
  letter-spacing: 0.5px;
}

.tab_cont .tabel_wrap .price_td:not(.table_drink .price_td) {
  font-size: 28px;
}

.table_drink th {
  width: 68%;
}

.table_drink td,
#nig_pack.tab_cont_desc .tabel_wrap .table_drink .price_td:last-of-type {
  width: 32%;
}

#nig_pack.tab_cont_desc .tabel_wrap .table_drink.col2 th,
#nig_pack.tab_cont_desc .tabel_wrap .table_drink.col2 .price_td:last-of-type{
  width: 50%;
}

#nig_pack.tab_cont_desc .tabel_wrap .table_drink.col2 .price_td:last-of-type{
  font-size: 20px;
}

#nig_pack.tab_cont_desc .tabel_wrap .table_drink.col2 th:not(.table_ttl){
  font-size: 11px;
}

.tabel_wrap table.corse_food td {
  width: 36%;
}

.tabel_wrap table.corse_food td.price_td {
  width: 74%;
}

.tbl_drink_nomiho .drink_kinds {
  width: 60%;
}

.strike {
  position: relative;
  font-size: 14px;
  font-weight: normal;
}

.strike::after {
  content: '';
  transform: rotate(7deg) translateY(-50%);
  width: 100%;
  border-top: 2px solid #f00;
  position: absolute;
  top: 50%;
  left: 0;
}

@media screen and(max-width: 768px) {
  .tbl_price_3col td.price_td {
    width: 29%;
  }
}
/* 料金表 共通 end */

/* シミュレーターモーダル */
.btn_sim{
  max-width: fit-content;
  background: var(--color-brown03);
  display: block;
  margin:auto;
  position: relative;
  font-size: 14px;
  text-align: center;
  color: #fff;
  border-radius: 30px;
  cursor: pointer;
  display: block;
  width: fit-content;
  padding: 8px 50px;
  padding-left:65px;
	width: 100%;
	margin: 10px auto;
	max-width: 310px;
}
.btn_sim:before{
  position: absolute;
  content: "";
  top: -2px;
  bottom: 0px;
  left: 48px;
  margin: auto;
  width: 15px;
  height: 15px;
  background: url(/images_2024r/shop/common/price/ico_calc.svg) no-repeat;
  background-size: cover;
}
.price_base > p.btn_sim{
  margin-bottom:15px;
}
 #sim_modal{
   width:fit-content;
   height: 90%;
   top: 1px;
   width:500px;
   padding-right: 0px;
   padding-left: 0;
	 padding:0;
	 	 border-radius: 10px;
 }
 #sim_modal iframe{
   width:100%;
   margin:auto;
	 border-radius: 10px;
 }

 @media min-width(756px){
   #sim_modal{
     width:500px;
   }
   .btn_sim:before{
     top: 0px;
     bottom: 0px;
     left: 50px;
     margin: auto;
     width: 15px;
     height: 15px;
   }
 }
/* シミュレーターモーダル end*/


/* 競合回避用 dammy記述  */

/* dammy */

/* 競合回避用 dammy記述 end */
