@charset "UTF-8";
/* フォントフェースの定義 */
@font-face {
  font-family: "M PLUS 1p";
  src: url("../fonts/MPLUS1p-Thin.ttf") format("truetype");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "M PLUS 1p";
  src: url("../fonts/MPLUS1p-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "M PLUS 1p";
  src: url("../fonts/MPLUS1p-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "M PLUS 1p";
  src: url("../fonts/MPLUS1p-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "M PLUS 1p";
  src: url("../fonts/MPLUS1p-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "M PLUS 1p";
  src: url("../fonts/MPLUS1p-ExtraBold.ttf") format("truetype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "M PLUS 1p";
  src: url("../fonts/MPLUS1p-Black.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
/* 全体へのフォント適用 */
body,
body * {
  font-family: "M PLUS 1p", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight: 400;
  /* デフォルトのウェイト */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#site-header {
  z-index: 99999;
}

ul, li {
  list-style: none;
  margin: 0;
}

.d-flex {
  display: flex;
}

.d-inline-block {
  display: inline-block;
}

.justify-content-center {
  justify-content: space-center;
}

.justify-content-between {
  justify-content: space-between;
}

.justify-content-around {
  justify-content: space-around;
}

.aligin-itemes-center {
  align-items: center;
}

.aligin-itemes-stretch {
  align-items: stretch;
}

.under-line_120 {
  position: relative;
}
.under-line_120::after {
  position: absolute;
  content: "";
  width: 140%;
  left: 50%;
  bottom: -10%;
  border-bottom: 2px solid grey;
  transform: translateX(-50%);
  transition: width 1.5s ease;
}

.text-start {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-end {
  text-align: right;
}

.text-color-green {
  color: #0f0;
}

.text-color-blue {
  color: #00f;
}

.text-small {
  font-size: 0.8em;
}

.fw-bold {
  font-weight: bolder;
}

.fa-solid.fa-square-check, .fa-solid.fa-droplet {
  margin-right: 0.5em;
}

br.sp {
  display: none;
}
@media (max-width: 782px) {
  br.sp {
    display: block;
  }
}

/*************************************************************************************************************************/
.progress_hover {
  position: relative;
  overflow: hidden;
  color: #222;
  background-color: transparent;
}
.progress_hover span {
  position: relative;
  z-index: 1;
}
.progress_hover::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 0%;
  height: 100%;
  background-color: #ff0;
  z-index: 0;
  transition: width 0.5s ease;
}
.progress_hover:hover::before {
  width: 100%;
}

/*************************************************************************************************************************/
section {
  padding: 2rem 0;
}
@media (max-width: 782px) {
  section {
    padding: 1rem 0;
  }
}

@media (max-width: 782px) {
  .section-body {
    padding: 0 !important;
  }
  .section-body .shop-list {
    padding: 0 !important;
  }
}
.section-body .shop-list_page > div:not(.swiper):not(#shop_link_area) {
  margin: 8rem 0;
}
.section-body .shop-list_page .shop_section_title {
  margin-bottom: 3em;
}
.section-body .swiper {
  position: inherit !important;
}
@media (max-width: 782px) {
  .section-body .swiper {
    margin-top: 0 !important;
  }
}
.section-body .swiper .swiper-wrapper {
  height: 100%;
}
.section-body .swiper .swiper-wrapper .swiper-slide {
  width: 100% !important;
}
.section-body .swiper .swiper-wrapper .swiper-slide > div {
  position: absolute;
  display: inline-block;
  width: 100%;
  left: 0;
  bottom: calc(50% - 3vw);
  font-size: 3vw;
  color: #ff0;
  z-index: 999;
  text-shadow: 5px 5px 5px rgba(0, 255, 0, 0.7);
  opacity: 1 !important;
}
@media (max-width: 782px) {
  .section-body .swiper .swiper-wrapper .swiper-slide > div {
    font-size: 6vw;
  }
}
.section-body #shop_link_area {
  width: 100%;
}
.section-body #shop_link_area .shop_link_area_wrap {
  padding: 1.5em 2em;
  border: 1px solid grey;
  border-top: none;
  display: flex;
  justify-content: space-between;
  background-color: rgba(0, 255, 0, 0.7);
}
.section-body #shop_link_area .shop_link_area_wrap a {
  text-decoration: none;
}
@media (max-width: 782px) {
  .section-body #shop_link_area .shop_link_area_wrap {
    padding: 1em;
    font-size: 0.8em;
  }
}
.section-body #shop_header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media (max-width: 782px) {
  .section-body #shop_header {
    padding: 1em;
  }
}
.section-body #shop_header > div:first-child {
  width: 30%;
}
@media (max-width: 782px) {
  .section-body #shop_header > div:first-child {
    width: 75%;
    margin: 0 auto 2em;
  }
}
.section-body #shop_header > div:last-child {
  width: 66%;
}
@media (max-width: 782px) {
  .section-body #shop_header > div:last-child {
    width: 100%;
  }
}
.section-body #shop_header > div:last-child .header_text {
  margin-bottom: 1.5rem;
  text-decoration: underline;
}
.section-body #shop_header > div:last-child .header_content {
  text-align: start;
  font-size: 0.8em;
}
.section-body #shop_recruit {
  margin: 2em auto;
  padding: 1em 5em;
  border: 2px solid grey;
  border-radius: 0.5em;
  background-color: rgba(255, 255, 0, 0.7);
}
@media (max-width: 782px) {
  .section-body #shop_recruit {
    width: 75%;
    padding: 1em 1em;
  }
}
.section-body #shop_recruit a {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.section-body #shop_recruit a div {
  margin: 0.25em 2em;
  font-weight: 300;
}
@media (max-width: 782px) {
  .section-body #shop_recruit a div {
    width: 100%;
  }
}
.section-body #shop_access .shop_section_body {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.section-body #shop_access .shop_section_body > div {
  width: 48%;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
}
.section-body #shop_access .shop_section_body > div > div > div {
  text-align: start;
}
@media (max-width: 782px) {
  .section-body #shop_access .shop_section_body > div {
    width: 100%;
    padding: 1em;
  }
}
.section-body #shop_image .shop_image_wrapper {
  display: flex;
}/*# sourceMappingURL=shop.css.map */