/* サービス詳細ページ共通：白地に風景の気配、ページごとに実の色をアクセントに */
:root{
  color-scheme:light;
  --paper:#fcfcfe;
  --ink:#4b5374;
  --ink-soft:#7d839e;
  --line:#e7e8f1;
  --card:#ffffff;
  --rainbow:linear-gradient(90deg,#f49bb4,#f7c27a,#a9d98a,#7cc6e8,#a99be8);
  --rainbow-text:linear-gradient(100deg,#e2689c 0%,#ee915c 26%,#4fb495 52%,#4f9fd8 76%,#8f6ad0 100%);
  --c-pink:#d9609a;--c-gold:#d48a2a;--c-green:#47a368;--c-purple:#8a62c4;--c-blue:#3f8fd0;
  --f-head:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Hiragino Sans",sans-serif;
  --f-body:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;word-break:normal;overflow-wrap:anywhere;line-break:strict;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:15.5px;line-height:1.95;-webkit-font-smoothing:antialiased;
  padding-inline:clamp(16px,4vw,56px);;position:relative;isolation:isolate}
body::before{content:"";position:absolute;inset:0 0 auto 0;height:680px;z-index:-1;background:url(bg.jpg) center top/cover no-repeat;opacity:.95;
  -webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}
img{max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent,#8fb6ec);outline-offset:3px;border-radius:6px}

/* ヘッダー */
header.site{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:calc(env(safe-area-inset-top,0px) + 20px) 0;max-width:1180px;margin-inline:auto}
.mark{display:flex;align-items:center;gap:14px;text-decoration:none}
.mark img{width:136px;height:auto;display:block;margin:-6px 0 -6px -6px}
.mark small{font-size:10.5px;font-weight:500;letter-spacing:.18em;color:var(--ink-soft);line-height:1.5;padding-left:14px;border-left:1px solid var(--line)}
nav{display:flex;align-items:center;gap:clamp(14px,2.2vw,30px)}
nav a{text-decoration:none;font-size:13.5px;font-weight:500;letter-spacing:.06em}
nav a:not(.cta):hover{color:var(--accent)}
.cta{white-space:nowrap;display:inline-flex;align-items:center;background:var(--rainbow-text);background-size:140% 100%;color:#fff;text-shadow:0 1px 2px rgba(80,60,120,.25);
  border-radius:999px;padding:11px 22px;font-weight:700;letter-spacing:.06em;text-decoration:none;font-size:13.5px;transition:transform .3s var(--ease),background-position .6s var(--ease),box-shadow .3s var(--ease)}
.cta:hover{transform:translateY(-2px);background-position:100% 0;box-shadow:0 10px 24px -10px rgba(143,106,208,.6)}
.cta.big{padding:16px 34px;font-size:15.5px}

/* 実のナビ */
.fruits{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;max-width:820px;margin:26px auto 0}
.nf{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;text-align:center;white-space:nowrap;text-decoration:none;font-size:11.5px;font-weight:500;letter-spacing:.04em;color:var(--ink-soft);padding:6px 8px;border-radius:14px;transition:background .3s,color .3s}
.nf img{width:48px;height:48px;transition:transform .35s var(--ease)}
.nf:hover img{transform:translateY(-3px)}
.nf:hover,.nf.on{color:var(--fc)}
.nf.on{background:rgba(255,255,255,.75);box-shadow:0 6px 18px -12px rgba(75,83,116,.5)}

main{max-width:880px;margin-inline:auto}

/* ヒーロー */
.hero{padding-block:clamp(36px,7vw,72px) 8px}
.crumb{font-size:12px;letter-spacing:.1em;color:var(--ink-soft);margin:0 0 18px;display:flex;gap:8px}
.crumb a{text-decoration:none}
.crumb a:hover{color:var(--accent)}
.hero-row{display:flex;align-items:center;gap:clamp(16px,3vw,28px)}
.hero-fruit{width:clamp(88px,13vw,128px);height:auto;flex:none;filter:drop-shadow(0 10px 20px rgba(75,83,116,.18))}
.hero-text{min-width:0}
h1{font-family:var(--f-head);font-weight:700;font-size:clamp(28px,4.6vw,46px);line-height:1.3;letter-spacing:.04em;margin:0;color:var(--accent);text-wrap:balance}
.tag{font-family:var(--f-head);font-weight:700;font-size:clamp(15px,2vw,19px);letter-spacing:.12em;margin:6px 0 0;
  background:var(--rainbow-text);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}
.lead{font-size:clamp(15.5px,1.7vw,17px);margin:28px 0 0}
.note{display:inline-block;margin:16px 0 0;font-size:13px;padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.85);border:1px solid var(--line);color:var(--ink-soft)}

/* セクション共通 */
.block{padding-block:clamp(40px,6vw,64px) 0}
h2{font-family:var(--f-head);font-weight:700;font-size:clamp(20px,2.6vw,26px);letter-spacing:.06em;margin:0 0 22px;display:flex;align-items:center;gap:14px;text-wrap:balance}
h2::before{content:"";width:6px;height:1.1em;border-radius:6px;background:var(--accent);flex:none}

.pains{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:10px}
.pains li{position:relative;padding:14px 18px 14px 46px;background:var(--card);border:1px solid var(--line);border-radius:14px;line-height:1.7}
.pains li::before{content:"";position:absolute;left:18px;top:19px;width:14px;height:14px;border-radius:50%;border:2px solid var(--accent);opacity:.8}

.items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px}
.item{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px 22px 18px;min-width:0}
.item h3{font-family:var(--f-head);font-weight:700;font-size:16.5px;letter-spacing:.04em;margin:0 0 6px;color:var(--accent)}
.item p{margin:0;font-size:14.5px;line-height:1.8}

.steps{list-style:none;margin:0;padding:0;display:grid;gap:0;position:relative}
.steps li{display:flex;gap:18px;padding-bottom:22px;position:relative}
.steps li:not(:last-child)::after{content:"";position:absolute;left:17px;top:38px;bottom:2px;width:2px;background:linear-gradient(var(--accent),rgba(255,255,255,0));opacity:.35;border-radius:2px}
.steps .n{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--card);border:2px solid var(--accent);color:var(--accent);font-family:var(--f-head);font-weight:700;font-size:15px;font-variant-numeric:tabular-nums}
.steps h3{font-family:var(--f-head);font-weight:700;font-size:16px;margin:4px 0 0;letter-spacing:.04em}
.steps p{margin:2px 0 0;font-size:14.5px;line-height:1.8;color:var(--ink-soft)}
.steps div{min-width:0}

.back p{margin:0}

.rels{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px}
.rel{display:flex;align-items:center;gap:14px;text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:12px 18px 12px 12px;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.rel:hover{transform:translateY(-2px);box-shadow:0 10px 24px -16px rgba(75,83,116,.5)}
.rel img{width:56px;height:56px;flex:none}
.rel span{display:flex;flex-direction:column;min-width:0;line-height:1.5}
.rel b{font-family:var(--f-head);color:var(--fc);font-size:15.5px;letter-spacing:.04em}
.rel small{font-size:12.5px;color:var(--ink-soft)}

/* 相談 */
.consult{margin:clamp(56px,8vw,88px) 0 0;padding:clamp(32px,5vw,48px) clamp(20px,4vw,48px);border-radius:28px;text-align:center;
  background:linear-gradient(135deg,rgba(244,155,180,.14),rgba(247,194,122,.14) 30%,rgba(169,217,138,.14) 55%,rgba(124,198,232,.16) 78%,rgba(169,155,232,.16)),var(--card);border:1px solid var(--line)}
.consult .seed{font-family:var(--f-head);font-weight:700;font-size:14px;letter-spacing:.2em;margin:0 0 4px;background:var(--rainbow-text);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}
.consult h2{justify-content:center;margin-bottom:10px}
.consult h2::before{display:none}
.consult p{margin:0 auto 22px;max-width:44em;font-size:14.5px;color:var(--ink-soft)}

footer{max-width:1180px;margin:clamp(56px,8vw,80px) auto 0;padding-block:28px calc(env(safe-area-inset-bottom,0px) + 28px);border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
footer img{width:136px;height:auto;margin:-6px 0 -6px -6px}
footer p{margin:0;font-size:12.5px;color:var(--ink-soft);letter-spacing:.04em;display:flex;flex-wrap:wrap;gap:2px 16px}
footer p span{white-space:nowrap}

@media (max-width:820px){
  nav a:not(.cta){display:none}
  nav .cta{padding:9px 16px;font-size:12.5px}
  .mark img{width:128px}
  .mark small{display:none}
  .nf span{display:none}
  .nf img{width:44px;height:44px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}

/* ---------- ME&YOUについて ---------- */
nav a[aria-current="page"]{color:var(--accent)}
.about .hero{padding-block:clamp(48px,8vw,88px) 8px}
.rbh{color:transparent;background:var(--rainbow-text);-webkit-background-clip:text;background-clip:text;display:inline-block;font-size:clamp(30px,5vw,50px)}
.origin{display:flex;align-items:flex-end;justify-content:center;gap:clamp(12px,4vw,40px);padding:clamp(24px,4vw,40px) 16px;background:var(--card);border:1px solid var(--line);border-radius:24px}
.part{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;min-width:0}
.part img{height:clamp(110px,18vw,170px);width:auto}
.part figcaption{display:flex;flex-direction:column;align-items:center;line-height:1.5}
.part b{font-family:var(--f-head);font-size:18px;letter-spacing:.12em}
.part span{font-size:13px;color:var(--ink-soft)}
.amp{font-family:Georgia,"Times New Roman",serif;font-size:clamp(44px,7vw,72px);line-height:1;color:#e0459c;align-self:center;margin-bottom:40px}
.origin-text{margin:20px 0 0}
.person{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 32px;margin-bottom:26px}
.name{font-family:var(--f-head);font-weight:700;font-size:clamp(24px,3vw,30px);letter-spacing:.12em;margin:0;display:flex;flex-direction:column;line-height:1.4}
.name small{font-family:var(--f-body);font-weight:400;font-size:12px;letter-spacing:.2em;color:var(--ink-soft)}
.stat{margin:0;display:flex;align-items:baseline;flex-wrap:wrap;gap:0 6px;line-height:1.2}
.stat b{font-family:var(--f-head);font-size:clamp(40px,6vw,56px);background:var(--rainbow-text);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.stat span{font-family:var(--f-head);font-weight:700;font-size:16px}
.stat small{flex-basis:100%;font-size:12px;color:var(--ink-soft);margin-top:4px}
.career{list-style:none;margin:0;padding:0;border-left:2px solid var(--line);margin-left:6px}
.career li{position:relative;display:grid;grid-template-columns:7.5em minmax(0,1fr);gap:4px 20px;padding:0 0 22px 22px}
.career li::before{content:"";position:absolute;left:-7px;top:9px;width:12px;height:12px;border-radius:50%;background:var(--card);border:2px solid var(--accent)}
.career time{font-family:var(--f-head);font-weight:700;font-size:14px;color:var(--accent);font-variant-numeric:tabular-nums;padding-top:2px}
.career h3{font-family:var(--f-head);font-weight:700;font-size:16px;margin:0}
.career p{margin:2px 0 0;font-size:14.5px;line-height:1.8;color:var(--ink-soft)}
.sub{font-family:var(--f-head);font-weight:700;font-size:15px;margin:10px 0 12px;letter-spacing:.06em}
.quals{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.quals li{font-size:13px;padding:6px 14px;border-radius:999px;background:var(--card);border:1px solid var(--line);white-space:nowrap}
.table-wrap{overflow-x:auto}
.outline{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.outline th,.outline td{text-align:left;padding:14px 20px;border-bottom:1px solid var(--line);vertical-align:top;font-size:14.5px;line-height:1.8}
.outline tr:last-child th,.outline tr:last-child td{border-bottom:0}
.outline th{width:8.5em;font-weight:500;color:var(--ink-soft);white-space:nowrap}
@media (max-width:600px){
  .career li{grid-template-columns:1fr}
  .amp{margin-bottom:56px}
  .outline th,.outline td{padding:12px 14px}
  .outline th{width:6.5em}
}

/* 進め方＋挿絵：絵を大きく右へはみ出させ、文字の背面に敷く */
html,body{overflow-x:clip}
.flow-row{position:relative;min-height:clamp(380px,40vw,520px)}
.flow-row .steps{position:relative;z-index:1;max-width:34em}
.steps h3,.steps p{text-shadow:0 0 8px var(--paper),0 0 3px var(--paper)}
.flow-illust{position:absolute;z-index:0;pointer-events:none;height:auto;max-width:none;
  width:min(820px,72vw);right:calc((min(1180px,100vw - 2 * clamp(16px,4vw,56px)) - 880px) / -2 - clamp(16px,4vw,56px) + 8px);bottom:-48px}
@media (max-width:1180px){.flow-illust{right:calc(-1 * clamp(16px,4vw,56px))}}
@media (max-width:760px){
  .flow-row{min-height:0}
  .flow-illust{position:relative;right:auto;bottom:auto;width:calc(100% + 2 * clamp(16px,4vw,56px));max-width:none;margin:-36px calc(-1 * clamp(16px,4vw,56px)) -20px auto;display:block}
}

.bio{display:grid;gap:14px}
.bio p{margin:0}

/* 名前の由来：ロゴはそのまま、白地ではなく淡い虹色の面に */
.origin{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:clamp(20px,4vw,48px);
  padding:clamp(24px,4vw,44px);border-radius:28px;border:0;
  background:linear-gradient(135deg,rgba(244,155,180,.22),rgba(247,194,122,.2) 28%,rgba(169,217,138,.18) 52%,rgba(124,198,232,.22) 76%,rgba(169,155,232,.24))}
.origin-logo{width:100%;max-width:360px;height:auto;justify-self:center}
.origin-list{margin:0;display:grid;gap:14px}
.origin-list div{display:grid;grid-template-columns:2.2em minmax(0,1fr);align-items:baseline;gap:12px}
.origin-list dt{font-family:var(--f-head);font-weight:700;font-size:24px;line-height:1;background:var(--rainbow-text);-webkit-background-clip:text;background-clip:text;color:transparent;text-align:center}
.origin-list dd{margin:0;line-height:1.8}
@media (max-width:640px){.origin{grid-template-columns:1fr}.origin-logo{max-width:260px}}
.origin-list div:nth-child(1) dt{background:linear-gradient(90deg,#ED5EA4,#FBB265 35%,#94D69F 60%,#6BA7E1);-webkit-background-clip:text;background-clip:text}
.origin-list div:nth-child(2) dt{background:none;color:#D5228A;font-family:Georgia,"Times New Roman",serif}
.origin-list div:nth-child(3) dt{background:linear-gradient(90deg,#8E5FC5,#E58A6D);-webkit-background-clip:text;background-clip:text}

/* 本文は画面幅いっぱいまで詰めて自動で折り返す。見出し・ラベル・ボタンなど短い文字だけ、言葉の途中で切らない */
h1,h2,h3,dt,th,.tag,.tag b,.nf span,.cta,.rel b,.rel small,.crumb,.seed,.name,.stat,.eyebrow,.words span{word-break:keep-all;overflow-wrap:anywhere}
p,li,dd{text-wrap:pretty}

/* ---------- 支援事例 ---------- */
.case-list{display:grid;gap:22px}
.case{border-radius:24px;overflow:hidden;border:1px solid var(--line);
  background:linear-gradient(135deg,rgba(244,155,180,.10),rgba(247,194,122,.10) 30%,rgba(169,217,138,.09) 55%,rgba(124,198,232,.12) 80%,rgba(169,155,232,.12)),#fff}
.case-head{padding:22px clamp(18px,3vw,30px) 0;position:relative}
.case-head .meta{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.case-head .meta span{font-size:12px;padding:3px 12px;border-radius:999px;background:rgba(255,255,255,.85);border:1px solid var(--line);color:var(--ink-soft);white-space:nowrap}
.case h3{font-family:var(--f-head);font-weight:700;font-size:clamp(18px,2.2vw,22px);margin:0;line-height:1.5}
.sample{position:absolute;top:18px;right:18px;font-size:11px;font-weight:700;letter-spacing:.1em;color:#fff;background:#b9bdd0;border-radius:6px;padding:2px 10px}
.case-body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:18px clamp(18px,3vw,30px) 20px}
.case-body h4{font-family:var(--f-head);font-weight:700;font-size:13.5px;letter-spacing:.08em;color:var(--ink-soft);margin:0 0 6px}
.case-body p{margin:0;font-size:14.5px;line-height:1.85}
.case-body ul{margin:0;padding:0 0 0 1.1em;font-size:14.5px;line-height:1.85}
.case-body .after p{font-weight:500;color:var(--ink)}
.case-body .after h4{background:var(--rainbow-text);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}
.case-svc{display:flex;flex-wrap:wrap;gap:8px;padding:12px clamp(18px,3vw,30px) 18px;border-top:1px dashed var(--line)}
.svc{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-size:12.5px;font-weight:700;color:var(--fc);padding:3px 12px 3px 4px;border-radius:999px;background:rgba(255,255,255,.85);border:1px solid var(--line);white-space:nowrap}
.svc img{width:24px;height:24px}
@media (max-width:760px){.case-body{grid-template-columns:1fr;gap:14px}}
/* 事例：結果を大きく */
.case-results{display:flex;flex-wrap:wrap;gap:10px 28px;margin:14px clamp(18px,3vw,30px) 0;padding:14px 18px;border-radius:16px;background:rgba(255,255,255,.7)}
.res{display:flex;flex-direction:column;gap:2px;min-width:0}
.rl{font-size:12px;letter-spacing:.08em;color:var(--ink-soft);font-weight:500}
.rv{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;font-family:var(--f-head);font-variant-numeric:tabular-nums}
.rv s{text-decoration:none;font-size:18px;color:var(--ink-soft)}
.rv i{font-style:normal;color:var(--ink-soft)}
.rv b{font-size:clamp(24px,3.2vw,32px);font-weight:700;line-height:1.2;background:var(--rainbow-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.res-extra{flex-basis:100%;margin:0;font-size:13.5px;font-weight:500}
.case-body{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:760px){.case-body{grid-template-columns:1fr}}

/* 相談ボタン：少し濃いめのパステル虹色、白文字。ホバーで色が流れる */
.cta{background:linear-gradient(100deg,#f29bc0 0%,#f8bf8e 20%,#9fd8a6 40%,#8ccfe6 60%,#b4a2ec 80%,#f29bc0 100%)!important;background-size:250% 100%!important;background-position:0 50%!important;color:#fff!important;text-shadow:0 1px 3px rgba(90,70,140,.35)!important;box-shadow:0 6px 16px -10px rgba(120,110,170,.6);transition:transform .3s var(--ease),box-shadow .3s var(--ease),background-position .8s var(--ease)!important}
.cta:hover,.cta:focus-visible{background-position:100% 50%!important;transform:translateY(-2px);box-shadow:0 12px 26px -12px rgba(120,110,170,.7)}
/* ロゴ横の文字：ロゴの高さに合わせて大きく */
.mark small{font-size:13px!important;letter-spacing:.14em!important;line-height:1.7!important;padding-left:16px!important}
.rv b.txt{font-size:clamp(17px,2vw,20px);line-height:1.5}

/* ---------- よくあるご質問 ---------- */
.qa-list{display:grid;gap:10px}
.qa{border-radius:18px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(169,217,138,.10),rgba(124,198,232,.12)),rgba(255,255,255,.75)}
.qa summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:2em minmax(0,1fr) 1.2em;align-items:baseline;gap:10px;padding:16px 20px;font-weight:700;line-height:1.7}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"＋";color:var(--ink-soft);transition:transform .3s var(--ease)}
.qa[open] summary::after{content:"－"}
.qa .q{font-family:var(--f-head);font-weight:700;font-size:18px;line-height:1;background:var(--rainbow-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.qa .a{display:grid;grid-template-columns:2em minmax(0,1fr);gap:10px;padding:0 20px 18px}
.qa .a p{margin:0;font-size:14.5px;line-height:1.9}
.qa summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:18px}

/* ---------- お申込み ---------- */
.flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.flow li{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:18px;background:linear-gradient(135deg,rgba(244,155,180,.14),rgba(124,198,232,.14));border:1px solid var(--line)}
.flow .n{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--accent);color:var(--accent);font-family:var(--f-head);font-weight:700;background:rgba(255,255,255,.8)}
.flow h3{font-family:var(--f-head);font-size:15.5px;margin:4px 0 0}
.flow p{margin:0;font-size:13.5px;line-height:1.7;color:var(--ink-soft)}
@media (max-width:760px){.flow{grid-template-columns:1fr 1fr}}
.form{display:grid;gap:18px;padding:clamp(20px,4vw,36px);border-radius:24px;border:1px solid var(--line);
  background:linear-gradient(135deg,rgba(244,155,180,.10),rgba(247,194,122,.10) 30%,rgba(169,217,138,.09) 55%,rgba(124,198,232,.12) 80%,rgba(169,155,232,.12)),rgba(255,255,255,.7)}
.form .row{display:grid;gap:6px;margin:0;border:0;padding:0;min-width:0}
.form .two{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.form .two>div{display:grid;gap:6px;min-width:0}
@media (max-width:640px){.form .two{grid-template-columns:1fr}}
.form label,.form legend{font-weight:700;font-size:14px}
.form em{font-style:normal;font-size:11px;font-weight:700;color:#fff;background:#e2689c;border-radius:6px;padding:1px 8px;margin-left:8px;vertical-align:2px}
.form input:not([type=checkbox]),.form select,.form textarea{font:inherit;font-size:15px;color:var(--ink);background:#fff;border:1px solid #d9dcea;border-radius:12px;padding:12px 14px;width:100%;min-width:0}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid #8fb6ec;outline-offset:1px;border-color:transparent}
.form .bad{border-color:#e2689c!important;background:#fff6f9!important}
.chks{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.chk{display:inline-flex;align-items:center;gap:6px;font-weight:500!important;font-size:13.5px!important;padding:6px 12px 6px 8px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.85);cursor:pointer}
.chk img{width:24px;height:24px}
.chk:has(input:checked){border-color:var(--accent);background:#fff;box-shadow:0 0 0 2px rgba(217,96,154,.18)}
.agree{display:flex;align-items:center;gap:8px;font-weight:500!important}
.err{margin:0;color:#c94d84;font-size:13.5px;font-weight:700}
.form .cta{justify-self:center;border:0;cursor:pointer;font-family:inherit}
.mail{margin:0;text-align:center;font-size:13px;color:var(--ink-soft)}
.mail .addr{user-select:all;font-weight:700;color:var(--ink)}
.done{padding:32px;border-radius:24px;text-align:center;background:linear-gradient(135deg,rgba(244,155,180,.18),rgba(124,198,232,.18))}
.done h3{font-family:var(--f-head);font-size:20px;margin:0 0 8px}
.done p{margin:0}
.done .demo{margin-top:10px;font-size:12.5px;color:var(--ink-soft)}
/* FAQ内の比較表 */
.qa .a-body{display:grid;gap:14px;min-width:0}
.cmp{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px;line-height:1.6;min-width:620px;background:rgba(255,255,255,.75);border-radius:14px;overflow:hidden}
.cmp.two{min-width:420px}
.cmp th,.cmp td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.cmp thead th{font-family:var(--f-head);font-weight:700;font-size:13.5px;background:rgba(255,255,255,.6)}
.cmp tbody th{font-weight:700;color:var(--ink-soft);white-space:nowrap;width:8em}
.cmp tr:last-child th,.cmp tr:last-child td{border-bottom:0}
.cmp .me{background:linear-gradient(135deg,rgba(244,155,180,.18),rgba(124,198,232,.2));font-weight:700;color:var(--ink)}
.cmp thead .me{color:var(--c-pink)}
.cmp thead .me small{font-family:var(--f-body);font-size:11px;color:var(--ink-soft);font-weight:500}
.cmp-note{margin:0;font-size:13px;color:var(--ink-soft)}
@media (max-width:640px){
  .table-wrap:has(.cmp){overflow:visible}
  .cmp,.cmp.two{min-width:0;background:none}
  .cmp thead{display:none}
  .cmp,.cmp tbody,.cmp tr,.cmp th,.cmp td{display:block;width:auto}
  .cmp tr{margin-bottom:10px;border-radius:14px;overflow:hidden;background:rgba(255,255,255,.75)}
  .cmp tbody th{padding:9px 12px;background:rgba(255,255,255,.6);color:var(--ink);width:auto}
  .cmp td{display:grid;grid-template-columns:9.2em minmax(0,1fr);gap:8px;padding:8px 12px}
  .cmp td::before{content:attr(data-l);font-size:12px;color:var(--ink-soft);font-weight:500}
  .cmp td.me::before{color:var(--c-pink);font-weight:700}
}
@media (max-width:640px){.cmp td::before{white-space:nowrap;font-size:11.5px}}
