@charset "UTF-8";
/*! danbi-expertpack — 생성물. 직접 고치지 말 것.
 *  원본: styles/main.scss + styles/_*.scss
 *  빌드: VS Code "Watch Sass" 또는  npm run build:css
 *  자세한 내용: docs/architecture.md 4장 ④
 */
:root {
  --danbi-ep-color-brand: #cc4915;
  --danbi-ep-color-brand-contrast: #ffffff;
  --danbi-ep-color-surface: #fff9ea;
  --danbi-ep-color-surface-accent: #f8e6ab;
  --danbi-ep-color-text: #000000;
  --danbi-ep-color-text-muted: initial;
  --danbi-ep-color-border: initial;
  --danbi-ep-page-margin: 30px;
  --danbi-ep-grid-columns: 12;
  --danbi-ep-grid-gap: 20px;
  --danbi-ep-layout-aside-span: 3;
  --danbi-ep-layout-main-span: 9;
  --danbi-ep-layout-main-span-narrow: 6;
  --danbi-ep-page-max-width: none;
  --danbi-ep-grid-column: calc(
  	(100% - (var(--danbi-ep-grid-columns) - 1) * var(--danbi-ep-grid-gap)) /
  		var(--danbi-ep-grid-columns)
  );
  --danbi-ep-layout-sticky-top: var(--danbi-ep-space-8);
  --danbi-ep-space-1: 0.25rem;
  --danbi-ep-space-2: 0.5rem;
  --danbi-ep-space-3: 0.75rem;
  --danbi-ep-space-4: 1rem;
  --danbi-ep-space-6: 1.5rem;
  --danbi-ep-space-8: 2rem;
  --danbi-ep-space-12: 3rem;
  --danbi-ep-font-sans:
  	"Kigsans",
  	-apple-system,
  	BlinkMacSystemFont,
  	"Apple SD Gothic Neo",
  	"Noto Sans KR",
  	"Malgun Gothic",
  	sans-serif;
  --danbi-ep-font-display: "OnulGoraesil", var(--danbi-ep-font-sans);
  --danbi-ep-font-hand: "Gaegu", var(--danbi-ep-font-sans);
  --danbi-ep-font-weight-base: 500;
  --danbi-ep-font-weight-bold: 600;
  --danbi-ep-font-size-sm: 0.875rem;
  --danbi-ep-font-size-base: 1rem;
  --danbi-ep-font-size-lg: 1.125rem;
  --danbi-ep-font-size-xl: 1.5rem;
  --danbi-ep-font-size-2xl: 1.75rem;
  --danbi-ep-font-size-title: clamp(2rem, 3.2vw, 2.5rem);
  --danbi-ep-font-size-h1: clamp(2.25rem, 4.5vw, 3.75rem);
  --danbi-ep-font-size-display: 3rem;
  --danbi-ep-font-size-strong: var(--danbi-ep-font-size-xl);
  --danbi-ep-font-size-text: var(--danbi-ep-font-size-lg);
  --danbi-ep-font-size-menu: 1.625rem;
  --danbi-ep-line-height-tight: 1.25;
  --danbi-ep-line-height-display: 1.15;
  --danbi-ep-line-height-base: 1.6;
  --danbi-ep-radius-sm: 0.25rem;
  --danbi-ep-radius-md: 0.5rem;
  --danbi-ep-radius-lg: 1rem;
  --danbi-ep-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.06);
}

@media (max-width: 767px) {
  :root {
    --danbi-ep-page-margin: 10px;
    --danbi-ep-font-size-h1: 2rem;
    --danbi-ep-font-size-display: 2rem;
    --danbi-ep-line-height-display: 1.3;
    --danbi-ep-font-size-strong: 1rem;
    --danbi-ep-font-size-text: 1rem;
    --danbi-ep-font-size-lg: 1rem;
  }
}
body {
  background-color: var(--danbi-ep-color-surface);
  overflow-x: clip;
}

.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.one-container .container,
.separate-containers .paging-navigation,
.inside-page-header {
  background-color: var(--danbi-ep-color-surface);
}

video[loop] {
  clip-path: inset(1px);
}

@media (max-width: 767px) {
  .page-header,
  .sidebar .widget,
  .site-main > * {
    margin-bottom: 0;
  }
}
body,
button,
input,
select,
textarea {
  font-family: var(--danbi-ep-font-sans);
}

b,
strong,
dt,
th {
  font-weight: var(--danbi-ep-font-weight-bold);
}

body {
  word-break: keep-all;
  overflow-wrap: break-word;
}

@media (max-width: 767px) {
  body,
  button {
    font-size: 0.875rem;
  }
  input,
  select,
  textarea {
    font-size: 1rem;
  }
}
h1 {
  font-family: var(--danbi-ep-font-display);
  font-size: var(--danbi-ep-font-size-h1);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-display);
  letter-spacing: -0.02em;
}

@media (max-width: 767px) {
  h1:not(.festival__lettering) {
    margin-block-end: 10px !important;
  }
}
.site-content {
  min-height: 100vh;
}

.layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--danbi-ep-grid-gap);
  width: 100%;
  max-width: var(--danbi-ep-page-max-width);
  margin-inline: auto;
  padding-inline: var(--danbi-ep-page-margin);
}

@media (max-width: 767px) {
  .layout {
    gap: 0;
  }
}
.layout > *,
.layout__main--grid > * {
  min-width: 0;
}

.layout__aside,
.layout__main {
  grid-column: 1/-1;
}

.layout__main--grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--danbi-ep-grid-gap);
}

.layout__cols {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--danbi-ep-grid-gap);
}

.layout__cols > * {
  min-width: 0;
}

.layout__cols > :empty {
  display: none;
}

.layout__col-full {
  grid-column: 1/-1;
}

.layout__aside--sticky {
  align-self: start;
  position: sticky;
  top: var(--danbi-ep-layout-sticky-top);
}

.layout__bleed {
  grid-column: 1/-1;
  margin-inline: calc(var(--danbi-ep-page-margin) * -1);
}

.layout__hero {
  grid-column: 1/-1;
}

.layout--hero .layout__hero {
  grid-row: 1;
  z-index: 0;
}
.layout--hero .layout__aside {
  grid-row: 1;
  z-index: 1;
}
.layout--hero .layout__main {
  grid-row: 2;
}

@media (min-width: 1024px) {
  .layout--hero .layout__aside {
    grid-row: 1/span 2;
    grid-column: 1/span var(--danbi-ep-layout-aside-span);
  }
}
.fullbleed {
  width: 100vw;
  max-width: 100vw;
  margin-inline: calc(50% - 50vw);
}

@media (min-width: 768px) {
  .layout,
  .layout__main--grid {
    grid-template-columns: repeat(var(--danbi-ep-grid-columns), minmax(0, 1fr));
  }
}
@media (min-width: 768px) {
  .layout__cols {
    grid-template-columns: repeat(var(--danbi-ep-layout-main-span), minmax(0, 1fr));
  }
}
@media (min-width: 768px) {
  .layout__col-1 {
    grid-column: span 1;
  }
  .layout__col-2 {
    grid-column: span 2;
  }
  .layout__col-3 {
    grid-column: span 3;
  }
  .layout__col-4 {
    grid-column: span 4;
  }
  .layout__col-5 {
    grid-column: span 5;
  }
  .layout__col-6 {
    grid-column: span 6;
  }
  .layout__col-7 {
    grid-column: span 7;
  }
  .layout__col-8 {
    grid-column: span 8;
  }
  .layout__col-9 {
    grid-column: span 9;
  }
  .layout__col-10 {
    grid-column: span 10;
  }
  .layout__col-11 {
    grid-column: span 11;
  }
  .layout__col-12 {
    grid-column: span 12;
  }
}
@media (min-width: 1024px) {
  .layout__aside {
    grid-column: span var(--danbi-ep-layout-aside-span);
  }
  .layout__main {
    grid-column: span var(--danbi-ep-layout-main-span);
  }
  .layout__main--grid {
    grid-template-columns: repeat(var(--danbi-ep-layout-main-span), minmax(0, 1fr));
  }
}
@media (min-width: 1600px) {
  .layout__main {
    grid-column: span var(--danbi-ep-layout-main-span-narrow);
  }
  body.full-width .layout__main,
  .layout__main.full-width {
    grid-column: span var(--danbi-ep-layout-main-span);
  }
  .layout__main .full-width {
    --layout-end-span: calc(
    	var(--danbi-ep-layout-main-span) - var(--danbi-ep-layout-main-span-narrow)
    );
    width: calc(100% + (100% - (var(--danbi-ep-layout-main-span-narrow) - 1) * var(--danbi-ep-grid-gap)) / var(--danbi-ep-layout-main-span-narrow) * var(--layout-end-span) + var(--layout-end-span) * var(--danbi-ep-grid-gap));
    max-width: none;
  }
  body.full-width .layout__main .full-width,
  .layout__main.full-width .full-width {
    width: auto;
  }
}
@supports (grid-template-columns: subgrid) {
  @media (min-width: 1024px) {
    .layout__main--grid {
      grid-template-columns: subgrid;
    }
  }
}
[data-gallery-track] {
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
[data-gallery-track]::-webkit-scrollbar {
  display: none;
}
[data-gallery-track] > * {
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

[data-gallery-track][data-scrollable] {
  cursor: grab;
}

[data-gallery-track][data-dragging] {
  cursor: grabbing;
  scroll-snap-type: none;
  scroll-behavior: auto;
  user-select: none;
}

[data-gallery] {
  position: relative;
}

[data-gallery]::before,
[data-gallery]::after {
  content: "";
  position: absolute;
  inset-block: 0;
  z-index: 1;
  width: clamp(2rem, 8%, 5rem);
  opacity: 0;
  pointer-events: none;
  transition: opacity 220ms cubic-bezier(0.3, 0, 0.2, 1);
}

[data-gallery]::before {
  inset-inline-start: 0;
  background: linear-gradient(to right, var(--danbi-ep-color-surface), transparent);
}

[data-gallery]::after {
  inset-inline-end: 0;
  background: linear-gradient(to left, var(--danbi-ep-color-surface), transparent);
}

[data-gallery]:has([data-gallery-prev]:not(:disabled):not([hidden]))::before,
[data-gallery]:has([data-gallery-next]:not(:disabled):not([hidden]))::after {
  opacity: 1;
}

[data-gallery-prev],
[data-gallery-next] {
  z-index: 2;
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) [data-gallery]::before,
  html:not([data-udm-motion=on]) [data-gallery]::after {
    transition: none;
  }
}
html[data-udm-motion=off] [data-gallery]::before,
html[data-udm-motion=off] [data-gallery]::after {
  transition: none;
}

.contact-links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--danbi-ep-space-4);
}

.contact-links .contact-link {
  display: inline-grid;
  grid-template-columns: auto auto;
  align-items: center;
  gap: 0 var(--danbi-ep-space-2);
  padding: var(--danbi-ep-space-2) var(--danbi-ep-space-4);
  border: 1px solid currentColor;
  color: var(--danbi-ep-color-text, #000);
  text-decoration: none;
}

.contact-links .contact-link:focus-visible {
  color: var(--danbi-ep-color-brand);
}

@media (hover: hover) {
  .contact-links .contact-link:hover {
    color: var(--danbi-ep-color-brand);
  }
}
.contact-link__text {
  font-size: var(--danbi-ep-font-size-lg);
  font-weight: var(--danbi-ep-font-weight-bold);
}

.contact-link__note {
  grid-column: 1/-1;
  font-size: var(--danbi-ep-font-size-sm);
}

.contact-link__icon {
  display: inline-grid;
  place-items: center;
  font-size: var(--danbi-ep-font-size-lg);
  line-height: 1;
}

.contact-link__icon--svg svg {
  display: block;
  width: 1.25em;
  height: 1.25em;
}

@media (max-width: 767px) {
  .contact-links {
    align-items: stretch;
    gap: var(--danbi-ep-space-2);
  }
  .contact-links .contact-link {
    justify-content: center;
    align-content: center;
    width: 100%;
    padding: var(--danbi-ep-space-1) var(--danbi-ep-space-2);
    text-align: center;
  }
}
.headbar {
  --headbar-color-text: var(--danbi-ep-color-text, #12080a);
  --headbar-color-accent: var(--danbi-ep-color-brand);
  --headbar-color-ink: var(--danbi-ep-color-brand-ink, #bc5128);
  --headbar-menu-bg: var(--danbi-ep-color-surface);
  --headbar-toggle-size: 28px;
  --headbar-logo-height: 72px;
  --danbi-ep-layout-sticky-top: 0px;
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-8);
  padding-block: var(--danbi-ep-page-margin);
  color: var(--headbar-color-text);
}
.headbar__bar {
  display: flex;
  align-items: center;
  gap: 1.4rem;
}
.headbar__logo {
  display: block;
  flex: 0 0 auto;
  line-height: 0;
}
.headbar__logo svg {
  display: block;
  width: auto;
  height: var(--headbar-logo-height);
  max-width: 100%;
}
.headbar__utils {
  display: flex;
  align-items: center;
  gap: var(--danbi-ep-space-3);
  margin-top: var(--danbi-ep-space-1);
  margin-inline-start: auto;
}
.headbar__util {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--headbar-color-text);
  text-decoration: none;
}
.headbar__util svg {
  display: block;
  flex: 0 0 auto;
}
.headbar__util > svg path {
  fill: currentColor;
}
.headbar__util:focus-visible {
  color: var(--headbar-color-accent);
}
@media (hover: hover) {
  .headbar__util:hover {
    color: var(--headbar-color-accent);
  }
}
.headbar__cart-count {
  position: absolute;
  top: -5px;
  right: -11px;
  display: grid;
  place-items: center;
}
.headbar__cart-count > * {
  grid-area: 1/1;
}
.headbar__cart-count svg {
  display: block;
}
.headbar__cart-value {
  color: var(--danbi-ep-color-brand-contrast);
  font-size: 13px;
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: 1;
}
.headbar__toggle {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: var(--headbar-toggle-size);
  height: var(--headbar-toggle-size);
  margin-top: var(--danbi-ep-space-1);
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  cursor: pointer;
}
.headbar__toggle svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}
.headbar .headbar__toggle {
  -webkit-tap-highlight-color: transparent;
}
.headbar .headbar__toggle:hover, .headbar .headbar__toggle:focus, .headbar .headbar__toggle:active {
  background: none;
  color: inherit;
}

.headbar__toggle-line {
  transform-box: fill-box;
  transform-origin: center;
  transition: transform 0.3s ease, opacity 0.2s ease;
}
.headbar__toggle[aria-expanded=true] .headbar__toggle-line--top {
  transform: translateY(7px) rotate(45deg);
}
.headbar__toggle[aria-expanded=true] .headbar__toggle-line--mid {
  opacity: 0;
  transform: scaleX(0.2);
}
.headbar__toggle[aria-expanded=true] .headbar__toggle-line--bottom {
  transform: translateY(-7px) rotate(-45deg);
}
.headbar__menu {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin: 0;
  padding: 0;
  font-family: var(--danbi-ep-font-display);
  font-size: 1.65rem;
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: 1.875;
  list-style: none;
}
.headbar__menu li {
  margin: 0;
}
.headbar__menu a {
  color: color-mix(in srgb, var(--headbar-color-ink) 32%, var(--headbar-menu-bg));
  text-decoration: none;
}
.headbar__menu .sub-menu a {
  color: color-mix(in srgb, var(--headbar-color-ink) 52%, var(--headbar-menu-bg));
}
.headbar__menu > .current-menu-item > a,
.headbar__menu > .current-menu-ancestor > a,
.headbar__menu > .current-menu-parent > a,
.headbar__menu > li:focus-within > a {
  color: var(--headbar-color-ink);
}
@media (hover: hover) {
  .headbar__menu > li:hover > a {
    color: var(--headbar-color-ink);
  }
}
.headbar__menu .sub-menu .current-menu-item > a {
  color: var(--headbar-color-ink);
}
.headbar__menu a:focus-visible {
  color: var(--headbar-color-ink);
}
@media (hover: hover) {
  .headbar__menu a:hover {
    color: var(--headbar-color-ink);
  }
}
.headbar__menu .sub-menu {
  margin: 0;
  padding: 0;
  list-style: none;
}

.layout .headbar.layout__aside {
  z-index: 45;
}

@media (max-width: 1023px) {
  .headbar {
    --headbar-nav-duration: 0.3s;
  }
  .headbar__bar {
    position: relative;
    z-index: 1;
  }
  .headbar__nav {
    --headbar-menu-bg: var(--danbi-ep-color-surface-accent);
    position: fixed;
    inset: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: var(--danbi-ep-page-margin);
    padding-top: var(--headbar-nav-top, calc(var(--danbi-ep-page-margin) * 2 + var(--headbar-logo-height)));
    background-color: var(--headbar-menu-bg);
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--headbar-nav-duration) ease, visibility 0s linear var(--headbar-nav-duration);
  }
  .headbar--open .headbar__nav {
    opacity: 1;
    visibility: visible;
    transition: opacity var(--headbar-nav-duration) ease, visibility 0s;
  }
  .headbar__menu {
    font-size: 1.375rem;
    line-height: 1.7;
  }
  .headbar__menu .sub-menu {
    padding-inline-start: 1rem;
    padding-bottom: var(--danbi-ep-space-2);
    font-size: 1.125rem;
    line-height: 1.6;
  }
}
html.headbar-locked {
  overflow: hidden;
}

@media (max-width: 767px) {
  .headbar {
    --headbar-logo-height: 52px;
  }
  .headbar__bar {
    gap: var(--danbi-ep-space-4);
  }
  .headbar__util:hover:not(:focus-visible) {
    color: var(--headbar-color-text);
  }
  .headbar__utils {
    gap: var(--danbi-ep-space-2);
  }
  .headbar__util > svg {
    width: 26px;
    height: 22px;
  }
  .headbar__util--cart > svg {
    width: 27px;
    height: 26px;
  }
  .headbar__cart-count {
    top: -4px;
    right: -8px;
  }
  .headbar__cart-count svg {
    width: 15px;
    height: 16px;
  }
  .headbar__cart-value {
    font-size: 10px;
  }
}
@media (min-width: 1024px) {
  .headbar__toggle {
    display: none;
  }
  .headbar__utils {
    margin-inline-start: 0;
  }
  .headbar__nav {
    display: block;
  }
  .headbar__menu {
    display: grid;
    grid-template-columns: max-content 1fr;
    align-items: start;
    column-gap: 1em;
  }
  .headbar__menu > li {
    display: grid;
    grid-column: 1/-1;
    grid-template-columns: max-content 1fr;
    align-items: start;
    column-gap: 1em;
  }
  .headbar__menu > li > a {
    position: relative;
    justify-self: start;
  }
  .headbar__menu > li {
    position: relative;
  }
  .headbar__menu > li > .sub-menu {
    position: absolute;
    inset-inline: 0;
    top: 0;
    z-index: 1;
    grid-column: 2;
    padding-inline-start: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-0.25em);
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
  }
  .headbar__menu > li:hover > .sub-menu,
  .headbar__menu > li:focus-within > .sub-menu,
  .headbar__menu > li.current-menu-item > .sub-menu,
  .headbar__menu > li.current-menu-parent > .sub-menu,
  .headbar__menu > li.current-menu-ancestor > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: none;
  }
  .headbar__menu:hover > li:not(:hover):not(:focus-within) > .sub-menu,
  .headbar__menu:focus-within > li:not(:hover):not(:focus-within) > .sub-menu {
    opacity: 0;
    visibility: hidden;
    transform: translateX(-0.25em);
  }
  .headbar__menu > .menu-item-has-children:hover > a::after,
  .headbar__menu > .menu-item-has-children:focus-within > a::after,
  .headbar__menu > .menu-item-has-children.current-menu-item > a::after,
  .headbar__menu > .menu-item-has-children.current-menu-parent > a::after,
  .headbar__menu > .menu-item-has-children.current-menu-ancestor > a::after {
    position: absolute;
    top: 0;
    left: 100%;
    margin-inline-start: 0.3em;
    content: "→";
    content: "→"/"";
  }
  .headbar__menu:hover > .menu-item-has-children:not(:hover):not(:focus-within) > a::after,
  .headbar__menu:focus-within > .menu-item-has-children:not(:hover):not(:focus-within) > a::after {
    content: none;
  }
}
@supports (grid-template-columns: subgrid) {
  @media (min-width: 1024px) {
    .headbar__menu > li {
      grid-template-columns: subgrid;
    }
  }
}
@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .headbar__menu > li > .sub-menu {
    transform: none;
    transition: none;
  }
  html:not([data-udm-motion=on]) .headbar__toggle-line,
  html:not([data-udm-motion=on]) .headbar__nav,
  html:not([data-udm-motion=on]) .headbar--open .headbar__nav {
    transition: none;
  }
}
html[data-udm-motion=off] .headbar__menu > li > .sub-menu {
  transform: none;
  transition: none;
}
html[data-udm-motion=off] .headbar__toggle-line,
html[data-udm-motion=off] .headbar__nav,
html[data-udm-motion=off] .headbar--open .headbar__nav {
  transition: none;
}

.headbar__menu a {
  overflow-wrap: normal;
}

@media (min-width: 1024px) and (max-width: 1279px) {
  html[data-udm-mode=english] .headbar__menu,
  html[data-udm-mode=english] .headbar__menu > li {
    column-gap: 0.6em;
  }
  html[data-udm-mode=english] .headbar__menu > .menu-item-has-children > a::after {
    content: none;
  }
}
.wave-divider {
  --wave-divider-height: 40px;
  --wave-divider-cap: 24px;
  display: block;
  width: 100%;
  height: var(--wave-divider-height);
  margin-block: var(--danbi-ep-space-12);
  border-style: solid;
  border-color: transparent;
  border-width: 0 var(--wave-divider-cap);
  border-image-source: url("../svg/divider-wave.svg");
  border-image-slice: 0 24 fill;
  border-image-repeat: round;
  background: none;
}

.post-type-archive-product.separate-containers .inside-article,
.tax-product_cat.separate-containers .inside-article,
.tax-product_tag.separate-containers .inside-article {
  color: var(--danbi-ep-color-text, #000);
}

:where(.post-type-archive-product, .tax-product_cat, .tax-product_tag) :where(.inside-article) :is(h1, h2, h3, h4, h5, h6) {
  color: var(--danbi-ep-color-text, #000);
}

.product-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--danbi-ep-space-4);
  margin-block-start: var(--danbi-ep-space-6);
  margin-block-end: var(--danbi-ep-space-6);
}
.product-toolbar .woocommerce-result-count {
  float: none;
  margin: 0;
}

.product-sort__list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--danbi-ep-space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.product-sort__item {
  margin: 0;
}

.product-sort .product-sort__link {
  display: inline-flex;
  align-items: center;
  padding: 0.6em 1.2em;
  border-radius: var(--danbi-ep-radius-md);
  background: var(--danbi-ep-color-surface-accent);
  color: var(--danbi-ep-color-text, #12080a);
  font-family: var(--danbi-ep-font-sans);
  font-size: var(--danbi-ep-font-size-base);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
  text-decoration: none;
  transition: background-color 220ms cubic-bezier(0.3, 0, 0.2, 1), color 220ms cubic-bezier(0.3, 0, 0.2, 1);
}

.product-sort .product-sort__link:focus-visible,
.product-sort .product-sort__link--current {
  background: var(--danbi-ep-color-text, #12080a);
  color: var(--danbi-ep-color-brand-contrast);
}

@media (hover: hover) {
  .product-sort .product-sort__link:hover {
    background: var(--danbi-ep-color-text, #12080a);
    color: var(--danbi-ep-color-brand-contrast);
  }
}
@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .product-sort .product-sort__link {
    transition: none;
  }
}
html[data-udm-motion=off] .product-sort .product-sort__link {
  transition: none;
}

@media (max-width: 767px) {
  .product-toolbar {
    margin-block-start: var(--danbi-ep-space-6);
  }
  .product-sort__list {
    gap: 5px;
  }
  .product-sort .product-sort__link {
    padding: 0.5em 0.9em;
    font-size: 12px;
  }
}
.product-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--danbi-ep-grid-gap);
  align-items: start;
  margin: 0;
  padding: 0;
  list-style: none;
}
.product-grid__item {
  margin: 0;
}

.product-card {
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-3);
  text-decoration: none;
}
.product-card__image {
  display: block;
  width: 100%;
  border: 1px solid #000;
  height: auto;
}
.product-card__meta {
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-1);
}
.product-card__title, .product-card__price {
  margin: 0;
  color: inherit;
  font-size: var(--danbi-ep-font-size-lg);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}
.product-card__price del {
  margin-inline-end: 0.4em;
}
.product-card__price ins {
  background: none;
  text-decoration: none;
}
.product-card:focus-visible .product-card__title {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
@media (hover: hover) {
  .product-card:hover .product-card__title {
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }
}

a.product-card {
  color: var(--danbi-ep-color-text, #12080a);
}

a.product-card:hover,
a.product-card:focus-visible {
  color: var(--danbi-ep-color-text, #12080a);
}

@media (max-width: 767px) {
  .product-card__title,
  .product-card__price {
    font-size: var(--danbi-ep-font-size-base);
  }
}
@media (min-width: 1024px) {
  .product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.product-detail {
  --product-detail-color-ink: var(--danbi-ep-color-text, #12080a);
  --product-detail-text-size: var(--danbi-ep-font-size-xl);
  color: var(--product-detail-color-ink);
}

.product-detail__title {
  margin: 0 0 15px;
  color: var(--danbi-ep-color-brand);
}

.product-detail__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--danbi-ep-space-2) var(--danbi-ep-space-6);
  margin-block-end: var(--danbi-ep-space-8);
}

.product-detail__price {
  margin: 0;
  font-family: var(--danbi-ep-font-display);
  font-size: var(--product-detail-text-size);
  font-weight: var(--danbi-ep-font-weight-bold);
  color: var(--danbi-ep-color-brand);
}

.product-detail__price-label::after {
  content: "。";
  content: "。"/"";
}

.product-detail__credits {
  margin: 0;
  margin-inline-start: auto;
  font-size: var(--product-detail-text-size);
  font-weight: var(--danbi-ep-font-weight-bold);
  text-align: right;
}

.product-gallery {
  position: relative;
  margin-block-end: 30px;
}

.product-gallery__track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 100%;
  gap: var(--danbi-ep-grid-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}

.product-gallery__slide {
  margin: 0;
}

.product-gallery__image {
  display: block;
  -webkit-user-drag: none;
  width: 100%;
  height: auto;
  max-height: 90vh;
  max-height: 90svh;
  object-fit: cover;
  border: 1px solid var(--danbi-ep-color-brand);
}

.product-gallery__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: 1px solid var(--danbi-ep-color-brand);
  border-radius: 0;
  background: var(--danbi-ep-color-surface);
  color: var(--danbi-ep-color-brand);
  font-size: var(--danbi-ep-font-size-base);
  line-height: 1;
  cursor: pointer;
}

.product-gallery__nav:is(:hover, :focus) {
  background: var(--danbi-ep-color-surface);
  color: var(--danbi-ep-color-brand);
}

.product-gallery__nav--prev {
  inset-inline-start: var(--danbi-ep-space-2);
}

.product-gallery__nav--next {
  inset-inline-end: var(--danbi-ep-space-2);
}

.product-gallery__nav:disabled {
  cursor: default;
  opacity: 0.35;
}

.product-gallery__nav[hidden] {
  display: none;
}

.product-detail__section + .product-detail__section {
  margin-block-start: var(--danbi-ep-space-8);
}

.product-detail__section-title {
  margin: 0 0 var(--danbi-ep-space-4);
  font-size: var(--product-detail-text-size);
  font-weight: var(--danbi-ep-font-weight-bold);
  color: var(--danbi-ep-color-brand);
}

.product-detail__prose {
  font-size: var(--product-detail-text-size);
  line-height: var(--danbi-ep-line-height-base);
}
.product-detail__prose p {
  margin: 0;
}
.product-detail__prose p + p {
  margin-block-start: var(--danbi-ep-space-4);
}
.product-detail__prose ul,
.product-detail__prose ol {
  margin: var(--danbi-ep-space-4) 0 0;
  padding-inline-start: 1.1em;
}
.product-detail__prose :is(ul, ol) + * {
  margin-block-start: var(--danbi-ep-space-4);
}
.product-detail__prose li + li {
  margin-block-start: var(--danbi-ep-space-1);
}

.product-detail__buy {
  --buy-ink: var(--danbi-ep-color-brand);
  --buy-bg: color-mix(in srgb, var(--danbi-ep-color-brand) 12%, var(--danbi-ep-color-surface));
  --qty-size: 3.25rem;
  margin-block-start: var(--danbi-ep-space-12);
}

.woocommerce div.product-detail__buy form.cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: var(--danbi-ep-space-2) var(--danbi-ep-space-3);
  margin: 0;
}

.woocommerce div.product-detail__buy form.cart::before,
.woocommerce div.product-detail__buy form.cart::after {
  display: none;
}

.woocommerce div.product-detail__buy form.cart div.quantity {
  float: none;
  margin: 0;
}

.woocommerce div.product-detail__buy form.cart div.quantity {
  flex: 0 0 100%;
  margin-block-end: var(--danbi-ep-space-3);
}

.woocommerce div.product-detail__buy form.cart .button {
  float: none;
}

.product-detail__buy .quantity {
  display: inline-flex;
  align-items: stretch;
  overflow: hidden;
  border-radius: var(--danbi-ep-radius-md);
  box-shadow: inset 0 0 0 1px var(--danbi-ep-color-text, #12080a);
}

.product-detail__buy .quantity:has(.qty[type=hidden]) {
  display: none;
}

.product-detail__buy .quantity .qty {
  width: 2.4em;
  padding: 0.45em 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  outline: 0;
  font-family: var(--danbi-ep-font-sans);
  font-size: var(--product-detail-text-size);
  font-weight: 600;
  line-height: var(--danbi-ep-line-height-tight);
  color: var(--danbi-ep-color-text, #12080a);
  text-align: center;
  appearance: textfield;
}
.product-detail__buy .quantity .qty::-webkit-outer-spin-button, .product-detail__buy .quantity .qty::-webkit-inner-spin-button {
  margin: 0;
  appearance: none;
}

.product-detail__buy .product-detail__qty-step {
  display: grid;
  place-items: center;
  width: 2em;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  cursor: pointer;
  font-family: var(--danbi-ep-font-sans);
  font-size: var(--product-detail-text-size);
  font-weight: 600;
  line-height: var(--danbi-ep-line-height-tight);
  color: var(--danbi-ep-color-text, #12080a);
  transition: background-color 220ms cubic-bezier(0.3, 0, 0.2, 1), color 220ms cubic-bezier(0.3, 0, 0.2, 1);
}

.product-detail__buy .product-detail__qty-step:focus-visible {
  background: var(--danbi-ep-color-text, #12080a);
  color: var(--danbi-ep-color-brand-contrast);
}

@media (hover: hover) {
  .product-detail__buy .product-detail__qty-step:hover {
    background: var(--danbi-ep-color-text, #12080a);
    color: var(--danbi-ep-color-brand-contrast);
  }
}
.product-detail__buy .product-detail__qty-step:disabled,
.product-detail__buy .product-detail__qty-step:disabled:hover {
  background: transparent;
  color: var(--danbi-ep-color-text, #12080a);
  cursor: default;
  opacity: 0.3;
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .product-detail__buy .product-detail__qty-step {
    transition: none;
  }
}
html[data-udm-motion=off] .product-detail__buy .product-detail__qty-step {
  transition: none;
}

.product-detail__buy .quantity {
  align-items: center;
  gap: var(--danbi-ep-space-2);
  overflow: visible;
  border-radius: 0;
  box-shadow: none;
}

.product-detail__buy .quantity .qty {
  width: 3em;
  height: var(--qty-size);
  padding-block: 0;
  border-radius: 0;
  background-color: var(--buy-bg);
  box-shadow: inset 0 0 0 1px var(--buy-ink);
  color: var(--buy-ink);
}

.product-detail__buy .product-detail__qty-step {
  --qty-step-bg: var(--buy-bg);
  --qty-line: var(--buy-ink);
  flex: none;
  width: var(--qty-size);
  height: auto;
  min-height: 0;
  aspect-ratio: 1;
  border-radius: 0;
  box-shadow: inset 0 0 0 1px var(--buy-ink);
  background-color: var(--qty-step-bg);
  background-image: linear-gradient(var(--qty-line), var(--qty-line)), linear-gradient(var(--qty-line), var(--qty-line)) !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 0.875rem 1px, 1px 0.875rem !important;
  font-size: 0;
}

.product-detail__buy .product-detail__qty-step:has(+ .qty) {
  background-size: 0.875rem 1px, 0 0 !important;
}

.product-detail__buy .product-detail__qty-step:focus-visible {
  --qty-line: var(--danbi-ep-color-brand-contrast);
  background-color: var(--buy-ink);
}

@media (hover: hover) {
  .product-detail__buy .product-detail__qty-step:hover {
    --qty-line: var(--danbi-ep-color-brand-contrast);
    background-color: var(--buy-ink);
  }
}
.product-detail__buy .product-detail__qty-step:disabled,
.product-detail__buy .product-detail__qty-step:disabled:hover {
  --qty-line: var(--buy-ink);
  background-color: var(--qty-step-bg);
}

.woocommerce div.product-detail__buy button.single_add_to_cart_button.button {
  padding: 0.45em 1em;
  border: 0;
  border-radius: 0;
  background: var(--buy-bg);
  box-shadow: inset 0 0 0 1px var(--buy-ink);
  cursor: pointer;
  font-family: var(--danbi-ep-font-sans);
  font-size: var(--product-detail-text-size);
  font-weight: 600;
  line-height: var(--danbi-ep-line-height-tight);
  color: var(--buy-ink);
  text-decoration: none;
  transition: background-color 220ms cubic-bezier(0.3, 0, 0.2, 1), color 220ms cubic-bezier(0.3, 0, 0.2, 1);
}

.woocommerce div.product-detail__buy button.single_add_to_cart_button.button:focus-visible {
  background: var(--buy-ink);
  color: var(--danbi-ep-color-brand-contrast);
  text-decoration: none;
}

@media (hover: hover) {
  .woocommerce div.product-detail__buy button.single_add_to_cart_button.button:hover {
    background: var(--buy-ink);
    color: var(--danbi-ep-color-brand-contrast);
    text-decoration: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .woocommerce div.product-detail__buy button.single_add_to_cart_button.button {
    transition: none;
  }
}
html[data-udm-motion=off] .woocommerce div.product-detail__buy button.single_add_to_cart_button.button {
  transition: none;
}

@media (max-width: 767px) {
  .product-detail {
    --product-detail-text-size: var(--danbi-ep-font-size-base);
  }
  .product-detail__title {
    margin-block-end: 10px;
  }
  .product-detail__head {
    margin-block-end: var(--danbi-ep-space-4);
  }
  .product-detail__price {
    font-size: var(--danbi-ep-font-size-lg);
  }
  .product-detail__credits {
    flex-basis: 100%;
    margin-inline-start: 0;
    font-size: var(--danbi-ep-font-size-sm);
    text-align: start;
  }
  .product-gallery {
    margin-block-end: var(--danbi-ep-space-6);
  }
  .product-gallery__track {
    gap: var(--danbi-ep-space-2);
  }
  .product-gallery__image {
    max-height: none;
    object-fit: contain;
  }
  .product-detail__section + .product-detail__section {
    margin-block-start: var(--danbi-ep-space-6);
  }
  .product-detail__section-title {
    margin-block-end: var(--danbi-ep-space-2);
    font-size: var(--danbi-ep-font-size-lg);
  }
  .product-detail__buy {
    --product-detail-text-size: var(--danbi-ep-font-size-base);
    --qty-size: 2.75rem;
    margin-block-start: var(--danbi-ep-space-8);
  }
  .woocommerce div.product-detail__buy form.cart {
    align-items: stretch;
    gap: var(--danbi-ep-space-2);
  }
  .woocommerce div.product-detail__buy form.cart div.quantity {
    flex: 1 1 100%;
    min-width: 0;
  }
  .product-detail__buy .quantity .qty {
    flex: 1 1 0;
    width: 0;
    min-width: 0;
  }
  .product-detail__buy .product-detail__qty-step {
    transition: none;
  }
  .product-detail__buy .product-detail__qty-step:hover:not(:focus-visible) {
    --qty-line: var(--buy-ink);
    background-color: var(--qty-step-bg);
    color: var(--buy-ink);
  }
  .woocommerce div.product-detail__buy button.single_add_to_cart_button.button {
    flex: 1 1 100%;
    margin: 0;
    padding: 10px var(--danbi-ep-space-3);
    font-size: var(--danbi-ep-font-size-sm);
    font-weight: var(--danbi-ep-font-weight-bold);
  }
}
.product-programs {
  margin-block-start: var(--danbi-ep-space-12);
}

.product-programs__title {
  display: flex;
  align-items: center;
  gap: var(--danbi-ep-space-4);
  margin: 0 0 var(--danbi-ep-space-6);
  color: var(--danbi-ep-color-brand);
  font-family: var(--danbi-ep-font-display);
  font-size: 1.65rem;
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

.product-programs__title::after {
  content: "";
  flex: 1;
  border-block-start: 1px solid var(--danbi-ep-color-brand);
}

.product-programs__slider {
  position: relative;
}

.product-programs__list {
  display: flex;
  align-items: flex-start;
  gap: var(--danbi-ep-space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.product-programs__item {
  display: flex;
  flex: 0 0 clamp(12rem, 27%, 17rem);
  margin: 0;
}

.product-programs .product-programs__card {
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-3);
  width: 100%;
  padding: var(--danbi-ep-space-3);
  border: 1px solid var(--danbi-ep-color-brand);
  border-radius: 0;
  background-color: color-mix(in srgb, var(--danbi-ep-color-brand) 12%, var(--danbi-ep-color-surface));
  color: var(--danbi-ep-color-brand);
  text-decoration: none;
  -webkit-user-drag: none;
}

.product-programs__media {
  display: block;
  border: 1px solid var(--danbi-ep-color-brand);
}

.product-programs__image {
  display: block;
  width: 100%;
  height: auto;
  -webkit-user-drag: none;
}

.product-programs__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--danbi-ep-space-2);
  min-width: 0;
}

.product-programs__body .program-list__badge {
  background: var(--danbi-ep-color-brand);
  color: var(--danbi-ep-color-brand-contrast);
  font-size: 12px;
  font-weight: var(--danbi-ep-font-weight-bold);
}

.product-programs__body .program-list__badge--past {
  background: color-mix(in srgb, var(--danbi-ep-color-brand) 45%, var(--danbi-ep-color-surface));
}

.product-programs__name {
  font-size: var(--danbi-ep-font-size-lg);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

.product-programs__when {
  font-size: var(--danbi-ep-font-size-sm);
  line-height: var(--danbi-ep-line-height-tight);
}

.product-programs .product-programs__card {
  transition: background-color 220ms cubic-bezier(0.3, 0, 0.2, 1), color 220ms cubic-bezier(0.3, 0, 0.2, 1);
}

.product-programs .product-programs__card:focus-visible {
  background-color: var(--danbi-ep-color-brand);
  color: var(--danbi-ep-color-brand-contrast);
}

.product-programs .product-programs__card:focus-visible .program-list__badge {
  background: var(--danbi-ep-color-brand-contrast);
  color: var(--danbi-ep-color-brand);
}

.product-programs .product-programs__card:focus-visible .product-programs__media {
  border-color: var(--danbi-ep-color-brand-contrast);
}

@media (hover: hover) {
  .product-programs .product-programs__card:hover {
    background-color: var(--danbi-ep-color-brand);
    color: var(--danbi-ep-color-brand-contrast);
  }
  .product-programs .product-programs__card:hover .program-list__badge {
    background: var(--danbi-ep-color-brand-contrast);
    color: var(--danbi-ep-color-brand);
  }
  .product-programs .product-programs__card:hover .product-programs__media {
    border-color: var(--danbi-ep-color-brand-contrast);
  }
}
@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .product-programs .product-programs__card {
    transition: none;
  }
}
html[data-udm-motion=off] .product-programs .product-programs__card {
  transition: none;
}

.product-programs .product-programs__card:focus-visible {
  outline: 2px solid var(--danbi-ep-color-brand);
  outline-offset: 2px;
}

.product-programs__nav {
  position: absolute;
  top: 6rem;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: 1px solid var(--danbi-ep-color-brand);
  border-radius: 0;
  background: var(--danbi-ep-color-surface);
  color: var(--danbi-ep-color-brand);
  font-size: var(--danbi-ep-font-size-base);
  line-height: 1;
  cursor: pointer;
}

.product-programs__nav:is(:hover, :focus) {
  background: var(--danbi-ep-color-surface);
  color: var(--danbi-ep-color-brand);
}

.product-programs__nav--prev {
  inset-inline-start: var(--danbi-ep-space-2);
}

.product-programs__nav--next {
  inset-inline-end: var(--danbi-ep-space-2);
}

.product-programs__nav:disabled {
  cursor: default;
  opacity: 0.35;
}

.product-programs__nav[hidden] {
  display: none;
}

@media (max-width: 767px) {
  .product-programs {
    margin-block-start: var(--danbi-ep-space-8);
  }
  .product-programs__title {
    margin-block-end: var(--danbi-ep-space-4);
    font-size: 1.5rem;
  }
  .product-programs__list {
    gap: var(--danbi-ep-space-2);
  }
  .product-programs__item {
    flex-basis: 62%;
  }
  .product-programs .product-programs__card {
    gap: var(--danbi-ep-space-2);
    padding: var(--danbi-ep-space-2);
  }
  .product-programs__name {
    font-size: var(--danbi-ep-font-size-base);
  }
}
@media (min-width: 768px) {
  .product-gallery__track {
    grid-auto-columns: calc((100% - var(--danbi-ep-grid-gap) * 2) / 3);
  }
  .product-gallery__image {
    max-height: none;
  }
}
.woosb-wrap .woosb-products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--danbi-ep-grid-gap);
  align-items: start;
  margin: 0 0 var(--danbi-ep-space-6);
  border: 0;
}

@media (min-width: 768px) {
  .woosb-wrap .woosb-products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.woosb-wrap .woosb-products .woosb-product {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--danbi-ep-space-1);
  padding: 0;
  border: 0;
}

.woosb-wrap .woosb-products .woosb-product > div {
  padding: 0;
}

.woosb-wrap .woosb-products .woosb-product .woosb-thumb {
  flex: none;
  width: 100%;
  margin-block-end: calc(var(--danbi-ep-space-3) - var(--danbi-ep-space-1));
}

.woosb-wrap .woosb-products .woosb-product .woosb-thumb img {
  width: 100%;
  height: auto;
  border: 1px solid #000;
}

.woosb-wrap .woosb-products .woosb-product .woosb-title,
.woosb-wrap .woosb-products .woosb-product .woosb-price {
  flex: none;
  width: auto;
  margin: 0;
  color: var(--danbi-ep-color-text, #12080a);
  font-size: var(--danbi-ep-font-size-lg);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
  text-align: start;
}

.woosb-wrap .woosb-products .woosb-product .woosb-name a {
  color: inherit;
  text-decoration: none;
}

.woosb-wrap .woosb-products .woosb-product .woosb-name a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

@media (hover: hover) {
  .woosb-wrap .woosb-products .woosb-product:hover .woosb-name a {
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }
}
.woosb-wrap .woosb-products .woosb-product .woosb-title .stock {
  margin-block-start: var(--danbi-ep-space-1);
  color: var(--danbi-ep-color-brand);
  font-size: var(--danbi-ep-font-size-sm, 0.875rem);
}

.woosb-wrap .woosb-products .woosb-product .woosb-title .stock.in-stock {
  display: none;
}

.woosb-wrap .woosb-products .woosb-product .woosb-price del {
  margin-inline-end: 0.4em;
  opacity: 1;
}

.woosb-wrap .woosb-products .woosb-product .woosb-price ins {
  background: none;
  font-weight: inherit;
  text-decoration: none;
}

@media (max-width: 767px) {
  .woosb-wrap .woosb-products .woosb-product .woosb-title,
  .woosb-wrap .woosb-products .woosb-product .woosb-price {
    font-size: var(--danbi-ep-font-size-base);
  }
}
.hero-video {
  --hero-video-zoom: 1.01;
  position: relative;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
  background-color: var(--danbi-ep-color-surface);
}
.hero-video__media {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(var(--hero-video-zoom));
}

.welcome {
  position: relative;
  z-index: 1;
  margin-block-start: var(--danbi-ep-space-12);
  color: var(--danbi-ep-color-brand);
}

.welcome__eyebrow {
  margin: 0 0 var(--danbi-ep-space-2);
  font-size: var(--danbi-ep-font-size-base);
  font-weight: var(--danbi-ep-font-weight-bold);
}

.welcome__title {
  color: var(--danbi-ep-color-brand);
  margin: 0 0 var(--danbi-ep-space-4);
}

.welcome__lead {
  margin: 0;
  font-size: var(--danbi-ep-font-size-lg);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-base);
}

.welcome__links {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: var(--danbi-ep-space-3);
  margin-block-start: var(--danbi-ep-space-6);
}

.welcome__links .welcome__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--danbi-ep-space-2);
  padding: var(--danbi-ep-space-2) var(--danbi-ep-space-4);
  border: 1px solid var(--danbi-ep-color-brand);
  background-color: var(--danbi-ep-color-surface);
  color: var(--danbi-ep-color-brand);
  font-size: var(--danbi-ep-font-size-lg);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
  text-decoration: none;
  transition: background-color 180ms cubic-bezier(0.3, 0, 0.2, 1), color 180ms cubic-bezier(0.3, 0, 0.2, 1);
}

.welcome__link-mark {
  flex: 0 0 auto;
  font-size: 1.15em;
  line-height: 1;
}

@media (hover: hover) {
  .welcome__links .welcome__link:hover {
    background-color: var(--danbi-ep-color-brand);
    color: var(--danbi-ep-color-brand-contrast);
  }
}
.welcome__links .welcome__link:focus-visible {
  background-color: var(--danbi-ep-color-brand);
  color: var(--danbi-ep-color-brand-contrast);
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .welcome__links .welcome__link {
    transition: none;
  }
}
html[data-udm-motion=off] .welcome__links .welcome__link {
  transition: none;
}

@media (max-width: 767px) {
  .welcome__links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--danbi-ep-space-2);
    margin-block-start: var(--danbi-ep-space-4);
  }
  .welcome__links .welcome__link {
    align-items: flex-end;
    align-items: last baseline;
    gap: var(--danbi-ep-space-1);
    padding: 10px var(--danbi-ep-space-3);
    border-radius: var(--danbi-ep-radius-md);
    font-size: var(--danbi-ep-font-size-sm);
  }
}
.welcome__video {
  --welcome-video-gap: var(--danbi-ep-space-2);
  --welcome-video-pull: min(5%, 7vh);
  margin-block-start: calc(var(--welcome-video-gap) - var(--welcome-video-pull));
  margin-block-end: var(--danbi-ep-space-12);
}

.welcome__media {
  display: block;
  width: 100%;
  height: auto;
}

.banner {
  margin-block-end: var(--danbi-ep-space-12);
}

.banner__track {
  display: flex;
  align-items: flex-start;
  gap: var(--danbi-ep-grid-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}

.banner__slide {
  flex: 0 0 100%;
  min-width: 0;
  margin: 0;
}

.banner--slider .banner__slide {
  flex-basis: calc(66.6666666667% - var(--danbi-ep-grid-gap) / 3);
}

.banner__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2;
  object-fit: cover;
  border-radius: var(--danbi-ep-radius-lg);
  -webkit-user-drag: none;
}

.banner__link {
  display: block;
  text-decoration: none;
}

.banner__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: 1px solid var(--danbi-ep-color-brand);
  border-radius: 0;
  background: var(--danbi-ep-color-surface);
  color: var(--danbi-ep-color-brand);
  font-size: var(--danbi-ep-font-size-base);
  line-height: 1;
  cursor: pointer;
}

.banner__nav:is(:hover, :focus) {
  background: var(--danbi-ep-color-surface);
  color: var(--danbi-ep-color-brand);
}

.banner__nav--prev {
  inset-inline-start: var(--danbi-ep-space-2);
}

.banner__nav--next {
  inset-inline-end: var(--danbi-ep-space-2);
}

.banner__nav:disabled {
  cursor: default;
  opacity: 0.35;
}

.banner__nav[hidden] {
  display: none;
}

@media (max-width: 767px) {
  .banner {
    margin-inline: calc(var(--danbi-ep-page-margin) * -1);
    margin-block-end: var(--danbi-ep-space-8);
  }
  .banner:not(.banner--slider) .banner__image {
    border-radius: 0;
  }
  .banner--slider .banner__track {
    gap: 10px;
    padding-inline: var(--danbi-ep-page-margin);
    scroll-padding-inline: var(--danbi-ep-page-margin);
  }
  .banner--slider .banner__slide {
    flex-basis: 88%;
  }
  .banner__nav {
    display: none;
  }
}
.banner--placeholder {
  display: grid;
  place-items: center;
  aspect-ratio: 2;
  border-radius: var(--danbi-ep-radius-lg);
  background: rgba(18, 8, 10, 0.06);
}

.banner__placeholder-label {
  font-weight: var(--danbi-ep-font-weight-bold);
  opacity: 0.55;
}

.toc {
  --toc-spy-offset: 50vh;
}

.toc {
  --toc-color-ink: var(--danbi-ep-color-text, #12080a);
  --toc-color-current: var(--danbi-ep-color-brand);
  --toc-bar-height: 2.2rem;
  --toc-gap: var(--danbi-ep-space-3);
  --toc-list-height: auto;
  --toc-font-size: 1.25rem;
  --toc-arrow-room: 1.4em;
  --toc-toggle-size: 1.5rem;
  --toc-duration: 0.2s;
  --toc-bg: var(--danbi-ep-color-surface-accent);
  --toc-radius: var(--danbi-ep-radius-lg);
  --toc-pad-x: var(--danbi-ep-space-4);
  --toc-pad-y: var(--danbi-ep-space-4);
  --toc-safe-end: var(--danbi-ep-grid-gap);
  --toc-column-width: var(--toc-width, calc((100vw - var(--danbi-ep-page-margin) * 2 - var(--danbi-ep-grid-gap) * 11) / 12 * 3 + var(--danbi-ep-grid-gap) * 2));
  position: fixed;
  top: 50%;
  left: var(--toc-left, var(--danbi-ep-page-margin));
  transform: translateY(calc(-50% + var(--toc-shift, 0px)));
  display: block;
  width: fit-content;
  max-width: calc(var(--toc-column-width) + var(--toc-pad-x) - var(--toc-safe-end));
  margin-inline-start: calc(var(--toc-pad-x) * -1);
  padding-block: var(--toc-pad-y);
  padding-inline: var(--toc-pad-x) calc(var(--toc-pad-x) + var(--toc-arrow-room));
  background-color: var(--toc-bg);
  border-radius: var(--toc-radius);
  corner-shape: squircle;
  z-index: 1;
  font-family: var(--danbi-ep-font-sans);
}

.toc__inner {
  position: relative;
}

.toc__list {
  display: flex;
  flex-direction: column;
  gap: var(--toc-gap);
  margin: 0;
  padding: 0;
  list-style: none;
  height: var(--toc-list-height);
  overflow: hidden;
  transition: height var(--toc-duration) ease-in-out;
  padding-inline-end: var(--toc-arrow-room);
  margin-inline-end: calc(var(--toc-arrow-room) * -1);
}

.toc__item {
  transition: height 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

.toc__link {
  position: relative;
  display: inline-block;
  font-size: var(--toc-font-size);
  font-weight: 600;
  text-decoration: none;
  color: var(--toc-color-ink);
}

.toc__item--current .toc__link,
.toc__link:focus-visible {
  color: var(--toc-color-current);
}

@media (hover: hover) {
  .toc__link:hover {
    color: var(--toc-color-current);
  }
}
.toc__item--current .toc__link::after {
  position: absolute;
  top: 0;
  left: 100%;
  margin-inline-start: 0.3em;
  content: "→";
  content: "→"/"";
}

.toc[data-state=collapsed] {
  cursor: pointer;
}

.toc[data-state=collapsed] .toc__list {
  gap: 0;
  height: var(--toc-bar-height);
  pointer-events: none;
}

.toc[data-state=collapsed] .toc__item {
  height: 0;
  opacity: 0;
  overflow: hidden;
}

.toc[data-state=collapsed] .toc__item--current {
  height: var(--toc-bar-height);
  opacity: 1;
  display: flex;
  align-items: center;
}

.toc[data-state=collapsed] .toc__item--current .toc__link {
  display: block;
  max-width: 90%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.toc[data-state=collapsed] .toc__item--current .toc__link::after {
  content: none;
}

.toc__toggle {
  position: absolute;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--toc-toggle-size);
  height: var(--toc-toggle-size);
  padding: 0;
  border: 0;
  background: none;
  color: var(--toc-color-current);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: top var(--toc-duration) ease, opacity var(--toc-duration) ease, transform var(--toc-duration) ease;
}

.toc[data-state=intro] .toc__toggle {
  top: 0;
  opacity: 0;
  pointer-events: none;
}

.toc[data-state=collapsed] .toc__toggle {
  top: 50%;
  transform: translateY(-50%);
  opacity: 1;
}

.toc[data-state=expanded] .toc__toggle {
  top: 0;
  transform: none;
  opacity: 1;
}

.toc .toc__toggle:hover,
.toc .toc__toggle:focus,
.toc .toc__toggle:active {
  background: none;
  color: var(--toc-color-current);
}

.toc__arrow {
  position: absolute;
  font-size: var(--toc-font-size);
  font-weight: 600;
  line-height: 1;
  transition: opacity var(--toc-duration) ease;
}

.toc__arrow--down::before {
  content: "↓";
  content: "↓"/"";
}

.toc__arrow--up::before {
  content: "↑";
  content: "↑"/"";
}

.toc[data-state=expanded] .toc__arrow--down,
.toc:not([data-state=expanded]) .toc__arrow--up {
  opacity: 0;
}

.toc.toc--measuring .toc__list,
.toc.toc--measuring .toc__item,
.toc.toc--measuring .toc__toggle {
  transition: none;
}

.toc.toc--measuring .toc__list {
  gap: var(--toc-gap);
  height: auto;
}

.toc.toc--measuring .toc__item {
  height: auto;
  opacity: 1;
}

@media (max-width: 1023px) {
  .toc {
    --toc-font-size: 1rem;
    --toc-bar-height: 1.75rem;
    --toc-gap: var(--danbi-ep-space-2);
    --toc-pad-x: var(--danbi-ep-space-3);
    --toc-pad-y: var(--danbi-ep-space-2);
    --toc-toggle-size: 1.25rem;
    top: max(var(--danbi-ep-page-margin), var(--toc-top, 8.25rem));
    right: var(--danbi-ep-page-margin);
    left: var(--danbi-ep-page-margin);
    transform: none;
    width: auto;
    max-width: none;
    margin-inline-start: 0;
    transition: opacity var(--toc-duration) ease, visibility var(--toc-duration);
    z-index: 40;
  }
  .toc[data-state=intro] {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  .toc[data-state=expanded] .toc__list {
    max-height: 55vh;
    overflow-y: auto;
  }
  .layout:has(.headbar--open) .toc {
    display: none;
  }
  .toc-target {
    scroll-margin-block-start: 210px;
  }
}
@media (max-width: 767px) {
  .toc {
    --toc-font-size: 14px;
    --toc-bar-height: 1.5rem;
    --toc-gap: 4px;
    --toc-arrow-room: 0px;
  }
  .toc__item--current .toc__link::after {
    content: none;
  }
}
@media (min-width: 1024px) {
  .toc {
    --toc-dim: 0.35;
    --toc-gap: var(--danbi-ep-space-1);
    max-width: calc(var(--toc-column-width) - var(--toc-safe-end));
    margin-inline-start: 0;
    padding: 0;
    border-radius: 0;
    background: none;
  }
  .toc[data-state] {
    cursor: auto;
  }
  .toc[data-state] .toc__list {
    gap: var(--toc-gap);
    height: auto;
    margin-inline-end: 0;
    padding-inline-end: 0;
    overflow: visible;
    pointer-events: auto;
  }
  .toc[data-state] .toc__item {
    display: block;
    height: auto;
    overflow: visible;
    opacity: 1;
  }
  .toc[data-state] .toc__item .toc__link {
    display: inline-block;
    max-width: none;
    overflow: visible;
    color: var(--toc-color-current);
    white-space: normal;
    opacity: var(--toc-dim);
    transition: opacity var(--toc-duration) ease;
  }
  .toc[data-state] .toc__item--current .toc__link,
  .toc[data-state] .toc__item .toc__link:focus-visible {
    opacity: 1;
  }
}
@media (min-width: 1024px) and (hover: hover) {
  .toc[data-state] .toc__item .toc__link:hover {
    opacity: 1;
  }
}
@media (min-width: 1024px) {
  .toc[data-state] .toc__item--current .toc__link::after {
    content: none;
  }
  .toc[data-state] .toc__toggle {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .toc__list,
  html:not([data-udm-motion=on]) .toc__item,
  html:not([data-udm-motion=on]) .toc__toggle,
  html:not([data-udm-motion=on]) .toc__arrow {
    transition: none;
  }
}
html[data-udm-motion=off] .toc__list,
html[data-udm-motion=off] .toc__item,
html[data-udm-motion=off] .toc__toggle,
html[data-udm-motion=off] .toc__arrow {
  transition: none;
}

.toc-target {
  scroll-margin-block-start: var(--danbi-ep-space-8);
}

.footer {
  --footer-color-surface: var(--danbi-ep-color-ink, #000);
  --footer-color-text: var(--danbi-ep-color-brand-contrast);
  background: var(--footer-color-surface);
  color: var(--footer-color-text);
  font-size: var(--danbi-ep-font-size-sm);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-base);
  padding-block-start: var(--danbi-ep-page-margin);
}
.footer p {
  margin: 0;
}
.footer a {
  color: inherit;
  text-decoration: none;
}
.footer a:focus-visible {
  text-decoration: underline;
}
@media (hover: hover) {
  .footer a:hover {
    text-decoration: underline;
  }
}

.footer > .layout {
  row-gap: var(--danbi-ep-space-8);
}

.footer__legal,
.footer__brand,
.footer__hours,
.footer__contact,
.footer__logo {
  grid-column: 1/-1;
}

.footer__legal {
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-8);
}

.footer__links {
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-1);
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer__link-icon {
  display: inline-block;
  width: 1.15em;
  height: 1.15em;
  margin-inline-start: 0.1em;
  vertical-align: -0.2em;
}
.footer__link-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.footer__brand,
.footer__hours {
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-3);
}

.footer__contact {
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer__label {
  margin-inline-end: 0.4em;
}

body:has(.udm) .footer {
  padding-block-end: var(--danbi-ep-udm-clearance, 0px);
}

.footer__logo {
  margin-block-start: var(--danbi-ep-space-8);
}
.footer__logo svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}
.footer__logo svg > g {
  clip-path: none;
}

.footer__logo svg > g > path {
  --logo-hop: -9%;
  --logo-tilt: -4deg;
  transform-box: fill-box;
  transform-origin: 50% 100%;
  animation: footer-logo-hop var(--logo-cycle, 6s) var(--logo-delay, 0s) infinite both;
}

.footer__logo svg > g > path:nth-of-type(1) {
  --logo-cycle: 6.4s;
  --logo-delay: 2.9s;
  --logo-hop: -7%;
  --logo-tilt: -2deg;
}

.footer__logo svg > g > path:nth-of-type(2) {
  --logo-cycle: 5.8s;
  --logo-delay: 0.3s;
  --logo-hop: -10%;
  --logo-tilt: -5deg;
}

.footer__logo svg > g > path:nth-of-type(3) {
  --logo-cycle: 4.9s;
  --logo-delay: 4.1s;
  --logo-hop: -11%;
  --logo-tilt: 6deg;
}

.footer__logo svg > g > path:nth-of-type(4) {
  --logo-cycle: 7.1s;
  --logo-delay: 1.6s;
  --logo-hop: -12%;
  --logo-tilt: 3deg;
}

@keyframes footer-logo-hop {
  0%, 72%, 100% {
    transform: none;
    animation-timing-function: cubic-bezier(0.3, 0, 0.4, 1);
  }
  78% {
    transform: scale(1.05, 0.92);
    animation-timing-function: cubic-bezier(0.2, 0.8, 0.3, 1);
  }
  85% {
    transform: translateY(var(--logo-hop)) rotate(var(--logo-tilt)) scale(0.97, 1.05);
    animation-timing-function: cubic-bezier(0.6, 0, 0.9, 0.5);
  }
  90% {
    transform: scale(1.06, 0.91);
    animation-timing-function: cubic-bezier(0.3, 1.6, 0.5, 1);
  }
  95% {
    transform: rotate(calc(var(--logo-tilt) * -0.4)) scale(0.99, 1.02);
    animation-timing-function: ease-out;
  }
}
@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .footer__logo svg > g > path {
    animation: none;
  }
}
html[data-udm-motion=off] .footer__logo svg > g > path {
  animation: none;
}

@media (max-width: 767px) {
  .footer {
    font-size: 12px;
  }
  .footer > .layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--danbi-ep-space-6) var(--danbi-ep-grid-gap);
  }
  .footer__legal,
  .footer__contact {
    grid-column: auto;
  }
  .footer__brand {
    order: 1;
  }
  .footer__hours {
    order: 2;
    padding-block: var(--danbi-ep-space-4);
    border-block: 1px solid color-mix(in srgb, var(--footer-color-text) 30%, transparent);
  }
  .footer__legal {
    order: 3;
    gap: var(--danbi-ep-space-3);
  }
  .footer__contact {
    order: 4;
    overflow-wrap: anywhere;
  }
  .footer__logo {
    order: 5;
    margin-block-start: 0;
  }
}
@media (min-width: 768px) {
  .footer__legal,
  .footer__brand,
  .footer__hours,
  .footer__contact {
    grid-column: span 6;
  }
}
@media (min-width: 1024px) {
  .footer {
    font-size: 1.125rem;
  }
  .footer__legal,
  .footer__brand,
  .footer__hours,
  .footer__contact {
    grid-column: span 3;
  }
}
.wp-block-woocommerce-cart {
  --cart-color-ink: var(--danbi-ep-color-text, #12080a);
  --cart-color-line: var(--danbi-ep-color-border, rgba(18, 8, 10, 0.16));
  --wc-separator-color: var(--cart-color-line);
  --cart-font-size-head: var(--danbi-ep-font-size-lg);
  --cart-font-size-item: var(--danbi-ep-font-size-xl);
  --cart-font-size-row: var(--danbi-ep-font-size-lg);
  --cart-font-size-total: var(--danbi-ep-font-size-2xl);
  --cart-image-width: 32%;
  color: var(--cart-color-ink);
}

.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
  font-family: var(--danbi-ep-font-display);
  font-size: var(--cart-font-size-item);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
  color: var(--danbi-ep-color-brand);
}

@media (hover: hover) {
  .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name:hover {
    color: color-mix(in srgb, var(--danbi-ep-color-brand) 80%, #000);
  }
}
.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices {
  font-family: var(--danbi-ep-font-display);
  font-size: var(--cart-font-size-item);
  color: var(--danbi-ep-color-brand);
}

.wp-block-woocommerce-cart .wc-block-cart .wc-block-cart__sidebar {
  padding: var(--danbi-ep-space-6);
  border-radius: var(--danbi-ep-radius-md);
  background-color: var(--danbi-ep-color-brand);
  color: var(--danbi-ep-color-brand-contrast);
  --wc-separator-color: color-mix(
  	in srgb,
  	var(--danbi-ep-color-brand-contrast) 35%,
  	transparent
  );
}

.wp-block-woocommerce-cart .wc-block-cart .wc-block-cart__totals-title {
  font-family: var(--danbi-ep-font-display);
  font-size: var(--cart-font-size-item);
  font-weight: var(--danbi-ep-font-weight-bold);
  letter-spacing: normal;
  color: var(--danbi-ep-color-brand-contrast);
  text-transform: none;
}

.wp-block-woocommerce-cart .wc-block-cart .wc-block-components-totals-item__label,
.wp-block-woocommerce-cart .wc-block-cart .wc-block-components-totals-item__value {
  font-size: var(--cart-font-size-row);
  color: var(--danbi-ep-color-brand-contrast);
}

.wp-block-woocommerce-cart .wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wp-block-woocommerce-cart .wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-family: var(--danbi-ep-font-display);
  font-size: var(--cart-font-size-total);
  font-weight: var(--danbi-ep-font-weight-bold);
  color: var(--danbi-ep-color-brand-contrast);
}

.wp-block-woocommerce-cart .wc-block-cart__submit-button {
  font-family: var(--danbi-ep-font-display);
  font-size: var(--danbi-ep-font-size-lg);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
  color: var(--danbi-ep-color-brand);
  background-color: var(--danbi-ep-color-brand-contrast);
  border: 0;
  border-radius: var(--danbi-ep-radius-sm);
  padding-block: var(--danbi-ep-space-3);
}

.wp-block-woocommerce-cart .wc-block-cart__submit-button:focus-visible {
  color: var(--danbi-ep-color-brand);
  background-color: color-mix(in srgb, var(--danbi-ep-color-brand-contrast) 88%, var(--danbi-ep-color-brand));
}

@media (hover: hover) {
  .wp-block-woocommerce-cart .wc-block-cart__submit-button:hover {
    color: var(--danbi-ep-color-brand);
    background-color: color-mix(in srgb, var(--danbi-ep-color-brand-contrast) 88%, var(--danbi-ep-color-brand));
  }
}
.wp-block-woocommerce-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block,
.wp-block-woocommerce-cart .wp-block-woocommerce-cart-express-payment-block,
.wp-block-woocommerce-cart .wp-block-woocommerce-cart-accepted-payment-methods-block {
  display: none;
}

.wp-block-woocommerce-cart .wp-block-woocommerce-cart-order-summary-totals-block {
  display: none;
}

.wp-block-woocommerce-cart .wc-block-components-product-metadata__description {
  display: none;
}

.wp-block-woocommerce-cart .wc-block-cart-items__header-total,
.wp-block-woocommerce-cart .wc-block-cart-item__total {
  display: none;
}

.wp-block-woocommerce-cart .wp-block-woocommerce-cart-order-summary-block {
  display: flex;
  flex-direction: column;
}

.wp-block-woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-wrapper {
  order: 2;
}

.wp-block-woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-wrapper.slot-wrapper {
  order: 1;
}

.wp-block-woocommerce-cart .wc-block-cart__main .wc-block-cart-items .wc-block-cart-item__image {
  width: var(--cart-image-width);
}

.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__header {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.wp-block-woocommerce-cart .wc-block-cart {
  --cart-qty-size: 2.5rem;
  --cart-qty-ink: var(--danbi-ep-color-brand);
  --cart-qty-bg: color-mix(in srgb, var(--danbi-ep-color-brand) 12%, var(--danbi-ep-color-surface));
}

.wp-block-woocommerce-cart .wc-block-cart .wc-block-cart-item__quantity {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--danbi-ep-space-2);
}

.wp-block-woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector {
  display: flex;
  gap: var(--danbi-ep-space-2);
  width: auto;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}

.wp-block-woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button,
.wp-block-woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input,
.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
  box-sizing: border-box;
  width: var(--cart-qty-size);
  min-width: 0;
  height: var(--cart-qty-size);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background-color: var(--cart-qty-bg);
  box-shadow: inset 0 0 0 1px var(--cart-qty-ink);
  color: var(--cart-qty-ink);
  opacity: 1;
  transition: background-color 180ms cubic-bezier(0.3, 0, 0.2, 1), color 180ms cubic-bezier(0.3, 0, 0.2, 1);
}

.wp-block-woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
  width: 3em;
  font-family: var(--danbi-ep-font-sans);
  font-size: var(--danbi-ep-font-size-base);
  font-weight: 600;
  text-align: center;
}

.wp-block-woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input:focus {
  box-shadow: inset 0 0 0 1px var(--cart-qty-ink);
  outline: 2px solid var(--cart-qty-ink);
  outline-offset: 1px;
}

.wp-block-woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
  --cart-qty-line: var(--cart-qty-ink);
  background-image: linear-gradient(var(--cart-qty-line), var(--cart-qty-line)), linear-gradient(var(--cart-qty-line), var(--cart-qty-line));
  background-position: center;
  background-repeat: no-repeat;
  background-size: 0.75rem 1px, 1px 0.75rem;
  font-size: 0;
  cursor: pointer;
}

.wp-block-woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button--minus {
  background-size: 0.75rem 1px, 0 0;
}

.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  padding-inline: var(--danbi-ep-space-3);
  font-family: var(--danbi-ep-font-sans);
  font-size: var(--danbi-ep-font-size-sm);
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  cursor: pointer;
}
.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link svg {
  display: none;
}
.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link::before {
  content: "삭제하기";
}

.wp-block-woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:focus-visible,
.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link:focus-visible {
  --cart-qty-line: var(--danbi-ep-color-brand-contrast);
  background-color: var(--cart-qty-ink);
  box-shadow: inset 0 0 0 1px var(--cart-qty-ink);
  color: var(--danbi-ep-color-brand-contrast);
  outline: none;
}

@media (hover: hover) {
  .wp-block-woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover,
  .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link:hover {
    --cart-qty-line: var(--danbi-ep-color-brand-contrast);
    background-color: var(--cart-qty-ink);
    box-shadow: inset 0 0 0 1px var(--cart-qty-ink);
    color: var(--danbi-ep-color-brand-contrast);
    outline: none;
  }
}
.wp-block-woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:disabled,
.wp-block-woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:disabled:hover {
  --cart-qty-line: var(--cart-qty-ink);
  background-color: var(--cart-qty-bg);
  cursor: default;
  opacity: 0.3;
}

@media (hover: none) {
  .wp-block-woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover:not(:focus-visible),
  .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link:hover:not(:focus-visible) {
    --cart-qty-line: var(--cart-qty-ink);
    background-color: var(--cart-qty-bg);
    color: var(--cart-qty-ink);
  }
}
@media (prefers-reduced-motion: reduce) {
  .wp-block-woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button,
  .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
    transition: none;
  }
}
.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: 100%;
}

.wp-block-woocommerce-cart .wc-block-cart .wc-block-cart-item__quantity {
  margin-top: auto;
  padding-top: var(--danbi-ep-space-3);
}

@container (min-width: 700px) {
  .wp-block-woocommerce-cart table.wc-block-cart-items,
  .wp-block-woocommerce-cart table.wc-block-cart-items tbody {
    display: block;
  }
  .wp-block-woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row {
    display: grid;
    grid-template-columns: var(--cart-image-width) minmax(0, 1fr);
  }
  .wp-block-woocommerce-cart .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image {
    width: auto;
  }
}
.wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .section__message {
  margin: 0;
  font-family: var(--danbi-ep-font-display);
  font-size: var(--cart-font-size-item);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
  color: var(--cart-color-ink);
  text-align: center;
}

.wp-block-woocommerce-cart .wc-block-cart__empty-cart__title {
  font-family: var(--danbi-ep-font-display);
  font-size: var(--danbi-ep-font-size-lg);
  font-weight: var(--danbi-ep-font-weight-bold);
  color: var(--cart-color-ink);
}

@media (max-width: 767px) {
  .wp-block-woocommerce-cart .wc-block-cart {
    --cart-qty-size: 2.25rem;
  }
  .wp-block-woocommerce-cart .wc-block-cart .wc-block-cart-item__quantity,
  .wp-block-woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector {
    gap: 6px;
  }
  .wp-block-woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
    width: 2.75em;
  }
  .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
    padding-inline: var(--danbi-ep-space-2);
  }
}
@media (max-width: 767px) {
  .wp-block-woocommerce-cart {
    --cart-font-size-head: var(--danbi-ep-font-size-base);
    --cart-font-size-item: var(--danbi-ep-font-size-lg);
    --cart-font-size-row: var(--danbi-ep-font-size-base);
    --cart-font-size-total: 1.25rem;
  }
  .wp-block-woocommerce-cart .wc-block-cart .wc-block-cart__sidebar {
    padding: var(--danbi-ep-page-margin);
  }
  .wp-block-woocommerce-cart .wc-block-cart__submit-button {
    font-size: var(--danbi-ep-font-size-base);
  }
  .wp-block-woocommerce-cart,
  .wp-block-woocommerce-cart .wc-block-cart,
  .wp-block-woocommerce-cart .wc-block-components-sidebar-layout {
    margin-bottom: 0;
  }
  .wp-block-woocommerce-cart .wc-block-cart .wc-block-cart__submit {
    margin-bottom: 0;
  }
  .wp-block-woocommerce-cart .wc-block-cart .wc-block-components-totals-wrapper {
    padding-block: 10px;
  }
  .wp-block-woocommerce-cart .wc-block-cart .danbi-ep-summary {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-block: 0;
  }
  .wp-block-woocommerce-cart .wc-block-cart .danbi-ep-summary .danbi-ep-summary-row {
    padding-block: 0;
  }
  .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
    font-size: 12px;
  }
}
@container (max-width: 699px) {
  .wp-block-woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row {
    grid-template-columns: 35% minmax(0, 1fr);
    column-gap: var(--danbi-ep-space-3);
  }
  .wp-block-woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image {
    width: auto;
    padding-right: 0;
  }
  .wp-block-woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product {
    grid-column: 2/-1;
  }
}
body.page .site-main > .section:first-child > .section__inner > .gb-text {
  margin: 0;
  font-family: var(--danbi-ep-font-display);
  font-size: var(--danbi-ep-font-size-title);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
  color: var(--danbi-ep-color-brand);
}

body.page:has(.amem-form-type-login, .amem-form-type-registration) .site-main > .section:first-child > .section__inner > .gb-text {
  text-align: center;
}

.shop-cta {
  --shop-cta-padding: var(--danbi-ep-space-8);
  --shop-cta-min-height: 18rem;
  --shop-cta-font-weight: 600;
  --shop-cta-title-size: var(--danbi-ep-font-size-2xl);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--danbi-ep-grid-gap);
  margin-block-start: var(--danbi-ep-space-12);
}

.shop-cta .shop-cta__card {
  display: flex;
  flex-direction: column;
  min-height: var(--shop-cta-min-height);
  padding: var(--shop-cta-padding);
  border-radius: var(--danbi-ep-radius-lg);
  background-color: var(--danbi-ep-color-surface-accent);
  color: var(--danbi-ep-color-text, #12080a);
  text-decoration: none;
  transition: background-color 220ms cubic-bezier(0.3, 0, 0.2, 1), color 220ms cubic-bezier(0.3, 0, 0.2, 1);
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .shop-cta .shop-cta__card {
    transition: none;
  }
}
html[data-udm-motion=off] .shop-cta .shop-cta__card {
  transition: none;
}

.shop-cta--brand .shop-cta__card {
  background-color: var(--danbi-ep-color-brand);
  color: var(--danbi-ep-color-brand-contrast);
}

.shop-cta__title {
  margin: 0 0 var(--danbi-ep-space-3);
  font-family: var(--danbi-ep-font-sans);
  font-size: var(--shop-cta-title-size);
  font-weight: var(--shop-cta-font-weight);
  line-height: var(--danbi-ep-line-height-tight);
  color: inherit;
}

.shop-cta__text {
  margin: 0;
  font-family: var(--danbi-ep-font-sans);
  font-size: var(--danbi-ep-font-size-base);
  font-weight: var(--shop-cta-font-weight);
  line-height: var(--danbi-ep-line-height-base);
}

.shop-cta__action {
  display: inline-flex;
  align-items: center;
  gap: var(--danbi-ep-space-2);
  margin-block-start: auto;
  padding-block-start: var(--danbi-ep-space-6);
  align-self: flex-end;
  font-family: var(--danbi-ep-font-sans);
  font-size: var(--shop-cta-title-size);
  font-weight: var(--shop-cta-font-weight);
  line-height: var(--danbi-ep-line-height-tight);
}

.shop-cta__arrow {
  font-size: 0.85em;
  line-height: 1;
}

.shop-cta .shop-cta__card:focus-visible {
  background-color: var(--danbi-ep-color-text, #12080a);
  color: var(--danbi-ep-color-brand-contrast);
}

@media (hover: hover) {
  .shop-cta .shop-cta__card:hover {
    background-color: var(--danbi-ep-color-text, #12080a);
    color: var(--danbi-ep-color-brand-contrast);
  }
}
.shop-cta__panel {
  padding: var(--shop-cta-padding);
  border-radius: var(--danbi-ep-radius-lg);
  background-color: var(--danbi-ep-color-surface-accent);
  color: var(--danbi-ep-color-text, #12080a);
}

.shop-cta__body {
  font-family: var(--danbi-ep-font-sans);
  font-size: var(--danbi-ep-font-size-base);
  font-weight: 500;
  line-height: var(--danbi-ep-line-height-base);
}
.shop-cta__body ul,
.shop-cta__body ol {
  margin: 0;
  padding-inline-start: 1.1em;
}
.shop-cta__body li + li {
  margin-block-start: var(--danbi-ep-space-2);
}
.shop-cta__body p {
  margin: var(--danbi-ep-space-4) 0 0;
}

.shop-cta .shop-cta__body a,
.shop-cta .shop-cta__body a:hover {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

@media (hover: hover) {
  .shop-cta .shop-cta__body a:hover {
    text-decoration-thickness: 2px;
  }
}
@media (min-width: 768px) {
  .shop-cta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .shop-cta--links {
    --shop-cta-padding: 13px;
    --shop-cta-min-height: 11rem;
    --shop-cta-title-size: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--danbi-ep-page-margin);
  }
  .shop-cta--links .shop-cta__text {
    font-size: 12px;
  }
  .shop-cta--links .shop-cta__action {
    padding-block-start: var(--danbi-ep-space-4);
  }
}
@media (max-width: 767px) {
  .shop-cta.product-policy {
    --shop-cta-padding: 15px;
    --shop-cta-title-size: 16px;
    gap: var(--danbi-ep-page-margin);
  }
  .product-policy .shop-cta__title {
    margin-block-end: var(--danbi-ep-space-2);
  }
  .product-policy .shop-cta__body {
    font-size: 12px;
  }
  .product-policy .shop-cta__body li + li {
    margin-block-start: var(--danbi-ep-space-1);
  }
  .product-policy .shop-cta__body p {
    margin-block-start: var(--danbi-ep-space-2);
  }
}
.udm {
  --udm-unit: 1rem;
  --udm-brick-width: calc(var(--udm-unit) * 7.5);
  --udm-brick-height: calc(var(--udm-unit) * 4.25);
  --udm-piece-height: calc(var(--udm-unit) * 2.25);
  --udm-stud-height: calc(var(--udm-unit) * 0.8);
  --udm-stud-width: calc(var(--udm-unit) * 1.9);
  --udm-color-brand: var(--danbi-ep-color-brand);
  --udm-color-gray: #a9a9a9;
  --udm-color-sky: #a9cddc;
  --udm-color-sand: var(--danbi-ep-color-surface-accent);
  --udm-color-ink: #333333;
  --udm-drop-distance: -110vh;
  --udm-fall: 620ms;
  --udm-step: 90ms;
  position: fixed;
  inset-block-end: 0;
  inset-inline-start: 0;
  z-index: 50;
}

.udm__button {
  display: flex;
  align-items: flex-end;
  gap: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  overflow: visible;
}

.udm__button:is(:hover, :focus) {
  background: transparent;
}

.udm__stack {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 0;
}

.udm__brick {
  position: relative;
  width: var(--udm-brick-width);
  height: var(--udm-piece-height);
  background-color: var(--udm-brick-color, var(--udm-color-gray));
  animation: udm-drop var(--udm-fall) backwards;
  animation-delay: calc(var(--udm-order, 0) * var(--udm-step));
  transform-origin: 50% 100%;
  z-index: var(--udm-order, 0);
}

.udm__brick::before,
.udm__brick::after {
  content: "";
  position: absolute;
  inset-block-end: 100%;
  width: var(--udm-stud-width);
  height: var(--udm-stud-height);
  background-color: inherit;
}

.udm__brick::before {
  inset-inline-start: calc(var(--udm-unit) * 0.9);
}

.udm__brick::after {
  inset-inline-end: calc(var(--udm-unit) * 0.9);
}

.udm__brick--tall {
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--udm-brick-height);
  font-family: var(--danbi-ep-font-display);
  font-size: calc(var(--udm-unit) * 1.5);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: 1;
  color: var(--danbi-ep-color-brand-contrast);
  padding-block-start: calc(var(--udm-unit) * 0.35);
}

.udm__brick--brand {
  --udm-brick-color: var(--udm-color-brand);
}

.udm__brick--gray {
  --udm-brick-color: var(--udm-color-gray);
}

.udm__brick--sky {
  --udm-brick-color: var(--udm-color-sky);
}

.udm__brick--sand {
  --udm-brick-color: var(--udm-color-sand);
}

.udm__brick--ink {
  --udm-brick-color: var(--udm-color-ink);
}

@keyframes udm-drop {
  0% {
    transform: translate3d(0, var(--udm-drop-distance), 0);
    animation-timing-function: cubic-bezier(0.11, 0, 0.5, 0);
  }
  62% {
    transform: translate3d(0, 0, 0) scaleY(1);
    animation-timing-function: cubic-bezier(0.3, 0, 0.2, 1);
  }
  74% {
    transform: translate3d(0, 0, 0) scaleY(0.82);
    animation-timing-function: cubic-bezier(0.3, 0, 0.2, 1);
  }
  88% {
    transform: translate3d(0, 0, 0) scaleY(1.06);
    animation-timing-function: cubic-bezier(0.3, 0, 0.2, 1);
  }
  100% {
    transform: translate3d(0, 0, 0) scaleY(1);
  }
}
.udm__brick::before,
.udm__brick::after {
  transform-origin: 50% 100%;
}

@media (hover: hover) {
  .udm__button:hover .udm__brick--tall {
    transform: translate3d(0, calc(var(--udm-unit) * -0.15), 0);
  }
}
.udm__button:active .udm__brick--tall {
  transform: translate3d(0, calc(var(--udm-unit) * 0.1), 0);
}

.udm__brick--tall {
  transition: transform 140ms cubic-bezier(0.3, 0, 0.2, 1);
}

.udm__button:focus-visible {
  outline: 3px solid var(--danbi-ep-color-brand);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .udm__brick {
    animation: none;
    transform: none;
  }
  html:not([data-udm-motion=on]) .udm__brick--tall {
    transition: none;
  }
  html:not([data-udm-motion=on]) .udm__button:hover .udm__brick--tall,
  html:not([data-udm-motion=on]) .udm__button:active .udm__brick--tall {
    transform: none;
  }
}
html[data-udm-motion=off] .udm__brick {
  animation: none;
  transform: none;
}
html[data-udm-motion=off] .udm__brick--tall {
  transition: none;
}
html[data-udm-motion=off] .udm__button:hover .udm__brick--tall,
html[data-udm-motion=off] .udm__button:active .udm__brick--tall {
  transform: none;
}

.udm--settled .udm__brick {
  animation: none;
}

:root {
  --danbi-ep-udm-clearance: calc(1rem * 9.55);
}

@media (max-width: 767px) {
  :root {
    --danbi-ep-udm-clearance: calc(0.75rem * 5.05);
  }
}
.udm__stack--compact {
  display: none;
}

@media (max-width: 767px) {
  .udm {
    --udm-unit: 0.75rem;
  }
  .udm__stack {
    display: none;
  }
  .udm__stack--compact {
    display: flex;
  }
  .udm__stack--compact .udm__brick--tall {
    width: auto;
    font-size: 1rem;
    padding-inline: calc(var(--udm-unit) * 1.1);
    color: var(--danbi-ep-color-text, #12080a);
    white-space: nowrap;
  }
  .udm[data-udm-palette="0"] .udm__stack--compact .udm__brick {
    --udm-brick-color: var(--udm-color-sand);
  }
  .udm[data-udm-palette="1"] .udm__stack--compact .udm__brick {
    --udm-brick-color: var(--udm-color-sky);
  }
  .udm[data-udm-palette="2"] .udm__stack--compact .udm__brick {
    --udm-brick-color: var(--udm-color-brand);
  }
}
.udm__panel {
  position: fixed;
  inset: 0;
  display: flex;
  flex-direction: column;
  z-index: 10;
  background-color: color-mix(in srgb, var(--danbi-ep-color-surface) 78%, transparent);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  background-image: var(--udm-panel-art, none);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  --udm-option-stud-height: calc(var(--udm-unit) * 2);
  overflow-y: auto;
  overscroll-behavior: contain;
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .udm__panel {
    background-color: var(--danbi-ep-color-surface);
  }
}
.udm__panel[hidden] {
  display: none;
}

.udm__panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--danbi-ep-space-6);
  padding: var(--danbi-ep-page-margin);
}

.udm__panel-title {
  margin: 0;
  font-family: var(--danbi-ep-font-display);
  font-size: var(--danbi-ep-font-size-h1);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
  color: var(--danbi-ep-color-text, #12080a);
}

.udm__close {
  display: inline-flex;
  align-items: center;
  gap: 0.3em;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-family: var(--danbi-ep-font-display);
  font-size: var(--danbi-ep-font-size-h1);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
  color: var(--danbi-ep-color-text, #12080a);
}

.udm__close-mark {
  flex: none;
  width: 0.8em;
  height: 0.8em;
}

.udm__close:focus-visible {
  outline: 3px solid var(--danbi-ep-color-brand);
  outline-offset: 4px;
}

.udm__close:is(:hover, :focus) {
  background: transparent;
  color: var(--danbi-ep-color-text, #12080a);
}

.udm__options {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin: auto 0 0;
  padding: var(--udm-option-stud-height) 0 0;
  list-style: none;
}

.udm__option-item {
  margin: 0;
  display: flex;
}

.udm__option {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: calc(var(--udm-unit) * 0.4);
  width: 100%;
  min-height: clamp(8rem, (100svh - 12rem) / 3, var(--udm-unit) * 16);
  margin: 0;
  padding: calc(var(--udm-unit) * 1.6) var(--danbi-ep-space-4);
  border: 0;
  cursor: pointer;
  background-color: var(--udm-brick-color, var(--udm-color-gray));
  color: var(--udm-option-ink, var(--danbi-ep-color-brand-contrast));
  text-align: center;
  z-index: calc(3 - var(--udm-row, 0));
}

.udm__option:is(:hover, :focus) {
  background-color: var(--udm-brick-color, var(--udm-color-gray));
  color: var(--udm-option-ink, var(--danbi-ep-color-brand-contrast));
}

.udm__option::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-end: 100%;
  height: var(--udm-option-stud-height);
  background-color: inherit;
  -webkit-mask-image: repeating-linear-gradient(to right, transparent 0 6.5%, #000 6.5% 18.5%, transparent 18.5% 25%);
  mask-image: repeating-linear-gradient(to right, transparent 0 6.5%, #000 6.5% 18.5%, transparent 18.5% 25%);
}

.udm__option-title {
  font-family: var(--danbi-ep-font-display);
  font-size: calc(var(--udm-unit) * 2.4);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: 1.1;
}

.udm__option-text {
  font-size: calc(var(--udm-unit) * 0.95);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: 1.35;
}

.udm__option:focus-visible {
  outline: 3px solid var(--danbi-ep-color-text, #12080a);
  outline-offset: -6px;
}

.udm__option--brick {
  --udm-brick-color: var(--danbi-ep-color-brand);
}

.udm__option--sky {
  --udm-brick-color: var(--udm-color-sky);
  --udm-option-ink: var(--danbi-ep-color-text, #12080a);
}

.udm__option--gold {
  --udm-brick-color: var(--udm-color-sand);
  --udm-option-ink: var(--danbi-ep-color-text, #12080a);
}

.udm__option--brown {
  --udm-brick-color: var(--udm-color-gray);
  --udm-option-ink: var(--danbi-ep-color-text, #12080a);
}

.udm__option--green {
  --udm-brick-color: var(--udm-color-ink);
}

.udm__option--orange {
  --udm-brick-color: var(--danbi-ep-color-brand);
}

.udm__panel {
  animation: udm-panel-in 260ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes udm-panel-in {
  from {
    opacity: 0;
    transform: translate3d(0, calc(var(--udm-unit) * 1.5), 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.udm__option {
  --udm-option-step: 55ms;
  animation: udm-pour 480ms cubic-bezier(0.5, 0, 0.75, 0) backwards;
  animation-delay: calc((4 - 4 * var(--udm-row, 0) + var(--udm-order, 0)) * var(--udm-option-step) + 120ms);
}

@keyframes udm-pour {
  from {
    transform: translate3d(0, var(--udm-drop-distance), 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.udm__panel-head {
  animation: udm-panel-in 320ms cubic-bezier(0.22, 1, 0.36, 1) 60ms both;
}

@media (max-width: 767px) {
  .udm__panel-head {
    align-items: center;
    gap: var(--danbi-ep-space-2);
  }
  .udm__panel-title,
  .udm__close {
    font-size: 1.25rem;
  }
  .udm__panel-title {
    white-space: nowrap;
  }
  html[data-udm-mode=english] .udm__panel-title {
    min-width: 0;
    white-space: normal;
  }
}
@media (max-width: 767px) {
  .udm__options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .udm__option {
    min-height: clamp(5rem, (100svh - 7rem) / 3, 10rem);
    padding: var(--udm-unit) var(--danbi-ep-space-2);
  }
  .udm__option-text {
    display: none;
  }
  .udm__option-title {
    font-family: var(--danbi-ep-font-sans);
    font-weight: var(--danbi-ep-font-weight-bold);
  }
  .udm__panel {
    --udm-option-stud-height: calc(var(--udm-unit) * 1.4);
  }
}
@media (min-width: 768px) {
  .udm__options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .udm__panel-head {
    display: grid;
    flex: 1 0 auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    place-items: center;
    padding-inline: 0;
    padding-block-end: var(--danbi-ep-page-margin);
  }
  .udm__panel-title {
    padding-inline: var(--danbi-ep-space-4);
    text-align: center;
  }
  .udm {
    --udm-panel-unit: 1.25rem;
  }
  .udm__panel {
    --udm-unit: var(--udm-panel-unit);
  }
}
@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .udm__panel,
  html:not([data-udm-motion=on]) .udm__panel-head,
  html:not([data-udm-motion=on]) .udm__option {
    animation: none;
  }
}
html[data-udm-motion=off] .udm__panel,
html[data-udm-motion=off] .udm__panel-head,
html[data-udm-motion=off] .udm__option {
  animation: none;
}

.danbi-ep-udm-open,
.danbi-ep-udm-open body {
  overflow: hidden;
}

html[data-udm-mode=easy] {
  --danbi-ep-font-size-text: 1.3125rem;
  --danbi-ep-font-size-lg: 1.3125rem;
  --danbi-ep-font-size-base: 1.125rem;
  --danbi-ep-line-height-base: 2;
}

@media (max-width: 767px) {
  html[data-udm-mode=easy] {
    --danbi-ep-font-size-text: 1.125rem;
    --danbi-ep-font-size-lg: 1.125rem;
    --danbi-ep-font-size-base: 1.0625rem;
    --danbi-ep-line-height-base: 1.9;
    --danbi-ep-font-size-strong: var(--danbi-ep-font-size-text);
  }
}
html[data-udm-mode=easy] .entry-content > p,
html[data-udm-mode=easy] .entry-content > ul > li,
html[data-udm-mode=easy] .entry-content > ol > li,
html[data-udm-mode=easy] .about-us__lead,
html[data-udm-mode=easy] :is(.product-detail__prose,
.program-detail__prose,
.festival__intro,
.festival__section,
.about-us__block,
.bookstay__section) :is(p, li, dd) {
  max-inline-size: 34ch;
  letter-spacing: 0.02em;
}

html[data-udm-mode=clear] {
  --danbi-ep-color-surface: #ffffff;
  --danbi-ep-color-surface-accent: #ffffff;
  --danbi-ep-color-text: #000000;
  --danbi-ep-color-brand: #8a2e0c;
  --danbi-ep-color-brand-contrast: #ffffff;
  --danbi-ep-color-border: #000000;
  --danbi-ep-color-brand-ink: #8a2e0c;
  --contrast: #000000;
  --contrast-10: #000000;
  --contrast-20: #000000;
  --contrast-30: #595959;
  --accent: #8a2e0c;
  --accent-10: #8a2e0c;
  --accent-20: #8a2e0c;
  --accent--20: #8a2e0c;
  --base: #ffffff;
  --base-10: #ffffff;
  --base-20: #ffffff;
  --base-30: #ffffff;
}

html[data-udm-mode=clear] .entry-content a:not([class]),
html[data-udm-mode=clear] .footer a,
html[data-udm-mode=clear] .festival__text-link {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
html[data-udm-mode=clear] :focus-visible {
  outline: 3px solid var(--danbi-ep-color-text);
  outline-offset: 2px;
}
html[data-udm-mode=clear] .shop-cta .shop-cta__card,
html[data-udm-mode=clear] .shop-cta__panel,
html[data-udm-mode=clear] .program-upcoming__item,
html[data-udm-mode=clear] .program-access__item,
html[data-udm-mode=clear] .festival__access,
html[data-udm-mode=clear] .wishes__notice,
html[data-udm-mode=clear] .toc,
html[data-udm-mode=clear] .product-sort .product-sort__link {
  border: 2px solid var(--danbi-ep-color-text);
}
html[data-udm-mode=clear] .udm,
html[data-udm-mode=clear] .about-us__bricks,
html[data-udm-mode=clear] .program-mark {
  --danbi-ep-color-surface-accent: #f8e6ab;
}

html[data-udm-mode=clear] .headbar__menu a,
html[data-udm-mode=clear] .headbar__menu .sub-menu a {
  color: var(--headbar-color-text);
}
html[data-udm-mode=clear] .headbar__menu :is(.current-menu-item, .current-menu-ancestor, .current-menu-parent) > a,
html[data-udm-mode=clear] .headbar__menu a:focus-visible {
  color: var(--headbar-color-ink);
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media (hover: hover) {
  html[data-udm-mode=clear] .headbar__menu a:hover {
    color: var(--headbar-color-ink);
    text-decoration: underline;
    text-underline-offset: 3px;
  }
}

html[data-udm-mode=clear] .toc {
  --toc-dim: 1;
}
html[data-udm-mode=clear] .toc__item--current .toc__link {
  text-decoration: underline;
  text-underline-offset: 3px;
}

html[data-udm-mode=clear] .about-us__text--todo {
  color: var(--danbi-ep-color-text);
  font-style: italic;
}
html[data-udm-mode=clear] .wishes .wishes__input::placeholder {
  color: color-mix(in srgb, var(--danbi-ep-color-text) 65%, var(--danbi-ep-color-surface));
}
html[data-udm-mode=clear] .about-us__brick--gray,
html[data-udm-mode=clear] .about-us__brick--tan,
html[data-udm-mode=clear] .about-us__brick--green {
  --brick-text: var(--danbi-ep-color-text);
}
html[data-udm-mode=clear] .udm__option--sky,
html[data-udm-mode=clear] .udm__option--gold,
html[data-udm-mode=clear] .udm__option--brown {
  color: var(--danbi-ep-color-text);
}
html[data-udm-mode=clear] .udm__brick--gray {
  color: var(--danbi-ep-color-text);
}
html[data-udm-mode=clear] .udm:not([data-udm-palette="0"]):not([data-udm-palette="1"]) .udm__stack--compact .udm__brick--tall {
  color: var(--danbi-ep-color-brand-contrast);
}

html[data-udm-mode=visual] .udm-fold:not(.udm-fold--open) > .udm-fold__item {
  display: none;
}

.udm-fold .udm-fold__toggle {
  display: inline-flex;
  align-items: center;
  margin-block: var(--danbi-ep-space-2) var(--danbi-ep-space-4);
  padding: var(--danbi-ep-space-2) var(--danbi-ep-space-4);
  border: 1px solid currentColor;
  border-radius: 999px;
  background-color: transparent;
  color: inherit;
  font-family: inherit;
  font-size: var(--danbi-ep-font-size-base);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
  cursor: pointer;
}
.udm-fold .udm-fold__toggle:hover, .udm-fold .udm-fold__toggle:focus {
  background-color: transparent;
  color: inherit;
}
.udm-fold .udm-fold__toggle:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 2px;
}

.udm-notice {
  display: none;
}

html[data-udm-mode=english]:not([data-udm-notice=closed]):not([data-udm-en-content]) .udm-notice {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--danbi-ep-space-2) var(--danbi-ep-space-4);
  padding: var(--danbi-ep-space-2) var(--danbi-ep-page-margin);
  background-color: var(--danbi-ep-color-surface-accent);
  color: var(--danbi-ep-color-text);
  font-size: var(--danbi-ep-font-size-base);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
  text-align: center;
}

.udm-notice__text {
  margin: 0;
}

.udm-notice .udm-notice__close {
  display: inline-flex;
  align-items: center;
  gap: var(--danbi-ep-space-1);
  margin: 0;
  padding: var(--danbi-ep-space-1) var(--danbi-ep-space-3);
  border: 1px solid currentColor;
  border-radius: 999px;
  background-color: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}
.udm-notice .udm-notice__close:hover, .udm-notice .udm-notice__close:focus {
  background-color: transparent;
  color: inherit;
}
.udm-notice .udm-notice__close:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 2px;
}

.udm__option-current {
  margin-block-start: calc(var(--udm-unit) * 0.2);
  padding: 0.15em 0.7em;
  border-radius: 999px;
  background-color: var(--danbi-ep-color-surface);
  color: var(--danbi-ep-color-text);
  font-size: calc(var(--udm-unit) * 0.95);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: 1.35;
}

@media (max-width: 767px) {
  .udm__option-current {
    position: absolute;
    inset-block-start: var(--danbi-ep-space-2);
    inset-inline-end: var(--danbi-ep-space-2);
    display: grid;
    place-items: center;
    width: 1.5rem;
    height: 1.5rem;
    margin: 0;
    padding: 0;
    border-radius: 50%;
    overflow: hidden;
    font-size: 0;
  }
  .udm__option-current::before {
    content: "";
    box-sizing: border-box;
    width: 0.375rem;
    height: 0.7rem;
    border: solid currentColor;
    border-width: 0 2px 2px 0;
    transform: translateY(18%) rotate(45deg);
  }
}
.udm__braille {
  position: fixed;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  z-index: 20;
  box-sizing: border-box;
  width: min(100% - var(--danbi-ep-page-margin) * 2, 32rem);
  margin: 0;
  padding: var(--danbi-ep-space-6);
  border: 2px solid var(--danbi-ep-color-text);
  background-color: var(--danbi-ep-color-surface);
  box-shadow: 0 0.75rem 2rem color-mix(in srgb, var(--danbi-ep-color-text) 22%, transparent);
  color: var(--danbi-ep-color-text);
  cursor: pointer;
  transform: translate(-50%, -50%);
  animation: udm-braille-in 0.3s cubic-bezier(0.22, 1, 0.36, 1) both;
  transition: opacity 0.3s ease;
}

.udm__braille.is-leaving {
  opacity: 0;
}

@keyframes udm-braille-in {
  from {
    opacity: 0;
    transform: translate(-50%, calc(-50% + 0.75rem));
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
}
@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .udm__braille {
    animation: none;
    transition: none;
  }
}
html[data-udm-motion=off] .udm__braille {
  animation: none;
  transition: none;
}

.udm__braille-title {
  margin: 0 0 var(--danbi-ep-space-2);
  font-size: var(--danbi-ep-font-size-xl);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

.udm__braille-text {
  margin: 0;
  font-size: var(--danbi-ep-font-size-lg);
  line-height: var(--danbi-ep-line-height-base);
}

.udm .udm__motion {
  --udm-motion-size: 1.1em;
  display: inline-flex;
  align-items: center;
  align-self: flex-end;
  order: 1;
  gap: var(--danbi-ep-space-3);
  margin: 0 var(--danbi-ep-page-margin) calc(var(--danbi-ep-space-4) + var(--udm-option-stud-height));
  padding: 0;
  border: 0;
  background-color: transparent;
  color: var(--danbi-ep-color-text);
  font-family: inherit;
  font-size: var(--danbi-ep-font-size-lg);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
  cursor: pointer;
}
.udm .udm__motion:hover, .udm .udm__motion:focus {
  background-color: transparent;
  color: var(--danbi-ep-color-text);
}
.udm .udm__motion:focus-visible {
  outline: 3px solid var(--danbi-ep-color-text);
  outline-offset: 4px;
}

.udm__motion-track {
  --udm-motion-ink: var(--danbi-ep-color-brand);
  position: relative;
  flex: none;
  box-sizing: border-box;
  width: var(--udm-motion-size);
  height: var(--udm-motion-size);
  border: 1.5px solid var(--udm-motion-ink);
  border-radius: 0;
  background-color: color-mix(in srgb, var(--udm-motion-ink) 11%, var(--danbi-ep-color-surface));
}
.udm__motion-track::after {
  content: "";
  position: absolute;
  inset-block-start: 45%;
  inset-inline-start: 50%;
  box-sizing: border-box;
  width: 32%;
  height: 58%;
  border: solid var(--udm-motion-ink);
  border-width: 0 2px 2px 0;
  opacity: 0;
  transform: translate(-50%, -50%) rotate(45deg);
  transition: opacity 0.15s ease;
}

.udm__motion[aria-pressed=true] .udm__motion-track::after {
  opacity: 1;
}

.udm__panel > .udm__options,
.udm__panel > .udm__braille {
  order: 2;
}

@media (max-width: 767px) {
  .udm .udm__motion {
    position: absolute;
    inset-block-end: var(--danbi-ep-page-margin);
    inset-inline-end: var(--danbi-ep-page-margin);
    z-index: 10;
    --udm-motion-size: 1.1em;
    gap: var(--danbi-ep-space-2);
    margin: 0;
    color: var(--danbi-ep-color-brand-contrast);
    font-size: var(--danbi-ep-font-size-sm);
  }
  .udm .udm__motion:hover, .udm .udm__motion:focus {
    color: var(--danbi-ep-color-brand-contrast);
  }
  .udm .udm__motion:focus-visible {
    outline-color: var(--danbi-ep-color-brand-contrast);
  }
}
@media (min-width: 768px) {
  .udm .udm__motion {
    position: absolute;
    inset-block-start: var(--danbi-ep-page-margin);
    inset-inline-end: var(--danbi-ep-page-margin);
    z-index: 1;
    margin: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .udm__motion-track::after {
    transition: none;
  }
}
html[data-udm-motion=off] .udm__motion-track::after {
  transition: none;
}

.finalists {
  --finalists-weight: 600;
  --finalists-gap: var(--danbi-ep-space-3);
  --finalists-gap-tight: var(--danbi-ep-space-1);
  --finalists-radius-tag: 7px;
}

.finalists__heading {
  margin: 0 0 var(--finalists-gap-tight);
  font-size: var(--danbi-ep-font-size-lg);
  font-weight: var(--finalists-weight);
}

.finalists__lead {
  margin: 0 0 var(--danbi-ep-space-6);
  font-weight: 500;
  line-height: var(--danbi-ep-line-height-base);
}

.finalists__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--danbi-ep-grid-gap);
}

.finalists .finalists__card {
  display: flex;
  flex-direction: column;
  gap: var(--finalists-gap);
  padding: var(--danbi-ep-space-8);
  border-radius: var(--danbi-ep-radius-lg);
  background-color: var(--danbi-ep-color-brand);
  color: var(--danbi-ep-color-brand-contrast);
  font-weight: var(--finalists-weight);
  line-height: var(--danbi-ep-line-height-tight);
  transition: background-color 220ms cubic-bezier(0.3, 0, 0.2, 1);
}

.finalists__tag {
  align-self: flex-start;
  padding: 0.25em 0.75em;
  border-radius: var(--finalists-radius-tag);
  background-color: var(--danbi-ep-color-brand-contrast);
  color: var(--danbi-ep-color-brand);
  font-size: var(--danbi-ep-font-size-sm);
  font-weight: var(--finalists-weight);
  transition: color 220ms cubic-bezier(0.3, 0, 0.2, 1);
}

.finalists__head {
  display: flex;
  flex-direction: column;
  gap: var(--finalists-gap-tight);
}

.finalists__title {
  font-size: var(--danbi-ep-font-size-xl);
  font-weight: var(--finalists-weight);
}

.finalists__text {
  font-weight: var(--finalists-weight);
  line-height: var(--danbi-ep-line-height-base);
}

.finalists__items {
  margin: 0;
  padding: var(--finalists-gap) 0 0 1.1em;
  border-block-start: 1px solid var(--danbi-ep-color-brand-contrast);
  line-height: var(--danbi-ep-line-height-base);
}

.finalists__item {
  margin: 0;
  font-weight: var(--finalists-weight);
}

.finalists__item + .finalists__item {
  margin-block-start: var(--finalists-gap-tight);
}

.finalists__buy {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--finalists-gap-tight);
  margin-block-start: auto;
  padding-block-start: var(--danbi-ep-space-6);
}

.finalists__unit {
  font-size: var(--danbi-ep-font-size-sm);
  font-weight: var(--finalists-weight);
}

.finalists__price {
  font-size: var(--danbi-ep-font-size-xl);
  font-weight: var(--finalists-weight);
}

.finalists .finalists__card--link {
  text-decoration: none;
  cursor: pointer;
}

.finalists .finalists__card--link:focus-visible {
  background-color: var(--danbi-ep-color-text, #12080a);
  color: var(--danbi-ep-color-brand-contrast);
}

@media (hover: hover) {
  .finalists .finalists__card--link:hover {
    background-color: var(--danbi-ep-color-text, #12080a);
    color: var(--danbi-ep-color-brand-contrast);
  }
}
.finalists .finalists__card--link:focus-visible .finalists__tag {
  color: var(--danbi-ep-color-text, #12080a);
}

@media (hover: hover) {
  .finalists .finalists__card--link:hover .finalists__tag {
    color: var(--danbi-ep-color-text, #12080a);
  }
}
.finalists .finalists__card--link:focus-visible {
  outline: 3px solid var(--danbi-ep-color-brand);
  outline-offset: 3px;
}

.finalists .finalists__card--pending {
  position: relative;
  cursor: default;
}

.finalists__pending {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  border-radius: inherit;
  background-color: var(--danbi-ep-color-text, #12080a);
  color: var(--danbi-ep-color-brand-contrast);
  font-size: var(--danbi-ep-font-size-xl);
  font-weight: var(--finalists-weight);
  opacity: 0;
  transition: opacity 220ms cubic-bezier(0.3, 0, 0.2, 1);
}

@media (hover: hover) {
  .finalists__card--pending:hover .finalists__pending {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .finalists .finalists__card,
  html:not([data-udm-motion=on]) .finalists__tag,
  html:not([data-udm-motion=on]) .finalists__pending {
    transition: none;
  }
}
html[data-udm-motion=off] .finalists .finalists__card,
html[data-udm-motion=off] .finalists__tag,
html[data-udm-motion=off] .finalists__pending {
  transition: none;
}

@media (min-width: 768px) {
  .finalists__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .finalists .finalists__card {
    padding: 15px;
  }
  .finalists__grid {
    gap: 10px;
  }
  .finalists__title,
  .finalists__price {
    font-size: 1.125rem;
  }
  .finalists__item + .finalists__item {
    margin-block-start: 0;
  }
}
.bookstay {
  --bookstay-card-bg: #f7e2dc;
  --bookstay-rule: color-mix(in srgb, var(--danbi-ep-color-text, #12080a) 22%, transparent);
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-12);
  color: var(--danbi-ep-color-text, #000);
}

.bookstay :is(h1, h2, h3, h4) {
  color: inherit;
}

.bookstay__title {
  margin: 0 0 var(--danbi-ep-space-4);
}

.bookstay__title-accent {
  color: var(--danbi-ep-color-brand);
}

.bookstay__lead {
  margin: 0;
  font-size: var(--danbi-ep-font-size-lg);
  line-height: var(--danbi-ep-line-height-base);
}

.bookstay__section {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.bookstay__heading {
  display: flex;
  align-items: center;
  gap: var(--danbi-ep-space-4);
  margin: 0;
  font-family: var(--danbi-ep-font-display);
  font-size: 1.65rem;
}

.bookstay__heading::after {
  content: "";
  flex: 1;
  border-block-start: 1px solid var(--bookstay-rule);
}

.bookstay__block {
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-3);
}

.bookstay__subheading {
  margin: 0;
  font-size: 1.5rem;
  font-weight: var(--danbi-ep-font-weight-base);
  line-height: var(--danbi-ep-line-height-tight);
}

.bookstay__block:has(> .bookstay__map) {
  margin-block-start: var(--danbi-ep-space-4);
}

.bookstay__block:has(> .bookstay__video) {
  margin-block-start: var(--danbi-ep-space-4);
  padding-block-start: var(--danbi-ep-space-8);
  border-block-start: 1px solid var(--bookstay-rule);
}

.bookstay__text {
  margin: 0;
  font-weight: var(--danbi-ep-font-weight-base);
  line-height: var(--danbi-ep-line-height-base);
}

.bookstay__gallery {
  --bookstay-gallery-visible: 1.8;
  --bookstay-gallery-ratio: 1.04;
  --bookstay-gallery-height: clamp(14rem, 26vw, 24rem);
  position: relative;
  container-type: inline-size;
}

@supports (width: 1cqi) {
  .bookstay__gallery {
    --bookstay-gallery-height: max(
    	11rem,
    	calc((100cqi - var(--danbi-ep-grid-gap)) / var(--bookstay-gallery-visible) / var(--bookstay-gallery-ratio))
    );
  }
}
.bookstay__gallery-track {
  display: flex;
  gap: var(--danbi-ep-grid-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}

.bookstay__gallery-slide {
  flex: 0 0 auto;
  margin: 0;
}

.bookstay__gallery .bookstay__figure {
  width: min-content;
}

.bookstay__gallery .bookstay__image {
  width: auto;
  height: var(--bookstay-gallery-height);
  max-width: none;
  align-self: flex-start;
  -webkit-user-drag: none;
}

.bookstay__gallery-nav {
  position: absolute;
  top: calc(var(--bookstay-gallery-height) / 2);
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: 1px solid var(--danbi-ep-color-brand);
  border-radius: 0;
  background: var(--danbi-ep-color-surface);
  color: var(--danbi-ep-color-brand);
  line-height: 1;
  cursor: pointer;
}

.bookstay__gallery-nav:is(:hover, :focus) {
  background: var(--danbi-ep-color-surface);
  color: var(--danbi-ep-color-brand);
}

.bookstay__gallery-nav--prev {
  inset-inline-start: var(--danbi-ep-space-2);
}

.bookstay__gallery-nav--next {
  inset-inline-end: var(--danbi-ep-space-2);
}

.bookstay__gallery-nav:disabled {
  cursor: default;
  opacity: 0.35;
}

.bookstay__gallery-nav[hidden] {
  display: none;
}

.bookstay__figure {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-2);
}

.bookstay__image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--danbi-ep-radius-sm);
}

.bookstay__caption {
  font-size: var(--danbi-ep-font-size-sm);
  line-height: var(--danbi-ep-line-height-tight);
}

.bookstay__welcome {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--danbi-ep-grid-gap);
  align-items: start;
}

.bookstay__cards {
  display: grid;
  gap: var(--danbi-ep-space-4);
  margin: 0;
  padding: 0;
  list-style: none;
}

.bookstay__card {
  --hole-card-ink: var(--danbi-ep-color-brand);
  --hole-card-dash: 5px;
  --hole-card-dash-x: repeating-linear-gradient(to right, var(--hole-card-ink) 0 var(--hole-card-dash), transparent var(--hole-card-dash) calc(var(--hole-card-dash) * 2));
  --hole-card-dash-y: repeating-linear-gradient(to bottom, var(--hole-card-ink) 0 var(--hole-card-dash), transparent var(--hole-card-dash) calc(var(--hole-card-dash) * 2));
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  column-gap: var(--danbi-ep-space-4);
  align-items: center;
  margin: 0;
  padding: var(--danbi-ep-space-4) var(--danbi-ep-space-6) var(--danbi-ep-space-6) var(--danbi-ep-space-4);
  border: 1px solid transparent;
  border-radius: 0;
  background-color: color-mix(in srgb, var(--hole-card-ink) 22%, var(--danbi-ep-color-surface));
  background-image: var(--hole-card-dash-x), var(--hole-card-dash-x), var(--hole-card-dash-y), var(--hole-card-dash-y);
  background-repeat: no-repeat;
  background-position: top left, bottom left, top left, top right;
  background-size: 100% 1px, 100% 1px, 1px 100%, 1px 100%;
  background-origin: border-box;
}
.bookstay__card::before {
  content: "";
  position: static;
  grid-row: 1/span 2;
  aspect-ratio: 1;
  width: 100%;
  height: auto;
  border-radius: 50%;
  background-color: var(--danbi-ep-color-surface);
}
@media (min-width: 768px) {
  .bookstay__card {
    column-gap: var(--danbi-ep-space-6);
  }
}

.bookstay__card-title {
  grid-column: 2;
  margin: 0 0 0.75rem;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: var(--danbi-ep-line-height-tight);
  color: #000;
}

.bookstay__card-text {
  grid-column: 2;
  margin: 0;
  font-size: var(--danbi-ep-font-size-lg);
  line-height: var(--danbi-ep-line-height-base);
  color: #000;
}

.bookstay__welcome-art {
  --bookstay-welcome-art-zoom: 1.2;
  justify-self: center;
  align-self: center;
  aspect-ratio: 848/1056;
  width: min(100%, 22rem);
  overflow: hidden;
}

.bookstay__welcome-art-video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(var(--bookstay-welcome-art-zoom));
}

@media (min-width: 768px) {
  .bookstay__welcome-art {
    width: 100%;
  }
}
.bookstay__rates {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin: 0;
}

.bookstay__rate-label {
  margin: 0;
  padding-block: var(--danbi-ep-space-3);
  border-block-start: 1px solid var(--bookstay-rule);
  font-weight: var(--danbi-ep-font-weight-base);
}

.bookstay__rate-value {
  margin: 0;
  padding-block: 0 var(--danbi-ep-space-3);
  font-weight: var(--danbi-ep-font-weight-base);
  line-height: var(--danbi-ep-line-height-base);
}

.bookstay .bookstay__link {
  color: var(--danbi-ep-color-text, #000);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.3em;
}

.bookstay .bookstay__link:focus-visible {
  color: var(--danbi-ep-color-brand);
}

@media (hover: hover) {
  .bookstay .bookstay__link:hover {
    color: var(--danbi-ep-color-brand);
  }
}
.bookstay__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--danbi-ep-space-2);
  margin: 0;
}

.bookstay .bookstay__action {
  display: inline-flex;
  align-items: center;
  gap: var(--danbi-ep-space-2);
  padding: var(--danbi-ep-space-2) var(--danbi-ep-space-4);
  border: 1px solid var(--danbi-ep-color-brand);
  background-color: color-mix(in srgb, var(--danbi-ep-color-brand) 12%, var(--danbi-ep-color-surface));
  border-radius: 0;
  color: var(--danbi-ep-color-brand);
  font-weight: var(--danbi-ep-font-weight-base);
  text-decoration: none;
  transition: background-color 180ms cubic-bezier(0.3, 0, 0.2, 1), color 180ms cubic-bezier(0.3, 0, 0.2, 1);
}

.bookstay .bookstay__action:focus-visible {
  background-color: var(--danbi-ep-color-brand);
  color: var(--danbi-ep-color-brand-contrast);
}

@media (hover: hover) {
  .bookstay .bookstay__action:hover {
    background-color: var(--danbi-ep-color-brand);
    color: var(--danbi-ep-color-brand-contrast);
  }
}
.bookstay__action-mark,
.bookstay__action .rental-booking-link__mark {
  flex: 0 0 auto;
  font-size: 1.15em;
  line-height: 1;
}

.bookstay__action-mark--mail {
  display: inline-block;
  width: 1.1em;
  height: 1.1em;
  overflow: hidden;
  background-color: currentColor;
  text-indent: -9999px;
  white-space: nowrap;
  -webkit-mask: url("../svg/mail.svg") center/contain no-repeat;
  mask: url("../svg/mail.svg") center/contain no-repeat;
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .bookstay .bookstay__action {
    transition: none;
  }
}
html[data-udm-motion=off] .bookstay .bookstay__action {
  transition: none;
}

@media (min-width: 768px) {
  .bookstay__welcome {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  }
  .bookstay__rates {
    grid-template-columns: minmax(0, 10rem) minmax(0, 1fr);
    column-gap: 0;
  }
  .bookstay__rate-label {
    padding-inline-end: var(--danbi-ep-grid-gap);
  }
  .bookstay__rate-value {
    padding-block: var(--danbi-ep-space-3);
    border-block-start: 1px solid var(--bookstay-rule);
  }
}
.bookstay__video {
  margin: 0;
}

.bookstay__video-media {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--danbi-ep-radius-sm);
  background-color: color-mix(in srgb, var(--danbi-ep-color-text, #12080a) 8%, transparent);
}

.bookstay__moving-art {
  display: flex;
  justify-content: center;
  padding-block: 19%;
}

@media (max-width: 1023px) {
  .bookstay__moving-art {
    overflow-x: clip;
  }
}
.bookstay__moving-art-frame {
  aspect-ratio: 880/1040;
  width: min(80%, 24rem);
}

.bookstay__moving-art-video {
  --moving-art-zoom: 1.4;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(var(--moving-art-zoom));
  pointer-events: none;
  mix-blend-mode: darken;
}

@media (min-width: 1024px) {
  .bookstay__block:has(> .bookstay__video) {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 4fr);
    grid-template-rows: auto auto minmax(0, 1fr);
    column-gap: var(--danbi-ep-grid-gap);
  }
  .bookstay__block:has(> .bookstay__video) > :not(.bookstay__video) {
    grid-column: 1;
  }
  .bookstay__block > .bookstay__video {
    grid-column: 2;
    grid-row: 1/span 3;
  }
  .bookstay__block > .bookstay__video .bookstay__video-media {
    border: 1px solid var(--danbi-ep-color-text, #12080a);
    border-radius: 0;
  }
  .bookstay__moving-art {
    padding-block: 0;
    grid-row: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
  }
  .bookstay__moving-art > img,
  .bookstay__moving-art > svg,
  .bookstay__moving-art > video {
    display: block;
    max-width: 100%;
    max-height: 100%;
    height: auto;
  }
}
.bookstay__map {
  aspect-ratio: 3/2;
  width: 100%;
  margin-block-start: var(--danbi-ep-space-3);
  overflow: hidden;
  border: 1px solid var(--bookstay-rule);
  border-radius: var(--danbi-ep-radius-sm);
}

.bookstay__map-frame {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 767px) {
  .bookstay__heading {
    font-size: 1.5rem;
  }
  .bookstay__cards {
    gap: 10px;
  }
  .bookstay__subheading {
    font-size: var(--danbi-ep-font-size-lg);
  }
  .bookstay__gallery-track {
    gap: var(--danbi-ep-space-2);
  }
  .bookstay__card {
    grid-template-columns: 1rem minmax(0, 1fr);
    padding: var(--danbi-ep-space-3);
  }
  .bookstay__card-title {
    margin-block-end: var(--danbi-ep-space-1);
    font-size: var(--danbi-ep-font-size-lg);
  }
  .bookstay__card-text {
    font-size: var(--danbi-ep-font-size-sm);
  }
  .bookstay__rate-label {
    padding-block: var(--danbi-ep-space-2);
  }
  .bookstay__rate-value {
    padding-block-end: var(--danbi-ep-space-2);
  }
  .bookstay__actions {
    flex-direction: column;
  }
  .bookstay .bookstay__action {
    display: flex;
    justify-content: center;
    width: 100%;
    padding: var(--danbi-ep-space-1) var(--danbi-ep-space-2);
    font-size: var(--danbi-ep-font-size-sm);
  }
}
.about-us {
  --about-us-rule: color-mix(in srgb, var(--danbi-ep-color-text, #12080a) 22%, transparent);
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-12);
  padding-block-end: 8rem;
}

.about-us__title {
  margin: 0 0 var(--danbi-ep-space-6);
}
@media (max-width: 767px) {
  .about-us__title {
    margin-block-end: 0.5rem;
  }
}

.about-us__title-accent {
  color: var(--danbi-ep-color-brand);
}

.about-us__lead {
  margin: 0;
  font-size: 1.5rem;
  line-height: var(--danbi-ep-line-height-base);
  color: #000;
  font-weight: var(--danbi-ep-font-weight-bold);
}

.about-us__section {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.about-us__heading {
  display: flex;
  align-items: center;
  gap: var(--danbi-ep-space-4);
  margin: 0;
  font-family: var(--danbi-ep-font-display);
  font-size: 1.65rem;
}

@media (max-width: 767px) {
  .about-us__heading {
    font-size: 1.5rem;
  }
}
.about-us__heading::after {
  content: "";
  flex: 1;
  border-block-start: 1px solid #000;
}

.about-us__block {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.about-us__block + .about-us__block {
  margin-block-start: var(--danbi-ep-space-8);
}

.about-us__subheading {
  margin: 0;
  margin-bottom: 5px;
  font-size: 1.5rem;
  font-weight: var(--danbi-ep-font-weight-bold);
}

@media (max-width: 767px) {
  .about-us__lead,
  .about-us__subheading {
    font-size: var(--danbi-ep-font-size-lg);
  }
}
.about-us__text {
  margin: 0;
  line-height: var(--danbi-ep-line-height-base);
  color: #000;
  font-weight: 500;
}

.about-us__text--todo {
  color: color-mix(in srgb, var(--danbi-ep-color-text, #12080a) 45%, var(--danbi-ep-color-surface));
}

.about-us__drawings {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--danbi-ep-grid-gap);
  align-items: start;
  margin: var(--danbi-ep-space-4) 0 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 768px) {
  .about-us__drawings {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .about-us__drawings {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}
.about-us__drawing {
  margin: 0;
}

.about-us__figure {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-3);
}

.about-us .about-us__figure-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.about-us .about-us__figure-link:focus-visible .about-us__image {
  border-color: var(--danbi-ep-color-brand);
}

@media (hover: hover) {
  .about-us .about-us__figure-link:hover .about-us__image {
    border-color: var(--danbi-ep-color-brand);
  }
}
.about-us__image {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid var(--about-us-rule);
  border-radius: var(--danbi-ep-radius-sm);
  transition: border-color 0.2s ease;
}

.about-us__caption {
  font-size: var(--danbi-ep-font-size-base);
  line-height: var(--danbi-ep-line-height-tight);
}

.about-us__ramp {
  --ramp-ink: var(--danbi-ep-color-brand);
  --ramp-angle: 7.66deg;
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-6);
  margin-block-start: var(--danbi-ep-space-6);
  container-type: inline-size;
}

.about-us__ramp::before {
  content: "";
  display: block;
  order: 2;
  height: 2.5rem;
  clip-path: polygon(0 0, 100% 80%, 100% 100%, 0 100%);
  background-color: var(--ramp-ink);
}

.about-us__ramp-steps {
  order: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--danbi-ep-space-4);
  margin: 0;
  padding: 0;
  list-style: none;
}

.about-us__ramp-step {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  width: 9rem;
  margin: 0;
  border: 1px solid var(--ramp-ink);
  border-radius: 50%;
  color: var(--ramp-ink);
  font-family: var(--danbi-ep-font-sans);
  font-size: 1.125rem;
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: 1.3;
  text-align: center;
}
@media (max-width: 767px) {
  .about-us__ramp-step {
    font-size: 1rem;
  }
}

.about-us__ramp-arrow {
  display: none;
}

@media (max-width: 767px) {
  .about-us__ramp::before {
    display: none;
  }
  .about-us__ramp-steps {
    --ramp-arrow-space: 0.5rem;
    --ramp-arrow-length: 2.5rem;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    gap: calc(var(--ramp-arrow-length) + var(--ramp-arrow-space) * 2);
  }
  .about-us__ramp-step {
    position: relative;
  }
  .about-us__ramp-step:not(:last-child)::before,
  .about-us__ramp-step:not(:last-child)::after {
    content: "";
    position: absolute;
    inset-inline-start: 50%;
  }
  .about-us__ramp-step:not(:last-child)::before {
    inset-block-start: calc(100% + var(--ramp-arrow-space));
    height: var(--ramp-arrow-length);
    border-inline-start: 1px solid var(--ramp-ink);
    transform: translateX(-50%);
  }
  .about-us__ramp-step:not(:last-child)::after {
    inset-block-start: calc(100% + var(--ramp-arrow-space) + var(--ramp-arrow-length));
    width: 0.5rem;
    height: 0.5rem;
    border-block-end: 1px solid var(--ramp-ink);
    border-inline-end: 1px solid var(--ramp-ink);
    transform: translate(-50%, -71%) rotate(45deg);
  }
  .about-us__ramp--armed .about-us__ramp-step {
    opacity: 0;
    transform: translateY(1.5rem);
    transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.2, 0.8, 0.3, 1);
  }
  .about-us__ramp--armed .about-us__ramp-step--shown {
    opacity: 1;
    transform: none;
  }
}
@media (min-width: 1024px) {
  .about-us__ramp {
    display: block;
    position: relative;
    aspect-ratio: 1441/420;
    margin-block-start: var(--danbi-ep-space-6);
  }
  .about-us__ramp::before {
    position: absolute;
    inset-block-start: 52.4%;
    inset-block-end: 0;
    inset-inline-start: 0;
    inset-inline-end: 0;
    height: auto;
    clip-path: polygon(0 0, 100% 97%, 100% 100%, 0 100%);
  }
  .about-us__ramp-steps {
    display: block;
    position: absolute;
    inset: 0;
  }
  .about-us__ramp-step {
    position: absolute;
    width: 15%;
    transform: translate(-50%, -50%);
    font-size: min(1.25vw, 1.1rem);
    font-size: 1.9cqw;
  }
  .about-us__ramp-step--1 {
    inset-inline-start: 7.5%;
    inset-block-start: 28.46%;
  }
  .about-us__ramp-step--2 {
    inset-inline-start: 50%;
    inset-block-start: 48.08%;
  }
  .about-us__ramp-step--3 {
    inset-inline-start: 92.5%;
    inset-block-start: 67.7%;
  }
  .about-us__ramp-arrow {
    display: block;
    position: absolute;
    border-block-start: 1px solid var(--ramp-ink);
    transform-origin: 0 50%;
  }
  .about-us__ramp-arrow::after {
    content: "";
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 100%;
    width: 0.5rem;
    height: 0.5rem;
    border-block-start: 1px solid var(--ramp-ink);
    border-inline-end: 1px solid var(--ramp-ink);
    transform: translate(-100%, -50%) rotate(45deg);
  }
  .about-us__ramp-arrow--1 {
    inset-inline-start: 14.93%;
    inset-block-start: 31.89%;
    width: 27%;
    transform: rotate(var(--ramp-angle));
  }
  .about-us__ramp-arrow--2 {
    inset-inline-start: 57.43%;
    inset-block-start: 51.51%;
    width: 27%;
    transform: rotate(var(--ramp-angle));
  }
}
.about-us__keeper-gallery {
  --keeper-height: clamp(18rem, 38vw, 36rem);
  position: relative;
  margin-block-start: var(--danbi-ep-space-6);
}

.about-us__keeper-track {
  display: flex;
  gap: var(--danbi-ep-grid-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}

.about-us__keeper-slide {
  flex: 0 0 auto;
  margin: 0;
}

.about-us__keeper-photo {
  display: block;
  width: auto;
  height: var(--keeper-height);
  max-width: none;
  -webkit-user-drag: none;
}

.about-us__keeper-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: 1px solid var(--danbi-ep-color-brand);
  border-radius: 0;
  background: var(--danbi-ep-color-surface);
  color: var(--danbi-ep-color-brand);
  line-height: 1;
  cursor: pointer;
}

.about-us__keeper-nav:is(:hover, :focus) {
  background: var(--danbi-ep-color-surface);
  color: var(--danbi-ep-color-brand);
}

.about-us__keeper-nav--prev {
  inset-inline-start: var(--danbi-ep-space-2);
}

.about-us__keeper-nav--next {
  inset-inline-end: var(--danbi-ep-space-2);
}

.about-us__keeper-nav:disabled {
  cursor: default;
  opacity: 0.35;
}

.about-us__keeper-nav[hidden] {
  display: none;
}

.about-us__keeper-captions {
  margin: var(--danbi-ep-space-4) 0 0;
  line-height: var(--danbi-ep-line-height-base);
}

.about-us__keeper-links {
  margin-block-start: var(--danbi-ep-space-8);
}

@media (max-width: 767px) {
  .about-us__keeper-links .contact-link__text,
  .about-us__keeper-links .contact-link__icon {
    font-size: var(--danbi-ep-font-size-sm);
  }
  .about-us__keeper-links .contact-link__note {
    font-size: 12px;
  }
}
.about-us__photos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--danbi-ep-space-3);
  margin-top: 40px;
}

.about-us__photo {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 5/7;
  object-fit: cover;
  border-radius: var(--danbi-ep-radius-sm);
}

.about-us__bricks {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: end;
  margin-block-start: var(--danbi-ep-space-8);
  padding-block-start: 4.1%;
  container-type: inline-size;
}

.about-us__brick-stack {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}

.about-us__brick {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 603/294;
  margin: 0;
  padding-inline: var(--danbi-ep-space-2);
  background-color: var(--brick-color);
  color: var(--brick-text, #fff);
  font-family: var(--danbi-ep-font-display);
  line-height: 1;
  text-align: center;
  font-size: clamp(0.875rem, 2.83vw, 2.25rem);
  font-size: 3.97cqw;
  position: relative;
  text-wrap: balance;
}

@media (max-width: 767px) {
  .about-us__brick {
    font-size: 1.25rem;
    font-size: 5.5cqw;
  }
}
.about-us__brick-stack > .about-us__brick:first-child::before,
.about-us__brick-stack > .about-us__brick:first-child::after {
  content: "";
  position: absolute;
  inset-block-end: 100%;
  width: 23.4%;
  height: 25.2%;
  background-color: inherit;
}

.about-us__brick-stack > .about-us__brick:first-child::before {
  inset-inline-start: 14.3%;
}

.about-us__brick-stack > .about-us__brick:first-child::after {
  inset-inline-start: 60.9%;
}

.about-us__brick--brand {
  --brick-color: var(--danbi-ep-color-brand);
}

.about-us__brick--gray {
  --brick-color: #a9a9a9;
}

.about-us__brick--sky {
  --brick-color: #a9cddc;
  --brick-text: #333333;
}

.about-us__brick--sand {
  --brick-color: var(--danbi-ep-color-surface-accent);
  --brick-text: #333333;
}

.about-us__brick--ink {
  --brick-color: #333333;
}

.about-us__brick--purple {
  --brick-color: var(--danbi-ep-color-brand);
}

.about-us__brick--tan,
.about-us__brick--green {
  --brick-color: #a9a9a9;
}

.about-us__brick--teal,
.about-us__brick--pink {
  --brick-color: #a9cddc;
  --brick-text: #333333;
}

.about-us__brick--olive {
  --brick-color: var(--danbi-ep-color-surface-accent);
  --brick-text: #333333;
}

.about-us__brick--blue {
  --brick-color: #333333;
}

.about-us__brick-stack:nth-child(1) {
  --brick-stack-delay: 0s;
}

.about-us__brick-stack:nth-child(2) {
  --brick-stack-delay: 0.06s;
}

.about-us__brick-stack:nth-child(3) {
  --brick-stack-delay: 0.12s;
}

.about-us__brick:nth-last-child(1) {
  --brick-row-delay: 0s;
}

.about-us__brick:nth-last-child(2) {
  --brick-row-delay: 0.09s;
}

.about-us__brick:nth-last-child(3) {
  --brick-row-delay: 0.18s;
}

.about-us__brick:nth-last-child(4) {
  --brick-row-delay: 0.27s;
}

.about-us__brick:nth-last-child(5) {
  --brick-row-delay: 0.36s;
}

.about-us__brick:nth-last-child(6) {
  --brick-row-delay: 0.45s;
}

.about-us__brick:nth-last-child(n+7) {
  --brick-row-delay: 0.54s;
}

.about-us__brick--hop {
  z-index: 1;
  animation: about-us-brick-hop 0.38s linear both;
}

@keyframes about-us-brick-hop {
  0% {
    transform: translateY(0);
    animation-timing-function: cubic-bezier(0.16, 0.84, 0.44, 1);
  }
  38% {
    transform: translateY(-12%);
    animation-timing-function: cubic-bezier(0.45, 0, 0.55, 1);
  }
  100% {
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .about-us__brick--hop {
    animation: none;
  }
}
html[data-udm-motion=off] .about-us__brick--hop {
  animation: none;
}

.about-us__bricks--dropped .about-us__brick {
  animation: about-us-brick-drop 0.55s both;
  animation-delay: calc(var(--brick-stack-delay, 0s) + var(--brick-row-delay, 0s));
  transform-origin: 50% 100%;
}

@keyframes about-us-brick-drop {
  0% {
    opacity: 0;
    transform: translate3d(0, -140%, 0);
    animation-timing-function: cubic-bezier(0.11, 0, 0.5, 0);
  }
  6% {
    opacity: 1;
    animation-timing-function: cubic-bezier(0.11, 0, 0.5, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scaleY(1);
    animation-timing-function: cubic-bezier(0.3, 0, 0.2, 1);
  }
  74% {
    transform: translate3d(0, 0, 0) scaleY(0.9);
    animation-timing-function: cubic-bezier(0.3, 0, 0.2, 1);
  }
  88% {
    transform: translate3d(0, 0, 0) scaleY(1.03);
    animation-timing-function: cubic-bezier(0.3, 0, 0.2, 1);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scaleY(1);
  }
}
@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .about-us__bricks--armed .about-us__brick,
  html:not([data-udm-motion=on]) .about-us__bricks--dropped .about-us__brick {
    opacity: 1;
    animation: none;
  }
}
html[data-udm-motion=off] .about-us__bricks--armed .about-us__brick,
html[data-udm-motion=off] .about-us__bricks--dropped .about-us__brick {
  opacity: 1;
  animation: none;
}

.about-us__hopes {
  --hopes-ink: var(--danbi-ep-color-brand);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--danbi-ep-space-8) var(--danbi-ep-grid-gap);
}

.about-us__hopes-list {
  display: grid;
  gap: var(--danbi-ep-space-4);
  margin: 0;
  padding: 0;
  list-style: none;
}

.about-us__hope {
  --hole-card-ink: var(--hopes-ink);
  --hole-card-dash: 5px;
  --hole-card-dash-x: repeating-linear-gradient(to right, var(--hole-card-ink) 0 var(--hole-card-dash), transparent var(--hole-card-dash) calc(var(--hole-card-dash) * 2));
  --hole-card-dash-y: repeating-linear-gradient(to bottom, var(--hole-card-ink) 0 var(--hole-card-dash), transparent var(--hole-card-dash) calc(var(--hole-card-dash) * 2));
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  column-gap: var(--danbi-ep-space-4);
  align-items: center;
  margin: 0;
  padding: var(--danbi-ep-space-4) var(--danbi-ep-space-6) var(--danbi-ep-space-6) var(--danbi-ep-space-4);
  border: 1px solid transparent;
  border-radius: 0;
  background-color: color-mix(in srgb, var(--hole-card-ink) 22%, var(--danbi-ep-color-surface));
  background-image: var(--hole-card-dash-x), var(--hole-card-dash-x), var(--hole-card-dash-y), var(--hole-card-dash-y);
  background-repeat: no-repeat;
  background-position: top left, bottom left, top left, top right;
  background-size: 100% 1px, 100% 1px, 1px 100%, 1px 100%;
  background-origin: border-box;
}
.about-us__hope::before {
  content: "";
  position: static;
  grid-row: 1/span 2;
  aspect-ratio: 1;
  width: 100%;
  height: auto;
  border-radius: 50%;
  background-color: var(--danbi-ep-color-surface);
}
@media (min-width: 768px) {
  .about-us__hope {
    column-gap: var(--danbi-ep-space-6);
  }
}

.about-us__hope-title {
  grid-column: 2;
  margin: 0 0 0.75rem;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: var(--danbi-ep-line-height-tight);
  color: #000;
}

.about-us__hope-text {
  grid-column: 2;
  margin: 0;
  font-size: var(--danbi-ep-font-size-lg);
  line-height: var(--danbi-ep-line-height-base);
  color: #000;
}

@media (max-width: 767px) {
  .about-us__hope {
    grid-template-columns: 1rem minmax(0, 1fr);
    padding: var(--danbi-ep-space-3);
  }
  .about-us__hope-title {
    margin-block-end: var(--danbi-ep-space-1);
    font-size: var(--danbi-ep-font-size-lg);
  }
  .about-us__hope-text {
    font-size: var(--danbi-ep-font-size-sm);
  }
  .about-us__hopes-list {
    grid-auto-flow: column;
    grid-auto-columns: 84%;
    gap: 10px;
    min-width: 0;
    margin-inline: calc(var(--danbi-ep-page-margin) * -1);
    padding-inline: var(--danbi-ep-page-margin);
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: var(--danbi-ep-page-margin);
    scrollbar-width: none;
  }
  .about-us__hopes-list::-webkit-scrollbar {
    display: none;
  }
  .about-us__hope {
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
}
.about-us__hopes-media {
  justify-self: center;
  aspect-ratio: 1;
  width: 100%;
  max-width: 28rem;
  overflow: hidden;
}

.about-us__hopes-video {
  --hopes-video-zoom: 1.2;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(var(--hopes-video-zoom));
}

.about-us__hopes-media--placeholder {
  display: grid;
  place-items: center;
  border: 1px dashed var(--about-us-rule);
  border-radius: var(--danbi-ep-radius-lg);
}

@media (min-width: 1024px) {
  .about-us__hopes {
    grid-template-columns: repeat(var(--danbi-ep-layout-main-span), minmax(0, 1fr));
    align-items: center;
  }
  .about-us__hopes-list {
    grid-column: span var(--danbi-ep-layout-main-span-narrow);
  }
  .about-us__hopes-media {
    grid-column: span 3;
    max-width: none;
  }
}
@media (min-width: 1024px) and (max-width: 1599px) {
  .about-us__hopes-list {
    grid-column: span 5;
  }
  .about-us__hopes-media {
    grid-column: span 4;
  }
}
@media (min-width: 1600px) {
  .about-us__section.full-width > .about-us__heading {
    max-width: calc((100% - (var(--danbi-ep-layout-main-span) - 1) * var(--danbi-ep-grid-gap)) / var(--danbi-ep-layout-main-span) * var(--danbi-ep-layout-main-span-narrow) + (var(--danbi-ep-layout-main-span-narrow) - 1) * var(--danbi-ep-grid-gap));
  }
}
.about-us__section {
  scroll-margin-block-start: var(--danbi-ep-space-8);
}

@media (max-width: 1023px) {
  .about-us__section {
    scroll-margin-block-start: 210px;
  }
}
.wishes {
  --wishes-rule: color-mix(in srgb, var(--danbi-ep-color-brand) 35%, transparent);
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-6);
}

.wishes__heading {
  display: flex;
  align-items: center;
  gap: var(--danbi-ep-space-4);
  margin: 0;
  font-family: var(--danbi-ep-font-display);
  font-size: 1.65rem;
}

.wishes__heading::after {
  content: "";
  flex: 1;
  border-block-start: 1px solid color-mix(in srgb, var(--danbi-ep-color-text, #12080a) 22%, transparent);
}

.wishes__notice {
  margin: 0;
  padding: var(--danbi-ep-space-3) var(--danbi-ep-space-4);
  border: 1px solid var(--wishes-rule);
  border-radius: var(--danbi-ep-radius-sm);
  background-color: var(--danbi-ep-color-surface-accent);
  font-size: var(--danbi-ep-font-size-base);
}

.wishes__notice--error {
  border-color: var(--danbi-ep-color-brand);
  color: var(--danbi-ep-color-brand);
  background-color: transparent;
}

.wishes__form {
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-4);
  margin: 0;
}

.wishes__field {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin: 0;
}

.wishes .wishes__label {
  color: var(--danbi-ep-color-text, #000);
  font-size: var(--danbi-ep-font-size-base);
  font-weight: 500;
}

.wishes .wishes__input {
  width: 100%;
  max-width: 100%;
  padding: var(--danbi-ep-space-2) var(--danbi-ep-space-3);
  border: 1px solid var(--wishes-rule);
  border-radius: 0;
  background-color: transparent;
  color: var(--danbi-ep-color-text, #12080a);
  font-size: 1.5rem;
  line-height: var(--danbi-ep-line-height-base);
}

.wishes .wishes__input::placeholder {
  color: color-mix(in srgb, var(--danbi-ep-color-brand) 45%, transparent);
  opacity: 1;
}

.wishes .wishes__input:focus {
  border-color: var(--danbi-ep-color-brand);
  outline: 1px solid var(--danbi-ep-color-brand);
  outline-offset: -2px;
}

.wishes__trap {
  display: none;
}

.wishes .wishes__submit {
  align-self: flex-start;
  padding: var(--danbi-ep-space-2) var(--danbi-ep-space-4);
  border: 1px solid var(--danbi-ep-color-brand);
  border-radius: 0;
  background-color: var(--danbi-ep-color-brand);
  color: var(--danbi-ep-color-brand-contrast);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: var(--danbi-ep-line-height-tight);
  margin-top: 0.5rem;
  cursor: pointer;
  transition: background-color 180ms cubic-bezier(0.3, 0, 0.2, 1), color 180ms cubic-bezier(0.3, 0, 0.2, 1);
}

.wishes .wishes__submit:focus-visible {
  background-color: transparent;
  color: var(--danbi-ep-color-brand);
}

@media (hover: hover) {
  .wishes .wishes__submit:hover {
    background-color: transparent;
    color: var(--danbi-ep-color-brand);
  }
}
@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .wishes .wishes__submit {
    transition: none;
  }
}
html[data-udm-motion=off] .wishes .wishes__submit {
  transition: none;
}

.wishes__board-heading {
  margin: var(--danbi-ep-space-6) 0 0;
  padding-block-start: var(--danbi-ep-space-8);
  border-block-start: 1px solid var(--wishes-rule);
  color: var(--danbi-ep-color-brand);
  font-size: var(--danbi-ep-font-size-h1);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

.wishes__list {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-12);
  margin: var(--danbi-ep-space-8) 0 0;
  padding: 0;
  list-style: none;
}

.wishes__item {
  margin: 0;
  color: var(--danbi-ep-color-brand);
  font-size: var(--danbi-ep-font-size-title);
  font-weight: var(--danbi-ep-font-weight-base);
  line-height: var(--danbi-ep-line-height-tight);
}

.wishes__text,
.wishes__name {
  margin: 0;
}

.wishes__text,
.wishes__name {
  font-family: var(--danbi-ep-font-hand);
  font-weight: 700;
  text-align: center;
}

.wishes__text {
  line-height: 1.3;
}

.wishes__item {
  position: relative;
  isolation: isolate;
  width: fit-content;
  max-width: 100%;
  padding: 1.7em max(1.6em, 16%) 1.8em;
  color: var(--danbi-ep-color-brand-contrast);
  font-size: 3rem;
}

.wishes__item::before,
.wishes__item::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  -webkit-mask: var(--wishes-cloud-fill) center/100% 100% no-repeat;
  mask: var(--wishes-cloud-fill) center/100% 100% no-repeat;
}

.wishes__item::before {
  background-color: var(--danbi-ep-color-brand);
}

.wishes__item::after {
  -webkit-mask-image: var(--wishes-cloud-line);
  mask-image: var(--wishes-cloud-line);
  background-color: color-mix(in srgb, var(--danbi-ep-color-brand) 55%, #000);
}

.wishes__item--1,
.wishes__item--3 {
  --wishes-cloud-fill: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 208 108' preserveAspectRatio='none'%3E%3Cpath d='M21.9 62.5C21.3 61.6 18.0 62.2 16.3 61.5C14.5 60.8 12.4 59.8 11.2 58.3C10.1 56.8 9.7 54.6 9.2 52.8C8.8 50.9 8.5 49.1 8.6 47.2C8.7 45.4 8.9 43.3 9.7 41.7C10.5 40.0 12.1 38.6 13.4 37.4C14.8 36.1 16.9 35.3 18.0 34.1C19.1 33.0 19.3 31.8 20.1 30.4C20.8 29.0 21.8 27.3 22.6 25.8C23.4 24.3 24.0 22.8 25.0 21.5C26.1 20.2 27.4 19.0 28.7 18.0C30.1 17.0 31.7 16.2 33.3 15.5C34.9 14.7 36.7 13.7 38.4 13.5C40.2 13.2 42.1 13.7 43.8 14.1C45.6 14.5 47.3 15.1 49.0 15.7C50.6 16.3 52.3 18.1 53.6 17.7C54.9 17.3 55.6 14.7 56.8 13.3C58.0 11.9 59.3 10.3 60.8 9.2C62.3 8.0 64.1 6.9 65.9 6.4C67.7 5.9 69.8 6.2 71.7 6.2C73.5 6.1 75.4 6.0 77.2 6.1C79.0 6.2 80.8 6.4 82.6 6.7C84.3 7.1 86.0 7.8 87.7 8.3C89.4 8.8 91.3 9.0 92.9 9.8C94.4 10.7 95.4 12.9 96.9 13.4C98.4 13.8 100.4 13.1 102.0 12.5C103.7 11.9 104.9 10.5 106.5 9.8C108.1 9.1 109.8 8.8 111.5 8.2C113.2 7.7 114.9 7.2 116.6 6.7C118.4 6.2 120.3 5.3 122.2 5.2C124.0 5.1 125.9 5.7 127.7 6.2C129.5 6.7 131.2 7.4 132.9 8.2C134.6 9.1 136.4 9.9 137.8 11.1C139.1 12.4 140.0 14.9 141.1 15.7C142.2 16.4 142.7 16.0 144.1 15.6C145.4 15.2 147.4 13.5 149.2 13.1C151.0 12.7 153.0 13.1 154.9 13.2C156.7 13.2 158.6 13.2 160.3 13.6C162.1 14.0 163.8 14.6 165.4 15.3C167.0 16.0 168.4 16.9 170.0 17.6C171.6 18.4 173.4 18.6 174.8 19.6C176.2 20.6 177.4 22.1 178.2 23.6C179.0 25.1 178.9 27.2 179.5 28.7C180.1 30.2 180.8 31.6 182.0 32.7C183.2 33.9 185.1 34.5 186.5 35.5C188.0 36.5 189.4 37.6 190.7 38.9C192.0 40.2 193.7 41.7 194.4 43.4C195.1 45.2 195.2 47.3 195.2 49.2C195.2 51.2 194.9 53.2 194.2 55.0C193.6 56.8 192.5 58.6 191.3 60.0C190.0 61.3 188.1 62.1 186.5 63.1C185.0 64.1 182.6 64.6 181.9 66.0C181.2 67.4 182.7 69.7 182.5 71.4C182.3 73.2 181.5 74.9 180.8 76.5C180.0 78.1 179.2 79.8 178.0 81.0C176.8 82.2 175.0 83.0 173.5 83.7C172.0 84.5 170.3 84.8 168.7 85.5C167.1 86.2 165.7 87.3 164.0 87.8C162.3 88.3 160.4 88.5 158.6 88.5C156.8 88.5 154.6 88.0 153.1 88.0C151.6 87.9 151.0 87.7 149.5 88.2C148.1 88.6 146.2 90.0 144.6 90.9C142.9 91.7 141.3 92.5 139.6 93.2C137.9 94.0 136.2 95.0 134.4 95.4C132.6 95.9 130.7 95.9 128.9 96.1C127.0 96.2 125.2 96.6 123.3 96.5C121.5 96.4 119.6 96.0 117.8 95.3C116.1 94.7 114.6 93.3 113.0 92.5C111.4 91.7 110.0 91.1 108.3 90.3C106.6 89.4 104.5 87.4 102.9 87.5C101.3 87.5 100.0 89.4 98.5 90.3C97.0 91.3 95.5 92.5 93.9 93.2C92.2 93.8 90.3 93.8 88.5 94.0C86.7 94.2 85.0 94.1 83.2 94.3C81.4 94.5 79.6 95.1 77.8 95.2C76.0 95.4 74.2 95.1 72.3 95.1C70.5 95.0 68.6 95.1 66.7 94.8C64.8 94.4 62.4 94.1 61.1 93.1C59.7 92.1 59.7 89.3 58.4 88.9C57.1 88.5 54.8 90.2 53.0 90.6C51.2 91.0 49.4 91.3 47.6 91.4C45.8 91.4 43.9 91.1 42.1 91.0C40.3 90.9 38.4 91.3 36.6 90.9C34.8 90.6 33.0 90.0 31.5 89.1C29.9 88.2 28.7 86.7 27.4 85.5C26.1 84.3 24.7 83.3 23.8 82.0C22.9 80.6 22.3 79.1 21.8 77.5C21.3 75.9 21.0 74.3 20.6 72.6C20.3 70.8 19.7 68.7 19.9 67.1C20.1 65.4 22.5 63.5 21.9 62.5Z'/%3E%3C/svg%3E");
  --wishes-cloud-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 208 108' preserveAspectRatio='none'%3E%3Cpath d='M10.6 39.4C11.3 39.1 13.7 37.8 15.2 37.3C16.7 36.8 18.6 37.5 19.7 36.4C20.8 35.3 21.5 32.4 21.9 30.7C22.3 29.1 21.8 27.9 22.1 26.5C22.4 25.0 22.9 23.7 23.5 22.2C24.1 20.8 24.8 19.2 25.7 17.9C26.7 16.6 28.0 15.2 29.5 14.5C30.9 13.8 32.7 13.7 34.3 13.5C35.9 13.3 37.5 13.5 39.1 13.4C40.7 13.4 42.4 12.9 44.0 12.9C45.6 13.0 47.4 13.0 48.9 13.6C50.4 14.3 51.6 16.3 52.8 16.7C54.1 17.1 55.1 16.6 56.3 16.1C57.5 15.5 58.6 14.2 59.9 13.4C61.2 12.7 62.5 12.2 63.9 11.6C65.2 11.0 66.5 10.6 67.9 9.8C69.2 9.1 70.4 7.8 71.8 7.0C73.2 6.1 74.8 5.0 76.4 4.7C77.9 4.3 79.7 4.6 81.2 4.9C82.8 5.2 84.3 5.9 85.9 6.4C87.4 6.9 89.0 7.1 90.5 7.7C92.0 8.2 93.7 8.8 94.9 9.8C96.1 10.7 96.6 13.0 97.6 13.2C98.7 13.4 99.9 11.8 101.2 11.1C102.6 10.4 104.0 9.5 105.5 9.1C107.0 8.8 108.7 8.9 110.2 8.9C111.8 8.9 113.3 9.3 114.7 9.1C116.2 8.9 117.6 8.3 119.1 7.7C120.6 7.2 122.2 6.3 123.8 6.0C125.4 5.8 127.1 5.9 128.7 6.2C130.3 6.6 131.8 7.3 133.3 7.9C134.7 8.6 136.3 9.3 137.6 10.4C138.8 11.4 140.0 13.0 140.8 14.1C141.7 15.3 141.6 17.2 142.6 17.4C143.6 17.5 145.3 15.8 146.7 15.1C148.1 14.4 149.6 13.5 151.2 13.3C152.7 13.0 154.4 13.4 156.0 13.7C157.5 14.1 158.9 15.1 160.4 15.5C161.8 15.9 163.2 16.0 164.7 16.2C166.1 16.3 167.7 16.1 169.2 16.4C170.7 16.7 172.3 17.2 173.7 17.9C175.1 18.5 176.6 19.4 177.9 20.5C179.1 21.6 180.6 23.0 181.2 24.6C181.9 26.1 181.5 28.5 181.7 29.8C181.9 31.1 181.6 31.6 182.4 32.5C183.2 33.3 185.2 33.9 186.5 34.8C187.9 35.6 189.5 36.3 190.5 37.5C191.5 38.7 192.2 40.3 192.6 41.9C192.9 43.4 192.6 45.1 192.5 46.6C192.4 48.1 192.2 49.5 192.0 50.9C191.7 52.3 191.5 53.7 191.0 55.0C190.5 56.3 189.7 57.5 189.1 58.8C188.4 60.2 187.8 61.6 186.9 63.0C186.0 64.4 184.1 66.2 183.8 67.3C183.4 68.3 184.8 68.3 184.7 69.5C184.6 70.7 183.7 72.9 183.0 74.4C182.3 75.9 181.4 77.3 180.5 78.6C179.7 80.0 178.9 81.4 177.8 82.5C176.7 83.6 175.2 84.5 173.9 85.2C172.5 85.9 170.9 86.2 169.4 86.7C168.0 87.1 166.5 87.6 165.0 87.8C163.5 87.9 161.9 87.9 160.5 87.6C159.0 87.3 157.7 86.5 156.3 86.1C154.9 85.8 153.5 84.9 152.1 85.3C150.7 85.7 149.4 87.5 148.2 88.7C147.0 89.9 146.2 91.6 144.9 92.6C143.5 93.5 141.8 93.9 140.2 94.4C138.7 94.9 137.1 95.1 135.5 95.4C133.9 95.6 132.3 95.8 130.7 95.8C129.1 95.7 127.5 95.3 125.9 95.1C124.3 94.8 122.8 94.5 121.3 94.4C119.7 94.3 118.1 94.5 116.6 94.3C115.1 94.0 113.5 93.7 112.2 92.9C110.9 92.2 110.1 90.9 108.8 89.8C107.4 88.7 105.4 86.2 103.9 86.2C102.5 86.2 101.3 88.6 100.1 89.8C98.8 90.9 97.8 92.2 96.5 93.1C95.1 94.0 93.6 94.6 92.1 95.3C90.6 95.9 89.1 96.6 87.5 96.9C85.9 97.3 84.3 97.5 82.6 97.3C81.0 97.1 79.4 96.3 77.8 95.7C76.3 95.2 74.9 94.5 73.3 94.2C71.8 93.8 70.2 94.0 68.7 93.7C67.2 93.5 65.5 93.2 64.2 92.5C62.9 91.8 62.2 90.3 60.8 89.4C59.5 88.5 57.4 87.3 55.9 87.2C54.4 87.2 53.3 88.6 51.9 89.1C50.5 89.6 49.0 90.0 47.5 90.3C46.0 90.7 44.5 90.9 42.9 91.3C41.3 91.7 39.6 92.4 37.9 92.6C36.2 92.8 34.4 92.9 32.8 92.4C31.3 91.8 29.9 90.5 28.6 89.3C27.4 88.1 26.5 86.6 25.5 85.3C24.5 84.1 23.5 83.0 22.6 81.8C21.8 80.5 21.0 79.2 20.6 77.7C20.3 76.3 20.4 74.7 20.4 73.3C20.5 71.8 20.7 70.3 20.9 68.8C21.2 67.3 22.0 65.8 21.9 64.4C21.7 63.0 20.9 61.3 19.9 60.4C18.9 59.4 17.4 59.3 16.0 58.7C14.5 58.1 12.8 57.9 11.4 57.0C9.9 56.0 8.1 54.7 7.3 53.2C6.6 51.6 6.5 49.5 6.8 47.7C7.1 46.0 8.1 44.4 9.0 42.9C9.8 41.5 10.9 40.2 12.1 39.1C13.2 38.1 14.5 37.5 16.1 36.7C17.6 35.8 20.5 35.3 21.3 34.1C22.2 32.9 21.0 31.1 21.1 29.6C21.1 28.1 20.9 26.4 21.5 25.0C22.0 23.7 23.8 22.1 24.3 21.5' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
}

.wishes__item--2,
.wishes__item--4 {
  --wishes-cloud-fill: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 208 108' preserveAspectRatio='none'%3E%3Cpath d='M30.0 70.4C29.4 69.8 26.2 71.6 24.4 71.4C22.5 71.2 20.6 70.3 19.0 69.3C17.4 68.3 15.7 67.0 14.6 65.5C13.6 64.0 13.1 62.0 12.8 60.2C12.5 58.4 12.6 56.5 12.9 54.8C13.1 53.0 13.4 50.8 14.4 49.4C15.4 48.0 17.5 47.4 18.9 46.2C20.3 45.0 22.5 43.5 23.0 42.1C23.4 40.6 21.8 38.9 21.6 37.3C21.4 35.6 21.4 33.9 21.6 32.3C21.9 30.6 22.3 28.9 23.1 27.3C23.8 25.7 24.9 24.0 26.2 22.9C27.5 21.8 29.5 21.4 31.1 20.7C32.8 20.0 34.4 19.4 36.1 18.8C37.9 18.2 39.8 17.3 41.7 17.2C43.5 17.1 45.6 17.7 47.2 18.4C48.8 19.0 50.0 21.2 51.1 21.1C52.3 21.0 53.1 18.6 54.4 17.5C55.7 16.4 57.4 15.6 58.9 14.6C60.4 13.7 61.8 12.5 63.4 11.8C65.0 11.0 66.7 10.3 68.5 10.2C70.2 10.1 72.0 10.8 73.8 11.1C75.5 11.4 77.1 11.6 78.8 11.9C80.5 12.2 82.2 12.3 83.9 12.8C85.5 13.4 87.2 15.1 88.6 15.1C90.0 15.1 90.7 13.6 92.1 12.7C93.4 11.8 95.0 10.4 96.7 9.6C98.3 8.8 100.2 8.7 101.9 8.0C103.6 7.3 105.1 6.2 106.9 5.6C108.6 5.0 110.5 4.4 112.3 4.4C114.2 4.4 116.1 4.9 117.9 5.4C119.6 5.9 121.5 6.4 123.0 7.2C124.6 8.1 125.9 9.3 127.2 10.5C128.6 11.7 129.6 14.4 131.1 14.6C132.5 14.7 134.3 12.2 136.0 11.6C137.6 10.9 139.4 10.6 141.1 10.4C142.8 10.3 144.5 10.7 146.3 10.8C148.0 10.8 149.8 10.5 151.5 10.7C153.2 10.8 155.0 11.2 156.7 11.7C158.5 12.3 160.3 12.9 161.9 13.9C163.4 15.0 165.0 16.8 166.0 18.0C167.0 19.3 166.6 20.7 167.8 21.4C169.0 22.0 171.4 21.7 173.2 21.9C175.1 22.2 177.1 22.1 178.8 22.8C180.5 23.5 182.0 24.9 183.2 26.2C184.5 27.6 185.5 29.2 186.2 30.8C187.0 32.4 187.5 34.1 187.7 35.8C187.9 37.5 187.5 39.1 187.4 40.7C187.3 42.4 187.6 44.1 187.2 45.8C186.8 47.4 185.3 49.1 185.2 50.7C185.0 52.2 185.5 53.5 186.1 54.9C186.8 56.2 188.3 57.5 189.1 59.0C189.9 60.6 190.7 62.3 190.9 64.1C191.1 65.9 190.8 67.8 190.3 69.7C189.9 71.5 189.2 73.7 188.1 75.1C186.9 76.6 185.0 77.7 183.3 78.4C181.5 79.1 179.5 79.0 177.7 79.3C175.9 79.7 173.8 79.8 172.4 80.4C171.0 81.0 170.4 81.9 169.2 82.9C168.0 83.9 166.6 85.5 165.2 86.5C163.7 87.5 162.2 88.3 160.5 88.9C158.9 89.4 157.1 89.4 155.5 89.7C153.8 90.0 152.1 90.3 150.4 90.7C148.7 91.1 146.9 92.1 145.1 92.3C143.3 92.4 141.5 92.0 139.8 91.5C138.1 91.0 136.4 90.0 134.9 89.3C133.3 88.5 131.7 86.8 130.3 86.9C129.0 87.0 128.0 88.7 126.6 89.7C125.2 90.7 123.5 91.9 121.8 92.6C120.1 93.4 118.3 94.2 116.5 94.3C114.6 94.4 112.7 93.6 110.9 93.4C109.0 93.1 107.3 92.8 105.6 92.7C103.8 92.5 101.9 92.8 100.2 92.5C98.5 92.1 96.8 91.3 95.3 90.5C93.8 89.7 92.6 88.4 91.0 87.7C89.4 87.0 87.5 86.2 85.8 86.4C84.2 86.5 82.8 87.7 81.3 88.5C79.8 89.4 78.3 90.6 76.7 91.4C75.1 92.2 73.3 93.2 71.5 93.4C69.7 93.7 67.8 93.1 66.0 92.9C64.2 92.7 62.4 92.6 60.6 92.3C58.8 92.0 57.0 91.7 55.2 91.1C53.5 90.4 51.8 89.6 50.3 88.5C48.7 87.5 47.0 85.6 45.9 84.7C44.7 83.9 44.6 83.8 43.3 83.4C41.9 83.1 39.6 82.9 37.9 82.7C36.2 82.5 34.5 82.7 33.1 82.2C31.6 81.7 29.8 80.8 29.0 79.6C28.2 78.4 28.2 76.5 28.4 75.0C28.5 73.4 30.7 71.0 30.0 70.4Z'/%3E%3C/svg%3E");
  --wishes-cloud-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 208 108' preserveAspectRatio='none'%3E%3Cpath d='M11.9 52.0C12.2 51.2 12.7 48.2 13.8 47.0C15.0 45.7 17.2 45.4 18.6 44.6C19.9 43.9 21.6 43.6 22.1 42.5C22.5 41.4 21.3 39.6 21.1 38.1C20.9 36.7 20.7 35.1 20.9 33.7C21.2 32.3 21.9 30.9 22.6 29.7C23.2 28.4 24.0 27.1 24.9 26.0C25.8 24.9 26.9 23.8 28.1 23.1C29.3 22.4 30.8 22.1 32.2 21.6C33.5 21.0 34.8 20.5 36.2 19.8C37.6 19.1 39.2 17.8 40.8 17.3C42.4 16.9 44.3 16.7 45.9 17.0C47.5 17.4 49.2 19.0 50.2 19.5C51.3 20.0 51.4 20.4 52.3 19.9C53.1 19.3 54.1 17.2 55.3 16.2C56.4 15.2 57.9 14.5 59.3 13.8C60.6 13.0 62.0 12.4 63.4 11.9C64.8 11.3 66.3 10.5 67.8 10.4C69.3 10.2 70.9 10.6 72.4 11.0C73.8 11.3 75.1 12.3 76.6 12.5C78.0 12.8 79.3 12.6 80.9 12.7C82.4 12.7 84.3 12.3 85.8 12.6C87.3 12.9 88.9 14.7 89.9 14.6C91.0 14.6 91.0 13.3 92.0 12.4C92.9 11.5 94.4 10.2 95.7 9.4C97.1 8.6 98.7 8.2 100.2 7.7C101.8 7.3 103.3 7.2 104.8 6.7C106.4 6.3 107.8 5.5 109.3 5.1C110.9 4.8 112.6 4.5 114.1 4.8C115.6 5.1 117.2 6.3 118.5 7.1C119.9 7.9 121.0 8.9 122.3 9.6C123.6 10.2 125.0 10.4 126.2 11.0C127.5 11.6 128.5 12.9 129.9 13.2C131.2 13.5 133.0 13.4 134.3 12.8C135.7 12.3 136.7 10.6 138.1 9.9C139.4 9.1 141.1 8.7 142.6 8.6C144.2 8.5 145.8 9.1 147.3 9.2C148.9 9.4 150.4 9.4 152.0 9.5C153.7 9.5 155.6 9.1 157.2 9.6C158.7 10.1 160.4 11.1 161.5 12.3C162.6 13.5 163.2 15.4 163.8 16.9C164.4 18.4 164.0 20.3 165.0 21.3C165.9 22.4 168.1 22.8 169.6 23.3C171.0 23.8 172.3 24.1 173.7 24.4C175.1 24.7 176.6 24.7 178.0 25.0C179.5 25.4 181.3 25.6 182.5 26.4C183.7 27.2 184.6 28.7 185.4 30.0C186.1 31.2 186.4 32.7 187.0 34.1C187.7 35.4 188.7 36.7 189.4 38.2C190.0 39.7 190.7 41.5 190.7 43.2C190.7 44.8 190.0 46.6 189.2 48.1C188.5 49.6 186.5 51.2 186.1 52.1C185.8 53.0 186.7 52.5 187.1 53.5C187.5 54.5 188.2 56.6 188.5 58.1C188.8 59.6 188.7 60.9 188.9 62.4C189.1 63.8 189.8 65.2 189.7 66.7C189.6 68.1 189.2 69.8 188.4 71.0C187.6 72.1 186.1 72.9 184.9 73.7C183.7 74.6 182.6 75.2 181.4 76.1C180.3 76.9 179.2 78.0 177.9 78.8C176.5 79.5 174.6 80.0 173.5 80.4C172.3 80.9 171.6 80.6 170.9 81.6C170.1 82.6 170.0 85.3 169.0 86.6C168.0 87.9 166.3 88.9 164.7 89.5C163.2 90.1 161.3 89.8 159.7 90.1C158.1 90.4 156.7 90.8 155.2 91.2C153.7 91.6 152.3 92.4 150.8 92.6C149.2 92.7 147.6 92.4 146.1 92.0C144.6 91.7 143.2 90.9 141.8 90.3C140.4 89.8 139.0 89.4 137.7 88.8C136.4 88.3 135.5 87.4 134.0 86.9C132.4 86.3 129.8 85.0 128.5 85.5C127.1 85.9 126.9 88.4 125.9 89.6C124.8 90.9 123.6 92.4 122.1 93.1C120.7 93.8 118.9 93.7 117.3 93.8C115.7 93.9 114.1 93.6 112.6 93.7C111.0 93.8 109.5 94.3 107.9 94.4C106.3 94.5 104.7 94.6 103.1 94.4C101.6 94.1 100.1 93.4 98.6 92.8C97.2 92.3 95.7 91.7 94.4 90.8C93.1 90.0 92.5 88.7 91.0 87.7C89.6 86.8 87.1 85.0 85.6 84.9C84.2 84.8 83.4 86.2 82.3 87.2C81.2 88.1 80.2 89.7 78.9 90.6C77.6 91.5 76.1 92.2 74.6 92.5C73.1 92.9 71.5 92.6 69.9 92.6C68.4 92.6 66.8 92.7 65.3 92.7C63.7 92.7 62.1 92.9 60.5 92.7C58.9 92.5 57.4 92.0 55.9 91.6C54.3 91.1 52.7 90.7 51.3 89.9C49.8 89.2 47.9 88.3 47.1 87.0C46.2 85.7 47.0 83.0 46.0 82.1C45.1 81.2 42.7 81.7 41.2 81.7C39.8 81.7 38.6 82.0 37.2 82.1C35.8 82.2 34.2 82.6 32.9 82.3C31.7 81.9 30.3 81.0 29.5 80.0C28.7 79.0 28.2 77.6 28.0 76.2C27.9 74.9 28.9 72.9 28.8 71.9C28.8 70.8 28.6 70.4 27.6 70.0C26.6 69.7 24.6 70.0 22.9 69.9C21.3 69.8 19.3 70.1 17.7 69.5C16.0 68.9 14.1 67.7 13.2 66.3C12.3 64.9 12.3 62.6 12.3 60.9C12.3 59.3 12.9 57.7 13.3 56.2C13.7 54.7 14.0 53.3 14.6 52.0C15.3 50.8 16.3 49.6 17.3 48.6C18.3 47.6 20.0 47.2 20.8 46.0C21.5 44.8 21.7 42.9 21.8 41.5C21.8 40.0 21.1 38.5 21.1 37.1C21.2 35.7 22.0 33.6 22.2 32.9' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
}

.wishes__item--3,
.wishes__item--4 {
  --wishes-flip: -1;
}

.wishes__item::before,
.wishes__item::after {
  transform: scaleX(var(--wishes-flip, 1));
}

@keyframes wishes-boil {
  0%, 100% {
    transform: scaleX(var(--wishes-flip, 1));
  }
  25% {
    transform: scaleX(var(--wishes-flip, 1)) translate(1px, -1px) rotate(0.3deg);
  }
  50% {
    transform: scaleX(var(--wishes-flip, 1)) translate(-1px, 1px) rotate(-0.25deg);
  }
  75% {
    transform: scaleX(var(--wishes-flip, 1)) translate(1px, 1px) rotate(0.15deg);
  }
}
.wishes__item::before {
  animation: wishes-boil 2s steps(1, end) var(--wishes-boil-delay, 0s) infinite;
}

.wishes__item::after {
  animation: wishes-boil 1.6s steps(1, end) calc(var(--wishes-boil-delay, 0s) - 0.4s) infinite;
}

.wishes__item--2 {
  --wishes-boil-delay: -0.7s;
}

.wishes__item--3 {
  --wishes-boil-delay: -1.3s;
}

.wishes__item--4 {
  --wishes-boil-delay: -0.2s;
}

.wishes__trail {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

.wishes__dot {
  position: absolute;
  inset-block-start: var(--y);
  inset-inline-start: var(--x);
  width: var(--s);
  height: var(--s);
  margin: calc(var(--s) / -2) 0 0 calc(var(--s) / -2);
  border-radius: 45% 55% 52% 48%/55% 45% 55% 45%;
  background-color: var(--danbi-ep-color-brand);
  box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--danbi-ep-color-brand) 55%, #000);
  animation: wishes-boil 1.8s steps(1, end) var(--wishes-boil-delay, 0s) infinite;
}

.wishes__dot:nth-child(even) {
  animation-delay: calc(var(--wishes-boil-delay, 0s) - 0.9s);
}

.wishes__list--armed .wishes__item {
  opacity: 0;
  transform: translateY(1.5rem);
  transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.2, 0.8, 0.3, 1);
}

.wishes__list--armed .wishes__item--shown {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .wishes__item::before,
  html:not([data-udm-motion=on]) .wishes__item::after,
  html:not([data-udm-motion=on]) .wishes__dot {
    animation: none;
  }
}
html[data-udm-motion=off] .wishes__item::before,
html[data-udm-motion=off] .wishes__item::after,
html[data-udm-motion=off] .wishes__dot {
  animation: none;
}

.wishes__name {
  margin-block-start: var(--danbi-ep-space-1);
  font-size: 2rem;
  line-height: 1.3;
  opacity: 0.85;
}

@media (min-width: 1024px) {
  .wishes__item {
    max-width: 70%;
    padding-inline: max(1.6em, 11%);
  }
  .wishes__item--2 {
    margin-inline-start: auto;
  }
  .wishes__item--4 {
    margin-inline-start: 28%;
  }
}
@media (max-width: 767px) {
  .wishes .wishes__input {
    font-size: var(--danbi-ep-font-size-base);
  }
  .wishes .wishes__submit {
    margin-top: 0;
    font-size: var(--danbi-ep-font-size-base);
  }
  .wishes__list {
    gap: var(--danbi-ep-space-8);
    margin-block-start: var(--danbi-ep-space-6);
  }
  .wishes__item {
    font-size: 1.8rem;
  }
  .wishes__name {
    font-size: 1.5rem;
  }
  .wishes__item--2,
  .wishes__item--4 {
    margin-inline-start: auto;
  }
}
.checkout-postcode__row {
  display: flex;
  align-items: stretch;
  gap: var(--danbi-ep-space-2);
}

.checkout-postcode__row .input-text {
  flex: 1 1 auto;
  min-width: 0;
}

.checkout-postcode__button {
  flex: 0 0 auto;
  white-space: nowrap;
}

.checkout-postcode__button--hidden {
  display: none;
}

.checkout-postcode__origin {
  height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

body.woocommerce-checkout {
  --checkout-brand: var(--danbi-ep-color-brand);
  --checkout-ink: var(--danbi-ep-color-text, #000);
  --checkout-contrast: var(--danbi-ep-color-brand-contrast);
  --checkout-placeholder: color-mix(in srgb, var(--checkout-brand) 62%, var(--danbi-ep-color-surface));
  --checkout-tint: color-mix(in srgb, var(--checkout-brand) 11%, var(--danbi-ep-color-surface));
  --checkout-rule: var(--checkout-brand);
  --checkout-control: 3.25rem;
  --checkout-control-pad: var(--danbi-ep-space-3);
  --checkout-field-gap: var(--danbi-ep-space-6);
  --checkout-label-gap: var(--danbi-ep-space-2);
  --checkout-label-size: 1.25rem;
  --checkout-text-size: var(--danbi-ep-font-size-lg);
}

@media (max-width: 767px) {
  body.woocommerce-checkout {
    --checkout-control: 2.75rem;
    --checkout-control-pad: var(--danbi-ep-space-2);
    --checkout-field-gap: var(--danbi-ep-space-4);
    --checkout-label-gap: var(--danbi-ep-space-1);
    --checkout-label-size: 1rem;
    --checkout-text-size: 1rem;
  }
}
body.woocommerce-checkout .woocommerce form.checkout {
  color: var(--checkout-ink);
}

body.woocommerce-checkout .woocommerce form.checkout h3 {
  display: flex;
  align-items: center;
  gap: var(--danbi-ep-space-4);
  margin: 0 0 var(--danbi-ep-space-6);
  color: var(--checkout-brand);
  font-family: var(--danbi-ep-font-display);
  font-size: var(--danbi-ep-font-size-display);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-display);
  letter-spacing: -0.02em;
  font-size: 2rem;
}

body.woocommerce-checkout .woocommerce form.checkout h3::after {
  content: "";
  flex: 1;
  border-block-start: 1px solid var(--checkout-rule);
}

body.woocommerce-checkout .woocommerce form.checkout #order_review_heading {
  margin-block-start: var(--danbi-ep-space-12);
}

body.woocommerce-checkout .woocommerce .col2-set .col-1,
body.woocommerce-checkout .woocommerce .col2-set .col-2 {
  float: none;
  width: 100%;
}

body.woocommerce-checkout .woocommerce .col2-set .col-2 {
  margin-block-start: var(--danbi-ep-space-12);
}

body.woocommerce-checkout .woocommerce form.checkout .col-2 h3#ship-to-different-address {
  float: none;
}

body.woocommerce-checkout #ship-to-different-address label.checkbox {
  display: inline-flex;
  align-items: center;
  gap: var(--danbi-ep-space-3);
  margin: 0;
  cursor: pointer;
}

body.woocommerce-checkout #ship-to-different-address-checkbox {
  appearance: none;
  flex: 0 0 auto;
  box-sizing: border-box;
  width: 1.75rem;
  height: 1.75rem;
  margin: 0;
  border: 2px solid var(--checkout-brand);
  border-radius: 0;
  background: transparent no-repeat center/75%;
  cursor: pointer;
}

body.woocommerce-checkout #ship-to-different-address-checkbox:checked {
  background-color: var(--checkout-brand);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3.2L13 4.8' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='square'/%3E%3C/svg%3E");
}

body.woocommerce-checkout #ship-to-different-address-checkbox:focus-visible {
  outline: 2px solid var(--checkout-brand);
  outline-offset: 2px;
}

@media (max-width: 767px) {
  body.woocommerce-checkout #ship-to-different-address-checkbox {
    width: 1.5rem;
    height: 1.5rem;
  }
}
#postcode-layer,
.postcode-layer-bg {
  display: none;
}

body.woocommerce-checkout #postcode-layer {
  border: 1px solid var(--checkout-brand);
}

body.woocommerce-checkout #postcode-layer #btnCloseLayer {
  display: none;
}

body.woocommerce-checkout .woocommerce form .form-row {
  margin: 0 0 var(--checkout-field-gap);
  padding: 0;
}

body.woocommerce-checkout .woocommerce form .form-row label {
  display: block;
  margin: 0 0 var(--checkout-label-gap);
  color: var(--checkout-brand);
  font-family: var(--danbi-ep-font-sans);
  font-size: var(--checkout-label-size);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

body.woocommerce-checkout .woocommerce form .form-row .required {
  color: var(--checkout-brand);
  text-decoration: none;
}

body.woocommerce-checkout .woocommerce form .form-row .optional {
  color: var(--checkout-placeholder);
  font-weight: var(--danbi-ep-font-weight-base);
}

body.woocommerce-checkout .woocommerce form .form-row input.input-text,
body.woocommerce-checkout .woocommerce form .form-row textarea.input-text,
body.woocommerce-checkout .woocommerce form .form-row select {
  box-sizing: border-box;
  width: 100%;
  min-height: var(--checkout-control);
  margin: 0;
  padding: 0 var(--checkout-control-pad);
  border: 1px solid var(--checkout-brand);
  border-radius: 0;
  background-color: transparent;
  box-shadow: none;
  color: var(--checkout-brand);
  font-family: var(--danbi-ep-font-sans);
  font-size: var(--checkout-text-size);
  font-weight: var(--danbi-ep-font-weight-base);
  line-height: var(--danbi-ep-line-height-base);
}

body.woocommerce-checkout .woocommerce form .form-row textarea.input-text {
  min-height: 8rem;
  padding-block: var(--danbi-ep-space-2);
  resize: vertical;
}

body.woocommerce-checkout .woocommerce form .form-row input.input-text::placeholder,
body.woocommerce-checkout .woocommerce form .form-row textarea.input-text::placeholder {
  color: var(--checkout-placeholder);
  opacity: 1;
}

body.woocommerce-checkout .woocommerce form .form-row input.input-text:focus,
body.woocommerce-checkout .woocommerce form .form-row textarea.input-text:focus,
body.woocommerce-checkout .woocommerce form .form-row select:focus {
  outline: 2px solid var(--checkout-brand);
  outline-offset: -2px;
}

body.woocommerce-checkout .woocommerce form .form-row.woocommerce-invalid input.input-text,
body.woocommerce-checkout .woocommerce form .form-row.woocommerce-invalid select {
  border-color: var(--checkout-brand);
  box-shadow: inset 0 0 0 1px var(--checkout-brand);
}

body.woocommerce-checkout .select2-container--default .select2-selection--single {
  display: flex;
  align-items: center;
  height: var(--checkout-control);
  border: 1px solid var(--checkout-brand);
  border-radius: 0;
  background-color: transparent;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0 calc(var(--checkout-control-pad) + 1.5rem) 0 var(--checkout-control-pad);
  color: var(--checkout-brand);
  font-size: var(--checkout-text-size);
  font-weight: var(--danbi-ep-font-weight-base);
  line-height: var(--checkout-control);
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 0;
  right: var(--checkout-control-pad);
  height: 100%;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-top-color: var(--checkout-brand);
}

body.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-bottom-color: var(--checkout-brand);
}

body.woocommerce-checkout .select2-dropdown {
  border: 1px solid var(--checkout-brand);
  border-radius: 0;
  color: var(--checkout-brand);
  font-size: var(--checkout-text-size);
}

body.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[aria-selected],
body.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[data-selected] {
  background-color: var(--checkout-brand);
  color: var(--checkout-contrast);
}

body.woocommerce-checkout .woocommerce .checkout-postcode__button {
  min-height: var(--checkout-control);
  margin: 0;
  padding: 0 var(--danbi-ep-space-4);
  border: 1px solid var(--checkout-brand);
  border-radius: 0;
  background: transparent !important;
  color: var(--checkout-brand) !important;
  font-size: var(--checkout-text-size);
  font-weight: var(--danbi-ep-font-weight-bold);
}

body.woocommerce-checkout .woocommerce .checkout-postcode__button:focus-visible {
  background: var(--checkout-brand) !important;
  color: var(--checkout-contrast) !important;
}

@media (hover: hover) {
  body.woocommerce-checkout .woocommerce .checkout-postcode__button:hover {
    background: var(--checkout-brand) !important;
    color: var(--checkout-contrast) !important;
  }
}
body.woocommerce-checkout .woocommerce table.shop_table {
  margin: 0 0 var(--danbi-ep-space-8);
  border: 0;
  border-block-start: 1px solid var(--checkout-rule);
  border-radius: 0;
  border-collapse: collapse;
  color: var(--checkout-ink);
  font-size: var(--checkout-text-size);
}

body.woocommerce-checkout .woocommerce table.shop_table th,
body.woocommerce-checkout .woocommerce table.shop_table td {
  padding: var(--danbi-ep-space-3) 0;
  border: 0;
  border-block-end: 1px solid var(--checkout-rule);
  font-weight: var(--danbi-ep-font-weight-base);
  line-height: var(--danbi-ep-line-height-base);
  text-align: start;
}

body.woocommerce-checkout .woocommerce table.shop_table .product-total,
body.woocommerce-checkout .woocommerce table.shop_table .product-subtotal,
body.woocommerce-checkout .woocommerce table.shop_table tfoot td {
  text-align: end;
}

body.woocommerce-checkout .woocommerce table.shop_table thead th,
body.woocommerce-checkout .woocommerce table.shop_table tfoot th {
  color: var(--checkout-brand);
  font-weight: var(--danbi-ep-font-weight-bold);
}

body.woocommerce-checkout .woocommerce table.shop_table .order-total td,
body.woocommerce-checkout .woocommerce table.shop_table .order-total th,
body.woocommerce-checkout .woocommerce #order_review table.shop_table tfoot tr:last-child > * {
  font-size: calc(var(--checkout-text-size) * 1.15);
  font-weight: var(--danbi-ep-font-weight-bold);
}

body.woocommerce-checkout .woocommerce table.shop_table .product-quantity {
  font-weight: var(--danbi-ep-font-weight-base);
}

body.woocommerce-checkout .woocommerce :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) {
  margin: 0 0 var(--danbi-ep-space-8);
  padding: var(--danbi-ep-space-4) var(--danbi-ep-space-6);
  border: 0;
  border-radius: 0;
  background-color: var(--danbi-ep-color-surface-accent);
  color: var(--checkout-ink);
  font-size: var(--checkout-text-size);
  line-height: var(--danbi-ep-line-height-base);
  list-style: none;
}

body.woocommerce-checkout .woocommerce :is(.woocommerce-info, .woocommerce-message, .woocommerce-error)::before {
  content: none;
}

body.woocommerce-checkout .woocommerce .woocommerce-error {
  border: 1px solid var(--checkout-brand);
  background-color: transparent;
}

body.woocommerce-checkout .woocommerce .woocommerce-error:has(+ #order_review) {
  margin-block-end: var(--danbi-ep-space-6);
  padding: 0;
  border: 0;
  background-color: transparent;
  color: var(--checkout-brand);
  font-weight: var(--danbi-ep-font-weight-bold);
}

body.woocommerce-checkout .woocommerce .woocommerce-error li {
  margin: 0;
}

body.woocommerce-checkout .woocommerce .woocommerce-error li + li {
  margin-block-start: var(--danbi-ep-space-2);
}

body.woocommerce-checkout .woocommerce :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) a:not(.button) {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.3em;
}

body.woocommerce-checkout .woocommerce form.woocommerce-form-login {
  max-width: 40rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: var(--checkout-ink);
}

body.woocommerce-checkout .woocommerce form.woocommerce-form-login :is(.form-row-first, .form-row-last) {
  float: none;
  width: auto;
}

body.woocommerce-checkout .woocommerce form.woocommerce-form-login .woocommerce-form-login__rememberme {
  display: inline-flex;
  align-items: center;
  gap: var(--danbi-ep-space-2);
  margin: 0 0 var(--danbi-ep-space-6);
  color: var(--checkout-ink);
  font-size: var(--danbi-ep-font-size-base);
  font-weight: var(--danbi-ep-font-weight-base);
  cursor: pointer;
}

body.woocommerce-checkout .woocommerce form.woocommerce-form-login #rememberme {
  appearance: none;
  flex: 0 0 auto;
  box-sizing: border-box;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  border: 2px solid var(--checkout-brand);
  border-radius: 0;
  background: transparent no-repeat center/75%;
  cursor: pointer;
}

body.woocommerce-checkout .woocommerce form.woocommerce-form-login #rememberme:checked {
  background-color: var(--checkout-brand);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3.2L13 4.8' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='square'/%3E%3C/svg%3E");
}

body.woocommerce-checkout .woocommerce form.woocommerce-form-login #rememberme:focus-visible {
  outline: 2px solid var(--checkout-brand);
  outline-offset: 2px;
}

body.woocommerce-checkout .woocommerce form.woocommerce-form-login .form-row:has(.woocommerce-form-login__submit) {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

body.woocommerce-checkout .woocommerce form.woocommerce-form-login .woocommerce-form-login__submit {
  float: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 16rem;
  min-height: var(--checkout-control);
  margin: 0;
  padding: 0 var(--danbi-ep-space-6);
  border: 1px solid var(--checkout-brand);
  border-radius: 0;
  background: var(--checkout-brand);
  color: var(--checkout-contrast);
  font-family: var(--danbi-ep-font-sans);
  font-size: var(--checkout-text-size);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
  cursor: pointer;
  transition: background-color 180ms cubic-bezier(0.3, 0, 0.2, 1), color 180ms cubic-bezier(0.3, 0, 0.2, 1);
}

body.woocommerce-checkout .woocommerce form.woocommerce-form-login .woocommerce-form-login__submit:hover,
body.woocommerce-checkout .woocommerce form.woocommerce-form-login .woocommerce-form-login__submit:focus-visible {
  background: transparent;
  color: var(--checkout-brand);
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) body.woocommerce-checkout .woocommerce form.woocommerce-form-login .woocommerce-form-login__submit {
    transition: none;
  }
}
html[data-udm-motion=off] body.woocommerce-checkout .woocommerce form.woocommerce-form-login .woocommerce-form-login__submit {
  transition: none;
}

body.woocommerce-checkout .woocommerce form.woocommerce-form-login .lost_password {
  margin: var(--danbi-ep-space-4) 0 0;
  font-size: var(--danbi-ep-font-size-base);
}

body.woocommerce-checkout .woocommerce form.woocommerce-form-login .lost_password a {
  color: var(--checkout-ink);
  text-decoration: underline;
  text-underline-offset: 0.3em;
}

body.woocommerce-checkout #payment {
  border: 1px solid var(--checkout-brand);
  border-radius: 0;
  background: transparent;
  color: var(--checkout-ink);
}

body.woocommerce-checkout #payment ul.payment_methods {
  margin: 0;
  padding: var(--danbi-ep-space-6);
  border-block-end: 1px solid var(--checkout-rule);
  list-style: none;
}

body.woocommerce-checkout #payment ul.payment_methods li {
  margin: 0;
  line-height: var(--danbi-ep-line-height-base);
}

body.woocommerce-checkout #payment ul.payment_methods li + li {
  margin-block-start: var(--danbi-ep-space-3);
}

body.woocommerce-checkout #payment ul.payment_methods li input.input-radio {
  margin: 0 var(--danbi-ep-space-2) 0 0;
  accent-color: var(--checkout-brand);
}

body.woocommerce-checkout #payment ul.payment_methods li label {
  color: var(--checkout-brand);
  font-size: var(--checkout-text-size);
  font-weight: var(--danbi-ep-font-weight-bold);
  cursor: pointer;
}

body.woocommerce-checkout #payment div.payment_box {
  margin: var(--danbi-ep-space-3) 0 0;
  padding: var(--danbi-ep-space-3) var(--danbi-ep-space-4);
  border-radius: 0;
  background-color: var(--checkout-tint);
  color: var(--checkout-ink);
  font-size: var(--danbi-ep-font-size-base);
}

body.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: var(--checkout-tint);
}

body.woocommerce-checkout #payment div.payment_box p:last-child {
  margin-bottom: 0;
}

body.woocommerce-checkout #payment div.form-row {
  margin: 0;
  padding: var(--danbi-ep-space-6);
}

body.woocommerce-checkout #payment .woocommerce-privacy-policy-text {
  margin-block-end: var(--danbi-ep-space-4);
  font-size: var(--danbi-ep-font-size-sm);
  line-height: var(--danbi-ep-line-height-base);
}

body.woocommerce-checkout #payment .woocommerce-privacy-policy-text a {
  color: var(--checkout-ink);
  text-decoration: underline;
  text-underline-offset: 0.3em;
}

body.woocommerce-checkout #payment #place_order {
  float: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 16rem;
  min-height: var(--checkout-control);
  margin: 0;
  padding: 0 var(--danbi-ep-space-6);
  border: 1px solid var(--checkout-brand);
  border-radius: 0;
  background: var(--checkout-brand);
  color: var(--checkout-contrast);
  font-family: var(--danbi-ep-font-sans);
  font-size: var(--checkout-text-size);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
  transition: background-color 180ms cubic-bezier(0.3, 0, 0.2, 1), color 180ms cubic-bezier(0.3, 0, 0.2, 1);
}

body.woocommerce-checkout #payment #place_order:focus-visible {
  background: transparent;
  color: var(--checkout-brand);
}

@media (hover: hover) {
  body.woocommerce-checkout #payment #place_order:hover {
    background: transparent;
    color: var(--checkout-brand);
  }
}
@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) body.woocommerce-checkout #payment #place_order {
    transition: none;
  }
}
html[data-udm-motion=off] body.woocommerce-checkout #payment #place_order {
  transition: none;
}

@media (max-width: 767px) {
  body.woocommerce-checkout .woocommerce form.checkout h3 {
    font-size: 1.5rem;
  }
  body.woocommerce-checkout #payment ul.payment_methods,
  body.woocommerce-checkout #payment div.form-row {
    padding: var(--danbi-ep-space-4);
  }
  body.woocommerce-checkout #payment #place_order,
  body.woocommerce-checkout .woocommerce form.woocommerce-form-login .woocommerce-form-login__submit {
    width: 100%;
    min-width: 0;
  }
  body.woocommerce-checkout .woocommerce form.woocommerce-form-login .form-row:has(.woocommerce-form-login__submit) {
    align-items: stretch;
  }
  body.woocommerce-checkout .woocommerce :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) {
    margin-block-end: var(--danbi-ep-space-6);
    padding: var(--danbi-ep-space-3) var(--danbi-ep-space-4);
  }
  body.woocommerce-checkout .woocommerce .woocommerce-error:has(+ #order_review) {
    margin-block-end: var(--danbi-ep-space-4);
    padding: 0;
  }
}
.advisors,
.advisor-page {
  --advisors-rule: color-mix(in srgb, var(--danbi-ep-color-text, #12080a) 22%, transparent);
}

.advisors {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  align-items: start;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 768px) {
  .advisors {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .advisors {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}
.advisors__item {
  margin: 0;
}

.advisors__figure {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-3);
}

.advisors .advisors__link,
.advisors .advisors__caption-link {
  display: block;
  color: #000;
  text-decoration: none;
}

.advisors__link {
  border: 1px solid #000;
}

.advisors .advisors__link:focus-visible .advisors__image {
  border-color: var(--danbi-ep-color-brand);
}

@media (hover: hover) {
  .advisors .advisors__link:hover .advisors__image {
    border-color: var(--danbi-ep-color-brand);
  }
}
.advisors .advisors__caption-link:focus-visible {
  color: var(--danbi-ep-color-brand);
}

@media (hover: hover) {
  .advisors .advisors__caption-link:hover {
    color: var(--danbi-ep-color-brand);
  }
}
.advisors__image {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid var(--advisors-rule);
  transition: border-color 0.2s ease;
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .advisors__image {
    transition: none;
  }
}
html[data-udm-motion=off] .advisors__image {
  transition: none;
}

.advisors__caption {
  font-size: var(--danbi-ep-font-size-base);
  line-height: var(--danbi-ep-line-height-tight);
}

@media (max-width: 767px) {
  .advisors {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 84%;
    gap: 10px;
    min-width: 0;
    margin-inline: calc(var(--danbi-ep-page-margin) * -1);
    padding-inline: var(--danbi-ep-page-margin);
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: var(--danbi-ep-page-margin);
    scrollbar-width: none;
  }
  .advisors::-webkit-scrollbar {
    display: none;
  }
  .advisors__item {
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
  .advisors__figure {
    gap: var(--danbi-ep-space-1);
  }
  .advisors__caption {
    font-size: var(--danbi-ep-font-size-sm);
  }
}
.advisor-page {
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-12);
  color: var(--danbi-ep-color-text, #000);
}

.advisor-page__title,
.advisor-page__heading {
  color: inherit;
}

.advisor-page__title {
  margin: 0 0 var(--danbi-ep-space-4);
}

.advisor-page__subtitle {
  margin: 0;
  font-size: var(--danbi-ep-font-size-strong);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

.advisor-page__caption {
  font-size: var(--danbi-ep-font-size-base);
  line-height: var(--danbi-ep-line-height-tight);
}

.advisor-page__block {
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-4);
  margin: 0;
}

.advisor-page__heading {
  display: flex;
  align-items: center;
  gap: var(--danbi-ep-space-4);
  margin: 0;
  font-size: var(--danbi-ep-font-size-lg);
  font-weight: var(--danbi-ep-font-weight-bold);
}

.advisor-page__heading::after {
  content: "";
  flex: 1;
  border-block-start: 1px solid var(--advisors-rule);
}

.advisor-page__image {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid var(--advisors-rule);
  border-radius: var(--danbi-ep-radius-sm);
}

.advisor-page__text {
  margin: 0;
}

.advisor-page__video {
  aspect-ratio: 16/9;
  width: 100%;
}

.advisor-page__video iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 767px) {
  .advisor-page__head {
    margin-block-end: calc(var(--danbi-ep-space-8) - var(--danbi-ep-space-12));
  }
  .advisor-page__heading {
    font-family: var(--danbi-ep-font-display);
    font-size: 1.5rem;
    line-height: var(--danbi-ep-line-height-display);
    letter-spacing: -0.02em;
  }
  .advisor-page__drawing {
    gap: var(--danbi-ep-space-2);
  }
  .advisor-page__caption,
  .advisor-page__text {
    font-size: var(--danbi-ep-font-size-text);
    font-weight: var(--danbi-ep-font-weight-base);
    line-height: var(--danbi-ep-line-height-base);
  }
}
.program-calendar {
  --program-cell-bg: #fbebe3;
  --program-head-bg: #f0d1c3;
  --program-ink: var(--danbi-ep-color-text, #000);
  --program-symbol-size: 1.9rem;
  --program-gap: var(--danbi-ep-space-2);
  margin-block-start: var(--danbi-ep-space-8);
  color: var(--program-ink);
}

.program-calendar__nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--danbi-ep-space-4);
  padding: var(--danbi-ep-space-2) var(--danbi-ep-space-4);
  background: var(--program-head-bg);
}

.program-calendar__month {
  margin: 0;
  font-weight: var(--danbi-ep-font-weight-base);
}

.program-calendar .program-calendar__arrow {
  color: var(--danbi-ep-color-text, #000);
  text-decoration: none;
}

.program-calendar .program-calendar__arrow:focus-visible {
  color: var(--danbi-ep-color-brand);
}

@media (hover: hover) {
  .program-calendar .program-calendar__arrow:hover {
    color: var(--danbi-ep-color-brand);
  }
}
.program-calendar__arrow--off {
  opacity: 0.3;
}

.program-calendar--loading .program-calendar__view {
  opacity: 0.55;
  transition: opacity 0.15s ease;
}

.program-calendar--loading .program-calendar__arrow {
  pointer-events: none;
}

.program-calendar__table {
  width: calc(100% + var(--program-gap) * 2);
  margin: calc(var(--program-gap) * -1);
  margin-top: 0px;
  border-collapse: separate;
  border-spacing: 10px;
  table-layout: fixed;
  border: none !important;
}

.program-calendar__weekday {
  padding: var(--danbi-ep-space-2);
  background: var(--program-head-bg);
  font-weight: var(--danbi-ep-font-weight-base);
  text-align: center;
  border: none !important;
}

.program-calendar__day {
  height: 8.5rem;
  padding: var(--danbi-ep-space-3);
  background: var(--program-cell-bg);
  vertical-align: top;
  text-align: center;
  border: none !important;
}

.program-calendar__day--empty {
  background: transparent;
}

.program-calendar__day--today .program-calendar__date {
  text-decoration: underline;
  text-underline-offset: 0.25em;
}

.program-calendar__date {
  display: block;
  font-weight: var(--danbi-ep-font-weight-base);
  line-height: var(--danbi-ep-line-height-tight);
}

.program-calendar__marks {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--danbi-ep-space-1);
  margin: var(--danbi-ep-space-2) 0 0;
  padding: 0;
  list-style: none;
}

.program-calendar__marks > li {
  transform: translate(var(--mark-x, 0), var(--mark-y, 0)) rotate(var(--mark-r, 0deg)) scale(var(--mark-s, 1), calc(var(--mark-s, 1) * var(--mark-q, 1)));
}

.program-calendar__marks .program-mark:not(.program-mark--symbol) {
  box-sizing: border-box;
  border: max(2px, var(--program-symbol-size) * 0.1) solid var(--program-ink);
  border-radius: var(--mark-shape, 40% 60% 55% 45%/58% 40% 60% 42%);
}

.program-calendar__sticker--1 .program-mark {
  filter: url("#program-sticker-edge-1");
}

.program-calendar__sticker--2 .program-mark {
  filter: url("#program-sticker-edge-2");
}

.program-calendar__sticker--3 .program-mark {
  filter: url("#program-sticker-edge-3");
}

.program-calendar__filters {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.program-calendar__day--many {
  --program-symbol-size: 1.35rem;
}

.program-calendar__mark-link {
  display: block;
  color: inherit;
  line-height: 0;
}

.program-mark {
  display: inline-block;
  width: var(--program-symbol-size);
  height: var(--program-symbol-size);
  border-radius: 50%;
  background: currentColor;
  vertical-align: middle;
}

.program-mark--symbol {
  border-radius: 0;
  background: none;
}
.program-mark--symbol svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: currentColor;
}

.program-mark {
  --program-color-red: var(--danbi-ep-color-brand);
  --program-color-yellow: var(--danbi-ep-color-surface-accent);
  --program-color-blue: #a9cddc;
  --program-color-green: #a9a9a9;
}

.program-mark--red {
  color: var(--program-color-red);
}

.program-mark--yellow {
  color: var(--program-color-yellow);
}

.program-mark--blue {
  color: var(--program-color-blue);
}

.program-mark--green {
  color: var(--program-color-green);
}

.program-list {
  margin: var(--danbi-ep-space-8) 0 0;
  padding: 0;
  list-style: none;
}

.program-list__item {
  position: relative;
  padding: var(--danbi-ep-space-4) var(--danbi-ep-space-3);
  border-block-start: 1px solid color-mix(in srgb, var(--program-ink) 20%, transparent);
  transition: background-color 150ms ease;
}
.program-list__item:last-child {
  border-block-end: 1px solid color-mix(in srgb, var(--program-ink) 20%, transparent);
}

.program-list__title {
  display: flex;
  align-items: center;
  gap: var(--danbi-ep-space-2);
  margin: 0 0 var(--danbi-ep-space-2);
  font-size: var(--danbi-ep-font-size-lg);
  font-weight: var(--danbi-ep-font-weight-base);
}
.program-list__title .program-mark {
  --program-symbol-size: 0.95rem;
  flex: 0 0 auto;
  box-sizing: border-box;
  border: 2px solid var(--program-ink);
}

.program-list .program-list__link {
  color: var(--danbi-ep-color-text, #000);
  text-decoration: none;
}

.program-list .program-list__link:hover,
.program-list .program-list__link:focus-visible {
  color: var(--danbi-ep-color-text, #000);
  text-decoration: none;
}

.program-list .program-list__link::after {
  content: "";
  position: absolute;
  inset: 0;
}

.program-list__item:focus-within {
  background-color: color-mix(in srgb, var(--danbi-ep-color-surface-accent) 55%, transparent);
}

@media (hover: hover) {
  .program-list__item:hover {
    background-color: color-mix(in srgb, var(--danbi-ep-color-surface-accent) 55%, transparent);
  }
}
@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .program-list__item {
    transition: none;
  }
}
html[data-udm-motion=off] .program-list__item {
  transition: none;
}

.program-list__badge {
  padding: 0.15em 0.5em;
  background: var(--program-ink);
  color: var(--danbi-ep-color-surface);
  font-size: var(--danbi-ep-font-size-sm);
  white-space: nowrap;
}

.program-list__badge--past {
  background: color-mix(in srgb, var(--program-ink) 45%, var(--danbi-ep-color-surface));
}

.program-list__date,
.program-list__meta {
  margin: 0;
  font-size: var(--danbi-ep-font-size-sm);
}

.program-list__meta {
  margin-block-start: var(--danbi-ep-space-1);
}

.program-list__empty {
  margin-block-start: var(--danbi-ep-space-8);
}

@media (max-width: 767px) {
  .program-calendar {
    --program-symbol-size: 1.1rem;
    --program-gap: 0px;
    --program-line: color-mix(in srgb, var(--danbi-ep-color-brand) 30%, var(--danbi-ep-color-surface));
  }
  .program-calendar__nav {
    padding: var(--danbi-ep-space-2) var(--danbi-ep-space-3);
  }
  .program-calendar__month {
    font-size: var(--danbi-ep-font-size-lg);
  }
  .program-calendar__table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    border-spacing: 0;
  }
  .program-calendar__weekday,
  .program-calendar__day {
    border: 1px solid var(--program-line) !important;
  }
  .program-calendar__weekday {
    padding: var(--danbi-ep-space-1);
    font-size: var(--danbi-ep-font-size-sm);
  }
  .program-calendar__day {
    height: 4.5rem;
    padding: var(--danbi-ep-space-1);
    font-size: var(--danbi-ep-font-size-base);
  }
  .program-calendar__day--many {
    --program-symbol-size: 0.9rem;
  }
  .program-list__item {
    padding: var(--danbi-ep-space-3) var(--danbi-ep-space-2);
  }
  .program-list__title {
    align-items: flex-start;
    padding-inline-end: 4.5rem;
    font-size: var(--danbi-ep-font-size-base);
  }
  .program-list__title .program-mark {
    --program-symbol-size: 0.7rem;
    margin-block-start: 0.3em;
    margin-block-start: calc((1lh - var(--program-symbol-size)) / 2);
    border-width: 1.5px;
  }
  .program-list__title .program-list__badge {
    position: absolute;
    inset-block-start: var(--danbi-ep-space-3);
    inset-inline-end: var(--danbi-ep-space-2);
    font-size: 12px;
    font-weight: var(--danbi-ep-font-weight-bold);
  }
}
.gform_wrapper.gform-theme--framework {
  --form-brand: var(--danbi-ep-color-brand);
  --form-ink: var(--form-brand);
  --form-contrast: var(--danbi-ep-color-brand-contrast);
  --form-placeholder: color-mix(in srgb, var(--form-brand) 62%, var(--danbi-ep-color-surface));
  --form-tint: color-mix(in srgb, var(--form-brand) 11%, var(--danbi-ep-color-surface));
  --form-size: 3.25rem;
  --gf-color-primary: var(--form-brand) !important;
  --gf-color-primary-rgb: 204, 73, 21 !important;
  --gf-color-primary-contrast: var(--form-contrast) !important;
  --gf-color-primary-darker: var(--form-brand) !important;
  --gf-color-primary-lighter: var(--form-brand) !important;
  --gf-color-in-ctrl-primary: var(--form-brand) !important;
  --gf-color-in-ctrl-primary-rgb: 204, 73, 21 !important;
  --gf-color-in-ctrl-primary-contrast: var(--form-contrast) !important;
  --gf-color-in-ctrl-primary-darker: var(--form-brand) !important;
  --gf-color-in-ctrl-primary-lighter: var(--form-brand) !important;
  --gf-radius: 0 !important;
  --gf-color-out-ctrl-dark: var(--form-brand) !important;
  --gf-color-out-ctrl-dark-rgb: 204, 73, 21 !important;
  --gf-color-out-ctrl-dark-darker: var(--form-brand) !important;
  --gf-color-out-ctrl-dark-lighter: var(--form-brand) !important;
  --gf-color-out-ctrl-light: var(--form-tint) !important;
  --gf-color-out-ctrl-light-rgb: 204, 73, 21 !important;
  --gf-color-out-ctrl-light-darker: var(--form-brand) !important;
  --gf-color-out-ctrl-light-lighter: var(--form-tint) !important;
  --gf-color-in-ctrl-contrast: var(--form-brand) !important;
  --gf-color-in-ctrl-contrast-rgb: 204, 73, 21 !important;
  --gf-color-in-ctrl-dark: var(--form-brand) !important;
  --gf-color-in-ctrl-dark-rgb: 204, 73, 21 !important;
  --gf-color-in-ctrl-dark-darker: var(--form-brand) !important;
  --gf-color-in-ctrl-dark-lighter: var(--form-brand) !important;
  --gf-color-in-ctrl-light: var(--form-tint) !important;
  --gf-color-in-ctrl-light-rgb: 204, 73, 21 !important;
  --gf-color-in-ctrl-light-darker: var(--form-brand) !important;
  --gf-color-in-ctrl-light-lighter: var(--form-tint) !important;
  --gf-color-secondary: var(--danbi-ep-color-surface) !important;
  --gf-color-secondary-darker: var(--form-tint) !important;
  --gf-color-secondary-lighter: var(--danbi-ep-color-surface) !important;
  --gf-color-secondary-contrast: var(--form-brand) !important;
  --gf-color-secondary-contrast-rgb: 204, 73, 21 !important;
  --gf-ctrl-btn-border-color-secondary: var(--form-brand) !important;
  --gf-ctrl-btn-bg-color-hover-tertiary: var(--form-tint) !important;
  --gf-field-pg-steps-number-color: var(--form-brand) !important;
  --gf-color-danger: var(--form-brand) !important;
  --gf-color-danger-rgb: 204, 73, 21 !important;
  --gf-color-danger-contrast: var(--form-contrast) !important;
  --gf-icon-ctrl-number: url("data:image/svg+xml,%3Csvg width='8' height='14' viewBox='0 0 8 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4 0C4.26522 5.96046e-08 4.51957 0.105357 4.70711 0.292893L7.70711 3.29289C8.09763 3.68342 8.09763 4.31658 7.70711 4.70711C7.31658 5.09763 6.68342 5.09763 6.29289 4.70711L4 2.41421L1.70711 4.70711C1.31658 5.09763 0.683417 5.09763 0.292893 4.70711C-0.0976311 4.31658 -0.097631 3.68342 0.292893 3.29289L3.29289 0.292893C3.48043 0.105357 3.73478 0 4 0ZM0.292893 9.29289C0.683417 8.90237 1.31658 8.90237 1.70711 9.29289L4 11.5858L6.29289 9.29289C6.68342 8.90237 7.31658 8.90237 7.70711 9.29289C8.09763 9.68342 8.09763 10.3166 7.70711 10.7071L4.70711 13.7071C4.31658 14.0976 3.68342 14.0976 3.29289 13.7071L0.292893 10.7071C-0.0976311 10.3166 -0.0976311 9.68342 0.292893 9.29289Z' fill='%23cc4915'/%3E%3C/svg%3E") !important;
  --gf-icon-ctrl-select: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.292893 0.292893C0.683417 -0.097631 1.31658 -0.097631 1.70711 0.292893L5 3.58579L8.29289 0.292893C8.68342 -0.0976311 9.31658 -0.0976311 9.70711 0.292893C10.0976 0.683417 10.0976 1.31658 9.70711 1.70711L5.70711 5.70711C5.31658 6.09763 4.68342 6.09763 4.29289 5.70711L0.292893 1.70711C-0.0976311 1.31658 -0.0976311 0.683418 0.292893 0.292893Z' fill='%23cc4915'/%3E%3C/svg%3E") !important;
  --gf-ctrl-border-color: var(--form-brand) !important;
  --gf-ctrl-border-color-hover: var(--form-brand) !important;
  --gf-ctrl-border-color-focus: var(--form-brand) !important;
  --gf-ctrl-border-width: 1px !important;
  --gf-ctrl-radius: 0 !important;
  --gf-ctrl-textarea-radius: 0 !important;
  --gf-ctrl-bg-color: transparent !important;
  --gf-ctrl-bg-color-hover: transparent !important;
  --gf-ctrl-bg-color-focus: transparent !important;
  --gf-ctrl-date-picker-bg-color: var(--danbi-ep-color-surface) !important;
  --gf-ctrl-date-picker-radius: 0 !important;
  --gf-ctrl-date-picker-shadow: none !important;
  --gf-ctrl-color: var(--form-ink) !important;
  --gf-ctrl-color-hover: var(--form-ink) !important;
  --gf-ctrl-color-focus: var(--form-ink) !important;
  --gf-ctrl-shadow: none !important;
  --gf-ctrl-size: var(--form-size) !important;
  --gf-ctrl-size-sm: var(--form-size) !important;
  --gf-ctrl-size-md: var(--form-size) !important;
  --gf-ctrl-size-lg: var(--form-size) !important;
  --gf-ctrl-size-xl: var(--form-size) !important;
  --gf-ctrl-padding-x: var(--danbi-ep-space-3) !important;
  --gf-ctrl-textarea-padding-y: var(--danbi-ep-space-2) !important;
  --gf-ctrl-textarea-height: 12rem !important;
  --gf-ctrl-textarea-line-height: var(--danbi-ep-line-height-base) !important;
  --gf-ctrl-font-family: inherit !important;
  --gf-ctrl-font-size: var(--danbi-ep-font-size-lg) !important;
  --gf-ctrl-font-weight: var(--danbi-ep-font-weight-base) !important;
  --gf-ctrl-placeholder-color: var(--form-placeholder) !important;
  --gf-ctrl-placeholder-opacity: 1 !important;
  --gf-ctrl-outline-color-focus: var(--form-brand) !important;
  --gf-ctrl-outline-width-focus: 2px !important;
  --gf-ctrl-outline-offset: 1px !important;
  --gf-ctrl-label-color-primary: var(--form-brand) !important;
  --gf-ctrl-label-font-family-primary: var(--danbi-ep-font-sans) !important;
  --gf-ctrl-label-font-size-primary: 1.25rem !important;
  --gf-ctrl-label-font-weight-primary: var(--danbi-ep-font-weight-bold) !important;
  --gf-ctrl-label-line-height-primary: var(--danbi-ep-line-height-tight) !important;
  --gf-label-space-primary: var(--danbi-ep-space-2) !important;
  --gf-ctrl-label-color-secondary: var(--form-brand) !important;
  --gf-ctrl-label-font-size-secondary: var(--danbi-ep-font-size-base) !important;
  --gf-ctrl-label-color-req: var(--form-brand) !important;
  --gf-ctrl-label-font-size-req: var(--danbi-ep-font-size-sm) !important;
  --gf-ctrl-label-font-weight-req: var(--danbi-ep-font-weight-base) !important;
  --gf-ctrl-desc-color: var(--form-ink) !important;
  --gf-ctrl-desc-font-family: inherit !important;
  --gf-ctrl-desc-font-size: var(--danbi-ep-font-size-base) !important;
  --gf-ctrl-desc-color-error: var(--form-brand) !important;
  --gf-ctrl-label-color-tertiary: var(--form-brand) !important;
  --gf-ctrl-label-color-quaternary: var(--form-brand) !important;
  --gf-ctrl-border-color-error: var(--form-brand) !important;
  --gf-ctrl-color-error: var(--form-brand) !important;
  --gf-form-validation-color: var(--form-brand) !important;
  --gf-form-validation-border-color: var(--form-brand) !important;
  --gf-form-validation-heading-color: var(--form-brand) !important;
  --gf-form-validation-summary-color: var(--form-brand) !important;
  --gf-ctrl-icon-color: var(--form-brand) !important;
  --gf-ctrl-btn-radius: 0 !important;
  --gf-ctrl-btn-size: var(--form-size) !important;
  --gf-ctrl-btn-padding-x: var(--danbi-ep-space-6) !important;
  --gf-ctrl-btn-font-family: inherit !important;
  --gf-ctrl-btn-font-size: var(--danbi-ep-font-size-lg) !important;
  --gf-ctrl-btn-font-weight: var(--danbi-ep-font-weight-bold) !important;
  --gf-ctrl-btn-shadow: none !important;
  --gf-ctrl-btn-shadow-hover: none !important;
  --gf-ctrl-btn-shadow-focus: none !important;
  --gf-ctrl-btn-bg-color-primary: var(--form-brand) !important;
  --gf-ctrl-btn-color-primary: var(--form-contrast) !important;
  --gf-ctrl-btn-border-color-primary: var(--form-brand) !important;
  --gf-ctrl-btn-border-width-primary: 1px !important;
  --gf-ctrl-btn-border-style-primary: solid !important;
  --gf-ctrl-btn-bg-color-hover-primary: transparent !important;
  --gf-ctrl-btn-color-hover-primary: var(--form-brand) !important;
  --gf-ctrl-btn-border-color-hover-primary: var(--form-brand) !important;
  --gf-ctrl-btn-bg-color-focus-primary: transparent !important;
  --gf-ctrl-btn-color-focus-primary: var(--form-brand) !important;
  --gf-ctrl-btn-border-color-focus-primary: var(--form-brand) !important;
  --gf-ctrl-choice-size: 1rem !important;
  --gf-ctrl-choice-size-sm: 1rem !important;
  --gf-ctrl-choice-size-md: 1rem !important;
  --gf-ctrl-choice-size-lg: 1rem !important;
  --gf-ctrl-choice-size-xl: 1rem !important;
  --gf-ctrl-radio-check-size: 6px !important;
  --gf-label-space-x-secondary: var(--danbi-ep-space-2) !important;
  --gf-field-choice-gap: var(--danbi-ep-space-2) !important;
  --gf-form-gap-y: var(--danbi-ep-space-6) !important;
  --gf-form-gap-x: var(--danbi-ep-space-4) !important;
  --gf-form-footer-margin-y-start: var(--danbi-ep-space-8) !important;
}

@media (max-width: 767px) {
  .gform_wrapper.gform-theme--framework {
    --form-size: 2.75rem;
    --gf-ctrl-padding-x: var(--danbi-ep-space-2) !important;
    --gf-ctrl-textarea-padding-y: var(--danbi-ep-space-1) !important;
    --gf-ctrl-textarea-height: 8rem !important;
    --gf-ctrl-font-size: var(--danbi-ep-font-size-base) !important;
    --gf-ctrl-label-font-size-primary: 1rem !important;
    --gf-ctrl-label-font-size-secondary: var(--danbi-ep-font-size-sm) !important;
    --gf-ctrl-desc-font-size: var(--danbi-ep-font-size-sm) !important;
    --gf-label-space-primary: var(--danbi-ep-space-1) !important;
    --gf-form-gap-y: var(--danbi-ep-space-4) !important;
    --gf-form-gap-x: var(--danbi-ep-space-2) !important;
    --gf-form-footer-margin-y-start: var(--danbi-ep-space-6) !important;
    --gf-ctrl-btn-size: auto !important;
    --gf-ctrl-btn-radius: var(--danbi-ep-radius-md) !important;
    --gf-ctrl-btn-padding-x: var(--danbi-ep-space-3) !important;
    --gf-ctrl-btn-font-size: var(--danbi-ep-font-size-sm) !important;
    --gf-ctrl-choice-size: 0.875rem !important;
    --gf-ctrl-choice-size-sm: 0.875rem !important;
    --gf-ctrl-choice-size-md: 0.875rem !important;
    --gf-ctrl-choice-size-lg: 0.875rem !important;
    --gf-ctrl-choice-size-xl: 0.875rem !important;
    --gf-ctrl-radio-check-size: 5px !important;
    --gf-label-space-x-secondary: var(--danbi-ep-space-2) !important;
    --gf-field-choice-gap: var(--danbi-ep-space-2) !important;
  }
  .gform_wrapper.gform-theme--framework .gform_footer :is(input, button)[type=submit] {
    width: 100% !important;
    padding-block: 10px !important;
    line-height: var(--danbi-ep-line-height-tight) !important;
  }
}
.gform_wrapper.gform-theme--framework .gform_required_legend {
  color: var(--danbi-ep-color-brand);
  font-size: var(--danbi-ep-font-size-sm);
}

.gform_wrapper.gform-theme--framework .gfield a {
  color: var(--danbi-ep-color-brand);
  text-decoration: underline;
  text-underline-offset: 0.3em;
}

.gform_confirmation_wrapper .gform_confirmation_message a.gravitypdf-download-link {
  display: inline-flex;
  align-items: center;
  gap: var(--danbi-ep-space-2);
  padding: 0.75em 1.5em;
  border: 1px solid var(--danbi-ep-color-brand);
  border-radius: 0;
  background-color: var(--danbi-ep-color-brand);
  color: var(--danbi-ep-color-brand-contrast);
  font-family: var(--danbi-ep-font-sans);
  font-size: var(--danbi-ep-font-size-lg);
  font-weight: 600;
  line-height: var(--danbi-ep-line-height-tight);
  text-decoration: none;
  transition: background-color 220ms cubic-bezier(0.3, 0, 0.2, 1), border-color 220ms cubic-bezier(0.3, 0, 0.2, 1);
}

.gform_confirmation_wrapper .gform_confirmation_message a.gravitypdf-download-link::after {
  content: "↓";
  content: "↓"/"";
}

.gform_confirmation_wrapper .gform_confirmation_message a.gravitypdf-download-link:focus-visible {
  border-color: var(--danbi-ep-color-text, #000);
  background-color: var(--danbi-ep-color-text, #000);
  color: var(--danbi-ep-color-brand-contrast);
}

@media (hover: hover) {
  .gform_confirmation_wrapper .gform_confirmation_message a.gravitypdf-download-link:hover {
    border-color: var(--danbi-ep-color-text, #000);
    background-color: var(--danbi-ep-color-text, #000);
    color: var(--danbi-ep-color-brand-contrast);
  }
}
@media (prefers-reduced-motion: reduce) {
  .gform_confirmation_wrapper .gform_confirmation_message a.gravitypdf-download-link {
    transition: none;
  }
}
.gform_wrapper.gform-theme--framework {
  --form-section-space: var(--danbi-ep-space-8);
  --form-section-rule: color-mix(in srgb, var(--form-brand) 35%, transparent);
}

.gform_wrapper.gform-theme--framework .gfield--type-section {
  margin-block-start: var(--danbi-ep-space-4);
  padding-block: var(--form-section-space) 0;
  border-block-start: 1px solid var(--form-section-rule);
  border-block-end: 0;
}

.gform_wrapper.gform-theme--framework .gform_fields > .gfield--type-section:first-child {
  margin-block-start: 0;
  padding-block-start: 0;
  border-block-start: 0;
}

.gform_wrapper.gform-theme--framework .gsection_title {
  margin: 0;
  font-family: var(--danbi-ep-font-display);
  font-size: var(--danbi-ep-font-size-xl);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
  color: var(--form-brand);
}

.gform_wrapper.gform-theme--framework .gsection_title:empty {
  display: none;
}

.gform_wrapper.gform-theme--framework .gfield--type-section:has(.gsection_title:empty) {
  padding-block-start: 0;
}

.gform_wrapper.gform-theme--framework .gsection_description {
  margin-block-start: var(--danbi-ep-space-2);
  color: var(--form-brand);
}

@media (max-width: 767px) {
  .gform_wrapper.gform-theme--framework {
    --form-section-space: var(--danbi-ep-space-6);
  }
  .gform_wrapper.gform-theme--framework .gfield--type-section {
    margin-block-start: var(--danbi-ep-space-2);
  }
  .gform_wrapper.gform-theme--framework .gsection_title {
    font-size: var(--danbi-ep-font-size-lg);
  }
}
.gform_wrapper.gform-theme--framework .gfield--type-choice :is(input[type=checkbox], input[type=radio]) {
  margin-block-start: calc(var(--gf-ctrl-choice-size) / 4);
}

.gform_wrapper.gform-theme--framework .gfield--type-choice .gform-field-label--type-inline {
  line-height: 1.5;
}

.gform_wrapper.gform-theme--framework .form-consent {
  margin-block-start: var(--danbi-ep-space-2);
}

.gform_wrapper.gform-theme--framework .form-consent > summary {
  display: inline-flex;
  align-items: center;
  gap: var(--danbi-ep-space-2);
  padding: var(--danbi-ep-space-1) var(--danbi-ep-space-3);
  border: 1px solid var(--form-brand);
  color: var(--form-brand);
  font-size: var(--danbi-ep-font-size-sm);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: 1.5;
  cursor: pointer;
  list-style: none;
  transition: background-color 150ms ease, color 150ms ease;
}

.gform_wrapper.gform-theme--framework .form-consent > summary::-webkit-details-marker {
  display: none;
}

.gform_wrapper.gform-theme--framework .form-consent > summary::after {
  content: "";
  border: 0.25rem solid transparent;
  border-block-start-color: currentColor;
  border-block-end-width: 0;
}

.gform_wrapper.gform-theme--framework .form-consent[open] > summary::after {
  transform: rotate(180deg);
}

.gform_wrapper.gform-theme--framework .form-consent > summary:focus-visible {
  background-color: var(--form-brand);
  color: var(--form-contrast);
}

@media (hover: hover) {
  .gform_wrapper.gform-theme--framework .form-consent > summary:hover {
    background-color: var(--form-brand);
    color: var(--form-contrast);
  }
}
@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .gform_wrapper.gform-theme--framework .form-consent > summary {
    transition: none;
  }
}
html[data-udm-motion=off] .gform_wrapper.gform-theme--framework .form-consent > summary {
  transition: none;
}

.gform_wrapper.gform-theme--framework .form-consent > .gfield_consent_description {
  margin-block-start: var(--danbi-ep-space-2);
}

.gform_wrapper.gform-theme--framework .book-pick {
  --book-pick-ink: var(--form-brand);
  --book-pick-bg: color-mix(in srgb, var(--form-brand) 12%, var(--danbi-ep-color-surface));
  --book-pick-qty: 2.5rem;
  grid-column: span 4;
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-3);
  padding: var(--danbi-ep-space-3);
  border: 1px solid var(--form-brand);
  transition: background-color 150ms ease;
}

.gform_wrapper.gform-theme--framework .book-pick--picked {
  background-color: color-mix(in srgb, var(--form-brand) 8%, transparent);
}

.gform_wrapper.gform-theme--framework .book-pick[hidden],
.gform_wrapper.gform-theme--framework .book-pick__summary[hidden] {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .gform_wrapper.gform-theme--framework .book-pick {
    transition: none;
  }
}
html[data-udm-motion=off] .gform_wrapper.gform-theme--framework .book-pick {
  transition: none;
}

.gform_wrapper.gform-theme--framework .book-pick .gfield.koma-f-book {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.gform_wrapper.gform-theme--framework .book-pick .book-pick__cover {
  display: block;
  margin-block-end: var(--danbi-ep-space-3);
}

.gform_wrapper.gform-theme--framework .book-pick .book-pick__cover-image {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid #000;
}

.gform_wrapper.gform-theme--framework .book-pick .koma-f-book .gfield_label {
  margin: 0;
  color: var(--danbi-ep-color-text, #12080a);
  font-size: var(--danbi-ep-font-size-base);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

.gform_wrapper.gform-theme--framework .book-pick .koma-f-book .gfield_description {
  margin: var(--danbi-ep-space-1) 0 0;
  padding: 0;
  color: var(--danbi-ep-color-text, #12080a);
  font-size: var(--danbi-ep-font-size-sm);
}

.gform_wrapper.gform-theme--framework .book-pick .koma-f-book .ginput_container {
  margin: auto 0 0;
  padding-block-start: var(--danbi-ep-space-2);
}

.gform_wrapper.gform-theme--framework .book-pick .ginput_product_price_label,
.gform_wrapper.gform-theme--framework .book-pick .koma-f-book-qty .gfield_label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.gform_wrapper.gform-theme--framework .book-pick .ginput_product_price {
  width: 100%;
  min-height: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  color: var(--danbi-ep-color-text, #12080a);
  font-size: var(--danbi-ep-font-size-base);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

.gform_wrapper.gform-theme--framework .book-pick .book-pick__qty {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: var(--danbi-ep-space-1);
  box-shadow: none;
}

.gform_wrapper.gform-theme--framework .book-pick .book-pick__qty > .gfield {
  display: flex !important;
  flex: 1;
  width: auto !important;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.gform_wrapper.gform-theme--framework .book-pick .koma-f-book-qty .ginput_container_number {
  display: flex;
  flex: 1;
  margin: 0;
}

.gform_wrapper.gform-theme--framework .book-pick .koma-f-book-qty .instruction {
  display: none;
}

.gform_wrapper.gform-theme--framework .book-pick .book-pick__qty input[type=number] {
  flex: 1;
  width: 100%;
  min-width: 2.5rem;
  height: var(--book-pick-qty) !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--book-pick-bg) !important;
  box-shadow: inset 0 0 0 1px var(--book-pick-ink) !important;
  color: var(--book-pick-ink) !important;
  font-family: var(--danbi-ep-font-sans);
  font-size: var(--danbi-ep-font-size-base) !important;
  font-weight: 600;
  text-align: center;
  -webkit-appearance: none !important;
  -moz-appearance: textfield !important;
  appearance: textfield !important;
}

.gform_wrapper.gform-theme--framework .book-pick .book-pick__qty input[type=number]::-webkit-inner-spin-button,
.gform_wrapper.gform-theme--framework .book-pick .book-pick__qty input[type=number]::-webkit-outer-spin-button {
  display: none;
  margin: 0;
  -webkit-appearance: none;
}

.gform_wrapper.gform-theme--framework .book-pick .book-pick__qty .product-detail__qty-step {
  --qty-line: var(--book-pick-ink);
  display: block !important;
  flex: none;
  width: var(--book-pick-qty) !important;
  min-width: 0 !important;
  height: var(--book-pick-qty) !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background-color: var(--book-pick-bg) !important;
  background-image: linear-gradient(var(--qty-line), var(--qty-line)), linear-gradient(var(--qty-line), var(--qty-line)) !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 0.875rem 1px, 1px 0.875rem !important;
  box-shadow: inset 0 0 0 1px var(--book-pick-ink) !important;
  font-size: 0 !important;
  cursor: pointer;
  transition: background-color 150ms ease;
}

.gform_wrapper.gform-theme--framework .book-pick .book-pick__qty .product-detail__qty-step:first-child {
  background-size: 0.875rem 1px, 0 0 !important;
}

.gform_wrapper.gform-theme--framework .book-pick .book-pick__qty .product-detail__qty-step:not(:disabled):is(:hover, :focus-visible) {
  --qty-line: var(--form-contrast);
  background-color: var(--book-pick-ink) !important;
}

.gform_wrapper.gform-theme--framework .book-pick .book-pick__qty .product-detail__qty-step:disabled {
  cursor: default;
  opacity: 0.3;
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .gform_wrapper.gform-theme--framework .book-pick .book-pick__qty .product-detail__qty-step {
    transition: none;
  }
}
html[data-udm-motion=off] .gform_wrapper.gform-theme--framework .book-pick .book-pick__qty .product-detail__qty-step {
  transition: none;
}

.gform_wrapper.gform-theme--framework .book-pick__summary {
  grid-column: 1/-1;
  margin: 0;
  color: var(--form-brand);
  font-weight: var(--danbi-ep-font-weight-bold);
  text-align: end;
}

@media (max-width: 767px) {
  .gform_wrapper.gform-theme--framework .gform_fields:has(> .book-pick) {
    column-gap: var(--danbi-ep-space-2);
  }
  .gform_wrapper.gform-theme--framework .book-pick {
    --book-pick-qty: 1.875rem;
    gap: var(--danbi-ep-space-2);
    padding: var(--danbi-ep-space-2);
  }
  .gform_wrapper.gform-theme--framework .book-pick .book-pick__cover {
    margin-block-end: var(--danbi-ep-space-2);
  }
  .gform_wrapper.gform-theme--framework .book-pick .koma-f-book .gfield_label,
  .gform_wrapper.gform-theme--framework .book-pick .ginput_product_price {
    font-size: var(--danbi-ep-font-size-sm) !important;
  }
  .gform_wrapper.gform-theme--framework .book-pick .koma-f-book .gfield_description {
    font-size: 0.75rem;
  }
  .gform_wrapper.gform-theme--framework .book-pick .book-pick__qty {
    gap: 2px;
  }
  .gform_wrapper.gform-theme--framework .book-pick .book-pick__qty input[type=number] {
    min-width: 1.75rem;
    font-size: var(--danbi-ep-font-size-sm) !important;
  }
  .gform_wrapper.gform-theme--framework .book-pick .book-pick__qty .product-detail__qty-step {
    background-size: 0.625rem 1px, 1px 0.625rem !important;
  }
  .gform_wrapper.gform-theme--framework .book-pick .book-pick__qty .product-detail__qty-step:first-child {
    background-size: 0.625rem 1px, 0 0 !important;
  }
}
.gform_wrapper.gform-theme--framework .gfield--type-number:not(.gfield_error) .gfield_description.instruction {
  display: none;
}

.gform_wrapper.gform-theme--framework .gform-datepicker-calendar {
  border: 1px solid var(--form-brand);
  color: var(--form-ink);
}

.gform_wrapper.gform-theme--framework .gform-datepicker-calendar select.nav.select {
  block-size: 2.25rem !important;
  min-block-size: 0 !important;
  padding-block: 0 !important;
  padding-inline: var(--danbi-ep-space-2) var(--danbi-ep-space-6) !important;
  font-size: var(--danbi-ep-font-size-sm) !important;
  line-height: 2.25rem !important;
}

.gform_wrapper.gform-theme--framework .gform-datepicker-calendar table.calendar td.day span {
  border-radius: 0;
}

.gform_wrapper.gform-theme--framework .gform-datepicker-calendar table.calendar td.dayMarked span {
  --gf-local-bg-color: var(--form-brand);
  --gf-local-color: var(--form-contrast);
}

.gform_wrapper.gform-theme--framework .gform-datepicker-calendar .monthMessage {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.program-detail {
  --program-detail-ink: var(--danbi-ep-color-text, #000);
  --program-detail-rule: var(--danbi-ep-color-brand);
  --program-detail-gap-block: var(--danbi-ep-space-12);
  --program-detail-gap-section: 5rem;
  --program-detail-gap-apply: 8rem;
  --program-detail-gap-end: 8rem;
  padding-block-end: var(--program-detail-gap-end);
  color: var(--program-detail-ink);
  font-size: var(--danbi-ep-font-size-text);
  font-weight: var(--danbi-ep-font-weight-base);
  line-height: var(--danbi-ep-line-height-base);
}

.program-detail__when {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--danbi-ep-space-2) var(--danbi-ep-space-6);
  margin: 0 0 var(--danbi-ep-space-6);
  font-size: var(--danbi-ep-font-size-strong);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}
.program-detail__when .program-mark {
  --program-symbol-size: 0.75rem;
  flex: 0 0 auto;
}
.program-detail__when .program-list__badge {
  margin-inline-start: auto;
  font-size: var(--danbi-ep-font-size-text);
  font-weight: var(--danbi-ep-font-weight-base);
  line-height: var(--danbi-ep-line-height-base);
}

.program-detail__title {
  margin: 0 0 var(--danbi-ep-space-4);
  color: var(--danbi-ep-color-brand);
}

.program-detail__credit,
.program-detail__lede {
  margin: 0;
}

.program-detail__credit {
  color: var(--danbi-ep-color-brand);
}

.program-detail__note.program-detail__note--session {
  margin-block-start: var(--program-detail-gap-apply);
}

.program-detail__note--session + .program-apply {
  margin-block-start: var(--danbi-ep-space-6);
}

.program-detail__summary {
  margin: 0;
}

.program-highlight {
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-2);
  width: 100%;
  margin-block-start: var(--danbi-ep-space-6);
  padding: var(--danbi-ep-space-8) var(--danbi-ep-space-8);
  border-radius: var(--danbi-ep-radius-lg);
  background-color: var(--danbi-ep-color-surface-accent);
  color: var(--danbi-ep-color-text, #000);
  container-type: inline-size;
}
.program-highlight p {
  margin: 0;
}

.program-highlight__lead {
  font-family: var(--danbi-ep-font-display);
  font-size: clamp(1.5rem, 4.2cqi, 2.5rem);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
  letter-spacing: -0.02em;
  text-wrap: balance;
}

.program-highlight__number {
  color: var(--danbi-ep-color-brand);
  font-weight: inherit;
}

.program-highlight__message {
  font-family: var(--danbi-ep-font-sans);
  font-size: var(--danbi-ep-font-size-xl);
  font-weight: 600;
  line-height: var(--danbi-ep-line-height-base);
}

.program-highlight__note {
  margin-block-start: var(--danbi-ep-space-2);
  font-size: var(--danbi-ep-font-size-base);
  line-height: var(--danbi-ep-line-height-tight);
}

@media (max-width: 767px) {
  .program-highlight {
    padding: var(--danbi-ep-space-6);
  }
  .program-highlight__message {
    font-size: var(--danbi-ep-font-size-lg);
  }
}
.program-detail__overview {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--program-detail-gap-block) var(--danbi-ep-grid-gap);
  margin-block-start: var(--program-detail-gap-block);
}

@media (min-width: 1024px) {
  .program-detail__overview--split {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }
}
.program-detail__info {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--danbi-ep-space-8);
}

.program-detail__prose.program-detail__lead {
  margin-block-start: 0;
}

.program-detail__image img {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: auto;
  border: 1px solid var(--danbi-ep-color-brand);
}

.program-detail__facts {
  margin: 0;
  border-block-start: 1px solid var(--program-detail-rule);
}

.program-detail__fact {
  display: grid;
  grid-template-columns: 8rem 1fr;
  align-items: baseline;
  gap: var(--danbi-ep-space-6);
  padding-block: var(--danbi-ep-space-2);
  border-block-end: 1px solid var(--program-detail-rule);
  font-size: var(--danbi-ep-font-size-lg);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-base);
}
.program-detail__fact dd {
  margin: 0;
  font-weight: var(--danbi-ep-font-weight-base);
}

.program-detail__prose {
  margin-block-start: var(--program-detail-gap-block);
}
.program-detail__prose > * {
  margin-block: 0;
}
.program-detail__prose > * + * {
  margin-block-start: var(--danbi-ep-space-6);
}
.program-detail__prose > h3 {
  display: flex;
  align-items: center;
  gap: var(--danbi-ep-space-4);
  color: var(--danbi-ep-color-brand);
  font-family: var(--danbi-ep-font-display);
  font-size: var(--danbi-ep-font-size-display);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-display);
  letter-spacing: -0.02em;
}
.program-detail__prose > h3::after {
  content: "";
  flex: 1;
  border-block-start: 1px solid var(--program-detail-rule);
}
.program-detail__prose > * + h3 {
  margin-block-start: var(--program-detail-gap-section);
}
.program-detail__prose ul,
.program-detail__prose ol {
  margin-inline: 0;
  padding-inline-start: 1.2em;
}
.program-detail__prose li > ul,
.program-detail__prose li > ol {
  margin-block-start: var(--danbi-ep-space-1);
}
.program-detail__prose li + li {
  margin-block-start: var(--danbi-ep-space-1);
}
.program-detail__prose a {
  color: var(--danbi-ep-color-brand);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.program-detail__prose strong,
.program-detail__prose b {
  font-weight: inherit;
}

.program-detail__split {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--danbi-ep-space-6) var(--danbi-ep-grid-gap);
}
.program-detail__split figure {
  margin: 0;
}
.program-detail__split img {
  display: block;
  width: 100%;
  height: auto;
}

.program-detail__split-text > * {
  margin-block: 0;
}
.program-detail__split-text > * + * {
  margin-block-start: var(--danbi-ep-space-6);
}

@media (min-width: 1024px) {
  .program-detail__split {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }
}
.program-detail__prose .program-steps {
  padding: 0;
  list-style: none;
}
.program-detail__prose .program-steps li {
  margin: 0;
  padding-block: var(--danbi-ep-space-4);
  border-block-end: 1px solid var(--program-detail-rule);
}
.program-detail__prose .program-steps li:first-child {
  padding-block-start: 0;
}
.program-detail__prose .program-steps strong {
  display: block;
  margin-block-end: var(--danbi-ep-space-1);
  color: var(--danbi-ep-color-brand);
  font-size: var(--danbi-ep-font-size-strong);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

.program-access__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  gap: var(--danbi-ep-space-3);
}

.program-access__item {
  --program-access-icon: 3.5rem;
  --program-access-pad: var(--danbi-ep-space-6);
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--danbi-ep-space-1);
  min-height: calc(var(--program-access-icon) + var(--program-access-pad) * 2);
  padding: 15px;
  padding-inline-start: calc(var(--program-access-pad) + var(--program-access-icon) + var(--danbi-ep-space-4));
  border-radius: var(--danbi-ep-radius-lg);
  background-color: var(--danbi-ep-color-surface-accent);
}

.program-access__item--plain {
  padding-inline-start: var(--program-access-pad);
}

.program-access__icon {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: var(--program-access-pad);
  display: grid;
  place-items: center;
  width: var(--program-access-icon);
  height: var(--program-access-icon);
  transform: translateY(-50%);
  color: var(--danbi-ep-color-brand);
  font-size: calc(var(--program-access-icon) * 0.85);
  line-height: 1;
}
.program-access__icon svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.program-access__icon svg path:not([stroke]) {
  fill: currentColor;
}

.program-detail__prose .program-access__item b {
  font-size: var(--danbi-ep-font-size-lg);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-base);
}

.program-detail__prose .program-steps {
  counter-reset: program-step;
}
.program-detail__prose .program-steps li {
  counter-increment: program-step;
}
.program-detail__prose .program-steps strong::before {
  content: counter(program-step) ". ";
}
.program-detail__prose .program-steps span {
  display: block;
}

.program-detail__prose .program-sessions {
  padding: 0;
  list-style: none;
}

.program-sessions__item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "name badge" "when when" "summary summary";
  align-items: baseline;
  gap: var(--danbi-ep-space-1) var(--danbi-ep-space-4);
  margin: 0;
  padding-block: var(--danbi-ep-space-4);
  border-block-end: 1px solid var(--program-detail-rule);
}

.program-sessions__item:first-child {
  padding-block-start: 0;
}

.program-detail__prose .program-sessions__name {
  grid-area: name;
  justify-self: start;
  color: var(--danbi-ep-color-brand);
  text-decoration: none;
  font-size: var(--danbi-ep-font-size-strong);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

.program-detail__prose a.program-sessions__name:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

@media (hover: hover) {
  .program-detail__prose a.program-sessions__name:hover {
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }
}
.program-sessions__when {
  grid-area: when;
}

.program-sessions__item .program-list__badge {
  grid-area: badge;
  margin: 0;
  font-size: var(--danbi-ep-font-size-text);
  font-weight: var(--danbi-ep-font-weight-base);
  line-height: var(--danbi-ep-line-height-base);
}

.program-sessions__summary {
  grid-area: summary;
}

.program-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--danbi-ep-grid-gap);
}
.program-gallery figure {
  margin: 0;
}
.program-gallery img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3/4;
  object-fit: cover;
  border-radius: var(--danbi-ep-radius-md);
}

.program-gallery--slider {
  position: relative;
  display: block;
}

.program-gallery__track {
  display: flex;
  gap: var(--danbi-ep-grid-gap);
}
.program-gallery__track figure {
  flex: 0 0 min(85%, 34rem);
}

.program-gallery--slider .program-gallery__track img {
  aspect-ratio: auto;
  object-fit: contain;
  box-sizing: border-box;
  border: 1px solid var(--danbi-ep-color-brand);
  -webkit-user-drag: none;
}

.program-detail__prose .program-gallery__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  margin: 0;
  padding: 0;
  border: 1px solid var(--danbi-ep-color-brand);
  border-radius: 0;
  background: var(--danbi-ep-color-surface);
  color: var(--danbi-ep-color-brand);
  font: inherit;
  line-height: 1;
  cursor: pointer;
}

.program-detail__prose .program-gallery__nav--prev {
  inset-inline-start: var(--danbi-ep-space-2);
}

.program-detail__prose .program-gallery__nav--next {
  inset-inline-end: var(--danbi-ep-space-2);
}

.program-detail__prose .program-gallery__nav:disabled {
  cursor: default;
  opacity: 0.35;
}

.program-detail__prose .program-gallery__nav[hidden] {
  display: none;
}

.program-preview img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--danbi-ep-radius-md);
}

@media (min-width: 768px) {
  .program-gallery {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.program-detail__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--danbi-ep-space-4);
  margin-block-start: var(--program-detail-gap-section);
}

.program-detail__button {
  display: inline-flex;
  align-items: baseline;
  gap: 0.4em;
  padding: 0.6em 1.2em;
  border: 1px solid var(--danbi-ep-color-brand);
  color: var(--danbi-ep-color-brand);
  text-decoration: none;
  font-size: var(--danbi-ep-font-size-strong);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

.program-detail__button--primary {
  background: var(--danbi-ep-color-brand);
  color: var(--danbi-ep-color-brand-contrast);
}

.program-detail__button:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

@media (hover: hover) {
  .program-detail__button:hover {
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }
}
.program-detail__prose a.program-detail__book-link {
  display: inline-flex;
  align-items: baseline;
  gap: 0.4em;
  padding: 0.45em 1em;
  border: 1px solid var(--danbi-ep-color-brand);
  background-color: color-mix(in srgb, var(--danbi-ep-color-brand) 12%, var(--danbi-ep-color-surface));
  color: var(--danbi-ep-color-brand);
  text-decoration: none;
  transition: background-color 180ms cubic-bezier(0.3, 0, 0.2, 1), color 180ms cubic-bezier(0.3, 0, 0.2, 1);
  font-size: var(--danbi-ep-font-size-text);
  font-weight: var(--danbi-ep-font-weight-base);
  line-height: var(--danbi-ep-line-height-base);
}

.program-detail__prose a.program-detail__book-link:focus-visible {
  background-color: var(--danbi-ep-color-brand);
  color: var(--danbi-ep-color-brand-contrast);
  text-decoration: none;
}

@media (hover: hover) {
  .program-detail__prose a.program-detail__book-link:hover {
    background-color: var(--danbi-ep-color-brand);
    color: var(--danbi-ep-color-brand-contrast);
    text-decoration: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .program-detail__prose a.program-detail__book-link {
    transition: none;
  }
}
html[data-udm-motion=off] .program-detail__prose a.program-detail__book-link {
  transition: none;
}

.program-detail__button-price {
  font-size: var(--danbi-ep-font-size-text);
  font-weight: var(--danbi-ep-font-weight-base);
  line-height: var(--danbi-ep-line-height-base);
}

.program-detail__note {
  margin: var(--program-detail-gap-section) 0 0;
}

.program-detail__actions + .program-detail__note,
.program-apply + .program-detail__note {
  margin-block-start: var(--danbi-ep-space-4);
}

.program-detail__back {
  margin: var(--program-detail-gap-section) 0 0;
}
.program-detail__back a {
  color: inherit;
}

.program-payment {
  --program-detail-gap-section: var(--program-detail-gap-block);
  --program-detail-gap-end: 0;
  margin-block-start: var(--danbi-ep-space-8);
}

.program-payment__summary {
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-4);
}

.program-payment__title {
  margin: 0;
  color: var(--danbi-ep-color-text, #000);
  font-size: var(--danbi-ep-font-size-strong);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

.program-payment .program-detail__button--pay {
  --program-form-size: 3.25rem;
  align-items: center;
  justify-content: center;
  gap: var(--danbi-ep-space-2);
  min-width: 16rem;
  min-height: var(--program-form-size);
  padding: 0 var(--danbi-ep-space-6);
  border: 1px solid var(--danbi-ep-color-brand);
  border-radius: 0;
  background: var(--danbi-ep-color-brand);
  color: var(--danbi-ep-color-brand-contrast);
  font-size: var(--danbi-ep-font-size-lg);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
  text-decoration: none;
  transition: background-color 180ms cubic-bezier(0.3, 0, 0.2, 1), color 180ms cubic-bezier(0.3, 0, 0.2, 1);
}

.program-payment .program-detail__button--pay .program-detail__button-price {
  font-size: inherit;
  font-weight: var(--danbi-ep-font-weight-base);
}

.program-payment .program-detail__button--pay:focus-visible {
  background: transparent;
  color: var(--danbi-ep-color-brand);
  text-decoration: none;
}

@media (hover: hover) {
  .program-payment .program-detail__button--pay:hover {
    background: transparent;
    color: var(--danbi-ep-color-brand);
    text-decoration: none;
  }
}
.program-payment .program-detail__back a {
  color: var(--danbi-ep-color-text, #000);
  text-decoration: underline;
  text-underline-offset: 0.3em;
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .program-payment .program-detail__button--pay {
    transition: none;
  }
}
html[data-udm-motion=off] .program-payment .program-detail__button--pay {
  transition: none;
}

@media (max-width: 767px) {
  .program-payment .program-detail__button--pay {
    --program-form-size: 2.75rem;
    width: 100%;
    min-width: 0;
    font-size: var(--danbi-ep-font-size-base);
  }
}
.program-apply {
  margin-block-start: var(--program-detail-gap-apply, 8rem);
  scroll-margin-block-start: var(--danbi-ep-space-8);
}

.program-apply__title {
  display: flex;
  align-items: center;
  gap: var(--danbi-ep-space-4);
  margin: 0 0 var(--danbi-ep-space-6);
  color: var(--danbi-ep-color-brand);
  font-family: var(--danbi-ep-font-display);
  font-size: var(--danbi-ep-font-size-display);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-display);
  letter-spacing: -0.02em;
}

.program-apply__title::after {
  content: "";
  flex: 1;
  border-block-start: 1px solid var(--program-detail-rule, var(--danbi-ep-color-brand));
}

.program-apply__note {
  margin-block-end: var(--danbi-ep-space-6);
  padding: var(--danbi-ep-space-4) var(--danbi-ep-space-6);
  background-color: var(--danbi-ep-color-surface-accent);
  color: var(--danbi-ep-color-text, #000);
  line-height: var(--danbi-ep-line-height-base);
}
@media (max-width: 767px) {
  .program-apply__note {
    padding: var(--danbi-ep-space-3) var(--danbi-ep-space-4);
  }
}
.program-apply__note strong {
  color: var(--danbi-ep-color-brand);
}
.program-apply__note p > strong:first-child {
  display: block;
  margin-block-end: var(--danbi-ep-space-1);
}
.program-apply__note a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.3em;
}

.program-apply__note > :first-child {
  margin-block-start: 0;
}

.program-apply__note > :last-child {
  margin-block-end: 0;
}

.program-apply__intro {
  margin: 0 0 var(--danbi-ep-space-6);
  color: var(--danbi-ep-color-text, #000);
  line-height: var(--danbi-ep-line-height-base);
}

@media (max-width: 767px) {
  .program-detail {
    --program-detail-gap-block: var(--danbi-ep-space-8);
    --program-detail-gap-section: 3rem;
    --program-detail-gap-apply: 4rem;
    --program-detail-gap-end: 4rem;
    font-size: var(--danbi-ep-font-size-base);
  }
  .program-detail__when {
    font-size: var(--danbi-ep-font-size-lg);
  }
  .program-detail__when .program-list__badge {
    font-size: var(--danbi-ep-font-size-sm);
  }
  .program-detail__fact {
    grid-template-columns: 4.5rem 1fr;
    gap: var(--danbi-ep-space-2);
    font-size: var(--danbi-ep-font-size-sm);
  }
  .program-detail__prose > h3,
  .program-apply__title {
    font-size: 1.5rem;
  }
  .program-detail__prose > * + * {
    margin-block-start: var(--danbi-ep-space-4);
  }
  .program-detail__prose .program-steps strong,
  .program-detail__prose .program-sessions__name {
    font-size: var(--danbi-ep-font-size-lg);
  }
  .program-detail__prose .program-steps li,
  .program-sessions__item {
    padding-block: var(--danbi-ep-space-3);
  }
  .program-sessions__item .program-list__badge {
    font-size: var(--danbi-ep-font-size-sm);
  }
  .program-gallery,
  .program-gallery__track {
    gap: var(--danbi-ep-space-2);
  }
  .program-access__item {
    --program-access-icon: 2.5rem;
    --program-access-pad: var(--danbi-ep-space-3);
  }
  .program-detail__prose .program-access__item b {
    font-size: var(--danbi-ep-font-size-base);
  }
  .program-detail__actions {
    flex-direction: column;
    gap: var(--danbi-ep-space-2);
  }
  .program-detail__button {
    justify-content: center;
    padding: 10px var(--danbi-ep-space-3);
    border-radius: var(--danbi-ep-radius-md);
    font-size: var(--danbi-ep-font-size-sm);
  }
  .program-detail__button-price {
    font-size: var(--danbi-ep-font-size-sm);
  }
}
.program-apply__locked {
  position: relative;
}

.program-apply__preview {
  position: relative;
  max-height: 36rem;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
}

.program-apply__preview::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, color-mix(in srgb, var(--danbi-ep-color-surface) 0%, transparent) 0%, color-mix(in srgb, var(--danbi-ep-color-surface) 70%, transparent) 45%, var(--danbi-ep-color-surface) 85%);
}

.program-apply__gate {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--danbi-ep-space-4);
  margin-block-start: -6rem;
  text-align: center;
}

.program-apply__gate-text {
  margin: 0;
  color: var(--danbi-ep-color-brand);
  font-size: var(--danbi-ep-font-size-strong);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

.program-apply__gate-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--danbi-ep-space-2);
}

.program-apply__gate .program-apply__gate-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 10rem;
  min-height: 3.25rem;
  padding: 0 var(--danbi-ep-space-6);
  border: 1px solid var(--danbi-ep-color-brand);
  border-radius: 0;
  background: transparent;
  color: var(--danbi-ep-color-brand);
  font-weight: var(--danbi-ep-font-weight-bold);
  text-decoration: none;
  transition: background-color 150ms ease, color 150ms ease;
}

.program-apply__gate .program-apply__gate-button--primary,
.program-apply__gate .program-apply__gate-button:not(.program-apply__gate-button--primary):is(:hover, :focus-visible) {
  background: var(--danbi-ep-color-brand);
  color: var(--danbi-ep-color-brand-contrast);
}

.program-apply__gate .program-apply__gate-button--primary:is(:hover, :focus-visible) {
  background: transparent;
  color: var(--danbi-ep-color-brand);
}

.program-apply__gate .program-apply__gate-button:focus-visible {
  outline: 2px solid var(--danbi-ep-color-brand);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .program-apply__gate .program-apply__gate-button {
    transition: none;
  }
}
html[data-udm-motion=off] .program-apply__gate .program-apply__gate-button {
  transition: none;
}

@media (max-width: 767px) {
  .program-apply__preview {
    max-height: 28rem;
  }
  .program-apply__gate {
    margin-block-start: -5rem;
  }
  .program-apply__gate-actions {
    width: 100%;
  }
  .program-apply__gate .program-apply__gate-button {
    flex: 1;
    min-width: 0;
    min-height: 2.75rem;
    padding: 0 var(--danbi-ep-space-3);
    font-size: var(--danbi-ep-font-size-sm);
  }
}
.program-book-groups {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: var(--danbi-ep-grid-gap);
  margin-block: var(--danbi-ep-space-6);
}

.program-book-group {
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-4);
  padding: var(--danbi-ep-space-6);
  border-radius: var(--danbi-ep-radius-lg);
  background-color: var(--danbi-ep-color-surface-accent);
  color: var(--danbi-ep-color-text, #000);
}

.program-detail__prose .program-book-group__title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--danbi-ep-space-1) var(--danbi-ep-space-3);
  margin: 0;
  color: var(--danbi-ep-color-brand);
  font-family: var(--danbi-ep-font-sans);
  font-size: var(--danbi-ep-font-size-xl);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

.program-book-group__subtitle {
  color: var(--danbi-ep-color-text, #000);
  font-size: var(--danbi-ep-font-size-base);
  font-weight: var(--danbi-ep-font-weight-base);
}

.program-detail__prose .program-book-group__books {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--danbi-ep-space-4) var(--danbi-ep-space-3);
  align-items: start;
  margin: 0;
  padding: 0;
  list-style: none;
}

.program-detail__prose .program-book-group__book {
  margin: 0;
}

.program-detail__prose a.program-book-group__book-link {
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-2);
  color: inherit;
  text-decoration: none;
}

.program-book-group__cover {
  display: block;
  border: 1px solid var(--danbi-ep-color-text, #000);
  background-color: var(--danbi-ep-color-surface);
}
.program-book-group__cover img {
  display: block;
  width: 100%;
  height: auto;
}

.program-book-group__cover--empty {
  aspect-ratio: 3/4;
}

.program-book-group__book-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  word-break: keep-all;
}

.program-book-group__book-title {
  font-size: var(--danbi-ep-font-size-sm);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

.program-book-group__book-credit {
  font-size: var(--danbi-ep-font-size-sm);
  line-height: var(--danbi-ep-line-height-tight);
}

.program-detail__prose a.program-book-group__book-link:focus-visible {
  outline: 2px solid var(--danbi-ep-color-brand);
  outline-offset: 2px;
}
.program-detail__prose a.program-book-group__book-link:focus-visible .program-book-group__book-title {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

@media (hover: hover) {
  .program-detail__prose a.program-book-group__book-link:hover .program-book-group__book-title {
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }
}
.program-detail__prose .program-book-group__facts {
  margin: auto 0 0;
  border-block-end: 1px solid color-mix(in srgb, var(--danbi-ep-color-brand) 35%, transparent);
  font-size: var(--danbi-ep-font-size-base);
  line-height: var(--danbi-ep-line-height-base);
}

.program-book-group__fact {
  display: grid;
  grid-template-columns: 6rem minmax(0, 1fr);
  gap: var(--danbi-ep-space-3);
  padding-block: var(--danbi-ep-space-2);
  border-block-start: 1px solid color-mix(in srgb, var(--danbi-ep-color-brand) 35%, transparent);
}
.program-book-group__fact dt {
  color: var(--danbi-ep-color-brand);
  font-weight: var(--danbi-ep-font-weight-bold);
}
.program-book-group__fact dd {
  margin: 0;
}

@media (max-width: 767px) {
  .program-book-group {
    padding: var(--danbi-ep-space-4);
  }
}
.programs {
  color: var(--danbi-ep-color-text, #000);
}

:where(.programs, .program-calendar, .program-upcoming) :is(h1, h2, h3, h4, h5, h6) {
  color: var(--danbi-ep-color-text, #000);
}

.programs__title {
  margin: 0 0 var(--danbi-ep-space-4);
}

.programs__title-accent {
  color: var(--danbi-ep-color-brand);
}

.programs__lead {
  margin: 0;
  font-size: var(--danbi-ep-font-size-lg);
  line-height: var(--danbi-ep-line-height-base);
}

.program-upcoming {
  --program-upcoming-ink: var(--danbi-ep-color-text, #000);
  --program-upcoming-label: 6rem;
  --program-upcoming-pad: var(--danbi-ep-space-6);
  margin-block-start: var(--danbi-ep-space-12);
  color: var(--program-upcoming-ink);
}

.program-upcoming__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--danbi-ep-space-3) var(--danbi-ep-space-6);
  margin-block-end: var(--danbi-ep-space-8);
}

.program-upcoming__heading {
  margin: 0;
  font-family: var(--danbi-ep-font-display);
  font-size: var(--danbi-ep-font-size-h1);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-display);
  letter-spacing: -0.02em;
  color: inherit;
}

.program-upcoming__list {
  display: grid;
  gap: var(--danbi-ep-space-6);
  margin: 0;
  padding: 0;
  list-style: none;
}

.program-upcoming__item {
  margin: 0;
  border-radius: var(--danbi-ep-radius-lg);
  background-color: var(--danbi-ep-color-surface-accent);
  transition: background-color 220ms cubic-bezier(0.3, 0, 0.2, 1), color 220ms cubic-bezier(0.3, 0, 0.2, 1);
}

.program-upcoming__title {
  margin: 0;
  font-family: var(--danbi-ep-font-sans);
  font-size: var(--danbi-ep-font-size-2xl);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
  color: inherit;
}

.program-upcoming .program-upcoming__toggle {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: var(--danbi-ep-space-4);
  align-items: start;
  width: 100%;
  margin: 0;
  padding: var(--program-upcoming-pad);
  border: 0;
  border-radius: inherit;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: start;
  cursor: pointer;
  transition: none;
}

.program-upcoming .program-upcoming__toggle:hover,
.program-upcoming .program-upcoming__toggle:focus {
  background: transparent;
  color: inherit;
}

.program-upcoming .program-upcoming__toggle:focus-visible {
  outline: 2px solid var(--danbi-ep-color-brand);
  outline-offset: 2px;
}

.program-upcoming__name {
  grid-column: 1;
}

.program-upcoming__when {
  display: block;
  grid-column: 1;
  margin: var(--danbi-ep-space-2) 0 0;
  font-size: var(--danbi-ep-font-size-lg);
  font-weight: var(--danbi-ep-font-weight-base);
  line-height: var(--danbi-ep-line-height-tight);
}

.program-upcoming__arrow {
  display: none;
  grid-column: 2;
  grid-row: 1/span 2;
  width: 1.75rem;
  height: 1.75rem;
}
.program-upcoming__arrow svg {
  display: block;
  width: 100%;
  height: 100%;
}

.program-upcoming__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--danbi-ep-grid-gap);
  padding: 0 var(--program-upcoming-pad) var(--program-upcoming-pad);
}

.program-upcoming {
  --program-upcoming-speed: 320ms;
  --program-upcoming-ease: cubic-bezier(0.3, 0, 0.2, 1);
}

.program-upcoming[data-upcoming-ready] .program-upcoming__arrow {
  display: block;
  transform: rotate(180deg);
  transition: transform var(--program-upcoming-speed) var(--program-upcoming-ease);
}
.program-upcoming[data-upcoming-ready] .program-upcoming__panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows var(--program-upcoming-speed) var(--program-upcoming-ease);
}
.program-upcoming[data-upcoming-ready] .program-upcoming__panel-inner {
  min-height: 0;
  overflow: hidden;
  visibility: hidden;
  transition: visibility 0s linear var(--program-upcoming-speed);
}
.program-upcoming[data-upcoming-ready] .program-upcoming__item:not(.program-upcoming__item--open):has(.program-upcoming__toggle:focus-visible) {
  background-color: var(--danbi-ep-color-brand);
  color: var(--danbi-ep-color-brand-contrast);
}
@media (hover: hover) {
  .program-upcoming[data-upcoming-ready] .program-upcoming__item:not(.program-upcoming__item--open):hover {
    background-color: var(--danbi-ep-color-brand);
    color: var(--danbi-ep-color-brand-contrast);
  }
}
.program-upcoming[data-upcoming-ready] .program-upcoming__item--open .program-upcoming__arrow {
  transform: rotate(0deg);
}
.program-upcoming[data-upcoming-ready] .program-upcoming__item--open .program-upcoming__panel {
  grid-template-rows: 1fr;
}
.program-upcoming[data-upcoming-ready] .program-upcoming__item--open .program-upcoming__panel-inner {
  visibility: visible;
  transition-delay: 0s;
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .program-upcoming {
    --program-upcoming-speed: 0s;
  }
  html:not([data-udm-motion=on]) .program-upcoming__item {
    transition: none;
  }
}
html[data-udm-motion=off] .program-upcoming {
  --program-upcoming-speed: 0s;
}
html[data-udm-motion=off] .program-upcoming__item {
  transition: none;
}

.program-upcoming__image {
  display: block;
  align-self: start;
  overflow: hidden;
  border: 1px solid var(--program-upcoming-ink);
  border-radius: var(--danbi-ep-radius-md);
}

.program-upcoming__image-file {
  display: block;
  width: 100%;
  height: auto;
}

.program-upcoming__info {
  display: flex;
  flex-direction: column;
}

.program-upcoming__facts {
  margin: 0;
  border-block-end: 1px solid var(--program-upcoming-ink);
  font-size: var(--danbi-ep-font-size-lg);
  line-height: var(--danbi-ep-line-height-base);
}

.program-upcoming__fact {
  display: grid;
  grid-template-columns: var(--program-upcoming-label) minmax(0, 1fr);
  gap: var(--danbi-ep-space-4);
  padding-block: var(--danbi-ep-space-2);
  border-block-start: 1px solid var(--program-upcoming-ink);
}
.program-upcoming__fact dt {
  font-weight: inherit;
}
.program-upcoming__fact dd {
  margin: 0;
}

.program-upcoming__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--danbi-ep-space-3);
  margin: auto 0 0;
  padding-block-start: var(--danbi-ep-space-6);
}

.program-upcoming .program-upcoming__button {
  display: inline-flex;
  align-items: center;
  gap: 0.3em;
  padding: 0.15em 0.35em;
  background-color: var(--program-upcoming-ink);
  color: var(--danbi-ep-color-brand-contrast);
  font-family: var(--danbi-ep-font-sans);
  font-size: var(--danbi-ep-font-size-xl);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 220ms cubic-bezier(0.3, 0, 0.2, 1);
}

.program-upcoming .program-upcoming__button--primary {
  background-color: var(--danbi-ep-color-brand);
}

.program-upcoming .program-upcoming__button:focus-visible {
  background-color: var(--danbi-ep-color-brand);
  color: var(--danbi-ep-color-brand-contrast);
}

@media (hover: hover) {
  .program-upcoming .program-upcoming__button:hover {
    background-color: var(--danbi-ep-color-brand);
    color: var(--danbi-ep-color-brand-contrast);
  }
}
.program-upcoming .program-upcoming__button--primary:focus-visible {
  background-color: var(--program-upcoming-ink);
}

@media (hover: hover) {
  .program-upcoming .program-upcoming__button--primary:hover {
    background-color: var(--program-upcoming-ink);
  }
}
.program-upcoming .program-upcoming__button--closed,
.program-upcoming .program-upcoming__button--closed:hover {
  background-color: color-mix(in srgb, var(--danbi-ep-color-brand) 45%, var(--danbi-ep-color-surface));
  cursor: default;
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .program-upcoming .program-upcoming__button {
    transition: none;
  }
}
html[data-udm-motion=off] .program-upcoming .program-upcoming__button {
  transition: none;
}

@media (max-width: 767px) {
  .program-upcoming {
    --program-upcoming-label: 4.5rem;
    --program-upcoming-pad: var(--danbi-ep-space-4);
  }
  .program-upcoming__head {
    margin-block-end: var(--danbi-ep-space-6);
  }
  .program-upcoming__list {
    gap: var(--danbi-ep-space-4);
  }
  .program-upcoming__title {
    font-size: var(--danbi-ep-font-size-lg);
  }
  .program-upcoming__when {
    font-size: var(--danbi-ep-font-size-base);
  }
  .program-upcoming__body {
    gap: var(--danbi-ep-space-4);
  }
  .program-upcoming__arrow {
    width: 1.25rem;
    height: 1.25rem;
  }
  .program-upcoming__facts {
    font-size: var(--danbi-ep-font-size-sm);
  }
  .program-upcoming__fact {
    gap: var(--danbi-ep-space-2);
    padding-block: var(--danbi-ep-space-1);
  }
  .program-upcoming__actions {
    gap: var(--danbi-ep-space-2);
    padding-block-start: var(--danbi-ep-space-4);
  }
  .program-upcoming .program-upcoming__button {
    flex: 1 1 0;
    justify-content: center;
    padding: 10px var(--danbi-ep-space-3);
    border-radius: var(--danbi-ep-radius-md);
    font-size: var(--danbi-ep-font-size-sm);
  }
}
@media (min-width: 768px) {
  .program-upcoming {
    --program-upcoming-label: 9rem;
    --program-upcoming-pad: var(--danbi-ep-space-8);
  }
  .program-upcoming__body--split {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  }
}
.programs:has(.group-apply__steps) .programs__lead {
  line-height: 1.75;
}

.group-apply__steps {
  margin-block-start: var(--danbi-ep-space-2);
  line-height: 1.75;
}
.group-apply__steps > li + li {
  margin-block-start: var(--danbi-ep-space-2);
}

.entry-content:has(.group-apply__steps) .gform_wrapper.gform-theme--framework {
  --gf-ctrl-label-line-height-primary: 1.45 !important;
  --gf-ctrl-label-line-height-secondary: 1.6 !important;
  --gf-ctrl-label-line-height-tertiary: 1.6 !important;
  --gf-ctrl-desc-line-height: 1.7 !important;
  --gf-ctrl-textarea-line-height: 1.75 !important;
}

.program-archive {
  --program-archive-ink: var(--danbi-ep-color-text, #000);
  --program-archive-pad: 15px;
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-6);
  margin-block-start: var(--danbi-ep-space-12);
  padding-block-end: 8rem;
  color: var(--program-archive-ink);
}

.program-archive__filter-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--danbi-ep-space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.program-archive__filter-item {
  margin: 0;
}

.program-archive .program-archive__filter {
  display: inline-flex;
  align-items: center;
  padding: 0.6em 1.2em;
  border-radius: var(--danbi-ep-radius-md);
  background: var(--danbi-ep-color-surface-accent);
  color: var(--danbi-ep-color-text, #12080a);
  font-family: var(--danbi-ep-font-sans);
  font-size: var(--danbi-ep-font-size-base);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
  text-decoration: none;
  transition: background-color 220ms cubic-bezier(0.3, 0, 0.2, 1), color 220ms cubic-bezier(0.3, 0, 0.2, 1);
}

.program-archive .program-archive__filter:focus-visible,
.program-archive .program-archive__filter--current {
  background: var(--danbi-ep-color-text, #12080a);
  color: var(--danbi-ep-color-brand-contrast);
}

@media (hover: hover) {
  .program-archive .program-archive__filter:hover {
    background: var(--danbi-ep-color-text, #12080a);
    color: var(--danbi-ep-color-brand-contrast);
  }
}
.program-archive__list {
  transition: opacity 0.18s ease;
}

.program-archive__list--switching {
  opacity: 0;
}

.program-archive__item[hidden] {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .program-archive .program-archive__filter,
  html:not([data-udm-motion=on]) .program-archive__list {
    transition: none;
  }
}
html[data-udm-motion=off] .program-archive .program-archive__filter,
html[data-udm-motion=off] .program-archive__list {
  transition: none;
}

@media (max-width: 767px) {
  .program-archive__filter-list {
    gap: 5px;
  }
  .program-archive .program-archive__filter {
    padding: 0.5em 0.9em;
    font-size: 12px;
  }
}
.program-archive__heading {
  margin: 0;
  font-family: var(--danbi-ep-font-display);
  font-size: var(--danbi-ep-font-size-h1);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-display);
  letter-spacing: -0.02em;
  color: var(--program-archive-ink);
}

.program-archive__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr));
  gap: var(--danbi-ep-grid-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}

.program-archive__item {
  display: flex;
  margin: 0;
}

.program-archive .program-archive__card {
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-4);
  width: 100%;
  padding: var(--program-archive-pad);
  border-radius: var(--danbi-ep-radius-lg);
  background-color: var(--danbi-ep-color-surface-accent);
  color: var(--program-archive-ink);
  text-decoration: none;
  transition: background-color 220ms cubic-bezier(0.3, 0, 0.2, 1), color 220ms cubic-bezier(0.3, 0, 0.2, 1);
}

.program-archive .program-archive__card:focus-visible {
  background-color: var(--danbi-ep-color-text, #12080a);
  color: var(--danbi-ep-color-brand-contrast);
}

@media (hover: hover) {
  .program-archive .program-archive__card:hover {
    background-color: var(--danbi-ep-color-text, #12080a);
    color: var(--danbi-ep-color-brand-contrast);
  }
}
@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .program-archive .program-archive__card {
    transition: none;
  }
}
html[data-udm-motion=off] .program-archive .program-archive__card {
  transition: none;
}

.program-archive__image {
  position: relative;
  display: block;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: var(--danbi-ep-radius-md);
  background-color: var(--danbi-ep-color-surface);
}

.program-archive__image-file {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.program-archive__image--empty {
  display: flex;
  align-items: center;
  justify-content: center;
}
.program-archive__image--empty .program-mark {
  --program-symbol-size: 4rem;
}

.program-archive__item--past .program-archive__image-file {
  filter: saturate(0.6);
  opacity: 0.85;
}

.program-archive__badge {
  position: absolute;
  inset-block-start: var(--danbi-ep-space-3);
  inset-inline-start: var(--danbi-ep-space-3);
  padding: var(--danbi-ep-space-1) var(--danbi-ep-space-2);
  background-color: var(--danbi-ep-color-text, #12080a);
  color: var(--danbi-ep-color-brand-contrast);
  font-size: var(--danbi-ep-font-size-sm);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

.program-archive__item--now .program-archive__badge {
  background-color: var(--danbi-ep-color-brand);
}

.program-archive__body {
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-2);
}

.program-archive__title {
  font-size: var(--danbi-ep-font-size-xl);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

.program-archive__when {
  font-size: var(--danbi-ep-font-size-base);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-base);
}

.program-archive__summary {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  font-size: var(--danbi-ep-font-size-base);
  line-height: var(--danbi-ep-line-height-base);
}

.program-archive__empty {
  margin: 0;
  font-size: var(--danbi-ep-font-size-lg);
}

.festival {
  --festival-ink: var(--danbi-ep-color-text, #000);
  --festival-rule: color-mix(in srgb, var(--festival-ink) 22%, transparent);
  display: flex;
  flex-direction: column;
  gap: 5rem;
  padding-block-end: 8rem;
  color: var(--festival-ink);
  font-size: var(--danbi-ep-font-size-text);
  font-weight: var(--danbi-ep-font-weight-base);
  line-height: var(--danbi-ep-line-height-base);
}

.festival__section {
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-6);
  margin: 0;
}

.festival__heading {
  display: flex;
  align-items: center;
  gap: var(--danbi-ep-space-4);
  margin: 0;
  color: var(--danbi-ep-color-brand);
  font-family: var(--danbi-ep-font-display);
  font-size: var(--danbi-ep-font-size-display);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-display);
  letter-spacing: -0.02em;
}

.festival__heading::after {
  content: "";
  flex: 1;
  border-block-start: 1px solid var(--festival-rule);
}

.festival__subheading {
  margin: 0 0 var(--danbi-ep-space-3);
  font-size: var(--danbi-ep-font-size-strong);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

.festival .festival__text-link {
  color: var(--danbi-ep-color-brand);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.festival .festival__text-link:focus-visible {
  color: var(--festival-ink);
}

@media (hover: hover) {
  .festival .festival__text-link:hover {
    color: var(--festival-ink);
  }
}
.festival__stage {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--danbi-ep-space-8);
}

.festival__lettering {
  width: 70%;
  margin: var(--danbi-ep-space-8) 0 0;
  line-height: 0;
}

.festival__lettering-image {
  display: block;
  width: 100%;
  height: auto;
}

.festival__art {
  display: block;
  flex: 0 0 auto;
  width: 100%;
}

.festival__art-image {
  display: block;
  width: 100%;
  height: auto;
}

@media (min-width: 1024px) {
  .festival__stage {
    --festival-stage-top: calc(var(--danbi-ep-page-margin) + var(--wp-admin--admin-bar--height, 0px));
    --festival-stage-bottom: var(--danbi-ep-page-margin);
    gap: var(--danbi-ep-space-6);
    min-height: calc(100vh - var(--festival-stage-top) - var(--festival-stage-bottom));
    min-height: calc(100svh - var(--festival-stage-top) - var(--festival-stage-bottom));
  }
  .festival__lettering {
    position: relative;
    flex: 1 1 0;
    width: 46%;
    min-height: 8rem;
    margin-block-start: clamp(var(--danbi-ep-space-4), 3.5vh, var(--danbi-ep-space-12));
  }
  .festival__lettering-image {
    position: absolute;
    inset: 0;
    height: 100%;
    object-fit: contain;
  }
}
.festival__art-image {
  animation: festival-fade-in 0.9s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.festival__lettering-image {
  animation: festival-fade-in 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.5s both;
}

@keyframes festival-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .festival__art-image,
  html:not([data-udm-motion=on]) .festival__lettering-image {
    animation: none;
  }
}
html[data-udm-motion=off] .festival__art-image,
html[data-udm-motion=off] .festival__lettering-image {
  animation: none;
}

.festival__hero {
  align-items: start;
}

.festival__poster {
  margin: 0;
}

.festival__poster-image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--danbi-ep-radius-lg);
  border: 1px solid #fff;
}

.festival__title {
  margin: 0 0 var(--danbi-ep-space-4);
  color: var(--danbi-ep-color-brand);
}

.festival__summary {
  margin: 0 0 var(--danbi-ep-space-6);
  font-family: var(--danbi-ep-font-display);
  font-size: var(--danbi-ep-font-size-display);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-display);
  letter-spacing: -0.02em;
}

.festival__when {
  display: flex;
  flex-wrap: wrap;
  gap: var(--danbi-ep-space-1) var(--danbi-ep-space-6);
  margin: 0;
  font-size: var(--danbi-ep-font-size-strong);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

.festival .festival__link-list {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (max-width: 767px) {
  .festival .festival__link-list {
    --shop-cta-padding: 10px;
    --shop-cta-min-height: 11rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--danbi-ep-page-margin);
  }
  .festival .festival__link-list .festival__link .shop-cta__title,
  .festival .festival__link-list .festival__link .shop-cta__action {
    font-size: 16px;
  }
  .festival .festival__link-list .festival__link .shop-cta__text {
    font-size: 12px;
  }
  .festival .festival__link-list .festival__link .shop-cta__action {
    padding-block-start: var(--danbi-ep-space-4);
  }
}
.festival__link-item {
  display: grid;
  margin: 0;
}

.festival__link .shop-cta__title,
.festival__link .shop-cta__text {
  display: block;
  word-break: keep-all;
}

.festival .festival__link .shop-cta__title,
.festival .festival__link .shop-cta__action {
  font-size: var(--danbi-ep-font-size-strong);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

.festival .festival__link .shop-cta__text {
  font-size: var(--danbi-ep-font-size-text);
  font-weight: var(--danbi-ep-font-weight-base);
  line-height: var(--danbi-ep-line-height-base);
}

@supports (corner-shape: squircle) {
  .festival .festival__link {
    border-radius: calc(var(--danbi-ep-radius-lg) * 2);
    corner-shape: squircle;
  }
}
.festival .festival__link-icon {
  display: block;
  font-size: 1em;
}
.festival .festival__link-icon svg {
  display: block;
  width: 1.25em;
  height: 1.25em;
}

.festival__facts {
  display: grid;
  gap: var(--danbi-ep-space-2);
  margin: 0;
}

.festival__fact {
  display: grid;
  grid-template-columns: 10rem 1fr;
  align-items: baseline;
  gap: var(--danbi-ep-space-6);
}
.festival__fact dd {
  margin: 0;
  font-size: var(--danbi-ep-font-size-strong);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

.festival__program-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.festival__program {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--danbi-ep-space-1) var(--danbi-ep-space-6);
  margin: 0;
  padding-block: var(--danbi-ep-space-4);
  border-block-end: 1px solid var(--festival-rule);
}

.festival__program:first-child {
  padding-block-start: 0;
}

.festival__program-time {
  font-size: var(--danbi-ep-font-size-strong);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

.festival__program-title {
  display: block;
  font-size: var(--danbi-ep-font-size-strong);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

.festival__program-text {
  margin: var(--danbi-ep-space-1) 0 0;
}

@media (min-width: 768px) {
  .festival__program {
    grid-template-columns: 10rem minmax(0, 1fr);
    align-items: baseline;
  }
}
.festival__division + .festival__division {
  margin-block-start: var(--danbi-ep-space-6);
}

.festival__book-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--danbi-ep-space-8) var(--danbi-ep-grid-gap);
  align-items: start;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 768px) {
  .festival__book-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .festival__book-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.festival__book-item {
  margin: 0;
}

.festival .festival__book {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--danbi-ep-space-1);
  color: var(--festival-ink);
  line-height: var(--danbi-ep-line-height-tight);
  text-decoration: none;
}

.festival__book-figure {
  display: block;
  width: 100%;
  margin-block-end: var(--danbi-ep-space-2);
}

.festival__book-cover {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid var(--festival-rule);
  transition: border-color 0.2s ease;
}

.festival__book-badge {
  padding: 0.15em 0.6em;
  border-radius: var(--danbi-ep-radius-md);
  background-color: var(--danbi-ep-color-brand);
  color: var(--danbi-ep-color-brand-contrast);
}

.festival__book-title {
  font-size: var(--danbi-ep-font-size-strong);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

.festival a.festival__book:focus-visible .festival__book-cover {
  border-color: var(--danbi-ep-color-brand);
}

@media (hover: hover) {
  .festival a.festival__book:hover .festival__book-cover {
    border-color: var(--danbi-ep-color-brand);
  }
}
.festival a.festival__book:focus-visible .festival__book-title {
  color: var(--danbi-ep-color-brand);
}

@media (hover: hover) {
  .festival a.festival__book:hover .festival__book-title {
    color: var(--danbi-ep-color-brand);
  }
}
@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .festival__book-cover {
    transition: none;
  }
}
html[data-udm-motion=off] .festival__book-cover {
  transition: none;
}

.festival__recap {
  margin: 0;
}

.festival__gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--danbi-ep-grid-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 768px) {
  .festival__gallery {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.festival__gallery-item {
  margin: 0;
}

.festival__gallery-image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: var(--danbi-ep-radius-md);
}

.festival__judge-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--danbi-ep-space-2) var(--danbi-ep-space-8);
  margin: 0;
  padding: 0;
  list-style: none;
}

.festival__judge {
  margin: 0;
}

.festival__judge-name {
  font-size: var(--danbi-ep-font-size-strong);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

.festival__place {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--danbi-ep-space-1) var(--danbi-ep-space-4);
  margin: 0;
}

.festival__map {
  width: 100%;
  height: clamp(18rem, 50vh, 30rem);
  overflow: hidden;
  border-radius: var(--danbi-ep-radius-lg);
}

.festival__map-frame {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.festival__place-name {
  font-size: var(--danbi-ep-font-size-strong);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

.festival__directions,
.festival__access-note,
.festival__access-contact {
  margin: 0;
}

.festival__access {
  padding: var(--danbi-ep-space-6);
  border-radius: var(--danbi-ep-radius-lg);
  background-color: var(--danbi-ep-color-surface-accent);
}

.festival__access-contact {
  margin-block-start: var(--danbi-ep-space-3);
}

.festival__partner-group + .festival__partner-group {
  margin-block-start: var(--danbi-ep-space-6);
}

.festival__partner-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--danbi-ep-space-4);
  margin: 0;
  padding: 0;
  list-style: none;
}

.festival__partner {
  margin: 0;
}

.festival .festival__partner-link {
  display: block;
  color: var(--festival-ink);
  text-decoration: none;
}

.festival .festival__partner-link:focus-visible {
  color: var(--danbi-ep-color-brand);
}

@media (hover: hover) {
  .festival .festival__partner-link:hover {
    color: var(--danbi-ep-color-brand);
  }
}
.festival__partner-logo {
  display: block;
  box-sizing: border-box;
  width: 11rem;
  height: 5.5rem;
  padding: var(--danbi-ep-space-3) var(--danbi-ep-space-4);
  border-radius: var(--danbi-ep-radius-md);
  background-color: #fff;
  object-fit: contain;
}

.festival__partner-name {
  font-size: var(--danbi-ep-font-size-strong);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

.festival__other-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--danbi-ep-space-2) var(--danbi-ep-space-8);
  margin: 0;
  padding: 0;
  list-style: none;
}

.festival__other {
  margin: 0;
  font-size: var(--danbi-ep-font-size-strong);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

@media (max-width: 767px) {
  .festival__fact {
    grid-template-columns: 5rem 1fr;
    gap: var(--danbi-ep-space-2);
  }
  .festival__book-list {
    gap: 10px;
  }
  .festival__partner-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .festival__partner-logo {
    width: 100%;
    height: auto;
    aspect-ratio: 2/1;
  }
}
body.single-danbi_ep_festival {
  --festival-theme-surface: var(--danbi-ep-color-brand);
  --festival-theme-ink: var(--danbi-ep-color-brand-contrast);
  background-color: var(--festival-theme-surface);
}

body.single-danbi_ep_festival .udm {
  --udm-color-brand: var(--udm-color-ink);
}

body.single-danbi_ep_festival .udm__stack:nth-child(2) .udm__brick--ink {
  --udm-brick-color: var(--udm-color-sky);
}

body.single-danbi_ep_festival .udm[data-udm-palette="2"] .udm__stack--compact .udm__brick {
  --udm-brick-color: var(--udm-color-gray);
}

body.single-danbi_ep_festival .site {
  --danbi-ep-color-surface: var(--festival-theme-surface);
  --danbi-ep-color-text: var(--festival-theme-ink);
  --danbi-ep-color-brand: var(--festival-theme-ink);
  --danbi-ep-color-brand-contrast: var(--festival-theme-surface);
  --danbi-ep-color-brand-ink: var(--festival-theme-ink);
  --danbi-ep-color-surface-accent: color-mix(in srgb, #000 14%, var(--festival-theme-surface));
  --contrast: var(--festival-theme-ink);
  --contrast-10: var(--festival-theme-ink);
  --contrast-20: var(--festival-theme-ink);
  --accent: var(--festival-theme-ink);
  --accent-10: var(--festival-theme-ink);
  --accent-20: var(--festival-theme-ink);
  color: var(--festival-theme-ink);
}

body.single-danbi_ep_festival .headbar__cart-count svg path {
  fill: var(--danbi-ep-color-ink, #000);
}

body.single-danbi_ep_festival .headbar__cart-value {
  color: var(--festival-theme-ink);
}

a.rental-booking-link {
  display: inline-flex;
  align-items: center;
  gap: var(--danbi-ep-space-2);
  padding: var(--danbi-ep-space-2) var(--danbi-ep-space-4);
  border: 1px solid var(--danbi-ep-color-brand);
  color: var(--danbi-ep-color-brand);
  font-weight: var(--danbi-ep-font-weight-bold);
  text-decoration: none;
}

a.rental-booking-link:focus-visible {
  background-color: var(--danbi-ep-color-brand);
  color: var(--danbi-ep-color-brand-contrast);
}

@media (hover: hover) {
  a.rental-booking-link:hover {
    background-color: var(--danbi-ep-color-brand);
    color: var(--danbi-ep-color-brand-contrast);
  }
}
.rental-booking {
  --rental-brand: var(--danbi-ep-color-brand);
  --rental-ink: var(--rental-brand);
  accent-color: var(--rental-brand);
  --rental-tint-strong: color-mix(in srgb, var(--rental-brand) 24%, var(--danbi-ep-color-surface));
  --rental-tint: color-mix(in srgb, var(--rental-brand) 11%, var(--danbi-ep-color-surface));
  --rental-placeholder: color-mix(in srgb, var(--rental-brand) 62%, var(--danbi-ep-color-surface));
  --rental-muted: color-mix(in srgb, var(--rental-ink) 45%, var(--danbi-ep-color-surface));
  scroll-margin-top: var(--danbi-ep-space-8);
  color: var(--rental-ink);
  font-size: var(--danbi-ep-font-size-lg);
  line-height: var(--danbi-ep-line-height-base);
}

.rental-booking__form,
.rental-booking__done {
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-6);
}

.rental-booking .rental-booking__section {
  margin: var(--danbi-ep-space-4) 0 0;
  padding-block-start: var(--danbi-ep-space-8);
  border-block-start: 1px solid color-mix(in srgb, var(--rental-brand) 35%, transparent);
  font-family: var(--danbi-ep-font-display);
  font-size: var(--danbi-ep-font-size-xl);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
  color: var(--rental-brand);
}

.rental-booking .rental-booking__form > .rental-booking__section:first-child {
  margin-block-start: 0;
  padding-block-start: 0;
  border-block-start: 0;
}

@media (max-width: 767px) {
  .rental-booking .rental-booking__section {
    margin-block-start: var(--danbi-ep-space-2);
    padding-block-start: var(--danbi-ep-space-6);
    font-size: var(--danbi-ep-font-size-lg);
  }
}
.rental-booking__form[hidden],
.rental-booking__done[hidden] {
  display: none;
}

.rental-booking__field {
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-2);
  min-width: 0;
}

.rental-booking .rental-booking__fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

.rental-booking .rental-booking__fieldset > legend {
  padding-block-end: var(--danbi-ep-space-2);
}

.rental-booking .rental-booking__label {
  margin: 0;
  padding: 0;
  color: var(--rental-brand);
  font-family: var(--danbi-ep-font-sans);
  font-size: var(--danbi-ep-font-size-base);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

.rental-booking__pair {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--danbi-ep-space-6) var(--danbi-ep-space-4);
  align-items: start;
}

.rental-booking__people {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--danbi-ep-space-4);
  align-items: start;
}

.rental-booking .rental-booking__input {
  width: 100%;
  min-height: 3.25rem;
  padding: var(--danbi-ep-space-2) var(--danbi-ep-space-3);
  border: 1px solid var(--rental-brand);
  border-radius: 0;
  background-color: transparent;
  color: var(--rental-ink);
  font: inherit;
}

.rental-booking textarea.rental-booking__input {
  resize: vertical;
}

.rental-booking .rental-booking__input::placeholder {
  color: var(--rental-placeholder);
  opacity: 1;
}

.rental-booking .rental-booking__input:focus {
  border-color: var(--rental-brand);
  outline: 2px solid var(--rental-brand);
  outline-offset: 1px;
  background-color: transparent;
  color: var(--rental-ink);
}

.rental-booking .rental-booking__input[aria-invalid=true] {
  border-width: 2px;
}

.rental-booking__unit {
  position: relative;
  display: block;
}

.rental-booking__unit > span {
  position: absolute;
  inset-block: 0;
  inset-inline-end: var(--danbi-ep-space-3);
  display: flex;
  align-items: center;
  color: var(--rental-brand);
  pointer-events: none;
}

.rental-booking .rental-booking__unit .rental-booking__input {
  padding-inline-end: var(--danbi-ep-space-8);
  appearance: textfield;
}

.rental-booking__unit .rental-booking__input::-webkit-outer-spin-button,
.rental-booking__unit .rental-booking__input::-webkit-inner-spin-button {
  margin: 0;
  appearance: none;
}

.rental-booking__error,
.rental-booking__status {
  margin: 0;
  color: var(--rental-brand);
  font-size: var(--danbi-ep-font-size-base);
  font-weight: var(--danbi-ep-font-weight-bold);
}

.rental-booking__error::before {
  content: "! ";
  content: "! "/"";
}

.rental-booking__status:empty {
  display: none;
}

.rental-booking__trap {
  position: absolute;
  inset-inline-start: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.rental-booking__calendar {
  margin-block-end: var(--danbi-ep-space-6);
}

.rental-booking__calendar-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-block-end: var(--danbi-ep-space-4);
  background-color: var(--rental-tint-strong);
}

.rental-booking__month {
  font-size: var(--danbi-ep-font-size-xl);
  font-weight: var(--danbi-ep-font-weight-base);
  line-height: 1;
}

.rental-booking__month:focus {
  outline: none;
}

.rental-booking .rental-booking__nav {
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: 0 var(--danbi-ep-space-3);
  border: 0;
  border-radius: 0;
  background-color: transparent;
  color: var(--rental-ink);
  font: inherit;
  line-height: 1;
  cursor: pointer;
}

.rental-booking .rental-booking__nav:focus-visible {
  background-color: var(--rental-brand);
  color: var(--danbi-ep-color-brand-contrast);
}

@media (hover: hover) {
  .rental-booking .rental-booking__nav:hover:not(:disabled) {
    background-color: var(--rental-brand);
    color: var(--danbi-ep-color-brand-contrast);
  }
}
.rental-booking .rental-booking__nav:disabled {
  background-color: transparent;
  color: var(--rental-ink);
  opacity: 0.25;
  cursor: default;
}

.rental-booking__grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: var(--danbi-ep-space-4) var(--danbi-ep-space-3);
}

.rental-booking--loading .rental-booking__grid,
.rental-booking--loading .rental-booking__slots {
  opacity: 0.45;
}

.rental-booking__dow {
  padding-block: var(--danbi-ep-space-1);
  background-color: var(--rental-tint-strong);
  font-size: var(--danbi-ep-font-size-lg);
  line-height: var(--danbi-ep-line-height-tight);
  text-align: center;
}

.rental-booking .rental-booking__day {
  display: block;
  width: 100%;
  min-height: 3.25rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background-color: var(--rental-tint);
  color: var(--rental-ink);
  font: inherit;
  font-size: var(--danbi-ep-font-size-xl);
  line-height: 3.25rem;
  text-align: center;
  cursor: pointer;
}

.rental-booking .rental-booking__day:focus-visible:not([aria-pressed=true]) {
  background-color: var(--rental-tint-strong);
  color: var(--rental-ink);
}

@media (hover: hover) {
  .rental-booking .rental-booking__day:hover:not(:disabled):not([aria-pressed=true]) {
    background-color: var(--rental-tint-strong);
    color: var(--rental-ink);
  }
}
.rental-booking .rental-booking__day:disabled {
  background-color: color-mix(in srgb, var(--rental-tint) 35%, var(--danbi-ep-color-surface));
  color: var(--rental-muted);
  cursor: default;
}

.rental-booking .rental-booking__day--other {
  color: var(--rental-muted);
  cursor: default;
}

.rental-booking .rental-booking__day[aria-pressed=true] {
  background-color: var(--rental-brand);
  color: var(--danbi-ep-color-brand-contrast);
}

.rental-booking .rental-booking__day:focus-visible,
.rental-booking .rental-booking__slot:focus-visible,
.rental-booking__choice input:focus-visible + span {
  outline: 2px solid var(--rental-ink);
  outline-offset: 2px;
}

.rental-booking__calendar-note {
  margin: var(--danbi-ep-space-4) 0 0;
  font-size: var(--danbi-ep-font-size-base);
}

.rental-booking__slots,
.rental-booking__choices {
  display: flex;
  flex-wrap: wrap;
  gap: var(--danbi-ep-space-3);
}

.rental-booking__hint {
  color: var(--rental-placeholder);
}

.rental-booking .rental-booking__slot,
.rental-booking__choice > span {
  display: inline-flex;
  align-items: center;
  gap: var(--danbi-ep-space-1);
  min-height: 3.25rem;
  padding: var(--danbi-ep-space-2) var(--danbi-ep-space-3);
  border: 1px solid var(--rental-brand);
  border-radius: 0;
  background-color: transparent;
  color: var(--rental-brand);
  font: inherit;
  cursor: pointer;
}

@media (hover: hover) {
  .rental-booking .rental-booking__slot:hover:not(:disabled):not([aria-pressed=true]),
  .rental-booking__choice:hover > span {
    background-color: var(--rental-tint);
    color: var(--rental-brand);
  }
}
.rental-booking .rental-booking__slot[aria-pressed=true],
.rental-booking__choice input:checked + span {
  background-color: var(--rental-brand);
  color: var(--danbi-ep-color-brand-contrast);
}

.rental-booking .rental-booking__slot:disabled {
  border-color: color-mix(in srgb, var(--rental-brand) 30%, var(--danbi-ep-color-surface));
  background-color: transparent;
  color: var(--rental-muted);
  cursor: default;
}

.rental-booking__slot:disabled .rental-booking__slot-time {
  text-decoration: line-through;
}

.rental-booking__slot-closed {
  font-size: var(--danbi-ep-font-size-sm);
}

.rental-booking__choice {
  position: relative;
  display: inline-flex;
}

.rental-booking__choice input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.rental-booking__fieldset--invalid .rental-booking__choice > span {
  border-width: 2px;
}

.rental-booking__when {
  margin: 0;
  font-weight: var(--danbi-ep-font-weight-bold);
}

.rental-booking__when:empty {
  display: none;
}

.rental-booking .rental-booking__flow {
  --rental-circle: clamp(4.25rem, 20vw, 11rem);
  display: flex;
  align-items: center;
  margin: var(--danbi-ep-space-2) 0 0;
  padding: 0;
  list-style: none;
}

.rental-booking__flow li {
  display: flex;
  align-items: center;
  margin: 0;
}

.rental-booking__flow li + li {
  flex: 1;
}

.rental-booking__flow li + li::before {
  content: "";
  flex: 1;
  height: 0.5rem;
  margin-inline: var(--danbi-ep-space-3);
  background: linear-gradient(var(--rental-brand), var(--rental-brand)) left center/calc(100% - 0.3rem) 1px no-repeat, conic-gradient(from 240deg at right center, var(--rental-brand) 60deg, transparent 0) right center/0.4rem 0.5rem no-repeat;
}

.rental-booking__flow span {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: var(--rental-circle);
  height: var(--rental-circle);
  border: 1px solid var(--rental-brand);
  border-radius: 50%;
  color: var(--rental-brand);
  font-size: clamp(var(--danbi-ep-font-size-base), 2.4vw, var(--danbi-ep-font-size-xl));
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
  text-align: center;
}

.rental-booking__flow-note,
.rental-booking__estimate {
  margin: 0;
}

.rental-booking__estimate {
  color: var(--rental-brand);
  font-weight: var(--danbi-ep-font-weight-bold);
}

.rental-booking__privacy summary {
  display: inline-flex;
  align-items: center;
  gap: var(--danbi-ep-space-2);
  min-height: 0;
  padding: var(--danbi-ep-space-1) var(--danbi-ep-space-3);
  border: 1px solid var(--rental-brand);
  color: var(--rental-brand);
  cursor: pointer;
  list-style: none;
}

.rental-booking__privacy summary {
  transition: background-color 150ms ease, color 150ms ease;
}

.rental-booking__privacy summary:focus-visible {
  background-color: var(--rental-brand);
  color: var(--danbi-ep-color-brand-contrast);
}

@media (hover: hover) {
  .rental-booking__privacy summary:hover {
    background-color: var(--rental-brand);
    color: var(--danbi-ep-color-brand-contrast);
  }
}
@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .rental-booking__privacy summary {
    transition: none;
  }
}
html[data-udm-motion=off] .rental-booking__privacy summary {
  transition: none;
}

.rental-booking__privacy summary::-webkit-details-marker {
  display: none;
}

.rental-booking__privacy summary::after {
  content: "";
  border: 0.25rem solid transparent;
  border-block-start-color: currentColor;
  border-block-end-width: 0;
}

.rental-booking__privacy[open] summary::after {
  transform: rotate(180deg);
}

.rental-booking__privacy-text {
  margin-block-start: var(--danbi-ep-space-2);
  padding: var(--danbi-ep-space-3) var(--danbi-ep-space-4);
  border: 1px solid var(--rental-brand);
  font-size: var(--danbi-ep-font-size-base);
}

.rental-booking__privacy-text p {
  margin: 0 0 var(--danbi-ep-space-2);
}

.rental-booking__privacy-text p:last-child {
  margin-block-end: 0;
}

.rental-booking__check {
  display: flex;
  align-items: flex-start;
  gap: var(--danbi-ep-space-2);
  color: var(--rental-brand);
  line-height: 1.5;
}

.rental-booking .rental-booking__check input {
  flex: none;
  width: 1em;
  height: 1em;
  margin: 0.25em 0 0;
  font-size: inherit;
  border: 1px solid var(--rental-brand);
  border-radius: 0;
  background-color: transparent;
  appearance: none;
  cursor: pointer;
}

.rental-booking .rental-booking__check input:checked {
  background: var(--rental-brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.25 6.5 11.25 12.5 4.75' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='square'/%3E%3C/svg%3E") center/100% 100% no-repeat;
}

.rental-booking .rental-booking__check input:focus-visible {
  outline: 2px solid var(--rental-ink);
  outline-offset: 2px;
}

.rental-booking .rental-booking__submit {
  min-height: 3.25rem;
  padding: var(--danbi-ep-space-2) var(--danbi-ep-space-3);
  border: 1px solid var(--rental-brand);
  border-radius: 0;
  background-color: var(--rental-brand);
  color: var(--danbi-ep-color-brand-contrast);
  font: inherit;
  cursor: pointer;
}

.rental-booking .rental-booking__submit:focus-visible,
.rental-booking .rental-booking__submit--ghost {
  background-color: transparent;
  color: var(--rental-brand);
}

@media (hover: hover) {
  .rental-booking .rental-booking__submit:hover {
    background-color: transparent;
    color: var(--rental-brand);
  }
}
.rental-booking .rental-booking__submit--ghost:focus-visible {
  background-color: var(--rental-brand);
  color: var(--danbi-ep-color-brand-contrast);
}

@media (hover: hover) {
  .rental-booking .rental-booking__submit--ghost:hover {
    background-color: var(--rental-brand);
    color: var(--danbi-ep-color-brand-contrast);
  }
}
.rental-booking .rental-booking__submit:disabled {
  background-color: var(--rental-brand);
  color: var(--danbi-ep-color-brand-contrast);
  opacity: 0.6;
  cursor: default;
}

.rental-booking__done p {
  margin: 0;
}

.rental-booking .rental-booking__done-title {
  margin: 0;
  color: var(--rental-brand);
  font-family: var(--danbi-ep-font-display);
  font-size: var(--danbi-ep-font-size-2xl);
  line-height: var(--danbi-ep-line-height-tight);
}

.rental-booking__done-title:focus {
  outline: none;
}

.rental-booking__summary {
  padding: var(--danbi-ep-space-3) var(--danbi-ep-space-4);
  border: 1px solid var(--rental-brand);
  font-weight: var(--danbi-ep-font-weight-bold);
}

.rental-booking__box {
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-1);
  padding: var(--danbi-ep-space-3) var(--danbi-ep-space-4);
  background-color: var(--rental-tint);
}

.rental-booking__box--way {
  display: block;
}

.rental-booking__muted {
  color: color-mix(in srgb, var(--rental-ink) 65%, var(--danbi-ep-color-surface));
  font-size: var(--danbi-ep-font-size-base);
}

.rental-booking .rental-booking__copy {
  margin-inline-start: var(--danbi-ep-space-2);
  padding: var(--danbi-ep-space-1) var(--danbi-ep-space-3);
  border: 1px solid var(--rental-brand);
  border-radius: 0;
  background-color: transparent;
  color: var(--rental-brand);
  font: inherit;
  font-size: var(--danbi-ep-font-size-base);
  cursor: pointer;
}

.rental-booking .rental-booking__copy:focus-visible {
  background-color: var(--rental-brand);
  color: var(--danbi-ep-color-brand-contrast);
}

@media (hover: hover) {
  .rental-booking .rental-booking__copy:hover {
    background-color: var(--rental-brand);
    color: var(--danbi-ep-color-brand-contrast);
  }
}
@media (min-width: 768px) {
  .rental-booking__pair {
    grid-template-columns: 1fr 1fr;
  }
  .rental-booking__pair--consent {
    grid-template-columns: 1fr;
  }
}
.rental-booking .rental-booking__pair--consent {
  row-gap: var(--danbi-ep-space-3);
}

@media (max-width: 767px) {
  .rental-booking {
    --rental-line: color-mix(in srgb, var(--rental-brand) 30%, var(--danbi-ep-color-surface));
    font-size: var(--danbi-ep-font-size-base);
  }
  .rental-booking__calendar-head {
    margin-block-end: 0;
  }
  .rental-booking__month {
    font-size: var(--danbi-ep-font-size-lg);
  }
  .rental-booking__grid {
    gap: 0;
    border-block-start: 1px solid var(--rental-line);
    border-inline-start: 1px solid var(--rental-line);
  }
  .rental-booking .rental-booking__grid > * {
    border-block-end: 1px solid var(--rental-line);
    border-inline-end: 1px solid var(--rental-line);
  }
  .rental-booking__dow {
    font-size: var(--danbi-ep-font-size-sm);
  }
  .rental-booking .rental-booking__day {
    min-height: 2.75rem;
    font-size: var(--danbi-ep-font-size-base);
    line-height: 2.75rem;
  }
  .rental-booking__calendar-note {
    margin-block-start: var(--danbi-ep-space-2);
    font-size: var(--danbi-ep-font-size-sm);
  }
  .rental-booking__form {
    gap: var(--danbi-ep-space-4);
  }
  .rental-booking__pair {
    row-gap: var(--danbi-ep-space-4);
  }
  .rental-booking__field {
    gap: var(--danbi-ep-space-1);
  }
  .rental-booking .rental-booking__fieldset > legend {
    padding-block-end: var(--danbi-ep-space-1);
  }
  .rental-booking .rental-booking__input,
  .rental-booking .rental-booking__slot,
  .rental-booking__choice > span {
    min-height: 2.75rem;
    padding: var(--danbi-ep-space-1) var(--danbi-ep-space-2);
  }
  .rental-booking__slots,
  .rental-booking__choices {
    gap: var(--danbi-ep-space-2);
  }
  .rental-booking .rental-booking__flow {
    --rental-circle: 9rem;
    --rental-arrow-space: 0.5rem;
    --rental-arrow-length: 2.5rem;
    flex-direction: column;
    gap: calc(var(--rental-arrow-length) + var(--rental-arrow-space) * 2);
    margin-block: var(--danbi-ep-space-6);
  }
  .rental-booking__flow li {
    position: relative;
  }
  .rental-booking__flow li + li {
    flex: none;
  }
  .rental-booking__flow li + li::before {
    content: none;
  }
  .rental-booking__flow li:not(:last-child)::before,
  .rental-booking__flow li:not(:last-child)::after {
    content: "";
    position: absolute;
    inset-inline-start: 50%;
  }
  .rental-booking__flow li:not(:last-child)::before {
    flex: none;
    inset-block-start: calc(100% + var(--rental-arrow-space));
    height: var(--rental-arrow-length);
    margin: 0;
    border-inline-start: 1px solid var(--rental-brand);
    background: none;
    transform: translateX(-50%);
  }
  .rental-booking__flow li:not(:last-child)::after {
    inset-block-start: calc(100% + var(--rental-arrow-space) + var(--rental-arrow-length));
    width: 0.5rem;
    height: 0.5rem;
    border-block-end: 1px solid var(--rental-brand);
    border-inline-end: 1px solid var(--rental-brand);
    transform: translate(-50%, -71%) rotate(45deg);
  }
  .rental-booking__flow span {
    font-size: var(--danbi-ep-font-size-base);
  }
  .rental-booking__privacy summary {
    display: flex;
    justify-content: space-between;
    font-size: var(--danbi-ep-font-size-sm);
  }
  .rental-booking__privacy-text,
  .rental-booking__check {
    font-size: var(--danbi-ep-font-size-sm);
  }
  .rental-booking__check {
    align-items: center;
  }
  .rental-booking .rental-booking__check input {
    margin: 0;
  }
  .rental-booking .rental-booking__submit {
    width: 100%;
    min-height: 0;
    padding: 10px var(--danbi-ep-space-3);
    border-radius: var(--danbi-ep-radius-md);
    font-size: var(--danbi-ep-font-size-sm);
    font-weight: var(--danbi-ep-font-weight-bold);
    line-height: var(--danbi-ep-line-height-tight);
  }
}
body.woocommerce-account {
  --account-brand: var(--danbi-ep-color-brand);
  --account-ink: var(--danbi-ep-color-text, #000);
  --account-contrast: var(--danbi-ep-color-brand-contrast);
  --account-rule: color-mix(in srgb, var(--account-brand) 35%, transparent);
  --account-placeholder: color-mix(in srgb, var(--account-brand) 62%, var(--danbi-ep-color-surface));
  --account-control: 3.25rem;
}

body.woocommerce-account .woocommerce .account-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--danbi-ep-space-6);
  margin-block-end: var(--danbi-ep-space-8);
  padding: var(--danbi-ep-space-6);
  border-radius: var(--danbi-ep-radius-lg);
  background-color: var(--account-brand);
  color: var(--account-contrast);
}

body.woocommerce-account .entry-content:has(.account-summary) {
  padding-block-start: 0;
}

body.woocommerce-account .woocommerce .account-summary p {
  margin: 0;
}

body.woocommerce-account .woocommerce .account-summary__who {
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-2);
  min-width: 0;
}

body.woocommerce-account .woocommerce .account-summary__greeting {
  font-size: var(--danbi-ep-font-size-strong);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

body.woocommerce-account .woocommerce .account-summary__name {
  font-weight: inherit;
}

body.woocommerce-account .woocommerce .account-summary__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0 var(--danbi-ep-space-2);
  font-size: var(--danbi-ep-font-size-base);
  font-weight: var(--danbi-ep-font-weight-base);
  line-height: var(--danbi-ep-line-height-base);
  overflow-wrap: anywhere;
}

body.woocommerce-account .woocommerce .account-summary__meta > span + span::before {
  margin-inline-end: var(--danbi-ep-space-2);
  content: "·";
  content: "·"/"";
}

body.woocommerce-account .woocommerce .account-summary__stats {
  display: flex;
  gap: var(--danbi-ep-space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

body.woocommerce-account .woocommerce .account-summary__stat-item {
  margin: 0;
}

body.woocommerce-account .woocommerce .account-summary__stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--danbi-ep-space-1);
  min-width: 5.5rem;
  padding: var(--danbi-ep-space-3) var(--danbi-ep-space-4);
  border-radius: var(--danbi-ep-radius-md);
  background-color: color-mix(in srgb, var(--account-contrast) 16%, transparent);
  color: var(--account-contrast);
  text-align: center;
  text-decoration: none;
  transition: background-color 180ms cubic-bezier(0.3, 0, 0.2, 1), color 180ms cubic-bezier(0.3, 0, 0.2, 1);
}

body.woocommerce-account .woocommerce .account-summary__stat:focus-visible {
  background-color: var(--account-contrast);
  color: var(--account-brand);
}

@media (hover: hover) {
  body.woocommerce-account .woocommerce .account-summary__stat:hover {
    background-color: var(--account-contrast);
    color: var(--account-brand);
  }
}
body.woocommerce-account .woocommerce .account-summary__label {
  font-size: var(--danbi-ep-font-size-sm);
  font-weight: var(--danbi-ep-font-weight-base);
  line-height: var(--danbi-ep-line-height-tight);
}

body.woocommerce-account .woocommerce .account-summary__value {
  font-size: var(--danbi-ep-font-size-strong);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) body.woocommerce-account .woocommerce .account-summary__stat {
    transition: none;
  }
}
html[data-udm-motion=off] body.woocommerce-account .woocommerce .account-summary__stat {
  transition: none;
}

@media (max-width: 767px) {
  body.woocommerce-account .woocommerce .account-summary {
    gap: var(--danbi-ep-space-4);
    margin-block-end: var(--danbi-ep-space-6);
    padding: 15px;
  }
  body.woocommerce-account .woocommerce .account-summary__greeting {
    font-size: var(--danbi-ep-font-size-lg);
  }
  body.woocommerce-account .woocommerce .account-summary__meta {
    flex-direction: column;
    align-items: flex-start;
    font-size: var(--danbi-ep-font-size-sm);
  }
  body.woocommerce-account .woocommerce .account-summary__meta > span + span::before {
    content: none;
  }
  body.woocommerce-account .woocommerce .account-summary__stats {
    flex: 1 1 100%;
  }
  body.woocommerce-account .woocommerce .account-summary__stat-item {
    flex: 1 1 0;
  }
  body.woocommerce-account .woocommerce .account-summary__stat {
    min-width: 0;
    padding: var(--danbi-ep-space-2);
  }
  body.woocommerce-account .woocommerce .account-summary__label {
    font-size: var(--danbi-ep-font-size-sm);
  }
  body.woocommerce-account .woocommerce .account-summary__value {
    font-size: var(--danbi-ep-font-size-lg);
  }
}
body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content {
  float: none;
  width: auto;
}

body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation ul {
  display: flex;
  flex-wrap: wrap;
  gap: var(--danbi-ep-space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation li {
  margin: 0;
}

body.woocommerce-account .woocommerce li.woocommerce-MyAccount-navigation-link--customer-logout {
  flex-basis: 100%;
  margin-block-start: var(--danbi-ep-space-2);
}

body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: var(--danbi-ep-space-1) var(--danbi-ep-space-3);
  border: 1px solid var(--account-brand);
  border-radius: var(--danbi-ep-radius-md);
  color: var(--account-brand);
  font-size: 0.75rem;
  font-weight: var(--danbi-ep-font-weight-base);
  text-decoration: none;
  transition: background-color 180ms cubic-bezier(0.3, 0, 0.2, 1), color 180ms cubic-bezier(0.3, 0, 0.2, 1);
}

body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation a:focus-visible,
body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation .is-active a {
  background-color: var(--account-brand);
  color: var(--account-contrast);
}

@media (hover: hover) {
  body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation a:hover {
    background-color: var(--account-brand);
    color: var(--account-contrast);
  }
}
body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation-link--customer-logout a {
  display: inline-flex;
  border-color: var(--account-ink);
  color: var(--account-ink);
}

body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation-link--customer-logout a:focus-visible {
  background-color: var(--account-ink);
  color: var(--danbi-ep-color-surface);
}

@media (hover: hover) {
  body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation-link--customer-logout a:hover {
    background-color: var(--account-ink);
    color: var(--danbi-ep-color-surface);
  }
}
@media (min-width: 768px) {
  body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation a {
    padding: 6px var(--danbi-ep-space-4);
    border-radius: var(--danbi-ep-radius-sm);
    font-size: var(--danbi-ep-font-size-base);
    font-weight: var(--danbi-ep-font-weight-bold);
    line-height: var(--danbi-ep-line-height-tight);
  }
}
@media (max-width: 767px) {
  body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation ul {
    flex-direction: column;
    flex-wrap: nowrap;
  }
  body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation a {
    padding-block: 10px;
    font-size: var(--danbi-ep-font-size-sm);
    font-weight: var(--danbi-ep-font-weight-bold);
    line-height: var(--danbi-ep-line-height-tight);
  }
  body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation a {
    transition: none;
  }
  body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation li:not(.is-active) > a:hover:not(:focus-visible) {
    background-color: transparent;
    color: var(--account-brand);
  }
  body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout > a:hover:not(:focus-visible) {
    background-color: transparent;
    color: var(--account-ink);
  }
  body.woocommerce-account .woocommerce li.woocommerce-MyAccount-navigation-link--customer-logout {
    flex-basis: auto;
  }
  body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation-link--customer-logout a {
    display: flex;
  }
}
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content {
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-6);
  margin-block-start: var(--danbi-ep-space-8);
  color: var(--account-ink);
  font-size: var(--danbi-ep-font-size-text);
  font-weight: var(--danbi-ep-font-weight-base);
  line-height: var(--danbi-ep-line-height-base);
}

body.woocommerce-account .woocommerce .woocommerce-MyAccount-content .account-video {
  --account-video-zoom: 1.1;
  --account-video-pull: min(4%, 6vh);
  position: relative;
  z-index: 0;
  margin: calc(var(--danbi-ep-space-6) * -1 - var(--account-video-pull)) 0 0;
  overflow: hidden;
}

body.woocommerce-account .woocommerce .woocommerce-MyAccount-content:has(> .account-video) > :not(.account-video) {
  position: relative;
  z-index: 1;
}

body.woocommerce-account .woocommerce:has(.account-video) .woocommerce-MyAccount-navigation {
  position: relative;
  z-index: 1;
}

body.woocommerce-account .woocommerce .account-video__media {
  display: block;
  width: 100%;
  height: auto;
  transform: scale(var(--account-video-zoom));
}

body.woocommerce-account .woocommerce .woocommerce-MyAccount-content > .woocommerce-notices-wrapper:empty {
  display: none;
}

body.woocommerce-account .woocommerce .woocommerce-MyAccount-content > * {
  margin-block: 0;
}

body.woocommerce-account .woocommerce .woocommerce-MyAccount-content h2 {
  margin: 0;
  color: var(--account-brand);
  font-size: var(--danbi-ep-font-size-strong);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

body.woocommerce-account .woocommerce .woocommerce-MyAccount-content a:not(.button):not(.acf-btn) {
  color: var(--account-ink);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.3em;
}

body.woocommerce-account .woocommerce .woocommerce-MyAccount-content a:not(.button):not(.acf-btn):focus-visible {
  color: var(--account-brand);
}

@media (hover: hover) {
  body.woocommerce-account .woocommerce .woocommerce-MyAccount-content a:not(.button):not(.acf-btn):hover {
    color: var(--account-brand);
  }
}
body.woocommerce-account .woocommerce .woocommerce-info,
body.woocommerce-account .woocommerce .woocommerce-message,
body.woocommerce-account .woocommerce .woocommerce-error,
body.woocommerce-account .woocommerce .woosw-list .woosw-popup-content-mid-message {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--danbi-ep-space-3) var(--danbi-ep-space-4);
  margin: 0;
  padding: var(--danbi-ep-space-4) var(--danbi-ep-space-6);
  border: 0;
  border-radius: 0;
  background-color: var(--danbi-ep-color-surface-accent);
  color: var(--account-ink);
  list-style: none;
}

body.woocommerce-account .woocommerce .woocommerce-info::before,
body.woocommerce-account .woocommerce .woocommerce-message::before,
body.woocommerce-account .woocommerce .woocommerce-error::before {
  content: none;
}

body.woocommerce-account .woocommerce .woocommerce-error {
  border: 1px solid var(--account-brand);
  background-color: transparent;
}

body.woocommerce-account .woocommerce .woocommerce-info .button,
body.woocommerce-account .woocommerce .woocommerce-message .button {
  order: 1;
  float: none;
}

body.woocommerce-account .woocommerce :is(.woocommerce-info, .woocommerce-message):has(.button) {
  flex-direction: column;
  align-items: flex-start;
  row-gap: 5px;
  border-radius: var(--danbi-ep-radius-md);
}

body.woocommerce-account .woocommerce :is(.woocommerce-info, .woocommerce-message) :is(a, button, input).button {
  min-height: 0;
  padding: 6px var(--danbi-ep-space-4);
  border-radius: var(--danbi-ep-radius-sm);
  font-size: var(--danbi-ep-font-size-base);
}

@media (max-width: 767px) {
  body.woocommerce-account .woocommerce .woocommerce-info,
  body.woocommerce-account .woocommerce .woocommerce-message,
  body.woocommerce-account .woocommerce .woocommerce-error,
  body.woocommerce-account .woocommerce .woosw-list .woosw-popup-content-mid-message {
    padding: var(--danbi-ep-page-margin);
  }
}
body.woocommerce-account .woocommerce :is(a, button, input).button,
body.woocommerce-account .amem-form .acf-btn.amem-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--account-control);
  margin: 0;
  padding: var(--danbi-ep-space-2) var(--danbi-ep-space-6);
  border: 1px solid var(--account-brand);
  border-radius: 0;
  background-color: var(--account-brand);
  box-shadow: none;
  color: var(--account-contrast);
  font-family: inherit;
  font-size: var(--danbi-ep-font-size-lg);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
  text-decoration: none;
  opacity: 1;
  cursor: pointer;
}

body.woocommerce-account .woocommerce :is(a, button, input).button:focus-visible,
body.woocommerce-account .amem-form .acf-btn.amem-btn:focus-visible {
  background-color: transparent;
  color: var(--account-brand) !important;
  opacity: 1;
}

@media (hover: hover) {
  body.woocommerce-account .woocommerce :is(a, button, input).button:hover,
  body.woocommerce-account .amem-form .acf-btn.amem-btn:hover {
    background-color: transparent;
    color: var(--account-brand) !important;
    opacity: 1;
  }
}
body.woocommerce-account .woocommerce :is(.woocommerce-info, .woocommerce-message) :is(a, button, input).button:focus-visible {
  background-color: var(--account-brand);
  color: var(--account-contrast) !important;
}

@media (hover: hover) {
  body.woocommerce-account .woocommerce :is(.woocommerce-info, .woocommerce-message) :is(a, button, input).button:hover {
    background-color: var(--account-brand);
    color: var(--account-contrast) !important;
  }
}
body.woocommerce-account .woocommerce .account-delete {
  margin-block-start: 0;
  padding-block-start: var(--danbi-ep-space-6);
  padding-inline: 0;
  border-block-start: 1px solid var(--account-rule);
}

body.woocommerce-account .woocommerce .account-delete .acf-btn.amem-btn {
  display: inline-flex;
  margin: 0;
  padding: var(--danbi-ep-space-2) var(--danbi-ep-space-4);
  border: 1px solid var(--account-ink);
  border-radius: 0;
  background-color: transparent;
  color: var(--account-ink) !important;
  font-size: var(--danbi-ep-font-size-base);
  font-weight: var(--danbi-ep-font-weight-base);
  text-decoration: none;
}

body.woocommerce-account .woocommerce .account-delete .acf-btn.amem-btn:focus-visible {
  background-color: var(--account-ink);
  color: var(--danbi-ep-color-surface) !important;
  opacity: 1;
}

@media (hover: hover) {
  body.woocommerce-account .woocommerce .account-delete .acf-btn.amem-btn:hover {
    background-color: var(--account-ink);
    color: var(--danbi-ep-color-surface) !important;
    opacity: 1;
  }
}
body.woocommerce-account .woocommerce form .form-row {
  margin: 0 0 var(--danbi-ep-space-6);
  padding: 0;
}

body.woocommerce-account .woocommerce form .form-row label {
  margin: 0 0 var(--danbi-ep-space-2);
  color: var(--account-brand);
  font-size: var(--danbi-ep-font-size-lg);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
}

body.woocommerce-account .woocommerce form .form-row .required {
  color: var(--account-brand);
  text-decoration: none;
}

body.woocommerce-account .woocommerce form .form-row :is(input.input-text, textarea, select) {
  box-sizing: border-box;
  width: 100%;
  min-height: var(--account-control);
  padding: var(--danbi-ep-space-2) var(--danbi-ep-space-3);
  border: 1px solid var(--account-brand);
  border-radius: 0;
  background-color: transparent;
  box-shadow: none;
  color: var(--account-ink);
  font: inherit;
  line-height: var(--danbi-ep-line-height-base);
}

body.woocommerce-account .woocommerce form .form-row :is(input.input-text, textarea)::placeholder {
  color: var(--account-placeholder);
  opacity: 1;
}

body.woocommerce-account .woocommerce form .form-row :is(input.input-text, textarea, select):focus {
  border-color: var(--account-brand);
  outline: 2px solid var(--account-brand);
  outline-offset: 1px;
}

body.woocommerce-account .woocommerce form .form-row .select2-container .select2-selection--single {
  height: var(--account-control);
  border: 1px solid var(--account-brand);
  border-radius: 0;
  background-color: transparent;
}

body.woocommerce-account .woocommerce form .form-row .select2-container .select2-selection--single .select2-selection__rendered {
  padding-inline: var(--danbi-ep-space-3);
  color: var(--account-ink);
  line-height: calc(var(--account-control) - 2px);
}

body.woocommerce-account .woocommerce form .form-row .select2-container .select2-selection--single .select2-selection__arrow {
  height: calc(var(--account-control) - 2px);
}

body.woocommerce-account .woocommerce .woocommerce-MyAccount-content form :is(h2, h3) {
  margin: 0 0 var(--danbi-ep-space-6);
}

body.woocommerce-account .woocommerce form .form-row .select2-container .select2-selection--single .select2-selection__rendered {
  padding-block: 0;
}

body.woocommerce-account .woocommerce form .form-row.checkout-postcode__origin {
  height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

body.woocommerce-account .woocommerce .checkout-postcode__button {
  min-height: var(--account-control);
  margin: 0;
  padding: 0 var(--danbi-ep-space-4);
  border: 1px solid var(--account-brand);
  border-radius: 0;
  background: transparent !important;
  color: var(--account-brand) !important;
  font-size: var(--danbi-ep-font-size-lg);
  font-weight: var(--danbi-ep-font-weight-bold);
}

body.woocommerce-account .woocommerce .checkout-postcode__button:focus-visible {
  background: var(--account-brand) !important;
  color: var(--account-contrast) !important;
}

@media (hover: hover) {
  body.woocommerce-account .woocommerce .checkout-postcode__button:hover {
    background: var(--account-brand) !important;
    color: var(--account-contrast) !important;
  }
}
body.woocommerce-account .woocommerce table.shop_table {
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  border-radius: 0;
  border-block-end: 1px solid var(--account-rule);
}

body.woocommerce-account .woocommerce table.shop_table :is(th, td) {
  padding: var(--danbi-ep-space-3) var(--danbi-ep-space-2);
  border: 0;
  border-block-start: 1px solid var(--account-rule);
  color: var(--account-ink);
  font-weight: var(--danbi-ep-font-weight-base);
  text-align: start;
  vertical-align: middle;
}

body.woocommerce-account .woocommerce table.shop_table thead th {
  border-block-start-color: var(--account-brand);
  color: var(--account-brand);
  font-weight: var(--danbi-ep-font-weight-bold);
}

body.woocommerce-account .woocommerce table.shop_table :is(a, button).button {
  min-height: 0;
  padding: var(--danbi-ep-space-1) var(--danbi-ep-space-3);
  font-size: var(--danbi-ep-font-size-base);
  font-weight: var(--danbi-ep-font-weight-base);
}

body.woocommerce-account .woocommerce :is(.woocommerce-order-details, .woocommerce-customer-details) {
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-4);
  margin: 0;
}

body.woocommerce-account .woocommerce .woocommerce-MyAccount-content :is(.woocommerce-order-details, .woocommerce-customer-details) h2 {
  display: flex;
  align-items: center;
  gap: var(--danbi-ep-space-4);
}

body.woocommerce-account .woocommerce .woocommerce-MyAccount-content :is(.woocommerce-order-details, .woocommerce-customer-details) h2::after {
  content: "";
  flex: 1;
  border-block-start: 1px solid var(--account-brand);
}

body.woocommerce-account .woocommerce .woocommerce-MyAccount-content .woocommerce-order-details h2:not(:first-child) {
  margin-block-start: var(--danbi-ep-space-4);
}

body.woocommerce-account .woocommerce .woocommerce-order-details table.shop_table tr:first-child > :is(th, td) {
  border-block-start: 0;
}

body.woocommerce-account .woocommerce .woocommerce-order-details table.shop_table :is(th, td) {
  padding-inline: 0;
}

body.woocommerce-account .woocommerce .woocommerce-order-details table.shop_table :is(th, td):last-child:not(:first-child) {
  text-align: end;
}

body.woocommerce-account .woocommerce .woocommerce-order-details table.shop_table :is(tfoot, tbody) th {
  color: var(--account-brand);
  font-weight: var(--danbi-ep-font-weight-bold);
}

body.woocommerce-account .woocommerce .woocommerce-order-details table.shop_table small {
  font-size: var(--danbi-ep-font-size-sm);
}

body.woocommerce-account .woocommerce .woocommerce-order-details table.shop_table a {
  color: var(--account-ink);
  text-decoration: underline;
  text-underline-offset: 0.3em;
}

body.woocommerce-account .woocommerce .woocommerce-MyAccount-content mark {
  background: transparent;
  color: inherit;
  font-weight: var(--danbi-ep-font-weight-bold);
}

body.woocommerce-account .woocommerce .woocommerce-customer-details address {
  margin: 0;
  padding: var(--danbi-ep-space-6);
  border: 1px solid var(--account-rule);
  border-radius: 0;
  color: var(--account-ink);
  font-style: normal;
  line-height: var(--danbi-ep-line-height-base);
}

body.woocommerce-account .woocommerce .woocommerce-customer-details address p {
  margin: var(--danbi-ep-space-2) 0 0;
}

@media (max-width: 767px) {
  body.woocommerce-account .woocommerce .woocommerce-customer-details address {
    padding: var(--danbi-ep-space-4);
  }
}
body.woocommerce-account .woocommerce .woocommerce-Address {
  display: flex;
  flex-direction: column;
  gap: var(--danbi-ep-space-3);
  padding: var(--danbi-ep-space-6);
  border: 1px solid var(--account-rule);
}

body.woocommerce-account .woocommerce .woocommerce-Address-title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--danbi-ep-space-2) var(--danbi-ep-space-4);
}

body.woocommerce-account .woocommerce .woocommerce-Address-title::before,
body.woocommerce-account .woocommerce .woocommerce-Address-title::after {
  content: none;
}

body.woocommerce-account .woocommerce .woocommerce-Address-title .edit {
  float: none;
}

body.woocommerce-account .woocommerce .woocommerce-Address address {
  margin: 0;
  font-style: normal;
  line-height: var(--danbi-ep-line-height-base);
}

@media (max-width: 767px) {
  body.woocommerce-account .woocommerce .woocommerce-Addresses .col-2 {
    margin-block-start: var(--danbi-ep-space-4);
  }
}
.amem-form {
  --amem-text-label: var(--danbi-ep-color-brand);
  --amem-text-input: var(--danbi-ep-color-text, #000);
  --amem-text-title: var(--danbi-ep-color-text, #000);
  --amem-text-description: var(--danbi-ep-color-text, #000);
  --amem-text-placeholder: color-mix(in srgb, var(--danbi-ep-color-brand) 62%, var(--danbi-ep-color-surface));
  --amem-text-button: var(--danbi-ep-color-brand-contrast);
  --amem-border-input-default: 1px solid var(--danbi-ep-color-brand);
  --amem-border-input-active: 1px solid var(--danbi-ep-color-brand);
  --amem-border-button: 1px solid var(--danbi-ep-color-brand);
  --amem-bg-button: var(--danbi-ep-color-brand);
  --amem-bg-control-selected: var(--danbi-ep-color-brand);
  --amem-radius: 0;
  --amem-padding-input: var(--danbi-ep-space-2) var(--danbi-ep-space-3);
  --amem-padding-button: var(--danbi-ep-space-2) var(--danbi-ep-space-6);
}

body.woocommerce-account .amem-form {
  max-width: 40rem;
  margin: 0;
}

.amem-form.acf-form .acf-field :is(input[type=text], input[type=email], input[type=password], input[type=tel], input[type=url], input[type=number], textarea, select) {
  box-sizing: border-box;
  min-height: var(--account-control, 3.25rem);
  border: 1px solid var(--danbi-ep-color-brand);
  border-radius: 0;
  background-color: transparent;
  box-shadow: none;
  color: var(--danbi-ep-color-text, #000);
  font-family: inherit;
  font-size: var(--danbi-ep-font-size-lg);
}

.amem-form.acf-form .acf-field :is(input, textarea, select):focus {
  outline: 2px solid var(--danbi-ep-color-brand);
  outline-offset: 1px;
}

.amem-form.acf-form .acf-field .acf-label label {
  color: var(--danbi-ep-color-brand);
  font-family: var(--danbi-ep-font-sans);
  font-size: var(--danbi-ep-font-size-lg);
  font-weight: var(--danbi-ep-font-weight-bold);
}

.amem-form.acf-form .acf-fields > .acf-field:not(.acf-field-amem-errors) {
  padding: 0 0 var(--danbi-ep-space-6);
  border: 0;
}

.amem-form.acf-form.amem-form-type-registration {
  max-width: 300px;
}

.amem-form.acf-form.amem-form-type-registration .acf-btn.amem-btn {
  width: 100%;
}

.amem-form.acf-form.amem-form-type-registration .acf-required {
  display: none;
}

.amem-form.acf-form.amem-form-type-registration .acf-field .description,
.amem-form.acf-form.amem-form-type-registration .amem-field-instructions {
  margin-block-start: var(--danbi-ep-space-1);
  color: var(--danbi-ep-color-text, #000);
  font-size: var(--danbi-ep-font-size-sm);
}

.amem-form.acf-form:is(.amem-form-type-login, .amem-form-type-registration) .amem-submit {
  padding-inline: 0;
}

.amem-form.acf-form.amem-form-type-login .amem-submit-has-extra .amem-hl {
  display: flex;
  gap: var(--danbi-ep-space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.amem-form.acf-form.amem-form-type-login .amem-submit-has-extra .amem-hl::before,
.amem-form.acf-form.amem-form-type-login .amem-submit-has-extra .amem-hl::after {
  content: none;
}

.amem-form.acf-form.amem-form-type-login .amem-submit-has-extra .amem-half {
  float: none;
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  padding: 0;
}

.amem-form.acf-form .acf-btn.amem-btn.amem-btn-alt {
  border: 1px solid var(--danbi-ep-color-brand);
  background-color: transparent;
  color: var(--danbi-ep-color-brand) !important;
  text-decoration: none;
}

.amem-form.acf-form .acf-btn.amem-btn.amem-btn-alt:focus-visible {
  background-color: var(--danbi-ep-color-brand);
  color: var(--danbi-ep-color-brand-contrast) !important;
  opacity: 1;
}

@media (hover: hover) {
  .amem-form.acf-form .acf-btn.amem-btn.amem-btn-alt:hover {
    background-color: var(--danbi-ep-color-brand);
    color: var(--danbi-ep-color-brand-contrast) !important;
    opacity: 1;
  }
}
body.woocommerce-account .amem-form .amem-submit {
  padding: 0;
  text-align: start;
}

body .ui-widget-overlay {
  background: color-mix(in srgb, var(--danbi-ep-color-text, #12080a) 35%, transparent);
  opacity: 1;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}

body .ui-dialog {
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  width: min(28rem, 100vw - var(--danbi-ep-page-margin) * 2) !important;
  max-height: calc(100vh - var(--danbi-ep-space-8));
  overflow-y: auto;
  padding: var(--danbi-ep-space-6);
  border: 1px solid var(--danbi-ep-color-brand);
  border-radius: 0;
  background: var(--danbi-ep-color-surface);
  box-shadow: none;
  color: var(--danbi-ep-color-text, #12080a);
  font-family: var(--danbi-ep-font-sans);
  transform: translate(-50%, -50%);
}

body .ui-dialog .ui-dialog-titlebar {
  display: flex;
  align-items: flex-start;
  gap: var(--danbi-ep-space-4);
  height: auto;
  margin: 0 0 var(--danbi-ep-space-4);
  padding: 0;
  border: 0;
  background: none;
}

body .ui-dialog .ui-dialog-titlebar::before,
body .ui-dialog .ui-dialog-titlebar::after {
  content: none;
}

body .ui-dialog .ui-dialog-title {
  flex: 1;
  float: none;
  width: auto;
  margin: 0;
  color: var(--danbi-ep-color-brand);
  font-family: var(--danbi-ep-font-display);
  font-size: 1.5rem;
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
  letter-spacing: -0.02em;
  white-space: normal;
}

body .ui-dialog .ui-button.ui-dialog-titlebar-close {
  position: static;
  flex: none;
  width: 2rem;
  height: 2rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--danbi-ep-color-brand);
  transform: none;
}

body .ui-dialog .ui-dialog-titlebar-close::before {
  color: var(--danbi-ep-color-brand);
  font-size: 1.5rem;
  line-height: 2rem;
}

body .ui-dialog .ui-dialog-content {
  min-height: 0 !important;
  padding: 0;
  overflow: visible;
  font-size: var(--danbi-ep-font-size-base);
  line-height: var(--danbi-ep-line-height-base);
}

body .ui-dialog .ui-dialog-content p {
  margin: 0 0 var(--danbi-ep-space-4);
}

body .ui-dialog .ui-dialog-content label {
  display: block;
  margin-block-end: var(--danbi-ep-space-1);
  color: var(--danbi-ep-color-brand);
  font-weight: var(--danbi-ep-font-weight-bold);
}

body .ui-dialog .ui-dialog-content textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-height: 7rem;
  padding: var(--danbi-ep-space-2) var(--danbi-ep-space-3);
  border: 1px solid var(--danbi-ep-color-brand);
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  resize: vertical;
}

body .ui-dialog .ui-dialog-content textarea:focus {
  outline: 2px solid var(--danbi-ep-color-brand);
  outline-offset: -1px;
  box-shadow: none;
}

body .ui-dialog .ui-dialog-content #invalid-reason {
  margin: var(--danbi-ep-space-1) 0 0;
  color: var(--danbi-ep-color-brand);
  font-size: var(--danbi-ep-font-size-sm);
  font-weight: var(--danbi-ep-font-weight-bold);
}

body .ui-dialog .ui-dialog-buttonpane {
  margin: var(--danbi-ep-space-6) 0 0;
  padding: 0;
  border: 0;
  background: none;
}

body .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
  display: flex;
  gap: var(--danbi-ep-space-2);
  float: none;
}

body .ui-dialog .ui-dialog-buttonpane .ui-button {
  flex: 1;
  min-height: 3rem;
  margin: 0;
  padding: var(--danbi-ep-space-2) var(--danbi-ep-space-4);
  border: 1px solid var(--danbi-ep-color-brand);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--danbi-ep-color-brand);
  font-family: inherit;
  font-size: var(--danbi-ep-font-size-base);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: var(--danbi-ep-line-height-tight);
  transition: background-color 150ms ease, color 150ms ease;
}

body .ui-dialog .ui-dialog-buttonpane .ui-button:first-child,
body .ui-dialog .ui-dialog-buttonpane .ui-button:not(:first-child):is(:hover, :focus-visible) {
  background: var(--danbi-ep-color-brand);
  color: var(--danbi-ep-color-brand-contrast);
}

body .ui-dialog .ui-dialog-buttonpane .ui-button:first-child:is(:hover, :focus-visible) {
  background: transparent;
  color: var(--danbi-ep-color-brand);
}

body .ui-dialog .ui-button:focus-visible {
  outline: 2px solid var(--danbi-ep-color-brand);
  outline-offset: 2px;
  box-shadow: none;
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) body .ui-dialog .ui-dialog-buttonpane .ui-button {
    transition: none;
  }
}
html[data-udm-motion=off] body .ui-dialog .ui-dialog-buttonpane .ui-button {
  transition: none;
}

@media (max-width: 767px) {
  body .ui-dialog {
    padding: var(--danbi-ep-space-4);
  }
  body .ui-dialog .ui-dialog-title {
    font-size: 1.25rem;
  }
  body .ui-dialog .ui-dialog-content,
  body .ui-dialog .ui-dialog-buttonpane .ui-button {
    font-size: var(--danbi-ep-font-size-sm);
  }
}
.announce {
  --announce-bg: var(--danbi-ep-color-text, #000);
  --announce-ink: var(--danbi-ep-color-brand-contrast, #fff);
  position: relative;
  display: block;
  overflow: hidden;
  padding: 4px 0;
  background-color: var(--announce-bg);
  color: var(--announce-ink);
  font-size: 1rem;
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: 1.4;
  text-decoration: none;
}

a.announce,
a.announce:hover,
a.announce:focus-visible {
  color: var(--announce-ink);
  text-decoration: none;
}

a.announce:focus-visible {
  outline: 2px solid var(--announce-ink);
  outline-offset: -4px;
}

.announce__track {
  --announce-cycle: var(--announce-duration, 80s);
  display: flex;
  width: max-content;
  animation: announce-roll var(--announce-cycle) linear infinite;
}

html[data-udm-mode=english] .announce__track {
  --announce-cycle: var(--announce-duration-en, var(--announce-duration, 80s));
}

.announce__group {
  display: flex;
  flex-shrink: 0;
}

.announce__item {
  padding-inline: 1.75em;
  white-space: nowrap;
}

@keyframes announce-roll {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-50%, 0, 0);
  }
}
.announce:focus-visible .announce__track {
  animation-play-state: paused;
}

@media (hover: hover) {
  .announce:hover .announce__track {
    animation-play-state: paused;
  }
}
@media (max-width: 767px) {
  .announce {
    font-size: 0.875rem;
  }
  .announce__track {
    animation-duration: calc(var(--announce-cycle) * 1.5);
  }
}
@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .announce__track {
    animation: none;
  }
}
html[data-udm-motion=off] .announce__track {
  animation: none;
}

.scroll-top {
  --scroll-top-size: 3.25rem;
  --scroll-top-ink: var(--danbi-ep-color-brand);
  --scroll-top-bg: color-mix(in srgb, var(--danbi-ep-color-brand) 12%, var(--danbi-ep-color-surface));
  position: fixed;
  right: var(--danbi-ep-page-margin);
  bottom: var(--danbi-ep-page-margin);
  z-index: 40;
  display: grid;
  place-items: center;
  width: var(--scroll-top-size);
  height: var(--scroll-top-size);
  margin: 0;
  padding: 0;
  border: 1px solid var(--scroll-top-ink);
  border-radius: 0;
  background-color: var(--scroll-top-bg);
  color: var(--scroll-top-ink);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0s linear 0.3s;
}
.scroll-top svg {
  display: block;
  width: 28px;
  height: 28px;
  overflow: visible;
}

.scroll-top.scroll-top--visible {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease, visibility 0s;
}

.scroll-top.scroll-top:hover,
.scroll-top.scroll-top:focus,
.scroll-top.scroll-top:active {
  background-color: var(--scroll-top-bg);
  color: var(--scroll-top-ink);
}

.scroll-top:focus-visible svg {
  animation: scroll-top-hop 0.5s ease-out;
}

@media (hover: hover) {
  .scroll-top:hover svg {
    animation: scroll-top-hop 0.5s ease-out;
  }
}
@keyframes scroll-top-hop {
  0% {
    transform: none;
  }
  35% {
    transform: translateY(-5px) scaleY(1.08);
  }
  65% {
    transform: translateY(1px) scaleY(0.94);
  }
  100% {
    transform: none;
  }
}
@media (max-width: 767px) {
  .scroll-top {
    --scroll-top-size: 2.25rem;
  }
  .scroll-top svg {
    width: 20px;
    height: 20px;
  }
}
html.headbar-locked .scroll-top {
  opacity: 0;
  visibility: hidden;
}

@media (hover: none) {
  .scroll-top:hover svg {
    animation: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) .scroll-top:hover svg,
  html:not([data-udm-motion=on]) .scroll-top:focus-visible svg {
    animation: none;
  }
}
html[data-udm-motion=off] .scroll-top:hover svg,
html[data-udm-motion=off] .scroll-top:focus-visible svg {
  animation: none;
}

nav.woocommerce-pagination.woocommerce-pagination,
body .paging-navigation .nav-links {
  --pagination-ink: var(--danbi-ep-color-brand);
  --pagination-bg: color-mix(in srgb, var(--danbi-ep-color-brand) 12%, var(--danbi-ep-color-surface));
  --pagination-size: 2rem;
  margin-block: var(--danbi-ep-space-8) 0;
  text-align: center;
}

nav.woocommerce-pagination.woocommerce-pagination ul.page-numbers,
body .paging-navigation .nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  border: 0;
  white-space: normal;
  list-style: none;
}

nav.woocommerce-pagination.woocommerce-pagination ul.page-numbers li {
  display: block;
  float: none;
  margin: 0;
  border: 0;
  overflow: visible;
}

nav.woocommerce-pagination.woocommerce-pagination ul.page-numbers li .page-numbers,
body .paging-navigation .nav-links .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: var(--pagination-size);
  height: var(--pagination-size);
  margin: 0;
  padding: 0 var(--danbi-ep-space-2);
  border: 1px solid var(--pagination-ink);
  border-radius: 0;
  background-color: var(--pagination-bg);
  color: var(--pagination-ink);
  font-family: var(--danbi-ep-font-sans);
  font-size: var(--danbi-ep-font-size-sm);
  font-weight: var(--danbi-ep-font-weight-bold);
  line-height: 1;
  text-decoration: none;
  transition: background-color 180ms cubic-bezier(0.3, 0, 0.2, 1), color 180ms cubic-bezier(0.3, 0, 0.2, 1);
}

nav.woocommerce-pagination.woocommerce-pagination ul.page-numbers li .page-numbers.current,
nav.woocommerce-pagination.woocommerce-pagination ul.page-numbers li a.page-numbers:focus-visible,
body .paging-navigation .nav-links .page-numbers.current,
body .paging-navigation .nav-links a.page-numbers:focus-visible {
  background-color: var(--pagination-ink);
  color: var(--danbi-ep-color-brand-contrast);
}

@media (hover: hover) {
  nav.woocommerce-pagination.woocommerce-pagination ul.page-numbers li a.page-numbers:hover,
  body .paging-navigation .nav-links a.page-numbers:hover {
    background-color: var(--pagination-ink);
    color: var(--danbi-ep-color-brand-contrast);
  }
}
nav.woocommerce-pagination.woocommerce-pagination ul.page-numbers li .page-numbers:is(.prev, .next),
body .paging-navigation .nav-links .page-numbers:is(.prev, .next) {
  width: var(--pagination-size);
  min-width: var(--pagination-size);
  padding: 0;
}

nav.woocommerce-pagination.woocommerce-pagination ul.page-numbers li .page-numbers.dots,
body .paging-navigation .nav-links .page-numbers.dots {
  min-width: auto;
  padding: 0 2px;
  border-color: transparent;
  background-color: transparent;
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-udm-motion=on]) nav.woocommerce-pagination.woocommerce-pagination ul.page-numbers li .page-numbers,
  html:not([data-udm-motion=on]) body .paging-navigation .nav-links .page-numbers {
    transition: none;
  }
}
html[data-udm-motion=off] nav.woocommerce-pagination.woocommerce-pagination ul.page-numbers li .page-numbers,
html[data-udm-motion=off] body .paging-navigation .nav-links .page-numbers {
  transition: none;
}

.section {
  background-color: var(--danbi-ep-color-surface);
  padding-block: var(--danbi-ep-page-margin);
  padding-inline: 0;
}

.entry-content {
  padding-block: var(--danbi-ep-page-margin);
}

.entry-content:not(:first-child) {
  margin-top: 0;
}

.section__inner {
  max-width: 100% !important;
  margin: unset !important;
}

.section__inner {
  padding-inline: 0 !important;
}

.u-font-display {
  font-family: var(--danbi-ep-font-display);
}
