/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com (Legacy Compatible Version) */

/* =========================================
   Theme
   ========================================= */
:root, :host {
  --font-sans: 'Noto Sans JP', sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --color-red-500: #ef4444;
  --color-yellow-50: #fefce8;
  --color-yellow-500: #eab308;
  --color-gray-50: #ebeced;
  --color-gray-100: #f3f4f6;
  --color-gray-400: #9ca3af;
  --color-gray-500: #6b7280;
  --color-gray-600: #4b5563;
  --color-gray-700: #374151;
  --color-black: #000;
  --color-white: #ffffff;
  --spacing: 0.25rem;
  --text-xs: 0.75rem;
  --text-xs--line-height: calc(1 / 0.75);
  --text-sm: 0.875rem;
  --text-sm--line-height: calc(1.25 / 0.875);
  --text-lg: 1.125rem;
  --text-lg--line-height: calc(1.75 / 1.125);
  --text-xl: 1.25rem;
  --text-xl--line-height: calc(1.75 / 1.25);
  --text-2xl: 1.5rem;
  --text-2xl--line-height: calc(2 / 1.5);
  --text-3xl: 1.875rem;
  --text-3xl--line-height: calc(2.25 / 1.875);
  --font-weight-normal: 400;
  --font-weight-bold: 700;
  --leading-loose: 2;
  --radius-lg: 0.5rem;
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --default-transition-duration: 150ms;
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  --default-font-family: var(--font-sans);
  --default-mono-font-family: var(--font-mono);
}

/* =========================================
   Base
   ========================================= */
*, ::after, ::before, ::backdrop, ::file-selector-button {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0 solid;
}
html, :host {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  tab-size: 4;
  font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
  font-feature-settings: var(--default-font-feature-settings, normal);
  font-variation-settings: var(--default-font-variation-settings, normal);
  -webkit-tap-highlight-color: transparent;
}
hr {
  height: 0;
  color: inherit;
  border-top-width: 1px;
}
abbr[title] {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}
h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
}
a {
  color: inherit;
  -webkit-text-decoration: inherit;
  text-decoration: inherit;
}
b, strong {
  font-weight: bolder;
}
code, kbd, samp, pre {
  font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
  font-feature-settings: var(--default-mono-font-feature-settings, normal);
  font-variation-settings: var(--default-mono-font-variation-settings, normal);
  font-size: 1em;
}
small {
  font-size: 80%;
}
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
table {
  text-indent: 0;
  border-color: inherit;
  border-collapse: collapse;
}
:-moz-focusring {
  outline: auto;
}
progress {
  vertical-align: baseline;
}
summary {
  display: list-item;
}
ol, ul, menu {
  list-style: none;
}
img, svg, video, canvas, audio, iframe, embed, object {
  display: block;
  vertical-align: middle;
}
img, video {
  max-width: 100%;
  height: auto;
}
button, input, select, optgroup, textarea, ::file-selector-button {
  font: inherit;
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  letter-spacing: inherit;
  color: inherit;
  border-radius: 0;
  background-color: transparent;
  opacity: 1;
}

select[multiple] optgroup,
select[size] optgroup {
  font-weight: bolder;
}

select[multiple] optgroup option,
select[size] optgroup option {
  padding-inline-start: 20px;
}

::file-selector-button {
  margin-inline-end: 4px;
}

::-webkit-input-placeholder {
  opacity: 1;
  color: rgba(156, 163, 175, 0.5);
}
::-moz-placeholder {
  opacity: 1;
  color: rgba(156, 163, 175, 0.5);
}
:-ms-input-placeholder {
  opacity: 1;
  color: rgba(156, 163, 175, 0.5);
}
::-ms-input-placeholder {
  opacity: 1;
  color: rgba(156, 163, 175, 0.5);
}
::placeholder {
  opacity: 1;
  color: rgba(156, 163, 175, 0.5);
}

textarea {
  resize: vertical;
}
::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-date-and-time-value {
  min-height: 1.5em;
  text-align: inherit;
}
::-webkit-datetime-edit {
  display: inline-flex;
}
::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}
::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
  padding-block: 0;
}
::-webkit-calendar-picker-indicator {
  line-height: 1;
}
:-moz-ui-invalid {
  box-shadow: none;
}
button, input[type="button"], input[type="reset"], input[type="submit"], ::file-selector-button {
  appearance: button;
}
::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
  height: auto;
}
[hidden]:not([hidden="until-found"]) {
  display: none !important;
}

/* =========================================
   Utilities
   ========================================= */
.visible { visibility: visible; }
.relative { position: relative; }
.static { position: static; }
.mx-auto { margin-inline: auto; }
.my-10 { margin-block: calc(var(--spacing) * 10); }
.my-20 { margin-block: calc(var(--spacing) * 20); }
.mt-1 { margin-top: calc(var(--spacing) * 1); }
.mt-2 { margin-top: calc(var(--spacing) * 2); }
.mt-2\.5 { margin-top: calc(var(--spacing) * 2.5); }
.mt-3 { margin-top: calc(var(--spacing) * 3); }
.mt-4 { margin-top: calc(var(--spacing) * 4); }
.mt-5 { margin-top: calc(var(--spacing) * 5); }
.mt-6 { margin-top: calc(var(--spacing) * 6); }
.mt-8 { margin-top: calc(var(--spacing) * 8); }
.mt-10 { margin-top: calc(var(--spacing) * 10); }
.mt-12 { margin-top: calc(var(--spacing) * 12); }
.mt-16 { margin-top: calc(var(--spacing) * 16); }
.mr-1 { margin-right: calc(var(--spacing) * 1); }
.mr-2 { margin-right: calc(var(--spacing) * 2); }
.mb-1 { margin-bottom: calc(var(--spacing) * 1); }
.mb-2 { margin-bottom: calc(var(--spacing) * 2); }
.mb-3 { margin-bottom: calc(var(--spacing) * 3); }
.mb-4 { margin-bottom: calc(var(--spacing) * 4); }
.mb-5 { margin-bottom: calc(var(--spacing) * 5); }
.mb-6 { margin-bottom: calc(var(--spacing) * 6); }
.mb-8 { margin-bottom: calc(var(--spacing) * 8); }
.mb-10 { margin-bottom: calc(var(--spacing) * 10); }
.mb-16 { margin-bottom: calc(var(--spacing) * 16); }
.mb-20 { margin-bottom: calc(var(--spacing) * 20); }
.mb-\[5px\] { margin-bottom: 5px; }
.ml-1 { margin-left: calc(var(--spacing) * 1); }
.ml-2 { margin-left: calc(var(--spacing) * 2); }
.ml-3 { margin-left: calc(var(--spacing) * 3); }
.ml-5 { margin-left: calc(var(--spacing) * 5); }
.block { display: block; }
.flex { display: flex; }
.hidden { display: none; }
.inline-block { display: inline-block; }
.inline-flex { display: inline-flex; }
.table { display: table; }
.h-\[250px\] { height: 250px; }
.w-24 { width: calc(var(--spacing) * 24); }
.w-\[48\%\] { width: 48%; }
.w-full { width: 100%; }
.max-w-1100 { max-width: calc(var(--spacing) * 1100); }
.max-w-\[600px\] { max-width: 600px; }
.max-w-\[700px\] { max-width: 700px; }
.max-w-\[750px\] { max-width: 750px; }
.max-w-\[800px\] { max-width: 800px; }
.max-w-\[1000px\] { max-width: 1000px; }
.min-w-\[250px\] { min-width: 250px; }
.min-w-\[300px\] { min-width: 300px; }
.flex-1 { flex: 1; }
.flex-shrink { flex-shrink: 1; }
.flex-grow { flex-grow: 1; }
.border-collapse { border-collapse: collapse; }
.transform { transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,); }
.resize { resize: both; }
.grid-rows-1 { grid-template-rows: repeat(1, minmax(0, 1fr)); }
.flex-wrap { flex-wrap: wrap; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }
.justify-center { justify-content: center; }
.gap-5 { gap: calc(var(--spacing) * 5); }
.gap-8 { gap: calc(var(--spacing) * 8); }
.rounded { border-radius: 0.25rem; }
.rounded-lg { border-radius: var(--radius-lg); }
.border { border-style: var(--tw-border-style); border-width: 1px; }
.border-t { border-top-style: var(--tw-border-style); border-top-width: 1px; }
.border-b { border-bottom-style: var(--tw-border-style); border-bottom-width: 1px; }
.bg-\[\#333\] { background-color: #333; }
.bg-\[\#eee\] { background-color: #eee; }
.bg-black { background-color: var(--color-black); }
.bg-gray-50 { background-color: var(--color-gray-50); }
.bg-gray-100 { background-color: var(--color-gray-100); }
.bg-white { background-color: var(--color-white); }
.bg-yellow-50 { background-color: var(--color-yellow-50); }
.bg-left { background-position: left; }
.p-4 { padding: calc(var(--spacing) * 4); }
.p-5 { padding: calc(var(--spacing) * 5); }
.p-6 { padding: calc(var(--spacing) * 6); }
.p-8 { padding: calc(var(--spacing) * 8); }
.px-2 { padding-inline: calc(var(--spacing) * 2); }
.py-3 { padding-block: calc(var(--spacing) * 3); }
.py-10 { padding-block: calc(var(--spacing) * 10); }
.py-16 { padding-block: calc(var(--spacing) * 16); }
.py-20 { padding-block: calc(var(--spacing) * 20); }
.py-\[20px\] { padding-block: 20px; }
.pt-1 { padding-top: calc(var(--spacing) * 1); }
.pt-2 { padding-top: calc(var(--spacing) * 2); }
.pt-5 { padding-top: calc(var(--spacing) * 5); }
.pt-20 { padding-top: calc(var(--spacing) * 20); }
.pt-40 { padding-top: calc(var(--spacing) * 40); }
.pb-2 { padding-bottom: calc(var(--spacing) * 2); }
.pb-2\.5 { padding-bottom: calc(var(--spacing) * 2.5); }
.pb-3 { padding-bottom: calc(var(--spacing) * 3); }
.pb-4 { padding-bottom: calc(var(--spacing) * 4); }
.pb-5 { padding-bottom: calc(var(--spacing) * 5); }
.pb-10 { padding-bottom: calc(var(--spacing) * 10); }
.pb-20 { padding-bottom: calc(var(--spacing) * 20); }
.pb-30 { padding-bottom: calc(var(--spacing) * 30); }
.pb-40 { padding-bottom: calc(var(--spacing) * 40); }
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading, var(--text-3xl--line-height)); }
.text-lg { font-size: var(--text-lg); line-height: var(--tw-leading, var(--text-lg--line-height)); }
.text-sm { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); }
.text-xl { font-size: var(--text-xl); line-height: var(--tw-leading, var(--text-xl--line-height)); }
.text-xs { font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); }
.text-\[11px\] { font-size: 11px; }
.text-\[12px\] { font-size: 12px; }
.text-\[13px\] { font-size: 13px; }
.text-\[14px\] { font-size: 14px; }
.text-\[15px\] { font-size: 15px; }
.text-\[16px\] { font-size: 16px; }
.text-\[18px\] { font-size: 18px; }
.text-\[20px\] { font-size: 20px; }
.text-\[22px\] { font-size: 22px; }
.text-\[26px\] { font-size: 26px; }
.text-\[28px\] { font-size: 28px; }
.text-\[30px\] { font-size: 30px; }
.text-\[32px\] { font-size: 32px; }
.text-\[36px\] { font-size: 36px; }
.text-\[40px\] { font-size: 40px; }
.text-\[55px\] { font-size: 55px; }
.leading-loose { --tw-leading: var(--leading-loose); line-height: var(--leading-loose); }
.font-bold { --tw-font-weight: var(--font-weight-bold); font-weight: var(--font-weight-bold); }
.font-normal { --tw-font-weight: var(--font-weight-normal); font-weight: var(--font-weight-normal); }
.text-gray-100 { color: var(--color-gray-100); }
.text-gray-400 { color: var(--color-gray-400); }
.text-gray-500 { color: var(--color-gray-500); }
.text-gray-600 { color: var(--color-gray-600); }
.text-gray-700 { color: var(--color-gray-700); }
.text-red-500 { color: var(--color-red-500); }
.text-white { color: var(--color-white); }
.text-yellow-500 { color: var(--color-yellow-500); }
.underline { text-decoration-line: underline; }
.outline { outline-style: var(--tw-outline-style); outline-width: 1px; }
.filter { filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }
.transition { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); }
.ease-in-out { --tw-ease: var(--ease-in-out); transition-timing-function: var(--ease-in-out); }

/* =========================================
   Responsive Utilities (Legacy Syntax)
   ========================================= */
@media (max-width: 1023px) {
  .max-\[1024px\]\:mt-5 { margin-top: calc(var(--spacing) * 5); }
  .max-\[1024px\]\:mt-10 { margin-top: calc(var(--spacing) * 10); }
  .max-\[1024px\]\:mb-0 { margin-bottom: calc(var(--spacing) * 0); }
  .max-\[1024px\]\:mb-5 { margin-bottom: calc(var(--spacing) * 5); }
  .max-\[1024px\]\:mb-8 { margin-bottom: calc(var(--spacing) * 8); }
  .max-\[1024px\]\:mb-10 { margin-bottom: calc(var(--spacing) * 10); }
  .max-\[1024px\]\:w-\[48\%\] { width: 48%; }
  .max-\[1024px\]\:w-\[100\%\] { width: 100%; }
  .max-\[1024px\]\:max-w-\[600px\] { max-width: 600px; }
  .max-\[1024px\]\:flex-none { flex: none; }
  .max-\[1024px\]\:rotate-90 { rotate: 90deg; }
  .max-\[1024px\]\:px-10 { padding-inline: calc(var(--spacing) * 10); }
  .max-\[1024px\]\:py-8 { padding-block: calc(var(--spacing) * 8); }
  .max-\[1024px\]\:py-10 { padding-block: calc(var(--spacing) * 10); }
  .max-\[1024px\]\:pt-10 { padding-top: calc(var(--spacing) * 10); }
  .max-\[1024px\]\:pt-20 { padding-top: calc(var(--spacing) * 20); }
  .max-\[1024px\]\:pb-10 { padding-bottom: calc(var(--spacing) * 10); }
  .max-\[1024px\]\:pb-12 { padding-bottom: calc(var(--spacing) * 12); }
  .max-\[1024px\]\:pb-15 { padding-bottom: calc(var(--spacing) * 15); }
  .max-\[1024px\]\:text-center { text-align: center; }
  .max-\[1024px\]\:text-\[26px\] { font-size: 26px; }
  .max-\[1024px\]\:text-\[28px\] { font-size: 28px; }
  .max-\[1024px\]\:text-\[30px\] { font-size: 30px; }
}

@media (max-width: 598px) {
  .max-\[599px\]\:fixed { position: fixed; }
  .max-\[599px\]\:bottom-0 { bottom: calc(var(--spacing) * 0); }
  .max-\[599px\]\:mt-2 { margin-top: calc(var(--spacing) * 2); }
  .max-\[599px\]\:mt-5 { margin-top: calc(var(--spacing) * 5); }
  .max-\[599px\]\:mr-2 { margin-right: calc(var(--spacing) * 2); }
  .max-\[599px\]\:mb-0 { margin-bottom: calc(var(--spacing) * 0); }
  .max-\[599px\]\:mb-5 { margin-bottom: calc(var(--spacing) * 5); }
  .max-\[599px\]\:flex { display: flex; }
  .max-\[599px\]\:w-\[100\%\] { width: 100%; }
  .max-\[599px\]\:w-full { width: 100%; }
  .max-\[599px\]\:p-3 { padding: calc(var(--spacing) * 3); }
  .max-\[599px\]\:pr-\[80px\] { padding-right: 80px; }
  .max-\[599px\]\:text-center { text-align: center; }
  .max-\[599px\]\:text-left { text-align: left; }
  .max-\[599px\]\:text-lg { font-size: var(--text-lg); line-height: var(--tw-leading, var(--text-lg--line-height)); }
  .max-\[599px\]\:text-\[14px\] { font-size: 14px; }
  .max-\[599px\]\:text-\[15px\] { font-size: 15px; }
  .max-\[599px\]\:text-\[18px\] { font-size: 18px; }
  .max-\[599px\]\:text-\[20px\] { font-size: 20px; }
  .max-\[599px\]\:text-\[22px\] { font-size: 22px; }
  .max-\[599px\]\:text-\[24px\] { font-size: 24px; }
}

@media (max-width: 1023px) {
  .max-lg\:mt-0 { margin-top: calc(var(--spacing) * 0); }
  .max-lg\:mr-\[15px\] { margin-right: 15px; }
  .max-lg\:ml-0 { margin-left: calc(var(--spacing) * 0); }
  .max-lg\:bg-transparent { background-color: transparent; }
  .max-lg\:bg-white { background-color: var(--color-white); }
  .max-lg\:bg-\[\#333\] { background-color: #333; }
  .max-lg\:bg-\[rgba\(51\,51\,51\,0\.7\)\] { background-color: rgba(51, 51, 51, 0.7); }
  .max-lg\:px-0 { padding-inline: calc(var(--spacing) * 0); }
  .max-lg\:px-2\.5 { padding-inline: calc(var(--spacing) * 2.5); }
  .max-lg\:py-\[15px\] { padding-block: 15px; }
  .max-lg\:pt-5 { padding-top: calc(var(--spacing) * 5); }
  .max-lg\:pt-\[5px\] { padding-top: 5px; }
  .max-lg\:pb-\[5px\] { padding-bottom: 5px; }
  .max-lg\:pb-\[120px\] { padding-bottom: 120px; }
  .max-lg\:pb-\[160px\] { padding-bottom: 160px; }
  .max-lg\:pb-\[500px\] { padding-bottom: 500px; }
  .max-lg\:text-2xl { font-size: var(--text-2xl); line-height: var(--tw-leading, var(--text-2xl--line-height)); }
  .max-lg\:text-\[10px\] { font-size: 10px; }
}
