:root{--primary:#1fbfb8;--primary-deep:#16a59f;--secondary:#f47b6a;--accent:#ffc23c;
--ink:#2a2f3a;--muted:#7c8390;--bg:#f3faf9;--line:#e6efee;}
*{box-sizing:border-box;}
body{margin:0;font-family:-apple-system,"Hiragino Sans","Noto Sans JP",sans-serif;color:var(--ink);
background:var(--bg);line-height:1.85;}
a{color:var(--primary-deep);}
.site-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
padding:14px 22px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;}
.logo img{height:30px;display:block;}
.site-nav{display:flex;gap:16px;flex-wrap:wrap;font-size:14px;font-weight:700;}
.site-nav a{color:var(--ink);text-decoration:none;}
.site-nav a:hover{color:var(--primary-deep);}
.site-main{max-width:760px;margin:0 auto;padding:28px 22px 48px;}
.site-main h1{font-size:26px;line-height:1.4;margin:.4em 0 .6em;}
.site-main h2{font-size:19px;margin:1.6em 0 .4em;padding-top:.2em;border-top:1px solid var(--line);}
.site-main h2:first-of-type{border-top:none;}
.site-main h3{font-size:16px;margin:1.2em 0 .3em;}
.site-main ul{padding-left:1.3em;}
.site-main p{margin:.5em 0;}
.muted{color:var(--muted);}
.site-foot{border-top:1px solid var(--line);background:#fff;padding:24px 22px;text-align:center;}
.foot-links{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;font-size:13px;}
.foot-social{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;font-size:13px;margin-top:12px;}
.foot-social a{text-decoration:none;font-weight:700;}
.copyright{color:var(--muted);font-size:12px;margin-top:12px;}
.store-badges{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:6px 0 14px;}
.store-badges a{display:inline-block;padding:10px 16px;border-radius:10px;background:var(--ink);color:#fff;
text-decoration:none;font-weight:700;font-size:14px;}
/* LP */
.hero{text-align:center;padding:32px 12px 8px;}
.hero img.mark{width:240px;max-width:80%;}
.hero .tag{font-size:18px;font-weight:700;margin:10px 0 4px;}
.hero .sub{color:var(--muted);}
.badges{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:18px 0;}
.badge{display:inline-block;padding:11px 18px;border-radius:999px;background:var(--primary);color:#fff;
font-weight:800;text-decoration:none;}
.badge.soft{background:#fff;color:var(--primary-deep);border:1px solid var(--primary);}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px 0;}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;}
.card .em{font-size:26px;}
.card b{display:block;margin:6px 0 2px;}
.card span{color:var(--muted);font-size:14px;}
.note{background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:12px;
padding:14px 16px;margin:22px 0;font-size:14px;}
.steps{counter-reset:s;padding:0;list-style:none;}
.steps li{counter-increment:s;background:#fff;border:1px solid var(--line);border-radius:12px;
padding:12px 14px 12px 48px;margin:10px 0;position:relative;}
.steps li::before{content:counter(s);position:absolute;left:12px;top:12px;width:24px;height:24px;
border-radius:50%;background:var(--secondary);color:#fff;font-weight:800;display:flex;
align-items:center;justify-content:center;font-size:13px;}
.btn-mail{display:inline-block;margin-top:8px;padding:10px 16px;border-radius:10px;background:var(--primary);
color:#fff;text-decoration:none;font-weight:700;}
/* コラム */
.col-list{list-style:none;padding:0;margin:18px 0;}
.col-list li{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:12px 0;}
.col-list a{font-weight:800;text-decoration:none;font-size:16px;}
.col-list p{margin:4px 0 0;color:var(--muted);font-size:14px;}
.col-meta{color:var(--muted);font-size:13px;margin:0 0 18px;}
.col-back{display:inline-block;margin-top:24px;font-size:14px;}
.home-cols{margin:28px 0 8px;}
.home-cols h2{border-top:none;margin-top:0;}
.about-dl{background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px 18px 18px;}
.about-dl dt{font-weight:800;margin:14px 0 4px;}
.about-dl dd{margin:0;color:var(--muted);}
.biz-table{width:100%;border-collapse:collapse;margin:14px 0;font-size:14px;}
.biz-table th,.biz-table td{border:1px solid var(--line);padding:10px 12px;text-align:left;background:#fff;}
.biz-table th{width:34%;white-space:nowrap;background:#fbfdfd;}
@media(max-width:560px){.cards{grid-template-columns:1fr;}}
