/* MUQBEL base.css — リセット + トークン + 共通パーツ（PC/SP共通）
   デザイン方針：静謐な白基調 × ゴールドの細線。余白を主役に、装飾は最小限で上質に。 */
:root{
  /* 色：温かみのある白とウォームグレー。金は差し色として少量に */
  --c-primary:#1b1917;
  --c-secondary:#7a736c;
  --c-muted:#a39b92;
  --c-accent:#c8a87e;
  --c-accent-deep:#b08e62;
  --c-focus:#8a6a3b;        /* フォーカス枠。白4.99:1 / 薄灰4.57 / 濃紺3.13 / 黒3.51 でWCAG 3:1を満たす */
  --c-bg:#fff;
  --c-bg-dark:#1b1917;
  --c-bg-light:#faf8f5;
  --c-bg-tint:#f3efe9;
  --c-border:#e9e4dc;
  --c-hairline:#ded7cc;
  --c-white:#fff;
  /* 書体 */
  --font-ja:"Shippori Mincho","Noto Serif JP",serif;
  --font-body:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --font-en:"Cormorant Garamond","Times New Roman",serif;
  --lh:2;
  /* 字間 */
  --ls-ja:.16em;
  --ls-en:.1em;
  /* 余白リズム */
  --sp-section:4.5em;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;color:var(--c-primary);background:var(--c-bg);font-family:var(--font-body);line-height:var(--lh);font-size:15px;font-feature-settings:"palt";-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;vertical-align:bottom}
a{color:inherit;text-decoration:none;transition:color .3s var(--ease)}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,p,dl,dd{margin:0}
button{font-family:inherit}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* 本文へスキップ。普段は画面外、Tabでフォーカスが来たときだけ左上に出る。
   display:none や visibility:hidden だとフォーカスを受け取れないので、位置で隠す */
.skip-link{position:absolute;top:0;left:0;z-index:1000;transform:translateY(-120%);
  background:var(--c-bg);color:var(--c-primary);border:1px solid var(--c-accent);
  padding:.9em 1.6em;font-size:.78rem;letter-spacing:.14em;text-decoration:none;
  transition:transform .2s var(--ease)}
.skip-link:focus{transform:translateY(0)}
/* キーボード操作時のフォーカス表示。:focus-visible なのでマウスのクリックでは出ない。
   ブラウザ既定のリングはブラウザごとに見た目が変わり、暗い背景で見失いやすいため揃える。 */
:where(a,button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"])):focus-visible{
  outline:2px solid var(--c-focus);outline-offset:2px;border-radius:1px}
/* 写真・動画の上は背景色が読めないので白にする */
.hero--video :focus-visible,.cat-hero :focus-visible,.home-okinawa :focus-visible,
.brand-detail__hero :focus-visible{outline-color:var(--c-white)}

/* スクロール先が固定ヘッダーの下に隠れないように */
#main{scroll-margin-top:1rem}
/* スキップ後に <main> 自体へ枠線が出ると不自然なので消す（操作性には影響しない） */
#main:focus{outline:none}
main{display:block}
::selection{background:var(--c-accent);color:#fff}

/* スクロール・フェードイン（控えめ） */
.reveal{opacity:0;transform:translateY(16px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* 見出し：EN（イタリック）＋金のヘアライン＋和文ワイドトラッキング */
.section-title{text-align:center;margin:0 0 2.6em}
.section-title__en{display:block;font-family:var(--font-en);font-style:italic;font-size:2.1rem;line-height:1.2;color:var(--c-accent);letter-spacing:.08em}
.section-title__ja{display:block;font-family:var(--font-ja);font-size:.82rem;letter-spacing:.24em;margin-top:1.1em;color:var(--c-primary);position:relative;padding-top:1.3em}
.section-title__ja::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:38px;height:1px;background:var(--c-accent)}

/* ページヒーロー（下層共通） */
.page-hero{text-align:center;padding:5em 1.4em 4.2em;background:var(--c-bg-light)}
.page-hero__en{font-family:var(--font-en);font-style:italic;color:var(--c-accent);font-size:1.9rem;letter-spacing:.08em;margin:0;line-height:1.2}
.page-hero__title{font-family:var(--font-ja);font-size:1.5rem;letter-spacing:.2em;font-weight:500;margin:.7em 0 0}
.page-hero__lead{color:var(--c-secondary);font-size:.86rem;max-width:620px;margin:2em auto 0;line-height:2.1}
.page-hero__reading{display:block;font-size:.72rem;color:var(--c-muted);letter-spacing:.2em;margin-top:.9em;font-family:var(--font-body)}

/* ボタン：細線・ワイドトラッキング・金で満たすホバー */
.cta-buttons{display:flex;flex-wrap:wrap;gap:1em;justify-content:center;margin:2.4em 0}
.cta-buttons a{display:inline-block;padding:1.15em 3em;border:1px solid var(--c-hairline);color:var(--c-primary);font-size:.78rem;letter-spacing:.2em;
  background-image:linear-gradient(var(--c-accent),var(--c-accent));background-size:0 100%;background-repeat:no-repeat;background-position:left center;
  transition:background-size .5s var(--ease),color .4s var(--ease),border-color .4s var(--ease)}
.cta-buttons a:hover{background-size:100% 100%;color:var(--c-white);border-color:var(--c-accent)}

/* パンくず */
.breadcrumb{padding:1.4em 1.4em .4em;font-size:.72rem;color:var(--c-muted);letter-spacing:.08em;max-width:1280px;margin:0 auto}
.breadcrumb__list{display:flex;flex-wrap:wrap;gap:.5em;align-items:center}
.breadcrumb__item+.breadcrumb__item::before{content:"—";margin-right:.5em;color:var(--c-hairline)}
.breadcrumb a{color:var(--c-secondary)}
.breadcrumb a:hover{color:var(--c-accent)}

/* ヘッダー */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);border-bottom:1px solid var(--c-border);-webkit-backdrop-filter:blur(12px) saturate(1.2);backdrop-filter:blur(12px) saturate(1.2)}
.site-header__inner{display:flex;align-items:center;gap:1.6em;padding:1em 2em;max-width:1360px;margin:0 auto}
.site-header__logo{flex:0 0 auto;line-height:0}
.site-header__logo img{transition:opacity .3s var(--ease)}
.site-header__logo a:hover img{opacity:.6}
.site-nav{flex:1 1 auto}
.site-nav__list{display:flex;justify-content:center;gap:2.1em}
.site-nav__item a{display:flex;flex-direction:column;align-items:center;gap:.5em;white-space:nowrap;padding:.3em 0;position:relative}
.site-nav__item a::after{content:"";position:absolute;bottom:-.2em;left:50%;width:0;height:1px;background:var(--c-accent);transition:width .4s var(--ease),left .4s var(--ease)}
.site-nav__item a:hover::after{width:100%;left:0}
.site-nav__en{font-family:var(--font-en);font-style:italic;color:var(--c-accent);font-size:.72rem;letter-spacing:.1em;line-height:1}
.site-nav__ja{font-size:.72rem;letter-spacing:.14em;color:var(--c-primary);line-height:1;transition:color .3s var(--ease)}
.site-nav__item a:hover .site-nav__ja{color:var(--c-accent)}
.site-header__actions{flex:0 0 auto;display:flex;align-items:center;gap:1.4em}
.site-header__reserve{border:1px solid var(--c-accent);color:var(--c-primary);padding:.75em 1.5em;font-size:.72rem;letter-spacing:.18em;transition:background .4s var(--ease),color .4s var(--ease)}
.site-header__reserve:hover{background:var(--c-accent);color:var(--c-white)}
.site-header__tel{font-family:var(--font-en);font-size:1.08rem;color:var(--c-primary);letter-spacing:.06em}
.site-header__toggle{display:none;width:34px;height:24px;background:none;border:0;cursor:pointer;position:relative}
.site-header__toggle-bar,.site-header__toggle-bar::before,.site-header__toggle-bar::after{content:"";position:absolute;left:2px;right:2px;height:1px;background:var(--c-primary);transition:.35s var(--ease)}
.site-header__toggle-bar{top:11px}
.site-header__toggle-bar::before{top:-7px}
.site-header__toggle-bar::after{top:7px}
.drawer{display:none;background:var(--c-bg)}
.drawer__en{font-family:var(--font-en);font-style:italic;color:var(--c-accent);margin-right:.9em;font-size:.82em;letter-spacing:.08em}
.drawer__brands-title{font-family:var(--font-en);font-style:italic;color:var(--c-accent);margin:2em 0 .6em;letter-spacing:.14em;font-size:1.1rem}

/* ブランドグリッド */
.brand-grid{display:grid;gap:2em 1.4em;padding:1em 1.4em 2em}
.brand-grid__item a{display:block;text-align:center}
.brand-grid__thumb{display:block;background:var(--c-bg-light);aspect-ratio:4/3;overflow:hidden}
.brand-grid__reading{display:block;font-size:.72rem;letter-spacing:.14em;color:var(--c-muted);margin-top:.35em}
.brand-grid__text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
  margin-top:.7em;font-size:.74rem;line-height:1.85;color:var(--c-secondary);text-align:left;min-height:3.7em}
.brand-grid__thumb img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease),opacity .4s var(--ease)}
.brand-grid__item a:hover .brand-grid__thumb img{transform:scale(1.06)}
.brand-grid__name{display:block;font-family:var(--font-en);font-style:italic;margin-top:1em;font-size:1.02rem;letter-spacing:.04em;transition:color .3s var(--ease)}
.brand-grid__item a:hover .brand-grid__name{color:var(--c-accent)}

/* ブランド詳細 */
.brand-detail__hero{position:relative;background:var(--c-bg-light)}
/* ヒーロー画像は全ブランド 1250x1562 の縦長。枠を決めないと原寸で巨大に出る */
.brand-detail__hero img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 42%}
.brand-detail__hero-text{padding:2.6em 1.4em;text-align:center}
.brand-detail__en{font-family:var(--font-en);font-style:italic;color:var(--c-accent);font-size:1.6rem;letter-spacing:.06em}
.brand-detail__title{font-family:var(--font-ja);font-size:1.4rem;letter-spacing:.2em;font-weight:500;margin-top:.3em}
.brand-detail__reading{display:block;font-size:.7rem;color:var(--c-muted);letter-spacing:.2em;margin-top:.8em;font-family:var(--font-body)}
.taste-filter__pages{margin-top:1.2em;font-size:.72rem;letter-spacing:.08em;color:var(--c-muted);line-height:2.1}
.taste-filter__pages a{color:var(--c-secondary);border-bottom:1px solid var(--c-hairline);padding-bottom:.2em;margin:0 .5em}
.taste-filter__pages a:hover{color:var(--c-accent-deep);border-color:var(--c-accent)}
.taste-page__brands,.taste-page__others,.taste-page__picks{padding:var(--sp-section) 1.4em}
.collection-card__brand{display:block;font-size:.64rem;letter-spacing:.1em;color:var(--c-muted);margin-bottom:.35em}
.taste-page__others{background:var(--c-bg-light)}
.taste-links{display:flex;flex-wrap:wrap;gap:.8em 1.2em;justify-content:center;max-width:900px;margin:0 auto}
.taste-links a{display:inline-block;border:1px solid var(--c-hairline);padding:.6em 1.2em;font-size:.74rem;letter-spacing:.1em;color:var(--c-secondary)}
.taste-links a:hover{border-color:var(--c-accent);color:var(--c-primary)}
.taste-links__n{margin-left:.6em;font-size:.66rem;color:var(--c-muted)}
.brand-facts__item a{color:inherit;border-bottom:1px solid var(--c-accent);padding-bottom:.15em}
/* ブランド一覧：テイストで絞り込む */
.taste-filter{max-width:1080px;margin:0 auto 2.4em;padding:0 1.4em;text-align:center}
.taste-filter__label{font-size:.7rem;letter-spacing:.2em;color:var(--c-muted);margin-bottom:1em}
.taste-filter__btns{display:flex;flex-wrap:wrap;gap:.6em;justify-content:center}
.taste-filter__btn{appearance:none;background:none;cursor:pointer;font-family:inherit;
  border:1px solid var(--c-hairline);color:var(--c-secondary);padding:.6em 1.2em;
  font-size:.72rem;letter-spacing:.1em;transition:background-color .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}
.taste-filter__btn:hover{border-color:var(--c-accent);color:var(--c-primary)}
.taste-filter__btn.is-active{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-white)}

/* ブランド詳細：テイスト・取り扱い・価格帯 */
.brand-facts{display:flex;flex-wrap:wrap;gap:.7em 1.4em;margin-top:1.6em;justify-content:center}
.brand-facts__item{font-size:.76rem;letter-spacing:.08em;color:var(--c-secondary);line-height:1.8}
.brand-facts__k{display:inline-block;margin-right:.7em;padding:.16em .66em;font-size:.62rem;letter-spacing:.14em;
  color:var(--c-accent-deep);border:1px solid var(--c-hairline);vertical-align:.12em}
.brand-card__taste{display:block;margin-top:.5em;font-size:.72rem;letter-spacing:.12em;color:var(--c-accent-deep)}
.brand-detail__concept,.brand-detail__cta{padding:var(--sp-section) 1.4em;text-align:center;max-width:720px;margin:0 auto}
.brand-detail__catch{font-family:var(--font-ja);line-height:2.5;font-size:1rem;letter-spacing:.1em}
.brand-detail__back{text-align:center;padding:1em 0 4em}
.brand-detail__back a{color:var(--c-secondary);font-size:.8rem;letter-spacing:.1em}
.brand-detail__back a:hover{color:var(--c-accent)}
.brand-detail__lineup{max-width:1160px;margin:0 auto;padding:var(--sp-section) 1.4em}
.lineup{margin-bottom:var(--sp-section)}
.lineup:last-of-type{margin-bottom:2em}
.lineup__type{font-family:var(--font-ja);font-size:.94rem;letter-spacing:.18em;margin-bottom:1.4em;padding-bottom:.8em;border-bottom:1px solid var(--c-border)}
.lineup__type-en{font-family:var(--font-en);font-style:italic;color:var(--c-accent);margin-left:.9em;font-size:.86rem;letter-spacing:.06em}
.lineup__table{width:100%;border-collapse:collapse;font-size:.86rem}
.lineup__table th,.lineup__table td{border-bottom:1px solid var(--c-border);padding:1em .6em;text-align:left}
.lineup__table thead th{font-weight:400;font-size:.68rem;color:var(--c-muted);letter-spacing:.14em;padding-bottom:.8em;border-bottom:1px solid var(--c-hairline)}
.lineup__table tbody th{font-family:var(--font-en);font-style:italic;font-weight:500;font-size:.98rem;letter-spacing:.03em}
.lineup__jp{font-family:var(--font-body);font-style:normal;font-weight:400;color:var(--c-muted);font-size:.7rem;margin-left:.8em;letter-spacing:.08em}
/* ブランド一覧：説明つきカード */
.brand-cards{display:grid;gap:2.4em 1.6em;max-width:1160px;margin:0 auto;padding:0 .2em}
.brand-card a{display:grid;grid-template-columns:38% 1fr;gap:1.4em;align-items:center;color:inherit}
.brand-card__thumb{display:block;overflow:hidden;background:var(--c-white);aspect-ratio:4/5}
/* ロゴ入りバナーは横長。ロゴが切れないよう元の比率のまま出す */
.brand-card__thumb--banner{aspect-ratio:1000/513}
.brand-card__thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s var(--ease)}
.brand-card a:hover .brand-card__thumb img{transform:scale(1.06)}
.brand-card__body{display:block}
.brand-card__name{display:block;font-family:var(--font-en);font-style:italic;font-size:1.12rem;letter-spacing:.04em;transition:color .4s var(--ease)}
.brand-card a:hover .brand-card__name{color:var(--c-accent)}
.brand-card__reading{display:block;font-size:.72rem;letter-spacing:.18em;color:var(--c-muted);margin-top:.5em}
.brand-card__text{display:block;font-size:.78rem;line-height:2.05;color:var(--c-secondary);margin-top:1em}
.brand-card__more{display:inline-block;font-size:.72rem;letter-spacing:.16em;color:var(--c-primary);margin-top:1.1em;padding-bottom:.35em;border-bottom:1px solid var(--c-accent)}

/* ブランド：コンセプトの詩組み */
.brand-detail__poem{text-align:center;font-family:var(--font-ja);font-size:1rem;line-height:2.6;letter-spacing:.16em;color:var(--c-primary);padding:0 1.2em}
.brand-detail__concept .brand-detail__catch{margin-top:2.4em}

/* ブランド：ストーリー */
.brand-detail__story{padding:var(--sp-section) 1.4em;background:var(--c-bg-light)}
/* 読みもの（コラム）。記事は src/columns/*.md、生成は gen_site.py */
.column-index{padding:var(--sp-section) 1.4em}
.column-cards{display:grid;gap:2em;max-width:980px;margin:0 auto}
.column-card a{display:grid;gap:1.1em}
.column-card__img{overflow:hidden;background:var(--c-bg-light);display:block}
.column-card__img img{width:100%;height:100%;display:block;object-fit:cover;aspect-ratio:3/2;transition:transform 1.2s var(--ease)}
.column-card a:hover .column-card__img img{transform:scale(1.05)}
.column-card__meta{display:flex;gap:1em;align-items:center;font-size:.72rem;letter-spacing:.14em;color:var(--c-secondary)}
.column-card__cat{border:1px solid var(--c-hairline);padding:.3em .9em;color:var(--c-accent)}
.column-card__title{display:block;font-family:var(--font-ja);font-size:1rem;line-height:1.9;letter-spacing:.08em;margin-top:.7em;color:var(--c-primary)}
.column-card a:hover .column-card__title{color:var(--c-accent)}
.column-card__lead{display:block;font-size:.78rem;line-height:2;color:var(--c-secondary);margin-top:.8em}
.column-index__blog{padding-top:var(--sp-section)}
.ring-cat__columns{padding:var(--sp-section) 1.4em 0}
.column-cards--small .column-card__title{font-size:.92rem}


.column{padding:var(--sp-section) 1.4em;max-width:760px;margin:0 auto}
.column__meta{display:flex;flex-wrap:wrap;gap:1em;align-items:center;font-size:.68rem;letter-spacing:.14em;color:var(--c-secondary)}
.column__cat{border:1px solid var(--c-hairline);padding:.3em .9em;color:var(--c-accent)}
.column__updated{color:var(--c-secondary)}
.column__h1{font-family:var(--font-ja);font-size:1.4rem;line-height:1.85;letter-spacing:.06em;margin:1em 0 0;font-weight:500}
.column__hero{margin-top:2em}
.column__hero img{width:100%;height:auto;display:block}
.column__toc{background:var(--c-bg-light);padding:1.8em 1.8em 1.6em;margin-top:2.6em}
.column__toc-title{font-size:.74rem;letter-spacing:.2em;color:var(--c-accent);margin-bottom:1em}
.column__toc ol{list-style:none;counter-reset:toc}
.column__toc li{counter-increment:toc;font-size:.8rem;line-height:2.1}
.column__toc li::before{content:counter(toc,decimal-leading-zero);color:var(--c-accent);margin-right:.8em;font-family:var(--font-en);font-style:italic}
.column__toc a{color:var(--c-primary)}
.column__toc a:hover{color:var(--c-accent)}
.column__body{margin-top:2.6em}
.column__h2{font-family:var(--font-ja);font-size:1.1rem;line-height:1.9;letter-spacing:.06em;margin:2.8em 0 1.2em;padding-bottom:.7em;border-bottom:1px solid var(--c-hairline);font-weight:500;scroll-margin-top:5em}
.column__h3{font-family:var(--font-ja);font-size:.95rem;line-height:1.9;letter-spacing:.06em;margin:2.2em 0 1em;font-weight:500}
.column__p{font-size:.86rem;line-height:2.25;margin-bottom:1.6em}
.column__list{margin:0 0 1.8em;padding-left:1.4em}
.column__list li{font-size:.86rem;line-height:2.2;margin-bottom:.5em}
.column__quote{border-left:2px solid var(--c-accent);padding:.4em 0 .4em 1.4em;margin:0 0 1.8em}
.column__quote p{font-size:.86rem;line-height:2.2;color:var(--c-secondary)}
.column__table-wrap{overflow-x:auto;margin:0 0 1.8em}
.column__table{width:100%;border-collapse:collapse;font-size:.8rem}
.column__table th,.column__table td{border:1px solid var(--c-hairline);padding:.9em 1em;line-height:1.9;text-align:left;vertical-align:top}
.column__table th{background:var(--c-bg-light);font-weight:500;letter-spacing:.06em;white-space:nowrap}
.column__body a{color:var(--c-accent);text-decoration:underline;text-underline-offset:.25em}
.column__fig{margin:0 0 1.8em}
.column__fig img{width:100%;height:auto;display:block}
.column__fig figcaption{font-size:.72rem;line-height:1.9;color:var(--c-secondary);margin-top:.9em;letter-spacing:.04em}
.column__figs{display:grid;grid-template-columns:1fr 1fr;gap:.9em;margin-bottom:1.8em}
.column__figs .column__fig{margin:0}
.column__shop{background:var(--c-bg-light);padding:2.4em 1.6em;margin-top:3em;text-align:center}
.column__shop-text{font-size:.82rem;line-height:2.1;margin-bottom:1.8em}
.column__related{margin-top:var(--sp-section)}

/* ブランドページ：イメージ写真のギャラリー（文章なし・写真だけ） */
.brand-detail__gallery{padding:var(--sp-section) 1.4em}
.brand-gallery{display:grid;gap:1em;max-width:1080px;margin:0 auto}
.brand-gallery__item{overflow:hidden;background:var(--c-bg-light)}
.brand-gallery__item img{width:100%;height:100%;display:block;object-fit:cover;aspect-ratio:3/2;transition:transform 1.2s var(--ease)}
.brand-gallery__item:hover img{transform:scale(1.05)}
.story-list{display:grid;gap:var(--sp-section);max-width:1080px;margin:0 auto}
.story-block{display:grid;gap:1.8em}
.story-block__img{overflow:hidden}
.story-block__img img{width:100%;height:auto;display:block;transition:transform 1.3s var(--ease)}
.story-block:hover .story-block__img img{transform:scale(1.04)}
.story-block__title{font-family:var(--font-ja);font-size:1.05rem;letter-spacing:.16em;line-height:1.9;margin-bottom:1.3em;position:relative}
.story-block__title::after{content:"";display:block;width:34px;height:1px;background:var(--c-accent);margin-top:1em}
.story-block__text{font-size:.84rem;line-height:2.2;color:var(--c-secondary)}
.story-block__text+.story-block__text{margin-top:1.3em}
.story-block__figure{margin-top:1.8em}
.story-block__figure img{width:100%;height:auto;display:block}
.story-block__note{font-size:.72rem;line-height:1.95;color:var(--c-muted);margin-top:.8em}

/* コフレクルール：誕生石 */
.stone-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6em 1em;margin:2em 0 1.4em}
.stone-item{text-align:center}
.stone-item__img{display:block;width:72px;height:72px;margin:0 auto .7em;border-radius:50%;overflow:hidden;background:var(--c-white)}
.stone-item__img img{width:100%;height:100%;object-fit:cover;display:block}
.stone-item__m{display:block;font-family:var(--font-en);font-style:italic;font-size:.78rem;color:var(--c-accent);letter-spacing:.06em}
.stone-item__name{display:block;font-size:.7rem;letter-spacing:.08em;margin-top:.3em;color:var(--c-secondary)}

/* ブランド：デザイン別カード（DANIEL BECKS 等） */
.brand-detail__lineup:has(.design-list){max-width:1120px}
.design-list{display:grid;gap:var(--sp-section);max-width:1080px;margin:0 auto}
.design-card{display:grid;gap:1.8em}
.design-card__img,.silver-card__img{background:var(--c-white);overflow:hidden}
.design-card__img img,.silver-card__img img{width:100%;height:auto;display:block;transition:transform 1.2s var(--ease)}
.design-card:hover .design-card__img img,.silver-card:hover .silver-card__img img{transform:scale(1.05)}
.design-card__no{font-family:var(--font-en);font-style:italic;color:var(--c-accent);font-size:1.5rem;letter-spacing:.06em;margin:0 0 .5em;line-height:1}
.design-card__title{font-family:var(--font-en);font-style:italic;font-size:1.35rem;letter-spacing:.04em;font-weight:500;margin:0 0 1.2em}
.design-card__name{display:block;font-family:var(--font-ja);font-style:normal;font-size:.8rem;letter-spacing:.18em;color:var(--c-secondary);margin-top:.7em}
.design-card__lead{font-size:.9rem;line-height:2.1;letter-spacing:.06em;margin-bottom:1.1em}
.design-card__text{font-size:.82rem;line-height:2.2;color:var(--c-secondary);margin-bottom:2em}
.brand-detail__silver{padding:var(--sp-section) 1.4em;background:var(--c-bg-light)}
.silver-list{display:grid;gap:2.6em;max-width:1080px;margin:0 auto}
.silver-card{background:var(--c-white);padding:2em 1.8em}
.silver-card .design-card__title{font-size:1.15rem;margin:1.4em 0 1.2em}
.brand-detail__spec{padding:var(--sp-section) 1.4em;max-width:880px;margin:0 auto}
.brand-detail__official{text-align:center;padding:0 1.4em 1em;display:flex;flex-wrap:wrap;gap:1.4em 2.4em;justify-content:center}
.brand-detail__official a{display:inline-block;font-size:.76rem;letter-spacing:.16em;padding-bottom:.5em;border-bottom:1px solid var(--c-accent);color:var(--c-primary);transition:color .4s var(--ease)}
.brand-detail__official a:hover{color:var(--c-accent-deep)}
.brand-detail__source{font-size:.72rem;color:var(--c-muted);margin-top:1.4em;letter-spacing:.06em}
.lineup__photo{width:72px;padding:.6em .6em .6em 0}
.lineup__photo img{width:72px;height:72px;object-fit:cover;background:#fff;transition:opacity .4s var(--ease)}
.lineup__photo a:hover img{opacity:.75}
.lineup__price{white-space:nowrap;text-align:right;font-size:.78rem;color:var(--c-secondary)}
.brand-detail__price-note{color:var(--c-muted);font-size:.72rem;margin-top:1.6em;line-height:1.9}

/* FAQ アコーディオン */
.faq-accordion{max-width:760px;margin:0 auto;border-top:1px solid var(--c-border)}
.faq-accordion__item{border-bottom:1px solid var(--c-border)}
.faq-accordion__q{width:100%;text-align:left;background:none;border:0;padding:1.5em 3em 1.5em .4em;font-size:.88rem;cursor:pointer;position:relative;letter-spacing:.06em;color:var(--c-primary);transition:color .3s var(--ease)}
.faq-accordion__q:hover{color:var(--c-accent)}
.faq-accordion__q-label,.faq-accordion__a-label{display:inline-block;width:1.9em;color:var(--c-accent);font-family:var(--font-en);font-style:italic;font-weight:600;font-size:1.05em}
.faq-accordion__q::after,.faq-accordion__q::before{content:"";position:absolute;right:1em;top:50%;background:var(--c-accent);transition:transform .4s var(--ease),opacity .4s var(--ease)}
.faq-accordion__q::after{width:13px;height:1px;transform:translateY(-50%)}
.faq-accordion__q::before{width:1px;height:13px;transform:translateY(-50%) translateX(6px)}
.faq-accordion__q[aria-expanded="true"]::before{opacity:0;transform:translateY(-50%) translateX(6px) rotate(90deg)}
.faq-accordion__a{padding:0 1em 1.8em .4em;color:var(--c-secondary);font-size:.84rem;line-height:2.1}
.faq-accordion__caveat{color:var(--c-muted);font-size:.76rem}

/* お客様の声 */
.voice-list{display:grid;gap:1.6em;max-width:940px;margin:0 auto;padding:0 1.4em}
.voice-list__item{background:var(--c-bg-light);padding:2.4em 2em;position:relative}
.voice-list__item::before{content:"”";position:absolute;top:.1em;left:.4em;font-family:var(--font-en);font-size:3.4rem;color:var(--c-accent);opacity:.35;line-height:1}
.voice-list__text{font-size:.86rem;line-height:2.1;position:relative}
.voice-list__attr{margin-top:1.2em;color:var(--c-muted);font-size:.72rem;text-align:right;letter-spacing:.1em}

/* トップ：動画ヒーロー */
/* ヒーロー（動画）— 共通部分のみ。レイアウトは pc.css（動画の上に文字）／sp.css（動画の下に文字）で分ける */
.hero--video{position:relative;overflow:hidden;text-align:center}
.hero__video{display:block;width:100%;background:var(--c-bg-tint)}
.hero__inner{position:relative;z-index:2;max-width:840px;margin-left:auto;margin-right:auto}
.hero--video .hero__title{font-family:var(--font-ja);font-weight:500}
.hero--video .hero__lead{max-width:640px;margin-left:auto;margin-right:auto;line-height:2.3;letter-spacing:.1em}
.hero--video .cta-buttons{margin-top:3em}

/* キャンペーン */
.home-campaign{padding:var(--sp-section) 1.4em;background:var(--c-bg-light)}
/* 常時実施の来店予約特典。期間限定キャンペーンの下に、写真を右にして出す */
.home-gift{padding:0 1.4em var(--sp-section);background:var(--c-bg-light)}
.home-gift__link{display:flex;flex-direction:column-reverse;max-width:900px;margin:0 auto;
  background:var(--c-bg);overflow:hidden;transition:box-shadow .5s var(--ease)}
.home-gift__link:hover{box-shadow:0 18px 50px -30px rgba(27,25,23,.4)}
.home-gift__img{overflow:hidden}
.home-gift__img img{width:100%;aspect-ratio:16/7;object-fit:cover;display:block;transition:transform 1.2s var(--ease)}
.home-gift__link:hover .home-gift__img img{transform:scale(1.04)}
.home-gift__body{padding:2.2em 2em}
.home-gift__en{display:block;font-family:var(--font-en);font-style:italic;color:var(--c-accent);letter-spacing:.14em;font-size:1rem}
.home-gift__title{display:block;font-family:var(--font-ja);font-size:1.08rem;letter-spacing:.18em;margin:.5em 0 .8em}
.home-gift__summary{display:block;color:var(--c-secondary);font-size:.8rem;line-height:2.1}
.home-gift__more{display:inline-block;margin-top:1.2em;font-size:.72rem;letter-spacing:.14em;
  color:var(--c-primary);border-bottom:1px solid var(--c-accent);padding-bottom:.35em}
/* トップのキャンペーン入り口。同時開催のときは全部カードで見せる */
.home-campaign__meta{text-align:center;margin:0 0 2.4em;display:flex;flex-direction:column;align-items:center;gap:.9em}
.home-campaign__count{display:inline-flex;align-items:center;gap:.7em;font-size:.86rem;letter-spacing:.16em;color:var(--c-accent-deep)}
.home-campaign__count::before,.home-campaign__count::after{content:"";width:2.2em;height:1px;background:var(--c-accent)}
.home-campaign__term{display:inline-block;padding:.5em 1.5em;border:1px solid var(--c-accent);border-radius:2em;
  font-size:.74rem;letter-spacing:.12em;color:var(--c-accent-deep);background:var(--c-bg)}
/* 横長BOXのスライダー。スクロールは CSS、点と前後ボタンだけ JS */
.cp-slider{position:relative;max-width:1000px;margin:0 auto}
.cp-slider__track{list-style:none;margin:0;padding:0;display:flex;gap:1.2em;overflow-x:auto;
  scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;
  scrollbar-width:none}
.cp-slider__track::-webkit-scrollbar{display:none}
.cp-slide{flex:0 0 100%;scroll-snap-align:center}
.cp-slide__link{display:flex;flex-direction:column;height:100%;background:var(--c-bg);
  border:1px solid var(--c-border);overflow:hidden;transition:box-shadow .5s var(--ease)}
.cp-slide__link:hover{box-shadow:0 18px 50px -30px rgba(27,25,23,.4)}
.cp-slide__img{display:block;overflow:hidden}
.cp-slide__img img{width:100%;aspect-ratio:16/7;object-fit:cover;display:block;transition:transform 1.2s var(--ease)}
.cp-slide__link:hover .cp-slide__img img{transform:scale(1.04)}
.cp-slide__body{display:flex;flex-direction:column;flex:1 1 auto;padding:2em 1.8em 2.2em;text-align:center}
.cp-slide__en{display:block;font-family:var(--font-en);font-style:italic;color:var(--c-accent);letter-spacing:.14em;font-size:1.05rem}
.cp-slide__title{display:block;font-family:var(--font-ja);font-size:1.12rem;letter-spacing:.18em;margin:.6em 0 0}
.cp-slide__highlights{display:flex;flex-wrap:wrap;gap:.5em;justify-content:center;margin-top:1.1em}
.cp-slide__summary{display:block;color:var(--c-secondary);font-size:.8rem;line-height:2.1;margin-top:1.2em;text-align:left}
.cp-slide__more{align-self:center;margin-top:auto;padding-top:1.6em;font-size:.72rem;letter-spacing:.2em;color:var(--c-accent-deep)}
.cp-slide__more::after{content:"";display:block;width:100%;height:1px;background:var(--c-accent);margin-top:.5em}
.cp-slider__dots{list-style:none;display:flex;justify-content:center;align-items:center;gap:0;margin:1.8em 0 0;padding:0}
/* li を flex にして行の高さ（下の余白）を出さない。出ると一時停止ボタンと高さが揃わない */
.cp-slider__dots>li{display:flex;align-items:center}
/* ドットは見た目9px・押せる範囲24px（WCAG 2.5.8）。ボタン本体は透明にして、丸は ::before で描く。
   一時停止ボタン（.cp-slider__play）は独自の ::before を持つので対象から外す */
.cp-slider__dots button:not(.cp-slider__play){position:relative;width:24px;height:24px;padding:0;border:0;
  border-radius:0;background:transparent;cursor:pointer}
.cp-slider__dots button:not(.cp-slider__play)::before{content:"";position:absolute;top:50%;left:50%;
  width:9px;height:9px;box-sizing:border-box;transform:translate(-50%,-50%);
  border:1px solid var(--c-accent);border-radius:50%;background:transparent;transition:background .3s var(--ease)}
.cp-slider__dots button:not(.cp-slider__play)[aria-current="true"]::before{background:var(--c-accent)}
/* 自動切り替えの一時停止ボタン。動くものには止める手段を置く */
.cp-slider__toggle{display:flex;align-items:center;margin-left:.6em}
.cp-slider__dots .cp-slider__play{position:relative;width:24px;height:24px;padding:0;border:0;
  border-radius:0;background:transparent;cursor:pointer}
.cp-slider__dots .cp-slider__play::before,
.cp-slider__dots .cp-slider__play::after{content:"";position:absolute;top:50%;
  transform:translateY(-50%);background:var(--c-accent-deep);transition:background .3s var(--ease)}
.cp-slider__dots .cp-slider__play::before{left:7px;width:3px;height:12px}
.cp-slider__dots .cp-slider__play::after{left:14px;width:3px;height:12px}
.cp-slider__dots .cp-slider__play.is-paused::before{left:8px;width:0;height:0;background:transparent;
  border-left:10px solid var(--c-accent-deep);border-top:6px solid transparent;border-bottom:6px solid transparent}
.cp-slider__dots .cp-slider__play.is-paused::after{display:none}
.cp-slider__dots .cp-slider__play:hover::before,
.cp-slider__dots .cp-slider__play:hover::after{background:var(--c-accent)}
.cp-slider__dots .cp-slider__play.is-paused:hover::before{background:transparent;border-left-color:var(--c-accent)}
.cp-slider__nav{display:none}

.campaign-cards--home .campaign-card__link{background:var(--c-bg)}
.campaign-card__highlights{display:flex;flex-wrap:wrap;gap:.5em;justify-content:center;margin-top:1.1em}
.campaign-card__hl{display:inline-block;padding:.42em .9em;background:var(--c-bg-tint);color:var(--c-accent-deep);
  font-size:.72rem;letter-spacing:.06em;line-height:1.6}
.home-campaign__more{text-align:center;margin-top:2.8em}
.home-campaign__more a{display:inline-block;padding:1.15em 3em;border:1px solid var(--c-hairline);background:var(--c-bg);
  color:var(--c-primary);font-size:.78rem;letter-spacing:.2em;transition:background .5s var(--ease),color .5s var(--ease),border-color .5s var(--ease)}
.home-campaign__more a:hover{background:var(--c-accent);color:var(--c-white);border-color:var(--c-accent)}

.home-campaign__link{display:flex;flex-direction:column;max-width:900px;margin:0 auto;background:var(--c-bg);overflow:hidden;transition:box-shadow .5s var(--ease)}
.home-campaign__link:hover{box-shadow:0 18px 50px -30px rgba(27,25,23,.4)}
.home-campaign__img{overflow:hidden}
.home-campaign__img img{width:100%;aspect-ratio:16/7;object-fit:cover;display:block;transition:transform 1.2s var(--ease)}
.home-campaign__link:hover .home-campaign__img img{transform:scale(1.04)}
.home-campaign__body{padding:2.6em 2em}
.home-campaign__en{display:block;font-family:var(--font-en);font-style:italic;color:var(--c-accent);letter-spacing:.14em;font-size:1.1rem}
.home-campaign__title{display:block;font-family:var(--font-ja);font-size:1.2rem;letter-spacing:.18em;margin:.6em 0 1em}
.home-campaign__summary{display:block;color:var(--c-secondary);font-size:.82rem;line-height:2.1}

.home-rings,.home-brands,.home-shop{padding:var(--sp-section) 1.4em}
.home-rings__list{display:grid;gap:2.4em 1.6em;max-width:1080px;margin:0 auto}
.home-rings__item a{display:block}
/* 切り抜き写真なので cover で切らず contain で浮かせる */
.home-rings__item a{background:var(--c-bg-light);padding:2.4em 1.6em 2em;height:100%;
  display:flex;flex-direction:column;transition:box-shadow .5s var(--ease)}
.home-rings__item a:hover{box-shadow:0 18px 50px -30px rgba(27,25,23,.4)}
.home-rings__img{display:block;overflow:hidden;margin-top:auto}
.home-rings__img img{width:100%;aspect-ratio:4/3;object-fit:contain;display:block;transition:transform 1.2s var(--ease)}
.home-rings__item a:hover .home-rings__img img{transform:scale(1.06)}
.home-rings__label{display:block;text-align:center}
.home-rings__en{display:block;font-family:var(--font-en);font-style:italic;color:var(--c-accent);font-size:1.05rem;letter-spacing:.08em}
.home-rings__ja{display:block;font-size:.74rem;letter-spacing:.22em;margin-top:.6em;color:var(--c-primary)}
.home-rings__lead{display:block;font-size:.76rem;line-height:2.1;color:var(--c-secondary);margin-top:1.2em;letter-spacing:.04em}
.home-rings__more{display:block;text-align:center;font-size:.72rem;letter-spacing:.2em;color:var(--c-accent-deep);margin-top:1.4em}
.home-rings__more::after{content:"";display:block;width:3.4em;height:1px;background:var(--c-accent);margin:.6em auto 0}
/* トップ：シーン帯 */
.home-scene{padding:0 0 var(--sp-section)}
.scene-band{display:grid;gap:2px;grid-template-columns:1fr 1fr}
.scene-band__item{overflow:hidden;aspect-ratio:3/2}
.scene-band__item:first-child{grid-column:1 / -1;aspect-ratio:16/7}
.scene-band__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.4s var(--ease)}
.scene-band__item:hover img{transform:scale(1.04)}
.scene-band__text{text-align:center;padding:3em 1.4em 0}
.scene-band__en{font-family:var(--font-en);font-style:italic;color:var(--c-accent);font-size:1.5rem;letter-spacing:.12em;margin:0}
.scene-band__lead{font-size:.86rem;line-height:2.2;color:var(--c-secondary);margin-top:1.4em}
.scene-band__more{margin-top:2em}
.scene-band__more a{font-size:.76rem;letter-spacing:.2em;border-bottom:1px solid var(--c-accent);padding-bottom:.5em}
.scene-band__more a:hover{color:var(--c-accent)}

/* トップ：お客様の声 */
.home-voice{position:relative;overflow:hidden;padding:var(--sp-section) 1.4em}
.home-voice__bg{position:absolute;inset:0}
.home-voice__bg img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.home-voice__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(250,248,245,.58),rgba(250,248,245,.86))}
.home-voice__inner{position:relative;max-width:1120px;margin:0 auto}
.voice-cards{display:grid;gap:1.6em}
.voice-card{background:var(--c-white);padding:2.4em 2em 2em;position:relative;border:1px solid var(--c-border)}
.voice-card::before{content:"“";position:absolute;top:.28em;left:.42em;font-family:var(--font-en);font-size:3rem;line-height:1;color:var(--c-accent);opacity:.5}
.voice-card__text{font-size:.84rem;line-height:2.2;color:var(--c-secondary);position:relative}
.voice-card__by{margin-top:1.4em;font-size:.72rem;letter-spacing:.12em;color:var(--c-muted);text-align:right}
.voice-card__by::before{content:"― "}
.home-voice__more{text-align:center;margin-top:2.8em}
.home-voice__more a{font-size:.76rem;letter-spacing:.2em;border-bottom:1px solid var(--c-accent);padding-bottom:.5em;color:var(--c-primary)}
.home-voice__more a:hover{color:var(--c-accent)}

/* トップ：沖縄でしか出会えないブランド（琉球杢目・ハレノヒ）
   ここは「色・文字・写真の見せ方」だけを持つ。レイアウト（段組み・余白・文字サイズ）は
   pc.css / sp.css で作り分ける。PC は全幅の写真を左右交互に、SP は写真を全幅に抜く。 */
.home-okinawa{background:#0e2440;color:var(--c-white);position:relative;overflow:hidden}
/* 夜の海の明るみ。上から薄く光を落として、べた塗りの濃紺を avoid */
.home-okinawa::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(130% 62% at 50% 0%,rgba(118,164,208,.22),rgba(14,36,64,0) 64%)}
.home-okinawa>*{position:relative}
.ryukyu-obi{display:block;background-repeat:repeat-x;background-size:auto 100%;opacity:.95}
.section-title--on-dark{padding-top:var(--sp-section)}
.section-title--on-dark .section-title__en{color:#e8dcc6}
.section-title--on-dark .section-title__ja{color:rgba(255,255,255,.82)}
.section-title--on-dark .section-title__ja::before{background:#e8dcc6}

.okinawa-block__meta{display:flex;align-items:center}
.okinawa-block__num{font-family:var(--font-en);font-style:italic;letter-spacing:.1em;color:#c9ad74;white-space:nowrap}
.okinawa-block__num::after{content:"";display:inline-block;width:2.4em;height:1px;background:rgba(201,173,116,.55);vertical-align:.32em;margin-left:.8em}
.okinawa-block__badge{display:inline-block;font-size:.69rem;letter-spacing:.2em;border:1px solid rgba(255,255,255,.4);padding:.45em 1.2em;color:rgba(255,255,255,.9)}
.okinawa-block__mark img{height:auto;display:block}
.okinawa-block__title{font-weight:400}
.okinawa-block__en{display:block;font-family:var(--font-en);font-style:italic;letter-spacing:.08em;line-height:1.15;color:#e8dcc6}
.okinawa-block__ja{display:block;font-family:var(--font-ja);letter-spacing:.26em}
.okinawa-block__reading{font-family:var(--font-body);font-size:.69rem;letter-spacing:.2em;color:rgba(255,255,255,.62);margin-left:.9em}
.okinawa-block__lead{font-family:var(--font-ja);letter-spacing:.14em}
.okinawa-block__body{color:rgba(255,255,255,.76)}
.okinawa-block__quote{font-family:var(--font-ja);letter-spacing:.1em;color:#e8dcc6;border-left:1px solid rgba(232,220,198,.5)}
.okinawa-block__more a{display:inline-block;font-size:.74rem;letter-spacing:.2em;color:var(--c-white);border:1px solid rgba(255,255,255,.5);transition:background-color .5s var(--ease),color .5s var(--ease),border-color .5s var(--ease)}
.okinawa-block__more a:hover{background:#e8dcc6;color:#0e2440;border-color:#e8dcc6}
/* 写真の舞台。高さは pc/sp が決め、画像はそれを埋める。
   --cutout（琉球杢目＝背景透過の切り抜き）だけは contain で切らずに濃紺の上に浮かせる。 */
.okinawa-block__photo{position:relative;overflow:hidden}
.okinawa-block__photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transition:transform 1.4s var(--ease)}
.okinawa-block--cutout .okinawa-block__photo{background:radial-gradient(56% 58% at 50% 52%,rgba(150,192,230,.26),rgba(14,36,64,0) 72%)}
.okinawa-block--cutout .okinawa-block__photo img{object-fit:contain}
.okinawa-block__photo:hover img{transform:scale(1.04)}

/* トップ：サービス導線カード */
.home-service{padding:var(--sp-section) 1.4em;background:var(--c-bg-light)}
.svc-cards{display:grid;gap:1.6em 1.2em;grid-template-columns:1fr 1fr;max-width:1120px;margin:0 auto}
.svc-card a{display:block;position:relative;overflow:hidden;background:var(--c-primary)}
.svc-card__img{display:block;aspect-ratio:3/4}
.svc-card__img img{width:100%;height:100%;object-fit:cover;display:block;opacity:.86;transition:transform 1.3s var(--ease),opacity .6s var(--ease)}
.svc-card a:hover .svc-card__img img{transform:scale(1.07);opacity:.7}
.svc-card__label{position:absolute;inset:auto 0 0 0;padding:1.6em 1em;text-align:center;color:var(--c-white);background:linear-gradient(180deg,transparent,rgba(24,20,17,.62))}
.svc-card__en{display:block;font-family:var(--font-en);font-style:italic;font-size:1.05rem;letter-spacing:.08em;line-height:1.3}
.svc-card__ja{display:block;font-size:.72rem;letter-spacing:.18em;margin-top:.6em}

/* トップ：店舗写真 */
.home-shop__photo{max-width:760px;margin:0 auto 2.6em;overflow:hidden}
.home-shop__photo img{width:100%;height:auto;display:block;transition:transform 1.3s var(--ease)}
.home-shop__photo:hover img{transform:scale(1.04)}

.articles{padding:var(--sp-section) 1.4em}
.articles__more{text-align:center;margin-top:2.8em}
.articles__more a{color:var(--c-primary);font-size:.76rem;letter-spacing:.2em;border-bottom:1px solid var(--c-accent);padding-bottom:.5em}
.articles__more a:hover{color:var(--c-accent)}
.articles__cat{font-size:.70rem;color:var(--c-accent);border:1px solid var(--c-accent);padding:.25em .9em;letter-spacing:.12em}
.articles__item time{color:var(--c-muted);font-size:.7rem;font-family:var(--font-en);letter-spacing:.1em}

/* カード表示（読みもの・ブランド記事） */
.articles--cards .articles__list{display:grid;gap:2.4em 1.6em;max-width:1120px;margin:0 auto;grid-template-columns:1fr 1fr}
.articles--cards .articles__item a{display:block}
.articles__thumb{display:block;overflow:hidden;background:var(--c-bg-tint);aspect-ratio:4/3}
.articles__thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s var(--ease)}
.articles--cards .articles__item a:hover .articles__thumb img{transform:scale(1.06)}
.articles--cards .articles__meta{display:flex;align-items:center;gap:1em;margin:1.2em 0 .7em}
.articles--cards .articles__title{display:block;font-size:.86rem;line-height:1.95;letter-spacing:.04em;transition:color .4s var(--ease)}
.articles--cards .articles__item a:hover .articles__title{color:var(--c-accent-deep)}

/* リスト表示（お知らせ） */
.articles--list .articles__list{max-width:840px;margin:0 auto;border-top:1px solid var(--c-border)}
.articles--list .articles__item{border-bottom:1px solid var(--c-border)}
.articles--list .articles__item a{display:flex;flex-wrap:wrap;gap:.5em 1.2em;align-items:baseline;padding:1.5em .3em;transition:opacity .3s var(--ease)}
.articles--list .articles__item a:hover{opacity:.62}
.articles--list .articles__meta{display:flex;align-items:center;gap:1.1em}
.articles--list .articles__title{font-size:.86rem;flex:1 1 100%;line-height:1.9}
.home-articles--brand{background:var(--c-bg-light)}

/* 告知バー（新しい告知があるときだけ表示） */
.notice-bar{background:var(--c-bg-tint);border-bottom:1px solid var(--c-hairline)}
.notice-bar[hidden]{display:none}
/* 臨時休業など。通常のお知らせと見分けがつくよう色を変える */
.notice-bar--urgent{background:#8a2b22;border-bottom-color:#8a2b22}
.notice-bar--urgent .notice-bar__label{background:var(--c-white);color:#8a2b22;font-weight:700}
.notice-bar--urgent time{color:rgba(255,255,255,.78)}
.notice-bar--urgent .notice-bar__title{color:var(--c-white)}
.notice-bar--urgent a:hover{opacity:.85}
.notice-bar a{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5em 1.1em;max-width:1100px;margin:0 auto;padding:.95em 1.4em;transition:opacity .3s var(--ease)}
.notice-bar a:hover{opacity:.66}
.notice-bar__label{font-size:.62rem;letter-spacing:.16em;color:var(--c-white);background:var(--c-accent);padding:.35em 1em}
.notice-bar time{font-size:.7rem;font-family:var(--font-en);letter-spacing:.1em;color:var(--c-muted)}
.notice-bar__title{font-size:.8rem;letter-spacing:.06em}
.home-brands__more,.home-shop__more{text-align:center;margin-top:2.6em}
.home-brands__more a,.home-shop__more a{color:var(--c-primary);font-size:.76rem;letter-spacing:.2em;border-bottom:1px solid var(--c-accent);padding-bottom:.5em}
.home-brands__more a:hover,.home-shop__more a:hover{color:var(--c-accent)}
.home-shop{text-align:center;background:var(--c-bg-light)}
.home-shop__address{font-size:.84rem;letter-spacing:.06em}
.home-shop__tel{font-family:var(--font-en);font-size:1.7rem;letter-spacing:.06em;margin:.5em 0}
.home-shop__hours{color:var(--c-secondary);font-size:.78rem}

/* リングカテゴリ 画像ヒーロー */
.cat-hero{position:relative;height:54vh;min-height:340px;max-height:600px;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center}
.cat-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.cat-hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,20,17,.22),rgba(24,20,17,.48)),radial-gradient(ellipse at center,rgba(24,20,17,.22),transparent 68%)}
.cat-hero__text{position:relative;color:var(--c-white);text-shadow:0 2px 22px rgba(0,0,0,.38)}
.cat-hero__en{font-family:var(--font-en);font-style:italic;font-size:2.1rem;letter-spacing:.1em;line-height:1.2}
.cat-hero__title{font-family:var(--font-ja);font-size:1.5rem;letter-spacing:.26em;font-weight:500;margin-top:.5em}
.cat-hero__reading{display:block;font-size:.7rem;letter-spacing:.24em;margin-top:1em;opacity:.85;font-family:var(--font-body)}
.cat-hero__lead{max-width:680px;margin:3.4em auto 0;padding:0 1.4em;text-align:center;color:var(--c-secondary);font-size:.86rem;line-height:2.2;letter-spacing:.04em}

/* リングカテゴリ */
.ring-cat__price-note,.ring-cat__grid-lead{max-width:720px;margin:2em auto;padding:0 1.4em;color:var(--c-muted);font-size:.74rem;text-align:center;line-height:2}
.ring-cat__grid,.ring-cat__cta{padding:var(--sp-section) 0}
.ring-cat__formula{padding:3.4em 1.4em 0}
.ring-cat__formula-row{display:flex;flex-wrap:wrap;gap:.9em;align-items:center;justify-content:center;font-family:var(--font-ja);font-size:.88rem}
.ring-cat__formula-item{border:1px solid var(--c-hairline);border-radius:40px;padding:.9em 1.9em;letter-spacing:.14em}
.ring-cat__formula-item--result{background:var(--c-accent);color:var(--c-white);border-color:var(--c-accent)}
.ring-cat__formula-op{color:var(--c-accent);font-family:var(--font-en);font-size:1.1rem}
.ring-cat__flow{max-width:1040px;margin:0 auto;padding:var(--sp-section) 1.4em}
.flow-steps{display:grid;gap:1em;grid-template-columns:1fr}
.flow-steps__item{display:flex;align-items:center;gap:1.4em;background:var(--c-bg-light);padding:1.5em 1.8em}
.flow-steps__num{flex:0 0 auto;width:2.4em;height:2.4em;border-radius:50%;border:1px solid var(--c-accent);color:var(--c-accent);font-family:var(--font-en);font-style:italic;font-size:.94rem;display:flex;align-items:center;justify-content:center}
.flow-steps__text{font-size:.84rem;line-height:1.9}

/* カテゴリ：ブランド別ラインナップ */
.ring-cat__collection{max-width:1160px;margin:0 auto;padding:var(--sp-section) 1.4em}
.ring-cat__price{text-align:center;padding:1em 0}
.collection-brand{margin:0 0 4em;padding-bottom:2.6em;border-bottom:1px solid var(--c-border)}
.collection-brand:last-of-type{border-bottom:0}
.collection-brand__title{text-align:center;margin:2.4em 0 2em}
.collection-brand__en{display:block;font-family:var(--font-en);font-style:italic;color:var(--c-accent);font-size:1.5rem;letter-spacing:.06em;transition:opacity .3s var(--ease)}
.collection-brand__title a:hover .collection-brand__en{opacity:.65}
.collection-brand__reading{display:block;font-size:.72rem;color:var(--c-muted);margin-top:.6em;letter-spacing:.2em}
.collection-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2em 1.2em}
.collection-card{text-align:center}
.collection-card__img{display:block;overflow:hidden;background:#fff;aspect-ratio:1/1}
.collection-card__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.collection-card a:hover .collection-card__img img{transform:scale(1.06)}
.collection-card__name{display:block;font-family:var(--font-en);font-style:italic;font-size:.94rem;margin-top:1em;letter-spacing:.04em;transition:color .3s var(--ease)}
.collection-card__jp{font-family:var(--font-body);font-style:normal;font-size:.72rem;color:var(--c-muted);margin-left:.6em;letter-spacing:.1em}
.collection-card__price{display:block;font-size:.74rem;color:var(--c-secondary);margin-top:.5em;letter-spacing:.04em}
.collection-brand__more{text-align:center;margin-top:2.4em}
.collection-brand__more a{color:var(--c-secondary);font-size:.76rem;letter-spacing:.14em}
.collection-brand__more a:hover{color:var(--c-accent)}
.collection-card a{display:block;color:inherit}
.collection-card a:hover .collection-card__name{color:var(--c-accent)}

/* 指輪 詳細ページ */
.ring-detail{max-width:1100px;margin:0 auto;padding:2.6em 1.4em;display:grid;gap:2.6em}
.ring-detail__gallery{background:#fff}
.ring-detail__img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.ring-detail__noimg{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;font-family:var(--font-en);font-style:italic;color:var(--c-muted);background:var(--c-bg-light)}
.ring-detail__h1{margin:0;font-weight:400}
.ring-detail__brand-name{display:block;font-family:var(--font-en);font-style:italic;color:var(--c-accent);font-size:1.15rem;letter-spacing:.05em;line-height:1.3}
.ring-detail__cat{display:block;font-size:.66rem;color:var(--c-muted);margin-top:1.1em;letter-spacing:.24em}
.ring-detail__en{display:block;font-family:var(--font-en);font-style:italic;font-size:2.3rem;margin:.15em 0 0;line-height:1.2;letter-spacing:.02em}
.ring-detail__jp{display:block;color:var(--c-secondary);font-size:.78rem;letter-spacing:.16em;margin-top:.7em}
.ring-detail__brand a{font-size:.72rem;letter-spacing:.14em;color:var(--c-secondary);border-bottom:1px solid var(--c-border);padding-bottom:.35em;transition:color .4s var(--ease),border-color .4s var(--ease)}
.ring-detail__brand a:hover{color:var(--c-accent);border-color:var(--c-accent)}
.ring-detail__brand a span{margin-left:.6em}
.ring-detail__brand{margin-top:1.6em}
.ring-detail__catch{font-family:var(--font-ja);line-height:2.2;margin:1.8em 0 0;font-size:.92rem;letter-spacing:.1em}
.ring-detail__pricebox{margin:2em 0 0;padding-top:1.8em;border-top:1px solid var(--c-border)}
.ring-detail__price{font-size:1.05rem;letter-spacing:.04em;line-height:1.8}
.ring-detail__note{font-size:.7rem;color:var(--c-muted);line-height:1.9;margin-top:1em}
.ring-detail__actions{justify-content:flex-start;margin:2.2em 0 0}
.ring-detail__backlink{margin-top:1.8em}
.ring-detail__backlink a{color:var(--c-secondary);font-size:.76rem;letter-spacing:.1em}
.ring-detail__backlink a:hover{color:var(--c-accent)}
.ring-detail__concept,.ring-detail__faq,.ring-related{max-width:920px;margin:0 auto;padding:var(--sp-section) 1.4em}
.ring-cat__faq{max-width:920px;margin:0 auto;padding:var(--sp-section) 1.4em}
.ring-cat__faq-more{text-align:center;margin-top:2.2em}
.ring-cat__faq-more a{font-size:.76rem;letter-spacing:.14em;color:var(--c-primary);border-bottom:1px solid var(--c-accent);padding-bottom:.4em;transition:color .4s var(--ease)}
.ring-cat__faq-more a:hover{color:var(--c-accent-deep)}
.ring-detail__concept{background:var(--c-bg-light);max-width:none}
.ring-detail__concept-text{font-family:var(--font-ja);text-align:center;line-height:2.5;font-size:.96rem;letter-spacing:.1em;max-width:720px;margin:0 auto}
.ring-detail__concept-more{text-align:center;margin-top:2em}
.ring-detail__concept-more a{color:var(--c-secondary);font-size:.76rem;letter-spacing:.14em}
.ring-detail__concept-more a:hover{color:var(--c-accent)}
.lineup__photo a,.lineup__table tbody th a{color:inherit}
.lineup__table tbody th a:hover{color:var(--c-accent)}

/* 詳細ギャラリー */
.ring-gallery__main img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;background:#fff}
.ring-gallery__thumbs{display:flex;gap:.9em;margin-top:.9em;flex-wrap:wrap}
.ring-gallery__thumbs li{text-align:center}
.ring-gallery__thumbs .js-thumb{padding:0;border:1px solid var(--c-border);background:#fff;cursor:pointer;width:72px;height:72px;overflow:hidden;transition:border-color .35s var(--ease),opacity .35s var(--ease)}
.ring-gallery__thumbs .js-thumb:hover{opacity:.75}
.ring-gallery__thumbs .js-thumb.is-active{border-color:var(--c-accent)}
.ring-gallery__thumbs .js-thumb img{width:100%;height:100%;object-fit:cover;background:#fff}
.ring-gallery__thumbs span{display:block;font-size:.62rem;color:var(--c-muted);margin-top:.5em;letter-spacing:.1em}

/* 価格内訳・別カテゴリ */
.ring-detail__breakdown{display:flex;flex-wrap:wrap;gap:.6em;align-items:center;margin:1.2em 0 0;font-size:.74rem}
.ring-detail__breakdown .pb{border:1px solid var(--c-hairline);border-radius:40px;padding:.5em 1.2em;letter-spacing:.1em}
.ring-detail__breakdown .pb--result{background:var(--c-accent);color:var(--c-white);border-color:var(--c-accent)}
.ring-detail__breakdown .op{color:var(--c-accent);font-family:var(--font-en)}
.ring-detail__variants{font-size:.76rem;color:var(--c-muted);margin:1.6em 0 0;letter-spacing:.06em}
.ring-detail__variants a{color:var(--c-accent);margin:0 .4em;border-bottom:1px solid var(--c-accent);padding-bottom:.2em}

/* 仕様表 */
.ring-detail__spec{max-width:800px;margin:0 auto;padding:var(--sp-section) 1.4em}
.ring-detail__variant{display:inline-block;font-family:var(--font-body);font-style:normal;font-size:.62rem;letter-spacing:.14em;color:var(--c-accent-deep);border:1px solid var(--c-accent);padding:.35em .9em;margin-left:.9em;vertical-align:middle}
.collection-card__variant{display:inline-block;font-family:var(--font-body);font-style:normal;font-size:.69rem;letter-spacing:.12em;color:var(--c-accent-deep);border:1px solid var(--c-accent);padding:.2em .6em;margin-left:.5em;vertical-align:middle}
.ring-detail__story{font-size:.82rem;line-height:2.2;color:var(--c-secondary);margin-top:1.6em}
/* 指輪詳細：名前の由来・品番・素材別の価格内訳（dot-bridal のデータから） */
.ring-detail__origin{font-size:.8rem;line-height:1.9;color:var(--c-secondary);margin-top:.9em}
.ring-detail__origin-label,.ring-detail__code-label{display:inline-block;margin-right:.8em;padding:.18em .7em;
  font-size:.64rem;letter-spacing:.14em;color:var(--c-accent-deep);border:1px solid var(--c-hairline);vertical-align:.1em}
.ring-detail__detail{margin-top:2em;padding-top:1.8em;border-top:1px solid var(--c-border)}
.ring-detail__code{font-size:.82rem;letter-spacing:.08em;margin-bottom:1.2em}
.price-breakdown{width:100%;border-collapse:collapse;font-size:.82rem}
.price-breakdown__cap{text-align:left;font-size:.7rem;letter-spacing:.14em;color:var(--c-muted);padding-bottom:.8em}
.price-breakdown th,.price-breakdown td{border-bottom:1px solid var(--c-border);padding:.85em .2em;text-align:left;vertical-align:top}
.price-breakdown th{width:9em;font-weight:400;font-size:.74rem;letter-spacing:.08em;color:var(--c-muted);padding-right:1em}
.price-breakdown__list{display:grid;gap:.35em}
.price-breakdown__m{display:inline-block;min-width:7.2em;font-size:.7rem;letter-spacing:.06em;color:var(--c-muted)}
.price-rows{width:100%;border-collapse:collapse;font-size:.86rem;margin-bottom:1em}
.price-rows th,.price-rows td{padding:.75em .2em;border-bottom:1px solid var(--c-border);text-align:left;vertical-align:baseline}
.price-rows th{font-weight:400;font-size:.72rem;letter-spacing:.1em;color:var(--c-muted);white-space:nowrap;padding-right:1.2em}
.price-rows td{font-family:var(--font-ja);letter-spacing:.02em}
.ring-detail__point{padding:var(--sp-section) 1.4em;background:var(--c-bg-light)}
.ring-detail__catlink{text-align:center;margin-top:2.6em}
.ring-detail__catlink a{font-size:.76rem;letter-spacing:.16em;border-bottom:1px solid var(--c-accent);padding-bottom:.4em;color:var(--c-primary)}
.ring-detail__catlink a:hover{color:var(--c-accent)}
.ring-detail__note strong{font-weight:500;color:var(--c-primary)}
.spec-table{width:100%;border-collapse:collapse;font-size:.84rem}
.spec-table th,.spec-table td{border-bottom:1px solid var(--c-border);padding:1.3em .6em;text-align:left;vertical-align:top;line-height:1.9}
.spec-table th{width:9em;font-weight:400;color:var(--c-muted);white-space:nowrap;letter-spacing:.16em;font-size:.74rem}
.spec-table__note{color:var(--c-muted);font-size:.72rem;margin-top:1.6em;line-height:1.9}

/* POINT カード */
.marriage__points{max-width:1080px;margin:0 auto;padding:var(--sp-section) 1.4em}
.point-cards{display:grid;grid-template-columns:1fr;gap:1.6em}
.point-card{--pc-pad-y:2.6em;--pc-pad-x:2em;background:var(--c-bg-light);padding:var(--pc-pad-y) var(--pc-pad-x);text-align:center}
.point-card__title{font-family:var(--font-ja);font-size:.94rem;color:var(--c-primary);margin-bottom:1.2em;letter-spacing:.2em;position:relative;padding-bottom:1em}
.point-card__title::after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:26px;height:1px;background:var(--c-accent)}
.point-card__body{font-size:.82rem;line-height:2.1;color:var(--c-secondary);text-align:left}
.marriage__guide{max-width:920px;margin:0 auto;padding:var(--sp-section) 1.4em}
.guide-links{display:grid;grid-template-columns:1fr;gap:.9em;max-width:560px;margin:0 auto}
.guide-links a{display:block;border:1px solid var(--c-hairline);padding:1.3em 1.4em;text-align:center;font-size:.8rem;letter-spacing:.14em;transition:border-color .4s var(--ease),color .4s var(--ease)}
.guide-links a:hover{border-color:var(--c-accent);color:var(--c-accent)}

/* プロポーズ */
.propose__intro{max-width:760px;margin:0 auto;padding:var(--sp-section) 1.4em;text-align:center;font-family:var(--font-ja);line-height:2.5;letter-spacing:.1em;font-size:.96rem}
.propose__plans,.propose__features{padding:var(--sp-section) 1.4em;max-width:1000px;margin:0 auto}
.propose__plan-list{display:grid;gap:1.8em}
.propose__plan{background:var(--c-bg-light);overflow:hidden;display:flex;flex-direction:column}
.propose__plan-img{display:block;overflow:hidden;background:var(--c-white);aspect-ratio:4/5}
.propose__plan-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s var(--ease)}
.propose__plan:hover .propose__plan-img img{transform:scale(1.05)}
.propose__plan-body{padding:2.2em 1.8em 2.4em;flex:1 1 auto}
.propose__plan-no{font-family:var(--font-en);font-style:italic;color:var(--c-accent);font-size:1.3rem;letter-spacing:.06em;line-height:1;margin-bottom:.7em}
.propose__plan-title{font-family:var(--font-ja);font-size:1.02rem;letter-spacing:.16em;border-bottom:1px solid var(--c-hairline);padding-bottom:1em;margin-bottom:1.2em}
.propose__plan-for{color:var(--c-secondary);font-size:.8rem;margin-bottom:1.4em;line-height:2}
.propose__steps{display:grid;gap:.9em}
.propose__steps li{padding-left:1.8em;position:relative;font-size:.82rem;line-height:1.95}
.propose__steps li::before{counter-increment:step;content:counter(step);position:absolute;left:0;top:.1em;color:var(--c-accent);font-family:var(--font-en);font-style:italic;font-size:1rem}
.propose__plan .propose__steps{counter-reset:step}
.propose__feature-list{display:grid;gap:2.6em}
.propose__feature{display:grid;gap:1.4em}
.propose__feature-img{display:block;overflow:hidden;background:var(--c-white);aspect-ratio:16/9}
.propose__feature-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s var(--ease)}
.propose__feature:hover .propose__feature-img img{transform:scale(1.05)}
.propose__feature-title{font-family:var(--font-ja);font-size:.98rem;margin-bottom:.9em;letter-spacing:.16em;position:relative}
.propose__feature-title::after{content:"";display:block;width:30px;height:1px;background:var(--c-accent);margin-top:.9em}
.propose__feature p{font-size:.82rem;color:var(--c-secondary);line-height:2.1}
.propose__feature-link{margin-top:1.2em}
.propose__feature-link a{font-size:.74rem;letter-spacing:.14em;color:var(--c-primary);border-bottom:1px solid var(--c-accent);padding-bottom:.35em;transition:color .4s var(--ease)}
.propose__feature-link a:hover{color:var(--c-accent-deep)}
.propose__movie{padding:var(--sp-section) 1.4em;background:var(--c-bg-light)}
.propose__movie video{display:block;width:100%;max-width:960px;margin:0 auto;height:auto;background:var(--c-bg-tint)}
.propose__cta{text-align:center;padding:var(--sp-section) 1.4em;background:var(--c-bg-light)}

/* キャンペーン */
.campaign__current,.campaign__none{max-width:760px;margin:0 auto;padding:var(--sp-section) 1.4em;text-align:center}
.campaign__en{font-family:var(--font-en);font-style:italic;color:var(--c-accent);font-size:1.5rem;letter-spacing:.12em}
.campaign__title{font-family:var(--font-ja);font-size:1.3rem;letter-spacing:.2em;margin:.6em 0 1.4em}
.campaign__summary{font-size:.94rem;line-height:2.3;letter-spacing:.06em}
.campaign__lead{color:var(--c-secondary);margin:1.4em 0;font-size:.86rem}
.campaign__notes{text-align:left;max-width:560px;margin:2.6em auto 0;color:var(--c-muted);font-size:.74rem;display:grid;gap:.5em;line-height:1.9}

/* プライバシー */
.privacy__body{max-width:840px;margin:0 auto;padding:var(--sp-section) 1.4em}
.privacy__section{margin-bottom:2.8em}
.privacy__heading{font-family:var(--font-ja);font-size:.96rem;letter-spacing:.16em;border-bottom:1px solid var(--c-border);padding-bottom:.9em;margin-bottom:1.2em}
.privacy__section p{font-size:.84rem;color:var(--c-secondary);line-height:2.1}
.privacy__items{list-style:none;padding-left:0;margin-top:1em;color:var(--c-secondary);font-size:.8rem;display:grid;gap:.6em}
.privacy__items li{padding-left:1.2em;position:relative;line-height:1.9}
.privacy__items li::before{content:"—";position:absolute;left:0;color:var(--c-accent)}
.privacy__manager{text-align:right;margin-top:3em;color:var(--c-muted);font-size:.8rem}

/* 動画 */
.movie__main,.movie__archive{max-width:960px;margin:0 auto;padding:var(--sp-section) 1.4em}
.movie__yt{position:relative;aspect-ratio:16/9;max-width:760px;margin:0 auto}
.movie__yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.movie__caption{text-align:center;color:var(--c-muted);font-size:.78rem;margin-top:1.4em;letter-spacing:.06em}
.movie__list{display:grid;gap:2em;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.movie__item video{width:100%;aspect-ratio:16/9;background:#000;object-fit:contain}
.movie__year{text-align:center;color:var(--c-muted);font-size:.74rem;margin-top:.7em;letter-spacing:.14em}

/* サービス系 */
.service__sections{max-width:880px;margin:0 auto;padding:var(--sp-section) 1.4em;display:grid;gap:1.6em}
.service__item{background:var(--c-bg-light);padding:2.4em 2em}
.service__item-title{font-family:var(--font-ja);font-size:.98rem;letter-spacing:.18em;margin-bottom:1.2em;padding-bottom:.9em;border-bottom:1px solid var(--c-hairline)}
.service__item-body{font-size:.84rem;line-height:2.2;color:var(--c-secondary)}
.service__lead{max-width:760px;margin:0 auto;padding:3em 1.6em 0;font-size:.86rem;line-height:2.2;color:var(--c-secondary);text-align:center}
/* リッチ版（画像つき）セクション */
.service__sections--rich{max-width:1080px;gap:var(--sp-section)}
.service__item--figure{background:none;padding:0;display:grid;gap:1.8em}
.service__item-img{overflow:hidden}
.service__item-img img{width:100%;height:auto;display:block;transition:transform 1.2s var(--ease)}
.service__item--figure:hover .service__item-img img{transform:scale(1.04)}
.service__item-en{font-family:var(--font-en);font-style:italic;color:var(--c-accent);font-size:1.5rem;letter-spacing:.06em;line-height:1.3;margin:0 0 .8em}
.service__item-en span{display:block;font-size:.86rem;color:var(--c-muted);letter-spacing:.1em}
.service__item--figure .service__item-title{border-bottom:none;padding-bottom:0;margin-bottom:1.4em;font-size:1.12rem;letter-spacing:.2em;position:relative}
.service__item--figure .service__item-title::after{content:"";display:block;width:34px;height:1px;background:var(--c-accent);margin-top:1em}
.service__item--figure .service__item-body+.service__item-body{margin-top:1.4em}

/* モチーフ */
.service__motif{padding:var(--sp-section) 1.4em;background:var(--c-bg-light)}
.service__motif-intro{max-width:700px;margin:0 auto 3em;text-align:center;font-size:.84rem;line-height:2.2;color:var(--c-secondary)}
.motif-list{display:grid;gap:2.4em;max-width:1080px;margin:0 auto}
.motif-card{background:var(--c-white);display:grid;overflow:hidden}
.motif-card__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s var(--ease)}
.motif-card:hover .motif-card__img img{transform:scale(1.05)}
.motif-card__body{padding:2.4em 2em 2em;text-align:center}
.motif-card__en{font-family:var(--font-en);font-style:italic;color:var(--c-accent);font-size:1.45rem;letter-spacing:.06em;margin:0}
.motif-card__ja{font-family:var(--font-ja);font-size:.92rem;letter-spacing:.24em;font-weight:500;margin:.5em 0 1.2em}
.motif-card__meaning{font-size:.78rem;letter-spacing:.1em;color:var(--c-primary);margin-bottom:1em}
.motif-card__text{font-size:.82rem;line-height:2.2;color:var(--c-secondary);text-align:left}
.motif-card__ring{margin-top:1.8em;padding-top:1.6em;border-top:1px solid var(--c-border)}
.motif-card__ring img{width:72%;max-width:260px;height:auto;display:block;margin:0 auto}
.movie__lead{font-size:.82rem;line-height:2.1;color:var(--c-secondary);text-align:center;max-width:640px;margin:1.2em auto 0}
.page-hero__logo{margin:1.8em 0 0}
.page-hero__logo img{width:220px;max-width:62%;height:auto}
.service__list-title{font-size:.8rem;letter-spacing:.16em;margin:2em 0 .9em;color:var(--c-primary)}
.service__list{font-size:.84rem;line-height:2.1;color:var(--c-secondary)}
.service__list li{padding-left:1.1em;position:relative}
.service__list li::before{content:"";position:absolute;left:0;top:.95em;width:5px;height:1px;background:var(--c-accent)}
.service__note{font-size:.74rem;line-height:2;color:var(--c-muted);margin-top:1em}
.service__item-link{margin-top:1.8em}
.service__item-link a{display:inline-block;font-size:.76rem;letter-spacing:.16em;padding-bottom:.5em;border-bottom:1px solid var(--c-accent);color:var(--c-primary);transition:color .4s var(--ease)}
.service__item-link a:hover{color:var(--c-accent-deep)}
.service__figures{margin-top:2em;display:grid;gap:1.6em}
.service__figure img{width:100%;height:auto;display:block;background:var(--c-white)}
.service__figure figcaption{font-size:.74rem;line-height:1.9;color:var(--c-muted);margin-top:.9em}
/* トップ：Instagram導線 */
.home-instagram{padding:var(--sp-section) 1.4em;text-align:center;background:var(--c-bg-tint)}
.home-instagram__text{font-size:.84rem;line-height:2.2;color:var(--c-secondary)}
.home-instagram__btn{margin-top:2.4em}
.home-instagram__btn a{display:inline-block;font-family:var(--font-en);font-style:italic;font-size:.95rem;letter-spacing:.1em;border:1px solid var(--c-accent);color:var(--c-primary);padding:1.1em 2.8em;transition:background-color .5s var(--ease),color .5s var(--ease)}
.home-instagram__btn a:hover{background:var(--c-accent);color:var(--c-white)}
.home-instagram__sns{display:flex;flex-wrap:wrap;justify-content:center;gap:.9em 1.8em;margin-top:2.4em}
.home-instagram__sns a{font-family:var(--font-en);font-size:.74rem;letter-spacing:.14em;color:var(--c-muted);transition:color .4s var(--ease)}
.home-instagram__sns a:hover{color:var(--c-accent)}

/* 店舗：地図まわりの導線 */
.access-map__links{display:flex;flex-wrap:wrap;justify-content:center;gap:.9em 1.6em;margin-top:1.6em}
.access-map__links a{font-size:.76rem;letter-spacing:.12em;color:var(--c-primary);border-bottom:1px solid var(--c-accent);padding-bottom:.35em;transition:color .4s var(--ease)}
.access-map__links a:hover{color:var(--c-accent-deep)}

/* ドロワー：SNS */
.drawer__sns{display:flex;flex-wrap:wrap;gap:.8em 1.6em;margin-top:2em;padding-top:1.6em;border-top:1px solid var(--c-border)}
.drawer__sns a{font-family:var(--font-en);font-size:.74rem;letter-spacing:.14em;color:var(--c-muted)}

/* キャンペーン：期間限定＋常時実施の2本立て */
.campaign__item{text-align:center;padding:var(--sp-section) 1.4em}
.campaign__item>*{max-width:820px;margin-left:auto;margin-right:auto}
.campaign__item--standing{background:var(--c-bg-light)}
.campaign__kicker{font-size:.72rem;letter-spacing:.3em;color:var(--c-muted);margin-bottom:1.4em}
/* キャンペーン：実施期間 */
.campaign__benefits{max-width:720px;margin:2.4em auto 0;text-align:left;display:grid;gap:1.2em}
.campaign__benefit{background:var(--c-bg-light);padding:1.6em 1.8em;font-size:.84rem;line-height:2.1;color:var(--c-secondary)}
.campaign__benefit-num{display:block;font-family:var(--font-en);font-style:italic;font-size:.92rem;letter-spacing:.1em;color:var(--c-accent-deep);margin-bottom:.5em}
.campaign__period{display:inline-block;margin:1.4em auto 0;padding:.5em 1.4em;border:1px solid var(--c-accent);
  font-size:.74rem;letter-spacing:.14em;color:var(--c-accent-deep);line-height:1.6}
.home-campaign__period{display:block;margin-top:.9em;font-size:.72rem;letter-spacing:.12em;color:var(--c-accent-deep)}

/* キャンペーン窓口：期間限定を並べて、各詳細ページへ送る */
.campaign-list{padding:var(--sp-section) 1.4em}
.campaign-list--others{background:var(--c-bg-light)}
.campaign-list__kicker{font-size:.72rem;letter-spacing:.3em;color:var(--c-muted);text-align:center;margin-bottom:2em}
.campaign-cards{list-style:none;margin:0 auto;padding:0;max-width:1100px;display:grid;gap:2em}
.campaign-card{display:flex}
.campaign-card__link{display:flex;flex-direction:column;width:100%;background:var(--c-bg);
  border:1px solid var(--c-border);overflow:hidden;transition:box-shadow .5s var(--ease)}
.campaign-card__link:hover{box-shadow:0 18px 50px -30px rgba(27,25,23,.4)}
.campaign-card__img{display:block;overflow:hidden}
.campaign-card__img img{width:100%;aspect-ratio:16/7;object-fit:cover;display:block;transition:transform 1.2s var(--ease)}
.campaign-card__link:hover .campaign-card__img img{transform:scale(1.04)}
.campaign-card__body{display:flex;flex-direction:column;flex:1 1 auto;padding:2em 1.8em 2.2em;text-align:center}
.campaign-card__en{display:block;font-family:var(--font-en);font-style:italic;color:var(--c-accent);letter-spacing:.12em;font-size:1rem}
.campaign-card__title{display:block;font-family:var(--font-ja);font-size:1.05rem;letter-spacing:.18em;margin:.6em 0 0}
.campaign-card__period{display:inline-block;margin:1em auto 0;padding:.45em 1.2em;border:1px solid var(--c-accent);
  font-size:.7rem;letter-spacing:.1em;color:var(--c-accent-deep);line-height:1.6}
.campaign-card__summary{display:block;color:var(--c-secondary);font-size:.78rem;line-height:2.1;margin-top:1.2em;text-align:left}
.campaign-card__more{align-self:center;margin-top:auto;padding-top:1.6em;font-size:.72rem;letter-spacing:.2em;color:var(--c-accent-deep)}
.campaign-card__more::after{content:"";display:block;width:100%;height:1px;background:var(--c-accent);margin-top:.5em}

/* キャンペーン詳細 */
.campaign-detail__hero{text-align:center;padding:var(--sp-section) 1.4em 0}
.campaign-detail__kicker{font-size:.68rem;letter-spacing:.3em;color:var(--c-muted);margin-bottom:1.4em}
.campaign-detail__en{font-family:var(--font-en);font-style:italic;color:var(--c-accent);font-size:1.5rem;letter-spacing:.12em}
.campaign-detail__title{font-family:var(--font-ja);font-size:1.3rem;letter-spacing:.2em;margin:.6em 0 0}
.campaign-detail__img{max-width:900px;margin:2.6em auto 0}
.campaign-detail__img img{width:100%;height:auto;display:block}
.campaign-detail .campaign__item{padding-top:var(--sp-section)}
.campaign-detail__target{max-width:720px;margin:2em auto 0;text-align:left;font-size:.82rem;line-height:2;color:var(--c-secondary)}
.campaign-detail__target span{display:inline-block;margin-right:1em;padding:.3em .9em;background:var(--c-bg-tint);
  font-size:.68rem;letter-spacing:.2em;color:var(--c-accent-deep)}

/* 提携店舗の特典。画像で組まずテキストで出す（AIクローラー対策） */
.campaign-shops{max-width:820px;margin:3em auto 0;text-align:left}
.campaign-shops__head{font-size:.72rem;letter-spacing:.3em;color:var(--c-muted);text-align:center;margin:0 0 1.6em;font-weight:400}
.campaign-shops__list{list-style:none;margin:0;padding:0;display:grid;gap:1.2em}
.campaign-shops__item{border:1px solid var(--c-border);padding:1.8em}
.campaign-shops__logo{margin:0 0 1.2em;text-align:center}
.campaign-shops__logo img{max-width:200px;max-height:64px;width:auto;height:auto;display:inline-block}
.campaign-shops__photos{list-style:none;margin:1.6em 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1em}
.campaign-shops__fig{margin:0}
.campaign-shops__fig img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.campaign-shops__fig figcaption{font-size:.7rem;line-height:1.8;color:var(--c-muted);margin-top:.6em}
.campaign-shops__name{font-size:.94rem;letter-spacing:.1em;margin:0 0 .9em;text-align:center}
.campaign-shops__benefit{font-size:.82rem;line-height:2.1;color:var(--c-secondary);margin:0}
.campaign-shops__info{display:grid;grid-template-columns:5.5em 1fr;gap:.5em 1em;margin:1.4em 0 0;
  font-size:.74rem;line-height:1.9;color:var(--c-muted)}
.campaign-shops__info dt{letter-spacing:.1em}
.campaign-shops__info dd{margin:0;word-break:break-all}
.campaign-shops__info a{color:var(--c-accent-deep)}
.cta-buttons--ghost{margin-top:2.6em}

/* ブランドページのお貸出し枠（琉球杢目のみ） */
.brand-rental{padding:var(--sp-section) 1.4em;background:var(--c-bg-light)}
.brand-rental__inner{max-width:1000px;margin:0 auto;background:var(--c-bg);
  display:flex;flex-direction:column;overflow:hidden}
.brand-rental__body{padding:2.6em 1.8em 2.4em;text-align:center}
.brand-rental__label{display:inline-block;padding:.45em 1.4em;background:var(--c-bg-tint);
  color:var(--c-accent-deep);font-size:.69rem;letter-spacing:.24em;margin:0 0 1.4em}
.brand-rental__head{font-family:var(--font-ja);font-size:1.12rem;letter-spacing:.14em;line-height:1.9;margin:0}
.brand-rental__lead{font-size:.88rem;line-height:2.1;letter-spacing:.06em;margin:1.3em 0 0}
.brand-rental__text{font-size:.8rem;line-height:2.1;color:var(--c-secondary);margin:1em 0 0}
.brand-rental__more{margin:1.8em 0 0}
.brand-rental__more a{display:inline-block;padding:1.05em 2.8em;border:1px solid var(--c-hairline);
  color:var(--c-primary);font-size:.76rem;letter-spacing:.18em;
  transition:background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease)}
.brand-rental__more a:hover{background:var(--c-accent);color:var(--c-white);border-color:var(--c-accent)}
.brand-rental__img{margin:0;overflow:hidden}
.brand-rental__img img{width:100%;aspect-ratio:15/8;object-fit:cover;display:block}

/* ご利用の流れ。図は本番のものを使い、文字はテキストでも併記する */
.campaign-flow{max-width:820px;margin:2.8em auto 0;text-align:center}
.campaign-flow__head{font-size:.72rem;letter-spacing:.3em;color:var(--c-muted);margin:0 0 1.4em;font-weight:400}
.campaign-flow__img{margin:0}
.campaign-flow__img img{width:100%;height:auto;display:block}
/* アイコンの真下に並べる。SPは縦、PCは3列（pc.css） */
.campaign-flow__steps{list-style:none;counter-reset:flow;margin:1em 0 0;padding:0;display:grid;gap:.6em}
.campaign-flow__steps li{counter-increment:flow;font-size:.82rem;line-height:1.9;color:var(--c-secondary)}
.campaign-flow__steps li::before{content:counter(flow) "．";color:var(--c-accent-deep);
  font-family:var(--font-en);font-style:italic;margin-right:.3em}

/* キャンペーン詳細の追加の節（プロポーズの 5EX など） */
.campaign-extra{max-width:820px;margin:3.4em auto 0;padding-top:3em;border-top:1px solid var(--c-border);text-align:center}
.campaign-extra__kicker{font-size:.72rem;letter-spacing:.3em;color:var(--c-muted);margin:0 0 1em}
.campaign-extra__lead{font-size:1rem;line-height:2.1;letter-spacing:.06em;margin:0 0 1.8em}
.campaign-extra__img{margin:0}
.campaign-extra__img img{width:100%;height:auto;display:block}
.campaign-extra__head{margin:2.4em 0 0;font-weight:400}
.campaign-extra__head-en{display:block;font-family:var(--font-en);font-style:italic;color:var(--c-accent);font-size:1.3rem;letter-spacing:.1em}
.campaign-extra__head-ruby{display:block;font-size:.72rem;letter-spacing:.2em;color:var(--c-muted);margin-top:.6em}
.campaign-extra__text{font-size:.82rem;line-height:2.2;color:var(--c-secondary);margin:1.6em 0 0;text-align:left}
.campaign-extra__figs{list-style:none;margin:2.2em 0 0;padding:0;display:grid;gap:1.4em}
.campaign-extra__fig{margin:0}
.campaign-extra__fig img{width:100%;height:auto;display:block;border:1px solid var(--c-border)}
.campaign-extra__fig figcaption{font-size:.72rem;line-height:1.9;color:var(--c-muted);margin-top:.7em}
.campaign-extra__more{margin-top:2.2em}
.campaign-extra__more a{display:inline-block;padding:1.05em 2.6em;border:1px solid var(--c-hairline);
  color:var(--c-primary);font-size:.76rem;letter-spacing:.18em;transition:background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease)}
.campaign-extra__more a:hover{background:var(--c-accent);color:var(--c-white);border-color:var(--c-accent)}

/* 特典に写真が付くとき。SPは縦、PCは写真を右に回す（pc.css） */
.campaign__benefit--photo{display:grid;gap:1.4em}
.campaign__benefit-body{display:block}
.campaign__benefit-fig{margin:0}
.campaign__benefit-fig img{width:100%;height:auto;display:block;background:var(--c-bg)}
.campaign__benefit-fig figcaption{font-size:.72rem;line-height:1.9;color:var(--c-muted);margin-top:.8em}

/* 対象になるリングの写真 */
.campaign-gallery{max-width:820px;margin:3em auto 0}
.campaign-gallery__head{font-size:.72rem;letter-spacing:.3em;color:var(--c-muted);text-align:center;margin:0 0 1.6em;font-weight:400}
.campaign-gallery__note{font-size:.76rem;line-height:2.1;color:var(--c-secondary);text-align:center;margin:0 0 1.8em}
.campaign-gallery__list{list-style:none;margin:0;padding:0;display:grid;gap:1.2em}
.campaign-gallery--3 .campaign-gallery__list{grid-template-columns:1fr 1fr;gap:1em}
.campaign-gallery--3 .campaign-gallery__fig figcaption{font-size:.7rem;margin-top:.6em}
.campaign-shops__photos--one{grid-template-columns:1fr}
.campaign-gallery__fig{margin:0}
.campaign-gallery__fig img{width:100%;height:auto;display:block}
.campaign-gallery__fig figcaption{font-size:.76rem;letter-spacing:.1em;color:var(--c-secondary);margin-top:.8em;text-align:center}

/* 店舗：店舗案内（店名・住所・電話・受付時間・定休日） */
.shop__info{padding:var(--sp-section) 1.4em}
.shop__dl{max-width:720px;margin:0 auto;display:grid;border-top:1px solid var(--c-border)}
.shop__dl dt{font-size:.72rem;letter-spacing:.16em;color:var(--c-muted);padding:1.5em 0 .5em;line-height:1.7}
.shop__dl dd{font-size:.88rem;line-height:1.95;letter-spacing:.04em;padding:0 0 1.5em;border-bottom:1px solid var(--c-border)}
.shop__dl dd a{color:var(--c-primary);border-bottom:1px solid var(--c-accent);padding-bottom:.2em;transition:color .4s var(--ease)}
.shop__dl dd a:hover{color:var(--c-accent-deep)}
.shop__info .cta-buttons{margin-top:2.8em;margin-bottom:0}

/* 店舗：コンセプト帯・リング導線・特徴カード */
.shop__concept{padding:var(--sp-section) 1.4em;background:var(--c-bg-light)}
.shop-concept__inner{max-width:1080px;margin:0 auto;display:grid;gap:2.4em}
.shop-concept__img{overflow:hidden}
.shop-concept__img img{width:100%;height:auto;display:block;transition:transform 1.3s var(--ease)}
.shop-concept__img:hover img{transform:scale(1.04)}
.shop-concept__body{font-size:.84rem;line-height:2.3;color:var(--c-secondary)}
.shop-concept__body+.shop-concept__body{margin-top:1.3em}
.section-title--left{text-align:left;margin-bottom:1.8em}
.section-title--left .section-title__ja::before{left:0;transform:none}
.shop__rings{padding:var(--sp-section) 1.4em}
.shop__rings-more{text-align:center;margin-top:2.8em}
.shop__rings-more a{font-size:.76rem;letter-spacing:.2em;border-bottom:1px solid var(--c-accent);padding-bottom:.5em;color:var(--c-primary)}
.shop__rings-more a:hover{color:var(--c-accent)}
.shop__features{padding:var(--sp-section) 1.4em;background:var(--c-bg-light)}
.point-card__img{display:block;overflow:hidden;background:var(--c-bg-tint);margin:calc(var(--pc-pad-y) * -1) calc(var(--pc-pad-x) * -1) 1.8em}
.point-card__img img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform 1.2s var(--ease)}
.point-card:hover .point-card__img img{transform:scale(1.04)}
.point-card__en{font-family:var(--font-en);font-style:italic;color:var(--c-accent);font-size:1.05rem;letter-spacing:.06em;margin-bottom:.6em}
.point-card__link{margin-top:1.3em}
.point-card__link a{font-size:.72rem;letter-spacing:.14em;color:var(--c-primary);border-bottom:1px solid var(--c-accent);padding-bottom:.35em}
.point-card__link a:hover{color:var(--c-accent-deep)}

/* 店舗：アクセス・ロケーション */
.shop__access{padding:var(--sp-section) 1.4em;background:var(--c-bg-light)}
.access-grid{display:grid;gap:1.6em;max-width:1000px;margin:0 auto}
.access-card{background:var(--c-white);padding:2.4em 2em}
.access-card__title{font-family:var(--font-ja);font-size:.94rem;letter-spacing:.18em;margin-bottom:1.2em;padding-bottom:.9em;border-bottom:1px solid var(--c-hairline)}
.access-card__sub{font-family:var(--font-ja);font-size:.82rem;letter-spacing:.16em;margin:1.8em 0 .9em;color:var(--c-primary)}
.access-card__list{font-size:.84rem;line-height:2.1;color:var(--c-secondary)}
.access-card__list li{padding-left:1.1em;position:relative}
.access-card__list li::before{content:"";position:absolute;left:0;top:.95em;width:5px;height:1px;background:var(--c-accent)}
.access-card__body{font-size:.84rem;line-height:2.1;color:var(--c-secondary)}
.access-card__note{font-size:.76rem;line-height:2;color:var(--c-muted);margin-top:1em}
.access-map{max-width:1000px;margin:3em auto 0;line-height:0}
.access-map iframe{filter:grayscale(.35) contrast(1.02)}
.access-movie{max-width:1000px;margin:3em auto 0;background:var(--c-white);padding:2.4em 2em}
.access-movie video{width:100%;height:auto;display:block;margin-top:1.4em;background:var(--c-bg-tint)}
.shop__location{padding:var(--sp-section) 1.4em}
.location-list{display:grid;gap:2.4em;max-width:1080px;margin:0 auto}
.location-card__img{overflow:hidden}
.location-card__img img{width:100%;height:auto;display:block;transition:transform 1.2s var(--ease)}
.location-card:hover .location-card__img img{transform:scale(1.05)}
.location-card__caption{font-size:.8rem;line-height:2;color:var(--c-secondary);margin-top:1.2em;text-align:center}
.service__brands{padding:var(--sp-section) 1.4em}
.service__cta{text-align:center;padding:var(--sp-section) 1.4em}
.service__cta-lead{font-size:.82rem;letter-spacing:.1em;color:var(--c-secondary);margin-bottom:1.6em}

/* フッター */
.site-footer{background:var(--c-bg);color:var(--c-primary);margin-top:var(--sp-section);border-top:1px solid var(--c-border)}
.site-footer a{color:var(--c-primary)}
.site-footer__map iframe{display:block;filter:grayscale(.35) contrast(.95)}
.site-footer__store{padding:4em 1.4em;text-align:center}
.site-footer__store-head a{font-size:.72rem;letter-spacing:.24em;color:var(--c-secondary);border-bottom:1px solid var(--c-accent);padding-bottom:.5em}
.site-footer__store-head a:hover{color:var(--c-accent)}
.site-footer__address{margin:2em 0 .8em;font-size:.82rem;letter-spacing:.08em}
.site-footer__meta{color:var(--c-secondary);font-size:.76rem}
.site-footer__tel{font-size:1.75rem;font-family:var(--font-en);color:var(--c-primary);letter-spacing:.06em;line-height:1.5}
.site-footer__tel:hover{color:var(--c-accent)}
.site-footer__closed{font-size:.74rem;color:var(--c-muted);margin:1em 0 0;line-height:1.9}
.site-footer__cta{display:flex;gap:.9em;justify-content:center;flex-wrap:wrap;margin-top:2.4em}
.site-footer__cta a{border:1px solid var(--c-hairline);padding:1em 2em;font-size:.72rem;letter-spacing:.18em;transition:border-color .4s var(--ease),color .4s var(--ease)}
.site-footer__cta a:hover{border-color:var(--c-accent);color:var(--c-accent)}
.site-footer__bottom{border-top:1px solid var(--c-border);padding:3.4em 1.4em;text-align:center}
.site-footer__logo{margin-bottom:2.4em}
.site-footer__nav,.site-footer__sub,.site-footer__services,.site-footer__sns{display:flex;flex-wrap:wrap;gap:1em 1.6em;justify-content:center;margin:1em 0;font-size:.72rem;letter-spacing:.12em}
.site-footer__nav a,.site-footer__services a,.site-footer__sub a{color:var(--c-secondary)}
.site-footer__nav a:hover,.site-footer__services a:hover,.site-footer__sub a:hover{color:var(--c-accent)}
.site-footer__sns{margin-top:2em}
.site-footer__sns a{color:var(--c-accent);font-family:var(--font-en);font-style:italic;font-size:.82rem;letter-spacing:.08em}
.site-footer__sns a:hover{color:var(--c-accent-deep)}
.site-footer__copy{font-size:.70rem;color:var(--c-muted);margin-top:2.6em;letter-spacing:.16em;font-family:var(--font-en)}

/* ==================================================================
   リングレンタル申込（/rental/）
   貸出の流れ・指輪を選ぶ・貸出し規約・選択数の帯
   ================================================================== */
.rental-head{
  font-family:var(--font-ja);letter-spacing:var(--ls-ja);
  text-align:center;margin:0 0 1.6em;line-height:1.6;
}
.rental-head span{
  display:block;font-family:var(--font-en);font-style:italic;
  color:var(--c-accent-deep);letter-spacing:var(--ls-en);
  text-transform:lowercase;margin-top:.5em;
}
.rental-head__icon{display:block;margin:0 auto .6em;width:57px;height:auto}

.rental-flow-sec,.rental-delivery,.rental-terms,.ring-pick,.form-fields{
  margin:0 auto;padding:0 20px;max-width:1024px;
}
.rental-flow-sec,.rental-delivery,.rental-terms,.ring-pick{margin-bottom:5em}

/* 貸出の流れ */
.rental-flow{list-style:none;margin:0;padding:0;display:grid;gap:1.6em}
.rental-flow__item{
  background:var(--c-bg-light);border:1px solid var(--c-border);
  border-radius:4px;padding:1.8em 1.2em;text-align:center;
}
.rental-flow__icon{margin:0 0 .8em}
.rental-flow__icon img{width:72px;height:auto}
.rental-flow__step{
  margin:0 0 .5em;font-family:var(--font-ja);letter-spacing:var(--ls-ja);
}
.rental-flow__step span{
  display:block;font-family:var(--font-en);font-style:italic;
  color:var(--c-accent);line-height:1;margin-bottom:.3em;
}
.rental-flow__desc{margin:0;color:var(--c-secondary);line-height:1.9;text-align:left}

.rental-attention{
  list-style:none;margin:2em 0 0;padding:1.4em 1.6em;
  background:var(--c-bg-tint);border-radius:4px;
}
.rental-attention li{position:relative;padding-left:1.3em;color:var(--c-secondary);line-height:1.9}
.rental-attention li::before{content:"※";position:absolute;left:0}
.rental-attention li+li{margin-top:.6em}

/* お届け内容 */
.rental-delivery__photo{margin:0 0 1.6em}
.rental-delivery__photo img{width:100%;height:auto;border-radius:4px}
.rental-delivery__lead{text-align:center;margin:0 0 1.4em;line-height:2}
.rental-delivery__links{
  list-style:none;margin:0;padding:0;display:flex;gap:1em;justify-content:center;flex-wrap:wrap;
}
.rental-delivery__links a{
  display:block;min-width:200px;padding:.9em 1.6em;text-align:center;
  border:1px solid var(--c-accent);color:var(--c-accent-deep);
  text-decoration:none;letter-spacing:var(--ls-ja);border-radius:2px;
}
.rental-delivery__links a:hover,.rental-delivery__links a:focus-visible{
  background:var(--c-accent);color:var(--c-white);
}

/* 指輪を選ぶ */
.ring-pick{scroll-margin-top:80px}
.rental-head--ring{display:block}
/* .rental-head span の display:block に勝たせて、「3 / 3」を1行に収める */
.rental-head .ring-pick__count,
.rental-head .ring-pick__count span{
  display:inline-block;font-family:var(--font-en);
  color:var(--c-accent-deep);letter-spacing:.08em;
}
.rental-head .ring-pick__count{margin-top:.5em}
.ring-pick__lead{text-align:center;color:var(--c-secondary);margin:0 0 2em}
.ring-pick__list{list-style:none;margin:0;padding:0;display:grid;gap:1.4em}
.ring-pick__input{position:absolute;opacity:0;width:1px;height:1px}
.ring-pick__label{
  display:block;cursor:pointer;border:1px solid var(--c-border);
  border-radius:4px;padding:.8em;background:var(--c-white);
  transition:border-color .2s,box-shadow .2s;
}
.ring-pick__label img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:2px}
.ring-pick__name{
  display:block;text-align:center;margin-top:.7em;
  font-family:var(--font-ja);letter-spacing:var(--ls-ja);
}
.ring-pick__state{
  display:block;text-align:center;margin-top:.3em;
  font-size:.82em;color:var(--c-muted);
}
.ring-pick__input:checked+.ring-pick__label{
  border-color:var(--c-accent);box-shadow:0 0 0 2px var(--c-accent) inset;
}
.ring-pick__input:checked+.ring-pick__label .ring-pick__state::before{content:"選択中／"}
.ring-pick__input:focus-visible+.ring-pick__label{outline:2px solid var(--c-focus);outline-offset:2px}
.ring-pick__input:disabled+.ring-pick__label{opacity:.4;cursor:not-allowed}

/* 貸出し規約 */
.rental-terms__spec{
  margin:0 0 1.8em;padding:0;border-top:1px solid var(--c-border);
}
.rental-terms__spec>div{
  display:flex;gap:1.2em;padding:.9em 0;border-bottom:1px solid var(--c-border);
}
.rental-terms__spec dt{
  flex:0 0 9em;margin:0;font-family:var(--font-ja);letter-spacing:var(--ls-ja);
}
.rental-terms__spec dd{margin:0;color:var(--c-secondary)}
.rental-terms__list{list-style:none;margin:0 0 2em;padding:0}
.rental-terms__list li{position:relative;padding-left:1.3em;color:var(--c-secondary);line-height:1.9}
.rental-terms__list li::before{content:"・";position:absolute;left:0}
.rental-terms__list li+li{margin-top:.7em}

/* 選んだ数の帯 */
.ring-counter{
  position:sticky;bottom:0;z-index:20;
  display:flex;align-items:center;justify-content:center;gap:1.6em;flex-wrap:wrap;
  padding:.8em 20px;margin:0 0 3em;
  background:rgba(255,255,255,.96);border-top:1px solid var(--c-border);
  box-shadow:0 -2px 10px rgba(27,25,23,.06);
}
.ring-counter__list{list-style:none;margin:0;padding:0;display:flex;gap:1.6em}
.ring-counter__item{display:flex;align-items:center;gap:.5em}
.ring-counter__item img{width:28px;height:auto}
.ring-counter__label{font-family:var(--font-ja);letter-spacing:.08em}
.ring-counter__num{font-family:var(--font-en);color:var(--c-accent-deep);letter-spacing:.06em}
.ring-counter__cta{margin:0}
.ring-counter__cta a{
  display:inline-block;padding:.7em 1.8em;background:var(--c-primary);color:var(--c-white);
  text-decoration:none;letter-spacing:var(--ls-ja);border-radius:2px;
}
.ring-counter__cta a span{margin-left:.2em}
.ring-counter__cta a:hover,.ring-counter__cta a:focus-visible{background:var(--c-accent-deep)}

.form-fields{scroll-margin-top:80px}
@media (prefers-reduced-motion:reduce){
  .ring-pick__label{transition:none}
}

/* トップのブランド一覧：ブランドロゴ（現行サイトに合わせて写真の下に置く）。
   地が透明のものと白のものが混在しているが、カードが白なのでどちらも馴染む */
.brand-grid__logo{display:block;margin:.9em auto .5em;text-align:center}
.brand-grid__logo img{
  display:block;margin:0 auto;width:auto;max-width:78%;height:auto;max-height:34px;object-fit:contain;
}
