
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Hiragino Kaku Gothic ProN','Hiragino Sans',Meiryo,sans-serif;background:#fff;color:#333;font-size:15px;line-height:1.5}
a{color:inherit;text-decoration:none}
header.site-header{background:#fff;padding:10px 20px}
.hd{max-width:1260px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px}
.logo{font-size:24px;font-weight:900;color:#2e69f1}
.logo span{color:#333}
.hbtns{display:flex;gap:10px}
.hbox{display:flex;flex-direction:column;align-items:center;gap:2px;background:#fff;border:1px solid #ccc;border-radius:6px;padding:6px 10px;font-size:13px;font-weight:700;color:#000;text-align:center;line-height:1.3;box-shadow:0 1px 3px rgba(0,0,0,.1)}
.hbox img{width:20px;height:20px}
.hbox:hover{border-color:#2e69f1}
@media(max-width:800px){.hbox{width:40px;height:40px;padding:0;justify-content:center}.hbox .ht{display:none}.hbox img{width:22px;height:22px}}
.wrap{max-width:1280px;margin:0 auto;padding:18px 16px 60px}
.index__head{background:#f0f0f0;padding:24px 16px 27px;text-align:center;margin:0 -16px}
.index__headTtl{font-family:'M PLUS 2','Hiragino Kaku Gothic ProN',sans-serif;font-size:30px;font-weight:900;line-height:52px;color:#2e69f1}
.index__headTtl .lg{font-size:36px}
.index__headTxt{font-size:14px;font-weight:700;line-height:24px;color:#48484a}
.searchcard{background:#fff;border-radius:10px;box-shadow:0 1px 5px rgba(0,0,0,.16);padding:16px;margin:24px 0}
.stabs{display:flex;gap:8px;flex-wrap:wrap}
.stab{height:32px;line-height:30px;border:1px solid #e0e0e0;border-radius:20px;min-width:140px;padding:0 18px;font-size:14px;color:#666;text-align:center;background:#fff;cursor:pointer}
.stab:hover{border-color:#2e69f1;color:#2e69f1}
.stab.act{background:#2e69f1;border-color:#2e69f1;color:#fff}
.searchbar{display:flex;margin-top:14px}
.searchbar input{flex:1;padding:12px;border:1px solid #e9e9e9;border-right:0;border-radius:6px 0 0 6px;font-size:12px;font-family:inherit}
.sbtn{background:#20b2aa;color:#fff;border:2px solid #20b2aa;border-left:0;border-radius:0 6px 6px 0;min-width:75px;padding:6px 12px;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap}
.sbtn:hover{background:#1a9a94}
#searchResults{display:none;margin-top:30px;border-top:2px solid #eee;padding-top:10px}
.secttl{font-weight:700;font-size:1.4rem;color:#2e69f1;border-left:4px solid #2e69f1;border-top:2px solid #2e69f1;padding:8px;margin:34px 0 24px;display:flex;align-items:center;gap:8px}
.secttl span{font-size:13px;color:#666;font-weight:400}
.majorcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:24px}
.mcard{display:flex;align-items:stretch;background:#fff;border:1px solid #ccc;border-radius:4px;overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,.05);min-height:70px}
.mcard img{width:70px;height:70px;object-fit:cover;display:block;border-radius:4px 0 0 4px}
.mcard b{flex:1;display:flex;align-items:center;justify-content:center;font-size:18px;color:#000}
.mcard.off{opacity:.5}
.prefbox{border:2px solid #111211;border-radius:10px;background:#fff;box-shadow:3px 3px 0 #111211;padding:18px 14px 22px;display:grid;grid-template-columns:repeat(auto-fit,minmax(370px,1fr));gap:20px 30px}
@media(max-width:680px){.prefbox{grid-template-columns:1fr}}
.pgroup h3{font-size:20px;color:#2e69f1;font-weight:700;margin-bottom:.3em}
.plinks{display:flex;flex-wrap:wrap;font-size:15px;line-height:1.6}
.plinks a{color:#333;padding:2px 2px}
.plinks a:hover{color:#2e69f1;text-decoration:underline}
.plinks .sep{color:#3a8e06;font-weight:700;margin:0 6px;padding:2px 0}
.plinks .poff{color:#999;padding:2px 2px}
.rtabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(143px,1fr));gap:12px;margin-bottom:14px}
.rtab{border:1px solid #2e69f1;background:#fff;cursor:pointer;border-radius:4px;font-size:.9em;height:40px;padding:8px 16px;color:#333}
.rtab:hover{background:#f0f0f0}
.rtab.act{background:#fff;color:#2e69f1;font-weight:700;box-shadow:inset 0 0 0 1px #2e69f1}
.rpills{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 16px}
.rpill{width:86px;height:32px;border-radius:50vh;border:1px solid #2e69f1;color:#2e69f1;font-size:14px;background:#fff;cursor:pointer}
.rpill.act{background:#2e69f1;color:#fff}
.rkgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;margin-top:20px}
.rkempty{color:#999;font-size:14px;grid-column:1/-1;text-align:center;padding:18px 0;margin:0}
@media(max-width:1024px){.rkgrid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:768px){.rkgrid{grid-template-columns:repeat(2,1fr)}}
.rkc{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1);display:block;transition:all .3s ease}
.rkc:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.15)}
.rkband{display:block;padding:0 3px 3px;text-align:center}
.rkband .no{display:block;font-size:1.25rem;font-weight:700;color:#fff;padding:4px 0}
.rkband.b1{background:linear-gradient(135deg,#FFD700,#FFA500)}
.rkband.b2{background:linear-gradient(135deg,#C0C0C0,#A9A9A9)}
.rkband.b3{background:linear-gradient(135deg,#CD7F32,#B8860B)}
.rkband.b4{background:linear-gradient(135deg,#FF69B4,#FF1493)}
.rkband.b5{background:linear-gradient(135deg,#9370DB,#8A2BE2)}
.rkband.b6{background:linear-gradient(135deg,#20B2AA,#008B8B)}
.rkband.bx{background:#f0f0f0}.rkband.bx .no{color:#333}
.rkband img{width:100%;height:172px;object-fit:cover;display:block}
.rknoimg{width:100%;height:172px;display:flex;align-items:center;justify-content:center;background:#f0f0f0;color:#999;font-size:13px}
.rkbody{padding:15px}
.rkname{display:block;font-size:18px;font-weight:700;color:#333;height:48px;overflow:hidden;line-height:1.4;margin-bottom:8px}
.rkmeta{display:block;font-size:14px;color:#666;line-height:20px}
.rkmeta.hrs{line-height:18px}
.rkmeta.hrs svg{vertical-align:-2px;margin-right:3px}
.newgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(214px,1fr));gap:60px 20px;margin:60px 0 20px}
.newc{background:#fff;border:2px solid #2e69f1;border-radius:8px;display:block;transition:all .2s ease}
.newc:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}
.newc .thumbwrap{text-align:center}
.newc img.shopThumb{width:184px;height:184px;object-fit:cover;border-radius:8px;box-shadow:0 3px 6px rgba(0,0,0,.16);margin:-35px auto 12px;display:block;background:#f0f0f0}
.newc .noimg{width:184px;height:184px;border-radius:8px;background:#f0f0f0;color:#999;display:flex;align-items:center;justify-content:center;margin:-35px auto 12px;font-size:13px}
.newc .cbody{display:flex;flex-direction:column;padding:0 14px 7px}
.newc .dt{display:block;width:100%;height:32px;line-height:32px;border-radius:50vh;background:#2e69f1;color:#fff;font-weight:700;font-size:14px;text-align:center}
.newc .nm{font-size:15px;color:#333;height:48px;overflow:hidden;margin:8px 0;line-height:1.4}
.newc .ar{font-size:14px;color:#666;text-align:center;line-height:20px}
.featgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:20px 0}
@media(max-width:768px){.featgrid{grid-template-columns:1fr}}
.featc{background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);overflow:hidden;display:block;transition:all .3s ease}
.featc:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.15)}
.featc img{width:100%;height:210px;object-fit:cover;display:block;background:#f0f0f0}
.featc .noimg{height:210px;background:#f0f0f0;color:#999;display:flex;align-items:center;justify-content:center}
.featc .bd{padding:15px}
.featc .nm{font-size:18px;color:#333;margin-bottom:8px;font-weight:700}
.featc .mt{font-size:14px;color:#666;line-height:18px}
.loopcard{background:#fff;padding:26px 16px 19px;border-radius:10px;box-shadow:0 1px 5px rgba(0,0,0,.16);position:relative;margin-bottom:20px}
.lc-top{display:flex;gap:20px}
@media(max-width:680px){.lc-top{flex-direction:column}}
.lc-top .th{flex:0 0 184px}
.lc-top .th img{width:184px;height:184px;object-fit:cover;display:block;background:#f0f0f0}
.lc-top .th .noimg{width:184px;height:184px;background:#f0f0f0;color:#999;display:flex;align-items:center;justify-content:center}
.lc-main{flex:1;min-width:0}
.lc-main h3{font-size:18px;font-weight:700;display:block;padding-bottom:15px;border-bottom:1px solid #eee}
.lc-main h3 a:hover{color:#2e69f1}
.lc-tag{font-size:13px;color:#2e69f1;margin-top:8px}
.lc-data{padding:10px 0;border-bottom:1px solid #eee}
.lc-data div{font-size:13px;line-height:1.9;color:#333}
.lc-bottom{padding-top:16px}
.gstrip{display:grid;grid-template-columns:repeat(10,1fr);gap:5px}
@media(max-width:680px){.gstrip{grid-template-columns:repeat(5,1fr)}}
.gstrip img{width:100%;max-height:100px;object-fit:cover;display:block}
.gstrip .noimg{height:60px;background:#f0f0f0;color:#999;font-size:11px;display:flex;align-items:center;justify-content:center}
.keepbox{position:absolute;top:-15px;right:0;width:60px;height:50px;border:2px solid #eee;border-radius:8px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;z-index:3;padding:0}
.keepbox .st{font-size:22px;line-height:1;color:#bbb}
.keepbox .lb{font-size:10px;font-weight:700;color:#444}
.keepbox.on .st{color:#FFD700}
.loopcard .keepbox{top:10px;right:10px}
.featbadge{position:absolute;top:10px;right:80px;background:linear-gradient(45deg,#FF69B4,#FF1493);color:#fff;font-size:12px;font-weight:700;border-radius:20px;padding:4px 12px;z-index:3;box-shadow:0 2px 8px rgba(255,105,180,.3)}
.crumb{font-size:12.5px;color:#999;margin:4px 0 12px}
.crumb a{color:#666}
.shopnav{margin:0 auto 30px}
.shopnav ul{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;list-style:none}
.shopnav li{border:1px solid #e9e9e9;border-radius:6px}
.shopnav a,.shopnav span{display:flex;align-items:center;padding:8px 12px;font-size:12px;font-weight:700;white-space:nowrap}
.shopnav .ic{margin-right:8px;vertical-align:-4px}
svg.ic{flex:none}
.irow b .ic{vertical-align:-3px;margin-right:4px}
.crumb .ic{vertical-align:-2px}
.osuhead .ic{vertical-align:-2px}
.obadge .ic{vertical-align:-2px;margin-right:2px}
.sbtn .ic{vertical-align:-2px}
.newc .ar .ic{vertical-align:-2px}
.revbtns .ic{vertical-align:-2px;margin-right:2px}
.shopnav li.on{background:#2e69f1;border-color:#2e69f1}
.shopnav li.on a{color:#fff}
.shopnav span.off{color:#ccc;cursor:not-allowed}
@media(max-width:768px){.shopnav ul{flex-direction:column}.shopnav a,.shopnav span{padding:12px 15px}}
.d2top{display:flex;gap:20px;max-width:1280px;margin:0 auto 50px}
@media(max-width:860px){.d2top{flex-direction:column}}
.d2left{flex:0 0 500px;max-width:100%}
@media(max-width:860px){.d2left{flex:none}}
.d2left h1{font-size:24px;font-weight:700;color:#333;padding-bottom:5px}
.gal{height:250px;display:flex;align-items:center;justify-content:center;background:#fafafa;border-radius:15px;overflow:hidden}
.gal img{max-width:100%;height:250px;object-fit:contain;display:block}
.gal .noimg{width:100%;height:250px;background:linear-gradient(135deg,#FFE5E5,#FFF0F5);border:2px dashed #FFB6C1;border-radius:15px;color:#FF69B4;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center}
.shopinfo{flex:1;position:relative}
.shopinfo h2{font-size:24px;font-weight:700;color:#333}
.sihead{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:2px solid #FF69B4;padding-bottom:8px}
.siact{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.keepbox.static{position:static}
.iine{border:2px solid #FF69B4;color:#FF69B4;background:transparent;border-radius:20px;padding:8px 16px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.iine.on{background:#FF69B4;color:#fff}
.irow{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid #f0f0f0;font-size:15px}
.irow b{color:#FF69B4;width:120px;flex:0 0 120px;font-weight:700}
.irow span{color:#333;line-height:1.4}
.irow a{color:#2e69f1}
.d2h{text-align:center;font-size:22px;font-weight:700;color:#333;margin:36px 0 20px}
.d2h.big{font-size:24px}
.d2h .st{color:#fa2368}
.osuhead{position:relative;text-align:center;margin:36px 0 20px}
.osuhead::before{content:'';position:absolute;left:0;right:0;top:50%;height:2px;background:linear-gradient(90deg,transparent,#fa2368,transparent)}
.osuhead span{position:relative;background:#fff;padding:0 20px;font-size:22px;font-weight:700;color:#333}
.osu{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;max-width:1280px;margin:0 auto 40px}
@media(max-width:1024px){.osu{grid-template-columns:repeat(4,1fr)}}
@media(max-width:768px){.osu{grid-template-columns:repeat(3,1fr)}}
@media(max-width:480px){.osu{grid-template-columns:repeat(2,1fr)}}
.osucard{position:relative;background:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1);overflow:hidden}
.osucard.big{grid-column:1/3;grid-row:1/span 3;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.1)}
.osucard img{width:100%;height:200px;object-fit:cover;display:block;background:#f0f0f0}
.osucard.big img{height:300px}
.osucard .bd{padding:8px}
.osucard.big .bd{padding:16px}
.osucard .nm{font-weight:700;color:#333;font-size:13px}
.osucard.big .nm{font-size:18px}
.osucard .nm:hover{color:#fa2368}
.osucard .sp2{font-size:11px;color:#666}
.osucard.big .sp2{font-size:14px}
.obadge{position:absolute;top:10px;left:10px;background:linear-gradient(135deg,#fa2368,#ff6b9d);color:#fff;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:700;z-index:2;box-shadow:0 2px 8px rgba(250,35,104,.3)}
.kstar{position:absolute;top:10px;right:10px;width:40px;height:40px;border-radius:50%;border:0;background:#fff;font-size:19px;color:#bbb;cursor:pointer;z-index:2;line-height:1;box-shadow:0 3px 10px rgba(0,0,0,.2)}
.osucard:not(.big) .kstar,.ccard .kstar{width:35px;height:35px;top:8px;right:8px;font-size:17px}
.kstar.on{color:#FFD700}
.shiftbox{background:linear-gradient(135deg,#FFF0F5,#FFE5E5);border-left:4px solid #fa2368;border-radius:8px;padding:12px;margin-top:8px}
.osucard:not(.big) .shiftbox{border-left-width:2px;border-radius:4px;padding:4px 6px}
.shiftbox b{color:#666;display:block;font-size:13px;font-weight:400}
.osucard:not(.big) .shiftbox b{display:none}
.shiftbox .tm{font-size:14px;color:#fa2368;font-weight:700}
.osucard:not(.big) .shiftbox .tm{font-size:11px}
.morebtn{display:block;margin-top:12px;background:#fa2368;color:#fff;text-align:center;border-radius:6px;padding:8px 16px;font-weight:700;font-size:14px}
.revcard{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,.1);text-align:left}
.revcard .nick{color:#b8b8b8;font-size:15px}
.revcard h3{font-size:23px;color:#333;margin-top:2px}
.revcard .stars{color:#ffc107;font-size:21px;letter-spacing:2px}
.revcard .stars b{color:#333;font-size:21px;letter-spacing:0;margin-left:6px}
.revcard .dt{font-size:12px;color:#999}
.revcard .bd{background:#fffbf8;padding:15px;margin-top:10px;font-size:14px;line-height:1.6}
.revlead{text-align:center;font-size:16px;color:#666;line-height:1.6;margin-bottom:20px}
.revempty{border:2px dashed #ddd;background:#f8f9fa;border-radius:8px;padding:60px 20px;text-align:center}
.revempty .ic{color:#ddd;display:block;margin:0 auto 6px}
.revempty h3{font-size:20px;color:#666;margin:10px 0}
.revempty p{font-size:16px;color:#999;line-height:1.7}
.revbtns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:20px}
.btn-blue{background:#2e69f1;color:#fff;border:0;border-radius:8px;padding:12px 24px;font-weight:700;font-size:15px;cursor:pointer;box-shadow:0 4px 12px rgba(46,105,241,.3)}
.btn-blue:hover{background:#1e5ae0}
.btn-wht{background:#fff;color:#2e69f1;border:2px solid #2e69f1;border-radius:8px;padding:12px 24px;font-weight:700;font-size:15px;cursor:pointer}
.allrev{display:inline-block;background:#f8f9fa;border:1px solid #ddd;border-radius:6px;padding:10px 20px;font-size:14px}
.revform{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;margin:20px 0}
.revform label{display:block;font-size:13px;font-weight:700;margin:12px 0 5px}
.revform input[type=text],.revform textarea,.revform select{width:100%;border:1px solid #ddd;border-radius:6px;padding:9px 11px;font-size:14px;font-family:inherit}
.revform button{background:#2e69f1;color:#fff;border:0;border-radius:8px;padding:11px 26px;font-weight:700;font-size:14.5px;cursor:pointer;margin-top:14px}
.dtabs2{display:flex;gap:15px;flex-wrap:wrap;justify-content:center;margin:14px 0 20px}
.dtab2{display:flex;align-items:center;gap:6px;border-radius:30px;padding:6px 18px;background:#fff;color:#333;border:1px solid #e9e9e9;cursor:pointer;font-family:inherit}
.dtab2 .dd{font-size:16px}
.dtab2 .dw{font-size:14px}
.dtab2 .dw.sun{color:#ff0000}.dtab2 .dw.sat{color:#0000ff}
.dtab2.act{background:#4CAF50;color:#fff;border-color:#4CAF50}
.dtab2.act .dw.sun,.dtab2.act .dw.sat{color:#fff}
.dtab2:hover{transform:translateY(-2px);box-shadow:0 4px 10px rgba(0,0,0,.12)}
.castgrid2{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:15px;margin-top:14px;max-width:1200px}
.ccard{position:relative;background:#fff;border-radius:8px;box-shadow:0 5px 20px rgba(0,0,0,.1);overflow:hidden;display:flex;flex-direction:column}
.ccard img{width:100%;height:230px;object-fit:cover;display:block;background:linear-gradient(135deg,#FFE5E5,#FFF0F5)}
.ccard .noimg{height:230px;background:linear-gradient(135deg,#FFE5E5,#FFF0F5);color:#FF69B4;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center}
.ccard .bd{padding:8px;min-height:48px}
.ccard .nm{font-weight:700;font-size:16px;color:#333}
.ccard .ag{font-size:14px;color:#333;margin-left:6px}
.shiftstrip{color:#FF69B4;font-size:14px;text-align:center;background:#FFF0F5;padding:8px;min-height:35px;margin-top:auto}
.morewrap{text-align:center;margin:24px 0 8px}
.morebtn2{background:#2e69f1;color:#fff;border:0;padding:12px 30px;border-radius:25px;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 4px 15px rgba(46,105,241,.3)}
.morebtn2:hover{background:#1e5ae0}
.morebtn2 .cnt{background:rgba(255,255,255,.2);border-radius:12px;padding:2px 8px;margin-left:8px;font-size:13px}
.feetable{width:100%;border-collapse:collapse;background:#fff;font-size:15px;margin-top:12px}
.feetable th,.feetable td{border:1px solid #e0e0e0;padding:15px;text-align:center}
.feetable th{font-size:16px;font-weight:700}
.feetable .basecell{background:#f0f0f0;width:120px;font-size:16px;font-weight:700}
.courseblk{background:#fff;border:1px solid #e0e0e0;padding:20px;margin:20px 0 0}
.courseblk h3{font-size:18px;font-weight:700;color:#333;border-bottom:1px solid #e0e0e0;padding-bottom:5px;margin-bottom:15px}
.courseblk .note{font-size:14px;color:#666;line-height:1.6}
.courserow{background:#fff;border:1px solid #e0e0e0;border-top:0;padding:15px 20px;display:flex;gap:1rem;font-size:16px}
.courserow .min{font-weight:700;color:#333}
.accesstxt{font-size:15px;line-height:1.8;color:#333}
.layout2{display:flex;gap:1rem;max-width:1280px;margin:0 auto;justify-content:space-between}
@media(max-width:900px){.layout2{flex-direction:column-reverse}}
.lmain{flex:1;max-width:800px;min-width:0}
.lside{flex:0 0 350px;max-width:350px;width:100%}
@media(max-width:900px){.lmain,.lside{max-width:100%;flex:none}}
.sidebox{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;margin-bottom:20px}
.sidebox h3{font-size:18px;font-weight:700;padding-bottom:10px;border-bottom:2px solid #2e69f1;margin-bottom:15px}
.sidebox h3 .bl{color:#2e69f1}
.sidebox h3 .anno{font-size:12px;color:#666;font-weight:400;margin-left:10px}
.sidesearch{display:flex}
.sidesearch input{flex:1;padding:10px;border:1px solid #e9e9e9;border-right:0;border-radius:6px 0 0 6px;font-size:12px;font-family:inherit;min-width:0}
.areapills{display:flex;flex-wrap:wrap;gap:8px}
.areapill{padding:6px 12px;background:#fff;border:1px solid #ddd;border-radius:20px;font-size:13px;color:#333}
.areapill:hover{background:#2e69f1;color:#fff;border-color:#2e69f1}
.sidefeat-item{position:relative;margin-bottom:10px}
.sidefeat-item .rk{position:absolute;top:0;left:0;background:linear-gradient(45deg,#FF69B4,#FF1493);color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;z-index:2;box-shadow:0 2px 8px rgba(255,105,180,.3)}
.sidefeat-item a{display:flex;padding:6px;color:inherit}
.sidefeat-item img{width:80px;height:80px;object-fit:cover;flex-shrink:0;margin-right:15px;background:#f8f9fa}
.sidefeat-item .noimg{width:80px;height:80px;flex-shrink:0;margin-right:15px;background:linear-gradient(135deg,#FFE5E5,#FFF0F5);color:#FF69B4;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}
.sidefeat-item .ti{font-size:16px;font-weight:700;color:#333;line-height:1.3}
.sidefeat-item .sc{font-size:12px;color:#fa2368;font-weight:700}
.sidekeep-list{font-size:14px;line-height:2}
.sidekeep-list a{color:#2e69f1}
.carousel{margin-bottom:24px}
.caro-frame{position:relative;max-width:800px}
.cslide{display:none;background:#141414;border-radius:6px;overflow:hidden}
.cslide.on{display:flex}
.caro-ph{flex:0 0 27%;min-height:250px}
.caro-ph img{width:100%;height:100%;object-fit:cover;display:block}
.caro-tx{flex:1;padding:26px 34px 24px;display:flex;flex-direction:column}
.caro-tx h2{font-size:29px;font-weight:900;letter-spacing:.04em;background:linear-gradient(45deg,#B67B03,#DAAF08 45%,#FEE9A0 70%,#DAAF08 85%,#B67B03);-webkit-background-clip:text;background-clip:text;color:transparent}
.caro-tx .csub{font-size:14px;color:#dcb84a;margin-top:2px}
.caro-tx .nm{font-size:24px;font-weight:700;color:#fff;margin-top:20px}
.caro-tx .snm{color:#fa2368;font-size:16px;margin-top:6px;text-decoration:none}
.caro-tx .snm:hover{text-decoration:underline}
.caro-btn{margin-top:auto;padding-top:16px}
.caro-btn a{display:block;text-align:center;background:#fa2368;color:#fff;font-weight:700;font-size:16px;padding:13px 10px;border-radius:999px}
.caro-btn a:hover{opacity:.88}
.caro-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:#fff;border:none;box-shadow:0 2px 8px rgba(0,0,0,.35);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:3;padding:0}
.caro-arrow.prev{left:10px}
.caro-arrow.next{left:calc(27% - 22px)}
.caro-dots{text-align:center;margin-top:12px}
.caro-dots span{display:inline-block;width:12px;height:12px;border-radius:50%;background:#f6c9da;margin:0 4px;cursor:pointer}
.caro-dots span.act{background:#fa2368}
.rankbadge{position:absolute;top:-15px;left:-15px;width:45px;height:45px;border-radius:50%;color:#fff;font-weight:800;font-size:18px;display:flex;align-items:center;justify-content:center;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.3);z-index:4;background:linear-gradient(135deg,#2e69f1,#1e5ae8)}
.rankbadge.r1{background:linear-gradient(135deg,#FFD700,#FFA500)}
.rankbadge.r2{background:linear-gradient(135deg,#C0C0C0,#A9A9A9)}
.rankbadge.r3{background:linear-gradient(135deg,#CD7F32,#B8860B)}
@media(max-width:640px){.rankbadge{width:40px;height:40px;font-size:16px}.cslide.on{flex-direction:column}.caro-ph{flex:none;height:230px;min-height:0}.caro-arrow.next{left:auto;right:10px}.caro-tx{padding:20px}.caro-tx h2{font-size:24px}}
.caro-arrow:hover{background:#ffeef5}
.ssform{margin-top:10px}
.sslabel{display:block;font-size:13px;color:#666;margin-bottom:6px}
.ssrow{display:flex}
.ssrow input{flex:1;border:2px solid #e0e0e0;border-right:none;border-radius:20px 0 0 20px;padding:8px 14px;font-size:14px;min-width:0}
.ssbtn{background:#20b2aa;color:#fff;border:none;border-radius:0 20px 20px 0;padding:8px 18px;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap}
.ssbtn:hover{background:#1a9a94}
.keep-tabs{display:flex;gap:8px;border-bottom:1px solid #e0e0e0;padding-bottom:15px;margin-bottom:12px}
.keep-tab{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:20px;padding:8px 16px;font-size:14px;font-weight:500;color:#333;cursor:pointer}
.keep-tab.act{background:#2e69f1;border-color:#2e69f1;color:#fff}
.count-badge{background:#6c757d;color:#fff;border-radius:12px;padding:2px 8px;font-size:12px;font-weight:700;margin-left:6px}
.keep-tab.act .count-badge{background:rgba(255,255,255,.2)}
.kbpane .sp{color:#999;font-size:13px}
.kbrow{padding:6px 0;border-bottom:1px dashed #eee;font-size:14px}
.kbrow a{color:#2e69f1;font-weight:600}
.kbshop{color:#999;font-size:12px}
.morelink{display:block;text-align:center;margin:18px auto 6px;max-width:320px;background:#fff;border:2px solid #2e69f1;color:#2e69f1;border-radius:30px;padding:11px 0;font-weight:700;font-size:15px}
.reqform{max-width:640px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:22px;margin-bottom:20px}
.reqform label{display:block;font-weight:700;font-size:14px;margin:14px 0 6px}
.reqform label:first-child{margin-top:0}
.reqform input,.reqform select,.reqform textarea{width:100%;padding:10px;border:1px solid #ccc;border-radius:6px;font-size:15px;font-family:inherit;box-sizing:border-box}
.reqform textarea{min-height:130px}
.reqform button{margin-top:18px;background:#2e69f1;color:#fff;border:none;padding:12px 28px;border-radius:999px;font-weight:700;font-size:15px;cursor:pointer;font-family:inherit}
.reqnote{font-size:13px;color:#666;line-height:1.9;max-width:640px}
.todaychips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.tchip{padding:7px 14px;border:1px solid #2e69f1;background:#fff;color:#2e69f1;border-radius:999px;font-size:13px;cursor:pointer;font-family:inherit}
.tchip.act{background:#2e69f1;color:#fff;font-weight:700}
.morelink:hover{background:#2e69f1;color:#fff}
.sortbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0}
.sortbar .lb{font-weight:700;font-size:14px;color:#333}
.sortbtn{padding:8px 16px;border:1px solid #ddd;border-radius:4px;font-size:13px;background:#fff;color:#333;cursor:pointer}
.sortbtn.act{background:#2e69f1;color:#fff;border-color:#2e69f1}
.sortbar .exp{font-size:12px;color:#666;width:100%}
.pager{display:flex;gap:6px;justify-content:center;margin-top:40px;flex-wrap:wrap}
.pager a,.pager span{border:1px solid #ddd;border-radius:4px;padding:7px 13px;font-size:14px;color:#333;background:#fff}
.pager .cur{background:#2e69f1;color:#fff;border-color:#2e69f1}
.casthead .shop{font-size:16px;color:#666}
.casthead .shop a{color:#fa2368}
.casthead h1{font-size:28px;color:#333;margin-top:4px}
.casthead h1 .age{font-size:18px;color:#fa2368;margin-left:10px}
.keepcircle{width:50px;height:50px;border-radius:25px;background:#fff;border:2px solid #fa2368;color:#fa2368;font-size:22px;cursor:pointer;box-shadow:0 3px 10px rgba(250,35,104,.2);vertical-align:middle;margin-left:14px}
.keepcircle.on{background:#fa2368;color:#fff}
.tabnav{display:flex;border-bottom:2px solid #eee;margin:16px 0 20px}
.tabnav .tb2{padding:12px 24px;font-size:14px;font-weight:700;color:#666}
.tabnav .tb2.act{color:#333;border-bottom:3px solid #4ba501;margin-bottom:-2px}
.tabnav .tb2.off{color:#ccc}
.castcols{display:flex;gap:40px;max-width:1200px}
@media(max-width:860px){.castcols{flex-direction:column}}
.castgal{flex:1;max-width:360px;position:relative}
@media(max-width:860px){.castgal{max-width:100%}}
.castgal img.main{width:100%;border-radius:8px;box-shadow:0 3px 12px rgba(80,80,80,.12);display:block;background:#f0f0f0}
.castgal .noimg{height:300px;background:linear-gradient(135deg,#FFE5E5,#FFF0F5);color:#FF69B4;font-weight:700;display:flex;align-items:center;justify-content:center;border-radius:8px}
.castside{flex:1;min-width:0}
.castside h3{font-size:20px;color:#333;padding-bottom:8px;margin-bottom:15px;border-bottom:2px solid #fa2368}
.castside h3.thin{border-bottom-width:1px}
.schedlist .cap{font-weight:700;color:#333;margin-bottom:10px}
.schedrow{display:flex;gap:10px;align-items:center;margin-bottom:8px;font-size:15px}
.schedrow .dt2{color:#666}
.schedrow .tm2{font-weight:700;color:#fa2368}
.bdg{display:inline-block;padding:3px 12px;border-radius:10px;font-size:13px;line-height:1}
.bdg.today{background:#4CAF50;color:#fff}
.bdg.tmr{background:#FFE4B5;color:#333}
.nosched{font-style:italic;color:#666}
.profgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.profgrid .lb{background:#e9ecef;border-radius:4px;font-size:14px;color:#666;text-align:center;padding:8px}
.profgrid .vl{padding:8px;font-size:15px}
.week{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;padding-top:30px}
@media(max-width:760px){.week{grid-template-columns:repeat(4,1fr)}}
.scell{position:relative;background:#fff;border:1px solid #ddd;border-radius:8px;padding:12px 8px;text-align:center}
.scell .fb{position:absolute;top:-30px;left:0;width:100%;border-radius:12px;font-size:12px;padding:4px 8px}
.scell .fb.today{background:#4CAF50;color:#fff}
.scell .fb.tmr{background:#FFE4B5;color:#333}
.scell .dl{font-size:14px;color:#333}
.scell .dl .sun{color:#ff0000}.scell .dl .sat{color:#0000ff}
.scell .ds{font-size:14px;color:#666;margin-top:5px;line-height:1.45}
.samecast{margin:60px auto 0}
.samecast h2{font-size:22px;color:#333;margin-bottom:16px}
.samegrid{display:flex;gap:10px;flex-wrap:wrap;list-style:none}
.samegrid li{max-width:180px;width:calc(50% - 5px);text-align:center}
@media(min-width:680px){.samegrid li{width:180px}}
.samegrid img{width:100%;border-radius:8px;display:block;background:#f0f0f0}
.samegrid .noimg{height:200px;background:#f0f0f0;color:#999;display:flex;align-items:center;justify-content:center;border-radius:8px}
.samegrid .nm{font-weight:700;margin-top:8px;color:#333}
.samegrid .ag2{font-size:14px;color:#555}
.grank{background:#fff;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,.1);overflow:hidden;margin-bottom:20px}
.grank .in{display:flex;gap:20px;padding:8px}
@media(max-width:680px){.grank .in{flex-direction:column}}
.grank.r1{background:linear-gradient(104deg,#E6B119,#F6DA74,#E6B119);color:#fff}
.grank.r2{background:linear-gradient(113deg,#B8C0C1,#DBDEDE,#B8C0C1);color:#fff}
.grank.r3{background:linear-gradient(113deg,#EA9C5E,#F2CF93,#EA9C5E);color:#fff}
.grank.rn{background:linear-gradient(to right,#4ba500,#7ce821 50.25%,#4ba500);color:#fff}
.grank img{width:240px;height:320px;object-fit:cover;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.grank .noimg{width:240px;height:320px;background:rgba(255,255,255,.35);border-radius:12px;display:flex;align-items:center;justify-content:center}
.grank .num{font-size:30px;font-weight:900;text-shadow:0 2px 4px rgba(0,0,0,.3)}
.grank .nm2{font-size:22px;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.3)}
.grank .nm2 a{color:#fff}
.grank .lnk{color:#fff;text-decoration:underline;font-weight:700}
.ktitle{font-size:2rem;color:#333;margin-bottom:1em}
.khr{height:3px;background:#2e69f1;margin-bottom:30px}
.ktabs{display:flex;border-bottom:2px solid #eee}
.ktabs a{flex:1;text-align:center;padding:15px 20px;font-size:16px;font-weight:700;border-radius:8px 8px 0 0;color:#333;background:#fff;border:2px solid #eee;border-bottom:0}
.ktabs a.act{background:#2e69f1;color:#fff;border-color:#2e69f1}
.ksubs{display:flex;gap:15px;margin:20px 0}
.ksub{padding:10px 20px;border:2px solid #eee;border-radius:6px;font-size:14px;font-weight:700;background:#fff;color:#333;cursor:pointer}
.ksub.act{background:#2e69f1;color:#fff;border-color:#2e69f1}
.lrow{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid #eee;border-radius:8px;padding:14px;margin:10px 0}
.lrow img{width:110px;height:130px;object-fit:cover;border-radius:6px;background:#f0f0f0}
.lrow .nm{font-size:19px;font-weight:700;color:#333}
.lrow .nm .ag{font-size:17px;font-weight:400}
.lrow .inf{font-size:15px;color:#555;line-height:1.7}
.lrow .inf a{color:#2e69f1;font-weight:700}
.lrow .today-l{color:#fa2368;font-weight:700}
.lrow .tmr-l{color:#2496ff;font-weight:700}
.sbtn2{background:#2e69f1;color:#fff;border-radius:5px;padding:7px 16px;font-weight:700;font-size:14px;display:inline-block;margin-top:6px}
.unkeep{margin-left:auto;border:1px solid #ddd;background:#fff;color:#999;border-radius:6px;padding:6px 12px;font-size:12px;cursor:pointer;white-space:nowrap}
.sitefoot{background:#fff;border-top:1px solid #e0e0e0;margin-top:44px;padding:30px 0 0}
.fwrap{max-width:1160px;margin:0 auto;padding:0 18px;display:grid;grid-template-columns:1fr 1.4fr;gap:30px}
@media(max-width:760px){.fwrap{grid-template-columns:1fr}}
.flogo{font-size:21px;font-weight:900;color:#2e69f1}
.flogo span{color:#333}
.flinks{margin-top:12px;font-size:12.5px;line-height:2;color:#999}
.flinks a{color:#666}
.sitefoot h4{font-size:14.5px;border-bottom:2px solid #e0e0e0;padding-bottom:7px;margin:0 0 10px;color:#333}
.sitefoot p{font-size:12.5px;color:#666;line-height:1.8;margin:0 0 8px}
.fcopy{text-align:center;font-size:12px;color:#999;padding:16px 0 20px;margin-top:10px}
#ageGate{position:fixed;inset:0;background:rgba(13,22,44,.88);z-index:999;display:flex;align-items:center;justify-content:center;padding:18px}
.gate-box{background:#fff;border-radius:16px;max-width:430px;width:100%;padding:30px 26px;text-align:center;box-shadow:0 12px 44px rgba(0,0,0,.4)}
.gate-box .glogo{font-size:24px;font-weight:900;color:#2e69f1;margin-bottom:10px}
.gate-box .glogo span{color:#333}
.gate-box h2{font-size:19px;margin-bottom:10px;color:#333}
.gate-box p{font-size:13.5px;color:#666;line-height:1.7;margin-bottom:18px}
.gate-btn{display:block;width:100%;border:0;border-radius:10px;padding:14px;font-size:16px;font-weight:800;cursor:pointer;margin:9px 0;background:#2e69f1;color:#fff}
.gate-btn.sub{background:#f0f0f0;color:#666}
.noresult{padding:20px;color:#666}
.sp{font-size:13px;color:#666}
.todaygrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:15px;margin-top:14px}
.back{font-size:13px;color:#2e69f1;font-weight:700}
