/* ===== SEC 01 : FV (full-bleed) ===== */
  .hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;overflow:hidden;}
  .hero-media{position:absolute;inset:0;z-index:0;}
  .slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease;}
  .slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 7s ease;}
  .slide.on{opacity:1;}
  .slide.on img{transform:scale(1);}
  .hero-media::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
    background:linear-gradient(100deg,rgba(248,244,238,.95) 0%,rgba(248,244,238,.78) 34%,rgba(248,244,238,.18) 60%,rgba(47,43,40,.14) 100%);}
  .dots{position:absolute;left:clamp(30px,5vw,80px);bottom:34px;z-index:3;display:flex;gap:10px;}
  .dots button{width:9px;height:9px;border-radius:50%;border:1px solid var(--greige);background:transparent;cursor:pointer;padding:0;transition:.3s;}
  .dots button.on{background:var(--gold);border-color:var(--gold);transform:scale(1.15);}

  .hero-copy{position:relative;z-index:3;max-width:min(730px,58vw);padding:clamp(20px,3vh,40px) clamp(30px,5vw,84px);}
  .eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:24px;}
  .eyebrow .ln{width:44px;height:1px;background:var(--champagne);}
  .eyebrow em{font-family:var(--serif-en);font-style:normal;font-size:14px;letter-spacing:.42em;color:var(--gold);}
  .eyebrow small{font-size:11px;letter-spacing:.34em;color:var(--greige);}
  .hero-jp{font-family:var(--serif-jp);font-weight:600;color:var(--charcoal);font-size:clamp(30px,3.7vw,50px);line-height:1.5;letter-spacing:.04em;margin-bottom:22px;}
  .hero-jp .l1{display:block;}
  .hero-jp .l2{display:block;position:relative;width:max-content;max-width:100%;}
  .hero-jp .l2 em{font-style:normal;position:relative;color:var(--rose-deep);}
  .hero-jp .l2 em::after{content:"";position:absolute;left:-2px;right:-2px;bottom:.08em;height:.3em;background:rgba(216,194,166,.5);z-index:-1;border-radius:2px;}
  .hero-catch{font-family:var(--serif-jp);font-weight:500;font-size:clamp(16px,1.7vw,21px);line-height:1.7;letter-spacing:.1em;color:var(--greige);margin-bottom:16px;}
  .hero-lede{font-size:14px;line-height:2;color:var(--greige);max-width:29em;margin-bottom:32px;}
  .hero-lede b{color:var(--charcoal);font-weight:500;}
  .hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
  .hero-actions .abtn{display:inline-flex;align-items:center;gap:9px;height:54px;padding:0 28px;border-radius:30px;font-size:14px;font-weight:500;letter-spacing:.04em;transition:transform .3s ease,box-shadow .3s ease,background .3s ease;}
  .hero-actions .abtn .i{width:17px;height:17px;}
  .abtn--web{background:var(--charcoal);color:#fff;}
  .abtn--web:hover{background:#000;transform:translateY(-2px);box-shadow:0 18px 36px -16px rgba(47,43,40,.6);}
  .abtn--line{background:rgba(255,255,255,.85);color:var(--charcoal);border:1px solid rgba(111,102,94,.35);}
  .abtn--line:hover{transform:translateY(-2px);border-color:var(--sage);}

  /* circular access badge */
  .hero-badge{position:absolute;right:clamp(74px,8vw,150px);bottom:clamp(44px,9vh,96px);z-index:3;width:clamp(158px,15vw,200px);aspect-ratio:1;border-radius:50%;overflow:hidden;
    background:radial-gradient(circle at 50% 38%,rgba(162,133,79,.94),rgba(148,120,70,.86));
    color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
    box-shadow:0 22px 54px -22px rgba(47,43,40,.55);border:1px solid rgba(255,255,255,.35);}
  .hero-badge .be{position:relative;z-index:2;font-family:var(--serif-en);font-size:11px;letter-spacing:.3em;opacity:.92;}
  .hero-badge .bb{position:relative;z-index:2;font-family:var(--serif-jp);font-weight:600;font-size:clamp(26px,2.6vw,34px);letter-spacing:.08em;margin:5px 0 4px;}
  .hero-badge .bs{position:relative;z-index:2;font-size:10.5px;letter-spacing:.08em;line-height:1.5;}
  .hero-badge .bdiv{position:relative;z-index:2;width:34px;height:1px;background:rgba(255,255,255,.55);margin:2px 0 6px;}

  /* ===== CLINIC POINTS（kashiwa参考: 白カード＋見出しタブ＋階段状ダッシュリスト） ===== */
  .points{position:relative;background:var(--ivory-deep);padding:clamp(56px,6vw,92px) clamp(24px,6vw,80px);border-bottom:1px solid rgba(216,194,166,.5);}
  .cp-card{position:relative;max-width:860px;margin:0 auto;background:#fff;border:1px solid rgba(216,194,166,.55);box-shadow:0 34px 74px -44px rgba(47,43,40,.42);padding:clamp(46px,5vw,64px) clamp(30px,5vw,66px) clamp(40px,4.6vw,56px);}
  .cp-tab{position:absolute;top:0;left:clamp(30px,5vw,66px);transform:translateY(-50%);display:inline-flex;align-items:baseline;gap:12px;background:var(--charcoal);color:#fff;padding:11px 22px;}
  .cp-tab em{font-family:var(--serif-en);font-style:normal;font-weight:500;font-size:15px;letter-spacing:.18em;}
  .cp-tab span{font-size:10.5px;letter-spacing:.24em;color:rgba(255,255,255,.72);}
  .cp-list{display:flex;flex-direction:column;gap:clamp(15px,1.9vw,23px);margin-top:6px;}
  .cp-row{display:flex;align-items:center;gap:22px;}
  .cp-row .ln{height:1px;background:var(--champagne);flex:none;}
  .cp-row:nth-child(1) .ln{width:38px;}
  .cp-row:nth-child(2) .ln{width:66px;}
  .cp-row:nth-child(3) .ln{width:94px;}
  .cp-row:nth-child(4) .ln{width:122px;}
  .cp-row .tx{font-family:var(--serif-jp);font-weight:500;font-size:clamp(17px,1.9vw,23px);letter-spacing:.07em;color:var(--charcoal);}
  .cp-row .tx em{font-style:normal;color:var(--rose-deep);}
  .cp-row .req{display:inline-block;font-size:10px;letter-spacing:.06em;background:var(--rose);color:#fff;border-radius:4px;padding:1px 6px;margin-left:6px;vertical-align:2px;}
  /* CLINIC POINTS を FV右下にオーバーレイ配置 */
  .cp-card--fv{position:relative;z-index:4;width:100%;max-width:none;margin:clamp(28px,3vw,40px) 0 clamp(26px,2.6vw,34px);padding:32px 34px 28px;box-shadow:0 26px 56px -32px rgba(47,43,40,.4);}
  .cp-card--fv .cp-list{gap:15px;margin-top:4px;}
  .cp-card--fv .cp-row{gap:18px;}
  .cp-card--fv .cp-row .tx{font-size:clamp(15px,1.15vw,18px);letter-spacing:.05em;}
  .cp-card--fv .cp-row:nth-child(1) .ln{width:26px;}
  .cp-card--fv .cp-row:nth-child(2) .ln{width:48px;}
  .cp-card--fv .cp-row:nth-child(3) .ln{width:70px;}
  .cp-card--fv .cp-row:nth-child(4) .ln{width:92px;}
  .cp-card--fv .cp-tab{padding:9px 18px;}
  .cp-card--fv .cp-tab em{font-size:13.5px;letter-spacing:.16em;}

  /* ===== SEC 04 : このようなお悩みは（症状から探す・美容皮膚科ページ準拠） ===== */
  .concern{position:relative;overflow:hidden;padding:clamp(72px,10vw,140px) clamp(24px,5vw,72px) clamp(80px,11vw,150px);
    background:
      radial-gradient(70% 60% at 85% 8%, rgba(217,167,160,.18) 0%, rgba(217,167,160,0) 55%),
      radial-gradient(60% 55% at 6% 92%, rgba(169,183,162,.18) 0%, rgba(169,183,162,0) 55%),
      linear-gradient(180deg, var(--ivory) 0%, #FBF8F3 50%, var(--ivory-deep) 100%);}
  .concern .bg-ellipse{position:absolute;border:1px solid rgba(111,102,94,.1);border-radius:50%;pointer-events:none;}
  .concern .bg-ellipse.e1{width:520px;height:620px;top:-160px;right:-160px;transform:rotate(20deg);}
  .concern .bg-ellipse.e2{width:380px;height:460px;bottom:-180px;left:-140px;transform:rotate(-14deg);}
  .concern-head{max-width:1180px;margin:0 auto 48px;position:relative;z-index:2;}
  .concern-eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:20px;}
  .concern-eyebrow .line{width:40px;height:1px;background:var(--rose);}
  .concern-eyebrow span{font-family:var(--serif-en);font-size:13px;letter-spacing:.3em;color:var(--greige);}
  .concern-title{font-family:var(--serif-jp);font-weight:500;font-size:clamp(27px,3.6vw,46px);line-height:1.45;letter-spacing:.05em;color:var(--charcoal);}
  .concern-title em{font-style:normal;color:var(--rose-deep);}
  .concern-lede{font-size:14.5px;line-height:2.1;color:var(--greige);margin-top:20px;max-width:40em;}
  .worry-grid{max-width:1180px;margin:0 auto;position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
  .worry-card{position:relative;display:flex;flex-direction:column;padding:28px 26px 24px;background:rgba(255,255,255,.6);border:1px solid rgba(111,102,94,.16);border-radius:18px;overflow:hidden;transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s,border-color .4s,background .4s;}
  .worry-card::after{content:"";position:absolute;right:-40px;bottom:-40px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(216,194,166,.45),rgba(216,194,166,0) 70%);opacity:0;transition:opacity .4s;}
  .worry-card:hover{transform:translateY(-6px);background:rgba(255,255,255,.9);border-color:rgba(217,167,160,.55);box-shadow:0 26px 50px -28px rgba(111,102,94,.5);}
  .worry-card:hover::after{opacity:1;}
  .w-en{position:relative;z-index:1;font-family:var(--serif-en);font-size:10px;letter-spacing:.24em;color:var(--rose);text-transform:uppercase;margin-bottom:10px;}
  .w-name{position:relative;z-index:1;font-family:var(--serif-jp);font-weight:500;font-size:17.5px;letter-spacing:.03em;color:var(--charcoal);line-height:1.55;}
  .w-desc{position:relative;z-index:1;font-size:12.5px;line-height:1.95;color:var(--greige);margin-top:12px;flex:1;}
  .w-arrow{position:relative;z-index:1;margin-top:18px;padding-top:16px;border-top:1px solid rgba(111,102,94,.12);display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:.16em;color:var(--greige);transition:color .4s;}
  .w-arrow .a-wrap{display:flex;align-items:center;gap:9px;}
  .w-arrow .a-line{width:26px;height:1px;background:var(--greige);transition:width .4s,background .4s;}
  .w-arrow .a-head{width:5px;height:5px;border-right:1px solid currentColor;border-top:1px solid currentColor;transform:rotate(45deg);}
  .worry-card:hover .w-arrow{color:var(--charcoal);}
  .worry-card:hover .w-arrow .a-line{width:40px;background:var(--rose);}
  .concern-foot{max-width:1180px;margin:48px auto 0;position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-top:34px;border-top:1px solid rgba(111,102,94,.16);}
  .concern-foot p{font-size:13px;line-height:1.9;color:var(--greige);max-width:34em;}
  .concern-foot a{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;font-size:13px;letter-spacing:.1em;color:var(--charcoal);padding:14px 28px;border:1px solid var(--greige);border-radius:999px;background:rgba(255,255,255,.5);transition:all .35s;}
  .concern-foot a:hover{background:#fff;transform:translateY(-2px);}
  .concern-foot a .ico{width:6px;height:6px;border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;transform:rotate(45deg);}
  @media(max-width:1080px){.worry-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:640px){.worry-grid{grid-template-columns:1fr;gap:14px;}.worry-card{padding:24px 20px 20px;}.concern-foot{flex-direction:column;align-items:flex-start;}.concern-foot a{width:100%;justify-content:center;}}

  /* （旧 お知らせ／診療時間セクションのCSSは削除。診療時間はアクセス節に統合） */

  /* ===== SEC 05 : 選ばれる理由（kashiwa .l_reason 翻案：縦積み左右交互＋写真） ===== */
  .reasons{position:relative;overflow:hidden;padding:clamp(72px,9vw,130px) clamp(24px,5vw,72px) clamp(84px,11vw,150px);
    background:
      radial-gradient(55% 50% at 92% 10%, rgba(216,194,166,.20) 0%, rgba(216,194,166,0) 55%),
      radial-gradient(60% 55% at 4% 62%, rgba(217,167,160,.14) 0%, rgba(217,167,160,0) 55%),
      linear-gradient(180deg, var(--ivory) 0%, #FBF8F3 45%, var(--ivory) 100%);}
  .reasons .bg-ellipse{position:absolute;border:1px solid rgba(111,102,94,.09);border-radius:50%;pointer-events:none;}
  .reasons .bg-ellipse.e1{width:560px;height:660px;top:-200px;left:-180px;transform:rotate(16deg);}
  /* セクション見出し（英字大＋重なる筆記体＋和文） */
  .reason-head{max-width:1080px;margin:0 auto clamp(46px,6vw,80px);position:relative;z-index:2;}
  .reason-head .r-headline{position:relative;display:inline-block;}
  .reason-head .r-en{font-family:var(--serif-en);font-weight:500;font-size:clamp(38px,6vw,72px);line-height:1;letter-spacing:.03em;color:var(--charcoal);}
  .reason-head .r-script{position:absolute;right:-.24em;bottom:-.28em;font-family:var(--serif-en);font-style:italic;font-weight:500;font-size:clamp(24px,4vw,46px);line-height:1;color:var(--rose);transform:rotate(-6deg);text-shadow:0 2px 10px rgba(248,244,238,.9);}
  .reason-head .r-jp{font-family:var(--serif-jp);font-weight:500;font-size:clamp(15px,1.6vw,19px);letter-spacing:.28em;color:var(--greige);margin-top:20px;}
  .reason-head .r-lede{font-size:14.5px;line-height:2.1;color:var(--greige);margin-top:18px;max-width:36em;}

  .reason-list{max-width:1080px;margin:0 auto;position:relative;z-index:2;display:flex;flex-direction:column;gap:clamp(56px,7vw,104px);}
  .reason-row{display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;gap:clamp(28px,5vw,76px);opacity:0;transform:translateY(34px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1);}
  .reason-row.in{opacity:1;transform:translateY(0);}
  @media (min-width:921px){
    .reason-row:nth-child(odd) .reason-visual{margin-left:auto;}
    .reason-row:nth-child(even){margin-top:-28px;}
    /* 偶数行は左右入れ替え */
    .reason-row:nth-child(even) .reason-visual{order:2;}
    .reason-row:nth-child(even) .reason-body{order:1;text-align:right;}
    .reason-row:nth-child(even) .reason-body .fact-row{justify-content:flex-end;}
    .reason-row:nth-child(even) .reason-body .r-num-line{flex-direction:row-reverse;}
  }
  /* ビジュアル（アーチ型フレーム＋番号＋浮遊モチーフ） */
  .reason-visual{position:relative;width:min(100%,330px);aspect-ratio:4/5;}
  .reason-visual .reason-frame{position:absolute;inset:0;border-radius:180px 180px 30px 30px;overflow:hidden;box-shadow:0 36px 70px -38px rgba(111,102,94,.5);background:var(--ivory-deep);}
  .reason-visual .reason-frame img{width:100%;height:100%;object-fit:cover;display:block;}
  .reason-visual .r-badge{position:absolute;z-index:3;top:-18px;left:-14px;width:70px;height:70px;border-radius:50%;background:rgba(248,244,238,.94);border:1px solid var(--champagne);box-shadow:0 14px 30px -18px rgba(111,102,94,.6);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;}
  .reason-visual .r-badge em{font-family:var(--serif-en);font-style:italic;font-size:9px;letter-spacing:.1em;color:var(--rose);}
  .reason-visual .r-badge b{font-family:var(--serif-en);font-weight:600;font-size:22px;color:var(--charcoal);margin-top:2px;}
  .reason-visual .v-dot{position:absolute;z-index:3;border-radius:50%;}
  .reason-visual .v-dot.a{width:16px;height:16px;background:var(--rose);top:-6px;right:24%;opacity:.85;animation:bob 6s ease-in-out infinite;}
  .reason-visual .v-dot.b{width:34px;height:34px;border:1px solid var(--greige);background:transparent;bottom:8%;left:-12px;animation:bob 8s ease-in-out .5s infinite;}
  @keyframes bob{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
  /* テキスト */
  .reason-body{max-width:30em;}
  .r-num-line{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
  .r-num-line .bar{width:34px;height:1px;background:rgba(111,102,94,.4);}
  .r-index{font-family:var(--serif-en);font-size:15px;letter-spacing:.24em;color:var(--rose);}
  .reason-body .r-en{display:block;font-family:var(--serif-en);font-style:italic;font-size:13px;letter-spacing:.08em;color:var(--rose-deep);margin-bottom:12px;}
  .reason-body h3{font-family:var(--serif-jp);font-weight:600;font-size:clamp(21px,2.4vw,29px);line-height:1.5;letter-spacing:.04em;color:var(--charcoal);}
  .reason-body h3 .req{display:inline-block;font-size:11px;letter-spacing:.05em;background:var(--rose);color:#fff;border-radius:4px;padding:2px 7px;margin-left:8px;vertical-align:4px;font-family:var(--sans);font-weight:400;}
  .reason-body p{font-size:14.5px;line-height:2.1;color:var(--greige);margin-top:18px;}
  .reason-body p b{color:var(--charcoal);font-weight:500;}
  .fact-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}
  .fact{font-size:11.5px;letter-spacing:.06em;color:var(--charcoal);padding:8px 15px 8px 26px;border-radius:8px;background:rgba(255,255,255,.6);border:1px solid rgba(111,102,94,.2);position:relative;}
  .fact::before{content:"";position:absolute;left:12px;top:50%;transform:translateY(-60%) rotate(-45deg);width:8px;height:4px;border-left:1.4px solid var(--rose);border-bottom:1.4px solid var(--rose);}
  @media (max-width:920px){
    .reason-row{grid-template-columns:1fr;gap:26px;justify-items:start;}
    .reason-row:nth-child(even){margin-top:0;}
    .reason-visual{width:min(72%,280px);aspect-ratio:4/5;}
    .reason-body{max-width:none;}
  }
  @media (max-width:600px){
    .reason-visual{width:min(84%,260px);}
    .reason-visual .r-badge{width:60px;height:60px;top:-14px;left:-10px;}
    .reason-visual .r-badge b{font-size:19px;}
  }
  @media (prefers-reduced-motion:reduce){
    .reason-visual .v-dot{animation:none;}
  }

  /* ===== SEC 06 : 診療案内（カテゴリ見出し＋カードのグルーピング／内部リンクハブ） ===== */
  .services{position:relative;overflow:hidden;padding:clamp(64px,8vw,120px) clamp(24px,5vw,72px);border-top:1px solid rgba(216,194,166,.5);
    background:
      radial-gradient(58% 48% at 6% 4%, rgba(169,183,162,.14) 0%, rgba(169,183,162,0) 55%),
      radial-gradient(56% 50% at 96% 96%, rgba(217,167,160,.14) 0%, rgba(217,167,160,0) 55%),
      linear-gradient(180deg, var(--ivory-deep) 0%, #FBF8F3 45%, var(--ivory) 100%);}
  .sv-inner{max-width:1120px;margin:0 auto;position:relative;z-index:2;}
  .sv-head{max-width:760px;margin-bottom:clamp(38px,4.6vw,60px);}
  .sv-eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:20px;}
  .sv-eyebrow .line{width:40px;height:1px;background:var(--rose);}
  .sv-eyebrow span{font-family:var(--serif-en);font-size:13px;letter-spacing:.3em;color:var(--greige);}
  .sv-title{font-family:var(--serif-jp);font-weight:500;font-size:clamp(27px,3.6vw,46px);line-height:1.45;letter-spacing:.05em;color:var(--charcoal);}
  .sv-title em{font-style:normal;color:var(--rose-deep);}
  .sv-lede{font-size:14.5px;line-height:2.1;color:var(--greige);margin-top:18px;max-width:36em;}
  /* カテゴリ帯 */
  .sv-cat{position:relative;margin-top:clamp(40px,4.6vw,60px);--cat:var(--rose-deep);--cat-soft:rgba(217,167,160,.16);}
  .sv-cat.cat-rose{--cat:var(--rose-deep);--cat-soft:rgba(217,167,160,.16);}
  .sv-cat.cat-sage{--cat:var(--sage-deep);--cat-soft:rgba(169,183,162,.18);}
  .sv-cat.cat-gold{--cat:var(--gold);--cat-soft:rgba(162,133,79,.14);}
  .sv-cat-head{display:flex;align-items:center;gap:16px;padding-bottom:18px;margin-bottom:22px;border-bottom:1px solid rgba(111,102,94,.18);position:relative;}
  .sv-cat-head::after{content:"";position:absolute;left:0;bottom:-1px;width:64px;height:2px;background:var(--cat);}
  .sv-cat-num{font-family:var(--serif-en);font-weight:500;font-size:clamp(28px,3.4vw,42px);line-height:.9;color:var(--cat);opacity:.5;}
  .sv-cat-tt{display:flex;flex-direction:column;gap:3px;}
  .sv-cat-en{font-family:var(--serif-en);font-style:italic;font-size:12px;letter-spacing:.14em;color:var(--cat);}
  .sv-cat-jp{font-family:var(--serif-jp);font-weight:600;font-size:clamp(18px,2vw,23px);letter-spacing:.06em;color:var(--charcoal);}
  .sv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
  .sv-card{position:relative;display:flex;flex-direction:column;padding:24px 22px 20px;background:rgba(255,255,255,.62);border:1px solid rgba(111,102,94,.16);border-radius:16px;overflow:hidden;transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s,border-color .4s,background .4s;}
  .sv-card::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:var(--cat);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.7,.2,1);}
  .sv-card::after{content:"";position:absolute;right:-40px;bottom:-40px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,var(--cat-soft),transparent 70%);opacity:0;transition:opacity .4s;}
  .sv-card:hover{transform:translateY(-6px);background:rgba(255,255,255,.94);border-color:rgba(111,102,94,.28);box-shadow:0 28px 52px -30px rgba(111,102,94,.5);}
  .sv-card:hover::before{transform:scaleX(1);}
  .sv-card:hover::after{opacity:1;}
  .sv-card .c-name{position:relative;z-index:1;font-family:var(--serif-jp);font-weight:600;font-size:16.5px;letter-spacing:.03em;color:var(--charcoal);line-height:1.5;}
  .sv-card .c-name .req{display:inline-block;font-size:10px;letter-spacing:.05em;background:var(--rose);color:#fff;border-radius:4px;padding:1px 6px;margin-left:6px;vertical-align:2px;font-family:var(--sans);font-weight:400;}
  .sv-card .c-desc{position:relative;z-index:1;font-size:12.5px;line-height:1.95;color:var(--greige);margin-top:10px;flex:1;}
  .sv-card .c-arrow{position:relative;z-index:1;margin-top:16px;padding-top:14px;border-top:1px solid rgba(111,102,94,.12);display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:.14em;color:var(--greige);transition:color .4s;}
  .sv-card .c-arrow .a-wrap{display:flex;align-items:center;gap:8px;}
  .sv-card .c-arrow .a-line{width:24px;height:1px;background:var(--greige);transition:width .4s,background .4s;}
  .sv-card .c-arrow .a-head{width:5px;height:5px;border-right:1px solid currentColor;border-top:1px solid currentColor;transform:rotate(45deg);}
  .sv-card:hover .c-arrow{color:var(--charcoal);}
  .sv-card:hover .c-arrow .a-line{width:38px;background:var(--cat);}
  .sv-note{font-size:12px;line-height:1.9;color:var(--greige);margin-top:clamp(34px,4vw,50px);padding-top:22px;border-top:1px solid rgba(111,102,94,.16);}
  .sv-note .req{display:inline-block;font-size:10px;letter-spacing:.05em;background:var(--rose);color:#fff;border-radius:4px;padding:1px 6px;vertical-align:1px;}
  @media(max-width:880px){.sv-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:600px){.sv-grid{grid-template-columns:1fr;}.sv-card{padding:22px 18px 18px;}}

  /* ===== SEC 07 : 料金のご案内（抜粋テーブル＋全料金への導線） ===== */
  .fees{position:relative;overflow:hidden;padding:clamp(64px,8vw,120px) clamp(24px,5vw,72px);border-top:1px solid rgba(216,194,166,.5);
    background:
      radial-gradient(56% 48% at 94% 6%, rgba(216,194,166,.18) 0%, rgba(216,194,166,0) 55%),
      linear-gradient(180deg, var(--ivory) 0%, #FBF8F3 60%, var(--ivory) 100%);}
  .fee-inner{max-width:920px;margin:0 auto;position:relative;z-index:2;}
  .fee-head{margin-bottom:clamp(30px,3.6vw,46px);}
  .fee-eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:20px;}
  .fee-eyebrow .line{width:40px;height:1px;background:var(--rose);}
  .fee-eyebrow span{font-family:var(--serif-en);font-size:13px;letter-spacing:.3em;color:var(--greige);}
  .fee-title{font-family:var(--serif-jp);font-weight:500;font-size:clamp(27px,3.6vw,46px);line-height:1.45;letter-spacing:.05em;color:var(--charcoal);}
  .fee-title em{font-style:normal;color:var(--rose-deep);}
  .fee-lede{font-size:14.5px;line-height:2.1;color:var(--greige);margin-top:18px;max-width:36em;}
  .fee-card{background:#fff;border:1px solid rgba(216,194,166,.6);box-shadow:0 30px 62px -40px rgba(47,43,40,.38);border-radius:20px;overflow:hidden;}
  .fee-row{display:grid;grid-template-columns:1fr auto minmax(150px,auto);align-items:center;gap:18px;padding:22px clamp(22px,3vw,34px);border-bottom:1px solid rgba(216,194,166,.5);transition:background .3s ease;}
  .fee-row:last-child{border-bottom:none;}
  .fee-row:hover{background:rgba(248,244,238,.7);}
  .fee-mn{min-width:0;}
  .fee-mn b{font-family:var(--serif-jp);font-weight:600;font-size:16.5px;letter-spacing:.03em;color:var(--charcoal);}
  .fee-mn b .req{display:inline-block;font-size:10px;letter-spacing:.05em;background:var(--rose);color:#fff;border-radius:4px;padding:1px 6px;margin-left:6px;vertical-align:2px;font-family:var(--sans);font-weight:400;}
  .fee-mn span{display:block;font-size:12px;line-height:1.7;color:var(--greige);margin-top:4px;}
  .fee-tag{justify-self:start;font-size:11px;letter-spacing:.08em;padding:4px 12px;border-radius:999px;white-space:nowrap;}
  .fee-tag.t-hoken{color:var(--sage-deep);background:rgba(169,183,162,.16);border:1px solid rgba(138,154,130,.5);}
  .fee-tag.t-jihi{color:var(--gold);background:rgba(162,133,79,.12);border:1px solid rgba(162,133,79,.4);}
  .fee-pr{justify-self:end;text-align:right;white-space:nowrap;}
  .fee-pr b{font-family:var(--serif-en);font-weight:600;font-size:clamp(22px,2.4vw,28px);color:var(--charcoal);letter-spacing:.01em;}
  .fee-pr b .yen{font-family:var(--serif-jp);font-size:.6em;margin-left:2px;}
  .fee-pr span{display:block;font-size:11px;color:var(--greige);letter-spacing:.04em;margin-top:2px;}
  .fee-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:26px;}
  .fee-note{font-size:12px;line-height:1.9;color:var(--greige);max-width:40em;}
  .fee-note .req{display:inline-block;font-size:10px;letter-spacing:.05em;background:var(--rose);color:#fff;border-radius:4px;padding:1px 6px;vertical-align:1px;}
  .fee-more{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;flex:none;padding:15px 30px;border-radius:999px;background:var(--charcoal);color:#fff;font-size:13px;letter-spacing:.08em;transition:background .3s,transform .3s;}
  .fee-more:hover{background:#000;transform:translateY(-2px);}
  .fee-more svg{width:14px;height:14px;}
  @media(max-width:600px){
    .fee-row{grid-template-columns:1fr auto;grid-template-areas:"name price" "tag price";column-gap:14px;row-gap:6px;padding:20px 18px;}
    .fee-mn{grid-area:name;}.fee-tag{grid-area:tag;}.fee-pr{grid-area:price;align-self:center;}
    .fee-pr b{font-size:22px;}
    .fee-more{width:100%;justify-content:center;}
  }

  /* ===== SEC 08 : 医師のご紹介（E-E-A-T：院長プロフィール） ===== */
  .doctor{position:relative;overflow:hidden;padding:clamp(64px,8vw,120px) clamp(24px,5vw,72px);border-top:1px solid rgba(216,194,166,.5);
    background:
      radial-gradient(60% 50% at 4% 4%, rgba(217,167,160,.14) 0%, rgba(217,167,160,0) 55%),
      radial-gradient(56% 50% at 96% 92%, rgba(216,194,166,.18) 0%, rgba(216,194,166,0) 55%),
      linear-gradient(180deg, var(--ivory-deep) 0%, #FBF8F3 50%, var(--ivory) 100%);}
  .dr-inner{max-width:1080px;margin:0 auto;position:relative;z-index:2;}
  .dr-head{margin-bottom:clamp(34px,4vw,52px);}
  .dr-eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:20px;}
  .dr-eyebrow .line{width:40px;height:1px;background:var(--rose);}
  .dr-eyebrow span{font-family:var(--serif-en);font-size:13px;letter-spacing:.3em;color:var(--greige);}
  .dr-title{font-family:var(--serif-jp);font-weight:500;font-size:clamp(27px,3.6vw,46px);line-height:1.45;letter-spacing:.05em;color:var(--charcoal);}
  .dr-title em{font-style:normal;color:var(--rose-deep);}
  .dr-lead{display:grid;grid-template-columns:0.8fr 1.2fr;gap:clamp(30px,4.4vw,64px);align-items:start;}
  .dr-photo{position:relative;aspect-ratio:4/5;border-radius:200px 200px 28px 28px;overflow:hidden;box-shadow:0 40px 74px -42px rgba(111,102,94,.55);border:1px solid rgba(111,102,94,.12);background:linear-gradient(155deg,rgba(248,244,238,.9),rgba(216,194,166,.55));}
  .dr-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;display:block;}
  .dr-photo .ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--greige);text-align:center;padding:20px;}
  .dr-photo .ph .mono{width:76px;height:76px;border-radius:50%;border:1px solid var(--champagne);display:grid;place-items:center;font-family:var(--serif-jp);font-size:30px;color:var(--rose-deep);background:rgba(255,255,255,.5);}
  .dr-photo .ph span{font-family:var(--serif-en);font-size:11px;letter-spacing:.24em;}
  .dr-photo .ph small{font-size:10.5px;letter-spacing:.06em;color:var(--rose-deep);}
  .dr-name{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;}
  .dr-name .role{font-family:var(--sans);font-size:12px;letter-spacing:.14em;color:#fff;background:var(--greige);padding:4px 12px;border-radius:999px;align-self:center;}
  .dr-name .jp{font-family:var(--serif-jp);font-weight:600;font-size:clamp(26px,3vw,36px);letter-spacing:.08em;color:var(--charcoal);}
  .dr-name .jp small{display:block;font-size:.34em;letter-spacing:.24em;color:var(--greige);font-weight:400;margin-bottom:4px;}
  .dr-name .en{font-family:var(--serif-en);font-style:italic;font-size:15px;letter-spacing:.06em;color:var(--rose);}
  .dr-spec{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
  .dr-spec span{font-size:11.5px;letter-spacing:.04em;color:var(--greige);padding:6px 13px;border-radius:999px;background:rgba(255,255,255,.7);border:1px solid rgba(111,102,94,.18);}
  .dr-quote{font-family:var(--serif-jp);font-weight:600;font-size:clamp(19px,2.2vw,26px);line-height:1.6;letter-spacing:.04em;color:var(--charcoal);margin:26px 0 18px;position:relative;padding-left:20px;}
  .dr-quote::before{content:"";position:absolute;left:0;top:.15em;bottom:.15em;width:3px;background:var(--rose);border-radius:2px;}
  .dr-msg p{font-size:14px;line-height:2.05;color:var(--greige);margin-top:14px;}
  .dr-msg p b{color:var(--charcoal);font-weight:500;}
  .dr-detail{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,3.6vw,52px);margin-top:clamp(40px,5vw,64px);padding-top:clamp(34px,4vw,50px);border-top:1px solid rgba(111,102,94,.16);}
  .dr-block h3{display:flex;align-items:center;gap:12px;font-family:var(--serif-jp);font-weight:600;font-size:16px;letter-spacing:.08em;color:var(--charcoal);margin-bottom:20px;}
  .dr-block h3 .en{font-family:var(--serif-en);font-style:italic;font-size:12px;letter-spacing:.1em;color:var(--rose);font-weight:500;}
  .dr-creds{list-style:none;display:flex;flex-direction:column;gap:12px;}
  .dr-creds li{position:relative;padding-left:24px;font-size:13.5px;line-height:1.7;color:var(--charcoal);}
  .dr-creds li::before{content:"";position:absolute;left:2px;top:.42em;width:9px;height:5px;border-left:1.6px solid var(--gold);border-bottom:1.6px solid var(--gold);transform:rotate(-45deg);}
  .dr-career{list-style:none;position:relative;padding-left:20px;}
  .dr-career::before{content:"";position:absolute;left:4px;top:6px;bottom:6px;width:1px;background:rgba(216,194,166,.9);}
  .dr-career li{position:relative;padding:0 0 16px 18px;}
  .dr-career li:last-child{padding-bottom:0;}
  .dr-career li::before{content:"";position:absolute;left:-16px;top:5px;width:9px;height:9px;border-radius:50%;background:var(--ivory);border:1.5px solid var(--rose);}
  .dr-career .yr{font-family:var(--serif-en);font-size:13px;letter-spacing:.06em;color:var(--rose-deep);}
  .dr-career .ev{font-size:13px;line-height:1.7;color:var(--greige);margin-top:2px;}
  .dr-roles{grid-column:1/-1;margin-top:6px;}
  .dr-roles .rl{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
  .dr-roles .rl span{font-size:11.5px;letter-spacing:.03em;color:var(--greige);padding:6px 13px;border-radius:8px;background:rgba(255,255,255,.6);border:1px solid rgba(111,102,94,.16);}
  .dr-source{font-size:11px;color:var(--greige);margin-top:22px;letter-spacing:.02em;}
  .dr-more{display:inline-flex;align-items:center;gap:10px;margin-top:24px;font-size:13px;letter-spacing:.14em;color:var(--rose-deep);border-bottom:1px solid var(--champagne);padding-bottom:5px;transition:opacity .3s;}
  .dr-more:hover{opacity:.65;}
  .dr-more .ar{position:relative;width:16px;height:1px;background:currentColor;display:inline-block;}
  .dr-more .ar::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-right:1px solid currentColor;border-top:1px solid currentColor;transform:rotate(45deg);}
  @media(max-width:880px){
    .dr-lead{grid-template-columns:1fr;gap:28px;}
    .dr-photo{width:min(70%,300px);}
  }
  /* 経歴・資格はデスクトップ〜タブレットで2カラム維持。スマホのみ1カラム */
  @media(max-width:640px){
    .dr-detail{grid-template-columns:1fr;gap:34px;}
  }
  @media(max-width:600px){
    .dr-photo{width:min(84%,280px);}
  }

  /* ===== SEC 09 : 初めての方へ／診察の流れ（STEP1-4） ===== */
  .flow{position:relative;overflow:hidden;padding:clamp(64px,8vw,120px) clamp(24px,5vw,72px);border-top:1px solid rgba(216,194,166,.5);
    background:
      radial-gradient(58% 48% at 92% 6%, rgba(169,183,162,.14) 0%, rgba(169,183,162,0) 55%),
      linear-gradient(180deg, var(--ivory) 0%, #FBF8F3 55%, var(--ivory) 100%);}
  .fl-inner{max-width:1080px;margin:0 auto;position:relative;z-index:2;}
  .fl-head{margin-bottom:clamp(38px,4.6vw,58px);max-width:760px;}
  .fl-eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:20px;}
  .fl-eyebrow .line{width:40px;height:1px;background:var(--rose);}
  .fl-eyebrow span{font-family:var(--serif-en);font-size:13px;letter-spacing:.3em;color:var(--greige);}
  .fl-title{font-family:var(--serif-jp);font-weight:500;font-size:clamp(27px,3.6vw,46px);line-height:1.45;letter-spacing:.05em;color:var(--charcoal);}
  .fl-title em{font-style:normal;color:var(--rose-deep);}
  .fl-lede{font-size:14.5px;line-height:2.1;color:var(--greige);margin-top:18px;max-width:38em;}
  .fl-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.8vw,22px);}
  .fl-step{position:relative;display:flex;flex-direction:column;overflow:hidden;background:rgba(255,255,255,.66);border:1px solid rgba(111,102,94,.16);border-radius:18px;transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s,background .4s;}
  .fl-step:hover{transform:translateY(-6px);background:rgba(255,255,255,.94);box-shadow:0 26px 50px -30px rgba(111,102,94,.5);}
  .fl-step:not(:last-child)::after{content:"";position:absolute;right:-13px;top:50%;z-index:3;width:9px;height:9px;border-right:1.6px solid var(--rose);border-top:1.6px solid var(--rose);transform:translateY(-50%) rotate(45deg);}
  .st-photo{position:relative;aspect-ratio:4/3;overflow:hidden;}
  .st-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;}
  .fl-step:hover .st-photo img{transform:scale(1.05);}
  .st-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(47,43,40,.12) 100%);}
  .st-body{padding:22px 22px 24px;display:flex;flex-direction:column;}
  .fl-step .st-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
  .fl-step .st-num{font-family:var(--serif-en);font-size:11px;letter-spacing:.2em;color:var(--rose);}
  .fl-step .st-num b{display:block;font-size:26px;letter-spacing:.02em;color:var(--charcoal);font-weight:600;line-height:.9;margin-top:2px;}
  .fl-step .st-ic{width:46px;height:46px;flex:none;border-radius:50%;background:rgba(216,194,166,.26);display:grid;place-items:center;color:var(--rose-deep);transition:background .4s,color .4s;}
  .fl-step:hover .st-ic{background:var(--rose);color:#fff;}
  .fl-step .st-ic svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
  .fl-step h3{font-family:var(--serif-jp);font-weight:600;font-size:17px;letter-spacing:.03em;color:var(--charcoal);line-height:1.5;}
  .fl-step p{font-size:12.5px;line-height:1.95;color:var(--greige);margin-top:10px;}
  .fl-step p .req{display:inline-block;font-size:10px;letter-spacing:.05em;background:var(--rose);color:#fff;border-radius:4px;padding:1px 6px;vertical-align:1px;font-family:var(--sans);}
  .fl-note{display:flex;gap:18px;align-items:flex-start;margin-top:clamp(28px,3.4vw,44px);padding:clamp(22px,2.6vw,32px);background:rgba(255,255,255,.7);border:1px solid rgba(216,194,166,.7);border-radius:18px;}
  .fl-note .n-ic{width:44px;height:44px;flex:none;border-radius:50%;background:var(--ivory);border:1px solid var(--champagne);display:grid;place-items:center;color:var(--sage-deep);}
  .fl-note .n-ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
  .fl-note .n-tx{flex:1;min-width:0;}
  .fl-note .n-tx b{display:block;font-family:var(--serif-jp);font-weight:600;font-size:15px;letter-spacing:.04em;color:var(--charcoal);margin-bottom:8px;}
  .fl-note .n-tx p{font-size:13px;line-height:2;color:var(--greige);}
  .fl-note .n-tx p b{display:inline;color:var(--rose-deep);font-weight:500;margin:0;}
  @media(max-width:880px){
    .fl-steps{grid-template-columns:repeat(2,1fr);gap:14px;}
    .fl-step:not(:last-child)::after{display:none;}
    .fl-step:nth-child(1)::after,.fl-step:nth-child(3)::after{display:block;}
  }
  @media(max-width:560px){
    .fl-steps{grid-template-columns:1fr;}
    .fl-step:not(:last-child)::after{display:block;right:auto;top:auto;left:50%;bottom:-13px;transform:translateX(-50%) rotate(135deg);border-color:var(--rose);}
    .fl-note{flex-direction:column;gap:14px;}
  }

  /* （旧 院内案内カルーセルCSSは v5統一により削除） */

  /* ============================================================
     ▼ 院内案内より下：美容皮膚科親ページLP_v5 と統一（v5より移植）
     ============================================================ */
  .sec-head{max-width:1240px;margin:0 auto 56px;position:relative;z-index:2;}
  .sec-eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:22px;}
  .sec-eyebrow .line{width:40px;height:1px;background:var(--rose);}
  .sec-eyebrow span{font-family:var(--serif-en);font-size:13px;letter-spacing:.3em;color:var(--greige);}
  .sec-title{font-family:var(--serif-jp);font-weight:500;font-size:clamp(28px,3.6vw,46px);line-height:1.45;letter-spacing:.05em;color:var(--charcoal);}
  .sec-lede{font-size:14.5px;line-height:2.1;color:var(--greige);margin-top:22px;max-width:38em;}

  /* SECTION 08.5 ｜ 院内風景（オートスライド・マーキー） */
  .clinic-gallery{padding:clamp(64px,8vw,110px) 0 clamp(20px,3vw,40px);position:relative;overflow:hidden;border-top:1px solid rgba(216,194,166,.5);}
  .cg-head{text-align:center;padding:0 24px;margin-bottom:clamp(30px,4vw,46px);}
  .cg-title{font-family:var(--serif-jp);font-weight:500;font-size:clamp(23px,3vw,33px);letter-spacing:.06em;color:var(--charcoal);margin-top:12px;}
  .cg-lede{margin-top:14px;font-size:13.5px;line-height:1.9;color:var(--greige);}
  .cg-marquee{position:relative;width:100%;overflow:hidden;
    -webkit-mask:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
            mask:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);}
  .cg-track{display:flex;width:max-content;animation:cgScroll 60s linear infinite;will-change:transform;}
  .cg-marquee:hover .cg-track{animation-play-state:paused;}
  .cg-item{flex:0 0 auto;margin:0 18px 0 0;width:clamp(232px,26vw,332px);aspect-ratio:3/2;border-radius:16px;overflow:hidden;background:var(--ivory-deep);box-shadow:0 26px 46px -30px rgba(111,102,94,.55);}
  .cg-item img{width:100%;height:100%;object-fit:cover;display:block;}
  @keyframes cgScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  @media (prefers-reduced-motion:reduce){.cg-track{animation:none;}.cg-marquee{overflow-x:auto;}}
  @media (max-width:980px){.cg-item{width:clamp(200px,64vw,260px);margin-right:14px;}.cg-track{animation-duration:42s;}}

  /* SECTION 09 ｜ アクセス・診療時間 */
  .access{position:relative;padding:clamp(90px,11vw,150px) clamp(24px,5vw,72px) clamp(100px,12vw,160px);overflow:hidden;
    background:
      radial-gradient(55% 50% at 8% 10%, rgba(169,183,162,.16) 0%, rgba(169,183,162,0) 55%),
      radial-gradient(55% 50% at 94% 90%, rgba(216,194,166,.18) 0%, rgba(216,194,166,0) 55%),
      linear-gradient(180deg, var(--ivory) 0%, #FBF8F3 55%, var(--ivory-deep) 100%);}
  .access-grid{max-width:1080px;margin:0 auto;position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,48px);align-items:stretch;}
  .access-info{display:flex;flex-direction:column;gap:30px;}
  .info-block .lbl{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
  .info-block .lbl .en{font-family:var(--serif-en);font-size:11px;letter-spacing:.24em;color:var(--rose);}
  .info-block .lbl .jp{font-family:var(--serif-jp);font-weight:500;font-size:15px;letter-spacing:.06em;color:var(--charcoal);}
  .info-block .lbl::after{content:"";flex:1;height:1px;background:rgba(111,102,94,.16);}
  .info-block .addr{font-size:15px;line-height:1.85;color:var(--charcoal);letter-spacing:.02em;}
  .info-block .addr .zip{font-size:12px;color:var(--greige);display:block;margin-bottom:3px;}
  .acc-list{list-style:none;display:flex;flex-direction:column;gap:11px;}
  .acc-list li{display:flex;align-items:baseline;gap:12px;font-size:13.5px;color:var(--greige);}
  .acc-list li .ln{font-size:11px;letter-spacing:.04em;color:var(--charcoal);background:rgba(216,194,166,.25);border:1px solid rgba(216,194,166,.6);border-radius:6px;padding:4px 10px;min-width:120px;white-space:nowrap;text-align:center;}
  .acc-list li b{color:var(--charcoal);font-weight:600;}
  .acc-note{font-size:12px;line-height:1.8;color:var(--greige);margin-top:4px;}
  .hours{width:100%;border-collapse:collapse;}
  .hours th,.hours td{padding:11px 6px;text-align:center;border-bottom:1px solid rgba(111,102,94,.12);font-size:13px;}
  .hours thead th{font-family:var(--serif-jp);font-weight:500;color:var(--charcoal);background:rgba(216,194,166,.16);}
  .hours thead th.sun{color:var(--rose);}
  .hours tbody th{text-align:left;white-space:nowrap;color:var(--greige);font-weight:400;font-size:12px;padding-left:2px;}
  .hours td .o{color:var(--charcoal);}
  .hours td .x{color:rgba(111,102,94,.4);}
  .hours td .t{color:var(--gold);}
  .hours-meta{font-size:12px;line-height:1.85;color:var(--greige);margin-top:12px;}
  .hours-meta b{color:var(--charcoal);font-weight:600;}
  .hours-meta .req{display:inline-block;font-size:10px;letter-spacing:.05em;background:var(--rose);color:#fff;border-radius:4px;padding:1px 6px;vertical-align:1px;}
  .access-map{position:relative;border-radius:18px;overflow:hidden;min-height:440px;box-shadow:0 30px 60px -36px rgba(111,102,94,.5);border:1px solid rgba(111,102,94,.16);}
  .access-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
  .access-cta{max-width:1080px;margin:46px auto 0;position:relative;z-index:2;display:flex;justify-content:center;gap:16px;flex-wrap:wrap;}
  .access-cta a{display:inline-flex;align-items:center;gap:10px;font-size:13.5px;letter-spacing:.14em;text-decoration:none;padding:17px 36px;border-radius:999px;transition:all .35s;}
  .access-cta .primary{background:var(--charcoal);color:#fff;}
  .access-cta .primary:hover{background:var(--greige);transform:translateY(-2px);box-shadow:0 16px 34px -14px rgba(47,43,40,.5);}
  .access-cta .ghost{border:1px solid var(--greige);color:var(--charcoal);background:rgba(255,255,255,.4);}
  .access-cta .ghost:hover{background:#fff;transform:translateY(-2px);}
  .access-cta .ico{width:7px;height:7px;border-right:1.6px solid currentColor;border-top:1.6px solid currentColor;transform:rotate(45deg);}
  @media (max-width:880px){.access-grid{grid-template-columns:1fr;}.access-map{min-height:340px;order:-1;}}

  /* SECTION 10 ｜ FAQ */
  .faq{position:relative;padding:clamp(90px,11vw,150px) clamp(24px,5vw,72px) clamp(100px,12vw,160px);overflow:hidden;
    background:
      radial-gradient(55% 50% at 92% 10%, rgba(217,167,160,.16) 0%, rgba(217,167,160,0) 55%),
      linear-gradient(180deg, var(--ivory-deep) 0%, #FBF8F3 55%, var(--ivory) 100%);}
  .faq-list{max-width:840px;margin:0 auto;position:relative;z-index:2;}
  .faq-item{
    border-bottom:1px solid rgba(111,102,94,.18);
    background:transparent;
  }
  .faq-item:first-of-type{border-top:1px solid rgba(111,102,94,.3);}
  .faq-item summary{
    list-style:none;cursor:pointer;
    display:flex;align-items:baseline;gap:18px;
    padding:23px 6px;font-size:15px;letter-spacing:.03em;color:var(--charcoal);font-weight:500;
    transition:color .3s;
  }
  .faq-item summary:hover{color:var(--rose-deep);}
  .faq-item[open] summary{color:var(--rose-deep);}
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary .q{font-family:var(--serif-en);font-style:italic;font-size:21px;line-height:1;color:var(--champagne);flex-shrink:0;width:34px;transform:translateY(2px);}
  .faq-item summary .qt{flex:1;line-height:1.7;}
  .faq-item summary .ic{position:relative;width:12px;height:12px;flex-shrink:0;align-self:center;}
  .faq-item summary .ic::before,.faq-item summary .ic::after{content:"";position:absolute;background:var(--greige);transition:transform .35s;}
  .faq-item summary .ic::before{top:50%;left:0;right:0;height:1px;transform:translateY(-50%);}
  .faq-item summary .ic::after{left:50%;top:0;bottom:0;width:1px;transform:translateX(-50%);}
  .faq-item[open] summary .ic::after{transform:translateX(-50%) scaleY(0);}
  .faq-ans{position:relative;padding:0 6px 26px 58px;}
  .faq-ans::before{content:"A.";position:absolute;left:7px;top:-1px;font-family:var(--serif-en);font-style:italic;font-size:17px;color:var(--rose-deep);}
  .faq-ans p{font-size:13.5px;line-height:2.05;color:#5A544D;}
  .faq-ans p .req{display:inline-block;font-size:10px;letter-spacing:.05em;background:var(--rose);color:#fff;border-radius:4px;padding:1px 6px;vertical-align:1px;}

  /* SECTION 11 ｜ 予約CTA（末尾） */
  .final-cta{position:relative;padding:clamp(64px,8vw,110px) clamp(24px,5vw,72px) clamp(80px,10vw,130px);background:var(--ivory);border-top:1px solid rgba(216,194,166,.5);}
  .final-inner{position:relative;max-width:1000px;margin:0 auto;border-radius:26px;overflow:hidden;padding:clamp(50px,7vw,84px) clamp(28px,5vw,64px);background:linear-gradient(135deg, var(--charcoal) 0%, #423c37 60%, var(--greige) 130%);color:var(--ivory);text-align:center;box-shadow:0 44px 90px -46px rgba(47,43,40,.7);}
  .final-inner::after{content:"";position:absolute;inset:0;opacity:.07;mix-blend-mode:overlay;pointer-events:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='nf'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23nf)'/%3E%3C/svg%3E");}
  .final-inner .deco{position:absolute;border:1px solid rgba(216,194,166,.25);border-radius:50%;pointer-events:none;}
  .final-inner .deco.d1{width:360px;height:420px;top:-160px;right:-90px;transform:rotate(16deg);}
  .final-inner .eb{position:relative;z-index:2;font-family:var(--serif-en);font-size:12px;letter-spacing:.3em;color:var(--champagne);}
  .final-inner h2{position:relative;z-index:2;font-family:var(--serif-jp);font-weight:500;font-size:clamp(26px,3.6vw,42px);line-height:1.5;letter-spacing:.05em;margin-top:18px;}
  .final-inner p{position:relative;z-index:2;font-size:14px;line-height:2;color:rgba(248,244,238,.8);margin-top:20px;}
  .final-actions{position:relative;z-index:2;display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:36px;}
  .fbtn{display:inline-flex;align-items:center;gap:10px;font-size:14px;letter-spacing:.1em;padding:18px 34px;border-radius:999px;text-decoration:none;transition:all .35s;}
  .fbtn.web{background:var(--ivory);color:var(--charcoal);}
  .fbtn.web:hover{background:#fff;transform:translateY(-2px);}
  .fbtn.line{background:#06C755;color:#fff;}
  .fbtn.line:hover{filter:brightness(1.08);transform:translateY(-2px);}
  .fbtn.tel{border:1px solid rgba(248,244,238,.5);color:var(--ivory);}
  .fbtn.tel:hover{background:rgba(248,244,238,.12);transform:translateY(-2px);}
  .fbtn small{display:block;font-size:10px;letter-spacing:.08em;opacity:.7;margin-top:2px;}
  .final-inner .note{position:relative;z-index:2;font-size:11px;color:rgba(248,244,238,.55);margin-top:24px;}
  @media (max-width:768px){.final-actions .fbtn{width:100%;justify-content:center;}}

  @media(max-width:880px){
    .hero{display:block;min-height:auto;}
    .hero-media{position:relative;height:52vh;min-height:340px;}
    .hero-media::after{background:linear-gradient(to top,rgba(47,43,40,.32),rgba(47,43,40,0) 42%);}
    .dots{left:auto;right:20px;bottom:16px;}
    .dots button{border-color:rgba(255,255,255,.85);}
    .dots button.on{background:#fff;border-color:#fff;}
    .hero-copy{max-width:none;padding:30px 24px 36px;}
    .eyebrow{margin-bottom:16px;}
    .hero-jp{font-size:clamp(27px,7.4vw,38px);margin-bottom:16px;line-height:1.4;}
    .hero-catch{font-size:15px;margin-bottom:14px;}
    .hero-lede{font-size:14px;margin-bottom:24px;}
    .hero-actions .abtn{flex:1;justify-content:center;height:50px;padding:0 10px;font-size:13px;gap:7px;white-space:nowrap;}
    .cp-card--fv{width:auto;margin:20px 0 22px;box-shadow:0 20px 44px -26px rgba(47,43,40,.32);}
    .cp-card--fv .cp-row{gap:14px;}
    .cp-card--fv .cp-row .tx{font-size:15.5px;letter-spacing:.04em;}
    .cp-card--fv .cp-row:nth-child(1) .ln{width:18px;}
    .cp-card--fv .cp-row:nth-child(2) .ln{width:34px;}
    .cp-card--fv .cp-row:nth-child(3) .ln{width:50px;}
    .cp-card--fv .cp-row:nth-child(4) .ln{width:66px;}

    .cp-card{padding:42px 22px 34px;}
    .cp-tab{left:22px;padding:9px 16px;}
    .cp-tab em{font-size:13px;letter-spacing:.14em;}
    .cp-tab span{display:none;}
    .cp-row{gap:14px;}
    .cp-row .tx{font-size:15.5px;letter-spacing:.04em;}
    .cp-row:nth-child(1) .ln{width:18px;}
    .cp-row:nth-child(2) .ln{width:34px;}
    .cp-row:nth-child(3) .ln{width:50px;}
    .cp-row:nth-child(4) .ln{width:66px;}
    .news-row{grid-template-columns:1fr 34px;grid-template-areas:"date arrow" "title arrow";row-gap:6px;column-gap:12px;}
    .news-date{grid-area:date;}.news-title{grid-area:title;}.news-go{grid-area:arrow;align-self:center;}
  }
  @media(prefers-reduced-motion:reduce){
    .slide img{transition:none;transform:none;}
  }
