@charset "utf-8";
/* ═══════════════════════════════════════════════════════════
   株式会社六花 / 整骨院経営コンサルティング LP
   Palette: gold #ac895b × cream #efe8d9 × ink #2b2723
   ═══════════════════════════════════════════════════════════ */

:root{
  --gold:#ac895b;
  --gold-deep:#8d6c42;
  --gold-light:#c9ab84;
  --gold-pale:#e9d5b2;
  --cream:#efe8d9;
  --cream-soft:#f8f4ec;
  --ink:#2b2723;
  --body:#4c4740;
  --muted:#8f8a7e;
  --dark:#332e28;
  --dark-2:#43413d;
  --line:rgba(172,137,91,.28);
  --white:#fff;

  --serif:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;
  --sans:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  /* 数字の 1 が I に見えないこと（年商1億円のインパクト）を優先して Playfair Display を採用 */
  --en:"Playfair Display","Noto Serif JP",serif;

  --wrap:1160px;
  --hdr-h:76px;
  --ease:cubic-bezier(.2,.7,.25,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--hdr-h);-webkit-text-size-adjust:100%;overflow-x:clip}
body{
  margin:0;background:var(--white);color:var(--body);
  font-family:var(--sans);font-size:16px;line-height:2;
  font-feature-settings:"palt" 1;letter-spacing:.03em;
  text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--serif);color:var(--ink);line-height:1.5;margin:0;font-weight:600}
p{margin:0}
ul,ol,dl,dd{margin:0;padding:0;list-style:none}
button{font:inherit;cursor:pointer}
::selection{background:var(--gold);color:#fff}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

.wrap{width:min(100% - 40px,var(--wrap));margin-inline:auto}
.wrap--narrow{width:min(100% - 40px,820px)}
.pc{display:inline}
.sp{display:none}

/* ── Reveal ─────────────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}

/* ── Buttons ────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  padding:16px 34px;border:1px solid transparent;border-radius:2px;
  font-family:var(--sans);font-size:15px;font-weight:500;letter-spacing:.08em;
  line-height:1.4;transition:.35s var(--ease);position:relative;overflow:hidden;
}
.btn__arrow{transition:transform .35s var(--ease)}
.btn:hover .btn__arrow{transform:translateX(5px)}
.btn--gold{background:var(--gold);color:#fff;box-shadow:0 8px 24px -12px rgba(141,108,66,.7)}
.btn--gold:hover{background:var(--gold-deep);box-shadow:0 14px 30px -12px rgba(141,108,66,.85)}
.btn--ghost{border-color:rgba(255,255,255,.55);color:#fff;backdrop-filter:blur(4px);background:rgba(255,255,255,.06)}
.btn--ghost:hover{background:rgba(255,255,255,.16);border-color:#fff}
.btn--lg{padding:20px 44px;font-size:16px}
.btn--block{width:100%}

/* ── Header ─────────────────────────────────────────────── */
.hdr{
  position:fixed;inset:0 0 auto;z-index:100;height:var(--hdr-h);
  display:flex;align-items:center;
  background:rgba(255,255,255,0);transition:background .45s var(--ease),box-shadow .45s var(--ease),height .45s var(--ease);
}
/* 写真の明るい部分に重なっても白文字が沈まないよう、上端に薄い暗幕を敷く */
.hdr::after{
  content:"";position:absolute;inset:0 0 auto;height:190%;z-index:-1;pointer-events:none;
  background:linear-gradient(rgba(24,20,16,.62),rgba(24,20,16,.28) 55%,rgba(24,20,16,0));
  transition:opacity .45s var(--ease);
}
.hdr.is-solid::after{opacity:0}
.hdr.is-solid{background:rgba(255,255,255,.96);box-shadow:0 1px 0 var(--line),0 10px 30px -24px rgba(43,39,35,.5);backdrop-filter:blur(10px)}
.hdr__inner{width:min(100% - 32px,1400px);margin-inline:auto;display:flex;align-items:center;gap:28px}
.hdr__logo{display:flex;align-items:center;gap:15px;flex-shrink:0}
.hdr__logo img{width:222px;height:auto;transition:filter .45s var(--ease)}
.hdr:not(.is-solid) .hdr__logo img{filter:brightness(0) invert(1) drop-shadow(0 1px 6px rgba(0,0,0,.5))}
.hdr__logo-sub{
  font-family:var(--serif);font-size:14px;font-weight:500;letter-spacing:.12em;color:var(--gold-deep);
  padding-left:15px;border-left:1px solid var(--line);white-space:nowrap;line-height:1.5;
}
.hdr:not(.is-solid) .hdr__logo-sub{color:#fff;border-color:rgba(255,255,255,.45);text-shadow:0 1px 8px rgba(0,0,0,.6)}
.hdr__nav{margin-left:auto;display:flex;gap:26px}
.hdr__nav a{
  font-size:13.5px;font-weight:500;letter-spacing:.06em;position:relative;padding-bottom:4px;color:var(--ink);
  white-space:nowrap;
}
.hdr:not(.is-solid) .hdr__nav a{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.45)}
.hdr__nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width .35s var(--ease)}
.hdr:not(.is-solid) .hdr__nav a::after{background:#fff}
.hdr__nav a:hover::after{width:100%}
.hdr__cta{padding:13px 26px;font-size:13.5px;flex-shrink:0}
.hdr__burger{display:none;width:44px;height:44px;border:0;background:none;padding:10px;flex-direction:column;justify-content:space-between}
.hdr__burger span{display:block;height:1.5px;background:var(--ink);transition:.35s var(--ease);transform-origin:center}
.hdr:not(.is-solid) .hdr__burger span{background:#fff}
.hdr.is-open .hdr__burger span:nth-child(1){transform:translateY(10.5px) rotate(45deg)}
.hdr.is-open .hdr__burger span:nth-child(2){opacity:0}
.hdr.is-open .hdr__burger span:nth-child(3){transform:translateY(-10.5px) rotate(-45deg)}

/* ── Hero ───────────────────────────────────────────────── */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;isolation:isolate;padding:calc(var(--hdr-h) + 40px) 0 0}
.hero__media{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 42%;animation:heroZoom 16s var(--ease) forwards}
@keyframes heroZoom{from{transform:scale(1.1)}to{transform:scale(1)}}
.hero::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(105deg,rgba(35,30,25,.86) 0%,rgba(35,30,25,.72) 42%,rgba(35,30,25,.34) 72%,rgba(35,30,25,.5) 100%);
}
.hero__inner{width:min(100% - 40px,var(--wrap));margin-inline:auto;color:#fff;padding-bottom:56px}
.hero__title{
  font-size:clamp(34px,5.6vw,68px);line-height:1.42;color:#fff;font-weight:600;
  letter-spacing:.02em;margin:22px 0 28px;text-shadow:0 2px 26px rgba(0,0,0,.35);
  animation:heroUp 1.1s var(--ease) .15s both;
}
.hero__title em{font-style:normal;color:var(--gold-pale);position:relative;white-space:nowrap}
.hero__title em::after{content:"";position:absolute;left:0;right:0;bottom:-.12em;height:2px;background:linear-gradient(90deg,var(--gold-pale),transparent)}
.hero__lead{
  font-size:clamp(14px,1.35vw,17px);line-height:2.15;color:rgba(255,255,255,.92);
  max-width:46em;text-shadow:0 1px 14px rgba(0,0,0,.45);
  animation:heroUp 1.1s var(--ease) .3s both;
}
.hero__scope{
  display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;margin-top:26px;
  animation:heroUp 1.1s var(--ease) .38s both;
}
.hero__scope-tags{display:flex;gap:8px;flex:none}
.hero__scope-tags span{
  font-family:var(--serif);font-size:13px;letter-spacing:.1em;line-height:1;color:#fff;
  border:1px solid rgba(255,255,255,.5);padding:7px 12px 8px;white-space:nowrap;
  text-shadow:0 1px 8px rgba(0,0,0,.5);
}
.hero__scope-text{
  font-size:14.5px;line-height:1.9;color:rgba(255,255,255,.92);
  text-shadow:0 1px 12px rgba(0,0,0,.55);
}
.hero__scope-text b{color:var(--gold-pale);font-weight:500}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px;animation:heroUp 1.1s var(--ease) .5s both}
@keyframes heroUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.hero__stats{
  position:relative;width:min(100% - 40px,var(--wrap));margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);
  background:rgba(255,255,255,.08);backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.2);
  animation:heroUp 1.1s var(--ease) .6s both;
}
.hero__stat{padding:22px 24px;border-left:1px solid rgba(255,255,255,.16);color:#fff}
.hero__stat:first-child{border-left:0}
.hero__stat-num{display:block;font-family:var(--en);font-size:clamp(26px,3vw,38px);line-height:1.1;color:var(--gold-pale);font-weight:500;letter-spacing:.01em}
.hero__stat-num small{font-family:var(--sans);font-size:13px;margin-left:3px;letter-spacing:.04em}
.hero__stat-label{display:block;font-size:11.5px;letter-spacing:.12em;color:rgba(255,255,255,.7);margin-top:6px;line-height:1.6}
.hero__scroll{
  position:absolute;right:26px;bottom:0;writing-mode:vertical-rl;
  font-family:var(--en);font-size:11px;letter-spacing:.35em;color:rgba(255,255,255,.7);
  padding-bottom:78px;
}
.hero__scroll::after{content:"";position:absolute;left:50%;bottom:0;width:1px;height:64px;background:linear-gradient(rgba(255,255,255,.7),rgba(255,255,255,0));animation:scrollLine 2.4s ease-in-out infinite}
@keyframes scrollLine{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ── Section base ───────────────────────────────────────── */
.sec{padding:clamp(80px,9vw,140px) 0;position:relative}
.sec--tight{padding-bottom:0}
.sec--cream{background:var(--cream-soft)}
.sec--dark{background:var(--dark);color:rgba(255,255,255,.82)}
.sec--cream::before,.sec--dark::before{
  content:"";position:absolute;right:-70px;top:-70px;width:340px;height:340px;
  background:url(../img/brand/snowflake.png) center/contain no-repeat;opacity:.05;pointer-events:none;
}
.sec--dark::before{opacity:.07}
.sec__head{text-align:center;margin-bottom:clamp(48px,5vw,76px)}
.eyebrow{
  font-family:var(--en);font-size:13px;letter-spacing:.34em;text-transform:uppercase;
  color:var(--gold);margin-bottom:16px;display:block;font-weight:500;
}
.eyebrow--light{color:var(--gold-pale)}
.sec__title{font-size:clamp(26px,3.4vw,42px);line-height:1.55;letter-spacing:.03em}
.sec__title--light{color:#fff}
.sec__lead{margin-top:24px;font-size:15.5px;line-height:2.15;color:var(--body)}
.sec__lead--light{color:rgba(255,255,255,.72)}
.sec__head .sec__lead{max-width:44em;margin-inline:auto}

/* ── Problems ───────────────────────────────────────────── */
.problems{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.problems li{
  background:#fff;padding:30px 32px 30px 76px;position:relative;
  font-family:var(--serif);font-size:clamp(15px,1.5vw,18px);line-height:1.85;color:var(--ink);
}
.problems__no{
  position:absolute;left:30px;top:30px;font-family:var(--en);font-size:19px;
  color:var(--gold);letter-spacing:.06em;
}
.problems li::after{
  content:"";position:absolute;left:32px;bottom:26px;width:22px;height:1px;background:var(--gold-pale);
}
.problems__bridge{
  margin-top:52px;text-align:center;font-family:var(--serif);
  font-size:clamp(19px,2.4vw,28px);line-height:1.8;color:var(--ink);
}
.problems__bridge::before{
  content:"";display:block;width:1px;height:46px;margin:0 auto 26px;
  background:linear-gradient(var(--gold-pale),var(--gold));
}

/* ── Numbers ────────────────────────────────────────────── */
.nums{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12)}
.num{background:var(--dark);padding:34px 30px;text-align:center}
.num__label{font-size:12px;letter-spacing:.15em;color:var(--gold-pale);margin-bottom:12px}
.num__val{font-family:var(--serif);font-size:clamp(20px,2.2vw,27px);color:#fff;line-height:1.35;letter-spacing:.02em}
.num__val b{font-family:var(--en);font-size:1.78em;font-weight:500;letter-spacing:.005em;margin:0 .06em}
.num__val small{font-size:.62em;margin-left:.2em;color:var(--gold-pale)}
.num__note{font-size:11.5px;color:rgba(255,255,255,.45);margin-top:10px;letter-spacing:.06em}

.growth{margin-top:clamp(56px,6vw,90px);border:1px solid rgba(255,255,255,.14);padding:clamp(28px,4vw,52px)}
.growth__title{font-size:clamp(19px,2.2vw,26px);color:#fff;text-align:center;margin-bottom:38px;letter-spacing:.04em}
.growth__list{display:flex;flex-direction:column;gap:14px}
.growth__list li{display:grid;grid-template-columns:62px 1fr auto;align-items:center;gap:18px}
.growth__year{font-family:var(--en);font-size:17px;color:rgba(255,255,255,.55);letter-spacing:.06em}
.growth__bar{height:8px;background:rgba(255,255,255,.08);position:relative;overflow:hidden}
.growth__bar::after{
  content:"";position:absolute;inset:0 auto 0 0;width:var(--w);
  background:linear-gradient(90deg,var(--gold-deep),var(--gold-light));
  transform:scaleX(0);transform-origin:left;transition:transform 1.3s var(--ease);
}
.growth.is-in .growth__bar::after{transform:scaleX(1)}
.growth__list li:nth-child(2) .growth__bar::after{transition-delay:.1s}
.growth__list li:nth-child(3) .growth__bar::after{transition-delay:.2s}
.growth__list li:nth-child(4) .growth__bar::after{transition-delay:.3s}
.growth__list li:nth-child(5) .growth__bar::after{transition-delay:.4s}
.growth__val{font-family:var(--serif);font-size:15px;color:rgba(255,255,255,.75);white-space:nowrap;letter-spacing:.03em}
.growth__val small{font-size:11px;color:rgba(255,255,255,.4);margin-left:10px;font-family:var(--sans)}
.growth__list .is-now .growth__val{color:#fff;font-size:17px}
.growth__list .is-now .growth__year{color:var(--gold-pale)}

/* ── Reasons ────────────────────────────────────────────── */
.reasons{display:flex;flex-direction:column;gap:clamp(60px,7vw,110px);margin-top:10px}
.reason{
  width:min(100% - 40px,1280px);margin-inline:auto;
  display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(30px,4vw,64px);
}
.reason--rev{direction:rtl}
.reason--rev>*{direction:ltr}
.reason__media{position:relative;overflow:hidden}
.reason__media::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.35);margin:14px;pointer-events:none}
.reason__media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.reason__no{
  font-family:var(--en);font-size:13px;letter-spacing:.3em;color:var(--gold);
  text-transform:uppercase;margin-bottom:16px;display:flex;align-items:center;gap:14px;
}
.reason__no::after{content:"";flex:1;max-width:60px;height:1px;background:var(--line)}
.reason__title{font-size:clamp(21px,2.6vw,31px);line-height:1.6;margin-bottom:22px;letter-spacing:.03em}
.reason__text{font-size:15px;line-height:2.2}

/* ── Cards ──────────────────────────────────────────────── */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{
  background:#fff;border:1px solid var(--line);padding:38px 32px 34px;position:relative;
}
.card::before{content:"";position:absolute;left:0;top:0;width:100%;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold-pale))}
.card__no{font-family:var(--en);font-size:32px;color:var(--gold-pale);line-height:1;margin-bottom:14px}
.card__title{font-size:18px;line-height:1.7;margin-bottom:14px;letter-spacing:.03em}
.card__text{font-size:14px;line-height:2.05;color:var(--body)}

/* ── 提供形態（訪問／オンライン／実務代行／六花で受講）──────── */
.formats{margin-top:clamp(50px,5.5vw,80px)}
.formats__title{text-align:center;font-size:clamp(20px,2.4vw,28px);letter-spacing:.04em}
.formats__lead{text-align:center;margin:18px auto 34px;font-size:14.5px;line-height:2.1;max-width:40em}
.formats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.formats__item{
  background:#fff;border:1px solid var(--line);padding:26px 24px 28px;position:relative;
}
.formats__tag{
  font-family:var(--serif);font-size:16px;color:var(--ink);letter-spacing:.08em;
  padding-bottom:14px;margin-bottom:14px;position:relative;
}
.formats__tag::after{content:"";position:absolute;left:0;bottom:0;width:26px;height:2px;background:var(--gold)}
.formats__text{font-size:13.5px;line-height:2}
.formats__note{text-align:center;margin-top:22px;font-size:13px;color:var(--muted);letter-spacing:.06em}

/* ── Scale ──────────────────────────────────────────────── */
.scale{margin-top:clamp(56px,6vw,86px);background:#fff;border:1px solid var(--line);padding:clamp(30px,4vw,52px)}
.scale__title{text-align:center;font-size:clamp(20px,2.4vw,28px);margin-bottom:36px;letter-spacing:.04em}
.scale__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.scale__item{background:#fff;padding:26px 24px}
.scale__lead{font-family:var(--serif);font-size:16px;color:var(--ink);margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line);letter-spacing:.04em}
.scale__text{font-size:13.5px;line-height:2}
.scale__note{text-align:center;margin-top:26px;font-size:13px;color:var(--muted);letter-spacing:.06em}

/* ── Cases ──────────────────────────────────────────────── */
.cases{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(26px,3vw,40px)}
.case{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden}
.case__media{overflow:hidden;background:var(--cream)}
.case__media img{width:100%;aspect-ratio:16/10;object-fit:cover}
.case__media--placeholder{display:grid;place-items:center;aspect-ratio:16/10;background:var(--cream-soft)}
.case__media--placeholder img{width:110px;aspect-ratio:1;opacity:.5}
.case__body{padding:30px 32px 34px;flex:1}
.case__tag{display:inline-block;font-size:11.5px;letter-spacing:.12em;color:var(--gold-deep);background:var(--cream);padding:5px 14px;margin-bottom:16px;line-height:1.6}
.case__client{font-size:20px;line-height:1.6;letter-spacing:.03em}
.case__client small{display:block;font-size:12.5px;font-family:var(--sans);color:var(--muted);font-weight:400;margin-top:6px;letter-spacing:.08em}
.case__result{margin:18px 0 14px;padding:14px 18px;background:var(--cream-soft);border-left:3px solid var(--gold)}
.case__result b{font-family:var(--serif);font-size:17px;color:var(--ink);font-weight:600;line-height:1.7}
.case__text{font-size:14px;line-height:2.05}
.case__todo{display:inline-block;margin-top:10px;font-size:11.5px;color:var(--gold-deep);letter-spacing:.06em}
.case--todo{border-style:dashed;background:#fdfcf9}

/* ── Voice ──────────────────────────────────────────────── */
.voices{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.voice{margin:0;background:#fff;border:1px solid var(--line);padding:46px 30px 30px;position:relative;display:flex;flex-direction:column}
.voice::before{
  content:"“";position:absolute;left:28px;top:14px;font-family:var(--en);
  font-size:64px;color:var(--gold-pale);opacity:.6;line-height:1;
}
.voice blockquote{margin:0;font-family:var(--serif);font-size:16px;line-height:2.05;color:var(--ink);flex:1;letter-spacing:.02em}
.voice blockquote em{font-style:normal;background:linear-gradient(transparent 62%,var(--gold-pale) 62%);padding:0 1px}
.voice figcaption{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:13.5px;color:var(--ink);letter-spacing:.04em;line-height:1.9}
.voice figcaption small{font-size:11.5px;color:var(--muted);letter-spacing:.05em}
.voices__note{margin-top:26px;text-align:center;font-size:12.5px;color:var(--muted)}

/* ── Gallery ────────────────────────────────────────────── */
/* 「見学で見るもの」と「貴院に出向いて行う支援」を明確に分けて見せる */
.gallery__label{
  display:flex;align-items:flex-start;gap:clamp(20px,3vw,38px);
  padding:clamp(44px,5vw,76px) 0 26px;
}
.gallery__step{
  font-family:var(--serif);font-size:14px;font-weight:500;letter-spacing:.18em;
  color:var(--gold-pale);border:1px solid rgba(255,255,255,.3);
  padding:11px 20px 11px 22px;white-space:nowrap;flex:none;line-height:1;
}
.gallery__label-title{
  font-size:clamp(19px,2.2vw,27px);color:#fff;letter-spacing:.04em;line-height:1.6;
  margin-bottom:12px;position:relative;padding-bottom:12px;
}
.gallery__label-title::after{content:"";position:absolute;left:0;bottom:0;width:38px;height:1px;background:var(--gold)}
.gallery__label-text{font-size:14px;line-height:2.1;color:rgba(255,255,255,.62);max-width:58em}
.gallery__label-text b{color:#fff;font-weight:500}
.sec--dark .sec__lead b{color:#fff;font-weight:500;background:linear-gradient(transparent 68%,rgba(172,137,91,.55) 68%)}

.gallery{
  display:grid;grid-template-columns:repeat(4,1fr);gap:2px;
}
.gallery__item{margin:0;position:relative;overflow:hidden;background:#211d19}
.gallery__item--wide{grid-column:span 2}
.gallery__item img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.gallery__item figcaption{
  position:absolute;left:0;bottom:0;right:0;padding:30px 20px 15px;
  font-size:12.5px;letter-spacing:.08em;color:#fff;line-height:1.6;
  background:linear-gradient(transparent,rgba(20,17,14,.88));
}

/* ── Message ────────────────────────────────────────────── */
.msg{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(34px,5vw,74px);align-items:center}
.msg__media{position:relative}
.msg__media img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 22%}
.msg__media::before{
  content:"";position:absolute;left:-18px;top:-18px;width:130px;height:130px;
  background:url(../img/brand/snowflake.png) center/contain no-repeat;opacity:.5;z-index:1;
}
.msg__name{
  margin-top:20px;font-family:var(--serif);font-size:17px;color:var(--ink);letter-spacing:.06em;
  padding-left:16px;border-left:2px solid var(--gold);line-height:1.7;
}
.msg__name small{display:block;font-family:var(--en);font-size:12px;letter-spacing:.2em;color:var(--muted);margin-top:2px}
.msg__body .sec__title{margin-bottom:28px;text-align:left}
.msg__body p{font-size:15.5px;line-height:2.25;margin-bottom:20px}
.msg__last{font-family:var(--serif);font-size:19px !important;color:var(--gold-deep);letter-spacing:.05em;margin-bottom:0 !important}

/* ── Flow ───────────────────────────────────────────────── */
.flow{position:relative;padding-left:0;max-width:880px;margin-inline:auto}
.flow::before{content:"";position:absolute;left:47px;top:20px;bottom:40px;width:1px;background:linear-gradient(var(--gold),var(--gold-pale),transparent)}
.flow__step{position:relative;padding:0 0 42px 120px}
.flow__step:last-child{padding-bottom:0}
.flow__no{
  position:absolute;left:0;top:0;width:94px;height:94px;border-radius:50%;
  background:#fff;border:1px solid var(--gold);display:grid;place-content:center;text-align:center;
  font-family:var(--en);font-size:30px;color:var(--gold-deep);line-height:1;letter-spacing:.02em;
}
.flow__no span{display:block;font-size:9.5px;letter-spacing:.24em;color:var(--gold);margin-bottom:4px;font-family:var(--sans)}
.flow__title{font-size:clamp(19px,2.1vw,24px);margin-bottom:12px;padding-top:14px;letter-spacing:.04em}
.flow__title small{font-size:13px;font-family:var(--sans);color:var(--gold-deep);margin-left:12px;letter-spacing:.08em;font-weight:500}
.flow__text{font-size:14.5px;line-height:2.15}
.flow__text b{color:var(--ink);background:linear-gradient(transparent 62%,var(--gold-pale) 62%)}

/* ── FAQ ────────────────────────────────────────────────── */
.faq{border-top:1px solid var(--line)}
.faq__item{border-bottom:1px solid var(--line)}
.faq__item summary{
  list-style:none;cursor:pointer;padding:26px 52px 26px 44px;position:relative;
  font-family:var(--serif);font-size:clamp(15px,1.7vw,18px);color:var(--ink);line-height:1.8;
  transition:color .3s var(--ease);letter-spacing:.03em;
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary:hover{color:var(--gold-deep)}
.faq__item summary::before{
  content:"Q";position:absolute;left:0;top:25px;font-family:var(--en);font-size:22px;color:var(--gold);line-height:1;
}
.faq__item summary::after{
  content:"";position:absolute;right:12px;top:50%;width:13px;height:13px;
  border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);
  transform:translateY(-70%) rotate(45deg);transition:transform .35s var(--ease);
}
.faq__item[open] summary::after{transform:translateY(-25%) rotate(-135deg)}
.faq__a{padding:0 52px 28px 44px;position:relative;animation:faqOpen .4s var(--ease)}
.faq__a::before{content:"A";position:absolute;left:0;top:-2px;font-family:var(--en);font-size:22px;color:var(--gold-pale);line-height:1}
.faq__a p{font-size:14.5px;line-height:2.15}
@keyframes faqOpen{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* ── Contact ────────────────────────────────────────────── */
.sec--contact{background:var(--dark);color:rgba(255,255,255,.8);isolation:isolate;overflow:hidden}
.contact__bg{position:absolute;inset:0;z-index:-2}
.contact__bg img{width:100%;height:100%;object-fit:cover;opacity:.18;filter:grayscale(.3)}
.sec--contact::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(35,30,25,.82),rgba(35,30,25,.94))}
.contact__tel{text-align:center;margin-bottom:46px;padding-bottom:42px;border-bottom:1px solid rgba(255,255,255,.14)}
.contact__tel-label{font-size:12.5px;letter-spacing:.2em;color:var(--gold-pale);margin-bottom:10px}
.contact__tel-num{
  font-family:var(--en);font-size:clamp(34px,5vw,52px);color:#fff;letter-spacing:.04em;line-height:1.2;
  display:inline-block;transition:color .3s var(--ease);
}
.contact__tel-num:hover{color:var(--gold-pale)}
.contact__tel-note{font-size:12.5px;color:rgba(255,255,255,.55);margin-top:10px;letter-spacing:.06em}

.form{display:flex;flex-direction:column;gap:22px}
.form__grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.form__row{display:flex;flex-direction:column;gap:9px;border:0;padding:0;margin:0;min-width:0}
.form__row label,.form__row legend{
  font-size:13px;letter-spacing:.1em;color:rgba(255,255,255,.88);display:flex;align-items:center;gap:10px;padding:0;
}
.form__row legend small{font-size:11px;color:rgba(255,255,255,.45);letter-spacing:.06em}
.req{font-size:10px;letter-spacing:.1em;background:var(--gold);color:#fff;padding:3px 8px;line-height:1;border-radius:1px}
.form input[type=text],.form input[type=tel],.form input[type=email],.form select,.form textarea{
  width:100%;padding:15px 18px;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.2);border-radius:2px;color:#fff;
  font-family:var(--sans);font-size:15px;line-height:1.7;transition:.3s var(--ease);
}
.form textarea{resize:vertical;min-height:120px}
.form ::placeholder{color:rgba(255,255,255,.3)}
.form input:focus,.form select:focus,.form textarea:focus{
  outline:none;border-color:var(--gold-light);background:rgba(255,255,255,.1);
  box-shadow:0 0 0 3px rgba(172,137,91,.22);
}
.form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gold-light) 50%),linear-gradient(135deg,var(--gold-light) 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 15px) 50%;background-size:7px 7px;background-repeat:no-repeat}
.form select option{background:var(--dark);color:#fff}
.form__checks{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 20px;margin-top:4px}
.form__checks label{font-size:13.5px;color:rgba(255,255,255,.75);cursor:pointer;letter-spacing:.03em;align-items:flex-start;line-height:1.7}
.form__checks input{accent-color:var(--gold);width:16px;height:16px;margin-top:4px;flex-shrink:0}
.form__agree{display:flex;align-items:flex-start;gap:11px;font-size:13.5px;color:rgba(255,255,255,.75);cursor:pointer;line-height:1.8;justify-content:center;flex-wrap:wrap}
.form__agree input{accent-color:var(--gold);width:16px;height:16px;margin-top:5px;flex-shrink:0}
.form__agree .u{
  /* button 要素なので、ブラウザ既定の枠・背景・余白を消してテキストリンクに見せる */
  appearance:none;background:none;border:0;padding:0;margin:0;
  font:inherit;color:var(--gold-pale);cursor:pointer;
  text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;
  transition:color .3s var(--ease);
}
.form__agree .u:hover{color:#fff}
.form__agree .req{margin-left:8px}
.form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form__note{text-align:center;font-size:13px;letter-spacing:.06em;color:var(--gold-pale);min-height:1.5em}
.form button[disabled]{opacity:.6;cursor:progress}

/* ── 入力エラー（どの項目が・何が不備かを個別に出す）───────── */
.form__summary{
  background:rgba(216,120,95,.14);border:1px solid rgba(232,160,140,.55);
  border-left:3px solid #e8a08c;padding:16px 20px;border-radius:2px;
  font-size:13.5px;line-height:1.9;color:#f6cfc4;letter-spacing:.03em;
}
.form__summary:focus{outline:2px solid #e8a08c;outline-offset:3px}
.form__summary b{color:#fff;font-weight:500}
.form__err{
  font-size:12.5px;line-height:1.75;color:#eeae9c;letter-spacing:.03em;
  display:flex;align-items:flex-start;gap:7px;margin-top:-2px;
}
.form__err::before{
  content:"!";flex:none;width:15px;height:15px;border-radius:50%;
  background:#e8a08c;color:#3a2a25;font-size:10px;font-weight:700;
  display:grid;place-content:center;margin-top:3px;line-height:1;
}
.form__err--center{justify-content:center}
/* display:flex は [hidden] の display:none を上書きしてしまうので明示的に戻す */
.form__err[hidden]{display:none}
.form__row--agree{gap:12px}
.form__note.is-err{color:#e8a08c}
.form .is-invalid{border-color:#e8a08c !important;box-shadow:0 0 0 3px rgba(232,160,140,.18) !important}

/* ── Modal（送信完了 / 個人情報の取り扱い）────────────────── */
.modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px}
.modal[hidden]{display:none}
.modal__overlay{position:absolute;inset:0;background:rgba(26,22,18,.72);backdrop-filter:blur(5px);animation:mFade .3s var(--ease)}
.modal__panel{
  position:relative;background:#fff;width:min(100%,560px);max-height:calc(100svh - 48px);
  display:flex;flex-direction:column;border-radius:2px;
  box-shadow:0 40px 90px -30px rgba(26,22,18,.7);
  animation:mUp .42s var(--ease);
}
@keyframes mFade{from{opacity:0}to{opacity:1}}
@keyframes mUp{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}
.modal__panel::before{content:"";position:absolute;inset:0;border:1px solid var(--gold-pale);margin:9px;pointer-events:none;opacity:.7}
.modal__x{
  position:absolute;right:10px;top:10px;width:42px;height:42px;border:0;background:none;
  z-index:2;border-radius:50%;transition:background .3s var(--ease);
}
.modal__x:hover{background:var(--cream)}
.modal__x::before,.modal__x::after{
  content:"";position:absolute;left:13px;top:20px;width:16px;height:1.5px;background:var(--ink);
}
.modal__x::before{transform:rotate(45deg)}
.modal__x::after{transform:rotate(-45deg)}
.modal__title{font-size:clamp(21px,2.6vw,27px);letter-spacing:.05em;line-height:1.5}

/* 送信完了 */
.modal__panel--done{text-align:center;padding:clamp(40px,6vw,56px) clamp(26px,5vw,48px) clamp(34px,5vw,46px)}
.modal__mark{position:relative;width:96px;height:96px;margin:0 auto 24px}
.modal__mark img{width:100%;height:100%;object-fit:contain;opacity:.4}
.modal__check{position:absolute;inset:0;display:grid;place-items:center}
.modal__check::before{
  content:"";width:30px;height:16px;border-left:2.5px solid var(--gold-deep);border-bottom:2.5px solid var(--gold-deep);
  transform:rotate(-45deg) translate(2px,-4px);
  animation:mCheck .5s var(--ease) .25s both;transform-origin:center;
}
@keyframes mCheck{from{opacity:0;transform:rotate(-45deg) translate(2px,-4px) scale(.4)}to{opacity:1;transform:rotate(-45deg) translate(2px,-4px) scale(1)}}
.modal__panel--done .modal__title{margin-bottom:18px}
.modal__text{font-size:15px;line-height:2.1;color:var(--body)}
.modal__text b{color:var(--ink);font-weight:500;background:linear-gradient(transparent 66%,var(--gold-pale) 66%)}
.modal__sub{margin-top:22px;padding-top:22px;border-top:1px solid var(--line);font-size:13px;line-height:1.95;color:var(--muted)}
.modal__tel{
  display:inline-block;margin-top:8px;font-family:var(--en);font-weight:500;
  font-size:clamp(28px,4.4vw,36px);color:var(--ink);letter-spacing:.03em;line-height:1.3;
  transition:color .3s var(--ease);
}
.modal__tel:hover{color:var(--gold-deep)}
.modal__telnote{font-size:12px;color:var(--muted);letter-spacing:.08em;margin-bottom:28px}

/* 規約などの長文 */
.modal__panel--doc{width:min(100%,760px);text-align:left}
.modal__head{padding:clamp(32px,5vw,44px) clamp(24px,4vw,44px) 22px;border-bottom:1px solid var(--line);flex:none}
.modal__head .eyebrow{margin-bottom:10px;font-size:11.5px}
.modal__body{
  overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  padding:28px clamp(24px,4vw,44px) 34px;flex:1 1 auto;
}
.modal__body::-webkit-scrollbar{width:9px}
.modal__body::-webkit-scrollbar-thumb{background:var(--gold-pale);border-radius:9px}
.modal__body::-webkit-scrollbar-track{background:var(--cream-soft)}
.doc__intro{font-size:14px;line-height:2.1;padding-bottom:24px;margin-bottom:6px;border-bottom:1px solid var(--line)}
.modal__body h3{
  font-size:16px;letter-spacing:.05em;margin:28px 0 12px;padding-left:14px;position:relative;line-height:1.6;
}
.modal__body h3::before{content:"";position:absolute;left:0;top:.38em;width:4px;height:1em;background:var(--gold)}
.modal__body p{font-size:14px;line-height:2.1}
.modal__body ul{margin-top:12px;display:flex;flex-direction:column;gap:9px}
.modal__body ul li{position:relative;padding-left:20px;font-size:13.5px;line-height:1.95}
.modal__body ul li::before{content:"";position:absolute;left:4px;top:.82em;width:5px;height:5px;border-radius:50%;background:var(--gold-pale)}
.doc__contact{margin-top:16px;border:1px solid var(--line);background:var(--cream-soft)}
.doc__contact>div{display:flex;gap:16px;padding:12px 18px;border-bottom:1px solid var(--line);font-size:13.5px}
.doc__contact>div:last-child{border-bottom:0}
.doc__contact dt{flex:none;width:6em;color:var(--gold-deep);letter-spacing:.08em}
.doc__contact dd{margin:0;color:var(--ink)}
.modal__foot{padding:20px clamp(24px,4vw,44px) clamp(24px,4vw,34px);border-top:1px solid var(--line);text-align:center;flex:none}

body.is-locked{overflow:hidden}

/* ── Footer ─────────────────────────────────────────────── */
.ftr{background:#252119;color:rgba(255,255,255,.6);padding:72px 0 0;font-size:13.5px}
.ftr__top{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(34px,5vw,72px);padding-bottom:54px}
.ftr__brand{position:relative}
.ftr__logo{width:230px;filter:brightness(0) invert(1);opacity:.92}
.ftr__tagline{font-family:var(--serif);font-size:13px;letter-spacing:.2em;color:var(--gold-pale);margin-top:16px}
.ftr__bird{width:86px;margin-top:26px;opacity:.9}
.ftr__info{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1)}
.ftr__info>div{background:#252119;padding:15px 20px;display:flex;flex-direction:column;gap:4px}
.ftr__info>div:nth-last-child(-n+2){grid-column:1/-1}
.ftr__info dt{font-size:11px;letter-spacing:.16em;color:var(--gold-pale)}
.ftr__info dd{font-size:13.5px;color:rgba(255,255,255,.82);line-height:1.8;margin:0}
.ftr__bottom{border-top:1px solid rgba(255,255,255,.1);padding:22px 0 100px;display:flex;flex-wrap:wrap;gap:16px 30px;align-items:center;justify-content:space-between}
.ftr__copy{font-family:var(--en);font-size:12px;letter-spacing:.14em;color:rgba(255,255,255,.4)}
.ftr__nav{display:flex;flex-wrap:wrap;gap:8px 22px}
.ftr__nav a{font-size:12.5px;color:rgba(255,255,255,.6);transition:color .3s var(--ease)}
.ftr__nav a:hover{color:var(--gold-pale)}

/* ── Sticky CTA ─────────────────────────────────────────── */
.sticky-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:90;display:flex;gap:1px;
  background:rgba(255,255,255,.14);transform:translateY(110%);transition:transform .45s var(--ease);
  box-shadow:0 -10px 30px -20px rgba(0,0,0,.6);
}
.sticky-cta.is-show{transform:none}
.sticky-cta__tel,.sticky-cta__btn{
  flex:1;display:flex;align-items:center;justify-content:center;gap:8px;
  padding:17px 10px;font-size:14px;font-weight:500;letter-spacing:.06em;
}
.sticky-cta__tel{background:#332e28;color:#fff;flex:0 0 38%}
.sticky-cta__tel::before{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.2.4 2.4.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.4 0 .8-.2 1l-2.3 2.2z'/%3E%3C/svg%3E") center/contain no-repeat}
.sticky-cta__btn{background:var(--gold);color:#fff}

/* ═══ Responsive ═══════════════════════════════════════════ */
/* ヘッダーはロゴ＋事業名が大きい分、本文より早くハンバーガーへ切り替える
   （1100px だとナビが2行に折れるため 1240px で切り替え） */
@media (max-width:1240px){
  .hdr__nav{display:none}
  .hdr__cta{display:none}
  /* ナビとCTAが消える幅では、ハンバーガーを右端に寄せる */
  .hdr__burger{display:flex;margin-left:auto}
  .hdr__nav.is-open,
  .hdr.is-open .hdr__nav{
    display:flex;flex-direction:column;gap:0;position:fixed;inset:var(--hdr-h) 0 auto;
    background:#fff;padding:14px 24px 26px;border-bottom:1px solid var(--line);
    box-shadow:0 20px 40px -26px rgba(43,39,35,.6);margin:0;
  }
  .hdr.is-open .hdr__nav a{color:var(--ink);text-shadow:none;padding:16px 0;border-bottom:1px solid var(--line);font-size:15px}
  .hdr.is-open .hdr__nav a::after{display:none}
  .hdr.is-open .hdr__nav::after{content:"見学・ご相談はこちら →";display:block;margin-top:18px;background:var(--gold);color:#fff;text-align:center;padding:16px;font-size:14px;letter-spacing:.08em}
}

@media (max-width:1100px){
  .reason{grid-template-columns:1fr;gap:28px}
  .reason--rev{direction:ltr}
  .reason__media{order:-1}
  .msg{grid-template-columns:1fr;gap:34px}
  .msg__media{max-width:340px;margin-inline:auto}
  .cards{grid-template-columns:repeat(2,1fr)}
  .scale__grid{grid-template-columns:repeat(2,1fr)}
  .formats__grid{grid-template-columns:repeat(2,1fr)}
  .nums{grid-template-columns:repeat(2,1fr)}
  .voices{grid-template-columns:1fr}
  .voice{padding:42px 26px 26px}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .gallery__item--wide{grid-column:span 2}
  .gallery__label{flex-direction:column;gap:16px}
  .ftr__top{grid-template-columns:1fr}
}

@media (max-width:820px){
  .cases{grid-template-columns:1fr}
  .hero__stats{grid-template-columns:repeat(2,1fr)}
  .hero__stat{border-left:0;border-top:1px solid rgba(255,255,255,.16)}
  .hero__stat:nth-child(2){border-left:1px solid rgba(255,255,255,.16)}
  .hero__stat:nth-child(4){border-left:1px solid rgba(255,255,255,.16)}
  .hero__stat:nth-child(-n+2){border-top:0}
}

@media (max-width:680px){
  :root{--hdr-h:62px}
  body{font-size:15px;line-height:1.95}
  .pc{display:none}
  .sp{display:inline}
  .wrap,.wrap--narrow{width:calc(100% - 32px)}
  .hdr__logo{flex-direction:column;align-items:flex-start;gap:5px}
  .hdr__logo img{width:168px}
  .hdr__logo-sub{font-size:10px;letter-spacing:.14em;padding-left:0;border-left:0}
  .hero{min-height:88svh;padding:calc(var(--hdr-h) + 56px) 0 0;justify-content:flex-end}
  .hero::before{background:linear-gradient(180deg,rgba(32,27,22,.78) 0%,rgba(32,27,22,.42) 34%,rgba(32,27,22,.74) 62%,rgba(32,27,22,.9) 100%)}
  .hero__media img{object-position:center 30%}
  .hero__inner{padding-bottom:30px}
  .hero .eyebrow{font-size:9.5px;letter-spacing:.22em}
  .hero__title{font-size:27px;line-height:1.55;margin:14px 0 18px}
  .hero__lead{font-size:13px;line-height:1.95}
  .hero__scope{margin-top:20px;gap:10px 12px}
  .hero__scope-tags{gap:6px}
  .hero__scope-tags span{font-size:12px;padding:6px 10px 7px}
  .hero__scope-text{font-size:13px;line-height:1.85}
  .hero__cta{flex-direction:column;align-items:stretch;gap:11px;margin-top:26px}
  .hero__cta .btn{width:100%;padding:17px 20px;font-size:15px}
  .hero__stats{grid-template-columns:1fr 1fr}
  .hero__stat{padding:16px 16px}
  .hero__scroll{display:none}
  .sec{padding:64px 0}
  .sec--cream::before,.sec--dark::before{width:200px;height:200px;right:-50px;top:-40px}
  .problems{grid-template-columns:1fr}
  .problems li{padding:22px 20px 22px 62px;font-size:15px}
  .problems__no{left:22px;top:22px;font-size:17px}
  .problems li::after{left:22px;bottom:18px}
  .nums{grid-template-columns:1fr}
  .num{padding:26px 22px}
  .growth__list li{grid-template-columns:48px 1fr;grid-template-areas:"y b" ". v";gap:8px 12px}
  .growth__year{grid-area:y}
  .growth__bar{grid-area:b}
  .growth__val{grid-area:v;white-space:normal;font-size:14px}
  .cards{grid-template-columns:1fr}
  .card{padding:28px 24px}
  .scale__grid{grid-template-columns:1fr}
  .formats__grid{grid-template-columns:1fr;gap:12px}
  .formats__item{padding:22px 22px 24px}
  .case__body{padding:24px 22px 28px}
  .gallery{grid-template-columns:1fr}
  .gallery__item--wide{grid-column:span 1}
  .gallery__label{padding:40px 0 20px}
  .gallery__step{font-size:12px;padding:8px 14px}
  .gallery__label-text{font-size:13.5px;line-height:2}
  .flow::before{left:26px}
  .flow__step{padding:0 0 34px 72px}
  .flow__no{width:54px;height:54px;font-size:20px}
  .flow__no span{font-size:8px;letter-spacing:.18em}
  .flow__title{padding-top:2px;font-size:19px}
  .flow__title small{display:block;margin-left:0;margin-top:4px}
  .faq__item summary{padding:20px 40px 20px 34px;font-size:15.5px}
  .faq__item summary::before{font-size:18px;top:20px}
  .faq__a{padding:0 12px 22px 34px}
  .faq__a::before{font-size:18px}
  .form__grid{grid-template-columns:1fr}
  .form__checks{grid-template-columns:1fr}
  .modal{padding:14px}
  .modal__panel{max-height:calc(100svh - 28px)}
  .modal__panel--done{padding:40px 22px 30px}
  .modal__mark{width:78px;height:78px;margin-bottom:18px}
  .modal__text{font-size:14px}
  .modal__body h3{font-size:15px;margin-top:24px}
  .msg__body .sec__title{font-size:24px}
  .ftr{padding-top:54px}
  .ftr__info{grid-template-columns:1fr}
  .ftr__info>div:nth-last-child(-n+2){grid-column:auto}
  .ftr__bottom{padding-bottom:88px}
}
