@media screen and (min-width: 970px) {
  body {
    padding-top: 100px;
  }
  #header {
    height: 100px;
  }
  .header_logo{
    min-width: 160px;
    width: fit-content;
    height: auto;
  }
  .header_logo img {
    width: auto;
    height: 80px;
  }
  #header .tel{
    height: 42px;
  }
  #header .tel img {
      height: 100%;
      width: auto;
  }
  section.section_news_post{
    margin-top: 0;
  }
}

@media screen and (max-width: 969px) {
  #header_inner{
    padding: 0 4vw 0 4vw;
    padding-top: 0;
  }
  .header_logo{
    min-width: 90px;
    width: fit-content;
    height: auto;
  }
  .header_logo img {
    width: auto;
    height: 45px;
  }
  #header .tel{
    height: 30px;
  }
  #header .tel img {
      height: 100%;
      width: auto;
  }
}



/* page_float */
.page_float{
  display: block;
  width: 100%;
  height: fit-content;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 11;
  transform: translateY(100%);
  transition: 1s all ease-in-out;
}
.page_float .cv{
  width: 100%;
  box-sizing: border-box;
}
.page_float .cv p{
  text-align: center;
  text-align-last: center;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  margin-top: 0;
  margin-bottom: 12px;
}
.page_float a{
  display: block;
  width: fit-content;
  margin: auto;
  box-sizing: border-box;
}
@media screen and (min-width:767px) {
  .page_float .cv{
    padding: 15px 0 8px;
  }
  .page_float a img{
    max-width: 970px;
  }
}
@media screen and (max-width:766px) {
  .page_float .cv{
    padding: 15px 28px 20px;
  }
  .page_float .cv p{
    margin-bottom: 3vw;
    font-size: 4vw;
  }
}
.over_fcv .page_float{
  transform: translateY(0);
}

/* .stores */
.stores {
  margin-top: 60px;
}
.stores h2.txt_center {
  margin: 30px auto;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}
.stores .flex:has(>.shopinfo){
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: min(4vw,30px) 4%;
}
.shopinfo{
  width: 48%;
}
.stores .shopname {
  width: 100%;
  background-color: #E60012;
  text-align: center;
  color: #fff;
  padding: 0.4em 0;
}
.stores .shopname p{
  padding: .25em 0 .2em;
  text-align: center;
  font-weight: bold;
  font-size: 120%;
  line-height: 1;
}
.shop_img {
  aspect-ratio: 4 / 2;
  width: 100%;
}
.stores .address{
	padding: 8px 0;
}
.stores .shopname p{
	margin:0;
}
.stores iframe{
	width: 100%;
  aspect-ratio: 4 / 2;
}
@media screen and (max-width: 969px) {
  .stores {
    width: 92%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width:600px) {
  .shopinfo{
  width: 100%; 
  }
}
/* #reserve */
#form_input_reserve{
  max-width: 92%;
  margin-left: auto;
  margin-right: auto;
}
.event_reservation_form_table td ul li{
  white-space: nowrap;
}
.event_reservation_form_table input[type="checkbox"]{
  vertical-align: middle;
}
/* page-top */
#page-top {
  bottom: 140px;
}