﻿@charset "UTF-8";
:root {
  --bg-color: #fff000;
  --blue-color : #005eac;
  --light-blue-color : #0090d2;
  --orange-color: #ed7818;
  --white-color: #FFFFFF;
  --yellow-color: #fff577;
}
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: rgba(0, 0, 0, 0);
}
body {
  line-height: 1;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}
a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: rgba(0, 0, 0, 0);
}
img {
  max-width: 100%;
}
mark {
  font-weight: bold;
  font-style: italic;
  color: #000;
  background-color: #ff9;
}
del {
  text-decoration: line-through;
}
abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
hr {
  display: block;
  height: 1px;
  margin: 1em 0;
  padding: 0;
  border: 0;
  border-top: 1px solid #ccc;
}
input,
select {
  vertical-align: middle;
}
ul,
li,
ol {
  list-style: none;
}
html {
  font-size: 62.5%;
}
.dib {
  display: inline-block;
}

body {
  position: relative;
  width: 100%;
  font-family:
    "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro W3", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
  text-align: center;
  letter-spacing: 0.1em;
  color: var(--text-color);
  background: var(--bg-color);
  animation: fade 2s ease-in 0s 1 normal;
  -webkit-animation: fade 2s ease-in 0s 1 normal;
}
.l-container:has(.modal) {
  overflow-y: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
@-webkit-keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
a {
  opacity: 1;
  transition: opacity 0.2s ease;
  -webkit-transition: opacity 0.2s ease;
}
.l-container {
  position: relative;
  overflow: hidden;
}
.l-container::before {
  position: absolute;
  content: "";
}
@media screen and (width <= 768px) {
  .pc {
    display: none;
  }
}
.sp {
  display: none;
}
@media screen and (width <= 768px) {
  .sp {
    display: block;
  }
}
.l-background {
  position: relative;
}
.l-background::before,
.l-background::after {
  position: absolute;
  z-index: -1;
  width: 100vw;
  height: 100%;
  margin: 0 calc(50% - 50vw);
  content: "";
}
.l-background::before {
  top: 0;
  left: 0;
  max-height: 50vw;
  background: url("../img/mv_bg_pc.png") top center/100% auto no-repeat;
}
@media screen and (width <= 1920px) {
  .l-background::before {
    background-size: 1920px auto;
    max-height: 900px;
  }
}
@media screen and (width <= 768px) {
  .l-background::before {
    background: url("../img/mv_bg_sp.png") top center/100% auto no-repeat;
  }
}
/* .l-background::after {
  bottom: 0;
  left: 0;
  max-height: 1062px;
  background: url(../img/bg_bottom.png) bottom center/100% auto no-repeat;
}
@media screen and (width <= 768px) {
  .l-background::after {
    background: url(../img/bg_bottom-sp.png) bottom center/100% auto no-repeat;
  }
} */
.l-header {
  margin-bottom: 120px;
  padding-top: 60px;
}
.l-header h1 img {
  height: auto;
  max-width: 750px;
}
@media screen and (width <= 768px) {
  .l-header {
    margin-bottom: 8vw;
    padding-top: 0;
  }
  .l-header h1 img {
    width: 100%;
    height: auto;
    max-width: 100%;
  }
}
.h-notearea {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  max-width: 716px;
  margin: 67px auto 50px;
  border: 3px solid var(--blue-color);
  border-radius: 8px;
  background: var(--white-color);
}
@media screen and (width <= 768px) {
  .h-notearea {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 90%;
    margin: 0 auto 15vw;
  }
}
.h-notearea_closetime {
  -ms-flex-line-pack: center;
  align-content: center;
  width: 140px;
  color: var(--white-color);
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
  background: var(--blue-color);
}
@media screen and (width <= 768px) {
  .h-notearea_closetime {
    width: 100%;
    padding: .6vw 0 2vw;
    font-size: 1.5rem;
  }
}
.h-notearea_closeinfo {
  width: calc(100% - 140px);
  padding: 17px;
}
@media screen and (width <= 768px) {
  .h-notearea_closeinfo {
    display: block;
    width: calc(100% - 4vw);
    margin: 2vw auto;
    padding: 0;
  }
}
.h-notearea_notes {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.7em;
  text-align: left;
}
@media screen and (width <= 768px) {
  .h-notearea_notes {
    font-size: 1.2rem;
    line-height: 1.4em;
  }
  .h-notearea_notes:nth-child(2) {
    margin-bottom: min(3vw, 6px);
    padding-left: 1em;
    text-indent: -1em;
  }
}
.h-notearea_notes.-small {
  font-size: 1.2rem;
}
@media screen and (width <= 768px) {
  .h-notearea_notes.-small {
    font-size: 1.1rem;
  }
}
.l-side-bg {
  position: relative;
  width: 100%;
}
.l-main {
  position: relative;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  padding-bottom: 180px;
}
.l-main:has(+ .p-bottom-link.fix) {
  padding-bottom: 0;
}
@media screen and (width <= 768px) {
  .l-main {
    margin: 0 calc(50% - 50vw) 28vw;
    padding-bottom: 20vw;
    background: url("../img/bg_Illustration_bottom_sp.svg") no-repeat left 99.9%/100% auto;
  }
  .l-main:has(+ .p-bottom-link.fix) {
    margin-bottom: 0;
    padding-bottom: 20vw;
  }
  }
.l-side-bg::before,
.l-side-bg::after {
  position: absolute;
  top: 70px;
  z-index: 1;
  width: 100%;
  height: 100%;
  padding: 0;
  content: "";
  pointer-events: none;
}
.l-side-bg::before {
  left: 0;
  max-width: 240px;
  background: url("../img/bg_Illustration_left@2x.png")  repeat-y left top/100% auto;
}
.l-side-bg::after {
  right: 0;
  max-width: 240px;
  background: url("../img/bg_Illustration_right@2x.png")  repeat-y right top/100% auto;
}
.l-content {
  position: relative;
  width: 100%;
}
.l-content::before {
  position: absolute;
  top: 65px;
  left: 0;
  width: 400px;
  height: 29vw;
  content: "";
  background: url("../img/bg_maru_left_1.svg") no-repeat left top/contain;
}
.l-content::after {
  position: absolute;
  top: 1000px;
  right: 0;
  width: 400px;
  height: 37vw;
  content: "";
  background: url("../img/bg_maru_right_1.svg") no-repeat right top/contain;
}
.l-content.-gourmet::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 400px;
  height: 100%;
  background-image:
    url("../img/bg_maru_left_1.svg"),
    url("../img/bg_maru_left_1.svg");
  background-position:
    left top calc(2300px * 65 / 1920),
    left top calc(2300px * 2000 / 1920);
  background-size:
    auto calc(min(100vw, 1800px) * 550 / 1920),
    auto calc(min(100vw, 1800px) * 550 / 1920);
  background-repeat: no-repeat, no-repeat;
  content: "";
  pointer-events: none;
}
.l-content.-gourmet::after {
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
  width: 400px;
  height: 100%;
  background-image:
    url("../img/bg_maru_right_1.svg"),
    url("../img/bg_maru_right_1.svg");
  background-position:
    right top calc(2300px * 1000 / 1920),
    right top calc(2300px * 2915 / 1920);
  background-size:
    auto calc(min(100vw, 2300px) * 700 / 1920),
    auto calc(min(100vw, 2300px) * 700 / 1920);
  background-repeat: no-repeat, no-repeat;
  content: "";
  pointer-events: none;
}
.l-content.-sweet::before {
  position: absolute;
  top: 65px;
  left: 0;
  width: 400px;
  height: 29vw;
  content: "";
  background: url("../img/bg_maru_left_2.svg") no-repeat left top/contain;
}
.l-content.-sweet::after {
  position: absolute;
  top: 1000px;
  right: 0;
  width: 400px;
  height: 37vw;
  content: "";
  background: url("../img/bg_maru_right_2.svg") no-repeat right top/contain;
}
section {
  width: calc(100% - 25vw);
  max-width: 1450px;
  margin: 0 auto;
  padding-bottom: 120px;
}
@media screen and (width <= 1800px) {
  .l-side-bg::before {
    left: -1vw;
  }
  .l-side-bg::after {
    right: -1vw;
  }
  .l-content.-gourmet::before {
    background-position:
      left top calc(min(100vw, 1800px) * 65 / 1920),
      left top calc(min(100vw, 1800px) * 2000 / 1920);
  }
  .l-content.-gourmet::after {
    background-position:
      right top calc(min(100vw, 1800px) * 1000 / 1920),
      right top calc(min(100vw, 1800px) * 2935 / 1920);
  }
}
@media screen and (width <= 1600px) {
  .l-side-bg::before {
    left: calc(-220px + 9vw);
  }
  .l-side-bg::after {
    right: calc(-220px + 9vw);
  }
  section {
    width: calc(100% - 18vw);
  }
}
@media screen and (width <= 1200px) {
  .l-side-bg::before,
  .l-side-bg::after {
    max-width: 17vw;
  }
  section {
    width: calc(100% - 10vw);
  }
}
@media screen and (width <= 1000px) {
  .l-side-bg::before,
  .l-side-bg::after {
    background: none;
  }
  section {
    width: calc(100% - 6vw);
  }
}
@media screen and (width <= 768px) {
  section {
    width: 94vw;
    margin: 0 auto;
    padding-bottom: 12vw;
  }
  .-sweet section {
    margin-bottom: 0;
    padding-bottom: 0;
  }
}
.c-menu__title {
  position: relative;
  margin-bottom: 50px;
}
@media screen and (width <= 768px) {
  .c-menu__title {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
  .l-content.-gourmet::before {
    background-image:
      url("../img/bg_maru_left_1.svg"),
      url("../img/bg_maru_left_1.svg"),
      url("../img/bg_maru_left_1.svg");
    background-position: left top 40px, left top 1700px, left top 3400px;
    background-size: auto 180px, auto 180px, auto 180px;
    background-repeat: no-repeat, no-repeat, no-repeat;
  }
  .l-content.-gourmet::after {
    background-image:
      url("../img/bg_maru_right_1.svg"),
      url("../img/bg_maru_right_1.svg"),
      url("../img/bg_maru_right_1.svg");
    background-position: right top 1000px, right top 2635px, right top 4335px;
    background-size: auto 250px, auto 250px, auto 250px;
    background-repeat: no-repeat, no-repeat, no-repeat;
  }
  .l-content.-sweet::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 400px;
    height: 100%;
    background-image:
      url("../img/bg_maru_left_2.svg"),
      url("../img/bg_maru_left_2.svg");
    background-position: left top 58px, left top 1700px;
    background-size: auto 180px, auto 180px;
    background-repeat: no-repeat, no-repeat;
    content: "";
    pointer-events: none;
  }
  .l-content.-sweet::after {
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
    width: 400px;
    height: 100%;
    background-image:
      url("../img/bg_maru_right_2.svg"),
      url("../img/bg_maru_right_2.svg");
    background-position: right top 1000px, right top 2635px;
    background-size: auto 250px, auto 250px;
    background-repeat: no-repeat, no-repeat;
    content: "";
    pointer-events: none;
  }
}
.c-menu__title::before,
.c-menu__title::after {
  position: absolute;
  top: 50%;
  z-index: -1;
  width: calc(50% - 220px);
  height: 6px;
  transform: translateY(-50%);
  content: "";
  background-image: radial-gradient(circle, var(--light-blue-color) 3px, transparent 3px);
  background-position: left top;
  background-repeat: round;
  background-size: 18px 6px;
}
.c-menu__title::before {
  left: 0;
}
.c-menu__title::after {
  right: 0;
}
.c-menu__title img {
  width: 80%;
  height: auto;
  max-width: 360px;
}
.c-menu__title .c-title-bg {
  display: none;
}
.-sweet .c-menu__title img {
  max-width: 370px;
}
.-sweet .c-menu__title::before,
.-sweet .c-menu__title::after {
  width: calc(50% - 225px);
  background-image: radial-gradient(circle, var(--orange-color) 3px, transparent 3px);
}

@media screen and (width <= 650px) {
  .c-menu__title::before,
  .c-menu__title::after {
    width: 18.5%;
    height: 4px;
    background-image: radial-gradient(circle 2px at 50% 50%, var(--light-blue-color) 2px, transparent 2px);
    background-position: left center;
    background-repeat: repeat-x;
    background-size: 10px 4px;
  }
  .c-menu__title img {
    max-width: min(360px, 55vw);
  }
  .-sweet .c-menu__title::before,
  .-sweet .c-menu__title::after {
    width: 18%;
    background-image: radial-gradient(circle 2px at 50% 50%, var(--orange-color) 2px, transparent 2px);
  }
  .-sweet .c-menu__title img {
    max-width: min(370px, 58vw);
  }
}
@media screen and (width <= 768px) {
  .c-menu__title .c-title-bg {
    display: block;
    position: absolute;
    inset: 0;
    width: 10vw;
    margin: auto;
    object-fit: cover;
    object-position: center;
    z-index: -1;
  }
  .c-menu__title .c-title-bg[src*="suika"] {
    top: -25vw;
    right: 60vw;
    width: 5.5vw;
  }
  .c-menu__title .c-title-bg[src*="hamburger"] {
    left: 85vw;
    bottom: 15vw;
    width: 7.2vw;
  }
  .c-menu__title .c-title-bg[src*="curry"] {
    right: 80vw;
    bottom: -17vw;
    width: 9vw;
  }
  .c-menu__title .c-title-bg[src*="ice"] {
    right: 80vw;
    bottom: -25vw;
    width: 6.5vw;
  }
  .c-menu__title .c-title-bg[src*="tomato"] {
    top: -32vw;
    right: -75vw;
    width: 7.5vw;
  }
  .c-menu__title .c-title-bg[src*="donut"] {
    left: 85vw;
    bottom: -15vw;
    width: 8vw;
  }
}
.c-menu__para {
  margin-bottom: 50px;
  font-size: 1.8rem;
  font-weight: 500;
}
.-gourmet .c-menu__para {
  color: var(--light-blue-color);
}
.-sweet .c-menu__para {
  color: var(--orange-color);
}
.c-menu__list {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-wrap: wrap;
  -ms-flex-align: stretch;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.c-card {
  position: relative;
  width: 24.25%;
  text-align: left;
}
.c-card .new-badge {
  position: absolute;
  top: -15px;
  left: -10px;
  z-index: 10;
  width: 80px;
  height: 80px;
}
@media screen and (768px < width) {
  .c-menu__list {
    gap: 40px 1%;
  }
}
@media screen and (768px < width <= 1650px) {
  .c-card .new-badge {
    left: -6px;
  }
}

@media screen and (768px < width <= 1100px) {
  .c-card .new-badge {
    top: -10px;
    right: -6px;
    width: 60px;
    height: 60px;
  }
}
@media screen and (width <= 768px) {
  .c-menu__para {
    margin: 5vw 0 8vw;
    font-size: 1.4rem;
  }
  .c-menu__list {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 5vw 3vw;
  }
  .c-card {
    width: 45.5vw;
  }
  .c-card .new-badge {
    top: -10px;
    right: -10px;
    width: max(45px, 10vw);
    height: max(45px, 10vw);
  }
}
.c-card__block {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
}
/* .c-card__block::before,
.c-card__block::after {
  position: absolute;
  left: 0;
  z-index: 1;
  width: 100%;
  content: "";
}
.c-card__block::before {
  top: 0;
  height: 40px;
  background-position: center top;
  background: url(../img/frame_top.png) center top/contain no-repeat;
}
.c-card__block::after {
  bottom: 0;
  width: 100%;
  height: 160px;
  background-position: center bottom;
}
.-gourmet .c-card__block::after {
  background: url(../img/frame_bottom-blue.png) center bottom/contain no-repeat;
}
.-sweet .c-card__block::after {
  background: url(../img/frame_bottom-red.png) center bottom/contain no-repeat;
} */
.c-card__image {
  position: relative;
  margin: 0.9vw;
  border-radius: 8px;
  overflow: hidden;
}
@media screen and (width <= 768px) {
  .c-card__image {
    margin: 3vw;
    border-radius: 6px;
  }
}
.c-card__image img {
  width: 100%;
  height: auto;
  max-width: 310px;
}
/* .c-card__image.category_limited:before {
  position: absolute;
  top: 10px;
  right: calc(1vw + 10px);
  width: 100%;
  height: 100%;
  max-width: 70px;
  max-height: 70px;
  content: "";
}
@media screen and (width <= 768px) {
  .c-card__image.category_limited:before {
    top: calc(2vw + 5px);
    right: calc(4vw + 5px);
    max-width: 50px;
    max-height: 50px;
  }
}
.c-card__image.category_limited.-s224:before {
  background: url(../img/icon-limited224.png) center/100% auto no-repeat;
}
.c-card__image.category_limited.-s225:before {
  background: url(../img/icon-limited225.png) center/100% auto no-repeat;
}
.c-card__image.category_limited.-s228:before {
  background: url(../img/icon-limited228.png) center/100% auto no-repeat;
}
.c-card__image.category_limited.-s290:before {
  background: url(../img/icon-limited290.png) center/100% auto no-repeat;
}
.c-card__image.category_limited.-s574:before {
  background: url(../img/icon-limited574.png) center/100% auto no-repeat;
}
.c-card__image.category_limited.-s615:before {
  background: url(../img/icon-limited615.png) center/100% auto no-repeat;
} */
.c-card__image.category_newshop:before {
  position: absolute;
  right: calc(1vw + 10px);
  bottom: 10px;
  width: 100%;
  height: 100%;
  max-width: 140px;
  max-height: 32px;
  background: url(../img/icon-newshop.png) center/100% auto no-repeat;
  content: "";
}
@media screen and (width <= 768px) {
  .c-card__image.category_newshop:before {
    right: calc(2vw + 5px);
    bottom: calc(2vw + 5px);
    max-width: 122px;
    max-height: 28px;
  }
}
.c-card__block {
  z-index: 2;
  border: solid 3px var(--light-blue-color);
  text-decoration: none;
  color: inherit;
  background: #fff;
  border-radius: 20px;
}
.-sweet .c-card__block {
  border-color: var(--orange-color);
}
.c-card__info {
  position: relative;
  z-index: 2;
  margin: 0 auto;
}
/* @media screen and (width <= 768px) {
  .c-card__info {
    margin-bottom: 5vh;
    padding: 0 4vw;
  }
} */
.c-card__name {
  margin-bottom: 1.5vw;
  padding-inline: 0.9vw;
  font-size: clamp(1.5rem, 1.309rem + 0.32vw, 1.8rem);
  font-weight: 600;
  line-height: 1.6em;
}
.c-card__name > span {
  background: linear-gradient(transparent 60%, var(--yellow-color) 60%);
}
@media screen and (width <= 768px) {
  .c-card__block {
    border-width: 2px;
    border-radius: 16px;
  }
  .c-card__name {
    margin-bottom: 2vw;
    padding-inline: 3vw;
    font-size: clamp(1.2rem, 1.076rem + 0.32vw, 1.5rem);
  }
}
.c-card__shop {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 10px;
  padding: 0.9vw;
  overflow: hidden;
}
.c-card__shop::after {
  position: absolute;
  inset: 0;
  z-index: 0;
  content: "";
  pointer-events: none;
}
.-gourmet .c-card__shop::after {
  background: repeating-linear-gradient(
    135deg,
    #d9eef8 0,
    #d9eef8 2px,
    #eaf5fb 2px,
    #eaf5fb 10px
  );
}
.-sweet .c-card__shop::after {
  background: repeating-linear-gradient(
    135deg,
    #fadcc4 0,
    #fadcc4 2px,
    #fbe8d7 2px,
    #fbe8d7 10px
  );
}
.c-card__shop-logo {
  position: relative;
  z-index: 1;
  width: 40%;
  max-width: 140px;
  aspect-ratio: 16 / 9;
  background: var(--white-color);
}
.c-card__shop-logo img {
  width: 100%;
  height: auto;
  max-width: 350px;
}
.c-card__shop-detail {
  position: relative;
  z-index: 1;
  width: calc(60% - 10px);
  min-width: 90px;
}
.c-card__shop-detail .-floor {
  position: relative;
  margin-bottom: 5px;
  color: var(--white-color);
  font-size: clamp(1.2rem, 0.873rem + 0.5vw, 1.6rem);
  font-weight: bold;
  line-height: 1.3;
}
.c-card__shop-detail .-floor span {
  padding: 0 4px;
  background: var(--light-blue-color);
}
#sweet .c-card__shop-detail .-floor span {
  background: var(--orange-color);
}
.c-card__shop-detail .-floor span._ls {
  letter-spacing: -.2rem;
  padding: 0;
}
.c-card__shop-detail .-genre {
  padding-top: 4px;
  font-size: clamp(1.1rem, 0.873rem + 0.37vw, 1.4rem);
  line-height: 1.2;
}
@media screen and (width <= 768px) {
  .c-card__shop {
    gap: 2vw;
    padding: 3vw 3vw 4vw;
  }
  .c-card__shop-logo {
    width: auto;
    max-width: 80px;
  }
  .c-card__shop-detail {
    width: auto;
  }
}
@media screen and (width <= 550px) {
  .c-card__shop {
    flex-direction: column;
  }
}
.l-footer {
  position: relative;
  z-index: 5;
  padding: 100px 0;
  color: var(--white-color);
  background-image:
    url("../img/line_footer_pc.svg"),
    linear-gradient(
      to bottom,
      transparent 0,
      transparent calc(100vw * 33 / 1920),
      var(--blue-color) calc(100vw * 33 / 1920)
    );
  background-position: top center, top center;
  background-size: 100% auto, 100% 100%;
  background-repeat: no-repeat, no-repeat;
}

@media screen and (width <= 768px) {
  .l-footer {
    padding: 20vw 0 25vw;
    background-image:
      url("../img/line_footer_sp.svg"),
      linear-gradient(
        to bottom,
        transparent 0,
        transparent calc(100vw * 10 / 375),
        var(--blue-color) calc(100vw * 10 / 375)
      );
    background-position: top center, top center;
    background-size: 100% auto, 100% 100%;
    background-repeat: no-repeat, no-repeat;
  }
}
.p-footer__caution {
  margin: 0 auto;
  font-size: 1.2rem;
  line-height: 2;
  text-align: center;
}
@media screen and (width <= 768px) {
  .p-footer__caution {
    width: 94%;
    font-size: 1.2rem;
    text-align: left;
  }
}
@media screen and (width <= 768px) {
  .p-footer__caution > span {
    display: block;
    margin-bottom: 5px;
    padding-left: 1.2em;
    text-indent: -1.2em;
  }
}
.p-footer__caution > span::before {
  content: "窶ｻ ";
}
.p-footer__caution > .-block--pc {
  display: block;
}
.p-footer__logo {
  width: 213px;
  margin: 60px auto 0;
}
.p-footer__copyright {
  margin-top: 30px;
  font-size: 1.1rem;
}
.p-bottom-link {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 200;
  visibility: hidden;
  width: 100%;
  padding-bottom: 50px;
  opacity: 0;
  transition:
    opacity 0.35s ease,
    visibility 0s linear 0.35s;
  -webkit-transition:
    opacity 0.35s ease,
    visibility 0s linear 0.35s;
  pointer-events: none;
}
.p-bottom-link.fix {
  position: relative !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
}
@media screen and (width <= 768px) {
  .p-bottom-link {
    padding-bottom: 5vw;
  }
  .p-bottom-link.fix {
    padding-bottom: 15vw;
  }
}
.p-bottom-link ul {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  align-items: flex-end;
  justify-content: space-between;
  width: 90%;
  max-width: 735px;
  margin: 0 auto;
}
.p-bottom-link ul li {
  flex-basis: 47%;
}
.p-bottom-link ul li a {
  position: relative;
  display: block;
}
.p-bottom-link ul li a img.-hover {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
.p-bottom-link ul li a:hover img.-default,
.p-bottom-link ul li a:focus-within img.-default {
  opacity: 0;
}
.p-bottom-link ul li a:hover img.-hover,
.p-bottom-link ul li a:focus-within img.-hover {
  opacity: 1;
}
.p-bottom-link ul li a img {
  width: 100%;
  height: auto;
  max-width: 340px;
  filter: drop-shadow(7px 7px 0 rgba(0, 0, 0, 0.2));
}
.p-bottom-link.is-visible {
  visibility: visible;
  opacity: 1;
  transition-delay: 0s;
  -webkit-transition-delay: 0s;
  pointer-events: auto;
}
.modal {
  width: 100%;
  max-width: 460px !important;
  border: 3px solid var(--light-blue-color);
  color: inherit;
  border-radius: 24px !important;
  background-color: #fff;
  overflow: hidden;
}
.modal.-sweet {
  border-color: var(--orange-color);
}
.modal::before {
  position: absolute;
  top: -1px;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 20px;
  background-position: center top;
  background-size: contain;
  content: "";
  /* background: url(../img/modalframe_top.png) center/cover no-repeat; */
}
.modal__header {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  -webkit-box-pack: justify;
  -ms-flex-align: center;
  -ms-flex-pack: justify;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 25px;
  padding-inline: 30px;
}
.modal__header-logo {
  position: relative;
  width: 38%;
  height: auto;
  max-width: 120px;
}
@media screen and (768px < width) {
  .p-bottom-link ul li {
    flex-basis: 330px;
  }
  .p-bottom-link ul li + li {
    flex-basis: 340px;
  }
}
.modal__header-info {
  line-height: 1.4;
  text-align: right;
}
@media screen and (width <= 768px) {
  .modal__header-logo img {
    height: auto;
  }
  .modal__header-info {
    width: 57%;
  }
}
@media screen and (width <= 500px) {
  .modal__header-logo {
    width: 35%;
  }
    .modal__header-info {
    width: 62%;
  }
}
.modal__header-info .-name {
  margin-block: 5px 4px;
  font-size: 1.8rem;
  font-weight: 600;
}
@media screen and (width <= 768px) {
  .p-bottom-link ul li a img {
    filter: drop-shadow(3px 3px 0 rgba(0, 0, 0, 0.2));
  }
  .modal__header-info .-name {
    font-size: 1.6rem;
  }
}
.modal__header-info .-floor {
  position: relative;
  /* display: inline; */
  margin-bottom: 4px;
  /* padding-inline: 8px; */
  color: var(--white-color);
  font-size: 1.6rem;
  font-weight: bold;
  /* background: var(--light-blue-color); */
}
.modal__header-info .-floor > span {
  background: var(--light-blue-color);
  /* display: inline-block; */
}
.modal.-sweet .modal__header-info .-floor > span {
  background: var(--orange-color);
}
.modal.-gourmet .modal__header-info .-floor span {
  /* background: var(--light-blue-color); */
}
.modal__header-info .-floor > span span {
  padding-inline: 8px;
}
.modal__header-info .-floor > span span:first-child {
  padding-right: 4px;
}
@media screen and (width <= 768px) {
  .modal__header-info .-floor > span span:first-child {
    padding-inline: 8px;
  }
}
.modal__header-info .-floor > span span:last-child {
  padding-left: 4px;
}
@media screen and (width <= 768px) {
  .modal__header-info .-floor > span span:last-child {
    padding-inline: 8px;
  }
}


/* .modal.-sweet .modal__header-info .-floor span {
  background: var(--orange-color);
} */
@media screen and (width <= 768px) {
  .modal__header-info .-floor {
    word-wrap: break-word;
  }
}
/* .modal__header-info .-floor::before {
  position: absolute;
  left: -17px;
  width: 12px;
  height: 17px;
  background: url(../img/icon-pin.svg) no-repeat;
  content: "";
} */
.modal__header-info .-category {
  font-size: 1.5rem;
  font-weight: 500;
}
.modal__image {
  position: relative;
  margin-inline: 30px;
}
.modal__image img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  overflow: hidden;
}
.modal__image .new-badge {
  position: absolute;
  top: -15px;
  left: -15px;
  z-index: 10;
  width: 80px;
  height: 80px;
}
/* .modal__image.category_limited:before {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 100%;
  height: 100%;
  max-width: 70px;
  max-height: 70px;
  content: "";
}
@media screen and (width <= 768px) {
  .modal__image.category_limited:before {
    top: 5px;
    right: 5px;
  }
}
.modal__image.category_limited.-s224:before {
  background: url(../img/icon-limited224.png) center/100% auto no-repeat;
}
.modal__image.category_limited.-s225:before {
  background: url(../img/icon-limited225.png) center/100% auto no-repeat;
}
.modal__image.category_limited.-s228:before {
  background: url(../img/icon-limited228.png) center/100% auto no-repeat;
}
.modal__image.category_limited.-s290:before {
  background: url(../img/icon-limited290.png) center/100% auto no-repeat;
}
.modal__image.category_limited.-s574:before {
  background: url(../img/icon-limited574.png) center/100% auto no-repeat;
}
.modal__image.category_limited.-s615:before {
  background: url(../img/icon-limited615.png) center/100% auto no-repeat;
} */
.modal__image.category_newshop:before {
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: 100%;
  height: 100%;
  max-width: 140px;
  max-height: 32px;
  background: url(../img/icon-newshop.png) center/100% auto no-repeat;
  content: "";
}
@media screen and (width <= 768px) {
  .modal__image.category_newshop:before {
    right: calc(2vw + 5px);
    bottom: calc(2vw + 5px);
    max-width: 122px;
    max-height: 28px;
  }
}
.modal__detail {
  margin: 15px 0 10px;
  padding-inline: 30px;
  font-weight: bold;
  line-height: 1.2;
}
.modal__detail .-item {
  font-size: 1.8rem;
}
.modal__detail .-item span {
  background: linear-gradient(transparent 60%, var(--yellow-color) 60%);
}
.modal__detail .-item span {
  display: inline;
  background: linear-gradient(transparent 60%, var(--yellow-color) 60%);
}
@media screen and (width <= 768px) {
  .modal__detail .-item {
    font-size: 1.6rem;
  }
}
.modal__detail .-price {
  display: inline;
  font-size: 2rem;
  font-weight: 900;
  background: linear-gradient(transparent 60%, var(--yellow-color) 60%);
}
.modal__detail .-price span {
  font-size: 1.4rem;
  font-weight: bold;
}
@media screen and (width <= 768px) {
  .modal__detail .-price {
    font-size: 1.8rem;
  }
  .modal__detail .-price span {
    font-size: 1.6rem;
  }
}
.modal__explain {
  margin: 0 0 15px;
  padding-inline: 30px;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (width <= 768px) {
  .modal__explain {
    font-size: 1.4rem;
  }
}
.modal__explain .-caution {
  font-size: 1.2rem;
}
.modal__link {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  padding: 18px 30px;
  font-size: 1.4rem;
  line-height: 1.6;
  text-align: right;
  overflow: hidden;
}
.modal__link.-child {
  padding: 34px;
}
.modal__link.-child::before {
  position: absolute;
  top: 6px;
  left: 20px;
  z-index: 10;
  width: 100%;
  height: 100%;
  max-width: 80px;
  max-height: 80px;
  background: url("../img/icon_kidsmenu.png") center/100% auto no-repeat;
  content: "";
}
.modal__link::after {
  position: absolute;
  inset: 0;
  z-index: 0;
  content: "";
  pointer-events: none;
}
.modal.-gourmet .modal__link::after {
  background: repeating-linear-gradient(
    135deg,
    #d9eef8 0,
    #d9eef8 2px,
    #eaf5fb 2px,
    #eaf5fb 10px
  );
}
.modal.-sweet .modal__link::after {
  background: repeating-linear-gradient(
    135deg,
    #fadcc4 0,
    #fadcc4 2px,
    #fbe8d7 2px,
    #fbe8d7 10px
  );
}
@media screen and (width <= 768px) {
  .modal__link {
    font-size: 1.5rem;
    font-weight: bold;
  }
}
.modal__link > a {
  position: relative;
  z-index: 1;
  padding: 0 30px 2px 0;
  text-decoration: none;
  color: inherit;
}
.modal__link > a:hover {
  opacity: 0.7;
}
.modal__link > a::after {
  position: absolute;
  bottom: -1px;
  right: 0;
  width: 24px;
  height: 24px;
  content: "";
  background: url("../img/btn_shop_gourmet.svg") center/contain no-repeat;
}
.-sweet .modal__link > a::after {
  background: url("../img/btn_shop_sweets.svg") center/contain no-repeat;
}
.modal .close {
  width: 100%;
  height: 44px;
  text-align: center;
  opacity: 1;
  background: var(--light-blue-color);
  border-bottom-left-radius: 21px;
  border-bottom-right-radius: 21px;
  overflow: hidden;
}
.modal.-sweet .close {
  background: var(--orange-color);
}
.modal .close > a {
  display: block;
  width: 100%;
  height: 100%;
  font-size: 34px;
  line-height: 1.2;
  text-decoration: none;
  color: #fff;
  cursor: pointer;
}
/* @-webkit-keyframes xfade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes xfade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
} */
html {
  scrollbar-gutter: stable;
}
html.is-modal-open {
  overflow: hidden;
  scrollbar-gutter: auto;
}
html.is-modal-open body {
  overflow: hidden;
}
html.is-modal-open .l-container {
  overflow: hidden;
}
.iziModal-scroll-port {
  position: fixed;
  top: 0;
  right: auto;
  bottom: 0;
  left: 0;
  z-index: 999;
  width: 100vw;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
}
.iziModal-scroll-port::-webkit-scrollbar {
  display: none;
}
.iziModal-scroll-port.is-idle {
  visibility: hidden;
  pointer-events: none;
}
/* .iziModal-scroll-port.is-transitioning {
  overflow: hidden;
} */
.iziModal-scroll-port__backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  width: 100vw;
  background-color: rgba(0, 0, 0, 0.4);
  pointer-events: none;
}
.iziModal-scroll-port__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  padding: 20px;
  box-sizing: border-box;
  isolation: isolate;
  pointer-events: none;
}
.iziModal-scroll-port > .iziModal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0 !important;
  width: 100vw;
  background-color: transparent !important;
  pointer-events: auto;
}
.iziModal-scroll-port .iziModal {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  z-index: 1 !important;
  width: 100%;
  height: auto !important;
  max-height: none !important;
  margin: auto;
  text-align: left;
  overflow: visible !important;
  filter: drop-shadow(6px 6px 0 rgba(0, 0, 0, 0.3));
  pointer-events: auto;
}
.iziModal-scroll-port .iziModal.transitionIn,
.iziModal-scroll-port .iziModal.fadeInUp,
.iziModal-scroll-port .iziModal.fadeInRight,
.iziModal-scroll-port .iziModal.fadeInLeft {
  z-index: 1 !important;
}
.iziModal .iziModal-content {
  position: relative;
  padding: 25px 0 0 !important;
}
.iziModal-scroll-port .iziModal .iziModal-wrap {
  height: auto !important;
  scrollbar-width: none;
}
.iziModal-scroll-port .iziModal .iziModal-wrap::-webkit-scrollbar {
  display: none;
}
.iziModal .iziModal-wrap {
  overflow: visible;
}
.iziModal-navigate {
  position: fixed;
  z-index: 1001 !important;
}
.iziModal-navigate>button {
  width: 90px;
  opacity: 1;
}
@media screen and (hover: hover) {
  .iziModal-navigate>button:hover {
    opacity: 0.5;
  }
}
@media screen and (width <= 768px) {
  .iziModal-scroll-port__inner {
    padding: 3vw;
  }
  .iziModal-scroll-port .iziModal {
    filter: drop-shadow(3px 3px 0 rgba(0, 0, 0, 0.3));
  }
  .iziModal .iziModal-content {
    padding: 4.5vw 0 0 !important;
  }
  .modal__header {
    margin-bottom: 5vw;
  }
  .modal__detail {
    margin-block: 3vw 1vw;
  }
  .modal__header,
  .modal__detail,
  .modal__explain,
  .modal__link {
    padding-inline: 5vw;
  }
  .modal__image {
    margin-inline: 5vw;
  }
  .iziModal-navigate>button {
    width: 60px;
    background: none;
  }
}
/* .-gourmet .iziModal-content:before {
  background: -webkit-gradient(
    linear,
    left bottom,
    left top,
    from(#3e4672),
    to(#201c19)
  );
  background: linear-gradient(0deg, #3e4672, #201c19);
}
.-sweet .iziModal-content:before {
  background: -webkit-gradient(
    linear,
    left bottom,
    left top,
    from(#6f070d),
    to(#201c19)
  );
  background: linear-gradient(0deg, #6f070d, #201c19);
} */

