/* ===== 固定ヘッダー ===== */
.head{position:fixed;inset:0 0 auto;height:var(--head-h);z-index:60;background:rgba(255,255,255,.96);
  backdrop-filter:blur(6px);box-shadow:0 2px 14px rgba(40,90,60,.12)}
.head-in{height:100%;width:min(1180px,96vw);margin-inline:auto;display:grid;
  grid-template-columns:1fr auto;align-items:center;gap:14px}
.head-in>a:first-child{justify-self:start}
.head-contact{justify-self:center;font-size:.92rem;padding:.68em 2.5em;white-space:nowrap}
.head-logo{height:38px;width:auto}
.head-hours{font-weight:800;font-size:.95rem;color:var(--green);white-space:nowrap;text-align:center}
.head-hours b{font-family:var(--font-num);font-size:1.12rem;color:var(--ink);margin:0 .15em}
.head-hours small{display:block;font-size:.7rem;font-weight:700;color:var(--ink-sub)}
.head-nav{display:flex;gap:10px;align-items:center;justify-self:end}
.head-nav .btn{font-size:.92rem;padding:.68em 2.5em;white-space:nowrap;box-shadow:0 4px 0 rgba(0,0,0,.14)}
.head-nav .btn img,.head-contact img{flex:none;height:1em;width:auto;object-fit:contain}
.head-nav .btn-white{box-shadow:0 4px 0 rgba(54,127,62,.22);border:2px solid #e3f0e4}
/* スマホ下部固定バー */
.fixbar{display:none}
@media(max-width:800px){
  .head-contact,.head-nav{display:none}
  body{padding-bottom:78px}
  .fixbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;
    box-shadow:0 -2px 14px rgba(40,90,60,.18)}
  .fixbar-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25em;
    color:#fff;font-weight:900;font-size:.8rem;padding:.7em .2em;text-decoration:none;
    white-space:nowrap;border-right:1px solid rgba(255,255,255,.25)}
  .fixbar-item img{flex:none;height:20px;width:auto;object-fit:contain}
  .fixbar-item:last-child{border-right:0}
}

/* ===== FV ===== */
.hero{position:relative;overflow:hidden;padding:30px 0 0;
  background:url("images/hero/hero-bg.jpg") center top/cover no-repeat}
/*
.cloud{position:absolute;background:#fff;border-radius:50%;opacity:.8;filter:blur(.3px)}
.c1{width:210px;height:70px;left:32%;top:40px}
.c2{width:140px;height:50px;left:6%;top:14px;opacity:.55}
.c3{width:180px;height:60px;right:6%;top:16px;opacity:.6}
*/
.deco-leaf{position:absolute;pointer-events:none;opacity:.95;z-index:2}
.hero-grid{position:relative;z-index:3;width:min(1180px,94vw);margin-inline:auto;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.42fr);
  gap:22px;align-items:center;padding:32.5px 0}
@media(min-width:1500px){
  .hero-grid{padding-bottom:0}
}
.hero-left{text-align:left}
.fv-loc{display:inline-flex;align-items:center;gap:.35em;background:#fff;border-radius:999px;
  padding:.35em 3.1em;font-weight:800;color:var(--green);font-size:clamp(.75rem,2.1vw,.86rem);
  box-shadow:0 4px 12px rgba(40,90,60,.14)}
.catch-cluster{display:grid;grid-template-columns:max-content;width:max-content;max-width:100%}
.fv-head{display:block;width:auto;max-width:100%;margin:0;text-align:center}
.fv-head-icon{width:min(350px,calc(36.96vw - 10px));max-width:100%;margin:0 auto 6px}
.hero-sub{margin:16px 0 2px;font-weight:900;color:var(--green);letter-spacing:.14em;
  font-size:clamp(.95rem,2.6vw,1.15rem);text-align:center}
.hero-sub span{display:inline-block;position:relative;white-space:nowrap;padding:0 26px}
.hero-sub span::before,.hero-sub span::after{content:"";position:absolute;top:0;height:100%;width:12px;
  background:var(--green)}
.hero-sub span::before{left:2px;clip-path:polygon(0 0,40% 0,100% 100%,60% 100%)}
.hero-sub span::after{right:2px;clip-path:polygon(60% 0,100% 0,40% 100%,0 100%)}
.hero-logo{width:min(400px,calc(36.96vw - 10px));max-width:100%;margin:2px 0 10px;justify-self:start}
.hero-catch{margin:0 0 .2em;font-size:clamp(1.7rem,3.8vw,2.7rem);font-weight:900;line-height:1.4;
  letter-spacing:.01em}
@media(min-width:901px) and (max-width:1206px){
  .hero-catch{font-size:clamp(1.6rem,3.55vw,2.55rem)}
}
.hero-catch .mkl{background:linear-gradient(transparent 54%,var(--marker) 54%);color:var(--orange);
  padding:0 .1em;-webkit-text-stroke:3px #fff;paint-order:stroke fill;
  text-shadow:0 0 6px #fff,0 0 6px #fff}
.hero-catch .gr{color:var(--green)}
.gr-line{display:inline-block;margin-top:.18em}
.hero-subcopy{margin:.5em 0;font-size:clamp(.9rem,2.2vw,1.02rem);font-weight:800;color:#1f4b2a}
@media(min-width:901px){
  .hero-subcopy{font-size:clamp(calc(.9rem + 1px),calc(2.2vw + 1px),calc(1.02rem + 1px))}
}
.hero-subcopy .q{color:var(--green)}
.hero-info p.mt-half,.hero-info p:last-child{font-size:clamp(.9rem,2.2vw,1.02rem)}
.hero-info p.mt-half{margin-top:.5em}
.hero-info dl{display:grid;grid-template-columns:auto 1fr;gap:10px 14px;margin:0;align-items:start}
.hero-info dt{white-space:nowrap}
.hero-info dd{margin:0;font-weight:800;font-size:clamp(.98rem,2.4vw,1.12rem)}
.hero-info .note{display:block;font-weight:500;font-size:.84rem;color:var(--ink-sub)}
.hero-info a.note.tel-link{font-size:1.5rem;font-weight:800;color:var(--green);text-decoration:none}
.hero-info a.note.tel-link:hover,.hero-info a.note.tel-link:focus-visible{text-decoration:underline}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 0}
.hero-right{position:relative;align-self:center}
.hero-photo{width:100%;border-radius:22px;border:7px solid #fff;
  box-shadow:0 18px 34px rgba(30,70,100,.26)}
.hero-shimaenaga{position:absolute;top:-16px;left:-14px;width:12.5%;z-index:6;
  filter:drop-shadow(0 6px 10px rgba(0,0,0,.2));pointer-events:none}
.hero-tagline{position:absolute;top:0;left:50%;transform:translate(-50%,-33%);z-index:5;
  margin:0;width:max-content;max-width:none;white-space:nowrap;text-align:center;font-weight:900;line-height:1.4;
  color:var(--green);background:#fff;border:2px solid #f6c877;
  border-radius:22px;padding:.5em 1em;font-size:clamp(16px,3.4vw,24px);
  box-shadow:0 6px 14px rgba(0,0,0,.14)}
@media(max-width:1200px) and (min-width:901px){
  .hero-tagline{font-size:clamp(15px,calc(1.92vw - 2.7px),22px);padding:.4em .8em}
}
.hero-owl{position:absolute;top:-18px;right:-14px;width:20%;max-width:120px;z-index:6;
  filter:drop-shadow(0 6px 10px rgba(0,0,0,.2));pointer-events:none}
.hero-deer{position:absolute;bottom:-14px;right:-10px;width:24%;max-width:140px;z-index:4;
  filter:drop-shadow(0 6px 10px rgba(0,0,0,.2));pointer-events:none}
.hero-ribbon{position:absolute;top:78px;right:-55px;width:45%;max-width:300px;
  transform:rotate(30deg);transform-origin:right top;z-index:4;
  filter:drop-shadow(0 6px 10px rgba(0,0,0,.25));pointer-events:none}
.main-hontai{position:absolute;right: 0px;;bottom:-50px;width:80%;z-index:5;
  transform:translateY(50%)}
.chara-wrap{position:absolute;z-index:6;display:flex;flex-direction:column;align-items:center;gap:6px}
.chara-wrap.left{left:clamp(8px,3.4vw,58px);bottom:30px;width:min(150px,12vw)}
.chara-wrap.right{right:clamp(2px,1vw,18px);bottom:30px;width:min(168px,13vw)}
.chara-wrap img{width:100%}
.chara-wrap img{width:100%;filter:drop-shadow(0 8px 12px rgba(40,90,60,.2))}
.bubble{position:relative;background:#fff;border-radius:14px;padding:.45em .9em;font-weight:900;
  font-size:clamp(.7rem,1.6vw,.88rem);color:var(--green);line-height:1.45;text-align:center;
  box-shadow:0 5px 12px rgba(40,90,60,.18)}
@media(min-width:901px) and (max-width:949px){
  .chara-wrap.right .bubble{white-space:nowrap}
}
.bubble::after{content:"";position:absolute;bottom:-9px;left:50%;transform:translateX(-50%);
  border:9px solid transparent;border-top-color:#fff;border-bottom:0}
.grassband{position:relative;height:96px;background:var(--grass);z-index:2;margin-top:-40px}
.grassband::before{content:"";position:absolute;left:0;right:0;top:-28px;height:30px;background:var(--grass);
  -webkit-mask:radial-gradient(16px 30px at 16px 0,transparent 98%,#000) repeat-x;
  mask:radial-gradient(16px 30px at 16px 0,transparent 98%,#000) repeat-x;
  -webkit-mask-size:32px 30px;mask-size:32px 30px}
.hero-yama{display:block;width:100%;position:relative;z-index:2;margin-top:-40px}
@media(min-width:1500px){
  .hero-yama{margin-top:-80px}
}
.hero-hontai{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);
  z-index:5;pointer-events:none;width:45%}

/* ===== 3つの理由 ===== */
.reason{display:grid;grid-template-columns:88px 1fr 250px;gap:22px;align-items:center}
.reason .num{width:78px;height:78px;font-family:var(--font-num)}
.reason .num b{font-size:1.9rem}
.reason h3{font-size:clamp(1.1rem,3.2vw,1.4rem)}
.donate::before{content:"";position:absolute;inset:10px;border:3px solid var(--orange);
  border-radius:16px;pointer-events:none}
.donate-title{font-size:clamp(1.3rem,4vw,1.8rem)}
.donate-title span{background:linear-gradient(transparent 54%,var(--marker) 54%);color:var(--orange);padding:0 .15em}

/* ===== おトク情報 ===== */
.bonus-grid{display:grid;grid-template-columns:1.32fr .95fr}
.bonus-card h3{font-size:clamp(1.15rem,3.2vw,1.45rem)}
.wday-row .d{font-size:clamp(.98rem,2.6vw,1.18rem)}
.wday-row .d em{font-style:normal;font-family:var(--font-num);font-size:1.12em;margin:0 .1em}
.bonus-card p.double{font-size:clamp(1.3rem,4.4vw,1.9rem)}
.bonus-card p.double span{background:linear-gradient(transparent 54%,var(--marker) 54%);color:var(--orange);padding:0 .15em}
@media(max-width:900px){.bonus-grid{grid-template-columns:1fr}}

/* ===== 回収品目 ===== */
.item-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.item-grid>.item>img{width:50%;margin-inline:auto}
.item-name{font-size:clamp(1.15rem,3.2vw,1.4rem)}
.rule h4{margin:0 0 .3em;font-size:.95rem;font-weight:900;display:flex;align-items:center;gap:.4em}
.rule.ok h4{color:var(--green)}
.rule.ok h4::before{content:"OK";background:var(--green);color:#fff;border-radius:6px;font-size:.72rem;
  padding:.1em .5em;font-family:var(--font-num)}
.rule.ng h4{color:var(--red)}
.rule.ng h4::before{content:"NG";background:var(--red);color:#fff;border-radius:6px;font-size:.72rem;
  padding:.1em .5em;font-family:var(--font-num)}

/* ===== 流れ ===== */
.first-time{position:relative;border-radius:18px}
.first-time img.ft-shimaenaga3{position:absolute;left:-25px;top:-33px;width:120px;height:auto;z-index:2;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.15));pointer-events:none}
.first-time img{width:auto;height:210px}
.flow-row{display:grid;grid-template-columns:521fr 281fr;grid-template-rows:auto 1fr;
  grid-template-areas:"title imga" "side imga";
  column-gap:20px;row-gap:10px;align-items:stretch;padding:18px 36px}
.flow-shot{width:auto;height:210px}
.flow-shot-a{grid-area:imga;align-self:center;justify-self:end;height:210px}
.flow-side{grid-area:side;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;margin-left:10px}
.flow-shot-b{align-self:flex-end;height:105px}
.flow-step{grid-area:title;justify-self:start;align-self:start;font-size:18px;margin:20px 0 0}
.step-badge{margin-left:10px}
.flow-row>.flow-side>figcaption{text-align:left;font-size:16px}
.flow-note{font-size:16px}
.flow .sec-lead{font-size:16px}
.first-time-lead{font-size:16px}

/* ===== アクセス ===== */
.acc-grid{display:grid;grid-template-columns:1.05fr .95fr}
.acc-info dl{display:grid;grid-template-columns:auto 1fr}
.acc-info .pill{width:90px}
.acc-map iframe{height:380px}
.acc-cta{text-align:center;margin:30px 0 0;padding-bottom:70px}

/* ===== フッター（V1デザイン） ===== */

@media(max-width:1540px) and (min-width:901px){
  .chara-wrap.left{left:auto;right:calc(50% + 4px);width:min(150px,12vw)}
  .chara-wrap.right{left:calc(50% + 4px);right:auto;width:min(150px,12vw)}
}
@media(max-width:1200px) and (min-width:901px){
  .hero-right{align-self:center}
}
@media(max-width:900px){
  .hero-hontai{display:none}
  .reason{grid-template-columns:64px 1fr;gap:14px}
  .reason .num{width:60px;height:60px;font-size:.78rem}
  .reason .num b{font-size:1.4rem}
  .reason .pic{grid-column:1 / -1}
  .reason .pic img{max-width:240px}
  .reason>div:not(.num):not(.pic){display:contents}
  .reason p{grid-column:1 / -1}
  .item-grid{grid-template-columns:1fr}
  .item>img{max-width:420px;margin-inline:auto}
  .acc-grid{grid-template-columns:1fr}
  .hero-grid{grid-template-columns:1fr;gap:24px;padding:0 0 150px;justify-items:center;text-align:center}
  .hero-left{text-align:center}
  .hero-left hr{margin-inline:auto}
  .hero-logo{width:250px;max-width:100%;margin-inline:auto;justify-self:center}
  .fv-head-icon{width:250px;max-width:100%}
  .catch-cluster{margin-inline:auto}
  .hero-ribbon{left:-10px;top:20px;right:auto;transform:rotate(-8deg);transform-origin:left top}
  .chara-wrap.left{width:22vw;left:6px;right:auto;bottom:16px}
  .chara-wrap.right{width:22vw;left:calc(6px + 22vw + 8px);right:auto;bottom:16px}
  .grassband{margin-top:-30px;height:76px}
}
.brsp-sm{display:none}
@media(max-width:640px){
  .brsp-sm{display:block}
  .acc-info dl{grid-template-columns:1fr}
  .acc-info .pill{width:auto}
  .reason{align-items:center}
  :root{--head-h:58px}
  .head-hours{display:none}
  .head-logo{height:30px}
  .head-cta{font-size:.8rem;padding:.65em 1em}
  .ribbon{font-size:.98rem;padding:.5em 1.4em}
  .chara-wrap.left{width:27vw;bottom:14px;left:6px;right:auto}
  .chara-wrap.right{width:27vw;bottom:14px;left:calc(6px + 27vw + 6px);right:auto}
  .hero-grid{padding-bottom:190px}
  .bubble{font-size:.7rem}
  .flow-row{grid-template-columns:1fr;grid-template-areas:"title" "imga" "side";
    row-gap:.6em;text-align:center;padding:16px}
  .flow-shot{width:100%;height:auto;max-width:240px}
  .flow-shot-a{justify-self:center;align-self:center;height:auto}
  .flow-side{align-items:center;margin-left:0}
  .flow-shot-b{align-self:center;height:auto}
  .flow-row>.flow-side>figcaption{text-align:center;font-size:.9rem}
  .flow-step{font-size:clamp(.92rem,2.4vw,1.05rem);justify-self:center}
  .flow .sec-lead{font-size:.98rem}
  .flow-note{font-size:clamp(1rem,3vw,1.2rem)}
  .first-time-lead{font-size:.95rem}
  .first-time{flex-direction:column;text-align:center;border-radius:18px}
  .first-time img{width:100%;height:auto;max-width:240px}
  .acc-map iframe{height:300px}
}

/* ===== よくある質問 ===== */
details.qa{overflow:hidden;
  transition:box-shadow .25s ease,border-color .25s ease}
details.qa[open]{border-color:#c9e5c9;box-shadow:0 10px 24px rgba(60,110,90,.13)}
details.qa summary{font-size:clamp(.95rem,2.4vw,1.05rem)}
details.qa summary::-webkit-details-marker{display:none}
details.qa summary::before{content:"Q";flex:none;width:30px;height:30px;border-radius:50%;
  background:var(--green);color:#fff;font-family:var(--font-num);font-weight:800;font-size:.95rem;
  display:grid;place-items:center;margin-top:1px}
details.qa summary::after{content:"";position:absolute;right:20px;top:50%;width:11px;height:11px;
  border-right:3px solid var(--grass-dk);border-bottom:3px solid var(--grass-dk);border-radius:2px;
  transform:translateY(-70%) rotate(45deg);transition:transform .3s ease}
details.qa[open] summary::after{transform:translateY(-30%) rotate(225deg)}
details.qa summary:hover{background:#f7fcf7}
.qa-body{animation:fadeUp .35s ease both}
.qa-body::before{content:"A";flex:none;width:30px;height:30px;border-radius:50%;
  background:var(--orange);color:#fff;font-family:var(--font-num);font-weight:800;font-size:.95rem;
  display:grid;place-items:center;margin-top:1px}
.qa-body p{margin:0}
.qa-body>div{flex:1}
.qa-body .paper-list{margin:.7em 0 0;padding-left:1.2em}
.qa-body .paper-list li{margin:.35em 0;line-height:1.75}
.qa-body .pl-note{display:block;font-size:.86em;color:#7b7876}
.qa-body .pl-ng{margin:.9em 0 0;background:#fdf1f1;border-radius:12px;padding:11px 14px;font-size:.92em}
.qa-body .pl-ng b{color:var(--red)}
.qa-body b{color:var(--green)}

/* ===== 場所の補足（マップ下・オレンジ） ===== */
.behind{padding:24px 26px 26px}
.behind h3{font-size:clamp(1.08rem,3vw,1.4rem)}
.behind-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:14px;align-items:start}
.behind-grid figure{margin:0}
.behind-grid figure>img{width:100%;border-radius:12px;border:1px solid #e9ddc4;background:#fff}
.behind-grid figure:nth-child(2) img,.behind-grid .ph-wrap>img{height:357px;object-fit:cover}
.behind-grid figcaption{margin-top:.45em;font-size:clamp(14px,13.538px + .128vw,16px);
  color:var(--ink-sub);line-height:1.55}

/* のぼり吹き出し（写真②の中） */
.behind-grid .ph-wrap{position:relative}
.behind-grid .ph-wrap>img{width:100%;border-radius:12px;border:1px solid #e9ddc4;background:#fff}
.flagtip{position:absolute;right:7px;left:auto;bottom:7px;display:flex;align-items:center;gap:4px;
  max-width:calc(100% - 14px);background:rgba(255,255,255,.96);border:2px solid #f6c877;
  border-radius:15px;padding:7px 13px 7px 8px;box-shadow:0 5px 12px rgba(30,50,20,.28)}
.flagtip .nb{width:auto;height:192px;box-sizing:border-box;padding:3px;border-radius:6px}
.flagtip b{color:#c2560f;font-size:.9rem;font-weight:900;line-height:1.4;
  writing-mode:vertical-rl;text-orientation:mixed;display:flex;flex-direction:row;
  align-items:center;gap:.15em}
.flagtip b::before{content:"／";font-weight:900;color:#f6c877}
.flagtip b::after{content:"＼";font-weight:900;color:#f6c877}
.flagtip-text b{writing-mode:horizontal-tb;text-align:center;line-height:1.4}
.flagtip-text b::before,.flagtip-text b::after{content:none}

@media(max-width:1200px){
  .behind-grid{grid-template-columns:1fr 1fr}
  .behind-grid figure:nth-child(1) img{height:357px;object-fit:cover}
  .behind-grid .ph-wrap{position:relative}
  .behind-grid .ph-wrap>img{width:100%}
  .flagtip{position:absolute;left:100%;top:0;bottom:auto;margin-left:10px;
    width:max-content;max-width:none;height:357px;box-sizing:border-box}
  .flagtip .nb{width:auto;max-width:none;height:100%}
}
@media(max-width:760px){
  .behind{padding:20px 16px 22px}
  .behind-grid{grid-template-columns:1fr}
  .behind-grid figure:first-child{grid-column:1 / -1}
  .flagtip{position:absolute;right:5px;left:auto;bottom:5px;top:auto;margin-left:0;
    width:102px;max-width:none;height:210px;box-sizing:border-box;
    gap:6px;padding:6px 10px 6px 6px}
  .flagtip .nb{width:auto;height:100%;flex:1;min-width:0;max-width:none}
  .flagtip b{font-size:.82rem;flex:none}
}
.flagtip.flagtip-text{position:absolute;left:7px;right:auto;bottom:7px;top:auto;margin-left:0;
  width:auto;max-width:calc(100% - 14px);height:auto;box-sizing:content-box;padding:7px 13px 7px 8px}
.flagtip-text b{font-size:14px}
.flagtip-arrow{position:absolute;left:0px;bottom:100%;margin-bottom:4px;
  font-size:5rem;font-weight:900;color:#f6c877;line-height:1;
  transform:rotate(35deg);transform-origin:center bottom;pointer-events:none}

/* ===== アニメーション ===== */
@keyframes fadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes fadeInS{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
@keyframes popIn{0%{opacity:0;transform:translateY(34px) scale(.9)}65%{opacity:1;transform:translateY(-7px) scale(1.03)}100%{opacity:1;transform:none}}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes bubblePop{0%,100%{transform:scale(1)}50%{transform:scale(1.055)}}
@keyframes leafSway{0%,100%{transform:scale(var(--sx,1),1) rotate(var(--rot,0deg)) translateY(0)}
  50%{transform:scale(var(--sx,1),1) rotate(var(--rot,0deg)) translateY(-9px)}}
@keyframes drift{0%{transform:translateX(0)}100%{transform:translateX(46px)}}
@keyframes kiraTwinkle{0%,100%{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}
@keyframes ctaPulse{0%,100%{box-shadow:0 5px 0 var(--orange-dk),0 0 0 0 rgba(232,128,30,.45)}
  50%{box-shadow:0 5px 0 var(--orange-dk),0 0 0 16px rgba(232,128,30,0)}}

.hero-left>*{animation:fadeUp .75s both}
.hero-left>*:nth-child(1){animation-delay:.05s}
.hero-left>*:nth-child(2){animation-delay:.13s}
.hero-left>*:nth-child(3){animation-delay:.21s}
.hero-left>*:nth-child(4){animation-delay:.29s}
.hero-left>*:nth-child(5){animation-delay:.37s}
.hero-left>*:nth-child(6){animation-delay:.45s}
.hero-left>*:nth-child(7){animation-delay:.53s}
.hero-photo{animation:fadeInS .9s .28s both}
.chara-wrap{animation:popIn .85s both}
.chara-wrap.left{animation-delay:.6s}
.chara-wrap.right{animation-delay:.75s}
.chara-wrap.left img{animation:floatY 3.6s ease-in-out 1.5s infinite}
.chara-wrap.right img{animation:floatY 4.1s ease-in-out 1.8s infinite}
.bubble{animation:bubblePop 2.8s ease-in-out 1.6s infinite}
.deco-leaf{transform:scale(var(--sx,1),1) rotate(var(--rot,0deg));animation:leafSway 5.5s ease-in-out infinite}
.deco-leaf:nth-of-type(2){animation-duration:6.4s;animation-delay:.6s}
.deco-leaf:nth-of-type(3){animation-duration:7s;animation-delay:1.1s}
.deco-leaf:nth-of-type(4){animation-duration:6s;animation-delay:.3s}
.deco-kira{position:absolute;pointer-events:none;z-index:2;animation:kiraTwinkle 2.4s ease-in-out infinite}
.cloud{animation:drift 22s ease-in-out infinite alternate}
.c2{animation-duration:30s}.c3{animation-duration:26s;animation-direction:alternate-reverse}
.acc-cta .btn{animation:ctaPulse 2.6s ease-in-out infinite}
.item-grid .reveal:nth-child(2),.flow-grid .reveal:nth-child(2){transition-delay:.12s}
.item-grid .reveal:nth-child(3),.flow-grid .reveal:nth-child(3){transition-delay:.24s}
.flow-grid .reveal:nth-child(4){transition-delay:.36s}
.item:hover,.flow-row:hover{transform:translateY(-4px)}
.item,.flow-row,.acc-photo{transition:transform .3s ease,box-shadow .3s ease}
.item:hover,.flow-row:hover{box-shadow:0 16px 32px rgba(60,110,90,.16)}
.acc-photo:hover{transform:translateY(-4px)}
.head{transition:box-shadow .3s ease,background .3s ease}



/* ===== フッター ===== */
.foot-inner{display:flex;align-items:stretch;justify-content:space-between;column-gap:40px;row-gap:20px;flex-wrap:wrap}
.foot-left{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
@media(max-width:961px){
  .foot-inner{flex-direction:column;align-items:center;text-align:center;row-gap:40px}
  .foot-left{order:2;align-items:center}
  .foot-inner>.hero-info{order:1}
}

/* ========追加============= */