/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-yellow-100: #fff7b8;
    --color-green-100: #97c1c0;
    --color-blue-400: #0866ff;
    --color-blue-600: oklch(54.6% 0.245 262.881);
    --color-pink-100: #fef3f1;
    --color-pink-200: #fceae6;
    --color-pink-300: #fddad5;
    --color-pink-400: #f9d0d4;
    --color-pink-500: #ee81a0;
    --color-pink-600: #ea6188;
    --color-pink-700: #ffd5cf;
    --color-gray-100: #eaeaea;
    --color-gray-200: #e6e6e6;
    --color-gray-300: #d9d9d9;
    --color-gray-400: #c9caca;
    --color-gray-500: #9f9f9f;
    --color-gray-600: #4f5451;
    --color-gray-900: oklch(21% 0.034 264.665);
    --color-black: #000000;
    --color-white: #ffffff;
    --spacing: 0.25rem;
    --text-xs: 0.75rem;
    --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-xl: 1.25rem;
    --text-2xl: 1.5rem;
    --text-3xl: 1.875rem;
    --text-4xl: 2.25rem;
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --text-6xl: 3.75rem;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --tracking-tight: -0.025em;
    --tracking-wider: 0.05em;
    --tracking-widest: 0.1em;
    --leading-tight: 1.25;
    --leading-normal: 1.5;
    --leading-relaxed: 1.625;
    --leading-loose: 2;
    --radius-xs: 0.125rem;
    --radius-sm: 0.25rem;
    --radius-md: 0.375rem;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --radius-4xl: 2rem;
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --aspect-video: 16 / 9;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: "Noto Sans JP", sans-serif;
    --default-mono-font-family: var(--font-mono);
    --font-noto: "Noto Sans JP", sans-serif;
    --font-din: "DIN Neuzeit Grotesk LT", sans-serif;
    --color-text: var(--color-gray-600);
    --color-pink: var(--color-pink-500);
    --color-contactlens-purple: #e371cb;
    --color-contactlens-yellow: #ffbc3d;
    --color-bg-1: #f2eee7;
    --color-yellow: #ffff00;
    --color-glass-premium-1: #131e3a;
    --color-glass-premium-2: #c10500;
    --text-2xs: 0.625rem;
    --text-1\.5xl: 1.375rem;
    --text-2\.5xl: 1.75rem;
    --text-3\.5xl: 2rem;
    --container-main: 75rem;
    --spacing-header-height: 5.5rem;
    --radius-3\.5xl: 1.75rem;
    --transition-opacity-visiblity: opacity, visibility;
    --aspect-2\/1: 2/1;
    --aspect-3\/2: 3/2;
    --aspect-16\/10: 16/10;
    --aspect-27\/5: 27/5;
  }
}
@layer 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:where([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;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or
    (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    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:where([type="button"], [type="reset"], [type="submit"]),
  ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button,
  ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
  }
  .static {
    position: static;
  }
  .col-span-2 {
    grid-column: span 2 / span 2;
  }
  .col-span-full {
    grid-column: 1 / -1;
  }
  .container {
    width: 100%;
    @media (width >= 26.75rem) {
      max-width: 26.75rem;
    }
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 90rem) {
      max-width: 90rem;
    }
  }
  .mx-auto {
    margin-inline: auto;
  }
  .my-3 {
    margin-block: calc(var(--spacing) * 3);
  }
  .my-16 {
    margin-block: calc(var(--spacing) * 16);
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }
  .mt-5 {
    margin-top: calc(var(--spacing) * 5);
  }
  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
  .mt-12 {
    margin-top: calc(var(--spacing) * 12);
  }
  .mt-\[6px\] {
    margin-top: 6px;
  }
  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }
  .mb-10 {
    margin-bottom: calc(var(--spacing) * 10);
  }
  .mb-14 {
    margin-bottom: calc(var(--spacing) * 14);
  }
  .block {
    display: block;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .table {
    display: table;
  }
  .aspect-video {
    aspect-ratio: var(--aspect-video);
  }
  .size-2 {
    width: calc(var(--spacing) * 2);
    height: calc(var(--spacing) * 2);
  }
  .size-8 {
    width: calc(var(--spacing) * 8);
    height: calc(var(--spacing) * 8);
  }
  .size-10 {
    width: calc(var(--spacing) * 10);
    height: calc(var(--spacing) * 10);
  }
  .size-12 {
    width: calc(var(--spacing) * 12);
    height: calc(var(--spacing) * 12);
  }
  .h-auto {
    height: auto;
  }
  .h-full {
    height: 100%;
  }
  .w-full {
    width: 100%;
  }
  .max-w-80 {
    max-width: calc(var(--spacing) * 80);
  }
  .max-w-104 {
    max-width: calc(var(--spacing) * 104);
  }
  .flex-1 {
    flex: 1;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .grid-cols-\[repeat\(3\,minmax\(0\,auto\)\)\] {
    grid-template-columns: repeat(3,minmax(0,auto));
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-row {
    flex-direction: row;
  }
  .items-center {
    align-items: center;
  }
  .items-end {
    align-items: flex-end;
  }
  .justify-center {
    justify-content: center;
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }
  .gap-12 {
    gap: calc(var(--spacing) * 12);
  }
  .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-3 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * 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)));
    }
  }
  .gap-x-1 {
    column-gap: calc(var(--spacing) * 1);
  }
  .gap-x-2\.5 {
    column-gap: calc(var(--spacing) * 2.5);
  }
  .gap-y-1 {
    row-gap: calc(var(--spacing) * 1);
  }
  .gap-y-4 {
    row-gap: calc(var(--spacing) * 4);
  }
  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }
  .rounded-xl {
    border-radius: var(--radius-xl);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px;
  }
  .border-pink {
    border-color: var(--color-pink);
  }
  .border-pink-700 {
    border-color: var(--color-pink-700);
  }
  .\!bg-pink-100 {
    background-color: var(--color-pink-100) !important;
  }
  .bg-bg-1 {
    background-color: var(--color-bg-1);
  }
  .bg-pink-100 {
    background-color: var(--color-pink-100);
  }
  .bg-pink-700 {
    background-color: var(--color-pink-700);
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .bg-white\/25 {
    background-color: color-mix(in srgb, #ffffff 25%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 25%, transparent);
    }
  }
  .mask-repeat {
    mask-repeat: repeat;
  }
  .fill-yellow {
    fill: var(--color-yellow);
  }
  .stroke-pink {
    stroke: var(--color-pink);
  }
  .object-contain {
    object-fit: contain;
  }
  .object-cover {
    object-fit: cover;
  }
  .object-center {
    object-position: center;
  }
  .\!p-8 {
    padding: calc(var(--spacing) * 8) !important;
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }
  .pt-0 {
    padding-top: calc(var(--spacing) * 0);
  }
  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }
  .pt-5 {
    padding-top: calc(var(--spacing) * 5);
  }
  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }
  .pt-\[100\%\] {
    padding-top: 100%;
  }
  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }
  .pb-6 {
    padding-bottom: calc(var(--spacing) * 6);
  }
  .pb-12 {
    padding-bottom: calc(var(--spacing) * 12);
  }
  .pb-\[26px\] {
    padding-bottom: 26px;
  }
  .\!text-left {
    text-align: left !important;
  }
  .text-center {
    text-align: center;
  }
  .text-left {
    text-align: left;
  }
  .text-2xs\/tight {
    font-size: var(--text-2xs);
    line-height: var(--leading-tight);
  }
  .text-3\.5xl\/none {
    font-size: var(--text-3\.5xl);
    line-height: 1;
  }
  .text-base\/none {
    font-size: var(--text-base);
    line-height: 1;
  }
  .text-lg\/loose {
    font-size: var(--text-lg);
    line-height: var(--leading-loose);
  }
  .text-lg\/none {
    font-size: var(--text-lg);
    line-height: 1;
  }
  .text-lg\/normal {
    font-size: var(--text-lg);
    line-height: var(--leading-normal);
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-sm\/normal {
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
  }
  .text-xs\/none {
    font-size: var(--text-xs);
    line-height: 1;
  }
  .text-xs\/normal {
    font-size: var(--text-xs);
    line-height: var(--leading-normal);
  }
  .\!leading-\[25px\] {
    --tw-leading: 25px !important;
    line-height: 25px !important;
  }
  .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-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }
  .text-\[\#168BD9\] {
    color: #168BD9;
  }
  .text-black {
    color: var(--color-black);
  }
  .text-blue-400 {
    color: var(--color-blue-400);
  }
  .text-gray-600 {
    color: var(--color-gray-600);
  }
  .text-pink {
    color: var(--color-pink);
  }
  .lowercase {
    text-transform: lowercase;
  }
  .underline {
    text-decoration-line: underline;
  }
  .decoration-blue-600 {
    text-decoration-color: var(--color-blue-600);
  }
  .underline-offset-2 {
    text-underline-offset: 2px;
  }
  .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,);
  }
  .max-lg\:hidden {
    @media (width < 64rem) {
      display: none;
    }
  }
  .max-lg\:flex-col {
    @media (width < 64rem) {
      flex-direction: column;
    }
  }
  .max-lg\:px-6 {
    @media (width < 64rem) {
      padding-inline: calc(var(--spacing) * 6);
    }
  }
  .max-lg\:text-center {
    @media (width < 64rem) {
      text-align: center;
    }
  }
  .max-md\:hidden {
    @media (width < 48rem) {
      display: none;
    }
  }
  .sm\:block {
    @media (width >= 40rem) {
      display: block;
    }
  }
  .sm\:hidden {
    @media (width >= 40rem) {
      display: none;
    }
  }
  .md\:hidden {
    @media (width >= 48rem) {
      display: none;
    }
  }
  .md\:flex-row {
    @media (width >= 48rem) {
      flex-direction: row;
    }
  }
  .md\:rounded-3xl {
    @media (width >= 48rem) {
      border-radius: var(--radius-3xl);
    }
  }
  .md\:text-center {
    @media (width >= 48rem) {
      text-align: center;
    }
  }
  .lg\:mt-7 {
    @media (width >= 64rem) {
      margin-top: calc(var(--spacing) * 7);
    }
  }
  .lg\:mt-9 {
    @media (width >= 64rem) {
      margin-top: calc(var(--spacing) * 9);
    }
  }
  .lg\:mt-16 {
    @media (width >= 64rem) {
      margin-top: calc(var(--spacing) * 16);
    }
  }
  .lg\:block {
    @media (width >= 64rem) {
      display: block;
    }
  }
  .lg\:hidden {
    @media (width >= 64rem) {
      display: none;
    }
  }
  .lg\:size-12 {
    @media (width >= 64rem) {
      width: calc(var(--spacing) * 12);
      height: calc(var(--spacing) * 12);
    }
  }
  .lg\:h-auto {
    @media (width >= 64rem) {
      height: auto;
    }
  }
  .lg\:w-24 {
    @media (width >= 64rem) {
      width: calc(var(--spacing) * 24);
    }
  }
  .lg\:grid-cols-2 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .lg\:gap-8 {
    @media (width >= 64rem) {
      gap: calc(var(--spacing) * 8);
    }
  }
  .lg\:space-y-6 {
    @media (width >= 64rem) {
      :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)));
      }
    }
  }
  .lg\:pt-0 {
    @media (width >= 64rem) {
      padding-top: calc(var(--spacing) * 0);
    }
  }
  .lg\:pt-10 {
    @media (width >= 64rem) {
      padding-top: calc(var(--spacing) * 10);
    }
  }
  .lg\:pb-10 {
    @media (width >= 64rem) {
      padding-bottom: calc(var(--spacing) * 10);
    }
  }
  .lg\:pb-12 {
    @media (width >= 64rem) {
      padding-bottom: calc(var(--spacing) * 12);
    }
  }
  .lg\:pb-\[26px\] {
    @media (width >= 64rem) {
      padding-bottom: 26px;
    }
  }
  .lg\:\!text-2xl\/normal {
    @media (width >= 64rem) {
      font-size: var(--text-2xl) !important;
      line-height: var(--leading-normal) !important;
    }
  }
  .lg\:text-1\.5xl\/none {
    @media (width >= 64rem) {
      font-size: var(--text-1\.5xl);
      line-height: 1;
    }
  }
  .lg\:text-2xl\/normal {
    @media (width >= 64rem) {
      font-size: var(--text-2xl);
      line-height: var(--leading-normal);
    }
  }
  .lg\:text-4xl\/none {
    @media (width >= 64rem) {
      font-size: var(--text-4xl);
      line-height: 1;
    }
  }
  .lg\:text-base {
    @media (width >= 64rem) {
      font-size: var(--text-base);
      line-height: var(--tw-leading, var(--text-base--line-height));
    }
  }
  .lg\:text-base\/normal {
    @media (width >= 64rem) {
      font-size: var(--text-base);
      line-height: var(--leading-normal);
    }
  }
  .lg\:text-xs\/tight {
    @media (width >= 64rem) {
      font-size: var(--text-xs);
      line-height: var(--leading-tight);
    }
  }
  .xl\:grid-cols-16 {
    @media (width >= 80rem) {
      grid-template-columns: repeat(16, minmax(0, 1fr));
    }
  }
}
@layer components {
  .c-button {
    position: relative;
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    column-gap: calc(var(--spacing) * 1);
    border-radius: calc(infinity * 1px);
    padding-inline: calc(var(--spacing) * 8);
    padding-block: calc(var(--spacing) * 3);
    color: var(--color-white);
    @media (width >= 64rem) {
      padding-inline: calc(var(--spacing) * 9);
    }
    margin-inline: var(--button-margin,auto);
    max-width: var(--button-width,auto);
    background-color: var(--button-color,var(--color-pink));
    font-size: var(--button-text-length,var(--text-base));
    line-height: var(--leading-normal);
    @media (width >= 64rem) {
      font-size: var(--button-text-lg-length,var(--text-xl));
      line-height: var(--leading-normal);
    }
    &::after {
      position: absolute;
      right: calc(var(--spacing) * 4);
      display: inline-block;
      width: 1em;
      height: 1em;
      background-color: currentcolor;
      mask-size: contain;
      mask-position: center;
      mask-repeat: no-repeat;
      --tw-content: '';
      content: var(--tw-content);
      mask-image: url("/assets/icons/circle-chevron-right.svg");
      &.--down {
        mask-image: url("/assets/icons/circle-chevron-down.svg");
      }
    }
    &.--size-sm {
      font-size: var(--text-2xs);
      line-height: 1;
      @media (width >= 64rem) {
        font-size: var(--text-2xs);
        line-height: 1;
      }
    }
    &.--size-md {
      --button-width: calc(var(--spacing) * 80);
    }
    &.--size-lg {
      --button-width: calc(var(--spacing) * 130);
    }
  }
}
@layer components {
  .footer-consult {
    position: relative;
    padding-inline: calc(var(--spacing) * 6);
    padding-block: calc(var(--spacing) * 7);
    text-align: center;
    @media (width >= 64rem) {
      padding-block: calc(var(--spacing) * 16);
    }
    h2 {
      font-size: var(--text-xl);
      line-height: 1;
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      @media (width >= 64rem) {
        font-size: var(--text-2xl);
        line-height: 1;
      }
    }
    p {
      font-size: var(--text-sm);
      line-height: var(--leading-normal);
      @media (width >= 64rem) {
        font-size: var(--text-base);
        line-height: var(--leading-normal);
      }
    }
    img {
      position: absolute;
      inset: calc(var(--spacing) * 0);
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }
  .footer-consult__content {
    position: relative;
    margin-inline: auto;
    max-width: calc(var(--spacing) * 225);
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
    border-radius: var(--radius-xl);
    background-color: color-mix(in srgb, #ffffff 95%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 95%, transparent);
    }
    padding-inline: calc(var(--spacing) * 5);
    padding-block: calc(var(--spacing) * 8);
    @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)));
      }
    }
    @media (width >= 64rem) {
      padding-block: calc(var(--spacing) * 16);
    }
  }
}
@layer components {
  .c-faq-list {
    display: grid;
    row-gap: calc(var(--spacing) * 4);
    details {
      overflow: hidden;
      border-radius: var(--radius-xl);
      &[open] > summary {
        border-bottom-right-radius: 0;
        border-bottom-left-radius: 0;
      }
      & > div {
        display: flex;
        align-items: flex-start;
        column-gap: calc(var(--spacing) * 4);
        border-bottom-right-radius: var(--radius-xl);
        border-bottom-left-radius: var(--radius-xl);
        background-color: var(--color-white);
        padding-inline: calc(var(--spacing) * 5);
        padding-block: calc(var(--spacing) * 6);
        font-size: var(--text-sm);
        line-height: var(--leading-relaxed);
        @media (width >= 64rem) {
          font-size: var(--text-base);
          line-height: var(--leading-relaxed);
        }
        b {
          flex-shrink: 0;
          font-size: 1.375rem;
          --tw-leading: 1;
          line-height: 1;
          --tw-font-weight: var(--font-weight-bold);
          font-weight: var(--font-weight-bold);
          color: var(--color-pink);
        }
        p {
          margin-top: 2px;
        }
      }
    }
  }
  .c-faq-list__summary {
    position: relative;
    display: flex;
    min-height: 5.75rem;
    cursor: pointer;
    list-style-type: none;
    align-items: center;
    column-gap: calc(var(--spacing) * 3);
    border-radius: var(--radius-xl);
    background-color: var(--color-pink);
    padding-right: calc(var(--spacing) * 12);
    padding-left: calc(var(--spacing) * 5);
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-white);
    @media (width >= 64rem) {
      font-size: var(--text-base);
      line-height: var(--leading-normal);
    }
    &::-webkit-details-marker {
      display: none;
    }
    b {
      flex-shrink: 0;
      font-size: 1.375rem;
      --tw-leading: 1;
      line-height: 1;
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      color: #FFD900;
    }
    &::after,
  &::before {
      position: absolute;
      top: calc(1/2 * 100%);
      right: 18px;
      height: 3px;
      width: calc(var(--spacing) * 5);
      --tw-translate-y: calc(calc(1/2 * 100%) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
      border-radius: calc(infinity * 1px);
      background-color: #FFD0D8;
      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));
      --tw-duration: 200ms;
      transition-duration: 200ms;
      --tw-content: '';
      content: var(--tw-content);
    }
    &::after {
      rotate: 90deg;
    }
    [open] & {
      &::after {
        rotate: 0deg;
      }
    }
  }
}
@layer components {
  .c-title {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
    }
    text-align: center;
  }
  .c-title__text {
    display: block;
    font-family: var(--font-din);
    font-size: var(--text-3\.5xl);
    line-height: 1;
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
    color: var(--color-pink);
    @media (width >= 64rem) {
      font-size: var(--text-5xl);
      line-height: var(--tw-leading, var(--text-5xl--line-height));
    }
  }
  .c-title__subtext {
    display: block;
    font-size: var(--text-2xs);
    line-height: 1;
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    @media (width >= 64rem) {
      font-size: var(--text-sm);
      line-height: 1;
    }
  }
  .c-title-type-2 {
    text-align: center;
    font-size: var(--text-xl);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
    color: var(--color-pink);
    @media (width >= 64rem) {
      font-size: var(--text-2\.5xl);
      line-height: var(--leading-normal);
    }
  }
  .c-title-type-2-sub {
    text-align: center;
    font-size: var(--text-xs);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
    color: var(--color-pink);
    @media (width >= 64rem) {
      font-size: var(--text-sm);
      line-height: var(--leading-normal);
    }
  }
  .c-title-type-3 {
    text-align: center;
    font-size: var(--text-lg);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
    color: var(--color-pink);
    @media (width >= 64rem) {
      font-size: var(--text-xl);
      line-height: var(--leading-normal);
    }
  }
  .c-title-type-4 {
    text-align: center;
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
    color: var(--color-pink);
    @media (width >= 64rem) {
      font-size: var(--text-lg);
      line-height: var(--leading-normal);
    }
  }
  .c-title-type-10 {
    position: relative;
    margin-bottom: calc(var(--spacing) * 4);
    display: flex;
    align-items: center;
    column-gap: calc(var(--spacing) * 3);
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-pink);
    &:not(*:first-child) {
      margin-top: calc(var(--spacing) * 8);
    }
    @media (width >= 64rem) {
      font-size: var(--text-3\.5xl);
      line-height: var(--leading-normal);
    }
    &:before {
      display: block;
      height: calc(var(--spacing) * 10);
      width: calc(var(--spacing) * 1.5);
      border-radius: calc(infinity * 1px);
      --tw-gradient-position: to bottom;
      @supports (background-image: linear-gradient(in lab, red, red)) {
        --tw-gradient-position: to bottom in oklab;
      }
      background-image: linear-gradient(var(--tw-gradient-stops));
      --tw-gradient-from: #e96087;
      --tw-gradient-from-position: 50%;
      --tw-gradient-to: #9c007c;
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
      --tw-gradient-to-position: 50%;
      --tw-content: '';
      content: var(--tw-content);
    }
  }
  .c-title-type-10__inner {
    display: flex;
    align-items: center;
    column-gap: calc(var(--spacing) * 2);
  }
  .c-title-type-10__icon {
    display: inline-flex;
    width: calc(var(--spacing) * 6);
    height: calc(var(--spacing) * 6);
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    border-radius: calc(infinity * 1px);
    background-color: var(--color-pink);
    color: var(--color-white);
    @media (width >= 64rem) {
      width: calc(var(--spacing) * 8);
      height: calc(var(--spacing) * 8);
    }
  }
  .c-title-type-20 {
    margin-inline: auto;
    display: flex;
    max-width: calc(var(--spacing) * 120);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: calc(infinity * 1px);
    border-style: var(--tw-border-style);
    border-width: 2px;
    background-color: var(--color-white);
    padding-inline: calc(var(--spacing) * 4);
    padding-block: calc(var(--spacing) * 2);
    text-align: center;
    font-size: var(--text-lg);
    line-height: var(--leading-tight);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-pink);
    @media (width >= 64rem) {
      padding-inline: calc(var(--spacing) * 6);
    }
    @media (width >= 64rem) {
      padding-block: calc(var(--spacing) * 3);
    }
    @media (width >= 64rem) {
      font-size: var(--text-1\.5xl);
      line-height: var(--leading-tight);
    }
    small {
      display: block;
      font-size: var(--text-2xs);
      line-height: var(--leading-tight);
      @media (width >= 64rem) {
        font-size: var(--text-xs);
        line-height: var(--leading-tight);
      }
    }
  }
  .c-title-type-21 {
    margin-inline: auto;
    display: flex;
    max-width: calc(var(--spacing) * 120);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: calc(infinity * 1px);
    border-style: var(--tw-border-style);
    border-width: 2px;
    background-color: var(--color-white);
    padding-inline: calc(var(--spacing) * 4);
    padding-block: calc(var(--spacing) * 2);
    text-align: center;
    font-size: var(--text-base);
    line-height: var(--leading-tight);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-pink);
    @media (width >= 64rem) {
      padding-inline: calc(var(--spacing) * 6);
    }
    @media (width >= 64rem) {
      padding-block: calc(var(--spacing) * 3);
    }
    @media (width >= 64rem) {
      font-size: var(--text-xl);
      line-height: var(--leading-tight);
    }
    small {
      display: block;
      font-size: var(--text-2xs);
      line-height: var(--leading-tight);
      @media (width >= 64rem) {
        font-size: var(--text-xs);
        line-height: var(--leading-tight);
      }
    }
  }
  .c-title-group-type-2 {
    :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)));
    }
    @media (width >= 40rem) {
      text-align: center;
    }
  }
  .c-title-group-type-3 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)));
    }
    @media (width >= 40rem) {
      text-align: center;
    }
  }
}
@layer components {
  .common-menu {
    --common-menu-pos: max(calc((100vw - var(--container-main)) / 2), calc(var(--spacing) * 6));
    position: fixed;
    bottom: calc(var(--spacing) * 3);
    z-index: 99;
    margin-inline: auto;
    width: 100%;
    max-width: calc(var(--spacing) * 80);
    @media (width < 40rem) {
      inset-inline: calc(var(--spacing) * 6);
    }
    @media (width >= 40rem) {
      right: var(--common-menu-pos);
    }
    @media (width >= 64rem) {
      bottom: calc(var(--spacing) * 6);
    }
    .icon {
      width: calc(var(--spacing) * 8);
      height: calc(var(--spacing) * 8);
    }
    a {
      display: flex;
      align-items: center;
      column-gap: calc(var(--spacing) * 1);
      font-size: var(--text-sm);
      line-height: 1;
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
    }
  }
  .common-menu__inner {
    display: flex;
    width: 100%;
    justify-content: space-between;
    border-radius: calc(infinity * 1px);
    background-color: var(--color-pink);
    padding-inline: calc(var(--spacing) * 4);
    padding-block: calc(var(--spacing) * 2);
    color: var(--color-white);
  }
  .common-menu__divider {
    position: relative;
    display: flex;
    width: calc(var(--spacing) * 8);
    height: calc(var(--spacing) * 8);
    align-items: center;
    justify-content: center;
    overflow: hidden;
    &::before {
      height: calc(var(--spacing) * 8);
      width: 1px;
      rotate: 45deg;
      background-color: var(--color-white);
      --tw-content: '';
      content: var(--tw-content);
    }
  }
}
@layer components {
  .c-note {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
    border-radius: var(--radius-xl);
    background-color: var(--color-pink-100);
    padding: calc(var(--spacing) * 5);
    &:not(*:first-child) {
      margin-top: calc(var(--spacing) * 8);
    }
    @media (width >= 64rem) {
      :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)));
      }
    }
  }
  .c-note__title {
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    color: var(--color-pink);
    @media (width >= 64rem) {
      font-size: var(--text-xl);
      line-height: var(--leading-normal);
    }
  }
  .c-note__list {
    list-style-type: disc;
    :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)));
    }
    padding-left: calc(var(--spacing) * 4);
    li {
      font-size: var(--text-xs);
      line-height: var(--leading-normal);
      --tw-font-weight: var(--font-weight-medium);
      font-weight: var(--font-weight-medium);
      @media (width >= 64rem) {
        font-size: var(--text-base);
        line-height: var(--leading-normal);
      }
    }
  }
}
@layer components {
  .wp-pagenavi {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: calc(var(--spacing) * 1.5);
    @media (width >= 48rem) {
      gap: calc(var(--spacing) * 2);
    }
    @media (width >= 64rem) {
      justify-content: center;
    }
    & > * {
      display: flex;
      width: calc(var(--spacing) * 12);
      height: calc(var(--spacing) * 12);
      cursor: pointer;
      align-items: center;
      justify-content: center;
      justify-items: center;
      border-radius: var(--radius-xl);
      font-size: var(--text-lg);
      line-height: var(--leading-normal);
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      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));
      --tw-duration: 300ms;
      transition-duration: 300ms;
      background-color: var(--pagenavi-bg,var(--color-white));
      color: var(--pagenavi-text,var(--color-pink));
      &:hover,
    &:focus-visible {
        background-color: var(--pagenavi-bg-hover,var(--color-pink));
        color: var(--pagenavi-text-hover,var(--color-white));
      }
    }
    .current {
      --pagenavi-bg: var(--color-pink);
      --pagenavi-text: var(--color-white);
      --pagenavi-bg-hover: var(--color-pink);
      --pagenavi-text-hover: var(--color-white);
    }
  }
}
@layer components {
  .c-text {
    font-size: var(--text-sm);
    line-height: var(--leading-loose);
    @media (width >= 64rem) {
      font-size: var(--text-base);
      line-height: var(--leading-loose);
    }
  }
}
@layer components {
  .wave-bg {
    --wave-bg-height: 128px;
    --wave-bg-padding-bottom: calc(var(--spacing) * 14);
    --wave-bg-image: url("/assets/img/common/bg-wave.svg");
    mask-image: var(--wave-bg-image),
    linear-gradient(to bottom, transparent 0%, transparent var(--wave-bg-height), black var(--wave-bg-height));
    mask-size: 373px var(--wave-bg-height),
    100% 100%;
    mask-position: left top,
    center top;
    mask-repeat: repeat-x, no-repeat;
    mask-mode: alpha;
    mask-composite: add;
    @media (width >= 1200px) {
      mask-size: auto;
      --wave-bg-padding-bottom: calc(var(--spacing) * 20);
      --wave-bg-image: url("/assets/img/common/bg-wave-pc.svg");
    }
    &:has(+ &) {
      padding-bottom: calc(var(--wave-bg-height) + var(--wave-bg-padding-bottom));
    }
    & + & {
      margin-top: calc(-1 * var(--wave-bg-height));
    }
  }
}
@layer components {
  .l-footer {
    padding-top: calc(var(--spacing) * 12);
    padding-bottom: calc(var(--spacing) * 6);
    @media (width >= 48rem) {
      padding-bottom: calc(var(--spacing) * 12);
    }
    background-image: url('/assets/img/footer/bg-image.png');
    background-size: 96px 24px;
    background-position: left bottom;
    background-repeat: repeat-x;
    @media (width >= 48rem) {
      background-size: 193px 48px;
    }
  }
  .l-footer__inner {
    margin-inline: auto;
    display: grid;
    width: 100%;
    max-width: calc(var(--spacing) * 225);
    column-gap: calc(var(--spacing) * 16);
    row-gap: calc(var(--spacing) * 8);
    @media (width < 64rem) {
      max-width: calc(var(--spacing) * 100);
    }
    @media (width < 64rem) {
      padding-inline: calc(var(--spacing) * 6);
    }
    @media (width >= 64rem) {
      grid-template-columns: minmax(0,1fr) minmax(0,25rem);
    }
  }
  .l-footer-head {
    display: grid;
    align-content: space-between;
    row-gap: calc(var(--spacing) * 12);
    @media (width < 64rem) {
      justify-content: center;
    }
  }
  .l-footer__logo-image {
    width: 100%;
    max-width: calc(var(--spacing) * 52);
    @media (width >= 64rem) {
      max-width: calc(var(--spacing) * 76);
    }
  }
  .l-footer-shop-list {
    display: none;
    row-gap: calc(var(--spacing) * 3);
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
    @media (width >= 64rem) {
      display: grid;
    }
  }
  .l-footer-shop-list__item {
    display: flex;
    align-items: baseline;
    column-gap: calc(var(--spacing) * 6);
  }
  .l-footer-shop-list__item-title {
    flex-shrink: 0;
    font-size: var(--text-base);
    line-height: var(--leading-loose);
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .l-footer-shop-list__item-description {
    display: flex;
    flex-wrap: wrap;
    column-gap: calc(var(--spacing) * 3);
  }
  .l-footer-shop-list__item-link {
    font-size: var(--text-sm);
    line-height: var(--leading-loose);
    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));
    &:hover {
      @media (hover: hover) {
        color: var(--color-pink);
      }
    }
  }
  .l-footer-contents {
    display: grid;
    row-gap: calc(var(--spacing) * 8);
  }
  .l-footer__nav {
    display: grid;
    row-gap: calc(var(--spacing) * 8);
  }
  .l-footer__nav-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 2);
    @media (width >= 64rem) {
      row-gap: calc(var(--spacing) * 6);
    }
  }
  .l-footer__nav-list-item {
    border-color: var(--color-gray-400);
    @media (width < 64rem) {
      border-top-style: var(--tw-border-style);
      border-top-width: 1px;
    }
    @media (width < 64rem) {
      &:nth-last-child(-n+2) {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px;
      }
    }
  }
  .l-footer__nav-list-link {
    position: relative;
    display: flex;
    height: 100%;
    align-items: center;
    column-gap: calc(var(--spacing) * 1);
    font-size: var(--text-xs);
    line-height: 1;
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    @media (width < 64rem) {
      padding-block: calc(var(--spacing) * 4);
    }
    @media (width < 64rem) {
      padding-right: calc(var(--spacing) * 1);
    }
    @media (width < 64rem) {
      padding-left: calc(var(--spacing) * 3);
    }
    @media (width >= 64rem) {
      font-size: var(--text-base);
      line-height: 1;
    }
    @media (width >= 64rem) {
      --tw-font-weight: var(--font-weight-medium);
      font-weight: var(--font-weight-medium);
    }
    &::before {
      content: var(--tw-content);
      width: calc(var(--spacing) * 2);
      height: calc(var(--spacing) * 2);
    }
    &::before {
      content: var(--tw-content);
      background-color: var(--color-pink-600);
    }
    &::before {
      content: var(--tw-content);
      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));
    }
    &::before {
      content: var(--tw-content);
      --tw-duration: 300ms;
      transition-duration: 300ms;
    }
    &:hover {
      @media (hover: hover) {
        &::before {
          content: var(--tw-content);
          --tw-translate-x: calc(1/2 * 100%);
          translate: var(--tw-translate-x) var(--tw-translate-y);
        }
      }
    }
    &.--size-sm {
      font-size: var(--text-2xs);
      line-height: 1;
      @media (width >= 64rem) {
        font-size: var(--text-sm);
        line-height: 1;
      }
    }
    .l-footer__nav-list-item:nth-child(odd) & {
      &::after {
        position: absolute;
        inset-block: calc(var(--spacing) * 0);
        right: calc(var(--spacing) * -1);
        margin-block: calc(var(--spacing) * 1);
        width: 1px;
        background-color: var(--color-gray-400);
        @media (width < 64rem) {
          --tw-content: '';
          content: var(--tw-content);
        }
      }
    }
  }
  .l-footer-links {
    :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)));
    }
  }
  .l-footer-sns {
    width: 100%;
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
    @media (width >= 64rem) {
      :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)));
      }
    }
  }
  .l-footer-sns__title {
    font-size: var(--text-xs);
    line-height: 1;
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    @media (width < 64rem) {
      text-align: center;
    }
    @media (width >= 64rem) {
      font-size: var(--text-sm);
      line-height: 1;
    }
  }
  .l-footer-sns__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    column-gap: calc(var(--spacing) * 1);
  }
  .l-footer-sns__list-image {
    width: calc(var(--spacing) * 10);
    @media (width >= 64rem) {
      width: calc(var(--spacing) * 12);
    }
  }
  .l-footer-banner {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 4);
    row-gap: calc(var(--spacing) * 2.5);
  }
  .l-footer-banner__item--col-full {
    @media (width < 64rem) {
      grid-column: 1 / -1;
    }
    img {
      width: 100%;
    }
    img {
      width: 100%;
    }
  }
  .l-footer-banner__link {
    display: block;
    border-radius: 3px;
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-gray-400);
  }
  .logo-jcla-link {
    padding-inline: calc(var(--spacing) * 8);
    padding-block: calc(var(--spacing) * 2);
    @media (width < 64rem) {
      padding-inline: calc(var(--spacing) * 26);
    }
    @media (width < 64rem) {
      padding-block: calc(var(--spacing) * 2);
    }
  }
  .logo-fgda-link {
    --tw-border-style: none;
    border-style: none;
  }
  .logo-fgda-link-pc {
    display: none;
    @media (width >= 64rem) {
      display: block;
    }
  }
  .logo-fgda-link-sp {
    display: block;
    @media (width >= 64rem) {
      display: none;
    }
  }
  .l-footer-banner__image {
    margin-inline: auto;
    display: block;
  }
  .l-footer__copyright {
    padding-bottom: calc(var(--spacing) * 5);
    text-align: center;
    font-size: var(--text-2xs);
    line-height: 1;
    @media (width >= 64rem) {
      grid-column: 1 / -1;
    }
  }
}
@layer components {
  .l-form {
    border-radius: var(--radius-xl);
    background-color: var(--color-white);
    padding-inline: calc(var(--spacing) * 4);
    padding-block: calc(var(--spacing) * 10);
    @media (width >= 64rem) {
      padding-inline: calc(var(--spacing) * 8);
    }
    @media (width >= 64rem) {
      padding-block: calc(var(--spacing) * 12);
    }
  }
  .l-form__head {
    margin-bottom: calc(var(--spacing) * 10);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .l-form__head-item {
    position: relative;
    display: flex;
    width: calc(var(--spacing) * 18);
    height: calc(var(--spacing) * 18);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    row-gap: calc(var(--spacing) * 2);
    border-radius: calc(infinity * 1px);
    background-color: var(--color-bg-1);
    font-size: var(--text-base);
    line-height: 1;
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    @media (width >= 64rem) {
      width: calc(var(--spacing) * 27);
      height: calc(var(--spacing) * 27);
    }
    @media (width >= 64rem) {
      font-size: var(--text-2xl);
      line-height: 1;
    }
    &.is-active {
      background-color: var(--color-pink);
      color: var(--color-white);
    }
    span {
      font-size: var(--text-2xs);
      line-height: 1;
      @media (width >= 64rem) {
        font-size: var(--text-xs);
        line-height: 1;
      }
    }
  }
  .l-form__head-line {
    height: calc(var(--spacing) * 1);
    width: calc(var(--spacing) * 4);
    background-color: var(--color-bg-1);
    @media (width >= 64rem) {
      width: calc(var(--spacing) * 8);
    }
  }
  .l-form__content {
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
    @media (width >= 64rem) {
      font-size: var(--text-base);
      line-height: var(--leading-normal);
    }
    form {
      label {
        margin-bottom: calc(var(--spacing) * 8);
        display: block;
        & > span > span {
          display: block;
          font-size: var(--text-sm);
          line-height: 1;
          &:not(:has(input)) {
            display: flex;
            justify-content: space-between;
            column-gap: calc(var(--spacing) * 2);
            span {
              background-color: #E62318;
              padding-inline: calc(var(--spacing) * 2);
              padding-block: calc(var(--spacing) * 1);
              font-size: var(--text-xs);
              line-height: 1;
              color: var(--color-white);
            }
            &.message {
              margin-top: calc(var(--spacing) * 2);
            }
          }
          &:has(input, textarea) {
            margin-top: calc(var(--spacing) * 2);
            input {
              &:is([type="text"], [type="email"], [type="tel"], [type="password"], [type="date"]) {
                width: 100%;
                border-radius: var(--radius-sm);
                border-style: var(--tw-border-style);
                border-width: 1px;
                border-color: #CFCFCF;
                background-color: #F2F2F2;
                padding-inline: calc(var(--spacing) * 2);
                padding-block: calc(var(--spacing) * 3);
                font-size: var(--text-base);
                line-height: 1;
                &::placeholder {
                  color: #C5C7C6;
                }
              }
            }
            textarea {
              width: 100%;
              border-radius: var(--radius-sm);
              border-style: var(--tw-border-style);
              border-width: 1px;
              border-color: #CFCFCF;
              background-color: #F2F2F2;
              padding-inline: calc(var(--spacing) * 2);
              padding-block: calc(var(--spacing) * 3);
              font-size: var(--text-base);
              line-height: 1;
              &::placeholder {
                color: #C5C7C6;
              }
            }
            &.stop-dm {
              display: block;
              border-radius: var(--radius-sm);
              border-style: var(--tw-border-style);
              border-width: 1px;
              border-color: #CFCFCF;
              padding: calc(var(--spacing) * 5);
              .wpcf7-list-item.first {
                margin-bottom: calc(var(--spacing) * 2);
                display: flex;
                align-items: center;
                column-gap: calc(var(--spacing) * 2.5);
              }
              input[type="checkbox"] {
                width: calc(var(--spacing) * 6);
                height: calc(var(--spacing) * 6);
                border-style: var(--tw-border-style);
                border-width: 1px;
                border-color: #CFCFCF;
                background-color: #F2F2F2;
              }
            }
          }
        }
      }
      .acceptance {
        display: flex;
        align-items: center;
        justify-content: space-between;
        border-radius: var(--radius-sm);
        border-style: var(--tw-border-style);
        border-width: 1px;
        border-color: #CFCFCF;
        padding: calc(var(--spacing) * 4);
        .required {
          flex-shrink: 0;
          background-color: #E62318;
          padding-inline: calc(var(--spacing) * 2);
          padding-block: calc(var(--spacing) * 1);
          font-size: var(--text-xs);
          line-height: 1;
          color: var(--color-white);
        }
        label {
          margin-bottom: calc(var(--spacing) * 0);
          display: flex;
          align-items: center;
          column-gap: calc(var(--spacing) * 2.5);
          input[type="checkbox"] {
            width: calc(var(--spacing) * 6);
            height: calc(var(--spacing) * 6);
            border-style: var(--tw-border-style);
            border-width: 1px;
            border-color: #CFCFCF;
            background-color: #F2F2F2;
          }
        }
      }
      [type="submit"] {
        margin-top: calc(var(--spacing) * 8);
      }
    }
  }
}
@layer components {
  .globalMenu-button__line {
    transform-origin: center;
    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));
    --tw-duration: 300ms;
    transition-duration: 300ms;
    .group[aria-expanded="true"] & {
      --tw-translate-y: calc(var(--spacing) * 0);
      translate: var(--tw-translate-x) var(--tw-translate-y);
      &.is-top {
        rotate: 25deg;
      }
      &.is-middle {
        opacity: 0%;
      }
      &.is-bottom {
        rotate: calc(25deg * -1);
      }
    }
    &.is-top {
      --tw-translate-y: calc(var(--spacing) * -1.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    &.is-bottom {
      --tw-translate-y: calc(var(--spacing) * 1.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .global-menu-dialog {
    position: fixed;
    inset: calc(var(--spacing) * 0);
    margin: calc(var(--spacing) * 0);
    margin-top: var(--spacing-header-height);
    display: block;
    height: 100%;
    max-height: none;
    min-height: 100vh;
    width: 100%;
    max-width: none;
    border-style: var(--tw-border-style);
    border-width: 0px;
    background-color: transparent;
    padding: calc(var(--spacing) * 0);
    visibility: hidden;
    opacity: 0%;
    transition-property: var(--transition-opacity-visiblity);
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: 300ms;
    transition-duration: 300ms;
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
    &::backdrop {
      background-color: transparent;
    }
    &[open] {
      visibility: visible;
      opacity: 100%;
    }
  }
  .global-menu {
    height: calc(100vh - var(--spacing-header-height));
    overflow-y: auto;
    background-color: var(--color-bg-1);
    padding-inline: calc(var(--spacing) * 6);
    padding-block: calc(var(--spacing) * 12);
  }
  .global-menu__nav {
    margin-inline: auto;
    display: grid;
    max-width: calc(var(--spacing) * 100);
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: calc(var(--spacing) * 4);
    font-family: var(--font-noto);
    @media (width >= 64rem) {
      max-width: calc(var(--spacing) * 225);
    }
    @media (width >= 64rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    @media (width >= 90rem) {
      max-width: 100%;
    }
    @media (width >= 90rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }
  .global-menu__container {
    display: grid;
    align-content: flex-start;
    row-gap: calc(var(--spacing) * 4);
  }
  .global-menu__summary {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
    border-color: var(--color-pink);
    padding-bottom: calc(var(--spacing) * 4);
    font-size: var(--text-lg);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-pink);
    @media (width >= 64rem) {
      pointer-events: none;
    }
    &:focus-visible {
      outline-style: var(--tw-outline-style);
      outline-width: 2px;
      outline-offset: 2px;
      outline-color: var(--color-pink);
    }
    details[open] &::after {
      @media (width < 64rem) {
        rotate: calc(180deg * -1);
      }
    }
    details &::after {
      display: inline-block;
      width: calc(var(--spacing) * 5);
      height: calc(var(--spacing) * 5);
      flex-shrink: 0;
      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));
      --tw-duration: 300ms;
      transition-duration: 300ms;
      --tw-content: '';
      content: var(--tw-content);
      mask-image: url("/assets/icons/circle-chevron-down.svg");
      -webkit-mask-image: url("/assets/icons/circle-chevron-down.svg");
      @media (width >= 64rem) {
        mask-image: url("/assets/icons/circle-chevron-right.svg");
        -webkit-mask-image: url("/assets/icons/circle-chevron-right.svg");
      }
      mask-size: contain;
      -webkit-mask-size: contain;
      mask-repeat: no-repeat;
      -webkit-mask-repeat: no-repeat;
      background-color: currentColor;
    }
  }
  .global-menu__list-container {
    display: grid;
    grid-template-columns: var(--global-menu-list-container-columns,minmax(0,1fr));
    column-gap: calc(var(--spacing) * 4);
    row-gap: calc(var(--spacing) * 4);
    padding-top: calc(var(--spacing) * 5);
    padding-bottom: calc(var(--spacing) * 2);
    &.--cols-2 {
      --global-menu-list-container-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .global-menu__list-container__item {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .global-menu__list-container__item__title {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: calc(infinity * 1px);
    border-style: var(--tw-border-style);
    border-width: 1px;
    padding-inline: calc(var(--spacing) * 3.5);
    font-size: var(--text-sm);
    line-height: var(--leading-loose);
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    color: var(--color-pink);
  }
  .global-menu__list {
    display: grid;
    grid-template-columns: var(--global-menu-list-columns,minmax(0,1fr));
    row-gap: calc(var(--spacing) * 1);
    &.--cols-2 {
      --global-menu-list-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .global-menu__list__link {
    display: block;
    font-size: var(--text-xs);
    line-height: var(--leading-loose);
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
    @media (width >= 26.75rem) {
      font-size: var(--text-sm);
      line-height: var(--leading-loose);
    }
    @media (width >= 40rem) {
      font-size: var(--text-base);
      line-height: var(--leading-loose);
    }
    &.--indent {
      padding-left: calc(var(--spacing) * 3);
      @media (width >= 40rem) {
        padding-left: calc(var(--spacing) * 4);
      }
    }
  }
  .global-menu__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
    border-color: var(--color-pink);
    padding-bottom: calc(var(--spacing) * 4);
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-pink);
    details &::after {
      display: inline-block;
      width: calc(var(--spacing) * 5);
      height: calc(var(--spacing) * 5);
      flex-shrink: 0;
      --tw-content: '';
      content: var(--tw-content);
      mask-image: url("/assets/icons/circle-chevron-right.svg");
      -webkit-mask-image: url("/assets/icons/circle-chevron-right.svg");
      mask-size: contain;
      -webkit-mask-size: contain;
      mask-repeat: no-repeat;
      -webkit-mask-repeat: no-repeat;
      background-color: currentColor;
    }
  }
  .global-menu__footer {
    margin-top: calc(var(--spacing) * 8);
    display: grid;
    justify-content: center;
    row-gap: calc(var(--spacing) * 8);
  }
  .global-menu__sns {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .global-menu__sns__title {
    text-align: center;
    font-size: var(--text-xs);
    line-height: 1;
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    @media (width >= 64rem) {
      font-size: var(--text-sm);
      line-height: 1;
    }
  }
  .global-menu__sns__list {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: calc(var(--spacing) * 3);
    img {
      width: calc(var(--spacing) * 12);
      height: calc(var(--spacing) * 12);
    }
  }
  .global-menu__search {
    display: flex;
    align-items: center;
    border-radius: calc(infinity * 1px);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-gray-500);
    @media (width >= 64rem) {
      display: none;
    }
  }
  .global-menu__search__input {
    height: calc(var(--spacing) * 12);
    flex-grow: 1;
    padding-left: calc(var(--spacing) * 5);
    font-size: var(--text-sm);
    line-height: 1;
    &::placeholder {
      color: var(--color-gray-500);
    }
  }
  .global-menu__search__button {
    padding-right: calc(var(--spacing) * 5);
  }
}
@layer components {
  .l-header {
    position: sticky;
    top: calc(var(--spacing) * 0);
    isolation: isolate;
    z-index: 100;
    height: var(--spacing-header-height);
    background-color: var(--color-white);
    padding-inline: calc(var(--spacing) * 6);
    @media (width >= 80rem) {
      padding-inline: calc(var(--spacing) * 12);
    }
  }
  .l-header__inner {
    display: flex;
    height: 100%;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    column-gap: calc(var(--spacing) * 10);
  }
  .l-header__logo-image {
    height: calc(var(--spacing) * 4.5);
    width: auto;
    @media (width >= 48rem) {
      height: calc(var(--spacing) * 6);
    }
    @media (width >= 80rem) {
      height: calc(var(--spacing) * 8);
    }
  }
  .l-header-nav {
    display: flex;
    column-gap: calc(var(--spacing) * 10);
  }
  .l-header-nav__main {
    display: flex;
    column-gap: calc(var(--spacing) * 8);
  }
  .l-header__logo {
    margin: calc(var(--spacing) * -1.5);
    padding: calc(var(--spacing) * 1.5);
  }
  .l-header-nav__item {
    cursor: pointer;
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    color: var(--color-gray-900);
  }
  .l-header-nav-list {
    display: none;
    flex-shrink: 0;
    align-items: center;
    column-gap: calc(var(--spacing) * 5);
    @media (width >= 64rem) {
      display: flex;
    }
  }
  .l-header-nav-list__link {
    font-size: var(--text-sm);
    line-height: 1;
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    @media (width >= 80rem) {
      font-size: var(--text-base);
      line-height: 1;
    }
    &:is(.is-current, &:hover, &:focus-visible) {
      color: var(--color-pink);
      text-decoration-line: underline;
      text-underline-offset: 12px;
    }
  }
  .l-header-menu {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    column-gap: calc(var(--spacing) * 4.5);
  }
  .l-header-menu-text {
    display: block;
    font-family: var(--font-noto);
    font-size: var(--text-2xs);
    line-height: 1;
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    @media (width >= 64rem) {
      font-size: var(--text-xs);
      line-height: 1;
    }
  }
  .l-header-menu__mypage-link {
    display: grid;
    min-height: calc(var(--spacing) * 9);
    grid-template-rows: minmax(0,1fr) auto;
    justify-items: center;
    @media (width >= 64rem) {
      min-height: calc(var(--spacing) * 11);
    }
    .icon {
      width: calc(var(--spacing) * 5);
      height: calc(var(--spacing) * 5);
      @media (width >= 64rem) {
        width: calc(var(--spacing) * 6);
        height: calc(var(--spacing) * 6);
      }
    }
  }
  .l-header-nav__search {
    display: none;
    min-width: calc(var(--spacing) * 50);
    align-items: center;
    gap: calc(var(--spacing) * 0);
    border-radius: calc(infinity * 1px);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-gray-500);
    @media (width >= 48rem) {
      display: flex;
    }
    @media (width >= 80rem) {
      min-width: calc(var(--spacing) * 64);
    }
  }
  .l-header-nav__search-input {
    height: 100%;
    flex-grow: 1;
    padding-left: calc(var(--spacing) * 3);
    font-size: var(--text-xs);
    line-height: 1;
    --tw-outline-style: none;
    outline-style: none;
    &::placeholder {
      color: var(--color-gray-500);
    }
    @media (width >= 80rem) {
      padding-left: calc(var(--spacing) * 5);
    }
    @media (width >= 80rem) {
      font-size: var(--text-sm);
      line-height: 1;
    }
  }
  .l-header-nav__search__button {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-right: calc(var(--spacing) * 3);
    @media (width >= 80rem) {
      padding-right: calc(var(--spacing) * 5);
    }
  }
  .l-header-menu__button {
    position: relative;
    display: grid;
    min-height: calc(var(--spacing) * 9);
    grid-template-rows: minmax(0,1fr) auto;
    align-items: center;
    @media (width < 64rem) {
      max-height: calc(var(--spacing) * 8);
    }
    @media (width >= 64rem) {
      height: calc(var(--spacing) * 11);
    }
  }
  .l-header-menu__button__icon {
    display: flex;
    width: calc(var(--spacing) * 9);
    align-items: center;
    justify-content: center;
    @media (width >= 64rem) {
      width: calc(var(--spacing) * 10);
    }
  }
}
@layer components {
  .l-section {
    padding-top: var(--section-pt,calc(var(--spacing) * 12));
    padding-bottom: var(--section-pb,calc(var(--spacing) * 16));
    &.--size-md {
      --section-inner-max-w: calc(var(--spacing) * 225);
    }
    &.--size-full {
      --section-inner-max-w: 100%;
    }
    &.--space-lg {
      --section-pt: calc(var(--spacing) * 24);
    }
    &.--px-none {
      --section-inner-padding-x: 0;
    }
    &.bg-bg-1 {
      .l-section-group & + & {
        --section-pt: 0;
      }
    }
  }
  .l-section__inner {
    margin-inline: auto;
    width: 100%;
    max-width: var(--section-inner-max-w,var(--container-main));
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(var(--section-inner-space-y,calc(var(--spacing) * 6)) * var(--tw-space-y-reverse));
      margin-block-end: calc(var(--section-inner-space-y,calc(var(--spacing) * 6)) * calc(1 - var(--tw-space-y-reverse)));
    }
    @media (width < 80rem) {
      padding-inline: var(--section-inner-padding-x,calc(var(--spacing) * 6));
    }
    @media (width >= 64rem) {
      --section-inner-space-y: var(--section-inner-space-y-lg, calc(var(--spacing) * 10));
    }
  }
  .l-lower-hero {
    background-color: var(--color-pink-100);
    padding-top: calc(var(--spacing) * 4);
    padding-bottom: calc(var(--spacing) * 5);
    @media (width >= 64rem) {
      padding-top: calc(var(--spacing) * 10);
    }
    @media (width >= 64rem) {
      padding-bottom: calc(var(--spacing) * 12);
    }
  }
  .l-breadcrumb {
    background-color: var(--color-pink-100);
    &.--theme-white {
      --breadcrumb-bg: var(--color-white);
    }
    &.--theme-bg-1 {
      --breadcrumb-bg: var(--color-bg-1);
    }
  }
  .l-breadcrumb__inner {
    background-color: var(--breadcrumb-bg,var(--color-white));
    padding-inline: calc(var(--spacing) * 8);
    padding-top: calc(var(--spacing) * 5);
    padding-bottom: calc(var(--spacing) * 8);
    @media (width < 64rem) {
      border-top-left-radius: var(--radius-4xl);
      border-top-right-radius: var(--radius-4xl);
    }
    @media (width >= 64rem) {
      padding-top: calc(var(--spacing) * 12);
    }
    @media (width >= 64rem) {
      padding-bottom: calc(var(--spacing) * 15);
    }
  }
  .l-breadcrumb__list {
    margin-inline: auto;
    display: flex;
    width: 100%;
    max-width: var(--container-main);
    flex-wrap: wrap;
    align-items: center;
    column-gap: calc(var(--spacing) * 1);
    & > * + * {
      &::before {
        content: var(--tw-content);
        margin-top: calc(var(--spacing) * 1.75);
      }
      &::before {
        content: var(--tw-content);
        height: 1px;
      }
      &::before {
        content: var(--tw-content);
        width: calc(var(--spacing) * 2);
      }
      &::before {
        content: var(--tw-content);
        background-color: var(--color-pink);
      }
      &::before {
        --tw-content: '';
        content: var(--tw-content);
      }
      @media (width >= 64rem) {
        &::before {
          content: var(--tw-content);
          margin-top: calc(var(--spacing) * 2.25);
        }
      }
    }
  }
  .l-breadcrumb__item {
    position: relative;
    display: flex;
    column-gap: calc(var(--spacing) * 1);
  }
  .l-breadcrumb__link {
    display: block;
    font-size: var(--text-2xs);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    @media (width >= 64rem) {
      font-size: var(--text-xs);
      line-height: var(--leading-normal);
    }
    a& {
      color: var(--color-pink);
    }
  }
  .l-search {
    background-color: var(--color-bg-1);
  }
  .l-search__inner {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
    }
    @media (width >= 64rem) {
      :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)));
      }
    }
  }
  .l-search__button {
    position: relative;
    margin-inline: auto;
    display: flex;
    width: 100%;
    max-width: calc(var(--spacing) * 80);
    align-items: center;
    justify-content: center;
    column-gap: calc(var(--spacing) * 1);
    border-radius: calc(infinity * 1px);
    border-style: var(--tw-border-style);
    border-width: 2px;
    background-color: var(--color-white);
    padding-inline: calc(var(--spacing) * 9);
    padding-block: calc(var(--spacing) * 2.5);
    font-size: var(--text-base);
    line-height: 1;
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    color: var(--color-pink);
    @media (width >= 64rem) {
      padding-block: calc(var(--spacing) * 4);
    }
    @media (width >= 64rem) {
      font-size: var(--text-xl);
      line-height: 1;
    }
    .icon {
      position: absolute;
      right: calc(var(--spacing) * 4);
      width: calc(var(--spacing) * 4);
      height: calc(var(--spacing) * 4);
      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));
      --tw-duration: 150ms;
      transition-duration: 150ms;
      @media (width >= 64rem) {
        width: calc(var(--spacing) * 5);
        height: calc(var(--spacing) * 5);
      }
    }
  }
  .l-search-group__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: var(--radius-xl);
    background-color: var(--color-pink);
    padding: calc(var(--spacing) * 4);
    font-size: var(--text-base);
    line-height: 1;
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    color: var(--color-white);
    .icon {
      width: calc(var(--spacing) * 3);
      height: calc(var(--spacing) * 3);
      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));
      --tw-duration: 150ms;
      transition-duration: 150ms;
    }
    .l-search-group[open] & {
      border-bottom-right-radius: 0;
      border-bottom-left-radius: 0;
      .icon {
        rotate: 180deg;
      }
    }
  }
  .l-search-group__content {
    display: grid;
    column-gap: calc(var(--spacing) * 6);
    row-gap: calc(var(--spacing) * 2);
    border-bottom-right-radius: var(--radius-xl);
    border-bottom-left-radius: var(--radius-xl);
    background-color: var(--color-white);
    padding: calc(var(--spacing) * 3);
    @media (width >= 64rem) {
      grid-template-columns: 4fr 5fr;
    }
    @media (width >= 64rem) {
      row-gap: calc(var(--spacing) * 6);
    }
    @media (width >= 64rem) {
      background-color: #FAF8F3;
    }
    @media (width >= 64rem) {
      padding: calc(var(--spacing) * 8);
    }
  }
  .l-search-group__item {
    &.--col-full {
      @media (width >= 64rem) {
        grid-column: 1 / -1;
      }
    }
  }
  .l-search-group__item__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: var(--radius-xl);
    background-color: var(--color-pink-300);
    padding: calc(var(--spacing) * 4);
    font-size: var(--text-sm);
    line-height: 1;
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    .icon {
      width: calc(var(--spacing) * 3);
      height: calc(var(--spacing) * 3);
      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));
      --tw-duration: 150ms;
      transition-duration: 150ms;
    }
    .l-search-group__item[open] & {
      border-bottom-right-radius: 0;
      border-bottom-left-radius: 0;
      .icon {
        rotate: 180deg;
      }
    }
  }
  .l-search-group__item__content__item {
    background-color: var(--color-white);
    padding-inline: calc(var(--spacing) * 3);
    padding-top: calc(var(--spacing) * 4);
    padding-bottom: calc(var(--spacing) * 3);
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    @media (width >= 64rem) {
      padding-inline: calc(var(--spacing) * 5);
    }
    @media (width >= 64rem) {
      padding-block: calc(var(--spacing) * 8);
    }
  }
  .l-search-form-group {
    display: grid;
    row-gap: calc(var(--spacing) * 2.5);
    .--maker & {
      @media (width >= 64rem) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }
    .--feature & {
      @media (width >= 64rem) {
        grid-template-columns: repeat(5, minmax(0, 1fr));
      }
    }
  }
  .l-search-form-group__item__label {
    position: relative;
    input[type="checkbox"] {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip-path: inset(50%);
      white-space: nowrap;
      border-width: 0;
    }
  }
  .l-search-form-group__item__label__text {
    position: relative;
    display: flex;
    align-items: center;
    column-gap: calc(var(--spacing) * 2.5);
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
    &::before {
      display: block;
      width: calc(var(--spacing) * 5);
      height: calc(var(--spacing) * 5);
      border-radius: var(--radius-xs);
      border-style: var(--tw-border-style);
      border-width: 1px;
      border-color: var(--color-pink);
      background-color: var(--color-white);
      --tw-content: '';
      content: var(--tw-content);
    }
    input[type="checkbox"]:checked + & {
      &::before {
        background-color: var(--color-pink);
        background-position: center;
        background-repeat: no-repeat;
        background-image: url("data:image/svg+xml,%3Csvg width='11' height='9' viewBox='0 0 11 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.819229 4.36084L3.93064 7.06067L9.81923 0.86084' stroke='white' stroke-width='2.5'/%3E%3C/svg%3E");
      }
    }
    input[type="checkbox"]:focus-visible + & {
      &::before {
        outline-style: var(--tw-outline-style);
        outline-width: 1px;
        outline-offset: 1px;
        outline-color: var(--color-pink);
      }
    }
  }
  .l-lower-footer-banner {
    margin-inline: auto;
    display: grid;
    width: 100%;
    max-width: calc(var(--spacing) * 225);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: calc(var(--spacing) * 1.5);
    @media (width < 64rem) {
      padding-inline: calc(var(--spacing) * 6);
    }
    @media (width < 64rem) {
      :is(& > *) {
        &:last-child {
          grid-column: 1 / -1;
        }
      }
    }
    @media (width >= 64rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    @media (width >= 64rem) {
      gap: calc(var(--spacing) * 2.5);
    }
  }
  .l-lower-footer-banner__item {
    position: relative;
    display: flex;
    min-height: calc(var(--spacing) * 40);
    align-items: center;
    justify-content: center;
    padding: calc(var(--spacing) * 3);
    @media (width < 64rem) {
      &:last-child {
        min-height: calc(var(--spacing) * 24);
      }
    }
  }
  .l-lower-footer-banner__image {
    position: absolute;
    inset: calc(var(--spacing) * 0);
    width: 100%;
    height: 100%;
    border-radius: var(--radius-xl);
    object-fit: cover;
  }
  .l-lower-footer-banner__image-overlay {
    position: absolute;
    inset: calc(var(--spacing) * 0);
    width: 100%;
    height: 100%;
    border-radius: var(--radius-xl);
    background-color: var(--theme-color,transparent);
    &.--theme-1 {
      --theme-color: #7e9598b3;
    }
    &.--theme-2 {
      --theme-color: #8e9b80b3;
    }
    &.--theme-3 {
      --theme-color: #9a987bb3;
    }
  }
  .l-lower-footer-banner__content {
    position: relative;
    z-index: 1;
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
    }
    text-align: center;
    @media (width >= 64rem) {
      :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)));
      }
    }
  }
  .l-lower-footer-banner__title {
    display: grid;
    row-gap: calc(var(--spacing) * 2);
    font-size: var(--text-xl);
    line-height: 1;
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
    color: var(--color-white);
    :is(& > *) {
      display: block;
    }
    :is(& > *) {
      font-size: var(--text-xs);
      line-height: 1;
    }
    @media (width >= 64rem) {
      font-size: var(--text-2\.5xl);
      line-height: 1;
    }
  }
  .l-lower-footer-banner__subtitle {
    font-family: var(--font-din);
    font-size: var(--text-sm);
    line-height: 1;
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
    color: var(--color-white);
    text-transform: uppercase;
  }
  .l-page-anchor {
    margin-inline: auto;
    display: grid;
    width: 100%;
    max-width: calc(var(--spacing) * 225);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 2);
    row-gap: calc(var(--spacing) * 3);
    padding-bottom: calc(var(--spacing) * 10);
    @media (width < 80rem) {
      padding-inline: calc(var(--spacing) * 6);
    }
    @media (width >= 48rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    @media (width >= 64rem) {
      padding-bottom: calc(var(--spacing) * 18);
    }
  }
  .l-page-anchor__item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: calc(var(--spacing) * 2);
    border-radius: calc(infinity * 1px);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-pink);
    background-color: var(--color-white);
    padding-inline: calc(var(--spacing) * 7);
    padding-block: calc(var(--spacing) * 4);
    font-size: var(--text-sm);
    line-height: 1;
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    @media (width >= 64rem) {
      padding-inline: calc(var(--spacing) * 8);
    }
    @media (width >= 64rem) {
      padding-block: calc(var(--spacing) * 5);
    }
    @media (width >= 64rem) {
      font-size: var(--text-xl);
      line-height: 1;
    }
    .icon {
      position: absolute;
      right: calc(var(--spacing) * 3);
      width: calc(var(--spacing) * 4);
      height: calc(var(--spacing) * 4);
      color: var(--color-pink);
      @media (width >= 64rem) {
        width: calc(var(--spacing) * 5);
        height: calc(var(--spacing) * 5);
      }
    }
  }
  .l-container-type-1 {
    display: flex;
    column-gap: calc(var(--spacing) * 10);
    row-gap: calc(var(--spacing) * 5);
    @media (width < 48rem) {
      flex-direction: column;
    }
    &.--reverse {
      @media (width >= 48rem) {
        flex-direction: row-reverse;
      }
    }
    img {
      width: 100%;
      max-width: calc(var(--spacing) * 100);
      border-radius: var(--radius-xl);
      object-fit: cover;
      @media (width >= 64rem) {
        max-width: calc(var(--spacing) * 150);
      }
    }
  }
  .l-container-type-2 {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 12);
    row-gap: calc(var(--spacing) * 8);
    @media (width >= 48rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .l-container-type-2__content {
    display: grid;
    align-content: flex-start;
    row-gap: calc(var(--spacing) * 4);
    @media (width >= 48rem) {
      row-gap: calc(var(--spacing) * 6);
    }
    img {
      aspect-ratio: var(--aspect-3\/2);
      object-fit: cover;
    }
  }
  .l-container-type-3 {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 12);
    row-gap: calc(var(--spacing) * 15);
    @media (width >= 64rem) {
      grid-template-columns: minmax(0,calc(var(--spacing) * 225)) calc(var(--spacing) * 80);
    }
  }
  .l-toc {
    margin-inline: auto;
    max-width: calc(var(--spacing) * 225);
    overflow: hidden;
    border-radius: var(--radius-xl);
  }
  .l-toc__title {
    background-color: var(--color-pink);
    padding-inline: calc(var(--spacing) * 4);
    padding-block: calc(var(--spacing) * 4);
    text-align: center;
    font-size: var(--text-base);
    line-height: 1;
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-white);
    @media (width >= 64rem) {
      font-size: var(--text-lg);
      line-height: 1;
    }
  }
  .l-toc__list {
    background-color: var(--color-pink-100);
    padding: calc(var(--spacing) * 6);
  }
  .l-toc__link {
    font-size: var(--text-sm);
    line-height: var(--leading-loose);
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    text-decoration-line: underline;
    @media (width >= 64rem) {
      font-size: var(--text-base);
      line-height: var(--leading-loose);
    }
  }
  .l-aside__inner {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
    }
    @media (width >= 64rem) {
      :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)));
      }
    }
  }
  .l-aside__title {
    text-align: center;
    font-size: var(--text-xl);
    line-height: 1;
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
    color: var(--color-pink);
  }
  .l-aside__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 2.5);
    row-gap: calc(var(--spacing) * 4);
    border-radius: var(--radius-xl);
    background-color: var(--aside-bg,var(--color-pink-100));
    padding-inline: calc(var(--spacing) * 4);
    padding-block: calc(var(--spacing) * 5);
  }
  .l-aside__item__title {
    margin-bottom: calc(var(--spacing) * 2);
    text-align: center;
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    color: var(--color-pink);
    @media (width >= 64rem) {
      margin-bottom: calc(var(--spacing) * 3);
    }
    @media (width >= 64rem) {
      font-size: var(--text-1\.5xl);
      line-height: var(--leading-normal);
    }
  }
  .l-aside__item__content {
    display: grid;
    grid-template-columns: repeat(var(--sidebar-content-cols,1),minmax(0,1fr));
    column-gap: calc(var(--spacing) * 2.5);
    row-gap: calc(var(--spacing) * 2);
    a {
      display: flex;
      height: 100%;
      align-items: center;
      justify-content: center;
      border-radius: calc(infinity * 1px);
      border-style: var(--tw-border-style);
      border-width: 1px;
      border-color: #e8e5dd;
      background-color: var(--color-white);
      padding-inline: calc(var(--spacing) * 2);
      padding-block: calc(var(--spacing) * 3);
      text-align: center;
      font-size: var(--text-xs);
      line-height: 1;
    }
  }
  .l-banner-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 2);
  }
  .l-banner-nav__link {
    position: relative;
    display: flex;
    min-height: calc(var(--spacing) * 40);
    align-items: center;
    justify-content: center;
    img {
      position: absolute;
      inset: calc(var(--spacing) * 0);
      width: 100%;
      height: 100%;
      border-radius: var(--radius-xl);
      object-fit: cover;
      object-position: center;
    }
  }
  .l-banner-nav__content {
    position: relative;
    z-index: 1;
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
    }
    text-align: center;
    h3 {
      display: grid;
      row-gap: calc(var(--spacing) * 2);
      font-size: var(--text-xl);
      line-height: 1;
      --tw-font-weight: var(--font-weight-extrabold);
      font-weight: var(--font-weight-extrabold);
      --tw-tracking: var(--tracking-wider);
      letter-spacing: var(--tracking-wider);
      color: var(--color-white);
      :is(& > *) {
        display: block;
      }
      :is(& > *) {
        font-size: var(--text-xs);
        line-height: 1;
      }
      @media (width >= 64rem) {
        font-size: var(--text-2\.5xl);
        line-height: 1;
      }
    }
    p {
      font-family: var(--font-din);
      font-size: var(--text-sm);
      line-height: 1;
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      --tw-tracking: var(--tracking-wider);
      letter-spacing: var(--tracking-wider);
      color: var(--color-white);
      text-transform: uppercase;
    }
  }
}
@layer components {
  swiper-container {
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  swiper-container:defined {
    opacity: 1;
  }
  .swiper-pagination-bullets.swiper-pagination-horizontal {
    --swiper-pagination-bullet-horizontal-gap: calc(var(--spacing) * 0.75);
    --swiper-pagination-color: var(--color-pink);
    --swiper-pagination-bullet-inactive-color: var(--color-gray-300);
    --swiper-pagination-bullet-inactive-opacity: 1;
    @media (width >= 64rem) {
      --swiper-pagination-bullet-horizontal-gap: calc(var(--spacing) * 2.5);
    }
  }
  .swiper-scrollbar-end {
    --swiper-scrollbar-top: 0;
    --swiper-scrollbar-bottom: auto;
    --swiper-scrollbar-sides-offset: max(calc((100vw - var(--container-main)) / 2), calc(var(--spacing) * 6));
    margin-top: calc(var(--spacing) * 4);
    min-height: calc(var(--spacing) * 1);
    @media (width >= 64rem) {
      margin-top: calc(var(--spacing) * 14);
    }
    swiper-scrollbar {
      max-width: var(--container-main);
    }
  }
  .swiper-scrollbar-end__inner {
    position: relative;
    &:has(swiper-scrollbar + *) {
      padding-top: calc(var(--spacing) * 6);
      @media (width >= 64rem) {
        padding-top: calc(var(--spacing) * 12);
      }
    }
  }
  .swiper-type-1 {
    swiper-slide {
      width: calc(var(--spacing) * 64);
      @media (width >= 64rem) {
        width: calc(var(--spacing) * 80);
      }
    }
  }
}
@layer components {
  .beginner-flow {
    --section-inner-space-y: calc(var(--spacing) * 9);
  }
  .beginner-flow-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: calc(var(--spacing) * 6);
    row-gap: calc(var(--spacing) * 10);
    @media (width < 40rem) {
      flex-direction: column;
    }
    @media (width < 40rem) {
      align-items: center;
    }
    @media (width >= 64rem) {
      row-gap: calc(var(--spacing) * 15);
    }
  }
  .beginner-flow-list-section {
    display: grid;
    width: 100%;
    max-width: calc(var(--spacing) * 82.5);
    grid-template-columns: repeat(1, minmax(0, 1fr));
    row-gap: calc(var(--spacing) * 4);
    @media (width >= 80rem) {
      grid-template-rows: minmax(0,1fr) calc(var(--spacing) * 14);
    }
    img {
      aspect-ratio: 11/6;
      width: 100%;
      border-bottom-right-radius: var(--radius-xl);
      border-bottom-left-radius: var(--radius-xl);
      object-fit: cover;
    }
  }
  .beginner-flow-list-section__content {
    display: grid;
    grid-template-rows: minmax(0,1fr) auto;
  }
  .beginner-flow-list-section__head {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: calc(var(--spacing) * 3);
    border-top-left-radius: var(--radius-xl);
    border-top-right-radius: var(--radius-xl);
    background-color: var(--color-white);
    padding-inline: calc(var(--spacing) * 5);
    padding-block: calc(var(--spacing) * 7);
    @media (width >= 64rem) {
      row-gap: calc(var(--spacing) * 7);
    }
    span {
      position: absolute;
      top: calc(var(--spacing) * 0);
      display: inline-block;
      --tw-translate-y: calc(calc(1/2 * 100%) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
      border-radius: calc(infinity * 1px);
      background-color: var(--color-green-100);
      padding-inline: calc(var(--spacing) * 3);
      text-align: center;
      font-size: var(--text-xs);
      line-height: var(--leading-loose);
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      color: var(--color-white);
      @media (width >= 64rem) {
        font-size: var(--text-sm);
        line-height: var(--leading-loose);
      }
    }
    h3 {
      font-size: var(--text-lg);
      line-height: 1;
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      @media (width >= 64rem) {
        font-size: var(--text-xl);
        line-height: 1;
      }
    }
    p {
      font-size: var(--text-sm);
      line-height: var(--leading-normal);
      a {
        color: var(--color-pink);
        text-decoration-line: underline;
      }
    }
  }
  .beginner-note-contents {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 3);
    row-gap: calc(var(--spacing) * 4);
    @media (width >= 64rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    h3 {
      text-align: center;
      font-size: var(--text-lg);
      line-height: 1;
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      @media (width >= 64rem) {
        font-size: var(--text-1\.5xl);
        line-height: 1;
      }
    }
    ul {
      display: flex;
      justify-content: space-between;
      column-gap: calc(var(--spacing) * 6);
      @media (width >= 64rem) {
        justify-content: center;
      }
      li {
        :where(& > :not(:last-child)) {
          --tw-space-y-reverse: 0;
          margin-block-start: calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));
          margin-block-end: calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)));
        }
        p {
          text-align: center;
          font-size: var(--text-xs);
          line-height: 1;
          --tw-font-weight: var(--font-weight-bold);
          font-weight: var(--font-weight-bold);
          @media (width >= 64rem) {
            font-size: var(--text-base);
            line-height: 1;
          }
          small {
            font-size: var(--text-2xs);
            line-height: 1;
            @media (width >= 64rem) {
              font-size: var(--text-xs);
              line-height: 1;
            }
          }
        }
        img {
          @media (width >= 48rem) {
            width: calc(var(--spacing) * 27);
          }
        }
      }
    }
  }
  .beginner-note-contents__item {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
    }
    border-radius: var(--radius-xl);
    background-color: var(--color-pink-100);
    padding-inline: calc(var(--spacing) * 5);
    padding-block: calc(var(--spacing) * 6);
    @media (width >= 64rem) {
      :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)));
      }
    }
  }
  .beginner-note-contents__time {
    text-align: center;
    font-size: var(--text-2xl);
    line-height: 1;
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    & > * {
      font-family: var(--font-din);
      font-size: var(--text-6xl);
      line-height: 1;
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      --tw-tracking: var(--tracking-wider);
      letter-spacing: var(--tracking-wider);
      color: var(--color-pink);
    }
  }
  .beginner-note-contents__time__note {
    text-align: center;
    font-size: var(--text-xs);
    line-height: var(--leading-normal);
  }
  .beginner-note-contents__note {
    font-size: var(--text-xs);
    line-height: var(--leading-normal);
  }
}
@layer components {
  .company-profile-content {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 0) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 0) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .company-profile-philosophy__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: calc(var(--spacing) * 4);
    @media (width >= 64rem) {
      flex-direction: row;
    }
    @media (width >= 64rem) {
      align-items: center;
    }
    @media (width >= 64rem) {
      justify-content: center;
    }
    @media (width >= 64rem) {
      gap: calc(var(--spacing) * 16);
    }
  }
  .company-profile-philosophy__content__text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: calc(var(--spacing) * 4);
  }
  .company-profile-philosophy {
    :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)));
    }
    @media (width >= 64rem) {
      :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)));
      }
    }
  }
  .company-profile-philosophy__label {
    text-align: center;
    font-size: 20px;
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
    color: var(--color-pink);
    @media (width >= 64rem) {
      font-size: 22px;
      line-height: var(--leading-normal);
    }
  }
  .company-profile-philosophy__heading {
    margin-top: 40px;
    margin-bottom: 36px;
    display: flex;
    flex-direction: column;
    font-family: var(--font-noto);
    font-size: 2.75rem;
    line-height: var(--leading-tight);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    --tw-tracking: 0.05em;
    letter-spacing: 0.05em;
    @media (width >= 64rem) {
      margin-top: 48px;
    }
    @media (width >= 64rem) {
      font-size: 4.5rem;
      line-height: var(--leading-tight);
    }
    em {
      color: var(--color-pink);
      font-style: normal;
    }
  }
  .company-profile-philosophy__catch {
    font-size: 16px;
    line-height: var(--leading-relaxed);
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    --tw-tracking: 0.1em;
    letter-spacing: 0.1em;
    @media (width >= 64rem) {
      width: 100%;
    }
    @media (width >= 64rem) {
      text-align: center;
    }
    @media (width >= 64rem) {
      font-size: 28px;
      line-height: var(--leading-relaxed);
    }
    @media (width >= 64rem) {
      --tw-leading: 1.5;
      line-height: 1.5;
    }
  }
  .company-profile-philosophy__sub {
    font-size: 14px;
    line-height: var(--leading-relaxed);
    @media (width >= 64rem) {
      width: 100%;
    }
    @media (width >= 64rem) {
      text-align: center;
    }
    @media (width >= 64rem) {
      font-size: 15px;
      line-height: var(--leading-relaxed);
    }
  }
  .company-profile-message {
    margin-top: 66px;
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: calc(var(--spacing) * 6);
    @media (width >= 64rem) {
      margin-top: 100px;
    }
    @media (width >= 64rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    @media (width >= 64rem) {
      align-items: flex-start;
    }
    @media (width >= 64rem) {
      gap: calc(var(--spacing) * 16);
    }
  }
  .company-profile-message__text {
    font-size: 14px;
    line-height: var(--leading-relaxed);
    @media (width >= 64rem) {
      font-size: 18px;
      line-height: var(--leading-loose);
    }
  }
  .company-overview__title {
    margin-bottom: calc(var(--spacing) * 6);
    text-align: center;
    font-size: 18px;
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-pink);
    @media (width >= 64rem) {
      margin-bottom: calc(var(--spacing) * 8);
    }
    @media (width >= 64rem) {
      font-size: 22px;
      line-height: var(--leading-normal);
    }
  }
  .company-overview__list {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 0) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 0) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .company-overview__group {
    margin-bottom: calc(var(--spacing) * 4);
    border-radius: var(--radius-2xl);
    background-color: var(--color-white);
    padding: 22px;
  }
  .company-overview__item {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
    border-color: var(--color-gray-200);
    &:last-child {
      border-bottom-style: var(--tw-border-style);
      border-bottom-width: 0px;
    }
  }
  .company-overview__term {
    margin-block: calc(var(--spacing) * 4);
    border-radius: calc(infinity * 1px);
    background-color: #F5F5F5;
    padding-inline: calc(var(--spacing) * 4);
    padding-block: calc(var(--spacing) * 2);
    text-align: center;
    font-size: 13px;
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    @media (width >= 64rem) {
      font-size: 18px;
      line-height: var(--leading-normal);
    }
  }
  .company-overview__desc {
    padding-bottom: calc(var(--spacing) * 4);
    font-size: 13px;
    line-height: var(--leading-relaxed);
    @media (width >= 64rem) {
      font-size: 14px;
      line-height: var(--leading-relaxed);
    }
  }
}
@layer components {
  .contact-section {
    display: grid;
    row-gap: calc(var(--spacing) * 12);
  }
  .contact-section__item {
    display: grid;
    row-gap: calc(var(--spacing) * 3);
    h3 {
      font-size: var(--text-lg);
      line-height: 1;
      --tw-font-weight: var(--font-weight-semibold);
      font-weight: var(--font-weight-semibold);
      @media (width >= 64rem) {
        font-size: var(--text-xl);
        line-height: 1;
      }
    }
  }
  .contact-section-list {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: calc(var(--spacing) * 4);
    overflow: hidden;
    border-radius: var(--radius-xl);
    @media (width >= 48rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    @media (width >= 80rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }
  .contact-section-card {
    display: flex;
    flex-direction: column;
    h4 {
      border-top-left-radius: var(--radius-xl);
      border-top-right-radius: var(--radius-xl);
      background-color: var(--color-pink-700);
      padding-block: calc(var(--spacing) * 3);
      text-align: center;
      font-size: var(--text-base);
      line-height: 1;
      --tw-font-weight: var(--font-weight-semibold);
      font-weight: var(--font-weight-semibold);
      @media (width >= 64rem) {
        font-size: var(--text-lg);
        line-height: 1;
      }
    }
    & > div {
      flex: 1;
      border-bottom-right-radius: var(--radius-xl);
      border-bottom-left-radius: var(--radius-xl);
      background-color: var(--color-white);
      padding: calc(var(--spacing) * 4);
      @media (width >= 64rem) {
        padding-block: calc(var(--spacing) * 6);
      }
    }
    p {
      text-align: center;
      font-size: var(--text-3xl);
      line-height: var(--leading-normal);
      --tw-font-weight: var(--font-weight-semibold);
      font-weight: var(--font-weight-semibold);
      color: var(--color-pink);
      span {
        font-size: var(--text-xl);
        line-height: 1;
      }
    }
    small {
      display: block;
      text-align: center;
      font-size: var(--text-sm);
      line-height: var(--leading-tight);
    }
  }
}
@layer components {
  .contactlens-container {
    .--theme-purple {
      --theme-color: var(--color-contactlens-purple);
    }
    .--theme-yellow {
      --theme-color: var(--color-contactlens-yellow);
    }
  }
  .contactlens-type-list {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 10);
    row-gap: calc(var(--spacing) * 3);
    overflow: hidden;
    @media (width >= 48rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    @media (width >= 80rem) {
      border-radius: var(--radius-xl);
    }
  }
  .contactlens-type-list__item {
    --button-color: var(--theme-color);
    --button-text-length: var(--text-sm);
    --button-text-lg-length: var(--text-lg);
    border-radius: var(--radius-xl);
    background-color: var(--color-white);
    padding-inline: calc(var(--spacing) * 4);
    padding-block: calc(var(--spacing) * 6);
    @media (width >= 64rem) {
      padding-inline: calc(var(--spacing) * 6);
    }
    @media (width >= 64rem) {
      padding-block: calc(var(--spacing) * 8);
    }
    .c-button {
      margin-top: calc(var(--spacing) * 6);
    }
  }
  .contactlens-type-list__head {
    display: flex;
    align-items: flex-start;
    column-gap: calc(var(--spacing) * 2);
    img {
      width: calc(var(--spacing) * 18);
      flex-shrink: 0;
      @media (width >= 64rem) {
        width: calc(var(--spacing) * 23);
      }
    }
    hgroup {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
      }
    }
    h3 {
      font-size: var(--text-xl);
      line-height: var(--leading-tight);
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      color: var(--theme-color);
      @media (width >= 64rem) {
        font-size: var(--text-2xl);
        line-height: var(--leading-tight);
      }
    }
    p {
      font-size: var(--text-xs);
      line-height: var(--leading-normal);
      @media (width >= 48rem) {
        min-height: 2lh;
      }
      @media (width >= 64rem) {
        font-size: var(--text-base);
        line-height: var(--leading-normal);
      }
    }
  }
  .contactlens-type-list__content {
    margin-top: calc(var(--spacing) * 2.5);
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 0.5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 0.5) * calc(1 - var(--tw-space-y-reverse)));
    }
    h4 {
      font-size: var(--text-xs);
      line-height: var(--leading-normal);
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      @media (width >= 64rem) {
        font-size: var(--text-base);
        line-height: var(--leading-normal);
      }
    }
    ul {
      display: grid;
      grid-template-columns: repeat(1, minmax(0, 1fr));
      row-gap: calc(var(--spacing) * 3);
      @media (width >= 48rem) {
        row-gap: calc(var(--spacing) * 4);
      }
      li {
        border-radius: var(--radius-sm);
        background-color: var(--color-bg-1);
        padding-inline: calc(var(--spacing) * 4);
        padding-block: calc(var(--spacing) * 5);
        font-size: var(--text-sm);
        line-height: var(--leading-normal);
        @media (width >= 64rem) {
          padding: calc(var(--spacing) * 6);
        }
        @media (width >= 64rem) {
          font-size: var(--text-lg);
          line-height: var(--leading-normal);
        }
      }
    }
  }
  .contactlens-lead {
    display: inline-block;
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 3px;
    border-color: var(--color-pink);
    padding-inline: calc(var(--spacing) * 3);
    padding-bottom: calc(var(--spacing) * 2);
    text-align: center;
    font-size: var(--text-lg);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    @media (width >= 64rem) {
      font-size: var(--text-2\.5xl);
      line-height: var(--leading-normal);
    }
  }
  .contactlens-select__content {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)));
    }
    @media (width >= 64rem) {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 16) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 16) * calc(1 - var(--tw-space-y-reverse)));
      }
    }
  }
  .contactlens-select-list {
    --contactlens-select-list-cols: repeat(
    var(--contactlens-select-list-cols-number, 2),
    minmax(0, calc(var(--spacing) * 82.5))
  );
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 4);
    row-gap: calc(var(--spacing) * 10);
    @media (width >= 48rem) {
      justify-content: center;
    }
    @media (width >= 48rem) {
      grid-template-columns: var(--contactlens-select-list-cols);
    }
    @media (width >= 80rem) {
      --contactlens-select-list-cols-number: 4;
    }
  }
  .contactlens-select-list__item {
    --button-text-length: var(--text-sm);
    --button-text-lg-length: var(--text-base);
    --button-color: var(--theme-color);
    position: relative;
    display: flex;
    max-width: calc(var(--spacing) * 82.5);
    flex-direction: column;
    align-items: center;
    border-radius: var(--radius-xl);
    background-color: var(--color-white);
    padding-top: calc(var(--spacing) * 8);
    padding-bottom: calc(var(--spacing) * 8);
    @media (width >= 64rem) {
      padding-top: calc(var(--spacing) * 10);
    }
    span {
      position: absolute;
      top: calc(var(--spacing) * 0);
      display: inline-block;
      --tw-translate-y: calc(calc(1/2 * 100%) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
      border-radius: calc(infinity * 1px);
      background-color: var(--color-green-100);
      padding-inline: calc(var(--spacing) * 3);
      text-align: center;
      font-size: var(--text-xs);
      line-height: var(--leading-loose);
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      color: var(--color-white);
      @media (width >= 64rem) {
        font-size: var(--text-sm);
        line-height: var(--leading-loose);
      }
    }
    h3 {
      margin-bottom: calc(var(--spacing) * 7);
      text-align: center;
      font-size: var(--text-lg);
      line-height: var(--leading-tight);
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
    }
    img {
      aspect-ratio: 11/6;
      width: 100%;
      object-fit: cover;
      object-position: center;
    }
    p {
      width: 100%;
      padding: calc(var(--spacing) * 5);
      font-size: var(--text-sm);
      line-height: var(--leading-normal);
      @media (width >= 64rem) {
        font-size: var(--text-base);
        line-height: var(--leading-normal);
      }
    }
  }
  .contactlens-select-list__item-button {
    display: flex;
    width: 100%;
    flex: 1;
    align-items: flex-end;
    padding-inline: calc(var(--spacing) * 5);
  }
  .contactlens-select-footer {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 7) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 7) * calc(1 - var(--tw-space-y-reverse)));
    }
    text-align: center;
    @media (width >= 64rem) {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)));
      }
    }
  }
  .contactlens-put-point {
    display: flex;
    width: calc(var(--spacing) * 31);
    height: calc(var(--spacing) * 31);
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    border-radius: calc(infinity * 1px);
    border-style: var(--tw-border-style);
    border-width: 2px;
    border-color: var(--color-pink);
    background-color: var(--color-pink-100);
    text-align: center;
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-pink);
    @media (width >= 64rem) {
      width: calc(var(--spacing) * 40);
      height: calc(var(--spacing) * 40);
    }
  }
  .contactlens-put-check {
    display: flex;
    align-items: center;
    column-gap: calc(var(--spacing) * 2);
    @media (width >= 64rem) {
      column-gap: calc(var(--spacing) * 6);
    }
  }
  .contactlens-put-check-container {
    margin-inline: auto;
    display: flex;
    max-width: calc(var(--spacing) * 225);
    column-gap: calc(var(--spacing) * 8);
    row-gap: calc(var(--spacing) * 5);
    @media (width < 64rem) {
      flex-direction: column;
    }
  }
  .contactlens-put-check__content {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
    @media (width >= 64rem) {
      :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)));
      }
    }
    h3 {
      position: relative;
      z-index: 1;
      display: inline-block;
      font-size: var(--text-lg);
      line-height: var(--leading-normal);
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      @media (width >= 64rem) {
        font-size: var(--text-1\.5xl);
        line-height: var(--leading-normal);
      }
      &:after {
        position: absolute;
        inset-inline: calc(var(--spacing) * 2);
        top: calc(1/2 * 100%);
        bottom: calc(var(--spacing) * 0);
        z-index: calc(1 * -1);
        background-color: #F9D0D4;
        --tw-content: '';
        content: var(--tw-content);
      }
    }
    p {
      font-size: var(--text-sm);
      line-height: var(--leading-normal);
      @media (width >= 64rem) {
        font-size: var(--text-base);
        line-height: var(--leading-normal);
      }
    }
  }
  .contactlens-how-to-put {
    margin-top: calc(var(--spacing) * 15);
    :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)));
    }
    @media (width >= 64rem) {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 15) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 15) * calc(1 - var(--tw-space-y-reverse)));
      }
    }
    h3 {
      margin-inline: auto;
    }
  }
  .contactlens-how-to-put-off-list,
.contactlens-care-list {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 8);
    row-gap: calc(var(--spacing) * 4);
    @media (width < 64rem) {
      :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)));
      }
    }
    @media (width < 64rem) {
      :where(& > :not(:last-child)) {
        --tw-border-style: dashed;
        border-style: dashed;
      }
    }
    @media (width < 64rem) {
      :where(& > :not(:last-child)) {
        border-color: var(--color-gray-400);
      }
    }
    @media (width >= 40rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    @media (width >= 80rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    @media (width >= 80rem) {
      justify-content: center;
    }
    li {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
      }
      padding-bottom: calc(var(--spacing) * 4);
      &:last-child {
        padding-bottom: calc(var(--spacing) * 0);
      }
    }
    h4 {
      display: inline-block;
      border-bottom-style: var(--tw-border-style);
      border-bottom-width: 1px;
      font-size: var(--text-sm);
      line-height: 1;
      color: var(--color-pink);
      @media (width >= 64rem) {
        font-size: var(--text-xl);
        line-height: 1;
      }
    }
    img {
      width: calc(var(--spacing) * 37);
      flex-shrink: 0;
      @media (width >= 64rem) {
        width: 100%;
      }
    }
    h5 {
      margin-bottom: calc(var(--spacing) * 2);
      display: inline-block;
      border-radius: calc(infinity * 1px);
      border-style: var(--tw-border-style);
      border-width: 1px;
      background-color: var(--color-white);
      padding-inline: calc(var(--spacing) * 3);
      padding-block: calc(var(--spacing) * 1);
      font-size: var(--text-xs);
      line-height: 1;
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      color: var(--theme-color,var(--color-pink));
      @media (width >= 64rem) {
        font-size: var(--text-base);
        line-height: 1;
      }
    }
    p {
      font-size: var(--text-xs);
      line-height: var(--leading-normal);
      @media (width >= 64rem) {
        font-size: var(--text-base);
        line-height: var(--leading-normal);
      }
      span {
        --tw-font-weight: var(--font-weight-bold);
        font-weight: var(--font-weight-bold);
        color: #E62318;
      }
    }
  }
  .contactlens-how-to-put-off-list {
    @media (width >= 80rem) {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }
  }
  .contactlens-how-to-put-off-list__content,
.contactlens-care-list__content {
    display: flex;
    align-items: flex-start;
    column-gap: calc(var(--spacing) * 4);
    row-gap: calc(var(--spacing) * 6);
    @media (width >= 64rem) {
      flex-direction: column;
    }
    & > div {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
      }
      @media (width >= 64rem) {
        :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)));
        }
      }
    }
  }
  .contactlens-put-off {
    margin-bottom: calc(var(--spacing) * 0);
    @media (width >= 64rem) {
      margin-bottom: calc(var(--spacing) * 0);
    }
  }
  .contactlens-care {
    margin-bottom: calc(var(--spacing) * 10);
    @media (width >= 64rem) {
      margin-bottom: calc(var(--spacing) * 20);
    }
  }
  .contactlens-care-section {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
    @media (width >= 64rem) {
      :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)));
      }
    }
    h3 {
      display: inline-block;
      border-radius: calc(infinity * 1px);
      border-style: var(--tw-border-style);
      border-width: 1px;
      background-color: var(--color-white);
      padding-inline: calc(var(--spacing) * 3);
      padding-block: calc(var(--spacing) * 1);
      font-size: var(--text-sm);
      line-height: 1;
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      color: var(--theme-color,var(--color-pink));
      @media (width >= 64rem) {
        font-size: var(--text-lg);
        line-height: 1;
      }
    }
  }
  .contactlens-care-list {
    @media (width >= 80rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }
  .scene-greed__description {
    text-align: center;
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    @media (width >= 64rem) {
      font-size: var(--text-lg);
      line-height: var(--leading-normal);
    }
  }
  .scene-greed-nav {
    ul {
      display: grid;
      grid-template-columns: minmax(0,25rem);
      justify-content: center;
      gap: calc(var(--spacing) * 3);
      @media (width >= 64rem) {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }
    li {
      max-width: calc(var(--spacing) * 100);
    }
    a {
      display: flex;
      height: 100%;
      align-items: center;
      justify-content: center;
      border-radius: var(--radius-xl);
      background-color: var(--color-gray-100);
      padding-block: calc(var(--spacing) * 3.5);
      text-align: center;
      font-size: var(--text-sm);
      line-height: var(--leading-normal);
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      color: var(--color-gray-500);
      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));
      --tw-duration: 300ms;
      transition-duration: 300ms;
      @media (width >= 64rem) {
        font-size: var(--text-xl);
        line-height: var(--leading-normal);
      }
      &:is(:hover, :focus-visible, &.is-active) {
        background-color: var(--color-pink);
        color: var(--color-white);
      }
    }
  }
  .scene-greed-first {
    --section-inner-padding-x: 0;
  }
  .scene-greed-first-lists {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    row-gap: calc(var(--spacing) * 3);
    overflow: hidden;
    @media (width >= 48rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    @media (width >= 80rem) {
      border-radius: var(--radius-xl);
    }
  }
  .scene-greed-first-list {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-block: calc(var(--spacing) * 10);
    &::after {
      position: absolute;
      inset: calc(var(--spacing) * 0);
      z-index: 1;
      background-color: color-mix(in srgb, #000000 20%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-black) 20%, transparent);
      }
      --tw-content: '';
      content: var(--tw-content);
    }
    h3 {
      position: relative;
      z-index: 2;
      text-align: center;
      font-size: var(--text-lg);
      line-height: var(--leading-normal);
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      color: var(--color-white);
      @media (width >= 64rem) {
        font-size: var(--text-2xl);
        line-height: var(--leading-normal);
      }
    }
    img {
      position: absolute;
      inset: calc(var(--spacing) * 0);
      z-index: 0;
      height: 100%;
      width: 100%;
      object-fit: cover;
      object-position: left top;
    }
  }
  .scene-greed-choice {
    position: relative;
    margin-top: calc(var(--spacing) * 6);
    margin-bottom: calc(var(--spacing) * 10);
    @media (width >= 64rem) {
      margin-bottom: calc(var(--spacing) * 20);
    }
    --section-inner-space-y-lg: calc(var(--spacing) * 16);
    --section-pt: calc(var(--spacing) * 20);
    &::before {
      position: absolute;
      inset-inline: calc(var(--spacing) * 0);
      top: calc(var(--spacing) * 0);
      z-index: 10;
      margin-inline: auto;
      display: block;
      height: calc(var(--spacing) * 8);
      width: calc(var(--spacing) * 16);
      --tw-translate-y: calc(calc(1/2 * 100%) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
      background-color: var(--color-pink);
      --tw-content: '';
      content: var(--tw-content);
      @media (width >= 64rem) {
        height: calc(var(--spacing) * 20);
      }
      @media (width >= 64rem) {
        width: calc(var(--spacing) * 40);
      }
      clip-path: polygon(0 0, 100% 0, 50% 100%);
    }
  }
  .scene-greed-choice__lead {
    text-align: center;
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    @media (width >= 64rem) {
      font-size: var(--text-2\.5xl);
      line-height: var(--leading-normal);
    }
    & > * {
      color: var(--color-pink);
    }
  }
}
@layer components {
  .aftersupport-text {
    text-align: center;
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    @media (width >= 64rem) {
      font-size: var(--text-lg);
      line-height: var(--leading-normal);
    }
  }
  .aftersupport-title {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: calc(var(--spacing) * 2);
    text-align: center;
    font-size: var(--text-lg);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-pink);
    @media (width >= 64rem) {
      font-size: var(--text-2xl);
      line-height: var(--leading-normal);
    }
  }
  .aftersupport-title-type-2 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    font-size: var(--text-xl);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-pink);
    @media (width >= 64rem) {
      font-size: var(--text-2\.5xl);
      line-height: var(--leading-normal);
    }
    b {
      color: var(--color-text);
    }
  }
  .aftersupport-title__num {
    display: flex;
    width: calc(var(--spacing) * 6);
    height: calc(var(--spacing) * 6);
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    border-radius: calc(infinity * 1px);
    background-color: var(--color-pink);
    color: var(--color-white);
  }
  .aftersupport-content {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 12);
    row-gap: calc(var(--spacing) * 8);
    @media (width >= 48rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .aftersupport-content__item {
    :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)));
    }
    border-radius: var(--radius-xl);
    background-color: var(--color-white);
    padding-inline: calc(var(--spacing) * 5);
    padding-block: calc(var(--spacing) * 10);
    h3 {
      border-block-style: var(--tw-border-style);
      border-block-width: 3px;
      padding-block: calc(var(--spacing) * 3);
      text-align: center;
      font-size: var(--text-xl);
      line-height: 1;
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      color: var(--color-pink);
    }
    ul {
      li {
        display: flex;
        align-items: baseline;
        column-gap: calc(var(--spacing) * 2);
        &::before {
          display: block;
          width: calc(var(--spacing) * 3);
          height: calc(var(--spacing) * 3);
          flex-shrink: 0;
          border-radius: calc(infinity * 1px);
          background-color: var(--color-pink);
          --tw-content: '';
          content: var(--tw-content);
        }
        small {
          display: inline-block;
          --tw-leading: var(--leading-tight);
          line-height: var(--leading-tight);
        }
      }
    }
  }
}
@layer components {
  .howbuy-order-list {
    border-radius: var(--radius-xl);
    background-color: var(--color-white);
    padding-inline: calc(var(--spacing) * 5);
    padding-block: calc(var(--spacing) * 6);
    li {
      display: flex;
      align-items: baseline;
      column-gap: calc(var(--spacing) * 3);
      font-size: var(--text-sm);
      line-height: var(--leading-loose);
      --tw-font-weight: var(--font-weight-medium);
      font-weight: var(--font-weight-medium);
      @media (width >= 64rem) {
        font-size: var(--text-base);
        line-height: var(--leading-loose);
      }
      span {
        flex-shrink: 0;
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium);
        color: var(--color-pink);
      }
    }
  }
  .howbuy-check-list {
    margin-block: calc(var(--spacing) * 6);
    border-radius: var(--radius-xl);
    background-color: var(--color-white);
    padding: calc(var(--spacing) * 6);
    @media (width >= 64rem) {
      margin-block: calc(var(--spacing) * 8);
    }
    @media (width >= 64rem) {
      :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)));
      }
    }
    li {
      display: flex;
      flex-direction: column;
      justify-content: center;
      border-radius: var(--radius-xl);
      padding-left: calc(var(--spacing) * 6);
      font-size: var(--text-base);
      line-height: var(--leading-normal);
      --tw-font-weight: var(--font-weight-medium);
      font-weight: var(--font-weight-medium);
      @media (width >= 64rem) {
        font-size: var(--text-lg);
        line-height: var(--leading-normal);
      }
      background-image: url("/assets/img/beginner/contactlens/kindsfeatures/image-02.webp");
      background-size: calc(var(--spacing) * 4);
      background-position: left center;
      background-repeat: no-repeat;
    }
  }
  .howbuy-recommend,
.howbuy-attention,
.howbuy-qa, {
    --section-pt: 0;
  }
}
@layer components {
  .kindsfeatures-type-section {
    :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)));
    }
    @media (width >= 64rem) {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)));
      }
    }
  }
  .kindsfeatures-type-section__content {
    position: relative;
    :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)));
    }
    border-radius: var(--radius-xl);
    background-color: var(--color-white);
    padding-inline: calc(var(--spacing) * 5);
    padding-block: calc(var(--spacing) * 10);
  }
  .kindsfeatures-type-section-list {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 10);
    row-gap: calc(var(--spacing) * 5);
    @media (width >= 48rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    @media (width >= 64rem) {
      row-gap: calc(var(--spacing) * 10);
    }
    & > * {
      &:last-child {
        grid-column: 1 / -1;
      }
      &.--bubble {
        &::before {
          position: absolute;
          inset-inline: calc(var(--spacing) * 0);
          top: calc(var(--spacing) * 0);
          margin-inline: auto;
          width: calc(var(--spacing) * 5);
          height: calc(var(--spacing) * 5);
          --tw-translate-y: calc(calc(3/4 * 100%) * -1);
          translate: var(--tw-translate-x) var(--tw-translate-y);
          background-color: var(--color-white);
          --tw-content: '';
          content: var(--tw-content);
          @media (width >= 64rem) {
            right: calc(1/4 * 100%);
          }
          @media (width >= 64rem) {
            left: auto;
          }
          @media (width >= 64rem) {
            width: calc(var(--spacing) * 10);
            height: calc(var(--spacing) * 10);
          }
          @media (width >= 64rem) {
            --tw-translate-x: 100%;
            translate: var(--tw-translate-x) var(--tw-translate-y);
          }
          clip-path: polygon(0 100%, 50% 0, 100% 100%);
        }
      }
    }
  }
  .kindsfeatures-type-section-dl {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 5);
    row-gap: calc(var(--spacing) * 5);
    @media (width >= 64rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    @media (width >= 64rem) {
      row-gap: calc(var(--spacing) * 8);
    }
    & > div {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
      }
    }
    dt {
      display: flex;
      flex-direction: column;
      justify-content: center;
      border-radius: var(--radius-xl);
      background-color: var(--color-bg-1);
      padding-block: calc(var(--spacing) * 3);
      padding-right: calc(var(--spacing) * 6);
      padding-left: calc(var(--spacing) * 12);
      font-size: var(--text-base);
      line-height: var(--leading-normal);
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      color: var(--color-pink);
      @media (width >= 64rem) {
        min-height: calc(var(--spacing) * 19.5);
      }
      @media (width >= 64rem) {
        font-size: var(--text-lg);
        line-height: var(--leading-normal);
      }
      background-image: url("/assets/img/beginner/contactlens/kindsfeatures/image-02.webp");
      background-size: calc(var(--spacing) * 6);
      background-position: left calc(var(--spacing) * 3) center;
      background-repeat: no-repeat;
    }
  }
  .kindsfeatures-type-section-dl-type-2 {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 5);
    row-gap: calc(var(--spacing) * 5);
    @media (width >= 64rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    @media (width >= 64rem) {
      row-gap: calc(var(--spacing) * 8);
    }
    & > div {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
      }
    }
    dt {
      display: flex;
      align-items: center;
      justify-content: center;
      column-gap: calc(var(--spacing) * 4);
      border-radius: var(--radius-xl);
      padding-inline: calc(var(--spacing) * 6);
      padding-block: calc(var(--spacing) * 3);
      font-size: var(--text-base);
      line-height: var(--leading-normal);
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      @media (width >= 64rem) {
        min-height: calc(var(--spacing) * 19.5);
      }
      @media (width >= 64rem) {
        font-size: var(--text-lg);
        line-height: var(--leading-normal);
      }
      &.--theme-pink {
        background-color: var(--color-pink-100);
        color: var(--color-pink);
      }
      &.--theme-blue {
        background-color: #e8edfd;
        color: #8181ee;
      }
    }
  }
  .kindsfeatures-type-section__note {
    small {
      font-size: var(--text-2xs);
      line-height: var(--leading-normal);
      --tw-font-weight: var(--font-weight-medium);
      font-weight: var(--font-weight-medium);
      @media (width >= 64rem) {
        font-size: var(--text-xs);
        line-height: var(--leading-normal);
      }
    }
    a {
      word-break: break-all;
      text-decoration-line: underline;
    }
  }
  .kindsfeatures-summary__title {
    margin-inline: auto;
    max-width: calc(var(--spacing) * 80);
    border-radius: calc(infinity * 1px);
    background-color: var(--color-pink-100);
    padding-inline: calc(var(--spacing) * 4);
    padding-block: calc(var(--spacing) * 2);
    text-align: center;
    font-size: var(--text-lg);
    line-height: var(--leading-tight);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-pink);
  }
}
@layer components {
  .manga-title {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: calc(var(--spacing) * 5);
    text-align: center;
    font-size: var(--text-lg);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
    @media (width >= 64rem) {
      font-size: var(--text-2xl);
      line-height: var(--leading-normal);
    }
    b {
      --tw-gradient-position: to top;
      @supports (background-image: linear-gradient(in lab, red, red)) {
        --tw-gradient-position: to top in oklab;
      }
      background-image: linear-gradient(var(--tw-gradient-stops));
      --tw-gradient-from: var(--color-pink-100);
      --tw-gradient-from-position: 30%;
      --tw-gradient-to: transparent;
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
      --tw-gradient-to-position: 30%;
      font-size: var(--text-2xl);
      line-height: var(--leading-normal);
      color: var(--color-pink);
      @media (width >= 64rem) {
        font-size: var(--text-2\.5xl);
        line-height: var(--leading-normal);
      }
    }
  }
  .manga-contents {
    margin-bottom: calc(var(--spacing) * 16);
    img {
      margin-inline: auto;
    }
  }
}
@layer components {
  .coupon-nav__list {
    margin-inline: auto;
    display: grid;
    max-width: calc(var(--spacing) * 78);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 2);
  }
  .coupon-nav__link {
    display: grid;
    row-gap: calc(var(--spacing) * 1);
    border-top-left-radius: var(--radius-xl);
    border-top-right-radius: var(--radius-xl);
    padding-top: calc(var(--spacing) * 4);
    padding-bottom: calc(var(--spacing) * 3);
    text-align: center;
    font-size: var(--text-base);
    line-height: 1;
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
    background-color: var(--coupon-nav-bg,var(--color-pink));
    color: var(--coupon-nav-text,var(--color-white));
    &.is-current--coupon {
      --coupon-nav-bg: var(--color-bg-1);
      --coupon-nav-text: var(--color-text);
      --coupon-nav-icon-bg: var(--color-pink);
    }
    &.is-current--benefit {
      --coupon-nav-bg: var(--color-pink-100);
      --coupon-nav-text: var(--color-text);
      --coupon-nav-icon-bg: var(--color-pink);
    }
    .icon-bg-circle-chevron-down {
      display: inline-flex;
      justify-content: center;
      &::before {
        width: calc(var(--spacing) * 3);
        height: calc(var(--spacing) * 3);
        background-color: var(--coupon-nav-icon-bg,var(--color-white));
        color: var(--coupon-nav-icon-text,var(--color-pink));
      }
    }
  }
  .coupon-line__title {
    margin-bottom: calc(var(--spacing) * 3);
    text-align: center;
    font-size: var(--text-base);
    line-height: 1;
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    @media (width >= 64rem) {
      font-size: var(--text-2\.5xl);
      line-height: 1;
    }
  }
  .coupon-benefit {
    :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)));
    }
  }
  .coupon-benefit-head {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .coupon-benefit-head__inner {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .coupon-benefit__title__wrapper {
    position: relative;
  }
  .coupon-benefit__title {
    position: relative;
    isolation: isolate;
    z-index: 2;
    margin-inline: calc(var(--spacing) * 6);
    border-style: var(--tw-border-style);
    border-width: 2px;
    border-color: var(--color-pink);
    background-color: var(--color-yellow);
    padding-block: calc(var(--spacing) * 1.5);
  }
  .coupon-benefit__title__inner {
    display: block;
    border-block-style: var(--tw-border-style);
    border-block-width: 2px;
    border-color: var(--color-pink);
    text-align: center;
    font-size: var(--text-2xl);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
    color: var(--color-pink);
  }
  .coupon-benefit__title__decoration {
    position: absolute;
    inset-block: calc(var(--spacing) * 0);
    isolation: isolate;
    z-index: 0;
    width: calc(var(--spacing) * 12);
    --tw-translate-y: calc(var(--spacing) * 4);
    translate: var(--tw-translate-x) var(--tw-translate-y);
    border-block-style: var(--tw-border-style);
    border-block-width: 2px;
    border-color: var(--color-pink);
    background-color: var(--color-yellow);
    padding-block: calc(var(--spacing) * 1.5);
    &.--left {
      left: calc(var(--spacing) * 0);
    }
    &.--right {
      right: calc(var(--spacing) * 0);
    }
  }
  .coupon-benefit__title__decoration__tab {
    position: absolute;
    bottom: calc(var(--spacing) * -0.5);
    height: calc(var(--spacing) * 4.5);
    width: calc(var(--spacing) * 6);
    border-block-style: var(--tw-border-style);
    border-block-width: 2px;
    border-color: var(--color-pink);
    .--left & {
      right: calc(var(--spacing) * -0.5);
      border-right-style: var(--tw-border-style);
      border-right-width: 2px;
    }
    .--right & {
      left: calc(var(--spacing) * -0.5);
      border-left-style: var(--tw-border-style);
      border-left-width: 2px;
    }
  }
  .coupon-benefit__title__decoration__inner {
    width: 100%;
    height: 100%;
    border-block-style: var(--tw-border-style);
    border-block-width: 2px;
    border-color: var(--color-pink);
  }
  .coupon-benefit__description {
    text-align: center;
    font-size: var(--text-xs);
    line-height: var(--leading-normal);
  }
  .coupon-benefit__image {
    padding-top: calc(var(--spacing) * 4);
    text-align: center;
    :is(& > *) {
      margin-inline: auto;
    }
  }
  .coupon-benefit-body {
    --section-inner-space-y: calc(var(--spacing) * 2);
  }
  .coupon-benefit-container {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 9) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 9) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .coupon-benefit__note {
    :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)));
    }
    :where(& > :not(:last-child)) {
      --tw-border-style: dashed;
      border-style: dashed;
    }
    :where(& > :not(:last-child)) {
      border-color: var(--color-pink);
    }
    border-radius: var(--radius-xl);
    background-color: var(--color-white);
    padding: calc(var(--spacing) * 4);
  }
  .coupon-benefit__note__list {
    :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)));
    }
    padding-bottom: calc(var(--spacing) * 4);
    padding-left: calc(var(--spacing) * 4);
  }
  .coupon-benefit__note__item {
    list-style-type: disc;
    font-size: var(--text-xs);
    line-height: var(--leading-normal);
  }
  .coupon-benefit__note__target {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)));
    }
    padding-top: calc(var(--spacing) * 4);
  }
  .coupon-benefit__note__target__title {
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    color: var(--color-pink);
  }
  .coupon-benefit__note__target__description {
    font-size: var(--text-xs);
    line-height: var(--leading-normal);
  }
  .coupon-line-banner {
    img {
      width: 100%;
    }
  }
}
@layer components {
  .faq-root {
    padding-top: calc(var(--spacing) * 8);
    padding-bottom: calc(var(--spacing) * 14);
    @media (width >= 64rem) {
      padding-top: calc(var(--spacing) * 12);
    }
    @media (width >= 64rem) {
      padding-bottom: calc(var(--spacing) * 24);
    }
  }
  .faq-container {
    margin-inline: auto;
    width: 100%;
    max-width: 900px;
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)));
    }
    padding-inline: calc(var(--spacing) * 6);
    @media (width >= 64rem) {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 14) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 14) * calc(1 - var(--tw-space-y-reverse)));
      }
    }
    @media (width >= 64rem) {
      padding-inline: calc(var(--spacing) * 0);
    }
  }
  .faq-section {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
    }
    @media (width >= 64rem) {
      :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)));
      }
    }
  }
  .faq-note-list {
    margin-top: calc(var(--spacing) * 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)));
    }
    li {
      position: relative;
      padding-left: 1em;
      &::before {
        position: absolute;
        top: calc(1/2 * 100%);
        left: calc(var(--spacing) * 0);
        --tw-translate-y: calc(calc(1/2 * 100%) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y);
        font-size: 1.25em;
        --tw-leading: 1;
        line-height: 1;
        --tw-content: '・';
        content: var(--tw-content);
      }
    }
  }
  .faq-section__title {
    position: relative;
    display: flex;
    align-items: center;
    column-gap: calc(var(--spacing) * 3);
    font-size: 1.125rem;
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-pink);
    @media (width >= 64rem) {
      font-size: 1.375rem;
      line-height: var(--leading-normal);
    }
    &::before {
      display: block;
      height: 2.25rem;
      width: 5px;
      flex-shrink: 0;
      border-radius: calc(infinity * 1px);
      background-color: var(--color-pink);
      --tw-content: '';
      content: var(--tw-content);
    }
  }
}
@layer components {
  .glass-item {
    display: flex;
    width: calc(var(--spacing) * 65);
    flex-direction: column;
    row-gap: calc(var(--spacing) * 4);
    @media (width >= 64rem) {
      width: calc(var(--spacing) * 80);
    }
    @media (width >= 64rem) {
      row-gap: calc(var(--spacing) * 6);
    }
  }
  .glass-item__head {
    margin-inline: calc(var(--spacing) * 4);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-radius: calc(infinity * 1px);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-green-100);
    @media (width >= 64rem) {
      margin-inline: calc(var(--spacing) * 8);
    }
    & > * {
      text-align: center;
      font-size: var(--text-2xs);
      line-height: var(--leading-loose);
      --tw-font-weight: var(--font-weight-medium);
      font-weight: var(--font-weight-medium);
      @media (width >= 64rem) {
        font-size: var(--text-xs);
        line-height: var(--leading-loose);
      }
      &:first-child {
        border-radius: calc(infinity * 1px);
        background-color: var(--color-green-100);
        color: var(--color-white);
      }
    }
  }
  .glass-item__body {
    height: 100%;
    overflow: hidden;
    border-radius: var(--radius-xl);
    img {
      aspect-ratio: var(--aspect-3\/2);
      width: 100%;
      object-fit: cover;
    }
  }
  .glass-item__body__content {
    height: 100%;
    background-color: var(--color-pink-100);
    padding-inline: calc(var(--spacing) * 4);
    padding-block: calc(var(--spacing) * 5);
  }
  .glass-item__spec {
    font-size: var(--text-xs);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .glass-item__divide {
    position: relative;
    margin-block: calc(var(--spacing) * 5);
    display: flex;
    align-items: center;
    justify-content: center;
    & > * {
      position: relative;
      background-color: var(--color-pink-100);
      padding-inline: calc(var(--spacing) * 3);
      text-align: center;
      font-family: var(--font-din);
      font-size: var(--text-lg);
      line-height: 1;
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      --tw-tracking: var(--tracking-widest);
      letter-spacing: var(--tracking-widest);
      color: var(--color-pink);
    }
    &::before {
      position: absolute;
      inset-inline: calc(var(--spacing) * 0);
      border-top-style: var(--tw-border-style);
      border-top-width: 1px;
      --tw-border-style: dashed;
      border-style: dashed;
      border-color: var(--color-pink);
      --tw-content: '';
      content: var(--tw-content);
    }
  }
  .glass-item__description {
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .glass-premium {
    --section-pt: 0;
    position: relative;
    margin-top: calc(var(--spacing) * 10);
    background-color: var(--color-glass-premium-1);
  }
  .glass-premium__logo {
    position: relative;
    display: flex;
    justify-content: center;
    &:before {
      position: absolute;
      inset-inline: calc(var(--spacing) * 0);
      top: calc(var(--spacing) * 0);
      height: calc(var(--spacing) * 18);
      background-color: var(--color-glass-premium-2);
      --tw-content: '';
      content: var(--tw-content);
    }
    img {
      position: relative;
      max-width: calc(var(--spacing) * 50);
      --tw-translate-y: calc(var(--spacing) * -10);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .glass-premium-title {
    text-align: center;
    font-size: var(--text-xl);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
    color: var(--color-white);
    @media (width >= 64rem) {
      font-size: var(--text-2\.5xl);
      line-height: var(--leading-normal);
    }
  }
  .glass-premium-list {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    row-gap: calc(var(--spacing) * 8);
    @media (width >= 64rem) {
      row-gap: calc(var(--spacing) * 12);
    }
  }
  .glass-premium-card {
    position: relative;
    display: flex;
    justify-content: center;
    border-radius: var(--radius-xl);
    background-color: var(--color-white);
    padding-inline: calc(var(--spacing) * 4);
    padding-block: calc(var(--spacing) * 10);
    @media (width >= 64rem) {
      padding-inline: calc(var(--spacing) * 8);
    }
    @media (width >= 64rem) {
      padding-block: calc(var(--spacing) * 12);
    }
  }
  .glass-premium-card__head {
    position: absolute;
    top: calc(var(--spacing) * 0);
    --tw-translate-y: calc(calc(1/2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
    border-radius: calc(infinity * 1px);
    background-color: var(--color-glass-premium-2);
    padding-inline: calc(var(--spacing) * 5);
    font-size: var(--text-xs);
    line-height: var(--leading-loose);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: #DDB67D;
    @media (width < 48rem) {
      text-align: center;
    }
    @media (width >= 64rem) {
      padding-inline: calc(var(--spacing) * 8);
    }
    @media (width >= 64rem) {
      font-size: var(--text-base);
      line-height: var(--leading-loose);
    }
  }
  .glass-premium-card__body {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    align-items: center;
    column-gap: calc(var(--spacing) * 8);
    row-gap: calc(var(--spacing) * 10);
    @media (width >= 64rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    img {
      margin-inline: auto;
      width: 100%;
      max-width: calc(var(--spacing) * 150);
      object-fit: cover;
    }
  }
  .glass-premium-card__content {
    :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)));
    }
    @media (width >= 64rem) {
      :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)));
      }
    }
    h3 {
      font-size: var(--text-xl);
      line-height: 1;
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      color: var(--color-glass-premium-2);
    }
    p {
      font-size: var(--text-sm);
      line-height: var(--leading-loose);
      --tw-font-weight: var(--font-weight-medium);
      font-weight: var(--font-weight-medium);
      @media (width >= 64rem) {
        font-size: var(--text-base);
        line-height: var(--leading-loose);
      }
    }
  }
  .glass-wide__content {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    row-gap: calc(var(--spacing) * 10);
    @media (width >= 64rem) {
      row-gap: calc(var(--spacing) * 20);
    }
  }
  .glass-wide__item {
    display: grid;
    column-gap: calc(var(--spacing) * 10);
    row-gap: calc(var(--spacing) * 6);
    @media (width >= 64rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    @media (width >= 64rem) {
      row-gap: calc(var(--spacing) * 10);
    }
  }
  .glass-wide__item__head {
    display: flex;
    align-items: center;
    column-gap: calc(var(--spacing) * 3);
    border-radius: var(--radius-xl);
    background-color: var(--color-white);
    padding: calc(var(--spacing) * 4);
    @media (width >= 64rem) {
      padding: calc(var(--spacing) * 6);
    }
    img {
      width: calc(var(--spacing) * 16);
      height: calc(var(--spacing) * 16);
      flex-shrink: 0;
      @media (width >= 64rem) {
        width: calc(var(--spacing) * 20);
        height: calc(var(--spacing) * 20);
      }
    }
    h3 {
      font-size: var(--text-sm);
      line-height: var(--leading-normal);
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      @media (width >= 64rem) {
        font-size: var(--text-lg);
        line-height: var(--leading-normal);
      }
      span {
        font-size: var(--text-xs);
        line-height: var(--leading-normal);
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium);
        @media (width >= 64rem) {
          font-size: var(--text-base);
          line-height: var(--leading-normal);
        }
      }
    }
  }
  .glass-wide__container {
    :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)));
    }
    @media (width >= 64rem) {
      :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)));
      }
    }
  }
  .glass-wide__container-type-2 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
    }
    border-radius: var(--radius-xl);
    border-style: var(--tw-border-style);
    border-width: 1px;
    padding-inline: calc(var(--spacing) * 6);
    padding-block: calc(var(--spacing) * 7);
    h4 {
      text-align: center;
      font-size: var(--text-base);
      line-height: var(--leading-normal);
      --tw-font-weight: var(--font-weight-semibold);
      font-weight: var(--font-weight-semibold);
      @media (width >= 64rem) {
        font-size: var(--text-lg);
        line-height: var(--leading-normal);
      }
    }
    img {
      margin-inline: auto;
      @media (width >= 64rem) {
        width: calc(var(--spacing) * 40);
      }
    }
  }
  .glass-wide__container-type-3 {
    grid-column: span 2 / span 2;
    :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)));
    }
    overflow: hidden;
    @media (width >= 64rem) {
      :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)));
      }
    }
  }
  .glass-wide__container-type-3__image {
    @media (width < 48rem) {
      overflow-x: scroll;
    }
    img {
      @media (width < 48rem) {
        max-width: calc(var(--spacing) * 160);
      }
    }
  }
  .glass-wide__container-type-4 {
    @media (width < 48rem) {
      border-radius: var(--radius-xl);
    }
    @media (width < 48rem) {
      border-style: var(--tw-border-style);
      border-width: 1px;
    }
    @media (width < 48rem) {
      padding-inline: calc(var(--spacing) * 3);
    }
    @media (width < 48rem) {
      padding-block: calc(var(--spacing) * 3);
    }
  }
  .glass-wide__container-type-4__content {
    border-radius: var(--radius-xl);
    background-color: var(--color-white);
    padding-inline: calc(var(--spacing) * 2);
    padding-top: calc(var(--spacing) * 5);
    padding-bottom: calc(var(--spacing) * 2);
    h4 {
      text-align: center;
      font-size: var(--text-xs);
      line-height: var(--leading-normal);
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
    }
    p {
      text-align: center;
      font-size: var(--text-xl);
      line-height: var(--leading-normal);
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      color: var(--color-pink);
      @media (width >= 64rem) {
        font-size: var(--text-2xl);
        line-height: var(--leading-normal);
      }
      span {
        font-size: var(--text-xs);
        line-height: var(--leading-normal);
        --tw-font-weight: var(--font-weight-bold);
        font-weight: var(--font-weight-bold);
        @media (width >= 64rem) {
          font-size: var(--text-sm);
          line-height: var(--leading-normal);
        }
      }
    }
  }
  .glass-guarantee-list {
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: calc(var(--spacing) * 3);
    @media (width < 64rem) {
      max-width: calc(var(--spacing) * 80);
    }
    @media (width >= 64rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }
  .glass-guarantee__item {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
    img {
      margin-inline: auto;
      width: calc(var(--spacing) * 30);
      @media (width >= 64rem) {
        width: calc(var(--spacing) * 50);
      }
    }
    p {
      text-align: center;
      font-size: var(--text-2xs);
      line-height: var(--leading-normal);
      --tw-font-weight: var(--font-weight-medium);
      font-weight: var(--font-weight-medium);
      @media (width >= 64rem) {
        font-size: var(--text-xs);
        line-height: var(--leading-normal);
      }
    }
  }
  .glass-guarantee-list-type-2 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
    border-radius: var(--radius-xl);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-pink);
    background-color: var(--color-white);
    padding-inline: calc(var(--spacing) * 5);
    padding-block: calc(var(--spacing) * 6);
    @media (width >= 64rem) {
      row-gap: calc(var(--spacing) * 4);
    }
    @media (width >= 64rem) {
      padding-inline: calc(var(--spacing) * 8);
    }
    li {
      display: flex;
      align-items: baseline;
      font-size: var(--text-xs);
      line-height: var(--leading-normal);
      @media (width >= 64rem) {
        font-size: var(--text-base);
        line-height: var(--leading-normal);
      }
      span {
        color: var(--color-pink);
      }
    }
  }
  .glass-shop-list {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    row-gap: calc(var(--spacing) * 10);
    border-radius: var(--radius-xl);
    background-color: var(--color-bg-1);
    padding: calc(var(--spacing) * 6);
    @media (width >= 64rem) {
      row-gap: calc(var(--spacing) * 20);
    }
    & > * {
      @media (width >= 64rem) {
        grid-column: 1 / -1;
      }
    }
    .l-aside__item__content {
      @media (width >= 64rem) {
        grid-template-columns: repeat(4, minmax(0, 1fr));
      }
      a {
        @media (width >= 64rem) {
          font-size: var(--text-lg);
          line-height: 1;
        }
      }
    }
  }
  .glass-shop-list__title {
    text-align: center;
    font-size: var(--text-xl);
    line-height: 1;
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
    color: var(--color-pink);
  }
  .glass-shop-list__content {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 2);
    row-gap: calc(var(--spacing) * 4);
    @media (width >= 64rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    @media (width >= 64rem) {
      row-gap: calc(var(--spacing) * 6);
    }
    grid-auto-rows: 1fr;
  }
  .glass-shop-list__content.--col-1 {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 2);
    row-gap: calc(var(--spacing) * 4);
    @media (width >= 64rem) {
      grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    @media (width >= 64rem) {
      row-gap: calc(var(--spacing) * 6);
    }
  }
  .glass-shop-list__content dd {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
  }
  .glass-shop-list__content.--col-1 {
    justify-items: center;
  }
  .glass-shop-list__content.--col-1 dd {
    max-width: 50%;
  }
  .glass-shop-list__content a {
    display: flex;
    min-height: 4rem;
    width: 100%;
    max-width: 400px;
    align-items: center;
    justify-content: center;
    border-radius: calc(infinity * 1px);
    background-color: var(--color-white);
    padding-inline: calc(var(--spacing) * 4);
    padding-block: calc(var(--spacing) * 3);
    text-align: center;
    font-size: var(--text-xs);
    line-height: 1.5;
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    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));
    --tw-duration: 200ms;
    transition-duration: 200ms;
    &:hover {
      @media (hover: hover) {
        color: var(--color-pink);
      }
    }
    @media (width >= 64rem) {
      font-size: var(--text-base);
      line-height: 1.2;
    }
    border: 1.5px solid #E8E5DD;
    &:hover {
      border-color: var(--color-pink);
    }
  }
  .glass-shop-list__item {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    row-gap: calc(var(--spacing) * 4);
    @media (width >= 64rem) {
      row-gap: calc(var(--spacing) * 6);
    }
  }
  .glass-shop-pear {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 2);
    row-gap: calc(var(--spacing) * 10);
  }
  .glass-shop-pear .glass-shop-list__content {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 2);
    row-gap: calc(var(--spacing) * 4);
    @media (width >= 64rem) {
      grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    @media (width >= 64rem) {
      row-gap: calc(var(--spacing) * 6);
    }
  }
}
@layer components {
  .item-search-by-type__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 2);
    row-gap: calc(var(--spacing) * 3);
    @media (width >= 64rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    @media (width >= 64rem) {
      gap: calc(var(--spacing) * 8);
    }
  }
  .item-search-by-type__item {
    position: relative;
    min-height: calc(var(--spacing) * 30);
    border-radius: var(--radius-xl);
    background-color: var(--color-white);
    &::after {
      position: absolute;
      right: calc(var(--spacing) * 1);
      bottom: calc(var(--spacing) * 0);
      height: calc(var(--spacing) * 4);
      width: calc(var(--spacing) * 2);
      background-color: var(--color-pink);
      --tw-content: '';
      content: var(--tw-content);
      @media (width >= 64rem) {
        right: calc(var(--spacing) * 2);
      }
      @media (width >= 64rem) {
        height: calc(var(--spacing) * 6);
      }
      @media (width >= 64rem) {
        width: calc(var(--spacing) * 3);
      }
      clip-path: polygon(100% 0, 0 50%, 100% 50%);
    }
  }
  .item-search-by-type__item__link {
    display: grid;
    height: 100%;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    grid-template-rows: auto minmax(0,1fr);
    row-gap: calc(var(--spacing) * 2);
    padding-inline: calc(var(--spacing) * 4);
    padding-block: calc(var(--spacing) * 2);
    @media (width >= 64rem) {
      row-gap: calc(var(--spacing) * 10);
    }
    @media (width >= 64rem) {
      padding-block: calc(var(--spacing) * 10);
    }
  }
  .item-search-by-type__item__head {
    display: flex;
    min-height: calc(var(--spacing) * 10);
    align-items: center;
    font-size: var(--text-sm);
    line-height: var(--leading-tight);
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    color: var(--color-pink);
    text-transform: uppercase;
    @media (width >= 64rem) {
      min-height: calc(var(--spacing) * 14);
    }
    @media (width >= 64rem) {
      font-size: var(--text-lg);
      line-height: var(--leading-normal);
    }
  }
  .item-search-by-type__item__body {
    font-size: var(--text-2xs);
    line-height: var(--leading-tight);
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    @media (width >= 64rem) {
      font-size: var(--text-sm);
      line-height: var(--leading-normal);
    }
  }
  .item-search-by-maker__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: calc(var(--spacing) * 2);
    @media (width >= 64rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    @media (width >= 64rem) {
      gap: calc(var(--spacing) * 4);
    }
  }
  .item-search-by-maker__item__link {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-sm);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-pink-200);
    background-color: var(--color-white);
    padding-block: calc(var(--spacing) * 3);
    @media (width >= 64rem) {
      min-height: calc(var(--spacing) * 30);
    }
    @media (width >= 64rem) {
      border-style: var(--tw-border-style);
      border-width: 3px;
    }
  }
  .item-footer-banner {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: calc(var(--spacing) * 2.5);
    @media (width >= 64rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .item-footer-banner__link {
    position: relative;
    display: grid;
    min-height: calc(var(--spacing) * 24);
    align-items: center;
    overflow: hidden;
    border-radius: var(--radius-xl);
    @media (width >= 64rem) {
      min-height: calc(var(--spacing) * 44);
    }
  }
  .item-footer-banner__image {
    position: absolute;
    inset: calc(var(--spacing) * 0);
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .item-footer-banner__content {
    position: relative;
    z-index: 1;
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 0.5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 0.5) * calc(1 - var(--tw-space-y-reverse)));
    }
    text-align: center;
  }
  .item-footer-banner__content__title {
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
    color: var(--color-white);
  }
  .item-footer-banner__content__subtitle {
    font-size: var(--text-sm);
    line-height: 1;
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-white);
    text-transform: uppercase;
  }
  .items-list__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: center;
    gap: calc(var(--spacing) * 3);
    @media (width >= 48rem) {
      grid-template-columns: repeat(auto-fit,minmax(0,calc(var(--spacing) * 56)));
    }
    @media (width >= 64rem) {
      gap: calc(var(--spacing) * 5);
    }
  }
  .items-list__item {
    overflow: hidden;
    border-radius: var(--radius-xl);
    background-color: var(--color-white);
  }
  .items-list__item__link {
    display: grid;
    height: 100%;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    grid-template-rows: minmax(0,1fr) auto;
  }
  .items-list__item__body {
    padding: calc(var(--spacing) * 3);
  }
  .items-list__item__image {
    margin-inline: auto;
    margin-block: calc(var(--spacing) * 2.5);
    display: block;
    aspect-ratio: var(--aspect-video);
    object-fit: contain;
  }
  .items-list__item__title {
    margin-block: calc(var(--spacing) * 2.5);
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    column-gap: calc(var(--spacing) * 3);
    font-size: var(--text-xs);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    @media (width >= 64rem) {
      min-height: calc(var(--spacing) * 12);
    }
    @media (width >= 64rem) {
      font-size: var(--text-base);
      line-height: var(--leading-normal);
    }
  }
  .items-list__item__title__note {
    display: block;
    flex-shrink: 0;
    border-radius: var(--radius-sm);
    background-color: #FEEEEC;
    padding-inline: calc(var(--spacing) * 1.5);
    padding-block: calc(var(--spacing) * 1);
    text-align: center;
    font-family: var(--font-noto);
    font-size: var(--text-2xs);
    line-height: 1;
    :is(& > *) {
      display: block;
    }
  }
  .items-list__item__description {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
    border-color: var(--color-gray-200);
    padding-top: calc(var(--spacing) * 2.5);
    font-size: var(--text-2xs);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    @media (width >= 64rem) {
      font-size: var(--text-xs);
      line-height: var(--leading-normal);
    }
  }
  .items-list__item__footer {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: calc(var(--spacing) * 1);
    background-color: var(--color-pink-400);
    padding-block: calc(var(--spacing) * 2.5);
    text-align: center;
    font-size: var(--text-xs);
    line-height: 1;
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    color: var(--color-pink);
    @media (width >= 64rem) {
      padding-block: calc(var(--spacing) * 4);
    }
    @media (width >= 64rem) {
      font-size: var(--text-lg);
      line-height: 1;
    }
    @media (width >= 64rem) {
      --tw-font-weight: var(--font-weight-semibold);
      font-weight: var(--font-weight-semibold);
    }
    .icon {
      width: calc(var(--spacing) * 3.5);
      height: calc(var(--spacing) * 3.5);
      @media (width >= 64rem) {
        width: calc(var(--spacing) * 4.5);
        height: calc(var(--spacing) * 4.5);
      }
    }
  }
  .items-list__item__coupon-price {
    margin-top: calc(var(--spacing) * 3);
    display: flex;
    justify-content: center;
    column-gap: calc(var(--spacing) * 4);
    @media (width >= 64rem) {
      margin-top: calc(var(--spacing) * 4);
    }
    @media (width >= 64rem) {
      column-gap: calc(var(--spacing) * 6);
    }
  }
  .items-list__item__coupon-price__item {
    display: grid;
    justify-content: center;
    text-align: center;
    &.--theme-red {
      --theme-color: #e62318;
    }
  }
  .items-list__item__coupon-price__head {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: calc(infinity * 1px);
    border-style: var(--tw-border-style);
    border-width: 1px;
    padding: calc(var(--spacing) * 1);
    font-size: var(--text-2xs);
    line-height: 1;
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    color: var(--theme-color,var(--color-pink));
    @media (width >= 64rem) {
      font-size: var(--text-xs);
      line-height: 1;
    }
  }
  .items-list__item__coupon-price__value {
    display: grid;
    font-size: var(--text-2xl);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--theme-color,var(--color-pink));
    @media (width >= 64rem) {
      font-size: var(--text-2xl);
      line-height: var(--leading-normal);
    }
    small {
      font-size: var(--text-xs);
      line-height: var(--leading-normal);
      --tw-font-weight: var(--font-weight-medium);
      font-weight: var(--font-weight-medium);
      @media (width >= 64rem) {
        font-size: var(--text-sm);
        line-height: var(--leading-normal);
      }
    }
    & > small {
      font-size: var(--text-2xs);
      line-height: var(--leading-normal);
      --tw-font-weight: var(--font-weight-medium);
      font-weight: var(--font-weight-medium);
      @media (width >= 64rem) {
        font-size: var(--text-xs);
        line-height: var(--leading-normal);
      }
    }
  }
  .item-article {
    --item-article-cols: 1;
    margin-inline: auto;
    display: grid;
    max-width: calc(var(--spacing) * 150);
    grid-template-columns: var(--item-article-cols);
    row-gap: calc(var(--spacing) * 6);
    padding-bottom: calc(var(--spacing) * 12);
    @media (width >= 64rem) {
      max-width: var(--container-main);
    }
    @media (width >= 64rem) {
      grid-template-rows: minmax(0,auto) auto;
    }
    @media (width >= 64rem) {
      column-gap: calc(var(--spacing) * 14);
    }
    @media (width >= 64rem) {
      padding-bottom: calc(var(--spacing) * 24);
    }
    @media (width >= 64rem) {
      @media (width < 80rem) {
        padding-inline: calc(var(--spacing) * 6);
      }
    }
    @media (width >= 64rem) {
      --item-article-cols: minmax(0, calc(var(--spacing) * 150)) calc(var(--spacing) * 136);
    }
  }
  .item-article__header {
    @media (width >= 64rem) {
      grid-column-start: 2;
    }
  }
  .item-article__hgroup {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
    }
    @media (width < 48rem) {
      padding-inline: calc(var(--spacing) * 6);
    }
    img {
      height: calc(var(--spacing) * 6);
      @media (width >= 64rem) {
        height: calc(var(--spacing) * 12);
      }
    }
  }
  .item-article__hgroup__title {
    font-size: var(--text-lg);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    @media (width >= 64rem) {
      font-size: var(--text-3\.5xl);
      line-height: var(--leading-normal);
    }
  }
  .item-article__hgroup__description {
    display: inline-flex;
    border-radius: calc(infinity * 1px);
    border-style: var(--tw-border-style);
    border-width: 1px;
    background-color: var(--color-white);
    padding-inline: calc(var(--spacing) * 4);
    padding-block: calc(var(--spacing) * 1);
    font-size: var(--text-2xs);
    line-height: 1;
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    color: var(--color-pink);
    @media (width >= 64rem) {
      font-size: var(--text-xs);
      line-height: 1;
    }
  }
  .item-article__header__image {
    display: grid;
    align-content: flex-start;
    @media (width >= 64rem) {
      grid-column-start: 1;
    }
    @media (width >= 64rem) {
      grid-row: span 2 / span 2;
    }
    @media (width >= 64rem) {
      grid-row-start: 1;
    }
    swiper-container {
      img {
        aspect-ratio: 1 / 1;
        width: 100%;
        background-color: var(--color-gray-100);
        object-fit: contain;
      }
      &.item-image-swiper {
        overflow: hidden;
      }
      &.item-image-swiper-thumbs {
        margin-top: calc(var(--spacing) * 4);
        img {
          max-width: calc(var(--spacing) * 30);
          padding-inline: calc(var(--spacing) * 1.5);
          padding-block: calc(var(--spacing) * 1);
        }
      }
    }
  }
  .item-article__main {
    :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)));
    }
    @media (width < 48rem) {
      padding-inline: calc(var(--spacing) * 6);
    }
    @media (width >= 64rem) {
      grid-column-start: 2;
    }
  }
  .item-article-dl__item {
    display: flex;
    column-gap: calc(var(--spacing) * 1);
    color: var(--color-gray-500);
    :is(& > *) {
      font-size: var(--text-2xs);
      line-height: var(--leading-normal);
    }
    :is(& > *) {
      --tw-font-weight: var(--font-weight-medium);
      font-weight: var(--font-weight-medium);
    }
  }
  .item-article-content {
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    @media (width >= 64rem) {
      font-size: var(--text-base);
      line-height: var(--leading-normal);
    }
  }
  .item-article-point {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 6);
    row-gap: calc(var(--spacing) * 3);
  }
  .item-article-point__item {
    display: flex;
    align-items: center;
    column-gap: calc(var(--spacing) * 2);
  }
  .item-article-point__item__image {
    flex-shrink: 0;
  }
  .item-article-point__item__description {
    font-size: var(--text-2xs);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    @media (width >= 64rem) {
      font-size: var(--text-sm);
      line-height: var(--leading-normal);
    }
  }
  .item-article-table__container {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .item-article-table {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    :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)));
    }
    :where(& > :not(:last-child)) {
      border-color: var(--color-gray-200);
    }
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-gray-200);
  }
  .item-article-table__item {
    display: grid;
    grid-template-columns: 1fr 2fr;
  }
  .item-article-table__item__title {
    background-color: var(--color-pink-100);
    padding-inline: calc(var(--spacing) * 4);
    padding-block: calc(var(--spacing) * 2);
    font-size: var(--text-xs);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    span {
      font-size: var(--text-2xs);
      line-height: var(--leading-normal);
      --tw-font-weight: var(--font-weight-medium);
      font-weight: var(--font-weight-medium);
    }
  }
  .item-article-table__item__description {
    display: flex;
    flex-grow: 1;
    justify-content: center;
    padding-inline: calc(var(--spacing) * 4);
    padding-block: calc(var(--spacing) * 2);
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .item-article-table__note {
    font-size: var(--text-2xs);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    @media (width >= 64rem) {
      font-size: var(--text-xs);
      line-height: var(--leading-normal);
    }
  }
  .item-article-footer__bottom {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 9) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 9) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .item-article-footer__bottom__lead {
    display: flex;
    column-gap: calc(var(--spacing) * 10);
    row-gap: calc(var(--spacing) * 5);
    @media (width < 64rem) {
      flex-direction: column;
    }
  }
  .item-article-footer__image {
    width: 100%;
    border-radius: var(--radius-sm);
    object-fit: cover;
    @media (width >= 64rem) {
      max-width: calc(var(--spacing) * 123);
    }
  }
  .item-article-footer__links {
    display: flex;
    column-gap: calc(var(--spacing) * 4);
    row-gap: calc(var(--spacing) * 3);
    @media (width < 48rem) {
      flex-direction: column;
    }
  }
  .item-article-footer__note {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
    border-radius: var(--radius-xl);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-pink);
    padding: calc(var(--spacing) * 5);
    @media (width >= 48rem) {
      :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)));
      }
    }
    @media (width >= 48rem) {
      padding-inline: calc(var(--spacing) * 12);
    }
    @media (width >= 48rem) {
      padding-block: calc(var(--spacing) * 10);
    }
  }
  .item-article-footer__note__title {
    text-align: center;
    font-size: var(--text-base);
    line-height: var(--leading-loose);
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    color: var(--color-pink);
    @media (width >= 48rem) {
      font-size: var(--text-xl);
      line-height: var(--leading-normal);
    }
  }
  .item-article-footer__note__description,
.item-article-footer__note__item {
    font-size: var(--text-xs);
    line-height: var(--leading-normal);
    @media (width >= 48rem) {
      font-size: var(--text-sm);
      line-height: var(--leading-normal);
    }
  }
  .item-article-footer__note__list {
    list-style-type: disc;
    :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)));
    }
    padding-left: calc(var(--spacing) * 4);
  }
}
@layer components {
  .news-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 3);
    row-gap: calc(var(--spacing) * 8);
    @media (width >= 48rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    @media (width >= 64rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }
  .news-item {
    position: relative;
    display: grid;
    align-content: flex-start;
    row-gap: calc(var(--spacing) * 3);
    img {
      aspect-ratio: 1 / 1;
      width: 100%;
      background-color: var(--color-white);
      object-fit: contain;
    }
  }
  .news-item__tag {
    margin-bottom: calc(var(--spacing) * 2);
    display: inline-block;
    border-radius: calc(infinity * 1px);
    background-color: var(--color-green-100);
    padding-inline: calc(var(--spacing) * 3);
    font-size: var(--text-2xs);
    line-height: var(--leading-loose);
    color: var(--color-white);
    @media (width >= 64rem) {
      font-size: var(--text-xs);
      line-height: var(--leading-loose);
    }
  }
  .news-item__title {
    display: flex;
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    @media (width >= 64rem) {
      font-size: var(--text-base);
      line-height: var(--leading-normal);
    }
  }
  .news-item__time {
    display: block;
    font-size: var(--text-2xs);
    line-height: var(--leading-loose);
    @media (width >= 64rem) {
      font-size: var(--text-xs);
      line-height: var(--leading-loose);
    }
  }
  .single-news__thumb {
    margin-inline: auto;
    margin-bottom: calc(var(--spacing) * 6);
    aspect-ratio: 1 / 1;
    width: 100%;
    max-width: calc(var(--spacing) * 225);
    background-color: var(--color-bg-1);
    object-fit: contain;
    @media (width >= 48rem) {
      aspect-ratio: var(--aspect-video);
    }
    @media (width >= 64rem) {
      margin-bottom: calc(var(--spacing) * 10);
    }
  }
  .single-news-header {
    margin-bottom: calc(var(--spacing) * 8);
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
    }
    @media (width >= 64rem) {
      margin-bottom: calc(var(--spacing) * 12);
    }
  }
  .single-news-header__date {
    font-size: var(--text-xs);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    @media (width >= 64rem) {
      font-size: var(--text-sm);
      line-height: var(--leading-normal);
    }
  }
  .single-news-header__meta {
    display: flex;
    align-items: center;
    column-gap: calc(var(--spacing) * 2);
  }
  .single-news-header__category {
    border-radius: calc(infinity * 1px);
    background-color: var(--color-green-100);
    padding-inline: calc(var(--spacing) * 3);
    padding-block: calc(var(--spacing) * 1);
    font-size: var(--text-xs);
    line-height: 1;
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    color: var(--color-white);
    @media (width >= 64rem) {
      font-size: var(--text-xs);
      line-height: 1;
    }
  }
  .single-news-header__title {
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    @media (width >= 64rem) {
      font-size: var(--text-2\.5xl);
      line-height: var(--leading-normal);
    }
  }
  .single-news__content {
    margin-inline: auto;
    max-width: calc(var(--spacing) * 225);
    * {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
      --tw-leading: var(--leading-loose);
      line-height: var(--leading-loose);
      --tw-tracking: var(--tracking-wider);
      letter-spacing: var(--tracking-wider);
      @media (width >= 64rem) {
        font-size: var(--text-base);
        line-height: var(--tw-leading, var(--text-base--line-height));
      }
      @media (width >= 64rem) {
        --tw-leading: var(--leading-loose);
        line-height: var(--leading-loose);
      }
    }
    h2 {
      margin-top: calc(var(--spacing) * 8);
      margin-bottom: calc(var(--spacing) * 5);
      font-size: var(--text-lg);
      line-height: var(--leading-normal);
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      color: var(--color-pink-600);
      @media (width >= 64rem) {
        font-size: var(--text-2xl);
        line-height: var(--leading-normal);
      }
    }
    p {
      margin-bottom: calc(var(--spacing) * 8);
    }
    figure {
      margin-bottom: calc(var(--spacing) * 8);
      @media (width >= 64rem) {
        margin-bottom: calc(var(--spacing) * 12);
      }
    }
    img {
      &.aligncenter {
        margin-inline: auto;
        display: block;
      }
      &.alignright {
        margin-left: auto;
        display: block;
      }
      &.alignleft {
        margin-right: auto;
        display: block;
      }
    }
    ul {
      margin-block: calc(var(--spacing) * 5);
      margin-left: 1.5em;
      @media (width >= 64rem) {
        margin-block: calc(var(--spacing) * 8);
      }
      li {
        margin-bottom: calc(var(--spacing) * 1);
        list-style-type: disc;
      }
    }
    table {
      td {
        border-style: var(--tw-border-style);
        border-width: 1px;
        border-color: #ddd;
        padding: calc(var(--spacing) * 2.5);
        @media (width >= 64rem) {
          padding-inline: calc(var(--spacing) * 4);
        }
      }
    }
  }
  .single-news-sidebar__inner {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
    }
    @media (width >= 64rem) {
      :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)));
      }
    }
  }
  .single-news-sidebar-title {
    text-align: center;
    font-size: var(--text-xl);
    line-height: 1;
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
    color: var(--color-pink);
  }
  .single-news-sidebar__list {
    #fukuokaprefecture,
  #kagoshimaprefecture,
  #ooitaprefecture {
      --sidebar-content-cols: 2;
      grid-column: 1 / -1;
    }
  }
  .single-news-sidebar__item-title {
    margin-bottom: calc(var(--spacing) * 2);
    text-align: center;
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    color: var(--color-pink);
  }
  .single-news-sidebar__content {
    display: grid;
    grid-template-columns: repeat(var(--sidebar-content-cols,1),minmax(0,1fr));
    column-gap: calc(var(--spacing) * 2.5);
    row-gap: calc(var(--spacing) * 2);
    a {
      display: flex;
      height: 100%;
      align-items: center;
      justify-content: center;
      border-radius: calc(infinity * 1px);
      border-style: var(--tw-border-style);
      border-width: 1px;
      border-color: #e8e5dd;
      background-color: var(--color-white);
      padding-inline: calc(var(--spacing) * 2);
      padding-block: calc(var(--spacing) * 3);
      text-align: center;
      font-size: var(--text-xs);
      line-height: 1;
    }
  }
  .glass-faq {
    margin-bottom: calc(var(--spacing) * 20);
  }
}
@layer components {
  .point-root {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)));
    }
    @media (width >= 64rem) {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 22) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 22) * calc(1 - var(--tw-space-y-reverse)));
      }
    }
  }
  .point-container {
    margin-inline: auto;
    width: 100%;
    max-width: calc(var(--spacing) * 225);
    :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)));
    }
    @media (width < 64rem) {
      padding-inline: calc(var(--spacing) * 6);
    }
    @media (width >= 64rem) {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 14) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 14) * calc(1 - var(--tw-space-y-reverse)));
      }
    }
  }
  .point-card {
    position: relative;
    :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)));
    }
    border-radius: var(--radius-xl);
    background-color: var(--color-pink-100);
    padding-inline: calc(var(--spacing) * 4);
    padding-block: calc(var(--spacing) * 10);
    @media (width >= 64rem) {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)));
      }
    }
    @media (width >= 64rem) {
      padding-inline: calc(var(--spacing) * 15);
    }
    @media (width >= 64rem) {
      padding-bottom: calc(var(--spacing) * 16);
    }
  }
  .point-card__hgroup {
    :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)));
    }
  }
  .point-card__title {
    font-size: var(--text-lg);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
    :is(& > *) {
      color: var(--color-pink);
    }
    @media (width >= 64rem) {
      font-size: var(--text-2\.5xl);
      line-height: var(--leading-normal);
    }
  }
  .point-card__subtitle {
    display: inline-flex;
    align-items: baseline;
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
    padding-bottom: calc(var(--spacing) * 2);
    font-size: var(--text-1\.5xl);
    line-height: 1;
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-pink);
    @media (width >= 64rem) {
      font-size: var(--text-3\.5xl);
    }
    small {
      font-size: var(--text-sm);
      line-height: 1;
      @media (width >= 64rem) {
        font-size: var(--text-1\.5xl);
      }
    }
  }
  .point-card__description {
    font-size: var(--text-sm);
    line-height: var(--leading-loose);
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
    @media (width >= 64rem) {
      font-size: var(--text-base);
      line-height: var(--leading-loose);
    }
  }
  .point-card__image {
    position: absolute;
    top: calc(var(--spacing) * -2);
    right: calc(var(--spacing) * 4);
    @media (width >= 64rem) {
      top: calc(var(--spacing) * -3);
    }
    @media (width >= 64rem) {
      right: calc(var(--spacing) * 12);
    }
    @media (width >= 64rem) {
      width: calc(var(--spacing) * 51);
    }
  }
  .point-card__button {
    --button-width: calc(var(--spacing) * 93.75);
  }
  .point-target-store {
    position: relative;
    margin-top: calc(var(--spacing) * 12);
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
    border-radius: var(--radius-xl);
    background-color: var(--color-white);
    padding-block: calc(var(--spacing) * 4);
    padding-right: calc(var(--spacing) * 5);
    padding-left: calc(var(--spacing) * 1);
    @media (width >= 64rem) {
      margin-top: calc(var(--spacing) * 14);
    }
    @media (width >= 64rem) {
      border-radius: var(--radius-3\.5xl);
    }
    @media (width >= 64rem) {
      padding-inline: calc(var(--spacing) * 8);
    }
    @media (width >= 64rem) {
      padding-block: calc(var(--spacing) * 11);
    }
  }
  .point-target-store__title {
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    color: var(--color-pink);
    @media (width < 64rem) {
      padding-left: calc(var(--spacing) * 6);
    }
    @media (width >= 64rem) {
      font-size: var(--text-1\.5xl);
      line-height: var(--leading-normal);
    }
  }
  .point-target-store__contents {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 7);
    row-gap: calc(var(--spacing) * 3);
    @media (width >= 64rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .point-target-store__contents {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
    @media (width >= 64rem) {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
      }
    }
  }
  .point-target-store__item {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
    @media (width >= 64rem) {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
      }
    }
  }
  .point-target-store__item__section {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .point-target-store__item__section__title {
    border-top-right-radius: calc(infinity * 1px);
    border-bottom-right-radius: calc(infinity * 1px);
    background-color: var(--color-yellow-100);
    padding-inline: calc(var(--spacing) * 6);
    font-size: var(--text-sm);
    line-height: var(--leading-loose);
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    @media (width >= 64rem) {
      font-size: var(--text-lg);
      line-height: var(--leading-loose);
    }
  }
  .point-target-store__item__list__item {
    list-style-position: inside;
    list-style-type: disc;
    padding-left: calc(var(--spacing) * 3);
    font-size: var(--text-xs);
    line-height: var(--leading-loose);
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
    @media (width >= 64rem) {
      font-size: var(--text-base);
      line-height: var(--leading-loose);
    }
  }
  .point-payment-method {
    margin-top: calc(var(--spacing) * 12);
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
    }
    border-radius: var(--radius-xl);
    background-color: var(--color-white);
    padding-inline: calc(var(--spacing) * 4);
    padding-top: calc(var(--spacing) * 7);
    padding-bottom: calc(var(--spacing) * 9);
    @media (width >= 64rem) {
      margin-top: calc(var(--spacing) * 14);
    }
    @media (width >= 64rem) {
      :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)));
      }
    }
    @media (width >= 64rem) {
      border-radius: var(--radius-3\.5xl);
    }
    @media (width >= 64rem) {
      padding-top: calc(var(--spacing) * 10);
    }
    @media (width >= 64rem) {
      padding-bottom: calc(var(--spacing) * 15);
    }
  }
  .point-payment-method__title {
    text-align: center;
    font-size: var(--text-lg);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    :is(& > *) {
      color: var(--color-pink);
    }
    @media (width >= 64rem) {
      font-size: var(--text-1\.5xl);
      line-height: var(--leading-normal);
    }
  }
  .point-payment-method__sections {
    margin-inline: auto;
    width: 100%;
    max-width: calc(var(--spacing) * 145);
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
    }
    @media (width >= 64rem) {
      :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)));
      }
    }
  }
  .point-payment-method__sections__title {
    font-size: var(--text-sm);
    line-height: var(--leading-loose);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-pink);
    @media (width >= 64rem) {
      font-size: var(--text-lg);
      line-height: var(--leading-loose);
    }
  }
  .point-payment-method__sections__contents {
    :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)));
    }
    @media (width >= 64rem) {
      :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)));
      }
    }
  }
  .point-payment-method__sections__section {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
    }
    @media (width >= 64rem) {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
      }
    }
  }
  .point-payment-method__sections__section__title {
    font-size: var(--text-xs);
    line-height: var(--leading-loose);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: #E0901B;
  }
  .point-payment-method__sections__section__list {
    display: flex;
    flex-wrap: wrap;
    column-gap: calc(var(--spacing) * 1);
    row-gap: calc(var(--spacing) * 2);
    @media (width >= 64rem) {
      gap: calc(var(--spacing) * 4);
    }
    img {
      height: auto;
      @media (width < 64rem) {
        width: calc(var(--spacing) * 12);
      }
    }
  }
  .point-payment-method__sections__note {
    font-size: var(--text-2xs);
    line-height: 1;
    @media (width >= 64rem) {
      font-size: var(--text-xs);
      line-height: 1;
    }
  }
}
@layer components {
  .privacy__content {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(1lh * var(--tw-space-y-reverse));
      margin-block-end: calc(1lh * calc(1 - var(--tw-space-y-reverse)));
    }
    * {
      font-size: var(--text-sm);
      line-height: var(--leading-normal);
      --tw-tracking: var(--tracking-wider);
      letter-spacing: var(--tracking-wider);
      @media (width >= 64rem) {
        font-size: var(--text-base);
        line-height: var(--leading-normal);
      }
    }
    h3 {
      font-size: var(--text-base);
      line-height: var(--leading-normal);
      --tw-font-weight: var(--font-weight-semibold);
      font-weight: var(--font-weight-semibold);
      color: var(--color-pink);
      @media (width >= 64rem) {
        font-size: var(--text-lg);
        line-height: var(--leading-normal);
      }
    }
    a {
      color: #168BD9;
      text-decoration-line: underline;
    }
    & > * {
      h3& {
        &:not(*:first-child) {
          margin-top: 1.5lh;
        }
      }
    }
    ul,
  ol {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(1lh * var(--tw-space-y-reverse));
        margin-block-end: calc(1lh * calc(1 - var(--tw-space-y-reverse)));
      }
    }
    li {
      h3 {
        margin-bottom: 0.5em;
        color: var(--color-pink);
      }
    }
  }
  .privacy__info {
    * {
      text-align: right;
      font-size: var(--text-xs);
      line-height: var(--leading-loose);
      --tw-tracking: var(--tracking-wider);
      letter-spacing: var(--tracking-wider);
      @media (width >= 64rem) {
        font-size: var(--text-sm);
        line-height: var(--leading-loose);
      }
    }
  }
  .privacy__window {
    display: flex;
    address {
      border-radius: var(--radius-xl);
      background-color: var(--color-white);
      padding: calc(var(--spacing) * 3);
      font-size: var(--text-xs);
      line-height: var(--leading-normal);
      @media (width >= 64rem) {
        font-size: var(--text-sm);
        line-height: var(--leading-normal);
      }
    }
  }
  .privacy__window-container {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .privacy__window-title {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
    @media (width >= 64rem) {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
      }
    }
  }
  .privacy__window-notice {
    display: flex;
    align-items: flex-end;
    column-gap: calc(var(--spacing) * 8);
    p {
      border-style: var(--tw-border-style);
      border-width: 1px;
      padding: calc(var(--spacing) * 1);
      font-size: var(--text-2xs);
      line-height: var(--leading-normal);
      color: var(--color-pink);
      @media (width >= 64rem) {
        font-size: var(--text-xs);
        line-height: var(--leading-normal);
      }
    }
    img {
      flex-shrink: 0;
    }
  }
}
@layer components {
  .registration-free-banner {
    margin-top: 27px;
    text-align: center;
    font-size: var(--text-base);
    line-height: 1;
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
    color: var(--color-gray-600);
    @media (width >= 64rem) {
      font-size: var(--text-2\.5xl);
      line-height: 1;
    }
    strong {
      font-size: 23px;
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      color: var(--color-pink);
      @media (width >= 64rem) {
        font-size: 32px;
      }
    }
  }
  .registration-target {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
    }
    @media (width >= 64rem) {
      :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)));
      }
    }
  }
  .registration-target__lead {
    text-align: center;
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-600);
    @media (width >= 64rem) {
      font-size: var(--text-base);
      line-height: var(--leading-normal);
    }
    span {
      margin-right: 6px;
      border-bottom-style: var(--tw-border-style);
      border-bottom-width: 1px;
      border-color: #EE81A0;
      padding-bottom: 3px;
      font-size: 18px;
      --tw-leading: 25px;
      line-height: 25px;
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      --tw-tracking: 0.05em;
      letter-spacing: 0.05em;
      color: #EE81A0;
      @media (width >= 64rem) {
        font-size: 28px;
      }
      @media (width >= 64rem) {
        --tw-leading: 1.4;
        line-height: 1.4;
      }
    }
    strong {
      font-size: 15px;
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      @media (width >= 64rem) {
        font-size: 22px;
      }
    }
  }
  .registration-target__buttons {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
    }
    @media (width >= 64rem) {
      display: grid;
    }
    @media (width >= 64rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    @media (width >= 64rem) {
      gap: calc(var(--spacing) * 4);
    }
    @media (width >= 64rem) {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 0) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 0) * calc(1 - var(--tw-space-y-reverse)));
      }
    }
  }
  .registration-target__btn {
    display: block;
    width: 100%;
    border-radius: var(--radius-2xl);
    padding-block: calc(var(--spacing) * 5);
    text-align: center;
    font-size: var(--text-lg);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    transition-property: none;
    @media (width >= 64rem) {
      font-size: var(--text-xl);
      line-height: var(--leading-normal);
    }
    &--yellow {
      border-style: var(--tw-border-style);
      border-width: 2px;
      border-color: #FBBE4C;
      background-color: var(--color-white);
      color: #FBBE4C !important;
    }
    &--pink {
      border-style: var(--tw-border-style);
      border-width: 2px;
      border-color: var(--color-pink);
      background-color: var(--color-white);
      color: var(--color-pink);
    }
  }
  .registration-target__note {
    font-size: 12px;
    line-height: var(--leading-normal);
    color: var(--color-gray-600);
  }
  .registration-cta {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
    }
    text-align: center;
  }
  .registration-cta__title {
    font-size: var(--text-xl);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-pink);
    @media (width >= 64rem) {
      font-size: var(--text-2\.5xl);
      line-height: var(--leading-normal);
    }
  }
  .registration-cta__text {
    text-align: left;
    font-size: var(--text-sm);
    line-height: var(--leading-relaxed);
    color: var(--color-gray-600);
    @media (width >= 64rem) {
      font-size: var(--text-base);
      line-height: var(--leading-relaxed);
    }
  }
  .registration-shop__lead {
    margin-bottom: calc(var(--spacing) * 6);
    text-align: center;
    font-size: 18px;
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-pink);
    @media (width >= 64rem) {
      font-size: 28px;
      line-height: var(--leading-normal);
    }
  }
  .registration-shop__list {
    :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)));
    }
    @media (width >= 64rem) {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 16) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 16) * calc(1 - var(--tw-space-y-reverse)));
      }
    }
  }
  .registration-shop__pref {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .registration-shop__pref__name {
    font-size: 15px;
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-pink);
    @media (width >= 64rem) {
      font-size: 18px;
      line-height: var(--leading-normal);
    }
  }
  .registration-shop__pref__items {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
    }
    @media (width >= 64rem) {
      display: grid;
    }
    @media (width >= 64rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    @media (width >= 64rem) {
      gap: calc(var(--spacing) * 2);
    }
    @media (width >= 64rem) {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 0) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 0) * calc(1 - var(--tw-space-y-reverse)));
      }
    }
  }
  .registration-shop__item {
    display: flex;
    cursor: pointer;
    align-items: center;
    justify-content: space-between;
    border-radius: calc(infinity * 1px);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: #EAE4D9;
    background-color: var(--color-white);
    padding-inline: calc(var(--spacing) * 5);
    padding-block: calc(var(--spacing) * 3);
    font-size: 13px;
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-600);
    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));
    --tw-duration: 200ms;
    transition-duration: 200ms;
    &:hover {
      @media (hover: hover) {
        border-color: var(--color-pink);
      }
    }
    @media (width >= 64rem) {
      font-size: 14px;
      line-height: var(--leading-normal);
    }
    &::after {
      display: flex;
      width: calc(var(--spacing) * 5);
      height: calc(var(--spacing) * 5);
      flex-shrink: 0;
      align-items: center;
      justify-content: center;
      border-radius: calc(infinity * 1px);
      background-color: var(--color-pink);
      font-size: 10px;
      color: var(--color-white);
      --tw-content: '❯';
      content: var(--tw-content);
    }
  }
  .registration-info-banners {
    margin-bottom: calc(var(--spacing) * 0) !important;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    @media (width >= 64rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .registration-info-banner {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: var(--radius-2xl);
    &--half {
      aspect-ratio: 1 / 1;
    }
    &--full {
      grid-column: span 2 / span 2;
      aspect-ratio: 328/95;
      @media (width >= 64rem) {
        grid-column: span 1 / span 1;
      }
      @media (width >= 64rem) {
        aspect-ratio: 1 / 1;
      }
    }
  }
  .registration-info-banner__img {
    display: block;
    height: 100%;
    width: 100%;
    object-fit: cover;
    --tw-brightness: brightness(90%);
    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,);
    .registration-info-banner--half & {
      position: absolute;
      inset: calc(var(--spacing) * 0);
    }
  }
  .registration-info-banner__body {
    position: absolute;
    inset: calc(var(--spacing) * 0);
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    row-gap: 6px;
    padding: calc(var(--spacing) * 4);
    text-align: center;
    color: var(--color-white);
  }
  .registration-info-banner__label {
    font-size: 11px;
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .registration-info-banner__title {
    font-size: var(--text-xl);
    line-height: 1;
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    @media (width >= 64rem) {
      font-size: var(--text-2xl);
      line-height: 1;
    }
  }
  .registration-info-banner__en {
    font-family: var(--font-din);
    font-size: 15px;
    line-height: 1;
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
  }
  .registration-info-banner--full .registration-info-banner__body {
    width: 100%;
    align-items: center;
    justify-content: center;
  }
  .registration-benefit__title {
    text-align: center;
    font-size: 18px;
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-pink);
    @media (width >= 64rem) {
      font-size: 28px;
      line-height: var(--leading-normal);
    }
  }
  .registration-benefit__coupon {
    margin-inline: auto;
    margin-top: calc(var(--spacing) * 6);
    width: 100%;
    max-width: 560px;
  }
}
@layer components {
  .shop-nav {
    ul {
      display: grid;
      grid-template-columns: repeat(8, minmax(0, 1fr));
      gap: calc(var(--spacing) * 2);
      @media (width >= 64rem) {
        gap: calc(var(--spacing) * 3);
      }
      li {
        @media (width < 64rem) {
          grid-column: span 2 / span 2;
        }
        button {
          display: flex;
          width: 100%;
          align-items: center;
          justify-content: center;
          border-radius: var(--radius-lg);
          border-style: var(--tw-border-style);
          border-width: 1px;
          padding-inline: calc(var(--spacing) * 1);
          padding-block: calc(var(--spacing) * 4);
          font-size: var(--text-base);
          line-height: 1;
          --tw-font-weight: var(--font-weight-medium);
          font-weight: var(--font-weight-medium);
          color: var(--color-pink);
          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));
          --tw-duration: 300ms;
          transition-duration: 300ms;
          @media (width >= 64rem) {
            font-size: var(--text-lg);
            line-height: 1;
          }
          &:hover {
            @media (hover: hover) {
              background-color: var(--color-pink);
            }
          }
          &:hover {
            @media (hover: hover) {
              color: var(--color-white);
            }
          }
          &[aria-selected="true"] {
            background-color: var(--color-pink);
            color: var(--color-white);
          }
        }
      }
    }
  }
  .shop-tab {
    @media (width < 64rem) {
      padding-inline: calc(var(--spacing) * 6);
    }
  }
  .shop-nav {
    margin-inline: auto;
    max-width: calc(var(--spacing) * 225);
  }
  .shop-tab__panel {
    margin-top: calc(var(--spacing) * 6);
    @media (width >= 48rem) {
      margin-top: calc(var(--spacing) * 12);
    }
    iframe {
      aspect-ratio: 1 / 1;
      width: 100%;
      height: 100%;
      max-height: 100%;
      max-width: 100%;
      @media (width >= 48rem) {
        aspect-ratio: var(--aspect-2\/1);
      }
    }
  }
  .shop-map-list {
    margin-top: calc(var(--spacing) * 16);
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 5);
    row-gap: calc(var(--spacing) * 12);
    @media (width >= 48rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    @media (width >= 48rem) {
      padding-inline: calc(var(--spacing) * 4);
    }
    @media (width >= 64rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    @media (width >= 64rem) {
      column-gap: calc(var(--spacing) * 6);
    }
    @media (width >= 64rem) {
      row-gap: calc(var(--spacing) * 20);
    }
  }
  .shop-map-list__item {
    display: grid;
    grid-template-rows: auto minmax(0,1fr);
    row-gap: calc(var(--spacing) * 3);
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    @media (width >= 64rem) {
      row-gap: calc(var(--spacing) * 6);
    }
    @media (width >= 64rem) {
      font-size: var(--text-base);
      line-height: var(--leading-normal);
    }
    h4 {
      font-size: var(--text-sm);
      line-height: 1;
      @media (width >= 64rem) {
        font-size: var(--text-lg);
        line-height: 1;
      }
    }
    p {
      font-size: var(--text-2xs);
      line-height: var(--leading-normal);
      @media (width >= 64rem) {
        font-size: var(--text-xs);
        line-height: var(--leading-normal);
      }
    }
    img {
      aspect-ratio: var(--aspect-2\/1);
      width: 100%;
      border-radius: var(--radius-xl);
      object-fit: cover;
    }
  }
  .shop-map-list__content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
    }
    row-gap: calc(var(--spacing) * 2);
  }
  .shop-map-list__item-title {
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    @media (width >= 64rem) {
      font-size: var(--text-xl);
      line-height: var(--leading-normal);
    }
  }
  .shop-map-list .c-button {
    border-style: var(--tw-border-style);
    border-width: 1px;
    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));
    --tw-duration: 200ms;
    transition-duration: 200ms;
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-white);
      }
    }
    &:hover {
      @media (hover: hover) {
        color: var(--color-pink);
      }
    }
    @media (width >= 64rem) {
      font-size: var(--text-base);
      line-height: 1;
    }
    --button-width: 100%;
  }
  .sp-hidden {
    display: none;
    @media (width >= 48rem) {
      display: block;
    }
  }
  .shop-map-list__item-title-prefix {
    display: block;
    @media (width >= 64rem) {
      display: inline;
    }
  }
  .shop-map-list__item-title-suffix {
    display: block;
    @media (width >= 64rem) {
      display: inline;
    }
  }
  .shop-map-list__content-text {
    display: flex;
    height: 100%;
    flex-direction: column;
    justify-content: flex-start;
    row-gap: calc(var(--spacing) * 2);
  }
  .shop-map-list__content-text-item {
    display: flex;
    align-items: flex-start;
    column-gap: calc(var(--spacing) * 1);
  }
  .shop-map-list__content-text-item-label {
    display: flex;
    width: calc(var(--spacing) * 16);
    flex-shrink: 0;
    text-align: right;
  }
  .shop-title {
    display: block;
    border-radius: var(--radius-xl);
    background-color: var(--color-bg-1);
    padding-block: calc(var(--spacing) * 3);
    text-align: center;
    font-size: var(--text-lg);
    line-height: 1;
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    @media (width >= 64rem) {
      font-size: var(--text-2xl);
      line-height: 1;
    }
  }
  .shop-area-list {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    row-gap: calc(var(--spacing) * 16);
    @media (width >= 64rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    @media (width >= 64rem) {
      column-gap: calc(var(--spacing) * 6);
    }
    @media (width >= 64rem) {
      row-gap: calc(var(--spacing) * 24);
    }
    #fukuokaprefecture,
  #kagoshimaprefecture {
      @media (width >= 64rem) {
        grid-column: 1 / -1;
      }
      --shop-list-cols: 4;
    }
    #oitaprefecture,
  #kumamotoprefecture {
      @media (width >= 64rem) {
        grid-row-start: 3;
      }
    }
    #oitaprefecture {
      --shop-list-cols: 2;
      @media (width >= 64rem) {
        grid-column: span 2 / span 2;
      }
      @media (width >= 64rem) {
        grid-column-start: 1;
      }
    }
    #kagoshimaprefecture {
      @media (width >= 64rem) {
        grid-row-start: 4;
      }
    }
    #tottoriprefecture,
  #yamaguchiprefecture {
      @media (width >= 64rem) {
        grid-row-start: 5;
      }
    }
  }
  .shop-area-list__item {
    display: grid;
    grid-template-rows: auto minmax(0,1fr);
    row-gap: calc(var(--spacing) * 8);
    @media (width >= 64rem) {
      row-gap: calc(var(--spacing) * 12);
    }
  }
  .shop-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 5);
    row-gap: calc(var(--spacing) * 4);
    @media (width >= 64rem) {
      grid-template-columns: repeat(var(--shop-list-cols,1),minmax(0,1fr));
    }
    @media (width >= 64rem) {
      column-gap: calc(var(--spacing) * 6);
    }
    @media (width >= 64rem) {
      row-gap: calc(var(--spacing) * 8);
    }
  }
  .shop-list__item {
    display: grid;
    grid-template-rows: minmax(0,1fr) auto;
    row-gap: calc(var(--spacing) * 2);
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    @media (width >= 64rem) {
      font-size: var(--text-base);
      line-height: var(--leading-normal);
    }
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    --tw-duration: 300ms;
    transition-duration: 300ms;
    &:hover {
      @media (hover: hover) {
        opacity: 70%;
      }
    }
    img {
      width: 100%;
      object-fit: cover;
    }
  }
  .single-shop-hgroup {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
    }
    @media (width >= 64rem) {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
      }
    }
  }
  .single-shop-title {
    font-size: var(--text-xl);
    line-height: 1;
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    @media (width >= 64rem) {
      font-size: var(--text-4xl);
      line-height: 1;
    }
  }
  .single-shop-title__subtitle {
    font-size: var(--text-2xs);
    line-height: 1;
    text-transform: uppercase;
  }
  .single-shop-title-type-2 {
    margin-bottom: calc(var(--spacing) * 1);
    font-size: var(--text-xs);
    line-height: 1;
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-pink);
    @media (width >= 64rem) {
      margin-bottom: calc(var(--spacing) * 2);
    }
    @media (width >= 64rem) {
      font-size: var(--text-base);
      line-height: 1;
    }
  }
  .single-shop-title-type-3 {
    flex: 1;
    border-radius: calc(infinity * 1px);
    background-color: var(--color-pink-100);
    padding-inline: calc(var(--spacing) * 4);
    padding-block: calc(var(--spacing) * 3);
    font-size: var(--text-sm);
    line-height: 1;
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    @media (width >= 64rem) {
      padding-inline: calc(var(--spacing) * 5);
    }
    @media (width >= 64rem) {
      font-size: var(--text-lg);
      line-height: 1;
    }
  }
  .single-shop-title-type-3__wrap {
    display: flex;
    column-gap: calc(var(--spacing) * 3);
    @media (width >= 64rem) {
      column-gap: calc(var(--spacing) * 4);
    }
  }
  .single-shop-title-type-4 {
    text-align: center;
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--color-pink);
    @media (width >= 64rem) {
      font-size: var(--text-2\.5xl);
      line-height: var(--leading-normal);
    }
  }
  .single-shop-nav-wrapper {
    display: grid;
    row-gap: calc(var(--spacing) * 6);
    @media (width >= 64rem) {
      justify-content: center;
    }
  }
  .single-shop-nav {
    display: flex;
    column-gap: calc(var(--spacing) * 7);
    row-gap: calc(var(--spacing) * 2);
    @media (width < 64rem) {
      flex-direction: column;
    }
  }
  .single-shop-nav-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 2);
    @media (width >= 64rem) {
      column-gap: calc(var(--spacing) * 3);
    }
    a {
      display: flex;
      align-items: center;
      justify-content: center;
      column-gap: calc(var(--spacing) * 2);
      border-radius: var(--radius-xl);
      background-color: var(--color-pink);
      padding-inline: calc(var(--spacing) * 2);
      padding-block: calc(var(--spacing) * 5);
      font-size: var(--text-base);
      line-height: 1;
      color: var(--color-white);
    }
  }
  .single-shop-nav-list-type-2 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 2);
    @media (width >= 64rem) {
      column-gap: calc(var(--spacing) * 3);
    }
    a {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: calc(var(--spacing) * 2);
      border-radius: var(--radius-xl);
      background-color: var(--color-green-100);
      padding-inline: calc(var(--spacing) * 2);
      font-size: var(--text-sm);
      line-height: 1;
      color: var(--color-white);
      @media (width < 64rem) {
        padding-block: calc(var(--spacing) * 2.5);
      }
      @media (width >= 64rem) {
        padding-inline: calc(var(--spacing) * 7);
      }
    }
  }
  .single-shop-nav-link {
    margin-left: auto;
    display: block;
    font-size: var(--text-xs);
    line-height: 1;
    color: var(--color-green-100);
    text-decoration-line: underline;
  }
  .single-shop-news {
    @media (width >= 64rem) {
      padding-top: calc(var(--spacing) * 20);
    }
  }
  .single-shop-news-tab {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 1);
  }
  .single-shop-news-tab-button {
    border-radius: var(--radius-md);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-pink);
    background-color: var(--color-white);
    padding-block: calc(var(--spacing) * 4);
    font-size: var(--text-xs);
    line-height: 1;
    color: var(--color-pink);
    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));
    --tw-duration: 300ms;
    transition-duration: 300ms;
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-pink);
      }
    }
    &:hover {
      @media (hover: hover) {
        color: var(--color-white);
      }
    }
  }
  .single-shop-info-tab-buttons {
    margin-inline: auto;
    display: grid;
    max-width: calc(var(--spacing) * 168);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 2);
    button {
      border-top-left-radius: var(--radius-xl);
      border-top-right-radius: var(--radius-xl);
      background-color: var(--color-pink);
      padding-block: calc(var(--spacing) * 4);
      font-size: var(--text-base);
      line-height: 1;
      color: var(--color-white);
      @media (width >= 48rem) {
        border-top-left-radius: var(--radius-2xl);
        border-top-right-radius: var(--radius-2xl);
      }
      &[aria-selected="true"] {
        background-color: var(--color-white);
        color: var(--color-pink);
      }
    }
  }
  .single-shop-info-tab-content {
    border-radius: var(--radius-xl);
    background-color: var(--color-white);
    padding-inline: calc(var(--spacing) * 5);
    padding-top: calc(var(--spacing) * 8);
    padding-bottom: calc(var(--spacing) * 12);
    @media (width >= 48rem) {
      border-bottom-right-radius: var(--radius-2xl);
      border-bottom-left-radius: var(--radius-2xl);
    }
    @media (width >= 64rem) {
      padding-top: calc(var(--spacing) * 12);
    }
    @media (width >= 64rem) {
      padding-bottom: calc(var(--spacing) * 16);
    }
  }
  .single-shop-info-content {
    display: grid;
    row-gap: calc(var(--spacing) * 6);
    @media (width >= 64rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    @media (width >= 64rem) {
      column-gap: calc(var(--spacing) * 6);
    }
    @media (width >= 64rem) {
      row-gap: calc(var(--spacing) * 8);
    }
    dl& {
      @media (width >= 64rem) {
        grid-column: span 2 / span 2;
      }
      @media (width >= 64rem) {
        grid-auto-flow: column;
      }
      @media (width >= 64rem) {
        grid-template-rows: repeat(5,auto);
      }
      @media (width >= 64rem) {
        align-content: flex-start;
      }
    }
  }
  .single-shop-info-tab-content-pannel {
    :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)));
    }
  }
  .single-shop-calender {
    iframe {
      aspect-ratio: 5/4;
      height: auto;
      width: 100%;
      max-width: 100%;
    }
  }
  .single-shop-address-link {
    display: flex;
    align-items: center;
    column-gap: calc(var(--spacing) * 1);
    border-radius: var(--radius-sm);
    background-color: var(--color-pink);
    padding-inline: calc(var(--spacing) * 2);
    padding-block: calc(var(--spacing) * 1);
    font-size: var(--text-xs);
    line-height: 1;
    color: var(--color-white);
    @media (width >= 64rem) {
      font-size: var(--text-sm);
      line-height: 1;
    }
  }
  .single-shop-info-content__contents {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
    .c-text,
  p {
      a {
        display: inline-block;
        word-break: break-all;
        text-decoration-line: underline;
      }
    }
    dd {
      padding-left: calc(var(--spacing) * 2);
      @media (width >= 64rem) {
        padding-left: calc(var(--spacing) * 4);
      }
    }
  }
  .single-shop-pay-list {
    margin-top: calc(var(--spacing) * 2);
    margin-bottom: calc(var(--spacing) * 4);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: calc(var(--spacing) * 2);
    img {
      max-height: calc(var(--spacing) * 10);
      width: auto;
      object-fit: contain;
    }
  }
  .single-shop-map {
    :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)));
    }
    @media (width >= 64rem) {
      :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)));
      }
    }
    iframe {
      aspect-ratio: var(--aspect-3\/2);
      height: auto;
      width: 100%;
      max-width: 100%;
      @media (width >= 48rem) {
        aspect-ratio: var(--aspect-video);
      }
    }
  }
  .single-shop-map-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: calc(var(--spacing) * 3);
    @media (width >= 64rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    @media (width >= 64rem) {
      gap: calc(var(--spacing) * 5);
    }
    img {
      aspect-ratio: 5/3;
      width: 100%;
      object-fit: cover;
    }
    p {
      margin-top: calc(var(--spacing) * 2);
      font-size: var(--text-xs);
      line-height: var(--leading-normal);
      @media (width >= 64rem) {
        margin-top: calc(var(--spacing) * 3);
      }
      @media (width >= 64rem) {
        font-size: var(--text-sm);
        line-height: var(--leading-normal);
      }
    }
  }
  .single-shop-map-list__number {
    margin-bottom: calc(var(--spacing) * 1);
    display: flex;
    width: calc(var(--spacing) * 5);
    height: calc(var(--spacing) * 5);
    align-items: center;
    justify-content: center;
    border-radius: calc(infinity * 1px);
    background-color: var(--color-pink);
    font-size: var(--text-base);
    line-height: 1;
    color: var(--color-white);
    @media (width >= 64rem) {
      margin-bottom: calc(var(--spacing) * 2);
    }
    @media (width >= 64rem) {
      width: calc(var(--spacing) * 10);
      height: calc(var(--spacing) * 10);
    }
    @media (width >= 64rem) {
      font-size: var(--text-3\.5xl);
      line-height: 1;
    }
  }
  .single-shop-coupon {
    margin-inline: auto;
    max-width: calc(var(--spacing) * 225);
  }
  .single-shop-coupon-banner {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 8);
    row-gap: calc(var(--spacing) * 4);
    @media (width >= 48rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    @media (width >= 64rem) {
      margin-top: calc(var(--spacing) * 10);
    }
    img {
      margin-bottom: calc(var(--spacing) * 2.5);
      display: block;
      width: 100%;
      object-fit: contain;
      @media (width >= 64rem) {
        margin-bottom: calc(var(--spacing) * 5);
      }
    }
    small {
      display: block;
      font-size: var(--text-xs);
      line-height: var(--leading-normal);
    }
  }
  .single-shop-coupon-item-title {
    margin-bottom: calc(var(--spacing) * 5);
    text-align: center;
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    @media (width >= 64rem) {
      margin-bottom: calc(var(--spacing) * 10);
    }
    @media (width >= 64rem) {
      font-size: var(--text-1\.5xl);
      line-height: var(--leading-normal);
    }
  }
  .shop-coupon-product-swiper {
    swiper-slide {
      width: calc(var(--spacing) * 64);
      @media (width >= 64rem) {
        width: calc(var(--spacing) * 80);
      }
    }
  }
  .single-shop-voice-list {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 6);
    row-gap: calc(var(--spacing) * 3);
    @media (width >= 64rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .single-shop-hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    .c-button {
      --button-width: calc(var(--spacing) * 56);
      position: absolute;
      border-style: var(--tw-border-style);
      border-width: 2px;
      border-color: #F4E5EA;
      padding-block: calc(var(--spacing) * 2) !important;
      font-size: var(--text-sm);
      line-height: 1;
      @media (width >= 64rem) {
        border-style: var(--tw-border-style);
        border-width: 5px;
      }
      @media (width >= 64rem) {
        padding-inline: calc(var(--spacing) * 8) !important;
      }
      @media (width >= 64rem) {
        padding-block: calc(var(--spacing) * 3) !important;
      }
      @media (width >= 64rem) {
        font-size: var(--text-2\.5xl);
        line-height: 1;
      }
      @media (width >= 64rem) {
        --button-width: calc(var(--spacing) * 112);
      }
      .icon-bg-calendar {
        &::before {
          content: var(--tw-content);
          width: calc(var(--spacing) * 5);
          height: calc(var(--spacing) * 5);
        }
        @media (width >= 64rem) {
          &::before {
            content: var(--tw-content);
            width: calc(var(--spacing) * 16);
            height: calc(var(--spacing) * 16);
          }
        }
      }
    }
  }
  .single-shop-hero__image {
    aspect-ratio: var(--aspect-16\/10);
    width: 100%;
    object-fit: cover;
    @media (width >= 48rem) {
      aspect-ratio: var(--aspect-27\/5);
    }
    @media (width >= 48rem) {
      min-height: calc(var(--spacing) * 59);
    }
  }
}
@layer components {
  .subscription-merit-list {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    row-gap: calc(var(--spacing) * 6);
  }
  .subscription-merit-card {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
    border-radius: var(--radius-xl);
    background-color: var(--color-white);
    padding-inline: calc(var(--spacing) * 4);
    padding-block: calc(var(--spacing) * 6);
    @media (width >= 64rem) {
      :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)));
      }
    }
    @media (width >= 64rem) {
      padding-inline: calc(var(--spacing) * 8);
    }
    @media (width >= 64rem) {
      padding-block: calc(var(--spacing) * 10);
    }
  }
  .subscription-merit-card__head {
    display: flex;
    align-items: center;
    column-gap: calc(var(--spacing) * 6);
    & > * {
      &:first-child {
        flex-shrink: 0;
        font-size: var(--text-3xl);
        line-height: var(--leading-tight);
        --tw-font-weight: var(--font-weight-bold);
        font-weight: var(--font-weight-bold);
        color: var(--color-pink);
      }
    }
    h3 {
      font-size: var(--text-xl);
      line-height: var(--leading-tight);
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      @media (width >= 64rem) {
        font-size: var(--text-2xl);
        line-height: 1;
      }
      b {
        --tw-gradient-position: to top;
        @supports (background-image: linear-gradient(in lab, red, red)) {
          --tw-gradient-position: to top in oklab;
        }
        background-image: linear-gradient(var(--tw-gradient-stops));
        --tw-gradient-from: var(--color-pink-100);
        --tw-gradient-from-position: 30%;
        --tw-gradient-to: transparent;
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
        --tw-gradient-to-position: 30%;
      }
      span {
        font-size: var(--text-xs);
        line-height: 1;
        @media (width >= 64rem) {
          font-size: var(--text-sm);
          line-height: 1;
        }
      }
    }
  }
  .subscription-merit-card__body {
    display: flex;
    align-items: center;
    column-gap: calc(var(--spacing) * 6);
    row-gap: calc(var(--spacing) * 2);
    @media (width < 48rem) {
      flex-direction: column;
    }
    img {
      flex-shrink: 0;
    }
    p {
      small {
        display: block;
      }
    }
  }
  .subscription-system-content {
    :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)));
    }
    @media (width >= 64rem) {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)));
      }
    }
  }
  .subscription-system-card__head {
    border-top-left-radius: var(--radius-xl);
    border-top-right-radius: var(--radius-xl);
    background-color: var(--color-pink);
    padding-block: calc(var(--spacing) * 4);
    text-align: center;
    font-size: var(--text-xl);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
    color: var(--color-white);
    @media (width >= 64rem) {
      font-size: var(--text-2\.5xl);
      line-height: 1;
    }
    small {
      display: block;
      font-size: var(--text-2xs);
      line-height: 1;
      --tw-font-weight: var(--font-weight-semibold);
      font-weight: var(--font-weight-semibold);
    }
  }
  .subscription-system-card__body {
    border-bottom-right-radius: var(--radius-xl);
    border-bottom-left-radius: var(--radius-xl);
    background-color: var(--color-white);
    padding-inline: calc(var(--spacing) * 8);
    padding-block: calc(var(--spacing) * 6);
    @media (width >= 64rem) {
      padding-block: calc(var(--spacing) * 18);
    }
  }
  .subscription-system-container-type-1 {
    @media (width >= 64rem) {
      display: flex;
    }
    @media (width >= 64rem) {
      justify-content: space-between;
    }
    @media (width >= 64rem) {
      column-gap: calc(var(--spacing) * 4);
    }
  }
  .subscription-system-container-type-1__decoration {
    text-align: center;
    font-size: var(--text-xl);
    line-height: 1;
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    @media (width < 64rem) {
      margin-bottom: calc(var(--spacing) * 5);
    }
    @media (width >= 64rem) {
      position: absolute;
    }
    @media (width >= 64rem) {
      top: calc(var(--spacing) * -5);
    }
    @media (width >= 64rem) {
      --tw-translate-y: -100%;
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    &.--theme-pink {
      color: var(--color-pink);
    }
  }
  .subscription-system-container-type-1__item {
    &.--theme-pink {
      --theme-text-color: var(--color-pink);
      --theme-bg-color: #ffe5ed;
    }
  }
  .subscription-system-container-type-1__text {
    border-radius: var(--radius-sm);
    background-color: var(--theme-bg-color,var(--color-bg-1));
    padding-inline: calc(var(--spacing) * 6);
    padding-block: calc(var(--spacing) * 4);
    text-align: center;
    font-size: var(--text-base);
    line-height: 1;
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    color: var(--theme-text-color,var(--color-blue-400));
    span {
      display: block;
      font-size: var(--text-sm);
      line-height: 1;
    }
  }
  .subscription-system-container-type-1__divide {
    display: flex;
    align-items: center;
    justify-content: center;
    @media (width < 64rem) {
      margin-block: calc(var(--spacing) * 3);
    }
    p {
      position: relative;
      display: flex;
      align-items: center;
      border-color: var(--color-black);
      font-size: var(--text-xs);
      line-height: 1;
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      @media (width < 64rem) {
        min-height: calc(var(--spacing) * 9);
      }
      @media (width < 64rem) {
        --tw-translate-x: calc(1/2 * 100%);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
      @media (width < 64rem) {
        border-left-style: var(--tw-border-style);
        border-left-width: 1px;
      }
      @media (width < 64rem) {
        padding-left: calc(var(--spacing) * 4);
      }
      @media (width >= 64rem) {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px;
      }
      @media (width >= 64rem) {
        padding-bottom: calc(var(--spacing) * 2);
      }
    }
  }
  .subscription-system-container-type-2 {
    margin-top: calc(var(--spacing) * 6);
    border-style: var(--tw-border-style);
    border-width: 2px;
    border-color: #DADADA;
    padding-inline: calc(var(--spacing) * 4);
    padding-block: calc(var(--spacing) * 1.5);
    text-align: center;
    font-size: var(--text-sm);
    line-height: 1;
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .subscription-system-card__text {
    margin-top: calc(var(--spacing) * 4);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    p {
      font-size: var(--text-xs);
      line-height: var(--leading-normal);
      @media (width >= 64rem) {
        font-size: var(--text-base);
        line-height: var(--leading-normal);
      }
      &.--theme-blue {
        --theme-color: var(--color-blue-400);
      }
      span {
        color: var(--theme-color,var(--color-pink));
      }
    }
  }
  .subscription-system-card__note {
    margin-top: calc(var(--spacing) * 3);
    p {
      font-size: var(--text-2xs);
      line-height: var(--leading-normal);
      @media (width >= 64rem) {
        font-size: var(--text-xs);
        line-height: var(--leading-normal);
      }
    }
  }
  .subscription-system-card__support {
    margin-top: calc(var(--spacing) * 7);
    border-radius: var(--radius-sm);
    border-style: var(--tw-border-style);
    border-width: 1px;
    padding-inline: calc(var(--spacing) * 4);
    padding-block: calc(var(--spacing) * 4);
    h4 {
      margin-bottom: calc(var(--spacing) * 3);
      text-align: center;
      font-size: var(--text-xs);
      line-height: 1;
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
    }
    p {
      font-size: var(--text-2xs);
      line-height: var(--leading-normal);
      @media (width >= 64rem) {
        font-size: var(--text-xs);
        line-height: var(--leading-normal);
      }
    }
    ul {
      margin-block: calc(var(--spacing) * 2);
      background-color: var(--color-bg-1);
      padding: calc(var(--spacing) * 2);
      li {
        position: relative;
        display: flex;
        align-items: baseline;
        column-gap: calc(var(--spacing) * 2);
        font-size: var(--text-2xs);
        line-height: var(--leading-normal);
        --tw-font-weight: var(--font-weight-bold);
        font-weight: var(--font-weight-bold);
        color: var(--color-pink);
        @media (width >= 64rem) {
          font-size: var(--text-xs);
          line-height: var(--leading-normal);
        }
        &::before {
          display: inline-block;
          width: calc(var(--spacing) * 1.5);
          height: calc(var(--spacing) * 1.5);
          flex-shrink: 0;
          border-radius: calc(infinity * 1px);
          background-color: var(--color-pink);
          --tw-content: '';
          content: var(--tw-content);
        }
      }
    }
  }
  .subscription-attention {
    --section-pb: 0;
    li {
      position: relative;
      display: flex;
      align-items: baseline;
      column-gap: calc(var(--spacing) * 2);
      &::before {
        display: inline-block;
        width: calc(var(--spacing) * 1.5);
        height: calc(var(--spacing) * 1.5);
        flex-shrink: 0;
        --tw-translate-y: calc(calc(1/2 * 100%) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y);
        border-radius: calc(infinity * 1px);
        background-color: var(--color-black);
        --tw-content: '';
        content: var(--tw-content);
      }
    }
  }
}
@layer components {
  .top-section {
    padding-block: calc(var(--spacing) * 8);
    @media (width < 80rem) {
      padding-inline: var(--top-section-padding-x);
    }
    @media (width >= 64rem) {
      padding-block: calc(var(--spacing) * 20);
    }
    --top-section-padding-x: calc(var(--spacing) * 6);
  }
  .top-section__inner {
    margin-inline: auto;
    max-width: var(--container-main);
    :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)));
    }
    @media (width >= 64rem) {
      :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)));
      }
    }
    .--size-md & {
      max-width: calc(var(--spacing) * 225);
    }
  }
  .top-target-list__item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    row-gap: calc(var(--spacing) * 2);
    @media (width < 64rem) {
      padding-bottom: calc(var(--spacing) * 3);
    }
    &::after {
      position: absolute;
      inset-block: calc(var(--spacing) * 0);
      right: calc(5px * -1);
      margin-block: calc(var(--spacing) * 1);
      width: 1px;
      background-color: var(--color-gray-400);
      @media (width >= 80rem) {
        --tw-content: '';
        content: var(--tw-content);
      }
    }
    :is(
      &:not(.top-target-list__item.--type-2):not(:nth-child(3n)),
      &.top-target-list__item.--type-2:not(:nth-child(2n))
    )::after {
      --tw-content: '';
      content: var(--tw-content);
    }
    &:nth-child(n + 4) {
      padding-top: calc(var(--spacing) * 2.5);
    }
    &:not(.top-target-list__item.--type-2) {
      grid-column: span 2 / span 2;
      flex-direction: column;
      border-color: var(--color-gray-300);
      @media (width < 64rem) {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px;
      }
    }
    &.--type-2 {
      grid-column: span 3 / span 3;
      column-gap: calc(var(--spacing) * 2);
      @media (width < 64rem) {
        padding-block: calc(var(--spacing) * 5);
      }
      @media (width >= 64rem) {
        grid-column: span 2 / span 2;
      }
      @media (width >= 64rem) {
        flex-direction: column;
      }
      @media (width >= 64rem) {
        border-color: var(--color-gray-300);
      }
    }
  }
  .top-shotp {
    background-color: var(--color-pink-100);
  }
  .top-shop-list-sp {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: calc(var(--spacing) * 2.5);
    row-gap: calc(var(--spacing) * 3);
    @media (width >= 64rem) {
      display: none;
    }
    a {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: calc(infinity * 1px);
      border-style: var(--tw-border-style);
      border-width: 2px;
      border-color: var(--color-pink);
      background-color: var(--color-white);
      padding-inline: calc(var(--spacing) * 4);
      padding-block: calc(var(--spacing) * 3.5);
      font-size: var(--text-base);
      line-height: 1;
      .icon {
        position: absolute;
        right: calc(var(--spacing) * 4);
        color: var(--color-pink);
      }
    }
  }
  .top-shop-list-pc {
    display: none;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: calc(var(--spacing) * 4);
    @media (width >= 64rem) {
      display: grid;
    }
    h3 {
      flex-shrink: 0;
      font-size: var(--text-1\.5xl);
      line-height: 1;
      --tw-font-weight: var(--font-weight-semibold);
      font-weight: var(--font-weight-semibold);
      color: var(--color-pink);
    }
  }
  .top-shop-list-pc__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(var(--spacing) * 5);
    border-radius: var(--radius-2xl);
    border-style: var(--tw-border-style);
    border-width: 2px;
    border-color: var(--color-pink);
    background-color: var(--color-white);
    padding: calc(var(--spacing) * 7);
    @media (width >= 80rem) {
      padding-inline: calc(var(--spacing) * 12);
    }
    &.--row {
      flex-direction: row;
      justify-content: center;
    }
    ul {
      display: flex;
      flex-wrap: wrap;
      gap: calc(var(--spacing) * 4);
      li {
        a {
          display: flex;
          align-items: center;
          justify-content: center;
          border-radius: calc(infinity * 1px);
          border-style: var(--tw-border-style);
          border-width: 2px;
          border-color: var(--color-gray-500);
          background-color: var(--color-white);
          padding-inline: calc(var(--spacing) * 4);
          padding-block: calc(var(--spacing) * 3.5);
          font-size: var(--text-base);
          line-height: 1;
          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));
          --tw-duration: 300ms;
          transition-duration: 300ms;
          &:hover {
            border-color: var(--color-pink);
            background-color: var(--color-pink);
            color: var(--color-white);
          }
        }
      }
    }
  }
  .top-news {
    --top-section-padding-x: 0;
    background-color: var(--color-white);
  }
  .top-news__inner {
    :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)));
    }
    @media (width >= 64rem) {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)));
      }
    }
  }
  .top-news-swiper {
    swiper-slide {
      width: calc(var(--spacing) * 64);
      @media (width >= 64rem) {
        width: calc(var(--spacing) * 80);
      }
      a {
        :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)));
        }
        @media (width >= 64rem) {
          :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)));
          }
        }
      }
      h3 {
        margin-top: calc(var(--spacing) * 1);
        font-size: var(--text-xs);
        line-height: var(--leading-normal);
        @media (width >= 64rem) {
          margin-top: calc(var(--spacing) * 2);
        }
        @media (width >= 64rem) {
          font-size: var(--text-base);
          line-height: var(--leading-normal);
        }
      }
      img {
        aspect-ratio: 1 / 1;
        width: 100%;
        border-radius: var(--radius-xl);
        object-fit: contain;
        object-position: center;
      }
    }
  }
  .top-news-swiper__item-head {
    display: flex;
    align-items: center;
    column-gap: calc(var(--spacing) * 4);
  }
  .top-news-swiper__item-head-shop {
    position: relative;
    display: flex;
    align-items: center;
    border-radius: calc(infinity * 1px);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-green-100);
    background-color: var(--color-white);
    color: var(--color-green-100);
    & > * {
      min-width: calc(var(--spacing) * 16);
      padding-inline: calc(var(--spacing) * 2);
      text-align: center;
      font-size: var(--text-2xs);
      line-height: var(--leading-loose);
      @media (width >= 64rem) {
        font-size: var(--text-xs);
        line-height: var(--leading-loose);
      }
      &:first-child {
        border-radius: calc(infinity * 1px);
        border-right-style: var(--tw-border-style);
        border-right-width: 1px;
        border-color: var(--color-green-100);
        background-color: var(--color-green-100);
        color: var(--color-white);
      }
    }
  }
  .top-news-swiper__item-head-date {
    text-align: center;
    font-size: var(--text-2xs);
    line-height: var(--leading-loose);
    @media (width >= 64rem) {
      font-size: var(--text-xs);
      line-height: var(--leading-loose);
    }
  }
  .top-lineup {
    --top-section-padding-x: 0;
    background-color: var(--color-bg-1);
  }
  .top-lineup__inner {
    :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)));
    }
    @media (width >= 64rem) {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)));
      }
    }
  }
  .top-lineup-tab {
    margin-top: calc(var(--spacing) * 7);
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 7) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 7) * calc(1 - var(--tw-space-y-reverse)));
    }
    @media (width >= 64rem) {
      margin-top: calc(var(--spacing) * 8);
    }
    @media (width >= 64rem) {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)));
      }
    }
  }
  .top-lineup-tab-buttons {
    margin-inline: auto;
    display: grid;
    max-width: calc(var(--spacing) * 88);
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: calc(var(--spacing) * 1);
    @media (width >= 64rem) {
      max-width: calc(var(--spacing) * 216);
    }
    @media (width >= 64rem) {
      grid-template-columns: repeat(8, minmax(0, 1fr));
    }
    &.is-single {
      max-width: calc(var(--spacing) * 150);
      @media (width >= 64rem) {
        grid-template-columns: repeat(4, minmax(0, 1fr));
      }
    }
    button {
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: var(--radius-xl);
      border-style: var(--tw-border-style);
      border-width: 2px;
      border-color: var(--color-pink);
      background-color: var(--color-white);
      padding-block: calc(var(--spacing) * 2.5);
      font-size: var(--text-xs);
      line-height: var(--leading-normal);
      color: var(--color-pink);
      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));
      --tw-duration: 300ms;
      transition-duration: 300ms;
      @media (width >= 64rem) {
        font-size: var(--text-base);
        line-height: var(--leading-normal);
      }
      &[aria-selected="true"] {
        background-color: var(--color-pink);
        color: var(--color-white);
      }
      &.--xs {
        font-size: var(--text-2xs);
        line-height: var(--leading-normal);
        @media (width >= 64rem) {
          font-size: var(--text-xs);
          line-height: var(--leading-normal);
        }
      }
    }
  }
  .top-lineup-swiper {
    swiper-slide {
      width: calc(var(--spacing) * 64);
      @media (width >= 64rem) {
        width: calc(var(--spacing) * 80);
      }
      .items-list__item__title {
        font-size: var(--text-sm);
        line-height: var(--leading-normal);
        @media (width >= 64rem) {
          font-size: var(--text-base);
          line-height: var(--leading-normal);
        }
      }
    }
  }
  .top-manufacturer {
    background-color: var(--color-pink-100);
  }
  .top-manufacturer-list {
    margin-inline: auto;
    display: grid;
    max-width: calc(var(--spacing) * 225);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: calc(var(--spacing) * 2);
    @media (width >= 64rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    li {
      display: flex;
      min-height: calc(var(--spacing) * 14);
      align-items: center;
      justify-content: center;
      border-radius: 0.25rem;
      border-style: var(--tw-border-style);
      border-width: 3px;
      border-color: var(--color-pink-200);
      background-color: var(--color-white);
      padding-inline: calc(var(--spacing) * 1);
      @media (width >= 64rem) {
        min-height: calc(var(--spacing) * 28);
      }
    }
  }
  .top-plan {
    background-color: var(--color-bg-1);
  }
  .top-plan-contents {
    margin-inline: auto;
    max-width: calc(var(--spacing) * 225);
    :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)));
    }
    @media (width >= 64rem) {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)));
      }
    }
  }
  .top-plan-contents-main {
    display: flex;
    column-gap: calc(var(--spacing) * 6);
    row-gap: calc(var(--spacing) * 3);
    @media (width < 48rem) {
      flex-direction: column;
    }
  }
  .top-plan-contents-main__head {
    margin-inline: auto;
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
    }
    text-align: center;
    h3 {
      font-size: var(--text-base);
      line-height: 1;
      --tw-font-weight: var(--font-weight-medium);
      font-weight: var(--font-weight-medium);
      --tw-tracking: var(--tracking-wider);
      letter-spacing: var(--tracking-wider);
      @media (width >= 64rem) {
        font-size: var(--text-2xl);
        line-height: 1;
      }
      & > * {
        color: var(--color-pink);
      }
      b {
        font-size: 2em;
        line-height: 1;
        --tw-font-weight: var(--font-weight-bold);
        font-weight: var(--font-weight-bold);
      }
    }
    img {
      width: 100%;
      max-width: calc(var(--spacing) * 120);
    }
  }
  .top-plan-contents-main__body {
    margin-inline: auto;
    width: 100%;
    max-width: calc(var(--spacing) * 100);
  }
  .top-plan-contents-main__body {
    ul {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
      }
      li {
        display: flex;
        align-items: center;
        justify-content: center;
        column-gap: calc(var(--spacing) * 2);
        font-size: var(--text-sm);
        line-height: var(--leading-normal);
        @media (width >= 64rem) {
          font-size: var(--text-base);
          line-height: var(--leading-normal);
        }
      }
    }
  }
  .top-plan-contents-main__body-bubble {
    width: 100%;
  }
  .top-plan-contents__footer {
    :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)));
    }
    text-align: center;
    @media (width >= 64rem) {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 7) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 7) * calc(1 - var(--tw-space-y-reverse)));
      }
    }
  }
  .top-plan-contents__footer-link {
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
    color: #168BD9;
    text-decoration-line: underline;
    @media (width >= 64rem) {
      font-size: var(--text-base);
      line-height: var(--leading-normal);
    }
  }
  .top-point {
    background-color: var(--color-pink-100);
    --top-point-size: calc(var(--spacing) * 36);
    @media (width >= 48rem) {
      --top-point-size: calc(var(--spacing) * 50);
    }
    ul {
      margin-inline: auto;
      display: grid;
      max-width: calc(var(--spacing) * 180);
      grid-template-columns: repeat(2,minmax(0,var(--top-point-size)));
      justify-content: center;
      column-gap: calc(var(--spacing) * 4);
      row-gap: calc(var(--spacing) * 3);
      @media (width >= 48rem) {
        grid-template-columns: repeat(3,minmax(0,var(--top-point-size)));
      }
      @media (width >= 48rem) {
        justify-content: space-between;
      }
      @media (width >= 48rem) {
        row-gap: calc(var(--spacing) * 10);
      }
    }
    li {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)));
      }
      @media (width >= 48rem) {
        :where(& > :not(:last-child)) {
          --tw-space-y-reverse: 0;
          margin-block-start: calc(calc(var(--spacing) * 7) * var(--tw-space-y-reverse));
          margin-block-end: calc(calc(var(--spacing) * 7) * calc(1 - var(--tw-space-y-reverse)));
        }
      }
      p {
        font-size: var(--text-xs);
        line-height: var(--leading-normal);
        @media (width >= 48rem) {
          text-align: center;
        }
        @media (width >= 48rem) {
          font-size: var(--text-base);
          line-height: var(--leading-normal);
        }
      }
      & > div {
        position: relative;
        margin-inline: auto;
        width: calc(var(--spacing) * 30);
        height: calc(var(--spacing) * 30);
        @media (width >= 48rem) {
          width: calc(var(--spacing) * 41);
          height: calc(var(--spacing) * 41);
        }
        img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: center;
        }
        .icon-wrapper {
          position: absolute;
          right: calc(var(--spacing) * 0);
          bottom: calc(var(--spacing) * 0);
          display: flex;
          width: calc(var(--spacing) * 8);
          height: calc(var(--spacing) * 8);
          align-items: center;
          justify-content: center;
          background-color: var(--color-white);
          @media (width >= 64rem) {
            width: calc(var(--spacing) * 12);
            height: calc(var(--spacing) * 12);
          }
          border-radius: 9999px;
        }
        .icon {
          width: 100%;
          height: 100%;
          color: var(--color-pink);
        }
        .icon-number {
          display: flex;
          width: 100%;
          height: 100%;
          align-items: center;
          justify-content: center;
          background-color: var(--color-pink);
          font-size: var(--text-base);
          line-height: 1;
          --tw-font-weight: var(--font-weight-bold);
          font-weight: var(--font-weight-bold);
          color: var(--color-white);
          @media (width >= 64rem) {
            font-size: var(--text-xl);
            line-height: 1;
          }
          border-radius: 9999px;
        }
      }
    }
  }
  .top-review {
    background-color: var(--color-bg-1);
  }
  .top-review-list {
    display: grid;
    grid-template-columns: var(--top-review-list-columns);
    column-gap: calc(var(--spacing) * 6);
    row-gap: calc(var(--spacing) * 3);
    @media (width >= 64rem) {
      row-gap: calc(var(--spacing) * 6);
    }
    @media (width >= 80rem) {
      gap: calc(var(--spacing) * 5);
    }
    --top-review-list-columns: repeat(auto-fill, minmax(calc(var(--spacing) * 71), 1fr));
    li {
      :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)));
      }
      border-radius: var(--radius-xl);
      background-color: var(--color-white);
      padding-inline: calc(var(--spacing) * 5);
      padding-block: calc(var(--spacing) * 6);
      @media (width >= 80rem) {
        padding-inline: calc(var(--spacing) * 4);
      }
    }
    p {
      font-size: var(--text-sm);
      line-height: var(--leading-normal);
    }
  }
  .top-review-list__author {
    display: flex;
    align-items: center;
    column-gap: calc(var(--spacing) * 3);
    h3 {
      padding-bottom: calc(var(--spacing) * 4);
      font-size: var(--text-base);
      line-height: var(--leading-normal);
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
    }
  }
  .top-review-list__author-profile {
    flex-shrink: 0;
    text-align: center;
  }
  .top-review-list__author-profile__age {
    display: inline-block;
    border-radius: calc(infinity * 1px);
    border-style: var(--tw-border-style);
    border-width: 1px;
    background-color: var(--color-white);
    padding-inline: calc(var(--spacing) * 3);
    font-size: var(--text-2xs);
    line-height: var(--leading-normal);
    color: var(--color-pink);
  }
  .top-campaign {
    background-color: var(--color-pink-100);
  }
  .top-compaign-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: calc(var(--spacing) * 2);
    @media (width >= 48rem) {
      gap: calc(var(--spacing) * 4);
    }
    @media (width >= 64rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    @media (width >= 64rem) {
      gap: calc(var(--spacing) * 8);
    }
    @media (width >= 80rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    img {
      aspect-ratio: 1 / 1;
      width: 100%;
      border-radius: var(--radius-sm);
      object-fit: cover;
      object-position: center;
      @media (width >= 48rem) {
        border-radius: var(--radius-xl);
      }
    }
  }
  .top-new-open {
    --top-section-padding-x: 0;
    background-color: var(--color-bg-1);
    swiper-slide {
      width: calc(var(--spacing) * 80);
    }
  }
  .top-new-open__inner {
    margin-inline: auto;
    margin-bottom: calc(var(--spacing) * 6);
    max-width: var(--container-main);
    padding-inline: calc(var(--spacing) * 6);
    @media (width >= 64rem) {
      margin-bottom: calc(var(--spacing) * 8);
    }
  }
  .top-new-open-list__item {
    display: flex;
    overflow: hidden;
    border-radius: var(--radius-xl);
    background-color: var(--color-white);
    img {
      aspect-ratio: 1 / 1;
      width: calc(var(--spacing) * 28);
      height: calc(var(--spacing) * 28);
      object-fit: cover;
      object-position: center;
    }
  }
  .top-new-open-list__item-content {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
    }
    padding: calc(var(--spacing) * 4);
    h3 {
      font-size: var(--text-sm);
      line-height: var(--leading-normal);
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
      @media (width >= 64rem) {
        font-size: var(--text-base);
        line-height: var(--leading-normal);
      }
    }
  }
  .top-new-open-list__item-content-head {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-radius: calc(infinity * 1px);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-green-100);
    background-color: var(--color-white);
    color: var(--color-green-100);
  }
  .top-new-open-list__item-head__area,
.top-new-open-list__item-head__date {
    padding-inline: calc(var(--spacing) * 2.5);
    text-align: center;
    font-size: var(--text-2xs);
    line-height: var(--leading-loose);
    @media (width >= 64rem) {
      padding-inline: calc(var(--spacing) * 3);
    }
    @media (width >= 64rem) {
      font-size: var(--text-xs);
      line-height: var(--leading-loose);
    }
  }
  .top-new-open-list__item-head__area {
    border-radius: calc(infinity * 1px);
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
    border-color: var(--color-green-100);
    background-color: var(--color-green-100);
    color: var(--color-white);
  }
}
@layer components {
  .voice-list {
    --voice-card-bg: var(--color-pink-100);
    margin-bottom: calc(var(--spacing) * 12);
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    row-gap: calc(var(--spacing) * 4);
    @media (width >= 64rem) {
      margin-bottom: calc(var(--spacing) * 20);
    }
    @media (width >= 64rem) {
      row-gap: calc(var(--spacing) * 8);
    }
  }
  .voice-card {
    display: block;
    :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)));
    }
    border-radius: var(--radius-xl);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: #EAE4D9;
    background-color: var(--voice-card-bg,var(--color-white));
    padding-inline: calc(var(--spacing) * 5);
    padding-block: calc(var(--spacing) * 6);
    @media (width >= 80rem) {
      padding-inline: calc(var(--spacing) * 4);
    }
  }
  .voice-card__author {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    align-items: center;
    column-gap: calc(var(--spacing) * 3);
    row-gap: calc(var(--spacing) * 2);
    h3 {
      font-size: var(--text-base);
      line-height: var(--leading-normal);
      --tw-font-weight: var(--font-weight-bold);
      font-weight: var(--font-weight-bold);
    }
  }
  .voice-card__author-profile__age {
    margin-inline: auto;
    display: inline-block;
    border-radius: calc(infinity * 1px);
    border-style: var(--tw-border-style);
    border-width: 1px;
    background-color: var(--color-white);
    padding-inline: calc(var(--spacing) * 3);
    text-align: center;
    font-size: var(--text-2xs);
    line-height: var(--leading-normal);
    color: var(--color-pink);
  }
  .voice-card__author-profile__date {
    font-size: var(--text-2xs);
    line-height: var(--leading-normal);
    color: var(--color-pink);
    @media (width >= 64rem) {
      font-size: var(--text-xs);
      line-height: 1;
    }
  }
  .voice-card__author-profile__content {
    display: flex;
    flex-direction: column;
    row-gap: calc(var(--spacing) * 2);
  }
  .voice-card__reply {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
    }
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
    border-color: var(--color-gray-200);
    padding-top: calc(var(--spacing) * 5);
    h4 {
      font-size: var(--text-sm);
      line-height: var(--leading-normal);
      @media (width >= 64rem) {
        font-size: var(--text-base);
        line-height: var(--leading-normal);
      }
      span {
        color: var(--color-pink);
      }
    }
  }
}
@font-face {
  font-family: "DIN Neuzeit Grotesk LT";
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/DINNeuzeitGroteskLT-Light.woff2") format("woff2");
}
@font-face {
  font-family: "DIN Neuzeit Grotesk LT";
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/DINNeuzeitGroteskLT-BoldCond.woff2") format("woff2");
}
@layer base {
  :root {
    @media (width >= 64rem) {
      --spacing-header-height: 6.75rem;
    }
  }
  :target {
    scroll-margin-top: var(--spacing-header-height);
  }
  html,
  dialog {
    color: var(--color-text);
  }
  html {
    scroll-behavior: smooth;
  }
  :is(button, summary) {
    cursor: pointer;
  }
  address {
    font-style: normal;
  }
  swiper-slide {
    height: auto;
    & > * {
      height: 100%;
    }
  }
}
@layer components {
  .c-link {
    cursor: pointer;
    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));
    --tw-duration: 300ms;
    transition-duration: 300ms;
  }
}
.sp {
  @media (width >= 48rem) {
    display: none;
  }
}
@property --tw-space-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-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-content {
  syntax: "*";
  inherits: false;
  initial-value: "";
}
@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-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-position {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}
@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}
@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@property --tw-divide-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@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-space-y-reverse: 0;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-content: "";
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-duration: initial;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-ease: initial;
      --tw-divide-y-reverse: 0;
    }
  }
}
