@charset "UTF-8";

.special-list-note {
  list-style-type: disc;
  -webkit-padding-start: 1.625em;
  padding-inline-start: 1.625em;
  padding-left: 1.25em;
  color: #244661;
  text-align: left;
  font-size: 1.6rem;
}

.special-list-note li {
  padding-left: .375em;
}

.special-list-note li::marker {
  content: "※";
  color: inherit;
}

.bg-\[\#d2e0f4\] {
  background-color: #d2e0f4;
}

.bg-\[\#f4eee5\] {
  background-color: #f4eee5;
}

body {
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  padding-top: 0;
  overflow-x: hidden;
  cursor: default;
}

html {
  min-width: 320px;
  overflow-x: hidden;
}

#christmas .page-christmas {
  font-size: 1.8rem;
  color: #244661;
}

#christmas .page-christmas .kv {
  max-width: 2000px;
  margin-left: auto;
  margin-right: auto;
  margin-inline: auto;
  position: relative;
}

#christmas .page-christmas .kv .special_tab {
  --tab-lineColor: #c19e60;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px;
  max-width: 1200px;
  margin: 0 auto;
  border-bottom: solid 2px var(--tab-lineColor);
}

#christmas .page-christmas .kv .special_tab li {
  max-width: 460px;
  margin-bottom: -2px;
  width: 460px;
  height: 100px;
  overflow: hidden;
}

#christmas .page-christmas .kv .special_tab li a:hover {
  opacity: 1;
}

#christmas .page-christmas .kv .special_tab li.act {
  height: 102px;
  cursor: default;
}

#christmas .page-christmas main {
  padding-top: 55px;
}

#christmas .page-christmas main .christmas-date-box h2 {
  text-align: center;
}

#christmas .page-christmas main .christmas-txt {
  font-size: 1.8rem;
  text-align: center;
  max-width: 1049px;
  color: #444;
  margin-left: auto;
  margin-right: auto;
  margin-inline: auto;
  margin-top: 30px;
  margin-bottom: 30px;
  margin-block: 30px;
}

#christmas .page-christmas main nav {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  max-width: 1060px;
  margin: 0 auto;
  padding: 30px 50px 65px;
}

#christmas .page-christmas main nav a:hover {
  opacity: 1;
}

#christmas .page-christmas main #mainevent {
  background-color: #f8f4ee;
  padding-top: 60px;
  padding-bottom: 120px;
}

#christmas .page-christmas main #mainevent .w_main {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  margin-inline: auto;
}

#christmas .page-christmas main #mainevent .finland {
  text-align: center;
  padding-top: 32px;
  padding-bottom: 30px;
}

#christmas .page-christmas main #mainevent .finland > * + * {
  margin-top: 27px;
}

#christmas .page-christmas main #mainevent .event_list {
  margin: 35px auto 40px;
}

#christmas .page-christmas main #mainevent .event_box {
  border: solid 3px #b88f4c;
  background-color: #ffffff;
  padding: max(24px,6.4vw) max(29px,7.73333vw) max(27px,7.2vw);
  position: relative;
}

#christmas .page-christmas main #mainevent .event_box .label {
  position: absolute;
  width: 62px;
  left: 24px;
  top: -7px;
}

#christmas .page-christmas main #mainevent .event_box .rev {
  position: absolute;
  width: 98px;
  right: 14px;
  top: -50px;
}

#christmas .page-christmas main #mainevent h3 {
  display: flex;
  justify-content: center;
  align-items: end;
}

#christmas .page-christmas main #mainevent .event_body {
  margin-top: 28px;
  font-size: 1.7rem;
}

#christmas .page-christmas main #mainevent .event_body > :not([hidden]) ~ :not([hidden]) {
  margin-top: 1em;
}

#christmas .page-christmas main #mainevent .event_box1 > div::before {
  content: '';
  width: 59px;
  height: 52px;
  background-image: url(../images/mainevent/item1.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  left: 120px;
  top: -37px;
}

#christmas .page-christmas main #mainevent .event_box1:after {
  content: '';
  width: 87px;
  height: 124px;
  background-image: url(../images/mainevent/item2.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  right: 51px;
  bottom: 18px;
}

#christmas .page-christmas main #mainevent .event_box2:after {
  content: '';
  width: 55px;
  height: 46px;
  background-image: url(../images/mainevent/item3.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  right: 36px;
  bottom: 35px;
}

#christmas .page-christmas main #menu {
  --bgColor: #f8f4ee;
  --bgWidth: 55px;
  padding-top: 50px;
  padding-bottom: 120px;
  background: repeating-linear-gradient(-45deg, var(--bgColor), var(--bgColor) var(--bgWidth), transparent var(--bgWidth), transparent calc(var(--bgWidth) *2));
}

#christmas .page-christmas main #menu .menu_box .shop {
  display: table;
  margin: 20px auto;
  text-align: center;
  font-size: 1.3rem;
  line-height: 1.92308;
  font-weight: bold;
  color: #fff;
  background-color: #b88f4c;
  padding: 0 10px;
}

#christmas .page-christmas main #menu .menu_box h3 {
  text-align: center;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.29167;
  color: #005bac;
}

#christmas .page-christmas main #menu .menu_box h3 small {
  font-size: 2rem;
  line-height: 1.35;
}

#christmas .page-christmas main #menu .menu_box .price {
  margin-top: 18px;
  text-align: center;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.78571;
  color: #e60012;
}

#christmas .page-christmas main #menu .menu_box .price span {
  font-size: 2rem;
  line-height: 1.25;
}

#christmas .page-christmas main #menu .menu_box .txt {
  margin-top: 15px;
  font-size: 1.6rem;
  color: #444;
  line-height: 1.5625;
}

#christmas .page-christmas main #menu .menu_box2 {
  margin-top: 25px;
  margin-bottom: 25px;
  padding-top: 35px;
  padding-bottom: 43px;
}

#christmas .page-christmas main #menu .menu_box2 .price {
  margin-top: 10px;
}

#christmas .page-christmas main #menu .menu_box2 .txt {
  margin-top: 7px;
}

#christmas .page-christmas main #menu .menu_box1 {
  margin-top: 42px;
  position: relative;
  z-index: 10;
}

#christmas .page-christmas main #menu .menu01 {
  order: 2;
}

#christmas .page-christmas main #menu .menu02 {
  order: 1;
}

#christmas .page-christmas main #menu .menu03 {
  order: 3;
}

#christmas .page-christmas main #menu .christmas_box {
  background-color: #fff;
  padding: 90px 80px 58px;
  margin-top: 190px;
  position: relative;
}

#christmas .page-christmas main #menu .christmas_box .ttl {
  position: absolute;
  top: -45px;
  left: 0;
  right: 0;
  width: 100%;
}

#christmas .page-christmas main #menu .christmas_product {
  margin-bottom: 50px;
}

#christmas .page-christmas main #menu .christmas_product figure + figure {
  margin-top: 45px;
}

#christmas .page-christmas main #menu .christmas_product figure figcaption {
  width: 380px;
  z-index: 1;
}

#christmas .page-christmas main #menu .christmas_product figure h3 {
  border-bottom: solid 1px #c8a765;
  padding-bottom: 15px;
}

#christmas .page-christmas main #menu .christmas_product figure .price {
  margin-top: 13px;
}

#christmas .page-christmas main #menu .product02 {
  position: relative;
}

#christmas .page-christmas main #menu .product02::after {
  content: '';
  width: 199px;
  height: 411px;
  background-image: url(../images/menu/christmas-bg2.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 48px;
}

#christmas .page-christmas main #experience {
  padding-top: 61px;
  padding-bottom: 90px;
}

#christmas .page-christmas main #experience .exp_box {
  background-color: #fff;
  border-radius: 10px;
  padding: 60px 91px 73px 100px;
  margin-top: 65px;
}

#christmas .page-christmas main #experience .exp_box + .exp_box {
  margin-top: 50px;
}

#christmas .page-christmas main #experience .body {
  position: relative;
  margin-top: 25px;
  font-size: 1.6rem;
  line-height: 1.5625;
  word-break: keep-all;
}

#christmas .page-christmas main #experience .txt h3 {
  font-size: 2.6rem;
  line-height: 1.38462;
  color: #005bac;
  margin-bottom: 30px;
}

#christmas .page-christmas main #experience .txt h3 small {
  font-size: 2.4rem;
}

#christmas .page-christmas main #experience .txt p {
  word-break: break-all;
}

#christmas .page-christmas main #experience .txt .btn_a {
  margin-top: 32px;
}

#christmas .page-christmas main #experience .video {
  width: 259px;
}

#christmas .page-christmas main #experience .video .video_box {
  width: 100%;
  height: auto;
}

#christmas .page-christmas main #event {
  padding-top: 90px;
  padding-bottom: 119px;
}

#christmas .page-christmas main #event .w {
  position: relative;
}

#christmas .page-christmas main #event .ttl {
  position: absolute;
  width: 100%;
  left: 0;
  right: 0;
  top: -88px;
}

#christmas .page-christmas main #event .eventList {
  padding: 67px 89px 86px;
  background-color: #fff;
  border-radius: 20px;
}

#christmas .page-christmas main #event .event__detail {
  max-width: 1020px;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
}

#christmas .page-christmas main #event .event__detail + .event__detail {
  margin-top: 80px;
}

#christmas .page-christmas main #event .event__detail .date_row2 div + div {
  margin-top: 10px;
}

#christmas .page-christmas main #event .event__detail .date img + img {
  margin-top: 10px;
}

#christmas .page-christmas main #event .event__detail .date .arrow {
  display: block;
  border: solid 10px transparent;
  width: 10px;
  height: 10px;
}

#christmas .page-christmas main #event .event__detail .detail {
  letter-spacing: 0.04em;
  word-break: keep-all;
}

#christmas .page-christmas main #event .event__detail .detail .eventImg {
  overflow: hidden;
  border-radius: 10px;
}

#christmas .page-christmas main #event .event__detail .detail--head {
  margin-top: 30px;
  padding-bottom: 20px;
  border-bottom: dotted 1px #ac8548;
}

#christmas .page-christmas main #event .event__detail .detail--head h3 {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.04167;
}

#christmas .page-christmas main #event .event__detail .detail--date {
  font-size: 1.6rem;
  line-height: 1.5625;
}

#christmas .page-christmas main #event .event__detail .detail--body {
  margin-top: 18px;
}

#christmas .page-christmas main #event .event__detail .detail--txt {
  font-size: 1.6rem;
  line-height: 1.5625;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

#christmas .page-christmas main #event .event__detail .detail--txt .kome {
  text-indent: -1em;
  padding-left: 1em;
}

#christmas .page-christmas main #event .event__detail .detail--txt .detailBox {
  --dtSize: 3.5em;
  display: flex;
}

#christmas .page-christmas main #event .event__detail .detail--txt .detailBox dt {
  width: var(--dtSize);
}

#christmas .page-christmas main #event .event__detail .detail--txt .detailBox dd {
  width: calc( 100% - var(--dtSize));
}

#christmas .page-christmas .btn_a {
  --h: 56px;
  --fs: 16px;
  --radius: 9999px;
  --icon: calc(var(--h) * 0.45);
  --icon-gap: 12px;
  --pad-x: 16px;
  --icon-right: 14px;
  --arrow-w: calc(var(--icon) * 0.38);
  --arrow-h: calc(var(--icon) * 0.50);
  --reserve: calc(var(--pad-x) + var(--icon) + var(--icon-gap) + var(--icon-right));
  --balance: 0px;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: var(--h);
  font-size: var(--fs);
  font-weight: 700;
  line-height: 1;
  letter-spacing: .02em;
  white-space: nowrap;
  text-decoration: none;
  padding: 0 calc(var(--reserve) + var(--balance)) 0 calc(var(--reserve) - var(--balance));
  border-radius: var(--radius);
  -webkit-tap-highlight-color: transparent;
  transition: background-color .2s ease, color .2s ease, box-shadow .2s ease, -webkit-filter .15s ease;
  transition: filter .15s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease;
  transition: filter .15s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease, -webkit-filter .15s ease;
}

#christmas .page-christmas .btn_a:focus-visible {
  outline: 2px solid #000;
  outline-offset: 2px;
}

#christmas .page-christmas .btn_a::after {
  content: "";
  position: absolute;
  right: var(--icon-right);
  top: 50%;
  width: var(--icon);
  height: var(--icon);
  border-radius: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: #111;
  z-index: 0;
}

#christmas .page-christmas .btn_a::before {
  content: "";
  position: absolute;
  right: calc(var(--icon-right) + (var(--icon) / 2) - (var(--arrow-w) / 2));
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: calc(var(--arrow-h) / 2) solid transparent;
  border-bottom: calc(var(--arrow-h) / 2) solid transparent;
  border-left: var(--arrow-w) solid #fff;
  z-index: 1;
}

#christmas .page-christmas .btn_a[href="/eat/"],
#christmas .page-christmas .btn_a[href="/product/"] {
  --btn-max: 318px;
}

#christmas .page-christmas .btn_a:hover {
  opacity: 1 !important;
}

#christmas .page-christmas .btn_a--lg {
  --h: 56px;
  --fs: 16px;
}

#christmas .page-christmas .btn_a--sm {
  --h: 40px;
  --fs: 14px;
}

#christmas .page-christmas .btn_a--\[\#b88f4c\] {
  --bg: #b88f4c;
  --bg-on: #d69e42;
  --fg: #fff;
  background: var(--bg);
  color: var(--fg);
}

#christmas .page-christmas .btn_a--\[\#b88f4c\].is-on,
#christmas .page-christmas .btn_a--\[\#b88f4c\][aria-pressed="true"] {
  background: var(--bg-on);
}

#christmas .page-christmas .btn_a--\[\#b88f4c\]::before {
  border-left-color: var(--bg);
}

#christmas .page-christmas .btn_a--\[\#b88f4c\]:hover::before {
  border-left-color: var(--bg-on);
}

#christmas .page-christmas .btn_a--\[\#b88f4c\]::after {
  background: var(--fg);
}

#christmas .page-christmas .btn_a--\[\#005bac\] {
  --bg: #005bac;
  --bg-on: #0273d7;
  --fg: #fff;
  background: var(--bg);
  color: var(--fg);
}

#christmas .page-christmas .btn_a--\[\#005bac\].is-on,
#christmas .page-christmas .btn_a--\[\#005bac\][aria-pressed="true"] {
  background: var(--bg-on);
}

#christmas .page-christmas .btn_a--\[\#005bac\]::before {
  border-left-color: var(--bg);
}

#christmas .page-christmas .btn_a--\[\#005bac\]:hover::before {
  border-left-color: var(--bg-on);
}

#christmas .page-christmas .btn_a--\[\#005bac\]::after {
  background: var(--fg);
}

#christmas .page-christmas .btn_a--\[\#ac8548\] {
  --bg: #ac8548;
  --bg-on: #ac8548;
  --fg: #fff;
  background: var(--bg);
  color: var(--fg);
}

#christmas .page-christmas .btn_a--\[\#ac8548\].is-on,
#christmas .page-christmas .btn_a--\[\#ac8548\][aria-pressed="true"] {
  background: var(--bg-on);
}

#christmas .page-christmas .btn_a--\[\#ac8548\]::before {
  border-left-color: var(--bg);
}

#christmas .page-christmas .btn_a--\[\#ac8548\]:hover::before {
  border-left-color: var(--bg-on);
}

#christmas .page-christmas .btn_a--\[\#ac8548\]::after {
  background: var(--fg);
}

#christmas .page-christmas .btn_a--\[\#f268a9\] {
  --bg: #f268a9;
  --bg-on: #f268a9;
  --fg: #fff;
  background: var(--bg);
  color: var(--fg);
}

#christmas .page-christmas .btn_a--\[\#f268a9\].is-on,
#christmas .page-christmas .btn_a--\[\#f268a9\][aria-pressed="true"] {
  background: var(--bg-on);
}

#christmas .page-christmas .btn_a--\[\#f268a9\]::before {
  border-left-color: var(--bg);
}

#christmas .page-christmas .btn_a--\[\#f268a9\]:hover::before {
  border-left-color: var(--bg-on);
}

#christmas .page-christmas .btn_a--\[\#f268a9\]::after {
  background: var(--fg);
}

#christmas .page-christmas .bg-snow {
  position: relative;
}

#christmas .page-christmas .lp-bnr {
  padding-top: 100px;
  padding-bottom: 100px;
  padding-block: 100px;
}

#christmas .page-christmas #recommend2 {
  --recommend-bg: #fff4f7;
  background-color: var(--recommend-bg);
  background-image: linear-gradient(0deg, white 0%, var(--recommend-bg) 25%, var(--recommend-bg) 100%);
  letter-spacing: 0.04em;
}

#christmas .page-christmas #recommend2 h2 {
  padding-top: 85px;
  margin-bottom: 5px;
  text-align: center;
}

#christmas .page-christmas #recommend2 figure img {
  border-radius: 20px;
}

#christmas .page-christmas #recommend2 figure .shop {
  background-color: #f268a9;
  display: inline-block;
  font-size: 1.3rem;
  line-height: 1.92308;
  color: #fff;
  font-weight: bold;
  padding: 2px 7px;
  margin: 20px auto;
}

#christmas .page-christmas #recommend2 figure h3 {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.04167;
}

#christmas .page-christmas #recommend2 figure .txt {
  font-size: 1.6rem;
  line-height: 1.5625;
  margin-top: 22px;
  text-align: left;
}

#christmas .page-christmas #recommend2 figure .btn_a {
  margin-top: 30px;
}

#christmas .page-christmas .btn--top {
  text-align: center;
  padding-top: 95px;
  padding-bottom: 108px;
}

#christmas .page-christmas .btn--top img {
  border: solid 1px #000;
  border-radius: 50px;
  max-width: 400px;
}

#christmas .w {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  margin-inline: auto;
}

@media only screen and (min-width: 768px) {
  .sp-only {
    display: none !important;
  }

  #christmas .page-christmas .kv .special_tab {
    position: absolute;
    left: 50%;
    bottom: 0;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100%;
  }

  #christmas .page-christmas main .christmas-txt {
    position: relative;
  }

  #christmas .page-christmas main .christmas-txt:after {
    content: '';
    width: 1049px;
    height: 197px;
    background-image: url(../images/title/bg.png);
    background-size: 1049px 197px;
    background-repeat: no-repeat;
    position: absolute;
    bottom: -15px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }

  #christmas .page-christmas main nav {
    flex-wrap: wrap;
  }

  #christmas .page-christmas main #mainevent .event_list {
    display: flex;
    gap: 40px;
  }

  #christmas .page-christmas main #mainevent .event_box {
    width: 530px;
    padding: 24px 45px 14px;
  }

  #christmas .page-christmas main #menu h2 {
    position: relative;
  }

  #christmas .page-christmas main #menu h2::before {
    content: '';
    background-image: url(../images/menu/bg.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 1200px;
    height: 708px;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }

  #christmas .page-christmas main #menu .menu_box2 {
    background-image: url(../images/menu/bg2.png);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 1200px 1017px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 42px 62px;
  }

  #christmas .page-christmas main #menu .menu_box2 .menu_box {
    width: 350px;
  }

  #christmas .page-christmas main #menu .menu_box1 {
    display: flex;
    justify-content: center;
  }

  #christmas .page-christmas main #menu .menu01 figcaption {
    width: 340px;
    margin-left: 49px;
    margin-right: auto;
  }

  #christmas .page-christmas main #menu .menu02 {
    width: 348px;
    margin-right: 13px;
    margin-top: 207px;
  }

  #christmas .page-christmas main #menu .menu02 img {
    display: block;
    margin-left: auto;
    margin-right: 43px;
  }

  #christmas .page-christmas main #menu .menu02 figcaption {
    width: 280px;
    margin-left: auto;
    margin-right: 0;
  }

  #christmas .page-christmas main #menu .menu03 {
    width: 300px;
    margin-left: -35px;
    margin-top: 238px;
  }

  #christmas .page-christmas main #menu .menu03 img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-inline: auto;
  }

  #christmas .page-christmas main #menu .menu03 figcaption {
    width: 300px;
  }

  #christmas .page-christmas main #menu .christmas_product figure {
    display: flex;
    align-items: center;
    gap: 60px;
  }

  #christmas .page-christmas main #menu .christmas_product figure:nth-child(even) {
    flex-direction: row-reverse;
  }

  #christmas .page-christmas main #menu .product01 {
    position: relative;
  }

  #christmas .page-christmas main #menu .product01::after {
    content: '';
    width: 173px;
    height: 412px;
    background-image: url(../images/menu/christmas-bg1.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    right: 5px;
    bottom: 0;
  }

  #christmas .page-christmas main #menu .product03 {
    position: relative;
  }

  #christmas .page-christmas main #menu .product03::after {
    content: '';
    width: 261px;
    height: 444px;
    background-image: url(../images/menu/christmas-bg3.png?v2);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    right: -7px;
    top: 14px;
  }

  #christmas .page-christmas main #experience .video {
    position: absolute;
    right: 0;
    bottom: 0;
  }

  #christmas .page-christmas main #event .event__detail {
    display: flex;
    flex-wrap: wrap;
  }

  #christmas .page-christmas main #event .event__detail .date {
    width: 100px;
    padding-right: 17px;
  }

  #christmas .page-christmas main #event .event__detail .date .arrow {
    border-top: solid 10px #ac8548;
    margin: 10px auto -1px;
  }

  #christmas .page-christmas main #event .event__detail .detail {
    width: 900px;
    padding-top: 2px;
  }

  #christmas .page-christmas main #event .event__detail .detail--head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
  }

  #christmas .page-christmas main #event .event__detail .detail--head h3 {
    width: calc( 100% - 380px);
  }

  #christmas .page-christmas main #event .event__detail .detail--head2 h3 {
    width: calc( 100% - 390px);
  }

  #christmas .page-christmas main #event .event__detail .detail--head2 .detail--date {
    width: 390px;
  }

  #christmas .page-christmas main #event .event__detail .detail--date {
    text-align: right;
    width: 380px;
    margin-top: 6px;
  }

  #christmas .page-christmas main #event .event__detail .detail--body {
    display: flex;
    flex-wrap: wrap;
  }

  #christmas .page-christmas main #event .event__detail .detail--txt {
    width: calc( 100% - 300px);
  }

  #christmas .page-christmas main #event .event__detail .detail--link {
    width: 300px;
  }

  #christmas .page-christmas main #event .event__detail .detail--link .btn {
    margin-right: 0;
    margin-left: auto;
  }

  #christmas .page-christmas #recommend2 .course_ph {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
  }

  #christmas .page-christmas #recommend2 figure {
    max-width: 580px;
    width: 580px;
    margin-top: 45px;
  }
}

@media (min-width: 1024px) {
  #christmas .page-christmas .btn_a {
    --btn-max: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: var(--btn-max);
    margin-inline: auto;
    margin-top: 20px;
    --balance: 0px;
  }

  #christmas .page-christmas .btn_a--lg {
    --h: 60px;
    --fs: 18px;
    --icon-right: 16px;
  }

  #christmas .page-christmas .btn_a--sm {
    --h: 44px;
    --fs: 15px;
  }
}

@media only screen and (max-width: 767px) {
  .special-list-note {
    font-size: max(9px,2.4vw);
  }

  .sp-block {
    padding-left: max(15px,4vw);
    padding-right: max(15px,4vw);
    padding-inline: max(15px,4vw);
  }

  .pc-only {
    display: none !important;
  }

  #christmas .page-christmas {
    font-size: max(9px,2.4vw);
  }

  #christmas .page-christmas .kv .special_tab {
    margin: max(17.5px,4.66667vw) auto 0;
    padding-left: 27px;
    padding-right: 27px;
    gap: max(7px,1.86667vw);
  }

  #christmas .page-christmas .kv .special_tab li {
    width: max(170px,45.33333vw);
    height: max(59px,15.73333vw);
    width: 48.5%;
  }

  #christmas .page-christmas .kv .special_tab li.act {
    height: max(57.5px,15.33333vw);
  }

  #christmas .page-christmas .kv .special_tab li.act {
    height: max(60px,16vw);
  }

  #christmas .page-christmas main {
    padding-top: max(37px,9.86667vw);
  }

  #christmas .page-christmas main .christmas-txt {
    font-size: max(12px,3.2vw);
    line-height: 1.6;
    margin-top: max(17.5px,4.66667vw);
  }

  #christmas .page-christmas main .christmas-txt p + p {
    margin-top: max(14.5px,3.86667vw);
  }

  #christmas .page-christmas main nav {
    padding: max(21.5px,5.73333vw) max(15px,4vw) max(40px,10.66667vw);
    gap: max(5px,1.33333vw);
  }

  #christmas .page-christmas main #mainevent {
    padding-top: max(39px,10.4vw);
    padding-bottom: max(60px,16vw);
  }

  #christmas .page-christmas main #mainevent .finland {
    padding-top: max(25px,6.66667vw);
    padding-bottom: max(25px,6.66667vw);
    font-size: max(13px,3.46667vw);
  }

  #christmas .page-christmas main #mainevent .finland > * + * {
    margin-top: max(18.5px,4.93333vw);
  }

  #christmas .page-christmas main #mainevent .event_list {
    margin-top: max(15px,4vw);
    margin-bottom: max(35px,9.33333vw);
    padding-left: max(10px,2.66667vw);
    padding-right: max(10px,2.66667vw);
    padding-inline: max(10px,2.66667vw);
  }

  #christmas .page-christmas main #mainevent .event_box + .event_box {
    margin-top: max(36px,9.6vw);
  }

  #christmas .page-christmas main #mainevent .event_box .label {
    width: max(37.5px,10vw);
    height: max(48px,12.8vw);
    left: max(15.5px,4.13333vw);
    top: -4%;
  }

  #christmas .page-christmas main #mainevent .event_box .rev {
    width: max(60.5px,16.13333vw);
    height: max(60.5px,16.13333vw);
    right: max(8px,2.13333vw);
    top: -11%;
  }

  #christmas .page-christmas main #mainevent .event_body {
    font-size: max(12px,3.2vw);
  }

  #christmas .page-christmas main #mainevent .event_box1 > div::before {
    width: max(36px,9.6vw);
    height: max(31.5px,8.4vw);
    top: max(-22.5px,-6vw);
    left: max(66.5px,17.73333vw);
  }

  #christmas .page-christmas main #mainevent .event_box1:after {
    width: max(49.5px,13.2vw);
    height: max(75.5px,20.13333vw);
    right: 7%;
    bottom: 4%;
    background-position: right bottom;
  }

  #christmas .page-christmas main #mainevent .event_box2:after {
    width: max(33.5px,8.93333vw);
    height: max(28px,7.46667vw);
    right: max(21px,5.6vw);
    bottom: auto;
    top: max(142.5px,38vw);
  }

  #christmas .page-christmas main #menu {
    --bgWidth: max(27.5px,7.33333vw);
    padding-top: max(45px,12vw);
    padding-bottom: max(60px,16vw);
  }

  #christmas .page-christmas main #menu .menu_box + .menu_box {
    margin-top: max(25px,6.66667vw);
  }

  #christmas .page-christmas main #menu .menu_box figcaption {
    width: max(270px,72vw);
    margin-left: auto;
    margin-right: auto;
    margin-inline: auto;
  }

  #christmas .page-christmas main #menu .menu_box .shop {
    margin: max(15px,4vw) auto;
    padding: 0 max(9px,2.4vw);
    font-size: max(10px,2.66667vw);
    line-height: 1.875;
  }

  #christmas .page-christmas main #menu .menu_box h3 {
    font-size: max(18px,4.8vw);
    line-height: 1.125;
  }

  #christmas .page-christmas main #menu .menu_box h3 small {
    font-size: max(15px,4vw);
    line-height: 1.4;
  }

  #christmas .page-christmas main #menu .menu_box .price {
    margin-top: max(12px,3.2vw);
    font-size: max(11px,2.93333vw);
    line-height: 1.70455;
  }

  #christmas .page-christmas main #menu .menu_box .price span {
    font-size: max(16px,4.26667vw);
    line-height: 1.17188;
  }

  #christmas .page-christmas main #menu .menu_box .txt {
    margin-top: max(15px,4vw);
    font-size: max(13.5px,3.6vw);
    line-height: 1.48148;
    text-align: left;
  }

  #christmas .page-christmas main #menu .menu_box2 .menu_box + .menu_box {
    margin-top: max(57.5px,15.33333vw);
  }

  #christmas .page-christmas main #menu .menu_box1 {
    margin-top: max(15px,4vw);
  }

  #christmas .page-christmas main #menu .christmas_box {
    padding: max(55px,14.66667vw) max(27.5px,7.33333vw) max(49px,13.06667vw);
    margin-top: max(97.5px,26vw);
  }

  #christmas .page-christmas main #menu .christmas_box .ttl {
    top: -2%;
  }

  #christmas .page-christmas main #menu .christmas_product {
    margin-bottom: max(48.5px,12.93333vw);
  }

  #christmas .page-christmas main #menu .christmas_product figure figcaption {
    width: 100%;
    margin-top: max(18px,4.8vw);
  }

  #christmas .page-christmas main #menu .christmas_product figure h3 {
    padding-bottom: max(12.5px,3.33333vw);
  }

  #christmas .page-christmas main #menu .christmas_product figure .price {
    margin-top: max(5px,1.33333vw);
  }

  #christmas .page-christmas main #menu .product01 figcaption {
    position: relative;
  }

  #christmas .page-christmas main #menu .product01 figcaption::after {
    content: '';
    width: max(41px,10.93333vw);
    height: max(60.5px,16.13333vw);
    background-image: url(../images/menu/christmas-bg2_sp.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    left: max(-60.5px,-16.13333vw);
    left: -11%;
    top: -11%;
  }

  #christmas .page-christmas main #menu .product02 {
    text-align: center;
  }

  #christmas .page-christmas main #menu .product02 img {
    width: max(225px,60vw);
  }

  #christmas .page-christmas main #menu .product02::after {
    width: max(46.5px,12.4vw);
    height: max(78.5px,20.93333vw);
    background-image: url(../images/menu/christmas-bg3_sp.png);
    left: auto;
    top: -12%;
    right: -10%;
  }

  #christmas .page-christmas main #menu .product02 figcaption {
    position: relative;
  }

  #christmas .page-christmas main #menu .product02 figcaption::after {
    content: '';
    width: max(54.5px,14.53333vw);
    height: max(193px,51.46667vw);
    background-image: url(../images/menu/christmas-bg4_sp.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    left: -14%;
    top: -24%;
  }

  #christmas .page-christmas main #experience {
    padding-top: max(40px,10.66667vw);
    padding-bottom: max(57.5px,15.33333vw);
  }

  #christmas .page-christmas main #experience .exp_box {
    border-radius: max(5px,1.33333vw);
    padding: max(17.5px,4.66667vw) max(12.5px,3.33333vw) max(15px,4vw);
    margin-top: max(30px,8vw);
  }

  #christmas .page-christmas main #experience .exp_box + .exp_box {
    margin-top: max(20px,5.33333vw);
  }

  #christmas .page-christmas main #experience .body {
    margin-top: max(8px,2.13333vw);
    font-size: max(11px,2.93333vw);
    line-height: 1.81818;
    display: flex;
  }

  #christmas .page-christmas main #experience .txt {
    order: 2;
    width: calc( 100% - max(145px,38.66667vw));
    padding-left: max(10px,2.66667vw);
  }

  #christmas .page-christmas main #experience .txt h3 {
    font-size: max(16px,4.26667vw);
    line-height: 1.30556;
    margin-top: max(8.5px,2.26667vw);
    margin-bottom: max(16px,4.26667vw);
  }

  #christmas .page-christmas main #experience .txt h3 small {
    font-size: max(12px,3.2vw);
  }

  #christmas .page-christmas main #experience .txt .btn_a {
    margin-top: max(24.5px,6.53333vw);
    width: 100% !important;
  }

  #christmas .page-christmas main #experience .video {
    width: max(145px,38.66667vw);
    order: 1;
  }

  #christmas .page-christmas main #event {
    padding-top: max(57.5px,15.33333vw);
    padding-bottom: max(66.5px,17.73333vw);
  }

  #christmas .page-christmas main #event .ttl {
    top: -3.8%;
  }

  #christmas .page-christmas main #event .eventList {
    padding: max(27px,7.2vw) max(10.5px,2.8vw) max(47.5px,12.66667vw);
    margin-top: max(25px,6.66667vw);
    margin-left: max(7.5px,2vw);
    margin-right: max(7.5px,2vw);
    border-radius: 10px;
  }

  #christmas .page-christmas main #event .event__detail + .event__detail {
    margin-top: max(47.5px,12.66667vw);
  }

  #christmas .page-christmas main #event .event__detail .date {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: max(10px,2.66667vw);
  }

  #christmas .page-christmas main #event .event__detail .date_row2.autoWidth {
    align-items: baseline;
    margin-bottom: 5px;
  }

  #christmas .page-christmas main #event .event__detail .date_row2.autoWidth .day {
    width: calc( 100% - 60px);
    margin-top: 0;
  }

  #christmas .page-christmas main #event .event__detail .date_row2.autoWidth .day img {
    margin-left: 10px;
    margin-bottom: 10px;
  }

  #christmas .page-christmas main #event .event__detail .date img {
    width: max(61.5px,16.4vw);
  }

  #christmas .page-christmas main #event .event__detail .date img + img {
    margin: 0 0 0 10px;
    margin-left: max(5px,1.33333vw);
  }

  #christmas .page-christmas main #event .event__detail .date .arrow {
    border-left: solid 10px #ac8548;
    margin: 0 0 0 10px;
  }

  #christmas .page-christmas main #event .event__detail .detail--head {
    margin-top: max(15px,4vw);
    padding-bottom: max(21.5px,5.73333vw);
    padding-left: max(2.5px,0.66667vw);
    padding-right: max(2.5px,0.66667vw);
  }

  #christmas .page-christmas main #event .event__detail .detail--head h3 {
    font-size: max(18px,4.8vw);
    line-height: 1.27778;
  }

  #christmas .page-christmas main #event .event__detail .detail--date {
    margin-top: max(15px,4vw);
    font-size: max(12px,3.2vw);
    line-height: 1.04167;
  }

  #christmas .page-christmas main #event .event__detail .detail--txt {
    font-size: max(12px,3.2vw);
    line-height: 1.66667;
    padding-left: max(2.5px,0.66667vw);
    padding-right: max(2.5px,0.66667vw);
    word-break: break-all;
  }

  #christmas .page-christmas main #event .event__detail .detail--link {
    margin-top: max(19.5px,5.2vw);
  }

  #christmas .page-christmas .btn_a[href="/eat/"],
  #christmas .page-christmas .btn_a[href="/product/"] {
    --btn-max: max(238.5px,63.6vw);
    max-width: var(--btn-max) !important;
    width: 100% !important;
  }

  #christmas .page-christmas .btn_a {
    width: max(201px,53.6vw) !important;
    max-width: 402px !important;
    height: max(48px,12.8vw);
    max-height: 96px;
    font-size: max(14px,3.73333vw);
  }

  #christmas .page-christmas .btn_a::before {
    --arrow-w: max(7.5px,2vw);
    --arrow-h: max(9px,2.4vw);
    right: 7%;
    right: max(14px,3.73333vw);
  }

  #christmas .page-christmas .btn_a::after {
    --icon: max(17.5px,4.66667vw);
  }

  #christmas .page-christmas .lp-bnr {
    padding-top: max(50px,13.33333vw);
    padding-bottom: max(50px,13.33333vw);
    padding-block: max(50px,13.33333vw);
  }

  #christmas .page-christmas #recommend2 h2 {
    padding-top: max(21px,5.6vw);
    margin-bottom: max(51.5px,13.73333vw);
  }

  #christmas .page-christmas #recommend2 .course_ph {
    margin-bottom: max(30px,8vw);
  }

  #christmas .page-christmas #recommend2 figure {
    text-align: center;
  }

  #christmas .page-christmas #recommend2 figure + figure {
    margin-top: max(50px,13.33333vw);
  }

  #christmas .page-christmas #recommend2 figure img {
    border-radius: 10px;
  }

  #christmas .page-christmas #recommend2 figure .shop {
    font-size: max(10px,2.66667vw);
    line-height: 1.95;
    padding: 0 max(7.5px,2vw) max(1px,0.26667vw);
    margin: max(15px,4vw) auto max(10px,2.66667vw);
  }

  #christmas .page-christmas #recommend2 figure h3 {
    font-size: max(21px,5.6vw);
    line-height: 1.28571;
  }

  #christmas .page-christmas #recommend2 figure .txt {
    font-size: max(12px,3.2vw);
    line-height: 1.66667;
    margin-top: max(12.5px,3.33333vw);
  }

  #christmas .page-christmas #recommend2 figure .btn_a {
    margin-top: max(21px,5.6vw);
  }

  #christmas .page-christmas .btn--top {
    padding: max(60px,16vw) 20px max(50px,13.33333vw);
  }

  #christmas .page-christmas .btn--top img {
    width: max(200px,53.33333vw);
    min-width: 250px;
  }
}

@media (max-width: 767px) {
  #christmas .page-christmas .btn_a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    max-width: 100%;
    margin-inline: auto;
    text-align: center;
    margin-top: 10px;
    --pad-x: 14px;
    --icon-right: max(10px,2.66667vw);
    --icon-gap: 10px;
    --balance: 2px;
  }

  #christmas .page-christmas .btn_a--lg {
    --h: 48px;
    --fs: 13px;
  }

  #christmas .page-christmas .btn_a--sm {
    --h: 38px;
    --fs: 14px;
  }
}

@media only screen and (max-width: 725px) {
  #christmas .page-christmas .kv .special_tab {
    padding-left: max(13.5px,3.6vw);
    padding-right: max(13.5px,3.6vw);
    gap: 3%;
  }
}

@media only screen and (max-width: 650px) {
  #christmas .page-christmas .btn_a::before {
    right: 5%;
    right: max(12.5px,3.33333vw);
  }
}

@media only screen and (max-width: 450px) {
  #christmas .page-christmas .btn_a::before {
    right: 5%;
    right: max(15px,4vw);
  }
}

@media (hover: hover) and (pointer: fine) {
  #christmas .page-christmas .btn_a--\[\#b88f4c\]:hover {
    background: var(--bg-on);
  }

  #christmas .page-christmas .btn_a--\[\#005bac\]:hover {
    background: var(--bg-on);
  }

  #christmas .page-christmas .btn_a--\[\#ac8548\]:hover {
    background: var(--bg-on);
  }

  #christmas .page-christmas .btn_a--\[\#f268a9\]:hover {
    background: var(--bg-on);
  }
}