/* キャンプ用の追加分（redesign.css の上書き） */
.camp-table{overflow-x:auto;margin:1.5em 0}.camp-table table{border-collapse:collapse;width:100%;font-size:.88rem}
.camp-table th,.camp-table td{border:1px solid var(--line);padding:6px 8px;white-space:nowrap}.camp-table th{background:var(--red);color:#fff}
.camp-note{font-size:.8rem;color:var(--sub)}
.camp-hero{background:#f3f1e8;padding:40px 18px;text-align:center;border-bottom:1px solid var(--line)}
.camp-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.camp-card{border:1px solid var(--line);padding:14px}
.rd-content-in,.rd-article{max-width:780px;margin:0 auto;min-width:0}.article{padding:0 16px;overflow-wrap:anywhere;min-width:0}html,body{overflow-x:hidden}
/* v2: 公共団体サイト風（白地・角丸ピル・緑の帯） */
body.rd{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:#333}
.cp-wrap{max-width:1080px;margin:0 auto;padding:0 18px}
.cp-header{background:#fff;border-bottom:1px solid #e8e8e8}
.cp-header-in{max-width:1080px;margin:0 auto;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.cp-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:#333}.cp-mark{color:#2f6b3d;font-size:30px;line-height:1}
.cp-logo b{display:block;font-size:22px;letter-spacing:.04em}.cp-logo small{display:block;font-size:11px;color:#777}
.cp-util{display:flex;gap:8px;flex-wrap:wrap}.cp-pill{border-radius:999px;color:#fff!important;font-size:12px;font-weight:700;padding:6px 16px;text-decoration:none}
.cp-orange{--c:#f0a35b}.cp-green{--c:#5fae45}.cp-blue{--c:#4b9bd6}.cp-pill{background:var(--c)}
.cp-nav ul{max-width:1080px;margin:0 auto;padding:0 18px;list-style:none;display:flex;justify-content:space-between;flex-wrap:wrap}
.cp-nav a{display:block;padding:12px 8px;font-weight:700;color:#222;text-decoration:none;font-size:15px}.cp-nav a:hover{color:#2f6b3d;box-shadow:inset 0 -3px #5fae45}
.cp-intro{padding:40px 0}.cp-intro-in{display:flex;gap:28px;align-items:center}.cp-intro h1{font-size:26px;margin:0 0 .6em}.cp-intro p{font-size:14px;line-height:2}
.cp-tent{width:150px;flex:none}
.cp-btn{display:inline-block;background:#2f8a4b;color:#fff!important;border-radius:999px;padding:8px 26px;font-size:13px;font-weight:700;text-decoration:none}
.cp-h2{font-size:22px;font-weight:800;margin:1.6em 0 .8em;padding-left:.6em;border-left:6px solid #5fae45}
.cp-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.cp-tiles4{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.cp-tile{border:2px solid var(--c,#ddd);border-radius:14px;background:#fff;padding:22px 12px;text-align:center}.cp-tile b{display:block;font-size:18px;color:#222}.cp-tile span{font-size:12px;color:#777}
.cp-white{--c:#cfe3c4}
.cp-band{background:#e4efdc;padding:12px 0 36px;margin-top:40px}
.cp-two{display:grid;grid-template-columns:1fr 260px;gap:32px;margin-bottom:40px}
.cp-news{list-style:none;padding:0;border-top:2px solid #5fae45}.cp-news li{border-bottom:1px dashed #ccc;padding:10px 4px;font-size:14px}.cp-news span{color:#2f8a4b;font-size:12px;margin-right:12px}
.cp-side{display:flex;flex-direction:column;gap:12px;margin-top:1.6em}.cp-side a{border:2px solid #b78b4e;border-radius:10px;padding:14px;font-weight:700;color:#333;text-decoration:none;text-align:center}
.cp-footer{background:#2f6b3d;color:#fff;margin-top:40px}.cp-footer-in{max-width:1080px;margin:0 auto;padding:28px 18px;text-align:center}
.cp-footer ul{list-style:none;padding:0;display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.cp-footer a{color:#fff;font-size:13px}.cp-footer-name{font-weight:800;font-size:18px}.cp-copy{font-size:11px;opacity:.8}
.rd-content-in,.rd-article{max-width:1080px}.article{max-width:780px;margin:0 auto}
@media(max-width:700px){.cp-two{grid-template-columns:1fr}.cp-intro-in{flex-direction:column-reverse}.cp-tent{width:100px}.cp-nav ul{justify-content:flex-start}.cp-nav a{font-size:13px;padding:8px 6px}.cp-header-in{justify-content:center}}
.cp-main{display:block;width:100%}.cp-h2{border-bottom:none!important}
/* v4: Carbon の原則で締める（8px基準・タイプスケール・角丸4px・影なし） */
:root{--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:40px;--s8:48px;--s9:64px;--s10:80px;
--c-text:#1f2421;--c-text-2:#525a55;--c-layer:#f2f4f1;--c-border:#d4d9d5;--c-action:#2e7d47;--r:4px;--w:1056px}
body.rd{color:var(--c-text);font-size:16px;line-height:1.75}
*{box-shadow:none!important;text-shadow:none!important}
.cp-wrap,.cp-header-in,.cp-nav ul,.cp-footer-in{max-width:var(--w);padding-left:var(--s4);padding-right:var(--s4)}
.cp-header-in{padding-top:var(--s4);padding-bottom:var(--s4);gap:var(--s4)}
.cp-logo{gap:var(--s2)}.cp-logo b{font-size:24px;line-height:1.33;letter-spacing:.02em}.cp-logo small{font-size:12px;line-height:1.5;color:var(--c-text-2)}
.cp-mark{display:none}
.cp-util{gap:var(--s2)}.cp-pill{border-radius:var(--r);padding:var(--s2) var(--s4);font-size:14px;line-height:1.43}
.cp-nav{border-top:1px solid var(--c-border)}.cp-nav a{padding:var(--s3) 0;font-size:16px;line-height:1.5}.cp-nav a:hover{box-shadow:inset 0 -2px var(--c-action)!important}
.cp-intro{padding:var(--s8) 0}.cp-intro-in{gap:var(--s6)}
.cp-intro h1{font-size:32px;line-height:1.25;margin:0 0 var(--s4)}.cp-intro p{font-size:16px;line-height:1.75;margin:0 0 var(--s5);max-width:40em}
.cp-tent{width:160px}.cp-tent path:last-child{stroke-width:2}
.cp-btn{border-radius:var(--r);padding:var(--s3) var(--s5);font-size:14px;line-height:1.43;background:var(--c-action)}
.cp-h2{font-size:24px;line-height:1.33;margin:var(--s8) 0 var(--s5);padding-left:var(--s3);border-left-width:4px}
.cp-tiles{grid-template-columns:repeat(6,1fr);gap:var(--s4)}.cp-tiles4{grid-template-columns:repeat(4,1fr)}
.cp-tile{border-width:2px;border-radius:var(--r);padding:var(--s5) var(--s3)}.cp-tile b{font-size:20px;line-height:1.4}.cp-tile span{font-size:12px;line-height:1.5;color:var(--c-text-2)}
.cp-band{padding:var(--s2) 0 var(--s8);margin-top:var(--s8)}
.cp-two{gap:var(--s6);grid-template-columns:1fr 256px;margin-bottom:var(--s8)}
.cp-news{border-top-width:2px}.cp-news li{padding:var(--s3) 0;font-size:14px;line-height:1.43}.cp-news span{font-size:12px;margin-right:var(--s3)}
.cp-side{gap:var(--s3);margin-top:var(--s8)}.cp-side a{border-radius:var(--r);padding:var(--s4);font-size:16px;line-height:1.5}
.cp-footer{margin-top:var(--s8)}.cp-footer-in{padding-top:var(--s6);padding-bottom:var(--s6)}.cp-footer ul{gap:var(--s5)}.cp-footer a{font-size:14px}.cp-copy{font-size:12px}
.rd-toc,.rd-box,.camp-table table{border-radius:var(--r)!important}
@media(max-width:700px){.cp-tiles{grid-template-columns:repeat(2,1fr)}.cp-tiles4{grid-template-columns:repeat(2,1fr)}.cp-intro h1{font-size:24px}.cp-intro{padding:var(--s6) 0}.cp-h2{font-size:20px;margin-top:var(--s6)}.cp-nav a{padding:var(--s2) var(--s2);font-size:14px}}
@media(max-width:700px){.cp-wrap.cp-two{grid-template-columns:minmax(0,1fr)!important;display:block}.cp-side{margin-top:var(--s5)!important}}
/* v5: 枠線の箱をやめる（薄い面＋左の色バー／区切り線のリスト） */
.cp-tile{border:none!important;border-radius:var(--r);text-align:left;padding:var(--s4) var(--s4) var(--s4) var(--s5);position:relative;background:#f4f6f3}
.cp-tile::before{content:"";position:absolute;left:0;top:var(--s4);bottom:var(--s4);width:3px;background:var(--c,#2e7d47);border-radius:0 2px 2px 0}
.cp-orange.cp-tile{background:#fbf3ea}.cp-green.cp-tile{background:#eef5ea}.cp-blue.cp-tile{background:#ecf3f9}
.cp-white.cp-tile{background:#fff;--c:#2e7d47}
.cp-band{background:#e8f0e3}
.cp-side{gap:0;border-top:2px solid #b78b4e}
.cp-side a{border:none!important;border-bottom:1px solid var(--c-border)!important;border-radius:0;text-align:left;padding:var(--s3) var(--s1);display:flex;justify-content:space-between}
.cp-side a::after{content:"";width:6px;height:6px;border-top:2px solid #8a6a3c;border-right:2px solid #8a6a3c;transform:rotate(45deg);align-self:center}
.cp-side a:hover{background:#faf6ef}
