/* LEPO journal. Shared studio palette, clear sans-serif editorial typography. */
body:has(.article-page){background:#fff;color:#292824;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}
.article-page{width:min(1160px,calc(100% - 64px));counter-reset:chapter}
.article-page .breadcrumb{font-size:11px;padding:22px 0;color:#827d74;line-height:1.8}
.article-page .breadcrumb>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:70vw}
.article-page .article{max-width:none}
.article-page .intro{display:grid;grid-template-columns:1fr 1.05fr;column-gap:56px;align-content:center;max-width:none;padding:52px 0 60px;border-bottom:1px solid #e5e1d9;margin-bottom:44px}
.article-page .intro .eyebrow{grid-column:1;align-self:end;font-size:12px;letter-spacing:.16em;color:#927044;margin:0 0 22px;font-weight:700}
.article-page .intro h1{grid-column:1;font-family:inherit;font-weight:750;font-size:clamp(28px,3.1vw,42px);letter-spacing:-.035em;line-height:1.55;margin:0 0 22px;text-wrap:pretty}
.article-page .intro .lead{grid-column:1;font-size:14px;line-height:1.95;color:#666157;margin:0 0 26px;max-width:460px}
.article-page .intro .article-cover{grid-column:2;grid-row:1/5;align-self:stretch;aspect-ratio:4/4.3;min-height:440px;height:100%;max-height:600px;object-fit:cover;object-position:56% center;margin:0;border-radius:2px}
.article-page .intro .meta{grid-column:1;flex-wrap:wrap;gap:6px 16px;border-top:1px solid #e5e1d9;padding-top:18px;margin:0;font-size:11px;color:#817a6d;align-self:end}
.article-page .intro .meta a{color:#37342e;font-weight:650;text-decoration:none}
.article-page .article-body{padding:0;max-width:760px;margin:auto;font-size:16px;line-height:2;letter-spacing:.015em}
.article-page .article-body p{margin:0 0 22px}
.article-page .article-opening{padding:0 0 14px}
.article-page .article-opening>p:first-child{font-size:21px;font-weight:650;line-height:1.8;margin-bottom:28px}
.article-page .article-opening ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 30px;padding:8px 26px;margin:16px 0 36px;background:#f7f5f0;border:1px solid #eee9df;border-radius:3px}
.article-page .article-opening li{border-bottom:1px solid #e6e0d4;padding:12px 0;font-size:13px;line-height:1.7}
.article-page .article-opening li:last-child{border:0}
.article-page .article-opening li a{display:flex;justify-content:space-between;gap:12px;text-decoration:none;color:#49443b}
.article-page .article-opening li a:after{content:'↘';color:#9c753e}
.article-page .article-chapter{counter-increment:chapter;padding:36px 0 12px;border-top:1px solid #ded8cb;margin:26px 0 0}
.article-page .article-body h2{font-family:inherit;font-size:27px;line-height:1.65;font-weight:750;letter-spacing:-.025em;border:0;padding:0;margin:0 0 30px;scroll-margin-top:28px}
.article-page .article-body h2:before{content:counter(chapter,decimal-leading-zero);display:block;color:#ab8752;font-size:12px;font-weight:650;letter-spacing:.12em;margin-bottom:10px}
.article-page .article-body h3{font-family:inherit;font-size:20px;font-weight:700;line-height:1.7;margin:34px 0 16px;color:#3f3b33;letter-spacing:-.01em}
.article-page .article-media{margin:30px 0 34px}
.article-page .article-body .article-media img{max-height:510px;aspect-ratio:16/10;object-fit:cover;border-radius:2px}
.article-page .article-body .article-diagram{background:#f7f6f3;padding:18px;max-width:none;margin:26px 0 34px;border-radius:3px}
.article-page .article-body .article-diagram img{aspect-ratio:auto;max-height:none;height:auto;object-fit:contain}
.article-page .article-body img[src$="lepo-open-gym-guide.png"]{aspect-ratio:auto;height:auto;max-height:none;object-fit:contain}
.article-page .media-caption{font-size:11px;letter-spacing:0;color:#827c70;padding-top:10px;line-height:1.7}
.article-page .article-map{padding:0;background:#f7f5f0;margin:28px 0 38px;border:1px solid #e5e1d9}
.article-page .article-map iframe{height:320px}
.article-page .article-map p{margin:0;padding:12px 16px;font-size:12px;text-align:right}
.article-page .article-body table{margin:25px 0 30px;font-size:14px;border:0}
.article-page .article-body th{background:#f2eee6;color:#575044;font-weight:650}
.article-page .article-body th,.article-page .article-body td{padding:16px 18px;border:0;border-bottom:1px solid #e6e2db;font-size:14px;line-height:1.7}
.article-page .article-body tr:nth-child(even){background:#faf9f6}
.article-page .price-comparison{border:0;border-radius:3px;background:#f4f0e7;padding:32px;margin:30px 0 18px}
.article-page .price-comparison .comparison-label{font-size:13px;letter-spacing:.05em}
.article-page .comparison-row{margin:22px 0;gap:10px}
.article-page .comparison-row>strong{font-size:34px;font-weight:750;letter-spacing:-.04em}
.article-page .comparison-bar{height:14px;border-radius:0}
.article-page .comparison-bar.other{background:#c8c2b8}
.article-page .comparison-bar.ours{background:#a7824c}
.article-page .comparison-saving{padding-top:26px;margin-top:28px;border-color:#ddd3c1}
.article-page .comparison-saving>strong{font-size:52px;font-weight:750}
.article-page .article-faq{border-top:0;margin:0 0 26px}
.article-page .article-faq details{border-bottom:1px solid #e2ddd4}
.article-page .article-faq summary{font-size:16px;font-weight:650;padding:24px 38px 24px 32px;line-height:1.8}
.article-page .article-faq summary:before{content:'Q';position:absolute;left:0;top:24px;color:#a7824c;font-size:16px}
.article-page .article-faq summary:after{font-size:18px;top:24px;color:#a7824c}
.article-page .article-faq details>div{padding:0 32px 10px;font-size:15px;line-height:1.95;color:#625d54}
.article-page>.section{max-width:760px;margin:50px auto 0;background:#f5f1e9;border:0;padding:32px}
.article-page>.section h2{font-family:inherit;font-size:22px;font-weight:700}
.article-page>.section p{font-size:14px;color:#6d6559}
.article-page>.back{display:block;max-width:760px;margin:26px auto 50px;font-size:13px}
.article-page .action{font-size:14px;border-radius:2px;padding:14px 20px;background:#927044;color:white}
body:has(.article-page) .site-head{background:white}
@media(max-width:760px){
 .article-page{width:calc(100% - 40px)}
 .article-page .breadcrumb{padding:16px 0 0;font-size:10px;gap:7px}
 .article-page .intro{display:flex;flex-direction:column;gap:0;padding:30px 0 26px;margin-bottom:30px;border-bottom:1px solid #e5e1d9}
 .article-page .intro .eyebrow{align-self:flex-start;font-size:11px;margin-bottom:14px}
 .article-page .intro h1{font-size:28px;line-height:1.65;letter-spacing:-.035em;margin-bottom:18px}
 .article-page .intro .lead{font-size:13px;line-height:1.9;margin-bottom:24px;max-width:none}
 .article-page .intro .article-cover{width:calc(100% + 40px);max-width:none;align-self:center;height:auto;min-height:0;max-height:none;aspect-ratio:4/3;object-position:center;margin:0 0 20px;border-radius:0}
 .article-page .intro .meta{font-size:10px;width:100%;gap:4px 12px;padding-top:0;border:0}
 .article-page .article-body{font-size:15px;line-height:2;letter-spacing:0}
 .article-page .article-opening>p:first-child{font-size:18px;line-height:1.85;margin-bottom:22px}
 .article-page .article-opening ul{grid-template-columns:1fr;gap:0;padding:4px 20px;margin-bottom:26px}
 .article-page .article-opening li{font-size:13px;padding:11px 0}
 .article-page .article-chapter{padding-top:28px;margin-top:20px}
 .article-page .article-body h2{font-size:23px;line-height:1.65;margin-bottom:24px}
 .article-page .article-body h3{font-size:18px;line-height:1.75;margin:28px 0 14px}
 .article-page .article-body .article-diagram{padding:8px;margin:24px -8px 26px}
 .article-page .article-body th,.article-page .article-body td{padding:12px 10px;font-size:12px}
 .article-page .price-comparison{padding:24px 20px}
 .article-page .comparison-row>strong{font-size:30px}
 .article-page .comparison-saving>strong{font-size:45px}
 .article-page .article-faq summary{font-size:14px;padding:20px 28px 20px 26px}
 .article-page .article-faq summary:before,.article-page .article-faq summary:after{top:20px;font-size:15px}
 .article-page .article-faq details>div{padding:0 26px 6px;font-size:14px}
 .article-page>.section{padding:24px;margin-top:34px}
 .article-page .article-map iframe{height:280px}
}

.article-page .intro{grid-template-rows:auto auto 1fr auto;align-items:start}.article-page .intro h1{font-size:34px;line-height:1.6}.article-title-main{display:block}.article-title-sub{display:block;font-size:18px;font-weight:550;letter-spacing:.015em;margin-top:16px}.article-page .intro .lead{align-self:start}.article-page .intro .article-cover{height:480px;min-height:0;max-height:none}.article-page .intro .eyebrow{align-self:start}
@media(max-width:760px){.article-page .intro h1{font-size:26px}.article-title-sub{font-size:16px;margin-top:12px}.article-page .intro .article-cover{height:auto}}
