@charset "UTF-8";
:root {
  --ease-in-sine: cubic-bezier(0.47, 0, 0.745, 0.715);
  --ease-out-sine: cubic-bezier(0.39, 0.575, 0.565, 1);
  --ease-in-out-sine: cubic-bezier(0.445, 0.05, 0.55, 0.95);
  --ease-in-quad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  --ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-in-out-quad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  --ease-in-cubic: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  --ease-out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1);
  --ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1);
  --ease-in-quart: cubic-bezier(0.895, 0.03, 0.685, 0.22);
  --ease-out-quart: cubic-bezier(0.165, 0.84, 0.44, 1);
  --ease-in-out-quart: cubic-bezier(0.77, 0, 0.175, 1);
  --ease-in-quint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  --ease-out-quint: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out-quint: cubic-bezier(0.86, 0, 0.07, 1);
  --ease-in-expo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
  --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
  --ease-in-out-expo: cubic-bezier(1, 0, 0, 1);
  --ease-in-circ: cubic-bezier(0.6, 0.04, 0.98, 0.335);
  --ease-out-circ: cubic-bezier(0.075, 0.82, 0.165, 1);
  --ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.15, 0.86);
  --ease-in-back: cubic-bezier(0.6, -0.28, 0.735, 0.045);
  --ease-out-back: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  --ease-in-out-back: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
/* ======================================================
// ヘッダー用
// ------------------------------------------------------ */
[data-scroll-animation*=header] {
  --_property: translate;
  --_timing-function: ease;
  --_duration: 0.5s;
}
[data-scroll-animation*=header][data-animated] {
  translate: 0 -100%;
}

/* ======================================================
// ふわっと表示する
// ------------------------------------------------------ */
[data-scroll-animation*=fade-in] {
  --_property: opacity;
  --_timing-function: ease;
  --_duration: 1s;
}
[data-scroll-animation*=fade-in]:not([data-animated]) {
  opacity: 0;
}

/* ======================================================
// ふわっと消失する
// ------------------------------------------------------ */
[data-scroll-animation*=fade-out] {
  --_property: opacity;
  --_timing-function: ease;
  --_duration: 1s;
}
[data-scroll-animation*=fade-out][data-animated] {
  opacity: 0;
}

/* ======================================================
// 下からふわっと表示する
// ------------------------------------------------------ */
[data-scroll-animation*=fade-in-up] {
  --_property: opacity, translate;
  --_timing-function: ease-in-out;
  --_duration: 1s;
  --_starting-position: 40px;
}
[data-scroll-animation*=fade-in-up]:not([data-animated]) {
  opacity: 0;
  translate: 0 var(--_starting-position);
}

/* ======================================================
// 拡大しながらふわっと表示する
// ------------------------------------------------------ */
[data-scroll-animation*=scale-in] {
  --_property: opacity, scale;
  --_timing-function: var(--ease-out-expo);
  --_duration: 1s;
  --_starting-scale: 0.9;
}
[data-scroll-animation*=scale-in]:not([data-animated]) {
  opacity: 0;
  scale: var(--_starting-scale);
}

/* ======================================================
// 要素の表示
// ------------------------------------------------------ */
[data-scroll-animation*=in][data-scroll-animation*=visibility] {
  --_property: visibility;
}
[data-scroll-animation*=in][data-scroll-animation*=visibility]:not([data-animated]) {
  visibility: hidden;
}

/* ======================================================
// 要素の消失
// ------------------------------------------------------ */
[data-scroll-animation*=out][data-scroll-animation*=visibility] {
  --_property: visibility;
}
[data-scroll-animation*=out][data-scroll-animation*=visibility][data-animated] {
  visibility: hidden;
}

/* ======================================================
// 要素の消失
// ------------------------------------------------------ */
[data-scroll-animation*=pagetop] {
  --_property: visibility, opacity;
  --_timing-function: ease;
  --_duration: 1s;
}
[data-scroll-animation*=pagetop][data-animated] {
  opacity: 0;
  visibility: hidden;
}

/* ======================================================
// 跳ねるアニメーション
// ------------------------------------------------------ */
@keyframes bounce {
  0% {
    translate: 0 0;
  }
  16.6% {
    animation-timing-function: ease-in;
    translate: 0 -20px;
  }
  33.3% {
    translate: 0 0;
  }
  49.8% {
    animation-timing-function: ease-in;
    translate: 0 -14px;
  }
  66.4% {
    translate: 0 0;
  }
  83% {
    animation-timing-function: ease-in;
    translate: 0 -4px;
  }
  100% {
    translate: 0 0;
  }
}
/* ======================================================
// 猫がジャンプして着地するアニメーション
// ------------------------------------------------------ */
@keyframes cat-jump {
  0% {
    scale: 1 1;
    translate: 0 0;
  }
  2% {
    scale: 1.1 0.8;
    translate: 0 10px;
  }
  7% {
    scale: 1 1.1;
    translate: 0 -90px;
  }
  12% {
    scale: 1 1.15;
    translate: 0 -120px;
  }
  17% {
    scale: 1 1.1;
    translate: 0 -90px;
  }
  22% {
    scale: 1.1 0.8;
    translate: 0 10px;
  }
  25% {
    scale: 1 1;
    translate: 0 0;
  }
  100% {
    scale: 1 1;
    translate: 0 0;
  }
}
/* ======================================================
// くるっと回転して止まるアニメーション
// ------------------------------------------------------ */
@keyframes rotate-and-stop {
  0% {
    rotate: y 0deg;
  }
  5% {
    rotate: y 360deg;
  }
  100% {
    rotate: y 360deg;
  }
}
/* ======================================================
// つんっつんっとつつくようなアニメーション
// ------------------------------------------------------ */
@keyframes poke-animation {
  0% {
    translate: 0 0;
  }
  5% {
    translate: -10px -5px;
  }
  10% {
    translate: 0 0;
  }
  15% {
    translate: -10px -5px;
  }
  20% {
    translate: 0 0;
  }
  100% {
    translate: 0 0;
  }
}
:root {
  --color-white: #fff;
  --color-black: #000;
  --color-text-base: #4a3636;
  --color-text-light: #fff;
  --color-text-dark: #000;
  --color-main: #9ed0e0;
  --color-sub-deep: #67b0c7;
  --color-sub-gray: #cce1e4;
  --color-sub-light: #e9f6f8;
  --color-sub-pink: #fff0f7;
  --color-accent-red: #ce2073;
  --color-accent-yellow: #ffee56;
  --color-mono-blown: #4a3636;
  --color-mono-dark-gray: #ccc;
  --color-mono-gray: #f5f5f5;
  --color-mono-white: #fff;
  --color-ground-base: #e9f6f8;
  --color-ground-white: #fff;
  --color-button-text: var(--color-text-base);
  --color-button-ground: var(--color-mono-white);
  --color-button-text-hover: var(--color-text-base);
  --color-button-ground-hover: var(--color-accent-yellow);
  --color-link-text: var(--color-sub-deep);
  --viewport-min: 375; /* SPのデザインカンプの横幅 */
  --viewport-breakpoint: 900; /* ブレイクポイントの横幅 */
  --viewport-inner: 1024; /* PCのデザインカンプのインナー幅 */
  --viewport-max: 1512; /* PCのデザインカンプの横幅 */
  --horizontal-spacing-min: 20; /* SPのデザインカンプの水平余白 */
  --horizontal-spacing-max: 24; /* PCのデザインカンプの水平余白 */
  --horizontal-spacing: clamp(min(var(--horizontal-spacing-min), var(--horizontal-spacing-max)) * 1px, var(--horizontal-spacing-min) * 1px + (100dvw - var(--viewport-min) * 1px) * (var(--horizontal-spacing-max) - var(--horizontal-spacing-min)) / (var(--viewport-inner) - var(--viewport-min)), max(var(--horizontal-spacing-min), var(--horizontal-spacing-max)) * 1px);
  --fluid-ratio-min: calc(1 / var(--viewport-min) * 100dvi);
  --fluid-ratio-breakpoint: calc(1 / var(--viewport-breakpoint) * 100dvi);
  --fluid-ratio-max: calc(1 / var(--viewport-max) * 100dvi);
  --leading-trim: calc((1em - 1lh) / 2);
  --spacing-unit: 0.5rem;
  --spacing-xs: calc(var(--spacing-unit) / 2);
  --spacing-sm: var(--spacing-unit);
  --spacing-md: calc(var(--spacing-unit) * 2);
  --spacing-lg: calc(var(--spacing-unit) * 3);
  --spacing-xl: calc(var(--spacing-unit) * 5);
  --spacing-2xl: calc(var(--spacing-unit) * 8);
  --spacing-3xl: calc(var(--spacing-unit) * 13);
  --spacing-xs-trim: calc(var(--spacing-xs) + var(--leading-trim));
  --spacing-sm-trim: calc(var(--spacing-sm) + var(--leading-trim));
  --spacing-md-trim: calc(var(--spacing-md) + var(--leading-trim));
  --spacing-lg-trim: calc(var(--spacing-lg) + var(--leading-trim));
  --spacing-xl-trim: calc(var(--spacing-xl) + var(--leading-trim));
  --spacing-2xl-trim: calc(var(--spacing-2xl) + var(--leading-trim));
  --spacing-3xl-trim: calc(var(--spacing-3xl) + var(--leading-trim));
  --z-background: -1;
  --z-default: 0;
  --z-foreground: 1;
  --z-footer: 90;
  --z-header: 100;
  --z-floating: 150;
  --z-navigation: 200;
  --z-modal: 1000;
  --z-popup: 1100;
  --z-tooltip: 1200;
  --z-notification: 9000;
  --z-loader: 9100;
  --z-dev-tools: 9999;
}

:lang(en) {
  --leading-trim: calc((1cap - 1lh) / 2);
}

:root {
  --_font-family-base: sans-serif;
  --_font-family-ja-default: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", "Meiryo";
  --_font-family-ja: "Noto Sans JP";
  --font-family-ja: var(--_font-family-ja), var(--_font-family-ja-default), var(--_font-family-base);
  --_font-family-ja-alt: "Kiwi Maru";
  --font-family-ja-alt: var(--_font-family-ja-alt), var(--_font-family-ja-default), var(--_font-family-base);
  --_font-family-en-default: "Helvetica Neue", "Arial";
  --_font-family-en: "Josefin Sans";
  --font-family-en: var(--_font-family-en), var(--_font-family-en-default), var(--_font-family-base);
  --_font-family-en-alt: "Courgette";
  --font-family-en-alt: var(--_font-family-en-alt), var(--_font-family-en-default), var(--_font-family-base);
  --_font-family-numerals: "Noto Sans Javanese";
  --font-family-numerals: var(--_font-family-numerals), var(--_font-family-base);
  --font-family-base: var(--font-family-ja);
  --font-size-base: 16;
  --rem-ratio: calc(1rem / var(--font-size-base));
  --em-ratio: calc(1em / var(--font-size-base));
  --line-height-base: 1.6;
  --font-size-12: calc(12 * var(--rem-ratio));
  --font-size-14: calc(14 * var(--rem-ratio));
  --font-size-16: calc(16 * var(--rem-ratio));
  --font-size-20: calc(20 * var(--rem-ratio));
  --font-size-8-13: clamp(min(8, 13) * var(--rem-ratio), 8 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (13 - 8) / (var(--viewport-inner) - var(--viewport-min)), max(8, 13) * var(--rem-ratio));
  --font-size-8-16: clamp(min(8, 16) * var(--rem-ratio), 8 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (16 - 8) / (var(--viewport-inner) - var(--viewport-min)), max(8, 16) * var(--rem-ratio));
  --font-size-9-12: clamp(min(9, 12) * var(--rem-ratio), 9 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (12 - 9) / (var(--viewport-inner) - var(--viewport-min)), max(9, 12) * var(--rem-ratio));
  --font-size-10-14: clamp(min(10, 14) * var(--rem-ratio), 10 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (14 - 10) / (var(--viewport-inner) - var(--viewport-min)), max(10, 14) * var(--rem-ratio));
  --font-size-10-16: clamp(min(10, 16) * var(--rem-ratio), 10 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (16 - 10) / (var(--viewport-inner) - var(--viewport-min)), max(10, 16) * var(--rem-ratio));
  --font-size-11-16: clamp(min(11, 16) * var(--rem-ratio), 11 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (16 - 11) / (var(--viewport-inner) - var(--viewport-min)), max(11, 16) * var(--rem-ratio));
  --font-size-12-14: clamp(min(12, 14) * var(--rem-ratio), 12 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (14 - 12) / (var(--viewport-inner) - var(--viewport-min)), max(12, 14) * var(--rem-ratio));
  --font-size-12-16: clamp(min(12, 16) * var(--rem-ratio), 12 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (16 - 12) / (var(--viewport-inner) - var(--viewport-min)), max(12, 16) * var(--rem-ratio));
  --font-size-12-20: clamp(min(12, 20) * var(--rem-ratio), 12 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (20 - 12) / (var(--viewport-inner) - var(--viewport-min)), max(12, 20) * var(--rem-ratio));
  --font-size-13-16: clamp(min(13, 16) * var(--rem-ratio), 13 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (16 - 13) / (var(--viewport-inner) - var(--viewport-min)), max(13, 16) * var(--rem-ratio));
  --font-size-14-16: clamp(min(14, 16) * var(--rem-ratio), 14 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (16 - 14) / (var(--viewport-inner) - var(--viewport-min)), max(14, 16) * var(--rem-ratio));
  --font-size-14-20: clamp(min(14, 20) * var(--rem-ratio), 14 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (20 - 14) / (var(--viewport-inner) - var(--viewport-min)), max(14, 20) * var(--rem-ratio));
  --font-size-14-24: clamp(min(14, 24) * var(--rem-ratio), 14 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (24 - 14) / (var(--viewport-inner) - var(--viewport-min)), max(14, 24) * var(--rem-ratio));
  --font-size-15-24: clamp(min(15, 24) * var(--rem-ratio), 15 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (24 - 15) / (var(--viewport-inner) - var(--viewport-min)), max(15, 24) * var(--rem-ratio));
  --font-size-16-20: clamp(min(16, 20) * var(--rem-ratio), 16 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (20 - 16) / (var(--viewport-inner) - var(--viewport-min)), max(16, 20) * var(--rem-ratio));
  --font-size-20-24: clamp(min(20, 24) * var(--rem-ratio), 20 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (24 - 20) / (var(--viewport-inner) - var(--viewport-min)), max(20, 24) * var(--rem-ratio));
  --font-size-20-32: clamp(min(20, 32) * var(--rem-ratio), 20 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (32 - 20) / (var(--viewport-inner) - var(--viewport-min)), max(20, 32) * var(--rem-ratio));
  --font-size-23-38: clamp(min(23, 38) * var(--rem-ratio), 23 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (38 - 23) / (var(--viewport-inner) - var(--viewport-min)), max(23, 38) * var(--rem-ratio));
  --font-size-23-48: clamp(min(23, 48) * var(--rem-ratio), 23 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (48 - 23) / (var(--viewport-inner) - var(--viewport-min)), max(23, 48) * var(--rem-ratio));
  --font-size-24-32: clamp(min(24, 32) * var(--rem-ratio), 24 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (32 - 24) / (var(--viewport-inner) - var(--viewport-min)), max(24, 32) * var(--rem-ratio));
  --font-size-28-40: clamp(min(28, 40) * var(--rem-ratio), 28 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (40 - 28) / (var(--viewport-inner) - var(--viewport-min)), max(28, 40) * var(--rem-ratio));
  --font-size-30-50: clamp(min(30, 50) * var(--rem-ratio), 30 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (50 - 30) / (var(--viewport-inner) - var(--viewport-min)), max(30, 50) * var(--rem-ratio));
  --font-size-12-16-xbp: clamp(min(12, 16) * var(--rem-ratio), 12 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (16 - 12) / (var(--viewport-breakpoint) - var(--viewport-min)), max(12, 16) * var(--rem-ratio));
  --font-size-16-20-xbp: clamp(min(16, 20) * var(--rem-ratio), 16 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (20 - 16) / (var(--viewport-breakpoint) - var(--viewport-min)), max(16, 20) * var(--rem-ratio));
  --line-height-10: calc(16 / 10);
  --line-height-11: calc(18 / 11);
  --line-height-12: calc(19 / 12);
  --line-height-13: calc(20 / 13);
  --line-height-14: calc(22 / 14);
  --line-height-15: calc(24 / 15);
  --line-height-16: calc(26 / 16);
  --line-height-20: calc(32 / 20);
  --line-height-24: calc(38 / 24);
  --line-height-14-125: calc(18 / 14);
  --line-height-16-125: calc(20 / 16);
  --line-height-20-125: calc(25 / 20);
  --line-height-24-125: calc(30 / 24);
  --line-height-28-125: calc(35 / 28);
  --line-height-30-125: calc(38 / 30);
  --line-height-32-125: calc(40 / 32);
  --line-height-40-125: calc(50 / 40);
  --line-height-50-125: calc(62 / 50);
  --line-height-9-110: calc(19.5 / (9 * 2));
  --line-height-12-110: calc(26 / (12 * 2));
}

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

:where([hidden]:not([hidden=until-found])) {
  display: none !important;
}

:where(html) {
  -webkit-text-size-adjust: none;
  color-scheme: dark light;
  -moz-tab-size: 2;
    -o-tab-size: 2;
  scrollbar-gutter: stable;
       tab-size: 2;
}

:where(html:has(dialog:modal[open])) {
  overflow: clip;
}
:where(body) {
  font-family: system-ui, sans-serif;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

:where(button) {
  all: unset;
}

:where(input, button, textarea, select) {
  color: inherit;
  font: inherit;
}

:where(textarea) {
  resize: vertical;
  resize: block;
}

:where(button, label, select, summary, [role=button], [role=option]) {
  cursor: pointer;
}

:where(:disabled) {
  cursor: not-allowed;
}

:where(label:has(> input:disabled), label:has(+ input:disabled)) {
  cursor: not-allowed;
}

:where(a) {
  color: inherit;
  text-underline-offset: 0.2ex;
}

:where(ul, ol) {
  list-style: none;
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}

:where(img, picture, svg, video) {
  block-size: auto;
  max-inline-size: 100%;
}

:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}

:where(h1, h2, h3) {
  line-height: calc(1em + 0.5rem);
  text-wrap: balance;
}

:where(hr) {
  block-size: 0;
  border: none;
  border-block-start: 1px solid;
  color: inherit;
  overflow: visible;
}

:where(dialog) {
  background: none;
  border: none;
  inset: unset;
  max-height: unset;
  max-width: unset;
}

:where(dialog:not([open], [popover])) {
  display: none !important;
}

:where([popover]) {
  background: none;
  border: none;
  color: inherit;
  inset: unset;
}

:where([popover]:not(:popover-open)) {
  display: none !important;
}

:where(:focus-visible) {
  box-shadow: 0 0 0 5px Canvas;
  outline: 3px solid CanvasText;
  outline-offset: 1px;
}

:where(:focus-visible, :target) {
  scroll-margin-block: 8vh;
}

:where(.visually-hidden:not(:focus-within, :active)) {
  border: 0 !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
  -webkit-user-select: none !important;
     -moz-user-select: none !important;
          user-select: none !important;
}

*,
*::before,
*::after {
  min-block-size: 0;
  min-inline-size: 0;
}

:where(body) {
  background: var(--color-ground-base);
  color: var(--color-text-base);
  font-family: var(--font-family-base);
  font-size: var(--font-size-12-16);
  line-height: var(--line-height-12);
  min-block-size: 100svb;
}

:where(button) {
  box-sizing: border-box;
}

:where(button, [type=button], [type=reset], [type=submit]) {
  border: none;
  touch-action: manipulation;
}

:where([type=checkbox]) {
  cursor: pointer;
}

:where(input, button, textarea, select) {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

:where(iframe) {
  block-size: auto;
  border: none;
  max-inline-size: 100%;
}

:where(a) {
  transition-duration: 0.5s;
  transition-property: color;
  transition-timing-function: var(--ease-out-expo);
}
:where(a):focus-visible {
  color: var(--color-link-text);
}

:where(img, svg, video) {
  inline-size: 100%;
  pointer-events: none;
}

:where(h1, h2, h3) {
  line-height: var(--line-height-base);
}

:where(dialog) {
  --_duration: 0.5s;
  color: var(--color-text-base);
  transition: opacity var(--_duration), scale var(--_duration);
}

dialog:not([data-active=true]) {
  opacity: 0;
  scale: 0.95;
}

:focus:not(:focus-visible) {
  outline: none;
}

:where(:focus-visible) {
  box-shadow: none;
  outline: none;
}
:where([type=text i], [type=email i], [type=tel i], [type=url i], [type=search i], [type=password i]) {
  --_border-width: 1px;
  --_min-inline-size: 335px;
  --_padding-block: calc(16px - var(--_border-width) + 1px) calc(16px - var(--_border-width) + 1px);
  --_padding-inline: calc(16px - var(--_border-width)) calc(16px - var(--_border-width));
  background: var(--color-mono-gray);
  border: var(--_border-width) solid transparent;
  border-radius: 8px;
  font-size: var(--font-size-14-16);
  font-weight: 400;
  line-height: var(--line-height-14);
  max-inline-size: 100%;
  min-inline-size: max(var(--_min-inline-size), 100%);
  padding-block: var(--_padding-block);
  padding-inline: var(--_padding-inline);
  field-sizing: content;
}
@supports (field-sizing: content) {
  :where([type=text i], [type=email i], [type=tel i], [type=url i], [type=search i], [type=password i]) {
    resize: none;
  }
  :where(textarea) {
    resize: none;
  }
}
:where([type=text i], [type=email i], [type=tel i], [type=url i], [type=search i], [type=password i])::-moz-placeholder {
  color: var(--color-mono-dark-gray);
}
:where([type=text i], [type=email i], [type=tel i], [type=url i], [type=search i], [type=password i])::placeholder {
  color: var(--color-mono-dark-gray);
}
:where([type=text i], [type=email i], [type=tel i], [type=url i], [type=search i], [type=password i]):focus-visible {
  background: var(--color-sub-light);
  border-color: var(--color-main);
}
:where([type=text i], [type=email i], [type=tel i], [type=url i], [type=search i], [type=password i]):user-invalid {
  background: var(--color-sub-pink);
  border-color: var(--color-accent-red);
}

:where([type=radio i]) {
  --_border-width: 1px;
  --_outer-size: 24px;
  --_inner-size: 12px;
  background: var(--color-mono-gray);
  block-size: var(--_outer-size);
  border: var(--_border-width) solid transparent;
  border-radius: calc(infinity * 1px);
  inline-size: var(--_outer-size);
  position: relative;
}
:where([type=radio i]):checked::before {
  aspect-ratio: 1;
  background: var(--color-main);
  border: var(--_border-width) solid transparent;
  border-radius: calc(infinity * 1px);
  content: "";
  inline-size: var(--_inner-size);
  inset-block-start: 50%;
  inset-inline-start: 50%;
  position: absolute;
  translate: -50% -50%;
}
:where([type=radio i]):focus-visible {
  border-color: var(--color-main);
}
:where([type=radio i]):user-invalid {
  border-color: var(--color-accent-red);
}

:where([type=checkbox i]) {
  --_border-width: 1px;
  --_outer-size: 24px;
  background: var(--color-mono-gray);
  block-size: var(--_outer-size);
  border: var(--_border-width) solid transparent;
  border-radius: 4px;
  display: block grid;
  inline-size: var(--_outer-size);
  position: relative;
}
:where([type=checkbox i]):user-invalid {
  background: var(--color-sub-pink);
  border-color: var(--color-accent-red);
}

:where(textarea) {
  --_min-rows: 5;
  --_max-rows: 20;
  --_min-block-size: 160px;
  --_min-inline-size: 335px;
  --_border-width: 1px;
  --_padding-block-start: calc(16px - var(--_border-width));
  --_padding-block-end: calc(16px - var(--_border-width));
  --_padding-inline-start: calc(16px - var(--_border-width));
  --_padding-inline-end: calc(16px - var(--_border-width));
  background: var(--color-mono-gray);
  border: var(--_border-width) solid transparent;
  border-radius: 8px;
  font-size: var(--font-size-14-16);
  font-weight: 400;
  inline-size: max(var(--_min-inline-size), 100%);
  line-height: var(--line-height-14);
  max-block-size: calc(var(--_max-rows) * 1lh + var(--_padding-block-start) + var(--_padding-block-end));
  max-inline-size: 100%;
  min-block-size: max(var(--_min-rows) * 1lh + var(--_padding-block-start) + var(--_padding-block-end), var(--_min-block-size));
  padding-block: var(--_padding-block-start) var(--_padding-block-end);
  padding-inline: var(--_padding-inline-start) var(--_padding-inline-end);
  resize: block;
  field-sizing: content;
}
:where(textarea)::-moz-placeholder {
  color: var(--color-mono-dark-gray);
}
:where(textarea)::placeholder {
  color: var(--color-mono-dark-gray);
}
:where(textarea):focus-visible {
  background: var(--color-sub-light);
  border-color: var(--color-main);
}
:where(textarea):user-invalid {
  background: var(--color-sub-pink);
  border-color: var(--color-accent-red);
}

:where(select) {
  --_border-width: 1px;
  --_min-inline-size: 335px;
  --_padding-block: calc(16px - var(--_border-width) + 1px) calc(16px - var(--_border-width) + 1px);
  --_padding-inline: calc(16px - var(--_border-width)) calc(16px - var(--_border-width));
  background: var(--color-mono-gray);
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: var(--font-size-14-16);
  font-weight: 400;
  line-height: var(--line-height-14);
  max-inline-size: 100%;
  min-inline-size: max(var(--_min-inline-size), 100%);
  padding-block: var(--_padding-block);
  padding-inline: var(--_padding-inline);
}
:where(select):focus-visible {
  background: var(--color-sub-light);
  border-color: var(--color-main);
}
:where(select):user-invalid {
  background: var(--color-sub-pink);
  border-color: var(--color-accent-red);
}

.form__note {
  font-size: var(--font-size-12-16);
  font-weight: 400;
  line-height: var(--line-height-12);
  text-align: center;
}

.form__fields {
  display: block grid;
  margin-block-start: 24px;
  row-gap: 24px;
}

.form__field {
  display: block grid;
  row-gap: 8px;
}
.form__field.-textarea {
  align-items: start;
}

.form__label {
  display: block flex;
  -moz-column-gap: 12px;
  align-items: center;
       column-gap: 12px;
  font-size: var(--font-size-14-16);
  font-weight: 700;
  line-height: var(--line-height-14);
  max-inline-size: -moz-fit-content;
  max-inline-size: fit-content;
}
.form__label:where(.form__field:has([required]) *)::after {
  background: var(--color-accent-red);
  border-radius: 4px;
  color: var(--color-text-light);
  content: "必須";
  font-size: calc(12 * var(--rem-ratio));
  line-height: var(--line-height-12);
  padding-block: 4px;
  padding-inline: 8px;
}

.form__select {
  position: relative;
}

.form__select-arrow {
  background: var(--color-main);
  border-end-end-radius: 8px;
  border-start-end-radius: 8px;
  display: block grid;
  inline-size: 52px;
  inset-block: 0;
  inset-inline-end: 0;
  justify-content: center;
  pointer-events: none;
  position: absolute;
}
.form__select-arrow:where(.form__field:has(select:user-invalid) *) {
  background: var(--color-accent-red);
}
.form__select-arrow span {
  --_width: 3px;
  --_length: 12px;
  block-size: var(--_length);
  inline-size: var(--_length);
  inset-block: 0;
  inset-inline: 0;
  margin: auto;
  position: absolute;
  rotate: -135deg;
  translate: 0 -25%;
}
.form__select-arrow span::before, .form__select-arrow span::after {
  background: var(--color-mono-white);
  border-radius: calc(infinity * 1px);
  content: "";
  position: absolute;
}
.form__select-arrow span::before {
  block-size: var(--_width);
  inline-size: var(--_length);
}
.form__select-arrow span::after {
  block-size: var(--_length);
  inline-size: var(--_width);
}

.form__radios {
  display: block flex;
  -moz-column-gap: 24px;
       column-gap: 24px;
}

.form__radio {
  display: block flex;
  -moz-column-gap: 8px;
  align-items: center;
       column-gap: 8px;
}

.form__radio-label {
  font-size: var(--font-size-14-16);
  font-weight: 400;
  line-height: var(--line-height-14);
}
.form__radio-label:where(.form__radio:has([type=radio i]:checked) *) {
  font-weight: 700;
}

.form__checkbox {
  position: relative;
}

.form__checkbox-check {
  --_width: 2px;
  --_short: 9px;
  --_long: 14px;
  block-size: var(--_long);
  inline-size: var(--_short);
  left: calc(50% - 0.7071067812 * (var(--_long) - var(--_short)) / 2);
  pointer-events: none;
  position: absolute;
  rotate: -135deg;
  top: calc(50% + 0.7071067812 * (var(--_long) + var(--_width)) / 2);
  transform-origin: left top;
}
.form__checkbox-check:where(.form__checkbox:has([type=checkbox i]:checked) *)::before, .form__checkbox-check:where(.form__checkbox:has([type=checkbox i]:checked) *)::after {
  background: var(--color-sub-deep);
  border-radius: calc(infinity * 1px);
  content: "";
  position: absolute;
}
.form__checkbox-check:where(.form__checkbox:has([type=checkbox i]:checked) *)::before {
  block-size: var(--_width);
  inline-size: var(--_short);
}
.form__checkbox-check:where(.form__checkbox:has([type=checkbox i]:checked) *)::after {
  block-size: var(--_long);
  inline-size: var(--_width);
}

.form__checkbox-label {
  font-size: var(--font-size-14-16);
  font-weight: 400;
  line-height: var(--line-height-14);
}

.form__privacy-field {
  display: block flex;
  -moz-column-gap: 12px;
       column-gap: 12px;
  justify-content: center;
  margin-block-start: 24px;
}

.form__actions {
  margin-block-start: 24px;
  text-align: center;
}

.l-footer {
  grid-area: footer;
}

.l-header {
  grid-area: header;
  inset-block-start: 0;
  inset-inline: 0;
  position: fixed;
  z-index: var(--z-header);
}

.l-inner {
  box-sizing: initial;
  margin-inline: auto;
  max-inline-size: calc(var(--viewport-inner) * 1px);
  padding-inline: var(--horizontal-spacing);
}

.l-layout {
  align-items: start;
  display: block grid;
  grid-template-areas: "header" "main" "footer";
  grid-template-rows: auto 1fr auto;
  min-block-size: 100dvb;
}

.l-main {
  grid-area: main;
}

html.lenis,
html.lenis body {
  height: auto;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: clip;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

details {
  --_border-width: 2;
  background: var(--color-ground-white);
  border: calc(var(--_border-width) * 1px) solid;
  border-radius: 12px;
  overflow: hidden;
}

summary {
  --_column-gap: clamp(min(12, 16) * 1px, 12 * 1px + (100dvw - var(--viewport-min) * 1px) * (16 - 12) / (var(--viewport-max) - var(--viewport-min)), max(12, 16) * 1px);
  --_padding-block: clamp(min(12, 22) * 1px, 12 * 1px + (100dvw - var(--viewport-min) * 1px) * (22 - 12) / (var(--viewport-max) - var(--viewport-min)), max(12, 22) * 1px);
  --_padding-inline: clamp(min(16, 24) * 1px, 16 * 1px + (100dvw - var(--viewport-min) * 1px) * (24 - 16) / (var(--viewport-max) - var(--viewport-min)), max(16, 24) * 1px);
  display: block grid;
  grid-template-columns: auto 1fr auto;
  -moz-column-gap: var(--_column-gap);
  align-items: center;
       column-gap: var(--_column-gap);
  font-size: var(--font-size-14-20);
  font-weight: 700;
  line-height: var(--line-height-14);
  padding-block: calc(var(--_padding-block) - var(--_border-width) * 1px);
  padding-inline: calc(var(--_padding-inline) - var(--_border-width) * 1px);
}
summary::-webkit-details-marker {
  display: none;
}

.c-accordion__label {
  color: var(--color-main);
  font-family: var(--font-family-en);
  font-size: var(--font-size-24-32);
  font-weight: 400;
  line-height: var(--line-height-24-125);
}

.c-accordion__toggle {
  --_inline-size: clamp(min(26.182, 48) * 1px, 26.182 * 1px + (100dvw - var(--viewport-min) * 1px) * (48 - 26.182) / (var(--viewport-max) - var(--viewport-min)), max(26.182, 48) * 1px);
  aspect-ratio: 1;
  background: var(--color-main);
  border-radius: calc(infinity * 1px);
  inline-size: var(--_inline-size);
  position: relative;
}
.c-accordion__toggle::before, .c-accordion__toggle::after {
  --_inline-size: clamp(min(10, 18) * 1px, 10 * 1px + (100dvw - var(--viewport-min) * 1px) * (18 - 10) / (var(--viewport-max) - var(--viewport-min)), max(10, 18) * 1px);
  background: var(--color-mono-white);
  block-size: 2px;
  border-radius: calc(infinity * 1px);
  content: "";
  inline-size: var(--_inline-size);
  inset-block: 0;
  inset-inline: 0;
  margin: auto;
  position: absolute;
}
.c-accordion__toggle::after {
  rotate: 90deg;
}
.c-accordion__toggle:where(details[open] *)::after {
  rotate: 0deg;
}

.c-accordion__inner {
  --_padding-block: clamp(min(17, 25) * 1px, 17 * 1px + (100dvw - var(--viewport-min) * 1px) * (25 - 17) / (var(--viewport-max) - var(--viewport-min)), max(17, 25) * 1px);
  --_padding-inline: clamp(min(16, 24) * 1px, 16 * 1px + (100dvw - var(--viewport-min) * 1px) * (24 - 16) / (var(--viewport-max) - var(--viewport-min)), max(16, 24) * 1px);
  display: block grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 16px;
  align-items: center;
  background: var(--color-mono-gray);
       column-gap: 16px;
  padding-block: var(--_padding-block) calc(var(--_padding-block) - var(--_border-width) * 1px);
  padding-inline: var(--_padding-inline);
  padding-inline: calc(var(--_padding-inline) - var(--_border-width) * 1px);
}

.c-accordion__content {
  font-size: var(--font-size-14-16);
  font-weight: 400;
  line-height: var(--line-height-14);
}

.c-button {
  --_border-width: 2;
  background: var(--color-button-ground);
  border: calc(var(--_border-width) * 1px) solid;
  border-radius: calc(infinity * 1px);
  box-shadow: 0 4px 0 0;
  color: var(--color-button-text);
  display: inline-block;
  font-size: var(--font-size-16);
  font-weight: 700;
  line-height: var(--line-height-16);
  padding-block: calc((6 - var(--_border-width)) * 1px) calc((8 - var(--_border-width)) * 1px);
  padding-inline: calc((24 - var(--_border-width)) * 1px);
  text-align: center;
  text-decoration: none;
  transition-duration: 0.5s;
  transition-property: background-color;
  transition-timing-function: var(--ease-out-expo);
}
.c-button:focus-visible {
  background-color: var(--color-button-ground-hover);
  color: var(--color-text-base);
}
.c-button.-fv {
  --_padding-block-start: clamp(min(calc(4 - var(--_border-width)), calc(6 - var(--_border-width))) * 1px, calc(4 - var(--_border-width)) * 1px + (100dvw - var(--viewport-min) * 1px) * (calc(6 - var(--_border-width)) - calc(4 - var(--_border-width))) / (var(--viewport-inner) - var(--viewport-min)), max(calc(4 - var(--_border-width)), calc(6 - var(--_border-width))) * 1px);
  --_padding-block-end: clamp(min(calc(6 - var(--_border-width)), calc(8 - var(--_border-width))) * 1px, calc(6 - var(--_border-width)) * 1px + (100dvw - var(--viewport-min) * 1px) * (calc(8 - var(--_border-width)) - calc(6 - var(--_border-width))) / (var(--viewport-inner) - var(--viewport-min)), max(calc(6 - var(--_border-width)), calc(8 - var(--_border-width))) * 1px);
  font-size: var(--font-size-14-16);
  line-height: var(--line-height-14);
  padding-block: var(--_padding-block-start) var(--_padding-block-end);
}
.c-button.-about {
  --_padding-inline: clamp(min(calc(24 - var(--_border-width)), calc(40 - var(--_border-width))) * 1px, calc(24 - var(--_border-width)) * 1px + (100dvw - var(--viewport-min) * 1px) * (calc(40 - var(--_border-width)) - calc(24 - var(--_border-width))) / (var(--viewport-inner) - var(--viewport-min)), max(calc(24 - var(--_border-width)), calc(40 - var(--_border-width))) * 1px);
  --_padding-block-start: clamp(min(calc(6 - var(--_border-width)), calc(10 - var(--_border-width) + 2)) * 1px, calc(6 - var(--_border-width)) * 1px + (100dvw - var(--viewport-min) * 1px) * (calc(10 - var(--_border-width) + 2) - calc(6 - var(--_border-width))) / (var(--viewport-inner) - var(--viewport-min)), max(calc(6 - var(--_border-width)), calc(10 - var(--_border-width) + 2)) * 1px);
  --_padding-block-end: clamp(min(calc(8 - var(--_border-width)), calc(12 - var(--_border-width))) * 1px, calc(8 - var(--_border-width)) * 1px + (100dvw - var(--viewport-min) * 1px) * (calc(12 - var(--_border-width)) - calc(8 - var(--_border-width))) / (var(--viewport-inner) - var(--viewport-min)), max(calc(8 - var(--_border-width)), calc(12 - var(--_border-width))) * 1px);
  font-size: var(--font-size-16-20);
  line-height: var(--line-height-16);
  padding-block: var(--_padding-block-start) var(--_padding-block-end);
  padding-inline: var(--_padding-inline);
}
.c-button.-how-to-enter, .c-button.-prizes, .c-button.-spots {
  font-feature-settings: "pref" on;
  font-size: var(--font-size-16-20);
  line-height: var(--line-height-16);
}
.c-button.-contact {
  --_padding-inline: clamp(min(calc(24 - var(--_border-width)), calc(40 - var(--_border-width))) * 1px, calc(24 - var(--_border-width)) * 1px + (100dvw - var(--viewport-min) * 1px) * (calc(40 - var(--_border-width)) - calc(24 - var(--_border-width))) / (var(--viewport-inner) - var(--viewport-min)), max(calc(24 - var(--_border-width)), calc(40 - var(--_border-width))) * 1px);
  padding-inline: var(--_padding-inline);
}

.c-follow-button {
  display: inline flow-root;
  text-decoration: none;
}

.c-follow-button__container {
  display: block grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 8px;
  background: var(--color-mono-white);
       column-gap: 8px;
  padding-block: 8px;
  padding-inline: 12px;
  place-items: center;
}
.c-follow-button__container svg {
  aspect-ratio: 1;
  color: var(--color-main);
  inline-size: 20px;
}
.c-follow-button__container span {
  font-size: var(--font-size-14-16);
  font-weight: 700;
  line-height: var(--line-height-14);
}

.c-fv-card {
  block-size: -moz-fit-content;
  block-size: fit-content;
  border-radius: 12.8px;
  display: block grid;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  overflow: hidden;
}

.c-fv-card__head {
  --_padding-block: clamp(min(6.4, 8) * 1px, 6.4 * 1px + (100dvw - var(--viewport-min) * 1px) * (8 - 6.4) / (var(--viewport-max) - var(--viewport-min)), max(6.4, 8) * 1px);
  --_padding-inline: clamp(min(9.6, 12) * 1px, 9.6 * 1px + (100dvw - var(--viewport-min) * 1px) * (12 - 9.6) / (var(--viewport-max) - var(--viewport-min)), max(9.6, 12) * 1px);
  background: linear-gradient(265deg, #ac3790 -3.52%, #d65a5c 44.94%, #f4c06d 92.38%);
  padding-block: var(--_padding-block);
  padding-inline: var(--_padding-inline);
}

.c-fv-card__title {
  --_font-size: clamp(min(13, 16) * var(--rem-ratio), 13 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (16 - 13) / (var(--viewport-max) - var(--viewport-min)), max(13, 16) * var(--rem-ratio));
  color: var(--color-text-light);
  font-size: var(--_font-size);
  font-weight: 700;
  line-height: var(--line-height-13);
  text-align: center;
}

.c-fv-card__body {
  --_padding-block-start: clamp(min(12.8, 16) * 1px, 12.8 * 1px + (100dvw - var(--viewport-min) * 1px) * (16 - 12.8) / (var(--viewport-max) - var(--viewport-min)), max(12.8, 16) * 1px);
  --_padding-block-end: clamp(min(19.2, 24) * 1px, 19.2 * 1px + (100dvw - var(--viewport-min) * 1px) * (24 - 19.2) / (var(--viewport-max) - var(--viewport-min)), max(19.2, 24) * 1px);
  --_padding-inline: clamp(min(14, 12) * 1px, 14 * 1px + (100dvw - var(--viewport-min) * 1px) * (12 - 14) / (var(--viewport-max) - var(--viewport-min)), max(14, 12) * 1px);
  background: var(--color-mono-white);
  display: block grid;
  justify-items: center;
  padding-block: var(--_padding-block-start) var(--_padding-block-end);
  padding-inline: var(--_padding-inline);
}

.c-fv-card__label {
  --_font-size: clamp(min(12, 14) * var(--rem-ratio), 12 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (14 - 12) / (var(--viewport-max) - var(--viewport-min)), max(12, 14) * var(--rem-ratio));
  border-bottom: 2.4px solid var(--color-accent-red);
  font-size: var(--_font-size);
  font-weight: 400;
  line-height: var(--line-height-12);
  padding-block-end: 0.8px;
}

.c-fv-card__period {
  --_font-size: clamp(min(12, 16) * var(--rem-ratio), 12 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (16 - 12) / (var(--viewport-max) - var(--viewport-min)), max(12, 16) * var(--rem-ratio));
  font-size: var(--_font-size);
  font-weight: 700;
  line-height: var(--line-height-12);
  margin-block-start: 3.2px;
}

.c-fv-card__button {
  --_margin-block-start: clamp(min(12.8, 16) * 1px, 12.8 * 1px + (100dvw - var(--viewport-min) * 1px) * (16 - 12.8) / (var(--viewport-max) - var(--viewport-min)), max(12.8, 16) * 1px);
  margin-block-start: var(--_margin-block-start);
}

.c-hamburger-icon {
  --_inline-size: 32;
  --_block-size: 28;
  --_border-width: 3;
  --_column-gap: calc((32 - 25.6 - 4.8) / 32 * 100%);
  --_translate: 0 calc(((var(--_block-size) - var(--_border-width)) / 2) * -1px);
  --_rotate: 45deg;
  --_transition-timing-function: var(--ease-out-sine);
  --_transition-duration: 0.5s;
  display: block grid;
  grid-template-areas: "bar1-1 bar1-2" "bar2 bar2" "bar3 bar3";
  grid-template-columns: 25.6fr 4.8fr;
  -moz-column-gap: var(--_column-gap);
  align-content: space-between;
  block-size: calc(var(--_block-size) * 1px);
       column-gap: var(--_column-gap);
  inline-size: calc(var(--_inline-size) * 1px);
  transition-duration: var(--_transition-duration);
  transition-property: rotate;
  transition-timing-function: var(--_transition-timing-function);
}
.c-hamburger-icon.is-open {
  rotate: x 360deg;
}
.c-hamburger-icon span {
  background: var(--color-mono-blown);
  block-size: calc(var(--_border-width) * 1px);
  border-radius: calc(infinity * 1px);
  transition-duration: var(--_transition-duration);
  transition-property: rotate opacity;
  transition-timing-function: var(--_transition-timing-function);
}
.c-hamburger-icon span:nth-of-type(1) {
  grid-area: bar1-1;
}
.c-hamburger-icon span:nth-of-type(2) {
  grid-area: bar1-2;
}
.c-hamburger-icon span:nth-of-type(3) {
  grid-area: bar2;
}
.c-hamburger-icon span:nth-of-type(4) {
  grid-area: bar3;
}
.c-hamburger-icon span:where(.c-hamburger-icon.is-open *):nth-of-type(1), .c-hamburger-icon span:where(.c-hamburger-icon.is-open *):nth-of-type(2) {
  opacity: 0;
}
.c-hamburger-icon span:where(.c-hamburger-icon.is-open *):nth-of-type(3) {
  rotate: calc(var(--_rotate) * -1);
  translate: 0 calc(var(--_border-width) / 2 / 2 * -1px);
}
.c-hamburger-icon span:where(.c-hamburger-icon.is-open *):nth-of-type(4) {
  rotate: var(--_rotate);
  translate: 0 calc((var(--_block-size) - var(--_border-width)) / 2 * -1px);
}

.c-heading__wrapper {
  --_row-gap: clamp(min(6, 8) * 1px, 6 * 1px + (100dvw - var(--viewport-min) * 1px) * (8 - 6) / (var(--viewport-max) - var(--viewport-min)), max(6, 8) * 1px);
  display: block grid;
  justify-items: center;
  row-gap: var(--_row-gap);
}
.c-heading__wrapper svg {
  --_inline-size: clamp(min(37, 48) * 1px, 37 * 1px + (100dvw - var(--viewport-min) * 1px) * (48 - 37) / (var(--viewport-max) - var(--viewport-min)), max(37, 48) * 1px);
  aspect-ratio: 1;
  color: var(--color-main);
  inline-size: var(--_inline-size);
}

.c-heading {
  display: block grid;
  justify-items: center;
  row-gap: 6px;
}

.c-heading__pre {
  font-family: var(--_font-family-en-alt);
  font-size: var(--font-size-16-20);
  font-weight: 400;
  line-height: var(--line-height-16-125);
}

.c-heading__head {
  --_border-width: clamp(min(6, 8) * 1px, 6 * 1px + (100dvw - var(--viewport-min) * 1px) * (8 - 6) / (var(--viewport-max) - var(--viewport-min)), max(6, 8) * 1px);
  border-bottom: var(--_border-width) solid var(--color-accent-yellow);
  font-family: var(--_font-family-ja-alt);
  font-size: var(--font-size-20-32);
  font-weight: 500;
  line-height: var(--line-height-20-125);
  padding-block-end: var(--_border-width);
}

.c-how-to-enter-card {
  padding-block-end: 16px;
}

.c-how-to-enter-card__inner {
  max-inline-size: 335px;
}

.c-how-to-enter-card__container {
  --_row-gap: clamp(min(16, 24) * 1px, 16 * 1px + (100dvw - var(--viewport-min) * 1px) * (24 - 16) / (var(--viewport-max) - var(--viewport-min)), max(16, 24) * 1px);
  display: block grid;
  justify-items: center;
  row-gap: var(--_row-gap);
}

.c-how-to-enter-card__img img {
  --_block-size: clamp(min(211, 302) * 1px, 211 * 1px + (100dvw - var(--viewport-min) * 1px) * (302 - 211) / (var(--viewport-max) - var(--viewport-min)), max(211, 302) * 1px);
  block-size: var(--_block-size);
  inline-size: revert;
}

.c-how-to-enter-card__content {
  display: block grid;
  justify-items: center;
  row-gap: 16px;
}

.c-how-to-enter-card__title {
  font-feature-settings: "pref" on;
  font-size: var(--font-size-16-20);
  font-weight: 700;
  line-height: var(--line-height-16);
}

.c-how-to-enter-card__text {
  font-size: var(--font-size-12-16);
  font-weight: 400;
  line-height: var(--line-height-12);
  text-align: center;
}

.c-pagetop {
  display: block grid;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  place-items: center;
  text-decoration: none;
}
.c-pagetop:focus-visible {
  animation-duration: 0.8s;
  animation-name: bounce;
  animation-timing-function: ease-out;
}
.c-pagetop span {
  --_margin-block-start: clamp(min(45.25, 62) * 1px, 45.25 * 1px + (100dvw - var(--viewport-min) * 1px) * (62 - 45.25) / (var(--viewport-max) - var(--viewport-min)), max(45.25, 62) * 1px);
  --_margin-inline-start: clamp(min(36.5, 48) * 1px, 36.5 * 1px + (100dvw - var(--viewport-min) * 1px) * (48 - 36.5) / (var(--viewport-max) - var(--viewport-min)), max(36.5, 48) * 1px);
  color: var(--color-text-light);
  font-family: var(--font-family-en);
  font-size: var(--font-size-9-12);
  font-weight: 600;
  grid-area: 1/1;
  line-height: var(--line-height-9-110);
  margin-block-start: var(--_margin-block-start);
  margin-inline-start: var(--_margin-inline-start);
  place-self: start;
  text-align: center;
  z-index: var(--z-foreground);
}
.c-pagetop.-fixed {
  display: none;
}

.p-pagetop_img {
  grid-area: 1/1;
}
.p-pagetop_img img {
  --_inline-size: clamp(min(79, 105) * 1px, 79 * 1px + (100dvw - var(--viewport-min) * 1px) * (105 - 79) / (var(--viewport-max) - var(--viewport-min)), max(79, 105) * 1px);
  aspect-ratio: 0.9875;
  inline-size: var(--_inline-size);
}

.c-prizes-card {
  --_icon-inline-size: clamp(min(46, 76) * 1px, 46 * 1px + (100dvw - var(--viewport-min) * 1px) * (76 - 46) / (var(--viewport-inner) - var(--viewport-min)), max(46, 76) * 1px);
  display: block grid;
  margin-block-start: calc(var(--_icon-inline-size) / 2);
}

.c-prizes-card__container {
  --_border-radius: 8;
  background: var(--color-mono-gray);
  border-radius: calc(var(--_border-radius) * 1px);
  display: block grid;
  grid-area: 1/1;
  grid-template-areas: "thumbnail" "title";
  grid-template-rows: auto 1fr;
  overflow: hidden;
  position: relative;
}
.c-prizes-card__container::after {
  border: 4px solid transparent;
  border-radius: calc(var(--_border-radius) * 1px);
  content: "";
  inset: 0;
  position: absolute;
  transition-duration: 0.5s;
  transition-property: border-color;
  transition-timing-function: var(--ease-out-expo);
  z-index: var(--z-foreground);
}
.c-prizes-card__container:where(.c-prizes-card:focus-visible *)::after {
  border-color: var(--color-main);
}

.c-prizes-card__title {
  --_padding-block-start: clamp(min(10, 14) * 1px, 10 * 1px + (100dvw - var(--viewport-min) * 1px) * (14 - 10) / (var(--viewport-inner) - var(--viewport-min)), max(10, 14) * 1px);
  --_padding-block-end: clamp(min(8, 14) * 1px, 8 * 1px + (100dvw - var(--viewport-min) * 1px) * (14 - 8) / (var(--viewport-inner) - var(--viewport-min)), max(8, 14) * 1px);
  align-self: center;
  font-size: var(--font-size-12-16);
  font-weight: 700;
  grid-area: title;
  line-height: var(--line-height-12);
  padding-block: var(--_padding-block-start) var(--_padding-block-end);
  text-align: center;
}

.c-prizes-card__thumbnail {
  grid-area: thumbnail;
  overflow: hidden;
}
.c-prizes-card__thumbnail img {
  aspect-ratio: 1.1428571429;
  -o-object-fit: cover;
     object-fit: cover;
  transition-duration: 0.5s;
  transition-property: scale;
  transition-timing-function: var(--ease-out-expo);
}
.c-prizes-card__thumbnail img:where(.c-prizes-card:focus-visible *) {
  scale: 1.2;
}

.c-prizes-card__icon {
  display: block grid;
  grid-area: 1/1;
  place-items: center;
  place-self: start center;
  position: relative;
  translate: 0 -50%;
  z-index: var(--z-foreground);
}
.c-prizes-card__icon::before {
  aspect-ratio: 1;
  background-image: url(../svg/prizes-star.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  inline-size: var(--_icon-inline-size);
  position: absolute;
  z-index: var(--z-background);
}
.c-prizes-card__icon span {
  color: var(--color-text-light);
  font-weight: 700;
}
.c-prizes-card__icon span:nth-of-type(1) {
  font-size: var(--font-size-8-13);
  line-height: 1.625;
}
.c-prizes-card__icon span:nth-of-type(2) {
  font-family: var(--font-family-en);
  font-size: var(--font-size-23-38);
  line-height: 1;
}

.c-prizes-card__label {
  grid-area: title;
  place-self: end;
  position: relative;
}
.c-prizes-card__label::before {
  --_inline-size: clamp(min(36, 64) * 1px, 36 * 1px + (100dvw - var(--viewport-min) * 1px) * (64 - 36) / (var(--viewport-inner) - var(--viewport-min)), max(36, 64) * 1px);
  aspect-ratio: 1;
  background-color: var(--color-sub-deep);
  clip-path: polygon(100% 0, 0 100%, 100% 100%);
  content: "";
  inline-size: var(--_inline-size);
  inset-block-end: 0;
  inset-inline-end: 0;
  position: absolute;
  transition-duration: 0.5s;
  transition-property: background-color;
  transition-timing-function: var(--ease-out-expo);
}
.c-prizes-card__label svg {
  --_inset-block-end: clamp(min(5.12, 7.96) * 1px, 5.12 * 1px + (100dvw - var(--viewport-min) * 1px) * (7.96 - 5.12) / (var(--viewport-inner) - var(--viewport-min)), max(5.12, 7.96) * 1px);
  --_inset-inline-end: clamp(min(4.22, 7) * 1px, 4.22 * 1px + (100dvw - var(--viewport-min) * 1px) * (7 - 4.22) / (var(--viewport-inner) - var(--viewport-min)), max(4.22, 7) * 1px);
  --_inline-size: clamp(min(13.52, 23.48) * 1px, 13.52 * 1px + (100dvw - var(--viewport-min) * 1px) * (23.48 - 13.52) / (var(--viewport-inner) - var(--viewport-min)), max(13.52, 23.48) * 1px);
  aspect-ratio: 1;
  color: var(--color-mono-gray);
  inline-size: var(--_inline-size);
  inset-block-end: var(--_inset-block-end);
  inset-inline-end: var(--_inset-inline-end);
  position: relative;
}
.c-prizes-card__label:where(.c-prizes-card:focus-visible *)::before {
  background-color: var(--color-main);
}

.c-prizes-modal {
  background: var(--color-ground-white);
  block-size: min(480px, 100dvb);
  border-radius: 24px;
  inline-size: min(336px, 100dvi);
  inset: 0;
  margin: auto;
  overflow-y: auto;
  position: fixed;
  text-align: center;
}

.c-prizes-modal__container {
  align-items: start;
  display: block grid;
  grid-template-areas: "thumbnail" "headline" "description" "button";
  inline-size: 100%;
  padding-block-end: 20px;
}

.c-prizes-modal__headline {
  font-feature-settings: "pref" on;
  font-size: var(--font-size-16);
  font-weight: 700;
  grid-area: headline;
  line-height: var(--line-height-16);
  margin-block-start: 39px;
  padding-inline: 20px;
  text-align: center;
}

.c-prizes-modal__description {
  color: var(--color-text-dark);
  font-size: var(--font-size-12);
  font-weight: 400;
  grid-area: description;
  line-height: var(--line-height-12);
  margin-block-start: 12px;
  padding-inline: 20px;
  text-align: center;
}

.c-prizes-modal__thumbnail {
  grid-area: thumbnail;
}
.c-prizes-modal__thumbnail img {
  aspect-ratio: 1.6;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-prizes-modal__button {
  grid-area: button;
  justify-self: center;
  margin-block-start: 16px;
}

.c-spots-card {
  background: var(--color-ground-white);
  border-radius: 12px;
  gap: 16px;
  overflow: hidden;
  padding-block-end: 31px;
}

.c-spots-card__container {
  --_row-gap: clamp(min(16, 24) * 1px, 16 * 1px + (100dvw - var(--viewport-min) * 1px) * (24 - 16) / (var(--viewport-breakpoint) - var(--viewport-min)), max(16, 24) * 1px);
  display: block grid;
  grid-template-areas: "thumbnail" "head" "description";
  grid-template-rows: auto auto 1fr;
  row-gap: var(--_row-gap);
}

.c-spots-card__headline {
  --_padding-inline: clamp(min(24, 32) * 1px, 24 * 1px + (100dvw - var(--viewport-min) * 1px) * (32 - 24) / (var(--viewport-breakpoint) - var(--viewport-min)), max(24, 32) * 1px);
  font-feature-settings: "pref" on;
  font-size: var(--font-size-16-20-xbp);
  font-weight: 700;
  grid-area: head;
  line-height: var(--line-height-16);
  padding-inline: var(--_padding-inline);
  text-align: center;
}

.c-spots-card__description {
  --_padding-inline: clamp(min(24, 32) * 1px, 24 * 1px + (100dvw - var(--viewport-min) * 1px) * (32 - 24) / (var(--viewport-breakpoint) - var(--viewport-min)), max(24, 32) * 1px);
  font-size: var(--font-size-12-16-xbp);
  font-weight: 400;
  grid-area: description;
  line-height: var(--line-height-12);
  padding-inline: var(--_padding-inline);
}

.c-spots-card__thumbnail {
  grid-area: thumbnail;
}
.c-spots-card__thumbnail img {
  aspect-ratio: 1.3333333333;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-stripe {
  background: repeating-linear-gradient(45deg, var(--color-main) -1px, var(--color-main) 5px, transparent 5px, transparent 11px);
}

.c-wave-background {
  --_block-size: 47px;
  background-image: url('data:image/svg+xml;utf8,<svg width="96" height="47" viewBox="0 0 96 47" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M49.6 0.986328C26.7391 0.98631 23.04 13.1075 0 13.1076V46.7006H96V13.1076C72.96 13.1076 72.4609 0.986346 49.6 0.986328Z" fill="%2367b0c7"/></svg>');
  background-position: -6px;
  background-repeat: repeat-x;
  background-size: auto var(--_block-size);
  block-size: var(--_block-size);
  inline-size: 100%;
  inset-block-start: 0;
  inset-inline: 0;
  position: absolute;
  translate: 0 calc(-100% + 1px);
  z-index: var(--z-background);
}
.c-wave-background.-flip {
  inset-block-end: 0;
  inset-block-start: revert;
  scale: 1 -1;
  translate: 0 calc(100% - 1px);
}

.p-about-scroll {
  --_margin-block-start: clamp(min(139, 167) * 1px, 139 * 1px + (100dvw - var(--viewport-min) * 1px) * (167 - 139) / (var(--viewport-max) - var(--viewport-min)), max(139, 167) * 1px);
  margin-block-start: var(--_margin-block-start);
}

.p-about-scroll__inner {
  margin-inline: auto;
  max-inline-size: calc(var(--viewport-max) * 1px);
  padding-inline: revert;
}

.p-about-scroll__head {
  margin-inline-start: 2px;
}
.p-about-scroll__head img {
  --_inline-size: clamp(min(357, 893) * 1px, 357 * 1px + (100dvw - var(--viewport-min) * 1px) * (893 - 357) / (var(--viewport-max) - var(--viewport-min)), max(357, 893) * 1px);
  aspect-ratio: 8.925;
  color: var(--color-main);
  inline-size: var(--_inline-size);
  margin-inline: auto;
}

.p-about-scroll__slider {
  margin-block-start: -2px;
}
.p-about-scroll__slider .swiper {
  overflow: revert;
}
.p-about-scroll__slider .swiper-wrapper {
  --swiper-wrapper-transition-timing-function: linear;
}
.p-about-scroll__slider .swiper-slide img {
  aspect-ratio: 1;
  -o-object-fit: cover;
  border-radius: 12px;
     object-fit: cover;
}
.p-about {
  --_padding-block-start: clamp(min(32, 80) * 1px, 32 * 1px + (100dvw - var(--viewport-min) * 1px) * (80 - 32) / (var(--viewport-max) - var(--viewport-min)), max(32, 80) * 1px);
  --_padding-block-end: clamp(min(33, 0) * 1px, 33 * 1px + (100dvw - var(--viewport-min) * 1px) * (0 - 33) / (var(--viewport-max) - var(--viewport-min)), max(33, 0) * 1px);
  overflow: hidden;
  padding-block: var(--_padding-block-start) var(--_padding-block-end);
  position: relative;
}

.p-about__inner {
  --_max-inline-size: clamp(min(335, 848) * 1px, 335 * 1px + (100dvw - var(--viewport-min) * 1px) * (848 - 335) / (var(--viewport-max) - var(--viewport-min)), max(335, 848) * 1px);
  max-inline-size: var(--_max-inline-size);
}

.p-about__container {
  background: var(--color-ground-white);
  border-radius: 24px;
  display: block grid;
  justify-items: center;
  padding-block: 40px;
  padding-inline: 12px;
  position: relative;
}

.p-about__head-wrapper {
  grid-area: 1/1;
}

.p-about__body {
  --_row-gap: clamp(min(24, 32) * 1px, 24 * 1px + (100dvw - var(--viewport-min) * 1px) * (32 - 24) / (var(--viewport-max) - var(--viewport-min)), max(24, 32) * 1px);
  --_margin-block-start: clamp(min(24, 32) * 1px, 24 * 1px + (100dvw - var(--viewport-min) * 1px) * (32 - 24) / (var(--viewport-max) - var(--viewport-min)), max(24, 32) * 1px);
  display: block grid;
  justify-items: center;
  margin-block-start: var(--_margin-block-start);
  row-gap: var(--_row-gap);
}

.p-about__lead {
  font-size: var(--font-size-14-16);
  font-weight: 700;
  line-height: var(--line-height-14);
  text-align: center;
}

.p-about__text {
  font-size: var(--font-size-12-16);
  font-weight: 400;
  line-height: var(--line-height-12);
  text-align: center;
}

.p-about__gift-text {
  --_padding-block: clamp(min(8, 12) * 1px, 8 * 1px + (100dvw - var(--viewport-min) * 1px) * (12 - 8) / (var(--viewport-max) - var(--viewport-min)), max(8, 12) * 1px);
  border-bottom: 2px dashed var(--color-main);
  display: block flow;
  font-size: var(--font-size-14-20);
  font-weight: 700;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  line-height: var(--line-height-14);
  margin-block-start: var(--_row-gap);
  margin-inline: auto;
  padding-block: var(--_padding-block) calc(var(--_padding-block) - 2px);
}

.p-about__pic-1 {
  --_margin-block-start: clamp(min(-8, 0) * 1px, -8 * 1px + (100dvw - var(--viewport-min) * 1px) * (0 - -8) / (var(--viewport-max) - var(--viewport-min)), max(-8, 0) * 1px);
  --_margin-inline-start: clamp(min(21, 73) * 1px, 21 * 1px + (100dvw - var(--viewport-min) * 1px) * (73 - 21) / (var(--viewport-max) - var(--viewport-min)), max(21, 73) * 1px);
  grid-area: 1/1;
  margin-block-start: var(--_margin-block-start);
  margin-inline-start: var(--_margin-inline-start);
  place-self: start;
}
.p-about__pic-1 img {
  --_inline-size: clamp(min(88, 147) * 1px, 88 * 1px + (100dvw - var(--viewport-min) * 1px) * (147 - 88) / (var(--viewport-max) - var(--viewport-min)), max(88, 147) * 1px);
  inline-size: var(--_inline-size);
}

.p-about__pic-2 {
  --_margin-block-start: clamp(min(-10, 7) * 1px, -10 * 1px + (100dvw - var(--viewport-min) * 1px) * (7 - -10) / (var(--viewport-max) - var(--viewport-min)), max(-10, 7) * 1px);
  --_margin-inline-end: clamp(min(7, 72) * 1px, 7 * 1px + (100dvw - var(--viewport-min) * 1px) * (72 - 7) / (var(--viewport-max) - var(--viewport-min)), max(7, 72) * 1px);
  grid-area: 1/1;
  margin-block-start: var(--_margin-block-start);
  margin-inline-end: var(--_margin-inline-end);
  place-self: start end;
}
.p-about__pic-2 img {
  --_inline-size: clamp(min(88, 147) * 1px, 88 * 1px + (100dvw - var(--viewport-min) * 1px) * (147 - 88) / (var(--viewport-max) - var(--viewport-min)), max(88, 147) * 1px);
  inline-size: var(--_inline-size);
}

.p-about__arrow {
  --_inline-size: clamp(min(100, 140) * 1px, 100 * 1px + (100dvw - var(--viewport-min) * 1px) * (140 - 100) / (var(--viewport-max) - var(--viewport-min)), max(100, 140) * 1px);
  --_block-size: clamp(min(36, 50) * 1px, 36 * 1px + (100dvw - var(--viewport-min) * 1px) * (50 - 36) / (var(--viewport-max) - var(--viewport-min)), max(36, 50) * 1px);
  block-size: var(--_block-size);
  color: var(--color-sub-gray);
  inline-size: var(--_inline-size);
  inset-block-end: calc(var(--_block-size) * -1);
  inset-inline: 0;
}

.p-about__arrow,.p-about__background {
  margin-inline: auto;
  position: absolute;
}

.p-about__background {
  inset-block-start: 0;
  inset-inline: 0;
  max-inline-size: calc(var(--viewport-max) * 1px);
  z-index: var(--z-background);
}

.p-about__background-container {
  position: relative;
}
.p-about__background-container svg:has(use[href="./sprite/sprite.symbol.svg#icon-bg-pawpads"]) {
  --_inset-block-start: clamp(min(22, 0) * 1px, 22 * 1px + (100dvw - var(--viewport-min) * 1px) * (0 - 22) / (var(--viewport-max) - var(--viewport-min)), max(22, 0) * 1px);
  --_inset-inline-end: clamp(min(0, 166) * 1px, 0 * 1px + (100dvw - var(--viewport-min) * 1px) * (166 - 0) / (var(--viewport-max) - var(--viewport-min)), max(0, 166) * 1px);
  --_inline-size: clamp(min(54, 100) * 1px, 54 * 1px + (100dvw - var(--viewport-min) * 1px) * (100 - 54) / (var(--viewport-max) - var(--viewport-min)), max(54, 100) * 1px);
  aspect-ratio: 0.45;
  color: var(--color-sub-gray);
  inline-size: var(--_inline-size);
  inset-block-start: var(--_inset-block-start);
  inset-inline-end: var(--_inset-inline-end);
  position: absolute;
}

.p-about__waveline {
  --_inset-block-start: clamp(min(800, 687) * 1px, 800 * 1px + (100dvw - var(--viewport-min) * 1px) * (687 - 800) / (var(--viewport-max) - var(--viewport-min)), max(800, 687) * 1px);
  --_inset-inline-end: clamp(min(-900, -565) * 1px, -900 * 1px + (100dvw - var(--viewport-min) * 1px) * (-565 - -900) / (var(--viewport-max) - var(--viewport-min)), max(-900, -565) * 1px);
  inset-block-start: var(--_inset-block-start);
  inset-inline-end: var(--_inset-inline-end);
  position: absolute;
}
.p-about__waveline svg:has(use[href="./sprite/sprite.symbol.svg#icon-bg-wavyline"]) {
  aspect-ratio: 53.7900666667;
  color: var(--color-sub-gray);
  inline-size: 806.851px;
}
.p-about__waveline svg:has(use[href="./sprite/sprite.symbol.svg#icon-bg-wavyline"]):nth-of-type(2) {
  margin-block-start: 18px;
  margin-inline-start: -67px;
}

.p-about__stripe {
  --_inset-block-start: clamp(min(250, 60) * 1px, 250 * 1px + (100dvw - var(--viewport-min) * 1px) * (60 - 250) / (var(--viewport-max) - var(--viewport-min)), max(250, 60) * 1px);
  --_inset-inline-start: clamp(min(-350, -20) * 1px, -350 * 1px + (100dvw - var(--viewport-min) * 1px) * (-20 - -350) / (var(--viewport-max) - var(--viewport-min)), max(-350, -20) * 1px);
  aspect-ratio: 1;
  border-radius: 24px;
  inline-size: 250px;
}

.p-about__stripe,.p-about__photo-l {
  inset-block-start: var(--_inset-block-start);
  inset-inline-start: var(--_inset-inline-start);
  position: absolute;
}

.p-about__photo-l {
  --_inset-block-start: clamp(min(427, 154) * 1px, 427 * 1px + (100dvw - var(--viewport-min) * 1px) * (154 - 427) / (var(--viewport-max) - var(--viewport-min)), max(427, 154) * 1px);
  --_inset-inline-start: clamp(min(-140, -338) * 1px, -140 * 1px + (100dvw - var(--viewport-min) * 1px) * (-338 - -140) / (var(--viewport-max) - var(--viewport-min)), max(-140, -338) * 1px);
  z-index: var(--z-foreground);
}
.p-about__photo-l img {
  --_inline-size: clamp(min(200, 480) * 1px, 200 * 1px + (100dvw - var(--viewport-min) * 1px) * (480 - 200) / (var(--viewport-max) - var(--viewport-min)), max(200, 480) * 1px);
  border-radius: 24px;
  inline-size: var(--_inline-size);
}

.p-about__hill {
  --_inset-block-start: clamp(min(584, 401) * 1px, 584 * 1px + (100dvw - var(--viewport-min) * 1px) * (401 - 584) / (var(--viewport-max) - var(--viewport-min)), max(584, 401) * 1px);
  --_inset-inline-start: clamp(min(-55, -103) * 1px, -55 * 1px + (100dvw - var(--viewport-min) * 1px) * (-103 - -55) / (var(--viewport-max) - var(--viewport-min)), max(-55, -103) * 1px);
  inset-block-start: var(--_inset-block-start);
  inset-inline-start: var(--_inset-inline-start);
  position: absolute;
}
.p-about__hill::before {
  background: linear-gradient(180deg, rgba(233, 246, 248, 0) 68.58%, #e9f6f8 80.78%);
  content: "";
  inset-block: 0;
  inset-inline: 0;
  position: absolute;
}
.p-about__hill img {
  --_inline-size: clamp(min(216, 427) * 1px, 216 * 1px + (100dvw - var(--viewport-min) * 1px) * (427 - 216) / (var(--viewport-max) - var(--viewport-min)), max(216, 427) * 1px);
  aspect-ratio: 0.4988452656;
  inline-size: var(--_inline-size);
}

.p-about__photo-r {
  --_inset-block-start: clamp(min(305, 153) * 1px, 305 * 1px + (100dvw - var(--viewport-min) * 1px) * (153 - 305) / (var(--viewport-max) - var(--viewport-min)), max(305, 153) * 1px);
  --_inset-inline-end: clamp(min(-140, -284) * 1px, -140 * 1px + (100dvw - var(--viewport-min) * 1px) * (-284 - -140) / (var(--viewport-max) - var(--viewport-min)), max(-140, -284) * 1px);
  inset-block-start: var(--_inset-block-start);
  inset-inline-end: var(--_inset-inline-end);
  position: absolute;
}
.p-about__photo-r img {
  --_inline-size: clamp(min(200, 480) * 1px, 200 * 1px + (100dvw - var(--viewport-min) * 1px) * (480 - 200) / (var(--viewport-max) - var(--viewport-min)), max(200, 480) * 1px);
  aspect-ratio: 1;
  border-radius: 24px;
  inline-size: var(--_inline-size);
}

.p-about__goods-button {
  --_inset-block-start: clamp(min(752, 681) * 1px, 752 * 1px + (100dvw - var(--viewport-min) * 1px) * (681 - 752) / (var(--viewport-max) - var(--viewport-min)), max(752, 681) * 1px);
  --_inset-inline-end: clamp(min(21, 150) * 1px, 21 * 1px + (100dvw - var(--viewport-min) * 1px) * (150 - 21) / (var(--viewport-max) - var(--viewport-min)), max(21, 150) * 1px);
  inset-block-start: var(--_inset-block-start);
  inset-inline-end: var(--_inset-inline-end);
  position: absolute;
}
.p-about__goods-button img {
  --_inline-size: clamp(min(48, 101) * 1px, 48 * 1px + (100dvw - var(--viewport-min) * 1px) * (101 - 48) / (var(--viewport-max) - var(--viewport-min)), max(48, 101) * 1px);
  inline-size: var(--_inline-size);
}

.p-about__goods-wallet {
  --_inset-block-start: clamp(min(794, 837) * 1px, 794 * 1px + (100dvw - var(--viewport-min) * 1px) * (837 - 794) / (var(--viewport-max) - var(--viewport-min)), max(794, 837) * 1px);
  --_inset-inline-end: clamp(min(57, 74) * 1px, 57 * 1px + (100dvw - var(--viewport-min) * 1px) * (74 - 57) / (var(--viewport-max) - var(--viewport-min)), max(57, 74) * 1px);
  inset-block-start: var(--_inset-block-start);
  inset-inline-end: var(--_inset-inline-end);
  position: absolute;
}
.p-about__goods-wallet img {
  --_inline-size: clamp(min(133, 308) * 1px, 133 * 1px + (100dvw - var(--viewport-min) * 1px) * (308 - 133) / (var(--viewport-max) - var(--viewport-min)), max(133, 308) * 1px);
  inline-size: var(--_inline-size);
}

.p-contact {
  background: var(--color-ground-white);
  padding-block: 40px 44px;
}

.p-contact__inner {
  max-inline-size: 628px;
}

.p-contact__form {
  margin-block-start: 24px;
}

.p-entry-requirements__container {
  --_border-width: 8;
  --_row-gap: clamp(min(24, 40) * 1px, 24 * 1px + (100dvw - var(--viewport-min) * 1px) * (40 - 24) / (var(--viewport-max) - var(--viewport-min)), max(24, 40) * 1px);
  --_padding-block: clamp(min(24, 40) * 1px, 24 * 1px + (100dvw - var(--viewport-min) * 1px) * (40 - 24) / (var(--viewport-max) - var(--viewport-min)), max(24, 40) * 1px);
  --_padding-inline: clamp(min(23.5, 56) * 1px, 23.5 * 1px + (100dvw - var(--viewport-min) * 1px) * (56 - 23.5) / (var(--viewport-max) - var(--viewport-min)), max(23.5, 56) * 1px);
  background: rgb(from var(--color-ground-white) r g b/50%);
  border: calc(var(--_border-width) * 1px) solid var(--color-ground-white);
  display: block grid;
  padding-block: calc(var(--_padding-block) - var(--_border-width) * 1px);
  padding-inline: calc(var(--_padding-inline) - var(--_border-width) * 1px);
  row-gap: var(--_row-gap);
}

.p-entry-requirements__body {
  margin-block-start: 1px;
}

.p-entry-requirements__info-container {
  display: block grid;
  row-gap: 12px;
}

.p-entry-requirements__info-row {
  --_border-width: 1;
  display: block grid;
  padding-block-end: calc((16 - var(--_border-width)) * 1px);
  row-gap: 8px;
}
.p-entry-requirements__info-row:not(:last-of-type) {
  border-bottom: calc(var(--_border-width) * 1px) solid var(--color-mono-dark-gray);
}

.p-entry-requirements__item-title {
  font-size: var(--font-size-14-16);
  font-weight: 700;
  line-height: var(--line-height-14);
  padding-inline-start: 16px;
  position: relative;
}
.p-entry-requirements__item-title::before {
  aspect-ratio: 1;
  background: var(--color-main);
  border-radius: calc(infinity * 1px);
  content: "";
  inline-size: 8px;
  inset-block-start: 0.5lh;
  inset-inline-start: 0;
  position: absolute;
  translate: 0 -50%;
}

.p-entry-requirements__item-content {
  font-size: var(--font-size-12-16);
  font-weight: 400;
  line-height: var(--line-height-12);
}
.p-entry-requirements__item-content ul li {
  margin-inline-start: 1.5em;
  position: relative;
}
.p-entry-requirements__item-content ul li::before {
  content: "・";
  inset-block-start: 0;
  inset-inline-start: -1.25em;
  position: absolute;
}

.p-entry-requirements__background {
  --_margin-block-start: clamp(min(32, 120) * 1px, 32 * 1px + (100dvw - var(--viewport-min) * 1px) * (120 - 32) / (var(--viewport-max) - var(--viewport-min)), max(32, 120) * 1px);
  margin-block-start: var(--_margin-block-start);
}

.p-entry-requirements__bg-entry {
  aspect-ratio: 3.7878787879;
  display: block flow;
  max-block-size: 400px;
}
.p-entry-requirements__bg-entry img {
  block-size: calc(100% + 200px);
  max-block-size: 600px;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-footer {
  padding-block-start: 40px;
  position: relative;
}

.p-footer__container {
  padding-block-end: 24px;
}

.p-footer__heading {
  font-family: var(--font-family-en);
  font-size: var(--font-size-20-24);
  font-weight: 400;
  line-height: var(--line-height-20-125);
  text-align: center;
}

.p-footer__sns {
  display: block flex;
  -moz-column-gap: 40px;
  align-items: center;
       column-gap: 40px;
  justify-content: center;
  margin-block-start: 24px;
}

.p-footer__sns-link svg {
  aspect-ratio: 1;
  color: var(--color-sub-deep);
  inline-size: 32px;
}
.p-footer__sns-link.-youtube svg {
  inline-size: 27px;
  margin-block-start: 1px;
  margin-inline: 2.5px;
}
.p-footer__onomichi {
  display: block grid;
  justify-content: center;
  margin-block-start: 14px;
  margin-inline-start: -3px;
  position: relative;
  z-index: var(--z-background);
}
.p-footer__onomichi img {
  aspect-ratio: 8.8378378378;
  color: var(--color-main);
  inline-size: 327px;
}

.p-footer__organizer {
  background: var(--color-ground-white);
  border-radius: 16px;
  display: block grid;
  grid-template-areas: "map" "company-info ";
  margin-block-start: -3px;
  margin-inline: auto;
  max-inline-size: 512px;
  overflow: hidden;
  padding-block-end: 24px;
  row-gap: 24px;
}

.p-footer__map {
  aspect-ratio: 1.2361623616;
  grid-area: map;
  inline-size: 100%;
  max-block-size: 400px;
}
.p-footer__map iframe {
  block-size: 100%;
  inline-size: 100%;
}

.p-footer__company-info {
  display: block grid;
  grid-area: company-info;
  justify-content: center;
  justify-items: center;
  row-gap: 24px;
}
.p-footer__logo svg {
  aspect-ratio: 7.65;
  inline-size: 153px;
}

.p-footer__table {
  border-spacing: 0 8px;
  margin-block: -9px -3px;
}
.p-footer__table th {
  font-size: var(--font-size-12-16);
  font-weight: 700;
  line-height: var(--line-height-12);
  min-inline-size: 80px;
  padding-inline-start: 16px;
  position: relative;
  text-align: start;
}
.p-footer__table th::before {
  aspect-ratio: 1;
  background: var(--color-main);
  border-radius: calc(infinity * 1px);
  content: "";
  inline-size: 8px;
  inset-block-start: 0.5lh;
  inset-inline-start: 0;
  position: absolute;
  translate: 0 -50%;
}
.p-footer__table td {
  font-size: var(--font-size-12-16);
  font-weight: 400;
  line-height: var(--line-height-12);
}

.p-footer__pagetop {
  margin-block-start: 24px;
  margin-inline: auto;
}

.p-footer_copy-container {
  background: var(--color-sub-deep);
  margin-block-start: 44px;
  padding-block-end: 25px;
  position: relative;
  text-align: center;
}

.p-footer__copy {
  color: var(--color-text-light);
  display: block flow;
  font-size: var(--font-size-10-14);
  font-weight: 400;
  line-height: var(--line-height-10);
}

.p-footer__background {
  display: none;
}

.p-fv {
  --_padding-block-start: clamp(min(17, 34) * 1px, 17 * 1px + (100dvw - var(--viewport-min) * 1px) * (34 - 17) / (var(--viewport-max) - var(--viewport-min)), max(17, 34) * 1px);
  padding-block-start: calc(var(--_padding-block-start) + 64px);
  position: relative;
}

.p-fv__inner {
  --_max-inline-size: clamp(min(335, 845) * 1px, 335 * 1px + (100dvw - var(--viewport-min) * 1px) * (845 - 335) / (var(--viewport-max) - var(--viewport-min)), max(335, 845) * 1px);
  max-inline-size: var(--_max-inline-size);
}

.p-fv__heading {
  --_row-gap: clamp(min(20, 24) * 1px, 20 * 1px + (100dvw - var(--viewport-min) * 1px) * (24 - 20) / (var(--viewport-max) - var(--viewport-min)), max(20, 24) * 1px);
  display: block grid;
  justify-items: center;
  row-gap: var(--_row-gap);
}

.p-fv__heading-pre {
  font-family: var(--font-family-ja-alt);
  font-size: var(--font-size-14-24);
  font-weight: 400;
  line-height: var(--line-height-14-125);
  text-align: center;
  text-shadow: 0 0 30px var(--color-mono-white);
}

.p-fv__heading-main {
  --_row-gap: clamp(min(12, 16) * 1px, 12 * 1px + (100dvw - var(--viewport-min) * 1px) * (16 - 12) / (var(--viewport-max) - var(--viewport-min)), max(12, 16) * 1px);
  display: block grid;
  justify-items: center;
  row-gap: var(--_row-gap);
}
.p-fv__heading-main svg {
  background: var(--color-ground-white);
}
.p-fv__heading-main svg:nth-of-type(1) {
  --_inline-size: clamp(min(335, 520) * 1px, 335 * 1px + (100dvw - var(--viewport-min) * 1px) * (520 - 335) / (var(--viewport-max) - var(--viewport-min)), max(335, 520) * 1px);
  aspect-ratio: 6.320754717;
  inline-size: var(--_inline-size);
}
.p-fv__heading-main svg:nth-of-type(2) {
  --_inline-size: clamp(min(240, 356) * 1px, 240 * 1px + (100dvw - var(--viewport-min) * 1px) * (356 - 240) / (var(--viewport-max) - var(--viewport-min)), max(240, 356) * 1px);
  aspect-ratio: 6;
  inline-size: var(--_inline-size);
}

.p-fv__body-container {
  display: block grid;
  perspective: 1000px;
}

.p-fv__speech-bubble {
  --_margin-block-start: clamp(min(17, 0) * 1px, 17 * 1px + (100dvw - var(--viewport-min) * 1px) * (0 - 17) / (var(--viewport-max) - var(--viewport-min)), max(17, 0) * 1px);
  --_margin-inline-start: clamp(min(0, 35) * 1px, 0 * 1px + (100dvw - var(--viewport-min) * 1px) * (35 - 0) / (var(--viewport-max) - var(--viewport-min)), max(0, 35) * 1px);
  block-size: -moz-fit-content;
  block-size: fit-content;
  display: block grid;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin-inline-start: var(--_margin-inline-start);
}

.p-fv__speech-bubble,.p-fv__speech-bubble-text {
  grid-area: 1/1;
  margin-block-start: var(--_margin-block-start);
}

.p-fv__speech-bubble-text {
  --_margin-block-start: clamp(min(5.58, 9.07) * 1px, 5.58 * 1px + (100dvw - var(--viewport-min) * 1px) * (9.07 - 5.58) / (var(--viewport-max) - var(--viewport-min)), max(5.58, 9.07) * 1px);
  --_margin-inline-end: clamp(min(37.25, 64) * 1px, 37.25 * 1px + (100dvw - var(--viewport-min) * 1px) * (64 - 37.25) / (var(--viewport-max) - var(--viewport-min)), max(37.25, 64) * 1px);
  --_font-size: clamp(min(18.361, 32) * var(--rem-ratio), 18.361 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (32 - 18.361) / (var(--viewport-max) - var(--viewport-min)), max(18.361, 32) * var(--rem-ratio));
  color: var(--color-accent-red);
  filter: drop-shadow(0 0 4px var(--color-mono-white));
  font-family: var(--font-family-en);
  font-size: var(--_font-size);
  font-weight: 400;
  line-height: 1;
  margin-inline-end: var(--_margin-inline-end);
  text-align: end;
  text-shadow: 0.5738px 0.5738px 0 var(--color-mono-white), -0.5738px 0.5738px 0 var(--color-mono-white), 0.5738px -0.5738px 0 var(--color-mono-white), -0.5738px -0.5738px 0 var(--color-mono-white), 0.5738px 0 0 var(--color-mono-white), 0 0.5738px 0 var(--color-mono-white), -0.5738px 0 0 var(--color-mono-white), 0 -0.5738px 0 var(--color-mono-white);
}
.p-fv__speech-bubble-text span {
  margin-inline-end: -2px;
}

.p-fv__speech-bubble-bubble {
  grid-area: 1/1;
  justify-self: end;
}
.p-fv__speech-bubble-bubble svg {
  --_inline-size: clamp(min(142, 244) * 1px, 142 * 1px + (100dvw - var(--viewport-min) * 1px) * (244 - 142) / (var(--viewport-max) - var(--viewport-min)), max(142, 244) * 1px);
  aspect-ratio: 1.775;
  color: var(--color-accent-yellow);
  inline-size: var(--_inline-size);
}

.p-fv__gift-promotion {
  --_inline-size: clamp(min(110, 180) * 1px, 110 * 1px + (100dvw - var(--viewport-min) * 1px) * (180 - 110) / (var(--viewport-max) - var(--viewport-min)), max(110, 180) * 1px);
  --_margin-block-start: clamp(min(10, 17) * 1px, 10 * 1px + (100dvw - var(--viewport-min) * 1px) * (17 - 10) / (var(--viewport-max) - var(--viewport-min)), max(10, 17) * 1px);
  --_margin-inline-end: clamp(min(25, 10) * 1px, 25 * 1px + (100dvw - var(--viewport-min) * 1px) * (10 - 25) / (576 - var(--viewport-min)), max(25, 10) * 1px);
  align-items: center;
  animation-delay: 2.9s;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-name: rotate-and-stop;
  animation-timing-function: ease-out;
  aspect-ratio: 1;
  background: var(--color-accent-red);
  border-radius: calc(infinity * 1px);
  display: block grid;
  grid-area: 1/1;
  inline-size: var(--_inline-size);
  justify-content: center;
  justify-self: end;
  margin-block-start: var(--_margin-block-start);
  margin-inline-end: var(--_margin-inline-end);
  position: relative;
  transform-style: preserve-3d;
  z-index: var(--z-background);
}

.p-fv__gift-promotion-text {
  --_margin-block-start: clamp(min(-3, -6) * 1px, -3 * 1px + (100dvw - var(--viewport-min) * 1px) * (-6 - -3) / (var(--viewport-max) - var(--viewport-min)), max(-3, -6) * 1px);
  --_row-gap: clamp(min(4, 7) * 1px, 4 * 1px + (100dvw - var(--viewport-min) * 1px) * (7 - 4) / (var(--viewport-max) - var(--viewport-min)), max(4, 7) * 1px);
  color: var(--color-text-light);
  display: block grid;
  margin-block-start: var(--_margin-block-start);
  place-items: center;
  row-gap: var(--_row-gap);
}
.p-fv__gift-promotion-text span:nth-of-type(1) {
  --_font-size: clamp(min(10, 16) * var(--rem-ratio), 10 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (16 - 10) / (var(--viewport-max) - var(--viewport-min)), max(10, 16) * var(--rem-ratio));
  font-size: var(--_font-size);
  font-weight: 700;
  grid-area: 1/1/1/4;
  line-height: var(--line-height-10);
}
.p-fv__gift-promotion-text span:nth-of-type(2) {
  --_font-size: clamp(min(30.458, 49.84) * var(--rem-ratio), 30.458 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (49.84 - 30.458) / (var(--viewport-max) - var(--viewport-min)), max(30.458, 49.84) * var(--rem-ratio));
  color: var(--color-accent-yellow);
  font-family: var(--font-family-numerals);
  font-size: var(--_font-size);
  font-weight: 700;
  grid-area: 2/1;
  line-height: 1.247619673;
}
.p-fv__gift-promotion-text span:nth-of-type(3) {
  --_margin-block-end: clamp(min(1, 4) * 1px, 1 * 1px + (100dvw - var(--viewport-min) * 1px) * (4 - 1) / (var(--viewport-max) - var(--viewport-min)), max(1, 4) * 1px);
  --_font-size: clamp(min(9.778, 16) * var(--rem-ratio), 9.778 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (16 - 9.778) / (var(--viewport-max) - var(--viewport-min)), max(9.778, 16) * var(--rem-ratio));
  color: var(--color-accent-yellow);
  font-size: var(--_font-size);
  font-weight: 700;
  grid-area: 2/2;
  line-height: 1.6363264471;
  margin-block-end: var(--_margin-block-end);
}
.p-fv__gift-promotion-text span:nth-of-type(4) {
  --_margin-block-end: clamp(min(1, 4) * 1px, 1 * 1px + (100dvw - var(--viewport-min) * 1px) * (4 - 1) / (var(--viewport-max) - var(--viewport-min)), max(1, 4) * 1px);
  --_font-size: clamp(min(9.778, 16) * var(--rem-ratio), 9.778 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (16 - 9.778) / (var(--viewport-max) - var(--viewport-min)), max(9.778, 16) * var(--rem-ratio));
  font-size: var(--font-size-10-16);
  font-weight: 700;
  grid-area: 2/3;
  line-height: 1.6363264471;
  margin-block-end: var(--_margin-block-end);
}
.p-fv__gift-promotion-text span:nth-of-type(5) {
  --_margin-block-start: clamp(min(-15, -28) * 1px, -15 * 1px + (100dvw - var(--viewport-min) * 1px) * (-28 - -15) / (var(--viewport-max) - var(--viewport-min)), max(-15, -28) * 1px);
  --_font-size: clamp(min(14.667, 24) * var(--rem-ratio), 14.667 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (24 - 14.667) / (var(--viewport-max) - var(--viewport-min)), max(14.667, 24) * var(--rem-ratio));
  font-size: var(--_font-size);
  font-weight: 700;
  grid-area: 3/1/3/4;
  line-height: 1.5681461785;
  margin-block-start: var(--_margin-block-start);
}

.p-fv__smartphone-wrapper {
  --_margin-block-start: clamp(min(113, 33) * 1px, 113 * 1px + (100dvw - var(--viewport-min) * 1px) * (33 - 113) / (var(--viewport-max) - var(--viewport-min)), max(113, 33) * 1px);
  --_margin-block-end: clamp(min(11, 17) * 1px, 11 * 1px + (100dvw - var(--viewport-min) * 1px) * (17 - 11) / (var(--viewport-max) - var(--viewport-min)), max(11, 17) * 1px);
  display: block grid;
  grid-area: 1/1;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  justify-self: center;
  margin-block: var(--_margin-block-start) var(--_margin-block-end);
  place-items: center;
}

.p-fv__smartphone {
  grid-area: 1/1;
}
.p-fv__smartphone img {
  --_inline-size: clamp(min(200, 250) * 1px, 200 * 1px + (100dvw - var(--viewport-min) * 1px) * (250 - 200) / (var(--viewport-max) - var(--viewport-min)), max(200, 250) * 1px);
  inline-size: var(--_inline-size);
}

.p-fv__card {
  --_margin-block-start: clamp(min(-8, -12) * 1px, -8 * 1px + (100dvw - var(--viewport-min) * 1px) * (-12 - -8) / (var(--viewport-max) - var(--viewport-min)), max(-8, -12) * 1px);
  grid-area: 1/1;
  margin-block-start: var(--_margin-block-start);
}

.p-fv__drink {
  --_margin-block-end: clamp(min(16.99, 40) * 1px, 16.99 * 1px + (100dvw - var(--viewport-min) * 1px) * (40 - 16.99) / (var(--viewport-max) - var(--viewport-min)), max(16.99, 40) * 1px);
  --_margin-inline-start: clamp(min(43, 99) * 1px, 43 * 1px + (100dvw - var(--viewport-min) * 1px) * (99 - 43) / (var(--viewport-max) - var(--viewport-min)), max(43, 99) * 1px);
  grid-area: 1/1;
  margin-block-end: var(--_margin-block-end);
  margin-inline-start: var(--_margin-inline-start);
  place-self: end start;
}
.p-fv__drink img {
  --_inline-size: clamp(min(47.257, 111) * 1px, 47.257 * 1px + (100dvw - var(--viewport-min) * 1px) * (111 - 47.257) / (var(--viewport-max) - var(--viewport-min)), max(47.257, 111) * 1px);
  inline-size: var(--_inline-size);
}

.p-fv__food {
  --_margin-block-end: clamp(min(0, 2) * 1px, 0 * 1px + (100dvw - var(--viewport-min) * 1px) * (2 - 0) / (var(--viewport-max) - var(--viewport-min)), max(0, 2) * 1px);
  --_margin-inline-start: clamp(min(0, -2) * 1px, 0 * 1px + (100dvw - var(--viewport-min) * 1px) * (-2 - 0) / (var(--viewport-max) - var(--viewport-min)), max(0, -2) * 1px);
  grid-area: 1/1;
  margin-block-end: var(--_margin-block-end);
  margin-inline-start: var(--_margin-inline-start);
  place-self: end start;
}
.p-fv__food img {
  --_inline-size: clamp(min(54.069, 127) * 1px, 54.069 * 1px + (100dvw - var(--viewport-min) * 1px) * (127 - 54.069) / (var(--viewport-max) - var(--viewport-min)), max(54.069, 127) * 1px);
  inline-size: var(--_inline-size);
}

.p-fv__cats-black {
  --_margin-block-end: clamp(min(58, 61) * 1px, 58 * 1px + (100dvw - var(--viewport-min) * 1px) * (61 - 58) / (var(--viewport-max) - var(--viewport-min)), max(58, 61) * 1px);
  --_margin-inline-end: clamp(min(0, 62) * 1px, 0 * 1px + (100dvw - var(--viewport-min) * 1px) * (62 - 0) / (var(--viewport-max) - var(--viewport-min)), max(0, 62) * 1px);
  animation-delay: 3s;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-name: cat-jump;
  animation-timing-function: ease-in-out;
  grid-area: 1/1;
  margin-block-end: var(--_margin-block-end);
  margin-inline-end: var(--_margin-inline-end);
  place-self: end;
}
.p-fv__cats-black img {
  --_inline-size: clamp(min(62, 170) * 1px, 62 * 1px + (100dvw - var(--viewport-min) * 1px) * (170 - 62) / (var(--viewport-max) - var(--viewport-min)), max(62, 170) * 1px);
  inline-size: var(--_inline-size);
}

.p-fv__cats-brown {
  --_margin-block-end: clamp(min(0, -43) * 1px, 0 * 1px + (100dvw - var(--viewport-min) * 1px) * (-43 - 0) / (var(--viewport-max) - var(--viewport-min)), max(0, -43) * 1px);
  --_margin-inline-end: clamp(min(9, -1) * 1px, 9 * 1px + (100dvw - var(--viewport-min) * 1px) * (-1 - 9) / (var(--viewport-max) - var(--viewport-min)), max(9, -1) * 1px);
  grid-area: 1/1;
  margin-block-end: var(--_margin-block-end);
  margin-inline-end: var(--_margin-inline-end);
  place-self: end;
  position: relative;
  z-index: var(--z-foreground);
}
.p-fv__cats-brown img {
  --_inline-size: clamp(min(98, 233) * 1px, 98 * 1px + (100dvw - var(--viewport-min) * 1px) * (233 - 98) / (var(--viewport-max) - var(--viewport-min)), max(98, 233) * 1px);
  inline-size: var(--_inline-size);
}

.p-fv__bg-img {
  --_block-size: clamp(min(-156, -96) * 1px, -156 * 1px + (100dvw - var(--viewport-min) * 1px) * (-96 - -156) / (var(--viewport-max) - var(--viewport-min)), max(-156, -96) * 1px);
  --_border-radius: 24px;
  block-size: calc(100% + var(--_block-size));
  border-end-end-radius: var(--_border-radius);
  border-end-start-radius: var(--_border-radius);
  inset-block-start: 0;
  inset-inline: 0;
  overflow: hidden;
  position: absolute;
  z-index: var(--z-background);
}
.p-fv__bg-img img {
  block-size: calc(100% + 200px);
  max-block-size: 1004px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 60%;
     object-position: 60%;
}

.p-header-navigation {
  display: block flex;
}
.p-header-navigation.is-mobile {
  background: var(--color-ground-white);
  block-size: 0;
  flex-direction: column;
  inset-block-start: var(--header-block-size, 0);
  inset-inline: 0;
  overflow-y: auto;
  position: fixed;
  transition-duration: 0.5s;
  transition-property: block-size;
  transition-timing-function: var(--ease-out-expo);
}
.p-header-navigation.is-mobile.is-open {
  block-size: calc(100dvb - var(--header-block-size, 0px));
}
.p-header-navigation.is-mobile .p-header-navigation__container {
  align-content: start;
  display: block grid;
  justify-items: center;
  min-block-size: -moz-fit-content;
  min-block-size: fit-content;
  padding-block: 82px;
  padding-inline: 114px;
  row-gap: 40px;
}
.p-header-navigation:not(.is-mobile) .p-header-navigation__container {
  --_column-gap: 12px;
  display: block flex;
  -moz-column-gap: var(--_column-gap);
  align-items: center;
       column-gap: var(--_column-gap);
}
.p-header-navigation:not(.is-mobile) .p-header-navigation__container .p-header-navigation__button {
  margin-inline-start: calc(16px - var(--_column-gap));
}

.p-header-navigation__link {
  font-size: var(--font-size-14);
  font-weight: 400;
  line-height: var(--line-height-14);
  text-decoration: none;
}
.p-header-navigation__link:focus-visible {
  -webkit-text-decoration: revert;
          text-decoration: revert;
}
.p-header-navigation:not(.is-mobile) .p-header-navigation__link {
  font-size: calc(12 * var(--rem-ratio));
  font-weight: 400;
}

.p-header {
  background: var(--color-ground-white);
  padding-block: 18px;
}

.p-header__inner {
  max-inline-size: revert;
}

.p-header__container {
  align-items: center;
  display: block flex;
  justify-content: space-between;
}

.p-header__logo-link:focus-visible {
  color: var(--color-text-base);
}

.p-header__heading svg {
  aspect-ratio: 7.7777777778;
  inline-size: 210px;
}

.p-how-to-enter {
  --_padding-block-start: clamp(min(32, 120) * 1px, 32 * 1px + (100dvw - var(--viewport-min) * 1px) * (120 - 32) / (var(--viewport-max) - var(--viewport-min)), max(32, 120) * 1px);
  --_padding-block-end: clamp(min(20, 5) * 1px, 20 * 1px + (100dvw - var(--viewport-min) * 1px) * (5 - 20) / (var(--viewport-max) - var(--viewport-min)), max(20, 5) * 1px);
  overflow: hidden;
  padding-block: var(--_padding-block-start) var(--_padding-block-end);
  position: relative;
}

.p-how-to-enter__head-wrapper {
  margin-inline: auto;
}

.p-how-to-enter__body {
  --_margin-block-start: clamp(min(32, 39) * 1px, 32 * 1px + (100dvw - var(--viewport-min) * 1px) * (39 - 32) / (var(--viewport-max) - var(--viewport-min)), max(32, 39) * 1px);
  display: block grid;
  justify-items: center;
  margin-block-start: var(--_margin-block-start);
}

.p-how-to-enter__cards {
  display: block grid;
  row-gap: 33px;
}

.p-how-to-enter__card {
  position: relative;
}
.p-how-to-enter__card:not(:first-of-type)::before {
  aspect-ratio: 0.2058823529;
  background-image: url(../svg/step-line-sp.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100%;
  content: "";
  inline-size: 9px;
  inset-block-start: -39px;
  inset-inline: 0;
  margin-inline: auto;
  position: absolute;
}

.p-how-to-enter__button {
  margin-block-start: -1px;
}

.p-how-to-enter__background {
  --_inset-block-start: clamp(min(32, 0) * 1px, 32 * 1px + (100dvw - var(--viewport-min) * 1px) * (0 - 32) / (var(--viewport-max) - var(--viewport-min)), max(32, 0) * 1px);
  inset-block-start: var(--_inset-block-start);
  inset-inline: 0;
  margin-inline: auto;
  max-inline-size: calc(var(--viewport-max) * 1px);
  position: absolute;
  z-index: var(--z-background);
}

.p-how-to-enter__background-container {
  position: relative;
}
.p-how-to-enter__background-container svg:has(use[href="./sprite/sprite.symbol.svg#icon-map"]) {
  --_inset-block-start: clamp(min(0, 60) * 1px, 0 * 1px + (100dvw - var(--viewport-min) * 1px) * (60 - 0) / (var(--viewport-max) - var(--viewport-min)), max(0, 60) * 1px);
  --_inset-inline-start: clamp(min(0, 36) * 1px, 0 * 1px + (100dvw - var(--viewport-min) * 1px) * (36 - 0) / (var(--viewport-max) - var(--viewport-min)), max(0, 36) * 1px);
  --_inline-size: clamp(min(149, 460) * 1px, 149 * 1px + (100dvw - var(--viewport-min) * 1px) * (460 - 149) / (var(--viewport-max) - var(--viewport-min)), max(149, 460) * 1px);
  aspect-ratio: 0.668161435;
  color: var(--color-mono-white);
  inline-size: var(--_inline-size);
  inset-block-start: var(--_inset-block-start);
  inset-inline-start: var(--_inset-inline-start);
  position: absolute;
}
.p-how-to-enter__background-container img[src="./img/cats-tabby@2x.png"] {
  --_inset-block-start: clamp(min(0, 94) * 1px, 0 * 1px + (100dvw - var(--viewport-min) * 1px) * (94 - 0) / (var(--viewport-max) - var(--viewport-min)), max(0, 94) * 1px);
  --_inset-inline-end: clamp(min(24, 231) * 1px, 24 * 1px + (100dvw - var(--viewport-min) * 1px) * (231 - 24) / (var(--viewport-max) - var(--viewport-min)), max(24, 231) * 1px);
  --_inline-size: clamp(min(105, 238) * 1px, 105 * 1px + (100dvw - var(--viewport-min) * 1px) * (238 - 105) / (var(--viewport-max) - var(--viewport-min)), max(105, 238) * 1px);
  aspect-ratio: 1.6666666667;
  inline-size: var(--_inline-size);
  inset-block-start: var(--_inset-block-start);
  inset-inline-end: var(--_inset-inline-end);
  position: absolute;
}
.p-how-to-enter__background-container img[src="./img/cats-gray@2x.png"] {
  --_inset-block-start: clamp(min(5, 104) * 1px, 5 * 1px + (100dvw - var(--viewport-min) * 1px) * (104 - 5) / (var(--viewport-max) - var(--viewport-min)), max(5, 104) * 1px);
  --_inset-inline-end: clamp(min(-31, 105) * 1px, -31 * 1px + (100dvw - var(--viewport-min) * 1px) * (105 - -31) / (var(--viewport-max) - var(--viewport-min)), max(-31, 105) * 1px);
  --_inline-size: clamp(min(94, 214) * 1px, 94 * 1px + (100dvw - var(--viewport-min) * 1px) * (214 - 94) / (var(--viewport-max) - var(--viewport-min)), max(94, 214) * 1px);
  animation-delay: 3s;
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-name: poke-animation;
  animation-timing-function: ease-in-out;
  aspect-ratio: 1.175;
  inline-size: var(--_inline-size);
  inset-block-start: var(--_inset-block-start);
  inset-inline-end: var(--_inset-inline-end);
  position: absolute;
}
.p-how-to-enter__background-container svg:has(use[href="./sprite/sprite.symbol.svg#icon-bg-pawpads"]) {
  --_inline-size: clamp(min(55, 100) * 1px, 55 * 1px + (100dvw - var(--viewport-min) * 1px) * (100 - 55) / (var(--viewport-max) - var(--viewport-min)), max(55, 100) * 1px);
  aspect-ratio: 0.4583333333;
  color: var(--color-sub-gray);
  inline-size: var(--_inline-size);
}

.p-how-to-enter__pawpads-1 {
  --_inset-block-start: clamp(min(74, 268) * 1px, 74 * 1px + (100dvw - var(--viewport-min) * 1px) * (268 - 74) / (var(--viewport-max) - var(--viewport-min)), max(74, 268) * 1px);
  --_inset-inline-end: clamp(min(20, 36) * 1px, 20 * 1px + (100dvw - var(--viewport-min) * 1px) * (36 - 20) / (var(--viewport-max) - var(--viewport-min)), max(20, 36) * 1px);
  inset-inline-end: var(--_inset-inline-end);
  z-index: var(--z-background);
}

.p-how-to-enter__pawpads-1,.p-how-to-enter__pawpads-2 {
  inset-block-start: var(--_inset-block-start);
  position: absolute;
}

.p-how-to-enter__pawpads-2 {
  --_inset-block-start: clamp(min(550, 700) * 1px, 550 * 1px + (100dvw - var(--viewport-min) * 1px) * (700 - 550) / (var(--viewport-max) - var(--viewport-min)), max(550, 700) * 1px);
  --_inset-inline-start: clamp(min(20, 36) * 1px, 20 * 1px + (100dvw - var(--viewport-min) * 1px) * (36 - 20) / (var(--viewport-max) - var(--viewport-min)), max(20, 36) * 1px);
  inset-inline-start: var(--_inset-inline-start);
}

.p-how-to-enter__pawpads-3 {
  --_inset-block-start: clamp(min(880, 1000) * 1px, 880 * 1px + (100dvw - var(--viewport-min) * 1px) * (1000 - 880) / (var(--viewport-max) - var(--viewport-min)), max(880, 1000) * 1px);
  --_inset-inline-end: clamp(min(20, 36) * 1px, 20 * 1px + (100dvw - var(--viewport-min) * 1px) * (36 - 20) / (var(--viewport-max) - var(--viewport-min)), max(20, 36) * 1px);
  inset-block-start: var(--_inset-block-start);
  inset-inline-end: var(--_inset-inline-end);
  position: absolute;
}

.p-prizes {
  --_padding-block-start: clamp(min(39, 148) * 1px, 39 * 1px + (100dvw - var(--viewport-min) * 1px) * (148 - 39) / (var(--viewport-max) - var(--viewport-min)), max(39, 148) * 1px);
  padding-block-start: var(--_padding-block-start);
}

.p-prizes__inner {
  padding-inline: 0;
}

.p-prizes__container {
  display: block grid;
  row-gap: 16px;
}

.p-prizes__head-wrapper {
  position: relative;
  z-index: var(--z-foreground);
}

.p-prizes__head-background {
  inset-block-start: 0;
  inset-inline: 0;
  position: absolute;
}

.p-prizes__head-background-container {
  display: none;
}

.p-prizes__body {
  --_padding-inline: clamp(min(20, 56) * 1px, 20 * 1px + (100dvw - var(--viewport-min) * 1px) * (56 - 20) / (var(--viewport-inner) - var(--viewport-min)), max(20, 56) * 1px);
  --_padding-block-end: clamp(min(35, 53) * 1px, 35 * 1px + (100dvw - var(--viewport-min) * 1px) * (53 - 35) / (var(--viewport-inner) - var(--viewport-min)), max(35, 53) * 1px);
  background: var(--color-ground-white);
  border-radius: 24px;
  display: block grid;
  margin-block-start: -60px;
  padding-block: 60px var(--_padding-block-end);
  padding-inline: var(--_padding-inline);
  position: relative;
}
.p-prizes__body::before {
  --_block-size: clamp(min(83, 110) * 1px, 83 * 1px + (100dvw - var(--viewport-min) * 1px) * (110 - 83) / (var(--viewport-breakpoint) - var(--viewport-min)), max(83, 110) * 1px);
  aspect-ratio: 2.8674698795;
  background-image: url(../svg/bg-title-halfcircle-sp.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  block-size: var(--_block-size);
  content: "";
  inset-block-start: 0;
  inset-inline: 0;
  margin-inline: auto;
  position: absolute;
  translate: 0 calc(-100% + 1px);
}

.p-prizes__lead {
  margin-block-start: 1px;
  text-align: center;
}

.p-prizes__cards {
  --_row-gap: clamp(min(16, 42) * 1px, 16 * 1px + (100dvw - var(--viewport-min) * 1px) * (42 - 16) / (var(--viewport-breakpoint) - var(--viewport-min)), max(16, 42) * 1px);
  --_column-gap: clamp(min(15, 32) * 1px, 15 * 1px + (100dvw - var(--viewport-min) * 1px) * (32 - 15) / (var(--viewport-breakpoint) - var(--viewport-min)), max(15, 32) * 1px);
  --_margin-block-start: clamp(min(23, 33) * 1px, 23 * 1px + (100dvw - var(--viewport-min) * 1px) * (33 - 23) / (var(--viewport-breakpoint) - var(--viewport-min)), max(23, 33) * 1px);
  display: block flex;
  flex-wrap: wrap;
  gap: var(--_row-gap) var(--_column-gap);
  justify-content: center;
  margin-block-start: var(--_margin-block-start);
}

.p-prizes__cards-top-content {
  display: contents;
}

.p-prizes__cards-content {
  display: contents;
}

.p-prizes__card {
  --_column: 2;
  flex-basis: calc((100% - var(--_column-gap) * (var(--_column) - 1)) / var(--_column));
}

.p-prizes__button {
  --_margin-block-start: clamp(min(18, 40) * 1px, 18 * 1px + (100dvw - var(--viewport-min) * 1px) * (40 - 18) / (var(--viewport-max) - var(--viewport-min)), max(18, 40) * 1px);
  margin-block-start: var(--_margin-block-start);
  margin-inline: auto;
}

.p-prizes__background {
  --_margin-block-start: clamp(min(-44, 0) * 1px, -44 * 1px + (100dvw - var(--viewport-min) * 1px) * (0 - -44) / (var(--viewport-max) - var(--viewport-min)), max(-44, 0) * 1px);
  margin-block-start: var(--_margin-block-start);
  overflow: hidden;
  position: relative;
  z-index: var(--z-background);
}

.p-prizes__bg-image {
  aspect-ratio: 1.4423076923;
  display: block flow;
  max-block-size: 640px;
  position: relative;
}
.p-prizes__bg-image::after {
  background: linear-gradient(180deg, #e9f6f8 0%, rgba(255, 255, 255, 0.6) 51.04%);
  content: "";
  inset: 0;
  position: absolute;
}
.p-prizes__bg-image img {
  block-size: calc(100% + 200px);
  max-block-size: 840px;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-qa {
  --_padding-block-start: clamp(min(40, 120) * 1px, 40 * 1px + (100dvw - var(--viewport-min) * 1px) * (120 - 40) / (var(--viewport-max) - var(--viewport-min)), max(40, 120) * 1px);
  --_padding-block-end: clamp(min(31, 120) * 1px, 31 * 1px + (100dvw - var(--viewport-min) * 1px) * (120 - 31) / (var(--viewport-max) - var(--viewport-min)), max(31, 120) * 1px);
  margin-block-start: 46px;
  padding-block: var(--_padding-block-start) var(--_padding-block-end);
}

.p-qa__container {
  --_row-gap: clamp(min(24, 40) * 1px, 24 * 1px + (100dvw - var(--viewport-min) * 1px) * (40 - 24) / (var(--viewport-max) - var(--viewport-min)), max(24, 40) * 1px);
}

.p-qa__container,.p-qa__body {
  display: block grid;
  row-gap: var(--_row-gap);
}

.p-qa__body {
  --_row-gap: clamp(min(12, 24) * 1px, 12 * 1px + (100dvw - var(--viewport-min) * 1px) * (24 - 12) / (var(--viewport-max) - var(--viewport-min)), max(12, 24) * 1px);
}

.p-spots-scroll {
  margin-block-start: 24px;
}

.p-spots-scroll__slider {
  position: relative;
}
.p-spots-scroll__slider .swiper-slide {
  block-size: auto;
}
.p-spots-scroll__navigation .swiper-button-prev,
.p-spots-scroll__navigation .swiper-button-next {
  display: none;
}

.p-spots {
  background: var(--color-sub-deep);
  position: relative;
}

.p-spots__head {
  display: block flex;
  flex-shrink: 0;
  -moz-column-gap: 8px;
  color: var(--color-text-light);
       column-gap: 8px;
  font-family: var(--_font-family-ja-alt);
  font-feature-settings: "pwid" on;
  font-size: var(--font-size-28-40);
  font-weight: 500;
  justify-content: center;
  line-height: var(--line-height-28-125);
  place-items: center;
}
.p-spots__head svg {
  --_inline-size: clamp(min(28, 56) * 1px, 28 * 1px + (100dvw - var(--viewport-min) * 1px) * (56 - 28) / (var(--viewport-max) - var(--viewport-min)), max(28, 56) * 1px);
  aspect-ratio: 1;
  color: var(--color-accent-yellow);
  inline-size: var(--_inline-size);
}

.p-spots__card {
  block-size: 100%;
}

.p-spots__container2 {
  padding-block-end: 20px;
  text-align: center;
}

.p-spots__bg-spots {
  grid-area: spots;
}
.p-spots__bg-spots svg {
  --_inline-size: clamp(min(255, 495) * 1px, 255 * 1px + (100dvw - var(--viewport-min) * 1px) * (495 - 255) / (var(--viewport-max) - var(--viewport-min)), max(255, 495) * 1px);
  aspect-ratio: 4.6363636364;
  color: var(--color-text-light);
  inline-size: var(--_inline-size);
  margin-inline: auto;
}

.p-spots__lead {
  --_font-size: clamp(min(11, 16) * var(--rem-ratio), 11 * var(--rem-ratio) + (100dvw - var(--viewport-min) * 1px) * (16 - 11) / (var(--viewport-inner) - var(--viewport-min)), max(11, 16) * var(--rem-ratio));
  color: var(--color-text-light);
  font-size: var(--font-size-11-16);
  font-weight: 400;
  grid-area: lead;
  line-height: var(--line-height-11);
  margin-block-start: 16px;
  text-align: center;
}

.p-spots__button {
  grid-area: button;
  margin-block-start: 24px;
}

.p-spots__background {
  display: none;
}

.u-display-inline-block {
  display: inline flow-root;
}

.u-fixed-notice__dialog {
  background: var(--color-ground-white);
  border-radius: 24px;
  inline-size: min(336px, 100dvi);
  inset: 0;
  margin: auto;
  max-block-size: 100dvb;
  overflow-y: auto;
  position: fixed;
  z-index: var(--z-dev-tools);
}

.u-fixed-notice__container {
  align-items: start;
  display: block grid;
  grid-template-areas: "headline" "description" "thumbnail";
  inline-size: 100%;
  padding-block-start: 20px;
}

.u-fixed-notice__headline {
  font-feature-settings: "pref" on;
  font-size: var(--font-size-16);
  font-weight: 700;
  grid-area: headline;
  line-height: var(--line-height-16);
  padding-inline: 20px;
  text-align: center;
}

.u-fixed-notice__description {
  color: var(--color-text-dark);
  font-size: var(--font-size-12);
  font-weight: 400;
  grid-area: description;
  line-break: strict;
  line-height: var(--line-height-12);
  margin-block-start: 12px;
  overflow-wrap: anywhere;
  padding-inline: 20px;
  word-break: keep-all;
}
.u-fixed-notice__description * + * {
  margin-block-start: 1lh;
}

.u-fixed-notice__thumbnail {
  grid-area: thumbnail;
  position: relative;
}

.u-fixed-notice__thumbnail-image img {
  -o-object-fit: cover;
     object-fit: cover;
}

.u-fixed-notice__sns {
  inset-block-start: 0;
  inset-inline-end: 40px;
  position: absolute;
}

.u-fixed-notice__sns-link {
  display: inline flow-root;
  inline-size: 40px;
}

.u-flip-x {
  scale: -1 1;
}

.u-flip-y {
  scale: 1 -1;
}

.u-flip-xy {
  scale: -1 -1;
}

.u-hidden {
  display: none;
}

.u-margin-inline-start-5 {
  margin-inline-start: 5px;
}

.u-paragraph {
  content: "";
  display: block flow;
  margin-block-start: 1lh;
}

.u-separate {
  border: 1px solid;
  margin-block: var(--spacing-lg);
}

@media not screen and (min-width: 576px){
  .u-hidden-sm-down {
    display: none;
  }
}

@media screen and (min-width: 576px){
  .p-fv__gift-promotion {
    --_margin-inline-end: clamp(min(10, 126) * 1px, 10 * 1px + (100dvw - 576 * 1px) * (126 - 10) / (var(--viewport-max) - 576), max(10, 126) * 1px);
  }
  .u-hidden-sm-up {
    display: none;
  }
}

@media not screen and (min-width: 768px){
  .u-hidden-md-down {
    display: none;
  }
}

@media screen and (min-width: 768px){
  .u-hidden-md-up {
    display: none;
  }
}

@media not screen and (min-width: 900px){
  .u-hidden-down {
    display: none;
  }
}

@media screen and (any-hover: hover) and (min-width: 900px){
  .p-spots-scroll__navigation .swiper-button-prev:hover:not(:disabled),
  .p-spots-scroll__navigation .swiper-button-next:hover:not(:disabled) {
    padding-inline-start: 10px;
  }
}

@media screen and (min-width: 900px){
  :where(body) {
    line-height: var(--line-height-16);
  }
  :where([type=text i], [type=email i], [type=tel i], [type=url i], [type=search i], [type=password i]) {
    --_padding-block: calc(16px - var(--_border-width) - 1px) calc(16px - var(--_border-width) - 1px);
    line-height: var(--line-height-16);
  }
  :where(textarea) {
    line-height: var(--line-height-16);
  }
  :where(select) {
    --_padding-block: calc(16px - var(--_border-width) - 1px) calc(16px - var(--_border-width) - 1px);
    line-height: var(--line-height-16);
  }
  .form__note {
    line-height: var(--line-height-16);
  }
  .form__fields {
    margin-block-start: 40px;
  }
  .form__field {
    grid-template-columns: 220fr 628fr;
  }
  .form__field.-radio {
    padding-block: 15px;
  }
  .form__label {
    font-feature-settings: "pref" on;
    line-height: var(--line-height-16);
  }
  .form__radios {
    padding-inline-start: 2px;
  }
  .form__radio-label {
    line-height: var(--line-height-16);
  }
  .form__radio-label:where(.form__radio:has([type=radio i]:checked) *) {
    font-feature-settings: "pref" on;
  }
  .form__checkbox-label {
    line-height: var(--line-height-16);
  }
  .form__privacy-field {
    margin-block-start: 40px;
  }
  .form__actions {
    margin-block-start: 40px;
  }
  details {
    border-radius: 16px;
  }
  summary {
    line-height: var(--line-height-20);
  }
  .c-accordion__label {
    line-height: var(--line-height-32-125);
  }
  .c-accordion__toggle::before, .c-accordion__toggle::after {
    block-size: 3px;
  }
  .c-accordion__content {
    line-height: var(--line-height-16);
  }
  .c-button.-header {
    font-size: var(--font-size-14);
    line-height: var(--line-height-14);
  }
  .c-button.-fv {
    line-height: var(--line-height-16);
  }
  .c-button.-about {
    --_border-width: 3;
    line-height: var(--line-height-20);
  }
  .c-button.-how-to-enter, .c-button.-prizes, .c-button.-spots {
    --_border-width: 3;
    line-height: var(--line-height-20);
    padding-block: calc((12 - var(--_border-width)) * 1px) calc((12 - var(--_border-width)) * 1px);
    padding-inline: calc((40 - var(--_border-width)) * 1px);
  }
  .c-follow-button__container svg {
    inline-size: 24px;
  }
  .c-follow-button__container span {
    font-feature-settings: "pref" on;
    line-height: var(--line-height-16);
  }
  .c-fv-card {
    border-radius: 16px;
  }
  .c-fv-card__title {
    line-height: var(--line-height-16);
  }
  .c-fv-card__label {
    border-bottom-width: 3px;
    line-height: var(--line-height-14);
    padding-block-end: 1px;
  }
  .c-fv-card__period {
    line-height: var(--line-height-16);
    margin-block-start: 4px;
  }
  .c-heading__pre {
    line-height: var(--line-height-20-125);
  }
  .c-heading__head {
    line-height: var(--line-height-32-125);
    margin-block-start: 2px;
  }
  .c-how-to-enter-card__title {
    line-height: var(--line-height-20);
  }
  .c-how-to-enter-card__text {
    line-height: var(--line-height-16);
  }
  .c-pagetop span {
    line-height: var(--line-height-12-110);
  }
  .c-pagetop.-fixed {
    display: block grid;
    inset-block-end: 40px;
    inset-inline-end: 37px;
    margin-block: revert;
    margin-inline: revert;
    position: fixed;
    z-index: var(--z-floating);
  }
  .p-pagetop_img img {
    aspect-ratio: 0.9722222222;
  }
  .c-prizes-card.-top {
    --_icon-inline-size: clamp(min(46, 96) * 1px, 46 * 1px + (100dvw - var(--viewport-min) * 1px) * (96 - 46) / (var(--viewport-inner) - var(--viewport-min)), max(46, 96) * 1px);
  }
  .c-prizes-card__container {
    --_border-radius: 16;
  }
  .c-prizes-card__container:where(.c-prizes-card.-top *) {
    --_border-radius: 24;
  }
  .c-prizes-card__title {
    line-height: var(--line-height-16);
  }
  .c-prizes-card__title:where(.c-prizes-card.-top *) {
    --_padding-block-start: clamp(min(10, 29) * 1px, 10 * 1px + (100dvw - var(--viewport-min) * 1px) * (29 - 10) / (var(--viewport-inner) - var(--viewport-min)), max(10, 29) * 1px);
    --_padding-block-end: clamp(min(8, 27) * 1px, 8 * 1px + (100dvw - var(--viewport-min) * 1px) * (27 - 8) / (var(--viewport-inner) - var(--viewport-min)), max(8, 27) * 1px);
    font-size: var(--font-size-12-20);
    line-height: var(--line-height-20);
    padding-block: var(--_padding-block-start) var(--_padding-block-end);
  }
  .c-prizes-card__thumbnail img {
    aspect-ratio: 1.1666666667;
  }
  .c-prizes-card__thumbnail:where(.c-prizes-card.-top *) img {
    aspect-ratio: 1.2941176471;
  }
  .c-prizes-card__icon {
    padding-block-start: 2px;
  }
  .c-prizes-card__icon span:nth-of-type(1) {
    line-height: 1.7692307692;
  }
  .c-prizes-card__icon span:nth-of-type(2) {
    margin-block-start: 1px;
  }
  .c-prizes-card__icon:where(.c-prizes-card.-top *) {
    padding-block-start: revert;
  }
  .c-prizes-card__icon:where(.c-prizes-card.-top *) span:nth-of-type(1) {
    font-size: var(--font-size-8-16);
    line-height: 1.75;
  }
  .c-prizes-card__icon:where(.c-prizes-card.-top *) span:nth-of-type(1) {
    line-height: 1.75;
  }
  .c-prizes-card__icon:where(.c-prizes-card.-top *) span:nth-of-type(2) {
    font-size: var(--font-size-23-48);
    line-height: 1;
    margin-block-start: 1px;
  }
  .c-prizes-card__label:where(.c-prizes-card.-top *)::before {
    --_inline-size: clamp(min(36, 100) * 1px, 36 * 1px + (100dvw - var(--viewport-min) * 1px) * (100 - 36) / (var(--viewport-inner) - var(--viewport-min)), max(36, 100) * 1px);
    inline-size: var(--_inline-size);
  }
  .c-prizes-card__label:where(.c-prizes-card.-top *) svg {
    --_inset-block-end: clamp(min(5.12, 11) * 1px, 5.12 * 1px + (100dvw - var(--viewport-min) * 1px) * (11 - 5.12) / (var(--viewport-inner) - var(--viewport-min)), max(5.12, 11) * 1px);
    --_inset-inline-end: clamp(min(4.22, 10.5) * 1px, 4.22 * 1px + (100dvw - var(--viewport-min) * 1px) * (10.5 - 4.22) / (var(--viewport-inner) - var(--viewport-min)), max(4.22, 10.5) * 1px);
    --_inline-size: clamp(min(13.52, 38) * 1px, 13.52 * 1px + (100dvw - var(--viewport-min) * 1px) * (38 - 13.52) / (var(--viewport-inner) - var(--viewport-min)), max(13.52, 38) * 1px);
    inline-size: var(--_inline-size);
    inset-block-end: var(--_inset-block-end);
    inset-inline-end: var(--_inset-inline-end);
  }
  .c-prizes-modal {
    block-size: min(650px, 100dvb);
    inline-size: min(480px, 100dvi);
  }
  .c-prizes-modal__container {
    padding-block-end: 40px;
  }
  .c-prizes-modal__headline {
    font-size: var(--font-size-20);
    line-height: var(--line-height-20);
    margin-block-start: 32px;
    padding-inline: 40px;
  }
  .c-prizes-modal__description {
    font-size: var(--font-size-16);
    line-height: var(--line-height-16);
    padding-inline: 40px;
  }
  .c-prizes-modal__thumbnail img {
    aspect-ratio: 1.6;
  }
  .c-prizes-modal__button {
    margin-block-start: 24px;
  }
  .c-spots-card {
    border-radius: 24px;
    padding-block-end: 40px;
  }
  .c-spots-card__headline {
    line-height: var(--line-height-20);
  }
  .c-spots-card__description {
    line-height: var(--line-height-16);
  }
  .c-spots-card__thumbnail img {
    aspect-ratio: 1.4333333333;
  }
  .c-wave-background {
    --_block-size: 121px;
    background-image: url('data:image/svg+xml;utf8,<svg width="252" height="121" viewBox="0 0 252 121" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M130.2 0.84375C70.19 0.843703 60.48 32.6619 0 32.662V120.844H252V32.662C191.52 32.662 190.21 0.843797 130.2 0.84375Z" fill="%2367b0c7"/></svg>');
    background-position: -4px;
  }
  .p-about-scroll__head {
    margin-inline-start: -5px;
  }
  .p-about-scroll__head img {
    aspect-ratio: 8.93;
  }
  .p-about-scroll__slider {
    margin-block-start: -9px;
  }
  .p-about-scroll__slider .swiper-slide img {
    border-radius: 24px;
  }
  .p-about__container {
    border-radius: 40px;
  }
  .p-about__lead {
    font-feature-settings: "pref" on;
    line-height: var(--line-height-16);
  }
  .p-about__text {
    line-height: var(--line-height-16);
  }
  .p-about__gift-text {
    line-height: var(--line-height-20);
  }
  .p-about__background-container svg:has(use[href="./sprite/sprite.symbol.svg#icon-bg-pawpads"]) {
    aspect-ratio: 0.4545454545;
  }
  .p-about__photo-l {
    border-radius: 40px;
  }
  .p-about__hill::before {
    content: revert;
  }
  .p-about__hill img {
    aspect-ratio: 0.5226438188;
  }
  .p-about__photo-r {
    border-radius: 40px;
  }
  .p-contact {
    padding-block: 120px;
  }
  .p-contact__inner {
    max-inline-size: 848px;
  }
  .p-contact__form {
    margin-block-start: 32px;
  }
  .p-entry-requirements__info-row {
    grid-template-columns: 240fr 672fr;
    padding-block-end: calc((12 - var(--_border-width)) * 1px);
  }
  .p-entry-requirements__item-title {
    line-height: var(--line-height-16);
    margin-inline-start: 16px;
  }
  .p-entry-requirements__item-content {
    line-height: var(--line-height-16);
  }
  .p-entry-requirements__bg-entry {
    aspect-ratio: 3.78;
  }
  .p-footer {
    padding-block-start: 120px;
  }
  .p-footer__container {
    padding-block-end: 120px;
  }
  .p-footer__heading {
    line-height: var(--line-height-24-125);
  }
  .p-footer__sns {
    margin-block-start: 24px;
  }
  .p-footer__sns-link svg {
    inline-size: 40px;
  }
  .p-footer__sns-link.-youtube svg {
    inline-size: 34px;
    margin-block-start: 2px;
    margin-inline: 3px;
  }
  .p-footer__onomichi {
    margin-block-start: 41px;
  }
  .p-footer__onomichi img {
    aspect-ratio: 8.8571428571;
    inline-size: 744px;
  }
  .p-footer__organizer {
    grid-template-areas: "company-info map";
    grid-template-columns: repeat(2, 1fr);
    margin-block-start: -5px;
    max-inline-size: revert;
    padding-block-end: revert;
  }
  .p-footer__map {
    aspect-ratio: 1.28;
  }
  .p-footer__company-info {
    align-content: center;
  }
  .p-footer__logo {
    justify-self: start;
  }
  .p-footer__logo svg {
    aspect-ratio: 7.625;
    inline-size: 183px;
  }
  .p-footer__table {
    border-spacing: 0 12px;
    margin-block: -24px -12px;
  }
  .p-footer__table th {
    line-height: var(--line-height-16);
    min-inline-size: 120px;
  }
  .p-footer__table td {
    line-height: var(--line-height-16);
  }
  .p-footer_copy-container {
    margin-block-start: 120px;
    padding-block-end: 32px;
  }
  .p-footer__copy {
    line-height: var(--line-height-14);
  }
  .p-footer__background {
    --_inset-block-start: clamp(min(20, 80) * 1px, 20 * 1px + (100dvw - var(--viewport-breakpoint) * 1px) * (80 - 20) / (var(--viewport-max) - var(--viewport-breakpoint)), max(20, 80) * 1px);
    --_inset-inline-end: clamp(min(calc(var(--viewport-breakpoint) / 2 - 20), calc(var(--viewport-max) / 2 - 80)) * 1px, calc(var(--viewport-breakpoint) / 2 - 20) * 1px + (100dvw - var(--viewport-breakpoint) * 1px) * (calc(var(--viewport-max) / 2 - 80) - calc(var(--viewport-breakpoint) / 2 - 20)) / (var(--viewport-max) - var(--viewport-breakpoint)), max(calc(var(--viewport-breakpoint) / 2 - 20), calc(var(--viewport-max) / 2 - 80)) * 1px);
    display: block flow;
    inset-block-start: var(--_inset-block-start);
    inset-inline-end: calc(50% - var(--_inset-inline-end));
    position: absolute;
  }
  .p-footer__background svg {
    aspect-ratio: 0.4545454545;
    color: var(--color-sub-gray);
    inline-size: 100px;
  }
  .p-fv__heading-pre {
    font-weight: 500;
    line-height: var(--line-height-24-125);
  }
  .p-fv__heading-main svg:nth-of-type(1) {
    aspect-ratio: 6.3414634146;
  }
  .p-fv__heading-main svg:nth-of-type(2) {
    aspect-ratio: 5.9333333333;
  }
  .p-fv__speech-bubble-text span {
    margin-inline-end: -3px;
  }
  .p-fv__speech-bubble-bubble svg {
    aspect-ratio: 1.8769230769;
  }
  .p-fv__gift-promotion-text span:nth-of-type(1) {
    line-height: var(--line-height-16);
  }
  .p-fv__gift-promotion-text span:nth-of-type(2) {
    line-height: 1.2439807384;
  }
  .p-fv__gift-promotion-text span:nth-of-type(3) {
    line-height: var(--line-height-16);
  }
  .p-fv__gift-promotion-text span:nth-of-type(4) {
    line-height: var(--line-height-16);
  }
  .p-fv__gift-promotion-text span:nth-of-type(5) {
    line-height: var(--line-height-24);
  }
  .p-fv__bg-img {
    --_border-radius: 40px;
  }
  .p-header {
    padding-block: 14px;
  }
  .p-header__heading svg {
    aspect-ratio: 7.625;
    inline-size: 183px;
  }
  .p-how-to-enter {
    margin-block-start: revert;
  }
  .p-how-to-enter__body {
    row-gap: 32px;
  }
  .p-how-to-enter__cards {
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 37px;
         column-gap: 37px;
  }
  .p-how-to-enter__card:not(:first-of-type)::before {
    aspect-ratio: 4.52;
    background-image: url(../svg/step-line-pc.svg);
    inline-size: 113px;
    inset-block: revert;
    inset-inline: revert;
    margin-inline: revert;
  }
  .p-how-to-enter__card {
    margin-block-start: 1px;
  }
  .p-how-to-enter__card:nth-of-type(2) {
    margin-block-start: 69px;
  }
  .p-how-to-enter__card:nth-of-type(2)::before {
    inset-block-start: 136px;
    inset-inline-start: -100px;
  }
  .p-how-to-enter__card:nth-of-type(3)::before {
    inset-block-start: 204px;
    inset-inline-start: -90px;
  }
  .p-how-to-enter__button {
    margin-block-start: revert;
  }
  .p-how-to-enter__background-container svg:has(use[href="./sprite/sprite.symbol.svg#icon-map"]) {
    aspect-ratio: 0.6676342525;
  }
  .p-how-to-enter__background-container img[src="./img/cats-tabby@2x.png"] {
    aspect-ratio: 1.6879432624;
  }
  .p-how-to-enter__background-container img[src="./img/cats-gray@2x.png"] {
    aspect-ratio: 1.182320442;
  }
  .p-how-to-enter__background-container svg:has(use[href="./sprite/sprite.symbol.svg#icon-bg-pawpads"]) {
    aspect-ratio: 0.4545454545;
  }
  .p-how-to-enter__pawpads-3 {
    display: none;
  }
  .p-prizes__container {
    row-gap: 40px;
  }
  .p-prizes__head-background-container {
    display: block flex;
    justify-content: space-between;
    margin-inline: auto;
    max-inline-size: calc(var(--viewport-inner) * 1px);
    position: relative;
  }
  .p-prizes__head-background-container svg {
    aspect-ratio: 3.6627906977;
    color: var(--color-sub-gray);
    inline-size: 315px;
  }
  .p-prizes__body {
    margin-block-start: -64px;
    padding-block-start: 64px;
  }
  .p-prizes__body::before {
    --_block-size: clamp(min(140, 149) * 1px, 140 * 1px + (100dvw - var(--viewport-breakpoint) * 1px) * (149 - 140) / (var(--viewport-inner) - var(--viewport-breakpoint)), max(140, 149) * 1px);
    aspect-ratio: 2.4563758389;
    background-image: url(../svg/bg-title-halfcircle-pc.svg);
  }
  .p-prizes__cards {
    display: revert;
  }
  .p-prizes__cards-top-content {
    display: block flex;
    -moz-column-gap: 32px;
         column-gap: 32px;
    justify-content: space-between;
  }
  .p-prizes__cards-content {
    display: block flex;
    -moz-column-gap: 36px;
         column-gap: 36px;
    justify-content: space-between;
    margin-block-start: 42px;
  }
  .p-prizes__card {
    flex-basis: revert;
  }
  .p-prizes__bg-image {
    aspect-ratio: 2.3625;
  }
  .p-qa {
    margin-block-start: 120px;
  }
  .p-spots-scroll {
    margin-block-end: -24px;
    margin-block-start: revert;
  }
  .p-spots-scroll__inner {
    margin-inline-start: -48px;
  }
  .p-spots-scroll__slider {
    overflow: hidden;
    padding-block-end: 24px;
    padding-inline-start: 48px;
  }
  .p-spots-scroll__slider .swiper {
    inline-size: 1472px;
  }
  .p-spots-scroll__navigation {
    --swiper-navigation-top-offset: calc(100% - 58px);
    --swiper-navigation-sides-offset: 0px;
    --swiper-navigation-color: var(--color-main);
    inset-block-end: 0;
    inset-inline: 0;
    margin-inline-end: calc(34px + var(--horizontal-spacing));
    max-inline-size: 944px;
    position: absolute;
  }
  .p-spots-scroll__navigation .swiper-button-prev,
  .p-spots-scroll__navigation .swiper-button-next {
    aspect-ratio: 1;
    background: var(--color-accent-yellow);
    block-size: auto;
    border-radius: calc(infinity * 1px);
    display: block flex;
    inline-size: 80px;
    transition-duration: 0.5s;
    transition-property: padding-inline-start;
    transition-timing-function: var(--ease-out-expo);
  }
  .p-spots-scroll__navigation .swiper-button-prev:focus-visible,
  .p-spots-scroll__navigation .swiper-button-next:focus-visible {
    padding-inline-start: 10px;
  }
  .p-spots-scroll__navigation .swiper-button-prev::before, .p-spots-scroll__navigation .swiper-button-prev::after,
  .p-spots-scroll__navigation .swiper-button-next::before,
  .p-spots-scroll__navigation .swiper-button-next::after {
    content: none;
  }
  .p-spots-scroll__navigation .swiper-button-prev svg,
  .p-spots-scroll__navigation .swiper-button-next svg {
    aspect-ratio: 1;
    block-size: auto;
    inline-size: 58px;
  }
  .p-spots {
    padding-block-end: 3px;
  }
  .p-spots__inner {
    padding-inline-start: max(var(--horizontal-spacing), 50% - var(--viewport-inner) / 2 * 1px);
  }
  .p-spots__container {
    display: block flex;
    -moz-column-gap: 32px;
         column-gap: 32px;
  }
  .p-spots__head {
    -moz-column-gap: 16px;
         column-gap: 16px;
    justify-content: revert;
    letter-spacing: 10px;
    line-height: var(--line-height-40-125);
    writing-mode: vertical-rl;
  }
  .p-spots__head .-adjust {
    inset-block-start: 5px;
    inset-inline-start: 5px;
    position: relative;
  }
  .p-spots__container2 {
    display: block grid;
    grid-template-areas: "spots lead" "spots button";
    grid-template-columns: 1fr auto;
    -moz-column-gap: 16px;
         column-gap: 16px;
    margin-block-start: 64px;
    padding-block-end: revert;
  }
  .p-spots__bg-spots svg {
    aspect-ratio: 4.6261682243;
    inline-size: 495px;
    margin-inline: revert;
  }
  .p-spots__lead {
    line-height: var(--line-height-16);
    margin-block-start: unset;
  }
  .p-spots__button {
    justify-self: end;
    margin-block-end: 1px;
  }
  .p-spots__background {
    --_inset-inline-start: clamp(min(500, 720) * 1px, 500 * 1px + (100dvw - var(--viewport-breakpoint) * 1px) * (720 - 500) / (var(--viewport-max) - var(--viewport-breakpoint)), max(500, 720) * 1px);
    display: block flow;
    inset-block-end: 0;
    inset-inline-start: calc(50% - var(--_inset-inline-start));
    position: absolute;
  }
  .p-spots__background svg {
    aspect-ratio: 0.4545454545;
    color: var(--color-main);
    inline-size: 100px;
  }
  .u-fixed-notice__dialog {
    inline-size: min(480px, 100dvi);
  }
  .u-fixed-notice__headline {
    font-size: var(--font-size-20);
    line-height: var(--line-height-20);
    margin-block-start: 32px;
    padding-inline: 40px;
  }
  .u-fixed-notice__description {
    font-size: var(--font-size-16);
    line-height: var(--line-height-16);
    padding-inline: 40px;
  }
  .u-hidden-up {
    display: none;
  }
}

@media not screen and (min-width: 1024px){
  .u-hidden-lg-down {
    display: none;
  }
}

@media screen and (min-width: 1024px){
  .u-hidden-lg-up {
    display: none;
  }
}

@media not screen and (min-width: 1280px){
  .u-hidden-xl-down {
    display: none;
  }
}

@media screen and (min-width: 1280px){
  .u-hidden-xl-up {
    display: none;
  }
}

@media screen and (min-width: 1512px){
  .p-entry-requirements__bg-entry {
    aspect-ratio: revert;
  }
  .p-prizes__bg-image {
    aspect-ratio: revert;
  }
}

@media (any-hover: hover){
  :where(a):hover:not(:disabled) {
    color: var(--color-link-text);
  }
  .c-button:hover:not(:disabled) {
    background-color: var(--color-button-ground-hover);
    color: var(--color-text-base);
  }
  .c-pagetop:hover:not(:disabled) {
    animation-duration: 0.8s;
    animation-name: bounce;
    animation-timing-function: ease-out;
  }
  .c-prizes-card__container:where(.c-prizes-card:hover:not(:disabled) *)::after {
    border-color: var(--color-main);
  }
  .c-prizes-card__thumbnail img:where(.c-prizes-card:hover:not(:disabled) *) {
    scale: 1.2;
  }
  .c-prizes-card__label:where(.c-prizes-card:hover:not(:disabled) *)::before {
    background-color: var(--color-main);
  }
  .p-header-navigation__link:hover:not(:disabled) {
    -webkit-text-decoration: revert;
            text-decoration: revert;
  }
  .p-header__logo-link:hover:not(:disabled) {
    color: var(--color-text-base);
  }
}

@media (prefers-reduced-motion: no-preference){
  :where(html:focus-within) {
    scroll-behavior: smooth;
  }
  :where(html:focus-within) {
    scroll-behavior: auto;
  }
}

@media (prefers-reduced-motion: no-preference) and (scripting: enabled){
  [data-scroll-animation] {
    transition-duration: var(--_duration);
    transition-property: var(--_property);
    transition-timing-function: var(--_timing-function);
  }
}

@media (prefers-reduced-motion: reduce){
  *,
  ::before,
  ::after,
  ::backdrop {
    animation-delay: 0s !important;
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    background-attachment: scroll !important;
    scroll-behavior: auto !important;
    transition-delay: 0s !important;
    transition-duration: 1ms !important;
  }
}