
:root{--ink:#17323a;--teal:#0f4c4c;--teal2:#14655f;--warm:#c07a2c;--warm2:#f3e3cd;--bg:#fbfaf7;--card:#ffffff;--line:#d9e2df;--muted:#52676d}
*{box-sizing:border-box}
html{line-break:strict}
body{margin:0;font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",sans-serif;color:var(--ink);background:var(--bg);font-size:18px;line-height:1.8}
h1,h2,h3{text-wrap:balance;line-height:1.45;margin:0 0 .6em}
h1{font-size:2rem}h2{font-size:1.55rem;border-left:8px solid var(--teal);padding-left:.55em;margin-top:2.2em}h3{font-size:1.2rem;color:var(--teal)}
p{margin:.7em 0}
a{color:var(--teal2)}
.wrap{max-width:880px;margin:0 auto;padding:0 20px 64px}
header.site{background:var(--teal);color:#fff}
header.site .bar{max-width:880px;margin:0 auto;padding:16px 20px;display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;justify-content:space-between}
header.site .brand{font-weight:700;font-size:1.15rem;color:#fff;text-decoration:none;display:flex;align-items:center;gap:10px}
header.site .brand .markchip{background:#f8f3e8;border-radius:10px;padding:4px 7px;line-height:0;flex:none}
header.site .brand img.mark{height:44px;width:auto;display:block}
footer.site .lockup{background:#fff;border-radius:10px;padding:12px 16px;max-width:440px;margin-bottom:20px}
footer.site .lockup img{width:100%;height:auto;display:block}
header.site nav{display:flex;flex-wrap:wrap;gap:6px 18px}
header.site nav a{color:#fff;text-decoration:none;font-size:1rem;padding:6px 2px}
.hero{background:var(--teal);color:#fff;padding:24px 0 64px}
.hero .num{font-size:4.6rem;font-weight:800;line-height:1.05;letter-spacing:.01em}
.hero .num small{font-size:2rem;font-weight:700}
.hero h1{font-size:1.9rem;margin-top:.35em}
.hero .basis{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);border-radius:12px;padding:16px 18px;margin-top:20px;font-size:1rem}
.cta{display:inline-block;background:var(--warm);color:#fff;font-weight:700;font-size:1.15rem;text-decoration:none;padding:16px 30px;border-radius:999px;margin-top:22px;border:0;cursor:pointer}
.cta.sub{background:var(--teal2)}
.cta:disabled{background:#9aa7a4;cursor:not-allowed}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;margin:18px 0}
.notice{background:var(--warm2);border-radius:12px;padding:16px 18px;margin:18px 0}
table{border-collapse:collapse;width:100%;margin:14px 0;background:#fff}
th,td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
th{background:#eef4f2}
.grid{display:grid;grid-template-columns:1fr;gap:16px}
@media (max-width:900px){.hero .num{font-size:3.4rem}h1{font-size:1.65rem}}
ol.flow li{margin:.55em 0}
label{display:block;font-weight:700;margin:16px 0 6px}
input,select{width:100%;font-size:1.05rem;padding:13px;border:1px solid #9db3ae;border-radius:10px;background:#fff}
button.big{width:100%;font-size:1.15rem;padding:16px}
footer.site{background:#10262b;color:#dfe9e7;margin-top:56px}
footer.site .in{max-width:880px;margin:0 auto;padding:34px 20px}
footer.site a{color:#fff}
footer.site nav{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:16px}
.small{font-size:.92rem;color:var(--muted)}
footer.site .small{color:#b9cbc8}
.result{white-space:pre-wrap}
.err{color:#a33;font-weight:700}

.hero .fig{margin:22px 0 0}
.hero .fig img{width:100%;height:auto;border-radius:14px;display:block}
.kv-note{color:#cfe3e0;font-size:.82rem;margin-top:8px}
.fig img{max-width:100%}
.fig.center{text-align:center}
figcaption{font-size:.9rem;color:var(--muted);margin-top:6px;line-height:1.5}
.split{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:center}
@media (max-width:760px){.split{grid-template-columns:1fr}}
.band-warm{background:var(--warm2);border-radius:16px;padding:26px;margin:36px 0}
.band-warm h2{margin-top:0;border-left-color:var(--warm)}
.big-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}
@media (max-width:760px){.big-nums{grid-template-columns:1fr}}
.big-nums .n{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;text-align:center}
.big-nums .num{font-size:2.2rem;font-weight:800;color:var(--teal);line-height:1.15;margin:0 0 6px}
.big-nums p{margin:0}
.src{font-size:.78rem;color:var(--muted)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.steps{grid-template-columns:1fr}}
.step{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}
.step .no{display:inline-block;background:var(--teal);color:#fff;font-weight:800;border-radius:999px;padding:2px 12px;font-size:.85rem}
.step h3{margin:10px 0 6px}
.step p{margin:0}
.step img{width:100%;height:auto;border-radius:10px;margin-top:10px;display:block}
.pose-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}
@media (max-width:760px){.pose-grid{grid-template-columns:repeat(2,1fr)}}
.pose-grid figure{margin:0;background:#fff;border:1px solid #eee5d8;border-radius:12px;padding:8px}
.pose-grid img{width:100%;height:auto;border-radius:8px;display:block}
.sim{background:#fff;border:2px solid var(--warm);border-radius:14px;padding:20px;margin:16px 0}
.sim h3{margin-top:0}
.sim .calc{font-size:1.25rem;font-weight:700;color:var(--teal)}
.diagram{width:100%;height:auto;background:#fff;border:1px solid var(--line);border-radius:14px}
.fab{position:fixed;right:16px;bottom:16px;z-index:60;background:var(--teal);color:#fff;border:none;border-radius:999px;padding:16px 28px;font-size:1.05rem;font-weight:700;box-shadow:0 6px 18px rgba(0,0,0,.25);cursor:pointer;font-family:inherit}
.fab:hover{background:var(--teal2)}
.grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
/* 色の型（2026-11-13追加）: 主色ティール＋補助色セージ/ローズ/ベージュ＋金のアクセントで、セクションごとに色を切り替える。「シンプル・ミニマル」は採らない */
:root{--sage:#7fa08c;--sagebg:#e4ede7;--rose:#b76e79;--rosebg:#f8eaeb;--gold:#c07a2c}
.hero{background:linear-gradient(135deg,#0b3d3d 0%,#0f4c4c 45%,#14655f 78%,#1a7a6d 100%)}
.hero .num{color:#ffd9a0}
.band-sage{background:var(--sagebg);border-radius:16px;padding:26px;margin:36px 0}
.band-sage h2{margin-top:0;border-left-color:var(--sage)}
.band-rose{background:var(--rosebg);border-radius:16px;padding:26px;margin:36px 0}
.band-rose h2{margin-top:0;border-left-color:var(--rose)}
.band-teal{background:linear-gradient(150deg,#0f4c4c,#14655f);color:#fff;border-radius:16px;padding:26px;margin:36px 0}
.band-teal h2{margin-top:0;border-left-color:#ffd9a0;color:#fff}
.band-teal .src{color:#cfe3e0}
.band-teal .big-nums .num{color:var(--teal)}
.band-teal .big-nums .n{color:var(--ink)}
.card.tint-rose{background:#fdf3f3;border-color:#eccfd2}
.card.tint-sage{background:#f2f7f3;border-color:#cfded2}
th{background:#e7efe9}
table.compare th{background:#f3e3cd}
h2#faq ~ .card{background:#fdf8f1;border-color:#ead9c2}
h2#faq ~ .card:nth-of-type(3n){background:#fdf3f3;border-color:#eccfd2}
h2#faq ~ .card:nth-of-type(4n){background:#f2f7f3;border-color:#cfded2}
.entry-grid .card:nth-child(1){background:#f2f7f3;border-color:#cfded2}
.entry-grid .card:nth-child(2){background:#fdf6ea;border-color:#ecd9ae}
.entry-grid .card:nth-child(3){background:#fdf3f3;border-color:#eccfd2}
/* 女性向けフィットネス系HPの型（2026-11-13追加。対応表は site_pattern_map.md） */
.card{box-shadow:0 2px 10px rgba(23,50,58,.05)}
.hero .facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.hero .facts .f{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:9px 18px;font-size:.98rem;line-height:1.5}
.hero .facts .f strong{color:#ffd9a0}
.band-soft{background:#f6efe6;border-radius:16px;padding:26px;margin:36px 0}
.band-soft h2{margin-top:0;border-left-color:var(--warm)}
.entry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.entry-grid .card{margin:0}
.entry-grid .tag{display:inline-block;background:var(--warm2);color:#7a4d16;border-radius:999px;padding:2px 12px;font-size:.82rem;font-weight:700;margin-bottom:8px}
table.compare td.hl{background:#fdf6ea;font-weight:700}
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:55;background:rgba(255,255,255,.97);border-top:1px solid var(--line);box-shadow:0 -4px 16px rgba(23,50,58,.08);display:flex;gap:10px;padding:10px 14px;justify-content:center;align-items:center}
.sticky-cta a{flex:1;max-width:300px;text-align:center;text-decoration:none;font-weight:700;border-radius:999px;padding:13px 10px;font-size:1rem;line-height:1.3}
.sticky-cta .primary{background:var(--warm);color:#fff}
.sticky-cta .ghost{background:#fff;color:var(--teal);border:2px solid var(--teal)}
body:has(.sticky-cta){padding-bottom:78px}
body:has(.sticky-cta) .fab{bottom:92px}
