@charset "utf-8";
/* CSS Document */
/*========================
KEY VISUAL
========================*/
.key_visual {
  position: relative;
  margin-bottom: 50px;
}
.key_visual_inner {
position: absolute;
  left: 50%;
  top:calc(50% + 30px);
  transform: translate(-50%,-50%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;width: 100%;}
.key_visual h2{
font-family: 'Noto Serif JP', serif;
font-weight: 900;
color:#A6FF00;
font-size: 3rem;}
.key_visual .logo_02 img {
  margin:0 auto 10px;
}
.key_visual .logo_02 p {
  font-size: 1.4rem;
  font-weight: 700
}
.key_visual_inner p{padding-bottom: 0!important}
.kv_img{max-width: 1920px; width: 100%;margin: 0 auto;}
@media all and (min-width: 768px) {
.key_visual_inner { top:calc(50% + 50px);}
}
@media all and (min-width: 1024px) {
.key_visual_inner { top:calc(50% + 50px);}
}
/*========================
SHOP
========================*/

.shop_wrap{position: relative; display: flex; flex-direction: column;justify-content: flex-start;max-width:768px;padding: 0 15px; margin: 0 auto 35px;}
.photo{position: relative; overflow: hidden;}
.photo img{width: 100%;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transition: .3s ease-in-out;
} 
.photo{margin-bottom: 5px;overflow: hidden;aspect-ratio: 1 / 1;}
.text,.photo{ width: 100%;display: flex;flex-direction: column;justify-content: center; }
.text{text-align: left}


@media all and (min-width: 768px) {
.shop_wrap{display: flex; flex-direction: row; justify-content: space-between;max-width: 1280px;padding: 0 10px; margin: 0 auto 50px;}
.photo{ margin-right: 10px;width: calc(50% - 10px);}
.text{ width: 50%;display: flex;flex-direction: column;justify-content: center; }
}
@media all and (min-width: 1025px) {
.shop_wrap{display: flex; flex-direction: row; justify-content: space-between;max-width: 1280px;padding: 0 25px; margin: 0 auto 50px;}
.photo{ margin-right: 25px;width: calc(50% - 25px);}

}
.access_map{max-width:768px;padding: 0 15px; margin: 0 auto 35px;}
@media all and (min-width: 768px) {
.access_map{max-width: 1280px;padding: 0 10px; margin: 0 auto 50px;}
}
@media all and (min-width: 1025px) {
.access_map{max-width: 1280px;padding: 0 25px; margin: 0 auto 50px;}
}
.access_map iframe {
  width: 100%;
  aspect-ratio: 16/9; 
}
.flex_btn_wrap{display:flex;flex-direction: column}
@media all and (min-width: 768px) {
.flex_btn_wrap{flex-direction: row;justify-content: center; max-width: 768px;margin: 0 auto;}
}