@charset "UTF-8";
a.modal_img.img_link:before {
  display: block;
  content: "";
  position: absolute;
}

.shop_info_h4 {
  font-size: 1.7rem;
  margin-bottom: 10px;
}
@media print, screen and (min-width: 768px) {
  .shop_info_h4 {
    font-size: 2rem;
    margin-bottom: 0;
  }
}

.shop_info_h5 {
  margin-bottom: 5px;
  font-size: 1.5rem;
  color: #d8284c;
}
@media print, screen and (min-width: 920px) {
  .shop_info_h5 {
    margin-bottom: 10px;
    font-size: 1.8rem;
  }
}

.shop_info .page_paragraph + .page_paragraph {
  margin-top: 20px !important;
}
.shop_info .page_paragraph .circle_list {
  margin-top: 5px !important;
}
@media print, screen and (min-width: 768px) {
  .shop_info .page_paragraph .circle_list {
    margin-top: 15px !important;
  }
}

@media print, screen and (min-width: 920px) {
  .shop_info_btn_wrap {
    display: flex;
    justify-content: center;
    gap: 15px;
  }
}
.shop_info_btn_wrap .page_btn_default a {
  color: #fff !important;
}

.shop_info .page_mix_list li,
.shop_info .circle_list li {
  font-size: 1.3rem;
}
@media print, screen and (min-width: 768px) {
  .shop_info .page_mix_list li,
  .shop_info .circle_list li {
    font-size: 1.5rem;
  }
}
.shop_info .circle_list.li_mt5 li {
  margin-top: 5px;
}
.shop_info .page_btn_default {
  display: flex;
  justify-content: center;
}
.shop_info .page_btn_default a {
  min-width: unset;
  width: 100%;
  max-width: unset;
  margin-top: 10px;
}
@media print, screen and (min-width: 768px) {
  .shop_info .page_btn_default a {
    margin-top: 20px;
  }
}
@media print, screen and (min-width: 920px) {
  .shop_info .page_btn_default a {
    max-width: 60%;
  }
}
@media print, screen and (min-width: 1180px) {
  .shop_info .page_btn_default a {
    min-width: unset;
    width: 100%;
    max-width: unset;
    margin-top: 20px;
  }
}
@media print, screen and (min-width: 1500px) {
  .shop_info .page_btn_default a {
    max-width: 70%;
  }
}
.shop_info .notice_list {
  margin: 15px 0 8px;
  padding: 0;
  list-style: none;
}
.shop_info .notice_list > li {
  position: relative;
  padding-left: 1.2em;
}
.shop_info .notice_list > li:not(:first-child) {
  margin-top: 10px;
}
.shop_info .notice_list > li:before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  top: 7px;
  left: 0;
  border-radius: 50%;
  background-color: #7b7b7b;
}
@media print, screen and (min-width: 768px) {
  .shop_info .notice_list > li:before {
    top: 10px;
  }
}
.shop_info .notice_list > li::marker {
  display: none;
}
@media print, screen and (min-width: 768px) {
  .shop_info .notice_list > li:not(:first-child) {
    margin-top: 13px;
  }
}
.shop_info main .inner {
  padding: 0 15px;
}
.shop_info main ul li {
  font-size: 1.3rem;
}
.shop_info main .page_title_h3 {
  margin-bottom: 20px;
}
@media print, screen and (min-width: 920px) {
  .shop_info main .page_title_h3 {
    margin-bottom: 30px;
  }
}
.shop_info main .page_title_h4 {
  margin-bottom: 25px;
}
.shop_info main .txt_green {
  color: #2c5e25;
}
.shop_info main .txt_m {
  font-size: 1.3rem;
}
@media print, screen and (min-width: 920px) {
  .shop_info main .txt_m {
    font-size: 1.5rem;
  }
}
.shop_info main .txt_l {
  font-size: 1.6rem;
}
@media print, screen and (min-width: 920px) {
  .shop_info main .txt_l {
    font-size: 1.8rem;
  }
}
.shop_info main .txt_ll {
  font-size: 1.8rem;
}
@media print, screen and (min-width: 920px) {
  .shop_info main .txt_ll {
    font-size: 2.4rem;
  }
}
.shop_info main .text_bar_link {
  color: #2c5e25;
}
.shop_info main .text_bar_link:after {
  background-color: #2c5e25;
}
.shop_info main .shop_info_list_box {
  margin-bottom: 40px;
}
.shop_info main .shop_info_list_box.mt20 {
  margin-top: 20px;
}
.shop_info main .shop_info_list_box.mb20 {
  margin-bottom: 20px;
}
.shop_info main .shop_info_group_box {
  margin-bottom: 55px;
}
.shop_info main .table_pink {
  background-color: #ffc7d9;
  border-radius: 10px;
  padding: 30px;
  margin-top: 10px;
}
@media print, screen and (min-width: 920px) {
  .shop_info main .table_pink {
    margin-top: 30px;
    padding: 40px 50px;
  }
}
.shop_info main .flex_wrap {
  display: flex;
  flex-direction: column-reverse;
}
.shop_info main .flex_wrap.tab_colum {
  flex-direction: column;
}
@media print, screen and (min-width: 768px) {
  .shop_info main .flex_wrap.tab_colum {
    flex-direction: row;
  }
}
@media print, screen and (min-width: 768px) {
  .shop_info main .flex_wrap {
    flex-direction: row;
    width: 100%;
    align-items: flex-start;
  }
  .shop_info main .flex_wrap.flex_start {
    align-items: start;
  }
}
@media print, screen and (min-width: 768px) {
  .shop_info main .flex_wrap .box_1 {
    width: 60%;
    margin-right: 25px;
    flex-grow: 0;
  }
}
.shop_info main .flex_wrap .box_2 {
  width: 80%;
  margin: 20px auto 12px;
}
.shop_info main .flex_wrap .box_2.mt0 {
  margin-top: 0;
}
@media print, screen and (min-width: 768px) {
  .shop_info main .flex_wrap .box_2 {
    width: 40%;
    margin: 0;
  }
}
@media print, screen and (min-width: 768px) {
  .shop_info main .flex_wrap .link_two {
    margin-right: 60px;
  }
}
@media print, screen and (min-width: 768px) {
  .shop_info main .flex_wrap.pay .box_1 {
    width: 50%;
    margin-right: 25px;
  }
}
.shop_info main .flex_wrap.pay .box_2 {
  margin-bottom: 20px;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .shop_info main .flex_wrap.pay .box_2 {
    width: 50%;
  }
}
.shop_info main .officialgoods_pic_wrap img {
  margin-bottom: 20px;
}
.shop_info main .officialgoods_pic_wrap .page_btn_default a {
  position: relative;
  display: inline-block;
  padding: 15px 45px 15px 35px;
}
.shop_info main .officialgoods_pic_wrap .page_btn_default a:after {
  right: 20px;
}
.shop_info main .officialgoods_pic_wrap .page_btn_default span {
  right: 5px;
}

.shop_info_group {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
@media print, screen and (min-width: 768px) {
  .shop_info_group {
    gap: 20px;
  }
}
.shop_info_group .group_text {
  flex: 2.8;
}
.shop_info_group .group_text *:first-child {
  margin-top: 0;
}
.shop_info_group .group_img {
  flex: 1;
}
.shop_info_group .group_img img {
  margin-top: -35px;
}

.official .text_note {
  margin-top: 10px;
  text-align: left;
}
.official .text_note:first-child {
  margin-top: 0;
}

.mfp-container {
  padding: 0 !important;
  top: 0 !important;
  vertical-align: baseline !important;
}
@media print, screen and (min-width: 920px) {
  .mfp-container {
    padding: 0 8px !important;
    top: unset !important;
    vertical-align: middle !important;
  }
}

.text_orange {
  color: #dc5014;
  text-decoration: underline;
}

.shop_modal_box {
  position: relative;
  width: 90%;
  margin: 60px auto 100px;
  background-color: #fff;
  border-radius: 20px;
}
@media print, screen and (min-width: 768px) {
  .shop_modal_box {
    max-width: 500px;
  }
}
.shop_modal_box button.mfp-close {
  display: block;
  width: 54px;
  height: 54px;
  background-color: #d8284c;
  border-radius: 50%;
  position: absolute;
  top: -25px !important;
  right: -15px !important;
  opacity: 1;
  transition: background-color 0.3s;
}
.shop_modal_box button.mfp-close .left {
  content: "";
  position: absolute;
  display: block;
  width: 50%;
  height: 2px;
  top: 50%;
  left: 50%;
  background: #fff;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.shop_modal_box button.mfp-close .right {
  content: "";
  position: absolute;
  display: block;
  width: 50%;
  height: 2px;
  top: 50%;
  left: 50%;
  background: #fff;
  transform: translate(-50%, -50%) rotate(45deg);
}
.shop_modal_box button.mfp-close:active {
  top: -20px;
}
@media print, screen and (min-width: 768px) {
  .shop_modal_box.large {
    max-width: 1200px;
  }
}
.shop_modal_box.large .shop_modal_inner {
  padding: 20px;
}
@media print, screen and (min-width: 920px) {
  .shop_modal_box.large .shop_modal_inner {
    padding: 50px;
  }
}
.shop_modal_box.large .shop_modal_inner .shop_area_img {
  margin-top: 10px;
}

.shop_modal_inner {
  padding: 35px 0;
  width: calc(100% - 40px);
  margin: 0 auto;
}
@media print, screen and (min-width: 920px) {
  .shop_modal_inner {
    width: calc(100% - 60px);
    padding: 50px 0;
    margin: 0 auto;
  }
}
.shop_modal_inner.pay {
  width: 100%;
}

/* モーダルが開いている時にbodyを固定するスタイル */
body.modal-open {
  height: 100vh;
  overflow-y: hidden;
}

.mfp-bg {
  background: #0b0b0b !important;
  opacity: 0.8 !important;
}

.mfp-wrap {
  overflow: hidden auto;
}

.shop_area_img {
  margin-top: 20px;
  display: flex;
  align-items: center;
  column-gap: 20px;
}
.shop_area_img figcaption {
  font-weight: bold;
  font-size: 1.7rem;
  flex-shrink: 0;
}
@media print, screen and (min-width: 768px) {
  .shop_area_img figcaption {
    font-size: 1.8rem;
  }
}

a.modal_img.img_link {
  display: inline-block;
  position: relative;
}
a.modal_img.img_link img {
  position: relative;
  z-index: 1;
}
a.modal_img.img_link:before {
  right: 5px;
  bottom: 5px;
  width: 50px;
  height: 50px;
  background: url(../img/common/ico_zoom.png) center center no-repeat;
  background-size: contain;
  z-index: 2;
}

.page_paragraph.lineup .goods_order_list {
  margin: 15px -20px 20px;
}
@media print, screen and (min-width: 768px) {
  .page_paragraph.lineup .goods_order_list {
    margin: 15px -20px 30px;
  }
}

body.shop_info button.mfp-close {
  display: block;
  color: #fff;
  width: 54px;
  height: 54px;
  background-color: #dc5014;
  border-radius: 50%;
  position: absolute;
  top: -25px !important;
  right: -15px !important;
  opacity: 1;
  transition: background-color 0.3s;
}
body.shop_info button.mfp-close .left {
  content: "";
  position: absolute;
  display: block;
  width: 50%;
  height: 2px;
  top: 50%;
  left: 50%;
  background: #fff;
  transform: translate(-50%, -50%) rotate(-45deg);
}
body.shop_info button.mfp-close .right {
  content: "";
  position: absolute;
  display: block;
  width: 50%;
  height: 2px;
  top: 50%;
  left: 50%;
  background: #fff;
  transform: translate(-50%, -50%) rotate(45deg);
}
body.shop_info button.mfp-close:active {
  top: -20px;
}
body.shop_info:hover, body.shop_info:active {
  color: unset;
  top: unset;
}