@layer base, layouts, components, pages, utilities;
@theme {
  --spacing: 8px;
  --breakpoint-sm: 641px;
  --breakpoint-md: 769px;
  --breakpoint-lg: 1025px;
  --breakpoint-xl: 1281px;
  --breakpoint-2xl: 1537px;
}
:root {
  --padding-side: 80px;
  --leading-trim: calc((1em - 1lh) / 2);
  --header-height: 130px;
  --outer: min(
  	calc((((100vw - var(--scrollbar, 0)) - 1200px) / 2) * -1),
  	calc(var(--padding-side) * -1)
  );
}
@media (width <= 1280px) {
  :root {
    --padding-side: 40px;
  }
}
@media (width <= 1024px) {
  :root {
    --header-height: 120px;
  }
}
@media (width <= 768px) {
  :root {
    --padding-side: 20px;
    --header-height: 70px;
  }
}

@layer base {
  /*
  /* Reset
  /*
  ----------------------------------------------------------------- */
  *,
  *::before,
  *::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  html,
  body,
  div,
  span,
  applet,
  object,
  iframe,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  blockquote,
  pre,
  a,
  abbr,
  acronym,
  address,
  big,
  cite,
  code,
  del,
  dfn,
  em,
  img,
  ins,
  kbd,
  q,
  s,
  samp,
  small,
  strike,
  strong,
  tt,
  var,
  b,
  u,
  center,
  dl,
  dt,
  dd,
  ol,
  ul,
  li,
  fieldset,
  form,
  label,
  legend,
  table,
  caption,
  tbody,
  tfoot,
  thead,
  tr,
  th,
  td,
  article,
  aside,
  canvas,
  details,
  embed,
  figure,
  figcaption,
  footer,
  header,
  hgroup,
  menu,
  nav,
  output,
  ruby,
  section,
  summary,
  time,
  mark,
  audio,
  video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    vertical-align: baseline;
  }
  article,
  aside,
  details,
  figcaption,
  figure,
  footer,
  header,
  menu,
  nav,
  section {
    display: block;
  }
  ol,
  ul {
    list-style: none;
  }
  blockquote,
  q {
    quotes: none;
  }
  blockquote:before,
  blockquote:after,
  q:before,
  q:after {
    content: "";
    content: none;
  }
  table {
    border-collapse: collapse;
    border-spacing: 0;
  }
  img {
    line-height: 0;
    vertical-align: bottom;
  }
  input,
  button,
  textarea {
    font: inherit;
  }
}
@layer base {
  html {
    scroll-behavior: smooth;
  }
  body {
    font-family: "Noto Sans JP", sans-serif;
    color: #333;
    font-size: 1rem;
    -moz-text-size-adjust: none;
    -ms-text-size-adjust: none;
    text-size-adjust: none;
    -webkit-text-size-adjust: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-wrap: anywhere;
    word-break: normal;
    line-break: strict;
  }
  @media (width <= 768px) {
    body {
      font-size: 0.875rem;
    }
  }
  body::before {
    content: "";
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 99;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: opacity 600ms ease;
    transition: opacity 600ms ease;
  }
  body:has(.l-site-nav__list-item.is-open)::before {
    opacity: 1;
    pointer-events: auto;
  }
  img {
    max-width: 100%;
    height: auto;
  }
  a {
    color: currentColor;
  }
  @media (any-hover: hover) {
    a:hover {
      text-decoration: none;
    }
  }
  strong {
    font-weight: 700;
  }
  [id] {
    scroll-margin-top: calc(var(--header-height, 100px) + 40px);
  }
}
@layer layouts {
  .l-container {
    padding-top: var(--header-height);
  }
}
/** Show icons only. */
/** Displayed with square background. */
/** Shown with circular background. */
/** Style settings for the box. */
/** style settings for the background. */
/** style settings related to borders. */
/**
 * Calculate the size of the svg.
 *
 * If $priority-size is specified, it takes precedence.
 * If $priority-size is not specified, the size of the SVG is a fixed percentage of $element-size.
 */
@layer layouts {
  .l-site-bottom-menu {
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 99;
    width: 100%;
    padding: 15px 15px 3px;
    background-color: #3e3727;
    color: #fff;
  }
  @media (width >= 769px) {
    .l-site-bottom-menu {
      display: none;
    }
  }
  .l-site-bottom-menu__body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .l-site-bottom-menu__notes {
    font-size: 0.625rem;
    text-align: center;
    margin-top: 2px;
  }
}
@layer layouts {
  .l-site-contact {
    background: url(../images/common/cv_bg_cover.webp) 50% 50% no-repeat;
    background-size: cover;
    margin-top: 120px;
    padding: 60px 120px;
    position: relative;
    color: #fff;
  }
  @media (width <= 1024px) {
    .l-site-contact {
      padding: 40px var(--padding-side);
    }
  }
  @media (width <= 768px) {
    .l-site-contact {
      margin-top: 60px;
    }
  }
  .l-site-contact::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(62, 55, 39, 0.7);
  }
  .l-site-contact::after {
    content: "";
    position: absolute;
    inset: 5px;
    border: 1px solid #fff;
  }
  .l-site-contact__inner {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  .l-site-contact__title {
    font-size: 2.5rem;
    font-family: "Noto Serif JP", serif;
    text-align: center;
    letter-spacing: 4px;
    line-height: 1.75;
  }
  @media (width <= 768px) {
    .l-site-contact__title {
      font-size: 1.75rem;
    }
  }
  .l-site-contact__label {
    font-family: "Lora", serif;
    text-align: center;
    line-height: 1.75;
  }
  .l-site-contact__body {
    background-color: #fff;
    margin-top: 40px;
    color: #333;
    padding: 40px var(--padding-side);
  }
  @media (width <= 768px) {
    .l-site-contact__body {
      margin-top: 24px;
      padding-left: 20px;
      padding-right: 20px;
    }
  }
  .l-site-contact__lead {
    text-align: center;
    font-size: 1.25rem;
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    line-height: 1.75;
  }
  .l-site-contact__desc {
    text-align: center;
    line-height: 1.75;
    margin-top: 32px;
  }
  @media (width <= 768px) {
    .l-site-contact__desc {
      margin-top: 20px;
    }
  }
  .l-site-contact__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 40px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 32px;
  }
  @media (width <= 768px) {
    .l-site-contact__row {
      margin-top: 20px;
      gap: 20px;
    }
  }
  .l-site-contact__footer {
    margin-top: 40px;
  }
  @media (width <= 768px) {
    .l-site-contact__footer {
      margin-top: 24px;
    }
  }
  .l-site-contact__button-notes {
    margin-top: 10px;
    font-size: 0.75rem;
    text-align: center;
  }
}
@layer layouts {
  .l-site-footer-clinic {
    margin-top: 40px;
  }
  .l-site-footer-clinic__title {
    font-family: "Noto Serif JP", serif;
    text-align: center;
    font-size: 1.25rem;
    line-height: 1.75;
    font-weight: 700;
  }
  .l-site-footer-clinic__body {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-top: 20px;
  }
  @media (width <= 1024px) {
    .l-site-footer-clinic__body {
      grid-template-columns: repeat(2, 1fr);
      gap: 10px;
    }
  }
  @media (width <= 768px) {
    .l-site-footer-clinic__body {
      grid-template-columns: repeat(1, 1fr);
    }
  }
  .l-site-footer-clinic__list {
    display: grid;
    gap: 6px;
  }
  @media (width <= 768px) {
    .l-site-footer-clinic__list {
      gap: 10px;
    }
  }
  .l-site-footer-clinic__link {
    --scale: 0;
    display: inline-block;
    position: relative;
    text-decoration: none;
    color: #333;
    padding-left: 10px;
  }
  @media (any-hover: hover) {
    .l-site-footer-clinic__link:hover {
      --scale: 1;
    }
    .l-site-footer-clinic__link:hover::after {
      -webkit-transform-origin: left top;
      transform-origin: left top;
    }
  }
  .l-site-footer-clinic__link::after {
    content: "";
    position: absolute;
    left: 10px;
    right: 0;
    bottom: 0;
    height: 1px;
    background-color: currentColor;
    -webkit-transform: scaleX(var(--scale));
    transform: scaleX(var(--scale));
    -webkit-transition: -webkit-transform 300ms ease;
    transition: -webkit-transform 300ms ease;
    transition: transform 300ms ease;
    transition: transform 300ms ease, -webkit-transform 300ms ease;
    -webkit-transform-origin: right top;
    transform-origin: right top;
  }
  .l-site-footer-clinic__link::before {
    content: "";
    position: absolute;
    left: 0;
    top: 11px;
    width: 5px;
    height: 5px;
    background-color: currentColor;
    border-radius: 50%;
  }
}
@layer layouts {
  .l-site-footer-nav {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px 24px;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  @media (width <= 1024px) {
    .l-site-footer-nav {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @media (width <= 768px) {
    .l-site-footer-nav {
      grid-template-columns: repeat(1, 1fr);
      gap: 20px;
    }
  }
  .l-site-footer-nav__first {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 32px;
  }
  .l-site-footer-nav__first:not(:first-child) {
    margin-top: 32px;
  }
  @media (width <= 768px) {
    .l-site-footer-nav__first {
      gap: 20px;
    }
  }
  .l-site-footer-nav__first-item {
    line-height: 1.75;
  }
  .l-site-footer-nav__first-link {
    --scale: 0;
    position: relative;
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
  }
  .l-site-footer-nav__first-label {
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
  }
  .l-site-footer-nav__second {
    display: grid;
    gap: 3px;
  }
  .l-site-footer-nav__second:not(:first-child) {
    margin-top: 10px;
  }
  .l-site-footer-nav__second-link {
    --scale: 0;
    position: relative;
    display: inline-block;
    color: #fff;
    text-decoration: none;
    padding-left: 10px;
    -webkit-transition: color 300ms ease;
    transition: color 300ms ease;
  }
  @media (any-hover: hover) {
    .l-site-footer-nav__second-link:hover {
      --scale: 1;
    }
    .l-site-footer-nav__second-link:hover::after {
      -webkit-transform-origin: left top;
      transform-origin: left top;
    }
  }
  .l-site-footer-nav__second-link::after {
    content: "";
    position: absolute;
    left: 10px;
    right: 0;
    bottom: 0;
    height: 1px;
    background-color: currentColor;
    -webkit-transform: scaleX(var(--scale));
    transform: scaleX(var(--scale));
    -webkit-transition: -webkit-transform 300ms ease;
    transition: -webkit-transform 300ms ease;
    transition: transform 300ms ease;
    transition: transform 300ms ease, -webkit-transform 300ms ease;
    -webkit-transform-origin: right top;
    transform-origin: right top;
  }
  .l-site-footer-nav__second-link::before {
    content: "";
    position: absolute;
    left: 0;
    top: 12px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: currentColor;
  }
  .l-site-footer-nav__third {
    display: grid;
    margin-top: 3px;
  }
  .l-site-footer-nav__third-link {
    --scale: 0;
    position: relative;
    display: inline-block;
    color: #fff;
    text-decoration: none;
    padding-left: 10px;
    margin-left: 10px;
    font-size: 0.875rem;
  }
  @media (any-hover: hover) {
    .l-site-footer-nav__third-link:hover {
      --scale: 1;
    }
    .l-site-footer-nav__third-link:hover::after {
      -webkit-transform-origin: left top;
      transform-origin: left top;
    }
  }
  .l-site-footer-nav__third-link::after {
    content: "";
    position: absolute;
    left: 10px;
    right: 0;
    bottom: 0;
    height: 1px;
    background-color: currentColor;
    -webkit-transform: scaleX(var(--scale));
    transform: scaleX(var(--scale));
    -webkit-transition: -webkit-transform 300ms ease;
    transition: -webkit-transform 300ms ease;
    transition: transform 300ms ease;
    transition: transform 300ms ease, -webkit-transform 300ms ease;
    -webkit-transform-origin: right top;
    transform-origin: right top;
  }
  .l-site-footer-nav__third-link::before {
    content: "";
    width: 4px;
    height: 1px;
    background-color: #fff;
    position: absolute;
    left: 0;
    top: 50%;
  }
}
@layer layouts {
  .l-site-footer {
    background-color: #3e3727;
    color: #fff;
  }
  .l-site-footer__header {
    padding: 80px 120px;
  }
  @media (width <= 1024px) {
    .l-site-footer__header {
      padding: 80px var(--padding-side);
    }
  }
  @media (width <= 768px) {
    .l-site-footer__header {
      padding: 40px var(--padding-side);
    }
  }
  .l-site-footer__header-inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  .l-site-footer__body {
    background-color: #f3ebd9;
    color: #333;
    padding: 32px 120px 40px;
  }
  @media (width <= 1024px) {
    .l-site-footer__body {
      padding: 32px var(--padding-side) 40px;
    }
  }
  .l-site-footer__body-inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  .l-site-footer__logo {
    text-align: center;
  }
  .l-site-footer__footer {
    padding-top: 12px;
    padding-bottom: 12px;
  }
  @media (width <= 768px) {
    .l-site-footer__footer {
      padding-top: 10px;
      padding-bottom: 140px;
    }
  }
  .l-site-footer__copyright {
    text-align: center;
    font-size: 0.75rem;
    line-height: 1.75;
  }
}
@layer layouts {
  .l-site-header {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 100;
    width: 100%;
    padding-inline: var(--padding-side);
    background-color: #3e3727;
    color: #fff;
    border-top: 5px solid #371c00;
  }
  .l-site-header__inner {
    padding-top: 15px;
  }
  @media (width <= 768px) {
    .l-site-header__inner {
      padding-top: 16px;
      padding-bottom: 21px;
    }
  }
  @media (width >= 769px) {
    .l-site-header__header {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: 24px;
    }
  }
  .l-site-header__logo {
    mix-blend-mode: plus-lighter;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
  }
  @media (width >= 769px) {
    .l-site-header__logo {
      padding-top: 30px;
    }
  }
  @media (width <= 768px) {
    .l-site-header__logo {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
    }
  }
  .l-site-header__logo-link {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  @media (width <= 1024px) {
    .l-site-header__logo-link {
      width: 190px;
    }
  }
  @media (width <= 768px) {
    .l-site-header__logo-link {
      width: 160px;
      height: 28px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
    }
  }
  .l-site-header__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 19px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  @media (width <= 768px) {
    .l-site-header__link {
      display: none;
    }
  }
  @media (width <= 768px) {
    .l-site-header__body {
      position: fixed;
      left: 0;
      top: var(--header-height);
      z-index: 2;
      width: 100%;
      height: calc(100dvh - var(--header-height));
      padding-bottom: var(--header-height);
      background-color: #3e3727;
      overflow: auto;
      -webkit-transform: translateX(-100%);
      transform: translateX(-100%);
      opacity: 0;
      -ms-scroll-chaining: none;
      overscroll-behavior: contain;
      -webkit-transition: opacity 300ms ease, -webkit-transform 300ms ease 300ms;
      transition: opacity 300ms ease, -webkit-transform 300ms ease 300ms;
      transition: opacity 300ms ease, transform 300ms ease 300ms;
      transition: opacity 300ms ease, transform 300ms ease 300ms, -webkit-transform 300ms ease 300ms;
    }
  }
  @media (width <= 768px) {
    .l-site-header__body.is-open {
      -webkit-transform: translateX(0);
      transform: translateX(0);
      opacity: 1;
      -webkit-transition: opacity 300ms ease;
      transition: opacity 300ms ease;
    }
  }
  @media (width <= 1024px) {
    .l-site-header__group {
      display: none;
    }
  }
  @media (width <= 768px) {
    .l-site-header__group {
      display: block;
      margin-top: 24px;
      text-align: center;
    }
  }
  .l-site-header__contact {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 16px;
  }
  .l-site-header__contact-phone__link {
    color: currentColor;
    text-decoration: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    gap: 8px;
  }
  .l-site-header__contact-phone__label {
    font-family: "Lora", serif;
    font-size: 1.5rem;
  }
  @media (width <= 1024px) {
    .l-site-header__contact-phone__label {
      font-size: 1.25rem;
    }
  }
  .l-site-header__contact-phone__open {
    font-size: 0.625rem;
    line-height: 1.4;
    text-align: right;
  }
  .l-site-header__contact-reserve {
    position: relative;
  }
  .l-site-header__contact-menu {
    position: absolute;
    right: 0;
    top: 100%;
    opacity: 0;
    z-index: 1;
    -webkit-transition: opacity 300ms ease;
    transition: opacity 300ms ease;
  }
  .l-site-header__contact-menu:not(.is-expanded) {
    pointer-events: none;
  }
  .l-site-header__contact-menu.is-expanded {
    opacity: 1;
    -webkit-transition: opacity 300ms ease;
    transition: opacity 300ms ease;
  }
  .l-site-header__contact-menu__inner {
    padding: 20px;
    background-color: #fff;
    -webkit-box-shadow: 10px 10px 20px 0 rgba(0, 0, 0, 0.1);
    box-shadow: 10px 10px 20px 0 rgba(0, 0, 0, 0.1);
  }
  .l-site-header__contact-menu__close {
    background: #fff;
    border: none;
    color: #3e3727;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border: 1px solid #3e3727;
    border-radius: 0;
    padding: 0 16px 0 8px;
    margin: 16px auto 0;
    cursor: pointer;
    -webkit-transition: background-color 300ms ease;
    transition: background-color 300ms ease;
  }
  @media (any-hover: hover) {
    .l-site-header__contact-menu__close:hover {
      background-color: #3e3727;
      color: #fff;
    }
  }
  .l-site-header__contact-menu__close-label {
    font-size: 0.75rem;
  }
  .l-site-header__contact-menu__close-icon {
    position: relative;
    width: 24px;
    height: 24px;
  }
  .l-site-header__contact-menu__close-icon::before, .l-site-header__contact-menu__close-icon::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 8px;
    height: 1px;
    background-color: currentColor;
  }
  .l-site-header__contact-menu__close-icon::before {
    -webkit-transform: translate(-50%, 0) rotate(45deg);
    transform: translate(-50%, 0) rotate(45deg);
  }
  .l-site-header__contact-menu__close-icon::after {
    -webkit-transform: translate(-50%, 0) rotate(-45deg);
    transform: translate(-50%, 0) rotate(-45deg);
  }
  @media (width >= 769px) {
    .l-site-header__nav {
      justify-self: end;
    }
  }
  .l-site-header__menu-button {
    position: absolute;
    right: 0;
    top: 0;
  }
}
@layer layouts {
  .l-site-information-block__title {
    font-weight: 700;
    line-height: 1.75;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 10px;
  }
  .l-site-information-block__desc {
    line-height: 1.75;
  }
  .l-site-information-block__desc a {
    color: #333;
  }
  .l-site-information-block__desc + .l-site-information-block__desc {
    margin-top: 1em;
  }
  .l-site-information-block__list {
    list-style-type: disc;
    padding-left: 20px;
  }
  .l-site-information-block__list:not(:last-child) {
    margin-bottom: 10px;
  }
  .l-site-information-block__list-item {
    line-height: 1.75;
  }
  .l-site-information-block__gmap iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 600/389;
  }
  @media (width <= 768px) {
    .l-site-information-block__gmap iframe {
      aspect-ratio: 1/1;
    }
  }
}
@layer layouts {
  .l-site-information {
    margin-top: 120px;
    padding: 60px 120px;
    background-color: #f6f6f6;
  }
  @media (width <= 1024px) {
    .l-site-information {
      padding: 60px var(--padding-side);
    }
  }
  @media (width <= 768px) {
    .l-site-information {
      margin-top: 60px;
    }
  }
  .l-site-contact + .l-site-information {
    margin-top: 0;
  }
  .l-site-information__inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  .l-site-information__title {
    font-family: "Noto Serif JP", serif;
    text-align: center;
    font-weight: 700;
    line-height: 1.75;
    font-size: 1.25rem;
  }
  .l-site-information__body {
    margin-top: 40px;
    display: grid;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
  @media (width <= 768px) {
    .l-site-information__body {
      grid-template-columns: 1fr;
      gap: 30px;
    }
  }
  .l-site-information__col {
    display: grid;
    gap: 40px;
  }
  @media (width <= 768px) {
    .l-site-information__col {
      gap: 30px;
    }
  }
}
@layer layouts {
  .l-site-menu-button {
    position: relative;
    width: 65px;
    height: 65px;
    padding: 0;
    border: none;
    background-color: transparent;
    color: #fff;
    cursor: pointer;
  }
  body.is-scrolled .l-site-menu-button:not(.is-open) {
    -webkit-filter: drop-shadow(0px 4px 16px rgba(0, 0, 0, 0.25));
    filter: drop-shadow(0px 4px 16px rgba(0, 0, 0, 0.25));
  }
  .l-site-menu-button.is-open {
    background: none;
  }
  .l-site-menu-button.is-open .l-site-menu-button__top {
    -webkit-transform: translate(-50%, -10px) rotate(45deg);
    transform: translate(-50%, -10px) rotate(45deg);
  }
  .l-site-menu-button.is-open .l-site-menu-button__middle {
    opacity: 0;
  }
  .l-site-menu-button.is-open .l-site-menu-button__bottom {
    -webkit-transform: translate(-50%, -10px) rotate(-45deg);
    transform: translate(-50%, -10px) rotate(-45deg);
  }
  .l-site-menu-button__top, .l-site-menu-button__middle, .l-site-menu-button__bottom {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 20px;
    height: 2px;
    background-color: #fff;
    border-radius: 2px;
    -webkit-transition: opacity 300ms ease, -webkit-transform 300ms ease, -webkit-filter 300ms ease;
    transition: opacity 300ms ease, -webkit-transform 300ms ease, -webkit-filter 300ms ease;
    transition: opacity 300ms ease, transform 300ms ease, filter 300ms ease;
    transition: opacity 300ms ease, transform 300ms ease, filter 300ms ease, -webkit-transform 300ms ease, -webkit-filter 300ms ease;
  }
  .l-site-menu-button__top {
    -webkit-transform: translate(-50%, -15px);
    transform: translate(-50%, -15px);
  }
  .l-site-menu-button__middle {
    -webkit-transform: translate(-50%, -10px);
    transform: translate(-50%, -10px);
  }
  .l-site-menu-button__bottom {
    -webkit-transform: translate(-50%, -5px);
    transform: translate(-50%, -5px);
  }
  .l-site-menu-button__label {
    position: absolute;
    left: 0;
    bottom: 16px;
    width: 100%;
    text-align: center;
    font-size: 0.625rem;
    line-height: 2;
  }
}
@layer layouts {
  @media (width <= 768px) {
    .l-site-nav {
      padding: 0 var(--padding-side);
    }
  }
  .l-site-nav__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 30px;
  }
  @media (width <= 1024px) {
    .l-site-nav__list {
      gap: 16px;
    }
  }
  @media (width <= 768px) {
    .l-site-nav__list {
      display: block;
    }
  }
  @media (width <= 768px) {
    .l-site-nav__list-item {
      border-bottom: 1px solid #fff;
    }
  }
  .l-site-nav__list-link, .l-site-nav__list-button {
    --scale: 0;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    background: none;
    border: none;
    padding: 9px 0 14px;
    margin: 0;
    color: #fff;
    font-family: "Noto Serif JP", serif;
    line-height: 1.75;
    font-weight: 700;
    text-align: left;
    -webkit-transition: color 300ms ease, border-color 300ms ease;
    transition: color 300ms ease, border-color 300ms ease;
    cursor: pointer;
  }
  @media (width <= 1024px) {
    .l-site-nav__list-link, .l-site-nav__list-button {
      font-size: 0.875rem;
    }
  }
  @media (width <= 768px) {
    .l-site-nav__list-link, .l-site-nav__list-button {
      width: 100%;
      font-size: 0.875rem;
      padding: 24px 0;
    }
  }
  @media (any-hover: hover) {
    .l-site-nav__list-link:hover, .l-site-nav__list-button:hover {
      --scale: 1;
    }
    .l-site-nav__list-link:hover::after, .l-site-nav__list-button:hover::after {
      -webkit-transform-origin: left top;
      transform-origin: left top;
    }
  }
  @media (width >= 769px) {
    .l-site-nav__list-link.is-open, .l-site-nav__list-button.is-open {
      border-bottom-color: #fff;
    }
  }
  @media (width <= 768px) {
    .l-site-nav__list-link.is-open .l-site-nav__list-icon, .l-site-nav__list-button.is-open .l-site-nav__list-icon {
      rotate: 180deg;
    }
  }
  .l-site-nav__list-link::after, .l-site-nav__list-button::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    height: 5px;
    width: 100%;
    background-color: #fff;
    -webkit-transform: scaleX(var(--scale));
    transform: scaleX(var(--scale));
    -webkit-transition: -webkit-transform 300ms ease;
    transition: -webkit-transform 300ms ease;
    transition: transform 300ms ease;
    transition: transform 300ms ease, -webkit-transform 300ms ease;
    -webkit-transform-origin: right top;
    transform-origin: right top;
  }
  @media (width <= 768px) {
    .l-site-nav__list-label {
      -webkit-box-flex: 1;
      -ms-flex-positive: 1;
      flex-grow: 1;
    }
  }
  .l-site-nav__list-icon {
    line-height: 0;
    -webkit-transition: rotate 300ms ease;
    transition: rotate 300ms ease;
  }
  .l-site-nav__child {
    width: 100%;
    display: grid;
    grid-template-rows: 0fr;
    -webkit-transition: grid-template-rows 600ms ease;
    transition: grid-template-rows 600ms ease;
    transition: grid-template-rows 600ms ease, -ms-grid-rows 600ms ease;
  }
  @media (width >= 769px) {
    .l-site-nav__child {
      position: absolute;
      top: 100%;
      left: 0;
    }
  }
  .l-site-nav__child-inner {
    overflow: hidden;
  }
  .l-site-nav__child.is-open {
    grid-template-rows: 1fr;
  }
  .l-site-nav-child {
    padding: 40px var(--padding-side);
    background-color: #3e3727;
    border-top: 1px solid #fff;
  }
  @media (width <= 768px) {
    .l-site-nav-child {
      padding: 30px 20px;
      border: none;
      background-color: rgba(255, 255, 255, 0.1);
    }
  }
  .l-site-nav-child__inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  .l-site-nav-child__title {
    font-family: "Noto Serif JP", serif;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.75;
  }
  @media (width <= 768px) {
    .l-site-nav-child__title {
      display: none;
    }
  }
  .l-site-nav-child__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 56px;
    margin-top: 20px;
  }
  @media (width <= 768px) {
    .l-site-nav-child__body {
      gap: 24px;
      display: grid;
      margin-top: 0;
    }
  }
  @media (width <= 768px) {
    .l-site-nav-child__thumb {
      display: none;
    }
  }
  .l-site-nav-child__list {
    display: grid;
    gap: 8px;
    -ms-flex-line-pack: start;
    align-content: start;
  }
  @media (width <= 768px) {
    .l-site-nav-child__list {
      gap: 24px;
    }
  }
  .l-site-nav-child__list-item {
    position: relative;
    padding-left: 10px;
  }
  .l-site-nav-child__list-item::after {
    content: "";
    position: absolute;
    left: 0;
    top: 12px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: currentColor;
  }
  .l-site-nav-child__list-link {
    --scale: 0;
    position: relative;
    text-decoration: none;
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    line-height: 1.75;
    font-size: 1rem;
  }
  @media (any-hover: hover) {
    .l-site-nav-child__list-link:hover {
      --scale: 1;
    }
    .l-site-nav-child__list-link:hover::after {
      -webkit-transform-origin: left top;
      transform-origin: left top;
    }
  }
  .l-site-nav-child__list-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: currentColor;
    -webkit-transform: scaleX(var(--scale));
    transform: scaleX(var(--scale));
    -webkit-transition: -webkit-transform 300ms ease;
    transition: -webkit-transform 300ms ease;
    transition: transform 300ms ease;
    transition: transform 300ms ease, -webkit-transform 300ms ease;
    -webkit-transform-origin: right top;
    transform-origin: right top;
  }
  .l-site-nav-child__sublist {
    display: grid;
    gap: 6px;
    grid-auto-flow: column;
    grid-template-rows: repeat(4, auto);
  }
  .l-site-nav-child__sublist-link {
    --scale: 0;
    position: relative;
    text-decoration: none;
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    font-size: 0.875rem;
    padding-left: 10px;
  }
  @media (any-hover: hover) {
    .l-site-nav-child__sublist-link:hover {
      --scale: 1;
    }
    .l-site-nav-child__sublist-link:hover::after {
      -webkit-transform-origin: left top;
      transform-origin: left top;
    }
  }
  .l-site-nav-child__sublist-link::after {
    content: "";
    position: absolute;
    left: 10px;
    right: 0;
    bottom: 0;
    height: 1px;
    background-color: currentColor;
    -webkit-transform: scaleX(var(--scale));
    transform: scaleX(var(--scale));
    -webkit-transition: -webkit-transform 300ms ease;
    transition: -webkit-transform 300ms ease;
    transition: transform 300ms ease;
    transition: transform 300ms ease, -webkit-transform 300ms ease;
    -webkit-transform-origin: right top;
    transform-origin: right top;
  }
  .l-site-nav-child__sublist-link::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 4px;
    height: 1px;
    background-color: #fff;
  }
  @media (width >= 769px) {
    .l-site-nav-footer {
      display: none;
    }
  }
  @media (width <= 768px) {
    .l-site-nav-footer {
      margin-top: 40px;
    }
  }
  .l-site-nav-footer__reserve {
    display: grid;
    gap: 8px;
  }
  .l-site-nav-footer__phone {
    margin-top: 16px;
  }
  .l-site-nav-footer__phone-link {
    text-decoration: none;
  }
  .l-site-nav-footer__phone-number {
    font-family: "Lora", serif;
    text-align: center;
    font-size: 1.5rem;
    line-height: 1;
  }
  .l-site-nav-footer__phone-open {
    margin-top: 6px;
    font-size: 0.75rem;
    line-height: 1.5;
    text-align: center;
  }
}
@layer components {
  .c-accordion {
    position: relative;
    background: #f6f6f6;
    padding: 6px;
    z-index: 0;
  }
  .c-accordion::before {
    content: "";
    display: block;
    position: absolute;
    inset: 5px;
    border: 1px solid #aaa;
    pointer-events: none;
  }
  .c-accordion__head {
    position: relative;
    width: 100%;
    border: none;
    background: none;
    text-align: left;
    font-family: "Noto Sans JP", sans-serif;
    color: #333;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 16px;
    padding: 40px 60px;
    cursor: pointer;
    -webkit-transition: color 300ms ease;
    transition: color 300ms ease;
    z-index: 0;
  }
  @media (width <= 1024px) {
    .c-accordion__head {
      padding-inline: 40px;
    }
  }
  @media (width <= 768px) {
    .c-accordion__head {
      padding: 24px 16px;
    }
  }
  .c-accordion__head::after {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    background: #f3ebd9;
    opacity: 0;
    -webkit-transition: opacity 300ms ease;
    transition: opacity 300ms ease;
    z-index: -1;
  }
  @media (any-hover: hover) {
    .c-accordion__head:hover::after {
      opacity: 1;
    }
  }
  .c-accordion__head-label {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    font-size: 1.5rem;
    font-family: "Noto Serif JP", serif;
  }
  @media (width <= 768px) {
    .c-accordion__head-label {
      font-size: 1.25rem;
    }
  }
  .c-accordion__head-icon {
    position: relative;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transition: -webkit-transform 300ms ease;
    transition: -webkit-transform 300ms ease;
    transition: transform 300ms ease;
    transition: transform 300ms ease, -webkit-transform 300ms ease;
  }
  .c-accordion__head-icon::before, .c-accordion__head-icon::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    background: currentColor;
    -webkit-transition: background-color 300ms, opacity 300ms, -webkit-transform 300ms;
    transition: background-color 300ms, opacity 300ms, -webkit-transform 300ms;
    transition: transform 300ms, background-color 300ms, opacity 300ms;
    transition: transform 300ms, background-color 300ms, opacity 300ms, -webkit-transform 300ms;
  }
  @media (width <= sp) {
    .c-accordion__head-icon::before, .c-accordion__head-icon::after {
      width: 16px;
      margin-left: -8px;
    }
  }
  .c-accordion__head-icon::after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  .c-accordion__head[aria-expanded=true] .c-accordion__head-icon {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  .c-accordion__head[aria-expanded=true] .c-accordion__head-icon::before {
    opacity: 0;
  }
  .c-accordion__body {
    padding-inline: 60px;
  }
  @media (width <= 1024px) {
    .c-accordion__body {
      padding-inline: 40px;
    }
  }
  @media (width <= 768px) {
    .c-accordion__body {
      padding-inline: 16px;
    }
  }
  .c-accordion__body-inner {
    padding-block: 40px;
    border-top: 1px solid #3f3727;
  }
  @media (width <= 768px) {
    .c-accordion__body-inner {
      padding-block: 24px;
    }
  }
}
@layer components {
  .c-anchor-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-left: -10px;
    margin-right: -10px;
    row-gap: 20px;
  }
  @media (width <= 768px) {
    .c-anchor-list {
      row-gap: 16px;
    }
  }
  .c-anchor-list:not(:last-child) {
    margin-bottom: 60px;
  }
  @media (width <= 768px) {
    .c-anchor-list:not(:last-child) {
      margin-bottom: 40px;
    }
  }
  .c-anchor-list > * {
    width: 25%;
    padding-left: 10px;
    padding-right: 10px;
  }
  @media (width <= 1024px) {
    .c-anchor-list > * {
      width: 50%;
    }
  }
  @media (width <= 768px) {
    .c-anchor-list > * {
      width: 100%;
    }
  }
  .c-anchor-list.-cols-5 > * {
    width: 20%;
  }
  @media (width <= 1024px) {
    .c-anchor-list.-cols-5 > * {
      width: 50%;
    }
  }
  @media (width <= 768px) {
    .c-anchor-list.-cols-5 > * {
      width: 100%;
    }
  }
  .c-anchor-list.-cols-3 > * {
    width: 33.333%;
  }
  @media (width <= 1024px) {
    .c-anchor-list.-cols-3 > * {
      width: 50%;
    }
  }
  @media (width <= 768px) {
    .c-anchor-list.-cols-3 > * {
      width: 100%;
    }
  }
  @media (width <= 768px) {
    .c-anchor-list.-md-col3 {
      margin-left: -5px;
      margin-right: -5px;
    }
    .c-anchor-list.-md-col3 > * {
      width: 33.333%;
      padding-left: 5px;
      padding-right: 5px;
    }
  }
  @media (width <= 768px) {
    .c-anchor-list.-md-col2 {
      margin-left: -5px;
      margin-right: -5px;
    }
    .c-anchor-list.-md-col2 > * {
      width: 50%;
      padding-left: 5px;
      padding-right: 5px;
    }
  }
}
@layer components {
  .c-back-to-top {
    position: fixed;
    z-index: 10;
    right: 10px;
    bottom: 10px;
    -webkit-transition: opacity 300ms ease;
    transition: opacity 300ms ease;
  }
  @media (width <= 768px) {
    .c-back-to-top {
      bottom: 83px;
    }
  }
  body:not(.is-scrolled) .c-back-to-top {
    opacity: 0;
  }
  .c-back-to-top__link {
    position: relative;
    z-index: 1;
    width: 50px;
    height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    place-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 2px;
    background-color: #797261;
    text-decoration: none;
  }
  @media (any-hover: hover) {
    .c-back-to-top__link:hover .c-back-to-top__icon {
      translate: 0 -4px;
    }
    .c-back-to-top__link:hover::after {
      opacity: 0;
    }
  }
  .c-back-to-top__link::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: -webkit-gradient(linear, left top, right top, from(#797261), to(#3e3727));
    background: linear-gradient(90deg, #797261 0%, #3e3727 100%);
    -webkit-transition: opacity 300ms ease;
    transition: opacity 300ms ease;
  }
  .c-back-to-top__label {
    font-size: 0.75rem;
  }
  .c-back-to-top__icon {
    line-height: 0;
    -webkit-transition: translate 300ms ease;
    transition: translate 300ms ease;
  }
}
@layer components {
  .c-bg-container {
    width: calc(100vw - var(--scrollbar));
    margin-left: calc((100vw - var(--scrollbar) - 100%) / -2);
    container-type: inline-size;
    margin-block: 60px;
    padding-inline: var(--padding-side);
    background: #f3ebd9 url(../images/common/bg_beige.webp) no-repeat center/cover;
  }
  @media (width <= 768px) {
    .c-bg-container {
      margin-block: 40px;
    }
  }
  .c-bg-container__inner {
    max-width: 1200px;
    margin-inline: auto;
    padding-block: 80px;
  }
  @media (width <= 768px) {
    .c-bg-container__inner {
      padding-block: 40px;
    }
  }
  .c-bg-container.-md .c-bg-container__inner {
    padding-block: 60px;
  }
  .c-bg-container__inner > :first-child {
    margin-top: 0;
  }
  .c-bg-container__inner > :last-child {
    margin-bottom: 0;
  }
  .c-bg-container.-beige {
    background: #f3ebd9;
  }
}
@layer components {
  .c-box-beige {
    background-color: #f3ebd9;
    padding: 40px;
  }
  @media (width <= 768px) {
    .c-box-beige {
      padding: 30px 20px;
    }
  }
  .c-box-beige.-grad {
    background: -webkit-gradient(linear, left top, right top, from(#f3ebd9), to(#ddd1b6));
    background: linear-gradient(90deg, #f3ebd9 0%, #ddd1b6 100%);
  }
  .c-box-beige.-gray {
    background-color: #f6f6f6;
  }
}
@layer components {
  .c-box-card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .c-box-card:not(:has(.c-box-card__link)) {
    background: #fff;
    border: 1px solid #ccc;
  }
  .c-box-card__link {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    text-decoration: none;
    height: 100%;
    -webkit-transition: background-color 300ms ease, color 300ms ease;
    transition: background-color 300ms ease, color 300ms ease;
  }
  .c-box-card__link:not(.-inner) {
    -webkit-box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.1);
  }
  @media (any-hover: hover) {
    .c-box-card__link:not(.-inner):hover {
      background-color: #797261;
      color: #fff;
    }
    .c-box-card__link:not(.-inner):hover .c-box-card__title {
      color: #3e3727;
      background: #fff;
    }
  }
  .c-box-card__link.-inner {
    background: #f3ebd9;
  }
  @media (any-hover: hover) {
    .c-box-card__link.-inner:hover {
      background-color: #797261;
      color: #fff;
    }
    .c-box-card__link.-inner:hover .c-box-card__title {
      color: #3e3727;
      background: #fff;
    }
  }
  .c-box-card__header {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    position: relative;
    overflow: hidden;
    z-index: 1;
  }
  .c-box-card__thumb {
    max-width: none;
    width: 100%;
    -webkit-transition: -webkit-transform 300ms ease;
    transition: -webkit-transform 300ms ease;
    transition: transform 300ms ease;
    transition: transform 300ms ease, -webkit-transform 300ms ease;
  }
  .c-box-card__body {
    position: relative;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-inline: 40px;
    padding-bottom: 40px;
    z-index: 2;
  }
  @media (width <= 1024px) {
    .c-box-card__body {
      padding-inline: 20px;
    }
  }
  .c-box-card__link:not(.-inner) .c-box-card__body {
    padding-bottom: 60px;
  }
  @media (width <= 768px) {
    .c-box-card__link:not(.-inner) .c-box-card__body {
      padding-bottom: 40px;
    }
  }
  .c-box-card__link.-inner .c-box-card__body {
    padding-inline: 20px;
    padding-bottom: 20px;
  }
  .c-box-card__title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: -30px;
    min-height: 60px;
    color: #fff;
    background: #797261 -webkit-gradient(linear, left top, right top, from(#797261), to(#3e3727));
    background: #797261 linear-gradient(90deg, #797261 0%, #3e3727 100%);
    font-family: "Noto Serif JP", serif;
    text-align: center;
    padding: 10px;
    margin-bottom: 20px;
    -webkit-transition: background-color 300ms ease, color 300ms ease;
    transition: background-color 300ms ease, color 300ms ease;
  }
  @media (width >= 1025px) {
    .c-box-card__title {
      font-size: 1.125rem;
    }
  }
  .c-box-card__desc {
    line-height: 1.75;
  }
  @media (width <= 768px) {
    .c-box-card__desc {
      font-size: 0.875rem;
    }
  }
  .c-box-card__desc:not(:last-child) {
    margin-bottom: 20px;
  }
  .c-box-card__desc.-red {
    color: #d28787;
  }
  .c-box-card__desc.-lg {
    font-size: 1.25rem;
  }
  .c-box-card__desc.-sm {
    font-size: 0.75rem;
  }
  .c-box-card__desc.-c {
    text-align: center;
  }
  .c-box-card__desc.-l {
    text-align: left;
  }
  .c-box-card__desc.-r {
    text-align: right;
  }
  .c-box-card__icon .icon {
    -webkit-transition: -webkit-transform 300ms ease;
    transition: -webkit-transform 300ms ease;
    transition: transform 300ms ease;
    transition: transform 300ms ease, -webkit-transform 300ms ease;
  }
  .c-box-card__link:not(.-inner) .c-box-card__icon {
    position: absolute;
    bottom: 20px;
    right: 20px;
  }
  .c-box-card__link.-inner .c-box-card__icon {
    margin-top: auto;
    text-align: center;
  }
}
@layer components {
  .c-box-content:not(:last-child) {
    margin-bottom: 40px;
  }
  .c-box-content__header {
    position: relative;
    background-color: #3f3727;
    color: #fff;
    padding: 20px;
  }
  .c-box-content__header::after {
    content: "";
    position: absolute;
    inset: 5px;
    border: 1px solid #fff;
  }
  .c-box-content__title {
    font-family: "Noto Serif JP", serif;
    font-size: 1.5rem;
    line-height: 1.5;
    text-align: center;
  }
  @media (width <= 768px) {
    .c-box-content__title {
      font-size: 1.25rem;
    }
  }
  .c-box-content__body {
    padding: 40px;
    background-color: #f6f6f6;
  }
  @media (width <= 768px) {
    .c-box-content__body {
      padding: 20px;
    }
  }
}
@layer components {
  .c-box-course {
    margin-bottom: 40px;
    border: 1px solid #3f3727;
  }
  .c-box-course + .c-box-course {
    margin-top: 60px;
  }
  .c-box-course__header {
    padding: 20px 40px;
    background: #3f3727;
  }
  .c-box-course__title {
    color: #fff;
    font-size: 1.5rem;
    font-family: "Noto Serif JP", serif;
    text-align: center;
    line-height: 1.5;
  }
  .c-box-course__title::after {
    content: "";
    display: block;
    width: 60px;
    height: 2px;
    margin-top: 8px;
    margin-inline: auto;
    background: #fff;
  }
  .c-box-course__sub {
    color: #fff;
    text-align: center;
    margin-top: 20px;
  }
  .c-box-course__body {
    padding: 40px 40px 20px;
  }
  @media (width <= 768px) {
    .c-box-course__body {
      padding: 40px 20px;
    }
  }
}
@layer components {
  .c-box-fill {
    background-color: #f6f6f6;
    padding: 20px;
    margin-bottom: 40px;
  }
  @media (width <= 768px) {
    .c-box-fill {
      margin-bottom: 20px;
    }
  }
  .c-box-fill.-border {
    position: relative;
    padding: 40px;
  }
  @media (width <= 768px) {
    .c-box-fill.-border {
      padding: 40px 20px;
    }
  }
  .c-box-fill.-border::before {
    content: "";
    position: absolute;
    inset: 5px;
    border: 1px solid #797261;
    pointer-events: none;
  }
  .c-box-fill.-double {
    border: 1px solid #797261;
  }
  .c-box-fill.-lg {
    padding: 40px;
  }
  @media (width <= 768px) {
    .c-box-fill.-lg {
      padding: 40px 20px;
    }
  }
  .c-box-fill.-xl {
    padding: 80px 40px;
  }
  @media (width <= 1024px) {
    .c-box-fill.-xl {
      padding-block: 60px;
    }
  }
  @media (width <= 768px) {
    .c-box-fill.-xl {
      padding: 40px 20px;
    }
  }
  .c-box-fill__inner {
    max-width: 960px;
    margin-inline: auto;
  }
  .c-box-fill__inner.-sm {
    max-width: 350px;
  }
  .c-box-fill.-white {
    background: #fff;
  }
  .c-box-fill.-beige {
    background: #f3ebd9;
  }
  .c-box-fill.-beige-bg {
    background: #f3ebd9 url(../images/common/bg_beige.webp) no-repeat center/cover;
  }
  .c-box-fill.-arrow {
    position: relative;
    margin-bottom: 130px;
  }
  @media (width <= 768px) {
    .c-box-fill.-arrow {
      margin-bottom: 90px;
    }
  }
  .c-box-fill.-arrow::after {
    content: "";
    display: block;
    position: absolute;
    background-color: #f3ebd9;
    top: 100%;
    left: 0;
    right: 0;
    height: 50px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }
}
@layer components {
  .c-box-notice {
    text-align: center;
    padding: 20px;
    border: 2px solid #d28787;
    margin-bottom: 40px;
  }
  .c-box-notice.-md {
    padding: 40px;
  }
  @media (width <= 768px) {
    .c-box-notice.-md {
      padding: 20px;
    }
  }
  .c-box-notice svg {
    margin-bottom: 10px;
  }
}
@layer components {
  .c-box-section {
    margin-top: 60px;
    margin-bottom: 40px;
  }
  .c-box-section__header {
    padding: 40px;
    background: #3f3727;
  }
  @media (width <= 768px) {
    .c-box-section__header {
      padding: 20px;
    }
  }
  .c-box-section__title {
    color: #fff;
    font-size: 2rem;
    font-family: "Noto Serif JP", serif;
    text-align: center;
    line-height: 1.5;
  }
  @media (width <= 768px) {
    .c-box-section__title {
      font-size: 1.5rem;
    }
  }
  .c-box-section__body {
    padding: 40px 40px 60px;
    background: #f3ebd9 url(../images/common/bg_beige.webp) no-repeat center/cover;
  }
  @media (width <= 768px) {
    .c-box-section__body {
      padding: 40px 20px;
    }
  }
}
@layer components {
  .c-breadcrumb {
    padding: 24px var(--padding-side) 0;
    margin-bottom: 80px;
  }
  @media (width <= 768px) {
    .c-breadcrumb {
      padding-top: 16px;
      margin-bottom: 40px;
    }
  }
  .c-breadcrumb__inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  .c-breadcrumb__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow: auto;
  }
  .c-breadcrumb__list-item {
    position: relative;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .c-breadcrumb__list-item:not(:last-child)::after {
    padding: 0 12px;
    content: "";
    pointer-events: none;
    display: inline-block;
    width: 8px;
    height: 8px;
    background-color: currentColor;
    mask-image: url("/assets/icons/cret_right.svg");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-image: url("/assets/icons/cret_right.svg");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
  }
  .c-breadcrumb__list-item:last-child .c-breadcrumb__list-link {
    pointer-events: none;
  }
  .c-breadcrumb__list-link {
    color: #333;
    text-decoration: none;
  }
  @media (width <= 768px) {
    .c-breadcrumb__list-link {
      font-size: 0.875rem;
    }
  }
  @media (any-hover: hover) {
    .c-breadcrumb__list-link:hover {
      text-decoration: underline;
    }
  }
}
@layer components {
  .c-button-anchor {
    --background: linear-gradient(90deg, #f3ebd9 0%, #ddd1b6 100%);
    --color: #3f3727;
    --hover-background: #f3ebd9;
    --scale: 0;
  }
  .c-button-anchor__link {
    position: relative;
    background: var(--background);
    color: var(--color);
    min-height: 60px;
    width: 100%;
    height: 100%;
    font-size: 0.875rem;
    padding: 8px 28px;
    text-decoration: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 8px;
    text-align: center;
    cursor: pointer;
    font-weight: 700;
    font-family: "Noto Serif JP", serif;
    -webkit-transition: opacity 300ms ease;
    transition: opacity 300ms ease;
  }
  @media (any-hover: hover) {
    .c-button-anchor__link:hover {
      --scale: 1;
    }
    .c-button-anchor__link:hover::after {
      -webkit-transform-origin: left top;
      transform-origin: left top;
    }
    .c-button-anchor__link:hover .c-button-anchor__icon-right {
      -webkit-transform: translateY(calc(-50% + 4px));
      transform: translateY(calc(-50% + 4px));
    }
  }
  .c-button-anchor__link::after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--hover-background);
    -webkit-transform: scaleX(var(--scale));
    transform: scaleX(var(--scale));
    -webkit-transition: -webkit-transform 300ms ease;
    transition: -webkit-transform 300ms ease;
    transition: transform 300ms ease;
    transition: transform 300ms ease, -webkit-transform 300ms ease;
    -webkit-transform-origin: right top;
    transform-origin: right top;
  }
  .c-button-anchor.-option .c-button-anchor__link {
    padding-left: 8px;
    padding-right: 10px;
  }
  .c-button-anchor.-courses .c-button-anchor__link {
    padding-left: 8px;
    padding-right: 10px;
    min-height: 47px;
  }
  .c-box-beige .c-button-anchor__link {
    background: #fff;
  }
  .c-button-anchor__label {
    position: relative;
    z-index: 2;
  }
  .c-button-anchor__label.-column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
    padding-block: 8px;
  }
  .c-button-anchor__label-main {
    font-size: 1rem;
  }
  .c-button-anchor__label-sub {
    font-size: 0.75rem;
    margin-top: 8px;
  }
  .c-button-anchor.-option .c-button-anchor__label {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    padding-right: 16px;
  }
  @media (width <= 768px) {
    .c-button-anchor.-courses .c-button-anchor__label {
      font-size: 0.75rem;
    }
  }
  .c-button-anchor__icon-right {
    position: absolute;
    right: 13px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 2;
    line-height: 0;
    -webkit-transition: -webkit-transform 300ms ease;
    transition: -webkit-transform 300ms ease;
    transition: transform 300ms ease;
    transition: transform 300ms ease, -webkit-transform 300ms ease;
  }
  .c-button-anchor.-option .c-button-anchor__icon-right {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    position: relative;
    right: auto;
    top: auto;
    -webkit-transform: none;
    transform: none;
  }
  .c-button-anchor__icon-left {
    position: relative;
    z-index: 2;
    line-height: 0;
  }
  .c-button-anchor.-option .c-button-anchor__icon-left {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
  }
}
@layer components {
  .c-button-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 16px 40px;
  }
}
@layer components {
  .c-button {
    --background: linear-gradient(90deg, #b88e2e 0%, #966900 100%);
    --color: #fff;
    --hover-background: #fff;
    --hover-color: #b89749;
    --scale: 0;
  }
  .c-button.-liquid .c-button__link {
    width: 100%;
    min-width: 0;
  }
  @media (width <= 768px) {
    .c-button.-md-liquid .c-button__link {
      width: 100%;
      min-width: 0;
    }
  }
  .c-button.-match-height .c-button__link {
    height: 100%;
  }
  .c-button.-lg .c-button__link {
    min-height: 80px;
    min-width: 360px;
    gap: 12px;
    font-size: 1.25rem;
  }
  @media (width <= 768px) {
    .c-button.-lg .c-button__link {
      min-width: 310px;
    }
  }
  .c-button.-lg .c-button__icon-right {
    right: 20px;
  }
  .c-button.-md .c-button__link {
    min-width: 350px;
  }
  @media (width <= 768px) {
    .c-button.-md .c-button__link {
      min-width: 310px;
    }
  }
  .c-button.-sm .c-button__link {
    min-width: 0;
    min-height: 38px;
    width: 100%;
    padding: 0;
    font-size: 0.8125rem;
  }
  .c-button.-sm .c-button__icon-right {
    right: 10px;
  }
  .c-button.-sm .c-button__icon-left {
    position: absolute;
    right: auto;
    left: 10px;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    z-index: 2;
    line-height: 0;
    -webkit-transition: -webkit-transform 300ms ease;
    transition: -webkit-transform 300ms ease;
    transition: transform 300ms ease;
    transition: transform 300ms ease, -webkit-transform 300ms ease;
  }
  .c-button.-c .c-button__link {
    margin-inline: auto;
  }
  .c-button.-white {
    --background: #fff;
    --color: #333;
    --hover-background: #f3ebd9;
    --hover-color: #333;
  }
  .c-button.-border {
    --background: #fff;
    --color: #333;
    --hover-background: #f6f6f6;
    --hover-color: #333;
  }
  .c-button.-border .c-button__link {
    border: 1px solid currentColor;
  }
  .c-button.-tel .c-button__label {
    font-size: 1.25rem;
    font-family: "Lora", serif;
  }
  .c-button.-header-contact {
    --background: #3e3727;
    --color: #fff;
    --hover-background: #797261;
    --hover-color: #fff;
    font-family: "Noto Serif JP", serif;
  }
  .c-button.-header-contact .c-button__link {
    border: 1px solid currentColor;
    font-weight: 700;
    min-height: 48px;
    min-width: 160px;
    padding: 10px 20px;
  }
  @media (width <= 1024px) {
    .c-button.-header-contact .c-button__link {
      min-width: 110px;
    }
  }
  @media (width <= 768px) {
    .c-button.-header-contact .c-button__link {
      width: 100%;
      max-width: 320px;
      margin-left: auto;
      margin-right: auto;
    }
  }
  .c-button.-header-reserve {
    --background: #fff;
    --color: #333;
    --hover-background: #797261;
    --hover-color: #fff;
    font-family: "Noto Serif JP", serif;
  }
  .c-button.-header-reserve .c-button__link {
    font-weight: 700;
    min-height: 48px;
    min-width: 160px;
    padding: 10px 0;
    font-size: 0.875rem;
  }
  @media (width <= 1024px) {
    .c-button.-header-reserve .c-button__link {
      min-width: 140px;
    }
  }
  .c-button.-header-menu {
    --background: #fff;
    --color: #333;
    --hover-background: #f3ebd9;
    --hover-color: #333;
  }
  .c-button.-header-menu .c-button__link {
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    line-height: 2;
    font-size: 0.875rem;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding-left: 30px;
    min-width: 260px;
  }
  @media (any-hover: hover) {
    .c-button.-header-menu .c-button__link:hover {
      -webkit-box-shadow: none;
      box-shadow: none;
    }
  }
  @media (width <= 768px) {
    .c-button.-header-menu .c-button__link {
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      padding-right: 30px;
      width: 100%;
      max-width: 320px;
      margin-left: auto;
      margin-right: auto;
    }
  }
  .c-button.-header-menu .c-button__icon-right {
    right: 20px;
  }
  @media (width <= 768px) {
    .c-button.-header-menu .c-button__icon-right {
      display: none;
    }
  }
  .c-button.-reverse .c-button__icon-right {
    right: auto;
    left: 13px;
  }
  .c-button.-serif .c-button__link {
    font-family: "Noto Serif JP", serif;
  }
  body.is-laptop .c-button.-phone .c-button__link {
    pointer-events: none;
  }
  body.is-laptop .c-button.-phone .c-button__icon-right {
    display: none;
  }
  .c-button__link {
    position: relative;
    background: var(--background);
    color: var(--color);
    min-height: 60px;
    min-width: 280px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border: none;
    padding: 8px 40px;
    text-decoration: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-weight: 700;
    font-family: "Noto Serif JP", serif;
    -webkit-transition: color 300ms ease, background-color 300ms ease, border-color 300ms ease, -webkit-box-shadow 300ms ease;
    transition: color 300ms ease, background-color 300ms ease, border-color 300ms ease, -webkit-box-shadow 300ms ease;
    transition: color 300ms ease, background-color 300ms ease, border-color 300ms ease, box-shadow 300ms ease;
    transition: color 300ms ease, background-color 300ms ease, border-color 300ms ease, box-shadow 300ms ease, -webkit-box-shadow 300ms ease;
  }
  @media (any-hover: hover) {
    .c-button__link:hover {
      --scale: 1;
      -webkit-box-shadow: 10px 10px 20px 0 rgba(0, 0, 0, 0.1);
      box-shadow: 10px 10px 20px 0 rgba(0, 0, 0, 0.1);
      color: var(--hover-color);
    }
    .c-button__link:hover::after {
      -webkit-transform-origin: left center;
      transform-origin: left center;
    }
    .c-button__link:hover .c-button__icon-right {
      -webkit-transform: translate(4px, -50%);
      transform: translate(4px, -50%);
    }
  }
  .c-button__link::after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--hover-background);
    -webkit-transform: scaleX(var(--scale));
    transform: scaleX(var(--scale));
    -webkit-transition: -webkit-transform 300ms ease;
    transition: -webkit-transform 300ms ease;
    transition: transform 300ms ease;
    transition: transform 300ms ease, -webkit-transform 300ms ease;
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
  .c-button__label {
    position: relative;
    z-index: 2;
  }
  .c-button__label.-c {
    text-align: center;
  }
  .c-button__icon-right {
    position: absolute;
    right: 13px;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    z-index: 2;
    line-height: 0;
    -webkit-transition: -webkit-transform 300ms ease;
    transition: -webkit-transform 300ms ease;
    transition: transform 300ms ease;
    transition: transform 300ms ease, -webkit-transform 300ms ease;
  }
  .c-button__icon-left {
    position: relative;
    z-index: 2;
    line-height: 0;
  }
}
@layer components {
  .c-inner {
    max-width: 960px;
    margin-inline: auto;
  }
}
@layer components {
  .c-card-row {
    --scale: 1;
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #000;
    border-bottom: 1px solid #3f3727;
  }
  .c-card-row__link {
    display: block;
    text-decoration: none;
    -webkit-transition: opacity 300ms ease;
    transition: opacity 300ms ease;
  }
  .c-card-row__link:hover {
    --scale: 1.04;
    opacity: 0.7;
  }
  .c-card-row__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 12px;
  }
  .c-card-row__thumb {
    overflow: hidden;
  }
  .c-card-row__img {
    aspect-ratio: 350/220;
    scale: var(--scale);
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transition: scale 300ms ease;
    transition: scale 300ms ease;
    width: 120px;
  }
  .c-card-row__category {
    margin-top: 10px;
  }
  .c-card-row__date {
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    font-size: 0.875rem;
  }
  .c-card-row__title {
    margin-top: 10px;
  }
}
@layer components {
  .c-card {
    --scale: 1;
  }
  .c-card__link {
    display: block;
    text-decoration: none;
    -webkit-transition: opacity 300ms ease;
    transition: opacity 300ms ease;
  }
  .c-card__link:hover {
    --scale: 1.04;
    opacity: 0.7;
  }
  .c-card__header {
    overflow: hidden;
  }
  .c-card__thumb {
    aspect-ratio: 350/220;
    scale: var(--scale);
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transition: scale 300ms ease;
    transition: scale 300ms ease;
  }
  .c-card__body {
    margin-top: 16px;
  }
  @media (width <= 768px) {
    .c-card__body {
      margin-top: 10px;
    }
  }
  .c-card__meta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .c-card__date {
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
  }
  @media (width <= 768px) {
    .c-card__date {
      font-size: 0.875rem;
    }
  }
  .c-card__title {
    margin-top: 16px;
  }
  @media (width <= 768px) {
    .c-card__title {
      margin-top: 10px;
    }
  }
  .c-card__icon {
    margin-top: 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
}
@layer components {
  .c-carousel-horizontal__slide > * {
    height: 100%;
  }
  .c-carousel-horizontal__navigation {
    position: absolute;
    right: 0;
    top: -80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 24px;
  }
  @media (width <= 768px) {
    .c-carousel-horizontal__navigation {
      position: static;
      gap: 32px;
      margin-top: 24px;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
    }
  }
  .c-carousel-horizontal__prev, .c-carousel-horizontal__next {
    padding: 0;
    background: none;
    border: none;
    margin: 0;
    color: #3e3727;
    cursor: pointer;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  @media (any-hover: hover) {
    .c-carousel-horizontal__prev:hover, .c-carousel-horizontal__next:hover {
      opacity: 0.7;
    }
  }
}
.c-carousel-horizontal.swiper {
  overflow: visible;
}
.c-carousel-horizontal__slide.swiper-slide {
  width: 226px;
  height: auto;
}
@media (width <= 768px) {
  .c-carousel-horizontal__slide.swiper-slide {
    width: auto;
  }
}

@layer components {
  .c-category-label {
    --color: #333;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 120px;
    min-height: 24px;
    text-decoration: none;
    font-weight: 700;
    background-color: var(--color);
    color: #fff;
    line-height: 1;
    font-size: 0.75rem;
  }
  @media (width <= 768px) {
    .c-category-label {
      min-width: 100px;
      font-size: 0.625rem;
    }
  }
  .c-category-label.-medical-checkup {
    --color: #d28787;
  }
  .c-category-label.-business-info {
    --color: #b2ae6c;
  }
  .c-category-label.-maintenance {
    --color: #4f98a7;
  }
  .c-category-label.-events {
    --color: #765e5e;
  }
  .c-category-label.-others {
    --color: #6dac48;
  }
}
@layer components {
  .c-category-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 10px;
  }
  @media (width <= 768px) {
    .c-category-link {
      gap: 4px;
    }
  }
  .c-category-link__link {
    --color: #333;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 120px;
    min-height: 24px;
    text-decoration: none;
    border: 1px solid currentColor;
    font-weight: 700;
    color: var(--color);
    font-size: 0.75rem;
    line-height: 1;
    -webkit-transition: color 300ms ease, background-color 300ms ease, border-color 300ms ease;
    transition: color 300ms ease, background-color 300ms ease, border-color 300ms ease;
  }
  @media (width <= 768px) {
    .c-category-link__link {
      font-size: 0.625rem;
      min-width: 100px;
    }
  }
  @media (any-hover: hover) {
    .c-category-link__link:hover {
      color: #fff;
      background-color: var(--color);
      border-color: var(--color);
    }
  }
  .c-category-link__link.-current {
    color: #fff;
    background-color: var(--color);
    border-color: var(--color);
  }
  .c-category-link__link.-medical-checkup {
    --color: #d28787;
  }
  .c-category-link__link.-business-info {
    --color: #b2ae6c;
  }
  .c-category-link__link.-maintenance {
    --color: #4f98a7;
  }
  .c-category-link__link.-events {
    --color: #765e5e;
  }
  .c-category-link__link.-others {
    --color: #6dac48;
  }
}
@layer components {
  .c-deco {
    position: absolute;
    right: 0;
    left: 0;
    width: calc(100vw - var(--scrollbar));
    margin-left: calc((100vw - var(--scrollbar) - 100%) / -2);
    z-index: -1;
    pointer-events: none;
  }
  .c-deco img {
    width: 100%;
  }
}
@layer components {
  .c-editor p:not([class]) {
    line-height: 1.75;
  }
  @media (width <= 768px) {
    .c-editor p:not([class]) {
      font-size: 0.875rem;
    }
  }
  .c-editor p:not([class]):not(:last-child) {
    margin-bottom: 20px;
  }
  .c-editor p:not([class]).-red {
    color: #d28787;
  }
  .c-editor p:not([class]).-lg {
    font-size: 1.25rem;
  }
  .c-editor p:not([class]).-sm {
    font-size: 0.75rem;
  }
  .c-editor p:not([class]).-c {
    text-align: center;
  }
  .c-editor p:not([class]).-l {
    text-align: left;
  }
  .c-editor p:not([class]).-r {
    text-align: right;
  }
  .c-editor h2.wp-block-heading {
    line-height: 1.75;
    font-size: 2rem;
    font-family: "Noto Serif JP", serif;
  }
  @media (width <= 768px) {
    .c-editor h2.wp-block-heading {
      font-size: 1.5rem;
    }
  }
  .c-editor h2.wp-block-heading:not(:first-child) {
    margin-top: 80px;
  }
  @media (width <= 768px) {
    .c-editor h2.wp-block-heading:not(:first-child) {
      margin-top: 40px;
    }
  }
  .c-editor h2.wp-block-heading:not(:last-child) {
    margin-bottom: 60px;
  }
  @media (width <= 768px) {
    .c-editor h2.wp-block-heading:not(:last-child) {
      margin-bottom: 32px;
    }
  }
  .c-editor h2.wp-block-heading.-border {
    text-align: center;
    padding-bottom: 10px;
    border-bottom: 1px solid #797261;
  }
  .c-editor h2.wp-block-heading.-c {
    text-align: center;
  }
  .c-editor h2.wp-block-heading {
    padding-bottom: 10px;
    border-bottom: 1px solid #797261;
  }
  .c-editor h3.wp-block-heading {
    position: relative;
    line-height: 1.5;
    font-size: 1.5rem;
    font-family: "Noto Serif JP", serif;
    padding-left: 20px;
  }
  @media (width <= 768px) {
    .c-editor h3.wp-block-heading {
      font-size: 1.125rem;
      padding-left: 18px;
    }
  }
  .c-editor h3.wp-block-heading:not(:first-child) {
    margin-top: 60px;
  }
  @media (width <= 768px) {
    .c-editor h3.wp-block-heading:not(:first-child) {
      margin-top: 40px;
    }
  }
  .c-editor h3.wp-block-heading:not(:last-child) {
    margin-bottom: 40px;
  }
  @media (width <= 768px) {
    .c-editor h3.wp-block-heading:not(:last-child) {
      margin-bottom: 32px;
    }
  }
  .c-editor h3.wp-block-heading:not(.-c)::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 6px;
    background-color: #3e3727;
  }
  @media (width <= 768px) {
    .c-editor h3.wp-block-heading:not(.-c)::after {
      width: 4px;
    }
  }
  .c-editor h3.wp-block-heading.-c {
    text-align: center;
    padding-bottom: 10px;
    padding-left: 0;
  }
  @media (width <= 768px) {
    .c-editor h3.wp-block-heading.-c {
      padding-bottom: 8px;
      padding-left: 0;
    }
  }
  .c-editor h3.wp-block-heading.-c::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    translate: -50% 0;
    height: 2px;
    width: 60px;
    background-color: currentColor;
  }
  @media (width <= 768px) {
    .c-editor h3.wp-block-heading.-c::after {
      width: 40px;
    }
  }
  .c-editor h4.wp-block-heading {
    position: relative;
    line-height: 1.5;
    font-size: 1.125rem;
    font-family: "Noto Serif JP", serif;
    padding-left: 14px;
    font-weight: 700;
  }
  @media (width <= 768px) {
    .c-editor h4.wp-block-heading {
      font-size: 0.875rem;
      padding-left: 10px;
    }
  }
  .c-editor h4.wp-block-heading:not(:first-child) {
    margin-top: 40px;
  }
  @media (width <= 768px) {
    .c-editor h4.wp-block-heading:not(:first-child) {
      margin-top: 32px;
    }
  }
  .c-editor h4.wp-block-heading:not(:last-child) {
    margin-bottom: 20px;
  }
  .c-editor h4.wp-block-heading::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 6px;
    background-color: #f3ebd9;
  }
  @media (width <= 768px) {
    .c-editor h4.wp-block-heading::after {
      width: 4px;
    }
  }
  .c-editor h4.wp-block-heading.-darker::after {
    background-color: #3f3727;
  }
  .c-editor h4.wp-block-heading.-no-border {
    padding-left: 0;
  }
  .c-editor h4.wp-block-heading.-no-border::after {
    content: none;
  }
  .c-editor .wp-block-image {
    text-align: center;
  }
  .c-editor .wp-block-image:not(:first-child) {
    margin-top: 40px;
  }
  @media (width <= 768px) {
    .c-editor .wp-block-image:not(:first-child) {
      margin-top: 24px;
    }
  }
  .c-editor .wp-block-image:not(:last-child) {
    margin-bottom: 40px;
  }
  @media (width <= 768px) {
    .c-editor .wp-block-image:not(:last-child) {
      margin-bottom: 24px;
    }
  }
  .c-editor ul.wp-block-list,
  .c-editor ul:not([class]) {
    list-style: disc;
    padding-left: 20px;
  }
  @media (width <= 768px) {
    .c-editor ul.wp-block-list,
    .c-editor ul:not([class]) {
      font-size: 0.875rem;
    }
  }
  .c-editor ul.wp-block-list:not(:first-child),
  .c-editor ul:not([class]):not(:first-child) {
    margin-top: 20px;
  }
  .c-editor ul.wp-block-list:not(:last-child),
  .c-editor ul:not([class]):not(:last-child) {
    margin-bottom: 20px;
  }
  .c-editor ul.wp-block-list li,
  .c-editor ul:not([class]) li {
    padding-left: 8px;
    line-height: 1.75;
  }
  .c-editor ul.wp-block-list li:not(:last-child),
  .c-editor ul:not([class]) li:not(:last-child) {
    margin-bottom: 10px;
  }
  .c-editor ul.wp-block-list ul,
  .c-editor ul:not([class]) ul {
    margin-top: 10px;
  }
  .c-editor ul.wp-block-list.-notice,
  .c-editor ul:not([class]).-notice {
    color: #d28787;
  }
  .c-editor ol.wp-block-list,
  .c-editor ol:not([class]) {
    list-style: decimal;
    padding-left: 20px;
  }
  @media (width <= 768px) {
    .c-editor ol.wp-block-list,
    .c-editor ol:not([class]) {
      font-size: 0.875rem;
    }
  }
  .c-editor ol.wp-block-list:not(:last-child),
  .c-editor ol:not([class]):not(:last-child) {
    margin-bottom: 20px;
  }
  .c-editor ol.wp-block-list li,
  .c-editor ol:not([class]) li {
    padding-left: 8px;
    line-height: 1.75;
  }
  .c-editor ol.wp-block-list li:not(:last-child),
  .c-editor ol:not([class]) li:not(:last-child) {
    margin-bottom: 10px;
  }
  .c-editor .wp-block-quote {
    margin-top: 60px;
    background-color: #f6f6f6;
    padding: 20px 20px 20px 26px;
    border-left: 6px solid #333;
  }
  @media (width <= 768px) {
    .c-editor .wp-block-quote {
      margin-top: 40px;
      font-size: 0.875rem;
    }
  }
  .c-editor .wp-block-quote__cite {
    color: #999;
    margin-top: 20px;
  }
  .c-editor .wp-block-table {
    overflow: auto;
    width: 100%;
  }
  @media (width <= 768px) {
    .c-editor .wp-block-table {
      font-size: 0.875rem;
    }
  }
  .c-editor .wp-block-table:not(:first-child) {
    margin-top: 40px;
  }
  .c-editor .wp-block-table:not(:last-child) {
    margin-bottom: 40px;
  }
  .c-editor .wp-block-table table {
    width: 100%;
    min-width: 820px;
    border-top: 1px solid #3f3727;
  }
  .c-editor .wp-block-table table th,
  .c-editor .wp-block-table table td {
    border-bottom: 1px solid #3f3727;
    padding: 20px;
    text-align: left;
    vertical-align: top;
    line-height: 1.75;
  }
  @media (width <= 768px) {
    .c-editor .wp-block-table table th,
    .c-editor .wp-block-table table td {
      padding: 16px;
    }
  }
  .c-editor .wp-block-table table th {
    background-color: #f3ebd9;
    width: 300px;
  }
  @media (width <= 768px) {
    .c-editor .wp-block-table table th {
      width: 240px;
    }
  }
  .c-editor .wp-block-table table th:not(:has(+ td)):not(:last-child) {
    border-right: 1px solid #3f3727;
  }
  .c-editor .wp-block-table table thead th {
    width: auto;
    color: #fff;
    background: #3f3727;
  }
  .c-editor .wp-block-table table thead th:not(:last-child) {
    border-right: 1px solid #fff;
  }
  .c-editor .wp-block-table table td {
    background-color: #fff;
  }
  .c-editor .wp-block-table table td:not(:last-child) {
    border-right: 1px solid #3f3727;
  }
  .c-editor .alignleft {
    float: left;
    margin: 0 1em 1em 0;
  }
  .c-editor .alignright {
    float: right;
    margin: 0 0 1em 1em;
  }
  .c-editor .aligncenter {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    clear: both;
  }
  .c-editor .alignnone {
    margin: 0;
  }
  .wp-block-embed {
    max-width: 800px;
    margin-inline: auto;
    margin-bottom: 40px;
  }
  .wp-block-embed__wrapper {
    overflow: hidden;
    aspect-ratio: 16/9;
  }
  .wp-embed-aspect-16-9 .wp-block-embed__wrapper {
    aspect-ratio: 16/9;
  }
  .wp-block-embed__wrapper iframe,
  .wp-block-embed__wrapper video {
    width: 100%;
    height: 100%;
  }
}
@layer components {
  #ez-toc-container {
    padding: 40px;
    background-color: #f6f6f6;
  }
  @media (width <= 768px) {
    #ez-toc-container {
      padding: 30px 20px;
    }
  }
  .ez-toc-title {
    position: relative;
    line-height: 1.5;
    font-size: 1.5rem;
    font-family: "Noto Serif JP", serif;
    padding-left: 20px;
  }
  @media (width <= 768px) {
    .ez-toc-title {
      font-size: 1.125rem;
      padding-left: 18px;
    }
  }
  .ez-toc-title:not(:first-child) {
    margin-top: 60px;
  }
  @media (width <= 768px) {
    .ez-toc-title:not(:first-child) {
      margin-top: 40px;
    }
  }
  .ez-toc-title:not(:last-child) {
    margin-bottom: 40px;
  }
  @media (width <= 768px) {
    .ez-toc-title:not(:last-child) {
      margin-bottom: 32px;
    }
  }
  .ez-toc-title:not(.-c)::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 6px;
    background-color: #3e3727;
  }
  @media (width <= 768px) {
    .ez-toc-title:not(.-c)::after {
      width: 4px;
    }
  }
  .ez-toc-title.-c {
    text-align: center;
    padding-bottom: 10px;
    padding-left: 0;
  }
  @media (width <= 768px) {
    .ez-toc-title.-c {
      padding-bottom: 8px;
      padding-left: 0;
    }
  }
  .ez-toc-title.-c::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    translate: -50% 0;
    height: 2px;
    width: 60px;
    background-color: currentColor;
  }
  @media (width <= 768px) {
    .ez-toc-title.-c::after {
      width: 40px;
    }
  }
  .ez-toc-list {
    list-style: disc;
    padding-left: 20px;
  }
  .ez-toc-list a {
    text-decoration: none;
    border-bottom: 1px solid transparent;
    -webkit-transition: color 300ms ease, border-color 300ms ease;
    transition: color 300ms ease, border-color 300ms ease;
  }
  .ez-toc-list a:hover {
    border-color: #c5b796;
    color: #c5b796;
  }
  .ez-toc-list > li {
    padding-left: 8px;
    line-height: 1.75;
  }
  .ez-toc-list > li:not(:last-child) {
    margin-bottom: 10px;
  }
  .ez-toc-list ul {
    font-size: 0.875rem;
    padding-left: 1em;
  }
  .ez-toc-list ul > li {
    margin-top: 10px;
  }
}
@layer components {
  .c-faq-block {
    border-bottom: 1px solid #333;
  }
  .c-faq-block__question {
    width: 100%;
    border: none;
    background: none;
    text-align: left;
    font-family: "Noto Sans JP", sans-serif;
    color: #333;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 20px 0;
    gap: 16px;
    cursor: pointer;
  }
  @media (any-hover: hover) {
    .c-faq-block__question:hover .c-faq-block__question-label {
      color: #a0926e;
      border-bottom-color: currentColor;
    }
  }
  .c-faq-block__question-label {
    -webkit-transition: color 300ms ease, border-color 300ms ease;
    transition: color 300ms ease, border-color 300ms ease;
    border-bottom: 1px solid transparent;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .c-faq-block__question-icon {
    position: relative;
    width: 15px;
    height: 15px;
  }
  .c-faq-block__question-icon::before, .c-faq-block__question-icon::after {
    content: "";
    position: absolute;
    left: 7px;
    top: 50%;
    background-color: #333;
    width: 15px;
    height: 1px;
    translate: -7px 0;
    -webkit-transition: rotate 300ms ease;
    transition: rotate 300ms ease;
  }
  @media (width <= 768px) {
    .c-faq-block__question-icon::before, .c-faq-block__question-icon::after {
      width: 13px;
    }
  }
  .c-faq-block__question-icon::before {
    rotate: 90deg;
  }
  .c-faq-block__question-icon::after {
    rotate: 180deg;
  }
  .c-faq-block__question.is-expanded .c-faq-block__question-icon::before, .c-faq-block__question.is-expanded .c-faq-block__question-icon::after {
    rotate: 0deg;
  }
  .c-faq-block__answer-inner {
    background-color: #fff;
    padding: 20px;
  }
  .c-faq-block.-beige .c-faq-block__answer-inner {
    background-color: #f3ebd9;
  }
}
@layer components {
  .c-fee-table {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-top: 1px solid #3f3727;
    border-bottom: 1px solid #3f3727;
  }
  @media (width <= 768px) {
    .c-fee-table {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      border: 0;
      border-left: 1px solid #3f3727;
      border-right: 1px solid #3f3727;
    }
  }
  .c-fee-table__item {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    text-align: center;
  }
  @media (width <= 768px) {
    .c-fee-table__item {
      border-bottom: 1px solid #3f3727;
    }
  }
  .c-fee-table__item:not(:last-child) {
    border-right: 1px solid #3f3727;
  }
  @media (width <= 768px) {
    .c-fee-table__item:not(:last-child) {
      border-right: 0;
    }
  }
  @media (width <= 768px) {
    .c-fee-table__item:first-child {
      border-top: 1px solid #3f3727;
    }
  }
  .c-fee-table__item[class*=" w-"] {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
  }
  .c-fee-table__item > dt {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    padding: 20px;
    background: #f3ebd9;
  }
  .c-fee-table__item > dd {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 20px;
    background: #fff;
  }
  .c-fee-table__item > dd.justify-self-start {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}
@layer components {
  .c-fill-title {
    font-size: 1.5rem;
    font-family: "Noto Serif JP", serif;
    text-align: center;
    color: #fff;
    padding: 20px;
    margin-bottom: 20px;
    background: #3f3727;
  }
  @media (width <= 768px) {
    .c-fill-title {
      font-size: 1.125rem;
    }
  }
  .c-fill-title::after {
    content: "";
    display: block;
    width: 60px;
    height: 2px;
    margin-top: 8px;
    margin-inline: auto;
    background: #fff;
  }
}
@layer components {
  .c-h2 {
    line-height: 1.75;
    font-size: 2rem;
    font-family: "Noto Serif JP", serif;
  }
  @media (width <= 768px) {
    .c-h2 {
      font-size: 1.5rem;
    }
  }
  .c-h2:not(:first-child) {
    margin-top: 80px;
  }
  @media (width <= 768px) {
    .c-h2:not(:first-child) {
      margin-top: 40px;
    }
  }
  .c-h2:not(:last-child) {
    margin-bottom: 60px;
  }
  @media (width <= 768px) {
    .c-h2:not(:last-child) {
      margin-bottom: 32px;
    }
  }
  .c-h2.-border {
    text-align: center;
    padding-bottom: 10px;
    border-bottom: 1px solid #797261;
  }
  .c-h2.-c {
    text-align: center;
  }
}
@layer components {
  .c-h3 {
    position: relative;
    line-height: 1.5;
    font-size: 1.5rem;
    font-family: "Noto Serif JP", serif;
    padding-left: 20px;
  }
  @media (width <= 768px) {
    .c-h3 {
      font-size: 1.125rem;
      padding-left: 18px;
    }
  }
  .c-h3:not(:first-child) {
    margin-top: 60px;
  }
  @media (width <= 768px) {
    .c-h3:not(:first-child) {
      margin-top: 40px;
    }
  }
  .c-h3:not(:last-child) {
    margin-bottom: 40px;
  }
  @media (width <= 768px) {
    .c-h3:not(:last-child) {
      margin-bottom: 32px;
    }
  }
  .c-h3:not(.-c)::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 6px;
    background-color: #3e3727;
  }
  @media (width <= 768px) {
    .c-h3:not(.-c)::after {
      width: 4px;
    }
  }
  .c-h3.-c {
    text-align: center;
    padding-bottom: 10px;
    padding-left: 0;
  }
  @media (width <= 768px) {
    .c-h3.-c {
      padding-bottom: 8px;
      padding-left: 0;
    }
  }
  .c-h3.-c::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    translate: -50% 0;
    height: 2px;
    width: 60px;
    background-color: currentColor;
  }
  @media (width <= 768px) {
    .c-h3.-c::after {
      width: 40px;
    }
  }
}
@layer components {
  .c-h4 {
    position: relative;
    line-height: 1.5;
    font-size: 1.125rem;
    font-family: "Noto Serif JP", serif;
    padding-left: 14px;
    font-weight: 700;
  }
  @media (width <= 768px) {
    .c-h4 {
      font-size: 0.875rem;
      padding-left: 10px;
    }
  }
  .c-h4:not(:first-child) {
    margin-top: 40px;
  }
  @media (width <= 768px) {
    .c-h4:not(:first-child) {
      margin-top: 32px;
    }
  }
  .c-h4:not(:last-child) {
    margin-bottom: 20px;
  }
  .c-h4::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 6px;
    background-color: #f3ebd9;
  }
  @media (width <= 768px) {
    .c-h4::after {
      width: 4px;
    }
  }
  .c-h4.-darker::after {
    background-color: #3f3727;
  }
  .c-h4.-no-border {
    padding-left: 0;
  }
  .c-h4.-no-border::after {
    content: none;
  }
}
@layer components {
  .c-icon-card {
    position: relative;
    margin-top: 32px;
    padding: 0 40px 40px;
    background: #f3ebd9;
  }
  @media (width <= 1024px) {
    .c-icon-card {
      padding: 0 24px 24px;
    }
  }
  .c-icon-card {
    z-index: 0;
  }
  .c-icon-card::before {
    content: "";
    display: block;
    position: absolute;
    inset: 5px;
    border: 1px solid #797261;
    pointer-events: none;
    z-index: -1;
  }
  .c-icon-card__icon {
    margin-top: -32px;
    margin-bottom: 32px;
    text-align: center;
  }
  @media (width <= 1024px) {
    .c-icon-card__icon {
      margin-top: -24px;
      margin-bottom: 24px;
    }
  }
  @media (width <= 768px) {
    .c-icon-card__icon {
      margin-top: -32px;
    }
  }
  .c-icon-card__icon img {
    background: #3f3727;
  }
  @media (width <= 1024px) {
    .c-icon-card__icon img {
      width: 64px;
    }
  }
  @media (width <= 768px) {
    .c-icon-card__icon img {
      width: 80px;
      height: 80px;
    }
  }
  .c-icon-card__title {
    font-family: "Noto Serif JP", serif;
    font-size: 1.5rem;
    text-align: center;
    margin-bottom: 20px;
  }
  @media (width <= 1024px) {
    .c-icon-card__title {
      font-size: 1.25rem;
    }
  }
  @media (width <= 768px) {
    .c-icon-card__title {
      font-size: 1.5rem;
    }
  }
  .c-icon-card__title::after {
    content: "";
    display: block;
    width: 60px;
    height: 2px;
    background: #3f3727;
    margin-top: 8px;
    margin-inline: auto;
  }
}
@layer components {
  .icon {
    display: inline-block;
    fill: currentColor;
    vertical-align: middle;
    -webkit-transition: fill 300ms ease;
    transition: fill 300ms ease;
  }
  .icon.-white {
    color: #fff;
  }
  .icon.-black {
    color: #333;
  }
}
@layer components {
  .c-input-search {
    position: relative;
  }
  .c-input-search__field {
    padding: 14px 56px 14px 20px;
    border-radius: 4px;
    border: 1px solid #ccc;
    width: 100%;
  }
  .c-input-search__field::-webkit-input-placeholder {
    color: #ddd;
  }
  .c-input-search__field::-moz-placeholder {
    color: #ddd;
  }
  .c-input-search__field:-ms-input-placeholder {
    color: #ddd;
  }
  .c-input-search__field::-ms-input-placeholder {
    color: #ddd;
  }
  .c-input-search__field::placeholder {
    color: #ddd;
  }
  .c-input-search__submit {
    position: absolute;
    right: 16px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
  }
}
@layer components {
  .c-lead {
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    line-height: 1.75;
  }
  .c-lead:not(:last-child) {
    margin-bottom: 20px;
  }
}
@layer components {
  .c-list-brackets {
    counter-reset: list-brackets;
    list-style: none;
    padding-left: 20px;
  }
  .c-list-brackets:not(:last-child) {
    margin-bottom: 20px;
  }
  .c-list-brackets__item {
    position: relative;
    counter-increment: list-brackets;
    padding-left: 8px;
    line-height: 1.75;
  }
  .c-list-brackets__item:not(:last-child) {
    margin-bottom: 10px;
  }
  .c-list-brackets__item::before {
    content: "(" counter(list-brackets) ")";
    position: absolute;
    left: -20px;
    top: 0;
  }
}
@layer components {
  .c-list-check:not(:last-child) {
    margin-bottom: 20px;
  }
  .c-list-check__item {
    position: relative;
    padding-left: 26px;
  }
  .c-list-check__item:not(:last-child) {
    margin-bottom: 10px;
  }
  .c-list-check__item::before {
    position: absolute;
    left: 0;
    top: 5px;
    content: "";
    pointer-events: none;
    display: inline-block;
    width: 14px;
    height: 14px;
    background-color: #3f3727;
    mask-image: url("/assets/icons/checkbox.svg");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-image: url("/assets/icons/checkbox.svg");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
  }
}
@layer components {
  .c-list-decimal {
    list-style: decimal;
    padding-left: 20px;
  }
  @media (width <= 768px) {
    .c-list-decimal {
      font-size: 0.875rem;
    }
  }
  .c-list-decimal:not(:last-child) {
    margin-bottom: 20px;
  }
  .c-list-decimal li {
    padding-left: 8px;
    line-height: 1.75;
  }
  .c-list-decimal li:not(:last-child) {
    margin-bottom: 10px;
  }
}
@layer components {
  .c-list-disc {
    list-style: disc;
    padding-left: 20px;
  }
  @media (width <= 768px) {
    .c-list-disc {
      font-size: 0.875rem;
    }
  }
  .c-list-disc:not(:first-child) {
    margin-top: 20px;
  }
  .c-list-disc:not(:last-child) {
    margin-bottom: 20px;
  }
  .c-list-disc li {
    padding-left: 8px;
    line-height: 1.75;
  }
  .c-list-disc li:not(:last-child) {
    margin-bottom: 10px;
  }
  .c-list-disc ul {
    margin-top: 10px;
  }
  .c-list-disc.-notice {
    color: #d28787;
  }
}
@layer components {
  .c-list-paren {
    counter-reset: paren-item;
  }
  .c-list-paren:not(:last-child) {
    margin-bottom: 20px;
  }
  .c-list-paren li {
    position: relative;
    counter-increment: paren-item;
    padding-left: 28px;
    line-height: 1.75;
  }
  .c-list-paren li:not(:last-child) {
    margin-bottom: 10px;
  }
  .c-list-paren li::before {
    content: "(" counter(paren-item) ")";
    position: absolute;
    left: 0;
    top: 0;
  }
}
@layer components {
  .c-list-tag {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 8px;
  }
  @media (width <= 768px) {
    .c-list-tag {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 4px;
    }
  }
  .c-list-tag li {
    border: 1px solid #3f3727;
    font-size: 0.75rem;
    width: 110px;
    min-height: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    line-height: 1.5;
    text-align: center;
  }
  @media (width <= 768px) {
    .c-list-tag li {
      font-size: 0.625rem;
      width: auto;
    }
  }
}
@layer components {
  .c-media {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 60px;
    margin-bottom: 60px;
  }
  @media (width <= 1024px) {
    .c-media {
      gap: 32px;
    }
  }
  @media (width <= 768px) {
    .c-media {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      gap: 20px;
      margin-bottom: 40px;
    }
  }
  .c-media.-gap-lg {
    gap: 100px;
  }
  @media (width <= 1280px) {
    .c-media.-gap-lg {
      gap: flexsize(100, 40, 1440, 993);
    }
  }
  @media (width <= 1024px) {
    .c-media.-gap-lg {
      gap: 40px;
    }
  }
  .c-media.-gap-md {
    gap: 60px;
  }
  @media (width <= 1280px) {
    .c-media.-gap-md {
      gap: flexsize(60, 40, 1440, 993);
    }
  }
  @media (width <= 1024px) {
    .c-media.-gap-md {
      gap: 40px;
    }
  }
  @media (width <= 768px) {
    .c-media.-gap-sm-sp {
      gap: var(--mg-sm) 20px;
    }
  }
  .c-media__object {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    max-width: 45%;
    text-align: center;
  }
  @media (width <= 768px) {
    .c-media__object {
      max-width: none;
      -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
      order: 2;
    }
    .c-media__object[class*=u-w-] {
      max-width: none;
    }
  }
  .c-media__object.-l {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
  @media (width <= 768px) {
    .c-media__object.-l {
      -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
      order: 2;
    }
  }
  .c-media__object.-r {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
  @media (width <= 768px) {
    .c-media__object.-t {
      -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
      order: 1;
    }
  }
  .c-media__object > :first-child {
    margin-top: 0;
  }
  .c-media__object > :last-child {
    margin-bottom: 0;
  }
  .c-media__body {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
  }
  @media (width <= 768px) {
    .c-media__body {
      -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
      order: 1;
    }
  }
  .c-media__body > :first-child {
    margin-top: 0;
  }
  .c-media__body > :last-child {
    margin-bottom: 0;
  }
  .c-media__body.-stretch {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .c-media__body.-stretch > * {
    width: 100%;
  }
  .c-media__object.-l + .c-media__body {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
  @media (width <= 768px) {
    .c-media__object.-l + .c-media__body {
      -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
      order: 1;
    }
  }
  .c-media__object.-r + .c-media__body {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
  @media (width <= 768px) {
    .c-media__object.-t + .c-media__body {
      -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
      order: 2;
    }
  }
  @media (width <= 1024px) {
    .c-media.-tbl-row .c-media__object.-t + .c-media__body {
      -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
      order: 2;
    }
  }
  .c-media__object.-c + .c-media__body {
    -ms-flex-item-align: center;
    align-self: center;
  }
}
@layer components {
  .c-menu {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 8px;
    margin-top: 24px;
  }
  .c-menu__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 0.75rem;
    min-height: 40px;
    line-height: 1.5;
    text-align: center;
    padding: 4px;
    border: 1px solid #3f3727;
  }
}
@layer components {
  .c-nav-local {
    margin-top: 60px;
    padding-top: 60px;
    border-top: 1px solid #333;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 75px;
  }
  @media (width <= 1024px) {
    .c-nav-local {
      gap: 24px;
    }
  }
  @media (width <= 768px) {
    .c-nav-local {
      margin-top: 40px;
      padding-top: 40px;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      gap: 16px;
    }
  }
}
@layer components {
  .c-news-list__link {
    position: relative;
    display: grid;
    grid-template-areas: "date category title icon";
    grid-template-columns: auto auto 1fr auto;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-decoration: none;
    color: #333;
    gap: 16px;
    padding: 28px 0;
    border-bottom: 1px solid currentColor;
    -webkit-transition: background-color 300ms ease;
    transition: background-color 300ms ease;
  }
  @media (width <= 768px) {
    .c-news-list__link {
      padding-top: 24px;
      padding-bottom: 24px;
      grid-template-areas: "date category icon" "title title icon";
      grid-template-columns: auto 1fr auto;
    }
  }
  @media (any-hover: hover) {
    .c-news-list__link:hover .c-news-list__text {
      color: #a0926e;
      border-bottom-color: currentColor;
    }
  }
  .c-news-list__link[target=_blank] .c-news-list__icon .icon {
    display: none;
  }
  .c-news-list__link[target=_blank] .c-news-list__icon::after {
    content: "";
    pointer-events: none;
    display: inline-block;
    width: 13px;
    height: 13px;
    background-color: currentColor;
    mask-image: url("/assets/icons/external.svg");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-image: url("/assets/icons/external.svg");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
  }
  .c-news-list__link[href$=".pdf"] .c-news-list__icon .icon {
    display: none;
  }
  .c-news-list__link[href$=".pdf"] .c-news-list__icon::after {
    content: "";
    pointer-events: none;
    display: inline-block;
    width: 18px;
    height: 18px;
    background-color: currentColor;
    mask-image: url("/assets/icons/pdf.svg");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-image: url("/assets/icons/pdf.svg");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
  }
  .c-news-list__date {
    grid-area: date;
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
  }
  .c-news-list__category {
    grid-area: category;
    padding-right: 24px;
    justify-self: start;
  }
  .c-news-list__title {
    grid-area: title;
  }
  .c-news-list__text {
    -webkit-transition: color 300ms ease, border-color 300ms ease;
    transition: color 300ms ease, border-color 300ms ease;
    border-bottom: 1px solid transparent;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .c-news-list__icon {
    grid-area: icon;
  }
}
@layer components {
  .c-page-body {
    container-type: inline-size;
    padding-inline: var(--padding-side);
  }
  .c-page-body__inner {
    max-width: 1200px;
    margin-inline: auto;
  }
}
@layer components {
  .c-page-header {
    padding: 40px var(--padding-side);
    background: url(../images/common/header_bg_cover.webp) 50% 50% no-repeat;
    background-size: cover;
  }
  @media (width <= 768px) {
    .c-page-header {
      padding-top: 32px;
      padding-bottom: 32px;
    }
  }
  .c-page-header__inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  .c-page-header__title {
    font-size: 2.5rem;
    font-family: "Noto Serif JP", serif;
  }
  @media (width <= 768px) {
    .c-page-header__title {
      font-size: 1.5rem;
    }
  }
}
@layer components {
  .c-pagination {
    margin-top: 60px;
  }
  .c-pagination__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 16px;
  }
  .c-pagination__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 8px;
  }
  .c-pagination__page-link, .c-pagination__prev-link, .c-pagination__next-link {
    width: 40px;
    height: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #333;
    -webkit-transition: background-color 300ms ease, color 300ms ease;
    transition: background-color 300ms ease, color 300ms ease;
  }
  @media (any-hover: hover) {
    .c-pagination__page-link:hover, .c-pagination__prev-link:hover, .c-pagination__next-link:hover {
      background-color: #333;
      color: #fff;
    }
  }
  .c-pagination__prev-link, .c-pagination__next-link {
    border: 1px solid #333;
  }
  .c-pagination__page-link {
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    text-decoration: none;
  }
  .c-pagination__page-link.-current {
    background-color: #333;
    color: #fff;
  }
}
@layer components {
  .c-panel {
    border: 1px solid #3f3727;
  }
  .c-panel__title {
    font-size: 1.5rem;
    font-family: "Noto Serif JP", serif;
    text-align: center;
    color: #fff;
    padding: 20px;
    background: -webkit-gradient(linear, left top, right top, from(#797261), to(#3e3727));
    background: linear-gradient(90deg, #797261 0%, #3e3727 100%);
  }
  @media (width <= 768px) {
    .c-panel__title {
      font-size: 1.125rem;
    }
  }
  .c-panel__title::after {
    content: "";
    display: block;
    width: 60px;
    height: 2px;
    margin-top: 8px;
    margin-inline: auto;
    background: #fff;
  }
  .c-panel__body {
    padding: 40px;
  }
  @media (width <= 1024px) {
    .c-panel__body {
      padding: 24px;
    }
  }
  @media (width <= 768px) {
    .c-panel__body {
      padding: 20px;
    }
  }
}
@layer components {
  .c-philosophy {
    position: relative;
    margin-block: 40px;
    padding: 60px;
    background: #3f3727;
  }
  @media (width <= 768px) {
    .c-philosophy {
      padding-inline: 20px;
      margin-top: 20px;
    }
  }
  .c-philosophy {
    z-index: 0;
  }
  .c-philosophy::before {
    content: "";
    display: block;
    position: absolute;
    inset: 5px;
    z-index: -1;
    pointer-events: none;
    border: 1px solid #f3ebd9;
  }
  .c-philosophy__text {
    font-size: 2rem;
    font-family: "Noto Serif JP", serif;
    color: #fff;
    text-align: center;
  }
  @media (width <= 768px) {
    .c-philosophy__text {
      font-size: 1.5rem;
    }
  }
}
@layer components {
  body.is-laptop .c-phone {
    text-decoration: none;
    pointer-events: none;
  }
}
@layer components {
  .c-ranking__item:not(:last-child) {
    margin-bottom: 20px;
  }
  .c-ranking__button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 16px;
    text-decoration: none;
    padding: 18px 20px;
    border: 1px solid #3f3727;
    -webkit-transition: background-color 300ms ease, color 300ms ease, border-color 300ms ease;
    transition: background-color 300ms ease, color 300ms ease, border-color 300ms ease;
  }
  @media (width <= 768px) {
    .c-ranking__button {
      padding: 16px;
      gap: 8px;
    }
  }
  .c-ranking__button > .icon {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
  }
  @media (any-hover: hover) {
    .c-ranking__button:hover {
      color: #fff;
    }
    .c-ranking__item:nth-child(1) .c-ranking__button:hover {
      background: #b2ae6c;
    }
    .c-ranking__item:nth-child(1) .c-ranking__button:hover .c-ranking__number {
      color: #fff;
    }
    .c-ranking__item:nth-child(2) .c-ranking__button:hover {
      background: #848484;
    }
    .c-ranking__item:nth-child(2) .c-ranking__button:hover .c-ranking__number {
      color: #fff;
    }
    .c-ranking__item:nth-child(3) .c-ranking__button:hover {
      background: #d28787;
    }
    .c-ranking__item:nth-child(3) .c-ranking__button:hover .c-ranking__number {
      color: #fff;
    }
  }
  .c-ranking__number {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    gap: 3px;
    font-family: "Poppins", sans-serif;
    font-size: 1.125rem;
    -webkit-transition: color 300ms ease;
    transition: color 300ms ease;
  }
  @media (width <= 768px) {
    .c-ranking__number {
      font-size: 0.875rem;
    }
  }
  .c-ranking__item:nth-child(1) .c-ranking__number {
    color: #b2ae6c;
  }
  .c-ranking__item:nth-child(2) .c-ranking__number {
    color: #848484;
  }
  .c-ranking__item:nth-child(3) .c-ranking__number {
    color: #d28787;
  }
  .c-ranking__number .icon {
    height: 18px;
  }
  .c-ranking__label {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
  }
}
@layer components {
  .c-reserve-box {
    background: url(../images/tebiki/content_bg_cover.jpg) 50% 50% no-repeat;
    background-size: cover;
    margin-top: 100px;
  }
  @media (width <= 768px) {
    .c-reserve-box {
      margin-top: 80px;
    }
  }
  .c-reserve-box__header {
    background: -webkit-gradient(linear, left top, right top, from(#797261), to(#3e3727));
    background: linear-gradient(90deg, #797261 0%, #3e3727 100%);
    padding: 40px;
  }
  @media (width <= 768px) {
    .c-reserve-box__header {
      padding: 32px;
    }
  }
  .c-reserve-box__title {
    font-size: 2rem;
    font-family: "Noto Serif JP", serif;
    color: #fff;
    line-height: 1.75;
    text-align: center;
  }
  @media (width <= 768px) {
    .c-reserve-box__title {
      font-size: 1.375rem;
    }
  }
  .c-reserve-box__desc {
    text-align: center;
  }
  .c-reserve-box__body {
    padding: 40px 40px 60px;
  }
  @media (width <= 768px) {
    .c-reserve-box__body {
      padding: 20px 20px 40px;
    }
  }
  .c-reserve-box-block {
    position: relative;
    background-color: #fff;
    padding: 40px;
    margin-top: 40px;
  }
  @media (width <= 768px) {
    .c-reserve-box-block {
      padding: 40px 20px;
      margin-top: 20px;
    }
  }
  .c-reserve-box-block::after {
    content: "";
    position: absolute;
    inset: 5px;
    border: 1px solid #797261;
    pointer-events: none;
  }
  .c-reserve-box-block__inner {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
  .c-reserve-box-block__notes {
    margin-top: 20px;
    font-size: 0.75rem;
    line-height: 1.75;
  }
  .c-reserve-box-feature {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 40px;
  }
  @media (width <= 768px) {
    .c-reserve-box-feature {
      gap: 20px;
    }
  }
  .c-reserve-box-feature__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 188px;
    height: 188px;
    background: -webkit-gradient(linear, left top, right top, from(#797261), to(#3e3727));
    background: linear-gradient(90deg, #797261 0%, #3e3727 100%);
    color: #fff;
    font-family: "Noto Serif JP", serif;
    font-size: 1.125rem;
    font-weight: 700;
    text-align: center;
    border-radius: 50%;
  }
  @media (width <= 768px) {
    .c-reserve-box-feature__item {
      font-size: 1rem;
      width: 120px;
      height: 120px;
    }
  }
}
@layer components {
  .c-sa-fade.js-sa {
    opacity: 0;
    translate: 0 20px;
    -webkit-transition: opacity 600ms ease, translate 600ms ease;
    transition: opacity 600ms ease, translate 600ms ease;
  }
  .c-sa-fade.js-sa.-run {
    opacity: 1;
    translate: 0 0;
  }
}
@layer components {
  @media (width <= 768px) {
    .swipe {
      overflow: auto;
    }
  }
  @media (width <= 768px) {
    .swipe__inner {
      width: 1200px;
    }
  }
}
@layer components {
  .c-tab {
    margin-block: 40px;
  }
  @media (width <= 768px) {
    .c-tab {
      margin-inline: calc(var(--padding-side) * -1);
    }
  }
  .c-tab__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    gap: 20px;
    max-width: 1100px;
    height: 80px;
    margin-inline: auto;
  }
  @media (width <= 768px) {
    .c-tab__nav {
      gap: 4px;
    }
  }
  .c-tab__nav-button {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    position: relative;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-height: 60px;
    margin: 0;
    padding: 16px 20px;
    border-radius: 0;
    border: 0;
    cursor: pointer;
    -webkit-transition: background-color 300ms ease, min-height 300ms ease;
    transition: background-color 300ms ease, min-height 300ms ease;
  }
  @media (width <= 768px) {
    .c-tab__nav-button {
      font-size: 0.875rem;
      padding-block: 8px;
    }
  }
  .c-tab__nav-button::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: #3f3727;
    opacity: 0;
    -webkit-transition: opacity 300ms ease;
    transition: opacity 300ms ease;
  }
  @media (any-hover: hover) {
    .c-tab__nav-button:hover {
      background: #f3ebd9;
    }
    .c-tab__nav-button:hover::before {
      opacity: 1;
    }
  }
  .c-tab__nav-button.is-selected {
    min-height: 80px;
    background: #f3ebd9;
  }
  .c-tab__nav-button.is-selected::before {
    opacity: 1;
  }
  .c-tab__panel {
    background: #f3ebd9;
    padding: 60px 40px;
  }
  @media (width <= 768px) {
    .c-tab__panel {
      padding: 40px 20px;
    }
  }
  .c-tab__panel-inner {
    max-width: 1040px;
    margin-inline: auto;
    padding: 40px;
    background: #fff;
  }
  .c-tab__panel-inner:not(:last-child) {
    margin-bottom: 40px;
  }
  @media (width <= 768px) {
    .c-tab__panel-inner {
      padding: 20px;
    }
  }
}
@layer components {
  .c-table-option {
    margin-bottom: 40px;
  }
  .c-table-option > table {
    width: 100%;
    line-height: 1.75;
    border-top: 1px solid #3f3727;
  }
  .c-table-option.js-swipe {
    overflow-x: auto;
  }
  .c-table-option.js-swipe > table {
    min-width: 900px;
  }
  .c-table-option :where(th, td) {
    text-align: left;
    vertical-align: middle;
    padding: 16px 20px;
    border-bottom: 1px solid #3f3727;
  }
  .c-table-option :where(thead th, thead td) {
    color: #fff;
    padding-block: 20px;
    background: #3f3727;
    border-bottom: 1px solid #fff;
  }
  .c-table-option :where(thead th, thead td):not(:last-child) {
    border-right: 1px solid #fff;
  }
  .c-table-option :where(tbody tr:nth-child(even) th, tbody tr:nth-child(even) td) {
    background: #f3ebd9;
  }
  .c-table-option :where(tbody tr td:nth-child(3), tbody tr td:nth-child(4)) {
    text-align: center;
  }
  .c-table-option :where(thead th) {
    text-align: center;
  }
  .c-table-option :where(tbody td:not(:last-child)) {
    border-right: 1px solid #3f3727;
  }
}
@layer components {
  .c-table {
    margin-bottom: 40px;
  }
  .c-table__table {
    width: 100%;
    border-top: 1px solid #3f3727;
  }
  @media (width <= 768px) {
    .c-table__table {
      display: block;
    }
  }
  @media (width <= 768px) {
    .c-table__table thead,
    .c-table__table tbody,
    .c-table__table tfoot,
    .c-table__table tr {
      display: block;
    }
  }
  .c-table__table th,
  .c-table__table td {
    border-bottom: 1px solid #3f3727;
    padding: 20px;
    text-align: left;
    vertical-align: top;
    line-height: 1.75;
  }
  @media (width <= 768px) {
    .c-table__table th,
    .c-table__table td {
      display: block;
      padding: 16px;
    }
  }
  .c-table__table th {
    background-color: #f3ebd9;
    width: 300px;
  }
  @media (width <= 768px) {
    .c-table__table th {
      width: auto;
    }
  }
  .c-table__table th:not(:has(+ td)):not(:last-child) {
    border-right: 1px solid #3f3727;
  }
  .c-table__table thead th {
    width: auto;
    color: #fff;
    background: #3f3727;
    text-align: center;
  }
  .c-table__table thead th:not(:last-child) {
    border-right: 1px solid #fff;
  }
  .c-table__table td {
    background-color: #fff;
  }
  .c-table__table td:not(:last-child) {
    border-right: 1px solid #3f3727;
  }
  .c-table__table.text-center th,
  .c-table__table.text-center td {
    text-align: center;
  }
  @media (width <= 768px) {
    .c-table.-col .c-table__table {
      display: table;
    }
    .c-table.-col .c-table__table thead,
    .c-table.-col .c-table__table tbody,
    .c-table.-col .c-table__table tfoot {
      display: table-row-group;
    }
    .c-table.-col .c-table__table tr {
      display: table-row;
    }
    .c-table.-col .c-table__table th,
    .c-table.-col .c-table__table td {
      display: table-cell;
    }
  }
  .c-table.js-swipe .c-table__table {
    min-width: 900px;
  }
  @media (width <= 768px) {
    .c-table.js-swipe .c-table__table {
      display: table;
    }
    .c-table.js-swipe .c-table__table thead,
    .c-table.js-swipe .c-table__table tbody,
    .c-table.js-swipe .c-table__table tfoot {
      display: table-row-group;
    }
    .c-table.js-swipe .c-table__table tr {
      display: table-row;
    }
    .c-table.js-swipe .c-table__table th,
    .c-table.js-swipe .c-table__table td {
      display: table-cell;
    }
  }
  @media (width <= 768px) and (width <= 768px) {
    .c-table.js-swipe .c-table__table th {
      width: 240px;
    }
  }
  .c-table.-middle .c-table__table th,
  .c-table.-middle .c-table__table td {
    vertical-align: middle;
  }
  .c-table.-num .c-table__table {
    border: none;
  }
  .c-table.-num .c-table__table th,
  .c-table.-num .c-table__table td {
    vertical-align: middle;
    border: none;
    border-bottom: 10px solid #fff;
  }
  .c-table.-num .c-table__table th {
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: 2.5rem;
    white-space: nowrap;
  }
  @media (width <= 768px) {
    .c-table.-num .c-table__table th {
      font-size: 1.5rem;
    }
  }
  .c-table__none {
    border: none;
  }
  .c-table__none th,
  .c-table__none td {
    border: none;
    text-align: left;
    vertical-align: top;
    line-height: 1.75;
  }
  @media (width <= 768px) {
    .c-table__none th,
    .c-table__none td {
      display: block;
    }
  }
  @media (width <= 768px) {
    .c-table__none td {
      margin-bottom: 10px;
    }
  }
  .has-fixed-layout {
    table-layout: fixed;
  }
}
@layer components {
  .c-tag-title {
    text-align: center;
    margin-bottom: 20px;
  }
  .c-tag-title__inner {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    font-size: 1.125rem;
    min-width: 120px;
    padding: 12px;
    background: #D8E3E5;
  }
}
@layer components {
  .c-tag {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 4px 20px;
    line-height: 1.25;
    color: #3f3727;
    border: 1px solid #3f3727;
  }
  .c-tag.-pink {
    color: #fff;
    background: #d28787;
    border: 0;
  }
  .c-tag.-yellow {
    color: #fff;
    background: #b2ae6c;
    border: 0;
  }
  .c-tag.-blue {
    color: #fff;
    background: #4f98a7;
    border: 0;
  }
  .c-tag.-green {
    color: #fff;
    background: #6dac48;
    border: 0;
  }
  .c-tag.-red {
    color: #fff;
    background: #a24b4b;
    border: 0;
  }
  .c-tag.-brown {
    color: #fff;
    background: #765e5e;
    border: 0;
  }
  .c-tag.-new {
    color: #d28787;
    border-color: #d28787;
  }
}
@layer components {
  .c-text-fee {
    line-height: 1;
    font-size: 3.25rem;
    display: inline-block;
    font-family: "Poppins", sans-serif;
    font-weight: 600;
  }
  @media (width <= 768px) {
    .c-text-fee {
      font-size: 2.25rem;
    }
  }
  .c-text-fee:not(:last-child) {
    margin-bottom: 20px;
  }
}
@layer components {
  .c-text-marquee {
    --width: 2700px;
    --duration: 20s;
    position: relative;
    overflow: hidden;
    line-height: 1;
    font-size: 7.5rem;
    color: rgba(255, 255, 255, 0.15);
    white-space: nowrap;
    letter-spacing: 0.04em;
    pointer-events: none;
  }
  @media (width <= 768px) {
    .c-text-marquee {
      --duration: 15s;
      --width: 1700px;
      font-size: 4.6875rem;
    }
  }
  .c-text-marquee__label {
    display: inline-block;
    text-shadow: var(--width) 0 0 currentColor, calc(var(--width) * 2) 0 0 currentColor;
    -webkit-animation-name: scrollingText;
    animation-name: scrollingText;
    -webkit-animation-duration: var(--duration);
    animation-duration: var(--duration);
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
  }
  @-webkit-keyframes scrollingText {
    0% {
      translate: 0 0;
    }
    100% {
      translate: calc(var(--width) * -1) 0;
    }
  }
  @keyframes scrollingText {
    0% {
      translate: 0 0;
    }
    100% {
      translate: calc(var(--width) * -1) 0;
    }
  }
}
@layer components {
  .c-text-yen {
    line-height: 1;
    font-size: 2rem;
    display: inline-block;
    font-family: "Poppins", sans-serif;
    font-weight: 900;
    margin-right: 4px;
  }
  @media (width <= 768px) {
    .c-text-yen {
      font-size: 1.5rem;
    }
  }
}
@layer components {
  .c-text {
    line-height: 1.75;
  }
  @media (width <= 768px) {
    .c-text {
      font-size: 0.875rem;
    }
  }
  .c-text:not(:last-child) {
    margin-bottom: 20px;
  }
  .c-text.-red {
    color: #d28787;
  }
  .c-text.-lg {
    font-size: 1.25rem;
  }
  .c-text.-sm {
    font-size: 0.75rem;
  }
  .c-text.-c {
    text-align: center;
  }
  .c-text.-l {
    text-align: left;
  }
  .c-text.-r {
    text-align: right;
  }
}
@layer components {
  .c-two-column {
    padding-inline: var(--padding-side);
  }
  .c-two-column__inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  @media (width >= 1025px) {
    .c-two-column__inner {
      display: grid;
      grid-template-areas: "main sub" "bottom bottom";
      grid-template-columns: 1fr 350px;
      gap: 0 60px;
    }
  }
  .c-two-column__main {
    container-type: inline-size;
  }
  @media (width >= 1025px) {
    .c-two-column__main {
      grid-area: main;
    }
  }
  .c-two-column__sub {
    container-type: inline-size;
  }
  @media (width >= 1025px) {
    .c-two-column__sub {
      grid-area: sub;
    }
  }
  @media (width <= 768px) {
    .c-two-column__sub {
      margin-top: 40px;
    }
  }
  .c-two-column__bottom {
    margin-left: var(--outer);
    margin-right: var(--outer);
  }
  @media (width >= 1025px) {
    .c-two-column__bottom {
      grid-area: bottom;
    }
  }
}
@layer components {
  .c-video {
    text-align: center;
  }
  .c-video video {
    max-width: 560px;
    width: 100%;
  }
}
@layer components {
  .c-blocks-banner {
    margin-top: 80px;
    text-align: center;
  }
  @media (width <= 768px) {
    .c-blocks-banner {
      margin-top: 40px;
    }
  }
  .c-blocks-banner__link {
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  @media (any-hover: hover) {
    .c-blocks-banner__link:hover {
      opacity: 0.8;
    }
  }
}
@layer components {
  .c-blocks-button {
    padding: 40px;
    background-color: #f3ebd9;
    margin-top: 60px;
    margin-bottom: 60px;
  }
  @media (width <= 768px) {
    .c-blocks-button {
      padding: 20px;
      margin-top: 40px;
      margin-bottom: 40px;
    }
  }
}
@layer components {
  .c-blocks-card-row {
    --thumb: 47.5%;
    --content: 52.5%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
    margin-top: 40px;
  }
  @media (width <= 768px) {
    .c-blocks-card-row {
      --thumb: 100%;
      --content: 100%;
    }
  }
  .c-blocks-card-row.-left {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
  @media (width <= 768px) {
    .c-blocks-card-row.-left {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
    }
  }
  .c-blocks-card-row.-right {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  @media (width <= 768px) {
    .c-blocks-card-row.-right {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
    }
  }
  .c-blocks-card-row__header {
    -ms-flex-preferred-size: var(--thumb);
    flex-basis: var(--thumb);
  }
  .c-blocks-card-row__body {
    -ms-flex-preferred-size: var(--content);
    flex-basis: var(--content);
  }
}
@layer components {
  .c-blocks-card__body {
    margin-top: 20px;
  }
}
@layer components {
  .c-blocks-checkup {
    margin-top: 60px;
    padding: 60px 40px;
    background-color: #f6f6f6;
  }
  @media (width <= 768px) {
    .c-blocks-checkup {
      margin-top: 40px;
      padding: 30px 20px;
    }
  }
  .c-blocks-checkup__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 60px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  @media (width <= 768px) {
    .c-blocks-checkup__header {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      gap: 24px;
    }
  }
  .c-blocks-checkup__photo {
    max-width: 440px;
    width: 40%;
  }
  @media (width <= 768px) {
    .c-blocks-checkup__photo {
      width: auto;
      max-width: none;
      text-align: center;
    }
  }
  .c-blocks-checkup__content {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
  }
  .c-blocks-checkup__notes {
    font-size: 0.75rem;
  }
  .c-blocks-checkup-price {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 20px;
    padding: 20px;
    gap: 16px;
    background-color: #f3ebd9;
  }
  .c-blocks-checkup-price__title {
    font-size: 1.125rem;
    font-family: "Noto Serif JP", serif;
    border-left: 6px solid currentColor;
    padding-left: 20px;
    font-weight: 700;
  }
  @media (width <= 768px) {
    .c-blocks-checkup-price__title {
      font-size: 0.875rem;
      padding-left: 10px;
    }
  }
  .c-blocks-checkup-price__body {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
  }
  .c-blocks-checkup-price__price {
    text-align: center;
  }
  @media (width <= 768px) {
    .c-blocks-checkup-price__price {
      font-size: 0.875rem;
    }
  }
  .c-blocks-checkup-price__number {
    font-size: 2.5rem;
    font-family: "Noto Serif JP", serif;
  }
  @media (width <= 768px) {
    .c-blocks-checkup-price__number {
      font-size: 1.5rem;
    }
  }
  .c-blocks-checkup__body {
    margin-top: 40px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
  @media (width <= 768px) {
    .c-blocks-checkup__body {
      grid-template-columns: repeat(1, 1fr);
      gap: 24px;
    }
  }
  .c-blocks-checkup-box {
    background-color: #fff;
  }
  .c-blocks-checkup-box__header {
    background-color: #3e3727;
    color: #fff;
    padding: 20px;
  }
  .c-blocks-checkup-box__title {
    font-size: 1.125rem;
    font-family: "Noto Serif JP", serif;
    border-left: 6px solid currentColor;
    padding-left: 20px;
    font-weight: 700;
  }
  @media (width <= 768px) {
    .c-blocks-checkup-box__title {
      font-size: 0.875rem;
      padding-left: 10px;
    }
  }
  .c-blocks-checkup-box__body {
    padding: 20px;
  }
  .c-blocks-checkup-box__checklist-item {
    position: relative;
    padding-left: 26px;
  }
  .c-blocks-checkup-box__checklist-item:not(:first-child) {
    margin-top: 10px;
  }
  .c-blocks-checkup-box__checklist-item::after {
    content: "";
    pointer-events: none;
    display: inline-block;
    width: 8px;
    height: 8px;
    background-color: #fff;
    mask-image: url("/assets/icons/check.svg");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-image: url("/assets/icons/check.svg");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    position: absolute;
    left: 3px;
    top: 9px;
  }
  .c-blocks-checkup-box__checklist-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 6px;
    width: 14px;
    height: 14px;
    background-color: #3e3727;
  }
  .c-blocks-checkup-box__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 10px;
  }
  .c-blocks-checkup-box__list-item {
    border: 1px solid #3e3727;
    color: #3e3727;
    font-size: 0.75rem;
    padding: 4px 12px;
    line-height: 1;
  }
  .c-blocks-checkup__footer {
    margin-top: 40px;
  }
}
@layer components {
  .c-blocks-contact {
    overflow: hidden;
    background-color: #3e3727;
    color: #fff;
    margin-top: 60px;
    padding-bottom: 60px;
  }
  @media (width <= 768px) {
    .c-blocks-contact {
      margin-top: 40px;
      padding-bottom: 40px;
    }
  }
  .c-blocks-contact__text {
    text-align: center;
    line-height: 1.75;
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
  }
  .c-blocks-contact__body {
    padding-inline: var(--padding-side);
  }
  .c-blocks-contact__footer {
    margin-top: 24px;
  }
}
@layer components {
  .c-blocks-faq {
    border-bottom: 1px solid #333;
  }
  .c-blocks-faq__question {
    width: 100%;
    border: none;
    background: none;
    text-align: left;
    font-family: "Noto Sans JP", sans-serif;
    color: #333;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 20px 0;
    gap: 16px;
    cursor: pointer;
  }
  @media (width <= 768px) {
    .c-blocks-faq__question {
      padding-top: 16px;
      padding-bottom: 16px;
    }
  }
  @media (any-hover: hover) {
    .c-blocks-faq__question:hover .c-blocks-faq__question-label {
      color: #a0926e;
      border-bottom-color: currentColor;
    }
  }
  .c-blocks-faq__question-label {
    -webkit-transition: color 300ms ease, border-color 300ms ease;
    transition: color 300ms ease, border-color 300ms ease;
    border-bottom: 1px solid transparent;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .c-blocks-faq__question-icon {
    position: relative;
    width: 15px;
    height: 15px;
  }
  .c-blocks-faq__question-icon::before, .c-blocks-faq__question-icon::after {
    content: "";
    position: absolute;
    left: 7px;
    top: 50%;
    background-color: #333;
    width: 15px;
    height: 1px;
    translate: -7px 0;
  }
  @media (width <= 768px) {
    .c-blocks-faq__question-icon::before, .c-blocks-faq__question-icon::after {
      width: 11px;
    }
  }
  .c-blocks-faq__question-icon::before {
    rotate: 90deg;
  }
  .c-blocks-faq__question-icon::after {
    rotate: 180deg;
  }
  .c-blocks-faq__answer-inner {
    background-color: #f3ebd9;
    padding: 20px;
  }
}
@layer components {
  .c-blocks-fill {
    background-color: #f3ebd9;
    padding: 60px 40px;
    margin-top: 60px;
  }
  @media (width <= 768px) {
    .c-blocks-fill {
      padding: 30px 20px;
      margin-top: 40px;
    }
  }
}
@layer components {
  .c-blocks-grid {
    --cols: 2;
    display: grid;
    gap: 60px;
    grid-template-columns: repeat(var(--cols), 1fr);
    margin-top: 40px;
  }
  @media (width <= 768px) {
    .c-blocks-grid {
      --cols: 1;
      gap: 32px;
      margin-top: 32px;
    }
  }
  .c-blocks-grid.-cols3 {
    --cols: 3;
  }
  @media (width <= 1024px) {
    .c-blocks-grid.-cols3 {
      --cols: 2;
    }
  }
  @media (width <= 768px) {
    .c-blocks-grid.-cols3 {
      --cols: 1;
    }
  }
}
@layer components {
  .c-blocks-h2 {
    text-align: center;
    margin-top: 80px;
    margin-bottom: 60px;
  }
  @media (width <= 768px) {
    .c-blocks-h2 {
      margin-top: 40px;
      margin-bottom: 32px;
    }
  }
  .c-blocks-h2.-left {
    text-align: left;
  }
  .c-blocks-h2__title {
    font-family: "Noto Serif JP", serif;
    font-size: 2rem;
    line-height: 1.5;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #797261;
  }
  @media (width <= 768px) {
    .c-blocks-h2__title {
      font-size: 1.5rem;
      padding-bottom: 10px;
      margin-bottom: 10px;
    }
  }
  .c-blocks-h2__label {
    font-family: "Noto Serif JP", serif;
    line-height: 1.75;
    font-weight: 700;
  }
}
@layer components {
  .c-blocks-h3 {
    position: relative;
    line-height: 1.5;
    font-size: 1.5rem;
    font-family: "Noto Serif JP", serif;
    padding-left: 20px;
  }
  @media (width <= 768px) {
    .c-blocks-h3 {
      font-size: 1.125rem;
      padding-left: 18px;
    }
  }
  .c-blocks-h3:not(:first-child) {
    margin-top: 60px;
  }
  @media (width <= 768px) {
    .c-blocks-h3:not(:first-child) {
      margin-top: 40px;
    }
  }
  .c-blocks-h3:not(:last-child) {
    margin-bottom: 40px;
  }
  @media (width <= 768px) {
    .c-blocks-h3:not(:last-child) {
      margin-bottom: 32px;
    }
  }
  .c-blocks-h3:not(.-c)::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 6px;
    background-color: #3e3727;
  }
  @media (width <= 768px) {
    .c-blocks-h3:not(.-c)::after {
      width: 4px;
    }
  }
  .c-blocks-h3.-c {
    text-align: center;
    padding-bottom: 10px;
    padding-left: 0;
  }
  @media (width <= 768px) {
    .c-blocks-h3.-c {
      padding-bottom: 8px;
      padding-left: 0;
    }
  }
  .c-blocks-h3.-c::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    translate: -50% 0;
    height: 2px;
    width: 60px;
    background-color: currentColor;
  }
  @media (width <= 768px) {
    .c-blocks-h3.-c::after {
      width: 40px;
    }
  }
}
@layer components {
  .c-blocks-header {
    margin-inline: var(--outer);
    padding: 120px var(--padding-side) 0;
    background: url(../images/common/bg_wave.svg) 0 0 no-repeat;
    background-size: cover;
  }
  @media (width <= 768px) {
    .c-blocks-header {
      padding-top: 40px;
    }
  }
  .c-blocks-header__inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 40px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  @media (width <= 768px) {
    .c-blocks-header__inner {
      display: block;
    }
  }
  .c-blocks-header__header {
    margin-right: var(--outer);
    max-width: 900px;
    -ms-flex-preferred-size: 38vw;
    flex-basis: 38vw;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }
  @media (width <= 768px) {
    .c-blocks-header__body {
      margin-top: 40px;
    }
  }
  .c-blocks-header__title {
    font-size: 2.5rem;
    font-family: "Noto Serif JP", serif;
    line-height: 1.5;
  }
  @media (width <= 768px) {
    .c-blocks-header__title {
      font-size: 1.375rem;
    }
  }
  .c-blocks-header__label {
    margin-top: 60px;
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    line-height: 1.75;
  }
  @media (width <= 768px) {
    .c-blocks-header__label {
      margin-top: 24px;
    }
  }
}
@layer components {}
@layer components {
  .c-blocks-interview {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 30px;
    margin-top: 40px;
  }
  .c-blocks-interview.-left {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
  .c-blocks-interview.-left .c-blocks-interview__body::after {
    content: "";
    position: absolute;
    right: 100%;
    top: 24px;
    width: 10px;
    height: 17px;
    background-color: #f3ebd9;
    clip-path: polygon(100% 0, 100% 100%, 0 50%);
  }
  .c-blocks-interview.-right {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .c-blocks-interview.-right .c-blocks-interview__body::after {
    content: "";
    position: absolute;
    left: 100%;
    top: 24px;
    width: 10px;
    height: 17px;
    background-color: #f3ebd9;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
  }
  .c-blocks-interview__header {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-preferred-size: 80px;
    flex-basis: 80px;
  }
  @media (width <= 768px) {
    .c-blocks-interview__header {
      -ms-flex-preferred-size: 64px;
      flex-basis: 64px;
    }
  }
  .c-blocks-interview__photo figcaption {
    margin-top: 10px;
    font-size: 0.75rem;
    text-align: center;
  }
  .c-blocks-interview__body {
    position: relative;
    background-color: #f3ebd9;
    padding: 20px;
  }
}
@layer components {
  .c-blocks-link {
    --scale: 1;
    margin-top: 60px;
    margin-bottom: 60px;
  }
  @media (width <= 768px) {
    .c-blocks-link {
      margin-top: 40px;
      margin-bottom: 40px;
    }
  }
  .c-blocks-link__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
    text-decoration: none;
    -webkit-transition: opacity 300ms ease;
    transition: opacity 300ms ease;
  }
  .c-blocks-link__link:hover {
    --scale: 1.04;
    opacity: 0.7;
  }
  .c-blocks-link__header {
    overflow: hidden;
    -ms-flex-preferred-size: 43.75%;
    flex-basis: 43.75%;
  }
  @media (width <= 768px) {
    .c-blocks-link__header {
      -ms-flex-preferred-size: 120px;
      flex-basis: 120px;
    }
  }
  .c-blocks-link__header img {
    aspect-ratio: 350/220;
    scale: var(--scale);
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transition: scale 300ms ease;
    transition: scale 300ms ease;
  }
  .c-blocks-link__meta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  @media (width <= 768px) {
    .c-blocks-link__meta {
      -webkit-box-orient: vertical;
      -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
      flex-direction: column-reverse;
      gap: 10px;
    }
  }
  .c-blocks-link__category {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
  }
  .c-blocks-link__date {
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
  }
  .c-blocks-link__title {
    margin-top: 16px;
    font-weight: 700;
    font-family: "Noto Serif JP", serif;
  }
  .c-blocks-link__body {
    -ms-flex-preferred-size: 56.25%;
    flex-basis: 56.25%;
  }
  .c-blocks-link__desc {
    line-height: 1.75;
    margin-top: 20px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
  }
  .c-blocks-link__icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin-top: 20px;
  }
}
@layer components {
  .c-blocks-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 40px;
    margin-top: 40px;
  }
  @media (width <= 768px) {
    .c-blocks-row {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      gap: 32px;
    }
  }
  .c-blocks-row.-right {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  @media (width <= 768px) {
    .c-blocks-row.-right {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
    }
  }
  @media (width >= 769px) {
    .c-blocks-row__header {
      width: 48.276%;
    }
  }
  @media (width >= 769px) {
    .c-blocks-row__body {
      width: 51.724%;
    }
  }
}
@layer components {
  .c-blocks-step {
    margin-top: 60px;
  }
  .c-blocks-step__content {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
  }
  .c-blocks-step__content:not(:last-child) {
    padding-bottom: 72px;
  }
  @media (width <= 768px) {
    .c-blocks-step__content:not(:last-child) {
      padding-bottom: 40px;
    }
  }
  .c-blocks-step__content:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 8px;
    width: 1px;
    height: 100%;
    background-color: #333;
  }
  @media (width <= 768px) {
    .c-blocks-step__content:not(:last-child)::after {
      left: 3px;
    }
  }
  .c-blocks-step__content-header {
    width: 25%;
  }
  .c-blocks-step__content-label {
    position: relative;
    font-size: 1.5rem;
    font-family: "Noto Serif JP", serif;
    padding-left: 33px;
    line-height: 1;
  }
  @media (width <= 768px) {
    .c-blocks-step__content-label {
      font-size: 1.125rem;
      padding-left: 20px;
    }
  }
  .c-blocks-step__content-label::after {
    content: "";
    width: 13px;
    height: 13px;
    background-color: #333;
    position: absolute;
    left: 0;
    top: 7px;
  }
  @media (width <= 768px) {
    .c-blocks-step__content-label::after {
      width: 7px;
      height: 7px;
    }
  }
  .c-blocks-step__content-body {
    width: 75%;
  }
  .c-blocks-step__content-title {
    font-size: 1.25rem;
    font-family: "Noto Serif JP", serif;
  }
  @media (width <= 768px) {
    .c-blocks-step__content-title {
      font-size: 1.125rem;
    }
  }
  .c-blocks-step__content-desc {
    margin-top: 30px;
    line-height: 1.75;
  }
  @media (width <= 768px) {
    .c-blocks-step__content-desc {
      margin-top: 20px;
    }
  }
}
@layer components {
  .c-blocks-summary {
    margin-top: 100px;
    border: 2px solid #f3ebd9;
    padding: 60px 40px;
  }
  @media (width <= 768px) {
    .c-blocks-summary {
      margin-top: 40px;
      padding: 30px 20px;
    }
  }
}
@layer components {
  .c-blocks-supervised {
    margin-top: 100px;
    padding: 40px;
    background-color: #f6f6f6;
  }
  @media (width <= 768px) {
    .c-blocks-supervised {
      margin-top: 40px;
      padding: 30px 20px;
    }
  }
  .c-blocks-supervised__body {
    margin-top: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
  }
  @media (width <= 768px) {
    .c-blocks-supervised__body {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
    }
  }
  .c-blocks-supervised__photo {
    -ms-flex-preferred-size: 142px;
    flex-basis: 142px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }
  @media (width <= 768px) {
    .c-blocks-supervised__photo {
      max-width: 142px;
      margin-left: auto;
      margin-right: auto;
    }
  }
  .c-blocks-supervised__name {
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
  }
  .c-blocks-supervised__desc {
    margin-top: 20px;
    line-height: 1.75;
  }
}
@layer components {
  .c-blocks-table {
    margin-top: 60px;
  }
  .c-blocks-table__table {
    width: 100%;
    border-bottom: 1px solid #3f3727;
  }
  .c-blocks-table__table th,
  .c-blocks-table__table td {
    border-top: 1px solid #3f3727;
    padding: 20px;
    text-align: left;
    vertical-align: top;
    line-height: 1.75;
  }
  @media (width <= 768px) {
    .c-blocks-table__table th,
    .c-blocks-table__table td {
      display: block;
      padding: 16px;
    }
  }
  .c-blocks-table__table th {
    background-color: #f3ebd9;
    width: 190px;
  }
  @media (width <= 768px) {
    .c-blocks-table__table th {
      width: auto;
    }
  }
  .c-blocks-table__table td {
    background-color: #fff;
  }
}
@layer pages {
  .p-about {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    z-index: 0;
    min-height: 422px;
    margin-bottom: 60px;
    background: #F8F5F0;
  }
  @media (width <= 768px) {
    .p-about {
      min-height: 0;
      background: none;
    }
    .c-page-body__inner .p-about:first-child {
      margin-top: -24px;
    }
  }
  .p-about__body {
    padding: 60px;
  }
  .p-about__body .c-h2 {
    margin-bottom: 40px;
  }
  @media (width <= 1024px) {
    .p-about__body {
      padding: 40px;
      max-width: 67.8%;
    }
    .p-about__body .c-h2 {
      margin-bottom: 20px;
      font-size: 1.5rem;
    }
  }
  @media (width <= 768px) {
    .p-about__body {
      padding: 0;
      max-width: none;
    }
    .p-about__body .c-h2 {
      font-size: 1.25rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      min-height: 228px;
    }
  }
  .p-about__bg {
    position: absolute;
    inset: 0;
    height: 400px;
    z-index: -1;
  }
  @media (width <= 768px) {
    .p-about__bg {
      margin-inline: calc(var(--padding-side) * -1);
      bottom: auto;
      height: 228px;
      opacity: 0.4;
    }
  }
  .p-about__bg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 70% center;
    object-position: 70% center;
  }
  @media (width <= 768px) {
    .p-about__bg img {
      -o-object-fit: 90%;
      object-fit: 90%;
      -o-object-position: 80% center;
      object-position: 80% center;
    }
  }
}
@layer pages {
  .p-column-header {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  @media (width <= 768px) {
    .p-column-header {
      grid-template-columns: 1fr;
      gap: 24px;
    }
  }
  .p-column-header__header {
    padding-right: 40px;
  }
  @media (width <= 768px) {
    .p-column-header__header {
      padding-right: 0;
    }
  }
  .p-column-category {
    margin-top: 40px;
    background-color: #f3ebd9;
    padding: 60px 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 40px;
  }
  @media (width <= 768px) {
    .p-column-category {
      margin-top: 32px;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      gap: 16px;
      -webkit-box-align: start;
      -ms-flex-align: start;
      align-items: flex-start;
      padding: 32px 20px;
    }
  }
  .p-column-category__header {
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }
  .p-column-category__body {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
  }
  .p-column-category__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 10px;
  }
  .p-column-category__list-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    line-height: 1;
    padding: 4px 20px;
    font-size: 0.75rem;
    font-weight: 700;
    text-decoration: none;
    color: #333;
    border: 1px solid #3f3727;
    background-color: #fff;
    -webkit-transition: color 300ms ease, background-color 300ms ease;
    transition: color 300ms ease, background-color 300ms ease;
  }
  .p-column-category__list-link.-current {
    background-color: #3f3727;
    color: #fff;
  }
  @media (any-hover: hover) {
    .p-column-category__list-link:hover {
      background-color: #3f3727;
      color: #fff;
    }
  }
  .p-column-layout {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 60px;
  }
  @media (width <= 1024px) {
    .p-column-layout {
      grid-template-columns: 1fr;
    }
  }
  .p-column-layout:not(:first-child) {
    margin-top: 40px;
  }
  @media (width <= 768px) {
    .p-column-layout:not(:first-child) {
      margin-top: 32px;
    }
  }
  .p-column-layout__main {
    min-width: 0;
  }
  .p-column-list {
    background-color: #f6f6f6;
    padding: 60px 40px;
  }
  @media (width <= 768px) {
    .p-column-list {
      padding: 32px 20px;
    }
  }
  .p-column-list__body {
    margin-top: 40px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 60px 40px;
  }
  @media (width <= 768px) {
    .p-column-list__body {
      grid-template-columns: repeat(1, 1fr);
      gap: 24px;
      margin-top: 16px;
    }
  }
  .p-column-list__body.-col3 {
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 35px;
  }
  @media (width <= 768px) {
    .p-column-list__body.-col3 {
      grid-template-columns: repeat(1, 1fr);
      gap: 24px;
    }
  }
  .p-column-sidebar__ranking, .p-column-sidebar__category {
    margin-top: 100px;
  }
  @media (width <= 768px) {
    .p-column-sidebar__ranking, .p-column-sidebar__category {
      margin-top: 40px;
    }
  }
  .p-column-sidebar-list {
    display: grid;
    gap: 10px;
  }
  .p-column-sidebar-list__link {
    position: relative;
    padding-left: 26px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-decoration: none;
    -webkit-transition: color 300ms ease;
    transition: color 300ms ease;
  }
  @media (any-hover: hover) {
    .p-column-sidebar-list__link:hover {
      color: #c5b796;
    }
  }
  .p-column-sidebar-list__link::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    border-radius: 50%;
    width: 6px;
    height: 6px;
    background-color: currentColor;
  }
  .p-column-sidebar-list__link::after {
    content: "";
    pointer-events: none;
    display: inline-block;
    width: 8px;
    height: 8px;
    background-color: currentColor;
    mask-image: url("/assets/icons/cret_right.svg");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-image: url("/assets/icons/cret_right.svg");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
  }
  .p-column-article__meta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
  }
  .p-column-article__date {
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
  }
  .p-column-article__eyecatch {
    margin-top: 20px;
  }
  .p-column-article__eyecatch img {
    width: 100%;
  }
  .p-column-article__share {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 20px;
  }
  .p-column-article__sns {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 16px;
  }
  .p-column-article__sns-link {
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  @media (any-hover: hover) {
    .p-column-article__sns-link:hover {
      opacity: 0.8;
    }
  }
  .p-column-article__clipboard {
    padding: 0;
    margin: 0;
    background: none;
    border: none;
    cursor: pointer;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  @media (any-hover: hover) {
    .p-column-article__clipboard:hover {
      opacity: 0.8;
    }
  }
  .p-column-article__body {
    margin-top: 40px;
  }
  @media (width <= 768px) {
    .p-column-article__body {
      margin-top: 32px;
    }
  }
  .p-column-article__footer {
    margin-top: 100px;
    padding-top: 60px;
    border-top: 1px solid #333;
  }
  @media (width <= 768px) {
    .p-column-article__footer {
      margin-top: 56px;
      padding-top: 40px;
    }
  }
  .p-column-article__pagination {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 65px;
  }
  @media (width <= 768px) {
    .p-column-article__pagination {
      gap: 16px;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
    }
    .p-column-article__pagination > * {
      -webkit-box-flex: 1;
      -ms-flex-positive: 1;
      flex-grow: 1;
      max-width: 280px;
    }
  }
  .p-column-article__back {
    margin-top: 40px;
  }
  @media (width <= 768px) {
    .p-column-article__back {
      margin-top: 24px;
    }
  }
  .p-column-single__relation {
    margin-top: 80px;
  }
  @media (width <= 768px) {
    .p-column-single__relation {
      margin-top: 40px;
    }
  }
}
@layer pages {
  .p-company__anchor {
    max-width: 895px;
    margin: 60px auto 0;
  }
  @media (width <= 768px) {
    .p-company__anchor {
      margin-top: 40px;
    }
  }
  .p-company-about {
    position: relative;
    padding: 60px;
    padding-right: 560px;
  }
  @media (width <= 1024px) {
    .p-company-about {
      padding-right: 0;
      padding: 0;
    }
  }
  @media (width >= 1025px) {
    .p-company-about__inner {
      position: relative;
      z-index: 1;
      max-width: 600px;
    }
  }
  @media (width <= 1024px) {
    .p-company-about__inner {
      margin-top: 32px;
    }
  }
  @media (width <= 768px) {
    .p-company-about__inner {
      margin-top: 24px;
    }
  }
  @media (width <= 1024px) {
    .p-company-about__title {
      position: absolute;
      left: 60px;
      top: 9vw;
      font-size: 5vw;
    }
  }
  @media (width <= 768px) {
    .p-company-about__title {
      left: 20px;
    }
  }
  .p-company-about__bg {
    position: absolute;
    inset: 0;
  }
  @media (width <= 1024px) {
    .p-company-about__bg {
      position: static;
    }
  }
  .p-company-about__bg img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%;
    -o-object-position: right top;
    object-position: right top;
  }
  .p-company-container {
    margin-inline: var(--outer);
    padding-inline: var(--padding-side);
    margin-top: 100px;
    background: url(../images/company/content_bg_01.svg) 0 0 no-repeat, url(../images/company/content_bg_02.svg) 100% 20% no-repeat;
  }
  @media (width <= 768px) {
    .p-company-container {
      margin-top: 60px;
      background-size: contain;
    }
  }
  .p-company-container__inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  .p-company-business__figure {
    text-align: center;
  }
  .p-company-feature {
    margin-top: 100px;
  }
  @media (width <= 768px) {
    .p-company-feature {
      margin-top: 60px;
    }
  }
  .p-company-menu {
    margin-top: 100px;
  }
  @media (width <= 768px) {
    .p-company-menu {
      margin-top: 60px;
    }
  }
  .p-company-list {
    padding: 0 20px 20px;
  }
  @media (width <= 768px) {
    .p-company-list {
      padding: 0;
    }
  }
  .p-company-list__item {
    color: #fff;
    background-color: #3f3727;
    text-align: center;
    border-radius: 4px;
    padding: 40px 20px;
  }
  @media (width >= 769px) {
    .p-company-step.-w245 .p-company-step__head {
      width: 245px;
    }
  }
  @media (width <= 768px) {
    .p-company-step.-w245 .p-company-step__head {
      width: 120px;
    }
  }
  .p-company-step__list {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 40px;
    padding: 27px 0 35px;
    border-left: 1px solid #3b3428;
    background-color: #f6f6f6;
    margin-bottom: 20px;
  }
  @media (width <= 768px) {
    .p-company-step__list {
      padding: 22px 0 30px;
      gap: 20px;
    }
  }
  .p-company-step__list:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 70px;
    height: 12px;
    background-color: #f6f6f6;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }
  .p-company-step__head {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    padding-left: 24px;
  }
  .p-company-step__head::before {
    content: "";
    position: absolute;
    left: 0;
    top: 40px;
    width: 13px;
    height: 13px;
    background: #3b3428;
  }
  @media (width <= 768px) {
    .p-company-step__head::before {
      top: 30px;
    }
  }
  .p-company-step__label {
    font-family: "Noto Serif JP", serif;
    font-size: 1.5rem;
  }
  @media (width <= 768px) {
    .p-company-step__label {
      font-size: 1.125rem;
    }
  }
  .p-company-step__head-text {
    margin-top: 10px;
  }
  .p-company-step__phone {
    font-family: "Roboto", sans-serif;
    font-weight: 700;
    margin-top: 20px;
    font-size: 1.75rem;
  }
  @media (width <= 768px) {
    .p-company-step__phone {
      font-size: 1.5rem;
    }
  }
  .p-company-step__phone a {
    text-decoration: none;
    -webkit-transition: color 300ms ease;
    transition: color 300ms ease;
  }
  @media (any-hover: hover) {
    .p-company-step__phone a:hover {
      color: #797261;
    }
  }
  body.is-laptop .p-company-step__phone a {
    pointer-events: none;
  }
  .p-company-step__body {
    padding-right: 20px;
  }
  .p-company-step__title {
    font-size: 1.5rem;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 20px;
  }
  @media (width <= 768px) {
    .p-company-step__title {
      font-size: 1.125rem;
      margin-bottom: 10px;
    }
  }
}
@layer pages {
  .p-contact-tel {
    margin-top: 20px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
  .p-contact-tel__number {
    font-size: 3rem;
    font-family: "Roboto", sans-serif;
    font-weight: 700;
    text-align: center;
  }
  @media (width <= 768px) {
    .p-contact-tel__number {
      font-size: 2rem;
    }
  }
  .p-contact-tel__link {
    color: #333;
    text-decoration: none;
  }
  .p-contact-tel__notes {
    text-align: center;
    line-height: 1.75;
    margin-top: 10px;
  }
  @media (width <= 768px) {
    .p-contact-tel__notes {
      font-size: 0.875rem;
    }
  }
}
@layer pages {
  .p-faq-content {
    background-color: #f6f6f6;
    padding: 60px 40px;
  }
  @media (width <= 768px) {
    .p-faq-content {
      padding: 32px 20px;
    }
  }
  .p-faq-content:not(:first-child) {
    margin-top: 60px;
  }
  @media (width <= 768px) {
    .p-faq-content:not(:first-child) {
      margin-top: 40px;
    }
  }
  .p-faq-content__body {
    margin-top: 40px;
  }
  @media (width <= 768px) {
    .p-faq-content__body {
      margin-top: 24px;
    }
  }
}
@layer pages {
  .p-news-category {
    display: grid;
    grid-template-columns: auto 1fr;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 24px;
    padding-top: 60px;
    padding-bottom: 60px;
  }
  @media (width <= 768px) {
    .p-news-category {
      padding-top: 32px;
      padding-bottom: 32px;
      grid-template-columns: 1fr;
    }
  }
  .p-news-category__title {
    font-size: 2rem;
    font-family: "Noto Serif JP", serif;
  }
  @media (width <= 768px) {
    .p-news-category__title {
      font-size: 1.5rem;
    }
  }
  .p-news-article__meta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
  }
  .p-news-article__date {
    font-weight: 700;
    font-family: "Noto Serif JP", serif;
  }
  .p-news-article__body {
    margin-top: 40px;
  }
  @media (width <= 768px) {
    .p-news-article__body {
      margin-top: 32px;
    }
  }
  .p-news-article__footer {
    margin-top: 60px;
    padding-top: 60px;
    border-top: 1px solid #333;
  }
  @media (width <= 768px) {
    .p-news-article__footer {
      margin-top: 40px;
      padding-top: 40px;
    }
  }
}
@layer pages {
  .p-point-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 8px;
  }
  @media (width <= 768px) {
    .p-point-title {
      gap: 4px;
    }
  }
  .p-point-title:not(:first-child) {
    margin-top: 40px;
  }
  @media (width <= 768px) {
    .p-point-title:not(:first-child) {
      margin-top: 30px;
    }
  }
  .p-point-title:not(:last-child) {
    margin-bottom: 20px;
  }
  .p-point-title__num {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    font-family: "Lora", serif;
    color: #797261;
  }
  @media (width <= 768px) {
    .p-point-title__num {
      font-size: 0.75rem;
    }
  }
  .p-point-title__num b {
    font-size: 1.5rem;
    font-weight: normal;
  }
  @media (width <= 768px) {
    .p-point-title__num b {
      font-size: 1.25rem;
    }
  }
  .p-point-title__label {
    font-size: 1.25rem;
    font-family: "Noto Serif JP", serif;
    border-left: 6px solid #3e3727;
    padding-left: 16px;
  }
  @media (width <= 768px) {
    .p-point-title__label {
      border-left-width: 4px;
    }
  }
}
@layer pages {
  .p-results-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    gap: 40px;
    margin-top: 40px;
  }
  @media (width <= 768px) {
    .p-results-row {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      gap: 24px;
    }
  }
  .p-results-row__header {
    width: 360px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }
  @media (width <= 768px) {
    .p-results-row__header {
      width: auto;
    }
  }
  .p-results-row__body {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
  }
}
@layer pages {
  .p-sitemap-content {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 60px;
    margin-top: 80px;
  }
  @media (width <= 768px) {
    .p-sitemap-content {
      grid-template-columns: repeat(1, 1fr);
      gap: 40px;
      margin-top: 40px;
    }
  }
  .p-sitemap-content__first {
    display: grid;
    gap: 40px;
    align-self: flex-start;
  }
  @media (width <= 768px) {
    .p-sitemap-content__first {
      gap: 40px;
    }
  }
  .p-sitemap-content__first-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 16px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    text-decoration: none;
    font-family: "Noto Serif JP", serif;
    padding-bottom: 8px;
    border-bottom: 1px solid #333;
    font-size: 1.5rem;
    line-height: 1.5;
    -webkit-transition: color 300ms ease;
    transition: color 300ms ease;
  }
  @media (width <= 768px) {
    .p-sitemap-content__first-link {
      font-size: 1.25rem;
    }
  }
  @media (any-hover: hover) {
    .p-sitemap-content__first-link:hover {
      color: #c5b796;
    }
  }
  .p-sitemap-content__first-link::after {
    content: "";
    pointer-events: none;
    display: inline-block;
    width: 16px;
    height: 16px;
    background-color: currentColor;
    mask-image: url("/assets/icons/arrow_right.svg");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-image: url("/assets/icons/arrow_right.svg");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
  }
  .p-sitemap-content__first-label {
    font-family: "Noto Serif JP", serif;
    padding-bottom: 8px;
    border-bottom: 1px solid #333;
    font-size: 1.5rem;
    line-height: 1.5;
  }
  @media (width <= 768px) {
    .p-sitemap-content__first-label {
      font-size: 1.25rem;
    }
  }
  .p-sitemap-content__second {
    display: grid;
    gap: 10px;
    margin-top: 40px;
    list-style: disc;
    padding-left: 20px;
  }
  @media (width <= 768px) {
    .p-sitemap-content__second {
      margin-top: 24px;
    }
  }
  .p-sitemap-content__second-link {
    text-decoration: none;
    -webkit-transition: color 300ms ease;
    transition: color 300ms ease;
  }
  @media (any-hover: hover) {
    .p-sitemap-content__second-link:hover {
      color: #c5b796;
    }
  }
  .p-sitemap-content__third {
    display: grid;
    gap: 10px;
    margin-top: 10px;
    padding-left: 20px;
    list-style: circle;
  }
  .p-sitemap-content__third-link {
    text-decoration: none;
    -webkit-transition: color 300ms ease;
    transition: color 300ms ease;
  }
  @media (any-hover: hover) {
    .p-sitemap-content__third-link:hover {
      color: #c5b796;
    }
  }
}
@layer pages {
  .p-tebiki-content {
    background: url(../images/tebiki/content_bg_cover.jpg) 50% 50% no-repeat;
    background-size: cover;
  }
  .p-tebiki-content__header {
    background: -webkit-gradient(linear, left top, right top, from(#797261), to(#3e3727));
    background: linear-gradient(90deg, #797261 0%, #3e3727 100%);
    padding: 40px;
  }
  @media (width <= 768px) {
    .p-tebiki-content__header {
      padding: 20px;
    }
  }
  .p-tebiki-content__title {
    font-size: 2rem;
    font-family: "Noto Serif JP", serif;
    color: #fff;
    line-height: 1.75;
    text-align: center;
  }
  @media (width <= 768px) {
    .p-tebiki-content__title {
      font-size: 1.375rem;
    }
  }
  .p-tebiki-content__desc {
    text-align: center;
  }
  .p-tebiki-content__body {
    padding: 40px 40px 60px;
  }
  @media (width <= 768px) {
    .p-tebiki-content__body {
      padding: 20px 20px 40px;
    }
  }
}
@property --_progress {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 0%;
}
@-webkit-keyframes bullet-progress {
  to {
    --_progress: 100%;
  }
}
@keyframes bullet-progress {
  to {
    --_progress: 100%;
  }
}
@layer pages {
  .p-top-mv-carousel {
    opacity: 0;
  }
  .p-top-mv-carousel.swiper-initialized {
    opacity: 1;
  }
  .p-top-mv-carousel.is-single .p-top-mv-carousel__pagination,
  .p-top-mv-carousel.is-single .p-top-mv-carousel__nav {
    display: none;
  }
  .p-top-mv-carousel__pagination {
    position: absolute;
    left: 10%;
    bottom: 80px;
    z-index: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 22px;
  }
  @media (width <= 768px) {
    .p-top-mv-carousel__pagination {
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      left: 50%;
      bottom: 44px;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%);
    }
  }
  .p-top-mv-carousel__pagination .swiper-pagination-bullet {
    position: relative;
    width: 8px;
    height: 8px;
    background-color: #ddd;
    border: 1px solid #3e3727;
    border-radius: 50%;
  }
  .p-top-mv-carousel__pagination .swiper-pagination-bullet::before {
    content: "";
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    background: conic-gradient(from 0deg, currentColor var(--_progress, 0%), transparent var(--_progress, 0%));
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 2px), #fff calc(100% - 2px));
    mask: radial-gradient(farthest-side, transparent calc(100% - 2px), #fff calc(100% - 2px));
    opacity: 0;
    -webkit-transition: opacity 300ms ease;
    transition: opacity 300ms ease;
  }
  .p-top-mv-carousel__pagination .swiper-pagination-bullet-active {
    background-color: #3e3727;
  }
  .p-top-mv-carousel__pagination .swiper-pagination-bullet-active::before {
    opacity: 1;
    -webkit-animation: bullet-progress var(--swiper-autoplay-duration, 4000ms) linear forwards;
    animation: bullet-progress var(--swiper-autoplay-duration, 4000ms) linear forwards;
  }
  .p-top-mv-carousel__prev, .p-top-mv-carousel__next {
    position: absolute;
    z-index: 2;
    background-color: #fff;
    padding: 0;
    margin: 0;
    border: none;
    width: 32px;
    height: 32px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    cursor: pointer;
    color: #333;
    -webkit-transition: background-color 300ms ease, color 300ms ease;
    transition: background-color 300ms ease, color 300ms ease;
  }
  @media (any-hover: hover) {
    .p-top-mv-carousel__prev:hover, .p-top-mv-carousel__next:hover {
      background-color: #c5b796;
      color: #fff;
    }
  }
  .p-top-mv-carousel__prev {
    left: 20px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  @media (width <= 768px) {
    .p-top-mv-carousel__prev {
      -webkit-transform: none;
      transform: none;
      top: auto;
      bottom: 32px;
    }
  }
  .p-top-mv-carousel__next {
    right: 20px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  @media (width <= 768px) {
    .p-top-mv-carousel__next {
      -webkit-transform: none;
      transform: none;
      top: auto;
      bottom: 32px;
    }
  }
  .p-top-mv-carousel-block__link {
    display: block;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  @media (any-hover: hover) {
    .p-top-mv-carousel-block__link:hover {
      opacity: 0.8;
    }
  }
  .p-top-mv-carousel-block__cover img {
    width: 100%;
  }
  .p-top-heading {
    display: grid;
    text-align: center;
  }
  @media (width >= 769px) {
    .p-top-heading.-left {
      text-align: left;
    }
  }
  .p-top-heading__title {
    font-size: 2.5rem;
    font-family: "Noto Serif JP", serif;
    line-height: 1.5;
    letter-spacing: 4px;
  }
  @media (width <= 768px) {
    .p-top-heading__title {
      font-size: 1.75rem;
      letter-spacing: 0.1em;
    }
  }
  .p-top-heading__label {
    font-family: "Lora", serif;
    line-height: 1.75;
    color: #797261;
  }
  @media (width <= 768px) {
    .p-top-heading__label {
      font-size: 0.875rem;
      margin-top: 4px;
    }
  }
  .p-top-container {
    background: url(../images/home/introduction_bg.svg) 50% 0 no-repeat;
    background-size: 100% auto;
    padding: 0 var(--padding-side) 0;
  }
  @media (width <= 768px) {
    .p-top-container {
      background-size: 1200px auto;
    }
  }
  .p-top-information {
    background-color: #fff;
    border: 1px solid #3e3727;
    padding: 16px 30px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: relative;
    z-index: 1;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  @media (width <= 768px) {
    .p-top-information {
      -webkit-transform: translateY(-20px);
      transform: translateY(-20px);
      padding: 15px 20px;
    }
  }
  .p-top-information__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 27px;
  }
  @media (width <= 768px) {
    .p-top-information__inner {
      display: block;
    }
  }
  .p-top-information__header {
    position: relative;
  }
  @media (width >= 769px) {
    .p-top-information__header {
      -ms-flex-preferred-size: 164px;
      flex-basis: 164px;
      -ms-flex-negative: 0;
      flex-shrink: 0;
    }
  }
  .p-top-information__header::after {
    content: "";
    width: 43px;
    height: 1px;
    background-color: #333;
    position: absolute;
    right: 0;
    top: 50%;
    rotate: 120deg;
  }
  @media (width <= 768px) {
    .p-top-information__header::after {
      content: none;
      display: none;
    }
  }
  .p-top-information__title {
    font-weight: 700;
    font-family: "Noto Serif JP", serif;
  }
  .p-top-information__body {
    display: grid;
    gap: 10px;
  }
  @media (width <= 768px) {
    .p-top-information__body {
      margin-top: 10px;
      gap: 0;
    }
  }
  .p-top-information__item {
    font-size: 0.875rem;
  }
  @media (width <= 768px) {
    .p-top-information__item:not(:first-child) {
      border-top: 1px solid #333;
      padding-top: 10px;
      margin-top: 10px;
    }
  }
  .p-top-information__item-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    text-decoration: none;
    gap: 15px;
  }
  @media (any-hover: hover) {
    .p-top-information__item-link:hover .p-top-information__item-text {
      border-bottom-color: #c5b796;
      color: #c5b796;
    }
  }
  @media (width <= 768px) {
    .p-top-information__item-link {
      position: relative;
      display: block;
      padding-right: 24px;
    }
  }
  .p-top-information__item-date {
    font-family: "Lora", serif;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding-top: 2px;
  }
  @media (width <= 768px) {
    .p-top-information__item-date {
      padding-top: 0;
      font-size: 0.75rem;
    }
  }
  .p-top-information__item-text {
    border-bottom: 1px solid transparent;
    -webkit-transition: border-color 300ms ease, color 300ms ease;
    transition: border-color 300ms ease, color 300ms ease;
  }
  @media (width <= 768px) {
    .p-top-information__item-text {
      font-size: 0.75rem;
    }
  }
  .p-top-information__item-icon {
    line-height: 0;
    margin-left: 5px;
    -ms-flex-item-align: center;
    align-self: center;
  }
  @media (width <= 768px) {
    .p-top-information__item-icon {
      position: absolute;
      right: 0;
      top: 50%;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
    }
  }
  .p-top-introduction {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 80px;
  }
  @media (width <= 768px) {
    .p-top-introduction {
      margin-top: 56px;
    }
  }
  .p-top-introduction__desc {
    line-height: 1.75;
    text-align: center;
    margin-top: 24px;
  }
  @media (width <= 768px) {
    .p-top-introduction__desc {
      font-size: 0.9375rem;
    }
  }
  .p-top-introduction__body {
    margin-top: 40px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
  }
  @media (width <= 1024px) {
    .p-top-introduction__body {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @media (width <= 768px) {
    .p-top-introduction__body {
      grid-template-columns: repeat(1, 1fr);
      margin-top: 24px;
      gap: 16px;
    }
  }
  .p-top-introduction__footer {
    margin-top: 60px;
  }
  @media (width <= 768px) {
    .p-top-introduction__footer {
      margin-top: 24px;
    }
  }
  .p-top-introduction__notes {
    margin-bottom: 10px;
    text-align: center;
    line-height: 1.75;
  }
  @media (width <= 768px) {
    .p-top-introduction__notes {
      margin-bottom: 16px;
    }
  }
  .p-top-introduction-button__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
    background-color: #fff;
    -webkit-box-shadow: 10px 10px 20px 0 rgba(0, 0, 0, 0.1);
    box-shadow: 10px 10px 20px 0 rgba(0, 0, 0, 0.1);
    padding: 22px 21px 22px 31px;
    text-decoration: none;
    -webkit-transition: background-color 300ms ease, color 300ms ease;
    transition: background-color 300ms ease, color 300ms ease;
  }
  @media (any-hover: hover) {
    .p-top-introduction-button__link:hover {
      background-color: #797261;
      color: #fff;
    }
    .p-top-introduction-button__link:hover .p-top-introduction-button__ruby {
      color: #fff;
    }
  }
  .p-top-introduction-button__icon-right {
    -ms-flex-item-align: center;
    align-self: center;
  }
  .p-top-introduction-button__body {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    display: grid;
  }
  .p-top-introduction-button__label {
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    line-height: 1.75;
  }
  .p-top-introduction-button__ruby {
    font-family: "Lora", serif;
    line-height: 1.75;
    color: #797261;
    -webkit-transition: color 300ms ease;
    transition: color 300ms ease;
  }
  .p-top-course {
    margin-top: 120px;
  }
  @media (width <= 768px) {
    .p-top-course {
      margin-top: 80px;
    }
  }
  .p-top-course__inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  .p-top-course__body {
    margin-top: 40px;
  }
  @media (width <= 768px) {
    .p-top-course__body {
      margin-top: 24px;
    }
  }
  .p-top-course__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 60px;
    max-width: 1020px;
    margin-left: auto;
    margin-right: auto;
  }
  @media (width <= 768px) {
    .p-top-course__list {
      grid-template-columns: repeat(1, 1fr);
      gap: 24px;
    }
  }
  .p-top-course__banner {
    margin-top: 130px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 26px 0;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-left: -13px;
    margin-right: -13px;
  }
  @media (width <= 768px) {
    .p-top-course__banner {
      margin: 60px 0 0;
      display: grid;
      gap: 16px;
    }
  }
  @media (width >= 769px) {
    .p-top-course-banner {
      width: 50%;
      padding: 0 13px;
    }
  }
  .p-top-course-banner__link {
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  @media (any-hover: hover) {
    .p-top-course-banner__link:hover {
      opacity: 0.8;
    }
  }
  .p-top-reason {
    position: relative;
    padding: 120px var(--padding-side) 0;
    z-index: 0;
  }
  @media (width <= 768px) {
    .p-top-reason {
      padding-top: 60px;
    }
  }
  .p-top-reason::after {
    content: "";
    width: 100%;
    height: auto;
    aspect-ratio: 1440/698;
    background: url(../images/home/reason_bg.svg) 50% 50% no-repeat;
    background-size: 100% auto;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    pointer-events: none;
    z-index: -1;
  }
  @media (width <= 768px) {
    .p-top-reason::after {
      background: url(../images/home/reason_bg_sp.svg) 50% 50% no-repeat;
      background-size: 100% auto;
      aspect-ratio: 390/710;
      top: 30%;
    }
  }
  .p-top-reason__inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 60px;
  }
  @media (width <= 768px) {
    .p-top-reason__inner {
      position: relative;
      z-index: 1;
      display: block;
    }
  }
  .p-top-reason__header {
    text-align: center;
  }
  @media (width >= 769px) {
    .p-top-reason__header {
      -ms-flex-preferred-size: 46.49%;
      flex-basis: 46.49%;
    }
  }
  @media (width <= 768px) {
    .p-top-reason__header {
      margin-top: 24px;
    }
  }
  .p-top-reason__header img {
    width: 100%;
  }
  @media (width <= 768px) {
    .p-top-reason__header img {
      width: 240px;
    }
  }
  @media (width >= 769px) {
    .p-top-reason__body {
      -ms-flex-preferred-size: 53.51%;
      flex-basis: 53.51%;
    }
  }
  .p-top-reason__desc {
    margin-top: 24px;
  }
  .p-top-reason__button {
    margin-top: 24px;
  }
  @media (width <= 768px) {
    .p-top-reason__button {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
    }
  }
  .p-top-company {
    margin-top: 100px;
    padding-inline: var(--padding-side);
  }
  @media (width <= 768px) {
    .p-top-company {
      margin-top: 60px;
    }
  }
  .p-top-company__inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  .p-top-company__body {
    margin-top: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  @media (width <= 768px) {
    .p-top-company__body {
      display: block;
    }
  }
  .p-top-company__content {
    width: 50%;
    padding-right: 48px;
  }
  @media (width <= 768px) {
    .p-top-company__content {
      width: auto;
      padding-right: 0;
      margin-top: 20px;
    }
  }
  .p-top-company__photo {
    width: 50%;
  }
  @media (width <= 768px) {
    .p-top-company__photo {
      width: auto;
    }
  }
  .p-top-company__footer {
    margin-top: 60px;
  }
  @media (width <= 768px) {
    .p-top-company__footer {
      margin-top: 40px;
    }
  }
  .p-top-company-feature {
    margin-top: 24px;
    padding: 20px;
    background-color: #f3ebd9;
  }
  .p-top-company-feature__title {
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
  }
  .p-top-company-feature__list {
    list-style: disc;
    padding-left: 22px;
    margin-top: 10px;
  }
  .p-top-company-feature__list__item {
    line-height: 1.75;
  }
  .p-top-column {
    margin-top: 75px;
  }
  @media (width <= 768px) {
    .p-top-column {
      margin-top: 60px;
    }
  }
  .p-top-column__header {
    padding: 63px var(--padding-side);
    background: url(../images/home/column_img_cover_01.webp) 50% 0 no-repeat;
    background-size: cover;
    color: #fff;
  }
  @media (width <= 768px) {
    .p-top-column__header {
      padding-top: 0;
      padding-bottom: 0;
      color: #333;
      background: #f3ebd9;
    }
  }
  @media (width <= 768px) {
    .p-top-column__header::before {
      content: "";
      background: url(../images/home/column_img_cover_01_sp.webp) 50% 0 no-repeat;
      background-size: contain;
      aspect-ratio: 772/300;
      width: auto;
      height: auto;
      display: block;
      margin-left: -20px;
      margin-right: -20px;
      margin-bottom: 40px;
    }
  }
  .p-top-column__header-inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  .p-top-column__title {
    font-family: "Noto Serif JP", serif;
    line-height: 1.75;
    font-weight: 700;
  }
  .p-top-column__lead {
    font-family: "Noto Serif JP", serif;
    font-size: 2.5rem;
    line-height: 1.75;
  }
  @media (width <= 768px) {
    .p-top-column__lead {
      font-size: 2.25rem;
      line-height: 1.5;
    }
  }
  .p-top-column__desc {
    margin-top: 20px;
    line-height: 1.75;
  }
  .p-top-column__body {
    padding: 60px var(--padding-side);
    background-color: #f3ebd9;
  }
  @media (width <= 768px) {
    .p-top-column__body {
      padding-top: 40px;
    }
  }
  .p-top-column__body-inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  .p-top-column__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 26px;
  }
  @media (width <= 1024px) {
    .p-top-column__list {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @media (width <= 768px) {
    .p-top-column__list {
      max-width: 280px;
      margin-left: auto;
      margin-right: auto;
      grid-template-columns: repeat(1, 1fr);
    }
  }
  .p-top-column__button {
    margin-top: 40px;
  }
  .p-top-news {
    padding: 60px var(--padding-side) 0;
  }
  .p-top-news__inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  .p-top-news__desc {
    line-height: 1.75;
    margin-top: 40px;
    text-align: center;
  }
  @media (width <= 768px) {
    .p-top-news__desc {
      margin-top: 24px;
    }
  }
  .p-top-news__body {
    margin-top: 40px;
  }
  @media (width <= 768px) {
    .p-top-news__body {
      margin-top: 24px;
    }
  }
  .p-top-news__footer {
    margin-top: 40px;
  }
  .p-top-news-tab__tabs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 10px;
  }
  @media (width <= 768px) {
    .p-top-news-tab__tabs {
      gap: 16px 10px;
      margin-bottom: 24px;
    }
  }
  .p-top-news-tab__tab {
    --color: #3f3727;
    position: relative;
    font-family: "Noto Sans JP", sans-serif;
    padding: 0;
    margin: 0;
    border: none;
    background: none;
    border-radius: 0;
    padding: 2px 10px;
    font-size: 0.875rem;
    border: 1px solid var(--color);
    color: var(--color);
    cursor: pointer;
    -webkit-transition: background-color 300ms ease, color 300ms ease;
    transition: background-color 300ms ease, color 300ms ease;
  }
  @media (width <= 768px) {
    .p-top-news-tab__tab {
      width: 140px;
      font-size: 0.75rem;
    }
  }
  .p-top-news-tab__tab::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 100%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 10px;
    height: 6px;
    background-color: var(--color);
    opacity: 0;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    -webkit-transition: opacity 300ms ease;
    transition: opacity 300ms ease;
  }
  @media (any-hover: hover) {
    .p-top-news-tab__tab:hover {
      background-color: var(--color);
      color: #fff;
    }
  }
  .p-top-news-tab__tab.is-selected {
    background-color: var(--color);
    color: #fff;
  }
  .p-top-news-tab__tab.is-selected::after {
    opacity: 1;
  }
  .p-top-news-tab__tab.-medical-checkup {
    --color: #d28787;
  }
  .p-top-news-tab__tab.-business-info {
    --color: #b2ae6c;
  }
  .p-top-news-tab__tab.-maintenance {
    --color: #4f98a7;
  }
  .p-top-news-tab__tab.-events {
    --color: #765e5e;
  }
  .p-top-news-tab__tab.-others {
    --color: #6dac48;
  }
  .p-top-news-tab__panel {
    margin-top: 40px;
  }
  @media (width <= 768px) {
    .p-top-news-tab__panel {
      margin-top: 0;
    }
  }
  .p-top-faq {
    padding: 60px var(--padding-side);
    margin-bottom: -120px;
  }
  @media (width <= 768px) {
    .p-top-faq {
      padding-bottom: 0;
      margin-bottom: 0px;
    }
  }
  .p-top-faq__inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  .p-top-faq__body {
    margin-top: 40px;
  }
  @media (width <= 768px) {
    .p-top-faq__body {
      margin-top: 4px;
    }
  }
  .p-top-faq__footer {
    margin-top: 40px;
  }
}
@layer components {
  .p-clinic-accordion {
    position: relative;
    background: #f3ebd9;
    z-index: 0;
  }
  .p-clinic-accordion:not(:last-child) {
    margin-bottom: 20px;
  }
  .p-clinic-accordion__head {
    position: relative;
    width: 100%;
    border: none;
    background: none;
    text-align: left;
    font-family: "Noto Sans JP", sans-serif;
    color: #333;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 40px;
    cursor: pointer;
    -webkit-transition: color 300ms ease;
    transition: color 300ms ease;
    z-index: 0;
  }
  @media (width <= 768px) {
    .p-clinic-accordion__head {
      padding-inline: 20px;
    }
  }
  .p-clinic-accordion__head::after {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    background: #eddfbf;
    opacity: 0;
    -webkit-transition: opacity 300ms ease;
    transition: opacity 300ms ease;
    z-index: -1;
  }
  @media (any-hover: hover) {
    .p-clinic-accordion__head:hover::after {
      opacity: 1;
    }
  }
  .p-clinic-accordion__head-label {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
  }
  .p-clinic-accordion__head-icon {
    position: relative;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transition: -webkit-transform 300ms ease;
    transition: -webkit-transform 300ms ease;
    transition: transform 300ms ease;
    transition: transform 300ms ease, -webkit-transform 300ms ease;
  }
  .p-clinic-accordion__head-icon::before, .p-clinic-accordion__head-icon::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    background: currentColor;
    -webkit-transition: background-color 300ms, opacity 300ms, -webkit-transform 300ms;
    transition: background-color 300ms, opacity 300ms, -webkit-transform 300ms;
    transition: transform 300ms, background-color 300ms, opacity 300ms;
    transition: transform 300ms, background-color 300ms, opacity 300ms, -webkit-transform 300ms;
  }
  @media (width <= sp) {
    .p-clinic-accordion__head-icon::before, .p-clinic-accordion__head-icon::after {
      width: 16px;
      margin-left: -8px;
    }
  }
  .p-clinic-accordion__head-icon::after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  .p-clinic-accordion__head[aria-expanded=true] .p-clinic-accordion__head-icon {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  .p-clinic-accordion__head[aria-expanded=true] .p-clinic-accordion__head-icon::before {
    opacity: 0;
  }
  .p-clinic-accordion__body {
    padding-inline: 40px;
  }
  @media (width <= 768px) {
    .p-clinic-accordion__body {
      padding-inline: 16px;
    }
  }
  .p-clinic-accordion__body-inner {
    padding-block: 20px;
  }
  .p-clinic-inner-accordion {
    position: relative;
    background: #fff;
    z-index: 0;
  }
  .p-clinic-inner-accordion:not(:last-child) {
    margin-bottom: 20px;
  }
  .p-clinic-inner-accordion__head {
    position: relative;
    width: 100%;
    border: none;
    background: none;
    text-align: left;
    font-family: "Noto Sans JP", sans-serif;
    color: #333;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 40px;
    cursor: pointer;
    -webkit-transition: color 300ms ease;
    transition: color 300ms ease;
    z-index: 0;
  }
  @media (width <= 768px) {
    .p-clinic-inner-accordion__head {
      padding: 24px 16px;
    }
  }
  .p-clinic-inner-accordion__head::after {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    background: #f6f6f6;
    opacity: 0;
    -webkit-transition: opacity 300ms ease;
    transition: opacity 300ms ease;
    z-index: -1;
  }
  @media (any-hover: hover) {
    .p-clinic-inner-accordion__head:hover::after {
      opacity: 1;
    }
  }
  .p-clinic-inner-accordion__head-label {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
  }
  .p-clinic-inner-accordion__head-icon {
    position: relative;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transition: -webkit-transform 300ms ease;
    transition: -webkit-transform 300ms ease;
    transition: transform 300ms ease;
    transition: transform 300ms ease, -webkit-transform 300ms ease;
  }
  .p-clinic-inner-accordion__head-icon::before, .p-clinic-inner-accordion__head-icon::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    background: currentColor;
    -webkit-transition: background-color 300ms, opacity 300ms, -webkit-transform 300ms;
    transition: background-color 300ms, opacity 300ms, -webkit-transform 300ms;
    transition: transform 300ms, background-color 300ms, opacity 300ms;
    transition: transform 300ms, background-color 300ms, opacity 300ms, -webkit-transform 300ms;
  }
  @media (width <= sp) {
    .p-clinic-inner-accordion__head-icon::before, .p-clinic-inner-accordion__head-icon::after {
      width: 16px;
      margin-left: -8px;
    }
  }
  .p-clinic-inner-accordion__head-icon::after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  .p-clinic-inner-accordion__head[aria-expanded=true] .p-clinic-inner-accordion__head-icon {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  .p-clinic-inner-accordion__head[aria-expanded=true] .p-clinic-inner-accordion__head-icon::before {
    opacity: 0;
  }
  .p-clinic-inner-accordion__body {
    padding-inline: 40px;
  }
  @media (width <= 768px) {
    .p-clinic-inner-accordion__body {
      padding-inline: 20px;
    }
  }
  .p-clinic-inner-accordion__body-inner {
    padding-block: 20px;
    border-top: 1px solid #3f3727;
  }
}
@layer pages {
  .p-clinic-cert {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
  @media (width <= 768px) {
    .p-clinic-cert {
      grid-template-columns: 1fr;
    }
  }
  .p-clinic-cert > li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    padding: 8px;
    min-height: 60px;
    background: #f6f6f6;
  }
}
@layer pages {
  .p-clinic-equipment {
    position: relative;
    margin-top: 40px;
    padding-inline: 20px;
  }
  @media (width <= 768px) {
    .p-clinic-equipment {
      margin-inline: calc(var(--padding-side) * -1);
      padding-inline: 0;
    }
  }
  .p-clinic-equipment__slider {
    max-width: 1160px;
    margin-inline: auto;
  }
  @media (width <= 1024px) {
    .p-clinic-equipment__slider {
      max-width: 830px;
    }
  }
  .p-clinic-equipment__slide {
    max-width: 290px;
  }
  .p-clinic-equipment__prev, .p-clinic-equipment__next {
    position: absolute;
    z-index: 2;
    background-color: #333;
    padding: 0;
    margin: 0;
    border: none;
    width: 40px;
    height: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    cursor: pointer;
    color: #fff;
    -webkit-transition: background-color 300ms ease, color 300ms ease;
    transition: background-color 300ms ease, color 300ms ease;
  }
  @media (any-hover: hover) {
    .p-clinic-equipment__prev:hover, .p-clinic-equipment__next:hover {
      background-color: #c5b796;
      color: #fff;
    }
  }
  .p-clinic-equipment__prev {
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  @media (width <= 768px) {
    .p-clinic-equipment__prev {
      left: 20px;
    }
  }
  .p-clinic-equipment__next {
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  @media (width <= 768px) {
    .p-clinic-equipment__next {
      right: 20px;
    }
  }
}
@layer pages {
  .p-clinic-ex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: #f3ebd9;
  }
  @media (width <= 1024px) {
    .p-clinic-ex {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
    }
  }
  .p-clinic-ex__body {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    padding: 20px;
  }
  @media (width <= 1024px) {
    .p-clinic-ex__body {
      -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
      order: 2;
    }
  }
  .p-clinic-ex__body > dt {
    font-size: 1.125rem;
    font-weight: 700;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 12px;
  }
  .p-clinic-ex__img {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 180px;
  }
  @media (width <= 1024px) {
    .p-clinic-ex__img {
      -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
      order: 1;
      width: 100%;
    }
  }
  .p-clinic-ex__img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
}
@layer pages {
  .p-clinic-facilities {
    position: relative;
  }
  .p-clinic-facilities__inner {
    width: calc(100vw - var(--scrollbar));
    margin-left: calc((100vw - var(--scrollbar) - 100%) / -2);
    overflow: hidden;
  }
  @media (width <= 768px) {
    .p-clinic-facilities__inner {
      padding-inline: var(--padding-side);
    }
  }
  .p-clinic-facilities__slider {
    max-width: 780px;
    margin-inline: auto;
    overflow: visible !important;
  }
  .p-clinic-facilities__slide {
    max-width: 380px;
  }
  .p-clinic-facilities__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 24px;
    margin-top: 40px;
  }
  @media (width <= 768px) {
    .p-clinic-facilities__nav {
      margin-top: 20px;
    }
  }
  .p-clinic-facilities__pagination {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 8px;
  }
  .p-clinic-facilities__pagination .swiper-pagination-bullet {
    width: 18px;
    height: 18px;
    background: #dddddd;
    border: 5px solid #fff;
    border-radius: 50%;
    -webkit-transition: background-color 300ms ease, -webkit-filter 300ms ease;
    transition: background-color 300ms ease, -webkit-filter 300ms ease;
    transition: filter 300ms ease, background-color 300ms ease;
    transition: filter 300ms ease, background-color 300ms ease, -webkit-filter 300ms ease;
  }
  .p-clinic-facilities__pagination .swiper-pagination-bullet-active {
    background: #333;
    -webkit-filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.2));
    filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.2));
  }
  .p-clinic-facilities__prev, .p-clinic-facilities__next {
    z-index: 2;
    background-color: #fff;
    padding: 0;
    margin: 0;
    border: none;
    width: 40px;
    height: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    cursor: pointer;
    color: #333;
    border: 1px solid #333;
    -webkit-transition: background-color 300ms ease, color 300ms ease, border-color 300ms ease;
    transition: background-color 300ms ease, color 300ms ease, border-color 300ms ease;
  }
  @media (any-hover: hover) {
    .p-clinic-facilities__prev:hover, .p-clinic-facilities__next:hover {
      background-color: #c5b796;
      color: #fff;
      border-color: #c5b796;
    }
  }
}
@layer pages {
  .p-clinic-hero {
    position: relative;
    z-index: 0;
    margin-bottom: 40px;
  }
  @media (width <= 768px) {
    .p-clinic-hero {
      margin-top: -24px;
      margin-bottom: 20px;
    }
  }
  .p-clinic-hero__body {
    padding-block: 60px;
    padding-right: 240px;
  }
  @media (width <= 1024px) {
    .p-clinic-hero__body {
      padding: 0;
    }
  }
  .p-clinic-hero__en {
    font-size: 0.875rem;
    font-family: "Lora", serif;
  }
  .p-clinic-hero__header {
    margin-bottom: 40px;
  }
  @media (width <= 1024px) {
    .p-clinic-hero__header {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      min-height: 257px;
    }
  }
  @media (width <= 768px) {
    .p-clinic-hero__header {
      margin-bottom: 20px;
    }
  }
  .p-clinic-hero__bg {
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1;
    max-width: 600px;
    height: 100%;
  }
  @media (width <= 1024px) {
    .p-clinic-hero__bg {
      left: 0;
      width: calc(100vw - var(--scrollbar));
      margin-left: calc((100vw - var(--scrollbar) - 100%) / -2);
      max-width: none;
      height: 257px;
    }
  }
  .p-clinic-hero__bg::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 600px;
    background: -webkit-gradient(linear, right top, left top, from(rgba(255, 255, 255, 0)), to(#fff));
    background: linear-gradient(to left, rgba(255, 255, 255, 0) 0%, #fff 100%);
  }
  @media (width <= 768px) {
    .p-clinic-hero__bg::before {
      background: -webkit-gradient(linear, right top, left top, from(rgba(255, 255, 255, 0.38)), to(#fff));
      background: linear-gradient(to left, rgba(255, 255, 255, 0.38) 0%, #fff 100%);
    }
  }
  .p-clinic-hero__bg img {
    display: block;
    width: 100%;
    max-width: 600px;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    margin-left: auto;
  }
}
@layer pages {
  .p-medical-checkup-courses {
    margin-top: 140px;
  }
  @media (width <= 768px) {
    .p-medical-checkup-courses {
      margin-top: 60px;
    }
  }
  .c-page-body__inner .p-medical-checkup-courses:last-child {
    margin-bottom: -120px;
  }
  @media (width <= 768px) {
    .c-page-body__inner .p-medical-checkup-courses:last-child {
      margin-bottom: -60px;
    }
  }
  .p-medical-checkup-courses__body {
    background-color: #f3ebd9;
    margin-inline: var(--outer);
    padding: 60px var(--padding-side);
    margin-top: 24px;
    display: grid;
    gap: 60px;
  }
  .p-medical-checkup-courses__footer {
    margin-top: 40px;
  }
  .p-medical-checkup-courses-content {
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-color: #fff;
    padding: 80px;
  }
  @media (width <= 1024px) {
    .p-medical-checkup-courses-content {
      padding: 40px 20px;
    }
  }
  .p-medical-checkup-courses-content__title {
    position: relative;
  }
  .p-medical-checkup-courses-content__title::after {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #797261;
    position: absolute;
    left: 0;
    top: 50%;
  }
  .p-medical-checkup-courses-content__title-inner {
    display: block;
    position: relative;
    z-index: 1;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    padding: 0 20px;
    font-size: 2rem;
    font-family: "Noto Serif JP", serif;
    background-color: #fff;
  }
  @media (width <= 768px) {
    .p-medical-checkup-courses-content__title-inner {
      font-size: 1.5rem;
    }
  }
  .p-medical-checkup-courses-content__body {
    margin-top: 60px;
    display: grid;
    gap: 60px;
  }
  @media (width <= 768px) {
    .p-medical-checkup-courses-content__body {
      margin-top: 20px;
    }
  }
  .p-medical-checkup-courses-box__header {
    background: -webkit-gradient(linear, left top, right top, from(#797261), to(#3e3727));
    background: linear-gradient(90deg, #797261 0%, #3e3727 100%);
    color: #fff;
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .p-medical-checkup-courses-box__header .c-h3:not(:last-child) {
    margin-bottom: 20px;
  }
  .p-medical-checkup-courses-box__header p {
    text-align: center;
  }
  .p-medical-checkup-courses-box__body {
    padding: 40px;
    border: 1px solid #3e3727;
  }
  .p-medical-checkup-courses-box__body:has(.p-medical-checkup-courses-price:last-child) {
    padding-bottom: 0;
  }
  @media (width <= 1024px) {
    .p-medical-checkup-courses-box__body {
      padding: 20px;
    }
  }
  .p-medical-checkup-courses-box__row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
  @media (width <= 768px) {
    .p-medical-checkup-courses-box__row {
      grid-template-columns: repeat(1, 1fr);
      gap: 20px;
    }
  }
  .p-medical-checkup-courses-tag {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 8px;
  }
  @media (width <= 768px) {
    .p-medical-checkup-courses-tag {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 4px;
    }
  }
  .p-medical-checkup-courses-tag li {
    border: 1px solid #3f3727;
    font-size: 0.75rem;
    width: 110px;
    min-height: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    line-height: 1.5;
    text-align: center;
  }
  @media (width <= 768px) {
    .p-medical-checkup-courses-tag li {
      font-size: 0.625rem;
      width: auto;
    }
  }
  .p-medical-checkup-courses-toggle {
    margin-top: 20px;
    border-top: 1px solid #3e3727;
    border-bottom: 1px solid #3e3727;
  }
  .p-medical-checkup-courses-toggle__header {
    width: 100%;
    border: none;
    background: none;
    text-align: left;
    font-family: "Noto Sans JP", sans-serif;
    color: #333;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 20px 0;
    gap: 16px;
    cursor: pointer;
  }
  @media (any-hover: hover) {
    .p-medical-checkup-courses-toggle__header:hover .p-medical-checkup-courses-toggle__label {
      color: #a0926e;
      border-bottom-color: currentColor;
    }
  }
  .p-medical-checkup-courses-toggle__label {
    -webkit-transition: color 300ms ease, border-color 300ms ease;
    transition: color 300ms ease, border-color 300ms ease;
    border-bottom: 1px solid transparent;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .p-medical-checkup-courses-toggle__icon {
    position: relative;
    width: 15px;
    height: 15px;
  }
  .p-medical-checkup-courses-toggle__icon::before, .p-medical-checkup-courses-toggle__icon::after {
    content: "";
    position: absolute;
    left: 7px;
    top: 50%;
    background-color: #333;
    width: 15px;
    height: 1px;
    translate: -7px 0;
    -webkit-transition: rotate 300ms ease;
    transition: rotate 300ms ease;
  }
  @media (width <= 768px) {
    .p-medical-checkup-courses-toggle__icon::before, .p-medical-checkup-courses-toggle__icon::after {
      width: 13px;
    }
  }
  .p-medical-checkup-courses-toggle__icon::before {
    rotate: 90deg;
  }
  .p-medical-checkup-courses-toggle__icon::after {
    rotate: 180deg;
  }
  .p-medical-checkup-courses-toggle__header.is-expanded .p-medical-checkup-courses-toggle__icon::before, .p-medical-checkup-courses-toggle__header.is-expanded .p-medical-checkup-courses-toggle__icon::after {
    rotate: 0deg;
  }
  .p-medical-checkup-courses-toggle__body {
    padding-bottom: 20px;
  }
  .p-medical-checkup-courses-price {
    background-color: #f6f6f6;
    margin: 40px -40px 0;
    padding: 20px 40px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  @media (width <= 1024px) {
    .p-medical-checkup-courses-price {
      margin-left: -20px;
      margin-right: -20px;
      padding-left: 20px;
      padding-right: 20px;
    }
  }
  @media (width <= 768px) {
    .p-medical-checkup-courses-price {
      grid-template-columns: repeat(1, 1fr);
    }
  }
  .p-medical-checkup-courses-price.-plain {
    margin: 0;
    padding: 0;
    display: block;
    background: none;
  }
  .p-medical-checkup-courses-price__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-right: 1px solid #333;
  }
  .p-medical-checkup-courses-price__header:has(.p-medical-checkup-courses-price__item) {
    display: block;
  }
  @media (width <= 768px) {
    .p-medical-checkup-courses-price__header {
      border-right: none;
      border-bottom: 1px solid #333;
      padding-bottom: 16px;
    }
  }
  .p-medical-checkup-courses-price__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .p-medical-checkup-courses-price.-plain .p-medical-checkup-courses-price__item {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  .p-medical-checkup-courses-price__title {
    padding-right: 24px;
  }
  @media (width <= 1024px) {
    .p-medical-checkup-courses-price__title {
      font-size: 0.875rem;
      padding-right: 16px;
    }
  }
  @media (width <= 768px) {
    .p-medical-checkup-courses-price__title {
      font-size: 0.75rem;
      padding-right: 0;
      text-align: center;
      padding-right: 12px;
    }
  }
  .p-medical-checkup-courses-price__price {
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    font-size: 2rem;
  }
  @media (width <= 1024px) {
    .p-medical-checkup-courses-price__price {
      font-size: 1.375rem;
    }
  }
  @media (width <= 768px) {
    .p-medical-checkup-courses-price__price {
      font-size: 1.125rem;
    }
  }
  .p-medical-checkup-courses-price__number {
    font-size: 3.25rem;
  }
  @media (width <= 1280px) {
    .p-medical-checkup-courses-price__number {
      font-size: 2.5rem;
    }
  }
  @media (width <= 1024px) {
    .p-medical-checkup-courses-price__number {
      font-size: 1.75rem;
    }
  }
  @media (width <= 768px) {
    .p-medical-checkup-courses-price__number {
      font-size: 1.75rem;
    }
  }
  .p-medical-checkup-courses-price__tax {
    position: relative;
  }
  @media (width <= 1024px) {
    .p-medical-checkup-courses-price__tax {
      font-size: 0.875rem;
      padding-right: 16px;
    }
  }
  @media (width <= 768px) {
    .p-medical-checkup-courses-price__tax {
      font-size: 0.75rem;
      padding-right: 0;
    }
  }
  .p-medical-checkup-courses-price__body {
    -ms-flex-item-align: center;
    align-self: center;
  }
  .p-medical-checkup-courses-price__body .c-button {
    padding-left: 28px;
  }
  @media (width <= 768px) {
    .p-medical-checkup-courses-price__body .c-button {
      padding-left: 0;
      margin-top: 20px;
    }
  }
  .p-medical-checkup-courses-price__time {
    position: relative;
    font-size: 1.25rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 8px;
    padding-left: 28px;
  }
  @media (width <= 768px) {
    .p-medical-checkup-courses-price__time {
      font-size: 1rem;
      padding-top: 20px;
      padding-left: 0;
    }
  }
  .p-medical-checkup-courses-price__time.-l {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding-left: 0;
  }
  .p-medical-checkup-courses-price__time.-gold {
    color: #797261;
  }
  .p-medical-checkup-courses-price__time::before {
    content: "";
    pointer-events: none;
    display: inline-block;
    width: 20px;
    height: 20px;
    background-color: currentColor;
    mask-image: url("/assets/icons/clock.svg");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-image: url("/assets/icons/clock.svg");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
  }
  .p-medical-checkup-courses-price__time dt {
    padding-right: 8px;
  }
}
@layer pages {
  .p-medical-checkup-inspection-items-table {
    --h-header-gap: 200px;
    --h-th-1: 48px;
    --h-th-2: 90px;
    --h-th-3: 56px;
    --h-td: 56px;
    --w-th-3: 100px;
    --w-tbody-th-1: 120px;
    --w-tbody-th-2: 280px;
    --w-tbody-th-3: 140px;
    --w-tbody-th-4: 140px;
    --w-tbody-th-5: 400px;
    margin-top: 40px;
    overflow: auto;
    height: 80vh;
    font-size: 0.75rem;
  }
  @media (width <= 768px) {
    .p-medical-checkup-inspection-items-table {
      --h-th-1: 40px;
      --h-th-2: 72px;
      --h-th-3: 50px;
      --h-td: 32px;
      --w-th-3: 80px;
      --w-tbody-th-1: 45px;
      --w-tbody-th-2: 115px;
      --w-tbody-th-3: 55px;
      --w-tbody-th-4: 60px;
      --w-tbody-th-5: 160px;
      font-size: 0.625rem;
      height: 70vh;
    }
  }
  .p-medical-checkup-inspection-items-table__table {
    width: 1300px;
    border-collapse: separate;
  }
  @media (width <= 768px) {
    .p-medical-checkup-inspection-items-table__table {
      width: 880px;
    }
  }
  .p-medical-checkup-inspection-items-table__corner {
    position: sticky;
    left: 0;
    top: 0;
    z-index: 13;
    width: var(--w-tbody-th-5);
    background-color: #3e3727;
    color: #fff;
    vertical-align: middle;
    text-align: center;
    border-bottom: 1px solid #fff;
  }
  .p-medical-checkup-inspection-items-table__th-1, .p-medical-checkup-inspection-items-table__th-2, .p-medical-checkup-inspection-items-table__th-3, .p-medical-checkup-inspection-items-table__th-4 {
    text-align: center;
    vertical-align: middle;
  }
  .p-medical-checkup-inspection-items-table__th-2, .p-medical-checkup-inspection-items-table__th-3 {
    color: #fff;
    border-left: 1px solid #fff;
  }
  .p-medical-checkup-inspection-items-table__th-1 {
    position: sticky;
    top: 0;
    height: var(--h-th-1);
    background-color: #a2a2a2;
    color: #fff;
    font-weight: 700;
  }
  .p-medical-checkup-inspection-items-table__th-1.-premium {
    background-color: #b2ae6c;
  }
  .p-medical-checkup-inspection-items-table__th-2 {
    position: sticky;
    top: var(--h-th-1);
    height: var(--h-th-2);
    background-color: #3e3727;
    border-bottom: 1px solid #fff;
  }
  .p-medical-checkup-inspection-items-table__th-3 {
    position: sticky;
    top: calc(var(--h-th-1) + var(--h-th-2));
    width: var(--w-th-3);
    height: var(--h-th-3);
    background-color: #797261;
  }
  .p-medical-checkup-inspection-items-table__th-4 {
    position: sticky;
    left: 0;
    top: calc(var(--h-th-1) + var(--h-th-2));
    width: var(--w-tbody-th-5);
    height: var(--h-th-3);
    background-color: #797261;
    color: #fff;
    z-index: 13;
  }
  .p-medical-checkup-inspection-items-table__th-notes {
    font-size: 0.75rem;
  }
  @media (width <= 768px) {
    .p-medical-checkup-inspection-items-table__th-notes {
      font-size: 0.625rem;
    }
  }
  .p-medical-checkup-inspection-items-table__tbody-th-1, .p-medical-checkup-inspection-items-table__tbody-th-2, .p-medical-checkup-inspection-items-table__tbody-th-3, .p-medical-checkup-inspection-items-table__tbody-th-4, .p-medical-checkup-inspection-items-table__tbody-th-5 {
    border-right: 1px solid #333;
    border-bottom: 1px solid #333;
    vertical-align: middle;
    padding: 0 10px;
    line-height: 1.5;
    text-align: left;
  }
  @media (width <= 768px) {
    .p-medical-checkup-inspection-items-table__tbody-th-1, .p-medical-checkup-inspection-items-table__tbody-th-2, .p-medical-checkup-inspection-items-table__tbody-th-3, .p-medical-checkup-inspection-items-table__tbody-th-4, .p-medical-checkup-inspection-items-table__tbody-th-5 {
      padding: 0 5px;
    }
  }
  .p-medical-checkup-inspection-items-table__tbody-th-1, .p-medical-checkup-inspection-items-table__tbody-th-2, .p-medical-checkup-inspection-items-table__tbody-th-3, .p-medical-checkup-inspection-items-table__tbody-th-4 {
    background-color: #f3ebd9;
  }
  .p-medical-checkup-inspection-items-table__tbody-th-1 {
    position: sticky;
    left: 0;
    width: var(--w-tbody-th-1);
    border-right: 1px solid #333;
    border-bottom: 1px solid #333;
    vertical-align: middle;
  }
  .p-medical-checkup-inspection-items-table__tbody-th-2 {
    width: var(--w-tbody-th-2);
    position: sticky;
    left: var(--w-tbody-th-1);
  }
  .p-medical-checkup-inspection-items-table__tbody-th-3 {
    width: var(--w-tbody-th-3);
    position: sticky;
    left: var(--w-tbody-th-1);
  }
  .p-medical-checkup-inspection-items-table__tbody-th-4 {
    width: var(--w-tbody-th-4);
    position: sticky;
    left: calc(var(--w-tbody-th-1) + var(--w-tbody-th-3));
  }
  .p-medical-checkup-inspection-items-table__tbody-th-5 {
    position: sticky;
    left: 0;
    width: var(--w-tbody-th-5);
    background-color: #d8e3e5;
  }
  .p-medical-checkup-inspection-items-table__name {
    height: 32px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  @media (width <= 768px) {
    .p-medical-checkup-inspection-items-table__name {
      height: 32px;
    }
  }
  .p-medical-checkup-inspection-items-table__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background-color: #fff;
    font-size: 0.75rem;
    padding: 6px 12px;
    color: #333;
    text-decoration: none;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 10px auto 0;
    -webkit-transition: color 300ms ease, background-color 300ms ease;
    transition: color 300ms ease, background-color 300ms ease;
  }
  @media (width <= 768px) {
    .p-medical-checkup-inspection-items-table__link {
      padding: 2px 8px;
      margin-top: 5px;
      font-size: 0.625rem;
    }
  }
  @media (any-hover: hover) {
    .p-medical-checkup-inspection-items-table__link:hover {
      background-color: #797261;
      color: #fff;
    }
  }
  .p-medical-checkup-inspection-items-table__option {
    font-size: 0.75rem;
  }
  @media (width <= 768px) {
    .p-medical-checkup-inspection-items-table__option {
      font-size: 0.625rem;
    }
  }
  .p-medical-checkup-inspection-items-table__price {
    font-size: 0.875rem;
  }
  @media (width <= 768px) {
    .p-medical-checkup-inspection-items-table__price {
      font-size: 0.75rem;
    }
  }
  .p-medical-checkup-inspection-items-table__disable, .p-medical-checkup-inspection-items-table__enable {
    height: var(--h-td);
  }
  .p-medical-checkup-inspection-items-table__disable {
    background-color: #ccc;
    border-right: 1px solid #333;
    border-bottom: 1px solid #333;
  }
  .p-medical-checkup-inspection-items-table__enable {
    background-color: #fff;
    border-right: 1px solid #333;
    border-bottom: 1px solid #333;
    text-align: center;
    vertical-align: middle;
  }
}
@layer pages {
  .p-medical-checkup-premium-summary {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-right: var(--outer);
    margin-left: var(--outer);
  }
  @media (width <= 768px) {
    .p-medical-checkup-premium-summary {
      display: block;
    }
  }
  .p-medical-checkup-premium-summary__header {
    width: 45%;
  }
  @media (width <= 768px) {
    .p-medical-checkup-premium-summary__header {
      width: auto;
      padding-right: var(--padding-side);
    }
  }
  .p-medical-checkup-premium-summary__photo {
    width: 100%;
  }
  .p-medical-checkup-premium-summary__body {
    position: relative;
    top: 80px;
    width: calc(55% + 80px);
    background-color: rgba(63, 55, 39, 0.1);
    padding: 60px 120px;
    margin-left: -80px;
  }
  @media (width <= 1024px) {
    .p-medical-checkup-premium-summary__body {
      padding: 40px 60px 40px 120px;
    }
  }
  @media (width <= 768px) {
    .p-medical-checkup-premium-summary__body {
      padding: 100px var(--padding-side) 40px;
      width: auto;
      margin: 0 0 0 var(--padding-side);
      top: -60px;
    }
  }
  .p-medical-checkup-premium-summary__body-inner {
    max-width: 540px;
  }
  .p-medical-checkup-premium-summary__anchor {
    max-width: 285px;
  }
  .p-medical-checkup-premium-about {
    position: relative;
    margin-left: var(--outer);
    margin-right: var(--outer);
    padding-left: var(--padding-side);
    padding-right: var(--padding-side);
    background: url(../images/medical-checkup/premium/about_bg.svg) 0 40px no-repeat;
  }
  @media (width <= 768px) {
    .p-medical-checkup-premium-about {
      background-size: 100% auto;
    }
  }
  .p-medical-checkup-premium-about__inner {
    display: grid;
    grid-template-columns: 88px 1fr;
    gap: 100px;
    margin-top: 160px;
    max-width: 990px;
    margin-left: auto;
    margin-right: auto;
  }
  @media (width <= 1024px) {
    .p-medical-checkup-premium-about__inner {
      gap: 40px;
      margin-top: 0;
      display: block;
    }
  }
  @media (width <= 768px) {
    .p-medical-checkup-premium-about__lead img {
      display: none;
    }
  }
  .p-medical-checkup-premium-about__text {
    display: none;
  }
  @media (width <= 768px) {
    .p-medical-checkup-premium-about__text {
      display: block;
      font-size: 1.5rem;
      font-family: "Noto Serif JP", serif;
      line-height: 1.5;
      margin-bottom: 40px;
    }
  }
  .p-medical-checkup-premium-about__figure {
    text-align: center;
    margin-top: 40px;
  }
  @media (width <= 768px) {
    .p-medical-checkup-premium-about__figure {
      max-width: 296px;
      margin-left: auto;
      margin-right: auto;
    }
  }
  .p-medical-checkup-premium-about__box {
    background-color: #f6f6f6;
    padding: 40px 60px;
    margin-top: 60px;
  }
  @media (width <= 768px) {
    .p-medical-checkup-premium-about__box {
      margin-top: 40px;
      padding: 40px 20px;
    }
  }
  .p-medical-checkup-premium-program {
    margin: 120px var(--outer) 0;
    padding: 0 var(--padding-side);
    background: url(../images/medical-checkup/premium/program_bg.svg) 100% 80px no-repeat;
  }
  @media (width <= 768px) {
    .p-medical-checkup-premium-program {
      margin-top: 60px;
      background-size: 100% auto;
      background-position: 0 0;
    }
  }
  .p-medical-checkup-premium-program__header {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  .p-medical-checkup-premium-program__body {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 60px;
  }
  @media (width <= 768px) {
    .p-medical-checkup-premium-program__body {
      margin-top: 40px;
    }
  }
  .p-medical-checkup-premium-suggest__body {
    text-align: center;
    margin-top: 40px;
  }
  .p-medical-checkup-premium-recommend {
    margin-top: 60px;
  }
  @media (width <= 768px) {
    .p-medical-checkup-premium-recommend {
      margin-top: 40px;
    }
  }
  .p-medical-checkup-premium-recommend__body {
    margin-top: 40px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
  }
  @media (width <= 1024px) {
    .p-medical-checkup-premium-recommend__body {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @media (width <= 768px) {
    .p-medical-checkup-premium-recommend__body {
      grid-template-columns: repeat(1, 1fr);
      gap: 20px;
      margin-top: 20px;
    }
  }
  .p-medical-checkup-premium-recommend__card-desc {
    background-color: #3e3727;
    color: #fff;
    padding: 16px;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.5;
  }
  .p-medical-checkup-premium-message {
    margin-top: 100px;
  }
  @media (width <= 768px) {
    .p-medical-checkup-premium-message {
      margin-top: 60px;
    }
  }
  .p-medical-checkup-premium-message__body {
    position: relative;
    margin-top: 60px;
    padding-top: 40px;
    padding-bottom: 40px;
  }
  @media (width <= 768px) {
    .p-medical-checkup-premium-message__body {
      margin-top: 20px;
      padding-top: 0;
      padding-bottom: 0;
    }
  }
  .p-medical-checkup-premium-message__photo {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    max-width: 830px;
  }
  @media (width <= 1024px) {
    .p-medical-checkup-premium-message__photo {
      position: static;
    }
  }
  .p-medical-checkup-premium-message__content {
    position: relative;
    z-index: 1;
    margin-left: auto;
    margin-right: 0;
    max-width: 640px;
    background-color: #f6f6f6;
    padding: 40px;
  }
  @media (width <= 1280px) {
    .p-medical-checkup-premium-message__content {
      max-width: 480px;
    }
  }
  @media (width <= 1024px) {
    .p-medical-checkup-premium-message__content {
      max-width: none;
    }
  }
  @media (width <= 768px) {
    .p-medical-checkup-premium-message__content {
      padding: 40px 20px;
    }
  }
  .p-medical-checkup-premium-message__history {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0 1em;
    line-height: 1.75;
  }
  .p-medical-checkup-premium-gallery {
    margin-top: 120px;
  }
  @media (width <= 768px) {
    .p-medical-checkup-premium-gallery {
      margin-top: 60px;
    }
  }
  .p-medical-checkup-premium-gallery__body {
    margin-top: 40px;
  }
  .p-medical-checkup-premium-gallery__photo {
    margin-right: var(--outer);
    margin-left: var(--outer);
  }
  .p-medical-checkup-premium-accordion {
    position: relative;
    margin-left: -40px;
    margin-right: -40px;
    margin-bottom: -40px;
    padding: 5px;
  }
  @media (width <= 1024px) {
    .p-medical-checkup-premium-accordion {
      margin: 0 -20px -20px;
    }
  }
  .p-medical-checkup-premium-accordion::after {
    content: "";
    position: absolute;
    inset: 4px;
    border: 1px solid #797261;
    pointer-events: none;
  }
  .p-medical-checkup-premium-accordion__header {
    position: relative;
    padding: 40px;
    width: 100%;
    background: none;
    border: none;
    text-align: left;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    z-index: 0;
  }
  .p-medical-checkup-premium-accordion__header::before {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    background: #f3ebd9;
    opacity: 0;
    z-index: -1;
    -webkit-transition: opacity 300ms ease;
    transition: opacity 300ms ease;
  }
  @media (any-hover: hover) {
    .p-medical-checkup-premium-accordion__header:hover::before {
      opacity: 1;
    }
  }
  @media (width <= 768px) {
    .p-medical-checkup-premium-accordion__header {
      padding: 24px;
    }
  }
  .p-medical-checkup-premium-accordion__header-label {
    font-size: 1.5rem;
    font-family: "Noto Serif JP", serif;
    -webkit-transition: color 300ms ease, border-color 300ms ease;
    transition: color 300ms ease, border-color 300ms ease;
    border-bottom: 1px solid transparent;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  @media (width <= 768px) {
    .p-medical-checkup-premium-accordion__header-label {
      font-size: 1.25rem;
    }
  }
  .p-medical-checkup-premium-accordion__header-icon {
    position: relative;
    width: 15px;
    height: 15px;
  }
  .p-medical-checkup-premium-accordion__header-icon::before, .p-medical-checkup-premium-accordion__header-icon::after {
    content: "";
    position: absolute;
    left: 7px;
    top: 50%;
    background-color: #333;
    width: 15px;
    height: 1px;
    translate: -7px 0;
    -webkit-transition: rotate 300ms ease;
    transition: rotate 300ms ease;
  }
  @media (width <= 768px) {
    .p-medical-checkup-premium-accordion__header-icon::before, .p-medical-checkup-premium-accordion__header-icon::after {
      width: 13px;
    }
  }
  .p-medical-checkup-premium-accordion__header-icon::before {
    rotate: 90deg;
  }
  .p-medical-checkup-premium-accordion__header-icon::after {
    rotate: 180deg;
  }
  .p-medical-checkup-premium-accordion__header.is-expanded .p-medical-checkup-premium-accordion__header-icon::before, .p-medical-checkup-premium-accordion__header.is-expanded .p-medical-checkup-premium-accordion__header-icon::after {
    rotate: 0deg;
  }
  .p-medical-checkup-premium-accordion__body {
    padding: 0 40px 40px;
  }
  @media (width <= 768px) {
    .p-medical-checkup-premium-accordion__body {
      padding: 0 20px 20px;
    }
  }
  .p-medical-checkup-premium-accordion__body-inner {
    padding-top: 40px;
    border-top: 1px solid #797261;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
  }
  @media (width <= 1024px) {
    .p-medical-checkup-premium-accordion__body-inner {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @media (width <= 768px) {
    .p-medical-checkup-premium-accordion__body-inner {
      grid-template-columns: repeat(1, 1fr);
    }
  }
  .p-medical-checkup-premium-option {
    margin-top: 100px;
  }
  @media (width <= 768px) {
    .p-medical-checkup-premium-option {
      margin-top: 80px;
    }
  }
  .p-medical-checkup-premium-option__body {
    margin-top: 24px;
  }
  @media (width <= 768px) {
    .p-medical-checkup-premium-option__body {
      margin-top: 20px;
    }
  }
  .p-medical-checkup-premium-option__data {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1em;
    padding-left: 24px;
  }
  .p-medical-checkup-premium-option__data::after {
    content: "";
    pointer-events: none;
    display: inline-block;
    width: 16px;
    height: 16px;
    background-color: currentColor;
    mask-image: url("/assets/icons/clock.svg");
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-image: url("/assets/icons/clock.svg");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    position: absolute;
    left: 0;
    top: 5px;
  }
  .p-medical-checkup-premium-option__table table {
    width: 100%;
    border-top: 1px solid #333;
    border-collapse: separate;
  }
  @media (width <= 768px) {
    .p-medical-checkup-premium-option__table table {
      min-width: 900px;
    }
  }
  .p-medical-checkup-premium-option__table th,
  .p-medical-checkup-premium-option__table td {
    padding: 20px;
    vertical-align: middle;
  }
  .p-medical-checkup-premium-option__table th:not(:first-child),
  .p-medical-checkup-premium-option__table td:not(:first-child) {
    border-left: 1px solid #333;
  }
  .p-medical-checkup-premium-option__table th {
    background-color: #f3ebd9;
  }
  .p-medical-checkup-premium-option__table td {
    border-bottom: 1px solid #333;
  }
  .p-medical-checkup-premium-option__footer {
    margin-top: 40px;
  }
  .p-medical-checkup-premium-relation {
    margin-top: 100px;
  }
  @media (width <= 768px) {
    .p-medical-checkup-premium-relation {
      margin-top: 60px;
    }
  }
  .p-medical-checkup-premium-relation__body {
    margin-top: 60px;
  }
  @media (width <= 768px) {
    .p-medical-checkup-premium-relation__body {
      margin-top: 20px;
    }
  }
}
@layer pages {
  .p-reserve-monshin-box {
    margin-top: 60px;
    border: 1px solid #3e3727;
  }
  @media (width <= 768px) {
    .p-reserve-monshin-box {
      margin-top: 40px;
    }
  }
  .p-reserve-monshin-box__header {
    background-color: #3e3727;
    color: #fff;
    padding: 20px;
  }
  @media (width <= 768px) {
    .p-reserve-monshin-box__header {
      padding: 16px;
    }
  }
  .p-reserve-monshin-box__mypage {
    background-color: #f6f6f6;
    padding: 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 80px;
  }
  @media (width <= 1024px) {
    .p-reserve-monshin-box__mypage {
      gap: 24px;
    }
  }
  @media (width <= 768px) {
    .p-reserve-monshin-box__mypage {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      padding: 20px;
      gap: 0;
    }
  }
  .p-reserve-monshin-box__qr {
    text-align: center;
  }
  @media (width <= 768px) {
    .p-reserve-monshin-box__qr {
      display: none;
    }
  }
  .p-reserve-monshin-box__body {
    padding: 40px;
  }
  @media (width <= 768px) {
    .p-reserve-monshin-box__body {
      padding: 20px;
    }
  }
  .p-reserve-monshin-media {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 40px;
  }
  @media (width <= 768px) {
    .p-reserve-monshin-media {
      gap: 24px;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
    }
  }
  .p-reserve-monshin-media:not(:first-child) {
    margin-top: 20px;
  }
  .p-reserve-monshin-media__header {
    -ms-flex-preferred-size: 340px;
    flex-basis: 340px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    text-align: center;
  }
  @media (width <= 1024px) {
    .p-reserve-monshin-media__header {
      -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
    }
  }
  @media (width <= 768px) {
    .p-reserve-monshin-media__header {
      -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
    }
  }
  .p-reserve-monshin-fill {
    background-color: #f3ebd9;
    padding: 20px;
  }
  @media (width <= 768px) {
    .p-reserve-monshin-fill {
      padding: 16px;
    }
  }
  .p-reserve-monshin-fill:not(:first-child) {
    margin-top: 20px;
  }
  .p-reserve-monshin-fill:not(:last-child) {
    margin-bottom: 20px;
  }
}
/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
@layer properties;
:root, :host {
  --color-gray-800: oklch(27.8% 0.033 256.848);
  --color-white: #fff;
  --spacing: 0.25rem;
  --text-xs: 0.75rem;
  --text-xs--line-height: calc(1 / 0.75);
  --text-sm: 0.875rem;
  --text-sm--line-height: calc(1.25 / 0.875);
  --text-xl: 1.25rem;
  --text-xl--line-height: calc(1.75 / 1.25);
  --font-weight-bold: 700;
  --radius-3xl: 1.5rem;
  --default-transition-duration: 150ms;
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.pointer-events-none {
  pointer-events: none;
}

.visible {
  visibility: visible;
}

.fixed {
  position: fixed;
}

.relative {
  position: relative;
}

.static {
  position: static;
}

.-top-10 {
  top: calc(var(--spacing) * -10);
}

.-top-15 {
  top: calc(var(--spacing) * -15);
}

.top-300 {
  top: calc(var(--spacing) * 300);
}

.top-380 {
  top: calc(var(--spacing) * 380);
}

.right-0 {
  right: calc(var(--spacing) * 0);
}

.bottom-6 {
  bottom: calc(var(--spacing) * 6);
}

.left-0 {
  left: calc(var(--spacing) * 0);
}

.left-1\/2 {
  left: 50%;
}

.z-0 {
  z-index: 0;
}

.z-50 {
  z-index: 50;
}

.container {
  width: 100%;
}
@media (width >= 40rem) {
  .container {
    max-width: 40rem;
  }
}
@media (width >= 48rem) {
  .container {
    max-width: 48rem;
  }
}
@media (width >= 64rem) {
  .container {
    max-width: 64rem;
  }
}
@media (width >= 80rem) {
  .container {
    max-width: 80rem;
  }
}
@media (width >= 96rem) {
  .container {
    max-width: 96rem;
  }
}

.mx-auto {
  margin-inline: auto;
}

.-mt-5 {
  margin-top: calc(var(--spacing) * -5);
}

.mt-0 {
  margin-top: calc(var(--spacing) * 0);
}

.mt-2 {
  margin-top: calc(var(--spacing) * 2);
}

.mt-5 {
  margin-top: calc(var(--spacing) * 5);
}

.mt-10 {
  margin-top: calc(var(--spacing) * 10);
}

.mt-15 {
  margin-top: calc(var(--spacing) * 15);
}

.mt-20 {
  margin-top: calc(var(--spacing) * 20);
}

.mt-30 {
  margin-top: calc(var(--spacing) * 30);
}

.mb-0 {
  margin-bottom: calc(var(--spacing) * 0);
}

.mb-2 {
  margin-bottom: calc(var(--spacing) * 2);
}

.mb-3 {
  margin-bottom: calc(var(--spacing) * 3);
}

.mb-4 {
  margin-bottom: calc(var(--spacing) * 4);
}

.mb-5 {
  margin-bottom: calc(var(--spacing) * 5);
}

.mb-6 {
  margin-bottom: calc(var(--spacing) * 6);
}

.mb-8 {
  margin-bottom: calc(var(--spacing) * 8);
}

.mb-10 {
  margin-bottom: calc(var(--spacing) * 10);
}

.mb-15 {
  margin-bottom: calc(var(--spacing) * 15);
}

.mb-20 {
  margin-bottom: calc(var(--spacing) * 20);
}

.mb-\[60px\] {
  margin-bottom: 60px;
}

.block {
  display: block;
}

.contents {
  display: contents;
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.grid {
  display: grid;
}

.hidden {
  display: none;
}

.inline {
  display: inline;
}

.inline-block {
  display: inline-block;
}

.w-1\/3 {
  width: 33.3333333333%;
}

.w-1\/4 {
  width: 25%;
}

.w-1\/5 {
  width: 20%;
}

.w-2\/4 {
  width: 50%;
}

.w-3\/20 {
  width: 15%;
}

.w-18 {
  width: calc(var(--spacing) * 18);
}

.w-\[33\%\] {
  width: 33%;
}

.w-\[43\%\] {
  width: 43%;
}

.max-w-87\.5 {
  max-width: calc(var(--spacing) * 87.5);
}

.max-w-210 {
  max-width: calc(var(--spacing) * 210);
}

.max-w-240 {
  max-width: calc(var(--spacing) * 240);
}

.max-w-\[460px\] {
  max-width: 460px;
}

.flex-1 {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.flex-shrink {
  -ms-flex-negative: 1;
  flex-shrink: 1;
}

.-translate-x-1\/2 {
  --tw-translate-x: calc(calc(1/2 * 100%) * -1);
  translate: var(--tw-translate-x) var(--tw-translate-y);
}

.transform {
  -webkit-transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
}

.resize {
  resize: both;
}

.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.flex-wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.justify-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.gap-0 {
  gap: calc(var(--spacing) * 0);
}

.gap-2 {
  gap: calc(var(--spacing) * 2);
}

.gap-5 {
  gap: calc(var(--spacing) * 5);
}

.gap-8 {
  gap: calc(var(--spacing) * 8);
}

.gap-10 {
  gap: calc(var(--spacing) * 10);
}

.gap-\[8px_40px\] {
  gap: 8px 40px;
}

.justify-self-start {
  justify-self: flex-start;
}

.rounded {
  border-radius: 0.25rem;
}

.rounded-3xl {
  border-radius: var(--radius-3xl);
}

.border {
  border-style: var(--tw-border-style);
  border-width: 1px;
}

.bg-\[\#d6b917\] {
  background-color: #d6b917;
}

.bg-gray-800 {
  background-color: var(--color-gray-800);
}

.p-5 {
  padding: calc(var(--spacing) * 5);
}

.p-10 {
  padding: calc(var(--spacing) * 10);
}

.p-\[40px\] {
  padding: 40px;
}

.px-2 {
  padding-inline: calc(var(--spacing) * 2);
}

.px-4 {
  padding-inline: calc(var(--spacing) * 4);
}

.py-1 {
  padding-block: calc(var(--spacing) * 1);
}

.py-2 {
  padding-block: calc(var(--spacing) * 2);
}

.py-15 {
  padding-block: calc(var(--spacing) * 15);
}

.pb-15 {
  padding-bottom: calc(var(--spacing) * 15);
}

.pb-30 {
  padding-bottom: calc(var(--spacing) * 30);
}

.text-center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.text-sm {
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
}

.text-xl {
  font-size: var(--text-xl);
  line-height: var(--tw-leading, var(--text-xl--line-height));
}

.text-xs {
  font-size: var(--text-xs);
  line-height: var(--tw-leading, var(--text-xs--line-height));
}

.font-bold {
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
}

.text-\[\#A24B4B\] {
  color: #A24B4B;
}

.text-white {
  color: var(--color-white);
}

.opacity-0 {
  opacity: 0%;
}

.opacity-100 {
  opacity: 100%;
}

.shadow {
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
  -webkit-box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}

.shadow-lg {
  --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
  -webkit-box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}

.filter {
  -webkit-filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
}

.transition {
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
  -webkit-transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  -webkit-transition-duration: var(--tw-duration, var(--default-transition-duration));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
}

.transition-opacity {
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  -webkit-transition-duration: var(--tw-duration, var(--default-transition-duration));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
}

.duration-300 {
  --tw-duration: 300ms;
  -webkit-transition-duration: 300ms;
  transition-duration: 300ms;
}

.backface-hidden {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

@media (width < 64rem) {
  .max-lg\:hidden {
    display: none;
  }
}

@media (width < 64rem) {
  .max-lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (width < 64rem) {
  .max-lg\:gap-4 {
    gap: calc(var(--spacing) * 4);
  }
}

@media (width < 64rem) {
  .max-lg\:gap-5 {
    gap: calc(var(--spacing) * 5);
  }
}

@media (width < 64rem) {
  .max-lg\:gap-6 {
    gap: calc(var(--spacing) * 6);
  }
}

@media (width < 48rem) {
  .max-md\:-top-5 {
    top: calc(var(--spacing) * -5);
  }
}

@media (width < 48rem) {
  .max-md\:top-250 {
    top: calc(var(--spacing) * 250);
  }
}

@media (width < 48rem) {
  .max-md\:top-360 {
    top: calc(var(--spacing) * 360);
  }
}

@media (width < 48rem) {
  .max-md\:-mx-5 {
    margin-inline: calc(var(--spacing) * -5);
  }
}

@media (width < 48rem) {
  .max-md\:mx-auto {
    margin-inline: auto;
  }
}

@media (width < 48rem) {
  .max-md\:mt-5 {
    margin-top: calc(var(--spacing) * 5);
  }
}

@media (width < 48rem) {
  .max-md\:mt-10 {
    margin-top: calc(var(--spacing) * 10);
  }
}

@media (width < 48rem) {
  .max-md\:mt-15 {
    margin-top: calc(var(--spacing) * 15);
  }
}

@media (width < 48rem) {
  .max-md\:mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }
}

@media (width < 48rem) {
  .max-md\:mb-5 {
    margin-bottom: calc(var(--spacing) * 5);
  }
}

@media (width < 48rem) {
  .max-md\:mb-10 {
    margin-bottom: calc(var(--spacing) * 10);
  }
}

@media (width < 48rem) {
  .max-md\:mb-\[40px\] {
    margin-bottom: 40px;
  }
}

@media (width < 48rem) {
  .max-md\:hidden {
    display: none;
  }
}

@media (width < 48rem) {
  .max-md\:size-full {
    width: 100%;
    height: 100%;
  }
}

@media (width < 48rem) {
  .max-md\:h-65 {
    height: calc(var(--spacing) * 65);
  }
}

@media (width < 48rem) {
  .max-md\:w-3\/4 {
    width: 75%;
  }
}

@media (width < 48rem) {
  .max-md\:w-74 {
    width: calc(var(--spacing) * 74);
  }
}

@media (width < 48rem) {
  .max-md\:w-auto {
    width: auto;
  }
}

@media (width < 48rem) {
  .max-md\:w-fit {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

@media (width < 48rem) {
  .max-md\:w-full {
    width: 100%;
  }
}

@media (width < 48rem) {
  .max-md\:grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}

@media (width < 48rem) {
  .max-md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (width < 48rem) {
  .max-md\:flex-col {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

@media (width < 48rem) {
  .max-md\:gap-2 {
    gap: calc(var(--spacing) * 2);
  }
}

@media (width < 48rem) {
  .max-md\:gap-5 {
    gap: calc(var(--spacing) * 5);
  }
}

@media (width < 48rem) {
  .max-md\:gap-8 {
    gap: calc(var(--spacing) * 8);
  }
}

@media (width < 48rem) {
  .max-md\:gap-10 {
    gap: calc(var(--spacing) * 10);
  }
}

@media (width < 48rem) {
  .max-md\:object-cover {
    -o-object-fit: cover;
    object-fit: cover;
  }
}

@media (width < 48rem) {
  .max-md\:object-\[center_20\%\] {
    -o-object-position: center 20%;
    object-position: center 20%;
  }
}

@media (width < 48rem) {
  .max-md\:p-5 {
    padding: calc(var(--spacing) * 5);
  }
}

@media (width < 48rem) {
  .max-md\:p-\[20px\] {
    padding: 20px;
  }
}

@media (width < 48rem) {
  .max-md\:pb-10 {
    padding-bottom: calc(var(--spacing) * 10);
  }
}

@media (width < 48rem) {
  .max-md\:pb-15 {
    padding-bottom: calc(var(--spacing) * 15);
  }
}

@media (width < 48rem) {
  .max-md\:text-left {
    text-align: left;
  }
}

@media (width >= 48rem) {
  .md\:mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }
}

@media (width >= 48rem) {
  .md\:mt-20 {
    margin-top: calc(var(--spacing) * 20);
  }
}

@media (width >= 48rem) {
  .md\:mt-30 {
    margin-top: calc(var(--spacing) * 30);
  }
}

@media (width >= 48rem) {
  .md\:hidden {
    display: none;
  }
}

@media (width >= 48rem) {
  .md\:text-center {
    text-align: center;
  }
}

@media (width >= 64rem) {
  .lg\:hidden {
    display: none;
  }
}

@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 rgba(0, 0, 0, 0);
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 rgba(0, 0, 0, 0);
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 rgba(0, 0, 0, 0);
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 rgba(0, 0, 0, 0);
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 rgba(0, 0, 0, 0);
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    ::-ms-backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-font-weight: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-duration: initial;
    }
    *, ::before, ::after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-font-weight: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-duration: initial;
    }
  }
}