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

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
body {
  position: relative;
  margin: 0;
  background-color: #06111F;
  color: #F7EFD8;
  font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.04em;
  font-feature-settings: "palt";
  overflow-x: hidden;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: 0.35;
  background-image: radial-gradient(1.5px 1.5px at 14% 22%, rgba(247, 239, 216, 0.55) 50%, transparent 51%), radial-gradient(1px 1px at 32% 68%, rgba(216, 180, 106, 0.5) 50%, transparent 51%), radial-gradient(1.2px 1.2px at 58% 14%, rgba(247, 239, 216, 0.45) 50%, transparent 51%), radial-gradient(1px 1px at 72% 52%, rgba(247, 239, 216, 0.4) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 88% 80%, rgba(216, 180, 106, 0.45) 50%, transparent 51%), radial-gradient(1px 1px at 6% 88%, rgba(247, 239, 216, 0.35) 50%, transparent 51%), radial-gradient(1.2px 1.2px at 44% 38%, rgba(216, 180, 106, 0.4) 50%, transparent 51%), radial-gradient(1px 1px at 92% 30%, rgba(247, 239, 216, 0.35) 50%, transparent 51%);
  background-size: 560px 560px;
  background-repeat: repeat;
}

main {
  position: relative;
  z-index: 1;
  padding-top: 78px;
}
@media (max-width: 1023px) {
  main {
    padding-top: 64px;
  }
}

footer {
  position: relative;
  z-index: 1;
}

body.is-locked {
  overflow: hidden;
  position: fixed;
  width: 100%;
  left: 0;
  right: 0;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.06em;
}

p {
  margin: 0;
}

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

dl, dt, dd {
  margin: 0;
}

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

a {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease, opacity 0.3s ease;
}
a:hover {
  color: #D8B46A;
}
a:focus-visible {
  outline: 2px solid #D8B46A;
  outline-offset: 4px;
  border-radius: 4px;
}

button {
  font-family: inherit;
  color: inherit;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 0;
}
button:focus-visible {
  outline: 2px solid #D8B46A;
  outline-offset: 4px;
}

::selection {
  background: rgba(216, 180, 106, 0.3);
  color: #F7EFD8;
}

.u-sp-only {
  display: none;
}
@media (max-width: 767px) {
  .u-sp-only {
    display: inline;
  }
}

@media (max-width: 767px) {
  .u-pc-only {
    display: none !important;
  }
}

.js-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.9s ease, transform 0.9s ease;
}
.js-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .js-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.l-inner {
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: clamp(20px, 4vw, 40px);
}

.l-section {
  padding-block: clamp(72px, 10vw, 140px);
}

.mv {
  background-color: #0B1B2E;
}

.concept {
  background-color: #10243A;
}

.seet {
  background-color: #0B1B2E;
}

.menu {
  background-color: #0E2238;
}

.recommendation {
  background-color: #0B1B2E;
}

.infomation {
  background-color: #0E2238;
}

.footer {
  background-color: #06111F;
}

.c-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 220px;
  padding: 14px 28px;
  font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1;
  border-radius: 999px;
  border: 1px solid rgba(216, 180, 106, 0.42);
  text-align: center;
  cursor: pointer;
  transition: background-color 0.35s ease, border-color 0.35s ease, color 0.35s ease, box-shadow 0.35s ease, transform 0.35s ease;
}
.c-button:hover {
  color: #06111F;
  background-color: #D8B46A;
  border-color: #D8B46A;
  box-shadow: 0 0 0 4px rgba(216, 180, 106, 0.22), 0 0 24px rgba(216, 180, 106, 0.45), 0 10px 28px rgba(216, 180, 106, 0.22);
  transform: translateY(-1px);
}
.c-button:focus-visible {
  outline: 2px solid #D8B46A;
  outline-offset: 4px;
}
@media (max-width: 767px) {
  .c-button {
    width: 100%;
    min-width: 0;
  }
}

.c-button--gold {
  background-color: rgba(216, 180, 106, 0.08);
  color: #F7EFD8;
}

.c-button--ghost {
  background-color: rgba(255, 255, 255, 0.04);
  color: #F7EFD8;
  border-color: rgba(247, 239, 216, 0.14);
}
.c-button--ghost:hover {
  color: #06111F;
  background-color: #EADDC0;
  border-color: #EADDC0;
  box-shadow: 0 0 0 4px rgba(247, 239, 216, 0.14);
}

.c-button--with-rabbit {
  min-width: 0;
  padding: 12px 38px 12px 22px;
  overflow: visible;
  font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.14em;
  transition: background-color 0.6s ease, border-color 0.6s ease, color 0.6s ease, box-shadow 0.6s ease, transform 0.6s ease;
}
.c-button--with-rabbit .c-button__rabbit {
  position: absolute;
  right: -6px;
  bottom: -10px;
  width: 50px;
  height: 50px;
  flex-shrink: 0;
  pointer-events: none;
  z-index: 1;
  opacity: 0.9;
  background-image: url("../images/footerer/background-rabbit.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
  filter: brightness(0) invert(1) sepia(0.4) saturate(2) hue-rotate(0deg);
  transition: opacity 0.6s ease, filter 0.6s ease;
}
.c-button--with-rabbit:hover .c-button__rabbit {
  filter: brightness(0) invert(0);
  opacity: 1;
}
@media (max-width: 767px) {
  .c-button--with-rabbit .c-button__rabbit {
    right: -4px;
    bottom: -14px;
    width: 40px;
    height: 40px;
  }
}

.c-button__rabbit {
  display: inline-block;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  background-image: url("../images/footerer/background-rabbit.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  filter: brightness(0) invert(1) sepia(0.4) saturate(2) hue-rotate(0deg);
  opacity: 0.85;
}

.c-button:hover .c-button__rabbit {
  filter: brightness(0) invert(0);
  opacity: 1;
}

.c-button__icon {
  display: inline-flex;
  width: 18px;
  height: 18px;
  align-items: center;
  justify-content: center;
}
.c-button__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.c-eyebrow {
  font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.28em;
  color: rgba(216, 180, 106, 0.7);
  text-transform: uppercase;
  margin: 0;
  display: inline-block;
}

.c-deco-line {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 2.6vw, 32px);
  padding-inline: 8px;
}
.c-deco-line::before, .c-deco-line::after {
  content: "";
  flex: 0 0 auto;
  width: clamp(10px, 10px + (100vw - 320px) * 130 / 1120, 140px);
  height: 1px;
  background: linear-gradient(90deg, rgba(216, 180, 106, 0) 0%, rgba(216, 180, 106, 0.7) 50%, rgba(216, 180, 106, 0) 100%);
}

.c-deco-line-wrap {
  display: flex;
  justify-content: center;
  width: 100%;
}

.c-section-title {
  font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(28px, 3.4vw, 40px);
  font-weight: 500;
  line-height: 1.5;
  color: #F7EFD8;
  text-align: center;
}

@keyframes to-top-float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}
@keyframes to-top-shine {
  0%, 100% {
    filter: brightness(0.94) drop-shadow(0 3px 10px rgba(0, 0, 0, 0.38));
  }
  50% {
    filter: brightness(1.06) drop-shadow(0 6px 18px rgba(216, 180, 106, 0.34));
  }
}
@keyframes to-top-hover-nudge {
  0%, 100% {
    transform: translateY(-1px) scale(1.03);
  }
  50% {
    transform: translateY(-5px) scale(1.05);
  }
}
@keyframes to-top-ring-pulse {
  0% {
    transform: scale(1);
    opacity: 0.32;
  }
  100% {
    transform: scale(1.16);
    opacity: 0;
  }
}
.to-top {
  position: fixed;
  right: clamp(14px, 2.8vw, 28px);
  bottom: clamp(14px, 2.8vw, 28px);
  width: clamp(70px, 6.5vw, 91px);
  height: clamp(70px, 6.5vw, 91px);
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px) scale(0.9);
  transition: opacity 0.45s ease, visibility 0.45s ease, transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 90;
}
.to-top::after {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: 50%;
  border: 1px solid rgba(216, 180, 106, 0.38);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
}
.to-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}
.to-top.is-visible .to-top__img {
  animation: to-top-float 3.4s ease-in-out 0.45s infinite, to-top-shine 4.2s ease-in-out 0.45s infinite;
}
.to-top__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
  will-change: transform, filter;
  transition: filter 0.25s ease;
}
.to-top.is-visible:hover::after, .to-top:hover::after {
  opacity: 1;
  animation: to-top-ring-pulse 2.4s ease-out infinite;
}
.to-top.is-visible:hover .to-top__img, .to-top:hover .to-top__img {
  animation: to-top-hover-nudge 1.6s ease-in-out infinite;
  filter: brightness(1.1) drop-shadow(0 6px 16px rgba(216, 180, 106, 0.32));
}
.to-top:active .to-top__img {
  animation: none;
  transform: translateY(0) scale(0.96);
  filter: brightness(1.08) drop-shadow(0 4px 12px rgba(216, 180, 106, 0.38));
}
.to-top:active::after {
  animation: none;
  opacity: 0;
}
.to-top:focus-visible {
  outline: 2px solid #D8B46A;
  outline-offset: 4px;
  border-radius: 50%;
}
@media (prefers-reduced-motion: reduce) {
  .to-top {
    transform: none;
  }
  .to-top.is-visible {
    transform: none;
  }
  .to-top.is-visible .to-top__img {
    animation: none;
    filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.38));
  }
  .to-top:hover .to-top__img {
    transform: scale(1.06);
    filter: brightness(1.15) drop-shadow(0 6px 16px rgba(216, 180, 106, 0.45));
  }
  .to-top:hover::after {
    animation: none;
    opacity: 0.45;
    transform: scale(1.08);
  }
}

.c-bg-clouds {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}

.c-bg-cloud {
  position: absolute;
  height: auto;
  object-fit: contain;
  opacity: 0.14;
  filter: saturate(0.68) brightness(0.88);
  user-select: none;
}
@media (max-width: 767px) {
  .c-bg-cloud {
    opacity: 0.1;
    filter: saturate(0.62) brightness(0.86);
  }
}

.concept .c-bg-cloud:nth-child(1) {
  top: 4%;
  left: -12%;
  width: clamp(130px, 24vw, 300px);
  transform: rotate(-3deg);
}
.concept .c-bg-cloud:nth-child(2) {
  top: 58%;
  left: -6%;
  width: clamp(100px, 18vw, 220px);
  transform: rotate(2deg) scale(0.92);
}
.concept .c-bg-cloud:nth-child(3) {
  top: 10%;
  right: -8%;
  left: auto;
  width: clamp(110px, 20vw, 260px);
  transform: scaleX(-1) rotate(1deg);
}
.concept .c-bg-cloud:nth-child(4) {
  top: 72%;
  right: -14%;
  left: auto;
  width: clamp(120px, 22vw, 280px);
  transform: scaleX(-1) rotate(-2deg);
}

.seet .c-bg-cloud:nth-child(1) {
  top: 16%;
  left: -14%;
  width: clamp(140px, 28vw, 320px);
  transform: rotate(2deg);
}
.seet .c-bg-cloud:nth-child(2) {
  top: 68%;
  left: 2%;
  width: clamp(90px, 16vw, 200px);
  transform: rotate(-4deg) scale(0.88);
}
.seet .c-bg-cloud:nth-child(3) {
  top: 6%;
  right: -10%;
  left: auto;
  width: clamp(100px, 19vw, 240px);
  transform: scaleX(-1) rotate(-1deg);
}
.seet .c-bg-cloud:nth-child(4) {
  top: 46%;
  right: -5%;
  left: auto;
  width: clamp(130px, 24vw, 290px);
  transform: scaleX(-1) rotate(3deg);
}

.menu .c-bg-cloud:nth-child(1) {
  top: 8%;
  left: -8%;
  width: clamp(110px, 21vw, 250px);
  transform: rotate(-2deg);
}
.menu .c-bg-cloud:nth-child(2) {
  top: 64%;
  left: -12%;
  width: clamp(120px, 23vw, 270px);
  transform: rotate(3deg) scale(0.9);
}
.menu .c-bg-cloud:nth-child(3) {
  top: 20%;
  right: -14%;
  left: auto;
  width: clamp(140px, 27vw, 310px);
  transform: scaleX(-1) rotate(2deg);
}
.menu .c-bg-cloud:nth-child(4) {
  top: 80%;
  right: -6%;
  left: auto;
  width: clamp(95px, 17vw, 210px);
  transform: scaleX(-1) rotate(-3deg);
}

.recommendation .c-bg-cloud:nth-child(1) {
  top: 3%;
  left: -10%;
  width: clamp(120px, 22vw, 280px);
  transform: rotate(-1deg);
}
.recommendation .c-bg-cloud:nth-child(2) {
  top: 52%;
  left: -4%;
  width: clamp(100px, 18vw, 230px);
  transform: rotate(4deg) scale(0.86);
}
.recommendation .c-bg-cloud:nth-child(3) {
  top: 12%;
  right: -12%;
  left: auto;
  width: clamp(130px, 25vw, 300px);
  transform: scaleX(-1) rotate(-2deg);
  opacity: 0.1;
}
@media (max-width: 767px) {
  .recommendation .c-bg-cloud:nth-child(3) {
    opacity: 0.07;
  }
}
.recommendation .c-bg-cloud:nth-child(4) {
  top: 66%;
  right: -8%;
  left: auto;
  width: clamp(110px, 20vw, 250px);
  transform: scaleX(-1) rotate(1deg);
  opacity: 0.1;
}
@media (max-width: 767px) {
  .recommendation .c-bg-cloud:nth-child(4) {
    opacity: 0.07;
  }
}

.infomation .c-bg-cloud:nth-child(1) {
  top: 12%;
  left: -11%;
  width: clamp(125px, 23vw, 290px);
  transform: rotate(3deg);
}
.infomation .c-bg-cloud:nth-child(2) {
  top: 62%;
  left: -7%;
  width: clamp(95px, 17vw, 215px);
  transform: rotate(-2deg) scale(0.9);
}
.infomation .c-bg-cloud:nth-child(3) {
  top: 6%;
  right: -9%;
  left: auto;
  width: clamp(115px, 21vw, 255px);
  transform: scaleX(-1) rotate(-3deg);
}
.infomation .c-bg-cloud:nth-child(4) {
  top: 50%;
  right: -13%;
  left: auto;
  width: clamp(135px, 26vw, 300px);
  transform: scaleX(-1) rotate(2deg);
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 100;
  font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  background-color: rgba(11, 27, 46, 0.42);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(216, 180, 106, 0.42);
  transition: background-color 0.35s ease, border-color 0.35s ease;
}
.header.is-scrolled {
  background-color: rgba(11, 27, 46, 0.92);
}
.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 1200px;
  height: 78px;
  margin-inline: auto;
  padding-inline: clamp(20px, 4vw, 40px);
}
@media (max-width: 1023px) {
  .header__inner {
    height: 64px;
  }
}
.header__logo {
  display: inline-flex;
  align-items: center;
  gap: clamp(8px, 1.2vw, 14px);
  height: 100%;
  flex-shrink: 0;
  filter: brightness(0.88);
  opacity: 0.92;
  transition: filter 0.6s ease, opacity 0.6s ease;
}
.header__logo:hover {
  filter: brightness(1.2);
  opacity: 1;
}
.header__logo-icon {
  width: clamp(66px, 6.9vw, 79px);
  height: clamp(66px, 6.9vw, 79px);
  object-fit: contain;
  flex-shrink: 0;
}
@media (max-width: 1023px) {
  .header__logo-icon {
    width: 56px;
    height: 56px;
  }
}
.header__logo-text {
  height: 67px;
  width: auto;
  object-fit: contain;
}
@media (max-width: 1023px) {
  .header__logo-text {
    height: 53px;
  }
}
.header__nav {
  display: flex;
  align-items: center;
  gap: clamp(20px, 2.6vw, 40px);
}
@media (max-width: 1023px) {
  .header__nav {
    position: fixed;
    inset: 0;
    z-index: 105;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: clamp(14px, 2.4dvh, 24px);
    width: 100%;
    height: 100dvh;
    height: 100svh;
    box-sizing: border-box;
    padding: 200px 24px clamp(16px, 2.8dvh, 28px);
    background-color: rgba(11, 27, 46, 0.98);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    opacity: 0;
    visibility: hidden;
    transform: scale(1.02);
    transition: opacity 1s cubic-bezier(0.22, 1, 0.36, 1), visibility 1s cubic-bezier(0.22, 1, 0.36, 1), transform 1s cubic-bezier(0.22, 1, 0.36, 1);
    overflow: hidden;
  }
  .header__nav::before, .header__nav::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background-image: radial-gradient(1.5px 1.5px at 8% 18%, rgba(247, 239, 216, 0.62) 50%, transparent 51%), radial-gradient(2px 2px at 22% 62%, rgba(216, 180, 106, 0.58) 50%, transparent 51%), radial-gradient(3px 3px at 38% 28%, rgba(247, 239, 216, 0.52) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 52% 78%, rgba(247, 239, 216, 0.48) 50%, transparent 51%), radial-gradient(3.5px 3.5px at 66% 12%, rgba(216, 180, 106, 0.52) 50%, transparent 51%), radial-gradient(2px 2px at 78% 48%, rgba(247, 239, 216, 0.5) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 90% 72%, rgba(216, 180, 106, 0.46) 50%, transparent 51%), radial-gradient(2.8px 2.8px at 12% 88%, rgba(247, 239, 216, 0.44) 50%, transparent 51%), radial-gradient(2px 2px at 48% 44%, rgba(216, 180, 106, 0.5) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 84% 32%, rgba(247, 239, 216, 0.42) 50%, transparent 51%), radial-gradient(2px 2px at 18% 42%, rgba(247, 239, 216, 0.5) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 35% 8%, rgba(216, 180, 106, 0.48) 50%, transparent 51%), radial-gradient(2.5px 2.5px at 58% 55%, rgba(247, 239, 216, 0.46) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 72% 85%, rgba(216, 180, 106, 0.44) 50%, transparent 51%), radial-gradient(3px 3px at 95% 15%, rgba(247, 239, 216, 0.5) 50%, transparent 51%), radial-gradient(2px 2px at 5% 55%, rgba(216, 180, 106, 0.46) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 62% 35%, rgba(247, 239, 216, 0.44) 50%, transparent 51%), radial-gradient(2.8px 2.8px at 28% 75%, rgba(216, 180, 106, 0.48) 50%, transparent 51%);
    background-size: 380px 380px;
    background-repeat: repeat;
  }
  .header__nav::before {
    opacity: 0.34;
    background-position: 70px 140px;
  }
  .header__nav::after {
    opacity: 0.24;
    background-position: -40px 260px;
  }
}
@media (min-width: 1024px) {
  .header__nav-deco {
    display: none;
  }
}
@media (max-width: 1023px) {
  .header__nav-deco {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
  }
}
@media (max-width: 1023px) {
  .header__nav-clouds .c-bg-cloud:nth-child(1) {
    top: 6%;
    left: -14%;
    width: clamp(110px, 34vw, 210px);
    transform: rotate(2deg);
  }
  .header__nav-clouds .c-bg-cloud:nth-child(2) {
    top: 38%;
    left: -8%;
    width: clamp(90px, 28vw, 170px);
    transform: rotate(-3deg) scale(0.9);
  }
  .header__nav-clouds .c-bg-cloud:nth-child(3) {
    top: 10%;
    right: -12%;
    left: auto;
    width: clamp(100px, 30vw, 190px);
    transform: scaleX(-1) rotate(-1deg);
  }
  .header__nav-clouds .c-bg-cloud:nth-child(4) {
    bottom: 8%;
    right: -10%;
    left: auto;
    top: auto;
    width: clamp(120px, 36vw, 220px);
    transform: scaleX(-1) rotate(2deg);
  }
}
.header__nav-list {
  display: flex;
  align-items: center;
  gap: clamp(16px, 2.2vw, 32px);
}
@media (max-width: 1023px) {
  .header__nav-list {
    flex-direction: column;
    align-items: center;
    gap: clamp(10px, 2dvh, 22px);
    width: 100%;
    max-width: 320px;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
  }
  .header__nav-list li {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
    transition-delay: 0s;
    flex-shrink: 0;
  }
}
.header__nav-link {
  position: relative;
  font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.16em;
  color: #F7EFD8;
  padding-block: 6px;
  transition: color 0.6s ease;
}
.header__nav-link::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 0;
  height: 1px;
  background-color: #D8B46A;
  transform: translateX(-50%);
  transition: width 0.6s ease;
}
.header__nav-link:hover {
  color: #D8B46A;
}
.header__nav-link:hover::after {
  width: 100%;
}
@media (max-width: 1023px) {
  .header__nav-link {
    font-size: clamp(14px, 1.9dvh, 16px);
    letter-spacing: 0.16em;
    padding-block: clamp(2px, 0.6dvh, 6px);
    flex-shrink: 0;
  }
}
@media (max-width: 1023px) {
  .header__cta {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 280px;
    min-width: 0;
    margin-top: clamp(2px, 0.8dvh, 8px);
    flex-shrink: 0;
    padding: clamp(10px, 1.6dvh, 12px) clamp(28px, 8vw, 34px) clamp(10px, 1.6dvh, 12px) clamp(18px, 5vw, 22px);
    font-size: clamp(11px, 1.6dvh, 13px);
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
    transition-delay: 0s;
  }
  .header__cta .c-button__rabbit {
    width: clamp(34px, 5.5dvh, 40px);
    height: clamp(34px, 5.5dvh, 40px);
    right: -4px;
    bottom: clamp(-10px, -1.6dvh, -8px);
  }
}
.header__burger {
  display: none;
  position: relative;
  width: 40px;
  height: 40px;
  z-index: 110;
}
.header__burger span {
  position: absolute;
  left: 8px;
  width: 24px;
  height: 1.2px;
  background-color: #D8B46A;
  transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), top 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.header__burger span:nth-child(1) {
  top: 13px;
}
.header__burger span:nth-child(2) {
  top: 20px;
}
.header__burger span:nth-child(3) {
  top: 27px;
}
@media (max-width: 1023px) {
  .header__burger {
    display: block;
  }
}
@media (max-width: 1023px) {
  .header.is-open {
    background-color: rgba(11, 27, 46, 0.92);
  }
}
.header.is-open .header__inner {
  position: relative;
  z-index: 111;
}
.header.is-open .header__logo {
  position: relative;
  z-index: 112;
}
.header.is-open .header__nav {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}
@media (max-width: 1023px) {
  .header.is-open .header__nav-list li {
    opacity: 1;
    transform: translateY(0);
  }
  .header.is-open .header__nav-list li:nth-child(1) {
    transition-delay: 0.15s;
  }
  .header.is-open .header__nav-list li:nth-child(2) {
    transition-delay: 0.25s;
  }
  .header.is-open .header__nav-list li:nth-child(3) {
    transition-delay: 0.35s;
  }
  .header.is-open .header__nav-list li:nth-child(4) {
    transition-delay: 0.45s;
  }
  .header.is-open .header__nav-list li:nth-child(5) {
    transition-delay: 0.55s;
  }
  .header.is-open .header__nav-list li:nth-child(6) {
    transition-delay: 0.65s;
  }
  .header.is-open .header__cta {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.75s;
  }
}
.header.is-open .header__burger {
  z-index: 113;
}
.header.is-open .header__burger span:nth-child(1) {
  top: 20px;
  transform: rotate(45deg);
}
.header.is-open .header__burger span:nth-child(2) {
  opacity: 0;
}
.header.is-open .header__burger span:nth-child(3) {
  top: 20px;
  transform: rotate(-45deg);
}
@media (max-width: 1023px) {
  .header.is-open.is-closing .header__nav {
    opacity: 0;
    visibility: hidden;
    transform: scale(1.02);
    transition-delay: 0.48s;
  }
  .header.is-open.is-closing .header__nav-list li {
    opacity: 0;
    transform: translateY(10px);
  }
  .header.is-open.is-closing .header__nav-list li:nth-child(1) {
    transition-delay: 0.41s;
  }
  .header.is-open.is-closing .header__nav-list li:nth-child(2) {
    transition-delay: 0.34s;
  }
  .header.is-open.is-closing .header__nav-list li:nth-child(3) {
    transition-delay: 0.27s;
  }
  .header.is-open.is-closing .header__nav-list li:nth-child(4) {
    transition-delay: 0.2s;
  }
  .header.is-open.is-closing .header__nav-list li:nth-child(5) {
    transition-delay: 0.13s;
  }
  .header.is-open.is-closing .header__nav-list li:nth-child(6) {
    transition-delay: 0.06s;
  }
  .header.is-open.is-closing .header__cta {
    opacity: 0;
    transform: translateY(10px);
    transition-delay: 0s;
  }
  .header.is-open.is-closing .header__burger span:nth-child(1) {
    top: 13px;
    transform: rotate(0);
  }
  .header.is-open.is-closing .header__burger span:nth-child(2) {
    opacity: 1;
  }
  .header.is-open.is-closing .header__burger span:nth-child(3) {
    top: 27px;
    transform: rotate(0);
  }
}
@media (min-width: 1024px) {
  .header__nav {
    position: static;
    transform: none;
    opacity: 1;
    visibility: visible;
    background: transparent;
    flex-direction: row;
    padding: 0;
  }
}

.mv {
  position: relative;
  overflow: hidden;
  min-height: calc(90vh + 78px);
  margin-top: calc(-1 * 78px);
  display: flex;
  align-items: stretch;
  background-color: #0B1B2E;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .mv {
    margin-top: calc(-1 * 64px);
    min-height: calc(90vh + 64px);
  }
}
@media (max-width: 767px) {
  .mv {
    min-height: auto;
    margin-top: calc(-1 * 64px);
    --mv-stack-visual-h: clamp(260px, 58vh, 66vh);
    display: block;
  }
}
.mv__visual {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 56%;
  z-index: 0;
  overflow: visible;
}
.mv__visual::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 14%;
  height: 100%;
  z-index: 4;
  pointer-events: none;
  background: linear-gradient(to right, rgba(11, 27, 46, 0) 0%, rgba(11, 27, 46, 0.2) 30%, rgba(11, 27, 46, 0.55) 65%, #0B1B2E 100%);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M20 0 L100 0 L100 100 L20 100 C14 91 26 82 14 73 C26 64 14 55 26 46 C14 37 26 28 14 19 C26 10 14 1 20 0Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M20 0 L100 0 L100 100 L20 100 C14 91 26 82 14 73 C26 64 14 55 26 46 C14 37 26 28 14 19 C26 10 14 1 20 0Z'/%3E%3C/svg%3E");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
@media (max-width: 767px) {
  .mv__visual {
    top: calc(64px + 10px);
    width: 100%;
    height: var(--mv-stack-visual-h);
    min-height: 400px;
    bottom: auto;
    overflow: hidden;
    background-color: #0B1B2E;
  }
  .mv__visual::after {
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 12%;
    background: linear-gradient(to bottom, rgba(11, 27, 46, 0) 0%, rgba(11, 27, 46, 0.45) 55%, #0B1B2E 100%);
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 22 L0 100 L100 100 L100 22 C91 14 82 26 73 14 C64 26 55 14 46 26 C37 14 28 26 19 14 C10 26 1 14 0 22Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 22 L0 100 L100 100 L100 22 C91 14 82 26 73 14 C64 26 55 14 46 26 C37 14 28 26 19 14 C10 26 1 14 0 22Z'/%3E%3C/svg%3E");
  }
}
.mv__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  -webkit-mask-image: linear-gradient(to right, #000 0%, #000 72%, rgba(0, 0, 0, 0.95) 88%, rgba(0, 0, 0, 0.5) 94%, transparent 100%);
  mask-image: linear-gradient(to right, #000 0%, #000 72%, rgba(0, 0, 0, 0.95) 88%, rgba(0, 0, 0, 0.5) 94%, transparent 100%);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
@media (max-width: 767px) {
  .mv__image {
    object-fit: contain;
    object-position: center center;
    -webkit-mask-image: none;
    mask-image: none;
  }
}
.mv__shade {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(to right, rgba(11, 27, 46, 0) 0%, rgba(11, 27, 46, 0) 72%, rgba(11, 27, 46, 0.4) 90%, rgba(11, 27, 46, 0.85) 100%), linear-gradient(180deg, rgba(6, 17, 31, 0.55) 0%, rgba(6, 17, 31, 0.2) 12%, rgba(6, 17, 31, 0) 28%, rgba(6, 17, 31, 0) 75%, rgba(6, 17, 31, 0.55) 100%), radial-gradient(ellipse 55% 50% at 28% 55%, rgba(224, 168, 79, 0.18) 0%, rgba(224, 168, 79, 0) 70%);
}
@media (max-width: 767px) {
  .mv__shade {
    background: linear-gradient(180deg, rgba(6, 17, 31, 0.4) 0%, rgba(6, 17, 31, 0.15) 30%, rgba(6, 17, 31, 0) 60%, rgba(6, 17, 31, 0.55) 100%);
  }
}
.mv__stars {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.55;
  background-image: radial-gradient(1.5px 1.5px at 14% 22%, rgba(247, 239, 216, 0.55) 50%, transparent 51%), radial-gradient(1px 1px at 32% 68%, rgba(216, 180, 106, 0.5) 50%, transparent 51%), radial-gradient(1.2px 1.2px at 58% 14%, rgba(247, 239, 216, 0.45) 50%, transparent 51%), radial-gradient(1px 1px at 72% 52%, rgba(247, 239, 216, 0.4) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 88% 80%, rgba(216, 180, 106, 0.45) 50%, transparent 51%), radial-gradient(1px 1px at 6% 88%, rgba(247, 239, 216, 0.35) 50%, transparent 51%), radial-gradient(1.2px 1.2px at 44% 38%, rgba(216, 180, 106, 0.4) 50%, transparent 51%), radial-gradient(1px 1px at 92% 30%, rgba(247, 239, 216, 0.35) 50%, transparent 51%);
  background-size: 420px 420px;
  background-repeat: repeat;
}
@media (max-width: 767px) {
  .mv__stars {
    opacity: 0.4;
  }
}
.mv__deco {
  position: absolute;
  pointer-events: none;
  height: auto;
  max-width: none;
}
.mv__deco-cluster--moon {
  position: absolute;
  z-index: 1;
  top: calc(78px + clamp(20px, 3vw, 48px));
  right: clamp(8px, 1.5vw, 20px);
  transform: translateX(var(--mv-nudge, 0));
}
@media (min-width: 768px) and (max-width: 1023px) {
  .mv__deco-cluster--moon {
    top: calc(64px + clamp(20px, 3vw, 48px));
  }
}
@media (max-width: 767px) {
  .mv__deco-cluster--moon {
    transform: none;
  }
}
.mv__deco-cluster--moon {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(2px, 0.5vw, 8px);
  pointer-events: none;
}
.mv__deco-cluster--moon .mv__deco--moon {
  position: static;
  width: clamp(120px, 20.14vw, 290px);
  opacity: 0.95;
  filter: brightness(1.2) drop-shadow(0 0 40px rgba(216, 180, 106, 0.35));
}
.mv__deco-cluster--moon .mv__deco--dumpling {
  position: static;
  width: clamp(56px, 5vw, 80px);
  margin-top: clamp(-8px, -0.5vw, -4px);
  transform: rotate(-12deg) translate(var(--mv-nudge, 0), var(--mv-nudge, 0));
  opacity: 0.95;
  filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.45));
}
@media (max-width: 767px) {
  .mv__deco-cluster--moon .mv__deco--dumpling {
    display: none;
  }
}
@media (max-width: 767px) {
  .mv__deco-cluster--moon {
    top: auto;
    right: 0;
    bottom: calc(var(--mv-stack-deco-bottom) + var(--mv-stack-rabbit-h) + 16px);
    left: auto;
    margin-bottom: 0;
    gap: 0;
    z-index: 2;
  }
  .mv__deco-cluster--moon .mv__deco--moon {
    width: clamp(80px, 12vw, 100px);
    opacity: 0.9;
  }
}
.mv__deco-cluster--rabbit {
  position: absolute;
  z-index: 1;
  right: clamp(16px, 2vw, 32px);
  bottom: clamp(20px, 3vw, 48px);
  transform: translateX(var(--mv-nudge, 0));
}
@media (max-width: 767px) {
  .mv__deco-cluster--rabbit {
    transform: none;
  }
}
.mv__deco-cluster--rabbit {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: clamp(4px, 0.8vw, 12px);
  pointer-events: none;
}
.mv__deco-cluster--rabbit .mv__deco--star {
  position: static;
  width: clamp(110px, 13vw, 200px);
  opacity: 0.48;
  mix-blend-mode: screen;
  filter: brightness(1.25);
}
.mv__deco-cluster--rabbit .mv__deco--rabbit {
  position: static;
  width: clamp(220px, 24vw, 360px);
  opacity: 0.92;
  filter: brightness(1.05) drop-shadow(0 6px 18px rgba(0, 0, 0, 0.5));
}
@media (max-width: 767px) {
  .mv__deco-cluster--rabbit {
    right: 12px;
    bottom: var(--mv-stack-deco-bottom, 16px);
    gap: 2px;
  }
  .mv__deco-cluster--rabbit .mv__deco--star {
    width: clamp(56px, 10vw, 88px);
    opacity: 0.42;
  }
  .mv__deco-cluster--rabbit .mv__deco--rabbit {
    width: var(--mv-stack-rabbit-h, 180px);
  }
}
.mv__deco--cloud {
  top: auto;
  bottom: clamp(16px, 4vw, 40px);
  left: clamp(0px, 1vw, 12px);
  right: auto;
  width: 22%;
  max-width: 320px;
  opacity: 0.32;
  mix-blend-mode: screen;
  filter: brightness(1.3);
}
@media (max-width: 767px) {
  .mv__deco--cloud {
    display: none;
  }
}
.mv__deco--starline {
  top: 4%;
  left: 1%;
  width: clamp(120px, 14vw, 210px);
  opacity: 0.55;
  filter: brightness(1.22);
}
@media (max-width: 767px) {
  .mv__deco--starline {
    top: 2%;
    left: -2%;
    width: 100px;
    opacity: 0.48;
  }
}
.mv__inner {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-block: 45px;
  pointer-events: none;
}
@media (min-width: 768px) {
  .mv__inner {
    --mv-nudge: clamp(40px, 6.94vw, 100px);
  }
}
@media (max-width: 767px) {
  .mv__inner {
    --mv-stack-deco-bottom: clamp(12px, 2vw, 16px);
    --mv-stack-rabbit-h: clamp(120px, 20vw, 180px);
    position: relative;
    inset: auto;
    align-items: center;
    justify-content: flex-end;
    min-height: 88vh;
    padding-block: 0;
    padding-top: calc(64px + 10px + var(--mv-stack-visual-h));
    padding-bottom: clamp(180px, 24vw, 240px);
    pointer-events: auto;
  }
}
.mv__content {
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  .mv__content {
    position: static;
  }
}
.mv__content {
  display: flex;
  flex-direction: column;
  gap: clamp(28px, 3.2vw, 40px);
  max-width: 520px;
  text-align: left;
  color: #F7EFD8;
  padding-inline: clamp(0px, 1vw, 12px);
  pointer-events: auto;
}
@media (max-width: 767px) {
  .mv__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(20px, 5vw, 28px);
    width: 100%;
    max-width: min(100%, 720px);
    margin-inline: auto;
    padding-block: 0 8px;
    padding-inline: clamp(20px, 4vw, 32px);
  }
}
.mv__heading {
  font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(32px, 2.85vw, 41px);
  line-height: 1.55;
  color: #F7EFD8;
  letter-spacing: 0.08em;
  margin: 0;
  text-shadow: 0 6px 24px rgba(0, 0, 0, 0.55), 0 0 30px rgba(6, 17, 31, 0.4);
}
@media (max-width: 767px) {
  .mv__heading {
    width: 100%;
    font-size: clamp(20px, 6.25vw, 28px);
    text-align: center;
    letter-spacing: 0.06em;
  }
}
.mv__lead {
  font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 14.5px;
  line-height: 2;
  color: #EADDC0;
  margin: 0;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
}
@media (min-width: 768px) {
  .mv__lead {
    margin-top: var(--mv-nudge, 0);
  }
}
@media (max-width: 767px) {
  .mv__lead {
    width: 100%;
    font-size: clamp(12px, 3.2vw, 14.5px);
    text-align: center;
  }
}
.mv__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin: 0;
}
@media (max-width: 767px) {
  .mv__buttons {
    width: 100%;
    max-width: 320px;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 12px;
  }
}

.concept {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding-block: clamp(64px, 8vw, 140px);
  padding-inline: clamp(20px, 1.95vw, 40px);
}
.concept::before, .concept::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image: radial-gradient(1.5px 1.5px at 8% 18%, rgba(247, 239, 216, 0.62) 50%, transparent 51%), radial-gradient(2px 2px at 22% 62%, rgba(216, 180, 106, 0.58) 50%, transparent 51%), radial-gradient(3px 3px at 38% 28%, rgba(247, 239, 216, 0.52) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 52% 78%, rgba(247, 239, 216, 0.48) 50%, transparent 51%), radial-gradient(3.5px 3.5px at 66% 12%, rgba(216, 180, 106, 0.52) 50%, transparent 51%), radial-gradient(2px 2px at 78% 48%, rgba(247, 239, 216, 0.5) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 90% 72%, rgba(216, 180, 106, 0.46) 50%, transparent 51%), radial-gradient(2.8px 2.8px at 12% 88%, rgba(247, 239, 216, 0.44) 50%, transparent 51%), radial-gradient(2px 2px at 48% 44%, rgba(216, 180, 106, 0.5) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 84% 32%, rgba(247, 239, 216, 0.42) 50%, transparent 51%), radial-gradient(2px 2px at 18% 42%, rgba(247, 239, 216, 0.5) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 35% 8%, rgba(216, 180, 106, 0.48) 50%, transparent 51%), radial-gradient(2.5px 2.5px at 58% 55%, rgba(247, 239, 216, 0.46) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 72% 85%, rgba(216, 180, 106, 0.44) 50%, transparent 51%), radial-gradient(3px 3px at 95% 15%, rgba(247, 239, 216, 0.5) 50%, transparent 51%), radial-gradient(2px 2px at 5% 55%, rgba(216, 180, 106, 0.46) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 62% 35%, rgba(247, 239, 216, 0.44) 50%, transparent 51%), radial-gradient(2.8px 2.8px at 28% 75%, rgba(216, 180, 106, 0.48) 50%, transparent 51%);
  background-size: 380px 380px;
  background-repeat: repeat;
}
.concept::before {
  opacity: 0.38;
}
@media (max-width: 767px) {
  .concept::before {
    opacity: 0.32;
  }
}
.concept::after {
  opacity: 0.28;
  background-position: 140px 90px;
}
@media (max-width: 767px) {
  .concept::after {
    opacity: 0.24;
    background-position: 80px 60px;
  }
}
.concept__bg-line {
  position: absolute;
  top: -12px;
  right: -24px;
  width: 300px;
  height: auto;
  transform: none;
  opacity: 0.4;
  filter: brightness(1.35);
  pointer-events: none;
  z-index: 0;
}
@media (max-width: 767px) {
  .concept__bg-line {
    width: clamp(200px, 52vw, 260px);
    top: -8px;
    right: -16px;
  }
}
.concept__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: clamp(48px, 6vw, 72px);
  padding-inline: 0;
}
.concept__intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: clamp(28px, 4vw, 56px);
  width: 100%;
  max-width: min(100%, 920px);
  margin-inline: auto;
}
@media (max-width: 767px) {
  .concept__intro {
    grid-template-columns: 1fr;
    gap: 28px;
    max-width: none;
    margin-inline: auto;
    justify-items: center;
    text-align: center;
  }
}
.concept__intro-head {
  display: flex;
  align-items: flex-start;
  gap: clamp(14px, 2.2vw, 28px);
  min-width: 0;
}
@media (max-width: 767px) {
  .concept__intro-head {
    justify-content: center;
  }
}
.concept__bg-rabbit {
  flex-shrink: 0;
  width: clamp(86px, 10.8vw, 142px);
  height: auto;
  margin-top: 0.15em;
  opacity: 0.9;
  pointer-events: none;
  filter: brightness(1.1) saturate(0.88) drop-shadow(0 4px 16px rgba(216, 180, 106, 0.18));
}
@media (max-width: 767px) {
  .concept__bg-rabbit {
    width: clamp(67px, 18vw, 86px);
    margin-top: 0.1em;
  }
}
.concept__title {
  flex: 1;
  min-width: 0;
  font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(20px, 2.8vw, 24px);
  line-height: 1.7;
  color: #F7EFD8;
  letter-spacing: 0.08em;
  margin: 0;
}
.concept__body {
  font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 15px;
  line-height: 2.1;
  color: #EADDC0;
  margin: 0;
}
.concept__body p {
  margin: 0;
}
@media (max-width: 767px) {
  .concept__body {
    max-width: 560px;
    margin-inline: auto;
    font-size: 14px;
    text-align: center;
  }
}
.concept__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(16px, 2.4vw, 28px);
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 1024px) {
  .concept__list {
    grid-template-columns: repeat(2, 1fr);
    width: 100%;
    max-width: 600px;
    margin-inline: auto;
  }
}
@media (max-width: 767px) {
  .concept__list {
    grid-template-columns: 1fr;
    max-width: 250px;
    margin-inline: auto;
  }
}
.concept__card {
  position: relative;
  background-color: #10243A;
  background-image: linear-gradient(180deg, rgba(216, 180, 106, 0.06) 0%, rgba(216, 180, 106, 0) 60%);
  border: 1px solid rgba(216, 180, 106, 0.42);
  border-radius: 24px;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(216, 180, 106, 0.04) inset;
  overflow: hidden;
  transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
}
.concept__card:hover {
  transform: translateY(-4px);
  border-color: rgba(216, 180, 106, 0.7);
  box-shadow: 0 14px 38px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(216, 180, 106, 0.18) inset;
}
.concept__card {
  aspect-ratio: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 20px 16px 16px;
  min-height: 0;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35), inset 0 0 0 1px rgba(216, 180, 106, 0.04);
  background-image: radial-gradient(ellipse 92% 72% at 50% 0%, rgba(224, 168, 79, 0.16) 0%, rgba(224, 168, 79, 0.06) 38%, transparent 68%), linear-gradient(180deg, rgba(216, 180, 106, 0.06) 0%, rgba(216, 180, 106, 0) 60%);
  transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease, background-image 0.4s ease;
}
.concept__card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 0;
  opacity: 0.34;
  background-image: radial-gradient(1.5px 1.5px at 8% 18%, rgba(247, 239, 216, 0.62) 50%, transparent 51%), radial-gradient(2px 2px at 22% 62%, rgba(216, 180, 106, 0.58) 50%, transparent 51%), radial-gradient(3px 3px at 38% 28%, rgba(247, 239, 216, 0.52) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 52% 78%, rgba(247, 239, 216, 0.48) 50%, transparent 51%), radial-gradient(3.5px 3.5px at 66% 12%, rgba(216, 180, 106, 0.52) 50%, transparent 51%), radial-gradient(2px 2px at 78% 48%, rgba(247, 239, 216, 0.5) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 90% 72%, rgba(216, 180, 106, 0.46) 50%, transparent 51%), radial-gradient(2.8px 2.8px at 12% 88%, rgba(247, 239, 216, 0.44) 50%, transparent 51%), radial-gradient(2px 2px at 48% 44%, rgba(216, 180, 106, 0.5) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 84% 32%, rgba(247, 239, 216, 0.42) 50%, transparent 51%), radial-gradient(2px 2px at 18% 42%, rgba(247, 239, 216, 0.5) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 35% 8%, rgba(216, 180, 106, 0.48) 50%, transparent 51%), radial-gradient(2.5px 2.5px at 58% 55%, rgba(247, 239, 216, 0.46) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 72% 85%, rgba(216, 180, 106, 0.44) 50%, transparent 51%), radial-gradient(3px 3px at 95% 15%, rgba(247, 239, 216, 0.5) 50%, transparent 51%), radial-gradient(2px 2px at 5% 55%, rgba(216, 180, 106, 0.46) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 62% 35%, rgba(247, 239, 216, 0.44) 50%, transparent 51%), radial-gradient(2.8px 2.8px at 28% 75%, rgba(216, 180, 106, 0.48) 50%, transparent 51%);
  background-size: 380px 380px;
  background-repeat: repeat;
}
.concept__card::after {
  content: "";
  position: absolute;
  inset: 7px;
  border-radius: 17px;
  pointer-events: none;
  z-index: 0;
  border: 1px solid rgba(216, 180, 106, 0.22);
  box-shadow: inset 0 0 0 1px rgba(216, 180, 106, 0.1), inset 0 0 24px rgba(216, 180, 106, 0.06);
  transition: border-color 0.4s ease, box-shadow 0.4s ease;
}
.concept__card:nth-child(1)::before {
  background-position: 20px 30px;
}
.concept__card:nth-child(2)::before {
  background-position: 80px 50px;
}
.concept__card:nth-child(3)::before {
  background-position: 40px 70px;
}
.concept__card:nth-child(4)::before {
  background-position: 100px 20px;
}
.concept__card:hover {
  box-shadow: 0 14px 38px rgba(0, 0, 0, 0.45), inset 0 0 0 1px rgba(216, 180, 106, 0.18);
  background-image: radial-gradient(ellipse 92% 72% at 50% 0%, rgba(224, 168, 79, 0.22) 0%, rgba(224, 168, 79, 0.09) 38%, transparent 68%), linear-gradient(180deg, rgba(216, 180, 106, 0.08) 0%, rgba(216, 180, 106, 0) 60%);
}
.concept__card:hover::after {
  border-color: rgba(216, 180, 106, 0.38);
  box-shadow: inset 0 0 0 1px rgba(216, 180, 106, 0.16), inset 0 0 28px rgba(216, 180, 106, 0.1);
}
.concept__card > * {
  position: relative;
  z-index: 1;
}
.concept__icon {
  display: inline-flex;
  width: 60px;
  height: 60px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}
.concept__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: saturate(0.72) brightness(0.9) drop-shadow(0 4px 12px rgba(216, 180, 106, 0.14));
}
.concept__card-title {
  font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 20px;
  color: #F7EFD8;
  margin: 0 0 8px;
  letter-spacing: 0.12em;
}
@media (max-width: 767px) {
  .concept__card-title {
    font-size: 18px;
  }
}
.concept__card-text {
  flex: 1;
  width: 100%;
  font-size: 13.5px;
  line-height: 1.85;
  color: #EADDC0;
  margin: 0;
  padding: 0 4px 52px;
}
@media (max-width: 767px) {
  .concept__card-text {
    font-size: 13px;
    line-height: 1.8;
  }
}
.concept__deco {
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  width: 60px;
  height: 60px;
  margin: 0;
  padding: 0;
  pointer-events: none;
}
.concept__deco img {
  width: 60px;
  height: 60px;
  object-fit: contain;
  object-position: right bottom;
  opacity: 0.78;
  filter: saturate(0.72) brightness(0.9) drop-shadow(0 4px 10px rgba(0, 0, 0, 0.3));
}

.seet {
  position: relative;
  padding-block: clamp(80px, 10vw, 140px);
  overflow: hidden;
  isolation: isolate;
}
.seet::before, .seet::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image: radial-gradient(1.5px 1.5px at 8% 18%, rgba(247, 239, 216, 0.62) 50%, transparent 51%), radial-gradient(2px 2px at 22% 62%, rgba(216, 180, 106, 0.58) 50%, transparent 51%), radial-gradient(3px 3px at 38% 28%, rgba(247, 239, 216, 0.52) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 52% 78%, rgba(247, 239, 216, 0.48) 50%, transparent 51%), radial-gradient(3.5px 3.5px at 66% 12%, rgba(216, 180, 106, 0.52) 50%, transparent 51%), radial-gradient(2px 2px at 78% 48%, rgba(247, 239, 216, 0.5) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 90% 72%, rgba(216, 180, 106, 0.46) 50%, transparent 51%), radial-gradient(2.8px 2.8px at 12% 88%, rgba(247, 239, 216, 0.44) 50%, transparent 51%), radial-gradient(2px 2px at 48% 44%, rgba(216, 180, 106, 0.5) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 84% 32%, rgba(247, 239, 216, 0.42) 50%, transparent 51%), radial-gradient(2px 2px at 18% 42%, rgba(247, 239, 216, 0.5) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 35% 8%, rgba(216, 180, 106, 0.48) 50%, transparent 51%), radial-gradient(2.5px 2.5px at 58% 55%, rgba(247, 239, 216, 0.46) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 72% 85%, rgba(216, 180, 106, 0.44) 50%, transparent 51%), radial-gradient(3px 3px at 95% 15%, rgba(247, 239, 216, 0.5) 50%, transparent 51%), radial-gradient(2px 2px at 5% 55%, rgba(216, 180, 106, 0.46) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 62% 35%, rgba(247, 239, 216, 0.44) 50%, transparent 51%), radial-gradient(2.8px 2.8px at 28% 75%, rgba(216, 180, 106, 0.48) 50%, transparent 51%);
  background-size: 380px 380px;
  background-repeat: repeat;
}
.seet::before {
  opacity: 0.54;
}
@media (max-width: 767px) {
  .seet::before {
    opacity: 0.44;
  }
}
.seet::after {
  opacity: 0.44;
  background-position: 140px 90px;
}
@media (max-width: 767px) {
  .seet::after {
    opacity: 0.36;
    background-position: 80px 60px;
  }
}
.seet__bg-line1 {
  position: absolute;
  top: 90px;
  left: 14px;
  width: 30%;
  height: auto;
  opacity: 0.22;
  pointer-events: none;
  z-index: 0;
}
@media (max-width: 767px) {
  .seet__bg-line1 {
    width: 38%;
    top: -2%;
    left: -4%;
  }
}
.seet__bg-line2 {
  position: absolute;
  top: -18px;
  right: 0;
  bottom: 0;
  width: 30%;
  height: 100%;
  object-fit: contain;
  object-position: right center;
  opacity: 0.22;
  pointer-events: none;
  z-index: 0;
}
@media (max-width: 767px) {
  .seet__bg-line2 {
    width: 38%;
    right: -4%;
  }
}
.seet__bg-rabbit {
  position: absolute;
  top: 24%;
  right: 20%;
  width: 90px;
  opacity: 0.7;
  pointer-events: none;
  z-index: 3;
}
@media (max-width: 767px) {
  .seet__bg-rabbit {
    top: 0;
    right: 0;
    width: 56px;
    transform: translate(6px, -28%);
  }
}
.seet__inner {
  position: relative;
  z-index: 2;
}
.seet__head {
  text-align: center;
  margin-bottom: clamp(40px, 5vw, 64px);
}
.seet__title-wrap {
  display: inline-block;
  max-width: 100%;
  position: relative;
}
@media (min-width: 768px) {
  .seet__title-wrap {
    position: static;
  }
}
.seet__title {
  font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(24px, 2.8vw, 32px);
  color: #F7EFD8;
  letter-spacing: 0.16em;
  margin-bottom: 18px;
}
.seet__lead {
  font-size: 14.5px;
  line-height: 2;
  color: #EADDC0;
  max-width: 720px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .seet__lead {
    font-size: 13.5px;
  }
}
.seet__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(18px, 2.4vw, 28px);
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 1024px) {
  .seet__list {
    grid-template-columns: repeat(2, 1fr);
    width: 100%;
    max-width: 600px;
    margin-inline: auto;
  }
}
@media (max-width: 767px) {
  .seet__list {
    grid-template-columns: 1fr;
    max-width: 250px;
    margin-inline: auto;
  }
}

.seet-card {
  position: relative;
  background-color: #10243A;
  background-image: linear-gradient(180deg, rgba(216, 180, 106, 0.06) 0%, rgba(216, 180, 106, 0) 60%);
  border: 1px solid rgba(216, 180, 106, 0.42);
  border-radius: 24px;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(216, 180, 106, 0.04) inset;
  overflow: hidden;
  transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
}
.seet-card:hover {
  transform: translateY(-4px);
  border-color: rgba(216, 180, 106, 0.7);
  box-shadow: 0 14px 38px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(216, 180, 106, 0.18) inset;
}
.seet-card {
  display: flex;
  flex-direction: column;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35), inset 0 0 0 1px rgba(216, 180, 106, 0.04);
  transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
}
.seet-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 0;
  opacity: 0.5;
  background-image: radial-gradient(1.5px 1.5px at 8% 18%, rgba(247, 239, 216, 0.62) 50%, transparent 51%), radial-gradient(2px 2px at 22% 62%, rgba(216, 180, 106, 0.58) 50%, transparent 51%), radial-gradient(3px 3px at 38% 28%, rgba(247, 239, 216, 0.52) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 52% 78%, rgba(247, 239, 216, 0.48) 50%, transparent 51%), radial-gradient(3.5px 3.5px at 66% 12%, rgba(216, 180, 106, 0.52) 50%, transparent 51%), radial-gradient(2px 2px at 78% 48%, rgba(247, 239, 216, 0.5) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 90% 72%, rgba(216, 180, 106, 0.46) 50%, transparent 51%), radial-gradient(2.8px 2.8px at 12% 88%, rgba(247, 239, 216, 0.44) 50%, transparent 51%), radial-gradient(2px 2px at 48% 44%, rgba(216, 180, 106, 0.5) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 84% 32%, rgba(247, 239, 216, 0.42) 50%, transparent 51%), radial-gradient(2px 2px at 18% 42%, rgba(247, 239, 216, 0.5) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 35% 8%, rgba(216, 180, 106, 0.48) 50%, transparent 51%), radial-gradient(2.5px 2.5px at 58% 55%, rgba(247, 239, 216, 0.46) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 72% 85%, rgba(216, 180, 106, 0.44) 50%, transparent 51%), radial-gradient(3px 3px at 95% 15%, rgba(247, 239, 216, 0.5) 50%, transparent 51%), radial-gradient(2px 2px at 5% 55%, rgba(216, 180, 106, 0.46) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 62% 35%, rgba(247, 239, 216, 0.44) 50%, transparent 51%), radial-gradient(2.8px 2.8px at 28% 75%, rgba(216, 180, 106, 0.48) 50%, transparent 51%);
  background-size: 380px 380px;
  background-repeat: repeat;
}
.seet-card::after {
  content: "";
  position: absolute;
  inset: 7px;
  border-radius: 17px;
  pointer-events: none;
  z-index: 2;
  border: 1px solid rgba(216, 180, 106, 0.22);
  box-shadow: inset 0 0 0 1px rgba(216, 180, 106, 0.1), inset 0 0 24px rgba(216, 180, 106, 0.06);
  transition: border-color 0.4s ease, box-shadow 0.4s ease;
}
.seet-card:nth-child(1)::before {
  background-position: 20px 30px;
}
.seet-card:nth-child(2)::before {
  background-position: 80px 50px;
}
.seet-card:nth-child(3)::before {
  background-position: 40px 70px;
}
.seet-card:nth-child(4)::before {
  background-position: 100px 20px;
}
.seet-card:hover {
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.42), inset 0 0 0 1px rgba(216, 180, 106, 0.14);
}
.seet-card:hover::after {
  border-color: rgba(216, 180, 106, 0.3);
  box-shadow: inset 0 0 0 1px rgba(216, 180, 106, 0.13), inset 0 0 24px rgba(216, 180, 106, 0.08);
}
.seet-card > * {
  position: relative;
  z-index: 1;
}
.seet-card__image {
  aspect-ratio: 4/3;
  overflow: hidden;
  position: relative;
  box-shadow: inset 0 0 0 1px rgba(216, 180, 106, 0.28), inset 0 1px 0 rgba(216, 180, 106, 0.14);
}
.seet-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.seet-card__image::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: radial-gradient(ellipse 72% 58% at 10% 6%, rgba(224, 168, 79, 0.24) 0%, rgba(224, 168, 79, 0.08) 40%, transparent 68%);
  transition: opacity 0.4s ease;
}
.seet-card__image::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(6, 17, 31, 0) 42%, rgba(6, 17, 31, 0.38) 72%, rgba(6, 17, 31, 0.65) 100%);
  transition: opacity 0.4s ease;
}
.seet-card:hover .seet-card__image img {
  transform: scale(1.04);
}
.seet-card:hover .seet-card__image::before {
  background: radial-gradient(ellipse 72% 58% at 10% 6%, rgba(224, 168, 79, 0.28) 0%, rgba(224, 168, 79, 0.1) 40%, transparent 68%);
}
.seet-card:hover .seet-card__image::after {
  background: linear-gradient(180deg, rgba(6, 17, 31, 0) 42%, rgba(6, 17, 31, 0.34) 72%, rgba(6, 17, 31, 0.58) 100%);
}
.seet-card__body {
  padding: 22px 22px 26px;
  text-align: left;
  border-top: 1px solid rgba(216, 180, 106, 0.18);
  background-image: radial-gradient(ellipse 110% 85% at 50% 0%, rgba(224, 168, 79, 0.14) 0%, rgba(224, 168, 79, 0.05) 42%, transparent 72%);
  transition: background-image 0.4s ease;
}
.seet-card:hover .seet-card__body {
  background-image: radial-gradient(ellipse 110% 85% at 50% 0%, rgba(224, 168, 79, 0.17) 0%, rgba(224, 168, 79, 0.06) 42%, transparent 72%);
}
.seet-card__title {
  font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 17px;
  color: #F7EFD8;
  letter-spacing: 0.1em;
  margin-bottom: 10px;
}
.seet-card__sub {
  display: inline-block;
  margin-top: 2px;
  font-size: 12px;
  color: #A99B83;
  letter-spacing: 0.06em;
}
.seet-card__text {
  font-size: 13px;
  line-height: 1.9;
  color: #EADDC0;
}

.menu {
  position: relative;
  padding-block: clamp(80px, 10vw, 140px);
  overflow: hidden;
  isolation: isolate;
}
.menu::before, .menu::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image: radial-gradient(1.5px 1.5px at 8% 18%, rgba(247, 239, 216, 0.62) 50%, transparent 51%), radial-gradient(2px 2px at 22% 62%, rgba(216, 180, 106, 0.58) 50%, transparent 51%), radial-gradient(3px 3px at 38% 28%, rgba(247, 239, 216, 0.52) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 52% 78%, rgba(247, 239, 216, 0.48) 50%, transparent 51%), radial-gradient(3.5px 3.5px at 66% 12%, rgba(216, 180, 106, 0.52) 50%, transparent 51%), radial-gradient(2px 2px at 78% 48%, rgba(247, 239, 216, 0.5) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 90% 72%, rgba(216, 180, 106, 0.46) 50%, transparent 51%), radial-gradient(2.8px 2.8px at 12% 88%, rgba(247, 239, 216, 0.44) 50%, transparent 51%), radial-gradient(2px 2px at 48% 44%, rgba(216, 180, 106, 0.5) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 84% 32%, rgba(247, 239, 216, 0.42) 50%, transparent 51%), radial-gradient(2px 2px at 18% 42%, rgba(247, 239, 216, 0.5) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 35% 8%, rgba(216, 180, 106, 0.48) 50%, transparent 51%), radial-gradient(2.5px 2.5px at 58% 55%, rgba(247, 239, 216, 0.46) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 72% 85%, rgba(216, 180, 106, 0.44) 50%, transparent 51%), radial-gradient(3px 3px at 95% 15%, rgba(247, 239, 216, 0.5) 50%, transparent 51%), radial-gradient(2px 2px at 5% 55%, rgba(216, 180, 106, 0.46) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 62% 35%, rgba(247, 239, 216, 0.44) 50%, transparent 51%), radial-gradient(2.8px 2.8px at 28% 75%, rgba(216, 180, 106, 0.48) 50%, transparent 51%);
  background-size: 380px 380px;
  background-repeat: repeat;
}
.menu::before {
  opacity: 0.38;
  background-position: 200px 140px;
}
@media (max-width: 767px) {
  .menu::before {
    opacity: 0.32;
    background-position: 110px 80px;
  }
}
.menu::after {
  opacity: 0.28;
  background-position: -90px 220px;
}
@media (max-width: 767px) {
  .menu::after {
    opacity: 0.24;
    background-position: -50px 130px;
  }
}
.menu__bg-line {
  position: absolute;
  top: -124px;
  left: -148px;
  width: clamp(210px, 42vw, 450px);
  height: auto;
  opacity: 0.22;
  pointer-events: none;
  z-index: 0;
}
@media (max-width: 1023px) {
  .menu__bg-line {
    top: clamp(-80px, -110px + (1023px - 100vw) * 30 / 255, -110px);
  }
}
@media (max-width: 767px) {
  .menu__bg-line {
    left: -128px;
    width: clamp(150px, 57vw, 300px);
  }
}
.menu__bg-rabbit {
  position: absolute;
  top: 0;
  right: 0;
  width: 90px;
  height: auto;
  opacity: 0.7;
  pointer-events: none;
  z-index: 1;
  transform: translate(calc(100% + 8px), -18%) scaleX(-1);
}
@media (max-width: 767px) {
  .menu__bg-rabbit {
    width: 56px;
    transform: translate(6px, -28%) scaleX(-1);
  }
}
.menu__inner {
  position: relative;
  z-index: 2;
}
.menu__head {
  text-align: center;
  margin-bottom: clamp(40px, 5vw, 64px);
}
.menu__title-wrap {
  display: inline-block;
  max-width: 100%;
  position: relative;
}
.menu__title {
  position: relative;
  z-index: 1;
  font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(24px, 2.8vw, 32px);
  color: #F7EFD8;
  letter-spacing: 0.16em;
  margin: 0 0 18px;
}
.menu__title .c-deco-line {
  transform: translate(-14px, -10px);
}
@media (max-width: 767px) {
  .menu__title .c-deco-line {
    transform: translate(-10px, -8px);
  }
}
.menu__lead {
  font-size: 14.5px;
  line-height: 2;
  color: #EADDC0;
  max-width: 720px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .menu__lead {
    font-size: 13.5px;
  }
}
.menu__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: clamp(16px, 2vw, 22px);
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 1024px) {
  .menu__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    width: 100%;
    max-width: 600px;
    margin-inline: auto;
  }
  .menu__list .menu-card:last-child:nth-child(odd) {
    grid-column: 1/-1;
    width: calc((100% - 20px) / 2);
    margin-inline: auto;
  }
}
@media (max-width: 767px) {
  .menu__list {
    grid-template-columns: 1fr;
    max-width: 250px;
    margin-inline: auto;
  }
  .menu__list .menu-card:last-child:nth-child(odd) {
    grid-column: auto;
    width: auto;
    margin-inline: 0;
  }
}

.menu-card {
  position: relative;
  background-color: #10243A;
  background-image: linear-gradient(180deg, rgba(216, 180, 106, 0.06) 0%, rgba(216, 180, 106, 0) 60%);
  border: 1px solid rgba(216, 180, 106, 0.42);
  border-radius: 24px;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(216, 180, 106, 0.04) inset;
  overflow: hidden;
  transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
}
.menu-card:hover {
  transform: translateY(-4px);
  border-color: rgba(216, 180, 106, 0.7);
  box-shadow: 0 14px 38px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(216, 180, 106, 0.18) inset;
}
.menu-card {
  display: flex;
  flex-direction: column;
  padding: 0 18px 24px;
  text-align: center;
  border-radius: clamp(64px, 9.5vw, 96px) clamp(64px, 9.5vw, 96px) 24px 24px;
  overflow: hidden;
}
@media (max-width: 1024px) {
  .menu-card {
    border-radius: clamp(80px, 13vw, 120px) clamp(80px, 13vw, 120px) 24px 24px;
  }
}
@media (max-width: 767px) {
  .menu-card {
    border-radius: 88px 88px 20px 20px;
    padding: 0 16px 22px;
  }
}
.menu-card__image {
  position: relative;
  aspect-ratio: 1/1;
  width: 100%;
  overflow: hidden;
  margin: 0 0 16px;
  border: none;
  border-radius: 0;
  border-bottom: 1px solid rgba(216, 180, 106, 0.22);
}
.menu-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.menu-card__image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 8px 24px rgba(6, 17, 31, 0.25);
}
.menu-card:hover .menu-card__image img {
  transform: scale(1.05);
}
.menu-card__title {
  font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 16px;
  color: #F7EFD8;
  letter-spacing: 0.1em;
  margin-bottom: 8px;
}
.menu-card__text {
  flex: 1;
  font-size: 12.5px;
  line-height: 1.85;
  color: #EADDC0;
  margin-bottom: 14px;
}
.menu-card__price {
  font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 22px;
  font-weight: 500;
  color: #D8B46A;
  letter-spacing: 0.06em;
  line-height: 1;
}

.recommendation {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  min-height: clamp(480px, 58vh, 640px);
  display: flex;
  align-items: stretch;
}
.recommendation::before, .recommendation::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  background-image: radial-gradient(1.5px 1.5px at 8% 18%, rgba(247, 239, 216, 0.62) 50%, transparent 51%), radial-gradient(2px 2px at 22% 62%, rgba(216, 180, 106, 0.58) 50%, transparent 51%), radial-gradient(3px 3px at 38% 28%, rgba(247, 239, 216, 0.52) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 52% 78%, rgba(247, 239, 216, 0.48) 50%, transparent 51%), radial-gradient(3.5px 3.5px at 66% 12%, rgba(216, 180, 106, 0.52) 50%, transparent 51%), radial-gradient(2px 2px at 78% 48%, rgba(247, 239, 216, 0.5) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 90% 72%, rgba(216, 180, 106, 0.46) 50%, transparent 51%), radial-gradient(2.8px 2.8px at 12% 88%, rgba(247, 239, 216, 0.44) 50%, transparent 51%), radial-gradient(2px 2px at 48% 44%, rgba(216, 180, 106, 0.5) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 84% 32%, rgba(247, 239, 216, 0.42) 50%, transparent 51%), radial-gradient(2px 2px at 18% 42%, rgba(247, 239, 216, 0.5) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 35% 8%, rgba(216, 180, 106, 0.48) 50%, transparent 51%), radial-gradient(2.5px 2.5px at 58% 55%, rgba(247, 239, 216, 0.46) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 72% 85%, rgba(216, 180, 106, 0.44) 50%, transparent 51%), radial-gradient(3px 3px at 95% 15%, rgba(247, 239, 216, 0.5) 50%, transparent 51%), radial-gradient(2px 2px at 5% 55%, rgba(216, 180, 106, 0.46) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 62% 35%, rgba(247, 239, 216, 0.44) 50%, transparent 51%), radial-gradient(2.8px 2.8px at 28% 75%, rgba(216, 180, 106, 0.48) 50%, transparent 51%);
  background-size: 380px 380px;
  background-repeat: repeat;
}
.recommendation::before {
  opacity: 0.38;
  background-position: 160px 100px;
}
@media (max-width: 767px) {
  .recommendation::before {
    opacity: 0.32;
    background-position: 90px 60px;
  }
}
.recommendation::after {
  opacity: 0.28;
  background-position: -120px 180px;
}
@media (max-width: 767px) {
  .recommendation::after {
    opacity: 0.24;
    background-position: -70px 110px;
  }
}
@media (max-width: 767px) {
  .recommendation {
    min-height: auto;
    display: flex;
    flex-direction: column;
    --rec-stack-visual-h: clamp(240px, 50vh, 56vh);
  }
}
.recommendation__visual {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 56%;
  z-index: 0;
  overflow: visible;
}
.recommendation__visual::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 13%;
  height: 100%;
  z-index: 4;
  pointer-events: none;
  background: linear-gradient(to left, rgba(11, 27, 46, 0) 0%, rgba(11, 27, 46, 0.2) 35%, rgba(11, 27, 46, 0.5) 70%, #0B1B2E 100%);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M20 0 H100 V100 H20 C20 95 14 95 14 90 C14 85 26 85 26 80 C26 75 14 75 14 70 C14 65 26 65 26 60 C26 55 14 55 14 50 C14 45 26 45 26 40 C26 35 14 35 14 30 C14 25 26 25 26 20 C26 15 14 15 14 10 C14 5 26 5 26 0 C26 2.5 20 2.5 20 0Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M20 0 H100 V100 H20 C20 95 14 95 14 90 C14 85 26 85 26 80 C26 75 14 75 14 70 C14 65 26 65 26 60 C26 55 14 55 14 50 C14 45 26 45 26 40 C26 35 14 35 14 30 C14 25 26 25 26 20 C26 15 14 15 14 10 C14 5 26 5 26 0 C26 2.5 20 2.5 20 0Z'/%3E%3C/svg%3E");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  transform: scaleX(-1);
}
@media (max-width: 767px) {
  .recommendation__visual {
    position: relative;
    order: 2;
    flex-shrink: 0;
    top: auto;
    left: 0;
    right: 0;
    width: 100%;
    height: var(--rec-stack-visual-h);
    min-height: 280px;
    bottom: auto;
    overflow: hidden;
    background-color: #0B1B2E;
  }
  .recommendation__visual::after {
    top: 0;
    bottom: auto;
    left: 0;
    right: 0;
    width: 100%;
    height: 12%;
    transform: scaleY(-1);
    background: linear-gradient(to top, rgba(11, 27, 46, 0) 0%, rgba(11, 27, 46, 0.4) 55%, #0B1B2E 100%);
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 22 V100 H100 V22 C95 22 95 29 90 29 C85 29 85 15 80 15 C75 15 75 29 70 29 C65 29 65 15 60 15 C55 15 55 29 50 29 C45 29 45 15 40 15 C35 15 35 29 30 29 C25 29 25 15 20 15 C15 15 15 29 10 29 C5 29 5 22 0 22Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 22 V100 H100 V22 C95 22 95 29 90 29 C85 29 85 15 80 15 C75 15 75 29 70 29 C65 29 65 15 60 15 C55 15 55 29 50 29 C45 29 45 15 40 15 C35 15 35 29 30 29 C25 29 25 15 20 15 C15 15 15 29 10 29 C5 29 5 22 0 22Z'/%3E%3C/svg%3E");
  }
}
.recommendation__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 26% 32%;
  display: block;
  -webkit-mask-image: linear-gradient(to left, #000 0%, #000 88%, rgba(0, 0, 0, 0.55) 95%, transparent 100%);
  mask-image: linear-gradient(to left, #000 0%, #000 88%, rgba(0, 0, 0, 0.55) 95%, transparent 100%);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
@media (max-width: 1024px) {
  .recommendation__image {
    object-position: 24% 34%;
  }
}
@media (max-width: 767px) {
  .recommendation__image {
    object-fit: contain;
    object-position: center center;
    -webkit-mask-image: none;
    mask-image: none;
  }
}
.recommendation__shade {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(to left, rgba(11, 27, 46, 0) 0%, rgba(11, 27, 46, 0) 74%, rgba(11, 27, 46, 0.35) 90%, rgba(11, 27, 46, 0.72) 100%), linear-gradient(180deg, rgba(6, 17, 31, 0.4) 0%, rgba(6, 17, 31, 0.14) 12%, rgba(6, 17, 31, 0) 28%, rgba(6, 17, 31, 0) 75%, rgba(6, 17, 31, 0.45) 100%), radial-gradient(ellipse 55% 50% at 72% 55%, rgba(224, 168, 79, 0.16) 0%, rgba(224, 168, 79, 0) 70%);
}
@media (max-width: 767px) {
  .recommendation__shade {
    background: linear-gradient(180deg, rgba(6, 17, 31, 0.32) 0%, rgba(6, 17, 31, 0.1) 30%, rgba(6, 17, 31, 0) 60%, rgba(6, 17, 31, 0.45) 100%);
  }
}
.recommendation__inner {
  position: relative;
  z-index: 2;
  margin-inline: auto;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-block: clamp(40px, 5vw, 64px);
  pointer-events: none;
}
@media (max-width: 767px) {
  .recommendation__inner {
    order: 1;
    align-items: center;
    justify-content: center;
    padding-block: clamp(28px, 4vw, 40px) clamp(12px, 3vw, 20px);
    pointer-events: auto;
  }
}
.recommendation__text-block {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(10px, 1.6vw, 16px);
  max-width: 480px;
  padding-left: clamp(8px, 2vw, 24px);
}
@media (max-width: 767px) {
  .recommendation__text-block {
    align-items: center;
    max-width: min(100%, 720px);
    padding-left: 0;
    margin-inline: auto;
    gap: clamp(4px, 1.5vw, 8px);
  }
}
.recommendation__bg-image {
  flex-shrink: 0;
  width: clamp(170px, 20vw, 275px);
  height: auto;
  margin-top: 10px;
  margin-left: clamp(-46px, -4vw, -2px);
  pointer-events: none;
}
@media (max-width: 1024px) {
  .recommendation__bg-image {
    margin-left: clamp(-30px, -3vw, 10px);
    width: clamp(145px, 24vw, 222px);
  }
}
@media (max-width: 767px) {
  .recommendation__bg-image {
    margin-top: 0;
    margin-left: 0;
    width: clamp(156px, 44vw, 220px);
  }
}
.recommendation__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: clamp(14px, 2vw, 20px);
  text-align: left;
  pointer-events: auto;
}
@media (max-width: 767px) {
  .recommendation__content {
    align-items: center;
    gap: clamp(8px, 2vw, 12px);
    width: 100%;
    padding-inline: clamp(20px, 4vw, 32px);
    text-align: center;
  }
}
.recommendation__title {
  font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(24px, 3.6vw, 40px);
  color: #F7EFD8;
  line-height: 1.5;
  letter-spacing: 0.08em;
  margin: 0;
  text-shadow: 0 6px 28px rgba(0, 0, 0, 0.55), 0 0 30px rgba(6, 17, 31, 0.4);
}
@media (max-width: 767px) {
  .recommendation__title {
    font-size: clamp(20px, 5.4vw, 28px);
    letter-spacing: 0.06em;
  }
}
.recommendation__lead {
  font-size: 14px;
  line-height: 1.95;
  color: #EADDC0;
  margin: 0;
}
@media (max-width: 767px) {
  .recommendation__lead {
    font-size: 13px;
  }
}

.infomation {
  position: relative;
  padding-block: clamp(80px, 10vw, 140px);
  overflow: hidden;
  isolation: isolate;
}
.infomation::before, .infomation::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image: radial-gradient(1.5px 1.5px at 8% 18%, rgba(247, 239, 216, 0.62) 50%, transparent 51%), radial-gradient(2px 2px at 22% 62%, rgba(216, 180, 106, 0.58) 50%, transparent 51%), radial-gradient(3px 3px at 38% 28%, rgba(247, 239, 216, 0.52) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 52% 78%, rgba(247, 239, 216, 0.48) 50%, transparent 51%), radial-gradient(3.5px 3.5px at 66% 12%, rgba(216, 180, 106, 0.52) 50%, transparent 51%), radial-gradient(2px 2px at 78% 48%, rgba(247, 239, 216, 0.5) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 90% 72%, rgba(216, 180, 106, 0.46) 50%, transparent 51%), radial-gradient(2.8px 2.8px at 12% 88%, rgba(247, 239, 216, 0.44) 50%, transparent 51%), radial-gradient(2px 2px at 48% 44%, rgba(216, 180, 106, 0.5) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 84% 32%, rgba(247, 239, 216, 0.42) 50%, transparent 51%), radial-gradient(2px 2px at 18% 42%, rgba(247, 239, 216, 0.5) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 35% 8%, rgba(216, 180, 106, 0.48) 50%, transparent 51%), radial-gradient(2.5px 2.5px at 58% 55%, rgba(247, 239, 216, 0.46) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 72% 85%, rgba(216, 180, 106, 0.44) 50%, transparent 51%), radial-gradient(3px 3px at 95% 15%, rgba(247, 239, 216, 0.5) 50%, transparent 51%), radial-gradient(2px 2px at 5% 55%, rgba(216, 180, 106, 0.46) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 62% 35%, rgba(247, 239, 216, 0.44) 50%, transparent 51%), radial-gradient(2.8px 2.8px at 28% 75%, rgba(216, 180, 106, 0.48) 50%, transparent 51%);
  background-size: 380px 380px;
  background-repeat: repeat;
}
.infomation::before {
  opacity: 0.38;
  background-position: 80px 200px;
}
@media (max-width: 767px) {
  .infomation::before {
    opacity: 0.32;
    background-position: 50px 120px;
  }
}
.infomation::after {
  opacity: 0.28;
  background-position: -40px 60px;
}
@media (max-width: 767px) {
  .infomation::after {
    opacity: 0.24;
    background-position: -20px 40px;
  }
}
.infomation__bg-rabbit {
  position: absolute;
  bottom: 6%;
  left: 4%;
  width: 110px;
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}
@media (max-width: 767px) {
  .infomation__bg-rabbit {
    width: 70px;
    opacity: 0.5;
  }
}
.infomation__inner {
  position: relative;
  z-index: 1;
}
.infomation__head {
  text-align: center;
  margin-bottom: clamp(40px, 5vw, 60px);
}
.infomation__title {
  font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(24px, 2.8vw, 32px);
  color: #F7EFD8;
  letter-spacing: 0.18em;
}
.infomation__list {
  max-width: 720px;
  margin: 0 auto clamp(40px, 5vw, 60px);
}
.infomation__ctas {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 18px;
}
.infomation__ctas .c-button__icon {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
}
.infomation__ctas .c-button__icon img {
  filter: brightness(0) invert(0.9) sepia(0.4) saturate(2.4) hue-rotate(5deg);
  opacity: 0.95;
  transition: filter 0.35s ease, opacity 0.35s ease;
}
.infomation__ctas .c-button:hover .c-button__icon img {
  filter: brightness(0) invert(0.12);
  opacity: 1;
}
@media (max-width: 767px) {
  .infomation__ctas {
    flex-direction: column;
    align-items: stretch;
  }
}

.info-row {
  display: grid;
  grid-template-columns: clamp(128px, 18vw, 176px) 1fr;
  gap: clamp(16px, 2.4vw, 32px);
  align-items: start;
  padding-block: clamp(20px, 3vw, 28px);
  border-bottom: 1px solid rgba(216, 180, 106, 0.22);
}
.info-row:first-child {
  border-top: 1px solid rgba(216, 180, 106, 0.22);
}
@media (max-width: 767px) {
  .info-row {
    grid-template-columns: 1fr;
    gap: 10px;
    padding-block: 18px;
  }
}
.info-row__label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 14px;
  color: #D8B46A;
  letter-spacing: 0.14em;
}
.info-row__icon {
  display: inline-flex;
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
}
.info-row__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.3));
}
.info-row__value {
  margin: 0;
  font-size: 14px;
  line-height: 1.95;
  color: #EADDC0;
  text-align: left;
}
@media (max-width: 767px) {
  .info-row__value {
    padding-left: 38px;
  }
}
.info-row__value small {
  font-size: 11px;
  color: #A99B83;
}

.footer {
  position: relative;
  border-top: 1px solid rgba(216, 180, 106, 0.42);
  padding-block: clamp(8px, 1vw, 14px);
}
.footer__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
}
.footer__logo {
  display: inline-flex;
  align-items: center;
  gap: clamp(8px, 1.2vw, 12px);
  transition: opacity 1s ease;
}
.footer__logo:hover {
  opacity: 0.7;
}
.footer__logo-icon {
  width: clamp(73px, 8.25vw, 86px);
  height: clamp(73px, 8.25vw, 86px);
  object-fit: contain;
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .footer__logo-icon {
    width: 59px;
    height: 59px;
  }
}
.footer__logo-text {
  height: 67px;
  width: auto;
  object-fit: contain;
}
@media (max-width: 767px) {
  .footer__logo-text {
    height: 53px;
  }
}
.footer__copy {
  font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 12px;
  letter-spacing: 0.16em;
  color: #A99B83;
}
