:root{
  --brand-green:#1BB627;
  --brand-orange:#FCBA1B;
  --ink:#262c28;
  --gray-900:#171717;
  --gray-800:#262626;
  --gray-700:#3f3f42;
  --gray-600:#55565a;
  --gray-500:#74757a;
  --gray-400:#a3a4a9;
  --gray-300:#d3d4d7;
  --gray-200:#e6e7ea;
  --gray-100:#f0f1f3;
  --gray-50:#f7f8f9;
  --white:#ffffff;
  --line:#e6e7ea;
  --grad:linear-gradient(118deg,#FCBA1B 0%,#CDBC1D 32%,#69BB26 66%,#1BB627 100%);
  --grad-ink:linear-gradient(102deg,#C07A05 0%,#95900F 34%,#3D971B 70%,#0B851D 100%);
  --ease:cubic-bezier(0.16,1,0.3,1);
  --ease-soft:cubic-bezier(0.4,0,0.2,1);
  --shadow-sm:0 1px 2px rgba(20,22,20,.05);
  --shadow-md:0 6px 20px rgba(20,22,20,.07);
  --shadow-lg:0 16px 46px rgba(20,22,20,.12);
  --r-xl:26px;
  --r-lg:18px;
  --r-md:12px;
  --r-sm:8px;
  --ff-en:'Outfit',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --ff-jp:'Noto Sans JP',-apple-system,BlinkMacSystemFont,'Hiragino Sans','Yu Gothic',sans-serif;
  --fs-hero:clamp(28px,6vw,54px);
  --fs-h2:clamp(23px,3.3vw,40px);
  --fs-h3:clamp(17px,1.7vw,21px);
  --fs-body:clamp(15px,1.05vw,16px);
  --fs-lead:clamp(15px,1.25vw,18px);
  --fs-small:clamp(12.5px,.92vw,13.5px);
  --fs-fig:clamp(34px,5.4vw,60px);
  --fs-fig-xl:clamp(46px,8.2vw,108px);
  --fs-rate:clamp(24px,3.4vw,44px);
  --w:1120px;
  --wn:920px;
  --sec:clamp(108px,12vw,160px);
  --pad:clamp(18px,4.4vw,40px);
  --hdr:64px;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--ff-jp);
  font-size:var(--fs-body);
  font-weight:400;
  line-height:1.85;
  color:var(--gray-800);
  background:var(--white);
  font-feature-settings:'palt' 1;
  overflow-x:hidden;
  text-wrap:pretty;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0;}
ul,ol{padding:0;list-style:none;}
table{border-collapse:collapse;width:100%;}
button{font:inherit;color:inherit;}
:focus-visible{outline:2px solid var(--brand-green);outline-offset:3px;}
.skip{position:absolute;left:-9999px;}
.skip:focus{left:12px;top:12px;z-index:99;background:#fff;padding:10px 16px;border-radius:8px;box-shadow:var(--shadow-md);}

.wrap{width:100%;max-width:var(--w);margin-inline:auto;padding-inline:var(--pad);}
.wrap-n{width:100%;max-width:var(--wn);margin-inline:auto;padding-inline:var(--pad);}
.sec{padding-block:var(--sec);position:relative;overflow:hidden;}
.sec-tight{padding-block:clamp(56px,7.4vw,104px);}
.bg-50{background:var(--gray-50);}
.bg-ink{background:var(--ink);color:#eceded;}
.bg-ink .lead,.bg-ink .note{color:#b6b8bb;}

.em{font-weight:700;color:var(--gray-900);}
.bg-ink .em{color:#fff;}
.lbl{font-weight:500;color:var(--gray-600);}
.t-emp{background:var(--grad-ink);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:700;}
.note{font-size:var(--fs-small);color:var(--gray-500);line-height:1.85;}
.en{font-family:var(--ff-en);font-weight:700;font-feature-settings:normal;}

.h2{
  font-size:var(--fs-h2);
  font-weight:700;
  line-height:1.4;
  letter-spacing:-.02em;
  color:var(--gray-900);
  position:relative;
  z-index:1;
  max-width:20em;
  text-wrap:balance;
}
.bg-ink .h2{color:#fff;}
.h2 .l{display:block;}
.h2-sub{
  font-size:var(--fs-small);
  font-weight:700;
  letter-spacing:.02em;
  color:var(--gray-500);
  margin-bottom:14px;
  padding-left:34px;
  position:relative;
  z-index:1;
}
.h2-sub::before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:24px;
  height:3px;
  border-radius:2px;
  background:var(--grad);
}
.bg-ink .h2-sub{color:#9a9ca0;}
.lead{
  font-size:var(--fs-lead);
  line-height:1.95;
  color:var(--gray-700);
  max-width:38em;
  position:relative;
  z-index:1;
}
.mt-s{margin-top:14px;}
.mt-m{margin-top:clamp(26px,3vw,40px);}
.mt-l{margin-top:clamp(38px,4.6vw,62px);}

.mark{
  position:absolute;
  top:.06em;
  left:50%;
  transform:translateX(-50%);
  font-family:var(--ff-en);
  font-weight:700;
  font-size:20vw;
  line-height:1;
  letter-spacing:-.05em;
  color:var(--gray-900);
  opacity:.038;
  pointer-events:none;
  user-select:none;
  z-index:0;
  white-space:nowrap;
}
.bg-ink .mark{color:#fff;opacity:.05;}

.blob{
  position:absolute;
  border-radius:50%;
  background:var(--grad);
  filter:blur(64px);
  opacity:.34;
  pointer-events:none;
  z-index:0;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:58px;
  padding:0 32px;
  border:0;
  border-radius:999px;
  font-family:var(--ff-jp);
  font-weight:700;
  font-size:clamp(15px,1.15vw,17px);
  letter-spacing:.01em;
  line-height:1.2;
  text-decoration:none;
  color:#10240f;
  background:var(--grad);
  background-size:180% 100%;
  background-position:0% 50%;
  box-shadow:0 8px 24px rgba(27,182,39,.24);
  cursor:pointer;
  white-space:nowrap;
  transition:background-position .6s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease);
}
.btn:hover{background-position:100% 50%;transform:translateY(-2px);box-shadow:0 12px 30px rgba(27,182,39,.3);}
.btn .arw{display:inline-block;transition:transform .3s var(--ease);}
.btn:hover .arw{transform:translateX(4px);}
.btn-lg{min-height:66px;padding:0 40px;font-size:clamp(16px,1.3vw,19px);}
.btn-ghost{
  background:transparent;
  color:var(--gray-900);
  border:1.5px solid var(--gray-300);
  box-shadow:none;
  min-height:52px;
  padding:0 26px;
  font-size:15px;
}
.btn-ghost:hover{border-color:var(--gray-900);transform:translateY(-2px);box-shadow:none;}
.btn-hdr{min-height:44px;padding:0 22px;font-size:14px;}
.cta-under{
  display:block;
  margin-top:14px;
  font-size:var(--fs-small);
  color:var(--gray-500);
}
.bg-ink .cta-under{color:#9a9ca0;}

.hdr{
  position:fixed;
  inset:0 0 auto 0;
  z-index:60;
  height:var(--hdr);
  background:rgba(255,255,255,.94);
  border-bottom:1px solid transparent;
  transition:box-shadow .35s var(--ease),border-color .35s var(--ease);
}
.hdr.scrolled{box-shadow:0 2px 18px rgba(20,22,20,.07);border-bottom-color:var(--line);}
.hdr-in{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;}
.brand img{width:auto;height:38px;}
.brand-tx{display:flex;flex-direction:column;line-height:1.15;}
.brand-tx .k{font-size:10px;font-weight:700;letter-spacing:.14em;color:var(--gray-500);}
.brand-tx .n{font-size:16px;font-weight:700;color:var(--gray-900);letter-spacing:.01em;}
.gnav{display:none;}
.gnav a{
  text-decoration:none;
  font-size:14px;
  font-weight:500;
  color:var(--gray-700);
  position:relative;
  padding-block:6px;
  transition:color .3s var(--ease);
}
.gnav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:2px;
  border-radius:2px;
  background:var(--grad);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .4s var(--ease);
}
.gnav a:hover{color:var(--gray-900);}
.gnav a:hover::after{transform:scaleX(1);}
.hdr-cta{display:none;}
.burger{
  width:44px;
  height:44px;
  display:grid;
  place-content:center;
  gap:5px;
  background:none;
  border:0;
  cursor:pointer;
  padding:0;
}
.burger .ln{display:block;width:22px;height:2px;border-radius:2px;background:var(--gray-900);transition:transform .4s var(--ease),opacity .3s var(--ease);}
.burger[aria-expanded="true"] .ln:nth-child(1){transform:translateY(7px) rotate(45deg);}
.burger[aria-expanded="true"] .ln:nth-child(2){opacity:0;}
.burger[aria-expanded="true"] .ln:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.spnav{
  position:fixed;
  inset:0;
  z-index:70;
  background:var(--white);
  padding:calc(var(--hdr) + 24px) var(--pad) 40px;
  overflow-y:auto;
  opacity:0;
  visibility:hidden;
  transition:opacity .4s var(--ease),visibility .4s;
}
.spnav.open{opacity:1;visibility:visible;}
.spnav-close{
  position:absolute;
  top:10px;
  right:calc(var(--pad) - 10px);
  width:44px;
  height:44px;
  border:0;
  background:none;
  cursor:pointer;
}
.spnav-close .ln{position:absolute;left:11px;top:21px;width:22px;height:2px;border-radius:2px;background:var(--gray-900);}
.spnav-close .ln:nth-child(1){transform:rotate(45deg);}
.spnav-close .ln:nth-child(2){transform:rotate(-45deg);}
.spnav li+li{border-top:1px solid var(--line);}
.spnav a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 2px;
  text-decoration:none;
  font-size:16px;
  font-weight:700;
  color:var(--gray-900);
}
.spnav .arw{color:var(--brand-green);}
.spnav .btn{width:100%;margin-top:26px;}
body.menu-open{position:fixed;left:0;right:0;width:100%;overflow:hidden;}

main{padding-top:var(--hdr);}

.fv{position:relative;padding-block:clamp(34px,5vw,74px) clamp(58px,7vw,104px);overflow:hidden;}
.fv .blob{width:min(76vw,620px);aspect-ratio:1/1;right:-16%;top:-14%;}
.fv-in{position:relative;z-index:1;display:grid;gap:clamp(30px,4vw,54px);}
.fv-badge{
  display:inline-flex;
  align-items:center;
  gap:9px;
  align-self:start;
  padding:7px 16px 7px 12px;
  border-radius:999px;
  background:var(--white);
  border:1px solid var(--line);
  box-shadow:var(--shadow-sm);
  font-size:var(--fs-small);
  font-weight:700;
  color:var(--gray-700);
  letter-spacing:.01em;
}
.dot{width:8px;height:8px;border-radius:50%;background:var(--grad);display:block;flex:none;}
.fv-catch{
  font-size:var(--fs-hero);
  font-weight:700;
  line-height:1.34;
  letter-spacing:-.02em;
  color:var(--gray-900);
}
.fv-catch .l{display:block;white-space:nowrap;}
.fv-catch .g{background:var(--grad-ink);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.fv-sub{margin-top:22px;font-size:var(--fs-lead);line-height:1.95;color:var(--gray-700);max-width:25em;}
.fv-peak{
  margin-top:clamp(20px,2.4vw,28px);
  background:var(--ink);
  border-radius:var(--r-lg);
  padding:clamp(16px,2vw,24px) clamp(16px,2vw,26px) clamp(14px,1.8vw,20px);
  box-shadow:var(--shadow-md);
}
.fv-peak-k{display:block;font-size:var(--fs-small);font-weight:700;color:#b6b8bb;letter-spacing:.04em;}
.fv-peak-v{
  display:flex;
  align-items:baseline;
  gap:.04em;
  margin-top:2px;
  font-family:var(--ff-en);
  font-size:clamp(108px,17vw,176px);
  font-weight:700;
  line-height:1;
  letter-spacing:-.045em;
  background:var(--grad);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.fv-peak-u{font-size:.28em;font-weight:700;letter-spacing:0;flex:none;white-space:nowrap;}
.fv-peak-n{margin-top:10px;font-size:clamp(11px,.86vw,12.5px);line-height:1.8;color:#9a9ca0;max-width:32em;}
.fv-catch{margin-top:clamp(20px,2.4vw,28px);}
.fv-cta{margin-top:clamp(26px,3vw,36px);display:flex;flex-wrap:wrap;gap:12px;}
.fv-visit{display:inline-flex;align-items:center;gap:9px;margin-top:14px;padding:11px 18px 11px 15px;background:var(--ink);color:#fff;border-radius:999px;font-size:clamp(13.5px,1.05vw,15px);font-weight:700;letter-spacing:.01em;box-shadow:var(--shadow-sm);}
.fv-visit-ic{width:16px;height:16px;color:var(--brand-green);flex:none;}
.fv-fig{
  position:relative;
  border-radius:var(--r-xl);
  overflow:hidden;
  box-shadow:var(--shadow-lg);
  aspect-ratio:4/3;
}
.fv-fig img{width:100%;height:100%;object-fit:cover;}
.fv-chip{
  position:absolute;
  left:14px;
  bottom:14px;
  right:14px;
  display:flex;
  align-items:baseline;
  gap:10px;
  padding:12px 16px;
  border-radius:var(--r-md);
  background:rgba(38,44,40,.8);
}
.fv-chip .v{font-family:var(--ff-en);font-size:clamp(20px,3.4vw,28px);font-weight:700;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;flex:none;}
.fv-chip .k{font-size:var(--fs-small);line-height:1.55;color:#d6d7d9;}

.grid-3{display:grid;gap:clamp(14px,1.8vw,22px);}
.grid-2{display:grid;gap:clamp(20px,2.6vw,34px);}

.gcard{
  position:relative;
  z-index:1;
  padding:clamp(22px,2.6vw,32px);
  border-radius:var(--r-lg);
  background:rgba(255,255,255,.1);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.2);
}
.gcard-hd{display:flex;align-items:baseline;gap:10px;color:#c7c9cc;font-size:var(--fs-small);font-weight:500;}
.gcard-hd .nm{font-family:var(--ff-en);font-size:17px;font-weight:700;color:#fff;letter-spacing:.03em;}
.fig{
  display:block;
  margin-top:6px;
  font-family:var(--ff-en);
  font-size:var(--fs-fig);
  font-weight:700;
  line-height:1.05;
  letter-spacing:-.03em;
  background:var(--grad);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.fig-u{font-size:.34em;font-weight:700;margin-left:.14em;letter-spacing:0;}
.fig-cap{font-size:var(--fs-small);font-weight:500;color:#9a9ca0;margin-top:6px;letter-spacing:.04em;}
.bd{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);}
.bd li{display:flex;justify-content:space-between;gap:12px;font-size:var(--fs-small);color:#b6b8bb;padding-block:4px;}
.bd .v{font-family:var(--ff-en);font-weight:500;color:#eceded;letter-spacing:.01em;}
.bd .hl .v{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:700;}

.peak{
  position:relative;
  z-index:1;
  margin-top:clamp(18px,2.2vw,26px);
  padding:clamp(24px,3vw,38px);
  border-radius:var(--r-lg);
  background:rgba(255,255,255,.1);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.2);
  display:grid;
  gap:clamp(14px,2vw,30px);
  align-items:center;
}
.peak-l .k{display:block;font-size:var(--fs-small);color:#c7c9cc;font-weight:500;}
.peak-fig{
  font-family:var(--ff-en);
  font-size:var(--fs-fig-xl);
  font-weight:700;
  line-height:1;
  letter-spacing:-.045em;
  background:var(--grad);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  display:block;
  margin-top:4px;
}
.peak-r{font-size:var(--fs-small);color:#b6b8bb;line-height:1.9;}
.peak-r .v{color:#eceded;font-weight:700;}
.peak-h{margin-top:10px;font-weight:700;font-size:clamp(16px,1.7vw,22px);line-height:1.7;color:#fff;letter-spacing:-.01em;}
.peak-h .hl{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.peak-note{margin-top:8px;font-size:var(--fs-small);color:#b6b8bb;line-height:1.8;}
.peak-r-fig{display:grid;justify-items:start;}
.peak-cap{font-size:var(--fs-small);color:#9a9ca0;margin-top:6px;letter-spacing:.04em;}
.peak-warn{position:relative;z-index:1;margin-top:14px;font-size:var(--fs-small);color:#9a9ca0;line-height:1.8;}

.chart{position:relative;z-index:1;}
.chart-plot{position:relative;height:clamp(168px,22vw,240px);display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(8px,1.6vw,22px);align-items:end;}
.chart-plot::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gray-300);}
.bar{position:relative;border-radius:10px 10px 0 0;background:linear-gradient(180deg,#6BD05B 0%,#1BB627 100%);}
.bar:nth-child(1){height:34%;}
.bar:nth-child(2){height:52%;}
.bar:nth-child(3){height:72%;}
.bar:nth-child(4){height:100%;}
.bar.is-top{background:linear-gradient(180deg,#FFCB57 0%,#F09A05 100%);}
.chart-line{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;}
.chart-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(8px,1.6vw,22px);margin-top:14px;text-align:center;}
.rate{
  font-family:var(--ff-en);
  font-size:var(--fs-rate);
  font-weight:700;
  line-height:1;
  letter-spacing:-.03em;
  background:linear-gradient(180deg,#3EAE2C 0%,#0B851D 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  display:block;
}
.rate.is-top{background:linear-gradient(180deg,#E8A50A 0%,#C07A05 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.rate-u{font-size:.5em;margin-left:.04em;}
.rate-cap{display:block;margin-top:6px;font-size:clamp(11px,.92vw,13.5px);color:var(--gray-600);font-weight:500;white-space:nowrap;}
.chart-axis{margin-top:10px;text-align:center;font-size:var(--fs-small);color:var(--gray-400);font-weight:500;letter-spacing:.04em;}
.calc{
  margin-top:clamp(26px,3vw,38px);
  padding:clamp(20px,2.4vw,28px);
  border-radius:var(--r-lg);
  background:var(--white);
  border:1px solid var(--line);
  box-shadow:var(--shadow-sm);
  display:grid;
  gap:12px;
  position:relative;
  z-index:1;
}
.calc-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;font-size:var(--fs-small);color:var(--gray-600);font-weight:500;}
.calc-row .v{font-family:var(--ff-en);font-size:clamp(19px,2.3vw,28px);font-weight:700;color:var(--gray-900);letter-spacing:-.02em;}
.calc-row .v.g{background:var(--grad-ink);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.calc-row .v.o{background:linear-gradient(180deg,#E8A50A 0%,#C07A05 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.calc-op{font-family:var(--ff-en);font-size:15px;color:var(--gray-400);font-weight:500;}
.calc-chip{display:inline-block;background:#0B851D;color:#fff;border-radius:999px;padding:7px 18px;font-size:12.5px;font-weight:700;letter-spacing:.06em;}
.note-wide{font-size:var(--fs-small);color:var(--gray-500);line-height:1.95;max-width:54em;}
.lnb{display:block;}

.calcx{margin-top:clamp(26px,3vw,38px);position:relative;z-index:1;border-radius:var(--r-lg);background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-md);overflow:hidden;}
.calcx::before{content:"";display:block;height:5px;background:var(--grad);}
.calcx-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:clamp(18px,2.2vw,24px) clamp(20px,2.6vw,32px) 0;}
.calcx-tag{flex:none;display:inline-block;background:var(--gray-900);color:#fff;border-radius:999px;padding:5px 14px;font-size:12px;font-weight:700;letter-spacing:.08em;}
.calcx-title{font-weight:700;color:var(--gray-900);font-size:clamp(14px,1.3vw,16px);letter-spacing:-.01em;}
.calcx-flow{display:flex;flex-wrap:wrap;align-items:stretch;gap:clamp(10px,1.6vw,18px);padding:clamp(16px,2vw,22px) clamp(20px,2.6vw,32px) clamp(14px,1.8vw,20px);}
.calcx-item{flex:1 1 168px;min-width:0;display:grid;gap:4px;align-content:center;padding:clamp(12px,1.6vw,18px) clamp(14px,1.8vw,22px);border-radius:var(--r-md);background:var(--gray-50);border:1px solid var(--gray-200);}
.calcx-res{background:linear-gradient(135deg,#FFF8EA,#FFEFD3);border-color:#EFC57D;}
.calcx-k{font-size:var(--fs-small);font-weight:700;color:var(--gray-600);letter-spacing:.04em;}
.calcx-v{font-family:var(--ff-en);font-weight:700;font-size:clamp(23px,2.8vw,36px);line-height:1.1;letter-spacing:-.02em;color:var(--gray-900);white-space:nowrap;}
.calcx-v .calcx-u{font-size:.5em;margin-left:.08em;}
.calcx-v.o{background:linear-gradient(180deg,#E8A50A 0%,#C07A05 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.calcx-op{align-self:center;font-family:var(--ff-en);font-weight:500;font-size:clamp(18px,2vw,24px);color:var(--gray-400);flex:none;}
.calcx-facts{margin:0;padding:clamp(12px,1.6vw,18px) clamp(20px,2.6vw,32px) clamp(20px,2.6vw,28px);display:grid;gap:8px;border-top:1px solid var(--gray-100);}
.calcx-facts li{display:flex;align-items:flex-start;gap:10px;font-size:var(--fs-small);font-weight:500;color:var(--gray-700);line-height:1.8;}
.calcx-facts li svg{flex:none;margin-top:3px;}
.spec-cta{display:flex;flex-wrap:wrap;gap:12px;}

.card{
  position:relative;
  z-index:1;
  padding:clamp(24px,2.8vw,34px);
  border-radius:var(--r-lg);
  background:var(--white);
  border:1px solid var(--line);
  box-shadow:var(--shadow-sm);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
  overflow:hidden;
}
.card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:var(--grad);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .5s var(--ease);
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.card:hover::before{transform:scaleX(1);}
.card-n{font-family:var(--ff-en);font-size:13px;font-weight:700;letter-spacing:.14em;color:var(--gray-400);}
.card-t{margin-top:10px;font-size:var(--fs-h3);font-weight:700;line-height:1.55;letter-spacing:-.01em;color:var(--gray-900);}
.card-b{margin-top:12px;font-size:var(--fs-small);line-height:1.95;color:var(--gray-600);}
.card-fig{
  font-family:var(--ff-en);
  font-size:clamp(30px,4vw,46px);
  font-weight:700;
  line-height:1;
  letter-spacing:-.03em;
  background:var(--grad-ink);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.card-fig-u{font-size:.4em;margin-left:.1em;}

.fig-wide{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-md);position:relative;z-index:1;}
.fig-wide img{width:100%;height:100%;object-fit:cover;}
.fig-cap-w{margin-top:12px;font-size:var(--fs-small);color:var(--gray-500);line-height:1.85;}

.rows{position:relative;z-index:1;border-top:1px solid var(--line);}
.rows li{
  display:grid;
  gap:6px 22px;
  padding-block:clamp(20px,2.2vw,26px);
  border-bottom:1px solid var(--line);
}
.rows-t{font-size:var(--fs-h3);font-weight:700;color:var(--gray-900);line-height:1.55;letter-spacing:-.01em;display:flex;align-items:baseline;gap:12px;}
.rows-t .n{font-family:var(--ff-en);font-size:13px;font-weight:700;color:var(--gray-300);letter-spacing:.1em;flex:none;}
.rows-b{font-size:var(--fs-small);line-height:1.95;color:var(--gray-600);}

.msg{position:relative;z-index:1;display:grid;gap:clamp(26px,3.4vw,52px);align-items:start;}
.msg-fig{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-md);aspect-ratio:750/816;max-width:340px;}
.msg-fig img{width:100%;height:100%;object-fit:cover;}
.msg-body p{font-size:var(--fs-lead);line-height:2.1;color:var(--gray-700);}
.msg-body p+p{margin-top:1.1em;}
.msg-sign{margin-top:26px;display:flex;align-items:baseline;gap:12px;border-top:1px solid var(--line);padding-top:18px;}
.msg-sign .k{font-size:var(--fs-small);color:var(--gray-500);}
.msg-sign .n{font-size:17px;font-weight:700;color:var(--gray-900);letter-spacing:.02em;}

.pcard{
  position:relative;
  z-index:1;
  border-radius:var(--r-lg);
  overflow:hidden;
  background:var(--white);
  border:1px solid var(--line);
  box-shadow:var(--shadow-sm);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.pcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.pcard-fig{aspect-ratio:3/4;background:var(--gray-100);}
/* ★写真なしカード（2026-08-07・T.S様の写真未提供）。3枚並びの高さを崩さないよう、
   写真枠の代わりにイニシャルのモノグラムを同じ縦横比で置く（空白のカードにしない）。 */
.pcard--nofig .pcard-b{display:flex;flex-direction:column;justify-content:center;min-height:0;}
.pcard--nofig{display:flex;flex-direction:column;}
.pcard--nofig::before{
  content:attr(data-initial);
  display:flex;align-items:center;justify-content:center;
  aspect-ratio:3/4;
  background:linear-gradient(160deg,var(--gray-100) 0%,var(--gray-50) 100%);
  font-family:var(--ff-en);font-size:clamp(38px,5vw,54px);font-weight:700;
  letter-spacing:.02em;
  background-clip:padding-box;
  color:var(--gray-300);
}
.pcard-fig img{width:100%;height:100%;object-fit:cover;}
.pcard-b{padding:20px clamp(18px,2vw,24px) 24px;}
.pcard-role{font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--gray-500);}
.pcard-nm{margin-top:6px;font-size:19px;font-weight:700;color:var(--gray-900);letter-spacing:.01em;}
.pcard-meta{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px;}
.tag{
  font-size:11.5px;
  font-weight:700;
  line-height:1;
  padding:6px 10px;
  border-radius:999px;
  background:var(--gray-100);
  color:var(--gray-600);
}
.pcard-c{margin-top:14px;font-size:var(--fs-small);line-height:1.9;color:var(--gray-600);}

.fold{
  position:relative;
  z-index:1;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  background:var(--white);
  overflow:hidden;
}
.fold+.fold{margin-top:14px;}
.fold>summary{
  list-style:none;
  cursor:pointer;
  padding:20px clamp(18px,2.2vw,26px);
  font-size:var(--fs-h3);
  font-weight:700;
  color:var(--gray-900);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  letter-spacing:-.01em;
}
.fold>summary::-webkit-details-marker{display:none;}
.fold>summary::after{
  content:"";
  flex:none;
  width:11px;
  height:11px;
  border-right:2px solid var(--gray-400);
  border-bottom:2px solid var(--gray-400);
  transform:rotate(45deg) translate(-3px,-3px);
  transition:transform .35s var(--ease);
}
.fold[open]>summary::after{transform:rotate(-135deg) translate(-3px,-3px);}
.fold-b{padding:0 clamp(18px,2.2vw,26px) 8px;}
.spec{width:100%;}
.spec th,.spec td{
  text-align:left;
  vertical-align:top;
  padding:15px 0;
  border-top:1px solid var(--line);
  font-size:var(--fs-small);
  line-height:1.95;
}
.spec tr:first-child th,.spec tr:first-child td{border-top:0;}
.spec th{width:9.4em;font-weight:700;color:var(--gray-600);padding-right:16px;}
.spec td{color:var(--gray-700);}
.spec td .em{color:var(--gray-900);}
.spec .bul li{position:relative;padding-left:15px;}
.spec .bul li::before{content:"";position:absolute;left:0;top:.85em;width:5px;height:5px;border-radius:50%;background:var(--gray-300);}
.map{margin-top:16px;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);line-height:0;}
.map iframe{width:100%;height:clamp(220px,30vw,300px);border:0;display:block;}

.qa{position:relative;z-index:1;}
.qa .fold>summary{font-size:var(--fs-body);line-height:1.75;align-items:flex-start;}
.qa .fold>summary::after{margin-top:7px;}
.qa-q{display:flex;gap:12px;}
.qa-q .n{font-family:var(--ff-en);font-weight:700;font-size:16px;line-height:1.75;background:var(--grad-ink);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;flex:none;}
.qa-a{display:flex;gap:12px;padding-bottom:20px;font-size:var(--fs-small);line-height:1.95;color:var(--gray-600);}
.qa-a .n{font-family:var(--ff-en);font-weight:700;font-size:16px;color:var(--gray-300);flex:none;line-height:1.6;}

.ctaband{position:relative;overflow:hidden;padding-block:clamp(50px,6vw,84px);background:var(--ink);color:#eceded;text-align:center;}
.ctaband .blob{width:min(84vw,560px);aspect-ratio:1/1;left:50%;transform:translateX(-50%);top:-46%;opacity:.24;}
.ctaband-in{position:relative;z-index:1;}
.ctaband-t{font-size:clamp(19px,2.5vw,30px);font-weight:700;line-height:1.65;letter-spacing:-.02em;color:#fff;}
.ctaband-t .l{display:block;}
.ctaband-s{margin-top:12px;font-size:var(--fs-small);color:#b6b8bb;line-height:1.9;}
.ctaband .btn{margin-top:clamp(24px,2.6vw,32px);}
.ctaband-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.ctaband .btn-ghost{color:#fff;border-color:rgba(255,255,255,.35);}
.ctaband .btn-ghost:hover{border-color:#fff;}

/* 1日の流れ(bg-ink・2026-08-07 r8) */
.day-ls{display:inline-block;} /* 文単位で折る(語中分断・行末細切れ防止=REV-038) */
.day-tl{list-style:none;margin:0;padding:0;}
.day-row{display:flex;gap:clamp(14px,2vw,24px);}
.day-t{flex:none;width:5.6em;text-align:right;font-family:var(--ff-en);font-weight:700;font-size:clamp(14px,1.2vw,17px);line-height:1.6;letter-spacing:.01em;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.day-b{position:relative;flex:1;border-left:2px solid rgba(255,255,255,.16);padding:0 0 clamp(18px,2.2vw,26px) clamp(16px,2vw,26px);}
.day-row:last-child .day-b{padding-bottom:0;}
.day-b::before{content:'';position:absolute;left:-5px;top:.42em;width:8px;height:8px;border-radius:50%;background:var(--brand-green);box-shadow:0 0 0 3px rgba(27,182,39,.22);}
.day-h{margin:0;font-weight:700;font-size:clamp(15px,1.2vw,17px);line-height:1.6;color:#fff;}
.day-n{margin:4px 0 0;font-size:var(--fs-small);line-height:1.8;color:#9a9ca0;}
.day-note{margin-top:clamp(22px,2.6vw,30px);padding:clamp(12px,1.4vw,16px) clamp(14px,1.8vw,20px);border:1px solid rgba(255,255,255,.16);border-radius:var(--r-md);font-size:var(--fs-small);line-height:1.9;color:#b6b8bb;}

.form-card{
  position:relative;
  z-index:1;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--r-xl);
  padding:clamp(24px,3.4vw,52px);
  box-shadow:var(--shadow-md);
}
.form-intro{font-size:var(--fs-small);line-height:1.95;color:var(--gray-600);}
.fields{margin-top:clamp(24px,2.6vw,32px);display:grid;gap:clamp(18px,2vw,24px);}
.field{display:grid;gap:8px;}
.field label,.field .lb{font-size:13.5px;font-weight:700;color:var(--gray-800);display:flex;align-items:center;gap:8px;}
.req,.opt{font-size:10.5px;font-weight:700;line-height:1;padding:4px 7px;border-radius:4px;letter-spacing:.04em;}
.req{background:#12240f;color:#d8f5c6;}
.opt{background:var(--gray-100);color:var(--gray-500);}
.field input,.field textarea{
  width:100%;
  font-family:var(--ff-jp);
  font-size:16px;
  line-height:1.7;
  color:var(--gray-900);
  background:var(--white);
  border:1.5px solid var(--gray-300);
  border-radius:var(--r-md);
  padding:14px 16px;
  transition:border-color .3s var(--ease),box-shadow .3s var(--ease);
}
.field input::placeholder,.field textarea::placeholder{color:var(--gray-400);}
.field input:focus,.field textarea:focus{outline:0;border-color:var(--brand-green);box-shadow:0 0 0 3px rgba(27,182,39,.14);}
.field textarea{min-height:130px;resize:vertical;}
/* ご希望(応募/見学)ラジオ(★.field input/.field label より後方に置く=上書き防止・2026-08-07 r9) */
.field .purpose-row{display:flex;gap:10px;flex-wrap:wrap;}
.field .purpose-opt{display:flex;align-items:center;gap:9px;flex:1;min-width:210px;border:1.5px solid var(--gray-300);border-radius:var(--r-sm);padding:13px 16px;cursor:pointer;font-size:15px;font-weight:500;color:var(--gray-800);background:var(--white);transition:border-color .2s var(--ease-soft),background .2s var(--ease-soft);}
.field .purpose-opt input{width:17px;height:17px;min-height:0;padding:0;margin:0;border:0;box-shadow:none;flex:none;accent-color:var(--brand-green);}
.field .purpose-opt span{flex:1;min-width:0;}
.field .purpose-opt:has(input:checked){border-color:var(--brand-green);background:rgba(27,182,39,.06);}
.field-fixed{
  display:flex;
  align-items:center;
  gap:10px;
  padding:14px 16px;
  border:1.5px solid var(--gray-200);
  border-radius:var(--r-md);
  background:var(--gray-50);
  font-size:15px;
  font-weight:700;
  color:var(--gray-900);
}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.agree{
  margin-top:6px;
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:18px;
  border-radius:var(--r-md);
  background:var(--gray-50);
  font-size:var(--fs-small);
  line-height:1.85;
  color:var(--gray-700);
}
.agree input{width:20px;height:20px;flex:none;margin-top:2px;accent-color:var(--brand-green);}
.agree a{color:var(--gray-900);font-weight:700;text-underline-offset:3px;}
.form-submit{margin-top:clamp(24px,2.6vw,32px);text-align:center;}
.form-submit .btn{width:100%;max-width:420px;}

.ft{background:var(--ink);color:#b6b8bb;padding-block:clamp(48px,5.4vw,72px) 0;font-size:var(--fs-small);line-height:1.95;}
.ft-top{display:grid;gap:clamp(28px,3.4vw,48px);}
.ft-brand{display:flex;align-items:center;gap:12px;}
.ft-brand .box{background:#fff;border-radius:12px;padding:8px 10px;line-height:0;}
.ft-brand img{width:auto;height:38px;}
.ft-brand .n{font-size:17px;font-weight:700;color:#fff;letter-spacing:.02em;}
.ft-brand .k{display:block;font-size:10px;font-weight:700;letter-spacing:.14em;color:#8a8c90;}
.ft-info{margin-top:18px;display:grid;gap:6px;}
.ft-info .r{display:flex;gap:10px;}
.ft-info dt{flex:none;width:6.6em;color:#8a8c90;font-weight:500;}
.ft-info dd{margin:0;color:#d3d4d7;text-wrap:pretty;}
.ft-nav{display:grid;gap:10px;align-content:start;}
.ft-nav a{text-decoration:none;color:#d3d4d7;transition:color .3s var(--ease);}
.ft-nav a:hover{color:#fff;}
.ft-bot{
  margin-top:clamp(34px,4vw,52px);
  border-top:1px solid rgba(255,255,255,.1);
  padding-block:20px 24px;
  display:flex;
  flex-wrap:wrap;
  gap:8px 20px;
  align-items:center;
  justify-content:space-between;
  font-size:12px;
  color:#8a8c90;
}
.ft-bot a{color:#d3d4d7;text-decoration:none;}
.ft-bot a:hover{color:#fff;}

.stick{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:55;
  padding:10px var(--pad) calc(10px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.96);
  border-top:1px solid var(--line);
  box-shadow:0 -4px 20px rgba(20,22,20,.08);
  transform:translateY(110%);
  transition:transform .45s var(--ease);
}
.stick.on{transform:none;}
.stick .btn{width:100%;min-height:54px;}

.doc{padding-block:clamp(48px,6vw,86px) clamp(60px,7vw,110px);}
.doc h1{font-size:clamp(24px,3.2vw,38px);font-weight:700;letter-spacing:-.02em;color:var(--gray-900);line-height:1.45;}
.doc-meta{margin-top:14px;font-size:var(--fs-small);color:var(--gray-500);}
.doc-lead{margin-top:clamp(24px,2.6vw,34px);font-size:var(--fs-body);line-height:2.05;color:var(--gray-700);max-width:43em;}
.doc-sec{margin-top:clamp(34px,3.6vw,52px);max-width:43em;}
.doc h2{font-size:var(--fs-h3);font-weight:700;color:var(--gray-900);line-height:1.6;display:flex;gap:12px;letter-spacing:-.01em;}
.doc h2 .n{font-family:var(--ff-en);font-weight:700;background:var(--grad-ink);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;flex:none;}
.doc p{margin-top:12px;font-size:var(--fs-small);line-height:2.05;color:var(--gray-700);}
.doc .bul{margin-top:12px;display:grid;gap:6px;}
.doc .bul li{position:relative;padding-left:16px;font-size:var(--fs-small);line-height:1.95;color:var(--gray-700);}
.doc .bul li::before{content:"";position:absolute;left:0;top:.88em;width:5px;height:5px;border-radius:50%;background:var(--gray-300);}
.doc-foot{margin-top:clamp(40px,4.4vw,64px);padding-top:24px;border-top:1px solid var(--line);display:grid;gap:6px;font-size:var(--fs-small);color:var(--gray-600);max-width:43em;}
.doc-back{margin-top:clamp(34px,3.6vw,48px);}

.thx{padding-block:clamp(64px,9vw,140px);text-align:center;position:relative;overflow:hidden;}
.thx .blob{width:min(78vw,540px);aspect-ratio:1/1;left:50%;transform:translateX(-50%);top:-34%;opacity:.22;}
.thx-in{position:relative;z-index:1;max-width:32em;margin-inline:auto;}
.thx-mark{width:64px;height:64px;margin-inline:auto;border-radius:50%;background:var(--grad);display:grid;place-content:center;box-shadow:0 10px 26px rgba(27,182,39,.24);}
.thx-mark svg{width:28px;height:28px;}
.thx h1{margin-top:26px;font-size:clamp(23px,3.2vw,36px);font-weight:700;letter-spacing:-.02em;color:var(--gray-900);line-height:1.5;}
.thx p{margin-top:18px;font-size:var(--fs-body);line-height:2.05;color:var(--gray-700);}
.thx .btn-ghost{margin-top:clamp(30px,3.4vw,44px);}

.fade{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.fade.in{opacity:1;transform:none;}
.stg>*{opacity:0;transform:translateY(26px);transition:opacity .75s var(--ease),transform .75s var(--ease);}
.stg.in>*{opacity:1;transform:none;}
.stg.in>*:nth-child(1){transition-delay:0ms;}
.stg.in>*:nth-child(2){transition-delay:100ms;}
.stg.in>*:nth-child(3){transition-delay:200ms;}
.stg.in>*:nth-child(4){transition-delay:300ms;}
.stg.in>*:nth-child(5){transition-delay:400ms;}
.stg.in>*:nth-child(6){transition-delay:500ms;}

@media (max-width:600px){
  .spec tr{display:block;padding-block:14px;border-top:1px solid var(--line);}
  .spec tr:first-child{border-top:0;}
  .spec th,.spec td{display:block;width:auto;padding:0;border-top:0;}
  .spec th{padding-right:0;padding-bottom:5px;font-size:12px;letter-spacing:.04em;color:var(--gray-500);}
  .ft-info{font-size:13.5px;}
  .ft-info dd{max-width:17em;}
  .ft-info .r{flex-direction:column;gap:1px;}
  .ft-info dt{width:auto;font-size:11.5px;letter-spacing:.04em;}
  .spec .em{display:inline-block;}
}

@media (min-width:601px){
  .grid-3{grid-template-columns:repeat(3,1fr);}
  .peak{grid-template-columns:minmax(0,1fr) auto;gap:34px;}
  .peak-r-fig{justify-items:end;text-align:right;}
  .grid-3 .card-t{min-height:2.4em;display:flex;flex-wrap:wrap;align-items:baseline;align-content:flex-end;column-gap:.06em;}
}

@media (min-width:881px){
  :root{--hdr:76px;}
  .brand img{height:44px;}
  .brand-tx .n{font-size:17px;}
  .gnav{display:flex;align-items:center;gap:clamp(16px,1.9vw,28px);}
  .hdr-cta{display:inline-flex;}
  .burger{display:none;}
  .spnav{display:none;}
  .stick{display:none;}
  .fv-in{grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);align-items:center;gap:clamp(38px,4.4vw,64px);}
  .fv-fig{max-width:470px;margin-left:auto;}
  #people .grid-3{max-width:720px;margin-inline:auto;}
  /* 2名構成：カード幅を3列時と完全に同じに保ったまま中央寄せ（2026-08-07）。
     コンテナ幅＝1列幅×2＋gap。a案には .is-2 が付かないため無影響＝CSSは両案共通。 */
  #people .grid-3.is-2{grid-template-columns:repeat(2,1fr);max-width:calc((720px - 2*clamp(14px,1.8vw,22px)) / 3 * 2 + clamp(14px,1.8vw,22px));}
  .grid-2{grid-template-columns:repeat(2,1fr);}
  .split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.86fr);gap:clamp(34px,4vw,60px);align-items:center;}
  .msg{grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(36px,4vw,64px);align-items:center;}
  .msg-fig{max-width:none;}
  /* ★見出し列は最長見出しの実測必要幅で決める（2026-08-07）。20em=300px では
     「セルフレジ導入でレジ締め作業なし」(必要350px)「担当の患者さんがいなければ、早めに退勤」
     (必要409px) が折り返す一方、本文列に718pxも余っていた＝列幅不足。28em=420px へ。 */
  .rows li{grid-template-columns:minmax(0,28em) minmax(0,1fr);align-items:baseline;}
  .spec th{width:11em;}
  .ft-top{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(40px,5vw,80px);}
  .ft-nav{grid-template-columns:repeat(2,1fr);gap:12px 24px;}
  .mark{font-size:15vw;}
}

@media (min-width:1200px){
  .mark{font-size:200px;}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
  .fade,.stg>*{opacity:1;transform:none;}
  .stick{transition:none;}
}

/* r19: 歩合の仕組み 結論バンド（100万→月給37万以上＋最高月収再訴求） */
.calcx-concl{margin:2px clamp(20px,2.6vw,32px) clamp(18px,2.2vw,26px);padding:clamp(14px,1.8vw,20px) clamp(16px,2.2vw,26px);border-radius:var(--r-md);background:linear-gradient(135deg,#FFF8EA,#FFEFD3);border:1px solid #EFC57D;}
.calcx-concl-main{font-weight:700;color:var(--gray-900);font-size:clamp(16px,1.7vw,21px);line-height:1.7;letter-spacing:-.01em;}
.calcx-concl-main .l{display:inline-block;}
.calcx-concl-main .cxfig{font-family:var(--ff-en);font-weight:700;font-size:clamp(25px,2.9vw,34px);line-height:1.15;letter-spacing:-.02em;background:linear-gradient(180deg,#E8A50A 0%,#C07A05 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;padding-inline:.05em;}
.calcx-concl-main .cxfig .u{font-size:.55em;}
.calcx-concl-sub{margin-top:7px;font-size:var(--fs-small);font-weight:500;color:var(--gray-700);line-height:1.8;}
.calcx-concl-sub .hl{font-weight:700;background:linear-gradient(180deg,#E8A50A 0%,#C07A05 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}

/* ============ r24-fv2: FVリニューアル案2（院長単独・シネマティック） ============ */
.fv2b{padding-block:0 clamp(40px,5vw,64px);}
.fv2b-hero{position:relative;overflow:hidden;background:var(--ink);}
.fv2b-hero picture,.fv2b-hero img{display:block;width:100%;height:100%;}
.fv2b-hero{height:min(122vw,600px);}
.fv2b-hero img{object-fit:cover;object-position:center 14%;}
/* 3名のクロスフェード切り替え（9秒周期・各3秒・重なりで自然に遷移） */
.fv2b-slide{position:absolute;inset:0;opacity:0;}
.fv2b-slide.s1{animation:fv2bB 9s ease-in-out infinite;}  /* 表示順変更(2026-08-17 先方依頼): 丸田代表=2番目 */
.fv2b-slide.s2{animation:fv2bA 9s ease-in-out infinite;}  /* 市川様=先頭 */
.fv2b-slide.s3{animation:fv2bC 9s ease-in-out infinite;}
.fv2b-slide.s2 img,.fv2b-slide.s3 img{object-position:center 8%;}
@keyframes fv2bA{0%,29%{opacity:1}38%,91%{opacity:0}100%{opacity:1}}
@keyframes fv2bB{0%,29%{opacity:0}38%,62%{opacity:1}71%,100%{opacity:0}}
@keyframes fv2bC{0%,62%{opacity:0}71%,91%{opacity:1}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){
  .fv2b-slide{animation:none !important;}
  .fv2b-slide.s2{opacity:1;}
}
/* 画像×テキストのオーバーレイ合成（改善C）：下部を ink へグラデ */
.fv2b-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(38,44,40,.86) 0%,rgba(38,44,40,.5) 26%,rgba(38,44,40,.14) 50%,rgba(38,44,40,0) 66%);}
/* GPT生成装飾レイヤー（改善B 実証第1号）：ink面に金と緑の光を screen 合成 */
.fv2b-deco{position:absolute;inset:0;background:url(../images/fv2-deco-dark2.webp) center/cover no-repeat;mix-blend-mode:screen;opacity:.55;pointer-events:none;z-index:1;}
.fv2b-badge{position:absolute;top:clamp(12px,1.6vw,20px);left:clamp(14px,2vw,28px);z-index:2;margin:0;}
.fv2b-cap{position:absolute;left:0;right:0;bottom:clamp(16px,2.6vw,34px);z-index:2;padding-inline:clamp(18px,4vw,48px);max-width:1200px;margin-inline:auto;}
.fv2b-catch{color:#fff;font-size:clamp(30px,5.4vw,54px);font-weight:900;line-height:1.32;letter-spacing:.01em;}
.fv2b-catch .l{display:block;white-space:nowrap;}
.fv2b-catch .g{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.fv2b-figs{margin-top:clamp(12px,1.8vw,20px);display:inline-flex;align-items:flex-end;gap:clamp(18px,3vw,40px);flex-wrap:wrap;padding:clamp(10px,1.4vw,16px) clamp(14px,2vw,22px);border-radius:var(--r-md);background:rgba(38,44,40,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
.fv2b-k{display:block;font-size:clamp(10.5px,.9vw,12.5px);font-weight:700;color:#c9cbcd;letter-spacing:.04em;}
.fv2b-v{display:block;margin-top:2px;font-family:var(--ff-en);font-weight:700;font-size:clamp(34px,5vw,52px);line-height:1.05;letter-spacing:-.01em;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.fv2b-v.is-rate{font-size:clamp(24px,3.4vw,36px);padding-bottom:.14em;}
.fv2b-u{font-size:.4em;font-weight:700;}
.fv2b-under{margin-top:clamp(18px,2.4vw,26px);}
.fv2b-note{max-width:44em;}
.fv2b-under .fv-sub{margin-top:12px;}
.fv2b-under .fv-cta{margin-top:clamp(18px,2.4vw,26px);}

/* ============ r24-fv1: FVリニューアル案1（スタッフ3名並び） ============ */
/* GPT生成装飾レイヤー（改善B 実証第1号）：淡い水彩ウェーブを背景全面に敷く */
.fv2a::before{content:"";position:absolute;inset:0;background:url(../images/fv2-deco-light.webp) center/cover no-repeat;opacity:.9;pointer-events:none;}
.fv2a .blob{display:none;}

/* SP=1カラム（top→people→rest）＝上部4:5範囲にキャッチ＋顔＋52.9が収まる（インスタ転用要件）
   PC=2カラム（左:top+rest／右:people）を grid-template-areas で構成 */
.fv2a .fv-in{grid-template-areas:"top" "people" "rest";}
.fv2a-top{grid-area:top;}
.fv2a-people{grid-area:people;}
.fv2a-rest{grid-area:rest;}
.fv2a-top .fv-catch{margin-top:clamp(14px,1.8vw,22px);}
.fv2a-rest .fv-peak{margin-top:0;}
@media (min-width:881px){
  .fv2a .fv-in{grid-template-columns:minmax(0,1fr) minmax(0,1.18fr);grid-template-areas:"top people" "rest people";align-items:start;gap:clamp(22px,2.6vw,34px) clamp(34px,3.8vw,56px);}
  .fv2a-top{align-self:end;}
  .fv2a-people{align-self:center;padding-bottom:0;gap:clamp(12px,1.4vw,20px);}
  .fv2a-card{width:32.5%;}
  /* ★万円縦積みバグ対策：左カラムを1.18frに広げた分、176px上限の数字がカードから溢れ
     「万円」spanがflex縮小で1文字幅に潰れて縦積みになった。数字をカラム幅にフィットさせる */
  .fv2a-rest .fv-peak-v{font-size:clamp(100px,10.2vw,132px);}
}
.fv2a-people{position:relative;display:flex;align-items:flex-end;justify-content:center;gap:clamp(10px,1.4vw,18px);padding-bottom:clamp(26px,3vw,34px);}
.fv2a-card{position:relative;border-radius:clamp(14px,1.6vw,20px);overflow:hidden;background:#f4f5f4;box-shadow:var(--shadow-md);}
.fv2a-card img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;}
.fv2a-card{width:32%;aspect-ratio:3/4;}
/* 縁のグラデフェード：写真下端を面へ溶かす */
.fv2a-card::after{content:"";position:absolute;inset:auto 0 0 0;height:26%;background:linear-gradient(to top,rgba(244,245,244,.92) 0%,rgba(244,245,244,0) 100%);pointer-events:none;}
.fv2a-chip{position:absolute;left:auto;right:0;bottom:0;z-index:3;width:auto;padding:9px 14px;gap:8px;box-shadow:var(--shadow-md);}
.fv2a-chip .k{font-size:clamp(11px,.9vw,12.5px);line-height:1.4;}
@media (max-width:600px){
  .fv2a{padding-block:clamp(22px,4vw,34px) clamp(44px,6vw,58px);}
  .fv2a .fv-catch{margin-top:14px;}
  .fv2a .fv-sub{margin-top:12px;}
  .fv2a .fv-cta{margin-top:18px;}
  .fv2a-people{gap:8px;padding-bottom:20px;}
}


/* ============ 案2＝案1と完全同一・画像箇所のみスライダー（2026-08-17 坪田さん指示） ============ */
/* 表示切替：PC=fv2a構造（fv2s）／SP=現行シネマ（fv2m） */
@media (max-width:880px){ .fv2s{display:none;} }
@media (min-width:881px){ .fv2m{display:none;} }
/* スライダーカード＝案1のカード意匠のまま1枚大サイズ・中でクロスフェード */
.fv2a-sliderwrap{display:block;}
.fv2a-card.fv2a-slidercard{position:relative;width:100%;aspect-ratio:5/4;overflow:hidden;}
.fv2a-slidercard .fv2b-slide{position:absolute;inset:0;}
.fv2a-slidercard .fv2b-slide img{width:100%;height:100%;object-fit:cover;object-position:center 10%;}

/* ============ 2026-08-17 SP装飾統一＋上部強化（坪田さんFB） ============ */
/* (1) sub〜CTA〜見学チップ一帯：案1と同じ水彩（fv2-deco-light）をセクション全幅に敷き、出し方を案1と統一 */
.fv2m{position:relative;}
.fv2m::before{content:"";position:absolute;inset:0;background:url(../images/fv2-deco-light.webp) center bottom/cover no-repeat;opacity:.9;pointer-events:none;}
.fv2m .fv2b-hero{z-index:1;}
.fv2m .fv2b-under{position:relative;z-index:1;}
/* (2) hero上部：明るいカーテン背景には screen が効かないため、a3（緑金ウェーブ）を通常合成の薄いもやとして乗せる（派手すぎない opacity .55・下端はマスクで自然に消す） */
/* 2026-08-17 追修正（坪田さんFB）：もやが人物の顔にかかっていたため、上端の帯（高さ22%・早めのフェード）に限定＝人にはかけない */
.fv2b-deco-top{position:absolute;top:0;left:0;right:0;height:22%;background:url(../images/fv2-deco-light2.webp) left top/cover no-repeat;opacity:.3;pointer-events:none;z-index:1;-webkit-mask-image:linear-gradient(to bottom,#000 25%,transparent 100%);mask-image:linear-gradient(to bottom,#000 25%,transparent 100%);}

/* ============ r25: FV以下のセクションにもGPT生成水彩をアクセント配置（FVトンマナ統一・過剰にしない） ============ */
.sec > .wrap{position:relative;z-index:1;}
/* 収入のリアル（ダーク）：右上に緑霞を screen 合成（FV案2ダーク装飾と同系） */
#income::before{content:"";position:absolute;top:0;right:0;width:min(78vw,560px);height:min(52vw,420px);background:url(../images/fv2-deco-dark3.webp) right top/cover no-repeat;mix-blend-mode:screen;opacity:.5;pointer-events:none;-webkit-mask-image:linear-gradient(225deg,#000 25%,transparent 75%);mask-image:linear-gradient(225deg,#000 25%,transparent 75%);}
/* 代表メッセージ（山場）：上端全幅に淡い緑金の帯 */
#message::before{content:"";position:absolute;top:0;left:0;right:0;height:min(34vw,240px);background:url(../images/fv2-deco-light2.webp) center top/cover no-repeat;mix-blend-mode:multiply;opacity:.45;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,#000 30%,transparent 100%);mask-image:linear-gradient(to bottom,#000 30%,transparent 100%);}
/* 仲間たちの紹介：右上コーナーに淡い水彩 */
#people::before{content:"";position:absolute;top:0;right:0;width:min(60vw,440px);height:min(40vw,300px);background:url(../images/fv2-deco-light.webp) right top/cover no-repeat;mix-blend-mode:multiply;opacity:.45;pointer-events:none;-webkit-mask-image:linear-gradient(225deg,#000 25%,transparent 75%);mask-image:linear-gradient(225deg,#000 25%,transparent 75%);}
/* 応募フォーム：上端の細帯のみ（CV視認性最優先・ごく薄く） */
#form::before{content:"";position:absolute;top:0;left:0;right:0;height:min(24vw,160px);background:url(../images/fv2-deco-light2.webp) center top/cover no-repeat;mix-blend-mode:multiply;opacity:.35;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,#000 25%,transparent 100%);mask-image:linear-gradient(to bottom,#000 25%,transparent 100%);}

/* ============ r27: 追従バーにLINEボタンを並列（先方要望 2026-08-17） ============ */
.stick{display:flex;gap:10px;}
.stick .btn{width:auto;flex:1;min-height:54px;padding:0 14px;}
.stick .stick-line{background:#06C755;color:#fff;}
.stick .stick-line:hover{background:#05b34c;}
