@charset "utf-8";
/* =========================================================
   PRIMA PORTA pc.css（769px以上のレイアウト）
========================================================= */

/* ---------- ヘッダー ---------- */
.header-inner {
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 40px;
}
.global-nav ul { display: flex; gap: 30px; align-items: center; }
.nav-catalog a {
  border: 1px solid var(--gold-soft);
  padding: 8px 20px;
  transition: background .3s ease;
}
.nav-catalog a:hover { background: rgba(138, 114, 72, .08); }

/* ---------- ヒーロー ---------- */
.hero-copy { padding: 0 0 130px 8vw; }
.hero-brand { font-size: 20px; margin-bottom: 18px; }
.hero-lead { font-size: 34px; line-height: 1.9; letter-spacing: .12em; }
.hero-scroll { bottom: 0; }

/* ---------- セクション共通 ---------- */
.section-inner { padding: 110px 40px; }
.section-title-en { font-size: 34px; }
.section-title { margin-bottom: 60px; }

/* ---------- コンセプト ---------- */
.concept-catch { margin-bottom: 46px; }
.concept-door { margin-bottom: 46px; }
.concept-poem { font-size: 15px; }

/* ---------- コレクション ---------- */
.collection-item {
  display: flex; align-items: center; gap: 70px;
  padding: 50px 0;
}
.collection-item.is-reverse { flex-direction: row-reverse; }
.collection-visual { width: 46%; flex-shrink: 0; }
.collection-text { flex: 1; }
.collection-title-en { font-size: 26px; }
.collection-title { margin-bottom: 24px; }
.collection-desc { margin-bottom: 34px; font-size: 15px; }

/* ---------- CTA・メッセージ ---------- */
.shop-cta-txt { margin-bottom: 40px; }
.message-visual { max-width: 760px; margin: 0 auto 30px; }
.message-txt { margin-bottom: 34px; }
.catalog-cta-txt { margin-bottom: 40px; }

/* ---------- フッター ---------- */
.site-footer { padding: 70px 40px 40px; }
.footer-logo { margin-bottom: 30px; }
.footer-nav { margin-bottom: 36px; }

/* ---------- 下層ページ（PC） ---------- */
.page-hero { margin-top: 0; }
.page-hero-en { font-size: 38px; }
.breadcrumb { max-width: 1080px; margin: 0 auto; padding: 20px 40px 0; }
.ring-tabs { margin-bottom: 70px; }

.ring-item {
  display: flex; gap: 60px; align-items: center;
  padding: 60px 0;
}
.ring-item:nth-child(even) { flex-direction: row-reverse; }
.ring-photo { width: 44%; flex-shrink: 0; }
.ring-text { flex: 1; }
.ring-name-en { font-size: 30px; }
.ring-name { margin-bottom: 20px; }
.ring-price { margin-top: 24px; padding-top: 18px; }

.shop-tabs { margin-bottom: 60px; }
.shop-tabs button { margin: 0 4px 8px; }
.shop-area { margin-bottom: 20px; }
.shop-area-title { margin: 40px 0 26px; }
.shop-grid { grid-template-columns: repeat(3, 1fr); gap: 24px; }
.shop-card { padding: 26px 24px; }
.shop-card-name { margin-bottom: 10px; }
.shop-card-addr { margin-bottom: 6px; }
.shop-card-tel { margin-bottom: 18px; }

.poem-block { padding: 30px 0; }
.poem-text { font-size: 15px; margin: 50px 0; }
.poem-photo { max-width: 700px; margin: 0 auto; }

.form-note { margin-bottom: 40px; }
.catalog-form { padding: 10px 0; margin-bottom: 50px; }
.form-row { padding: 0; }
.form-label { width: 240px; padding: 22px 24px; }
.form-field { padding: 18px 28px; }
.form-submit { padding-bottom: 20px; }

/* ---------- リングカードグリッド（PC） ---------- */
.ring-toolbar { padding-bottom: 20px; margin-bottom: 40px; }
.ring-grid { grid-template-columns: repeat(3, 1fr); gap: 30px; }

/* ---------- 商品詳細（PC）・カード微調整 ---------- */
.ring-grid { gap: 34px; }
.ring-card-body { padding: 20px 24px 24px; }

.detail-grid { gap: 70px; padding-top: 20px; }
.detail-photo { width: 46%; flex-shrink: 0; }
.detail-info { flex: 1; }
.detail-no { margin-bottom: 10px; }
.detail-name-en { font-size: 52px; }
.detail-name-ja { margin: 6px 0 26px; }
.detail-copy { margin-bottom: 34px; }
.price-table th, .price-table td { padding: 14px 18px; }
.price-table { margin-bottom: 8px; }
.price-tax-note { margin-bottom: 30px; }
.detail-cta { margin-bottom: 40px; }
.series-links { padding-top: 26px; }
.detail-nav { margin-top: 70px; padding-top: 26px; }

/* ---------- 店舗詳細（PC） ---------- */
.shop-detail-grid { gap: 70px; }
.shop-detail-photo { width: 380px; flex-shrink: 0; position: sticky; top: 110px; }
.shop-detail-name { font-size: 30px; margin-bottom: 30px; }
.shop-info-table th { width: 130px; padding: 16px 20px 16px 0; }
.shop-info-table td { padding: 16px 0; }
.shop-hp-btn { margin-top: 28px; }
.shop-ring-grid { gap: 12px; margin-bottom: 50px; }
.shop-map { margin-top: 60px; margin-bottom: 16px; }
.shop-map iframe { height: 360px; }
.shop-desc { margin-bottom: 60px; }
.shop-features { grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 60px; }
.shop-feature { padding: 28px 26px; }
.material-grid { gap: 10px; margin-top: 16px; }

/* ---------- スペックテーブル（PC） ---------- */
.spec-dl { font-size: 13px; }
.spec-dl dt { min-width: 220px; }
.craft-grid { grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.craft-section { padding: 60px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.craft-section.is-reverse { direction: rtl; }
.craft-section.is-reverse > * { direction: ltr; }
.craft-lead { margin-bottom: 60px; }
.after-item { padding: 40px 0; display: grid; grid-template-columns: 120px 1fr; gap: 40px; }

/* =========================================================
   ✦ Premium — PC余白とバランスの格上げ
========================================================= */
.section-inner { padding: 130px 40px; }
.section-title { margin-bottom: 76px; }
.section-title-en { font-size: 36px; }
.section-title-ja { font-size: 12px; }

/* ヒーローのコピーに余白を持たせる */
.hero-copy { padding: 0 0 150px 8vw; }
.hero-brand { font-size: 19px; margin-bottom: 22px; }
.hero-lead { font-size: 36px; }

/* コンセプトの詩に贅沢な余白 */
.concept-catch { font-size: 25px; margin-bottom: 58px; }
.concept-poem { font-size: 15.5px; }
.concept-door { margin-bottom: 58px; }

/* コレクションのゆとり */
.collection-item { gap: 84px; padding: 64px 0; }
.collection-title-en { font-size: 28px; }
.collection-title { margin-bottom: 28px; }
.collection-desc { margin-bottom: 40px; font-size: 15px; }

/* リング詳細：商品名を大きく */
.detail-name-en { font-size: 58px; }
.detail-grid { gap: 80px; }

/* ページヒーロー高く */
.page-hero-en { font-size: 42px; }
