/* =========================================
   price.css — メニュー・料金ページ専用
   高級リラクゼーションサロン デザイン
   prefix: prc-
   ========================================= */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Noto+Sans+JP:wght@300;400;500&display=swap');

/* =========================================
   CSS変数
   ========================================= */
.price-page,
.wp-page-wrapper {
  --prc-bg:         #FAFAF7;
  --prc-bg-alt:     #F3F0EB;
  --prc-ivory:      #F7F4EE;
  --prc-cream:      #EDE8DF;
  --prc-gold:       #9C7D53;
  --prc-gold-lt:    #BFA07A;
  --prc-gold-pale:  rgba(156,125,83,.12);
  --prc-text:       #1C1916;
  --prc-text-md:    #4A4440;
  --prc-text-lt:    #7A736C;
  --prc-line:       rgba(156,125,83,.2);
  --prc-ff-serif:   'Cormorant Garamond', 'Georgia', serif;
  --prc-ff-sans:    'Noto Sans JP', 'Hiragino Sans', sans-serif;
  --prc-ease:       cubic-bezier(.4, 0, .2, 1);

  font-family: var(--prc-ff-sans);
  background: var(--prc-bg);
  color: var(--prc-text);
  min-height: 100vh;
}

/* =========================================
   HERO
   ========================================= */
.prc-hero {
  position: relative;
  padding: clamp(5rem, 14vw, 10rem) clamp(1.5rem, 5vw, 5rem) clamp(3.5rem, 7vw, 6rem);
  overflow: hidden;
  background: var(--prc-bg);
}

/* 背景 — 薄いシルクテクスチャ風 */
.prc-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 60% at 100% 0%, rgba(156,125,83,.07) 0%, transparent 65%),
    radial-gradient(ellipse 50% 50% at 0% 100%, rgba(156,125,83,.04) 0%, transparent 60%);
  pointer-events: none;
}

/* 背景のウォーターマーク */
.prc-hero::after {
  content: 'RELAXATION';
  position: absolute;
  right: -2rem;
  bottom: -1rem;
  font-family: var(--prc-ff-serif);
  font-size: clamp(4rem, 12vw, 11rem);
  font-weight: 300;
  letter-spacing: .18em;
  color: rgba(156,125,83,.055);
  white-space: nowrap;
  pointer-events: none;
  line-height: 1;
}

.prc-hero__inner {
  position: relative;
  max-width: 680px;
}

.prc-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .8rem;
  font-family: var(--prc-ff-serif);
  font-size: .72rem;
  letter-spacing: .22em;
  color: var(--prc-gold);
  font-weight: 400;
  margin-bottom: 1.4rem;
}
.prc-eyebrow::before {
  content: '';
  display: block;
  width: 2.4rem;
  height: 1px;
  background: var(--prc-gold);
}

.prc-hero__title {
  font-family: var(--prc-ff-sans);
  font-size: clamp(2.2rem, 5.5vw, 4.2rem);
  font-weight: 300;
  letter-spacing: .06em;
  line-height: 1.15;
  color: var(--prc-text);
  margin: 0 0 1.2rem;
}

.prc-hero__desc {
  font-size: clamp(.82rem, 1.3vw, .9rem);
  color: var(--prc-text-lt);
  letter-spacing: .1em;
  margin: 0 0 2.5rem;
}

.prc-hero__line {
  width: 4rem;
  height: 1px;
  background: linear-gradient(90deg, var(--prc-gold), transparent);
}

/* =========================================
   レイアウト
   ========================================= */
.prc-main {
  max-width: 1280px;
  margin: 0 auto;
}

.prc-content {
  padding: 0 clamp(1rem, 4vw, 3rem) clamp(4rem, 8vw, 7rem);
}

/* =========================================
   セクション共通ヘッド
   ========================================= */
.prc-section {
  padding: clamp(3rem, 6vw, 5.5rem) 0;
  border-bottom: 1px solid var(--prc-line);
}
.prc-section:first-child {
  padding-top: 0;
}
.prc-section:last-child {
  border-bottom: none;
}

.prc-section-head {
  display: flex;
  align-items: baseline;
  gap: 1.2rem;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.prc-tag {
  font-family: var(--prc-ff-serif);
  font-size: clamp(2.8rem, 6vw, 5rem);
  font-weight: 300;
  color: var(--prc-gold-lt);
  line-height: 1;
  letter-spacing: -.02em;
  flex-shrink: 0;
}

.prc-section-title {
  font-family: var(--prc-ff-sans);
  font-size: clamp(1.3rem, 2.5vw, 1.9rem);
  font-weight: 400;
  letter-spacing: .08em;
  color: var(--prc-text);
  margin: 0;
  padding-bottom: .6rem;
  position: relative;
}
.prc-section-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 2rem;
  height: 1px;
  background: var(--prc-gold);
  transition: width .4s var(--prc-ease);
}
.prc-section:hover .prc-section-title::after {
  width: 100%;
}

/* =========================================
   価格表
   ========================================= */
.prc-pricelist__img {
  border-radius: 2px;
  overflow: hidden;
  box-shadow:
    0 1px 3px rgba(0,0,0,.06),
    0 8px 30px rgba(0,0,0,.07);
  width: 100%;
  transition: box-shadow .4s var(--prc-ease);
}
.prc-pricelist__img:hover {
  box-shadow:
    0 2px 6px rgba(0,0,0,.07),
    0 16px 48px rgba(0,0,0,.1);
}
.prc-pricelist__img img {
  width: 100%;
  height: auto;
  display: block;
}

/* テキスト版料金テーブル（グループ分け） */
.prc-pricelist__groups {
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
  margin-top: 3.5rem;
}

.prc-pl-group {
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
}

.prc-pl-group__title {
  font-family: var(--prc-ff-sans);
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--prc-gold);
  letter-spacing: .08em;
  margin: 0;
  padding-left: 0.8rem;
  border-left: 3px solid var(--prc-gold);
  line-height: 1.2;
}

.prc-pl-group__grid {
  display: grid;
  gap: 1.5rem;
}

/* PC時のカラム数制御 */
.prc-pl-group__grid--3col {
  grid-template-columns: repeat(3, 1fr);
}

.prc-pl-group__grid--2col {
  grid-template-columns: repeat(2, 1fr);
}


.prc-pl-card {
  background: var(--prc-ivory);
  border: 1px solid var(--prc-line);
  border-radius: 2px;
  padding: 1.5rem 1.2rem;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 15px rgba(156,125,83,.03);
  transition: all .4s var(--prc-ease);
  position: relative;
}
.prc-pl-card::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--prc-gold-lt);
  border-radius: 2px 2px 0 0;
  opacity: 0.6;
}
.prc-pl-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(156,125,83,.08);
  border-color: var(--prc-gold);
}
.prc-pl-card:hover::before {
  opacity: 1;
}

/* おすすめセットの強調 */
.prc-pl-card--featured {
  background: #FFF;
  border: 2px solid var(--prc-gold);
}
.prc-pl-card--featured::before {
  height: 4px;
  background: var(--prc-gold);
}

/* カード見出し */
.prc-pl-card__header {
  display: flex;
  align-items: center;
  gap: .6rem;
  padding-bottom: .8rem;
  border-bottom: 1px solid var(--prc-line);
  margin-bottom: 1.2rem;
}
.prc-pl-card__header i {
  color: var(--prc-gold);
  font-size: 0.95rem;
}
.prc-pl-card__header h4 {
  font-family: var(--prc-ff-sans);
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--prc-text);
  margin: 0;
  letter-spacing: .06em;
}

/* リストアイテム */
.prc-pl-card__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.prc-pl-card__list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.85rem;
  color: var(--prc-text-md);
  padding-bottom: 0.5rem;
  border-bottom: 1px dashed rgba(156,125,83,.15);
}
.prc-pl-card__list li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.prc-pl-card__time {
  font-weight: 400;
}
.prc-pl-card__price {
  font-family: var(--prc-ff-serif);
  font-size: 1rem;
  font-weight: 500;
  color: var(--prc-gold);
}

/* フッター注記（延長など） */
.prc-pl-card__footer {
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid var(--prc-line);
}
.prc-pl-card__opt {
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--prc-text);
  margin: 0 0 0.3rem 0;
}
.prc-pl-card__sub-note {
  font-size: 0.72rem;
  color: var(--prc-text-lt);
  line-height: 1.4;
  margin: 0;
}

/* 説明付きのセットメニューアイテム */
.prc-pl-card__desc-item {
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0.3rem;
}
.prc-pl-card__item-main {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.prc-pl-card__desc-text {
  font-size: 0.74rem !important;
  color: var(--prc-text-lt) !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}

/* 全体の税込表記 */
.prc-pricelist__tax-note {
  font-size: 0.78rem;
  color: var(--prc-text-lt);
  text-align: right;
  margin-top: 1rem;
}


/* =========================================
   コース — グリッドレイアウト
   ========================================= */
.prc-course__grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 1.8rem;
  align-items: start;
}

.prc-course__grid--rev {
  grid-template-columns: 1fr 1.1fr;
}
.prc-course__grid--rev .prc-course__img-main {
  order: 2;
}
.prc-course__grid--rev .prc-course__right {
  order: 1;
}

/* メイン画像 */
.prc-course__img-main {
  border-radius: 2px;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background: var(--prc-cream);
  position: relative;
}
.prc-course__img-main::after {
  content: '';
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 2px;
  pointer-events: none;
}
.prc-course__img-main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .8s var(--prc-ease);
}
.prc-course__img-main:hover img {
  transform: scale(1.04);
}

/* サブ画像 2枚 */
.prc-course__right {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}

.prc-course__imgs-sub {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .9rem;
}

.prc-course__img-sub {
  border-radius: 2px;
  overflow: hidden;
  aspect-ratio: 1;
  background: var(--prc-cream);
}
.prc-course__img-sub img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .6s var(--prc-ease);
}
.prc-course__img-sub:hover img {
  transform: scale(1.06);
}

/* テキストエリア */
.prc-course__text {
  padding: 1.2rem 1.4rem;
  border-left: 1px solid var(--prc-line);
  position: relative;
}
.prc-course__text::before {
  content: '';
  position: absolute;
  top: 0;
  left: -1px;
  width: 1px;
  height: 2rem;
  background: var(--prc-gold);
}

.prc-course__text p {
  font-size: clamp(.87rem, 1.2vw, .95rem);
  line-height: 2;
  color: var(--prc-text-md);
  margin: 0 0 .8rem;
  font-weight: 300;
}

.prc-course__note {
  font-size: .78rem;
  color: var(--prc-text-lt);
  letter-spacing: .04em;
}

/* 交互背景 */
.prc-course--alt {
  background: transparent;
}
.prc-course--alt .prc-course__text {
  border-left: none;
  border-right: 1px solid var(--prc-line);
  padding-left: 0;
  padding-right: 1.4rem;
}
.prc-course--alt .prc-course__text::before {
  left: auto;
  right: -1px;
}

/* =========================================
   お客様の声グループ — .prc-voice-list
   ========================================= */
.prc-voice-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.prc-voice-list__label {
  font-family: var(--prc-ff-serif);
  font-size: .7rem;
  letter-spacing: .18em;
  color: var(--prc-gold);
  margin: 0 0 .8rem;
  display: flex;
  align-items: center;
  gap: .6rem;
}
.prc-voice-list__label::before {
  content: '';
  display: block;
  width: 1.4rem;
  height: 1px;
  background: var(--prc-gold);
  flex-shrink: 0;
}

/* =========================================
   お客様の声 — .prc-voice
   ========================================= */
.prc-voice {
  margin: 0;
  padding: 1rem 1.2rem;
  background: var(--prc-ivory);
  border-left: 2px solid var(--prc-gold);
  position: relative;
}

/* 2件目以降は上線で区切り */
.prc-voice + .prc-voice {
  border-top: 1px solid var(--prc-cream);
}

/* 引用符デコレーション — 非表示 */
.prc-voice::before {
  content: none;
}

.prc-voice__stars {
  font-size: .7rem;
  color: var(--prc-gold);
  letter-spacing: .08em;
  margin-bottom: .4rem;
}

.prc-voice__text {
  font-size: .82rem;
  line-height: 1.75;
  color: var(--prc-text-md);
  font-weight: 300;
  margin: 0 0 .5rem;
  font-style: normal;
}

.prc-voice__author {
  display: block;
  font-size: .68rem;
  letter-spacing: .1em;
  color: var(--prc-text-lt);
  font-style: normal;
  font-family: var(--prc-ff-serif);
}

/* 反転レイアウト時は右ボーダーに */
.prc-course--alt .prc-voice {
  border-left: none;
  border-right: 2px solid var(--prc-gold);
}
.prc-course--alt .prc-voice::before {
  display: none;
}

/* =========================================
   レスポンシブ
   ========================================= */

@media (max-width: 700px) {
  .prc-hero::after {
    display: none;
  }
  .prc-course__grid,
  .prc-course__grid--rev {
    grid-template-columns: 1fr;
  }
  .prc-course__grid--rev .prc-course__img-main {
    order: 0;
  }
  .prc-course__grid--rev .prc-course__right {
    order: 0;
  }
  .prc-course__img-main {
    aspect-ratio: 4 / 5;
  }
  .prc-course--alt .prc-course__text {
    border-right: none;
    border-left: 1px solid var(--prc-line);
    padding-left: 1.4rem;
    padding-right: 0;
  }
  .prc-course--alt .prc-course__text::before {
    right: auto;
    left: -1px;
  }
}

/* =========================================
   ご利用方法 (Join.php) — タイムライン型
   ========================================= */

/* イントロ（写真 + メッセージ） */
.jn-guide__intro {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 2.5rem;
  align-items: center;
  margin-bottom: clamp(3.5rem, 7vw, 6rem);
}

.jn-guide__intro-img {
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 8px 40px rgba(0,0,0,.08);
}

.jn-guide__intro-img img {
  width: 100%;
  height: auto;
  display: block;
}

.jn-guide__intro-text {
  font-size: clamp(1rem, 1.8vw, 1.3rem);
  line-height: 1.9;
  color: var(--prc-text-md);
  font-weight: 300;
  border-left: 2px solid var(--prc-gold);
  padding-left: 1.8rem;
  position: relative;
}
.jn-guide__intro-text::before {
  content: '';
  position: absolute;
  top: 0;
  left: -1px;
  width: 2px;
  height: 2.5rem;
  background: var(--prc-gold);
}

/* =========================================
   タイムライン コンテナ
   ========================================= */
.jn-steps {
  display: flex;
  flex-direction: column;
  max-width: 800px;
}

/* =========================================
   各ステップ
   ========================================= */
.jn-step {
  display: flex;
  gap: 2rem;
  align-items: flex-start;
}

/* --- 左: マーカー列 --- */
.jn-step__marker {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  width: 56px;
}

/* 円形マーカー */
.jn-step__circle {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 1.5px solid var(--prc-gold);
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
  transition: background .3s var(--prc-ease), box-shadow .3s var(--prc-ease);
}
.jn-step__circle span {
  font-family: var(--prc-ff-serif);
  font-size: 1.15rem;
  font-weight: 400;
  color: var(--prc-gold);
  line-height: 1;
  letter-spacing: .04em;
}

/* 最終ステップの円はゴールド塗り */
.jn-step__circle--last {
  background: var(--prc-gold);
}
.jn-step__circle--last span {
  color: #fff;
}

/* ホバー時 */
.jn-step:hover .jn-step__circle {
  background: var(--prc-gold-pale);
  box-shadow: 0 0 0 6px rgba(156,125,83,.06);
}

/* つなぎ線（コネクター） */
.jn-step__connector {
  width: 1px;
  flex: 1;
  min-height: 3rem;
  background: linear-gradient(180deg, var(--prc-gold) 0%, rgba(156,125,83,.15) 100%);
  margin: 0.3rem 0;
}

/* --- 右: コンテンツ列 --- */
.jn-step__body {
  flex: 1;
  padding-bottom: 3rem;
}
.jn-step--last .jn-step__body {
  padding-bottom: 0;
}

.jn-step__label {
  font-family: var(--prc-ff-serif);
  font-size: .72rem;
  letter-spacing: .22em;
  color: var(--prc-gold-lt);
  margin: 0.8rem 0 0.2rem;
}

.jn-step__title {
  font-size: clamp(1.2rem, 2.2vw, 1.55rem);
  font-weight: 500;
  color: var(--prc-text);
  margin: 0 0 1rem;
  letter-spacing: .05em;
}

.jn-step__content {
  font-size: clamp(.87rem, 1.2vw, .95rem);
  line-height: 2;
  color: var(--prc-text-md);
  font-weight: 300;
}

.jn-step__content p {
  margin: 0 0 .9rem;
}
.jn-step__content p:last-child {
  margin-bottom: 0;
}

.jn-step__subtext {
  font-size: .8rem;
  color: var(--prc-text-lt);
  border-top: 1px solid var(--prc-line);
  padding-top: .9rem;
  margin-top: 1rem !important;
}

.jn-step__footer-message {
  display: inline-block;
  margin-top: 1.2rem !important;
  font-size: .95rem;
  color: var(--prc-gold);
  font-weight: 400;
  letter-spacing: .08em;
  border-bottom: 1px solid var(--prc-gold-lt);
  padding-bottom: .2rem;
}

/* =========================================
   予約ボタン
   ========================================= */
.jn-book-actions {
  display: flex;
  gap: 1rem;
  margin: 1.4rem 0 1.2rem;
  flex-wrap: wrap;
}

.jn-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .85rem 2rem;
  font-size: .88rem;
  letter-spacing: .1em;
  text-decoration: none;
  transition: all .3s var(--prc-ease);
  border-radius: 2px;
  min-width: 170px;
  text-align: center;
  gap: .4rem;
}

.jn-btn--primary {
  background: var(--prc-gold);
  color: #fff;
  border: 1px solid var(--prc-gold);
}
.jn-btn--primary:hover {
  background: transparent;
  color: var(--prc-gold);
}

.jn-btn--tel {
  background: transparent;
  border: 1px solid var(--prc-line);
  color: var(--prc-text-md);
  flex-direction: column;
  gap: .05rem;
  padding: .6rem 2rem;
}
.jn-btn--tel:hover {
  border-color: var(--prc-gold);
  background: var(--prc-gold-pale);
  color: var(--prc-gold);
}

.jn-btn__tel-lbl {
  font-size: .68rem;
  color: var(--prc-text-lt);
  letter-spacing: .12em;
}
.jn-btn__tel-num {
  font-size: 1.05rem;
  font-weight: 500;
  font-family: var(--prc-ff-serif);
}

/* =========================================
   レスポンシブ
   ========================================= */
@media (max-width: 768px) {
  .jn-guide__intro {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .jn-guide__intro-text {
    border-left: none;
    border-top: 2px solid var(--prc-gold);
    padding-left: 0;
    padding-top: 1rem;
  }
  .jn-step__circle {
    width: 44px;
    height: 44px;
  }
  .jn-step__marker {
    width: 44px;
  }
  .jn-step__body {
    padding-bottom: 2rem;
  }
}

/* =========================================
   物件募集 (seek.php) 専用スタイル
   prefix: sk-
   ========================================= */

/* イントロテキスト */
.sk-intro__text {
  font-size: clamp(.9rem, 1.4vw, 1.05rem);
  line-height: 2;
  color: var(--prc-text-md);
  font-weight: 300;
  max-width: 780px;
  margin: 0 0 1rem;
}

.sk-intro__note {
  font-size: .82rem;
  color: var(--prc-text-lt);
  letter-spacing: .04em;
  padding-left: 1rem;
  border-left: 2px solid var(--prc-line);
}

/* =========================================
   物件カード
   ========================================= */
.sk-property__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
}

.sk-property__grid--rev {
  direction: rtl;
}
.sk-property__grid--rev > * {
  direction: ltr;
}

/* 画像 */
.sk-property__img {
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(0,0,0,.07);
  background: var(--prc-cream);
}
.sk-property__img img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform .7s var(--prc-ease);
}
.sk-property__img:hover img {
  transform: scale(1.03);
}

/* 物件テーブル */
.sk-property__table {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
}

.sk-property__row {
  display: grid;
  grid-template-columns: 6rem 1fr;
  gap: 0;
  border-bottom: 1px solid var(--prc-line);
  padding: 1rem 0;
}
.sk-property__row:first-child {
  border-top: 1px solid var(--prc-line);
}

.sk-property__row dt {
  font-size: .78rem;
  letter-spacing: .1em;
  color: var(--prc-gold);
  font-weight: 400;
  font-family: var(--prc-ff-sans);
  padding-right: 1rem;
  display: flex;
  align-items: flex-start;
  padding-top: .1rem;
}

.sk-property__row dd {
  font-size: clamp(.88rem, 1.2vw, .95rem);
  line-height: 1.8;
  color: var(--prc-text-md);
  font-weight: 300;
  margin: 0;
}

/* =========================================
   お問い合わせ
   ========================================= */
.sk-contact__text {
  font-size: clamp(.88rem, 1.2vw, .95rem);
  line-height: 2;
  color: var(--prc-text-md);
  font-weight: 300;
  margin: 0 0 2rem;
}

.sk-contact__actions {
  display: flex;
  gap: 1.2rem;
  flex-wrap: wrap;
}

.sk-contact__btn {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .15rem;
  padding: 1rem 2.5rem;
  min-width: 200px;
  text-decoration: none;
  border-radius: 2px;
  transition: all .3s var(--prc-ease);
}

.sk-contact__btn--tel {
  background: var(--prc-ivory);
  border: 1px solid var(--prc-line);
  color: var(--prc-text);
}
.sk-contact__btn--tel:hover {
  border-color: var(--prc-gold);
  background: var(--prc-gold-pale);
}

.sk-contact__btn-lbl {
  font-size: .68rem;
  letter-spacing: .15em;
  color: var(--prc-text-lt);
}

.sk-contact__btn-num {
  font-size: 1.3rem;
  font-weight: 500;
  font-family: var(--prc-ff-serif);
  letter-spacing: .06em;
  color: var(--prc-text);
}

.sk-contact__btn--form {
  background: var(--prc-gold);
  color: #fff;
  border: 1px solid var(--prc-gold);
  flex-direction: row;
  gap: .7rem;
  font-size: .9rem;
  letter-spacing: .1em;
  padding: 1rem 2.5rem;
}
.sk-contact__btn--form:hover {
  background: transparent;
  color: var(--prc-gold);
}

/* =========================================
   レスポンシブ
   ========================================= */
@media (max-width: 768px) {
  .sk-property__grid,
  .sk-property__grid--rev {
    grid-template-columns: 1fr;
    direction: ltr;
    gap: 1.5rem;
  }
  .sk-property__row {
    grid-template-columns: 5rem 1fr;
  }
  .sk-contact__actions {
    flex-direction: column;
  }
  .sk-contact__btn {
    width: 100%;
    min-width: unset;
  }
}

/* =========================================
   求人募集 (recruit_page_01.php) 専用スタイル
   prefix: rc-
   ========================================= */

/* 導入部分 */
.rc-intro__engage {
  margin-bottom: 2rem;
  max-width: 728px;
  width: 100%;
}
.rc-intro__engage img {
  width: 100%;
  height: auto;
  border-radius: 2px;
}

.rc-intro__text-full {
  max-width: 800px;
}
.rc-lead {
  font-size: clamp(1.05rem, 1.8vw, 1.25rem);
  line-height: 1.8;
  color: var(--prc-gold);
  font-weight: 400;
  margin-bottom: 1.5rem;
}
.rc-intro__text-full p {
  font-size: clamp(.88rem, 1.2vw, .95rem);
  line-height: 2;
  color: var(--prc-text-md);
  font-weight: 300;
  margin-bottom: 1.2rem;
}
.rc-intro__text-full p:last-child {
  margin-bottom: 0;
}

/* オススメ枠 */
.rc-recommend {
  background: var(--prc-ivory);
  border: 1px solid var(--prc-line);
  padding: 2rem;
  margin: 1.5rem 0 2.5rem;
  border-radius: 2px;
}

.rc-recommend__title {
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--prc-gold);
  margin: 0 0 1.2rem;
  letter-spacing: 0.05em;
}

.rc-recommend__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.8rem 2rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.rc-recommend__list li {
  font-size: 0.88rem;
  color: var(--prc-text-md);
  font-weight: 300;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.rc-recommend__list li i {
  color: var(--prc-gold-lt);
  font-size: 0.95rem;
}

/* 募集要項の詳細リスト */
.rc-details {
  margin: 2rem 0;
}

.rc-details__caption {
  font-size: clamp(1rem, 1.5vw, 1.15rem);
  font-weight: 500;
  color: var(--prc-text);
  border-bottom: 2px solid var(--prc-gold);
  padding-bottom: 0.8rem;
  margin: 0 0 1.5rem;
}

.rc-details__list {
  display: flex;
  flex-direction: column;
  margin: 0;
}

.rc-details__row {
  display: grid;
  grid-template-columns: 10rem 1fr;
  padding: 1.2rem 0;
  border-bottom: 1px solid var(--prc-line);
}

.rc-details__row dt {
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--prc-gold);
  letter-spacing: 0.05em;
}

.rc-details__row dd {
  font-size: 0.9rem;
  line-height: 1.85;
  color: var(--prc-text-md);
  font-weight: 300;
  margin: 0;
}

.rc-status-active {
  color: #c0392b !important;
  font-weight: 500 !important;
}

/* 業務委託用のバナー */
.rc-banner {
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,.08);
  margin-bottom: 2rem;
}
.rc-banner img {
  width: 100%;
  height: auto;
  display: block;
}

/* 応募アクション */
.rc-apply {
  text-align: center;
}

.rc-apply__text {
  font-size: clamp(.95rem, 1.4vw, 1.1rem);
  color: var(--prc-text-md);
  font-weight: 300;
  margin-bottom: 2rem;
}

.rc-apply__actions {
  display: flex;
  gap: 1.5rem;
  justify-content: center;
  margin-bottom: 3rem;
}

.rc-apply__btn {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1.2rem 3rem;
  min-width: 260px;
  text-decoration: none;
  border-radius: 2px;
  transition: all 0.3s var(--prc-ease);
}

.rc-apply__btn--tel {
  background: var(--prc-ivory);
  border: 1px solid var(--prc-line);
  color: var(--prc-text);
}
.rc-apply__btn--tel:hover {
  border-color: var(--prc-gold);
  background: var(--prc-gold-pale);
}

.rc-apply__btn-lbl {
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  color: var(--prc-text-lt);
  margin-bottom: 0.2rem;
}

.rc-apply__btn-num {
  font-size: 1.4rem;
  font-weight: 500;
  font-family: var(--prc-ff-serif);
  color: var(--prc-text);
  letter-spacing: 0.05em;
}

.rc-apply__btn--form {
  background: var(--prc-gold);
  color: #fff;
  border: 1px solid var(--prc-gold);
  flex-direction: row;
  gap: 0.8rem;
  font-size: 0.95rem;
  letter-spacing: 0.05em;
  font-weight: 500;
}
.rc-apply__btn--form:hover {
  background: transparent;
  color: var(--prc-gold);
}

.rc-apply__engage-footer {
  max-width: 728px;
  margin: 0 auto;
}
.rc-apply__engage-footer img {
  width: 100%;
  height: auto;
  border-radius: 2px;
}

/* =========================================
   求人ページ用レスポンシブ
   ========================================= */
@media (max-width: 768px) {
  .rc-intro__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .rc-recommend__list {
    grid-template-columns: 1fr;
    gap: 0.6rem;
  }
  .rc-details__row {
    grid-template-columns: 1fr;
    gap: 0.4rem;
    padding: 1rem 0;
  }
  .rc-apply__actions {
    flex-direction: column;
    align-items: center;
  }
  .rc-apply__btn {
    width: 100%;
    max-width: 320px;
    padding: 1rem 2rem;
  }
}

/* =========================================
   記事一覧 (wp.php / archive) 専用スタイル
   prefix: ar-
   ========================================= */

.ar-layout {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 3.5rem;
  align-items: start;
}

/* メインコンテンツエリア */
.ar-main-content {
  flex: 1;
  min-width: 0;
}

/* 記事カード一覧グリッド */
.ar-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem 2rem;
}

/* 記事カード */
.ar-card {
  background: #fff;
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,.03);
  transition: transform .4s var(--prc-ease), box-shadow .4s var(--prc-ease);
  border: 1px solid rgba(156,125,83,.08);
}

.ar-card__link {
  text-decoration: none;
  color: inherit;
  display: block;
}

.ar-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 30px rgba(156,125,83,.08);
}

/* カード画像 */
.ar-card__img-wrap {
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--prc-cream);
}
.ar-card__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .6s var(--prc-ease);
}
.ar-card:hover .ar-card__img-wrap img {
  transform: scale(1.04);
}

/* カードボディ */
.ar-card__body {
  padding: 1.5rem;
}

/* メタ情報 */
.ar-card__meta {
  display: flex;
  gap: 1.2rem;
  font-size: 0.72rem;
  color: var(--prc-text-lt);
  margin-bottom: 0.8rem;
  align-items: center;
}
.ar-card__meta i {
  color: var(--prc-gold-lt);
}

/* 記事タイトル */
.ar-card__title {
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--prc-text);
  line-height: 1.5;
  margin: 0 0 0.8rem;
  letter-spacing: 0.03em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  height: 3.3em;
}

/* 抜粋テキスト */
.ar-card__excerpt {
  font-size: 0.82rem;
  line-height: 1.75;
  color: var(--prc-text-md);
  font-weight: 300;
  margin-bottom: 1.2rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 詳細を読む矢印 */
.ar-card__more {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.72rem;
  font-weight: 500;
  color: var(--prc-gold);
  letter-spacing: 0.15em;
  transition: gap 0.3s;
}
.ar-card:hover .ar-card__more {
  gap: 0.7rem;
}

/* =========================================
   サイドバー
   ========================================= */
.ar-sidebar {
  border-left: 1px solid var(--prc-line);
  padding-left: 2rem;
}

/* ウィジェット内のWordPress標準クラス調整 */
.ar-sidebar .widget {
  margin-bottom: 2.5rem;
}
.ar-sidebar .widget:last-child {
  margin-bottom: 0;
}

/* ウィジェットタイトル */
.ar-sidebar .widgettitle {
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--prc-text);
  border-bottom: 1px solid var(--prc-gold);
  padding-bottom: 0.5rem;
  margin: 0 0 1.2rem;
  letter-spacing: 0.05em;
}

/* ウィジェットリスト項目 */
.ar-sidebar ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.ar-sidebar ul li {
  font-size: 0.85rem;
  border-bottom: 1px dashed var(--prc-line);
  padding: 0.6rem 0;
}
.ar-sidebar ul li:last-child {
  border-bottom: none;
}
.ar-sidebar ul li a {
  text-decoration: none;
  color: var(--prc-text-md);
  transition: color 0.3s;
  font-weight: 300;
}
.ar-sidebar ul li a:hover {
  color: var(--prc-gold);
}

/* =========================================
   ページネーション
   ========================================= */
.ar-pagination {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 4rem;
}

.ar-pagination a,
.ar-pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--prc-line);
  color: var(--prc-text-md);
  text-decoration: none;
  font-size: 0.85rem;
  border-radius: 2px;
  transition: all 0.3s;
  font-family: var(--prc-ff-serif);
}

.ar-pagination span.current {
  background: var(--prc-gold);
  border-color: var(--prc-gold);
  color: #fff;
}

.ar-pagination a:hover {
  border-color: var(--prc-gold);
  color: var(--prc-gold);
  background: var(--prc-gold-pale);
}

/* =========================================
   レスポンシブ
   ========================================= */
@media (max-width: 960px) {
  .ar-layout {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
  .ar-sidebar {
    border-left: none;
    padding-left: 0;
    border-top: 1px solid var(--prc-line);
    padding-top: 3rem;
  }
}

@media (max-width: 600px) {
  .ar-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

/* =========================================
   記事詳細 (ar-single) 専用スタイル
   ========================================= */

.ar-single {
  background: #fff;
  border: 1px solid rgba(156,125,83,.08);
  border-radius: 2px;
  padding: clamp(1.5rem, 4vw, 3rem);
  box-shadow: 0 2px 12px rgba(0,0,0,.03);
}

.ar-single__meta {
  display: flex;
  gap: 1.2rem;
  font-size: 0.75rem;
  color: var(--prc-text-lt);
  margin-bottom: 1rem;
  align-items: center;
}
.ar-single__meta i {
  color: var(--prc-gold-lt);
}
.ar-single__meta a {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s;
}
.ar-single__meta a:hover {
  color: var(--prc-gold);
}

.ar-single__title {
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  font-weight: 500;
  color: var(--prc-text);
  line-height: 1.4;
  margin: 0 0 2rem;
  letter-spacing: 0.03em;
  border-bottom: 1px solid var(--prc-line);
  padding-bottom: 1.5rem;
}

/* 記事本文内のスタイル調整 (Gutenberg/Classic) */
.ar-single__content {
  font-size: clamp(.9rem, 1.3vw, .98rem);
  line-height: 2;
  color: var(--prc-text-md);
  font-weight: 300;
}

.ar-single__content p {
  margin-bottom: 1.8rem;
}

.ar-single__content h2,
.ar-single__content h3,
.ar-single__content h4 {
  color: var(--prc-text);
  font-weight: 500;
  margin: 2.5rem 0 1.2rem;
  letter-spacing: 0.03em;
}

.ar-single__content h2 {
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  border-left: 2px solid var(--prc-gold);
  padding-left: 1rem;
}

.ar-single__content h3 {
  font-size: clamp(1.15rem, 1.8vw, 1.3rem);
  border-bottom: 1px solid var(--prc-line);
  padding-bottom: 0.5rem;
}

.ar-single__content img {
  max-width: 100%;
  height: auto;
  border-radius: 2px;
  margin: 1.5rem 0;
  box-shadow: 0 4px 15px rgba(0,0,0,.05);
}

/* 書いた人 (アバター) */
.ar-single__footer {
  margin-top: 4rem;
  padding-top: 2rem;
  border-top: 1px solid var(--prc-line);
}

.ar-author {
  display: inline-flex;
  align-items: center;
  gap: 1.2rem;
  background: var(--prc-ivory);
  padding: 1rem 1.8rem;
  border-radius: 2px;
  border: 1px dashed var(--prc-line);
}

.ar-author img {
  border-radius: 50%;
  background: var(--prc-cream);
}

.ar-author__txt {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.ar-author__label {
  font-size: 0.68rem;
  color: var(--prc-text-lt);
  font-family: var(--prc-ff-serif);
  letter-spacing: 0.05em;
}

.ar-author__name {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--prc-text);
}

/* 前後ナビ */
.ar-post-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 3.5rem;
  gap: 1rem;
}

.ar-post-nav__prev,
.ar-post-nav__next,
.ar-post-nav__archive {
  flex: 1;
  display: flex;
}

.ar-post-nav__prev {
  justify-content: flex-start;
}
.ar-post-nav__next {
  justify-content: flex-end;
}
.ar-post-nav__archive {
  justify-content: center;
}

.ar-post-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-size: 0.85rem;
  color: var(--prc-text-md);
  text-decoration: none;
  transition: all 0.3s;
  border: 1px solid var(--prc-line);
  padding: 0.7rem 1.5rem;
  border-radius: 2px;
  min-width: 140px;
  text-align: center;
}

.ar-post-nav__archive a {
  background: var(--prc-gold);
  border-color: var(--prc-gold);
  color: #fff;
}
.ar-post-nav__archive a:hover {
  background: transparent;
  color: var(--prc-gold);
}

.ar-post-nav a:hover {
  border-color: var(--prc-gold);
  color: var(--prc-gold);
  background: var(--prc-gold-pale);
}

@media (max-width: 600px) {
  .ar-post-nav {
    flex-direction: column;
    gap: 1rem;
  }
  .ar-post-nav__prev,
  .ar-post-nav__next,
  .ar-post-nav__archive {
    width: 100%;
  }
  .ar-post-nav a {
    width: 100%;
    justify-content: center;
  }
}

/* =========================================
   既存テーマ(top.cssなど)からの強制的な干渉リセット
   ========================================= */
.wp-page-wrapper.price-page {
  /* top.cssで.spa_pageに対して設定されている display: none を通常表示時は打ち消す */
  display: block !important; 
}

/* top.css内の「.content_img img」や「.content_title」の古いスタイルを無効化 */
.wp-page-wrapper .ar-card__img-wrap img {
  border-radius: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: none !important;
  background-color: transparent !important;
}

.wp-page-wrapper .ar-card__body p {
  width: auto !important;
}

.wp-page-wrapper .ar-card__title {
  border: none !important;
  background: transparent !important;
  -webkit-text-fill-color: initial !important;
}

.wp-page-wrapper .ar-card__title:before {
  content: none !important;
}

/* アバター画像が丸くならない、または絶対配置されてしまう問題の上書き */
.wp-page-wrapper .ar-author img {
  border-radius: 50% !important;
  width: 60px !important;
  height: 60px !important;
  border: none !important;
  background-color: transparent !important;
}

/* 既存テーマのサイドバー要素の背景色(ピンクやオレンジ)を上書き */
.wp-page-wrapper .ar-sidebar ul li,
.wp-page-wrapper .ar-sidebar .widget,
.wp-page-wrapper .ar-sidebar div {
  background: transparent !important;
  border-radius: 0 !important;
  border: none !important;
}

.wp-page-wrapper .ar-sidebar ul li {
  border-bottom: 1px dashed var(--prc-line) !important;
}

.wp-page-wrapper .ar-sidebar .widgettitle {
  border-bottom: 1px solid var(--prc-gold) !important;
  color: var(--prc-text) !important;
  padding-bottom: 0.5rem !important;
}

.wp-page-wrapper .ar-sidebar .widgettitle:before,
.wp-page-wrapper .ar-sidebar .widgettitle:after {
  content: none !important;
}

/* 記事ページの詳細タイトル周りの古いアイコンや装飾の強制削除 */
.wp-page-wrapper .ar-single__title:before,
.wp-page-wrapper .ar-single__title:after {
  content: none !important;
}

/* =========================================
   TOPページ (top.php) 専用スタイル
   prefix: tp-
   ========================================= */

.tp-main {
  max-width: 1200px;
  margin: 0 auto;
  padding-top: clamp(3rem, 7vw, 5.5rem); /* ヒーローセクションとの間に十分な余白を設定 */
}

/* 共通プレミアムボタン */
.tp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.95rem 2.8rem;
  font-size: 0.9rem;
  letter-spacing: 0.1em;
  text-decoration: none;
  transition: all 0.3s var(--prc-ease);
  border-radius: 2px;
  background: var(--prc-gold);
  color: #fff;
  border: 1px solid var(--prc-gold);
  min-width: 220px;
  text-align: center;
  font-weight: 400;
}
.tp-btn:hover {
  background: transparent;
  color: var(--prc-gold);
}

.tp-btn--outline {
  background: transparent;
  color: var(--prc-text);
  border-color: var(--prc-line);
}
.tp-btn--outline:hover {
  background: var(--prc-gold-pale);
  border-color: var(--prc-gold);
  color: var(--prc-gold);
}

/* キャンペーンバナーエリア */
.tp-banners {
  border-bottom: 1px solid var(--prc-line);
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  padding-bottom: clamp(3rem, 6vw, 5rem);
}

/* メイン重要キャンペーン (大きな2列または1列) */
.tp-banners__hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
}

/* サブ常設バナー (小ぶりな3列) */
.tp-banners__grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2rem;
}

.tp-banners__item {
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(0,0,0,.04);
  transition: transform 0.4s var(--prc-ease), box-shadow 0.4s var(--prc-ease);
  background: var(--prc-cream);
  position: relative;
}

/* メインキャンペーンの比率と見栄え (アスペクト比を保ちつつ大きくアピール) */
.tp-banners__item--hero {
  aspect-ratio: 16 / 9;
  box-shadow: 0 12px 35px rgba(0,0,0,.08);
}

.tp-banners__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.tp-banners__item:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 35px rgba(156,125,83,.14);
}

@media (max-width: 960px) {
  .tp-banners__hero {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .tp-banners__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 600px) {
  .tp-banners__grid {
    grid-template-columns: 1fr;
  }
}

/* お知らせ (info.php) ラッパー */
.tp-news__wrap {
  background: var(--prc-ivory);
  border: 1px solid var(--prc-line);
  padding: 1.5rem;
  border-radius: 2px;
}
.tp-news__wrap .info_section {
  width: 100%;
}
.tp-news__wrap .info_frame {
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
/* info.phpの旧見出し「お知らせ」を非表示にする（親側で prc-section-head を用意しているため） */
.tp-news__wrap .info_panel {
  display: none;
}
/* info.phpのループアイテム */
.tp-news__wrap .info_content {
  border: none !important;
  border-bottom: 1px dashed var(--prc-line) !important;
  padding: 0.8rem 0;
  margin: 0;
}
.tp-news__wrap .info_content:first-of-type {
  padding-top: 0;
}
.tp-news__wrap .info_content:last-child {
  border-bottom: none !important;
  padding-bottom: 0;
}
.tp-news__wrap .info_link {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1.5rem;
  padding: 0.4rem 0.6rem;
  text-decoration: none;
  transition: background 0.3s;
  border-radius: 1px;
}
.tp-news__wrap .info_link:hover {
  background: var(--prc-gold-pale);
  opacity: 1 !important;
}
/* お知らせ一覧の画像（非表示） */
.tp-news__wrap .info_link img {
  display: none !important;
}
.tp-news__wrap .info_title {
  margin: 0 !important;
  font-size: 0.92rem !important;
  font-weight: 300 !important;
  color: var(--prc-text-md) !important;
  display: flex;
  align-items: baseline;
  gap: 1rem;
  height: auto !important;
  -webkit-line-clamp: 1 !important;
}
.tp-news__wrap .info_title time {
  font-family: var(--prc-ff-serif);
  font-size: 0.78rem;
  color: var(--prc-gold);
  flex-shrink: 0;
}

/* キャッチコピーセクション */
.tp-catch {
  background: var(--prc-ivory);
  padding: clamp(4rem, 8vw, 6rem) 2rem !important;
  text-align: center;
  border-radius: 2px;
  position: relative;
  overflow: hidden;
  border: 1px solid var(--prc-line);
}
.tp-catch::before {
  content: 'RELAXATION';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: var(--prc-ff-serif);
  font-size: clamp(3rem, 10vw, 7rem);
  color: rgba(156,125,83,0.035);
  letter-spacing: 0.2em;
  white-space: nowrap;
  pointer-events: none;
}
.tp-catch__eyebrow {
  display: inline-block;
  font-family: var(--prc-ff-serif);
  font-size: 0.75rem;
  letter-spacing: 0.2em;
  color: var(--prc-gold);
  margin-bottom: 1.5rem;
}
.tp-catch__title {
  font-size: clamp(1.4rem, 3.2vw, 2.1rem);
  font-weight: 300;
  line-height: 1.5;
  color: var(--prc-text);
  margin: 0 0 1.5rem;
  letter-spacing: 0.08em;
}
.tp-catch__desc {
  font-size: 0.9rem;
  line-height: 1.8;
  color: var(--prc-text-md);
  margin: 0 0 2rem;
  font-weight: 300;
}
.tp-catch__call {
  display: inline-block;
  border: 1px solid var(--prc-gold);
  padding: 0.4rem 1.8rem;
  font-size: 0.78rem;
  letter-spacing: 0.15em;
  color: var(--prc-gold);
  font-family: var(--prc-ff-sans);
}

/* メニュー導入 */
.tp-menu-intro__img {
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 6px 24px rgba(0,0,0,.06);
  margin-bottom: 2rem;
}
.tp-menu-intro__img img {
  width: 100%;
  height: auto;
  display: block;
}
.tp-menu-intro__btn {
  text-align: center;
}

/* お客様の声導入 */
.tp-voice-intro__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
}
.tp-voice-intro__text p {
  font-size: clamp(.88rem, 1.2vw, .95rem);
  line-height: 2;
  color: var(--prc-text-md);
  font-weight: 300;
  margin-bottom: 1.2rem;
}
.tp-voice-intro__note {
  font-size: 0.78rem;
  color: var(--prc-text-lt);
}
.tp-voice-intro__img {
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,.06);
}
.tp-voice-intro__img img {
  width: 100%;
  height: auto;
  display: block;
}

/* クーポン */
.tp-coupon__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
}
.tp-coupon__img {
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,.06);
}
.tp-coupon__img img {
  width: 100%;
  height: auto;
  display: block;
}
.tp-coupon__text p {
  font-size: clamp(.88rem, 1.2vw, .95rem);
  line-height: 2;
  color: var(--prc-text-md);
  font-weight: 300;
  margin-bottom: 1.2rem;
}
.tp-coupon__note {
  font-size: 0.78rem;
  color: var(--prc-text-lt);
  line-height: 1.6;
  display: block;
}

/* 感染症対策 */
.tp-safety__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
}
.tp-safety__img {
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,.06);
}
.tp-safety__img img {
  width: 100%;
  height: auto;
  display: block;
}
.tp-safety__text p {
  font-size: clamp(.88rem, 1.2vw, .95rem);
  line-height: 2;
  color: var(--prc-text-md);
  font-weight: 300;
  margin-bottom: 1.2rem;
}
.tp-safety__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.tp-safety__list li {
  font-size: 0.88rem;
  color: var(--prc-text-md);
  font-weight: 300;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.tp-safety__list li i {
  color: var(--prc-gold);
}

/* 店舗情報 ＆ アクセス */
.tp-about__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: start;
}
.tp-about__sub {
  font-size: 1.15rem;
  font-weight: 500;
  color: var(--prc-text);
  margin: 0 0 1rem;
}
.tp-about__addr {
  font-size: 0.9rem;
  line-height: 1.8;
  color: var(--prc-text-md);
  font-weight: 300;
  margin-bottom: 2rem;
}
.tp-about__meta {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  margin-bottom: 2rem;
}
.tp-about__meta > div {
  display: grid;
  grid-template-columns: 7rem 1fr;
  border-bottom: 1px solid var(--prc-line);
  padding-bottom: 0.8rem;
}
.tp-about__meta dt {
  font-size: 0.78rem;
  color: var(--prc-gold);
  letter-spacing: 0.05em;
  font-weight: 500;
}
.tp-about__meta dd {
  font-size: 0.9rem;
  color: var(--prc-text-md);
  font-weight: 300;
  margin: 0;
}
.tp-about__visual {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.tp-about__map {
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,.06);
}
.tp-about__map img {
  width: 100%;
  height: auto;
  display: block;
}
.tp-about__bed {
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,.06);
  background: var(--prc-ivory);
}
.tp-about__bed img {
  width: 100%;
  height: auto;
  display: block;
}
.tp-about__bed span {
  display: block;
  font-size: 0.75rem;
  color: var(--prc-text-lt);
  padding: 0.6rem 1rem;
  text-align: center;
  border-top: 1px solid var(--prc-line);
}

/* 求人バナー */
.tp-recruit-banner__inner {
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,.06);
}
.tp-recruit-banner__inner img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.6s var(--prc-ease);
}
.tp-recruit-banner__inner:hover img {
  transform: scale(1.02);
}

/* 最新の記事 */
.tp-posts__card-wrap .card_frame {
  max-width: 100% !important;
}

/* =========================================
   TOP用レスポンシブ
   ========================================= */
@media (max-width: 768px) {
  .tp-voice-intro__grid,
  .tp-coupon__grid,
  .tp-safety__grid,
  .tp-about__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

/* =========================================
   Lightbox画像不要スタイル (閉じるボタン・矢印描画)
   ========================================= */

/* 閉じるボタンの「×」マークをCSSで描画 */
.lb-data .lb-close {
  background: none !important; /* 画像の読み込みエラーを無効化 */
  position: relative;
  width: 32px !important;
  height: 32px !important;
  opacity: 0.85 !important;
  transition: transform 0.3s var(--prc-ease) !important;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.4);
}

.lb-data .lb-close:hover {
  transform: rotate(90deg);
  opacity: 1 !important;
  border-color: #fff;
}

/* 二本線で「×」を描く */
.lb-data .lb-close::before,
.lb-data .lb-close::after {
  content: '' !important;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 2px;
  background-color: #fff; /* 白色の×マーク */
  margin-top: -1px;
  margin-left: -8px;
}

.lb-data .lb-close::before {
  transform: rotate(45deg);
}

.lb-data .lb-close::after {
  transform: rotate(-45deg);
}

/* 戻る・進む矢印もCSSアローに上書き */
.lb-nav a.lb-prev {
  background: none !important;
}
.lb-nav a.lb-prev::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 20px;
  width: 14px;
  height: 14px;
  border-left: 2.5px solid #fff;
  border-bottom: 2.5px solid #fff;
  transform: translateY(-50%) rotate(45deg);
  opacity: 0.65;
  transition: opacity 0.3s;
}
.lb-nav a.lb-prev:hover::before {
  opacity: 1;
}

.lb-nav a.lb-next {
  background: none !important;
}
.lb-nav a.lb-next::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  width: 14px;
  height: 14px;
  border-right: 2.5px solid #fff;
  border-top: 2.5px solid #fff;
  transform: translateY(-50%) rotate(45deg);
  opacity: 0.65;
  transition: opacity 0.3s;
}
.lb-nav a.lb-next:hover::before {
  opacity: 1;
}

/* ポップアップを画面最前面に持ってくる (z-index補強) */
.lightboxOverlay {
  z-index: 120000 !important;
}
.lightbox {
  z-index: 120001 !important;
}

/* 余計な枠線を和モダン調に合わせる */
.lightbox .lb-image {
  border: 6px solid #fff !important;
  border-radius: 2px !important;
}
.lb-outerContainer {
  border-radius: 2px !important;
}
.lb-dataContainer {
  padding-top: 12px !important;
}

/* =========================================
   全ページ対応 スマートフォン用最終調整
   ========================================= */
@media (max-width: 768px) {
  /* 全体のメイン余白を狭めて画面幅を有効活用 */
  .prc-main {
    padding-left: 1.2rem !important;
    padding-right: 1.2rem !important;
  }
  
  .prc-content {
    gap: 3.5rem !important; /* 各セクション間の縦余白をスマホ用に圧縮 */
  }

  /* ヒーローセクションの文字はみ出し防止 */
  .prc-hero {
    padding: 6.5rem 1.2rem 3rem !important;
  }
  .prc-hero__title {
    font-size: 2.1rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.8rem !important;
  }
  .prc-hero__desc {
    font-size: 0.8rem !important;
    margin-bottom: 1.5rem !important;
  }
  
  /* 価格表画像はスマホ時は非表示 */
  .prc-pricelist__img {
    display: none !important;
  }
  .prc-pricelist__groups {
    margin-top: 1.5rem !important;
  }

  /* 料金テーブルグループ (price.php) */
  .prc-pl-group__grid--3col,
  .prc-pl-group__grid--2col {
    grid-template-columns: 1fr !important;
    gap: 1.2rem !important;
  }
  .prc-pl-group {
    gap: 1.2rem !important;
  }
  .prc-pl-group__title {
    font-size: 1rem !important;
  }

  /* コース詳細 (price.php) */
  .prc-course__grid {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }
  .prc-course__img-main {
    aspect-ratio: 4 / 5 !important;
    order: -1 !important; /* 画像を常にテキストの上に配置 */
  }
  .prc-course__text {
    padding: 0 !important;
    border: none !important; /* 縦並び時は横の境界線を排除 */
  }
  .prc-course__text::before {
    display: none !important;
  }
  
  /* お客様の声 (price.php) */
  .prc-voices {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }
  .prc-voice {
    padding: 1.2rem !important;
  }
  
  /* ご利用方法 (Join.php) タイムライン */
  .jn-steps {
    gap: 0 !important;
  }
  .jn-step {
    gap: 1rem !important;
  }
  .jn-step__circle {
    width: 40px !important;
    height: 40px !important;
  }
  .jn-step__circle span {
    font-size: 0.95rem !important;
  }
  .jn-step__marker {
    width: 40px !important;
  }
  .jn-step__body {
    padding-bottom: 1.8rem !important;
  }
  .jn-step__title {
    font-size: 1.15rem !important;
    margin-bottom: 0.6rem !important;
  }
  .jn-step__content {
    font-size: 0.85rem !important;
    line-height: 1.8 !important;
  }
  .jn-book-actions {
    flex-direction: column !important;
    gap: 0.8rem !important;
    margin-top: 1rem !important;
  }
  .jn-btn {
    width: 100% !important;
    min-width: unset !important;
  }

  /* 物件募集 (seek.php) */
  .sk-property__grid, 
  .sk-property__grid--rev {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }
  .sk-property__row {
    grid-template-columns: 1fr !important; /* テーブルもスマホでは縦積みに崩れ防止 */
    gap: 0.2rem !important;
    padding: 0.8rem 0 !important;
  }
  .sk-property__row dt {
    padding-right: 0 !important;
  }

  /* 求人募集 (recruit_page_01.php) */
  .rc-intro__grid {
    grid-template-columns: 1fr !important;
  }
  .rc-recommend {
    padding: 1.2rem !important;
  }
  .rc-recommend__list {
    grid-template-columns: 1fr !important;
    gap: 0.6rem !important;
  }
  .rc-details__row {
    grid-template-columns: 1fr !important;
    gap: 0.3rem !important;
    padding: 0.8rem 0 !important;
  }
  
  /* 記事一覧 (wp.php) */
  .ar-grid {
    grid-template-columns: 1fr !important;
    gap: 1.8rem !important;
  }
  .ar-card__body {
    padding: 1.2rem !important;
  }
  .ar-card__title {
    font-size: 1rem !important;
    height: auto !important;
    -webkit-line-clamp: 2 !important;
  }
  .ar-pagination {
    margin-top: 2.5rem !important;
    gap: 0.3rem !important;
  }
  .ar-pagination a,
  .ar-pagination span {
    width: 34px !important;
    height: 34px !important;
    font-size: 0.8rem !important;
  }

  /* ライトボックス (ポップアップ) のスマホ最適化 */
  .lightbox .lb-image {
    max-width: 100% !important;
    height: auto !important;
    box-sizing: border-box !important;
    border: 4px solid #fff !important;
  }
  .lb-outerContainer {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
  }
}




