.sq_mgn {
  margin-top: -140px;
  padding-top: 140px;
}
/*--------------------------*/
.shop_wrapper {
  width: 100%;
  background-color: #fff;
}
.shop_outer {
  width: 96%;
  margin: 0 auto 0px auto;
  padding: 0rem 0px 20px 0px;
}
.shop_menu {
  display: flex;
  position: sticky;
  top: 60px;
  width: 100%;
  height: 90px;
  border-top: #fff 10px solid;
  border-bottom: #fff 10px solid;
  justify-content: center;
  align-items: center;
  flex-flow: wrap;
  background-color: #eee;
  padding: 1rem .2rem;
  z-index: 5
}
.b_sq_shop {
  margin: 0rem .5rem 0rem .5rem;
  font-size: .75rem;
  line-height: .75rem;
  font-family: "FP-ヒラギノ角ゴ ProN W3";
  color: #000;
  font-feature-settings: "palt";
  letter-spacing: 0.075rem;
}
.b_sq_shop:hover {
  text-decoration: underline
}
.shop_region {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1rem;
  line-height: 1rem;
  font-family: "FP-ヒラギノ角ゴ ProN W3";
  color: #000;
  font-feature-settings: "palt";
  letter-spacing: 0.05rem;
  width: 100%;
  border-bottom: #000 2px solid;
	  margin-top: 1rem;
  padding: .5em 1rem;
}
.shop_row {
  position: relative;
}
.shop_list {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  padding: 1rem 1rem 1rem 1rem;
  ;
  border-bottom: #ccc 1px solid;
  font-family: "FP-ヒラギノ角ゴ ProN W3";
  background: url("../images/arr_right.svg") right 2px center / 20px 13px no-repeat;
  font-size: .8rem;
  line-height: 1.2rem;
  margin: 0 0 0 auto;
  font-feature-settings: "palt";
  color: #000;
  background-color: #ffffff;
  transition: .3s;
}
.no_site {
  background: none;
}
.plus_rvoice {
  padding: 1.2rem 90px 1.2rem 1rem;
}
.shop_list:hover {
  background: url("../images/arr_right.svg") right 0px center / 20px 13px no-repeat;
  background-color: #f2f2f2;
}
.shop_list.no_site:hover {
  background: none;
  background-color: #fff;
}
.shop_name {
  width: 100%;
  font-size: .9rem;
  line-height: 1.3rem;
  font-family: "FP-ヒラギノ角ゴ ProN W6";
  margin: 0 1rem .5rem 0;
}
.shop_add {
  margin: 0 1rem .25rem 0;
  width: 100%;
}
.shop_tel {
  width: 100%;
  margin-right: 1rem;
  white-space: nowrap
}
.shop_rvoice {
  display: block;
  position: absolute;
  top: 50%;
  right: 30px;
  padding: .5rem 0;
  transform: translateY(-50%);
  width: 80px;
  background-color: #A3000D;
  border-radius: 6px;
  overflow: hidden;
  cursor: pointer;
  transition: .3s;
}
.shop_rvoice:hover {
  background-color: #D90011;
}
/*--------------------------*/
.window_base {
  display: none;
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 1);
  z-index: 100;
  justify-content: center;
  align-items: center
}
.window_base.app {
  display: flex;
  flex-direction: column;
}


.ios-bottom-mask-window_base {
  position: fixed;
  left: 0px;
  right: 0px;
  bottom: 0px;
 height: max(env(safe-area-inset-bottom), 5px);
  background-color: rgba(0, 0, 0, 1);
  z-index: 55; /* モーダルより上だが操作不可に */
  pointer-events: none;
  display: none;
}

/* menu表示時にだけ表示 */
.window_base.app ~ .ios-bottom-mask-window_base {
  display: block;
}




#window_area {
  display: flex;
  width: 90%;
  max-height: 88%;

  flex-direction: column;
  flex-flow: wrap;
  justify-content: center;
  background-color: #fff;
  border-radius: 6px;
  cursor: default;
	overflow: hidden

}

.shop_header {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
	height:110px;
  padding: 1rem 1rem;

  background: url("../images/bg_shop_window.jpg") no-repeat right  top ;
  background-color: #000;
  background-size: auto 100%; /* 高さをボックスに合わせる */

}
.rvoice_icon {
  align-self: flex-start;
  width: 100px;
  background-color: #A3000D;
  border-radius: 6px;
  overflow: hidden;
}
.shop_nm {
  display: flex;
  justify-content: center;
  margin: 1rem 0 .5rem 0;
  width: 100%;
  font-size: 1.1em;
  line-height: 1.3rem;
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
  font-weight: 600;
  font-style: normal;
  color: #fff
}
.shop_contents {
  width: 100%;
  height: calc(100% - 110px);
  flex: 1;
  overflow: auto;
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
  font-weight: 300;
  font-style: normal;
  margin: 0rem 0 2rem 0;
  padding: .5rem;
}
.shop_upper {
  display: flex;
  flex-flow: wrap
}
.shop_photo_main {
  display: flex;
  align-items: center;
  width: 100%;
  background-color: #000
}

.shop_photo_lower {
  margin: 2rem auto 2rem auto;
  width: 100%;
  background-color: #000
}

.shop_info {
  display: flex;
  flex-direction: column;
  width: 100%;
  background-color: #fff;
  padding: 1rem 0rem 0rem 0rem
}
.row_shop_detail {
  display: flex;
  flex-flow: nowrap;
  margin: 0rem 0rem .4rem 0rem;
}
.shop_detail_item {
  width: 25%;
  margin: 0rem 0;
  padding: 0.25rem .5rem;
  display: flex;
  align-items: center;
  font-size: .8rem;
  line-height: 1rem;
  background-color: #F0F0F0;
  border-radius: 4px
}
.face {
  padding: 0rem .0rem;
}
.shop_detail_ctn {
  flex: 1 0;
  word-break: break-all;
  margin: 0rem 0 0rem .5rem;
  padding: 0.25rem .25rem;
  display: flex;
  align-items: center;
  font-size: .8rem;
  line-height: 1rem;
  border-bottom: #ddd 1px solid;
}
.shop_detail_ctn a {
  color: rgba(185, 0, 3, 1.00);
  text-decoration: underline
}
.shopicon img {
  height: 1.2rem;
}
.shop_txt {
  margin: 1rem auto 1rem auto;
  width: 96%;
  font-size: .9rem;
  line-height: 1.4rem;
  font-feature-settings: "palt";
  letter-spacing: 0.075rem;
  text-align: justify;
  color: #000
}
.Rexat_caption {

  margin: 0rem auto .5rem auto;
  width: 100%;
  font-size: 1rem;
  line-height: 1.7rem;
  font-feature-settings: "palt";
  letter-spacing: 0.075rem;
  text-align: justify;
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
  font-weight: 700;
  font-style: normal;;border-bottom: #BA0003 2px solid;
  color: #000
}
.shop_photo_2nd_area {
  margin: 1rem auto 0rem auto;
  display: flex;
  flex-flow: wrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  background-color: #fff;
}
.shop_photo_2nd_area img {
  width: 100%;
  margin-bottom: .5rem
}
.bt_close {
  margin: 1rem auto 0 auto;
  font-family: "UniversNextPro-Cond";
  font-feature-settings: "palt";
  font-size: 1.6rem;
  color: #fff;
  cursor: pointer
}
.bt_close:hover {
  text-decoration: underline
}