@charset "utf-8";

#wrapper {
  overflow: hidden;
}

.note_top {
  font-size: 12px;
  line-height: 16px;
  margin-bottom: 10px;
}

@media screen and (max-width:780px) {
  #spsize2 {
    width: 100%;

    position: fixed;
    z-index: 10;
    flex-shrink: 0;
    background: #FDF8EA;
    box-shadow: 0 0 20px 5px rgba(239, 210, 157, 0.50);
    border: 5px solid #FFF;
    box-sizing: border-box;
    padding: 15px;
    margin: 30% auto 0;
    top: 0;
    height: calc(100vh - 120px);
    display: flex;
    flex-direction: column;
  }
}

@media screen and (min-width:781px) {
  #spsize2 {
    width: 100%;
    max-width: 375px;
    position: fixed;
    z-index: 10;
    flex-shrink: 0;
    background: #FDF8EA;
    box-shadow: 0 0 20px 5px rgba(239, 210, 157, 0.50);
    border: 5px solid #FFF;
    box-sizing: border-box;
    padding: 10px 15px 15px;
    top: 0;
    left: 0;
    right: 0;
    margin: 12% auto 0;
    /*adds*/
    height: calc(100vh - 120px);
    display: flex;
    /*add*/
    flex-direction: column;
    /*add*/
  }

  .pcright {
    padding-left: 375px;
    display: flex;
  }
}

#spsize2.is-fixed {
  margin: 120px auto 0px;
  position: fixed;
  left: 0;
  right: 0;
  max-width: 375px;
}

/* dvh 非対応ブラウザ向けのフォールバックを下に追加 */
:root {
  --app-vh: 1vh;
}

#spsize2 {
  height: calc(var(--app-vh) * 100 - 120px);
}

/* タブ行（スクロールしない） */
.panel-tabs {
  display: flex;
  align-items: center;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  border-radius: 16px 16px 0 0;
  position: absolute;
  top: -46px;
  left: -5px;
  width: calc(100% + 10px);
  z-index: 1;
}

.panel-tabs .tab {
  appearance: none;
  box-sizing: border-box;
  border: 5px solid #FFF;
  line-height: 1.4;
  /* 文字位置の調整 */
  border-radius: 20px 20px 0 0;
  padding: 6px 14px;
  font-size: 18px;
  font-weight: 700;
  color: #6A1B00;
  background: #eadfc5;
  /* 非アクティブ色 */
  cursor: pointer;
  flex: 1;
}

.panel-tabs .tab.is-active {
  background: #FDF8EA;
  /* アクティブの白タブ */
  border-bottom: none;
  padding: 8px 14px;
}

/*ここまでタブ*/


/* map */
/* パネル本体が縦に伸びて、その中で MAP は余白ゼロで使う */
.panel-contents {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

/* add */
#spsize2,
.panel-contents {
  overscroll-behavior: contain;
}

/* MAPタブ内の基準枠を作る（高さ100%で使う） */

#panel-map {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
}

#panel-map .panel-map-placeholder {
  position: relative;
  width: 100%;
  flex: 1 1 auto;
  min-height: 50vh;
  padding: 0;
  margin: 0;
  overflow: hidden;
}

/* shopmapblock は“基準枠”。これも100% */
#panel-map .shopmapblock {
  position: relative;
  width: 100%;
  height: 100%;
}

/* マップ本体はこの枠いっぱい（絶対配置で inset:0） */
#panel-map .shopmap {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  /* 画像拡大の制約を外す */
}

@media screen and (min-width: 1001px) {
  #panel-map .shopmap {
    height: 90%;
  }
}


/* 画像は transform で拡大するので max-width を外す */
#panel-map .mapimg {
  max-width: none;
  display: block;
}

/* ズームボタンなどのUIはパネル右下に */
#panel-map .btnzoom {
  position: absolute;
  right: 4px;
  bottom: 16px;
  z-index: 2;
}

#panel-map .help {
  position: absolute;
  left: 16px;
  bottom: 14px;
  z-index: 2;
}

#panel-map .collab {
  position: absolute;
  left: 90px;
  bottom: 12px;
  z-index: 2;
}

#panel-map .collab img {
  height: 64px;
  display: block;
  height: 64px;
  width: auto !important;
  object-fit: contain;
}


/* map */

@media screen and (min-width: 1001px) {
  .pcright {
    height: 116.55vh;
  }
}

@media screen and (min-width:781px) and (max-width:1000px) {
  .pcright {
    height: 124.55vh;
  }
}

@media screen and (max-width: 1400px) {
  .pcright {
    opacity: 0;
  }
}

#shop {
  /*  background: url(../images/img_garland_sp.png) no-repeat top center / contain,#F7E9BA;*/
}

#shop img {
  width: 100%;
}

.pagelink {
  padding-top: 10px;
  margin-bottom: 40px;
}

#categoryBox {
  position: relative;
}

.categorylinks {
  position: relative;
  display: flex;
  width: 100%;
  gap: 7px;
  margin-bottom: 10px;
  padding: 0px 12px 0px 0px;
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  /* Firefox 非表示(任意) */
}

.categorylinks::-webkit-scrollbar {
  display: none;
}

/* WebKit 非表示(任意) */

/* hidden 属性を確実に効かせる（上書き防止） */
[hidden] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.categoryarea {
  height: auto;
}

.categorylinks div {
  flex: 0 0 auto;
  position: relative;
  overflow: hidden;
  scroll-snap-align: start;
  width: 46px;
  height: 46px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.categorylinks div .on {
  position: absolute;
  top: 0;
  left: 0;
}

.categoryinnerblock {
  overflow: scroll;
  height: 100vh;
  position: relative;
}

.categorylinks img.on {
  display: none;
}

.yurakucho .categorylinks {
  align-items: left;
}

.yurakucho .categorylinks div.link3,
.yurakucho .categorylinks div.link4 {
  width: 70px;
}

.hibiya .categorylinks div.link2,
.hibiya .categorylinks div.link4,
.hibiya .categorylinks div.link5,
.hibiya .categorylinks div.link6 {
  width: 70px;
}

/* marunouchi */
.marunouchi .categorylinks div.link1,
.marunouchi .categorylinks div.link3,
.marunouchi .categorylinks div.link5 {
  width: 70px;
}

/* toyosu */
.toyosu .categorylinks div.link5 {
  width: 78px;
}

#container {
  position: relative;
  padding-bottom: 90px;
}

#topillust {
  position: fixed;
  background: url("../images/img_garland.png") repeat-x top center/1458px 53px;
  width: 100%;
  height: 53px;
}

.shoptitle {
  width: 180px;
  margin: 0 auto;
  position: fixed;
  left: 0;
  right: 0;
  top: 10px;
  z-index: 100;
}

@media screen and (max-width:1000px) {
  .shoptitle {
    width: 130px;
  }
}

.shopmap .maplinkblock {
  position: relative;
}

.shopmap .maplinkblock a.maplink {
  position: absolute;
  width: 2.3%;
  height: 5.5%;
  font-size: 0;
  display: block;
}

/*toyosu*/
.shopmap .maplinkblock a.maplink.link1 {
  top: 50%;
  left: 67.5%;
}

.shopmap .maplinkblock a.maplink.link2 {
  top: 38.5%;
  left: 91.0%;
}

.shopmap .maplinkblock a.maplink.link3 {
  top: 51.5%;
  left: 62.7%;
}

.shopmap .maplinkblock a.maplink.link4 {
  top: 41.8%;
  left: 86.5%;
}

.shopmap .maplinkblock a.maplink.link5 {
  top: 44.5%;
  left: 89.5%;
}

.shopmap .maplinkblock a.maplink.link6 {
  top: 57.5%;
  left: 66.5%;
}

.shopmap .maplinkblock a.maplink.link7 {
  top: 58.5%;
  left: 63.5%;
}

.shopmap .maplinkblock a.maplink.link8 {
  top: 34%;
  left: 83%;
}

.shopmap .maplinkblock a.maplink.link9 {
  top: 17.5%;
  left: 87.5%;
}

.shopmap .maplinkblock a.maplink.link10 {
  top: 21.5%;
  left: 83.5%;
}

.shopmap .maplinkblock a.maplink.link11 {
  top: 13.8%;
  left: 80.5%;
}

.shopmap .maplinkblock a.maplink.link12 {
  top: 24%;
  left: 89.5%;
}

.shopmap .maplinkblock a.maplink.link13 {
  top: 30%;
  left: 89.2%;
}

.shopmap .maplinkblock a.maplink.link14 {
  top: 25%;
  left: 79.8%;
}

.shopmap .maplinkblock a.maplink.link15 {
  top: 52.5%;
  left: 51.5%;
}

.shopmap .maplinkblock a.maplink.link16 {
  top: 68.5%;
  left: 18.1%;
}

.shopmap .maplinkblock a.maplink.link17 {
  top: 52.5%;
  left: 48.2%;
}

.shopmap .maplinkblock a.maplink.link18 {
  top: 65.4%;
  left: 43.2%;
}

.shopmap .maplinkblock a.maplink.link19 {
  top: 60.6%;
  left: 46.7%;
}

.shopmap .maplinkblock a.maplink.link20 {
  top: 71.2%;
  left: 32.3%;
}

.shopmap .maplinkblock a.maplink.link21 {
  top: 71.2%;
  left: 29.3%;
}

.shopmap .maplinkblock a.maplink.link22 {
  top: 60%;
  left: 60.5%;
}

.shopmap .maplinkblock a.maplink.link22_2 {
top: 55.3%;
left: 58.7%;
}

.shopmap .maplinkblock a.maplink.link23 {
  top: 80%;
  left: 31.2%;
}

.shopmap .maplinkblock a.maplink.link24 {
  top: 80%;
  left: 34.9%;
}

.shopmap .maplinkblock a.maplink.link25 {
  top: 80%;
  left: 38.6%;
}

.shopmap .maplinkblock a.maplink.link26 {
  top: 80%;
  left: 42.2%;
}

.shopmap .maplinkblock a.maplink.link27 {
  top: 80%;
  left: 46.0%;
}

.shopmap .maplinkblock a.maplink.link28 {
  top: 57.7%;
  left: 29.5%;
}

.shopmap .maplinkblock a.maplink.link29 {
  top: 60%;
  left: 51.0%;
}


/*toyosu*/

.toyosu .shopmap .maplinkblock a.maplink.link30 {
  top: 45.8%;
  left: 17.8%;
}

.toyosu .shopmap .maplinkblock a.maplink.link31 {
  top: 45.8%;
  left: 22.8%;
}

.toyosu .shopmap .maplinkblock a.maplink.link32 {
  top: 45.8%;
  left: 27.4%;
}

.toyosu .shopmap .maplinkblock a.maplink.link33 {
  top: 45.8%;
  left: 37.0%;
}

.toyosu .shopmap .maplinkblock a.maplink.link34 {
  top: 45.8%;
  left: 40.0%;
}

.toyosu .shopmap .maplinkblock a.maplink.link35 {
  top: 53%;
  left: 40.5%;
}

.toyosu .shopmap .maplinkblock a.maplink.link36 {
  top: 59%;
  left: 10.4%;
}

.toyosu .shopmap .maplinkblock a.maplink.link37 {
  top: 55%;
  left: 7.7%;
}

.toyosu .shopmap .maplinkblock a.maplink.link38 {
  top: 70%;
  left: 41%;
}

.toyosu .shopmap .maplinkblock a.maplink.link39 {
  top: 53%;
  left: 44%;
}

.toyosu .shopmap .maplinkblock a.maplink.link40 {
  top: 59%;
  left: 39.2%;
}

.toyosu .shopmap .maplinkblock a.maplink.link41 {
  top: 59%;
  left: 43.2%;
}

.toyosu .shopmap .maplinkblock a.maplink.link42 {
  top: 60%;
  left: 51.0%;
}

.toyosu .shopmap .maplinkblock a.maplink.link43 {
    top: 45%;
    left: 43.0%;
}

.toyosu .shopmap .maplinkblock a.maplink.link44 {
    top: 71%;
    left: 35.0%;
}

.toyosu .shopmap .maplinkblock a.maplink.link28_2 {
  top: 47.2%;
  left: 8.1%;
}

.toyosu .shopmap .maplinkblock a.maplink.link29_2 {
  top: 45.8%;
  left: 13%;
}

.toyosu .shopmap .maplinkblock a.maplink.link29_3 {
  top: 52.5%;
  left: 54.5%;
}

/*hibiya*/
.hibiya .shopmap .maplinkblock a.maplink.link1 {
  top: 53.2%;
  left: 38.3%;
}

.hibiya .shopmap .maplinkblock a.maplink.link2 {
  top: 49.5%;
  left: 10.8%;
}

.hibiya .shopmap .maplinkblock a.maplink.link3 {
  top: 49.5%;
  left: 14.8%;
}

.hibiya .shopmap .maplinkblock a.maplink.link4 {
  top: 49.5%;
  left: 18.6%;
}

.hibiya .shopmap .maplinkblock a.maplink.link5 {
  top: 27.5%;
  left: 55.5%;
}

.hibiya .shopmap .maplinkblock a.maplink.link6 {
  top: 37.5%;
  left: 24.9%;
}

.hibiya .shopmap .maplinkblock a.maplink.link7 {
  top: 45.7%;
  left: 75.7%;
}

.hibiya .shopmap .maplinkblock a.maplink.link8 {
  top: 37.5%;
  left: 52.9%;
}

.hibiya .shopmap .maplinkblock a.maplink.link9 {
  top: 37.5%;
  left: 31.2%;
}

.hibiya .shopmap .maplinkblock a.maplink.link10 {
  top: 55.9%;
  left: 92.5%;
}


.hibiya .shopmap .maplinkblock a.maplink.modal1 {
  top: 11.8%;
  left: 10%;
  width: 24.8%;
  height: 13.8%;
}

.shopmap .maplinkblock a.maplink.modal2 {
  position: absolute;
  width: 40px;
  height: 40px;
  bottom: 10px;
  left: 10px;
}

/*marunouchi*/
.marunouchi .shopmap .maplinkblock a.maplink.link1 {
  top: 90.2%;
  left: 78.6%;
}

.marunouchi .shopmap .maplinkblock a.maplink.link2 {
  top: 84.5%;
  left: 78.6%;
}

.marunouchi .shopmap .maplinkblock a.maplink.link3 {
  top: 76.5%;
  left: 78.6%;
}

.marunouchi .shopmap .maplinkblock a.maplink.link4 {
  top: 68.5%;
  left: 78.6%;
}

.marunouchi .shopmap .maplinkblock a.maplink.link5 {
  top: 63.5%;
  left: 78.6%;
}

.marunouchi .shopmap .maplinkblock a.maplink.link6 {
  top: 57.0%;
  left: 78.6%;
}

.marunouchi .shopmap .maplinkblock a.maplink.link7 {
  top: 50.5%;
  left: 78.6%;
}

.marunouchi .shopmap .maplinkblock a.maplink.link8 {
  top: 87.2%;
  left: 86.2%;
}

.marunouchi .shopmap .maplinkblock a.maplink.link9 {
  top: 80.2%;
  left: 86.2%;
}

.marunouchi .shopmap .maplinkblock a.maplink.link10 {
  top: 74.5%;
  left: 86.2%;
}

.marunouchi .shopmap .maplinkblock a.maplink.link11 {
  top: 66.5%;
  left: 86.2%;
}

.marunouchi .shopmap .maplinkblock a.maplink.link12 {
  top: 61.5%;
  left: 86.2%;
}

.marunouchi .shopmap .maplinkblock a.maplink.link13 {
  top: 56.5%;
  left: 86.2%;
}

.marunouchi .shopmap .maplinkblock a.maplink.link14 {
  top: 50.5%;
  left: 86.2%;
}

.marunouchi .shopmap .maplinkblock a.maplink.link15 {
  top: 32.5%;
  left: 78.6%;
}

.marunouchi .shopmap .maplinkblock a.maplink.link16 {
  top: 23.5%;
  left: 78.6%;
}

.marunouchi .shopmap .maplinkblock a.maplink.link17 {
  top: 35.5%;
  left: 86.2%;
}


.marunouchi .shopmap .maplinkblock a.maplink.link18 {
  top: 30.5%;
  left: 86.2%;
}

.marunouchi .shopmap .maplinkblock a.maplink.link19 {
  top: 25.5%;
  left: 86.5%;
}

.marunouchi .shopmap .maplinkblock a.maplink.link20 {
  top: 20.5%;
  left: 86.5%;
}

.marunouchi .shopmap .maplinkblock a.maplink.link21 {
  top: 15.5%;
  left: 86.5%;
}

.marunouchi .shopmap .maplinkblock a.maplink.link22 {
  top: 10.5%;
  left: 86.5%;
}

.marunouchi .shopmap .maplinkblock a.maplink.link23 {
  top: 60%;
  left: 43.8%;
  width: 28%;
  height: 20.5%;
}

.marunouchi .shopmap .maplinkblock a.maplink.linkA {
  top: 49.5%;
  left: 70.8%;
}

.marunouchi .shopmap .maplinkblock a.maplink.linkB {
  top: 49.5%;
  left: 67.0%;
}

.marunouchi .shopmap .maplinkblock a.maplink.linkC {
  top: 49.5%;
  left: 63.0%;
}

.marunouchi .shopmap .maplinkblock a.maplink.linkD {
  top: 49.5%;
  left: 59.5%;
}

.marunouchi .shopmap .maplinkblock a.maplink.linkE {
  top: 49.5%;
  left: 52.5%
}

.marunouchi .shopmap .maplinkblock a.maplink.linkF {
  top: 49.5%;
  left: 48.8%
}

.marunouchi .shopmap .maplinkblock a.maplink.linkG {
  top: 49.5%;
  left: 35.6%;
}

.marunouchi .shopmap .maplinkblock a.maplink.linkH {
  top: 49.5%;
  left: 31.6%;
}

.marunouchi .shopmap .maplinkblock a.maplink.linkI {
  top: 49.5%;
  left: 27.3%;
}

.marunouchi .shopmap .maplinkblock a.maplink.linkJ {
  top: 49.5%;
  left: 24.0%;
}

.marunouchi .shopmap .maplinkblock a.maplink.linkK {
  top: 49.5%;
  left: 20.4%;
}

/*yurakucho*/

.yurakucho .shopmap .maplinkblock a.maplink.link1 {
  top: 28.2%;
  left: 75.5%;
}

.yurakucho .shopmap .maplinkblock a.maplink.link2 {
  top: 45.5%;
  left: 88.9%;
}

.yurakucho .shopmap .maplinkblock a.maplink.link3 {
top: 62.5%;
    left: 30.5%;
}

.yurakucho .shopmap .maplinkblock a.maplink.link4 {
  top: 52.5%;
  left: 33.9%;
}

.yurakucho .shopmap .maplinkblock a.maplink.link5 {
  top: 52.2%;
  left: 14%;
}

.yurakucho .shopmap .maplinkblock a.maplink.link6 {
  top: 35.2%;
  left: 31.7%;
}

.yurakucho .shopmap .maplinkblock a.maplink.link7 {
  top: 35.2%;
  left: 37.3%;
}

.yurakucho .shopmap .maplinkblock a.maplink.link8 {
  top: 35.2%;
  left: 43.1%;
}

.yurakucho .shopmap .maplinkblock a.maplink.link9 {
  top: 54.5%;
  left: 64.6%;
}

.yurakucho .shopmap .maplinkblock a.maplink.link10 {
  top: 37.2%;
  left: 59.4%;
}


.yurakucho .shopmap .maplinkblock a.maplink.link11 {
    top: 56.2%;
    left: 77.2%;
}


.yurakucho .shopmap .maplinkblock a.maplink.link12 {
    top: 62.2%;
    left: 75.8%;
}

.yurakucho .shopmap .maplinkblock a.maplink.link13 {
  top: 53.2%;
  left: 27.1%;
}

.yurakucho .shopmap .maplinkblock a.maplink.link14 {
  top: 49%;
  left: 46.7%;
}

.yurakucho .shopmap .maplinkblock a.maplink.link15 {
  top: 49%;
  left: 52.8%;
}

.yurakucho .shopmap .maplinkblock a.maplink.link16 {
  top: 38.5%;
  left: 69.4%;
}

.yurakucho .shopmap .maplinkblock a.maplink.link17 {
  top: 52.5%;
  left: 71.2%;
}

.yurakucho .shopmap .maplinkblock a.maplink.link18 {
  top: 49%;
  left: 41.2%;
}

.yurakucho .shopmap .maplinkblock a.maplink.link19 {
  top: 41.6%;
  left: 74.8%;
}

.yurakucho .shopmap .maplinkblock a.maplink.link20 {
  top: 49%;
  left: 58.2%;
}


.yurakucho .shopmap .maplinkblock a.maplink.link21 {
    top: 62.2%;
    left: 78.8%;
}

.yurakucho .shopmap .maplinkblock a.maplink.link22 {
  top: 59.2%;
  left: 58.1%;
}

.yurakucho .shopmap .maplinkblock a.maplink.link23 {
  top: 44%;
  left: 81%;
}

.yurakucho .shopmap .maplinkblock a.maplink.link24 {
  top: 49.2%;
  left: 20.9%;
}

.yurakucho .shopmap .maplinkblock a.maplink.link25 {
  top: 55.2%;
  left: 41.2%;
}

.yurakucho .shopmap .maplinkblock a.maplink.link26 {
  top: 44.7%;
  left: 69.3%;
}

.yurakucho .shopmap .maplinkblock a.maplink.link27 {
  top: 47.9%;
  left: 74.9%;
}

.yurakucho .shopmap .maplinkblock a.maplink.link28 {
  top: 58.2%;
  left: 71.2%;
}

.yurakucho .shopmap .maplinkblock a.maplink.link29 {
  top: 55.2%;
  left: 19.2%;
}

.yurakucho .shopmap .maplinkblock a.maplink.link30 {
  top: 47.8%;
  left: 81.0%;
}

.yurakucho .shopmap .maplinkblock a.maplink.link31 {
  top: 55.2%;
  left: 52.7%;
}

.yurakucho .shopmap .maplinkblock a.maplink.link32 {
  top: 55.2%;
  left: 22.5%;
}

#mapBlock {
  transform-origin: center center;
  transition: transform 0.25s ease;
  will-change: transform;
  cursor: grab;
  user-select: none;
  /* テキスト選択防止 */
  touch-action: none;
  /* タッチのスクロール無効 → PointerEventsで管理 */
}

#mapBlock.dragging {
  transition: none !important;
  /* ドラッグ中はアニメOFFで追従を滑らかに */
  cursor: grabbing;
}

/* add */
#mapSurface {
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: top left;
  touch-action: none;
  /* ピンチやドラッグを奪われないように */
}

/* ジェスチャー中は完全OFF（dragging は mapBlock に付与されます） */
#mapBlock.dragging #mapSurface {
  transition: none !important;
}


#mapSurface .mapimg {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  pointer-events: none;
  -webkit-user-drag: none;
  user-select: none;
}

#mapSurface .maplink {
  position: absolute;
}

#mapBlock img.mapimg {
  display: block;
  width: 100%;
  height: auto;
  pointer-events: none;
  /* 画像の選択やドラッグ開始を防ぐ */
  -webkit-user-drag: none;
}

#mapBlock {
  touch-action: none;
}

#mapBlock a {
  touch-action: manipulation;
}

.btnzoom {
  position: absolute;
  bottom: 0;
  right: 10%;
  z-index: 10;
  cursor: pointer;

  ⁨width: 74px;
  flex-shrink: 0;
  border: 5px solid #EFD29D;
  background: #FFF;
  display: flex;
  border-radius: 30px;
}

.btnzoom div {
  width: 40px;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: background 0.2s;
  margin: 5px 0;
  box-sizing: border-box;
}

.btnzoom div:hover {
  opacity: 0.7;
}

.help {
  width: 60px;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: background 0.2s;
  box-sizing: border-box;
}

#zoomIn {
  width: 35px;
  height: 30px;
  flex-shrink: 0;
  border-right: 1px solid #EFD29D;
  padding: 0 0 0 5px;
}

#zoomOut {
  width: 35px;
  height: 30px;
  flex-shrink: 0;
  padding: 0 5px 0 0;
}

.maintitle {
  display: block;
  position: relative;
  height: 44px;
  line-height: 44px;
  text-align: center;
  padding: 0 30px;
  font-size: 22px;
  color: #FFF;
  box-sizing: border-box;
  /*  width: 94%;*/
  margin: 0 auto 17px;
}

.maintitle:before,
.maintitle:after {
  position: absolute;
  content: '';
  width: 0px;
  height: 0px;
  z-index: 1;
}

.maintitle:before {
  top: 0;
  left: 0;
  border-width: 22px 0px 22px 12px;
  border-color: transparent transparent transparent #FDF8EA;
  border-style: solid;
}

.maintitle:after {
  top: 0;
  right: 0;
  border-width: 22px 12px 22px 0px;
  border-color: transparent #FDF8EA transparent transparent;
  border-style: solid;
}

.toyosu #category1 .maintitle {
  background: #f3993a;
}

.toyosu #category2 .maintitle {
  background: #43B153;
}

.toyosu #category3 .maintitle {
  background: #3FBEE0;
}

.toyosu #category4 .maintitle {
  background: #90614d;
}

.toyosu #category5 .maintitle {
  background: #EA5549;
}

.toyosu #category6 .maintitle {
  background: #3461a3;
}

.toyosu #category7 .maintitle {
  background: #b96eaa;
}


.yurakucho #category1 .maintitle {
  background: #3461a3;
}

.yurakucho #category2 .maintitle {
  background: #43B153;
}

.yurakucho #category3 .maintitle {
  background: #b96eaa;
}

.yurakucho #category4 .maintitle {
  background: #90614d;
}


.hibiya #category1 .maintitle {
  background: #3fbee0;
}

.hibiya #category2 .maintitle {
  background: #8cbe5a;
}

.hibiya #category3 .maintitle {
  background: #3461a3;
}

.hibiya #category4 .maintitle {
  background: #90614d;
}

.hibiya #category5 .maintitle {
  background: #d75e38;
}

.hibiya #category6 .maintitle {
  background: #b96eaa;
}

/* marunouchi */
.marunouchi #category1 .maintitle {
  background: #90614d;
}

.marunouchi #category2 .maintitle {
  background: #3FBEE0;
}

.marunouchi #category3 .maintitle {
  background: #43B153;
}

.marunouchi #category4 .maintitle {
  background: #3461a3;
}

.marunouchi #category5 .maintitle {
  background: #EA5549;
}


#shop .subtitle {
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 28px;
  margin-bottom: 17px;
}

#shop .text {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: 0.5px;
}

#shop .whiteblock {
  background: #fff;
  padding: 20px 10px 10px 10px;
  margin: 30px 0 40px;
}

#shop .whiteblock p {
  margin-bottom: 22px;
}

#shop .whiteblock p a {
  color: #6A1B00;
}

#shop .whiteblock .img1 {
  background: #fff;
  position: relative;
  margin-bottom: 17px;
}

.img1 {
  cursor: pointer;
  position: relative;
}

.img1::after {
  content: "";
  position: absolute;
  bottom: 8px;
  right: 8px;
  width: 36px;
  height: 40px;
  background-image: url("../images/shop/icon_map.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 2;
}

/* .marunouchi .img1::after {
  display: none;
} */


#shop .whiteblock .img1 .icon {
  display: flex;
  width: 40px;
  height: 40px;
  justify-content: center;
  align-items: center;
  border-radius: 20px;
  border: 1px solid #fff;
  box-sizing: border-box;
  position: absolute;
  top: -15px;
  left: -6px;
  color: #fff;
  text-align: center;
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: -0.005em;
}

.toyosu #category1 .whiteblock .img1 .icon {
  background: #f3993a;
}

.toyosu #category2 .whiteblock .img1 .icon {
  background: #43B153;
}

.toyosu #category3 .whiteblock .img1 .icon {
  background: #3FBEE0;
}

.toyosu #category4 .whiteblock .img1 .icon {
  background: #90614d;
}

.toyosu #category5 .whiteblock .img1 .icon {
  background: #EA5549;
}

.toyosu #category6 .whiteblock .img1 .icon {
  background: #3461a3;
}

.toyosu #category7 .whiteblock .img1 .icon {
  background: #b96eaa;
}

.toyosu #shop .whiteblock .img1 .icon a {
  color: #fff;
}

.yurakucho #category1 .whiteblock .img1 .icon {
  background: #3461a3;
}

.yurakucho #category2 .whiteblock .img1 .icon {
  background: #43B153;
}

.yurakucho #category3 .whiteblock .img1 .icon {
  background: #b96eaa;
}

.yurakucho #category4 .whiteblock .img1 .icon {
  background: #90614d;
}

.hibiya #category1 .whiteblock .img1 .icon {
  background: #3fbee0;
}

.hibiya #category2 .whiteblock .img1 .icon {
  background: #8cbe5a;
}

.hibiya #category3 .whiteblock .img1 .icon {
  background: #3461a3;
}

.hibiya #category4 .whiteblock .img1 .icon {
  background: #90614d;
}

.hibiya #category5 .whiteblock .img1 .icon {
  background: #d75e38;
}

.hibiya #category6 .whiteblock .img1 .icon {
  background: #b96eaa;
}

.marunouchi #category1 .whiteblock .img1 .icon {
  background: #90614d;
}

.marunouchi #category2 .whiteblock .img1 .icon {
  background: #3FBEE0;
}

.marunouchi #category3 .whiteblock .img1 .icon {
  background: #43B153;
}

.marunouchi #category4 .whiteblock .img1 .icon {
  background: #3461a3;
}

.marunouchi #category5 .whiteblock .img1 .icon {
  background: #EA5549;
}




#shop .whiteblock .f12 {
  font-size: 12px;
}

#shop .whiteblock .f14 {
  font-size: 14px;
}

#shop .whiteblock .bold {
  font-weight: bold;
}

#shop .whiteblock .btn_more a {
  width: 108px;
  height: 28px;
  line-height: 26px;
  box-sizing: border-box;
  border-radius: 30px;
  border: 1px solid #6A1B00;
  background: #FFF;
  display: inline-block;
  text-align: center;
  color: #6A1B00;
  font-size: 14px;
  letter-spacing: -0.005em;
  margin: 10px 0 30px;
}

#shop .whiteblock .ac {
  margin: 22px 0 15px;
}

#shop .whiteblock .ac dt {
  background: url("../images/shop/btn_open.png") no-repeat 95% center/10px 10px, #F7E9BA;
  font-size: 14px;
  height: 29px;
  line-height: 29px;
  font-weight: 700;
  padding-left: 10px;
  letter-spacing: -0.005em;
}

#shop .whiteblock .ac dt.active {
  background: url("../images/shop/btn_close.png") no-repeat 95% center/10px 10px, #F7E9BA;
  font-size: 14px;
  height: 29px;
  line-height: 29px;
  font-weight: 700;
  padding-left: 10px;
  letter-spacing: -0.005em;
}

#shop .whiteblock .ac dd {
  display: none;
  font-size: 12px;
  line-height: 18px;
  letter-spacing: -0.005em;
  padding: 11px 5px 0;
}

#shop .whiteblock .indent1 {
  margin-bottom: 0;
  text-indent: -1em;
  margin-left: 1em;
}

#shop .whiteblock .ac .indent1 {
  margin-bottom: 0;
}


#contactBlock {
  margin-bottom: 600px;
}

#contactBlock h3 {
  text-align: center;
  font-size: 22px;
  margin-bottom: 20px;
}

#contactBlock h4 {
  font-size: 16px;
  margin-top: 5px;
}

#contactBlock .note {
  font-size: 14px;
  line-height: 18px;
  letter-spacing: -0.005em;
}

#contactBlock .mb20 {
  margin-bottom: 20px;
}



/* @media screen and (max-width:1000px) { */
footer {
  bottom: 0;
  width: 100%;
  position: fixed;
  height: 30px;
  font-size: 10px;
  line-height: 30px;
}

footer .innerblock small {
  padding: 0;
  line-height: 30px;
}

/* } */


/* modal */

.firstmodal {
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
  background: rgba(0, 0, 0, .5);
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
  z-index: 9999;
}

.firstmodal[aria-hidden="false"] {
  opacity: 1;
  pointer-events: auto;
}

.firstmodal__content {
  width: 60%;
  max-width: 300px;
  top: 46%;
}

.firstmodal__ok {
  display: inline-block;
  margin-top: 1rem;
  padding: .6rem 1.2rem;
  border-radius: 8px;
  border: none;
  background: #0a7;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
}

#modalOkBtn {
  position: absolute;
  top: 15%;
  left: 20%;
  width: 80%;
  height: 56%;
  border: 0;
  background: none;
  display: block;
}

@media (prefers-reduced-motion: reduce) {
  .firstmodal {
    transition: none;
  }
}

.alcohol_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

.alcohol_list li {
  width: 48%;
  margin-bottom: 10px;
}

.alcohol_list li .img {
  margin-bottom: 10px;
}


.modal_guide_block {
  position: relative;
}

.modal_guide_block a.maplink {
  position: absolute;
  width: 10%;
  height: 10%;
  font-size: 0;
}

.modal_guide_block a.maplink.link11 {
  top: 38%;
  left: 35.5%;
  width: 15%;
  height: 15%;
}

.modal_guide_block a.maplink.link12 {
  top: 38%;
  left: 51.7%;
  height: 15%;
}

.modal_guide_block a.maplink.link13 {
  top: 38%;
  left: 59.0%;
  width: 15%;
  height: 15%;
}

.modal_guide_block a.maplink.link14 {
  top: 19%;
  left: 45.5%;
  width: 25%;

}

.modal_guide_block a.maplink.link15 {
  top: 71.5%;
  left: 51.8%;
}

.modal_guide_block a.maplink.link16 {
  top: 70.0%;
  left: 58.5%;
  width: 25%;

}

.modal_guide_block a.maplink.link17 {
  top: 70%;
  left: 25.7%;
  width: 25%;

}

.modal_guide_block a.maplink.link18 {
  top: 85%;
  left: 54.0%;
}

.modal_guide_block a.maplink.link19 {
  top: 62%;
  left: 55.5%;
}

.modal_guide_block a.maplink.link20 {
  top: 61%;
  left: 43.9%;
}

.modal_guide_block a.maplink.link21 {
  top: 45.5%;
  left: 7.5%;
  width: 15%;
  height: 15%;
}

.maplink.modal1.js-modal-open {
  display: block;
  /* a をブロックにする */
  position: relative;
  /* p.icon の位置調整のため */
  cursor: pointer;
  /* 明示的にクリックカーソル */
}

.maplink.modal1.js-modal-open p.icon {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
}