@charset "UTF-8";
/* ==========================================================
   Kiratt | Review Page Common Styles (v7)
   テーマCSS完全上書き対策版
   - テーマのページタイトル装飾を非表示
   - パンくずをゴールド系に統一(Reviewページ限定)
   - section/articleの枠装飾を完全リセット
   ファイル名: review-common.css
========================================================== */

/* ==========================================================
   PART 0: Theme Page-Header Control (Review Pages Only)
   /review/ および /review/各店舗/ でのみ適用
   - テーマの水色mainvエリア(ページタイトル)を非表示
   - パンくずは残しゴールド系に統一
========================================================== */

/* ---------- Theme Page Title Area (.mainv) 非表示 ---------- */

/* 【方法1】functions.php に body class 追加コードを追記した場合(最も確実) */
body.review-page .mainv,
body.review-page #page-default .mainv,
body.review-page .page-content .mainv,
body.review-page #archive .mainv,
body.review-page #single .mainv,
body.review-page #sinlge .mainv,
body.review-page main .mainv {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  overflow: hidden !important;
  background: none !important;
  background-image: none !important;
}

/* 【方法2】:has() 擬似クラス(モダンブラウザ) */
body:has(.rv-wrap) #page-default .mainv,
body:has(.rv-wrap) .page-content .mainv,
body:has(.rv-wrap) #archive .mainv,
body:has(.rv-wrap) #single .mainv,
body:has(.rv-wrap) #sinlge .mainv,
body:has(.rv-wrap) main .mainv {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  overflow: hidden !important;
  background: none !important;
  background-image: none !important;
}

/* 【方法3】フォールバック - 既存body classで判定 */
body.parent-pageid-776 .mainv,
body.parent-pageid-776 #page-default .mainv,
body.parent-pageid-776 .page-content .mainv,
body.page-id-6046 .mainv,
body.page-id-6046 #page-default .mainv,
body.page-id-6046 .page-content .mainv {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  overflow: hidden !important;
  background: none !important;
  background-image: none !important;
}


/* ---------- Breadcrumbs 色統一(Review配下のみ) ---------- */

body.review-page .breadcrumbs,
body:has(.rv-wrap) .breadcrumbs,
body.parent-pageid-776 .breadcrumbs,
body.page-id-6046 .breadcrumbs {
  background: #fbf8f2 !important;
  background-color: #fbf8f2 !important;
  background-image: none !important;
  border-bottom: 1px solid #ede2cb !important;
  border-top: none !important;
  padding: 14px 20px !important;
  margin: 0 !important;
  box-shadow: none !important;
  color: #6b6255 !important;
}
body.review-page .breadcrumbs a,
body:has(.rv-wrap) .breadcrumbs a,
body.parent-pageid-776 .breadcrumbs a,
body.page-id-6046 .breadcrumbs a {
  color: #947046 !important;
  font-size: 13px !important;
  letter-spacing: .05em !important;
  text-decoration: none !important;
  transition: color .2s !important;
}
body.review-page .breadcrumbs a:hover,
body:has(.rv-wrap) .breadcrumbs a:hover,
body.parent-pageid-776 .breadcrumbs a:hover,
body.page-id-6046 .breadcrumbs a:hover {
  color: #b8945f !important;
  text-decoration: underline !important;
}
body.review-page .breadcrumbs li,
body:has(.rv-wrap) .breadcrumbs li,
body.parent-pageid-776 .breadcrumbs li,
body.page-id-6046 .breadcrumbs li {
  color: #6b6255 !important;
  font-size: 13px !important;
  background: none !important;
  padding: 0 !important;
}
body.review-page .breadcrumbs span,
body:has(.rv-wrap) .breadcrumbs span,
body.parent-pageid-776 .breadcrumbs span,
body.page-id-6046 .breadcrumbs span {
  color: #6b6255 !important;
  background: none !important;
}

/* パンくず内のタイトル要素を非表示 */
body.review-page .breadcrumbs h1,
body.review-page .breadcrumbs h2,
body.review-page .breadcrumbs .page-title,
body.review-page .breadcrumbs .entry-title,
body:has(.rv-wrap) .breadcrumbs h1,
body:has(.rv-wrap) .breadcrumbs h2,
body:has(.rv-wrap) .breadcrumbs .page-title,
body:has(.rv-wrap) .breadcrumbs .entry-title,
body.parent-pageid-776 .breadcrumbs h1,
body.parent-pageid-776 .breadcrumbs h2,
body.page-id-6046 .breadcrumbs h1,
body.page-id-6046 .breadcrumbs h2 {
  display: none !important;
}


/* ==========================================================
   PART 1: Review Main Content
========================================================== */

/* ---------- Wrap Container ---------- */
.rv-wrap {
  --rv-gold: #b8945f;
  --rv-gold-dark: #947046;
  --rv-gold-light: #d9c19a;
  --rv-beige: #f7f1e6;
  --rv-beige-deep: #ede2cb;
  --rv-ivory: #fbf8f2;
  --rv-text: #3a3226;
  --rv-text-sub: #6b6255;
  --rv-red: #c8384a;

  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "游明朝", YuMincho, serif !important;
  color: var(--rv-text) !important;
  line-height: 1.9 !important;
  letter-spacing: .03em !important;
  background: linear-gradient(180deg, #fff 0%, var(--rv-ivory) 100%) !important;
  padding: 0 0 60px !important;
  max-width: 100% !important;
  width: 100% !important;
  border: none !important;
  box-shadow: none !important;
  margin: 0 !important;
}
.rv-wrap * {
  box-sizing: border-box !important;
}

/* ---------- CRITICAL: section / article / div / nav の枠リセット ---------- */
/* テーマが当てている border / background / box-shadow / outline を完全に消す */
.rv-wrap section,
.rv-wrap article,
.rv-wrap nav {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: none !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-left: none !important;
  box-shadow: none !important;
  outline: none !important;
  padding: 0;
  margin: 0;
  display: block !important;
  position: relative;
}
.rv-wrap section::before,
.rv-wrap section::after,
.rv-wrap article::before,
.rv-wrap article::after {
  display: none !important;
  content: none !important;
  background: none !important;
  border: none !important;
}

/* divのテーマ装飾も消す */
.rv-wrap > div,
.rv-wrap section > div,
.rv-wrap article > div {
  background: transparent;
  border: none;
  box-shadow: none;
}


/* ---------- Heading Reset ---------- */
.rv-wrap h1,
.rv-wrap h2,
.rv-wrap h3,
.rv-wrap h4,
.rv-wrap h5,
.rv-wrap h6 {
  background: none !important;
  background-image: none !important;
  background-color: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
  box-shadow: none !important;
  outline: none !important;
  color: inherit !important;
  font-family: inherit !important;
  font-weight: 600 !important;
  text-align: inherit !important;
  line-height: 1.5 !important;
  position: relative !important;
  display: block !important;
  min-height: 0 !important;
  height: auto !important;
  width: auto !important;
  max-width: 100% !important;
}
.rv-wrap h1::before,
.rv-wrap h1::after,
.rv-wrap h2::before,
.rv-wrap h2::after,
.rv-wrap h3::before,
.rv-wrap h3::after,
.rv-wrap h4::before,
.rv-wrap h4::after {
  display: none !important;
  content: none !important;
  background: none !important;
  border: none !important;
}


/* ---------- Paragraph Reset ---------- */
.rv-wrap p {
  margin: 0 0 1em !important;
  padding: 0 !important;
  font-family: inherit !important;
  color: inherit !important;
  text-align: inherit !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}


/* ---------- Link Reset ---------- */
.rv-wrap a {
  color: inherit;
  text-decoration: none;
  background: none !important;
  background-image: none !important;
  padding: 0;
  border: none;
  box-shadow: none !important;
}


/* ---------- Image Reset ---------- */
.rv-wrap img {
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  vertical-align: middle !important;
  box-shadow: none !important;
}


/* ---------- List Reset ---------- */
.rv-wrap ul,
.rv-wrap ol,
.rv-wrap dl,
.rv-wrap dt,
.rv-wrap dd {
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}
.rv-wrap ul,
.rv-wrap ol {
  list-style: none !important;
}
.rv-wrap li {
  background: none !important;
  background-image: none !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  border: none !important;
  box-shadow: none !important;
}
.rv-wrap li::before,
.rv-wrap li::marker {
  content: none !important;
}


/* ---------- Span Reset ---------- */
.rv-wrap span {
  background: transparent;
  padding: 0;
  margin: 0;
  border: none;
  box-shadow: none;
}


/* ========== Components: ここから我々のデザイン ========== */

/* ---------- Re-enable decoration for our components ---------- */
.rv-wrap .rv-h2::before,
.rv-wrap .rv-h2::after {
  display: block !important;
  content: "" !important;
}


/* ---------- Section Container ---------- */
.rv-wrap .rv-section {
  max-width: 1100px !important;
  margin: 80px auto 0 !important;
  padding: 0 20px !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}


/* ---------- Section Heading (h2) ---------- */
.rv-wrap .rv-h2 {
  text-align: center !important;
  margin: 0 0 50px !important;
  padding-bottom: 26px !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.rv-wrap .rv-h2 .en {
  display: block !important;
  font-family: "Cormorant Garamond", "Times New Roman", serif !important;
  font-size: 13px !important;
  letter-spacing: .5em !important;
  color: var(--rv-gold) !important;
  margin-bottom: 10px !important;
  font-style: italic !important;
  background: none !important;
  padding: 0 !important;
}
.rv-wrap .rv-h2 .jp {
  display: block !important;
  font-size: clamp(20px, 3.2vw, 28px) !important;
  font-weight: 600 !important;
  letter-spacing: .12em !important;
  color: var(--rv-text) !important;
  background: none !important;
  padding: 0 !important;
}
.rv-wrap .rv-h2 .jp .place {
  color: var(--rv-gold-dark) !important;
  font-size: .85em !important;
  margin-right: 6px !important;
}
.rv-wrap .rv-h2::after {
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  transform: translateX(-50%) !important;
  width: 50px !important;
  height: 1px !important;
  background: var(--rv-gold) !important;
  border: none !important;
}
.rv-wrap .rv-h2::before {
  position: absolute !important;
  left: 50% !important;
  bottom: -4px !important;
  transform: translateX(-50%) !important;
  width: 9px !important;
  height: 9px !important;
  border: 1px solid var(--rv-gold) !important;
  background: #fff !important;
  border-radius: 50% !important;
  z-index: 1 !important;
}


/* ---------- Section Lead / Sub ---------- */
.rv-wrap .rv-section-lead {
  text-align: center !important;
  font-size: 15px !important;
  color: var(--rv-text-sub) !important;
  margin: -30px auto 40px !important;
  max-width: 720px !important;
  line-height: 2 !important;
  background: none !important;
  padding: 0 20px !important;
}
.rv-wrap .rv-section-sub {
  text-align: center !important;
  margin: 50px 0 20px !important;
  font-size: 14px !important;
  letter-spacing: .1em !important;
  color: var(--rv-text-sub) !important;
  background: none !important;
  padding: 0 !important;
}


/* ---------- CTA Buttons ---------- */
.rv-wrap .rv-cta {
  max-width: 1100px !important;
  margin: 60px auto 0 !important;
  padding: 0 20px !important;
  text-align: center !important;
  background: transparent !important;
  border: none !important;
}
.rv-wrap .rv-cta__msg {
  font-size: 16px !important;
  line-height: 2 !important;
  margin: 0 0 30px !important;
  color: var(--rv-text-sub) !important;
}
.rv-wrap .rv-cta__btns {
  display: flex !important;
  gap: 20px !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
}
.rv-wrap .rv-btn {
  display: inline-block !important;
  min-width: 260px !important;
  padding: 18px 40px !important;
  text-decoration: none !important;
  font-size: 15px !important;
  letter-spacing: .15em !important;
  font-weight: 600 !important;
  transition: all .3s ease !important;
  text-align: center !important;
  background-image: none !important;
  border-radius: 0 !important;
}
.rv-wrap .rv-btn--primary {
  background: linear-gradient(135deg, var(--rv-gold) 0%, var(--rv-gold-dark) 100%) !important;
  color: #fff !important;
  border: 1px solid var(--rv-gold-dark) !important;
}
.rv-wrap .rv-btn--primary:hover {
  background: var(--rv-gold-dark) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 24px -8px rgba(148, 112, 70, .4) !important;
}
.rv-wrap .rv-btn--line {
  background: #fff !important;
  color: var(--rv-gold-dark) !important;
  border: 1px solid var(--rv-gold) !important;
}
.rv-wrap .rv-btn--line:hover {
  background: var(--rv-beige) !important;
  transform: translateY(-2px) !important;
}


/* ---------- Responsive ---------- */
@media (max-width: 768px) {
  .rv-wrap .rv-section { margin-top: 60px !important; }
  .rv-wrap .rv-cta__btns { flex-direction: column !important; align-items: center !important; }
  .rv-wrap .rv-btn { width: 100% !important; max-width: 320px !important; min-width: 0 !important; }
}