@charset "UTF-8";
@import "https://fonts.googleapis.com/css2?family=Radley&family=Noto+Sans+JP:wght@500..700&display=swap";

*, *:before, *:after {
  box-sizing: border-box
}

body {
  position: relative;
  -webkit-print-color-adjust: exact;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  -webkit-font-variant-ligatures: none;
  font-variant-ligatures: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  line-height: 1
}

html, body, h1, h2, h3, h4, h5, h6, ul, ol, li, dl, dt, dd, figure, figcaption, form, textarea, fieldset, legend, blockquote {
  margin: 0;
  padding: 0;
  border: none
}

.clearfix:after {
  content: "";
  display: block;
  clear: both
}

* html body {
  font-size: small;
  font: x-small
}

*:first-child + html body {
  font-size: small;
  font: x-small
}

a {
  overflow: hidden
}

a:hover {
  overflow: hidden;
  text-decoration: none
}

img {
  max-width: 100%;
  height: auto;
  font-size: 0;
  line-height: 0;
  /*vertical-align: bottom;*/
  border-width: 0
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%
}

ul, dl, ol, dd {
  text-indent: 0;
  margin: 0;
  padding: 0
}

ul, ol {
  padding: 0;
  list-style: none
}

address, caption, cite, code, dfn, th, var {
  font-style: normal
}

input, button, select, textarea {
  font: inherit
}

input {
  vertical-align: middle
}

textarea {
  resize: vertical
}

* html input, * html textarea, * html select {
  font-size: 100%
}

*:first-child + html + input, *:first-child html + textarea, *:first-child + html select {
  font-size: 100%
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: inherit;
  width: 100% !important;
  font-size: 100%
}

table table {
  font-size: 100%
}

th, td {
  border: none;
  font-size: 100%
}

caption {
  text-align: left
}

input, select, textarea {
  font-size: 100%
}

button {
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: none;
  -webkit-appearance: none;
  cursor: pointer
}

input[type=submit], input[type=button], input[type=reset] {
  cursor: pointer
}

p {
  margin: 0;
  padding: 0
}

.x1 {
  text-align: left !important
}

.x2 {
  text-align: center !important
}

.x3 {
  text-align: right !important
}

.f1 {
  float: left
}

.f2 {
  float: right
}

:root {
  --color-main: #33acce;
  --color-main-bg: #f0f7f7;
  --color-sub: #76cece;
  --color-grn: #2cc47f;
  --color-red: #ff5b5e;
  --color-ylw: #ffb02a;
  --color-hilite: #ffffb8;
  --color-blk: #303030;
  --color-gry: #999;
  --color-lgy1: #eceeee;
  --color-lgy2: #ddd;
  --color-lgy3: #ccc;
  --color-bronze: #ccb6b0;
  --color-silver: #ccc;
  --color-gold: #cdbfa2;
  --color-platina: #a2becd;
  --grad-color1: #2288ff;
  --grad-color2: #00bb77;
  --grad: linear-gradient(90deg, var(--grad-color1) 0%, var(--grad-color2) 100%);
  --grad-v: linear-gradient(0, var(--grad-color2) 0%, var(--grad-color1) 100%);
  --shadow1: 0 1px 6px rgba(0, 0, 0, .15);
  --shadow2: 0 1px 4px rgba(0, 0, 0, .05);
  --fz-base: 1.3rem;
  --inner-pd: 15px;
  --lh-base: 2;
  --ls-base: .05em;
  --radius-l: 10px;
  --radius-s: 5px;
  --header-height: 57px;
  --icn-tel: url(/img/icn/tel.svg);
  --icn-tel-wht: url(/img/icn/tel-wht.svg);
  --icn-mail: url(/img/icn/mail.svg);
  --icn-mail-wht: url(/img/icn/mail-wht.svg);
  --bg-watercolor: url(/img/bg.jpg);
  --font-base: "Noto Sans JP", "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif;
  --font-en: "Plus Jakarta Sans", sans-serif
}

html {
  font: 62.5% var(--font-base)
}

body {
  color: var(--color-blk);
  font-size: var(--fz-base);
  letter-spacing: var(--ls-base);
  line-height: var(--lh-base);
  font-weight: 500;
  -webkit-animation: loading 1.5s;
  animation: loading 1.5s;
  background: #fff;
  min-width: 1000px;
  padding-top: var(--header-height);
}

@keyframes loading {
  0% {
    opacity: .1
  }
  to {
    opacity: 1
  }
}

.load-circle{
  position: absolute;
  bottom: 40px;
  left: 50%;
  margin-left: -10px;
  width: 20px;
  height: 20px;
  clear: both;
  border: 4px rgba(51, 172, 206, 0.25) solid;
  border-top: 4px #33acce solid;
  border-radius: 50%;
  -webkit-animation: spCircRot .8s infinite linear;
  animation: spCircRot .8s infinite linear;
}
.__PREFIX__pull .load-circle{
  display: none;
}
@keyframes spCircRot {
  from { transform: rotate(0deg); }
  to { transform: rotate(359deg); }
}

[id] {
  scroll-margin-top: 80px
}

a {
  color: var(--color-blk);
  text-decoration: none;
  text-underline-offset: 2px
}

a:hover, .c-link {
  color: var(--color-main);
  text-decoration: underline
}

.c-link:hover {
  text-decoration: none
}

@media print, screen and (min-width: 900px) {
  a {
    transition: all .3s ease
  }
}

.font-en {
  font-family: var(--font-en);
  font-weight: 400;
  letter-spacing: 0
}

.wide {
  width: 100%
}

.iblock {
  display: inline-block
}

.block {
  display: block
}

.hide {
  display: none
}

.fl-left {
  float: left
}

.fl-right {
  float: right
}

.ta-left {
  text-align: left
}

.ta-center {
  text-align: center
}

.ta-right {
  text-align: right
}

.ta-just {
  text-align: justify
}

.fw-mid {
  font-weight: 500
}

.fw-bold {
  font-weight: 700
}

.li-disc, .li-decimal {
  padding-left: 1.5em
}

.li-disc {
  list-style: disc
}

.li-decimal {
  list-style: decimal
}

.link-disabled {
  cursor: default;
  pointer-events: none;
  opacity: .6
}

.flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap
}

.flex-between {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between
}

.flex-center {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center
}

.flex-align-center {
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center
}

.is-fixed {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0
}

.color-red {
  color: var(--color-red)
}

.color-main {
  color: var(--color-main)
}

.color-gry {
  color: var(--color-gry)
}

.color-grn {
  color: var(--color-grn)
}

.color-wht {
  color: #fff
}

.bg-common {
  background-color: var(--color-main-bg)
}

.marker {
  background: linear-gradient(transparent 60%, var(--color-hilite) 0%)
}

.hv-fade {
  transition: all .5s ease-out
}

.hv-fade:hover {
  opacity: .8
}

@media screen and (min-width: 768px) {
  a .hv-scale {
    transition: transform .5s ease-out;
    will-change: transform
  }

  a:hover .hv-scale {
    -webkit-transform: scale(1.05);
    transform: scale(1.05)
  }

  .pc-none {
    display: none
  }
}

@media screen and (max-width: 767px) {
  .sp-none {
    display: none
  }

  body {
    min-width: 0
  }
}

.inner {
  max-width: 1100px;
  max-width: clamp(1000px, 90%, 1100px);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--inner-pd);
  padding-right: var(--inner-pd)
}

.narrow-inner {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--inner-pd);
  padding-right: var(--inner-pd)
}

.l-global-nav-list a {
  position: relative;
  display: block;
  text-decoration: none;
  font-weight: 700
}

.l-global-nav-list a:before {
  content: "";
  display: block;
  height: 18px;
  background: no-repeat center/auto 100%
}

.l-global-nav-list .reserve a {
  background: var(--color-sub)
}

.l-global-nav-list .reserve a:before {
  background-image: url(../../img/icn/reserve-wht.svg)
}

.l-global-nav-list .alert, .l-drawer-nav-list .alert, .bnr-coupon .alert {
  position: absolute;
  top: 1em;
  left: 1.6em;
  right: 0;
  width: fit-content;
  min-width: 1.4em;
  height: 1.4em;
  margin: 0 auto;
  padding: .15em .3em;
  color: #fff;
  text-align: center;
  font-size: 1rem;
  font-weight: 900;
  font-family: var(--font-en);
  line-height: 1;
  letter-spacing: -.05em;
  background: var(--color-red);
  border-radius: 1em;
  transform: scale(.95)
}

.l-drawer-nav-list .alert {
  top: 1.5em;
  left: 8em;
  right: auto;
  margin: 0
}

.is-scroll_fixed {
  overflow: hidden
}

.overlay {
  position: fixed;
  z-index: 999;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  visibility: hidden;
  transition: background-color .3s ease-in, visibility .3s ease
}

.is-open.overlay {
  visibility: visible;
  background: #00000080;
  will-change: background-color
}

.l-drawer-nav {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  max-width: 330px;
  height: 100vh;
  visibility: hidden;
  background: var(--color-lgy1);
  will-change: backdrop-filter;
  transform: translate(-100%);
  transition: transform .5s cubic-bezier(.39, .58, .57, 1), visibility .5s cubic-bezier(.39, .58, .57, 1)
}

.l-drawer-nav:before {
  content: "";
  display: block;
  height: 3px;
  background: var(--grad)
}

.l-drawer-nav.is-open {
  visibility: visible;
  transform: translate(0)
}

.l-drawer-nav-head {
  padding: .65em .5em;
  background: var(--color-lgy1)
}

.l-drawer-nav-wrap {
  font-size: 1.4rem;
  height: calc(100% - 58px);
  overflow-y: auto;
  overscroll-behavior: none
}

.l-drawer-nav-mypage a, .l-drawer-nav-login a, .l-drawer-nav-logout a {
  position: relative;
  display: block;
  padding: .9em 1em .85em 3.75em;
  background: #fff
}

.l-drawer-nav-mypage a:before, .l-drawer-nav-login a:before, .l-drawer-nav-logout a:before {
  content: "";
  position: absolute;
  top: 1em;
  left: 1.2em;
  width: 1.786em;
  height: 1.786em;
  background: no-repeat center/100%
}

.l-drawer-nav-mypage a:hover, .l-drawer-nav-login a:hover, .l-drawer-nav-logout a:hover {
  color: inherit;
  text-decoration: none;
  background: #f5f5f5
}

.l-drawer-nav-mypage {
  border-bottom: 1px solid #e5e5e5
}

.l-drawer-nav-mypage a:before {
  background-image: url(../../img/icn/account-lgy.svg)
}

.l-drawer-nav-login a:before {
  background-image: url(../../img/icn/unlock-wht.svg)
}

.l-drawer-nav-logout a:before {
  background-image: url(../../img/icn/lock-wht.svg)
}

.l-drawer-nav-login a, .l-drawer-nav-logout a {
  color: #fff;
  background: var(--color-blk)
}

.l-drawer-nav-login a:hover, .l-drawer-nav-logout a:hover {
  color: #fff;
  background: #444
}

.l-drawer-nav-list {
  margin: 2px 0
}

.l-drawer-nav-list li {
  position: relative;
  border-bottom: 1px solid #e5e5e5
}

.l-drawer-nav-list a {
  display: block;
  padding: .9em 2.5em .9em 1.4em;
  background: #fff;
  transition: background-color .3s ease-in
}

.l-drawer-nav-list a.active, .l-drawer-nav-list a:hover {
  color: var(--color-blk);
  text-decoration: none;
  background: #f5f5f5
}

.l-drawer-nav-list a:before {
  content: "";
  position: absolute;
  bottom: 0;
  top: 1.55em;
  right: 1.5em;
  width: 8px;
  height: 8px;
  border-top: 1px solid var(--color-main);
  border-right: 1px solid var(--color-main);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: all .5s;
  transition: all .5s
}

.l-drawer-nav-child {
  height: 0;
  visibility: hidden;
  transition: height .3s ease-out, visibility .3s ease-out
}

.l-drawer-nav-child.is-open {
  visibility: visible
}

.l-drawer-nav-child li {
  border-bottom: none
}

.l-drawer-nav-child li:not(:last-child) {
  border-bottom: 1px solid #66c1da
}

.l-drawer-nav-child a {
  color: #fff;
  background: var(--color-main)
}

.l-drawer-nav-child a:hover {
  color: #fff;
  background: var(--color-main-hover)
}

.l-drawer-nav-child a:before {
  border-top-color: #fff;
  border-right-color: #fff
}

.dd-btn {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: block;
  width: 48px;
  height: 50px;
  z-index: 10;
  cursor: pointer;
  background: #fff
}

.dd-btn:before, .dd-btn:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 25%;
  height: 1px;
  margin: auto;
  background: var(--color-main);
  border-radius: 2px;
  transition: transform .3s ease-out
}

.dd-btn:after {
  transform: rotate(-90deg)
}

.dd-btn.is-open:after {
  transform: rotate(0)
}

.menu-btn {
  position: relative;
  margin: auto 0;
  width: 50px;
  height: 50px;
  cursor: pointer;
  z-index: 999
}

.menu-btn:focus-visible {
  outline: auto
}

.menu-btn.is-alert:before {
  content: "";
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 2;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-red)
}

.menu-btn, .menu-btn span {
  display: block;
  -webkit-transition: all .5s;
  transition: all .5s
}

.menu-bar {
  position: relative;
  width: 15px;
  height: 15px;
  margin: 0 auto
}

.menu-bar:before, .menu-bar:after, .menu-bar span {
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  height: 3px;
  border-radius: 3px;
  content: "";
  -webkit-transition: all .5s ease-out;
  transition: all .5s ease-out;
  background: #333
}

.menu-bar:before {
  top: 0
}

.menu-bar span {
  top: 6px
}

.menu-bar:after {
  bottom: 0
}

.close-btn {
  position: relative;
  display: block;
  width: 22px;
  height: 22px;
  margin-left: auto;
  border: 8px solid transparent;
  box-sizing: content-box
}

.close-btn:before, .close-btn:after {
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  border-radius: 3px;
  content: "";
  -webkit-transition: all .5s ease-out;
  transition: all .5s ease-out;
  background: var(--color-main)
}

.close-btn:before {
  top: 0;
  transform: translateY(10px) rotate(-45deg)
}

.close-btn:after {
  bottom: 0;
  transform: translateY(-10px) rotate(45deg)
}

.l-footer-nav {
  padding: 20px 0
}

.l-footer-nav-list {
  display: flex;
  justify-content: center;
  gap: 18px
}

.l-footer-nav-list a {
  text-align: center;
  font-size: 1rem;
  font-weight: 700
}

.l-footer-nav-list a:before {
  content: "";
  display: block;
  height: 20px;
  background: no-repeat center/auto 100%
}

.l-footer-nav-list a:hover {
  opacity: .7;
  color: var(--color-blk);
  text-decoration: none
}

.l-footer-nav-list .history a:before {
  background-image: url(../../img/icn/history-blk.svg)
}

.l-footer-nav-list .shop a:before {
  background-image: url(../../img/icn/map-blk.svg)
}

.l-footer-nav-list .faq a:before {
  background-image: url(../../img/icn/faq-blk.svg)
}

.l-footer-nav-list .contact a:before {
  background-image: url(../../img/icn/mail-blk.svg)
}

.l-copyright {
  float: left;
  padding: .85em 0;
  font-family: var(--font-en);
  color: var(--color-gry);
  text-align: center
}

.l-copyright small {
  font-size: 1.1rem
}

.r-copyright {
  float: right;
  padding: .85em 0;
  font-family: var(--font-en);
  color: var(--color-gry);
  text-align: center
}

.r-copyright small {
  font-size: 1.1rem
}

.favorite_shop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10000;
  background: #000c;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease, visibility .3s ease
}

.favorite_shop.is-open {
  opacity: 1;
  visibility: visible
}

.favorite_shop > .inner {
  height: 100%
}

.favorite_shop-content {
  position: relative;
  height: 100%;
  padding: 40px 0;
  display: flex;
  flex-direction: column;
  justify-content: end
}

.favorite_shop-scroll {
  overflow-x: auto
}

.favorite_shop-close {
  position: absolute;
  top: 20px;
  right: 0;
  width: 50px;
  height: 50px;
  padding: 8px
}

.favorite_shop-close ion-icon {
  color: #fff;
  width: 100%;
  height: 100%
}

.favorite_shop-ttl {
  margin-bottom: 1em;
  color: #fff;
  font-weight: 700
}

.favorite_shop-list li {
  margin-bottom: 10px
}

.favorite_shop-list .thumb {
  width: 30%;
  max-width: 160px;
  margin-right: 1em;
  aspect-ratio: 4/2
}

.favorite_shop-list .thumb img {
  object-fit: contain;
  width: 100%;
  height: 100%
}

.favorite_shop-list a {
  display: flex;
  align-items: center;
  padding: 5px 1em;
  background: #fff;
  border-radius: var(--radius-l);
  box-shadow: var(--shadow1)
}

.favorite_shop-list a:hover {
  color: inherit;
  text-decoration: none;
  opacity: .9
}

.favorite_shop-list .shopname {
  font-weight: 700;
  line-height: 1.5;
  flex: 1
}

#modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background: #0003;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease, visibility 0s .3s
}

#modal-overlay.is-open {
  opacity: 1;
  visibility: visible;
  transition: opacity .3s ease
}

#modal-content {
  position: relative;
  max-width: 90%;
  padding: 2.5em 3em;
  text-align: center;
  line-height: 1.5;
  border-radius: var(--radius-s);
  background: #fff
}

#modal-close {
  position: absolute;
  top: 10px;
  right: 10px;
  cursor: pointer
}

#modal-close ion-icon {
  width: 1.2em;
  height: 1.2em;
  color: var(--color-main)
}

._signup .l-wrapper {
  padding-top: 40px;
  padding-bottom: 40px
}

._bg-main {
  padding-top: 10px;
  padding-bottom: 24px;
  background: var(--color-main-bg)
}

.l-contents {
  padding-top: 26px;
  padding-bottom: 50px
}

._tab_page .l-contents {
  padding-top: 30px
}

.l-page-head {
  font-weight: 700
}

.l-page-head-signup {
  margin-bottom: 1.85em;
  font-size: 1.8rem;
  color: var(--color-main);
  text-align: center
}

.l-page-tab-list a {
  display: block;
  padding: .5em 1em;
  font-weight: 700
}

.l-page-tab-list a:hover {
  color: inherit;
  text-decoration: none
}

.c-conttl1 {
  margin-bottom: 1.7em;
  padding-bottom: .7em;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.5;
  border-bottom: 1px solid rgba(0, 0, 0, .05)
}

.c-conttl2 {
  margin-bottom: 1.5em;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5
}

.c-subttl1 {
  margin-bottom: 1.2em;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .01em
}

.c-btn-wrap {
  margin: 1.4em 0
}

.c-btn {
  display: inline-block;
  min-width: 210px;
  padding: .74em 1.5em;
  color: #fff;
  text-align: center;
  font-size: 1.3rem;
  font-weight: 700;
  border-radius: 1.74em;
  background: var(--color-main);
  cursor: pointer;
  transition: filter .3s ease
}

.c-btn:hover {
  text-decoration: none;
  color: #fff
}

.c-btn:not(._border):hover {
  filter: saturate(80%) brightness(85%) contrast(160%)
}

.c-btn._wid_s {
  min-width: 10em
}

.c-btn[class*=icon-]:before {
  content: "";
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  margin-right: .5em;
  vertical-align: -.35em;
  background: no-repeat center/100%
}

.c-btn2 {
  display: inline-block;
  padding: .62em 1.75em;
  color: #fff;
  text-align: center;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.5;
  border-radius: 1.8em;
  background: var(--color-main);
  cursor: pointer;
  transition: filter .3s ease
}

.c-btn2:hover {
  text-decoration: none;
  color: #fff
}

.c-btn2:not(._border):hover {
  filter: saturate(80%) brightness(85%) contrast(160%)
}

.c-small_btn {
  display: inline-block;
  padding: .66em 1.17em;
  color: #fff;
  text-align: center;
  line-height: 1;
  font-size: 1.3rem;
  font-weight: 700;
  border-radius: 1.5em;
  background: var(--color-main);
  cursor: pointer;
  transition: filter .3s ease
}

.c-small_btn:hover {
  text-decoration: none;
  color: #fff;
  filter: saturate(80%) brightness(85%) contrast(160%)
}

.c-btn ion-icon, .c-btn2 ion-icon, .c-small_btn ion-icon {
  width: 1.5em;
  height: 1.5em;
  vertical-align: -.35em;
  margin-right: .5em
}

.c-btn._border, .c-btn2._border, .c-small_btn._border {
  position: relative;
  overflow: hidden;
  z-index: 2;
  color: var(--color-main)
}

.c-btn._border:after, .c-btn2._border:after, .c-small_btn._border:after {
  content: "";
  position: absolute;
  top: 2px;
  right: 2px;
  bottom: 2px;
  left: 2px;
  z-index: -1;
  border-radius: 1.8em;
  background: #fff;
  transition: opacity .3s ease
}

.c-btn._border:hover:after, .c-btn2._border:hover:after, .c-small_btn._border:hover:after {
  opacity: .9
}

.c-btn._color-blk, .c-small_btn._color-blk {
  background: var(--color-blk)
}

.c-btn._border._color-blk, .c-small_btn._border._color-blk {
  color: var(--color-blk)
}

.c-btn._color-wht, .c-small_btn._color-wht {
  color: var(--color-main);
  background: #fff
}

.c-btn._color-red, .c-small_btn._color-red {
  background: var(--color-red)
}

.c-btn._border._color-red, .c-small_btn._border._color-red {
  color: var(--color-red)
}

.c-btn._color-grn, .c-small_btn._color-grn {
  background: var(--color-grn)
}

.c-btn._border._color-grn, .c-small_btn._border._color-grn {
  color: var(--color-grn)
}

.c-btn._color-gry, .c-btn2._color-gry, .c-small_btn._color-gry {
  color: #666;
  background: var(--color-lgy3)
}

.c-btn._back {
  color: var(--color-gry);
  border: 1px solid var(--color-gry);
  background: none
}

.c-btn._back ion-icon, .c-btn2._back ion-icon {
  width: 1.2em;
  height: 1.2em;
  vertical-align: -.22em
}

.c-btn2._back {
  color: var(--color-blk);
  font-weight: 500;
  box-shadow: var(--shadow2);
  background: var(--color-lgy2)
}

.c-btn2._back:after {
  top: 1px;
  right: 1px;
  bottom: 1px;
  left: 1px
}

.c-btn.icon-point:before {
  background-image: url(../../img/icn/point2-wht.svg)
}

.c-btn._reserve {
  background: var(--color-sub)
}

.c-btn._border._reserve {
  color: var(--color-sub)
}

.favorite_btn {
  padding: .25em
}

.favorite_btn:before {
  content: "";
  width: 16px;
  height: 16px;
  display: block;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 29 28" fill="%23ffffff" stroke="%23aaaaaa" stroke-width="2"><path d="M14.901,1.208l4.32,7.14c.067,.108,.176,.183,.3,.21l8.12,1.91c.252,.06,.408,.314,.348,.566-.017,.071-.051,.138-.098,.194l-5.46,6.32c-.08,.094-.12,.217-.11,.34l.7,8.32c.023,.253-.163,.477-.416,.5-.08,.007-.161-.006-.234-.04l-7.69-3.23c-.115-.05-.245-.05-.36,0l-7.69,3.23c-.231,.106-.504,.005-.61-.226-.034-.073-.047-.154-.04-.234l.7-8.32c.01-.123-.03-.246-.11-.34L1.111,11.228c-.167-.198-.142-.495,.056-.662,.056-.047,.122-.081,.194-.098l8.14-1.91c.124-.027,.233-.102,.3-.21L14.121,1.208c.145-.215,.437-.273,.652-.128,.05,.034,.094,.077,.128,.128Z"/></svg>');
  background-size: 100%;
  background-repeat: no-repeat
}

.favorite_btn.is-active:before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 29 28" fill="%23ffb02a" stroke="%23ffb02a" stroke-width="2"><path d="M14.901,1.208l4.32,7.14c.067,.108,.176,.183,.3,.21l8.12,1.91c.252,.06,.408,.314,.348,.566-.017,.071-.051,.138-.098,.194l-5.46,6.32c-.08,.094-.12,.217-.11,.34l.7,8.32c.023,.253-.163,.477-.416,.5-.08,.007-.161-.006-.234-.04l-7.69-3.23c-.115-.05-.245-.05-.36,0l-7.69,3.23c-.231,.106-.504,.005-.61-.226-.034-.073-.047-.154-.04-.234l.7-8.32c.01-.123-.03-.246-.11-.34L1.111,11.228c-.167-.198-.142-.495,.056-.662,.056-.047,.122-.081,.194-.098l8.14-1.91c.124-.027,.233-.102,.3-.21L14.121,1.208c.145-.215,.437-.273,.652-.128,.05,.034,.094,.077,.128,.128Z"/></svg>')
}

.heart_btn {
  padding: .25em
}

.heart_btn:before {
  content: "";
  width: 24px;
  height: 22px;
  display: block;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 28.273" fill="%23ffffff" stroke="%23ff5b5e" stroke-width="2"><path d="M28.836,3.367c-1.526-1.526-3.556-2.367-5.714-2.367h0c-2.158,0-4.187,.841-5.713,2.367l-1.409,1.408-1.408-1.408C11.441,.216,6.315,.216,3.164,3.367-.01,6.541,.347,12.303,3.976,16.485c3.293,3.794,11.012,10.266,11.339,10.54,.198,.166,.442,.249,.685,.249s.487-.083,.685-.249c.327-.274,8.046-6.746,11.339-10.54,3.629-4.181,3.986-9.944,.812-13.118Z"/></svg>');
  background-size: 100%;
  background-repeat: no-repeat
}

.heart_btn.is-active:before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 28.273" fill="%23ff5b5e" stroke="%23ff5b5e" stroke-width="2"><path d="M28.836,3.367c-1.526-1.526-3.556-2.367-5.714-2.367h0c-2.158,0-4.187,.841-5.713,2.367l-1.409,1.408-1.408-1.408C11.441,.216,6.315,.216,3.164,3.367-.01,6.541,.347,12.303,3.976,16.485c3.293,3.794,11.012,10.266,11.339,10.54,.198,.166,.442,.249,.685,.249s.487-.083,.685-.249c.327-.274,8.046-6.746,11.339-10.54,3.629-4.181,3.986-9.944,.812-13.118Z"/></svg>')
}

.c-text-danger {
  color: var(--color-red)
}

.c-sec:not(:last-child) {
  margin-bottom: 50px
}

.c-tabs {
  overflow-x: auto;
  display: flex;
  width: fit-content;
  max-width: 100%;
  white-space: nowrap;
  margin: 1.5em auto;
  font-size: 1rem;
  background: #fff;
  border-radius: 1em;
  -ms-overflow-style: none;
  scrollbar-width: none
}

.c-tabs > li {
  display: block
}

.c-tabs::-webkit-scrollbar {
  display: none
}

.c-tabs.st-border {
  border: 1px solid #eee
}

.c-tabs.st-shadow {
  box-shadow: var(--shadow1)
}

.c-tabs .tab {
  display: block;
  padding: .65em 1.8em;
  color: var(--color-blk);
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  border-radius: 1em;
  transition: background-color .3s ease-in, color .3s ease-in
}

.c-tabs .tab:hover {
  text-decoration: none
}

.c-tabs .tab.is-active {
  color: #fff;
  background: var(--color-blk)
}

.c-card {
  display: block;
  padding: 1.25em 1.4em;
  border-radius: var(--radius-s);
  background: #fff;
  box-shadow: var(--shadow2)
}

.c-alert_msg {
  display: block;
  margin: 1.5em 0;
  padding: 1.25em 1.4em;
  border-radius: var(--radius-s);
  border-left: 4px solid var(--color-red);
  background: #fff;
  box-shadow: var(--shadow2)
}

.c-alert_msg .c-btn-wrap:last-child {
  margin-top: .75em;
  margin-bottom: 0
}

.pagination {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  justify-content: center;
  margin-top: 2em;
  font-size: 1.3rem;
  font-weight: 700
}

.pagination .pager, .pagination .prev, .pagination .next {
  position: relative;
  width: 2.6em;
  height: 2.6em;
  display: inline-block;
  margin: 3px;
  text-align: center;
  text-decoration: none
}

.pagination .pager {
  line-height: 2.5;
  color: var(--color-blk);
  font-family: var(--font-en);
  border-radius: var(--radius-s);
  background: #fff;
  box-shadow: var(--shadow2)
}

.pagination .pager:hover {
  background-color: #f5f5f5
}

.pagination .pager.current {
  cursor: default;
  color: #fff;
  background-color: var(--color-blk)
}

.pagination .prev:before, .pagination .next:before {
  content: "";
  position: absolute;
  top: .2em;
  bottom: 0;
  right: 0;
  left: 0;
  width: 8px;
  height: 8px;
  margin: auto;
  -webkit-transform: rotate(45deg) translateY(-3px);
  transform: rotate(45deg) translateY(-3px);
  border-style: solid;
  border-color: var(--color-blk)
}

.pagination .prev:before {
  left: .5em;
  border-width: 0 0 2px 2px
}

.pagination .next:before {
  right: .5em;
  border-width: 2px 2px 0 0
}

.pagination .prev.is-disable, .pagination .next.is-disable {
  cursor: default;
  pointer-events: none;
  opacity: 0;
  visibility: hidden
}

.l-alert {
  padding-top: 10px;
  padding-bottom: 10px
}

.l-alert-msg {
  display: flex;
  padding: .65em 1.5em .5em;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.55;
  border-radius: var(--radius-l);
  background: #fff;
  box-shadow: var(--shadow1)
}

.l-alert-msg:before {
  content: "";
  display: block;
  width: 1.5em;
  height: 1.5em;
  margin-top: .15em;
  margin-right: .75em;
  flex-shrink: 0;
  background: url(../../img/icn/check-red.svg) no-repeat center/100%
}

.splide__slide .member_card {
  padding: 5px 0 10px
}

.member_card-code {
  max-width: 270px;
  margin: 0 auto 1.5em
}

.member_card-code .number {
  margin-bottom: .75em;
  line-height: 1;
  font-size: 1.2rem;
  font-weight: 700
}

.member_card-code .number span {
  display: inline-block;
  margin-left: .35em;
  font-size: 1.5em;
  font-weight: 700
}

.member_point {
  text-align: center
}

.member_point-circle {
  position: relative;
  text-align: center;
  width: 196px;
  margin: 0 auto 10px;
  line-height: 1;
  font-size: 1.2rem
}

.member_point-circle svg {
  position: relative;
  transform: rotate(-90deg);
  --stroke-num: 0;
  --stroke-size: 565.5
}

.member_point-circle svg circle {
  position: relative;
  fill: none;
  stroke-width: 15;
  stroke: #eaf3f3;
  stroke-dasharray: var(--stroke-size);
  stroke-dashoffset: 0
}

.member_point-circle svg circle.line {
  stroke-dashoffset: calc(var(--stroke-size) - var(--stroke-size) * var(--stroke-num) / 100);
  stroke: var(--color-red);
  animation: circleAnim 1s
}

@keyframes circleAnim {
  0% {
    stroke-dasharray: 0 800
  }
  99.9%, to {
    stroke-dasharray: var(--stroke-size) var(--stroke-size)
  }
}

.member_point-circle-info {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 8%;
  padding: 8% 0 5%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  line-height: var(--lh-base)
}

.member_point-circle-info .current_pt {
  margin-bottom: .75em;
  line-height: 1.7
}

.member_point-circle-info .current_pt span, .member_point-circle-info .expire_pt span {
  display: block;
  font-size: 1.25em;
  line-height: 1
}

.member_point-circle-info .current_pt em, .member_point-circle-info .expire_pt em {
  display: inline-block;
  padding: 0 .15em;
  font-size: 2em;
  font-style: normal;
  font-weight: 700;
  letter-spacing: -.05em
}

.member_point-circle-info .expire_pt {
  font-size: .917em;
  line-height: 1.75
}

.member_point-circle-info .expire_pt span {
  font-size: 1.091em
}

.member_point-rank {
  margin-bottom: .85em;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  span.rate{
    display: inline-block;
    margin: -10px auto 8px;
    font-size: 2.4rem;
    vertical-align: bottom;
    color: #d3cdc2;
    padding: 0 0 0 58px;
    position: relative;
    &::before{
      content: "";
      position: absolute;
      bottom: -4px;
      left: 0;
      width: 48px;
      height: 48px;
      background: url("../../icon/user/rate.svg") left bottom no-repeat;
      background-size: 100% auto;
    }
    strong{
      font-size: 4.9rem;
    }
  }
  span.now{
    display: inline-block;
    font-size: 2.4rem;
    vertical-align: bottom;
    margin-bottom: 5px;
  }
  span.rank{
    display: inline-block;
    padding: 0;
    width: 120px;
    height: 48px;
    margin-left: .5em;
    line-height: 0;
    color: #fff;
    text-indent: -9999px;
    vertical-align: bottom;
    &.bronze {
      background: url("../../icon/user/bronz.svg") left bottom no-repeat;
      background-size: 100% auto;
    }
    &.silver {
      background: url("../../icon/user/silver.svg") left bottom no-repeat;
      background-size: 100% auto;
    }
    &.gold {
      background: url("../../icon/user/gold.svg") left bottom no-repeat;
      background-size: 100% auto;
    }
    &.platina {
      background: url("../../icon/user/platinum.svg") left bottom no-repeat;
      background-size: 100% auto;
    }
  }
}

.member_point-rank_up {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1
}

.member_point-rank_up span {
  display: inline-block;
  padding: 0 .15em;
  font-size: 1.273em;
  font-weight: 900
}

.js-dropdown-con {
  overflow: hidden;
  height: 0;
  visibility: hidden;
  transition: height .3s ease-out, visibility .3s ease-out
}

.js-dropdown-con.is-open {
  visibility: visible
}

@media screen and (min-width: 768px) {
  :root {
    --fz-base: 1.5rem;
    --lh-base: 1.8;
    --inner-pd: 50px;
    --header-height: 70px
  }

  .l-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #eee;
    background: #fff
  }

  .l-header-wrap {
    display: flex;
    padding-left: 30px
  }

  .l-header-logo {
    order: 2;
    padding-top: 12px;
    padding-left: 30px
  }

  .l-global-nav-list a {
    padding: 1.245em 1.4em 1.04em;
    color: #7d7d7d;
    font-size: 1.2rem
  }

  .l-global-nav-list a:before {
    margin-bottom: .25em
  }

  .l-global-nav-list a:hover {
    opacity: .8
  }

  .l-global-nav-list .reserve {
    order: 2;
    margin-left: .5em
  }

  .l-global-nav-list .reserve a {
    color: #fff;
    padding-left: 1.55em;
    padding-right: 1.55em
  }

  .l-global-nav-list .home a:before {
    background-image: url(../../img/icn/home-gry.svg)
  }

  .l-global-nav-list .point a:before {
    background-image: url(../../img/icn/point-gry.svg)
  }

  .l-global-nav-list .topics a:before {
    background-image: url(../../img/icn/topics-gry.svg)
  }

  .l-global-nav-list .account a:before {
    background-image: url(../../img/icn/account-gry.svg)
  }

  .l-global-nav-list .alert {
    top: 1.25em
  }

  .l-footer-nav-list {
    margin: 0 auto
  }

  .l-footer-nav-list {
    gap: 30px
  }

  .l-footer-nav-list a:before {
    height: 24px
  }

  .l-footer-nav-list a {
    font-size: 1.2rem
  }

  .l-copyright {
    text-align: left
  }

  .favorite_shop-list a {
    padding: 10px 2em
  }

  .favorite_shop-list .thumb {
    max-width: 140px;
    margin-right: 1.5em
  }

  .l-wrapper {
    min-height: 70vh;
  }

  ._signup .l-wrapper {
    padding-top: 60px;
    padding-bottom: 60px
  }

  .l-wrapper._tab_page {
    background: var(--color-main-bg)
  }

  .l-main {
    padding-top: 40px;
    padding-bottom: 40px
  }

  .l-alert + .l-main {
    padding-top: 30px
  }

  ._signup .l-main {
    padding-top: 0;
    padding-bottom: 0
  }

  .l-contents {
    padding-top: 0
  }

  ._bg-main .l-alert {
    padding-top: 20px
  }

  .l-alert {
    padding-top: 10px
  }

  .l-alert-msg {
    padding-top: 1em;
    padding-bottom: .9em;
    font-size: 1.3rem
  }

  .l-page-head {
    max-width: 1100px;
    max-width: clamp(1000px, 90%, 1100px);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--inner-pd);
    padding-right: var(--inner-pd);
    width: 100%;
    margin-bottom: 1.2em;
    font-size: 2.4rem
  }

  .l-page-head-signup {
    font-size: 2.4rem
  }

  ._tab_page .l-main-inner {
    max-width: 1100px;
    max-width: clamp(1000px, 90%, 1100px);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--inner-pd);
    padding-right: var(--inner-pd);
    display: flex;
    padding-bottom: 40px
  }

  ._tab_page .l-contents {
    width: 100%;
    padding: .2em 0 0
  }

  .l-page-tab {
    width: 240px;
    margin-right: 50px
  }

  .l-page-tab-list li {
    margin-bottom: .5em
  }

  .l-page-tab-list a {
    position: relative;
    padding-right: 0;
    line-height: 1.5;
    color: var(--color-gry)
  }

  .l-page-tab-list a:before {
    content: "";
    position: absolute;
    top: 1.15em;
    left: 0;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--color-gry)
  }

  .l-page-tab-list a.is-current, .l-page-tab-list a:hover {
    color: var(--color-blk)
  }

  .l-page-tab-list a.is-current:before {
    background: var(--color-main)
  }

  .c-conttl1, .c-conttl2 {
    font-size: 2rem
  }

  .c-subttl1 {
    font-size: 1.8rem
  }

  .c-tabs {
    margin-bottom: 3em;
    font-size: 1.3rem
  }
}

@media screen and (max-width: 767px) {
  .l-header-wrap {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
    display: flex;
    justify-content: space-between;
    background: #fff;
    padding: 20px 0 10px
  }

  .l-header {
    background-color: #fff;
  }

  .l-header-logo {
    width: 50px;
    margin-left: auto;
    margin-right: 20px;
    transform: scale(1.5);
  }

  ._signup .l-header-logo {
    margin-right: auto
  }

  .l-wrapper{
    .l-contents{
      padding-bottom: 20px;
    }
  }

  .menu-btn {
    position: absolute;
    top: 10px;
    bottom: 0;
    left: 0
  }

  .l-global-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 999;
    color: #fff;
    padding: 0 .5em 14px;
    background: var(--color-blk)
  }

  .l-global-nav-list li {
    flex: 1
  }

  .l-global-nav-list a {
    padding: 1.1em .5em .5em;
    color: #fff;
    font-size: 1rem;
    text-align: center
  }

  .l-global-nav-list .reserve {
    margin-top: -15px
  }

  .l-global-nav-list .reserve a {
    max-width: 70px;
    margin: 0 auto;
    padding-top: .7em;
    font-size: 1.2rem;
    line-height: 1.6;
    aspect-ratio: 1/1;
    border-radius: 50%;
    border: 7px solid var(--color-blk)
  }

  .l-global-nav-list .home a:before {
    background-image: url(../../img/icn/home-wht.svg)
  }

  .l-global-nav-list .point a:before {
    background-image: url(../../img/icn/point-wht.svg)
  }

  .l-global-nav-list .topics a:before {
    background-image: url(../../img/icn/topics-wht.svg)
  }

  .l-global-nav-list .account a:before {
    background-image: url(../../img/icn/account-wht.svg)
  }

  .l-footer {
    padding: 0 0 100px;
    .l-footer-nav{
      padding: 10px 0 0;
    }
    .l-copyright,
    .r-copyright{
      padding: 5px 0 .85em 0;
      small{
        font-size: .6rem;
      }
    }
  }

  ._signup .l-wrapper {
    margin-top: 10px
  }

  .l-page-head {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 999;
    margin: 0 auto;
    padding-top: 18px;
    text-align: center;
    font-size: 1.6rem
  }

  .l-page-tab {
    padding-left: 0;
    padding-right: 0
  }

  .l-page-tab-list a {
    text-align: center;
    font-size: 1.4rem;
    border-bottom: 2px solid #ccc
  }

  .l-page-tab a.is-current {
    border-bottom-color: var(--color-main)
  }

  .l-page-tab-list {
    display: flex;
    padding-top: 5px
  }

  .l-page-tab-list li {
    flex: 1
  }
}
#install-banner {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  padding: 15px 20px;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  display: flex;
  align-items: center;
  gap: 15px;
  z-index: 1000;
  .buttons {
    display: flex;
    gap: 10px;
    button {
      padding: 8px 16px;
      border: none;
      border-radius: 4px;
      cursor: pointer;
      &.install {
        background: #007bff;
        color: white;
      }
      &.later {
        background: #e9ecef;
        color: #212529;
      }
    }
  }
}
#notification-area{
  display: block;
  background: #fff;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100vw;
  padding: 20px 0;
  text-align: center;
  z-index: 999;
  h2{
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 10px;
  }
  button#notification-button{
    display: inline-block;
    padding: .62em 1.75em;
    color: #fff;
    text-align: center;
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.5;
    border-radius: 1.8em;
    cursor: pointer;
    transition: filter .3s ease;
    color: #fff;
    font-weight: 500;
    box-shadow: var(--shadow2);
    background: var(--color-main);
  }
}
@media screen and (max-width: 767px){
  #install-banner{
    left: 10%;
    transform: translateX(0);
    flex-direction: column;
    .text{
      display: block;
    }
    .buttons{
      display: block;
      button{
        margin: 0 5px;
      }
    }
  }
}

/* ***********************************
20260220　選択内容
*********************************** */

#selectionOptions {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  height: fit-content;
  max-height: 80%;
  transform: translateY(calc(100% - 35px));
  box-shadow: 4px -2px 0px 0px #f0f0f0;
  transition: 0.4s;
}
.r-confirmed #selectionOptions {
  display: none;
}
#selectionOptions .inner {
  max-width: clamp(1000px, 90%, 1100px);
  display: flex;
  justify-content: flex-end;
  padding: 0;
}
#selectionOptions .contents {
  width: 100%;
  max-width: 840px;
  padding: 20px 15px 25px;
}
#selectionOptions .content.staff {
  padding: 9px 35px 9px 40px;
}
#selectionOptions .content.staff .staff-box {
  display: grid;
  grid-template-columns: 1fr 120px;
  gap: 16px;
  align-items: center;
}
#selectionOptions .content.staff .staff-box .name {
  font-weight: bold;
  display: grid;
  grid-template-columns: 48px 1fr;
}
#selectionOptions .content.staff .staff-box .name::before {
  content: "指名：";
}
#selectionOptions .contents .open-option {
  width: 100%;
  height: 68px;
  background-color: #34acce;
  color: #fff;
  display: flex;
  align-items: center;
  padding: 0 40px;
  font-weight: bold;
  font-size: 2rem;
  border-radius: 3px;
  box-shadow: 2px -2px 5px 0px #c4d6d6;
  position: relative;
  z-index: 1;
  transform: translateY(-50px);
  transition: 0.4s;
}
#selectionOptions .contents .open-option::before {
  content: "";
  width: 22px;
  height: 3px;
  border-radius: 3px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  right: 40px;
  transform: translateY(-50%);
}
#selectionOptions .contents .open-option::after {
  content: "";
  width: 22px;
  height: 3px;
  border-radius: 3px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  right: 40px;
  transform: translateY(-50%) rotate(90deg);
  opacity: 1;
  transition: 0.4s;
}
#selectionOptions.active {
  transform: translateY(0);
  box-shadow: 4px -2px 6px -1px #f0f0f0;
}
#selectionOptions.active .contents .open-option {
  transform: translateY(0);
}
#selectionOptions.active .open-option::after {
  transform: translateY(-50%);
  opacity: 0;
}
#selectionOptions .c-area {
  height: fit-content;
  max-height: 60vh;
  padding: 20px 20px 10px;
  display: grid;
  gap: 20px;
  overflow: auto;
}
#selectionOptions .total {
  display: flex;
  justify-content: space-between;
  padding: 10px 50px 0;
}
#selectionOptions .total p:first-of-type {
  font-size: 1.8rem;
  font-weight: bold;
  color: #666666;
}
#selectionOptions .total p:last-of-type {
  font-size: 2rem;
  font-weight: bold;
  color: #00afd2;
}
#selectionOptions .total .en {
  font-family: var(--font-en);
}
#selectionOptions .content {
  box-shadow: var(--shadow1);
  border-radius: 7px;
}
#selectionOptions .content .open-box {
  width: 100%;
  height: 48px;
  display: flex;
  align-items: center;
  padding: 0 18px;
  border-radius: 7px;
  position: relative;
  z-index: 1;
  transition: 0.4s;
  color: var(--color-blk);
  font-weight: bold;
}
#selectionOptions .content .open-box::before {
  content: "";
  width: 14px;
  height: 2px;
  border-radius: 2px;
  background-color: var(--color-blk);
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}
#selectionOptions .content .open-box::after {
  content: "";
  width: 14px;
  height: 2px;
  border-radius: 2px;
  background-color: var(--color-blk);
  position: absolute;
  top: 50%;
  right: 20px;
  opacity: 1;
  transform: translateY(-50%) rotate(90deg);
  transition: 0.4s;
}
#selectionOptions .content .open-box.active {
  border-radius: 7px 7px 0 0;
}
#selectionOptions .content .open-box.active::after {
  transform: translateY(-50%);
  opacity: 0;
}
#selectionOptions .content .box {
  width: 100%;
  display: grid;
  grid-template-rows: 0fr;
  transition: 0.4s grid-template-rows ease;
}
#selectionOptions .content .open-box.active + .box {
  grid-template-rows: 1fr;
}
#selectionOptions .content .box > div {
  overflow: hidden;
}
#selectionOptions .course {
  padding: 25px 16px;
  font-weight: bold;
}
#selectionOptions .course .grid {
  display: grid;
  grid-template-columns: 1fr 120px;
  gap: 16px;
  align-items: center;
}
#selectionOptions .course > .grid {
  padding: 0 20px 0 8px;
  align-items: flex-start;
}
#selectionOptions .course .price,
#selectionOptions .staff-box .price {
  display: flex;
  flex-direction: column;
  align-items: center;
}
#selectionOptions .course .price .delete-course,
#selectionOptions .staff-box .price .delete-staff {
  margin-left: 40px;
}
#selectionOptions .course .price .delete-course svg path,
#selectionOptions .staff-box .price .delete-staff svg path {
  transition: 0.4s;
}
#selectionOptions .course .price .delete-course:hover svg path,
#selectionOptions .staff-box .price .delete-staff:hover svg path {
  fill: #ff5b5d;
}
#selectionOptions .course .price p,
#selectionOptions .staff-box .price p {
  color: #00afd2;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1;
  font-family: var(--font-en);
  text-align: right;
  width: 100%;
}
#selectionOptions .option-list {
  width: 100%;
  border: 1px solid #b0e7f2;
  border-radius: 4px;
  margin-top: 20px;
}
#selectionOptions .option-list .item {
  border-bottom: 1px solid #b0e7f2;
  padding: 16px 20px;
}
#selectionOptions .option-list .item:last-of-type {
  border-bottom: none;
}
#selectionOptions .course .price .delete-option,
#selectionOptions .course .price .delete-discount {
  margin-left: 40px;
}
#selectionOptions .course .price .delete-option svg path {
  transition: 0.4s;
}
#selectionOptions .course .price .delete-option:hover svg path {
  fill: #ff5b5d;
}
#selectionOptions .option-list .item .grid > p {
  position: relative;
  z-index: 1;
  padding-left: 20px;
}
#selectionOptions .option-list .item .grid > p::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
#selectionOptions .option-list .item.add .grid > p::before {
  content: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTEiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAxMSAxMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTYuMjg1NzEgMC43ODU3MTRDNi4yODU3MSAwLjM1MTExNiA1LjkzNDYgMCA1LjUgMEM1LjA2NTQgMCA0LjcxNDI5IDAuMzUxMTE2IDQuNzE0MjkgMC43ODU3MTRWNC43MTQyOUgwLjc4NTcxNEMwLjM1MTExNiA0LjcxNDI5IDAgNS4wNjU0IDAgNS41QzAgNS45MzQ2IDAuMzUxMTE2IDYuMjg1NzEgMC43ODU3MTQgNi4yODU3MUg0LjcxNDI5VjEwLjIxNDNDNC43MTQyOSAxMC42NDg5IDUuMDY1NCAxMSA1LjUgMTFDNS45MzQ2IDExIDYuMjg1NzEgMTAuNjQ4OSA2LjI4NTcxIDEwLjIxNDNWNi4yODU3MUgxMC4yMTQzQzEwLjY0ODkgNi4yODU3MSAxMSA1LjkzNDYgMTEgNS41QzExIDUuMDY1NCAxMC42NDg5IDQuNzE0MjkgMTAuMjE0MyA0LjcxNDI5SDYuMjg1NzFWMC43ODU3MTRaIiBmaWxsPSIjMzAzMDMwIi8+Cjwvc3ZnPg==);
}
#selectionOptions .option-list .item.staff .grid > p::before {
  content: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyLjQ2ODggMTIuMDA2M0MxMS43NzgxIDEwLjgwNjMgMTAuNDgxMiAxMCA5IDEwSDdDNS41MTg3NSAxMCA0LjIyMTg4IDEwLjgwNjMgMy41MzEyNSAxMi4wMDYzQzQuNjMxMjUgMTMuMjMxMyA2LjIyNSAxNCA4IDE0QzkuNzc1IDE0IDExLjM2ODcgMTMuMjI4MSAxMi40Njg4IDEyLjAwNjNaTTAgOEMwIDMuNTgxMjUgMy41ODEyNSAwIDggMEMxMi40MTg3IDAgMTYgMy41ODEyNSAxNiA4QzE2IDEyLjQxODcgMTIuNDE4NyAxNiA4IDE2QzMuNTgxMjUgMTYgMCAxMi40MTg3IDAgOFpNOCA4LjVDOS4yNDM3NSA4LjUgMTAuMjUgNy40OTM3NSAxMC4yNSA2LjI1QzEwLjI1IDUuMDA2MjUgOS4yNDM3NSA0IDggNEM2Ljc1NjI1IDQgNS43NSA1LjAwNjI1IDUuNzUgNi4yNUM1Ljc1IDcuNDkzNzUgNi43NTYyNSA4LjUgOCA4LjVaIiBmaWxsPSIjMzAzMDMwIi8+Cjwvc3ZnPg==);
  width: 16px;
  height: 23px;
}
#selectionOptions .option-list .item.coupon .grid > p::before {
  content: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTAiIHZpZXdCb3g9IjAgMCAxNSAxMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEuNjY2NjcgMEMwLjc0NzM5NiAwIDAgMC43NDczOTYgMCAxLjY2NjY3VjMuMzMzMzNDMCAzLjU2MjUgMC4xOTI3MDggMy43NDIxOSAwLjQwODg1NCAzLjgxNzcxQzAuODk4NDM4IDMuOTg2OTggMS4yNSA0LjQ1MzEyIDEuMjUgNUMxLjI1IDUuNTQ2ODggMC44OTg0MzggNi4wMTMwMiAwLjQwODg1NCA2LjE4MjI5QzAuMTkyNzA4IDYuMjU3ODEgMCA2LjQzNzUgMCA2LjY2NjY3VjguMzMzMzNDMCA5LjI1MjYgMC43NDczOTYgMTAgMS42NjY2NyAxMEgxMy4zMzMzQzE0LjI1MjYgMTAgMTUgOS4yNTI2IDE1IDguMzMzMzNWNi42NjY2N0MxNSA2LjQzNzUgMTQuODA3MyA2LjI1NzgxIDE0LjU5MTEgNi4xODIyOUMxNC4xMDE2IDYuMDEzMDIgMTMuNzUgNS41NDY4OCAxMy43NSA1QzEzLjc1IDQuNDUzMTIgMTQuMTAxNiAzLjk4Njk4IDE0LjU5MTEgMy44MTc3MUMxNC44MDczIDMuNzQyMTkgMTUgMy41NjI1IDE1IDMuMzMzMzNWMS42NjY2N0MxNSAwLjc0NzM5NiAxNC4yNTI2IDAgMTMuMzMzMyAwSDEuNjY2NjdaTTEwLjgzMzMgNy4wODMzM1YyLjkxNjY3SDQuMTY2NjdWNy4wODMzM0gxMC44MzMzWk0yLjkxNjY3IDIuNUMyLjkxNjY3IDIuMDM5MDYgMy4yODkwNiAxLjY2NjY3IDMuNzUgMS42NjY2N0gxMS4yNUMxMS43MTA5IDEuNjY2NjcgMTIuMDgzMyAyLjAzOTA2IDEyLjA4MzMgMi41VjcuNUMxMi4wODMzIDcuOTYwOTQgMTEuNzEwOSA4LjMzMzMzIDExLjI1IDguMzMzMzNIMy43NUMzLjI4OTA2IDguMzMzMzMgMi45MTY2NyA3Ljk2MDk0IDIuOTE2NjcgNy41VjIuNVoiIGZpbGw9IiMzMDMwMzAiLz4KPC9zdmc+);
}

#selectionOptions .bg {
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 767px) {
  #selectionOptions {
    bottom: 69px;
    transform: translateY(calc(100% - 44px));
    box-shadow: none;
  }
  #selectionOptions.active {
    box-shadow: none;
  }
  #selectionOptions .contents {
    padding: 0 0 10px;
  }
  #selectionOptions .contents .open-option {
    transform: translateY(0);
    height: 45px;
    border-radius: 0;
    font-size: 1.6rem;
    box-shadow: 1px -1px 5px 0px #c4d6d6;
    padding: 0 30px;
  }
  #selectionOptions .contents .open-option::before,
  #selectionOptions .contents .open-option::after {
    width: 10px;
    height: 2px;
    right: 35px;
  }
  #selectionOptions .content .open-box::before,
  #selectionOptions .content .open-box::after {
    width: 9px;
  }
  #selectionOptions .c-area {
    padding: 10px 15px 5px;
    gap: 10px;
  }
  #selectionOptions .course .grid {
    grid-template-columns: 1fr 90px;
    gap: 8px;
  }
  #selectionOptions .course > .grid {
    padding: 0 10px;
    align-items: center;
  }
  #selectionOptions .course .price p,
  #selectionOptions .staff-box .price p {
    font-size: 1.4rem;
  }
  #selectionOptions .option-list .item {
    padding: 8px 10px;
  }
  #selectionOptions .content.staff {
    padding: 8px 27px;
  }
  #selectionOptions .content.staff .staff-box {
    grid-template-columns: 1fr 90px;
  }
  #selectionOptions .content.staff .staff-box .name {
    grid-template-columns: 41px 1fr;
  }
  #selectionOptions .total {
    padding-top: 5px;
  }
  #selectionOptions .total p:first-of-type {
    font-size: 1.5rem;
  }
  #selectionOptions .total p:last-of-type {
    font-size: 1.6rem;
  }
}
