/* =========================================================
   烏丸ビューティーデンタルクリニック トップページ デザインカンプ
   和モダン × きれいめ ／ 生成り × 墨ネイビー × 水色 × シャンパンゴールド
   font: Noto Serif JP(見出し) / Noto Sans JP(本文) / Cormorant Garamond(英字)
   ※アイコンは実装時に Health Icons へ差し替え想定
   ========================================================= */
:root{
  --ivory:#FCFBF8;      /* 和紙ベース（明るめ） */
  --ivory2:#F6F3ED;     /* パネル */
  --ink:#19274A;        /* ネイビー（見出し・本文） */
  --sub:#5E6474;        /* ネイビーグレー */
  --sky:#2F86AE;        /* 水色（ディープ） */
  --sky2:#6FB4D2;
  --sky-soft:#E9F3F8;
  --sky-tint:#F3F9FC;   /* セクション地（ごく淡い水色） */
  --gold:#C7A977;       /* シャンパンゴールド */
  --gold-dp:#A07E45;    /* 文字用ゴールド */
  --gold-soft:#F6EFDF;
  --brand:#A6C61E;      /* ロゴ：ライムグリーン（karasuma bdc） */
  --line:#EAE4D7;       /* 罫線 */
  --white:#fff;
  --maxw:1120px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"Noto Sans JP",sans-serif;color:var(--ink);background:var(--ivory);
  line-height:1.9;font-size:16px;-webkit-font-smoothing:antialiased;
  letter-spacing:.02em;overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.wrap.narrow{max-width:880px}

/* ---- 見出しラベル（英＋和） ---- */
.label{margin-bottom:44px}
.label .en{
  display:block;font-family:"Noto Serif JP",serif;font-style:italic;
  font-size:20px;letter-spacing:.06em;color:var(--gold-dp);margin-bottom:6px;
}
.label .ja{
  display:block;font-family:"Noto Serif JP",serif;font-weight:600;
  font-size:30px;color:var(--ink);letter-spacing:.04em;position:relative;padding-bottom:18px;
}
.label .ja::after{content:"";position:absolute;left:0;bottom:0;width:46px;height:2px;background:var(--gold)}
.label .sub{display:block;margin-top:18px;font-size:16px;color:var(--sub)}
.label.center{text-align:center}
.label.center .ja::after{left:50%;transform:translateX(-50%)}
.label.center .sub{margin-top:16px}

/* ---- ボタン ---- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-size:15px;font-weight:700;padding:15px 30px;border-radius:2px;transition:.25s;
  letter-spacing:.04em;
}
.btn .ico{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.btn-cta{background:var(--sky);color:#fff}
.btn-cta:hover{background:#246a8a}
.btn-line{background:#fff;color:var(--sky);border:1.5px solid var(--sky)}
.btn-line:hover{background:var(--sky-soft)}
.btn-gold{background:var(--gold);color:#fff}
.btn-gold:hover{background:var(--gold-dp)}
.more{
  display:inline-flex;align-items:center;gap:8px;font-family:"Noto Serif JP",serif;
  font-style:italic;font-size:17px;color:var(--gold-dp);border-bottom:1px solid var(--gold);padding-bottom:3px;
}
.more::after{content:"→";font-style:normal}
.more-wrap{text-align:center;margin-top:46px}

/* ---- 写真プレースホルダ ---- */
.phlabel{font-size:12px;letter-spacing:.1em;color:#fff;opacity:.85;font-family:"Noto Serif JP",serif;font-style:italic}
.hero-ph,.feature-ph,.map-ph{display:flex;align-items:center;justify-content:center}
.circ{border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--sky2),var(--sky));overflow:hidden}

/* =========================================================
   HEADER
   ========================================================= */
.header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(252,251,248,.9);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.header .inner{max-width:1300px;margin:0 auto;padding:0 12px;display:flex;align-items:center;gap:24px;height:120px}
.h-right{display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.logo{display:flex;align-items:center;gap:12px;margin-right:auto}
.logo-img{height:46px;width:auto;display:block}
.logo:has(.logo-img) .logo-mk{display:none}  /* 正式マーク画像があれば bdc プレースホルダを隠す（クリニック名は常時表示） */
.logo .mk{width:46px;height:46px;background:var(--brand);color:#fff;border-radius:7px;
  display:flex;align-items:center;justify-content:center;font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:15px;letter-spacing:.02em}
.logo .lt{display:flex;flex-direction:column;line-height:1.35}
.logo .lt .corp{font-family:"Noto Serif JP",serif;font-size:11px;font-weight:500;color:var(--sub);letter-spacing:.06em;margin-bottom:2px}
.logo .lt .ja{font-family:"Noto Serif JP",serif;font-weight:600;font-size:24px;color:var(--ink);letter-spacing:.02em;white-space:nowrap}
.logo .lt .en{font-family:"Noto Serif JP",serif;font-size:10px;letter-spacing:.12em;color:var(--sub)}
.gnav{display:flex;gap:30px;justify-content:flex-end}
.gnav a{font-size:14.5px;color:var(--ink);position:relative;padding:4px 2px;white-space:nowrap}
.gnav a:hover{color:var(--sky)}
.h-cta{display:flex;align-items:center;gap:16px}
.h-tel{display:flex;align-items:center;gap:7px;font-weight:700;font-size:17px;color:var(--ink);white-space:nowrap}
.h-tel .ico{width:17px;height:17px;fill:none;stroke:var(--sky);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.h-btn{padding:12px 22px;font-size:14px;white-space:nowrap}
.hamb{display:none}

/* =========================================================
   HERO
   ========================================================= */
.hero{position:relative;height:84vh;min-height:540px;display:flex;align-items:center;margin-top:104px}
.hero-ph{position:absolute;inset:0;background:
  linear-gradient(115deg,rgba(255,255,255,.66),rgba(233,243,248,.30) 46%,rgba(246,239,223,.36)),
  linear-gradient(135deg,#c6e3ef,#ecf5f9 52%,#f6eedc)}
.hero-body{position:relative;z-index:2;max-width:var(--maxw);width:100%;margin:0 auto;padding:0 56px;color:var(--ink)}
.hero-en{font-family:"Noto Serif JP",serif;font-style:italic;font-size:22px;letter-spacing:.08em;
  color:var(--gold-dp);margin-bottom:18px}
.hero h1{font-family:"Noto Serif JP",serif;font-weight:600;font-size:56px;line-height:1.4;
  letter-spacing:.04em;color:var(--ink);text-shadow:0 1px 0 rgba(255,255,255,.5)}
.hero-lead{margin-top:24px;font-size:17px;line-height:2;color:#2c3856}
.hero-keys{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.hero-keys span{font-size:13px;padding:7px 16px;border:1px solid rgba(25,39,74,.30);border-radius:999px;letter-spacing:.04em;background:rgba(255,255,255,.45)}
.hero-acts{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.hero .btn-line{background:rgba(255,255,255,.95)}
.scrolldown{position:absolute;right:34px;bottom:30px;z-index:2;writing-mode:vertical-rl;
  font-family:"Noto Serif JP",serif;font-style:italic;letter-spacing:.2em;color:var(--ink);font-size:13px}
.scrolldown::after{content:"";display:block;width:1px;height:48px;background:var(--ink);margin:10px auto 0}

/* =========================================================
   INFO BAR
   ========================================================= */
.infobar{background:#fff;color:var(--ink);border-bottom:1px solid var(--line);box-shadow:0 6px 20px rgba(25,39,74,.05)}
.infobar .inner{max-width:var(--maxw);margin:0 auto;padding:22px 28px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.infobar .it{display:flex;align-items:center;gap:12px}
.infobar .ico{width:26px;height:26px;fill:none;stroke:var(--sky);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.infobar .k{display:block;font-family:"Noto Serif JP",serif;font-style:italic;font-size:12px;color:var(--gold-dp);letter-spacing:.08em}
.infobar .v{display:block;font-size:14.5px}
.infobar .v b{font-size:18px}

/* ---- INFORMATION / SCHEDULE（FV直下・2カラム） ---- */
.info-strip{background:var(--sky-tint);padding:64px 0;border-bottom:1px solid var(--line)}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start}
.info-head{margin-bottom:22px}
.info-head .en{display:block;font-family:"Noto Serif JP",serif;font-style:italic;font-size:18px;color:var(--gold-dp);margin-bottom:4px}
.info-head h2{font-family:"Noto Serif JP",serif;font-size:26px;font-weight:600;color:var(--ink);letter-spacing:.04em;padding-bottom:14px;border-bottom:1px solid var(--line);position:relative}
.info-head h2::after{content:"";position:absolute;left:0;bottom:-1px;width:46px;height:2px;background:var(--gold)}
.info-col .news-list li:first-child{border-top:none}
.info-col .hours-note{margin-top:16px;font-size:16px;color:var(--sub)}
.more-wrap.left{text-align:left;margin-top:20px}

/* =========================================================
   SECTION 共通
   ========================================================= */
.sect{padding:96px 0}
.sect.ivory{background:var(--ivory2)}

/* ---- STRENGTH ---- */
.str-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.str{background:#fff;border:1px solid var(--line);padding:38px 26px;position:relative}
.str .n{font-family:"Noto Serif JP",serif;font-size:34px;font-style:italic;color:var(--gold);display:block;margin-bottom:10px}
.str h3{font-family:"Noto Serif JP",serif;font-size:18px;font-weight:600;margin-bottom:12px;color:var(--ink)}
.str p{font-size:16px;color:var(--sub);line-height:1.9}

/* ---- NEWS ---- */
.news-list{list-style:none}
.news-list li{display:flex;align-items:center;gap:18px;padding:18px 4px;border-bottom:1px solid var(--line)}
.news-list .d{font-family:"Noto Serif JP",serif;font-size:15px;color:var(--sub);flex:none;width:96px}
.news-list .tg{flex:none;font-size:11px;padding:4px 12px;border-radius:999px;letter-spacing:.04em}
.tg-g{background:var(--gold-soft);color:var(--gold-dp)}
.tg-s{background:var(--sky-soft);color:var(--sky)}
.news-list .tx{font-size:16px}

/* ---- SYMPTOMS ---- */
.sym-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.sym{background:#fff;border:1px solid var(--line);padding:34px 28px;transition:.25s;display:flex;flex-direction:column;align-items:flex-start}
.sym:hover{border-color:var(--sky);transform:translateY(-4px);box-shadow:0 14px 30px rgba(44,125,160,.10)}
.sym .si{width:42px;height:42px;fill:none;stroke:var(--sky);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-bottom:16px}
.sym h3{font-family:"Noto Serif JP",serif;font-size:18px;font-weight:600;margin-bottom:10px}
.sym p{font-size:16px;color:var(--sub);flex:1;margin-bottom:16px}
.sym .route{font-size:13px;color:var(--gold-dp);border-top:1px solid var(--line);padding-top:12px;width:100%;display:flex;align-items:center;gap:7px}
.sym .route::before{content:"▶";font-size:9px;color:var(--gold)}

/* ---- FLOW ---- */
.flow-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.fstep{text-align:center;position:relative;padding:0 6px}
.fstep .num{width:62px;height:62px;border-radius:50%;border:1.5px solid var(--gold);color:var(--gold-dp);
  font-family:"Noto Serif JP",serif;font-size:26px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;background:#fff}
.fstep h4{font-family:"Noto Serif JP",serif;font-size:16px;font-weight:600;margin-bottom:8px}
.fstep p{font-size:13px;color:var(--sub);line-height:1.8}
.fstep:not(:last-child)::after{content:"";position:absolute;top:31px;right:-7px;width:14px;height:1px;background:var(--gold)}

/* ---- SERVICES ---- */
.svc-tag{display:flex;align-items:baseline;gap:14px;margin:8px 0 22px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.svc-tag .en-s{font-family:"Noto Serif JP",serif;font-style:italic;font-size:20px;color:var(--gold-dp)}
.svc-tag .jp{font-family:"Noto Serif JP",serif;font-size:18px;font-weight:600}
.svc-spec{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:48px}
.svc-card{background:#fff;border:1px solid var(--line);padding:32px 26px;transition:.25s}
.svc-card:hover{border-color:var(--gold);box-shadow:0 12px 26px rgba(162,129,79,.10)}
.svc-card .pill{display:inline-block;font-family:"Noto Serif JP",serif;font-style:italic;font-size:14px;
  color:#fff;background:var(--sky);padding:3px 14px;border-radius:999px;margin-bottom:14px}
.svc-card h3{font-family:"Noto Serif JP",serif;font-size:20px;font-weight:600;margin-bottom:10px}
.svc-card p{font-size:14px;color:var(--sub)}
.svc-gen{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.svc-g{background:var(--ivory);border:1px solid var(--line);padding:22px 22px;display:flex;flex-direction:column;gap:6px;transition:.2s}
.svc-g:hover{background:#fff;border-color:var(--sky)}
.svc-g .ar{color:var(--gold);font-size:15px}
.svc-g h4{font-family:"Noto Serif JP",serif;font-size:17px;font-weight:600}
.svc-g p{font-size:13px;color:var(--sub)}
.svc-note{margin-top:30px;font-size:13px;color:var(--sub);background:var(--gold-soft);padding:16px 20px;border-left:3px solid var(--gold)}
.svc-note a{color:var(--gold-dp);border-bottom:1px solid var(--gold)}
/* 2カラム色分け（専門診療／一般・その他） */
.svc-2col{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.svc-col{padding:38px 32px;border-radius:6px}
.svc-col.col-sky{background:var(--sky-soft)}
.svc-col.col-gold{background:var(--gold-soft)}
.svc-col-head{display:flex;align-items:baseline;gap:14px;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid rgba(25,39,74,.12)}
.svc-col-head .en-s{font-family:"Noto Serif JP",serif;font-style:italic;font-size:20px}
.col-sky .svc-col-head .en-s{color:var(--sky)}
.col-gold .svc-col-head .en-s{color:var(--gold-dp)}
.svc-col-head h3{font-family:"Noto Serif JP",serif;font-size:22px;font-weight:600;color:var(--ink)}
.svc-row{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;
  padding:18px 22px;border-radius:4px;margin-bottom:12px;transition:.2s;border:1px solid transparent}
.svc-row:last-child{margin-bottom:0}
.svc-row:hover{transform:translateX(4px)}
.col-sky .svc-row:hover{border-color:var(--sky)}
.col-gold .svc-row:hover{border-color:var(--gold)}
.svc-row .tx h4{font-family:"Noto Serif JP",serif;font-size:17px;font-weight:600;color:var(--ink);margin-bottom:3px}
.svc-row .tx p{font-size:16px;color:var(--sub);line-height:1.7}
.svc-row .ar{font-size:16px;flex:none}
.col-sky .svc-row .ar{color:var(--sky)}
.col-gold .svc-row .ar{color:var(--gold-dp)}

/* ---- FEATURE BAND ---- */
.feature{background:linear-gradient(115deg,var(--sky-soft),var(--gold-soft));color:var(--ink);overflow:hidden}
.feature .inner{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0}
.feature-tx{padding:84px 56px 84px 28px}
.feature-tx .en{font-family:"Noto Serif JP",serif;font-style:italic;font-size:22px;color:var(--gold-dp);letter-spacing:.06em}
.feature-tx h2{font-family:"Noto Serif JP",serif;font-size:38px;font-weight:600;line-height:1.5;margin:14px 0 20px;letter-spacing:.04em}
.feature-tx p{font-size:16px;line-height:2;color:var(--sub);margin-bottom:28px}
.feature-ph{min-height:420px;background:linear-gradient(135deg,#9fcadd,#ead9b6)}

/* ---- GREETING ---- */
.greet{display:grid;grid-template-columns:0.85fr 1.15fr;gap:56px;align-items:center}
.greet-ph{position:relative;display:flex;justify-content:center}
.greet-ph .main{width:330px;height:330px}
.greet-ph .seal{position:absolute;right:18px;bottom:6px;width:104px;height:104px;border-radius:50%;
  background:var(--ivory);border:1px solid var(--gold);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;box-shadow:0 8px 20px rgba(38,51,59,.12)}
.greet-ph .seal .e{font-family:"Noto Serif JP",serif;font-style:italic;font-size:13px;color:var(--gold-dp)}
.greet-ph .seal .s{font-family:"Noto Serif JP",serif;font-size:15px;font-weight:600;color:var(--ink)}
.greet-tx .lead{font-family:"Noto Serif JP",serif;font-size:23px;font-weight:600;line-height:1.7;margin-bottom:20px;color:var(--ink)}
.greet-tx p{font-size:16px;color:var(--sub);margin-bottom:16px}
.greet-tx .sign{font-family:"Noto Serif JP",serif;font-size:17px;color:var(--ink);margin:22px 0 8px}
.greet-tx .sign .career{font-family:"Noto Sans JP";font-size:13px;color:var(--sub);font-weight:400}

/* ---- COLUMN ---- */
.col-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.col-card{text-align:center;transition:.25s}
.col-card .circ{width:200px;height:200px;margin:0 auto 18px;transition:.3s}
.col-card:hover .circ{transform:scale(1.04)}
.col-card .cdate{font-family:"Noto Serif JP",serif;font-size:14px;color:var(--gold-dp)}
.col-card h4{font-family:"Noto Serif JP",serif;font-size:16px;font-weight:500;margin-top:6px;line-height:1.7}

/* ---- ACCESS ---- */
.access-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:46px;align-items:center}
.map-ph{min-height:340px;background:linear-gradient(135deg,#b9c6cc,#8aa3ad);border:1px solid var(--line)}
.hours-tbl{width:100%;border-collapse:collapse;margin-bottom:14px;background:#fff}
.hours-tbl th,.hours-tbl td{border:1px solid var(--line);text-align:center;padding:13px 4px;font-size:16px}
.hours-tbl thead th{background:var(--ink);color:#fff;font-weight:500}
.hours-tbl tbody th{background:var(--ivory2);font-weight:500;font-size:16px;white-space:nowrap;padding:13px 10px}
.hours-tbl td{color:var(--sky);font-weight:700}
.hours-note{font-size:16px;color:var(--sub);margin-bottom:22px}
.nap{display:flex;flex-direction:column;gap:12px}
.nap div{display:flex;gap:14px}
.nap dt{flex:none;width:52px;font-family:"Noto Serif JP",serif;font-weight:600;font-size:16px;color:var(--gold-dp)}
.nap dd{font-size:16px;color:var(--sub)}
.nap dd a{color:var(--sky);font-weight:700}

/* ---- FAQ ---- */
details{border-bottom:1px solid var(--line);padding:6px 0}
summary{list-style:none;cursor:pointer;font-family:"Noto Serif JP",serif;font-weight:600;font-size:16px;
  padding:18px 40px 18px 14px;position:relative;color:var(--ink)}
summary::-webkit-details-marker{display:none}
summary::before{content:"Q";font-family:"Noto Serif JP",serif;font-style:italic;color:var(--gold-dp);margin-right:12px;font-size:18px}
summary::after{content:"+";position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:22px;transition:.2s}
details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
details p{padding:0 14px 20px 40px;font-size:16px;color:var(--sub)}

/* ---- RESERVE ---- */
.reserve{padding:96px 0;background:linear-gradient(160deg,var(--sky-soft),var(--ivory));color:var(--ink)}
.label.light .ja{color:var(--ink)}
.label.light .en{color:var(--gold-dp)}
.label.light .sub{color:var(--sub)}
.label.light .ja::after{background:var(--gold)}
.rsv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.rsv-card{background:#fff;color:var(--ink);padding:38px 28px;text-align:center;display:flex;flex-direction:column;align-items:center;border-top:3px solid var(--gold)}
.rsv-card .ri{width:40px;height:40px;fill:none;stroke:var(--sky);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:14px}
.rsv-card h3{font-family:"Noto Serif JP",serif;font-size:20px;font-weight:600}
.rsv-card .rsv-sub{font-size:13px;color:var(--gold-dp);margin:4px 0 14px}
.rsv-card .rsv-tel{font-family:"Noto Serif JP",serif;font-size:28px;font-weight:600;color:var(--ink);margin-bottom:16px;letter-spacing:.02em}
.rsv-card .rsv-note{font-size:13px;color:var(--sub);background:var(--gold-soft);padding:10px 14px;border-radius:4px;margin-bottom:16px;width:100%}
.rsv-card .btn{margin-top:auto;width:100%}

/* ---- FOOTER ---- */
.footer{background:linear-gradient(180deg,var(--ivory2),#F0EBE0);color:var(--ink);padding:64px 0 28px;border-top:1px solid var(--line)}
.footer .inner{max-width:var(--maxw);margin:0 auto;padding:0 28px;display:grid;grid-template-columns:1.2fr 1fr;gap:40px}
.f-brand{display:flex;flex-direction:column;gap:6px}
.f-logo-row{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.f-logo-img{height:50px;width:auto;flex:none;display:block}
.f-brand:has(.f-logo-img) .f-logo-mk{display:none}
.f-brand .mk{width:46px;height:46px;background:var(--brand);color:#fff;border-radius:7px;
  display:flex;align-items:center;justify-content:center;font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:15px;letter-spacing:.02em;margin-bottom:8px}
.f-brand .lt .corp{font-family:"Noto Serif JP",serif;font-size:14px;font-weight:500;color:var(--sub);letter-spacing:.06em;display:block;margin-bottom:2px}
.f-brand .lt .ja{font-family:"Noto Serif JP",serif;font-size:21px;color:var(--ink);display:block}
.f-brand .lt .en{font-family:"Noto Serif JP",serif;font-size:10px;letter-spacing:.12em;color:var(--sub);display:block}
.f-addr{font-size:15px;line-height:1.95;margin-top:14px;color:var(--sub)}
.f-tel{font-size:16px}.f-tel b{font-size:21px;color:var(--sky)}
.f-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;align-content:start}
.f-nav a{font-size:16px;color:var(--ink);border-bottom:1px solid transparent;padding-bottom:3px;width:fit-content}
.f-nav a:hover{color:var(--sky);border-color:var(--gold)}
.copy{text-align:center;font-family:"Noto Serif JP",serif;font-size:13px;letter-spacing:.08em;color:var(--sub);margin-top:46px;padding-top:24px;border-top:1px solid var(--line)}

/* ---- FLOATING CTA (SP) ---- */
.float-cta{display:none}

/* =========================================================
   SCROLL ANIM
   ========================================================= */
.sect .label,.str,.sym,.fstep,.svc-card,.svc-g,.col-card,.rsv-card,.greet-tx,.greet-ph{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.is-in{opacity:1 !important;transform:none !important}
@media(prefers-reduced-motion:reduce){.sect .label,.str,.sym,.fstep,.svc-card,.svc-g,.col-card,.rsv-card,.greet-tx,.greet-ph{opacity:1;transform:none}}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media(max-width:1023px){
  .str-grid{grid-template-columns:repeat(2,1fr)}
  .sym-grid,.svc-spec,.svc-gen,.col-grid,.rsv-grid{grid-template-columns:repeat(2,1fr)}
  .flow-grid{grid-template-columns:repeat(3,1fr);gap:24px 14px}
  .feature .inner{grid-template-columns:1fr}.feature-tx{padding:64px 28px}.feature-ph{min-height:300px}
  .greet{grid-template-columns:1fr;gap:36px}.greet-ph .main{width:280px;height:280px}
  .access-grid{grid-template-columns:1fr;gap:28px}
  .header .inner{height:74px}
  .gnav{display:none}
  .h-tel{display:none}            /* タブレットでは電話番号テキストを隠し、予約ボタンに集約 */
  .hamb{display:flex;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer}
  .hamb span{width:24px;height:2px;background:var(--ink);display:block}
  .hero{margin-top:74px}
  .hero h1{font-size:44px}
}
@media(max-width:767px){
  body{padding-bottom:64px}
  .header .inner{height:64px;gap:12px}
  .logo .lt .ja{font-size:13px}.logo .lt .en{font-size:8px}
  .logo .mk{width:34px;height:34px;font-size:18px}
  .logo-img,.f-logo-img{height:40px}
  .h-cta{display:none}
  .h-right{display:none}          /* スマホはCTA・ナビ非表示＝空の右カラムを畳んでハンバーガーの場所を確保 */
  .hero{height:auto;min-height:0;margin-top:64px;padding:72px 0}
  .hero h1{font-size:32px}
  .hero-body{padding:0 24px}
  .hero-acts .btn{flex:1}
  .infobar .inner{flex-direction:column;gap:14px}
  .sect{padding:60px 0}
  .label .ja{font-size:24px}
  .str-grid,.sym-grid,.svc-spec,.svc-gen,.svc-2col,.col-grid,.rsv-grid,.info-grid{grid-template-columns:1fr;gap:40px}
  .svc-col{padding:28px 22px}
  .flow-grid{grid-template-columns:repeat(2,1fr)}
  .fstep:not(:last-child)::after{display:none}
  .feature-tx h2{font-size:30px}
  .footer .inner{grid-template-columns:1fr;gap:28px}
  .scrolldown{display:none}
  /* 追従CTA */
  .float-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;box-shadow:0 -4px 16px rgba(28,39,45,.18)}
  .float-cta a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:64px;padding:0 4px;color:#fff;font-size:12px;font-weight:700}
  .float-cta svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .float-cta .f-tel{background:var(--ink)}
  .float-cta .f-web{background:var(--gold)}
}
