@charset "UTF-8";

.un_none{
  display:none;
}
.un_display{
  opacity: .5;
  pointer-events: none;
}

.u-none{
  opacity: .5;
  pointer-events: none;
}
.u-display-none{
  display: none;
}

/* リキッドレイアウト対応 */
.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;
  }
}

html {
  font-size: 16px;
}
@media (max-width: 1200px) {
  html {
    font-size: 1.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 16px;
  }
}
@media (max-width: 428px) {
  html {
    font-size: 3.738317757vw;
  }
}

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

/* ホバー */
a {
  text-decoration: none;
  color: inherit;
  transition: 0.3s;
}

body {
  -webkit-animation: fadeIn 2s ease 0s 1 normal;
          animation: fadeIn 2s ease 0s 1 normal;
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.blend-element {
  mix-blend-mode: exclusion;
  opacity: 0;
  -webkit-animation: showAfterFadeIn 0.5s 2s forwards;
          animation: showAfterFadeIn 0.5s 2s forwards;
}

@-webkit-keyframes showAfterFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes showAfterFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
body {
  color: #48433A;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}
body::before {
  content: "";
  display: block;
  width: 100%;
  height: 100vh;
  background: url(../images/bg.png) repeat center/contain;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}

body.is-fixed {
  position: fixed;
  left: 0;
  width: 100%;
  overflow-y: scroll;
}

*,
*::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 root defaults */
html {
  scroll-behavior: smooth;
}

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

/* 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;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="10" /></filter></svg>#filter');
  -webkit-filter: blur(10px);
          filter: blur(10px);
}

button {
  padding: 0;
  background-color: transparent;
  border: none;
  -webkit-appearance: none;
          appearance: none;
}

.c-breadcrumb {
  padding: 2.5rem 5rem;
}
@media screen and (max-width: 767px) {
  .c-breadcrumb {
    padding: 1.5rem;
  }
}

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

@media (any-hover: hover) {
  .c-breadcrumb__item a:hover {
    opacity: 0.5;
  }
}
.c-breadcrumb__item a span {
  color: #48433A;
  text-decoration: underline;
}
.c-breadcrumb__item span {
  color: #7A7368;
  display: block;
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.02em;
}
.c-breadcrumb__item:not(:first-child) {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.c-breadcrumb__item:not(:first-child)::before {
  content: "";
  display: block;
  width: 0.5rem;
  height: 1px;
  background-color: #DCD0BC;
  border-radius: 2px;
}

.c-btn-back {
  margin-top: 5rem;
  text-align: center;
}
.c-btn-back a {
  display: inline-block;
  background-color: #373432;
  border-radius: 0.25rem;
  color: #fff;
  font-size: 1rem;
  font-weight: 400;
  text-align: center;
  width: 100%;
  max-width: 12.5rem;
  padding: 0.75rem;
}
@media (any-hover: hover) {
  .c-btn-back a:hover {
    opacity: 0.5;
  }
}

.c-btn {
  color: #222222;
  background-color: #fff;
  border-radius: 6.25rem;
  display: inline-flex;
  align-items: center;
  width: 100%;
  max-width: 12.5rem;
  padding: 0.5625rem 0.625rem;
  transition: 0.3s;
}
.c-btn.--full {
  max-width: 100%;
}
.c-btn::after {
  content: "";
  display: block;
  width: 1.625rem;
  height: 1.625rem;
}
.c-btn > span {
  width: 100%;
}
.c-btn span {
  font-weight: 500;
  font-size: 0.875rem;
  text-align: center;
}
.c-btn.--bg-black {
  background-color: #222222;
  color: #fff;
}
.c-btn.--kidalab-black::after {
  background: url(../images/icon_kidalab_black.png) no-repeat center/contain;
}
.c-btn.--kidalab-white::after {
  background: url(../images/icon_kidalab_white.png) no-repeat center/contain;
}
.c-btn.--line-white::after {
  background: url(../images/icon_line_white.png) no-repeat center/contain;
}
.c-btn.--line-black::after {
  background: url(../images/icon_line_black.png) no-repeat center/contain;
}
.c-btn.--web-black::after {
  background: url(../images/icon_web_black.png) no-repeat center/contain;
}
.c-btn.--web-white::after {
  background: url(../images/icon_web_white.png) no-repeat center/contain;
}

.c-coming-soon {
  font-family: "EB Garamond", serif;
  font-size: 1.25rem;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 3.125rem;
}
.c-coming-soon.--text-white {
  color: #D5CEC9;
}

@media screen and (max-width: 767px) {
  [data-device=iphone] .c-fixed-btns {
    padding-bottom: env(safe-area-inset-bottom);
  }
}

.c-fixed-btns {
  background-color: #faf0d9;
  border-top: 1px solid #DCD0BC;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  transition: 0.5s;
}
.c-fixed-btns::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(../images/cta_bg.png) no-repeat center/cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transition: 0.3s;
}
.c-fixed-btns.is-change, .c-fixed-btns.is-subpage {
  border-color: transparent;
  background-color: #222222;
  transition: 0.5s;
}
.c-fixed-btns.is-change::before, .c-fixed-btns.is-subpage::before {
  opacity: 0;
}
.c-fixed-btns.is-change .c-btn, .c-fixed-btns.is-subpage .c-btn {
  color: #222222;
  background-color: #fff;
}
.c-fixed-btns.is-change .c-btn.--kidalab-white::after, .c-fixed-btns.is-subpage .c-btn.--kidalab-white::after {
  background: url(../images/icon_kidalab_black.png) no-repeat center/contain;
}
.c-fixed-btns.is-change .c-btn.--line-white::after, .c-fixed-btns.is-subpage .c-btn.--line-white::after {
  background: url(../images/icon_line_black.png) no-repeat center/contain;
}
.c-fixed-btns.is-change .c-btn .letter, .c-fixed-btns.is-subpage .c-btn .letter {
  text-shadow: 0 -1.5em 0 #48433A, 0 0 0 #48433A;
}
@media (any-hover: hover) {
  .c-fixed-btns.is-change .c-btn:hover .letter, .c-fixed-btns.is-subpage .c-btn:hover .letter {
    text-shadow: 0 0 0 #222222, 0 1.5em 0 #222222;
  }
}

.c-fixed-btns__inner {
  padding: 1.25rem;
}
@media screen and (max-width: 767px) {
  .c-fixed-btns__inner {
    padding: 0.625rem;
  }
}

.c-fixed-btns__list {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
}
@media screen and (max-width: 767px) {
  .c-fixed-btns__list {
    justify-content: center;
    gap: 0.25rem;
  }
}

.c-fixed-btns__item {
  width: 100%;
  max-width: 12.5rem;
}
.c-fixed-btns__item a {
  transition: 0.3s;
}

/* ハンバーガーボタン
------------------------------------------------ */
.c-hamburger {
  display: block;
  width: 3.5rem;
  height: 100%;
  z-index: 21;
  padding: 0;
  cursor: pointer;
  position: relative;
  z-index: 20;
}

.c-hamburger__icon {
  position: relative;
  display: block;
  height: 1px;
  width: 100%;
  background-color: #fff;
  opacity: 1;
  visibility: visible;
  pointer-events: all;
  transition: 0.3s;
}

.c-hamburger__icon:nth-child(1) {
  top: 0;
}

.c-hamburger__icon:nth-child(2) {
  top: 0.375rem;
}

/* アーカイブページのページ送り */
.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: 0.3s;
}
@media (any-hover: hover) {
  .c-pagenation .nav-links a:hover {
    opacity: 0.5;
  }
}
.c-pagenation .page-numbers {
  font-family: "EB Garamond", serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.8;
  border: 1px solid #DCD0BC;
  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-family: "EB Garamond", serif;
  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-share {
  margin-top: 5rem;
  margin-top: 2.5rem;
}

.c-share__text {
  display: flex;
  align-items: center;
  gap: 3rem;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.5;
}
.c-share__text::before, .c-share__text::after {
  content: "";
  display: block;
  width: 100%;
  max-width: 17.25rem;
  height: 1px;
  background-color: #C5B394;
}
.c-share__text span {
  flex-shrink: 0;
}

.c-share__sns {
  padding-block: 2.5rem;
  border-bottom: 1px solid #C5B394;
}
@media screen and (max-width: 767px) {
  .c-share__sns {
    padding-block: 2rem;
  }
}

.c-share__link-wrapper {
  /* flex-shrink: 0; */
}

.c-share__link {
  color: inherit;
  background-color: #f6efe0;
  border-radius: 3.125rem;
  border: 1px solid #DCD0BC;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.625rem;
  width: 100%;
  padding: 0.8125rem 0.8125rem 0.875rem;
  cursor: pointer;
}

.c-share__link::before {
  content: "";
  display: block;
  width: 1rem;
  height: 1.125rem;
  background: url(../images/icon_copy_link.png) no-repeat center/contain;
  flex-shrink: 0;
}

.c-share__sns-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.875rem;
}
@media screen and (max-width: 767px) {
  .c-share__sns-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.875rem 0.75rem;
  }
}

.c-share__sns-item {
  transition: 0.3s;
}
.c-share__sns-item:nth-child(1) a img {
  width: 1rem;
}
.c-share__sns-item:nth-child(2) a img {
  width: 1.125rem;
}
.c-share__sns-item:nth-child(3) a img {
  width: 1.25rem;
}
.c-share__sns-item a {
  background-color: #f6efe0;
  border-radius: 3.125rem;
  border: 1px solid #DCD0BC;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.625rem;
  padding: 0.8125rem 0.8125rem 0.875rem;
}
.c-share__sns-item a img {
  display: block;
}
.c-share__sns-item span {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
}
@media (any-hover: hover) {
  .c-share__sns-item:hover {
    opacity: 0.5;
  }
}

/* URLコピー時のトースト表示 */
.copy-toast {
  position: fixed;
  bottom: 20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: #f6efe0;
  border: 1px solid #DCD0BC;
  padding: 10px 20px;
  border-radius: 0.125rem;
  z-index: 9999;
  font-size: 1rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
}

.copy-toast.is-visible {
  opacity: 1;
}

.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-family: "EB Garamond", serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.8;
  transition: 0.3s;
}
@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: 0.3s;
}
.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;
}

.c-top-title span {
  display: block;
}
.c-top-title.--center {
  text-align: center;
}
.c-top-title.--text-white .c-top-title__en,
.c-top-title.--text-white .c-top-title__ja {
  color: #D5CEC9;
}

.c-top-title__en {
  color: #D4C7B2;
  font-family: "EB Garamond", serif;
  font-size: 3.625rem;
  font-weight: 400;
  text-transform: capitalize;
}
@media screen and (max-width: 767px) {
  .c-top-title__en {
    font-size: 3rem;
  }
}

.c-top-title__ja {
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-top: 0.75rem;
}
@media screen and (max-width: 767px) {
  .c-top-title__ja {
    font-size: 0.75rem;
  }
}

.c-video-btn {
  width: 4.5rem;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
  cursor: pointer;
  transition: 0.3s;
}
@media (any-hover: hover) {
  .c-video-btn:hover {
    opacity: 0.5;
  }
}

.js-video-container {
  position: relative;
}
.js-video-container::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .4);
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}

@media (any-hover: hover) {
  .js-video-container:hover:hover .c-video-btn__play {
    opacity: 1;
    pointer-events: auto;
  }
}

.c-video-btn.is-active .c-video-btn__play {
  opacity: 0;
  position: none;
  transition: opacity 0.3s;
}

#toc_container {
  background-color: #F6EFE0;
  display: flex;
  align-items: flex-start;
  gap: 3rem;
  padding: 2.5rem 3rem;
}
@media screen and (max-width: 767px) {
  #toc_container {
    align-items: flex-start;
    gap: 2rem;
    padding: 2.5rem 1.5rem;
  }
}

.toc_title {
  padding: 0.625rem 0.5625rem 3.75rem;
  border-right: 1px solid #48433A;
  border-left: 1px solid #48433A;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .toc_title {
    padding: 0.625rem 0.5625rem 4.375rem;
    font-size: 1.25rem;
  }
}
.toc_title span {
  display: inline-block;
}
.toc_title span + span {
  margin-top: 0.5rem;
}

.toc_list li {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.8;
  padding-left: 0.75rem;
  position: relative;
}
.toc_list li + li {
  margin-top: 0.75rem;
}
.toc_list li::before {
  content: "";
  display: block;
  width: 0.25rem;
  height: 0.25rem;
  background-color: #48433A;
  border-radius: 50%;
  position: absolute;
  top: 0.78125rem;
  left: 0;
}
@media screen and (max-width: 767px) {
  .toc_list li::before {
    top: 0.90625rem;
  }
}
.toc_list li a {
  transition: 0.3s;
}
@media (any-hover: hover) {
  .toc_list li a:hover {
    opacity: 0.5;
  }
}

.l-inner {
  width: 100%;
  max-width: 1250px;
  padding-right: 25px;
  padding-left: 25px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .l-inner {
    max-width: 640px;
    padding-right: 20px;
    padding-left: 20px;
  }
}

.l-main.--sub-page {
  padding-block: 2.5rem 10rem;
}
@media screen and (max-width: 767px) {
  .l-main.--sub-page {
    padding-block: 0 8.625rem;
  }
}
.l-main.--access {
  padding-block: 2.5rem 6.875rem;
}
@media screen and (max-width: 767px) {
  .l-main.--access {
    padding-block: 0 5.5rem;
  }
}

.l-sub-mv {
  padding: 23.125rem 7.5rem 20.125rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .l-sub-mv {
    padding: 15.9375rem 1.5rem;
  }
}
.l-sub-mv::before {
  content: "";
  display: block;
  width: 35.9375rem;
  height: 44.25rem;
  background: url(../images/sub_mv_logo.png) no-repeat center/cover;
  position: absolute;
  top: 2rem;
  right: 0;
}
@media screen and (max-width: 767px) {
  .l-sub-mv::before {
    width: 17.625rem;
    height: 27.5625rem;
    background: url(../images/sub_mv_logo_sp.png) no-repeat center/cover;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}

@media screen and (max-width: 767px) {
  .l-sub-mv__title {
    position: relative;
    z-index: 1;
  }
}

.l-sub-mv__title-en {
  font-family: "EB Garamond", serif;
  font-size: 5rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-transform: capitalize;
}
@media screen and (max-width: 767px) {
  .l-sub-mv__title-en {
    font-size: 2.75rem;
  }
}

.l-sub-mv__title_ja {
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .l-sub-mv__title_ja {
    font-size: 1rem;
  }
}

.p-404 {
  padding-block: 12rem 16rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-404 {
    padding-block: 8rem 12.375rem;
  }
}
.p-404::before {
  content: "";
  display: block;
  width: 35.9375rem;
  height: 44.25rem;
  background: url(../images/sub_mv_logo.png) no-repeat center/cover;
  position: absolute;
  top: 2rem;
  right: 0;
}
@media screen and (max-width: 767px) {
  .p-404::before {
    width: 17.625rem;
    height: 27.5625rem;
    background: url(../images/sub_mv_logo_sp.png) no-repeat center/cover;
    position: absolute;
    top: 6.25rem;
  }
}

.p-404__inner {
  max-width: 46.375rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
  position: relative;
  z-index: 1;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-404__inner {
    max-width: 22.5rem;
  }
}

.p-404__title {
  font-family: "EB Garamond", serif;
  font-size: 5rem;
  font-weight: 400;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-404__title {
    font-size: 2.75rem;
  }
}

.p-404__text {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 2.1;
  margin-top: 6rem;
}
@media screen and (max-width: 767px) {
  .p-404__text {
    font-size: 1rem;
    margin-top: 3.5rem;
  }
}

.p-404__back {
  margin-top: 5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-404__back {
    margin-top: 3.5rem;
  }
}

.p-access {
  overflow: hidden;
}

.p-access__inner {
  max-width: 72.5rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}

.p-access__info {
  display: flex;
  align-items: center;
  gap: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-access__info {
    display: block;
  }
}

.p-access__map {
  flex: 1 1 36.875rem;
  aspect-ratio: 590/394;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-access__map {
    aspect-ratio: 380/254;
  }
}
.p-access__map iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-access__map::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  display: block;
  background-color: #faf0d9;
  top: 0;
  left: 0;
  mix-blend-mode: color;
  pointer-events: none;
}

.p-access__block {
  flex: 1 1 29.375rem;
}
@media screen and (max-width: 767px) {
  .p-access__block {
    margin-top: 2rem;
  }
}

.p-access__logo {
  max-width: 25rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-access__logo {
    width: 84.7368421053%;
    max-width: 23.75rem;
    margin-inline: 0;
  }
}

.p-access__box {
  padding: 0.625rem;
  margin-top: 2.5rem;
}

.p-access__address {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
}

.p-access__link a {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  text-decoration: underline;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  width: -webkit-fit-content;
  width: fit-content;
  margin-top: 0.5rem;
  transition: 0.3s;
}
.p-access__link a::after {
  content: "";
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  -webkit-mask: url(../images/icon_blank.svg) no-repeat center/cover;
          mask: url(../images/icon_blank.svg) no-repeat center/cover;
  background-color: currentColor;
}
@media (any-hover: hover) {
  .p-access__link a:hover {
    opacity: 0.5;
  }
}

.p-access__time {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  margin-top: 1rem;
  padding-top: 1rem;
  padding-left: 0.625rem;
  position: relative;
}
.p-access__time::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: url(../images/access/border.png) repeat-x center/contain;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-access__time::before {
    background: url(../images/access/border_sp.png) repeat-x center/cover;
  }
}

.p-access__root {
  margin-top: 6.125rem;
}

.p-access__root-title {
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 1.4;
  padding-left: 1.625rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-access__root-title {
    font-size: 1.25rem;
  }
}
.p-access__root-title::before {
  content: "";
  display: block;
  width: 0.875rem;
  height: 0.875rem;
  background-color: #48433A;
  -webkit-transform-origin: center;
          transform-origin: center;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
  left: 0;
}

.p-access__root-slider {
  margin-top: 2.125rem;
  padding-bottom: 3.25rem;
  position: relative;
  /* プログレスバーの位置を下に移動 */
  /* プログレスバーの高さ変更 */
  /* プログレスバーの背景色変更 */
  /* プログレスバーの色変更 */
}
@media screen and (max-width: 767px) {
  .p-access__root-slider {
    margin-top: 2.375rem;
  }
}
.p-access__root-slider .swiper {
  overflow: visible;
}
.p-access__root-slider .swiper-slide {
  max-width: 23.75rem;
}
@media screen and (max-width: 767px) {
  .p-access__root-slider .swiper-slide {
    max-width: 18.75rem;
  }
}
.p-access__root-slider .swiper-slide:not(:last-child) .p-access__root-slider-img {
  border-right: 0;
}
.p-access__root-slider .swiper-horizontal > .swiper-pagination-progressbar,
.p-access__root-slider .swiper-pagination-progressbar.swiper-pagination-horizontal {
  bottom: 0;
  top: auto;
}
.p-access__root-slider .swiper-horizontal > .swiper-pagination-progressbar,
.p-access__root-slider .swiper-pagination-progressbar.swiper-pagination-horizontal {
  height: 2px;
  border-radius: 2px;
}
.p-access__root-slider .swiper-pagination-progressbar {
  background-color: #fff;
  overflow: hidden;
}
.p-access__root-slider .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background-color: #48433A;
}

.p-access__root-slider-img {
  border: 1px solid #DCD0BC;
  padding: 1.25rem;
}

.p-access__root-slider-block {
  padding: 1rem 1.125rem 0;
}
@media screen and (max-width: 767px) {
  .p-access__root-slider-block {
    padding: 1rem 1.25rem 1.375rem;
  }
}

.p-access__root-slider-step {
  font-family: "EB Garamond", serif;
  color: #9D6D17;
  font-size: 1rem;
  font-weight: 500;
}
.p-access__root-slider-step span {
  font-size: 1.5rem;
  margin-left: 0.1875rem;
}

.p-access__root-slider-text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  margin-top: 0.75rem;
}

.p-access__sub-root-title {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.4;
  padding-left: 0.5625rem;
  margin-top: 3rem;
  position: relative;
}
.p-access__sub-root-title::before {
  content: "";
  display: block;
  width: 0.1875rem;
  height: 1.25rem;
  border-radius: 0.125rem;
  background-color: #48433A;
  position: absolute;
  top: 0.15625rem;
  left: 0;
}

.p-clinic__mv {
  padding-block: 13.75rem 13.875rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__mv {
    padding-block: 15.125rem 14.125rem;
    overflow: hidden;
  }
}

.p-clinic__mv-wrap {
  text-align: center;
  max-width: 37.1875rem;
  margin-inline: auto;
  padding-bottom: 2.75rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-clinic__mv-wrap {
    max-width: 24rem;
  }
}

.p-clinic__mv-subtitle {
  font-family: "EB Garamond", serif;
  font-size: 1.125rem;
  font-style: italic;
  font-weight: 400;
}

.p-clinic__mv-title {
  font-size: 2.625rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  margin-top: 3.5rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__mv-title {
    font-size: 1.75rem;
    margin-right: -1.15625rem;
  }
}
.p-clinic__mv-title > * {
  overflow: hidden;
}
.p-clinic__mv-title span {
  display: block;
}
.p-clinic__mv-title span + span {
  margin-top: 3rem;
}

.p-clinic__mv-circle {
  width: 100%;
  max-width: 18.6875rem;
  -webkit-transform: rotate(5.91deg);
          transform: rotate(5.91deg);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-clinic__mv-circle {
    max-width: 12.75rem;
    left: -0.84375rem;
  }
}

.p-clinic__mv-title span {
  display: block;
  opacity: 0;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}

.p-clinic__mv-circle {
  opacity: 0;
}

.p-clinic__concept {
  background: url(../images/clinic/concept_bg.webp) no-repeat center/cover;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-block: 10rem 14.375rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__concept {
    background: url(../images/clinic/concept_bg_sp.webp) no-repeat center/cover;
    padding-block: 8.125rem 13.4375rem;
  }
}

.p-clinic__concept-inner {
  width: 100%;
  max-width: 51.125rem;
  margin-left: -8.875rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__concept-inner {
    margin-left: 0;
    padding-inline: 1.5rem 3.875rem;
  }
}

.p-clinic__concept-wrap {
  display: flex;
  justify-content: space-between;
  margin-top: 2.125rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__concept-wrap {
    display: block;
  }
}

.p-clinic__concept-subtitle {
  font-family: "EB Garamond", serif;
  font-style: italic;
  font-size: 1.125rem;
}

.p-clinic__concept-title {
  font-family: "EB Garamond", serif;
  font-size: 4.25rem;
  font-weight: 400;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-clinic__concept-title {
    font-size: 3.75rem;
  }
}

.p-clinic__concept-text {
  font-size: 1.375rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  margin-top: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__concept-text {
    font-size: 1.25rem;
    margin-top: 1.25rem;
  }
}

.p-clinic__content-text {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  height: 25.875rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: 0.03em;
  margin-top: 1.1875rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__content-text {
    margin-top: 6.75rem;
    margin-left: auto;
  }
}
.p-clinic__content-text span {
  display: block;
}
.p-clinic__content-text span + span {
  margin-right: 1.5rem;
}

.p-clinic__mission {
  padding-block: 10rem;
  border-bottom: 1px solid #DCD0BC;
}
@media screen and (max-width: 767px) {
  .p-clinic__mission {
    padding-block: 10rem 5rem;
  }
}

.p-clinic__mission-inner {
  max-width: 72.5rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__mission-inner {
    padding-inline: 1.5rem;
  }
}

.p-clinic__mission-title {
  font-family: "EB Garamond", serif;
  font-size: 3.5rem;
  font-weight: 400;
  line-height: 1.4;
}

.p-clinic__mission-text {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.2em;
  margin-top: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__mission-text {
    line-height: 1.7;
  }
}

.p-clinic__mission-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__mission-list {
    display: block;
    margin-top: 4rem;
    padding-inline: 0.625rem;
  }
}

@media screen and (max-width: 767px) {
  .p-clinic__mission-item + .p-clinic__mission-item {
    margin-top: 3rem;
  }
}

.p-clinic__mission-item-head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.125rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__mission-item-head {
    justify-content: flex-start;
  }
}

.p-clinic__mission-item-number {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  border: 1px solid #C5B394;
  font-family: "EB Garamond", serif;
  font-weight: 400;
}
.p-clinic__mission-item-number span:nth-child(1) {
  font-size: 0.875rem;
  letter-spacing: -0.02em;
}
.p-clinic__mission-item-number span:nth-child(2) {
  font-size: 2rem;
}

.p-clinic__mission-item-title {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
}

.p-clinic__mission-card-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__mission-card-list {
    display: block;
    margin-top: 6rem;
  }
}

@media screen and (max-width: 767px) {
  .p-clinic__mission-card-item + .p-clinic__mission-card-item {
    margin-top: 0.5rem;
  }
}

.p-clinic__mission-item-card {
  position: relative;
}

.p-custom-card__body {
  color: #fff;
  width: 100%;
  padding: 1.5rem;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}

.p-custom-card__title {
  font-family: "EB Garamond", serif;
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: 0.02em;
}
.p-custom-card__title::after {
  content: "";
  display: block;
  width: 1.25rem;
  height: 1px;
  margin-top: 1.5rem;
  background-color: #fff;
}

.p-custom-card__text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
  display: flex;
  align-items: center;
  min-height: 4.6875rem;
  margin-top: 1.5rem;
}

.p-clinic__doctor {
  padding-block: 10rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__doctor {
    padding-block: 5rem;
  }
}

.p-clinic__doctor-inner {
  max-width: 70rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__doctor-inner {
    padding-inline: 1.5rem;
  }
}

.p-clinic__doctor-wrap {
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-clinic__doctor-wrap {
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 4rem 1.25rem;
  }
}

.p-clinic__doctor-img {
  order: 1;
  flex: 1 1 18.75rem;
  max-width: 18.75rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__doctor-img {
    flex: 0 1 auto;
    width: 77.8947368421%;
    max-width: 100%;
  }
}

.p-clinic__doctor-head {
  order: 3;
  flex: 1 0 4.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 4.25rem;
  padding: 0.25rem 1.125rem 1rem;
  margin-left: 7.5rem;
  border-right: 1px solid #48433A;
  border-left: 1px solid #48433A;
}
@media screen and (max-width: 767px) {
  .p-clinic__doctor-head {
    flex: 0 1 auto;
    width: 16.8421052632%;
    max-width: 4rem;
    margin-left: 0;
  }
}
.p-clinic__doctor-head span {
  font-weight: 400;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}

.p-clinic__doctor-job {
  font-size: 1rem;
}

.p-clinic__doctor-name {
  font-size: 1.75rem;
  line-height: 1.1;
  display: flex;
  gap: 0.75rem;
  margin-top: 1.5rem;
}
.p-clinic__doctor-ruby {
  font-size: 0.875rem;
  line-height: 1.1;
  display: flex;
  gap: 0.25rem;
  padding: 1.375rem 0;
  margin-top: 0.75rem;
  position: relative;
}
.p-clinic__doctor-ruby::before, .p-clinic__doctor-ruby::after {
  content: "";
  display: block;
  width: 1px;
  height: 1rem;
  background-color: #C5B394;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.p-clinic__doctor-ruby::before {
  top: 0;
}
.p-clinic__doctor-ruby::after {
  bottom: 0;
}

.p-clinic__doctor-block {
  order: 2;
  flex: 1 1 32.25rem;
  max-width: 32.25rem;
  padding-top: 2rem;
  margin-left: 5rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__doctor-block {
    order: 3;
    flex: 0 1 auto;
    width: 100%;
    max-width: 100%;
    padding-top: 0;
    margin-left: 0;
  }
}

.p-clinic__doctor-block-title {
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-clinic__doctor-block-title {
    font-size: 1.5rem;
  }
}

.p-clinic__doctor-block-text {
  font-size: 1.3125rem;
  font-weight: 400;
  line-height: 1.8;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__doctor-block-text {
    line-height: 2;
  }
}

.p-clinic__doctor-block-more {
  margin-top: 2rem;
}
.p-clinic__doctor-block-more a {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  position: relative;
  font-family: "EB Garamond", serif;
}
.p-clinic__doctor-block-more 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: #48433A;
  position: absolute;
  top: 0.5rem;
  right: 0.75rem;
  transition: 0.3s;
}
.p-clinic__doctor-block-more a::after {
  content: "";
  display: block;
  width: 2.375rem;
  height: 1.25rem;
  border: 1px solid #C5B394;
  border-radius: 6.25rem;
  background-color: transparent;
  transition: 0.3s;
}
@media (any-hover: hover) {
  .p-clinic__doctor-block-more a:hover::before {
    background-color: #C5B394;
  }
  .p-clinic__doctor-block-more a:hover::after {
    background-color: #48433A;
    border-color: #48433A;
  }
}

.p-clinic__doctor-section {
  background-color: #f6efe0;
  display: flex;
  padding-block: 0.75rem;
  margin-top: 6.125rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__doctor-section {
    margin-top: 5.5rem;
    margin-right: calc(50% - 50vw);
  }
}
.p-clinic__doctor-section + .p-clinic__doctor-section {
  margin-top: 2.5rem;
}

.p-clinic__doctor-section-title {
  color: #C5B394;
  font-family: "EB Garamond", serif;
  font-size: 1.625rem;
  font-weight: 400;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  padding: 2.75rem 1.25rem;
  border-right: 1px solid #DCD0BC;
}

.p-clinic__doctor-movie-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  padding: 3rem 3.75rem 3rem 2rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__doctor-movie-list {
    display: flex;
    width: 100%;
    padding: 3rem 3rem 3rem 2rem;
    white-space: nowrap;
    overflow-x: scroll;
    overflow-y: hidden;
  }
}

@media screen and (max-width: 767px) {
  .p-clinic__doctor-movie-item {
    width: 100%;
    min-width: 12.875rem;
  }
}

.p-clinic__doctor-movie-item-video {
  width: 100%;
  aspect-ratio: 206/366;
  position: relative;
  overflow: hidden;
}
.p-clinic__doctor-movie-item-video video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-clinic__doctor-movie-caption {
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.5;
  margin-top: 0.75rem;
}

.p-clinic__doctor-salon-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
  width: 100%;
  padding: 3rem 3.75rem 3rem 2rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__doctor-salon-wrap {
    padding: 3rem 3rem 3rem 2rem;
  }
}

.p-clinic__doctor-salon-logo {
  max-width: 29rem;
  mix-blend-mode: exclusion;
}
@media screen and (max-width: 767px) {
  .p-clinic__doctor-salon-logo {
    max-width: 16rem;
  }
}

.p-clinic__doctor-salon-text {
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.8;
  text-align: center;
}

.p-clinic__doctor-salon-btn {
  width: 100%;
  max-width: 20rem;
}
.p-clinic__doctor-salon-btn .c-btn {
  max-width: 100%;
}

.p-clinic__doctor-message {
  color: #D5CEC9;
  background-color: #373432;
  padding-block: 3.375rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-clinic__doctor-message {
    padding-block: 3.8125rem;
  }
}
.p-clinic__doctor-message::before {
  content: "";
  display: block;
  width: 50%;
  height: 100%;
  background: url(../images/clinic/message_bg_pc.png) no-repeat center right/cover;
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .p-clinic__doctor-message::before {
    width: 100%;
    background: url(../images/clinic/message_bg_sp.png) no-repeat center right/cover;
  }
}

.p-clinic__doctor-message-inner {
  max-width: 72.5rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-clinic__doctor-message-inner {
    padding-inline: 1.5rem;
  }
}

.p-clinic__doctor-message-title {
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-clinic__doctor-message-title {
    font-size: 1.5rem;
  }
}

.p-clinic__doctor-message-text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
  max-width: 30rem;
  margin-top: 2.5rem;
}
.p-clinic__doctor-info {
  padding-block: 10rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__doctor-info {
    padding-block: 5rem 8.625rem;
  }
}

.p-clinic__doctor-info-inner {
  max-width: 42.5rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-clinic__doctor-info-inner {
    max-width: 100%;
    padding-inline: 1.5rem;
  }
}

.p-clinic__doctor-info-title {
  text-align: center;
}

.p-clinic__doctor-info-title-ja {
  color: #C5B394;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
}

.p-clinic__doctor-info-title-en {
  font-family: "EB Garamond", serif;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0.02em;
  margin-top: 0.5rem;
}

.p-clinic__doctor-info-dl {
  margin-top: 3rem;
}

.p-clinic__doctor-info-dl-wrap {
  display: flex;
  gap: 3.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #DCD0BC;
}
.p-clinic__doctor-info-dl-wrap + .p-clinic__doctor-info-dl-wrap {
  margin-top: 1.5rem;
}
.p-clinic__doctor-info-dl-wrap dt,
.p-clinic__doctor-info-dl-wrap dd {
  font-size: 0.875rem;
  line-height: 1.6;
}
.p-clinic__doctor-info-dl-wrap dt {
  flex: 1 0 6.25rem;
  width: 100%;
  font-weight: 500;
}
.p-clinic__doctor-info-dl-wrap dd {
  flex: 1 1 calc(100% - 9.75rem);
  font-weight: 400;
}
.p-clinic__doctor-info-dl-wrap .p-clinic__doctor-info-dl-map {
  text-decoration: underline;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-top: 0.5rem;
}
.p-clinic__doctor-info-dl-wrap .p-clinic__doctor-info-dl-map::after {
  content: "";
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  -webkit-mask: url(../images/icon_blank.svg) no-repeat center/contain;
          mask: url(../images/icon_blank.svg) no-repeat center/contain;
  background-color: currentColor;
}
@media (any-hover: hover) {
  .p-clinic__doctor-info-dl-wrap .p-clinic__doctor-info-dl-map a:hover {
    opacity: 0.5;
  }
}

.p-doctor {
  width: 100%;
  max-width: 70rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-doctor {
    padding-inline: 1.5rem;
  }
}

.p-doctor__item-rich,
.p-doctor__item-default {
  padding-bottom: 6.125rem;
  border-bottom: 1px solid #DCD0BC;
}
@media screen and (max-width: 767px) {
  .p-doctor__item-rich,
  .p-doctor__item-default {
    padding-bottom: 6rem;
  }
}
.p-doctor__item-rich + .p-doctor__item-default, .p-doctor__item-rich + .p-doctor__item-rich,
.p-doctor__item-default + .p-doctor__item-default,
.p-doctor__item-default + .p-doctor__item-rich {
  margin-top: 6.125rem;
}
@media screen and (max-width: 767px) {
  .p-doctor__item-rich + .p-doctor__item-default, .p-doctor__item-rich + .p-doctor__item-rich,
  .p-doctor__item-default + .p-doctor__item-default,
  .p-doctor__item-default + .p-doctor__item-rich {
    margin-top: 6rem;
  }
}

.p-doctor__item-rich {
  display: flex;
  align-items: flex-start;
  gap: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-doctor__item-rich {
    display: block;
  }
}

.p-doctor__item-rich-img {
  order: 1;
  flex: 1 0 22.5rem;
  width: 100%;
  max-width: 22.5rem;
}
@media screen and (max-width: 767px) {
  .p-doctor__item-rich-img {
    flex: 1 0 100%;
    width: auto;
    max-width: 100%;
  }
}
.p-doctor__item-rich-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 360/540;
}
@media screen and (max-width: 767px) {
  .p-doctor__item-rich-img img {
    aspect-ratio: 380/570;
  }
}

.p-doctor__item-rich-wrap {
  order: 2;
  flex: 1 1 calc(100% - 22.5rem);
}

.p-doctor__item-rich-block {
  display: flex;
  align-items: flex-start;
  gap: 6.375rem;
}
@media screen and (max-width: 767px) {
  .p-doctor__item-rich-block {
    gap: 2.5rem;
    margin-top: 2.5rem;
  }
}

.p-doctor__item-rich-box {
  flex: 1 1 26.875rem;
  max-width: 26.875rem;
}
@media screen and (max-width: 767px) {
  .p-doctor__item-rich-box {
    flex: 1 1 calc(100% - 6.75rem);
    max-width: 100%;
  }
}

.p-doctor__item-rich-text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2;
}

.p-doctor__item-rich-section {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-doctor__item-rich-section {
    margin-top: 3rem;
  }
}

.p-doctor__item-rich-section-title {
  font-size: 1rem;
  font-weight: 500;
  padding-left: 2rem;
  position: relative;
}
.p-doctor__item-rich-section-title::before {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1px;
  background-color: #C5B394;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
}
.p-doctor__item-rich-section-title + * {
  margin-top: 1.5rem;
}

.p-doctor__item-rich-dl-wrap {
  display: flex;
  gap: 1rem;
}
.p-doctor__item-rich-dl-wrap + .p-doctor__item-rich-dl-wrap {
  margin-top: 0.625rem;
}
.p-doctor__item-rich-dl-wrap dt,
.p-doctor__item-rich-dl-wrap dd {
  font-size: 0.875rem;
  font-weight: 400;
}
.p-doctor__item-rich-dl-wrap dt {
  flex: 1 1 3rem;
  max-width: 3rem;
}
.p-doctor__item-rich-dl-wrap dd {
  flex: 1 1 calc(100% - 3rem);
}

.p-doctor__item-rich-list {
  font-size: 0.875rem;
  font-weight: 400;
}

.p-doctor__item-rich-item + .p-doctor__item-rich-item {
  margin-top: 0.625rem;
}

.p-doctor__item-rich-sns-list {
  display: flex;
  gap: 0.75rem;
}

.p-doctor__item-rich-sns-item {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
}
.p-doctor__item-rich-sns-item a {
  display: block;
}
@media (any-hover: hover) {
  .p-doctor__item-rich-sns-item a:hover {
    opacity: 0.5;
  }
}

.p-doctor__item-rich-movie-list {
  display: flex;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .p-doctor__item-rich-movie-list {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
  }
}

.p-doctor__item-rich-movie-item {
  flex: 1 0 12.9375rem;
  max-width: 12.9375rem;
}
@media screen and (max-width: 767px) {
  .p-doctor__item-rich-movie-item {
    flex: 0 1 calc(50% - 0.75rem);
    width: calc(50% - 0.75rem);
    max-width: none;
    max-width: initial;
  }
}

.p-doctor__item-rich-movie-title span {
  display: block;
  width: -webkit-fit-content;
  width: fit-content;
  background-color: #fff;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  padding-inline: 0.25rem;
}
.p-doctor__item-rich-movie-title span + span {
  margin-top: 0.125rem;
}

.p-doctor__item-rich-movie-embed {
  margin-top: 0.75rem;
  aspect-ratio: 207/368;
  position: relative;
}
.p-doctor__item-rich-movie-embed video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-doctor__item-rich-head {
  order: 3;
  flex: 1 0 4.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 4.25rem;
  padding: 0.25rem 1.125rem 1rem;
  border-right: 1px solid #48433A;
  border-left: 1px solid #48433A;
}
.p-doctor__item-rich-head span {
  font-weight: 400;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}

.p-doctor__item-rich-job {
  font-size: 1rem;
}

.p-doctor__item-rich-name {
  font-size: 2rem;
  line-height: 1.1;
  display: flex;
  gap: 0.75rem;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-doctor__item-rich-name {
    font-size: 1.875rem;
  }
}

.p-doctor__item-rich-ruby {
  font-size: 0.875rem;
  line-height: 1.1;
  display: flex;
  gap: 0.25rem;
  padding: 1.375rem 0;
  margin-top: 0.75rem;
  position: relative;
}
.p-doctor__item-rich-ruby::before, .p-doctor__item-rich-ruby::after {
  content: "";
  display: block;
  width: 1px;
  height: 1rem;
  background-color: #C5B394;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.p-doctor__item-rich-ruby::before {
  top: 0;
}
.p-doctor__item-rich-ruby::after {
  bottom: 0;
}

.p-doctor__item-default {
  display: flex;
  gap: 5rem;
}
@media screen and (max-width: 767px) {
  .p-doctor__item-default {
    flex-direction: column-reverse;
    gap: 2.5rem;
  }
}
.p-doctor__item-default + .p-doctor__item-default, .p-doctor__item-default + .p-doctor__item-rich {
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .p-doctor__item-default + .p-doctor__item-default, .p-doctor__item-default + .p-doctor__item-rich {
    flex-direction: column-reverse;
  }
}

.p-doctor__item-default-block {
  flex: 1 1 calc(100% - 15rem);
}

.p-doctor__item-default-head {
  display: flex;
  align-items: flex-end;
}

.p-doctor__item-default-job {
  font-size: 1rem;
  font-weight: 500;
  margin-right: 1.5rem;
}

.p-doctor__item-default-name {
  font-size: 1.75rem;
  font-weight: 400;
}

.p-doctor__item-default-sns-list {
  display: flex;
  gap: 0.75rem;
  margin-top: 1.75rem;
}

.p-doctor__item-default-sns-item {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
}
.p-doctor__item-default-sns-item a {
  display: block;
}
@media (any-hover: hover) {
  .p-doctor__item-default-sns-item a:hover {
    opacity: 0.5;
  }
}

.p-doctor__item-default-text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2;
  margin-top: 1.75rem;
}

.p-doctor__item-default-warp {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .p-doctor__item-default-warp {
    grid-template-columns: repeat(1, 1fr);
  }
}

.p-doctor__item-default-section-title {
  font-size: 1rem;
  font-weight: 500;
  padding-left: 2rem;
  position: relative;
}
.p-doctor__item-default-section-title::before {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1px;
  background-color: #C5B394;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
}
.p-doctor__item-default-section-title + * {
  margin-top: 1.5rem;
}

.p-doctor__item-default-dl-wrap {
  display: flex;
  gap: 1rem;
}
.p-doctor__item-default-dl-wrap + .p-doctor__item-default-dl-wrap {
  margin-top: 0.625rem;
}
.p-doctor__item-default-dl-wrap dt,
.p-doctor__item-default-dl-wrap dd {
  font-size: 0.875rem;
  font-weight: 400;
}
.p-doctor__item-default-dl-wrap dt {
  flex: 1 1 3rem;
  max-width: 3rem;
}
.p-doctor__item-default-dl-wrap dd {
  flex: 1 1 calc(100% - 3rem);
}

.p-doctor__item-default-list {
  font-size: 0.875rem;
  font-weight: 400;
}

.p-doctor__item-default-item + .p-doctor__item-default-item {
  margin-top: 0.625rem;
}

.p-doctor__item-default-img {
  flex: 1 0 15rem;
  max-width: 15rem;
}
@media screen and (max-width: 767px) {
  .p-doctor__item-default-img {
    flex: 1;
    width: 100%;
    max-width: 17.75rem;
    margin-inline: auto;
  }
}

/* -----------------------------------------------------------------
  ドロワーメニュー
----------------------------------------------------------------- */
.p-drawer {
  background-color: #222222;
  color: #fff;
  position: fixed;
  top: 50%;
  left: 0;
  z-index: 1;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 100%;
  height: 100%;
  height: calc(100% - 3rem);
  z-index: 21;
  visibility: hidden;
  opacity: 0;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-drawer {
    width: 100%;
    height: 100%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    overflow-y: scroll;
  }
}
.p-drawer::before {
  content: "";
  display: block;
  width: 48.6111111111%;
  height: 100%;
  background: url(../images/drawer_bg.jpg) no-repeat center/cover;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-drawer::before {
    display: none;
  }
}
.p-drawer.open {
  visibility: visible;
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .p-drawer.open .p-drawer__head {
    mix-blend-mode: normal;
  }
}

.p-drawer__inner {
  width: 100%;
  height: 100%;
  min-height: 100%;
  background-color: #222222;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-drawer__inner {
    padding: 1.75rem 0 9.375rem;
  }
}

.p-drawer__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-inline: auto;
  padding: 1.5rem 2rem;
  mix-blend-mode: exclusion;
  position: relative;
  z-index: 1;
  transition: 0.1s;
}
@media screen and (max-width: 767px) {
  .p-drawer__head {
    display: block;
    padding: 0 1.5rem;
    position: relative;
    z-index: 2;
  }
}

.p-drawer__logo {
  width: 100%;
  max-width: 11.0625rem;
  position: relative;
  z-index: 22;
  mix-blend-mode: exclusion;
}
@media screen and (max-width: 767px) {
  .p-drawer__logo {
    max-width: 14.5rem;
    margin-inline: auto;
  }
}

.p-drawer__logo a {
  display: block;
}
@media (any-hover: hover) {
  .p-drawer__logo a:hover {
    opacity: 0.5;
  }
}

.p-drawer__sns {
  height: inherit;
  position: relative;
  z-index: 22;
  mix-blend-mode: exclusion;
}
@media screen and (max-width: 767px) {
  .p-drawer__sns {
    margin-top: 3rem;
  }
}

.p-drawer__sns-list {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  height: inherit;
}
@media screen and (max-width: 767px) {
  .p-drawer__sns-list {
    max-width: 14.5rem;
    margin-inline: auto;
    justify-content: space-between;
  }
}

.p-drawer__sns-item {
  height: inherit;
}
.p-drawer__sns-item a {
  display: flex;
  align-items: center;
  height: inherit;
  font-family: "EB Garamond", serif;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-drawer__sns-item a {
    font-size: 0.75rem;
  }
}
@media (any-hover: hover) {
  .p-drawer__sns-item a:hover {
    opacity: 0.5;
  }
}

.p-drawer__close {
  color: #fff;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-drawer__close {
    background-color: #9D6D17;
    width: 100%;
    padding: 1.5rem;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 25;
    display: none;
  }
}
.p-drawer__close.u-mobile.open {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .p-drawer__close.u-mobile.open {
    display: block !important;
  }
}
.p-drawer__close.open {
  display: block;
}
.p-drawer__close span {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-drawer__close span {
    gap: 0.75rem;
  }
}
.p-drawer__close span::after {
  content: "";
  display: block;
  width: 1.625rem;
  height: 1.625rem;
  background: url(../images/icon_drawer_close.png) no-repeat center/contain;
  flex-shrink: 0;
}
@media (any-hover: hover) {
  .p-drawer__close:hover {
    opacity: 0.5;
  }
}
@media screen and (any-hover: hover) and (max-width: 767px) {
  .p-drawer__close:hover {
    opacity: 1;
  }
}

.p-drawer__wrap {
  display: flex;
  gap: 15.8333333333vw;
  max-width: 70rem;
  margin-inline: auto;
  padding-top: 5.125rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-drawer__wrap {
    display: block;
    height: auto;
    margin-top: 3.5rem;
    padding: 0 2rem 9.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .p-drawer__wrap::before {
    content: "";
    display: block;
    width: 100%;
    height: 45.5625rem;
    background: url(../images/drawer_bg_sp.png) no-repeat center/cover;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
  }
}

.p-drawer-nav {
  width: 100%;
  max-width: 31.125rem;
  padding-top: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .p-drawer-nav {
    max-width: 100%;
    padding-top: 0;
  }
}
@media (any-hover: hover) {
  .p-drawer-nav a:hover {
    opacity: 0.5;
  }
}

.p-drawer-nav__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem 3rem;
}
@media screen and (max-width: 767px) {
  .p-drawer-nav__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 2.5rem;
  }
}

.p-drawer-nav__item > a, .p-drawer-nav__item > span {
  display: block;
  font-family: "EB Garamond", serif;
  font-size: 1.125rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding-bottom: 0.6875rem;
  border-bottom: 1px solid #838383;
}
@media screen and (max-width: 767px) {
  .p-drawer-nav__item > a, .p-drawer-nav__item > span {
    padding-bottom: 0.8125rem;
  }
}
.p-drawer-nav__item > a {
  position: relative;
}
.p-drawer-nav__item > 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: #fff;
  position: absolute;
  top: 0.3125rem;
  right: 0;
}

.p-drawer-nav__children {
  margin-top: 1.125rem;
}
.p-drawer-nav__children.--menu {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
.p-drawer-nav__children.--menu .p-drawer-nav__child {
  margin-top: 0;
}

.p-drawer-nav__child + .p-drawer-nav__child {
  margin-top: 1rem;
}
.p-drawer-nav__child > a {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  display: block;
  padding-left: 0.75rem;
  position: relative;
}
.p-drawer-nav__child > a::before {
  content: "";
  display: block;
  width: 0.25rem;
  height: 0.25rem;
  border-radius: 50%;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.p-drawer-reserve {
  width: 100%;
  max-width: 20rem;
}
@media screen and (max-width: 767px) {
  .p-drawer-reserve {
    max-width: 100%;
    margin-top: 7.375rem;
  }
}

.p-drawer-reserve-title {
  font-size: 1.75rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-align: center;
}
.p-drawer-reserve-title span {
  display: block;
  margin-top: 1.375rem;
  font-family: "EB Garamond", serif;
  color: #C5B394;
  font-size: 1.125rem;
  font-style: italic;
  text-transform: capitalize;
}

.p-drawer-reserve-sns-list {
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-drawer-reserve-sns-list {
    margin-top: 1.75rem;
  }
}

.p-drawer-reserve-sns-item + .p-drawer-reserve-sns-item {
  margin-top: 0.75rem;
}

.p-drawer-reserve__tel {
  margin-top: 1.25rem;
  text-align: center;
}
.p-drawer-reserve__tel a {
  font-family: "EB Garamond", serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-drawer-reserve__tel a {
    font-size: 1.75rem;
  }
}
.p-drawer-reserve__tel span {
  font-size: 0.75rem;
  font-weight: 400;
  margin-left: 0.625rem;
}
.p-drawer-reserve__tel span > span {
  font-size: 0.875rem;
  margin-left: 0.25em;
}

.p-drawer-reserve__address {
  border: 1px solid #838383;
  padding: 1.5rem 2rem;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-drawer-reserve__address {
    margin-top: 1.75rem;
  }
}

.p-drawer-reserve__address-title {
  font-size: 1rem;
  font-weight: 500;
  lighting-color: 1.8;
}

.p-drawer-reserve__address-text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
  margin-top: 0.625rem;
}

.p-drawer-reserve__address-map {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  text-decoration: underline;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.p-drawer-reserve__address-map::after {
  content: "";
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  background: url(../images/icon_blank.svg) no-repeat center/cover;
}
@media (any-hover: hover) {
  .p-drawer-reserve__address-map a:hover {
    opacity: 0.5;
  }
}

.p-footer-schedule {
  background: url(../images/schedule_bg.jpg) no-repeat center/cover;
  padding-block: 6.125rem;
}
@media screen and (max-width: 767px) {
  .p-footer-schedule {
    background: url(../images/schedule_bg_sp.jpg) no-repeat center/cover;
  }
}

.p-footer-schedule__inner {
  max-width: 66.8125rem;
  padding-inline: 1.25rem 4.0625rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-footer-schedule__inner {
    max-width: 22.5rem;
    padding-inline: 1.25rem;
  }
}

.p-footer-schedule__wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 17.9786200194%;
}
@media screen and (max-width: 767px) {
  .p-footer-schedule__wrap {
    display: block;
    padding-inline: 0;
    margin-right: 0;
  }
}
.p-footer-schedule__wrap > * {
  min-width: 0;
  min-height: 0;
}

.p-footer-schedule__title {
  margin-left: -2.8125rem;
}
@media screen and (max-width: 767px) {
  .p-footer-schedule__title {
    margin-left: 0;
    text-align: center;
  }
}

.p-footer-schedule__title-en {
  color: rgba(255, 255, 255, .1);
  font-family: "EB Garamond", serif;
  font-size: 6.125rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  text-transform: capitalize;
}
@media screen and (max-width: 767px) {
  .p-footer-schedule__title-en {
    font-size: 4rem;
  }
}

.p-footer-schedule__title-ja {
  display: block;
  margin-top: -1.8125rem;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-footer-schedule__title-ja {
    font-size: 1rem;
    margin-top: -1.3125rem;
  }
}

.p-footer-schedule__calendar {
  width: 100%;
  max-width: 30rem;
}
@media screen and (max-width: 767px) {
  .p-footer-schedule__calendar {
    max-width: 100%;
    margin-top: 2.5rem;
  }
}
.p-footer-schedule__calendar .swiper-button-next,
.p-footer-schedule__calendar .swiper-button-prev {
  position: static;
  top: auto;
  width: 0.9375rem;
  height: 0.3125rem;
  margin-top: 0;
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-theme-color);
}
.p-footer-schedule__calendar .swiper-button-prev:after,
.p-footer-schedule__calendar .swiper-rtl .swiper-button-next:after {
  content: "";
  width: 0.9375rem;
  height: 0.3125rem;
  background: url(../images/icon_arrow.svg) no-repeat center/contain;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.p-footer-schedule__calendar .swiper-button-next:after,
.p-footer-schedule__calendar .swiper-rtl .swiper-button-prev:after {
  content: "";
  width: 0.9375rem;
  height: 0.3125rem;
  background: url(../images/icon_arrow.svg) no-repeat center/contain;
}
.p-footer-schedule__calendar .swiper-button-next:after,
.p-footer-schedule__calendar .swiper-button-prev:after {
  font-family: inherit;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  -webkit-font-feature-settings: ;
          font-feature-settings: ;
  font-variant: normal;
  font-variant: initial;
  line-height: 1;
}
.p-footer-schedule__calendar .swiper-pagination {
  color: #fff;
  position: static;
  text-align: center;
  transition: 0.3s opacity;
  z-index: 10;
}
.p-footer-schedule__calendar .swiper-pagination-current,
.p-footer-schedule__calendar .swiper-pagination-total {
  font-family: "EB Garamond", serif;
}

.p-footer-schedule__calendar-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 9.875rem;
  height: 1.125rem;
  margin-inline: auto;
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .p-footer-schedule__calendar-wrap {
    max-width: 9.5625rem;
    height: 1rem;
  }
}

.p-footer__info {
  background-color: #222222;
  padding-bottom: 4rem;
}

.p-footer__loop {
  padding-block: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-footer__loop {
    padding-block: 2.3125rem;
  }
}
.p-footer__loop .swiper-wrapper {
  transition-timing-function: linear !important;
}
.p-footer__loop .swiper-slide {
  width: 100%;
  max-width: 31.5rem;
}
@media screen and (max-width: 767px) {
  .p-footer__loop .swiper-slide {
    max-width: 28.125rem;
  }
}

.p-footer__loop-wrap {
  display: flex;
  align-items: center;
  gap: 3rem;
}

.p-footer__loop-label {
  color: #D5CEC9;
  font-family: "EB Garamond", serif;
  font-size: 1.75rem;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-footer__loop-label {
    font-size: 1.5rem;
  }
}

.p-footer__loop-text {
  color: #A6A09C;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: -0.02em;
  padding-inline: 1.125rem;
  position: relative;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-footer__loop-text {
    font-size: 0.875rem;
  }
}
.p-footer__loop-text::before, .p-footer__loop-text::after {
  content: "";
  display: block;
  width: 0.875rem;
  height: 0.875rem;
  background: url(../images/icon_polygon_under.svg) no-repeat center/contain;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-footer__loop-text::before {
  left: 0;
}
.p-footer__loop-text::after {
  right: 0;
}

.p-footer__banner {
  padding-inline: 1.25rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-footer__banner {
    padding-inline: 1rem;
  }
}
.p-footer__banner::before, .p-footer__banner::after {
  content: "";
  display: block;
  width: 100%;
  height: 0.5rem;
  background-color: #222222;
  box-shadow: 0 -4px 20px rgba(255, 255, 255, .16);
  position: absolute;
  left: 0;
}
.p-footer__banner::before {
  top: -0.5rem;
}
.p-footer__banner::after {
  bottom: -0.5rem;
}

.p-footer__banner-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
  max-width: 87.5rem;
  padding-inline: 1.25rem;
  margin-inline: auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-footer__banner-list {
    display: block;
    padding-inline: 1rem;
  }
}
.p-footer__banner-list::before, .p-footer__banner-list::after {
  content: "";
  display: block;
  width: 1rem;
  height: 100%;
  background-color: #222222;
  position: absolute;
  top: 0;
  z-index: 1;
}
.p-footer__banner-list::before {
  left: 0.25rem;
}
@media screen and (max-width: 767px) {
  .p-footer__banner-list::before {
    left: 0;
  }
}
.p-footer__banner-list::after {
  right: 0.25rem;
}
@media screen and (max-width: 767px) {
  .p-footer__banner-list::after {
    right: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-footer__banner-item + .p-footer__banner-item {
    margin-top: 0.5rem;
  }
}
.p-footer__banner-item a {
  display: flex;
  align-items: center;
  padding: 5.75rem 2.5rem;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-decoration: underline;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-footer__banner-item a {
    padding: 4.375rem 2.75rem;
    font-size: 1.125rem;
  }
}
.p-footer__banner-item a::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .55);
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: 0.3s;
}
@media (any-hover: hover) {
  .p-footer__banner-item a:hover::before {
    opacity: 1;
  }
}
.p-footer__banner-item span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  position: relative;
  z-index: 1;
}
.p-footer__banner-item span::after {
  content: "";
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  background: url(../images/icon_arrow_white_circle.png) no-repeat center/contain;
}
.p-footer__banner-item:nth-child(1) a {
  background: url(../images/footer_banner01.png) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .p-footer__banner-item:nth-child(1) a {
    background: url(../images/footer_banner01_sp.png) no-repeat center/cover;
  }
}
.p-footer__banner-item:nth-child(2) a {
  background: url(../images/footer_banner02.png) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .p-footer__banner-item:nth-child(2) a {
    background: url(../images/footer_banner02_sp.png) no-repeat center/cover;
  }
}
.p-footer__banner-item:nth-child(3) a {
  background: url(../images/footer_banner03.png) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .p-footer__banner-item:nth-child(3) a {
    background: url(../images/footer_banner03_sp.png) no-repeat center/cover;
  }
}

.p-footer-nav {
  padding-block: 7.5rem;
  font-family: "EB Garamond", serif;
}
@media screen and (max-width: 767px) {
  .p-footer-nav {
    padding-block: 6.125rem;
  }
}
.p-footer-nav .--font-ja {
  font-family: "Shippori Mincho", serif;
}

.p-footer-nav__inner {
  display: flex;
  gap: 8.0065359477%;
  width: 100%;
  max-width: 79rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-footer-nav__inner {
    display: block;
    padding-inline: 2rem;
  }
}

.p-footer-nav__group:nth-child(1) {
  flex: 1 1 12.5rem;
}
.p-footer-nav__group:nth-child(2) {
  flex: 1 1 calc(100% - 18.625rem);
}
@media screen and (max-width: 767px) {
  .p-footer-nav__group + .p-footer-nav__group {
    margin-top: 3.5rem;
  }
}

.p-footer-nav__label {
  font-family: "Inter", sans-serif;
  color: #C5B394;
  font-size: 0.875rem;
  font-weight: 400;
}

.p-footer-nav__list {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-top: 1.5rem;
}
.p-footer-nav__item > a {
  color: #48433A;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  display: block;
  padding-bottom: 0.8125rem;
  border-bottom: 1px solid #DCD0BC;
}
.p-footer-nav__item > a > span {
  position: relative;
  text-transform: uppercase;
}
.p-footer-nav__item > a > span::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: #48433A;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-footer-nav__item > span {
  color: #48433A;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  display: block;
  padding-bottom: 0.8125rem;
  border-bottom: 1px solid #DCD0BC;
  position: relative;
  text-transform: uppercase;
}

.p-footer-nav__children {
  margin-top: 1.125rem;
}

.p-footer-nav__child + .p-footer-nav__child {
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .p-footer-nav__child + .p-footer-nav__child {
    margin-top: 1.5rem;
  }
}
.p-footer-nav__child > a {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  display: block;
  padding-left: 0.75rem;
  position: relative;
}
.p-footer-nav__child > a::before {
  content: "";
  display: block;
  width: 0.25rem;
  height: 0.25rem;
  border-radius: 50%;
  background-color: #48433A;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.p-footer-nav__group-warp .p-footer-nav__list {
  display: grid;
  align-content: space-between;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(3, 1fr);
  grid-column-gap: 42px;
  grid-row-gap: 32px;
}
.p-footer-nav__group-warp .p-footer-nav__list .p-footer-nav__item:nth-child(1) {
  grid-area: 1/1/3/2;
}
.p-footer-nav__group-warp .p-footer-nav__list .p-footer-nav__item:nth-child(2) {
  grid-area: 3/1/4/2;
}
.p-footer-nav__group-warp .p-footer-nav__list .p-footer-nav__item:nth-child(3) {
  grid-area: 1/2/2/3;
}
.p-footer-nav__group-warp .p-footer-nav__list .p-footer-nav__item:nth-child(4) {
  grid-area: 2/2/3/3;
}
.p-footer-nav__group-warp .p-footer-nav__list .p-footer-nav__item:nth-child(5) {
  grid-area: 3/2/4/3;
}
.p-footer-nav__group-warp .p-footer-nav__list .p-footer-nav__item:nth-child(6) {
  grid-area: 1/3/2/4;
}
.p-footer-nav__group-warp .p-footer-nav__list .p-footer-nav__item:nth-child(7) {
  grid-area: 2/3/3/4;
}
.p-footer-nav__group-warp .p-footer-nav__list .p-footer-nav__item:nth-child(8) {
  grid-area: 3/3/4/4;
}
.p-footer-nav__group-warp .p-footer-nav__list .p-footer-nav__item:nth-child(9) {
  grid-area: 1/4/2/5;
}
.p-footer-nav__group-warp .p-footer-nav__list .p-footer-nav__item:nth-child(10) {
  grid-area: 2/4/3/5;
}
.p-footer-nav__group-warp .p-footer-nav__list .p-footer-nav__item:nth-child(11) {
  grid-area: 3/4/4/5;
}
@media screen and (max-width: 767px) {
  .p-footer-nav__group-warp .p-footer-nav__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(7, 1fr);
    grid-column-gap: 32px;
    grid-row-gap: 32px;
  }
  .p-footer-nav__group-warp .p-footer-nav__list .p-footer-nav__item:nth-child(1) {
    grid-area: 1/1/5/2;
  }
  .p-footer-nav__group-warp .p-footer-nav__list .p-footer-nav__item:nth-child(2) {
    grid-area: 5/1/6/2;
  }
  .p-footer-nav__group-warp .p-footer-nav__list .p-footer-nav__item:nth-child(3) {
    grid-area: 1/2/2/3;
  }
  .p-footer-nav__group-warp .p-footer-nav__list .p-footer-nav__item:nth-child(4) {
    grid-area: 2/2/3/3;
  }
  .p-footer-nav__group-warp .p-footer-nav__list .p-footer-nav__item:nth-child(5) {
    grid-area: 3/2/4/3;
  }
  .p-footer-nav__group-warp .p-footer-nav__list .p-footer-nav__item:nth-child(6) {
    grid-area: 4/2/5/3;
  }
  .p-footer-nav__group-warp .p-footer-nav__list .p-footer-nav__item:nth-child(7) {
    grid-area: 5/2/6/3;
  }
  .p-footer-nav__group-warp .p-footer-nav__list .p-footer-nav__item:nth-child(8) {
    grid-area: 6/1/7/2;
  }
  .p-footer-nav__group-warp .p-footer-nav__list .p-footer-nav__item:nth-child(9) {
    grid-area: 6/2/7/3;
  }
  .p-footer-nav__group-warp .p-footer-nav__list .p-footer-nav__item:nth-child(10) {
    grid-area: 7/1/8/2;
  }
  .p-footer-nav__group-warp .p-footer-nav__list .p-footer-nav__item:nth-child(11) {
    grid-area: 7/2/8/3;
  }
}

.p-footer__map {
  width: 100%;
  aspect-ratio: 1440/320;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-footer__map {
    aspect-ratio: 428/280;
  }
}
.p-footer__map iframe {
  width: 100%;
  height: 100%;
}
.p-footer__map::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  display: block;
  background-color: #faf0d9;
  top: 0;
  left: 0;
  mix-blend-mode: color;
  pointer-events: none;
}

.p-footer__overview {
  padding-block: 5rem;
}
@media screen and (max-width: 767px) {
  .p-footer__overview {
    padding-block: 3.5rem 5rem;
  }
}

.p-footer__overview-wrap {
  display: flex;
  gap: 10.6209150327%;
  width: 100%;
  max-width: 79rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-footer__overview-wrap {
    display: block;
    padding-inline: 2rem;
  }
}

.p-footer__overview-left {
  flex: 1 1 14.5rem;
}
@media screen and (max-width: 767px) {
  .p-footer__overview-left {
    max-width: 14.5rem;
    margin-inline: auto;
    padding-inline: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .p-footer__overview-logo {
    max-width: 11.25rem;
    margin-inline: auto;
  }
}

.p-footer__overview-info {
  margin-top: 2rem;
}

.p-footer__overview-info-list {
  padding-left: 1rem;
}
@media screen and (max-width: 767px) {
  .p-footer__overview-info-list {
    padding-left: 0;
  }
}

.p-footer__overview-info-item {
  font-family: "EB Garamond", serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
}
.p-footer__overview-info-item a {
  margin-left: 0.5rem;
}
@media (any-hover: hover) {
  .p-footer__overview-info-item a:hover {
    opacity: 0.5;
  }
}
.p-footer__overview-info-item + .p-footer__overview-info-item {
  margin-top: 0.125rem;
}

.p-footer__overview-right {
  flex: 1 1 calc(100% - 22.625rem);
}
@media screen and (max-width: 767px) {
  .p-footer__overview-right {
    margin-top: 3.5rem;
  }
}

.p-footer__overview-dl {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .p-footer__overview-dl {
    display: block;
  }
}

.p-footer__overview-dl-warp {
  width: calc(50% - 1rem);
  padding-bottom: 0.9375rem;
  border-bottom: 1px solid #DCD0BC;
}
@media screen and (max-width: 767px) {
  .p-footer__overview-dl-warp {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-footer__overview-dl-warp + .p-footer__overview-dl-warp {
    margin-top: 2rem;
  }
}
.p-footer__overview-dl-warp:last-child {
  width: 100%;
}
.p-footer__overview-dl-warp dt {
  color: #C5B394;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
}
.p-footer__overview-dl-warp dd {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  margin-top: 0.25rem;
}

.p-footer__overview-dl-link {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4;
  text-decoration: underline;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-top: 0.25rem;
}
.p-footer__overview-dl-link::after {
  content: "";
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  -webkit-mask: url(../images/icon_blank.svg) no-repeat center/cover;
          mask: url(../images/icon_blank.svg) no-repeat center/cover;
  background-color: currentColor;
}
@media (any-hover: hover) {
  .p-footer__overview-dl-link:hover {
    opacity: 0.5;
  }
}

.p-footer-bottom {
  border-top: 1px solid #48433A;
  padding-block: 3.5rem 8.75rem;
}
@media screen and (max-width: 767px) {
  .p-footer-bottom {
    padding-block: 3.5rem 8.375rem;
  }
}

.p-footer-bottom__wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 85.5rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-footer-bottom__wrap {
    display: block;
    max-width: 15rem;
    padding-inline: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-footer-bottom__sns {
    max-width: 7.875rem;
    margin-inline: auto;
  }
}

.p-footer-bottom__sns-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}

@media (any-hover: hover) {
  .p-footer-bottom__sns-item a:hover {
    opacity: 0.5;
  }
}

.p-footer-bottom__other {
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-footer-bottom__other {
    text-align: center;
    margin-top: 2.5rem;
  }
}

.p-footer-bottom__other-item {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.6;
  text-decoration: underline;
}
@media (any-hover: hover) {
  .p-footer-bottom__other-item a:hover {
    opacity: 0.5;
  }
}

.p-footer__copy {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.6;
  display: block;
  margin-top: 1.25rem;
}

.p-form input[type=radio], .p-form input[type=checkbox] {
  display: block;
  opacity: 0;
  position: absolute;
  z-index: -100;
  -webkit-appearance: auto;
          appearance: auto;
}
.p-form input[type=radio] + span,
.p-form input[type=checkbox] + span {
  padding: 1.25rem 1.25rem 1.25rem 1.25rem;
  font-size: 1rem;
  letter-spacing: 0.075em;
  line-height: 1.6;
  color: #000;
  text-align: left;
  width: 100%;
}
.p-form input[type=radio] + span {
  padding: 0.625rem 0.625rem 0.625rem 1.125rem;
}
.p-form input[type=checkbox] + span {
  width: auto;
}
@media screen and (max-width: 767px) {
  .p-form input[type=checkbox] + span {
    padding-right: 0;
  }
}
.p-form input[type=radio]:checked + span,
.p-form input[type=checkbox]:checked + span {
  color: #000;
}
.p-form input[type=radio] + span:before,
.p-form input[type=checkbox] + span::before {
  border: 1px solid #707070;
}
.p-form input[type=radio]:checked + span:before,
.p-form input[type=checkbox]:checked + span::before {
  border: 1px solid #707070;
}
.p-form input[type=radio]:checked + span:after {
  background: #000;
}
.p-form input[type=checkbox]:checked + span:after {
  top: 55%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: -10px;
  -webkit-mask: url(../images/common/icon-check.png) no-repeat center center/contain;
          mask: url(../images/common/icon-check.png) no-repeat center center/contain;
  background-color: #000;
  width: 20px;
  height: 20px;
}
.p-form input[type=checkbox] + span:hover::after {
  background-color: #000;
}
.p-form input[type=text], .p-form input[type=password], .p-form input[type=email], .p-form input[type=tel], .p-form input[type=url], .p-form input[type=search], .p-form input[type=number], .p-form input[type=datetime], .p-form input[type=week], .p-form select {
  width: 100%;
  background-color: #fff;
  padding: 0.625rem 0.625rem;
  border-radius: 0.25rem;
}
.p-form textarea {
  min-height: 12.5rem;
  padding: 0.625rem 0.625rem;
  width: 100%;
  background-color: #fff;
  border-radius: 0.25rem;
}

.p-form__table {
  width: 100%;
  font-size: 1.125rem;
  border-collapse: collapse;
}
@media screen and (max-width: 767px) {
  .p-form__table {
    font-size: 1rem;
  }
}

.p-form__table a {
  border-bottom: 1px solid #000;
}

@media screen and (max-width: 767px) {
  .p-form__table tr {
    display: flex;
    flex-direction: column;
  }
}

.p-form__table th {
  text-align: left;
  width: 40%;
  padding-top: 1.0625rem;
  padding-bottom: 1.0625rem;
}
@media screen and (max-width: 767px) {
  .p-form__table th {
    width: 100%;
    padding-top: 0.3125rem;
    padding-bottom: 0.3125rem;
  }
}

.p-form__table td {
  width: 55%;
  padding-top: 1.0625rem;
  padding-bottom: 1.0625rem;
}
@media screen and (max-width: 767px) {
  .p-form__table td {
    width: 100%;
    padding-top: 0.3125rem;
    padding-bottom: 0.3125rem;
  }
}

.p-form__vertical-top {
  vertical-align: top;
}

.p-form__tel-wrap {
  display: flex;
  align-items: center;
}
.p-form__tel-wrap span {
  font-weight: 100;
  margin-inline: 0.3125rem;
}

.p-form__required:after {
  content: "*";
  display: inline-block;
  font-size: 0.8em;
  vertical-align: top;
  color: #ff0000;
}

@media screen and (max-width: 767px) {
  .submit_button + .submit_button {
    margin-top: 1.25rem;
  }
}

.p-form__btn {
  display: block;
  width: 100%;
  max-width: 16.25rem;
  margin-inline: auto;
  margin-top: 2.8125rem;
  position: relative;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .p-form__btn {
    max-width: 12.5rem;
  }
}
.p-form__btn::before {
  content: "";
  display: block;
  width: 1.0625rem;
  height: 0.9375rem;
  background: url(../images/common/arrow_blue.png) no-repeat center center/contain;
  position: absolute;
  right: 1.25rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .p-form__btn::before {
    width: 0.9375rem;
    height: 0.8125rem;
    right: 0.9375rem;
  }
}
.p-form__btn .submit_button {
  -webkit-appearance: none;
          appearance: none;
  background-color: transparent;
  width: 100%;
  padding: 1.25rem 0.3125rem;
  font-size: 1.125rem;
  line-height: 1;
  font-weight: 400;
  text-align: center;
  border-radius: 1.875rem;
  border: 1px solid #404040;
}
@media screen and (max-width: 767px) {
  .p-form__btn .submit_button {
    font-size: 1rem;
    max-width: 12.5rem;
    padding: 0.9375rem 0.3125rem;
  }
}
@media (any-hover: hover) {
  .p-form__btn .submit_button:hover {
    opacity: 1;
  }
  .p-form__btn .submit_button:hover::before {
    -webkit-transform: translate(0.3125rem, -50%);
            transform: translate(0.3125rem, -50%);
  }
}

.p-guide__about {
  background: url(../images/guide/guide_about_bg.webp) no-repeat center/cover;
  padding-block: 12.1875rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-guide__about {
    background: url(../images/guide/guide_about_bg_sp.webp) no-repeat center/cover;
    padding-block: 9.1875rem;
  }
}

.p-guide__about-inner {
  display: inline-block;
  min-height: 34.5rem;
  max-height: 34.5rem;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media screen and (max-width: 767px) {
  .p-guide__about-inner {
    max-width: 100%;
    min-height: auto;
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
  }
}

.p-guide__about-text {
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: 2.6px;
  text-align: left;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media screen and (max-width: 767px) {
  .p-guide__about-text {
    font-size: 1rem;
    line-height: 2.4;
    text-align: center;
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
  }
}
.p-guide__about-text + .p-guide__about-text {
  margin-right: 3.5rem;
}
@media screen and (max-width: 767px) {
  .p-guide__about-text + .p-guide__about-text {
    margin-right: 0;
    margin-top: 3.75rem;
  }
}
.p-guide__about-text span {
  display: block;
}
@media screen and (max-width: 767px) {
  .p-guide__about-text span.u-desktop {
    display: none !important;
  }
}
.p-guide__about-text span.u-mobile {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .p-guide__about-text span.u-mobile {
    display: block !important;
  }
}
.p-guide__about-text span + span {
  margin-right: 2rem;
}
@media screen and (max-width: 767px) {
  .p-guide__about-text span + span {
    margin-right: 0;
  }
}

.p-guide__container {
  border-top: 1px solid #DCD0BC;
  border-bottom: 1px solid #DCD0BC;
}
@media screen and (max-width: 767px) {
  .p-guide__container {
    border-top: 0;
    border-bottom: 0;
  }
}

.p-guide__wrap {
  display: flex;
  max-width: 90rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-guide__wrap {
    display: block;
  }
}

.p-guide__inner {
  max-width: 72.5rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-guide__inner {
    padding-inline: 1.5rem;
  }
}

.p-guide__reserve,
.p-guide__minors {
  width: 50%;
  padding-block: 6.125rem;
}
@media screen and (max-width: 767px) {
  .p-guide__reserve,
  .p-guide__minors {
    width: 100%;
    padding-block: 6.125rem;
    border-bottom: 1px solid #DCD0BC;
  }
}
.p-guide__reserve + .p-guide__section,
.p-guide__minors + .p-guide__section {
  border-left: 1px solid #DCD0BC;
}
@media screen and (max-width: 767px) {
  .p-guide__reserve + .p-guide__section,
  .p-guide__minors + .p-guide__section {
    border-left: 0;
    padding-bottom: 10.125rem;
  }
}

.p-guide__section-title {
  text-align: center;
}

.p-guide__section-title-ja {
  font-size: 1.75rem;
  font-weight: 400;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .p-guide__section-title-ja {
    font-size: 1.625rem;
  }
}

.p-guide__section-title-en {
  color: #C5B394;
  font-family: "EB Garamond", serif;
  font-style: italic;
  font-size: 1.125rem;
  line-height: 0.8;
  margin-top: 1.5rem;
}

.p-guide__reserve-text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  text-align: center;
  margin-top: 3.75rem;
}

.p-guide__reserve-info {
  max-width: 20rem;
  margin-inline: auto;
  margin-top: 1.875rem;
}

.p-guide__tel {
  margin-top: 1.25rem;
  text-align: center;
}
.p-guide__tel a {
  font-family: "EB Garamond", serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-guide__tel a {
    font-size: 1.875rem;
  }
}
.p-guide__tel span {
  font-size: 0.75rem;
  font-weight: 400;
  margin-left: 0.625rem;
}
.p-guide__tel span > span {
  font-size: 0.875rem;
  margin-left: 0.25em;
}

.p-guide__sns-item + .p-guide__sns-item {
  margin-top: 0.75rem;
}
.p-guide__sns-item .c-btn {
  background-color: #48433A;
  color: #fff;
}

.p-guide__minors-inner {
  max-width: 25rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-guide__minors-inner {
    max-width: 23.75rem;
  }
}

.p-guide__minors-box {
  margin-top: 3.75rem;
}

.p-guide__minors-text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
  text-align: center;
}
.p-guide__minors-text + .p-guide__minors-text {
  margin-top: 0.625rem;
}

.p-guide__minors-download {
  margin-top: 3.75rem;
}
.p-guide__minors-download a {
  font-size: 0.875rem;
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.25rem;
  width: 100%;
  padding: 0.6875rem;
  border: 1px solid #4F4945;
  border-radius: 6.25rem;
  transition: 0.3s;
}
.p-guide__minors-download a::after {
  content: "";
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  background: url(../images/guide/download_icon.svg) no-repeat center/cover;
}
@media (any-hover: hover) {
  .p-guide__minors-download a:hover {
    opacity: 0.7;
  }
}

.p-guide__flow {
  margin-top: 6.125rem;
}

.p-guide__flow-list {
  margin-top: 3.75rem;
  border-top: 1px solid #DCD0BC;
}

.p-guide__flow-item {
  display: flex;
  align-items: center;
  gap: 2rem;
  padding-block: 2.5rem;
  border-bottom: 1px solid #DCD0BC;
}
@media screen and (max-width: 767px) {
  .p-guide__flow-item {
    align-items: flex-start;
    gap: 1.25rem 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-guide__flow-item:nth-of-type(1) {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 767px) {
  .p-guide__flow-item:nth-of-type(1) .p-guide__flow-item-block {
    display: contents;
  }
}

.p-guide__flow-item-img {
  flex: 1 1 21rem;
}
@media screen and (max-width: 767px) {
  .p-guide__flow-item-img {
    flex: 0 1 auto;
    width: 42.1052631579%;
  }
}
@media screen and (max-width: 767px) {
  .p-guide__flow-item-img img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1/1;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.p-guide__flow-item-block {
  flex: 1 1 calc(100% - 23rem);
}

.p-guide__flow-item-wrap-sp {
  display: contents;
}
@media screen and (max-width: 767px) {
  .p-guide__flow-item-wrap-sp {
    display: block;
    flex: 0 1 auto;
    width: 51.5789473684%;
  }
}

.p-guide__flow-item-number {
  font-family: "EB Garamond", serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
}

.p-guide__flow-item-title {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.4;
}

.p-guide__flow-item-text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2;
  margin-top: 1.5rem;
}

.p-guide__flow-item-info {
  padding: 1rem;
  margin-top: 0.75rem;
  background-color: #f6efe0;
}
@media screen and (max-width: 767px) {
  .p-guide__flow-item-info {
    width: 100%;
  }
}
.p-guide__flow-item-info .p-guide__tel {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .p-guide__flow-item-info .p-guide__tel {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .p-guide__flow-item-info .p-guide__tel > span {
    display: block;
    margin-left: 0;
    margin-top: 0.625rem;
  }
}
.p-guide__flow-item-info .p-guide__sns-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
  max-width: 39rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-guide__flow-item-info .p-guide__sns-list {
    display: block;
  }
}
.p-guide__flow-item-info .p-guide__sns-item + .p-guide__sns-item {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .p-guide__flow-item-info .p-guide__sns-item + .p-guide__sns-item {
    margin-top: 0.75rem;
  }
}

.p-header {
  width: 100%;
  height: 5rem;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 20;
  mix-blend-mode: exclusion;
  opacity: 0;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-header {
    height: 4.625rem;
  }
}
.p-header.open {
  mix-blend-mode: initial;
  opacity: 0;
}

.c-header__overlay {
  background-color: rgba(72, 67, 58, .2);
  width: 100%;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
  transition: 0.1s;
  opacity: 0;
  visibility: hidden;
}
.c-header__overlay.is-overlay {
  opacity: 1;
  visibility: visible;
  transition: 0.1s;
}

.p-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  width: 100%;
  margin-inline: auto;
  padding-inline: 2rem;
}
@media screen and (max-width: 767px) {
  .p-header__inner {
    padding-inline: 1.5rem;
  }
}

.p-header__logo {
  width: 100%;
  max-width: 11.0625rem;
}
@media screen and (max-width: 767px) {
  .p-header__logo {
    max-width: 9rem;
  }
}
@media screen and (max-width: 767px) {
  .p-header__logo.is-subpage {
    max-width: 2rem;
  }
}

.p-header__logo a {
  display: block;
}
@media (any-hover: hover) {
  .p-header__logo a:hover {
    opacity: 0.5;
  }
}

.p-header__sns {
  height: inherit;
}
@media screen and (max-width: 767px) {
  .p-header__sns {
    display: none;
  }
}

.p-header__sns-list {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  height: inherit;
}

.p-header__sns-item {
  height: inherit;
}
.p-header__sns-item a {
  display: flex;
  align-items: center;
  height: inherit;
  font-family: "EB Garamond", serif;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 400;
}
@media (any-hover: hover) {
  .p-header__sns-item a:hover {
    opacity: 0.5;
  }
}

.p-media {
  max-width: 57.5rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-media {
    max-width: 100%;
    padding-inline: 0;
  }
}

.p-media__list {
  border-top: 1px solid #DCD0BC;
}
@media screen and (max-width: 767px) {
  .p-media__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    border-left: 1px solid #DCD0BC;
    margin-top: 7.5rem;
  }
}

.p-media__item {
  margin-top: 2.5rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid #DCD0BC;
}
@media screen and (max-width: 767px) {
  .p-media__item {
    margin-top: 0;
    padding: 2rem 1.5rem;
    border-right: 1px solid #DCD0BC;
    border-bottom: 1px solid #DCD0BC;
  }
}
.p-media__item a {
  transition: 0.3s;
}
@media (any-hover: hover) {
  .p-media__item a:hover {
    opacity: 0.7;
  }
}

.p-media__item-wrapper {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-media__item-wrapper {
    display: block;
  }
}

.p-media__item-img {
  flex: 1 0 12.5rem;
  width: 100%;
}
.p-media__item-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1/1;
}

.p-media__item-block {
  flex: 1 1 calc(100% - 14rem);
}
@media screen and (max-width: 767px) {
  .p-media__item-block {
    margin-top: 1.5rem;
  }
}

.p-media__item-time {
  font-family: "EB Garamond", serif;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: -0.03em;
}

.p-media__item-title {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.04em;
  margin-top: 1rem;
}

.p-media__item-content {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.04em;
  margin-top: 1rem;
}

.p-media__item-link {
  margin-top: 2rem;
}
.p-media__item-link span {
  font-family: "EB Garamond", serif;
  font-size: 1rem;
  font-weight: 400;
  text-decoration: underline;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.p-media__item-link span::after {
  content: "";
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  -webkit-mask: url(../images/icon_media_blank.svg) no-repeat center/contain;
          mask: url(../images/icon_media_blank.svg) no-repeat center/contain;
  background-color: #48433A;
}

.p-media__pagination {
  margin-top: 5rem;
}

.p-price {
  display: flex;
  align-items: flex-start;
  gap: 5rem;
  width: 100%;
  max-width: 72.5rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-price {
    flex-direction: column;
    gap: 5rem;
    padding-inline: 1.5rem;
  }
}

.p-price__side {
  flex: 1 1 15rem;
  max-width: 15rem;
  position: sticky;
  top: 2.5rem;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-price__side {
    flex: 1;
    width: 100%;
    max-width: 100%;
    padding-bottom: 3rem;
    position: relative;
    top: auto;
    left: auto;
  }
}
@media screen and (max-width: 767px) {
  .p-price__side::before {
    content: "";
    display: block;
    width: 100vw;
    height: 1px;
    margin-inline: calc(50% - 50vw);
    background-color: #DCD0BC;
    position: absolute;
    bottom: 0;
    left: 0;
  }
}

.p-price__side-title {
  font-size: 1rem;
  font-weight: 500;
}

.p-price__side-select {
  margin-top: 0.625rem;
  position: relative;
}
.p-price__side-select::before {
  content: "";
  display: block;
  width: 0.625rem;
  height: 0.3125rem;
  background: url(../images/select_arrow.png) no-repeat center/100% auto;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1rem;
  pointer-events: none;
}
.p-price__side-select select {
  color: #7a7368;
  width: 100%;
  padding: 1rem 2.625rem 1rem 1rem;
  font-size: 0.875rem;
  font-weight: 400;
  border-radius: 0;
  background-color: transparent;
  border: 1px solid #DCD0BC;
  -webkit-appearance: none;
          appearance: none;
  outline: none;
  cursor: pointer;
}
.p-price__side-select + .p-price__side-title {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-price__side-select + .p-price__side-title {
    margin-top: 2rem;
  }
}

.p-price__posts {
  flex: 1 1 calc(100% - 20rem);
}

.p-price__posts-top-title {
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-price__posts-top-title {
    font-size: 2rem;
  }
}

.p-price__posts-top-note {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.4;
  margin-top: 1rem;
}

.p-price__posts-top-table {
  margin-top: 1.5rem;
  border-top: 1px solid #DCD0BC;
  border-bottom: 1px solid #DCD0BC;
}
@media screen and (max-width: 767px) {
  .p-price__posts-top-table {
    margin-top: 2.5rem;
  }
}

.p-price__posts-top-table-row {
  display: flex;
  gap: 0.5rem;
  border-top: 1px solid #DCD0BC;
}
@media screen and (max-width: 767px) {
  .p-price__posts-top-table-row {
    flex-wrap: wrap;
    gap: 0rem;
  }
}
@media screen and (max-width: 767px) {
  .p-price__posts-top-table-row + .p-price__posts-top-table-row {
    margin-top: 0.5rem;
  }
}
.p-price__posts-top-table-row:first-child {
  border-top: none;
}
.p-price__posts-top-table-row.un_empty {
  border-top: none;
  margin-top: -1rem;
}
@media screen and (max-width: 767px) {
  .p-price__posts-top-table-row.un_empty {
    margin-top: -0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .p-price__posts-top-table-row.un_empty dt {
    display: none;
  }
}
.p-price__posts-top-table-row dt {
  background-color: #f6efe0;
  flex: 1 1 14.625rem;
  max-width: 14.625rem;
  padding: 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-price__posts-top-table-row dt {
    flex: 1 0 100%;
    width: 100%;
    max-width: 100%;
    padding: 0.375rem 0.75rem;
  }
}
.p-price__posts-top-table-row dt span {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.4;
  display: block;
  margin-top: 0.25rem;
}
@media screen and (max-width: 767px) {
  .p-price__posts-top-table-row dt span {
    margin-top: 0;
  }
}
.p-price__posts-top-table-row dd {
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.8;
  text-align: right;
  padding-block: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-price__posts-top-table-row dd {
    padding-block: 0.5rem;
  }
}
.p-price__posts-top-table-row dd:nth-of-type(1) {
  flex: 1 1 4rem;
  max-width: 4rem;
  margin-left: auto;
}
.p-price__posts-top-table-row dd:nth-of-type(2) {
  flex: 1 1 4.5rem;
  max-width: 4.5rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-price__posts-top-table-row dd:nth-of-type(2) {
    margin-right: 0.75rem;
  }
}

.p-price__posts-list {
  margin-top: 5rem;
}

.p-price__posts-wrap + .p-price__posts-wrap {
  margin-top: 5rem;
}

.p-price__posts-term {
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-price__posts-term {
    font-size: 2rem;
  }
}

.p-price__posts-sub {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.4;
  margin-top: 1rem;
}
.p-price__posts-sub:first-child {
  margin-top: 0rem;
}

.p-price__posts-title {
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.4;
  padding-bottom: 0.5rem;
  border-bottom: 1px dashed #838383;
  margin-top: 4rem;
}

.p-price__posts-table-title {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.4;
  padding-left: 0.5625rem;
  margin-top: 2.5rem;
  position: relative;
}
.p-price__posts-table-title::before {
  content: "";
  display: block;
  width: 0.1875rem;
  height: 1.25rem;
  border-radius: 0.125rem;
  background-color: #48433A;
  position: absolute;
  top: 0.15625rem;
  left: 0;
}

.p-price__posts-table {
  margin-top: 1.5rem;
  border-top: 1px solid #DCD0BC;
  border-bottom: 1px solid #DCD0BC;
}

.p-price__posts-table-row {
  display: flex;
  gap: 0.5rem;
  border-top: 1px solid #DCD0BC;
}
@media screen and (max-width: 767px) {
  .p-price__posts-table-row {
    flex-wrap: wrap;
    gap: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-price__posts-table-row + .p-price__posts-top-table-row {
    margin-top: 0.5rem;
  }
}
.p-price__posts-table-row:first-child {
  border-top: none;
}
.p-price__posts-table-row.un_empty {
  border-top: none;
  margin-top: -1rem;
}
@media screen and (max-width: 767px) {
  .p-price__posts-table-row.un_empty {
    margin-top: -0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .p-price__posts-table-row.un_empty dt {
    display: none;
  }
}
.p-price__posts-table-row dt {
  background-color: #f6efe0;
  flex: 1 1 14.625rem;
  max-width: 14.625rem;
  padding: 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-price__posts-table-row dt {
    flex: 1 0 100%;
    width: 100%;
    max-width: 100%;
    padding: 0.375rem 0.75rem;
  }
}
.p-price__posts-table-row dd {
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.8;
  text-align: right;
  padding-block: 0.75rem;
}
.p-price__posts-table-row dd:nth-of-type(1) {
  flex: 1 1 4.25rem;
  margin-left: auto;
}
.p-price__posts-table-row dd:nth-of-type(2) {
  flex: 1 1 4rem;
  max-width: 4rem;
}
.p-price__posts-table-row dd:nth-of-type(3) {
  flex: 1 1 4.5rem;
  max-width: 4.5rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-price__posts-table-row dd:nth-of-type(3) {
    margin-right: 0.75rem;
  }
}

.p-price__posts-table-info {
  color: #48433A;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
  margin-top: 1.5rem;
}

.p-privacy-policy {
  max-width: 57.5rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-privacy-policy {
    padding-inline: 1.5rem;
  }
}

.p-privacy-policy__section + .p-privacy-policy__section {
  margin-top: 7.5rem;
}

.p-privacy-policy__title {
  font-size: 1.625rem;
  font-weight: 600;
  line-height: 1.4;
}

.p-privacy-policy__text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
  margin-top: 1.5rem;
}

.p-privacy-policy__item {
  margin-top: 4rem;
}
.p-privacy-policy__item-title {
  background-color: #373432;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
  padding: 0.25rem 0.375rem;
}

.p-privacy-policy__item-list {
  margin-left: 1em;
  margin-top: 1.5rem;
}
.p-privacy-policy__item-list.--number {
  list-style: decimal;
}
.p-privacy-policy__item-list.--number-circle {
  margin-left: 0;
}
.p-privacy-policy__item-list.--number-circle li + li {
  margin-top: 1.5rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
}
.p-privacy-policy__item-list.--dot {
  list-style: disc;
  margin-left: 1.5em;
}
.p-privacy-policy__item-list.--dot li + li {
  margin-top: 0;
}

.p-privacy-policy__item-item {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
}
.p-privacy-policy__item-link-item {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
  margin-top: 1.5rem;
}
.p-privacy-policy__item-link-item span {
  display: block;
}
.p-privacy-policy__item-link-item a {
  color: #3f7ab8;
  text-decoration: underline;
}

.p-privacy-policy__item-box {
  border: 1px solid #DCD0BC;
  padding: 2rem;
  margin-top: 1.5rem;
}

.p-privacy-policy__item-box-title {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
}

.p-privacy-policy__item-box-text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
  margin-top: 0.625rem;
}

.p-privacy-policy__item-box-dl-wrap {
  display: flex;
  gap: 0.625rem;
}
.p-privacy-policy__item-box-dl-wrap dt,
.p-privacy-policy__item-box-dl-wrap dd {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
}
.p-privacy-policy__item-box-dl-wrap dt {
  flex: 1 0 2.8125rem;
  width: 100%;
}
.p-privacy-policy__item-box-dl-wrap dd {
  flex: 1 0 calc(100% - 3.4375rem);
}

.p-privacy-policy__item-checkbox {
  display: block;
  padding-left: 2.1875rem;
  position: relative;
}
.p-privacy-policy__item-checkbox::before {
  content: "□";
  display: block;
  position: absolute;
  top: 0;
  left: 0.9375rem;
}

.p-special {
  padding-block: 5rem 4.1875rem;
}
@media screen and (max-width: 767px) {
  .p-special {
    padding-block: 5rem 8.625rem;
  }
}

.p-special__mv {
  aspect-ratio: 1440/400;
}
@media screen and (max-width: 767px) {
  .p-special__mv {
    aspect-ratio: 428/211;
  }
}
.p-special__mv img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-special-content {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-special-content {
    margin-top: 5rem;
  }
}

.p-special__inner {
  max-width: 72.5rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-special__inner {
    padding-inline: 1.5rem;
  }
}

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

.p-special__title_ja {
  font-size: 2.375rem;
  font-weight: 400;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .p-special__title_ja {
    font-size: 1.75rem;
  }
}

.p-special__title-en {
  color: #C5B394;
  font-family: "EB Garamond", serif;
  font-style: italic;
  font-size: 1.125rem;
  line-height: 0.8;
  margin-top: 1.5rem;
}

.p-special__about {
  margin-top: 6.125rem;
}

.p-special__about-wrap {
  display: flex;
  gap: 5rem;
  padding-inline: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-special__about-wrap {
    display: block;
    padding-inline: 0;
  }
}

.p-special__about-title {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2;
  flex: 1 1 27.4375rem;
  max-width: 27.4375rem;
}
@media screen and (max-width: 767px) {
  .p-special__about-title {
    font-size: 1.25rem;
    max-width: 100%;
    padding-inline: 0.4375rem;
  }
}

.p-special__about-block {
  flex: 1 1 32.5rem;
  max-width: 32.5rem;
}
@media screen and (max-width: 767px) {
  .p-special__about-block {
    max-width: 100%;
    margin-top: 3rem;
  }
}

.p-special__about-text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
}
.p-special__about-text:nth-child(2) {
  margin-top: 2.8125rem;
}
.p-special__about-text:nth-child(3) {
  margin-top: 0.625rem;
}

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

.p-special__anchor-list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-left: 1px solid #838383;
  border-right: 1px solid #838383;
}
@media screen and (max-width: 767px) {
  .p-special__anchor-list {
    display: block;
    border-right: 0;
    border-left: 0;
    border-top: 1px solid #838383;
    border-bottom: 1px solid #838383;
  }
}

.p-special__anchor-item:not(:first-child) {
  position: relative;
}
.p-special__anchor-item:not(:first-child)::before {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background: url(../images/special/anchor_dash_border.png) no-repeat center/contain;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-special__anchor-item:not(:first-child)::before {
    width: 100%;
    height: 1px;
    background: url(../images/special/anchor_dash_border_sp.png) repeat-x center/contain;
  }
}
.p-special__anchor-item a {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding: 2.375rem;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-special__anchor-item a {
    flex-direction: row;
    justify-content: center;
    padding: 1.5rem;
  }
}
.p-special__anchor-item a::after {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background: url(../images/special/special_arrow.png) no-repeat center/cover;
}
.p-special__anchor-item a span {
  display: flex;
  align-items: center;
  min-height: 3.25rem;
}
@media screen and (max-width: 767px) {
  .p-special__anchor-item a span {
    min-height: 2.75rem;
  }
}
@media (any-hover: hover) {
  .p-special__anchor-item a:hover {
    opacity: 0.5;
  }
}

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

.p-special__section-title {
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 1.8;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .p-special__section-title {
    font-size: 1.375rem;
    text-align: center;
  }
}
.p-special__section-title::before, .p-special__section-title::after {
  content: "";
  display: block;
  width: 0.875rem;
  height: 0.875rem;
  background-color: currentColor;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .p-special__section-title::before, .p-special__section-title::after {
    width: 0.625rem;
    height: 0.625rem;
  }
}
.p-special__section-title + * {
  margin-top: 2rem;
}

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

.p-special__recommend-box {
  background-color: #f6efe0;
  padding: 3rem;
}
@media screen and (max-width: 767px) {
  .p-special__recommend-box {
    padding: 3rem 1.5rem;
  }
}

.p-special__recommend-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-special__recommend-list {
    display: block;
  }
}

.p-special__recommend-item {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.8;
  padding-left: 2rem;
  position: relative;
}
.p-special__recommend-item::before {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background: url(../images/special/recommend_list_icon.png) no-repeat center/cover;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-special__recommend-item + .p-special__recommend-item {
    margin-top: 1.25rem;
  }
}

.p-special__recommend-text {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.8;
  margin-top: 2.5rem;
  width: -webkit-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding: 0 0.625rem 0.375rem;
  border-bottom: 1px solid #DCD0BC;
}
@media screen and (max-width: 767px) {
  .p-special__recommend-text {
    padding: 0;
    border-bottom: 0;
    font-size: 1rem;
  }
}
.p-special__recommend-text span {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .p-special__recommend-text span {
    display: block;
    width: -webkit-fit-content;
    width: fit-content;
    margin-inline: auto;
    padding: 0 0.625rem 0.375rem;
    border-bottom: 1px solid #DCD0BC;
  }
}
.p-special__recommend-text span + span {
  margin-top: 0.5625rem;
}

.p-special__customize-list {
  border-top: 1px solid #DCD0BC;
  border-bottom: 1px solid #DCD0BC;
}
@media screen and (max-width: 767px) {
  .p-special__customize-list {
    border-left: 1px solid #DCD0BC;
    border-right: 1px solid #DCD0BC;
  }
}

.p-special__customize-item {
  border-bottom: 1px solid #DCD0BC;
  border-left: 1px solid #DCD0BC;
}
.p-special__customize-item:last-child {
  border-bottom: 0;
}
.p-special__customize-item.--reverse {
  border-left: 0;
  border-right: 1px solid #DCD0BC;
}
.p-special__customize-item.--reverse .p-special__customize-item-inner {
  flex-direction: row-reverse;
}
.p-special__customize-item.--reverse .p-special__customize-item-img {
  padding: 1.25rem 5.625rem 1.25rem 1.25rem;
  border-right: 0;
  border-left: 1px solid #DCD0BC;
}
@media screen and (max-width: 767px) {
  .p-special__customize-item.--reverse .p-special__customize-item-img {
    border-left: 0;
    padding: 1.5rem;
  }
}
.p-special__customize-item.--reverse .p-special__customize-item-block {
  padding-right: 0;
  padding-left: 10rem;
}
@media screen and (max-width: 767px) {
  .p-special__customize-item.--reverse .p-special__customize-item-block {
    padding: 2.5rem 1.5rem;
  }
}

.p-special__customize-item-inner {
  display: flex;
  align-items: center;
  gap: 5rem;
  max-width: 90rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-special__customize-item-inner {
    display: block;
  }
}

.p-special__customize-item-img {
  flex: 1 0 28.25rem;
  width: 100%;
  padding: 1.25rem 1.25rem 1.25rem 5.625rem;
  border-right: 1px solid #DCD0BC;
}
@media screen and (max-width: 767px) {
  .p-special__customize-item-img {
    border-right: 0;
    border-bottom: 1px solid #DCD0BC;
    padding: 1.5rem;
  }
}

.p-special__customize-item-block {
  flex: 1 1 calc(100% - 28.25rem);
  padding-right: 10rem;
}
@media screen and (max-width: 767px) {
  .p-special__customize-item-block {
    padding: 2.5rem 1.5rem;
  }
}

.p-special__customize-item-title {
  font-size: 1.125rem;
  line-height: 2;
  padding-left: 3.25rem;
  position: relative;
}
.p-special__customize-item-title::before {
  content: "";
  display: block;
  width: 2.5rem;
  height: 1px;
  background-color: #4F4945;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.p-special__customize-item-text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
  margin-top: 1rem;
}

.p-special__conference-box {
  background-color: #3f3c39;
  padding-block: 8.5rem 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-special__conference-box {
    padding-block: 3.5rem 4rem;
  }
}

.p-special__conference-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  max-width: 70rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-special__conference-list {
    display: block;
    padding-inline: 1.5rem;
  }
}

.p-special__conference-item {
  color: #D5CEC9;
}
@media screen and (max-width: 767px) {
  .p-special__conference-item + .p-special__conference-item {
    margin-top: 2rem;
  }
}

.p-special__conference-item-title {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 2;
  margin-top: 0.75rem;
}

.p-special__conference-item-text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.7;
  margin-top: 0.5rem;
}

.p-special__case-section {
  padding: 2rem;
  border: 1px solid #838383;
}
@media screen and (max-width: 767px) {
  .p-special__case-section {
    padding: 2rem 1.5rem;
  }
}
.p-special__case-section + .p-special__case-section {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-special__case-section + .p-special__case-section {
    margin-top: 1.5rem;
  }
}

.p-special__case-section-title {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.8;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.p-special__case-section-title span {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
  display: inline-block;
  padding: 0.25rem 0.75rem;
  border: 1px solid #DCD0BC;
  border-radius: 6.25rem;
}

.p-special__case-section-wrap {
  display: flex;
  align-items: center;
  gap: 3.5rem;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-special__case-section-wrap {
    display: block;
  }
}

.p-special__case-section-video {
  flex: 1 0 20rem;
  width: 100%;
  position: relative;
}
.p-special__case-section-video video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 320/569;
}
@media screen and (max-width: 767px) {
  .p-special__case-section-video video {
    aspect-ratio: 332/590;
  }
}

.p-special__case-section-block {
  flex: 1 1 calc(100% - 23.5rem);
}
@media screen and (max-width: 767px) {
  .p-special__case-section-block {
    margin-top: 3.5rem;
  }
}

.p-special__case-section-comment {
  padding-bottom: 3.5rem;
  position: relative;
}
.p-special__case-section-comment::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: url(../images/special/case_border_dashed.png) repeat-x center/100% auto;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-special__case-section-comment::after {
    background: url(../images/special/case_border_dashed.png) repeat-x center/cover;
  }
}

.p-special__case-section-comment-title {
  font-size: 1rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-left: -0.4em;
}
@media screen and (max-width: 767px) {
  .p-special__case-section-comment-title {
    gap: 0.5rem;
  }
}
.p-special__case-section-comment-title::after {
  content: "";
  display: block;
  width: 100%;
  max-width: 31.375rem;
  height: 1px;
  background: url(../images/special/case_border_dashed.png) repeat-x center/100% auto;
}
@media screen and (max-width: 767px) {
  .p-special__case-section-comment-title::after {
    background: url(../images/special/case_border_dashed.png) repeat-x center/cover;
  }
}
.p-special__case-section-comment-title span {
  flex-shrink: 0;
}

.p-special__case-section-comment-text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
  margin-top: 2.5rem;
}
.p-special__case-section-comment-text + .p-special__case-section-comment-text {
  margin-top: 0.625rem;
}

.p-special__case-section-details {
  background-color: #f6efe0;
  padding: 2rem;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-special__case-section-details {
    padding-right: 1rem;
  }
}

.p-special__case-section-details-title {
  font-size: 1rem;
  font-weight: 500;
  margin-left: -0.4em;
}

.p-special__case-section-details-text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
  margin-top: 1.5rem;
}

.p-special-intro {
  color: #D5CEC9;
  background-color: #3f3c39;
  padding-block: 6.625rem;
  margin-top: 6.125rem;
}
@media screen and (max-width: 767px) {
  .p-special-intro {
    padding-block: 7.875rem;
  }
}

.p-special-intro__inner {
  max-width: 31.625rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-special-intro__inner {
    max-width: 100%;
    padding-inline: 1.5rem;
  }
}

.p-special-intro__text {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 2.2;
  text-align: center;
}

.p-special-intro__strong {
  font-size: 1.5rem;
  font-weight: 500;
  text-align: center;
  color: #3F3C39;
  background-color: #fff;
  width: -webkit-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding: 0.375rem;
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .p-special-intro__strong {
    font-size: 1.375rem;
    line-height: 1.4545454545;
  }
}

.p-special-intro__movie {
  margin-top: 2.5rem;
}

.p-special-intro__movie-title {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2.2;
  text-align: center;
  padding: 0.25rem 0;
  border-top: 1px solid #4F4945;
  border-bottom: 1px solid #4F4945;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-special-intro__movie-title {
    font-size: 0.75rem;
  }
}
.p-special-intro__movie-title::before {
  content: "";
  display: block;
  width: 1.25rem;
  height: 1px;
  background-color: #4F4945;
  position: absolute;
  bottom: -0.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%) rotate(-45deg);
          transform: translateX(-50%) rotate(-45deg);
}

.p-special-intro__movie-body {
  width: 100%;
  aspect-ratio: 600/400;
  margin-top: 1.375rem;
}
@media screen and (max-width: 767px) {
  .p-special-intro__movie-body {
    aspect-ratio: 380/214;
  }
}
.p-special-intro__movie-body iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-special__care-title {
  font-size: 1.375rem;
  width: -webkit-fit-content;
  width: fit-content;
  margin-inline: auto;
  margin-top: -1.25rem;
  background-color: #f6efe0;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-special__care-title {
    font-size: 1.375rem;
    text-align: center;
    line-height: 1.4545454545;
    margin-top: -1.8125rem;
  }
}
.p-special__care-title span {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding-inline: 2.125rem;
  background: url(../images/special/special_care_title_bg.png) repeat center/contain;
}
@media screen and (max-width: 767px) {
  .p-special__care-title span {
    padding-inline: 1rem;
  }
}
.p-special__care-title span::before, .p-special__care-title span::after {
  content: "";
  display: block;
  width: 0.875rem;
  height: 0.875rem;
  background-color: currentColor;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .p-special__care-title span::before, .p-special__care-title span::after {
    width: 0.75rem;
    height: 0.75rem;
  }
}

.p-special__care-wrap {
  border: 1px solid #838383;
}

.p-special__care-text {
  padding: 3.25rem 2.25rem 4.5rem;
  margin-top: 0;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-special__care-text {
    padding: 2.6875rem 1.5rem 4.5rem;
    text-align: left;
  }
}

.p-worries-list {
  list-style: none;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem 2rem;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-worries-list {
    grid-template-columns: repeat(1, 1fr);
    gap: 1.25rem;
    margin-top: 2rem;
    padding-right: 1.6875rem;
  }
}

.p-worries-list__item {
  display: flex;
  align-items: flex-start;
  padding-left: 1.625rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px dashed #C5B394;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
  position: relative;
}
.p-worries-list__item::before {
  content: "";
  display: block;
  width: 1.125rem;
  height: 1.125rem;
  background: url(../images/worries_list_icon.svg) no-repeat center/contain;
  position: absolute;
  top: 0.25rem;
  left: 0;
}
.p-worries-list__item strong {
  color: #9D6D17;
  font-weight: 500;
}
.p-worries-list__item p {
  font-size: 1rem !important;
  margin-top: 0 !important;
}

.p-block-editor > *:first-child {
  margin-top: 0 !important;
}
.p-block-editor h2 {
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 1.4;
  padding-left: 2rem;
  padding: 4rem 0 1.5rem 1.625rem;
  margin-top: 7.5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-block-editor h2 {
    font-size: 1.5rem;
    padding-left: 2rem;
    padding: 3.5rem 0 1.5rem 1.625rem;
    margin-top: 6rem;
  }
}
.p-block-editor h2::before {
  content: "";
  display: block;
  width: 0.875rem;
  height: 0.875rem;
  background-color: currentColor;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  position: absolute;
  top: 4.6875rem;
  left: 1px;
}
@media screen and (max-width: 767px) {
  .p-block-editor h2::before {
    top: 4.125rem;
  }
}
.p-block-editor h2::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #C5B394;
  box-shadow: 0px 1px 1px 0px rgb(255, 255, 255);
  position: absolute;
  top: 0;
  left: 0;
}
.p-block-editor h3 {
  background-color: #48433A;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
  padding: 0.25rem 0.375rem;
  margin-top: 4rem;
}
.p-block-editor h4 {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.4;
  padding-left: 0.5625rem;
  margin-top: 3rem;
  position: relative;
}
.p-block-editor h4::before {
  content: "";
  display: block;
  width: 0.1875rem;
  height: 1.25rem;
  border-radius: 0.125rem;
  background-color: #48433A;
  position: absolute;
  top: 0.15625rem;
  left: 0;
}
.p-block-editor p:not([class]) {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
  margin-top: 1.5rem;
}
.p-block-editor p:not([class]) a {
  color: rgb(63, 122, 184);
  text-decoration: underline;
  transition: 0.3s;
}
@media (any-hover: hover) {
  .p-block-editor p:not([class]) a:hover {
    opacity: 0.5;
  }
}
.p-block-editor .wp-block-list {
  list-style: none;
  margin-top: 1rem;
}
.p-block-editor .wp-block-list li {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
  padding-left: 1rem;
  position: relative;
}
.p-block-editor .wp-block-list li::before {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  background-color: #C5B394;
  border-radius: 50%;
  position: absolute;
  top: 0.53125rem;
  left: 0;
}
.p-block-editor .wp-block-list li + li {
  margin-top: 0.5rem;
}
.p-block-editor .wp-block-list li a {
  color: rgb(63, 122, 184);
  text-decoration: underline;
  transition: 0.3s;
}
@media (any-hover: hover) {
  .p-block-editor .wp-block-list li a:hover {
    opacity: 0.5;
  }
}
.p-block-editor .wp-block-list li strong {
  color: #9D6D17;
  font-weight: 500;
}
.p-block-editor .wp-block-image {
  margin-top: 1.5rem;
}
.p-block-editor .wp-element-caption {
  font-size: 0.75rem;
  font-weight: 400;
}
.p-block-editor .wp-block-image :where(figcaption) {
  margin-top: 0.5rem;
  margin-bottom: 0;
}
.p-block-editor .wp-block-flexible-table-block-table {
  width: 100%;
  border-top: 1px solid #DCD0BC;
  border-bottom: 1px solid #DCD0BC;
  border-spacing: 0;
  margin-top: 1.5rem;
}
.p-block-editor .wp-block-flexible-table-block-table > table.has-fixed-layout {
  table-layout: auto;
}
.p-block-editor .wp-block-flexible-table-block-table tr:not(:first-child) th,
.p-block-editor .wp-block-flexible-table-block-table tr:not(:first-child) td {
  border-top: 1px solid #DCD0BC;
  border-color: #DCD0BC;
}
.p-block-editor .wp-block-flexible-table-block-table > table tr th {
  min-width: 12.5rem;
  font-weight: 500;
  background-color: #f6efe0;
}
@media screen and (max-width: 767px) {
  .p-block-editor .wp-block-flexible-table-block-table > table tr th {
    padding: 0.375rem 0.625rem;
  }
}
.p-block-editor .wp-block-flexible-table-block-table > table tr td {
  font-weight: 400;
  background-color: transparent;
}
@media screen and (max-width: 767px) {
  .p-block-editor .wp-block-flexible-table-block-table > table tr td {
    padding: 0.5rem 0.625rem 1rem;
  }
}
.p-block-editor .wp-block-flexible-table-block-table > table tr td em {
  color: #7a7368;
  font-style: normal !important;
  font-size: 0.75rem;
  line-height: 1.4;
}
.p-block-editor .wp-block-flexible-table-block-table > table tr th, .p-block-editor .wp-block-flexible-table-block-table > table tr td {
  font-size: 0.875rem;
  line-height: 1.6;
  vertical-align: top;
  padding: 0.75rem;
  border-color: transparent;
  border-left: 0;
  border-right: 0;
  border-bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-block-editor .wp-block-flexible-table-block-table > table tr th, .p-block-editor .wp-block-flexible-table-block-table > table tr td {
    display: block;
  }
}

.p-blog-archive {
  display: flex;
  align-items: flex-start;
  gap: 7.5rem;
  width: 100%;
  max-width: 72.5rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-blog-archive {
    display: block;
    padding-inline: 0;
  }
}

.p-blog-archive__content {
  flex: 1 1 46.75rem;
  max-width: 46.75rem;
}
@media screen and (max-width: 767px) {
  .p-blog-archive__content {
    max-width: 100%;
  }
}

.p-blog-archive__content-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid #DCD0BC;
  border-left: 1px solid #DCD0BC;
}

.p-blog-archive__content-item {
  border-right: 1px solid #DCD0BC;
  border-bottom: 1px solid #DCD0BC;
}
.p-blog-archive__content-item a {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1.75rem;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-blog-archive__content-item a {
    padding: 2rem 1.5rem;
  }
}
@media (any-hover: hover) {
  .p-blog-archive__content-item a:hover {
    opacity: 0.7;
  }
}

.p-blog-archive__content-item-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 318/249;
}
@media screen and (max-width: 767px) {
  .p-blog-archive__content-item-img img {
    aspect-ratio: 166/130;
  }
}

.p-blog-archive__content-item-block {
  display: flex;
  flex-direction: column;
  height: 100%;
  margin-top: 1.125rem;
}

.p-blog-archive__content-item-meta {
  display: flex;
  gap: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-blog-archive__content-item-meta {
    flex-direction: column;
    gap: 0.5rem;
  }
}

.p-blog-archive__content-item-category {
  color: #9D6D17;
  font-size: 0.875rem;
  font-weight: 600;
  padding-block: 0.25rem;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-blog-archive__content-item-category {
    padding-block: 0;
  }
}

.p-blog-archive__content-item-keyword {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.p-blog-archive__content-item-keyword span {
  display: block;
  background-color: #9D6D17;
  border-radius: 0.125rem;
  padding: 0.25rem;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 400;
}

.p-blog-archive__content-item-title {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.7;
  margin-top: 1rem;
}

.p-blog-archive__content-item-time {
  display: block;
  width: -webkit-fit-content;
  width: fit-content;
  padding-left: 0.8125rem;
  margin-top: 1rem;
  margin-left: auto;
  font-family: "EB Garamond", serif;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.7;
  position: relative;
}
.p-blog-archive__content-item-time::before {
  content: "";
  display: block;
  width: 0.3125rem;
  height: 0.3125rem;
  background-color: #9D6D17;
  position: absolute;
  top: 0.46875rem;
  left: 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.p-blog-archive__content-item-supervisor {
  border-top: 2px dotted #DCD0BC;
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding-top: 1rem;
  margin-top: 1rem;
}

.p-blog-archive__content-item-supervisor-icon {
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
}
.p-blog-archive__content-item-supervisor-icon img {
  border-radius: 50%;
}

.p-blog-archive__supervisor-name {
  font-size: 0.875rem;
  font-weight: 400;
}

.p-blog__sidebar {
  flex: 1 1 15.75rem;
  max-width: 15.75rem;
  position: sticky;
  top: 2.5rem;
  right: 0;
}
@media screen and (max-width: 767px) {
  .p-blog__sidebar {
    max-width: 100%;
    padding-inline: 1.5rem;
    margin-top: 5rem;
    position: relative;
    top: auto;
    right: auto;
  }
}

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

.p-blog__sidebar-section-title {
  font-family: "EB Garamond", serif;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid #DCD0BC;
}
@media screen and (max-width: 767px) {
  .p-blog__sidebar-section-title {
    text-align: center;
  }
}
.p-blog__sidebar-section-title + * {
  margin-top: 1.125rem;
}

@media screen and (max-width: 767px) {
  .p-blog__sidebar-category-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem 2.5rem;
    max-width: 16.875rem;
    margin-inline: auto;
  }
}
.p-blog__sidebar-category-list li a {
  color: #7a7368;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.6;
  display: block;
  padding-left: 0.75rem;
  position: relative;
  transition: 0.3s;
}
.p-blog__sidebar-category-list li a::before {
  content: "";
  display: none;
  width: 0.25rem;
  height: 0.25rem;
  border-radius: 50%;
  background-color: currentColor;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (any-hover: hover) {
  .p-blog__sidebar-category-list li a:hover {
    opacity: 0.7;
  }
}
.p-blog__sidebar-category-list li + li {
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .p-blog__sidebar-category-list li + li {
    margin-top: 0;
  }
}
.p-blog__sidebar-category-list li.is-active {
  pointer-events: none;
}
.p-blog__sidebar-category-list li.is-active a {
  color: #48433A;
}
.p-blog__sidebar-category-list li.is-active a::before {
  display: block;
}

.p-blog__sidebar-key-list {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .p-blog__sidebar-key-list {
    justify-content: center;
  }
}
.p-blog__sidebar-key-list li {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  background-color: #f6efe0;
  border: 1px solid #DCD0BC;
  border-radius: 0.25rem;
  padding: 0.375rem 0.5rem;
  transition: 0.3s;
}
@media (any-hover: hover) {
  .p-blog__sidebar-key-list li:hover {
    opacity: 0.7;
  }
}

.p-blog-single {
  padding-block: 9.375rem 10rem;
}
@media screen and (max-width: 767px) {
  .p-blog-single {
    padding-block: 6.25rem 8.625rem;
  }
}

.p-blog-single__mv {
  max-width: 82.75rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-blog-single__mv {
    padding-inline: 1.5rem;
  }
}

.p-blog-single__mv-inner {
  padding-block: 9.0625rem 8.5625rem;
  border-top: 2px solid #DCD0BC;
  border-bottom: 2px solid #DCD0BC;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-blog-single__mv-inner {
    padding-block: 7.375rem 6.75rem;
  }
}
.p-blog-single__mv-inner::before, .p-blog-single__mv-inner::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #DCD0BC;
  position: absolute;
  left: 0;
  z-index: 1;
}
.p-blog-single__mv-inner::before {
  top: 0.5rem;
}
.p-blog-single__mv-inner::after {
  bottom: 0.5rem;
}

.p-blog-single__mv-title {
  font-size: 2.5rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-blog-single__mv-title {
    font-size: 1.25rem;
    line-height: 1.8;
  }
}

.p-blog-single__mv-time {
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  display: block;
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-blog-single__mv-time {
    font-size: 0.875rem;
    margin-top: 1rem;
  }
}

.p-blog-single__mv-meta {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  flex-wrap: wrap;
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-blog-single__mv-meta {
    margin-top: 1rem;
  }
}

.p-blog-single__mv-category {
  color: #9D6D17;
  font-size: 1rem;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .p-blog-single__mv-category {
    font-size: 0.875rem;
  }
}

.p-blog-single__mv-keyword {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
.p-blog-single__mv-keyword span {
  display: block;
  background-color: #9D6D17;
  border-radius: 0.125rem;
  padding: 0.25rem;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-blog-single__mv-keyword span {
    font-size: 0.75rem;
  }
}

.p-blog-single__layout {
  display: flex;
  align-items: flex-start;
  gap: 4rem;
  max-width: 70.375rem;
  padding-inline: 1.25rem;
  margin-inline: auto;
  margin-top: 10rem;
}
@media screen and (max-width: 767px) {
  .p-blog-single__layout {
    display: block;
    margin-top: 3.75rem;
    padding-inline: 1.5rem;
  }
}

.p-blog-single__content {
  flex: 1 1 48.125rem;
  max-width: 48.125rem;
}
@media screen and (max-width: 767px) {
  .p-blog-single__content {
    max-width: 100%;
  }
}

.p-blog-single__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 770/450;
}
@media screen and (max-width: 767px) {
  .p-blog-single__thumbnail img {
    aspect-ratio: 380/222;
  }
}

.p-blog-single__supervisor {
  margin-top: 2.5rem;
  padding: 1.875rem;
  border: 1px solid #DCD0BC;
}

.p-blog-single__supervisor-wrap {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.p-blog-single__supervisor-img {
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
}
.p-blog-single__supervisor-img img {
  width: 5rem;
  height: 5rem;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1/1;
  border-radius: 50%;
}

.p-blog-single__supervisor-meta span {
  font-size: 0.75rem;
  font-weight: 400;
}

.p-blog-single__supervisor-meta-wrap {
  display: flex;
  align-items: flex-end;
  gap: 0.25em;
  margin-top: 0.5rem;
}

.p-blog-single__supervisor-job {
  font-size: 0.875rem;
  font-weight: 600;
}

.p-blog-single__supervisor-name {
  font-size: 1.125rem;
  font-weight: 600;
}

.p-blog-single__supervisor-history {
  margin-top: 1rem;
}

.p-blog-single__supervisor-history-wrap {
  display: flex;
  gap: 1rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
}
.p-blog-single__supervisor-history-wrap + .p-blog-single__supervisor-history-wrap {
  margin-top: 0.25rem;
}

.p-blog-single__supervisor-history-year {
  flex: 1 0 2.8125rem;
  width: 100%;
}

.p-blog-single__supervisor-history-text {
  flex: 1 1 calc(100% - 3.8125rem);
}

.p-case-archive {
  display: flex;
  align-items: flex-start;
  gap: 4.875rem;
  width: 100%;
  max-width: 71rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-case-archive {
    flex-direction: column-reverse;
    gap: 5rem;
    padding-inline: 1.5rem;
  }
}

.p-case-archive__side {
  flex: 1 1 15rem;
  position: sticky;
  top: 2.5rem;
  right: 0;
}
@media screen and (max-width: 767px) {
  .p-case-archive__side {
    width: 100%;
    max-width: 100%;
    padding-bottom: 3rem;
    position: relative;
    top: auto;
    right: auto;
  }
}
@media screen and (max-width: 767px) {
  .p-case-archive__side::before {
    content: "";
    display: block;
    width: 100vw;
    height: 1px;
    margin-inline: calc(50% - 50vw);
    background-color: #DCD0BC;
    position: absolute;
    bottom: 0;
    left: 0;
  }
}

.p-case-archive__side-title {
  font-size: 1rem;
  font-weight: 500;
}

.p-case-archive__side-select {
  margin-top: 0.625rem;
  position: relative;
}
.p-case-archive__side-select::before {
  content: "";
  display: block;
  width: 0.625rem;
  height: 0.3125rem;
  background: url(../images/select_arrow.png) no-repeat center/100% auto;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1rem;
  pointer-events: none;
}
.p-case-archive__side-select select {
  color: #7a7368;
  width: 100%;
  padding: 1rem 2.625rem 1rem 1rem;
  font-size: 0.875rem;
  font-weight: 400;
  border-radius: 0;
  background-color: transparent;
  border: 1px solid #DCD0BC;
  -webkit-appearance: none;
          appearance: none;
  outline: none;
  cursor: pointer;
}
.p-case-archive__side-select + .p-case-archive__side-title {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-case-archive__side-select + .p-case-archive__side-title {
    margin-top: 2rem;
  }
}

.p-case-archive__posts {
  flex: 1 1 calc(100% - 19.875rem);
}
@media screen and (max-width: 767px) {
  .p-case-archive__posts {
    flex: 1;
  }
}

.p-case-archive__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-case-archive__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
}

.p-case-archive__item {
  background-color: #f6efe0;
  display: flex;
  flex-direction: column;
  height: -webkit-fit-content;
  height: fit-content;
  color: #48433A;
}
@media screen and (max-width: 767px) {
  .p-case-archive__item {
    flex-shrink: 0;
    width: 100%;
    max-width: 17.5rem;
  }
}
.p-case-archive__item a {
  display: block;
}
@media (any-hover: hover) {
  .p-case-archive__item a:hover .p-case-archive__item-img img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}

.p-case-archive__item-thumbnail {
  position: relative;
}

.p-case-archive__item-img {
  overflow: hidden;
}
.p-case-archive__item-img img {
  aspect-ratio: 1/1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.3s;
}

.p-case-archive__item-arrow {
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  position: absolute;
  bottom: 0.5rem;
  right: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-case-archive__item-arrow {
    width: 2rem;
    height: 2rem;
    bottom: 0.25rem;
    right: 0.25rem;
  }
}

.p-case-archive__item-block {
  background-color: #f6efe0;
  padding: 1.875rem 1.25rem 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-case-archive__item-block {
    padding: 1.25rem 1rem 0.9375rem;
  }
}

.p-case-archive__item-wrap {
  background-color: #f6efe0;
}

.p-case-archive__item-title {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5625;
}
@media screen and (max-width: 767px) {
  .p-case-archive__item-title {
    font-size: 1rem;
  }
}

.p-case-archive__item-theme {
  color: #7a7368;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.4;
  margin-top: 0.75rem;
}

.p-case-archive__item-accordion {
  padding: 0.75rem 1.25rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-case-archive__item-accordion {
    padding: 0.9375rem 1rem 1.875rem;
  }
}
.p-case-archive__item-accordion dt {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1.4375rem 0.5rem;
  cursor: pointer;
  /* 開いている状態（マイナス） */
}
.p-case-archive__item-accordion dt.open .p-case-archive__item-accordion-icon::after {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
}
.p-case-archive__item-accordion dd {
  display: none;
  padding-bottom: 1rem;
}

.p-case-archive__item-accordion-wrap {
  border-top: 1px solid #DCD0BC;
  border-bottom: 1px solid #DCD0BC;
}

.p-case-archive__item-accordion-title {
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.56;
}

.p-case-archive__item-accordion-icon {
  display: block;
  width: 0.875rem;
  height: 0.875rem;
  margin-top: 1px;
  background-color: #48433A;
  border-radius: 1.5rem;
  position: relative;
  cursor: pointer;
  flex-shrink: 0;
}

.p-case-archive__item-accordion-icon::before,
.p-case-archive__item-accordion-icon::after {
  content: "";
  position: absolute;
  background-color: #f6efe0;
}

/* 横棒 */
.p-case-archive__item-accordion-icon::before {
  width: 0.5rem;
  height: 1px;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

/* 縦棒（プラスのときだけ表示） */
.p-case-archive__item-accordion-icon::after {
  width: 1px;
  height: 0.5rem;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transform-origin: center;
          transform-origin: center;
  transition: 0.5s;
}

.p-case-archive__item-accordion-item {
  padding-bottom: 1rem;
  border-bottom: 1px solid #DCD0BC;
}
.p-case-archive__item-accordion-item + .p-case-archive__item-accordion-item {
  margin-top: 1rem;
}
.p-case-archive__item-accordion-item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.p-case-archive__item-accordion-item-title {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.4;
  padding-left: 0.875rem;
  position: relative;
}
.p-case-archive__item-accordion-item-title::before {
  content: "";
  display: block;
  width: 0.625rem;
  height: 0.5rem;
  background: url(../images/icon_accordion_triangle.png) no-repeat center/contain;
  position: absolute;
  top: 0.28125rem;
  left: 0;
}

.p-case-archive__item-accordion-item-content {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4;
  margin-top: 0.5rem;
}

.p-case-archive__item-accordion-item-text {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.4;
  margin-top: 0.5rem;
}

.p-case-archive__pagination {
  margin-top: 5rem;
}

.p-case-single {
  padding-block: 9.375rem 10rem;
}
@media screen and (max-width: 767px) {
  .p-case-single {
    padding-block: 6.25rem 8.625rem;
  }
}
.p-case-single .p-block-editor h2 {
  margin-top: 4.5rem;
}
.p-case-single .p-block-editor h3 {
  margin-top: 2rem;
}
.p-case-single .p-block-editor strong {
  color: #9D6D17;
  font-weight: 600;
}

.p-case-single__mv {
  max-width: 82.75rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-case-single__mv {
    padding-inline: 1.5rem;
  }
}

.p-case-single__mv-inner {
  padding-block: 11.625rem 10.625rem;
  border-top: 2px solid #DCD0BC;
  border-bottom: 2px solid #DCD0BC;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-case-single__mv-inner {
    padding-block: 8.375rem 7.125rem;
  }
}
.p-case-single__mv-inner::before, .p-case-single__mv-inner::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #DCD0BC;
  position: absolute;
  left: 0;
  z-index: 1;
}
.p-case-single__mv-inner::before {
  top: 0.5rem;
}
.p-case-single__mv-inner::after {
  bottom: 0.5rem;
}

.p-case-single__mv-title {
  font-size: 2.5rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-case-single__mv-title {
    font-size: 1.25rem;
    line-height: 1.8;
  }
}

.p-case-single__layout {
  display: flex;
  align-items: flex-start;
  gap: 4rem;
  max-width: 75rem;
  padding-inline: 1.25rem;
  margin-inline: auto;
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-case-single__layout {
    display: block;
    padding-inline: 0;
    margin-top: 3.75rem;
  }
}

.p-case-single__slider {
  flex: 1 1 36rem;
  max-width: 36rem;
  position: sticky;
  top: 2.5rem;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-case-single__slider {
    max-width: 100%;
    padding-inline: 0.375rem;
    position: relative;
    top: auto;
    left: auto;
  }
}

.p-case-single__slider-wrap {
  padding-inline: 3rem;
  position: relative;
}

.p-case-single__slider-img img {
  aspect-ratio: 1/1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-case-single__slider-caption {
  font-size: 0.75rem;
  font-weight: 400;
  text-align: center;
  margin-top: 0.5rem;
}

.swiper-btn-prev,
.swiper-btn-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  transition: 0.3s;
  cursor: pointer;
}
.swiper-btn-prev.swiper-button-disabled,
.swiper-btn-next.swiper-button-disabled {
  opacity: 0.2;
  pointer-events: none;
}
@media (any-hover: hover) {
  .swiper-btn-prev:hover,
  .swiper-btn-next:hover {
    opacity: 0.5;
  }
}

.swiper-btn-prev {
  left: 0;
}

.swiper-btn-next {
  right: 0;
}

.p-case-single__content {
  flex: 1 1 calc(100% - 36rem);
  max-width: 32.5rem;
}
@media screen and (max-width: 767px) {
  .p-case-single__content {
    max-width: 100%;
    padding-inline: 1.5rem;
    margin-top: 5rem;
  }
}

.p-case-single__related {
  max-width: 82.5rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
  margin-top: 5.375rem;
  padding-top: 6.125rem;
  border-top: 1px solid #C5B394;
}
@media screen and (max-width: 767px) {
  .p-case-single__related {
    border-top: 0;
    padding-top: 0;
    margin-top: 5rem;
  }
}

.p-case-single__related-title {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-align: center;
}

.p-case-single__related-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.625rem;
  max-width: 66.5rem;
  margin-inline: auto;
  margin-top: 3.5rem;
}
@media screen and (max-width: 767px) {
  .p-case-single__related-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem 1.5rem;
  }
}

.p-case-single__related-item {
  background-color: #f6efe0;
  display: flex;
  flex-direction: column;
  color: #48433A;
}
@media screen and (max-width: 767px) {
  .p-case-single__related-item {
    flex-shrink: 0;
    width: 100%;
    max-width: 17.5rem;
  }
}
.p-case-single__related-item a {
  display: block;
}
@media (any-hover: hover) {
  .p-case-single__related-item a:hover .p-case-single__related-item-img img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}

.p-case-single__related-item-thumbnail {
  position: relative;
}

.p-case-single__related-item-img {
  overflow: hidden;
}
.p-case-single__related-item-img img {
  aspect-ratio: 1/1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.3s;
}

.p-case-single__related-item-arrow {
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  position: absolute;
  bottom: 0.5rem;
  right: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-case-single__related-item-arrow {
    width: 2rem;
    height: 2rem;
    bottom: 0.25rem;
    right: 0.25rem;
  }
}

.p-case-single__related-item-block {
  background-color: #f6efe0;
  padding: 1.875rem 1.25rem 2.5rem;
}

.p-case-single__related-item-title {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5625;
}
@media screen and (max-width: 767px) {
  .p-case-single__related-item-title {
    font-size: 1rem;
  }
}

.p-case-single__related-item-themes {
  color: #7a7368;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.4;
  margin-top: 0.75rem;
}

.p-case-single__table {
  width: 100%;
  border-top: 1px solid #DCD0BC;
  border-bottom: 1px solid #DCD0BC;
  border-spacing: 0;
}
.p-case-single__table > table.has-fixed-layout {
  table-layout: auto;
}
.p-case-single__table tr:not(:first-child) th,
.p-case-single__table tr:not(:first-child) td {
  border-top: 1px solid #DCD0BC;
  border-color: #DCD0BC;
}
.p-case-single__table th {
  min-width: 12.5rem;
  font-weight: 500;
  text-align: left;
  background-color: #f6efe0;
}
@media screen and (max-width: 767px) {
  .p-case-single__table th {
    padding: 0.375rem 0.625rem;
  }
}
.p-case-single__table td {
  font-weight: 400;
  background-color: transparent;
}
@media screen and (max-width: 767px) {
  .p-case-single__table td {
    padding: 0.5rem 0.625rem 1rem;
  }
}
.p-case-single__table th,
.p-case-single__table td {
  font-size: 0.875rem;
  line-height: 1.6;
  vertical-align: top;
  padding: 0.75rem;
  border-color: transparent;
  border-left: 0;
  border-right: 0;
  border-bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-case-single__table th,
  .p-case-single__table td {
    display: block;
  }
}

.p-case-single__back {
  margin-top: 5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-case-single__back {
    margin-top: 2.5rem;
  }
}
.p-case-single__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: 0.3s;
}
.p-case-single__back a::before {
  content: "(";
  display: block;
}
.p-case-single__back a::after {
  content: ")";
  display: block;
}
@media (any-hover: hover) {
  .p-case-single__back a:hover {
    opacity: 0.5;
  }
}
.p-case-single__back span {
  text-decoration: underline;
}

.p-menu-archive {
  width: 100%;
  max-width: 72.5rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-menu-archive {
    padding-inline: 1.5rem;
  }
}

.p-menu-archive__tab-btn-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .p-menu-archive__tab-btn-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem 1rem;
  }
}

.p-menu-archive__tab-btn-item {
  border: 1px solid #DCD0BC;
  color: #7a7368;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-align: center;
  padding: 1.5rem;
  cursor: pointer;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-menu-archive__tab-btn-item {
    padding: 1rem;
  }
}
.p-menu-archive__tab-btn-item.is_active {
  border-color: #4F4945;
  background-color: #48433A;
  color: #fff;
  pointer-events: none;
}
@media (any-hover: hover) {
  .p-menu-archive__tab-btn-item.is_active:hover {
    opacity: 1;
  }
}
@media (any-hover: hover) {
  .p-menu-archive__tab-btn-item:hover {
    opacity: 0.5;
  }
}

.p-menu-archive__tab-content {
  margin-top: 4.5rem;
  display: none;
}
.p-menu-archive__tab-content.is_active {
  display: block;
}

.p-menu-archive__tab-content-list {
  background-color: #f6efe0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4rem;
  padding: 2.5rem 2rem;
  align-items: end;
}
@media screen and (max-width: 767px) {
  .p-menu-archive__tab-content-list {
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
    padding: 1.5rem;
  }
}

.p-menu-archive__tab-content-item a {
  display: block;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.125;
  padding-bottom: 0.875rem;
  border-bottom: 1px solid #DCD0BC;
  position: relative;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-menu-archive__tab-content-item a {
    padding-right: 0;
    padding-block: 0.875rem;
  }
}
@media (any-hover: hover) {
  .p-menu-archive__tab-content-item a:hover {
    border-color: #48433A;
  }
}
.p-menu-archive__tab-content-item span {
  position: relative;
  display: block;
  padding-right: 1.25rem;
}
.p-menu-archive__tab-content-item span::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: #48433A;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
}
.p-menu-single__fv-rich {
  padding-right: 4rem;
}
@media screen and (max-width: 767px) {
  .p-menu-single__fv-rich {
    padding-right: 1.5rem;
  }
}

.p-menu-single__fv-rich-content {
  display: flex;
  gap: 4rem;
}
@media screen and (max-width: 767px) {
  .p-menu-single__fv-rich-content {
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0rem;
  }
}

.p-menu-single__fv-rich-img {
  width: 50%;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-menu-single__fv-rich-img {
    order: 1;
    width: 62.6168224299%;
    margin-bottom: auto;
  }
}
@media screen and (max-width: 767px) {
  .p-menu-single__fv-rich-img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    aspect-ratio: 268/343;
  }
}

.p-menu-single__fv-rich-title {
  max-width: 34.375rem;
  padding-bottom: 4rem;
  margin-top: auto;
}
@media screen and (max-width: 767px) {
  .p-menu-single__fv-rich-title {
    order: 3;
    max-width: 100%;
    padding-inline: 1.5rem;
    padding-bottom: 0;
    margin-top: 2.125rem;
  }
}

.p-menu-single__fv-rich-title-en {
  color: #C5B394;
  font-family: "EB Garamond", serif;
  font-size: 1.25rem;
  font-weight: 400;
}

.p-menu-single__fv-rich-title-ja {
  font-size: 3.5rem;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0.02em;
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .p-menu-single__fv-rich-title-ja {
    font-size: 2.5rem;
  }
}

.p-menu-single__fv-catch {
  font-size: 1.75rem;
  font-weight: 400;
  letter-spacing: 3.92px;
  text-align: left;
  width: 100%;
  max-width: 6.5rem;
  max-height: 17rem;
  margin-top: 8.75rem;
  margin-left: auto;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media screen and (max-width: 767px) {
  .p-menu-single__fv-catch {
    order: 2;
    max-width: 5.6875rem;
    max-height: 15.125rem;
    margin-top: 6.25rem;
    font-size: 1.5rem;
    line-height: 1.14;
  }
}
.p-menu-single__fv-catch span {
  display: inline-block;
  padding-right: 1rem;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  border-right: 1px solid #4F4945;
  white-space: nowrap;
}
.p-menu-single__fv-catch span:first-child {
  margin-left: 1rem;
}
@media screen and (max-width: 767px) {
  .p-menu-single__fv-catch span:first-child {
    margin-left: 0.625rem;
  }
}
.p-menu-single__fv-catch span + span {
  margin-top: 5rem;
}

.p-menu-single__fv-default {
  padding: 9.375rem 4.875rem 0;
}
@media screen and (max-width: 767px) {
  .p-menu-single__fv-default {
    padding: 6.25rem 1.5rem 1.0625rem;
  }
}

.p-menu-single__fv-default-wrap {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding-block: 0.5rem;
  border-top: 2px solid #DCD0BC;
  border-bottom: 2px solid #DCD0BC;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-menu-single__fv-default-wrap {
    flex-direction: row-reverse;
    justify-content: space-between;
    padding: 3.4375rem 0 3.4375rem 0.75rem;
  }
}
.p-menu-single__fv-default-wrap::before, .p-menu-single__fv-default-wrap::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #DCD0BC;
  position: absolute;
  left: 0;
}
.p-menu-single__fv-default-wrap::before {
  top: 0.5rem;
}
.p-menu-single__fv-default-wrap::after {
  bottom: 0.5rem;
}

.p-menu-single__fv-default-block {
  flex: 1 1 calc(100% - 27.5rem);
}
@media screen and (max-width: 767px) {
  .p-menu-single__fv-default-block {
    flex: 1 1 calc(100% - 13.75rem);
    max-height: 12rem;
  }
}

.p-menu-single__fv-default-title {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-menu-single__fv-default-title {
    display: flex;
    flex-direction: column-reverse;
    gap: 0.625rem;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    text-align: left;
  }
}

.p-menu-single__fv-default-title-ja {
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-menu-single__fv-default-title-ja {
    font-size: 2rem;
  }
}

.p-menu-single__fv-default-title-en {
  font-family: "EB Garamond", serif;
  color: #C5B394;
  font-size: 1rem;
  font-weight: 400;
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-menu-single__fv-default-title-en {
    margin-top: 0;
  }
}

.p-menu-single__fv-default-img {
  flex: 1 1 27.5rem;
  max-width: 27.5rem;
  padding: 1.5rem 1.5rem 1.5rem 0;
}
@media screen and (max-width: 767px) {
  .p-menu-single__fv-default-img {
    flex: 1 1 13.75rem;
    padding: 0;
  }
}
.p-menu-single__fv-default-img img {
  width: 100%;
  height: 100%;
  aspect-ratio: 440/352;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-menu-single__fv-default-img img {
    aspect-ratio: 220/225;
  }
}

.p-menu-single__warp {
  padding-block: 10rem;
}
@media screen and (max-width: 767px) {
  .p-menu-single__warp {
    padding-block: 7.6875rem 6.25rem;
  }
}

.p-menu-single__content {
  max-width: 48.125rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-menu-single__content {
    max-width: 100%;
    padding-inline: 1.5rem;
  }
}

.p-menu-single__faq {
  margin-top: 1.5rem;
}

.p-menu-single__faq-wrap + .p-menu-single__faq-wrap {
  margin-top: 2.625rem;
}

.p-menu-single__faq-title {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding-inline: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #DCD0BC;
  cursor: pointer;
  transition: 0.3s;
}
.p-menu-single__faq-title::before {
  content: "Q";
  display: block;
  font-family: "EB Garamond", serif;
  color: #9D6D17;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.6;
}
.p-menu-single__faq-title.open .p-menu-single__faq-icon::after {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
}
@media (any-hover: hover) {
  .p-menu-single__faq-title:hover {
    opacity: 0.5;
  }
}

.p-menu-single__faq-title-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  width: 100%;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.6;
}

.p-menu-single__faq-icon {
  display: block;
  width: 0.625rem;
  height: 0.625rem;
  position: relative;
  cursor: pointer;
  flex-shrink: 0;
}

.p-menu-single__faq-icon::before,
.p-menu-single__faq-icon::after {
  content: "";
  position: absolute;
  background-color: #222222;
}

/* 横棒 */
.p-menu-single__faq-icon::before {
  width: 0.625rem;
  height: 1px;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

/* 縦棒（プラスのときだけ表示） */
.p-menu-single__faq-icon::after {
  width: 1px;
  height: 0.625rem;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transform-origin: center;
          transform-origin: center;
  transition: 0.5s;
}

.p-menu-single__faq-description {
  display: none;
}
.p-menu-single__faq-description span {
  display: flex;
  gap: 1.5rem;
  padding-top: 1rem;
  padding-inline: 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7;
}
.p-menu-single__faq-description span::before {
  content: "A";
  display: block;
  font-family: "EB Garamond", serif;
  color: #A6A09C;
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1;
}

.p-menu-single__case-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-menu-single__case-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    margin-top: 3rem;
  }
}

.p-menu-single__case-item a {
  display: block;
}
@media (any-hover: hover) {
  .p-menu-single__case-item a:hover .p-menu-single__case-item-img img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}

.p-menu-single__case-item-thumbnail {
  position: relative;
}

.p-menu-single__case-item-img {
  overflow: hidden;
}
.p-menu-single__case-item-img img {
  aspect-ratio: 1/1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.3s;
}

.p-menu-single__case-item-arrow {
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  position: absolute;
  bottom: 0.5rem;
  right: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-menu-single__case-item-arrow {
    width: 2rem;
    height: 2rem;
    bottom: 0.25rem;
    right: 0.25rem;
  }
}

.p-menu-single__case-item-title {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.56;
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-menu-single__case-item-title {
    margin-top: 1.25rem;
  }
}

.p-menu-single__case-item-theme {
  color: #7a7368;
  font-size: 0.75rem;
  font-weight: 400;
  margin-top: 0.75rem;
}

.p-menu-single__case-more {
  margin-top: 2rem;
  text-align: right;
}
.p-menu-single__case-more a {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  position: relative;
  font-family: "EB Garamond", serif;
}
.p-menu-single__case-more 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: #48433A;
  position: absolute;
  top: 0.5rem;
  right: 0.75rem;
  transition: 0.3s;
}
.p-menu-single__case-more a::after {
  content: "";
  display: block;
  width: 2.375rem;
  height: 1.25rem;
  border: 1px solid #C5B394;
  border-radius: 6.25rem;
  background-color: transparent;
  transition: 0.3s;
}
@media (any-hover: hover) {
  .p-menu-single__case-more a:hover::before {
    background-color: #C5B394;
  }
  .p-menu-single__case-more a:hover::after {
    background-color: #48433A;
    border-color: #48433A;
  }
}

.p-menu-single__price-table {
  margin-top: 1.5rem;
}

.p-menu-single__price-table-row {
  display: flex;
  padding-bottom: 1rem;
  border-bottom: 1px solid #DCD0BC;
}
.p-menu-single__price-table-row:has(+ .un_empty) {
  padding-bottom: 0.25rem;
  border-bottom: none;
}
.p-menu-single__price-table-row:has(dt) {
  margin-top: 1rem;
}
.p-menu-single__price-table-row + .p-menu-single__price-table-row.un_empty {
  padding-bottom: 1rem;
  border-bottom: 1px solid #DCD0BC;
}
.p-menu-single__price-table-row.un_empty:has(+ .un_empty) {
  padding-bottom: 0.25rem;
  border-bottom: none;
}
.p-menu-single__price-table-row dt {
  flex: 1 1 14.625rem;
  max-width: 14.625rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-menu-single__price-table-row dt {
    flex: 1 1 11.25rem;
    max-width: 11.25rem;
  }
}
.p-menu-single__price-table-row dd {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4;
  text-align: right;
}
.p-menu-single__price-table-row dd:nth-of-type(1) {
  flex: 1 1 5rem;
  margin-left: auto;
}
.p-menu-single__price-table-row dd:nth-of-type(2) {
  flex: 1 1 4rem;
  max-width: 4rem;
}
@media screen and (max-width: 767px) {
  .p-menu-single__price-table-row dd:nth-of-type(2) {
    flex: 1 1 3.375rem;
    max-width: 3.375rem;
  }
}
.p-menu-single__price-table-row dd:nth-of-type(3) {
  flex: 1 1 5rem;
  max-width: 5rem;
}

.p-menu-single__price-info {
  color: #7a7368;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.6;
  margin-top: 1rem;
}

.p-menu-single__menu-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 1.5rem;
  border-top: 1px solid #DCD0BC;
}
.p-menu-single__menu-table td {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  padding: 0.75rem;
  border-bottom: 1px solid #DCD0BC;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  .p-menu-single__menu-table td {
    display: block;
  }
}
.p-menu-single__menu-table td:nth-child(1) {
  background-color: #f6efe0;
  width: 25.974025974%;
}
@media screen and (max-width: 767px) {
  .p-menu-single__menu-table td:nth-child(1) {
    width: 100%;
    padding: 0.375rem 0.625rem;
  }
}
.p-menu-single__menu-table td:nth-child(2) {
  width: 74.025974026%;
}
@media screen and (max-width: 767px) {
  .p-menu-single__menu-table td:nth-child(2) {
    width: 100%;
    padding: 0.5rem 0.75rem;
  }
}
.p-menu-single__menu-table p:not([class]) {
  margin-top: 0;
}
.p-menu-single__menu-table p:not([class]) + em {
  color: #7a7368;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.4;
  margin-top: 0.25rem;
}
.p-menu-single__menu-table p:not([class]):has(em) {
  color: #7a7368;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.4;
  margin-top: 0.25rem;
}
@media screen and (max-width: 767px) {
  .p-menu-single__menu-table p:not([class]):has(em) {
    margin-top: 0;
  }
}
.p-menu-single__menu-table em {
  font-style: normal;
}

.p-news-archive {
  width: 100%;
  max-width: 57.5rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-news-archive {
    padding-inline: 1.5rem;
  }
}

.p-news-archive__list {
  border-top: 1px solid #DCD0BC;
}

.p-news-archive__item a {
  display: flex;
  gap: 1.5rem;
  padding-block: 2rem;
  border-bottom: 1px solid #DCD0BC;
}
@media screen and (max-width: 767px) {
  .p-news-archive__item a {
    display: block;
    padding: 2rem 1.5rem;
  }
}
@media (any-hover: hover) {
  .p-news-archive__item a:hover {
    opacity: 0.6;
  }
}

.p-news-archive__item-time {
  flex: 1 0 3.25rem;
  width: 100%;
  font-family: "EB Garamond", serif;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.6;
}

.p-news-archive__item-title {
  flex: 1 1 calc(100% - 4.75rem);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-news-archive__item-title {
    margin-top: 1rem;
  }
}

.p-news-archive__pagination {
  margin-top: 7.75rem;
}
@media screen and (max-width: 767px) {
  .p-news-archive__pagination {
    margin-top: 5rem;
  }
}

.p-news-single {
  padding-block: 9.375rem 10rem;
}
@media screen and (max-width: 767px) {
  .p-news-single {
    padding-block: 6.25rem 8.625rem;
  }
}

.p-news-single__mv {
  max-width: 82.75rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-news-single__mv {
    padding-inline: 1.5rem;
  }
}

.p-news-single__mv-inner {
  padding-block: 11.25rem 9.75rem;
  border-top: 2px solid #DCD0BC;
  border-bottom: 2px solid #DCD0BC;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-news-single__mv-inner {
    padding-block: 8.375rem 7.125rem;
  }
}
.p-news-single__mv-inner::before, .p-news-single__mv-inner::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #DCD0BC;
  position: absolute;
  left: 0;
  z-index: 1;
}
.p-news-single__mv-inner::before {
  top: 0.5rem;
}
.p-news-single__mv-inner::after {
  bottom: 0.5rem;
}

.p-news-single__mv-title {
  font-size: 2.5rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-news-single__mv-title {
    font-size: 1.25rem;
    line-height: 1.8;
  }
}

.p-news-single__mv-time {
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  display: block;
  margin-top: 1rem;
}

.p-news-single__content {
  max-width: 50.625rem;
  padding-inline: 1.25rem;
  margin-inline: auto;
  margin-top: 10rem;
}
@media screen and (max-width: 767px) {
  .p-news-single__content {
    max-width: 100%;
    padding-inline: 1.5rem;
    margin-top: 5.25rem;
  }
}

.p-top-blog {
  padding-block: 9.125rem 11.25rem;
}
@media screen and (max-width: 767px) {
  .p-top-blog {
    padding-block: 6.75rem 8.625rem;
  }
}

.p-top-blog__inner {
  display: flex;
  justify-content: space-between;
  gap: 1.25rem;
  width: 100%;
  max-width: 72.5rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-top-blog__inner {
    flex-direction: column;
    padding-inline: 2rem;
  }
}

.p-top-blog__head {
  width: 100%;
  max-width: 12.5rem;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-top-blog__head {
    display: contents;
  }
}

@media screen and (max-width: 767px) {
  .p-top-blog__title {
    order: 1;
  }
}

.p-top-blog__more {
  margin-top: 3.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-blog__more {
    order: 3;
  }
}
.p-top-blog__more a {
  font-family: "EB Garamond", serif;
  border: 1px solid currentColor;
  background-color: transparent;
  color: #48433A;
  display: block;
  max-width: 12.5rem;
  padding: 1.0625rem 0.75rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top-blog__more a {
    max-width: 15rem;
  }
}
.p-top-blog__more 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;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0.75rem;
}
.p-top-blog__more a span:nth-child(5) {
  margin-left: 0.25em;
}

.p-top-blog__list {
  width: 100%;
  max-width: 43.75rem;
}
@media screen and (max-width: 767px) {
  .p-top-blog__list {
    max-width: 100%;
    margin-top: 5rem;
    order: 2;
  }
}

.p-top-blog__item a {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid #DCD0BC;
}
@media screen and (max-width: 767px) {
  .p-top-blog__item a {
    align-items: flex-start;
    gap: 1.25rem;
    padding-bottom: 2rem;
  }
}
@media (any-hover: hover) {
  .p-top-blog__item a:hover {
    opacity: 0.5;
  }
}
.p-top-blog__item + .p-top-blog__item a {
  padding-top: 3.0625rem;
}
@media screen and (max-width: 767px) {
  .p-top-blog__item + .p-top-blog__item a {
    padding-top: 2rem;
  }
}

.p-top-blog__item-block {
  flex: 1 1 calc(100% - 204px);
}
@media screen and (max-width: 767px) {
  .p-top-blog__item-block {
    flex: 1 1 calc(100% - 140px);
  }
}

.p-top-blog__item-title {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-top-blog__item-title {
    font-size: 1rem;
  }
}

.p-top-blog__item-text {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.8;
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .p-top-blog__item-text {
    margin-top: 0.5rem;
  }
}

.p-top-blog__item-img {
  flex: 1 1 180px;
}
@media screen and (max-width: 767px) {
  .p-top-blog__item-img {
    flex: 1 1 120px;
  }
}
.p-top-blog__item-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 180/120;
}
@media screen and (max-width: 767px) {
  .p-top-blog__item-img img {
    aspect-ratio: 120/80;
  }
}

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

.p-top-campaign__inner {
  width: 100%;
  max-width: 72.5rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-top-campaign__inner {
    padding-inline: 2rem;
  }
}

.p-top-campaign__slider {
  margin-top: 6.125rem;
}
@media screen and (max-width: 767px) {
  .p-top-campaign__slider {
    margin-top: 5rem;
  }
}
.p-top-campaign__slider .swiper-slide {
  max-width: 16.25rem;
}
@media screen and (max-width: 767px) {
  .p-top-campaign__slider .swiper-slide {
    max-width: 13.75rem;
  }
}
.p-top-campaign__slider .swiper-slide a {
  display: block;
  position: relative;
}
.p-top-campaign__slider .swiper-slide a::before, .p-top-campaign__slider .swiper-slide a::after {
  position: absolute;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: 0.3s;
}
.p-top-campaign__slider .swiper-slide a::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(34, 34, 34, .8);
  top: 0;
  left: 0;
}
.p-top-campaign__slider .swiper-slide a::after {
  content: "View more";
  font-family: "EB Garamond", serif;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 400;
  text-align: center;
  text-decoration: underline;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media (any-hover: hover) {
  .p-top-campaign__slider .swiper-slide a:hover::before, .p-top-campaign__slider .swiper-slide a:hover::after {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
  }
}
.p-top-campaign__slider .swiper-button-next,
.p-top-campaign__slider .swiper-button-prev {
  position: static;
  top: auto;
  width: 0.9375rem;
  height: 0.3125rem;
  margin-top: 0;
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-theme-color);
}
.p-top-campaign__slider .swiper-button-prev:after,
.p-top-campaign__slider .swiper-rtl .swiper-button-next:after {
  content: "";
  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: #48433A;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
@media screen and (max-width: 767px) {
  .p-top-campaign__slider .swiper-button-prev:after,
  .p-top-campaign__slider .swiper-rtl .swiper-button-next:after {
    width: 1.75rem;
    height: 0.625rem;
  }
}
.p-top-campaign__slider .swiper-button-next:after,
.p-top-campaign__slider .swiper-rtl .swiper-button-prev:after {
  content: "";
  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: #48433A;
}
@media screen and (max-width: 767px) {
  .p-top-campaign__slider .swiper-button-next:after,
  .p-top-campaign__slider .swiper-rtl .swiper-button-prev:after {
    width: 1.75rem;
    height: 0.625rem;
  }
}
.p-top-campaign__slider .swiper-button-next:after,
.p-top-campaign__slider .swiper-button-prev:after {
  font-family: inherit;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  -webkit-font-feature-settings: ;
          font-feature-settings: ;
  font-variant: normal;
  font-variant: initial;
  line-height: 1;
}
.p-top-campaign__slider .p-top-campaign__slider-wrap {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
  height: 0.75rem;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-top-campaign__slider .p-top-campaign__slider-wrap {
    justify-content: center;
    gap: 3.5rem;
    height: 1.125rem;
  }
}
.p-top-campaign__slider .p-top-campaign__slider-toggle {
  position: relative;
  cursor: pointer;
}
.p-top-campaign__slider .p-top-campaign__slider-toggle.is-pause .p-top-campaign__slider-play {
  display: none;
}
.p-top-campaign__slider .p-top-campaign__slider-toggle.is-pause .p-top-campaign__slider-pause {
  display: block;
}
.p-top-campaign__slider .p-top-campaign__slider-toggle.is-play .p-top-campaign__slider-play {
  display: block;
}
.p-top-campaign__slider .p-top-campaign__slider-toggle.is-play .p-top-campaign__slider-pause {
  display: none;
}
.p-top-campaign__slider .p-top-campaign__slider-play,
.p-top-campaign__slider .p-top-campaign__slider-pause {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.p-top-campaign__slider .p-top-campaign__slider-play {
  display: none;
  width: 0.75rem;
  height: 0.75rem;
  -webkit-transform: translate(-35%, -50%);
          transform: translate(-35%, -50%);
}
@media screen and (max-width: 767px) {
  .p-top-campaign__slider .p-top-campaign__slider-play {
    width: 1.125rem;
    height: 1.125rem;
  }
}
.p-top-campaign__slider .p-top-campaign__slider-pause {
  display: block;
  width: 0.375rem;
  height: 0.75rem;
}
@media screen and (max-width: 767px) {
  .p-top-campaign__slider .p-top-campaign__slider-pause {
    width: 0.625rem;
    height: 1.125rem;
  }
}

.p-top-case {
  padding-block: 8.75rem;
  transition: 1s ease-out;
  background-color: #373432;
}
@media screen and (max-width: 767px) {
  .p-top-case {
    padding-block: 5rem;
  }
}
.p-top-case.dark-mode {
  background-color: #373432;
}
.p-top-case.light-mode {
  background-color: #faf0d9;
}

.p-top-case__inner {
  width: 100%;
  max-width: 70rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-top-case__inner {
    max-width: 55.875rem;
    padding-inline: 1.5rem;
  }
}

.p-top-case__head {
  display: flex;
  justify-content: space-between;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top-case__head {
    align-items: center;
  }
}
.p-top-case__head .c-top-title {
  color: #D5CEC9;
}
.p-top-case__head::after {
  content: "";
  display: block;
  width: 100%;
  max-width: 41.9375rem;
  height: 1px;
  background-color: #48433A;
  position: absolute;
  top: 1.75rem;
  left: 9.5625rem;
}
@media screen and (max-width: 767px) {
  .p-top-case__head::after {
    display: none;
  }
}

.p-top-case__more {
  width: 100%;
  max-width: 12.5rem;
  margin-top: 0.3125rem;
}
@media screen and (max-width: 767px) {
  .p-top-case__more {
    max-width: 8.625rem;
    margin-top: 0;
  }
}
.p-top-case__more a {
  border: 1px solid currentColor;
  background-color: transparent;
  font-family: "EB Garamond", serif;
  color: #DCD0BC;
  font-weight: 400;
  display: block;
  padding: 1.0625rem 0.75rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top-case__more a {
    padding: 0.75rem;
  }
}
.p-top-case__more 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;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0.75rem;
}
.p-top-case__more a span:nth-child(5) {
  margin-left: 0.25em;
}

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

.p-top-case__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.1875rem;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-top-case__list {
    margin-right: calc(50% - 50vw);
    padding-right: 1.5rem;
    display: flex;
    gap: 0.1875rem;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
  }
}

.p-top-case__item {
  background-color: #3F3C39;
  display: flex;
  flex-direction: column;
  color: #D5CEC9;
}
@media screen and (max-width: 767px) {
  .p-top-case__item {
    flex-shrink: 0;
    width: 100%;
    max-width: 17.5rem;
  }
}
@media (any-hover: hover) {
  .p-top-case__item a:hover .p-top-case__item-img img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}

.p-top-case__item-thumbnail {
  position: relative;
}

.p-top-case__item-img {
  overflow: hidden;
}
.p-top-case__item-img img {
  aspect-ratio: 1/1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.3s;
}

.p-top-case__item-arrow {
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  position: absolute;
  bottom: 0.5rem;
  right: 0.5rem;
}

.p-top-case__item-block {
  background-color: #3F3C39;
  padding: 1.875rem 1.875rem 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-top-case__item-block {
    padding: 1.25rem;
  }
}

.p-top-case__item-wrap {
  background-color: #3F3C39;
}

.p-top-case__item-title {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.56;
}
@media screen and (max-width: 767px) {
  .p-top-case__item-title {
    font-size: 1rem;
  }
}

.p-top-case__item-theme {
  color: rgba(233, 227, 215, .6);
  font-size: 0.75rem;
  font-weight: 400;
  margin-top: 0.75rem;
}

.p-top-case__item-accordion {
  padding: 1.25rem 1.875rem 3.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-case__item-accordion {
    padding: 1.5625rem 1.25rem 3.5rem;
  }
}
.p-top-case__item-accordion dt {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1.5625rem 0.5rem;
  cursor: pointer;
  /* 開いている状態（マイナス） */
}
.p-top-case__item-accordion dt.open .p-top-case__item-accordion-icon::after {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
}
.p-top-case__item-accordion dd {
  display: none;
  padding-bottom: 1rem;
}

.p-top-case__item-accordion-wrap {
  border-top: 1px solid #4F4945;
  border-bottom: 1px solid #4F4945;
}

.p-top-case__item-accordion-icon {
  display: block;
  width: 0.875rem;
  height: 0.875rem;
  margin-top: 1px;
  background-color: #D5CEC9; /* $c-beige-white-text-100 */
  border-radius: 1.5rem;
  position: relative;
  cursor: pointer;
}

.p-top-case__item-accordion-icon::before,
.p-top-case__item-accordion-icon::after {
  content: "";
  position: absolute;
  background-color: #48433A; /* $c-black-main */
}

/* 横棒 */
.p-top-case__item-accordion-icon::before {
  width: 0.5rem;
  height: 1px;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

/* 縦棒（プラスのときだけ表示） */
.p-top-case__item-accordion-icon::after {
  width: 1px;
  height: 0.5rem;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transform-origin: center;
          transform-origin: center;
  transition: 0.5s;
}

.p-top-case__item-accordion-title {
  font-size: 0.75rem;
}

.p-top-case__item-accordion-item {
  padding-bottom: 1rem;
  border-bottom: 1px solid #48433A;
}
.p-top-case__item-accordion-item + .p-top-case__item-accordion-item {
  margin-top: 1rem;
}
.p-top-case__item-accordion-item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.p-top-case__item-accordion-item-title {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.4;
  padding-left: 0.875rem;
  position: relative;
}
.p-top-case__item-accordion-item-title::before {
  content: "";
  display: block;
  width: 0.625rem;
  height: 0.5rem;
  background: url(../images/icon_accordion_triangle.png) no-repeat center/contain;
  position: absolute;
  top: 0.28125rem;
  left: 0;
}

.p-top-case__item-accordion-item-content {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4;
  margin-top: 0.5rem;
}

.p-top-case__item-accordion-item-text {
  color: #A6A09C;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.4;
  margin-top: 0.5rem;
}

.p-top-doctor {
  padding-block: 11.25rem;
}
@media screen and (max-width: 767px) {
  .p-top-doctor {
    padding-block: 6.0625rem 8.625rem;
  }
}

.p-top-doctor__inner {
  width: 100%;
  max-width: 90rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-top-doctor__inner {
    padding-inline: 1.5rem;
  }
}

.p-top-doctor__wrap {
  display: flex;
  gap: 11.1111111111%;
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-doctor__wrap {
    display: block;
    margin-top: 5rem;
  }
}

.p-top-doctor__img {
  width: 100%;
  max-width: 33.75rem;
}
@media screen and (max-width: 767px) {
  .p-top-doctor__img {
    max-width: 100%;
  }
}

.p-top-doctor__block {
  width: 100%;
  max-width: 30.625rem;
}
@media screen and (max-width: 767px) {
  .p-top-doctor__block {
    max-width: 100%;
    padding-inline: 1rem;
    margin-top: 3.5rem;
  }
}

.p-top-doctor__catch-copy {
  font-family: "EB Garamond", serif;
  font-size: 1.625rem;
  font-weight: 400;
  line-height: 1.4;
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-doctor__catch-copy {
    font-size: 1.125rem;
  }
}
.p-top-doctor__catch-copy::after {
  content: "";
  display: block;
  width: 100%;
  max-width: 20.375rem;
  height: 1px;
  background-color: #DCD0BC;
}
@media screen and (max-width: 767px) {
  .p-top-doctor__catch-copy::after {
    max-width: 14.25rem;
  }
}

.p-top-doctor__subtitle {
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: -0.01em;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-top-doctor__subtitle {
    font-size: 1.3125rem;
    margin-top: 1.25rem;
  }
}

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

.p-top-doctor__text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
}
.p-top-doctor__text + .p-top-doctor__text {
  margin-top: 1.125rem;
}
.p-top-doctor__text:last-child {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .p-top-doctor__text:last-child {
    margin-top: 1.125rem;
  }
}

.p-top-doctor__name {
  margin-top: 2.5rem;
  font-size: 0.875rem;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-top-doctor__name {
    font-size: 0.8125rem;
  }
}

.p-top-doctor__more {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-doctor__more {
    margin-top: 3.5rem;
  }
}
.p-top-doctor__more a {
  border: 1px solid currentColor;
  background-color: transparent;
  font-family: "EB Garamond", serif;
  color: #48433A;
  display: block;
  max-width: 12.5rem;
  padding: 1.0625rem 0.75rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top-doctor__more a {
    max-width: 15rem;
  }
}
.p-top-doctor__more 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;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0.75rem;
}
.p-top-doctor__more a span:nth-child(5) {
  margin-left: 0.25em;
}

.p-top-feature {
  color: #fff;
  padding-block: 8rem;
  background: url(../images/feature/feature_bg.jpg) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .p-top-feature {
    padding-block: 5rem;
  }
}

.p-top-feature__inner {
  display: flex;
  gap: 8.6879432624%;
  max-width: 73rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-feature__inner {
    display: block;
  }
}

.p-top-feature__head {
  width: 100%;
  max-width: 25.9375rem;
  border-right: 1px solid #838383;
}
@media screen and (max-width: 767px) {
  .p-top-feature__head {
    max-width: 100%;
    padding-bottom: 3.5rem;
    border-right: 0;
    border-bottom: 1px solid #838383;
  }
}

.p-top-feature__title {
  font-size: 1.75rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-top-feature__title {
    font-size: 1.25rem;
  }
}

.p-top-feature__subtitle {
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-feature__subtitle {
    margin-top: 3.5rem;
  }
}
.p-top-feature__subtitle span {
  display: block;
  margin-top: 1.5rem;
}

.p-top-feature__subtitle-ja {
  font-size: 2.125rem;
  font-weight: 400;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-top-feature__subtitle-ja {
    font-size: 1.875rem;
    line-height: 1.1666666667;
  }
}

.p-top-feature__subtitle-en {
  font-family: "EB Garamond", serif;
  color: #838383;
  font-size: 1.125rem;
  font-weight: 400;
  font-style: italic;
  line-height: 0.8;
}

.p-top-feature__content {
  width: 100%;
  max-width: 38.4375rem;
}
@media screen and (max-width: 767px) {
  .p-top-feature__content {
    max-width: 100%;
    padding-block: 0;
    margin-top: 3.5rem;
  }
}

.p-top-feature__text {
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 2.1;
}
@media screen and (max-width: 767px) {
  .p-top-feature__text {
    font-size: 0.875rem;
  }
}
.p-top-feature__text + .p-top-feature__text {
  margin-top: 2em;
}

.p-top-feature__btn-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  max-width: 30.75rem;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-top-feature__btn-list {
    display: block;
    max-width: 17.5rem;
    margin-inline: auto;
    margin-top: 3.5rem;
  }
}

@media screen and (max-width: 767px) {
  .p-top-feature__btn-item + .p-top-feature__btn-item {
    margin-top: 1.25rem;
  }
}
.p-top-feature__btn-item a {
  background-color: #222222;
  color: #fff;
  font-size: 0.875rem;
  display: block;
  padding: 1.0625rem 0.75rem;
  position: relative;
}
.p-top-feature__btn-item a::after {
  content: "";
  display: block;
  width: 0.9375rem;
  height: 0.3125rem;
  background: url(../images/icon_arrow.svg) no-repeat center/contain;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0.75rem;
}

.p-top-loop-area {
  margin-top: 10rem;
}
@media screen and (max-width: 767px) {
  .p-top-loop-area {
    margin-top: 6.75rem;
  }
}

.p-top-loop-area__slider.--reverse {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-loop-area__slider.--reverse {
    margin-top: 2rem;
  }
}
.p-top-loop-area__slider .swiper-wrapper {
  transition-timing-function: linear !important;
}
.p-top-loop-area__slider .swiper-slide {
  width: 132.375rem;
}
@media screen and (max-width: 767px) {
  .p-top-loop-area__slider .swiper-slide {
    width: 90.625rem;
  }
}

@media screen and (max-width: 767px) {
  .p-top-media {
    margin-top: 3.5rem;
  }
}
.p-top-media .c-top-title .c-top-title__en {
  font-size: 2.625rem;
}
@media screen and (max-width: 767px) {
  .p-top-media .c-top-title .c-top-title__en {
    font-size: 2.125rem;
  }
}

.p-top-media__list {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-top-media__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 3.5rem;
    border-top: 1px solid #48433A;
  }
}

@media screen and (max-width: 767px) {
  .p-top-media__item:nth-child(2) {
    border-left: 1px solid #48433A;
  }
}
.p-top-media__item a {
  transition: 0.3s;
}
@media (any-hover: hover) {
  .p-top-media__item a:hover {
    opacity: 0.5;
  }
}

.p-top-media__item-wrapper {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding-block: 2.5rem;
  border-top: 1px solid #48433A;
  border-bottom: 1px solid #48433A;
}
@media screen and (max-width: 767px) {
  .p-top-media__item-wrapper {
    display: block;
    padding: 2rem 1rem;
    border-top: 0;
    border-bottom: 0;
  }
}

.p-top-media__item-img {
  width: 100%;
  max-width: 6.25rem;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-top-media__item-img {
    margin-inline: auto;
  }
}
.p-top-media__item-img img {
  aspect-ratio: 1/1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-top-media__item-block {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-top-media__item-block {
    margin-top: 0.75rem;
  }
}

.p-top-media__item-time {
  font-family: "EB Garamond", serif;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.4;
}

.p-top-media__item-title {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4;
  margin-top: 0.5rem;
}

.p-top-media__item-link {
  margin-top: 0.625rem;
}
.p-top-media__item-link span {
  font-family: "EB Garamond", serif;
  font-size: 0.875rem;
  font-weight: 400;
  text-decoration: underline;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.p-top-media__item-link span::after {
  content: "";
  display: block;
  width: 0.6875rem;
  height: 0.6875rem;
  -webkit-mask: url(../images/icon_media_blank.svg) no-repeat center/cover;
          mask: url(../images/icon_media_blank.svg) no-repeat center/cover;
  background-color: #D5CEC9;
}

.p-top-menu {
  padding-block: 6.125rem 10rem;
  border-top: 1px solid #48433A;
}
@media screen and (max-width: 767px) {
  .p-top-menu {
    padding-block: 6.125rem 8.625rem;
  }
}

.p-top-menu__inner {
  display: flex;
  justify-content: space-between;
  gap: 1.25rem;
  width: 100%;
  max-width: 72.5rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-menu__inner {
    display: block;
    padding-inline: 2rem;
  }
}

.p-top-menu__title {
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-top-menu__title {
    text-align: left !important;
  }
}

.p-top-menu__list {
  width: 100%;
  max-width: 43.75rem;
}
@media screen and (max-width: 767px) {
  .p-top-menu__list {
    max-width: 100%;
    margin-top: 5rem;
  }
}

.p-top-menu__item + .p-top-menu__item {
  margin-top: 2.5rem;
}
.p-top-menu__item a {
  display: flex;
  justify-content: space-between;
  padding: 0 0.5rem 2.5rem;
  border-bottom: 1px solid #DCD0BC;
  position: relative;
}
.p-top-menu__item 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: #48433A;
  position: absolute;
  top: 1.71875rem;
  right: 1.25rem;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-top-menu__item a::before {
    top: 0.96875rem;
  }
}
.p-top-menu__item a::after {
  content: "";
  display: block;
  width: 2.375rem;
  height: 1.25rem;
  margin-top: 1.21875rem;
  border: 1px solid #48433A;
  border-radius: 6.25rem;
  background-color: transparent;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-top-menu__item a::after {
    margin-top: 0.46875rem;
  }
}
@media (any-hover: hover) {
  .p-top-menu__item a:hover::before {
    background-color: #fff;
  }
  .p-top-menu__item a:hover::after {
    background-color: #48433A;
  }
}
.p-top-menu__item span {
  display: block;
}

.p-top-menu__item-ja {
  font-size: 1.75rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-menu__item-ja {
    font-size: 1.375rem;
  }
}

.p-top-menu__item-en {
  color: #C5B394;
  font-family: "EB Garamond", serif;
  font-size: 1rem;
  font-weight: 400;
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .p-top-menu__item-en {
    font-size: 0.875rem;
  }
}

.p-top-mv {
  width: 100%;
  aspect-ratio: 1440/820;
}
@media screen and (max-width: 767px) {
  .p-top-mv {
    aspect-ratio: 428/745;
    height: 100dvh;
    max-height: 46.5625rem;
  }
}

.p-top-mv__wrap {
  aspect-ratio: 1440/736;
  padding: 22.6388888889% 6.8055555556% 6.9444444444%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top-mv__wrap {
    aspect-ratio: initial;
    padding: 14.375rem 8.125rem 9.21875rem 1.875rem;
  }
}
.p-top-mv__wrap::before {
  content: "";
  display: block;
  width: 41.1111111111%;
  aspect-ratio: 592/736;
  background: url(../images/top/mv_image.png) no-repeat center/cover;
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .p-top-mv__wrap::before {
    width: 100%;
    height: 100%;
    aspect-ratio: 428/675;
    background: url(../images/top/mv_image_sp.png) no-repeat center/cover;
  }
}

.p-top-mv__block > * {
  overflow: hidden;
}

.p-top-mv__title {
  font-family: "EB Garamond", serif;
  font-size: 4.6875rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-top-mv__title {
    font-size: 2.875rem;
  }
}

.p-top-mv__text {
  font-size: 1.125rem;
  line-height: 1.4;
  letter-spacing: 0.03em;
  margin-top: 1.125rem;
  margin-top: 0.6875rem;
}
@media screen and (max-width: 767px) {
  .p-top-mv__text {
    font-size: 0.875rem;
    margin-top: 1.25rem;
  }
}

.p-top-mv__name {
  font-family: "EB Garamond", serif;
  font-size: 1.375rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.08em;
  margin-top: 3.5rem;
}
@media screen and (max-width: 767px) {
  .p-top-mv__name {
    font-size: 0.9375rem;
    margin-top: 3.625rem;
  }
}

.p-top-mv__link {
  margin-top: 3.5rem;
  overflow: visible;
}
@media screen and (max-width: 767px) {
  .p-top-mv__link {
    margin-top: 3.625rem;
  }
}
.p-top-mv__link a {
  display: inline-block;
  font-family: "Inter", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  position: relative;
}
.p-top-mv__link a::after {
  content: "";
  display: block;
  width: 9.25rem;
  height: 0.40625rem;
  margin-top: 0.375rem;
  background: url(../images/top/mv_link_arrow.png) no-repeat bottom left/100% auto;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-top-mv__link a::after {
    width: 7.25rem;
  }
}
@media (any-hover: hover) {
  .p-top-mv__link a:hover::after {
    -webkit-transform: translateX(1.25rem);
            transform: translateX(1.25rem);
  }
}

/* 初期位置をアニメーションに合わせる（アニメ前に隠す） */
.p-top-mv__title span,
.p-top-mv__text span span,
.p-top-mv__name span {
  display: inline-block;
  opacity: 0;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  will-change: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

@media screen and (max-width: 767px) {
  .p-top-mv__text span > span {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .p-top-mv__text span > span + span {
    margin-top: 1.25rem;
  }
}

.p-top-news .c-top-title .c-top-title__en {
  font-size: 2.625rem;
}
@media screen and (max-width: 767px) {
  .p-top-news .c-top-title .c-top-title__en {
    font-size: 2.125rem;
  }
}

.p-top-news__list {
  border-top: 1px solid #48433A;
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-top-news__list {
    margin-top: 3.5rem;
  }
}

.p-top-news__item a {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  padding-block: 2.5rem;
  border-bottom: 1px solid #48433A;
}
@media screen and (max-width: 767px) {
  .p-top-news__item a {
    display: block;
    padding-block: 2rem;
  }
}
@media (any-hover: hover) {
  .p-top-news__item a:hover {
    opacity: 0.5;
  }
}

.p-top-news__item-time {
  font-family: "EB Garamond", serif;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.4;
}

.p-top-news__item-title {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-top-news__item-title {
    margin-top: 0.25rem;
  }
}

.p-top-news__more {
  margin-top: 4rem;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-top-news__more {
    margin-top: 3.5rem;
  }
}
.p-top-news__more a {
  font-family: "EB Garamond", serif;
  display: inline-flex;
  gap: 0.75rem;
  position: relative;
}
.p-top-news__more 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: #D5CEC9;
  position: absolute;
  top: 0.4375rem;
  right: 0.6875rem;
  transition: 0.3s;
}
.p-top-news__more a::after {
  content: "";
  display: block;
  width: 2.375rem;
  height: 1.25rem;
  border: 1px solid #D5CEC9;
  border-radius: 6.25rem;
  background-color: transparent;
  transition: 0.3s;
}
.p-top-news__more span:nth-child(5) {
  margin-left: 0.25em;
}

.p-top-section-column {
  color: #D5CEC9;
  background-color: #373432;
  padding-block: 8.75rem 11.25rem;
}
@media screen and (max-width: 767px) {
  .p-top-section-column {
    padding-block: 5rem 6.75rem;
  }
}

.p-top-section-column__inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 7.5rem;
  width: 100%;
  max-width: 70rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-top-section-column__inner {
    display: block;
    padding-inline: 1.5rem;
  }
}

.p-top-sns {
  color: #D5CEC9;
  background-color: #373432;
}
.p-top-sns .c-top-title__en {
  font-size: 2.625rem;
}
@media screen and (max-width: 767px) {
  .p-top-sns .c-top-title__en {
    font-size: 2.125rem;
  }
}
.p-top-sns .c-top-title__ja {
  font-size: 0.75rem;
}

.p-top-sns__banner {
  margin-top: 5.5rem;
  padding-inline: 1.25rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top-sns__banner {
    margin-top: 3.5rem;
    padding-inline: 1rem;
  }
}
.p-top-sns__banner::before, .p-top-sns__banner::after {
  content: "";
  display: block;
  width: 100%;
  height: 0.5rem;
  background-color: #222222;
  box-shadow: 0 -4px 20px rgba(255, 255, 255, .16);
  position: absolute;
  left: 0;
}
.p-top-sns__banner::before {
  top: -0.5rem;
}
.p-top-sns__banner::after {
  bottom: -0.5rem;
}

@media screen and (max-width: 767px) {
  .p-top-sns__banner-inner {
    margin-inline: auto;
  }
}

.p-top-sns__banner-list {
  background-color: #222222;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
  max-width: 87rem;
  padding-inline: 1rem;
  margin-inline: auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top-sns__banner-list {
    display: block;
  }
}
.p-top-sns__banner-list::before, .p-top-sns__banner-list::after {
  content: "";
  display: block;
  width: 1rem;
  height: 100%;
  background-color: #222222;
  position: absolute;
  z-index: 1;
}
.p-top-sns__banner-list::before {
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-top-sns__banner-list::before {
    display: none;
  }
}
.p-top-sns__banner-list::after {
  right: 0;
}
@media screen and (max-width: 767px) {
  .p-top-sns__banner-list::after {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .p-top-sns__banner-item + .p-top-sns__banner-item {
    margin-top: 0.5rem;
  }
}
.p-top-sns__banner-item a {
  display: flex;
  align-items: center;
  padding: 5.75rem 2.5rem;
  padding: 6.3888888889vw 2.7777777778vw;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top-sns__banner-item a {
    padding: 4.375rem 2.75rem;
  }
}
.p-top-sns__banner-item a::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .55);
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: 0.3s;
}
@media (any-hover: hover) {
  .p-top-sns__banner-item a:hover::before {
    opacity: 1;
  }
}
.p-top-sns__banner-item span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-left: 1.625rem;
  color: #fff;
  font-family: "EB Garamond", serif;
  font-style: italic;
  font-weight: 400;
  font-size: 1.5rem;
  text-decoration: underline;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top-sns__banner-item span {
    font-size: 1.25rem;
  }
}
.p-top-sns__banner-item span::before {
  content: "";
  display: block;
  width: 1.125rem;
  height: 1.125rem;
  background-color: #fff;
  position: absolute;
  bottom: 0.5rem;
  left: -1.625rem;
}
.p-top-sns__banner-item span::after {
  content: "";
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  background: url(../images/icon_arrow_white_circle.png) no-repeat center/contain;
}
.p-top-sns__banner-item:nth-child(1) span::before {
  -webkit-mask: url(../images/icon-instagram.svg) no-repeat center/contain;
          mask: url(../images/icon-instagram.svg) no-repeat center/contain;
}
.p-top-sns__banner-item:nth-child(1) a {
  background: url(../images/top/sns_instagram_bg.png) no-repeat center/cover;
  background: url(../images/top/sns_instagram_bg.png) no-repeat center/100% 100%;
}
@media screen and (max-width: 767px) {
  .p-top-sns__banner-item:nth-child(1) a {
    background: url(../images/sns_instagram_bg_sp.png) no-repeat center/cover;
  }
}
.p-top-sns__banner-item:nth-child(2) span::before {
  -webkit-mask: url(../images/icon-youtube.svg) no-repeat center/contain;
          mask: url(../images/icon-youtube.svg) no-repeat center/contain;
}
.p-top-sns__banner-item:nth-child(2) a {
  background: url(../images/top/sns_youtube_bg.png) no-repeat center/cover;
  background: url(../images/top/sns_youtube_bg.png) no-repeat center/100% 100%;
}
@media screen and (max-width: 767px) {
  .p-top-sns__banner-item:nth-child(2) a {
    background: url(../images/sns_youtube_bg_sp.png) no-repeat center/cover;
  }
}
.p-top-sns__banner-item:nth-child(3) span::before {
  -webkit-mask: url(../images/icon-tiktok.svg) no-repeat center/contain;
          mask: url(../images/icon-tiktok.svg) no-repeat center/contain;
}
.p-top-sns__banner-item:nth-child(3) a {
  background: url(../images/top/sns_tiktok_bg.png) no-repeat center/cover;
  background: url(../images/top/sns_tiktok_bg.png) no-repeat center/100% 100%;
}
@media screen and (max-width: 767px) {
  .p-top-sns__banner-item:nth-child(3) a {
    background: url(../images/sns_tiktok_bg_sp.png) no-repeat center/cover;
  }
}

.text-animation .letter {
  overflow: hidden;
  color: transparent;
  text-shadow: 0 -1.5em 0 #fff, 0 0 0 #fff;
  transition: text-shadow 0.3s;
  transition-delay: calc(var(--index) * 0.05s);
}
@media (any-hover: hover) {
  .text-animation:hover .letter {
    text-shadow: 0 0 0 #fff, 0 1.5em 0 #fff;
  }
}
.text-animation.--text-black .letter {
  text-shadow: 0 -1.5em 0 #48433A, 0 0 0 #48433A;
}
@media (any-hover: hover) {
  .text-animation.--text-black:hover .letter {
    text-shadow: 0 0 0 #222222, 0 1.5em 0 #222222;
  }
}
.text-animation.--text-beige .letter {
  text-shadow: 0 -1.5em 0 #D5CEC9, 0 0 0 #D5CEC9;
}
@media (any-hover: hover) {
  .text-animation.--text-beige:hover .letter {
    text-shadow: 0 0 0 #D5CEC9, 0 1.5em 0 #D5CEC9;
  }
}
.text-animation.--text-left .text-animation__wrap {
  justify-content: flex-start;
}

.text-animation__wrap {
  display: flex;
  justify-content: center;
}
/*# sourceMappingURL=style.css.map */
