@charset "UTF-8";
:root {
  --color-primary: #F8B500;
  --color-secondary: #2d201a;
  --color-accent: #a9d9e6;
}

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

html {
  scroll-behavior: smooth;
  scroll-margin-top: 64px;
}

body {
  margin: 0;
  color: #2d201a;
  font-family: "Zen Maru Gothic", "Hiragino Sans", "Yu Gothic", sans-serif;
  background-color: #ffcc45;
  background-image: url(../images/pc/bg.png);
  background-size: cover;
  background-attachment: fixed;
  background-position: center;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  padding: 0;
  border: 0;
  font: inherit;
  background: transparent;
}

.ta-c {
  text-align: center !important;
}

.mt-10 {
  margin-top: 10px !important;
}

.mt-40 {
  margin-top: 40px !important;
}

.red {
  color: #e60012 !important;
}

.notes {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  color: #231815;
  font-family: "Noto Sans JP", "Zen Maru Gothic", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.01em;
  text-align: left;
  list-style: none;
}
.notes--gap {
  gap: 23px;
}
.notes--gap-small {
  gap: 14px;
}
.notes--small {
  font-size: 11px;
}
.notes--first-alert li:first-child {
  color: #e60012;
}
.notes li {
  position: relative;
  padding-left: 1em;
}
.notes li a {
  text-decoration: underline;
}
.notes li::before {
  content: "◎";
  position: absolute;
  left: 0;
  color: inherit;
}

.btn-round {
  --btn-round-bg: #ee86a8;
  --btn-round-color: #fff;
  --btn-round-shadow: 4px 4px 0 rgba(238, 134, 168, 0.5);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: clamp(21.25rem, 5.625rem + 66.6666666667vw, 21.875rem);
  min-height: 79px;
  margin: 15px auto 0;
  padding: 12px 48px;
  border-radius: 999px;
  color: var(--btn-round-color);
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  text-align: center;
  background: var(--btn-round-bg);
  box-shadow: var(--btn-round-shadow);
}

.smalltext {
  font-size: 14px;
}

.btn-round::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 32px;
  width: 10px;
  height: 12px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='11' viewBox='0 0 10 11' fill='none'%3E%3Cpath d='M9.16861 4.27975C10.0937 4.81384 10.0937 6.14905 9.1686 6.68314L2.08139 10.7749C1.15633 11.309 0 10.6414 0 9.57325V1.38964C0 0.32147 1.15633 -0.346137 2.0814 0.187949L9.16861 4.27975Z' fill='white'/%3E%3C/svg%3E") center/contain no-repeat;
  transform: translateY(-50%);
}

.btn-round--yellow {
  --btn-round-bg: #ffdd00;
  --btn-round-color: #231815;
  --btn-round-shadow: 5px 5px 0 #d9822f;
  justify-content: space-between;
  min-height: 80px;
  padding: 12px 24px;
  font-size: 20px;
  line-height: 1.42;
}
.btn-round--yellow span {
  margin-left: 26px;
}

.btn-round--yellow::after {
  position: static;
  margin-right: 8px;
  flex: 0 0 auto;
  transform: none;
}

.btn-round--commingsoon {
  --btn-round-bg: #BFBFBF;
  --btn-round-color: #231815;
  --btn-round-shadow: 5px 5px 0 #f0bfcf;
  min-height: 80px;
  padding: 12px 24px 12px 32px;
  font-size: 22px;
  line-height: 0.9;
  text-align: center;
  color: #000;
}

.lp {
  position: relative;
  width: min(100%, 390px);
  min-height: 100vh;
  margin: 0 auto;
  overflow: clip;
  background: #ffe139;
  box-shadow: 0 20px 50px rgba(42, 72, 84, 0.2);
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 1100;
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 8px;
  background: #fff;
  background-color: var(--color-primary);
}
.site-header__logo {
  flex: 1 1 auto;
  min-width: 0;
}
.site-header__logo img {
  width: 146px;
}
.site-header__menu {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
}
.site-header__menu {
  width: 48px;
  height: 48px;
  cursor: pointer;
  border-radius: 50%;
  background: #fff;
  color: #e86b00;
  place-content: center;
  gap: 0;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.site-header__menu img {
  display: none;
}
.site-header__menu-lines {
  position: relative;
  display: grid;
  gap: 4px;
  width: 20px;
  margin-inline: auto;
}
.site-header__menu-lines span {
  display: block;
  width: 20px;
  height: 3px;
  border-radius: 999px;
  background: currentColor;
  transition: transform 0.25s ease, opacity 0.2s ease;
}
.site-header__menu-label {
  display: block;
  margin-top: 3px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0;
}
.site-header__menu.is-open .site-header__menu-lines {
  gap: 0;
  height: 24px;
  place-items: center;
}
.site-header__menu.is-open .site-header__menu-lines span {
  position: absolute;
  width: 26px;
  height: 3px;
}
.site-header__menu.is-open .site-header__menu-lines span:nth-child(1) {
  transform: rotate(35deg);
}
.site-header__menu.is-open .site-header__menu-lines span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}
.site-header__menu.is-open .site-header__menu-lines span:nth-child(3) {
  transform: rotate(-35deg);
}
.site-header__menu.is-open .site-header__menu-label {
  font-size: 8px;
  margin-top: 0;
}

.sp-menu {
  position: fixed;
  top: 64px;
  left: 50%;
  z-index: 1200;
  width: min(100%, 390px);
  height: calc(100dvh - 64px);
  overflow-y: auto;
  color: #6c2f04;
  background: #fffef3;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, -10px);
  transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
  pointer-events: none;
}
.sp-menu.is-open {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
  pointer-events: auto;
}
.sp-menu__inner {
  padding: 0 29px 29px;
}
.sp-menu__title {
  margin-inline: auto;
  width: 230px;
}
.sp-menu__term {
  width: 215px;
  margin-inline: auto;
  margin-bottom: 15px;
}
.sp-menu__item {
  border-bottom: 1px solid #b57b50;
}
.sp-menu__item:first-child {
  border-bottom: none;
}
.sp-menu__item:last-child {
  border-bottom: none;
}
.sp-menu__item:not(:first-child) a {
  min-height: 60px;
}
.sp-menu__item > a {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 4px;
  color: #6c2f04;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.2;
}
.sp-menu__item .subtext {
  font-size: 13px;
}
.sp-menu__icon {
  width: 28px;
  height: 28px;
  background: url("../images/icon_menu.svg") center/contain no-repeat;
}
.sp-menu__sublist {
  display: grid;
  gap: 12px;
  margin: 6px 0 0 30px;
  padding: 0;
  color: #6c2f04;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  list-style: none;
}
.sp-menu__sublist li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0;
  margin: 0;
  padding: 0;
}
.sp-menu__sublist li::before {
  content: "・";
  grid-column: 1;
  grid-row: 1;
}
.sp-menu__sublist-main, .sp-menu__sublist-note {
  grid-column: 2;
}
.sp-menu__sublist-main {
  font-size: 16px;
  line-height: 1.2;
}
.sp-menu__sublist-note {
  font-size: 14px;
  line-height: 1.2;
}
.sp-menu__sublist-note--arrow {
  position: relative;
  margin-top: 2px;
  padding-left: 0.9em;
  margin-left: -12px;
}
.sp-menu__sublist-note--arrow::before {
  content: "";
  position: absolute;
  top: 0.2em;
  left: -3px;
  width: 10px;
  height: 11px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='11' viewBox='0 0 10 11' fill='none'%3E%3Cpath d='M9.25764 4.22487C10.2475 4.7916 10.2475 6.2084 9.25764 6.77513L2.22707 10.8005C1.23726 11.3673 6.04101e-07 10.6589 5.90585e-07 9.52541L4.9458e-07 1.47459C4.81064e-07 0.34114 1.23726 -0.367264 2.22707 0.19946L9.25764 4.22487Z' fill='%236C2F04'/%3E%3C/svg%3E") center/contain no-repeat;
}
.sp-menu__sublist-note--arrow.mt {
  margin-top: 8px;
}

.body-menu-open {
  overflow: hidden;
}

.to-top {
  position: fixed;
  right: calc(50% - 184px);
  bottom: 14px;
  z-index: 30;
  display: block;
  width: 96px;
  filter: drop-shadow(0 5px 8px rgba(0, 0, 0, 0.18));
}

.fv {
  position: relative;
  background: var(--color-primary) url("../images/mv/fv_sea.webp") top center/100% auto no-repeat;
  padding-inline: 15px;
  padding-bottom: 62px;
}
.fv__inner {
  padding-top: 24px;
  margin-inline: -20px;
}
.fv__title {
  margin: 0;
}
.fv__main {
  width: 390px;
  margin-inline: auto;
  z-index: 10;
  position: relative;
}
.fv__campaigns {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 8px;
  width: min(100%, 350px);
  margin: -24px auto 0;
  padding: 24px 0 0;
}
.fv__campaigns img:first-child {
  margin-bottom: 3px;
}
.fv__campaigns::before {
  content: "";
  position: absolute;
  top: -24px;
  left: 50%;
  z-index: 0;
  width: 392px;
  height: 1824px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="390" height="1824" viewBox="0 0 390 1824" fill="none"><path d="M390 1824C390 1824.02 0 1824 0 1824V24.6448C127.928 -8.21493 262.072 -8.21493 390 24.6448V414.884V1824Z" fill="%23F8B500"/></svg>') top center/100% auto no-repeat;
  transform: translateX(-50%);
  pointer-events: none;
}
.fv__campaigns > * {
  position: relative;
  z-index: 1;
}

.customer-request {
  position: relative;
  z-index: 2;
  width: min(100%, 350px);
  margin: 24px auto 0;
  padding-bottom: 6px;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.customer-request__card {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 4px 0 rgba(238, 134, 168, 0.5);
}
.customer-request__card + .customer-request__card {
  margin-top: 16px;
}
.customer-request__heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 82px;
  margin: 0;
  padding: 14px 18px 16px 18px;
  color: #fff;
  font-size: clamp(1.3125rem, -0.25rem + 6.6666666667vw, 1.375rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.03em;
  background: #fe4351;
}
.customer-request__heading--btn {
  position: relative;
  justify-content: flex-start;
  min-height: 66px;
  padding-right: 58px;
  cursor: pointer;
}
.customer-request__toggle-icon {
  position: absolute;
  top: 50%;
  right: 16px;
  width: 28px;
  height: 28px;
  border: 2px solid #fff;
  border-radius: 999px;
  transform: translateY(-50%);
}
.customer-request__toggle-icon::before, .customer-request__toggle-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 2px;
  border-radius: 999px;
  background: #fff;
  transform: translate(-50%, -50%);
  transition: transform 0.25s ease, opacity 0.2s ease;
}
.customer-request__toggle-icon::after {
  transform: translate(-50%, -50%) rotate(180deg);
}
.customer-request__heading--btn[aria-expanded=false] .customer-request__toggle-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.customer-request__icon {
  position: relative;
  width: 21px;
  height: 18px;
  flex: 0 0 21px;
}
.customer-request__icon::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #fff;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
.customer-request__icon::after {
  content: "!";
  position: absolute;
  top: 4px;
  left: 0;
  width: 100%;
  color: #fe4351;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  text-align: center;
}
.customer-request__card.is-collapsed {
  min-height: 66px;
  background: #fe4351;
  box-shadow: none;
}
.customer-request__card.is-collapsed .customer-request__heading {
  min-height: 66px;
  padding: 14px 18px 16px 18px;
}
.customer-request__body {
  overflow: hidden;
  padding: 17px 20px 22px;
  color: #231815;
  font-family: "Noto Sans JP", "Zen Maru Gothic", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.01em;
  opacity: 1;
  transition: max-height 0.35s ease, padding-top 0.35s ease, padding-bottom 0.35s ease, opacity 0.25s ease;
}
.customer-request__card.is-collapsed .customer-request__body {
  max-height: 0;
  padding-top: 0;
  padding-bottom: 0;
  opacity: 0;
}
.customer-request__body p {
  margin: 0;
}
.customer-request__intro {
  font-size: 16px;
  text-align: center;
}
.customer-request__intro span {
  font-size: 14px;
}
.customer-request__menus {
  display: grid;
  gap: 18px;
  margin: 14px 0 16px;
}
.customer-request__menu {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 128px;
  align-items: center;
  gap: 8px;
}
.customer-request__menu span {
  display: block;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.2;
}
.customer-request__menu strong {
  display: block;
  margin-top: 4px;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.25;
}
.customer-request__badge {
  display: grid;
  place-items: center;
  min-height: 24px;
  padding: 4px 10px;
  border-radius: 999px;
  color: #fff;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-align: center;
  background: #fe4351;
}
.customer-request__badge small {
  display: block;
  margin-top: 2px;
  font-size: 5px;
  font-weight: 900;
  line-height: 1;
}
.customer-request__divider {
  height: 4px;
  padding: 20px 0 18px;
  margin: 0;
  border: 0;
  background: url("../images/hr.png") center/contain no-repeat;
}
.customer-request .customer-request__text {
  margin-block: 23px;
}
.customer-request__alert {
  margin-top: 9px;
  padding: 13px 16px 15px;
  border-radius: 6px;
  color: #ff7e88;
  background: rgba(255, 126, 136, 0.1);
}
.customer-request__contact {
  margin-top: 17px;
}
.customer-request__contact-lead {
  margin-bottom: 3px !important;
  font-weight: 700;
}

.collabo-drink .customer-request__divider {
  margin: 0 auto 54px;
}

#original-goods {
  scroll-margin-top: 80px;
}

.anchor-section {
  position: relative;
  z-index: 10;
  padding: 32px 20px 52px;
  background: #ffb52e;
}
.anchor-section__chara {
  position: absolute !important;
  top: -50px;
  right: 25px;
  width: 91px;
}
.anchor-section__chara2 {
  position: absolute !important;
  top: 0;
  left: 42px;
  width: 87px;
  z-index: 10;
}
.anchor-section__chara2 img {
  width: 100%;
  height: 100%;
}
.anchor-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="390" height="415" viewBox="0 0 390 415" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M0 24.6519C127.928 -8.2173 262.072 -8.2173 390 24.6519V415H0V24.6519Z" fill="%23FFE100"/><path fill-rule="evenodd" clip-rule="evenodd" d="M0 24.6519C127.928 -8.2173 262.072 -8.2173 390 24.6519V415H0V24.6519Z" fill="url(%23pattern0_14_4009)" fill-opacity="0.3"/><defs><pattern id="pattern0_14_4009" patternContentUnits="objectBoundingBox" width="0.0551282" height="0.184343"><use xlink:href="%23image0_14_4009" transform="scale(0.00128205 0.00120485)"/></pattern><image id="image0_14_4009" width="43" height="153" preserveAspectRatio="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACsAAACZCAYAAAC2X8O+AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAALJJREFUeAHtzkERwCAQALGj/j0XRJAHMxsFWf8xwDrmsm8eUlYpq5RVyipllbJKWaWsUlYpq5RVyipllbJKWaWsUlYpq5RVyipllbJKWaWsUlYpq5RVyipllbJKWaWsUlYpq5RVyipllbJKWaWsUlYpq5RVyipllbJKWaWsUlYpq5RVyipllbJKWaWsUlYpq5RVyipllbJKWaWsUlYpq5RVyipllbJKWaWsUlYpq5RVnspu1zcFMjXpvp4AAAAASUVORK5CYII="/></defs></svg>') center/100% 100% no-repeat;
  pointer-events: none;
  background-size: cover;
  background-position: top;
}
.anchor-section > * {
  position: relative;
  z-index: 1;
}
.anchor-section__notice {
  padding: 18px 16px;
  border: 3px solid #281a15;
  border-radius: 18px;
  background: #fff9ef;
  box-shadow: 0 5px 0 #281a15;
}
.anchor-section__notice img {
  width: 268px;
  margin: 0 auto 10px;
}
.anchor-section__notice p {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.7;
}
.anchor-section__text {
  background-color: var(--color-primary);
  padding: 15px 15px 10px;
  position: relative;
}
.anchor-section__text img {
  margin-inline: -10px;
  position: relative;
  top: -33px;
  z-index: 10;
}

.anchor-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 23px;
  justify-content: center;
}
.anchor-grid img {
  max-width: 106px;
  height: auto;
}

.food-links {
  display: grid;
  gap: 12px;
  margin-top: 26px;
}

#curry {
  scroll-margin-top: 80px;
}

.curry-section {
  position: relative;
  margin-top: -24px;
  padding: 18px 20px 28px;
  color: #231815;
  font-family: "Noto Sans JP", "Zen Maru Gothic", sans-serif;
  text-align: center;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 390 2803'%3E%3Cpath fill='white' d='M390,2803s-390,0-390,0V24.6c127.9-32.9,262.1-32.9,390,0v2778.4Z'/%3E%3C/svg%3E");
  mask-size: cover;
  mask-position: top;
  mask-repeat: no-repeat;
  z-index: 1;
  background-image: url("../images/sc02/bg_curry.png");
  background-size: contain;
  background-position-y: 75px;
  background-repeat: no-repeat;
  background-color: #FFFEF3;
}
.curry-section__chara {
  position: absolute;
  pointer-events: none;
}
.curry-section__chara--top {
  top: 14px;
  left: 28px;
  width: 86px;
  transform: rotate(-6deg);
}
.curry-section__title {
  width: 198px;
  margin: 30px auto 8px;
}
.curry-section__lead {
  margin: 0 0 3px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.01em;
}
.curry-section__name {
  width: 300px;
  max-width: none;
  margin: 0 auto 3px;
  transform: translateX(-1px);
}
.curry-section__price {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 5px;
  margin: 0 0 6px;
  line-height: 1.55;
}
.curry-section__price strong {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.01em;
}
.curry-section__price span {
  font-size: 15px;
  font-weight: 500;
}
.curry-section__description {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.01em;
}
.curry-section__visual {
  position: relative;
  max-width: 390px;
  margin: 18px -20px 0;
  padding-bottom: 70px;
}
.curry-section__curry {
  width: clamp(23.4375rem, 0rem + 100vw, 24.375rem);
  max-width: none;
}
.curry-section__pick {
  position: absolute;
  bottom: 34px;
  right: 17px;
  width: 88px;
}
.curry-section__chara--bottom {
  left: 15px;
  bottom: 30px;
  width: 94px;
}
.curry-section__ended {
  width: 198px;
  margin: -32px auto 14px;
}
.curry-section__subnotes {
  margin-top: 14px;
  padding: 12px 18px;
  border-radius: 12px;
  background: #fff;
}

.leaf-section {
  padding: 82px 20px 10px;
  background: #fffef3;
}
.leaf-section__frame {
  position: relative;
  min-height: 741px;
  padding: 40px 28px 58px;
  transition: min-height 0.35s ease, padding-bottom 0.35s ease;
}
.leaf-section__frame::before, .leaf-section__frame::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  transition: opacity 0.35s ease;
}
.leaf-section__frame::before {
  background-image: url("../images/sc03/leaf_frame.png");
  background-size: 100% 100%;
  opacity: 1;
}
.leaf-section__frame::after {
  background-image: url("../images/sc03/leaf_frame_close.png");
  opacity: 0;
  background-size: 95% 100%;
}
.leaf-section__frame.is-collapsed {
  min-height: 130px;
  padding-bottom: 34px;
}
.leaf-section__frame.is-collapsed::before {
  opacity: 0;
}
.leaf-section__frame.is-collapsed::after {
  opacity: 1;
}
.leaf-section__heading {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 230px);
  min-height: 48px;
  margin: 0 auto 20px;
  padding-right: 30px;
  color: #9ec571;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  text-align: center;
  cursor: pointer;
  transition: margin 0.35s ease;
}
.leaf-section__heading:focus-visible {
  outline: 2px solid #9ec571;
  outline-offset: 4px;
  border-radius: 8px;
}
.leaf-section__toggle-icon {
  position: absolute;
  top: 50%;
  right: 0;
  width: 26px;
  height: 26px;
  border: 2px solid #9ec571;
  border-radius: 999px;
  transform: translateY(-50%);
}
.leaf-section__toggle-icon::before, .leaf-section__toggle-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 2px;
  border-radius: 999px;
  background: #9ec571;
  transform: translate(-50%, -50%);
  transition: transform 0.25s ease;
}
.leaf-section__toggle-icon::after {
  transform: translate(-50%, -50%) rotate(180deg);
}
.leaf-section__heading[aria-expanded=false] .leaf-section__toggle-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.leaf-section__body {
  position: relative;
  z-index: 1;
  overflow: hidden;
  max-height: 600px;
  opacity: 1;
  transition: max-height 0.35s ease, opacity 0.25s ease;
}
.leaf-section__frame.is-collapsed .leaf-section__body {
  max-height: 0;
  opacity: 0;
}
.leaf-section__note {
  color: #000000;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.01em;
  margin: 16px 0 0 30px;
}
.leaf-section__title {
  width: 198px;
  margin: 0 auto 20px;
}
.leaf-section__chara {
  max-width: 330px;
  position: absolute;
  top: -81px;
  left: calc(50% - 3px);
  transform: translateX(-50%);
  margin: 0;
  z-index: 20;
}
.leaf-section__leaf-bottom {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 325px;
  transform: translateX(-50%);
  z-index: 10;
}
.is-collapsed .leaf-section__heading {
  margin: 0 auto 5px;
}

.topping-list {
  display: grid;
  gap: 24px;
  max-width: 249px;
  margin-inline: 30px auto;
}
.topping-list img:nth-child(2),
.topping-list img:nth-child(3) {
  width: 242px;
}

.round-arrow {
  display: grid;
  place-items: center;
  width: 42px;
  margin: 20px auto 0;
}

.sticker {
  position: relative;
  padding: 65px 20px 39px;
  background: #fffef3;
}
.sticker__pattern {
  position: absolute;
  bottom: 17px;
  right: 47px;
  width: 46px;
  height: 42px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="46" height="42" viewBox="0 0 46 42" fill="none"><path opacity="0.65" d="M14.6388 7.66365C17.8199 8.97369 16.2367 13.7046 13.6424 15.0995C12.0556 15.9557 10.192 15.6605 9.16244 16.2435C8.63843 16.5388 2.12141 25.1223 2.06606 25.7091C2.18784 27.1409 3.53112 28.3292 4.11787 29.5949C4.37988 30.1595 4.38724 30.8164 4.64925 31.3773C5.14006 32.4217 8.14395 38.8575 8.49083 39.1084C9.00747 39.4849 9.52044 39.5033 10.122 39.3889L36.1384 33.7908C33.1861 30.1891 34.4297 24.9341 39.0979 23.6868C39.6957 23.5281 43.3897 22.7421 43.0871 24.0337C42.9321 24.6832 39.943 24.9821 39.1164 25.3585C34.939 27.2516 35.7988 33.6432 40.777 32.6468C41.1645 32.4069 43.6591 25.912 43.755 25.0338C44.1905 21.0298 42.6627 17 43.0908 12.9592L39.1386 13.9629C40.1977 20.5132 29.6287 23.3953 26.2779 18.6902C23.7353 15.118 25.3 13.4352 28.5659 11.4942C32.4518 9.18773 35.6512 9.73389 38.9725 12.6344L42.1018 11.4683C42.6369 11.0624 42.3232 11.1399 42.1018 10.8078C40.9468 9.05857 37.4373 6.15433 35.5848 5.08415C31.8687 2.93642 24.7502 0.784986 20.6872 2.62643C18.8421 3.46043 17.6944 6.3905 15.6389 7.00309C14.8233 6.08052 18.9417 1.9548 19.7683 1.37912C26.444 -3.27431 43.7883 4.71143 45.0577 12.4831C46.294 20.0408 46.818 25.5652 43.3897 32.6062C42.0095 35.444 36.8912 36.016 33.8983 36.6766C27.0049 38.1969 19.093 39.7173 12.1147 40.6953C11.2069 40.8207 7.95943 41.3964 7.52029 41.1086C5.129 37.8796 3.68978 34.0159 2.02547 30.3699C1.12136 28.3919 -0.395338 27.1778 0.0954682 24.7053L7.71589 14.7933C9.04807 13.712 11.8785 14.9003 13.838 12.9776C15.864 10.9923 14.3104 8.04375 14.6462 7.66734L14.6388 7.66365ZM28.3002 17.8156C30.7025 20.4357 38.74 18.1034 36.5554 13.3651C35.5996 11.2949 29.9756 11.7229 28.5216 13.4426C28.1083 13.9297 27.9312 14.9815 27.2595 15.4833C27.2116 15.7269 28.0825 17.5757 28.3002 17.8156Z" fill="%23F7B570"/><path opacity="0.65" d="M16.2109 24.9454C17.831 24.8163 18.5949 24.6834 20.0414 25.5765C24.0122 28.0305 23.8276 33.7615 19.2738 35.2856C11.0814 38.0238 6.84504 25.6982 16.2109 24.9454ZM15.8714 26.595C11.8859 27.322 12.6018 33.1784 16.4951 33.4478C22.6689 33.8796 22.0083 25.4731 15.8714 26.595Z" fill="%23F7B570"/><path opacity="0.65" d="M21.1816 18.3176C23.5803 18.0555 23.6873 19.6313 21.7757 20.5871L6.37991 24.7202C5.1732 24.9379 5.06987 24.0744 6.06256 23.4027C6.83751 22.8787 20.056 18.443 21.1779 18.3212L21.1816 18.3176Z" fill="%23F7B570"/></svg>') center/contain no-repeat;
  pointer-events: none;
}
.sticker__card {
  position: relative;
  width: 350px;
  max-width: 100%;
  min-height: 590px;
  margin-inline: auto;
  padding: 34px 20px 28px;
  border-radius: 12px;
  background: #fcebf0;
}
.sticker__card h3 {
  margin: 0;
}
.sticker__label {
  position: absolute;
  top: -13px;
  left: 6px;
  width: 86px;
}
.sticker__chara {
  position: absolute;
  top: -42px;
  right: -2px;
  width: 98px;
  pointer-events: none;
}
.sticker__title {
  width: 243px;
  margin: 0 36px 19px;
}
.sticker__note {
  margin: 10px 0 0;
  color: #231815;
  font-family: "Noto Sans JP", "Zen Maru Gothic", sans-serif;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.01em;
  text-align: left;
}

.goods__size {
  margin: 15px 0 4px;
  color: #231815;
  font-family: "Noto Sans JP", "Zen Maru Gothic", sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.01em;
  text-indent: -0.5em;
}
.goods__note {
  margin: 0;
  color: #231815;
  font-family: "Noto Sans JP", "Zen Maru Gothic", sans-serif;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.01em;
  padding-left: 1em;
  text-indent: -1em;
}
.goods__note--14 {
  font-size: 14px;
}
.goods__attention {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 2px;
}
.goods__attention img:first-child {
  height: 21px;
}
.goods__attention img:last-child {
  height: 21px;
}

.collabo-drink__figure .goods__size {
  margin-top: 22px;
  text-align: left;
}

.drink-set__figure--blue .goods__size {
  margin-top: 28px;
  text-align: left;
}

.drink-set__figure--green .goods__size {
  margin-top: 34px;
  text-align: left;
}

.collabo-drink__figure .goods__attention {
  justify-content: flex-start;
}

#drink-set {
  scroll-margin-top: 35px;
}

#drink-set-a,
#drink-set-b {
  scroll-margin-top: 75px;
}

#drink-set-b .drink-set__types {
  top: -53px;
}

.drink-set {
  padding: 0 20px 55px;
  background: #fffef3 url("../images/sc05/collabo-drink-bg.png") center 149px/377px auto no-repeat;
}
.drink-set h2, .drink-set h3, .drink-set h4 {
  margin: 0;
}
.drink-set__intro {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 38px;
}
.drink-set__heading {
  width: 322px;
}
.drink-set__limit {
  width: 178px;
  margin-block: 16px;
}
.drink-set__present {
  width: 342px;
  margin-top: 3px;
}
.drink-set__spoon-note {
  color: #231815;
  font-family: "Noto Sans JP", "Zen Maru Gothic", sans-serif;
  font-size: 11px;
  text-align: center;
  margin: 0;
}
.drink-set__spoon-note--1 {
  margin-block: 12px 7px;
}
.drink-set__spoon-note--2 {
  margin-block: 7px 11px;
}
.drink-set__lead {
  margin: 0;
  color: #231815;
  font-family: "Noto Sans JP", "Zen Maru Gothic", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.01em;
  text-align: center;
}
.drink-set__card {
  position: relative;
  margin-top: 22px;
}
.drink-set__card--2nd {
  margin-top: 115px;
}
.drink-set__date {
  width: auto;
  margin-inline: auto;
}
.drink-set__title {
  width: 290px;
  margin: 32px auto 0;
}
.drink-set__deco {
  position: absolute;
  top: 116px;
  right: 7px;
  width: 34px;
  z-index: 1;
}
.drink-set__price {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 5px;
  margin: 8px 0 0;
  line-height: 1.55;
}
.drink-set__price strong {
  font-family: "Noto Sans JP", "Zen Maru Gothic", sans-serif;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.01em;
}
.drink-set__price span {
  font-family: "Noto Sans JP", "Zen Maru Gothic", sans-serif;
  font-size: 15px;
  font-weight: 500;
}
.drink-set__description {
  font-family: "Noto Sans JP", sans-serif;
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.01em;
  text-align: center;
}
.drink-set__product {
  width: auto;
  margin: 16px auto 0;
}
.drink-set__ended {
  margin: 0;
}
.drink-set__ended img {
  width: 198px;
  margin: 14px auto 0;
}
.drink-set__figure {
  position: relative;
  width: auto;
  min-height: 726px;
  margin: 108px auto 0;
  padding: 74px 20px 28px;
  border: 2px solid #005bac;
  border-radius: 12px;
  background: #f4fbff;
}
.drink-set__figure--green {
  border-color: #009e3b;
  background: #f0f7e3;
  margin-top: 108px;
  padding-bottom: 21px;
  padding-top: 73px;
}
.drink-set__figure--green .drink-set__frame {
  margin-top: -29px;
}
.drink-set__types {
  position: absolute;
  top: -53px;
  left: 18px;
  width: 100px;
}
.drink-set__chara {
  position: absolute;
  z-index: 2;
  pointer-events: none;
}
.drink-set__chara--phase1 {
  top: -68px;
  right: -4px;
  width: 115px;
}
.drink-set__chara--phase2 {
  top: -53px;
  right: 14px;
  width: 102px;
}
.drink-set__figure-note {
  width: 310px;
  margin: -2px auto 0;
}
.drink-set__set-note {
  margin: 8px 0 0;
  color: #231815;
  font-family: "Noto Sans JP", "Zen Maru Gothic", sans-serif;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.01em;
  text-align: left;
}
.drink-set__present-text {
  width: 191px;
  margin: 13px auto 5px 5px;
}
.drink-set__frame {
  width: 300px;
  margin: -10px auto 0;
}
.drink-set__islander {
  position: absolute;
  right: -18px;
  top: 678px;
  width: 144px;
  pointer-events: none;
}
.drink-set__subnotes {
  margin-top: 7px;
  padding: 12px 18px;
  border-radius: 12px;
  background: #fff;
}
.drink-set__subnotes--bg2 {
  background: #fcefc5;
}
.drink-set > .drink-set__subnotes {
  margin-top: 9px;
  padding: 10px 10px 16px;
}
.drink-set__note {
  margin: 10px 0 0 1em;
  color: #231815;
  font-family: "Noto Sans JP", "Zen Maru Gothic", sans-serif;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.01em;
  text-align: left;
}
.drink-set__slider {
  margin: 45px -20px 0;
}
.drink-set__slider-viewport {
  overflow: hidden;
}
.drink-set__slider-track {
  display: flex;
  gap: 20px;
  height: 100%;
  transform: translateX(calc(50% - 120.5px - 261px));
  transition: transform 0.35s ease;
  will-change: transform;
}
.drink-set__slide {
  flex: 0 0 241px;
  height: 158px;
  border-radius: 10px;
  background: #c0c0c0;
}
.drink-set__slide img {
  border-radius: 10px;
  height: 100%;
  object-fit: cover;
}
.drink-set__slider-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-top: 0;
}
.drink-set__slider-button {
  position: relative;
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border: 1.5px solid #ff6f00;
  border-radius: 50%;
  background: #fffef3;
  cursor: pointer;
}
.drink-set__slider-button::before {
  content: "";
  display: block;
  width: 14px;
  height: 8px;
  background: url("../images/arrow.svg") center/contain no-repeat;
}
.drink-set__slider-button--next::before {
  transform: rotate(180deg);
}
.drink-set__slider-dots {
  display: flex;
  align-items: center;
  gap: 11px;
}
.drink-set__slider-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #c0c0c0;
  cursor: pointer;
}
.drink-set__slider-dot.is-active {
  background: #ff9b2b;
}
.drink-set__allergy {
  margin: 24px 0 0;
  color: #231815;
  font-family: "Noto Sans JP", "Zen Maru Gothic", sans-serif;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.01em;
  text-align: left;
}
.drink-set__allergy a {
  color: #005bac;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.drink-set__card--2nd .drink-set__title {
  width: 310px;
}

.mask {
  position: relative;
  isolation: isolate;
  pointer-events: none;
  user-select: none;
}
.mask::before, .mask::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 2000;
}
.mask::before {
  inset: 0;
  top: -20px;
  border-radius: 8px;
  background: rgba(217, 217, 217, 0.9);
}
.mask::after {
  content: "Coming Soon";
  top: 84px;
  left: 50%;
  color: #231815;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.02em;
  white-space: pre;
  text-align: center;
  line-height: 1.4;
  transform: translateX(-50%);
  -webkit-text-stroke: 5px rgb(255, 255, 255);
  paint-order: stroke;
}
.mask--close-hanbai::after {
  content: "販売は\a終了いたしました。";
}
.mask--close-oubo::after {
  content: "応募は\a終了いたしました。";
}
.mask--close-oubo::before {
  width: calc(100% + 10px);
  transform: translateX(-5px);
  height: calc(100% + 30px);
}
.mask--close-haifu::after {
  content: "景品の配布は\a終了いたしました。";
}
.mask--curry {
  position: relative;
}
.mask--curry::before {
  top: -10px;
  margin: 0 20px;
  height: calc(100% + 10px);
}
.mask--sticker::before {
  top: 15px;
  margin: 0 20px;
  height: calc(100% - 30px);
}
.mask--lassi::before {
  height: calc(100% + 100px);
}
.mask--drink::before {
  top: 50px;
  height: calc(100% - 80px);
  margin: 0 20px;
}
.mask--wallpaper::before {
  top: 0;
  height: calc(100% + 5px);
}
.mask--x::before {
  top: -5px;
  height: calc(100% + 75px);
}

#receipt {
  scroll-margin-top: 80px;
}

.receipt {
  position: relative;
  padding: 0 20px 103px;
  color: #231815;
  font-family: "Noto Sans JP", "Zen Maru Gothic", sans-serif;
  background: #FCF5F7;
}
.receipt__title {
  position: relative;
  width: calc(100% + 40px);
  margin: 0 -20px 34px;
}
.receipt__title img {
  width: 100%;
}
.receipt__title .receipt__badge {
  position: absolute;
  left: 5px;
  top: -11px;
  z-index: 1;
  width: 102px;
  pointer-events: none;
}
.receipt__lead {
  width: 332px;
  margin: 0 auto;
}
.receipt__period {
  margin: 12px 0 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.01em;
  text-align: center;
}
.receipt__description {
  margin: 18px 0 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.01em;
}
.receipt__validity {
  margin: 14px 0 0;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.01em;
  text-align: center;
}

.receipt-prizes {
  display: grid;
  gap: 21px;
  margin-top: 13px;
}
.receipt-prizes__item {
  position: relative;
  fill: var(--White, #FFF);
  filter: drop-shadow(10px 10px 14px rgba(251, 219, 215, 0.75));
}
.receipt-prizes__item > img:first-child {
  width: 350px;
}
.receipt-prizes__item--b {
  margin-top: 15px;
}
.receipt-prizes__chara {
  position: absolute;
  z-index: 1;
  pointer-events: none;
}
.receipt-prizes__item--a .receipt-prizes__chara {
  right: 12px;
  bottom: -32px;
  width: 78px;
}
.receipt-prizes__item--b .receipt-prizes__chara {
  right: -1px;
  bottom: -30px;
  width: 109px;
}

.receipt-apply-title {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 84px;
  margin-top: 80px;
  padding: 12px 16px 12px 24px;
  border-radius: 12px;
  background: #ee86a8;
}
.receipt-apply-title img:first-child {
  position: absolute;
  left: 0;
  top: -34px;
  width: 80px;
}
.receipt-apply-title h2 {
  margin: 0;
  color: #fff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.03em;
  text-align: left;
}

.receipt-steps {
  display: grid;
  gap: 50px;
  margin-top: 41px;
}

.receipt-step__item {
  position: relative;
  display: grid;
  place-items: center;
  padding: 24px 10px 15px;
  border: 1px solid #ee86a8;
  border-radius: 12px;
  background: #fff;
}
.receipt-step__item:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -26px;
  width: 0;
  height: 0;
  border-top: 14px solid #231815;
  border-right: 14px solid transparent;
  border-left: 14px solid transparent;
  transform: translateX(-50%);
}
.receipt-step__item > img {
  position: absolute;
  top: -16px;
  left: 50%;
  width: 88px;
  transform: translateX(-50%);
}
.receipt-step__item p {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0.01em;
  text-align: center;
}
.receipt-step__item span {
  color: #e60012;
}
.receipt-step__item ul {
  width: 100%;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}
.receipt-step__item li {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.01em;
}
.receipt-step__inline-img {
  width: 131px;
  display: inline;
  vertical-align: middle;
  margin-top: -5px;
  margin-inline: 3px;
}

.receipt-term {
  margin-top: 24px;
  margin-bottom: 7px;
  border: 1px solid #ee86a8;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}
.receipt-term h3 {
  margin: 0;
  padding: 20px;
  color: #fff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.03em;
  text-align: center;
  background: #ee86a8;
}
.receipt-term__inner {
  max-height: 164px;
  padding: 20px 34px 20px 20px;
  overflow-y: auto;
}
.receipt-term__inner h4, .receipt-term__inner h5, .receipt-term__inner p, .receipt-term__inner ul {
  margin: 0;
}
.receipt-term__inner h4 {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0.01em;
  margin-bottom: 1em;
}
.receipt-term__section {
  margin-top: 18px;
}
.receipt-term__inner h5 {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0.01em;
}
.receipt-term__inner p, .receipt-term__inner li {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.01em;
}
.receipt-term__inner ul {
  padding-left: 1em;
  list-style: none;
}
.receipt-term__inner li {
  padding-left: 1em;
  text-indent: -1em;
}
.receipt-term__inner li::before {
  content: "・";
}
.receipt-term__inner li li::before {
  content: "- ";
}
.receipt-term__inner a {
  color: inherit;
  text-decoration: underline;
}
.receipt-term__btn {
  margin-top: 37px;
}

#wall-paper {
  scroll-margin-top: 20px;
}

.wallpaper-present {
  padding: 76px 0 66px;
  color: #231815;
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
  background-color: #f6e5cd;
  background-image: repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.34) 0, rgba(255, 255, 255, 0.34) 10px, rgba(255, 255, 255, 0) 10px, rgba(255, 255, 255, 0) 21.5px);
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 290 19'%3E%3Cpath fill='white' d='M0,15.9C24.3,15.9,24.3,0,48.5,0c24.3,0,24.3,15.9,48.5,15.9S121.3,0,145.5,0c24.3,0,24.3,15.9,48.5,15.9S218.3,0,242.5,0c24.3,0,24.3,15.9,48.5,15.9v3H0v-3Z'/%3E%3C/svg%3E"), linear-gradient(to bottom, transparent 0%, transparent 19px, #000 19px, #000 100%);
  mask-size: 290px 20px, 100% 100%;
  margin-top: -19px;
}
.wallpaper-present__title {
  max-width: 314px;
  margin: 0 auto 12px auto;
}
.wallpaper-present__lead {
  margin: 18px 0 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.01em;
}
.wallpaper-present__period-label {
  margin: 28px 0 6px;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.01em;
}
.wallpaper-present__schedule {
  width: 286px;
  margin: -4px auto 0 auto;
}

.summary-section {
  padding: 50px 20px;
  background: #fff4d6;
}
.summary-section img + img {
  margin-top: 18px;
}

.follow-repost {
  min-height: 877px;
  padding: 67px 0 65px;
  color: #5f2c1e;
  text-align: center;
  background: #f8b500 url("../images/sc08/bg.png");
  background-size: 100%;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 290 19'%3E%3Cpath fill='white' d='M0,15.9C24.3,15.9,24.3,0,48.5,0c24.3,0,24.3,15.9,48.5,15.9S121.3,0,145.5,0c24.3,0,24.3,15.9,48.5,15.9S218.3,0,242.5,0c24.3,0,24.3,15.9,48.5,15.9v3H0v-3Z'/%3E%3C/svg%3E"), linear-gradient(to bottom, transparent 0%, transparent 19px, #000 19px, #000 100%);
  mask-size: 290px 20px, 100% 100%;
  margin-top: -19px;
  -webkit-mask-position-x: 50px;
}
.follow-repost__title, .follow-repost__title img, .follow-repost__spoon {
  margin-inline: auto;
}
.follow-repost__title {
  width: 313px;
  margin-top: 0;
  margin-bottom: 17px;
}
.follow-repost__lead {
  margin: 0;
  font-family: "Noto Sans JP", "Zen Maru Gothic", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.01em;
}
.follow-repost__prize {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 2px;
  margin: 5px 0 0;
  color: #5f2c1e;
  font-family: "Noto Sans JP", "Zen Maru Gothic", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.01em;
}
.follow-repost__prize span, .follow-repost__prize strong {
  color: #e60012;
  font-weight: 900;
}
.follow-repost__prize span {
  font-size: 16px;
}
.follow-repost__prize strong {
  font-size: 28px;
  line-height: 1;
}
.follow-repost__spoon {
  width: 386px;
  margin: -12px 0 0 0;
}
.follow-repost__notice {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 13px 0 0;
  color: #231815;
  font-family: "Noto Sans JP", "Zen Maru Gothic", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.01em;
  text-align: center;
}
.follow-repost__notice::before, .follow-repost__notice::after {
  display: inline-block;
  color: #231815;
  font-size: 17px;
  line-height: 1;
}
.follow-repost__notice::before {
  content: "\\";
  transform: rotate(-15deg);
}
.follow-repost__notice::after {
  content: "/";
  transform: rotate(15deg);
}

.movie {
  padding: 35px 0 48px;
  background: #fffef3;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 290 19'%3E%3Cpath fill='white' d='M0,15.9C24.3,15.9,24.3,0,48.5,0c24.3,0,24.3,15.9,48.5,15.9S121.3,0,145.5,0c24.3,0,24.3,15.9,48.5,15.9S218.3,0,242.5,0c24.3,0,24.3,15.9,48.5,15.9v3H0v-3Z'/%3E%3C/svg%3E"), linear-gradient(to bottom, transparent 0%, transparent 19px, #000 19px, #000 100%);
  mask-size: 290px 20px, 100% 100%;
  margin-top: -19px;
}
.movie__inner {
  padding-inline: 20px;
}
.movie__title {
  width: 268px;
  margin: 50px auto 40px;
}
.movie__youtube {
  max-width: 350px;
  margin: 0 auto;
  border-radius: 12px;
  overflow: hidden;
}
.movie__divider {
  height: 4px;
  padding: 20px 0 18px;
  margin-top: 46px;
  border: 0;
  background: url("../images/hr.png") center/contain no-repeat;
}
.movie__btn {
  margin-top: 46px;
}
.movie__chiikawa {
  margin-top: 49px;
  background-image: url("../images/sc09/chiikawa_bg.svg");
  background-repeat: no-repeat;
  min-height: 645px;
  padding: 44px 20px 47px;
  text-align: center;
}
.movie__chiikawa h2 {
  margin: 0;
}
.movie__chiikawa h2 img {
  width: 291px;
}
.movie__chiikawa p {
  font-family: "Noto Sans JP", "Zen Maru Gothic", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.01em;
  margin: 12px auto 29px;
}
.movie__movie {
  margin-top: 63px;
  margin-inline: -20px;
  padding: 28px 20px 33px;
  background-image: url(../images/sc09/bg.png);
  background-repeat: repeat-y;
}
.movie__movie a {
  margin-block: 34px 24px;
}
.movie__poster img {
  max-width: 217px;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.2509803922);
  margin-inline: auto;
}
.movie__text img {
  width: 308px;
  margin-inline: auto;
}
.movie__cocoichi {
  margin-top: 16px;
}
.movie img {
  margin-inline: auto;
}
.movie img + img {
  margin-top: 18px;
}

.movie-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  align-items: center;
  justify-items: center;
  box-sizing: border-box;
  padding: 80px 20px 40px;
  overflow-y: auto;
}
.movie-modal[hidden] {
  display: none;
}
.movie-modal__overlay {
  position: fixed;
  inset: 0;
  background: rgba(255, 255, 255, 0.72);
}
.movie-modal__dialog {
  position: relative;
  width: min(100%, 350px);
}
.movie-modal__close {
  position: absolute;
  right: -1px;
  bottom: calc(100% + 12px);
  width: 48px;
  height: 48px;
  padding: 0;
  border: 0;
  outline: none;
  background: transparent;
  cursor: pointer;
}
.movie-modal__close img {
  display: block;
  width: 100%;
  height: auto;
}
.movie-modal__youtube {
  width: 100%;
  aspect-ratio: 350/197;
  border-radius: 8px;
  overflow: hidden;
  background: #d9d9d9;
}
.movie-modal__youtube iframe {
  display: block;
  width: 100%;
  height: 100%;
}

@media (min-width: 390px) {
  .movie-modal__dialog {
    width: min(90vw, 640px);
  }
}
.body-movie-modal-open {
  overflow: hidden;
}

.btn__r-rect {
  --movie-btn-gradient-start: #f8acc5;
  --movie-btn-gradient-end: #ee92b0;
  position: relative;
  display: grid;
  place-items: center;
  width: min(100%, 350px);
  min-height: 70px;
  margin: 0 auto;
  padding: 16px 16px;
  border-radius: 12px;
  color: #fff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.01em;
  text-align: center;
  background: linear-gradient(90deg, var(--movie-btn-gradient-start) 0%, var(--movie-btn-gradient-end) 100%);
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}
.btn__r-rect--blue {
  --movie-btn-gradient-start: #59b0ff;
  --movie-btn-gradient-end: #1e7fd8;
  padding: 11px 16px;
}
.btn__r-rect::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 10px;
  height: 11px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='11' viewBox='0 0 10 11' fill='none'%3E%3Cpath d='M9.16861 4.27975C10.0937 4.81384 10.0937 6.14905 9.1686 6.68314L2.08139 10.7749C1.15633 11.309 0 10.6414 0 9.57325V1.38964C0 0.32147 1.15633 -0.346137 2.0814 0.187949L9.16861 4.27975Z' fill='white'/%3E%3C/svg%3E") center/contain no-repeat;
  transform: translateY(-50%);
}

.lp-footer {
  padding: 30px 30px 28px;
  color: #231815;
  text-align: center;
  background: #FFE100;
}
.lp-footer__logo {
  width: 205px;
  margin: 8px auto 16px;
}
.lp-footer h2 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  margin: 0;
}
.lp-footer p {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
}
.lp-footer .lp-footer__contact {
  margin-top: 16px;
}
.lp-footer small {
  font-size: 12px;
  font-weight: 500;
}
.lp-footer__copyright img {
  max-width: 254px;
  margin-inline: auto;
}

.faq {
  --faq-pink: #ee86a8;
  --faq-brown: #6c2f04;
  --faq-bg: #fffef2;
  position: relative;
  z-index: 1;
  padding: 34px 20px 116px;
  color: var(--faq-brown);
  background: var(--faq-bg);
}
.faq__header {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 18px;
  margin-bottom: 39px;
  padding-top: 35px;
}
.faq__flower {
  position: relative;
  width: 53px;
  height: 32px;
}
.faq__title {
  position: relative;
  margin: 0;
  width: 202px;
}
.faq__title img {
  width: 100%;
}
.faq__group + .faq__group {
  margin-top: 49px;
}
.faq__group.is-collapsed + .faq__group {
  margin-top: 20px;
}
.faq__group-heading {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 351px);
  min-height: 35px;
  margin: 0 auto;
  padding: 7px 41px 8px;
  border-radius: 999px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.01em;
  text-align: center;
  background: var(--faq-pink);
  cursor: pointer;
}
.faq__group-heading:focus-visible {
  outline: 3px solid #f8b500;
  outline-offset: 3px;
}
.faq__group-icon {
  position: absolute;
  top: 50%;
  right: 13px;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: #fff;
  transform: translateY(-50%);
}
.faq__group-icon::before, .faq__group-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 2px;
  border-radius: 999px;
  background: var(--faq-pink);
  transform: translate(-50%, -50%);
  transition: transform 0.25s ease;
}
.faq__group-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.faq__group-heading[aria-expanded=true] .faq__group-icon::after {
  transform: translate(-50%, -50%) rotate(180deg);
}
.faq__group-body {
  display: grid;
  gap: 24px;
  overflow: hidden;
  width: calc(100% + 8px);
  margin-right: -8px;
  max-height: 6000px;
  padding: 24px 8px 8px 0;
  opacity: 1;
  transition: max-height 0.35s ease, padding 0.35s ease, opacity 0.25s ease;
}
.faq__group.is-collapsed .faq__group-body {
  max-height: 0;
  padding-top: 0;
  padding-bottom: 0;
  opacity: 0;
}
.faq:has(.faq__group.is-collapsed + .faq__group.is-collapsed) {
  padding-bottom: 62px;
}
.faq__item {
  overflow: hidden;
  width: min(100%, 350px);
  margin: 0 auto;
  border: 1px solid var(--faq-pink);
  border-radius: 12px;
  background: #fff;
  box-shadow: 4px 4px 4px rgba(251, 148, 62, 0.3);
}
.faq__question {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 5px 16px;
  align-items: center;
  min-height: 59px;
  margin: 0;
  padding: 14px 14px 13px;
  color: var(--faq-brown);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.03em;
  background: rgba(238, 134, 168, 0.2);
}
.faq__question span {
  color: var(--faq-pink);
  font-size: 20px;
  line-height: 1.1;
  letter-spacing: 0.03em;
}
.faq__question small {
  display: block;
  grid-column: 2;
  margin-top: 1px;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.03em;
}
.faq__answer {
  padding: 17px 14px 17px;
  font-family: "Noto Sans JP", "Zen Maru Gothic", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.01em;
}
.faq__answer p {
  margin: 0;
}
.faq__answer p + p {
  margin-top: 0.8em;
}
.faq__numbered {
  padding-left: 1.4em;
  text-indent: -1.4em;
}
.faq__numbered-content {
  padding-left: 1.4em;
}
.faq__phase-list {
  display: grid;
  gap: 0.9em;
}
.faq__phase {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 1em;
  align-items: start;
}
.faq__phase-label {
  font-weight: 700;
}
.faq__phase-date {
  display: block;
  font-weight: 700;
}
.faq__answer p + .faq__notes, .faq__answer p + .faq__list, .faq__answer p + .faq__numbered-content, .faq__answer p + .faq__phase-list, .faq__numbered-content + p, .faq__numbered-content p + p, .faq__numbered-content p + .faq__notes, .faq__numbered-content .faq__notes + p, .faq__list + p, .faq__notes + p, .faq__notes + .faq__notes {
  margin-top: 0.8em;
}
.faq__answer small {
  display: inline;
  font-size: 11px;
  line-height: 1.55;
  letter-spacing: 0.01em;
}
.faq__notes {
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 0;
  font-size: 11px;
  line-height: 1.55;
  letter-spacing: 0.01em;
  list-style: none;
}
.faq__notes li {
  padding-left: 1em;
  text-indent: -1em;
}
.faq__list {
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.faq__list li {
  padding-left: 1em;
  text-indent: -1em;
}
.faq__answer a {
  overflow-wrap: anywhere;
  text-decoration: underline;
}

@media (min-width: 1280px) {
  html {
    scrollbar-width: none;
  }
  html::-webkit-scrollbar,
  body::-webkit-scrollbar {
    display: none;
  }
  body {
    min-width: 1024px;
  }
  .lp {
    width: 390px;
    margin-inline: auto;
    box-shadow: none;
  }
  .site-header {
    min-height: 64px;
    padding: 9px 10px 8px;
  }
  .site-header__logo img {
    width: 146px;
  }
  .to-top {
    right: 10px;
  }
}
@media (max-width: 389px) {
  .site-header {
    min-height: 64px;
    gap: 6px;
    padding-inline: 8px;
  }
  .site-header__logo img {
    width: 146px;
  }
  .site-header__menu {
    width: 48px;
    height: 48px;
  }
  .site-header__menu-lines {
    width: 18px;
    gap: 3px;
  }
  .site-header__menu-lines span {
    width: 18px;
    height: 3px;
  }
  .site-header__menu-label {
    font-size: 8px;
  }
  .sp-menu {
    top: 64px;
    height: calc(100dvh - 64px);
  }
}