@charset "UTF-8";
/* =========================================================
   東海リサイクルステーション 場所のご案内 ― スタイル
   デザイン基調：青空 × 新緑（エコ・清潔・地域）
   配色は素材シート（ChatGPT Image 2026年7月15日 18_41_55.png）から採取
   ========================================================= */

/* ---------- 0. トークン ---------- */
:root{
  --navy:      #063a8f;   /* ヒーロー見出し・フッター帯 */
  --navy-d:    #04295f;
  --blue:      #0b47a8;   /* ロゴ・主要アクセント */
  --blue-m:    #1257b0;   /* アイコン */
  --blue-l:    #4fa3e3;
  --sky:       #8fd3f4;
  --sky-soft:  #e8f6fd;

  --green:     #3f9e28;   /* 見出し・アイコン */
  --green-d:   #468817;   /* リボン */
  --green-l:   #8dc63f;   /* 葉・ドット */
  --green-soft:#eef7e4;

  --card-soft:  #eef2fa;   /* カード地（onfleek 風の淡いブルーグレー） */
  --ink:       #23303c;
  --ink-mute:  #5d6b78;
  --line:      #dfe6ee;
  --white:     #fff;

  --wrap:      1120px;
  --radius:    16px;
  --radius-lg: 22px;
  --shadow-s:  0 4px 14px -6px rgba(6,58,143,.22);
  --shadow-m:  0 14px 34px -18px rgba(6,58,143,.45);
  --shadow-l:  0 26px 60px -26px rgba(6,58,143,.5);
  --ease:      cubic-bezier(.22,.8,.28,1);
}

/* ---------- 1. リセット ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  font-family:"Noto Sans JP",system-ui,-apple-system,"Segoe UI","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.9;
  font-size:16px;
  overflow-x:hidden;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3,p,figure,dl,dd{ margin:0; }
ul{ margin:0; padding:0; list-style:none; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
.wrap{ width:min(100% - 40px, var(--wrap)); margin-inline:auto; }
/* ヘッダーが position:fixed のため、アンカー着地点をその下へずらす */
section[id]{ scroll-margin-top:104px; }
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
.ico{ width:1em; height:1em; flex:none; fill:currentColor; }
.ico--sm{ width:.9em; height:.9em; }
.pc{ display:inline; }
@media (max-width:820px){ .pc{ display:none; } }

/* ---------- 2. スクロール演出 ---------- */
.reveal{
  opacity:0; transform:translateY(26px);
  transition:opacity .8s var(--ease), transform .8s var(--ease);
}
.reveal.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .reveal{ opacity:1; transform:none; transition:none; }
  *{ animation:none !important; }
}

/* ---------- 3. ボタン ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  padding:.95em 2em; border-radius:999px;
  font-weight:700; letter-spacing:.04em; line-height:1.3;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), background-color .3s var(--ease);
}
.btn--primary{
  background:linear-gradient(135deg,var(--blue),var(--navy));
  color:var(--white);
  box-shadow:0 14px 30px -14px rgba(6,58,143,.75);
}
.btn--primary:hover{ transform:translateY(-2px); box-shadow:0 18px 38px -14px rgba(6,58,143,.85); }
.btn--ghost{
  background:rgba(255,255,255,.9); color:var(--blue);
  box-shadow:inset 0 0 0 2px var(--blue), var(--shadow-s);
}
.btn--ghost:hover{ background:var(--white); transform:translateY(-2px); }
.btn--wide{ width:100%; }

/* ---------- 4. ヘッダー（白い角丸カードを浮かせる） ---------- */
.site-header{
  position:fixed; top:14px; left:0; right:0; z-index:60;
  pointer-events:none;              /* カード外の余白はクリックを透過させる */
}
.site-header__inner{
  pointer-events:auto;
  width:min(100% - 32px, 1560px); margin-inline:auto;
  display:flex; align-items:center; gap:24px;
  padding:10px 12px 10px 26px; min-height:66px;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px);
  border-radius:18px;
  box-shadow:0 14px 34px -16px rgba(6,58,143,.4), 0 2px 8px -4px rgba(6,58,143,.16);
}
.site-header__logo img{ height:44px; width:auto; }
.gnav{ display:flex; gap:26px; margin-left:auto; }
.gnav a{
  position:relative; font-weight:700; font-size:.94rem; color:var(--navy);
  padding:.4em 0;
}
.gnav a::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:3px; border-radius:3px;
  background:linear-gradient(90deg,var(--green-l),var(--blue-l));
  transform:scaleX(0); transform-origin:left; transition:transform .34s var(--ease);
}
.gnav a:hover::after{ transform:scaleX(1); }

/* 電話ボタン＝ヘッダー右端の塗りピル */
.header-tel{
  display:flex; align-items:center; gap:10px;
  padding:.7em 1.5em; border-radius:14px;
  background:linear-gradient(135deg,var(--blue),var(--navy)); color:var(--white);
  box-shadow:0 12px 26px -12px rgba(6,58,143,.75);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.header-tel:hover{ transform:translateY(-2px); box-shadow:0 16px 32px -12px rgba(6,58,143,.85); }
.header-tel .ico{ width:20px; height:20px; }
.header-tel__txt{ display:flex; flex-direction:column; line-height:1.2; }
.header-tel__txt em{ font-style:normal; font-size:.64rem; color:rgba(255,255,255,.8); letter-spacing:.06em; }
.header-tel__txt strong{ font-size:1.04rem; font-weight:900; letter-spacing:.02em; }

.header-burger{ display:none; width:44px; height:44px; margin-left:auto; position:relative; }
.header-burger span{
  position:absolute; left:11px; right:11px; height:2.5px; border-radius:2px; background:var(--navy);
  transition:transform .34s var(--ease), opacity .2s;
}
.header-burger span:nth-child(1){ top:14px; }
.header-burger span:nth-child(2){ top:21px; }
.header-burger span:nth-child(3){ top:28px; }
.header-burger.is-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.header-burger.is-open span:nth-child(2){ opacity:0; }
.header-burger.is-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

@media (max-width:980px){
  .gnav, .header-tel{ display:none; }
  .header-burger{ display:block; }
  .site-header__logo img{ height:38px; }
}

/* モバイルメニュー */
.mobile-menu{
  position:fixed; inset:0; z-index:55;
  background:linear-gradient(160deg,rgba(6,58,143,.97),rgba(4,41,95,.98));
  display:grid; place-items:center;
  opacity:0; visibility:hidden; transition:opacity .35s var(--ease), visibility .35s;
}
.mobile-menu.is-open{ opacity:1; visibility:visible; }
.mobile-menu__inner{ display:grid; gap:6px; text-align:center; }
.mobile-menu__inner a{
  color:var(--white); font-weight:700; font-size:1.16rem; padding:.7em 2em;
  border-bottom:1px solid rgba(255,255,255,.16);
}
.mobile-menu__tel{
  margin-top:18px; border:0 !important;
  background:var(--green); border-radius:999px; font-size:1.1rem !important;
}
body.is-locked{ overflow:hidden; }

/* ---------- 5. ヒーロー ----------
   左＝大見出し／右＝写真モザイク、淡い背景に図形装飾を散らす構成 */
.hero{
  position:relative; isolation:isolate; overflow:hidden;
  padding:calc(66px + 46px) 0 84px;   /* 浮かせたヘッダーぶんを空ける */
  background:
    radial-gradient(1200px 620px at 88% -6%, #e4f4e0 0%, rgba(228,244,224,0) 62%),
    linear-gradient(168deg, #eaf6fe 0%, #f2fbf5 58%, #ffffff 100%);
}

/* 背景の図形装飾（散らした角丸スクエア） */
.hero__deco{ position:absolute; inset:0; z-index:-1; pointer-events:none; }
.sq{ position:absolute; display:block; border-radius:22%; }
.sq--1{ left:2%;   top:16%;  width:88px;  height:88px;  background:rgba(79,163,227,.16); }
.sq--2{ left:9.5%; top:41%;  width:44px;  height:44px;  background:rgba(141,198,63,.28); }
.sq--3{ left:1%;   top:63%;  width:120px; height:120px; background:rgba(11,71,168,.07); }
.sq--4{ left:24%;  top:7%;   width:34px;  height:34px;  background:rgba(63,158,40,.22); }
.sq--5{ left:44%;  top:80%;  width:64px;  height:64px;  background:rgba(79,163,227,.14); }
.sq--6{ left:33%;  top:52%;  width:26px;  height:26px;  background:rgba(141,198,63,.34); }
.sq--7{ right:3%;  top:9%;   width:72px;  height:72px;  background:rgba(63,158,40,.14); }
.sq--8{ right:8%;  bottom:5%;width:52px;  height:52px;  background:rgba(11,71,168,.1); }
.sq--9{ left:16%;  top:88%;  width:30px;  height:30px;  background:rgba(79,163,227,.24); }
@media (max-width:900px){ .sq--3,.sq--5,.sq--9{ display:none; } }

.hero__inner{
  position:relative;
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);
  align-items:center; gap:clamp(28px,4vw,56px);
}

/* --- 左：コピー --- */
.hero__title{
  font-size:clamp(2.1rem,5vw,4rem);
  font-weight:900; line-height:1.22; letter-spacing:.005em;
  color:var(--navy);
}
/* 「東海リサイクル／ステーション」の境目でのみ改行させ、
   行末に「ョン」がぶら下がるのを防ぐ */
.hero__title span{ display:block; }
.hero__sub{
  display:inline-flex; align-items:center; gap:12px;
  margin-top:16px;
  font-size:clamp(1.15rem,2.2vw,1.6rem); font-weight:900; color:var(--blue);
}
.hero__sub::before, .hero__sub::after{
  content:""; width:38px; height:2px; border-radius:2px;
  background:repeating-linear-gradient(90deg,var(--green-l) 0 5px,transparent 5px 11px);
}
.leaf-mark{
  width:22px; height:18px; flex:none;
  background:var(--green-l);
  clip-path:path("M24 0C10 0 0 8 0 20c14 0 24-8 24-20z");
  transform:rotate(-8deg) scale(.92);
}
.leaf-mark--r{ transform:rotate(8deg) scaleX(-1) scale(.92); }
.hero__lead{
  margin-top:22px; font-size:clamp(.94rem,1.5vw,1.05rem);
  font-weight:500; color:var(--ink-mute); line-height:2;
}
.hero__actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }

/* --- 右：写真モザイク --- */
.hero__media{
  position:relative;
  display:grid; grid-template-columns:1fr 1fr; gap:clamp(10px,1.2vw,16px);
}
.hero__media figure{
  margin:0; overflow:hidden; border-radius:18px; line-height:0;
  box-shadow:0 22px 44px -22px rgba(6,58,143,.5);
}
/* figure配下に限定しないと、下のバッジ（img）まで width:100% を拾ってしまう */
.hero__media figure img{ width:100%; height:100%; object-fit:cover; }
.hero__media-main{ grid-column:1 / -1; aspect-ratio:16/9; }
.hero__media-main img{ object-position:center 58%; }
.hero__media-sub{ aspect-ratio:4/3; }
.hero__badge{
  position:absolute; left:-42px; bottom:-34px; z-index:2;
  width:clamp(112px,12vw,158px); height:auto;
  filter:drop-shadow(0 14px 26px rgba(6,58,143,.28));
}

@media (max-width:980px){
  .hero{ padding:calc(66px + 34px) 0 64px; }
  .hero__inner{ grid-template-columns:1fr; gap:34px; }
  .hero__actions{ justify-content:flex-start; }
  .hero__badge{ left:auto; right:-6px; bottom:-30px; width:clamp(104px,17vw,132px); }
}
@media (max-width:520px){
  .hero__media{ gap:8px; }
  .hero__media figure{ border-radius:14px; }
  .hero__badge{ width:96px; bottom:-24px; right:-4px; }
}

/* ---------- 6. セクション共通 ----------
   見出しは「巨大な英字＋小さな日本語」を左、リード文を右に置き、下に罫線を引く */
.sec-head{
  display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:clamp(24px,4vw,64px); align-items:start;
  padding-bottom:clamp(26px,3vw,38px); border-bottom:1px solid var(--line);
}
.sec-head__en{
  font-family:"Poppins","Noto Sans JP",sans-serif;
  font-size:clamp(2.4rem,5.6vw,4.4rem); font-weight:700; line-height:1;
  letter-spacing:-.01em; color:var(--blue);
}
.sec-head__ja{ margin-top:10px; font-size:.95rem; font-weight:700; color:var(--navy); }
.sec-head__lead{ font-size:.95rem; font-weight:500; color:var(--ink-mute); line-height:2.05; }
.sec-head__lead strong{ color:var(--blue); font-weight:900; }
.sec-head__en--on-blue{ color:var(--white); }
.sec-head__ja--on-blue{ color:rgba(255,255,255,.82); }
@media (max-width:820px){
  .sec-head{ grid-template-columns:1fr; gap:18px; }
}

.leaf-divider{ display:block; width:min(460px,86%); height:auto; margin:0 auto 26px; }

/* ---------- 7. イントロ＋特徴 ---------- */
.intro{ padding:clamp(56px,7vw,90px) 0 clamp(60px,7vw,86px); }

.features{
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
  margin-top:clamp(30px,4vw,46px);
}
.feature{
  background:var(--card-soft);
  border-radius:var(--radius);
  padding:30px 26px 30px;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.feature:hover{ transform:translateY(-6px); box-shadow:var(--shadow-m); }
/* 色タイル＋白アイコン（アイコンPNGは白のシルエット） */
.feature__tile{
  display:grid; place-items:center;
  width:76px; height:76px; border-radius:18px; margin-bottom:52px;
  box-shadow:0 12px 24px -12px rgba(6,58,143,.6);
}
.feature__tile--blue{ background:linear-gradient(140deg,#2a6fd0,var(--blue)); }
.feature__tile--green{ background:linear-gradient(140deg,#5cb42f,var(--green)); }
.feature__tile img{ width:74%; height:74%; object-fit:contain; }
.feature__title{
  font-size:1.16rem; font-weight:900; letter-spacing:.02em; margin-bottom:10px; color:var(--navy);
}
.feature__txt{ font-size:.88rem; color:var(--ink-mute); font-weight:500; line-height:1.9; }

@media (max-width:900px){
  .features{ grid-template-columns:repeat(2,1fr); }
  .feature__tile{ margin-bottom:26px; }
}
@media (max-width:520px){
  .features{ grid-template-columns:1fr; gap:14px; }
  .feature{
    display:grid; grid-template-columns:60px 1fr; align-items:center;
    column-gap:18px; padding:20px;
  }
  .feature__tile{ width:60px; height:60px; border-radius:14px; margin:0; grid-row:1 / span 2; }
  .feature__title{ font-size:1.06rem; margin-bottom:2px; align-self:end; }
  .feature__txt{ align-self:start; }
}

/* ---------- 8. 現地のようす ---------- */
.place{
  padding:72px 0 84px;
  background:linear-gradient(180deg,var(--sky-soft),#fff 78%);
}
.photos{
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
  margin-top:40px;
}
.photo figure{
  background:var(--white); border-radius:var(--radius); overflow:hidden;
  box-shadow:var(--shadow-m); height:100%;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.photo figure:hover{ transform:translateY(-6px); box-shadow:var(--shadow-l); }
.photo img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.photo figcaption{ padding:18px 20px 22px; font-size:.86rem; color:var(--ink-mute); line-height:1.8; }
.photo figcaption strong{
  display:block; margin-bottom:6px; font-size:1.02rem; font-weight:900; color:var(--navy);
}
@media (max-width:860px){ .photos{ grid-template-columns:1fr; gap:18px; } }

/* ---------- 9. 受け入れ品目 ---------- */
.items{ padding:clamp(56px,7vw,86px) 0 clamp(60px,7vw,84px); }
.items__catch{
  display:inline-block; margin-bottom:14px;
  padding:.62em 1.6em; border-radius:999px;
  background:linear-gradient(135deg,var(--blue),var(--navy));
  color:var(--white); font-weight:900; font-size:clamp(.86rem,1.7vw,1rem);
  line-height:1.5;
  box-shadow:var(--shadow-m);
}
.items__grid{
  display:grid; grid-template-columns:1.05fr .95fr; gap:36px; align-items:center;
  margin-top:44px;
}
.item-list{ display:grid; gap:14px; }
.item{
  display:flex; align-items:center; gap:18px;
  padding:18px 22px;
  background:var(--card-soft); border-radius:var(--radius);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.item:hover{ transform:translateX(6px); box-shadow:var(--shadow-m); }
/* 特徴カードのタイルと形をそろえる（onfleek は角丸スクエア） */
.item__icon{
  width:54px; height:54px; flex:none; border-radius:15px;
  display:grid; place-items:center; padding:11px;
}
.item__icon--green{ background:linear-gradient(140deg,#5cb42f,var(--green)); }
.item__icon--blue{ background:linear-gradient(140deg,var(--blue-l),var(--blue)); }
.item__icon svg{ width:100%; height:100%; }
.item h3{ font-size:1.1rem; font-weight:900; color:var(--navy); line-height:1.5; }
.item p{ font-size:.84rem; color:var(--ink-mute); font-weight:500; }

.items__photo{
  border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-l);
  background:var(--white);
}
.items__photo img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.items__photo figcaption{
  padding:14px 18px; font-size:.8rem; color:var(--ink-mute); text-align:center; font-weight:500;
}

.items__note{
  margin-top:40px; padding:22px 26px;
  border-radius:var(--radius);
  background:var(--green-soft);
  border-left:5px solid var(--green);
  font-size:.9rem; color:var(--ink-mute); font-weight:500;
}
.items__note strong{
  display:inline-block; margin-right:.6em; color:var(--green-d); font-weight:900;
}
.demo-note{ display:block; margin-top:8px; font-size:.78rem; color:#8a97a3; }

@media (max-width:900px){
  .items__grid{ grid-template-columns:1fr; gap:26px; }
  .items__photo{ order:-1; }
}

/* ---------- 10. アクセス（青ブロック・上角を大きく丸める） ---------- */
.access{
  background:linear-gradient(160deg,#1358bf 0%,var(--blue) 46%,var(--navy) 100%);
  border-radius:clamp(24px,4vw,56px) clamp(24px,4vw,56px) 0 0;
  padding:clamp(52px,7vw,88px) 0 clamp(40px,5vw,60px);
  color:var(--white);
}
.access__inner{
  display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(28px,4vw,60px); align-items:start;
}
.access__txt{
  margin-top:22px; font-size:.95rem; font-weight:500;
  color:rgba(255,255,255,.86); line-height:2;
}

/* 地図プレースホルダー */
.map-card{ margin-top:30px; }
.map-card__placeholder{
  min-height:200px;
  display:grid; place-content:center; justify-items:center; gap:10px; text-align:center;
  padding:26px;
  border-radius:var(--radius);
  background:rgba(255,255,255,.92);
  border:2px dashed rgba(11,71,168,.3);
}
.map-card__pin{ width:30px; }
.map-card__placeholder p{ font-size:.82rem; color:var(--ink-mute); font-weight:500; }
.map-card__placeholder strong{ display:block; font-size:1rem; color:var(--navy); font-weight:900; }

/* 右：白いリンクカード2×2 ＋ TELボックス */
.access__cards{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(12px,1.4vw,18px); }
.ccard{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:22px 20px 22px 24px;
  background:var(--white); border-radius:var(--radius);
  font-weight:700; font-size:.98rem; color:var(--navy);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.ccard:hover{ transform:translateY(-3px); box-shadow:0 18px 34px -16px rgba(0,0,0,.5); }
.ccard__arrow{
  flex:none; width:38px; height:38px; border-radius:50%;
  display:grid; place-items:center;
  background:var(--blue); color:var(--white);
  transition:transform .3s var(--ease);
}
.ccard__arrow svg{ width:19px; height:19px; }
.ccard:hover .ccard__arrow{ transform:translateX(3px); }

.tel-box{
  grid-column:1 / -1;
  border:1.5px solid rgba(255,255,255,.42); border-radius:var(--radius);
  padding:clamp(22px,3vw,32px); text-align:center;
}
.tel-box__name{ font-size:.92rem; font-weight:700; }
.tel-box__addr{ margin-top:4px; font-size:.88rem; color:rgba(255,255,255,.8); letter-spacing:.04em; }
.tel-box__label{
  margin-top:16px; padding-top:16px; border-top:1px solid rgba(255,255,255,.22);
  font-size:.84rem; color:rgba(255,255,255,.8);
}
.tel-box__num{
  display:inline-flex; align-items:baseline; gap:.1em; margin-top:6px;
  font-family:"Poppins","Noto Sans JP",sans-serif;
  font-size:clamp(1.7rem,4vw,2.5rem); font-weight:700; letter-spacing:.01em; color:var(--white);
  transition:opacity .3s var(--ease);
}
.tel-box__num span{ font-size:.5em; font-weight:600; }
.tel-box__num:hover{ opacity:.82; }
.demo-note--on-blue{ color:rgba(255,255,255,.6); }

.access__closing{
  margin-top:clamp(40px,5vw,60px); padding-top:clamp(24px,3vw,34px);
  border-top:1px solid rgba(255,255,255,.2);
  width:min(100% - 40px, var(--wrap)); margin-inline:auto;
  text-align:center; font-size:clamp(.95rem,2vw,1.2rem); font-weight:900;
  letter-spacing:.03em; line-height:1.8;
}

@media (max-width:980px){
  .access__inner{ grid-template-columns:1fr; }
}
@media (max-width:520px){
  .access__cards{ grid-template-columns:1fr; }
  .ccard{ padding:18px 16px 18px 20px; font-size:.92rem; }
}

/* ---------- 12. フッター ---------- */
.site-footer{ background:var(--navy-d); color:rgba(255,255,255,.86); padding:10px 0 30px; }
.site-footer__inner{
  display:flex; flex-wrap:wrap; justify-content:space-between; gap:30px;
  padding-bottom:26px; border-bottom:1px solid rgba(255,255,255,.14);
}
.site-footer__logo{
  height:44px; width:auto;
  background:rgba(255,255,255,.96); border-radius:8px; padding:8px 12px;
}
.site-footer__tag{ margin-top:12px; font-size:.76rem; letter-spacing:.06em; color:rgba(255,255,255,.6); }
.site-footer__info{ display:grid; gap:14px; align-content:center; }
.site-footer__addr{ font-size:.9rem; line-height:1.9; }
.site-footer__addr a{ font-weight:700; color:var(--sky); }
.site-footer__addr a:hover{ text-decoration:underline; }
.site-footer__nav{ display:flex; flex-wrap:wrap; gap:18px; }
.site-footer__nav a{ font-size:.84rem; color:rgba(255,255,255,.78); }
.site-footer__nav a:hover{ color:var(--white); text-decoration:underline; }
.site-footer__copy{
  margin-top:22px; text-align:center; font-size:.74rem; letter-spacing:.08em;
  color:rgba(255,255,255,.5);
}

/* ---------- 13. モバイル追従CTA ---------- */
.sticky-tel{
  display:none;
  position:fixed; left:16px; right:16px; bottom:14px; z-index:50;
  align-items:center; justify-content:center; gap:10px;
  padding:1em; border-radius:999px;
  background:linear-gradient(135deg,#4fae2a,var(--green-d));
  color:var(--white); font-weight:900; letter-spacing:.04em;
  box-shadow:0 14px 30px -10px rgba(0,0,0,.5);
}
.sticky-tel .ico{ width:20px; height:20px; }
@media (max-width:720px){
  .sticky-tel{ display:flex; }
  body{ padding-bottom:78px; }
}
