@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;600;700&display=swap');
:root {
  --o50:#fffbf5; --o100:#fff3e0; --o200:#ffe0b2; --o300:#ffcc80;
  --o400:#ffa726; --o500:#ff9800; --o600:#f57c00; --o700:#e65100;
  --g50:#fafafa; --g100:#f5f5f5; --g200:#eee; --g400:#bdbdbd;
  --g600:#757575; --g800:#333; --g900:#212121; --white:#fff;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Noto Sans JP',sans-serif;color:var(--g800);background:var(--white);line-height:1.8;overflow-wrap:break-word;word-break:break-word}
a{color:var(--o600);text-decoration:none}a:hover{text-decoration:underline}
ul{list-style:disc;padding-left:1.4em}ul ul{list-style:circle}
#p-news ul,#p-member ul,#p-course ul{list-style:none;padding-left:1.2em}
#p-member ul ul{list-style:none;padding-left:1em}
#p-news li,#p-member li,#p-course li{position:relative;padding-left:1em}
#p-news li::before,#p-member li::before,#p-course li::before{content:"●";color:var(--o400);font-size:.45em;position:absolute;left:0;top:.85em}
#p-member ul ul li::before{content:"◆";color:var(--o600);font-size:.4em}
.header{background:repeating-linear-gradient(0deg,rgba(255,255,255,.06) 0px,rgba(255,255,255,.06) 1px,transparent 1px,transparent 20px),repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0px,rgba(255,255,255,.06) 1px,transparent 1px,transparent 20px),repeating-linear-gradient(0deg,rgba(255,255,255,.12) 0px,rgba(255,255,255,.12) 1px,transparent 1px,transparent 100px),repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0px,rgba(255,255,255,.12) 1px,transparent 1px,transparent 100px),linear-gradient(160deg,var(--o600) 0%,var(--o500) 40%,#ef6c00 100%);padding:2.4rem 1rem 2rem;text-align:center;position:relative;overflow:hidden}
.header::before{content:'';position:absolute;top:10px;left:12%;right:12%;height:1px;background:rgba(255,255,255,.18);border-left:6px solid rgba(255,255,255,.25);border-right:6px solid rgba(255,255,255,.25)}
.header::after{content:'';position:absolute;bottom:10px;left:20%;right:20%;height:1px;background:rgba(255,255,255,.14);border-left:6px solid rgba(255,255,255,.2);border-right:6px solid rgba(255,255,255,.2)}
.header-sub{font-size:.88rem;font-weight:400;color:rgba(255,255,255,.88);letter-spacing:.1em;margin-bottom:.35rem;position:relative}
.header h1{font-size:2rem;font-weight:700;color:var(--white);letter-spacing:.08em;position:relative;display:inline-block;text-shadow:0 1px 6px rgba(0,0,0,.12)}
.header h1::after{content:'';display:block;width:50%;height:3px;background:rgba(255,255,255,.45);border-radius:2px;margin:.4rem auto 0}
.container{max-width:920px;margin:0 auto;padding:0 .8rem 3rem}
.tab-radio{display:none}
.tab-nav{display:flex;margin-top:1rem;border-bottom:2px solid var(--g200)}
.tab-nav label{flex:1;text-align:center;padding:.75rem .3rem;font-size:.85rem;font-weight:600;color:var(--g600);cursor:pointer;position:relative;transition:color .25s;line-height:1.35}
.tab-nav label::after{content:'';position:absolute;left:8%;right:8%;bottom:-2px;height:3px;background:var(--o500);transform:scaleX(0);transition:transform .25s}
.tab-nav label:hover{color:var(--o600)}
#tab-news:checked~.tab-nav label[for="tab-news"],#tab-member:checked~.tab-nav label[for="tab-member"],#tab-course:checked~.tab-nav label[for="tab-course"],#tab-region:checked~.tab-nav label[for="tab-region"]{color:var(--o600)}
#tab-news:checked~.tab-nav label[for="tab-news"]::after,#tab-member:checked~.tab-nav label[for="tab-member"]::after,#tab-course:checked~.tab-nav label[for="tab-course"]::after,#tab-region:checked~.tab-nav label[for="tab-region"]::after{transform:scaleX(1)}
.tab-panel{display:none}
#tab-news:checked~.panels>#p-news,#tab-member:checked~.panels>#p-member,#tab-course:checked~.panels>#p-course,#tab-region:checked~.panels>#p-region{display:block}
.panels{padding:1.3rem 0}
.tab-panel li{font-size:.87rem;margin-bottom:.2rem}
.sec-h{font-size:1rem;font-weight:700;color:var(--g900);border-left:3px solid var(--o500);padding-left:.6rem;margin:1.8rem 0 .7rem}
.sec-h:first-child{margin-top:0}
.arc-h{font-size:.82rem;font-weight:600;color:var(--g600);margin:1.8rem 0 .2rem;letter-spacing:.05em;padding-bottom:.15rem;border-bottom:2px solid var(--g200);display:inline-block}
.sub-h{font-size:.88rem;font-weight:700;color:var(--o600);margin:.8rem 0 .35rem;padding-bottom:.15rem;border-bottom:2px solid var(--o200);display:inline-block}
.sub-h-sm{font-size:.85rem;font-weight:600;color:var(--o700);margin:.6rem 0 .25rem}
.news-item{display:flex;gap:.6rem;padding:.55rem 0;border-bottom:1px solid var(--g100);align-items:baseline}
.news-item:last-child{border-bottom:none}
.news-date{flex-shrink:0;width:6.2em;font-size:.78rem;color:var(--o600);font-weight:600}
.news-text{font-size:.87rem}
.arc{display:none}
.arc-btn{display:inline-block;padding:.2rem .5rem;margin:0 3px 4px 0;font-size:.7rem;font-weight:600;color:var(--g600);background:var(--g50);border:1px solid var(--g400);border-radius:0;cursor:pointer;transition:.2s;white-space:nowrap;user-select:none;line-height:1.4}
.arc-btn:hover{background:var(--g200)}.arc-btn::after{content:" ▼";font-size:.75em}
.arc:checked+.arc-btn{background:var(--g800);color:var(--white);border-color:var(--g800)}
.arc:checked+.arc-btn::after{content:" ▲"}
.arc-body{display:none;margin-bottom:.5rem;padding-top:.5rem}
#n25:checked~.ab-n25,#n24:checked~.ab-n24,#n23:checked~.ab-n23,#n22:checked~.ab-n22,#n21:checked~.ab-n21,#n20:checked~.ab-n20,#n19:checked~.ab-n19,#n18:checked~.ab-n18{display:block}
#m25:checked~.ab-m25,#m24:checked~.ab-m24,#m23:checked~.ab-m23,#m22:checked~.ab-m22,#m21:checked~.ab-m21,#m20:checked~.ab-m20,#m19:checked~.ab-m19{display:block}
#ct25:checked~.ab-ct25,#ct24:checked~.ab-ct24,#ct23:checked~.ab-ct23,#ct22:checked~.ab-ct22,#ct21:checked~.ab-ct21,#ct20:checked~.ab-ct20,#ct19:checked~.ab-ct19,#ct18:checked~.ab-ct18{display:block}
#cd25:checked~.ab-cd25,#cd24:checked~.ab-cd24,#cd23:checked~.ab-cd23,#cd22:checked~.ab-cd22,#cd21:checked~.ab-cd21,#cd20:checked~.ab-cd20,#cd19:checked~.ab-cd19,#cd18:checked~.ab-cd18{display:block}
#rp25:checked~.ab-rp25,#rp24:checked~.ab-rp24,#rp23:checked~.ab-rp23,#rp22:checked~.ab-rp22,#rp21:checked~.ab-rp21{display:block}
#rl25:checked~.ab-rl25,#rl24:checked~.ab-rl24,#rl23:checked~.ab-rl23,#rl22:checked~.ab-rl22{display:block}
#rd25:checked~.ab-rd25,#rd24:checked~.ab-rd24{display:block}
#rm23:checked~.ab-rm23,#rm22:checked~.ab-rm22,#rm21:checked~.ab-rm21{display:block}
.arc-row{margin:.2rem 0 .3rem;line-height:1.9;padding-bottom:.4rem}
/* 講座アコーディオン（details/summary） */
/* 折りたたみセクション（details/summary で見出し付き開閉） */
.collapse-sec{margin:1.8rem 0 .7rem}
.collapse-sec summary{display:flex;align-items:baseline;gap:.4rem;font-size:1rem;font-weight:700;color:var(--g900);border-left:3px solid var(--o500);padding-left:.6rem;cursor:pointer;list-style:none}
.collapse-sec summary::-webkit-details-marker{display:none}
.collapse-sec summary::after{content:" ▼";font-size:.55em;color:var(--g400);margin-left:.3em}
.collapse-sec[open] summary::after{content:" ▲"}
.collapse-sec .collapse-body{padding-top:.5rem}
.lec{border-bottom:1px solid var(--g100);margin:0}
.lec summary{display:flex;align-items:baseline;gap:.4rem;padding:.3rem 0;cursor:pointer;font-size:.87rem;list-style:none}
.lec summary::-webkit-details-marker{display:none}
.lec summary::before{content:"▸";color:var(--o400);font-size:1.3em;line-height:1;flex-shrink:0;transition:transform .2s}
.lec[open] summary::before{transform:rotate(90deg)}
.lec summary:hover{color:var(--o600)}
.lec-detail{padding:0 0 .35rem 1.1rem;font-size:.82rem;color:var(--g600);line-height:1.7}
.lec-detail p{margin-bottom:.2rem}
.lec-detail .note-red{color:#c0392b}
.note-red{color:#c0392b}
.footer{text-align:center;padding:1.2rem .8rem;font-size:.7rem;color:var(--g600);border-top:1px solid var(--g200)}
@media(max-width:600px){
  .header{padding:1.5rem .8rem 1.3rem}.header h1{font-size:1.4rem}.header-sub{font-size:.76rem}
  .header::before{left:8%;right:8%}.header::after{left:15%;right:15%}
  .tab-nav label{font-size:.73rem;padding:.6rem .15rem}.panels{padding:1rem 0}
  .news-item{flex-direction:column;gap:.05rem;padding:.45rem 0}.news-date{width:auto;font-size:.74rem}
  .sec-h{font-size:.92rem}.collapse-sec summary{font-size:.92rem}.arc-btn{font-size:.65rem;padding:.18rem .4rem}
  .tab-panel li,.news-text{font-size:.82rem}
  .lec summary{font-size:.82rem;padding:.25rem 0}
  .lec-detail{font-size:.78rem}
  .footer{font-size:.62rem}
}
