@charset "UTF-8";
/* dependencies */
/* ======================== */
@import url("https://fonts.googleapis.com/css2?family=EB+Garamond&family=Noto+Sans:wght@500&family=Noto+Serif+JP:wght@500;700&display=swap");
/*!
 Splide is released under MIT license. © 2022 Naotoshi Fujita
*/
@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  backface-visibility: hidden;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

/* scripts */
/* ======================== */
/*!
v1.0.0
Last Updated: 2024-02-13T12:39:02.801Z
Author: "vivace" (https://vivace-inc.co.jp/)
Contributors: "cocotte code" <hello@cocottecode.jp> (https://cocottecode.jp/)
*/
/*





*/
@layer behavior, component, utility, override;
@layer behavior {
  :where(body) {
    margin: 0;
    line-height: 1;
  }
  :where(h1, h2, h3, h4, h5, h6) {
    font-size: inherit;
    font-weight: inherit;
    margin-block: 0;
  }
  :where(p) {
    margin-block: 0;
  }
  :where(blockquote, figure, hr) {
    margin-block: 0;
    margin-inline: 0;
  }
  :where(table) {
    border-spacing: 0;
    font-size: inherit;
    font-style: inherit;
    text-indent: initial;
    line-height: inherit;
    font-variant: inherit;
    color: inherit;
    white-space: inherit;
  }
  :where(td, th) {
    vertical-align: inherit;
    padding: 0;
  }
  :where(th) {
    font-weight: inherit;
  }
  :where(caption) {
    text-align: inherit;
  }
  :where(ul, menu, ol) {
    list-style-type: none;
    margin-block: 0;
    padding-block-start: 0;
    padding-inline-start: 0;
    counter-reset: list-item;
  }
  :where(dl) {
    margin-block: 0;
  }
  :where(dd) {
    margin-inline-start: 0;
  }
  :where(form) {
    margin-top: 0;
  }
  :where(fieldset) {
    -webkit-margin-start: 0;
    -webkit-margin-end: 0;
    margin-inline: 0;
    padding-block: 0;
    padding-inline: 0;
  }
  :where(legend) {
    -webkit-padding-start: 0;
    -webkit-padding-end: 0;
    padding-inline: 0;
  }
  :where(ins) {
    text-decoration: inherit;
  }
  :where(strong, b) {
    font-weight: inherit;
    text-decoration: inherit;
  }
  :where(i, cite, em, var, address, dfn) {
    font-style: inherit;
  }
  code, kbd, samp {
    font-family: monospace;
  }
  :where(pre, plaintext) {
    margin-top: 0;
    margin-bottom: 0;
    white-space: pre;
  }
  :where(mark) {
    background-color: transparent;
    color: inherit;
  }
  :where(small) {
    font-size: inherit;
  }
  :where(s, del) {
    text-decoration: none;
  }
  /* states */
  :where(a:any-link) {
    color: inherit;
    text-decoration: inherit;
  }
  :where(a:any-link:active) {
    color: inherit;
  }
  :where(iframe) {
    border-width: 0;
    border-style: none;
  }
}
@layer behavior {
  :root {
    --font-size-root: 16px;
    --width-scrollbar: 0px;
    --width-body: calc(100vw - var(--width-scrollbar));
    --color-black: #363230;
    --color-gray: #707070;
    --color-white: #FFFFFF;
    --color-k1: #F5F1EC;
    --color-k2: #625B53;
  }
}
@layer behavior {
  @keyframes ani-marquee {
    from {
      translate: 0 0;
    }
    to {
      translate: -50% 0;
    }
  }
}
@layer behavior {
  html {
    font-size: var(--font-size-root, 16px);
    scroll-behavior: smooth;
  }
  body {
    font-family: "Noto Sans", sans-serif;
    font-weight: 500;
    font-size: 0.625rem;
    line-height: 1;
    letter-spacing: 0;
    overflow-x: hidden;
    overflow-y: auto;
    position: relative;
  }
  small,
  i {
    font-style: inherit;
  }
  img {
    user-select: none;
  }
  [lang=en][translate=no] {
    user-select: none;
  }
  mark {
    background-color: transparent;
    color: inherit;
  }
  b, strong {
    font-weight: inherit;
  }
  @media screen and (width <= 425px) {
    [id^=S-]:target,
    [id^=T-]:target {
      scroll-margin-block: calc(0.16 * var(--width-body));
    }
  }
  @media (425px < width) {
    [id^=S-]:target,
    [id^=T-]:target {
      scroll-margin-block: max(0.046875 * var(--width-body), 60px);
    }
  }
  @media (1280px < width) {
    [id^=S-]:target,
    [id^=T-]:target {
      scroll-margin-block: calc(0.046875 * var(--width-body));
    }
  }
}
@layer component {
  .e-button {
    display: inline-flex;
    flex-flow: row nowrap;
    align-items: center;
    gap: 0 1em;
    border: solid 1px var(--color-ln, #363230);
    padding: 0.5333333333em 1.0666666667em;
    background-color: var(--color-bg, transparent);
    color: var(--color-tx, #363230);
  }
  @media (425px < width) {
    .e-button {
      transition: opacity 0.2s;
      opacity: 1;
    }
  }
  .e-button::after {
    content: "";
    display: inline-block;
    aspect-ratio: 11.945/16.691;
    height: 1em;
    background-color: var(--color-tx, #363230);
    mask: url("../img/cmn_button-mark_1.svg") no-repeat center center/contain;
    -webkit-mask: url("../img/cmn_button-mark_1.svg") no-repeat center center/contain;
  }
  @media (425px < width) {
    .e-button:is(a):hover {
      transition-duration: 0.4s;
      opacity: 0.8;
    }
  }
  @media (425px < width) {
    a:hover .e-button {
      transition-duration: 0.4s;
      opacity: 0.8;
    }
  }
}
@layer component {
  .e-panel {
    display: block;
  }
  .e-panel_frame {
    display: grid;
    grid-template-rows: repeat(2, auto) 1fr auto;
  }
  .e-panel_title {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
  }
  @media screen and (width <= 425px) {
    .e-panel_title {
      font-size: calc(0.048 * var(--width-body));
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .e-panel_title {
      font-size: 2.0454545455cqw;
      line-height: 1.3333333333;
    }
  }
  .e-panel_description {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
  }
  @media screen and (width <= 425px) {
    .e-panel_description {
      font-size: calc(0.048 * var(--width-body));
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .e-panel_description {
      font-size: 2.0454545455cqw;
      line-height: 1.3333333333;
    }
  }
  .e-panel_image {
    aspect-ratio: 1;
    overflow: hidden;
    grid-row: 1/2;
  }
  @media screen and (width <= 425px) {
    .e-panel_image {
      margin-bottom: calc(0.04 * var(--width-body));
    }
  }
  @media (425px < width) {
    .e-panel_image {
      margin-bottom: 1.7045454545cqw;
    }
  }
  .e-panel_image :where(img) {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  @media (425px < width) {
    .e-panel_image :where(img) {
      transition: scale 0.3s ease-in;
      scale: 1;
    }
  }
  @media (425px < width) {
    .e-panel:hover :where(.e-panel_image img) {
      transition-duration: 0.5s;
      transition-timing-function: ease-out;
      scale: 1.1;
    }
  }
  .e-panel_footer {
    font-weight: 500;
  }
  @media screen and (width <= 425px) {
    .e-panel_footer {
      font-size: calc(0.04 * var(--width-body));
      margin-top: 0.6666666667em;
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .e-panel_footer {
      font-size: 1.7045454545cqw;
      margin-top: 0.6666666667em;
      line-height: 1.3333333333;
    }
  }
}
@layer component {
  @media screen and (width <= 425px) {
    .e-edit {
      font-size: calc(0.048 * var(--width-body));
    }
  }
  @media (425px < width) {
    .e-edit {
      font-size: 2.0454545455cqw;
    }
  }
  .e-edit :where(p) {
    font-weight: 400;
  }
  @media screen and (width <= 425px) {
    .e-edit :where(p) {
      margin-top: 1.6666666667em;
      margin-bottom: 1.6666666667em;
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .e-edit :where(p) {
      margin-top: 1.6666666667em;
      margin-bottom: 1.6666666667em;
      line-height: 1.3333333333;
    }
  }
  .e-edit :where(p):first-child {
    margin-top: 0;
  }
  .e-edit :where(p):last-child {
    margin-bottom: 0;
  }
  @media screen and (width <= 425px) {
    .e-edit :where(figure) {
      margin-top: 7.7777777778em;
      margin-bottom: 1.6666666667em;
    }
  }
  @media (425px < width) {
    .e-edit :where(figure) {
      margin-top: 4.4444444444em;
      margin-bottom: 1.6666666667em;
    }
  }
  .e-edit :where(figure):first-child {
    margin-top: 0;
  }
  .e-edit :where(figure):last-child {
    margin-bottom: 0;
  }
  .e-edit :where(figure img) {
    max-width: 100%;
    height: auto;
    vertical-align: top;
  }
}
@layer component {
  .f-body-init {
    overflow-y: scroll;
    height: 100vh;
    background-image: none;
    background-color: #F5F1EC;
  }
  .f-body-init :where(.f-page) {
    overflow: hidden;
    height: 100vh;
    height: 100dvh;
  }
  .f-page {
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: auto 1fr auto;
    grid-template-areas: "ga-header" "ga-main" "ga-footer";
    min-height: 100dvh;
  }
  .f-cover {
    grid-area: 1/1/span 3/2;
    display: grid;
    grid-template: 1fr/1fr;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    position: sticky;
    inset: 0;
    z-index: 20;
    opacity: 0;
  }
  .f-cover-on, .f-cover:target, .f-cover:has(.f-cover_item:target) {
    opacity: 1;
  }
}
@layer component {
  .f-header {
    grid-area: ga-header;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    position: sticky;
    top: 0;
    z-index: 11;
    background-color: rgba(245, 241, 236, 0.85);
  }
  @media screen and (width <= 425px) {
    .f-header {
      height: calc(0.16 * var(--width-body));
      padding-left: calc(0.08 * var(--width-body));
      padding-right: calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .f-header {
      height: max(0.046875 * var(--width-body), 60px);
      padding-left: calc(0.0390625 * var(--width-body));
      padding-right: calc(0.0390625 * var(--width-body));
    }
  }
  @media (1280px < width) {
    .f-header {
      height: calc(0.046875 * var(--width-body));
    }
  }
  .f-header_logo {
    position: relative;
    aspect-ratio: 152/38;
  }
  @media screen and (width <= 425px) {
    .f-header_logo {
      width: calc(0.4053333333 * var(--width-body));
    }
  }
  @media (425px < width) {
    .f-header_logo {
      width: min(0.1591623037 * var(--width-body), 152px);
    }
  }
  @media (1280px < width) {
    .f-header_logo {
      width: calc(0.11875 * var(--width-body));
    }
  }
  .f-header_logo :where(a) {
    display: block;
    width: 100%;
    height: 100%;
    background-color: #363230;
    mask: url("../img/cmn_header-logo.svg") no-repeat center center/contain;
    -webkit-mask: url("../img/cmn_header-logo.svg") no-repeat center center/contain;
  }
  .f-header :where(menu) {
    font-family: "EB Garamond", serif;
    font-weight: 400;
    text-transform: uppercase;
  }
  @media (425px < width) {
    .f-header :where(menu) {
      font-size: min(0.0157068063 * var(--width-body), 15px);
      display: flex;
      flex-flow: row nowrap;
      align-items: center;
      justify-content: flex-end;
      gap: 0 1.4666666667em;
    }
  }
  @media (1280px < width) {
    .f-header :where(menu) {
      font-size: calc(0.01171875 * var(--width-body));
    }
  }
  @media screen and (width <= 425px) {
    .f-header :where(menu > li:not(:has(button))) {
      display: none;
    }
  }
  .f-header :where(button) {
    all: unset;
    display: block;
    aspect-ratio: 1;
    position: relative;
    overflow: hidden;
    white-space: nowrap;
    text-indent: 100%;
    cursor: pointer;
  }
  @media (425px < width) {
    .f-header :where(button) {
      width: min(0.0418848168 * var(--width-body), 40px);
    }
  }
  @media (1280px < width) {
    .f-header :where(button) {
      width: calc(0.03125 * var(--width-body));
    }
  }
  .f-header :where(button)::before, .f-header :where(button)::after {
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    right: 0;
    background-color: #363230;
  }
  .f-header :where(button)::before {
    width: 100%;
    top: 37.5%;
  }
  .f-header :where(button)::after {
    width: 62.5%;
    top: 62.5%;
  }
}
@layer component {
  .f-main {
    grid-area: ga-main;
    background-color: #F5F1EC;
    color: #363230;
  }
}
@layer component {
  .f-footer {
    grid-area: ga-footer;
    background-color: #625B53;
    color: #FFFFFF;
  }
  .f-footer_inbound {
    background-color: #FFFFFF;
    color: #363230;
  }
  @media screen and (width <= 425px) {
    .f-footer_inbound {
      padding: calc(0.1333333333 * var(--width-body)) calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .f-footer_inbound {
      padding: min(0.1047120419 * var(--width-body), 100px) max(0.0390625 * var(--width-body), 50% - 440px) min(0.0879581152 * var(--width-body), 84px);
    }
  }
  @media (1280px < width) {
    .f-footer_inbound {
      padding: calc(0.078125 * var(--width-body)) calc(0.15625 * var(--width-body)) calc(0.065625 * var(--width-body));
    }
  }
  @media screen and (width <= 425px) {
    .f-footer_outbound {
      padding: calc(0.12 * var(--width-body)) calc(0.08 * var(--width-body)) calc(0.16 * var(--width-body));
    }
  }
  @media (425px < width) {
    .f-footer_outbound {
      container-type: inline-size;
      padding: min(0.0314136126 * var(--width-body), 30px) max(0.0390625 * var(--width-body), 50% - 440px);
    }
  }
  @media (1280px < width) {
    .f-footer_outbound {
      padding: calc(0.0234375 * var(--width-body)) calc(0.15625 * var(--width-body));
    }
  }
  .f-footer_outboundTitle {
    display: flex;
    border: solid 1px #FFFFFF;
    font-family: "Noto Serif JP", serif;
    letter-spacing: 0.05em;
  }
  @media screen and (width <= 425px) {
    .f-footer_outboundTitle {
      font-size: calc(0.04 * var(--width-body));
      flex-flow: column nowrap;
      align-items: center;
      padding: 0.6666666667em 0;
      margin-bottom: calc(0.096 * var(--width-body));
      line-height: 1.6;
    }
  }
  @media (425px < width) {
    .f-footer_outboundTitle {
      font-size: 1.7045454545cqw;
      flex-flow: row nowrap;
      gap: 0 1em;
      width: fit-content;
      padding: 0.6666666667em 3em;
      margin-left: auto;
      margin-right: auto;
      margin-bottom: calc(0.03515625 * var(--width-body));
    }
  }
  .f-footer_outboundLogo :where(ul) {
    display: flex;
  }
  @media screen and (width <= 425px) {
    .f-footer_outboundLogo :where(ul) {
      flex-flow: column nowrap;
      align-items: center;
      gap: calc(0.1333333333 * var(--width-body));
    }
  }
  @media (425px < width) {
    .f-footer_outboundLogo :where(ul) {
      flex-flow: row nowrap;
      justify-content: center;
      align-items: center;
      gap: 7.6136363636cqw;
      width: fit-content;
      margin-left: auto;
      margin-right: auto;
    }
  }
  @media screen and (width <= 425px) {
    .f-footer_outboundLogo :where(li) {
      width: calc(0.0026666667 * var(--width-assume) * var(--width-body));
    }
  }
  @media (425px < width) {
    .f-footer_outboundLogo :where(li) {
      width: calc(0.0011363636 * var(--width-assume) * 100cqw);
    }
  }
  .f-footer_outboundLogo :where(img) {
    width: 100%;
    height: auto;
  }
  @media screen and (width <= 425px) {
    .f-footer_copyright {
      padding: calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .f-footer_copyright {
      container-type: inline-size;
      padding-top: calc(0.0234375 * var(--width-body));
      padding-bottom: calc(0.0234375 * var(--width-body));
      padding-left: max(0.0390625 * var(--width-body), 50% - 440px);
      padding-right: max(0.0390625 * var(--width-body), 50% - 440px);
    }
  }
  @media (1280px < width) {
    .f-footer_copyright {
      padding-left: calc(0.15625 * var(--width-body));
      padding-right: calc(0.15625 * var(--width-body));
    }
  }
  .f-footer_copyright :where(p) {
    width: fit-content;
    margin-left: auto;
    font-family: "EB Garamond", serif;
    font-weight: 400;
  }
  @media screen and (width <= 425px) {
    .f-footer_copyright :where(p) {
      font-size: calc(0.0293333333 * var(--width-body));
      margin-right: auto;
      line-height: 1.3636363636;
    }
  }
  @media (425px < width) {
    .f-footer_copyright :where(p) {
      font-size: 1.25cqw;
      margin-right: 0;
      line-height: 1.5;
    }
  }
}
@layer component {
  .f-nav {
    grid-area: ga-header;
    justify-self: end;
    position: sticky;
    top: 0;
    z-index: 12;
  }
  .f-nav_inner {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: var(--width-body);
    height: 100vh;
    height: 100dvh;
    background-color: rgba(245, 241, 236, 0.85);
    position: absolute;
    top: 0;
    z-index: 0;
    transition-property: opacity, right;
    transition-delay: 0s, 0.5s;
    transition-duration: 0.5s, 0s;
    opacity: 0;
    right: var(--width-body);
  }
  @media (425px < width) {
    .f-nav_inner {
      padding: min(0.0628272251 * var(--width-body), 60px) max(0.0390625 * var(--width-body), var(--width-body) / 2 - 440px);
    }
  }
  @media (1280px < width) {
    .f-nav_inner {
      padding: calc(0.046875 * var(--width-body)) calc(0.15625 * var(--width-body));
    }
  }
  .f-nav:target .f-nav_inner {
    transition-delay: 0s;
    transition-duration: 1s, 0s;
    right: 0;
    opacity: 1;
  }
  .f-nav_control {
    position: absolute;
    top: 0;
    z-index: 1;
    transition-property: opacity, right;
    transition-delay: 0s, 0.5s;
    transition-duration: 0.5s, 0s;
    opacity: 0;
    right: var(--width-body);
  }
  .f-nav_control :where(button) {
    all: unset;
    display: block;
    aspect-ratio: 1;
    position: relative;
    overflow: hidden;
    white-space: nowrap;
    text-indent: 100%;
    cursor: pointer;
  }
  @media screen and (width <= 425px) {
    .f-nav_control :where(button) {
      width: calc(0.1066666667 * var(--width-body));
      top: calc(0.0266666667 * var(--width-body));
      right: calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .f-nav_control :where(button) {
      width: min(0.0418848168 * var(--width-body), 40px);
      top: max(0.0078125 * var(--width-body), 10px);
      right: calc(0.0390625 * var(--width-body));
    }
  }
  @media (1280px < width) {
    .f-nav_control :where(button) {
      width: calc(0.03125 * var(--width-body));
      top: calc(0.0078125 * var(--width-body));
    }
  }
  .f-nav_control :where(button)::before, .f-nav_control :where(button)::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    margin-top: auto;
    margin-bottom: auto;
    position: absolute;
    inset: 0;
    scale: 1.4142135624 1;
    background-color: #363230;
  }
  .f-nav_control :where(button)::before {
    rotate: 45deg;
  }
  .f-nav_control :where(button)::after {
    rotate: -45deg;
  }
  .f-nav:target .f-nav_control {
    transition-delay: 0s;
    transition-duration: 1s, 0s;
    right: 0;
    opacity: 1;
  }
}
@layer component {
  .p-hero {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    position: relative;
    z-index: 0;
  }
  .p-hero_text {
    grid-column: 1/2;
    grid-row: 1/2;
    align-self: start;
    justify-self: end;
    position: relative;
    z-index: 1;
    text-transform: uppercase;
    text-align: end;
  }
  @media screen and (width <= 425px) {
    .p-hero_text {
      margin-top: calc(0.072 * var(--width-body));
      margin-right: calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .p-hero_text {
      margin-top: calc(0.05078125 * var(--width-body));
      margin-right: calc(0.0390625 * var(--width-body));
    }
  }
  .p-hero_textMain {
    font-family: "EB Garamond", serif;
    font-weight: 400;
    color: #FFFFFF;
  }
  @media screen and (width <= 425px) {
    .p-hero_textMain {
      font-size: calc(0.112 * var(--width-body));
    }
  }
  @media (425px < width) {
    .p-hero_textMain {
      font-size: calc(0.0609375 * var(--width-body));
    }
  }
  .p-hero_image {
    grid-column: 1/2;
    grid-row: 1/2;
    position: relative;
    z-index: -1;
  }
  @media screen and (width <= 425px) {
    .p-hero_image {
      aspect-ratio: 375/550;
    }
  }
  @media (425px < width) {
    .p-hero_image {
      aspect-ratio: 1280/784;
    }
  }
  .p-hero_image :where(img) {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: relative;
    z-index: 0;
    vertical-align: top;
  }
  .p-hero_image::after {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    z-index: 1;
    background-color: rgba(255, 255, 255, 0.2);
  }
  .p-hero-t1 .p-hero_image::before {
    content: "";
    mix-blend-mode: multiply;
    display: block;
    aspect-ratio: 266/330;
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("../img/cmn_hero-bg_1.png");
  }
  @media screen and (width <= 425px) {
    .p-hero-t1 .p-hero_image::before {
      width: calc(0.3066666667 * var(--width-body));
    }
  }
  @media (425px < width) {
    .p-hero-t1 .p-hero_image::before {
      width: calc(0.2078125 * var(--width-body));
    }
  }
  .p-hero-t2 .p-hero_image::before {
    content: "";
    mix-blend-mode: multiply;
    scale: -1;
    display: block;
    aspect-ratio: 508/244;
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("../img/cmn_hero-bg_2.png");
  }
  @media screen and (width <= 425px) {
    .p-hero-t2 .p-hero_image::before {
      width: calc(0.592 * var(--width-body));
    }
  }
  @media (425px < width) {
    .p-hero-t2 .p-hero_image::before {
      width: calc(0.396875 * var(--width-body));
    }
  }
}
@layer component {
  @media screen and (width <= 425px) {
    .p-pagetitle {
      padding-top: calc(0.096 * var(--width-body));
      padding-bottom: calc(0.0853333333 * var(--width-body));
      padding-left: calc(0.08 * var(--width-body));
      padding-right: calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .p-pagetitle {
      container-type: inline-size;
      padding-top: min(0.0680628272 * var(--width-body), 65px);
      padding-bottom: min(0.0565445026 * var(--width-body), 54px);
      padding-left: max(0.0390625 * var(--width-body), 50% - 440px);
      padding-right: max(0.0390625 * var(--width-body), 50% - 440px);
    }
  }
  @media (1280px < width) {
    .p-pagetitle {
      padding-top: calc(0.05078125 * var(--width-body));
      padding-bottom: calc(0.0421875 * var(--width-body));
      padding-left: calc(0.15625 * var(--width-body));
      padding-right: calc(0.15625 * var(--width-body));
    }
  }
  .p-pagetitle_text {
    font-family: "EB Garamond", serif;
    font-weight: 400;
    text-transform: uppercase;
    text-align: center;
  }
  @media screen and (width <= 425px) {
    .p-pagetitle_text {
      font-size: calc(0.112 * var(--width-body));
    }
  }
  @media (425px < width) {
    .p-pagetitle_text {
      font-size: 8.8636363636cqw;
    }
  }
  :where(.p-pagetitle_text + p) {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
  }
  @media screen and (width <= 425px) {
    :where(.p-pagetitle_text + p) {
      font-size: calc(0.048 * var(--width-body));
      margin-top: calc(0.0853333333 * var(--width-body));
      line-height: 1.7777777778;
      letter-spacing: -0.025em;
    }
  }
  @media (425px < width) {
    :where(.p-pagetitle_text + p) {
      font-size: 2.0454545455cqw;
      margin-top: calc(0.02578125 * var(--width-body));
      text-align: center;
      line-height: 1.7777777778;
    }
  }
}
@layer component {
  @media screen and (width <= 425px) {
    .p-lead {
      padding-top: calc(0.1333333333 * var(--width-body));
      padding-bottom: calc(0.0906666667 * var(--width-body));
      padding-left: calc(0.08 * var(--width-body));
      padding-right: calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .p-lead {
      container-type: inline-size;
      padding-top: min(0.0356020942 * var(--width-body), 34px);
      padding-bottom: min(0.0335078534 * var(--width-body), 32px);
      padding-left: max(0.0390625 * var(--width-body), 50% - 440px);
      padding-right: max(0.0390625 * var(--width-body), 50% - 440px);
    }
  }
  @media (1280px < width) {
    .p-lead {
      padding-top: calc(0.0265625 * var(--width-body));
      padding-bottom: calc(0.025 * var(--width-body));
      padding-left: calc(0.15625 * var(--width-body));
      padding-right: calc(0.15625 * var(--width-body));
    }
  }
  .p-lead :where(p) {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
  }
  @media screen and (width <= 425px) {
    .p-lead :where(p) {
      font-size: calc(0.048 * var(--width-body));
      line-height: 1.7777777778;
      letter-spacing: -0.025em;
    }
  }
  @media (425px < width) {
    .p-lead :where(p) {
      font-size: 2.0454545455cqw;
      text-align: center;
      line-height: 1.7777777778;
    }
  }
}
@layer component {
  .p-tabinterface {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(2, auto);
    position: relative;
    z-index: 0;
    overflow: hidden;
  }
  .p-tabinterface :where(fieldset) {
    all: unset;
    display: block;
  }
  .p-tabinterface_control {
    grid-column: 1/2;
    grid-row: 1/span 2;
    align-self: start;
    position: relative;
    z-index: 2;
  }
  .p-tabinterface_control :where(label) {
    all: unset;
    display: block;
  }
  .p-tabinterface_control :where(legend),
  .p-tabinterface_control :where(input) {
    width: 0;
    height: 0;
    overflow: hidden;
    position: absolute;
    clip: rect(1px, 1px, 1px, 1px);
  }
  @media (425px < width) {
    .p-tabinterface_control {
      width: fit-content;
      margin-left: auto;
      margin-right: auto;
    }
  }
  .p-tabinterface_control :where(menu) {
    display: flex;
  }
  @media screen and (width <= 425px) {
    .p-tabinterface_control :where(menu) {
      flex-flow: column nowrap;
      gap: calc(0.0266666667 * var(--width-body)) 0;
    }
  }
  @media (425px < width) {
    .p-tabinterface_control :where(menu) {
      flex-flow: row nowrap;
      gap: 0 calc(0.0234375 * var(--width-body));
    }
  }
  .p-tabinterface_control :where(menu > li) {
    flex-grow: 0;
    flex-shrink: 1;
    flex-basis: 1;
  }
  .p-tabinterface_control :where(menu > li > label) {
    border: solid 1px #363230;
    transition-property: background-color, color;
    transition-duration: 0.5s;
  }
  @media screen and (width <= 425px) {
    .p-tabinterface_control :where(menu > li > label) {
      text-align: center;
    }
  }
  @media (425px < width) {
    .p-tabinterface_control :where(menu > li > label) {
      cursor: pointer;
    }
  }
  .p-tabinterface_control :where(menu > li > label:has(input:checked)) {
    background-color: #363230;
    color: #FFFFFF;
  }
  .p-tabinterface_screens {
    grid-column: 1/2;
    grid-row: 1/span 2;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    position: relative;
    z-index: 1;
    transition: grid-template-rows 0.5s;
  }
  .p-tabinterface_screen {
    grid-column: 1/2;
    grid-row: 1/2;
    transition-property: opacity, position, z-index;
    transition-duration: 0.5s, 0s, 0s;
    transition-delay: 0s, 0.5s, 0.5s;
    z-index: 1;
  }
  .p-tabinterface_screen:nth-child(n+2) {
    width: 100%;
    position: absolute;
    z-index: -1;
    opacity: 0;
  }
  .p-tabinterface_screens:has(.p-tabinterface_screen:target) :where(.p-tabinterface_screen) {
    width: 100%;
    position: absolute;
    z-index: -1;
    opacity: 0;
  }
  .p-tabinterface_screens:has(.p-tabinterface_screen:target) :where(.p-tabinterface_screen:target) {
    opacity: 1;
    position: relative;
    z-index: 1;
  }
}
@layer component {
  .p-pager {
    display: grid;
    grid-template-rows: auto;
    grid-template-columns: auto 1fr auto;
  }
  @media screen and (width <= 425px) {
    .p-pager {
      gap: 0 calc(0.0426666667 * var(--width-body));
    }
  }
  @media (425px < width) {
    .p-pager {
      gap: 0 4.5454545455cqw;
      width: fit-content;
      margin-left: auto;
      margin-right: auto;
    }
  }
  .p-pager :where(menu:first-child) {
    grid-column: 1/span 3;
    grid-row: 1/2;
    display: grid;
    grid-template-columns: subgrid;
    grid-template-rows: subgrid;
    align-items: center;
    font-weight: 400;
  }
  @media (425px < width) {
    .p-pager :where(menu:first-child) {
      font-size: 1.7045454545cqw;
    }
  }
  .p-pager :where(menu:first-child)::after {
    content: "";
    grid-column: 2/3;
    grid-row: 1/2;
  }
  .p-pager :where(menu:first-child a) {
    display: grid;
    grid-template-columns: repeat(2, auto);
    align-items: center;
  }
  @media (425px < width) {
    .p-pager :where(menu:first-child a) {
      gap: 0 1.1363636364cqw;
    }
  }
  @media screen and (width <= 425px) {
    .p-pager :where(menu:first-child a > span) {
      width: 0;
      height: 0;
      overflow: hidden;
      position: absolute;
      clip: rect(1px, 1px, 1px, 1px);
    }
  }
  .p-pager :where(menu:first-child > li:first-child a)::before,
  .p-pager :where(menu:first-child > li:last-child a)::after {
    content: "";
    display: inline-block;
    aspect-ratio: 1;
    background-color: #363230;
    mask: url("../img/cmn_button-mark_2.svg") no-repeat center center/contain;
    -webkit-mask: url("../img/cmn_button-mark_2.svg") no-repeat center center/contain;
  }
  @media screen and (width <= 425px) {
    .p-pager :where(menu:first-child > li:first-child a)::before,
    .p-pager :where(menu:first-child > li:last-child a)::after {
      width: calc(0.1066666667 * var(--width-body));
    }
  }
  @media (425px < width) {
    .p-pager :where(menu:first-child > li:first-child a)::before,
    .p-pager :where(menu:first-child > li:last-child a)::after {
      width: 4.5454545455cqw;
    }
  }
  .p-pager :where(menu:first-child > li:last-child a)::after {
    scale: -1;
  }
  .p-pager :where(menu:last-child) {
    grid-column: 2/3;
    grid-row: 1/2;
    display: flex;
    flex-flow: row nowrap;
    font-weight: 500;
  }
  @media screen and (width <= 425px) {
    .p-pager :where(menu:last-child) {
      font-size: calc(0.04 * var(--width-body));
    }
  }
  @media (425px < width) {
    .p-pager :where(menu:last-child) {
      font-size: 1.7045454545cqw;
    }
  }
  .p-pager :where(menu:last-child > li) {
    flex-grow: 0;
    flex-shrink: 1;
    flex-basis: 1;
  }
  .p-pager :where(menu:last-child li > a),
  .p-pager :where(menu:last-child li > span) {
    aspect-ratio: 1;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
  }
  @media screen and (width <= 425px) {
    .p-pager :where(menu:last-child li > a),
    .p-pager :where(menu:last-child li > span) {
      width: calc(0.1066666667 * var(--width-body));
    }
  }
  @media (425px < width) {
    .p-pager :where(menu:last-child li > a),
    .p-pager :where(menu:last-child li > span) {
      width: 4.5454545455cqw;
    }
  }
  .p-pager :where(menu:last-child li > span) {
    background-color: #363230;
    color: #FFFFFF;
  }
}
@layer component {
  .p-goback :where(menu) {
    display: grid;
    grid-template-columns: repeat(2, auto);
    grid-template-rows: auto;
    justify-content: space-between;
    font-weight: 400;
  }
  @media screen and (width <= 425px) {
    .p-goback :where(menu) {
      font-size: calc(0.04 * var(--width-body));
    }
  }
  @media (425px < width) {
    .p-goback :where(menu) {
      font-size: 1.7045454545cqw;
    }
  }
  .p-goback :where(menu:first-child a) {
    display: grid;
    grid-template-columns: repeat(2, auto);
    align-items: center;
  }
  @media screen and (width <= 425px) {
    .p-goback :where(menu:first-child a) {
      gap: 0 calc(0.0426666667 * var(--width-body));
    }
  }
  @media (425px < width) {
    .p-goback :where(menu:first-child a) {
      gap: 0 1.1363636364cqw;
    }
  }
  .p-goback :where(menu > li:first-child a)::before,
  .p-goback :where(menu > li:last-child a)::after {
    content: "";
    display: inline-block;
    aspect-ratio: 1;
    background-color: #363230;
    mask: url("../img/cmn_button-mark_2.svg") no-repeat center center/contain;
    -webkit-mask: url("../img/cmn_button-mark_2.svg") no-repeat center center/contain;
  }
  @media screen and (width <= 425px) {
    .p-goback :where(menu > li:first-child a)::before,
    .p-goback :where(menu > li:last-child a)::after {
      width: calc(0.1066666667 * var(--width-body));
    }
  }
  @media (425px < width) {
    .p-goback :where(menu > li:first-child a)::before,
    .p-goback :where(menu > li:last-child a)::after {
      width: 4.5454545455cqw;
    }
  }
  .p-goback :where(menu > li:last-child a)::after {
    scale: -1;
  }
}
@layer component {
  .p-contact {
    display: grid;
    grid-template-columns: 1fr;
    background-color: #F5F1EC;
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: bottom center;
    text-align: center;
  }
  @media screen and (width <= 425px) {
    .p-contact {
      padding: calc(0.1066666667 * var(--width-body)) calc(0.08 * var(--width-body)) calc(0.1333333333 * var(--width-body));
      background-image: url("../img/cmn_contact-bg_1@sp.png");
    }
  }
  @media (425px < width) {
    .p-contact {
      container-type: inline-size;
      padding: min(0.0502617801 * var(--width-body), 48px) max(0.0390625 * var(--width-body), 50% - 440px);
      background-image: url("../img/cmn_contact-bg_1@pc.png");
    }
  }
  @media (1280px < width) {
    .p-contact {
      padding: calc(0.0375 * var(--width-body)) calc(0.15625 * var(--width-body));
    }
  }
  .p-contact_title {
    justify-self: center;
    border-bottom: solid 1px #363230;
    font-family: "EB Garamond", serif;
    font-weight: 400;
    letter-spacing: 0.025em;
    text-transform: uppercase;
  }
  @media screen and (width <= 425px) {
    .p-contact_title {
      font-size: calc(0.064 * var(--width-body));
      margin-bottom: 1.3333333333em;
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .p-contact_title {
      font-size: 2.7272727273cqw;
      margin-bottom: 1.3333333333em;
      line-height: 1.3333333333;
    }
  }
  .p-contact_heading {
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    letter-spacing: 0.05em;
  }
  @media screen and (width <= 425px) {
    .p-contact_heading {
      font-size: calc(0.048 * var(--width-body));
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .p-contact_heading {
      font-size: 2.0454545455cqw;
      line-height: 1.3333333333;
    }
  }
  .p-contact_telNumber {
    display: flex;
    flex-flow: column-reverse nowrap;
    align-items: center;
  }
  .p-contact_telNumber :where(a) {
    font-family: "EB Garamond", serif;
    font-weight: 400;
    letter-spacing: 0.025em;
  }
  @media screen and (width <= 425px) {
    .p-contact_telNumber :where(a) {
      font-size: calc(0.112 * var(--width-body));
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .p-contact_telNumber :where(a) {
      font-size: 4.7727272727cqw;
      line-height: 1.3333333333;
    }
  }
  @media screen and (width <= 425px) {
    .p-contact_telNumber :where(small) {
      font-size: calc(0.04 * var(--width-body));
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .p-contact_telNumber :where(small) {
      font-size: 1.7045454545cqw;
      line-height: 1.3333333333;
    }
  }
  @media screen and (width <= 425px) {
    .p-contact_form {
      margin-top: calc(0.2133333333 * var(--width-body));
    }
  }
  @media (425px < width) {
    .p-contact_form {
      margin-top: 4.7727272727cqw;
    }
  }
  .p-contact_formButton {
    --color-bg: #363230;
    --color-tx: #F5F1EC;
    font-weight: 500;
  }
  @media screen and (width <= 425px) {
    .p-contact_formButton {
      font-size: calc(0.04 * var(--width-body));
      margin-top: calc(0.0533333333 * var(--width-body));
    }
  }
  @media (425px < width) {
    .p-contact_formButton {
      font-size: 1.7045454545cqw;
      margin-top: 0.6666666667em;
    }
  }
  .p-contact_address {
    grid-row: 3/4;
    display: flex;
    flex-flow: column-reverse nowrap;
  }
  @media screen and (width <= 425px) {
    .p-contact_address {
      margin-top: calc(0.064 * var(--width-body));
    }
  }
  @media (425px < width) {
    .p-contact_address {
      margin-top: 0.9090909091cqw;
    }
  }
  @media screen and (width <= 425px) {
    .p-contact_addressTitle {
      font-size: calc(0.04 * var(--width-body));
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .p-contact_addressTitle {
      font-size: 1.7045454545cqw;
      line-height: 1.3333333333;
    }
  }
  .p-contact_addressName {
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
  }
  @media screen and (width <= 425px) {
    .p-contact_addressName {
      font-size: calc(0.048 * var(--width-body));
      margin-bottom: 0.2222222222em;
      letter-spacing: 0.05em;
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .p-contact_addressName {
      font-size: 2.0454545455cqw;
      margin-bottom: 0.2222222222em;
      letter-spacing: 0.05em;
      line-height: 1.3333333333;
    }
  }
}
@layer component {
  .p-consultation {
    background-color: #FFFFFF;
    color: #363230;
  }
  @media screen and (width <= 425px) {
    .p-consultation {
      padding: calc(0.1493333333 * var(--width-body)) calc(0.08 * var(--width-body)) calc(0.1333333333 * var(--width-body));
    }
  }
  @media (425px < width) {
    .p-consultation {
      container-type: inline-size;
      padding: min(0.1047120419 * var(--width-body), 100px) max(0.0390625 * var(--width-body), 50% - 440px);
    }
  }
  @media (1280px < width) {
    .p-consultation {
      padding: calc(0.078125 * var(--width-body)) calc(0.15625 * var(--width-body));
    }
  }
  .p-consultation_title {
    text-align: center;
  }
  @media screen and (width <= 425px) {
    .p-consultation_title {
      margin-bottom: calc(0.144 * var(--width-body));
    }
  }
  @media (425px < width) {
    .p-consultation_title {
      margin-bottom: 3.75cqw;
    }
  }
  .p-consultation_title :where(p) {
    font-family: "EB Garamond", serif;
    font-weight: 400;
    text-transform: uppercase;
  }
  @media screen and (width <= 425px) {
    .p-consultation_title :where(p) {
      font-size: calc(0.0346666667 * var(--width-body));
      margin-bottom: 0.2307692308em;
      line-height: 1.3076923077;
    }
  }
  @media (425px < width) {
    .p-consultation_title :where(p) {
      font-size: 1.7045454545cqw;
      margin-bottom: 0.8666666667em;
      line-height: 1.3333333333;
    }
  }
  .p-consultation_titleMain {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
  }
  @media screen and (width <= 425px) {
    .p-consultation_titleMain {
      font-size: calc(0.0853333333 * var(--width-body));
      line-height: 1.3125;
    }
  }
  @media (425px < width) {
    .p-consultation_titleMain {
      font-size: 4.7727272727cqw;
      line-height: 0.7619047619;
    }
  }
  .p-consultation_outline {
    display: grid;
    grid-template-rows: repeat(3, auto);
    text-align: center;
  }
  .p-consultation_outlineCopy {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
  }
  @media screen and (width <= 425px) {
    .p-consultation_outlineCopy {
      font-size: calc(0.048 * var(--width-body));
      margin-bottom: 1.1111111111em;
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .p-consultation_outlineCopy {
      font-size: 2.0454545455cqw;
      margin-bottom: 1.1666666667em;
      line-height: 1.3333333333;
    }
  }
  .p-consultation_outlineImage {
    grid-row: 3/4;
    justify-self: center;
    aspect-ratio: 440/284;
  }
  @media screen and (width <= 425px) {
    .p-consultation_outlineImage {
      width: 100%;
      margin-top: calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .p-consultation_outlineImage {
      width: 50cqw;
      margin-top: 5.4545454545cqw;
    }
  }
  .p-consultation_outlineImage img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    vertical-align: top;
  }
  @media screen and (width <= 425px) {
    .p-consultation_outlineDescription {
      font-size: calc(0.04 * var(--width-body));
      line-height: 1.3333333333;
      text-align: left;
    }
  }
  @media (425px < width) {
    .p-consultation_outlineDescription {
      font-size: 1.7045454545cqw;
      line-height: 1.3333333333;
    }
  }
  .p-consultation_outlineDescription :where(p) {
    margin-bottom: 1em;
  }
  .p-consultation_outlineDescription :where(p):last-child {
    margin-bottom: 0;
  }
  .p-consultation_example {
    display: grid;
  }
  @media screen and (width <= 425px) {
    .p-consultation_example {
      grid-template-rows: repeat(3, auto);
      gap: calc(0.08 * var(--width-body)) 0;
      margin-top: calc(0.088 * var(--width-body));
    }
  }
  @media (425px < width) {
    .p-consultation_example {
      grid-template-columns: auto 1fr;
      gap: 5.4545454545cqw 0.9090909091cqw;
      width: 73.4090909091cqw;
      margin-top: 5.4545454545cqw;
      margin-left: auto;
      margin-right: auto;
    }
  }
  .p-consultation_example :where(section) {
    display: grid;
  }
  @media screen and (width <= 425px) {
    .p-consultation_example :where(section) {
      grid-template-rows: repeat(3, auto);
    }
  }
  @media (425px < width) {
    .p-consultation_example :where(section) {
      grid-column: 1/span 2;
      grid-template-columns: subgrid;
      grid-template-rows: auto 1fr;
      gap: 0 0.9090909091cqw;
    }
  }
  .p-consultation_example :where(section)::before {
    content: "";
    display: block;
    aspect-ratio: 1;
    background-color: #363230;
  }
  @media screen and (width <= 425px) {
    .p-consultation_example :where(section)::before {
      justify-self: center;
      width: calc(0.2133333333 * var(--width-body));
      margin-bottom: calc(0.032 * var(--width-body));
    }
  }
  @media (425px < width) {
    .p-consultation_example :where(section)::before {
      grid-row: 1/span 2;
      align-self: start;
      width: 9.0909090909cqw;
    }
  }
  .p-consultation_example :where(section):nth-child(1)::before {
    mask: url("../img/cmn_consultation-icon_1.svg") no-repeat center center/contain;
    -webkit-mask: url("../img/cmn_consultation-icon_1.svg") no-repeat center center/contain;
  }
  .p-consultation_example :where(section):nth-child(2)::before {
    mask: url("../img/cmn_consultation-icon_2.svg") no-repeat center center/contain;
    -webkit-mask: url("../img/cmn_consultation-icon_2.svg") no-repeat center center/contain;
  }
  .p-consultation_example :where(section):nth-child(3)::before {
    mask: url("../img/cmn_consultation-icon_3.svg") no-repeat center center/contain;
    -webkit-mask: url("../img/cmn_consultation-icon_3.svg") no-repeat center center/contain;
  }
  .p-consultation_exampleHeading {
    border-bottom: solid 1px #363230;
    padding-right: 1em;
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
  }
  @media screen and (width <= 425px) {
    .p-consultation_exampleHeading {
      font-size: calc(0.048 * var(--width-body));
      justify-self: center;
      padding-left: 1em;
      margin-bottom: 1.1111111111em;
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .p-consultation_exampleHeading {
      font-size: 2.0454545455cqw;
      justify-self: start;
      margin-bottom: 0.8888888889em;
      letter-spacing: 0.05em;
      line-height: 1.3333333333;
    }
  }
  @media screen and (width <= 425px) {
    .p-consultation_example :where(p) {
      font-size: calc(0.04 * var(--width-body));
      line-height: 1.6;
    }
  }
  @media (425px < width) {
    .p-consultation_example :where(p) {
      font-size: 1.7045454545cqw;
      line-height: 1.3333333333;
    }
  }
  .p-consultation_flow {
    border: solid 1px #363230;
  }
  @media screen and (width <= 425px) {
    .p-consultation_flow {
      padding: calc(0.08 * var(--width-body)) calc(0.0533333333 * var(--width-body)) calc(0.1066666667 * var(--width-body));
      margin-top: calc(0.1066666667 * var(--width-body));
    }
  }
  @media (425px < width) {
    .p-consultation_flow {
      padding: 4.5454545455cqw;
      margin-top: 9.0909090909cqw;
      position: relative;
      z-index: 0;
    }
  }
  @media (425px < width) {
    .p-consultation_flow::before {
      content: "";
      display: block;
      border-top: dashed 1px #707070;
      width: 56.8181818182cqw;
      margin-left: auto;
      margin-right: auto;
      position: absolute;
      z-index: -1;
      top: 17.5cqw;
      left: 0;
      right: 0;
    }
  }
  .p-consultation_flowTitle {
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
  }
  @media screen and (width <= 425px) {
    .p-consultation_flowTitle {
      font-size: calc(0.048 * var(--width-body));
      margin-bottom: 1.6111111111em;
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .p-consultation_flowTitle {
      font-size: 2.0454545455cqw;
      margin-bottom: 1.6111111111em;
      line-height: 1.3333333333;
    }
  }
  .p-consultation_flow :where(ol) {
    display: grid;
  }
  @media screen and (width <= 425px) {
    .p-consultation_flow :where(ol) {
      grid-template-rows: repeat(3, auto);
      gap: calc(0.08 * var(--width-body)) 0;
    }
  }
  @media (425px < width) {
    .p-consultation_flow :where(ol) {
      grid-template-columns: repeat(3, auto);
      gap: 0 4.5454545455cqw;
    }
  }
  .p-consultation_flowHeading {
    font-family: "Noto Serif JP", serif;
    text-align: center;
  }
  @media screen and (width <= 425px) {
    .p-consultation_flowHeading {
      font-size: calc(0.048 * var(--width-body));
      margin-bottom: 1.1111111111em;
      font-weight: 500;
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .p-consultation_flowHeading {
      font-size: 2.0454545455cqw;
      margin-bottom: 0.9444444444em;
      font-weight: 700;
      letter-spacing: 0.05em;
      line-height: 1.3333333333;
    }
  }
  .p-consultation_flowHeading :where(b) {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    font-family: "EB Garamond", serif;
    font-weight: 400;
    text-transform: uppercase;
  }
  @media screen and (width <= 425px) {
    .p-consultation_flowHeading :where(b) {
      font-size: calc(0.04 * var(--width-body));
      margin-bottom: 0.8em;
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .p-consultation_flowHeading :where(b) {
      font-size: 1.7045454545cqw;
      margin-bottom: 0.2em;
      line-height: 1.3333333333;
    }
  }
  .p-consultation_flowHeading :where(b > span) {
    aspect-ratio: 1;
    border-radius: 100vw;
    font-family: "EB Garamond", serif;
    font-weight: 400;
    background-color: #F5F1EC;
    text-align: center;
  }
  @media screen and (width <= 425px) {
    .p-consultation_flowHeading :where(b > span) {
      font-size: calc(0.0746666667 * var(--width-body));
      width: calc(0.16 * var(--width-body));
      margin-top: calc(0.0133333333 * var(--width-body));
      line-height: 2.1428571429em;
    }
  }
  @media (425px < width) {
    .p-consultation_flowHeading :where(b > span) {
      font-size: 3.6363636364cqw;
      width: 9.0909090909cqw;
      margin-top: 0.15625em;
      line-height: 2.5em;
    }
  }
  @media screen and (width <= 425px) {
    .p-consultation_flow :where(p) {
      font-size: calc(0.04 * var(--width-body));
      line-height: 1.6;
    }
  }
  @media (425px < width) {
    .p-consultation_flow :where(p) {
      font-size: 1.7045454545cqw;
      line-height: 1.3333333333;
    }
  }
}
@layer component {
  .p-sitemap {
    margin-left: auto;
    margin-right: auto;
  }
  @media screen and (width <= 425px) {
    .p-sitemap {
      width: calc(0.84 * var(--width-body));
    }
  }
  @media (425px < width) {
    .p-sitemap {
      container-type: inline-size;
      max-width: 880px;
      width: 100%;
    }
  }
  .p-sitemap_title {
    aspect-ratio: 270/130;
    margin-left: auto;
    margin-right: auto;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
  }
  @media screen and (width <= 425px) {
    .p-sitemap_title {
      width: calc(0.63008 * var(--width-body));
      margin-bottom: calc(0.128 * var(--width-body));
    }
  }
  @media (425px < width) {
    .p-sitemap_title {
      width: 30.6818181818cqw;
      margin-bottom: 5.4545454545cqw;
    }
  }
  .p-sitemap_title :where(a) {
    display: block;
    width: 100%;
    height: 100%;
    background-color: #363230;
    mask: url("../img/cmn_footer-logo.svg") no-repeat center center/contain;
    -webkit-mask: url("../img/cmn_footer-logo.svg") no-repeat center center/contain;
  }
  .p-sitemap_items {
    display: grid;
    font-family: "EB Garamond", serif;
    font-weight: 400;
    text-transform: uppercase;
  }
  @media screen and (width <= 425px) {
    .p-sitemap_items {
      font-size: calc(0.04 * var(--width-body));
      grid-template-columns: repeat(2, 1fr);
      gap: calc(0.096 * var(--width-body)) calc(0.0213333333 * var(--width-body));
      width: 100%;
    }
  }
  @media (425px < width) {
    .p-sitemap_items {
      font-size: 1.7045454545cqw;
      grid-template-columns: repeat(3, auto);
      gap: 6.3636363636cqw;
      width: fit-content;
      margin-left: auto;
      margin-right: auto;
    }
  }
  .p-sitemap_item {
    line-height: 1.3333333333;
  }
  .p-sitemap_item-c {
    justify-self: center;
    border-bottom: solid 1px #363230;
    letter-spacing: 0.025em;
    font-size: 1.6em;
  }
  @media screen and (width <= 425px) {
    .p-sitemap_item-c {
      grid-column: 1/span 2;
    }
  }
  @media (425px < width) {
    .p-sitemap_item-c {
      grid-column: 1/span 3;
    }
  }
  .p-sitemap_item :where(ul) {
    margin-top: 0.5333333333em;
  }
  .p-sitemap_item :where(ul > li) {
    text-transform: none;
  }
  .p-sitemap_item :where(ul > li)::before {
    content: "";
    display: inline-block;
    width: 1ch;
    height: 1px;
    background-color: #363230;
    margin-right: 0.25em;
    margin-bottom: calc(0.5 * (1ex + 1px));
  }
}
@layer component {
  .p-modal {
    display: grid;
    box-sizing: border-box;
    width: var(--width-body);
    height: 100dvh;
    position: fixed;
    top: 0;
    z-index: 20;
    background-color: rgba(54, 50, 48, 0.8);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    transition-property: opacity, left;
    transition-duration: 0.3s, 0s;
    transition-delay: 0s, 0.3s;
    opacity: 0;
    left: -100%;
    /* display: none; */
  }
  @media screen and (width <= 425px) {
    .p-modal {
      grid-template-columns: 1fr auto;
      grid-template-rows: auto 1fr auto;
      gap: 0 calc(0.0533333333 * var(--width-body));
      padding: calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .p-modal {
      grid-template-columns: auto 1fr auto;
      grid-template-rows: auto 1fr;
      padding: calc(0.0390625 * var(--width-body));
    }
  }
  .p-modal-active {
    transition-duration: 0.5s, 0s;
    transition-delay: 0s, 0s;
    opacity: 1;
    left: 0;
  }
  .p-modal :where(button) {
    all: unset;
  }
  .p-modal_close {
    display: block;
    aspect-ratio: 1;
    position: relative;
    z-index: 0;
  }
  @media screen and (width <= 425px) {
    .p-modal_close {
      grid-column: 2/3;
      grid-row: 1/2;
      width: calc(0.1066666667 * var(--width-body));
    }
  }
  @media (425px < width) {
    .p-modal_close {
      cursor: pointer;
      grid-column: 3/4;
      grid-row: 1/2;
      width: calc(0.03125 * var(--width-body));
    }
  }
  .p-modal_close::before, .p-modal_close::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    margin-top: auto;
    margin-bottom: auto;
    position: absolute;
    inset: 0;
    scale: 1.4142135624 1;
    background-color: #FFFFFF;
  }
  .p-modal_close::before {
    rotate: 45deg;
  }
  .p-modal_close::after {
    rotate: -45deg;
  }
  .p-modal_prev, .p-modal_next {
    aspect-ratio: 1;
    background-color: #FFFFFF;
    mask: url("../img/cmn_button-mark_2.svg") no-repeat center center/contain;
    -webkit-mask: url("../img/cmn_button-mark_2.svg") no-repeat center center/contain;
  }
  @media screen and (width <= 425px) {
    .p-modal_prev, .p-modal_next {
      width: calc(0.1066666667 * var(--width-body));
    }
  }
  @media (425px < width) {
    .p-modal_prev, .p-modal_next {
      grid-row: 1/span 2;
      align-self: center;
      cursor: pointer;
      width: calc(0.03125 * var(--width-body));
    }
  }
  .p-modal_prev {
    grid-column: 1/2;
  }
  @media screen and (width <= 425px) {
    .p-modal_prev {
      grid-row: 3/4;
      justify-self: end;
    }
  }
  .p-modal_next {
    scale: -1;
  }
  @media screen and (width <= 425px) {
    .p-modal_next {
      grid-column: 2/3;
      grid-row: 3/4;
    }
  }
  @media (425px < width) {
    .p-modal_next {
      grid-column: 3/4;
    }
  }
  @media screen and (width <= 425px) {
    .p-modal_screen {
      grid-column: 1/span 2;
      grid-row: 2/3;
      padding: calc(0.0533333333 * var(--width-body)) 0;
    }
  }
  @media (425px < width) {
    .p-modal_screen {
      grid-column: 2/3;
      grid-row: 1/span 2;
      padding: calc(0.015625 * var(--width-body));
    }
  }
  .p-modal_screen :where(img) {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}
@layer component {
  .s_home-hero {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    position: relative;
    z-index: 0;
  }
  @media screen and (width <= 425px) {
    .s_home-hero {
      padding-bottom: calc(0.1333333333 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_home-hero {
      padding-bottom: calc(0.0390625 * var(--width-body));
    }
  }
  .s_home-hero_image {
    grid-column: 1/2;
    grid-row: 1/2;
    position: relative;
    z-index: -1;
    opacity: 0;
    /*
    &::before ,
    &::after {
        mix-blend-mode: multiply;
        content: '';

        display: block;

        position: absolute;
        z-index: 1;
        background-repeat: no-repeat;
        background-size: cover;
    }
    &::before {
        aspect-ratio: 266 / 330;
        top: 0;
        background-image: url("../img/cmn_hero-bg_1.png");
        @include mx.sp {
            width: calc(fn.dfSp(115) * var(--width-body));

            right: calc(fn.dfPc(50) * var(--width-body));
        }
        @include mx.pc {
            width: calc(fn.dfPc(266) * var(--width-body));

            right: calc(fn.dfPc(50) * var(--width-body));
        }
    }
    &::after {
        aspect-ratio: 508 / 244;
        bottom: 0;
        background-image: url("../img/cmn_hero-bg_2.png");
        @include mx.sp {
            width: calc(fn.dfSp(222) * var(--width-body));

            left: calc(fn.dfPc(50) * var(--width-body));
        }
        @include mx.pc {
            width: calc(fn.dfPc(508) * var(--width-body));

            left: calc(fn.dfPc(50) * var(--width-body));
        }
    }
    */
  }
  @media screen and (width <= 425px) {
    .s_home-hero_image {
      aspect-ratio: 355/550;
      padding-left: calc(0.0266666667 * var(--width-body));
      padding-right: calc(0.0266666667 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_home-hero_image {
      aspect-ratio: 1180/693;
      padding-left: calc(0.0390625 * var(--width-body));
      padding-right: calc(0.0390625 * var(--width-body));
    }
  }
  .s_home-hero_image :where(img) {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: relative;
    z-index: 0;
    vertical-align: top;
  }
  .s_home-hero-started .s_home-hero_image {
    transition-property: opacity;
    transition-duration: 0.5s;
    transition-delay: 0.2s;
    opacity: 1;
  }
  .s_home-hero_copy {
    grid-column: 1/2;
    grid-row: 1/2;
	transform: translateX(50px);
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    position: relative;
    z-index: 1;
    opacity: 0;
  }
  @media (425px < width) {
    .s_home-hero_copy {
      padding: calc(0.115625 * var(--width-body)) calc(0.1796875 * var(--width-body));
    }
  }
  .s_home-hero_copy :where(p) {
    color: #FFFFFF;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    letter-spacing: 0.2em;
  }
  @media screen and (width <= 425px) {
    .s_home-hero_copy :where(p) {
      align-self: center;
      justify-self: center;
      font-size: calc(0.048 * var(--width-body));
      line-height: 1.7777777778;
      text-shadow: calc(0.0026666667 * var(--width-body)) calc(0.008 * var(--width-body)) calc(0.008 * var(--width-body)) rgba(54, 50, 48, 0.5);
      text-align: center;
    }
  }
  @media (425px < width) {
    .s_home-hero_copy :where(p) {
      align-self: end;
      justify-self: end;
      font-size: calc(0.01875 * var(--width-body));
      line-height: 1.3333333333;
      text-shadow: 0 calc(0.00234375 * var(--width-body)) calc(0.0046875 * var(--width-body)) rgba(54, 50, 48, 0.35);
    }
  }
  .s_home-hero-started .s_home-hero_copy {
    transition-property: opacity;
    transition-duration: 0.5s;
    transition-delay: 0.4s;
    opacity: 1;
  }
  @media screen and (width <= 425px) {
    .s_home-lead {
      padding-top: calc(0.1333333333 * var(--width-body));
      padding-left: calc(0.08 * var(--width-body));
      padding-right: calc(0.08 * var(--width-body));
      margin-top: calc(-0.1333333333 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_home-lead {
      container-type: inline-size;
      padding-top: min(0.0670157068 * var(--width-body), 64px);
      padding-left: max(0.0390625 * var(--width-body), 50% - 440px);
      padding-right: max(0.0390625 * var(--width-body), 50% - 440px);
      margin-top: max(-0.0523560209 * var(--width-body), -50px);
    }
  }
  @media (1280px < width) {
    .s_home-lead {
      padding-top: calc(0.05 * var(--width-body));
      padding-left: calc(0.15625 * var(--width-body));
      padding-right: calc(0.15625 * var(--width-body));
      margin-top: calc(0.0390625 * var(--width-body));
    }
  }
  .s_home-lead :where(p) {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
  }
  @media screen and (width <= 425px) {
    .s_home-lead :where(p) {
      font-size: calc(0.048 * var(--width-body));
      letter-spacing: -0.025em;
      line-height: 1.7777777778;
    }
  }
  @media (425px < width) {
    .s_home-lead :where(p) {
      text-align: center;
      font-size: 2.0454545455cqw;
      line-height: 1.7777777778;
    }
  }
  @media screen and (width <= 425px) {
    .s_home-info {
      padding-top: calc(0.0586666667 * var(--width-body));
      padding-bottom: calc(0.1333333333 * var(--width-body));
      padding-left: calc(0.08 * var(--width-body));
      padding-right: calc(0.08 * var(--width-body));
      margin-top: calc(0.2 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_home-info {
      container-type: inline-size;
      padding-top: min(0.0230366492 * var(--width-body), 22px);
      padding-bottom: min(0.0523560209 * var(--width-body), 50px);
      padding-left: max(0.0390625 * var(--width-body), 50% - 440px);
      padding-right: max(0.0390625 * var(--width-body), 50% - 440px);
      margin-top: min(0.0785340314 * var(--width-body), 75px);
    }
  }
  @media (1280px < width) {
    .s_home-info {
      padding-top: calc(0.0171875 * var(--width-body));
      padding-bottom: calc(0.0390625 * var(--width-body));
      padding-left: calc(0.15625 * var(--width-body));
      padding-right: calc(0.15625 * var(--width-body));
      margin-top: calc(0.05859375 * var(--width-body));
    }
  }
  .s_home-info_title {
    font-family: "EB Garamond", serif;
    font-weight: 400;
    text-align: center;
    text-transform: uppercase;
  }
  @media screen and (width <= 425px) {
    .s_home-info_title {
      font-size: calc(0.0853333333 * var(--width-body));
      margin-bottom: 0.6875em;
      line-height: 1.34375;
    }
  }
  @media (425px < width) {
    .s_home-info_title {
      font-size: 4.7727272727cqw;
      margin-bottom: 0.5238095238em;
      line-height: 1.3333333333;
    }
  }
  .s_home-info_items {
    display: grid;
  }
  @media screen and (width <= 425px) {
    .s_home-info_items {
      grid-template-rows: repeat(3, auto);
      gap: calc(0.1333333333 * var(--width-body)) 0;
      width: calc(0.64 * var(--width-body));
      margin-left: auto;
      margin-right: auto;
    }
  }
  @media (425px < width) {
    .s_home-info_items {
      grid-template-columns: repeat(3, 1fr);
      gap: 0 calc(0.0625 * var(--width-body));
    }
  }
  .s_home-info_link {
    font-family: "EB Garamond", serif;
    font-weight: 400;
    letter-spacing: 0.02em;
    text-align: center;
    text-transform: uppercase;
  }
  @media screen and (width <= 425px) {
    .s_home-info_link {
      font-size: calc(0.0533333333 * var(--width-body));
      margin-top: 1.1em;
    }
  }
  @media (425px < width) {
    .s_home-info_link {
      font-size: 2.2727272727cqw;
      margin-top: 1.5em;
    }
  }
  @media screen and (width <= 425px) {
    .s_home-content {
      padding-top: calc(0.1333333333 * var(--width-body));
      padding-bottom: calc(0.0533333333 * var(--width-body));
      padding-left: calc(0.08 * var(--width-body));
      padding-right: calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_home-content {
      container-type: inline-size;
      padding-top: min(0.0523560209 * var(--width-body), 50px);
      padding-bottom: min(0.0523560209 * var(--width-body), 50px);
      padding-left: max(0.0390625 * var(--width-body), 50% - 440px);
      padding-right: max(0.0390625 * var(--width-body), 50% - 440px);
      margin-top: min(0.0523560209 * var(--width-body), 50px);
    }
  }
  @media (1280px < width) {
    .s_home-content {
      padding-top: calc(0.0390625 * var(--width-body));
      padding-bottom: calc(0.0390625 * var(--width-body));
      padding-left: calc(0.15625 * var(--width-body));
      padding-right: calc(0.15625 * var(--width-body));
      margin-top: calc(0.0390625 * var(--width-body));
    }
  }
  .s_home-content_items {
    display: grid;
    grid-template-columns: 1fr;
  }
  @media screen and (width <= 425px) {
    .s_home-content_items {
      gap: calc(0.08 * var(--width-body)) 0;
    }
  }
  @media (425px < width) {
    .s_home-content_items {
      gap: 11.3636363636cqw 0;
    }
  }
  .s_home-content :where(figure) {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    position: relative;
    z-index: 0;
  }
  @media (425px < width) {
    .s_home-content :where(figure) {
      aspect-ratio: 880/540;
    }
  }
  .s_home-content_image {
    overflow: hidden;
    grid-column: 1/2;
    grid-row: 1/2;
    position: relative;
    z-index: -1;
  }
  .s_home-content_image :where(img) {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  @media (425px < width) {
    .s_home-content_image :where(img) {
      transition: scale 0.3s ease-in;
      scale: 1;
    }
  }
  .s_home-content_image::after {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    background-color: rgba(112, 112, 112, 0.2);
    mix-blend-mode: multiply;
  }
  @media (425px < width) {
    .s_home-content_item :where(a:hover .s_home-content_image img) {
      transition-duration: 0.5s;
      transition-timing-function: ease-out;
      scale: 1.1;
    }
  }
  .s_home-content :where(figcaption) {
    grid-column: 1/2;
    grid-row: 1/2;
    align-self: center;
    justify-self: center;
    position: relative;
    z-index: 0;
    text-align: center;
    color: #FFFFFF;
  }
  .s_home-content_name {
    font-family: "EB Garamond", serif;
    font-weight: 400;
    text-align: center;
    text-transform: uppercase;
  }
  @media screen and (width <= 425px) {
    .s_home-content_name {
      font-size: calc(0.0853333333 * var(--width-body));
      line-height: 1.34375;
      text-shadow: 0 calc(0.008 * var(--width-body)) calc(0.016 * var(--width-body)) rgba(54, 50, 48, 0.4);
    }
  }
  @media (425px < width) {
    .s_home-content_name {
      font-size: 4.7727272727cqw;
      line-height: 1.3333333333;
      text-shadow: 0 0.3409090909cqw 0.6818181818cqw rgba(54, 50, 48, 0.4);
    }
  }
  .s_home-content_mark {
    --color-ln: #FFFFFF;
    --color-tx: #FFFFFF;
    font-family: "EB Garamond", serif;
    font-weight: 400;
    text-transform: uppercase;
  }
  @media screen and (width <= 425px) {
    .s_home-content_mark {
      font-size: calc(0.0533333333 * var(--width-body));
      margin-top: 0.1em;
    }
  }
  @media (425px < width) {
    .s_home-content_mark {
      font-size: 2.2727272727cqw;
      margin-top: 1.1em;
    }
  }
  @media screen and (width <= 425px) {
    .s_home-content_mark :where(span) {
      text-shadow: calc(0.0026666667 * var(--width-body)) calc(0.0026666667 * var(--width-body)) calc(0.008 * var(--width-body)) rgba(54, 50, 48, 0.3);
      box-shadow: calc(0.0026666667 * var(--width-body)) calc(0.0026666667 * var(--width-body)) calc(0.008 * var(--width-body)) rgba(54, 50, 48, 0.3);
    }
  }
  @media (425px < width) {
    .s_home-content_mark :where(span) {
      text-shadow: 0.1136363636cqw 0.1136363636cqw 0.3409090909cqw rgba(54, 50, 48, 0.3);
      box-shadow: 0.1136363636cqw 0.1136363636cqw 0.3409090909cqw rgba(54, 50, 48, 0.3);
    }
  }
  @media screen and (width <= 425px) {
    .s_home-report {
      padding-top: calc(0.0586666667 * var(--width-body));
      padding-bottom: calc(0.1333333333 * var(--width-body));
      padding-left: calc(0.08 * var(--width-body));
      padding-right: calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_home-report {
      container-type: inline-size;
      padding-top: min(0.0523560209 * var(--width-body), 50px);
      padding-bottom: min(0.1570680628 * var(--width-body), 150px);
      padding-left: max(0.0390625 * var(--width-body), 50% - 440px);
      padding-right: max(0.0390625 * var(--width-body), 50% - 440px);
      margin-top: min(0.0523560209 * var(--width-body), 50px);
    }
  }
  @media (1280px < width) {
    .s_home-report {
      padding-top: calc(0.0390625 * var(--width-body));
      padding-bottom: calc(0.1171875 * var(--width-body));
      padding-left: calc(0.15625 * var(--width-body));
      padding-right: calc(0.15625 * var(--width-body));
      margin-top: calc(0.0390625 * var(--width-body));
    }
  }
  .s_home-report_title {
    font-family: "EB Garamond", serif;
    font-weight: 400;
    text-align: center;
    text-transform: uppercase;
  }
  @media screen and (width <= 425px) {
    .s_home-report_title {
      font-size: calc(0.0853333333 * var(--width-body));
      margin-bottom: 0.6875em;
      line-height: 1.34375;
    }
  }
  @media (425px < width) {
    .s_home-report_title {
      font-size: 4.7727272727cqw;
      margin-bottom: 0.5238095238em;
      line-height: 1.3333333333;
    }
  }
  .s_home-report_slide {
    position: relative;
    z-index: 0;
  }
  @media screen and (width <= 425px) {
    .s_home-report_slideWrapper {
      margin-left: calc(-0.08 * var(--width-body));
      margin-right: calc(-0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_home-report_slideWrapper {
      margin-left: -59.0909090909cqw;
      margin-right: -59.0909090909cqw;
    }
  }
  .s_home-report_slideInner {
    position: relative;
    z-index: 0;
  }
  .s_home-report_slideControl {
    margin-left: auto;
    margin-right: auto;
    position: absolute;
    left: 0;
    right: 0;
    z-index: 1;
  }
  @media screen and (width <= 425px) {
    .s_home-report_slideControl {
      width: calc(0.9466666667 * var(--width-body));
      top: calc(0.34 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_home-report_slideControl {
      width: 86.3636363636cqw;
      top: 50%;
      translate: 0 -50%;
    }
  }
  .s_home-report_slideControl :where(button) {
    all: unset;
    display: block;
  }
  .s_home-report_slideButton {
    cursor: pointer;
    overflow: hidden;
    aspect-ratio: 1;
    border-radius: 100vw;
    position: absolute;
    z-index: 1;
    translate: 0 -50%;
    background-color: #363230;
    mask: url("../img/cmn_button-mark_2.svg") no-repeat center center/contain;
    -webkit-mask: url("../img/cmn_button-mark_2.svg") no-repeat center center/contain;
  }
  @media screen and (width <= 425px) {
    .s_home-report_slideButton {
      width: calc(0.1066666667 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_home-report_slideButton {
      width: 9.0909090909cqw;
    }
  }
  .s_home-report_slideButtonPrev {
    left: 0;
  }
  .s_home-report_slideButtonNext {
    right: 0;
    scale: -1;
  }
  .s_home-report_slideButton svg {
    display: none;
  }
  @media screen and (width <= 425px) {
    .s_home-report_item {
      padding-left: calc(0.16 * var(--width-body));
      padding-right: calc(0.16 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_home-report_item {
      padding-left: 5.6818181818cqw;
      padding-right: 5.6818181818cqw;
    }
  }
  @media (425px < width) {
    .s_home-report :where(figure) {
      transition: scale 0.3s;
      scale: 0.8;
    }
  }
  @media (425px < width) {
    .s_home-report_item.is-active :where(figure) {
      scale: 1;
    }
  }
  .s_home-report_image {
    aspect-ratio: 1;
    overflow: hidden;
  }
  .s_home-report_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .s_home-report :where(figcaption) {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
  }
  @media screen and (width <= 425px) {
    .s_home-report :where(figcaption) {
      font-size: calc(0.048 * var(--width-body));
      margin-top: 0.5555555556em;
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .s_home-report :where(figcaption) {
      font-size: 2.0454545455cqw;
      margin-top: 1.5555555556em;
      line-height: 1.3333333333;
    }
  }
  .s_home-report_link {
    font-family: "EB Garamond", serif;
    font-weight: 400;
    letter-spacing: 0.02em;
    text-align: center;
    text-transform: uppercase;
  }
  @media screen and (width <= 425px) {
    .s_home-report_link {
      font-size: calc(0.0533333333 * var(--width-body));
      margin-top: 1.5em;
    }
  }
  @media (425px < width) {
    .s_home-report_link {
      font-size: 2.2727272727cqw;
      margin-top: 1.5em;
    }
  }
}
@layer component {
  @media screen and (width <= 425px) {
    .s_infomation-index {
      padding-bottom: calc(0.128 * var(--width-body));
      padding-left: calc(0.08 * var(--width-body));
      padding-right: calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_infomation-index {
      container-type: inline-size;
      padding-bottom: min(0.1047120419 * var(--width-body), 100px);
      padding-left: max(0.0390625 * var(--width-body), 50% - 440px);
      padding-right: max(0.0390625 * var(--width-body), 50% - 440px);
    }
  }
  @media (1280px < width) {
    .s_infomation-index {
      padding-bottom: calc(0.078125 * var(--width-body));
      padding-left: calc(0.15625 * var(--width-body));
      padding-right: calc(0.15625 * var(--width-body));
    }
  }
  .s_infomation-index_items {
    display: grid;
  }
  @media screen and (width <= 425px) {
    .s_infomation-index_items {
      grid-template-columns: repeat(2, 1fr);
      gap: calc(0.0853333333 * var(--width-body)) calc(0.0426666667 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_infomation-index_items {
      grid-template-columns: repeat(3, 1fr);
      gap: 9.0909090909cqw;
    }
  }
  .s_infomation-index_item {
    flex-grow: 0;
    flex-shrink: 1;
    flex-basis: 1;
  }
  @media screen and (width <= 425px) {
    .s_infomation-index_control {
      margin-top: calc(0.0853333333 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_infomation-index_control {
      margin-top: 5.6818181818cqw;
    }
  }
  @media screen and (width <= 425px) {
    .s_infomation-article {
      padding-top: calc(0.1066666667 * var(--width-body));
      padding-bottom: calc(0.1333333333 * var(--width-body));
      padding-left: calc(0.08 * var(--width-body));
      padding-right: calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_infomation-article {
      container-type: inline-size;
      padding-top: min(0.0837696335 * var(--width-body), 80px);
      padding-bottom: min(0.1047120419 * var(--width-body), 100px);
      padding-left: max(0.0390625 * var(--width-body), 50% - 440px);
      padding-right: max(0.0390625 * var(--width-body), 50% - 440px);
    }
  }
  @media (1280px < width) {
    .s_infomation-article {
      padding-bottom: calc(0.0625 * var(--width-body));
      padding-bottom: calc(0.078125 * var(--width-body));
      padding-left: calc(0.15625 * var(--width-body));
      padding-right: calc(0.15625 * var(--width-body));
    }
  }
  @media screen and (width <= 425px) {
    .s_infomation-article_header {
      margin-bottom: calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_infomation-article_header {
      margin-bottom: 2.2727272727cqw;
    }
  }
  .s_infomation-article_header :where(:has(time)) {
    text-decoration: underline;
  }
  @media screen and (width <= 425px) {
    .s_infomation-article_header :where(:has(time)) {
      margin-bottom: calc(0.0053333333 * var(--width-body));
      font-size: calc(0.048 * var(--width-body));
      line-height: 1.1111111111;
    }
  }
  @media (425px < width) {
    .s_infomation-article_header :where(:has(time)) {
      margin-bottom: 0.2272727273cqw;
      font-size: 2.0454545455cqw;
      line-height: 1.3333333333;
    }
  }
  .s_infomation-article_title {
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    letter-spacing: 0.05em;
  }
  @media screen and (width <= 425px) {
    .s_infomation-article_title {
      font-size: calc(0.0853333333 * var(--width-body));
      line-height: 1.3125;
    }
  }
  @media (425px < width) {
    .s_infomation-article_title {
      font-size: 4.7727272727cqw;
      line-height: 1.2857142857;
    }
  }
  .s_infomation-article_hero :where(img) {
    width: 100%;
    height: auto;
    text-align: top;
  }
  @media screen and (width <= 425px) {
    .s_infomation-article_hero {
      margin-bottom: calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_infomation-article_hero {
      margin-bottom: 5.6818181818cqw;
    }
  }
  @media screen and (width <= 425px) {
    .s_infomation-article_control {
      margin-top: calc(0.1333333333 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_infomation-article_control {
      margin-top: 5.6818181818cqw;
    }
  }
}
@layer component {
  @media screen and (width <= 425px) {
    .s_ceremony-main {
      padding-bottom: calc(0.1333333333 * var(--width-body));
      padding-left: calc(0.08 * var(--width-body));
      padding-right: calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_ceremony-main {
      container-type: inline-size;
      padding-bottom: min(0.1047120419 * var(--width-body), 100px);
      padding-left: max(0.0390625 * var(--width-body), 50% - 440px);
      padding-right: max(0.0390625 * var(--width-body), 50% - 440px);
    }
  }
  @media (1280px < width) {
    .s_ceremony-main {
      padding-bottom: calc(0.078125 * var(--width-body));
      padding-left: calc(0.15625 * var(--width-body));
      padding-right: calc(0.15625 * var(--width-body));
    }
  }
  @media screen and (width <= 425px) {
    .s_ceremony-main_shortcuts {
      padding-top: calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_ceremony-main_shortcuts {
      padding-top: 5.6818181818cqw;
    }
  }
  @media screen and (width <= 425px) {
    .s_ceremony-main_shortcut {
      font-size: calc(0.04 * var(--width-body));
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .s_ceremony-main_shortcut {
      font-size: 1.7045454545cqw;
    }
  }
  @media screen and (width <= 425px) {
    .s_ceremony-main_shortcut :where(label) {
      padding: calc(0.0133333333 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_ceremony-main_shortcut :where(label) {
      padding: 0.9090909091cqw 1.8181818182cqw;
    }
  }
  .s_ceremony-main_shortcut :where(b) {
    margin-right: 0.5em;
    font-family: "EB Garamond", serif;
    font-weight: 400;
    text-transform: uppercase;
  }
  @media screen and (width <= 425px) {
    .s_ceremony-main_shortcut :where(b) {
      font-size: calc(0.0533333333 * var(--width-body));
      line-height: 1.35;
    }
  }
  @media (425px < width) {
    .s_ceremony-main_shortcut :where(b) {
      font-size: 2.2727272727cqw;
    }
  }
  .s_ceremony-main_content {
    display: grid;
  }
  @media screen and (width <= 425px) {
    .s_ceremony-main_content {
      grid-template-columns: 1fr;
      grid-template-rows: repeat(5, auto);
      gap: calc(0.0266666667 * var(--width-body)) 0;
      padding-top: calc(0.5333333333 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_ceremony-main_content {
      grid-template-columns: repeat(2, 1fr);
      grid-template-rows: repeat(4, auto);
      gap: 3.4090909091cqw 4.5454545455cqw;
      padding-top: 15.3409090909cqw;
    }
  }
  .s_ceremony-header {
    text-align: center;
    grid-row: 1/2;
  }
  @media screen and (width <= 425px) {
    .s_ceremony-header {
      grid-column: 1/2;
    }
  }
  @media (425px < width) {
    .s_ceremony-header {
      grid-column: 1/span 2;
      margin-bottom: -1.1363636364cqw;
    }
  }
  .s_ceremony-header :where(p) {
    font-family: "EB Garamond", serif;
    font-weight: 400;
    text-transform: uppercase;
  }
  @media screen and (width <= 425px) {
    .s_ceremony-header :where(p) {
      font-size: calc(0.0853333333 * var(--width-body));
      line-height: 1.34375;
    }
  }
  @media (425px < width) {
    .s_ceremony-header :where(p) {
      font-size: 4.7727272727cqw;
      line-height: 1.3333333333;
    }
  }
  .s_ceremony-header_text {
    font-weight: 500;
  }
  @media screen and (width <= 425px) {
    .s_ceremony-header_text {
      font-size: calc(0.04 * var(--width-body));
      line-height: 2.1333333333;
    }
  }
  @media (425px < width) {
    .s_ceremony-header_text {
      font-size: 1.7045454545cqw;
      line-height: 2.1333333333;
    }
  }
  .s_ceremony-image {
    grid-row: 3/4;
    aspect-ratio: 880/540;
  }
  @media screen and (width <= 425px) {
    .s_ceremony-image {
      grid-column: 1/2;
      width: 100%;
      margin-bottom: calc(0.0266666667 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_ceremony-image {
      grid-column: 1/span 2;
      width: 100cqw;
    }
  }
  .s_ceremony-image :where(img) {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .s_ceremony-seat {
    grid-row: 2/3;
    justify-self: center;
    padding: 0.5em 1em;
    border: solid 1px #363230;
    font-weight: 500;
  }
  @media screen and (width <= 425px) {
    .s_ceremony-seat {
      grid-column: 1/2;
      margin-bottom: calc(0.0533333333 * var(--width-body));
      font-size: calc(0.04 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_ceremony-seat {
      grid-column: 1/span 2;
      margin-bottom: 2.2727272727cqw;
      font-size: 1.7045454545cqw;
    }
  }
  .s_ceremony-include {
    display: grid;
    grid-template-columns: 1fr 1px 1fr;
    grid-template-rows: auto;
    background-color: #FFFFFF;
  }
  @media screen and (width <= 425px) {
    .s_ceremony-include {
      gap: 0 calc(0.0266666667 * var(--width-body));
      padding: calc(0.0533333333 * var(--width-body));
      font-size: calc(0.04 * var(--width-body));
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .s_ceremony-include {
      gap: 0 2.2727272727cqw;
      padding: 3.4090909091cqw 4.5454545455cqw;
      font-size: 1.7045454545cqw;
      line-height: 1.3333333333;
    }
  }
  .s_ceremony-include_header {
    grid-column: 1/2;
    grid-row: 1/2;
  }
  .s_ceremony-include_body {
    grid-column: 3/4;
    grid-row: 1/2;
  }
  .s_ceremony-include_body :where(ul) {
    list-style-type: disc;
    padding-left: 1.2em;
  }
  .s_ceremony-include::after {
    content: "";
    display: block;
    background-color: #363230;
    grid-column: 2/3;
    grid-row: 1/2;
  }
}
@layer component {
  @media screen and (width <= 425px) {
    .s_party-main {
      padding-bottom: calc(0.1333333333 * var(--width-body));
      padding-left: calc(0.08 * var(--width-body));
      padding-right: calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_party-main {
      container-type: inline-size;
      padding-bottom: min(0.1047120419 * var(--width-body), 100px);
      padding-left: max(0.0390625 * var(--width-body), 50% - 440px);
      padding-right: max(0.0390625 * var(--width-body), 50% - 440px);
    }
  }
  @media (1280px < width) {
    .s_party-main {
      padding-bottom: calc(0.078125 * var(--width-body));
      padding-left: calc(0.15625 * var(--width-body));
      padding-right: calc(0.15625 * var(--width-body));
    }
  }
  @media screen and (width <= 425px) {
    .s_party-main_shortcuts {
      padding-top: calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_party-main_shortcuts {
      padding-top: 5.6818181818cqw;
    }
  }
  @media screen and (width <= 425px) {
    .s_party-main_shortcut {
      font-size: calc(0.04 * var(--width-body));
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .s_party-main_shortcut {
      font-size: 1.7045454545cqw;
    }
  }
  @media screen and (width <= 425px) {
    .s_party-main_shortcut :where(label) {
      padding: calc(0.0133333333 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_party-main_shortcut :where(label) {
      padding: 0.9090909091cqw 1.8181818182cqw;
    }
  }
  .s_party-main_shortcut :where(b) {
    margin-right: 0.5em;
    font-family: "EB Garamond", serif;
    font-weight: 400;
    text-transform: uppercase;
  }
  @media screen and (width <= 425px) {
    .s_party-main_shortcut :where(b) {
      font-size: calc(0.0533333333 * var(--width-body));
      line-height: 1.35;
    }
  }
  @media (425px < width) {
    .s_party-main_shortcut :where(b) {
      font-size: 2.2727272727cqw;
    }
  }
  .s_party-main_content {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(5, auto);
  }
  @media screen and (width <= 425px) {
    .s_party-main_content {
      gap: calc(0.0266666667 * var(--width-body)) 0;
      padding-top: calc(0.5333333333 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_party-main_content {
      gap: 3.4090909091cqw 0;
      padding-top: 15.3409090909cqw;
    }
  }
  .s_party-header {
    text-align: center;
    grid-row: 1/2;
    grid-column: 1/2;
  }
  @media (425px < width) {
    .s_party-header {
      margin-bottom: -1.1363636364cqw;
    }
  }
  .s_party-header :where(p) {
    font-family: "EB Garamond", serif;
    font-weight: 400;
    text-transform: uppercase;
  }
  @media screen and (width <= 425px) {
    .s_party-header :where(p) {
      font-size: calc(0.0853333333 * var(--width-body));
      line-height: 1.34375;
    }
  }
  @media (425px < width) {
    .s_party-header :where(p) {
      font-size: 4.7727272727cqw;
      line-height: 1.3333333333;
    }
  }
  .s_party-header_text {
    font-weight: 500;
  }
  @media screen and (width <= 425px) {
    .s_party-header_text {
      font-size: calc(0.04 * var(--width-body));
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .s_party-header_text {
      font-size: 1.7045454545cqw;
      line-height: 2.1333333333;
    }
  }
  .s_party-image {
    grid-column: 1/2;
    grid-row: 4/5;
    aspect-ratio: 880/540;
  }
  @media screen and (width <= 425px) {
    .s_party-image {
      width: 100%;
      margin-bottom: calc(0.0266666667 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_party-image {
      width: 100cqw;
    }
  }
  .s_party-image :where(img) {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .s_party-seat {
    grid-column: 1/2;
    grid-row: 2/3;
    justify-self: center;
    padding: 0.5em 1em;
    border: solid 1px #363230;
    font-weight: 500;
  }
  @media screen and (width <= 425px) {
    .s_party-seat {
      margin-bottom: calc(0.0533333333 * var(--width-body));
      font-size: calc(0.04 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_party-seat {
      margin-bottom: 2.2727272727cqw;
      font-size: 1.7045454545cqw;
    }
  }
  .s_party-cost {
    grid-column: 1/2;
    grid-row: 3/4;
    justify-self: center;
  }
  @media screen and (width <= 425px) {
    .s_party-cost {
      margin-bottom: calc(0.0533333333 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_party-cost {
      margin-bottom: 2.2727272727cqw;
    }
  }
  .s_party-cost :where(dl) {
    display: grid;
    grid-template-columns: repeat(2, auto);
    grid-template-rows: repeat(2, auto);
    align-items: baseline;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    text-align: right;
  }
  @media screen and (width <= 425px) {
    .s_party-cost :where(dl) {
      gap: calc(0.0213333333 * var(--width-body)) calc(0.032 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_party-cost :where(dl) {
      gap: 0.9090909091cqw 1.1363636364cqw;
    }
  }
  .s_party-cost :where(dt) {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
  }
  @media screen and (width <= 425px) {
    .s_party-cost :where(dt) {
      font-size: calc(0.048 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_party-cost :where(dt) {
      font-size: 2.0454545455cqw;
    }
  }
  .s_party-cost :where(dd) {
    font-family: "EB Garamond", serif;
    font-weight: 400;
  }
  @media screen and (width <= 425px) {
    .s_party-cost :where(dd) {
      font-size: calc(0.112 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_party-cost :where(dd) {
      font-size: 7.6136363636cqw;
    }
  }
  .s_party-cost :where(p) {
    margin-top: 1em;
    font-weight: 500;
    text-align: center;
  }
  @media screen and (width <= 425px) {
    .s_party-cost :where(p) {
      font-size: calc(0.0293333333 * var(--width-body));
      letter-spacing: -0.01em;
    }
  }
  @media (425px < width) {
    .s_party-cost :where(p) {
      font-size: 1.3636363636cqw;
    }
  }
  .s_party-include {
    display: grid;
    background-color: #FFFFFF;
  }
  @media screen and (width <= 425px) {
    .s_party-include {
      grid-template-columns: 1fr;
      grid-template-rows: auto 1px auto;
      gap: calc(0.0266666667 * var(--width-body)) 0;
      padding: calc(0.0533333333 * var(--width-body));
      font-size: calc(0.04 * var(--width-body));
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .s_party-include {
      grid-template-columns: auto 1px 1fr;
      grid-template-rows: auto;
      gap: 0 2.2727272727cqw;
      padding: 3.4090909091cqw 4.5454545455cqw;
      font-size: 1.7045454545cqw;
      line-height: 1.3333333333;
    }
  }
  .s_party-include_header {
    grid-column: 1/2;
    grid-row: 1/2;
  }
  @media screen and (width <= 425px) {
    .s_party-include_body {
      grid-column: 1/2;
      grid-row: 3/4;
    }
  }
  @media (425px < width) {
    .s_party-include_body {
      grid-column: 3/4;
      grid-row: 1/2;
    }
  }
  .s_party-include_body :where(ul) {
    list-style-type: disc;
    padding-left: 1.2em;
  }
  .s_party-include_body :where(p) {
    margin-top: 0.75em;
  }
  .s_party-include::after {
    content: "";
    display: block;
    background-color: #363230;
  }
  @media screen and (width <= 425px) {
    .s_party-include::after {
      grid-column: 1/2;
      grid-row: 2/3;
    }
  }
  @media (425px < width) {
    .s_party-include::after {
      grid-column: 2/3;
      grid-row: 1/2;
    }
  }
}
@layer component {
  @media screen and (width <= 425px) {
    .s_sesshion-shortcut {
      padding-top: calc(0.1333333333 * var(--width-body));
      padding-left: calc(0.08 * var(--width-body));
      padding-right: calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_sesshion-shortcut {
      container-type: inline-size;
      width: 100%;
      max-width: 880px;
    }
  }
  .s_sesshion-shortcut :where(menu) {
    justify-content: center;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-shortcut_link {
      font-size: calc(0.04 * var(--width-body));
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .s_sesshion-shortcut_link {
      font-size: 1.7045454545cqw;
    }
  }
  @media screen and (width <= 425px) {
    .s_sesshion-shortcut_link :where(label) {
      padding: calc(0.0133333333 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_sesshion-shortcut_link :where(label) {
      padding: 0.9090909091cqw 1.8181818182cqw;
    }
  }
  .s_sesshion-shortcut_link :where(b) {
    margin-right: 0.5em;
    font-family: "EB Garamond", serif;
    font-weight: 400;
    text-transform: uppercase;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-shortcut_link :where(b) {
      font-size: calc(0.0533333333 * var(--width-body));
      line-height: 1.35;
    }
  }
  @media (425px < width) {
    .s_sesshion-shortcut_link :where(b) {
      font-size: 2.2727272727cqw;
    }
  }
  .s_sesshion-heading {
    text-align: center;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-heading {
      margin-bottom: calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_sesshion-heading {
      margin-bottom: 3.4090909091cqw;
    }
  }
  .s_sesshion-heading_main {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-heading_main {
      font-size: calc(0.0853333333 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_sesshion-heading_main {
      font-size: 4.7727272727cqw;
    }
  }
  .s_sesshion-heading_main[lang=en] {
    font-family: "EB Garamond", serif;
    font-weight: 400;
    text-transform: uppercase;
  }
  .s_sesshion-heading_sub {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    margin-top: 0.75em;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-heading_sub {
      font-size: calc(0.0346666667 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_sesshion-heading_sub {
      font-size: 1.7045454545cqw;
    }
  }
  .s_sesshion-heading_sub[lang=en] {
    font-family: "EB Garamond", serif;
    font-weight: 400;
    text-transform: uppercase;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-top {
      padding-top: calc(0.5866666667 * var(--width-body));
      padding-bottom: calc(0.1333333333 * var(--width-body));
      padding-left: calc(0.08 * var(--width-body));
      padding-right: calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_sesshion-top {
      container-type: inline-size;
      padding-top: min(0.0890052356 * var(--width-body), 85px);
      padding-bottom: min(0.0837696335 * var(--width-body), 80px);
      padding-left: max(0.0390625 * var(--width-body), 50% - 440px);
      padding-right: max(0.0390625 * var(--width-body), 50% - 440px);
    }
  }
  @media (1280px < width) {
    .s_sesshion-top {
      padding-top: calc(0.06640625 * var(--width-body));
      padding-bottom: calc(0.0625 * var(--width-body));
      padding-left: calc(0.15625 * var(--width-body));
      padding-right: calc(0.15625 * var(--width-body));
    }
  }
  .s_sesshion-top_lead {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    text-decoration: underline;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-top_lead {
      font-size: calc(0.04 * var(--width-body));
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .s_sesshion-top_lead {
      margin-top: -1.1363636364cqw;
      font-size: 1.7045454545cqw;
      line-height: 2.1333333333;
      text-align: center;
    }
  }
  .s_sesshion-top_price {
    text-align: center;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-top_price {
      margin-top: calc(0.0426666667 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_sesshion-top_price {
      margin-top: 3.4090909091cqw;
    }
  }
  .s_sesshion-top_price :where(p:not(:has(small))) {
    font-family: "EB Garamond", serif;
    font-weight: 400;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-top_price :where(p:not(:has(small))) {
      font-size: calc(0.112 * var(--width-body));
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .s_sesshion-top_price :where(p:not(:has(small))) {
      font-size: 7.6136363636cqw;
      line-height: 1.328358209;
    }
  }
  .s_sesshion-top_price :where(p::has(small)) {
    font-weight: 500;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-top_price :where(p::has(small)) {
      margin-top: calc(0.032 * var(--width-body));
      font-size: calc(0.0293333333 * var(--width-body));
      line-height: 1.2727272727;
      letter-spacing: -0.01em;
    }
  }
  @media (425px < width) {
    .s_sesshion-top_price :where(p::has(small)) {
      margin-top: 0.3409090909cqw;
      font-size: 1.3636363636cqw;
      line-height: 2.6666666667;
    }
  }
  .s_sesshion-top_list {
    background-color: #FFFFFF;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-top_list {
      margin-top: calc(0.1333333333 * var(--width-body));
      padding: calc(0.0533333333 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_sesshion-top_list {
      margin-top: 5.6818181818cqw;
      padding: 3.4090909091cqw;
    }
  }
  @media screen and (width <= 425px) {
    .s_sesshion-top_list :where(dl) {
      font-size: calc(0.04 * var(--width-body));
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .s_sesshion-top_list :where(dl) {
      display: grid;
      grid-template-columns: repeat(2, auto);
      width: fit-content;
      margin-left: auto;
      margin-right: auto;
      font-size: 1.7045454545cqw;
      line-height: 1.3333333333;
    }
  }
  .s_sesshion-top_list :where(dl > dt) {
    font-weight: 500;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-top_list :where(dl > dt) {
      border-bottom: solid 1px #363230;
      margin-bottom: calc(0.0106666667 * var(--width-body));
    }
    .s_sesshion-top_list :where(dl > dt):not(:first-child) {
      margin-top: calc(0.0533333333 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_sesshion-top_list :where(dl > dt) {
      border-right: solid 1px #363230;
      padding-left: 3em;
      padding-right: 1em;
      margin-right: 1em;
      text-align: right;
    }
  }
  .s_sesshion-flow {
    background-color: #FFFFFF;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-flow {
      padding-top: calc(0.1333333333 * var(--width-body));
      padding-bottom: calc(0.0666666667 * var(--width-body));
      padding-left: calc(0.08 * var(--width-body));
      padding-right: calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_sesshion-flow {
      container-type: inline-size;
      padding-top: min(0.0523560209 * var(--width-body), 50px);
      padding-bottom: min(0.0523560209 * var(--width-body), 50px);
      padding-left: max(0.0390625 * var(--width-body), 50% - 440px);
      padding-right: max(0.0390625 * var(--width-body), 50% - 440px);
    }
  }
  @media (1280px < width) {
    .s_sesshion-flow {
      padding-top: calc(0.0390625 * var(--width-body));
      padding-bottom: calc(0.0390625 * var(--width-body));
      padding-left: calc(0.15625 * var(--width-body));
      padding-right: calc(0.15625 * var(--width-body));
    }
  }
  .s_sesshion-flow_items {
    display: grid;
    grid-template-columns: 1fr;
    position: relative;
    z-index: 0;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-flow_items {
      gap: calc(0.08 * var(--width-body)) 0;
    }
  }
  @media (425px < width) {
    .s_sesshion-flow_items {
      gap: 11.3636363636cqw 0;
      margin-top: 5.6818181818cqw;
    }
    .s_sesshion-flow_items::after {
      content: "";
      display: block;
      border-left: dashed 1px #363230;
      width: 0;
      height: 100%;
      margin-left: auto;
      margin-right: auto;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      z-index: -1;
    }
  }
  .s_sesshion-flow_item {
    background-color: #F5F1EC;
  }
  @media (425px < width) {
    .s_sesshion-flow_item {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      align-items: center;
    }
  }
  .s_sesshion-flow_item-checkin, .s_sesshion-flow_item-intermission {
    background-color: #FFFFFF;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-flow_item-checkin, .s_sesshion-flow_item-intermission {
      margin-bottom: calc(-0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_sesshion-flow_item-checkin, .s_sesshion-flow_item-intermission {
      align-self: center;
      display: grid;
      grid-template-columns: repeat(2, auto);
      justify-self: center;
      width: fit-content;
      margin-top: -5.6818181818cqw;
      margin-bottom: -5.6818181818cqw;
    }
  }
  .s_sesshion-flow_item-movie {
    border: solid 1px #363230;
    position: relative;
    z-index: 0;
    background-color: #FFFFFF;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-flow_item-movie {
      padding: calc(0.0533333333 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_sesshion-flow_item-movie {
      padding: 2.2727272727cqw;
      margin-top: -5.6818181818cqw;
    }
  }
  .s_sesshion-flow_item-movie::after {
    content: "";
    opacity: 0.3;
    display: block;
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image: url("../../sesshion/img/index_flow-bg.png");
    background-repeat: no-repeat;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-flow_item-movie::after {
      background-size: 150% auto;
      background-position: 15% 0;
    }
  }
  @media (425px < width) {
    .s_sesshion-flow_item-movie::after {
      background-size: contain;
      background-position: top center;
    }
  }
  .s_sesshion-flow_image {
    aspect-ratio: 440/284;
  }
  .s_sesshion-flow_image :where(img) {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .s_sesshion-flow_icon :where(img) {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .s_sesshion-flow_item-checkin .s_sesshion-flow_icon {
    aspect-ratio: 63.17/110.43;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-flow_item-checkin .s_sesshion-flow_icon {
      width: calc(0.1677866667 * var(--width-body));
      margin-left: auto;
      margin-right: auto;
    }
  }
  @media (425px < width) {
    .s_sesshion-flow_item-checkin .s_sesshion-flow_icon {
      width: 7.1784090909cqw;
    }
  }
  .s_sesshion-flow_item-intermission .s_sesshion-flow_icon {
    aspect-ratio: 62.53/61.54;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-flow_item-intermission .s_sesshion-flow_icon {
      width: calc(0.2980533333 * var(--width-body));
      margin-left: auto;
      margin-right: auto;
    }
  }
  @media (425px < width) {
    .s_sesshion-flow_item-intermission .s_sesshion-flow_icon {
      width: 7.1056818182cqw;
    }
  }
  @media screen and (width <= 425px) {
    .s_sesshion-flow_text {
      padding: calc(0.0533333333 * var(--width-body)) calc(0.08 * var(--width-body)) calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_sesshion-flow_text {
      padding-left: 3.4090909091cqw;
    }
  }
  .s_sesshion-flow_text :where(p:not(:first-child)) {
    margin-top: 1em;
  }
  .s_sesshion-flow_text :where(p:not(:has(small))) {
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-decoration: underline;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-flow_text :where(p:not(:has(small))) {
      font-size: calc(0.048 * var(--width-body));
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .s_sesshion-flow_text :where(p:not(:has(small))) {
      font-size: 2.0454545455cqw;
      line-height: 1.3333333333;
    }
  }
  .s_sesshion-flow_text :where(p:has(small)) {
    font-weight: 500;
    letter-spacing: 0;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-flow_text :where(p:has(small)) {
      font-size: calc(0.04 * var(--width-body));
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .s_sesshion-flow_text :where(p:has(small)) {
      font-size: 1.7045454545cqw;
      line-height: 1.3333333333;
    }
  }
  .s_sesshion-flow_text :where(p[lang=en]) {
    font-family: "EB Garamond", serif;
    font-weight: 400;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 0;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-flow_text :where(p[lang=en]) {
      font-size: calc(0.0853333333 * var(--width-body));
      line-height: 1.34375;
    }
  }
  @media (425px < width) {
    .s_sesshion-flow_text :where(p[lang=en]) {
      font-size: 4.7727272727cqw;
      line-height: 1.3333333333;
    }
  }
  @media screen and (width <= 425px) {
    .s_sesshion-flow_item-movie .s_sesshion-flow_text {
      padding: calc(0.0426666667 * var(--width-body)) 0 0;
    }
  }
  .s_sesshion-option {
    background-color: #FFFFFF;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-option {
      padding-top: calc(0.0666666667 * var(--width-body));
      padding-bottom: calc(0.0666666667 * var(--width-body));
      padding-left: calc(0.08 * var(--width-body));
      padding-right: calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_sesshion-option {
      container-type: inline-size;
      padding-top: min(0.0523560209 * var(--width-body), 50px);
      padding-bottom: min(0.0523560209 * var(--width-body), 50px);
      padding-left: max(0.0390625 * var(--width-body), 50% - 440px);
      padding-right: max(0.0390625 * var(--width-body), 50% - 440px);
    }
  }
  @media (1280px < width) {
    .s_sesshion-option {
      padding-top: calc(0.0390625 * var(--width-body));
      padding-bottom: calc(0.0390625 * var(--width-body));
      padding-left: calc(0.15625 * var(--width-body));
      padding-right: calc(0.15625 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_sesshion-option_blocks {
      display: grid;
      grid-template-columns: 2fr auto 5fr;
    }
  }
  @media screen and (width <= 425px) {
    .s_sesshion-option_block {
      padding: calc(0.04 * var(--width-body)) calc(0.0533333333 * var(--width-body)) calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_sesshion-option_block {
      grid-column: 1/span 3;
      display: grid;
      grid-template-columns: subgrid;
      gap: 2.2727272727cqw 0;
      padding: 2.2727272727cqw;
    }
  }
  .s_sesshion-option_block:nth-child(odd) {
    background-color: #F5F1EC;
  }
  .s_sesshion-option_blockHeading {
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    letter-spacing: 0.05em;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-option_blockHeading {
      margin-bottom: calc(0.0186666667 * var(--width-body));
      font-size: calc(0.048 * var(--width-body));
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .s_sesshion-option_blockHeading {
      grid-column: 1/span 3;
      font-size: 2.0454545455cqw;
      line-height: 1.3333333333;
    }
  }
  @media screen and (width <= 425px) {
    .s_sesshion-option_subblocks {
      font-size: calc(0.04 * var(--width-body));
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .s_sesshion-option_subblocks {
      grid-column: 1/span 3;
      display: grid;
      grid-template-columns: subgrid;
      font-size: 1.7045454545cqw;
      line-height: 1.3333333333;
    }
  }
  @media screen and (width <= 425px) {
    .s_sesshion-option_subblock:not(:first-child) {
      border-top: solid 1px #363230;
      padding-top: calc(0.0533333333 * var(--width-body));
      margin-top: calc(0.0533333333 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_sesshion-option_subblock {
      grid-column: 1/span 3;
      display: grid;
      grid-template-columns: subgrid;
    }
  }
  @media screen and (width <= 425px) {
    .s_sesshion-option_subblock :where(hgroup) {
      margin-bottom: calc(0.0533333333 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_sesshion-option_subblock :where(hgroup) {
      grid-column: 1/span 2;
      display: grid;
      grid-template-columns: subgrid;
    }
  }
  @media (425px < width) {
    .s_sesshion-option_subblock :where(hgroup > p) {
      border-style: solid;
      border-color: #363230;
      border-width: 0 1px;
      padding-left: 1em;
      padding-right: 1em;
      margin-left: 1em;
      margin-right: 1em;
    }
  }
  @media screen and (width <= 425px) {
    .s_sesshion-option_note {
      margin-top: calc(0.0266666667 * var(--width-body));
      font-size: calc(0.032 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_sesshion-option_note {
      margin-top: 1.1363636364cqw;
      font-size: 1.3636363636cqw;
      text-align: right;
    }
  }
  .s_sesshion-shop {
    background-color: #FFFFFF;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-shop {
      padding-top: calc(0.0666666667 * var(--width-body));
      padding-bottom: calc(0.1333333333 * var(--width-body));
      padding-left: calc(0.08 * var(--width-body));
      padding-right: calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_sesshion-shop {
      container-type: inline-size;
      padding-top: min(0.0523560209 * var(--width-body), 50px);
      padding-bottom: min(0.0523560209 * var(--width-body), 50px);
      padding-left: max(0.0390625 * var(--width-body), 50% - 440px);
      padding-right: max(0.0390625 * var(--width-body), 50% - 440px);
    }
  }
  @media (1280px < width) {
    .s_sesshion-shop {
      padding-top: calc(0.0390625 * var(--width-body));
      padding-bottom: calc(0.0390625 * var(--width-body));
      padding-left: calc(0.15625 * var(--width-body));
      padding-right: calc(0.15625 * var(--width-body));
    }
  }
  .s_sesshion-shop_description {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    text-decoration: underline;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-shop_description {
      font-size: calc(0.04 * var(--width-body));
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .s_sesshion-shop_description {
      text-align: center;
      font-size: 1.7045454545cqw;
      line-height: 1.3333333333;
    }
  }
  .s_sesshion-shop_items {
    display: grid;
    grid-template-columns: 1fr;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-shop_items {
      gap: calc(0.1333333333 * var(--width-body));
      margin-top: calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_sesshion-shop_items {
      gap: 6.8181818182cqw 0;
      margin-top: 3.4090909091cqw;
    }
  }
  .s_sesshion-shop_item :where(figure) {
    display: grid;
    grid-template-columns: 1fr;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-shop_item :where(figure) {
      gap: calc(0.0533333333 * var(--width-body)) 0;
    }
  }
  @media (425px < width) {
    .s_sesshion-shop_item :where(figure) {
      gap: 2.2727272727cqw 0;
      width: 68.1818181818cqw;
      margin-left: auto;
      margin-right: auto;
    }
  }
  .s_sesshion-shop_item :where(figure > div) {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .s_sesshion-shop_item :where(figure > div > div img) {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .s_sesshion-shop_item :where(figure > figcaption) {
    justify-self: center;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-shop_item :where(figure > figcaption > div:first-child) {
      width: calc(0.0026666667 * var(--width-body) * var(--width));
    }
  }
  @media (425px < width) {
    .s_sesshion-shop_item :where(figure > figcaption > div:first-child) {
      width: calc(0.1136363636cqw * var(--width));
    }
  }
  .s_sesshion-shop_item :where(figure > figcaption > div:first-child img) {
    width: 100%;
    height: auto;
    vertical-align: top;
  }
  .s_sesshion-shop_item :where(figure > figcaption > div:last-child) {
    margin-top: 1em;
    text-align: center;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-shop_item :where(figure > figcaption > div:last-child) {
      font-size: calc(0.0346666667 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_sesshion-shop_item :where(figure > figcaption > div:last-child) {
      font-size: 1.4772727273cqw;
    }
  }
  .s_sesshion-gallery {
    background-color: ;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-gallery_title {
      padding-left: calc(0.08 * var(--width-body));
      padding-right: calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_sesshion-gallery_title {
      container-type: inline-size;
      padding-top: min(0.0523560209 * var(--width-body), 50px);
      padding-left: max(0.0390625 * var(--width-body), 50% - 440px);
      padding-right: max(0.0390625 * var(--width-body), 50% - 440px);
    }
  }
  @media (1280px < width) {
    .s_sesshion-gallery_title {
      padding-top: calc(0.0390625 * var(--width-body));
      padding-left: calc(0.15625 * var(--width-body));
      padding-right: calc(0.15625 * var(--width-body));
    }
  }
  .s_sesshion-gallery_title::before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #363230;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-gallery_title::before {
      margin-bottom: calc(0.1333333333 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_sesshion-gallery_title::before {
      margin-bottom: 10.7954545455cqw;
    }
  }
  .s_sesshion-gallery_slide {
    width: 100%;
    overflow-x: hidden;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-gallery_slide {
      margin-top: calc(-0.0266666667 * var(--width-body));
    }
  }
  .s_sesshion-gallery_slideInner {
    display: grid;
    grid-template-columns: repeat(2, auto);
    width: fit-content;
    animation-direction: normal;
    animation-duration: var(--time-second, 30s);
    animation-iteration-count: infinite;
    animation-name: ani-marquee;
    animation-timing-function: linear;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-gallery_slideInner:not(:first-child) {
      margin-top: calc(0.016 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_sesshion-gallery_slideInner:not(:first-child) {
      margin-top: calc(0.0078125 * var(--width-body));
    }
  }
  @media screen and (width <= 425px) {
    .s_sesshion-gallery_slideInner:nth-child(odd) {
      margin-left: calc(-0.5146666667 * var(--width-body));
    }
  }
  @media screen and (width <= 425px) {
    .s_sesshion-gallery_slideInner:nth-child(even) {
      margin-left: calc(-0.1706666667 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_sesshion-gallery_slideInner:nth-child(even) {
      margin-left: calc(-0.1796875 * var(--width-body));
    }
  }
  .s_sesshion-gallery_slide :where(ul) {
    display: grid;
    grid-template-rows: auto;
    grid-auto-flow: column;
  }
  @media screen and (width <= 425px) {
    .s_sesshion-gallery_slide :where(ul) {
      gap: 0 calc(0.016 * var(--width-body));
      padding-right: calc(0.016 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_sesshion-gallery_slide :where(ul) {
      gap: 0 calc(0.0078125 * var(--width-body));
      padding-right: calc(0.0078125 * var(--width-body));
    }
  }
  @media screen and (width <= 425px) {
    .s_sesshion-gallery_slide :where(ul li) {
      width: calc(0.6693333333 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_sesshion-gallery_slide :where(ul li) {
      width: calc(0.3515625 * var(--width-body));
    }
  }
  .s_sesshion-gallery_slide :where(ul a) {
    overflow: hidden;
    display: block;
    aspect-ratio: 450/284;
  }
  .s_sesshion-gallery_slide :where(ul a img) {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  @media (425px < width) {
    .s_sesshion-gallery_slide :where(ul a img) {
      transition: scale 0.3s ease-in;
      scale: 1;
    }
  }
  @media (425px < width) {
    .s_sesshion-gallery_slide :where(ul a:hover img) {
      transition-duration: 0.5s;
      transition-timing-function: ease-out;
      scale: 1.1;
    }
  }
  .s_sesshion-gallery_items {
    display: grid;
    grid-template-columns: 1fr;
  }
  @media (425px < width) {
    .s_sesshion-gallery_items {
      gap: 6.8181818182cqw 0;
      margin-top: 3.4090909091cqw;
    }
  }
  .s_sesshion-gallery_item :where(figure) {
    display: grid;
    grid-template-columns: 1fr;
  }
  @media (425px < width) {
    .s_sesshion-gallery_item :where(figure) {
      gap: 2.2727272727cqw 0;
      width: 68.1818181818cqw;
      margin-left: auto;
      margin-right: auto;
    }
  }
  .s_sesshion-gallery_item :where(figure > div) {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .s_sesshion-gallery_item :where(figure > div > div img) {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .s_sesshion-gallery_item :where(figure > figcaption) {
    justify-self: center;
  }
  @media (425px < width) {
    .s_sesshion-gallery_item :where(figure > figcaption > div:first-child) {
      width: calc(0.1136363636cqw * var(--width));
    }
  }
  .s_sesshion-gallery_item :where(figure > figcaption > div:first-child img) {
    width: 100%;
    height: auto;
    vertical-align: top;
  }
  .s_sesshion-gallery_item :where(figure > figcaption > div:last-child) {
    margin-top: 1em;
    text-align: center;
  }
  @media (425px < width) {
    .s_sesshion-gallery_item :where(figure > figcaption > div:last-child) {
      font-size: 1.4772727273cqw;
    }
  }
}
@layer component {
  .s_special-panel {
    background-color: #FFFFFF;
  }
  .s_special-panel_frame {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(2, auto) 1fr;
  }
  .s_special-panel_title {
    grid-row: 2/3;
  }
  @media screen and (width <= 425px) {
    .s_special-panel_title {
      padding: calc(0.112 * var(--width-body)) calc(0.1066666667 * var(--width-body)) calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_special-panel_title {
      padding: 3.6363636364cqw 4.5454545455cqw 3.4090909091cqw;
    }
  }
  .s_special-panel_titleText {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-decoration: underline;
    text-align: center;
  }
  @media screen and (width <= 425px) {
    .s_special-panel_titleText {
      font-size: calc(0.048 * var(--width-body));
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .s_special-panel_titleText {
      font-size: 2.0454545455cqw;
      line-height: 1.3333333333;
    }
  }
  .s_special-panel_title :where(p) {
    font-weight: 500;
  }
  @media screen and (width <= 425px) {
    .s_special-panel_title :where(p) {
      font-size: calc(0.04 * var(--width-body));
      margin-top: calc(0.0533333333 * var(--width-body));
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .s_special-panel_title :where(p) {
      font-size: 1.7045454545cqw;
      margin-top: 2.2727272727cqw;
      line-height: 1.3333333333;
    }
  }
  .s_special-panel_figure {
    grid-row: 1/2;
    aspect-ratio: 400/260;
  }
  .s_special-panel_figure :where(img),
  .s_special-panel_figure :where(iframe) {
    width: 100%;
    height: 100%;
    vertical-align: top;
    object-fit: cover;
  }
  .s_special-panel_body {
    grid-row: 3/4;
  }
  @media screen and (width <= 425px) {
    .s_special-panel_body {
      padding: 0 calc(0.1066666667 * var(--width-body)) calc(0.1066666667 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_special-panel_body {
      padding: 0 4.5454545455cqw 5.6818181818cqw;
    }
  }
  .s_special-panel_body :where(dl) {
    font-weight: 500;
  }
  @media screen and (width <= 425px) {
    .s_special-panel_body :where(dl) {
      font-size: calc(0.04 * var(--width-body));
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .s_special-panel_body :where(dl) {
      font-size: 1.7045454545cqw;
      line-height: 1.3333333333;
    }
  }
  .s_special-panel_body :where(dt) {
    border-top: dashed 1px #363230;
  }
  @media screen and (width <= 425px) {
    .s_special-panel_body :where(dt) {
      padding-top: calc(0.0533333333 * var(--width-body));
      margin-top: calc(0.0533333333 * var(--width-body));
      margin-bottom: calc(0.0266666667 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_special-panel_body :where(dt) {
      padding-top: 2.2727272727cqw;
      margin-top: 3.4090909091cqw;
      margin-bottom: 1.1363636364cqw;
    }
  }
  .s_special-panel_body :where(dt):first-child {
    margin-top: 0;
  }
  @media screen and (width <= 425px) {
    .s_special-index {
      padding-top: calc(0.0533333333 * var(--width-body));
      padding-bottom: calc(0.2666666667 * var(--width-body));
      padding-left: calc(0.08 * var(--width-body));
      padding-right: calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_special-index {
      container-type: inline-size;
      padding-top: min(0.0858638743 * var(--width-body), 82px);
      padding-bottom: min(0.1047120419 * var(--width-body), 100px);
      padding-left: max(0.0390625 * var(--width-body), 50% - 440px);
      padding-right: max(0.0390625 * var(--width-body), 50% - 440px);
    }
  }
  @media (1280px < width) {
    .s_special-index {
      padding-top: calc(0.0640625 * var(--width-body));
      padding-bottom: calc(0.078125 * var(--width-body));
      padding-left: calc(0.15625 * var(--width-body));
      padding-right: calc(0.15625 * var(--width-body));
    }
  }
  .s_special-index_items {
    display: grid;
  }
  @media screen and (width <= 425px) {
    .s_special-index_items {
      grid-template-columns: 1fr;
      gap: calc(0.1333333333 * var(--width-body)) 0;
    }
  }
  @media (425px < width) {
    .s_special-index_items {
      grid-template-columns: repeat(2, 1fr);
      gap: 8.4090909091cqw 9.0909090909cqw;
    }
  }
}
@layer component {
  .s_report-panel {
    display: block;
    background-color: #FFFFFF;
  }
  .s_report-panel_frame {
    display: grid;
  }
  @media screen and (width <= 425px) {
    .s_report-panel_frame {
      grid-template-columns: 1fr;
      grid-template-rows: repeat(4, auto);
    }
  }
  @media (425px < width) {
    .s_report-panel_frame {
      grid-template-columns: repeat(2, 1fr);
      grid-template-rows: auto 1fr auto;
    }
  }
  .s_report-panel_title {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: subgrid;
  }
  @media screen and (width <= 425px) {
    .s_report-panel_title {
      grid-column: 1/2;
      grid-row: 2/span 3;
      padding: calc(0.0533333333 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_report-panel_title {
      grid-column: 2/3;
      grid-row: 1/span 3;
      padding: 4.5454545455cqw;
    }
  }
  .s_report-panel_title :where(p) {
    grid-column: 1/2;
    grid-row: 1/2;
    justify-self: start;
    border-bottom: solid 1px #363230;
    font-family: "EB Garamond", serif;
    font-weight: 400;
    text-transform: uppercase;
  }
  @media screen and (width <= 425px) {
    .s_report-panel_title :where(p) {
      font-size: calc(0.064 * var(--width-body));
      margin-bottom: calc(0.0533333333 * var(--width-body));
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .s_report-panel_title :where(p) {
      font-size: 2.7272727273cqw;
      margin-bottom: 4.5454545455cqw;
      line-height: 1.3333333333;
    }
  }
  .s_report-panel_titleText {
    grid-column: 1/2;
    grid-row: 3/4;
    justify-self: end;
    display: grid;
    grid-template-columns: repeat(3, auto);
    font-weight: 500;
    align-items: center;
  }
  @media screen and (width <= 425px) {
    .s_report-panel_titleText {
      font-size: calc(0.04 * var(--width-body));
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .s_report-panel_titleText {
      font-size: 1.7045454545cqw;
      line-height: 1.3333333333;
    }
  }
  .s_report-panel_titleText::after {
    content: "を見る";
    display: inline;
  }
  .s_report-panel_titleText::before {
    content: "";
    grid-column: 3/4;
    grid-row: 1/2;
    display: block;
    aspect-ratio: 1;
    scale: -1;
    background-color: #363230;
    mask: url("../img/cmn_button-mark_2.svg") no-repeat center center/contain;
    -webkit-mask: url("../img/cmn_button-mark_2.svg") no-repeat center center/contain;
  }
  @media screen and (width <= 425px) {
    .s_report-panel_titleText::before {
      width: calc(0.1066666667 * var(--width-body));
      margin-left: calc(0.0266666667 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_report-panel_titleText::before {
      width: 4.5454545455cqw;
      margin-left: 1.1363636364cqw;
    }
  }
  .s_report-panel_image {
    overflow: hidden;
    grid-column: 1/2;
    aspect-ratio: 1;
  }
  @media screen and (width <= 425px) {
    .s_report-panel_image {
      grid-row: 1/2;
    }
  }
  @media (425px < width) {
    .s_report-panel_image {
      grid-row: 1/span 3;
    }
  }
  .s_report-panel_image :where(img) {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  @media (425px < width) {
    .s_report-panel_image :where(img) {
      transition: scale 0.3s ease-in;
      scale: 1;
    }
  }
  @media (425px < width) {
    .s_report-panel:hover :where(.s_report-panel_image img) {
      transition-duration: 0.5s;
      transition-timing-function: ease-out;
      scale: 1.1;
    }
  }
  .s_report-panel_description {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
  }
  @media screen and (width <= 425px) {
    .s_report-panel_description {
      font-size: calc(0.048 * var(--width-body));
      grid-column: 1/2;
      grid-row: 3/4;
      padding-left: calc(0.0533333333 * var(--width-body));
      padding-right: calc(0.0533333333 * var(--width-body));
      padding-bottom: calc(0.08 * var(--width-body));
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .s_report-panel_description {
      font-size: 2.0454545455cqw;
      grid-column: 2/3;
      grid-row: 2/3;
      padding-left: 4.5454545455cqw;
      padding-right: 4.5454545455cqw;
      line-height: 1.3333333333;
    }
  }
  .s_report-panel_description :where(p:not(:last-child)) {
    margin-bottom: 1em;
  }
  @media screen and (width <= 425px) {
    .s_report-index {
      padding-bottom: calc(0.128 * var(--width-body));
      padding-left: calc(0.08 * var(--width-body));
      padding-right: calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_report-index {
      container-type: inline-size;
      padding-bottom: min(0.1047120419 * var(--width-body), 100px);
      padding-left: max(0.0390625 * var(--width-body), 50% - 440px);
      padding-right: max(0.0390625 * var(--width-body), 50% - 440px);
    }
  }
  @media (1280px < width) {
    .s_report-index {
      padding-bottom: calc(0.078125 * var(--width-body));
      padding-left: calc(0.15625 * var(--width-body));
      padding-right: calc(0.15625 * var(--width-body));
    }
  }
  .s_report-index_items {
    display: grid;
    grid-template-columns: 1fr;
  }
  @media screen and (width <= 425px) {
    .s_report-index_items {
      margin-top: calc(0.2666666667 * var(--width-body));
      gap: calc(0.08 * var(--width-body)) 0;
    }
  }
  @media (425px < width) {
    .s_report-index_items {
      gap: 5.6818181818cqw 0;
    }
  }
  @media screen and (width <= 425px) {
    .s_report-index_control {
      margin-top: calc(0.2666666667 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_report-index_control {
      margin-top: 5.6818181818cqw;
    }
  }
  @media screen and (width <= 425px) {
    .s_report-article {
      padding-top: calc(0.1066666667 * var(--width-body));
      padding-bottom: calc(0.1333333333 * var(--width-body));
      padding-left: calc(0.08 * var(--width-body));
      padding-right: calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_report-article {
      container-type: inline-size;
      padding-top: min(0.0837696335 * var(--width-body), 80px);
      padding-bottom: min(0.1047120419 * var(--width-body), 100px);
      padding-left: max(0.0390625 * var(--width-body), 50% - 440px);
      padding-right: max(0.0390625 * var(--width-body), 50% - 440px);
    }
  }
  @media (1280px < width) {
    .s_report-article {
      padding-bottom: calc(0.0625 * var(--width-body));
      padding-bottom: calc(0.078125 * var(--width-body));
      padding-left: calc(0.15625 * var(--width-body));
      padding-right: calc(0.15625 * var(--width-body));
    }
  }
  @media screen and (width <= 425px) {
    .s_report-article_header {
      margin-bottom: calc(0.08 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_report-article_header {
      margin-bottom: 5.6818181818cqw;
    }
  }
  .s_report-article_header :where(p) {
    width: fit-content;
    border-bottom: solid 1px #363230;
    font-family: "EB Garamond", serif;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.025em;
  }
  @media screen and (width <= 425px) {
    .s_report-article_header :where(p) {
      font-size: calc(0.064 * var(--width-body));
      margin-bottom: calc(0.0533333333 * var(--width-body));
      line-height: 1.3333333333;
    }
  }
  @media (425px < width) {
    .s_report-article_header :where(p) {
      font-size: 2.7272727273cqw;
      margin-bottom: 2.2727272727cqw;
      line-height: 1.3333333333;
    }
  }
  @media screen and (width <= 425px) {
    .s_report-article_header :where(div) {
      margin-bottom: calc(0.0533333333 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_report-article_header :where(div) {
      margin-bottom: 3.4090909091cqw;
    }
  }
  .s_report-article_header :where(div img) {
    max-width: 100%;
    height: auto;
    vertical-align: top;
  }
  .s_report-article_headerTitle {
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    letter-spacing: 0.05em;
  }
  @media screen and (width <= 425px) {
    .s_report-article_headerTitle {
      font-size: calc(0.0853333333 * var(--width-body));
      line-height: 1.3125;
    }
  }
  @media (425px < width) {
    .s_report-article_headerTitle {
      font-size: 4.7727272727cqw;
      line-height: 1.2857142857;
    }
  }
  @media screen and (width <= 425px) {
    .s_report-article_control {
      margin-top: calc(0.3733333333 * var(--width-body));
    }
  }
  @media (425px < width) {
    .s_report-article_control {
      margin-top: 5.6818181818cqw;
    }
  }
}
@layer utility {
  .u-hide:not(br) {
    width: 0;
    height: 0;
    overflow: hidden;
    position: absolute;
    clip: rect(1px, 1px, 1px, 1px);
  }
  .u-hide:is(br) {
    display: none;
  }
  @media (425px < width) {
    .u-hide-pc:not(br) {
      width: 0;
      height: 0;
      overflow: hidden;
      position: absolute;
      clip: rect(1px, 1px, 1px, 1px);
    }
    .u-hide-pc:is(br) {
      display: none;
    }
  }
  @media screen and (width <= 425px) {
    .u-hide-sp:not(br) {
      width: 0;
      height: 0;
      overflow: hidden;
      position: absolute;
      clip: rect(1px, 1px, 1px, 1px);
    }
    .u-hide-sp:is(br) {
      display: none;
    }
  }
}
