/* Reports Web 製品トップ専用（2026-11 リニューアル）。共通ヘッダー／フッターは ../css/base.css */
.rw{
  --navy:#0f2238; --navy-2:#173a5a; --teal:#1aa39b; --teal-d:#128a83; --mint:#9fe3de;
  --orange:#f0801a; --orange-d:#d96d0c; --ink:#1f2a37; --muted:#5b6775;
  --line:#dde3ea; --wash:#eef3f7; --paper:#fff; --max:1180px;
  color:var(--ink); line-height:1.85;
  font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;
  font-feature-settings:"palt";
}
body.rw-page{background:#f6f8fb}
.rw *{box-sizing:border-box}
.rw img{max-width:100%;height:auto}
.rw p{margin:0 0 1.1em}
.rw h1,.rw h2,.rw h3,.rw h4{line-height:1.4;letter-spacing:-.01em;margin:0 0 .6em;color:var(--navy);font-weight:700}
.rw h2{font-size:clamp(1.6rem,2.7vw,2.3rem);text-align:center;font-weight:900;letter-spacing:-.02em}
.rw h3{font-size:1.2rem}
.rw h4{font-size:1.02rem}
.rw a{color:var(--teal-d);text-underline-offset:4px}
.rw a:hover{color:var(--orange-d)}
.rw .wrap{width:calc(100% - 40px);max-width:var(--max);margin:0 auto}
.rw .lead{text-align:center;max-width:840px;margin:0 auto 2.2rem;color:var(--muted)}
.rw section{padding:3.6rem 0}
.rw section.alt{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rw .eyebrow{display:block;text-align:center;font-size:.78rem;font-weight:700;letter-spacing:.18em;color:var(--teal-d);margin-bottom:.6rem}
.rw .eyebrow::before{content:"";display:inline-block;width:22px;height:2px;background:var(--orange);vertical-align:middle;margin-right:.6rem;border-radius:2px}
.rw .center{text-align:center}
.rw .small{font-size:.86rem;color:var(--muted)}
.rw .pill{display:inline-block;background:var(--wash);border:1px solid var(--line);border-radius:999px;padding:.1rem .7rem;font-size:.8rem;font-weight:700;color:var(--navy);margin:.15rem .2rem .15rem 0}
.rw .pill.hot{background:#fff4e8;border-color:#f6c592;color:var(--orange-d)}
.rw code.inline{background:var(--wash);padding:.1rem .4rem;border-radius:4px;font-size:.9em;font-family:Consolas,"Cascadia Code",Menlo,monospace}

/* ボタン */
.rw .btn{display:inline-block;padding:.8rem 1.5rem;border-radius:8px;font-weight:700;text-decoration:none;border:2px solid transparent;transition:.2s;line-height:1.4}
.rw .btn.primary{background:var(--orange);color:#fff}
.rw .btn.primary:hover{background:var(--orange-d);color:#fff}
.rw .btn.secondary{background:#fff;color:var(--navy);border-color:var(--navy)}
.rw .btn.secondary:hover{background:var(--navy);color:#fff}
.rw .btn.ghost{background:transparent;color:var(--teal-d);border-color:var(--teal)}
.rw .btn.ghost:hover{background:var(--teal);color:#fff}
.rw .btn-row{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}

/* ページ内ナビ */
.rw-subnav{position:sticky;top:80px;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.rw-subnav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center}
@media (max-width:899px){.rw-subnav ul{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}}
.rw-subnav li a{display:block;padding:.7rem .6rem;font-size:.8rem;font-weight:600;color:var(--navy);text-decoration:none;border-bottom:3px solid transparent;white-space:nowrap}
.rw-subnav li a:hover{border-bottom-color:var(--teal);color:var(--teal-d)}
.rw-subnav li a.on{border-bottom-color:var(--orange);color:var(--orange-d)}
.rw-subnav li.buy a{color:var(--orange-d);font-weight:800}
@media (max-width:599px){.rw-subnav{top:44px}}
.rw section,.rw [id]{scroll-margin-top:var(--rw-anchor-offset,140px)}

/* ヒーロー */
.rw-hero{position:relative;background:linear-gradient(160deg,#0f2238 0%,#173a5a 50%,#146e70 100%);color:#fff;padding:3.2rem 0 3rem;overflow:hidden}
.rw-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(180deg,rgba(0,0,0,.9),transparent 85%);-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.9),transparent 85%);pointer-events:none}
.rw-hero::after{content:"";position:absolute;width:760px;height:760px;right:-240px;top:-280px;border-radius:50%;background:radial-gradient(closest-side,rgba(26,163,155,.35),transparent);pointer-events:none}
.rw-hero .wrap{position:relative;z-index:1}
.rw-hero .top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.6rem;align-items:center;margin-bottom:2.2rem}
.rw-hero .top > div:last-child{padding-top:.4rem}
.rw-hero .eyebrow{text-align:left;color:var(--mint)}
.rw-hero h1{color:#fff;font-size:clamp(1.9rem,3.4vw,3rem);font-weight:900;line-height:1.32;margin-bottom:1rem;letter-spacing:-.02em}
.rw-hero h1 .brand{display:block;font-size:.5em;font-weight:600;letter-spacing:.02em;color:#ffd9b0;margin-bottom:.35em}
.rw-hero p.sub{font-size:.98rem;color:#dbe6f3;margin-bottom:1.2rem}
.rw-hero .price{font-size:1rem;color:#fff;margin:.6rem 0 0}
.rw-hero .price strong{font-size:1.7rem;color:#ffd9b0;margin:0 .2em}
.rw-hero .links{margin-top:.8rem;font-size:.88rem}
.rw-hero .links a{color:#bfe9e6;margin-right:1.2rem}
.rw-hero .btn.secondary{background:#fff;border-color:#fff;color:var(--navy)}
.rw-hero .btn.ghost{color:#fff;border-color:var(--mint)}
.rw-hero .btn.ghost:hover{background:var(--mint);color:var(--navy)}
/* 2 台のモニター */
.rw-hero .desk{display:grid;grid-template-columns:minmax(0,1.17fr) auto minmax(0,1fr);gap:.6rem;align-items:start}
.rw-hero .monitor{margin:0;filter:drop-shadow(0 26px 40px rgba(0,0,0,.45))}
.rw-hero .monitor .screen{background:#0f1419;border-radius:10px;padding:8px 8px 14px;border:1px solid #2b3540;position:relative}
.rw-hero .monitor .screen::after{content:"";position:absolute;left:50%;bottom:5px;width:40px;height:4px;margin-left:-20px;border-radius:2px;background:#2b3540}
.rw-hero .monitor img{display:block;width:100%;border-radius:4px}
.rw-hero .monitor .neck{width:90px;height:30px;margin:0 auto;background:linear-gradient(90deg,#aab3bd,#dfe4e9 50%,#aab3bd)}
.rw-hero .monitor .base{width:200px;height:10px;margin:0 auto;border-radius:0 0 12px 12px;background:linear-gradient(#cfd5dc,#9aa4ae)}
.rw-hero .monitor figcaption{font-size:.78rem;color:#bcd0e6;margin-top:.7rem;text-align:center}
.rw-hero .monitor figcaption b{color:#fff}
.rw-hero .desk .arrow{align-self:center;font-size:2.4rem;font-weight:900;color:var(--orange);padding-bottom:3rem}
.rw-hero .desk-note{text-align:center;font-size:.8rem;color:#9fb3c8;margin:1rem 0 0}
@media (max-width:960px){.rw-hero .wrap{display:flex;flex-direction:column}.rw-hero .top{display:contents}.rw-hero .top > div:first-child{order:1}.rw-hero .desk{order:2;grid-template-columns:1fr;margin:.4rem 0 1.2rem}.rw-hero .top > div:last-child{order:3;padding-top:0}.rw-hero .desk-note{order:4}.rw-hero .desk .arrow{transform:rotate(90deg);padding:0;text-align:center}}

/* 数字の帯 */
.rw-stats{display:grid;grid-template-columns:repeat(5,1fr);max-width:var(--max);margin:-1.6rem auto 0;width:calc(100% - 40px);background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 40px rgba(15,34,56,.12);position:relative;z-index:2;overflow:hidden}
.rw-stats > div{padding:1.1rem 1rem;text-align:center;border-left:1px solid var(--line)}
.rw-stats > div:first-child{border-left:0}
.rw-stats b{display:block;font-size:1.9rem;font-weight:900;color:var(--navy);line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.rw-stats b span{font-size:.9rem;font-weight:700;color:var(--teal-d);margin:0 .15em}
.rw-stats small{display:block;font-size:.78rem;color:var(--muted);margin-top:.3rem}
@media (max-width:900px){.rw-stats{grid-template-columns:repeat(3,1fr)}.rw-stats > div:nth-child(4){border-left:0}.rw-stats > div{border-top:1px solid var(--line)}.rw-stats > div:nth-child(-n+3){border-top:0}}
@media (max-width:599px){.rw-stats{grid-template-columns:repeat(2,1fr);width:calc(100% - 32px)}.rw-stats > div:nth-child(odd){border-left:0}.rw-stats > div:nth-child(4){border-left:1px solid var(--line)}.rw-stats > div:nth-child(-n+2){border-top:0}.rw-stats > div:nth-child(3){border-top:1px solid var(--line)}}

/* 最新リリース（短縮） */
.rw-release{background:var(--paper);border-bottom:1px solid var(--line);padding:1.6rem 0 1.2rem}
.rw-release .row{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;align-items:baseline}
.rw-release .ver{font-weight:800;color:var(--navy)}
.rw-release .date{font-size:.82rem;color:var(--muted)}
.rw-release ul{list-style:none;margin:.3rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.3rem 1.5rem;font-size:.92rem}
.rw-release li::before{content:"●";color:var(--teal);font-size:.6rem;margin-right:.5rem;vertical-align:middle}

/* 掛け算の図（1 × 4 × 7） */
.rw-formula{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:1rem;align-items:stretch;margin:1.6rem 0 0}
.rw-formula .box{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:1.3rem 1.3rem 1.1rem;box-shadow:0 8px 24px rgba(15,34,56,.05)}
.rw-formula .box.core{border-color:var(--teal);box-shadow:0 12px 30px rgba(26,163,155,.18)}
.rw-formula .num{display:block;font-size:2.4rem;font-weight:900;color:var(--navy);line-height:1;letter-spacing:-.03em}
.rw-formula .num small{font-size:1rem;color:var(--teal-d);margin-left:.3rem;font-weight:700}
.rw-formula .ttl{display:block;font-weight:800;color:var(--navy);margin:.5rem 0 .4rem}
.rw-formula ul{margin:0;padding:0;list-style:none;font-size:.88rem;color:var(--muted)}
.rw-formula li{padding:.18rem 0;border-top:1px dashed var(--line)}
.rw-formula li:first-child{border-top:0}
.rw-formula li b{color:var(--ink)}
.rw-formula .op{display:grid;place-items:center;font-size:2.2rem;font-weight:900;color:var(--orange)}
@media (max-width:900px){.rw-formula{grid-template-columns:1fr}.rw-formula .op{padding:.2rem 0}}

/* 特長カード */
.rw-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.2rem}
.rw-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:1.5rem 1.5rem 1.2rem;box-shadow:0 8px 24px rgba(15,34,56,.05);transition:transform .25s,box-shadow .25s,border-color .25s}
.rw-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(15,34,56,.12);border-color:#bfe2df}
.rw-card .icon{width:50px;height:50px;border-radius:14px;background:linear-gradient(135deg,#e6f6f5,#d2eeec);display:grid;place-items:center;margin-bottom:.9rem;color:var(--teal-d);box-shadow:inset 0 0 0 1px rgba(26,163,155,.25)}
.rw-card .icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rw-card h3{font-size:1.1rem;margin-bottom:.4rem}
.rw-card p{font-size:.94rem;color:var(--muted);margin:0}

/* 画像＋文章の交互 */
.rw-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem;align-items:center;padding:2.4rem 0;border-top:1px solid var(--line)}
.rw-feature:first-of-type{border-top:0}
.rw-feature.rev .media{order:2}
.rw-feature .stepnum{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;font-size:.95rem;margin-right:.6rem;vertical-align:middle}
.rw-feature h3{font-size:1.35rem;display:flex;align-items:center;gap:.2rem;margin-bottom:.8rem}
.rw-feature ul{padding-left:1.2rem;margin:.4rem 0 .8rem}
.rw-feature li{margin:.25rem 0}
.rw-feature .media{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:1rem;box-shadow:0 8px 24px rgba(15,34,56,.06)}
.rw-feature .media img{display:block;border-radius:8px;width:100%}
.rw-feature .media.plain{background:transparent;border:0;box-shadow:none;padding:0}
@media (max-width:860px){.rw-feature{grid-template-columns:1fr;gap:1.3rem}.rw-feature.rev .media{order:0}}

/* 4 つのデザイナー */
.rw-tools{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.rw-tool{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.rw-tool img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top left;border-bottom:1px solid var(--line)}
.rw-tool .body{padding:.9rem 1rem 1rem;flex:1}
.rw-tool h4{margin:0 0 .3rem;font-size:1rem}
.rw-tool p{font-size:.84rem;color:var(--muted);margin:0}
.rw-tool .os{margin-top:.5rem}
@media (max-width:1000px){.rw-tools{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.rw-tools{grid-template-columns:1fr}}

/* 言語タブ */
.rw-langs{background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.rw-langs .tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--line);background:var(--wash)}
.rw-langs .tabs button{appearance:none;border:0;background:transparent;padding:.8rem 1rem;font:inherit;font-weight:700;font-size:.9rem;color:var(--muted);cursor:pointer;border-bottom:3px solid transparent}
.rw-langs .tabs button[aria-selected="true"]{color:var(--navy);border-bottom-color:var(--orange);background:#fff}
.rw-langs .panel{display:none;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:0}
.rw-langs .panel.on{display:grid}
.rw-langs pre{margin:0;border-radius:0;height:100%;min-height:260px}
.rw-langs .side{padding:1.2rem 1.3rem;font-size:.92rem}
.rw-langs .side h4{margin-bottom:.4rem}
.rw-langs .side .reg{font-family:Consolas,"Cascadia Code",Menlo,monospace;font-size:.84rem;background:var(--wash);padding:.3rem .6rem;border-radius:6px;display:inline-block;margin:.2rem 0}
.rw-langs .side .btn-row{margin-top:.9rem}
@media (max-width:860px){.rw-langs .panel{grid-template-columns:1fr}.rw-langs pre{min-height:0}}

/* コード */
.rw pre{background:#0f1419;color:#e6edf3;border-radius:10px;padding:2.1rem 1.2rem 1rem;overflow-x:auto;font-size:.86rem;line-height:1.6;margin:0;position:relative;font-family:Consolas,"Cascadia Code",Menlo,monospace}
.rw pre::before{content:"";position:absolute;left:1rem;top:.75rem;width:10px;height:10px;border-radius:50%;background:#ff5f57;box-shadow:18px 0 0 #febc2e,36px 0 0 #28c840}
.rw pre .k{color:#79c0ff}.rw pre .s{color:#a5d6ff}.rw pre .c{color:#8b949e}

/* 表 */
.rw-table{width:100%;border-collapse:collapse;background:var(--paper);font-size:.92rem}
.rw-table th,.rw-table td{border:1px solid var(--line);padding:.6rem .8rem;vertical-align:top}
.rw-table thead th{background:var(--navy);color:#fff;font-weight:700;text-align:left}
.rw-table tbody th{background:var(--wash);text-align:left;white-space:nowrap}
.rw-table td.ok{color:var(--teal-d);font-weight:800;text-align:center}
.rw-table td.ng{color:#aab2bb;text-align:center}
.rw-table td.c{text-align:center}
.rw-table-wrap{overflow-x:auto}

/* できること一覧 */
.rw-check{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.rw-check .grp{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:1.1rem 1.2rem;margin:0}
.rw-check summary{margin:0 0 .5rem;padding-bottom:.4rem;border-bottom:2px solid var(--teal);font-size:1rem;font-weight:700;color:var(--navy);cursor:pointer;list-style:none}
.rw-check summary::-webkit-details-marker{display:none}
.rw-check details:not([open]) summary{margin-bottom:0;border-bottom:0}
@media (max-width:700px){.rw-check summary::after{content:"＋";float:right;color:var(--teal-d)}.rw-check details[open] summary::after{content:"－"}}
.rw-check ul{list-style:none;margin:0;padding:0;font-size:.9rem}
.rw-check li{padding:.22rem 0 .22rem 1.4rem;position:relative;line-height:1.5}
.rw-check li::before{content:"";position:absolute;left:0;top:.5rem;width:.85rem;height:.85rem;border-radius:50%;background:var(--teal)}
.rw-check li::after{content:"";position:absolute;left:.22rem;top:.72rem;width:.42rem;height:.22rem;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}

/* 用途カード */
.rw-uses{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}
.rw-uses > div{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem}
.rw-uses b{display:block;color:var(--navy);font-size:.98rem;margin-bottom:.35rem}
.rw-uses span{display:block;font-size:.82rem;color:var(--muted);line-height:1.6;flex:1}
.rw-uses a{display:inline-block;margin-top:.6rem;font-size:.82rem;font-weight:700;color:var(--orange-d);text-decoration:none}
.rw-uses a:hover{text-decoration:underline}
@media (max-width:1000px){.rw-uses{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.rw-uses{grid-template-columns:1fr}}

/* 思想バンド */
.rw-why{background:linear-gradient(135deg,#0f2238,#173a5a 60%,#146e70);color:#fff;position:relative;overflow:hidden}
.rw-why::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}
.rw-why .wrap{position:relative}
.rw-why .eyebrow{color:var(--mint)}
.rw-why h2{color:#fff}
.rw-why-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:1.6rem}
.rw-why-grid > div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:1.6rem 1.7rem}
.rw-why h3{color:#ffd9b0;font-size:1.15rem;margin-bottom:.6rem}
.rw-why p{color:#e3ecf6;margin:0;font-size:.97rem}
@media (max-width:860px){.rw-why-grid{grid-template-columns:1fr}}

/* 図 */
.rw-diagram{display:block;width:100%;height:auto;font-family:inherit}
.rw-diagram-wrap{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:1rem 1.2rem;margin:0 0 1.6rem;box-shadow:0 8px 24px rgba(15,34,56,.05)}

/* デモ・リンク格子 */
.rw-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.6rem}
.rw-links li a{display:block;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:.7rem 1rem;text-decoration:none;color:var(--navy);font-size:.92rem;transition:.15s}
.rw-links li a:hover{border-color:var(--teal);box-shadow:0 6px 16px rgba(26,163,155,.15)}
.rw-links li a::before{content:"▶";color:var(--teal);font-size:.7rem;margin-right:.6rem}
.rw-links li a small{display:block;color:var(--muted);font-size:.78rem;margin-left:1.2rem}
.rw details{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:.6rem 1rem;margin:.8rem 0}
.rw details summary{cursor:pointer;font-weight:700;color:var(--navy)}
.rw details[open] summary{margin-bottom:.6rem}

/* 動画 */
.rw-video{position:relative;max-width:760px;margin:0 auto;border-radius:14px;overflow:hidden;box-shadow:0 18px 40px rgba(15,34,56,.2);display:block}
.rw-video img{display:block;width:100%}
.rw-video .play{position:absolute;inset:0;display:grid;place-items:center}
.rw-video .play span{width:78px;height:78px;border-radius:50%;background:rgba(240,128,26,.95);display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.rw-video .play span::after{content:"";border-left:26px solid #fff;border-top:16px solid transparent;border-bottom:16px solid transparent;margin-left:6px}

/* 動作環境・ダウンロード */
.rw-env{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.2rem}
.rw-env .box{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:1.3rem}
.rw-env h4{border-bottom:2px solid var(--teal);padding-bottom:.4rem;margin-bottom:.7rem}
.rw-env ul{margin:0;padding-left:1.1rem;font-size:.93rem}
.rw-env li{margin:.2rem 0}
.rw-dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.rw-dl .box{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:1.2rem;display:flex;flex-direction:column}
.rw-dl .box.hot{border-color:var(--orange);box-shadow:0 12px 30px rgba(240,128,26,.12)}
.rw-dl h4{margin:0 0 .4rem}
.rw-dl p{font-size:.88rem;color:var(--muted);flex:1}
.rw-dl .size{font-size:.78rem;color:var(--muted);margin-top:.4rem}
.rw-dl .btn{margin-top:.6rem;text-align:center}

/* 価格 */
.rw-price{max-width:760px;margin:0 auto;background:var(--paper);border:1px solid var(--orange);border-radius:16px;overflow:hidden;box-shadow:0 12px 30px rgba(240,128,26,.15)}
.rw-price .head{background:var(--orange);color:#fff;padding:1.1rem 1.4rem;font-weight:800;font-size:1.05rem}
.rw-price .body{padding:1.2rem 1.4rem;font-size:.95rem}
.rw-price .body ul{margin:0 0 .6rem;padding-left:1.1rem}
.rw-price .amount{padding:1rem 1.4rem;border-top:1px solid var(--line);font-weight:900;font-size:1.8rem;color:var(--navy);letter-spacing:-.02em}
.rw-price .amount small{font-size:.8rem;font-weight:400;color:var(--muted);margin-left:.5rem}
.rw-note{background:#fff8e8;border-left:4px solid #f6c592;padding:.8rem 1rem;border-radius:0 8px 8px 0;font-size:.9rem;margin-top:1.2rem}

/* メディア・FAQ・CTA・サポート */
.rw-media{display:flex;flex-wrap:wrap;gap:.4rem}
.rw-media a{display:inline-block;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:.15rem .8rem;font-size:.82rem;color:var(--navy);text-decoration:none}
.rw-media a:hover{border-color:var(--teal);color:var(--teal-d)}
.rw-faq{max-width:900px;margin:0 auto}
.rw-faq details{padding:.9rem 1.2rem}
.rw-faq summary{font-size:1rem}
.rw-faq summary::before{content:"Q.";color:var(--orange);font-weight:900;margin-right:.6rem}
.rw-faq p{margin:0;font-size:.94rem}
.rw-faq p::before{content:"A.";color:var(--teal-d);font-weight:900;margin-right:.6rem}
.rw-cta{background:linear-gradient(135deg,#0f2238,#146e70);color:#fff;text-align:center;padding:3rem 0;position:relative;overflow:hidden}
.rw-cta::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}
.rw-cta .wrap{position:relative}
.rw-cta h2{color:#fff}
.rw-cta p{color:#dbe6f3}
.rw-cta .btn-row{justify-content:center}
.rw-support{max-width:860px;margin:0 auto;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:1.5rem 1.8rem}

.rw-api{width:100%;border-collapse:collapse;font-size:.88rem;background:var(--paper)}
.rw-api th,.rw-api td{border-bottom:1px solid var(--line);padding:.45rem .5rem;vertical-align:top;text-align:left}
.rw-api th{font-family:Consolas,"Cascadia Code",Menlo,monospace;font-weight:600;color:var(--navy);white-space:normal;width:40%;font-size:.84rem;word-break:break-word}
.rw-api td{color:var(--muted)}

@media (max-width:599px){
  .rw section{padding:2.4rem 0}
  .rw .wrap{width:calc(100% - 32px)}
  .rw-hero{padding:2.2rem 0 2rem}
}

.rw-hero .top > *,.rw-feature > *,.rw-cards > *,.rw-tools > *,.rw-formula > *,.rw-uses > *,.rw-env > *,.rw-dl > *,.rw-check > *{min-width:0}

/* 共通ヘッダーの高さに合わせる（base.css: 80px / 44px / 38px） */
.rw-main{padding-top:80px}
@media (max-width:599px){.rw-main{padding-top:44px}}
@media (max-width:399px){.rw-main{padding-top:38px}}
.rw-stats b span{font-size:.8rem;font-weight:700;color:var(--teal-d);margin-right:.2em}

/* 6 枚の帯（価格＋ランタイム ¥0 を隣り合わせに） */
.rw-stats.six{grid-template-columns:repeat(6,1fr)}
.rw-stats .price b{color:var(--orange-d)}
.rw-stats .price b span{color:var(--orange-d);font-size:.9rem;margin-left:.1em}
.rw-stats .price{background:#fff6ea}
@media (max-width:900px){.rw-stats.six{grid-template-columns:repeat(3,1fr)}}
@media (max-width:599px){.rw-stats.six{grid-template-columns:repeat(2,1fr)}}

/* 図の下の時系列説明 */
.rw ol.rw-steps{list-style:none;counter-reset:st;margin:0 0 1.6rem;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}
.rw ol.rw-steps li{display:block;list-style:none;counter-increment:st;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:.9rem 1rem .9rem 3rem;position:relative;font-size:.9rem;line-height:1.6;margin:0}
.rw ol.rw-steps li::before{content:counter(st);position:absolute;left:.9rem;top:.85rem;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--orange);color:#fff;font-weight:800;font-size:.9rem;display:flex;align-items:center;justify-content:center}
.rw ol.rw-steps li b{display:block;color:var(--navy);margin-bottom:.2rem}
.rw ol.rw-steps li span{color:var(--muted)}
@media (max-width:900px){.rw ol.rw-steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:599px){.rw ol.rw-steps{grid-template-columns:1fr}}
.rw ol.rw-steps.five{grid-template-columns:repeat(5,1fr)}
@media (max-width:1000px){.rw ol.rw-steps.five{grid-template-columns:repeat(3,1fr)}}
@media (max-width:700px){.rw ol.rw-steps.five{grid-template-columns:repeat(2,1fr)}}
@media (max-width:599px){.rw ol.rw-steps.five{grid-template-columns:1fr}}
