@charset "UTF-8";
/******************************************************************

Stylesheet: ベーススタイル

******************************************************************/
.scale {
  transform: scale(0.9);
  transform-origin: left top;
  height: 111.1111111111%;
  width: 111.1111111111%;
}

#global-container {
  position: relative;
  overflow: hidden;
}

body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #000000;
}
body p {
  margin: 0;
}

h1,
h2,
h3 {
  margin: 0;
}

a {
  text-decoration: none;
}
a:hover {
  text-decoration: none;
}
a:active {
  text-decoration: none;
}

.wrap_sp {
  display: none;
}

.wrap_pc {
  display: block;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

.inner {
  margin: 0 auto;
  text-align: center;
}

.narrow {
  display: inline-block;
  width: 0.4em;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  z-index: 30;
  background-color: #865442;
  justify-content: space-between;
  width: 100%;
  max-width: 100vw;
  padding: 0;
  height: 7.0625rem;
}
.header_inner {
  display: flex;
  width: 100%;
  height: 100%;
  justify-content: space-between;
  align-items: center;
  padding-right: 2.8125rem;
  padding-left: 2.375rem;
}
.header_logo {
  display: block;
  height: 5rem;
}
.header_nav {
  display: block;
  height: 100%;
}
.header_ul {
  list-style: none;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  height: 100%;
  gap: 2.5625rem;
}
.header_link {
  color: white;
  text-decoration: none !important;
  font-size: 1rem;
  position: relative;
  line-height: 1.2;
}
@media (max-width: 1340px) {
  .header_link {
    font-size: 0.875rem;
  }
}
.header_link:hover {
  color: #E9BB6B;
}
.header_link:hover::after {
  transform: scale(1, 1.2);
}
.header_link > span {
  font-size: 0.6875rem;
}
.header_link.grayout {
  color: #ababab;
}
.header_li {
  text-align: center;
}

.mobile-menu {
  display: none;
}
.mobile-menu_btn {
  display: none;
}

.white {
  color: white;
}

.button {
  display: flex;
  border-radius: 999px;
  margin: 0 auto;
  justify-content: space-between;
  align-items: center;
  z-index: 10;
  position: relative;
}
.button:hover {
  opacity: 0.8;
}
.button-orange {
  background-color: #F5471C;
  width: 34rem;
  color: white;
  font-size: 1.5625rem;
  font-weight: bold;
  padding: 0.75rem 1.125rem 0.75rem 11.5625rem;
}
.button-orange > img {
  width: 1.5rem;
  height: 1.6875rem;
}
.button-orange:hover {
  color: white;
}
.button-brown {
  background-color: #932F14;
  width: 16.875rem;
  color: white;
  font-size: 1.125rem;
  font-weight: 300;
  padding: 0.75rem 1.625rem 0.75rem 4.8125rem;
}
.button-brown > img {
  width: 1rem;
  height: 1.125rem;
}
.button-brown:hover {
  color: white;
}
.button-white {
  background-color: white;
  color: #000000;
  width: 12.5rem;
  height: 3.125rem;
  font-size: 1.125rem;
  font-weight: 300;
  padding: 0.75rem 1rem 0.6875rem 3.375rem;
}
.button-white > img {
  width: 1rem;
  height: 1.125rem;
}
.button-white:hover {
  color: #000000;
}
.button-yellow {
  background-color: #E9BB6B;
  width: 16.875rem;
  color: #000000;
  font-size: 1.125rem;
  font-weight: 300;
  padding: 0.75rem 1.625rem 0.75rem 4.8125rem;
}
.button-yellow > img {
  width: 1rem;
  height: 1.125rem;
}
.button-yellow:hover {
  color: #000000;
}
.button-dbrown {
  background-color: #6A3906;
  width: 36.54rem;
  color: white;
  font-size: 1.5625rem;
  font-weight: 600;
  padding: 0.8125rem 2rem 0.625rem 6.125rem;
  text-align: center;
}
.button-dbrown > img {
  width: 1.875rem;
  height: 2.09375rem;
}
.button-dbrown > span {
  display: contents;
  font-size: 0.9375rem;
  font-weight: 200;
}
.button-dbrown:hover {
  color: white;
}
.button-green {
  background-color: #007669;
  width: 16.875rem;
  height: 3.125rem;
  color: white;
  font-size: 1.125rem;
  font-weight: 300;
  padding: 0.75rem 1.625rem 0.75rem 4.8125rem;
  line-height: 1;
}
.button-green > img {
  width: 1rem;
  height: 1.125rem;
}
.button-green:hover {
  color: white;
}

.soldout {
  position: relative;
}
.soldout::after {
  content: "";
  display: inline-block;
  position: absolute;
  background-image: url(../images/badge_soldout.webp);
  width: 18.125rem;
  height: 2.5rem;
  bottom: 5%;
  left: 50%;
  transform: translate(-50%, 0);
  background-size: contain;
}

.slick-slide img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.slick_slider {
  position: relative;
}

.slick-arrow {
  border: none;
  background-color: transparent;
  width: 2.8125rem;
  position: absolute;
  z-index: 20;
  top: 50%;
  transform: translate(0, -50%);
}
.slick-arrow.custom-prev {
  left: 0.625rem;
}
.slick-arrow.custom-next {
  right: 1.25rem;
}
.slick-arrow:focus {
  outline: none;
}

.top {
  height: 55.5555555556vw;
}
.top_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding-bottom: 55.5555555556%;
  background: url(../images/kv_pc.webp) no-repeat;
  background-size: cover;
  z-index: -1;
}
.top_banner {
  width: 16.0416666667vw;
  position: absolute;
  top: 10.2777777778vw;
  left: 5.3472222222vw;
}

.ornament {
  position: absolute;
  pointer-events: none;
}

.introduction {
  padding-top: 2.3125rem;
  background-color: #F8EBDB;
  padding-bottom: 5.6875rem;
}
.introduction_banner_01 {
  width: 100%;
  margin-top: 3.75rem;
}
.introduction_banner_01_box {
  width: 61.25rem;
  position: relative;
  margin: 0 auto;
}
.introduction_banner_02 {
  width: 51.25rem;
  position: relative;
  margin: 3.9375rem auto 0;
}
.introduction_banner_02 img {
  width: 100%;
}
.introduction .ornament_01 {
  bottom: -1.875rem;
  left: -2.1875rem;
  width: 11.75rem;
}
.introduction .ornament_02 {
  width: 10.3125rem;
  bottom: -2.5rem;
  right: -3.75rem;
}
.introduction .ornament_03 {
  width: 4.6875rem;
  top: 11.25rem;
  right: -1.25rem;
}
.introduction .ornament_04 {
  width: 17.625rem;
  top: -0.625rem;
  left: -18.75rem;
}
.introduction .ornament_05 {
  width: 14.4375rem;
  top: -1.25rem;
  right: -15rem;
}
.introduction_text {
  margin-top: 6.75rem;
  color: #BB0611;
  font-weight: bold;
  font-size: 1.625rem;
  line-height: 2;
  position: relative;
  display: inline-block;
}
.introduction_buttons {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  grid-auto-rows: 12.5rem;
  gap: 1rem;
  justify-content: center;
  align-items: end;
  max-width: 71.25rem;
  margin: 0 auto;
  margin-top: 9.375rem;
}
.introduction_buttons_item {
  display: flex;
  flex-direction: column;
  grid-column: span 2;
}
.introduction_buttons_item p {
  color: #000000;
  font-weight: bold;
  font-size: 1rem;
  z-index: 20;
  position: relative;
  line-height: 1.1;
  margin-top: 0.625rem;
}
.introduction_buttons_item p.down {
  transform: translate(0, 0.625rem);
}
.introduction_buttons_item p > span {
  font-weight: 200;
  font-size: 10px;
}
.introduction_buttons_item_cake {
  width: 12.5rem;
  z-index: 20;
  position: relative;
}
.introduction_buttons_item_cake.down {
  transform: translateY(1.875rem);
}
.introduction_buttons_item_plate {
  width: 13.5rem;
  transform: translate(0, -70%);
  z-index: 0;
  position: relative;
}
.introduction_buttons_item:nth-child(n+5) {
  grid-row: 2;
}
.introduction_buttons_item:nth-child(5) {
  grid-column: 1/span 2;
}
.introduction_buttons_item:nth-child(6) {
  grid-column: 3/span 2;
}
.introduction_buttons_item:nth-child(7) {
  grid-column: 5/span 2;
}
.introduction_buttons_item:nth-child(8) {
  grid-column: 7/span 2;
}
.introduction_buttons_item:nth-child(9) {
  grid-column: 9/span 2;
}
.introduction_buttons_item:nth-child(1) {
  grid-row: 1;
  grid-column: 2/span 2;
}
.introduction_buttons_item:nth-child(2) {
  grid-row: 1;
  grid-column: 4/span 2;
}
.introduction_buttons_item:nth-child(3) {
  grid-row: 1;
  grid-column: 6/span 2;
}
.introduction_buttons_item:nth-child(4) {
  grid-row: 1;
  grid-column: 8/span 2;
}
.introduction_buttons_item:hover {
  opacity: 0.8;
}
.introduction_buttons_item.grayout:hover {
  opacity: 1;
}

.marquee {
  overflow: hidden;
  contain: paint;
}
.marquee__rail {
  display: flex;
  will-change: transform;
  backface-visibility: hidden;
  transform: translateZ(0);
  gap: 1.25rem;
  width: -moz-max-content;
  width: max-content;
}
.marquee__track {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
  flex: 0 0 auto;
  gap: 1.25rem;
}
.marquee__track > li {
  flex: 0 0 auto;
  width: 22.5rem;
}
.marquee__track img {
  width: 100%;
  display: block;
  border-top-left-radius: 2.5rem;
  border-bottom-right-radius: 2.5rem;
}

h2 {
  color: white;
  font-weight: bold;
  display: inline-block;
  position: relative;
  z-index: auto;
}
h2::before {
  content: "";
  display: inline-block;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background-repeat: no-repeat;
}
h2.orange::before {
  background-image: url(../images/ribbon_orange.webp);
}
h2.green::before {
  background-image: url(../images/ribbon_green.webp);
}

.product-name {
  font-size: 1.25rem;
  font-weight: 600;
}
.product-name.badge {
  position: relative;
  display: inline-block;
  padding-left: 3.75rem;
}
.product-name.badge::before {
  content: attr(data-num);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 3.125rem;
  height: 3.125rem;
  background-size: contain;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.25rem;
  font-weight: 300;
  color: white;
}
.product-name.badge.gold::before {
  background-image: url(../images/product-number_gold.webp);
}
.product-name.badge.red::before {
  background-image: url(../images/product-number_red.webp);
}
.product-name_size {
  font-size: 0.875rem;
}

.product-price {
  font-weight: 300;
}
.product-price_main {
  font-size: 1.875rem;
}
.product-price_unit {
  font-size: 1.25rem;
  margin-left: -0.125rem;
}
.product-price_sub {
  font-size: 0.875rem;
  margin-left: -0.125rem;
}
.product-price.badge {
  padding-left: 3.75rem;
}
.product-price.reserve::after {
  content: "";
  display: inline-block;
  background-image: url(../images/reserve-badge.webp);
  width: 4.9125rem;
  height: 1.25rem;
  background-size: contain;
  margin-left: -0.125rem;
}

.product-info {
  text-align: left;
}

.santa_santa {
  background-image: url(../images/santa_bg_pc.webp);
  background-size: cover;
  height: 68.75vw;
  z-index: -2;
  position: relative;
}
.santa_h2 {
  font-size: 1.5972222222vw;
  position: absolute;
  top: 6.3888888889vw;
  left: 15.9722222222vw;
}
.santa_h2::before {
  width: 25.5555555556vw;
  height: 4.8611111111vw;
  transform: translate(-19%, -16%);
}
.santa .ornament_06 {
  width: 18.5416666667vw;
  top: 36.875vw;
  left: 3.1944444444vw;
}
.santa .ornament_07 {
  width: 11.1805555556vw;
  top: 10.2083333333vw;
  right: 7.9861111111vw;
}
.santa_text {
  color: white;
  position: absolute;
  top: 13.4027777778vw;
  left: 11.1111111111vw;
  text-align: left;
}
.santa_text_main {
  font-size: 2.3611111111vw;
  font-weight: 600;
  line-height: 1.5;
}
.santa_text_sub {
  font-size: 1.3888888889vw;
  font-weight: 400;
  margin-top: 1.5972222222vw;
  line-height: 1.7;
}
.santa_story {
  padding: 5.0625rem 0 12.9375rem 0;
  background: linear-gradient(180deg, rgb(84, 162, 134) 0%, rgb(20, 73, 62) 100%);
  position: relative;
  overflow: hidden;
}
.santa_story::after {
  content: "";
  background-image: url(../images/snow_pc.webp);
  background-size: contain;
  display: block;
  width: 100%;
  height: 5.4861111111vw;
  position: absolute;
  bottom: 0;
  left: 0;
}
.santa_story_btimg {
  position: absolute;
  z-index: 20;
  pointer-events: none;
}
.santa_story_btimg.santa {
  width: 10.9375rem;
  height: 10.9375rem;
  left: 6rem;
  bottom: 1.875rem;
}
.santa_story_btimg.tree {
  width: 9rem;
  height: 10rem;
  right: 6.75rem;
  bottom: 2.8125rem;
}
.santa_story .ornament_08 {
  top: 35.875rem;
  left: 4.1875rem;
  width: 9.3125rem;
}
.santa_story .ornament_09 {
  top: 65.125rem;
  right: 4.6875rem;
  width: 12.25rem;
}
.santa_story_button {
  width: 13.6875rem;
  height: 2.5rem;
  padding: 0.625rem 1.25rem;
  font-size: 0.875rem;
  position: absolute;
  right: 0;
  bottom: 1.25rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.625rem;
}
.santa_story_button > img {
  width: 0.75rem;
  height: 0.875rem;
}
.santa_story_button_box {
  width: 56.25rem;
  margin: 0 auto;
  position: relative;
}
.santa_story_button:hover {
  opacity: 1;
}
.santa_h3 {
  font-family: "Leckerli One", cursive;
  color: white;
  font-size: 2.6875rem;
  font-weight: 300;
}
.santa_slider {
  width: 61.25rem;
  margin: 2.1875rem auto 0 auto;
  height: 25.0625rem;
}
.santa_cake_box {
  display: flex;
  gap: 1.4375rem;
  margin-top: 5.6875rem;
  justify-content: center;
}
.santa_cake_item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.875rem;
}
.santa_cake_item > img {
  width: 28.125rem;
}
.santa_gift_title {
  color: white;
  font-weight: 600;
  display: flex;
  flex-direction: column;
  gap: 1.0625rem;
  align-items: center;
  margin-top: 4.75rem;
  position: relative;
}
.santa_gift_title_main {
  font-size: 1.875rem;
  position: relative;
  text-align: center;
}
.santa_gift_title_main::before {
  content: "";
  background-image: url(../images/santa_icon.webp);
  width: 6.875rem;
  height: 6.875rem;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(-250%, -5%);
}
.santa_gift_title_sub {
  font-size: 0.875rem;
  line-height: 2.5;
}
.santa_gift_box {
  display: flex;
  margin: 3.125rem auto 0 auto;
  gap: 0.625rem;
  justify-content: center;
}
.santa_gift_item {
  display: flex;
  flex-direction: column;
}
.santa_gift_item > img {
  width: 19.4375rem;
  margin-bottom: 1.3125rem;
}
.santa_gift_item .product-price {
  margin-top: 0.625rem;
}
.santa_gift_item_text {
  color: white;
  font-size: 1rem;
  margin-top: 1rem;
  margin-bottom: 2.125rem;
}
.santa_gift_item a {
  margin-top: auto;
}

.speciality_kv {
  background-image: url(../images/speciality_kv_pc.webp);
  background-size: cover;
  height: 50.2277777778vw;
  z-index: 2;
  position: relative;
}
.speciality_h2 {
  font-size: 1.8055555556vw;
  position: absolute;
  top: 7.8472222222vw;
  left: 17.3611111111vw;
}
.speciality_h2::before {
  width: 36.4583333333vw;
  height: 6.9444444444vw;
  transform: translate(-22%, -21%);
}
.speciality_text {
  color: white;
  text-align: center;
  font-size: 1.6666666667vw;
  line-height: 1.8;
  position: absolute;
  top: 13.4027777778vw;
  left: 16.875vw;
}
.speciality_main {
  background: linear-gradient(180deg, rgb(248, 235, 219) 0%, rgb(231, 196, 158) 100%);
  margin-top: -8.125rem;
  padding-top: 9.375rem;
  padding-bottom: 6.625rem;
  overflow: hidden;
  position: relative;
}
.speciality_schedule {
  position: relative;
}
.speciality_schedule_img {
  width: 61rem;
  height: 31.0625rem;
  margin: 0 auto;
}
.speciality_schedule_button {
  width: 21.875rem;
  height: 2.5rem;
  font-size: 1rem;
  padding: 0.4375rem 1rem 0.4375rem 6.5rem;
  font-weight: 600;
  position: absolute;
  top: 59%;
  left: 49%;
  transform: translate(-50%, -50%);
}
.speciality_schedule_button > img {
  width: 0.9725rem;
  height: 1.09375rem;
}
.speciality_cake {
  display: flex;
  justify-content: center;
  margin-top: 3rem;
  gap: 0.8125rem;
}
.speciality_cake_item {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.speciality_cake_item_img > img {
  width: 21.25rem;
  height: 21.9375rem;
  margin-bottom: 1.625rem;
}
.speciality_cake_item_text {
  width: 19.125rem;
  text-align: center;
  margin-top: 0.625rem;
  margin-bottom: 1.125rem;
}
.speciality_cake_item .product-name {
  height: 3.75rem;
  display: flex;
  align-items: center;
}
.speciality_cake_item .product-name_size.end {
  align-self: flex-end;
  line-height: 2;
}
.speciality_cake_item a {
  margin-top: auto;
}

.strawberry-chocolate {
  width: 100%;
  background: linear-gradient(180deg, rgb(248, 235, 219) 0%, rgb(255, 178, 177) 100%), linear-gradient(180deg, rgb(248, 235, 219) 0%, rgb(231, 191, 154) 100%);
  background-size: 50% 100%;
  background-position: left top, right top;
  background-repeat: no-repeat;
  position: relative;
  padding-top: 18.75rem;
  padding-bottom: 8.125rem;
}
.strawberry-chocolate_h2 {
  font-size: 1.885rem;
  position: absolute;
  top: 6.1875rem;
  left: 50%;
  transform: translate(-50%, 0);
}
.strawberry-chocolate_h2::before {
  width: 38.0625rem;
  height: 7.25rem;
  top: 0;
  left: 50%;
  transform: translate(-50%, -20%);
}
.strawberry-chocolate_text {
  position: absolute;
  font-size: 1.5rem;
  font-weight: 600;
  text-align: center;
  position: absolute;
  top: 13.125rem;
  left: 50%;
  transform: translate(-50%, 0);
  line-height: 2;
}
.strawberry-chocolate_text span.orange {
  color: #F5471C;
}
.strawberry-chocolate_text span.brown {
  color: #932F14;
}
.strawberry-chocolate_tag {
  display: flex;
  gap: 26.25rem;
  margin: 1.6875rem auto -3.125rem auto;
  width: -moz-max-content;
  width: max-content;
  align-items: end;
  transform: translateX(-1.25rem);
}
.strawberry-chocolate_tag_strawberry {
  width: 28.3125rem;
  height: 17.25rem;
  top: 21.3125rem;
  left: 4.875rem;
}
.strawberry-chocolate_tag_chocolate {
  width: 26.4375rem;
  height: 18.40625rem;
  top: 20.1875rem;
  right: 6.4375rem;
}
.strawberry-chocolate_cakes {
  display: grid;
  grid-template-columns: max-content max-content;
  grid-auto-flow: row dense;
  justify-content: center;
  -moz-column-gap: 1.875rem;
       column-gap: 1.875rem;
}
.strawberry-chocolate_cakes_main {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.strawberry-chocolate_cakes_main_title {
  font-size: 1.25rem;
  font-weight: 600;
  text-align: center;
  height: 3.75rem;
  display: flex;
  align-items: center;
}
.strawberry-chocolate_cakes_main > img {
  width: 37.875rem;
  height: 29.3125rem;
}
.strawberry-chocolate_cakes_main_text {
  margin-top: 1.375rem;
  margin-bottom: 1.4375rem;
}
.strawberry-chocolate_cakes_main .product-name {
  display: inline-block;
}
.strawberry-chocolate_cakes_main .product-price {
  display: inline-block;
  padding-left: 0.625rem;
}
.strawberry-chocolate_cakes_middle {
  display: flex;
  flex-direction: row;
  justify-content: center;
  margin-top: 3.6875rem;
}
.strawberry-chocolate_cakes_middle_item {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.strawberry-chocolate_cakes_middle_item > img {
  width: 17.8125rem;
  height: 16.1875rem;
}
.strawberry-chocolate_cakes_middle_item .button {
  width: 12.5rem;
  height: 3.125rem;
  font-size: 1.125rem;
  font-weight: 300;
  padding: 0.75rem 1rem 0.6875rem 3.375rem;
}
.strawberry-chocolate_cakes_middle_item .button > img {
  width: 1rem;
  height: 1.125rem;
}
.strawberry-chocolate_cakes_middle .product-name::after {
  content: "";
  display: inline-block;
  background-image: url(../images/reserve-badge.webp);
  width: 4.9125rem;
  height: 1.25rem;
  background-size: contain;
  margin-left: 0.5rem;
  transform: translateY(0.125rem);
}
.strawberry-chocolate_cakes_middle_text {
  text-align: center;
  font-size: 1rem;
  margin-top: 0.5rem;
  margin-bottom: 0.875rem;
}
.strawberry-chocolate_cakes_bottom {
  margin-top: 5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.strawberry-chocolate_cakes_bottom_img {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 1.875rem;
}
.strawberry-chocolate_cakes_bottom_img_main {
  width: 28.125rem;
  height: 17.5rem;
}
.strawberry-chocolate_cakes_bottom_option {
  width: 6.3125rem;
  height: 11.25rem;
  position: absolute;
  bottom: -0.875rem;
  left: -2rem;
}
.strawberry-chocolate_cakes_bottom_cut {
  position: absolute;
}
.strawberry-chocolate_cakes_bottom_cut.strawberry {
  width: 10.9375rem;
  height: 11.75rem;
  bottom: -1.375rem;
  right: -3.9375rem;
}
.strawberry-chocolate_cakes_bottom_cut.chocolate {
  width: 13rem;
  height: 13.0625rem;
  bottom: -1.25rem;
  right: -5.125rem;
}
.strawberry-chocolate_cakes_bottom_text {
  margin-top: 0.625rem;
  margin-bottom: 1.625rem;
  text-align: center;
}
.strawberry-chocolate_cakes_bottom a {
  margin-top: auto;
}

.strawberry {
  grid-column: 1;
}

.chocolate {
  grid-column: 2;
}

.variety {
  position: relative;
}
.variety_kv {
  background-image: url(../images/variety_kv_pc.webp);
  background-size: cover;
  height: 50.2277777778vw;
  z-index: 2;
  position: relative;
}
.variety_h2 {
  font-size: 1.8055555556vw;
  position: absolute;
  top: 10.4166666667vw;
  left: 18.0555555556vw;
}
.variety_h2::before {
  width: 32.8472222222vw;
  height: 6.25vw;
  transform: translate(-36%, -19%);
}
.variety_text {
  color: white;
  text-align: left;
  font-size: 1.3888888889vw;
  line-height: 2;
  position: absolute;
  top: 17.3611111111vw;
  left: 9.4444444444vw;
}
.variety_main {
  background: linear-gradient(180deg, rgb(188, 85, 78) 0%, rgb(155, 33, 33) 100%);
  margin-top: -8.125rem;
  padding-top: 9.375rem;
  padding-bottom: 21.4375rem;
  overflow: hidden;
  position: relative;
}
.variety .ornament {
  z-index: 1;
}
.variety .ornament_10 {
  width: 12.4375rem;
  height: 15.4375rem;
  top: 22.875rem;
  left: 2.4375rem;
}
.variety .ornament_11 {
  width: 11.8125rem;
  height: 11.875rem;
  top: 20rem;
  right: 2.9375rem;
}
.variety .ornament_12 {
  width: 8.3125rem;
  height: 8.75rem;
  top: 84.25rem;
  left: 3.125rem;
}
.variety .ornament_13 {
  width: 7.8125rem;
  height: 8.375rem;
  top: 92.25rem;
  right: 8.375rem;
}
.variety .ornament_14 {
  width: 5.375rem;
  height: 8.8125rem;
  top: 39.875rem;
  left: 7.8125rem;
}
.variety_h3 {
  font-size: 1.875rem;
  text-align: center;
  font-weight: 600;
  margin-top: 6.8125rem;
}
.variety_cake {
  z-index: 2;
}
.variety_cake_main {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: absolute;
  top: 30.2083333333vw;
  left: 6.9444444444vw;
}
.variety_cake_main_text {
  font-size: 0.9722222222vw;
  margin-bottom: 0.4861111111vw;
}
.variety_cake_main .product-name {
  font-size: 1.3888888889vw;
}
.variety_cake_main .product-name.badge {
  padding-left: 4.1666666667vw;
}
.variety_cake_main .product-name.badge::before {
  width: 3.4722222222vw;
  height: 3.4722222222vw;
  font-size: 1.3888888889vw;
}
.variety_cake_main .product-price_main {
  font-size: 2.0833333333vw;
}
.variety_cake_main .product-price_unit {
  font-size: 1.3888888889vw;
  margin-left: -0.1388888889vw;
}
.variety_cake_main .product-price_sub {
  font-size: 0.9722222222vw;
  margin-left: -0.1388888889vw;
}
.variety_cake_main .product-price.badge {
  padding-left: 4.1666666667vw;
}
.variety_cake_main .product-price.reserve::after {
  width: 5.4583333333vw;
  height: 1.3888888889vw;
  margin-left: -0.1388888889vw;
}
.variety_cake_main .button-yellow {
  width: 16.875rem;
  font-size: 1.125rem;
  padding: 0.75rem 1.625rem 0.75rem 4.8125rem;
}
.variety_cake_main .button-yellow > img {
  width: 1rem;
  height: 1.125rem;
}
.variety_cake_top {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 3.5rem;
  margin-top: 2.3125rem;
}
.variety_cake_top_img {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}
.variety_cake_top_img_main {
  width: 31.25rem;
  height: 24.6875rem;
}
.variety_cake_top_img_cut {
  width: 13rem;
  height: 13.0625rem;
  position: absolute;
  bottom: -1.3125rem;
  right: -5.375rem;
}
.variety_cake_top_text {
  text-align: center;
  font-size: 1rem;
  margin-top: 0.9375rem;
  margin-bottom: 1.875rem;
}
.variety_cake_princess {
  display: grid;
  grid-template-columns: repeat(3, max-content);
  grid-template-rows: auto auto auto;
  text-align: center;
  -moz-column-gap: 1.375rem;
       column-gap: 1.375rem;
  row-gap: 1.875rem;
  margin-top: 4.25rem;
  justify-content: center;
}
.variety_cake_princess_img {
  width: 19.6875rem;
  height: 13.0625rem;
  justify-self: center;
}
.variety_cake_princess_img.img1 {
  grid-column: 1;
  grid-row: 1;
}
.variety_cake_princess_img.img2 {
  grid-column: 2;
  grid-row: 1;
}
.variety_cake_princess_img.img3 {
  grid-column: 3;
  grid-row: 1;
}
.variety_cake_princess_text {
  font-size: 1.25rem;
  color: white;
  font-weight: 500;
  position: relative;
}
.variety_cake_princess_text.txt1 {
  grid-column: 1;
  grid-row: 2;
}
.variety_cake_princess_text.txt2 {
  grid-column: 2;
  grid-row: 2;
}
.variety_cake_princess_text.txt3 {
  grid-column: 3;
  grid-row: 2;
}
.variety_cake_princess_text::before, .variety_cake_princess_text::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 11.25rem;
  height: 2px;
  background: #FEC9B7;
  transform: translateX(-50%);
}
.variety_cake_princess_text::before {
  top: -0.3125rem;
}
.variety_cake_princess_text::after {
  bottom: -0.3125rem;
}
.variety_cake_princess_sub {
  font-size: 1rem;
  color: white;
  font-weight: 200;
}
.variety_cake_princess_sub.sub1 {
  grid-column: 1/span 2;
  grid-row: 3;
}
.variety_cake_princess_sub.sub2 {
  grid-column: 3;
  grid-row: 3;
}
.variety_cake_bottom {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 1.5rem;
  margin-top: 5.3125rem;
}
.variety_cake_bottom_item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.9375rem;
  position: relative;
}
.variety_cake_bottom_item_img {
  width: 25.625rem;
  height: 12.75rem;
}
.variety_cake_bottom_item .product-price {
  display: inline-block;
  padding-left: 0.625rem;
}
.variety_cake_bottom_item .product-price.reserve::after {
  display: block;
  transform: translate(-85%, 30%);
}
.variety_cake_bottom_item_comment {
  width: 11.5rem;
  height: 6.5rem;
  position: absolute;
  top: -4rem;
  right: -6.125rem;
}
.variety_cake_bottom_button {
  margin-top: 3.75rem;
}

.disney {
  position: relative;
}
.disney_kv {
  background-image: url(../images/disney_kv_pc.webp);
  background-size: cover;
  height: 55.5555555556vw;
  z-index: 2;
  position: relative;
  margin-top: -12.5rem;
}
.disney_h2 {
  font-size: 1.6666666667vw;
  position: absolute;
  top: 11.4583333333vw;
  left: 13.3333333333vw;
}
.disney_h2::before {
  width: 29.1666666667vw;
  height: 5.5555555556vw;
  transform: translate(-19%, -20%);
}
.disney_text {
  color: white;
  text-align: left;
  font-size: 2.3611111111vw;
  line-height: 1.5;
  position: absolute;
  top: 18.4722222222vw;
  left: 10.9722222222vw;
  font-weight: 600;
}
.disney_main {
  background: linear-gradient(180deg, rgb(84, 162, 134) 0%, rgb(32, 98, 84) 100%);
  margin-top: -12.5rem;
  padding-top: 9.375rem;
  padding-bottom: 5.6875rem;
  overflow: hidden;
  position: relative;
}
.disney_h3 {
  color: white;
  font-size: 1.875rem;
  font-weight: 600;
  margin: 7.5rem auto 0 auto;
  position: relative;
  display: flex;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
}
.disney_h3::before {
  content: "";
  background-image: url(../images/santa_icon.webp);
  width: 6.875rem;
  height: 6.875rem;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(-170%, -50%);
}
.disney_cake_main {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: absolute;
  top: 29.5138888889vw;
  left: 12.3611111111vw;
}
.disney_cake_main_text {
  font-size: 0.9722222222vw;
  margin-bottom: 0.4861111111vw;
}
.disney_cake_main .product-name {
  font-size: 1.3888888889vw;
  display: inline-block;
}
.disney_cake_main .product-name.badge {
  padding-left: 4.1666666667vw;
}
.disney_cake_main .product-name.badge::before {
  width: 3.4722222222vw;
  height: 3.4722222222vw;
  font-size: 1.3888888889vw;
}
.disney_cake_main .product-name::after {
  content: "";
  display: inline-block;
  width: 18.0555555556vw;
  height: 2.0833333333vw;
  background-image: url(../images/disney_date.webp);
  background-size: contain;
  background-repeat: no-repeat;
  transform: translateY(0.5555555556vw);
}
.disney_cake_main .product-price {
  margin-top: 0.2083333333vw;
}
.disney_cake_main .product-price_main {
  font-size: 2.0833333333vw;
}
.disney_cake_main .product-price_unit {
  font-size: 1.3888888889vw;
  margin-left: -0.1388888889vw;
}
.disney_cake_main .product-price_sub {
  font-size: 0.9722222222vw;
  margin-left: -0.1388888889vw;
}
.disney_cake_main .product-price.badge {
  padding-left: 4.1666666667vw;
}
.disney_cake_main .product-price.reserve::after {
  width: 5.4583333333vw;
  height: 1.3888888889vw;
  margin-left: -0.1388888889vw;
}
.disney_cake_main .button-yellow {
  width: 18.75vw;
  font-size: 1.25vw;
  padding: 0.8333333333vw 1.8055555556vw 0.8333333333vw 5.3472222222vw;
  margin-left: 2.8472222222vw;
  margin-top: 0.9027777778vw;
}
.disney_cake_main .button-yellow > img {
  width: 1.1111111111vw;
  height: 1.25vw;
}
.disney_c {
  width: 13.9375rem;
  height: 3.75rem;
  position: absolute;
  top: 13.75rem;
  right: 7.375rem;
}
.disney_gift {
  display: flex;
  flex-direction: row;
  justify-content: center;
  margin-top: -0.625rem;
}
.disney_gift_item {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.disney_gift_item > img {
  width: 23.125rem;
  height: 20.3125rem;
  margin-bottom: 1.9375rem;
}
.disney_gift_item .product-price {
  margin-top: 0.5rem;
}
.disney_gift_item_text {
  width: 19.125rem;
  text-align: center;
  font-size: 1rem;
  font-weight: 200;
  margin-top: 1rem;
  margin-bottom: 2.75rem;
}
.disney_gift_item:nth-child(2), .disney_gift_item:nth-child(3) {
  margin-left: -1.25rem;
}
.disney_gift .button {
  margin-top: auto;
}

.allergen-free {
  background: #F2C7B0;
  position: relative;
  padding-bottom: 7.25rem;
}
.allergen-free_top {
  background-image: url(../images/allergen-free_top_pc.webp);
  background-size: cover;
  height: 34.3055555556vw;
  z-index: 3;
  position: relative;
  padding-top: 4.6527777778vw;
}
.allergen-free_h2 {
  font-size: 1.8055555556vw;
  display: flex;
  justify-content: center;
  text-align: center;
  line-height: 1.1;
}
.allergen-free_h2::before {
  width: 32.8472222222vw;
  height: 7.5694444444vw;
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-size: 100% 100%;
}
.allergen-free_text {
  color: white;
  text-align: center;
  font-size: 1.9444444444vw;
  line-height: 1.5;
  margin-top: 2.7777777778vw;
  font-weight: 600;
}
.allergen-free_text_small {
  font-size: 1.6666666667vw;
}
.allergen-free_text_big {
  font-size: 2.3611111111vw;
}
.allergen-free_icon {
  width: 20.4166666667vw;
  height: auto;
  margin: 1.5972222222vw auto 0 auto;
  display: block;
}
.allergen-free_comment {
  width: 20.1388888889vw;
  height: auto;
  position: absolute;
  top: 17.5vw;
  left: 13.3333333333vw;
}
.allergen-free_cake {
  display: flex;
  flex-direction: column;
  align-items: center;
  transform: translateX(-12%);
  margin-top: 3.125rem;
  gap: 3.125rem;
}
.allergen-free_cake_main {
  width: 108.5rem;
  height: auto;
  position: absolute;
  top: -20rem;
  right: 50%;
  transform: translateX(75%);
}
.allergen-free_cake_item {
  display: flex;
  flex-direction: row;
  gap: 0.9375rem;
  align-items: center;
}
.allergen-free_cake_item_info {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.allergen-free_cake_item_info .product-name.reserve::after {
  content: "";
  display: inline-block;
  background-image: url(../images/reserve-badge.webp);
  width: 4.9125rem;
  height: 1.25rem;
  background-size: contain;
  transform: translate(8%, 15%);
}
.allergen-free_cake_item_text {
  font-size: 1rem;
  margin-top: 1.0625rem;
  margin-bottom: 1.3125rem;
}
.allergen-free_cake_item_img {
  width: 14.6875rem;
  height: auto;
}
.allergen-free_cake_comment {
  transform: translateX(-0.9375rem);
}
.allergen-free_cake_comment > p {
  font-size: 1rem;
}
.allergen-free_cake_comment > img {
  width: 32rem;
  height: auto;
  margin-top: 1.3125rem;
}
.allergen-free_main {
  position: relative;
  z-index: 2;
}
.allergen-free_content {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  align-items: center;
  margin-top: 3.0625rem;
}
.allergen-free_content > img {
  width: 53.75rem;
  height: auto;
}
.allergen-free_note {
  font-size: 0.6875rem;
  margin-top: 2.3125rem;
  display: flex;
  justify-content: center;
  line-height: 1.6;
}
.allergen-free_button {
  margin-top: 4.6875rem;
}

.preorder {
  background-color: #F8EBDB;
  padding-top: 3.75rem;
  padding-bottom: 7.3125rem;
  position: relative;
}
.preorder_h2 {
  font-size: 2.5rem;
  color: #932F14;
  display: block;
  position: relative;
  margin: 0 auto;
  width: -moz-fit-content;
  width: fit-content;
  padding-inline: 7.5rem;
}
.preorder_h2::before, .preorder_h2::after {
  content: "";
  display: block;
  width: 4.4375rem;
  height: 7.75rem;
  background-image: url(../images/laurel.webp);
  background-size: contain;
  z-index: 1;
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
}
.preorder_h2::before {
  left: 0;
}
.preorder_h2::after {
  right: 0;
  transform: translateY(-50%) scaleX(-1);
}
.preorder_banner {
  width: 43.75rem;
  height: auto;
}
.preorder_banner_box {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: 5rem auto 0 auto;
}
.preorder_h3 {
  font-size: 2.125rem;
  font-weight: 600;
  color: #BB0611;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 9.125rem auto 0 auto;
  text-align: center;
  position: relative;
}
.preorder_h3 > span {
  font-size: 1.75rem;
}
.preorder_h3::after {
  content: "";
  display: block;
  width: 5.3125rem;
  height: 6.5rem;
  background-image: url(../images/house.webp);
  background-size: contain;
  position: absolute;
  right: 0;
  top: 65%;
  transform: translate(130%, -50%);
}
.preorder_schedule {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: 4.6875rem auto 0 auto;
}
.preorder_schedule_img {
  width: 46.875rem;
}
.preorder_schedule_santa {
  width: 9.25rem;
  height: 11.5rem;
  position: absolute;
  top: -2.625rem;
  left: -0.6875rem;
}
.preorder_schedule .button {
  position: absolute;
  top: 20.5rem;
  right: 0.9375rem;
}
.preorder_buttons {
  margin-top: 2.125rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.25rem;
}
.preorder_buttons .button {
  width: 33.963125rem;
  height: 3.875rem;
  font-size: 1.5625rem;
  font-weight: 600;
}
.preorder_buttons .button:nth-child(1) {
  padding: 0.625rem 1.5625rem 0.5rem 10.625rem;
}
.preorder_buttons .button:nth-child(2) {
  padding: 0.625rem 1.5625rem 0.5rem 10rem;
}
.preorder_buttons .button > img {
  width: 1.5rem;
  height: 1.6875rem;
}
.preorder_note {
  font-size: 0.6875rem;
  margin: 2.6875rem auto 0 auto;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
}
.preorder::after {
  content: "";
  background-image: url(../images/snow_pc.webp);
  background-size: contain;
  display: block;
  width: 100%;
  height: 5.4861111111vw;
  position: absolute;
  bottom: 0;
  left: 0;
}
.preorder_btimg {
  position: absolute;
  z-index: 20;
  pointer-events: none;
}
.preorder_btimg.tree-single {
  width: 5.25rem;
  height: 10rem;
  left: 7.625rem;
  bottom: 1.3125rem;
}
.preorder_btimg.tree {
  width: 9.375rem;
  height: 10rem;
  right: 6.375rem;
  bottom: 1.3125rem;
}
.preorder .ornament_01 {
  bottom: 5.71875rem;
  left: -3.25rem;
  width: 11.75rem;
}
.preorder .ornament_02 {
  width: 12.5rem;
  bottom: -1.875rem;
  right: -5.0625rem;
}
.preorder .ornament_03 {
  width: 5.25rem;
  top: 27.5625rem;
  right: -1.5rem;
}

.footer {
  background-color: white;
  padding-bottom: 4.125rem;
  padding-top: 4.4375rem;
}
.footer_logo {
  width: 12.3125rem;
  height: auto;
}
.footer_container {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin: 0 auto;
  width: 59.1875rem;
}
.footer_ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.footer_li {
  font-size: 1rem;
  color: #000000;
}
.footer_link {
  color: inherit;
  text-decoration: none;
}
.footer_link:hover {
  color: #000000;
  opacity: 0.8;
}
.footer_link > span {
  font-size: 0.6875rem;
  line-height: 0.5;
}
.footer_copyright {
  text-align: center;
  font-size: 0.6875rem;
  margin-top: 14.5rem;
}

.fadein {
  opacity: 0;
  transform: translateY(-30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.fadein.on {
  opacity: 1;
  transform: translateY(0);
}

.page-top {
  position: fixed;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 5rem;
  right: 1.875rem;
  bottom: 1.875rem;
  gap: 0.125rem;
  color: white;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  border: none;
  background: #E1B25C;
  border-radius: 50%;
  transition: opacity 0.4s ease, visibility 0.4s ease;
  letter-spacing: 0.0625rem;
  font-weight: bold;
  z-index: 60;
}
.page-top:focus {
  outline: none;
  box-shadow: none;
}
.page-top i {
  font-size: 1.5rem;
  margin-bottom: 0.25rem;
}
.page-top span {
  font-size: 1.125rem;
  line-height: 1;
}

.page-top.is-active {
  opacity: 1;
  visibility: visible;
}

.bouncein {
  opacity: 1;
  transform: none;
  will-change: transform;
}
.bouncein.on {
  animation: bounce-2 0.6s ease-out 0.1s both;
}
.bouncein.hover-animate {
  animation: bounce-2-hover 0.6s ease-out both;
}

@keyframes bounce-2 {
  0% {
    transform: translateY(0);
  }
  35% {
    transform: translateY(-1.25rem);
  }
  60% {
    transform: translateY(0);
  }
  80% {
    transform: translateY(-0.625rem);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes bounce-2-hover {
  0% {
    transform: translateY(0);
  }
  35% {
    transform: translateY(-1.25rem);
  }
  60% {
    transform: translateY(0);
  }
  80% {
    transform: translateY(-0.625rem);
  }
  100% {
    transform: translateY(0);
  }
}
.story {
  min-height: 100vh;
  padding: 5rem 0;
  background: linear-gradient(180deg, rgb(84, 162, 134) 0%, rgb(20, 73, 62) 100%);
  position: relative;
  overflow: hidden;
}
.story_img {
  width: 100%;
}
.story_img_box {
  width: 60%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.125rem;
  margin: 0 auto;
}

.fancybox-toolbar .fancybox-button--slideShow,
.fancybox-toolbar .fancybox-button--play,
.fancybox-toolbar .fancybox-button--thumbs,
.fancybox-toolbar .fancybox-button--fullScreen,
.fancybox-toolbar .fancybox-button--download,
.fancybox-toolbar .fancybox-button--zoom,
.fancybox-toolbar .fancybox-button--share {
  display: none !important;
}

a[data-fancybox]:focus,
a[data-fancybox]:active {
  outline: none;
}

.bg {
  position: absolute;
  inset: 0;
}

.flake {
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
}

.flake.a, .flake.b, .flake.c {
  background-image: url("../images/sparkle_01.webp");
}

.flake.d, .flake.e, .flake.f {
  background-image: url("../images/snow.webp");
}

.flake.g, .flake.h, .flake.i, .flake.j, .flake.k {
  background-image: url("../images/sparkle_02.webp");
}

.flake.a {
  top: -3.75rem;
  left: 3.125rem;
  width: 10.25rem;
  height: 10.5625rem;
}

.flake.b {
  top: 27.875rem;
  right: -4.375rem;
  width: 12.8125rem;
  height: 13.1875rem;
}

.flake.c {
  top: 84.125rem;
  left: -0.6875rem;
  width: 10.25rem;
  height: 10.5625rem;
}

.flake.d {
  top: 13rem;
  left: 5.625rem;
  width: 3.75rem;
  height: 4.1875rem;
}

.flake.e {
  top: 45.5625rem;
  right: 5.625rem;
  width: 3.75rem;
  height: 4.1875rem;
}

.flake.f {
  top: 77.125rem;
  left: 8.125rem;
  width: 3.75rem;
  height: 4.1875rem;
}

.flake.g {
  top: 1.5625rem;
  left: 21.875rem;
  width: 6.1875rem;
  height: 6.1875rem;
}

.flake.h {
  top: 6.3125rem;
  right: 5.9375rem;
  width: 6.1875rem;
  height: 6.1875rem;
}

.flake.i {
  top: 48.4375rem;
  right: 1.375rem;
  width: 6.1875rem;
  height: 6.1875rem;
}

.flake.j {
  top: 64.6875rem;
  left: 4.4375rem;
  width: 6.1875rem;
  height: 6.1875rem;
}

.flake.k {
  top: 108.0625rem;
  right: 3.875rem;
  width: 6.1875rem;
  height: 6.1875rem;
}

.flake.l, .flake.m {
  background-image: url("../images/sparkle_01.webp");
}

.flake.n, .flake.o, .flake.p {
  background-image: url("../images/snow.webp");
}

.flake.q, .flake.r, .flake.s, .flake.t {
  background-image: url("../images/sparkle_02.webp");
}

.flake.l {
  top: 29.875rem;
  right: -4.375rem;
  width: 12.8125rem;
  height: 13.1875rem;
}

.flake.m {
  top: 72.1875rem;
  left: -1.25rem;
  width: 10.25rem;
  height: 10.5625rem;
}

.flake.n {
  top: 34.375rem;
  left: 3.8125rem;
  width: 3.75rem;
  height: 4.1875rem;
}

.flake.o {
  top: 53.5625rem;
  right: 5.625rem;
  width: 3.75rem;
  height: 4.1875rem;
}

.flake.p {
  top: 65.1875rem;
  left: 8.125rem;
  width: 3.75rem;
  height: 4.1875rem;
}

.flake.q {
  top: 25.125rem;
  left: 6.1875rem;
  width: 8.5625rem;
  height: 8.5625rem;
}

.flake.r {
  top: 56.4375rem;
  right: 1.375rem;
  width: 6.1875rem;
  height: 6.1875rem;
}

.flake.s {
  top: 52.75rem;
  left: 4.4375rem;
  width: 6.1875rem;
  height: 6.1875rem;
}

.flake.t {
  top: 74.5625rem;
  right: 1.5rem;
  width: 8.5625rem;
  height: 7.9375rem;
}

.flake.u, .flake.v, .flake.w, .flake.x {
  z-index: 1;
  background-image: url("../images/sparkle_04.webp");
}

.flake.y, .flake.z {
  z-index: 1;
  background-image: url("../images/sparkle_02.webp");
}

.flake.u {
  top: 9.5rem;
  left: 6.4375rem;
  width: 5.633125rem;
  height: 7.599375rem;
}

.flake.v {
  top: 33rem;
  right: 5.375rem;
  width: 5.633125rem;
  height: 7.599375rem;
  transform: scaleX(-1);
}

.flake.w {
  top: 60.5rem;
  left: 6.4375rem;
  width: 5.633125rem;
  height: 7.599375rem;
}

.flake.x {
  top: 78.375rem;
  right: 5.375rem;
  width: 5.633125rem;
  height: 7.599375rem;
  transform: scaleX(-1);
}

.flake.y {
  top: 44.4375rem;
  left: -1.625rem;
  width: 10.3125rem;
  height: 10.3125rem;
}

.flake.z {
  top: 91.625rem;
  left: 6.0625rem;
  width: 10.3125rem;
  height: 10.3125rem;
}

.flake.ag, .flake.ah {
  z-index: 1;
  background-image: url("../images/sparkle_01.webp");
}

.flake.ai, .flake.aj {
  z-index: 1;
  background-image: url("../images/snow.webp");
}

.flake.ak, .flake.al {
  z-index: 1;
  background-image: url("../images/sparkle_02.webp");
}

.flake.ag {
  top: 0;
  right: -3.125rem;
  width: 12.8125rem;
  height: 13.2125rem;
}

.flake.ah {
  top: 41.5625rem;
  left: -2.5rem;
  width: 10.25rem;
  height: 10.5625rem;
}

.flake.ai {
  top: 18.8125rem;
  left: 4.5625rem;
  width: 3.75rem;
  height: 4.1875rem;
}

.flake.aj {
  top: 24.8125rem;
  right: 6rem;
  width: 3.75rem;
  height: 4.1875rem;
}

.flake.ak {
  top: 9.4375rem;
  left: 7.5625rem;
  width: 6.1875rem;
  height: 6.1875rem;
}

.flake.al {
  top: 27.6875rem;
  right: 1.75rem;
  width: 6.1875rem;
  height: 6.1875rem;
}

@media (max-width: 960px) {
  .flake.am {
    background-image: url("../images/snow.webp");
  }
  .flake.a {
    top: 19.375rem;
    left: -3.25rem;
    width: 8.25rem;
    height: 8.5rem;
  }
  .flake.b {
    top: auto;
    bottom: 16.25rem;
    right: -4.8125rem;
    width: 8.8125rem;
    height: 9.0625rem;
  }
  .flake.c {
    top: 123.4375rem;
    left: -4.8125rem;
    width: 8.25rem;
    height: 8.5rem;
  }
  .flake.d {
    top: 21.0625rem;
    left: auto;
    right: 1.1875rem;
    width: 3.03125rem;
    height: 3.375rem;
  }
  .flake.e {
    top: 64.375rem;
    right: 2.8125rem;
    width: 3.03125rem;
    height: 3.375rem;
  }
  .flake.f {
    top: 110.625rem;
    left: 1.4375rem;
    width: 3.03125rem;
    height: 3.375rem;
  }
  .flake.am {
    bottom: 9.875rem;
    right: 1.8125rem;
    width: 2.57875rem;
    height: 2.875rem;
  }
  .flake.g {
    top: 67.1875rem;
    left: auto;
    right: -0.625rem;
    width: 5rem;
    height: 5rem;
  }
  .flake.h {
    top: 90rem;
    right: auto;
    left: 0.25rem;
    width: 5rem;
    height: 5rem;
  }
  .flake.i {
    top: 109.375rem;
    right: -0.625rem;
    width: 5rem;
    height: 5rem;
  }
  .flake.j {
    top: auto;
    bottom: 10.875rem;
    left: 0.875rem;
    width: 5rem;
    height: 5rem;
  }
  .flake.k {
    top: 108.0625rem;
    right: 3.875rem;
    width: 5rem;
    height: 5rem;
  }
  .flake.n, .flake.o, .flake.p {
    background-image: url("../images/snow.webp");
  }
  .flake.q, .flake.r, .flake.s, .flake.t {
    background-image: url("../images/sparkle_02.webp");
  }
  .flake.l {
    top: 81.5625rem;
    right: -4.8125rem;
    width: 8.8125rem;
    height: 9.0625rem;
  }
  .flake.m {
    top: 97.4375rem;
    left: -4.8125rem;
    width: 8.25rem;
    height: 8.5rem;
  }
  .flake.n {
    top: 47.6875rem;
    left: 1.4375rem;
    width: 3.016875rem;
    height: 3.3675rem;
  }
  .flake.o {
    top: 125rem;
    right: -0.5rem;
    width: 2.5625rem;
    height: 2.875rem;
  }
  .flake.p {
    top: auto;
    bottom: 4.0625rem;
    left: -0.6875rem;
    width: 3.016875rem;
    height: 3.3675rem;
  }
  .flake.q {
    top: 128.125rem;
    left: -0.8125rem;
    width: 5rem;
    height: 5rem;
  }
  .flake.r {
    top: 72.6875rem;
    right: -0.625rem;
    width: 5rem;
    height: 5rem;
  }
  .flake.s {
    top: auto;
    bottom: 1.375rem;
    left: auto;
    right: -0.625rem;
    width: 5rem;
    height: 5rem;
  }
  .flake.aa {
    z-index: 1;
    background-image: url("../images/sparkle_02.webp");
  }
  .flake.ab, .flake.ac, .flake.ad {
    z-index: 1;
    background-image: url("../images/snow.webp");
  }
  .flake.ae, .flake.af {
    z-index: 1;
    background-image: url("../images/sparkle_01.webp");
  }
  .flake.y {
    top: 32.0625rem;
    right: -0.625rem;
    left: auto;
    width: 5rem;
    height: 5rem;
  }
  .flake.z {
    top: 60.375rem;
    left: 0.25rem;
    width: 5rem;
    height: 5rem;
  }
  .flake.aa {
    top: 67.5rem;
    right: -0.625rem;
    width: 5rem;
    height: 5rem;
  }
  .flake.ab {
    top: 29.75rem;
    right: 2.8125rem;
    width: 3.016875rem;
    height: 3.3675rem;
  }
  .flake.ac {
    top: 65.625rem;
    left: -0.75rem;
    width: 3.016875rem;
    height: 3.3675rem;
  }
  .flake.ad {
    top: 131.25rem;
    right: 1.8125rem;
    width: 2.57875rem;
    height: 2.878125rem;
  }
  .flake.ae {
    top: 105.5rem;
    left: -4.8125rem;
    width: 8.25rem;
    height: 8.5rem;
  }
  .flake.af {
    top: 122.3125rem;
    right: -4.803125rem;
    width: 8.801875rem;
    height: 9.085625rem;
  }
  .flake.ag {
    top: 90rem;
    right: -4.8025rem;
    width: 8.801875rem;
    height: 9.085625rem;
  }
  .flake.ah {
    top: 74.875rem;
    left: -4.8125rem;
    width: 8.25rem;
    height: 8.5rem;
  }
  .flake.ai {
    top: 29.1875rem;
    left: -0.75rem;
    width: 3.016875rem;
    height: 3.3675rem;
  }
  .flake.aj {
    top: 101.09375rem;
    right: 1.8125rem;
    width: 2.57875rem;
    height: 2.875rem;
  }
  .flake.ak {
    top: 23.9375rem;
    left: 0.25rem;
    width: 5rem;
    height: 5rem;
  }
  .flake.al {
    top: 34.75rem;
    right: -0.625rem;
    width: 5rem;
    height: 5rem;
  }
}
@media (max-width: 960px) {
  /******************************************************************

  Stylesheet: 960px以下のモニタで適用

  ******************************************************************/
  .wrap_sp {
    display: block;
  }
  .wrap_pc {
    display: none;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  .scale {
    transform: scale(1);
    transform-origin: left top;
    height: 100%;
    width: 100%;
  }
  .area-form {
    width: 100%;
    min-width: 100%;
    padding: 24px 16px;
    margin-top: 79.4871794872vw;
    margin-right: 0;
  }
  .area-form .btn {
    line-height: 1.5;
  }
  .header {
    background-color: transparent;
    height: 4.25rem;
    z-index: 999;
  }
  .header_nav {
    display: none;
  }
  .header_logo {
    display: none;
  }
  .header_inner {
    padding-left: 0;
    padding-right: 0;
  }
  .mobile-menu {
    display: block;
  }
  .mobile-menu_btn {
    display: block;
  }
  .soldout::after {
    bottom: 2%;
  }
  .button-orange {
    width: 20.0625rem;
    font-size: 1rem;
    padding: 0.75rem 0.9375rem 0.75rem 6.5625rem;
  }
  .button-orange > img {
    width: 0.891875rem;
    height: 0.98625rem;
  }
  .button-brown {
    width: 14.375rem;
    font-size: 1rem;
    padding: 0.75rem 1.3125rem 0.75rem 3.875rem;
  }
  .button-brown > img {
    width: 1.0625rem;
    height: 1.1875rem;
  }
  .button-white {
    width: 9.375rem;
    height: 2.125rem;
    font-size: 0.875rem;
    padding: 0.625rem 0.625rem 0.625rem 2.125rem;
  }
  .button-white > img {
    width: 0.6875rem;
    height: 0.78125rem;
  }
  .button-white:hover {
    color: #000000;
  }
  .button-yellow {
    width: 9.375rem;
    height: 2.125rem;
    font-size: 0.875rem;
    padding: 0.625rem 0.875rem 0.625rem 2.375rem;
  }
  .button-yellow > img {
    width: 0.6875rem;
    height: 0.78125rem;
  }
  .button-yellow:hover {
    color: #000000;
  }
  .button-dbrown {
    width: 20.0625rem;
    font-size: 1.25rem;
    padding: 0.875rem 0.9375rem 0.625rem 4.4375rem;
    line-height: 1.2;
  }
  .button-dbrown > span {
    font-size: 0.8125rem;
  }
  .button-dbrown > img {
    width: 0.89375rem;
    height: 1rem;
  }
  .button-green {
    width: 33.5897435897vw;
    height: 13.8461538462vw;
    padding: 1.7948717949vw 2.3076923077vw 1.7948717949vw 8.9743589744vw;
    text-align: center;
    font-size: 4.6153846154vw;
  }
  .button-green > img {
    width: 3.7435897436vw;
    height: 4.2102564103vw;
  }
  .product-name {
    font-size: 1rem;
  }
  .product-name.badge {
    position: relative;
    display: inline-block;
    padding-left: 3.75rem;
  }
  .product-name.badge::before {
    content: attr(data-num);
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
    width: 3.125rem;
    height: 3.125rem;
    background-size: contain;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.25rem;
    font-weight: 300;
    color: white;
  }
  .product-name.badge.gold::before {
    background-image: url(../images/product-number_gold.webp);
  }
  .product-name.badge.red::before {
    background-image: url(../images/product-number_red.webp);
  }
  .product-name_size {
    font-size: 0.875rem;
  }
  .product-price_main {
    font-size: 1.75rem;
  }
  .product-price_unit {
    font-size: 1.125rem;
    margin-left: -0.125rem;
  }
  .product-price_sub {
    font-size: 0.75rem;
    margin-left: -0.125rem;
  }
  .product-price.badge {
    padding-left: 3.75rem;
  }
  .product-price.reserve::after {
    content: "";
    display: inline-block;
    background-image: url(../images/reserve-badge.webp);
    width: 4.9125rem;
    height: 1.25rem;
    background-size: contain;
    margin-left: -0.125rem;
  }
  .slick-arrow {
    width: 2rem;
    z-index: 20;
  }
  .slick-arrow.custom-prev {
    left: 0.625rem;
  }
  .slick-arrow.custom-prev > img {
    width: 2rem;
  }
  .slick-arrow.custom-next {
    right: 1.25rem;
  }
  .slick-arrow.custom-next > img {
    width: 2rem;
  }
  .top {
    height: 141.0256410256vw;
  }
  .top_bg {
    padding-bottom: 141.0256410256%;
    background: url(../images/kv_sp.webp) no-repeat;
    background-size: cover;
  }
  .top_banner {
    width: 38.4615384615vw;
    top: 100vw;
    left: 2.5641025641vw;
  }
  .introduction {
    padding-top: 1.25rem;
    padding-bottom: 3.1875rem;
  }
  .introduction_banner_01 {
    margin-top: 2.625rem;
  }
  .introduction_banner_01_box {
    width: 21.375rem;
  }
  .introduction_banner_02 {
    width: 18.75rem;
    margin-top: 2.5rem;
  }
  .introduction .ornament_01 {
    bottom: 4.289375rem;
    left: -2.9375rem;
    width: 7.8125rem;
  }
  .introduction .ornament_02 {
    width: 6.5rem;
    bottom: 4.5rem;
    right: -2.83875rem;
  }
  .introduction .ornament_03 {
    width: 3rem;
    top: 16.3125rem;
    right: -1.08875rem;
  }
  .introduction .ornament_04 {
    width: 15.8125rem;
    top: -8.875rem;
    left: -3.875rem;
  }
  .introduction .ornament_05 {
    width: 12.5625rem;
    top: 5.125rem;
    right: -4.25rem;
  }
  .introduction_text {
    margin-top: 11rem;
    font-size: 1.125rem;
  }
  .introduction_buttons {
    margin-top: 10.625rem;
    width: 21.375rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-flow: row;
    justify-content: center;
    gap: 0.4125rem;
    grid-auto-rows: 7.5rem;
  }
  .introduction_buttons_item {
    grid-column: span 2;
    grid-column: auto !important;
    grid-row: auto !important;
    min-width: 0;
    align-items: center;
  }
  .introduction_buttons_item p {
    font-size: 0.6875rem;
  }
  .introduction_buttons_item_cake {
    width: 7.375rem;
  }
  .introduction_buttons_item_cake.down {
    transform: translateY(0.9375rem);
  }
  .introduction_buttons_item_plate {
    width: 6.8125rem;
  }
  .marquee__rail {
    gap: 0.625rem;
  }
  .marquee__track {
    gap: 0.625rem;
  }
  .marquee__track > li {
    width: 11.25rem;
  }
  .marquee__track img {
    border-top-left-radius: 1.25rem;
    border-bottom-right-radius: 1.25rem;
  }
  .santa_santa {
    background-image: url(../images/santa_bg_sp.webp);
    background-size: cover;
    height: 94.8717948718vw;
    z-index: 2;
  }
  .santa_h2 {
    font-size: 4.6153846154vw;
    top: 12.3076923077vw;
    margin: 0 auto;
    position: relative;
    left: auto;
    z-index: 2;
  }
  .santa_h2::before {
    width: 82.8205128205vw;
    height: 15.8974358974vw;
    position: absolute;
    top: 70%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .santa .ornament_06 {
    width: 37.6923076923vw;
    top: 21.7948717949vw;
    left: 0.5128205128vw;
  }
  .santa .ornament_07 {
    width: 26.6666666667vw;
    top: 80.7692307692vw;
    right: -3.5897435897vw;
  }
  .santa_text {
    position: relative;
    margin-top: -1.25rem;
    top: auto;
    left: auto;
    text-align: center;
  }
  .santa_text_main {
    font-size: 1.5rem;
  }
  .santa_text_sub {
    font-size: 0.875rem;
    margin-top: 1.5625rem;
  }
  .santa_story {
    padding: 5.0625rem 0 11.25rem 0;
  }
  .santa_story::after {
    background-image: url(../images/snow_sp.webp);
    background-size: contain;
    height: 20.2564102564vw;
  }
  .santa_story_btimg.santa {
    width: 8.3125rem;
    height: 8.3125rem;
    left: 1.0625rem;
    bottom: 0.8125rem;
  }
  .santa_story_btimg.tree {
    width: 6.8125rem;
    height: 7.625rem;
    right: 0.625rem;
    bottom: 0.875rem;
  }
  .santa_story .ornament_08 {
    top: 64.375rem;
    left: -1.375rem;
    width: 6.8125rem;
  }
  .santa_story .ornament_09 {
    top: 112.875rem;
    right: -2.1875rem;
    width: 8.125rem;
  }
  .santa_story_button {
    width: 16.5625rem;
    height: 3.125rem;
    padding: 0.75rem 0.9375rem 0.75rem 1.125rem;
    font-size: 1rem;
    margin: 0 auto;
    position: relative;
  }
  .santa_story_button > img {
    width: 1rem;
    height: 1.1rem;
  }
  .santa_story_button_box {
    width: 100%;
    margin: 0 auto;
    position: relative;
    text-align: center;
    display: flex;
    align-items: center;
    padding: 3.125rem 0;
  }
  .santa_h3 {
    font-size: 2.125rem;
    margin-top: 7.25rem;
  }
  .santa_slider {
    width: 21.375rem;
    margin: 1.4375rem auto 0 auto;
    height: 28.125rem;
  }
  .santa_cake_box {
    flex-direction: column;
    gap: 2.1875rem;
    margin-top: 4.375rem;
  }
  .santa_cake_item {
    gap: 0.5rem;
  }
  .santa_cake_item > img {
    width: 21.25rem;
  }
  .santa_gift_title {
    margin-top: 7.6875rem;
  }
  .santa_gift_title_main {
    font-size: 1.625rem;
  }
  .santa_gift_title_main::before {
    width: 5.75rem;
    height: 5.75rem;
    background-size: contain;
    left: 0;
    top: 50%;
    transform: translate(-120%, -60%);
  }
  .santa_gift_title_sub {
    font-size: 0.875rem;
    line-height: 2;
  }
  .santa_gift_box {
    margin: 1.875rem auto 0 auto;
    -moz-column-gap: 0.625rem;
         column-gap: 0.625rem;
    row-gap: 4.125rem;
    flex-wrap: wrap;
    width: 21.375rem;
  }
  .santa_gift_item {
    width: 55%;
  }
  .santa_gift_item:nth-child(1), .santa_gift_item:nth-child(2) {
    width: 48%;
  }
  .santa_gift_item > img {
    width: 11.25rem;
    margin-bottom: 1.3125rem;
  }
  .santa_gift_item .product-price {
    margin-top: 0.625rem;
  }
  .santa_gift_item_text {
    font-size: 0.75rem;
    margin-top: 0.25rem;
    margin-bottom: 1.0625rem;
  }
  .speciality_kv {
    background-image: url(../images/speciality_kv_sp.webp);
    background-size: cover;
    height: 118.7179487179vw;
  }
  .speciality_h2 {
    font-size: 4.6153846154vw;
    top: 12.3076923077vw;
    margin: 0 auto;
    position: relative;
    left: auto;
    z-index: 2;
    display: block;
    width: -moz-fit-content;
    width: fit-content;
  }
  .speciality_h2::before {
    width: 82.8205128205vw;
    height: 15.8974358974vw;
    position: absolute;
    top: 70%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .speciality_text {
    font-size: 4.1025641026vw;
    line-height: 1.8;
    top: 24.358974359vw;
    font-weight: 600;
    left: 50%;
    transform: translateX(-50%);
    width: -moz-fit-content;
    width: fit-content;
    text-wrap: nowrap;
    line-height: 1.6;
  }
  .speciality_main {
    background: linear-gradient(180deg, rgb(248, 235, 219) 0%, rgb(231, 196, 158) 100%);
    margin-top: -8.125rem;
    padding-top: 10.625rem;
    padding-bottom: 5.6875rem;
  }
  .speciality_schedule_img {
    width: 100%;
    height: auto;
    margin: 0 auto;
  }
  .speciality_schedule_button {
    width: 74.358974359vw;
    height: 11.7948717949vw;
    padding: 1.7948717949vw 3.5897435897vw 1.7948717949vw 17.4358974359vw;
    top: 53%;
    left: 49%;
    transform: translate(-50%, -50%);
    font-size: 4.1025641026vw;
  }
  .speciality_schedule_button > img {
    width: 3.3333333333vw;
    height: 4.1025641026vw;
  }
  .speciality_cake {
    margin-top: 5.5625rem;
    gap: 4.375rem;
    flex-direction: column;
  }
  .speciality_cake_item_img > img {
    width: 20.3125rem;
    height: auto;
    margin-bottom: 0;
  }
  .speciality_cake_item_text {
    font-size: 0.875rem;
    width: 20rem;
    text-align: center;
    margin-top: 0.625rem;
    margin-bottom: 0.8125rem;
  }
  .speciality_cake_item .product-name {
    height: 3rem;
    display: flex;
    align-items: center;
  }
  .speciality_cake_item .product-name_size.end {
    line-height: 1.7;
  }
  .speciality_cake_item .product-name.badge::before {
    font-size: 1.625rem;
  }
  .speciality_cake_item a {
    margin-top: auto;
  }
  .strawberry-chocolate {
    width: 100%;
    position: relative;
    padding-top: 3.875rem;
    padding-bottom: 0;
    background: #F8EBDB;
  }
  .strawberry-chocolate_bg-pinkgrad {
    background: linear-gradient(180deg, rgb(248, 235, 219) 0%, rgb(255, 178, 177) 100%);
    padding-bottom: 1.5rem;
  }
  .strawberry-chocolate_bg-beigegrad {
    background: linear-gradient(180deg, rgb(248, 235, 219) 0%, rgb(231, 191, 154) 100%);
    position: relative;
    padding-top: 9.6875rem;
    padding-bottom: 2.25rem;
  }
  .strawberry-chocolate_h2 {
    font-size: 4.6153846154vw;
    width: -moz-fit-content;
    width: fit-content;
    white-space: nowrap;
    top: 12.3076923077vw;
  }
  .strawberry-chocolate_h2::before {
    width: 82.8205128205vw;
    height: 15.8974358974vw;
  }
  .strawberry-chocolate_text {
    font-size: 3.5897435897vw;
    top: 33.3333333333vw;
    line-height: 2.2;
    width: -moz-fit-content;
    width: fit-content;
    white-space: nowrap;
  }
  .strawberry-chocolate_tag {
    display: block;
  }
  .strawberry-chocolate_tag_strawberry {
    position: absolute;
    width: 15.75rem;
    height: 9.625rem;
    top: 18.125rem;
    left: -1.0625rem;
  }
  .strawberry-chocolate_tag_chocolate {
    width: 17.125rem;
    height: 11.25rem;
    position: absolute;
    top: 0.75rem;
    right: 0;
  }
  .strawberry-chocolate_cakes {
    display: block;
    margin-top: 24.6875rem;
  }
  .strawberry-chocolate_cakes_main_title {
    font-size: 0.9375rem;
    text-align: center;
    height: 3.75rem;
    display: flex;
    align-items: center;
  }
  .strawberry-chocolate_cakes_main > img {
    width: 102.3076923077vw;
    height: 73.0769230769vw;
    margin-top: -1.25rem;
  }
  .strawberry-chocolate_cakes_main > img.strawberry {
    transform: translateX(-6.4102564103vw);
  }
  .strawberry-chocolate_cakes_main > img.chocolate {
    transform: translateX(8.2051282051vw);
  }
  .strawberry-chocolate_cakes_main_text {
    font-size: 0.875rem;
    margin-top: 0.5rem;
    margin-bottom: 1rem;
  }
  .strawberry-chocolate_cakes_main .product-name.badge::before {
    font-size: 6.6666666667vw;
  }
  .strawberry-chocolate_cakes_main .product-price {
    padding-left: 0.5rem;
  }
  .strawberry-chocolate_cakes_main .product-price::after {
    display: block;
    transform: translateX(-45%);
  }
  .strawberry-chocolate_cakes_middle {
    margin-top: 1.125rem;
  }
  .strawberry-chocolate_cakes_middle_item {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .strawberry-chocolate_cakes_middle_item > img {
    width: 11.5625rem;
    height: 10.5rem;
  }
  .strawberry-chocolate_cakes_middle_item .button {
    width: 9.375rem;
    height: 2.125rem;
    font-size: 0.875rem;
    padding: 0.625rem 0.625rem 0.625rem 2.125rem;
  }
  .strawberry-chocolate_cakes_middle_item .button > img {
    width: 0.6875rem;
    height: 0.78125rem;
  }
  .strawberry-chocolate_cakes_middle .product-info {
    text-align: center;
  }
  .strawberry-chocolate_cakes_middle .product-name.badge {
    padding-left: 2.1875rem;
  }
  .strawberry-chocolate_cakes_middle .product-name.badge::before {
    width: 1.75rem;
    height: 1.75rem;
    font-size: 1.125rem;
  }
  .strawberry-chocolate_cakes_middle .product-name::after {
    width: 3.92625rem;
    height: 1rem;
    margin-left: 0.125rem;
  }
  .strawberry-chocolate_cakes_middle .product-price {
    padding-left: 0;
  }
  .strawberry-chocolate_cakes_middle .product-price_main {
    font-size: 1.625rem;
  }
  .strawberry-chocolate_cakes_middle .product-price_unit {
    font-size: 1rem;
    margin-left: -0.125rem;
  }
  .strawberry-chocolate_cakes_middle .product-price_sub {
    font-size: 0.6875rem;
    margin-left: -0.125rem;
  }
  .strawberry-chocolate_cakes_middle_text {
    font-size: 0.75rem;
    margin-top: 0.25rem;
    margin-bottom: 0.8125rem;
  }
  .strawberry-chocolate_cakes_bottom {
    margin-top: 0;
    padding: 1.875rem 0 3.125rem 0;
  }
  .strawberry-chocolate_cakes_bottom.strawberry {
    background: #FFB4B2;
  }
  .strawberry-chocolate_cakes_bottom.chocolate {
    background: #E8C09A;
  }
  .strawberry-chocolate_cakes_bottom_img {
    margin-bottom: 6.375rem;
  }
  .strawberry-chocolate_cakes_bottom_img_main {
    width: 92.3076923077vw;
    height: 57.4358974359vw;
  }
  .strawberry-chocolate_cakes_bottom_option {
    width: 39.2307692308vw;
    height: 26.9230769231vw;
    bottom: -17.1794871795vw;
    left: 2.0512820513vw;
  }
  .strawberry-chocolate_cakes_bottom_cut.strawberry {
    width: 38.1vw;
    height: 37.6923076923vw;
    bottom: -20.5128205128vw;
    right: -1.1282051282vw;
  }
  .strawberry-chocolate_cakes_bottom_cut.chocolate {
    width: 45.241025641vw;
    height: 45.458974359vw;
    bottom: -22.3076923077vw;
    right: -0.6153846154vw;
  }
  .strawberry-chocolate_cakes_bottom_text {
    margin-top: 0.75rem;
    margin-bottom: 1rem;
    font-size: 0.875rem;
  }
  .strawberry-chocolate_cakes_bottom a {
    margin-top: auto;
  }
  .variety_kv {
    background-image: url(../images/variety_kv_sp.webp);
    height: 123.3333333333vw;
  }
  .variety_h2 {
    font-size: 4.6153846154vw;
    top: 11.5384615385vw;
    left: 50%;
    transform: translateX(-50%);
  }
  .variety_h2::before {
    width: 82.8205128205vw;
    height: 15.8974358974vw;
    top: -40%;
    left: 50%;
    transform: translateX(-50%);
  }
  .variety_text {
    text-align: center;
    font-size: 3.5897435897vw;
    line-height: 2;
    width: 100%;
    top: 131.5384615385vw;
    left: 0;
  }
  .variety_main {
    margin-top: -6.25rem;
    padding-top: 26.875rem;
    padding-bottom: 11.25rem;
  }
  .variety_h3 {
    font-size: 1.625rem;
    margin-top: 5.625rem;
  }
  .variety_cake_main {
    align-items: center;
    position: absolute;
    width: 100%;
    top: 162.8205128205vw;
    left: 0;
  }
  .variety_cake_main_text {
    font-size: 0.875rem;
    margin-top: 0.75rem;
    margin-bottom: 1rem;
  }
  .variety_cake_main .product-name {
    font-size: 1rem;
  }
  .variety_cake_main .product-name.badge {
    padding-left: 3.75rem;
  }
  .variety_cake_main .product-name.badge::before {
    width: 3.125rem;
    height: 3.125rem;
    font-size: 1.625rem;
  }
  .variety_cake_main .product-price_main {
    font-size: 1.75rem;
  }
  .variety_cake_main .product-price_unit {
    font-size: 1.125rem;
    margin-left: -0.125rem;
  }
  .variety_cake_main .product-price_sub {
    font-size: 0.75rem;
    margin-left: -0.125rem;
  }
  .variety_cake_main .product-price.badge {
    padding-left: 3.75rem;
  }
  .variety_cake_main .product-price.reserve::after {
    width: 4.9125rem;
    height: 1.25rem;
    margin-left: -0.125rem;
  }
  .variety_cake_main .button-yellow {
    width: 14.3125rem;
    font-size: 1.125rem;
    padding: 0.75rem 0.725rem 0.75rem 3.875rem;
  }
  .variety_cake_main .button-yellow > img {
    width: 1.0625rem;
    height: 1.1875rem;
  }
  .variety_cake_top {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2.1875rem;
    margin-top: 5rem;
  }
  .variety_cake_top_img {
    padding-right: 5.625rem;
    padding-bottom: 1.375rem;
  }
  .variety_cake_top_img_main {
    width: 64.9128205128vw;
    height: 51.2820512821vw;
  }
  .variety_cake_top_img_cut {
    width: 36.8923076923vw;
    height: 37.0692307692vw;
    bottom: 0;
    right: 0;
  }
  .variety_cake_top_text {
    font-size: 0.875rem;
    margin-top: 0.75rem;
    margin-bottom: 1rem;
    line-height: 1.6;
  }
  .variety_cake_top .button-yellow {
    width: 14.3125rem;
    font-size: 1.125rem;
    padding: 0.75rem 0.725rem 0.75rem 3.875rem;
  }
  .variety_cake_top .button-yellow > img {
    width: 1.0625rem;
    height: 1.1875rem;
  }
  .variety_cake_princess {
    -moz-column-gap: 0.9375rem;
         column-gap: 0.9375rem;
    row-gap: 0.75rem;
    margin-top: 2.75rem;
    grid-template-columns: repeat(3, 25.641025641vw);
  }
  .variety_cake_princess_img {
    width: 89.2307692308vw;
    height: 46.9230769231vw;
  }
  .variety_cake_princess_img.sp {
    grid-column: 1/-1;
    grid-row: 1;
  }
  .variety_cake_princess_text {
    font-size: 0.75rem;
  }
  .variety_cake_princess_text::before, .variety_cake_princess_text::after {
    width: 6.25rem;
  }
  .variety_cake_princess_text::before {
    top: -0.125rem;
  }
  .variety_cake_princess_text::after {
    bottom: -0.125rem;
  }
  .variety_cake_princess_sub {
    font-size: 0.75rem;
  }
  .variety_cake_princess_sub.sub1 {
    grid-column: 1/-1;
    grid-row: 3;
    margin-top: 0.8125rem;
  }
  .variety_cake_princess_sub.sub2 {
    grid-column: 1/-1;
    grid-row: 4;
    margin-top: -0.375rem;
  }
  .variety_cake_bottom {
    flex-direction: column;
    gap: 3.875rem;
    margin-top: 2.625rem;
  }
  .variety_cake_bottom_item {
    gap: 0.8125rem;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
  .variety_cake_bottom_item_img {
    width: 17.5rem;
    height: 8.7075rem;
  }
  .variety_cake_bottom_item .product-price {
    padding-left: 0.3125rem;
  }
  .variety_cake_bottom_item .product-price.reserve::after {
    transform: translate(-65%, 35%);
  }
  .variety_cake_bottom_item_comment {
    width: 8.5625rem;
    height: 4.8125rem;
    top: -4.1875rem;
    right: -2.3125rem;
  }
  .variety_cake_bottom_button {
    margin-top: 1.875rem;
  }
  .disney_kv {
    background-image: url(../images/disney_kv_sp.webp);
    height: 126.4102564103vw;
    margin-top: -6.25rem;
  }
  .disney_h2 {
    font-size: 4.6153846154vw;
    top: 15.1282051282vw;
    left: 50%;
    transform: translate(-50%, 0);
    width: -moz-fit-content;
    width: fit-content;
    white-space: nowrap;
  }
  .disney_h2::before {
    width: 82.8205128205vw;
    height: 15.8974358974vw;
    top: 0;
    left: 50%;
    transform: translate(-50%, -22%);
  }
  .disney_text {
    text-align: center;
    font-size: 4.1025641026vw;
    line-height: 1.5;
    top: 28.4615384615vw;
    left: 50%;
    transform: translate(-50%, 0);
    width: -moz-fit-content;
    width: fit-content;
    white-space: nowrap;
  }
  .disney_main {
    margin-top: -12.5rem;
    padding-top: 32.5rem;
    padding-bottom: 3.5rem;
  }
  .disney_h3 {
    font-size: 1.625rem;
    margin: 4.6875rem auto 0 auto;
    justify-content: flex-start;
    transform: translateX(-3.125rem);
  }
  .disney_h3::before {
    content: "";
    background-image: url(../images/santa_icon.webp);
    width: 5.75rem;
    height: 5.75rem;
    transform: translate(180%, -50%);
  }
  .disney_cake_main {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: absolute;
    top: 128.2051282051vw;
    left: 50%;
    transform: translate(-50%, 0);
  }
  .disney_cake_main_img {
    width: 88.4615384615vw;
    height: auto;
  }
  .disney_cake_main .product-name {
    font-size: 1rem;
  }
  .disney_cake_main .product-name.badge {
    padding-left: 3.75rem;
  }
  .disney_cake_main .product-name.badge::before {
    width: 3.125rem;
    height: 3.125rem;
    font-size: 1.625rem;
  }
  .disney_cake_main .product-name::after {
    display: none;
  }
  .disney_cake_main .product-price {
    margin-top: 0.25rem;
  }
  .disney_cake_main .product-price_main {
    font-size: 1.75rem;
  }
  .disney_cake_main .product-price_unit {
    font-size: 1.125rem;
    margin-left: -0.125rem;
  }
  .disney_cake_main .product-price_sub {
    font-size: 0.75rem;
    margin-left: -0.125rem;
  }
  .disney_cake_main .product-price.badge {
    padding-left: 0;
    text-align: center;
  }
  .disney_cake_main .button-yellow {
    width: 14.375rem;
    font-size: 1rem;
    padding: 0.75rem 1.375rem 0.75rem 3.875rem;
    margin: 1.125rem auto 0 auto;
  }
  .disney_cake_main .button-yellow > img {
    width: 1.0625rem;
    height: 1.1875rem;
  }
  .disney_cake_main_date {
    width: 16.25rem;
    height: 1.875rem;
    margin-top: 0.6875rem;
  }
  .disney_c {
    width: 10.4375rem;
    height: 2.775rem;
    top: 43.125rem;
    right: 9.6875rem;
  }
  .disney_gift {
    margin-top: 5rem;
    flex-wrap: wrap;
    row-gap: 1.125rem;
  }
  .disney_gift_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .disney_gift_item:nth-child(1), .disney_gift_item:nth-child(2) {
    width: 50%;
  }
  .disney_gift_item:nth-child(1) > img, .disney_gift_item:nth-child(2) > img {
    width: 10.5625rem;
    height: auto;
  }
  .disney_gift_item:nth-child(1) .product-name, .disney_gift_item:nth-child(2) .product-name {
    width: 9.9375rem;
  }
  .disney_gift_item:nth-child(3) .product-name {
    width: 10.4375rem;
  }
  .disney_gift_item .product-name {
    text-align: center;
    margin-top: -1.125rem;
  }
  .disney_gift_item > img {
    width: 14.96875rem;
    height: 12.375rem;
    margin-bottom: 1rem;
  }
  .disney_gift_item .product-price {
    margin-top: 0;
  }
  .disney_gift_item_text {
    width: 9.375rem;
    font-size: 0.75rem;
    margin-top: 0.25rem;
    margin-bottom: 0.8125rem;
  }
  .disney_gift_item:nth-child(2), .disney_gift_item:nth-child(3) {
    margin-left: -1.25rem;
  }
  .disney_gift .button-yellow {
    width: 9.375rem;
    font-size: 0.875rem;
    padding: 0.625rem 0.6875rem 0.625rem 2.125rem;
    margin-top: auto;
  }
  .disney_gift .button-yellow > img {
    width: 0.69375rem;
    height: 0.78125rem;
  }
  .allergen-free {
    background: #F2C7B0;
    padding-bottom: 4.375rem;
  }
  .allergen-free_top {
    background-image: url(../images/allergen-free_top_sp.webp);
    height: 94.358974359vw;
    padding-top: 3.125rem;
  }
  .allergen-free_h2 {
    font-size: 4.6153846154vw;
  }
  .allergen-free_h2::before {
    width: 87.1794871795vw;
    height: 20.0897435897vw;
    top: 62%;
  }
  .allergen-free_text {
    font-size: 4.6153846154vw;
    margin-top: 8.9743589744vw;
  }
  .allergen-free_text_small {
    font-size: 5.1282051282vw;
  }
  .allergen-free_text_big {
    font-size: 6.1538461538vw;
  }
  .allergen-free_icon {
    width: 60vw;
    margin: 3.8461538462vw auto 0 auto;
  }
  .allergen-free_comment {
    width: 47.4358974359vw;
    top: 81.7948717949vw;
    left: -3.8461538462vw;
  }
  .allergen-free_cake {
    transform: translateX(0);
    gap: 3rem;
    padding-top: 26.25rem;
    width: 90%;
    margin: 0 auto;
  }
  .allergen-free_cake_main {
    width: 54.5rem;
    top: -6.875rem;
    right: 50%;
    transform: translateX(50%);
  }
  .allergen-free_cake_item {
    gap: 0;
    width: 100%;
  }
  .allergen-free_cake_item_info .product-name.reserve::after {
    width: 3.9375rem;
    height: 1rem;
    position: absolute;
    transform: translate(8%, 25%);
  }
  .allergen-free_cake_item_text {
    font-size: 0.75rem;
    margin-top: 0.25rem;
    margin-bottom: 1.0625rem;
  }
  .allergen-free_cake_item_img {
    width: 10.385rem;
    height: auto;
  }
  .allergen-free_cake_item .button {
    width: 10.125rem;
    font-size: 0.875rem;
    padding: 0.3125rem 0.9375rem 0.3125rem 2.75rem;
  }
  .allergen-free_cake_item .button > img {
    width: 0.75rem;
    height: 0.84375rem;
  }
  .allergen-free_cake_comment {
    transform: translateX(0);
  }
  .allergen-free_cake_comment > p {
    font-size: 0.875rem;
    text-align: center;
  }
  .allergen-free_cake_comment > img {
    width: 20rem;
    margin-top: 1.25rem;
  }
  .allergen-free_content {
    gap: 1.4375rem;
    margin-top: 3.375rem;
  }
  .allergen-free_content > img {
    width: 87.6923076923vw;
  }
  .allergen-free_note {
    font-size: 0.625rem;
    margin: 1.875rem auto 0 auto;
    line-height: 1.8;
    width: 87.6923076923vw;
  }
  .preorder {
    padding-top: 1.875rem;
    padding-bottom: 8.125rem;
  }
  .preorder_h2 {
    font-size: 1.375rem;
    padding-inline: 3.75rem;
  }
  .preorder_h2::before, .preorder_h2::after {
    width: 2.291875rem;
    height: 4rem;
  }
  .preorder_banner {
    width: 87.6923076923vw;
  }
  .preorder_banner_box {
    margin: 2.5rem auto 0 auto;
  }
  .preorder_h3 {
    font-size: 1.375rem;
    margin: 5.375rem auto 0 auto;
  }
  .preorder_h3 > span {
    font-size: 1.125rem;
  }
  .preorder_h3::after {
    width: 3.625rem;
    height: 4.4375rem;
    background-size: contain;
    position: absolute;
    right: -1rem;
    top: auto;
    bottom: -2.5rem;
    transform: translate(0);
  }
  .preorder_schedule {
    margin: 3.75rem auto 0 auto;
  }
  .preorder_schedule_img {
    width: 87.6923076923vw;
  }
  .preorder_schedule_santa {
    width: 5.5rem;
    height: 6.875rem;
    position: absolute;
    top: -0.6875rem;
    left: -0.875rem;
  }
  .preorder_schedule .button {
    position: absolute;
    top: 84.6153846154vw;
    right: 1.5384615385vw;
  }
  .preorder_buttons {
    margin-top: 2.5625rem;
  }
  .preorder_buttons .button {
    width: 20.0625rem;
    height: 2.875rem;
    font-size: 1rem;
  }
  .preorder_buttons .button:nth-child(1) {
    padding: 0.5rem 0.9375rem 0.5rem 6.25rem;
  }
  .preorder_buttons .button:nth-child(2) {
    padding: 0.5rem 0.9375rem 0.5rem 5.625rem;
  }
  .preorder_buttons .button > img {
    width: 0.891875rem;
    height: 0.98625rem;
  }
  .preorder_note {
    font-size: 0.625rem;
    margin: 2.875rem auto 0 auto;
    width: 87.6923076923vw;
  }
  .preorder::after {
    content: "";
    background-image: url(../images/snow_sp.webp);
    height: 20.2564102564vw;
  }
  .preorder_btimg {
    position: absolute;
    z-index: 20;
    pointer-events: none;
  }
  .preorder_btimg.tree-single {
    width: 3.125rem;
    height: 5.9375rem;
    left: 1rem;
    bottom: 1.8125rem;
  }
  .preorder_btimg.tree {
    width: 5.5625rem;
    height: 5.9375rem;
    right: 0.4375rem;
    bottom: 1.8125rem;
  }
  .preorder .ornament_01 {
    bottom: 62.7256410256vw;
    left: -12.0512820513vw;
    width: 32.0512820513vw;
  }
  .preorder .ornament_02 {
    width: 26.6666666667vw;
    bottom: -12.3076923077vw;
    right: -11.5384615385vw;
  }
  .preorder .ornament_03 {
    width: 12.3076923077vw;
    top: 137.6923076923vw;
    right: -4.4615384615vw;
  }
  .footer {
    padding-bottom: 1.125rem;
    padding-top: 1.25rem;
  }
  .footer_container {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 19.5625rem;
    gap: 3.9375rem;
  }
  .footer_ul {
    row-gap: 1.0625rem;
    -moz-column-gap: 1.875rem;
         column-gap: 1.875rem;
    display: grid;
    grid-auto-flow: column;
    grid-auto-rows: auto;
    grid-template-rows: repeat(5, auto);
    align-items: center;
    width: 100%;
    min-width: 0;
  }
  .footer_li {
    font-size: 0.8125rem;
    min-width: 0;
    word-break: break-word;
  }
  .footer_link:hover {
    color: #000000;
    opacity: 0.8;
  }
  .footer_link > span {
    font-size: 0.6875rem;
    line-height: 0.5;
  }
  .footer_copyright {
    margin-top: 8.25rem;
  }
  .page-top {
    width: 3.75rem;
    height: 3.75rem;
    right: 1.25rem;
    bottom: 1.25rem;
    gap: 0.125rem;
  }
  .page-top i {
    font-size: 1.25rem;
    margin-bottom: 0.125rem;
  }
  .page-top span {
    font-size: 0.875rem;
    line-height: 1;
  }
  .story {
    padding: 1.875rem 0;
  }
  .story_img_box {
    width: 80%;
    gap: 1.875rem;
  }
  /* ================================
     モバイルメニュー本体
  ================================ */
  .mobile-menu {
    position: fixed;
    top: 0;
    right: 0;
    transform: translateX(100%);
    width: 75%;
    height: 100vh;
    text-align: center;
    padding-top: 4.625rem;
    transition: transform 0.4s ease;
    background-color: #865442;
    z-index: 200;
    display: flex;
    flex-direction: column;
    padding: 2.625rem 1.1875rem;
  }
  .mobile-menu_main {
    padding: 0;
    margin: 0;
    z-index: 30;
    position: relative;
    height: auto;
    display: block;
  }
  .mobile-menu_item {
    font-size: 0.8125rem;
    list-style: none;
    margin-bottom: 1.0625rem;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .mobile-menu_link {
    text-decoration: none !important;
    color: white;
    display: flex;
    align-items: center;
    width: 100%;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid white;
  }
  .mobile-menu_link:hover {
    color: white;
  }
  .mobile-menu_link > span {
    font-size: 0.625rem;
    padding-left: 0.3125rem;
  }
  .mobile-menu_link::after {
    content: "";
    display: inline-block;
    background-image: url(../images/arrow-wb.webp);
    background-size: contain;
    background-repeat: no-repeat;
    width: 0.904375rem;
    height: 1rem;
    margin-left: auto;
  }
  .mobile-menu_link.grayout {
    color: #ababab;
  }
  .mobile-menu > div.contact_btn_container {
    z-index: 5;
    position: relative;
    padding-top: 0;
    height: auto;
  }
  .mobile-menu_logo {
    width: 60%;
    height: auto;
    margin-bottom: 1.5625rem;
  }
  /* ================================
     ハンバーガーボタン（header 内）
  ================================ */
  .mobile-menu_btn {
    background: none;
    border: none;
    cursor: pointer;
    position: absolute;
    top: 1.3125rem;
    right: 0.8125rem;
    width: 2.5rem;
    height: 1.625rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 0;
    z-index: 1000;
    outline: none;
  }
  .mobile-menu_btn:focus {
    outline: none;
    box-shadow: none;
  }
  .mobile-menu_btn span {
    display: block;
    width: 100%;
    height: 0.125rem;
    background-color: white;
    border-radius: 2px;
    transition: all 0.3s ease;
  }
  /* ================================
     メニューオープン時の状態（バツ）
  ================================ */
  .menu-open .mobile-menu {
    transform: translateX(0);
  }
  .menu-open .mobile-menu_btn {
    top: 1.25rem;
    right: 1.25rem;
    width: 1.4375rem;
    height: 1.4375rem;
  }
  .menu-open .mobile-menu_btn span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 0.0625rem;
    background-color: white;
    transform-origin: center;
  }
  .menu-open .mobile-menu_btn span:nth-child(1) {
    transform: translate(-50%, -50%) rotate(45deg);
  }
  .menu-open .mobile-menu_btn span:nth-child(2) {
    opacity: 0;
  }
  .menu-open .mobile-menu_btn span:nth-child(3) {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  /* ================================
     スクロール禁止
  ================================ */
  body.no_scroll {
    overflow: hidden;
  }
}/*# sourceMappingURL=style.css.map */