
/* Layout: 今のサイト（青→紺のグラデーション、細い線の波、薄グレーの巨大な英字、紺の枠ラベル）を土台に、
   広告の誌面として組み直す。主役はヒーローの明朝の大コピー1つ。他は余白と罫線で静かに整える。
   本文は17px基準。今のサイトに合わせ、明るい1テーマに固定。 */
:root{
  color-scheme:light;
  --navy:#1b1464; --navy-deep:#090846; --sky:#6b96c9; --mist:#f3f4f8;
  --ink:#16161c; --sub:#55586a; --en:#e1e2e6; --line:#cfd1d8; --blob:#c9c9c9; --white:#ffffff;
  --f-body:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans",sans-serif;
  --f-min:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans",sans-serif;
  --f-script:"Allura","Snell Roundhand",cursive;
  --grad:linear-gradient(90deg,#6c9bd2 0%,#4a7ab8 12%,#33528f 32%,#1d2a72 52%,#110f5c 72%,#05034a 88%,#020140 100%);
}
*{box-sizing:border-box}
html,body{background:var(--white);color:var(--ink)}
body{font-family:var(--f-body);font-size:17px;line-height:2;margin:0;overflow-x:hidden;font-feature-settings:"palt" 1;letter-spacing:.04em}
@media (max-width:600px){body{font-size:16px}}
a{color:inherit;text-decoration:none}
p{margin:0}
h1,h2,h3{margin:0;font-weight:700;line-height:1.5;text-wrap:balance}
.in{max-width:1180px;margin:0 auto;padding-inline:32px;position:relative;z-index:1}
@media (max-width:600px){.in{padding-inline:20px}}
.flag-unused{position:fixed;right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);z-index:60;background:var(--navy);color:#fff;font-size:12px;font-weight:700;padding:4px 10px}
@media (max-width:640px){.flag-unused{bottom:calc(env(safe-area-inset-bottom,0px) + 66px)}}
canvas.wave{position:absolute;pointer-events:none;z-index:0;top:0}
a:focus-visible{outline:2px solid var(--sky);outline-offset:4px}

/* ---------- header ---------- */
header{position:absolute;top:0;left:0;right:0;z-index:30;padding-top:env(safe-area-inset-top,0px)}
.hd{display:flex;align-items:center;gap:40px;padding-block:30px;padding-inline:clamp(20px,4vw,56px)}
.brand{color:#fff;font-family:var(--f-body);font-weight:700;font-size:24px;letter-spacing:.14em;line-height:1.3}
.brand small{display:block;font-family:var(--f-body);font-size:10px;letter-spacing:.32em;opacity:.7}
.hd nav{display:flex;gap:34px;margin-left:auto}
.hd nav a{color:#fff;line-height:1.35;text-align:center}
.hd nav b{display:block;font-size:16px;font-weight:500;letter-spacing:.06em}
.hd nav span{font-size:12px;opacity:.7}
.hd .tel{color:#fff;font-family:var(--f-body);font-weight:700;font-size:21px;letter-spacing:.06em;line-height:1.2;text-align:right;white-space:nowrap}
.hd .tel small{display:block;font-family:var(--f-body);font-size:11.5px;opacity:.75;letter-spacing:.1em}
.burger{display:none;margin-left:auto;width:30px;height:16px;border-top:1px solid #fff;border-bottom:1px solid #fff;position:relative}
.burger::after{content:"";position:absolute;left:0;right:0;top:7px;height:1px;background:#fff}
@media (max-width:1180px){.hd nav{display:none}.hd .tel{margin-left:auto}}
@media (max-width:640px){.hd .tel{display:none}.burger{display:block}.hd{padding-block:20px}.brand{font-size:19px}}

/* ---------- hero（主役） ---------- */
.mv{position:relative;overflow:hidden;background:var(--grad);color:#fff}
.mv .in{max-width:1260px;padding-block:clamp(130px,14vw,190px) 0}
.mv .script{font-family:var(--f-script);font-size:clamp(44px,5vw,64px);line-height:1;color:rgba(255,255,255,.7);margin-bottom:clamp(18px,2.4vw,30px)}
.copy{font-family:var(--f-body);font-weight:700;font-size:clamp(34px,7.2vw,104px);line-height:1.34;letter-spacing:.06em;position:relative}
.copy span{display:block;white-space:nowrap}
.copy .l2{padding-left:clamp(0px,6vw,110px)}
.copy .l3{padding-left:clamp(0px,12vw,220px)}
.mv-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px 56px;align-items:end;margin-top:clamp(44px,5vw,70px)}
.mv-lead{font-size:clamp(17px,1.5vw,19px);line-height:2.1;opacity:.92;max-width:32em}
.mv-lead b{font-family:var(--f-body);font-weight:700;font-size:1.35em;letter-spacing:.12em;display:block;margin-bottom:8px}
.mv-cta{display:flex;flex-direction:column;gap:12px;min-width:min(100%,320px)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:64px;padding:0 38px;font-size:16px;font-weight:700;letter-spacing:.12em;transition:background .25s,color .25s}
.btn::after{content:"";width:28px;height:1px;background:currentColor;transition:width .25s}
.btn:hover::after{width:44px}
.btn.w{background:#fff;color:var(--navy)}
.btn.o{border:1px solid rgba(255,255,255,.7);color:#fff}
.btn.o:hover{background:#fff;color:var(--navy)}
.btn.n{background:var(--navy);color:#fff}
.btn.line{background:#06c755;color:#fff}
.ct-btns{display:flex;flex-direction:column;gap:12px}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(70px,8vw,110px);border-top:1px solid rgba(255,255,255,.28)}
.facts div{padding:24px 0 32px;font-size:15px;letter-spacing:.08em;opacity:.88}
.facts div+div{padding-left:30px;border-left:1px solid rgba(255,255,255,.28)}
.facts b{display:block;font-family:var(--f-body);font-weight:700;font-size:clamp(20px,1.9vw,24px);letter-spacing:.1em;margin-bottom:2px}
.sign{position:absolute;right:clamp(16px,3vw,48px);top:50%;transform:translateY(-40%);writing-mode:vertical-rl;font-family:var(--f-body);font-size:15px;letter-spacing:.5em;opacity:.55;z-index:1}
@media (max-width:900px){.mv-foot{grid-template-columns:1fr}.sign{display:none}}
@media (max-width:600px){.facts{grid-template-columns:1fr}.facts div+div{padding-left:0;border-left:0;border-top:1px solid rgba(255,255,255,.2)}.facts div{padding:16px 0}}

/* ---------- 共通見出し（今のサイトの作法を大きく） ---------- */
.sec{position:relative;padding-block:clamp(90px,11vw,160px);overflow:hidden}
.ttl{font-size:clamp(64px,11vw,150px);font-weight:700;letter-spacing:.04em;color:var(--en);line-height:.9;margin-left:-.05em}
.label{display:inline-block;border:2px solid var(--navy);color:var(--navy);font-size:clamp(17px,1.5vw,20px);font-weight:700;padding:8px 30px;letter-spacing:.16em;background:#fff;margin-top:18px;line-height:1.5}
.head{margin-bottom:clamp(48px,6vw,80px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:24px 60px;align-items:end}
.head .note{color:var(--sub);font-size:clamp(17px,1.5vw,19px);line-height:2.05;padding-bottom:6px}
@media (max-width:860px){.head{grid-template-columns:1fr}}

/* ---------- philosophy ---------- */
.philo{display:flex;flex-direction:column;gap:clamp(40px,5vw,64px)}
.statement{font-family:var(--f-body);font-weight:500;font-size:clamp(24px,3.4vw,46px);line-height:1.8;letter-spacing:.08em;padding-left:clamp(0px,24vw,380px)}
.statement span{display:block}
@media (min-width:700px){.statement span{white-space:nowrap}}

/* ---------- about（グレーの帯） ---------- */
.about{position:relative;margin-left:max(20px,calc((100vw - 1180px)/2));background:var(--blob);border-radius:340px 0 0 340px;padding:clamp(70px,8vw,120px) max(24px,calc((100vw - 1180px)/2 + 32px)) clamp(70px,8vw,120px) clamp(60px,10vw,170px);
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:40px 70px;align-items:center}
.about h2{white-space:nowrap;font-size:clamp(40px,4.6vw,62px);color:#fff;letter-spacing:.06em;line-height:1}
.about .catch{font-family:var(--f-body);font-weight:700;font-size:clamp(23px,2.5vw,30px);line-height:1.8;color:var(--navy);letter-spacing:.08em;margin-top:26px}
.about .body{display:flex;flex-direction:column;gap:22px;font-size:clamp(17px,1.6vw,19.5px);line-height:2.05;font-weight:500;color:#23232b}
.about br.pc{display:inline}
@media (max-width:1100px){.about br.pc{display:none}}
@media (max-width:900px){.about{grid-template-columns:1fr;border-radius:200px 0 0 200px}}
@media (max-width:600px){.about{border-radius:110px 0 0 110px;padding:60px 22px 60px 46px}}

/* ---------- numbers ---------- */
.spread{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.fig{padding:46px 28px 42px 0;display:flex;flex-direction:column;gap:20px}
.fig+.fig{padding-left:36px;border-left:1px solid var(--line)}
.fig b{font-family:var(--f-min);font-weight:500;font-size:clamp(92px,11.5vw,160px);line-height:.85;letter-spacing:-.02em;background:linear-gradient(160deg,var(--sky),var(--navy) 70%);-webkit-background-clip:text;background-clip:text;color:transparent}
.fig b small{font-size:.24em;font-weight:700;letter-spacing:.06em;margin-left:8px;-webkit-text-fill-color:var(--navy)}
.fig p{word-break:keep-all;overflow-wrap:anywhere;font-size:clamp(17px,1.5vw,19px);line-height:1.85;font-weight:500}
@media (max-width:860px){.spread{grid-template-columns:1fr}.fig+.fig{padding-left:0;border-left:0;border-top:1px solid var(--line)}}

/* ---------- service ---------- */
.svc{display:flex;flex-direction:column;border-top:1px solid var(--ink)}
.row{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:28px 70px;padding-block:60px;border-bottom:1px solid var(--line)}
.row .no{font-family:var(--f-body);font-size:16px;color:var(--sub);letter-spacing:.2em}
.row h3{font-family:var(--f-body);font-weight:700;font-size:clamp(34px,3.6vw,48px);letter-spacing:.1em;color:var(--navy);line-height:1.3;margin-top:10px}
.row .for{font-size:17px;margin-top:18px;color:var(--sub)}
.row ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px;align-content:start}
.row li{padding:16px 0 16px 24px;border-bottom:1px solid var(--line);font-size:17px;line-height:1.7;position:relative}
.row li::before{content:"";position:absolute;left:2px;top:1.45em;width:11px;height:1px;background:var(--sky)}
.row .free{grid-column:1/-1;margin-top:22px;font-size:16px;color:var(--navy);font-weight:700;display:flex;align-items:center;gap:14px;border:0;padding:0}
.row .free::before{content:"";position:static;width:34px;height:1px;background:var(--navy)}
@media (max-width:860px){.row{grid-template-columns:1fr}.row ul{grid-template-columns:1fr}}

/* ---------- strength ---------- */
.strength{background:#fff}
.strength .ttl{color:#dfe1e8}
.str{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;background:var(--line);border:1px solid var(--line)}
.st{background:#fff;padding:clamp(32px,4vw,56px);display:flex;flex-direction:column;gap:14px}
.st h3{font-family:var(--f-body);font-weight:700;font-size:clamp(24px,2.4vw,30px);letter-spacing:.08em;color:var(--navy);line-height:1.6}
.st p{font-size:17px;color:var(--sub);line-height:2}
@media (max-width:760px){.str{grid-template-columns:1fr}}

/* ---------- price ---------- */
.price-sec{color:#fff;background:var(--grad)}
.price-sec .ttl{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.5)}
.price-sec .label{background:transparent;color:#fff;border-color:rgba(255,255,255,.8)}
.price-sec .head .note{color:rgba(255,255,255,.85)}
.pp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25)}
.pc{position:relative;display:flex;flex-direction:column;padding:50px 36px 46px;min-width:0}
.pc+.pc{border-left:1px solid rgba(255,255,255,.18)}
.pc .en-n{font-family:var(--f-body);font-size:13px;letter-spacing:.34em;opacity:.75}
.pc h3{font-family:var(--f-body);font-size:26px;letter-spacing:.08em;margin-top:8px;font-weight:700}
.pc .type{font-size:14px;opacity:.75;letter-spacing:.12em;margin-top:2px}
.pc .yen{display:flex;align-items:baseline;gap:6px;margin-top:30px}
.pc .yen .y{font-size:15px;letter-spacing:.12em;opacity:.8;margin-right:4px}
.pc .yen b{font-family:var(--f-min);font-weight:500;font-size:84px;line-height:.9}
.pc .yen .u{font-size:18px}
.pc .ratio{font-size:15px;opacity:.8;margin-top:14px;min-height:1.6em}
.pc .rule{height:1px;background:linear-gradient(90deg,rgba(255,255,255,.7),rgba(255,255,255,0));margin:22px 0 20px}
.pc ul{margin:0;padding:0;list-style:none;font-size:16.5px;line-height:1.7;display:flex;flex-direction:column;gap:11px}
.pc li{padding-left:24px;position:relative;opacity:.94}
.pc li::before{content:"";position:absolute;left:2px;top:.55em;width:10px;height:5px;border-left:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(-45deg)}
.pc li.no{opacity:.6}
.pc li.no::before{height:0;border-left:0;transform:none;top:.85em}
.pc.rec{background:#fff;color:var(--ink);margin-block:-30px;padding-block:80px 74px;box-shadow:0 40px 80px -30px rgba(0,0,0,.55);border-left:0}
.pc.rec+.pc{border-left:0}
.pc.rec .en-n,.pc.rec .type,.pc.rec .ratio{color:var(--navy);opacity:.8}
.pc.rec h3,.pc.rec .yen b{color:var(--navy)}
.pc.rec .rule{background:linear-gradient(90deg,var(--navy),rgba(27,20,100,0))}
.pc.rec .tag{position:absolute;top:0;left:0;right:0;background:var(--navy);color:#fff;text-align:center;font-size:14px;letter-spacing:.3em;padding:8px 0}
.pc .go{margin-top:auto;padding-top:32px;font-size:16px;letter-spacing:.12em;display:flex;align-items:center;gap:12px}
.pc .go::after{content:"";width:34px;height:1px;background:currentColor;transition:width .25s}
.pc .go:hover::after{width:54px}
.pc.rec .go{color:var(--navy);font-weight:700}
.pfoot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 30px;margin-top:46px;font-size:15px;opacity:.88}
.pfoot b{font-weight:500;border-bottom:1px solid rgba(255,255,255,.5)}
@media (max-width:980px){.pp{grid-template-columns:1fr;border:0}.pc,.pc+.pc,.pc.rec+.pc{border:1px solid rgba(255,255,255,.22)}.pc+.pc{margin-top:16px}.pc.rec{margin-block:16px 0;padding-block:66px 46px}.pc .yen b{font-size:68px}}

/* ---------- flow（順番に意味があるので番号を使う） ---------- */
.flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--ink)}
.fs{padding:36px 22px 10px 0}
.fs+.fs{padding-left:22px;border-left:1px solid var(--line)}
.fs .n{font-family:var(--f-min);font-weight:500;font-size:52px;line-height:1;color:#c9ccd6}
.fs h3{font-family:var(--f-body);font-weight:700;font-size:22px;letter-spacing:.06em;color:var(--navy);margin-top:16px}
.fs p{font-size:16px;color:var(--sub);line-height:1.9;margin-top:8px}
@media (max-width:1000px){.flow{grid-template-columns:1fr}.fs,.fs+.fs{padding:24px 0;border-left:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:70px 1fr;column-gap:10px}.fs .n{grid-row:span 2}.fs h3{margin-top:0}}

/* ---------- column ---------- */
.cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.post{display:flex;flex-direction:column;gap:14px}
.thumb{aspect-ratio:4/3;max-width:100%;background:var(--grad);position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:24px}
.thumb span{font-weight:700;font-family:var(--f-body);color:#fff;font-size:48px;letter-spacing:.1em;line-height:1;position:relative;z-index:1}
.thumb canvas{position:absolute;inset:0;width:100%;height:100%}
.post .cat{font-size:14.5px;color:var(--navy);font-weight:700;letter-spacing:.08em}
.post h3{font-size:20px;line-height:1.7;font-weight:500}
.post:hover h3{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.more{display:flex;justify-content:flex-end;margin-top:56px}
@media (max-width:860px){.cols{grid-template-columns:1fr}}

/* ---------- company（今のサイトの白いカード） ---------- */
.company{background:linear-gradient(90deg,#94b3da 0%,#6f84b8 45%,#4b4a85 100%)}
.company .ttl{color:rgba(255,255,255,.5)}
.company .label{background:transparent;color:#fff;border-color:#fff}
.card{background:#fff;border-radius:60px;padding:clamp(40px,5vw,72px) clamp(24px,6vw,90px);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:40px 70px;align-items:start}
.card .nm{white-space:nowrap;font-family:var(--f-body);font-weight:700;font-size:clamp(26px,2.6vw,34px);letter-spacing:.14em;color:var(--navy);line-height:1.5}
.card .nm small{display:block;font-family:var(--f-body);font-size:12px;letter-spacing:.3em;color:var(--sub)}
.card dl{margin:0;display:grid;grid-template-columns:7em minmax(0,1fr)}
.card dt,.card dd{margin:0;padding:18px 0;border-bottom:1px solid var(--navy);font-size:17px}
.card dt{color:var(--sub);font-weight:700;font-size:16px}
.card dd{overflow-wrap:anywhere}
@media (max-width:860px){.card{grid-template-columns:1fr;border-radius:36px}}
@media (max-width:520px){.card dl{grid-template-columns:1fr}.card dt{border-bottom:0;padding-bottom:0}}

/* ---------- contact（締めの広告） ---------- */
.contact{position:relative;overflow:hidden;background:var(--grad);color:#fff}
.contact .in{padding-block:clamp(100px,12vw,170px)}
.contact .big{font-family:var(--f-body);font-weight:700;font-size:clamp(36px,5.8vw,80px);line-height:1.45;letter-spacing:.08em}
.contact .big span{display:block}
.ct{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px 60px;align-items:end;margin-top:clamp(50px,6vw,80px);padding-top:38px;border-top:1px solid rgba(255,255,255,.3)}
.ct .tel{font-weight:700;font-family:var(--f-body);font-size:clamp(22px,2.3vw,32px);letter-spacing:.04em;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere}
.ct .tel small{display:block;font-family:var(--f-body);font-size:16px;letter-spacing:.12em;opacity:.8;margin-bottom:10px}
.ct .mail{font-size:18px;opacity:.88;margin-top:12px}
@media (max-width:860px){.ct{grid-template-columns:1fr}}

footer{background:var(--navy-deep);color:rgba(255,255,255,.82);font-size:15px;padding-block:64px 46px}
.ft{display:flex;flex-wrap:wrap;justify-content:space-between;gap:30px 60px}
.ft .script{font-family:var(--f-script);font-size:50px;color:rgba(255,255,255,.55);line-height:1}
.ft p{margin-top:14px;line-height:1.95}
.ft nav{display:flex;flex-wrap:wrap;gap:10px 28px;align-content:flex-start}
.copyr{margin-top:42px;font-size:12px;opacity:.55;letter-spacing:.14em}

/* スマホ下部バー */
.sp{display:none}
@media (max-width:640px){
  .sp{display:grid;grid-template-columns:1fr 1fr 1.3fr;position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}
  .sp a{padding:14px 4px;text-align:center;font-size:14px;font-weight:700;color:var(--navy)}
  .sp a+a{border-left:1px solid var(--line)}
  .sp .m{background:var(--navy);color:#fff}
  footer{padding-bottom:116px}
}

/* ===== 縦の長さを詰める（v6） ===== */
.sec{padding-block:clamp(64px,7vw,104px)}
.ttl{font-size:clamp(52px,8vw,112px)}
.head{margin-bottom:clamp(32px,4vw,52px)}
.mv .in{padding-block:clamp(120px,12vw,160px) 0}
.mv-foot{margin-top:clamp(32px,3.5vw,48px)}
.facts{margin-top:clamp(44px,5vw,64px);grid-template-columns:repeat(4,minmax(0,1fr))}
.facts b{font-size:clamp(17px,1.6vw,21px);word-break:keep-all;overflow-wrap:anywhere}
.facts div{word-break:keep-all;overflow-wrap:anywhere}
.facts div+div{padding-left:24px}
@media (max-width:900px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.facts div:nth-child(3){padding-left:0;border-left:0}.facts div:nth-child(n+3){border-top:1px solid rgba(255,255,255,.2)}}
@media (max-width:600px){.facts{grid-template-columns:1fr}.facts div,.facts div+div{padding:14px 0;border-left:0}}
.facts div{padding:18px 0 22px}
/* 理念：見出しと文を横に並べる */
.philo{display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px 64px;align-items:center;justify-content:space-between}
.philo .ttl{font-size:clamp(48px,6.4vw,92px)}
.statement{padding-left:0;font-size:clamp(21px,2.3vw,31px);line-height:1.9}
@media (max-width:960px){.philo{grid-template-columns:1fr}.statement span{white-space:normal}}
.about{padding-block:clamp(56px,6vw,84px)}
/* 実績 */
.spread-sec{padding-block:clamp(48px,5vw,72px)}
.fig{padding:30px 24px 28px 0;gap:14px}
.fig+.fig{padding-left:32px}
.fig b{font-size:clamp(72px,8vw,120px)}
/* サービス：3列で横に並べる */
.svc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--ink)}
.row{display:flex;flex-direction:column;gap:18px;padding:36px 30px 34px;border-bottom:0}
.row:first-child{padding-left:0}
.row:last-child{padding-right:0}
.row+.row{border-left:1px solid var(--line)}
.row h3{font-size:clamp(28px,2.6vw,36px)}
.row .for{margin-top:10px}
.row ul{grid-template-columns:1fr}
.row li{padding:11px 0 11px 22px;font-size:16px}
.row .free{margin-top:14px;font-size:15px}
@media (max-width:960px){.svc{grid-template-columns:1fr}.row,.row:first-child,.row:last-child{padding:30px 0}.row+.row{border-left:0;border-top:1px solid var(--line)}}
/* 強み：4つを1列に */
.str{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;background:none;border:0;border-top:3px solid var(--navy)}
.st{background:transparent;padding:40px 40px 44px 0;gap:12px;border-bottom:1px solid var(--line);position:relative}
.st:nth-child(2n){padding-left:40px;padding-right:0;border-left:1px solid var(--line)}
.st .kw{font-weight:700;font-size:clamp(44px,5vw,68px);line-height:1.1;letter-spacing:.04em;background:linear-gradient(120deg,var(--sky),var(--navy) 65%);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:4px}
.st h3{font-size:clamp(20px,1.8vw,24px);color:var(--ink)}
.st p{font-size:16.5px;text-wrap:pretty}
@media (max-width:760px){.str{grid-template-columns:1fr}.st,.st:nth-child(2n){padding:32px 0;border-left:0}}
@media (max-width:600px){.str{grid-template-columns:1fr}}
/* 料金 */
.pc{padding:40px 32px 36px}
.pc.rec{margin-block:-22px;padding-block:66px 58px}
.pc .yen{margin-top:20px}
.pc .yen b{font-size:72px}
.pc ul{gap:8px}
.pc .go{padding-top:24px}
.pfoot{margin-top:34px}
@media (max-width:980px){.pc.rec{margin-block:16px 0;padding-block:60px 40px}}
/* コラム */
.thumb{aspect-ratio:16/9}
.more{margin-top:36px}
/* 会社概要 */
.card{padding:clamp(32px,4vw,52px) clamp(24px,5vw,72px)}
.card dt,.card dd{padding:13px 0}
/* 締め */
.contact .in{padding-block:clamp(72px,8vw,112px)}
.ct{margin-top:clamp(32px,4vw,52px);padding-top:30px}
footer{padding-block:48px 36px}

/* 料金カードのボタン */
.pc .go{margin-top:auto;padding:0;min-height:58px;display:flex;align-items:center;justify-content:center;gap:14px;font-size:16px;font-weight:700;letter-spacing:.1em;background:#fff;color:var(--navy);transition:background .25s,color .25s}
.pc .go::after{content:"";width:26px;height:1px;background:currentColor;transition:width .25s}
.pc .go:hover{background:var(--sky);color:#fff}
.pc .go:hover::after{width:40px}
.pc ul{margin-bottom:30px}
.pc.rec .go{background:var(--navy);color:#fff}
.pc.rec .go:hover{background:#2a2190}

/* LINEボタン（料金カード） */
.pc .go,.pc.rec .go{background:#06c755;color:#fff}
.pc .go:hover,.pc.rec .go:hover{background:#05a948;color:#fff}
.bub{width:22px;height:22px;flex:none}
.btn.line{gap:12px}

/* スクロール中に出る「専用LINEで相談」 */
.float-line{position:fixed;right:clamp(16px,2.5vw,32px);bottom:calc(env(safe-area-inset-bottom,0px) + clamp(16px,2.5vw,32px));z-index:55;display:flex;align-items:center;gap:12px;
  background:#06c755;color:#fff;font-weight:700;font-size:16px;letter-spacing:.08em;padding:18px 28px;border-radius:999px;box-shadow:0 14px 34px -10px rgba(6,90,40,.55);
  transform:translateY(140%);opacity:0;transition:transform .35s cubic-bezier(.2,.7,.2,1),opacity .35s,background .2s}
.float-line.on{transform:none;opacity:1}
.float-line:hover{background:#05a948}
.float-line small{display:block;font-size:11px;font-weight:500;letter-spacing:.04em;opacity:.9;line-height:1.3}
.float-line span{line-height:1.3}
.flag-unused{left:12px;right:auto}
@media (max-width:640px){
  .float-line{display:none}
  .sp{grid-template-columns:1fr 1.6fr 1fr}
  .sp a.l{background:#06c755;color:#fff;display:flex;align-items:center;justify-content:center;gap:8px}
  .sp .m{background:#fff;color:var(--navy)}
}
@media (prefers-reduced-motion:reduce){.float-line{transition:none}}

/* 右下LINEボタンを大きく */
.float-line{font-size:clamp(20px,1.7vw,24px);padding:24px 40px 24px 32px;gap:16px;box-shadow:0 18px 40px -10px rgba(6,90,40,.6)}
.float-line .bub{width:38px;height:38px}
.float-line small{font-size:14px;margin-top:4px}
.sp a.l{font-size:15px}
.sp a.l .bub{width:24px;height:24px}
.sp a{padding:16px 4px}

/* 強み：中身を厚く */
.st{gap:14px;padding-bottom:40px}
.st > p:not(.kw){font-size:16.5px;color:var(--ink);line-height:2;opacity:.85}
.pts{margin:6px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;border-top:1px dashed var(--line)}
.pts li{position:relative;padding:12px 0 12px 30px;border-bottom:1px dashed var(--line);font-size:16px;font-weight:500;color:var(--navy);line-height:1.7}
.pts li::before{content:"";position:absolute;left:4px;top:1.05em;width:12px;height:7px;border-left:2px solid var(--sky);border-bottom:2px solid var(--sky);transform:rotate(-45deg)}

/* 代表・共同代表 */
.reps{display:grid;grid-template-columns:auto 1fr;gap:4px 18px;align-items:baseline}
.reps .r{font-size:13px;color:var(--sub);font-weight:700;letter-spacing:.1em}
.reps .n{font-size:18px;font-weight:700;letter-spacing:.12em;color:var(--ink)}
.spread-cap{display:flex;align-items:center;gap:14px;font-size:clamp(18px,1.6vw,21px);font-weight:700;letter-spacing:.12em;color:var(--navy);margin-bottom:18px}
.spread-cap span{font-size:13px;letter-spacing:.14em;border:1px solid var(--navy);padding:2px 12px}

/* 右下LINEボタン：ぶわーんと光る */
.float-line{overflow:visible;isolation:isolate}
.float-line::before,.float-line::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;pointer-events:none}
.float-line.on::before{background:#06c755;animation:halo 2.2s cubic-bezier(.2,.6,.3,1) infinite}
.float-line.on::after{background:#06c755;animation:halo 2.2s cubic-bezier(.2,.6,.3,1) 1.1s infinite}
@keyframes halo{0%{transform:scale(1);opacity:.55}70%{opacity:0}100%{transform:scale(1.45,1.9);opacity:0}}
.float-line .shine{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none}
.float-line .shine::before{content:"";position:absolute;top:-20%;bottom:-20%;width:38%;left:-50%;background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.55),rgba(255,255,255,0));transform:skewX(-20deg);animation:shine 3.2s ease-in-out infinite}
@keyframes shine{0%,55%{left:-50%}85%,100%{left:120%}}
.float-line.on{animation:glow 2.2s ease-in-out infinite}
@keyframes glow{0%,100%{box-shadow:0 18px 40px -10px rgba(6,90,40,.6),0 0 0 rgba(6,199,85,0)}50%{box-shadow:0 18px 40px -10px rgba(6,90,40,.6),0 0 38px 6px rgba(6,199,85,.55)}}
@media (prefers-reduced-motion:reduce){.float-line.on,.float-line.on::before,.float-line.on::after,.float-line .shine::before{animation:none}}

/* ヘッダーのLINE（電話番号の代わり） */
.hd-line{display:inline-flex;align-items:center;gap:10px;background:#06c755;color:#fff;font-weight:700;font-size:15px;letter-spacing:.06em;padding:12px 22px;border-radius:999px;white-space:nowrap;transition:background .2s}
.hd-line:hover{background:#05a948}
.hd-line .bub{width:22px;height:22px}
@media (max-width:1180px){.hd-line{margin-left:auto}}
@media (max-width:640px){.hd-line{display:none}.sp{grid-template-columns:1.6fr 1fr}}

/* トップ：オンライン受付中 */
.mv-top{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-bottom:clamp(18px,2.4vw,30px)}
.mv-top .script{margin-bottom:0}
.live{display:inline-flex;align-items:center;gap:14px;font-weight:500;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(6px);border-radius:999px;padding:13px 26px 13px 20px;font-size:clamp(15px,1.4vw,18px);letter-spacing:.06em}
.live b{font-weight:700;font-size:1.08em}
.live .sep{width:1px;height:16px;background:rgba(255,255,255,.5)}
.live .dot{width:12px;height:12px;border-radius:50%;background:#06c755;position:relative;flex:none}
.live .dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:#06c755;animation:ping 1.8s ease-out infinite}
@keyframes ping{0%{transform:scale(1);opacity:.8}100%{transform:scale(2.8);opacity:0}}
@media (max-width:600px){.live .sep{display:none}.live{flex-wrap:wrap;row-gap:2px}}
@media (prefers-reduced-motion:reduce){.live .dot::after{animation:none}}
/* お問い合わせフォーム */
.form-sec{background:var(--mist)}
.form-sec .ttl{color:#dfe1e8}
.cf{background:#fff;border:1px solid var(--line);padding:clamp(28px,4vw,56px);display:flex;flex-direction:column;gap:26px}
.cf-row.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 32px}
.f{display:flex;flex-direction:column;gap:10px;border:0;margin:0;padding:0;min-width:0}
.f .k{font-size:15.5px;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:10px;padding:0}
.f .k em{font-style:normal;font-size:11.5px;background:var(--navy);color:#fff;padding:1px 8px;letter-spacing:.08em}
.f input:not([type=radio]):not([type=checkbox]),.f textarea{font:inherit;font-size:16px;letter-spacing:.03em;border:1px solid var(--line);background:#fafbfd;padding:14px 16px;border-radius:0;color:var(--ink);width:100%}
.f input:focus,.f textarea:focus{outline:2px solid var(--sky);outline-offset:0;background:#fff}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips label{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);padding:10px 18px;font-size:15.5px;cursor:pointer;background:#fff;transition:border-color .2s,background .2s}
.chips label:has(input:checked){border-color:var(--navy);background:#eef0fa;color:var(--navy);font-weight:700}
.chips input{accent-color:var(--navy);margin:0}
.cf-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px}
.cf-note{font-size:14px;color:var(--sub)}
.cf .btn.n{border:0;cursor:pointer;font-family:inherit}
.cf-err{color:#b3261e;font-size:15px;font-weight:700}
.cf-done{background:#eaf8ef;border:1px solid #06c755;padding:20px 24px;font-size:15.5px;line-height:1.9;color:#0d4a28}
.cf-done b{display:block;font-size:17px}
@media (max-width:760px){.cf-row.two{grid-template-columns:1fr}}

/* 開業支援 無料を大きく */
.free-big{display:flex;align-items:baseline;gap:12px;margin-top:18px;color:#d9214e}
.free-big span{font-size:15px;font-weight:700;border:2px solid currentColor;padding:2px 10px;letter-spacing:.1em}
.free-big b{font-size:clamp(54px,5.6vw,76px);font-weight:700;line-height:1;letter-spacing:.06em}
.free-band{margin-top:54px;display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px 30px;background:#fff;color:var(--ink);padding:30px clamp(24px,4vw,48px);position:relative}
.free-band .t{font-size:clamp(22px,2.4vw,30px);font-weight:700;color:var(--navy)}
.free-band .big{font-size:clamp(72px,9vw,128px);font-weight:700;line-height:1;color:#d9214e;letter-spacing:.06em}
.free-band .d{font-size:16px;line-height:1.9;color:var(--sub);padding-left:30px;border-left:1px solid var(--line)}
@media (max-width:860px){.free-band{grid-template-columns:auto 1fr}.free-band .d{grid-column:1/-1;padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:14px}}

/* トップ：オンラインの訴求 */
.mv-left{display:flex;flex-direction:column;gap:16px;min-width:0}
.on-catch{font-size:clamp(20px,2vw,28px);font-weight:700;line-height:1.6;letter-spacing:.06em;padding-left:22px;border-left:8px solid #06c755}
.on-catch .sp-br{display:none}
.on-catch{word-break:keep-all;overflow-wrap:anywhere}
@media (max-width:600px){.on-catch .sp-br{display:inline}}
.mv-left .mv-lead{max-width:none}
.mv-lead br.pc{display:inline}
@media (max-width:900px){.mv-lead br.pc{display:none}}
.mv-left .live{align-self:flex-start;margin-top:4px}

/* 開業支援：見出しの横に「無料」 */
.row h3.with-free{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.free-tag{display:inline-flex;align-items:center;justify-content:center;background:#d9214e;color:#fff;font-size:clamp(20px,1.9vw,26px);font-weight:700;letter-spacing:.12em;line-height:1;padding:10px 16px 10px 18px;border-radius:4px;box-shadow:0 8px 20px -8px rgba(217,33,78,.6)}

/* ご依頼の流れ：濃く */
.flow{border-top:3px solid var(--navy)}
.fs{display:flex;flex-direction:column;gap:12px;padding:34px 24px 30px 0;position:relative}
.fs+.fs{padding-left:24px}
.fs .n{font-family:var(--f-body);font-weight:700;font-size:clamp(56px,5vw,72px);line-height:1;background:linear-gradient(150deg,var(--sky),var(--navy) 70%);-webkit-background-clip:text;background-clip:text;color:transparent}
.fs h3{font-size:clamp(20px,1.7vw,23px);margin-top:4px;color:var(--navy)}
.fs p{font-size:16px;color:var(--ink);opacity:.85;line-height:1.95}
.fs:not(:last-child)::after{content:"";position:absolute;top:58px;right:-9px;width:16px;height:16px;border-top:2px solid var(--navy);border-right:2px solid var(--navy);transform:rotate(45deg);background:#fff;z-index:1}
.tags{list-style:none;margin:auto 0 0;padding:6px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.tags li{font-size:13.5px;font-weight:700;color:var(--navy);background:#eef0fa;border-radius:999px;padding:4px 14px;letter-spacing:.06em}

@media (max-width:1000px){.fs,.fs+.fs{display:grid;grid-template-columns:76px 1fr;column-gap:14px;padding:26px 0}.fs .n{grid-row:span 3}.fs .tags{grid-column:2}.fs:not(:last-child)::after{display:none}}

/* ご依頼の流れ：横長の行で読みやすく */
.flow{display:flex;flex-direction:column;border-top:3px solid var(--navy)}
.fs,.fs+.fs{display:grid;grid-template-columns:72px 190px minmax(0,1fr) auto;align-items:center;gap:12px 32px;padding:26px 0;border-left:0;border-bottom:1px solid var(--line)}
.fs .n{grid-row:auto;font-size:clamp(52px,4.6vw,66px)}
.fs h3{margin:0}
.fs p{margin:0}
.fs .tags{margin:0;padding:0;justify-content:flex-end;grid-column:auto}
.fs:not(:last-child)::after{display:block;top:auto;bottom:-9px;left:40px;right:auto;transform:rotate(135deg)}
@media (max-width:1000px){.fs,.fs+.fs{grid-template-columns:70px 1fr;gap:6px 16px}.fs .n{grid-row:span 3}.fs .tags{justify-content:flex-start;grid-column:2}.fs:not(:last-child)::after{left:22px}}

/* 料金カード：読みやすく */
.pp{gap:16px;border:0}
.pc,.pc+.pc{background:rgba(9,8,70,.55);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(4px)}
.pc.rec{border:0}
.pc .en-n{font-size:14px;opacity:.85}
.pc h3{font-size:28px}
.pc .type{display:inline-block;align-self:flex-start;font-size:14px;font-weight:700;opacity:1;border:1px solid rgba(255,255,255,.6);padding:2px 12px;margin-top:8px}
.pc.rec .type{border-color:var(--navy);opacity:1}
.pc .yen{margin-top:26px;gap:8px}
.pc .yen .y{font-size:17px;font-weight:700;opacity:.95}
.pc .yen b{font-size:88px;letter-spacing:-.02em}
.pc .yen .u{font-size:20px;font-weight:700}
.pc .ratio{font-size:16px;font-weight:700;opacity:.95;margin-top:16px}
.pc.rec .ratio{opacity:1}
.pc ul{font-size:17px}
@media (max-width:980px){.pc .yen b{font-size:70px}}

.pc.rec{background:#fff;backdrop-filter:none}
.fs p{font-size:15.5px;white-space:normal}
.fs br.pc,.ct br.pc{display:inline}
@media (max-width:1180px){.fs br.pc,.ct br.pc{display:none}}
.fs,.fs+.fs{grid-template-columns:72px 170px minmax(0,1fr) auto;gap:12px 28px}

.pc ul{font-size:16px;letter-spacing:.02em}
.pc li{white-space:nowrap}
@media (max-width:1180px){.pc li{white-space:normal}}

/* 流れ：タグは説明の下に左そろえ */
.fs,.fs+.fs{grid-template-columns:72px 190px minmax(0,1fr);align-items:center}
.fb{display:flex;flex-direction:column;gap:12px;min-width:0}
.fs .tags{justify-content:flex-start}
@media (max-width:1000px){.fs,.fs+.fs{grid-template-columns:70px 1fr}.fs .n{grid-row:span 2}.fb{grid-column:2}}

/* 見出しの文字アニメーション */
.copy span,.mv-foot{animation:none}
.copy i{font-style:normal;display:inline-block;opacity:0;transform:translateY(.45em) rotate(4deg);filter:blur(8px);
  animation:ch .9s cubic-bezier(.2,.7,.2,1) forwards;
  animation-delay:calc(var(--i) * 45ms + .2s)}
@keyframes ch{to{opacity:1;transform:none;filter:none}}
.mv-foot{opacity:0;animation:rise 1s cubic-bezier(.2,.7,.2,1) 1.4s forwards}
/* スクロールで出てくる */
.rv-on .rv{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1) var(--d,0s),transform .9s cubic-bezier(.2,.7,.2,1) var(--d,0s)}
.rv-on .rv.show{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.copy i{opacity:1;transform:none;filter:none;animation:none}.copy,.mv-foot{animation:none;opacity:1}}

/* おすすめ札を目立たせる */
.pc.rec .tag{top:-18px;left:50%;right:auto;transform:translateX(-50%);background:#d9214e;color:#fff;font-size:17px;font-weight:700;letter-spacing:.2em;padding:9px 30px 9px 36px;border-radius:999px;white-space:nowrap;box-shadow:0 10px 24px -8px rgba(217,33,78,.7);z-index:2}
.pc.rec{box-shadow:0 0 0 3px #d9214e,0 40px 80px -30px rgba(0,0,0,.55)}

/* 料金：理由を目立たせる */
.price-why{display:flex;flex-direction:column;gap:16px;padding-bottom:6px}
.pw-t{word-break:keep-all;overflow-wrap:anywhere;font-size:clamp(20px,1.9vw,27px);font-weight:700;line-height:1.5;letter-spacing:.06em;color:#fff}
.price-why ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.price-why li{font-size:15px;font-weight:700;color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:7px 16px 7px 14px;display:inline-flex;align-items:center;gap:8px}
.price-why li::before{content:"";width:10px;height:6px;border-left:2px solid #06c755;border-bottom:2px solid #06c755;transform:rotate(-45deg) translateY(-2px)}

/* ロゴ */
.brand{display:flex;align-items:center;gap:14px}
.logo-mark{width:84px;height:84px;border-radius:50%;box-shadow:0 0 0 2px rgba(255,255,255,.85);flex:none}
.ft-brand{display:flex;align-items:center;gap:18px}
.ft-brand .logo-mark{width:100px;height:100px}
@media (max-width:640px){.logo-mark{width:58px;height:58px}}

/* 実績：中央そろえ */
.fig{align-items:center;text-align:center}
.fig+.fig{padding-left:12px}
.fig{padding-right:12px}
.spread-cap{justify-content:center}

/* 事務所名は固めの明朝 */
.brand > span{font-family:"Shippori Mincho B1","Hiragino Mincho ProN","Yu Mincho",serif;font-weight:800;letter-spacing:.12em;font-size:26px}
.brand > span small{font-family:var(--f-body);font-weight:500}

/* 実績の数字・文字が切れないように */
.spread-sec{overflow:visible}
.fig b{line-height:1.1;padding:.06em .04em .1em;display:inline-block}
.fig p{line-height:1.9;padding-bottom:4px}

/* 事務所概要：大きなロゴ */
.card-left{display:flex;flex-direction:column;gap:32px;align-items:flex-start}
.card-logo{width:min(240px,60vw);height:auto;aspect-ratio:1;border-radius:50%;box-shadow:0 20px 40px -18px rgba(27,20,100,.45)}
@media (max-width:860px){.card-left{flex-direction:row;align-items:center;gap:20px}.card-logo{width:120px}}

/* 事務所概要：左を中央そろえ */
.card{align-items:center}
.card-left{align-items:center;text-align:center;gap:22px;align-self:center;padding-right:clamp(0px,3vw,40px);border-right:1px solid var(--line)}
.card-logo{width:min(200px,55vw)}
.card .nm{font-size:clamp(24px,2.3vw,30px)}
@media (max-width:860px){.card-left{flex-direction:column;border-right:0;padding-right:0}.card-logo{width:140px}}

/* 事務所名：縦書きの明朝（いただいた見本どおり） */
.card-left{flex-direction:row;align-items:center;justify-content:center;gap:clamp(24px,3vw,44px)}
.nm-v{writing-mode:vertical-rl;font-family:"Shippori Mincho B1","Hiragino Mincho ProN","Yu Mincho",serif;font-weight:500;font-size:clamp(30px,2.8vw,40px);letter-spacing:.14em;line-height:1;color:#111;margin:0}
@media (max-width:860px){.card-left{flex-direction:row}.nm-v{font-size:30px}}

/* 事務所名：横書きの明朝（いただいた見本の書体） */
.card-left{flex-direction:column;gap:24px}
.nm-h{font-family:"Shippori Mincho B1","Hiragino Mincho ProN","Yu Mincho",serif;font-weight:500;font-size:clamp(28px,2.6vw,36px);letter-spacing:.14em;line-height:1.3;color:#111;margin:0;white-space:nowrap}
@media (max-width:860px){.card-left{flex-direction:column}}

/* 事務所名もほかの文字（ゴシック）にそろえる */
.nm-h{font-family:var(--f-body);font-weight:700;color:var(--navy);letter-spacing:.14em}
.brand > span{font-family:var(--f-body);font-weight:700;font-size:24px;letter-spacing:.14em}

/* ご相談内容：定型文 */
.msg-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.tpl-reset{font:inherit;font-size:13.5px;font-weight:700;color:var(--navy);background:#eef0fa;border:0;border-radius:999px;padding:6px 14px;cursor:pointer}
.tpl-reset:hover{background:#dfe3f5}
.msg-hint{font-size:14px;color:var(--sub);margin:0}
#cf-msg{line-height:2;min-height:300px}

/* ご依頼の流れ：説明文を大きく */
.fs p{font-size:clamp(17px,1.45vw,19px);line-height:1.9;opacity:.9}
.fs h3{font-size:clamp(21px,1.8vw,25px)}
.tags li{font-size:14.5px;padding:5px 15px}

/* 料金の理由：見やすい2×2 */
.pw-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.25);border:1px solid rgba(255,255,255,.25);max-width:520px}
.pw-grid div{background:rgba(6,8,60,.82);padding:16px 18px;display:flex;flex-direction:column;gap:4px}
.pw-grid b{font-size:clamp(18px,1.6vw,21px);font-weight:700;color:#fff;letter-spacing:.06em;display:flex;align-items:center;gap:8px}
.pw-grid b::before{content:"";width:8px;height:8px;border-radius:50%;background:#06c755;flex:none}
.pw-grid span{font-size:15px;color:rgba(255,255,255,.88)}
@media (max-width:520px){.pw-grid{grid-template-columns:1fr}}

.price-why{background:rgba(6,8,60,.85);border:1px solid rgba(255,255,255,.22);padding:26px 26px 24px;gap:18px}
.pw-grid{max-width:none;background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.18)}
.pw-grid div{background:rgba(6,8,60,1)}

/* 含まれないものを分かりやすく */
.pc-ex{margin:14px 0 0;border:1px dashed rgba(255,255,255,.5);padding:12px 14px;font-size:15px;line-height:1.7;color:#fff}
.pc-ex b{display:inline-block;background:#d9214e;color:#fff;font-size:12.5px;padding:1px 9px;margin-right:10px;letter-spacing:.06em}
.pc-ex small{font-size:13.5px;opacity:.85}

.pc-ex{margin-bottom:26px}
.price-sec .head{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.pw-t{font-size:clamp(19px,1.7vw,24px)}



/* 料金の金額を中央そろえ */
.pc .yen{justify-content:center}
.pc .ratio{text-align:center}

/* 実績：代表についての一文 */
.spread-note{margin:28px auto 0;max-width:860px;display:flex;align-items:baseline;gap:16px;justify-content:center;font-size:clamp(16px,1.4vw,18px);line-height:1.9;color:var(--ink);text-align:left}
.spread-note span{flex:none;font-size:13px;font-weight:700;color:var(--navy);border:1px solid var(--navy);padding:1px 10px;letter-spacing:.08em}
@media (max-width:700px){.spread-note{flex-direction:column;gap:8px}}

/* 料金の理由：白い札（箱なし） */
.price-why{background:none;border:0;padding:0 0 6px;gap:20px}
.pw-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,max-content);gap:12px}
.pw-list li{background:#fff;color:var(--ink);font-size:16px;font-weight:500;border-radius:999px;padding:10px 20px 10px 16px;display:flex;align-items:center;gap:10px;box-shadow:0 8px 20px -10px rgba(0,0,0,.5)}
.pw-list li::before{content:"";width:11px;height:7px;border-left:2.5px solid #06c755;border-bottom:2.5px solid #06c755;transform:rotate(-45deg) translateY(-2px);flex:none}
.pw-list b{color:var(--navy);font-weight:700;margin-right:-4px}
@media (max-width:1100px){.pw-list{grid-template-columns:1fr}}

/* 料金の理由：元の縦並びの札を、見やすく */
.pw-pills{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.pw-pills li{font-size:clamp(16px,1.35vw,18px);font-weight:700;color:#fff;letter-spacing:.04em;background:rgba(8,10,72,.78);border:1.5px solid rgba(255,255,255,.7);border-radius:999px;padding:11px 24px 11px 18px;display:inline-flex;align-items:center;gap:12px;backdrop-filter:blur(6px);box-shadow:0 8px 22px -12px rgba(0,0,0,.6)}
.pw-pills li::before{content:"";width:12px;height:7px;border-left:3px solid #06c755;border-bottom:3px solid #06c755;transform:rotate(-45deg) translateY(-2px);flex:none}

/* 札を横2つ×2行に */
.price-why .pw-pills{display:grid;grid-template-columns:repeat(2,max-content);gap:12px;align-items:stretch;flex-wrap:nowrap}
.pw-pills li{display:flex;font-size:clamp(14.5px,1.15vw,16px);padding:11px 16px 11px 14px;white-space:nowrap}
@media (max-width:1100px){.pw-pills li{white-space:normal}}
@media (max-width:1100px){.price-why .pw-pills{grid-template-columns:1fr}}

/* トップ：開業支援無料 */
.free-hero{display:flex;align-items:center;gap:12px;margin:0 0 6px;background:#fff;border-radius:6px;padding:10px 18px;box-shadow:0 12px 28px -12px rgba(0,0,0,.55)}
.free-hero span{font-size:17px;font-weight:700;color:var(--navy);letter-spacing:.06em}
.free-hero b{font-size:clamp(30px,2.6vw,38px);font-weight:700;color:#d9214e;line-height:1;letter-spacing:.06em}
.free-hero small{font-size:12px;color:var(--sub);line-height:1.5;border-left:1px solid var(--line);padding-left:12px}

.svc-note{font-size:13.5px;line-height:1.8;color:var(--sub);margin:14px 0 0}

.free-hero em{font-style:normal;font-size:12.5px;font-weight:700;color:#fff;background:#d9214e;padding:3px 10px;border-radius:999px;letter-spacing:.08em;white-space:nowrap}

.mv-cta{max-width:420px}
.free-hero{justify-content:center}
@media (min-width:1201px){.on-catch{white-space:nowrap}}

.free-hero{flex-wrap:wrap;row-gap:4px;column-gap:12px;padding:12px 20px}
.free-hero span,.free-hero b{white-space:nowrap}
.free-hero small{flex-basis:100%;text-align:center;border-left:0;padding-left:0;font-size:12px}

/* キャンペーン：きれいな黄色 */
.free-hero{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 20px 12px;border-radius:8px;
  background:linear-gradient(135deg,#ffe36e 0%,#ffd23a 45%,#ffbf1f 100%);box-shadow:0 14px 30px -12px rgba(255,190,30,.6),inset 0 1px 0 rgba(255,255,255,.7)}
.free-hero::after{content:"";position:absolute;top:-30%;bottom:-30%;width:30%;left:-40%;background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.65),rgba(255,255,255,0));transform:skewX(-20deg);animation:fhshine 4s ease-in-out infinite}
@keyframes fhshine{0%,60%{left:-40%}90%,100%{left:120%}}
.free-hero em{font-style:normal;background:none;color:#0f0b55;font-size:11.5px;font-weight:700;letter-spacing:.32em;padding:0;border-radius:0;opacity:.8}
.fh-main{display:flex;align-items:baseline;gap:12px;font-size:20px;font-weight:700;color:#0f0b55;letter-spacing:.08em;white-space:nowrap}
.fh-main b{font-size:clamp(34px,3vw,42px);color:#0f0b55;line-height:1;letter-spacing:.08em}
.free-hero small{font-size:11.5px;color:#3a3200;flex-basis:auto}
@media (prefers-reduced-motion:reduce){.free-hero::after{animation:none;display:none}}

.free-hero em{font-size:13px;letter-spacing:.14em;background:#0f0b55;color:#ffd23a;opacity:1;padding:3px 14px;border-radius:999px;margin-bottom:4px}
.fh-main{font-size:22px}
.free-hero small{text-align:center;font-size:12.5px;line-height:1.6;color:#2b2500;margin-top:2px}

/* 料金カードを大きく */
#price .in{max-width:1400px}
.pp{gap:22px}
.pc,.pc+.pc{padding:56px 44px 48px}
.pc.rec{padding-block:84px 72px}
.pc h3{font-size:30px}
.pc .yen b{font-size:96px}
.pc .yen .u{font-size:22px}
.pc .yen .y{font-size:18px}
.pc ul{font-size:17px;gap:12px}
.pc .go{min-height:64px;font-size:17px}
@media (max-width:980px){.pc,.pc+.pc{padding:44px 28px 36px}.pc .yen b{font-size:72px}}

/* 実績：代表についての一文 */
.spread-note{margin:30px auto 0;display:flex;align-items:center;justify-content:center;gap:16px;font-size:clamp(16px,1.4vw,18px);line-height:1.8;color:var(--ink);text-align:center;flex-wrap:wrap}
.spread-note span{flex:none;font-size:13px;font-weight:700;color:var(--navy);border:1px solid var(--navy);padding:1px 12px;letter-spacing:.08em}

/* キャンペーン：開業支援が／無料を同じ大きさに */
.fh-main{font-size:clamp(30px,2.7vw,38px);gap:6px;align-items:baseline;line-height:1.1}
.fh-main b{font-size:1em;color:#0f0b55}

.free-hero .fh-main{font-size:clamp(28px,2.5vw,36px);gap:4px;margin:4px 0 2px}
.free-hero .fh-main b{font-size:1em}

.fig .nw{white-space:nowrap}
@media (max-width:1100px){.fig .nw{white-space:normal}}
.spread-note{max-width:none;flex-direction:row;flex-wrap:wrap;word-break:keep-all;overflow-wrap:anywhere}
/* 実績：月桂樹のバッジ */
.award{display:flex;align-items:center;justify-content:center;gap:14px;width:max-content;max-width:100%;margin:0 auto 40px;background:#fff;border:1px solid #e3e5ee;border-radius:24px;padding:22px 34px;box-shadow:0 18px 40px -24px rgba(27,20,100,.35)}
.laurel{width:46px;height:auto;color:#c9a54a;flex:none}
.laurel.r{transform:scaleX(-1)}
.aw-body{text-align:center;display:flex;flex-direction:column;gap:4px}
.aw-top{margin:0;font-size:15px;font-weight:700;color:#9a7a2a;letter-spacing:.14em}
.aw-main{margin:0;display:flex;align-items:baseline;justify-content:center;gap:10px;font-size:clamp(18px,1.8vw,24px);font-weight:700;color:var(--navy);letter-spacing:.06em;white-space:nowrap}
.aw-main b{font-size:clamp(38px,4vw,52px);line-height:1;background:linear-gradient(150deg,var(--sky),var(--navy) 70%);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:.02em}
.aw-sub{margin:0 auto;font-size:13px;font-weight:700;color:var(--navy);background:#eef0fa;border-radius:999px;padding:3px 14px}
@media (max-width:600px){.award{padding:18px 16px;gap:8px}.laurel{width:30px}.aw-main{flex-direction:column;align-items:center;gap:2px;white-space:normal}}

/* 実績：4列 */
.spread{grid-template-columns:repeat(4,minmax(0,1fr))}
.fig b{white-space:nowrap}
@media (max-width:1100px){.spread{grid-template-columns:repeat(2,minmax(0,1fr))}.fig:nth-child(3){border-left:0;padding-left:12px}.fig:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:640px){.spread{grid-template-columns:1fr}.fig,.fig+.fig{border-left:0}}
.fig{padding-left:10px;padding-right:10px}
.fig p{font-size:clamp(15px,1.25vw,17px)}

.fig b{font-size:clamp(70px,7.4vw,118px)}
.fig b.big4{font-size:clamp(52px,5.4vw,86px);padding-top:.18em;padding-bottom:.16em}

/* 料金カードの枠線を太く */
.pc,.pc+.pc{border:2px solid rgba(255,255,255,.55)}
.pc.rec{border:0;box-shadow:0 0 0 4px #d9214e,0 40px 80px -30px rgba(0,0,0,.55)}

/* BIG4にきらめき */
.fig-big4{position:relative}
.spk{position:absolute;pointer-events:none;color:#e8c25a;opacity:0;animation:twinkle 2.8s ease-in-out infinite}
.spk svg{width:100%;height:100%;fill:currentColor;display:block;filter:drop-shadow(0 0 6px rgba(232,194,90,.7))}
.s1{width:26px;height:26px;top:34px;left:14%;animation-delay:0s}
.s2{width:16px;height:16px;top:22px;right:16%;animation-delay:.7s;color:#7fa8e0}
.s3{width:20px;height:20px;top:118px;right:10%;animation-delay:1.4s}
.s4{width:12px;height:12px;top:108px;left:10%;animation-delay:2.1s;color:#7fa8e0}
@keyframes twinkle{0%,100%{opacity:0;transform:scale(.4) rotate(0)}40%{opacity:1;transform:scale(1) rotate(20deg)}70%{opacity:.2;transform:scale(.7) rotate(35deg)}}
@media (prefers-reduced-motion:reduce){.spk{animation:none;opacity:.9}}

.fig b{height:clamp(84px,8.8vw,140px);display:flex;align-items:flex-end;justify-content:center;padding-bottom:.08em}
.fig b.big4{padding-bottom:.14em}
.fig-big4 p{font-size:clamp(14.5px,1.15vw,16.5px)}
.fig-big4 br.sp-only{display:none}

.fig b small{margin-bottom:.55em}
.fig-big4 br.sp-only{display:inline}

.fig p .sup{display:block;margin:10px auto 0;width:max-content;font-size:13.5px;font-weight:700;color:var(--navy);background:#eef0fa;border-radius:999px;padding:3px 14px;letter-spacing:.06em}

.fig-spk{position:relative}
.fig-spk:nth-child(2) .spk{animation-duration:3.1s}
.fig-spk:nth-child(3) .spk{animation-duration:2.6s;animation-delay:calc(var(--d0,0s) + .4s)}
.fig-spk:nth-child(4) .spk{animation-duration:3.4s}
.fig-spk .s1{left:18%}.fig-spk .s2{right:20%}.fig-spk .s3{right:14%}.fig-spk .s4{left:14%}

/* 実績の説明：ラベルなし、行をそろえる */
.fig p{font-size:clamp(14px,1.08vw,16px);line-height:1.95}
@media (min-width:1101px){.fig p{white-space:nowrap}}

/* BIG4も他とそろえる */
.fig-big4 p{font-size:clamp(14px,1.08vw,16px)}
.fig b.big4{font-size:clamp(60px,6.6vw,100px);letter-spacing:-.02em}

/* お客様の事例 */
.case-sec{background:var(--mist)}
.case-sec .ttl{color:#dfe1e8}
.cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.case{background:#fff;border:1px solid var(--line);border-top:4px solid var(--navy);padding:28px 26px;display:flex;flex-direction:column;gap:18px}
.case-ind{display:inline-block;font-size:13px;font-weight:700;color:#fff;background:var(--navy);padding:2px 12px;letter-spacing:.06em}
.case-name{margin:10px 0 0;font-size:21px;line-height:1.5;word-break:keep-all;font-weight:700;color:var(--navy);display:flex;flex-direction:column;gap:6px}
.case .todo{font-size:12px;font-weight:700;color:#8a5a00;background:#fff4d6;padding:1px 8px;align-self:flex-start}
.case dl{margin:0;display:grid;grid-template-columns:6.5em 1fr;row-gap:10px;font-size:15.5px}
.case dt{font-weight:700;color:var(--sub)}
.case dd{margin:0;color:#8a5a00}
@media (max-width:900px){.cases{grid-template-columns:1fr}}

.case-link{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border:2px solid var(--navy);color:var(--navy);font-weight:700;font-size:15px;letter-spacing:.06em;transition:background .2s,color .2s}
.case-link:hover{background:var(--navy);color:#fff}

/* 主な顧問先 */
.clients{background:#fff;border:1px solid var(--line);padding:26px 30px;margin-bottom:28px;display:flex;align-items:center;gap:20px 36px;flex-wrap:wrap}
.cl-t{margin:0;font-size:18px;font-weight:700;color:var(--navy);display:flex;flex-direction:column;line-height:1.4}
.cl-t small{font-size:12px;font-weight:500;color:var(--sub)}
.clients ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 12px}
.clients li{font-size:17px;font-weight:700;color:var(--ink);border:1px solid var(--line);padding:10px 18px;background:#fafbfd}
.clients li.more{border:0;background:none;font-weight:500;color:var(--sub);font-size:15px;padding-left:4px}

.clients li{line-height:1.4;display:flex;align-items:center}
.clients ul{align-items:center}
/* 顧問先の業種 */
.inds{flex-basis:100%;display:flex;align-items:center;gap:12px 24px;flex-wrap:wrap;border-top:1px dashed var(--line);padding-top:18px}
.ind-t{margin:0;font-size:15px;font-weight:700;color:var(--navy)}
.inds ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 10px}
.inds li{font-size:15px;font-weight:700;color:var(--navy);background:#eef0fa;border-radius:999px;padding:6px 16px;line-height:1.4}
.inds li.etc{background:none;color:var(--sub);font-weight:500;padding-left:4px}

.cases{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px;margin:0 auto}
@media (max-width:760px){.cases{grid-template-columns:1fr}}

.ft > div{min-width:0;max-width:100%}
@media (max-width:600px){.ft p{overflow-wrap:anywhere}.ft-brand .logo-mark{width:72px;height:72px}}

/* スマホの崩れ修正 */
@media (max-width:860px){
  .price-sec .head{grid-template-columns:1fr}
  .statement{font-size:clamp(19px,5.2vw,24px)}
  .statement span{white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
  .pw-t{font-size:20px}
}

/* ヒーローだけ、一度だけの登場 */
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.copy span,.mv-foot{animation:rise 1.1s cubic-bezier(.2,.7,.2,1) both}
.copy .l2{animation-delay:.18s}.copy .l3{animation-delay:.3s}.mv-foot{animation-delay:.4s}
@media (prefers-reduced-motion:reduce){.copy span,.mv-foot{animation:none}*{transition:none!important}}

/* WordPress 用の追記 */
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.cf-done-real{background:#eaf8ef;border:1px solid #06c755;padding:20px 24px;font-size:16px;line-height:1.9;color:#0d4a28;margin-bottom:24px}
.cf-done-real b{display:block;font-size:18px}
.cf-err-real{background:#fdecea;border:1px solid #d9214e;padding:18px 22px;color:#8a1c1c;margin-bottom:24px;font-weight:700}
.clients li a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.clients li a::after{content:"↗";font-size:.8em;opacity:.6}
.page-wrap{max-width:860px;margin:0 auto;padding:160px 24px 100px}
.page-wrap h1{font-size:clamp(26px,3vw,34px);color:var(--navy);margin-bottom:28px}
.page-wrap .entry{font-size:16px;line-height:2}
.page-wrap .entry h2{font-size:20px;color:var(--navy);margin:36px 0 10px}
.page-hd{background:var(--grad);}
