body {
  color: #333;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  background-color: #f0f0f0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #1D1D1F;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}

p {
  color: #333;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}

.title {
  max-width: none;
}

.title h2 {
  font-size: 2.4rem;
}

.title span {
  width: auto;
}

/* btn */
.btn {
  color: #fff;
  background-color: #1D1D1F;
  border-color: #1D1D1F;
  font-family: "Times New Roman", Times, serif;
  min-height: 6rem;
  margin-bottom: 6rem;
}

.btn--default {
  border-radius: 0;
  width: 100%;
}

.btn--primary {
  border-radius: 0.5rem;
}

.btn--back {
  border-radius: 0;
  background-color: #4D4D51;
  margin-top: 4rem;
  margin-bottom: 0;
  width: 100%;
  font-size: 1.5rem;
}

/* side */
.sp-container {
  background-color: #fff;
}

.left-container *,
.right-container * {
  color: #1D1D1F;
}

.left-content * {
  text-align: left;
  word-break: break-all;
  overflow-wrap: break-word;
}

.left-content .left-logo img {
  width: 70%;
  max-width: 30rem;
  min-width: 20rem;
  margin-top: 6rem;
  margin-bottom: 3rem;
}

.left-nav {
  margin: 3rem 0;
}

.left-nav__items {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 1rem;
}

.left-nav__item a {
  color: #1D1D1F;
  font-size: 2.2rem;
  letter-spacing: 0.1rem;
  font-family: "メイリオ", Meiryo, sans-serif;
  transition: opacity 0.3s;
}

.left-nav__item a:hover {
  opacity: 0.7;
}

.left-reservation a {
  display: inline-block;
  border: 1px solid #1D1D1F;
  padding: 0.5rem 2rem;
  text-align: center;
}

.left-content .sns__items {
  margin-top: 3rem;
  justify-content: flex-start;
  gap: 2rem;
}

.right-bottom-fixed {
  position: absolute;
  bottom: 3rem;
  right: calc(3rem + 5rem);
  z-index: 10;
  background-color: transparent;
}

.right-bottom-fixed .reservation {
  width: fit-content;
  margin: 0 auto;
}

.right-bottom-fixed .reservation a {
  display: block;
  text-align: center;
}

.right-bottom-fixed .reservation a img {
  display: block;
  object-fit: contain;
  width: 90%;
  max-width: 35rem;
  margin-left: auto;
}

/* header */
.header {
  background-color: rgba(245, 245, 247, 0.9);
  color: #fff;
}

.header__logo img {
  height: 3.8rem;
}

.header__nav {
  background-color: #F5F5F7;
  color: #1D1D1F;
  padding: 10rem 9rem 15rem;
}

header .menu span {
  background-color: #1D1D1F;
}

.header__nav__items {
  align-items: flex-start;
  width: 100%;
}

.header__nav__item a {
  font-size: 2.2rem;
  font-family: "メイリオ", Meiryo, sans-serif;
  letter-spacing: 0.1rem;
}

.header .reservation {
  width: 100%;
}

.header .reservation a {
  width: 100%;
  border: 1px solid #1D1D1F;
}

/* breadcrumb */
.breadcrumb * {
  color: #333;
}

/* contact */
input,
button,
textarea,
select {
  border: 1px solid #999;
}

/* top eyetach */
.page .mv {
  padding-top: 7rem;
  background-color: #fff;
}

.mv__video {
  max-height: none;
}

.mv__logo {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .mv__logo {
    padding-top: 3rem;
  }
}

/* page eyetach */
.mv__ttl {
  position: relative;
  transform: none;
  inset: 0;
  color: #1D1D1F;
  font-size: 3.5rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}

.mv__sub_ttl {
  display: block;
  text-align: center;
  margin: 0 auto;
}

/* top page */
.top-content-01 {
  background-color: #f5f5f5;
  padding: 6rem 0;
  margin: 0;
}

.top-content-02 h3 {
  width:75%;
  text-align: center;
  padding: 0.5rem;
  background-color: #eee;
  border-radius: 5rem;
  margin-top: 2rem;
  font-weight: normal;
  margin: 0 auto;
}

.top-content-02 .carousel-wrap {
  user-select: none;
  margin: 2rem auto 3rem;
}

.top-content-02 .carousel-stage {
  position: relative;
  height: 62rem;
  display: flex;
  align-items: center;
  justify-content: center;
  perspective: 1000px;
  margin-bottom: 1.5rem;
}

.top-content-02 .carousel-item {
  position: absolute;
  width: 28rem;
  height: auto;
  border-radius: 12px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  overflow: hidden;
  transition: transform 0.4s ease, opacity 0.4s ease;
  cursor: grab;
  display: flex;
  align-items: center;
  justify-content: center;
}

.top-content-02 .carousel-item:active {
  cursor: grabbing;
}

.top-content-02 .carousel-item img {
  width: 100%;
  height: auto;
  object-fit: contain;
  pointer-events: none;
}

.top-content-02 .hint {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  font-size: 1.2rem;
  letter-spacing: 0.15em;
  color: #999;
}

.top-content-02 .arrow {
  animation: slide 1.5s infinite;
}

@keyframes slide {
  0%,
  100% {
    transform: translateX(0);
  }

  50% {
    transform: translateX(8px);
  }
}

.top-content-04,
.top-content-06 {
  background-color: #1D1D1F;
  padding: 6rem 0;
  margin: 0;
}

.top-content-04 *,
.top-content-06 * {
  color: #fff;
}

.top-content-04 .column {
  gap: 1rem !important;
}

.top-content-05 .wp-block-list {
  width: fit-content;
  margin: 0 auto;
}

.top-content-05 .wp-block-list li {
  list-style: inherit !important;
  font-size: 1.4rem;
}

.top-content-05 .uagb-container-inner-blocks-wrap > div {
  gap: 1rem;
}

.top-content-05 .uagb-container-inner-blocks-wrap > div > div:first-of-type {
  aspect-ratio: 1 / 1;
}

.top-content-05 h3.uagb-heading-text {
  font-size: 1.6rem;
  font-weight: normal;
}

.top-content-06 p {
  line-height: 1.3;
  white-space: nowrap;
}

.top-content-06 .price {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: flex-end;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}

.top-content-06 .price div {
  flex: 0 0 auto !important;
}

.top-content-06 .price p {
  font-family: "メイリオ", Meiryo, sans-serif;
  width: fit-content;
  text-align: center;
}

.top-content-06 .price .wp-block-column.is-vertically-aligned-bottom {
  width: auto !important;
}

.top-content-06 .price div:first-of-type p {
  margin-left: auto;
}

.top-content-06 .price div:nth-last-of-type(2) p {
  font-weight: bold;
  margin-bottom: -1rem;
}

.top-content-06 .uagb-container-inner-blocks-wrap .wp-block-uagb-advanced-heading,
.top-content-06 .uagb-container-inner-blocks-wrap .wp-block-uagb-container {
  border-radius: 0.5rem;
}

.top-content-06 .uagb-container-inner-blocks-wrap p {
  color: #1D1D1F;
  font-size: 1.8rem;
}

/* single page */
.page h2 {
  font-size: 2.8rem;
  font-weight: normal;
  margin-bottom: 1.5rem;
  line-height: 1.5;
}

.page h3 {
  font-weight: normal;
  font-size: 2rem;
}

.page hr {
  border: none;
  height: 1px;
  background-color: #CACACF;
  width: 90%;
}

.page .inner hr {
  width: 100%;
}

/* translation */
.gt_switcher_wrapper {
  left: 2rem !important;
}

/* footer */
.footer__ctt {
  background-color: #1D1D1F;
  color: #fff;
}

.footer__link_banner img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.footer__nav__item {
  border-right: 1px solid #fff;
}

.footer__nav__item a {
  font-size: 1.6rem;
}

.footer__fixed {
  background-color: rgba(29, 29, 31, 0.85);
}

.footer__fixed .inner {
  background-color: #fff;
}

.footer__fixed .inner a {
  color: #1D1D1F;
}

.footer__cpr {
  margin-top: 3rem;
}

.footer__cpr small {
  color: #fff;
  font-size: inherit;
  display: block;
}

@media screen and (min-width: 1073px) {
  .footer>.footer__fixed {
    display: none;
  }

  .scrolled .footer__gotop {
    bottom: 3rem;
  }
}
