/*
Theme Name: tcd086 Child
Template: tcd086
Version: 1.0.0
*/



.rs-line-benefits{
  padding: 50px 18px;
  background: #f7f7f2;
}
.rs-line-benefits__inner{
  width: min(1100px, 100%);
  margin: 0 auto;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 18px;
  padding: 22px;
}
.rs-line-benefits__inner h2{
  margin: 0 0 10px;
  font-size: 22px;
}
.rs-line-benefits__inner ul{
  margin: 0 0 14px;
  padding-left: 18px;
  line-height: 2.0;
}
.rs-line-benefits__btn{
  display: inline-block;
  padding: 12px 18px;
  border-radius: 999px;
  background: #0f8f4f;
  color: #fff;
  font-weight: 800;
}
.rs-line-benefits__note{
  margin: 10px 0 0;
  font-size: 12px;
  opacity: 0.75;
}

.rs-tax-hero{
  padding: 48px 18px;
  background: #f7f7f2;
}
.rs-tax-hero__inner{
  width: min(1100px, 100%);
  margin: 0 auto;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 18px;
  padding: 22px;
}
.rs-tax-hero__title{
  margin: 0 0 8px;
  font-size: 26px;
  line-height: 1.3;
}
.rs-tax-hero__lead{
  margin: 0 0 12px;
  opacity: 0.8;
  line-height: 1.9;
}
.rs-tax-hero__desc{
  margin: 0 0 12px;
  line-height: 1.9;
}
.rs-tax-hero__cta{
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  align-items: center;
}
.rs-tax-hero__links{
  font-size: 14px;
  opacity: 0.75;
}
.rs-tax-hero__links a{
  margin-right: 12px;
}
.rs-btn{
  display: inline-block;
  padding: 12px 18px;
  border-radius: 999px;
  background: #0f8f4f;
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}

.rs-store-grid{
  padding: 60px 18px;
  background: #fff;
}
.rs-store-grid__inner{
  width: min(1100px, 100%);
  margin: 0 auto;
}
.rs-store-grid__title{
  margin: 0 0 10px;
  font-size: 24px;
}
.rs-store-grid__lead{
  margin: 0 0 18px;
  opacity: 0.75;
  line-height: 1.9;
}
.rs-store-grid__cards{
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 980px){
  .rs-store-grid__cards{ grid-template-columns: repeat(2, 1fr); }
}
.rs-store-card{
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  text-decoration: none;
  color: inherit;
}
.rs-store-card img{
  width: 100%;
  height: 160px;
  object-fit: cover;
  display: block;
}
.rs-store-card__body{
  padding: 12px 12px 14px;
}
.rs-store-card__name{
  margin: 0 0 6px;
  font-weight: 800;
}
.rs-store-card__meta{
  margin: 0;
  font-size: 13px;
  opacity: 0.75;
}
.rs-store-grid__cta{
  margin-top: 18px;
}

/* ===== LINE Benefit (Luxury) ===== */
.lb-luxe{
  background: radial-gradient(1200px 600px at 50% 0%, #fbfaf8 0%, #f4f2ee 55%, #f1efeb 100%);
  padding: 88px 20px;
}

.lb-luxe__inner{
  max-width: 1040px;
  margin: 0 auto;
}

.lb-luxe__head{
  text-align: center;
  margin-bottom: 42px;
}

.lb-luxe__eyebrow{
  display: inline-block;
  letter-spacing: .22em;
  font-size: 11px;
  color: #7a756c;
  margin-bottom: 12px;
  position: relative;
  padding: 0 18px;
}

.lb-luxe__eyebrow:before,
.lb-luxe__eyebrow:after{
  content:"";
  position:absolute;
  top: 50%;
  width: 26px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #c9b37e, transparent);
}

.lb-luxe__eyebrow:before{ left:-18px; }
.lb-luxe__eyebrow:after{ right:-18px; }

.lb-luxe__title{
  font-size: 30px;
  font-weight: 600;
  color:#1f1c17;
  margin: 0 0 14px;
  line-height: 1.35;
}

.lb-luxe__lead{
  font-size: 15px;
  color:#5f5a52;
  line-height: 1.9;
  margin: 0;
}

.lb-luxe__compare{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  align-items: stretch;
  margin-top: 34px;
}

/* card */
.lb-luxe__card{
  background: rgba(255,255,255,0.9);
  border: 1px solid rgba(20,18,14,0.08);
  border-radius: 18px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.06);
  overflow: hidden;
  position: relative;
}

.lb-luxe__card:before{
  content:"";
  position:absolute;
  left: 18px;
  right: 18px;
  top: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #c9b37e, transparent);
  opacity: .85;
}

/* カード一行目（ヘッダー） */
.lb-luxe__cardHead{
  padding: 28px 22px 24px;
  text-align: center;
  border-bottom: 1px solid rgba(20,18,14,0.08);
}

/* ポータル側 背景 */
.lb-luxe__card:not(.lb-luxe__card--line) .lb-luxe__cardHead{
  background: linear-gradient(180deg, #faf8f4 0%, #f4f1ea 100%);
}

/* LINE側 背景（ほんのりゴールド） */
.lb-luxe__card--line .lb-luxe__cardHead{
  background: linear-gradient(180deg, #fbf7ee 0%, #f6f0df 100%);
}

/* バッジ（ポータル予約 / 公式LINE予約）を中央寄せ＆大型化 */
.lb-luxe__badge{
  display: inline-block;
  font-size: 16px;          /* ←大きく */
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 10px 18px;
  border-radius: 999px;
  border: none;
  background: transparent;
}

/* LINE側は少し強調 */
.lb-luxe__badge--line{
  color: #1f1c17;
}

/* サブテキストも中央 */
.lb-luxe__cardSub{
  margin-top: 10px;
  font-size: 13px;
  color:#6b655d;
}

.lb-luxe__badge{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  font-size: 12px;
  letter-spacing: .06em;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(20,18,14,0.12);
  color:#2a251f;
  background: #ffffff;
}

.lb-luxe__badge--portal{
  background: #faf9f7;
}

.lb-luxe__badge--line{
  border-color: rgba(201,179,126,0.55);
  background: linear-gradient(180deg, #fff 0%, #fbf7ee 100%);
}

.lb-luxe__cardSub{
  margin-top: 10px;
  font-size: 13px;
  color:#6b655d;
}

.lb-luxe__list{
  list-style:none;
  padding: 0 22px 22px;
  margin: 0;
}

.lb-luxe__row{
  display:flex;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 0;
  border-top: 1px solid rgba(20,18,14,0.07);
}

.lb-luxe__label{
  font-size: 13px;
  color:#6a645c;
}

.lb-luxe__value{
  font-size: 14px;
  color:#1f1c17;
  font-weight: 600;
  white-space: nowrap;
}

.lb-luxe__value--accent{
  color:#1f1c17;
  position: relative;
  padding-left: 12px;
}

.lb-luxe__value--accent:before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  transform: translateY(-50%);
  background: #c9b37e; /* gold */
}

/* subtle highlight for LINE card */
.lb-luxe__card--line{
  background: linear-gradient(180deg, rgba(255,255,255,0.96) 0%, rgba(255,252,245,0.92) 100%);
  border-color: rgba(201,179,126,0.35);
}

.lb-luxe__cta{
  text-align:center;
  margin-top: 36px;
}

.lb-luxe__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 280px;
  padding: 16px 36px;
  border-radius: 999px;
  text-decoration:none;
  font-size: 15px;
  font-weight: 600;
  color:#fff;
  background: linear-gradient(180deg, #22c55e 0%, #16a34a 100%);
  box-shadow: 0 16px 28px rgba(22,163,74,0.22);
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}

.lb-luxe__btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(22,163,74,0.26);
  filter: brightness(0.98);
}

.lb-luxe__note{
  margin-top: 12px;
  font-size: 12px;
  color:#777168;
}

/* responsive */
@media (max-width: 860px){
  .lb-luxe{ padding: 64px 16px; }
  .lb-luxe__compare{ grid-template-columns: 1fr; }
  .lb-luxe__title{ font-size: 26px; }
  .lb-luxe__btn{ min-width: 240px; width: 100%; max-width: 420px; }
}
/* ===== LINE予約特典（比較）上品寄り：追加/上書きCSS ===== */

/* セクション背景を白に */
.lb-luxe{
  background:#fff !important;
  border:none;
}

/* 「一般的な予約導線」「最短・最安・スムーズ」を非表示
   ※ class が違う可能性があるので、該当の見出し/文言を含む要素をまとめて消す */
.lb-luxe .lb-luxe__eyebrow,
.lb-luxe .lb-luxe__kicker,
.lb-luxe .lb-luxe__lead{
  display:none !important;
}
/* もし上記で消えない場合：テキストを入れている要素（例：p/ small など）に
   クラスが付いていない可能性があるので、HTML側でその行を削除するのが確実です */

/* カード一行目（ヘッダー） */
.lb-luxe__cardHead{
  padding: 28px 22px 24px;
  text-align: center;
  border-bottom: 1px solid rgba(20,18,14,0.08);
  position: relative;
}

/* ヘッダーに「細いゴールドライン」を入れてホテル風 */
.lb-luxe__cardHead::after{
  content:"";
  position:absolute;
  left:22px;
  right:22px;
  bottom:0;
  height:1px;
  background: linear-gradient(90deg,
    rgba(182,149,86,0.00),
    rgba(182,149,86,0.55),
    rgba(182,149,86,0.00)
  );
}

/* ポータル側 背景 */
.lb-luxe__card:not(.lb-luxe__card--line) .lb-luxe__cardHead{
  background: linear-gradient(180deg, #ffffff 0%, #fbfaf7 100%);
}

/* LINE側 背景（ほんのりゴールド） */
.lb-luxe__card--line .lb-luxe__cardHead{
  background: linear-gradient(180deg, #fffdf7 0%, #f8f2e4 100%);
}

/* バッジ（ポータル予約 / 公式LINE予約）を中央寄せ＆大型化
   + 円枠線（border）を完全に除外 */
.lb-luxe__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-size:16px;
  font-weight:700;
  letter-spacing:0.08em;
  padding:10px 0;
  border:none !important;        /* ←枠線除外 */
  outline:none !important;
  box-shadow:none !important;
  background:transparent !important;
  border-radius:0 !important;    /* ←丸要素も除外 */
}

/* 公式LINE予約の左に小さなLINEアイコン（上品に単色） */
.crown {
    position: relative;
    padding: 0px 0px 0px 2.5em;
    color: #3388dd;
}
.crown::before,
.crown::after {
    position: absolute;
    left: 0px;
    width: 0px;
    height: 0px;
    content: "";
}
.crown::before {
    top: -1.25em;
    border: 1em solid transparent;
    border-bottom: 1.5em solid currentColor;
}
.crown::after {
    top: 0.25em;
    border: 0.5em solid transparent;
    border-left: 1em solid currentColor;
    border-right: 1em solid currentColor;
}

/* サブテキストも中央 */
.lb-luxe__cardSub{
  margin-top: 10px;
  font-size: 13px;
  color:#6b655d;
  text-align:center;
}

/* CTAボタン：文字を上下中央に */
.lb-luxe__cta .button,
.lb-luxe__cta a,
.lb-luxe a.button{
  display:inline-flex !important;
  align-items:center !important;     /* ←上下中央 */
  justify-content:center !important; /* ←左右中央 */
  line-height:1 !important;          /* ←ズレ防止 */
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

/* もし span でズレている場合の保険 */
.lb-luxe__cta .button span,
.lb-luxe__cta a span,
.lb-luxe a.button span{
  display:inline-block;
  line-height:1;
  transform: translateY(0);
}

/* ===== 王冠アイコン（公式LINE予約用） ===== */

.crown-badge{
  position: relative;
  padding-left: 40px; /* 王冠分の余白 */
}

/* 王冠本体 */
.crown-badge::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-60%); /* ← -50% → -60% に変更 */
  width:26px;
  height:20px;
  background: linear-gradient(180deg,#e6d28f 0%, #c4a85a 55%, #a88b43 100%);
  clip-path: polygon(
    0% 100%,
    14% 38%,
    34% 72%,
    50% 30%,
    66% 72%,
    86% 38%,
    100% 100%
  );
  filter: drop-shadow(0 3px 4px rgba(0,0,0,0.18));
}

/* 王冠の土台ライン */
.crown-badge::after{
  content:"";
  position:absolute;
  left:0;
  top:calc(50% + 6px);
  transform:translateY(-50%);
  width:18px;
  height:3px;
  background: linear-gradient(90deg,#d9c27a,#b79b52);
  border-radius:2px;
}

/* ===== 公式LINE予約カード 強調（赤） ===== */

.lb-luxe__card--line{
  border: 4px solid #c00000 !important; /* 太い赤枠 */
  box-shadow: 0 10px 25px rgba(192,0,0,0.15);
}

/* カード内の文字を赤に */
.lb-luxe__card--line .lb-luxe__badge,
.lb-luxe__card--line .lb-luxe__label,
.lb-luxe__card--line .lb-luxe__value{
  color: #c00000 !important;
}

/* 文字サイズを少し大きく */
.lb-luxe__card--line .lb-luxe__badge{
  font-size: 18px !important; /* 見出し大きく */
}

.lb-luxe__card--line .lb-luxe__label{
  font-size: 14px;
}

.lb-luxe__card--line .lb-luxe__value{
  font-size: 16px;
}

/* アクセントドットも赤に */
.lb-luxe__card--line .lb-luxe__value--accent::before{
  background: #c00000;
}

/* 公式LINEカードの丸い点を削除 */
.lb-luxe__card--line .lb-luxe__value--accent::before{
  display: none !important;
  content: none !important;
}

/* ===== タイトル 上品化（TCD086調） ===== */

.lb-luxe__titleWrap{
  text-align:center;
  margin-bottom:48px;
}

.lb-luxe__titleSub{
  font-size:11px;
  letter-spacing:.35em;
  color:#8a8378;
  margin-bottom:18px;
}

.lb-luxe__titleMain{
  font-size:32px;
  font-weight:500;
  letter-spacing:.08em;
  color:#1f1c17;
  line-height:1.5;
  display:inline-block;
  position:relative;
  padding-bottom:18px;
}

/* スマホ */
@media (max-width:860px){
  .lb-luxe__titleMain{
    font-size:26px;
  }
}

.lb-luxe__titleMain .rich_font_2{
  font-weight:300;
  letter-spacing:.12em;
}

/* ===== ポータルサイトAカードをグレー化 ===== */

/* カード全体 */
.lb-luxe__card:not(.lb-luxe__card--line){
  background: #f4f4f4 !important;
  border: 1px solid #d6d6d6 !important;
  box-shadow: 0 10px 25px rgba(0,0,0,0.04);
}

/* 上部のゴールドライン削除 */
.lb-luxe__card:not(.lb-luxe__card--line)::before{
  display: none !important;
}

/* ヘッダー部分 */
.lb-luxe__card:not(.lb-luxe__card--line) .lb-luxe__cardHead{
  background: linear-gradient(180deg, #f7f7f7 0%, #ececec 100%) !important;
}

/* 文字色をグレーに */
.lb-luxe__card:not(.lb-luxe__card--line) .lb-luxe__badge,
.lb-luxe__card:not(.lb-luxe__card--line) .lb-luxe__label,
.lb-luxe__card:not(.lb-luxe__card--line) .lb-luxe__value{
  color: #666666 !important;
}


/* =========================================================
 * Store Grid (TCD086-ish / Mincho)
 * ========================================================= */

.rs-store-grid{
  padding: 72px 20px;
  background:#fff;
}
.rs-store-grid__inner{ max-width:1100px; margin:0 auto; }

.rs-store-grid__head{ text-align:center; margin-bottom:34px; }

.rs-store-grid__title{
  margin:0 0 10px;
  font-size:30px;
  line-height:1.25;
  color:#1f1c17;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight:600;
  letter-spacing:.04em;
}
.rs-store-grid__lead{
  margin:0;
  font-size:14px;
  line-height:1.9;
  color:#6a645c;
}

.rs-store-grid__cards{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

/* card */
.rs-store-card{
  display:block;
  text-decoration:none;
  color:inherit;
  background:#fff;
  border:1px solid rgba(20,18,14,.10);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 14px 28px rgba(0,0,0,.06);
  transform:translateY(0);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  position:relative;
}

/* subtle gold top line: 常に同じ位置（カードの最上部） */
.rs-store-card::before{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  top:0;
  height:2px;
  background:linear-gradient(90deg, transparent, rgba(201,179,126,.85), transparent);
  opacity:.85;
}

/* media */
.rs-store-card__media{
  position:relative;
  aspect-ratio: 4 / 3;
  overflow:hidden;
  background:#f4f2ee;
}
.rs-store-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.03);
  transition:transform .35s ease, filter .35s ease;
}
.rs-store-card__mediaFallback{
  width:100%;
  height:100%;
  background:linear-gradient(180deg,#f4f2ee 0%, #efece6 100%);
}

/* NEW badge */
.rs-store-card__badge{
  position:absolute;
  top:12px;
  left:12px;
  font-size:11px;
  letter-spacing:.12em;
  padding:6px 10px;
  border-radius:999px;
  color:#1f1c17;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(201,179,126,.55);
  box-shadow:0 10px 18px rgba(0,0,0,.08);
  font-weight:700;
}

/* body */
.rs-store-card__body{
  padding:14px 14px 16px;
  position:relative;
  /* 「詳細→」を右下に固定するため高さを確保 */
  padding-bottom:44px;
}
.rs-store-card__name{
  margin:0 0 10px;
  font-size:16px;
  line-height:1.3;
  color:#1f1c17;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  letter-spacing:.03em;
  font-weight:600;
}

/* spec list */
.rs-store-card__spec{
  margin:0;
  display:grid;
  gap:8px;
}
.rs-store-card__specRow{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding-top:8px;
  border-top:1px solid rgba(20,18,14,.07);
}
.rs-store-card__specRow dt{
  font-size:12px;
  color:#6a645c;
  letter-spacing:.06em;
}
.rs-store-card__specRow dd{
  margin:0;
  font-size:13px;
  color:#1f1c17;
  font-weight:600;
  white-space:nowrap;
}

/* 右下「詳細→」 */
.rs-store-card__more{
  position:absolute;
  right:12px;
  bottom:12px;
  font-size:12px;
  color:rgba(31,28,23,.45);
  letter-spacing:.06em;
  display:inline-flex;
  align-items:center;
  gap:6px;
  transition:color .25s ease, transform .25s ease;
  text-align:right;
}
.rs-store-card__arrow{
  font-size:13px;
  transform:translateX(0);
  transition:transform .25s ease;
}

/* hover */
.rs-store-card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 40px rgba(0,0,0,.10);
  border-color:rgba(201,179,126,.40);
}
.rs-store-card:hover .rs-store-card__media img{
  transform:scale(0.98); /* ほんのり縮小 */
  filter:saturate(1.02);
}
.rs-store-card:hover .rs-store-card__more{
  color:rgba(31,28,23,.70);
  transform:translateY(-1px);
}
.rs-store-card:hover .rs-store-card__arrow{
  transform:translateX(2px);
}

/* CTA */
.rs-store-grid__cta{ margin-top:28px; text-align:center; }
.rs-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:260px;
  padding:14px 28px;
  border-radius:999px;
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  color:#fff;
  background:linear-gradient(180deg,#d9c27a 0%, #b79b52 100%);
  box-shadow:0 14px 26px rgba(22,163,74,.22);
  line-height:1;
}
.rs-btn:hover{ filter:brightness(.98); transform:translateY(-1px); }

/* responsive */
@media (max-width: 980px){
  .rs-store-grid__cards{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px){
  .rs-store-grid{ padding:56px 16px; }
  .rs-store-grid__title{ font-size:26px; }
  .rs-store-grid__cards{ grid-template-columns:1fr; }
  .rs-btn{ width:100%; max-width:420px; }
}

/* ===== Store Grid (TCD086-ish) ===== */
.rs-store-grid{
  padding: 72px 20px;
  background:#fff;
}
.rs-store-grid__inner{ max-width:1100px; margin:0 auto; }

.rs-store-grid__head{ text-align:center; margin-bottom:34px; }

.rs-store-grid__title{
  margin:0 0 10px;
  font-size:30px;
  line-height:1.25;
  color:#1f1c17;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight:600;
  letter-spacing:.04em;
}
.rs-store-grid__lead{
  margin:0;
  font-size:14px;
  line-height:1.9;
  color:#6a645c;
}

.rs-store-grid__cards{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

/* card */
.rs-store-card{
  display:block;
  text-decoration:none;
  color:inherit;
  background:#fff;
  border:1px solid rgba(20,18,14,.10);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 14px 28px rgba(0,0,0,.06);
  transform:translateY(0);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  position:relative;
}

/* subtle gold top line */
.rs-store-card::before{
  content:"";
  display:block;
  height:2px;
  background:linear-gradient(90deg, transparent, rgba(201,179,126,.85), transparent);
  opacity:.85;
}

.rs-store-card__media{
  position:relative;
  aspect-ratio: 4 / 3;
  overflow:hidden;
  background:#f4f2ee;
}
.rs-store-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.03);
  transition:transform .35s ease, filter .35s ease;
}

/* NEW badge */
.rs-store-card__badge{
  position:absolute;
  top:12px;
  left:12px;
  font-size:11px;
  letter-spacing:.12em;
  padding:6px 10px;
  border-radius:999px;
  color:#1f1c17;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(201,179,126,.55);
  box-shadow:0 10px 18px rgba(0,0,0,.08);
  font-weight:700;
}

/* body */
.rs-store-card__body{
  padding:14px 14px 16px;
  position:relative;
}
.rs-store-card__name{
  margin:0 0 10px;
  font-size:16px;
  line-height:1.3;
  color:#1f1c17;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  letter-spacing:.03em;
  font-weight:600;
	
}

/* spec list */
.rs-store-card__spec{
  margin:0;
  display:grid;
  gap:8px;
}
.rs-store-card__specRow{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding-top:8px;
  border-top:1px solid rgba(20,18,14,.07);
}
.rs-store-card__specRow dt{
  font-size:12px;
  color:#6a645c;
  letter-spacing:.06em;
}
.rs-store-card__specRow dd{
  margin:0;
  font-size:13px;
  color:#1f1c17;
  font-weight:600;
  white-space:nowrap;
}

/* 右下「詳細→」うっすら */
.rs-store-card__more{
  position:absolute;
  right:12px;
  bottom:12px;
  font-size:12px;
  color:rgba(31,28,23,.45);
  letter-spacing:.06em;
  display:inline-flex;
  align-items:center;
  gap:6px;
  transition:color .25s ease, transform .25s ease;
}
.rs-store-card__arrow{
  font-size:13px;
  transform:translateX(0);
  transition:transform .25s ease;
}

/* hover */
.rs-store-card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 40px rgba(0,0,0,.10);
  border-color:rgba(201,179,126,.40);
}
.rs-store-card:hover .rs-store-card__media img{
  transform:scale(0.98); /* ほんのり縮小 */
  filter:saturate(1.02);
}
.rs-store-card:hover .rs-store-card__more{
  color:rgba(31,28,23,.70);
  transform:translateY(-1px);
}
.rs-store-card:hover .rs-store-card__arrow{
  transform:translateX(2px);
}

/* CTA */
.rs-store-grid__cta{ margin-top:28px; text-align:center; }
.rs-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:260px;
  padding:14px 28px;
  border-radius:999px;
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  color:#fff;
  background:linear-gradient(180deg,#d9c27a 0%, #b79b52 100%);
  box-shadow:0 14px 26px rgba(22,163,74,.22);
  line-height:1;
}
.rs-btn:hover{ filter:brightness(.98); transform:translateY(-1px); }

/* responsive */
@media (max-width: 980px){
  .rs-store-grid__cards{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px){
  .rs-store-grid{ padding:56px 16px; }
  .rs-store-grid__title{ font-size:26px; }
  .rs-store-grid__cards{ grid-template-columns:1fr; }
  .rs-btn{ width:100%; max-width:420px; }
}

.rs-store-card__body .rs-store-card__name{
  margin: 0 0 10px !important;
}

.rs-store-card__link{
  display:flex !important;
  justify-content:flex-end !important;
  width:100% !important;
  margin-top:18px !important;
  padding-top:8px;
  border-top:1px solid rgba(20,18,14,.06);
}



/* ===== WHY v4: no horizontal scroll / no badges / bigger icons ===== */
.rs-why4{
  padding: 74px 20px;
  background:#fff;
}
.rs-why4__inner{
  max-width: 1100px;
  margin: 0 auto;
}

.rs-why4__head{
  text-align:center;
  margin-bottom: 30px;
}
.rs-why4__title{
  margin:0 0 10px;
  line-height:1.2;
  color:#1f1c17;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight:600;
  letter-spacing:.04em;
  font-size: 30px;
}
.rs-why4__titleEn{
  display:block;
  font-size:11px;
  letter-spacing:.26em;
  color:#7a756c;
  font-weight:600;
  margin-bottom: 8px;
}
.rs-why4__lead{
  margin:0;
  font-size:14px;
  line-height:1.9;
  color:#6a645c;
}

.rs-why4__grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 16px;
  align-items: stretch;
}

/* card */
.rs-why4Card{
  background:#fff;
  border:1px solid rgba(20,18,14,.10);
  border-radius: 18px;
  box-shadow: 0 14px 28px rgba(0,0,0,.06);
  padding: 18px 16px 16px;
  position:relative;
  overflow:hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.rs-why4Card:before{
  content:"";
  position:absolute;
  left: 16px;
  right: 16px;
  top: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(201,179,126,.85), transparent);
  opacity: .85;
}

/* bigger icon */
.rs-why4Card__icon{
  width: 56px;               /* ←大きく */
  height: 56px;              /* ←大きく */
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(20,18,14,.10);
  background: linear-gradient(180deg,#fff 0%, #fbfaf7 100%);
  color:#1f1c17;
  margin-bottom: 12px;
}
.rs-why4Card__icon svg{
  width: 28px;               /* ←大きく */
  height: 28px;              /* ←大きく */
}

.rs-why4Card__ttl{
  margin:0 0 8px;
  font-size: 16px;
  line-height:1.35;
  color:#1f1c17;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight:600;
  letter-spacing:.03em;
}
.rs-why4Card__txt{
  margin:0 0 12px;
  font-size: 13px;
  line-height:1.85;
  color:#6a645c;
}


/* LINE card: subtle highlight (gold-ish) */
.rs-why4Card--line{
  border-color: rgba(201,179,126,.45);
  background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,252,245,.92) 100%);
}
.rs-why4Card--line .rs-why4Card__icon{
  border-color: rgba(201,179,126,.35);
  background: linear-gradient(180deg,#fffdf7 0%, #f8f2e4 100%);
}

@media (hover:hover){
  .rs-why4Card:hover{
    transform: translateY(-3px);
    box-shadow: 0 20px 40px rgba(0,0,0,.10);
    border-color: rgba(201,179,126,.38);
  }
}

/* CTA */
.rs-why4__cta{
  text-align:center;
  margin-top: 22px;
}
.rs-why4__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 280px;
  padding: 14px 32px;
  border-radius: 999px;
  text-decoration:none;
  font-size: 14px;
  font-weight: 600;
  color:#fff;
  background: linear-gradient(180deg, #22c55e 0%, #16a34a 100%);
  box-shadow: 0 14px 26px rgba(22,163,74,.22);
  line-height: 1;
}
.rs-why4__btn:hover{ transform: translateY(-1px); filter: brightness(.98); }
.rs-why4__note{
  margin-top: 10px;
  font-size: 12px;
  color:#777168;
}

/* responsive */
@media (max-width: 980px){
  .rs-why4__grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 560px){
  .rs-why4{ padding: 60px 16px; }
  .rs-why4__title{ font-size: 26px; }
  .rs-why4__grid{ grid-template-columns: 1fr; }
  .rs-why4__btn{ width:100%; max-width: 420px; }
}

/* ===== Flow Section 修正版 ===== */
.rs-flow{
  padding: 80px 20px;
  background:#fff;
}

.rs-flow__inner{
  max-width: 860px;   /* ←少し狭めてバランス改善 */
  margin: 0 auto;
}

/* header */
.rs-flow__head{
  text-align:center;
  margin-bottom: 60px;
}

.rs-flow__title{
  margin:0 0 14px;
  font-size:30px;
  line-height:1.3;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  color:#1f1c17;
  font-weight:600;
  letter-spacing:.04em;
}

.rs-flow__titleEn{
  display:block;
  font-size:11px;
  letter-spacing:.3em;
  color:#7a756c;
  margin-bottom:12px;
}

.rs-flow__lead{
  font-size:14px;
  color:#6a645c;
  line-height:1.9;
}

/* ===== 中央縦ライン方式 ===== */
.rs-flow__list{
  position:relative;
  padding-left: 60px;  /* ←左に余白確保 */
}

.rs-flow__list::before{
  content:"";
  position:absolute;
  left:28px;            /* ←番号中央に揃える */
  top:0;
  bottom:0;
  width:1px;
  background: linear-gradient(
    to bottom,
    rgba(201,179,126,.0),
    rgba(201,179,126,.6),
    rgba(201,179,126,.0)
  );
}

.rs-flow__item{
  position:relative;
  margin-bottom: 55px;
}

.rs-flow__num{
  position:absolute;
  left:0;
  top:0;
  width:56px;
  height:56px;
  border-radius:50%;
  border:1px solid rgba(201,179,126,.5);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  font-weight:600;
  letter-spacing:.1em;
  font-family:"Times New Roman",serif;
  background:#fff;
}

.rs-flow__content{
  margin-left: 80px;  /* ←テキスト位置を固定 */
}

.rs-flow__itemTitle{
  margin:0 0 10px;
  font-size:18px;
  font-family:"Times New Roman","游明朝","Yu Mincho",serif;
  color:#1f1c17;
  font-weight:600;
}

.rs-flow__text{
  margin:0;
  font-size:14px;
  line-height:1.9;
  color:#6a645c;
}

/* CTA */
.rs-flow__cta{
  text-align:center;
  margin-top:40px;
}

.rs-flow__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:280px;
  padding:14px 32px;
  border-radius:999px;
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  color:#fff;
  background:linear-gradient(180deg,#22c55e 0%, #16a34a 100%);
  box-shadow:0 14px 26px rgba(22,163,74,.22);
  line-height:1;
}

/* responsive */
@media (max-width:640px){
  .rs-flow__inner{ max-width:100%; }
  .rs-flow__list{ padding-left: 50px; }
  .rs-flow__content{ margin-left: 70px; }
}

/* ===== Voice (TCD086-ish / Mincho luxe) ===== */
.rs-voice{
  padding: 80px 20px;
  background:#fff;
}
.rs-voice__inner{
  max-width: 1100px;
  margin: 0 auto;
}
.rs-voice__head{
  text-align:center;
  margin-bottom: 34px;
}
.rs-voice__eyebrow{
  display:inline-block;
  font-size:11px;
  letter-spacing:.28em;
  color:#7a756c;
  margin-bottom: 12px;
  position:relative;
  padding: 0 18px;
}
.rs-voice__eyebrow:before,
.rs-voice__eyebrow:after{
  content:"";
  position:absolute;
  top:50%;
  width: 24px;
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(201,179,126,.75), transparent);
}
.rs-voice__eyebrow:before{ left:-18px; }
.rs-voice__eyebrow:after{ right:-18px; }

.rs-voice__title{
  margin: 0 0 12px;
  font-size: 30px;
  line-height: 1.3;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight: 600;
  letter-spacing: .04em;
  color:#1f1c17;
}
.rs-voice__lead{
  margin:0;
  font-size: 14px;
  line-height: 1.9;
  color:#6a645c;
}

/* grid */
.rs-voice__grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}

/* card */
.rs-voiceCard{
  background:#fff;
  border: 1px solid rgba(20,18,14,.10);
  border-radius: 16px;
  box-shadow: 0 14px 28px rgba(0,0,0,.06);
  overflow:hidden;
  position:relative;
  padding: 18px 18px 20px;
}

/* subtle gold top line */
.rs-voiceCard::before{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  top:0;
  height:2px;
  background: linear-gradient(90deg, transparent, rgba(201,179,126,.80), transparent);
  opacity:.9;
}

/* top */
.rs-voiceCard__top{
  display:flex;
  gap: 12px;
  align-items:center;
  margin-bottom: 12px;
}
.rs-voiceCard__avatar{
  width: 44px;
  height: 44px;
  border-radius: 999px;
  overflow:hidden;
  border: 1px solid rgba(201,179,126,.35);
  background:#faf8f4;
  flex: 0 0 auto;
}
.rs-voiceCard__avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.rs-voiceCard__user{
  margin:0 0 4px;
  font-size: 14px;
  font-weight: 700;
  color:#1f1c17;
  letter-spacing:.03em;
}
.rs-voiceCard__store{
  margin:0;
  font-size: 12px;
  color:#6a645c;
}

/* meta */
.rs-voiceCard__meta{
  margin: 12px 0 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(20,18,14,.08);
}
.rs-voiceCard__dl{
  margin:0;
}
.rs-voiceCard__row{
  display:flex;
  justify-content: space-between;
  gap: 10px;
}
.rs-voiceCard__row dt{
  font-size: 12px;
  color:#6a645c;
  letter-spacing: .06em;
}
.rs-voiceCard__row dd{
  margin:0;
  font-size: 13px;
  font-weight: 600;
  color:#1f1c17;
  white-space: nowrap;
}

/* text */
.rs-voiceCard__text{
  margin:0;
  font-size: 14px;
  line-height: 1.9;
  color:#5f5a52;
}

/* quote mark */
.rs-voiceCard__bottom{
  position:absolute;
  right: 14px;
  bottom: 10px;
  opacity: .12;
  pointer-events:none;
}
.rs-voiceCard__quote{
  font-size: 64px;
  line-height: 1;
  font-family:"Times New Roman",serif;
  color:#c9b37e;
}

/* CTA */
.rs-voice__cta{
  text-align:center;
  margin-top: 26px;
}
.rs-voice__more{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  text-decoration:none;
  font-size: 13px;
  letter-spacing:.06em;
  color:#1f1c17;
  position:relative;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(20,18,14,.10);
  background:#fff;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.rs-voice__arrow{
  transform: translateX(0);
  transition: transform .25s ease;
}
.rs-voice__more:hover{
  transform: translateY(-2px);
  border-color: rgba(201,179,126,.45);
  box-shadow: 0 14px 26px rgba(0,0,0,.06);
}
.rs-voice__more:hover .rs-voice__arrow{
  transform: translateX(2px);
}

/* responsive */
@media (max-width: 980px){
  .rs-voice__grid{ grid-template-columns: 1fr; }
}

/* =========================================================
  Header menu: LINE CTA button + vertical alignment (clean)
========================================================= */
#global_menu .js-line-cta > a,
#gmenu .js-line-cta > a,
.menu .js-line-cta > a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:36px;
  padding:0 16px;
  border-radius:999px;
  background: linear-gradient(180deg, var(--rs-gold) 0%, var(--rs-gold2) 100%);
  color:#fff !important;
  font-weight:700;
  line-height:1;
  box-shadow: 0 6px 16px rgba(183,155,82,.28);
  transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
  box-sizing:border-box;
}
#global_menu .js-line-cta > a:hover,
#gmenu .js-line-cta > a:hover,
.menu .js-line-cta > a:hover{
  transform: translateY(-1px);
  filter: brightness(.98);
  box-shadow: 0 8px 20px rgba(183,155,82,.35);
}

/* menu row vertical center (PC) */
@media (min-width:1024px){
  #global_menu ul.menu{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:24px;
  }
  #global_menu ul.menu > li{
    display:flex !important;
    align-items:center !important;
  }
  #global_menu ul.menu > li > a{
    display:inline-flex !important;
    align-items:center !important;
    line-height:1 !important;
  }
}

/* ================================
   Sticky CTA：ゴールド丸 + 「予約する」
   （吹き出しアイコンなし）
================================ */

/* ボタン本体：ゴールド一色 */
.rs-sticky-cta__btn{
  width: 90px !important;
  height: 90px !important;
  padding: 0 !important;
  margin: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  border: 2px solid rgba(201,179,126,.95) !important;
  background: #c9b37e !important;  /* ←ゴールド一色 */

  box-shadow: 0 14px 30px rgba(0,0,0,.12) !important;

  text-decoration: none !important;

  /* テキストを見せる */
  color: #fff !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif !important;

  position: relative !important;
  overflow: hidden !important;

  animation: rsStickyFloat 2.8s ease-in-out infinite;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

/* 吹き出しアイコンを消す */
.rs-sticky-cta__btn::before{
  display: none !important;
  content: none !important;
}

/* 擬似要素で出してた文字も消す（＝リンク本文を使う） */
.rs-sticky-cta__btn::after{
  display: none !important;
  content: none !important;
}

/* hover */
.rs-sticky-cta__btn:hover{
  transform: translateY(-4px) !important;
  filter: brightness(.98);
  box-shadow: 0 18px 38px rgba(0,0,0,.16) !important;
}

/* ふわっと上下 */
@keyframes rsStickyFloat{
  0%,100%{ transform: translateY(0); }
  50%{ transform: translateY(-7px); }
}

/* スマホ */
@media (max-width: 560px){
  .rs-sticky-cta__btn{
    width: 78px !important;
    height: 78px !important;
    font-size: 13px !important;
  }
}


/* =========================================
   ヘッダー「予約する」ボタンをゴールドに
========================================= */
@media (min-width: 1024px){

  #global_menu ul.menu > li.js-line-cta > a{
    background: linear-gradient(180deg, #d9c27a 0%, #b79b52 100%) !important;
    color: #fff !important;
    border: none !important;
    box-shadow: 0 6px 16px rgba(183,155,82,.28) !important;
  }

  #global_menu ul.menu > li.js-line-cta > a:hover{
    filter: brightness(.95);
    box-shadow: 0 8px 20px rgba(183,155,82,.35) !important;
  }

}


/* ===== FAQ 常時表示（TCD086寄せ）===== */
.rs-faq2{
  padding: 72px 20px;
  background:#fff;
}
.rs-faq2__inner{
  max-width: 1040px;
  margin: 0 auto;
}
.rs-faq2__head{
  text-align:center;
  margin-bottom: 32px;
}
.rs-faq2__title{
  margin:0 0 10px;
  font-size:30px;
  line-height:1.25;
  color:#1f1c17;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight:600;
  letter-spacing:.04em;
}
.rs-faq2__lead{
  margin:0;
  font-size:14px;
  line-height:1.9;
  color:#6a645c;
}

/* grid */
.rs-faq2__grid{
  display:grid;
  gap:18px;
}

/* item */
.rs-faq2__item{
  background:#fff;
  border:1px solid rgba(20,18,14,.10);
  border-radius:16px;
  padding:22px 24px;
  box-shadow:0 14px 28px rgba(0,0,0,.06);
  position:relative;
}

/* subtle gold top line */
.rs-faq2__item::before{
  content:"";
  position:absolute;
  left:24px;
  right:24px;
  top:0;
  height:2px;
  background:linear-gradient(90deg,transparent,rgba(201,179,126,.85),transparent);
}

/* Q */
.rs-faq2__q{
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin-bottom:10px;
}
.rs-faq2__qMark{
  flex:0 0 auto;
  width:28px;
  height:28px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  border:1px solid rgba(20,18,14,.12);
  background:#faf9f7;
}
.rs-faq2__qText{
  margin:0;
  font-size:15px;
  font-weight:600;
  color:#1f1c17;
  line-height:1.6;
}

/* A */
.rs-faq2__a{
  display:flex;
  gap:12px;
}
.rs-faq2__aMark{
  flex:0 0 auto;
  width:28px;
  height:28px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  border:1px solid rgba(201,179,126,.35);
  background:linear-gradient(180deg,#fffdf7 0%,#f8f2e4 100%);
}
.rs-faq2__aText{
  margin:0;
  font-size:14px;
  line-height:1.9;
  color:#5f5a52;
}
.rs-faq2__aText a{
  text-decoration:underline;
  text-decoration-color:rgba(201,179,126,.75);
  text-underline-offset:3px;
  color:#1f1c17;
}

/* footer */
.rs-faq2__foot{
  margin-top:28px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:14px;
}
.rs-faq2__more{
  font-size:13px;
  text-decoration:none;
  color:rgba(31,28,23,.70);
}
.rs-faq2__more:hover{ color:rgba(31,28,23,.95); }

.rs-faq2__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:260px;
  padding:14px 28px;
  border-radius:999px;
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  color:#fff;
  background:linear-gradient(180deg,#22c55e 0%,#16a34a 100%);
  box-shadow:0 14px 26px rgba(22,163,74,.22);
  line-height:1;
}
.rs-faq2__cta:hover{
  filter:brightness(.98);
  transform:translateY(-1px);
}

/* responsive */
@media(max-width:560px){
  .rs-faq2{ padding:56px 16px; }
  .rs-faq2__title{ font-size:26px; }
  .rs-faq2__foot{ justify-content:center; }
  .rs-faq2__cta{ width:100%; max-width:420px; }
}

/* =========================================
  固定ページ：初めての方へ（TCD086調 / 明朝）
========================================= */

.rs-first{
  background:#fff;
  padding: 72px 20px;
}
.rs-first__inner{
  max-width: 1100px;
  margin: 0 auto;
}

/* ---------- HERO ---------- */
.rs-firstHero{
  text-align:center;
  padding: 10px 0 48px;
}
.rs-firstHero__eyebrow{
  display:inline-block;
  font-size: 11px;
  letter-spacing: .28em;
  color:#7a756c;
  margin-bottom: 12px;
  position:relative;
  padding: 0 18px;
}
.rs-firstHero__eyebrow:before,
.rs-firstHero__eyebrow:after{
  content:"";
  position:absolute;
  top:50%;
  width: 24px;
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(201,179,126,.75), transparent);
}
.rs-firstHero__eyebrow:before{ left:-18px; }
.rs-firstHero__eyebrow:after{ right:-18px; }

.rs-firstHero__title{
  margin:0 0 12px;
  font-size: 34px;
  line-height:1.25;
  color:#1f1c17;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight:600;
  letter-spacing:.06em;
}
.rs-firstHero__lead{
  margin:0;
  font-size: 14px;
  line-height:1.9;
  color:#6a645c;
}
.rs-firstHero__cta{ margin-top: 24px; }

/* ---------- Common Head ---------- */
.rs-firstSec{
  padding: 56px 0;
  border-top: 1px solid rgba(20,18,14,.08);
}
.rs-firstSec__head{
  text-align:center;
  margin-bottom: 26px;
}
.rs-firstSec__en{
  margin:0 0 8px;
  font-size: 11px;
  letter-spacing:.32em;
  color:#8a8378;
  font-weight:600;
}
.rs-firstSec__title{
  margin:0;
  font-size: 26px;
  line-height:1.35;
  color:#1f1c17;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight:600;
  letter-spacing:.05em;
}

/* ---------- Button ---------- */
.rs-firstBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 280px;
  padding: 14px 34px;
  border-radius: 999px;
  text-decoration:none;
  font-size: 14px;
  font-weight: 700;
  color:#fff !important;
  background: linear-gradient(180deg, #22c55e 0%, #16a34a 100%);
  box-shadow: 0 14px 26px rgba(22,163,74,.22);
  line-height: 1;
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.rs-firstBtn:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(22,163,74,.26);
  filter: brightness(.98);
}
.rs-firstBtn--gold{
  background: linear-gradient(180deg, #d9c27a 0%, #b79b52 100%);
  box-shadow: 0 14px 26px rgba(183,155,82,.22);
}
.rs-firstBtn--gold:hover{
  box-shadow: 0 18px 34px rgba(183,155,82,.28);
}

/* ---------- Links ---------- */
.rs-firstLink{
  color:#1f1c17;
  text-decoration:none;
  border-bottom: 1px solid rgba(201,179,126,.65);
}
.rs-firstLink:hover{ opacity:.85; }

/* ---------- Worries ---------- */
.rs-firstWorry__grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.rs-firstWorryCard{
  background:#fff;
  border: 1px solid rgba(20,18,14,.10);
  border-radius: 16px;
  box-shadow: 0 14px 28px rgba(0,0,0,.06);
  padding: 18px 16px;
  position:relative;
}
.rs-firstWorryCard:before{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  top:0;
  height:2px;
  background: linear-gradient(90deg, transparent, rgba(201,179,126,.85), transparent);
}
.rs-firstWorryCard__icon{
  width: 44px;
  height: 44px;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(20,18,14,.10);
  background: linear-gradient(180deg,#fff 0%, #fbfaf7 100%);
  color:#1f1c17;
  font-weight:700;
  margin-bottom: 10px;
}
.rs-firstWorryCard__text{
  margin:0;
  font-size: 13px;
  line-height: 1.85;
  color:#5f5a52;
}

/* ---------- QA ---------- */
.rs-firstQa__list{ margin:0; padding:0; }
.rs-firstQa__item{
  background:#fff;
  border: 1px solid rgba(20,18,14,.10);
  border-radius: 16px;
  box-shadow: 0 14px 28px rgba(0,0,0,.06);
  padding: 18px 18px 16px;
  margin-bottom: 14px;
  position:relative;
  overflow:hidden;
}
.rs-firstQa__item:before{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  top:0;
  height:2px;
  background: linear-gradient(90deg, transparent, rgba(201,179,126,.80), transparent);
}
.rs-firstQa__q{
  margin:0 0 10px;
  font-size: 15px;
  font-weight: 700;
  color:#1f1c17;
}
.rs-firstQa__q:before{
  content:"Q.";
  margin-right: 10px;
  color:#b79b52;
  font-family:"Times New Roman",serif;
  letter-spacing:.06em;
}
.rs-firstQa__a{
  margin:0;
  font-size: 14px;
  line-height: 1.9;
  color:#6a645c;
}
.rs-firstQa__a:before{
  content:"A.";
  margin-right: 10px;
  color:#1f1c17;
  font-family:"Times New Roman",serif;
  letter-spacing:.06em;
}

/* ---------- FLOW ---------- */
.rs-firstFlow{
  list-style:none;
  margin:0;
  padding: 0;
  max-width: 860px;
  margin-inline: auto;
}
.rs-firstFlow__item{
  position:relative;
  display:flex;
  gap: 16px;
  padding: 18px 18px;
  border: 1px solid rgba(20,18,14,.10);
  border-radius: 16px;
  box-shadow: 0 14px 28px rgba(0,0,0,.06);
  background:#fff;
  margin-bottom: 14px;
}
.rs-firstFlow__num{
  width: 46px;
  height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(201,179,126,.45);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:"Times New Roman",serif;
  font-weight:700;
  color:#1f1c17;
  flex: 0 0 auto;
  background: linear-gradient(180deg,#fff 0%, #fbfaf7 100%);
}
.rs-firstFlow__ttl{
  margin:0 0 6px;
  font-size: 16px;
  font-weight: 700;
  color:#1f1c17;
}
.rs-firstFlow__txt{
  margin:0;
  font-size: 14px;
  line-height:1.9;
  color:#6a645c;
}

/* ---------- PACK ---------- */
.rs-firstPack__box{
  background:#fff;
  border: 1px solid rgba(20,18,14,.10);
  border-radius: 16px;
  box-shadow: 0 14px 28px rgba(0,0,0,.06);
  padding: 20px 20px;
  max-width: 860px;
  margin: 0 auto;
  position:relative;
}
.rs-firstPack__box:before{
  content:"";
  position:absolute;
  left:20px;
  right:20px;
  top:0;
  height:2px;
  background: linear-gradient(90deg, transparent, rgba(201,179,126,.80), transparent);
}
.rs-firstPack__lead{
  margin:0 0 12px;
  font-size: 14px;
  line-height: 1.9;
  color:#6a645c;
}
.rs-firstPack__list{
  margin:0;
  padding-left: 18px;
  line-height: 2.0;
  color:#1f1c17;
}
.rs-firstPack__links{ margin-top: 12px; }

/* ---------- TROUBLE ---------- */
.rs-firstTrouble__grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
}
.rs-firstTroubleCard{
  background:#fff;
  border: 1px solid rgba(20,18,14,.10);
  border-radius: 16px;
  box-shadow: 0 14px 28px rgba(0,0,0,.06);
  padding: 18px 16px 16px;
  position:relative;
}
.rs-firstTroubleCard:before{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  top:0;
  height:2px;
  background: linear-gradient(90deg, transparent, rgba(201,179,126,.80), transparent);
}
.rs-firstTroubleCard__ttl{
  margin:0 0 8px;
  font-size: 15px;
  font-weight: 700;
  color:#1f1c17;
}
.rs-firstTroubleCard__txt{
  margin:0;
  font-size: 13px;
  line-height: 1.9;
  color:#6a645c;
}
.rs-firstTrouble__note{
  margin-top: 14px;
  text-align:center;
  font-size: 13px;
  line-height: 1.9;
  color:#6a645c;
}
.rs-firstTrouble__sep{ margin: 0 8px; color:#b0aaa1; }

/* ---------- FOOT CTA ---------- */
.rs-firstFoot{
  padding: 62px 0 0;
  text-align:center;
}
.rs-firstFoot__box{
  max-width: 860px;
  margin: 0 auto;
  border: 1px solid rgba(20,18,14,.10);
  border-radius: 18px;
  padding: 26px 18px;
  box-shadow: 0 18px 40px rgba(0,0,0,.06);
  background: linear-gradient(180deg, #fff 0%, #fbfaf7 100%);
}
.rs-firstFoot__ttl{
  margin:0 0 8px;
  font-size: 18px;
  font-weight: 700;
  color:#1f1c17;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  letter-spacing:.04em;
}
.rs-firstFoot__txt{
  margin:0 0 16px;
  font-size: 14px;
  color:#6a645c;
  line-height: 1.9;
}

/* ---------- responsive ---------- */
@media (max-width: 980px){
  .rs-firstWorry__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rs-firstTrouble__grid{ grid-template-columns: 1fr; }
}
@media (max-width: 560px){
  .rs-first{ padding: 56px 16px; }
  .rs-firstHero__title{ font-size: 28px; }
  .rs-firstSec__title{ font-size: 22px; }
  .rs-firstBtn{ width: 100%; max-width: 420px; }
}

/* =========================================
  Worries：黄色い丸 + 下ライン（画像寄せ）
========================================= */
.rs-worryCircles{
  padding: 56px 0;
  border-top: 1px solid rgba(20,18,14,.08);
}

.rs-worryCircles__head{
  text-align:center;
  margin-bottom: 18px;
}

.rs-worryCircles__kicker{
  margin:0;
  font-size: 13px;
  letter-spacing: .08em;
  color:#6a645c;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
}

.rs-worryCircles__rail{
  max-width: 980px;
  margin: 0 auto;
  padding: 10px 12px 0;
}

.rs-worryCircles__row{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
  justify-items: center;
}

/* 丸 */
.rs-worryCircle{
  width: 100%;
  max-width: 190px;
  aspect-ratio: 1 / 1;
  border-radius: 999px;
  background: #f3d44e; /* 画像っぽい黄色 */
  box-shadow: 0 14px 28px rgba(0,0,0,.08);
  position: relative;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 18px 18px 26px;
  text-align:center;
}

/* 中の文字 */
.rs-worryCircle__text{
  margin:0;
  font-size: 13px;
  line-height: 1.75;
  color:#1f1c17;
  font-weight: 700;
}

/* 丸の下にちっちゃい“人物アイコン”っぽい点（画像の黒い丸の代わり） */
.rs-worryCircle__mini{
  position:absolute;
  left:50%;
  bottom:-10px;
  transform: translateX(-50%);
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: rgba(0,0,0,.70);
  box-shadow: 0 8px 16px rgba(0,0,0,.10);
}

/* 下の黄色ライン */
.rs-worryCircles__line{
  position: relative;
  margin: 18px auto 0;
  height: 2px;
  width: min(860px, 92%);
  background: rgba(243,212,78,.95);
  border-radius: 999px;
}

/* 中央のくぼみ（吹き出しの“V”） */
.rs-worryCircles__notch{
  position:absolute;
  left:50%;
  top: 100%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-top: 10px solid rgba(243,212,78,.95);
}

/* 下の一文 */
.rs-worryCircles__bottom{
  text-align:center;
  margin: 22px 0 0;
  font-size: 16px;
  color:#1f1c17;
  font-weight: 700;
  letter-spacing: .03em;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
}

.rs-worryCircles__brand{
  font-size: 22px;
  letter-spacing: .06em;
}

/* レスポンシブ：2列→1列 */
@media (max-width: 980px){
  .rs-worryCircles__row{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .rs-worryCircle{ max-width: 210px; }
}

@media (max-width: 560px){
  .rs-worryCircles__row{
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .rs-worryCircles__line{
    display:none; /* スマホは線が窮屈なので消す（必要なら残してOK） */
  }
}

/* ① 丸の間隔：少し広げる */
.rs-worryCircles__row{
  gap: 26px !important;              /* 18 → 26 */
}

/* ② 薄いゴールド（上品寄り） */
.rs-worryCircle{
  background: linear-gradient(180deg,#f7efda 0%, #ead7a6 100%) !important;
  border: 1px solid rgba(201,179,126,.55);
  box-shadow: 0 14px 28px rgba(0,0,0,.06);
}

/* 下ラインも薄いゴールドに */
.rs-worryCircles__line{
  background: rgba(201,179,126,.75) !important;
}
.rs-worryCircles__notch{
  border-top-color: rgba(201,179,126,.75) !important;
}

/* ③ “人物っぽいアイコン”をSVGに（黒塗り） */
.rs-worryCircle__mini{
  width: 24px !important;
  height: 24px !important;
  background: rgba(0,0,0,.72) !important;  /* ←SVGの色 */
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12a4.2 4.2 0 1 0-4.2-4.2A4.2 4.2 0 0 0 12 12Zm0 2.2c-4.2 0-7.6 2.3-7.6 5.1V21h15.2v-1.7c0-2.8-3.4-5.1-7.6-5.1Z'/%3E%3C/svg%3E") no-repeat center / contain;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12a4.2 4.2 0 1 0-4.2-4.2A4.2 4.2 0 0 0 12 12Zm0 2.2c-4.2 0-7.6 2.3-7.6 5.1V21h15.2v-1.7c0-2.8-3.4-5.1-7.6-5.1Z'/%3E%3C/svg%3E") no-repeat center / contain;

  border-radius: 0 !important;       /* ←丸じゃなくSVG形にする */
  box-shadow: 0 8px 16px rgba(0,0,0,.10);
}

/* =========================
   困りごと丸（調整まとめ）
========================= */

/* ① 丸の間隔をちゃんと空ける（gapが効かない環境対策つき） */
.rs-worryCircles__row{
  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
  flex-wrap: wrap !important;       /* 画面が狭い時に潰れない */
  gap: 28px !important;             /* ←ここで間隔 */
}

/* もしテーマ側が <li> や子要素に margin を上書きしてくる場合の保険 */
.rs-worryCircles__row > *{
  margin: 0 !important;
}
@supports not (gap: 1rem){
  .rs-worryCircles__row > *{
    margin-right: 28px !important;
  }
  .rs-worryCircles__row > *:last-child{
    margin-right: 0 !important;
  }
}

/* ② アイコンを少し大きく */
.rs-worryCircle__mini{
  width: 100px !important;   /* 24 → 30 */
  height: 100px !important;  /* 24 → 30 */
}

/* ③ 男・女を交互に（1,3…＝男性 / 2,4…＝女性） */
/* ベース：男性 */
.rs-worryCircles__row > * .rs-worryCircle__mini{
  background: rgba(0,0,0,.72) !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12a4.2 4.2 0 1 0-4.2-4.2A4.2 4.2 0 0 0 12 12Zm0 2.2c-4.2 0-7.6 2.3-7.6 5.1V21h15.2v-1.7c0-2.8-3.4-5.1-7.6-5.1Z'/%3E%3C/svg%3E") no-repeat center / contain;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12a4.2 4.2 0 1 0-4.2-4.2A4.2 4.2 0 0 0 12 12Zm0 2.2c-4.2 0-7.6 2.3-7.6 5.1V21h15.2v-1.7c0-2.8-3.4-5.1-7.6-5.1Z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* 偶数番（2,4…）＝女性（髪っぽいシルエット） */
.rs-worryCircles__row > *:nth-child(even) .rs-worryCircle__mini{
  background: rgba(0,0,0,.72) !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12a4.2 4.2 0 1 0-4.2-4.2A4.2 4.2 0 0 0 12 12Zm0 2.2c-4.2 0-7.6 2.3-7.6 5.1V21h15.2v-1.7c0-2.8-3.4-5.1-7.6-5.1Z'/%3E%3C/svg%3E") no-repeat center / contain;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12a4.2 4.2 0 1 0-4.2-4.2A4.2 4.2 0 0 0 12 12Zm0 2.2c-4.2 0-7.6 2.3-7.6 5.1V21h15.2v-1.7c0-2.8-3.4-5.1-7.6-5.1Z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* ④ 「レンタルサロンMINI」をゴールドに
   ※該当テキストが span 等で囲われてない場合は、HTML側で囲うのが確実 */
.rs-worryCircles__resolve strong,
.rs-worryCircles__resolve b{
  color: #c9b37e !important;
}

/* 推奨：HTMLでこう囲ってください（CSSも下に用意）
   そんなお悩みも <span class="rs-gold">レンタルサロンMINI</span> なら解決します。 */
.rs-worryCircles__resolve .rs-gold{
  color:#c9b37e !important;
  font-weight:700;
}

.rs-gold{
  color:#c9b37e !important;
  font-size: 1.25em !important;   /* ← 1.15〜1.4で好み調整 */
  font-weight: 700;
  letter-spacing: .04em;
}

/* ===== Flow (screenshot-like) ===== */
.rs-flowShot{
  padding: 84px 20px;
  background:#fff;
  color:#111;
  font-family: "Noto Serif JP","Hiragino Mincho ProN","Yu Mincho","Times New Roman",serif;
}
.rs-flowShot__inner{
  max-width: 1100px;
  margin: 0 auto;
}

/* head */
.rs-flowShot__head{ text-align:center; margin-bottom: 46px; }
.rs-flowShot__kicker{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 14px;
  margin-bottom: 14px;
  opacity:.9;
}
.rs-flowShot__kicker::before,
.rs-flowShot__kicker::after{
  content:"";
  width: 44px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(201,179,126,.7), transparent);
}
.rs-flowShot__kicker span{
  font-size: 11px;
  letter-spacing: .34em;
  color:#7a756c;
}
.rs-flowShot__title{
  margin:0 0 14px;
  font-size: 34px;
  font-weight: 600;
  letter-spacing: .06em;
  color:#1f1c17;
}
.rs-flowShot__lead{
  margin:0;
  font-size: 14px;
  line-height: 1.9;
  color:#6a645c;
}

/* grid + connecting line */
.rs-flowShot__grid{
  list-style:none;
  padding: 0;
  margin: 0;
  display:grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px; /* カード間 */
  position:relative;
  align-items: stretch;
}
.rs-flowShot__grid::before{
  content:"";
  position:absolute;
  left: 12px;
  right: 12px;
  top: 26px;             /* dotの中心高さ */
  height: 2px;
  background: rgba(20,18,14,.18);
  border-radius: 999px;
}

/* card */
.rs-flowShot__card{
  background:#fff;
  border: 1px solid rgba(20,18,14,.10);
  border-radius: 16px;
  box-shadow: 0 10px 22px rgba(0,0,0,.05);
  padding: 18px 18px 22px;
  position:relative;
  min-height: 340px; /* 画像っぽい縦長 */
}

/* top notch feeling */
.rs-flowShot__cap{
  position:relative;
  padding-top: 6px;
  margin-bottom: 14px;
}
.rs-flowShot__step{
  position:absolute;
  left: 0;
  top: 0;
  display:flex;
  flex-direction:column;
  gap: 3px;
}
.rs-flowShot__num{
  font-size: 22px;
  line-height: 1;
  font-weight: 600;
  color: rgba(31,28,23,.22);
  letter-spacing: .06em;
}
.rs-flowShot__stepTxt{
  font-size: 10px;
  letter-spacing: .22em;
  color: rgba(31,28,23,.26);
  font-weight: 700;
}

/* dot on line */
.rs-flowShot__dot{
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background:#1f1c17;
  position:absolute;
  left: 50%;
  top: 14px;
  transform: translateX(-50%);
}

/* icon circle */
.rs-flowShot__icon{
  width: 72px;
  height: 72px;
  border-radius: 999px;
  border: 1px solid rgba(20,18,14,.14);
  display:flex;
  align-items:center;
  justify-content:center;
  margin: 44px auto 18px; /* step表示分だけ上を空ける */
  color: rgba(31,28,23,.35);
}
.rs-flowShot__icon svg{
  width: 34px;
  height: 34px;
}

/* text */
.rs-flowShot__ttl{
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .04em;
  color:#1f1c17;
}
.rs-flowShot__txt{
  margin:0;
  font-size: 13px;
  line-height: 1.9;
  color:#6a645c;
}
.rs-flowShot__note{
  color:#8a8378;
  font-size: 12px;
}

/* CTA */
.rs-flowShot__cta{
  text-align:center;
  margin-top: 34px;
}
.rs-flowShot__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 360px;
  padding: 18px 46px;
  border-radius: 999px;
  text-decoration:none;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .04em;
  color:#0b0b0b;
  background: linear-gradient(180deg, #32d06a 0%, #19b052 100%);
  box-shadow: 0 14px 26px rgba(25,176,82,.22);
  line-height: 1;
}

/* hover (PCだけ) */
@media (hover:hover){
  .rs-flowShot__card{ transition: transform .25s ease, box-shadow .25s ease; }
  .rs-flowShot__card:hover{
    transform: translateY(-3px);
    box-shadow: 0 18px 34px rgba(0,0,0,.08);
  }
  .rs-flowShot__btn{ transition: transform .2s ease, filter .2s ease, box-shadow .2s ease; }
  .rs-flowShot__btn:hover{
    transform: translateY(-2px);
    filter: brightness(.99);
    box-shadow: 0 18px 34px rgba(25,176,82,.26);
  }
}

/* responsive */
@media (max-width: 1020px){
  .rs-flowShot__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rs-flowShot__grid::before{ display:none; } /* 2列以下は線を消すと崩れない */
  .rs-flowShot__card{ min-height: 320px; }
}
@media (max-width: 560px){
  .rs-flowShot{ padding: 64px 16px; }
  .rs-flowShot__title{ font-size: 28px; }
  .rs-flowShot__grid{ grid-template-columns: 1fr; }
  .rs-flowShot__btn{ width:100%; max-width: 520px; min-width: 0; }
}
/* ===== Flow (no-card / kill markers) ===== */
.rs-flowShot{
  padding: 84px 20px;
  background:#fff;
  color:#111;
  font-family: "Noto Serif JP","Hiragino Mincho ProN","Yu Mincho","Times New Roman",serif;
}
.rs-flowShot__inner{ max-width:1100px; margin:0 auto; }

/* head */
.rs-flowShot__head{ text-align:center; margin-bottom:46px; }
.rs-flowShot__kicker{
  display:flex; align-items:center; justify-content:center; gap:14px;
  margin-bottom:14px;
}
.rs-flowShot__kicker::before,
.rs-flowShot__kicker::after{
  content:""; width:44px; height:1px;
  background: linear-gradient(90deg, transparent, rgba(201,179,126,.7), transparent);
}
.rs-flowShot__kicker span{ font-size:11px; letter-spacing:.34em; color:#7a756c; }
.rs-flowShot__title{
  margin:0 0 14px; font-size:34px; font-weight:600; letter-spacing:.06em; color:#1f1c17;
}
.rs-flowShot__lead{ margin:0; font-size:14px; line-height:1.9; color:#6a645c; }

/* ===== ここが肝：テーマ側の番号/中点を全部消す ===== */
.rs-flowShot__grid{
  list-style: none !important;
  padding:0 !important;
  margin:0 !important;
  counter-reset: none !important;
}
.rs-flowShot__grid > li{
  list-style: none !important;
}
.rs-flowShot__grid > li::marker{ content: "" !important; }
.rs-flowShot__grid > li::before,
.rs-flowShot__grid > li::after{
  content: none !important;   /* テーマの「•」対策 */
  display:none !important;
}

/* layout */
.rs-flowShot__grid{
  display:grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 26px;                 /* 余白多め */
  position:relative;
  align-items: start;
}

/* connecting line */
.rs-flowShot__grid::before{
  content:"";
  position:absolute;
  left: 12px;
  right: 12px;
  top: 28px;                 /* dotの中心 */
  height: 2px;
  background: rgba(20,18,14,.18);
  border-radius: 999px;
}

/* ===== cardをやめる：枠・影・背景なし ===== */
.rs-flowShot__item{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  position:relative;
  min-height: 0 !important;
}

/* cap */
.rs-flowShot__cap{
  position:relative;
  height: 56px; /* stepの領域を確保 */
  margin-bottom: 14px;
}
.rs-flowShot__step{
  position:absolute;
  left: 0;
  top: 0;
  display:flex;
  flex-direction:column;
  gap: 3px;
}
.rs-flowShot__num{
  font-size: 22px;
  line-height:1;
  font-weight:600;
  color: rgba(31,28,23,.22);
  letter-spacing: .06em;
}
.rs-flowShot__stepTxt{
  font-size: 10px;
  letter-spacing: .22em;
  color: rgba(31,28,23,.26);
  font-weight:700;
}


/* icon */
.rs-flowShot__icon{
  width: 78px;
  height: 78px;
  border-radius: 999px;
  border: 1px solid rgba(20,18,14,.14);
  display:flex;
  align-items:center;
  justify-content:center;
  margin: 6px auto 18px;
  color: rgba(31,28,23,.35);
}
.rs-flowShot__icon svg{ width: 36px; height: 36px; }

/* text */
.rs-flowShot__ttl{
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .04em;
  color:#1f1c17;
}
.rs-flowShot__txt{
  margin:0;
  font-size: 13px;
  line-height: 1.9;
  color:#6a645c;
}
.rs-flowShot__note{ color:#8a8378; font-size:12px; }

/* CTA */
.rs-flowShot__cta{ text-align:center; margin-top: 34px; }
.rs-flowShot__btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-width: 360px;
  padding: 18px 46px;
  border-radius: 999px;
  text-decoration:none;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .04em;
  color:#0b0b0b;
  background: linear-gradient(180deg, #32d06a 0%, #19b052 100%);
  box-shadow: 0 14px 26px rgba(25,176,82,.22);
  line-height: 1;
}

/* responsive */
@media (max-width: 1020px){
  .rs-flowShot__grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .rs-flowShot__grid::before{ display:none; }
}
@media (max-width: 560px){
  .rs-flowShot{ padding: 64px 16px; }
  .rs-flowShot__title{ font-size: 28px; }
  .rs-flowShot__grid{ grid-template-columns: 1fr; }
  .rs-flowShot__btn{ width:100%; max-width: 520px; min-width: 0; }
}
.rs-flowShot li{ background-image:none !important; }

/* ===========================
   Cancellation Policy
=========================== */

.rs-cancel{
  padding: 90px 20px;
  background:#fff;
}

.rs-cancel__inner{
  max-width: 1000px;
  margin: 0 auto;
}

.rs-cancel__head{
  text-align:center;
  margin-bottom: 50px;
}

.rs-cancel__kicker{
  font-size:11px;
  letter-spacing:.28em;
  color:#8a8378;
  margin-bottom:14px;
}

.rs-cancel__title{
  font-size:32px;
  margin:0 0 18px;
  font-family:"Times New Roman","游明朝","Yu Mincho",serif;
  font-weight:600;
  letter-spacing:.05em;
  color:#1f1c17;
}

.rs-cancel__lead{
  font-size:14px;
  line-height:1.9;
  color:#6a645c;
  margin:0;
}

/* table */
.rs-cancel__tableWrap{
  overflow-x:auto;
  margin-bottom:30px;
}

.rs-cancel__table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
  border:1px solid rgba(20,18,14,.08);
}

.rs-cancel__table thead{
  background:linear-gradient(180deg,#fbf7ee 0%, #f3ead8 100%);
}

.rs-cancel__table th{
  font-size:14px;
  padding:16px;
  text-align:center;
  letter-spacing:.08em;
  color:#1f1c17;
}

.rs-cancel__table td{
  padding:18px 16px;
  text-align:center;
  font-size:15px;
  border-top:1px solid rgba(20,18,14,.07);
}

.rs-cancel__table tbody tr:hover{
  background:rgba(201,179,126,.08);
}

.rs-cancel__note{
  font-size:12px;
  line-height:1.9;
  color:#8a8378;
  margin-bottom:40px;
}

/* CTA */
.rs-cancel__cta{
  text-align:center;
}

.rs-cancel__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:300px;
  padding:18px 40px;
  border-radius:999px;
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  letter-spacing:.04em;
  color:#0b0b0b;
  background:linear-gradient(180deg,#d6b36a 0%, #b8954c 100%);
  box-shadow:0 14px 28px rgba(184,149,76,.25);
  transition:transform .25s ease, box-shadow .25s ease;
}

.rs-cancel__btn:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 34px rgba(184,149,76,.32);
}

/* responsive */
@media(max-width:768px){
  .rs-cancel{ padding:70px 16px; }
  .rs-cancel__title{ font-size:26px; }
  .rs-cancel__btn{ width:100%; max-width:420px; }
}

/* ===========================
   Store Page (Fixed Page)
=========================== */
.rs-storepage{
  background:#fff;
  color:#1f1c17;
}

/* common */
.rs-storepage__inner{
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
}
.rs-storepage__kicker,
.rs-storepage__secKicker{
  font-size: 11px;
  letter-spacing: .28em;
  color:#8a8378;
}
.rs-storepage__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 280px;
  height: 52px;
  padding: 0 28px;
  border-radius: 999px;
  text-decoration:none;
  font-weight: 700;
  letter-spacing: .04em;
  color:#0b0b0b;
  background: linear-gradient(180deg,#d6b36a 0%, #b8954c 100%);
  box-shadow: 0 14px 28px rgba(184,149,76,.25);
  line-height:1;
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.rs-storepage__btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(184,149,76,.32);
  filter: brightness(.995);
}
.rs-storepage__note{
  margin-top: 10px;
  font-size: 12px;
  color:#7a756c;
  line-height: 1.8;
}

/* ===== Hero ===== */
.rs-storepage__hero{
  padding: 88px 0 44px;
  background: radial-gradient(1200px 600px at 50% 0%, #fbfaf8 0%, #f4f2ee 55%, #f1efeb 100%);
}
.rs-storepage__heroInner{
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
}
.rs-storepage__heroHead{
  text-align:center;
  margin-bottom: 28px;
}
.rs-storepage__title{
  margin: 10px 0 12px;
  font-size: 36px;
  line-height: 1.2;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight: 600;
  letter-spacing: .05em;
}
.rs-storepage__meta{
  display:flex;
  justify-content:center;
  gap: 10px;
  font-size: 14px;
  color:#6a645c;
  margin-bottom: 18px;
}
.rs-storepage__metaSep{ opacity:.5; }

.rs-storepage__heroCta{ margin-top: 10px; }

.rs-storepage__heroGrid{
  display:grid;
  grid-template-columns: 1.35fr .85fr;
  gap: 18px;
  align-items: stretch;
}
.rs-storepage__heroFig{
  margin:0;
  background:#fff;
  border: 1px solid rgba(20,18,14,.10);
  border-radius: 18px;
  overflow:hidden;
  box-shadow: 0 18px 40px rgba(0,0,0,.06);
}
.rs-storepage__heroFig img{
  width:100%;
  height: 360px;
  object-fit: cover;
  display:block;
}
.rs-storepage__heroFig--plan img{
  height: 360px;
  object-fit: contain;
  background:#faf8f4;
}
.rs-storepage__heroFig figcaption{
  padding: 12px 14px;
  font-size: 12px;
  color:#7a756c;
  border-top: 1px solid rgba(20,18,14,.08);
}

/* ===== Sections ===== */
.rs-storepage__sec{
  padding: 80px 0;
}
.rs-storepage__sec--tint{
  background:#faf8f4;
}
.rs-storepage__secHead{
  text-align:center;
  margin-bottom: 28px;
}
.rs-storepage__secTitle{
  margin: 10px 0 10px;
  font-size: 30px;
  line-height: 1.25;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight: 600;
  letter-spacing: .04em;
}
.rs-storepage__secLead{
  margin:0;
  font-size: 14px;
  color:#6a645c;
  line-height: 1.9;
}

/* ===== Gallery ===== */
.rs-storepage__toggle{
  position:absolute;
  width:1px; height:1px;
  overflow:hidden;
  clip: rect(0 0 0 0);
}
.rs-storepage__gallery{
  display:grid;
  grid-template-columns: repeat(6, minmax(0,1fr));
  gap: 12px;
}
.rs-storepage__gItem{
  display:block;
  border-radius: 14px;
  overflow:hidden;
  border: 1px solid rgba(20,18,14,.10);
  background:#fff;
  box-shadow: 0 10px 22px rgba(0,0,0,.05);
  transform: translateY(0);
  transition: transform .25s ease, box-shadow .25s ease;
}
.rs-storepage__gItem img{
  width:100%;
  height: 140px;
  object-fit: cover;
  display:block;
  transform: scale(1.02);
  transition: transform .35s ease;
}
.rs-storepage__gItem:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(0,0,0,.08);
}
.rs-storepage__gItem:hover img{
  transform: scale(.98);
}

/* 13枚目以降はデフォルトで隠す */
.rs-storepage__gItem--more{ display:none; }
#rsGalleryToggle:checked ~ .rs-storepage__gallery .rs-storepage__gItem--more{ display:block; }

.rs-storepage__galleryCta{
  text-align:center;
  margin-top: 18px;
}
.rs-storepage__ghostBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  cursor:pointer;
  border: 1px solid rgba(20,18,14,.12);
  background:#fff;
  color:#1f1c17;
  font-size: 13px;
  letter-spacing: .06em;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.rs-storepage__ghostBtn:hover{
  transform: translateY(-2px);
  border-color: rgba(201,179,126,.55);
  box-shadow: 0 14px 26px rgba(0,0,0,.06);
}
.rs-storepage__showLess{ display:none; }
#rsGalleryToggle:checked ~ .rs-storepage__galleryCta .rs-storepage__showMore{ display:none; }
#rsGalleryToggle:checked ~ .rs-storepage__galleryCta .rs-storepage__showLess{ display:inline-flex; }

.rs-storepage__galleryHint{
  margin-top: 10px;
  font-size: 12px;
  color:#7a756c;
}

/* ===== Basic DL ===== */
.rs-storepage__dl{
  max-width: 860px;
  margin: 0 auto;
  border: 1px solid rgba(20,18,14,.10);
  border-radius: 16px;
  background:#fff;
  overflow:hidden;
  box-shadow: 0 14px 28px rgba(0,0,0,.05);
}
.rs-storepage__row{
  display:flex;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 18px;
  border-top: 1px solid rgba(20,18,14,.07);
}
.rs-storepage__row:first-child{ border-top:none; }
.rs-storepage__row dt{
  font-size: 12px;
  color:#6a645c;
  letter-spacing: .08em;
}
.rs-storepage__row dd{
  margin:0;
  font-size: 14px;
  font-weight: 600;
  color:#1f1c17;
  text-align:right;
}

/* ===== Equipment ===== */
.rs-storepage__equipGrid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 14px;
}
.rs-storepage__equip{
  background:#fff;
  border: 1px solid rgba(20,18,14,.10);
  border-radius: 16px;
  padding: 16px 16px 14px;
  box-shadow: 0 14px 28px rgba(0,0,0,.05);
  position:relative;
}
.rs-storepage__equip:before{
  content:"";
  position:absolute;
  left:16px; right:16px; top:0;
  height:2px;
  background: linear-gradient(90deg, transparent, rgba(201,179,126,.80), transparent);
  opacity:.9;
}
.rs-storepage__equip h3{
  margin: 6px 0 10px;
  font-size: 15px;
  letter-spacing: .04em;
}
.rs-storepage__equip ul{
  margin:0;
  padding-left: 18px;
  color:#5f5a52;
  line-height: 1.9;
  font-size: 13px;
}

/* ===== Price ===== */
.rs-storepage__priceWrap{
  max-width: 900px;
  margin: 0 auto;
}
.rs-storepage__price{
  width:100%;
  border-collapse: collapse;
  background:#fff;
  border: 1px solid rgba(20,18,14,.10);
  overflow:hidden;
}
.rs-storepage__price thead{
  background: linear-gradient(180deg,#fbf7ee 0%, #f3ead8 100%);
}
.rs-storepage__price th{
  padding: 14px;
  font-size: 13px;
  letter-spacing: .08em;
  text-align:center;
}
.rs-storepage__price td{
  padding: 16px 14px;
  border-top: 1px solid rgba(20,18,14,.07);
  text-align:center;
  font-size: 14px;
}
.rs-storepage__priceNote{
  margin-top: 14px;
  font-size: 12px;
  color:#7a756c;
  line-height: 1.9;
}

/* ===== Access ===== */
.rs-storepage__access{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 18px;
  align-items:start;
}
.rs-storepage__steps{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap: 14px;
}
.rs-storepage__steps li{
  display:flex;
  gap: 12px;
  background:#fff;
  border: 1px solid rgba(20,18,14,.10);
  border-radius: 16px;
  padding: 14px;
  box-shadow: 0 14px 28px rgba(0,0,0,.05);
}
.rs-storepage__stepNum{
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid rgba(201,179,126,.55);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:"Times New Roman",serif;
  font-weight: 700;
  color:#1f1c17;
  flex: 0 0 auto;
}
.rs-storepage__stepTitle{
  font-weight: 700;
  letter-spacing: .03em;
  margin-bottom: 6px;
}
.rs-storepage__stepText{
  font-size: 13px;
  color:#6a645c;
  line-height: 1.8;
  margin-bottom: 10px;
}
.rs-storepage__stepImg{
  width:100%;
  height: 160px;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid rgba(20,18,14,.08);
  display:block;
}

.rs-storepage__mapFrame{
  border-radius: 16px;
  overflow:hidden;
  border: 1px solid rgba(20,18,14,.10);
  box-shadow: 0 14px 28px rgba(0,0,0,.05);
  background:#fff;
}
.rs-storepage__mapFrame iframe{
  width:100%;
  height: 540px;
  display:block;
}

.rs-storepage__secCta{
  text-align:center;
  margin-top: 28px;
}
.rs-storepage__secCta--last{
  margin-top: 34px;
}

/* responsive */
@media (max-width: 980px){
  .rs-storepage__heroGrid{ grid-template-columns: 1fr; }
  .rs-storepage__heroFig img,
  .rs-storepage__heroFig--plan img{ height: 320px; }

  .rs-storepage__gallery{ grid-template-columns: repeat(3, minmax(0,1fr)); }
  .rs-storepage__equipGrid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .rs-storepage__access{ grid-template-columns: 1fr; }
  .rs-storepage__mapFrame iframe{ height: 380px; }
}
@media (max-width: 560px){
  .rs-storepage__title{ font-size: 28px; }
  .rs-storepage__secTitle{ font-size: 24px; }
  .rs-storepage__gallery{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .rs-storepage__gItem img{ height: 120px; }
  .rs-storepage__btn{ width:100%; max-width: 420px; }
}
/* Hero CTA を写真の下に置く用 */
.rs-storepage__heroCta--bottom{
  text-align: center;
  margin-top: 22px;
}

/* ===========================
   Access Section
=========================== */

.rs-storepage__accessWrap{
  display:grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 24px;
  align-items: stretch;
}

/* 住所ボックス */
.rs-storepage__accessInfo{
  background:#fff;
  border:1px solid rgba(20,18,14,.10);
  border-radius:18px;
  padding:22px 22px 20px;
  box-shadow:0 18px 40px rgba(0,0,0,.06);
  position:relative;
}

/* 上部ゴールドライン */
.rs-storepage__accessInfo:before{
  content:"";
  position:absolute;
  left:22px;
  right:22px;
  top:0;
  height:2px;
  background:linear-gradient(90deg, transparent, rgba(201,179,126,.85), transparent);
  opacity:.9;
}

.rs-storepage__accessLabel{
  font-size:11px;
  letter-spacing:.28em;
  color:#8a8378;
  margin-bottom:12px;
}

.rs-storepage__accessAddr{
  font-size:17px;
  line-height:1.9;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight:600;
  letter-spacing:.03em;
  color:#1f1c17;
  margin-bottom:12px;
}

.rs-storepage__accessSub{
  font-size:14px;
  color:#6a645c;
  margin-bottom:10px;
}

.rs-storepage__accessNote{
  font-size:12px;
  color:#7a756c;
  line-height:1.8;
}

/* GoogleMap */
.rs-storepage__mapFrame{
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(20,18,14,.10);
  box-shadow:0 18px 40px rgba(0,0,0,.06);
  background:#fff;
}

.rs-storepage__mapFrame iframe{
  width:100%;
  height:420px;
  display:block;
}

/* responsive */
@media(max-width:980px){
  .rs-storepage__accessWrap{
    grid-template-columns:1fr;
  }
  .rs-storepage__mapFrame iframe{
    height:340px;
  }
}

/* ===== Access Simple (住所＋Map) ===== */

.rs-storepage__accessSimple{
  display:grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 22px;
  align-items: stretch;
}

.rs-storepage__addressBox{
  background:#fff;
  border:1px solid rgba(20,18,14,.10);
  border-radius:18px;
  padding:22px 22px 20px;
  box-shadow:0 18px 40px rgba(0,0,0,.06);
  position:relative;
}

.rs-storepage__addressBox:before{
  content:"";
  position:absolute;
  left:22px;
  right:22px;
  top:0;
  height:2px;
  background:linear-gradient(90deg, transparent, rgba(201,179,126,.85), transparent);
  opacity:.9;
}

.rs-storepage__addressLabel{
  font-size:11px;
  letter-spacing:.28em;
  color:#8a8378;
  margin-bottom:12px;
}

.rs-storepage__addressText{
  font-size:16px;
  line-height:1.8;
  font-weight:600;
  margin-bottom:14px;
}

.rs-storepage__addressMeta{
  font-size:14px;
  color:#6a645c;
  margin-bottom:12px;
}

.rs-storepage__addressSep{
  opacity:.5;
  margin:0 6px;
}

.rs-storepage__addressNote{
  font-size:12px;
  line-height:1.8;
  color:#7a756c;
}

@media (max-width: 980px){
  .rs-storepage__accessSimple{
    grid-template-columns:1fr;
  }
}

/* ===========================
   Hero cards: 施術スペース/間取り図を完全に同サイズ・同デザインに統一
=========================== */

/* グリッドはそのまま（必要なら比率だけ調整） */
.rs-storepage__heroGrid{
  display:grid;
  grid-template-columns: 1fr 1fr; /* 2枚を同幅にする */
  gap: 18px;
  align-items: stretch;
}

/* カード共通（完全統一） */
.rs-storepage__heroFig{
  margin:0;
  position: relative;
  background:#fff;
  border: 1px solid rgba(20,18,14,.10);
  border-radius: 18px;
  overflow:hidden;
  box-shadow: 0 18px 40px rgba(0,0,0,.06);

  /* “同じ高さ”のための構造 */
  display: grid;
  grid-template-rows: 1fr auto; /* 画像エリア + caption */
}

/* 画像は両方同じ枠（高さ＝比率で固定） */
.rs-storepage__heroFig img{
  width:100%;
  height:auto;               /* 既存の height:360px を潰す */
  aspect-ratio: 16 / 10;     /* ここを変えると2枚とも同じ高さで変わる */
  object-fit: cover;         /* 写真はトリミングして美しく */
  display:block;
}

/* 間取り図も同じ枠に収める（トリミングせず全体表示） */
.rs-storepage__heroFig--plan img{
  object-fit: contain;       /* これだけ差を付ける */
  background: linear-gradient(180deg,#fbfaf8 0%, #f6f2ea 100%);
}

/* captionも完全統一（被せない・同じ帯） */
.rs-storepage__heroFig figcaption{
  padding: 12px 14px;
  font-size: 12px;
  color:#7a756c;
  border-top: 1px solid rgba(20,18,14,.08);
  text-align:left;           /* 好みで center でもOK */
  letter-spacing: .04em;
}

/* レスポンシブ */
@media (max-width: 980px){
  .rs-storepage__heroGrid{ grid-template-columns: 1fr; }
  .rs-storepage__heroFig img{ aspect-ratio: 16 / 11; }
}
@media (max-width: 560px){
  .rs-storepage__heroFig img{ aspect-ratio: 4 / 3; }
}

/* ===== PRICE PAGE ===== */

.rs-pricePage{
  padding:80px 20px;
  background:#fff;
}

.rs-pricePage__inner{
  max-width:1100px;
  margin:0 auto;
}

/* ===== header ===== */

.rs-pricePage__head{
  text-align:center;
  margin-bottom:50px;
}

.rs-pricePage__kicker{
  font-size:12px;
  letter-spacing:.3em;
  color:#8a8378;
  margin-bottom:10px;
}

.rs-pricePage__title{
  font-size:36px;
  margin:0 0 15px;
  font-family:"Times New Roman","游明朝","Yu Mincho",serif;
  letter-spacing:.08em;
}

.rs-pricePage__lead{
  font-size:14px;
  color:#6a645c;
  line-height:1.8;
}

/* ===== plan cards ===== */

.rs-pricePlan__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  margin-bottom:60px;
}

.rs-planCard{
  text-align:center;
  padding:25px 20px;
  border-radius:18px;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 10px 30px rgba(0,0,0,.05);
  background:#fff;
}

.rs-planCard__title{
  font-size:18px;
  margin-bottom:8px;
  font-family:"Times New Roman","游明朝","Yu Mincho",serif;
}

.rs-planCard__discount{
  font-size:22px;
  font-weight:bold;
  color:#b89a5a;
}

/* ===== table ===== */

.rs-priceTableWrap__title{
  font-size:24px;
  text-align:center;
  margin-bottom:25px;
  font-family:"Times New Roman","游明朝","Yu Mincho",serif;
}

.rs-priceTableWrap__tableBox{
  overflow-x:auto;
}

.rs-priceTable{
  width:100%;
  border-collapse:collapse;
  text-align:center;
  font-size:14px;
}

.rs-priceTable th{
  padding:15px 10px;
  background:#f7f5f0;
  font-weight:600;
}

.rs-priceTable td{
  padding:15px 10px;
  border-top:1px solid rgba(0,0,0,.08);
}

.storeName{
  font-weight:600;
  text-align:left;
  padding-left:20px;
}

.rs-priceTableWrap__note{
  font-size:12px;
  margin-top:10px;
  color:#777;
  text-align:right;
}

/* ===== CTA ===== */

.rs-pricePage__cta{
  text-align:center;
  margin-top:60px;
}

.rs-pricePage__btn{
  display:inline-block;
  padding:15px 35px;
  border-radius:999px;
  background:#16a34a;
  color:#fff;
  text-decoration:none;
  font-weight:bold;
  font-size:15px;
  box-shadow:0 15px 30px rgba(22,163,74,.25);
  transition:.3s;
}

.rs-pricePage__btn:hover{
  transform:translateY(-2px);
  filter:brightness(.95);
}

/* ===== responsive ===== */

@media (max-width:980px){
  .rs-pricePlan__grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:560px){
  .rs-pricePlan__grid{
    grid-template-columns:1fr;
  }

  .rs-pricePage__title{
    font-size:28px;
  }
}

/* ===== TOUR (Google Form 안내) ===== */
.rs-tour{
  margin-top: 40px;
}
.rs-tour__inner{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  padding: 26px 22px;
  background: linear-gradient(180deg,#fff 0%, #fbfaf7 100%);
  box-shadow: 0 10px 28px rgba(0,0,0,.05);
  text-align: center;
}
.rs-tour__kicker{
  font-size: 12px;
  letter-spacing: .3em;
  color: #8a8378;
  margin-bottom: 10px;
}
.rs-tour__title{
  margin: 0 0 10px;
  font-size: 24px;
  font-family:"Times New Roman","游明朝","Yu Mincho",serif;
  letter-spacing: .06em;
}
.rs-tour__text{
  margin: 0;
  font-size: 14px;
  line-height: 1.9;
  color: #6a645c;
}
.rs-tour__cta{
  margin-top: 18px;
}
.rs-tour__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 22px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
  color: #1f1c17;
  background: #fff;
  border: 1px solid rgba(184,154,90,.55);
  box-shadow: 0 14px 26px rgba(0,0,0,.06);
  transition: .25s;
}

/* =========================
   Coupon Page (Luxe / Mincho)
========================= */

.rs-couponPage{
  padding: 92px 20px;
  background: #fff;
}

.rs-couponPage__inner{
  max-width: 1040px;
  margin: 0 auto;
}

/* head */
.rs-couponPage__head{
  text-align: center;
  margin-bottom: 58px;
}

.rs-couponPage__kicker{
  display:inline-block;
  font-size: 11px;
  letter-spacing: .35em;
  color:#8a8378;
  margin-bottom: 12px;
  position: relative;
  padding: 0 18px;
}

.rs-couponPage__kicker:before,
.rs-couponPage__kicker:after{
  content:"";
  position:absolute;
  top:50%;
  width: 26px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(201,179,126,.75), transparent);
}

.rs-couponPage__kicker:before{ left:-18px; }
.rs-couponPage__kicker:after{ right:-18px; }

.rs-couponPage__title{
  margin: 0 0 14px;
  font-size: 40px;
  line-height: 1.25;
  letter-spacing: .08em;
  color:#1f1c17;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight: 600;
}

.rs-couponPage__lead{
  margin: 0;
  font-size: 14px;
  color:#6a645c;
  line-height: 1.9;
}

/* primary hero */
.rs-couponHero{
  position: relative;
  background: linear-gradient(180deg, #ffffff 0%, #fbf7ee 100%);
  border: 1px solid rgba(201,179,126,.45);
  border-radius: 22px;
  padding: 44px 28px 38px;
  box-shadow: 0 20px 50px rgba(0,0,0,.07);
  overflow: hidden;
  margin-bottom: 62px;
}

.rs-couponHero:before{
  content:"";
  position:absolute;
  left: 22px;
  right: 22px;
  top: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(201,179,126,.85), transparent);
  opacity: .9;
}

.rs-couponHero__badge{
  position:absolute;
  top: 16px;
  right: 16px;
  font-size: 10px;
  letter-spacing: .22em;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(201,179,126,.55);
  color:#1f1c17;
  font-weight: 700;
}

.rs-couponHero__ttl{
  margin: 0 0 10px;
  text-align: center;
  font-size: 26px;
  line-height: 1.35;
  letter-spacing: .04em;
  color:#1f1c17;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight: 600;
}

.rs-couponHero__desc{
  margin: 0 0 18px;
  text-align:center;
  font-size: 14px;
  color:#6a645c;
  line-height: 1.9;
}

.rs-couponHero__meta{
  margin: 0 auto 20px;
  max-width: 520px;
  padding-top: 12px;
  border-top: 1px solid rgba(20,18,14,.08);
}

.rs-couponHero__metaRow{
  display:flex;
  justify-content: space-between;
  gap: 12px;
  padding-top: 12px;
}

.rs-couponHero__metaRow dt{
  font-size: 12px;
  color:#6a645c;
  letter-spacing:.08em;
}

.rs-couponHero__metaRow dd{
  margin:0;
  font-size: 13px;
  font-weight: 700;
  color:#1f1c17;
}

.rs-couponHero__cta{
  text-align:center;
}

/* buttons */
.rs-couponBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height: 48px;
  padding: 0 26px;
  border-radius: 999px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .04em;
  color:#fff !important;
  background: linear-gradient(180deg, #22c55e 0%, #16a34a 100%);
  box-shadow: 0 16px 28px rgba(22,163,74,.22);
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
  line-height: 1;
}

.rs-couponBtn:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(22,163,74,.26);
  filter: brightness(.98);
}

.rs-couponBtn--large{
  min-width: 280px;
  height: 52px;
  padding: 0 34px;
}

/* store coupon grid */
.rs-couponGridWrap__head{
  text-align:center;
  margin-bottom: 22px;
}

.rs-couponGridWrap__title{
  margin:0 0 10px;
  font-size: 26px;
  line-height: 1.3;
  color:#1f1c17;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight: 600;
  letter-spacing: .04em;
}

.rs-couponGridWrap__lead{
  margin:0;
  font-size: 14px;
  color:#6a645c;
  line-height: 1.9;
}

.rs-couponGrid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}

.rs-couponCard{
  background:#fff;
  border: 1px solid rgba(20,18,14,.10);
  border-radius: 18px;
  box-shadow: 0 14px 28px rgba(0,0,0,.06);
  overflow:hidden;
  position: relative;
  padding: 16px 16px 14px;
}

.rs-couponCard:before{
  content:"";
  position:absolute;
  left: 16px;
  right: 16px;
  top: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(201,179,126,.80), transparent);
  opacity: .9;
}

.rs-couponCard__top{
  display:flex;
  justify-content: space-between;
  align-items:center;
  gap: 10px;
  margin-bottom: 12px;
  padding-top: 6px;
}

.rs-couponCard__store{
  font-size: 13px;
  font-weight: 700;
  color:#1f1c17;
  letter-spacing:.03em;
}

.rs-couponCard__pill{
  font-size: 11px;
  letter-spacing:.12em;
  padding: 6px 10px;
  border-radius: 999px;
  color:#1f1c17;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(201,179,126,.45);
  white-space: nowrap;
}

.rs-couponCard__mid{
  text-align:center;
  padding: 10px 0 14px;
  border-top: 1px solid rgba(20,18,14,.08);
  border-bottom: 1px solid rgba(20,18,14,.08);
}

.rs-couponCard__discount{
  font-size: 28px;
  line-height: 1.2;
  color:#1f1c17;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight: 700;
  letter-spacing: .06em;
}

.rs-couponCard__sub{
  margin-top: 6px;
  font-size: 10px;
  letter-spacing:.28em;
  color:#8a8378;
}

.rs-couponCard__code{
  margin-top: 12px;
}

.rs-couponCard__codeLabel{
  font-size: 11px;
  letter-spacing:.12em;
  color:#6a645c;
  margin-bottom: 8px;
}

/* code button */
.rs-couponCard__codeBtn{
  width: 100%;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;

  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(201,179,126,.40);
  background: linear-gradient(180deg,#fff 0%, #fbf7ee 100%);

  cursor:pointer;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.rs-couponCard__codeBtn:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 18px rgba(0,0,0,.06);
  filter: brightness(.995);
}

.rs-couponCard__codeText{
  font-size: 16px;
  font-weight: 800;
  letter-spacing: .08em;
  color:#1f1c17;
}

.rs-couponCard__copy{
  font-size: 10px;
  letter-spacing:.18em;
  color:#8a8378;
  border: 1px solid rgba(20,18,14,.12);
  padding: 6px 10px;
  border-radius: 999px;
  background:#fff;
  white-space: nowrap;
}

.rs-couponCard__copied{
  margin-top: 8px;
  font-size: 12px;
  color:#16a34a;
  opacity: 0;
  transform: translateY(-2px);
  transition: opacity .2s ease, transform .2s ease;
  min-height: 1em;
}

.rs-couponCard__copied.is-show{
  opacity: 1;
  transform: translateY(0);
}

/* bottom */
.rs-couponBottom{
  text-align:center;
  margin-top: 54px;
}

.rs-couponBottom__note{
  margin: 12px 0 0;
  font-size: 12px;
  color:#777168;
}

/* responsive */
@media (max-width: 980px){
  .rs-couponGrid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px){
  .rs-couponPage{ padding: 70px 16px; }
  .rs-couponPage__title{ font-size: 32px; }
  .rs-couponHero__ttl{ font-size: 22px; }
  .rs-couponGrid{ grid-template-columns: 1fr; }
  .rs-couponBtn--large{ width:100%; max-width: 420px; }
}
.rs-tour__btn:hover{
  transform: translateY(-2px);
  border-color: rgba(184,154,90,.9);
}
.rs-tour__note{
  margin-top: 10px;
  font-size: 12px;
  color: #777;
}

@media (max-width:560px){
  .rs-tour__btn{
    width: 100%;
    max-width: 420px;
  }
}

.rs-couponHero__metaRow{
  padding-top: 4px !important;
}

.rs-couponHero__meta{
  padding-top: 6px !important;
}

/* 利用条件行の高さを詰める */
.rs-couponHero__metaRow{
  padding-top: 6px !important;
  align-items: flex-start !important;
}

.rs-couponHero__metaRow dt,
.rs-couponHero__metaRow dd{
  line-height: 1.2 !important;
  margin: 0 !important;
}
.rs-couponHero__metaRow{
  justify-content: center !important;
  gap: 20px !important;
}

/* =========================================================
 * VOICE Archive (Fixed Page) - TOPカード流用 + 一覧調整
 * ========================================================= */

.rs-voice--archive{
  padding: 90px 20px;
}

.rs-voice__grid--archive{
  /* 固定ページは増える前提なので余白を少し広めに */
  gap: 22px;
}

/* PCは3列 / 画面が広い場合は4列にしてもOK */
@media (min-width: 1200px){
  .rs-voice__grid--archive{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* CTA（固定ページ下部） */
.rs-voiceArchive__cta{
  text-align:center;
  margin-top: 34px;
}

.rs-voiceArchive__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 280px;
  padding: 14px 34px;
  border-radius: 999px;
  text-decoration:none;
  font-size: 14px;
  font-weight: 700;
  color:#fff;
  background: linear-gradient(180deg,#22c55e 0%, #16a34a 100%);
  box-shadow: 0 14px 26px rgba(22,163,74,.22);
  line-height: 1;
}

.rs-voiceArchive__btn:hover{
  transform: translateY(-1px);
  filter: brightness(.98);
}

.rs-voiceArchive__note{
  margin: 10px 0 0;
  font-size: 12px;
  color:#777168;
}

/* =========================================================
   RESERVE PAGE (Fixed Page)
   ========================================================= */

.rs-reserve{
  padding: 92px 20px;
  background:#fff;
}

.rs-reserve__inner{
  max-width: 1100px;
  margin: 0 auto;
}

/* ---------- HERO ---------- */
.rs-reserveHero{
  text-align:center;
  padding: 10px 0 52px;
}

.rs-reserveHero__eyebrow{
  display:inline-block;
  font-size: 11px;
  letter-spacing: .32em;
  color:#7a756c;
  position:relative;
  padding: 0 18px;
  margin-bottom: 14px;
}

.rs-reserveHero__eyebrow:before,
.rs-reserveHero__eyebrow:after{
  content:"";
  position:absolute;
  top:50%;
  width: 26px;
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(201,179,126,.75), transparent);
}
.rs-reserveHero__eyebrow:before{ left:-18px; }
.rs-reserveHero__eyebrow:after{ right:-18px; }

.rs-reserveHero__title{
  margin: 0 0 14px;
  font-size: 32px;
  line-height: 1.35;
  color:#1f1c17;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight: 600;
  letter-spacing: .05em;
}

.rs-reserveHero__lead{
  margin: 0 auto;
  max-width: 720px;
  font-size: 14px;
  line-height: 1.9;
  color:#6a645c;
}

.rs-reserveHero__cta{
  margin-top: 22px;
}

.rs-reserveHero__note{
  margin: 10px 0 0;
  font-size: 12px;
  color:#777168;
}

/* ---------- Shared CTA Button ---------- */
.rs-reserveBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 320px;
  padding: 16px 40px;
  border-radius: 999px;
  text-decoration:none;
  font-size: 14px;
  font-weight: 700;
  color:#fff;
  line-height: 1;
  background: linear-gradient(180deg, #22c55e 0%, #16a34a 100%);
  box-shadow: 0 16px 30px rgba(22,163,74,.22);
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}

.rs-reserveBtn:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(22,163,74,.26);
  filter: brightness(.98);
}

/* ---------- BLOCK ---------- */
.rs-reserveBlock{
  padding: 44px 0;
  border-top: 1px solid rgba(20,18,14,.08);
}

.rs-reserveBlock__head{
  text-align:center;
  margin-bottom: 26px;
}

.rs-reserveBlock__kicker{
  display:inline-block;
  font-size: 11px;
  letter-spacing: .30em;
  color:#8a8378;
  margin-bottom: 10px;
}

.rs-reserveBlock__title{
  margin: 0 0 10px;
  font-size: 26px;
  line-height: 1.35;
  color:#1f1c17;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight: 600;
  letter-spacing: .05em;
}

.rs-reserveBlock__desc{
  margin: 0 auto;
  max-width: 760px;
  font-size: 14px;
  line-height: 1.9;
  color:#6a645c;
}

.rs-reserveBlock__cta{
  text-align:center;
  margin-top: 26px;
}

.rs-reserveBlock__note{
  margin: 10px 0 0;
  font-size: 12px;
  color:#777168;
}

/* ---------- Steps ---------- */
.rs-reserveSteps{
  list-style:none;
  padding: 0;
  margin: 28px 0 0;
  display:grid;
  gap: 14px;
}

.rs-reserveStep{
  display:grid;
  grid-template-columns: 90px 1fr 420px;
  gap: 18px;
  align-items:center;
  background: #fff;
  border: 1px solid rgba(20,18,14,.10);
  border-radius: 18px;
  box-shadow: 0 14px 28px rgba(0,0,0,.05);
  padding: 18px;
  position:relative;
  overflow:hidden;
}

.rs-reserveStep:before{
  content:"";
  position:absolute;
  left: 18px;
  right: 18px;
  top: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(201,179,126,.80), transparent);
  opacity:.9;
}

.rs-reserveStep__num{
  width: 76px;
  height: 76px;
  border-radius: 16px;
  background: linear-gradient(180deg,#fff 0%, #fbfaf7 100%);
  border: 1px solid rgba(20,18,14,.10);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap: 2px;
}

.rs-reserveStep__num span{
  font-family:"Times New Roman",serif;
  font-size: 22px;
  letter-spacing: .08em;
  color:#1f1c17;
  font-weight: 700;
  line-height: 1;
}

.rs-reserveStep__num small{
  font-size: 11px;
  letter-spacing: .18em;
  color:#8a8378;
  text-transform: lowercase;
}

.rs-reserveStep__ttl{
  margin: 0 0 6px;
  font-size: 16px;
  line-height: 1.45;
  color:#1f1c17;
  font-weight: 700;
}

.rs-reserveStep__txt{
  margin: 0;
  font-size: 13px;
  line-height: 1.9;
  color:#6a645c;
}

.rs-reserveStep__shot{
  border-radius: 14px;
  overflow:hidden;
  border: 1px solid rgba(20,18,14,.08);
  background:#f4f2ee;
}

.rs-reserveStep__shot img{
  width: 100%;
  height: 240px;
  object-fit: cover;
  display:block;
}

/* ---------- Check List ---------- */
.rs-reserveCheck{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 26px;
}

.rs-reserveCheck__item{
  background:#fff;
  border: 1px solid rgba(20,18,14,.10);
  border-radius: 18px;
  box-shadow: 0 14px 28px rgba(0,0,0,.05);
  padding: 18px 18px 18px;
  display:flex;
  gap: 14px;
  align-items:flex-start;
  position:relative;
  overflow:hidden;
}

.rs-reserveCheck__item:before{
  content:"";
  position:absolute;
  left: 18px;
  right: 18px;
  top: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(201,179,126,.80), transparent);
  opacity:.9;
}

.rs-reserveCheck__icon{
  width: 46px;
  height: 46px;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: linear-gradient(180deg,#fff 0%, #fbfaf7 100%);
  border: 1px solid rgba(20,18,14,.10);
  color:#1f1c17;
  font-weight: 800;
  flex: 0 0 auto;
}

.rs-reserveCheck__ttl{
  margin: 0 0 6px;
  font-size: 15px;
  color:#1f1c17;
  font-weight: 800;
}

.rs-reserveCheck__desc2{
  margin: 0 0 8px;
  font-size: 13px;
  line-height: 1.9;
  color:#6a645c;
}

.rs-reserveCheck__link{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  text-decoration:none;
  font-size: 13px;
  color:#1f1c17;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(20,18,14,.10);
  background:#fff;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.rs-reserveCheck__link:hover{
  transform: translateY(-1px);
  border-color: rgba(201,179,126,.45);
  box-shadow: 0 14px 26px rgba(0,0,0,.06);
}

/* cancel policy list */
.rs-reservePolicy{
  margin: 0 0 10px;
  padding-left: 18px;
  font-size: 13px;
  line-height: 1.9;
  color:#6a645c;
}
.rs-reservePolicy strong{
  color:#1f1c17;
}

/* ---------- Responsive ---------- */
@media (max-width: 1080px){
  .rs-reserveStep{
    grid-template-columns: 90px 1fr;
  }
  .rs-reserveStep__shot{
    grid-column: 1 / -1;
  }
  .rs-reserveStep__shot img{
    height: 260px;
  }
}

@media (max-width: 760px){
  .rs-reserve{
    padding: 76px 16px;
  }

  .rs-reserveHero__title{
    font-size: 26px;
  }

  .rs-reserveBlock__title{
    font-size: 22px;
  }

  .rs-reserveBtn{
    width: 100%;
    max-width: 440px;
    min-width: 0;
  }

  .rs-reserveCheck{
    grid-template-columns: 1fr;
  }

  .rs-reserveStep__shot img{
    height: 220px;
  }
}

/* =========================================================
   WHAT IS RENTAL SALON
   ========================================================= */

.rs-what{
  padding: 92px 20px;
  background:#fff;
}
.rs-what__inner{
  max-width: 1100px;
  margin: 0 auto;
}

/* ---------- Hero ---------- */
.rs-whatHero{
  text-align:center;
  padding: 10px 0 56px;
}
.rs-whatHero__eyebrow{
  display:inline-block;
  font-size: 11px;
  letter-spacing: .32em;
  color:#7a756c;
  position:relative;
  padding: 0 18px;
  margin-bottom: 14px;
}
.rs-whatHero__eyebrow:before,
.rs-whatHero__eyebrow:after{
  content:"";
  position:absolute;
  top:50%;
  width: 26px;
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(201,179,126,.75), transparent);
}
.rs-whatHero__eyebrow:before{ left:-18px; }
.rs-whatHero__eyebrow:after{ right:-18px; }

.rs-whatHero__title{
  margin: 0 0 14px;
  font-size: 34px;
  line-height: 1.35;
  color:#1f1c17;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight: 600;
  letter-spacing: .05em;
}
.rs-whatHero__lead{
  margin: 0 auto;
  max-width: 820px;
  font-size: 14px;
  line-height: 1.95;
  color:#6a645c;
}
.rs-whatHero__noteBox{
  margin: 18px auto 0;
  max-width: 760px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(20,18,14,.10);
  background: linear-gradient(180deg, #ffffff 0%, #fbfaf7 100%);
  box-shadow: 0 14px 28px rgba(0,0,0,.04);
}
.rs-whatHero__note{
  margin: 0;
  font-size: 14px;
  color:#1f1c17;
}
.rs-whatHero__note strong{
  color:#1f1c17;
}
.rs-whatHero__noteSmall{
  font-size: 12px;
  color:#7a756c;
  margin-left: 6px;
}
.rs-whatHero__cta{
  margin-top: 20px;
  display:flex;
  gap: 12px;
  justify-content:center;
  flex-wrap:wrap;
}

/* ---------- Buttons ---------- */
.rs-whatBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 280px;
  padding: 16px 38px;
  border-radius: 999px;
  text-decoration:none;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease, border-color .25s ease;
}
.rs-whatBtn--primary{
  color:#fff !important;
  background: linear-gradient(180deg, #22c55e 0%, #16a34a 100%);
  box-shadow: 0 16px 30px rgba(22,163,74,.22);
}
.rs-whatBtn--primary:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(22,163,74,.26);
  filter: brightness(.98);
}
.rs-whatBtn--ghost{
  color:#1f1c17 !important;
  background:#fff;
  border: 1px solid rgba(20,18,14,.12);
  box-shadow: 0 14px 28px rgba(0,0,0,.04);
}
.rs-whatBtn--ghost:hover{
  transform: translateY(-2px);
  border-color: rgba(201,179,126,.45);
}

/* ---------- Block ---------- */
.rs-whatBlock{
  padding: 52px 0;
  border-top: 1px solid rgba(20,18,14,.08);
}
.rs-whatBlock__head{
  text-align:center;
  margin-bottom: 26px;
}
.rs-whatBlock__kicker{
  display:inline-block;
  font-size: 11px;
  letter-spacing: .30em;
  color:#8a8378;
  margin-bottom: 10px;
}
.rs-whatBlock__title{
  margin: 0 0 10px;
  font-size: 26px;
  line-height: 1.35;
  color:#1f1c17;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight: 600;
  letter-spacing: .05em;
}
.rs-whatBlock__desc{
  margin: 0 auto;
  max-width: 820px;
  font-size: 14px;
  line-height: 1.9;
  color:#6a645c;
}

/* ---------- Grid 3 ---------- */
.rs-whatGrid3{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
  margin-top: 26px;
}
.rs-whatCard{
  background:#fff;
  border: 1px solid rgba(20,18,14,.10);
  border-radius: 18px;
  box-shadow: 0 14px 28px rgba(0,0,0,.05);
  padding: 18px 18px 20px;
  position:relative;
  overflow:hidden;
}
.rs-whatCard:before{
  content:"";
  position:absolute;
  left: 18px;
  right: 18px;
  top: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(201,179,126,.80), transparent);
  opacity:.9;
}
.rs-whatCard__icon{
  width: 46px;
  height: 46px;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: linear-gradient(180deg,#fff 0%, #fbfaf7 100%);
  border: 1px solid rgba(20,18,14,.10);
  color:#1f1c17;
  font-weight: 900;
  margin-bottom: 12px;
}
.rs-whatCard__ttl{
  margin: 0 0 8px;
  font-size: 16px;
  color:#1f1c17;
  font-weight: 800;
}
.rs-whatCard__txt{
  margin: 0;
  font-size: 13px;
  line-height: 1.9;
  color:#6a645c;
}

/* ---------- List ---------- */
.rs-whatList{
  margin-top: 22px;
  display:grid;
  gap: 12px;
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}
.rs-whatList__item{
  display:flex;
  gap: 12px;
  align-items:flex-start;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(20,18,14,.10);
  background: #fff;
  box-shadow: 0 14px 28px rgba(0,0,0,.04);
}
.rs-whatList__mark{
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: linear-gradient(180deg,#fff 0%, #fbfaf7 100%);
  border: 1px solid rgba(20,18,14,.10);
  font-weight: 900;
  flex: 0 0 auto;
}
.rs-whatList__text{
  margin: 0;
  font-size: 14px;
  line-height: 1.9;
  color:#1f1c17;
}

/* ---------- Compare ---------- */
.rs-whatCompare{
  margin-top: 24px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
}
.rs-whatCompare__col{
  background:#fff;
  border: 1px solid rgba(20,18,14,.10);
  border-radius: 18px;
  box-shadow: 0 14px 28px rgba(0,0,0,.05);
  padding: 18px 18px 20px;
  position:relative;
  overflow:hidden;
}
.rs-whatCompare__col:before{
  content:"";
  position:absolute;
  left: 18px;
  right: 18px;
  top: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(201,179,126,.80), transparent);
  opacity:.9;
}
.rs-whatCompare__ttl{
  margin: 0 0 10px;
  font-size: 15px;
  font-weight: 800;
  color:#1f1c17;
}
.rs-whatCompare__ul{
  margin: 0;
  padding-left: 18px;
  font-size: 13px;
  line-height: 1.9;
  color:#6a645c;
}
.rs-whatCompare__ul strong{ color:#1f1c17; }

/* ---------- Myth (FAQ-like) ---------- */
.rs-whatFaq{
  margin-top: 22px;
  max-width: 860px;
  margin-left:auto;
  margin-right:auto;
  border: 1px solid rgba(20,18,14,.10);
  border-radius: 18px;
  overflow:hidden;
  box-shadow: 0 14px 28px rgba(0,0,0,.04);
}
.rs-whatFaq__row{
  padding: 16px 18px;
  background:#fff;
  border-top: 1px solid rgba(20,18,14,.08);
}
.rs-whatFaq__row:first-child{ border-top:none; }
.rs-whatFaq__q{
  font-weight: 800;
  color:#1f1c17;
  margin-bottom: 8px;
  font-size: 14px;
}
.rs-whatFaq__a{
  color:#6a645c;
  font-size: 13px;
  line-height: 1.9;
}

/* Links */
.rs-whatLinkRow{
  margin-top: 16px;
  display:flex;
  gap: 10px;
  justify-content:center;
  flex-wrap:wrap;
}
.rs-whatPill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(20,18,14,.10);
  text-decoration:none;
  color:#1f1c17;
  background:#fff;
  font-size: 13px;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.rs-whatPill:hover{
  transform: translateY(-1px);
  border-color: rgba(201,179,126,.45);
  box-shadow: 0 14px 26px rgba(0,0,0,.06);
}

/* Voice grid (reuse your existing rs-voiceCard design) */
.rs-whatVoiceGrid{
  margin-top: 24px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
}

/* CTA bottom */
.rs-whatBlock__cta{
  text-align:center;
  margin-top: 26px;
  display:flex;
  gap: 12px;
  justify-content:center;
  flex-wrap:wrap;
}

/* ---------- Responsive ---------- */
@media (max-width: 980px){
  .rs-whatGrid3{ grid-template-columns: 1fr; }
  .rs-whatCompare{ grid-template-columns: 1fr; }
  .rs-whatVoiceGrid{ grid-template-columns: 1fr; }
}
@media (max-width: 760px){
  .rs-what{
    padding: 76px 16px;
  }
  .rs-whatHero__title{
    font-size: 26px;
  }
  .rs-whatBtn{
    width: 100%;
    max-width: 440px;
    min-width: 0;
  }
}
/* =========================================================
   SALON COMPARISON TABLE
   ========================================================= */

.rs-compare{
  padding: 80px 20px;
  background:#fff;
}

.rs-compare__inner{
  max-width: 1100px;
  margin: 0 auto;
}

.rs-compare__head{
  text-align:center;
  margin-bottom: 28px;
}

.rs-compare__kicker{
  font-size: 11px;
  letter-spacing: .28em;
  color:#8a8378;
  margin-bottom: 10px;
}

.rs-compare__title{
  margin: 0 0 10px;
  font-size: 28px;
  line-height: 1.4;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight: 600;
  letter-spacing:.05em;
  color:#1f1c17;
}

.rs-compare__lead{
  font-size: 14px;
  line-height: 1.9;
  color:#6a645c;
  margin: 0;
}

/* --- Table --- */

.rs-compare__tableWrap{
  overflow-x:auto;
  margin-top: 24px;
}

.rs-compare__table{
  width:100%;
  border-collapse: collapse;
  min-width: 820px;
  background:#fff;
  border:1px solid rgba(20,18,14,.08);
  border-radius: 16px;
  overflow:hidden;
  box-shadow: 0 18px 36px rgba(0,0,0,.05);
}

.rs-compare__table thead th{
  padding: 16px;
  font-size: 14px;
  background:#f8f6f2;
  border-bottom:1px solid rgba(20,18,14,.08);
  text-align:center;
  font-weight:700;
  color:#1f1c17;
}

.rs-compare__table thead th small{
  font-size: 11px;
  color:#8a8378;
  font-weight:400;
}

.rs-compare__table tbody th{
  text-align:left;
  padding: 14px 16px;
  font-size: 13px;
  color:#6a645c;
  background:#fbfaf7;
  border-bottom:1px solid rgba(20,18,14,.06);
  width: 160px;
}

.rs-compare__table td{
  padding: 14px 16px;
  font-size: 13px;
  color:#1f1c17;
  border-bottom:1px solid rgba(20,18,14,.06);
  text-align:center;
  line-height:1.7;
}

/* Highlight rental salon column */

.rs-compare__table .is-highlight{
  background: linear-gradient(180deg, #fffdf7 0%, #fbf7eb 100%);
  font-weight:600;
  position:relative;
}

.rs-compare__table thead .is-highlight{
  background: linear-gradient(180deg, #fff8e6 0%, #f7f0dc 100%);
  color:#1f1c17;
}

/* Gold top accent */

.rs-compare__table thead .is-highlight::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(90deg, transparent, rgba(201,179,126,.9), transparent);
}

/* Responsive */

@media (max-width: 760px){
  .rs-compare{
    padding: 60px 16px;
  }
  .rs-compare__title{
    font-size: 22px;
  }
}
/* =========================================
   rs-terms : Terms / Guide (Mincho luxe)
========================================= */
.rs-terms{
  padding: 78px 20px;
  background: #fff;
}
.rs-terms__inner{
  max-width: 980px;
  margin: 0 auto;
}

/* hero */
.rs-terms__hero{
  text-align: center;
  margin-bottom: 26px;
}
.rs-terms__eyebrow{
  display:inline-block;
  font-size: 11px;
  letter-spacing: .30em;
  color:#7a756c;
  margin: 0 0 10px;
  position: relative;
  padding: 0 18px;
}
.rs-terms__eyebrow:before,
.rs-terms__eyebrow:after{
  content:"";
  position:absolute;
  top:50%;
  width: 24px;
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(201,179,126,.75), transparent);
}
.rs-terms__eyebrow:before{ left:-18px; }
.rs-terms__eyebrow:after{ right:-18px; }

.rs-terms__title{
  margin: 0 0 10px;
  font-size: 32px;
  line-height: 1.35;
  color:#1f1c17;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  letter-spacing:.05em;
  font-weight: 600;
}
.rs-terms__lead{
  margin: 0;
  font-size: 14px;
  line-height: 1.9;
  color:#6a645c;
}

/* toc */
.rs-terms__toc{
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin: 24px 0 42px;
}
.rs-terms__tocItem{
  text-decoration:none;
  font-size: 12px;
  letter-spacing:.06em;
  color:#1f1c17;
  border: 1px solid rgba(20,18,14,.10);
  background: #fff;
  border-radius: 999px;
  padding: 10px 12px;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.rs-terms__tocItem:hover{
  transform: translateY(-1px);
  border-color: rgba(201,179,126,.45);
  box-shadow: 0 12px 22px rgba(0,0,0,.06);
}

/* section */
.rs-terms__sec{
  scroll-margin-top: 96px; /* 固定ヘッダー対策 */
  margin-bottom: 26px;
}
.rs-terms__secHead{
  margin: 0 0 10px;
}
.rs-terms__secTitle{
  margin: 0;
  font-size: 20px;
  line-height: 1.35;
  color:#1f1c17;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  letter-spacing:.04em;
  font-weight: 600;
  position: relative;
  padding-bottom: 10px;
}
.rs-terms__secTitle:after{
  content:"";
  display:block;
  height:1px;
  margin-top: 10px;
  background: linear-gradient(90deg,
    rgba(201,179,126,0.00),
    rgba(201,179,126,0.55),
    rgba(201,179,126,0.00)
  );
}
.rs-terms__secSub{
  margin: 8px 0 0;
  font-size: 12px;
  color:#777168;
  line-height: 1.8;
}

/* box */
.rs-terms__box{
  background:#fff;
  border: 1px solid rgba(20,18,14,.10);
  border-radius: 18px;
  box-shadow: 0 14px 28px rgba(0,0,0,.06);
  padding: 18px 18px 18px;
  position: relative;
  overflow: hidden;
}
.rs-terms__box:before{
  content:"";
  position:absolute;
  left: 18px;
  right: 18px;
  top: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(201,179,126,.80), transparent);
  opacity: .9;
}

/* text & lists */
.rs-terms__text{
  margin: 0;
  font-size: 14px;
  line-height: 1.95;
  color:#5f5a52;
}

/* ul */
.rs-terms__list{
  margin: 0;
  padding: 0;
  list-style: none;
}
.rs-terms__list > li{
  position: relative;
  padding-left: 16px;
  margin: 10px 0;
  font-size: 14px;
  line-height: 1.95;
  color:#5f5a52;
}
.rs-terms__list > li:before{
  content:"";
  position:absolute;
  left: 0;
  top: .85em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(201,179,126,.85);
  transform: translateY(-50%);
}

/* ol */
.rs-terms__olist{
  margin: 12px 0 0;
  padding-left: 20px;
}
.rs-terms__olist > li{
  margin: 8px 0;
  font-size: 14px;
  line-height: 1.9;
  color:#5f5a52;
}
.rs-terms__olist > li::marker{
  color: rgba(201,179,126,.95);
  font-weight: 700;
}

/* table */
.rs-terms__tableWrap{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 14px;
  border: 1px solid rgba(20,18,14,.08);
  background:#fff;
}
.rs-terms__table{
  width: 100%;
  border-collapse: collapse;
  min-width: 520px;
}
.rs-terms__table thead th{
  background: linear-gradient(180deg, #fffdf7 0%, #f8f2e4 100%);
  color:#1f1c17;
  font-size: 12px;
  letter-spacing:.08em;
  padding: 12px 14px;
  text-align:left;
  border-bottom: 1px solid rgba(20,18,14,.08);
}
.rs-terms__table tbody td{
  padding: 12px 14px;
  font-size: 14px;
  color:#1f1c17;
  border-bottom: 1px solid rgba(20,18,14,.06);
}
.rs-terms__table tbody tr:last-child td{
  border-bottom: none;
}
.rs-terms__table tbody td:last-child{
  font-weight: 700;
}

/* note */
.rs-terms__note{
  margin: 12px 0 0;
  font-size: 12px;
  line-height: 1.8;
  color:#777168;
}

/* bottom cta */
.rs-terms__cta{
  text-align:center;
  margin-top: 34px;
}
.rs-terms__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 260px;
  height: 48px;
  padding: 0 26px;
  border-radius: 999px;
  text-decoration:none;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .04em;
  color:#fff !important;
  background: linear-gradient(180deg, #22c55e 0%, #16a34a 100%);
  box-shadow: 0 14px 26px rgba(22,163,74,.22);
  line-height: 1;
  box-sizing: border-box;
  transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
}
.rs-terms__btn:hover{
  transform: translateY(-1px);
  filter: brightness(.98);
  box-shadow: 0 16px 30px rgba(22,163,74,.26);
}
.rs-terms__ctaNote{
  margin: 10px 0 0;
  font-size: 12px;
  color:#777168;
}

/* responsive */
@media (max-width: 680px){
  .rs-terms{ padding: 64px 16px; }
  .rs-terms__title{ font-size: 26px; }
  .rs-terms__toc{ gap: 8px; }
  .rs-terms__box{ padding: 16px; }
  .rs-terms__btn{ width:100%; max-width: 420px; }
}

/* ==============================
   強制：ぽち丸（中点）を完全に消す
   ============================== */

/* 利用規約ページ内の「当方の独自リスト」だけを対象 */
#rs-terms ul.rs-terms__list,
.rs-terms ul.rs-terms__list{
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* テーマが li に marker や疑似要素を付けているケース潰し */
#rs-terms ul.rs-terms__list > li,
.rs-terms ul.rs-terms__list > li{
  list-style: none !important;
}

/* ::marker（標準の黒点）を消す（Chrome/Safari/Firefox） */
#rs-terms ul.rs-terms__list > li::marker,
.rs-terms ul.rs-terms__list > li::marker{
  content: "" !important;
  color: transparent !important;
}

/* テーマが ::before で黒点を出してる場合も消す */
#rs-terms ul.rs-terms__list > li::before,
.rs-terms ul.rs-terms__list > li::before{
  content: none !important;
  display: none !important;
}

/* もし「段落ブロックの自動装飾」で黒点が出てる場合の保険 */
#rs-terms .rs-terms__box ul li::before,
.rs-terms .rs-terms__box ul li::before{
  background: none !important;
}
/* =========================
   CONTACT PAGE
========================= */

.rs-contact{
  padding:80px 20px;
  background:#fff;
}
.rs-contact__notice{
  max-width:720px;
  margin:0 auto 32px;
  padding:24px;
  border-radius:18px;
  background:#fbfaf7;
  border:1px solid rgba(20,18,14,.08);
}
.rs-contact__noticeTitle{
  margin:0 0 12px;
  font-weight:700;
  font-size:16px;
}
.rs-contact__noticeList{
  list-style:none;
  padding:0;
  margin:0;
}
.rs-contact__noticeList li{
  margin:8px 0;
}
.rs-contact__warn{
  color:#b22222;
  font-weight:600;
}

.rs-contact__form{
  max-width:720px;
  margin:0 auto;
}

.rs-contact__row{
  margin-bottom:22px;
}

.rs-contact__row label{
  display:block;
  margin-bottom:8px;
  font-weight:600;
}

.req{
  font-size:11px;
  color:#fff;
  background:#b22222;
  padding:3px 6px;
  border-radius:999px;
  margin-left:6px;
}

.rs-input,
.rs-select,
.rs-textarea{
  width:100%;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(20,18,14,.15);
  font-size:14px;
}

.rs-textarea{
  min-height:160px;
  resize:vertical;
}

.rs-btn{
  display:inline-block;
  padding:14px 36px;
  border-radius:999px;
  border:none;
  font-size:14px;
  font-weight:700;
  background:linear-gradient(180deg,#d9c27a 0%,#b79b52 100%);
  color:#fff !important;
  cursor:pointer;
  transition:.2s;
}
.rs-btn:hover{
  transform:translateY(-1px);
  opacity:.95;
}

.rs-contact__submit{
  text-align:center;
}
/* =========================
   Privacy Policy Page
========================= */
.rs-policy{
  padding: 86px 20px;
  background:#fff;
}
.rs-policy__inner{
  max-width: 920px;
  margin: 0 auto;
}
.rs-policy__head{
  text-align:center;
  margin-bottom: 36px;
}
.rs-policy__eyebrow{
  display:inline-block;
  font-size: 11px;
  letter-spacing: .28em;
  color:#7a756c;
  margin-bottom: 12px;
  position: relative;
  padding: 0 18px;
}
.rs-policy__eyebrow:before,
.rs-policy__eyebrow:after{
  content:"";
  position:absolute;
  top:50%;
  width: 24px;
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(201,179,126,.75), transparent);
}
.rs-policy__eyebrow:before{ left:-18px; }
.rs-policy__eyebrow:after{ right:-18px; }

.rs-policy__title{
  margin: 0 0 14px;
  font-size: 32px;
  line-height: 1.3;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight: 600;
  letter-spacing: .04em;
  color:#1f1c17;
}
.rs-policy__lead{
  margin:0;
  font-size: 14px;
  line-height: 1.95;
  color:#6a645c;
}

.rs-policy__body h2{
  margin: 34px 0 12px;
  padding-top: 22px;
  border-top: 1px solid rgba(20,18,14,.08);
  font-size: 18px;
  line-height: 1.5;
  color:#1f1c17;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight: 600;
  letter-spacing: .03em;
}
.rs-policy__body p{
  margin: 0 0 14px;
  font-size: 14px;
  line-height: 1.95;
  color:#5f5a52;
}
.rs-policy__list{
  margin: 0 0 16px;
  padding-left: 18px;
  font-size: 14px;
  line-height: 1.95;
  color:#5f5a52;
}
.rs-policy__note{
  font-size: 12px;
  color:#7a756c;
  margin-top: 8px;
}
.rs-policy__box{
  padding: 18px 18px;
  border-radius: 16px;
  background: #fbfaf7;
  border: 1px solid rgba(20,18,14,.08);
}
.rs-policy__box p{
  margin: 0 0 8px;
}
.rs-policy__box p:last-child{
  margin-bottom: 0;
}
.rs-policy__body a{
  color:#1f1c17;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.rs-policy__updated{
  margin-top: 34px;
  font-size: 12px;
  color:#7a756c;
  text-align:right;
}

@media (max-width: 560px){
  .rs-policy{ padding: 64px 16px; }
  .rs-policy__title{ font-size: 26px; }
}
/* =========================
   特定商取引法ページ
========================= */

.rs-law{
  padding: 90px 20px;
  background:#fff;
}

.rs-law__inner{
  max-width: 900px;
  margin: 0 auto;
}

.rs-law__head{
  text-align:center;
  margin-bottom:40px;
}

.rs-law__eyebrow{
  display:inline-block;
  font-size:11px;
  letter-spacing:.28em;
  color:#7a756c;
  margin-bottom:12px;
  position:relative;
  padding:0 18px;
}
.rs-law__eyebrow:before,
.rs-law__eyebrow:after{
  content:"";
  position:absolute;
  top:50%;
  width:24px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(201,179,126,.8),transparent);
}
.rs-law__eyebrow:before{ left:-18px; }
.rs-law__eyebrow:after{ right:-18px; }

.rs-law__title{
  margin:0;
  font-size:30px;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight:600;
  letter-spacing:.04em;
  color:#1f1c17;
}

/* table layout */
.rs-law__table{
  border-top:1px solid rgba(20,18,14,.1);
}

.rs-law__row{
  display:flex;
  border-bottom:1px solid rgba(20,18,14,.08);
}

.rs-law__th{
  width:32%;
  padding:18px;
  background:#faf9f6;
  font-weight:600;
  font-size:14px;
  color:#1f1c17;
}

.rs-law__td{
  width:68%;
  padding:18px;
  font-size:14px;
  line-height:1.9;
  color:#5f5a52;
}

.rs-law__td a{
  text-decoration:underline;
  color:#1f1c17;
}

/* responsive */
@media(max-width:768px){
  .rs-law__row{
    flex-direction:column;
  }
  .rs-law__th,
  .rs-law__td{
    width:100%;
  }
}

/* トップページの大きいロゴテキスト非表示 */
#index_header_logo {
  display: none !important;
}

.index_gallery_list .rs-firstHero__eyebrow {
  font-family: "Times New Roman", Times, serif;
}

.rs-priceTable__link{
  text-decoration: none;
  color: #1f1c17;
  font-weight: 600;
  letter-spacing: .04em;
  transition: color .25s ease;
}

.rs-priceTable__link:hover{
  color: #b8954c;
}

/* ===========================
   Hero cards: 施術スペース/間取り図を完全に同サイズ・同デザインに統一
=========================== */

/* グリッドはそのまま（必要なら比率だけ調整） */
.rs-storepage__heroGrid{
  display:grid;
  grid-template-columns: 1fr 1fr; /* 2枚を同幅にする */
  gap: 18px;
  align-items: stretch;
}

/* カード共通（完全統一） */
.rs-storepage__heroFig{
  margin:0;
  position: relative;
  background:#fff;
  border: 1px solid rgba(20,18,14,.10);
  border-radius: 18px;
  overflow:hidden;
  box-shadow: 0 18px 40px rgba(0,0,0,.06);

  /* “同じ高さ”のための構造 */
  display: grid;
  grid-template-rows: 1fr auto; /* 画像エリア + caption */
}

/* 画像は両方同じ枠（高さ＝比率で固定） */
.rs-storepage__heroFig img{
  width:100%;
  height:auto;               /* 既存の height:360px を潰す */
  aspect-ratio: 16 / 10;     /* ここを変えると2枚とも同じ高さで変わる */
  object-fit: cover;         /* 写真はトリミングして美しく */
  display:block;
}

/* 間取り図も同じ枠に収める（トリミングせず全体表示） */
.rs-storepage__heroFig--plan img{
  object-fit: contain;       /* これだけ差を付ける */
  background: linear-gradient(180deg,#fbfaf8 0%, #f6f2ea 100%);
}

/* captionも完全統一（被せない・同じ帯） */
.rs-storepage__heroFig figcaption{
  padding: 12px 14px;
  font-size: 12px;
  color:#7a756c;
  border-top: 1px solid rgba(20,18,14,.08);
  text-align:left;           /* 好みで center でもOK */
  letter-spacing: .04em;
}

/* レスポンシブ */
@media (max-width: 980px){
  .rs-storepage__heroGrid{ grid-template-columns: 1fr; }
  .rs-storepage__heroFig img{ aspect-ratio: 16 / 11; }
}
@media (max-width: 560px){
  .rs-storepage__heroFig img{ aspect-ratio: 4 / 3; }
}

/* ===========================
   Price (Discount 강조版)
=========================== */

.rs-storepage__priceWrap--discount{
  max-width: 980px;
  margin: 0 auto;
}

.rs-storepage__priceHero{
  background:#fff;
  border: 1px solid rgba(20,18,14,.10);
  border-radius: 18px;
  box-shadow: 0 18px 40px rgba(0,0,0,.06);
  padding: 22px 22px 18px;
  position: relative;
  overflow:hidden;
}

.rs-storepage__priceHero:before{
  content:"";
  position:absolute;
  left:22px; right:22px; top:0;
  height:2px;
  background: linear-gradient(90deg, transparent, rgba(201,179,126,.85), transparent);
  opacity:.95;
}

.rs-storepage__priceHeroTop{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 14px;
  flex-wrap:wrap;
}

.rs-storepage__priceLabel{
  font-size: 11px;
  letter-spacing: .28em;
  color:#8a8378;
}

.rs-storepage__priceValue{
  display:flex;
  align-items:baseline;
  gap: 10px;
}

.rs-storepage__priceYen{
  font-size: 40px;
  line-height: 1;
  font-family:"Times New Roman","游明朝","Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight: 700;
  letter-spacing: .03em;
}

.rs-storepage__priceUnit{
  font-size: 14px;
  color:#6a645c;
  letter-spacing: .06em;
}

.rs-storepage__priceMeta{
  margin-top: 14px;
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap: 10px;
  font-size: 13px;
  color:#6a645c;
}
.rs-storepage__priceMetaSep{ opacity:.5; }

/* 割引ステップ：長時間ほど強調される並び */
.rs-storepage__tierGrid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
  margin-top: 16px;
}

.rs-storepage__tier{
  background:#fff;
  border: 1px solid rgba(20,18,14,.10);
  border-radius: 16px;
  padding: 16px 16px 14px;
  box-shadow: 0 14px 28px rgba(0,0,0,.05);
  position: relative;
}

.rs-storepage__tier:before{
  content:"";
  position:absolute;
  left:16px; right:16px; top:0;
  height:2px;
  background: linear-gradient(90deg, transparent, rgba(201,179,126,.75), transparent);
  opacity:.9;
}

.rs-storepage__tierHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  margin-top: 4px;
}

.rs-storepage__tierHours{
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .04em;
  color:#1f1c17;
}

.rs-storepage__tierBadge{
  font-size: 11px;
  letter-spacing: .10em;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(201,179,126,.55);
  background: linear-gradient(180deg,#fbf7ee 0%, #f3ead8 100%);
  color:#1f1c17;
  font-weight: 700;
  white-space: nowrap;
}

.rs-storepage__tierPrice{
  margin-top: 12px;
  font-size: 26px;
  font-weight: 800;
  letter-spacing: .02em;
  color:#1f1c17;
}
.rs-storepage__tierPrice span{
  font-size: 12px;
  color:#6a645c;
  font-weight: 600;
  margin-left: 6px;
}

/* “おすすめ” を真ん中だけ強く */
.rs-storepage__tier--best{
  transform: translateY(-4px);
  box-shadow: 0 20px 44px rgba(0,0,0,.08);
  border-color: rgba(201,179,126,.55);
}

.rs-storepage__tier--best .rs-storepage__tierBadge{
  border-color: rgba(201,179,126,.85);
}

.rs-storepage__tierNote{
  margin-top: 10px;
  font-size: 12px;
  color:#8a8378;
  letter-spacing: .18em;
  text-align:right;
}

/* 注意書き */
.rs-storepage__priceNote--discount{
  margin-top: 12px;
  text-align:center;
  font-size: 12px;
  color:#7a756c;
  line-height: 1.9;
}

/* responsive */
@media (max-width: 980px){
  .rs-storepage__tierGrid{
    grid-template-columns: 1fr;
  }
  .rs-storepage__tier--best{
    transform: none;
  }
  .rs-storepage__priceHeroTop{
    justify-content:center;
    text-align:center;
  }
  .rs-storepage__priceValue{
    justify-content:center;
  }
}

/* ===========================
   Price tweak（指定3点）
=========================== */

/* 1) 「通常（1時間あたり・税込）」を「3時間以上」と同じ系統の見た目に寄せる */
.rs-storepage__priceLabel{
  font-size: 14px;              /* rs-storepage__tierHours と合わせる */
  font-weight: 700;
  letter-spacing: .04em;
  color:#1f1c17;
}

/* 3) 注意書き2行の余白を詰める */
.rs-storepage__priceNote--discount{
  margin-top: 8px;              /* 12px → 8px */
  line-height: 1.7;
}

.rs-storepage__priceNote--discount p{
  margin: 4px 0;                /* 行間の余白を詰める */
}

/* 通常料金ブロックを縦中央寄せにする */
.rs-storepage__priceHeroTop{
  align-items: center;   /* flex-end → center に変更 */
}

/* 念のためラベル側の余白も整える */
.rs-storepage__priceLabel{
  margin: 0;
  display: flex;
  align-items: center;
}

/* ===== Equipment "もっと見る" ===== */
.rs-storepage__equipWrap{
  position: relative;
  max-height: 340px;          /* ←最初に見せる高さ（好みで調整OK） */
  overflow: hidden;
  border-radius: 18px;        /* 角丸の世界観 */
}

/* うっすらフェード（続きがある感） */
.rs-storepage__equipWrap:after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height: 88px;
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,1));
  pointer-events:none;
}

/* 展開時は制限解除＆フェード消す */
#rsEquipToggle:checked ~ .rs-storepage__equipWrap{
  max-height: none;
  overflow: visible;
}
#rsEquipToggle:checked ~ .rs-storepage__equipWrap:after{
  display:none;
}

/* CTA */
.rs-storepage__equipCta{
  text-align:center;
  margin-top: 16px;
}
.rs-storepage__equipShowLess{ display:none; }
#rsEquipToggle:checked ~ .rs-storepage__equipCta .rs-storepage__equipShowMore{ display:none; }
#rsEquipToggle:checked ~ .rs-storepage__equipCta .rs-storepage__equipShowLess{ display:inline-flex; }

/* 追従CTAの「置き場所」(右下固定) */
.rs-sticky-cta{
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 99999;
}

/* スマホは少し上げる（下部バーと被るの防止） */
@media (max-width: 560px){
  .rs-sticky-cta{
    right: 16px;
    bottom: 16px;
  }
}

html, body{
  overflow-x: hidden;
}

/* まずは全ページ共通：普通に中央寄せ（固定ページはこれでOK） */
@media (max-width: 768px){
  a.rs-firstBtn.rs-firstBtn--gold{
    display: block !important;
    width: min(420px, calc(100vw - 32px)) !important; /* 画面内に収める */
    margin: 0 auto !important;
    box-sizing: border-box !important;

    /* 強制中央寄せ（TOP用）は一旦無効化 */
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }
}

/* TOPページ（home/front-page）だけ：親がデカい時でも画面中央に強制 */
@media (max-width: 768px){
  body.home a.rs-firstBtn.rs-firstBtn--gold,
  body.front-page a.rs-firstBtn.rs-firstBtn--gold{
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
}


/* 見学フォームCTAが親からはみ出さないようにする */
.rs-tour__cta{
  max-width: 100%;
}

a.rs-tour__btn{
  display: block;
  width: 100%;
  max-width: calc(100% - 32px); /* 親の内側に収める（左右16pxぶん） */
  margin: 0 auto;
  box-sizing: border-box;
  text-align: center;
  white-space: normal; /* 長文でも折り返す */
}


/* rs-firstBtn が親からはみ出す根本原因（min-width）を潰す */
@media (max-width: 768px){
  .rs-firstHero__cta a.rs-firstBtn.rs-firstBtn--gold,
  a.rs-firstBtn.rs-firstBtn--gold{
    min-width: 0 !important;          /* ←これが本命 */
    width: 100% !important;
    max-width: calc(100% - 32px) !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;

    /* paddingが大きすぎて窮屈な時の保険 */
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
}

#return_top{
  display: none !important;
}

/* 追従「予約する」ボタン：実機で左寄り＆背景ベタを強制修正 */
.rs-sticky-cta{
  position: fixed !important;
  right: 16px !important;
  bottom: 16px !important;
  left: auto !important;
  top: auto !important;

  z-index: 99999 !important;

  /* ここが“透過じゃない”原因になりがちなので完全透明に */
  background: transparent !important;
  box-shadow: none !important;

  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;

  transform: none !important;
}

/* ボタン本体（丸だけ見せる） */
.rs-sticky-cta a,
.rs-sticky-cta__btn{
  display: flex !important;
  align-items: center;
  justify-content: center;

  width: 88px !important;     /* 好みで調整OK */
  height: 88px !important;
  border-radius: 9999px !important;

  /* “背景透過なし”になってる場合は、ここで色を確定 */
  background: #cdb56d !important;  /* 既存の金色に合わせて */
  color: #fff !important;

  box-sizing: border-box !important;

  left: auto !important;
  right: auto !important;
  transform: none !important;
}

/* 追従CTAの「背景ぼかし」を完全に無効化 */
.rs-sticky-cta,
.rs-sticky-cta *{
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  filter: none !important;
}

/* もし四角い背景レイヤーが残る場合の保険 */
.rs-sticky-cta{
  background: transparent !important;
  box-shadow: none !important;
}

@media (max-width: 768px){
  .grecaptcha-badge{
    bottom: 120px !important;
  }
}