:root{
  --bg:#f6f7f9; --panel:#ffffff; --panel2:#f0f2f5;
  --ink:#1a1d24; --sub:#6b7280; --line:#e3e6ec;
  --accent:#f4502a; --accent-d:#d83c18; --accent2:#f59e0b; --blue:#2f6fd0;
  --shadow:0 1px 3px rgba(20,25,40,.06),0 4px 16px rgba(20,25,40,.05);
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg); color:var(--ink); font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; line-height:1.85; padding:22px 18px 60px; max-width:760px; margin:0 auto;}
a{color:var(--blue)}
.breadcrumb{font-size:.78rem; color:var(--sub); margin-bottom:18px}
.breadcrumb a{text-decoration:none}
h1{font-size:1.7rem; letter-spacing:.01em; font-weight:800; line-height:1.35}
h1 .en{display:block; font-size:.9rem; color:var(--sub); font-weight:500; margin-top:4px}
.tags{display:flex; gap:7px; margin:16px 0 24px; flex-wrap:wrap}
.tag{font-size:.76rem; padding:4px 11px; border-radius:20px; background:var(--panel2); color:#4b5563; border:1px solid var(--line); font-weight:500}
.tag.main{background:var(--accent); color:#fff; border-color:var(--accent)}
.tag.sec{background:rgba(47,111,208,.07); color:var(--blue); border:1px dashed rgba(47,111,208,.5)}
.lead{font-size:1.02rem; color:var(--ink); background:var(--panel); border:1px solid var(--line); border-left:4px solid var(--accent); border-radius:0 12px 12px 0; padding:16px 18px; margin-bottom:28px; box-shadow:var(--shadow)}
h2{font-size:1.22rem; font-weight:800; margin:30px 0 12px; padding-bottom:8px; border-bottom:2px solid var(--line)}
h2::before{content:""; display:inline-block; width:8px; height:18px; background:var(--accent); border-radius:3px; margin-right:9px; vertical-align:-2px}
section p{margin-bottom:14px}
ol,ul{margin:0 0 14px 1.4em}
ol li,ul li{margin-bottom:8px}
.muscle-box{display:flex; gap:12px; flex-wrap:wrap; margin-bottom:14px}
.muscle-item{flex:1; min-width:200px; background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:14px 16px; box-shadow:var(--shadow)}
.muscle-item .label{font-size:.74rem; color:var(--sub); font-weight:600; margin-bottom:4px}
.muscle-item .val{font-size:1.05rem; font-weight:700}
.muscle-item.main .val{color:var(--accent)}
.muscle-item.sec .val{color:var(--blue)}
.qa{background:var(--panel); border:1px solid var(--line); border-radius:12px; margin-bottom:10px; box-shadow:var(--shadow)}
.qa summary{font-weight:700; font-size:.95rem; padding:13px 16px; cursor:pointer; list-style:none; -webkit-tap-highlight-color:transparent}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:'＋'; float:right; color:var(--sub); font-weight:400}
.qa[open] summary::after{content:'−'; color:var(--accent)}
.qa p{padding:0 16px 14px; color:#374151}
.cta{display:flex; flex-direction:column; gap:12px; margin:34px 0 20px; padding:22px; background:var(--panel); border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow)}
.cta-title{font-weight:800; font-size:1.05rem}
.cta-sub{font-size:.84rem; color:var(--sub); margin-bottom:4px}
.btn{display:block; text-align:center; text-decoration:none; padding:14px; border-radius:11px; font-weight:700; font-size:.98rem; transition:.13s; -webkit-tap-highlight-color:transparent}
.btn-primary{background:var(--blue); color:#fff}
.btn-secondary{background:var(--panel2); color:var(--ink); border:1px solid var(--line)}
.btn:hover{filter:brightness(1.06); transform:translateY(-1px)}
.related{display:flex; flex-wrap:wrap; gap:9px}
.related a{display:inline-block; padding:9px 15px; background:var(--panel); border:1px solid var(--line); border-radius:22px; text-decoration:none; color:var(--ink); font-size:.88rem; font-weight:600; transition:.13s; -webkit-tap-highlight-color:transparent}
.related a:hover{border-color:var(--accent); color:var(--accent); transform:translateY(-1px)}
.ad-slot{margin:30px 0; min-height:100px; display:flex; align-items:center; justify-content:center; background:var(--panel2); border:1px dashed var(--line); border-radius:12px; color:#aab; font-size:.7rem; letter-spacing:.08em}
.notice{font-size:.8rem; color:#6b5800; background:#fffaf0; border-left:3px solid var(--accent2); padding:12px 14px; border-radius:0 8px 8px 0; line-height:1.6; margin-top:24px}
footer{margin-top:38px; padding-top:20px; border-top:1px solid var(--line); color:var(--sub); font-size:.74rem; line-height:1.7}
