@charset "UTF-8";
/* ============================================================
   home.css — トップページ専用
   既存 style.css は一切変更しない。全セレクタを .home 配下に
   スコープして、下層148ページに影響させない。
   ============================================================ */

.home{
  /* --- color ------------------------------------------------ */
  --white:#fff;           /* 主要な読み面（ハレヤカ同様、白を基調に） */
  --ivory:#faf8f4;        /* ページ地：白に近い温かいアイボリー */
  --paper:#f3f0e8;        /* 交互配置のセクション地（ハレヤカ --color-paper） */
  --sand:#e9e1d3;         /* 第3のニュートラル。単調さを避ける */

  --ink:#17201f;          /* 見出し（ハレヤカ --color-ink） */
  --ink-deep:#111917;     /* フッター */
  --body:#3a3f3e;         /* 本文（ハレヤカ --color-text）白地で9.7:1 */
  --muted:#5c6260;        /* 補足（ハレヤカ --color-muted）*/
  --line:#dce2df;         /* 罫線（ハレヤカ --color-line）*/

  --terra:#c0622a;
  --terra-dark:#a4501f;
  --terra-lite:#e8996a;   /* 暗い地の上で使う明るいテラコッタ */
  --terra-soft:#f6ece2;

  --sage:#2f6a5c;
  --sage-deep:#27584c;
  --sage-soft:#dfe9e4;
  --sage-pale:#eef4f1;

  --on-dark:#dbe4e0;
  --on-dark-mute:#9fb0aa;

  /* --- type -------------------------------------------------
     ゴシックが基本。明朝はキャッチコピー（大見出し・引用）だけに使う。
     ナビ・カード・小見出し・本文・数字は全てゴシック。          */
  --sans:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",sans-serif;
  --catch:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;

  /* --- layout ----------------------------------------------- */
  --wrap:1180px;                          /* ハレヤカ --container */
  --sp:clamp(56px,7vw,94px);             /* セクション余白を可変に */
  --r-s:10px; --r-m:22px; --r-l:34px;     /* ハレヤカの角丸スケール */
  --shadow:0 28px 80px rgb(20 38 34 / .12);   /* 広く薄い影 */
  --shadow-sm:0 8px 32px rgb(20 38 34 / .08);
  --hd-h:74px;

  background:var(--white);   /* 基調は白。読み面を最も明るく保つ */
  color:var(--body);
  font-family:var(--sans);
  font-size:18px;
  line-height:1.8;
  letter-spacing:.02em;   /* 日本語をわずかに開く。ハレヤカと同値 */
  margin:0;
  -webkit-font-smoothing:antialiased;
}

.home img{max-width:100%;display:block;height:auto}
.home h1,.home h2,.home h3{
  font-family:var(--sans);color:var(--ink);font-weight:700;
  line-height:1.45;letter-spacing:-.02em;text-wrap:balance;margin:0;
}
.home p,.home ul,.home ol,.home figure,.home blockquote,.home table{margin:0;padding:0}
.home li{list-style:none}
.home em{font-style:normal;color:var(--terra)}
.home a:focus-visible,.home button:focus-visible{outline:3px solid var(--terra);outline-offset:3px}

.home .wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:30px}
.home .sec{padding-block:var(--sp)}
.home .sec--ivory{background:var(--ivory)}
.home .sec--paper{background:var(--paper)}
.home .sec--sand{background:var(--sand)}
.home .sec--sage{background:var(--sage-pale)}
.home .sec__head{display:grid;grid-template-columns:1.22fr .78fr;gap:56px;align-items:end}
.home .sec__note{font-size:1.03rem;color:var(--muted);max-width:32em}
.home .eyebrow{font-size:0.86rem;letter-spacing:.12em;color:var(--terra);font-weight:700;margin-bottom:14px}
.home .eyebrow--on-dark{color:var(--terra-lite)}
.home .ai .eyebrow{color:var(--terra)}
.home .h2{font-family:var(--catch);font-weight:600;font-size:clamp(1.5rem,2.8vw,2.15rem);
  letter-spacing:-.015em;line-height:1.62;text-wrap:normal}
.home .lead{max-width:34em;font-size:1.03rem;margin-top:16px}
.home .more{margin-top:32px}
.home .more a{color:var(--sage);font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}

/* ---------- buttons ---------- */
.home .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:56px;padding-inline:32px;border-radius:999px;
  font-family:var(--sans);font-weight:700;font-size:1.03rem;
  text-decoration:none;border:1.5px solid transparent;cursor:pointer;
  transition:background .18s,color .18s,border-color .18s;
}
.home .btn--pri{background:var(--terra);color:#fff}
.home .btn--pri:hover{background:var(--terra-dark)}
.home .btn--line{background:#fff;color:var(--sage);border-color:var(--sage)}
.home .btn--line:hover{background:var(--sage-soft)}
.home .btn--on-dark{background:transparent;color:#fff;border-color:rgb(255 255 255 / .55)}
.home .btn--on-dark:hover{background:rgb(255 255 255 / .12)}
.home .btn--ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.home .btn--ghost:hover{border-color:var(--ink)}
.home .btn--sm{min-height:48px;padding-inline:24px;font-size:0.97rem}

/* ---------- header ---------- */
.home .hd{position:sticky;top:0;z-index:60;background:rgb(255 255 255 / .92);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.home .hd__in{max-width:var(--wrap);margin-inline:auto;padding-inline:30px;
  height:var(--hd-h);display:flex;align-items:center;gap:26px}
.home .hd__logo{flex-shrink:0;display:flex;align-items:center;gap:11px;text-decoration:none}
.home .hd__logo img{height:33px;width:auto}
.home .hd__branch{font-size:0.8rem;font-weight:700;color:var(--ink);letter-spacing:.04em;
  padding-left:11px;border-left:1px solid var(--line);line-height:1.2;white-space:nowrap;transform:translateY(3.8px)}
.home .hd__nav{margin-left:auto;display:flex;gap:24px;font-size:0.95rem}
.home .hd__nav a{color:var(--ink);text-decoration:none;padding-block:7px;border-bottom:2px solid transparent}
.home .hd__nav a:hover{border-bottom-color:var(--terra)}
.home .hd__tel{text-align:right;line-height:1.2;margin-left:6px}
.home .hd__tel a{display:block;font-size:1rem;color:var(--body);font-weight:600;text-decoration:none;letter-spacing:.01em}
.home .hd__burger{display:none;width:44px;height:44px;background:none;border:0;padding:11px;cursor:pointer}
.home .hd__burger span{display:block;height:2px;background:var(--ink);margin-block:4px;border-radius:2px;transition:.2s}

/* ---------- hero ---------- */
.home .hero{padding-top:60px;overflow:hidden}
.home .hero__grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:54px;align-items:center}
.home .hero__badge{display:inline-flex;align-items:center;gap:9px;font-size:0.8rem;color:var(--sage);
  border:1px solid var(--sage-soft);background:#fff;border-radius:999px;padding:6px 16px;margin-bottom:28px}
.home .hero__badge i{width:6px;height:6px;border-radius:50%;background:var(--terra)}
.home .hero__sub{font-size:1rem;color:var(--muted);margin-bottom:14px;line-height:1.7;letter-spacing:.04em}
.home .hero__ttl{font-family:var(--catch);font-weight:600;font-size:clamp(1.95rem,3.9vw,2.95rem);
  line-height:1.5;letter-spacing:-.02em;text-wrap:normal}
.home .hero__lead{margin:30px 0 34px;max-width:25em}
.home .hero__cta{display:flex;gap:13px;flex-wrap:wrap}
.home .hero__micro{font-size:0.88rem;color:var(--muted);margin-top:12px;padding-left:2px}
.home .hero__figs{position:relative}
.home .hero__fig{border-radius:var(--r-l) var(--r-l) var(--r-l) 96px;overflow:hidden;
  box-shadow:var(--shadow)}
.home .hero__fig img{width:100%;height:clamp(340px,45vw,500px);object-fit:cover}
.home .hero__note{position:absolute;right:22px;bottom:20px;background:rgb(255 255 255 / .93);
  backdrop-filter:blur(6px);border-radius:999px;padding:9px 20px;box-shadow:0 4px 16px rgb(20 38 34 / .14);
  display:flex;align-items:baseline;gap:7px;white-space:nowrap}
.home .hero__note b{display:block;color:var(--terra);font-size:1.5rem;line-height:1.2}

/* ---------- facts ---------- */
.home .facts{margin-top:62px;border-block:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}
.home .facts li{padding:30px 24px;text-align:center;border-right:1px solid var(--line)}
.home .facts li:last-child{border-right:0}
.home .facts b{display:block;font-size:1.24rem;color:var(--ink);font-weight:700;line-height:1.45;letter-spacing:-.02em}
.home .facts span{font-size:0.88rem;color:var(--muted)}

/* ---------- troubles ---------- */
.home .tr{display:grid;grid-template-columns:1.08fr .92fr;gap:60px;align-items:start}
.home .tr__note{margin-top:24px;font-size:1.03rem;color:var(--muted);max-width:26em}
.home .tr__list{border-top:1px solid var(--line)}
.home .tr__list li{padding:18px 0 18px 34px;border-bottom:1px solid var(--line);position:relative;font-size:1rem}
.home .tr__list li::before{content:"";position:absolute;left:4px;top:29px;width:14px;height:1.5px;background:var(--terra)}

/* ---------- scene（ダークバンド） ---------- */
.home .scene{background:var(--ink);color:var(--on-dark);
  display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,90px);align-items:center}
.home .scene__fig{height:clamp(400px,52vw,620px);border-radius:0 var(--r-l) var(--r-l) 0;overflow:hidden}
.home .scene__fig img{width:100%;height:100%;object-fit:cover}
.home .scene__body{padding:78px 60px 78px 0;max-width:34em}
.home .scene__ttl{font-family:var(--catch);font-weight:600;color:#fff;font-size:clamp(1.55rem,2.9vw,2.25rem);letter-spacing:-.015em;line-height:1.62}
.home .scene__ttl em{color:var(--terra-lite)}
.home .scene__lead{margin-top:30px;color:var(--on-dark)}
.home .scene__q{margin-top:38px;padding:26px 0 0 28px;border-top:1px solid rgb(255 255 255 / .22);
  border-left:3px solid var(--terra);font-family:var(--catch);font-weight:600;font-size:1.2rem;line-height:1.95;color:#fff}

/* ---------- can do ---------- */
.home .cd{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px}
.home .cd__item{background:var(--ivory);border:1px solid var(--line);border-radius:var(--r-m);
  padding:32px 30px;display:flex;flex-direction:column;gap:13px}
.home .cd__item--sage{background:var(--sage-soft);border-color:#cfded7}
.home .cd__item--cream{background:var(--sand);border-color:#ddd2be}
.home .cd__tag{display:flex;align-items:baseline;gap:12px;font-size:0.8rem;color:var(--terra);
  font-weight:700;letter-spacing:.1em}
.home .cd__no{font-size:1.25rem;letter-spacing:0}
.home .cd__item h3{font-size:1.34rem;line-height:1.5;letter-spacing:-.03em}
.home .cd__can{font-size:1rem}
.home .cd__can b{color:var(--ink);font-weight:600}
.home .cd__foot{margin-top:auto;padding-top:20px;display:flex;justify-content:space-between;
  align-items:baseline;gap:14px;border-top:1px solid rgb(23 32 31 / .14);font-size:0.94rem;color:var(--muted)}
.home .cd__foot a{color:var(--sage);font-weight:700;text-decoration:none;white-space:nowrap}
.home .cd__foot a::after{content:" →"}
.home .cd__foot a:hover{text-decoration:underline}

.home .mini{display:grid;grid-template-columns:1fr 1fr;margin-top:20px;border:1px solid var(--line);background:var(--ivory)}
.home .mini div{padding:26px 30px;display:grid;grid-template-columns:150px 1fr auto;gap:22px;align-items:baseline}
.home .mini div+div{border-left:1px solid var(--line)}
.home .mini b{color:var(--ink);font-size:0.98rem}
.home .mini span{font-size:0.97rem;color:var(--muted)}
.home .mini a{color:var(--terra);font-weight:700;text-decoration:none;white-space:nowrap}
.home .mini a::after{content:" →"}

/* ---------- AI band ---------- */
.home .ai{background:var(--sand);color:var(--body);
  display:grid;grid-template-columns:.95fr 1.05fr;align-items:center}
.home .ai__body{padding:74px 60px 74px max(30px,calc((100vw - var(--wrap))/2 + 30px));max-width:none}
.home .ai__ttl{font-family:var(--catch);font-weight:600;color:var(--ink);font-size:clamp(1.5rem,2.8vw,2.15rem);letter-spacing:-.015em;line-height:1.62}
.home .ai__lead{margin-top:28px;max-width:30em}
.home .ai__tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:30px}
.home .ai__tags li{background:#fff;border:1px solid #ddd2be;border-radius:999px;padding:8px 18px;font-size:0.92rem;color:var(--sage)}
.home .ai__cta{margin-top:32px}
.home .ai__cta a{color:var(--terra);font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px}
.home .ai__cta a::after{content:" →"}
.home .ai__fig{height:clamp(380px,48vw,560px)}
.home .ai__fig img{width:100%;height:100%;object-fit:cover}

/* ---------- features ---------- */
.home .ft{display:grid;grid-template-columns:1fr 1fr;gap:0 56px;margin-top:52px;
  border-top:1px solid var(--line)}
.home .ft__row{display:flex;gap:20px;align-items:flex-start;padding:30px 0;border-bottom:1px solid var(--line)}
.home .ft__num{font-size:1.35rem;color:var(--terra);line-height:1.3;flex-shrink:0}
.home .ft__row h3{font-size:1.08rem;margin-bottom:7px}
.home .ft__row p{font-size:0.98rem;color:var(--muted)}
.home .ft__strip{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:40px}
.home .ft__strip li{padding-top:22px;border-top:2px solid var(--sage-soft)}
.home .ft__strip h3{font-size:1rem;margin-bottom:7px}
.home .ft__strip p{font-size:0.95rem;color:var(--muted)}

/* ---------- community tags ---------- */
.home .cmt{display:flex;flex-wrap:wrap;gap:9px;margin-top:36px}
.home .cmt li{border:1px solid #c9d6d0;color:var(--sage);border-radius:999px;padding:8px 19px;font-size:0.92rem}

/* ---------- gallery / TODO ---------- */
.home .gal{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:20px;margin-top:36px}
.home .todo{border:1.5px dashed #c4b6a3;border-radius:var(--r-m);
  background:repeating-linear-gradient(45deg,#f6f1e9 0 11px,#f2ebe0 11px 22px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  padding:34px 24px;text-align:center;color:#87765f;min-height:200px}
.home .todo b{font-size:0.85rem;letter-spacing:.06em;color:var(--terra-dark)}
.home .todo span{font-size:0.92rem;line-height:1.65;max-width:26em}
.home .todo--lg{min-height:300px}
.home .todo--tall{min-height:430px}
.home .todo--sm{min-height:150px}
.home .todo--ok{border-color:#bcd2c8;background:#e9f1ed;color:var(--sage)}
.home .todo--ok b{color:var(--sage)}

/* ---------- voice ---------- */
.home .vo{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px}
.home .vo__card{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--terra);border-radius:var(--r-m);
  padding:38px 34px;display:flex;flex-direction:column;gap:18px}
.home .vo__card blockquote{font-family:var(--catch);font-weight:600;font-size:1.05rem;line-height:2.1;color:var(--ink);
  position:relative;padding-top:20px}
.home .vo__card blockquote::before{content:"\201C";position:absolute;top:-4px;left:-4px;
  font-size:3rem;color:var(--sage-soft);line-height:1}
.home .vo__card figcaption{margin-top:auto;padding-top:20px;border-top:1px solid var(--line);
  font-size:0.92rem;color:var(--muted);display:flex;align-items:center;gap:11px}
.home .vo__ini{width:34px;height:34px;border-radius:50%;background:var(--sage-pale);color:var(--sage);
  display:grid;place-items:center;font-weight:700;font-size:0.88rem}

/* ---------- staff ---------- */
.home .st{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start;margin-top:38px}
.home .st__list{display:flex;flex-direction:column;gap:22px}
.home .st__row{display:flex;gap:20px;align-items:flex-start;padding-bottom:22px;border-bottom:1px solid var(--line)}
.home .st__row:last-child{border-bottom:0;padding-bottom:0}
.home .st__av{width:54px;height:54px;border-radius:50%;background:var(--sage-pale);flex-shrink:0;
  display:grid;place-items:center;color:var(--sage);font-size:1.08rem}
.home .st__row h3{font-size:1.06rem;display:flex;align-items:baseline;gap:10px}
.home .st__row h3 small{font-size:0.83rem;font-weight:400;color:var(--muted);font-weight:400}
.home .st__role{font-size:0.88rem;color:var(--muted);margin:3px 0 8px}
.home .st__msg{font-size:1rem}

/* ---------- steps ---------- */
.home .sp{display:grid;grid-template-columns:repeat(3,1fr);margin-top:40px;border-top:1px solid var(--line)}
.home .sp__i{padding:32px 30px;border-left:1px solid var(--line)}
.home .sp__i:first-child{border-left:0;padding-left:0}
.home .sp__n{font-size:0.84rem;color:var(--terra);letter-spacing:.16em;margin-bottom:14px}
.home .sp__i h3{font-size:1.12rem;margin-bottom:9px}
.home .sp__i p{font-size:0.98rem;color:var(--muted)}

/* ---------- news ---------- */
.home .nw{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;margin-top:38px}
.home .nw__ev{display:flex;flex-direction:column;gap:18px}
.home .nw__evi{display:flex;gap:20px;align-items:flex-start;background:var(--ivory);
  border:1px solid var(--line);border-radius:var(--r-m);padding:22px 24px}
.home .nw__date{font-size:0.95rem;color:var(--terra);flex-shrink:0;padding-top:1px}
.home .nw__evi h3{font-size:1.02rem;margin-bottom:6px}
.home .nw__evi p{font-size:0.95rem;color:var(--muted)}
.home .nw__bli{padding-block:19px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.home .nw__bli:first-child{padding-top:0}
.home .nw__meta{font-size:0.85rem;color:var(--muted);display:flex;gap:12px;align-items:center}
.home .nw__cat{background:var(--sage-pale);color:var(--sage);border-radius:var(--r-s);
  padding:3px 11px;font-size:0.8rem;font-weight:700}
.home .nw__bli a{color:var(--ink);text-decoration:none;font-size:1.03rem;line-height:1.7}
.home .nw__bli a:hover{color:var(--terra)}

/* ---------- access ---------- */
.home .ac{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:38px;align-items:start}
.home .ac__tbl{width:100%;border-collapse:collapse;font-size:1.02rem}
.home .ac__tbl th{text-align:left;font-family:var(--sans);font-weight:600;color:var(--ink);
  width:112px;padding-block:16px;border-bottom:1px solid var(--line);vertical-align:top;font-size:0.97rem}
.home .ac__tbl td{padding-block:16px;border-bottom:1px solid var(--line)}
.home .ac__tbl a{color:var(--terra);text-decoration:none;font-weight:700}
.home .ac__side{display:flex;flex-direction:column;gap:20px}

/* ---------- final cta ---------- */
.home .finwrap{padding-inline:30px}
.home .fin{position:relative;border-radius:var(--r-l);overflow:hidden;max-width:var(--wrap);margin-inline:auto}
.home .fin img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.home .fin__ov{position:relative;padding:68px 60px;
  background:linear-gradient(100deg,rgb(23 32 31 / .94) 0%,rgb(23 32 31 / .84) 44%,rgb(23 32 31 / .30) 100%)}
.home .fin h2{font-family:var(--catch);font-weight:600;color:#fff;font-size:clamp(1.45rem,2.7vw,2.05rem);letter-spacing:-.015em;line-height:1.62;max-width:17em}
.home .fin p{color:var(--on-dark);margin:20px 0 34px;max-width:29em;font-size:1.05rem}
.home .fin__cta{display:flex;gap:15px;flex-wrap:wrap;align-items:center}
.home .fin__tel{color:#fff;text-decoration:none;font-size:0.92rem;padding-left:10px}
.home .fin__tel b{display:block;font-size:1.35rem;letter-spacing:.02em;line-height:1.4}
.home .fin__tel small{display:block;font-size:0.8rem;color:var(--on-dark-mute)}

/* ---------- footer ---------- */
.home .ft2{background:var(--ink-deep);color:#b6c4bf;padding:56px 0 30px;margin-top:88px;font-size:0.96rem}
.home .ft2__in{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px}
.home .ft2__logo{display:flex;align-items:center;gap:11px;margin-bottom:16px}
.home .ft2__logo img{height:32px;width:auto}
.home .ft2__logo span{font-size:0.8rem;font-weight:700;color:#fff;letter-spacing:.04em;
  padding-left:11px;border-left:1px solid rgb(255 255 255 / .28);white-space:nowrap;transform:translateY(3.7px)}
.home .ft2 h2{color:#fff;font-size:0.98rem;margin-bottom:14px;font-weight:600}
.home .ft2 a{color:#a8b8b2;text-decoration:none}
.home .ft2 nav a{display:block;padding-block:6px}
.home .ft2 a:hover{color:#fff}
.home .ft2__cp{margin-top:48px;padding-top:24px;border-top:1px solid rgb(255 255 255 / .13);
  font-size:0.8rem;color:#7f8e89}

/* ---------- SP fixed CTA ---------- */
.home .spcta{display:none}

/* ============================================================
   responsive
   ============================================================ */
@media (max-width:980px){
  .home .scene,.home .ai{grid-template-columns:1fr}
  .home .scene__fig{border-radius:0;height:clamp(320px,58vw,440px);order:-1}
  .home .scene__body{padding:64px 30px 76px}
  .home .ai__body{padding:70px 30px 76px}
  .home .ai__fig{height:clamp(320px,58vw,440px)}
  .home .cd{grid-template-columns:1fr}
  .home .cd__item{min-height:0}
  .home .sec__head{grid-template-columns:1fr;gap:22px;align-items:start}
  .home .ft{grid-template-columns:1fr;gap:0}
}
@media (max-width:900px){
  .home{font-size:16px}
  .home .sec{padding-block:72px}
  .home .hero{padding-top:52px}
  .home .hero__grid,.home .tr,.home .st,.home .nw,.home .ac{grid-template-columns:1fr;gap:38px}
  .home .ft__strip{grid-template-columns:1fr 1fr;gap:22px}
  .home .vo,.home .sp,.home .gal{grid-template-columns:1fr}
  .home .mini{grid-template-columns:1fr}
  .home .mini div{grid-template-columns:1fr;gap:8px}
  .home .mini div+div{border-left:0;border-top:1px solid var(--line)}
  .home .facts{grid-template-columns:1fr 1fr;margin-top:56px}
  .home .facts li:nth-child(2){border-right:0}
  .home .facts li:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .home .hero__note{position:static;margin-top:16px;justify-content:center;border-radius:999px}
  .home .hero__fig{border-radius:var(--r-l)}
  .home .fin__ov{padding:44px 28px}
  .home .fin__ov{background:linear-gradient(180deg,rgb(23 32 31 / .93),rgb(23 32 31 / .86))}
  .home .sp__i{border-left:0;border-bottom:1px solid var(--line);padding:28px 0}
  .home .sp__i:first-child{padding-top:28px}
  .home .ft2{padding-bottom:92px}
  .home .ft2__in{grid-template-columns:1fr;gap:30px}

  /* header → burger */
  .home .hd__tel,.home .hd__cta{display:none}
  .home .hd__branch{font-size:0.8rem;padding-left:9px}
  .home .hd__burger{display:block;margin-left:auto}
  .home .hd__nav{position:absolute;left:0;right:0;top:var(--hd-h);flex-direction:column;gap:0;
    background:var(--white);border-bottom:1px solid var(--line);padding:8px 30px 22px;display:none}
  .home .hd.is-open .hd__nav{display:flex}
  .home .hd__nav a{padding:15px 0;border-bottom:1px solid var(--line)}
  .home .hd.is-open .hd__burger span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .home .hd.is-open .hd__burger span:nth-child(2){opacity:0}
  .home .hd.is-open .hd__burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

  /* SP固定CTA */
  .home .spcta{display:flex;position:fixed;inset:auto 0 0 0;z-index:80;gap:8px;padding:9px 12px;
    background:rgb(255 255 255 / .97);border-top:1px solid var(--line);backdrop-filter:blur(8px)}
  .home .spcta .btn{flex:1;min-height:46px;border-radius:10px;font-size:0.86rem;padding-inline:10px}
  .home .spcta__tel{flex:0 0 54px;padding-inline:0}
}
@media (max-width:560px){
  .home .ft__strip{grid-template-columns:1fr}
  .home .hero__ttl{font-size:2.15rem}
  .home .scene__q{font-size:1.06rem;padding-left:20px}
}

@media (prefers-reduced-motion:reduce){
  .home *{animation:none !important;transition:none !important}
}


/* ---------- 中間CTA（ページ途中の申込導線） ---------- */
.home .midcta{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;
  background:var(--sage);color:#fff;border-radius:var(--r-l);padding:38px 46px;margin-top:56px}
.home .midcta__t{font-family:var(--catch);font-weight:600;font-size:clamp(1.2rem,2.1vw,1.6rem);
  color:#fff;line-height:1.6;letter-spacing:-.015em}
.home .midcta__n{font-size:0.95rem;color:#d5e5df;margin-top:8px}
.home .midcta__b{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.home .midcta .btn--pri{background:#fff;color:var(--sage)}
.home .midcta .btn--pri:hover{background:var(--sage-soft)}
.home .midcta .btn--line{background:transparent;color:#fff;border-color:rgb(255 255 255 / .6)}
.home .midcta .btn--line:hover{background:rgb(255 255 255 / .12)}

/* ---------- 生徒の声：大1件＋小2件 ---------- */
.home .vo{grid-template-columns:1.25fr 1fr;grid-auto-rows:auto}
.home .vo__card--lead{grid-row:span 2;justify-content:flex-start}
.home .vo__out{font-family:var(--catch);font-weight:600;font-size:clamp(1.15rem,1.9vw,1.5rem);
  color:var(--ink);line-height:1.6;letter-spacing:-.015em}
.home .vo__card--lead .vo__out{font-size:clamp(1.35rem,2.4vw,1.85rem)}
.home .vo__card--lead blockquote{font-size:1.05rem}
@media(max-width:900px){
  .home .vo{grid-template-columns:1fr}
  .home .vo__card--lead{grid-row:auto}
  .home .midcta{padding:28px 24px;gap:20px}
}


/* ---------- 教室の風景ギャラリー（実写） ---------- */
.home .gal__i{position:relative;border-radius:var(--r-m);overflow:hidden;margin:0}
.home .gal__i img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/10}
.home .gal__i--lg{grid-row:span 2}
.home .gal__i--lg img{aspect-ratio:auto;height:100%}
.home .gal__i figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 16px 12px;
  color:#fff;font-size:0.88rem;background:linear-gradient(to top,rgb(20 30 26 / .72),transparent)}

/* ---------- スタッフ写真 ---------- */
.home .st__fig{border-radius:var(--r-m);overflow:hidden;margin:0}
.home .st__fig img{width:100%;height:auto;display:block}

/* ---------- アクセス：外観＋地図 ---------- */
.home .ac__fig{border-radius:var(--r-m);overflow:hidden;margin:0}
.home .ac__fig img{width:100%;height:auto;display:block}
.home .ac__map{border-radius:var(--r-m);overflow:hidden;line-height:0}
.home .ac__map iframe{width:100%;height:300px;display:block;border:0}

@media(max-width:900px){
  .home .gal__i--lg{grid-row:auto}
  .home .gal__i--lg img{aspect-ratio:16/10}
  .home .ac__map iframe{height:240px}
}


/* ---------- 料金の注記・入会金の併記 ---------- */
.home .cd__foot small{display:block;font-size:0.82rem;color:var(--muted);font-weight:400;margin-top:2px}
.home .price-note{margin-top:18px;font-size:0.9rem;color:var(--muted);line-height:1.75}
.home .price-note a{color:var(--terra);font-weight:700;text-decoration:none}
.home .price-note a:hover{text-decoration:underline}

/* ============================================================
   くまひげ先生（映像教材の先生）紹介カード  2026-08-15 追記
   既存トークン（--paper/--white/--terra/--muted/--r-m/--shadow-sm）のみ使用。
   新しい配色・装飾は持ち込まない。style.css は変更しない。
   ============================================================ */

.home .kuma-sec{background:var(--paper)}

.home .kuma{
  display:grid;
  grid-template-columns:40% 1fr;
  gap:44px;
  align-items:start;              /* 写真と文章の上端を揃える */
  background:var(--white);
  border-radius:var(--r-m);
  padding:36px;
  box-shadow:var(--shadow-sm);
}

.home .kuma__ph{margin:0}
.home .kuma__ph img{width:100%;border-radius:var(--r-s)}
.home .kuma__ph figcaption{
  margin-top:12px;
  font-size:0.86rem;
  color:var(--muted);
  line-height:1.6;
}

.home .kuma__body>*+*{margin-top:16px}
.home .kuma__ttl{font-size:clamp(1.3rem,2.1vw,1.75rem)}  /* 他の見出しより一段小さく＝情報量を突出させない */
.home .kuma__note{font-size:0.94rem;color:var(--muted)}

.home .kuma__cta{margin-top:26px}
.home .kuma__amazon{margin-top:12px;font-size:0.9rem}
.home .kuma__amazon a{
  color:var(--muted);
  text-decoration:underline;
  text-underline-offset:3px;
}
.home .kuma__amazon a:hover{color:var(--terra)}

@media (max-width:820px){
  .home .kuma{
    grid-template-columns:1fr;   /* 写真を上、文章を下 */
    gap:24px;
    padding:24px 18px;   /* 本文幅を他セクションに近づける */
  }
  .home .kuma__cta .btn{width:100%;justify-content:center}  /* ボタンは1列 */
}

/* 「これから開催」が無いときは、記事一覧を横いっぱいに使う */
.home .nw--solo{grid-template-columns:1fr}
.home .nw__evhead{font-weight:700;color:var(--terra);font-size:0.95rem;margin-bottom:2px}
.home .nw__evi h3 a{color:inherit;text-decoration:none}
.home .nw__evi h3 a:hover{color:var(--terra)}

/* おまけ扱いなので、余白と文字を一段落とす */
.home .kuma-sec{padding-block:clamp(38px,5vw,58px)}
.home .kuma-sec .kuma__ttl{font-size:clamp(1.2rem,1.8vw,1.5rem)}
.home .kuma__book{margin-top:18px}
.home .kuma__book a{display:inline-flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink)}
.home .kuma__book img{width:110px;height:auto;border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.14)}
.home .kuma__book span{font-size:0.95rem;line-height:1.6}
.home .kuma__book small{color:var(--muted);font-size:0.85rem}
.home .kuma__book a:hover span{color:var(--terra)}
