@charset "UTF-8";
.shop_emergency {
  max-width: 100%;
  margin: 30px 15px;
}
.shop .top_emergency_notice:first-child {
  margin-top: 30px;
}
.shop .top_emergency_notice:last-child {
  margin-bottom: 30px;
}
.shop_inner {
  width: 90%;
}
.shop_full .shop_title {
  margin-left: 5%;
}
.shop_title {
  margin-bottom: 20px;
}
.shop_phone {
  pointer-events: auto;
  color: #0085e2;
}
.shop_subtitle {
  margin-top: -20px;
}
.shop_name {
  padding: 30px 0;
}
.shop_name_inner {
  flex-direction: column;
}
.shop_notice {
  margin-top: 90px;
}
.shop_heading {
  display: flex;           /* Flexboxにする */
  flex-direction: row;     /* 横方向に並べる */
  justify-content: center; /* ← 横方向の中央揃え */
  align-items: center;     /* 縦方向の中央揃え */
  gap: 12px;               /* ロゴとタイトルの間隔 */
}
.shop_heading_logo_image {
  height: 96px;
}
.shop_heading_title_text {
  display: none;
}
.shop_heading_title_text_sp {
  display: inline;
}
.shop_register {
  width: 100%;
}
.shop_register_button {
  width: 255px;
  height: 44px;
  line-height: 44px;
  border-radius: 22px;
  margin-top: 10px;
  font-size: 1.6rem;
}
.shop_banner_area.o-margin {
  margin-top: 40px;
}
.shop_banner_list {
  width: 100%;
  margin: 0 auto;
  display: block;
}
.shop_banner_item {
  width: 100%;
  max-width: 425px;
  margin: 20px auto 0;
}
.shop_banner_anchor {
  width: 100%;
}
.shop_banner_image {
  width: 100%;
  height: auto;
}
.shop_banner_body {
  margin: 8px 8px 0;
  margin-left: 0;
  margin-right: 0;
}
.shop_banner_text {
  font-size: 1.4rem;
}
.shop .campaign_banner_item {
  width: 48%;
  margin: 0;
}
.shop .campaign_banner_item:nth-child(n) {
  margin-top: 10px;
}
.shop .campaign_banner_anchor {
  width: 100%;
}
.shop .campaign_banner_image {
  width: 100%;
  height: auto;
}
.shop .campaign_banner_body {
  margin: 8px 8px 0;
}
.shop .campaign_banner_term {
  margin-top: 10px;
  font-size: 1.1rem;
  color: #444;
}
.shop .campaign_banner_text {
  font-size: 1.2rem;
}
.shop .campaign_banner_list {
  width: 90%;
  margin: 0 auto;
  justify-content: space-between;
}
.shop .campaign_banner_list.o-bottom {
  display: block;
  padding-bottom: 60px;
  width: 100%;
}
.shop .campaign_banner_list.o-bottom .campaign_banner_body {
  margin-left: 0;
  margin-right: 0;
}
.shop .campaign_banner_list.o-bottom .campaign_banner_item {
  width: 100%;
  max-width: 425px;
  margin: 20px auto 0;
}
.shop .campaign_banner_list.o-bottom .campaign_banner_text {
  font-size: 1.4rem;
}
.shop_detail {
  margin-top: 30px;
  padding-left: 15px;
}
.shop_detail_desc {
  flex: 1;
}
.shop_anchor_list {
  flex-direction: column;
}
.shop_anchor_item {
  width: 100%;
}
.shop_anchor_link {
  justify-content: flex-start;
  padding-left: 35px;
  border-bottom: 1px solid #c5c5c5;
  height: 40px;
}
.shop_anchor_link:after {
  display: none;
}
.shop_flyer {
  padding: 30px 0;
}
.shop_flyer .shop_title {
  margin-left: 5%;
}
.shop_flyer_content {
  width: 290px;
  margin: 0 auto;
  display: block;
}
.shop_flyer_content .shufoo-item {
  border: none !important;
}
.shop_recommend_inner {
  margin-top: 30px;
  padding: 20px 45px 40px;
}
.shop_recommend_banner {
  line-height: 2;
  padding: 0 10% 30px;
  margin-top: 60px;
}
.shop_recommend_banner_title {
  line-height: 1.7;
}
.shop_recommend_banner_date {
  font-size: 2rem;
  line-height: 1.3;
}
.shop_recommend_banner_area {
  max-width: 100%;
  padding-bottom: 20px;
}
.shop_recommend_banner_area:before {
  width: 82px;
  height: 82px;
  left: -26px;
}
.shop_recommend_banner_text {
  line-height: 1.875;
  margin-bottom: 19px;
}
.shop_recommend_banner_anchor {
  padding: 2px 0;
}
.shop_recommend_link {
  margin-top: 20px;
}
.shop_information {
  padding: 90px 0 0;
  margin-top: 0;
}
.shop_information_details {
  flex-direction: column;
  margin-bottom: 0;
}
.shop_information_block {
  margin-right: 0;
  text-align: center;
  margin-bottom: 30px;
}
.shop_information_image {
  width: 100%;
}
.shop_information_button {
  margin-top: 20px;
  width: 255px;
  height: 44px;
  line-height: 44px;
  padding-top: 0;
  border-radius: 22px;
}
.shop_information_item_inner {
  padding: 10px 0;
  flex-direction: column;
}
.shop_information_name {
  margin-bottom: 5px;
}
.shop_information_map {
  width: 255px;
  height: 44px;
  line-height: 44px;
  color: #444;
  border: 1px solid #444;
  background-color: #fff;
  margin: 0 auto;
  text-align: center;
  border-radius: 24px;
}
.shop_information_popularity {
  display: block;
  max-width: 300px;
  text-align: center;
  margin: 0 auto 10px;
}
.shop_service {
  padding-top: 90px;
}
.shop_service_icon {
  margin: 0 10px;
}
.shop_service_content {
  max-width: 430px;
  padding: 0 0 30px 0;
  margin: 0 auto;
  justify-content: center;
}
.shop_cashless_list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.shop_cashless_item {
  margin-right: 0;
}
.shop_cashless_notice_wrapper {
  padding-left: 14px;
  text-indent: -14px;
}
.shop_job {
  padding-top: 70px;
  padding-bottom: 0;
}
.shop_job_item {
  margin-bottom: 20px;
}
.shop_job_link {
  display: inline-block;
  width: 100%;
}
.shop_job_image {
  width: 100%;
}
.shop_campaign {
  padding-top: 20px;
}
.shop_campaign_button {
  width: 255px;
  margin-bottom: 40px;
}
.floor_guide_toggle {
  width: 76px;
  height: 26px;
  line-height: 26px;
  border-radius: 13px;
  font-size: 1.2rem;
}
.floor_guide_toggle[aria-selected="false"] {
  width: 62px;
}
.floor_guide_toggle:before,
.floor_guide_toggle:after {
  height: 15px;
  left: 15px;
}
.floor_guide_title {
  justify-content: space-between;
}
.floor_guide_floor {
  padding-left: 10px;
}
.floor_guide_date {
  padding-right: 10px;
}
.floor_guide_heading {
  font-size: 1.4rem;
  padding: 0 80px 5px 0;
}
.floor_guide_name {
  font-size: 1.2rem;
  padding: 0 80px 0 5em;
}
.floor_guide_block {
  width: 100%;
}
.floor_guide_body {
  margin: 12px 0 20px;
}
.top_notice {
  padding: 0;
  text-align: center;
}
.top_notice + .top_notice {
  margin-top: 10px;
}
.top_notice_wrapper {
  position: relative;
  z-index: 20;
}
.top_notice_newyear {
  padding: 0 10px;
}
.top_notice_title {
  padding: 12px 0;
  position: relative;
}
.top_notice_title:before,
.top_notice_title:after {
  content: "";
  height: 4px;
  width: 22px;
  background-color: #444;
  position: absolute;
}
.top_notice_title:before {
  right: 24px;
  top: calc(50% - 2px);
}
.top_notice_title:after {
  right: 24px;
  top: calc(50% - 2px);
  transition: 0.3s;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}
.top_notice_title.o-activated:after {
  -webkit-transform: rotate(0);
  transform: rotate(0);
}
.top_notice_subtitle {
  margin-top: 20px;
  text-align: left;
}
.top_notice_accordion {
  padding: 0 20px 30px;
  display: none;
}
.top_notice_content {
  margin-top: 10px;
}
.top_notice_link {
  display: block;
  max-width: 320px;
  text-align: center;
  margin: 0 auto;
  padding: 15px 20px;
}
.top_notice_link_wrapper {
  padding: 0;
}
.o-notice {
  margin-left: 12px;
  margin-right: 12px;
}
.o-notice .top_notice_title {
  text-align: left;
  padding-left: 20px;
  font-size: 1.8rem;
}
.o-notice .top_notice_content {
  text-align: left;
}
.o-notice .o-notice_during {
  text-align: left;
  font-size: 1.2rem;
}
.shop_notice_area img.sp_appear {
  display: block;
}
.shop_notice_area img.pc_appear {
  display: none;
}
/* スマホ用（768px以下） */
@media screen and (max-width: 768px) {
  .shop_name_inner {
    display: flex;          /* フレックス化 */
    justify-content: center; /* 横方向中央 */
    align-items: center;     /* 縦方向中央 */
    flex-wrap: wrap;         /* 折り返し対応 */
    text-align: center;      /* テキストも中央揃え */
    gap: 16px;               /* ロゴと店舗名の間隔 */
  }

  .shop_heading_logo,
  .shop_heading_title {
    display: inline-block;
  }

  .shop_heading {
    margin-bottom: 10px;
  }
}

