/* One shared frame and text grid for all nine TOP slides. */
.hero-slider{
  position:relative;isolation:isolate;width:100%;
  height:clamp(560px,calc(100svh - 82px),820px);
  overflow:hidden;background:linear-gradient(115deg,#dbf9b8,#b6f2dc 60%,#b4eef4);
  color:#fff;font-family:Inter,"Noto Sans JP",sans-serif;touch-action:pan-y;
}
.hero-slider *{box-sizing:border-box}
.hero-slider__slides,.hero-slider__slide{position:absolute;inset:0}
.hero-slider__slide{
  visibility:hidden;opacity:0;
  transition:opacity .72s ease,visibility 0s linear .82s;
  pointer-events:none;
}
.hero-slider__slide.is-active{
  visibility:visible;opacity:1;
  transition:opacity .72s ease,visibility 0s;
  pointer-events:auto;z-index:1;
}
.hero-slider__slide.is-leaving{
  visibility:visible;opacity:0;
  transition:opacity .72s ease,visibility 0s linear .82s;z-index:0;
}
.hero-slider__visit{
  display:grid;grid-template-areas:"frame";width:100%;height:100%;
  overflow:hidden;text-decoration:none;color:inherit;outline-offset:-8px;
}
.hero-slider__media,.hero-slider__shade,.hero-slider__copy{grid-area:frame}
.hero-slider__media{
  position:relative;display:block;width:100%;height:100%;overflow:hidden;
  background:#123c31;
}
.hero-slider__media img{
  display:block;width:100%;height:100%;max-width:none;
  object-fit:cover;object-position:var(--hero-slider-object-position,center 46%);
}
/* The site's global scroll reveal adds classes to every image. Keep slider crops stable. */
.motion-ready .hero-slider .hero-slider__media img.reveal-image{
  opacity:1;transition:none;
}
/* These three existing files contain their former header and copy in the pixels.
   The same crop hides that baked-in header and the same image frame is retained. */
.motion-ready .hero-slider .hero-slider__media--embedded img.reveal-image,
.hero-slider .hero-slider__media--embedded img{
  height:118%;transform:translateY(-15.25%);clip-path:inset(0 0 0 43%);
}
/* MESSAGE and BUSINESS already contain their copy in the original image. */
.motion-ready .hero-slider .hero-slider__media--baked img.reveal-image,
.hero-slider .hero-slider__media--baked img{
  height:112%;transform:translateY(-10.7%);clip-path:none;object-fit:fill;
}
@media(min-width:768px){
  .hero-slider__slide--baked .hero-slider__shade,
  .hero-slider__slide--baked .hero-slider__copy{display:none}
}
.hero-slider__media--light{background:linear-gradient(120deg,#e6ffed,#b7edee)}
.hero-slider__shade{
  display:block;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,#0b2c23e8 0%,#0b2c23bf 35%,#0b2c234f 70%,#0b2c2326 100%);
}
.hero-slider__media--light~.hero-slider__shade{
  background:linear-gradient(90deg,#e6ffedf7 0%,#e6ffede2 38%,#e6ffed28 72%,transparent 100%);
}
.hero-slider__visit:after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:clamp(70px,9vw,120px);
  z-index:3;background:linear-gradient(105deg,#dcfaaa,#b7f2cd 54%,#a8edf1);
  clip-path:polygon(0 34%,31% 92%,57% 100%,100% 25%,100% 100%,0 100%);
  pointer-events:none;
}
.hero-slider__copy{
  position:relative;z-index:2;display:grid;
  grid-template-rows:48px clamp(200px,21vw,300px) minmax(0,1fr) auto;
  width:min(62%,880px);height:100%;
  padding:clamp(52px,9vh,105px) 0 clamp(104px,12vh,145px) clamp(30px,7vw,130px);
  color:#fff;text-shadow:0 2px 18px #08261da8;
}
.hero-slider__media--light~.hero-slider__copy{color:#0d3a32;text-shadow:none}
.hero-slider__eyebrow{
  grid-row:1;justify-self:start;align-self:start;display:inline-block;
  width:240px;border-bottom:1px solid #e8fff0c0;padding:0 0 11px;
  font-size:clamp(.85rem,1.1vw,1.12rem);font-weight:800;letter-spacing:.14em;line-height:1.5;
}
.hero-slider__media--light~.hero-slider__copy .hero-slider__eyebrow{border-color:#70aa8b;color:#247762}
.hero-slider__copy strong,.hero-slider__copy h1{
  grid-row:2;align-self:start;display:block;margin:0;color:inherit;
  font-size:clamp(2.65rem,5vw,5.35rem);letter-spacing:-.055em;line-height:1.22;font-weight:900;
}
.hero-slider__sub{
  grid-row:3;align-self:start;margin-top:18px;
  font-size:clamp(1rem,1.45vw,1.35rem);font-weight:700;line-height:1.7;
}
.hero-slider__cta{
  grid-row:4;justify-self:start;align-self:end;
  display:inline-flex;align-items:center;justify-content:center;
  min-height:58px;padding:14px 30px;border-radius:999px;
  background:linear-gradient(105deg,#e5fca5,#a6efdf 73%,#93e4ed);
  color:#123d36;text-shadow:none;font-weight:850;font-size:1rem;
  box-shadow:0 12px 30px #10302558;
}
.hero-slider__controls{
  position:absolute;z-index:5;left:0;right:0;bottom:clamp(26px,3vw,52px);
  display:flex;justify-content:flex-end;align-items:center;gap:22px;
  padding:0 clamp(30px,6vw,110px);pointer-events:none;
}
.hero-slider__arrows{display:flex;gap:8px;pointer-events:auto}
.hero-slider__arrow{
  display:grid;place-items:center;width:48px;height:48px;border:1px solid #ffffffb8;
  border-radius:50%;background:#113b33a8;color:#fff;backdrop-filter:blur(8px);
  font:600 1.35rem/1 Inter,sans-serif;cursor:pointer;transition:background .2s,transform .2s;
}
.hero-slider__arrow:hover{background:#246c5e;transform:translateY(-2px)}
.hero-slider__arrow:focus-visible{outline:3px solid #d9fa95;outline-offset:3px}
.hero-slider__count{
  display:flex;align-items:center;justify-content:center;gap:7px;width:92px;min-width:92px;
  padding:9px 13px;border:1px solid #ffffffa6;border-radius:999px;
  background:#113b33af;color:#fff;backdrop-filter:blur(8px);
  font:800 .88rem/1.2 Inter,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.08em;
}
.hero-slider__slash{opacity:.65}
@media(min-width:768px) and (max-width:1199px){
  .hero-slider{height:clamp(520px,calc(100svh - 72px),720px)}
  .hero-slider__copy{width:min(68%,720px);padding:55px 0 100px 6vw;grid-template-rows:48px 240px minmax(0,1fr) auto}
  .hero-slider__copy strong,.hero-slider__copy h1{font-size:clamp(2.4rem,5.2vw,4rem)}
  .hero-slider__slide--baked:has(source[media="(max-width:1199px)"]) .hero-slider__visit{
    grid-template-rows:47% 53%;grid-template-areas:"media" "copy";
    background:linear-gradient(140deg,#e8ffdc,#c8f6e6 65%,#d6f6f9);
  }
  .hero-slider__slide--baked:has(source[media="(max-width:1199px)"]) .hero-slider__media{grid-area:media}
  .hero-slider__slide--baked:has(source[media="(max-width:1199px)"]) .hero-slider__shade,
  .hero-slider__slide--baked:has(source[media="(max-width:1199px)"]) .hero-slider__visit:after{display:none}
  .hero-slider__slide--baked:has(source[media="(max-width:1199px)"]) .hero-slider__copy{
    grid-area:copy;width:100%;height:100%;
    grid-template-rows:44px 124px minmax(0,1fr) auto;
    padding:30px 6vw 56px;color:#0d3a32;text-shadow:none;display:grid;
  }
  .hero-slider__slide--baked:has(source[media="(max-width:1199px)"]) .hero-slider__eyebrow{border-color:#70aa8b;color:#247762}
  .hero-slider__slide--baked:has(source[media="(max-width:1199px)"]) .hero-slider__copy strong{font-size:clamp(2.1rem,4.3vw,3.2rem);color:#0b3d35}
  .motion-ready .hero-slider .hero-slider__media--baked:has(source[media="(max-width:1199px)"]) img.reveal-image,
  .hero-slider .hero-slider__media--baked:has(source[media="(max-width:1199px)"]) img{
    width:100%;height:100%;transform:none;object-fit:cover;
    object-position:var(--hero-slider-object-position-mobile,center 30%);clip-path:none;
  }
}
@media(max-width:767px){
  .hero-slider{height:clamp(650px,calc(100dvh - 70px),830px)}
  .hero-slider__visit{
    grid-template-rows:42% 58%;grid-template-areas:"media" "copy";
    background:linear-gradient(140deg,#e8ffdc,#c8f6e6 65%,#d6f6f9);
  }
  .hero-slider__media{grid-area:media;width:100%;height:100%;background:#164236}
  .hero-slider__media img{
    object-position:var(--hero-slider-object-position-mobile,var(--hero-slider-object-position,center 46%));
  }
  .motion-ready .hero-slider .hero-slider__media--embedded img.reveal-image,
  .hero-slider .hero-slider__media--embedded img{clip-path:none}
  .motion-ready .hero-slider .hero-slider__media--baked img.reveal-image,
  .hero-slider .hero-slider__media--baked img{
    position:absolute;right:0;top:0;width:185%;height:118%;
    transform:translateY(-15.25%);object-fit:fill;object-position:right top;clip-path:none;
  }
  .motion-ready .hero-slider .hero-slider__media--baked:has(source) img.reveal-image,
  .hero-slider .hero-slider__media--baked:has(source) img{
    position:static;width:100%;height:100%;transform:none;
    object-fit:cover;object-position:var(--hero-slider-object-position-mobile,center 30%);
  }
  .hero-slider__shade,.hero-slider__visit:after{display:none}
  .hero-slider__copy{
    grid-area:copy;width:100%;height:100%;
    grid-template-rows:38px 138px minmax(0,1fr) auto;
    padding:28px 7vw 66px;color:#0d3a32;text-shadow:none;
  }
  .hero-slider__eyebrow{
    width:205px;border-color:#70aa8b;color:#247762;font-size:.78rem;
  }
  .hero-slider__copy strong,.hero-slider__copy h1{
    font-size:clamp(1.5rem,6.4vw,2.45rem);line-height:1.35;letter-spacing:-.045em;color:#0b3d35;
  }
  .hero-slider__sub{font-size:.93rem;line-height:1.55;margin-top:10px;color:#1f5146}
  .hero-slider__cta{
    min-height:48px;padding:10px 20px;font-size:.88rem;
    box-shadow:0 6px 17px #50bba03b;
  }
  .hero-slider__controls{bottom:22px;left:0;right:0;padding:0 7vw;justify-content:flex-end}
  .hero-slider__arrows{display:none}
  .hero-slider__count{background:#ffffffd9;border-color:#b6d8c7;color:#1b6653}
}
@media(max-width:370px){
  .hero-slider__copy strong,.hero-slider__copy h1{font-size:1.55rem}
  .hero-slider__sub{font-size:.86rem}
}
@media(prefers-reduced-motion:reduce){
  .hero-slider__slide,.hero-slider__slide.is-active,.hero-slider__slide.is-leaving{transition:none;transform:none}
  .hero-slider__arrow{transition:none}
}
