@charset "UTF-8";
/* リキッドレイアウト対応 */
.u-desktop {
  display: block;
}
@media screen and (max-width: 767px) {
  .u-desktop {
    display: none;
  }
}

.u-mobile {
  display: none;
}
@media screen and (max-width: 767px) {
  .u-mobile {
    display: block;
  }
}

:root {
  --color-text: #585757;
  --color-base: #e8e5e3;
  --color-base-light: #eeeeee;
  --color-main: #c4b9ad;
  --color-main-light: #ded8d1;
  --color-main-dark: #92877b;
  --color-accent: #bba786;
  --color-white: #fff;
  --font-base: Zen Kaku Gothic New, sans-serif;
  --font-mincho: Shippori Mincho, serif;
  --inner-width: 1120px;
  --inner-wide-width: 1280px;
  --gutter: 20px;
}

html {
  font-size: 16px;
}
@media (max-width: 1120px) {
  html {
    font-size: 1.4285714286vw;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 16px;
  }
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}

/* pcの電話番号発信対応 */
a[href^="tel:"] {
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}

/* ホバー */
a,
button,
input[type=button],
input[type=submit] {
  text-decoration: none;
  color: inherit;
  transition: opacity 0.3s ease;
}

@media (any-hover: hover) {
  :where(a[href],
  button:not(:disabled),
  input[type=button]:not(:disabled),
  input[type=submit]:not(:disabled)):hover {
    opacity: 0.7;
  }
}
html {
  scrollbar-gutter: stable;
}
@media screen and (max-width: 767px) {
  html {
    scrollbar-gutter: auto;
  }
}

body.is-fixed {
  height: 100%;
  overflow: hidden !important;
}

body {
  background-color: #e8e5e3;
  background-color: var(--color-base);
  font-family: Zen Kaku Gothic New, sans-serif;
  font-family: var(--font-base);
  color: #585757;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  -moz-text-size-adjust: 100%;
   -ms-text-size-adjust: 100%;
       text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  counter-reset: number 0;
}

h1,
h2,
h3,
h4 {
  font: inherit;
}

.u-font-mincho {
  font-family: Shippori Mincho, serif;
  font-family: var(--font-mincho);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.6;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
  width: 100%;
  height: auto;
}

/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

button {
  padding: 0;
  color: inherit;
}

:where(a, button, input, select, textarea):focus-visible {
  outline: 2px solid #bba786;
  outline: 2px solid var(--color-accent);
  outline-offset: 3px;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

.c-block-editor-content {
  color: #585757;
  color: var(--color-text);
  font-size: 1rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
}
.c-block-editor-content > :first-child {
  margin-top: 0;
}
.c-block-editor-content > :last-child {
  margin-bottom: 0;
}
.c-block-editor-content p {
  margin: 0.875rem 0 0;
}
.c-block-editor-content a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.c-block-editor-content strong {
  background: url("../images/menu/detail/text-marker.svg") left bottom/100% 0.375rem no-repeat;
  box-decoration-break: clone;
  font-weight: 700;
  -webkit-box-decoration-break: clone;
}
.c-block-editor-content h2 {
  border-bottom: 1px solid rgba(196, 185, 173, .9);
  color: #585757;
  color: var(--color-text);
  font-size: 1.625rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 5rem 0 0;
  padding-bottom: 0.5rem;
  scroll-margin-top: 6.875rem;
}
.c-block-editor-content h3 {
  background: #92877b;
  background: var(--color-main-dark);
  color: #fff;
  color: var(--color-white);
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 2.5rem 0 0;
  padding: 0.25rem 0.5rem;
}
.c-block-editor-content h4 {
  border-left: 0.25rem solid rgba(88, 87, 87, .6);
  color: #585757;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 1.5rem 0 0;
  padding-left: 0.625rem;
}
.c-block-editor-content ul,
.c-block-editor-content ol {
  margin: 0.875rem 0 0;
}
.c-block-editor-content > ul {
  list-style: none;
  padding: 0;
}
.c-block-editor-content > ul > li {
  align-items: flex-start;
  display: flex;
  gap: 0.375rem;
  position: relative;
}
.c-block-editor-content > ul > li::before {
  background: url("../images/menu/detail/list-marker.svg") center/0.25rem 1.625rem no-repeat;
  content: "";
  flex: 0 0 0.25rem;
  height: 1.625rem;
  width: 0.25rem;
}
.c-block-editor-content > ul.is-style-alphabetical-marker {
  counter-reset: alphabetical-marker;
  letter-spacing: 0.06em;
  list-style: none;
  padding: 0;
}
.c-block-editor-content > ul.is-style-alphabetical-marker > li {
  counter-increment: alphabetical-marker;
  display: grid;
  gap: 0.125rem;
  grid-template-columns: 0.875rem minmax(0, 1fr);
  list-style: none;
}
.c-block-editor-content > ul.is-style-alphabetical-marker > li::before {
  background: none;
  content: counter(alphabetical-marker, lower-alpha) ".";
  flex: initial;
  height: auto;
  white-space: nowrap;
  width: auto;
}
.c-block-editor-content > ul.is-style-alphabetical-marker > li + li {
  margin-top: 0;
}
.c-block-editor-content > ol {
  counter-reset: menu-detail-ordered-list;
  list-style: none;
  padding: 0;
}
.c-block-editor-content > ol > li {
  counter-increment: menu-detail-ordered-list;
  display: grid;
  gap: 0.125rem;
  grid-template-columns: 0.875rem minmax(0, 1fr);
}
.c-block-editor-content > ol > li::before {
  content: counter(menu-detail-ordered-list) ".";
  letter-spacing: 0.06em;
}
.c-block-editor-content > ul > li + li,
.c-block-editor-content > ol > li + li {
  margin-top: 0.25rem;
}
.c-block-editor-content .wp-block-gallery,
.c-block-editor-content .wp-block-quote,
.c-block-editor-content .wp-block-columns,
.c-block-editor-content .wp-block-separator {
  margin: 1.875rem 0 0;
}
.c-block-editor-content .wp-block-image {
  margin: 3.75rem 0 0;
}
.c-block-editor-content .wp-block-image img {
  border-radius: 0.25rem;
  height: auto;
}
.c-block-editor-content .wp-block-image figcaption {
  color: rgba(88, 87, 87, .6);
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0.5rem 0 0;
  text-align: left;
}
.c-block-editor-content .wp-block-gallery {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 1.5rem;
}
.c-block-editor-content .wp-block-gallery .wp-block-image {
  margin: 0;
}
.c-block-editor-content .wp-block-gallery .wp-block-image img {
  aspect-ratio: 3/2;
  border-radius: 0.25rem;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.c-block-editor-content .wp-block-gallery .wp-block-image figcaption {
  color: #585757;
  color: var(--color-text);
  font-size: 1rem;
  margin-top: 0.625rem;
}
.c-block-editor-content .wp-block-quote {
  border-left-color: #c4b9ad;
  border-left-color: var(--color-main);
  margin-left: 0;
  padding-left: 1.25rem;
}
.c-block-editor-content .wp-block-separator {
  border-color: rgba(88, 87, 87, .4);
}
.c-block-editor-content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table {
  margin: 1.5rem 0 0;
}
.c-block-editor-content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table {
  border: 0;
  border-collapse: collapse;
  color: #585757;
  color: var(--color-text);
  font-size: 1rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  width: 100%;
}
.c-block-editor-content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr th,
.c-block-editor-content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr td {
  border: 0;
  border-bottom: 1px solid rgba(88, 87, 87, .4);
  padding: 0.75rem 0.625rem;
  vertical-align: top;
}
.c-block-editor-content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr th {
  font-weight: 400;
}
.c-block-editor-content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table > :last-child > tr:last-child > * {
  border-bottom: 0;
}
@media screen and (max-width: 767px) {
  .c-block-editor-content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table {
    font-size: 0.875rem;
  }
  .c-block-editor-content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr th,
  .c-block-editor-content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr td {
    padding: 0.625rem 0.5rem;
  }
}
.c-block-editor-content .wp-block-button__link {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: #92877b;
  color: var(--color-main-dark);
  display: inline-flex;
  gap: 1.25rem;
  font-size: 1rem;
  letter-spacing: 0.06em;
  line-height: 1;
  min-height: 3.125rem;
  padding: 0;
  position: relative;
  padding-right: 4.375rem;
  text-decoration: none;
}
.c-block-editor-content .wp-block-button__link::before, .c-block-editor-content .wp-block-button__link::after {
  border: 1px solid transparent;
  border-radius: 50%;
  content: "";
  height: 3.125rem;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 3.125rem;
}
.c-block-editor-content .wp-block-button__link::before {
  background: url("../images/common/icon-arrow-right-main.svg") center/0.75rem 0.75rem no-repeat;
  border-color: rgba(146, 135, 123, .6);
}
.c-block-editor-content .wp-block-button__link::after {
  clip-path: polygon(100% 0%, 100% 0%, 0 100%, 0 100%);
  opacity: 0;
  transition: border-color 0.5s ease-in, clip-path 0.8s cubic-bezier(0, 0.64, 0.37, 0.98), opacity 0.5s ease-in;
}
@media (any-hover: hover) {
  .c-block-editor-content .wp-block-button__link:hover::after {
    border-color: #92877b;
    border-color: var(--color-main-dark);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    opacity: 1;
    transition: border-color 0.3s ease-in, clip-path 0.6s cubic-bezier(0, 0.64, 0.37, 0.98), opacity 0.3s ease-in;
    will-change: border-color, clip-path;
  }
}
.c-block-editor-content .wp-block-buttons {
  margin: 1.875rem 0 0;
}
.c-block-editor-content .wp-block-buttons .wp-block-button {
  margin: 0;
}
.c-block-editor-content .wp-block-columns > .wp-block-column > :first-child {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .c-block-editor-content {
    font-size: 1rem;
  }
  .c-block-editor-content h2 {
    font-size: 1.375rem;
    margin-top: 3.125rem;
    padding-bottom: 0.375rem;
    scroll-margin-top: 5rem;
  }
  .c-block-editor-content h3 {
    font-size: 1.125rem;
    margin-top: 1.875rem;
    padding: 0.125rem 0.5rem;
  }
  .c-block-editor-content h4 {
    font-size: 1rem;
    margin-top: 1.5rem;
  }
  .c-block-editor-content .wp-block-columns {
    gap: 1.25rem;
  }
  .c-block-editor-content .wp-block-gallery {
    gap: 1.25rem;
    grid-template-columns: 1fr;
  }
  .c-block-editor-content .wp-block-image {
    margin-top: 1.875rem;
  }
  .c-block-editor-content .wp-block-image figcaption {
    font-size: 0.875rem;
  }
  .c-block-editor-content .wp-block-buttons {
    margin-top: 1.25rem;
  }
}

.c-breadcrumb {
  background-attachment: fixed;
  background-blend-mode: multiply;
  background-color: #e8e5e3;
  background-color: var(--color-base);
  background-image: url("../images/common/noise-bg.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 0.875rem 5rem;
}
@media screen and (max-width: 1023px) {
  .c-breadcrumb {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: clamp(1080px, 140.625vw, 1440px) auto;
  }
}
@media screen and (max-width: 767px) {
  .c-breadcrumb {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: 67.5rem auto;
    padding: 0.875rem 1.25rem;
  }
}

.c-breadcrumb__lists {
  align-items: center;
  display: flex;
  gap: 0.5rem;
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
}

.c-breadcrumb__item {
  align-items: center;
  display: flex;
  gap: 0.5rem;
}
@media (any-hover: hover) {
  .c-breadcrumb__item a:hover {
    opacity: 0.5;
  }
}
.c-breadcrumb__item a span {
  text-decoration: none;
}
.c-breadcrumb__item span {
  color: #585757;
  color: var(--color-text);
  display: block;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1;
}
.c-breadcrumb__item:not(:last-child)::after {
  background: url("../images/common/breadcrumb-arrow-muted.svg") center/contain no-repeat;
  content: "";
  flex: 0 0 0.375rem;
  height: 0.75rem;
  width: 0.375rem;
}
.c-breadcrumb__item:not(:last-child) span {
  color: rgba(88, 87, 87, .6);
}
.c-breadcrumb__item:not(:first-child):not(:last-child)::before {
  display: none;
}
.c-breadcrumb__item:not(:first-child):not(:last-child)::after {
  background-image: url("../images/common/breadcrumb-arrow.svg");
}

.c-button {
  align-items: center;
  color: #92877b;
  color: var(--color-main-dark);
  display: inline-flex;
  gap: 1.25rem;
  text-decoration: none;
}

.c-button--light {
  color: #fff;
  color: var(--color-white);
}

.c-button__label {
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1;
}

.c-button__icon {
  align-items: center;
  border: 1px solid rgba(146, 135, 123, .6);
  border-radius: 50%;
  display: flex;
  flex: 0 0 auto;
  height: 3.125rem;
  justify-content: center;
  position: relative;
  width: 3.125rem;
}

.c-button--light .c-button__icon {
  border-color: rgba(255, 255, 255, .6);
}

.c-button__icon img {
  height: 0.75rem;
  position: relative;
  z-index: 1;
  width: 0.75rem;
}

.c-button__icon::after {
  border: 1px solid transparent;
  border-radius: inherit;
  clip-path: polygon(100% 0%, 100% 0%, 0 100%, 0 100%);
  content: "";
  inset: -0.0625rem;
  opacity: 0;
  position: absolute;
  transition: border-color 0.5s ease-in, clip-path 0.8s cubic-bezier(0, 0.64, 0.37, 0.98), opacity 0.5s ease-in;
}

.c-button:focus-visible {
  outline: 2px solid #bba786;
  outline: 2px solid var(--color-accent);
  outline-offset: 0.25rem;
}

@media (any-hover: hover) {
  .c-button:hover {
    opacity: 1;
  }
}
@media (any-hover: hover) {
  .c-button:hover .c-button__icon::after {
    border-color: #92877b;
    border-color: var(--color-main-dark);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    opacity: 1;
    transition: border-color 0.3s ease-in, clip-path 0.6s cubic-bezier(0, 0.64, 0.37, 0.98), opacity 0.3s ease-in;
    will-change: border-color, clip-path;
  }
}

@media (any-hover: hover) {
  .c-button--light:hover .c-button__icon::after {
    border-color: #fff;
    border-color: var(--color-white);
  }
}

.c-empty-state {
  align-items: center;
  display: flex;
  justify-content: center;
}

.c-empty-state__text {
  color: #92877b;
  color: var(--color-main-dark);
  font-family: Shippori Mincho, serif;
  font-family: var(--font-mincho);
  font-size: 2rem;
  letter-spacing: 0.08em;
  line-height: 1;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .c-empty-state__text {
    font-size: 1.75rem;
  }
}

/* ハンバーガーボタン
------------------------------------------------ */
.c-hamburger {
  display: none;
}
@media screen and (max-width: 767px) {
  .c-hamburger {
    display: block;
    width: 2.1875rem;
    height: 1.875rem;
    border-radius: 50%;
    padding: 0 0;
    position: fixed;
    top: 1.5625rem;
    right: 1.5625rem;
    z-index: 21;
  }
}

.c-hamburger span {
  position: relative;
  display: block;
  height: 0.125rem;
  width: 100%;
  background-color: #2486dd;
  transition: 0.3s ease-in-out;
}
.c-hamburger span:nth-child(1) {
  top: 0;
}

.c-hamburger span:nth-child(2) {
  margin: 0.5rem 0;
}
@media screen and (max-width: 767px) {
  .c-hamburger span:nth-child(2) {
    margin: 0.4375rem 0;
  }
}

.c-hamburger span:nth-child(3) {
  top: 0;
}

.c-hamburger.open span:nth-child(1) {
  top: 0.5625rem;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .c-hamburger.open span:nth-child(1) {
    top: 0.5rem;
  }
}

.c-hamburger.open span:nth-child(2) {
  background-color: transparent;
  box-shadow: none;
}

.c-hamburger.open span:nth-child(3) {
  top: -0.625rem;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.c-map-external-link {
  align-items: center;
  color: #585757;
  color: var(--color-text);
  display: inline-flex;
  font-size: 1rem;
  gap: 0.375rem;
  letter-spacing: 0.04em;
  line-height: 1;
  text-decoration: underline;
  text-underline-offset: 0.1em;
  text-decoration-thickness: 1px;
}

.c-map-external-link img {
  display: block;
  flex: 0 0 1rem;
  height: 1rem;
  width: 1rem;
  margin-top: 0.125rem;
}

/* アーカイブページのページ送り */
.c-pagenation .nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
  width: -webkit-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding-inline: 5.375rem;
  position: relative;
}
.c-pagenation .nav-links a {
  transition: opacity 0.3s ease;
}
@media (any-hover: hover) {
  .c-pagenation .nav-links a:hover {
    opacity: 0.5;
  }
}
.c-pagenation .page-numbers {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.8;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1.875rem;
  height: 1.875rem;
}
.c-pagenation .page-numbers.current {
  border-color: currentColor;
}
.c-pagenation .page-numbers.dots {
  margin-inline: 0.75rem;
  padding-bottom: 0.4375rem;
  border: 0;
}
.c-pagenation .page-numbers.prev, .c-pagenation .page-numbers.next {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  border: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.8;
}
.c-pagenation .page-numbers.prev {
  left: 0;
}
.c-pagenation .page-numbers.prev::before {
  content: "";
  display: block;
  width: 0.9375rem;
  height: 0.3125rem;
  -webkit-mask: url(../images/icon_arrow.svg) no-repeat center/contain;
          mask: url(../images/icon_arrow.svg) no-repeat center/contain;
  background-color: currentColor;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
  flex-shrink: 0;
}
.c-pagenation .page-numbers.next {
  right: 0;
}
.c-pagenation .page-numbers.next::after {
  content: "";
  display: block;
  width: 0.9375rem;
  height: 0.3125rem;
  -webkit-mask: url(../images/icon_arrow.svg) no-repeat center/contain;
          mask: url(../images/icon_arrow.svg) no-repeat center/contain;
  background-color: currentColor;
  flex-shrink: 0;
}

/* アーカイブ一覧のページ送り */
.c-pagination {
  align-items: center;
  display: flex;
  gap: 0.875rem;
  justify-content: center;
  margin-top: 3.125rem;
}
.c-pagination .page-numbers {
  align-items: center;
  color: rgba(88, 87, 87, .4);
  display: flex;
  font-size: 0.875rem;
  height: 2.5rem;
  justify-content: center;
  letter-spacing: 0.08em;
  line-height: 1;
  min-width: 0.625rem;
  text-decoration: none;
}
.c-pagination .page-numbers.current {
  color: #585757;
  color: var(--color-text);
}
.c-pagination .page-numbers.dots {
  gap: 0.875rem;
  min-width: auto;
}
.c-pagination .page-numbers.prev,
.c-pagination .page-numbers.next {
  border: 1px solid rgba(88, 87, 87, .4);
  border-radius: 50%;
  position: relative;
  transition: border-color 0.5s ease;
  width: 2.5rem;
}
.c-pagination .page-numbers.prev {
  margin-right: 2.25rem;
}
.c-pagination .page-numbers.next {
  margin-left: 2.25rem;
}
.c-pagination .page-numbers.prev::after,
.c-pagination .page-numbers.next::after {
  background: url("../images/campaign/pagination-arrow.svg") center/contain no-repeat;
  content: "";
  height: 0.75rem;
  position: absolute;
  width: 0.75rem;
}
.c-pagination .page-numbers.prev::after {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
@media (any-hover: hover) {
  .c-pagination .page-numbers.prev:hover,
  .c-pagination .page-numbers.next:hover {
    border-color: #585757;
    border-color: var(--color-text);
    opacity: 1;
  }
}

.c-pagination__spacer {
  display: block;
  flex: 0 0 4.75rem;
  height: 2.5rem;
}

.c-pagination__dot {
  background-color: rgba(88, 87, 87, .4);
  border-radius: 50%;
  display: block;
  flex: 0 0 2px;
  height: 2px;
  width: 2px;
}

.c-section-heading {
  align-items: center;
  color: #92877b;
  color: var(--color-main-dark);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  gap: var(--section-heading-gap, 0.5rem);
  text-align: center;
}

.c-section-heading--light {
  color: #fff;
  color: var(--color-white);
}

.c-section-heading__title {
  align-items: center;
  display: inline-flex;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1;
  margin: 0;
  white-space: nowrap;
  gap: 0.625rem;
}

.c-section-heading__bracket,
.c-section-heading__text {
  display: block;
}

.c-section-heading__english {
  display: block;
  line-height: 1;
  margin: 0;
}

.c-section-heading__english img {
  display: block;
  height: auto;
  max-width: calc(100vw - 2.5rem);
  width: auto;
}

.c-single-pagenation {
  display: flex;
  align-items: center;
  justify-content: center;
  width: -webkit-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding-inline: 5.375rem;
  position: relative;
  margin-top: 5rem;
}

.c-single-pagenation__prev a,
.c-single-pagenation__next a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  border: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.8;
  transition: opacity 0.3s ease;
}
@media (any-hover: hover) {
  .c-single-pagenation__prev a:hover,
  .c-single-pagenation__next a:hover {
    opacity: 0.5;
  }
}

.c-single-pagenation__prev a {
  left: 0;
}
.c-single-pagenation__prev a::before {
  content: "";
  display: block;
  width: 0.9375rem;
  height: 0.3125rem;
  -webkit-mask: url(../images/icon_arrow.svg) no-repeat center/contain;
          mask: url(../images/icon_arrow.svg) no-repeat center/contain;
  background-color: currentColor;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
  flex-shrink: 0;
}

.c-single-pagenation__next a {
  right: 0;
}
.c-single-pagenation__next a::after {
  content: "";
  display: block;
  width: 0.9375rem;
  height: 0.3125rem;
  -webkit-mask: url(../images/icon_arrow.svg) no-repeat center/contain;
          mask: url(../images/icon_arrow.svg) no-repeat center/contain;
  background-color: currentColor;
  flex-shrink: 0;
}

.c-single-pagenation__back a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.8;
  text-align: center;
  transition: opacity 0.3s ease;
}
.c-single-pagenation__back a::before {
  content: "(";
  display: block;
}
.c-single-pagenation__back a::after {
  content: ")";
  display: block;
}
@media (any-hover: hover) {
  .c-single-pagenation__back a:hover {
    opacity: 0.5;
  }
}
.c-single-pagenation__back span {
  text-decoration: underline;
}

.l-inner {
  width: min(100% - 40px, 1120px);
  width: min(100% - 40px, var(--inner-width));
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-inner {
    width: min(100% - 40px, 1120px);
    width: min(100% - 40px, var(--inner-width));
  }
}

/* -----------------------------------------------------------------
  swiper カスタマイズ
----------------------------------------------------------------- */
:root {
  --swiper-pagination-bullet-horizontal-gap: 0px;
}

/* スライドの動き等速 */
/* 前ページ、次ページボタン共通のスタイル */
.p-about-page {
  background-attachment: fixed;
  background-blend-mode: multiply;
  background-color: #e8e5e3;
  background-color: var(--color-base);
  background-image: url("../images/common/noise-bg.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #585757;
  color: var(--color-text);
}
@media screen and (max-width: 1023px) {
  .p-about-page {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: clamp(1080px, 140.625vw, 1440px) auto;
  }
}
@media screen and (max-width: 767px) {
  .p-about-page {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: 67.5rem auto;
  }
}

.p-about-page__hero {
  height: clamp(32.5rem, 39.22vw - 2.9375rem, 59.8125rem);
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-about-page__hero {
    height: max(25.5625rem, 50.84vw + 11.9375rem);
  }
}

.p-about-page__hero-line {
  left: 50%;
  max-width: none;
  position: absolute;
  top: -1.75rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: clamp(108.5rem, 120vw, 192rem);
}
@media screen and (max-width: 767px) {
  .p-about-page__hero-line {
    top: 9.4375rem;
    width: 100%;
  }
}

.p-about-page__hero-line img {
  display: block;
  height: auto;
  width: 100%;
}

.p-about-page__hero-heading {
  align-items: center;
  color: #92877b;
  color: var(--color-main-dark);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  left: 0;
  position: absolute;
  right: 0;
  top: clamp(19.1875rem, 23.22vw - 1.75rem, 35.375rem);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-about-page__hero-heading {
    left: 1.25rem;
    right: 1.25rem;
    top: max(15rem, 25.42vw + 8.1875rem);
  }
}

.p-about-page__hero-label {
  align-items: center;
  display: flex;
  font-size: 0.875rem;
  gap: 0.5rem;
  letter-spacing: 0.06em;
  line-height: 1;
  margin: 0;
}

.p-about-page__hero-label h1 {
  font: inherit;
  font-size: 0.9375rem;
  margin: 0;
}

.p-about-page__hero-english picture,
.p-about-page__hero-english img {
  display: block;
}

.p-about-page__hero-english img {
  height: 5.625rem;
  width: 18.3125rem;
}
@media screen and (max-width: 767px) {
  .p-about-page__hero-english img {
    height: 4.125rem;
    width: 12.25rem;
  }
}

.p-about-page__nav {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 70rem;
  padding: 8.75rem 0 1.25rem;
  width: calc(100% - 5rem);
}
@media screen and (max-width: 1023px) {
  .p-about-page__nav {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-about-page__nav {
    align-items: flex-start;
    flex-direction: column;
    gap: 1.25rem;
    margin: 0;
    padding: 5rem 1.25rem 1.25rem;
  }
}

.p-about-page__nav a {
  align-items: center;
  color: #92877b;
  color: var(--color-main-dark);
  display: flex;
  font-size: 1rem;
  font-weight: 500;
  gap: 1.25rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  white-space: nowrap;
}
@media screen and (max-width: 1023px) {
  .p-about-page__nav a {
    gap: 0.625rem;
  }
}
@media screen and (max-width: 767px) {
  .p-about-page__nav a {
    font-size: 1rem;
    gap: 0.875rem;
  }
}

.p-about-page__nav picture {
  display: block;
  flex: 0 0 auto;
  height: 3.125rem;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  width: 3.125rem;
}
@media screen and (max-width: 1023px) {
  .p-about-page__nav picture {
    height: 2.25rem;
    width: 2.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-about-page__nav picture {
    height: 2.5rem;
    width: 2.5rem;
  }
}

.p-about-page__nav picture img {
  display: block;
  height: 100%;
  width: 100%;
}

.p-about-concept {
  color: #fff;
  color: var(--color-white);
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-about-concept {
    min-height: 72.625rem;
  }
}

.p-about-concept__background {
  height: 100%;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}
@media screen and (min-width: 1440px) {
  .p-about-concept__background {
    -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 clamp(0rem, 50vw - 45rem, 16rem));
    mask-image: linear-gradient(to bottom, transparent 0, #000 clamp(0rem, 50vw - 45rem, 16rem));
  }
}

.p-about-concept__inner {
  margin: 0 auto;
  max-width: 46.875rem;
  padding: 10rem 0 8.75rem;
  position: relative;
  text-align: center;
  z-index: 1;
}
@media screen and (max-width: 1023px) {
  .p-about-concept__inner {
    max-width: min(46.875rem, 100% - 5rem);
  }
}
@media screen and (max-width: 767px) {
  .p-about-concept__inner {
    max-width: none;
    padding: 5rem 1.25rem;
    text-align: left;
  }
}

.p-about-concept__english {
  align-items: center;
  display: flex;
  height: 1.25rem;
  justify-content: center;
  margin: 0 0 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-about-concept__english {
    justify-content: flex-start;
    margin-bottom: 1.875rem;
  }
}

.p-about-concept__english img {
  display: block;
  height: 1.25rem;
  width: 4.625rem;
}

.p-about-concept h2 {
  font-family: "Shippori Mincho", serif;
  font-size: 2.25rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0 0 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-about-concept h2 {
    font-size: 1.875rem;
    margin-bottom: 1.25rem;
  }
}

@media screen and (max-width: 767px) {
  .p-about-concept__quote--open {
    margin-left: -0.5em;
  }
}

@media screen and (max-width: 767px) {
  .p-about-concept__quote--close {
    margin-right: -0.5em;
  }
}

.p-about-concept__copy {
  display: flex;
  flex-direction: column;
  font-size: 1.125rem;
  gap: 1.5rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-about-concept__copy {
    font-size: 1rem;
    gap: 1.25rem;
  }
}

.p-about-concept__copy p {
  margin: 0;
}

.p-about-concept.is-motion-ready .p-about-concept__character {
  opacity: 0.18;
  opacity: var(--about-concept-text-opacity, 0.18);
  transition: opacity 0.8s ease;
}
@media (prefers-reduced-motion: reduce) {
  .p-about-concept.is-motion-ready .p-about-concept__character {
    opacity: 1;
  }
}

.p-about-doctor {
  margin: 0 auto;
  max-width: 90rem;
  padding: 8.75rem 2.5rem 10rem;
}
@media screen and (max-width: 767px) {
  .p-about-doctor {
    padding: 5rem 1.25rem;
  }
}

.p-about-page__index {
  color: #92877b;
  color: var(--color-main-dark);
  font-size: 1.875rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1;
  margin: 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-about-page__index {
    font-size: 1.625rem;
    line-height: 1;
  }
}

.p-about-doctor__list {
  display: flex;
  flex-direction: column;
  gap: 8.75rem;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-about-doctor__list {
    gap: 3.75rem;
    margin-top: 3.75rem;
  }
}

.p-about-doctor__item {
  display: grid;
  gap: clamp(2.5rem, 5.56vw, 5rem);
  grid-template-columns: minmax(17.5rem, 27.5rem) minmax(0, 37.5rem);
  justify-content: center;
  margin: 0 auto;
  max-width: 70rem;
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .p-about-doctor__item {
    gap: 2rem;
    grid-template-columns: minmax(16.25rem, 40%) minmax(20rem, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .p-about-doctor__item {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
  }
}

.p-about-doctor__profile {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-about-doctor__profile {
    gap: 0.875rem;
  }
}

.p-about-doctor__image {
  aspect-ratio: 1;
  margin: 0;
  width: 100%;
}

.p-about-doctor__image img {
  border-radius: 0.25rem;
  display: block;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
  width: 100%;
}

.p-about-doctor__meta {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-about-doctor__meta {
    gap: 1rem;
  }
}

.p-about-doctor__name {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-about-doctor__name {
    gap: 0.625rem;
  }
}

.p-about-doctor__name p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.04em;
  line-height: 1;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-about-doctor__name p {
    font-size: 0.875rem;
  }
}

.p-about-doctor__name h3 {
  align-items: flex-end;
  display: flex;
  font-size: 1.75rem;
  font-weight: 500;
  gap: 1.25rem;
  letter-spacing: 0.04em;
  line-height: 1;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-about-doctor__name h3 {
    font-size: 1.5rem;
  }
}

.p-about-doctor__name-en {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1;
}

.p-about-doctor__sns {
  display: flex;
  gap: 1.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-about-doctor__sns a {
  align-items: center;
  display: flex;
  height: 1.25rem;
  justify-content: center;
  transition: opacity 0.3s ease;
  width: 1.25rem;
}

.p-about-doctor__sns a:hover {
  opacity: 0.7;
}

.p-about-doctor__sns img {
  display: block;
  height: auto;
  max-width: 100%;
  width: 100%;
}

.p-about-doctor__body {
  display: flex;
  flex-direction: column;
  gap: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-about-doctor__body {
    gap: 1.5rem;
  }
}

.p-about-doctor__intro {
  display: flex;
  flex-direction: column;
  font-size: 1rem;
  gap: 0.875rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

.p-about-doctor__intro p {
  margin: 0;
}

.p-about-doctor__career {
  border: 1px solid rgba(88, 87, 87, .4);
  border-radius: 0.375rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin: 0;
  padding: 1rem 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-about-doctor__career {
    gap: 0.875rem;
    padding: 0.875rem;
  }
}

.p-about-doctor__career div {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.p-about-doctor__career dt {
  color: #92877b;
  color: var(--color-main-dark);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1;
}

.p-about-doctor__career dd {
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0;
}

.p-about-doctor__career ul {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-about-doctor__empty {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-about-doctor__empty {
    margin-top: 3.75rem;
  }
}

.p-about-policy {
  background: #ded8d1;
  background: var(--color-main-light);
  box-sizing: border-box;
  min-height: 62.5rem;
  overflow: hidden;
  padding: 8.75rem max((100% - 80rem) / 2, 2.5rem) 10rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-about-policy {
    min-height: 132.875rem;
    padding: 5rem 1.25rem;
  }
}

.p-about-policy__background {
  display: block;
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.p-about-policy__background img {
  display: block;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
  width: 100%;
}

.p-about-policy__heading {
  align-items: center;
  display: flex;
  gap: 0.875rem;
  justify-content: center;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-about-policy__heading {
    line-height: 1.2;
  }
}

.p-about-policy__heading-text {
  white-space: nowrap;
}

.p-about-policy__list {
  display: grid;
  gap: clamp(1.5rem, 4.028vw, 3.625rem);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: 5rem auto 0;
  max-width: 80rem;
  padding: 0;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-about-policy__list {
    display: flex;
    flex-direction: column;
    gap: 3.125rem;
    margin-top: 3.75rem;
  }
}

.p-about-policy__item {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.p-about-policy__image {
  padding-top: 0.25rem;
  position: relative;
}

.p-about-policy__image > img:not(.p-about-policy__badge) {
  aspect-ratio: 1;
  border-radius: 0.25rem;
  display: block;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
  width: 100%;
}

.p-about-policy__badge {
  align-items: center;
  background: #bba786;
  background: var(--color-accent);
  border-radius: 0.25rem 0.25rem 6.25rem 6.25rem;
  box-shadow: 0.125rem 0.125rem 0.3125rem rgba(88, 75, 64, .24);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  height: 5rem;
  justify-content: center;
  left: 0.875rem;
  pointer-events: none;
  position: absolute;
  text-align: center;
  top: 0;
  padding: 0.625rem;
  white-space: nowrap;
  width: 5rem;
}

.p-about-policy__badge-label,
.p-about-policy__badge-number {
  align-items: center;
  display: block;
  flex: 0 0 auto;
  justify-content: center;
}

.p-about-policy__badge-label {
  display: flex;
  height: 0.875rem;
  width: 3rem;
}

.p-about-policy__badge-number {
  display: flex;
  height: 2.125rem;
  width: 2.375rem;
}

.p-about-policy__badge-label img {
  height: 0.625rem;
  width: 2.875rem;
}

.p-about-policy__badge-number img {
  height: 1.5rem;
  width: auto;
}

.p-about-policy__content {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.p-about-policy h3 {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0;
}

.p-about-policy__description {
  font-size: 1rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

.p-about-policy__description p {
  margin: 0;
}

.p-about-information {
  display: flex;
  flex-direction: column;
  gap: 6.25rem;
  overflow: hidden;
  padding: 8.75rem 0 11.25rem;
}
@media screen and (max-width: 767px) {
  .p-about-information {
    padding: 5rem 0 7.5rem;
  }
}

.p-about-information__box {
  background: #eeeeee;
  background: var(--color-base-light);
  border-radius: 1.25rem;
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 80rem;
  padding: 5rem clamp(2.5rem, 5.556vw, 5rem) 6.25rem;
  width: calc(100% - 11.112vw);
}
@media screen and (max-width: 767px) {
  .p-about-information__box {
    padding: 3.125rem 1.25rem 3.75rem;
    width: calc(100% - 2.5rem);
  }
}

.p-about-information__list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin: 5rem auto 0;
  max-width: 37.5rem;
}
@media screen and (max-width: 767px) {
  .p-about-information__list {
    gap: 0.875rem;
    margin-top: 3.125rem;
  }
}

.p-about-information__item {
  border-bottom: 1px solid rgba(88, 87, 87, .4);
  display: grid;
  gap: 5rem;
  grid-template-columns: 6.25rem minmax(0, 1fr);
  padding-bottom: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-about-information__item {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    padding-bottom: 0.875rem;
  }
}

.p-about-information__item dt,
.p-about-information__item dd {
  font-size: 1rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0;
}

.p-about-information__item dt {
  font-weight: 500;
}

.p-about-information__item dd {
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}

.p-about-information__item dd a {
  color: inherit;
}

.p-about-information__slider {
  height: 16.6875rem;
  margin: 0 auto;
  max-width: 160rem;
  overflow: hidden;
  position: relative;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-about-information__slider {
    height: 12.5rem;
  }
}

.p-about-information__slider .swiper-wrapper {
  align-items: center;
}

.p-about-information__slider .p-about-information__slide {
  flex-shrink: 0;
  height: 12.5rem;
  position: relative;
  width: 18.75rem;
}
@media screen and (max-width: 767px) {
  .p-about-information__slider .p-about-information__slide {
    height: 10rem;
    width: 15rem;
  }
}

.p-about-information__slider .p-about-information__slide.swiper-slide-active {
  height: 16.6875rem;
  width: 25rem;
}
@media screen and (max-width: 767px) {
  .p-about-information__slider .p-about-information__slide.swiper-slide-active {
    height: 12.5rem;
    width: 18.75rem;
  }
}

.p-about-information__image {
  border-radius: 0.25rem;
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="2" /></filter></svg>#filter');
  -webkit-filter: blur(0.125rem);
          filter: blur(0.125rem);
  height: 16.6875rem;
  left: 50%;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%) scale(0.75);
          transform: translate(-50%, -50%) scale(0.75);
  -webkit-transform-origin: center;
          transform-origin: center;
  transition: -webkit-filter 0.7s, -webkit-transform 0.7s;
  transition: filter 0.7s, transform 0.7s;
  transition: filter 0.7s, transform 0.7s, -webkit-filter 0.7s, -webkit-transform 0.7s;
  width: 25rem;
}
@media screen and (max-width: 767px) {
  .p-about-information__image {
    height: 12.5rem;
    -webkit-transform: translate(-50%, -50%) scale(0.8);
            transform: translate(-50%, -50%) scale(0.8);
    width: 18.75rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-about-information__image {
    transition: none;
  }
}

.p-about-information__image::after {
  background: rgba(96, 85, 73, .6);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity 0.7s;
}
@media (prefers-reduced-motion: reduce) {
  .p-about-information__image::after {
    transition: none;
  }
}

.p-about-information__slide.swiper-slide-active .p-about-information__image {
  -webkit-filter: none;
          filter: none;
  -webkit-transform: translate(-50%, -50%) scale(1);
          transform: translate(-50%, -50%) scale(1);
}

.p-about-information__slide.swiper-slide-active .p-about-information__image::after {
  opacity: 0;
}

.p-about-information__image img {
  height: 100%;
  height: var(--image-height, 100%);
  left: 0;
  left: var(--image-left, 0);
  max-width: none;
  position: absolute;
  top: 0;
  top: var(--image-top, 0);
  width: 100%;
  width: var(--image-width, 100%);
}

.p-about-information__controls {
  align-items: center;
  display: flex;
  justify-content: space-between;
  left: 50%;
  pointer-events: none;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 33.75rem;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .p-about-information__controls {
    max-width: 24.25rem;
    width: calc(100% - 2.5rem);
  }
}

.p-about-information__button {
  align-items: center;
  -webkit-appearance: none;
          appearance: none;
  background: #bba786;
  background: var(--color-accent);
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  height: 3.75rem;
  justify-content: center;
  padding: 0;
  pointer-events: auto;
  transition: opacity 0.3s ease;
  width: 3.75rem;
}
@media (any-hover: hover) {
  .p-about-information__button:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .p-about-information__button {
    height: 2.5rem;
    width: 2.5rem;
  }
}
.p-about-information__button:focus-visible {
  outline: 0.125rem solid #92877b;
  outline: 0.125rem solid var(--color-main-dark);
  outline-offset: 0.1875rem;
}

.p-about-information__button img {
  display: block;
  height: 1.125rem;
  width: 1.125rem;
}
@media screen and (max-width: 767px) {
  .p-about-information__button img {
    height: 0.75rem;
    width: 0.75rem;
  }
}

.p-about-information__button--prev img {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.p-about {
  background-color: #92877b;
  background-color: var(--color-main-dark);
  color: #fff;
  color: var(--color-white);
  overflow: hidden;
  padding: 8.75rem 0 10rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-about {
    padding: 5rem 0 6.25rem;
  }
}

.p-about__background {
  bottom: 0;
  height: auto;
  left: 50%;
  position: absolute;
  top: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: max(100%, 90rem);
}
@media screen and (max-width: 767px) {
  .p-about__background {
    width: 100%;
  }
}

.p-about__background img {
  display: block;
  height: 100%;
  width: 100%;
}

.p-about__inner {
  margin: 0 auto;
  max-width: 90rem;
  padding: 0 10rem;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .p-about__inner {
    padding: 0 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-about__inner {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    padding: 0 1.25rem;
  }
}

.p-about__heading {
  margin: 0 auto 5rem;
}
@media screen and (max-width: 767px) {
  .p-about__heading {
    margin: 0;
  }
}

.p-about__english img {
  display: block;
  height: auto;
  max-width: none;
  width: 18.3125rem;
}
@media screen and (max-width: 767px) {
  .p-about__english img {
    width: 11.4375rem;
  }
}

.p-about__content {
  align-items: flex-start;
  display: flex;
  gap: 4rem;
  justify-content: center;
}
@media screen and (max-width: 1023px) {
  .p-about__content {
    gap: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-about__content {
    align-items: center;
    flex-direction: column;
    gap: 2.5rem;
    width: 100%;
  }
}

.p-about__photo {
  border-radius: 0.25rem;
  flex: 0 0 auto;
  height: 30rem;
  overflow: hidden;
  width: 30rem;
}
@media screen and (max-width: 1023px) {
  .p-about__photo {
    height: 20rem;
    width: 20rem;
  }
}
@media screen and (max-width: 767px) {
  .p-about__photo {
    aspect-ratio: 1;
    height: auto;
    width: min(100%, 24.25rem);
  }
}

.p-about__photo picture {
  display: block;
  height: 100%;
  width: 100%;
}

.p-about__photo img {
  display: block;
  height: 100%;
  max-width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  pointer-events: none;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-about__photo img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
  }
}

.p-about__body {
  align-items: flex-end;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 3.125rem;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-about__body {
    align-items: flex-start;
    flex: 0 0 auto;
    gap: 2.5rem;
    width: 100%;
  }
}

.p-about__text {
  display: flex;
  flex-direction: column;
  gap: 1.875rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-about__text {
    gap: 1.25rem;
  }
}

.p-about__lead {
  font-size: 2.25rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0;
}
@media screen and (max-width: 1023px) {
  .p-about__lead {
    font-size: 1.875rem;
  }
}
@media screen and (max-width: 767px) {
  .p-about__lead {
    font-size: 1.75rem;
  }
}

.p-about__description {
  display: flex;
  flex-direction: column;
  font-size: 1rem;
  gap: 1.5rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-about__description {
    gap: 0.875rem;
  }
}

.p-about__description p {
  margin: 0;
}

.p-about__button {
  flex: 0 0 auto;
}
@media screen and (max-width: 767px) {
  .p-about__button {
    align-self: center;
  }
}

.p-access-page {
  background-attachment: fixed;
  background-blend-mode: multiply;
  background-color: #e8e5e3;
  background-color: var(--color-base);
  background-image: url("../images/common/noise-bg.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 1023px) {
  .p-access-page {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: clamp(1080px, 140.625vw, 1440px) auto;
  }
}
@media screen and (max-width: 767px) {
  .p-access-page {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: 67.5rem auto;
  }
}

.p-access-hero {
  height: max(32.5rem, 39.22vw - 2.9375rem);
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-access-hero {
    height: max(25.5625rem, 50.84vw + 11.875rem);
  }
}

.p-access-hero__curve {
  left: calc(50% + 2.75rem);
  position: absolute;
  top: -1.75rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: max(108.5rem, 120vw);
}
.p-access-hero__curve img {
  display: block;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-access-hero__curve {
    left: calc(50% - 0.0625rem);
    top: calc(50% + 3.5rem);
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: max(32.4375rem, 120vw);
  }
}

.p-access-hero__heading {
  left: 0;
  position: absolute;
  right: 0;
  top: max(19.25rem, 23.22vw - 1.75rem);
}
.p-access-hero__heading .p-access-hero__english img {
  width: 19.875rem;
}
@media screen and (max-width: 767px) {
  .p-access-hero__heading {
    top: max(15.0625rem, 20.84vw + 9.4375rem);
  }
  .p-access-hero__heading .p-access-hero__english img {
    width: 13.25rem;
  }
}

.p-access-page__content {
  padding-block: 8.75rem 11.25rem;
}
@media screen and (max-width: 767px) {
  .p-access-page__content {
    padding-block: 5rem 7.5rem;
  }
}

.p-access-map {
  display: grid;
  gap: 5rem;
  grid-template-columns: 28.75rem minmax(0, 1fr);
}
@media screen and (max-width: 767px) {
  .p-access-map {
    gap: 3.125rem;
    grid-template-columns: 1fr;
  }
}

.p-access-map__information {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.p-access-map__logo {
  align-items: flex-start;
  display: flex;
  gap: 1.9375rem;
  margin: 0;
}

.p-access-map__logo-mark img {
  display: block;
  height: 3.6875rem;
  width: 2.5625rem;
}

.p-access-map__logo-type {
  padding-top: 0.75rem;
}

.p-access-map__logo-type img {
  display: block;
  width: 19.25rem;
}

.p-access-map__address, .p-access-map__notes p, .p-access-map__notes li {
  font-size: 1rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0;
}

.p-access-map__address {
  word-wrap: anywhere;
}

.p-access-map__notes {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}

.p-access-map__notes > section {
  border: 1px solid rgba(88, 87, 87, .4);
  border-radius: 0.375rem;
  padding: 0.875rem;
}

.p-access-map__notes h2 {
  color: #92877b;
  color: var(--color-main-dark);
  font-size: 1rem;
  letter-spacing: 0.04em;
  line-height: 1;
  margin: 0 0 0.375rem;
}

.p-access-map__notes ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-access-map__notes li {
  display: flex;
  gap: 0.375rem;
}

.p-access-map__notes li::before {
  background: url("../images/access/train-marker.svg") center/0.25rem 1.625rem no-repeat;
  content: "";
  flex: 0 0 0.25rem;
  height: 1.625rem;
  width: 0.25rem;
}

@media screen and (max-width: 767px) {
  .p-access-map__logo {
    gap: 2rem;
  }
}

@media screen and (max-width: 767px) {
  .p-access-map__logo-type {
    max-width: 19.625rem;
    width: calc(100% - 4.5625rem);
  }
}

@media screen and (max-width: 767px) {
  .p-access-map__logo-type img {
    width: 100%;
  }
}

.p-access-map__embed {
  aspect-ratio: 580/429;
  border-radius: 0.25rem;
  overflow: hidden;
}

.p-access-map__embed iframe {
  border: 0;
  height: 100%;
  width: 100%;
}

.p-access-map__map > a {
  margin-top: 0.875rem;
}

.p-access-route {
  margin-top: 5rem;
}

.p-access-route h2 {
  border-bottom: 1px solid #c4b9ad;
  color: #585757;
  color: var(--color-text);
  font-size: 1.625rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0 0 2.5rem;
  padding-bottom: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-access-route h2 {
    font-size: 1.375rem;
    padding-bottom: 0.375rem;
  }
}

.p-access-route__steps {
  display: flex;
  gap: 0.875rem;
  list-style: none;
  margin: 0;
  overflow-x: auto;
  padding: 0 0 0.625rem;
}
@media (any-hover: hover) {
  .p-access-route__steps {
    cursor: -webkit-grab;
    cursor: grab;
  }
  .p-access-route__steps:active, .p-access-route__steps.is-grabbing {
    cursor: -webkit-grabbing;
    cursor: grabbing;
  }
}

.p-access-route__step {
  display: flex;
  flex: 0 0 22.5rem;
  flex-direction: column;
  gap: 0.875rem;
}

.p-access-route__arrow {
  align-self: flex-start;
  display: block;
  flex: 0 0 1.4375rem;
  height: 15rem;
  position: relative;
  width: 1.4375rem;
}

.p-access-route__arrow img {
  display: block;
  height: 15rem;
  left: 0;
  position: absolute;
  top: 0;
  width: 1.5rem;
}

.p-access-route__steps figure {
  aspect-ratio: 3/2;
  border-radius: 0.25rem;
  margin: 0;
  overflow: hidden;
}

.p-access-route__steps figure img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.p-access-route__steps p {
  display: flex;
  font-size: 1rem;
  gap: 0.375rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0;
}

.p-access-route__steps p span {
  letter-spacing: 0.08em;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .p-access-route {
    margin-top: 5rem;
  }
  .p-access-route__step {
    flex-basis: 18.75rem;
  }
  .p-access-route__arrow {
    height: 12.5rem;
  }
  .p-access-route__arrow img {
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
.p-campaign-page {
  background-attachment: fixed;
  background-blend-mode: multiply;
  background-color: #e8e5e3;
  background-color: var(--color-base);
  background-image: url("../images/common/noise-bg.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .p-campaign-page {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: clamp(1080px, 140.625vw, 1440px) auto;
  }
}
@media screen and (max-width: 767px) {
  .p-campaign-page {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: 67.5rem auto;
  }
}

.p-campaign-page__hero {
  height: max(32.5rem, 39.22vw - 2.9375rem);
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-campaign-page__hero {
    height: max(25.5625rem, 50.84vw + 11.875rem);
  }
}

.p-campaign-page__curve {
  left: calc(50% + 2.75rem);
  position: absolute;
  top: -1.75rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: max(108.5rem, 120vw);
}
.p-campaign-page__curve img {
  display: block;
  height: auto;
  max-width: none;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-campaign-page__curve {
    left: calc(50% - 0.0625rem);
    top: calc(50% + 3.5rem);
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: max(32.4375rem, 120vw);
  }
}

.p-campaign-page__heading {
  color: #92877b;
  color: var(--color-main-dark);
  gap: 0.5rem;
  left: 0;
  position: absolute;
  right: 0;
  top: max(19.25rem, 23.22vw - 1.75rem);
}
@media screen and (max-width: 767px) {
  .p-campaign-page__heading {
    top: max(15.0625rem, 20.84vw + 9.4375rem);
  }
}

.p-campaign-page__label {
  align-items: center;
  display: flex;
  font-size: 0.875rem;
  font-weight: 400;
  gap: 0.5rem;
  letter-spacing: 0.06em;
  line-height: 1;
}

.p-campaign-page__label h1 {
  font: inherit;
  margin: 0;
}

.p-campaign-page__english img {
  display: block;
  height: auto;
  max-width: none;
  width: 27.625rem;
}
@media screen and (max-width: 767px) {
  .p-campaign-page__english img {
    width: 18.4375rem;
  }
}

.p-campaign-archive {
  padding: 8.75rem 1.25rem 11.25rem;
}
@media screen and (max-width: 767px) {
  .p-campaign-archive {
    padding: 5rem 1.25rem 8.75rem;
  }
}

.p-campaign-archive__inner {
  margin: 0 auto;
  max-width: 70rem;
}

.p-campaign-archive__list {
  display: grid;
  gap: 3.75rem 2.5rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media screen and (max-width: 767px) {
  .p-campaign-archive__list {
    -webkit-column-gap: 1.25rem;
       -moz-column-gap: 1.25rem;
            column-gap: 1.25rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 2.5rem;
  }
}

.p-campaign-archive__card {
  color: #585757;
  color: var(--color-text);
  display: block;
  text-decoration: none;
}

.p-campaign-archive__image {
  aspect-ratio: 250/313;
  background-color: rgba(88, 87, 87, .08);
  border-radius: 0.25rem;
  display: block;
  overflow: hidden;
}

.p-campaign-archive__image img {
  display: block;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: -webkit-transform 0.35s ease;
  transition: transform 0.35s ease;
  transition: transform 0.35s ease, -webkit-transform 0.35s ease;
  width: 100%;
}

.p-campaign-archive__meta {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  margin-top: 0.875rem;
}

.p-campaign-archive__date {
  font-size: 0.875rem;
  letter-spacing: 0.08em;
  line-height: 1;
}

.p-campaign-archive__title {
  /* autoprefixer: off */
  -webkit-box-orient: vertical;
  /* autoprefixer: on */
  -webkit-line-clamp: 2;
  display: -webkit-box;
  font-size: 1rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  overflow: hidden;
  font-weight: 500;
}

.p-campaign-archive__empty {
  color: #585757;
  color: var(--color-text);
  font-family: Shippori Mincho, serif;
  font-family: var(--font-mincho);
  font-size: 2rem;
  letter-spacing: 0.08em;
  line-height: 1;
  margin: 0;
  padding: 6.25rem 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-campaign-archive__empty {
    font-size: 1.75rem;
  }
}

@media (any-hover: hover) {
  .p-campaign-archive__card:hover .p-campaign-archive__image img {
    -webkit-transform: scale(1.04);
            transform: scale(1.04);
  }
}

@media (any-hover: hover) {
  .p-campaign-archive__card:hover {
    opacity: 1;
  }
}
.p-campaign-detail-page {
  background-attachment: fixed;
  background-blend-mode: multiply;
  background-color: #e8e5e3;
  background-color: var(--color-base);
  background-image: url("../images/common/noise-bg.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .p-campaign-detail-page {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: clamp(1080px, 140.625vw, 1440px) auto;
  }
}
@media screen and (max-width: 767px) {
  .p-campaign-detail-page {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: 67.5rem auto;
  }
}

.p-campaign-detail-hero {
  border-bottom: 1px solid #92877b;
  border-bottom: 1px solid var(--color-main-dark);
  padding: 18.75rem 10rem 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-campaign-detail-hero {
    padding: 12.5rem 1.25rem 5rem;
  }
}

.p-campaign-detail-hero__inner {
  margin: 0 auto;
  max-width: 70rem;
  width: 100%;
}

.p-campaign-detail-hero__title {
  color: #92877b;
  color: var(--color-main-dark);
  font-size: 2.25rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.6;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-campaign-detail-hero__title {
    font-size: 1.625rem;
  }
}

.p-campaign-detail {
  padding: 8.75rem 1.25rem 11.25rem;
}
@media screen and (max-width: 767px) {
  .p-campaign-detail {
    padding: 5rem 1.25rem 7.5rem;
  }
}

.p-campaign-detail__inner {
  margin: 0 auto;
  max-width: 50rem;
}

.p-campaign-detail__thumbnail {
  border-radius: 0.25rem;
  margin: 0 auto 5rem;
  max-width: 37.5rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-campaign-detail__thumbnail {
    margin-bottom: 5rem;
    max-width: none;
  }
}
.p-campaign-detail__thumbnail img {
  display: block;
  height: auto;
  width: 100%;
}

.p-campaign-detail-share {
  align-items: center;
  border: 1px solid rgba(88, 87, 87, .4);
  border-radius: 0.375rem;
  display: flex;
  justify-content: space-between;
  margin-top: 3.125rem;
  padding: 1.25rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-campaign-detail-share {
    flex-direction: column;
    gap: 0.875rem;
    padding: 0.875rem 1.25rem;
  }
}

.p-campaign-detail-share__label {
  font-size: 1rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0;
}

.p-campaign-detail-share__links {
  align-items: center;
  display: flex;
  gap: 0.625rem;
}

.p-campaign-detail-share__copy,
.p-campaign-detail-share__link {
  align-items: center;
  background: #92877b;
  background: var(--color-main-dark);
  border: 0;
  border-radius: 6.25rem;
  color: #fff;
  color: var(--color-white);
  display: flex;
  height: 2.5rem;
  justify-content: center;
  padding: 0;
  transition: opacity 0.3s ease;
  width: 2.5rem;
}
.p-campaign-detail-share__copy img,
.p-campaign-detail-share__link img {
  display: block;
  height: auto;
  max-height: 1.25rem;
  max-width: 1.375rem;
  width: auto;
}
@media (any-hover: hover) {
  .p-campaign-detail-share__copy:hover,
  .p-campaign-detail-share__link:hover {
    opacity: 0.7;
  }
}

.p-campaign-detail-share__copy {
  gap: 0.5rem;
  padding: 0 1.25rem;
  width: auto;
}

.p-campaign-detail-share__copy span {
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  line-height: 1;
  white-space: nowrap;
}

.p-campaign-detail-share__link--x {
  background: #92877b;
  background: var(--color-main-dark);
  border-radius: 6.25rem;
}

.p-campaign-detail-share__link--x img {
  height: 2.5rem;
  max-height: none;
  max-width: none;
  width: 2.5rem;
}

.p-campaign-copy-toast {
  background: #92877b;
  background: var(--color-main-dark);
  border-radius: 0.25rem;
  bottom: 2.5rem;
  color: #fff;
  color: var(--color-white);
  font-size: 0.875rem;
  left: 50%;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0;
  opacity: 0;
  padding: 0.625rem 1.25rem;
  pointer-events: none;
  position: fixed;
  -webkit-transform: translate(-50%, 0.625rem);
          transform: translate(-50%, 0.625rem);
  transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
  transition: opacity 0.2s ease, transform 0.2s ease;
  transition: opacity 0.2s ease, transform 0.2s ease, -webkit-transform 0.2s ease;
  visibility: hidden;
  z-index: 20;
}
.p-campaign-copy-toast.is-visible {
  opacity: 1;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  visibility: visible;
}
@media screen and (max-width: 767px) {
  .p-campaign-copy-toast {
    bottom: 1.25rem;
  }
}

.p-campaign-detail-nav {
  align-items: center;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-campaign-detail-nav {
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
    grid-template-columns: repeat(2, -webkit-max-content);
    grid-template-columns: repeat(2, max-content);
    justify-content: space-between;
    margin-top: 3.75rem;
    row-gap: 0.625rem;
  }
}

.p-campaign-detail-nav__previous,
.p-campaign-detail-nav__next {
  align-items: center;
  color: #92877b;
  color: var(--color-main-dark);
  display: flex;
  font-size: 1rem;
  font-weight: 500;
  gap: 1.25rem;
  letter-spacing: 0.06em;
  line-height: 1;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-campaign-detail-nav__previous,
  .p-campaign-detail-nav__next {
    font-size: 1rem;
    gap: 1.25rem;
  }
}

.p-campaign-detail-nav__previous {
  justify-self: start;
}
.p-campaign-detail-nav__previous::before {
  background: url("../images/common/icon-arrow-right-main.svg") center/0.75rem 0.75rem no-repeat;
  border: 1px solid rgba(146, 135, 123, .6);
  border-radius: 50%;
  content: "";
  flex: 0 0 3.125rem;
  height: 3.125rem;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  width: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-campaign-detail-nav__previous::before {
    flex-basis: 2.5rem;
    height: 2.5rem;
    width: 2.5rem;
  }
}

.p-campaign-detail-nav__next {
  justify-self: end;
}
.p-campaign-detail-nav__next::after {
  background: url("../images/common/icon-arrow-right-main.svg") center/0.75rem 0.75rem no-repeat;
  border: 1px solid rgba(146, 135, 123, .6);
  border-radius: 50%;
  content: "";
  flex: 0 0 3.125rem;
  height: 3.125rem;
  order: 2;
  width: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-campaign-detail-nav__next::after {
    flex-basis: 2.5rem;
    height: 2.5rem;
    width: 2.5rem;
  }
}

.p-campaign-detail-nav__archive {
  color: #585757;
  color: var(--color-text);
  font-size: 1rem;
  letter-spacing: 0.06em;
  line-height: 1;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-campaign-detail-nav__archive {
    grid-column: 1/-1;
    grid-row: 2;
    justify-self: center;
  }
}

.p-campaign-detail-nav__placeholder {
  min-width: 3.125rem;
}

.p-campaign {
  background-attachment: fixed, scroll;
  background-blend-mode: multiply, normal;
  background-color: #e8e5e3;
  background-color: var(--color-base);
  background-image: url("../images/common/noise-bg.webp"), linear-gradient(180deg, #92877b 0%, rgba(146, 135, 123, .8) 30%, rgba(146, 135, 123, .6) 60%, rgba(146, 135, 123, .4) 80%, rgba(146, 135, 123, .2) 90%, rgba(146, 135, 123, .08) 95%, rgba(146, 135, 123, 0) 100%);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 64.4375rem;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .p-campaign {
    background-position: center top, center;
    background-repeat: repeat-y, no-repeat;
    background-size: 90rem auto, auto;
    min-height: 54.0625rem;
  }
}
@media screen and (max-width: 767px) {
  .p-campaign {
    background-position: center top, center;
    background-repeat: repeat-y, no-repeat;
    background-size: 60rem auto, auto;
  }
}

.p-campaign__line {
  height: 61.5rem;
  left: 50%;
  max-width: none;
  pointer-events: none;
  position: absolute;
  top: -0.625rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 123.5rem;
}
@media screen and (max-width: 1023px) {
  .p-campaign__line {
    height: 30.375rem;
    left: 50%;
    top: -0.125rem;
    -webkit-transform: translateX(-50%) rotate(20deg);
            transform: translateX(-50%) rotate(20deg);
    width: 60.9375rem;
  }
}

.p-campaign__inner {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 5rem;
  margin: 0 auto;
  max-width: 90rem;
  padding: 11.25rem 10rem 10rem;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .p-campaign__inner {
    gap: 2.5rem;
    min-height: 54.0625rem;
    padding: 7.5rem 0 5.5rem;
  }
}

@media screen and (max-width: 1023px) {
  .p-campaign__english img {
    width: 17.1875rem;
  }
}

.p-campaign__list-wrap {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 3.125rem;
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .p-campaign__list-wrap {
    gap: 2.5rem;
  }
}

.p-campaign__slider {
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .p-campaign__slider {
    overflow: visible;
  }
}

.p-campaign__slider .swiper-wrapper {
  display: grid;
  gap: 2.5rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media screen and (max-width: 1023px) {
  .p-campaign__slider .swiper-wrapper {
    display: flex;
    gap: 0;
  }
}

.p-campaign__pagination {
  display: none;
}
@media screen and (max-width: 1023px) {
  .p-campaign__pagination {
    display: flex;
    gap: 1.25rem;
    height: 0.625rem;
    justify-content: center;
  }
}

.p-campaign__pagination.swiper-pagination.swiper-pagination-horizontal {
  bottom: auto;
  left: auto;
  position: static;
  -webkit-transform: none;
          transform: none;
  width: auto;
}

.p-campaign__pagination.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet {
  background-color: #fff;
  background-color: var(--color-white);
  border-radius: 50%;
  height: 0.625rem;
  margin: 0;
  opacity: 0.6;
  transition: background-color 0.3s, opacity 0.3s;
  width: 0.625rem;
}

.p-campaign__pagination.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #92877b;
  background-color: var(--color-main-dark);
  opacity: 1;
}

.p-campaign__slide {
  min-width: 0;
}
@media screen and (max-width: 1023px) {
  .p-campaign__slide {
    flex: 0 0 15.625rem;
    width: 15.625rem;
  }
}

.p-campaign__card {
  color: #fff;
  color: var(--color-white);
  display: block;
  text-decoration: none;
}

.p-campaign__image {
  aspect-ratio: 250/313;
  background-color: rgba(255, 255, 255, .16);
  border-radius: 0.25rem;
  display: block;
  overflow: hidden;
}

.p-campaign__image img {
  display: block;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: -webkit-transform 0.35s ease;
  transition: transform 0.35s ease;
  transition: transform 0.35s ease, -webkit-transform 0.35s ease;
  width: 100%;
}

.p-campaign__meta {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  margin-top: 0.875rem;
}

.p-campaign__date {
  font-size: 0.875rem;
  letter-spacing: 0.08em;
  line-height: 1;
}

.p-campaign__title {
  font-size: 1rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  font-weight: 500;
}

.p-campaign__empty {
  min-height: 24.9375rem;
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .p-campaign__empty {
    min-height: 24.9375rem;
  }
}

.p-campaign__empty .c-empty-state__text {
  color: #fff;
  color: var(--color-white);
}

@media (any-hover: hover) {
  .p-campaign__card:hover .p-campaign__image img {
    -webkit-transform: scale(1.04);
            transform: scale(1.04);
  }
}

@media (any-hover: hover) {
  .p-campaign__card:hover {
    opacity: 1;
  }
}
.p-case-archive-page {
  background-attachment: fixed;
  background-blend-mode: multiply;
  background-color: #e8e5e3;
  background-color: var(--color-base);
  background-image: url("../images/common/noise-bg.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .p-case-archive-page {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: clamp(1080px, 140.625vw, 1440px) auto;
  }
}
@media screen and (max-width: 767px) {
  .p-case-archive-page {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: 67.5rem auto;
  }
}

.p-case-archive-hero {
  height: max(32.5rem, 39.22vw - 2.9375rem);
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-case-archive-hero {
    height: max(25.5625rem, 50.84vw + 11.875rem);
  }
}

.p-case-archive-hero__curve {
  left: calc(50% + 2.75rem);
  position: absolute;
  top: -1.75rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: max(108.5rem, 120vw);
}
.p-case-archive-hero__curve img {
  display: block;
  height: auto;
  max-width: none;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-case-archive-hero__curve {
    left: calc(50% - 0.0625rem);
    top: calc(50% + 3.5rem);
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: max(32.4375rem, 120vw);
  }
}

.p-case-archive-hero__heading {
  color: #92877b;
  color: var(--color-main-dark);
  gap: 0.5rem;
  left: 0;
  position: absolute;
  right: 0;
  top: max(19.25rem, 23.22vw - 1.75rem);
}
@media screen and (max-width: 767px) {
  .p-case-archive-hero__heading {
    top: max(15.0625rem, 20.84vw + 9.4375rem);
  }
}

.p-case-archive-hero__label {
  align-items: center;
  display: flex;
  font-size: 0.875rem;
  font-weight: 400;
  gap: 0.5rem;
  letter-spacing: 0.06em;
  line-height: 1;
}

.p-case-archive-hero__label h1 {
  font: inherit;
  margin: 0;
}

.p-case-archive-hero__english {
  line-height: 0;
  margin: 0;
}
.p-case-archive-hero__english img {
  display: block;
  height: auto;
  max-width: none;
  width: 13.125rem;
}
@media screen and (max-width: 767px) {
  .p-case-archive-hero__english img {
    width: 8.1875rem;
  }
}

.p-case-filter-hero {
  align-items: flex-end;
  border-bottom: 1px solid #92877b;
  border-bottom: 1px solid var(--color-main-dark);
  display: flex;
  min-height: 28.6875rem;
  padding: 18.75rem 1.25rem 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-case-filter-hero {
    min-height: 20.1875rem;
    padding: 12.5rem 1.25rem 5rem;
  }
}

.p-case-filter-hero__inner {
  margin: 0 auto;
  max-width: 70rem;
  width: 100%;
}

.p-case-filter-hero__title {
  color: #92877b;
  color: var(--color-main-dark);
  font-size: 2.25rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.6;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-case-filter-hero__title {
    font-size: 1.625rem;
  }
}

.p-case-archive {
  padding: 8.75rem 1.25rem 11.25rem;
}
@media screen and (max-width: 767px) {
  .p-case-archive {
    padding: 5rem 1.25rem 7.5rem;
  }
}

.p-case-archive__inner {
  display: grid;
  grid-template-areas: "main side";
  grid-template-columns: minmax(0, 45.625rem) 16.25rem;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 70rem;
}
@media screen and (max-width: 767px) {
  .p-case-archive__inner {
    gap: 3.125rem;
    grid-template-areas: "side" "main";
    grid-template-columns: minmax(0, 1fr);
  }
}

.p-case-archive__inner--empty {
  grid-template-areas: "main";
  grid-template-columns: minmax(0, 1fr);
}

.p-case-archive__main {
  grid-area: main;
  min-width: 0;
}

.p-case-archive__side {
  grid-area: side;
  height: -webkit-max-content;
  height: max-content;
  position: sticky;
  top: 6.875rem;
}
@media screen and (max-width: 767px) {
  .p-case-archive__side {
    position: static;
  }
}

.p-case-archive__filters {
  display: flex;
  flex-direction: column;
  gap: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-case-archive__filters {
    gap: 1.25rem;
  }
}

.p-case-archive__filter {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-case-archive__filter {
    gap: 0.5rem;
  }
}

.p-case-archive__filter-label {
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.6;
}

.p-case-archive__select-wrap {
  position: relative;
}

.p-case-archive__select-wrap::after {
  background: url("../images/price/select-arrow.svg") center/contain no-repeat;
  content: "";
  height: 0.625rem;
  pointer-events: none;
  position: absolute;
  right: 0.875rem;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
  width: 0.625rem;
}

.p-case-archive__select {
  -webkit-appearance: none;
          appearance: none;
  background: transparent;
  border: 1px solid rgba(88, 87, 87, .6);
  border-radius: 0.375rem;
  color: #585757;
  color: var(--color-text);
  font: inherit;
  font-size: 0.875rem;
  letter-spacing: 0.08em;
  line-height: 1.6;
  padding: 0.75rem 2.5rem 0.75rem 0.875rem;
  width: 100%;
}
.p-case-archive__select:focus-visible {
  outline: 0.125rem solid #bba786;
  outline: 0.125rem solid var(--color-accent);
  outline-offset: 0.125rem;
}

.p-case-archive__list {
  display: grid;
  gap: 5.625rem 5.625rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media screen and (max-width: 767px) {
  .p-case-archive__list {
    -webkit-column-gap: 1.25rem;
       -moz-column-gap: 1.25rem;
            column-gap: 1.25rem;
    row-gap: 2.5rem;
  }
}

.p-case-archive__item[hidden] {
  display: none;
}

.p-case-archive__card {
  color: #585757;
  color: var(--color-text);
  display: block;
  text-decoration: none;
}
@media (any-hover: hover) {
  .p-case-archive__card:hover {
    opacity: 1;
  }
  .p-case-archive__card:hover .p-case-archive__image img {
    -webkit-transform: scale(1.04);
            transform: scale(1.04);
  }
}

.p-case-archive__image {
  border-radius: 0.25rem;
  display: block;
  height: 25rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-case-archive__image {
    aspect-ratio: 184/230;
    height: auto;
  }
}

.p-case-archive__image img {
  display: block;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: -webkit-transform 0.35s ease;
  transition: transform 0.35s ease;
  transition: transform 0.35s ease, -webkit-transform 0.35s ease;
  width: 100%;
}

.p-case-archive__body {
  display: flex;
  flex-direction: column;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-case-archive__body {
    margin-top: 0.625rem;
  }
}

.p-case-archive__categories {
  display: flex;
  flex-wrap: wrap;
  font-size: 0.875rem;
  gap: 0.375rem;
  letter-spacing: 0.04em;
  line-height: 1.2;
  margin-bottom: 0.375rem;
}
@media screen and (max-width: 767px) {
  .p-case-archive__categories {
    font-size: 0.75rem;
    gap: 0.25rem;
    margin-bottom: 0.25rem;
  }
}

.p-case-archive__title {
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-case-archive__title {
    font-size: 0.875rem;
  }
}

.p-case-archive__details {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-case-archive__details {
    gap: 0.375rem;
    margin-top: 0.625rem;
  }
}

.p-case-archive__detail {
  border-bottom: 1px solid rgba(88, 87, 87, .4);
  display: grid;
  font-size: 0.75rem;
  gap: 1.25rem;
  grid-template-columns: 5.4375rem minmax(0, 1fr);
  letter-spacing: 0.04em;
  line-height: 1.6;
  padding: 0 0.25rem 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-case-archive__detail {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    padding: 0 0.125rem 0.375rem;
  }
}

.p-case-archive__detail-label {
  font-weight: 500;
}

.p-case-archive__detail-value {
  min-width: 0;
}

.p-case-archive__empty {
  min-height: 25rem;
}
@media screen and (max-width: 767px) {
  .p-case-archive__empty {
    min-height: 14.375rem;
  }
}

.p-case-detail-page {
  background-attachment: fixed;
  background-blend-mode: multiply;
  background-color: #e8e5e3;
  background-color: var(--color-base);
  background-image: url("../images/common/noise-bg.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .p-case-detail-page {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: clamp(1080px, 140.625vw, 1440px) auto;
  }
}
@media screen and (max-width: 767px) {
  .p-case-detail-page {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: 67.5rem auto;
  }
}

.p-case-detail-hero {
  border-bottom: 1px solid #92877b;
  border-bottom: 1px solid var(--color-main-dark);
  padding: 18.75rem 1.25rem 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-case-detail-hero {
    padding: 12.5rem 1.25rem 5rem;
  }
}

.p-case-detail-hero__inner {
  margin: 0 auto;
  max-width: 70rem;
}

.p-case-detail-hero__title {
  color: #92877b;
  color: var(--color-main-dark);
  font-size: 2.25rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.6;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-case-detail-hero__title {
    font-size: 1.5rem;
  }
}

.p-case-detail {
  padding: 8.75rem 1.25rem 10rem;
}
@media screen and (max-width: 767px) {
  .p-case-detail {
    padding: 4.375rem 1.125rem 5rem;
  }
}

.p-case-detail__inner {
  align-items: flex-start;
  display: grid;
  gap: 3.75rem;
  grid-template-columns: 20.625rem minmax(0, 45.625rem);
  margin: 0 auto;
  max-width: 70rem;
}
@media screen and (max-width: 767px) {
  .p-case-detail__inner {
    display: block;
  }
}

.p-case-detail__sticky {
  position: sticky;
  top: 6.875rem;
}
@media screen and (max-width: 767px) {
  .p-case-detail__sticky {
    position: static;
  }
}

@media screen and (max-width: 767px) {
  .p-case-detail__visual {
    margin: 0 auto 4.375rem;
    max-width: 18.125rem;
  }
}

.p-case-detail__slider {
  overflow: hidden;
}

.p-case-detail__slide {
  margin: 0;
}

.p-case-detail__slide img {
  aspect-ratio: 330/414;
  border-radius: 0.25rem;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-case-detail__slide img {
    aspect-ratio: 290/363;
  }
}

.p-case-detail__slide figcaption {
  color: rgba(88, 87, 87, .6);
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin-top: 0.25rem;
}
@media screen and (max-width: 767px) {
  .p-case-detail__slide figcaption {
    font-size: 0.75rem;
    margin-top: 0.5rem;
  }
}

.p-case-detail__slider-nav {
  align-items: center;
  display: flex;
  gap: 2.5rem;
  justify-content: center;
  margin-top: 1.25rem;
}

.p-case-detail__slider-button {
  align-items: center;
  background: transparent;
  border: 1px solid rgba(88, 87, 87, .4);
  border-radius: 50%;
  display: flex;
  height: 2.5rem;
  justify-content: center;
  padding: 0;
  position: relative;
  width: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-case-detail__slider-button {
    height: 2.25rem;
    width: 2.25rem;
  }
}

.p-case-detail__slider-button::after {
  background: url("../images/case/slider-arrow.svg") center/contain no-repeat;
  content: "";
  height: 0.75rem;
  width: 0.75rem;
}

.p-case-detail__slider-button--prev::after {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}

.p-case-detail__slider-count {
  font-size: 1rem;
  letter-spacing: 0.06em;
  line-height: 1.6;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-case-detail__slider-count {
    margin: 0;
  }
}

.p-case-detail__content {
  min-width: 0;
}

.p-case-detail__details {
  border-collapse: collapse;
  margin: 1.5rem 0 0;
  table-layout: fixed;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-case-detail__details {
    margin-top: 1.5rem;
  }
}

.p-case-detail__detail {
  border-bottom: 1px solid rgba(88, 87, 87, .4);
}

.p-case-detail__detail:last-child {
  border-bottom: 0;
}

.p-case-detail__detail th,
.p-case-detail__detail td {
  color: #585757;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.6;
  padding: 0.75rem 0.625rem;
  text-align: left;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  .p-case-detail__detail th,
  .p-case-detail__detail td {
    font-size: 0.875rem;
    padding: 0.625rem 0.5rem;
  }
}

.p-case-detail__detail th {
  background: #ded8d1;
  background: var(--color-main-light);
  width: 12.5rem;
}
@media screen and (max-width: 767px) {
  .p-case-detail__detail th {
    width: 8.75rem;
  }
}

.p-case-detail__detail td {
  background: #eee;
}

.p-case-detail__back {
  margin: 0;
  padding: 0 1.25rem 10rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-case-detail__back {
    padding: 0 1.25rem 6.25rem;
  }
}

.p-case-detail__back a,
.p-case-detail-related__back a {
  color: #585757;
  color: var(--color-text);
  font-size: 1rem;
  letter-spacing: 0.04em;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.p-case-detail-related {
  padding: 0rem 0 10rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-case-detail-related {
    padding: 5rem 1.25rem 7.5rem;
  }
}

.p-case-detail-related__inner {
  margin: 0 auto;
  max-width: 70rem;
}

.p-case-detail-related__title {
  border-bottom: 1px solid rgba(196, 185, 173, .9);
  color: #585757;
  color: var(--color-text);
  font-size: 1.625rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0 0 3.125rem;
  padding-bottom: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-case-detail-related__title {
    font-size: 1.375rem;
    margin: 0 0 2.25rem;
    padding-bottom: 0.375rem;
  }
}

.p-case-detail-related__slider {
  overflow: visible;
}

.p-case-detail-related__track {
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-case-detail-related__track {
    padding-top: 2.5rem;
  }
}

.p-case-detail-related__card {
  flex: 0 0 20rem;
  width: 20rem;
}
@media screen and (max-width: 767px) {
  .p-case-detail-related__card {
    flex-basis: 15rem;
    width: 15rem;
  }
}

.p-case-detail-related__card > a {
  color: #585757;
  color: var(--color-text);
  display: block;
  text-decoration: none;
}

.p-case-detail-related__image {
  border-radius: 0.25rem;
  display: block;
  height: 25rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-case-detail-related__image {
    height: 18.75rem;
  }
}

.p-case-detail-related__image img {
  display: block;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.p-case-detail-related__body {
  display: block;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-case-detail-related__body {
    margin-top: 0.875rem;
  }
}

.p-case-detail-related__categories {
  display: flex;
  flex-wrap: wrap;
  font-size: 0.875rem;
  gap: 0 0.375rem;
  letter-spacing: 0.04em;
  line-height: 1;
  margin-bottom: 0.375rem;
}
@media screen and (max-width: 767px) {
  .p-case-detail-related__categories {
    font-size: 0.875rem;
    margin-bottom: 0.25rem;
  }
}

.p-case-detail-related__card h3 {
  color: #585757;
  color: var(--color-text);
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-case-detail-related__card h3 {
    font-size: 1.125rem;
  }
}

.p-case-detail-related__details {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-case-detail-related__details {
    gap: 0.5rem;
    margin-top: 0.875rem;
  }
}

.p-case-detail-related__details > span {
  border-bottom: 1px solid rgba(88, 87, 87, .4);
  display: grid;
  font-size: 0.75rem;
  gap: 1.25rem;
  grid-template-columns: 5.875rem minmax(0, 1fr);
  letter-spacing: 0.04em;
  line-height: 1.6;
  padding: 0 0.25rem 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-case-detail-related__details > span {
    font-size: 0.75rem;
    gap: 1.25rem;
    grid-template-columns: 5.4375rem minmax(0, 1fr);
    padding: 0 0.25rem 0.625rem;
  }
}

.p-case-detail-related__back {
  margin: 5rem 0 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-case-detail-related__back {
    margin: 3.75rem 0 0;
  }
}

.p-case {
  background-attachment: fixed;
  background-blend-mode: multiply;
  background-color: #ded8d1;
  background-color: var(--color-main-light);
  background-image: url("../images/common/noise-bg.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
  padding: 8.75rem 0 10rem;
}
@media screen and (max-width: 1023px) {
  .p-case {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: clamp(1080px, 140.625vw, 1440px) auto;
  }
}
@media screen and (max-width: 767px) {
  .p-case {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: 67.5rem auto;
    padding: 5rem 0 6.25rem;
  }
}

.p-case__inner {
  margin: 0 auto;
  max-width: 90rem;
  padding: 0 10rem;
}
@media screen and (max-width: 1023px) {
  .p-case__inner {
    padding: 0 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-case__inner {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    padding: 0 1.25rem;
  }
}

.p-case__heading {
  margin: 0 auto 5rem;
}
@media screen and (max-width: 767px) {
  .p-case__heading {
    margin: 0;
  }
}

.p-case__english img {
  max-width: none;
  width: 100%;
}

.p-case__slider {
  margin: 0 auto;
  max-width: 70rem;
}
@media screen and (max-width: 1023px) {
  .p-case__slider {
    max-width: 42rem;
  }
}

.p-case__slider .swiper-wrapper {
  align-items: flex-start;
  cursor: inherit;
}

.p-case__slide {
  flex: 0 0 20rem;
  width: 20rem;
}
@media screen and (max-width: 1023px) {
  .p-case__slide {
    flex-basis: 17.5rem;
    width: 17.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-case__slide {
    flex-basis: 15rem;
    width: 15rem;
  }
}

.p-case__card {
  color: #585757;
  color: var(--color-text);
  cursor: inherit;
  display: block;
  text-decoration: none;
}
@media (any-hover: hover) {
  .p-case__card:hover {
    opacity: 1;
  }
}

.p-case__image {
  border-radius: 0.25rem;
  display: block;
  height: 25rem;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  .p-case__image {
    height: 21.875rem;
  }
}
@media screen and (max-width: 767px) {
  .p-case__image {
    height: 18.75rem;
  }
}

.p-case__image img {
  display: block;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: -webkit-transform 0.35s ease;
  transition: transform 0.35s ease;
  transition: transform 0.35s ease, -webkit-transform 0.35s ease;
  width: 100%;
}

.p-case__body {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-case__body {
    margin-top: 0.875rem;
  }
}

.p-case__categories {
  display: flex;
  flex-wrap: wrap;
  font-size: 0.875rem;
  gap: 0 0.375rem;
  letter-spacing: 0.04em;
  line-height: 1;
  margin-bottom: 0.375rem;
}
@media screen and (max-width: 767px) {
  .p-case__categories {
    margin-bottom: 0.25rem;
  }
}

.p-case__card-title {
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-case__card-title {
    font-size: 1.125rem;
  }
}

.p-case__details {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-case__details {
    gap: 0.5rem;
    margin-top: 0.875rem;
  }
}

.p-case__detail {
  border-bottom: 1px solid rgba(88, 87, 87, .4);
  display: grid;
  font-size: 0.75rem;
  gap: 1.25rem;
  grid-template-columns: 5.875rem minmax(0, 1fr);
  letter-spacing: 0.04em;
  line-height: 1.6;
  padding: 0 0.25rem 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-case__detail {
    padding-bottom: 0.5rem;
  }
}

.p-case__detail-label {
  color: #585757;
  color: var(--color-text);
  font-weight: 500;
}

.p-case__detail-value {
  min-width: 0;
}

.p-case__pagination {
  display: flex;
  gap: 1.25rem;
  height: 0.625rem;
  justify-content: center;
  margin-top: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-case__pagination {
    margin-top: 0;
  }
}

.p-case__pagination .swiper-pagination-bullet {
  background-color: #fff;
  background-color: var(--color-white);
  border-radius: 50%;
  height: 0.625rem;
  margin: 0;
  opacity: 0.6;
  width: 0.625rem;
}

.p-case__pagination .swiper-pagination-bullet-active {
  background-color: #92877b;
  background-color: var(--color-main-dark);
  opacity: 1;
}

.p-case__button {
  display: flex;
  margin: 5rem auto 0;
  width: -webkit-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .p-case__button {
    margin-top: 0;
  }
}

.p-case__empty {
  min-height: 25rem;
}
@media screen and (max-width: 767px) {
  .p-case__empty {
    min-height: 18.75rem;
  }
}

@media (any-hover: hover) {
  .p-case__slider:not(.is-static) {
    cursor: -webkit-grab;
    cursor: grab;
  }
}

@media (any-hover: hover) {
  .p-case__slider.is-grabbing {
    cursor: -webkit-grabbing;
    cursor: grabbing;
  }
}

@media (any-hover: hover) {
  .p-case__card:hover .p-case__image img {
    -webkit-transform: scale(1.04);
            transform: scale(1.04);
  }
}

@media screen and (max-width: 767px) {
  .p-case__english {
    width: 8.1875rem;
  }
}

@media screen and (max-width: 767px) {
  .p-case__slider.swiper {
    margin-left: 0;
    margin-right: 0;
    max-width: none;
    overflow: visible;
    width: 100vw;
  }
}

.p-drawer {
  background-attachment: fixed;
  background-color: #e8e5e3;
  background-color: var(--color-base);
  background-image: url("../images/drawer/noise-pc.webp");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  inset: 0;
  opacity: 0;
  overflow-x: hidden;
  overflow-y: auto;
  pointer-events: none;
  position: fixed;
  transition: visibility 0.25s;
  visibility: hidden;
  z-index: 110;
}
@media screen and (max-width: 1023px) {
  .p-drawer {
    background-blend-mode: multiply;
    background-image: url("../images/common/noise-bg.webp");
    background-position: center top;
    background-repeat: repeat-y;
    background-size: 90rem auto;
  }
}
@media screen and (max-width: 767px) {
  .p-drawer {
    background-size: 67.5rem auto;
  }
}

.p-drawer.is-open {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}

.p-drawer {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.p-drawer::-webkit-scrollbar {
  display: none;
}

.p-drawer__panel {
  display: flex;
  height: 100%;
  min-height: 51.25rem;
}
@media screen and (max-width: 767px) {
  .p-drawer__panel {
    display: block;
    min-height: 0;
  }
}

.p-drawer__brand {
  align-items: center;
  background-color: #67645f;
  color: #fff;
  color: var(--color-white);
  display: flex;
  flex: 0 0 32.5rem;
  flex-direction: column;
  gap: 2.5rem;
  justify-content: center;
  padding: 2.5rem 8.125rem;
}
@media screen and (min-width: 768px) and (max-width: 1439px) {
  .p-drawer__brand {
    flex-basis: 36.1111111111vw;
    gap: 2.7777777778vw;
    padding: 2.7777777778vw 1.9444444444vw;
  }
}
@media screen and (max-width: 767px) {
  .p-drawer__brand {
    gap: 1.875rem;
    min-height: 33.5rem;
    padding: 5rem 1.25rem;
  }
}

.p-drawer__logo {
  display: block;
  height: 11.375rem;
  position: relative;
  width: 16.25rem;
}
@media screen and (max-width: 767px) {
  .p-drawer__logo {
    height: 7.875rem;
    width: 11.25rem;
  }
}

.p-drawer__logo-mark,
.p-drawer__logo-type {
  left: 0;
  position: absolute;
  top: 0;
}

.p-drawer__logo-mark {
  left: 5.3125rem;
}
@media screen and (max-width: 767px) {
  .p-drawer__logo-mark {
    left: 3.6875rem;
  }
}

.p-drawer__logo-type {
  top: 9.5625rem;
}
@media screen and (max-width: 767px) {
  .p-drawer__logo-type {
    top: 6.625rem;
  }
}

.p-drawer__logo-mark img {
  height: 8.0625rem;
  width: 5.625rem;
}
@media screen and (max-width: 767px) {
  .p-drawer__logo-mark img {
    height: 5.5625rem;
    width: 3.875rem;
  }
}

.p-drawer__logo-type img {
  height: auto;
  width: 16.25rem;
}
@media screen and (max-width: 767px) {
  .p-drawer__logo-type img {
    width: 11.25rem;
  }
}

.p-drawer__contact {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  width: 16.25rem;
}

.p-drawer__phone {
  align-items: center;
  color: inherit;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  line-height: 1;
  text-decoration: none;
}

.p-drawer__phone span {
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-drawer__phone span {
    font-size: 1.375rem;
  }
}

.p-drawer__phone small {
  font-size: 1rem;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-drawer__phone small {
    font-size: 0.875rem;
  }
}

.p-drawer__contact .p-drawer__reservation {
  font-size: 1.25rem;
  width: 16.25rem;
}
@media screen and (max-width: 767px) {
  .p-drawer__contact .p-drawer__reservation {
    font-size: 1.125rem;
  }
}

.p-drawer__sns {
  display: flex;
  gap: 1.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-drawer__sns a {
  align-items: center;
  display: flex;
  height: 1.25rem;
  justify-content: center;
  width: 1.25rem;
}

.p-drawer__sns img {
  display: block;
  height: auto;
  max-height: 1.25rem;
  max-width: 1.25rem;
  width: auto;
}

.p-drawer__content {
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: space-between;
  min-height: 0;
  padding: 6.875rem 10rem 6.25rem 6.875rem;
}
@media screen and (min-width: 768px) and (max-width: 1439px) {
  .p-drawer__content {
    padding: 4.8611111111vw 6.25vw 4.1666666667vw 4.8611111111vw;
  }
}
@media screen and (max-width: 767px) {
  .p-drawer__content {
    display: block;
    padding: 3.75rem 1.875rem 5rem;
  }
}

.p-drawer__nav ul {
  display: grid;
  gap: 2.5rem 6.25rem;
  grid-template-columns: 16.625rem 17.625rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media screen and (min-width: 768px) and (max-width: 1439px) {
  .p-drawer__nav ul {
    gap: 2.7777777778vw 4.8611111111vw;
    grid-template-columns: 18.4722222222vw 19.5833333333vw;
  }
}
@media screen and (max-width: 767px) {
  .p-drawer__nav ul {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
  }
}

.p-drawer__nav a {
  color: #585757;
  color: var(--color-text);
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  text-decoration: none;
  white-space: nowrap;
}

.p-drawer__nav-label {
  align-self: flex-start;
  display: block;
  height: 1.5625rem;
  width: auto;
}
@media screen and (max-width: 767px) {
  .p-drawer__nav-label {
    height: auto;
    width: auto;
  }
}
@media screen and (min-width: 768px) and (max-width: 1439px) {
  .p-drawer__nav-label {
    height: 1.7361111111vw;
  }
}

.p-drawer__nav-label--clinic-doctor {
  height: 2.25rem;
  max-width: none;
  width: 17.625rem;
}
@media screen and (max-width: 767px) {
  .p-drawer__nav-label--clinic-doctor {
    height: auto;
    width: auto;
  }
}
@media screen and (min-width: 768px) and (max-width: 1439px) {
  .p-drawer__nav-label--clinic-doctor {
    height: 2.5vw;
    width: 19.5833333333vw;
  }
}

.p-drawer__nav small {
  color: rgba(88, 87, 87, .6);
  font-size: 0.875rem;
  letter-spacing: 0.04em;
}

.p-drawer__menu {
  margin-top: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-drawer__menu {
    margin-top: 3.75rem;
  }
}

.p-drawer__menu-heading {
  align-items: center;
  display: flex;
  gap: 0.875rem;
}

.p-drawer__menu-heading::after {
  background-color: rgba(88, 87, 87, .6);
  content: "";
  flex: 1;
  height: 1px;
}

.p-drawer__menu-title {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 0.5rem;
}

.p-drawer__menu-label,
.p-drawer__menu-heading p {
  margin: 0;
}

.p-drawer__menu-label img {
  display: block;
  height: 1.5625rem;
  width: auto;
}

.p-drawer__menu-heading p {
  font-size: 0.875rem;
  letter-spacing: 0.04em;
}

.p-drawer__menu-links {
  display: grid;
  gap: 0.875rem;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-drawer__menu-links {
    display: flex;
    flex-direction: column;
  }
}

.p-drawer__menu-links a {
  align-items: center;
  background-color: #eeeeee;
  background-color: var(--color-base-light);
  border-radius: 0.25rem;
  color: #585757;
  color: var(--color-text);
  display: flex;
  font-size: 1.125rem;
  gap: 0.625rem;
  justify-content: space-between;
  letter-spacing: 0.04em;
  padding: 0.875rem;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .p-drawer__menu-links a {
    font-size: 1rem;
  }
}

.p-drawer__menu-links img {
  height: 0.75rem;
  width: 0.75rem;
}

.p-drawer__close {
  align-items: center;
  background: transparent;
  border: 1px solid #585757;
  border: 1px solid var(--color-text);
  border-radius: 50%;
  display: flex;
  height: 3.125rem;
  justify-content: center;
  padding: 0;
  position: absolute;
  right: 2.5rem;
  top: 1.25rem;
  width: 3.125rem;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-drawer__close {
    border-color: #fff;
    border-color: var(--color-white);
    height: 2.5rem;
    position: fixed;
    right: 1.25rem;
    top: 0.875rem;
    width: 2.5rem;
  }
}

.p-drawer__close img {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="table" tableValues="1 0" /><feFuncG type="table" tableValues="1 0" /><feFuncB type="table" tableValues="1 0" /></feComponentTransfer></filter></svg>#filter');
  -webkit-filter: invert(1);
          filter: invert(1);
  height: 0.8125rem;
  width: 1.3125rem;
}
@media screen and (max-width: 767px) {
  .p-drawer__close img {
    -webkit-filter: none;
            filter: none;
  }
}

.p-footer {
  margin: 0;
  padding: 0;
}

.p-footer-reserve {
  background-color: #67645f;
  color: #fff;
  color: var(--color-white);
  overflow: hidden;
  position: relative;
}
.p-footer-reserve::before {
  background-image: url("../images/footer/reserve-bg-pc.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  bottom: -14.04%;
  content: "";
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: -14.66%;
}
.p-footer-reserve--sp {
  display: none;
}
@media screen and (max-width: 1023px) {
  .p-footer-reserve::before {
    background-image: url("../images/footer/reserve-bg-sp.svg");
    background-position: left top;
    bottom: 0;
    right: -68.22%;
    top: 0;
  }
}

.p-footer-reserve__inner {
  align-items: center;
  display: flex;
  gap: 10rem;
  justify-content: center;
  margin: 0 auto;
  max-width: 90rem;
  padding: 5rem 1.25rem;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .p-footer-reserve__inner {
    display: block;
    padding: 3.75rem 1.25rem;
  }
}

.p-footer-reserve__content {
  align-items: center;
  display: flex;
  flex: 0 0 31.25rem;
  flex-direction: column;
}
@media screen and (max-width: 1023px) {
  .p-footer-reserve__content {
    display: block;
    margin: 0 auto;
    max-width: 24.25rem;
    width: 100%;
  }
}

.p-footer-reserve__title {
  line-height: 0;
  margin: 0;
}
@media screen and (max-width: 1023px) {
  .p-footer-reserve__title {
    text-align: center;
  }
}

.p-footer-reserve__title img {
  display: block;
  height: 5.625rem;
  width: 22.125rem;
}
@media screen and (max-width: 1023px) {
  .p-footer-reserve__title img {
    height: 3.75rem;
    margin: 0 auto;
    width: 14.75rem;
  }
}

.p-footer-reserve__cta {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-top: 2.5rem;
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .p-footer-reserve__cta {
    margin: 2.5rem auto 0;
    width: 18.75rem;
    gap: 0.75rem;
  }
}

.p-footer-reserve__phone {
  align-items: center;
  color: inherit;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  line-height: 1;
  text-decoration: none;
}
@media screen and (max-width: 1023px) {
  .p-footer-reserve__phone {
    gap: 0.5rem;
  }
}

.p-footer-reserve__phone-number {
  font-size: 1.75rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 1023px) {
  .p-footer-reserve__phone-number {
    font-size: 1.25rem;
  }
}

.p-footer-reserve__phone-number small {
  font-size: 1.25rem;
  font-weight: inherit;
  margin-right: 0.5rem;
}
@media screen and (max-width: 1023px) {
  .p-footer-reserve__phone-number small {
    font-size: 1rem;
    margin-right: 0.25rem;
  }
}

.p-footer-reserve__phone-hours {
  font-size: 1rem;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 1023px) {
  .p-footer-reserve__phone-hours {
    font-size: 0.875rem;
  }
}

.p-footer-reserve__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  justify-content: center;
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .p-footer-reserve__buttons {
    flex-direction: column;
    gap: 1rem;
  }
}

.p-footer-reserve__button {
  align-items: center;
  background-color: #bba786;
  background-color: var(--color-accent);
  border-radius: 0.25rem;
  color: #fff;
  color: var(--color-white);
  display: flex;
  flex: 0 1 15rem;
  font-size: 1.375rem;
  font-weight: 500;
  height: 3.125rem;
  justify-content: center;
  letter-spacing: 0.04em;
  min-width: 0;
  text-decoration: none;
  transition: opacity 0.3s ease;
  width: 15rem;
}
@media screen and (max-width: 1023px) {
  .p-footer-reserve__button {
    flex-basis: auto;
    flex-grow: 0;
    font-size: 1.375rem;
    height: 3.75rem;
    width: 100%;
  }
}

.p-footer-reserve__button:hover {
  opacity: 0.8;
}

.p-footer-reserve__consent {
  align-items: center;
  background-color: rgba(255, 255, 255, .06);
  border-radius: 0.25rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-top: 2.5rem;
  padding: 1.25rem 1.875rem;
  text-align: center;
  width: 31.0625rem;
}
.p-footer-reserve__consent--sp {
  display: none;
}
@media screen and (max-width: 1023px) {
  .p-footer-reserve__consent {
    gap: 1.25rem;
    margin: 1.875rem auto 0;
    max-width: 24.25rem;
    padding: 1.25rem;
    width: 100%;
  }
  .p-footer-reserve__consent--pc {
    display: none;
  }
  .p-footer-reserve__consent--sp {
    display: flex;
    margin: 1.875rem auto 0;
  }
}

.p-footer-reserve__consent p {
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0;
}
@media screen and (max-width: 1023px) {
  .p-footer-reserve__consent p {
    line-height: 1.6;
  }
}

.p-footer-reserve__consent-break--sp {
  display: none;
}
@media screen and (max-width: 1023px) {
  .p-footer-reserve__consent-break--sp {
    display: inline;
  }
}

.p-footer-reserve__consent-link {
  align-items: center;
  border: 1px solid rgba(255, 255, 255, .4);
  border-radius: 0.25rem;
  color: inherit;
  display: flex;
  font-size: 0.875rem;
  gap: 0.625rem;
  letter-spacing: 0.04em;
  line-height: 1;
  padding: 0.875rem;
  text-decoration: none;
}

.p-footer-reserve__consent-link img {
  height: 1rem;
  width: 0.6875rem;
}

.p-footer-reserve__calendar {
  flex: 0 0 21.6875rem;
  width: 21.6875rem;
}
@media screen and (max-width: 1023px) {
  .p-footer-reserve__calendar {
    margin: 1.875rem auto 0;
    width: 18.75rem;
  }
}

.p-footer-reserve__calendar-slide {
  border-radius: 0.25rem;
  overflow: hidden;
  will-change: opacity;
}
@media (prefers-reduced-motion: reduce) {
  .p-footer-reserve__calendar-slide {
    will-change: auto;
  }
}

.p-footer-reserve__calendar-slide img {
  display: block;
  height: 27.125rem;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .p-footer-reserve__calendar-slide img {
    height: 23.4375rem;
  }
}

.p-footer-reserve__calendar-controls {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 1.25rem auto 0;
  width: 10.5625rem;
}

.p-footer-reserve__calendar-button {
  align-items: center;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, .4);
  border-radius: 50%;
  display: flex;
  height: 2.125rem;
  justify-content: center;
  padding: 0;
  width: 2.125rem;
}

.p-footer-reserve__calendar-button img {
  height: 0.75rem;
  width: 0.75rem;
}

.p-footer-reserve__calendar-button:not(.p-footer-reserve__calendar-button--next) img {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.p-footer-reserve__calendar-count {
  font-family: Zen Kaku Gothic New, sans-serif;
  font-family: var(--font-base);
  font-size: 1rem;
  letter-spacing: 0.06em;
  line-height: 1;
  margin: 0;
}

.p-footer-clinic {
  background-attachment: fixed;
  background-blend-mode: multiply;
  background-color: #ded8d1;
  background-color: var(--color-main-light);
  background-image: url("../images/common/noise-bg.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 1023px) {
  .p-footer-clinic {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: clamp(1080px, 140.625vw, 1440px) auto;
  }
}
@media screen and (max-width: 767px) {
  .p-footer-clinic {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: 67.5rem auto;
  }
}

.p-footer-clinic__inner {
  align-items: center;
  display: flex;
  gap: 5rem;
  margin: 0 auto;
  padding: 8.75rem 0;
  width: 62rem;
}
@media screen and (max-width: 1023px) {
  .p-footer-clinic__inner {
    display: block;
    padding: 3.75rem 1.25rem;
    width: 100%;
  }
}

.p-footer-clinic__information {
  align-items: center;
  display: flex;
  flex: 0 0 15rem;
  flex-direction: column;
  gap: 1.875rem;
}
@media screen and (max-width: 1023px) {
  .p-footer-clinic__information {
    gap: 1.25rem;
    margin: 0 auto;
    width: 12.5rem;
  }
}

.p-footer-clinic__logo {
  display: block;
  height: 10.5rem;
  position: relative;
  width: 15rem;
}
@media screen and (max-width: 1023px) {
  .p-footer-clinic__logo {
    height: 8.75rem;
    width: 12.5rem;
  }
}

.p-footer-clinic__logo-mark,
.p-footer-clinic__logo-type {
  display: block;
  position: absolute;
}

.p-footer-clinic__logo-mark {
  height: 7.4375rem;
  left: 4.875rem;
  top: 0;
  width: 5.1875rem;
}
@media screen and (max-width: 1023px) {
  .p-footer-clinic__logo-mark {
    height: 6.1875rem;
    left: 4.0625rem;
    width: 4.3125rem;
  }
}

.p-footer-clinic__logo-type {
  bottom: 0;
  height: 1.6875rem;
  left: 0;
  width: 15rem;
}
@media screen and (max-width: 1023px) {
  .p-footer-clinic__logo-type {
    height: 1.375rem;
    width: 12.5rem;
  }
}

.p-footer-clinic__logo-mark img,
.p-footer-clinic__logo-type img {
  display: block;
  height: 100%;
  width: 100%;
}

.p-footer-clinic__address {
  color: #585757;
  color: var(--color-text);
  font-size: 1rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0;
  text-align: center;
  width: 12.5rem;
}
@media screen and (max-width: 1023px) {
  .p-footer-clinic__address {
    font-size: 1rem;
    width: 12.5rem;
  }
}

.p-footer-clinic__map {
  align-items: flex-start;
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0.875rem;
  min-width: 0;
}
@media screen and (max-width: 1023px) {
  .p-footer-clinic__map {
    margin-top: 2.5rem;
    width: 100%;
  }
}

.p-footer-clinic__map-embed {
  border-radius: 0.25rem;
  height: 18.75rem;
  overflow: hidden;
  width: 42rem;
}
@media screen and (max-width: 1023px) {
  .p-footer-clinic__map-embed {
    height: 12.5rem;
    width: 100%;
  }
}

.p-footer-clinic__map-embed iframe {
  border: 0;
  display: block;
  height: 100%;
  width: 100%;
}

.p-footer-menu {
  background-attachment: fixed;
  background-blend-mode: multiply;
  background-color: #ded8d1;
  background-color: var(--color-main-light);
  background-image: url("../images/common/noise-bg.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 1023px) {
  .p-footer-menu {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: clamp(1080px, 140.625vw, 1440px) auto;
  }
}
@media screen and (max-width: 767px) {
  .p-footer-menu {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: 67.5rem auto;
  }
}

.p-footer-menu__inner {
  display: flex;
  flex-direction: column;
  gap: 6.25rem;
  margin: 0 auto;
  padding: 0 0 8.75rem;
  width: 62rem;
}
@media screen and (max-width: 1023px) {
  .p-footer-menu__inner {
    gap: 3.75rem;
    padding: 0 1.25rem 6.25rem;
    width: 100%;
  }
}

.p-footer-menu__group {
  display: flex;
  flex-direction: column;
  gap: 2.0625rem;
}
@media screen and (max-width: 1023px) {
  .p-footer-menu__group {
    gap: 1.25rem;
  }
}

.p-footer-menu__group-title {
  align-items: center;
  color: #92877b;
  color: var(--color-main-dark);
  display: flex;
  font-size: 1.5rem;
  font-weight: 500;
  gap: 0.625rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0;
}
@media screen and (max-width: 1023px) {
  .p-footer-menu__group-title {
    font-size: 1.125rem;
  }
}

.p-footer-menu__group-title::after {
  background-color: rgba(88, 87, 87, .4);
  content: "";
  flex: 1;
  height: 1px;
}

.p-footer-menu__categories {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
@media screen and (max-width: 1023px) {
  .p-footer-menu__categories {
    gap: 2.5rem;
  }
}

.p-footer-menu__category {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media screen and (max-width: 1023px) {
  .p-footer-menu__category {
    gap: 0.625rem;
  }
}

.p-footer-menu__category-title {
  color: #585757;
  color: var(--color-text);
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0;
}
@media screen and (max-width: 1023px) {
  .p-footer-menu__category-title {
    font-size: 1rem;
  }
}

.p-footer-menu__links {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 1023px) {
  .p-footer-menu__links {
    gap: 0.875rem 1.25rem;
  }
}

.p-footer-menu__links a {
  color: #585757;
  color: var(--color-text);
  display: block;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.p-footer-bottom {
  background-attachment: fixed;
  background-blend-mode: multiply;
  background-color: #eee;
  background-image: url("../images/common/noise-bg.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 3.125rem 10rem;
}
@media screen and (max-width: 1023px) {
  .p-footer-bottom {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: clamp(1080px, 140.625vw, 1440px) auto;
    padding: 2.5rem 1.25rem 5.625rem;
  }
}
@media screen and (max-width: 767px) {
  .p-footer-bottom {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: 67.5rem auto;
  }
}

.p-footer-bottom__nav {
  margin: 0 auto;
  max-width: 70rem;
}

.p-footer-bottom__nav ul {
  display: flex;
  justify-content: space-between;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 1023px) {
  .p-footer-bottom__nav ul {
    -webkit-column-gap: 2.5rem;
       -moz-column-gap: 2.5rem;
            column-gap: 2.5rem;
    display: grid;
    grid-template-columns: 5.4375rem minmax(0, 1fr);
    row-gap: 0.875rem;
  }
}

.p-footer-bottom__nav--compact ul {
  gap: 3.1875rem;
  justify-content: flex-start;
}
@media screen and (max-width: 1023px) {
  .p-footer-bottom__nav--compact ul {
    -webkit-column-gap: 3.1875rem;
       -moz-column-gap: 3.1875rem;
            column-gap: 3.1875rem;
    grid-template-columns: repeat(2, -webkit-max-content);
    grid-template-columns: repeat(2, max-content);
    row-gap: 0.875rem;
  }
}

.p-footer-bottom__nav a {
  color: #585757;
  color: var(--color-text);
  display: block;
  font-size: 1rem;
  letter-spacing: 0.04em;
  line-height: 1.4;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 1023px) {
  .p-footer-bottom__nav a {
    font-size: 0.875rem;
    line-height: 1;
    white-space: nowrap;
  }
}

.p-footer-bottom__nav a:hover {
  opacity: 0.7;
}

.p-footer-bottom__lower {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 5rem auto 0;
  max-width: 70rem;
}
@media screen and (max-width: 1023px) {
  .p-footer-bottom__lower {
    align-items: flex-start;
    flex-direction: column;
    margin-top: 3.75rem;
  }
}

.p-footer-bottom__lower--without-sns {
  justify-content: flex-end;
}

.p-footer-bottom__legal {
  align-items: center;
  display: flex;
  gap: 2.5rem;
}
@media screen and (max-width: 1023px) {
  .p-footer-bottom__legal {
    justify-content: space-between;
    width: 100%;
  }
}

@media screen and (max-width: 1023px) {
  .p-footer-bottom__sns + .p-footer-bottom__legal {
    margin-top: 2.5rem;
  }
}

.p-footer-bottom__sns {
  display: flex;
  gap: 1.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-footer-bottom__sns a {
  align-items: center;
  display: flex;
  height: 1.25rem;
  justify-content: center;
  transition: opacity 0.3s ease;
  width: 1.25rem;
}

.p-footer-bottom__sns a:hover {
  opacity: 0.7;
}

.p-footer-bottom__sns img {
  display: block;
  height: auto;
  max-width: 100%;
  width: 100%;
}

.p-footer-bottom__copyright {
  color: #585757;
  color: var(--color-text);
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  line-height: 1;
}
@media screen and (max-width: 1023px) {
  .p-footer-bottom__copyright {
    font-size: 0.875rem;
  }
}

.p-footer-bottom__privacy-link {
  color: #585757;
  color: var(--color-text);
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  line-height: 1;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.12em;
  transition: opacity 0.3s ease;
}
.p-footer-bottom__privacy-link:hover {
  opacity: 0.7;
}
@media screen and (max-width: 1023px) {
  .p-footer-bottom__privacy-link {
    font-size: 0.875rem;
  }
}

.p-fv {
  height: 51.25rem;
  overflow: hidden;
  position: relative;
}

.p-fv__swiper,
.p-fv__slide,
.p-fv__picture,
.p-fv__picture img {
  height: 100%;
  width: 100%;
}

.p-fv__swiper {
  inset: 0;
  position: absolute;
}

.p-fv .p-fv__swiper {
  z-index: 0;
}

.p-fv__picture,
.p-fv__picture img {
  display: block;
}

.p-fv__picture img {
  -o-object-fit: cover;
     object-fit: cover;
}

.p-fv__copy {
  color: #fff;
  color: var(--color-white);
  left: 50%;
  letter-spacing: 0.08em;
  position: absolute;
  text-align: center;
  text-shadow: 0.25rem 0.25rem 0.5rem rgba(88, 75, 64, .24);
  top: 45.3%;
  -webkit-transform: translateX(-48%);
          transform: translateX(-48%);
  white-space: nowrap;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-fv__copy {
    letter-spacing: 0.06em;
    top: min(100vh - 11.625rem, 70%);
    top: min(100dvh - 11.625rem, 70%);
  }
}

.p-fv__copy p {
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.46;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-fv__copy p {
    font-size: 1.875rem;
    line-height: 1.4;
  }
}

.p-fv__wordmark {
  mix-blend-mode: soft-light;
  position: absolute;
  z-index: 2;
}

.p-fv__wordmark img {
  display: block;
  height: auto;
  width: 100%;
}

.p-fv__wordmark--pc {
  bottom: 0;
  left: 0;
  width: max(100%, 90rem);
}
@media screen and (max-width: 767px) {
  .p-fv__wordmark--pc {
    display: none;
  }
}

.p-fv__wordmark--sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-fv__wordmark--sp {
    bottom: auto;
    display: block;
    left: calc(50% + 15.8125rem);
    top: 47.125rem;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
    width: 26.75rem;
  }
}

.p-header {
  color: #585757;
  color: var(--color-text);
  left: 0;
  position: fixed;
  top: 0;
  transition: background-color 0.5s ease-in-out, color 0.5s ease-in-out;
  width: 100%;
  z-index: 100;
}

.p-header--fv {
  color: #fff;
  color: var(--color-white);
}

.p-header--default,
.p-header.is-default {
  color: #585757;
  color: var(--color-text);
}

.p-header__inner {
  align-items: center;
  display: flex;
  justify-content: space-between;
  min-height: 5.625rem;
  padding: 1.25rem 2.5rem;
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-header__inner {
    padding-inline: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-header__inner {
    min-height: 4.25rem;
    padding: 0.875rem 1.25rem;
  }
}

.p-header__logo a {
  display: block;
  height: 3.125rem;
  position: relative;
  transition: opacity 0.3s ease;
  width: 20.25rem;
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-header__logo a {
    width: 15.3125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-header__logo a {
    height: 2.5rem;
    width: 16.1875rem;
  }
}

.p-header__logo-mark,
.p-header__logo-type {
  position: absolute;
}

.p-header__logo-mark {
  left: 0;
  top: 0;
  height: 3.125rem;
  width: 2.1875rem;
}
.p-header__logo-mark img {
  height: 100%;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-header__logo-mark {
    height: 2.5rem;
    width: 1.75rem;
  }
}

.p-header__logo-type {
  aspect-ratio: 262.346/29.1297;
  background-color: currentColor;
  display: block;
  left: 3.875rem;
  mask: url("../images/header/logo-fv-type.svg") center/contain no-repeat;
  -webkit-mask: url("../images/header/logo-fv-type.svg") center/contain no-repeat;
  top: 0.625rem;
  width: 16.375rem;
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-header__logo-type {
    left: 3.125rem;
    width: 12.1875rem;
  }
}
@media screen and (max-width: 767px) {
  .p-header__logo-type {
    left: 3.0625rem;
    top: 0.5rem;
    width: 13.125rem;
  }
}

.p-header__actions {
  align-items: center;
  display: flex;
  gap: 1.875rem;
  margin-left: auto;
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-header__actions {
    gap: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-header__actions {
    display: none;
  }
}

.p-header__phone {
  align-items: center;
  color: inherit;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  line-height: 1;
  text-decoration: none;
  transition: none;
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-header__phone {
    white-space: nowrap;
  }
}

.p-header__phone-number {
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-header__phone-number {
    font-size: 1.125rem;
  }
}

.p-header__phone-hours {
  font-size: 0.75rem;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-header__phone-hours {
    font-size: 0.6875rem;
  }
}

.p-header__reservations {
  display: flex;
  gap: 0.625rem;
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-header__reservations {
    gap: 0.5rem;
  }
}

.p-header__reservation,
.p-drawer__reservation,
.p-fixed-cta__button {
  align-items: center;
  background-color: #bba786;
  background-color: var(--color-accent);
  border-radius: 0.25rem;
  color: #fff;
  color: var(--color-white);
  display: flex;
  font-size: 1.125rem;
  font-weight: 500;
  height: 3.125rem;
  justify-content: center;
  letter-spacing: 0.04em;
  text-decoration: none;
  width: 10rem;
}

.p-header__reservation {
  transition: background-color 0.3s ease;
}
@media (any-hover: hover) {
  .p-header__reservation:hover {
    background-color: #cabca5;
    opacity: 1;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-header__reservation {
    width: 8.125rem;
  }
}

.p-header__menu {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 50%;
  color: inherit;
  display: flex;
  height: 3.125rem;
  justify-content: center;
  margin-left: 1.875rem;
  padding: 0;
  position: relative;
  width: 3.125rem;
  z-index: 102;
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-header__menu {
    margin-left: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-header__menu {
    height: 2.5rem;
    margin-left: 0;
    width: 2.5rem;
  }
}

.p-header.is-drawer-open .p-header__menu {
  border: 1px solid currentColor;
}

.p-header__menu-open-icon {
  background-color: currentColor;
  display: block;
  height: 100%;
  left: 0;
  mask: url("../images/header/menu-fv.svg") center/contain no-repeat;
  -webkit-mask: url("../images/header/menu-fv.svg") center/contain no-repeat;
  position: absolute;
  top: 0;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-header__menu-open-icon {
    mask-image: url("../images/header/menu-fv-sp.svg");
    -webkit-mask-image: url("../images/header/menu-fv-sp.svg");
  }
}

.p-header__menu-close-icon {
  display: none;
  height: 0.8125rem;
  width: 1.3125rem;
}

.p-header.is-drawer-open .p-header__menu-open-icon {
  display: none;
}

.p-header.is-drawer-open .p-header__menu-close-icon {
  display: block;
}

.p-header--default.is-drawer-open .p-header__menu-close-icon,
.p-header.is-default.is-drawer-open .p-header__menu-close-icon {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="table" tableValues="1 0" /><feFuncG type="table" tableValues="1 0" /><feFuncB type="table" tableValues="1 0" /></feComponentTransfer></filter></svg>#filter');
  -webkit-filter: invert(1);
          filter: invert(1);
}

.p-fixed-cta {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-fixed-cta {
    bottom: 0;
    display: flex;
    gap: 0.5rem;
    padding: 0 1.25rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 80;
  }
}

@media screen and (max-width: 767px) {
  .p-fixed-cta__phone {
    align-items: center;
    background-color: #fff;
    background-color: var(--color-white);
    border: 1px solid #92877b;
    border: 1px solid var(--color-main-dark);
    border-radius: 0.25rem;
    color: #92877b;
    color: var(--color-main-dark);
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 0.375rem;
    justify-content: center;
    line-height: 1;
    min-width: 0;
    padding: 0.5rem 0.375rem;
    text-decoration: none;
    white-space: nowrap;
  }
}
@media screen and (max-width: 767px) {
  .p-fixed-cta__phone span {
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0.04em;
  }
}
@media screen and (max-width: 767px) {
  .p-fixed-cta__phone small {
    font-size: 0.75rem;
    letter-spacing: 0.04em;
  }
}

@media screen and (max-width: 767px) {
  .p-fixed-cta__button {
    flex: 1;
    min-width: 0;
    width: auto;
  }
}

@media screen and (max-width: 767px) {
  .p-fixed-cta[data-cta-count="3"] .p-fixed-cta__phone {
    flex: 0 0 auto;
  }
}

@media screen and (max-width: 767px) {
  .p-fixed-cta:has(> :nth-child(2):last-child) > .p-fixed-cta__phone,
  .p-fixed-cta:has(> :nth-child(2):last-child) > .p-fixed-cta__button {
    flex: 0 0 calc(50% - 0.25rem);
    width: calc(50% - 0.25rem);
  }
}

.p-menu-detail-page {
  background-attachment: fixed;
  background-blend-mode: multiply;
  background-color: #e8e5e3;
  background-color: var(--color-base);
  background-image: url("../images/common/noise-bg.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .p-menu-detail-page {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: clamp(1080px, 140.625vw, 1440px) auto;
  }
}
@media screen and (max-width: 767px) {
  .p-menu-detail-page {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: 67.5rem auto;
  }
}

.p-menu-detail-hero {
  border-bottom: 1px solid #92877b;
  border-bottom: 1px solid var(--color-main-dark);
  padding: 18.75rem 10rem 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-menu-detail-hero {
    padding: 12.5rem 1.25rem 5rem;
  }
}

.p-menu-detail-hero__inner {
  margin: 0 auto;
  max-width: 70rem;
  width: 100%;
}

.p-menu-detail-hero__category {
  color: #92877b;
  color: var(--color-main-dark);
  font-size: 1rem;
  letter-spacing: 0.06em;
  line-height: 1;
  margin: 0 0 0.875rem;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-menu-detail-hero__category {
    font-size: 0.875rem;
    text-align: left;
  }
}

.p-menu-detail-hero__title {
  color: #92877b;
  color: var(--color-main-dark);
  font-size: 2.25rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.6;
  margin: 0;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-menu-detail-hero__title {
    font-size: 1.625rem;
    text-align: left;
  }
}

.p-menu-detail {
  padding: 8.75rem 1.25rem 11.25rem;
}
@media screen and (max-width: 767px) {
  .p-menu-detail {
    padding: 5rem 1.25rem 7.5rem;
  }
}

.p-menu-detail__inner {
  margin: 0 auto;
  max-width: 50rem;
}

.p-menu-detail__thumbnail {
  border-radius: 0.25rem;
  margin: 0 auto 5rem;
  max-width: 37.5rem;
  overflow: hidden;
}
.p-menu-detail__thumbnail img {
  display: block;
  height: auto;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-menu-detail__thumbnail {
    margin-bottom: 5rem;
  }
}

.p-menu-detail-index {
  background: #eeeeee;
  background: var(--color-base-light);
  border-radius: 1.125rem;
  margin: 0;
  padding: 1.25rem 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-menu-detail-index {
    margin-bottom: 3.75rem;
  }
}

.p-menu-detail-index__title {
  line-height: 1;
  margin: 0;
}
.p-menu-detail-index__title img {
  display: block;
  height: 1.5rem;
  width: 3.375rem;
}

.c-block-editor-content .p-menu-detail-index__title {
  margin: 0;
}

.p-menu-detail-index__list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
}
.p-menu-detail-index__list li {
  display: block;
  height: 2.25rem;
  margin: 0;
}
.p-menu-detail-index__list a {
  align-items: center;
  border: 1px solid rgba(88, 87, 87, .4);
  border-radius: 0.75rem;
  display: flex;
  height: 100%;
  line-height: 1.6;
  padding: 0.25rem 0.625rem;
  text-decoration: none;
  transition: border-color 0.5s ease;
}
@media screen and (max-width: 767px) {
  .p-menu-detail-index__list a {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}
@media (any-hover: hover) {
  .p-menu-detail-index__list a:hover {
    border-color: rgb(88, 87, 87);
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .p-menu-detail-index__list {
    gap: 1rem;
    margin-top: 1rem;
  }
}

.c-block-editor-content .p-menu-detail-index__list {
  margin: 1rem 0 0;
  padding: 0;
}

.p-menu-detail-pickup {
  margin: 1.875rem 0 0;
}

.p-menu-detail-pickup__list {
  display: grid;
  gap: 0.625rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.c-block-editor-content .p-menu-detail-pickup__list {
  margin: 0;
  padding: 0;
}

.p-menu-detail-pickup__link {
  align-items: center;
  border: 1px solid rgba(88, 87, 87, .4);
  border-radius: 0.25rem;
  display: flex;
  justify-content: space-between;
  min-height: 3.375rem;
  padding: 0.875rem;
  text-decoration: none;
}
.p-menu-detail-pickup__link::after {
  content: "→";
  font-family: Shippori Mincho, serif;
  font-family: var(--font-mincho);
}

.p-menu-detail-price-pickup {
  margin: 1.5rem 0 0;
}
@media screen and (max-width: 767px) {
  .p-menu-detail-price-pickup {
    margin-top: 1.25rem;
  }
}

.p-menu-detail-price-pickup__cards {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.p-menu-detail-price-pickup .p-price-card {
  margin: 0;
}

.p-menu-detail-price-pickup .p-price-card__title {
  background: #c4b9ad;
  color: #fff;
  color: var(--color-white);
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0;
  padding: 0.25rem 0.75rem;
}

.p-menu-detail-price-pickup .p-price-card__related-text,
.p-menu-detail-price-pickup .p-price-card__row-title {
  margin: 0;
}

.p-menu-detail-case-pickup {
  margin: 1.5rem 0 0;
  overflow: hidden;
  touch-action: pan-y;
  width: 100%;
}

@media (any-hover: hover) {
  .p-menu-detail-case-pickup:not(.is-static) {
    cursor: -webkit-grab;
    cursor: grab;
  }
}

@media (any-hover: hover) {
  .p-menu-detail-case-pickup.is-grabbing {
    cursor: -webkit-grabbing;
    cursor: grabbing;
  }
}

.p-menu-detail-case-pickup__track {
  align-items: flex-start;
  cursor: inherit;
  display: flex;
  width: -webkit-max-content;
  width: max-content;
}

.p-menu-detail-case-pickup__card {
  flex: 0 0 20rem;
  width: 20rem;
}
@media screen and (max-width: 767px) {
  .p-menu-detail-case-pickup__card {
    flex-basis: 11.5rem;
    width: 11.5rem;
  }
}
.p-menu-detail-case-pickup__card > a {
  color: #585757;
  color: var(--color-text);
  display: block;
  text-decoration: none;
}

.p-menu-detail-case-pickup__image {
  border-radius: 0.25rem;
  display: block;
  height: 25rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-menu-detail-case-pickup__image {
    height: 14.375rem;
  }
}
.p-menu-detail-case-pickup__image img {
  display: block;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: -webkit-transform 0.35s ease;
  transition: transform 0.35s ease;
  transition: transform 0.35s ease, -webkit-transform 0.35s ease;
  width: 100%;
}

@media (any-hover: hover) {
  .p-menu-detail-case-pickup__card:hover .p-menu-detail-case-pickup__image img {
    -webkit-transform: scale(1.04);
            transform: scale(1.04);
  }
}

@media (any-hover: hover) {
  .p-menu-detail-case-pickup__card > a:hover {
    opacity: 1;
  }
}
.p-menu-detail-case-pickup__body {
  display: flex;
  flex-direction: column;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-menu-detail-case-pickup__body {
    margin-top: 0.875rem;
  }
}

.p-menu-detail-case-pickup__categories {
  display: flex;
  flex-wrap: wrap;
  font-size: 0.875rem;
  gap: 0 0.375rem;
  letter-spacing: 0.04em;
  line-height: 1;
  margin-bottom: 0.375rem;
}
@media screen and (max-width: 767px) {
  .p-menu-detail-case-pickup__categories {
    font-size: 0.75rem;
    margin-bottom: 0.25rem;
  }
}

.p-menu-detail-case-pickup__title,
.c-block-editor-content .p-menu-detail-case-pickup__title {
  background: transparent;
  color: #585757;
  color: var(--color-text);
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .p-menu-detail-case-pickup__title,
  .c-block-editor-content .p-menu-detail-case-pickup__title {
    font-size: 1.125rem;
  }
}

.p-menu-detail-case-pickup__details {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-menu-detail-case-pickup__details {
    gap: 0.5rem;
    margin-top: 0.875rem;
  }
}

.p-menu-detail-case-pickup__detail {
  border-bottom: 1px solid rgba(88, 87, 87, .4);
  display: grid;
  font-size: 0.75rem;
  gap: 1.25rem;
  grid-template-columns: 5.875rem minmax(0, 1fr);
  letter-spacing: 0.04em;
  line-height: 1.6;
  padding: 0 0.25rem 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-menu-detail-case-pickup__detail {
    font-size: 0.625rem;
    gap: 0.5rem;
    grid-template-columns: 3.625rem minmax(0, 1fr);
    padding: 0 0 0.5rem;
  }
}
.p-menu-detail-case-pickup__detail > :first-child {
  color: #585757;
  color: var(--color-text);
  font-weight: 500;
}

.p-menu-detail-faq {
  margin: 1.875rem 0 0;
}
@media screen and (max-width: 767px) {
  .p-menu-detail-faq {
    margin-top: 1.875rem;
  }
}

.p-menu-detail-faq__items {
  display: flex;
  flex-direction: column;
  gap: 1.875rem;
}

.p-menu-detail-faq__item {
  width: 100%;
}

.p-menu-detail-faq__item h3 {
  background: transparent;
  color: inherit;
  font: inherit;
  margin: 0;
  padding: 0;
}

.p-menu-detail-faq__question {
  align-items: center;
  background: transparent;
  border: 1px solid rgba(88, 87, 87, .4);
  border-radius: 0.375rem;
  color: inherit;
  cursor: pointer;
  display: flex;
  font: inherit;
  gap: 0.875rem;
  padding: 0.875rem;
  text-align: left;
  transition: border-color 0.5s ease;
  width: 100%;
}
.p-menu-detail-faq__question .p-menu-detail-faq__label {
  color: #bba786;
  flex: 0 0 0.875rem;
}
.p-menu-detail-faq__question .p-menu-detail-faq__question-text {
  flex: 1;
}
.p-menu-detail-faq__question::after {
  background: url("../images/menu/detail/faq-toggle.svg") center/0.75rem 1.625rem no-repeat;
  content: "";
  flex: 0 0 0.75rem;
  height: 1.625rem;
  margin-left: auto;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
  width: 0.75rem;
}
.p-menu-detail-faq__question[aria-expanded=true]::after {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}
@media (any-hover: hover) {
  .p-menu-detail-faq__question:hover {
    border-color: rgb(88, 87, 87);
    opacity: 1;
  }
}

.p-menu-detail-faq__answer {
  padding: 0.625rem 0.875rem 0;
}

.p-menu-detail-faq__answer > div {
  display: flex;
  gap: 0.875rem;
}

.p-menu-detail-faq__label {
  align-items: center;
  display: flex;
  font-family: Shippori Mincho, serif;
  font-family: var(--font-mincho);
  font-size: 1.125rem;
  font-weight: 500;
  height: 1.625rem;
  justify-content: flex-start;
  letter-spacing: 0;
  line-height: 1;
}

.p-menu-detail-faq__answer .p-menu-detail-faq__label {
  color: #bba786;
  flex: 0 0 0.875rem;
  justify-content: center;
}

.p-menu-detail-faq__answer-text {
  flex: 1;
  min-width: 0;
}

.p-menu-detail__back {
  margin: 5rem 0 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-menu-detail__back {
    margin-top: 3.75rem;
  }
}
.p-menu-detail__back a {
  color: #585757;
  color: var(--color-text);
  font-size: 1rem;
  letter-spacing: 0.04em;
  line-height: 1;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.p-menu {
  background-attachment: fixed;
  background-blend-mode: multiply;
  background-color: #e8e5e3;
  background-color: var(--color-base);
  background-image: url("../images/common/noise-bg.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 5rem 1.25rem 10rem;
}
@media screen and (max-width: 1023px) {
  .p-menu {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: clamp(1080px, 140.625vw, 1440px) auto;
  }
}
@media screen and (max-width: 767px) {
  .p-menu {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: 67.5rem auto;
    padding: 0 1.25rem 6.25rem;
  }
}

.p-menu__inner {
  background-attachment: fixed;
  background-blend-mode: multiply;
  background-color: #eeeeee;
  background-color: var(--color-base-light);
  background-image: url("../images/common/noise-bg.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 1.25rem;
  margin: 0 auto;
  max-width: 80rem;
  padding: 5rem;
}
@media screen and (max-width: 1023px) {
  .p-menu__inner {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: clamp(1080px, 140.625vw, 1440px) auto;
  }
}
@media screen and (max-width: 767px) {
  .p-menu__inner {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: 67.5rem auto;
    border-radius: 1.25rem;
    padding: 3.75rem 1.25rem;
  }
}

.p-menu__heading {
  margin: 0 auto 5rem;
}
@media screen and (max-width: 767px) {
  .p-menu__heading {
    margin-bottom: 2.5rem;
  }
}

.p-menu__english {
  line-height: 0;
  margin: 0;
  width: 15.25rem;
}
.p-menu__english img {
  display: block;
  height: auto;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-menu__english {
    width: 9.5rem;
  }
}

.p-menu__tabs {
  border-bottom: 1px solid rgba(88, 87, 87, .4);
  display: flex;
  justify-content: center;
}

.p-menu__tab {
  background: transparent;
  border: 0;
  border-bottom: 0.125rem solid transparent;
  color: rgba(88, 87, 87, .4);
  cursor: pointer;
  font: inherit;
  font-size: 1.5rem;
  letter-spacing: 0.04em;
  line-height: 1;
  padding: 0 1.25rem 1.25rem;
  transition: color 0.5s ease;
  width: 16.25rem;
}
.p-menu__tab[aria-selected=true] {
  border-color: #585757;
  border-color: var(--color-text);
  color: #585757;
  color: var(--color-text);
}
.p-menu__tab:focus-visible {
  outline: 0.125rem solid #bba786;
  outline: 0.125rem solid var(--color-accent);
  outline-offset: -0.25rem;
}
@media (any-hover: hover) {
  .p-menu__tab:hover {
    color: rgb(88, 87, 87);
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .p-menu__tab {
    font-size: 1rem;
    padding: 0 0.5rem 0.75rem;
    white-space: nowrap;
    width: auto;
  }
  .p-menu__tab:first-child, .p-menu__tab:nth-child(2) {
    flex: 1;
  }
}

.p-menu__panels {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-menu__panels {
    margin-top: 2.5rem;
  }
}

.p-menu__categories {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-menu__categories {
    gap: 1.25rem;
  }
}

.p-menu__category-title {
  color: #92877b;
  color: var(--color-main-dark);
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-menu__category-title {
    color: #fff;
    color: var(--color-white);
    font-size: 1rem;
    letter-spacing: 0.04em;
  }
}

.p-menu__accordion-button {
  align-items: center;
  background: transparent;
  border: 0;
  color: inherit;
  display: flex;
  font: inherit;
  justify-content: space-between;
  padding: 0;
  text-align: left;
  width: 100%;
}
@media (any-hover: hover) {
  .p-menu__accordion-button {
    cursor: default;
    pointer-events: none;
  }
}
@media screen and (max-width: 767px) {
  .p-menu__accordion-button {
    background: #c4b9ad;
    background: var(--color-main);
    border-radius: 0.25rem;
    cursor: pointer;
    min-height: 3.375rem;
    padding: 0.875rem;
    pointer-events: auto;
  }
  .p-menu__accordion-button:focus-visible {
    outline: 0.125rem solid #bba786;
    outline: 0.125rem solid var(--color-accent);
    outline-offset: -0.1875rem;
  }
}

.p-menu__accordion-icon {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-menu__accordion-icon {
    display: block;
    height: 1rem;
    position: relative;
    width: 1rem;
    background: url("../images/top/menu/menu-accordion-closed.svg") center/contain no-repeat;
  }
}

.p-menu__category-content {
  margin-top: 1.25rem;
}
@media (prefers-reduced-motion: reduce) {
  .p-menu__category-content {
    transition: none;
  }
}
@media screen and (max-width: 767px) {
  .p-menu__category-content {
    display: grid;
    grid-template-rows: 1fr;
    margin: 0;
    opacity: 1;
    padding: 0.625rem 0 0;
    transition: grid-template-rows 0.3s ease, opacity 0.2s ease, padding-top 0.3s ease;
    transition: grid-template-rows 0.3s ease, opacity 0.2s ease, padding-top 0.3s ease, -ms-grid-rows 0.3s ease;
  }
}

.p-menu__links {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media screen and (max-width: 767px) {
  .p-menu__links {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
  }
}

.p-menu__link {
  align-items: center;
  border: 1px solid rgba(88, 87, 87, .2);
  border-radius: 0.25rem;
  display: flex;
  gap: 0.625rem;
  justify-content: space-between;
  min-height: 0;
  padding: 0.875rem;
  position: relative;
  transition: border-color 0.5s ease;
}
.p-menu__link:focus-visible {
  outline: 0.125rem solid #bba786;
  outline: 0.125rem solid var(--color-accent);
  outline-offset: 0.1875rem;
}
@media screen and (max-width: 767px) {
  .p-menu__link {
    background: #eeeeee;
    background: var(--color-base-light);
    min-height: 2.625rem;
    padding: 0.625rem 0.875rem;
  }
}
@media (any-hover: hover) {
  .p-menu__link:hover {
    border-color: rgb(88, 87, 87);
    opacity: 1;
  }
}

.p-menu__link-label {
  flex: 1;
  font-size: 1rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-menu__link-label {
    font-size: 0.875rem;
  }
}

.p-menu__link-icon {
  flex: 0 0 auto;
  height: 0.75rem;
  position: relative;
  width: 0.75rem;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-menu__link-icon {
    height: 0.75rem;
    width: 0.75rem;
  }
}

.p-menu__link-icon img {
  display: block;
  height: 100%;
  width: 100%;
}

.p-menu__links--cards .p-menu__link {
  align-items: center;
  display: grid;
  gap: 0.625rem;
  grid-template-columns: minmax(0, 1fr) 0.75rem;
  grid-template-rows: auto auto;
  padding: 0.875rem;
}
.p-menu__links--cards .p-menu__link-label {
  font-size: 0.875rem;
  grid-column: 1;
  grid-row: 2;
}
.p-menu__links--cards .p-menu__link-icon {
  height: 0.75rem;
  grid-column: 2;
  grid-row: 2;
  position: static;
  width: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-menu__links--cards {
    display: grid;
    gap: 0.625rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .p-menu__links--cards .p-menu__link {
    background: #eeeeee;
    background: var(--color-base-light);
    gap: 0.625rem 0.5rem;
    grid-template-columns: minmax(0, 1fr) 0.5rem;
    padding: 0.625rem 0.5rem;
  }
  .p-menu__links--cards .p-menu__link-icon {
    width: 0.5rem;
  }
}

.p-menu__card-image {
  aspect-ratio: 3/2;
  border-radius: 0.125rem;
  display: block;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.p-menu__link--card .p-menu__card-image {
  grid-column: 1/-1;
  grid-row: 1;
}
.p-menu__card-image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.p-menu__button {
  display: flex;
  justify-content: center;
  margin: 3.125rem auto 0;
  width: -webkit-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .p-menu__button {
    margin-top: 2.5rem;
  }
}

.p-menu__empty {
  min-height: 28.75rem;
}
@media screen and (max-width: 767px) {
  .p-menu__empty {
    min-height: 18.75rem;
  }
}

@media screen and (max-width: 767px) {
  .p-menu__category {
    background: transparent;
  }
}

@media screen and (max-width: 767px) {
  .p-menu__category.is-open .p-menu__accordion-icon {
    background-image: url("../images/top/menu/menu-accordion-open.svg");
  }
}

@media screen and (max-width: 767px) {
  .p-menu__category-content > .p-menu__links {
    min-height: 0;
    overflow: hidden;
  }
}

@media screen and (max-width: 767px) {
  .p-menu__category:not(.is-open) .p-menu__category-content {
    grid-template-rows: 0fr;
    opacity: 0;
    padding-top: 0;
  }
}

.p-menu-page {
  background-attachment: fixed;
  background-blend-mode: multiply;
  background-color: #e8e5e3;
  background-color: var(--color-base);
  background-image: url("../images/common/noise-bg.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .p-menu-page {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: clamp(1080px, 140.625vw, 1440px) auto;
  }
}
@media screen and (max-width: 767px) {
  .p-menu-page {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: 67.5rem auto;
  }
}

.p-menu-hero {
  height: max(32.5rem, 39.22vw - 2.9375rem);
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-menu-hero {
    height: max(25.5625rem, 50.84vw + 11.875rem);
  }
}

.p-menu-hero__curve {
  left: calc(50% + 2.75rem);
  position: absolute;
  top: -1.75rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: max(108.5rem, 120vw);
  z-index: 0;
}
.p-menu-hero__curve img {
  display: block;
  height: auto;
  max-width: none;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-menu-hero__curve {
    left: calc(50% - 0.0625rem);
    top: calc(50% + 3.5rem);
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: max(32.4375rem, 120vw);
  }
}

.p-menu-hero__heading {
  color: #92877b;
  color: var(--color-main-dark);
  gap: 0.5rem;
  left: 0;
  position: absolute;
  right: 0;
  top: max(19.25rem, 23.22vw - 1.75rem);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-menu-hero__heading {
    top: max(15.0625rem, 20.84vw + 9.4375rem);
  }
}

.p-menu-hero__label {
  align-items: center;
  display: flex;
  font-size: 0.875rem;
  font-weight: 400;
  gap: 0.625rem;
  letter-spacing: 0.06em;
  line-height: 1;
}

.p-menu-hero__label h1 {
  font: inherit;
  margin: 0;
}

.p-menu-hero__english {
  line-height: 0;
  margin: 0;
}
.p-menu-hero__english img {
  display: block;
  height: auto;
  max-width: none;
  width: 15.25rem;
}
@media screen and (max-width: 767px) {
  .p-menu-hero__english img {
    width: 9.5rem;
  }
}

.p-menu--archive {
  background: transparent;
  padding: 8.75rem 1.25rem 11.25rem;
}
@media screen and (max-width: 767px) {
  .p-menu--archive {
    padding: 5rem 1.25rem 7.5rem;
  }
}

.p-news-archive-page {
  background-attachment: fixed;
  background-blend-mode: multiply;
  background-color: #e8e5e3;
  background-color: var(--color-base);
  background-image: url("../images/common/noise-bg.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .p-news-archive-page {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: clamp(1080px, 140.625vw, 1440px) auto;
  }
}
@media screen and (max-width: 767px) {
  .p-news-archive-page {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: 67.5rem auto;
  }
}

.p-news-archive-hero {
  height: max(32.5rem, 39.22vw - 2.9375rem);
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-news-archive-hero {
    height: max(25.5625rem, 50.84vw + 11.875rem);
  }
}

.p-news-archive-hero__curve {
  left: calc(50% + 2.75rem);
  position: absolute;
  top: -1.75rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: max(108.5rem, 120vw);
}
.p-news-archive-hero__curve img {
  display: block;
  height: auto;
  max-width: none;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-news-archive-hero__curve {
    left: calc(50% - 0.0625rem);
    top: calc(50% + 3.5rem);
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: max(32.4375rem, 120vw);
  }
}

.p-news-archive-hero__heading {
  color: #92877b;
  color: var(--color-main-dark);
  gap: 0.5rem;
  left: 0;
  position: absolute;
  right: 0;
  top: max(19.25rem, 23.22vw - 1.75rem);
}
@media screen and (max-width: 767px) {
  .p-news-archive-hero__heading {
    top: max(15.0625rem, 20.84vw + 9.4375rem);
  }
}

.p-news-archive-hero__label {
  align-items: center;
  display: flex;
  font-size: 0.875rem;
  font-weight: 400;
  gap: 0.5rem;
  letter-spacing: 0.06em;
  line-height: 1;
}

.p-news-archive-hero__label h1 {
  font: inherit;
  margin: 0;
}

.p-news-archive-hero__english {
  line-height: 0;
  margin: 0;
}

.p-news-archive-hero__english img {
  display: block;
  height: auto;
  max-width: none;
  width: 14.5625rem;
}
@media screen and (max-width: 767px) {
  .p-news-archive-hero__english img {
    width: 9.0625rem;
  }
}

.p-news-archive {
  padding: 8.75rem 1.25rem 11.25rem;
}
@media screen and (max-width: 767px) {
  .p-news-archive {
    padding: 5rem 1.25rem 7.5rem;
  }
}

.p-news-archive__inner {
  margin: 0 auto;
  max-width: 50rem;
}

.p-news-archive__list {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-news-archive__item {
  margin: 0;
}

.p-news-archive__link {
  border-bottom: 1px solid rgba(88, 87, 87, .2);
  color: #585757;
  color: var(--color-text);
  display: block;
  padding: 0 0.625rem 0.875rem;
  text-decoration: none;
  transition: border-color 0.3s ease;
}
@media (any-hover: hover) {
  .p-news-archive__link:hover {
    border-color: #585757;
    border-color: var(--color-text);
    opacity: 1;
  }
}

.p-news-archive__date {
  display: block;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  font-size: 0.875rem;
  letter-spacing: 0.08em;
  line-height: 1.6;
  margin-bottom: 0.625rem;
}

.p-news-archive__title {
  /* autoprefixer: off */
  -webkit-box-orient: vertical;
  /* autoprefixer: on */
  -webkit-line-clamp: 2;
  display: -webkit-box;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0;
  overflow: hidden;
}

.p-news-archive .c-pagination .page-numbers {
  font-family: Shippori Mincho, serif;
  font-family: var(--font-mincho);
  font-size: 1rem;
}

.p-news-archive__empty {
  margin: 0;
  min-height: 11.25rem;
}

.p-news-archive__link:focus-visible {
  outline: 2px solid #bba786;
  outline: 2px solid var(--color-accent);
  outline-offset: 0.25rem;
}

.p-news-detail-page {
  background-attachment: fixed;
  background-blend-mode: multiply;
  background-color: #e8e5e3;
  background-color: var(--color-base);
  background-image: url("../images/common/noise-bg.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .p-news-detail-page {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: clamp(1080px, 140.625vw, 1440px) auto;
  }
}
@media screen and (max-width: 767px) {
  .p-news-detail-page {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: 67.5rem auto;
  }
}

.p-news-detail-hero {
  border-bottom: 1px solid #92877b;
  border-bottom: 1px solid var(--color-main-dark);
  padding: 18.75rem 1.25rem 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-news-detail-hero {
    padding: 12.5rem 1.25rem 5rem;
  }
}

.p-news-detail-hero__inner {
  margin: 0 auto;
  max-width: 70rem;
}

.p-news-detail-hero__title {
  color: #92877b;
  color: var(--color-main-dark);
  font-size: 2.25rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.6;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-news-detail-hero__title {
    font-size: 1.5rem;
  }
}

.p-news-detail {
  padding: 8.75rem 1.25rem 11.25rem;
}
@media screen and (max-width: 767px) {
  .p-news-detail {
    padding: 5rem 1.25rem 7.5rem;
  }
}

.p-news-detail__inner {
  margin: 0 auto;
  max-width: 50rem;
}

.p-news-detail-nav {
  align-items: center;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  margin-top: 5rem;
}

.p-news-detail-nav__previous,
.p-news-detail-nav__next {
  align-items: center;
  color: #92877b;
  color: var(--color-main-dark);
  display: flex;
  font-size: 1rem;
  font-weight: 500;
  gap: 1.25rem;
  letter-spacing: 0.06em;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}
@media (any-hover: hover) {
  .p-news-detail-nav__previous:hover,
  .p-news-detail-nav__next:hover {
    opacity: 0.7;
  }
}

.p-news-detail-nav__previous {
  justify-self: start;
}

.p-news-detail-nav__next {
  justify-self: end;
}

.p-news-detail-nav__previous::before,
.p-news-detail-nav__next::after {
  background: url("../images/common/icon-arrow-right-main.svg") center/0.75rem 0.75rem no-repeat;
  border: 1px solid rgba(146, 135, 123, .6);
  border-radius: 50%;
  content: "";
  flex: 0 0 3.125rem;
  height: 3.125rem;
  width: 3.125rem;
}

.p-news-detail-nav__previous::before {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.p-news-detail-nav__archive {
  color: #585757;
  color: var(--color-text);
  font-size: 1rem;
  letter-spacing: 0.06em;
  line-height: 1;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
@media (any-hover: hover) {
  .p-news-detail-nav__archive:hover {
    opacity: 0.7;
  }
}

.p-news-detail-nav__placeholder {
  min-width: 3.125rem;
}

.p-news-detail-nav__previous:focus-visible,
.p-news-detail-nav__next:focus-visible,
.p-news-detail-nav__archive:focus-visible {
  outline: 2px solid #bba786;
  outline: 2px solid var(--color-accent);
  outline-offset: 0.25rem;
}

@media screen and (max-width: 767px) {
  .p-news-detail-nav {
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
    grid-template-columns: repeat(2, -webkit-max-content);
    grid-template-columns: repeat(2, max-content);
    justify-content: space-between;
    margin-top: 3.75rem;
    row-gap: 0.625rem;
  }
}

@media screen and (max-width: 767px) {
  .p-news-detail-nav__previous,
  .p-news-detail-nav__next {
    font-size: 1rem;
    gap: 1.25rem;
  }
}

@media screen and (max-width: 767px) {
  .p-news-detail-nav__previous::before,
  .p-news-detail-nav__next::after {
    flex-basis: 2.5rem;
    height: 2.5rem;
    width: 2.5rem;
  }
}

@media screen and (max-width: 767px) {
  .p-news-detail-nav__archive {
    grid-column: 1/-1;
    grid-row: 2;
    justify-self: center;
  }
}

.p-news {
  background-attachment: fixed;
  background-blend-mode: multiply;
  background-color: #e8e5e3;
  background-color: var(--color-base);
  background-image: url("../images/common/noise-bg.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 8.75rem 5rem 11.25rem;
}
@media screen and (max-width: 1023px) {
  .p-news {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: clamp(1080px, 140.625vw, 1440px) auto;
  }
}
@media screen and (max-width: 767px) {
  .p-news {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: 67.5rem auto;
    padding: 5rem 1.25rem 8.75rem;
  }
}

.p-news__inner {
  align-items: center;
  background-attachment: fixed;
  background-blend-mode: multiply;
  background-color: #eeeeee;
  background-color: var(--color-base-light);
  background-image: url("../images/common/noise-bg.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 5rem;
  margin: 0 auto;
  max-width: 80rem;
  padding: 2.5rem 5rem 5rem;
}
@media screen and (max-width: 1023px) {
  .p-news__inner {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: clamp(1080px, 140.625vw, 1440px) auto;
  }
}
@media screen and (max-width: 767px) {
  .p-news__inner {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: 67.5rem auto;
    gap: 2.5rem;
    padding: 3.75rem 1.25rem;
  }
}

.p-news__intro {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-news__intro {
    gap: 0.625rem;
  }
}

.p-news__english {
  line-height: 0;
}

.p-news__english img {
  display: block;
  height: auto;
  max-width: none;
  width: 14.5625rem;
}
@media screen and (max-width: 767px) {
  .p-news__english img {
    width: 9.0625rem;
  }
}

.p-news__lead {
  font-size: 1.125rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-news__lead {
    font-size: 0.875rem;
    text-align: left;
  }
}

.p-news__list {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  list-style: none;
  margin: 0;
  padding: 0;
  width: min(100%, 50rem);
}
@media screen and (max-width: 767px) {
  .p-news__list {
    gap: 0.625rem;
  }
}

.p-news__item {
  margin: 0;
}

.p-news__link {
  border-bottom: 1px solid rgba(88, 87, 87, .2);
  color: #585757;
  color: var(--color-text);
  display: block;
  padding: 0 0.625rem 0.875rem;
  text-decoration: none;
  transition: border-color 0.3s ease;
}
@media (any-hover: hover) {
  .p-news__link:hover {
    border-color: #585757;
    border-color: var(--color-text);
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .p-news__link {
    padding: 0 0.5rem 0.625rem;
  }
}

.p-news__date {
  display: block;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  font-size: 0.875rem;
  letter-spacing: 0.08em;
  line-height: 1.6;
  margin-bottom: 0.625rem;
}

.p-news__title {
  /* autoprefixer: off */
  -webkit-box-orient: vertical;
  /* autoprefixer: on */
  display: -webkit-box;
  font-size: 1rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  overflow: hidden;
  -webkit-line-clamp: 2;
}

.p-news__empty {
  min-height: 11.25rem;
  width: min(100%, 50rem);
}
@media screen and (max-width: 767px) {
  .p-news__empty {
    min-height: 8.75rem;
  }
}

.p-news__link:focus-visible {
  outline: 2px solid #bba786;
  outline: 2px solid var(--color-accent);
  outline-offset: 0.25rem;
}

.p-not-found-page {
  background-attachment: fixed;
  background-blend-mode: multiply;
  background-color: #e8e5e3;
  background-color: var(--color-base);
  background-image: url("../images/common/noise-bg.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .p-not-found-page {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: clamp(1080px, 140.625vw, 1440px) auto;
  }
}
@media screen and (max-width: 767px) {
  .p-not-found-page {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: 67.5rem auto;
  }
}

.p-not-found {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 5rem;
  height: 40.375rem;
  justify-content: flex-end;
  overflow: hidden;
  padding: 18.75rem 1.25rem 6.25rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-not-found {
    gap: 3.75rem;
    height: 32rem;
    padding: 12.5rem 1.25rem 5rem;
  }
}

.p-not-found__curve {
  align-items: center;
  display: flex;
  height: 73rem;
  justify-content: center;
  left: calc(50% + 2.8125rem);
  position: absolute;
  top: -20.5625rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: max(115.6875rem, 128vw);
  z-index: -1;
}
.p-not-found__curve img {
  display: block;
  height: auto;
  max-width: none;
  -webkit-transform: rotate(-11.36deg);
          transform: rotate(-11.36deg);
  width: 107.375rem;
}
@media screen and (max-width: 767px) {
  .p-not-found__curve {
    height: auto;
    left: 50%;
    top: calc(50% + 1.3125rem);
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: max(32.4375rem, 120vw);
  }
  .p-not-found__curve img {
    -webkit-transform: none;
            transform: none;
    width: 100%;
  }
}

.p-not-found__content {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  text-align: center;
}

.p-not-found__title {
  color: #92877b;
  color: var(--color-main-dark);
  font-size: 2.25rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.6;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-not-found__title {
    font-size: 1.5rem;
  }
}

.p-not-found__description {
  color: #585757;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-not-found__description {
    align-self: stretch;
    text-align: left;
  }
}

.p-not-found__link {
  color: #585757;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1;
  text-decoration: underline;
  text-decoration-skip-ink: none;
  text-decoration-thickness: from-font;
  text-underline-offset: auto;
  text-underline-offset: 4px;
}
@media (any-hover: hover) {
  .p-not-found__link:hover {
    opacity: 0.5;
  }
}

.p-page-top {
  background: transparent;
  border: 0;
  bottom: 2.5rem;
  cursor: pointer;
  opacity: 0;
  padding: 0;
  pointer-events: none;
  position: fixed;
  right: 2.5rem;
  transition: opacity 0.3s ease, visibility 0s linear 0.3s;
  visibility: hidden;
  width: 5rem;
  z-index: 80;
}
.p-page-top.is-visible {
  opacity: 1;
  pointer-events: auto;
  transition: opacity 0.3s ease, visibility 0s;
  visibility: visible;
}
.p-page-top img {
  display: block;
  height: auto;
  width: 100%;
}
@media (any-hover: hover) {
  .p-page-top:hover {
    opacity: 0.7;
  }
}
.p-page-top:focus-visible {
  outline: 0.125rem solid #92877b;
  outline: 0.125rem solid var(--color-main-dark);
  outline-offset: 0.25rem;
}
@media screen and (max-width: 767px) {
  .p-page-top {
    bottom: 5.75rem;
    right: 1.25rem;
    width: 3.75rem;
  }
}

.p-pickup {
  background-attachment: fixed;
  background-blend-mode: multiply;
  background-color: #e8e5e3;
  background-color: var(--color-base);
  background-image: url("../images/common/noise-bg.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
  padding: 8.75rem 0 10rem;
}
@media screen and (max-width: 1023px) {
  .p-pickup {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: clamp(1080px, 140.625vw, 1440px) auto;
  }
}
@media screen and (max-width: 767px) {
  .p-pickup {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: 67.5rem auto;
    padding: 5rem 0 6.25rem;
  }
}

.p-pickup__heading {
  margin: 0 auto 5rem;
}
@media screen and (max-width: 767px) {
  .p-pickup__heading {
    margin-bottom: 2.5rem;
  }
}

@media screen and (max-width: 767px) {
  .p-pickup__english img {
    width: 22.4375rem;
  }
}

.p-pickup__slider {
  margin: 0 auto;
  max-width: none;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-pickup__slider {
    overflow: hidden;
  }
}

.p-pickup__layout {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 13.75rem 28.75rem minmax(0, 41.25rem);
  margin: 0 auto;
  max-width: 90rem;
  min-height: 28.75rem;
  position: relative;
}
@media screen and (min-width: 1440px) {
  .p-pickup__layout {
    grid-template-columns: 13.75rem 28.75rem 43.75rem 13.75rem;
    margin-left: 50%;
    max-width: none;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 103.75rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pickup__layout {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
    min-height: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1439px) {
  .p-pickup__layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2.1fr) minmax(0, 3fr);
    min-height: 0;
    padding: 0 2.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .p-pickup__layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.p-pickup__slide {
  width: 100%;
}

.p-pickup__media {
  align-self: end;
  grid-column: 1/-1;
  grid-row: 1;
  height: 28.75rem;
  overflow: hidden;
  position: relative;
  width: 100%;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-pickup__media {
    height: 18.75rem;
    left: 50%;
    margin-left: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 33rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .p-pickup__media {
    grid-column: 1;
    height: calc(50vw - 3.75rem);
    margin: 0;
    -webkit-transform: none;
            transform: none;
    width: 100%;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1439px) {
  .p-pickup__media {
    height: calc(34.4262vw - 2.58196rem);
  }
}

@media screen and (min-width: 1024px) and (max-width: 1439px) {
  .p-pickup__media.swiper {
    overflow: visible;
  }
}

.p-pickup__media .swiper-wrapper {
  align-items: end;
}

.p-pickup__media .p-pickup__media-slide {
  align-items: end;
  display: flex;
  height: 28.75rem;
  transition: width 0.64s cubic-bezier(0.19, 1, 0.22, 1);
  width: 13.75rem;
}
@media screen and (max-width: 767px) {
  .p-pickup__media .p-pickup__media-slide {
    height: 18.75rem;
    width: 6.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .p-pickup__media .p-pickup__media-slide {
    height: 100%;
    width: 100%;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1439px) {
  .p-pickup__media .p-pickup__media-slide {
    height: calc(34.4262vw - 2.58196rem);
    width: calc(16.3934vw - 1.22951rem);
  }
}

.p-pickup__media.is-initializing .p-pickup__media-slide {
  transition: none;
}

.p-pickup__media-slide.swiper-slide-active {
  width: 28.75rem !important;
}
@media screen and (max-width: 767px) {
  .p-pickup__media-slide.swiper-slide-active {
    width: 18.75rem !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .p-pickup__media-slide.swiper-slide-active {
    width: 100% !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1439px) {
  .p-pickup__media-slide.swiper-slide-active {
    width: calc(34.4262vw - 2.58196rem) !important;
  }
}

.p-pickup__media-image {
  aspect-ratio: 1;
  border-radius: 0.25rem;
  display: block;
  height: auto;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.p-pickup__media-image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: opacity 0.3s ease;
  width: 100%;
}

@media (any-hover: hover) {
  .p-pickup__media-image:hover img {
    opacity: 0.7;
  }
}

.p-pickup__media-link,
.p-pickup__media-switch {
  background: transparent;
  border: 0;
  height: 100%;
  inset: 0;
  padding: 0;
  position: absolute;
  width: 100%;
}

.p-pickup__media-link {
  display: none;
}

.p-pickup__media-switch {
  cursor: -webkit-grab;
  cursor: grab;
}

.p-pickup__media-slide.swiper-slide-active .p-pickup__media-link {
  display: block;
}

.p-pickup__media-slide.swiper-slide-active .p-pickup__media-switch {
  display: none;
}

.p-pickup__media:active .p-pickup__media-link,
.p-pickup__media:active .p-pickup__media-switch {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

.p-pickup__content {
  grid-column: 3;
  grid-row: 1;
  min-width: 0;
  pointer-events: none;
  position: relative;
  width: 100%;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-pickup__content {
    margin-top: 0.875rem;
    pointer-events: auto;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .p-pickup__content {
    grid-column: 2;
  }
}

.p-pickup__content .p-pickup__link {
  pointer-events: auto;
}

.p-pickup__content.swiper-fade .p-pickup__slide {
  pointer-events: none;
}

.p-pickup__body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 28.75rem;
}
@media screen and (max-width: 767px) {
  .p-pickup__body {
    gap: 1.25rem;
    margin: 0 auto;
    min-height: 0;
    width: calc(100% - 8rem);
  }
}
@media screen and (min-width: 768px) and (max-width: 1439px) {
  .p-pickup__body {
    gap: 1.5rem;
    min-height: 0;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1439px) {
  .p-pickup__body {
    min-height: calc(34.4262vw - 2.58196rem);
    padding-bottom: calc(16.3934vw + 0.27049rem);
  }
}
@media screen and (min-width: 1440px) {
  .p-pickup__body {
    grid-column: 3;
    grid-row: 1;
    padding-bottom: 15rem;
  }
}

.p-pickup__slide:not(.swiper-slide-active) .p-pickup__body {
  visibility: hidden;
}

.p-pickup__slide.swiper-slide-active .p-pickup__text {
  -webkit-animation: p-pickup-content-enter 1.22s cubic-bezier(0.19, 1, 0.22, 1) 0.3s both;
          animation: p-pickup-content-enter 1.22s cubic-bezier(0.19, 1, 0.22, 1) 0.3s both;
}

.p-pickup__text {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
@media screen and (min-width: 1440px) {
  .p-pickup__text {
    margin-left: 1.25rem;
    width: 41.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-pickup__text {
    gap: 0.5rem;
  }
}

.p-pickup__counter {
  align-items: center;
  display: flex;
  height: 3.125rem;
  justify-content: center;
  position: relative;
  width: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-pickup__counter {
    height: 2.5rem;
    width: 2.5rem;
  }
}

.p-pickup__counter svg {
  height: 100%;
  inset: 0;
  position: absolute;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  width: 100%;
}

.p-pickup__counter-track,
.p-pickup__counter-progress {
  fill: none;
  stroke-width: 1;
}

.p-pickup__counter-track {
  stroke: rgba(88, 87, 87, .4);
}

.p-pickup__counter-progress {
  stroke: #585757;
  stroke: var(--color-text);
  stroke-dasharray: 145;
  stroke-dashoffset: 145;
}

.p-pickup__counter-progress.is-animating {
  -webkit-animation: p-pickup-counter-progress 5000ms linear forwards;
          animation: p-pickup-counter-progress 5000ms linear forwards;
  -webkit-animation: p-pickup-counter-progress var(--pickup-autoplay-duration, 5000ms) linear forwards;
          animation: p-pickup-counter-progress var(--pickup-autoplay-duration, 5000ms) linear forwards;
}

.p-pickup__counter-number {
  font-size: 0.875rem;
  line-height: 1;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-pickup__counter-number {
    font-size: 0.875rem;
  }
}

.p-pickup__title {
  font-size: 1.75rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-pickup__title {
    font-size: 1.25rem;
  }
}

.p-pickup__description {
  font-size: 1rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

.p-pickup__link {
  align-self: flex-end;
  display: inline-block;
  font-size: 1rem;
  letter-spacing: 0.06em;
  line-height: 1;
  padding-bottom: 0.25rem;
  position: relative;
  text-decoration: none;
}
.p-pickup__link::after {
  background-color: currentColor;
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-pickup__link {
    align-self: flex-start;
    font-size: 1rem;
  }
}

.p-pickup__thumbnails {
  display: flex;
  gap: 1.25rem;
  justify-content: flex-end;
  margin-left: auto;
  width: 43.75rem;
}
@media screen and (max-width: 767px) {
  .p-pickup__thumbnails {
    display: none;
  }
}
@media screen and (min-width: 768px) and (max-width: 1439px) {
  .p-pickup__thumbnails {
    gap: 0.75rem;
    width: 100%;
  }
}

@media screen and (min-width: 768px) and (max-width: 1439px) {
  .p-pickup__thumbnails .p-pickup__thumbnail {
    aspect-ratio: 1;
    flex: 1 1 0;
    height: auto;
    min-width: 0;
    width: auto;
  }
}

.p-pickup__pagination {
  display: flex;
  gap: 1.25rem;
  justify-content: center;
  margin-top: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-pickup__pagination {
    margin-top: 2.5rem;
  }
}

.p-pickup__pagination .swiper-pagination-bullet {
  background-color: #fff;
  background-color: var(--color-white);
  border-radius: 50%;
  height: 0.625rem;
  margin: 0;
  opacity: 0.6;
  transition: background-color 0.3s, opacity 0.3s;
  width: 0.625rem;
}

.p-pickup__pagination .swiper-pagination-bullet-active {
  background-color: #bba786;
  background-color: var(--color-accent);
  opacity: 1;
}

.p-pickup__empty {
  min-height: 28.75rem;
}
@media screen and (max-width: 767px) {
  .p-pickup__empty {
    min-height: 18.75rem;
  }
}

@-webkit-keyframes p-pickup-counter-progress {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes p-pickup-counter-progress {
  to {
    stroke-dashoffset: 0;
  }
}
@-webkit-keyframes p-pickup-image-expand {
  from {
    opacity: 0.6;
    -webkit-transform: scale(0.68);
            transform: scale(0.68);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes p-pickup-image-expand {
  from {
    opacity: 0.6;
    -webkit-transform: scale(0.68);
            transform: scale(0.68);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes p-pickup-image-shrink {
  from {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  to {
    opacity: 0.6;
    -webkit-transform: scale(0.68);
            transform: scale(0.68);
  }
}
@keyframes p-pickup-image-shrink {
  from {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  to {
    opacity: 0.6;
    -webkit-transform: scale(0.68);
            transform: scale(0.68);
  }
}
@-webkit-keyframes p-pickup-content-enter {
  from {
    opacity: 0;
    -webkit-transform: translateX(0.4375rem) scaleX(1.04);
            transform: translateX(0.4375rem) scaleX(1.04);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0) scaleX(1);
            transform: translateX(0) scaleX(1);
  }
}
@keyframes p-pickup-content-enter {
  from {
    opacity: 0;
    -webkit-transform: translateX(0.4375rem) scaleX(1.04);
            transform: translateX(0.4375rem) scaleX(1.04);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0) scaleX(1);
            transform: translateX(0) scaleX(1);
  }
}
@media (any-hover: hover) {
  .p-pickup__link:hover {
    opacity: 0.6;
  }
}

.p-price-page {
  background-attachment: fixed;
  background-blend-mode: multiply;
  background-color: #e8e5e3;
  background-color: var(--color-base);
  background-image: url("../images/common/noise-bg.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .p-price-page {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: clamp(1080px, 140.625vw, 1440px) auto;
  }
}
@media screen and (max-width: 767px) {
  .p-price-page {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: 67.5rem auto;
  }
}

.p-price-hero {
  height: max(32.5rem, 39.22vw - 2.9375rem);
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-price-hero {
    height: max(25.5625rem, 50.84vw + 11.875rem);
  }
}

.p-price-hero__curve {
  left: calc(50% + 2.75rem);
  position: absolute;
  top: -1.75rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: max(108.5rem, 120vw);
  z-index: 0;
}
.p-price-hero__curve img {
  display: block;
  height: auto;
  max-width: none;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-price-hero__curve {
    left: calc(50% - 0.0625rem);
    top: calc(50% + 3.5rem);
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: max(32.4375rem, 120vw);
  }
}

.p-price-hero__heading {
  color: #92877b;
  color: var(--color-main-dark);
  gap: 0.5rem;
  left: 0;
  position: absolute;
  right: 0;
  top: max(19.25rem, 23.22vw - 1.75rem);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-price-hero__heading {
    top: max(15.0625rem, 20.84vw + 9.4375rem);
  }
}

.p-price-hero__label {
  align-items: center;
  display: flex;
  font-size: 0.875rem;
  font-weight: 400;
  gap: 0.5rem;
  letter-spacing: 0.06em;
  line-height: 1;
}

.p-price-hero__label h1 {
  font: inherit;
  margin: 0;
}

.p-price-hero__english img {
  display: block;
  height: auto;
  max-width: none;
  width: 14.875rem;
}
@media screen and (max-width: 767px) {
  .p-price-hero__english img {
    width: 9.9375rem;
  }
}

.p-price-detail-hero {
  border-bottom: 1px solid #92877b;
  border-bottom: 1px solid var(--color-main-dark);
  padding: 18.75rem 1.25rem 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-price-detail-hero {
    padding: 12.5rem 1.25rem 5rem;
  }
}

.p-price-detail-hero__inner {
  margin: 0 auto;
  max-width: 70rem;
  width: 100%;
}

.p-price-detail-hero__title {
  color: #92877b;
  color: var(--color-main-dark);
  font-size: 2.25rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.6;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-price-detail-hero__title {
    font-size: 1.625rem;
  }
}

.p-price {
  background: transparent;
  padding: 8.75rem 1.25rem 11.25rem;
}
@media screen and (max-width: 767px) {
  .p-price {
    padding: 5rem 1.25rem 7.5rem;
  }
}

.p-price__inner {
  display: grid;
  grid-template-areas: "main side";
  grid-template-columns: minmax(0, 45.625rem) 16.25rem;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 70rem;
}
@media screen and (max-width: 767px) {
  .p-price__inner {
    gap: 3.125rem;
    grid-template-areas: "side" "main";
    grid-template-columns: minmax(0, 1fr);
  }
}

.p-price__main {
  grid-area: main;
  min-width: 0;
}

.p-price__side {
  grid-area: side;
  height: -webkit-max-content;
  height: max-content;
  position: sticky;
  top: 6.875rem;
}
@media screen and (max-width: 767px) {
  .p-price__side {
    position: static;
  }
}

.p-price__filters {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-price__filters {
    gap: 1.25rem;
  }
}

.p-price__filter {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.p-price__filter-label {
  font-size: 1rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

.p-price__select-wrap {
  position: relative;
}

.p-price__select-wrap::after {
  background: url("../images/price/select-arrow.svg") center/contain no-repeat;
  content: "";
  height: 0.6875rem;
  pointer-events: none;
  position: absolute;
  right: 0.875rem;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
  width: 0.625rem;
}

.p-price__select {
  -webkit-appearance: none;
          appearance: none;
  border: 1px solid rgba(88, 87, 87, .6);
  border-radius: 0.375rem;
  color: #585757;
  color: var(--color-text);
  font: inherit;
  font-size: 0.875rem;
  line-height: 1.6;
  padding: 0.75rem 2.5rem 0.75rem 0.875rem;
  width: 100%;
}
.p-price__select:focus-visible {
  outline: 0.125rem solid #bba786;
  outline: 0.125rem solid var(--color-accent);
  outline-offset: 0.125rem;
}

.p-price__notes {
  color: rgba(88, 87, 87, .6);
  display: flex;
  flex-direction: column;
  font-size: 0.875rem;
  gap: 0.625rem;
  line-height: 1.6;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-price__notes {
    margin-top: 1.25rem;
  }
}

.p-price__notes p {
  display: flex;
  gap: 0.25rem;
  margin: 0;
}

.p-price__notes p > span:first-child {
  flex: 0 0 auto;
}

.p-price__tabs {
  border-bottom: 1px solid rgba(88, 87, 87, .4);
  display: flex;
  justify-content: center;
}

.p-price__tab {
  background: transparent;
  border: 0;
  border-bottom: 0.125rem solid transparent;
  color: rgba(88, 87, 87, .4);
  cursor: pointer;
  font: inherit;
  font-size: 1.5rem;
  letter-spacing: 0.04em;
  line-height: 1.4;
  padding: 0 1.25rem 1.25rem;
  width: 16.25rem;
}
.p-price__tab[aria-selected=true] {
  border-color: #585757;
  border-color: var(--color-text);
  color: #585757;
  color: var(--color-text);
}
.p-price__tab:focus-visible {
  outline: 0.125rem solid #bba786;
  outline: 0.125rem solid var(--color-accent);
  outline-offset: -0.25rem;
}
@media screen and (max-width: 767px) {
  .p-price__tab {
    flex: 1;
    font-size: 1.25rem;
    padding: 0 0.5rem 0.875rem;
    width: auto;
  }
}

.p-price__panels {
  margin-top: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-price__panels {
    margin-top: 1.5rem;
  }
}

.p-price__categories {
  display: flex;
  flex-direction: column;
  gap: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-price__categories {
    gap: 2.5rem;
  }
}

.p-price__category {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.p-price__detail-parent {
  color: #92877b;
  color: var(--color-main-dark);
  font-size: 1rem;
  letter-spacing: 0.04em;
  margin: 0 0 1rem;
}

.p-price__category-title {
  color: #92877b;
  color: var(--color-main-dark);
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-price__category-title {
    font-size: 1.125rem;
  }
}

.p-price__cards {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.p-price--detail .p-price__cards {
  gap: 1.5rem;
}

.p-price__empty {
  margin: 0;
}

.p-price-card {
  background: #eeeeee;
  background: var(--color-base-light);
  border-radius: 0.625rem;
  padding: 1.25rem 1rem;
}
@media screen and (max-width: 767px) {
  .p-price-card {
    padding: 0.875rem;
  }
}

.p-price-card__title {
  background: #c4b9ad;
  background: var(--color-main);
  color: #fff;
  color: var(--color-white);
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0;
  padding: 0.25rem 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-price-card__title {
    padding: 0.25rem 0.75rem;
  }
}

.p-price-card__related {
  align-items: flex-start;
  display: flex;
  gap: 0.375rem;
}

.p-price-card__related > img {
  flex: 0 0 0.375rem;
  height: 1.625rem;
  width: 0.375rem;
}

.p-price-card__related-text {
  font-size: 1rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0;
}

.p-price-card__group {
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-price-card__group {
    margin-top: 0.875rem;
  }
}

.p-price-card__tables {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.p-price-card__related + .p-price-card__tables {
  margin-top: 0.875rem;
}

.p-price-card__row {
  align-items: flex-start;
  border: 1px solid rgba(88, 87, 87, .2);
  border-radius: 0.25rem;
  display: flex;
  gap: 1.25rem;
  justify-content: space-between;
  padding: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-price-card__row {
    align-items: center;
    flex-direction: column;
    gap: 0.625rem;
    padding: 0.625rem;
  }
}

.p-price-card__row-title {
  flex: 1 1 0;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-price-card__row-title {
    flex: none;
    width: 100%;
  }
}

.p-price-card__amounts {
  align-items: flex-end;
  display: flex;
  flex: 0 0 22.8125rem;
  flex-direction: column;
  gap: 0.125rem;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-price-card__amounts {
    align-items: flex-end;
    flex: none;
    max-width: 100%;
    width: 21.125rem;
  }
}

.p-price-card__amount {
  align-items: baseline;
  -webkit-column-gap: 0.5rem;
     -moz-column-gap: 0.5rem;
          column-gap: 0.5rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 4.625rem 5.5rem;
  justify-content: flex-end;
  min-width: 0;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-price-card__amount {
    -webkit-column-gap: 0.5rem;
       -moz-column-gap: 0.5rem;
            column-gap: 0.5rem;
    grid-template-columns: minmax(0, 1fr) 4.625rem 5.5rem;
  }
}

.p-price-card__amount-note,
.p-price-card__amount-type,
.p-price-card__amount-price {
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

.p-price-card__amount-note,
.p-price-card__amount-type {
  min-width: 0;
  word-wrap: anywhere;
}

.p-price-card__amount-note {
  grid-column: 1;
}

.p-price-card__amount-type {
  grid-column: 2;
  max-width: 4.625rem;
}

.p-price-card__amount-price {
  grid-column: 3;
  text-align: right;
  white-space: nowrap;
}

.p-price-card__caption {
  color: rgba(88, 87, 87, .6);
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: 0.625rem 0 0;
}

.p-privacy-policy {
  background-attachment: fixed;
  background-blend-mode: multiply;
  background-color: #e8e5e3;
  background-color: var(--color-base);
  background-image: url("../images/common/noise-bg.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 1023px) {
  .p-privacy-policy {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: clamp(1080px, 140.625vw, 1440px) auto;
  }
}
@media screen and (max-width: 767px) {
  .p-privacy-policy {
    background-position: center top;
    background-repeat: repeat-y;
    background-size: 67.5rem auto;
  }
}

.p-privacy-policy__hero {
  height: max(32.5rem, 39.22vw - 2.9375rem);
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-privacy-policy__hero {
    height: 29.6875rem;
  }
}

.p-privacy-policy__hero-curve {
  left: calc(50% + 2.75rem);
  position: absolute;
  top: -1.75rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: max(108.5rem, 120vw);
  z-index: 0;
}
.p-privacy-policy__hero-curve img {
  display: block;
  height: auto;
  max-width: none;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-privacy-policy__hero-curve {
    left: calc(50% - 0.0625rem);
    top: calc(50% + 3.46875rem);
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: max(32.4375rem, 120vw);
  }
}

.p-privacy-policy__hero-heading {
  color: #92877b;
  color: var(--color-main-dark);
  gap: 0.5rem;
  left: 0;
  position: absolute;
  right: 0;
  top: max(19.1875rem, 23.22vw - 1.75rem);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-privacy-policy__hero-heading {
    top: 15rem;
  }
}

.p-privacy-policy__hero-label {
  align-items: center;
  display: flex;
  font-size: 0.875rem;
  font-weight: 400;
  gap: 0.5rem;
  letter-spacing: 0.06em;
  line-height: 1;
}

.p-privacy-policy__hero-label h1 {
  font: inherit;
  margin: 0;
}

.p-privacy-policy__hero-english {
  height: 5.625rem;
  position: relative;
  width: 42.3125rem;
}
.p-privacy-policy__hero-english img,
.p-privacy-policy__hero-english picture {
  display: block;
}
.p-privacy-policy__hero-english picture {
  height: 100%;
  width: 100%;
}
.p-privacy-policy__hero-english img {
  height: 3.875rem;
  left: 0.4375rem;
  position: absolute;
  top: 0.9375rem;
  width: 41.875rem;
}
@media screen and (max-width: 767px) {
  .p-privacy-policy__hero-english {
    height: 8.25rem;
    width: 14.4375rem;
  }
  .p-privacy-policy__hero-english img {
    height: 6.6875rem;
    left: 0.3125rem;
    top: 0.8125rem;
    width: 14.1875rem;
  }
}

.p-privacy-policy__content {
  margin: 0 auto;
  max-width: 50rem;
  padding: 8.75rem 0 11.25rem;
  width: calc(100% - 2.5rem);
}
@media screen and (max-width: 767px) {
  .p-privacy-policy__content {
    padding-block: 5rem 7.5rem;
  }
}

/* -----------------------------------------------------------------
  タブ切り替え
----------------------------------------------------------------- */
.p-tabContents {
  position: relative;
}

.p-tabContents__tabButton[aria-selected=true] {
  color: red;
}

.p-tabContents__panelWrap {
  position: relative;
  width: 100%;
  height: 30vh;
}

.p-tabContents__panel {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: all 0.8s;
}
@media screen and (max-width: 767px) {
  .p-tabContents__panel {
    width: 100%;
  }
}

.p-tabContents__panel[aria-hidden=true] {
  opacity: 0;
  visibility: hidden;
}

.p-tabContents__panel[aria-hidden=false] {
  opacity: 1;
  visibility: visible;
}
/*# sourceMappingURL=style.css.map */
