@charset "UTF-8";
@layer core, weddingcore, layout, module, unique, utility;
@layer core {
  /*
    https://github.com/andy-piccalilli/modern-css-reset/blob/master/LICENSE
  */
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }
  body,
  h1,
  h2,
  h3,
  h4,
  p,
  figure,
  blockquote,
  dl,
  dd {
    margin: 0;
  }
  ul[role=list],
  ol[role=list] {
    list-style: none;
  }
  html:focus-within {
    scroll-behavior: smooth;
  }
  body {
    min-height: 100vh;
    text-rendering: optimizespeed;
    line-height: 1.5;
  }
  a:not([class]) {
    text-decoration-skip-ink: auto;
  }
  img,
  picture {
    display: block;
    max-width: 100%;
  }
  input,
  button,
  textarea,
  select {
    font: inherit;
  }
  @font-face {
    font-family: "BIZ UDPGothic";
    font-weight: 400;
    src: url("/assets/common/fonts/BIZUDPGothic-Regular.woff2") format("woff2");
    font-display: swap;
  }
  @font-face {
    font-family: "BIZ UDPGothic";
    font-weight: 700;
    src: url("/assets/common/fonts/BIZUDPGothic-Bold.woff2") format("woff2");
    font-display: swap;
  }
  @font-face {
    font-family: "Zen Old Mincho";
    font-weight: 400;
    src: url("/assets/common/fonts/ZenOldMincho-Regular.woff2") format("woff2");
    font-display: swap;
  }
  @font-face {
    font-family: "Zen Old Mincho";
    font-weight: 600;
    src: url("/assets/common/fonts/ZenOldMincho-SemiBold.woff2") format("woff2");
    font-display: swap;
  }
}
@layer weddingcore {
  @font-face {
    font-family: "Cormorant Infant";
    font-weight: 500;
    src: url("/assets/common/fonts/CormorantInfant-Medium.woff2") format("woff2");
    font-display: swap;
  }
  @font-face {
    font-family: "Imperial Script";
    font-weight: 400;
    src: url("/assets/common/fonts/ImperialScript-Regular.woff2") format("woff2");
    font-display: swap;
  }
  :root {
    --value-none: 0;
    --value-4: 4px;
    --value-8: 8px;
    --value-12: 12px;
    --value-16: 16px;
    --value-20: 20px;
    --value-24: 24px;
    --value-28: 28px;
    --value-32: 32px;
    --value-40: 40px;
    --value-48: 48px;
    --value-64: 64px;
    --value-80: 80px;
    --value-96: 96px;
    --value-128: 128px;
    --value-160: 160px;
    --value-260: 260px;
    --COLOR-BASE-WHITE: #FFF;
    --COLOR-BASE-PRIMARY: #95804E;
    --COLOR-BASE-PRIMARY-2: #AD5A65;
    --COLOR-BASE-SECONDARY: #BDA671;
    --COLOR-BG-PRIMARY: #BDA671;
    --COLOR-BG-SECONDARY: #D4BA7E;
    --COLOR-BG-TERTIARY: #FCF9F2;
    --COLOR-BG-WHITE: var(--COLOR-BASE-WHITE);
    --COLOR-BG-PRIMARY-LIGHT: #FAF8F5;
    --COLOR-FONT: #525252;
    --COLOR-FONT-2: #95804E;
    --COLOR-FONT-3: #AD5A65;
    --COLOR-FONT-WHITE: var(--COLOR-BASE-WHITE);
    --COLOR-BORDER-PRIMARY: #F0ECE2;
    --COLOR-BORDER-PRIMARY-2: #D4CAB2;
    --FONT-PRIMARY: "BIZ UDPGothic", sans-serif;
    --FONT-SECONDARY: "Zen Old Mincho", serif;
    --FONT-EN: "Cormorant Infant", serif;
    --FONT-EN-ACCENT: "Imperial Script", serif;
    --FONT-WEIGHT: 400;
    --FONT-WEIGHT-MEDIUM: 500;
    --FONT-WEIGHT-SEMIBOLD: 600;
    --FONT-WEIGHT-BOLD: 700;
    --FONT-SIZE-2XS: 0.625rem;
    --FONT-SIZE-XS: 0.6875rem;
    --FONT-SIZE-SM: 0.75rem;
    --FONT-SIZE-MD: 1rem;
    --FONT-SIZE-LG: 1rem;
    --FONT-SIZE-XL: 1.125rem;
    --FONT-SIZE-2XL: 1.25rem;
    --FONT-SIZE-3XL: 1.4375rem;
    --FONT-SIZE-4XL: 1.625rem;
    --FONT-SIZE-5XL: 2.25rem;
    --FONT-SIZE-6XL: 2.5rem;
    --FONT-SIZE-7XL: 3rem;
    --FONT-SIZE-8XL: 3.25rem;
    --FONT-SIZE-9XL: 4rem;
    --PRIMARY-LINE-HEIGHT: 2.2;
    --PRIMARY-LINE-HEIGHT-TIGHT: 1.8;
    --PRIMARY-LINE-HEIGHT-S: 2;
    --PRIMARY-LINE-HEIGHT-S-TIGHT: 1.6;
    --SECONDARY-LINE-HEIGHT: 2;
    --SECONDARY-LINE-HEIGHT-TIGHT: 1.6;
    --SECONDARY-LINE-HEIGHT-S: 1.8;
    --SECONDARY-LINE-HEIGHT-S-TIGHT: 1.4;
    --LETTER-SPACING: 0.08em;
    --LETTER-SPACING-TIGHT: 0;
    --SPACE-NONE: var(--value-none);
    --SPACE-4XS: var(--value-4);
    --SPACE-3XS: var(--value-8);
    --SPACE-2XS: var(--value-12);
    --SPACE-XS: var(--value-16);
    --SPACE-SM: var(--value-16);
    --SPACE-MD: var(--value-20);
    --SPACE-LG: var(--value-24);
    --SPACE-XL: var(--value-28);
    --SPACE-2XL: var(--value-32);
    --SPACE-3XL: var(--value-48);
    --SPACE-4XL: var(--value-64);
    --SPACE-5XL: var(--value-80);
    --SPACE-6XL: var(--value-80);
    --SPACE-7XL: var(--value-96);
    --SPACE-GUTTER: var(--value-20);
    --SPACE-GUTTER-WIDE: var(--value-32);
    --SPACE-GUTTER-MAX: var(--value-260);
    --RADIUS-NONE: 0;
    --RADIUS-SM: var(--value-4);
    --RADIUS-MD: var(--value-8);
    --RADIUS-LG: var(--value-12);
    --RADIUS-XL: var(--value-12);
    --RADIUS-2XL: var(--value-16);
    --RADIUS-3XL: var(--value-24);
    --RADIUS-4XL: var(--value-32);
    --Z-INDEX-1: 1;
    --Z-INDEX-2: 2;
    --Z-INDEX-3: 3;
    --Z-INDEX-4: 4;
    --CONTENT-WIDTH: 1920px;
  }
  @media (min-width: 768px) {
    :root {
      --FONT-SIZE-XS: 0.75rem;
      --FONT-SIZE-SM: 0.875rem;
      --FONT-SIZE-LG: 1.125rem;
      --FONT-SIZE-XL: 1.25rem;
      --FONT-SIZE-2XL: 1.4375rem;
      --FONT-SIZE-3XL: 1.75rem;
      --FONT-SIZE-4XL: 2rem;
      --FONT-SIZE-5XL: 2.25rem;
      --FONT-SIZE-6XL: 2.5rem;
      --FONT-SIZE-7XL: 3rem;
      --FONT-SIZE-8XL: 3.25rem;
      --FONT-SIZE-9XL: 4rem;
      --SPACE-SM: var(--value-20);
      --SPACE-MD: var(--value-24);
      --SPACE-LG: var(--value-32);
      --SPACE-XL: var(--value-40);
      --SPACE-2XL: var(--value-48);
      --SPACE-3XL: var(--value-64);
      --SPACE-4XL: var(--value-80);
      --SPACE-5XL: var(--value-96);
      --SPACE-6XL: var(--value-128);
      --SPACE-7XL: var(--value-160);
      --SPACE-GUTTER: var(--value-80);
      --SPACE-GUTTER-WIDE: var(--value-160);
      --RADIUS-XL: var(--value-16);
      --RADIUS-2XL: var(--value-24);
      --RADIUS-3XL: var(--value-48);
      --RADIUS-4XL: var(--value-64);
    }
  }
  html {
    scroll-behavior: smooth;
  }
  body {
    display: grid;
    grid-template-rows: auto 1fr auto;
    grid-template-columns: 100%;
    font-family: var(--FONT-PRIMARY);
    font-size: var(--FONT-SIZE-MD);
    font-weight: var(--FONT-WEIGHT);
    letter-spacing: var(--LETTER-SPACING);
    line-height: var(--PRIMARY-LINE-HEIGHT);
    color: var(--COLOR-FONT);
    background-color: var(--COLOR-BASE-WHITE);
  }
  body > :first-child {
    margin-block-start: 0 !important;
  }
  body > :last-child {
    margin-block-end: 0 !important;
  }
  em[class] {
    font-style: normal;
    font-weight: var(--FONT-WEIGHT-BOLD);
  }
  a {
    word-break: break-all;
  }
  a[class] {
    color: var(--COLOR-FONT);
    text-decoration: none;
  }
  ol[class],
  ul[class],
  li[class] {
    padding-inline-start: 0;
    list-style: none;
  }
  img {
    max-inline-size: 100%;
    max-block-size: 100%;
    block-size: auto;
  }
}
@layer layout {
  header {
    font-size: 1rem;
  }
  header .is-none {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  .l-header__pc {
    display: none;
  }
  @media (min-width: 768px) {
    .l-header__pc {
      display: block;
    }
  }
  .l-header__sp {
    display: block;
  }
  @media (min-width: 768px) {
    .l-header__sp {
      display: none;
    }
  }
  .l-header {
    position: fixed;
    z-index: 500;
    inline-size: 100%;
  }
  @media (min-width: 768px) {
    .l-header--login .l-header__back {
      display: flex;
      align-items: center;
      gap: 24px;
    }
  }
  .l-header--login .l-header__btn span::before, .l-header--login .l-header__btn::before, .l-header--login .l-header__btn::after {
    background-color: var(--COLOR-BASE-PRIMARY-2);
  }
  .l-header--login .l-header__title {
    color: #7E6366;
    letter-spacing: 0;
    font-weight: var(--FONT-WEIGHT-BOLD);
    font-family: var(--FONT-SECONDARY);
  }
  .l-header--login .l-header__list-item-login {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-inline-end: 24px;
  }
  .l-header--login .l-header__list-item-login > a {
    color: var(--COLOR-FONT-3);
    font-weight: var(--FONT-WEIGHT-BOLD);
    letter-spacing: 0;
    font-family: var(--FONT-SECONDARY);
    font-size: var(--FONT-SIZE-XL);
    text-decoration: none;
  }
  .l-header--login .l-header__list-item--menu > button {
    background-color: var(--COLOR-BASE-PRIMARY-2);
  }
  @media only screen and (any-hover: hover) {
    .l-header--login .l-header__list-item--menu > button:focus, .l-header--login .l-header__list-item--menu > button:focus-visible, .l-header--login .l-header__list-item--menu > button:hover {
      background-color: #CE9CA3;
    }
  }
  .l-header--login .l-header__nav-inner {
    background-color: #FBF7F8;
  }
  .l-header--login .l-header__nav-title {
    color: var(--COLOR-BASE-PRIMARY-2);
  }
  .l-header--login .l-header__nav-link-list a {
    color: #7E6366;
  }
  .l-header--login .l-header__nav-ex-link a > svg {
    fill: #7E6366;
  }
  .l-header--login .l-header__sp-nav-inner {
    background-color: #FBF7F8;
  }
  .l-header--login .l-header__sp-link-list > li + li {
    border-block-start: 1px solid #EFDEE0;
  }
  .l-header--login .l-header__sp-link-list details::before, .l-header--login .l-header__sp-link-list details::after {
    background-color: var(--COLOR-BASE-PRIMARY-2);
  }
  .l-header__back {
    background-color: var(--COLOR-BG-WHITE);
    padding: 10px 20px;
    min-block-size: 72px;
    box-shadow: 0px 0px 10px 0px rgba(184, 149, 110, 0.2);
    z-index: 300;
    opacity: 1;
    visibility: visible;
    transition: all 0.6s ease-out;
  }
  @media (min-width: 768px) {
    .l-header__back {
      padding: 11px 32px;
      min-block-size: 80px;
    }
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .l-header__back {
      min-block-size: 60px;
    }
  }
  .l-header__logo {
    display: flex;
    justify-content: center;
  }
  .l-header__logo img {
    inline-size: 71px;
    block-size: 52px;
  }
  @media (min-width: 768px) {
    .l-header__logo {
      justify-content: left;
    }
    .l-header__logo img {
      inline-size: unset;
      block-size: unset;
    }
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .l-header__logo img {
      inline-size: 52px;
      block-size: 38px;
    }
  }
  .l-header__list {
    position: absolute;
    inset-block-start: 0;
    inset-inline-end: 0;
    z-index: 700;
    display: flex;
    margin: 0;
  }
  .l-header__list:has(.is-open) {
    inset-inline-end: 15px;
  }
  .l-header__list-item {
    min-inline-size: 109px;
    min-block-size: 80px;
    background-color: var(--COLOR-BG-PRIMARY);
    text-align: center;
    padding: 12px;
    line-height: 1.8;
    font-size: var(--FONT-SIZE-SM);
    font-family: var(--FONT-SECONDARY);
    font-weight: var(--FONT-WEIGHT-SEMIBOLD);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.6s ease-out;
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .l-header__list-item {
      min-inline-size: 76px;
      min-block-size: 60px;
      font-size: var(--FONT-SIZE-2XS);
      padding: 9.5px 8px;
    }
    .l-header__list-item img {
      inline-size: 15px;
      block-size: 15px;
    }
  }
  .l-header__list-item > a {
    text-decoration: none;
    color: var(--COLOR-FONT-WHITE);
  }
  .l-header__list-item + .l-header__list-item {
    border-inline-start: 1px solid #D8CDB2;
  }
  .l-header__list-item img {
    margin: 4px auto;
  }
  @media only screen and (any-hover: hover) {
    .l-header__list-item:focus, .l-header__list-item:focus-visible, .l-header__list-item:hover {
      background-color: #D8CDB2;
    }
  }
  .l-header__list-item--menu {
    min-block-size: unset;
    min-inline-size: unset;
    padding: unset;
  }
  .l-header__list-item--menu > button {
    min-block-size: 80px;
    min-inline-size: 109px;
    padding: 12px;
    background-color: var(--COLOR-BASE-PRIMARY);
    transition: all 0.6s ease-out;
    border: none;
    position: relative;
    color: var(--COLOR-FONT-WHITE);
  }
  @media only screen and (any-hover: hover) {
    .l-header__list-item--menu > button:focus, .l-header__list-item--menu > button:focus-visible, .l-header__list-item--menu > button:hover {
      background-color: #C4BAA1;
    }
  }
  .l-header__list-item--menu > button::before, .l-header__list-item--menu > button::after {
    position: absolute;
    content: "";
    inline-size: 28px;
    block-size: 1px;
    border-radius: 5px;
    background-color: var(--COLOR-FONT-WHITE);
    inset-inline: 0;
    margin: 0 auto;
  }
  .l-header__list-item--menu > button::before {
    inset-block-start: 18px;
  }
  .l-header__list-item--menu > button::after {
    inset-block-start: 32px;
  }
  .l-header__list-item--menu > button > span {
    padding-block-start: 28px;
    display: block;
  }
  .l-header__list-item--menu > button > span::before {
    inset-block-start: 25px;
    position: absolute;
    content: "";
    inline-size: 28px;
    block-size: 1px;
    border-radius: 5px;
    background-color: var(--COLOR-FONT-WHITE);
    inset-inline: 0;
    margin: 0 auto;
  }
  .l-header__list-item--menu > button.is-open::before {
    transform: rotate(35deg);
    inset-block-start: 27px;
  }
  .l-header__list-item--menu > button.is-open::after {
    transform: rotate(-35deg);
    inset-block-start: 27px;
  }
  .l-header__list-item--menu > button.is-open > span::before {
    display: none;
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .l-header__list-item--menu > button.is-open::before, .l-header__list-item--menu > button.is-open::after {
      inset-block-start: 23px;
      inline-size: 21px;
    }
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .l-header__list-item--menu {
      min-inline-size: 76px;
      min-block-size: 60px;
      font-size: var(--FONT-SIZE-2XS);
    }
    .l-header__list-item--menu img {
      inline-size: 15px;
      block-size: 15px;
    }
    .l-header__list-item--menu > button {
      min-block-size: 60px;
      min-inline-size: 76px;
      padding: 7px;
    }
  }
  .l-header__fair {
    position: fixed;
    background-color: var(--COLOR-BASE-PRIMARY);
    transition: all 0.6s ease-out;
    line-height: 2;
    font-size: var(--FONT-SIZE-LG);
    font-family: var(--FONT-SECONDARY);
    color: var(--COLOR-FONT-WHITE);
    inset-inline-start: 40px;
    inset-block-end: 56px;
    block-size: 130px;
    inline-size: 130px;
    border-radius: 65px;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 300;
    border: 1px solid var(--COLOR-BASE-PRIMARY);
  }
  .l-header__fair svg {
    display: block;
    margin: 0 auto 10px;
  }
  .l-header__fair .l-header__stroke-1,
  .l-header__fair .l-header__stroke-2 {
    transition: all 0.6s ease-out;
  }
  @media only screen and (any-hover: hover) {
    .l-header__fair:focus, .l-header__fair:focus-visible, .l-header__fair:hover {
      background-color: var(--COLOR-BG-WHITE);
      color: var(--COLOR-BASE-PRIMARY);
    }
    .l-header__fair:focus .l-header__stroke-1, .l-header__fair:focus-visible .l-header__stroke-1, .l-header__fair:hover .l-header__stroke-1 {
      stroke: var(--COLOR-BASE-PRIMARY);
    }
    .l-header__fair:focus .l-header__stroke-2, .l-header__fair:focus-visible .l-header__stroke-2, .l-header__fair:hover .l-header__stroke-2 {
      stroke: var(--COLOR-BG-WHITE);
      fill: var(--COLOR-BASE-PRIMARY);
    }
  }
  @media (min-width: 768px) {
    .l-header__fair {
      display: flex;
    }
  }
  .l-header__top {
    position: fixed;
    background-color: var(--COLOR-BASE-PRIMARY);
    transition: all 0.6s ease-out;
    block-size: 40px;
    inline-size: 48px;
    inset-inline-end: 40px;
    inset-block-end: 56px;
    z-index: 300;
    border-radius: 50%;
    border: 1px solid var(--COLOR-BASE-PRIMARY);
    display: none;
  }
  .l-header__top::before, .l-header__top::after {
    position: absolute;
    content: "";
    block-size: 1px;
    inline-size: 8px;
    background-color: var(--COLOR-BG-WHITE);
    border-radius: 5px;
    inset: 0;
    margin: auto;
    transform: rotate(45deg);
    transition: all 0.6s ease-out;
  }
  .l-header__top::before {
    transform: rotate(45deg);
    inset-inline-start: 5px;
  }
  .l-header__top::after {
    transform: rotate(-45deg);
    inset-inline-start: -5px;
  }
  @media (min-width: 768px) {
    .l-header__top {
      display: block;
    }
  }
  @media only screen and (any-hover: hover) {
    .l-header__top:focus, .l-header__top:focus-visible, .l-header__top:hover {
      background-color: var(--COLOR-BG-WHITE);
    }
    .l-header__top:focus::before, .l-header__top:focus::after, .l-header__top:focus-visible::before, .l-header__top:focus-visible::after, .l-header__top:hover::before, .l-header__top:hover::after {
      background-color: var(--COLOR-BASE-PRIMARY);
    }
  }
  .l-header__top.login {
    background-color: var(--COLOR-BASE-PRIMARY-2);
    border: 1px solid var(--COLOR-BASE-PRIMARY-2);
  }
  @media only screen and (any-hover: hover) {
    .l-header__top.login:focus, .l-header__top.login:focus-visible, .l-header__top.login:hover {
      background-color: var(--COLOR-BG-WHITE);
    }
    .l-header__top.login:focus::before, .l-header__top.login:focus::after, .l-header__top.login:focus-visible::before, .l-header__top.login:focus-visible::after, .l-header__top.login:hover::before, .l-header__top.login:hover::after {
      background-color: var(--COLOR-BASE-PRIMARY-2);
    }
  }
  .l-header__top-text {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    padding: 0;
    overflow: hidden;
    -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
    clip-path: inset(0px 0px 99.9% 99.9%);
    border: 0;
  }
  .l-header__nav {
    inline-size: 100%;
    block-size: calc(100dvb - 72px);
    visibility: hidden;
    position: absolute;
    z-index: 300;
    opacity: 0;
    transition: opacity 0s ease-out;
  }
  .l-header__nav.is-open {
    opacity: 1;
    visibility: visible;
    overflow: auto;
    transition: opacity 0.6s ease-out;
  }
  @media (min-width: 768px) {
    .l-header__nav {
      inset-block-start: 0;
      position: absolute;
      block-size: 100vb;
    }
  }
  .l-header__nav-inner {
    background-color: var(--COLOR-BG-TERTIARY);
  }
  .l-header__nav-logo > img {
    margin: auto;
    padding-block-start: 24px;
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .l-header__nav-logo > img {
      inline-size: 99px;
    }
  }
  .l-header__nav-guide {
    display: flex;
    padding: 120px 80px;
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .l-header__nav-guide {
      flex-direction: column;
    }
  }
  .l-header__nav-guide-left {
    flex: 1;
    margin: 0;
    display: flex;
    gap: 48px;
    flex-wrap: wrap;
  }
  .l-header__nav-guide-right {
    border-block-start: 1px solid var(--COLOR-BORDER-PRIMARY);
    margin: 16px 0 0 0;
    padding: 32px 0 0 0;
  }
  @media (min-width: 768px) {
    .l-header__nav-guide-right {
      padding: 0 0 0 48px;
      margin: 0;
      min-inline-size: 288px;
      border-block-start: unset;
    }
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .l-header__nav-guide-right {
      margin: 48px 0 0 0;
      padding: 48px 0 0 0;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      gap: 24px;
    }
  }
  .l-header__nav-guide-left + .l-header__nav-guide-right {
    border-inline-start: 1px solid var(--COLOR-BORDER-PRIMARY);
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .l-header__nav-guide-left + .l-header__nav-guide-right {
      border-inline-start: unset;
      border-block-start: 1px solid var(--COLOR-BORDER-PRIMARY);
    }
  }
  .l-header__nav-title-link {
    margin-block: 24px 16px;
    display: block;
    transition: all 1s ease-out;
  }
  @media only screen and (any-hover: hover) {
    .l-header__nav-title-link:focus, .l-header__nav-title-link:focus-visible, .l-header__nav-title-link:hover {
      margin-block: 30px 10px;
      opacity: 0.5;
    }
  }
  .l-header__nav-title {
    font-size: var(--FONT-SIZE-3XL);
    font-family: var(--FONT-EN);
    color: var(--COLOR-BASE-PRIMARY);
    line-height: 1.4;
    display: block;
  }
  .l-header__nav-subTitle {
    line-height: 1.8;
    font-size: var(--FONT-SIZE-SM);
    font-family: var(--FONT-SECONDARY);
    display: block;
  }
  .l-header__nav-link-list {
    padding-block-start: 16px;
  }
  @media (min-width: 768px) {
    .l-header__nav-link-list {
      padding-block-start: 0;
    }
  }
  .l-header__nav-link-list a {
    font-family: var(--FONT-SECONDARY);
    color: var(--COLOR-BASE-PRIMARY);
    text-decoration: none;
    position: relative;
    padding-inline-start: 20px;
    line-height: 1.6;
    display: inline-block;
    transition: all 0.6s ease-out;
    letter-spacing: 0;
  }
  .l-header__nav-link-list a::before {
    position: absolute;
    content: "";
    background: url(/assets/wedding/images/icon-heading-02.svg);
    background-size: cover;
    inline-size: 12px;
    block-size: 12px;
    inset-inline-start: 0;
    inset-block-start: 7px;
    margin-inline: auto;
  }
  .l-header__nav-link a {
    transition: all 0.6s ease-out;
  }
  @media only screen and (any-hover: hover) {
    .l-header__nav-link a:focus, .l-header__nav-link a:focus-visible, .l-header__nav-link a:hover {
      opacity: 0.5;
    }
  }
  .l-header__nav-guide-menu {
    inline-size: 240px;
  }
  .l-header__nav-ex-link + .l-header__nav-ex-link {
    margin-block-start: 16px;
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .l-header__nav-ex-link + .l-header__nav-ex-link {
      margin-block-start: 0;
    }
  }
  .l-header__nav-ex-link a {
    line-height: 2;
    letter-spacing: 0;
    font-family: var(--FONT-SECONDARY);
    color: var(--COLOR-FONT);
    text-decoration: none;
    font-weight: var(--FONT-WEIGHT);
    display: flex;
    align-items: center;
    transition: all 0.6s ease-out;
  }
  .l-header__nav-ex-link a > span {
    margin-inline: 16px;
  }
  .l-header__nav-ex-link a > svg {
    fill: var(--COLOR-BASE-PRIMARY);
  }
  @media only screen and (any-hover: hover) {
    .l-header__nav-ex-link:focus a, .l-header__nav-ex-link:focus-visible a, .l-header__nav-ex-link:hover a {
      color: var(--COLOR-BASE-PRIMARY);
    }
  }
  .l-header__nav-footer {
    background-color: var(--COLOR-BG-PRIMARY);
    padding: 64px 32px;
    position: relative;
  }
  .l-header__nav-footer::before {
    position: absolute;
    content: "";
    inset: 0;
    background: url(/assets/wedding/images/bg-pattern-light.svg);
    opacity: 0.2;
  }
  @media (min-width: 768px) {
    .l-header__nav-footer {
      padding: 67px 40px;
    }
  }
  .l-header__nav-footer-inner {
    max-inline-size: 1253px;
    margin: auto;
    display: flex;
    flex-direction: column;
  }
  @media (min-width: 768px) {
    .l-header__nav-footer-inner {
      flex-direction: row;
    }
  }
  .l-header__nav-btn-list {
    display: flex;
    gap: 32px;
    z-index: 1;
    position: relative;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    margin: 0;
  }
  .l-header__nav-btn {
    background-color: var(--COLOR-BG-WHITE);
    color: var(--COLOR-BASE-PRIMARY);
    line-height: 1.8;
    letter-spacing: 0;
    font-size: var(--FONT-SIZE-XL);
    font-family: var(--FONT-SECONDARY);
    padding: 16px 18px;
    text-align: center;
    min-inline-size: 311px;
    max-inline-size: 311px;
    display: flex;
    justify-content: center;
    transition: all 0.6s ease-out;
  }
  @media (min-width: 768px) {
    .l-header__nav-btn {
      min-inline-size: 396px;
      max-inline-size: unset;
      padding: 24px 48px;
    }
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .l-header__nav-btn {
      min-inline-size: 320px;
      padding: 24px;
    }
  }
  .l-header__nav-btn svg {
    fill: var(--COLOR-BASE-PRIMARY);
    margin-inline-start: 16px;
    transition: all 0.6s ease-out;
  }
  .l-header__nav-btn > span {
    display: inline-block;
    padding-block: 12px;
    position: relative;
    padding-inline-start: 68px;
  }
  .l-header__nav-btn > span::before, .l-header__nav-btn > span::after {
    position: absolute;
    content: "";
    transition: all 0.6s ease-out;
  }
  .l-header__nav-btn > span::before {
    background-color: var(--COLOR-BG-TERTIARY);
    inline-size: 60px;
    block-size: 60px;
    border-radius: 50%;
    inset-inline-start: 0;
    inset-block-start: 0;
  }
  .l-header__nav-btn > span::after {
    background: url(/assets/wedding/images/icon-ring.svg);
    inline-size: 32px;
    block-size: 32px;
    inset-inline-start: 14px;
    inset-block-start: 14px;
  }
  @media (min-width: 768px) {
    .l-header__nav-btn > span {
      padding-inline-start: 76px;
    }
  }
  @media only screen and (any-hover: hover) {
    .l-header__nav-btn:focus, .l-header__nav-btn:focus-visible, .l-header__nav-btn:hover {
      background-color: var(--COLOR-BASE-PRIMARY);
      color: var(--COLOR-BG-WHITE);
    }
    .l-header__nav-btn:focus svg, .l-header__nav-btn:focus-visible svg, .l-header__nav-btn:hover svg {
      fill: var(--COLOR-BG-WHITE);
    }
    .l-header__nav-btn:focus > span::before, .l-header__nav-btn:focus-visible > span::before, .l-header__nav-btn:hover > span::before {
      background-color: var(--COLOR-BG-WHITE);
    }
  }
  .l-header__nav-btn--attend > span::after {
    background: url(/assets/wedding/images/icon-chapel.svg);
  }
  .l-header__nav-inquiry {
    border-block-start: 1px solid var(--COLOR-BORDER-PRIMARY);
    text-align: center;
    color: var(--COLOR-FONT-WHITE);
    font-family: var(--FONT-SECONDARY);
    display: flex;
    align-items: center;
    justify-content: center;
    padding-block-start: 40px;
    margin-block-start: 40px;
  }
  @media (min-width: 768px) {
    .l-header__nav-inquiry {
      border-inline-start: 1px solid var(--COLOR-BORDER-PRIMARY);
      border-block-start: unset;
      padding-inline-start: 64px;
      margin-inline-start: 64px;
      padding-block-start: unset;
      margin-block-start: unset;
    }
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .l-header__nav-inquiry {
      padding-inline-start: 40px;
      margin-inline-start: 40px;
    }
  }
  .l-header__nav-text {
    line-height: 2;
    letter-spacing: 0;
    font-size: var(--FONT-SIZE-LG);
    font-weight: var(--FONT-WEIGHT);
  }
  .l-header__nav-tel {
    font-size: var(--FONT-SIZE-4XL);
    color: var(--COLOR-FONT-WHITE);
    text-decoration: none;
  }
  .l-header__nav-inquiry-inner {
    min-inline-size: 270px;
  }
  .l-header__btn {
    position: fixed;
    inset-inline-end: 20px;
    inset-block-start: 24px;
    border: none;
    background: unset;
    inline-size: 24px;
    block-size: 12px;
    transition: all 0.6s ease-out;
    padding: 12px;
  }
  .l-header__btn::before, .l-header__btn::after {
    content: "";
    position: absolute;
    inline-size: 24px;
    block-size: 1px;
    border-radius: 5px;
    background-color: var(--COLOR-BASE-PRIMARY);
    inset-inline-end: 0;
    inset-block-start: 6px;
    margin: 0 auto;
  }
  .l-header__btn::after {
    inset-block-start: 16px;
  }
  .l-header__btn > span::before {
    content: "";
    position: absolute;
    inline-size: 24px;
    block-size: 1px;
    border-radius: 5px;
    background-color: var(--COLOR-BASE-PRIMARY);
    inset-inline-end: 0;
    inset-block-start: 11px;
    margin: 0 auto;
  }
  .l-header__btn.is-open::before {
    transform: rotate(40deg);
    inset-block-start: 10px;
  }
  .l-header__btn.is-open::after {
    transform: rotate(-40deg);
    inset-block-start: 10px;
  }
  .l-header__btn.is-open > span {
    display: none;
  }
  .l-header__btn-text {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    padding: 0;
    overflow: hidden;
    -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
    clip-path: inset(0px 0px 99.9% 99.9%);
    border: 0;
  }
  .l-header__sp-link-list {
    margin: 0;
  }
  .l-header__sp-link-list > li + li {
    padding-block-start: 16px;
    margin-block-start: 24px;
    border-block-start: 1px solid var(--COLOR-BORDER-PRIMARY);
  }
  .l-header__sp-link-list details {
    position: relative;
  }
  .l-header__sp-link-list details::before, .l-header__sp-link-list details::after {
    position: absolute;
    content: "";
    block-size: 1px;
    inline-size: 8px;
    background-color: var(--COLOR-BASE-PRIMARY);
    border-radius: 5px;
    inset-inline-end: 0;
    inset-block-start: 22px;
    margin: auto;
    transform: rotate(-45deg);
  }
  .l-header__sp-link-list details::before {
    transform: rotate(45deg);
    inset-inline-end: 6px;
  }
  .l-header__sp-link-list details[open]::before, .l-header__sp-link-list details[open]::after {
    transform: rotate(45deg);
  }
  .l-header__sp-link-list details[open]::before {
    transform: rotate(-45deg);
  }
  .l-header__nav-btn-text {
    min-inline-size: 179px;
    display: block;
  }
  @media (min-width: 768px) {
    .l-header__nav-btn-text {
      min-inline-size: unset;
    }
  }
  .l-header__nav-subText {
    letter-spacing: 0;
  }
  .l-header__footer {
    position: fixed;
    inset-block-end: 0;
    background-color: var(--COLOR-BG-PRIMARY);
    inline-size: 100%;
    padding: 19px 24px;
  }
  .l-header__footer-inner {
    display: flex;
    justify-content: center;
    margin: 0;
  }
  .l-header__footer-item + .l-header__footer-item {
    border-inline-start: 1px solid #D8CDB2;
    padding-inline-start: 16px;
    margin-inline-start: 16px;
  }
  .l-header__footer-item > a {
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--COLOR-FONT-WHITE);
    gap: 6px;
    font-size: 10px;
    letter-spacing: 0;
    font-family: var(--FONT-SECONDARY);
    line-height: 1.4;
  }
  .l-header__footer-item:nth-child(1) {
    inline-size: 15%;
  }
  .l-header__footer-item:nth-child(2) {
    inline-size: 30%;
  }
  .l-header__footer-item:nth-child(3) {
    inline-size: 25%;
  }
  .l-header__footer-item:nth-child(4) {
    inline-size: 20%;
    border-inline-start: unset;
    padding-inline-start: 0;
    margin-inline-start: 0;
  }
  .l-header__footer-item:nth-child(4) > a {
    position: absolute;
    background-color: var(--COLOR-BASE-PRIMARY);
    flex-direction: column;
    inset-inline-end: 0;
    inset-block-end: 0;
    padding: 12px 16px;
    line-height: 1.4;
    font-weight: 700;
    border-radius: 24px 0 0 0;
  }
  .l-header__sp-nav-inner {
    background-color: var(--COLOR-BG-TERTIARY);
    padding: 48px 48px 64px;
  }
  .l-header__link-text {
    text-decoration: none;
  }
  .is-fixed {
    overflow: hidden;
  }
  .l-content {
    padding: var(--SPACE-6XL) var(--SPACE-GUTTER);
    background-color: var(--COLOR-WHITE);
    overflow-inline: hidden;
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .l-content {
      padding-inline: clamp(2.5rem, -1.257rem + 7.83vw, 5rem);
    }
  }
  @media (1600px <= width) {
    .l-content .l-content__inner {
      max-inline-size: calc(var(--CONTENT-WIDTH) - var(--SPACE-GUTTER) * 2);
    }
  }
  .l-content--circle {
    position: relative;
    overflow: hidden;
    padding-block: 128px;
  }
  .l-content--circle::after {
    position: absolute;
    content: "";
    inline-size: 112%;
    block-size: 160px;
    background-color: var(--COLOR-BG-TERTIARY);
    clip-path: ellipse(50% 50% at 50% 50%);
    inset-inline-start: -6%;
    inset-block-end: -100px;
    margin-inline: auto;
  }
  @media (min-width: 768px) {
    .l-content--circle {
      padding-block: 320px;
    }
    .l-content--circle::after {
      block-size: 480px;
      inset-block-end: -320px;
    }
  }
  .l-content--circle + .l-content--bg-primary {
    padding-block-start: 0 !important;
  }
  .l-content--circle-up {
    position: relative;
    overflow: hidden;
    padding-block-start: 60px;
  }
  @media (min-width: 768px) {
    .l-content--circle-up {
      padding-block-start: 192px;
    }
  }
  .l-content--circle-up::before {
    position: absolute;
    content: "";
    background-color: var(--COLOR-BG-WHITE);
    padding-block-start: 60px;
    inline-size: 100%;
    inset-inline-start: 0;
    inset-block-start: 0;
  }
  @media (min-width: 768px) {
    .l-content--circle-up::before {
      padding-block-start: 192px;
    }
  }
  .l-content--circle-up::after {
    position: absolute;
    content: "";
    inline-size: 112%;
    block-size: 160px;
    background-color: var(--COLOR-BG-TERTIARY);
    clip-path: ellipse(50% 50% at 50% 50%);
    inset-inline-start: -6%;
    inset-block-start: 0;
    margin-inline: auto;
  }
  @media (min-width: 768px) {
    .l-content--circle-up::after {
      block-size: 480px;
      inset-block-start: 0px;
    }
  }
  .l-content--circle-up .l-content__inner {
    position: relative;
    z-index: 10;
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .l-content--gutter-wide {
      padding-inline: clamp(2.5rem, -8.772rem + 23.48vw, 10rem);
    }
  }
  @media (1600px <= width) {
    .l-content--gutter-wide .l-content__inner {
      max-inline-size: calc(var(--CONTENT-WIDTH) - var(--SPACE-GUTTER-WIDE) * 2);
    }
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .l-content--gutter-middle {
      padding-inline: clamp(2.5rem, -8.772rem + 23.48vw, 10rem);
    }
  }
  @media (1600px <= width) {
    .l-content--gutter-middle .l-content__inner {
      max-inline-size: 1280px;
    }
  }
  .l-content--gutter-max {
    padding-inline: var(--SPACE-GUTTER);
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .l-content--gutter-max {
      padding-inline: clamp(2.5rem, -8.772rem + 23.48vw, 10rem);
    }
  }
  @media (min-width: 1280px) {
    .l-content--gutter-max {
      padding-inline: clamp(10rem, -15.078rem + 31.35vw, 16.25rem);
    }
  }
  @media (1600px <= width) {
    .l-content--gutter-max .l-content__inner {
      max-inline-size: calc(1600px - var(--SPACE-GUTTER-MAX) * 2);
    }
  }
  .l-content--gutter-none {
    padding-inline: 0px;
  }
  .l-content--bg-primary {
    background-color: var(--COLOR-BG-TERTIARY);
  }
  .l-content--bg-pattern {
    position: relative;
    background-color: #E8D9D2;
    padding-block: 0;
    overflow-inline: visible;
  }
  .l-content--bg-pattern::before {
    position: absolute;
    content: "";
    inset: 0;
    inline-size: 100%;
    block-size: 100%;
    background: url("/assets/hotel/images/bg-pattern-dark.svg");
  }
  .l-content--bg-pattern > .l-content__inner {
    position: relative;
    z-index: var(--Z-INDEX-1);
    transform: translateY(-64px);
    margin-block-start: var(--SPACE-4XL);
  }
  @media (min-width: 768px) {
    .l-content--bg-pattern > .l-content__inner {
      transform: translateY(-80px);
    }
  }
  .l-content--bg-pattern-color::after {
    position: absolute;
    content: "";
    inline-size: 100%;
    block-size: var(--SPACE-4XL);
    background-color: var(--COLOR-BG-PRIMARY);
    inset: -64px 0 0;
  }
  @media (min-width: 768px) {
    .l-content--bg-pattern-color::after {
      inset: -80px 0 0;
    }
  }
  .l-content--bg-pattern-fade {
    position: relative;
    background-color: var(--COLOR-BG-PRIMARY);
  }
  .l-content--bg-pattern-fade::before, .l-content--bg-pattern-fade::after {
    position: absolute;
    content: "";
    inline-size: 100%;
    block-size: 280px;
    inset: 0;
  }
  .l-content--bg-pattern-fade::before {
    background: url("/assets/hotel/images/bg-pattern-light.svg");
  }
  .l-content--bg-pattern-fade::after {
    background: linear-gradient(0deg, var(--COLOR-BG-PRIMARY) 0%, rgba(245, 240, 233, 0) 80%);
  }
  .l-content--bg-pattern-fade > .l-content__inner {
    position: relative;
    z-index: var(--Z-INDEX-1);
  }
  .l-content--login {
    background-color: #FBF7F8;
  }
  .m-hdg-lv1--login + .l-content--login {
    padding-block-start: 40px !important;
  }
  .l-content + .l-content--bg-primary, .l-content + .l-content--bg-pattern-fade, .l-content + .l-content--login, .l-content--login + .l-content {
    padding-block-start: var(--SPACE-6XL);
  }
  .l-content--bg-primary + .l-content--bg-primary {
    padding-block-start: 0;
  }
  .l-content__inner {
    inline-size: 100%;
    margin-inline: auto;
  }
  .l-content__inner > :first-child {
    margin-block-start: 0 !important;
  }
  .l-content__inner > :last-child {
    margin-block-end: 0 !important;
  }
  .l-content-media {
    text-align: center;
  }
  .l-content-media__media {
    padding-inline: var(--SPACE-GUTTER);
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .l-content-media__media {
      padding-inline: clamp(2.5rem, -8.772rem + 23.48vw, 10rem);
    }
  }
  @media (min-width: 1280px) {
    .l-content-media__media {
      padding-inline: clamp(10rem, -15.078rem + 31.35vw, 16.25rem);
    }
  }
  @media (1600px <= width) {
    .l-content-media__media .l-content-media__media-img {
      max-inline-size: calc(1600px - var(--SPACE-GUTTER-MAX) * 2);
    }
  }
  .l-content-media__media-img {
    margin: auto;
    position: relative;
    z-index: 1;
    margin-block-end: -64px;
  }
  @media (min-width: 768px) {
    .l-content-media__media-img {
      margin-block-end: -127px;
    }
  }
  .l-content-media__content {
    background-color: #FFF8E6;
    position: relative;
    padding-block: 64px 32px;
    padding-inline: var(--SPACE-GUTTER);
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .l-content-media__content {
      padding-inline: clamp(2.5rem, -8.772rem + 23.48vw, 10rem);
    }
  }
  @media (min-width: 1280px) {
    .l-content-media__content {
      padding-inline: clamp(10rem, -15.078rem + 31.35vw, 16.25rem);
    }
  }
  @media (1600px <= width) {
    .l-content-media__content .l-content-media__inner {
      max-inline-size: calc(1600px - var(--SPACE-GUTTER-MAX) * 2);
    }
  }
  .l-content-media__content::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url(/assets/wedding/images/bg-pattern-light.svg);
    opacity: 0.4;
    background-size: 37px;
  }
  @media (min-width: 768px) {
    .l-content-media__content {
      padding-block: 127px 120px;
    }
  }
  .l-content-media__inner {
    inline-size: 100%;
    margin-inline: auto;
    position: relative;
    z-index: 1;
  }
  .is-circle-none {
    padding-block-end: 128px;
  }
  .is-circle-none::after {
    content: unset !important;
  }
  @media (min-width: 768px) {
    .is-circle-none {
      padding-block-end: 128px;
    }
  }
  .l-content-line {
    position: relative;
  }
  .l-content-line::before, .l-content-line::after {
    content: "";
    position: absolute;
    inline-size: calc(50% - 22px);
    block-size: 1px;
    background-color: #E3DED2;
    margin: auto;
    inset-block: 0;
  }
  .l-content-line::after {
    inset-inline-end: 0;
  }
  .l-content-line > img {
    margin-inline: auto;
  }
  .l-breadcrumb {
    padding: 40px var(--SPACE-GUTTER);
  }
  .l-breadcrumb__list {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 12px;
    margin-block: 0;
  }
  .l-breadcrumb__list > :last-of-type {
    padding-inline-end: 0;
  }
  .l-breadcrumb__list > :last-of-type::after {
    display: none;
  }
  .l-breadcrumb__list li {
    position: relative;
    padding-inline-end: 14px;
    line-height: 2;
    letter-spacing: 0.8px;
    font-family: var(--FONT-SECONDARY);
  }
  .l-breadcrumb__list li::after {
    position: absolute;
    content: "";
    inline-size: 6px;
    block-size: 6px;
    border-radius: 50%;
    background-color: var(--COLOR-BASE-PRIMARY);
    inset: 0 0 0 auto;
    margin-block: auto;
  }
  .l-breadcrumb__list li > a {
    color: var(--COLOR-FONT);
    text-decoration: none;
  }
  .l-breadcrumb__list li[aria-current=page] {
    font-weight: var(--FONT-WEIGHT-BOLD);
    color: var(--COLOR-BASE-PRIMARY);
  }
  @media (min-width: 768px) {
    .l-breadcrumb__list {
      gap: 16px;
    }
    .l-breadcrumb__list li {
      padding-inline-end: 22px;
    }
  }
  .login + .l-breadcrumb .l-breadcrumb__list li[aria-current=page] {
    color: var(--COLOR-BASE-PRIMARY-2);
  }
  .login + .l-breadcrumb .l-breadcrumb__list li::after {
    background-color: var(--COLOR-BASE-PRIMARY-2);
  }
  footer {
    font-size: 1rem;
  }
  .l-footer {
    overflow: hidden;
    margin-block-start: -370px;
  }
  @media (min-width: 768px) {
    .l-footer {
      margin-block-start: -335px;
    }
  }
  .l-footer a {
    transition: all 0.6s ease-out;
  }
  @media only screen and (any-hover: hover) {
    .l-footer a:focus, .l-footer a:focus-visible, .l-footer a:hover {
      opacity: 0.5;
    }
  }
  .l-footer--login {
    margin-block-start: -150px;
  }
  .l-footer--login .l-footer__inner {
    background: linear-gradient(180deg, #BD7B84 0%, #CE9CA3 41.16%);
  }
  .l-footer__inner {
    background: linear-gradient(180deg, #D4BA7E 0%, #BDA671 12.98%);
    clip-path: ellipse(140% 50% at 50% 62%);
    inline-size: 112%;
    margin-inline-start: -6%;
    position: relative;
    overflow: hidden;
    color: var(--COLOR-BASE-WHITE);
    font-family: var(--FONT-SECONDARY);
  }
  .l-footer__inner a {
    color: var(--COLOR-BASE-WHITE);
    text-decoration: none;
  }
  @media (min-width: 768px) {
    .l-footer__inner {
      background: linear-gradient(180deg, #BDA671 0%, #D4BA7E 55.33%);
      clip-path: ellipse(65% 50% at 50% 65%);
    }
  }
  .l-footer__content {
    margin: auto;
    inline-size: 100vi;
    text-align: center;
    padding-block-end: 24px;
    padding-inline: 20px;
    padding-block-start: 240px;
  }
  @media (min-width: 768px) {
    .l-footer__content {
      max-inline-size: 1440px;
      padding-inline: var(--SPACE-GUTTER);
    }
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .l-footer__content {
      padding-inline: clamp(2.5rem, -1.257rem + 7.83vi, 5rem);
    }
  }
  .l-footer__logo {
    display: flex;
    justify-content: center;
  }
  .l-footer__title {
    font-size: var(--FONT-SIZE-LG);
    font-weight: var(--FONT-WEIGHT);
    line-height: 1.8;
    margin-block-start: 40px;
  }
  @media (min-width: 768px) {
    .l-footer__title {
      font-size: var(--FONT-SIZE-XL);
    }
  }
  .l-footer__text {
    line-height: 2;
    font-weight: var(--FONT-WEIGHT);
    margin-block-start: 24px;
    font-size: var(--FONT-SIZE-SM);
  }
  @media (min-width: 768px) {
    .l-footer__text {
      font-size: var(--FONT-SIZE-LG);
      margin-block-start: 16px;
    }
  }
  .l-footer__nav-list {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 20px;
    justify-content: center;
    margin-block-start: 40px;
    padding-block-start: 40px;
    border-block-start: 1px solid var(--COLOR-BASE-WHITE);
    text-align: start;
    font-size: var(--FONT-SIZE-SM);
    letter-spacing: 0;
    font-weight: var(--FONT-WEIGHT);
    line-height: 1.4;
  }
  @media (min-width: 768px) {
    .l-footer__nav-list {
      flex-direction: row;
      border-block-start: unset;
      margin-block-start: 64px;
      padding-block-start: 0;
      flex-wrap: wrap;
      gap: 24px 40px;
      letter-spacing: unset;
    }
  }
  .l-footer__link-list {
    display: flex;
    justify-content: center;
    gap: 20px 15px;
    margin-block-start: 40px;
    flex-wrap: wrap;
    max-inline-size: 335px;
    margin-inline: auto;
  }
  @media (min-width: 768px) {
    .l-footer__link-list {
      flex-wrap: nowrap;
      gap: 24px;
      margin-block-start: 80px;
      margin-inline: unset;
      max-inline-size: unset;
    }
  }
  .l-footer__logo-list {
    display: flex;
    align-items: center;
    justify-content: start;
    gap: 24px;
    flex-wrap: wrap;
    padding-block-start: 40px;
    margin-block-start: 40px;
    border-block-start: 1px solid var(--COLOR-BASE-WHITE);
    flex-direction: column;
  }
  @media (min-width: 768px) {
    .l-footer__logo-list {
      flex-wrap: nowrap;
      justify-content: center;
      flex-direction: row;
      margin-block-start: 80px;
    }
  }
  .l-footer__copyright {
    line-height: 2;
    padding-block-start: 24px;
    margin-block-start: 40px;
    border-block-start: 1px solid var(--COLOR-BASE-WHITE);
    font-weight: var(--FONT-WEIGHT);
    font-size: var(--FONT-SIZE-SM);
    letter-spacing: 0;
  }
  @media (min-width: 768px) {
    .l-footer__copyright {
      font-size: var(--FONT-SIZE-MD);
    }
  }
  .l-footer__link-list-item {
    background-color: #fff;
    display: flex;
    align-items: center;
    padding: 8px;
    max-inline-size: 204px;
    min-block-size: 60px;
  }
  .l-footer__link-list-item img {
    max-inline-size: 144px;
  }
  @media (min-width: 768px) {
    .l-footer__link-list-item img {
      max-inline-size: 100%;
    }
  }
  .l-footer__nav-list-item .m-icon-link {
    fill: var(--COLOR-BASE-WHITE);
    position: relative;
    display: inline-block;
    margin-inline-start: 8px;
    vertical-align: baseline;
    flex-shrink: 0;
  }
  .l-footer__nav-list-item .m-icon-link[data-id=pdf] {
    inset-block-start: 0.1em;
    fill: var(--COLOR-BASE-WHITE);
  }
  @media (min-width: 768px) {
    #talkappi-chat-greeting {
      bottom: 120px !important;
      right: 130px !important;
    }
  }
  @media (min-width: 768px) {
    #talkappi-chat-icon {
      bottom: 110px !important;
      right: 40px !important;
    }
  }
}
@layer module {
  .m-text {
    margin-block-start: var(--SPACE-MD);
    font-size: var(--FONT-SIZE-MD);
  }
  .m-text--red {
    color: var(--COLOR-BASE-PRIMARY-2);
  }
  .m-text--primary {
    color: var(--COLOR-BASE-PRIMARY);
  }
  .m-text--font-zen {
    font-family: var(--FONT-SECONDARY) !important;
  }
  .m-text--font-primary {
    font-family: var(--FONT-PRIMARY) !important;
  }
  .m-text--4xl {
    font-size: var(--FONT-SIZE-4XL);
    line-height: 2;
  }
  .m-text--2xl {
    font-size: var(--FONT-SIZE-2XL);
  }
  .m-text--xl {
    font-size: var(--FONT-SIZE-XL);
  }
  .m-text--lg {
    font-size: var(--FONT-SIZE-LG);
    line-height: 2;
    display: inline-block;
  }
  .m-text--space {
    margin-inline-end: var(--SPACE-XS);
  }
  .m-text--mt-2xl {
    margin-block-start: var(--SPACE-2XL);
  }
  .m-text--mt-sm {
    margin-block-start: 8px;
  }
  .login .m-text--primary {
    color: var(--COLOR-BASE-PRIMARY-2);
  }
  .m-hdg-lv2-02 + .m-text {
    margin-block-start: 48px;
  }
  @media (min-width: 768px) {
    .m-hdg-lv2-02 + .m-text {
      margin-block-start: 80px;
    }
  }
  .m-text-price {
    margin-block-start: var(--SPACE-XS);
    font-size: 1rem;
    font-family: var(--FONT-SECONDARY);
    line-height: 2;
  }
  .m-text-price > span {
    color: var(--COLOR-BASE-PRIMARY);
    font-size: var(--FONT-SIZE-3XL);
    margin-inline-start: 12px;
  }
  @media (min-width: 768px) {
    .m-text-price {
      font-size: 1.125rem;
    }
  }
  .login .m-text-price > span {
    color: var(--COLOR-BASE-PRIMARY-2);
    font-size: var(--FONT-SIZE-2XL);
  }
  .login .m-text-price > span > span {
    font-size: var(--FONT-SIZE-MD);
  }
  .m-hdg-lv1 {
    position: relative;
    margin-block-end: var(--SPACE-3XL);
    padding: 40px var(--SPACE-GUTTER) 83px;
    background: var(--COLOR-BG-TERTIARY);
    overflow: hidden;
  }
  .m-hdg-lv1::before {
    position: absolute;
    content: "";
    inset: 0;
    background: url("/assets/wedding/images/bg-pattern-light.svg");
    opacity: 0.2;
  }
  .m-hdg-lv1::after {
    position: absolute;
    content: "";
    inline-size: 112%;
    block-size: 110px;
    background-color: var(--COLOR-BASE-WHITE);
    clip-path: ellipse(50% 50% at 50% 50%);
    inset: auto 0 -32% -6%;
    margin-inline: auto;
  }
  .m-hdg-lv1 + .l-content {
    padding-block-start: var(--SPACE-NONE);
  }
  @media (min-width: 768px) {
    .m-hdg-lv1 {
      padding-block: 80px 146px;
    }
    .m-hdg-lv1::after {
      block-size: 240px;
      inset-block-end: -40%;
    }
  }
  .m-hdg-lv1--mv {
    margin-block-end: 0;
    padding: 0;
  }
  .m-hdg-lv1--mv::after {
    background-color: var(--COLOR-BASE-WHITE);
    z-index: 2;
    aspect-ratio: 42/11;
    inset-block-end: -20%;
    block-size: unset;
  }
  .m-hdg-lv1--mv > picture {
    margin: auto;
    max-inline-size: 1920px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
  }
  @media (min-width: 768px) {
    .m-hdg-lv1--mv::after {
      inset-block-end: -25%;
      aspect-ratio: 112/15;
      block-size: unset;
      max-block-size: 286px;
    }
  }
  .m-hdg-lv1--primary::after {
    background-color: var(--COLOR-BG-TERTIARY);
  }
  .m-hdg-lv1 h1 {
    font-family: var(--FONT-SECONDARY);
    font-size: 1rem;
    font-weight: var(--FONT-WEIGHT);
    letter-spacing: 1.04px;
    color: var(--COLOR-FONT-DARK);
    text-align: center;
    position: relative;
    z-index: 1;
    line-height: 2;
  }
  @media (min-width: 768px) {
    .m-hdg-lv1 h1 {
      font-size: 1.75rem;
      line-height: 2;
      letter-spacing: 1.36px;
    }
  }
  .m-hdg-lv1__subTitle {
    font-family: var(--FONT-EN);
    color: var(--COLOR-BASE-PRIMARY);
    font-weight: var(--FONT-WEIGHT);
    font-size: 2.875rem;
    display: block;
    line-height: 1.4;
    letter-spacing: 0;
  }
  @media (min-width: 768px) {
    .m-hdg-lv1__subTitle {
      font-size: 4.5rem;
    }
  }
  .login .m-hdg-lv1 {
    background: #FBF7F8;
  }
  .login .m-hdg-lv1__subTitle {
    color: var(--COLOR-FONT-3);
  }
  .login .m-hdg-lv1--mv::after {
    background-color: #FBF7F8;
  }
  .m-hdg-lv2 {
    position: relative;
    text-align: center;
    font-size: var(--FONT-SIZE-3XL);
    font-family: var(--FONT-SECONDARY);
    font-weight: var(--FONT-WEIGHT-SEMIBOLD);
    letter-spacing: 1.4px;
    line-height: 2;
    margin-block: var(--SPACE-7XL) var(--SPACE-4XL);
  }
  .m-hdg-lv2 + * {
    margin-block-start: 0 !important;
  }
  .m-hdg-lv2::before, .m-hdg-lv2::after {
    content: "";
    position: absolute;
    inline-size: 6px;
    block-size: 6px;
    background-color: var(--COLOR-BORDER-PRIMARY-2);
    border-radius: 6px;
    inset-block-end: 7.5px;
  }
  .m-hdg-lv2::before {
    inset-inline-start: 0;
    z-index: 1;
  }
  .m-hdg-lv2::after {
    content: "";
    inset-inline-end: 0;
  }
  .m-hdg-lv2:not(:has(.m-hdg-lv2__img)) {
    padding-block-end: 21px;
  }
  .m-hdg-lv2:not(:has(.m-hdg-lv2__img))::before {
    display: none;
  }
  .m-hdg-lv2:not(:has(.m-hdg-lv2__img))::after {
    content: "";
    position: absolute;
    inline-size: 52px;
    block-size: 20px;
    background: url("/assets/wedding/images/icon-heading-01.svg");
    inset-inline-start: 0;
    inset-inline-end: 0;
    margin-inline: auto;
  }
  .m-hdg-lv2--left {
    text-align: start;
  }
  .m-hdg-lv2--left:not(:has(.m-hdg-lv2__img))::after {
    inset-inline-end: auto;
    margin-inline: auto;
  }
  .m-hdg-lv2--left::before {
    display: none;
  }
  .m-hdg-lv2--left .m-hdg-lv2__img {
    justify-content: left;
  }
  .m-hdg-lv2--left .m-hdg-lv2__img::before {
    display: none;
  }
  .m-hdg-lv2--left .m-hdg-lv2__img::after {
    inline-size: calc(100% - 68px);
  }
  .m-hdg-lv2__img {
    position: relative;
    margin-inline: auto;
    margin-block-start: 14px;
    display: flex;
    justify-content: center;
  }
  .m-hdg-lv2__img::before, .m-hdg-lv2__img::after {
    content: "";
    position: absolute;
    inline-size: calc(50% - 42px);
    block-size: 1px;
    background-color: var(--COLOR-BORDER-PRIMARY-2);
    inset-block: 0;
    margin-block: auto;
  }
  .m-hdg-lv2__img::before {
    inset-inline-start: 0;
  }
  .m-hdg-lv2__img::after {
    inset-inline-end: 0;
  }
  .m-hdg-lv2__title {
    font-size: var(--FONT-SIZE-3XL);
  }
  .m-hdg-lv2--border-top {
    border-block-start: 1px solid var(--COLOR-BORDER-PRIMARY);
    padding-block-start: var(--SPACE-6XL);
    margin-inline: calc(50% - 50vi);
  }
  .login .m-hdg-lv2::before, .login .m-hdg-lv2::after {
    background-color: var(--COLOR-BASE-PRIMARY-2);
  }
  .login .m-hdg-lv2__img::before, .login .m-hdg-lv2__img::after {
    background-color: #EFDEE0;
  }
  .m-hdg-lv2-02 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    margin-block: 96px 48px;
  }
  .m-hdg-lv2-02--mv .m-hdg-lv2-02__title {
    color: var(--COLOR-BASE-PRIMARY);
  }
  .m-hdg-lv2-02--mv + .m-hdg-lv2 {
    margin-top: 0;
  }
  .m-hdg-lv2-02--mv-mt {
    margin-block-start: 20px !important;
  }
  @media (min-width: 768px) {
    .m-hdg-lv2-02--mv-mt {
      margin-block-start: 24px !important;
    }
  }
  .m-hdg-lv2-02--left .m-hdg-lv2-02__title,
  .m-hdg-lv2-02--left .m-hdg-lv2-02__subTitle {
    text-align: left;
  }
  .m-hdg-lv2-02--big .m-hdg-lv2-02__title {
    font-size: 2.25rem;
  }
  .m-hdg-lv2-02--big .m-hdg-lv2-02__title b {
    font-size: 4.25rem;
  }
  @media (min-width: 768px) {
    .m-hdg-lv2-02--big .m-hdg-lv2-02__title {
      font-size: var(--FONT-SIZE-9XL);
    }
    .m-hdg-lv2-02--big .m-hdg-lv2-02__title b {
      font-size: 8rem;
    }
  }
  @media (min-width: 768px) {
    .m-hdg-lv2-02 {
      margin-block: 160px 80px;
    }
  }
  .m-hdg-lv2-02__title {
    display: inline-block;
    text-align: center;
    font-size: var(--FONT-SIZE-3XL);
    font-family: var(--FONT-EN);
    color: var(--COLOR-BASE-PRIMARY);
    line-height: 1;
    font-weight: var(--FONT-WEIGHT);
  }
  .m-hdg-lv2-02__title b {
    font-family: var(--FONT-EN-ACCENT);
    font-size: 3.5rem;
    color: var(--COLOR-BASE-PRIMARY-2);
    font-weight: var(--FONT-WEIGHT);
    display: inline-block;
  }
  .m-hdg-lv2-02__title b > span {
    margin-inline-end: 6px;
  }
  @media (min-width: 768px) {
    .m-hdg-lv2-02__title b > span {
      margin-inline-end: 14px;
    }
  }
  @media (min-width: 768px) {
    .m-hdg-lv2-02__title {
      font-size: 3rem;
    }
    .m-hdg-lv2-02__title b {
      font-size: 5.5rem;
    }
  }
  .m-hdg-lv2-02__subTitle {
    display: inline-block;
    text-align: center;
    line-height: 2;
    font-family: var(--FONT-SECONDARY);
    font-size: 1rem;
    font-weight: var(--FONT-WEIGHT);
  }
  .login .m-hdg-lv2-02--mv .m-hdg-lv2-02__title {
    color: #7E6366;
  }
  .login .m-hdg-lv2-02__title {
    color: #7E6366;
  }
  .m-media-accents-layout .m-hdg-lv2-02 {
    margin-block: 0;
  }
  .m-media-layout .m-hdg-lv2-02 {
    margin-block: 0;
  }
  .m-hdg-lv2-03 {
    color: var(--COLOR-BASE-PRIMARY);
    font-family: var(--FONT-EN);
    font-weight: var(--FONT-WEIGHT);
    line-height: 1.4;
    font-size: 2.25rem;
    margin-block-start: 32px;
  }
  @media (min-width: 768px) {
    .m-hdg-lv2-03 {
      font-size: 5rem;
      line-height: 1;
      margin-block-start: 80px;
    }
    .m-hdg-lv2-03 > span {
      font-size: 4rem;
    }
  }
  .m-hdg-login-lv2 {
    font-size: 2rem;
    font-family: var(--FONT-EN);
    color: #7E6366;
    font-weight: 500;
    line-height: 1;
  }
  .m-hdg-login-lv2 > b {
    font-family: var(--FONT-EN-ACCENT);
    color: var(--COLOR-BASE-PRIMARY-2);
    font-weight: var(--FONT-WEIGHT);
    font-size: 5rem;
  }
  @media (min-width: 768px) {
    .m-hdg-login-lv2 {
      font-size: var(--FONT-SIZE-7XL);
    }
    .m-hdg-login-lv2 > b {
      font-size: 3.5rem;
    }
  }
  .m-hdg-login-lv2__subTitle {
    font-family: var(--FONT-SECONDARY);
  }
  .m-hdg-lv3 {
    position: relative;
    text-align: center;
    font-size: var(--FONT-SIZE-2XL);
    font-family: var(--FONT-SECONDARY);
    font-weight: var(--FONT-WEIGHT-SEMIBOLD);
    letter-spacing: 1.15px;
    line-height: 1.8;
    margin-block: var(--SPACE-4XL) var(--SPACE-XL);
    padding-block-end: 33px;
  }
  .m-hdg-lv3 + * {
    margin-block-start: 0 !important;
  }
  .m-hdg-lv3::before {
    position: absolute;
    content: "";
    inline-size: 52px;
    block-size: 20px;
    background: url("/assets/wedding/images/icon-heading-01.svg");
    inset-inline-start: 0;
    inset-inline-end: 0;
    inset-block-end: 0;
    margin-inline: auto;
  }
  .m-hdg-lv3--left {
    text-align: start;
    margin-block: var(--SPACE-3XL) var(--SPACE-LG);
  }
  .m-hdg-lv3--left::before {
    background: url("/assets/wedding/images/icon-heading-02.svg") !important;
    inline-size: 17px;
    block-size: 17px;
    inset-inline-end: unset;
  }
  .m-hdg-lv3--left::after {
    position: absolute;
    content: "";
    inline-size: 40px;
    block-size: 1px;
    background-color: var(--COLOR-BASE-PRIMARY);
    inset-block-end: 8px;
    inset-inline-start: 21px;
  }
  @media (min-width: 768px) {
    .m-hdg-lv3--left {
      margin-block: var(--SPACE-4XL) var(--SPACE-XL);
    }
  }
  .m-hdg-lv3--decoration {
    margin-block: var(--SPACE-LG);
  }
  @media (min-width: 768px) {
    .m-hdg-lv3--decoration {
      margin-block: var(--SPACE-3XL);
    }
  }
  .login .m-hdg-lv3::before {
    background: url("/assets/wedding/login/icon-heading-01.svg");
  }
  .login .m-hdg-lv3--left::after {
    background-color: #7E6366;
  }
  .m-hdg-lv3-02 {
    position: relative;
    margin-block-start: 8px;
    font-size: var(--FONT-SIZE-XL);
    line-height: 2;
    letter-spacing: 1px;
    padding-block-end: 16px;
    font-family: var(--FONT-SECONDARY);
  }
  .m-hdg-lv3-02::before {
    content: "";
    position: absolute;
    block-size: 1px;
    inline-size: 48px;
    background-color: var(--COLOR-BORDER-PRIMARY-2);
    inset-block-end: 0;
  }
  .login .m-hdg-lv3-02::before {
    background-color: var(--COLOR-BASE-PRIMARY-2);
  }
  .m-hdg-lv4 {
    position: relative;
    font-size: var(--FONT-SIZE-XL);
    font-family: var(--FONT-SECONDARY);
    font-weight: var(--FONT-WEIGHT-SEMIBOLD);
    line-height: 1.8;
    margin-block: var(--SPACE-XL) var(--SPACE-XS);
    padding-inline-start: var(--SPACE-LG);
  }
  .m-hdg-lv4 + * {
    margin-block-start: 0 !important;
  }
  .m-hdg-lv4::before {
    position: absolute;
    content: "";
    inline-size: 12px;
    block-size: 1px;
    background-color: var(--COLOR-BASE-PRIMARY);
    inset-block-start: 0.85em;
    inset-inline-start: 0;
    margin-block: auto;
  }
  @media (min-width: 768px) {
    .m-hdg-lv4 {
      margin-block: var(--SPACE-3XL) var(--SPACE-MD);
    }
    .m-hdg-lv4::before {
      inline-size: 20px;
    }
  }
  .login .m-hdg-lv4::before {
    background-color: #7E6366;
  }
  .m-hdg-lv5 {
    position: relative;
    font-family: var(--FONT-SECONDARY);
    font-weight: var(--FONT-WEIGHT-SEMIBOLD);
    line-height: 2;
    margin-block: var(--SPACE-XL) var(--SPACE-XS);
    font-size: 1.0625rem;
    letter-spacing: 0.85px;
  }
  .m-hdg-lv5 + * {
    margin-block-start: 0 !important;
  }
  .m-hdg-lv6 {
    position: relative;
    font-family: var(--FONT-SECONDARY);
    font-weight: var(--FONT-WEIGHT-SEMIBOLD);
    font-size: var(--FONT-SIZE-SM);
    line-height: 2;
    margin-block: var(--SPACE-MD) var(--SPACE-XS);
    letter-spacing: 0.7px;
  }
  .m-hdg-lv6 + * {
    margin-block-start: 0 !important;
  }
  .m-label-list {
    font-size: var(--FONT-SIZE-XL);
    font-family: var(--FONT-SECONDARY);
    font-weight: var(--FONT-WEIGHT);
    letter-spacing: 1px;
    line-height: 2;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-block-end: var(--SPACE-XS);
  }
  .m-label-list--center {
    justify-content: center;
  }
  .m-label-list--center .m-label-list__inner {
    flex-wrap: wrap;
    margin-inline-start: 0;
  }
  .m-label-list--left {
    justify-content: left;
  }
  .m-label-list--left .m-label-list__inner {
    flex-wrap: wrap;
    margin-inline-start: 0;
  }
  .m-hdg-lv3-02 + .m-label-list {
    margin-block: 20px 0;
  }
  @media (min-width: 768px) {
    .m-hdg-lv3-02 + .m-label-list {
      margin-block: 24px 0;
    }
  }
  .m-label-list__inner {
    display: inline-flex;
    gap: 10px;
    margin-inline-start: var(--SPACE-XS);
  }
  @media (min-width: 768px) {
    .m-label-list__inner {
      margin-inline-start: var(--SPACE-MD);
    }
  }
  .m-label-list__inner:has(+ .m-label-list__text) {
    padding-inline-end: 24px;
  }
  .m-label-list__item {
    display: flex;
    align-items: center;
    background-color: var(--COLOR-BASE-PRIMARY-2);
    font-size: var(--FONT-SIZE-SM);
    color: var(--COLOR-BASE-WHITE);
    font-family: var(--FONT-SECONDARY);
    font-weight: var(--FONT-WEIGHT);
    line-height: 1.8;
    padding-inline: var(--SPACE-XS);
    letter-spacing: 0;
  }
  .m-label-list__item--primary {
    background-color: var(--COLOR-BASE-PRIMARY);
  }
  .m-label-list__item--big {
    font-size: 1rem;
    line-height: 1.6;
    padding-block: 4px;
  }
  .m-label-list__text {
    color: var(--COLOR-BASE-PRIMARY);
  }
  .login .m-label-list__text {
    color: var(--COLOR-BASE-PRIMARY-2);
  }
  .m-media-layout .m-label-list {
    margin-block: 32px 0 !important;
  }
  .m-text + .m-label-list {
    margin-block: 32px 0 !important;
  }
  .m_media {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    align-items: center;
    gap: var(--SPACE-XS);
    margin-block-start: var(--SPACE-3XL);
  }
  .m_media__caption {
    font-size: var(--FONT-SIZE-SM);
    font-family: var(--FONT-SECONDARY);
    font-weight: var(--FONT-WEIGHT);
    letter-spacing: 1.12px;
    line-height: 1.8;
  }
  /* .m-media
  ----------------------------------------------- */
  .m-media {
    margin-block-start: var(--SPACE-XL);
  }
  .m-media--video .m-media__item, .m-media--map .m-media__item {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    height: 0;
  }
  .m-media--video .m-media__item iframe, .m-media--map .m-media__item iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .m-media--video .m-media__caption, .m-media--map .m-media__caption {
    display: block;
  }
  .m-media--map .m-media__item {
    padding-block-start: 100%;
    position: relative;
    width: 100%;
    height: 0;
  }
  @media (min-width: 768px) {
    .m-media--map .m-media__item {
      padding-block-start: 56.25%;
    }
  }
  .m-media--wide {
    margin-block: 48px;
  }
  @media (min-width: 768px) {
    .m-media--wide {
      margin-block: 120px;
    }
  }
  .m-media__item {
    display: table;
    margin: auto;
  }
  .m-media__media {
    display: block;
  }
  .m-media__caption {
    display: table-caption;
    margin: 12px auto 0;
    caption-side: bottom;
    font-size: var(--FONT-SIZE-SM);
    line-height: var(--SECONDARY-LINE-HEIGHT-S);
    text-align: center;
  }
  @media (min-width: 768px) {
    .m-media__caption {
      margin-block-start: 16px;
    }
  }
  /* .m-media-layout
  ----------------------------------------------- */
  .m-media-layout {
    display: flex;
    grid-template-columns: minmax(300px, 1fr) minmax(0, auto);
    flex-direction: column-reverse;
    gap: 32px;
    margin-block-start: var(--SPACE-4XL);
    justify-content: space-between;
  }
  .m-media-layout--columnReverseSP {
    flex-direction: column;
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .m-media-layout {
      gap: clamp(2rem, 0.497rem + 3.13vw, 3rem);
    }
  }
  @media (min-width: 1280px) {
    .m-media-layout {
      gap: 48px;
    }
  }
  @media (min-width: 768px) {
    .m-media-layout {
      display: grid;
      flex-direction: row;
    }
    .m-media-layout--rowReversePC {
      flex-direction: row-reverse;
      direction: rtl;
    }
    .m-media-layout--rowReversePC .m-carousel__controls {
      justify-content: flex-start;
      direction: ltr;
    }
    .m-media-layout--rowReversePC .m-media-layout__content,
    .m-media-layout--rowReversePC .m-media-layout__media {
      direction: ltr;
    }
  }
  @media (min-width: 768px) {
    .m-media-layout--flex {
      display: flex;
    }
    .m-media-layout--flex.m-media-layout--rowReversePC {
      direction: unset;
    }
  }
  .m-media-layout .m-box {
    margin-block-start: 16px;
  }
  .m-media-layout__content > :first-child,
  .m-media-layout__media > :first-child {
    margin-block-start: 0 !important;
  }
  .m-media-layout__content > :last-child,
  .m-media-layout__media > :last-child {
    margin-block-end: 0 !important;
  }
  .m-media-layout__content {
    width: 100%;
  }
  .m-media-layout__content .m-list-desc {
    margin-block-start: 20px;
  }
  .m-media-layout__content .m-hdg-lv3 {
    margin-block: 32px 20px;
  }
  .m-media-layout__content .m-hdg-lv4 {
    margin-block: 28px 16px;
  }
  @media (min-width: 768px) {
    .m-media-layout__content .m-list-desc {
      margin-block-start: 24px;
    }
    .m-media-layout__content .m-hdg-lv3 {
      margin-block: 48px 24px;
    }
    .m-media-layout__content .m-hdg-lv4 {
      margin-block-start: 40px;
    }
  }
  .m-media-layout__content--line::after {
    content: "";
    border-block-end: 1px solid #EFDEE0;
    display: block;
    width: 100%;
    margin-block-start: 32px;
  }
  @media (min-width: 768px) {
    .m-media-layout__content--w50 {
      width: 50%;
    }
  }
  .m-media-layout__media {
    width: 100%;
  }
  @media (min-width: 768px) {
    .m-media-layout__media {
      max-width: 619px;
    }
  }
  @media (min-width: 768px) {
    .m-media-layout__media--w50 {
      width: 50%;
    }
  }
  /* .m-media-accents-layout
  ----------------------------------------------- */
  .m-media-accents-layout {
    padding-block: 96px 80px;
    margin: 0 auto;
    max-inline-size: 1920px;
  }
  @media (min-width: 768px) {
    .m-media-accents-layout {
      padding-block: 160px;
    }
  }
  .m-media-accents-layout .m-label-list {
    margin-block: 16px 0;
  }
  @media (min-width: 768px) {
    .m-media-accents-layout .m-label-list {
      margin-block: 32px 0;
    }
  }
  .m-media-accents-layout--pb0 {
    padding-block: 0 !important;
  }
  .m-media-accents-layout--pbe0 {
    padding-block-end: 0 !important;
  }
  .m-media-accents-layout--bg-primary {
    background-color: var(--COLOR-BG-TERTIARY);
  }
  .l-content + .m-media-accents-layout {
    padding-block: 0 80px;
  }
  @media (min-width: 768px) {
    .l-content + .m-media-accents-layout {
      padding-block: 0 160px;
    }
  }
  .m-media-accents-layout + .l-content--circle {
    padding-block: 30px;
  }
  @media (min-width: 768px) {
    .m-media-accents-layout + .l-content--circle {
      padding-block: 80px;
    }
  }
  .m-media-accents-layout__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 28px;
    position: relative;
  }
  .m-media-accents-layout__item + .m-media-accents-layout__item {
    margin-block-start: 80px;
  }
  .m-media-accents-layout__item + .m-media-accents-layout__item::before {
    content: "";
    position: absolute;
    background: url(/assets/wedding/login/icon-heading-01.svg);
  }
  .m-media-accents-layout__item:nth-child(2n) {
    flex-direction: column;
  }
  @media (min-width: 768px) {
    .m-media-accents-layout__item {
      flex-direction: row;
      gap: 80px;
    }
    .m-media-accents-layout__item + .m-media-accents-layout__item {
      margin-block-start: 128px;
    }
    .m-media-accents-layout__item:nth-child(2n) {
      flex-direction: row-reverse;
    }
    .m-media-accents-layout__item:nth-child(2n) .m-media-accents-layout__content {
      padding-inline-end: unset;
      margin-inline-end: unset;
      padding-inline-start: 80px;
      margin-inline-start: auto;
    }
    .m-media-accents-layout__item--reverse {
      flex-direction: row-reverse;
    }
    .m-media-accents-layout__item--reverse .m-media-accents-layout__content {
      padding-inline-end: unset;
      margin-inline-end: unset;
      padding-inline-start: 80px;
      margin-inline-start: auto;
    }
  }
  .m-media-accents-layout__img {
    inline-size: unset;
  }
  .m-media-accents-layout__content {
    inline-size: 100%;
    padding-inline: 20px;
    margin-inline: auto;
  }
  .m-media-accents-layout__content .m-text {
    margin-block-start: 16px;
  }
  @media (min-width: 768px) {
    .m-media-accents-layout__content .m-text {
      margin-block-start: 32px;
    }
  }
  .m-media-accents-layout__content .m-link {
    margin-block-start: 32px;
  }
  @media (min-width: 768px) {
    .m-media-accents-layout__content {
      inline-size: 40%;
      padding-inline: 0 80px;
      margin-inline: 0 auto;
    }
  }
  .m-media-accents-layout__line {
    display: contents;
  }
  .m-media-accents-layout__line::before, .m-media-accents-layout__line::after {
    content: "";
    position: absolute;
    inline-size: calc(50% - 22px);
    block-size: 1px;
    background-color: #EFDEE0;
    inset-block-start: 0;
  }
  .m-media-accents-layout__line::before {
    inset-inline-start: 0;
  }
  .m-media-accents-layout__line::after {
    inset-inline-end: 0;
  }
  .m-media-accents-layout__line > img {
    position: absolute;
    inset-block-start: -6px;
    inset-inline: 0;
    margin: 0 auto;
  }
  .m-media-accents-layout__line + .m-media-accents-layout__img {
    padding-block-start: 80px;
  }
  @media (min-width: 768px) {
    .m-media-accents-layout__line + .m-media-accents-layout__img {
      padding-block-start: 128px;
    }
  }
  .l-content-line + .m-media-accents-layout {
    padding-block-start: 80px;
    padding-block-end: 80px;
  }
  @media (min-width: 768px) {
    .l-content-line + .m-media-accents-layout {
      padding-block-start: 128px;
      padding-block-end: 128px;
    }
  }
  .m-btn-list {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 24px;
    justify-content: center;
    text-align: center;
    margin-block: 48px 0;
    margin-inline: 12px;
    height: 100%;
  }
  @media (min-width: 768px) {
    .m-btn-list {
      flex-direction: row;
      margin-block-start: 80px;
      margin-inline: 24px;
      gap: 32px;
      height: fit-content;
    }
  }
  .m-btn-list--icon {
    margin-block-start: 0;
  }
  .m-btn-list--icon .m-btn-list__item {
    min-inline-size: 311px;
  }
  @media (min-width: 768px) {
    .m-btn-list--icon .m-btn-list__item {
      min-inline-size: 396px;
    }
  }
  .m-btn-list__item :where(.m-btn) {
    height: 100%;
  }
  .m-btn-list--left {
    justify-content: center;
  }
  @media (min-width: 768px) {
    .m-btn-list--left {
      justify-content: flex-start;
    }
  }
  .m-btn-list--right {
    justify-content: center;
  }
  @media (min-width: 768px) {
    .m-btn-list--right {
      justify-content: flex-end;
    }
  }
  .m-btn {
    --btn-text-color: var(--COLOR-BASE-PRIMARY);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--COLOR-BASE-PRIMARY);
    padding: 12px 54px;
    max-inline-size: 600px;
    font-size: var(--FONT-SIZE-LG);
    font-family: var(--FONT-SECONDARY);
    font-weight: var(--FONT-WEIGHT-SEMIBOLD);
    color: var(--COLOR-BG-WHITE);
    background-color: var(--btn-text-color);
    text-align: center;
    line-height: var(--SECONDARY-LINE-HEIGHT-TIGHT);
    transition: all 0.6s ease-out;
    position: relative;
    min-inline-size: min(100%, 311px);
  }
  .m-btn > .m-icon-link {
    position: absolute;
    inset-block: 0;
    margin-block: auto;
    inset-inline-end: 32px;
    transform: translateY(2px);
    fill: var(--COLOR-BASE-WHITE);
    transition: all 0.6s ease-out;
  }
  .m-btn:has(svg)::before {
    display: none;
  }
  .m-btn::before {
    content: "";
    position: absolute;
    background-color: var(--COLOR-BG-WHITE);
    border-radius: 8px;
    inline-size: 8px;
    block-size: 8px;
    inset-inline-end: 40px;
    transition: all 0.6s ease-out;
  }
  @media (min-width: 768px) {
    .m-btn {
      padding: 16px 40px;
      min-width: 311px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 24px;
      flex-direction: row-reverse;
    }
    .m-btn::before {
      inset-inline-end: 32px;
    }
  }
  @media only screen and (any-hover: hover) {
    .m-btn:focus, .m-btn:focus-visible, .m-btn:hover {
      border-color: var(--COLOR-BASE-PRIMARY);
      color: var(--COLOR-BASE-PRIMARY);
      background-color: var(--COLOR-BG-WHITE);
    }
    .m-btn:focus > .m-icon-link, .m-btn:focus-visible > .m-icon-link, .m-btn:hover > .m-icon-link {
      fill: var(--COLOR-BASE-PRIMARY);
    }
    .m-btn:focus::before, .m-btn:focus-visible::before, .m-btn:hover::before {
      background-color: var(--COLOR-BASE-PRIMARY);
    }
  }
  .m-btn--icon {
    color: var(--COLOR-BASE-PRIMARY);
    background-color: var(--COLOR-BASE-WHITE);
    border: unset;
    line-height: 1.8;
    font-size: var(--FONT-SIZE-XL);
    padding: 16px 28px;
    inline-size: 100%;
    transition: all 0.6s ease-out;
  }
  @media (min-width: 768px) {
    .m-btn--icon {
      padding: 24px 48px;
    }
  }
  .m-btn--icon::before {
    content: unset;
  }
  .m-btn--icon .m-btn__inner {
    padding-inline: 68px 8px;
    padding-block: 14px;
    position: relative;
    font-weight: var(--FONT-WEIGHT);
    letter-spacing: 0;
  }
  .m-btn--icon .m-btn__inner::before {
    content: "";
    position: absolute;
    inline-size: 60px;
    block-size: 60px;
    background-color: var(--COLOR-BG-TERTIARY);
    border-radius: 50%;
    inset-inline-start: 0;
    inset-block-start: 0;
    transition: all 0.6s ease-out;
  }
  @media (min-width: 768px) {
    .m-btn--icon .m-btn__inner {
      padding-inline: 94px 18px;
      padding-block: 12px;
    }
    .m-btn--icon .m-btn__inner::before {
      inset-inline-start: 18px;
    }
  }
  .m-btn--icon .m-btn__inner--fair,
  .m-btn--icon .m-btn__inner--materials {
    inline-size: 100%;
  }
  .m-btn--icon .m-btn__inner--fair::after,
  .m-btn--icon .m-btn__inner--materials::after {
    content: "";
    inline-size: 32px;
    block-size: 32px;
    position: absolute;
    inset-inline-start: 14px;
    inset-block-start: 14px;
  }
  @media (min-width: 768px) {
    .m-btn--icon .m-btn__inner--fair,
    .m-btn--icon .m-btn__inner--materials {
      inline-size: unset;
    }
    .m-btn--icon .m-btn__inner--fair::after,
    .m-btn--icon .m-btn__inner--materials::after {
      inset-inline-start: 32px;
    }
  }
  .m-btn--icon .m-btn__inner--fair::after {
    background: url(/assets/wedding/images/icon-flower.svg);
  }
  .m-btn--icon .m-btn__inner--materials::after {
    background: url(/assets/wedding/images/icon-materials.svg);
  }
  @media only screen and (any-hover: hover) {
    .m-btn--icon:focus, .m-btn--icon:focus-visible, .m-btn--icon:hover {
      background-color: var(--COLOR-FONT-2);
      color: var(--COLOR-BASE-WHITE);
    }
    .m-btn--icon:focus .m-btn__inner::before, .m-btn--icon:focus-visible .m-btn__inner::before, .m-btn--icon:hover .m-btn__inner::before {
      background-color: var(--COLOR-BASE-WHITE);
    }
  }
  .m-btn__inner {
    min-inline-size: min(100%, 200px);
    padding-inline-end: 24px;
    display: block;
  }
  @media (min-width: 768px) {
    .m-btn__inner {
      min-inline-size: 229px;
    }
  }
  .m-btn--cta,
  .m-btn--border {
    border: 1px solid var(--COLOR-BG-WHITE) !important;
    color: var(--COLOR-BASE-PRIMARY);
    background-color: var(--COLOR-BG-WHITE);
  }
  .m-btn--cta::before,
  .m-btn--border::before {
    background-color: var(--COLOR-BASE-PRIMARY);
  }
  .m-btn--cta > .m-icon-link,
  .m-btn--border > .m-icon-link {
    fill: var(--COLOR-BASE-PRIMARY);
  }
  @media only screen and (any-hover: hover) {
    .m-btn--cta:focus, .m-btn--cta:focus-visible, .m-btn--cta:hover,
    .m-btn--border:focus,
    .m-btn--border:focus-visible,
    .m-btn--border:hover {
      border: 1px solid var(--COLOR-BASE-PRIMARY);
      color: var(--COLOR-BG-WHITE);
      background-color: var(--COLOR-BASE-PRIMARY);
    }
    .m-btn--cta:focus::before, .m-btn--cta:focus-visible::before, .m-btn--cta:hover::before,
    .m-btn--border:focus::before,
    .m-btn--border:focus-visible::before,
    .m-btn--border:hover::before {
      background-color: var(--COLOR-BG-WHITE) !important;
    }
    .m-btn--cta:focus > .m-icon-link, .m-btn--cta:focus-visible > .m-icon-link, .m-btn--cta:hover > .m-icon-link,
    .m-btn--border:focus > .m-icon-link,
    .m-btn--border:focus-visible > .m-icon-link,
    .m-btn--border:hover > .m-icon-link {
      fill: var(--COLOR-BASE-WHITE);
    }
  }
  .m-btn--border {
    border: 1px solid var(--COLOR-BASE-PRIMARY);
  }
  .m-btn--more {
    display: flex;
    border-color: var(--COLOR-BASE-PRIMARY);
    color: var(--COLOR-BASE-PRIMARY);
    background-color: var(--COLOR-BG-WHITE);
    margin-block-start: 48px;
    margin-inline: auto;
    transition: all 0.6s ease-out;
    block-size: auto;
    padding-block: 16px;
  }
  .m-btn--more::before {
    background-color: var(--COLOR-BASE-PRIMARY);
    border-radius: 8px;
    inline-size: 15px;
    block-size: 1px;
    inset-inline-end: 40px;
    transition: all 0.6s ease-out;
  }
  .m-btn--more::after {
    content: "";
    position: absolute;
    background-color: var(--COLOR-BASE-PRIMARY);
    border-radius: 8px;
    inline-size: 15px;
    block-size: 1px;
    inset-inline-end: 40px;
    transition: all 0.6s ease-out;
    transform: rotate(90deg);
  }
  .m-btn--more.is-hidden {
    display: none;
  }
  .m-btn--more .m-btn__inner {
    min-inline-size: 200px;
  }
  @media (min-width: 768px) {
    .m-btn--more .m-btn__inner {
      min-inline-size: 231px;
    }
  }
  @media only screen and (any-hover: hover) {
    .m-btn--more:focus, .m-btn--more:focus-visible, .m-btn--more:hover {
      color: var(--COLOR-BG-WHITE);
      background-color: var(--COLOR-BASE-PRIMARY);
    }
    .m-btn--more:focus::before, .m-btn--more:focus::after, .m-btn--more:focus-visible::before, .m-btn--more:focus-visible::after, .m-btn--more:hover::before, .m-btn--more:hover::after {
      background-color: var(--COLOR-BG-WHITE);
    }
  }
  @media (min-width: 768px) {
    .m-btn--more {
      margin-block-start: 80px;
    }
  }
  .login .m-btn {
    --btn-text-color: var(--COLOR-BASE-PRIMARY-2);
    border: 1px solid var(--COLOR-BASE-PRIMARY-2);
  }
  @media only screen and (any-hover: hover) {
    .login .m-btn:focus, .login .m-btn:focus-visible, .login .m-btn:hover {
      color: var(--COLOR-BASE-PRIMARY-2);
    }
    .login .m-btn:focus .m-icon-link, .login .m-btn:focus-visible .m-icon-link, .login .m-btn:hover .m-icon-link {
      fill: var(--COLOR-BASE-PRIMARY-2);
    }
    .login .m-btn:focus::before, .login .m-btn:focus-visible::before, .login .m-btn:hover::before {
      background-color: var(--COLOR-BASE-PRIMARY-2);
    }
  }
  .login .m-btn--cta,
  .login .m-btn--border {
    color: var(--COLOR-BASE-PRIMARY-2);
  }
  .login .m-btn--cta::before,
  .login .m-btn--border::before {
    background-color: var(--COLOR-BASE-PRIMARY-2);
  }
  .login .m-btn--cta .m-icon-link,
  .login .m-btn--border .m-icon-link {
    fill: var(--COLOR-BASE-PRIMARY-2);
  }
  @media only screen and (any-hover: hover) {
    .login .m-btn--cta:focus, .login .m-btn--cta:focus-visible, .login .m-btn--cta:hover,
    .login .m-btn--border:focus,
    .login .m-btn--border:focus-visible,
    .login .m-btn--border:hover {
      background-color: var(--COLOR-BASE-PRIMARY-2);
      color: var(--COLOR-BG-WHITE);
    }
    .login .m-btn--cta:focus .m-icon-link, .login .m-btn--cta:focus-visible .m-icon-link, .login .m-btn--cta:hover .m-icon-link,
    .login .m-btn--border:focus .m-icon-link,
    .login .m-btn--border:focus-visible .m-icon-link,
    .login .m-btn--border:hover .m-icon-link {
      fill: var(--COLOR-BG-WHITE);
    }
  }
  .login .m-btn--more {
    color: var(--COLOR-BASE-PRIMARY-2);
  }
  .login .m-btn--more::before, .login .m-btn--more::after {
    background-color: var(--COLOR-BASE-PRIMARY-2);
  }
  @media only screen and (any-hover: hover) {
    .login .m-btn--more:focus, .login .m-btn--more:focus-visible, .login .m-btn--more:hover {
      background-color: var(--COLOR-BASE-PRIMARY-2);
      color: var(--COLOR-BG-WHITE);
    }
    .login .m-btn--more:focus::before, .login .m-btn--more:focus::after, .login .m-btn--more:focus-visible::before, .login .m-btn--more:focus-visible::after, .login .m-btn--more:hover::before, .login .m-btn--more:hover::after {
      background-color: var(--COLOR-BG-WHITE);
    }
  }
  .m-list-desc {
    display: grid;
    gap: var(--SPACE-LG);
    margin-block-start: var(--SPACE-2XL);
  }
  .m-list-desc--border-none .m-list-desc__item:last-child {
    border-block-end: unset;
  }
  .m-list-desc__item {
    display: grid;
    gap: 4px;
    padding-block-end: var(--SPACE-LG);
    border-block-end: 1px solid var(--COLOR-BORDER-PRIMARY);
  }
  .m-list-desc__item--icon {
    padding-inline-start: 30px;
    position: relative;
  }
  .m-list-desc__item--icon::before {
    content: "";
    position: absolute;
    inline-size: 18px;
    block-size: 24px;
    background: url(/assets/wedding/images/icon-pen.svg);
    inset-block-start: 8px;
  }
  @media (min-width: 768px) {
    .m-list-desc__item {
      gap: 8px;
    }
  }
  .m-list-desc__title {
    font-family: var(--FONT-SECONDARY);
    font-weight: var(--FONT-WEIGHT-SEMIBOLD);
    font-size: var(--FONT-SIZE-XL);
    line-height: var(--SECONDARY-LINE-HEIGHT);
  }
  .m-list-desc__content > :first-child {
    margin-block-start: 0 !important;
  }
  .m-list-desc__content > :last-child {
    margin-block-end: 0 !important;
  }
  .m-list-desc__content > [class^=m-] {
    margin-block-start: 16px;
  }
  .m-list-desc__content > .m-list-note {
    margin-block-start: 12px;
  }
  .m-list-desc__content > .m-text {
    font-size: 0.875rem;
  }
  @media (min-width: 768px) {
    .m-list-desc__content > .m-text {
      font-size: 1rem;
    }
  }
  .m-list-desc__content > .m-link-list {
    gap: 8px;
  }
  @media (min-width: 768px) {
    .m-list-desc__content > .m-link-list {
      gap: 16px;
    }
  }
  .m-list-desc--rowPC {
    gap: var(--SPACE-MD);
  }
  .m-list-desc--rowPC .m-list-desc__item {
    padding-block-end: var(--SPACE-MD);
  }
  @media (min-width: 768px) {
    .m-list-desc--rowPC :where(.m-list-desc__item) {
      grid-template-columns: 180px auto;
      gap: 40px;
      align-items: baseline;
    }
  }
  .m-list-desc--2colPC {
    gap: var(--SPACE-MD);
  }
  .m-list-desc--2colPC .m-list-desc__item {
    padding-block-end: var(--SPACE-MD);
  }
  @media (min-width: 768px) {
    .m-list-desc--2colPC {
      grid-template-columns: repeat(2, 1fr);
      gap: 24px 48px;
    }
  }
  .login .m-list-desc__item {
    border-block-end: 1px solid #EFDEE0;
  }
  .login .m-list-desc__item--icon::before {
    background: url(/assets/wedding/images/icon-pen-login.svg);
  }
  .m-list-desc-simple {
    display: grid;
    gap: 16px;
    margin-block-start: var(--SPACE-2XL);
  }
  @media (min-width: 768px) {
    .m-list-desc-simple :where(.m-list-desc-simple__item) {
      grid-template-columns: 90px auto;
      gap: 40px;
      align-items: baseline;
    }
  }
  .m-list-desc-simple--small {
    margin-block-start: var(--SPACE-MD);
    gap: 8px;
    grid-template-columns: max-content auto;
  }
  .m-list-desc-simple--small .m-list-desc-simple__item {
    display: contents;
  }
  .m-list-desc-simple--small .m-list-desc-simple__title {
    font-size: 1rem;
    font-weight: var(--FONT-WEIGHT-BOLD);
  }
  .m-list-desc-simple--small .m-list-desc-simple__content {
    font-size: 1rem;
  }
  .m-list-desc-simple--primary .m-list-desc-simple__title,
  .m-list-desc-simple--primary .m-list-desc-simple__content {
    font-family: var(--FONT-PRIMARY) !important;
  }
  .m-list-desc-simple--big {
    margin-block-start: var(--SPACE-MD);
    line-height: 2;
    gap: 8px;
  }
  .m-list-desc-simple--big :where(.m-list-desc-simple__item) {
    grid-template-columns: 72px auto;
  }
  .m-list-desc-simple--big .m-list-desc-simple__item {
    gap: 0;
  }
  .m-list-desc-simple--big .m-list-desc-simple__title {
    font-size: var(--FONT-SIZE-3XL);
    font-weight: var(--FONT-WEIGHT-BOLD);
  }
  .m-list-desc-simple--big .m-list-desc-simple__content {
    font-size: var(--FONT-SIZE-LG);
  }
  .m-list-desc-simple--col .m-list-desc-simple__item {
    display: flex;
    flex-direction: column;
  }
  .m-list-desc-simple .m-label-list {
    margin: 0 !important;
  }
  .m-list-desc-simple__item {
    display: grid;
    gap: 4px;
  }
  @media (min-width: 768px) {
    .m-list-desc-simple__item {
      gap: 40px;
    }
  }
  .m-list-desc-simple__title {
    font-family: var(--FONT-SECONDARY);
    font-size: 1rem;
    line-height: var(--SECONDARY-LINE-HEIGHT);
    letter-spacing: 1px;
    color: var(--COLOR-BASE-PRIMARY);
  }
  @media (min-width: 768px) {
    .m-list-desc-simple__title {
      font-size: 1.25rem;
    }
  }
  .m-list-desc-simple__content {
    line-height: var(--SECONDARY-LINE-HEIGHT);
    font-size: 0.875rem;
    font-family: var(--FONT-SECONDARY);
  }
  .m-list-desc-simple__content > :first-child {
    margin-block-start: 0 !important;
  }
  .m-list-desc-simple__content > :last-child {
    margin-block-end: 0 !important;
  }
  .m-list-desc-simple__content .m-list-note {
    margin-block-start: 6px;
  }
  @media (min-width: 768px) {
    .m-list-desc-simple__content {
      font-size: 1.125rem;
    }
  }
  .m-list-desc-simple__primary {
    color: var(--COLOR-BASE-PRIMARY);
  }
  .m-list-note {
    display: grid;
    gap: 6px;
    margin-block: var(--SPACE-MD) 0;
    font-family: var(--FONT-PRIMARY);
  }
  .m-list-note__item {
    display: grid;
    gap: 8px;
    grid-template-columns: auto 1fr;
    font-size: var(--FONT-SIZE-SM);
    line-height: var(--SECONDARY-LINE-HEIGHT-S);
  }
  .m-list-note__text > .m-list-note {
    margin-block-start: 6px;
  }
  .m-list-note--center {
    justify-items: center;
  }
  .m-list-number {
    display: grid;
    gap: 12px;
    margin-block: var(--SPACE-MD) 0;
  }
  .m-list-number__item {
    display: grid;
    gap: 8px;
    align-items: baseline;
    grid-template-columns: auto 1fr;
  }
  .m-list-number__mark {
    font-family: var(--FONT-SECONDARY);
    font-size: var(--FONT-SIZE-LG);
    color: var(--COLOR-BASE-PRIMARY);
    line-height: var(--SECONDARY-LINE-HEIGHT-S-TIGHT);
  }
  .m-list-number__text {
    line-height: var(--PRIMARY-LINE-HEIGHT-S);
  }
  .m-list-number__text > :first-child {
    margin-block-start: 0 !important;
  }
  .m-list-number__text > :last-child {
    margin-block-end: 0 !important;
  }
  .m-list-number__text > [class^=m-] {
    margin-block-start: 12px;
  }
  .m-list-number__text .m-list-number__mark {
    color: var(--COLOR-FONT) !important;
  }
  .login .m-list-number__mark {
    color: var(--COLOR-BASE-PRIMARY-2);
  }
  .m-list {
    display: grid;
    gap: 12px;
    margin-block: var(--SPACE-MD) 0;
  }
  .m-list--flex {
    display: flex;
    flex-wrap: wrap;
  }
  .m-list__item {
    position: relative;
    padding-inline-start: 18px;
    line-height: var(--PRIMARY-LINE-HEIGHT-S);
  }
  .m-list__item > :first-child {
    margin-block-start: 0 !important;
  }
  .m-list__item > :last-child {
    margin-block-end: 0 !important;
  }
  .m-list__item::before {
    content: "";
    display: block;
    position: absolute;
    inset-block-start: 0.9em;
    inset-inline-start: 0;
    inline-size: 0.375em;
    block-size: 0.375em;
    border-radius: 50%;
    background-color: #A7977A;
  }
  .m-list__item > [class^=m-] {
    margin-block-start: 12px;
  }
  .login .m-list__item::before {
    background-color: var(--COLOR-BASE-PRIMARY-2);
  }
  .m-list-news {
    background-color: var(--COLOR-BG-WHITE);
  }
  .m-list-news li:first-child .m-list-news__inner {
    padding-block-start: 0;
  }
  @media (min-width: 768px) {
    .m-list-news li:first-child .m-list-news__inner {
      padding-block-start: 64px;
    }
  }
  .m-list-news .fn-show-more__list.is-hidden {
    display: none;
  }
  .m-list-news--border-none li:last-child .m-list-news__inner {
    border-block-end: unset;
  }
  .m-list-news--big .m-list-news__inner {
    padding-block: 48px;
  }
  @media (min-width: 768px) {
    .m-list-news--big .m-list-news__inner {
      padding-block: 64px;
      padding-inline: 64px;
    }
  }
  .m-list-news__inner {
    display: flex;
    gap: var(--SPACE-2XL);
    flex-direction: column;
    align-items: center;
    padding-block: 40px;
    border-block-end: 1px solid #E3DED2;
    transition: all 0.6s ease-out;
    max-inline-size: 480px;
    margin-inline: auto;
  }
  @media (min-width: 768px) {
    .m-list-news__inner {
      flex-direction: row;
      align-items: unset;
      padding-inline: 24px;
      max-inline-size: unset;
    }
  }
  .m-list-news__inner .m-box-primary {
    transition: all 0.6s ease-out;
  }
  @media only screen and (any-hover: hover) {
    .m-list-news__inner:focus, .m-list-news__inner:focus-visible, .m-list-news__inner:hover {
      background-color: var(--COLOR-BG-TERTIARY);
    }
    .m-list-news__inner:focus .m-list-news__img img, .m-list-news__inner:focus-visible .m-list-news__img img, .m-list-news__inner:hover .m-list-news__img img {
      transform: scale(1.1);
    }
    .m-list-news__inner:focus .m-link::before, .m-list-news__inner:focus-visible .m-link::before, .m-list-news__inner:hover .m-link::before {
      inset-inline-end: 0;
    }
    .m-list-news__inner:focus .m-link::after, .m-list-news__inner:focus-visible .m-link::after, .m-list-news__inner:hover .m-link::after {
      inline-size: 40px;
      margin: auto 0 14px 12px;
    }
    .m-list-news__inner:focus .m-box-primary, .m-list-news__inner:focus-visible .m-box-primary, .m-list-news__inner:hover .m-box-primary {
      background-color: var(--COLOR-BG-WHITE);
    }
  }
  @media only screen and (any-hover: hover) {
    .m-list-news__inner--no-hover:focus, .m-list-news__inner--no-hover:focus-visible, .m-list-news__inner--no-hover:hover {
      background-color: var(--COLOR-BG-WHITE) !important;
    }
    .m-list-news__inner--no-hover:focus .m-list-news__img img, .m-list-news__inner--no-hover:focus-visible .m-list-news__img img, .m-list-news__inner--no-hover:hover .m-list-news__img img {
      transform: unset;
    }
  }
  .m-list-news__img {
    overflow: hidden;
    height: max-content;
  }
  .m-list-news__img > div {
    overflow: hidden;
  }
  .m-list-news__img > div > img {
    transition: all 0.6s ease-out;
  }
  .m-list-news__img img {
    transition: all 0.6s ease-out;
  }
  @media (min-width: 768px) {
    .m-list-news__img {
      max-inline-size: min(40%, 480px);
    }
  }
  .m-list-news__text {
    font-size: var(--FONT-SIZE-XL);
    font-family: var(--FONT-SECONDARY);
    font-weight: var(--FONT-WEIGHT);
    line-height: 2;
    text-overflow: ellipsis;
    overflow: hidden;
    max-height: 108px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  @media (min-width: 768px) {
    .m-list-news__text {
      -webkit-line-clamp: 2;
      max-height: 70px;
    }
  }
  .m-list-news__content {
    display: flex;
    flex: 1;
    justify-content: space-between;
    flex-direction: column;
    inline-size: 100%;
  }
  .m-list-news__content > :first-child {
    margin-block-start: 0 !important;
  }
  .m-list-news__content > :last-child {
    margin-block-end: 0 !important;
  }
  .m-list-news__content .m-box-primary {
    margin-block-start: var(--SPACE-MD);
  }
  .m-list-news__content > div {
    inline-size: 100%;
  }
  @media (min-width: 768px) {
    .m-list-news__content {
      flex-wrap: wrap;
      inline-size: auto;
    }
  }
  .m-list-news__content .m-text {
    font-size: 0.875rem;
  }
  @media (min-width: 768px) {
    .m-list-news__content .m-text {
      font-size: 1rem;
    }
  }
  .m-list-news__content .m-hdg-lv3-02 {
    font-size: 1.125rem;
  }
  @media (min-width: 768px) {
    .m-list-news__content .m-hdg-lv3-02 {
      font-size: var(--FONT-SIZE-XL);
    }
  }
  .m-list-news__content .m-list-desc-simple__title,
  .m-list-news__content .m-list-desc-simple__content {
    font-size: 0.875rem;
  }
  @media (min-width: 768px) {
    .m-list-news__content .m-list-desc-simple__title,
    .m-list-news__content .m-list-desc-simple__content {
      font-size: 1rem;
    }
  }
  .m-list-news__link {
    display: flex;
    align-items: end;
    justify-content: end;
    flex: 1;
    min-inline-size: 144px;
    margin-block-start: 16px;
  }
  @media (min-width: 768px) {
    .m-list-news__link {
      margin-block-start: var(--SPACE-XL);
    }
  }
  .login .m-list-news__inner {
    border-block-end: 1px solid #FBF7F8;
  }
  @media only screen and (any-hover: hover) {
    .login .m-list-news__inner:focus, .login .m-list-news__inner:focus-visible, .login .m-list-news__inner:hover {
      background-color: #FBF7F8;
    }
  }
  .m-list-border {
    padding: auto;
  }
  .m-list-border__item {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .m-list-border__item > * {
    margin-block: 0;
  }
  .m-list-border__item + .m-list-border__item {
    border-block-start: 1px solid #E3DED2;
    padding-block-start: var(--SPACE-LG);
    margin-block-start: var(--SPACE-LG);
  }
  .m-list-decoration {
    display: flex;
    justify-content: center;
    margin-block: 16px 0;
    gap: 30px;
  }
  @media (min-width: 768px) {
    .m-list-decoration {
      margin-block: 48px 0;
      gap: 82px;
    }
  }
  .m-list-decoration__item {
    position: relative;
    font-size: var(--FONT-SIZE-LG);
    font-family: var(--FONT-SECONDARY);
    line-height: 2;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    letter-spacing: 0;
    flex-direction: column;
  }
  @media (min-width: 768px) {
    .m-list-decoration__item {
      column-gap: 16px;
      font-size: var(--FONT-SIZE-XL);
      flex-direction: row;
    }
  }
  .m-list-decoration__item + .m-list-decoration__item::before {
    content: "";
    position: absolute;
    background: url(/assets/wedding/images/icon-heading-02.svg);
    background-size: cover;
    inline-size: 14px;
    block-size: 14px;
    inset-inline-start: -22px;
    margin-block: auto;
    inset-block: 0;
  }
  @media (min-width: 768px) {
    .m-list-decoration__item + .m-list-decoration__item::before {
      inline-size: 18px;
      block-size: 18px;
      inset-inline-start: -50px;
    }
  }
  .m-list-decoration__title {
    color: var(--COLOR-BASE-PRIMARY);
  }
  @media (min-width: 768px) {
    .m-list-decoration__title {
      font-weight: var(--FONT-WEIGHT-SEMIBOLD);
    }
  }
  .m-list-step__item {
    display: flex;
    gap: 16px;
    position: relative;
  }
  @media (min-width: 768px) {
    .m-list-step__item {
      gap: 40px;
      min-block-size: 293px;
    }
  }
  .m-list-step__item:last-child {
    min-block-size: unset;
  }
  .m-list-step__item:last-child .m-list-step__content {
    padding-block-end: unset;
  }
  .m-list-step__content {
    padding-block-end: 48px;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .m-list-step__content > :first-child {
    margin-block-start: 0 !important;
  }
  .m-list-step__content > :last-child {
    margin-block-end: 0 !important;
  }
  .m-list-step__content .m-text {
    margin-block-start: 8px;
    line-height: 1.8;
  }
  @media (min-width: 768px) {
    .m-list-step__content {
      gap: 32px;
      flex-direction: row;
      padding-block-end: 20px;
    }
  }
  .m-list-step__number {
    font-family: var(--FONT-SECONDARY);
    font-size: 1.75rem;
    color: var(--COLOR-BASE-PRIMARY);
    padding-inline-start: 28px;
    line-height: 1.6;
  }
  .m-list-step__number::before, .m-list-step__number::after {
    content: "";
    position: absolute;
  }
  .m-list-step__number::before {
    background: url(/assets/wedding/images/icon-heading-03.svg);
    inline-size: 17px;
    block-size: 17px;
    inset-inline-start: 0;
    inset-block-start: 16px;
  }
  .m-list-step__number::after {
    inline-size: 1px;
    block-size: calc(100% - 45px);
    background-color: var(--COLOR-BORDER-PRIMARY);
    inset-inline-start: 8px;
    inset-block-start: 45px;
  }
  @media (min-width: 768px) {
    .m-list-step__number {
      font-size: var(--FONT-SIZE-5XL);
      padding-inline-start: 30px;
    }
    .m-list-step__number::before {
      inset-block-start: 22px;
    }
    .m-list-step__number::after {
      block-size: calc(100% - 58px);
      inset-block-start: 58px;
    }
  }
  .m-list-step__title {
    line-height: 2;
    font-family: var(--FONT-SECONDARY);
    font-size: var(--FONT-SIZE-XL);
    font-weight: 700;
  }
  .login .m-list-step__number {
    color: var(--COLOR-BASE-PRIMARY-2);
  }
  .login .m-list-step__number::before {
    background: url(/assets/wedding/images/icon-heading-02.svg);
  }
  .login .m-list-step__number::after {
    background-color: #EFDEE0;
  }
  .m-link {
    position: relative;
    color: var(--COLOR-BASE-PRIMARY);
    font-family: var(--FONT-EN);
    font-weight: var(--FONT-WEIGHT);
    line-height: 2;
    letter-spacing: 0.8px;
    display: inline-flex;
    border: unset;
    padding: 0;
    background: unset;
  }
  .m-link::before, .m-link::after {
    content: "";
    background-color: var(--COLOR-BASE-PRIMARY);
    transition: all 0.6s ease-out;
    border-radius: 0.5px;
  }
  .m-link::before {
    position: absolute;
    inline-size: 8px;
    block-size: 0.5px;
    transform: rotate(45deg);
    transform-origin: bottom right;
    inset-inline-end: 14px;
    inset-block: 0;
    margin-block: auto 14px;
  }
  .m-link::after {
    inline-size: 26px;
    block-size: 0.5px;
    margin: auto 14px 14px 12px;
  }
  @media only screen and (any-hover: hover) {
    .m-link:focus::before, .m-link:focus-visible::before, .m-link:hover::before {
      inset-inline-end: 0;
    }
    .m-link:focus::after, .m-link:focus-visible::after, .m-link:hover::after {
      inline-size: 40px;
      margin: auto 0 14px 12px;
    }
  }
  .login .m-link {
    color: var(--COLOR-BASE-PRIMARY-2);
  }
  .login .m-link::before, .login .m-link::after {
    background-color: var(--COLOR-BASE-PRIMARY-2);
  }
  .m-link-list {
    display: grid;
    gap: 16px;
    margin-block: var(--SPACE-MD) 0;
  }
  .m-link-list--1colSP {
    grid-template-columns: repeat(1, 1fr);
  }
  .m-link-list--2colSP {
    grid-template-columns: repeat(2, 1fr);
  }
  .m-link-list--flex {
    display: flex;
    flex-wrap: wrap;
  }
  .m-link-list--flex-center {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .m-link-list--flex-right {
    display: flex;
    flex-wrap: wrap;
    justify-content: right;
  }
  @media (min-width: 768px) {
    .m-link-list {
      padding-inline-end: 16px;
    }
    .m-link-list--2colPC {
      grid-template-columns: repeat(2, 1fr);
    }
    .m-link-list--3colPC {
      grid-template-columns: repeat(3, 1fr);
    }
    .m-link-list--4colPC {
      grid-template-columns: repeat(4, 1fr);
    }
    .m-link-list--5colPC {
      grid-template-columns: repeat(5, 1fr);
    }
  }
  .m-link-list__link {
    display: flex;
    position: relative;
    font-weight: var(--FONT-WEIGHT-BOLD);
    font-family: var(--FONT-SECONDARY);
    transition: all 0.6s ease-out;
    padding-inline-end: 13px;
    border: unset;
    padding: 0;
    background: unset;
    color: var(--COLOR-FONT);
  }
  .m-link-list__link::before, .m-link-list__link::after {
    content: "";
    background-color: var(--COLOR-BASE-PRIMARY);
    transition: all 0.6s ease-out;
    border-radius: 0.5px;
  }
  .m-link-list__link::before {
    inline-size: 8px;
    block-size: 0.8px;
    margin: 15px 12px 0;
    min-inline-size: 8px;
  }
  .m-link-list__link::after {
    position: absolute;
    inline-size: 4px;
    block-size: 0.8px;
    transform: rotate(45deg);
    transform-origin: bottom right;
    inset-inline-start: 15px;
    inset-block-start: 15px;
    margin-block: auto;
  }
  @media only screen and (any-hover: hover) {
    .m-link-list__link:focus, .m-link-list__link:focus-visible, .m-link-list__link:hover {
      padding-inline-end: 0;
    }
    .m-link-list__link:focus::before, .m-link-list__link:focus-visible::before, .m-link-list__link:hover::before {
      inline-size: 30px;
      margin: 15px 0 auto 15px;
      min-inline-size: 30px;
    }
    .m-link-list__link:focus::after, .m-link-list__link:focus-visible::after, .m-link-list__link:hover::after {
      inset-inline-start: 41px;
    }
    .m-link-list__link:focus .m-link-list__text::before, .m-link-list__link:focus-visible .m-link-list__text::before, .m-link-list__link:hover .m-link-list__text::before {
      opacity: 0;
    }
    .m-link-list__link:focus .m-link-list__text::after, .m-link-list__link:focus-visible .m-link-list__text::after, .m-link-list__link:hover .m-link-list__text::after {
      opacity: 1;
    }
  }
  .m-link-list__link .m-icon-link {
    fill: var(--COLOR-BASE-PRIMARY);
  }
  .m-link-list__item {
    line-height: 2;
  }
  .m-link-list__text {
    display: block;
    transition: transform 0.6s ease-out;
    padding-inline-start: 12px;
  }
  .m-link-list__text::before, .m-link-list__text::after {
    content: "";
    position: absolute;
    inline-size: 32px;
    block-size: 26px;
    inset: 0 auto 0 0;
    margin-block-start: 3px;
    transition: opacity 0.6s ease-out;
  }
  .m-link-list__text::before {
    background: url("/assets/wedding/images/icon-link-bg.svg") no-repeat center/contain;
    opacity: 1;
  }
  .m-link-list__text::after {
    background: url("/assets/wedding/images/icon-link-bg-hover.svg") no-repeat center/contain;
    opacity: 0;
  }
  @media (min-width: 768px) {
    .m-link-list--center {
      justify-content: center;
    }
  }
  @media (min-width: 768px) {
    .m-link-list--right {
      justify-content: end;
    }
  }
  @media (min-width: 768px) {
    .m-link-list--auto {
      display: flex;
      flex-wrap: wrap;
      gap: 16px 40px;
    }
  }
  .login .m-link-list__text::before {
    background: url("/assets/wedding/login/icon-link-bg.svg") no-repeat center/contain;
  }
  .login .m-link-list__text::after {
    background: url("/assets/wedding/login/icon-link-bg-hover.svg") no-repeat center/contain;
  }
  .login .m-link-list__link::before, .login .m-link-list__link::after {
    background-color: var(--COLOR-BASE-PRIMARY-2);
  }
  .login .m-link-list__link .m-icon-link {
    fill: var(--COLOR-BASE-PRIMARY-2);
  }
  /* .m-link-anchor
  ----------------------------------------------- */
  .m-link-anchor {
    display: flex;
    flex-direction: column;
    row-gap: 12px;
    margin-block-start: var(--SPACE-2XL);
    padding-block: var(--SPACE-2XL);
    font-family: var(--FONT-SECONDARY);
    font-size: var(--FONT-SIZE-LG);
  }
  @media (min-width: 768px) {
    .m-link-anchor {
      gap: 24px 40px;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: center;
    }
  }
  .m-link-anchor__link {
    display: inline-block;
    position: relative;
    font-weight: var(--FONT-WEIGHT-BOLD);
    padding-inline-start: 28px;
    transition: color 0.6s ease-out;
  }
  .m-link-anchor__link::before, .m-link-anchor__link::after {
    content: "";
    position: absolute;
    inline-size: 20px;
    block-size: 18px;
    inset: 18px auto auto 0;
    transform: translateY(-50%);
    transition: opacity 0.6s ease-out;
  }
  .m-link-anchor__link::before {
    background: url("/assets/wedding/images/icon-arrow-anchor_sp.svg") no-repeat center/contain;
    opacity: 1;
  }
  .m-link-anchor__link::after {
    background: url("/assets/wedding/images/icon-arrow-anchor-hover.svg") no-repeat center/contain;
    opacity: 0;
  }
  @media only screen and (any-hover: hover) {
    .m-link-anchor__link:focus, .m-link-anchor__link:focus-visible, .m-link-anchor__link:hover {
      color: var(--COLOR-ACCENT-PRIMARY);
    }
    .m-link-anchor__link:focus::before, .m-link-anchor__link:focus-visible::before, .m-link-anchor__link:hover::before {
      opacity: 0;
    }
    .m-link-anchor__link:focus::after, .m-link-anchor__link:focus-visible::after, .m-link-anchor__link:hover::after {
      opacity: 1;
    }
  }
  @media (min-width: 768px) {
    .m-link-anchor__link {
      padding-inline-start: 36px;
    }
    .m-link-anchor__link::before, .m-link-anchor__link::after {
      inline-size: 24px;
      block-size: 20px;
    }
    .m-link-anchor__link::before {
      background: url("/assets/wedding/images/icon-arrow-anchor.svg") no-repeat center/contain;
    }
  }
  @media (max-width: 767px) {
    .m-link-anchor--2colSP {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      column-gap: 19px;
    }
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .m-link-anchor--3colPC {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: clamp(1.5rem, -0.003rem + 3.13vi, 2.5rem);
    }
  }
  @media (min-width: 1280px) {
    .m-link-anchor--3colPC {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
    }
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .m-link-anchor--4colPC {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: clamp(1.5rem, -0.003rem + 3.13vi, 2.5rem);
    }
  }
  @media (min-width: 1280px) {
    .m-link-anchor--4colPC {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 16px;
    }
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .m-link-anchor--5colPC {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: clamp(1.5rem, -0.003rem + 3.13vi, 2.5rem);
    }
  }
  @media (min-width: 1280px) {
    .m-link-anchor--5colPC {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 16px;
    }
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .m-link-anchor--6colPC {
      display: grid;
      grid-template-columns: repeat(6, 1fr);
      gap: clamp(1.5rem, -0.003rem + 3.13vi, 2.5rem);
    }
  }
  @media (min-width: 1280px) {
    .m-link-anchor--6colPC {
      display: grid;
      grid-template-columns: repeat(6, 1fr);
      gap: 16px;
    }
  }
  .login .m-link-anchor__link::before {
    background: url("/assets/wedding/images/icon-login-arrow-anchor_sp.svg") no-repeat center/contain;
  }
  .login .m-link-anchor__link::after {
    background: url("/assets/wedding/images/icon-login-arrow-anchor-hover.svg") no-repeat center/contain;
  }
  @media (min-width: 768px) {
    .login .m-link-anchor__link::before {
      background: url("/assets/wedding/images/icon-login-arrow-anchor.svg") no-repeat center/contain;
    }
  }
  .m-link-text {
    color: var(--COLOR-BASE-PRIMARY);
    fill: var(--COLOR-BASE-PRIMARY);
    position: relative;
  }
  .m-link-text::before {
    content: "";
    position: absolute;
    inset-block-end: 0;
    inline-size: 100%;
    block-size: 1px;
    background-color: var(--COLOR-BASE-PRIMARY);
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }
  @media only screen and (any-hover: hover) {
    .m-link-text:focus::before, .m-link-text:focus-visible::before, .m-link-text:hover::before {
      opacity: 0;
    }
  }
  button.m-link-text {
    border: unset;
    padding: 0;
    background: unset;
    text-align: left;
  }
  button.m-link-text .m-icon-link {
    margin-inline-start: 8px;
  }
  .login .m-link-text {
    color: var(--COLOR-BASE-PRIMARY-2);
    fill: var(--COLOR-BASE-PRIMARY-2);
  }
  .login .m-link-text::before {
    background-color: var(--COLOR-BASE-PRIMARY-2);
  }
  /* .m-table
  ----------------------------------------------- */
  .m-table {
    margin-block-start: var(--SPACE-XL);
  }
  .m-table--scroll {
    position: relative;
  }
  .m-table--scroll::before, .m-table--scroll::after {
    position: absolute;
    content: "";
    inset-block-start: 0;
    inline-size: 50px;
    block-size: 100%;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, var(--COLOR-BASE-WHITE) 75%);
  }
  .m-table--scroll::before {
    display: none;
  }
  .m-table--scroll::after {
    inset-inline-end: -20px;
  }
  .m-table--scroll.is-scroll::before {
    display: block;
    inset-inline-start: -20px;
    rotate: 180deg;
  }
  .m-table--scroll.is-scroll-end::after {
    display: none;
  }
  @media (min-width: 768px) {
    .m-table--scroll::before, .m-table--scroll::after {
      display: none;
    }
  }
  @media (scripting: none) {
    .m-table--scroll::before, .m-table--scroll::after {
      display: none;
    }
  }
  .m-table--scroll .m-table__note {
    position: relative;
    margin-block-end: var(--SPACE-3XS);
    padding-inline-start: 27px;
    font-size: var(--FONT-SIZE-XS);
    line-height: var(--SECONDARY-LINE-HEIGHT-TIGHT);
  }
  .m-table--scroll .m-table__note::before {
    position: absolute;
    content: "";
    inline-size: 19px;
    block-size: 9px;
    inset-inline-start: 0;
    inset-block-start: 50%;
    transform: translateY(-50%);
    background: url("/assets/hotel/images/icon-scroll.svg") no-repeat center/contain;
  }
  @media (min-width: 768px) {
    .m-table--scroll .m-table__note {
      display: none;
    }
  }
  .m-table--scroll .m-table__content {
    overflow: auto;
  }
  .m-table--scroll .m-table__content table {
    min-inline-size: 768px;
  }
  @media (min-width: 768px) {
    .m-table--scroll .m-table__content table {
      min-inline-size: auto;
    }
  }
  .m-table--1colSP .m-table__content tbody th, .m-table--1colSP .m-table__content tbody td {
    display: block;
  }
  .m-table--1colSP .m-table__content tbody th {
    padding: var(--SPACE-XS);
    font-size: 1rem;
  }
  .m-table--1colSP .m-table__content tbody td {
    padding: var(--SPACE-MD) var(--SPACE-SM);
    border-inline-start: none !important;
  }
  .m-table--1colSP .m-table__content tbody td .m-text {
    font-size: 1rem;
  }
  @media (min-width: 768px) {
    .m-table--1colSP .m-table__content tbody th, .m-table--1colSP .m-table__content tbody td {
      display: table-cell;
      padding: var(--SPACE-MD) var(--SPACE-LG);
    }
    .m-table--1colSP .m-table__content tbody td {
      border-inline-start: 1px solid var(--COLOR-BORDER-PRIMARY);
      border-block-start: 1px solid var(--COLOR-BORDER-PRIMARY);
      border-block-start: none;
    }
  }
  .m-table__content table {
    inline-size: 100%;
    border-collapse: collapse;
  }
  .m-table__content table thead tr th, .m-table__content table thead tr td, .m-table__content table tbody tr th, .m-table__content table tbody tr td {
    padding: 12px;
  }
  .m-table__content table thead tr th > :first-child, .m-table__content table thead tr td > :first-child, .m-table__content table tbody tr th > :first-child, .m-table__content table tbody tr td > :first-child {
    margin-block-start: 0 !important;
  }
  .m-table__content table thead tr th > :last-child, .m-table__content table thead tr td > :last-child, .m-table__content table tbody tr th > :last-child, .m-table__content table tbody tr td > :last-child {
    margin-block-end: 0 !important;
  }
  .m-table__content table thead tr th, .m-table__content table tbody tr th {
    font-size: 0.875rem;
    line-height: var(--PRIMARY-LINE-HEIGHT-TIGHT);
    background-color: var(--COLOR-BG-PRIMARY-LIGHT);
  }
  .m-table__content table thead {
    background-color: var(--COLOR_GRAY_LIGHT);
    border-block-start: 1px solid var(--COLOR-BORDER-PRIMARY);
    border-block-end: 1px solid var(--COLOR-BORDER-PRIMARY);
  }
  .m-table__content table thead tr {
    border-block-end: 1px solid var(--COLOR-BORDER-PRIMARY);
  }
  .m-table__content table thead tr > :first-child {
    border-inline-start: none !important;
  }
  .m-table__content table thead tr th, .m-table__content table thead tr td {
    border-inline-start: 1px solid var(--COLOR-BORDER-PRIMARY);
  }
  .m-table__content table thead tr td {
    background-color: var(--COLOR-BG-PRIMARY-LIGHT);
  }
  .m-table__content table thead tr + tr > :first-child {
    border-inline-start: 1px solid var(--COLOR-BORDER-PRIMARY);
  }
  .m-table__content table tbody {
    border-block-start: 1px solid var(--COLOR-BORDER-PRIMARY);
  }
  .m-table__content table tbody tr {
    border-block-end: 1px solid var(--COLOR-BORDER-PRIMARY);
  }
  .m-table__content table tbody tr th, .m-table__content table tbody tr td {
    inline-size: calc(100vi - var(--SPACE-GUTTER) * 2);
  }
  .m-table__content table tbody tr th {
    text-align: start;
    vertical-align: top;
  }
  .m-table__content table tbody tr td {
    border-inline-start: 1px solid var(--COLOR-BORDER-PRIMARY);
    vertical-align: top;
  }
  .m-table__content table tbody tr td + th {
    border-block-start: 1px solid var(--COLOR-BORDER-PRIMARY);
  }
  .m-table__content table tbody tr td .m-hdg-lv3 {
    margin-block: 48px 24px;
  }
  .m-table__content table tbody tr td .m-hdg-lv4 {
    margin-block: 40px 16px;
  }
  .m-table__content table tbody tr td .m-text {
    margin-block-start: 16px;
    font-size: 0.875rem;
    line-height: var(--PRIMARY-LINE-HEIGHT-S);
  }
  .m-table__content table tbody tr td .m-list,
  .m-table__content table tbody tr td .m-link-list {
    margin-block-start: 16px;
  }
  .m-table__content table tbody tr td .m-list-note {
    margin-block-start: 12px;
  }
  .m-table__content table tbody tr td .m-link-list {
    gap: 8px;
  }
  @media (min-width: 768px) {
    .m-table__content table tbody tr td .m-link-list {
      gap: 16px;
    }
  }
  .m-table__content table tbody tr:has(> td:first-child) > td:first-child {
    border-inline-start: unset;
  }
  .m-table__content table:has(thead) tbody {
    border-block-start: none;
  }
  @media (min-width: 768px) {
    .m-table__content table thead tr th, .m-table__content table thead tr td, .m-table__content table tbody tr th, .m-table__content table tbody tr td {
      padding: var(--SPACE-MD) var(--SPACE-LG);
    }
    .m-table__content table thead tr th, .m-table__content table tbody tr th {
      font-size: 1rem;
      line-height: var(--PRIMARY-LINE-HEIGHT-S);
    }
    .m-table__content table thead tr td .m-text, .m-table__content table tbody tr td .m-text {
      font-size: 1rem;
    }
    .m-table__content table tbody tr td + th {
      border-inline-start: 1px solid var(--COLOR-BORDER-PRIMARY);
    }
  }
  .login .m-table__content table thead tr th,
  .login .m-table__content table thead tr td,
  .login .m-table__content table tbody tr th {
    background-color: #FBF7F8;
  }
  .login .m-table__content table thead tr th,
  .login .m-table__content table thead tr td {
    border-inline-start: 1px solid #EFDEE0;
  }
  .login .m-table__content table thead tr {
    border-block-end: 1px solid #EFDEE0;
  }
  .login .m-table__content table tbody tr {
    border-block-end: 1px solid #EFDEE0;
  }
  .login .m-table__content table tbody tr td {
    border-inline-start: 1px solid #EFDEE0;
  }
  .login .m-table__content table tbody tr td + th {
    border-block-start: 1px solid #EFDEE0;
  }
  .login .m-table__em {
    background-color: #EFDEE0 !important;
  }
  .m-table__em {
    background-color: #F6EFE4 !important;
  }
  /* .m-box
  ----------------------------------------------- */
  .m-box {
    margin-block-start: 48px;
    padding: var(--SPACE-XL);
    border: 1px solid var(--COLOR-BORDER-PRIMARY-2);
  }
  @media (min-width: 768px) {
    .m-box {
      margin-block-start: 80px;
      padding: var(--SPACE-XL) var(--SPACE-2XL);
    }
  }
  .m-box--big {
    padding: 48px 32px;
  }
  @media (min-width: 768px) {
    .m-box--big {
      padding: var(--SPACE-XL) var(--SPACE-2XL);
    }
  }
  .m-box--border-none {
    border: unset !important;
  }
  .m-box__head {
    margin-block-end: var(--SPACE-MD);
  }
  .m-box__title {
    font-size: var(--FONT-SIZE-2XL);
    font-family: var(--FONT-SECONDARY);
    font-weight: var(--FONT-WEIGHT-SEMIBOLD);
    letter-spacing: normal;
    line-height: var(--SECONDARY-LINE-HEIGHT-TIGHT);
  }
  .m-box__title--icon {
    position: relative;
    padding-inline-start: 30px;
  }
  .m-box__title--icon::before {
    content: "";
    position: absolute;
    inline-size: 18px;
    block-size: 24px;
    background: url(/assets/wedding/images/icon-pen.svg);
    inset-block-start: 8px;
    inset-inline-start: 0;
  }
  .m-box__head > :first-child,
  .m-box__body > :first-child {
    margin-block-start: 0 !important;
  }
  .m-box__head > :last-child,
  .m-box__body > :last-child {
    margin-block-end: 0 !important;
  }
  .m-box--beige {
    background-color: #FCF9F2;
    border: none;
  }
  .m-box--white {
    background-color: var(--COLOR-FONT-WHITE);
    border: none;
  }
  .m-box--white .m-list-news--big li:first-child .m-list-news__inner {
    padding-block-start: 24px;
  }
  .m-box--attention {
    margin-block-start: var(--SPACE-4XL);
    border: 1px solid var(--COLOR-BASE-PRIMARY-2) !important;
  }
  .m-box--attention .m-box__title {
    position: relative;
    font-family: var(--FONT-SECONDARY);
    font-size: var(--FONT-SIZE-LG);
    font-weight: var(--FONT-WEIGHT-BOLD);
    letter-spacing: 1.44px;
    line-height: var(--SECONDARY-LINE-HEIGHT-S);
    padding-inline-start: 36px;
  }
  .m-box--attention .m-box__title::after {
    content: "";
    position: absolute;
    inline-size: 24px;
    block-size: 24px;
    background: url("/assets/wedding/images/icon-attention.svg") no-repeat;
    inset: 0.85em auto auto 0;
    transform: translateY(-50%);
  }
  .m-box-primary {
    padding: var(--SPACE-LG);
    background-color: var(--COLOR-BG-TERTIARY);
    margin-block-start: 32px;
  }
  .m-box-primary > :first-child {
    margin-block-start: 0 !important;
  }
  .m-box-primary > :last-child {
    margin-block-end: 0 !important;
  }
  @media (min-width: 768px) {
    .m-box-primary {
      margin-block-start: 48px;
    }
  }
  .m-box-primary--white {
    background-color: var(--COLOR-BASE-WHITE);
  }
  @media (min-width: 768px) {
    .m-box-primary--big {
      padding: 40px 64px 64px;
    }
  }
  .m-box-primary--none {
    padding: 0;
  }
  .login .m-box {
    border: 1px solid #EFDEE0;
  }
  .login .m-box--beige {
    background-color: #FBF7F8;
    border: 1px solid #FBF7F8;
  }
  /* .m-box-border
  ----------------------------------------------- */
  .m-box-border {
    display: flex;
    flex-direction: column;
    gap: 6px;
    justify-content: center;
  }
  @media (min-width: 768px) {
    .m-box-border {
      flex-direction: row;
      gap: 0;
      display: grid;
      grid-auto-flow: column;
      grid-auto-columns: 1fr;
    }
  }
  .m-box-border__item {
    width: 100%;
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: center;
  }
  @media (min-width: 768px) {
    .m-box-border__item {
      flex-direction: column;
      justify-content: center;
      gap: 0;
    }
    .m-box-border__item + .m-box-border__item {
      padding-inline-start: 16px;
      margin-inline-start: 16px;
      border-inline-start: 1px solid #E3DED2;
    }
  }
  .m-box-border__title {
    color: var(--COLOR-BASE-PRIMARY);
    font-weight: var(--FONT-WEIGHT-BOLD);
    line-height: 2;
    font-size: 0.875rem;
    letter-spacing: 0;
    font-family: var(--FONT-SECONDARY);
  }
  @media (min-width: 768px) {
    .m-box-border__title {
      font-size: var(--FONT-SIZE-LG);
      text-align: center;
    }
  }
  .m-box-border__text {
    line-height: 2;
    font-size: 0.75rem;
    letter-spacing: 0;
    font-family: var(--FONT-SECONDARY);
  }
  @media (min-width: 768px) {
    .m-box-border__text {
      font-size: 1rem;
      text-align: center;
    }
  }
  /* .m-box-border-02
  ----------------------------------------------- */
  .m-box-border-02 {
    border: 1px solid var(--COLOR-BORDER-PRIMARY-2);
    background-color: var(--COLOR-BG-PRIMARY-LIGHT);
    padding: 28px;
    margin-block-start: 48px;
  }
  .m-box-border-02 > :first-child {
    margin-block-start: 0 !important;
  }
  .m-box-border-02 > :last-child {
    margin-block-end: 0 !important;
  }
  @media (min-width: 768px) {
    .m-box-border-02 {
      padding: 40px;
      margin-block-start: 64px;
    }
  }
  .m-reservation-box {
    font-family: var(--FONT-SECONDARY);
    margin-block-start: 48px;
  }
  @media (min-width: 768px) {
    .m-reservation-box {
      display: flex;
      justify-content: center;
      margin-block-start: 160px;
    }
  }
  .m-reservation-box__title {
    background-color: var(--COLOR-BASE-SECONDARY);
    overflow: hidden;
    position: relative;
    font-size: var(--FONT-SIZE-2XL);
    line-height: 1.8;
    letter-spacing: 2.5px;
    color: var(--COLOR-BG-WHITE);
    padding-block: 16px;
  }
  @media (min-width: 768px) {
    .m-reservation-box__title {
      width: 30%;
      max-width: 305px;
      font-size: var(--FONT-SIZE-4XL);
    }
  }
  .m-reservation-box__title img {
    width: 40px;
    height: 40px;
  }
  @media (min-width: 768px) {
    .m-reservation-box__title img {
      width: 72px;
      height: 72px;
    }
  }
  .m-reservation-box__title > div {
    z-index: 1;
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    height: 100%;
    gap: 12px;
  }
  @media (min-width: 768px) {
    .m-reservation-box__title > div {
      flex-direction: column;
      gap: 0;
    }
  }
  .m-reservation-box__title::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url(/assets/wedding/images/bg-pattern-light.svg);
    opacity: 0.2;
    background-size: 37px;
  }
  .m-reservation-box__content {
    flex: 1;
    padding: var(--SPACE-XL) var(--SPACE-MD);
    background-color: var(--COLOR-BG-TERTIARY);
  }
  @media (min-width: 768px) {
    .m-reservation-box__content {
      padding: var(--SPACE-XL) var(--SPACE-5XL) var(--SPACE-XL) var(--SPACE-3XL);
    }
  }
  .m-reservation-box__list {
    margin-block: var(--SPACE-LG) 0;
    font-size: var(--FONT-SIZE-LG);
    line-height: 2;
    letter-spacing: 0;
  }
  @media (min-width: 768px) {
    .m-reservation-box__list {
      letter-spacing: 0.9px;
    }
  }
  .m-reservation-box__list-item {
    border-bottom: 1px solid #E3DED2;
    margin-block-start: var(--SPACE-XS);
    padding-block-end: var(--SPACE-2XS);
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    align-items: center;
  }
  @media (min-width: 768px) {
    .m-reservation-box__list-item {
      font-size: var(--FONT-SIZE-LG);
    }
  }
  .m-reservation-box__text input[type=date] {
    position: relative;
  }
  .m-reservation-box__text input[type=date]::-webkit-calendar-picker-indicator {
    background: transparent;
    z-index: 1;
  }
  .m-reservation-box__text input[type=date]::after {
    content: "";
    background: url("/assets/wedding/images/icon-arrow-bottom.svg") no-repeat center/contain;
    inline-size: 18px;
    block-size: 18px;
    position: absolute;
    inset-inline-end: 0;
    inset-block: 0;
    margin-block: auto;
  }
  @media (min-width: 768px) {
    .m-reservation-box__text {
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
  }
  .m-reservation-box__text input {
    margin-inline-end: 8px;
    color: var(--COLOR-BASE-PRIMARY);
    width: 130px;
    border: none;
    background-color: var(--COLOR-BG-TERTIARY);
  }
  .m-reservation-box__text > div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .m-reservation-box__text > div > label {
    margin-inline-end: var(--SPACE-SM);
  }
  .m-reservation-box__state {
    font-size: var(--FONT-SIZE-XS);
    line-height: 1.8;
    letter-spacing: 0;
    gap: 10px;
    display: flex;
    flex-wrap: wrap;
  }
  .m-reservation-box__state span {
    display: inline-block;
  }
  .m-reservation-box__seat {
    margin-inline-start: 8px;
    display: inline-block;
  }
  @media (min-width: 768px) {
    .m-reservation-box__seat {
      margin-inline-start: var(--SPACE-XL);
    }
  }
  .m-reservation-box__btn {
    border: 1px solid var(--COLOR-BASE-PRIMARY-2);
    background: var(--COLOR-BASE-PRIMARY-2);
    background-clip: padding-box;
    padding: 2px 24px;
    color: var(--COLOR-BASE-WHITE);
    text-align: center;
    display: block;
    height: fit-content;
    max-width: 118px;
    width: 50%;
    margin-inline-start: var(--SPACE-XS);
    transition: all 0.6s ease-out;
  }
  .m-reservation-box__btn--sold-out {
    border: 1px solid rgba(119, 119, 119, 0.5);
    background: rgba(119, 119, 119, 0.5);
    background-color: var(--COLOR-BASE-WHITE);
    color: #777;
    pointer-events: none;
  }
  @media only screen and (any-hover: hover) {
    .m-reservation-box__btn:focus, .m-reservation-box__btn:focus-visible, .m-reservation-box__btn:hover {
      color: var(--COLOR-BASE-PRIMARY-2);
      background: var(--COLOR-BASE-WHITE);
    }
  }
  @media (min-width: 768px) {
    .m-reservation-box__btn {
      max-width: 208px;
    }
  }
  .m-reservation-box__center {
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 236px;
  }
  @media (min-width: 768px) {
    .m-reservation-box__center {
      min-height: 268px;
    }
  }
  .m-box-decoration {
    background-color: var(--COLOR-BG-TERTIARY);
    border: 1px solid var(--COLOR-FONT-2);
    padding: 8px;
    margin-block-start: 48px;
  }
  @media (min-width: 768px) {
    .m-box-decoration {
      margin-block-start: 80px;
    }
  }
  .m-box-decoration--white {
    background-color: var(--COLOR-BG-WHITE) !important;
  }
  .m-box-decoration--login {
    border: 1px solid var(--COLOR-BASE-PRIMARY-2);
    background-color: var(--COLOR-BG-WHITE);
  }
  .m-box-decoration--login .m-box-decoration__decoration-01::before, .m-box-decoration--login .m-box-decoration__decoration-01::after,
  .m-box-decoration--login .m-box-decoration__decoration-02::before,
  .m-box-decoration--login .m-box-decoration__decoration-02::after {
    background-color: var(--COLOR-BASE-PRIMARY-2);
  }
  .m-box-decoration--login .m-box-decoration__decoration-03::before, .m-box-decoration--login .m-box-decoration__decoration-03::after,
  .m-box-decoration--login .m-box-decoration__decoration-04::before,
  .m-box-decoration--login .m-box-decoration__decoration-04::after {
    background: url(/assets/wedding/login/icon-box-decoration.svg);
  }
  .m-box-decoration--login .m-box-decoration__inner {
    gap: 24px;
  }
  .m-box-decoration--login .m-box-decoration__title {
    font-size: var(--FONT-SIZE-2XL);
    font-weight: var(--FONT-WEIGHT-BOLD);
    position: relative;
    padding-block-end: 33px;
  }
  .m-box-decoration--login .m-box-decoration__title::after {
    position: absolute;
    content: "";
    inline-size: 52px;
    block-size: 20px;
    background: url(/assets/wedding/login/icon-heading-01.svg);
    inset-inline-start: 0;
    inset-inline-end: 0;
    inset-block-end: 0;
    margin-inline: auto;
  }
  .m-box-decoration--login .m-box-decoration__text {
    text-align: center;
    font-family: var(--FONT-SECONDARY);
    font-weight: var(--FONT-WEIGHT-BOLD);
    letter-spacing: 0;
  }
  .m-box-decoration__decoration-01,
  .m-box-decoration__decoration-02,
  .m-box-decoration__decoration-03,
  .m-box-decoration__decoration-04 {
    display: contents;
  }
  .m-box-decoration__decoration-01::before, .m-box-decoration__decoration-01::after,
  .m-box-decoration__decoration-02::before,
  .m-box-decoration__decoration-02::after,
  .m-box-decoration__decoration-03::before,
  .m-box-decoration__decoration-03::after,
  .m-box-decoration__decoration-04::before,
  .m-box-decoration__decoration-04::after {
    content: "";
    position: absolute;
  }
  .m-box-decoration__decoration-01 {
    display: flex;
    flex-direction: column;
    position: relative;
  }
  .m-box-decoration__decoration-01::before, .m-box-decoration__decoration-01::after {
    inline-size: calc(100% - 80px);
    block-size: 1px;
    background-color: var(--COLOR-FONT-2);
    opacity: 0.4;
    margin-inline: auto;
    inset-inline: 0;
  }
  .m-box-decoration__decoration-01::before {
    inset-block-start: 0;
  }
  .m-box-decoration__decoration-01::after {
    inset-block-end: 0;
  }
  @media (min-width: 768px) {
    .m-box-decoration__decoration-01::before, .m-box-decoration__decoration-01::after {
      inline-size: calc(100% - 96px);
    }
  }
  .m-box-decoration__decoration-02::before, .m-box-decoration__decoration-02::after {
    block-size: calc(100% - 80px);
    inline-size: 1px;
    background-color: var(--COLOR-FONT-2);
    opacity: 0.4;
    margin-block: auto;
    inset-block: 0;
    display: none;
  }
  .m-box-decoration__decoration-02::after {
    inset-inline-end: 0;
  }
  @media (min-width: 768px) {
    .m-box-decoration__decoration-02::before, .m-box-decoration__decoration-02::after {
      block-size: calc(100% - 96px);
      display: unset;
    }
  }
  .m-box-decoration__decoration-03::before, .m-box-decoration__decoration-03::after,
  .m-box-decoration__decoration-04::before,
  .m-box-decoration__decoration-04::after {
    inline-size: 32px;
    block-size: 32px;
    background: url("/assets/wedding/images/icon-box-decoration.svg");
  }
  @media (min-width: 768px) {
    .m-box-decoration__decoration-03::before, .m-box-decoration__decoration-03::after,
    .m-box-decoration__decoration-04::before,
    .m-box-decoration__decoration-04::after {
      inline-size: 40px;
      block-size: 40px;
    }
  }
  .m-box-decoration__decoration-03::after {
    inset-inline-end: 0;
    transform: rotate(90deg);
  }
  .m-box-decoration__decoration-04 {
    padding: 40px 80px 48px;
  }
  .m-box-decoration__decoration-04::before {
    inset-block-end: 0;
    transform: rotate(270deg);
  }
  .m-box-decoration__decoration-04::after {
    inset-block-end: 0;
    inset-inline-end: 0;
    transform: rotate(180deg);
  }
  .m-box-decoration__inner {
    padding-block: 24px 40px;
    padding-inline: 16px;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  @media (min-width: 768px) {
    .m-box-decoration__inner {
      padding-block: 32px 40px;
      padding-inline: 72px;
      gap: 32px;
    }
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .m-box-decoration__inner {
      padding: clamp(40px, 40px + 32 * (100vi - 768px) / 511, 72px);
    }
  }
  .m-box-decoration__inner--big {
    padding-block: 40px;
    padding-inline: 12px;
  }
  @media (min-width: 768px) {
    .m-box-decoration__inner--big {
      padding-block: 56px;
      padding-inline: 72px;
    }
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .m-box-decoration__inner--big {
      padding: clamp(40px, 40px + 32 * (100vi - 768px) / 511, 72px);
    }
  }
  @media (max-width: 767px) {
    .m-box-decoration__inner .m-box-primary--white {
      padding: 0;
    }
  }
  .m-box-decoration__title {
    text-align: center;
    font-family: var(--FONT-SECONDARY);
    font-size: var(--FONT-SIZE-LG);
    line-height: 2;
  }
  .m-box-decoration__title > :first-child {
    margin-block-start: 0 !important;
  }
  .m-box-decoration__title > :last-child {
    margin-block-end: 0 !important;
  }
  .m-box-decoration__title .m-hdg-lv3 {
    padding-block-start: 24px;
  }
  .m-box-decoration__title > * {
    padding-block-start: 0 !important;
  }
  .m-box-decoration__subTitle {
    line-height: 1.4;
    font-family: var(--FONT-EN);
    color: var(--COLOR-BASE-PRIMARY);
    letter-spacing: 2px;
    display: block;
    font-size: 1.75rem;
  }
  @media (min-width: 768px) {
    .m-box-decoration__subTitle {
      font-size: 2.5rem;
    }
  }
  .m-box-decoration__content > :first-child {
    margin-block-start: 0 !important;
  }
  .m-box-decoration__content > :last-child {
    margin-block-end: 0 !important;
  }
  .m-box-decoration__content .m-btn-list {
    margin-block-start: 32px;
  }
  @media (min-width: 768px) {
    .m-box-decoration__content .m-btn-list {
      margin-block-start: var(--SPACE-XL);
    }
  }
  .m-box-decoration__layout {
    display: flex;
    flex-direction: column;
    gap: var(--SPACE-2XL);
  }
  @media (min-width: 768px) {
    .m-box-decoration__layout {
      flex-direction: row;
    }
  }
  .m-box-decoration__layout-content > :first-child {
    margin-block-start: 0 !important;
  }
  .m-box-decoration__layout-content > :last-child {
    margin-block-end: 0 !important;
  }
  .m-box-decoration__img > img {
    margin-inline: auto;
  }
  @media (min-width: 768px) {
    .m-box-decoration__img {
      max-inline-size: min(47%, 600px);
    }
  }
  .login .m-box-decoration {
    background-color: #FBF7F8;
    border: 1px solid var(--COLOR-BASE-PRIMARY-2);
  }
  .login .m-box-decoration__subTitle {
    color: var(--COLOR-BASE-PRIMARY-2);
  }
  .login .m-list-desc-simple__title {
    color: var(--COLOR-BASE-PRIMARY-2);
  }
  .login .m-box-decoration__decoration-01::before,
  .login .m-box-decoration__decoration-01::after,
  .login .m-box-decoration__decoration-02::before,
  .login .m-box-decoration__decoration-02::after {
    background-color: var(--COLOR-BASE-PRIMARY-2);
  }
  .login .m-box-decoration__decoration-03::before,
  .login .m-box-decoration__decoration-03::after,
  .login .m-box-decoration__decoration-04::before,
  .login .m-box-decoration__decoration-04::after {
    background: url(/assets/wedding/images/icon-box-decoration-login.svg);
  }
  .login .m-box-decoration__tel {
    display: flex;
    gap: 16px;
    justify-content: center;
    align-items: center;
    color: var(--COLOR-BASE-PRIMARY-2);
    font-weight: var(--FONT-WEIGHT-BOLD);
    font-family: var(--FONT-SECONDARY);
    font-size: var(--FONT-SIZE-4XL);
  }
  /* .m-form-login
  ----------------------------------------------- */
  .m-form-login {
    padding-block-start: 20px;
  }
  @media (min-width: 768px) {
    .m-form-login {
      padding-block-start: 24px;
    }
  }
  .m-form-login__text {
    text-align: center;
    color: var(--COLOR-BASE-PRIMARY-2);
    font-weight: 700;
    padding-block-end: 16px;
    display: none;
  }
  .m-form-login__text.is-open {
    display: block;
  }
  .m-form-login__wrapper {
    line-height: 1.8;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
  }
  .m-form-login__input {
    background-color: var(--COLOR-BASE-WHITE);
    border: 1px solid var(--COLOR-BORDER-PRIMARY-2);
    border-radius: 4px;
    padding: 9px 16px;
    font-size: var(--FONT-SIZE-SM);
    inline-size: 100%;
    max-inline-size: 300px;
    max-block-size: 40px;
  }
  .m-form-login__input::placeholder {
    font-size: var(--FONT-SIZE-SM);
    font-weight: 400;
  }
  @media (min-width: 768px) {
    .m-form-login__input {
      padding: 7.5px 16px;
    }
  }
  .m-form-login__btn {
    border-radius: 4px;
    background-color: var(--COLOR-BASE-PRIMARY);
    border: 1px solid var(--COLOR-BASE-PRIMARY);
    color: var(--COLOR-BASE-WHITE);
    font-size: 0.875rem;
    font-family: var(--FONT-SECONDARY);
    padding: 8px 14px;
    line-height: 1.6;
    letter-spacing: 0;
    transition: all 0.6s ease-out;
    min-inline-size: 88px;
    max-block-size: 40px;
  }
  @media only screen and (any-hover: hover) {
    .m-form-login__btn:focus, .m-form-login__btn:focus-visible, .m-form-login__btn:hover {
      background-color: var(--COLOR-BASE-WHITE);
      color: var(--COLOR-BASE-PRIMARY);
    }
  }
  @media (min-width: 768px) {
    .m-form-login__btn {
      font-size: var(--FONT-SIZE-LG);
      padding: 5px 16px;
    }
  }
  /* .m-layout
  ----------------------------------------------- */
  .m-layout {
    display: grid;
    gap: 48px;
    grid-template-columns: repeat(1, 1fr);
    margin-block-start: var(--SPACE-4XL);
  }
  @media (min-width: 768px) {
    .m-layout {
      gap: 64px;
    }
  }
  .m-layout__item > :first-child {
    margin-block-start: 0 !important;
  }
  .m-layout__item > :last-child {
    margin-block-end: 0 !important;
  }
  .m-layout__item > .m-hdg-lv3 {
    margin-block: 32px 20px;
  }
  @media (min-width: 768px) {
    .m-layout__item > .m-hdg-lv3 {
      margin-block: 48px 24px;
    }
  }
  .m-layout__item > .m-hdg-lv4 {
    margin-block: 28px 16px;
  }
  @media (min-width: 768px) {
    .m-layout__item > .m-hdg-lv4 {
      margin-block: 40px 16px;
    }
  }
  .m-layout--2colSP {
    gap: 19px;
    grid-template-columns: repeat(2, 1fr);
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .m-layout--2colPC {
      gap: clamp(2.5rem, 0.246rem + 4.7vw, 4rem);
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @media (min-width: 1280px) {
    .m-layout--2colPC {
      gap: 64px;
      grid-template-columns: repeat(2, 1fr);
    }
  }
  .m-layout--3colPC {
    gap: 28px;
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .m-layout--3colPC {
      gap: clamp(1.5rem, -0.003rem + 3.13vw, 2.5rem);
      grid-template-columns: repeat(3, 1fr);
    }
  }
  @media (min-width: 1280px) {
    .m-layout--3colPC {
      gap: 40px;
      grid-template-columns: repeat(3, 1fr);
    }
  }
  .m-layout--4colPC {
    gap: 28px;
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .m-layout--4colPC {
      gap: clamp(1.5rem, -0.003rem + 3.13vw, 2.5rem);
      grid-template-columns: repeat(4, 1fr);
    }
  }
  @media (min-width: 1280px) {
    .m-layout--4colPC {
      gap: 40px;
      grid-template-columns: repeat(4, 1fr);
    }
  }
  .m-layout-line {
    padding-block: 32px;
    border-block-end: 1px solid #EFDEE0;
  }
  .m-layout-line > :first-child {
    margin-block-start: 0 !important;
  }
  .m-layout-line > :last-child {
    margin-block-end: 0 !important;
  }
  @media (min-width: 768px) {
    .m-layout--2colPC-sm {
      gap: 40px !important;
      grid-template-columns: repeat(2, max-content) !important;
      justify-content: center;
    }
  }
  @media (1080px > width > 767px) {
    .m-layout--2colPC-sm {
      grid-template-columns: repeat(2, 1fr) !important;
    }
  }
  @media (min-width: 768px) {
    .m-layout--3colPC-sm {
      gap: 40px !important;
      grid-template-columns: repeat(3, max-content) !important;
      justify-content: center;
    }
  }
  @media (1080px > width > 767px) {
    .m-layout--3colPC-sm {
      grid-template-columns: repeat(3, 1fr) !important;
    }
  }
  .login .m-layout__item--line::after {
    content: "";
    display: block;
    width: 100%;
    border-block-end: 1px solid #EFDEE0;
    margin-block-start: 32px;
  }
  /* .m-card
  ----------------------------------------------- */
  .m-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--SPACE-2XL);
    margin-block-start: var(--SPACE-4XL);
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .m-card {
      gap: clamp(2rem, 0.497rem + 3.13vw, 3rem);
    }
  }
  @media (min-width: 768px) {
    .m-card {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
    }
  }
  .m-card--3colPC {
    gap: 28px;
  }
  @media (min-width: 768px) {
    .m-card--3colPC {
      gap: 40px;
    }
  }
  @media (768px <= width < 1080px) {
    .m-card--3colPC {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @media (1080px < width) {
    .m-card--3colPC {
      grid-template-columns: repeat(3, 1fr);
    }
  }
  @media (min-width: 768px) {
    .m-card a .m-card__media {
      overflow: hidden;
    }
  }
  .m-card a .m-card__link {
    margin-block-start: 16px;
  }
  .m-card a .m-card__body {
    padding-block: 24px;
  }
  .m-card a .m-card__body::before {
    display: none;
  }
  @media only screen and (any-hover: hover) {
    .m-card a:focus .m-card__media img, .m-card a:focus-visible .m-card__media img, .m-card a:hover .m-card__media img {
      transform: scale(1.1);
    }
    .m-card a:focus .m-link::before, .m-card a:focus-visible .m-link::before, .m-card a:hover .m-link::before {
      inset-inline-end: 0;
    }
    .m-card a:focus .m-link::after, .m-card a:focus-visible .m-link::after, .m-card a:hover .m-link::after {
      inline-size: 40px;
      margin: auto 0 14px 12px;
    }
  }
  .m-card__item {
    display: grid;
    gap: 0;
    width: 100%;
    height: 100%;
    max-width: 400px;
  }
  .m-card__item--emphasis .m-card__body {
    position: relative;
    background-color: var(--COLOR-BG-TERTIARY);
    border: none;
  }
  .m-card__item--emphasis .m-card__body::before, .m-card__item--emphasis .m-card__body::after {
    position: absolute;
    content: "";
    inline-size: 100%;
    block-size: 144px;
    inset: 0;
  }
  .m-card__item--emphasis .m-card__body::before {
    background-size: 26px;
    opacity: 0.4;
  }
  .m-card__item--emphasis .m-card__body::after {
    background: linear-gradient(0deg, var(--COLOR-BG-TERTIARY) 0%, rgba(245, 240, 233, 0) 80%);
  }
  .m-card__item--emphasis .m-card__body-inner {
    position: relative;
    z-index: var(--Z-INDEX-1);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
  }
  @media (min-width: 768px) {
    .m-card__item--emphasis .m-card__body::before {
      background-size: 34px;
    }
  }
  .m-card__item--emphasis .m-card__title {
    position: relative;
    padding-block-end: var(--SPACE-XS);
  }
  .m-card__item--emphasis .m-card__title::after {
    position: absolute;
    content: "";
    left: 0;
    top: 100%;
    inline-size: 24px;
    block-size: 1px;
    background-color: var(--COLOR-BASE-PRIMARY);
  }
  .m-card__item--emphasis .m-card__title + .m-card__content {
    margin-block-start: var(--SPACE-SM);
  }
  .m-card__item:has(.m-card__media) {
    grid-template-rows: subgrid;
    grid-row: 2 span;
  }
  .m-card__item:has(.m-card__media) .m-card__body {
    border-block-start: 0;
  }
  @media (min-width: 768px) {
    .m-card__item {
      max-width: none;
    }
  }
  .m-card__body {
    border: 1px solid var(--COLOR-BORDER-PRIMARY);
    padding: var(--SPACE-LG);
    background-color: var(--COLOR-BASE-WHITE);
    position: relative;
  }
  .m-card__body--decoration-none::before, .m-card__body--decoration-none::after {
    content: unset !important;
  }
  .m-card__title {
    font-family: var(--FONT-SECONDARY);
    font-size: 1.25rem;
    font-weight: var(--FONT-WEIGHT-SEMIBOLD);
    line-height: var(--SECONDARY-LINE-HEIGHT-TIGHT);
  }
  @media (min-width: 768px) {
    .m-card__title {
      font-size: 1.375rem;
    }
  }
  .m-card__content > :first-child {
    margin-block-start: 0 !important;
  }
  .m-card__content > :last-child {
    margin-block-end: 0 !important;
  }
  .m-card__title + .m-card__content {
    margin-block-start: var(--SPACE-XS);
  }
  .m-card__content .m-text {
    line-height: var(--PRIMARY-LINE-HEIGHT-TIGHT);
  }
  .m-card__content .m-list-desc-simple {
    margin-block-start: 8px;
  }
  .m-card__media {
    display: flex;
    justify-content: center;
    aspect-ratio: 3/2;
    background-color: var(--COLOR-BG-PRIMARY-LIGHT);
  }
  .m-card__media img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: contain;
    transition: all 0.6s ease-out;
  }
  .m-card__link {
    text-align: end;
    margin-top: var(--SPACE-MD);
  }
  .m-carousel .m-card__content .m-text {
    text-overflow: ellipsis;
    overflow: hidden;
    max-height: 108px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  .l-content--bg-primary .m-card__item--emphasis .m-card__body {
    background-color: var(--COLOR-BG-WHITE) !important;
  }
  /* .m-card-subMenu
  ----------------------------------------------- */
  .m-card-subMenu {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-block-start: 80px;
    margin-inline: auto;
    max-inline-size: 335px;
  }
  @media (min-width: 768px) {
    .m-card-subMenu {
      gap: 32px;
      margin-block-start: 160px;
      justify-content: center;
      flex-wrap: nowrap;
      max-inline-size: unset;
    }
  }
  .m-card-subMenu__item {
    inline-size: calc(50% - 8px);
  }
  @media (min-width: 768px) {
    .m-card-subMenu__item {
      inline-size: unset;
    }
  }
  .m-card-subMenu__title {
    color: var(--COLOR-BASE-PRIMARY);
    font-family: var(--FONT-EN);
    font-size: var(--FONT-SIZE-3XL);
    line-height: 1.4;
    margin-block-start: 16px;
  }
  .m-card-subMenu__subTitle {
    line-height: 1.8;
    font-family: var(--FONT-SECONDARY);
    font-size: var(--FONT-SIZE-SM);
  }
  .m-card-subMenu__link {
    transition: opacity 0.3s ease-out;
  }
  .m-card-subMenu__link.is-select {
    opacity: 0.5;
  }
  @media only screen and (any-hover: hover) {
    .m-card-subMenu__link:focus, .m-card-subMenu__link:focus-visible, .m-card-subMenu__link:hover {
      opacity: 0.5;
    }
  }
  /* .m-icon-link
  ----------------------------------------------- */
  .m-icon-link {
    position: relative;
    vertical-align: baseline;
    flex-shrink: 0;
  }
  .m-icon-link[data-id=blank] {
    width: 11px;
    height: 11px;
  }
  .m-icon-link[data-id=pdf] {
    width: 13px;
    height: 14px;
  }
  /* .m-carousel
  ----------------------------------------------- */
  .m-carousel {
    display: flex;
    flex-direction: column;
    gap: var(--SPACE-LG);
    max-inline-size: 1280px;
    margin-inline: auto;
    margin-block-start: var(--SPACE-3XL);
  }
  .m-carousel:not(.splide) .m-carousel__controls {
    display: none;
  }
  .m-carousel:not(.splide) .m-carousel__list.splide__list {
    justify-content: center;
  }
  .m-carousel--sp {
    inline-size: calc(100% + 40px);
    margin-inline-start: -20px;
  }
  .m-carousel--sp .m-carousel__controls {
    margin-inline-end: 20px;
  }
  @media (min-width: 768px) {
    .m-carousel--sp {
      max-inline-size: 1280px;
      inline-size: 100%;
      margin-inline: auto;
    }
    .m-carousel--sp .m-carousel__list {
      gap: 32px;
      display: grid !important;
      grid-template-columns: repeat(3, 1fr);
    }
    .m-carousel--sp .m-carousel__slide {
      opacity: 1 !important;
      inline-size: unset !important;
    }
    .m-carousel--sp .m-carousel__controls {
      display: none;
    }
  }
  @media (768px <= width < 1080px) {
    .m-carousel--sp .m-carousel__list {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @media (min-width: 768px) {
    .m-carousel--sp a.m-card__item {
      overflow: hidden;
    }
  }
  @media only screen and (any-hover: hover) {
    .m-carousel--sp a.m-card__item:focus .m-card__media img, .m-carousel--sp a.m-card__item:focus-visible .m-card__media img, .m-carousel--sp a.m-card__item:hover .m-card__media img {
      transform: scale(1.1);
    }
    .m-carousel--sp a.m-card__item:focus .m-link::before, .m-carousel--sp a.m-card__item:focus-visible .m-link::before, .m-carousel--sp a.m-card__item:hover .m-link::before {
      inset-inline-end: 0;
    }
    .m-carousel--sp a.m-card__item:focus .m-link::after, .m-carousel--sp a.m-card__item:focus-visible .m-link::after, .m-carousel--sp a.m-card__item:hover .m-link::after {
      inline-size: 40px;
      margin: auto 0 14px 12px;
    }
  }
  .m-carousel--sp a .m-text {
    text-overflow: ellipsis;
    overflow: hidden;
    max-block-size: 108px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  @media (max-width: 767px) {
    .m-carousel--sp a .m-text {
      font-size: 0.875rem;
      max-block-size: 108px;
      -webkit-line-clamp: 2;
    }
  }
  @media (max-width: 767px) {
    .m-carousel--sp a .m-label-list__item {
      font-size: 0.6875rem;
    }
  }
  @media (min-width: 768px) {
    .m-carousel--fit a.m-card__item {
      overflow: hidden;
    }
  }
  @media only screen and (any-hover: hover) {
    .m-carousel--fit a.m-card__item:focus .m-card__media img, .m-carousel--fit a.m-card__item:focus-visible .m-card__media img, .m-carousel--fit a.m-card__item:hover .m-card__media img {
      transform: scale(1.1);
    }
    .m-carousel--fit a.m-card__item:focus .m-link::before, .m-carousel--fit a.m-card__item:focus-visible .m-link::before, .m-carousel--fit a.m-card__item:hover .m-link::before {
      inset-inline-end: 0;
    }
    .m-carousel--fit a.m-card__item:focus .m-link::after, .m-carousel--fit a.m-card__item:focus-visible .m-link::after, .m-carousel--fit a.m-card__item:hover .m-link::after {
      inline-size: 40px;
      margin: auto 0 14px 12px;
    }
  }
  .m-carousel--fit a .m-text {
    text-overflow: ellipsis;
    overflow: hidden;
    max-block-size: 108px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  @media (max-width: 767px) {
    .m-carousel--fit a .m-text {
      font-size: 0.875rem;
      max-block-size: 108px;
      -webkit-line-clamp: 2;
    }
  }
  @media (max-width: 767px) {
    .m-carousel--fit a .m-label-list__item {
      font-size: 0.6875rem;
    }
  }
  .m-carousel__slide {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: 2 span;
    justify-content: center;
    align-items: center;
  }
  .m-carousel__slide > :first-child {
    margin-block-start: 0 !important;
  }
  .m-carousel__slide > :last-child {
    margin-block-end: 0 !important;
  }
  .m-carousel__slide:only-child {
    flex-shrink: 1 !important;
  }
  .m-carousel__controls {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: var(--SPACE-2XS);
  }
  @media (min-width: 768px) {
    .m-carousel__controls {
      gap: var(--SPACE-MD);
    }
  }
  .m-carousel__controls .m-carousel__toggle .splide__toggle__play svg path {
    stroke: #95804E !important;
  }
  .m-carousel__controls .m-carousel__toggle .splide__toggle__pause svg path {
    fill: #95804E !important;
  }
  .m-carousel__controls .m-carousel__arrows svg path {
    fill: #95804E !important;
  }
  .m-carousel__controls .m-carousel__arrows svg ellipse {
    stroke: #95804E !important;
  }
  .m-carousel__pagination {
    display: flex;
    gap: var(--SPACE-2XS);
  }
  .m-carousel__pagination li {
    display: flex;
    inline-size: 11px;
    block-size: 11px;
  }
  @media (min-width: 768px) {
    .m-carousel__pagination li {
      inline-size: 13px;
      block-size: 13px;
    }
  }
  .m-carousel__pagination .splide__pagination__page {
    position: relative;
    inset-block-start: 3px;
    inset-inline-start: 3px;
    inline-size: 5px;
    block-size: 5px;
    display: flex;
    padding: 0;
    border-radius: 50%;
    border: 1px solid var(--COLOR-BASE-PRIMARY);
    background-color: var(--COLOR-BASE-WHITE);
    cursor: pointer;
    transition: opacity 0.3s ease-out;
  }
  @media only screen and (any-hover: hover) {
    .m-carousel__pagination .splide__pagination__page:focus, .m-carousel__pagination .splide__pagination__page:focus-visible, .m-carousel__pagination .splide__pagination__page:hover {
      opacity: 0.6;
    }
  }
  .m-carousel__pagination .splide__pagination__page.is-active {
    inset-block-start: 0;
    inset-inline-start: 0;
    inline-size: 11px;
    block-size: 11px;
    border-color: var(--COLOR-BASE-PRIMARY);
    background-color: var(--COLOR-BASE-PRIMARY);
    transition: opacity 0.3s ease-out;
  }
  @media only screen and (any-hover: hover) {
    .m-carousel__pagination .splide__pagination__page.is-active:focus, .m-carousel__pagination .splide__pagination__page.is-active:focus-visible, .m-carousel__pagination .splide__pagination__page.is-active:hover {
      opacity: 0.7;
    }
  }
  @media (min-width: 768px) {
    .m-carousel__pagination .splide__pagination__page {
      inline-size: 7px;
      block-size: 7px;
    }
    .m-carousel__pagination .splide__pagination__page.is-active {
      inline-size: 13px;
      block-size: 13px;
    }
  }
  .m-carousel__toggle {
    padding: 0;
    border: none;
    background-color: transparent;
    inline-size: 24px;
    block-size: 25px;
    cursor: pointer;
    transition: opacity 0.3s ease-out;
  }
  @media only screen and (any-hover: hover) {
    .m-carousel__toggle:focus, .m-carousel__toggle:focus-visible, .m-carousel__toggle:hover {
      opacity: 0.6;
    }
  }
  .m-carousel__arrows {
    display: flex;
    gap: var(--SPACE-3XS);
  }
  .m-carousel__arrow {
    padding: 0;
    border: none;
    background-color: transparent;
    inline-size: 32px;
    block-size: 27px;
    cursor: pointer;
    transition: opacity 0.3s ease-out;
  }
  @media only screen and (any-hover: hover) {
    .m-carousel__arrow:focus, .m-carousel__arrow:focus-visible, .m-carousel__arrow:hover {
      opacity: 0.6;
    }
  }
  .m-carousel__list--center {
    justify-content: center;
  }
  @media (min-width: 1280px) {
    .m-carousel.m-carousel--panel.splide.is-initialized:not(.is-active) .m-carousel__list.m-carousel__list--3col.splide__list {
      display: grid !important;
      grid-template-columns: repeat(3, 1fr);
      gap: 40px;
    }
  }
  @media (min-width: 1280px) {
    .m-carousel.m-carousel--panel.splide.is-initialized:not(.is-active) .m-carousel__list.m-carousel__list--4col.splide__list {
      display: grid !important;
      grid-template-columns: repeat(4, 1fr);
      gap: 40px;
    }
  }
  .m-carousel--panel {
    max-inline-size: 1280px;
  }
  @media (min-width: 1280px) {
    .m-carousel--panel .m-carousel__controls {
      display: none;
    }
  }
  .m-carousel--panel .m-carousel__slide > a {
    inline-size: 241px;
  }
  @media (min-width: 768px) {
    .m-carousel--panel .m-carousel__slide > a {
      inline-size: unset;
    }
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .m-carousel--panel .m-carousel__slide > a {
      inline-size: 330px;
    }
  }
  .m-carousel--panel .m-card__item {
    overflow: hidden;
  }
  @media only screen and (any-hover: hover) {
    .m-carousel--panel .m-card__item:focus .m-card__media img, .m-carousel--panel .m-card__item:focus-visible .m-card__media img, .m-carousel--panel .m-card__item:hover .m-card__media img {
      transform: scale(1.1);
    }
    .m-carousel--panel .m-card__item:focus .m-link::before, .m-carousel--panel .m-card__item:focus-visible .m-link::before, .m-carousel--panel .m-card__item:hover .m-link::before {
      inset-inline-end: 0;
    }
    .m-carousel--panel .m-card__item:focus .m-link::after, .m-carousel--panel .m-card__item:focus-visible .m-link::after, .m-carousel--panel .m-card__item:hover .m-link::after {
      inline-size: 40px;
      margin: auto 0 14px 12px;
    }
  }
  .m-carousel__track.splide__track {
    overflow: visible !important;
  }
  .login .m-carousel__pagination .splide__pagination__page.is-active {
    border-color: var(--COLOR-BASE-PRIMARY-2);
    background-color: var(--COLOR-BASE-PRIMARY-2);
  }
  .login .m-carousel__pagination .splide__pagination__page {
    border: 1px solid var(--COLOR-BASE-PRIMARY-2);
  }
  .login .m-carousel__controls .m-carousel__toggle .splide__toggle__play svg path {
    stroke: #AD5A65 !important;
  }
  .login .m-carousel__controls .m-carousel__toggle .splide__toggle__pause svg path {
    fill: #AD5A65 !important;
  }
  .login .m-carousel__controls .m-carousel__arrows svg path {
    fill: #AD5A65 !important;
  }
  .login .m-carousel__controls .m-carousel__arrows svg ellipse {
    stroke: #AD5A65 !important;
  }
  /* .m-toggle
  ----------------------------------------------- */
  .m-toggle {
    margin-block-start: var(--SPACE-XL);
    border: 1px solid var(--COLOR-BORDER-PRIMARY);
    border-radius: var(--RADIUS-SM);
    background-color: var(--COLOR-BASE-WHITE);
    overflow: hidden;
  }
  .m-toggle + .m-toggle {
    margin-block-start: var(--SPACE-3XS);
  }
  .m-toggle[open] .m-toggle__summary {
    background-color: var(--COLOR-BG-PRIMARY-LIGHT);
  }
  .m-toggle[open] .m-toggle__summary::after {
    display: none;
  }
  summary {
    display: block;
    list-style: none;
  }
  .m-toggle__summary {
    position: relative;
    padding: var(--SPACE-2XS) 20px;
    cursor: pointer;
  }
  .m-toggle__summary::before, .m-toggle__summary::after {
    position: absolute;
    content: "";
    inset: 0 25px 0 auto;
    margin-block: auto;
    inline-size: 1px;
    block-size: 11px;
    background-color: var(--COLOR-BASE-PRIMARY);
  }
  .m-toggle__summary::before {
    rotate: 90deg;
  }
  @media (min-width: 768px) {
    .m-toggle__summary {
      padding: var(--SPACE-SM) 32px;
    }
    .m-toggle__summary::before, .m-toggle__summary::after {
      inset: 0 39px 0 auto;
      block-size: 15px;
    }
  }
  .m-toggle__head {
    font-family: var(--FONT-SECONDARY);
    font-size: var(--FONT-SIZE-XL);
    font-weight: var(--FONT-WEIGHT-SEMIBOLD);
    line-height: 1.6;
    padding-inline-end: 31px;
  }
  @media (min-width: 768px) {
    .m-toggle__head {
      padding-inline-end: 35px;
    }
  }
  .m-toggle__content {
    padding: var(--SPACE-XL) 28px;
  }
  .m-toggle__content > :first-child {
    margin-block-start: 0 !important;
  }
  .m-toggle__content > :last-child {
    margin-block-end: 0 !important;
  }
  @media (min-width: 768px) {
    .m-toggle__content {
      padding-inline: 48px;
    }
  }
  .login .m-toggle {
    border: 1px solid #EFDEE0;
  }
  .login .m-toggle[open] .m-toggle__summary {
    background-color: #FBF7F8;
  }
  .login .m-toggle__summary::before, .login .m-toggle__summary::after {
    background-color: var(--COLOR-BASE-PRIMARY-2);
  }
  /* .m-toggle
  ----------------------------------------------- */
  .m-tab {
    margin-block-start: 80px;
  }
  @media (min-width: 768px) {
    .m-tab {
      margin-block-start: 160px;
    }
  }
  .m-tab__panel {
    display: none;
  }
  .m-tab__panel > :first-child {
    margin-block-start: 0 !important;
  }
  .m-tab__panel > :last-child {
    margin-block-end: 0 !important;
  }
  .m-tab__panel.is-visible {
    display: block;
  }
  @media (scripting: none) {
    .m-tab__panel {
      display: block;
    }
  }
  .m-tab-btn {
    overflow: auto;
  }
  .m-tab-btn__wrap {
    position: relative;
  }
  .m-tab-btn__wrap.is-scroll::before {
    display: block;
    left: 0;
    rotate: 180deg;
  }
  .m-tab-btn__wrap.is-scroll-end::after {
    display: none;
  }
  .m-tab-btn__list {
    display: flex;
    min-width: max-content;
  }
  .m-tab-btn__btn {
    position: relative;
    background-color: transparent;
    border: none;
    cursor: pointer;
    flex: 1;
    line-height: 2;
    padding-block-end: var(--SPACE-MD);
    padding-inline: var(--SPACE-LG);
    font-family: var(--FONT-SECONDARY);
    font-size: 0.75rem;
    color: var(--COLOR-FONT);
    transition: all 0.6s ease-out;
  }
  .m-tab-btn__btn::after {
    position: absolute;
    content: "";
    inset: auto 0 0 0;
    inline-size: 100%;
    block-size: 1px;
    background-color: #F0ECE2;
  }
  @media (min-width: 768px) {
    .m-tab-btn__btn {
      font-size: 1.25rem;
    }
  }
  .m-tab-btn__btn[aria-selected=true] {
    color: var(--COLOR-BASE-PRIMARY);
  }
  .m-tab-btn__btn[aria-selected=true]::after {
    block-size: 2px;
    background-color: var(--COLOR-BASE-PRIMARY);
  }
  .m-tab-btn__btn[aria-selected=true] .m-tab-btn__text {
    font-weight: var(--FONT-WEIGHT-BOLD);
    position: relative;
    display: block;
  }
  .m-tab-btn__btn[aria-selected=true] .m-tab-btn__text::before, .m-tab-btn__btn[aria-selected=true] .m-tab-btn__text::after {
    position: absolute;
    content: "";
    background: url(/assets/wedding/images/icon-heading-02.svg);
    background-size: cover;
    inline-size: 14px;
    block-size: 14px;
    inset-block: 0;
    margin: auto;
  }
  .m-tab-btn__btn[aria-selected=true] .m-tab-btn__text::before {
    inset-inline-start: -22px;
  }
  .m-tab-btn__btn[aria-selected=true] .m-tab-btn__text::after {
    inset-inline-end: -22px;
  }
  @media (min-width: 768px) {
    .m-tab-btn__btn[aria-selected=true] .m-tab-btn__text {
      display: inline-block;
    }
    .m-tab-btn__btn[aria-selected=true] .m-tab-btn__text::before, .m-tab-btn__btn[aria-selected=true] .m-tab-btn__text::after {
      inline-size: 18px;
      block-size: 18px;
    }
    .m-tab-btn__btn[aria-selected=true] .m-tab-btn__text::before {
      inset-inline-start: -34px;
    }
    .m-tab-btn__btn[aria-selected=true] .m-tab-btn__text::after {
      inset-inline-end: -34px;
    }
  }
  @media only screen and (any-hover: hover) {
    .m-tab-btn__btn:focus, .m-tab-btn__btn:focus-visible, .m-tab-btn__btn:hover {
      color: var(--COLOR-BASE-PRIMARY);
    }
  }
  .m-tab-btn__text > span {
    display: block;
  }
  @media (min-width: 768px) {
    .m-tab-btn__text > span {
      display: unset;
    }
  }
  @media (min-width: 768px) {
    .m-tab-btn__text {
      display: unset;
    }
  }
  @media (max-width: 767px) {
    .m-tab__container .m-list-news li:first-child .m-list-news__inner {
      padding-block-start: 48px !important;
    }
  }
  /* .m-calendar
  ----------------------------------------------- */
  .m-calendar {
    background-color: #FCF9F2;
    padding: 32px 20px;
    font-family: var(--FONT-SECONDARY);
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    gap: 16px;
    inline-size: calc(100% + 40px);
    margin-inline-start: -20px;
  }
  @media (min-width: 768px) {
    .m-calendar {
      margin-inline-start: 0;
      inline-size: 100%;
      flex-direction: row;
      padding: 64px 80px;
    }
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .m-calendar {
      flex-direction: column;
      justify-content: space-between;
    }
  }
  .m-calendar__date {
    position: relative;
    inline-size: 100%;
    max-inline-size: 470px;
    margin: auto;
  }
  .m-calendar__date-text {
    color: var(--COLOR-BASE-PRIMARY);
    display: flex;
    gap: 4px;
    justify-content: center;
  }
  @media (min-width: 768px) {
    .m-calendar__date-text {
      gap: 16px;
    }
  }
  .m-calendar__month {
    font-size: 4rem;
    line-height: 1.4;
  }
  @media (min-width: 768px) {
    .m-calendar__month {
      font-size: 7.5rem;
    }
  }
  .m-calendar__month-text {
    position: relative;
    line-height: 1.6;
    font-size: var(--FONT-SIZE-XL);
    padding-inline-start: 34px;
    display: flex;
    inset-block-end: 10px;
    align-items: end;
  }
  .m-calendar__month-text::before {
    position: absolute;
    content: "";
    block-size: 64px;
    inline-size: 2px;
    background-color: var(--COLOR-BASE-PRIMARY);
    transform: rotate(25deg);
    transform-origin: bottom left;
    inset-inline-start: 0;
  }
  @media (min-width: 768px) {
    .m-calendar__month-text {
      font-size: var(--FONT-SIZE-3XL);
      inset-block-end: 30px;
      padding-inline-start: 60px;
    }
    .m-calendar__month-text::before {
      block-size: 100px;
      inline-size: 2px;
    }
  }
  .m-calendar__arrows {
    display: flex;
    justify-content: space-between;
  }
  .m-calendar__arrow {
    padding: 0;
    border: none;
    background-color: transparent;
    cursor: pointer;
    transition: opacity 0.3s ease-out;
    display: flex;
    align-items: center;
    gap: 16px;
    position: absolute;
    inset-block: 0;
    margin-block: auto;
  }
  .m-calendar__arrow + .m-calendar__arrow {
    inset-inline-end: 0;
  }
  .m-calendar__arrow:disabled {
    opacity: 0.6;
  }
  .m-calendar__arrow > svg {
    inline-size: 32px;
    block-size: 27px;
  }
  .m-calendar__arrow > span {
    display: none;
    color: var(--COLOR-FONT);
  }
  @media (min-width: 768px) {
    .m-calendar__arrow {
      position: relative;
    }
    .m-calendar__arrow > span {
      display: inline-block;
    }
  }
  @media only screen and (any-hover: hover) {
    .m-calendar__arrow:focus, .m-calendar__arrow:focus-visible, .m-calendar__arrow:hover {
      opacity: 0.6;
    }
  }
  .m-calendar__text {
    line-height: 1.8;
    font-size: var(--FONT-SIZE-XS);
    text-align: center;
  }
  @media (min-width: 768px) {
    .m-calendar__text {
      text-align: right;
    }
  }
  .m-calendar__status {
    max-inline-size: 658px;
    flex: 1;
    margin: auto;
  }
  .m-calendar__calendar {
    inline-size: 100%;
    border-collapse: collapse;
    margin-inline-start: auto;
    table-layout: fixed;
  }
  .m-calendar__calendar col {
    inline-size: 14.2857142857%;
  }
  .m-calendar__calendar thead tr:first-child th,
  .m-calendar__calendar thead tr:first-child td,
  .m-calendar__calendar tbody tr:first-child th,
  .m-calendar__calendar tbody tr:first-child td {
    padding-block-start: 24px;
  }
  .m-calendar__calendar thead {
    font-size: var(--FONT-SIZE-SM);
    font-weight: var(--FONT-WEIGHT-BOLD);
    border-block-end: 1px solid #E3DED2;
    line-height: 1.8;
    padding-block-end: 9px;
  }
  @media (min-width: 768px) {
    .m-calendar__calendar thead {
      font-size: var(--FONT-SIZE-2XL);
      line-height: 2;
    }
  }
  .m-calendar__calendar thead .m-calendar__sat {
    color: #4E6E95;
  }
  .m-calendar__calendar thead .m-calendar__sun {
    color: #AD5A65;
  }
  .m-calendar__calendar tbody .m-calendar__sat {
    color: #4E6E95;
    border: 1px solid #4E6E95;
  }
  @media only screen and (any-hover: hover) {
    .m-calendar__calendar tbody .m-calendar__sat:focus, .m-calendar__calendar tbody .m-calendar__sat:focus-visible, .m-calendar__calendar tbody .m-calendar__sat:hover {
      background-color: #4E6E95;
    }
  }
  .m-calendar__calendar tbody .m-calendar__sat[aria-selected=true] {
    background-color: #4E6E95;
  }
  .m-calendar__calendar tbody .m-calendar__sun {
    color: #AD5A65;
    border: 1px solid #AD5A65;
  }
  @media only screen and (any-hover: hover) {
    .m-calendar__calendar tbody .m-calendar__sun:focus, .m-calendar__calendar tbody .m-calendar__sun:focus-visible, .m-calendar__calendar tbody .m-calendar__sun:hover {
      background-color: #AD5A65;
    }
  }
  .m-calendar__calendar tbody .m-calendar__sun[aria-selected=true] {
    background-color: #AD5A65;
  }
  .m-calendar__calendar tr th,
  .m-calendar__calendar tr td {
    padding: 4px;
    block-size: auto;
  }
  @media (min-width: 768px) {
    .m-calendar__calendar tr th,
    .m-calendar__calendar tr td {
      padding: 8px;
    }
  }
  .m-calendar__calendar tr th:first-child,
  .m-calendar__calendar tr td:first-child {
    padding-inline-start: 6px;
  }
  .m-calendar__calendar tr th:last-child,
  .m-calendar__calendar tr td:last-child {
    padding-inline-end: 6px;
  }
  .m-calendar__calendar tr th a,
  .m-calendar__calendar tr td a {
    border: 1px solid var(--COLOR-BASE-PRIMARY);
    background-color: var(--COLOR-BASE-WHITE);
    text-align: center;
    padding-block: 6px;
    display: flex;
    flex-direction: column;
    line-height: 1.2;
    font-size: var(--FONT-SIZE-XS);
    min-block-size: 41px;
    inline-size: 100%;
    max-inline-size: 80px;
    min-inline-size: 41px;
    text-decoration: none;
    color: var(--COLOR-FONT);
    transition: all 0.6s ease-out;
  }
  .m-calendar__calendar tr th a[disabled],
  .m-calendar__calendar tr td a[disabled] {
    opacity: 0.5;
    pointer-events: none;
  }
  @media (min-width: 768px) {
    .m-calendar__calendar tr th a,
    .m-calendar__calendar tr td a {
      font-size: var(--FONT-SIZE-XL);
      min-block-size: 82px;
      line-height: 1.6;
      padding-block: 8px;
      min-inline-size: 60px;
    }
  }
  @media only screen and (any-hover: hover) {
    .m-calendar__calendar tr th a:focus, .m-calendar__calendar tr th a:focus-visible, .m-calendar__calendar tr th a:hover,
    .m-calendar__calendar tr td a:focus,
    .m-calendar__calendar tr td a:focus-visible,
    .m-calendar__calendar tr td a:hover {
      color: var(--COLOR-BASE-WHITE);
      background-color: var(--COLOR-BASE-PRIMARY);
    }
  }
  .m-calendar__calendar tr th a[aria-selected=true],
  .m-calendar__calendar tr td a[aria-selected=true] {
    color: var(--COLOR-BASE-WHITE);
    background-color: var(--COLOR-BASE-PRIMARY);
  }
  /* -----------------------------------------------
    .m-carousel--fit
    （コンテンツ幅に応じてカルーセル化）
  ----------------------------------------------- */
  .m-carousel.m-carousel--fit.splide.is-initialized:not(.is-active) .m-carousel__list.splide__list {
    display: grid !important;
    gap: 40px;
  }
  .m-carousel.m-carousel--fit.splide.is-initialized:not(.is-active) .m-carousel__list.splide__list.m-carousel__list--3col {
    grid-template-columns: repeat(1, 1fr);
  }
  .m-carousel.m-carousel--fit.splide.is-initialized:not(.is-active) .m-carousel__list.splide__list.m-carousel__list--4col {
    grid-template-columns: repeat(1, 1fr);
  }
  @media (min-width: 768px) {
    .m-carousel.m-carousel--fit.splide.is-initialized:not(.is-active) .m-carousel__list.splide__list.m-carousel__list--3col {
      grid-template-columns: repeat(3, 1fr);
    }
    .m-carousel.m-carousel--fit.splide.is-initialized:not(.is-active) .m-carousel__list.splide__list.m-carousel__list--4col {
      grid-template-columns: repeat(4, 1fr);
    }
  }
  .m-carousel.m-carousel--fit.splide.is-initialized:not(.is-active) .m-carousel__controls {
    display: none;
  }
  .m-carousel.m-carousel--fit.splide.is-active .m-carousel__list.splide__list {
    margin-inline-start: -20px !important;
  }
  @media (min-width: 768px) {
    .m-carousel.m-carousel--fit.splide.is-active .m-carousel__list.splide__list {
      margin-inline-start: -40px !important;
    }
  }
  .m-carousel.m-carousel--fit.splide.is-active .m-carousel__list.splide__list .m-carousel__slide.splide__slide {
    inline-size: 241px;
    margin-inline: 10px !important;
  }
  @media (min-width: 768px) {
    .m-carousel.m-carousel--fit.splide.is-active .m-carousel__list.splide__list .m-carousel__slide.splide__slide {
      inline-size: 330px;
      margin-inline: 20px !important;
    }
  }
  @media (scripting: none) {
    .m-carousel.m-carousel--fit.splide .m-carousel__list.splide__list {
      display: grid !important;
      grid-template-columns: 1fr;
      gap: 40px;
    }
  }
  @media (scripting: none) and (min-width: 768px) and (max-width: 1279px) {
    .m-carousel.m-carousel--fit.splide .m-carousel__list.splide__list {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @media (scripting: none) and (min-width: 1280px) {
    .m-carousel.m-carousel--fit.splide .m-carousel__list.splide__list.m-carousel__list--3col {
      grid-template-columns: repeat(3, 1fr);
    }
    .m-carousel.m-carousel--fit.splide .m-carousel__list.splide__list.m-carousel__list--4col {
      grid-template-columns: repeat(4, 1fr);
    }
  }
  /* .m-dialog
  ----------------------------------------------- */
  .m-dialog {
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    padding: 0;
    border: 0;
    background-color: transparent;
    overscroll-behavior: none;
    scrollbar-width: none;
    color: var(--COLOR-FONT);
  }
  .m-dialog::backdrop {
    background: rgba(252, 249, 242, 0.95);
  }
  .m-dialog__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: calc(100% + 1px);
    padding-block: 90px;
    padding-inline: clamp(0.75rem, -2.579rem + 14.2vw, 11.625rem);
  }
  .m-dialog__content {
    display: flex;
    position: relative;
    flex-direction: column;
    width: 100%;
    max-width: 1228px;
    max-height: 100%;
    padding: 48px 20px;
    background-color: var(--COLOR-BASE-WHITE);
    box-shadow: 0 2px 24px 0 rgba(184, 149, 110, 0.2);
  }
  @media (min-width: 768px) {
    .m-dialog__content {
      padding-inline: 80px;
    }
  }
  .m-dialog__body {
    overflow: auto;
  }
  .m-dialog__bodyInner > :first-child {
    margin-block-start: 0 !important;
  }
  .m-dialog__bodyInner > :last-child {
    margin-block-end: 0 !important;
  }
  .m-dialog__closeButton {
    display: inline-flex;
    position: absolute;
    top: 20px;
    right: 20px;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 13px;
    border: 0;
    background-color: transparent;
    padding-inline: 0;
    cursor: pointer;
  }
  @media (min-width: 768px) {
    .m-dialog__closeButton {
      top: 32px;
      right: 32px;
      width: 22px;
      height: 18px;
    }
  }
  .m-dialog__closeButton::before {
    content: "";
    background: url("/assets/wedding/images/icon-close.svg") no-repeat center/contain;
    width: 100%;
    height: 100%;
  }
  .m-dialog__closeButton-text {
    position: absolute !important;
    inline-size: 1px !important;
    block-size: 1px !important;
    overflow: hidden !important;
    clip-path: rect(1px, 1px, 1px, 1px) !important;
  }
  .login .m-dialog::backdrop {
    background: rgba(251, 247, 248, 0.95);
  }
  .login .m-dialog__closeButton::before {
    content: "";
    background: url("/assets/wedding/images/icon-login-close.svg") no-repeat center/contain;
  }
  .login .m-dialog__content {
    box-shadow: 0 2px 24px 0 rgba(149, 128, 78, 0.2);
  }
  /* .m-dialog-video
  ----------------------------------------------- */
  .m-dialog-video {
    margin-block-start: var(--SPACE-XL);
  }
  .m-dialog-video__media {
    position: relative;
    display: table;
    margin: auto;
  }
  .m-dialog-video__mediaItem {
    display: block;
  }
  .m-dialog-video__btn {
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 65px;
    height: 49px;
    background-color: rgba(52, 52, 52, 0.2);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 50%;
    border: 1px solid var(--COLOR-BASE-WHITE);
    z-index: var(--Z-INDEX-1);
    cursor: pointer;
  }
  .m-dialog-video__btn::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    background: url("/assets/wedding/images/icon-movie-play-lg.svg") no-repeat center;
    width: 15px;
    height: 15px;
  }
  @media (min-width: 768px) {
    .m-dialog-video__btn::before {
      width: 24px;
      height: 22px;
    }
  }
  @media (min-width: 768px) {
    .m-dialog-video__btn {
      width: 106px;
      height: 82px;
    }
  }
  .m-dialog-video__btnText {
    position: absolute !important;
    inline-size: 1px !important;
    block-size: 1px !important;
    overflow: hidden !important;
    clip-path: rect(1px, 1px, 1px, 1px) !important;
  }
}
@layer module {
  /* .u-content-mv
  ----------------------------------------------- */
  .u-content-mv {
    overflow-inline: hidden;
  }
  /* .unq-top-mv
  ----------------------------------------------- */
  .u-content-mv__content {
    width: 100%;
    position: relative;
  }
  .u-content-mv__content::before {
    content: "";
    position: absolute;
    background: url(/assets/wedding/top/images/bg-pattern-light.svg) var(--COLOR-BG-TERTIARY);
    inline-size: 100%;
    block-size: 87%;
  }
  .u-content-mv__inner {
    max-width: 1920px;
    margin: auto;
    width: 100%;
  }
  .u-content-mv__media-inner {
    clip-path: ellipse(80% 60% at 50% 40%);
  }
  .u-content-mv__media {
    width: 100%;
    aspect-ratio: 16/9;
    display: block;
  }
  .u-content-mv__btn {
    position: absolute;
    bottom: 70px;
    left: 20px;
    z-index: 250;
    width: 44px;
    height: 33px;
    background-color: rgba(52, 52, 52, 0.2);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 50%;
    border: 1px solid var(--COLOR-BASE-WHITE);
    padding: 13px 20px;
  }
  @media (min-width: 768px) {
    .u-content-mv__btn {
      width: 52px;
      height: 39px;
      bottom: 150px;
      left: 32.5px;
    }
  }
  .u-content-mv__btn::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    background: url("/assets/hotel/images/icon-movie-pause.svg") no-repeat center;
    width: 11px;
    height: 12px;
  }
  .u-content-mv__btn.is-play::before {
    background-image: url("/assets/hotel/images/icon-movie-play.svg");
  }
  @media (scripting: none) {
    .u-content-mv__btn {
      display: none;
    }
  }
  .u-content-mv__btnText {
    position: absolute !important;
    inline-size: 1px !important;
    block-size: 1px !important;
    overflow: hidden !important;
    clip-path: rect(1px, 1px, 1px, 1px) !important;
  }
  @media (min-width: 768px) {
    .u-content-main {
      padding-block-start: 0 !important;
    }
  }
  .u-content-intro {
    background: url("/assets/wedding/top/images/bg-intro.svg") no-repeat center;
    background-size: cover;
    margin-block-start: -50px;
    padding: 111px 20px 340px;
  }
  @media (min-width: 768px) {
    .u-content-intro {
      padding: 417px 80px 400px;
      margin-block-start: -257px;
    }
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .u-content-intro {
      padding: 417px 80px 460px;
    }
  }
  .u-content-intro__inner {
    position: relative;
    margin-inline: auto;
  }
  @media (min-width: 768px) {
    .u-content-intro__inner {
      aspect-ratio: 144/125;
      max-inline-size: 1440px;
    }
  }
  .u-content-intro__text {
    line-height: 2;
    color: #484E58;
    inline-size: 100%;
    font-size: 1rem;
    font-family: var(--FONT-SECONDARY);
  }
  @media (min-width: 768px) {
    .u-content-intro__text {
      inline-size: 70%;
      padding-block-start: 40px;
      font-size: clamp(1rem, 0.769rem + 0.48vw, 1.25rem);
    }
  }
  .u-content-intro__img {
    opacity: 0;
    transition: opacity 1s ease-out;
  }
  .u-content-intro__img--01 {
    inline-size: 100%;
    min-inline-size: 135px;
  }
  .u-content-intro__img--02 {
    inline-size: 65%;
    min-inline-size: 140px;
    max-width: 400px;
    margin-inline-start: 5.3333333333%;
    margin-block-start: 16%;
  }
  .u-content-intro__img--03 {
    inline-size: 80%;
    min-inline-size: 180px;
    margin-block-start: 40px;
  }
  .u-content-intro__img--04 {
    inline-size: 80%;
    grid-column: 1/-1;
    min-inline-size: 280px;
    margin-inline: auto;
    transform: translateX(20px);
    margin-block-start: 35px;
  }
  .u-content-intro__img--05 {
    inline-size: 70%;
    min-inline-size: 110px;
    margin-block-start: 66.6666666667%;
    margin-inline-end: 6.6666666667%;
    margin-inline-start: 13.3333333333%;
  }
  @media (min-width: 768px) {
    .u-content-intro__img {
      position: absolute;
    }
    .u-content-intro__img--01 {
      inset-inline-end: 0;
      inset-block-start: 0;
      inline-size: 27.7777777778%;
      max-inline-size: 400px;
      margin-inline-start: unset;
      margin-block-start: unset;
    }
    .u-content-intro__img--02 {
      inset-inline-start: 36.1111111111%;
      inset-block-start: 20%;
      inline-size: 31.25%;
      max-inline-size: 450px;
      margin-inline-start: unset;
      margin-block-start: unset;
    }
    .u-content-intro__img--03 {
      inset-inline-start: 0%;
      inset-block-start: 30.4%;
      inline-size: 31.25%;
      max-inline-size: 450px;
      margin-inline-start: unset;
      margin-block-start: unset;
    }
    .u-content-intro__img--04 {
      inset-inline-end: 3.125%;
      inset-block-start: 56%;
      inline-size: 41.6666666667%;
      max-inline-size: 600px;
      margin-inline-start: unset;
      margin-block-start: unset;
    }
    .u-content-intro__img--05 {
      inset-inline-start: 18.0555555556%;
      inset-block-start: 80%;
      inline-size: 24.3055555556%;
      max-inline-size: 350px;
      margin-inline-start: unset;
      margin-inline-end: unset;
      margin-block-start: unset;
    }
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .u-content-intro__img--01 {
      inset-block-start: 16%;
    }
    .u-content-intro__img--02 {
      inset-block-start: 36%;
    }
    .u-content-intro__img--03 {
      inset-block-start: 46.4%;
    }
    .u-content-intro__img--04 {
      inset-block-start: 72%;
    }
    .u-content-intro__img--05 {
      inset-block-start: 96%;
    }
  }
  .u-content-intro__img.is-fade {
    opacity: 1;
  }
  .u-content-intro__img-area {
    display: grid;
    grid-template-columns: 3fr 2fr;
    grid-template-rows: auto auto auto;
    margin-block-start: 20px;
  }
  @media (min-width: 768px) {
    .u-content-intro__img-area {
      display: contents;
      margin-block-start: 0;
    }
  }
  .u-content-fair {
    overflow: hidden;
    margin-block-start: -200px;
    opacity: 0;
    transition: all 1s ease-out;
  }
  .u-content-fair .m-card__body {
    background-color: var(--COLOR-BASE-WHITE);
  }
  .u-content-fair .m-card__body::before, .u-content-fair .m-card__body::after {
    content: unset;
  }
  .u-content-fair.is-fade {
    opacity: 1;
    margin-block-start: -260px;
  }
  .u-content-fair__circle {
    background: var(--COLOR-BG-TERTIARY);
    clip-path: ellipse(50% 50% at 50% 50%);
    inline-size: 112%;
    margin-inline-start: -6%;
    block-size: 180px;
    position: relative;
    overflow: hidden;
  }
  .u-content-fair__circle::before {
    position: absolute;
    content: "";
    inset: 0;
    background: url(/assets/wedding/images/bg-pattern-light.svg);
    opacity: 0.2;
  }
  @media (min-width: 768px) {
    .u-content-fair__circle {
      block-size: 460px;
    }
  }
  .u-content-fair__inner {
    inline-size: 112%;
    margin-inline-start: -6%;
    background: var(--COLOR-BG-TERTIARY);
    position: relative;
    overflow: hidden;
    margin-block-start: -137px;
    padding-inline: calc(20px + 6%);
    padding-block: 60px 75px;
  }
  .u-content-fair__inner::before {
    position: absolute;
    content: "";
    inset: 0;
    background: url(/assets/wedding/images/bg-pattern-light.svg);
    opacity: 0.2;
  }
  @media (min-width: 768px) {
    .u-content-fair__inner {
      margin-block-start: -329px;
      padding-block: 20px 160px;
      padding-inline: calc(80px + 6%);
    }
  }
  .u-content-fair__content {
    max-inline-size: 1440px;
    margin-inline: auto;
    transition: opacity 1s ease-out;
    opacity: 0;
    position: relative;
    z-index: 1;
  }
  .u-content-fair__content.is-fade {
    opacity: 1;
  }
  .u-content-fair__title {
    font-family: var(--FONT-EN);
    color: var(--COLOR-BASE-PRIMARY);
    line-height: 1;
    letter-spacing: 1.04px;
    font-weight: 500;
    text-align: center;
  }
  .u-content-fair__title > span {
    color: var(--COLOR-BASE-PRIMARY-2);
    font-weight: var(--FONT-WEIGHT);
    font-family: var(--FONT-EN-ACCENT);
    letter-spacing: 2.72px;
    font-size: 4.25rem;
  }
  @media (min-width: 768px) {
    .u-content-fair__title {
      font-size: 4.5rem;
      letter-spacing: 2.88px;
    }
    .u-content-fair__title > span {
      letter-spacing: 5.12px;
      font-size: 8rem;
    }
  }
  .u-content-fair__subTitle {
    margin-block-start: 8px;
    font-family: var(--FONT-SECONDARY);
    line-height: 1.8;
    letter-spacing: 1px;
    font-weight: var(--FONT-WEIGHT);
    text-align: center;
    font-size: var(--FONT-SIZE-XL);
  }
  .u-content-view {
    background: var(--COLOR-BG-TERTIARY);
    padding-block: 120px;
    padding-inline: 20px;
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .u-content-view::before, .u-content-view::after {
    position: absolute;
    content: "";
    transition: opacity 1s ease-out;
  }
  .u-content-view::before {
    inset: 0;
    background: url(/assets/wedding/images/bg-pattern-light.svg);
    opacity: 0.2;
    z-index: 1;
  }
  .u-content-view::after {
    background: var(--COLOR-BG-TERTIARY);
    width: 100%;
    height: 100%;
    opacity: 1;
  }
  .u-content-view .m-btn-list {
    margin-block-start: 40px;
  }
  @media (min-width: 768px) {
    .u-content-view {
      aspect-ratio: 160/79;
      padding-block: clamp(60px, 7.5vw, 240px);
      padding-inline: clamp(24px, 4vw, 80px);
    }
    .u-content-view .u-content-view__inner {
      max-inline-size: calc(var(--CONTENT-WIDTH) - var(--SPACE-GUTTER-WIDE) * 2);
    }
    .u-content-view .m-btn-list {
      margin-block-start: 64px;
    }
  }
  .u-content-view.is-fade::before, .u-content-view.is-fade::after {
    opacity: 0;
  }
  .u-content-view.is-fade .u-content-view__inner {
    opacity: 1;
  }
  .u-content-view__inner {
    opacity: 0;
  }
  .u-content-view__inner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url(/assets/wedding/top/images/bg-view-sp.webp);
    background-size: cover;
    background-position: center;
    transform: scale(1.5);
    transition: transform 2s ease-out;
  }
  .u-content-view__inner::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.15);
    pointer-events: none;
  }
  @media (min-width: 768px) {
    .u-content-view__inner::before {
      background: url(/assets/wedding/top/images/bg-view-pc.webp);
      background-size: cover;
    }
  }
  .u-content-view__inner.is-fade-01::before {
    transform: scale(1);
  }
  .u-content-view__inner.is-fade-02 .u-content-view__content {
    opacity: 1;
  }
  .u-content-view__content {
    position: relative;
    z-index: 1;
    text-align: center;
    opacity: 0;
    transition: opacity 1s ease-out;
  }
  .u-content-view__title {
    color: var(--COLOR-BG-WHITE);
    font-family: var(--FONT-EN);
    font-weight: var(--FONT-WEIGHT);
    letter-spacing: 2.88px;
    line-height: 1;
    font-size: 1.75rem;
  }
  .u-content-view__title b {
    letter-spacing: 5.12px;
    font-weight: var(--FONT-WEIGHT);
    font-family: var(--FONT-EN-ACCENT);
    font-size: 5rem;
  }
  @media (min-width: 768px) {
    .u-content-view__title {
      font-size: clamp(1.75rem, 1rem + 1.5vw, 4.5rem);
    }
    .u-content-view__title b {
      font-size: clamp(5rem, 2rem + 4vw, 8rem);
    }
  }
  .u-content-view__text {
    color: var(--COLOR-BG-WHITE);
    font-family: var(--FONT-SECONDARY);
    font-weight: var(--FONT-WEIGHT-SEMIBOLD);
    line-height: 2;
    margin-block-start: 8px;
    font-size: 1.125rem;
  }
  @media (min-width: 768px) {
    .u-content-view__text {
      font-size: clamp(1rem, 0.5rem + 1vw, 1.4375rem);
    }
  }
  .u-content-venue {
    background: linear-gradient(224deg, #FFF 13.12%, rgba(236, 223, 201, 0.4) 45.13%, #FFF 63.42%, rgba(236, 223, 201, 0.8) 100%);
  }
  .u-content-venue .m-btn-list {
    margin-block-start: 40px;
    margin-inline: 0;
  }
  .u-content-venue__inner {
    max-inline-size: 1920px;
    margin-inline: auto;
    padding-block: 80px;
  }
  @media (min-width: 768px) {
    .u-content-venue__inner {
      padding-block: 160px;
    }
  }
  .u-content-venue__item {
    display: flex;
    flex-direction: column;
    gap: 40px;
  }
  .u-content-venue__item + .u-content-venue__item {
    margin-block-start: 80px;
  }
  @media (min-width: 768px) {
    .u-content-venue__item {
      flex-direction: row;
      align-items: center;
      gap: 80px;
    }
    .u-content-venue__item + .u-content-venue__item {
      margin-block-start: 80px;
    }
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .u-content-venue__item {
      flex-direction: column;
      align-items: baseline;
    }
  }
  @media (min-width: 768px) {
    .u-content-venue__item--reverse {
      flex-direction: row-reverse;
    }
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .u-content-venue__item--reverse {
      flex-direction: column;
    }
  }
  .u-content-venue__item--reverse .u-content-venue__img {
    margin-inline-start: auto;
  }
  .u-content-venue__item--reverse .u-content-venue__img > img {
    border-radius: 0;
    margin-inline-start: auto;
  }
  .u-content-venue__item--reverse .u-content-venue__content {
    max-width: 560px;
    padding-inline: 32px;
    margin-inline-start: auto;
    margin-inline-end: unset;
  }
  @media (min-width: 768px) {
    .u-content-venue__item--reverse .u-content-venue__content {
      padding-inline-start: 80px;
      padding-inline-end: unset;
    }
  }
  .u-content-venue__item--reverse .u-content-venue__img.is-fade {
    border-radius: 325px 0 0 325px !important;
  }
  .u-content-venue__item.is-fade .u-content-venue__img {
    opacity: 1;
  }
  .u-content-venue__item.is-fade .u-content-venue__img > img {
    transform: scale(1);
  }
  .u-content-venue__item.is-fade .u-content-venue__img.is-fade {
    border-radius: 0 325px 325px 0;
  }
  .u-content-venue__img {
    width: calc(100% - 20px);
    overflow: hidden;
    transition: border-radius 1s ease-out, opacity 1s ease-out;
    opacity: 0;
    border-radius: 0;
    will-change: border-radius;
    backface-visibility: hidden;
  }
  .u-content-venue__img > img {
    transition: transform 1s ease-out;
    transform: scale(1.5);
    overflow: hidden;
  }
  @media (min-width: 768px) {
    .u-content-venue__img {
      width: unset;
    }
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .u-content-venue__img {
      width: 100%;
    }
  }
  .u-content-venue__content {
    width: 100%;
    padding-inline: 20px;
    opacity: 0;
    transition: opacity 1s ease-out;
  }
  @media (min-width: 768px) {
    .u-content-venue__content {
      width: 40%;
      max-width: 560px;
      padding-inline-end: 80px;
      margin-inline-end: auto;
    }
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .u-content-venue__content {
      width: 100%;
      padding-inline: 80px;
      margin-inline: auto;
      max-width: unset;
    }
  }
  .u-content-venue__content.is-fade {
    opacity: 1;
  }
  .u-content-venue__title {
    font-size: 1.625rem;
    font-family: var(--FONT-EN);
    color: var(--COLOR-BASE-PRIMARY);
    font-weight: 500;
    line-height: 1;
    letter-spacing: 1.04px;
  }
  .u-content-venue__title > span {
    font-size: 4.25rem;
    color: var(--COLOR-BASE-PRIMARY-2);
    font-weight: var(--FONT-WEIGHT);
    letter-spacing: 2.72px;
    font-family: var(--FONT-EN-ACCENT);
  }
  @media (min-width: 768px) {
    .u-content-venue__title {
      font-size: 4.5rem;
      letter-spacing: 2.88px;
    }
    .u-content-venue__title > span {
      font-size: 8rem;
      letter-spacing: 5.12px;
    }
  }
  .u-content-venue__subTitle {
    font-size: 1rem;
    font-family: var(--FONT-SECONDARY);
    line-height: 2;
  }
  @media (min-width: 768px) {
    .u-content-venue__subTitle {
      font-size: var(--FONT-SIZE-XL);
      line-height: 1.8;
      margin-block-start: 8px;
    }
  }
  .u-content-venue__read {
    font-family: var(--FONT-SECONDARY);
    margin-block-start: 24px;
    font-size: 1.25rem;
  }
  @media (min-width: 768px) {
    .u-content-venue__read {
      font-size: 2rem;
      line-height: 1.8;
      letter-spacing: 2.56px;
    }
  }
  .u-content-venue__text {
    line-height: 2.2;
    letter-spacing: 1.28px;
  }
  @media (min-width: 768px) {
    .u-content-venue__text {
      margin-block-start: 24px;
    }
  }
  .u-content-pick .m-btn-list {
    margin: 40px 0 0 0;
  }
  .u-content-pick__inner {
    background-color: var(--COLOR-BG-TERTIARY);
    padding-block: 80px;
    padding-inline: 32px;
  }
  @media (min-width: 768px) {
    .u-content-pick__inner {
      padding-block: 160px;
      padding-inline: 80px;
      display: flex;
      align-items: flex-start;
      gap: clamp(40px, (100vw - 768px) / 832 * 80, 80px);
    }
  }
  .u-content-pick__item {
    position: relative;
    padding-block-start: 64px;
    opacity: 0;
    transition: opacity 1s ease-out;
  }
  .u-content-pick__item + .u-content-pick__item {
    padding-block-start: 140px;
  }
  @media (min-width: 768px) {
    .u-content-pick__item {
      width: 50%;
      max-inline-size: 680px;
      padding-block-start: 80px;
      padding-inline: clamp(0px, (100vw - 768px) / 832 * 80, 80px) 0;
      margin-inline: auto 0;
    }
    .u-content-pick__item + .u-content-pick__item {
      padding-block-start: 206px;
      padding-inline: 0 clamp(0px, (100vw - 768px) / 832 * 80, 80px);
      margin-inline: 0 auto;
    }
  }
  .u-content-pick__item.is-fade {
    opacity: 1;
  }
  .u-content-pick__img > img {
    border-radius: 350px 350px 0 0;
    margin: auto;
    inline-size: clamp(311px, 311px + (100vw - 375px) * 289 / 392, 600px);
  }
  @media (min-width: 768px) {
    .u-content-pick__img > img {
      margin: unset;
      inline-size: unset;
    }
  }
  .u-content-pick__subTitle {
    line-height: 2;
    font-size: 1rem;
    font-family: var(--FONT-SECONDARY);
    margin-block-start: 40px;
  }
  @media (min-width: 768px) {
    .u-content-pick__subTitle {
      font-size: 1.25rem;
    }
  }
  .u-content-pick__title {
    font-size: 1.25rem;
    line-height: 2;
    letter-spacing: 1px;
    font-family: var(--FONT-SECONDARY);
  }
  @media (min-width: 768px) {
    .u-content-pick__title {
      font-size: 2rem;
      line-height: 1.8;
      letter-spacing: 2.56px;
    }
  }
  .u-content-pick__text {
    margin-block-start: 24px;
    line-height: 2.2;
    letter-spacing: 1.28px;
  }
  .u-content-pick__decoration {
    position: absolute;
    inset-block-start: -70px;
    inset-inline-start: clamp(0px, (100vw - 375px) / 392 * 100, 100px);
    inline-size: clamp(258px, 258px + (100vw - 375px) * 142 / 392, 400px);
    min-inline-size: 258px;
  }
  .u-content-pick__decoration path {
    opacity: 0;
  }
  .u-content-pick__decoration path.is-fade {
    opacity: 1;
  }
  @media (min-width: 768px) {
    .u-content-pick__decoration {
      inset-block-start: clamp(-30px, (100vw - 768px) / 832 * 30 - 30px, 0px);
      inset-inline-start: clamp(-36px, (100vw - 768px) / 832 * 36 - 36px, 0px);
      inline-size: clamp(50%, 12vw + 30%, 100%);
      aspect-ratio: unset;
      max-inline-size: 386px;
      min-inline-size: unset;
    }
  }
  .u-content-pick__decoration--right {
    inline-size: clamp(220px, 220px + (100vw - 375px) * 142 / 392, 362px);
    min-inline-size: 220px;
    inset-block-start: 20px;
    inset-inline-start: unset;
    inset-inline-end: clamp(0px, (100vw - 375px) / 392 * 60, 60px);
  }
  @media (min-width: 768px) {
    .u-content-pick__decoration--right {
      max-inline-size: 376px;
      min-inline-size: unset;
      inset-block-start: 80px;
      inset-inline-start: unset;
      inset-inline-end: clamp(0px, (100vw - 768px) / 832 * 50, 50px);
      inline-size: clamp(50%, 12vw + 30%, 100%);
    }
  }
  .u-content-style {
    padding: 80px var(--SPACE-GUTTER);
    overflow-inline: hidden;
    background-image: url(/assets/wedding/top/images/bg-style-sp.svg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .u-content-style {
      padding-inline: clamp(2.5rem, -8.772rem + 23.48vw, 10rem);
    }
  }
  @media (min-width: 768px) {
    .u-content-style {
      padding: 120px var(--SPACE-GUTTER);
      background-image: url(/assets/wedding/top/images/bg-style-pc.svg);
    }
  }
  .u-content-style .m-text {
    margin-block-start: 8px;
  }
  .u-content-style .m-card__body-inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
  }
  .u-content-style .m-card__link {
    margin-block-start: 24px !important;
  }
  .u-content-style__inner {
    margin-inline: auto;
  }
  @media (1600px <= width) {
    .u-content-style__inner {
      max-inline-size: calc(var(--CONTENT-WIDTH) - var(--SPACE-GUTTER-WIDE) * 2);
    }
  }
  .u-content-style__title {
    font-family: var(--FONT-EN);
    color: var(--COLOR-BASE-PRIMARY);
    line-height: 1;
    letter-spacing: 1.04px;
    font-weight: 500;
    text-align: center;
  }
  .u-content-style__title > span {
    color: var(--COLOR-BASE-PRIMARY-2);
    font-weight: var(--FONT-WEIGHT);
    font-family: var(--FONT-EN-ACCENT);
    letter-spacing: 2.72px;
    font-size: 4.25rem;
  }
  @media (min-width: 768px) {
    .u-content-style__title {
      font-size: 4.5rem;
      letter-spacing: 2.88px;
    }
    .u-content-style__title > span {
      letter-spacing: 5.12px;
      font-size: 8rem;
    }
  }
  .u-content-style__subTitle {
    margin-block-start: 8px;
    font-family: var(--FONT-SECONDARY);
    line-height: 1.8;
    letter-spacing: 1px;
    font-weight: var(--FONT-WEIGHT);
    text-align: center;
    font-size: var(--FONT-SIZE-XL);
  }
  .u-content-style__card-title {
    font-family: var(--FONT-EN);
    color: var(--COLOR-BASE-PRIMARY);
    font-size: 1.625rem;
    line-height: 2;
    letter-spacing: 1.3px;
    font-weight: 500;
  }
  @media (min-width: 768px) {
    .u-content-style__card-title {
      font-size: 2.25rem;
      letter-spacing: 1.8px;
    }
  }
  .u-content-news {
    background-color: var(--COLOR-BG-TERTIARY);
    padding: 80px var(--SPACE-GUTTER);
  }
  @media (min-width: 768px) {
    .u-content-news {
      padding: 160px var(--SPACE-GUTTER);
    }
  }
  .u-content-news__inner {
    margin-inline: auto;
    display: flex;
    gap: 40px;
    flex-direction: column;
  }
  @media (min-width: 768px) {
    .u-content-news__inner {
      gap: 80px;
      flex-direction: row;
      max-inline-size: 1280px;
    }
  }
  .u-content-news__title {
    width: 100%;
    text-align: center;
  }
  .u-content-news__title h2 {
    font-size: 2rem;
    font-family: var(--FONT-EN);
    color: var(--COLOR-BASE-PRIMARY);
    font-weight: 500;
    line-height: 1;
    letter-spacing: 1.28px;
  }
  @media (min-width: 768px) {
    .u-content-news__title {
      width: 23%;
      text-align: left;
    }
    .u-content-news__title h2 {
      font-size: 4.5rem;
      letter-spacing: 4.32px;
    }
  }
  .u-content-news__news {
    flex: 1;
  }
  .u-content-news__subTitle {
    font-family: var(--FONT-SECONDARY);
    font-size: var(--FONT-SIZE-XL);
    line-height: 1.8;
    margin-block-start: 8px;
  }
  .u-content-news__news-list {
    margin: 0;
  }
  .u-content-news__news-item {
    border-block-end: 1px solid #ddd;
  }
  .u-content-news__news-item:first-child .u-content-news__link {
    padding-block-start: 0;
  }
  .u-content-news__news-item time {
    font-family: var(--FONT-SECONDARY);
    color: var(--COLOR-BASE-PRIMARY);
    font-size: var(--FONT-SIZE-LG);
    line-height: 2;
    letter-spacing: 0.8px;
  }
  .u-content-news__news-item > p {
    letter-spacing: 1.28px;
    line-height: 1.8;
    margin-block-start: 12px;
  }
  .u-content-news__view {
    text-align: right;
    margin-block-start: 20px;
  }
  @media (min-width: 768px) {
    .u-content-news__view {
      margin-block-start: 24px;
    }
  }
  .u-content-news__link {
    transition: all 0.6s ease-out;
    padding-block: 16px;
    display: block;
  }
  @media (min-width: 768px) {
    .u-content-news__link {
      padding-block: 24px;
    }
  }
  @media only screen and (any-hover: hover) {
    .u-content-news__link:focus, .u-content-news__link:focus-visible, .u-content-news__link:hover {
      opacity: 0.5;
    }
  }
  .login .u-content-news__news-item time {
    color: var(--COLOR-BASE-PRIMARY-2);
  }
  .u-content-reports {
    padding: 80px var(--SPACE-GUTTER);
    overflow: hidden;
  }
  @media (min-width: 768px) {
    .u-content-reports {
      padding: 160px var(--SPACE-GUTTER);
    }
  }
  .u-content-reports__inner {
    margin-inline: auto;
  }
  @media (min-width: 768px) {
    .u-content-reports__inner {
      gap: 80px;
      flex-direction: ROW;
      max-inline-size: 1280px;
    }
  }
  .u-content-reports__title {
    font-family: var(--FONT-EN);
    color: var(--COLOR-BASE-PRIMARY);
    line-height: 1;
    letter-spacing: 1.04px;
    font-weight: 500;
    text-align: center;
  }
  .u-content-reports__title > span {
    color: var(--COLOR-BASE-PRIMARY-2);
    font-weight: var(--FONT-WEIGHT);
    font-family: var(--FONT-EN-ACCENT);
    letter-spacing: 2.72px;
    font-size: 4.25rem;
  }
  @media (min-width: 768px) {
    .u-content-reports__title {
      font-size: 4.5rem;
      letter-spacing: 2.88px;
    }
    .u-content-reports__title > span {
      letter-spacing: 5.12px;
      font-size: 8rem;
    }
  }
  .u-content-reports__subTitle {
    margin-block-start: 8px;
    font-family: var(--FONT-SECONDARY);
    line-height: 1.8;
    letter-spacing: 1px;
    font-weight: var(--FONT-WEIGHT);
    text-align: center;
    font-size: var(--FONT-SIZE-XL);
  }
  .u-content-instagram {
    padding: 80px var(--SPACE-GUTTER);
    background-color: var(--COLOR-BG-TERTIARY);
  }
  @media (min-width: 768px) {
    .u-content-instagram {
      padding: 160px var(--SPACE-GUTTER);
    }
  }
  .u-content-instagram__inner {
    margin-inline: auto;
  }
  @media (min-width: 768px) {
    .u-content-instagram__inner {
      max-inline-size: 1280px;
    }
  }
  .u-content-instagram__img {
    position: relative;
  }
  .u-content-instagram__img > picture {
    display: flex;
    justify-content: center;
  }
  .u-content-instagram__img::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #575757;
    opacity: 0;
    transition: all 0.6s ease-out;
  }
  @media only screen and (any-hover: hover) {
    .u-content-instagram__img:focus::before, .u-content-instagram__img:focus-visible::before, .u-content-instagram__img:hover::before {
      opacity: 0.5;
    }
  }
  .u-content-instagram__title {
    position: absolute;
    color: var(--COLOR-BG-WHITE);
    font-size: 4rem;
    font-weight: var(--FONT-WEIGHT);
    line-height: 1.4;
    z-index: 1;
    inset-block-start: 45%;
    inset-inline-start: 50%;
    transform: translate(-50%, -45%);
    font-family: var(--FONT-EN-ACCENT);
    letter-spacing: 3.2px;
    min-inline-size: 240px;
  }
  .u-content-instagram__title > span {
    font-size: 4rem;
    font-family: var(--FONT-EN-ACCENT);
  }
  @media (min-width: 768px) {
    .u-content-instagram__title {
      font-size: 5rem;
      font-family: var(--FONT-EN);
      letter-spacing: 8px;
      min-inline-size: 454px;
    }
    .u-content-instagram__title > span {
      font-size: 8rem;
      letter-spacing: 12.8px;
    }
  }
  .u-inline-block {
    display: inline-block;
  }
  @media (max-width: 767px) {
    .u-inline-block-sp {
      display: inline-block;
    }
  }
  .u-content {
    padding: 80px 20px 320px;
    background-color: #fff8e6;
  }
  @media (min-width: 768px) {
    .u-content {
      padding: 80px 160px 280px;
    }
  }
  .u-content__inner {
    max-inline-size: 1278px;
    margin-inline: auto;
    text-align: center;
  }
  .u-content__title {
    font-size: 1.625rem;
    font-weight: var(--FONT-WEIGHT-MEDIUM);
    font-family: var(--FONT-EN);
    color: var(--COLOR-BASE-PRIMARY);
    line-height: 1;
  }
  .u-content__title > span {
    color: var(--COLOR-BASE-PRIMARY-2);
    font-weight: var(--FONT-WEIGHT);
    font-family: var(--FONT-EN-ACCENT);
    font-size: 4.25rem;
  }
  @media (min-width: 768px) {
    .u-content__title {
      font-size: 4.5rem;
    }
    .u-content__title > span {
      font-size: 8rem;
    }
  }
  .u-content__subTitle {
    line-height: 1.8;
    font-size: var(--FONT-SIZE-XL);
    font-family: var(--FONT-SECONDARY);
    margin-block-start: 8px;
  }
  .u-content__text {
    line-height: 1.8;
    font-size: var(--FONT-SIZE-LG);
    font-family: var(--FONT-SECONDARY);
    margin-block-start: 16px;
  }
  @media (min-width: 768px) {
    .u-content__text {
      margin-block-start: 32px;
    }
  }
  .u-content__btn {
    background-color: var(--COLOR-BG-WHITE);
    color: var(--COLOR-BASE-PRIMARY);
    font-family: var(--FONT-SECONDARY);
    line-height: 1.8;
    font-weight: var(--FONT-WEIGHT);
    font-size: var(--FONT-SIZE-XL);
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    letter-spacing: 0;
    transition: all 0.6s ease-out;
  }
  .u-content__btn > svg {
    inline-size: 20px;
    min-inline-size: 20px;
    block-size: 20px;
    min-block-size: 20px;
  }
  .u-content__btn > svg path,
  .u-content__btn > svg rect {
    transition: all 0.6s ease-out;
  }
  .u-content__btn > span {
    display: grid;
  }
  @media (min-width: 768px) {
    .u-content__btn {
      padding: 24px 80px;
    }
    .u-content__btn > svg {
      inline-size: 32px;
      min-inline-size: 32px;
      block-size: 32px;
      min-block-size: 32px;
    }
    .u-content__btn > span {
      display: unset;
    }
  }
  @media only screen and (any-hover: hover) {
    .u-content__btn:focus, .u-content__btn:focus-visible, .u-content__btn:hover {
      background-color: var(--COLOR-BASE-PRIMARY);
      color: var(--COLOR-BASE-WHITE);
    }
    .u-content__btn:focus > svg path,
    .u-content__btn:focus > svg rect, .u-content__btn:focus-visible > svg path,
    .u-content__btn:focus-visible > svg rect, .u-content__btn:hover > svg path,
    .u-content__btn:hover > svg rect {
      stroke: var(--COLOR-BASE-WHITE);
    }
  }
  .u-content__btn-subText {
    font-size: 1.125rem;
    display: inline-block;
  }
  @media (min-width: 768px) {
    .u-content__btn-subText {
      font-size: 1rem;
    }
  }
  .u-content__list {
    display: flex;
    justify-content: center;
    gap: 32px;
    flex-direction: column;
    margin-block: 40px 0;
    align-items: center;
  }
  @media (min-width: 768px) {
    .u-content__list {
      flex-direction: row;
      align-items: unset;
    }
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .u-content__list {
      flex-direction: column;
      align-items: center;
    }
  }
  .u-content__list-item {
    width: 100%;
    max-inline-size: 531px;
  }
  .u-content__list-item > p {
    margin-block-start: 16px;
    line-height: 2;
    font-weight: var(--FONT-WEIGHT);
    font-size: var(--FONT-SIZE-XL);
    letter-spacing: 0;
    font-family: var(--FONT-SECONDARY);
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .u-content__list-item {
      width: 100%;
    }
  }
  .u-content-fair-includes .l-content--circle-up {
    padding-block-start: var(--SPACE-6XL);
    padding-inline: clamp(2.5rem, -8.772rem + 23.48vw, 10rem);
  }
  .u-content-fair-includes .l-content--circle-up::before, .u-content-fair-includes .l-content--circle-up::after {
    content: none;
  }
  @media (min-width: 768px) {
    .u-content-fair-includes .l-content--circle-up {
      padding: var(--SPACE-6XL) var(--SPACE-GUTTER);
      padding-block-start: var(--SPACE-6XL);
    }
  }
  .u-content-fair-includes .l-content--circle-up:has(+ .u-content-fair-includes__item) {
    padding-block-end: 0;
  }
  .u-content-fair-includes__item {
    display: none;
    padding-block: 48px var(--SPACE-6XL);
    background-color: var(--COLOR-BG-TERTIARY);
  }
  .l-content--circle-up + .u-content-fair-includes__item {
    display: block;
  }
  @media (min-width: 768px) {
    .u-content-fair-includes__item {
      padding-block: 80px var(--SPACE-6XL);
    }
  }
  .u-content-fair-includes__inner {
    max-inline-size: 1280px;
    inline-size: 100%;
    margin-inline: auto;
  }
  .u-content-fair-includes__inner > * {
    margin-block-start: 0;
  }
  .u-reservation-content {
    background-color: var(--COLOR-BASE-SECONDARY);
    position: relative;
    padding: 64px var(--SPACE-GUTTER);
  }
  .u-reservation-content::before {
    position: absolute;
    content: "";
    inset: 0;
    background: url(/assets/wedding/images/bg-pattern-light.svg);
    opacity: 0.2;
  }
  @media (min-width: 768px) {
    .u-reservation-content {
      padding: var(--SPACE-GUTTER) 128px;
    }
  }
  .u-reservation-content__inner {
    z-index: 1;
    position: relative;
    max-inline-size: 1344px;
    margin-inline: auto;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 40px;
    display: flex;
    flex-direction: column;
  }
  @media (min-width: 768px) {
    .u-reservation-content__inner {
      display: flex;
      flex-direction: row;
      text-align: left;
      gap: 8px;
    }
  }
  @media (min-width: 768px) and (max-width: 1279px) {
    .u-reservation-content__inner {
      flex-direction: column;
      text-align: center;
      gap: 40px;
    }
  }
  .u-reservation-content__title > h2 {
    color: var(--COLOR-BG-WHITE);
    font-family: var(--FONT-EN);
    font-size: 1.625rem;
    line-height: 1;
    font-weight: var(--FONT-WEIGHT);
  }
  .u-reservation-content__title > h2 > span {
    font-family: var(--FONT-EN-ACCENT);
    font-weight: var(--FONT-WEIGHT);
    font-size: 4.25rem;
  }
  @media (min-width: 768px) {
    .u-reservation-content__title > h2 {
      font-size: 4.5rem;
    }
    .u-reservation-content__title > h2 > span {
      font-size: 8rem;
      font-weight: var(--FONT-WEIGHT-MEDIUM);
    }
  }
  .u-reservation-content__text {
    color: var(--COLOR-BG-WHITE);
    font-weight: var(--FONT-WEIGHT);
    margin-block-start: 8px;
    font-family: var(--FONT-SECONDARY);
    line-height: 2;
    font-size: 1.125rem;
  }
  .u-reservation-content__text + .u-reservation-content__text {
    margin-block-start: 16px;
    font-size: 1rem;
  }
  @media (min-width: 768px) {
    .u-reservation-content__text {
      font-size: 1.25rem;
    }
    .u-reservation-content__text + .u-reservation-content__text {
      font-size: 1.125rem;
    }
  }
  .u-reservation-content__btn {
    flex: 1;
  }
}
@layer utility {
  .u-block {
    display: block !important;
  }
  @media (min-width: 768px) {
    .u-block-pc {
      display: block !important;
    }
  }
  @media (max-width: 767px) {
    .u-block-sp {
      display: block !important;
    }
  }
  .u-display--sp {
    display: block !important;
  }
  @media (min-width: 768px) {
    .u-display--sp {
      display: none !important;
    }
  }
  .u-display--pc {
    display: none !important;
  }
  @media (min-width: 768px) {
    .u-display--pc {
      display: block !important;
    }
  }
  .u-display-inline--sp {
    display: inline-block !important;
  }
  @media (min-width: 768px) {
    .u-display-inline--sp {
      display: none !important;
    }
  }
  .u-display-inline--pc {
    display: none !important;
  }
  @media (min-width: 768px) {
    .u-display-inline--pc {
      display: inline-block !important;
    }
  }
  .u-fw-normal {
    font-weight: var(--FONT-WEIGHT) !important;
  }
  .u-fw-semibold {
    font-weight: var(--FONT-WEIGHT-SEMIBOLD) !important;
  }
  .u-fw-bold {
    font-weight: var(--FONT-WEIGHT-BOLD) !important;
  }
  .u-ta-left {
    text-align: left !important;
  }
  @media (min-width: 768px) {
    .u-ta-left-pc {
      text-align: left !important;
    }
  }
  @media (max-width: 767px) {
    .u-ta-left-sp {
      text-align: left !important;
    }
  }
  .u-ta-center {
    text-align: center !important;
  }
  @media (min-width: 768px) {
    .u-ta-center-pc {
      text-align: center !important;
    }
  }
  @media (max-width: 767px) {
    .u-ta-center-sp {
      text-align: center !important;
    }
  }
  .u-ta-right {
    text-align: right !important;
  }
  @media (min-width: 768px) {
    .u-ta-right-pc {
      text-align: right !important;
    }
  }
  @media (max-width: 767px) {
    .u-ta-right-sp {
      text-align: right !important;
    }
  }
  .u-va-top {
    vertical-align: top !important;
  }
  .u-va-middle {
    vertical-align: middle !important;
  }
  .u-va-bottom {
    vertical-align: bottom !important;
  }
  .u-visually-hidden {
    position: absolute !important;
    inline-size: 1px !important;
    block-size: 1px !important;
    overflow: hidden !important;
    clip-path: rect(1px, 1px, 1px, 1px) !important;
  }
  .u-w-1 {
    inline-size: 1% !important;
  }
  .u-w-2 {
    inline-size: 2% !important;
  }
  .u-w-3 {
    inline-size: 3% !important;
  }
  .u-w-4 {
    inline-size: 4% !important;
  }
  .u-w-5 {
    inline-size: 5% !important;
  }
  .u-w-6 {
    inline-size: 6% !important;
  }
  .u-w-7 {
    inline-size: 7% !important;
  }
  .u-w-8 {
    inline-size: 8% !important;
  }
  .u-w-9 {
    inline-size: 9% !important;
  }
  .u-w-10 {
    inline-size: 10% !important;
  }
  .u-w-11 {
    inline-size: 11% !important;
  }
  .u-w-12 {
    inline-size: 12% !important;
  }
  .u-w-13 {
    inline-size: 13% !important;
  }
  .u-w-14 {
    inline-size: 14% !important;
  }
  .u-w-15 {
    inline-size: 15% !important;
  }
  .u-w-16 {
    inline-size: 16% !important;
  }
  .u-w-17 {
    inline-size: 17% !important;
  }
  .u-w-18 {
    inline-size: 18% !important;
  }
  .u-w-19 {
    inline-size: 19% !important;
  }
  .u-w-20 {
    inline-size: 20% !important;
  }
  .u-w-21 {
    inline-size: 21% !important;
  }
  .u-w-22 {
    inline-size: 22% !important;
  }
  .u-w-23 {
    inline-size: 23% !important;
  }
  .u-w-24 {
    inline-size: 24% !important;
  }
  .u-w-25 {
    inline-size: 25% !important;
  }
  .u-w-26 {
    inline-size: 26% !important;
  }
  .u-w-27 {
    inline-size: 27% !important;
  }
  .u-w-28 {
    inline-size: 28% !important;
  }
  .u-w-29 {
    inline-size: 29% !important;
  }
  .u-w-30 {
    inline-size: 30% !important;
  }
  .u-w-31 {
    inline-size: 31% !important;
  }
  .u-w-32 {
    inline-size: 32% !important;
  }
  .u-w-33 {
    inline-size: 33% !important;
  }
  .u-w-34 {
    inline-size: 34% !important;
  }
  .u-w-35 {
    inline-size: 35% !important;
  }
  .u-w-36 {
    inline-size: 36% !important;
  }
  .u-w-37 {
    inline-size: 37% !important;
  }
  .u-w-38 {
    inline-size: 38% !important;
  }
  .u-w-39 {
    inline-size: 39% !important;
  }
  .u-w-40 {
    inline-size: 40% !important;
  }
  .u-w-41 {
    inline-size: 41% !important;
  }
  .u-w-42 {
    inline-size: 42% !important;
  }
  .u-w-43 {
    inline-size: 43% !important;
  }
  .u-w-44 {
    inline-size: 44% !important;
  }
  .u-w-45 {
    inline-size: 45% !important;
  }
  .u-w-46 {
    inline-size: 46% !important;
  }
  .u-w-47 {
    inline-size: 47% !important;
  }
  .u-w-48 {
    inline-size: 48% !important;
  }
  .u-w-49 {
    inline-size: 49% !important;
  }
  .u-w-50 {
    inline-size: 50% !important;
  }
  .u-w-100 {
    inline-size: 100% !important;
  }
  .u-w-95 {
    inline-size: 95% !important;
  }
  .u-w-90 {
    inline-size: 90% !important;
  }
  .u-w-85 {
    inline-size: 85% !important;
  }
  .u-w-80 {
    inline-size: 80% !important;
  }
  .u-w-75 {
    inline-size: 75% !important;
  }
  .u-w-70 {
    inline-size: 70% !important;
  }
  .u-w-65 {
    inline-size: 65% !important;
  }
  .u-w-60 {
    inline-size: 60% !important;
  }
  .u-w-55 {
    inline-size: 55% !important;
  }
  .u-w-100-3 {
    inline-size: 33.3333333333% !important;
  }
  .u-w-100-6 {
    inline-size: 16.6666666667% !important;
  }
  .u-border-right {
    border-inline-end: 1px solid var(--COLOR-BORDER-PRIMARY) !important;
  }
}
