@charset "UTF-8";

/* =========================================================
   菊川・森法律事務所 — style.css
   Color : 白 × 緑（淡いトーン）
   Type  : Zen Old Mincho（見出し） / Noto Sans JP（本文）
   ========================================================= */

/* ---------- 1. Tokens ---------- */
:root{
  /* green */
  --g-900:#1B3D2F;
  --g-800:#23503E;
  --g-700:#2E6349;
  --g-600:#3C7A5D;
  --g-400:#7FA98F;
  --g-300:#A9C7B4;
  --g-150:#DCE9E0;
  --g-100:#EAF1EC;
  --g-050:#F4F8F5;

  /* neutral (warm) */
  --paper:#FCFBF8;
  --paper-2:#F7F5F0;
  --ink:#232B27;
  --ink-70:#54605A;
  --ink-50:#828D87;
  --line:#E2E7E3;
  --line-2:#EFF1EE;
  --white:#fff;

  /* type */
  --sans:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --serif:"Zen Old Mincho","Hiragino Mincho ProN","Yu Mincho","YuMincho","Noto Serif JP",serif;
  /* 数字・英字も明朝で統一（旧 Cormorant Garamond は数字の高さが不揃いになるため廃止） */
  --latin:var(--serif);

  /* layout */
  --notice-h:42px;
  --header-h:82px;
  --pad:clamp(20px,5vw,40px);
  --maxw:1180px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- 2. Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}
body{
  margin:0;
  font-family:var(--sans);
  font-weight:400;
  font-size:16px;
  line-height:2;
  letter-spacing:.04em;
  color:var(--ink);
  background:var(--paper);
  overflow-x:hidden;
  font-feature-settings:"palt" 1;
  -webkit-font-smoothing:antialiased;
}
img,svg,iframe{max-width:100%;display:block}
a{color:inherit;text-decoration:none;transition:color .3s var(--ease),opacity .3s var(--ease)}
ul,ol,dl,dd{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,p,figure{margin:0}
table{border-collapse:collapse;width:100%}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--g-150);color:var(--g-900)}

/* ---------- 3. Utilities ---------- */
/* ---------- 日本語の行分割 ----------
   見出しは文節で折り、行長を揃える。本文は最終行が数文字だけ残るのを防ぐ。
   いずれも非対応ブラウザでは従来どおりの折り返しに戻るだけで、破綻しない。 */
h1, h2, h3, h4,
.hero__title, .sec-head__ja, .about__catch, .svc__ttl,
.step__ttl, .fee-block__ttl, .cta__ttl, .cta__lead, .worry__bridge-main,
.lawyer__catch, .access__name, .qa summary, .acc summary, .area__ttl {
  word-break: auto-phrase;
  text-wrap: balance;
}
p, li, dd, dt, td, th, figcaption,
.step__sub, .fee-note, .fee-final, .sec-head__note, .personal, .note-small {
  /* 文節で折る。「事案を進／行します」のような熟語の分断を防ぐ */
  word-break: auto-phrase;
  text-wrap: pretty;
}
.promise__ttl { word-break: auto-phrase; text-wrap: pretty; }
.nowrap { white-space: nowrap; }

/* 数字は高さ・幅を揃えて表示（ベースラインのずれ・詰まりを防ぐ） */
.btn__num,.hero__tel-num,.stats__num,.cta__tel,.access__tel,.step__tel,.step__no,
.fixed-tel__txt strong,.fee-table .num,.promise__no,.fee-block__no,.footer__copy,
.sec-head__en,.cta__en,.notice-bar__tag,.logo__en,.footer__en,.scroll-cue span,
.qa__q,.qa__a-mark{
  font-feature-settings:"palt" 0;
  font-variant-numeric:lining-nums tabular-nums;
  font-variant-ligatures:none;
}

.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}
.container--narrow{max-width:880px}
.pc{display:inline}
.sp{display:none}
.muted{color:var(--ink-50);font-size:.86em}

/* JSが動く環境でのみ隠す。JS無効／ブロック時は最初から表示される（.js は index.html 冒頭で付与） */
.js [data-reveal]{opacity:0;transform:translate3d(0,26px,0);transition:opacity 1.05s var(--ease),transform 1.05s var(--ease)}

/* 方向つきリビール：左右から寄せて交差させる（弁護士紹介・アクセス） */
.js [data-reveal="left"]{transform:translate3d(-64px,0,0);transition-duration:1.3s}
.js [data-reveal="right"]{transform:translate3d(64px,0,0);transition-duration:1.3s}

.js [data-reveal].is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js [data-reveal]{opacity:1;transform:none;transition:none}
}

/* 共通セクション見出し */
.sec-head{margin-bottom:clamp(40px,6vw,68px)}
.sec-head--center{text-align:center}
.sec-head__en{
  font-family:var(--latin);
  font-size:14px;letter-spacing:.34em;text-transform:uppercase;
  color:var(--g-600);line-height:1;margin-bottom:18px;
  display:flex;align-items:center;gap:14px;
}
.sec-head--center .sec-head__en{justify-content:center}
.sec-head__en::before,.sec-head__en::after{content:"";height:1px;width:26px;background:var(--g-300)}
.sec-head:not(.sec-head--center) .sec-head__en::before{display:none}
.sec-head__ja{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(26px,4.2vw,40px);
  line-height:1.55;letter-spacing:.09em;color:var(--g-900);
}
.sec-head__note{
  margin-top:20px;font-size:15px;line-height:2.1;color:var(--ink-70);letter-spacing:.05em;
}

/* セクション余白 */
section{padding-block:clamp(72px,10vw,132px)}

/* ---------- 4. Notice bar ---------- */
.notice-bar{
  position:fixed;inset:0 0 auto 0;z-index:120;
  height:var(--notice-h);display:flex;align-items:center;justify-content:center;
  background:var(--g-800);color:#fff;
  transition:transform .5s var(--ease);
}
.notice-bar p{
  font-size:12.5px;letter-spacing:.08em;line-height:1;
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center;
  padding-inline:16px;text-align:center;
}
.notice-bar__tag{
  font-family:var(--latin);font-size:11px;letter-spacing:.22em;
  border:1px solid rgba(255,255,255,.5);border-radius:2px;padding:3px 8px;line-height:1;
}
.notice-bar__sub{color:rgba(255,255,255,.72);font-size:11.5px}
body.is-scrolled .notice-bar{transform:translateY(-100%)}

/* ---------- 5. Header ---------- */
.header{
  position:fixed;top:var(--notice-h);left:0;width:100%;z-index:110;
  height:var(--header-h);
  transition:top .5s var(--ease),background-color .45s var(--ease),box-shadow .45s var(--ease),height .45s var(--ease);
}
body.is-scrolled .header{
  top:0;background:rgba(252,251,248,.94);backdrop-filter:blur(14px);
  box-shadow:0 1px 0 var(--line),0 10px 30px -24px rgba(27,61,47,.4);
  height:70px;
}
.header__inner{
  height:100%;max-width:1340px;margin-inline:auto;padding-inline:var(--pad);
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}

.logo{display:flex;align-items:center;gap:12px;color:var(--white)}
body.is-scrolled .logo{color:var(--g-900)}
.logo__mark{width:34px;height:34px;flex:none;opacity:.95}
.logo__mark svg{width:100%;height:100%}
.logo__name{
  display:block;font-family:var(--serif);font-weight:600;
  font-size:19px;letter-spacing:.14em;line-height:1.3;
}
.logo__en{
  display:block;font-family:var(--latin);font-size:9.5px;
  letter-spacing:.26em;opacity:.62;margin-top:3px;
}

.gnav{display:flex;align-items:center;gap:clamp(18px,2.4vw,38px)}
.gnav__list{display:flex;align-items:center;gap:clamp(14px,1.9vw,30px)}
.gnav__list a{
  position:relative;font-size:13.5px;letter-spacing:.1em;color:rgba(255,255,255,.92);
  padding-block:6px;
}
body.is-scrolled .gnav__list a{color:var(--ink)}
.gnav__list a::after{
  content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;
  background:currentColor;transform:scaleX(0);transform-origin:right;
  transition:transform .45s var(--ease);
}
.gnav__list a:hover::after{transform:scaleX(1);transform-origin:left}
.gnav__list a.is-current::after{transform:scaleX(1);transform-origin:left;opacity:.6}

.btn--tel{
  display:flex;align-items:center;gap:9px;
  border:1px solid rgba(255,255,255,.45);border-radius:3px;
  padding:9px 18px;color:#fff;
}
body.is-scrolled .btn--tel{background:var(--g-800);border-color:var(--g-800);color:#fff}
.btn--tel:hover{background:var(--g-700);border-color:var(--g-700);color:#fff}
.ico-tel{width:16px;height:16px;flex:none}
.btn__num{font-family:var(--latin);font-size:18px;font-weight:500;letter-spacing:.06em;line-height:1.2}
.btn__note{font-size:10.5px;letter-spacing:.08em;opacity:.8;line-height:1}

.hamburger{display:none;width:44px;height:44px;position:relative;z-index:130}
.hamburger span{
  position:absolute;left:11px;width:22px;height:1px;background:#fff;
  transition:transform .4s var(--ease),opacity .3s var(--ease),background-color .4s var(--ease);
}
.hamburger span:nth-child(1){top:16px}
.hamburger span:nth-child(2){top:22px}
.hamburger span:nth-child(3){top:28px}
body.is-scrolled .hamburger span{background:var(--g-900)}
body.is-menu-open .hamburger span{background:#fff}
body.is-menu-open .hamburger span:nth-child(1){transform:translateY(6px) rotate(38deg)}
body.is-menu-open .hamburger span:nth-child(2){opacity:0}
body.is-menu-open .hamburger span:nth-child(3){transform:translateY(-6px) rotate(-38deg)}

/* ---------- 6. Hero ---------- */
.hero{
  position:relative;min-height:100svh;
  padding:calc(var(--notice-h) + var(--header-h) + 40px) 0 96px;
  display:flex;flex-direction:column;justify-content:center;
  overflow:hidden;
}
.hero__media{position:absolute;inset:0;z-index:0}
.hero__img{
  position:absolute;inset:0;
  /* ★写真差し替え：images/hero.jpg（未設置時は下のグラデーションが表示されます） */
  background-image:url("../images/hero.jpg"),
    radial-gradient(120% 90% at 78% 18%, #E8F0E9 0%, #CFE0D4 42%, #8FAF9A 78%, #46654F 100%);
  background-size:cover;background-position:68% 35%;background-repeat:no-repeat;
  transform:scale(1.06);animation:heroZoom 14s var(--ease) forwards;
}
@keyframes heroZoom{to{transform:scale(1)}}
/* 横長画面：写真を少し大きく敷き、お二人を右へ寄せて見出しと顔が重ならないようにする */
/* 縦長画面（スマホ・縦のタブレット）：写真を上半分に置き、文字はその下の深緑の地に置く。
   お二人の顔に文字がかからないようにするため。 */
@media (max-aspect-ratio:6/5){
  .hero{min-height:0;background:var(--g-900);
    padding-top:calc(var(--notice-h) + 44svh);padding-bottom:72px}
  .hero__media{bottom:auto;height:54svh}
  .hero__img{background-size:cover;background-position:84% 18%}
  .hero__veil{background:linear-gradient(to bottom,
    rgba(19,44,33,.45) 0%,rgba(19,44,33,0) 22%,rgba(19,44,33,0) 60%,rgba(27,61,47,1) 100%)}
  .hero .scroll-cue{display:none}
}
@media (min-aspect-ratio:6/5){
  .hero__img{background-size:118% auto;background-position:0% 28%}
  /* 電話番号も左側にまとめ、右半分（お二人）には文字を置かない */
  .hero .hero__foot{justify-content:flex-start;gap:clamp(32px,4vw,64px)}
  .hero .hero__tel{text-align:left}
  .hero .scroll-cue{left:auto;right:clamp(20px,3vw,40px);transform:none}
}
.hero__veil{
  position:absolute;inset:0;
  background:
    linear-gradient(100deg, rgba(19,44,33,.72) 0%, rgba(19,44,33,.44) 42%, rgba(19,44,33,.14) 72%, rgba(19,44,33,.3) 100%),
    linear-gradient(to top, rgba(19,44,33,.5), transparent 42%);
}
.hero__inner{
  position:relative;z-index:2;width:100%;max-width:var(--maxw);
  margin-inline:auto;padding-inline:var(--pad);color:#fff;
}

.hero__eyebrow{
  font-size:12.5px;letter-spacing:.3em;color:rgba(255,255,255,.82);
  margin-bottom:26px;display:flex;align-items:center;gap:14px;
  animation:fadeUp 1.1s .25s var(--ease) both;
}
.hero__eyebrow::before{content:"";width:42px;height:1px;background:rgba(255,255,255,.6)}
.hero__title{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(40px,7.6vw,84px);
  line-height:1.32;letter-spacing:.1em;
  text-shadow:0 2px 30px rgba(12,32,22,.35);
}
.hero__line{display:block;animation:fadeUp 1.3s var(--ease) both}
.hero__line:nth-child(1){animation-delay:.4s}
.hero__line:nth-child(2){animation-delay:.58s}
.hero__lead{
  margin-top:34px;font-size:clamp(13.5px,1.35vw,16px);line-height:2.3;
  letter-spacing:.07em;color:rgba(255,255,255,.9);
  animation:fadeUp 1.2s .82s var(--ease) both;
}
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}

.hero__foot{
  position:relative;z-index:2;width:100%;
  margin-top:clamp(48px,7vw,90px);
  display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap;
  animation:fadeUp 1.2s 1.05s var(--ease) both;
}
.hero__firm-name{font-family:var(--serif);font-size:17px;letter-spacing:.16em;color:#fff}
.hero__firm-sub{font-size:11.5px;letter-spacing:.12em;color:rgba(255,255,255,.72);margin-top:8px}
.hero__tel{
  display:block;text-align:right;color:#fff;padding-left:26px;
  border-left:1px solid rgba(255,255,255,.28);
}
.hero__tel-label{display:block;font-size:11px;letter-spacing:.18em;color:rgba(255,255,255,.75)}
.hero__tel-num{
  display:block;font-family:var(--latin);font-size:clamp(27px,3.2vw,36px);
  font-weight:500;letter-spacing:.06em;line-height:1.35;margin-top:6px;
}
.hero__tel-time{display:block;font-size:11.5px;letter-spacing:.1em;color:rgba(255,255,255,.75)}
.hero__tel:hover{opacity:.78}

.scroll-cue{
  position:absolute;left:50%;bottom:26px;transform:translateX(-50%);
  z-index:3;display:flex;flex-direction:column;align-items:center;gap:10px;
  color:rgba(255,255,255,.78);
}
.scroll-cue span{font-family:var(--latin);font-size:10px;letter-spacing:.28em}
.scroll-cue i{display:block;width:1px;height:52px;background:rgba(255,255,255,.35);position:relative;overflow:hidden}
.scroll-cue i::after{
  content:"";position:absolute;inset:0;background:#fff;
  animation:cue 2.4s var(--ease) infinite;
}
@keyframes cue{0%{transform:translateY(-100%)}55%,100%{transform:translateY(100%)}}

/* ---------- 7. Stats ---------- */
.stats{padding-block:0;margin-top:-1px;background:var(--g-050);border-bottom:1px solid var(--line)}
.stats__list{
  display:grid;grid-template-columns:repeat(4,1fr);
}
.stats__list li{
  padding:clamp(32px,4vw,48px) clamp(14px,2vw,28px);
  text-align:center;border-left:1px solid var(--line);
}
.stats__list li:first-child{border-left:0}
.stats__num{
  display:block;font-family:var(--latin);font-size:clamp(32px,4vw,46px);
  font-weight:500;color:var(--g-700);line-height:1.25;letter-spacing:.04em;
}
.stats__num small{
  font-family:var(--serif);font-size:15px;margin-left:5px;letter-spacing:.08em;color:var(--g-600);
}
.stats__label{
  display:block;margin-top:14px;font-size:13px;line-height:1.85;letter-spacing:.05em;color:var(--ink-70);
}
.stats__label em{display:block;font-style:normal;font-size:11.5px;color:var(--ink-50);margin-top:4px}

/* ---------- 8. Worry ---------- */
.worry{background:var(--paper);position:relative}
.worry::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 40% at 50% 0%, var(--g-050), transparent 70%);
}
.worry .container{position:relative}
.worry__list{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:1px;background:var(--line);border:1px solid var(--line);
  max-width:1000px;margin-inline:auto;
}
.worry__list li{
  background:var(--white);padding:clamp(22px,2.6vw,30px) clamp(20px,2.4vw,32px);
  display:flex;gap:16px;align-items:flex-start;
  font-size:15px;line-height:1.95;letter-spacing:.04em;color:var(--ink);
  transition:background-color .5s var(--ease);
}
.worry__list li:hover{background:var(--g-050)}
/* 先頭の「・」は文字ではなく緑の丸で描く（書体の中黒は細く薄いため） */
.worry__q{
  flex:none;display:flex;align-items:center;height:1.95em;width:6px;overflow:hidden;color:transparent;
}
.worry__q::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--g-600)}

.worry__bridge{
  margin-top:clamp(56px,7vw,86px);text-align:center;
}
.worry__bridge-lead{
  font-size:12.5px;letter-spacing:.24em;color:var(--g-600);margin-bottom:22px;
}
.worry__bridge-main{
  font-family:var(--serif);font-size:clamp(24px,3.6vw,38px);
  line-height:1.7;letter-spacing:.08em;color:var(--g-900);
}
.worry__bridge-main em{
  font-style:normal;padding:0 .12em;
  background:linear-gradient(transparent 62%, var(--g-150) 62%, var(--g-150) 96%, transparent 96%);
}
.worry__bridge-sub{
  margin-top:26px;font-size:14.5px;line-height:2.2;color:var(--ink-70);letter-spacing:.05em;
}

/* ---------- 9. About ---------- */
.about{background:var(--g-050)}
.about__intro{
  padding-bottom:clamp(48px,6vw,72px);margin-bottom:clamp(48px,6vw,72px);
  border-bottom:1px solid var(--line);
}
.about__catch{
  font-family:var(--serif);font-size:clamp(22px,3.2vw,32px);
  line-height:1.7;letter-spacing:.1em;color:var(--g-800);margin-bottom:28px;
}
.about__text{font-size:15.5px;line-height:2.35;color:var(--ink-70);letter-spacing:.05em}

.promise{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,40px)}
.promise__item{
  background:var(--white);border:1px solid var(--line);border-radius:2px;
  padding:clamp(30px,3.4vw,44px) clamp(24px,2.8vw,36px);
  position:relative;transition:transform .6s var(--ease),box-shadow .6s var(--ease);
}
.promise__item:hover{transform:translateY(-5px);box-shadow:0 24px 50px -34px rgba(27,61,47,.45)}
.promise__no{
  font-family:var(--latin);font-size:30px;color:var(--g-300);line-height:1.2;
  display:block;margin-bottom:18px;letter-spacing:.08em;
}
.promise__ttl{
  font-family:var(--serif);font-size:18px;font-weight:600;letter-spacing:.08em;
  line-height:1.7;color:var(--g-900);margin-bottom:16px;
  padding-bottom:16px;border-bottom:1px solid var(--g-150);
}
.promise__txt{font-size:14px;line-height:2.15;color:var(--ink-70);letter-spacing:.04em}

.about__intro{display:grid;gap:clamp(32px,4vw,56px);align-items:center}
@media (min-width:961px){
  .about__intro{grid-template-columns:minmax(0,1fr) minmax(300px,440px)}
}
.about__photo{margin:0;display:grid;gap:10px;width:100%;max-width:560px}
.about__photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:2px;
  box-shadow:0 30px 60px -44px rgba(27,61,47,.55)}
.about__photo figcaption{font-size:12.5px;letter-spacing:.12em;color:var(--ink-50);text-align:right}
.office-data{
  margin-top:clamp(48px,6vw,72px);
  border-top:1px solid var(--line);
}
.office-data > div{
  display:flex;gap:clamp(16px,3vw,40px);
  padding:20px 4px;border-bottom:1px solid var(--line);
  font-size:14.5px;line-height:1.9;
}
.office-data dt{
  flex:none;width:clamp(90px,12vw,150px);
  color:var(--g-700);letter-spacing:.1em;font-weight:500;
}
.office-data dd{color:var(--ink-70);letter-spacing:.04em}
.office-data a{color:var(--g-700);border-bottom:1px solid var(--g-300)}

/* ---------- 10. Lawyers ---------- */
.lawyers{background:var(--paper)}
.lawyer{
  display:grid;grid-template-columns:clamp(300px,34%,420px) 1fr;
  gap:clamp(36px,5vw,76px);align-items:start;
  padding-block:clamp(48px,6vw,76px);
}
.lawyer + .lawyer{border-top:1px solid var(--line)}
.lawyer--rev{direction:rtl}
.lawyer--rev > *{direction:ltr}

.lawyer__photo{position:relative;z-index:0}
.lawyer__img{
  aspect-ratio:4/5;border-radius:2px;
  background-image:url("../images/kikukawa.jpg"),
    linear-gradient(160deg,#E7EFE9 0%,#C9DCCF 55%,#9DBCA8 100%);
  background-size:cover;background-position:center 25%;
  box-shadow:0 30px 60px -40px rgba(27,61,47,.55);
}
.lawyer__img--m{background-image:url("../images/mori.jpg"),linear-gradient(160deg,#E9EFEA 0%,#CBDBD1 55%,#A2BDAB 100%)}
.lawyer__photo::after{
  content:"";position:absolute;inset:auto -14px -14px auto;width:56%;height:38%;
  border-right:1px solid var(--g-300);border-bottom:1px solid var(--g-300);
  z-index:-1;
}

.lawyer__role{font-size:11.5px;letter-spacing:.28em;color:var(--g-600);margin-bottom:12px}
.lawyer__name{
  font-family:var(--serif);font-size:clamp(28px,3.6vw,38px);font-weight:500;
  letter-spacing:.14em;color:var(--g-900);line-height:1.4;
  display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;
}
.lawyer__kana{
  font-family:var(--sans);font-size:12px;letter-spacing:.18em;color:var(--ink-50);
}
.lawyer__catch{
  font-family:var(--serif);font-size:clamp(17px,1.9vw,21px);line-height:1.9;
  letter-spacing:.09em;color:var(--g-700);
  margin:26px 0 24px;padding-left:20px;border-left:2px solid var(--g-300);
}

.tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.tags li{
  font-size:12px;letter-spacing:.08em;line-height:1;
  padding:8px 14px;border:1px solid var(--g-150);background:var(--g-050);
  color:var(--g-700);border-radius:100px;
}

.profile{border-top:1px solid var(--line);margin-bottom:32px}
.profile > div{
  display:flex;gap:clamp(14px,2.4vw,30px);padding:14px 2px;
  border-bottom:1px solid var(--line-2);font-size:14px;line-height:1.9;
}
.profile dt{flex:none;width:clamp(76px,9vw,104px);color:var(--g-700);letter-spacing:.08em;font-weight:500}
.profile dd{color:var(--ink-70);letter-spacing:.03em}

.lawyer__block{margin-bottom:28px}
.lawyer__h4{
  font-size:13px;letter-spacing:.16em;color:var(--g-700);font-weight:500;
  margin-bottom:14px;display:flex;align-items:center;gap:12px;
}
.lawyer__h4::after{content:"";flex:1;height:1px;background:var(--line)}
.lawyer__block p{font-size:14.5px;line-height:2.2;color:var(--ink-70);letter-spacing:.04em}

/* メッセージ（開閉） */
.message{border:1px solid var(--g-150);background:var(--g-050);border-radius:2px;margin-bottom:26px}
.message__toggle{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:20px 24px;font-size:14px;letter-spacing:.08em;color:var(--g-800);text-align:left;
}
.message__toggle-ico{position:relative;width:14px;height:14px;flex:none}
.message__toggle-ico::before,.message__toggle-ico::after{
  content:"";position:absolute;background:var(--g-600);transition:transform .45s var(--ease);
}
.message__toggle-ico::before{top:6.5px;left:0;width:14px;height:1px}
.message__toggle-ico::after{left:6.5px;top:0;width:1px;height:14px}
.message__toggle[aria-expanded="true"] .message__toggle-ico::after{transform:scaleY(0)}
.message__body{max-height:0;overflow:hidden;transition:max-height .7s var(--ease)}
.message__inner{padding:0 24px 26px}
.message__inner p{font-size:14.5px;line-height:2.3;color:var(--ink-70);letter-spacing:.04em}
.message__inner p + p{margin-top:18px}
.message__list{margin:18px 0;border-left:2px solid var(--g-300);padding-left:20px}
.message__list li{font-size:14px;line-height:2.1;color:var(--ink-70);letter-spacing:.04em}
.message__list li + li{margin-top:8px}

/* アコーディオン（森・分野別） */
.accordions{border-top:1px solid var(--line)}
.acc{border-bottom:1px solid var(--line)}
.acc summary{
  list-style:none;cursor:pointer;position:relative;
  padding:16px 34px 16px 2px;font-size:14.5px;letter-spacing:.07em;color:var(--g-800);
  transition:color .3s var(--ease);
}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{
  content:"";position:absolute;right:8px;top:50%;width:8px;height:8px;
  border-right:1px solid var(--g-600);border-bottom:1px solid var(--g-600);
  transform:translateY(-70%) rotate(45deg);transition:transform .4s var(--ease);
}
.acc[open]:not(.is-closing) summary::after{transform:translateY(-30%) rotate(-135deg)}
.acc summary:hover{color:var(--g-600)}
.acc__body{overflow:hidden;transition:height .42s var(--ease)}
.acc__body p{padding:0 2px 20px;font-size:14px;line-height:2.15;color:var(--ink-70)}

.personal{
  display:flex;gap:16px;align-items:flex-start;
  font-size:14px;line-height:2.15;color:var(--ink-70);letter-spacing:.04em;
  background:var(--paper-2);padding:22px 24px;border-radius:2px;
}
.personal__label{
  flex:none;font-size:11px;letter-spacing:.16em;color:var(--g-700);
  border:1px solid var(--g-300);border-radius:2px;padding:4px 10px;line-height:1.4;margin-top:4px;
}
.note-small{margin-top:18px;font-size:12.5px;line-height:1.95;color:var(--ink-50);letter-spacing:.03em}

/* ---------- 11. CTA ---------- */
.cta{position:relative;overflow:hidden}
.cta--mid{background:var(--g-800);padding-block:clamp(56px,7vw,80px)}
.cta--mid .cta__inner{text-align:center;color:#fff}
.cta__lead{font-family:var(--serif);font-size:clamp(17px,2.2vw,23px);letter-spacing:.1em;margin-bottom:22px}
.cta__tel{
  display:inline-flex;align-items:center;gap:14px;color:#fff;
  font-family:var(--latin);font-size:clamp(29px,4.3vw,44px);font-weight:500;
  letter-spacing:.07em;line-height:1.3;
}
.cta__tel .ico-tel{width:.62em;height:.62em}
.cta__tel:hover{opacity:.8}
.cta__note{margin-top:14px;font-size:12.5px;letter-spacing:.1em;color:rgba(255,255,255,.75)}

.cta--last{padding-block:clamp(90px,12vw,150px);color:#fff;text-align:center}
.cta--last .cta__bg{
  position:absolute;inset:0;z-index:0;
  background-image:url("../images/cta.jpg"),
    linear-gradient(150deg,#1B3D2F 0%,#2E6349 48%,#1B3D2F 100%);
  background-size:cover;background-position:center;
}
.cta--last .cta__bg::after{content:"";position:absolute;inset:0;background:rgba(20,45,34,.74)}
.cta--last .container{position:relative;z-index:1}
/* 文章の幅を締める。横に広がりすぎると、ただの帯に見えてしまう */
.cta--last .cta__inner{max-width:760px;margin-inline:auto}
/* 両端の飾り。ロゴマークと同じ意匠を小さく添える */
.cta__mark{
  position:absolute;top:50%;width:clamp(64px,8vw,120px);
  color:var(--g-300);opacity:.3;pointer-events:none;
}
.cta__mark svg{width:100%;height:auto}
.cta__mark--l{left:var(--pad);transform:translateY(-50%) rotate(-8deg)}
.cta__mark--r{right:var(--pad);transform:translateY(-50%) rotate(8deg)}
/* 文章に近づきすぎる幅では飾りを出さない */
@media (max-width:1000px){ .cta__mark{display:none} }
.cta__en{
  font-family:var(--latin);font-size:13px;letter-spacing:.34em;text-transform:uppercase;
  color:rgba(255,255,255,.7);margin-bottom:22px;
}
.cta__ttl{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(25px,4.2vw,42px);line-height:1.65;letter-spacing:.1em;
}
.cta__lead + .cta__tel,.cta__ttl + .cta__lead{margin-top:0}
.cta--last .cta__lead{
  margin:26px 0 40px;font-family:var(--sans);font-size:14.5px;line-height:2.25;
  letter-spacing:.06em;color:rgba(255,255,255,.85);
}
.cta__tel--lg{
  border:1px solid rgba(255,255,255,.4);border-radius:3px;
  padding:18px clamp(24px,4vw,52px);transition:background-color .45s var(--ease),border-color .45s var(--ease);
}
.cta__tel--lg:hover{background:rgba(255,255,255,.1);border-color:#fff;opacity:1}

/* ---------- 12. Services ---------- */
.services{background:var(--g-050)}
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.4vw,32px)}
.svc__item{
  background:var(--white);border:1px solid var(--line);border-radius:2px;
  padding:clamp(28px,3.2vw,40px) clamp(24px,2.8vw,34px);
  display:flex;flex-direction:column;
  transition:transform .6s var(--ease),box-shadow .6s var(--ease),border-color .6s var(--ease);
}
.svc__item:hover{
  transform:translateY(-5px);border-color:var(--g-300);
  box-shadow:0 26px 52px -36px rgba(27,61,47,.5);
}
.svc__item--lead{grid-column:span 2;background:linear-gradient(120deg,var(--white) 60%,var(--g-050) 100%)}
.svc__ico{
  width:44px;height:44px;color:var(--g-600);margin-bottom:20px;display:block;
}
.svc__ico svg{width:100%;height:100%}
.svc__ttl{
  font-family:var(--serif);font-size:clamp(19px,2.2vw,23px);font-weight:600;
  letter-spacing:.1em;color:var(--g-900);margin-bottom:16px;
}
.svc__item--lead .svc__ttl{font-size:clamp(22px,2.8vw,28px)}
.svc__txt{font-size:14px;line-height:2.15;color:var(--ink-70);letter-spacing:.04em;flex:1}
.svc__by{
  margin-top:20px;padding-top:16px;border-top:1px solid var(--line-2);
  font-size:11.5px;letter-spacing:.12em;color:var(--g-600);
}

.area{margin-top:clamp(40px,5vw,60px)}
.area__box{
  background:var(--g-800);color:#fff;border-radius:2px;
  padding:clamp(32px,4vw,52px) clamp(26px,4vw,60px);
}
.area__ttl{
  font-family:var(--serif);font-size:20px;letter-spacing:.14em;font-weight:500;
  margin-bottom:26px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.22);
}
.area__dl > div{display:flex;gap:clamp(16px,3vw,40px);padding:12px 0;font-size:14.5px;line-height:2}
.area__dl dt{flex:none;width:clamp(84px,10vw,124px);letter-spacing:.12em;color:var(--g-300)}
.area__dl dd{color:rgba(255,255,255,.9);letter-spacing:.04em}
.area__city{font-size:12.5px;color:rgba(255,255,255,.65);line-height:1.9}

/* ---------- 13. Fees ---------- */
.fees{background:var(--paper)}
.fee-block{
  max-width:920px;margin-inline:auto;
  padding-bottom:clamp(36px,4.5vw,52px);margin-bottom:clamp(36px,4.5vw,52px);
  border-bottom:1px solid var(--line);
}
.fee-block:last-of-type{border-bottom:0;margin-bottom:24px}
.fee-block__ttl{
  font-family:var(--serif);font-size:clamp(19px,2.4vw,24px);font-weight:600;
  letter-spacing:.1em;color:var(--g-900);margin-bottom:22px;
  display:flex;align-items:baseline;gap:16px;
}
.fee-block__no{
  font-family:var(--latin);font-size:15px;color:var(--g-400);letter-spacing:.16em;
}
.fee-block__lead{font-size:14px;line-height:2.15;color:var(--ink-70);margin-bottom:22px;letter-spacing:.04em}

.fee-table{font-size:14.5px;line-height:1.9}
.fee-table thead th{
  background:var(--g-800);color:#fff;font-weight:500;letter-spacing:.1em;
  padding:13px 18px;text-align:left;font-size:13px;
}
.fee-table th,.fee-table td{
  border:1px solid var(--line);padding:16px 18px;vertical-align:middle;
}
.fee-table tbody th{
  background:var(--g-050);font-weight:500;color:var(--g-800);text-align:left;
  letter-spacing:.06em;width:38%;
}
.fee-table tbody td{color:var(--ink-70);background:var(--white)}
.fee-table .num{
  font-family:var(--serif);font-size:17px;color:var(--g-800);letter-spacing:.06em;white-space:nowrap;
}
.fee-table .tax{font-family:var(--sans);font-size:11.5px;color:var(--ink-50);margin-left:4px;white-space:nowrap}
.fee-table .unit{font-size:12.5px;color:var(--ink-50);white-space:nowrap;width:26%}
.fee-note{margin-top:16px;font-size:12.5px;line-height:2;color:var(--ink-50);letter-spacing:.03em}
.fee-note strong{color:var(--g-700);font-weight:500}
.fee-final{
  max-width:920px;margin-inline:auto;
  background:var(--g-050);border:1px solid var(--g-150);border-radius:2px;
  padding:24px 28px;font-size:13.5px;line-height:2.15;color:var(--ink-70);letter-spacing:.04em;
}

/* ---------- 14. Flow ---------- */
.flow{background:var(--g-050)}
.steps{
  max-width:900px;margin-inline:auto;position:relative;
}
.steps::before{
  content:"";position:absolute;left:clamp(30px,4.4vw,48px);top:20px;bottom:60px;
  width:1px;background:var(--g-150);
}
.step{position:relative;padding-left:clamp(80px,11vw,124px);padding-bottom:clamp(36px,5vw,52px)}
.step:last-child{padding-bottom:0}
.step__no{
  position:absolute;left:0;top:0;
  width:clamp(60px,8.8vw,96px);height:clamp(60px,8.8vw,96px);border-radius:50%;
  background:var(--white);border:1px solid var(--g-300);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-family:var(--latin);font-size:clamp(22px,2.8vw,30px);color:var(--g-700);line-height:1;
}
.step__no small{font-size:8.5px;letter-spacing:.2em;color:var(--g-400);margin-bottom:3px}
.step__ttl{
  font-family:var(--serif);font-size:clamp(19px,2.4vw,24px);font-weight:600;
  letter-spacing:.1em;color:var(--g-900);margin-bottom:14px;padding-top:clamp(6px,1.4vw,18px);
}
.step__txt{font-size:14.5px;line-height:2.2;color:var(--ink-70);letter-spacing:.04em}
.step__tel{
  font-family:var(--latin);font-size:20px;font-weight:500;color:var(--g-700);letter-spacing:.06em;
  border-bottom:1px solid var(--g-300);padding-bottom:2px;
}
.step__tel:hover{color:var(--g-600)}
.step__sub{
  margin-top:12px;font-size:12.5px;line-height:1.95;color:var(--ink-50);letter-spacing:.03em;
  padding-left:14px;border-left:2px solid var(--g-150);
}

/* ---------- 15. FAQ ---------- */
.faq{background:var(--paper)}
.faq__list{border-top:1px solid var(--line)}
.qa{border-bottom:1px solid var(--line)}
.qa summary{
  list-style:none;cursor:pointer;position:relative;
  display:flex;align-items:flex-start;gap:16px;
  padding:24px 40px 24px 2px;
  font-size:15.5px;line-height:1.85;letter-spacing:.05em;color:var(--g-900);
  font-family:var(--serif);font-weight:600;
  transition:color .3s var(--ease);
}
.qa summary::-webkit-details-marker{display:none}
.qa summary:hover{color:var(--g-600)}
.qa__q{
  flex:none;font-family:var(--latin);font-size:18px;font-weight:600;
  color:var(--g-400);line-height:1.6;
}
.qa summary::after{
  content:"";position:absolute;right:8px;top:32px;width:9px;height:9px;
  border-right:1px solid var(--g-600);border-bottom:1px solid var(--g-600);
  transform:rotate(45deg);transition:transform .4s var(--ease);
}
.qa[open]:not(.is-closing) summary::after{transform:rotate(-135deg) translate(-3px,-3px)}
.qa[open]:not(.is-closing) > summary{color:var(--g-600)}
.qa[open]:not(.is-closing) > summary .qa__q{color:var(--g-600)}

/* 開閉アニメーション用のラッパー（高さを JS で制御） */
.qa__a{overflow:hidden;transition:height .42s var(--ease)}
.qa__a-inner{
  display:flex;gap:16px;align-items:flex-start;
  padding:0 40px 28px 2px;
}
.qa__a-mark{
  flex:none;font-family:var(--latin);font-size:18px;font-weight:600;color:var(--g-600);line-height:1.8;
}
.qa__a p{font-size:14.5px;line-height:2.25;color:var(--ink-70);letter-spacing:.04em}

/* ---------- 16. Access ---------- */
.access{background:var(--g-050)}
.access__grid{display:grid;grid-template-columns:1.32fr 1fr;gap:clamp(28px,4vw,56px);align-items:stretch}
.access__map{position:relative;min-height:420px;border-radius:2px;overflow:hidden;border:1px solid var(--line)}
.access__map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.86) contrast(.96)}
.access__info{
  background:var(--white);border:1px solid var(--line);border-radius:2px;
  padding:clamp(28px,3.4vw,44px);display:flex;flex-direction:column;
}
.access__name{
  font-family:var(--serif);font-size:22px;font-weight:600;letter-spacing:.12em;
  color:var(--g-900);padding-bottom:20px;margin-bottom:8px;border-bottom:1px solid var(--line);
}
.access__dl{flex:1}
.access__dl > div{padding:18px 0;border-bottom:1px solid var(--line-2);font-size:14.5px;line-height:1.95}
.access__dl dt{font-size:11.5px;letter-spacing:.18em;color:var(--g-600);margin-bottom:6px}
.access__dl dd{color:var(--ink-70);letter-spacing:.04em}
.access__tel{
  font-family:var(--latin);font-size:27px;font-weight:500;color:var(--g-800);
  letter-spacing:.07em;line-height:1.5;
}
.access__tel:hover{color:var(--g-600)}
.access__maplink{
  margin-top:26px;align-self:flex-start;
  font-size:12.5px;letter-spacing:.14em;color:var(--g-700);
  border-bottom:1px solid var(--g-300);padding-bottom:3px;
}
.access__maplink:hover{color:var(--g-600)}

/* ---------- 17. Footer ---------- */
.footer{background:var(--g-900);color:rgba(255,255,255,.8);padding-block:clamp(56px,7vw,80px) 32px}
.footer__top{
  display:flex;justify-content:space-between;gap:clamp(30px,5vw,70px);flex-wrap:wrap;
  padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.14);
}
.footer__mark{display:block;width:42px;height:42px;color:var(--g-300);margin-bottom:16px}
.footer__mark svg{width:100%;height:100%}
.footer__name{font-family:var(--serif);font-size:20px;letter-spacing:.16em;color:#fff}
.footer__en{font-family:var(--latin);font-size:10.5px;letter-spacing:.26em;color:rgba(255,255,255,.5);margin-top:6px}
.footer__addr{margin-top:20px;font-size:12.5px;line-height:2.1;letter-spacing:.05em;color:rgba(255,255,255,.68)}
.footer__nav ul{display:grid;grid-template-columns:repeat(2,auto);gap:10px clamp(24px,4vw,56px)}
.footer__nav a{font-size:12.5px;letter-spacing:.1em;color:rgba(255,255,255,.78)}
.footer__nav a:hover{color:#fff}
.footer__copy{
  margin-top:28px;font-family:var(--latin);font-size:11px;letter-spacing:.16em;
  color:rgba(255,255,255,.42);text-align:center;
}

/* ---------- 18. Fixed tel (SP) ---------- */
.fixed-tel{
  position:fixed;left:0;bottom:0;width:100%;z-index:100;display:none;
  padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  background:rgba(252,251,248,.9);backdrop-filter:blur(12px);
  border-top:1px solid var(--line);
}
.fixed-tel a{
  display:flex;align-items:center;justify-content:center;gap:12px;
  background:var(--g-800);color:#fff;border-radius:3px;padding:13px;
}
.fixed-tel .ico-tel{width:19px;height:19px}
.fixed-tel__txt{display:flex;flex-direction:column;align-items:flex-start;line-height:1.25}
.fixed-tel__txt strong{font-family:var(--latin);font-size:21px;font-weight:500;letter-spacing:.07em;line-height:1.4}
.fixed-tel__txt small{font-size:10px;letter-spacing:.08em;opacity:.8}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:1100px){
  .gnav__list{gap:16px}
  .gnav__list a{font-size:12.5px}
  .btn__num{font-size:18px}
}

@media (max-width:1024px){
  :root{--header-h:70px}
  .hamburger{display:block}

  .gnav{
    position:fixed;inset:0;z-index:125;
    flex-direction:column;align-items:flex-start;justify-content:center;
    gap:40px;padding:0 clamp(28px,9vw,72px);
    background:var(--g-900);
    clip-path:circle(0% at calc(100% - 42px) 42px);
    transition:clip-path .8s var(--ease);
    pointer-events:none;
  }
  body.is-menu-open .gnav{clip-path:circle(150% at calc(100% - 42px) 42px);pointer-events:auto}
  .gnav__list{flex-direction:column;align-items:flex-start;gap:22px}
  .gnav__list a,body.is-scrolled .gnav__list a{
    color:#fff;font-family:var(--serif);font-size:20px;letter-spacing:.14em;
  }
  .gnav__tel{width:100%}
  .btn--tel,body.is-scrolled .btn--tel{
    flex-direction:column;align-items:flex-start;gap:4px;
    background:none;border-color:rgba(255,255,255,.4);color:#fff;padding:16px 20px;
  }
  .btn__num{font-size:26px}

  .stats__list{grid-template-columns:repeat(2,1fr)}
  .stats__list li:nth-child(3){border-left:0}
  .stats__list li:nth-child(n+3){border-top:1px solid var(--line)}

  .promise{grid-template-columns:1fr;gap:20px}
  .svc{grid-template-columns:repeat(2,1fr)}
  .svc__item--lead{grid-column:span 2}

  .lawyer{grid-template-columns:1fr;gap:32px}
  .lawyer--rev{direction:ltr}
  .lawyer__photo{max-width:340px}
  .lawyer__img{aspect-ratio:4/4.4}

  .access__grid{grid-template-columns:1fr}
  .access__map{min-height:340px}
}

@media (max-width:768px){
  body{font-size:15px;padding-bottom:76px}
  .pc{display:none}
  .sp{display:inline}
  .fixed-tel{display:block}
  html{scroll-padding-top:calc(var(--header-h) + 8px)}

  .notice-bar{height:auto;padding:8px 0}
  .notice-bar p{font-size:11px;gap:6px;line-height:1.6}
  .notice-bar__sub{display:none}
  :root{--notice-h:34px}

  /* スマホのファーストビューは上の (max-aspect-ratio:6/5) で組む */
  .hero__title{letter-spacing:.06em;line-height:1.4}
  .hero__lead{font-size:13.5px;line-height:2.1;margin-top:26px}
  .hero__foot{flex-direction:column;align-items:flex-start;gap:22px}
  .hero__tel{text-align:left;padding-left:0;padding-top:18px;border-left:0;border-top:1px solid rgba(255,255,255,.28);width:100%}
  .hero .scroll-cue{display:none}

  .stats__list{grid-template-columns:1fr 1fr}
  .stats__list li{padding:26px 12px}
  .stats__num{font-size:30px}
  .stats__label{font-size:12px;margin-top:10px}

  .worry__list{grid-template-columns:1fr}
  .worry__list li{font-size:14.5px;padding:20px}
  .worry__bridge-sub{font-size:13.5px}

  .svc{grid-template-columns:1fr}
  .svc__item--lead{grid-column:span 1}

  /* ---------- 費用表 ----------
     3列のまま縮めると列幅が潰れ、1文字ずつ縦に割れる。
     スマホでは行ごとのカードに積み替える。 */
  .fee-table{font-size:14px;display:block}
  .fee-table thead{display:none}
  .fee-table tbody,.fee-table tr,.fee-table th,.fee-table td{display:block;width:auto}
  .fee-table tr{
    border:1px solid var(--line);border-radius:2px;background:var(--white);
    overflow:hidden;
  }
  .fee-table tr + tr{margin-top:10px}
  .fee-table tbody th,.fee-table td.rate-th{
    background:var(--g-050);border:0;border-bottom:1px solid var(--line);
    padding:11px 16px;font-size:13.5px;font-weight:500;color:var(--g-800);
    letter-spacing:.06em;line-height:1.7;width:auto;text-align:left;
  }
  .fee-table tbody td{
    border:0;padding:12px 16px 0;background:var(--white);
    display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
  }
  .fee-table tbody tr td:last-child{padding-bottom:13px}
  .fee-table .num{font-size:17px;white-space:normal;line-height:1.5}
  .fee-table .unit{width:auto;font-size:12px;white-space:normal;color:var(--ink-50)}
  /* 02 の料率表は、値だけだと何の数字か分からないのでラベルを出す */
  .fee-table--rate td[data-label]::before{
    content:attr(data-label);flex:none;
    font-size:11px;letter-spacing:.14em;color:var(--g-600);
    min-width:3.6em;
  }

  .steps::before{left:26px}
  .step{padding-left:66px}
  .step__no{width:52px;height:52px;font-size:20px}
  .step__no small{font-size:7.5px}
  .step__ttl{padding-top:2px}

  .qa summary{font-size:15px;padding:20px 32px 20px 2px}
  .qa summary::after{top:27px}
  .qa__a{padding-right:32px}

  /* 縦積みになる幅では、左右のクロスをやめて上下に統一する */
  .js [data-reveal="left"],.js [data-reveal="right"]{transform:translate3d(0,26px,0);transition-duration:1.05s}

  .footer__top{flex-direction:column;gap:32px}
  .footer__nav ul{grid-template-columns:repeat(2,1fr);gap:12px 20px}

  .office-data > div,.profile > div,.area__dl > div,.access__dl > div{flex-direction:column;gap:4px}
  .office-data dt,.profile dt,.area__dl dt{width:auto;font-size:11.5px;letter-spacing:.14em}
}

@media (max-width:420px){
  .lawyer__name{font-size:26px;gap:10px}
  .cta__tel{font-size:27px;letter-spacing:.05em}
  .fixed-tel__txt strong{font-size:19px;letter-spacing:.05em}
}

/* ---------- Print ---------- */
@media print{
  .notice-bar,.header,.fixed-tel,.scroll-cue,.cta{display:none}
  body{background:#fff}
  [data-reveal]{opacity:1;transform:none}
}
