@charset "UTF-8";
/* ============================================================
   Aroma Stand 公式サイト 共通スタイル
   黒基調 × シャンパンゴールド × 明朝（古典高級）
   ============================================================ */

:root{
  --bg:#17130D; --bg2:#1E1912; --surface:#241E14; --surface2:#2C2517;
  --gold:#CDA862; --gold-bright:#EDDBAC; --ivory:#F6F1E6; --muted:#ADA48D;
  --line:rgba(205,168,98,.28); --line-soft:rgba(246,241,230,.10);
  --serif:"Hiragino Mincho ProN","Yu Mincho","YuMincho","MS PMincho",serif;
  --sans:"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic","Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box;}
html{background:#16120C;}
body{margin:0;color:var(--ivory);font-family:var(--sans);-webkit-font-smoothing:antialiased;
  background:
    radial-gradient(120% 52% at 50% 0%, rgba(205,168,98,.10), transparent 52%),
    linear-gradient(180deg, #201A12 0%, #1A150E 30%, #16120C 62%, #14110B 100%);}
.page{overflow-x:hidden;position:relative;z-index:1;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;}
.wrap{max-width:1120px;margin:0 auto;padding:0 28px;}
.eyebrow{font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:500;}
/* 本文中の下線リンク */
.tlink{color:var(--gold-bright);text-decoration:underline;text-underline-offset:3px;}
/* セクション余白の微調整ユーティリティ（section.blk の 112px を上書き） */
.blk.pt-40{padding-top:40px;} .blk.pt-72{padding-top:72px;} .blk.pb-64{padding-bottom:64px;}

/* 背景ライン（全ページ共通・パララックス） */
.bg-lines{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.bg-lines svg{position:absolute;left:0;top:-30%;width:100%;height:160%;display:block;will-change:transform;}
.bg-lines .flow{stroke:#CDA862;fill:none;vector-effect:non-scaling-stroke;
  stroke-dasharray:var(--len,2600);stroke-dashoffset:var(--len,2600);
  animation:draw 3.4s ease forwards;}
.bg-lines .flow.d1{animation-delay:.1s;} .bg-lines .flow.d2{animation-delay:.5s;}
.bg-lines .flow.d3{animation-delay:.9s;} .bg-lines .flow.d4{animation-delay:1.3s;}
@keyframes draw{to{stroke-dashoffset:0;}}

/* スクロール表示アニメーション */
.reveal{opacity:0;transform:translateY(26px);transition:opacity 1s ease,transform 1s ease;}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  .mist{animation:none!important;} .bg-lines .flow{animation:none;stroke-dashoffset:0;}
}

/* ---------- header ---------- */
.site{position:sticky;top:0;z-index:50;backdrop-filter:blur(10px);background:rgba(11,10,8,.66);border-bottom:1px solid var(--line-soft);}
.site .wrap{height:96px;display:flex;align-items:center;justify-content:space-between;}
.brand-logo{display:inline-flex;align-items:center;}
.brand-logo img{height:60px;width:auto;display:block;}
footer .brand-logo img{height:72px;opacity:.95;}
.nav{display:flex;align-items:center;gap:30px;font-size:.82rem;letter-spacing:.08em;color:var(--muted);}
.nav a:hover{color:var(--ivory);}
.nav .cta{color:var(--gold-bright);border:1px solid var(--gold);border-radius:2px;padding:11px 20px;letter-spacing:.14em;font-size:.76rem;transition:.35s;}
.nav .cta:hover{background:var(--gold);color:#171208;}
@media(max-width:860px){.nav a:not(.cta){display:none;}}

/* ---------- buttons ---------- */
.btns{display:flex;gap:16px;flex-wrap:wrap;}
.btn{font-size:.8rem;letter-spacing:.16em;padding:16px 30px;border-radius:2px;transition:.35s;white-space:nowrap;display:inline-block;}
.btn.solid{background:var(--gold);color:#171208;font-weight:600;}
.btn.solid:hover{background:var(--gold-bright);}
.btn.ghost{border:1px solid var(--line);color:var(--ivory);}
.btn.ghost:hover{border-color:var(--gold);color:var(--gold-bright);}

/* ---------- hero (TOP) ---------- */
.hero{position:relative;min-height:92vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;}
/* 背景：設置イメージ(install-1)を暗く敷く＋上からヴェール */
.hero::before{content:"";position:absolute;inset:0;z-index:0;
  background:url(../img/install-1.jpg) center 32%/cover;opacity:.34;filter:brightness(.66) saturate(1.05);}
.hero::after{content:"";position:absolute;inset:0;z-index:0;
  background:radial-gradient(72% 62% at 50% 46%,rgba(11,10,8,.42),rgba(11,10,8,.86));}
.mist{position:absolute;inset:-20% -10% auto -10%;height:130%;pointer-events:none;
  background:
    radial-gradient(64% 46% at 50% 28%, rgba(205,168,98,.30), transparent 62%),
    radial-gradient(44% 32% at 70% 56%, rgba(237,219,172,.16), transparent 60%),
    radial-gradient(50% 36% at 28% 60%, rgba(205,168,98,.14), transparent 60%);
  filter:blur(6px);animation:breathe 11s ease-in-out infinite;}
@keyframes breathe{0%,100%{opacity:.75;transform:translateY(0) scale(1);}50%{opacity:1;transform:translateY(-14px) scale(1.04);}}
.hero .inner{position:relative;z-index:2;display:block;padding:120px 28px;max-width:1000px;width:100%;margin:0 auto;text-align:center;}
.hero-copy{max-width:none;margin:0 auto;min-width:0;}
@media(max-width:880px){
  .hero{min-height:auto;}
  .hero .inner{padding:104px 28px 80px;}
  .hero h1{white-space:normal;}
}
@media(max-width:760px){
  .media-line{flex-wrap:wrap;white-space:normal;font-size:.68rem;}
}
.hero .mark{font-size:.72rem;letter-spacing:.5em;color:var(--gold);padding-left:.5em;margin-bottom:34px;}
.hero h1{font-family:var(--serif);font-weight:500;line-height:1.28;letter-spacing:.04em;
  font-size:clamp(2.5rem,7.2vw,5.4rem);margin:0 0 30px;text-wrap:balance;white-space:nowrap;}
.hero h1 .g{color:var(--gold-bright);}
.hero p.sub{max-width:34em;margin:0 auto 20px;color:#d8d0bf;font-size:clamp(.95rem,1.4vw,1.08rem);line-height:2;font-weight:300;}
.hero .btns{justify-content:center;}
.price{display:inline-flex;align-items:baseline;gap:.5em;margin:8px 0 40px;color:var(--ivory);}
.price .n{font-family:var(--serif);font-size:2.1rem;color:var(--gold-bright);letter-spacing:.02em;}
.price .u{font-size:.8rem;letter-spacing:.2em;color:var(--muted);}
.media-line{margin-top:56px;display:flex;gap:12px;justify-content:center;flex-wrap:nowrap;white-space:nowrap;align-items:center;color:var(--muted);font-size:.64rem;letter-spacing:.03em;}
.media-line b{color:var(--gold-bright);font-weight:500;}
.media-line .dot{width:3px;height:3px;border-radius:50%;background:var(--gold);opacity:.6;}
.scrollcue{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);color:var(--muted);font-size:.62rem;letter-spacing:.3em;display:flex;flex-direction:column;align-items:center;gap:9px;}
.scrollcue i{width:1px;height:40px;background:linear-gradient(var(--gold),transparent);display:block;}

/* ---------- section base ---------- */
section.blk{padding:112px 0;border-top:1px solid var(--line-soft);}
.shead{display:flex;flex-direction:column;gap:14px;margin-bottom:56px;}
.shead h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.7rem,3.6vw,2.7rem);margin:0;letter-spacing:.05em;}
.shead p{margin:0;color:var(--muted);max-width:40em;line-height:2;font-weight:300;font-size:.95rem;}
.shead.compact{margin-bottom:34px;}

/* ---------- 下層ページ 共通ヘッダー帯 ---------- */
.pagehead{position:relative;padding:150px 0 64px;border-bottom:1px solid var(--line-soft);overflow:hidden;}
.pagehead .glow{position:absolute;inset:0;background:radial-gradient(60% 130% at 50% -10%,rgba(205,168,98,.14),transparent 60%);pointer-events:none;}
.crumb{font-size:.72rem;letter-spacing:.1em;color:var(--muted);margin-bottom:24px;position:relative;}
.crumb a:hover{color:var(--gold-bright);}
.crumb span{margin:0 .6em;opacity:.45;}
.pagehead .eyebrow{display:block;margin-bottom:16px;position:relative;}
.pagehead h1{font-family:var(--serif);font-weight:500;font-size:clamp(2rem,5vw,3.4rem);margin:0;letter-spacing:.05em;position:relative;}
.pagehead .lead{color:var(--muted);margin:20px 0 0;max-width:46em;line-height:2;font-weight:300;position:relative;font-size:.95rem;}
.pagehead .btns{margin-top:36px;position:relative;}

/* ---------- allure (TOP 商品) ---------- */
.allure-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:center;}
@media(max-width:860px){.allure-grid{grid-template-columns:1fr;gap:44px;}}
.points{display:flex;flex-direction:column;}
.pt{display:flex;gap:22px;padding:26px 0;border-bottom:1px solid var(--line-soft);}
.pt:first-child{border-top:1px solid var(--line-soft);}
.pt .no{font-family:var(--serif);color:var(--gold);font-size:1.05rem;min-width:34px;letter-spacing:.05em;}
.pt h3{margin:0 0 7px;font-size:1.02rem;font-weight:600;letter-spacing:.04em;}
.pt p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.85;font-weight:300;}
.visual{display:flex;align-items:center;justify-content:center;}
/* 利用シーン写真（開発中イメージ） */
.use-shot{margin:0;width:100%;}
.use-shot img{display:block;width:100%;height:auto;border:1px solid var(--line-soft);border-radius:4px;
  box-shadow:0 26px 64px rgba(0,0,0,.55);}
.use-shot figcaption{margin-top:14px;text-align:right;font-size:.72rem;letter-spacing:.1em;color:var(--muted);}

/* ---------- scenes (TOP 利用シーン) ---------- */
.scenes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);}
@media(max-width:860px){.scenes-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.scenes-grid{grid-template-columns:1fr;}}
.scene{background:var(--bg);padding:40px 30px;min-height:230px;display:flex;flex-direction:column;justify-content:flex-start;transition:.4s;}
.scene:hover{background:var(--surface);}
.scene .en{font-size:.62rem;letter-spacing:.28em;color:var(--gold);text-transform:uppercase;margin-bottom:34px;}
.scene h3{font-family:var(--serif);font-weight:500;font-size:1.3rem;margin:0 0 12px;letter-spacing:.04em;}
.scene p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.8;font-weight:300;}

/* ---------- news ---------- */
.news-list{display:flex;flex-direction:column;border-top:1px solid var(--line-soft);}
.news-row{display:flex;align-items:center;gap:26px;padding:26px 4px;border-bottom:1px solid var(--line-soft);transition:.3s;}
.news-row:hover{padding-left:14px;}
.news-row .date{font-family:var(--serif);color:var(--muted);font-size:.86rem;letter-spacing:.08em;min-width:96px;}
.news-row .tag{font-size:.64rem;letter-spacing:.14em;padding:5px 12px;border:1px solid var(--gold);color:var(--gold-bright);border-radius:999px;white-space:nowrap;}
.news-row .tt{font-size:.95rem;font-weight:300;color:#ded6c6;}
.news-row:hover .tt{color:var(--gold-bright);}
.news-row .arw{margin-left:auto;color:var(--gold);opacity:0;transition:.3s;}
.news-row:hover .arw{opacity:1;}
@media(max-width:620px){.news-row{flex-wrap:wrap;gap:12px;} .news-row .arw{display:none;}}
.linkmore{margin-top:40px;display:inline-flex;align-items:center;gap:.6em;color:var(--gold-bright);font-size:.82rem;letter-spacing:.1em;}
.linkmore:hover{gap:1em;}

/* お知らせ記事本文 */
.news-article{max-width:760px;}
.news-article .meta{display:flex;align-items:center;gap:18px;margin-bottom:26px;}
.news-article .meta .date{font-family:var(--serif);color:var(--muted);}
.news-article .shead{margin-bottom:30px;}
.news-article h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.5rem,3vw,2.1rem);margin:0;letter-spacing:.04em;}
.news-article .body{color:#d8d0bf;line-height:2.1;font-weight:300;font-size:.98rem;}
.news-article .body p{margin:0 0 1.4em;}

/* ---------- company ---------- */
.co-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 56px;}
@media(max-width:720px){.co-grid{grid-template-columns:1fr;}}
.co-row{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid var(--line-soft);font-size:.9rem;}
.co-row dt{color:var(--gold);font-weight:500;letter-spacing:.06em;}
.co-row dd{margin:0;color:#cfc7b6;font-weight:300;line-height:1.7;}

/* ---------- contact band ---------- */
.contact{position:relative;text-align:center;overflow:hidden;}
.contact .glow{position:absolute;inset:0;background:radial-gradient(50% 120% at 50% 0%,rgba(198,161,91,.16),transparent 60%);pointer-events:none;}
.contact .eyebrow{display:block;margin-bottom:16px;position:relative;}
.contact h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.9rem,4.4vw,3rem);margin:0 0 18px;letter-spacing:.05em;position:relative;}
.contact p{color:var(--muted);max-width:34em;margin:0 auto 40px;line-height:2;font-weight:300;position:relative;}
.contact .btns{justify-content:center;position:relative;}

/* ============================================================
   オーナー・加盟店募集ページ
   ============================================================ */
/* 導入メリット */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);}
@media(max-width:820px){.feat-grid{grid-template-columns:1fr;}}
.feat{background:var(--bg);padding:44px 34px;transition:.4s;}
.feat:hover{background:var(--surface);}
.feat .fn{font-family:var(--serif);font-size:1rem;color:var(--gold);letter-spacing:.1em;margin-bottom:22px;}
.feat h3{margin:0 0 12px;font-size:1.12rem;font-weight:600;letter-spacing:.03em;}
.feat p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.9;font-weight:300;}

/* 設置イメージ */
.install-band{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:720px){.install-band{grid-template-columns:1fr;}}
.install-shot{overflow:hidden;border:1px solid var(--line-soft);border-radius:3px;}
.install-shot img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;transition:.6s ease;}
.install-shot:hover img{transform:scale(1.05);}
.install-cap{margin-top:18px;font-size:.72rem;letter-spacing:.08em;color:var(--muted);}

/* 数字で見る */
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);}
@media(max-width:820px){.stat-grid{grid-template-columns:repeat(2,1fr);}}
.stat{background:var(--bg);padding:40px 24px;text-align:center;}
.stat .num{font-family:var(--serif);font-size:clamp(2rem,4vw,2.8rem);color:var(--gold-bright);letter-spacing:.02em;line-height:1;}
.stat .num small{font-size:.9rem;color:var(--gold);margin-left:.15em;}
.stat .lbl{margin-top:14px;color:var(--muted);font-size:.78rem;letter-spacing:.06em;line-height:1.6;}

/* 導入プラン（料金・事実のみ） */
.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
@media(max-width:720px){.plan-grid{grid-template-columns:1fr;}}
.plan{border:1px solid var(--line);border-radius:4px;padding:38px 34px;background:linear-gradient(180deg,var(--surface),transparent);}
.plan .pn{font-size:.72rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;}
.plan h3{font-family:var(--serif);font-weight:500;font-size:1.5rem;margin:14px 0 6px;letter-spacing:.04em;}
.plan .price-row{display:flex;align-items:baseline;gap:.3em;margin:20px 0 8px;}
.plan .price-row .p{font-family:var(--serif);font-size:2.3rem;color:var(--gold-bright);}
.plan .price-row .un{font-size:.82rem;color:var(--muted);letter-spacing:.06em;}
.plan ul{list-style:none;padding:0;margin:22px 0 0;border-top:1px solid var(--line-soft);}
.plan li{padding:14px 0;border-bottom:1px solid var(--line-soft);color:#cfc7b6;font-size:.86rem;font-weight:300;display:flex;gap:12px;line-height:1.6;}
.plan li::before{content:"—";color:var(--gold);}
.note{margin-top:22px;color:var(--muted);font-size:.76rem;line-height:1.9;font-weight:300;}

/* 導入フロー */
.flow-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
@media(max-width:820px){.flow-steps{grid-template-columns:1fr 1fr;gap:28px;}}
@media(max-width:480px){.flow-steps{grid-template-columns:1fr;}}
.step{position:relative;padding-top:24px;border-top:1px solid var(--line);}
.step .sn{font-family:var(--serif);color:var(--gold);font-size:.9rem;letter-spacing:.1em;}
.step h3{margin:12px 0 8px;font-size:1rem;font-weight:600;letter-spacing:.03em;}
.step p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.8;font-weight:300;}

/* FAQ */
.faq{border-top:1px solid var(--line-soft);}
.faq details{border-bottom:1px solid var(--line-soft);}
.faq summary{list-style:none;cursor:pointer;padding:24px 40px 24px 34px;position:relative;font-size:.98rem;font-weight:400;letter-spacing:.02em;transition:.3s;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::before{content:"Q";font-family:var(--serif);color:var(--gold);position:absolute;left:2px;top:24px;font-size:.95rem;}
.faq summary::after{content:"+";position:absolute;right:6px;top:22px;color:var(--gold);font-size:1.2rem;transition:.3s;}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq summary:hover{color:var(--gold-bright);}
.faq .ans{padding:0 34px 26px 34px;color:var(--muted);font-size:.88rem;line-height:1.95;font-weight:300;}

/* お問い合わせフォーム */
.form{max-width:680px;}
.form .grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
@media(max-width:600px){.form .grid{grid-template-columns:1fr;}}
.field{display:flex;flex-direction:column;gap:9px;margin-bottom:20px;}
.field.full{grid-column:1/-1;}
.field label{font-size:.78rem;letter-spacing:.08em;color:var(--gold);}
.field label .req{color:var(--gold-bright);margin-left:.3em;font-size:.7rem;}
.field input,.field textarea,.field select{
  background:var(--surface);border:1px solid var(--line-soft);border-radius:3px;color:var(--ivory);
  font-family:inherit;font-size:.92rem;padding:14px 16px;transition:.3s;width:100%;}
.field textarea{resize:vertical;min-height:130px;}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--gold);background:var(--surface2);}
.form .submit{margin-top:8px;}
.form .privacy-agree{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:.82rem;line-height:1.7;font-weight:300;margin:6px 0 24px;}
.form .privacy-agree a{color:var(--gold-bright);text-decoration:underline;text-underline-offset:3px;}
.form-note{margin-top:26px;padding:18px 22px;border:1px dashed var(--line);border-radius:4px;color:var(--muted);font-size:.8rem;line-height:1.8;font-weight:300;}

/* ============================================================
   設置エリアページ（エリアごとブロック × 設置スポット）
   ============================================================ */
/* 大＝地方ブロック */
.region{padding:58px 0;border-top:1px solid var(--line);}
.region:first-of-type{border-top:none;padding-top:6px;}
.region-title{display:flex;align-items:baseline;gap:16px;margin-bottom:10px;flex-wrap:wrap;}
.region-title h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.6rem,3.8vw,2.5rem);margin:0;letter-spacing:.05em;}
.region-title h2 .en{font-family:var(--sans);font-size:.64rem;letter-spacing:.24em;color:var(--gold);text-transform:uppercase;margin-left:.7em;font-weight:500;}
.region-title .region-status{margin-left:auto;font-size:.7rem;letter-spacing:.12em;color:var(--muted);border:1px solid var(--line-soft);border-radius:999px;padding:6px 15px;}
/* 中＝県ブロック */
.pref-group{margin-top:34px;}
.pref-group:first-of-type{margin-top:22px;}
.pref-title{display:flex;align-items:baseline;gap:12px;margin-bottom:16px;padding-left:2px;}
.pref-title h3{font-family:var(--serif);font-weight:500;font-size:1.22rem;color:var(--gold-bright);margin:0;letter-spacing:.05em;}
.pref-title .en{font-family:var(--sans);font-size:.58rem;letter-spacing:.22em;color:var(--gold);text-transform:uppercase;}
.spot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);}
@media(max-width:820px){.spot-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.spot-grid{grid-template-columns:1fr;}}
.spot{background:var(--bg);padding:28px 26px;transition:.4s;display:flex;flex-direction:column;gap:9px;min-height:150px;}
.spot:hover{background:var(--surface);}
.spot .spot-type{font-size:.6rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;}
.spot h3{font-family:var(--serif);font-weight:500;font-size:1.16rem;margin:0;letter-spacing:.03em;line-height:1.4;}
.spot .spot-area{margin:0;color:var(--gold-bright);font-size:.78rem;letter-spacing:.05em;}
.spot .spot-desc{margin:auto 0 0;color:var(--muted);font-size:.82rem;line-height:1.7;font-weight:300;}
.spot.placeholder{grid-column:1/-1;align-items:center;justify-content:center;text-align:center;color:var(--muted);font-size:.85rem;font-weight:300;letter-spacing:.04em;min-height:120px;background:linear-gradient(180deg,var(--surface),transparent);gap:0;}
.area-note{margin-top:46px;color:var(--muted);font-size:.82rem;line-height:1.9;font-weight:300;}

/* ============================================================
   プライバシーポリシー / 法務テキスト
   ============================================================ */
.legal{max-width:820px;color:#d0c8b8;font-weight:300;line-height:2;font-size:.92rem;}
.legal h2{font-family:var(--serif);font-weight:500;color:var(--ivory);font-size:1.2rem;letter-spacing:.04em;margin:48px 0 16px;padding-top:24px;border-top:1px solid var(--line-soft);}
.legal h2:first-child{border-top:none;padding-top:0;margin-top:0;}
.legal p{margin:0 0 1.2em;}
.legal ul{margin:0 0 1.4em;padding-left:1.3em;}
.legal li{margin-bottom:.5em;}
.legal .updated{color:var(--muted);font-size:.8rem;letter-spacing:.06em;margin-bottom:40px;}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line-soft);padding:54px 0;position:relative;z-index:1;}
footer .wrap{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;flex-wrap:wrap;}
footer .fnav{display:flex;gap:26px;flex-wrap:wrap;font-size:.78rem;color:var(--muted);letter-spacing:.06em;}
footer .fnav a:hover{color:var(--gold-bright);}
footer .fbottom{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:14px;padding-top:22px;border-top:1px solid var(--line-soft);}
footer small{color:var(--muted);font-size:.72rem;letter-spacing:.06em;}

/* ============================================================
   WordPress 用の追加スタイル
   ============================================================ */
/* 管理バー表示時、固定ヘッダーが隠れないように下げる */
body.admin-bar .site{top:32px;}
@media(max-width:782px){body.admin-bar .site{top:46px;}}

/* お知らせ本文（ブロックエディタで書いた中身） */
.news-article .body h2{font-family:var(--serif);font-weight:500;color:var(--ivory);font-size:1.25rem;letter-spacing:.04em;margin:2em 0 .8em;}
.news-article .body h3{font-size:1.05rem;font-weight:600;letter-spacing:.03em;margin:1.8em 0 .7em;}
.news-article .body ul,.news-article .body ol{margin:0 0 1.4em;padding-left:1.4em;}
.news-article .body li{margin-bottom:.5em;}
.news-article .body a{color:var(--gold-bright);text-decoration:underline;text-underline-offset:3px;}
.news-article .body img{height:auto;border-radius:3px;}
.news-article .body blockquote{margin:0 0 1.4em;padding:4px 0 4px 20px;border-left:1px solid var(--line);color:var(--muted);}
.news-thumb{margin:0 0 32px;}
.news-thumb img{width:100%;height:auto;display:block;border:1px solid var(--line-soft);border-radius:3px;}

/* 法務ページ・固定ページ本文のリンク */
.legal a{color:var(--gold-bright);text-decoration:underline;text-underline-offset:3px;}

/* ページ送り */
.navigation.pagination{margin-top:52px;}
.navigation .nav-links{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center;}
.navigation .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;
  border:1px solid var(--line-soft);border-radius:2px;color:var(--muted);font-size:.82rem;letter-spacing:.06em;transition:.3s;}
.navigation a.page-numbers:hover{border-color:var(--gold);color:var(--gold-bright);}
.navigation .page-numbers.current{border-color:var(--gold);color:#171208;background:var(--gold);}
.navigation .page-numbers.dots{border-color:transparent;}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}

/* Contact Form 7 */
.form .wpcf7-form-control-wrap{display:block;}
.form .wpcf7-list-item{margin:0;}
.form .wpcf7-not-valid-tip{display:block;margin-top:7px;color:#e0a5a5;font-size:.76rem;letter-spacing:.03em;}
.form .wpcf7-response-output{margin:24px 0 0!important;padding:15px 20px!important;border:1px solid var(--line)!important;border-radius:4px;
  color:var(--ivory);font-size:.84rem;line-height:1.8;}
.form .wpcf7 form.invalid .wpcf7-response-output,.form .wpcf7 form.unaccepted .wpcf7-response-output{border-color:#8a5b5b!important;}
.form .wpcf7 form.sent .wpcf7-response-output{border-color:var(--gold)!important;color:var(--gold-bright);}
.form .wpcf7-spinner{margin:0 0 0 14px;}
.form input[type="submit"]{font-family:inherit;cursor:pointer;border:none;}
.form input[type="submit"].btn.solid:hover{background:var(--gold-bright);}
