@charset "UTF-8";
.shop_title {
  font-size: 2.4rem;
  margin-bottom: 30px;
  font-family: UD Shin Go DemiBold, Noto Sans Japanese, Lucida Grande,
    Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ",
    sans-serif;
  text-align: left;
}
.shop_emergency {
  max-width: 960px;
  margin: 0 auto;
}
.shop .top_emergency_notice:first-child {
  margin-top: 20px;
}
.shop .top_emergency_notice:last-child {
  margin-bottom: 30px;
}
.shop_ad {
  margin: 30px auto 40px;
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 700;
}
.shop_ad_content {
  position: relative;
  display: inline-block;
}
.shop_ad_content:before {
  content: "";
  position: absolute;
  bottom: 5px;
  left: -20px;
  width: 23px;
  height: 2px;
  border-bottom: 2px solid #000;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}
.shop_ad_content:after {
  content: "";
  position: absolute;
  bottom: 5px;
  right: -15px;
  width: 23px;
  height: 2px;
  border-bottom: 2px solid #000;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
.shop_subtitle {
  line-height: 2;
  margin-bottom: 30px;
  margin-top: -25px;
  font-weight: 400;
}
.shop_inner,
.shop_full {
  max-width: 960px;
  margin: 0 auto;
}
.shop_inner .customMarker,
.shop_full .customMarker {
  position: absolute;
  overflow: hidden;
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
}
.shop_inner .customMarker.o-seiyu,
.shop_full .customMarker.o-seiyu {
  border-radius: 3px;
}
.shop_phone {
  pointer-events: none;
  color: inherit;
}
.shop_name {
  max-width: 960px;
  margin: 0 auto;
  padding: 30px 24px 40px;
}
.shop_name_inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.shop_name_wrapper {
  border-bottom: 1px solid #c5c5c5;
}
.shop .campaign_banner_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 0 -12px 80px;
}
.shop .campaign_banner_item {
  margin: 0 12px;
  width: 304px;
}
.shop .campaign_banner_item:nth-child(n + 4) {
  margin-top: 20px;
}
.shop .campaign_banner_anchor {
  display: block;
  color: #000;
}
.shop .campaign_banner_anchor:hover .campaign_banner_image {
  -webkit-transform: scale(1.25);
  transform: scale(1.25);
}
.shop .campaign_banner_anchor:hover .campaign_banner_image_wrapper:after,
.shop .campaign_banner_anchor:hover .campaign_banner_body {
  opacity: 0.5;
}
.shop .campaign_banner_term {
  font-size: 1.2rem;
  margin: 0 0 5px;
  color: #444;
}
.shop .campaign_banner_body {
  margin-top: 15px;
  transition: opacity 0.8s cubic-bezier(0.25, 0.3, 0.35, 1);
}
.shop .campaign_banner_image {
  transition: -webkit-transform 0.8s cubic-bezier(0.25, 0.3, 0.35, 1);
  transition: transform 0.8s cubic-bezier(0.25, 0.3, 0.35, 1);
  transition: transform 0.8s cubic-bezier(0.25, 0.3, 0.35, 1),
    -webkit-transform 0.8s cubic-bezier(0.25, 0.3, 0.35, 1);
}
.shop .campaign_banner_image_wrapper {
  overflow: hidden;
  position: relative;
}
.shop .campaign_banner_image_wrapper:after {
  content: "";
  opacity: 0;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-color: #000;
  transition: opacity 0.8s cubic-bezier(0.25, 0.3, 0.35, 1);
}
.shop_heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
   justify-content: center; /* ← 横方向の中央揃え */
  flex-direction: row;
  gap: 24px;
  margin-bottom: 60px;
}
.shop_heading_logo {
  display: inline-block;    /* 高さを保持 */
  margin-bottom: 0;         /* 不要な下マージンを削除 */
}
.shop_heading_title {
  font-size: 3.6rem;
  font-weight: 500;
  line-height: 1.2;
}
.shop_heading_title_text {
  margin-right: 6px;
}
.shop_heading_title_number {
  position: relative;
  display: inline-block;
  font-size: 1.2rem;
  top: 3px;
}
.shop_heading_title_text_sp {
  display: none;
}
.shop_detail {
  margin-top: -30px;
  line-height: 1.8;
}
.shop_detail_inner {
  display: flex;
}
.shop_detail_name {
  width: 80px;
  flex: none;
  font-weight: 500;
}
.shop_detail_desc {
  flex: none;
}
.shop_register {
  width: 305px;
  height: 130px;
  background-color: #f1f1f1;
}
.shop_register_title {
  padding-top: 15px;
  text-align: center;
  line-height: 1.6;
}
.shop_register_button {
  display: block;
  height: 40px;
  line-height: 40px;
  color: #fff;
  margin: 15px auto 0;
  width: 226px;
  border-radius: 20px;
  text-align: center;
  cursor: pointer;
  background-color: #003a77;
  transition: 0.2s linear;
}
.shop_register_button.o-logged {
  color: #000;
  background-color: #c7c7c7;
}
.shop_register_button:hover {
  opacity: 0.7;
}
.shop_anchor_list {
  display: flex;
}
.shop_anchor_item {
  flex: none;
  width: 25%;
}
.shop_anchor_item.o-hide {
  display: none;
}
.shop_anchor_item:last-child .shop_anchor_link:after {
  display: none;
}
.shop_anchor_link {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  color: #000;
  height: 60px;
  position: relative;
  transition: 0.2s linear;
}
.shop_anchor_link:hover {
  opacity: 0.7;
}
.shop_anchor_link:after {
  content: "";
  display: block;
  position: absolute;
  width: 1px;
  height: 20px;
  right: 0;
  top: 20px;
  background-color: #c5c5c5;
}
.shop_anchor_text {
  position: relative;
}
.shop_anchor_text:before {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  left: -20px;
  top: 3px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  -webkit-transform: rotate(-225deg);
  transform: rotate(-225deg);
}
.shop_anchor_target_item {
  height: 0;
}
.shop_flyer {
  padding: 70px 0 80px;
  background-color: #f1f1f1;
}
.shop_flyer_inner {
  max-width: 960px;
  margin: 0 auto;
  text-align: center;
}
.shop_flyer_content {
  display: inline-block;
}
.shop_flyer_content .shufoo-chirashi {
  background-color: #f1f1f1 !important;
}
.shop_flyer_content + .shop_flyer_content {
  display: block;
}
.shop_recommend_inner {
  margin-top: 70px;
  padding: 20px 0;
  background-color: #e60012;
  color: #fff;
  text-align: center;
}
.shop_recommend_date {
  font-size: 1.2rem;
  color: #444;
  margin-top: 10px;
}
.shop_recommend_banner {
  background-color: #e60012;
  color: #fff;
  text-align: center;
  display: block;
  padding-bottom: 36px;
}
.shop_recommend_banner_note {
  font-size: 1.2rem;
  margin-bottom: 8px;
}
.shop_recommend_banner_title {
  font-size: 2.4rem;
  margin-bottom: 3px;
}
.shop_recommend_banner_date {
  font-size: 2.1rem;
  display: block;
}
.shop_recommend_banner_area {
  background-color: #fff;
  max-width: 650px;
  margin: 0 auto;
  padding: 15px 0 18px;
  position: relative;
}
.shop_recommend_banner_area:before {
  content: "";
  display: block;
  width: 90px;
  height: 90px;
  background: url(../../img/ico-news.png) no-repeat center center;
  background-size: cover;
  position: absolute;
  top: -32px;
  left: -74px;
}
.shop_recommend_banner_text {
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 11px;
  color: #000;
}
.shop_recommend_banner_anchor {
  width: 236px;
  margin: 0 auto;
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  color: #fff;
  padding: 5px 0 6px;
  border-radius: 16px;
  background-color: #e6001f;
  transition: 0.2s linear;
  position: relative;
}
.shop_recommend_banner_anchor:hover {
  opacity: 0.8;
}
.shop_recommend_banner_anchor:before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: #fff;
  position: absolute;
  top: calc(50% - 8px);
  right: 10px;
}
.shop_recommend_banner_anchor:after {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-top: 1px solid #e6001f;
  border-right: 1px solid #e6001f;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: calc(50% - 3px);
  right: 16px;
}
.shop_recommend_search {
  max-width: 650px;
  margin: 20px auto 0;
  padding: 20px 0;
  border-radius: 10px;
  background-color: #fff100;
  color: #000;
}
.shop_recommend_search_text {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: calc(24 / 16);
}
.shop_recommend_search_link {
  margin-top: 10px;
}
.shop_recommend_search_link_anchor {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 236px;
  height: 32px;
  margin: 0 auto;
  border-radius: 999px;
  background: #e60012;
  color: #fff;
  position: relative;
  transition: 0.2s linear;
}
.shop_recommend_search_link_arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  padding-right: 2px;
  background: #fff;
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
}
.shop_recommend_search_link_arrow:before {
  display: block;
  width: 5px;
  height: 5px;
  border-top: 1px solid #e60012;
  border-right: 1px solid #e60012;
  content: "";
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.shop_recommend_search_link_anchor:hover {
  opacity: 0.7;
}
.shop_notice {
  padding: 0 0 10px;
  margin-top: 70px;
}
.shop_notice.o-hide {
  display: none;
}
.shop_notice_area {
  line-height: 2;
  padding: 16px;
  background-color: #f1f1f1;
}
.shop_banner_area.o-margin {
  margin-top: 70px;
}
.shop_banner_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 0 -12px;
}
.shop_banner_item {
  margin: 0 12px;
  width: 304px;
}
.shop_banner_item:nth-child(n + 4) {
  margin-top: 20px;
}
.shop_banner_anchor {
  display: block;
  color: #000;
}
.shop_banner_anchor:hover .shop_banner_image {
  -webkit-transform: scale(1.25);
  transform: scale(1.25);
}
.shop_banner_anchor:hover .shop_banner_image_wrapper:after,
.shop_banner_anchor:hover .shop_banner_body {
  opacity: 0.5;
}
.shop_banner_body {
  margin-top: 15px;
  transition: opacity 0.8s cubic-bezier(0.25, 0.3, 0.35, 1);
}
.shop_banner_image {
  transition: -webkit-transform 0.8s cubic-bezier(0.25, 0.3, 0.35, 1);
  transition: transform 0.8s cubic-bezier(0.25, 0.3, 0.35, 1);
  transition: transform 0.8s cubic-bezier(0.25, 0.3, 0.35, 1),
    -webkit-transform 0.8s cubic-bezier(0.25, 0.3, 0.35, 1);
}
.shop_banner_image_wrapper {
  overflow: hidden;
  position: relative;
}
.shop_banner_image_wrapper:after {
  content: "";
  opacity: 0;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-color: #000;
  transition: opacity 0.8s cubic-bezier(0.25, 0.3, 0.35, 1);
}
.shop_information {
  padding: 0 0 40px;
  margin-top: 70px;
}
.shop_information_details {
  display: flex;
  /* margin-bottom: 70px; */
}
.shop_information_block {
  margin-right: 20px;
}
.shop_information_list {
  flex: 1;
}
.shop_information_button {
  margin: 30px auto 0;
  display: block;
  width: 116px;
  height: 32px;
  text-align: center;
  border-radius: 16px;
}
.shop_information_item {
  border-bottom: 1px solid #c5c5c5;
}
.shop_information_item_inner {
  display: flex;
  padding: 20px 0;
}
.shop_information_item:first-child {
  border-top: 1px solid #c5c5c5;
}
.shop_information_name {
  width: 160px;
  flex: none;
}
.shop_information_desc {
  font-size: 1.2rem;
}
.shop_information_map {
  width: 100%;
  height: 300px;
  position: relative;
}
.shop_information_map_inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.shop_information_map_content {
  padding: 10px 20px;
}
.shop_information_popularity {
  display: inline-block;
  color: #fff;
  font-size: 1.4rem;
  padding: 10px 24px;
  margin-bottom: 10px;
  background-color: #003a77;
  border-radius: 24px;
}
.shop_service {
  padding-top: 70px;
}
.shop_service_content {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 30px;
}
.shop_service_icon {
  width: 80px;
  height: 80px;
  text-indent: -9999px;
  flex: none;
  background-image: url(../../img/shop/ico-services.gif);
  margin-right: 15px;
}
.shop_service_icon.o-empty {
  background: none;
}
.shop_service_icon.o-photo {
  background-position: 0 0;
}
.shop_service_icon.o-atm {
  background-position: -80px 0;
}
.shop_service_icon.o-baby {
  background-position: -160px 0;
}
.shop_service_icon.o-bus {
  background-position: -240px 0;
}
.shop_service_icon.o-taxi {
  background-position: -320px 0;
}
.shop_service_icon.o-wheelchair {
  background-position: -400px 0;
}
.shop_service_icon.o-tel {
  background-position: -480px 0;
}
.shop_service_icon.o-juice {
  background-position: -560px 0;
}
.shop_service_icon.o-copy {
  background-position: -640px 0;
}
.shop_service_icon.o-locker {
  background-position: -720px 0;
}
.shop_service_icon.o-frozen {
  background-position: -800px 0;
}
.shop_service_icon.o-diapers {
  background-position: -880px 0;
}
.shop_service_icon.o-clothing {
  background-position: -960px 0;
}
.shop_service_icon.o-groceries {
  background-position: -1040px 0;
}
.shop_service_icon.o-residential {
  background-position: -1120px 0;
}
.shop_service_icon.o-child {
  background-position: -1200px 0;
}
.shop_service_icon.o-post {
  background-position: -1280px 0;
}
.shop_service_icon.o-print {
  background-position: -1360px 0;
}
.shop_service_icon.o-recycle {
  background-position: -1440px 0;
}
.shop_service_icon.o-smoke {
  background-position: -1520px 0;
  display: none;
}
.shop_service_icon.o-parking {
  background-position: -1600px 0;
}
.shop_service_icon.o-contact {
  background-position: -1680px 0;
}
.shop_service_icon.o-multipurpose {
  background-position: -1760px 0;
}
.shop_service_icon.o-water {
  background-position: -1840px 0;
}
.shop_service_icon.o-delivery {
  background-position: -1920px 0;
}
.shop_service_icon.o-saison {
  background-position: -2000px 0;
}
.shop_service_icon.o-service {
  background-position: -2080px 0;
}
.shop_service_icon.o-aed {
  background-position: -2160px 0;
}
.shop_service_icon.o-atm2 {
  background-position: -2240px 0;
}

.shop_service_icon.o-uber {
  background-position: -2320px 0;
}

.shop_service_icon.o-taxfree {
  background-position: -2400px 0;
}

.shop_cashless_subtitle {
  font-weight: 500;
  font-size: 1.8rem;
}
.shop_cashless_subtitle + .shop_cashless_list {
  margin-top: 20px;
}
.shop_cashless_list {
  display: flex;
}
.shop_cashless_list + .shop_cashless_subtitle {
  margin-top: 20px;
}
.shop_cashless_item {
  margin-right: 15px;
}
.shop_cashless_item:last-child {
  margin-right: 0;
}
.shop_cashless_notice_wrapper {
  margin-top: 20px;
}
.shop_cashless_note {
  margin: 20px 0 10px 10px;
}
.shop_cashless_note.o-ic {
  padding-left: 35px;
  background: url(../../img/ico-cashless_ic.png) center left/30px no-repeat;
}
.shop_job {
  padding-top: 70px;
  padding-bottom: 30px;
}
.shop_job_link {
  display: flex;
  justify-content: center;
}
.shop_job_image {
  width: 80%;
}
.shop_campaign {
  padding-top: 50px;
}
.shop_campaign_title {
  text-align: center;
  font-size: 1.5rem;
}
.shop_campaign_button {
  margin: 20px auto 80px;
  display: block;
  width: 304px;
  height: 44px;
  line-height: 44px;
  text-align: center;
  border-radius: 22px;
  font-size: 1.8rem;
  background-color: #f1f1f1;
  color: #000;
  transition: 0.2s linear;
}
.shop_campaign_button:hover {
  opacity: 0.7;
}
.floor_guide_title {
  padding: 7px 0;
  background-color: #003a77;
  color: #fff;
  display: flex;
  align-items: center;
}
.floor_guide_floor {
  padding-left: 20px;
  font-size: 1.8rem;
  font-weight: 400;
}
.floor_guide_date {
  padding-left: 20px;
}
.floor_guide_body {
  margin: 20px 0;
  position: relative;
}
.floor_guide_heading {
  color: #003a77;
  font-size: 1.8rem;
  padding: 0 110px 5px 0;
}
.floor_guide_name {
  text-indent: -5em;
  padding: 0 110px 0 5em;
}
.floor_guide_toggle {
  position: absolute;
  cursor: pointer;
  width: 100px;
  height: 32px;
  text-align: center;
  border-radius: 16px;
  top: 0;
  right: 0;
  padding-top: 0;
}
.floor_guide_toggle[aria-selected="true"] {
  color: #000;
  background-color: #f1f1f1;
  border: none;
}
.floor_guide_toggle[aria-selected="true"]:hover {
  opacity: 0.7;
}
.floor_guide_toggle[aria-selected="false"] {
  width: 64px;
}
.floor_guide_toggle[aria-selected="false"]:before,
.floor_guide_toggle[aria-selected="false"]:after {
  display: none;
}
.floor_guide_toggle[aria-selected="false"] .floor_guide_toggle_text {
  padding-left: 0;
}
.floor_guide_toggle_text {
  padding-left: 15px;
}
.floor_guide_toggle:before,
.floor_guide_toggle:after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 2px;
  height: 18px;
  background-color: #000;
}
.floor_guide_toggle:before {
  top: 7px;
  left: 23px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.floor_guide_toggle:after {
  top: 7px;
  left: 23px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.floor_guide_close {
  position: relative;
  cursor: pointer;
  width: 100px;
  margin: 0 auto 20px;
  height: 32px;
  line-height: 32px;
  text-align: center;
  border-radius: 16px;
  background-color: #f1f1f1;
  transition: 0.2s linear;
}
.floor_guide_close:hover {
  opacity: 0.7;
}
.floor_guide_close_text {
  padding-left: 20px;
}
.floor_guide_close:before,
.floor_guide_close:after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 2px;
  height: 18px;
  background-color: #000;
}
.floor_guide_close:before {
  top: 7px;
  left: 23px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.floor_guide_close:after {
  top: 7px;
  left: 23px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.floor_guide_details {
  padding: 20px 0 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.floor_guide_details_wrapper {
  height: 0;
  display: block;
  overflow: hidden;
  transition: 0.5s cubic-bezier(0.44, 0.03, 0.14, 0.98);
}
.floor_guide_block {
  flex: none;
  width: 48%;
  border: 1px solid #c5c5c5;
  margin-bottom: 20px;
}
.floor_guide_block_heading {
  padding: 15px;
  border-bottom: 1px solid #c5c5c5;
}
.floor_guide_block_title {
  font-size: 1.8rem;
  font-weight: 700;
}
.floor_guide_block_note {
  font-size: 1.2rem;
  color: #444;
}
.floor_guide_block_body {
  padding: 15px;
}
.floor_guide_block_item {
  display: flex;
  line-height: 2;
}
.floor_guide_block_item.o-hide {
  display: none;
}
.floor_guide_block_link {
  word-break: break-all;
}
.floor_guide_block_link:hover {
  text-decoration: underline;
}
.floor_guide_block_name {
  flex: none;
  max-width: 150px;
  width: 40%;
}
.floor_guide_block_name.o-none {
  color: #999;
}
.shop_notice_area img {
  max-width: 100%;
  width: auto;
  height: auto;
  display: block;
  transition: 0.2s linear;
}
.shop_notice_area img.sp_appear {
  display: none;
}
.shop_notice_area a:hover {
  text-decoration: underline;
}
.shop_notice_area a img:hover {
  opacity: 0.7;
}
.shop_notice_area p + p {
  margin-top: 30px;
}
.gm-style-pbc {
  pointer-events: none;
  z-index: 105 !important;
}
.top_notice {
  max-width: 960px;
  margin: 0 auto;
  border-radius: 10px;
  border: 1px solid #c7c7c7;
  background-color: #fff;
  padding: 30px 80px 40px;
}
.top_notice + .top_notice {
  margin-top: 20px;
}
.top_notice_newyear {
  text-align: center;
  margin-top: 50px;
}
.top_notice_newyear_img_top {
  display: none;
}
.top_notice_newyear_img_shop {
  width: 100%;
  max-width: 960px;
  border-radius: 10px;
}
.top_notice_title {
  color: #444;
  font-size: 2rem;
  text-align: center;
}
.top_notice_subtitle {
  margin-top: 30px;
  text-align: center;
}
.top_notice_content {
  text-align: left;
  margin-top: 20px;
  font-size: 1.4rem;
  color: #707070;
  line-height: 2;
}
.top_notice_link {
  color: #000;
  padding: 15px 44px;
  border: 1px solid #c7c7c7;
  border-radius: 26px;
}
.top_notice_link_wrapper {
  text-align: center;
  padding: 16px 0;
  margin-top: 30px;
}
.top_notice_link:hover {
  opacity: 0.7;
}
.o-notice {
  margin-top: 20px;
  border: 1px solid #0085e2;
  padding-top: 20px;
  padding-bottom: 20px;
}
.o-notice .top_notice_content {
  margin-top: 14px;
  text-align: center;
}
.o-notice .o-notice_during {
  font-size: 1.2rem;
}

.shop_register {
  display: none;
}