.entry-content > .wp-block-group.alignwide.rk-home-shell,
.entry-content > .rk-home-shell {
  width: min(1420px, calc(100vw - 1.5rem));
  max-width: min(1420px, calc(100vw - 1.5rem));
  margin: 0 auto;
}

.rk-home-shell > .wp-block-group__inner-container,
.rk-home-shell > .wp-block-group__inner-container > *,
.rk-home-shell .rk-home-top,
.rk-home-top > .wp-block-column {
  width: 100%;
  max-width: none !important;
}

.rk-home-top {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 1rem !important;
  align-items: flex-start;
  width: 100%;
}

.rk-main-col {
  flex: 0 0 56% !important;
  width: 56% !important;
  max-width: 56% !important;
}

.rk-main-col > * {
  width: 66.6667%;
  max-width: 66.6667%;
  margin-left: auto;
  margin-right: auto;
}

.rk-main-col .rk-hero-carousel {
  width: 80%;
  max-width: 80%;
  margin-left: 10%;
  margin-right: auto;
}

.rk-side-col {
  flex: 0 0 44% !important;
  width: 44% !important;
  max-width: 44% !important;
}

.rk-link-panel {
  padding: 0 !important;
  margin-top: 0.35rem;
}

.rk-hero-carousel {
  max-width: 80% !important;
}

.rk-hero-track {
  min-height: 360px !important;
}

.rk-hero-slide img {
  width: 100%;
  min-height: 360px;
  max-height: 360px !important;
  object-fit: contain !important;
}

.rk-hero-nav,
.rk-hero-nav:hover,
.rk-hero-nav:focus,
.rk-hero-nav:active {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #6d5f49 !important;
  outline: none !important;
}

.rk-hero-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 54px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin-top: -10px !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.rk-hero-modal-close {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
}

.rk-one-line-news {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  width: 80%;
  max-width: 80%;
  margin: 0.4rem auto 1rem;
  padding: 0.75rem 1rem;
  border: 1px solid #e3d7bb;
  border-radius: 999px;
  background: #fffdfa;
  color: #5f4a26;
}

.rk-one-line-news__label {
  flex: 0 0 auto;
  color: #8a6c37;
  font-size: 0 !important;
  letter-spacing: 0.08em;
}

.rk-one-line-news__label::before {
  content: "お知らせ";
  font-size: 8.5pt;
}

.rk-one-line-news__track {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 8.5pt;
}

.rk-one-line-news__track span {
  display: block;
}

.rk-soft-button .wp-block-button__link {
  background: #fffdfa !important;
  color: #5f4a26 !important;
  border: 1px solid #cdb98b !important;
  border-radius: 999px !important;
  padding: 0.6rem 1rem !important;
  font-size: 8.5pt;
  box-shadow: none !important;
}

.rk-soft-button .wp-block-button__link:hover,
.rk-soft-button .wp-block-button__link:focus {
  background: #8a6c37 !important;
  color: #fffdfa !important;
  border-color: #8a6c37 !important;
}

.page-id-1587 .entry-content iframe,
.page-id-1587 .entry-content .ritz.grid-container,
.page-id-1587 .entry-content table.waffle {
  display: block;
  margin-left: auto !important;
  margin-right: auto !important;
}

.page-id-1587 .entry-content iframe {
  width: min(980px, 100%) !important;
  max-width: 100% !important;
}

.rk-photo-strip {
  width: 80%;
  max-width: 80%;
  gap: 0.5rem !important;
  margin: 0.4rem auto !important;
}

.rk-photo-strip img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 14px;
}

.codex-social-links {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.75rem;
}

.codex-social-link {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 34px;
  height: 34px;
  border: 1px solid #cdb98b;
  border-radius: 999px;
  background: #fffdfa;
  color: #5f4a26;
  font-size: 0;
  text-decoration: none;
}

.codex-social-link:hover,
.codex-social-link:focus {
  background: #8a6c37;
  color: #fffdfa;
  border-color: #8a6c37;
}

.codex-social-link::before {
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1;
}

.codex-social-link[aria-label="X"]::before {
  content: "X";
}

.codex-social-link[aria-label="Instagram"]::before {
  content: "IG";
}

.codex-social-link[aria-label="Facebook"]::before {
  content: "f";
  font-family: Georgia, serif;
  font-size: 1rem;
}

.rk-info-card,
.rk-calendar-card {
  background: #fffdfa;
  border: 1px solid #e3d7bb;
  border-radius: 20px;
  box-shadow: 0 10px 24px rgba(95, 74, 38, 0.05);
}

.rk-info-card {
  width: 80%;
  max-width: 80%;
  margin-left: auto;
  margin-right: auto;
  padding: 0.75rem !important;
  text-align: center;
  font-size: 0.82rem;
}

.rk-info-card > .wp-block-group__inner-container {
  padding: 0 !important;
}

.rk-info-card p,
.rk-info-card h4 {
  text-align: center !important;
}

.rk-contact {
  line-height: 1.42;
  font-size: 10pt;
}

.rk-side-heading {
  margin-top: 0.5rem;
  color: #7b6840;
  font-size: 10pt;
}

.rk-info-card p {
  font-size: 10pt;
  margin-top: 0.3rem;
  margin-bottom: 0.3rem;
}

.rk-info-card .has-small-font-size {
  font-size: 10pt !important;
  line-height: 1.32;
}

.rk-calendar-card {
  width: 80%;
  max-width: 80%;
  margin: 0.6rem auto 0;
  padding: 0.6rem !important;
}

.rk-calendar-frame-wrap {
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid #eadfca;
  background: #fff;
}

.rk-calendar-frame {
  display: block;
  width: 100%;
  height: 420px;
  border: 0;
}

.rk-calendar-note {
  width: 80%;
  max-width: 80%;
  margin: 0.35rem auto 0;
  font-size: 10pt !important;
  line-height: 1.3;
}
