/* ----------------------------------------------------------------------------
  
  店舗ページ共通パーツ
	
---------------------------------------------------------------------------- */
body{
  padding-bottom: 68px;
}
/* ----------------------------------------------------------------------------
  店舗トップへ戻る
---------------------------------------------------------------------------- */
.link-shoptop{
  display: flex;
  align-items: center;
  background-color: var(--layer-color);
  padding: var(--padding-box--M);
}
.link-shoptop img{
  margin: 0 20px 0 0;
}
.link-shoptop-info .area,
.link-shoptop-info h1 + p{
  margin: 10px 0 0 0;
}
/* ----------------------------------------------------------------------------
  フロートCVメニュー
---------------------------------------------------------------------------- */
.float-cv-menu{
  display: flex;
  align-items: center;
  background-color: var(--white-color);
  box-shadow: var(--shadow--L);
  padding: 12px;
  width: calc(100% - 24px);
  position: fixed;
  bottom: 0;
  z-index: 11;
}
.float-cv-menu-item{
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: var(--margin-raw--M);
  color: var(--darkgray-color);
  font-size: var(--text--XXS);
}
.float-cv-menu-item.active{
  color: var(--secondary-color);
}
.float-cv-menu-item [class*="icon-"]{
  margin: 0 0 4px 0;
}
.float-cv-menu .reserve-button-wrapper{
  border-radius: var(--borderradius-button);
  overflow: hidden;
  flex: 1;
  display: flex;
}
.float-cv-menu .button--primary{
  border-radius: 0;
  margin-left: 1px;
  padding: var(--padding-side--XS);
  flex: 1;
}
/* ozmall,ぐるなび */
.float-cv-menu.reserve-external{
  padding: 12px 12px 24px;
}
.float-cv-menu.reserve-external .reserve-external-text{
  position: absolute;
  right: 12px;
  bottom: 10px;
}
/* ----------------------------------------------------------------------------
  店舗共通footer
---------------------------------------------------------------------------- */
.footer--shop-info{
  padding: var(--padding-box--M);
  border-bottom: 1px solid var(--layer-color);
}
.footer--shop-info > * + * {
  margin: 10px 0 0;
}
.list--textbox-gray-shop-footer li p:first-child,
.list--textbox-gray-shop-footer li h2:first-child{
  width: 112px;
}
.list--textbox-gray-shop-footer li p:last-child,
.list--textbox-gray-shop-footer li a:last-child{
  flex: 1;
  word-break: break-all;
  line-height: var(--note-linespacing);
}
.list--textbox-gray-shop-footer li.payment-info p:last-child{
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.list--textbox-gray-shop-footer li p:last-child .text-inner,
.list--textbox-gray-shop-footer li a:last-child .text-inner{
  display: inline-block;
}
.footer--shop-info .list--textbox-follow img,
.footer--shop-info [class*="list--textbox"] [class*="boxtext--flex"] img{
  width: auto;
  height: 20px;
}
.list--box--language li [class*="icon-"]{
  color: var(--gray-color);
}
.list--textbox-share [class*="icon-"]{
  color: var(--black-color);
}
.list--textbox-menu .boxtext--flex-spacebetween,
.list--textbox-language .boxtext--flex-spacebetween{
  color: var(--secondary-color);
}
.footer--shop-info [class*="list--textbox"] .boxtext--map-link{
  padding: 0;
}
.footer--shop-info [class*="list--textbox"] .boxtext--map-link a{
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--secondary-color);
  padding: var(--padding-box--S);
  width: 100%;
}
.footer--shop-info .logo-savorjapan{
  width: auto;
  height: 20px;
}
/* エントリープラン申し込み導線 */
.footer--shop-info.to-owner{
  background-color: var(--layer-color);
}
.footer--shop-info.to-owner .text-link-secondary{
  justify-content: flex-end;
}
/* フッターレコメンドリスト */
.footer--shop-info.recommend,
.footer--shop-info.ranking,
.footer--shop-info.discount-course{
  padding: 0;
}
li.recomend-cst-card{
  border-radius: var(--borderradius-card);
}
li.recomend-cst-card .summary-chef, 
li.recomend-cst-card .summary-user{
  color: var(--secondary-color);
}
a.favorite-button.favorite--on{
  color: var(--secondary-color);
}
/* フッターランキングリスト */
.ranking-cst-card,
.course-discount-card{
  width: 200px;
  min-width: 200px;
  border-radius: var(--box-borderradius);
  overflow: hidden;
  background-color: var(--white-color);
  box-shadow: 0px 4px 10px rgb(0 0 0 / 12%);
  border-radius: var(--borderradius-card);
  position: relative;
}
.ranking-cst-card + .ranking-cst-card,
.course-discount-card + .course-discount-card{
  margin-left: 10px;
}
.ranking-cst-card .summary-chef,
.ranking-cst-card .summary-user{
  color: var(--secondary-color);
}
.ranking-cst-card .shop-img,
.course-discount-card .course-img{
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  object-fit: cover;
  display: flex;
  justify-content: center;
  align-items: center;
}
.ranking-cst-card .shop-info-wrapper,
.course-discount-card .shop-info-wrapper{
  padding: 12px;
  box-sizing: border-box;
  height: calc(100% - 133px);
  display: flex;
  flex-direction: column;
}
.ranking-cst-card .shop-name,
.course-discount-card .shop-name{
  color: var(--black-color);
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  white-space: break-spaces;
  height: 37px;
}
.ranking-cst-card .shop-info,
.course-discount-card .shop-info{
  margin: 4px 0 0;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  white-space: break-spaces;
}
.ranking-cst-card .shop-yosan{
  text-overflow: clip;
  white-space: normal;
}
.ranking-cst-card .shop-info .shop-price{
  display: inline-flex;
  align-items: baseline;
}
.ranking-cst-card .shop-info .shop-price + .shop-price{
  margin-left: 10px;
}
.ranking-cst-card .shop-info .shop-price .icon-sun::before,
.ranking-cst-card .shop-info .shop-price .icon-moon::before,
.ranking-cst-card .shop-info .shop-price .icon-allday::before{
  font-size: 10px;
  width: 10px;
  height: 10px;
}
.ranking-cst-card .summary-wrapper{
  margin: 12px 0 0;
  color: var(--primary-color);
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}
.ranking-cst-card .summary-chef + .summary-user{
  margin-left: 8px;
}
.ranking-cst-card .shop-info .shop-price .icon-sun,
.ranking-cst-card .shop-info .shop-price .icon-moon,
.ranking-cst-card .shop-info .shop-price .icon-allday,
.ranking-cst-card .summary-chef .icon-cook,
.ranking-cst-card .summary-user .icon-thumbsup{
  margin-right: 4px;
  font-size:12px;
}
.ranking-cst-card .shop-info .shop-price .icon-sun,
.ranking-cst-card .shop-info .shop-price .icon-moon,
.ranking-cst-card .shop-info .shop-price .icon-allday{
  color: var(--gray-color);
}
.ranking-cst-card .summary-chef .icon-cook::before,
.ranking-cst-card .summary-user .icon-thumbsup::before{
  font-size: 14px;
}
.footer--shop-info.ranking [class*="title-box"],
.footer--shop-info.discount-course [class*="title-box"]{
  margin: 20px 20px 0;
}
.footer--shop-info.ranking [class*="button--"],
.footer--shop-info.discount-course [class*="button--"]{
  margin: 0 20px 20px;
}
.ranking-badge{
  position: absolute;
  top: 4px;
  left: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--white-color);
  border-radius: var(--borderradius-button);
  box-shadow: var(--shadow--S);
  color: var(--secondary-color);
  width: 32px;
  height: 32px;
}
/* フッター割引コースリスト */
.course-discount-card .shop-info .price{
  color: var(--secondary-color);
}
.course-discount-card .shop-info .price-discount{
  background-color: var(--secondary-color);
  border-radius: 4px;
  box-sizing: border-box;
  color: var(--white-color);
  font-size: 10px;
  font-weight: normal;
  margin-left: 10px;
  padding: 1px 6px;
}
/* 移転閉店 */
.parts--relocation {
  display: flex;
  align-items: stretch;
  border-radius: var(--borderradius-button);
  overflow: hidden;
}
.parts--relocation>p {
  background-color: var(--error-color);
  color: var(--white-color);
  padding: 10px;
}
.parts--relocation .relocation-title {
  display: flex;
  align-items: center;
}
.parts--relocation .relocation-text {
  background-color: var(--error-bg-color);
  color: var(--gray-color);
  flex: 1;
}
/* ----------------------------------------------------------------------------
  ナビゲーション
---------------------------------------------------------------------------- */
/* 店舗メインナビゲーション */
.shop-navi{
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: var(--white-color);
  padding: var(--padding-side--XXS);
}
.shop-navi-item{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  color: var(--darkgray-color);
  font-size: var(--text--XS);
}
.shop-navi .shop-navi-item a,
.shop-navi .shop-navi-item p,
.shop-navi .shop-navi-item h3{
  width: 100%;
  height: 44px;
}
.shop-navi-item a,
.shop-navi-item p,
.shop-navi-item h3 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--darkgray-color);
  font-size: var(--text--XS);
  margin: 0;
  padding: 0;
  font-weight: normal;
}
.shop-navi-item.select p,
.shop-navi-item.select h3{
  color: var(--secondary-color);
  font-weight: bold;
}
.shop-navi .shop-navi-item:only-child{
  width: 100%;
}
.shop-navi .shop-navi-item:nth-last-child(2) ~ li, 
.shop-navi .shop-navi-item:nth-last-child(2){
  width: calc(100% / 2);
}
.shop-navi .shop-navi-item:nth-last-child(3) ~ li, 
.shop-navi .shop-navi-item:nth-last-child(3){
  width: calc(100% / 3);
}
.shop-navi .shop-navi-item:nth-last-child(4) ~ li, 
.shop-navi .shop-navi-item:nth-last-child(4){
  width: calc(100% / 4);
}
.shop-navi .shop-navi-item:nth-last-child(5) ~ li, 
.shop-navi .shop-navi-item:nth-last-child(5){
  width: calc(100% / 5);
}
.shop-navi .shop-navi-item:nth-last-child(6) ~ li, 
.shop-navi .shop-navi-item:nth-last-child(6){
  width: calc(100% / 6);
}
.shop-navi-item .count{
  color: var(--gray-color);
  font-size: var(--text--XXS);
  margin: var(--margin-column--XXS);
}
.shop-navi .shop-navi-item.select{
  border-bottom: 2px solid var(--secondary-color);
  font-weight: bold;
}
.shop-navi .shop-navi-item.select,
.shop-navi .shop-navi-item.select .count{
  color: var(--secondary-color);
}
.shop-navi .shop-navi-item, 
.shop-navi-localmenu .shop-navi-item{
  height: 44px;
}
/* 店舗ローカルナビゲーション */
[class*="shop-navi-local"]{
  display: flex;
  align-items: center;
}
[class*="shop-navi-local"] .shop-navi-item{
  background-color: var(--white-color);
  border-radius: var(--borderradius-button);
  box-shadow: var(--shadow--S);
  margin: var(--margin-raw--XS);
  width: max-content;
}
.shop-navi-localmenu p,
.shop-navi-localmenu h3,
.shop-navi-localmenu a{
  padding: 8px 12px;
}
[class*="shop-navi-local"] .shop-navi-item.select{
  box-shadow: none;
  font-weight: bold;
}
/* 店舗ローカルナビゲーション_0件表示 */
[class*="shop-navi-local"] .shop-navi-item.disabled{
  background-color: var(--palewhite-color);
  box-shadow: none;
}
[class*="shop-navi-local"] .shop-navi-item.disabled p,
[class*="shop-navi-local"] .shop-navi-item.disabled h3,
[class*="shop-navi-local"] .shop-navi-item.disabled .count{
  color: var(--lightgray-color);
}
/* 店舗ローカルナビゲーション_選択時 */
[class*="shop-navi-local"] .shop-navi-item.select p,
[class*="shop-navi-local"] .shop-navi-item.select h3,
[class*="shop-navi-local"] .shop-navi-item.select p.count{
  color: var(--black-color);
  font-weight: bold;
}
/* 店舗ローカルナビゲーション_シェフ */
.shop-navi-localchef{
  align-items: stretch;
}
.shop-navi-localchef .shop-navi-item{
  margin: var(--margin-raw--S);
  justify-content: flex-start;
}
.shop-navi-localchef .shop-navi-item p,
.shop-navi-localchef .shop-navi-item a{
  align-items: flex-start;
  color: var(--darkgray-color);
  font-weight: bold;
  padding: var(--padding-box--S);
}
.shop-navi-localchef .shop-navi-item a{
  width: 100px;
  line-height: var(--linespacing);
  box-sizing: border-box;
  white-space: normal;
}
.shop-navi-localchef .shop-navi-item .category{
  font-size: var(--text--XS);
  font-weight: normal;
  margin: var(--margin-column--XXS);
}
.shop-navi-localchef .shop-navi-item img{
  margin: 0 0 10px 0;
}

/* ----------------------------------------------------------------------------
  キャンペーンヘッダー
---------------------------------------------------------------------------- */
.parts--campaign{
  display: flex;
  align-items: center;
  padding: var(--padding-box--S);
  background-color: var(--primary-bg-color);
  color: var(--primary-color);
}
.parts--campaign p{
  flex: 1;
  padding: var(--padding-side--XS);
  color: var(--primary-color);
}

/* ----------------------------------------------------------------------------
  TOPダイジェスト （予算・定休日）
---------------------------------------------------------------------------- */
.parts--digest{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.parts--digest p{
  display: flex;
  align-items: center;
}
.parts--digest [class*="icon-"]{
  font-size: var(--title--S);
  margin: var(--margin-raw--XS);
}
.parts--digest p + p{
  margin: var(--margin-column--XS);
}
.parts--digest p span + span[class*="icon-"]{
  margin: 0 4px 0 10px;
}
/* 地図導線 */
.map-link{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: url(/img/sp/map.svg) no-repeat center / 44px 44px;
  border-radius: var(--borderradius-button);
  box-shadow: var(--shadow--S);
  color: var(--secondary-color);
  min-width: 44px;
  width: 44px;
  height: 44px;
  margin: 0 0 0 10px;
}
.map-link [class*="icon-"]{
  margin: 0;
  font-size: 20px;
}

/* ----------------------------------------------------------------------------
  モノサシ情報
---------------------------------------------------------------------------- */
.parts--monosashi{
  display: flex;
  align-items: center;
  background-color: var(--secondary-bg-color);
  border-radius: var(--borderradius-button);
  padding: var(--padding-side--XS);
  height: 32px;
  gap: 10px;
  position: relative;
}
.parts--monosashi [class*="parts--monosashi-"]{
  display: flex;
  align-items: center;
  color: var(--secondary-color);
}
/* .parts--monosashi .parts--monosashi-bookmark{
  color: var(--gray-color);
} */
.parts--monosashi [class*="parts--monosashi-"] [class*="icon-"]{
  font-size: 16px;
  margin: var(--margin-raw--XS);
}
.parts--monosashi .parts--monosashi-scene{
  background-color: var(--white-color);
  border-radius: var(--borderradius-button);
  box-shadow: var(--shadow--S);
  padding: 4px 8px;
  position: absolute;
  right: 4px;
}
/* ----------------------------------------------------------------------------
  タグ
---------------------------------------------------------------------------- */
[class*="parts--tag-"]{
  display: inline-flex;
  align-items: center;
  background-color: var(--white-color);
  border-radius: var(--borderradius-button);
  font-size: var(--text--XS);
  color: var(--gray-color);
  padding: var(--padding-side--XXS);
  height: 28px;
}
[class*="parts--tag-"] [class*="icon-"]{
  font-size: var(--title--S);
  margin: var(--margin-raw--XS);
}
/* ポイントタグ */
.parts--tag-point .icon-point{
  color: var(--secondary-color);
}
/* コースタグ（人気No.1・オススメ) */
.parts--tag-course{
  background-color: var(--secondary-bg-color);
  color: var(--secondary-color);
}
/* シーンタグ */
.parts--tag-scene{
  background-color: var(--layer-color);
  color: var(--darkgray-color);
}
/* ----------------------------------------------------------------------------
  アップデートテキスト（件数・更新日）
---------------------------------------------------------------------------- */
.parts--update{
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.parts--update p:last-child{
  color: var(--gray-color);
}
/* ----------------------------------------------------------------------------
  予約カレンダー
---------------------------------------------------------------------------- */
.reserve-calendar-wrapper{
  padding: 10px 20px 10px;
  margin-left: -20px;
  width: calc(100% + 40px);
  box-sizing: border-box;
}
/* .reserve-calendar{
  display: flex;
  border-radius: var(--borderradius-button);
  filter: drop-shadow(0px 2px 10px rgba(0, 0, 0, 0.08));
} */
.reserve-calendar{
  display: grid;
  grid-template-columns: repeat(14, 44px);
  column-gap: 1px;
  filter: drop-shadow(0px 2px 10px rgba(0, 0, 0, 0.08));
}
.pup-text{
  color: var(--primary-color);
  margin: var(--margin-column--XS);
}
/* .reserve-calendar li{
  background-color: var(--white-color);
} */
/* .reserve-calendar li + li{
  border-left: 1px solid var(--layer-color);
} */
.reserve-calendar [class*="reserve-calendar-item"]:first-child{
  border-radius: 8px 0 0 8px;
}
.reserve-calendar [class*="reserve-calendar-item"]:last-child{
  border-radius: 0 8px 8px 0;
}
/* [class*="reserve-calendar-item"]{
  display: flex;
  align-items: center;
  flex-direction: column;
  padding: var(--padding-vertical--XXS);
  text-align: center;
  width: 44px;
  min-width: 44px;
} */
[class*="reserve-calendar-item"]{
  background-color: var(--white-color);
  display: grid;
  row-gap: 5px;
  grid-row: span 4;
  grid-template-rows: subgrid;
  justify-content: center;
  text-align: center;
  padding: var(--padding-vertical--XXS);
}
/* [class*="reserve-calendar-item"] + [class*="reserve-calendar-item"]{
  margin-left: 1px;
} */
/* [class*="reserve-calendar-item"] .day{
  min-height: 32px;
} */
/* [class*="reserve-calendar-item"] .pup,
[class*="reserve-calendar-item"] .status{
  margin: 4px 0 0;
} */
/* 予約可能 */
[class*="reserve-calendar-item"] .status{
  color: var(--primary-color);
  line-height: 20px;
}
/* 予約不可（空席なし・休日） */
.reserve-calendar-item-disabled .status,
.reserve-calendar-item-closed .status{
  color: var(--gray-color);
  font-size: var(--text--S);
}
.reserve-calendar-item-closed .status,
.reserve-calendar-item-tel .status{
  font-size: var(--text--S);
  line-height: 132%;
}
/* pup適用日 */
[class*="reserve-calendar-item"] .pup{
  color: var(--primary-color);
}
/* ----------------------------------------------------------------------------
  カード
---------------------------------------------------------------------------- */
/* カード共通 */
[class*="card--"],
[class*="card--"] .info-wrapper{
  box-sizing: border-box;
}
/* メニュー・コース・レコメンド・レビュー・ニュース・シェフ */
.card--menu,
.card--course,
.card--news{
  display: flex;
  align-items: flex-start;
}
.card--chef, 
.card--user,
.card--shop-mini{
  display: flex;
  align-items: center;
  background-color: var(--white-color);
  border-radius: var(--borderradius-card);
  box-shadow: var(--shadow--S);
  padding: var(--padding-box--S);
  margin: var(--margin-column--XS);
}
.card--user img,
.card--shop-mini img{
  margin: var(--margin-raw--S);
}
.card--chef .chef-name{
  flex: 1;
  margin: var(--margin-raw--S);
}
.card--chef .info-wrapper p + p,
.card--chef .info-wrapper p + h3,
.card--chef .info-wrapper h3 + p,
.card--user .info-wrapper p + p{
  margin: var(--margin-column--XXS);
}
.card--chef .info-wrapper p + h3.chef-name{
  margin-top: 4px;
  margin-right: 10px;
  margin-bottom: 0;
  margin-left: 0;
}
.card--shop-mini .info-wrapper p + p,
.card--shop-mini .info-wrapper h3 + p,
.card--shop-mini .info-wrapper p + h3{
  margin: var(--margin-column--XS);
}
.card--shop-mini .info-wrapper p.shop-summary + p.shop-summary{
  margin: var(--margin-column--XXS);
}
.card--course,
.card--recommend,
.card--review{
  background-color: var(--white-color);
  border-radius: var(--borderradius-card);
  box-shadow: var(--shadow--M);
  padding: var(--padding-box--M);
}
a.card--recommend{
  display: block;
}
.card--news{
  background-color: var(--white-color);
  border-radius: var(--borderradius-card);
  box-shadow: var(--shadow--S);
  padding: var(--padding-box--M);
}
.card--menu img,
.card--course img,
.card--news img{
  margin: var(--margin-raw--M);
}
.card--recommend .img--rectangle{
  border-radius: var(--borderradius-card);
}
.card--recommend [class*="icon-"]{
  color: var(--secondary-color);
}
.card--recommend .info-wrapper p.shop-summary [class*="icon-"]{
  color: var(--darkgray-color);
  font-size: 12px;
  margin-right: 4px;
}
.card--recommend [class*="card--"] ~ *,
.card--review [class*="card--"] ~ *{
  margin: var(--margin-column--XS);
}
.card--recommend [class*="card--"] + *,
.card--review [class*="card--"] + *{
  margin: var(--margin-column--M);
}
[class*="card--"] .info-wrapper{
  width: 100%;
}
.card--menu p + p,
.card--menu h2 + p,
.card--menu h3 + p,
.card--menu p + h2,
.card--menu p + h3,
.card--course p + p,
.card--course h2 + p,
.card--course h3 + p,
.card--course p + h2,
.card--course p + h3,
.card--news p + p,
.card--news h2 + p,
.card--news h3 + p,
.card--news p + h2,
.card--news p + h3{
  margin: var(--margin-column--XS);
}
.card--menu .price,
.card--course .price{
  color: var(--primary-color);
}
.card--menu .price .discount,
.card--course .price .discount{
  text-decoration: line-through;
}
.action-button-wrapper{
  display: flex;
  justify-content: start;
  margin: var(--margin-column--XS);
}
.card--course .action-button-wrapper,
.card--menu .action-button-wrapper{
  justify-content: flex-end;
}
.action-button-wrapper [class*="button--"] + [class*="button--"]{
  margin-left: 10px;
}
/* 口コミカード 投稿写真 */
.card--review .list--upload-photo{
  box-sizing: border-box;
  margin-left: -20px;
  padding: 10px 20px 0;
  width: calc(100% + 40px);
}
.upload-photo{
  margin: var(--margin-raw--S);
}
.card--news .date{
  display: flex;
  align-items: center;
}
.card--news .date [class*="icon-"]{
  font-size: 16px;
  margin: var(--margin-raw--S);
}
/* 席 */
[class*="card--seat"]{
  background-color: var(--white-color);
  border-radius: var(--borderradius-card);
  box-shadow: var(--shadow--S);
  overflow: hidden;
}
[class*="card--seat"] .info-wrapper{
  padding: var(--padding-box--M);
}
[class*="card--seat"] .info-wrapper * + *{
  margin: var(--margin-column--XS);
}
/* ミニマムカード */
.card--mini{
  background-color: var(--white-color);
  border-radius: var(--borderradius-card);
  box-shadow: var(--shadow--S);
  overflow: hidden;
}
.card--mini .type{
  margin: 12px;
  color: var(--darkgray-color);
}
.card--mini [class*="img--rectangle"] ~ p{
  padding: var(--padding-side--S);
}
.card--mini .info-wrapper{
  padding: var(--padding-box--S);
}
.card--mini .info-wrapper > p + p,
.card--mini .info-wrapper > h3 + p,
.card--mini .info-wrapper > p + h3{
  margin: var(--margin-column--XXS);
}
.card--mini .info-wrapper .price,
.card--mini .info-wrapper .date{
  margin: var(--margin-column--XS);
}
.card--mini .info-wrapper .date{
  color: var(--gray-color);
}
/* クーポン */
[class*="card--coupon--"]{
  border: 1px solid var(--secondary-color);
  border-radius: var(--borderradius-button);
}
.card--coupon--S{
  display: flex;
  align-items: center;
  background-color: var(--secondary-bg-color);
  color: var(--secondary-color);
  padding: var(--padding-side--XS);
  position: relative;
  overflow: hidden;
  height: 44px;
}
.card--coupon--M{
  background-color: var(--white-color);
  box-shadow: var(--shadow--M);
}
.card--coupon--M .card--coupon--S{
  border-radius: 8px 8px 0 0;
  border: none;
  position: relative;
}
.card--coupon--M .card--coupon--S::before {
  content: "";
  background-image: linear-gradient(to right, var(--secondary-color), var(--secondary-color) 4px, transparent 4px, transparent 8px);
  background-size: 8px 1px;
  background-repeat: repeat-x;
  position: absolute;
  top: 43px;
  bottom: 0;
  left: 0;
  right: 0;
}
.card--coupon--M .info-wrapper{
  padding: var(--padding-box--S);
}
.card--coupon--M .info-wrapper .text--XS{
  color: var(--gray-color);
}
.card--coupon--M .info-wrapper * + *{
  margin: var(--margin-column--XS);
}
.card--coupon--S .icon-gift{
  margin: var(--margin-raw--S);
}
.card--coupon--S p{
  color: var(--secondary-color);
}
.card--coupon--S::after{
  content: "";
  position: absolute;
  top: 6px;
  right: -10px;
  height: 10px;
  width: 40px;
  background-color: var(--secondary-color);
  transform: rotate(45deg);
}
.card--coupon--M [class*="textbox--"]{
  color: var(--secondary-color);
}
.card--coupon--M [class*="textbox--"] span{
  color: var(--black-color);
}
.card--coupon--M [class*="textbox--"] a{
  margin: 0 0 0 10px;
}
/* 店舗 */
.card--shop{
  background-color: var(--white-color);
  border-radius: var(--borderradius-card);
  box-shadow: var(--shadow--M);
  overflow: hidden;
}
.card--shop .info-wrapper{
  padding: var(--padding-box--S);
}
.card--shop .info-wrapper p + p,
.card--shop .info-wrapper h3 + p,
.card--shop .info-wrapper p + h3{
  margin: var(--margin-column--XXS);
}
/* ----------------------------------------------------------------------------
  イメージ_キャプション表示あり
---------------------------------------------------------------------------- */
.img-caption{
  border-radius: var(--borderradius-card);
  overflow: hidden;
}
.img-caption figcaption{
  background-color: var(--layer-color);
  padding: var(--padding-box--S);
}
/* ----------------------------------------------------------------------------
  リスト
---------------------------------------------------------------------------- */
/* リスト_タグ */
.list--tag.scrollx{
  display: flex;
  flex-wrap: nowrap;
}
.list--tag.scrollx li{
  margin: var(--margin-raw--XS);
}
/* リスト_テキストボックス */
[class*="list--textbox"]{
  border-radius: var(--borderradius-button);
  box-shadow: var(--shadow--S);
  overflow: hidden;
}
[class*="list--textbox"] [class*="boxtext--"]{
  background-color: var(--white-color);
  font-size: var(--text--S);
  padding: var(--padding-box--S);
}
[class*="list--textbox-gray"]{
  box-shadow: none;
}
[class*="list--textbox-gray"] [class*="boxtext--"]{
  background-color: var(--layer-color);
}
[class*="list--textbox"] [class*="boxtext--flex"]{
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
[class*="list--textbox"] [class*="boxtext--flex-start"]{
  justify-content: flex-start;
}
[class*="list--textbox"] [class*="boxtext--flex-spacebetween"]{
  justify-content: space-between;
}
[class*="list--textbox"] [class*="boxtext--flex-spacebetween"] > p,
[class*="list--textbox"] [class*="boxtext--flex-spacebetween"] > h2{
  word-break: break-all;
  line-height: var(--note-linespacing);
  margin: 0;
  padding: 0;
  font-weight: normal;
  font-size: inherit;
}
[class*="list--textbox"] [class*="boxtext--flex-spacebetween"] > p[class*="title--"],
[class*="list--textbox"] [class*="boxtext--flex-spacebetween"] > h2[class*="title--"],
[class*="list--textbox"] [class*="boxtext--flex-spacebetween"] > h3[class*="title--"]{
  font-weight: bold;
}
[class*="list--textbox"] [class*="boxtext--"] + [class*="boxtext--"]{
  border-top: 1px solid var(--layer-color);
}
[class*="list--textbox-gray"] [class*="boxtext--"] + [class*="boxtext--"]{
  border-top: 1px solid var(--white-color);
}
/* リスト_画像3column */
.list--photo{
  display: flex;
  flex-wrap: wrap;
}
.list--photo li{
  width: calc(calc(100% - 2px) / 3) !important;
  margin: 0 1px 1px 0;
  position: relative;
}
.list--photo li:nth-child(3n){
  margin: 0 0 1px 0;
}
.list--photo li img{
  width: 100%;
  height: auto;
  aspect-ratio: var(--img-square);
  object-fit: cover;
}
/* リスト_カード */
[class*="list--card-"].scrollx{
  display: flex;
  flex-wrap: nowrap;
}
[class*="list--card-"].scrollx [class*="card--"]{
  margin: 0;
}
[class*="list--card-"].scrollx [class*="card--"] + [class*="card--"]{
  margin: 0 0 0 10px;
}
/* リスト_カード1カラム */
.list--card-column>[class*="card--"]{
  min-width: calc(100vw - 40px);
  width: calc(100vw - 40px);
}
.list--card-column>[class*="card--"].card--chef{
  min-width: auto;
}
.list--card-column>[class*="card--"].card--chef img{
  object-position: top;
}
[class*="card--"].card--chef .info-wrapper{
  width: calc(100vw - 154px);
  margin-left: 10px;
}
.list--card-column>[class*="card--"] + [class*="card--"]{
  margin: var(--margin-column--XS);
}
.list--card-column > .card--menu + .card--menu{
  margin: var(--margin-column--M);
}
/* リスト_カード2カラム */
.list--card-column2{
  display: flex;
  flex-wrap: wrap;
}
.list--card-column2 [class*="card--"]{
  min-width: calc(calc(100vw - 50px) / 2);
  width: calc(calc(100vw - 50px) / 2);
}
.list--card-column2 [class*="card--"]{
  margin: 0 10px 10px 0;
}
.list--card-column2 [class*="card--"]:nth-child(2n){
  margin: 0 0 10px 0;
}
/* リスト_カード0.8カラム */
.list--card-column08 [class*="card--"]{
  min-width: calc(calc(calc(100vw - 40px) / 10) * 8);
  min-width: calc(calc(calc(100vw - 40px) / 10) * 8);
}
/* X軸スクロール要素のmargin設定 */
[class*="shop-section--"] > [class*="list--"][class*="scrollx"]{
  box-sizing: border-box;
  margin: 0 0 0 -20px;
  padding: 10px 20px 20px;
  width: calc(100% + 40px);
}

/* ----------------------------------------------------------------------------
  トースター表示
---------------------------------------------------------------------------- */
.toast_point,
.toast_mypoint,
.toast_view{
  position: fixed;
  bottom: 80px;
  width: calc(100vw - 24px);
  height: 44px;
  left: 12px;
  z-index: 9;
  display: flex;
  align-items: center;
}
.toast_point{
  animation: slideAnime 5s ease;
  opacity: 0;
}
.toast_view{
  animation: slideAnime 5s ease;
  animation-delay: 10s;
  opacity: 0;
}
.toast_view.with-no-point{
  animation-delay: 0s;
}
.toast_view.with-point-available{
  animation-delay: 20s;
}
.toast_view .toast-emphasis{
  color: #E26762;
  margin: 0 3px;
}
.toast_mypoint{
  animation: slideAnime 5s ease;
  animation-delay: 15s;
  opacity: 0;
  bottom: 90px;
}
.toast_mypoint.keep_show{
  animation: slideAnime02 5s forwards;
  animation-delay: 15s;
}
.toast_campaign_point{
  animation: slideAnime 5s ease;
  animation-delay: 10s;
  opacity: 0;
  visibility: hidden;
}
.toast_d_point{
  animation: slideAnime 5s ease;
  animation-delay: 5s;
  opacity: 0;
  visibility: hidden;
}
@keyframes slideAnime{
  0%{
  	opacity: 0;
  	transform: translateY(20px);
  }
}
.toast_point.keep_show{
  animation: slideAnime02 5s forwards;
  opacity: 0;
}
.toast_mypoint span.msg,
.toast_point span.msg,
.toast_view span.msg{
  max-width: calc(100vw - 24px);
  min-width: calc(100vw - 24px);
  height: auto;
  display: flex;
  align-items: center;
  padding: 13px 12px;
  box-sizing: border-box;
  background-color: rgba(0, 0, 0, 0.6);
  border-radius: 8px;
  font-size: 14px;
  color: var(--white-color);
  white-space: nowrap;
  z-index: 19;
}
.toast_point span.msg{
  position: absolute;
  left: 0;
}
.toast_mypoint input[type="checkbox"]{
  display: none;
}
.toast_mypoint label,
.toast_point label,
.toast_view label{
  color: var(--white-color);
  display: block;
  position: absolute;
  right: 12px;
  left: auto;
  top: 0;
  bottom: 0;
  margin: auto;
  height: 14px;
  line-height: 14px;
  z-index: 20;
}
.toast_mypoint input[type="checkbox"]:checked ~ label,
.toast_point input[type="checkbox"]:checked ~ label,
.toast_view input[type="checkbox"]:checked ~ label{
  display: none;
}
.toast_mypoint input[type="checkbox"]:checked + label + span.msg,
.toast_point input[type="checkbox"]:checked + label + span.msg,
.toast_view input[type="checkbox"]:checked + label + span.msg{
  display: none;
}
@keyframes slideAnime{
0% {
  opacity: 0;
  transform: translateY(20px);
  visibility: visible;
}
8% {
  opacity: 1;
  transform: translateY(0);
}
85% {
  opacity: 1;
  transform: translateY(0);
}
100% {
  opacity: 0;
  transform: translateY(20px);
}
}
@keyframes slideAnime02{
0% {
  opacity: 0;
  transform: translateY(20px);
}
8% {
  opacity: 1;
  transform: translateY(0);
}
100% {
  opacity: 1
}
}
/* ----------------------------------------------------------------------------
  ozmall,ぐるなび,tablecheck（powered by◯◯）
---------------------------------------------------------------------------- */
.reserve-external-text{
  display: inline-block;
  color: var(--lightgray-color);
  margin: var(--margin-column--XS);
  text-align: right;
  width: 100%;
}
/* ----------------------------------------------------------------------------
  店舗配下ページ(TOP以外)_共通スタイル
---------------------------------------------------------------------------- */
/* メインコンテンツ */
[class*="shop-page--"] [class*="shop-section--"][class*="-contents"]{
  padding: var(--padding-box--M);
  border-bottom: 1px solid var(--layer-color);
}
/* メインコンテンツ_タイトル */
[class*="shop-page--"] [class*="shop-section--"] > .title--M,
[class*="shop-page--"] [class*="shop-section--"] > h2.title--M{
  margin: 20px 20px 0;
  font-size: var(--title--S);
}
[class*="shop-page--"] [class*="shop-section--"][class*="-contents"] > [class*="title--"] [class*="icon-"]{
  margin: var(--margin-raw--S);
}
/* メインコンテンツ_件数・更新日 */
[class*="shop-page--"] [class*="shop-section--"] > .parts--update{
  margin: 10px 20px 0;
}
/* メインコンテンツ_スイッチャー */
[class*="shop-page--"] .switcher--text{
  margin: 10px 20px 0;
}
/* メインコンテンツ_ローカルメニュー */
[class*="shop-page--"] [class*="shop-navi-local"]{
  padding: 10px 20px;
}
/* メインコンテンツ_コンテンツ詳細 */
[class*="shop-page--"] [class*="shop-section--"] .contents--wrapper{
  border-top: 1px solid var(--layer-color);
  margin: var(--margin-column--M);
}
[class*="shop-page--"] [class*="shop-section--"] .parts--update + .contents--wrapper{
  margin: var(--margin-column--S);
}
/* メインコンテンツ_ボタンmargin */
[class*="shop-page--"] [class*="shop-section--"][class*="-contents"] > [class*="button--"]{
  margin: var(--margin-column--XS);
}
/* コンテンツ詳細_画像 */
img.contents-img,
.contents-img img.img--rectangle,
.shop-section--original-contents>.img-caption img{
  object-fit: contain;
  background-color: var(--black-color);
  aspect-ratio: unset;
  max-height: calc(calc(calc(100vw - 40px) / 4)* 3);
}
.contents-img{
  border-radius: 12px;
}
* + .contents-img{
  margin: var(--margin-column--XS);
}
.contents-img + .contents-text--wrapper{
  margin: var(--margin-column--S);
}
/* コンテンツ詳細_テキスト */
.contents-date + .contents-title{
  margin: var(--margin-column--XS);
}
a.contents-title{
  display: inline-flex;
  align-items: center;
  color: var(--secondary-color);
}
.contents-date + a.contents-title [class*="icon-"]{
  margin-left: 10px;
}
.contents-text{
  margin: var(--margin-column--XS);
}
.contents-date{
  color: var(--gray-color);
}
[class*="shop-section--"][class*="-contents"] [class*="title--"] + .list--card-column{
  margin: var(--margin-column--M);
}
.contents-type,
h3.contents-type{
  color: var(--darkgray-color);
  margin: 0 0 10px;
}
/* ----------------------------------------------------------------------------
	
  TOP
	  
---------------------------------------------------------------------------- */
[class*="shop-section--summary"]{
  padding: var(--padding-box--M);
  border-bottom: 1px solid var(--layer-color);
}
[class*="shop-section--summary"] > .title-box + *{
  margin: var(--margin-column--XS);
}
[class*="shop-section--summary"] > .title-box + a{
  display: block;
}
[class*="shop-section--summary"] > [class*="button--"]{
  margin: var(--margin-column--XS);
}
/* xスクロール要素が入るセクションの余白設定 */
.shop-section--summary-news,
.shop-section--summary-chef,
.shop-section--summary-seat,
.shop-section--summary-best3,
.shop-section--summary-takeout,
.shop-section--summary-magazine,
.shop-section--summary-shop,
.shop-section--summary-scene,
.shop-section--summary-movie,
.shop-section--summary-original{
  padding: 20px 20px 0;
}
.shop-section--summary-chef > .title-box + *,
.shop-section--summary-seat > .title-box + *,
.shop-section--summary-best3 > .title-box + *,
.shop-section--summary-takeout > .title-box + *,
.shop-section--summary-magazine > .title-box + *,
.shop-section--summary-shop > .title-box + *,
.shop-section--summary-scene > .title-box + *,
.shop-section--summary-movie > .title-box + *,
.shop-section--summary-original > .title-box + *{
  margin: 0;
}
.shop-section--summary-news [class*="note--"]{
  margin: var(--margin-column--XS);
}
.shop-section--summary-news [class*="title--"]:last-child{
  margin: 0 0 20px;
}
.shop-section--summary-news [class*="note--"]:last-child{
  margin: 10px 0 20px;
}
/* アワード受賞店タグ */
.honor{
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
}
.honor .parts--tag-default{
  color: var(--white-color);
  background-color: var(--layer-bg-color);
}
/* 動画・画像スライドショー */
.shop_index .swiper-container{
  height: auto;
  aspect-ratio: 16/9;
}
.swiper-slide img{
  width: 100vw;
  height: auto;
  aspect-ratio: 16/9;
  object-fit: cover;
}
.slide-img-caption {
  background: var(--layer-bg-color);
  bottom: -1px;
  box-sizing: border-box;
  font-size: var(--text--XS);
  color: var(--white-color);
  padding: var(--padding-box--S);
  position: absolute;
  line-height: var(--linespacing);
  width: 100%;
  z-index: 10;
}
.mv_img_area, 
.shop_index{
  position: relative;
  background-color: var(--white-color);
}
.link--photo{
  position: absolute;
  top: 12px;
  right: 12px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: var(--layer-bg-color);
  border-radius: var(--borderradius-button);
  box-sizing: border-box;
  color: var(--white-color);
  font-size: var(--text--XS);
  padding: 4px 8px;
  z-index: 1;
}
.photo--num{
  color: var(--white-color);
  margin: var(--margin-column--XXS);
}
button.vjs-button > .vjs-icon-placeholder:before{
  font-size: 20px;
}
.shop_index .reserve-external-text{
  background-color: var(--white-color);
  box-sizing: border-box;
  padding: var(--padding-side--XXS);
}
/* 画像が0枚の場合 */
.shop-no-photo{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.shop-no-photo::before{
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
.shop-no-photo img{
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  object-fit: cover;
}
.shop-no-photo [class*="button--"]{
  position: absolute;
}
/* 店舗概要 */
.shop-section--top{
  box-shadow: var(--shadow--M);
}
.shop-section--top .summary-wrapper{
  padding: 12px 20px 20px;
}
.shop-section--top .summary-wrapper > * + *{
  margin: var(--margin-column--XS);
}
.shop-section--top .list--tag{
  margin: 0;
  box-sizing: border-box;
  margin-left: -20px;
  padding: 10px 20px;
  width: calc(100% + 40px);
  flex-wrap: wrap;
  gap: 4px;
}
.shop-section--top .list--tag li{
  margin: var(--margin-raw--S);
}
.shop-section--top .list--tag .parts--tag-default, 
.shop-section--top .list--tag .parts--tag-point{
  color: var(--darkgray-color);
  height: 16px;
  padding: 0;
}
/* サステナ表示 */
[class*="parts--tag-"].sustainable{
  display: flex;
  justify-content: center;
  box-sizing: border-box;
  color: var(--secondary-color);
  font-weight: bold;
  width: 100%;
  margin: 0;
  box-shadow: var(--shadow--S);
}
/* 予約カレンダー */
.shop-section--top .section-reserve-calendar,
.section-app-link{
  padding: 0 20px 20px;
}
.app-link{
  margin: var(--margin-column--XS);
}
/* 料理人 */
[class*="shop-section--summary"] > .card--chef{
  padding: var(--padding-box--M);
}
[class*="shop-section--summary"] > .card--chef img{
  margin: var(--margin-raw--M);
}
[class*="shop-section--summary"] > .card--chef .chef-name{
  margin: var(--margin-column--XS);
}
/* 投稿動画 */
.item---upload-movie{
  width: 100%;
  height: auto;
  aspect-ratio: 9/16;
  object-fit: cover;
  border-radius: 12px;
}
/* 写真一覧 */
.shop-section--summary-photo{
  padding: 20px 0;
}
.shop-section--summary-photo .title-box{
  margin: 0 20px;
}
.shop-section--summary-photo [class*="button--"]{
  margin: 10px 20px 0;
}
/* 写真0枚 */
.shop-section--summary-photo .no-postpohoto{
  margin: 10px 20px 0;
}
/* 写真9枚目導線 */
.list--photo li:last-child{
  position: relative;
}
.list--photo li:last-child .link--photo{
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
/* 動画表示 */
.overlay-contents {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.overlay-contents .icon-play{
  color: var(--white-color);
  font-size: 32px;
  opacity: .6;
}
/* インスタ投稿写真モーダル */
.popup{
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: .6s;
  overflow-y: scroll;
  overflow-x: hidden;
}
.popup.is-show{
  opacity: 1;
  visibility: visible;
}
.popup-inner{
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, 0%);
  width: 100%;
  z-index: 2;
}
.popup-inner .insta_header{
  display: flex;
  justify-content: space-between;
  margin-top: 44px;
}
.popup-inner .insta_name{
  color: #fff;
  font-weight: bold;
  font-size: 14px;
  margin: 0 20px 12px;
  display: flex;
}
.popup-inner .date{
  margin: 0 20px 12px 0;
  font-size: 14px;
  color: #8f8f8f;
}
.popup-inner .insta_name .insta_logo{
  width: 21px;
}
.popup-inner .insta_img{
  height: auto;
  width: 100%;
}
.popup-inner .insta_caption{
  width: calc(100vw - 40px);
  color: #fff;
  font-size: 14px;
  line-height: 160%;
  margin: 40px auto;
}
.popup .insta-count{
  position: fixed;
  z-index: 3;
  color: #fff;
  left: 10px;
  top: 10px;
  font-size: var(--text--XS);
}
.close-btn{
  text-align: right;
  position: fixed;
  top: 12px;
  right: 12px;
  z-index: 3;
}
.close-btn .icon-cross{
  cursor: pointer;
  color: #fff;
  font-size: 20px;
  display: inline-block;
}
.black-background{
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0);
  z-index: 1;
  cursor: pointer;
}
.link_insta{
  width: 100%;
  display: inline-block;
  text-align: center;
  margin: 0 auto 40px;
}
.link_insta p{
  display: inline-block;
  background-color: #333;
  color: #fff;
  font-weight: bold;
  border-radius: 22px;
  padding: 6px 16px;
  cursor: pointer;
}
body.is-show-instagram-modal{
  overflow: hidden;
  position: fixed;
  width: 100%;
}
.swiper-instagram-thumbnail-wrapper .swiper-wrapper{
  width: auto;
}
.swiper-instagram-thumbnail-wrapper .swiper-slide,
.swiper-instagram-thumbnail-wrapper .swiper-slide img{
  height: auto;
}
.swiper-instagram-thumbnail-wrapper .swiper-slide.swiper-slide-active img,
.swiper-instagram-container .swiper-slide-prev img,
.swiper-instagram-container .swiper-slide-duplicate-active img,
.swiper-instagram-container .swiper-slide.swiper-slide-active img{
  animation: none;
}
.swiper-instagram-thumbnail-wrapper .swiper-wrapper,
.swiper-instagram-container,
.swiper-instagram-container .swiper-wrapper{
  height: auto !important;
}
.swiper-instagram-container .swiper-wrapper{
  -webkit-transform-style: preserve-3d;
  overflow: initial;
}
.swiper-instagram-container .swiper-slide{
  -webkit-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  background: rgba(0, 0, 0);
}
.swiper-instagram-container .swiper-slide img{
  position: relative;
}
.swiper-instagram-container .insta_name img{
  height: auto;
}
/* パノラマ */
.shop-section--summary-panorama{
  padding: 20px 0;
}
.shop-section--summary-panorama .title-box{
  margin: 0 20px;
}
/* レコメンドリスト（縦動画） */
.shop-section--movie+.recomend-shop-section .recomend-cst-card.cst--S,
.shop-section--movie+.recomend-shop-section .recomend-cst-card.cst--S::before {
  width: 210px;
  min-width: 210px;
}
.shop-section--movie+.recomend-shop-section .recomend-cst-card.cst--S::before {
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.32), rgba(0, 0, 0, 0) 20% 30%, rgba(0, 0, 0, 0.6));
}
.shop-section--movie+.recomend-shop-section .recomend-cst-card.cst--S .shop-img {
  aspect-ratio: 3/2;
}
.shop-section--movie {
  padding: 0 20px 0;
}
.shop-section--movie>[class*="list--"][class*="scrollx"] {
  padding: 10px 20px;
}
.list--card-column .card--movie {
  min-width: 144px;
  width: 144px;
}
.card--movie .movie-wrapper {
  display: block;
  border-radius: var(--borderradius-card);
  overflow: hidden;
  position: relative;
  box-shadow: var(--shadow--S);
}
.card--movie .overlay-contents {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 100%);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  padding: 10px;
  box-sizing: border-box;
}
.card--movie .overlay-contents .view-count {
  color: var(--white-color);
  border-radius: var(--borderradius-button);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  background-color: rgba(0, 0, 0, .12);
  box-sizing: border-box;
  padding: 4px 6px;
}
.card--movie .overlay-contents .shop-info>p {
  color: var(--white-color);
  width: 124px;
}
.card--movie .overlay-contents .shop-info .shop-area_genre {
  margin: var(--margin-column--XXS);
}
/* ----------------------------------------------------------------------------
	
  料理人_プロフィール
  料理人_オススメ
  
---------------------------------------------------------------------------- */
/* シェフプロフィール */
.chef-profile-inner{
  padding: var(--padding-box--M);
  border-bottom: 1px solid var(--layer-color);
}
.chef-profile .chef-profile-inner > * + *{
  margin: var(--margin-column--M);
}
.chef-profile-inner .img-square--chef{
  width: 100%;
  object-position: top;
}
.chef-profile-inner .chef-name{
  display: flex;
  flex-direction: column;
}
.chef-profile-inner .chef-name h3{
  margin: 0;
  padding: 0;
  font-size: var(--title--M);
  font-weight: bold;
  color: var(--black-color);
  line-height: var(--linespacing);
}
.chef-profile-inner .chef-name span{
  margin: var(--margin-column--XXS);
}
[class*="shop-page--"] .shop-section--chef .contents--wrapper{
  border-top: none;
  margin: 0;
}
.chef-profile .oishii_hinto .contents-img{
  display: flex;
  align-items: center;
  gap: 10px;
}
.chef-profile .oishii_hinto .contents-img > .icon-cook{
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: var(--palewhite-color);
  color: var(--secondary-color);
  text-align: center;
  line-height: 40px;
}
.chef-profile-inner .list--textbox-gray .text--S{
  min-width: 85px;
}
/* 料理_パーティー */
.shop-section--chef .shop-section--chef-contents [class*="list--textbox"]{
  margin: var(--margin-column--S);
}
/* シェフのオススメ店 */
.chef-recommend{
  padding: var(--padding-box--M);
  border-bottom: 1px solid var(--layer-color);
}
/* ----------------------------------------------------------------------------
	
  オリジナル
	  
---------------------------------------------------------------------------- */
.shop-section--original-contents>.img-caption{
  margin: var(--margin-column--M);
}
/* ----------------------------------------------------------------------------
	
  誰と行く
	  
---------------------------------------------------------------------------- */
.shop-section--buddy-contents .card--coupon--S{
  margin: var(--margin-column--XS);
}
.shop-section--buddy-contents > * + *{
  margin: var(--margin-column--M);
}
/* ----------------------------------------------------------------------------
	
  お店から
	  
---------------------------------------------------------------------------- */
[class*="shop-page--"] .shop-section--news .contents--wrapper{
  margin: var(--margin-column--XS)
}
[class*="shop-page--"] .shop-section--news .parts--update{
  margin: 20px 20px 0;
}
/* ----------------------------------------------------------------------------
	
  お知らせ
	  
---------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------
	
  地図
	  
---------------------------------------------------------------------------- */
.shop-section--map-contents .action-button-wrapper{
  margin: var(--margin-column--M);
}
.shop-section--map-contents .action-button-wrapper > [class*="button--"]{
  flex: 1;
}
.hs_mapbox_marker{
  background-image: url(/img/pc/map-big.png);
  background-size: cover;
  width: 56px;
  height: 62px;
  top: -31px !important;
  cursor: pointer;
}
.map-area{
  position: relative;
}
.map-area .button--secondary{
  z-index: 1;
  position: absolute;
  bottom: 12px;
  left: 0;
  right: 0;
  margin: auto;
  width: max-content;
}
/* ----------------------------------------------------------------------------
	
  座席
	  
---------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------
	
  メニュー
	  
---------------------------------------------------------------------------- */
[class*="shop-page--menu"] [class*="shop-navi-local"]{
  padding: 20px 20px 10px;
}
/* 金額表示の注釈 */
.price-attention{
  color: var(--gray-color);
  padding: var(--padding-side--M);
}
/* メニュー_パーティー */
.shop-section--menu_party .shop-section--menu-contents [class*="list--textbox"]{
  margin: var(--margin-column--S);
}
/* メニュー_コース詳細 */
.contents--course_detail + .contents--course_detail{
  margin: var(--margin-column--M);
}
.contents--course_detail [class*="list--textbox"],
.contents--course_detail .textbox--gray{
  margin: var(--margin-column--S);
}
.contents--course_detail.course-seat-type [class*="list--textbox"] li{
  flex-direction: column;
  align-items: flex-start;
}
.contents--course_detail.course-seat-type [class*="list--textbox"] li p:last-child{
  margin: var(--margin-column--XXS);
}
.contents--course_detail .price .discount{
  text-decoration: line-through;
}
.contents--course_detail .price .discount-after-price{
  color: var(--primary-color);
}
.course-detail .contents-img{
  margin: 0;
}
.course-detail .contents-text--wrapper > * + *{
  margin: var(--margin-column--XS);
}
.course-detail .contents-text--wrapper .price{
  color: var(--primary-color);
}
.course-detail .contents-text--wrapper .price .discount{
  text-decoration: line-through;
}
.course-price-attention{
  margin: var(--margin-column--XS);
}
/* メニュー_テイクアウト */
.cart-button{
  width: 44px;
  height: 44px;
  border: 1px solid var(--secondary-color);
  border-radius: 50%;
  box-shadow: var(--shadow--S);
  display: flex;
  align-items: center;
  justify-content: center;
}
.badge{
  position: relative;
}
.badge[data-badge]:after{
  content: attr(data-badge);
  position: absolute;
  top: 0;
  right: 0;
  font-size: 8px;
  background: var(--secondary-color);
  color: white;
  width: 15px;
  height: 15px;
  text-align: center;
  line-height: 15px;
  border-radius: 50%;
}
/* ----------------------------------------------------------------------------
	
  写真
	  
---------------------------------------------------------------------------- */
[class*="shop-page--photo"] [class*="shop-navi-local"]{
  padding: 20px 20px 10px;
}
.shop-page--photo [class*="shop-section--"][class*="-contents"]{
  padding: 20px 0;
}
.shop-section--photo-contents [class*="title--"]{
  margin: 0 20px;
}
.shop-section--photo-contents .list--photo{
  margin: var(--margin-column--XS);
}
.shop-page--photo [class*="shop-section--"][class*="-contents"] .photo-upload{
  margin: 20px 20px 0;
}
.shop-section--photo-contents .pagenation{
  margin: 0 20px;
}
/* ----------------------------------------------------------------------------
   
  レコメンドリスト
  
---------------------------------------------------------------------------- */
.recomend-shop-title{
  margin: 0;
}
/* ----------------------------------------------------------------------------
	
  telページ
	  
---------------------------------------------------------------------------- */
.shop-section--reserve-contents .reserve_tel{
  margin: 0 0 10px;
}
.calendar_text,
.person_text,
.calendar-caption{
  font-size: var(--text--XS);
  color: var(--darkgray-color);
  margin: var(--margin-column--XS);
}
.person_text{
  margin: var(--margin-column--M);
}
.calendar-caption{
  color: var(--gray-color);
  font-size: var(--text--XXS);
}
.calendar--seat-info{
  margin: var(--margin-column--M);
  position: relative;
}
.calendar-inner{
  width: 100%;
  display: table;
  border-spacing: 1px;
  border-collapse: separate;
}
.calendar-ttl__item{
  font-size: var(--text--S);
}
.calendar-day__item{
  color: var(--gray-color);
  font-size: var(--text--XXS);
  font-weight: bold;
  text-align: center;
  padding: 10px 0;
}
.calendar-day__item.text-color-saturday{
  color: var(--calendarsut-color);
}
.calendar-day__item.text-color-sunday{
  color: var(--calendarsun-color);
}
.calendar-date__item{
  background-color: var(--palewhite-color);
  border-radius: var(--borderradius-button);
  width: calc(100% / 7);
  font-size: var(--text--XS);
}
.calendar-date__item.calendar-date__item--active{
  background-color: var(--secondary-color);
}
.calendar-date__item.calendar-date__item--active .calendar-date-inner,
.calendar-date__item.calendar-date__item--active .calendar-date-inner .calendar-seat-info.icon{
  color: var(--white-color);
}
.calendar-date__item .calendar-date-inner--disabled,
.calendar-date__item.calendar-date__item--disabled .calendar-date-inner{
  color: var(--disable-color);
}
.calendar-seat-info{
  font-size: 20px;
  padding: 4px 0 0;
}
.calendar-seat-info.icon{
  padding: 4px 0 0;
}
.calendar-seat-info.icon::before{
  font-size: 20px;
}
.calendar-date__item a[href^="tel"] .calendar-seat-info{
  font-size: var(--text--S);
  color: var(--secondary-color);
}
.calendar-arrow{
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  top: 0;
  width: 100%;
}
.calendar-month-link .right-link__text,
.calendar-month-link .right-link__icon{
  font-size: var(--text--S);
}
.calendar-month-link.calendar-month-link__disable{
  color: var(--disable-color);
}
.slide_tap{
  overflow-x: scroll;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  margin: 10px 0 0;
}
.slide_tap .person_list{
  padding: 0;
}
.slide_tap .person_list li{
  margin: 0 1px 0 0;
}
.slide_tap .person_list li a{
  color: var(--secondary-color);
  background-color: var(--palewhite-color);
  border-radius: var(--borderradius-button);
}
.slide_tap .person_list li a.picked{
  color: var(--white-color);
  background-color: var(--secondary-color);
}
.reserve_next{
  margin: var(--margin-column--M);
}
/* telモーダル */
.tel-num a{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  color: var(--secondary-color);
}