@import url('https://fonts.googleapis.com/css2?family=Hachi+Maru+Pop&family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@400;700&display=swap');
/*
  1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
  2. Remove default margins and padding
  3. Reset all borders.
*/

*,
::after,
::before,
::backdrop,
::file-selector-button {
  box-sizing: border-box; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 2 */
  border: 0 solid; /* 3 */
}

/*
  1. Use a consistent sensible line-height in all browsers.
  2. Prevent adjustments of font size after orientation changes in iOS.
  3. Use a more readable tab size.
  4. Use the user's configured `sans` font-family by default.
  5. Use the user's configured `sans` font-feature-settings by default.
  6. Use the user's configured `sans` font-variation-settings by default.
  7. Disable tap highlights on iOS.
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  tab-size: 4; /* 3 */
  font-family: --theme(
    --default-font-family,
    ui-sans-serif,
    system-ui,
    sans-serif,
    'Apple Color Emoji',
    'Segoe UI Emoji',
    'Segoe UI Symbol',
    'Noto Color Emoji'
  ); /* 4 */
  font-feature-settings: --theme(--default-font-feature-settings, normal); /* 5 */
  font-variation-settings: --theme(--default-font-variation-settings, normal); /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
  1. Add the correct height in Firefox.
  2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
  3. Reset the default border style to a 1px solid border.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
  Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

/*
  Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
  Reset links to optimize for opt-in styling instead of opt-out.
*/

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

/*
  Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
  1. Use the user's configured `mono` font-family by default.
  2. Use the user's configured `mono` font-feature-settings by default.
  3. Use the user's configured `mono` font-variation-settings by default.
  4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: --theme(
    --default-mono-font-family,
    ui-monospace,
    SFMono-Regular,
    Menlo,
    Monaco,
    Consolas,
    'Liberation Mono',
    'Courier New',
    monospace
  ); /* 1 */
  font-feature-settings: --theme(--default-mono-font-feature-settings, normal); /* 2 */
  font-variation-settings: --theme(--default-mono-font-variation-settings, normal); /* 3 */
  font-size: 1em; /* 4 */
}

/*
  Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
  Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
  1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
  2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
  3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
  Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
  Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
  Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
  Make lists unstyled by default.
*/

ol,
ul,
menu {
  list-style: none;
}

/*
  1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
  2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
      This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
  Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/*
  1. Inherit font styles in all browsers.
  2. Remove border radius in all browsers.
  3. Remove background color in all browsers.
  4. Ensure consistent opacity for disabled states in all browsers.
*/

button,
input,
select,
optgroup,
textarea,
::file-selector-button {
  font: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  border-radius: 0; /* 2 */
  background-color: transparent; /* 3 */
  opacity: 1; /* 4 */
}

/*
  Restore default font weight.
*/

:where(select:is([multiple], [size])) optgroup {
  font-weight: bolder;
}

/*
  Restore indentation.
*/

:where(select:is([multiple], [size])) optgroup option {
  padding-inline-start: 20px;
}

/*
  Restore space after button.
*/

::file-selector-button {
  margin-inline-end: 4px;
}

/*
  Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
*/

::placeholder {
  opacity: 1;
}

/*
  Set the default placeholder color to a semi-transparent version of the current text color in browsers that do not
  crash when using `color-mix(…)` with `currentcolor`. (https://github.com/tailwindlabs/tailwindcss/issues/17194)
*/

@supports (not (-webkit-appearance: -apple-pay-button)) /* Not Safari */ or
  (contain-intrinsic-size: 1px) /* Safari 17+ */ {
  ::placeholder {
    color: color-mix(in oklab, currentcolor 50%, transparent);
  }
}

/*
  Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
  Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
  1. Ensure date/time inputs have the same height when empty in iOS Safari.
  2. Ensure text alignment can be changed on date/time inputs in iOS Safari.
*/

::-webkit-date-and-time-value {
  min-height: 1lh; /* 1 */
  text-align: inherit; /* 2 */
}

/*
  Prevent height from changing on date/time inputs in macOS Safari when the input is set to `display: block`.
*/

::-webkit-datetime-edit {
  display: inline-flex;
}

/*
  Remove excess padding from pseudo-elements in date/time inputs to ensure consistent height across browsers.
*/

::-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;
}

/*
  Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
  Correct the inability to style the border radius in iOS Safari.
*/

button,
input:where([type='button'], [type='reset'], [type='submit']),
::file-selector-button {
  appearance: button;
}

/*
  Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
  Make elements with the HTML hidden attribute stay hidden by default.
*/

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

/*! tailwindcss v4.1.10 | MIT License | https://tailwindcss.com */
@layer properties;
:root, :host {
  --font-sans: "Noto Sans JP", sans-serif;
  --font-serif: "Noto Serif JP", serif;
  --color-white: #fff;
  --spacing: 0.25rem;
  --container-3xl: 48rem;
  --container-5xl: 64rem;
  --container-6xl: 72rem;
  --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-base: 1rem;
  --text-base--line-height: calc(1.5 / 1);
  --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);
  --text-4xl: 2.25rem;
  --text-4xl--line-height: calc(2.5 / 2.25);
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --tracking-wide: 0.025em;
  --leading-relaxed: 1.625;
  --radius-lg: 0.5rem;
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
  --default-transition-duration: 150ms;
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  --color-background-50: #FAF7F2;
  --color-background-100: #FDFBF8;
  --color-background-200: #E6DDD3;
  --color-background-400: #BFB3A7;
  --color-background-500: #A59789;
  --color-background-600: #928174;
  --color-background-700: #79675C;
  --color-background-800: #584A43;
  --color-background-950: #302823;
  --color-primary-100: oklch(0.88 0.05 35);
  --color-primary-500: oklch(0.52 0.17 35);
  --color-accent-100: #F1E9DF;
  --color-accent-200: #E6DDD3;
  --color-accent-400: #C7A16C;
  --color-accent-600: oklch(0.58 0.18 72);
  --color-accent-900: oklch(0.34 0.11 65);
  --color-foreground-500: #76655C;
  --color-foreground-600: #66574F;
  --color-foreground-700: #57483F;
  --color-foreground-800: #46352D;
  --color-foreground-900: #382C27;
  --color-foreground-950: #2E2522;
}
.pointer-events-none {
  pointer-events: none;
}
.absolute {
  position: absolute;
}
.fixed {
  position: fixed;
}
.relative {
  position: relative;
}
.inset-0 {
  inset: calc(var(--spacing) * 0);
}
.top-0 {
  top: calc(var(--spacing) * 0);
}
.left-0 {
  left: calc(var(--spacing) * 0);
}
.z-10 {
  z-index: 10;
}
.z-50 {
  z-index: 50;
}
.order-1 {
  order: 1;
}
.order-2 {
  order: 2;
}
.mx-auto {
  margin-inline: auto;
}
.mt-1 {
  margin-top: calc(var(--spacing) * 1);
}
.mt-2 {
  margin-top: calc(var(--spacing) * 2);
}
.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-11 {
  margin-top: calc(var(--spacing) * 11);
}
.mt-12 {
  margin-top: calc(var(--spacing) * 12);
}
.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-10 {
  margin-bottom: calc(var(--spacing) * 10);
}
.mb-12 {
  margin-bottom: calc(var(--spacing) * 12);
}
.flex {
  display: flex;
}
.grid {
  display: grid;
}
.hidden {
  display: none;
}
.inline-block {
  display: inline-block;
}
.inline-flex {
  display: inline-flex;
}
.aspect-square {
  aspect-ratio: 1 / 1;
}
.h-8 {
  height: calc(var(--spacing) * 8);
}
.h-9 {
  height: calc(var(--spacing) * 9);
}
.h-10 {
  height: calc(var(--spacing) * 10);
}
.h-16 {
  height: calc(var(--spacing) * 16);
}
.h-full {
  height: 100%;
}
.h-px {
  height: 1px;
}
.h-screen {
  height: 100vh;
}
.min-h-\[180px\] {
  min-height: 180px;
}
.min-h-screen {
  min-height: 100vh;
}
.w-8 {
  width: calc(var(--spacing) * 8);
}
.w-9 {
  width: calc(var(--spacing) * 9);
}
.w-10 {
  width: calc(var(--spacing) * 10);
}
.w-20 {
  width: calc(var(--spacing) * 20);
}
.w-full {
  width: 100%;
}
.max-w-3xl {
  max-width: var(--container-3xl);
}
.max-w-5xl {
  max-width: var(--container-5xl);
}
.max-w-6xl {
  max-width: var(--container-6xl);
}
.min-w-0 {
  min-width: calc(var(--spacing) * 0);
}
.flex-1 {
  flex: 1;
}
.flex-shrink-0 {
  flex-shrink: 0;
}
.translate-y-0 {
  --tw-translate-y: calc(var(--spacing) * 0);
  translate: var(--tw-translate-x) var(--tw-translate-y);
}
.translate-y-4 {
  --tw-translate-y: calc(var(--spacing) * 4);
  translate: var(--tw-translate-x) var(--tw-translate-y);
}
.translate-y-6 {
  --tw-translate-y: calc(var(--spacing) * 6);
  translate: var(--tw-translate-x) var(--tw-translate-y);
}
.cursor-pointer {
  cursor: pointer;
}
.scroll-mt-20 {
  scroll-margin-top: calc(var(--spacing) * 20);
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.flex-col {
  flex-direction: column;
}
.flex-wrap {
  flex-wrap: wrap;
}
.items-center {
  align-items: center;
}
.items-end {
  align-items: flex-end;
}
.items-start {
  align-items: flex-start;
}
.items-stretch {
  align-items: stretch;
}
.justify-between {
  justify-content: space-between;
}
.justify-center {
  justify-content: center;
}
.gap-0 {
  gap: calc(var(--spacing) * 0);
}
.gap-1 {
  gap: calc(var(--spacing) * 1);
}
.gap-1\.5 {
  gap: calc(var(--spacing) * 1.5);
}
.gap-2 {
  gap: calc(var(--spacing) * 2);
}
.gap-3 {
  gap: calc(var(--spacing) * 3);
}
.gap-4 {
  gap: calc(var(--spacing) * 4);
}
.gap-5 {
  gap: calc(var(--spacing) * 5);
}
.gap-6 {
  gap: calc(var(--spacing) * 6);
}
.gap-10 {
  gap: calc(var(--spacing) * 10);
}
.space-y-1 {
  :where(& > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
  }
}
.space-y-1\.5 {
  :where(& > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)));
  }
}
.space-y-5 {
  :where(& > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
  }
}
.space-y-6 {
  :where(& > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
  }
}
.divide-y {
  :where(& > :not(:last-child)) {
    --tw-divide-y-reverse: 0;
    border-bottom-style: var(--tw-border-style);
    border-top-style: var(--tw-border-style);
    border-top-width: calc(1px * var(--tw-divide-y-reverse));
    border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  }
}
.divide-background-200\/70 {
  :where(& > :not(:last-child)) {
    border-color: color-mix(in srgb, oklch(0.90 0.04 80) 70%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-background-200) 70%, transparent);
    }
  }
}
.overflow-hidden {
  overflow: hidden;
}
.rounded-full {
  border-radius: calc(infinity * 1px);
}
.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-2 {
  border-bottom-style: var(--tw-border-style);
  border-bottom-width: 2px;
}
.border-accent-200 {
  border-color: var(--color-accent-200);
}
.border-accent-400 {
  border-color: var(--color-accent-400);
}
.border-background-200\/60 {
  border-color: color-mix(in srgb, oklch(0.90 0.04 80) 60%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-background-200) 60%, transparent);
  }
}
.border-background-200\/70 {
  border-color: color-mix(in srgb, oklch(0.90 0.04 80) 70%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-background-200) 70%, transparent);
  }
}
.border-background-200\/80 {
  border-color: color-mix(in srgb, oklch(0.90 0.04 80) 80%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-background-200) 80%, transparent);
  }
}
.border-background-700 {
  border-color: var(--color-background-700);
}
.border-background-800 {
  border-color: var(--color-background-800);
}
.bg-accent-100 {
  background-color: var(--color-accent-100);
}
.bg-accent-100\/60 {
  background-color: color-mix(in srgb, oklch(0.90 0.06 82) 60%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-accent-100) 60%, transparent);
  }
}
.bg-background-50 {
  background-color: var(--color-background-50);
}
.bg-background-100 {
  background-color: var(--color-background-100);
}
.bg-background-700 {
  background-color: var(--color-background-700);
}
.bg-background-800 {
  background-color: var(--color-background-800);
}
.bg-background-950 {
  background-color: var(--color-background-950);
}
.bg-primary-100 {
  background-color: var(--color-primary-100);
}
.bg-primary-500 {
  background-color: var(--color-primary-500);
}
.bg-primary-500\/8 {
  background-color: color-mix(in srgb, oklch(0.52 0.17 35) 8%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-primary-500) 8%, transparent);
  }
}
.bg-transparent {
  background-color: transparent;
}
.object-cover {
  object-fit: cover;
}
.object-center {
  object-position: center;
}
.object-top {
  object-position: top;
}
.p-5 {
  padding: calc(var(--spacing) * 5);
}
.px-4 {
  padding-inline: calc(var(--spacing) * 4);
}
.px-5 {
  padding-inline: calc(var(--spacing) * 5);
}
.px-6 {
  padding-inline: calc(var(--spacing) * 6);
}
.px-8 {
  padding-inline: calc(var(--spacing) * 8);
}
.py-1 {
  padding-block: calc(var(--spacing) * 1);
}
.py-2\.5 {
  padding-block: calc(var(--spacing) * 2.5);
}
.py-3 {
  padding-block: calc(var(--spacing) * 3);
}
.py-4 {
  padding-block: calc(var(--spacing) * 4);
}
.py-6 {
  padding-block: calc(var(--spacing) * 6);
}
.py-7 {
  padding-block: calc(var(--spacing) * 7);
}
.py-8 {
  padding-block: calc(var(--spacing) * 8);
}
.py-9 {
  padding-block: calc(var(--spacing) * 9);
}
.py-14 {
  padding-block: calc(var(--spacing) * 14);
}
.py-20 {
  padding-block: calc(var(--spacing) * 20);
}
.pt-1 {
  padding-top: calc(var(--spacing) * 1);
}
.pt-2 {
  padding-top: calc(var(--spacing) * 2);
}
.pt-4 {
  padding-top: calc(var(--spacing) * 4);
}
.pb-2 {
  padding-bottom: calc(var(--spacing) * 2);
}
.pb-3 {
  padding-bottom: calc(var(--spacing) * 3);
}
.pb-32 {
  padding-bottom: calc(var(--spacing) * 32);
}
.text-center {
  text-align: center;
}
.text-left {
  text-align: left;
}
.font-sans {
  font-family: var(--font-sans);
}
.font-serif {
  font-family: var(--font-serif);
}
.text-2xl {
  font-size: var(--text-2xl);
  line-height: var(--tw-leading, var(--text-2xl--line-height));
}
.text-3xl {
  font-size: var(--text-3xl);
  line-height: var(--tw-leading, var(--text-3xl--line-height));
}
.text-base {
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--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-\[15px\] {
  font-size: 15px;
}
.text-\[16px\] {
  font-size: 16px;
}
.text-\[17px\] {
  font-size: 17px;
}
.text-\[19px\] {
  font-size: 19px;
}
.leading-\[1\.8\] {
  --tw-leading: 1.8;
  line-height: 1.8;
}
.leading-\[1\.9\] {
  --tw-leading: 1.9;
  line-height: 1.9;
}
.leading-\[2\.1\] {
  --tw-leading: 2.1;
  line-height: 2.1;
}
.leading-\[2\.2\] {
  --tw-leading: 2.2;
  line-height: 2.2;
}
.leading-\[3\] {
  --tw-leading: 3;
  line-height: 3;
}
.leading-relaxed {
  --tw-leading: var(--leading-relaxed);
  line-height: var(--leading-relaxed);
}
.font-bold {
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
}
.font-medium {
  --tw-font-weight: var(--font-weight-medium);
  font-weight: var(--font-weight-medium);
}
.font-semibold {
  --tw-font-weight: var(--font-weight-semibold);
  font-weight: var(--font-weight-semibold);
}
.tracking-\[0\.3em\] {
  --tw-tracking: 0.3em;
  letter-spacing: 0.3em;
}
.tracking-wide {
  --tw-tracking: var(--tracking-wide);
  letter-spacing: var(--tracking-wide);
}
.break-words {
  overflow-wrap: break-word;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.text-accent-600 {
  color: var(--color-accent-600);
}
.text-accent-900 {
  color: var(--color-accent-900);
}
.text-background-50 {
  color: var(--color-background-50);
}
.text-background-100 {
  color: var(--color-background-100);
}
.text-background-400 {
  color: var(--color-background-400);
}
.text-background-500 {
  color: var(--color-background-500);
}
.text-foreground-500 {
  color: var(--color-foreground-500);
}
.text-foreground-600 {
  color: var(--color-foreground-600);
}
.text-foreground-700 {
  color: var(--color-foreground-700);
}
.text-foreground-800 {
  color: var(--color-foreground-800);
}
.text-foreground-900 {
  color: var(--color-foreground-900);
}
.text-foreground-950 {
  color: var(--color-foreground-950);
}
.text-primary-500 {
  color: var(--color-primary-500);
}
.text-white {
  color: var(--color-white);
}
.underline {
  text-decoration-line: underline;
}
.underline-offset-4 {
  text-underline-offset: 4px;
}
.opacity-0 {
  opacity: 0%;
}
.opacity-100 {
  opacity: 100%;
}
.mix-blend-multiply {
  mix-blend-mode: multiply;
}
.shadow-sm {
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.transition-all {
  transition-property: all;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
}
.transition-colors {
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
}
.transition-transform {
  transition-property: transform, translate, scale, rotate;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
}
.delay-200 {
  transition-delay: 200ms;
}
.duration-200 {
  --tw-duration: 200ms;
  transition-duration: 200ms;
}
.duration-300 {
  --tw-duration: 300ms;
  transition-duration: 300ms;
}
.duration-1000 {
  --tw-duration: 1000ms;
  transition-duration: 1000ms;
}
.duration-1500 {
  --tw-duration: 1500ms;
  transition-duration: 1500ms;
}
.ease-out {
  --tw-ease: var(--ease-out);
  transition-timing-function: var(--ease-out);
}
.group-open\:rotate-180 {
  &:is(:where(.group):is([open], :popover-open, :open) *) {
    rotate: 180deg;
  }
}
.hover\:bg-background-600 {
  &:hover {
    @media (hover: hover) {
      background-color: var(--color-background-600);
    }
  }
}
.hover\:text-primary-500 {
  &:hover {
    @media (hover: hover) {
      color: var(--color-primary-500);
    }
  }
}
.hover\:opacity-70 {
  &:hover {
    @media (hover: hover) {
      opacity: 70%;
    }
  }
}
.sm\:grid-cols-2 {
  @media (width >= 40rem) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.md\:\!mt-\[25px\] {
  @media (width >= 48rem) {
    margin-top: 25px !important;
  }
}
.md\:mt-8 {
  @media (width >= 48rem) {
    margin-top: calc(var(--spacing) * 8);
  }
}
.md\:mt-14 {
  @media (width >= 48rem) {
    margin-top: calc(var(--spacing) * 14);
  }
}
.md\:mt-16 {
  @media (width >= 48rem) {
    margin-top: calc(var(--spacing) * 16);
  }
}
.md\:mt-\[-20px\] {
  @media (width >= 48rem) {
    margin-top: -20px;
  }
}
.md\:mt-\[30px\] {
  @media (width >= 48rem) {
    margin-top: 30px;
  }
}
.md\:mt-\[50px\] {
  @media (width >= 48rem) {
    margin-top: 50px;
  }
}
.md\:mb-12 {
  @media (width >= 48rem) {
    margin-bottom: calc(var(--spacing) * 12);
  }
}
.md\:ml-\[150px\] {
  @media (width >= 48rem) {
    margin-left: 150px;
  }
}
.md\:block {
  @media (width >= 48rem) {
    display: block;
  }
}
.md\:flex {
  @media (width >= 48rem) {
    display: flex;
  }
}
.md\:hidden {
  @media (width >= 48rem) {
    display: none;
  }
}
.md\:h-10 {
  @media (width >= 48rem) {
    height: calc(var(--spacing) * 10);
  }
}
.md\:w-1\/3 {
  @media (width >= 48rem) {
    width: calc(1/3 * 100%);
  }
}
.md\:w-10 {
  @media (width >= 48rem) {
    width: calc(var(--spacing) * 10);
  }
}
.md\:grid-cols-3 {
  @media (width >= 48rem) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.md\:flex-row {
  @media (width >= 48rem) {
    flex-direction: row;
  }
}
.md\:gap-0 {
  @media (width >= 48rem) {
    gap: calc(var(--spacing) * 0);
  }
}
.md\:gap-5 {
  @media (width >= 48rem) {
    gap: calc(var(--spacing) * 5);
  }
}
.md\:gap-6 {
  @media (width >= 48rem) {
    gap: calc(var(--spacing) * 6);
  }
}
.md\:space-y-6 {
  @media (width >= 48rem) {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
}
.md\:space-y-8 {
  @media (width >= 48rem) {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
}
.md\:p-6 {
  @media (width >= 48rem) {
    padding: calc(var(--spacing) * 6);
  }
}
.md\:px-6 {
  @media (width >= 48rem) {
    padding-inline: calc(var(--spacing) * 6);
  }
}
.md\:px-8 {
  @media (width >= 48rem) {
    padding-inline: calc(var(--spacing) * 8);
  }
}
.md\:px-10 {
  @media (width >= 48rem) {
    padding-inline: calc(var(--spacing) * 10);
  }
}
.md\:py-7 {
  @media (width >= 48rem) {
    padding-block: calc(var(--spacing) * 7);
  }
}
.md\:py-10 {
  @media (width >= 48rem) {
    padding-block: calc(var(--spacing) * 10);
  }
}
.md\:py-11 {
  @media (width >= 48rem) {
    padding-block: calc(var(--spacing) * 11);
  }
}
.md\:py-12 {
  @media (width >= 48rem) {
    padding-block: calc(var(--spacing) * 12);
  }
}
.md\:py-20 {
  @media (width >= 48rem) {
    padding-block: calc(var(--spacing) * 20);
  }
}
.md\:py-28 {
  @media (width >= 48rem) {
    padding-block: calc(var(--spacing) * 28);
  }
}
.md\:pb-0 {
  @media (width >= 48rem) {
    padding-bottom: calc(var(--spacing) * 0);
  }
}
.md\:pb-40 {
  @media (width >= 48rem) {
    padding-bottom: calc(var(--spacing) * 40);
  }
}
.md\:text-3xl {
  @media (width >= 48rem) {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }
}
.md\:text-4xl {
  @media (width >= 48rem) {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }
}
.md\:text-base {
  @media (width >= 48rem) {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
}
.md\:text-lg {
  @media (width >= 48rem) {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
}
.md\:text-sm {
  @media (width >= 48rem) {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
}
.md\:text-xl {
  @media (width >= 48rem) {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
}
.md\:text-\[16px\] {
  @media (width >= 48rem) {
    font-size: 16px;
  }
}
.md\:text-\[calc\(1\.5rem-2px\)\] {
  @media (width >= 48rem) {
    font-size: calc(1.5rem - 2px);
  }
}
.lg\:order-1 {
  @media (width >= 64rem) {
    order: 1;
  }
}
.lg\:order-2 {
  @media (width >= 64rem) {
    order: 2;
  }
}
.lg\:w-1\/2 {
  @media (width >= 64rem) {
    width: calc(1/2 * 100%);
  }
}
.lg\:grid-cols-2 {
  @media (width >= 64rem) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.lg\:flex-row {
  @media (width >= 64rem) {
    flex-direction: row;
  }
}
.lg\:gap-10 {
  @media (width >= 64rem) {
    gap: calc(var(--spacing) * 10);
  }
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-divide-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-space-y-reverse: 0;
      --tw-divide-y-reverse: 0;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-duration: initial;
      --tw-ease: initial;
    }
  }
}


@layer base {html{scroll-behavior:smooth}body{font-family: 'Noto Sans JP', sans-serif;color:oklch(0.22 0.06 48);background-color:#FAF7F2;line-height:1.6}section[id]{scroll-margin-top:5rem} h1,h2{font-family: 'Noto Serif JP',serif;font-weight:700}h3{font-family:'Noto Serif JP',serif;font-weight:400} }
.font-display-hero{font-family:'Hachi Maru Pop',cursive}.text-shadow-soft{text-shadow:0 2px 8px rgba(0,0,0,.25)} .preview-main section:not(#hero) .opacity-0{opacity:1!important;transform:none!important} .preview-main section:not(#hero) .translate-y-6{transform:none!important} .preview-main #hero h1 span{will-change:opacity,transform;transition:opacity 350ms,transform 350ms;} .preview-main #hero .hero-text-done span{opacity:1!important;transform:none!important;} .preview-main #hero .hero-overlay-done{opacity:1!important;} .preview-main section:not(#hero) p{line-height:1.83;} .preview-main p {overflow-wrap:anywhere;} .preview-mobile-menu{display:none} .ri-menu-line::before{content:"☰";font-size:22px} .ri-external-link-line::before{content:"↗"} .ri-file-pdf-line::before{content:"▤"} .ri-instagram-line::before{content:"◎"} .ri-eye-line::before{content:"◉"} .ri-eye-off-line::before{content:"◌"} .ri-book-read-line::before{content:"▣"} .ri-leaf-line::before{content:"❧"} .ri-moon-line::before{content:"☾"} .preview-nav-scrolled{background:#302823!important;box-shadow:0 2px 6px #0002} .preview-nav-scrolled a{color:#fff!important} @media (max-width:767px){.preview-open-menu{display:flex!important} .preview-main #hero{height:100svh!important;} .preview-main #hero h1{font-size:clamp(34px,8vw,54px)!important;} .preview-main #hero>div:last-child{padding-bottom:9vh;} .preview-main section:not(#hero) img{max-width:100%;} }
/* Readdy 非依存のプレビュー用 第4版の微調整 */
.preview-main{color:#382C27;background:#FAF7F2}
.preview-main #message p{line-height:2!important}
.preview-main .refined-content-pair{gap:2.5rem!important}
@media (min-width:1024px){.preview-main .refined-content-pair{gap:clamp(4.25rem,5.5vw,6rem)!important}}
.preview-main #hero .font-display-hero{font-family:'Hachi Maru Pop','Hiragino Maru Gothic ProN',cursive!important;font-weight:400!important}
.preview-main #hero .text-shadow-soft{text-shadow:0 2px 4px rgba(45,35,31,.48),0 6px 19px rgba(37,31,30,.30)!important}
.preview-main h2[style*='Hachi Maru Pop']{font-family:'Hachi Maru Pop','Hiragino Maru Gothic ProN',cursive!important}

/* Tailwind spacing equivalents for the updated standalone preview */
.py-16{padding-block:4rem}
@media (min-width:768px){.md\:py-24{padding-block:6rem}}

/* 第5版 プレビュー用 — 行間と余白を統一し、強調用の囲みをなくす */
.preview-main{background:#FAF7F2;color:#382C27}
.preview-main .eyep-section {padding-top:52px!important;padding-bottom:52px!important}
.preview-main .eyep-section h2 {margin-bottom:0!important}
.preview-main #trouble h2, .preview-main #story h2, .preview-main #eastern h2, .preview-main #habits h2, .preview-main #children h2, .preview-main #care h2 {margin-bottom:32px!important}
.preview-main .eyep-section .refined-content-pair {margin-top:40px!important}
.preview-main .eyep-section .refined-content-pair p.font-serif:first-child {margin-bottom:14px!important;line-height:1.7!important}
.preview-main #life .eyep-emphasis {margin-top:22px;font-size:16px;line-height:1.85!important}
.preview-main #future .eyep-quiet-ending{margin-top:24px}
.preview-main #future .eyep-quiet-ending p + p{margin-top:12px}
.preview-main #trouble .eyep-trouble-grid{display:grid;gap:0 36px;margin-bottom:24px}
.preview-main #trouble .eyep-trouble-item{border-bottom:1px solid #E6DDD3;padding:13px 0;line-height:1.85!important}
.preview-main #trouble .eyep-trouble-ending p:first-child{margin-bottom:8px}
.preview-main #trouble .eyep-trouble-ending p:last-child{line-height:1.8!important}
.preview-main #children .eyep-stats-grid{gap:8px;margin-bottom:20px}
.preview-main #children .eyep-stat{padding:14px 8px;border-bottom:1px solid #E6DDD3}
.preview-main #habits .eyep-habits-ending{margin-top:28px;padding-top:22px;border-top:1px solid #E6DDD3}
.preview-main #habits .eyep-habits-ending p:first-child{margin-bottom:12px;line-height:1.8!important}
.preview-main #habits .eyep-reference-details{margin-top:22px;padding-top:16px;border-top:1px solid #E6DDD3;background:none;border-radius:0}
.preview-main #habits h3 {margin-bottom:8px!important}
.preview-main #habits ol{margin-top:30px!important}
.preview-main #habits ol li{padding-block:20px!important}
.preview-main #habits .eyep-habits-ending + p{margin-top:18px!important}
.preview-main #message{padding-top:70px!important;padding-bottom:70px!important}
.preview-main #message>div>div.mt-12 {margin-top:38px!important}
@media (min-width:768px){
 .preview-main .eyep-section {padding-top:72px!important;padding-bottom:72px!important}
 .preview-main #children .eyep-stat{border-bottom:0;border-left:1px solid #E6DDD3}
 .preview-main #children .eyep-stat:first-child{border-left:0}
}
@media (max-width:640px){
 .preview-main #trouble .eyep-trouble-grid{grid-template-columns:1fr!important}
 .preview-main #habits .eyep-habits-ending{padding-top:18px}
 .preview-main #future .eyep-quiet-ending{margin-top:22px}
}

.preview-main #children .max-w-3xl.mb-12 {margin-bottom:28px!important}
.preview-main #children .eyep-stats-grid + div {margin-bottom:26px!important}
.preview-main #habits .eyep-reference-details {margin-bottom:0}

/* 第6版：やわらかな明暗差・必要最小限のカード・文章の余白 */
:root {
 --color-background-50:#F2EBE3;
 --color-background-100:#FFFEFC;
 --color-background-200:#DED4C9;
 --color-accent-100:#EEE7DE;
 --color-accent-200:#DED4C9;
}
.preview-main{background:#FCFAF7!important;}
.preview-main #trouble .eyep-trouble-grid {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 16px!important;margin-bottom:0!important;
}
.preview-main #trouble .eyep-trouble-item {
  display:flex;align-items:center;min-height:66px;padding:16px 19px!important;
  background:#FFFEFC!important;border:1px solid #DED4C9!important;
  border-radius:11px;line-height:1.75!important;box-shadow:0 1px 0 rgba(73,56,45,.025);
}
/* The additional gap requested specifically above the ophthalmology advice. */
.preview-main #trouble .eyep-trouble-ending {margin-top:28px!important;}
.preview-main #children .eyep-stats-grid {gap:12px 16px!important;}
.preview-main #children .eyep-stat {
  background:#FFFEFC!important;border:1px solid #DED4C9!important;
  border-radius:11px;padding:23px 14px!important;
  box-shadow:0 1px 0 rgba(73,56,45,.025);
}
.preview-main #care .eyep-lead {margin-bottom:14px!important;line-height:1.65!important;}
.preview-main #care .eyep-lead+div{margin-top:0!important;}
@media(min-width:768px){
 .preview-main #trouble .eyep-trouble-ending {margin-top:36px!important;}
 .preview-main #children .eyep-stat {border:1px solid #DED4C9!important;}
}
@media(max-width:640px){
 .preview-main #trouble .eyep-trouble-grid{grid-template-columns:1fr!important;gap:11px!important;}
 .preview-main #trouble .eyep-trouble-item{min-height:0;padding:14px 16px!important;}
}


/* 第7版：中央だけ960pxの淡いグレージュ。左右は明るいアイボリーの余白 */
:root {
  --eyep-base: #FCFAF7;
  --eyep-paper: #FFFEFC;
  --eyep-greige: #F5F0EA;
  --eyep-hairline: #E6DED5;
}
.preview-main,
.preview-main main { background: var(--eyep-base) !important; }
.preview-main section.eyep-section {
  background-color: var(--eyep-base) !important;
  border-top-color: transparent !important;
}
.preview-main section.eyep-inset-panel {
  position: relative;
  isolation: isolate;
  background: var(--eyep-base) !important;
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}
.preview-main section.eyep-inset-panel::before {
  content: "";
  pointer-events: none;
  position: absolute;
  z-index: 0;
  top: 12px;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  width: min(960px, calc(100% - 48px));
  background: var(--eyep-greige);
  border: 1px solid rgba(188, 171, 154, .20);
  border-radius: 22px;
}
.preview-main section.eyep-inset-panel > div:first-child {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 820px !important;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .preview-main section.eyep-inset-panel {
    padding-top: 76px !important;
    padding-bottom: 76px !important;
  }
  .preview-main section.eyep-inset-panel::before {
    top: 14px;
    bottom: 14px;
  }
}
@media (max-width: 639px) {
  .preview-main section.eyep-inset-panel {
    padding-inline: 24px !important;
    padding-block: 52px !important;
  }
  .preview-main section.eyep-inset-panel::before {
    top: 8px;
    bottom: 8px;
    width: calc(100% - 16px);
    border-radius: 16px;
  }
}


/* 第8版：前半は区切りを明確に、後半は幅広のグレージュ面で読ませる */
:root {
  --eyep-base-v8: #FCFAF7;
  --eyep-paper-v8: #FFFDFC;
  --eyep-soft-v8: #F8F3ED;
  --eyep-greige-v8: #F5F0EA;
  --eyep-line-v8: #E3D9CE;
}
.preview-main, .preview-main main { background: var(--eyep-base-v8) !important; }
.preview-main section.eyep-section {
  background-color: var(--eyep-base-v8) !important;
  border-top-color: transparent !important;
}
/* 前半：色差と細い境界線でセクションのまとまりを見せる */
.preview-main #message,
.preview-main #life,
.preview-main #story { background: var(--eyep-paper-v8) !important; }
.preview-main #trouble,
.preview-main #future,
.preview-main #eastern { background: var(--eyep-soft-v8) !important; }
.preview-main #message,
.preview-main #trouble,
.preview-main #life,
.preview-main #future,
.preview-main #story,
.preview-main #eastern { position: relative; }
.preview-main #message::after,
.preview-main #trouble::after,
.preview-main #life::after,
.preview-main #future::after,
.preview-main #story::after {
  content:''; position:absolute; left:50%; transform:translateX(-50%); bottom:0; width:min(1180px, calc(100% - 48px)); height:1px; background:var(--eyep-line-v8);
}
.preview-main #trouble .max-w-3xl{max-width: 920px !important;}
.preview-main #trouble .eyep-trouble-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px 18px!important;margin-top:6px;margin-bottom:28px!important;}
.preview-main #trouble .eyep-trouble-item{background:var(--eyep-paper-v8)!important;border:1px solid var(--eyep-line-v8)!important;border-radius:0!important;padding:16px 18px!important;line-height:1.75!important;box-shadow:none!important;min-height:0!important;}
.preview-main #trouble .eyep-trouble-ending{margin-top:34px!important;padding-top:0!important;border-top:0!important;}
/* 画像セクションは区切りはありつつ軽やかに */
.preview-main #life .max-w-5xl,
.preview-main #future .max-w-5xl,
.preview-main #story .max-w-5xl,
.preview-main #eastern .max-w-5xl { max-width: 1120px !important; }
/* 後半：幅広の長方形面 */
.preview-main section.eyep-wide-panel {
  position: relative; isolation:isolate; background: var(--eyep-base-v8) !important; padding-top:58px !important; padding-bottom:58px !important;
}
.preview-main section.eyep-wide-panel::before {
  content:''; position:absolute; z-index:0; left:50%; transform:translateX(-50%); top:0; bottom:0; width:min(1240px, calc(100% - 48px)); background:var(--eyep-greige-v8); border:1px solid rgba(188,171,154,.18); border-radius:0;
}
.preview-main section.eyep-wide-panel > div:first-child { position:relative; z-index:1; max-width: 1040px !important; margin-inline:auto; }
.preview-main #habits .max-w-4xl, .preview-main #children .max-w-4xl, .preview-main #care .max-w-4xl {max-width:960px!important;}
.preview-main #habits .eyep-reference-details{background:none!important;}
.preview-main #children .eyep-stats-grid{gap:14px 16px!important;margin-bottom:22px!important;}
.preview-main #children .eyep-stat{background:var(--eyep-paper-v8)!important;border:1px solid var(--eyep-line-v8)!important;padding:16px 10px!important;}
.preview-main #care .space-y-5{row-gap:1.1rem!important;}
/* section spacing / typography tweaks retained */
.preview-main #care .eyep-lead{margin-bottom:10px!important;}
.preview-main #care p.text-left.pt-2{padding-top:0!important;}
.preview-main #habits .eyep-habits-ending{margin-top:24px!important;padding-top:18px!important;}
@media (min-width: 768px) {
  .preview-main section.eyep-wide-panel { padding-top:72px !important; padding-bottom:72px !important; }
  .preview-main #habits .max-w-4xl, .preview-main #children .max-w-4xl, .preview-main #care .max-w-4xl {max-width:980px!important;}
}
@media (max-width: 767px) {
  .preview-main #message::after, .preview-main #trouble::after, .preview-main #life::after, .preview-main #future::after, .preview-main #story::after { width: calc(100% - 28px); }
  .preview-main #trouble .eyep-trouble-grid{grid-template-columns:1fr!important;gap:10px!important;}
  .preview-main section.eyep-wide-panel { padding-inline:20px !important; }
  .preview-main section.eyep-wide-panel::before { width: calc(100% - 16px); }
  .preview-main section.eyep-wide-panel > div:first-child { max-width:none !important; }
}


/* 第9版：区切りは色の濃淡だけ。線なし、帯なし、塊感なし */
:root {
  --eyep-v9-base: #FCFAF7;
  --eyep-v9-soft: #F7F1EB;
  --eyep-v9-paper: #FFFCF8;
  --eyep-v9-line: #E3D9CE;
}
.preview-main,
.preview-main main { background: var(--eyep-v9-base) !important; }
.preview-main section.eyep-section {
  background-image: none !important;
  border-top: 0 !important;
  box-shadow: none !important;
}
/* 第8版までの区切り線・帯を無効化 */
.preview-main #message::after,
.preview-main #trouble::after,
.preview-main #life::after,
.preview-main #future::after,
.preview-main #story::after,
.preview-main section.eyep-inset-panel::before,
.preview-main section.eyep-wide-panel::before {
  content: none !important;
  display: none !important;
}
.preview-main section.eyep-inset-panel,
.preview-main section.eyep-wide-panel {
  padding-top: 52px !important;
  padding-bottom: 52px !important;
  background: transparent !important;
}
.preview-main section.eyep-inset-panel > div:first-child,
.preview-main section.eyep-wide-panel > div:first-child {
  max-width: 980px !important;
}
/* セクションごとにやさしい濃淡だけで区切る */
.preview-main #message,
.preview-main #life,
.preview-main #story,
.preview-main #habits,
.preview-main #care {
  background: var(--eyep-v9-base) !important;
}
.preview-main #trouble,
.preview-main #future,
.preview-main #eastern,
.preview-main #children {
  background: var(--eyep-v9-soft) !important;
}
/* 前半後半とも読みやすい幅に */
.preview-main #message .max-w-3xl,
.preview-main #trouble .max-w-3xl,
.preview-main #children .max-w-3xl,
.preview-main #habits .max-w-4xl,
.preview-main #care .max-w-4xl {
  max-width: 920px !important;
}
.preview-main #life .max-w-5xl,
.preview-main #future .max-w-5xl,
.preview-main #story .max-w-5xl,
.preview-main #eastern .max-w-5xl {
  max-width: 1100px !important;
}
/* カードはすっきり残す */
.preview-main #trouble .eyep-trouble-grid {
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 14px 18px !important;
  margin-bottom: 26px !important;
}
.preview-main #trouble .eyep-trouble-item {
  background: var(--eyep-v9-paper) !important;
  border: 1px solid var(--eyep-v9-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 16px 18px !important;
  min-height: 0 !important;
}
.preview-main #children .eyep-stats-grid {
  gap: 12px 16px !important;
  margin-bottom: 22px !important;
}
.preview-main #children .eyep-stat {
  background: var(--eyep-v9-paper) !important;
  border: 1px solid var(--eyep-v9-line) !important;
  border-left: 1px solid var(--eyep-v9-line) !important;
  padding: 16px 10px !important;
}
.preview-main #children .eyep-stat:first-child { border-left: 1px solid var(--eyep-v9-line) !important; }
/* 余白は軽めに */
.preview-main .eyep-section { padding-top: 56px !important; padding-bottom: 56px !important; }
.preview-main #message { padding-top: 62px !important; padding-bottom: 62px !important; }
.preview-main #care .eyep-lead { margin-bottom: 10px !important; }
.preview-main #care p.text-left.pt-2 { padding-top: 0 !important; }
.preview-main #habits .eyep-reference-details,
.preview-main #habits .eyep-habits-ending { background: none !important; }
@media (min-width:768px){
  .preview-main .eyep-section { padding-top: 72px !important; padding-bottom: 72px !important; }
  .preview-main #message { padding-top: 78px !important; padding-bottom: 78px !important; }
  .preview-main #trouble .eyep-trouble-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:767px){
  .preview-main section.eyep-inset-panel,
  .preview-main section.eyep-wide-panel,
  .preview-main .eyep-section { padding-top: 48px !important; padding-bottom: 48px !important; }
  .preview-main #trouble .eyep-trouble-grid { grid-template-columns: 1fr !important; gap: 10px !important; }
}

/* ================================================================
   v10 | 後半は情報の見せ方を変える。前半のv9配色はそのまま。
   ================================================================ */
.preview-main #future .eyep-future-copy {
  max-width: 580px;
}
.preview-main #future .eyep-future-subhead {
  margin: 0 0 14px !important;
  line-height: 1.65 !important;
}
.preview-main #future .eyep-future-paragraph {
  margin: 0 0 20px !important;
  font-size: 16px;
  color: #63564E;
  line-height: 1.84 !important;
  overflow-wrap: normal;
}
.preview-main #future .eyep-future-strong {
  color: #493A32;
  line-height: 1.83 !important;
}
.preview-main #future .eyep-future-ending {
  margin-top: 24px !important;
}
.preview-main #future .eyep-future-ending p {
  margin: 0 0 12px !important;
  line-height: 1.82 !important;
}
/* 共通色は前半のv9を変更しない: habits / children / careの中身だけ変更 */
.preview-main #habits.eyep-editorial-habits,
.preview-main #care.eyep-editorial-care { background: #FCFAF7 !important; }
.preview-main #children.eyep-editorial-children { background: #F7F1EB !important; }
/* 01: 習慣はカードにせず2列の整った読み物リスト */
.preview-main #habits.eyep-editorial-habits > div:first-child { max-width: 1050px !important; }
.preview-main #habits.eyep-editorial-habits > div:first-child > .max-w-3xl { max-width: 1000px !important; }
.preview-main #habits .eyep-habits-list {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr));
  column-gap: clamp(32px,5vw,74px);
  row-gap: 4px;
  margin-top: 38px !important;
  padding: 0 !important;
  border: 0 !important;
}
.preview-main #habits .eyep-habit-item {
  min-width: 0;
  padding: 25px 0 27px !important;
  margin: 0;
  border: 0 !important;
  border-top: 1px solid #DDD3C9 !important;
  background: transparent !important;
}
.preview-main #habits .eyep-habit-item > div { gap: 15px !important; }
.preview-main #habits .eyep-habit-number {
  display: block !important;
  width: 30px !important; height: auto !important;
  padding-top: 1px;
  flex: 0 0 30px !important;
  background: none !important;
  color: #A17B62 !important;
  border-radius: 0 !important;
  font: 600 18px/1.6 'Noto Serif JP',serif !important;
  text-align: left;
}
.preview-main #habits .eyep-habit-item h3 {
  margin: 0 0 10px !important;
  line-height: 1.6 !important;
}
.preview-main #habits .eyep-habit-item .space-y-1\.5 p { line-height: 1.82 !important; }
.preview-main #habits .eyep-habit-reference {
  display: inline-block !important;
  margin-top: 12px !important;
  line-height: 1.7 !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
}
.preview-main #habits .eyep-habits-ending {
  max-width: 760px;
  margin: 30px auto 0 !important;
  border-top: 0 !important;
  padding: 12px 0 0 !important;
}
.preview-main #habits .eyep-habits-ending p:first-child {
  font-size: 19px;
  margin-bottom: 15px !important;
}
.preview-main #habits .eyep-habits-ending + p,
.preview-main #habits .eyep-reference-details { max-width: 790px; margin-left: auto; margin-right: auto; }
/* 02: 子どもの統計は数字をきれいに横並びで見せる */
.preview-main #children.eyep-editorial-children > div:first-child { max-width: 1050px !important; }
.preview-main #children .eyep-children-text { max-width: 770px !important; }
.preview-main #children .eyep-editorial-stats {
  max-width: 970px !important;
  gap: 16px !important;
  margin: 24px auto 18px !important;
}
.preview-main #children .eyep-editorial-stats .eyep-stat {
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:145px;
  background:#FFFCF8 !important;
  border:1px solid #DFD4C9 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:24px 12px !important;
}
.preview-main #children .eyep-editorial-stats .eyep-stat p:first-child {
  font-size:clamp(32px,3vw,43px) !important;
  line-height:1.35 !important;
  margin-bottom: 9px !important;
}
.preview-main #children .eyep-editorial-stats .eyep-stat p:last-child {
  line-height:1.7 !important;
}
.preview-main #children .eyep-editorial-stats + div { max-width:970px !important; margin:0 auto 42px !important; }
.preview-main #children .eyep-editorial-stats + div a { white-space:normal !important; }
/* 03: 最後の想いはカード・線・余分な左右オフセットを使わず文章を見せる */
.preview-main #care.eyep-editorial-care > div:first-child { max-width: 850px !important; }
.preview-main #care .eyep-care-intro {
  font-size:clamp(20px,2.1vw,25px);
  line-height:1.65 !important;
  margin:10px auto 27px !important;
  color:#584338;
}
.preview-main #care .eyep-care-prose {
  max-width: 720px !important;
  margin: 0 auto !important;
  padding: 0 2px;
  line-height:1.85 !important;
}
.preview-main #care .eyep-care-prose p {
  line-height:1.85 !important;
  margin:0 !important;
}
.preview-main #care .eyep-care-prose { display:flex; flex-direction:column; gap:18px; }
.preview-main #care .eyep-care-prose .eyep-care-emphasis {
  font-size:18px;
  font-family:'Noto Serif JP',serif;
  color:#594437;
  margin:8px 0 0 !important;
}
.preview-main #care .eyep-care-prose p:last-child { font-size:16px; margin-top:0!important; }
@media(max-width:767px) {
  .preview-main #future .eyep-future-paragraph { margin-bottom:18px!important; }
  .preview-main #habits .eyep-habits-list { grid-template-columns:1fr; margin-top:30px!important; }
  .preview-main #habits .eyep-habit-item { padding:20px 0 21px!important; }
  .preview-main #habits .eyep-habit-item > div { gap:13px!important; }
  .preview-main #children .eyep-editorial-stats { grid-template-columns:1fr!important; gap:10px!important; }
  .preview-main #children .eyep-editorial-stats .eyep-stat { min-height:104px; padding:13px 10px!important; }
  .preview-main #children .eyep-editorial-stats .eyep-stat p:first-child { font-size:33px!important; }
  .preview-main #care .eyep-care-intro { margin:9px auto 22px!important; }
  .preview-main #care .eyep-care-prose { gap:16px; }
  .preview-main #care .eyep-care-prose .eyep-care-emphasis {font-size:17px;}
}

/* v10 QA: viewport overflow fix and more natural introduction wrapping */
.preview-main nav > .w-full,
.preview-main footer > .w-full {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.preview-main #habits > div > .max-w-3xl > p.text-center.text-foreground-700 {
  max-width: 630px;
  margin-left: auto;
  margin-right: auto;
  text-wrap: pretty;
  line-height: 1.85 !important;
}
@media (max-width:767px) {
 .preview-main #habits > div > .max-w-3xl > p.text-center.text-foreground-700 {max-width:325px;}
}


/* 第11版（完成候補）：参考画像に合わせて「私が届けたいこと」の本文のみ再調整 */
.preview-main #care.eyep-editorial-care .eyep-care-prose {
  box-sizing: border-box;
  width: 100%;
  max-width: 720px !important;
  margin-inline: auto !important;
  padding-inline: 24px !important;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 26px !important;
  text-align: left !important;
}
.preview-main #care.eyep-editorial-care .eyep-care-prose p {
  margin: 0 !important;
  font-size: 22px !important;
  line-height: 1.9 !important;
  text-align: left !important;
  letter-spacing: 0.005em;
}
.preview-main #care.eyep-editorial-care .eyep-care-prose .eyep-care-emphasis {
  font-size: 22px !important;
  margin-top: 5px !important;
  font-weight: 700;
}
.preview-main #care.eyep-editorial-care .eyep-care-prose p:last-child {
  font-size: 22px !important;
  margin-top: 0 !important;
}
@media (max-width: 767px) {
  .preview-main #care.eyep-editorial-care .eyep-care-prose {
    padding-inline: 2px !important;
    gap: 18px !important;
  }
  .preview-main #care.eyep-editorial-care .eyep-care-prose p,
  .preview-main #care.eyep-editorial-care .eyep-care-prose p:last-child {
    font-size: 16px !important;
    line-height: 1.9 !important;
  }
  .preview-main #care.eyep-editorial-care .eyep-care-prose .eyep-care-emphasis {
    font-size: 17px !important;
  }
}

/* 第11版：スマホで短い句読点だけが残らないよう段落を均等に折り返す */
@media (max-width: 767px) {
  .preview-main #care.eyep-editorial-care .eyep-care-prose p {
    text-wrap: balance;
  }
}


/* 第12版：ご指摘の２か所だけ修正（PC本文が大きすぎる／習慣冒頭の変な折返し） */
.preview-main #care.eyep-editorial-care .eyep-care-prose {gap:22px!important;}
.preview-main #care.eyep-editorial-care .eyep-care-prose p,
.preview-main #care.eyep-editorial-care .eyep-care-prose p:last-child {
  font-size:17px!important;
  line-height:1.85!important;
  letter-spacing:0!important;
}
.preview-main #care.eyep-editorial-care .eyep-care-prose .eyep-care-emphasis {
  font-size:18px!important;
  line-height:1.8!important;
}
.preview-main #habits .eyep-habits-intro-line {display:block;text-wrap:balance;}
.preview-main #habits .eyep-habits-intro-line + .eyep-habits-intro-line {margin-top:4px;}
@media(max-width:767px){
  .preview-main #care.eyep-editorial-care .eyep-care-prose {gap:18px!important;}
  .preview-main #care.eyep-editorial-care .eyep-care-prose p,
  .preview-main #care.eyep-editorial-care .eyep-care-prose p:last-child {font-size:16px!important;}
  .preview-main #care.eyep-editorial-care .eyep-care-prose .eyep-care-emphasis {font-size:17px!important;}
}


/* 第13版：『私が届けたいこと』本文ブロックの横位置だけ最終固定。
   文字は左揃え、本文の箱はページ中央。画面幅によって揺れないよう指定を一本化。 */
.preview-main #care.eyep-editorial-care > div:first-child {
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.preview-main #care.eyep-editorial-care .eyep-care-prose {
  width: min(100%, 660px) !important;
  max-width: 660px !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
  box-sizing: border-box !important;
  align-items: stretch !important;
  text-align: left !important;
}
.preview-main #care.eyep-editorial-care .eyep-care-prose p {
  text-align: left !important;
}
@media (max-width: 767px) {
  .preview-main #care.eyep-editorial-care .eyep-care-prose {
    width: 100% !important;
    max-width: none !important;
    padding-inline: 0 !important;
  }
}


/* 第14版：本文の最大行幅に合わせてブロックを縮め、中央揃え。文中は左揃えのまま。
   660px固定の枠は文字より広く、文章だけが左に寄って見える原因だった。 */
@media (min-width: 768px) {
  .preview-main #care.eyep-editorial-care .eyep-care-prose {
    width: max-content !important;
    max-width: calc(100% - 32px) !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
    text-align: left !important;
  }
}


/* 目をいたわる習慣からカレンダーページにつなぐ小さな案内 */
.preview-main #calendar-invitation,
#calendar-invitation {
  background: #FCFAF7;
  color: #49372e;
  padding: 66px 24px 72px;
}
#calendar-invitation .eyep-calendar-inner {
  max-width: 1080px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, .75fr);
  align-items: center;
  gap: clamp(36px, 6vw, 88px);
}
#calendar-invitation .eyep-calendar-copy{min-width:0;}
#calendar-invitation .eyep-calendar-eyebrow {
  font-family: 'Noto Sans JP',sans-serif;
  color: #9D7463;
  font-size: 11px!important;
  letter-spacing: .22em;
  margin:0 0 14px!important;
}
#calendar-invitation h2 {
  font-family:'Noto Serif JP',serif;
  color: #4E3D35;
  font-size:clamp(23px, 2.6vw, 31px);
  font-weight:700;
  letter-spacing:.045em;
  line-height:1.65;
  margin:0 0 24px;
}
#calendar-invitation .eyep-calendar-copy>p:not(.eyep-calendar-eyebrow):not(.eyep-calendar-note) {
  color:#6A574B;
  font-family:'Noto Sans JP',sans-serif;
  font-size:15px;
  line-height:1.95!important;
  margin:0 0 14px!important;
}
#calendar-invitation .eyep-calendar-action {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  min-height:50px;
  margin-top:12px;
  padding:12px 28px;
  background:#9D6557;
  border:1px solid #9D6557;
  border-radius:0;
  color:white;
  font-family:'Noto Sans JP',sans-serif;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  transition:background-color .2s ease, color .2s ease;
}
#calendar-invitation .eyep-calendar-action:hover,
#calendar-invitation .eyep-calendar-action:focus-visible {
  background:#765044;
  border-color:#765044;
}
#calendar-invitation .eyep-calendar-note {
  margin:10px 0 0!important;
  color:#89766A;
  font-size:12px!important;
  line-height:1.75!important;
}
#calendar-invitation .eyep-calendar-image {
  width:100%;
  min-width:0;
}
#calendar-invitation .eyep-calendar-image img {
  width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;
  border:1px solid #E9E0D6;
  border-radius:0;
  display:block;
}
#calendar-invitation .eyep-calendar-mobile-break{display:none;}
@media(max-width:767px){
  #calendar-invitation{padding:52px 22px 54px;}
  #calendar-invitation .eyep-calendar-inner{grid-template-columns:1fr;gap:26px;}
  #calendar-invitation h2{font-size:25px;margin-bottom:18px;}
  #calendar-invitation .eyep-calendar-desktop-break{display:none;}
  #calendar-invitation .eyep-calendar-mobile-break{display:block;}
  #calendar-invitation .eyep-calendar-copy>p:not(.eyep-calendar-eyebrow):not(.eyep-calendar-note) {font-size:14px;line-height:1.9!important;}
  #calendar-invitation .eyep-calendar-image{width:min(100%,340px);margin-inline:auto;}
}
