@charset "UTF-8";

/* ========== ベース ========== */
:root{
  --g:#0DAB2D;        /* CTA・明るい緑 */
  --g-h:#0B8A24;      /* 見出し緑（S1） */
  --g-d:#03912F;      /* 見出し緑（S3〜S6） */
  --g-7:#02A032;      /* S7 ライン緑 */
  --g-8:#058F08;      /* S8 背景緑 */
  --red:#F20001;
  --yl:#FCEF18;
  --ink:#050605;      /* 黒背景 */
  --txt:#1A1A1A;
  --gray:#666;
  --off:#F7F8F7;
  --line:#06C755;
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  font-family:"Noto Sans JP",-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  color:var(--txt);background:#fff;line-height:1.6;
  font-feature-settings:"palt";padding-bottom:76px;
}
img{max-width:100%;display:block;height:auto}
ul,ol{list-style:none}
a{text-decoration:none;color:inherit}
.wrap{width:100%;max-width:520px;margin:0 auto;padding:0 16px}
.g{color:var(--g-d)}
.yl{color:var(--yl)}
.c{text-align:center}
.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;
}

/* ========== 共通パーツ ========== */
.logo{width:150px;margin:0 auto 14px}
.logo:not(.w){mix-blend-mode:multiply}
.logo.w{width:170px}

/* 見出し */
.h-lg{font-size:clamp(23px,7.4vw,31px);font-weight:900;line-height:1.32;letter-spacing:-.03em;text-align:center}
.h-big{font-size:clamp(29px,9.6vw,40px);font-weight:900;line-height:1.22;letter-spacing:-.035em;text-align:center}
.h-big .thin{font-weight:900}
.h-serif{
  font-family:"Noto Serif JP","Noto Sans JP",serif;font-weight:900;
  font-size:clamp(28px,9.2vw,38px);line-height:1.28;letter-spacing:-.03em;text-align:center;
}
.h-serif .sm{font-size:.72em}
.h-serif .g{color:var(--g-d)}
.sub{margin-top:12px;font-size:clamp(12.5px,3.7vw,15px);font-weight:500;line-height:1.75;text-align:center}
.sub b{color:var(--g-d);font-weight:900}

.eyebrow{
  position:relative;display:table;margin:0 auto 8px;padding:0 30px;
  text-align:center;font-size:clamp(13px,4vw,17px);font-weight:900;color:var(--txt);
}
.eyebrow b{color:var(--g-d)}
.eyebrow::before,.eyebrow::after{
  content:"";position:absolute;top:50%;width:2.5px;height:20px;background:var(--g-d);
}
.eyebrow::before{left:6px;transform:translateY(-50%) rotate(-22deg)}
.eyebrow::after{right:6px;transform:translateY(-50%) rotate(22deg)}

/* ＼ テキスト ／ */
.lead-slash{
  position:relative;display:table;margin:22px auto 12px;padding:0 30px;
  text-align:center;font-size:clamp(12.5px,3.9vw,16px);font-weight:900;letter-spacing:-.02em;
}
.lead-slash b{color:var(--g-d)}
.lead-slash.w{color:#fff;font-size:clamp(14px,4.5vw,19px)}
.lead-slash.w b{color:var(--yl)}
.lead-slash::before,.lead-slash::after{
  content:"";position:absolute;top:50%;width:2.5px;height:22px;background:currentColor;opacity:.85;
}
.lead-slash::before{left:6px;transform:translateY(-50%) rotate(-20deg)}
.lead-slash::after{right:6px;transform:translateY(-50%) rotate(20deg)}

/* LINE公式アイコン */
.li{
  flex:0 0 36px;width:36px;height:36px;border-radius:9px;display:block;
  box-shadow:0 0 0 2px rgba(255,255,255,.9);
}
.line-mark{width:48px;height:48px;border-radius:12px}

/* CTAボタン */
.btn-line{
  display:flex;align-items:center;justify-content:center;gap:10px;
  background:linear-gradient(180deg,#18C63C 0%,var(--g) 52%,#079A26 100%);
  color:#fff;font-size:clamp(16px,4.5vw,20px);font-weight:900;
  border-radius:999px;padding:15px 14px;letter-spacing:-.01em;
  box-shadow:0 5px 14px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.35);
  transition:transform .15s,box-shadow .15s;
}
.btn-line:hover{transform:translateY(2px);box-shadow:0 2px 8px rgba(0,0,0,.22)}
.btn-line.block{width:100%}
.btn-line.big{font-size:21px;padding:17px 16px;margin-top:16px}
.btn-line.ring{border:3px solid #fff;box-shadow:0 6px 16px rgba(0,0,0,.28)}
.btn-body{
  flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:center;
  line-height:1.25;text-align:center;
}
.bb-main{display:block;white-space:nowrap;font-weight:900}
.btn-body small{
  display:block;font-size:clamp(8.5px,2.35vw,10.5px);font-weight:500;margin-top:4px;
  letter-spacing:-.02em;line-height:1.4;
}
.arw{
  font-style:normal;font-size:24px;font-weight:900;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:50%;border:2px solid rgba(255,255,255,.9);
  flex:0 0 28px;padding-bottom:2px;
}
.arw.round{background:#fff;color:var(--g);border:0}

/* 3バッジ */
.badges3{display:flex;justify-content:center;gap:8px;margin-top:14px;flex-wrap:wrap}
.badges3 li{
  display:flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;color:var(--gray);
}
.badges3 li::before{
  content:"";width:14px;height:14px;flex:0 0 14px;border:1.4px solid currentColor;border-radius:50%;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.4 8.4l3 3L12.6 5' fill='none' stroke='%23888' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px no-repeat;
}
.badges3.dark li{color:rgba(255,255,255,.92)}
.badges3.dark li::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.4 8.4l3 3L12.6 5' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* 4ステップ帯 */
.h-slash{
  position:relative;display:table;margin:0 auto 16px;padding:0 24px;
  text-align:center;font-size:clamp(13px,4.2vw,19px);font-weight:900;letter-spacing:-.03em;
}
.h-slash b{color:var(--g-d)}
.h-slash::before,.h-slash::after{
  content:"";position:absolute;top:50%;width:2.5px;height:22px;background:var(--g-d);
}
.h-slash::before{left:4px;transform:translateY(-50%) rotate(-22deg)}
.h-slash::after{right:4px;transform:translateY(-50%) rotate(22deg)}

.flow4{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.flow4 li{
  background:#fff;border:1px solid #E8EAE8;border-radius:10px;
  padding:14px 8px 12px;text-align:center;position:relative;
}
.flow4.rounded li{border-radius:16px;border-color:#EDEFED;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.flow4 .fi{display:flex;align-items:center;justify-content:center;height:62px;margin-bottom:8px}
.flow4 .fi img{max-height:56px;width:auto}
.flow4 b{display:block;font-size:clamp(12px,3.6vw,14.5px);font-weight:900;color:var(--g-d);margin-bottom:4px;letter-spacing:-.03em}
.flow4 i{display:block;font-style:normal;font-size:clamp(9.5px,2.9vw,11.5px);font-weight:500;line-height:1.55;color:#333;letter-spacing:-.03em}
/* 矢印 */
.flow4 li:nth-child(1)::after,.flow4 li:nth-child(3)::after{
  content:"";position:absolute;right:-8px;top:50%;transform:translateY(-50%);
  border-top:6px solid transparent;border-bottom:6px solid transparent;
  border-left:8px solid var(--g);z-index:2;
}

/* ========== 1. ヒーロー ========== */
.s1{background:var(--ink)}
.s1-top{
  position:relative;overflow:hidden;
  display:flex;align-items:center;          /* 上下中央に置いて余白を均等に */
  padding:26px 0;
  min-height:clamp(340px,98vw,510px);
  background:var(--ink) url("images/l1-man.webp") no-repeat;
  background-size:132% auto;background-position:32% 42%;
}
.s1-top>.wrap{width:100%}
.s1-top::before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(5,6,5,.78) 0%,rgba(5,6,5,.46) 42%,rgba(5,6,5,.14) 72%,rgba(5,6,5,.45) 100%),
    linear-gradient(90deg,rgba(5,6,5,.5) 0%,rgba(5,6,5,0) 55%);
}
.s1-inner{position:relative;display:flex;align-items:flex-start;gap:6px}
.s1-head{flex:1 1 auto;min-width:0}
.s1-phone{flex:0 0 40%;width:40%;margin-top:2px;filter:drop-shadow(0 6px 16px rgba(0,0,0,.5))}
.s1-badge{
  display:table;border:2px solid var(--g);border-radius:8px;
  color:#fff;font-size:clamp(10px,3.1vw,12.5px);font-weight:700;padding:5px 10px;
  margin-bottom:14px;letter-spacing:-.02em;position:relative;white-space:nowrap;
}
.s1-badge::after{
  content:"";position:absolute;left:22px;bottom:-8px;
  border-left:6px solid transparent;border-right:6px solid transparent;
  border-top:8px solid var(--g);
}
.s1-title{color:#fff;letter-spacing:-.035em}
.s1-title .t1{display:block;font-size:clamp(13px,4.2vw,20px);font-weight:900;line-height:1.35;white-space:nowrap}
.s1-title .t1 b{color:#25D04A;font-size:1.16em}
.s1-title .t2{
  display:block;font-size:clamp(30px,10.6vw,44px);font-weight:900;color:#25D04A;
  line-height:1.05;margin-top:4px;text-shadow:0 3px 10px rgba(0,0,0,.5);
}
.s1-title .t3{
  display:block;font-size:clamp(40px,14.4vw,60px);font-weight:900;line-height:1.05;margin-top:12px;
  text-shadow:0 4px 14px rgba(0,0,0,.6);
}
.s1-flow{background:#fff;padding:22px 0 24px}
.s1-cta{background:var(--ink);padding:24px 0 26px}
.s1-copy{
  color:#fff;text-align:center;font-size:clamp(15px,4.7vw,20px);font-weight:900;line-height:1.55;
  letter-spacing:-.03em;
}
.s1-copy b{color:#25D04A}

/* ========== 2. お悩み ========== */
.s2{background:#fff;padding:28px 0 0}
.s2 .wrap{padding-bottom:20px}
.s2-h{font-size:22px;margin-bottom:16px}
.worry{display:flex;align-items:flex-start;gap:10px}
.worry-list{flex:1 1 auto;min-width:0}
.worry-list li{
  display:flex;gap:9px;align-items:flex-start;
  font-size:14.5px;font-weight:700;line-height:1.45;padding:11px 2px;letter-spacing:-.02em;
}
.worry-list li+li{border-top:1px dotted #C9D6C9}
.worry-list li b{color:var(--g-d);font-weight:900}
.worry-list li::before{
  content:"";flex:0 0 22px;width:22px;height:22px;margin-top:1px;
  border:2px solid var(--g-7);border-radius:4px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2.6 8.3l3.4 3.5L13.4 4.2' fill='none' stroke='%2302A032' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat;
}
.worry-list li>span{display:block}
.worry-bubble{flex:0 0 44%;width:44%;margin-top:-4px}
.worry-man{width:88%;margin:-18px auto 0}
.h-mid{
  text-align:center;font-size:clamp(14px,4.5vw,20px);font-weight:900;margin-bottom:14px;letter-spacing:-.03em;
}
.h-mid b{color:var(--g-d)}
.bar-cta{
  display:block;background:linear-gradient(180deg,#18C63C 0%,var(--g) 52%,#079A26 100%);
  color:#fff;padding:14px 16px;font-weight:900;
}
.bar-in{
  display:flex;align-items:center;gap:10px;
  width:100%;max-width:488px;margin:0 auto;
}
.bar-tag{
  font-size:clamp(10px,2.6vw,12px);line-height:1.25;background:#fff;color:var(--g-d);
  border-radius:6px;padding:5px 8px;flex:0 0 auto;text-align:center;white-space:nowrap;
}
/* スマホのピクトグラム */
.bar-ph{
  position:relative;flex:0 0 20px;width:20px;height:31px;
  border:2.5px solid #fff;border-radius:5px;
}
.bar-ph::before{
  content:"";position:absolute;left:50%;top:2px;transform:translateX(-50%);
  width:7px;height:2px;background:#fff;border-radius:1px;
}
.bar-ph::after{
  content:"";position:absolute;left:50%;bottom:2px;transform:translateX(-50%);
  width:8px;height:2px;background:#fff;border-radius:1px;
}
.bar-txt{flex:1;min-width:0;font-size:clamp(16px,4.7vw,21px);letter-spacing:-.02em;line-height:1.25}
.bar-txt b{color:var(--yl)}

/* ========== 3. 流れ ========== */
.s3{background:#fff;padding:30px 0 28px}
.s3-visual{position:relative;margin:18px 0 22px}
.s3-visual .s3-shot{width:74%;margin:0 auto}
.s3-visual .bub-l,.s3-visual .bub-r{
  position:absolute;width:26%;height:auto;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.15));
}
.s3-visual .bub-l{left:0;top:29%}
.s3-visual .bub-r{right:0;top:37%}

.steps li{
  background:#fff;border:1px solid #E7E9E7;border-radius:12px;
  padding:14px 12px;box-shadow:0 1px 5px rgba(0,0,0,.05);
}
.steps li+li{margin-top:0}
.steps li:not(:last-child)::after{
  content:"";display:block;width:0;height:0;margin:12px auto -2px;
  border-left:13px solid transparent;border-right:13px solid transparent;
  border-top:14px solid var(--g);
}
.st-head{display:flex;align-items:center;gap:10px}
.st-ic{width:52px;flex:0 0 52px}
.st-no{
  flex:0 0 auto;font-size:11px;font-weight:700;color:var(--gray);
  line-height:1;text-align:center;
}
.st-no b{display:block;font-size:23px;font-weight:900;color:var(--g-d);margin-top:2px}
.st-txt{flex:1}
.st-txt b{display:block;font-size:16.5px;font-weight:900;color:var(--g-d);letter-spacing:-.02em}
.st-txt i{display:block;font-style:normal;font-size:12px;font-weight:500;line-height:1.6;margin-top:6px}
.st-img{width:100%;margin-top:11px;border-radius:6px}

/* ========== 4/5/6 共通 ========== */
.s4,.s5,.s6{padding:30px 0 30px}
.s4{background:var(--off)}
.s5{background:#fff}
.s6{background:var(--off)}
.shot{width:88%;margin:20px auto 6px}
.shot.tall{width:74%}
.shot.wide{width:100%}

.feat3{display:flex;gap:6px;margin-top:18px}
.feat3 li{flex:1;text-align:center;padding:0 2px;position:relative}
.feat3 li+li::before{
  content:"";position:absolute;left:-3px;top:12%;height:76%;width:1px;background:#DFE3DF;
}
.feat3 .fi{display:flex;align-items:center;justify-content:center;height:56px;margin-bottom:8px}
.feat3 .fi img{max-height:52px;width:auto}
.feat3 .fi img.line-mark{width:48px;height:48px;max-height:48px}
.feat3 b{
  display:block;font-size:clamp(9px,2.85vw,12.5px);font-weight:900;
  line-height:1.4;letter-spacing:-.04em;
}
.feat3 i{
  display:block;font-style:normal;font-size:clamp(8.5px,2.5vw,10.5px);font-weight:500;
  color:var(--gray);line-height:1.55;margin-top:5px;letter-spacing:-.03em;
}
.feat3.boxed{
  background:#fff;border:1px solid #E7E9E7;border-radius:14px;
  padding:18px 10px;gap:4px;box-shadow:0 1px 5px rgba(0,0,0,.04);
}
.feat3.boxed li+li::before{left:-2px}

/* ========== 7. 選ばれる理由 ========== */
.s7{background:linear-gradient(180deg,#FBFCFB 0%,#F2F7F2 100%);padding:30px 0 30px}
.pill{
  display:table;margin:0 auto 14px;border:2px solid var(--g-7);border-radius:999px;
  color:var(--g-d);font-size:13px;font-weight:900;padding:6px 18px;position:relative;
  background:#fff;
}
.pill::after{
  content:"";position:absolute;left:50%;bottom:-9px;transform:translateX(-50%);
  border-left:7px solid transparent;border-right:7px solid transparent;
  border-top:9px solid var(--g-7);
}
.s7 .h-serif{margin-bottom:18px}
.s7 .h-serif .g{position:relative}
.reasons{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rc{
  background:#fff;border-radius:14px;padding:16px 10px 18px;text-align:center;
  box-shadow:0 2px 8px rgba(0,0,0,.06);display:flex;flex-direction:column;
}
.rn{
  display:block;font-size:24px;font-weight:700;color:var(--g-7);line-height:1;
  padding-bottom:6px;margin-bottom:8px;position:relative;
  font-family:"Noto Serif JP",serif;
}
.rn::after{
  content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:26px;height:2px;background:var(--g-7);
}
.rt{font-size:16px;font-weight:900;color:var(--g-d);line-height:1.35;letter-spacing:-.03em}
.rc img{width:78%;margin:12px auto}
.rd{
  font-size:10.5px;font-weight:500;line-height:1.65;color:#333;margin-top:auto;
  padding-top:10px;border-top:1px dotted #BFD3BF;
}

/* ========== 8. 料金 ========== */
.s8{
  padding:26px 0 30px;color:#fff;position:relative;overflow:hidden;
  background:
    repeating-conic-gradient(from 0deg at 30% 26%, rgba(255,255,255,.05) 0deg 6deg, rgba(255,255,255,0) 6deg 12deg),
    radial-gradient(circle at 30% 26%, #0AA80D 0%, var(--g-8) 46%, #036A05 100%);
}
/* 左右2カラム（元デザインの並びを維持） */
.s8-cols{display:flex;align-items:flex-start;gap:10px;margin-bottom:18px}
.price-hero{flex:1 1 47%;min-width:0;text-align:center;padding-top:6px}
.plan{flex:1 1 53%;min-width:0}

.ph-1{font-size:clamp(13px,3.4vw,16px);font-weight:900;letter-spacing:.04em;text-shadow:0 2px 4px rgba(0,0,0,.18)}
.ph-2{
  font-size:clamp(44px,13vw,62px);font-weight:900;line-height:.94;letter-spacing:-.05em;
  text-shadow:0 4px 10px rgba(0,0,0,.22);
}
.ph-2 span{font-size:clamp(18px,5vw,24px);letter-spacing:0}
.ph-3{font-size:clamp(9px,2.3vw,10.5px);font-weight:700;margin-top:1px}
.ph-tag{
  display:table;margin:8px auto 0;background:var(--yl);color:#0A6A0C;
  font-size:clamp(12.5px,3.5vw,16px);font-weight:900;padding:3px 11px;transform:skewX(-8deg);
  box-shadow:0 3px 0 rgba(0,0,0,.12);
}
.ph-now{
  position:relative;display:table;margin:12px auto 0;
  font-size:clamp(13.5px,3.7vw,17px);font-weight:900;padding:0 20px;
}
.ph-now::before,.ph-now::after{
  content:"";position:absolute;top:50%;width:2.5px;height:19px;background:#fff;
}
.ph-now::before{left:3px;transform:translateY(-50%) rotate(-22deg)}
.ph-now::after{right:3px;transform:translateY(-50%) rotate(22deg)}
.ph-free{
  font-size:clamp(44px,13vw,62px);font-weight:900;color:var(--red);line-height:1;letter-spacing:-.02em;
  -webkit-text-stroke:clamp(3.5px,1.05vw,5px) #fff;paint-order:stroke fill;
  text-shadow:0 6px 12px rgba(0,0,0,.2);margin-top:2px;
}
.ph-cap{
  display:table;margin:10px auto 0;background:#fff;color:var(--g-8);
  font-size:clamp(8.5px,2.2vw,10px);font-weight:900;padding:4px 6px;line-height:1.3;
}

.plan{background:#fff;color:var(--txt);border-radius:14px;padding:11px 9px 13px}
.plan-ttl{
  display:table;margin:0 auto 8px;background:var(--yl);color:#111;
  font-size:clamp(11px,3vw,13.5px);font-weight:900;border-radius:999px;
  padding:4px 11px;white-space:nowrap;
}
.plan-ttl::before{content:"■";color:#0A6A0C;margin-right:3px}
.plan-list li{display:flex;align-items:center;gap:6px;padding:8px 0}
.plan-list li+li{border-top:1px solid #E6E9E6}
.pi{
  flex:0 0 clamp(26px,7.2vw,32px);width:clamp(26px,7.2vw,32px);height:clamp(26px,7.2vw,32px);
  border:1.8px solid var(--g-d);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}
.pi svg{width:60%;height:60%;fill:none;stroke:var(--g-d);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pb{flex:1;min-width:0}
.pb i{display:block;font-style:normal;font-size:clamp(9.5px,2.6vw,11.5px);font-weight:700;line-height:1.3}
.pb b{
  display:block;font-size:clamp(19px,5.5vw,27px);font-weight:900;color:var(--g-d);
  line-height:1.08;letter-spacing:-.04em;
}
.pb b em{font-style:normal;font-size:clamp(10px,2.9vw,13px);letter-spacing:0;white-space:nowrap}
.pb b small{font-size:clamp(7.5px,2vw,9px);font-weight:700;color:var(--txt);white-space:nowrap}
.pb b.soudan{font-size:clamp(15px,4.4vw,21px)}
.plan-note{
  margin-top:9px;padding-top:9px;border-top:1px solid #E6E9E6;
  text-align:center;font-size:clamp(8.5px,2.2vw,10px);font-weight:700;line-height:1.55;
}
.plan-note b{color:var(--g-d)}
.s8 .badges3 li{color:#fff}

/* ========== 法務ページ ========== */
.legal-body{background:#F7F8F7}
.lg-head{background:#fff;border-bottom:1px solid #E4E7E4;padding:12px 16px;text-align:center}
.lg-head img{width:132px;margin:0 auto;mix-blend-mode:multiply}
.legal{padding:24px 0 34px}
.legal .wrap{background:#fff;border-radius:12px;padding:22px 16px 26px;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.lg-title{
  font-size:22px;font-weight:900;color:var(--g-d);text-align:center;
  line-height:1.4;padding-bottom:14px;margin-bottom:18px;border-bottom:2px solid var(--g-d);
}
.lg-lead{font-size:13.5px;line-height:1.9;margin-bottom:22px}
.lg-h2{
  font-size:16px;font-weight:900;margin:24px 0 8px;padding-left:10px;
  border-left:4px solid var(--g);line-height:1.4;
}
.legal p{font-size:13.5px;line-height:1.9}
.lg-list{margin:8px 0 4px}
.lg-list li{
  position:relative;font-size:13.5px;line-height:1.8;padding-left:15px;margin-bottom:4px;
}
.lg-list li::before{
  content:"";position:absolute;left:2px;top:.72em;width:5px;height:5px;
  border-radius:50%;background:var(--g);
}
.lg-cap{font-size:12px !important;color:var(--gray);margin-top:8px;line-height:1.75 !important}
.lg-cap2{display:inline-block;margin-top:5px;font-size:11.5px;color:var(--gray);line-height:1.7}
.lg-table .lg-list{margin:6px 0 0}
.lg-table .lg-list li{font-size:12.5px;line-height:1.75}
.lg-table .lg-list b{color:var(--g-d)}
.lg-sub{font-size:12.5px !important;font-weight:900;color:var(--g-d);margin-top:10px}
.lg-sub:first-child{margin-top:0}

.lg-table{width:100%;border-collapse:collapse;margin:6px 0 4px;font-size:13.5px}
.lg-table th,.lg-table td{border:1px solid #E1E5E1;padding:11px 10px;text-align:left;vertical-align:top;line-height:1.7}
.lg-table th{background:#F2F6F2;font-weight:700;width:34%;color:#222}
.lg-table td p{font-size:13.5px}
.lg-red{color:var(--red);font-weight:900}
.lg-todo{background:#FFFBEA;color:#9A6A00;font-weight:700}
.lg-line{
  display:inline-block;margin-top:8px;background:var(--g);color:#fff;
  font-weight:900;font-size:12.5px;border-radius:999px;padding:6px 14px;
}
.lg-mail{color:var(--g-d);font-weight:700;text-decoration:underline;word-break:break-all}
.lg-note{
  margin-top:22px;background:#F2F6F2;border-radius:8px;padding:12px 14px;
  font-size:12.5px !important;line-height:1.8 !important;
}
.lg-date{margin-top:20px;font-size:12px !important;color:var(--gray);text-align:right}
.lg-back{margin-top:22px;text-align:center}
.lg-back a{color:var(--g-d);font-weight:700;font-size:13.5px;text-decoration:underline}

/* ========== フッター / 固定CTA ========== */
.ft{background:#111;color:#fff;text-align:center;padding:18px;font-size:12px}
.ft-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 18px;margin-bottom:12px}
.ft-nav a{font-size:12.5px;text-decoration:underline;opacity:.9}
.ft-nav a:hover{opacity:1}
.ft-cp{font-size:11.5px;opacity:.75}
.fixed-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  background:rgba(255,255,255,.95);backdrop-filter:blur(6px);
  border-top:1px solid #E3E6E3;padding:9px 16px calc(9px + env(safe-area-inset-bottom));
}
.fixed-cta a{
  position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;gap:10px;
  max-width:488px;margin:0 auto;color:#fff;
  background:linear-gradient(180deg,#18C63C 0%,var(--g) 52%,#079A26 100%);
  font-size:18px;font-weight:900;border-radius:999px;padding:13px;
  box-shadow:0 3px 0 #0A8A23,0 4px 12px rgba(0,0,0,.18);
  animation:ctaPulse 3s ease-in-out infinite;
  transition:transform .12s,box-shadow .12s;
}
/* 光が横切る演出 */
.fixed-cta a::after{
  content:"";position:absolute;top:0;left:-65%;width:45%;height:100%;
  background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.5),rgba(255,255,255,0));
  transform:skewX(-22deg);animation:ctaShine 3.4s ease-in-out infinite;pointer-events:none;
}
.fixed-cta a>*{position:relative;z-index:1}
.fixed-cta a:active{
  animation:none;transform:translateY(3px);
  box-shadow:0 0 0 #0A8A23,0 2px 6px rgba(0,0,0,.2);
}
.fixed-cta .li{flex:0 0 30px;width:30px;height:30px;border-radius:7px}

@keyframes ctaPulse{
  0%,70%,100%{transform:scale(1)}
  80%{transform:scale(1.035)}
  90%{transform:scale(1)}
}
@keyframes ctaShine{
  0%{left:-65%}
  60%,100%{left:135%}
}
/* 押した感触（全CTA共通） */
.btn-line:active,.bar-cta:active{transform:translateY(3px);box-shadow:0 1px 5px rgba(0,0,0,.22)}
.bar-cta{transition:transform .12s,box-shadow .12s}
@media (prefers-reduced-motion:reduce){
  .fixed-cta a,.fixed-cta a::after{animation:none}
}

/* ========== レスポンシブ ========== */
@media (max-width:400px){
  .h-big{font-size:33px}
  .h-lg{font-size:26px}
  .h-serif{font-size:31px}
  .btn-line{gap:7px;padding:13px 10px}
  .li{flex:0 0 30px;width:30px;height:30px;border-radius:8px}
  .arw{width:24px;height:24px;flex:0 0 24px;font-size:20px}
  .plan{padding:9px 7px 11px}
  .s8-cols{gap:6px}
  .rt{font-size:14px}
  .bar-txt{font-size:18px}
  .badges3 li{font-size:10.5px}
  .flow4 b{font-size:13px}
  .s1-copy{font-size:17px}
}
